@charset "UTF-8";
:root {
  --transition-speed-slow: 0.5s;
  --transition-speed: 0.3s;
  --transition-speed-fast: 0.2s;
  --bezier: cubic-bezier(0.4, 0, 0.2, 1);
  --z-index-header: 100;
  --z-index-header-logo: 101;
  --z-index-footMenu: 999;
  --z-index-spMenu: 1000;
  --z-index-spRightMenu: 1000;
  --z-index-pagetopB: 998;
}

@layer reset, base, parts, components, uniq, news;
@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: 0;
    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 {
  [hidden] {
    display: none !important;
  }
  .is-hidden {
    display: none !important;
  }
  * {
    box-sizing: border-box;
  }
  *:before,
*:after {
    box-sizing: border-box;
  }
  *:focus {
    outline: none;
  }
  html {
    font-size: calc(var(--fs-s) / 390 * 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);
    background-color: var(--color-background);
    font-feature-settings: var(--font-feature-settings);
    font-family: var(--font-family-ja);
    font-weight: 400;
    font-optical-sizing: auto;
    font-style: normal;
    font-weight: normal;
    -webkit-text-size-adjust: 100%;
    -moz-text-size-adjust: 100%;
    text-size-adjust: 100%;
    -webkit-font-smoothing: antialiased;
    font-size: calc(var(--fs-m) / 390 * 100vw);
    display: grid;
    grid-template: "header" auto "main" auto "footer" 1fr/100%;
    min-height: 100vh;
  }
  @media print, screen and (min-width: 768px) {
    body {
      font-size: min(calc(var(--fs-l) * 1px), calc(var(--fs-l) / 1440 * 100vw));
    }
  }
  body.is-fixed, body.fixed {
    overflow: hidden;
  }
  body:has(#topSlider) {
    background-color: var(--color-surface);
  }
  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;
    overflow: clip;
    grid-area: main;
    padding-top: calc(60 / 390 * 100vw);
    /*
    @include mq() {
      &:has(.leftArea) {
        display: grid;
        grid-template:
          "left content" auto
          / auto pc(745px);
        width: pc(1143px);
        margin-inline: auto;
        .leftArea {
          grid-area: left;
        }
        .contentArea {
          grid-area: content;
        }
      }
    }
    */
  }
  @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), background-color var(--transition-speed-slow) var(--bezier);
    background-color: var(--color-surface);
  }
  body.is-down header {
    translate: 0 -120%;
    transition-timing-function: var(--bezier);
  }
  body.is-fixed header {
    translate: 0 -120%;
    transition-timing-function: var(--bezier);
  }
  body.is-scroll header {
    background-color: var(--color-surface);
  }
  @media print {
    header {
      position: absolute;
    }
  }
  header .inner {
    padding-inline: calc(16 / 390 * 100vw);
    position: relative;
    height: calc(60 / 390 * 100vw);
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: calc(26 / 390 * 100vw);
    /*
    #gnav {
      @include mq {
        position: static;
        opacity: 1;
        padding-inline: unset;
        background-color: transparent;
        padding-block: unset;
        pointer-events: auto;
      }
      &.show {
        pointer-events: auto;
        opacity: 1;
        .gnavinner {
          translate: 0;
          opacity: 1;
        }
      }
      .gnavinner {
        border-top: 1px solid var(--color-border);
        padding-inline: vw(--container-padding-sp);
        padding-bottom: vw(32px);
        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);
        background-color: var(--color-background);
        @include mq {
          opacity: 1;
          translate: 0;
          padding: unset;
          border: none;
          background-color: transparent;
        }
        .main {
          @include mq {
            display: flex;
            align-items: center;
            gap: pc(24px);
          }
          li {
            border-bottom: 1px solid var(--color-border);
            font-size: vw(--fs-s);
            line-height: 140%;
            font-weight: var(--font-weight-medium);
            @include mq {
              border-bottom: none;
              font-size: pc(--fs-s);
              line-height: 120%;
            }
            &.toppage {
              @include mq {
                display: none;
              }
            }
            &.contact {
              a {
                @include mq {
                  background-color: var(--color-black);
                  color: var(--color-text-on-accent);
                  display: grid;
                  padding: pc(16px) pc(28px);
                  gap: pc(4px);
                  grid-template-columns: auto auto;
                  align-items: center;
                  border-radius: pc(--border-radius-pill);
                  font-weight: var(--font-weight-bold);
                  transition: background-color var(--transition-speed-fast) var(--bezier);
                  &::before {
                    content: "";
                    display: block;
                    width: pc(24px);
                    height: pc(24px);
                    mask-image: url(/images/icon_mail.svg);
                    mask-size: contain;
                    mask-repeat: no-repeat;
                    background-color: var(--color-text-on-accent);
                  }
                  &:hover {
                    background-color: var(--color-brand);
                  }
                }
              }
            }
            &:not(.contact) {
              a {
                @include mq {
                  padding-block: pc(20px);
                  padding-inline: unset;
                  gap: unset;
                  display: block;
                  &:hover {
                    &::before {
                      background-color: var(--color-brand);
                    }
                  }
                }
                &::before {
                  @include mq {
                    @include pd;
                    height: pc(3px);
                    left: 0;
                    bottom: 0;
                    width: 100%;
                    background-color: transparent;
                    transition: background-color var(--transition-speed-fast) var(--bezier);
                  }
                }
              }
              &.is-active {
                a {
                  @include mq {
                    &::before {
                      background-color: var(--color-brand);
                    }
                  }
                }
              }
            }
            a {
              padding-block: vw(16px);
              padding-inline: vw(8px);
              display: grid;
              grid-template-columns: 1fr auto;
              gap: vw(12px);
              align-items: center;
              position: relative;
              &::after {
                content: "";
                display: block;
                width: vw(20px);
                height: vw(20px);
                mask-image: url(/images/icon_arrow_s.svg);
                mask-size: contain;
                mask-repeat: no-repeat;
                background-color: var(--color-black);
                @include mq {
                  content: none;
                }
              }
            }
            ul {
              border-top: 1px solid var(--color-border);
              @include mq {
                display: none;
              }
              li {
                &:last-child {
                  border-bottom: none;
                }
                a {
                  padding-left: vw(24px);
                }
              }
            }
          }
        }
      }
    }
      */
  }
  @media print, screen and (min-width: 768px) {
    header .inner {
      display: grid;
      grid-template-columns: auto 1fr auto;
      height: min(100px, calc(100 / 1440 * 100vw));
      gap: min(32px, calc(32 / 1440 * 100vw));
      padding-inline: min(48px, calc(48 / 1440 * 100vw));
    }
  }
  header .inner #logo {
    position: relative;
    z-index: 100;
    flex: 0;
  }
  header .inner #logo a {
    display: block;
    width: calc(89 / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    header .inner #logo a {
      width: min(146px, calc(146 / 1440 * 100vw));
    }
  }
  header .inner #searchForm {
    flex: 1;
  }
  header .inner #searchArea {
    background-color: var(--color-background);
    width: 100%;
    padding: calc(4 / 390 * 100vw) calc(8 / 390 * 100vw);
    display: flex;
    align-items: center;
    gap: calc(8 / 390 * 100vw);
    transition: background-color var(--transition-speed-fast) var(--bezier);
  }
  @media print, screen and (min-width: 768px) {
    header .inner #searchArea {
      padding: min(4px, calc(4 / 1440 * 100vw)) min(8px, calc(8 / 1440 * 100vw));
      gap: min(8px, calc(8 / 1440 * 100vw));
      max-width: min(350px, calc(350 / 1440 * 100vw));
      margin-left: auto;
    }
  }
  @media (any-hover: hover) {
    header .inner #searchArea:hover, header .inner #searchArea:focus-within {
      background-color: var(--color-gray-weak);
    }
  }
  header .inner #searchArea input[type=search] {
    width: 100%;
    height: 100%;
    padding: unset;
    font: inherit;
    font-size: calc(var(--fs-xs) / 390 * 100vw);
    border: none;
    outline: none;
    background-color: transparent;
    height: calc(24 / 390 * 100vw);
    flex: 1;
  }
  @media print, screen and (min-width: 768px) {
    header .inner #searchArea input[type=search] {
      font-size: min(calc(var(--fs-xs) * 1px), calc(var(--fs-xs) / 1440 * 100vw));
      height: min(24px, calc(24 / 1440 * 100vw));
    }
  }
  header .inner #searchArea button[type=submit] img {
    width: calc(20 / 390 * 100vw);
    height: calc(20 / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    header .inner #searchArea button[type=submit] img {
      width: min(20px, calc(20 / 1440 * 100vw));
      height: min(20px, calc(20 / 1440 * 100vw));
    }
  }
  header .inner #menuButton {
    cursor: pointer;
    position: absolute;
    right: calc(6 / 390 * 100vw);
    z-index: 100;
    border-radius: 50%;
    background-color: var(--color-surface);
    aspect-ratio: 1/1;
    width: calc(48 / 390 * 100vw);
    border: 1px solid var(--color-border);
    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(24 / 390 * 100vw);
    height: calc(24 / 390 * 100vw);
  }
  header .inner #menuButton .lines span {
    position: absolute;
    left: calc(2 / 390 * 100vw);
    width: calc(20 / 390 * 100vw);
    height: calc(2 / 390 * 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 / 390 * 100vw);
  }
  header .inner #menuButton .lines span.line02 {
    top: calc(11 / 390 * 100vw);
  }
  header .inner #menuButton .lines span.line03 {
    top: calc(16 / 390 * 100vw);
    width: calc(12 / 390 * 100vw);
  }
  header .inner #menuButton.show {
    background-color: var(--color-gray);
    border-color: var(--color-gray);
  }
  header .inner #menuButton.show .lines span {
    background-color: var(--color-text-on-accent);
    top: calc(11 / 390 * 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;
  }
  #gnavCategoriesPC {
    z-index: 1002;
    display: none;
    transition: translate var(--transition-speed-slow) var(--bezier);
  }
  @media print, screen and (min-width: 768px) {
    #gnavCategoriesPC {
      display: block;
    }
  }
  #gnavCategoriesPC .gnavInner {
    display: flex;
    align-items: center;
    gap: min(20px, calc(20 / 1440 * 100vw));
  }
  #gnavCategoriesPC .gnavInner .unit:has(.child) h3 {
    cursor: pointer;
  }
  #gnavCategoriesPC .gnavInner .unit:has(.child) h3.is-active {
    color: var(--color-brand);
  }
  #gnavCategoriesPC .gnavInner .unit:has(.icon.line) {
    padding-left: min(12px, calc(12 / 1440 * 100vw));
  }
  #gnavCategoriesPC .gnavInner .unit h3 {
    font-size: min(calc(var(--fs-s) * 1px), calc(var(--fs-s) / 1440 * 100vw));
    font-weight: var(--font-weight-bold);
    padding: 0 min(2px, calc(2 / 1440 * 100vw));
    transition: color var(--transition-speed-fast) var(--bezier);
    text-align: center;
  }
  #gnavCategoriesPC .gnavInner .unit h3:hover {
    color: var(--color-brand);
  }
  #gnavCategoriesPC .gnavInner .unit h3:not(.vertical) {
    padding-block: min(24px, calc(24 / 1440 * 100vw));
  }
  #gnavCategoriesPC .gnavInner .unit h3:not(.vertical):has(a[target=_blank]) a[target=_blank] {
    position: relative;
    padding-right: min(20px, calc(20 / 1440 * 100vw));
  }
  #gnavCategoriesPC .gnavInner .unit h3:not(.vertical):has(a[target=_blank]) a[target=_blank]::after {
    content: "";
    display: block;
    position: absolute;
    right: 0;
    top: 50%;
    translate: 0 -50%;
    width: min(20px, calc(20 / 1440 * 100vw));
    height: min(20px, calc(20 / 1440 * 100vw));
    -webkit-mask-image: url(/images/icon_external.svg);
    mask-image: url(/images/icon_external.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) {
    #gnavCategoriesPC .gnavInner .unit h3:not(.vertical):has(a[target=_blank]):hover a[target=_blank]::after {
      background-color: var(--color-brand);
    }
  }
  #gnavCategoriesPC .gnavInner .unit h3.vertical {
    font-size: min(calc(var(--fs-xs) * 1px), calc(var(--fs-xs) / 1440 * 100vw));
    line-height: 120%;
    font-weight: var(--font-weight-medium);
    padding-inline: unset;
  }
  #gnavCategoriesPC .gnavInner .unit h3.vertical a {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: min(4px, calc(4 / 1440 * 100vw));
  }
  #gnavCategoriesPC .gnavInner .unit h3.vertical a i {
    display: block;
    width: min(48px, calc(48 / 1440 * 100vw));
    height: min(48px, calc(48 / 1440 * 100vw));
    border-radius: 50%;
    position: relative;
  }
  #gnavCategoriesPC .gnavInner .unit h3.vertical a i::after {
    content: "";
    display: block;
    position: absolute;
    left: 50%;
    top: 50%;
    translate: -50% -50%;
    width: min(24px, calc(24 / 1440 * 100vw));
    height: min(24px, calc(24 / 1440 * 100vw));
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    background-color: var(--color-text-on-accent);
  }
  #gnavCategoriesPC .gnavInner .unit h3.vertical a i.line {
    background-color: var(--color-line);
  }
  #gnavCategoriesPC .gnavInner .unit h3.vertical a i.line::after {
    -webkit-mask-image: url(/images/icon_line.svg);
    mask-image: url(/images/icon_line.svg);
  }
  #gnavCategoriesPC .gnavInner .unit h3.vertical a i.contact {
    background-color: var(--color-second);
  }
  #gnavCategoriesPC .gnavInner .unit h3.vertical a i.contact::after {
    -webkit-mask-image: url(/images/icon_mail.svg);
    mask-image: url(/images/icon_mail.svg);
  }
  #gnavCategoriesPC .gnavInner .unit .child {
    position: absolute;
    left: 0;
    right: 0;
    background-color: var(--color-surface);
    overflow: hidden;
    height: 0;
    transition: height var(--transition-speed) var(--bezier);
  }
  #gnavCategoriesPC .gnavInner .unit .child .child-inner {
    padding-left: calc(var(--container-padding-sp) / 390 * 100vw);
    padding-right: calc(var(--container-padding-sp) / 390 * 100vw);
    padding-block: min(56px, calc(56 / 1440 * 100vw));
    display: grid;
    grid-template: "title nav" "close close"/min(273px, calc(273 / 1440 * 100vw)) 1fr;
    gap: min(56px, calc(56 / 1440 * 100vw)) 0;
  }
  @media print, screen and (min-width: 768px) {
    #gnavCategoriesPC .gnavInner .unit .child .child-inner {
      padding-left: unset;
      padding-right: unset;
      margin-inline: auto;
      width: min(1026px, calc(1026 / 1440 * 100vw));
    }
  }
  #gnavCategoriesPC .gnavInner .unit .child .child-inner .title {
    -ms-grid-row: 1;
    -ms-grid-column: 1;
    grid-area: title;
    align-self: center;
    padding-right: min(36px, calc(36 / 1440 * 100vw));
  }
  #gnavCategoriesPC .gnavInner .unit .child .child-inner .title h4 {
    color: var(--color-text);
    font-size: min(calc(var(--fs-xl) * 1px), calc(var(--fs-xl) / 1440 * 100vw));
    font-weight: var(--font-weight-bold);
    line-height: 140%;
    display: flex;
    align-items: center;
    gap: min(12px, calc(12 / 1440 * 100vw));
  }
  #gnavCategoriesPC .gnavInner .unit .child .child-inner .title h4::before {
    content: "";
    display: block;
    width: min(20px, calc(20 / 1440 * 100vw));
    height: min(4px, calc(4 / 1440 * 100vw));
    background-color: var(--color-brand);
  }
  #gnavCategoriesPC .gnavInner .unit .child .child-inner .title p {
    margin-top: min(20px, calc(20 / 1440 * 100vw));
    color: var(--color-gray);
    font-size: min(calc(var(--fs-s) * 1px), calc(var(--fs-s) / 1440 * 100vw));
    font-weight: var(--font-weight-medium);
    line-height: 171.429%;
  }
  #gnavCategoriesPC .gnavInner .unit .child .child-inner .title figure {
    margin-top: min(20px, calc(20 / 1440 * 100vw));
  }
  #gnavCategoriesPC .gnavInner .unit .child .child-inner .title figure img {
    width: 100%;
  }
  #gnavCategoriesPC .gnavInner .unit .child .child-inner .nav {
    -ms-grid-row: 1;
    -ms-grid-column: 3;
    grid-area: nav;
    align-self: center;
    border-left: 1px solid var(--color-border);
    padding-left: min(36px, calc(36 / 1440 * 100vw));
  }
  #gnavCategoriesPC .gnavInner .unit .child .child-inner .nav h5 {
    margin-top: min(40px, calc(40 / 1440 * 100vw));
    color: var(--color-text);
    font-size: min(calc(var(--fs-l) * 1px), calc(var(--fs-l) / 1440 * 100vw));
    font-weight: var(--font-weight-bold);
    line-height: 155.556%;
  }
  #gnavCategoriesPC .gnavInner .unit .child .child-inner .nav h5:first-child {
    margin-top: unset;
  }
  #gnavCategoriesPC .gnavInner .unit .child .child-inner .nav h5 a {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: min(4px, calc(4 / 1440 * 100vw));
    align-items: center;
    transition: color var(--transition-speed-fast) var(--bezier);
  }
  #gnavCategoriesPC .gnavInner .unit .child .child-inner .nav h5 a::after {
    content: "";
    display: block;
    width: min(16px, calc(16 / 1440 * 100vw));
    height: min(16px, calc(16 / 1440 * 100vw));
    -webkit-mask-image: url(/images/icon_arrow_next.svg);
    mask-image: url(/images/icon_arrow_next.svg);
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    background-color: var(--color-black);
    translate: 0 min(1px, calc(1 / 1440 * 100vw));
    transition: background-color var(--transition-speed-fast) var(--bezier);
  }
  @media (any-hover: hover) {
    #gnavCategoriesPC .gnavInner .unit .child .child-inner .nav h5 a:hover {
      color: var(--color-brand);
    }
    #gnavCategoriesPC .gnavInner .unit .child .child-inner .nav h5 a:hover::after {
      background-color: var(--color-brand);
    }
  }
  #gnavCategoriesPC .gnavInner .unit .child .child-inner .nav ul {
    margin-top: min(20px, calc(20 / 1440 * 100vw));
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: min(8px, calc(8 / 1440 * 100vw));
  }
  #gnavCategoriesPC .gnavInner .unit .child .child-inner .nav ul li {
    white-space: nowrap;
  }
  #gnavCategoriesPC .gnavInner .unit .child .child-inner .nav ul li a {
    color: var(--color-text);
    font-size: min(calc(var(--fs-s) * 1px), calc(var(--fs-s) / 1440 * 100vw));
    font-weight: var(--font-weight-medium);
    line-height: 142.857%;
    display: grid;
    grid-template-columns: auto 1fr;
    gap: min(4px, calc(4 / 1440 * 100vw));
    align-items: center;
    transition: color var(--transition-speed-fast) var(--bezier);
  }
  #gnavCategoriesPC .gnavInner .unit .child .child-inner .nav ul li a::after {
    content: "";
    display: block;
    width: min(16px, calc(16 / 1440 * 100vw));
    height: min(16px, calc(16 / 1440 * 100vw));
    -webkit-mask-image: url(/images/icon_arrow_next.svg);
    mask-image: url(/images/icon_arrow_next.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) {
    #gnavCategoriesPC .gnavInner .unit .child .child-inner .nav ul li a:hover {
      color: var(--color-brand);
    }
    #gnavCategoriesPC .gnavInner .unit .child .child-inner .nav ul li a:hover::after {
      background-color: var(--color-brand);
    }
  }
  #gnavCategoriesPC .gnavInner .unit .child .child-inner .close {
    -ms-grid-row: 3;
    -ms-grid-column: 1;
    -ms-grid-column-span: 3;
    grid-area: close;
    border-radius: calc(var(--border-radius-small) / 390 * 100vw);
    background: var(--color-background);
    padding: min(8px, calc(8 / 1440 * 100vw));
    transition: background-color var(--transition-speed-fast) var(--bezier);
  }
  @media (any-hover: hover) {
    #gnavCategoriesPC .gnavInner .unit .child .child-inner .close:hover {
      background: var(--color-gray-weak);
    }
  }
  #gnavCategoriesPC .gnavInner .unit .child .child-inner .close span {
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--color-text);
    font-size: min(calc(var(--fs-xs) * 1px), calc(var(--fs-xs) / 1440 * 100vw));
    font-weight: var(--font-weight-bold);
    line-height: 150%;
    gap: min(8px, calc(8 / 1440 * 100vw));
  }
  #gnavCategoriesPC .gnavInner .unit .child .child-inner .close span::before {
    content: "";
    display: block;
    width: min(16px, calc(16 / 1440 * 100vw));
    height: min(16px, calc(16 / 1440 * 100vw));
    -webkit-mask-image: url(/images/icon_close.svg);
    mask-image: url(/images/icon_close.svg);
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    background-color: var(--color-black);
  }
  main:has(.navigation.breadcrumbs, .breadcrumbs.component.type_pagelist) + footer {
    margin-top: calc(20 / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    main:has(.navigation.breadcrumbs, .breadcrumbs.component.type_pagelist) + footer {
      margin-top: min(12px, calc(12 / 1440 * 100vw));
    }
  }
  #pagetopA {
    position: fixed;
    bottom: calc(64 / 390 * 100vw);
    right: calc(16 / 390 * 100vw);
    cursor: pointer;
    opacity: 0;
    pointer-events: none;
    transition: opacity var(--transition-speed-slow) var(--bezier);
    z-index: 9999;
  }
  @media print, screen and (min-width: 768px) {
    #pagetopA {
      bottom: min(56px, calc(56 / 1440 * 100vw));
      right: min(40px, calc(40 / 1440 * 100vw));
    }
  }
  #pagetopA a {
    transition: opacity 0.3s var(--bezier);
  }
  #pagetopA a:hover {
    opacity: 0.7;
  }
  #pagetopA a img {
    width: calc(48 / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    #pagetopA a img {
      width: min(64px, calc(64 / 1440 * 100vw));
    }
  }
  #pagetopA.is-scroll {
    opacity: 1;
    pointer-events: all;
  }
  #pagetopA.is-bottom {
    opacity: 0;
    pointer-events: none;
  }
  @media print, screen and (min-width: 768px) {
    #pagetopA.is-bottom {
      opacity: 1;
      pointer-events: all;
    }
  }
  #pagetopB {
    position: absolute;
    top: calc(64 / 390 * 100vw);
    right: calc(16 / 390 * 100vw);
    z-index: var(--z-index-pagetopB);
  }
  @media print, screen and (min-width: 768px) {
    #pagetopB {
      display: none;
    }
  }
  #pagetopB a {
    transition: opacity 0.3s var(--bezier);
  }
  #pagetopB a:hover {
    opacity: 0.7;
  }
  #pagetopB a img {
    width: calc(48 / 390 * 100vw);
  }
  footer {
    -ms-grid-row: 3;
    -ms-grid-column: 1;
    position: relative;
    grid-area: footer;
    margin-top: calc(56 / 390 * 100vw);
    padding-block: calc(64 / 390 * 100vw) calc(96 / 390 * 100vw);
    background-color: var(--color-gray-strong);
    color: var(--color-text-on-accent);
  }
  @media print, screen and (min-width: 768px) {
    footer {
      margin-top: min(56px, calc(56 / 1440 * 100vw));
      padding-block: min(100px, calc(100 / 1440 * 100vw)) min(80px, calc(80 / 1440 * 100vw));
    }
  }
  footer .inner {
    padding-left: calc(var(--container-padding-sp) / 390 * 100vw);
    padding-right: calc(var(--container-padding-sp) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    footer .inner {
      padding-left: unset;
      padding-right: unset;
      margin-inline: auto;
      width: min(1240px, calc(1240 / 1440 * 100vw));
    }
  }
  @media print, screen and (min-width: 768px) {
    footer .inner .footinfo {
      display: flex;
      justify-content: space-between;
      align-items: center;
    }
  }
  footer .inner .footinfo .corpinfo p img {
    width: calc(182 / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    footer .inner .footinfo .corpinfo p img {
      width: min(218px, calc(218 / 1440 * 100vw));
    }
  }
  footer .inner .footinfo .sns {
    margin-top: calc(32 / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    footer .inner .footinfo .sns {
      margin-top: unset;
    }
  }
  footer .inner .footinfo .sns ul {
    display: flex;
    gap: calc(16 / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    footer .inner .footinfo .sns ul {
      gap: min(16px, calc(16 / 1440 * 100vw));
    }
  }
  footer .inner .footinfo .sns ul li a {
    border-radius: 50%;
    border: 1px solid var(--color-border);
    background: var(--color-surface);
    aspect-ratio: 1/1;
    width: calc(32 / 390 * 100vw);
    display: flex;
    align-items: center;
    justify-content: center;
    transition: opacity 0.3s var(--bezier);
  }
  footer .inner .footinfo .sns ul li a:hover {
    opacity: 0.7;
  }
  @media print, screen and (min-width: 768px) {
    footer .inner .footinfo .sns ul li a {
      width: min(32px, calc(32 / 1440 * 100vw));
    }
  }
  footer .inner .footinfo .sns ul li a img {
    width: calc(24 / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    footer .inner .footinfo .sns ul li a img {
      width: min(24px, calc(24 / 1440 * 100vw));
    }
  }
  footer .inner .footnav {
    margin-top: calc(48 / 390 * 100vw);
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: calc(24 / 390 * 100vw) calc(16 / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    footer .inner .footnav {
      margin-top: min(64px, calc(64 / 1440 * 100vw));
      grid-template-columns: repeat(4, 1fr);
      gap: min(32px, calc(32 / 1440 * 100vw)) min(32px, calc(32 / 1440 * 100vw));
    }
  }
  footer .inner .footnav .unit {
    display: flex;
    flex-direction: column;
    gap: calc(24 / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    footer .inner .footnav .unit {
      gap: min(16px, calc(16 / 1440 * 100vw));
    }
  }
  footer .inner .footnav .unit h2 {
    font-size: calc(var(--fs-xs) / 390 * 100vw);
    font-weight: var(--font-weight-bold);
    line-height: 140%;
  }
  @media print, screen and (min-width: 768px) {
    footer .inner .footnav .unit h2 {
      font-size: min(calc(var(--fs-s) * 1px), calc(var(--fs-s) / 1440 * 100vw));
      line-height: 160%;
    }
  }
  footer .inner .footnav .unit h2 a {
    transition: opacity 0.3s var(--bezier);
  }
  footer .inner .footnav .unit h2 a:hover {
    opacity: 0.7;
  }
  footer .inner .footnav .unit ul {
    display: flex;
    flex-direction: column;
    gap: calc(24 / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    footer .inner .footnav .unit ul {
      gap: min(16px, calc(16 / 1440 * 100vw));
    }
  }
  footer .inner .footnav .unit ul li {
    display: grid;
    grid-template-columns: auto 1fr;
    font-size: calc(var(--fs-xs) / 390 * 100vw);
    gap: calc(4 / 390 * 100vw);
    line-height: 140%;
  }
  @media print, screen and (min-width: 768px) {
    footer .inner .footnav .unit ul li {
      font-size: min(calc(var(--fs-s) * 1px), calc(var(--fs-s) / 1440 * 100vw));
      gap: min(4px, calc(4 / 1440 * 100vw));
      line-height: 160%;
    }
  }
  footer .inner .footnav .unit ul li::before {
    content: "-";
    display: block;
  }
  footer .inner .footnav .unit ul li a {
    transition: opacity 0.3s var(--bezier);
  }
  footer .inner .footnav .unit ul li a:hover {
    opacity: 0.7;
  }
  footer .inner .copyright {
    margin-top: calc(48 / 390 * 100vw);
    border-top: 1px solid rgba(242, 242, 242, 0.1843137255);
    padding-top: calc(40 / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    footer .inner .copyright {
      margin-top: min(64px, calc(64 / 1440 * 100vw));
      padding-top: min(64px, calc(64 / 1440 * 100vw));
      display: flex;
      flex-direction: row-reverse;
      align-items: baseline;
      gap: min(54px, calc(54 / 1440 * 100vw));
    }
  }
  @media print, screen and (min-width: 768px) {
    footer .inner .copyright ul {
      margin-right: auto;
    }
  }
  footer .inner .copyright ul li {
    text-align: center;
  }
  footer .inner .copyright ul li a {
    font-size: calc(var(--fs-xs) / 390 * 100vw);
    transition: opacity 0.3s var(--bezier);
  }
  footer .inner .copyright ul li a:hover {
    opacity: 0.7;
  }
  @media print, screen and (min-width: 768px) {
    footer .inner .copyright ul li a {
      font-size: min(calc(var(--fs-xs) * 1px), calc(var(--fs-xs) / 1440 * 100vw));
    }
  }
  footer .inner .copyright p {
    font-size: calc(var(--fs-xxs) / 390 * 100vw);
    text-align: center;
    letter-spacing: 0.02em;
    margin-top: calc(24 / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    footer .inner .copyright p {
      margin-top: unset;
      font-size: min(calc(var(--fs-xs) * 1px), calc(var(--fs-xs) / 1440 * 100vw));
      text-align: left;
    }
  }
  #footMenu {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    z-index: var(--z-index-footMenu);
    background-color: var(--color-gray-strong);
    filter: drop-shadow(0px -1px 1.5px rgba(0, 0, 0, 0.08));
  }
  @media print, screen and (min-width: 768px) {
    #footMenu {
      display: none;
    }
  }
  #footMenu ul {
    display: flex;
    align-items: center;
  }
  #footMenu ul li {
    flex: 1;
  }
  #footMenu ul li a, #footMenu ul li button {
    display: grid;
    grid-template-rows: auto auto;
    justify-items: center;
    align-content: center;
    font-size: calc(var(--fs-xxxxs) / 390 * 100vw);
    text-align: center;
    color: var(--color-text-on-accent);
    height: calc(54 / 390 * 100vw);
    gap: calc(4 / 390 * 100vw);
    width: 100%;
  }
  #footMenu ul li a span, #footMenu ul li button span {
    display: block;
    width: calc(24 / 390 * 100vw);
    height: calc(24 / 390 * 100vw);
    margin-inline: auto;
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    background-color: var(--color-text-on-accent);
  }
  #footMenu ul li a span.kaitori, #footMenu ul li button span.kaitori {
    -webkit-mask-image: url(/images/icon_kaitori.svg);
    mask-image: url(/images/icon_kaitori.svg);
  }
  #footMenu ul li a span.store, #footMenu ul li button span.store {
    -webkit-mask-image: url(/images/icon_store.svg);
    mask-image: url(/images/icon_store.svg);
  }
  #footMenu ul li a span.cart, #footMenu ul li button span.cart {
    -webkit-mask-image: url(/images/icon_cart.svg);
    mask-image: url(/images/icon_cart.svg);
  }
  #footMenu ul li a span.line, #footMenu ul li button span.line {
    -webkit-mask-image: url(/images/icon_line.svg);
    mask-image: url(/images/icon_line.svg);
  }
  #footMenu ul li a span.menu, #footMenu ul li button span.menu {
    -webkit-mask-image: url(/images/icon_menu.svg);
    mask-image: url(/images/icon_menu.svg);
  }
  #spMenu {
    background-color: var(--color-surface);
    position: fixed;
    top: 0;
    left: 0;
    width: calc(264 / 390 * 100vw);
    z-index: var(--z-index-spMenu);
    translate: -140% 0;
    transition: translate var(--transition-speed) var(--bezier);
    box-shadow: 59px 0px 17px 0px rgba(0, 0, 0, 0), 38px 0px 15px 0px rgba(0, 0, 0, 0.01), 21px 0px 13px 0px rgba(0, 0, 0, 0.03), 9px 0px 9px 0px rgba(0, 0, 0, 0.04), 2px 0px 5px 0px rgba(0, 0, 0, 0.05);
  }
  @media print, screen and (min-width: 768px) {
    #spMenu {
      display: none;
    }
  }
  #spMenu.is-show {
    translate: 0 0;
  }
  #spMenu .inner {
    position: relative;
    height: 100vh;
    padding: calc(16 / 390 * 100vw);
    display: grid;
    grid-template: "title" auto "contents" 1fr/1fr;
  }
  #spMenu .inner #closeSpMenu {
    position: absolute;
    right: calc(16 / 390 * 100vw);
    top: calc(16 / 390 * 100vw);
  }
  #spMenu .inner #closeSpMenu img {
    width: calc(20 / 390 * 100vw);
  }
  #spMenu .inner #spMenuTitle {
    -ms-grid-row: 1;
    -ms-grid-column: 1;
    grid-area: title;
  }
  #spMenu .inner #spMenuTitle h2 {
    font-size: calc(var(--fs-s) / 390 * 100vw);
    font-weight: var(--font-weight-bold);
    padding-block: calc(2 / 390 * 100vw);
  }
  #spMenu .inner #spMenuTitle button {
    display: none;
  }
  #spMenu .inner #spMenuTitle button.is-show {
    display: block grid;
    gap: calc(8 / 390 * 100vw);
    align-items: center;
    grid-template-columns: auto 1fr;
    padding-block: calc(4 / 390 * 100vw);
    font-size: calc(var(--fs-xs) / 390 * 100vw);
    font-weight: var(--font-weight-bold);
  }
  #spMenu .inner #spMenuTitle button.is-show::before {
    content: "";
    display: block;
    width: calc(12 / 390 * 100vw);
    height: calc(12 / 390 * 100vw);
    background: url(/images/icon_arrow_prev.svg) no-repeat center center/contain;
  }
  #spMenu .inner #spMenuContents {
    overflow: auto;
  }
  #spMenu .inner #spMenuContents.submenu-active .sub {
    display: block;
  }
  #spMenu .inner #spMenuContents .heading {
    text-align: center;
    font-size: calc(var(--fs-xs) / 390 * 100vw);
    font-weight: var(--font-weight-bold);
    line-height: 150%;
    background: var(--color-gray-weak);
    margin-top: calc(24 / 390 * 100vw);
  }
  #spMenu .inner #spMenuContents .main {
    border-top: 1px solid var(--color-border-ultralight);
  }
  #spMenu .inner #spMenuContents .main > li {
    border-bottom: 1px solid var(--color-border-ultralight);
  }
  #spMenu .inner #spMenuContents .main > li > a, #spMenu .inner #spMenuContents .main > li > .open-submenu {
    display: grid;
    padding-block: calc(10 / 390 * 100vw);
    font-size: calc(var(--fs-xs) / 390 * 100vw);
    line-height: 150%;
    grid-template-columns: 1fr auto;
    gap: calc(8 / 390 * 100vw);
    align-items: center;
    transition: color 0.3s var(--bezier);
    border-bottom: 1px solid var(--color-border);
    font-weight: var(--font-weight-medium);
  }
  #spMenu .inner #spMenuContents .main > li > a:hover, #spMenu .inner #spMenuContents .main > li > .open-submenu:hover {
    color: var(--color-brand-secondary);
  }
  @media print, screen and (min-width: 768px) {
    #spMenu .inner #spMenuContents .main > li > a, #spMenu .inner #spMenuContents .main > li > .open-submenu {
      padding-block: min(8px, calc(8 / 1440 * 100vw));
      padding-inline: min(1px, calc(1 / 1440 * 100vw)) min(6px, calc(6 / 1440 * 100vw));
      font-size: min(calc(var(--fs-xs) * 1px), calc(var(--fs-xs) / 1440 * 100vw));
      gap: min(12px, calc(12 / 1440 * 100vw));
    }
  }
  @media (any-hover: hover) {
    #spMenu .inner #spMenuContents .main > li > a:hover::after, #spMenu .inner #spMenuContents .main > li > .open-submenu:hover::after {
      translate: 0 -3px;
    }
  }
  #spMenu .inner #spMenuContents .main > li > a.is-show, #spMenu .inner #spMenuContents .main > li > .open-submenu.is-show {
    color: var(--color-brand-primary);
  }
  #spMenu .inner #spMenuContents .main > li > a::after, #spMenu .inner #spMenuContents .main > li > .open-submenu::after {
    content: "";
    display: block;
    width: calc(12 / 390 * 100vw);
    height: calc(12 / 390 * 100vw);
    background: url(/images/icon_arrow_next.svg) no-repeat center center/contain;
    transition: translate var(--transition-speed-fast) var(--bezier);
  }
  @media print, screen and (min-width: 768px) {
    #spMenu .inner #spMenuContents .main > li > a::after, #spMenu .inner #spMenuContents .main > li > .open-submenu::after {
      width: min(14px, calc(14 / 1440 * 100vw));
      height: min(14px, calc(14 / 1440 * 100vw));
    }
  }
  #spMenu .inner #spMenuContents .sub {
    display: none;
    background-color: var(--color-surface);
  }
  #spMenu .inner #spMenuContents .sub li {
    border-bottom: 1px solid var(--color-border-ultralight);
  }
  #spMenu .inner #spMenuContents .sub li a {
    display: grid;
    padding-block: calc(10 / 390 * 100vw);
    font-size: calc(var(--fs-xs) / 390 * 100vw);
    line-height: 150%;
    grid-template-columns: 1fr auto;
    gap: calc(8 / 390 * 100vw);
    align-items: center;
    transition: color 0.3s var(--bezier);
    border-bottom: 1px solid var(--color-border);
    font-weight: var(--font-weight-medium);
  }
  #spMenu .inner #spMenuContents .sub li a:hover {
    color: var(--color-brand-secondary);
  }
  @media print, screen and (min-width: 768px) {
    #spMenu .inner #spMenuContents .sub li a {
      padding-block: min(8px, calc(8 / 1440 * 100vw));
      padding-inline: min(1px, calc(1 / 1440 * 100vw)) min(6px, calc(6 / 1440 * 100vw));
      font-size: min(calc(var(--fs-xs) * 1px), calc(var(--fs-xs) / 1440 * 100vw));
      gap: min(12px, calc(12 / 1440 * 100vw));
    }
  }
  @media (any-hover: hover) {
    #spMenu .inner #spMenuContents .sub li a:hover::after {
      translate: 0 -3px;
    }
  }
  #spMenu .inner #spMenuContents .sub li a.is-show {
    color: var(--color-brand-primary);
  }
  #spMenu .inner #spMenuContents .sub li a::after {
    content: "";
    display: block;
    width: calc(12 / 390 * 100vw);
    height: calc(12 / 390 * 100vw);
    background: url(/images/icon_arrow_next.svg) no-repeat center center/contain;
    transition: translate var(--transition-speed-fast) var(--bezier);
  }
  @media print, screen and (min-width: 768px) {
    #spMenu .inner #spMenuContents .sub li a::after {
      width: min(14px, calc(14 / 1440 * 100vw));
      height: min(14px, calc(14 / 1440 * 100vw));
    }
  }
  #spMenu .inner #spMenuContents .sub li span {
    text-align: center;
    font-size: calc(var(--fs-xs) / 390 * 100vw);
    font-weight: var(--font-weight-bold);
    line-height: 150%;
    background: var(--color-gray-weak);
    margin-top: calc(24 / 390 * 100vw);
    display: block;
  }
  #spMenu .inner #spMenuContents .banner {
    margin-top: 24px;
    padding-inline: 20px;
    display: flex;
    flex-direction: column;
    gap: 10px;
  }
  #spMenu .inner #spMenuContents .banner a {
    display: block;
  }
  #spMenu .inner #spMenuContents .banner a img {
    width: 100%;
  }
  #spRightMenu {
    background-color: var(--color-surface);
    position: fixed;
    top: 0;
    right: 0;
    width: calc(264 / 390 * 100vw);
    z-index: var(--z-index-spRightMenu);
    translate: 140% 0;
    transition: translate var(--transition-speed) var(--bezier);
    box-shadow: -59px 0px 17px 0px rgba(0, 0, 0, 0), -38px 0px 15px 0px rgba(0, 0, 0, 0.01), -21px 0px 13px 0px rgba(0, 0, 0, 0.03), -9px 0px 9px 0px rgba(0, 0, 0, 0.04), -2px 0px 5px 0px rgba(0, 0, 0, 0.05);
  }
  @media print, screen and (min-width: 768px) {
    #spRightMenu {
      display: none;
    }
  }
  #spRightMenu.is-show {
    translate: 0 0;
  }
  #spRightMenu #closeSpRightMenu {
    position: absolute;
    z-index: 2;
    right: calc(16 / 390 * 100vw);
    top: calc(16 / 390 * 100vw);
  }
  #spRightMenu #closeSpRightMenu img {
    width: calc(20 / 390 * 100vw);
  }
  #spRightMenu .inner {
    position: relative;
    height: 100dvh;
    display: flex;
    flex-direction: column;
    padding: calc(16 / 390 * 100vw);
  }
  #spRightMenu .inner h2 {
    font-size: calc(var(--fs-s) / 390 * 100vw);
    font-weight: var(--font-weight-bold);
    padding-block: calc(2 / 390 * 100vw);
    width: -moz-fit-content;
    width: fit-content;
  }
  #spRightMenu .inner .contact {
    margin-top: calc(16 / 390 * 100vw);
  }
  #spRightMenu .inner .contact a {
    border-radius: calc(var(--border-radius-small) / 390 * 100vw);
    background: var(--color-second);
    display: flex;
    justify-content: center;
    align-items: center;
    gap: calc(8 / 390 * 100vw);
    padding: calc(9 / 390 * 100vw);
    color: var(--color-text-on-accent);
    font-size: calc(var(--fs-xs) / 390 * 100vw);
    font-weight: var(--font-weight-bold);
    line-height: 150%;
  }
  #spRightMenu .inner .contact a::after {
    content: "";
    display: block;
    width: calc(20 / 390 * 100vw);
    height: calc(20 / 390 * 100vw);
    -webkit-mask-image: url(/images/icon_mail.svg);
    mask-image: url(/images/icon_mail.svg);
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    background-color: var(--color-text-on-accent);
  }
  #spRightMenu .inner .main {
    margin-top: calc(16 / 390 * 100vw);
  }
  #spRightMenu .inner .main li a {
    display: grid;
    padding-block: calc(10 / 390 * 100vw);
    font-size: calc(var(--fs-xs) / 390 * 100vw);
    line-height: 150%;
    grid-template-columns: 1fr auto;
    gap: calc(8 / 390 * 100vw);
    align-items: center;
    transition: color 0.3s var(--bezier);
    border-bottom: 1px solid var(--color-border);
    font-weight: var(--font-weight-medium);
  }
  #spRightMenu .inner .main li a:hover {
    color: var(--color-brand-secondary);
  }
  @media print, screen and (min-width: 768px) {
    #spRightMenu .inner .main li a {
      padding-block: min(8px, calc(8 / 1440 * 100vw));
      padding-inline: min(1px, calc(1 / 1440 * 100vw)) min(6px, calc(6 / 1440 * 100vw));
      font-size: min(calc(var(--fs-xs) * 1px), calc(var(--fs-xs) / 1440 * 100vw));
      gap: min(12px, calc(12 / 1440 * 100vw));
    }
  }
  @media (any-hover: hover) {
    #spRightMenu .inner .main li a:hover::after {
      translate: 0 -3px;
    }
  }
  #spRightMenu .inner .main li a.is-show {
    color: var(--color-brand-primary);
  }
  #spRightMenu .inner .main li a::after {
    content: "";
    display: block;
    width: calc(12 / 390 * 100vw);
    height: calc(12 / 390 * 100vw);
    background: url(/images/icon_arrow_next.svg) no-repeat center center/contain;
    transition: translate var(--transition-speed-fast) var(--bezier);
  }
  @media print, screen and (min-width: 768px) {
    #spRightMenu .inner .main li a::after {
      width: min(14px, calc(14 / 1440 * 100vw));
      height: min(14px, calc(14 / 1440 * 100vw));
    }
  }
  #spRightMenu .inner .banner {
    margin-top: calc(16 / 390 * 100vw);
    display: flex;
    flex-direction: column;
    gap: calc(8 / 390 * 100vw);
  }
  #spRightMenu .inner .banner a {
    display: block;
  }
  #spRightMenu .inner .banner a img {
    width: 100%;
  }
  #spRightMenu .inner .util {
    margin-top: calc(16 / 390 * 100vw);
  }
  #spRightMenu .inner .util li a {
    display: block;
    padding-block: calc(4 / 390 * 100vw);
    font-size: calc(var(--fs-xxs) / 390 * 100vw);
    line-height: 160%;
  }
  #spRightMenu .inner .util li a[target=_blank] {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: calc(2 / 390 * 100vw);
    align-items: center;
  }
  #spRightMenu .inner .util li a[target=_blank]::after {
    content: "";
    display: block;
    width: calc(12 / 390 * 100vw);
    height: calc(12 / 390 * 100vw);
    background: url(/images/icon_external.svg) no-repeat center center/contain;
  }
}
@layer parts {
  .pPageTitle {
    font-size: calc(var(--pPageTitle-font-size-sp) / 390 * 100vw);
    font-weight: var(--pPageTitle-font-weight);
    color: var(--pPageTitle-color);
    line-height: 140%;
  }
  @media print, screen and (min-width: 768px) {
    .pPageTitle {
      font-size: min(calc(var(--pPageTitle-font-size-pc) * 1px), calc(var(--pPageTitle-font-size-pc) / 1440 * 100vw));
    }
  }
  .pHeadingLarge {
    font-size: calc(var(--pHeading-large-font-size-sp) / 390 * 100vw);
    line-height: 120%;
    font-weight: var(--pHeading-large-font-weight);
    color: var(--pHeading-large-color);
    font-family: var(--pHeading-large-font-family);
  }
  @media print, screen and (min-width: 768px) {
    .pHeadingLarge {
      font-size: min(calc(var(--pHeading-large-font-size-pc) * 1px), calc(var(--pHeading-large-font-size-pc) / 1440 * 100vw));
    }
  }
  .pHeadingMedium {
    font-size: calc(var(--pHeading-medium-font-size-sp) / 390 * 100vw);
    line-height: 150%;
    font-weight: var(--pHeading-medium-font-weight);
    color: var(--pHeading-medium-color);
    font-family: var(--pHeading-medium-font-family);
  }
  @media print, screen and (min-width: 768px) {
    .pHeadingMedium {
      font-size: min(calc(var(--pHeading-medium-font-size-pc) * 1px), calc(var(--pHeading-medium-font-size-pc) / 1440 * 100vw));
    }
  }
  .pHeadingSmall {
    font-size: calc(var(--pHeading-small-font-size-sp) / 390 * 100vw);
    line-height: 120%;
    font-weight: var(--pHeading-small-font-weight);
    color: var(--pHeading-small-color);
    font-family: var(--pHeading-small-font-family);
  }
  @media print, screen and (min-width: 768px) {
    .pHeadingSmall {
      font-size: min(calc(var(--pHeading-small-font-size-pc) * 1px), calc(var(--pHeading-small-font-size-pc) / 1440 * 100vw));
    }
  }
  .pLead {
    font-size: calc(var(--pLead-font-size-sp) / 390 * 100vw);
    line-height: 175%;
    font-weight: var(--pLead-font-weight);
  }
  @media print, screen and (min-width: 768px) {
    .pLead {
      font-size: min(calc(var(--pLead-font-size-pc) * 1px), calc(var(--pLead-font-size-pc) / 1440 * 100vw));
    }
  }
  .pLead.center {
    text-align: center;
  }
  .pLead.right {
    text-align: right;
  }
  .pLead.left {
    text-align: left;
  }
  .pText {
    font-size: calc(var(--pText-font-size-sp) / 390 * 100vw);
    line-height: 175%;
    font-weight: var(--pText-font-weight);
  }
  @media print, screen and (min-width: 768px) {
    .pText {
      font-size: min(calc(var(--pText-font-size-pc) * 1px), calc(var(--pText-font-size-pc) / 1440 * 100vw));
    }
  }
  .pText.small {
    font-size: calc(var(--pText-small-font-size-sp) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .pText.small {
      font-size: min(calc(var(--pText-small-font-size-pc) * 1px), calc(var(--pText-small-font-size-pc) / 1440 * 100vw));
    }
  }
  .pText p, .pText ul, .pText ol {
    padding-bottom: 2em;
  }
  .pText p.heading, .pText ul.heading, .pText ol.heading {
    position: relative;
    font-weight: var(--font-weight-bold);
    font-size: calc(var(--fs-m) / 390 * 100vw);
    line-height: var(--line-height-xsmall);
    display: grid;
    grid-template-columns: auto 1fr;
    gap: calc(8 / 390 * 100vw);
    color: var(--color-third-weak);
    font-family: var(--font-family-en);
    padding-bottom: 1em;
  }
  @media print, screen and (min-width: 768px) {
    .pText p.heading, .pText ul.heading, .pText ol.heading {
      font-size: min(calc(var(--fs-xl) * 1px), calc(var(--fs-xl) / 1440 * 100vw));
      gap: min(16px, calc(16 / 1440 * 100vw));
    }
  }
  .pText p.heading::before, .pText ul.heading::before, .pText ol.heading::before {
    content: "";
    display: block;
    height: 1lh;
    background-image: url("/images/icon_heading.svg");
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    transform: translateY(-0.1em);
    width: calc(10 / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .pText p.heading::before, .pText ul.heading::before, .pText ol.heading::before {
      width: min(16px, calc(16 / 1440 * 100vw));
    }
  }
  .pText p.figure, .pText ul.figure, .pText ol.figure {
    padding-bottom: 35px;
    margin-top: calc(var(--margin-section) / 390 * 100vw);
    padding-bottom: 0;
  }
  @media print, screen and (min-width: 768px) {
    .pText p.figure, .pText ul.figure, .pText ol.figure {
      margin-top: min(calc(var(--margin-section-pc) * 1px), calc(var(--margin-section-pc) / 1440 * 100vw));
    }
  }
  @media print, screen and (min-width: 768px) {
    .pText p.figure, .pText ul.figure, .pText ol.figure {
      padding-bottom: 65px;
    }
  }
  .pText p.figure img.mt-image-left, .pText p.figure img.mt-image-center, .pText p.figure img.mt-image-right, .pText p.figure img.mt-image-none, .pText ul.figure img.mt-image-left, .pText ul.figure img.mt-image-center, .pText ul.figure img.mt-image-right, .pText ul.figure img.mt-image-none, .pText ol.figure img.mt-image-left, .pText ol.figure img.mt-image-center, .pText ol.figure img.mt-image-right, .pText ol.figure img.mt-image-none {
    margin-bottom: calc(6 / 390 * 100vw);
    display: block;
    margin-left: auto;
    margin-right: auto;
    border-radius: var(--border-radius-medium);
  }
  @media print, screen and (min-width: 768px) {
    .pText p.figure img.mt-image-left, .pText p.figure img.mt-image-center, .pText p.figure img.mt-image-right, .pText p.figure img.mt-image-none, .pText ul.figure img.mt-image-left, .pText ul.figure img.mt-image-center, .pText ul.figure img.mt-image-right, .pText ul.figure img.mt-image-none, .pText ol.figure img.mt-image-left, .pText ol.figure img.mt-image-center, .pText ol.figure img.mt-image-right, .pText ol.figure img.mt-image-none {
      margin-bottom: min(12px, calc(12 / 1440 * 100vw));
    }
  }
  .pText p img.mt-image-left, .pText p img.mt-image-center, .pText p img.mt-image-right, .pText ul img.mt-image-left, .pText ul img.mt-image-center, .pText ul img.mt-image-right, .pText ol img.mt-image-left, .pText ol img.mt-image-center, .pText ol img.mt-image-right {
    margin-bottom: 0 !important;
  }
  .pText p:last-child, .pText ul:last-child, .pText ol:last-child {
    padding-bottom: 0;
  }
  .pText p + .button, .pText ul + .button, .pText ol + .button {
    margin-top: 0;
  }
  .pText p .en, .pText ul .en, .pText ol .en {
    font-family: var(--font-family-en);
  }
  .pText ul:last-child, .pText ol:last-child {
    padding-bottom: 0;
  }
  .pText ul .en, .pText ol .en {
    font-family: var(--font-family-en);
  }
  .pText ul {
    list-style: disc;
  }
  .pText ul li {
    margin-left: calc(20 / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .pText ul li {
      margin-left: min(20px, calc(20 / 1440 * 100vw));
    }
  }
  .pText ol {
    list-style: decimal;
    font-family: var(--font-family-ja);
  }
  .pText ol li {
    margin-left: calc(20 / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .pText ol li {
      margin-left: min(20px, calc(20 / 1440 * 100vw));
    }
  }
  .pText .button {
    margin-top: calc(15 / 390 * 100vw);
    text-align: right;
  }
  @media print, screen and (min-width: 768px) {
    .pText .button {
      margin-top: min(20px, calc(20 / 1440 * 100vw));
    }
  }
  .pText .button a {
    /*
    display: grid;
    grid-template: 
      "before text after" auto
      / 1fr auto 1fr;
    width: fit-content;
    background-color: var(--color-surface);
    font-weight: 500;
    font-size: vw(--fs-s);
    padding: vw(18px) vw(18px);
    color: var(--color-text);
    border-radius: var(--border-radius-pill);
    border: 1px solid #338D5B;
    gap: vw(12px);
    align-items: center;
    overflow: hidden;
    text-decoration: none;
    transition: background-color .3s var(--bezier);
    line-height: 1;
    min-width: vw(260px);
    @include hoverOp;
    @include mq() {
      font-size: pc(--fs-m);
      padding: pc(18px) pc(16px);
      gap: pc(12px);
      min-width: pc(286px);
    }
    &[target="_blank"] {
      &::after {
        mask-image: url(/images/icon_external.svg);
        mask-size: contain;
        mask-repeat: no-repeat;
        mask-position: center;
        background-color: var(--color-text-on-accent);
        width: vw(14px);
        height: vw(14px);
        @include mq {
          width: pc(18px);
          height: pc(18px);
        }
      }
    }
    &::before {
      grid-area: before;
      content: '';
      display: block;
      width: vw(20px);
    }
    &::after {
      justify-self: end;
      grid-area: after;
      content: '';
      display: block;
      width: vw(20px);
      aspect-ratio: 1 / 1;
      background-color: #338D5B;
      mask-image: url('/images/arrow_button.svg');
      mask-repeat: no-repeat;
      mask-size: contain;
      position: relative;
      z-index: 1;
      transition: translate .3s var(--bezier);
      translate: vw(-2px) 0;
      @include mq() {
        width: pc(20px);
        translate: pc(-2px) 0;
      }
    }
    @if $color == reverse {
      background-color: var(--color-surface);
      color: var(--color-text);
      &::before {
        background-color: var(--color-brand);
      }

      @media (any-hover: hover) {
        &:hover {
          background-color: var(--color-surface);
        }
      }
    }
    @else if $size == apply {
      min-width: vw(280px);
      @include mq() {
        min-width: pc(500px);
      }
    }
      */
    text-align: center;
  }
  .pImage,
.pImage iframe {
    border-radius: calc(var(--pImage-border-radius-small-sp) / 390 * 100vw);
  }
  @container (min-width: 300px) {
    .pImage,
.pImage iframe {
      border-radius: calc(var(--pImage-border-radius-medium-sp) / 390 * 100vw);
    }
  }
  @media print, screen and (min-width: 768px) {
    .pImage,
.pImage iframe {
      border-radius: min(calc(var(--pImage-border-radius-small-pc) * 1px), calc(var(--pImage-border-radius-small-pc) / 1440 * 100vw));
    }
    @container (min-width: 450px) {
      .pImage,
.pImage iframe {
        border-radius: min(calc(var(--pImage-border-radius-medium-pc) * 1px), calc(var(--pImage-border-radius-medium-pc) / 1440 * 100vw));
      }
    }
  }
  .pMap {
    width: 100%;
    aspect-ratio: 16/9;
    position: relative;
    display: block;
    width: 100%;
    border-radius: calc(var(--pMap-border-radius-sp) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .pMap {
      border-radius: min(calc(var(--pMap-border-radius-pc) * 1px), calc(var(--pMap-border-radius-pc) / 1440 * 100vw));
    }
  }
  .pMap iframe {
    position: absolute;
    top: 0px;
    left: 0px;
    width: 100%;
    height: 100%;
    border-radius: calc(var(--pMap-border-radius-sp) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .pMap iframe {
      border-radius: min(calc(var(--pMap-border-radius-pc) * 1px), calc(var(--pMap-border-radius-pc) / 1440 * 100vw));
    }
  }
  .pMap.shrink {
    margin-inline: auto;
  }
  .pImageCaption {
    container-type: inline-size;
    text-align: center;
  }
  @media print, screen and (min-width: 768px) {
    .pImageCaption {
      max-width: min(calc(var(--pImageCaption-max-width) * 1px), calc(var(--pImageCaption-max-width) / 1440 * 100vw));
    }
  }
  .pImageCaption .pCaption {
    margin-top: calc(var(--pImageCaption-gap-sp) / 390 * 100vw);
    text-align: center;
  }
  @media print, screen and (min-width: 768px) {
    .pImageCaption .pCaption {
      margin-top: min(calc(var(--pImageCaption-gap-pc) * 1px), calc(var(--pImageCaption-gap-pc) / 1440 * 100vw));
    }
  }
  .pMapCaption {
    container-type: inline-size;
    text-align: center;
  }
  @media print, screen and (min-width: 768px) {
    .pMapCaption {
      max-width: min(calc(var(--pMapCaption-max-width) * 1px), calc(var(--pMapCaption-max-width) / 1440 * 100vw));
    }
  }
  .pMapCaption .pCaption {
    margin-top: calc(var(--pMapCaption-gap-sp) / 390 * 100vw);
    text-align: center;
  }
  @media print, screen and (min-width: 768px) {
    .pMapCaption .pCaption {
      margin-top: min(calc(var(--pMapCaption-gap-pc) * 1px), calc(var(--pMapCaption-gap-pc) / 1440 * 100vw));
    }
  }
  .pPanel {
    display: grid;
    grid-template-rows: subgrid;
    grid-row: span 4;
    gap: calc(var(--pPanel-gap-sp) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .pPanel {
      gap: min(calc(var(--pPanel-gap-pc) * 1px), calc(var(--pPanel-gap-pc) / 1440 * 100vw));
      max-width: min(calc(var(--pPanel-max-width) * 1px), calc(var(--pPanel-max-width) / 1440 * 100vw));
    }
  }
  .pPanel .pHeadingMedium {
    text-align: center;
  }
  .pPanel .pButton {
    margin-inline: auto;
  }
  .pCaption {
    font-size: calc(var(--pCaption-font-size-sp) / 390 * 100vw);
    line-height: 160%;
    font-weight: var(--pCaption-font-weight);
    color: var(--pCaption-color);
    text-align: center;
  }
  @media print, screen and (min-width: 768px) {
    .pCaption {
      font-size: min(calc(var(--pCaption-font-size-pc) * 1px), calc(var(--pCaption-font-size-pc) / 1440 * 100vw));
    }
  }
  .pCaption.left {
    text-align: left;
  }
  .pCaption.right {
    text-align: right;
  }
  .pCaption.shrink {
    margin-inline: auto;
  }
  .pPosition {
    font-size: calc(var(--pPosition-font-size-sp) / 390 * 100vw);
    line-height: 160%;
    font-weight: var(--pPosition-font-weight);
    color: var(--pPosition-color);
  }
  @media print, screen and (min-width: 768px) {
    .pPosition {
      font-size: min(calc(var(--pPosition-font-size-pc) * 1px), calc(var(--pPosition-font-size-pc) / 1440 * 100vw));
    }
  }
  .pName {
    font-size: calc(var(--pName-font-size-sp) / 390 * 100vw);
    line-height: 160%;
    font-weight: var(--pName-font-weight);
    color: var(--pName-color);
  }
  @media print, screen and (min-width: 768px) {
    .pName {
      font-size: min(calc(var(--pName-font-size-pc) * 1px), calc(var(--pName-font-size-pc) / 1440 * 100vw));
    }
  }
  .pSubTitle {
    font-size: calc(var(--pSubTitle-font-size-sp) / 390 * 100vw);
    line-height: 160%;
    font-weight: var(--pSubTitle-font-weight);
    color: var(--pSubTitle-color);
  }
  @media print, screen and (min-width: 768px) {
    .pSubTitle {
      font-size: min(calc(var(--pSubTitle-font-size-pc) * 1px), calc(var(--pSubTitle-font-size-pc) / 1440 * 100vw));
    }
  }
  .pNameSet {
    display: grid;
    grid-auto-flow: row;
    gap: calc(var(--pNameSet-gap-sp) / 390 * 100vw);
    justify-items: center;
    text-align: center;
  }
  @media print, screen and (min-width: 768px) {
    .pNameSet {
      gap: min(calc(var(--pNameSet-gap-pc) * 1px), calc(var(--pNameSet-gap-pc) / 1440 * 100vw));
    }
  }
  .pMember {
    display: grid;
    grid-template-rows: subgrid;
    grid-row: span 5;
    gap: calc(var(--pMember-gap-sp) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .pMember {
      gap: min(calc(var(--pMember-gap-pc) * 1px), calc(var(--pMember-gap-pc) / 1440 * 100vw));
    }
  }
  .pMember .profile {
    color: var(--pMember-profile-color);
  }
  .pMember .pButton {
    margin-inline: auto;
  }
  .pButton {
    display: grid;
    grid-template-areas: "before text after";
    width: -moz-fit-content;
    width: fit-content;
    align-items: center;
    color: var(--pButton-color-default);
    background-color: var(--pButton-background-color-default);
    font-weight: var(--pButton-font-weight);
    border-color: var(--pButton-border-color-default);
    border-width: calc(var(--pButton-border-width) / 390 * 100vw);
    border-style: solid;
    gap: calc(var(--pButton-gap-sp) / 390 * 100vw);
    text-align: center;
    transition: background-color var(--transition-speed) var(--bezier), border-color var(--transition-speed) var(--bezier), color var(--transition-speed) var(--bezier);
  }
  @media print, screen and (min-width: 768px) {
    .pButton {
      border-width: min(calc(var(--pButton-border-width) * 1px), calc(var(--pButton-border-width) / 1440 * 100vw));
      gap: min(calc(var(--pButton-gap-pc) * 1px), calc(var(--pButton-gap-pc) / 1440 * 100vw));
    }
  }
  .pButton::before {
    -ms-grid-row: 1;
    -ms-grid-column: 1;
    grid-area: before;
    content: "";
    display: block;
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    aspect-ratio: 1/1;
  }
  .pButton::after {
    -ms-grid-row: 1;
    -ms-grid-column: 5;
    justify-self: end;
    grid-area: after;
    content: "";
    display: block;
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    aspect-ratio: 1/1;
  }
  @media (any-hover: hover) {
    .pButton:hover {
      background-color: var(--pButton-background-color-hover);
      border-color: var(--pButton-border-color-hover);
      color: var(--pButton-color-hover);
    }
  }
  .pButton.reverse {
    background-color: var(--pButton-background-color-reverse);
    border-color: var(--pButton-border-color-reverse);
    color: var(--pButton-color-reverse);
  }
  @media (any-hover: hover) {
    .pButton.reverse:hover {
      background-color: var(--pButton-background-color-reverse-hover);
      border-color: var(--pButton-border-color-reverse-hover);
    }
  }
  .pButton.small {
    font-size: calc(var(--pButton-small-font-size-sp) / 390 * 100vw);
    padding: calc(var(--pButton-small-padding-block-sp) / 390 * 100vw) calc(var(--pButton-small-padding-inline-sp) / 390 * 100vw);
    min-width: calc(var(--pButton-small-min-width-sp) / 390 * 100vw);
    grid-template-columns: calc(var(--pButton-small-icon-width-sp) / 390 * 100vw) auto calc(var(--pButton-small-icon-width-sp) / 390 * 100vw);
    border-radius: calc(var(--pButton-small-border-radius) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .pButton.small {
      font-size: min(calc(var(--pButton-small-font-size-pc) * 1px), calc(var(--pButton-small-font-size-pc) / 1440 * 100vw));
      padding: min(calc(var(--pButton-small-padding-block-pc) * 1px), calc(var(--pButton-small-padding-block-pc) / 1440 * 100vw)) min(calc(var(--pButton-small-padding-inline-pc) * 1px), calc(var(--pButton-small-padding-inline-pc) / 1440 * 100vw));
      min-width: min(calc(var(--pButton-small-min-width-pc) * 1px), calc(var(--pButton-small-min-width-pc) / 1440 * 100vw));
      grid-template-columns: min(calc(var(--pButton-small-icon-width-pc) * 1px), calc(var(--pButton-small-icon-width-pc) / 1440 * 100vw)) auto min(calc(var(--pButton-small-icon-width-pc) * 1px), calc(var(--pButton-small-icon-width-pc) / 1440 * 100vw));
      border-radius: min(calc(var(--pButton-small-border-radius) * 1px), calc(var(--pButton-small-border-radius) / 1440 * 100vw));
    }
  }
  .pButton.small::before, .pButton.small::after {
    width: calc(var(--pButton-small-icon-width-sp) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .pButton.small::before, .pButton.small::after {
      width: min(calc(var(--pButton-small-icon-width-pc) * 1px), calc(var(--pButton-small-icon-width-pc) / 1440 * 100vw));
    }
  }
  .pButton:not(.small):not(.large) {
    font-size: calc(var(--pButton-medium-font-size-sp) / 390 * 100vw);
    padding: calc(var(--pButton-medium-padding-block-sp) / 390 * 100vw) calc(var(--pButton-medium-padding-inline-sp) / 390 * 100vw);
    min-width: calc(var(--pButton-medium-min-width-sp) / 390 * 100vw);
    grid-template-columns: calc(var(--pButton-medium-icon-width-sp) / 390 * 100vw) auto calc(var(--pButton-medium-icon-width-sp) / 390 * 100vw);
    border-radius: calc(var(--pButton-medium-border-radius) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .pButton:not(.small):not(.large) {
      font-size: min(calc(var(--pButton-medium-font-size-pc) * 1px), calc(var(--pButton-medium-font-size-pc) / 1440 * 100vw));
      padding: min(calc(var(--pButton-medium-padding-block-pc) * 1px), calc(var(--pButton-medium-padding-block-pc) / 1440 * 100vw)) min(calc(var(--pButton-medium-padding-inline-pc) * 1px), calc(var(--pButton-medium-padding-inline-pc) / 1440 * 100vw));
      min-width: min(calc(var(--pButton-medium-min-width-pc) * 1px), calc(var(--pButton-medium-min-width-pc) / 1440 * 100vw));
      grid-template-columns: min(calc(var(--pButton-medium-icon-width-pc) * 1px), calc(var(--pButton-medium-icon-width-pc) / 1440 * 100vw)) auto min(calc(var(--pButton-medium-icon-width-pc) * 1px), calc(var(--pButton-medium-icon-width-pc) / 1440 * 100vw));
      border-radius: min(calc(var(--pButton-medium-border-radius) * 1px), calc(var(--pButton-medium-border-radius) / 1440 * 100vw));
    }
  }
  .pButton:not(.small):not(.large)::before, .pButton:not(.small):not(.large)::after {
    width: calc(var(--pButton-medium-icon-width-sp) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .pButton:not(.small):not(.large)::before, .pButton:not(.small):not(.large)::after {
      width: min(calc(var(--pButton-medium-icon-width-pc) * 1px), calc(var(--pButton-medium-icon-width-pc) / 1440 * 100vw));
    }
  }
  .pButton.large {
    font-size: calc(var(--pButton-large-font-size-sp) / 390 * 100vw);
    padding: calc(var(--pButton-large-padding-block-sp) / 390 * 100vw) calc(var(--pButton-large-padding-inline-sp) / 390 * 100vw);
    min-width: calc(var(--pButton-large-min-width-sp) / 390 * 100vw);
    grid-template-columns: calc(var(--pButton-large-icon-width-sp) / 390 * 100vw) auto calc(var(--pButton-large-icon-width-sp) / 390 * 100vw);
    border-radius: calc(var(--pButton-large-border-radius) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .pButton.large {
      font-size: min(calc(var(--pButton-large-font-size-pc) * 1px), calc(var(--pButton-large-font-size-pc) / 1440 * 100vw));
      padding: min(calc(var(--pButton-large-padding-block-pc) * 1px), calc(var(--pButton-large-padding-block-pc) / 1440 * 100vw)) min(calc(var(--pButton-large-padding-inline-pc) * 1px), calc(var(--pButton-large-padding-inline-pc) / 1440 * 100vw));
      min-width: min(calc(var(--pButton-large-min-width-pc) * 1px), calc(var(--pButton-large-min-width-pc) / 1440 * 100vw));
      grid-template-columns: min(calc(var(--pButton-large-icon-width-pc) * 1px), calc(var(--pButton-large-icon-width-pc) / 1440 * 100vw)) auto min(calc(var(--pButton-large-icon-width-pc) * 1px), calc(var(--pButton-large-icon-width-pc) / 1440 * 100vw));
      border-radius: min(calc(var(--pButton-large-border-radius) * 1px), calc(var(--pButton-large-border-radius) / 1440 * 100vw));
    }
  }
  .pButton.large::before, .pButton.large::after {
    width: calc(var(--pButton-large-icon-width-sp) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .pButton.large::before, .pButton.large::after {
      width: min(calc(var(--pButton-large-icon-width-pc) * 1px), calc(var(--pButton-large-icon-width-pc) / 1440 * 100vw));
    }
  }
  .pButton.right::after {
    -webkit-mask-image: url(/images/icon_arrow_next.svg);
    mask-image: url(/images/icon_arrow_next.svg);
  }
  .pButton.right[target=_blank]::after {
    -webkit-mask-image: url(/images/icon_external.svg);
    mask-image: url(/images/icon_external.svg);
  }
  .pButton.left::before {
    -webkit-mask-image: url(/images/icon_arrow_prev.svg);
    mask-image: url(/images/icon_arrow_prev.svg);
  }
  .pButton.right::after {
    background-color: var(--pButton-icon-color-default);
  }
  @media (any-hover: hover) {
    .pButton.right:hover::after {
      background-color: var(--pButton-icon-color-hover);
    }
  }
  .pButton.right.reverse::after {
    background-color: var(--pButton-icon-color-reverse);
  }
  @media (any-hover: hover) {
    .pButton.right.reverse:hover::after {
      background-color: var(--pButton-icon-color-reverse-hover);
    }
  }
  .pButton.left::before {
    -webkit-mask-image: url(/images/icon_arrow_prev.svg);
    mask-image: url(/images/icon_arrow_prev.svg);
  }
  .pButton.left[target=_blank]::before {
    -webkit-mask-image: url(/images/icon_external.svg);
    mask-image: url(/images/icon_external.svg);
  }
  .pButton.left::before {
    background-color: var(--pButton-icon-color-default);
  }
  @media (any-hover: hover) {
    .pButton.left:hover::before {
      background-color: var(--pButton-icon-color-hover);
    }
  }
  .pButton.left.reverse::before {
    background-color: var(--pButton-icon-color-reverse);
  }
  @media (any-hover: hover) {
    .pButton.left.reverse:hover::before {
      background-color: var(--pButton-icon-color-reverse-hover);
    }
  }
  .pFileInfo {
    display: inline-grid;
    grid-auto-flow: column;
    gap: calc(var(--pFileInfo-gap-sp) / 390 * 100vw);
    align-items: center;
  }
  @media print, screen and (min-width: 768px) {
    .pFileInfo {
      gap: min(calc(var(--pFileInfo-gap-pc) * 1px), calc(var(--pFileInfo-gap-pc) / 1440 * 100vw));
    }
  }
  .pFileInfo img {
    width: calc(var(--pFileInfo-icon-width-sp) / 390 * 100vw);
    aspect-ratio: 1/1;
    -o-object-fit: contain;
    object-fit: contain;
  }
  @media print, screen and (min-width: 768px) {
    .pFileInfo img {
      width: min(calc(var(--pFileInfo-icon-width-pc) * 1px), calc(var(--pFileInfo-icon-width-pc) / 1440 * 100vw));
    }
  }
  .pFileInfo figcaption {
    font-size: calc(var(--pFileInfo-font-size-sp) / 390 * 100vw);
    font-weight: var(--pFileInfo-font-weight);
    font-family: var(--pFileInfo-font-family);
    color: var(--pFileInfo-color);
  }
  @media print, screen and (min-width: 768px) {
    .pFileInfo figcaption {
      font-size: min(calc(var(--pFileInfo-font-size-pc) * 1px), calc(var(--pFileInfo-font-size-pc) / 1440 * 100vw));
    }
  }
  .pCatalog {
    display: grid;
    grid-template: "image heading" auto "summary summary" auto/1fr 1fr;
    align-items: start;
    row-gap: calc(var(--pCatalog-gap-row-sp) / 390 * 100vw);
    -moz-column-gap: calc(var(--pCatalog-gap-col-sp) / 390 * 100vw);
    column-gap: calc(var(--pCatalog-gap-col-sp) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .pCatalog {
      grid-template-areas: unset;
      grid-template-columns: unset;
      grid-template-rows: subgrid;
      grid-row: span 3;
      row-gap: min(calc(var(--pCatalog-gap-row-pc) * 1px), calc(var(--pCatalog-gap-row-pc) / 1440 * 100vw));
      -moz-column-gap: unset;
      column-gap: unset;
    }
  }
  .pCatalog .image {
    -ms-grid-row: 1;
    -ms-grid-column: 1;
    grid-area: image;
  }
  @media print, screen and (min-width: 768px) {
    .pCatalog .image {
      grid-area: unset;
    }
  }
  .pCatalog .heading {
    -ms-grid-row: 1;
    -ms-grid-column: 3;
    grid-area: heading;
    display: grid;
    grid-auto-flow: row;
    align-items: start;
    row-gap: calc(var(--pCatalog-gap-row-sp) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .pCatalog .heading {
      grid-area: unset;
      row-gap: min(calc(var(--pCatalog-gap-row-pc) * 1px), calc(var(--pCatalog-gap-row-pc) / 1440 * 100vw));
    }
  }
  .pCatalog .summary {
    -ms-grid-row: 3;
    -ms-grid-column: 1;
    -ms-grid-column-span: 3;
    grid-area: summary;
  }
  @media print, screen and (min-width: 768px) {
    .pCatalog .summary {
      grid-area: unset;
    }
  }
  .pCatalogTitleSet {
    display: grid;
    grid-auto-flow: row;
    gap: calc(var(--pCatalogTitleSet-gap-sp) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .pCatalogTitleSet {
      gap: min(calc(var(--pCatalogTitleSet-gap-pc) * 1px), calc(var(--pCatalogTitleSet-gap-pc) / 1440 * 100vw));
    }
  }
  .pAttachment {
    padding: calc(var(--pAttachment-padding-inline-sp) / 390 * 100vw) calc(var(--pAttachment-padding-block-sp) / 390 * 100vw);
    display: grid;
    grid-template-columns: auto auto;
    justify-content: start;
    align-content: center;
    align-items: center;
    gap: calc(var(--pAttachment-gap-sp) / 390 * 100vw);
    border-bottom-width: calc(var(--pAttachment-border-bottom-width) / 390 * 100vw);
    border-bottom-style: solid;
    border-bottom-color: var(--pAttachment-border-bottom-color);
  }
  @media print, screen and (min-width: 768px) {
    .pAttachment {
      padding: min(calc(var(--pAttachment-padding-inline-pc) * 1px), calc(var(--pAttachment-padding-inline-pc) / 1440 * 100vw)) min(calc(var(--pAttachment-padding-block-pc) * 1px), calc(var(--pAttachment-padding-block-pc) / 1440 * 100vw));
      border-bottom-width: min(calc(var(--pAttachment-border-bottom-width) * 1px), calc(var(--pAttachment-border-bottom-width) / 1440 * 100vw));
      gap: min(calc(var(--pAttachment-gap-pc) * 1px), calc(var(--pAttachment-gap-pc) / 1440 * 100vw));
    }
  }
  .pAttachment::after {
    content: "";
    display: block;
    width: calc(var(--pAttachment-icon-width-sp) / 390 * 100vw);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    aspect-ratio: 1/1;
  }
  @media print, screen and (min-width: 768px) {
    .pAttachment::after {
      width: min(calc(var(--pAttachment-icon-width-pc) * 1px), calc(var(--pAttachment-icon-width-pc) / 1440 * 100vw));
    }
  }
  .pAttachment:has(a[href$=".pdf"])::after {
    background-image: url(/images/icon_pdf.svg);
  }
  .pAttachment:has(a[href$=".xlsx"])::after, .pAttachment:has(a[href$=".xls"])::after {
    background-image: url(/images/icon_xls.svg);
  }
  .pAttachment:has(a[href$=".docx"])::after, .pAttachment:has(a[href$=".doc"])::after {
    background-image: url(/images/icon_word.svg);
  }
  .pAttachment a {
    display: grid;
    grid-template-columns: auto auto;
    justify-content: start;
    align-items: center;
    font-size: calc(var(--pAttachment-font-size-sp) / 390 * 100vw);
    font-weight: var(--pAttachment-font-weight);
    color: var(--pAttachment-color);
    line-height: 150%;
    height: 100%;
  }
  @media print, screen and (min-width: 768px) {
    .pAttachment a {
      font-size: min(calc(var(--pAttachment-font-size-pc) * 1px), calc(var(--pAttachment-font-size-pc) / 1440 * 100vw));
      font-weight: var(--pAttachment-font-weight);
      color: var(--pAttachment-color);
    }
  }
  .pAttachment a::before {
    content: "・";
    display: block;
    align-self: start;
  }
  .pQ {
    font-size: calc(var(--pQ-font-size-sp) / 390 * 100vw);
    font-weight: var(--pQ-font-weight);
    color: var(--pQ-color);
    line-height: 150%;
    display: grid;
    grid-template-columns: auto auto;
    justify-content: start;
    gap: calc(var(--pQ-gap-sp) / 390 * 100vw);
    cursor: pointer;
  }
  @media print, screen and (min-width: 768px) {
    .pQ {
      font-size: min(calc(var(--pQ-font-size-pc) * 1px), calc(var(--pQ-font-size-pc) / 1440 * 100vw));
      gap: min(calc(var(--pQ-gap-pc) * 1px), calc(var(--pQ-gap-pc) / 1440 * 100vw));
    }
  }
  .pQ::before {
    content: "";
    display: block;
    width: calc(var(--pQ-icon-width-sp) / 390 * 100vw);
    aspect-ratio: 1/1;
    background: center/contain no-repeat url(/images/icon_q.svg);
  }
  @media print, screen and (min-width: 768px) {
    .pQ::before {
      width: min(calc(var(--pQ-icon-width-pc) * 1px), calc(var(--pQ-icon-width-pc) / 1440 * 100vw));
    }
  }
  .pA {
    display: grid;
    grid-template-columns: auto auto;
    justify-content: start;
    gap: calc(var(--pA-gap-sp) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .pA {
      gap: min(calc(var(--pA-gap-pc) * 1px), calc(var(--pA-gap-pc) / 1440 * 100vw));
    }
  }
  .pA::before {
    content: "";
    display: block;
    width: calc(var(--pA-icon-width-sp) / 390 * 100vw);
    aspect-ratio: 1/1;
    background: center/contain no-repeat url(/images/icon_a.svg);
  }
  @media print, screen and (min-width: 768px) {
    .pA::before {
      width: min(calc(var(--pA-icon-width-pc) * 1px), calc(var(--pA-icon-width-pc) / 1440 * 100vw));
    }
  }
  .pA img {
    display: block;
    margin: 0 auto calc(var(--pA-gap-sp) / 390 * 100vw) !important;
    border-radius: calc(var(--border-radius-small) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .pA img {
      border-radius: min(calc(var(--border-radius-small) * 1px), calc(var(--border-radius-small) / 1440 * 100vw));
    }
  }
  .pA img.mt-image-right {
    float: none !important;
  }
  @media print, screen and (min-width: 768px) {
    .pA img.mt-image-right {
      float: right !important;
      margin: 0 0 min(calc(var(--pA-gap-pc) * 1px), calc(var(--pA-gap-pc) / 1440 * 100vw)) min(calc(var(--pA-gap-pc) * 1px), calc(var(--pA-gap-pc) / 1440 * 100vw)) !important;
    }
  }
  .pA img.mt-image-left {
    float: none !important;
  }
  @media print, screen and (min-width: 768px) {
    .pA img.mt-image-left {
      float: left !important;
      margin: 0 min(calc(var(--pA-gap-pc) * 1px), calc(var(--pA-gap-pc) / 1440 * 100vw)) min(calc(var(--pA-gap-pc) * 1px), calc(var(--pA-gap-pc) / 1440 * 100vw)) 0 !important;
    }
  }
  .pFaq {
    background-color: var(--pFaq-background-color);
    border-radius: calc(var(--pFaq-border-radius-sp) / 390 * 100vw);
    border: calc(var(--pFaq-border-width) / 390 * 100vw) solid var(--pFaq-border-color);
    padding: calc(var(--pFaq-padding-block-sp) / 390 * 100vw) calc(var(--pFaq-padding-inline-sp) / 390 * 100vw);
    display: grid;
    grid-auto-flow: row;
    gap: calc(var(--pFaq-gap-sp) / 390 * 100vw);
    cursor: pointer;
  }
  @media print, screen and (min-width: 768px) {
    .pFaq {
      border-radius: min(calc(var(--pFaq-border-radius-pc) * 1px), calc(var(--pFaq-border-radius-pc) / 1440 * 100vw));
      padding: min(calc(var(--pFaq-padding-block-pc) * 1px), calc(var(--pFaq-padding-block-pc) / 1440 * 100vw)) min(calc(var(--pFaq-padding-inline-pc) * 1px), calc(var(--pFaq-padding-inline-pc) / 1440 * 100vw));
      gap: min(calc(var(--pFaq-gap-pc) * 1px), calc(var(--pFaq-gap-pc) / 1440 * 100vw));
      border-width: min(calc(var(--pFaq-border-width) * 1px), calc(var(--pFaq-border-width) / 1440 * 100vw));
    }
  }
  .pFaq.is-active {
    background-color: var(--pFaq-background-color-open);
    border-color: var(--pFaq-border-color-open);
  }
  .pFaq.is-active .q::after {
    background-image: url(/images/icon_minus.svg);
  }
  .pFaq .q {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: calc(var(--pFaq-gap-sp) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .pFaq .q {
      gap: min(calc(var(--pFaq-gap-pc) * 1px), calc(var(--pFaq-gap-pc) / 1440 * 100vw));
    }
  }
  .pFaq .q::after {
    content: "";
    display: block;
    width: calc(var(--pFaq-icon-width-sp) / 390 * 100vw);
    aspect-ratio: 1/1;
    background: center/contain no-repeat url(/images/icon_plus.svg);
  }
  @media print, screen and (min-width: 768px) {
    .pFaq .q::after {
      width: min(calc(var(--pFaq-icon-width-pc) * 1px), calc(var(--pFaq-icon-width-pc) / 1440 * 100vw));
    }
  }
  .pFaq .a {
    display: none;
  }
  .pConversionHeading {
    font-size: calc(var(--pConversionHeading-font-size-sp) / 390 * 100vw);
    font-weight: var(--pConversionHeading-font-weight);
    color: var(--pConversionHeading-color);
    line-height: 140%;
    font-family: var(--pConversionHeading-font-family);
  }
  @media print, screen and (min-width: 768px) {
    .pConversionHeading {
      font-size: min(calc(var(--pConversionHeading-font-size-pc) * 1px), calc(var(--pConversionHeading-font-size-pc) / 1440 * 100vw));
    }
  }
  .pLocalnavSub {
    display: block;
    width: -moz-fit-content;
    width: fit-content;
    font-size: calc(var(--pLocalnavSub-font-size-sp) / 390 * 100vw);
    font-weight: var(--pLocalnavSub-font-weight);
    color: var(--pLocalnavSub-default-color);
    border-width: var(--pLocalnavSub-border-width);
    border-style: solid;
    border-color: var(--pLocalnavSub-default-border-color);
    border-radius: calc(var(--pLocalnavSub-border-radius) / 390 * 100vw);
    background-color: var(--pLocalnavSub-default-background-color);
    padding: calc(var(--pLocalnavSub-padding-block-sp) / 390 * 100vw) calc(var(--pLocalnavSub-padding-inline-sp) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .pLocalnavSub {
      font-size: min(calc(var(--pLocalnavSub-font-size-pc) * 1px), calc(var(--pLocalnavSub-font-size-pc) / 1440 * 100vw));
      padding: min(calc(var(--pLocalnavSub-padding-block-pc) * 1px), calc(var(--pLocalnavSub-padding-block-pc) / 1440 * 100vw)) min(calc(var(--pLocalnavSub-padding-inline-pc) * 1px), calc(var(--pLocalnavSub-padding-inline-pc) / 1440 * 100vw));
      border-width: min(calc(var(--pLocalnavSub-border-width) * 1px), calc(var(--pLocalnavSub-border-width) / 1440 * 100vw));
    }
  }
  .pLocalnavSub.is-active {
    border-color: var(--pLocalnavSub-active-border-color);
    background-color: var(--pLocalnavSub-active-background-color);
    color: var(--pLocalnavSub-active-color);
  }
  @media (any-hover: hover) {
    .pLocalnavSub:hover {
      border-color: var(--pLocalnavSub-active-border-color);
      background-color: var(--pLocalnavSub-active-background-color);
      color: var(--pLocalnavSub-active-color);
    }
  }
  .pArchivenav {
    display: block;
    width: -moz-fit-content;
    width: fit-content;
    font-size: calc(var(--pArchivenav-font-size-sp) / 390 * 100vw);
    font-weight: var(--pArchivenav-font-weight);
    color: var(--pArchivenav-default-color);
    border-width: calc(var(--pArchivenav-border-width) / 390 * 100vw);
    border-bottom-width: 0;
    border-style: solid;
    border-color: var(--pArchivenav-default-border-color);
    border-top-left-radius: calc(var(--pArchivenav-border-radius) / 390 * 100vw);
    border-top-right-radius: calc(var(--pArchivenav-border-radius) / 390 * 100vw);
    background-color: var(--pArchivenav-default-background-color);
    padding: calc(var(--pArchivenav-padding-block-sp) / 390 * 100vw) calc(var(--pArchivenav-padding-inline-sp) / 390 * 100vw);
    white-space: nowrap;
  }
  @media print, screen and (min-width: 768px) {
    .pArchivenav {
      border-width: min(calc(var(--pArchivenav-border-width) * 1px), calc(var(--pArchivenav-border-width) / 1440 * 100vw));
      border-bottom-width: 0;
      font-size: min(calc(var(--pArchivenav-font-size-pc) * 1px), calc(var(--pArchivenav-font-size-pc) / 1440 * 100vw));
      padding: min(calc(var(--pArchivenav-padding-block-pc) * 1px), calc(var(--pArchivenav-padding-block-pc) / 1440 * 100vw)) min(calc(var(--pArchivenav-padding-inline-pc) * 1px), calc(var(--pArchivenav-padding-inline-pc) / 1440 * 100vw));
      border-top-left-radius: min(calc(var(--pArchivenav-border-radius) * 1px), calc(var(--pArchivenav-border-radius) / 1440 * 100vw));
      border-top-right-radius: min(calc(var(--pArchivenav-border-radius) * 1px), calc(var(--pArchivenav-border-radius) / 1440 * 100vw));
    }
  }
  .pArchivenav.is-active {
    border-color: var(--pArchivenav-active-border-color);
    background-color: var(--pArchivenav-active-background-color);
    color: var(--pArchivenav-active-color);
  }
  @media (any-hover: hover) {
    .pArchivenav:hover {
      border-color: var(--pArchivenav-active-border-color);
      background-color: var(--pArchivenav-active-background-color);
      color: var(--pArchivenav-active-color);
    }
  }
  .pSpeaker {
    display: grid;
    grid-auto-flow: row;
    gap: calc(var(--pSpeaker-gap-sp) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .pSpeaker {
      gap: min(calc(var(--pSpeaker-gap-pc) * 1px), calc(var(--pSpeaker-gap-pc) / 1440 * 100vw));
    }
  }
  .pSpeaker .profile_en {
    color: var(--pSpeaker-color-en);
  }
  .pFloatImage {
    margin-top: calc(var(--pFloatImage-margin-top-sp) / 390 * 100vw);
  }
  .pFloatImage::after {
    display: block;
    clear: both;
    content: "";
  }
  @media print, screen and (min-width: 768px) {
    .pFloatImage {
      margin-top: min(calc(var(--pFloatImage-margin-top-pc) * 1px), calc(var(--pFloatImage-margin-top-pc) / 1440 * 100vw));
    }
  }
  .pFloatImage .pImageCaption {
    float: right;
    width: 50%;
    padding-left: calc(var(--pFloatImage-gap-sp) / 390 * 100vw);
    padding-bottom: calc(var(--pFloatImage-gap-sp) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .pFloatImage .pImageCaption {
      padding-left: min(calc(var(--pFloatImage-gap-pc) * 1px), calc(var(--pFloatImage-gap-pc) / 1440 * 100vw));
      padding-bottom: min(calc(var(--pFloatImage-gap-pc) * 1px), calc(var(--pFloatImage-gap-pc) / 1440 * 100vw));
    }
  }
  .pNewsCategory {
    display: block;
    width: -moz-fit-content;
    width: fit-content;
    font-size: calc(var(--pNewsCategory-font-size-sp) / 390 * 100vw);
    font-weight: var(--pNewsCategory-font-weight);
    color: var(--pNewsCategory-color);
    border-width: var(--pNewsCategory-border-width);
    border-style: solid;
    border-color: var(--pNewsCategory-border-color);
    border-radius: calc(var(--pNewsCategory-border-radius) / 390 * 100vw);
    background-color: var(--pNewsCategory-background-color);
    padding: calc(var(--pNewsCategory-padding-block-sp) / 390 * 100vw) calc(var(--pNewsCategory-padding-inline-sp) / 390 * 100vw);
    min-width: calc(var(--pNewsCategory-min-width-sp) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .pNewsCategory {
      font-size: min(calc(var(--pNewsCategory-font-size-pc) * 1px), calc(var(--pNewsCategory-font-size-pc) / 1440 * 100vw));
      padding: min(calc(var(--pNewsCategory-padding-block-pc) * 1px), calc(var(--pNewsCategory-padding-block-pc) / 1440 * 100vw)) min(calc(var(--pNewsCategory-padding-inline-pc) * 1px), calc(var(--pNewsCategory-padding-inline-pc) / 1440 * 100vw));
      border-width: min(calc(var(--pNewsCategory-border-width) * 1px), calc(var(--pNewsCategory-border-width) / 1440 * 100vw));
      min-width: min(calc(var(--pNewsCategory-min-width-pc) * 1px), calc(var(--pNewsCategory-min-width-pc) / 1440 * 100vw));
    }
  }
  .pNewsDate {
    font-size: calc(var(--pNewsDate-font-size-sp) / 390 * 100vw);
    font-weight: var(--pNewsDate-font-weight);
    color: var(--pNewsDate-color);
    font-family: var(--pNewsDate-font-family);
    font-weight: var(--pNewsDate-font-weight);
  }
  @media print, screen and (min-width: 768px) {
    .pNewsDate {
      font-size: min(calc(var(--pNewsDate-font-size-pc) * 1px), calc(var(--pNewsDate-font-size-pc) / 1440 * 100vw));
    }
  }
  .pNewsTitle {
    font-size: calc(var(--pNewsTitle-font-size-sp) / 390 * 100vw);
    font-weight: var(--pNewsTitle-font-weight);
    color: var(--pNewsTitle-color);
    font-weight: var(--pNewsTitle-font-weight);
  }
  @media print, screen and (min-width: 768px) {
    .pNewsTitle {
      font-size: min(calc(var(--pNewsTitle-font-size-pc) * 1px), calc(var(--pNewsTitle-font-size-pc) / 1440 * 100vw));
    }
  }
  .pNewsSet {
    border-bottom-color: var(--pNewsSet-border-color);
    border-bottom-width: calc(var(--pNewsSet-border-width) / 390 * 100vw);
    border-bottom-style: solid;
    padding-block: calc(var(--pNewsSet-padding-block-sp) / 390 * 100vw);
    padding-inline: calc(var(--pNewsSet-padding-inline-sp) / 390 * 100vw);
    display: grid;
    grid-template: "date cat" auto "title title" auto/auto 1fr;
    -moz-column-gap: calc(var(--pNewsSet-gap-col-sp) / 390 * 100vw);
    column-gap: calc(var(--pNewsSet-gap-col-sp) / 390 * 100vw);
    row-gap: calc(var(--pNewsSet-gap-row-sp) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .pNewsSet {
      grid-template: "date cat title" auto/auto auto 1fr;
      -moz-column-gap: min(calc(var(--pNewsSet-gap-pc) * 1px), calc(var(--pNewsSet-gap-pc) / 1440 * 100vw));
      column-gap: min(calc(var(--pNewsSet-gap-pc) * 1px), calc(var(--pNewsSet-gap-pc) / 1440 * 100vw));
      row-gap: 0;
      align-items: start;
      border-bottom-width: min(calc(var(--pNewsSet-border-width) * 1px), calc(var(--pNewsSet-border-width) / 1440 * 100vw));
      padding-block: min(calc(var(--pNewsSet-padding-block-pc) * 1px), calc(var(--pNewsSet-padding-block-pc) / 1440 * 100vw));
      padding-inline: min(calc(var(--pNewsSet-padding-inline-pc) * 1px), calc(var(--pNewsSet-padding-inline-pc) / 1440 * 100vw));
    }
  }
  .pNewsSet .date {
    -ms-grid-row: 1;
    -ms-grid-column: 1;
    grid-area: date;
    align-self: center;
  }
  @media print, screen and (min-width: 768px) {
    .pNewsSet .date {
      align-self: start;
    }
  }
  .pNewsSet .pTagSet {
    -ms-grid-row: 1;
    -ms-grid-column: 3;
    grid-area: cat;
  }
  .pNewsSet .title {
    -ms-grid-row: 3;
    -ms-grid-column: 1;
    -ms-grid-column-span: 3;
    position: relative;
    grid-area: title;
    text-decoration: underline;
    line-height: 160%;
  }
  @media print, screen and (min-width: 768px) {
    .pNewsSet .title {
      flex: 1;
    }
  }
  .pTag {
    display: block;
    width: -moz-fit-content;
    width: fit-content;
    font-size: calc(var(--pTag-font-size-sp) / 390 * 100vw);
    font-weight: var(--pTag-font-weight);
    color: var(--pTag-default-color);
    border-width: var(--pTag-border-width);
    border-style: solid;
    border-color: var(--pTag-default-border-color);
    border-radius: calc(var(--pTag-border-radius) / 390 * 100vw);
    background-color: var(--pTag-default-background-color);
    padding: calc(var(--pTag-padding-block-sp) / 390 * 100vw) calc(var(--pTag-padding-inline-sp) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .pTag {
      font-size: min(calc(var(--pTag-font-size-pc) * 1px), calc(var(--pTag-font-size-pc) / 1440 * 100vw));
      padding: min(calc(var(--pTag-padding-block-pc) * 1px), calc(var(--pTag-padding-block-pc) / 1440 * 100vw)) min(calc(var(--pTag-padding-inline-pc) * 1px), calc(var(--pTag-padding-inline-pc) / 1440 * 100vw));
      border-width: min(calc(var(--pTag-border-width) * 1px), calc(var(--pTag-border-width) / 1440 * 100vw));
    }
  }
  @media (any-hover: hover) {
    .pTag:hover {
      border-color: var(--pTag-active-border-color);
      background-color: var(--pTag-active-background-color);
      color: var(--pTag-active-color);
    }
  }
  .pTagSet {
    display: flex;
    flex-wrap: wrap;
    gap: calc(var(--pTagSet-gap-row-sp) / 390 * 100vw) calc(var(--pTagSet-gap-col-sp) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .pTagSet {
      gap: min(calc(var(--pTagSet-gap-row-pc) * 1px), calc(var(--pTagSet-gap-row-pc) / 1440 * 100vw)) min(calc(var(--pTagSet-gap-col-pc) * 1px), calc(var(--pTagSet-gap-col-pc) / 1440 * 100vw));
    }
  }
  .pArticleList {
    display: grid;
    grid-template: "image date" auto "image category" auto "image heading" 1fr "text text" auto/calc(var(--pArticleList-image-width-sp) / 390 * 100vw) 1fr;
    align-items: start;
    -moz-column-gap: calc(var(--pArticleList-gap-col-sp) / 390 * 100vw);
    column-gap: calc(var(--pArticleList-gap-col-sp) / 390 * 100vw);
    row-gap: calc(var(--pArticleList-gap-row-sp) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .pArticleList {
      grid-template: "image date" auto "image category" auto "image heading" auto "image text" 1fr/min(calc(var(--pArticleList-image-width-pc) * 1px), calc(var(--pArticleList-image-width-pc) / 1440 * 100vw)) 1fr;
      -moz-column-gap: min(calc(var(--pArticleList-gap-col-pc) * 1px), calc(var(--pArticleList-gap-col-pc) / 1440 * 100vw));
      column-gap: min(calc(var(--pArticleList-gap-col-pc) * 1px), calc(var(--pArticleList-gap-col-pc) / 1440 * 100vw));
      row-gap: min(calc(var(--pArticleList-gap-row-pc) * 1px), calc(var(--pArticleList-gap-row-pc) / 1440 * 100vw));
    }
  }
  .pArticleList .image {
    -ms-grid-row: 1;
    -ms-grid-row-span: 5;
    -ms-grid-column: 1;
    grid-area: image;
    align-self: start;
  }
  .pArticleList .pImage {
    aspect-ratio: 3/2;
    -o-object-fit: cover;
    object-fit: cover;
  }
  .pArticleList .pNewsDate {
    -ms-grid-row: 1;
    -ms-grid-column: 1;
    grid-area: date;
    align-self: start;
  }
  .pArticleList .pTagSet {
    -ms-grid-row: 3;
    -ms-grid-column: 3;
    grid-area: category;
    align-self: start;
  }
  .pArticleList .pHeadingSmall {
    -ms-grid-row: 5;
    -ms-grid-column: 3;
    grid-area: heading;
    align-self: start;
  }
  .pArticleList .pText {
    -ms-grid-row: 1;
    -ms-grid-column: 3;
    grid-area: text;
  }
  .pPagination {
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    border-width: calc(var(--pPagination-border-width) / 390 * 100vw);
    border-style: solid;
    border-color: var(--pPagination-default-border-color);
    border-radius: calc(var(--pPagination-border-radius) / 390 * 100vw);
    background-color: var(--pPagination-default-background-color);
    color: var(--pPagination-default-color);
    font-size: calc(var(--pPagination-font-size-sp) / 390 * 100vw);
    font-weight: var(--pPagination-font-weight);
    padding: calc(var(--pPagination-padding-block-sp) / 390 * 100vw) calc(var(--pPagination-padding-inline-sp) / 390 * 100vw);
    width: calc(var(--pPagination-width-sp) / 390 * 100vw);
    aspect-ratio: 1/1;
  }
  @media print, screen and (min-width: 768px) {
    .pPagination {
      border-width: min(calc(var(--pPagination-border-width) * 1px), calc(var(--pPagination-border-width) / 1440 * 100vw));
      font-size: min(calc(var(--pPagination-font-size-pc) * 1px), calc(var(--pPagination-font-size-pc) / 1440 * 100vw));
      padding: min(calc(var(--pPagination-padding-block-pc) * 1px), calc(var(--pPagination-padding-block-pc) / 1440 * 100vw)) min(calc(var(--pPagination-padding-inline-pc) * 1px), calc(var(--pPagination-padding-inline-pc) / 1440 * 100vw));
      width: min(calc(var(--pPagination-width-pc) * 1px), calc(var(--pPagination-width-pc) / 1440 * 100vw));
    }
  }
  .pPagination.is-active {
    border-color: var(--pPagination-active-border-color);
    background-color: var(--pPagination-active-background-color);
    color: var(--pPagination-active-color);
  }
  .pPagination:not(.is-active):hover {
    border-color: var(--pPagination-hover-border-color);
    background-color: var(--pPagination-hover-background-color);
    color: var(--pPagination-hover-color);
  }
  .pPagination.arrow img {
    width: calc(var(--pPagination-icon-width-sp) / 390 * 100vw);
    aspect-ratio: 1/1;
  }
  @media print, screen and (min-width: 768px) {
    .pPagination.arrow img {
      width: min(calc(var(--pPagination-icon-width-pc) * 1px), calc(var(--pPagination-icon-width-pc) / 1440 * 100vw));
    }
  }
  .pPagination.arrow.prev img {
    rotate: z 180deg;
  }
  .pLocalnavTop {
    font-size: calc(var(--pLocalnavTop-font-size-sp) / 390 * 100vw);
    font-weight: var(--pLocalnavTop-font-weight);
    color: var(--pLocalnavTop-color-default);
    padding: calc(var(--pLocalnavTop-padding-block-sp) / 390 * 100vw) calc(var(--pLocalnavTop-padding-inline-sp) / 390 * 100vw);
    background-color: var(--pLocalnavTop-background-color-default);
    border-bottom-width: calc(var(--pLocalnavTop-border-bottom-width) / 390 * 100vw);
    border-bottom-style: solid;
    border-bottom-color: var(--pLocalnavTop-border-bottom-color-default);
    min-width: calc(var(--pLocalnavTop-min-width-sp) / 390 * 100vw);
    text-align: center;
    transition: color var(--transition-speed) var(--bezier), border-bottom-color var(--transition-speed) var(--bezier), background-color var(--transition-speed) var(--bezier);
  }
  @media print, screen and (min-width: 768px) {
    .pLocalnavTop {
      border-bottom-width: min(calc(var(--pLocalnavTop-border-bottom-width) * 1px), calc(var(--pLocalnavTop-border-bottom-width) / 1440 * 100vw));
      border-bottom-style: solid;
      border-bottom-color: var(--pLocalnavTop-border-bottom-color-default);
      min-width: min(calc(var(--pLocalnavTop-min-width-pc) * 1px), calc(var(--pLocalnavTop-min-width-pc) / 1440 * 100vw));
    }
  }
  @media print, screen and (min-width: 768px) {
    .pLocalnavTop {
      font-size: min(calc(var(--pLocalnavTop-font-size-pc) * 1px), calc(var(--pLocalnavTop-font-size-pc) / 1440 * 100vw));
      padding: min(calc(var(--pLocalnavTop-padding-block-pc) * 1px), calc(var(--pLocalnavTop-padding-block-pc) / 1440 * 100vw)) min(calc(var(--pLocalnavTop-padding-inline-pc) * 1px), calc(var(--pLocalnavTop-padding-inline-pc) / 1440 * 100vw));
      gap: min(calc(var(--pLocalnavTop-gap-pc) * 1px), calc(var(--pLocalnavTop-gap-pc) / 1440 * 100vw));
    }
  }
  .pLocalnavTop.is-active {
    color: var(--pLocalnavTop-color-active);
    border-bottom-color: var(--pLocalnavTop-border-bottom-color-active);
    background-color: var(--pLocalnavTop-background-color-active);
  }
  @media (any-hover: hover) {
    .pLocalnavTop:hover {
      color: var(--pLocalnavTop-color-active);
      border-bottom-color: var(--pLocalnavTop-border-bottom-color-active);
      background-color: var(--pLocalnavTop-background-color-active);
    }
  }
  .pLocalnavTopSeparator, .navigation.localnavtop .inner .overflow ul li::after, .localnavtop.component.type_pagelist .inner .overflow ul li::after {
    height: calc(var(--pLocalnavTopSeparator-height-sp) / 390 * 100vw);
    width: calc(var(--pLocalnavTopSeparator-width) / 390 * 100vw);
    background-color: var(--pLocalnavTopSeparator-background-color);
  }
  @media print, screen and (min-width: 768px) {
    .pLocalnavTopSeparator, .navigation.localnavtop .inner .overflow ul li::after, .localnavtop.component.type_pagelist .inner .overflow ul li::after {
      height: min(calc(var(--pLocalnavTopSeparator-height-pc) * 1px), calc(var(--pLocalnavTopSeparator-height-pc) / 1440 * 100vw));
      width: min(calc(var(--pLocalnavTopSeparator-width) * 1px), calc(var(--pLocalnavTopSeparator-width) / 1440 * 100vw));
    }
  }
  .pLocalnavBottom {
    font-size: calc(var(--pLocalnavBottom-font-size-sp) / 390 * 100vw);
    font-weight: var(--pLocalnavBottom-font-weight);
    color: var(--pLocalnavBottom-color);
    display: grid;
    grid-template-columns: auto auto;
    justify-content: start;
    gap: calc(var(--pLocalnavBottom-gap-sp) / 390 * 100vw);
    line-height: 150%;
  }
  @media print, screen and (min-width: 768px) {
    .pLocalnavBottom {
      font-size: min(calc(var(--pLocalnavBottom-font-size-pc) * 1px), calc(var(--pLocalnavBottom-font-size-pc) / 1440 * 100vw));
      gap: min(calc(var(--pLocalnavBottom-gap-pc) * 1px), calc(var(--pLocalnavBottom-gap-pc) / 1440 * 100vw));
    }
  }
  .pLocalnavBottom::before {
    content: "";
    display: block;
    width: calc(var(--pLocalnavBottom-icon-width-sp) / 390 * 100vw);
    aspect-ratio: 1/1;
    -webkit-mask-image: url(/images/icon_arrow_s.svg);
    mask-image: url(/images/icon_arrow_s.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(--pLocalnavBottom-icon-color);
  }
  @media print, screen and (min-width: 768px) {
    .pLocalnavBottom::before {
      width: min(calc(var(--pLocalnavBottom-icon-width-pc) * 1px), calc(var(--pLocalnavBottom-icon-width-pc) / 1440 * 100vw));
    }
  }
  .pLocalnavBottomList {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: calc(var(--pLocalnavBottomList-gap-row-sp) / 390 * 100vw) calc(var(--pLocalnavBottomList-gap-col-sp) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .pLocalnavBottomList {
      grid-template-columns: repeat(4, 1fr);
      gap: min(calc(var(--pLocalnavBottomList-gap-row-pc) * 1px), calc(var(--pLocalnavBottomList-gap-row-pc) / 1440 * 100vw)) min(calc(var(--pLocalnavBottomList-gap-col-pc) * 1px), calc(var(--pLocalnavBottomList-gap-col-pc) / 1440 * 100vw));
    }
  }
  .pBreadcrumbsText {
    font-size: calc(var(--pBreadcrumbsText-font-size-sp) / 390 * 100vw);
    font-weight: var(--pBreadcrumbsText-font-weight-active);
    color: var(--pBreadcrumbsText-color-active);
    white-space: nowrap;
    display: grid;
    align-items: center;
    grid-template: "slash text" auto/auto auto;
    gap: calc(var(--nBreadcrumbs-gap-sp) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .pBreadcrumbsText {
      font-size: min(calc(var(--pBreadcrumbsText-font-size-pc) * 1px), calc(var(--pBreadcrumbsText-font-size-pc) / 1440 * 100vw));
      gap: min(calc(var(--nBreadcrumbs-gap-pc) * 1px), calc(var(--nBreadcrumbs-gap-pc) / 1440 * 100vw));
    }
  }
  .pBreadcrumbsText::before {
    -ms-grid-row: 1;
    -ms-grid-column: 1;
    grid-area: slash;
    content: "/";
    display: block;
    font-size: calc(var(--pBreadcrumbsSeparator-font-size-sp) / 390 * 100vw);
    font-weight: var(--pBreadcrumbsSeparator-font-weight);
    color: var(--pBreadcrumbsSeparator-color);
  }
  @media print, screen and (min-width: 768px) {
    .pBreadcrumbsText::before {
      font-size: min(calc(var(--pBreadcrumbsSeparator-font-size-pc) * 1px), calc(var(--pBreadcrumbsSeparator-font-size-pc) / 1440 * 100vw));
    }
  }
  .pBreadcrumbsText a {
    -ms-grid-row: 1;
    -ms-grid-column: 3;
    grid-area: text;
    display: inline-block;
    font-weight: var(--pBreadcrumbsText-font-weight-default);
    color: var(--pBreadcrumbsText-color-default);
    text-decoration: underline;
  }
  @media (any-hover: hover) {
    .pBreadcrumbsText a:hover {
      text-decoration: none;
    }
  }
  .pBreadcrumbsSeparator {
    font-size: calc(var(--pBreadcrumbsText-font-size-sp) / 390 * 100vw);
    font-weight: var(--pBreadcrumbsText-font-weight-default);
    color: var(--pBreadcrumbsText-color-default);
  }
  @media print, screen and (min-width: 768px) {
    .pBreadcrumbsSeparator {
      font-size: min(calc(var(--pBreadcrumbsText-font-size-pc) * 1px), calc(var(--pBreadcrumbsText-font-size-pc) / 1440 * 100vw));
    }
  }
  .pBreadcrumbsSeparator::before {
    content: "";
    display: block;
    width: calc(var(--pQ-icon-width-sp) / 390 * 100vw);
    aspect-ratio: 1/1;
    background: center/contain no-repeat url(/images/icon_q.svg);
  }
  @media print, screen and (min-width: 768px) {
    .pBreadcrumbsSeparator::before {
      width: min(calc(var(--pQ-icon-width-pc) * 1px), calc(var(--pQ-icon-width-pc) / 1440 * 100vw));
    }
  }
  .pArticleNav {
    font-size: calc(var(--pArticleNav-font-size-sp) / 390 * 100vw);
    font-weight: var(--pArticleNav-font-weight);
    color: var(--pArticleNav-color);
    padding: calc(var(--pArticleNav-padding-block-sp) / 390 * 100vw) calc(var(--pArticleNav-padding-inline-sp) / 390 * 100vw);
    background-color: var(--pArticleNav-background-color);
    border-bottom-width: calc(var(--pArticleNav-border-bottom-width) / 390 * 100vw);
    border-bottom-style: solid;
    border-bottom-color: var(--pArticleNav-border-bottom-color);
    gap: calc(var(--pArticleNav-gap-sp) / 390 * 100vw);
    display: block grid;
    grid-template-columns: auto 1fr;
    align-items: center;
    justify-content: start;
    line-height: 150%;
  }
  @media print, screen and (min-width: 768px) {
    .pArticleNav {
      font-size: min(calc(var(--pArticleNav-font-size-pc) * 1px), calc(var(--pArticleNav-font-size-pc) / 1440 * 100vw));
      padding: min(calc(var(--pArticleNav-padding-block-pc) * 1px), calc(var(--pArticleNav-padding-block-pc) / 1440 * 100vw)) min(calc(var(--pArticleNav-padding-inline-pc) * 1px), calc(var(--pArticleNav-padding-inline-pc) / 1440 * 100vw));
      border-bottom-width: min(calc(var(--pArticleNav-border-bottom-width) * 1px), calc(var(--pArticleNav-border-bottom-width) / 1440 * 100vw));
      gap: min(calc(var(--pArticleNav-gap-pc) * 1px), calc(var(--pArticleNav-gap-pc) / 1440 * 100vw));
    }
  }
  .pArticleNav::before {
    content: "";
    display: block;
    width: calc(var(--pArticleNav-icon-width-sp) / 390 * 100vw);
    aspect-ratio: 1/1;
    background: center/contain no-repeat url(/images/icon_articlenav.svg);
  }
  @media print, screen and (min-width: 768px) {
    .pArticleNav::before {
      width: min(calc(var(--pArticleNav-icon-width-pc) * 1px), calc(var(--pArticleNav-icon-width-pc) / 1440 * 100vw));
    }
  }
  .pCategoryButton {
    font-size: calc(var(--pCategoryButton-font-size-sp) / 390 * 100vw);
    font-weight: var(--pCategoryButton-font-weight);
    padding: calc(var(--pCategoryButton-padding-block-sp) / 390 * 100vw) calc(var(--pCategoryButton-padding-inline-sp) / 390 * 100vw);
    background-color: var(--pCategoryButton-default-background-color);
    width: -moz-fit-content;
    width: fit-content;
  }
  @media print, screen and (min-width: 768px) {
    .pCategoryButton {
      font-size: min(calc(var(--pCategoryButton-font-size-pc) * 1px), calc(var(--pCategoryButton-font-size-pc) / 1440 * 100vw));
      padding: min(calc(var(--pCategoryButton-padding-block-pc) * 1px), calc(var(--pCategoryButton-padding-block-pc) / 1440 * 100vw)) min(calc(var(--pCategoryButton-padding-inline-pc) * 1px), calc(var(--pCategoryButton-padding-inline-pc) / 1440 * 100vw));
    }
  }
  @media (any-hover: hover) {
    .pCategoryButton:hover {
      background-color: var(--pCategoryButton-default-background-color-hover);
    }
  }
  .pCategoryButton.is-active {
    background-color: var(--pCategoryButton-active-background-color);
    color: var(--pCategoryButton-active-color);
  }
  .pPrice {
    color: var(--pPrice-color, #E7311D);
    font-family: var(--font-family-en);
    font-weight: var(--pPrice-data-font-weight);
    line-height: 140%;
    font-size: calc(var(--pPrice-data-font-size-sp) / 390 * 100vw);
    display: flex;
    align-items: center;
    gap: calc(var(--pPrice-gap-sp-narrow) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .pPrice {
      font-size: min(calc(var(--pPrice-data-font-size-pc) * 1px), calc(var(--pPrice-data-font-size-pc) / 1440 * 100vw));
      gap: min(calc(var(--pPrice-gap-pc-narrow) * 1px), calc(var(--pPrice-gap-pc-narrow) / 1440 * 100vw));
    }
  }
  .pPrice span {
    font-size: calc(var(--pPrice-unit-font-size-sp) / 390 * 100vw);
    font-weight: var(--pPrice-unit-font-weight);
  }
  @media print, screen and (min-width: 768px) {
    .pPrice span {
      font-size: min(calc(var(--pPrice-unit-font-size-pc) * 1px), calc(var(--pPrice-unit-font-size-pc) / 1440 * 100vw));
    }
  }
  .pCondition {
    color: calc(var(--pPrice-condition-color) / 390 * 100vw);
    font-size: calc(var(--pPrice-condition-font-size-sp) / 390 * 100vw);
    font-weight: var(--pPrice-condition-font-weight);
    padding: calc(var(--pPrice-condition-padding-block-sp) / 390 * 100vw) calc(var(--pPrice-condition-padding-inline-sp) / 390 * 100vw);
    background: var(--pPrice-condition-background);
    border-radius: calc(var(--pPrice-condition-border-radius) / 390 * 100vw);
    width: -moz-fit-content;
    width: fit-content;
    white-space: nowrap;
  }
  @media print, screen and (min-width: 768px) {
    .pCondition {
      font-size: min(calc(var(--pPrice-condition-font-size-pc) * 1px), calc(var(--pPrice-condition-font-size-pc) / 1440 * 100vw));
      padding: min(calc(var(--pPrice-condition-padding-block-pc) * 1px), calc(var(--pPrice-condition-padding-block-pc) / 1440 * 100vw)) min(calc(var(--pPrice-condition-padding-inline-pc) * 1px), calc(var(--pPrice-condition-padding-inline-pc) / 1440 * 100vw));
      border-radius: min(calc(var(--pPrice-condition-border-radius) * 1px), calc(var(--pPrice-condition-border-radius) / 1440 * 100vw));
    }
  }
  .pPriceLabel {
    padding: calc(var(--pPrice-label-padding-block-sp) / 390 * 100vw) calc(var(--pPrice-label-padding-inline-sp) / 390 * 100vw);
    color: var(--pPrice-label-color, );
    font-size: calc(var(--pPrice-label-font-size-sp) / 390 * 100vw);
    font-weight: var(--pPrice-label-font-weight);
    line-height: 140%;
    border-bottom: calc(var(--pCell-border-bottom) / 390 * 100vw) solid var(--pPrice-label-border-color);
    background: var(--pPrice-background);
    white-space: nowrap;
  }
  @media print, screen and (min-width: 768px) {
    .pPriceLabel {
      font-size: min(calc(var(--pPrice-label-font-size-pc) * 1px), calc(var(--pPrice-label-font-size-pc) / 1440 * 100vw));
      padding: min(calc(var(--pPrice-label-padding-block-pc) * 1px), calc(var(--pPrice-label-padding-block-pc) / 1440 * 100vw)) min(calc(var(--pPrice-label-padding-inline-pc) * 1px), calc(var(--pPrice-label-padding-inline-pc) / 1440 * 100vw));
      border-bottom: min(calc(var(--pCell-border-bottom) * 1px), calc(var(--pCell-border-bottom) / 1440 * 100vw)) solid var(--pPrice-label-border-color);
    }
  }
  .pBadge {
    border: calc(var(--pPrice-badge-border) / 390 * 100vw) solid var(--pPrice-badge-border-color);
    background: var(--pPrice-background);
    padding: calc(var(--pPrice-badge-padding-block-sp) / 390 * 100vw) calc(var(--pPrice-badge-padding-inline-sp) / 390 * 100vw);
    color: var(--pPrice-badge-color);
    font-size: calc(var(--pPrice-badge-font-size-sp) / 390 * 100vw);
    font-weight: var(--pPrice-badge-font-weight);
    text-align: center;
  }
  @media print, screen and (min-width: 768px) {
    .pBadge {
      font-size: min(calc(var(--pPrice-badge-font-size-pc) * 1px), calc(var(--pPrice-badge-font-size-pc) / 1440 * 100vw));
      padding: min(calc(var(--pPrice-badge-padding-block-pc) * 1px), calc(var(--pPrice-badge-padding-block-pc) / 1440 * 100vw)) min(calc(var(--pPrice-badge-padding-inline-pc) * 1px), calc(var(--pPrice-badge-padding-inline-pc) / 1440 * 100vw));
      border: min(calc(var(--pPrice-badge-border) * 1px), calc(var(--pPrice-badge-border) / 1440 * 100vw)) solid var(--pPrice-badge-border-color);
    }
  }
  @media print, screen and (min-width: 768px) {
    .pPriceLabelRow {
      display: flex;
    }
    .pPriceLabelRow .pPriceLabel:last-child {
      width: 100%;
    }
  }
  .pPriceRow {
    display: grid;
    grid-template-columns: 1fr;
    gap: calc(var(--pPrice-gap-sp-narrow) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .pPriceRow {
      gap: min(calc(var(--pPrice-gap-pc-narrow) * 1px), calc(var(--pPrice-gap-pc-narrow) / 1440 * 100vw));
    }
  }
  .pPriceRow .row {
    display: flex;
    align-items: center;
    justify-content: space-between;
  }
  .pServiceIcon {
    display: grid;
    grid-template: "icon text ." auto/calc(16 / 390 * 100vw) 1fr calc(16 / 390 * 100vw);
    min-width: calc(134 / 390 * 100vw);
    padding: calc(var(--pServiceIcon-padding-block-sp) / 390 * 100vw) calc(var(--pServiceIcon-padding-inline-sp) / 390 * 100vw);
    border-radius: calc(var(--border-radius-pill) / 390 * 100vw);
    border-width: 1px;
    border-style: solid;
    background-color: var(--pServiceIcon-background);
  }
  @media print, screen and (min-width: 768px) {
    .pServiceIcon {
      grid-template: "icon text ." auto/min(24px, calc(24 / 1440 * 100vw)) 1fr min(24px, calc(24 / 1440 * 100vw));
      min-width: min(280px, calc(280 / 1440 * 100vw));
      padding: min(calc(var(--pServiceIcon-padding-block-pc) * 1px), calc(var(--pServiceIcon-padding-block-pc) / 1440 * 100vw)) min(calc(var(--pServiceIcon-padding-inline-pc) * 1px), calc(var(--pServiceIcon-padding-inline-pc) / 1440 * 100vw));
    }
  }
  .pServiceIcon::before {
    -ms-grid-row: 1;
    -ms-grid-column: 1;
    grid-area: icon;
    content: "";
    display: block;
    width: calc(16 / 390 * 100vw);
    aspect-ratio: 1/1;
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
  }
  @media print, screen and (min-width: 768px) {
    .pServiceIcon::before {
      width: min(24px, calc(24 / 1440 * 100vw));
    }
  }
  .pServiceIcon span {
    -ms-grid-row: 1;
    -ms-grid-column: 3;
    grid-area: text;
    text-align: center;
    translate: 0 0.1em;
    font-size: calc(var(--pServiceIcon-font-size-sp) / 390 * 100vw);
    font-weight: var(--pServiceIcon-font-weight);
  }
  @media print, screen and (min-width: 768px) {
    .pServiceIcon span {
      font-size: min(calc(var(--pServiceIcon-font-size-pc) * 1px), calc(var(--pServiceIcon-font-size-pc) / 1440 * 100vw));
    }
  }
  .pServiceIcon.tool {
    color: var(--pServiceIcon-color-red);
  }
  .pServiceIcon.tool::before {
    -webkit-mask-image: url(/images/icon_tools.svg);
    mask-image: url(/images/icon_tools.svg);
    background-color: var(--pServiceIcon-color-red);
  }
  .pServiceIcon.hometools {
    color: var(--pServiceIcon-color-turquoise);
  }
  .pServiceIcon.hometools::before {
    -webkit-mask-image: url(/images/icon_hometools.svg);
    mask-image: url(/images/icon_hometools.svg);
    background-color: var(--pServiceIcon-color-turquoise);
  }
  .pServiceIcon.parking {
    color: var(--pServiceIcon-color-blue);
  }
  .pServiceIcon.parking::before {
    -webkit-mask-image: url(/images/icon_parking.svg);
    mask-image: url(/images/icon_parking.svg);
    background-color: var(--pServiceIcon-color-blue);
  }
  .pServiceIcon.store {
    color: var(--pServiceIcon-color-purple);
  }
  .pServiceIcon.store::before {
    -webkit-mask-image: url(/images/icon_store.svg);
    mask-image: url(/images/icon_store.svg);
    background-color: var(--pServiceIcon-color-purple);
  }
  .pServiceIcon.repair {
    color: var(--pServiceIcon-color-red);
  }
  .pServiceIcon.repair::before {
    -webkit-mask-image: url(/images/icon_repair.svg);
    mask-image: url(/images/icon_repair.svg);
    background-color: var(--pServiceIcon-color-red);
  }
  .pServiceIcon.sale {
    color: var(--pServiceIcon-color-green);
  }
  .pServiceIcon.sale::before {
    -webkit-mask-image: url(/images/icon_cart.svg);
    mask-image: url(/images/icon_cart.svg);
    background-color: var(--pServiceIcon-color-green);
  }
  .pServiceIcon.aircon {
    color: var(--pServiceIcon-color-purple);
  }
  .pServiceIcon.aircon::before {
    -webkit-mask-image: url(/images/icon_aircon.svg);
    mask-image: url(/images/icon_aircon.svg);
    background-color: var(--pServiceIcon-color-purple);
  }
  .pServiceIcon.furniture {
    color: var(--pServiceIcon-color-green);
  }
  .pServiceIcon.furniture::before {
    -webkit-mask-image: url(/images/icon_furniture.svg);
    mask-image: url(/images/icon_furniture.svg);
    background-color: var(--pServiceIcon-color-green);
  }
  .pServiceIcon.agritools {
    color: var(--pServiceIcon-color-grey);
  }
  .pServiceIcon.agritools::before {
    -webkit-mask-image: url(/images/icon_agritools.svg);
    mask-image: url(/images/icon_agritools.svg);
    background-color: var(--pServiceIcon-color-grey);
  }
}
@layer components {
  .component.type_pagetitle {
    background-color: var(--cPageTitle-background-color);
  }
  .component.type_pagetitle .inner {
    padding-left: calc(var(--container-padding-sp) / 390 * 100vw);
    padding-right: calc(var(--container-padding-sp) / 390 * 100vw);
    padding-block: calc(var(--cPageTitle-padding-block-sp) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .component.type_pagetitle .inner {
      padding-left: unset;
      padding-right: unset;
      margin-inline: auto;
      width: min(1240px, calc(1240 / 1440 * 100vw));
    }
  }
  @media print, screen and (min-width: 768px) {
    .component.type_pagetitle .inner {
      padding-block: min(calc(var(--cPageTitle-padding-block-pc) * 1px), calc(var(--cPageTitle-padding-block-pc) / 1440 * 100vw));
    }
  }
  .component.type_extendedtitle {
    position: relative;
    display: flex;
    align-items: center;
    min-height: calc(var(--cExtendedTitle-min-height-sp) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .component.type_extendedtitle {
      min-height: min(calc(var(--cExtendedTitle-min-height-pc) * 1px), calc(var(--cExtendedTitle-min-height-pc) / 1440 * 100vw));
    }
  }
  .component.type_extendedtitle .inner {
    padding-left: calc(var(--container-padding-sp) / 390 * 100vw);
    padding-right: calc(var(--container-padding-sp) / 390 * 100vw);
    display: flex;
    align-items: center;
    padding-block: calc(var(--cExtendedTitle-padding-block-sp) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .component.type_extendedtitle .inner {
      padding-left: unset;
      padding-right: unset;
      margin-inline: auto;
      width: min(1240px, calc(1240 / 1440 * 100vw));
    }
  }
  @media print, screen and (min-width: 768px) {
    .component.type_extendedtitle .inner {
      padding-block: min(calc(var(--cExtendedTitle-padding-block-pc) * 1px), calc(var(--cExtendedTitle-padding-block-pc) / 1440 * 100vw));
    }
  }
  .component.type_extendedtitle .inner .image {
    position: absolute;
    inset: 0;
  }
  .component.type_extendedtitle .inner .image img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center;
    object-position: center;
    border-radius: 0 0 calc(40 / 390 * 100vw) 0;
  }
  @media print, screen and (min-width: 768px) {
    .component.type_extendedtitle .inner .image img {
      border-radius: 0 0 min(96px, calc(96 / 1440 * 100vw)) 0;
    }
  }
  .component.type_extendedtitle .inner .text {
    position: relative;
    z-index: 2;
    display: flex;
    flex-direction: column;
    gap: calc(var(--cExtendedTitle-gap-sp) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .component.type_extendedtitle .inner .text {
      gap: min(calc(var(--cExtendedTitle-gap-pc) * 1px), calc(var(--cExtendedTitle-gap-pc) / 1440 * 100vw));
    }
  }
  .component.type_extendedtitle .inner .text .pPageTitle {
    color: var(--cExtendedTitle-color);
  }
  .component.type_extendedtitle .inner .text span {
    font-size: calc(var(--cExtendedTitle-subtitle-font-size-sp) / 390 * 100vw);
    color: var(--cExtendedTitle-subtitle-color);
    font-family: var(--cExtendedTitle-subtitle-font-family);
    font-weight: var(--cExtendedTitle-subtitle-font-weight);
  }
  @media print, screen and (min-width: 768px) {
    .component.type_extendedtitle .inner .text span {
      font-size: min(calc(var(--cExtendedTitle-subtitle-font-size-pc) * 1px), calc(var(--cExtendedTitle-subtitle-font-size-pc) / 1440 * 100vw));
    }
  }
  .component.type_catchcopy {
    margin-top: calc(var(--cCatchcopy-margin-top-sp) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .component.type_catchcopy {
      margin-top: min(calc(var(--cCatchcopy-margin-top-pc) * 1px), calc(var(--cCatchcopy-margin-top-pc) / 1440 * 100vw));
    }
  }
  .component.type_catchcopy .inner {
    padding-left: calc(var(--container-padding-sp) / 390 * 100vw);
    padding-right: calc(var(--container-padding-sp) / 390 * 100vw);
    display: grid;
    grid-auto-flow: row;
    gap: calc(var(--cCatchcopy-gap-row-sp) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .component.type_catchcopy .inner {
      padding-left: unset;
      padding-right: unset;
      margin-inline: auto;
      width: min(1026px, calc(1026 / 1440 * 100vw));
    }
  }
  @media print, screen and (min-width: 768px) {
    .component.type_catchcopy .inner {
      grid-template: "heading heading" auto "lead text" auto "button button" auto/min(calc(var(--cCatchcopy-lead-width) * 1px), calc(var(--cCatchcopy-lead-width) / 1440 * 100vw)) 1fr;
      gap: min(calc(var(--cCatchcopy-gap-row-pc) * 1px), calc(var(--cCatchcopy-gap-row-pc) / 1440 * 100vw)) min(calc(var(--cCatchcopy-gap-col) * 1px), calc(var(--cCatchcopy-gap-col) / 1440 * 100vw));
    }
  }
  @media print, screen and (min-width: 768px) {
    .component.type_catchcopy .inner .pHeadingMedium {
      -ms-grid-row: 1;
      -ms-grid-column: 3;
      grid-area: heading;
    }
  }
  @media print, screen and (min-width: 768px) {
    .component.type_catchcopy .inner .pLead {
      grid-area: lead;
    }
  }
  @media print, screen and (min-width: 768px) {
    .component.type_catchcopy .inner .pText {
      -ms-grid-row: 1;
      -ms-grid-column: 3;
      grid-area: text;
    }
  }
  @media print, screen and (min-width: 768px) {
    .component.type_catchcopy .inner .pButton {
      grid-area: button;
    }
  }
  .component.type_catchcopy_image {
    margin-top: calc(var(--cCatchcopyImage-margin-top-sp) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .component.type_catchcopy_image {
      margin-top: min(calc(var(--cCatchcopyImage-margin-top-pc) * 1px), calc(var(--cCatchcopyImage-margin-top-pc) / 1440 * 100vw));
    }
  }
  .component.type_catchcopy_image .inner {
    display: grid;
    grid-auto-flow: row;
    gap: calc(var(--cCatchcopyImage-gap-row-sp) / 390 * 100vw);
    align-items: start;
  }
  @media print, screen and (min-width: 768px) {
    .component.type_catchcopy_image .inner {
      grid-template: ". text image image" auto/1fr min(calc(var(--cCatchcopyImage-text-width) * 1px), calc(var(--cCatchcopyImage-text-width) / 1440 * 100vw)) min(calc(var(--cCatchcopyImage-text-width) * 1px), calc(var(--cCatchcopyImage-text-width) / 1440 * 100vw)) 1fr;
      gap: unset;
    }
  }
  .component.type_catchcopy_image .inner .image {
    padding-left: calc(var(--container-padding-sp) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .component.type_catchcopy_image .inner .image {
      -ms-grid-row: 1;
      -ms-grid-column: 1;
      grid-area: image;
      padding-left: unset;
    }
  }
  .component.type_catchcopy_image .inner .text {
    padding-inline: calc(var(--container-padding-sp) / 390 * 100vw);
    display: grid;
    grid-auto-flow: row;
    gap: calc(var(--cCatchcopyImage-gap-row-sp) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .component.type_catchcopy_image .inner .text {
      -ms-grid-row: 1;
      -ms-grid-column: 3;
      grid-area: text;
      padding-inline: unset;
      gap: min(calc(var(--cCatchcopyImage-gap-row-pc) * 1px), calc(var(--cCatchcopyImage-gap-row-pc) / 1440 * 100vw));
    }
  }
  .component.type_catchcopy_image .inner:not(.reverse) .pImage {
    border-top-right-radius: unset;
    border-bottom-right-radius: unset;
  }
  @media print, screen and (min-width: 768px) {
    .component.type_catchcopy_image .inner:not(.reverse) .text {
      padding-right: min(calc(var(--cCatchcopyImage-gap-col) * 1px), calc(var(--cCatchcopyImage-gap-col) / 1440 * 100vw));
    }
  }
  @media print, screen and (min-width: 768px) {
    .component.type_catchcopy_image .inner.reverse {
      grid-template: "image image text ." auto/1fr min(calc(var(--cCatchcopyImage-text-width) * 1px), calc(var(--cCatchcopyImage-text-width) / 1440 * 100vw)) min(calc(var(--cCatchcopyImage-text-width) * 1px), calc(var(--cCatchcopyImage-text-width) / 1440 * 100vw)) 1fr;
    }
  }
  .component.type_catchcopy_image .inner.reverse .image {
    padding-right: calc(var(--container-padding-sp) / 390 * 100vw);
    padding-left: unset;
  }
  @media print, screen and (min-width: 768px) {
    .component.type_catchcopy_image .inner.reverse .image {
      padding-right: unset;
    }
  }
  .component.type_catchcopy_image .inner.reverse .pImage {
    border-top-left-radius: unset;
    border-bottom-left-radius: unset;
  }
  @media print, screen and (min-width: 768px) {
    .component.type_catchcopy_image .inner.reverse .text {
      padding-left: min(calc(var(--cCatchcopyImage-gap-col) * 1px), calc(var(--cCatchcopyImage-gap-col) / 1440 * 100vw));
    }
  }
  .component.type_catchcopy_image_bg {
    margin-top: calc(var(--cCatchcopyImageBg-margin-top-sp) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .component.type_catchcopy_image_bg {
      margin-top: min(calc(var(--cCatchcopyImageBg-margin-top-pc) * 1px), calc(var(--cCatchcopyImageBg-margin-top-pc) / 1440 * 100vw));
    }
  }
  @media print, screen and (min-width: 768px) {
    .component.type_catchcopy_image_bg .inner {
      position: relative;
      padding-left: calc(var(--container-padding-sp) / 390 * 100vw);
      padding-right: calc(var(--container-padding-sp) / 390 * 100vw);
      padding-bottom: min(calc(var(--cCatchcopyImageBg-image-position-pc-bottom) * 1px), calc(var(--cCatchcopyImageBg-image-position-pc-bottom) / 1440 * 100vw));
    }
  }
  @media print, screen and (min-width: 768px) and (min-width: 768px) {
    .component.type_catchcopy_image_bg .inner {
      padding-left: unset;
      padding-right: unset;
      margin-inline: auto;
      width: min(1026px, calc(1026 / 1440 * 100vw));
    }
  }
  .component.type_catchcopy_image_bg .inner:not(.reverse) .text {
    border-top-left-radius: calc(var(--cCatchcopyImageBg-border-radius-sp) / 390 * 100vw);
    border-bottom-left-radius: calc(var(--cCatchcopyImageBg-border-radius-sp) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .component.type_catchcopy_image_bg .inner:not(.reverse) .text {
      border-top-left-radius: min(calc(var(--cCatchcopyImageBg-border-radius-pc) * 1px), calc(var(--cCatchcopyImageBg-border-radius-pc) / 1440 * 100vw));
      border-bottom-left-radius: min(calc(var(--cCatchcopyImageBg-border-radius-pc) * 1px), calc(var(--cCatchcopyImageBg-border-radius-pc) / 1440 * 100vw));
    }
  }
  @media print, screen and (min-width: 768px) {
    .component.type_catchcopy_image_bg .inner.reverse .image {
      margin-left: auto;
    }
  }
  .component.type_catchcopy_image_bg .inner.reverse .text {
    margin-left: unset;
    margin-right: auto;
    border-top-right-radius: calc(var(--cCatchcopyImageBg-border-radius-sp) / 390 * 100vw);
    border-bottom-right-radius: calc(var(--cCatchcopyImageBg-border-radius-sp) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .component.type_catchcopy_image_bg .inner.reverse .text {
      border-top-right-radius: min(calc(var(--cCatchcopyImageBg-border-radius-pc) * 1px), calc(var(--cCatchcopyImageBg-border-radius-pc) / 1440 * 100vw));
      border-bottom-right-radius: min(calc(var(--cCatchcopyImageBg-border-radius-pc) * 1px), calc(var(--cCatchcopyImageBg-border-radius-pc) / 1440 * 100vw));
      right: auto;
      left: 0;
    }
  }
  .component.type_catchcopy_image_bg .inner .image {
    padding-inline: calc(var(--container-padding-sp) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .component.type_catchcopy_image_bg .inner .image {
      padding-inline: unset;
      width: min(calc(var(--cCatchcopyImageBg-image-width-pc) * 1px), calc(var(--cCatchcopyImageBg-image-width-pc) / 1440 * 100vw));
    }
  }
  .component.type_catchcopy_image_bg .inner .text {
    background-color: var(--cCatchcopyImageBg-backgound-color);
    padding-inline: calc(var(--cCatchcopyImageBg-padding-inline-sp) / 390 * 100vw);
    padding-block: calc(var(--cCatchcopyImageBg-padding-block-sp) / 390 * 100vw);
    width: calc(var(--cCatchcopyImageBg-text-width-sp) / 390 * 100vw);
    position: relative;
    margin-top: calc(var(--cCatchcopyImageBg-text-position-sp-top) / 390 * 100vw);
    margin-left: auto;
    display: grid;
    grid-auto-flow: row;
    gap: calc(var(--cCatchcopyImageBg-gap-row-sp) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .component.type_catchcopy_image_bg .inner .text {
      padding-inline: min(calc(var(--cCatchcopyImageBg-padding-inline-pc) * 1px), calc(var(--cCatchcopyImageBg-padding-inline-pc) / 1440 * 100vw));
      padding-block: min(calc(var(--cCatchcopyImageBg-padding-block-pc) * 1px), calc(var(--cCatchcopyImageBg-padding-block-pc) / 1440 * 100vw));
      margin-top: unset;
      position: absolute;
      right: 0;
      bottom: 0;
      width: min(calc(var(--cCatchcopyImageBg-text-width-pc) * 1px), calc(var(--cCatchcopyImageBg-text-width-pc) / 1440 * 100vw));
      border-radius: min(calc(var(--cCatchcopyImageBg-border-radius-pc) * 1px), calc(var(--cCatchcopyImageBg-border-radius-pc) / 1440 * 100vw));
      gap: min(calc(var(--cCatchcopyImageBg-gap-row-pc) * 1px), calc(var(--cCatchcopyImageBg-gap-row-pc) / 1440 * 100vw));
    }
  }
  .component.type_conversion {
    padding-left: calc(var(--container-padding-sp) / 390 * 100vw);
    padding-right: calc(var(--container-padding-sp) / 390 * 100vw);
    margin-top: calc(var(--cConversion-margin-top-sp) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .component.type_conversion {
      padding-left: unset;
      padding-right: unset;
      margin-inline: auto;
      width: min(1026px, calc(1026 / 1440 * 100vw));
    }
  }
  @media print, screen and (min-width: 768px) {
    .component.type_conversion {
      margin-top: min(calc(var(--cConversion-margin-top-pc) * 1px), calc(var(--cConversion-margin-top-pc) / 1440 * 100vw));
    }
  }
  .component.type_conversion .inner {
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    background-color: var(--cConversion-background-color);
    border-radius: calc(var(--cConversion-border-radius-sp) / 390 * 100vw);
    padding: calc(var(--cConversion-padding-block-sp) / 390 * 100vw) calc(var(--cConversion-padding-inline-sp) / 390 * 100vw);
    display: grid;
    grid-auto-flow: row;
    gap: calc(var(--cConversion-gap-row-sp) / 390 * 100vw);
    justify-items: center;
    text-align: center;
  }
  @media print, screen and (min-width: 768px) {
    .component.type_conversion .inner {
      padding: min(calc(var(--cConversion-padding-block-pc) * 1px), calc(var(--cConversion-padding-block-pc) / 1440 * 100vw)) min(calc(var(--cConversion-padding-inline-pc) * 1px), calc(var(--cConversion-padding-inline-pc) / 1440 * 100vw));
      border-radius: min(calc(var(--cConversion-border-radius-pc) * 1px), calc(var(--cConversion-border-radius-pc) / 1440 * 100vw));
      gap: min(calc(var(--cConversion-gap-row-pc) * 1px), calc(var(--cConversion-gap-row-pc) / 1440 * 100vw));
      justify-items: start;
      text-align: left;
    }
  }
  @media print, screen and (min-width: 768px) {
    .component.type_conversion .inner.center {
      justify-items: center;
      text-align: center;
    }
  }
  @media print, screen and (min-width: 768px) {
    .component.type_conversion .inner.right {
      justify-items: end;
      text-align: right;
    }
  }
  .component.type_conversion .inner .image img {
    width: calc(var(--cConversion-logo-width-sp) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .component.type_conversion .inner .image img {
      width: min(calc(var(--cConversion-logo-width-pc) * 1px), calc(var(--cConversion-logo-width-pc) / 1440 * 100vw));
    }
  }
  .component.type_conversion .inner .pConversionHeading {
    color: var(--cConversion-color);
  }
  .component.type_conversion .inner .pText {
    color: var(--cConversion-color);
  }
  .component.type_blogtitle {
    padding-top: calc(60 / 390 * 100vw);
    padding-right: calc(30 / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .component.type_blogtitle {
      padding-top: min(180px, calc(180 / 1440 * 100vw));
      padding-right: min(90px, calc(90 / 1440 * 100vw));
    }
  }
  .component.type_blogtitle .inner {
    padding: calc(32 / 390 * 100vw) calc(24 / 390 * 100vw);
    background-color: var(--color-surface);
    border-radius: 0 var(--border-radius-medium) var(--border-radius-medium) 0;
  }
  @media print, screen and (min-width: 768px) {
    .component.type_blogtitle .inner {
      padding-inline: unset;
      padding-block: min(100px, calc(100 / 1440 * 100vw));
    }
  }
  .component.type_blogtitle .inner h1 {
    font-size: calc(var(--fs-xl) / 390 * 100vw);
    font-weight: var(--font-weight-bold);
    line-height: var(--line-height-xsmall);
  }
  @media print, screen and (min-width: 768px) {
    .component.type_blogtitle .inner h1 {
      font-size: min(calc(var(--fs-xxxxl) * 1px), calc(var(--fs-xxxxl) / 1440 * 100vw));
      margin-left: calc(50vw - min(630px, calc(630 / 1440 * 100vw)));
      padding-right: min(200px, calc(200 / 1440 * 100vw));
    }
  }
  .component.type_blogtitle .inner .cat {
    margin-top: calc(16 / 390 * 100vw);
    margin-left: -0.1em;
  }
  @media print, screen and (min-width: 768px) {
    .component.type_blogtitle .inner .cat {
      margin-top: min(24px, calc(24 / 1440 * 100vw));
      margin-left: calc(50vw - min(630px, calc(630 / 1440 * 100vw)));
      translate: min(-6px, calc(-6 / 1440 * 100vw)) 0;
    }
  }
  .component.type_blogtitle .inner .cat a {
    margin-left: 0.5em;
  }
  .component.type_heading .inner {
    padding-left: calc(var(--container-padding-sp) / 390 * 100vw);
    padding-right: calc(var(--container-padding-sp) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .component.type_heading .inner {
      padding-left: unset;
      padding-right: unset;
      margin-inline: auto;
      width: min(1026px, calc(1026 / 1440 * 100vw));
    }
  }
  .component.type_heading.large {
    margin-top: calc(var(--cHeading-large-margin-top-sp) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .component.type_heading.large {
      margin-top: min(calc(var(--cHeading-large-margin-top-pc) * 1px), calc(var(--cHeading-large-margin-top-pc) / 1440 * 100vw));
    }
  }
  .component.type_heading.medium {
    margin-top: calc(var(--cHeading-medium-margin-top-sp) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .component.type_heading.medium {
      margin-top: min(calc(var(--cHeading-medium-margin-top-pc) * 1px), calc(var(--cHeading-medium-margin-top-pc) / 1440 * 100vw));
    }
  }
  .component.type_heading_ex {
    margin-top: calc(var(--margin-section) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .component.type_heading_ex {
      margin-top: min(calc(var(--margin-section-pc) * 1px), calc(var(--margin-section-pc) / 1440 * 100vw));
    }
  }
  .component.type_heading_ex .inner {
    padding-left: calc(var(--container-padding-sp) / 390 * 100vw);
    padding-right: calc(var(--container-padding-sp) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .component.type_heading_ex .inner {
      padding-left: unset;
      padding-right: unset;
      margin-inline: auto;
      width: min(1026px, calc(1026 / 1440 * 100vw));
    }
  }
  .component.type_text {
    margin-top: calc(var(--cText-margin-top-sp) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .component.type_text {
      margin-top: min(calc(var(--cText-margin-top-pc) * 1px), calc(var(--cText-margin-top-pc) / 1440 * 100vw));
    }
  }
  .component.type_text .inner {
    padding-left: calc(var(--container-padding-sp) / 390 * 100vw);
    padding-right: calc(var(--container-padding-sp) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .component.type_text .inner {
      padding-left: unset;
      padding-right: unset;
      margin-inline: auto;
      width: min(1026px, calc(1026 / 1440 * 100vw));
    }
  }
  .component.type_lead {
    margin-top: calc(var(--cLead-margin-top-sp) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .component.type_lead {
      margin-top: min(calc(var(--cLead-margin-top-pc) * 1px), calc(var(--cLead-margin-top-pc) / 1440 * 100vw));
    }
  }
  .component.type_lead .inner {
    padding-left: calc(var(--container-padding-sp) / 390 * 100vw);
    padding-right: calc(var(--container-padding-sp) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .component.type_lead .inner {
      padding-left: unset;
      padding-right: unset;
      margin-inline: auto;
      width: min(1026px, calc(1026 / 1440 * 100vw));
    }
  }
  .component.type_text_image {
    margin-top: calc(var(--cTextImage-margin-top-sp) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .component.type_text_image {
      margin-top: min(calc(var(--cTextImage-margin-top-pc) * 1px), calc(var(--cTextImage-margin-top-pc) / 1440 * 100vw));
    }
  }
  .component.type_text_image .inner {
    padding-left: calc(var(--container-padding-sp) / 390 * 100vw);
    padding-right: calc(var(--container-padding-sp) / 390 * 100vw);
    display: grid;
    grid-auto-flow: row;
    gap: calc(var(--cTextImage-gap-row-sp) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .component.type_text_image .inner {
      padding-left: unset;
      padding-right: unset;
      margin-inline: auto;
      width: min(1026px, calc(1026 / 1440 * 100vw));
    }
  }
  @media print, screen and (min-width: 768px) {
    .component.type_text_image .inner {
      grid-template: "images text" auto/min(calc(var(--cTextImage-image-width) * 1px), calc(var(--cTextImage-image-width) / 1440 * 100vw)) 1fr;
      gap: min(calc(var(--cTextImage-gap-row-pc) * 1px), calc(var(--cTextImage-gap-row-pc) / 1440 * 100vw)) min(calc(var(--cTextImage-gap-col) * 1px), calc(var(--cTextImage-gap-col) / 1440 * 100vw));
    }
  }
  @media print, screen and (min-width: 768px) {
    .component.type_text_image .inner.reverse {
      grid-template: "text images" auto/1fr min(calc(var(--cTextImage-image-width) * 1px), calc(var(--cTextImage-image-width) / 1440 * 100vw));
    }
  }
  .component.type_text_image .inner .text {
    display: grid;
    grid-auto-flow: row;
    gap: calc(var(--cTextImage-gap-row-sp) / 390 * 100vw);
    align-self: start;
  }
  @media print, screen and (min-width: 768px) {
    .component.type_text_image .inner .text {
      -ms-grid-row: 1;
      -ms-grid-column: 3;
      grid-area: text;
      gap: min(calc(var(--cTextImage-gap-row-pc) * 1px), calc(var(--cTextImage-gap-row-pc) / 1440 * 100vw));
    }
  }
  .component.type_text_image .inner .images {
    display: grid;
    grid-auto-flow: row;
    gap: calc(var(--cTextImage-gap-row-sp) / 390 * 100vw);
    align-self: start;
  }
  @media print, screen and (min-width: 768px) {
    .component.type_text_image .inner .images {
      grid-area: images;
      gap: min(calc(var(--cTextImage-gap-row-pc) * 1px), calc(var(--cTextImage-gap-row-pc) / 1440 * 100vw));
    }
  }
  .component.type_text_map {
    margin-top: calc(var(--cTextMap-margin-top-sp) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .component.type_text_map {
      margin-top: min(calc(var(--cTextMap-margin-top-pc) * 1px), calc(var(--cTextMap-margin-top-pc) / 1440 * 100vw));
    }
  }
  .component.type_text_map .inner {
    padding-left: calc(var(--container-padding-sp) / 390 * 100vw);
    padding-right: calc(var(--container-padding-sp) / 390 * 100vw);
    display: grid;
    grid-auto-flow: row;
    gap: calc(var(--cTextMap-gap-row-sp) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .component.type_text_map .inner {
      padding-left: unset;
      padding-right: unset;
      margin-inline: auto;
      width: min(1026px, calc(1026 / 1440 * 100vw));
    }
  }
  @media print, screen and (min-width: 768px) {
    .component.type_text_map .inner {
      grid-template: "map text" auto/min(calc(var(--cTextMap-image-width) * 1px), calc(var(--cTextMap-image-width) / 1440 * 100vw)) 1fr;
      gap: min(calc(var(--cTextMap-gap-row-pc) * 1px), calc(var(--cTextMap-gap-row-pc) / 1440 * 100vw)) min(calc(var(--cTextMap-gap-col) * 1px), calc(var(--cTextMap-gap-col) / 1440 * 100vw));
    }
  }
  @media print, screen and (min-width: 768px) {
    .component.type_text_map .inner.reverse {
      grid-template: "text map" auto/1fr min(calc(var(--cTextMap-image-width) * 1px), calc(var(--cTextMap-image-width) / 1440 * 100vw));
    }
  }
  .component.type_text_map .inner .text {
    display: grid;
    grid-auto-flow: row;
    gap: calc(var(--cTextMap-gap-row-sp) / 390 * 100vw);
    align-self: start;
  }
  @media print, screen and (min-width: 768px) {
    .component.type_text_map .inner .text {
      -ms-grid-row: 1;
      -ms-grid-column: 3;
      grid-area: text;
      gap: min(calc(var(--cTextMap-gap-row-pc) * 1px), calc(var(--cTextMap-gap-row-pc) / 1440 * 100vw));
    }
  }
  @media print, screen and (min-width: 768px) {
    .component.type_text_map .inner .pMapCaption {
      grid-area: map;
    }
  }
  .component.type_map {
    margin-top: calc(var(--cMap-margin-top-sp) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .component.type_map {
      margin-top: min(calc(var(--cMap-margin-top-pc) * 1px), calc(var(--cMap-margin-top-pc) / 1440 * 100vw));
    }
  }
  .component.type_map .inner {
    padding-left: calc(var(--container-padding-sp) / 390 * 100vw);
    padding-right: calc(var(--container-padding-sp) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .component.type_map .inner {
      padding-left: unset;
      padding-right: unset;
      margin-inline: auto;
      width: min(1026px, calc(1026 / 1440 * 100vw));
    }
  }
  .component.type_map .inner .pMapCaption {
    margin-inline: auto;
  }
  .component.type_image_multi {
    margin-top: calc(var(--cImage-margin-top-sp) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .component.type_image_multi {
      margin-top: min(calc(var(--cImage-margin-top-pc) * 1px), calc(var(--cImage-margin-top-pc) / 1440 * 100vw));
    }
  }
  @media print, screen and (min-width: 768px) {
    .component.type_image_multi.set1 .inner {
      justify-content: center;
    }
  }
  .component.type_image_multi.set1 .inner .pImageCaption {
    margin-inline: auto;
  }
  .component.type_image_multi.set2 .inner {
    display: grid;
    grid-template-columns: repeat(1, 1fr);
  }
  @media print, screen and (min-width: 768px) {
    .component.type_image_multi.set2 .inner {
      grid-template-columns: repeat(2, 1fr);
    }
  }
  .component.type_image_multi.set3 .inner {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: repeat(1, auto);
  }
  @media print, screen and (min-width: 768px) {
    .component.type_image_multi.set3 .inner {
      grid-template-columns: repeat(3, 1fr);
    }
  }
  .component.type_image_multi.set4 .inner {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: repeat(1, auto);
  }
  @media print, screen and (min-width: 768px) {
    .component.type_image_multi.set4 .inner {
      grid-template-columns: repeat(4, 1fr);
    }
  }
  .component.type_image_multi .inner {
    padding-left: calc(var(--container-padding-sp) / 390 * 100vw);
    padding-right: calc(var(--container-padding-sp) / 390 * 100vw);
    gap: calc(var(--cImage-gap-row-sp) / 390 * 100vw) calc(var(--cImage-gap-col-sp) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .component.type_image_multi .inner {
      padding-left: unset;
      padding-right: unset;
      margin-inline: auto;
      width: min(1026px, calc(1026 / 1440 * 100vw));
    }
  }
  @media print, screen and (min-width: 768px) {
    .component.type_image_multi .inner {
      gap: min(calc(var(--cImage-gap-row-pc) * 1px), calc(var(--cImage-gap-row-pc) / 1440 * 100vw)) min(calc(var(--cImage-gap-col-pc) * 1px), calc(var(--cImage-gap-col-pc) / 1440 * 100vw));
    }
  }
  .component.type_image_multi .inner .pImageCaption.shrink .pCaption {
    margin-inline: auto;
  }
  .component.type_movie_multi {
    margin-top: calc(var(--cImage-margin-top-sp) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .component.type_movie_multi {
      margin-top: min(calc(var(--cImage-margin-top-pc) * 1px), calc(var(--cImage-margin-top-pc) / 1440 * 100vw));
    }
  }
  @media print, screen and (min-width: 768px) {
    .component.type_movie_multi.set1 .inner {
      justify-content: center;
    }
  }
  .component.type_movie_multi.set1 .inner .pImageCaption {
    margin-inline: auto;
  }
  .component.type_movie_multi.set2 .inner {
    display: grid;
    grid-template-columns: repeat(1, 1fr);
  }
  @media print, screen and (min-width: 768px) {
    .component.type_movie_multi.set2 .inner {
      grid-template-columns: repeat(2, 1fr);
    }
  }
  .component.type_movie_multi.set3 .inner {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: repeat(1, auto);
  }
  @media print, screen and (min-width: 768px) {
    .component.type_movie_multi.set3 .inner {
      grid-template-columns: repeat(3, 1fr);
    }
  }
  .component.type_movie_multi.set4 .inner {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: repeat(1, auto);
  }
  @media print, screen and (min-width: 768px) {
    .component.type_movie_multi.set4 .inner {
      grid-template-columns: repeat(4, 1fr);
    }
  }
  .component.type_movie_multi .inner {
    padding-left: calc(var(--container-padding-sp) / 390 * 100vw);
    padding-right: calc(var(--container-padding-sp) / 390 * 100vw);
    gap: calc(var(--cImage-gap-row-sp) / 390 * 100vw) calc(var(--cImage-gap-col-sp) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .component.type_movie_multi .inner {
      padding-left: unset;
      padding-right: unset;
      margin-inline: auto;
      width: min(1026px, calc(1026 / 1440 * 100vw));
    }
  }
  @media print, screen and (min-width: 768px) {
    .component.type_movie_multi .inner {
      gap: min(calc(var(--cImage-gap-row-pc) * 1px), calc(var(--cImage-gap-row-pc) / 1440 * 100vw)) min(calc(var(--cImage-gap-col-pc) * 1px), calc(var(--cImage-gap-col-pc) / 1440 * 100vw));
    }
  }
  .component.type_movie_multi .inner .pImageCaption .pImage {
    width: 100%;
    aspect-ratio: 16/9;
  }
  .component.type_movie_multi .inner .pImageCaption .pImage iframe {
    width: 100%;
    height: 100%;
  }
  .component.type_movie_multi .inner .pImageCaption .pCaption.shrink {
    margin-inline: auto;
  }
  .component.type_panel {
    margin-top: calc(var(--cPanel-margin-top-sp) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .component.type_panel {
      margin-top: min(calc(var(--cPanel-margin-top-pc) * 1px), calc(var(--cPanel-margin-top-pc) / 1440 * 100vw));
    }
  }
  .component.type_panel.set1 .inner .pPanel {
    margin-inline: auto;
  }
  .component.type_panel.set2 .inner {
    display: grid;
    grid-template-columns: repeat(1, 1fr);
  }
  @media print, screen and (min-width: 768px) {
    .component.type_panel.set2 .inner {
      grid-template-columns: repeat(2, 1fr);
    }
  }
  .component.type_panel.set3 .inner {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: repeat(1, auto);
  }
  @media print, screen and (min-width: 768px) {
    .component.type_panel.set3 .inner {
      grid-template-columns: repeat(3, 1fr);
    }
  }
  .component.type_panel.set4 .inner {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: repeat(1, auto);
  }
  @media print, screen and (min-width: 768px) {
    .component.type_panel.set4 .inner {
      grid-template-columns: repeat(4, 1fr);
    }
  }
  .component.type_panel .inner {
    padding-left: calc(var(--container-padding-sp) / 390 * 100vw);
    padding-right: calc(var(--container-padding-sp) / 390 * 100vw);
    gap: calc(var(--cPanel-gap-row-sp) / 390 * 100vw) calc(var(--cPanel-gap-col-sp) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .component.type_panel .inner {
      padding-left: unset;
      padding-right: unset;
      margin-inline: auto;
      width: min(1026px, calc(1026 / 1440 * 100vw));
    }
  }
  @media print, screen and (min-width: 768px) {
    .component.type_panel .inner {
      gap: min(calc(var(--cPanel-gap-row-pc) * 1px), calc(var(--cPanel-gap-row-pc) / 1440 * 100vw)) min(calc(var(--cPanel-gap-col-pc) * 1px), calc(var(--cPanel-gap-col-pc) / 1440 * 100vw));
    }
  }
  .component.type_speaker {
    margin-top: calc(var(--cSpeaker-margin-top-sp) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .component.type_speaker {
      margin-top: min(calc(var(--cSpeaker-margin-top-pc) * 1px), calc(var(--cSpeaker-margin-top-pc) / 1440 * 100vw));
    }
  }
  .component.type_speaker > .inner {
    padding-left: calc(var(--container-padding-sp) / 390 * 100vw);
    padding-right: calc(var(--container-padding-sp) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .component.type_speaker > .inner {
      padding-left: unset;
      padding-right: unset;
      margin-inline: auto;
      width: min(1026px, calc(1026 / 1440 * 100vw));
    }
  }
  @media print, screen and (min-width: 768px) {
    .component.type_speaker > .inner {
      position: relative;
      display: flex;
      flex-direction: row-reverse;
      align-items: flex-start;
      gap: min(calc(var(--cSpeaker-gap-pc) * 1px), calc(var(--cSpeaker-gap-pc) / 1440 * 100vw));
    }
  }
  .component.type_speaker > .inner .speaker {
    display: grid;
    grid-auto-flow: row;
    gap: calc(var(--cSpeaker-speaker-gap-sp) / 390 * 100vw);
    background-color: var(--cSpeaker-background-color);
    padding: calc(var(--cSpeaker-padding-block-sp) / 390 * 100vw) calc(var(--cSpeaker-padding-inline-sp) / 390 * 100vw);
    border-radius: calc(var(--cSpeaker-border-radius-sp) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .component.type_speaker > .inner .speaker {
      padding: min(calc(var(--cSpeaker-padding-block-pc) * 1px), calc(var(--cSpeaker-padding-block-pc) / 1440 * 100vw)) min(calc(var(--cSpeaker-padding-inline-pc) * 1px), calc(var(--cSpeaker-padding-inline-pc) / 1440 * 100vw));
      border-radius: min(calc(var(--cSpeaker-border-radius-pc) * 1px), calc(var(--cSpeaker-border-radius-pc) / 1440 * 100vw));
      gap: min(calc(var(--cSpeaker-speaker-gap-pc) * 1px), calc(var(--cSpeaker-speaker-gap-pc) / 1440 * 100vw));
      width: min(calc(var(--cSpeaker-speaker-width) * 1px), calc(var(--cSpeaker-speaker-width) / 1440 * 100vw));
      position: sticky;
      top: 0;
      flex-shrink: 0;
    }
    .component.type_speaker > .inner .speaker.static {
      position: static;
    }
  }
  .component.type_speaker > .inner .speaker .pHeadingMedium {
    text-align: center;
  }
  .component.type_speaker > .inner .content {
    margin-top: calc(var(--cSpeaker-gap-sp) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .component.type_speaker > .inner .content {
      margin-top: unset;
      flex: 1;
    }
  }
  .component.type_speaker > .inner .content .component:not(.type_column) .container,
.component.type_speaker > .inner .content .component:not(.type_column) .inner {
    width: 100%;
    padding-inline: unset;
  }
  .component.type_speaker > .inner .content .component {
    margin-top: calc(var(--margin-top-1) / 390 * 100vw);
  }
  .component.type_speaker > .inner .content .component:first-of-type {
    margin-top: unset;
  }
  @media print, screen and (min-width: 768px) {
    .component.type_speaker > .inner .content .component {
      margin-top: min(calc(var(--margin-top-2) * 1px), calc(var(--margin-top-2) / 1440 * 100vw));
    }
    .component.type_speaker > .inner .content .component:first-of-type {
      margin-top: unset;
    }
  }
  .component.type_speaker > .inner .content .type_column .container {
    padding-inline: unset;
    width: 100%;
  }
  .component.type_speaker > .inner .content .type_column .inner {
    grid-template: "heading" auto "subheading" auto "text" auto "images" auto "button" auto/100%;
  }
  .component.type_speaker > .inner .content .type_table .inner {
    padding-inline: unset;
  }
  .component.type_column {
    margin-top: calc(var(--cColumn-margin-top-sp) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .component.type_column {
      margin-top: min(calc(var(--cColumn-margin-top-pc) * 1px), calc(var(--cColumn-margin-top-pc) / 1440 * 100vw));
    }
  }
  .component.type_column .container {
    padding-left: calc(var(--container-padding-sp) / 390 * 100vw);
    padding-right: calc(var(--container-padding-sp) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .component.type_column .container {
      padding-left: unset;
      padding-right: unset;
      margin-inline: auto;
      width: min(1026px, calc(1026 / 1440 * 100vw));
    }
  }
  .component.type_column .container .inner {
    background-color: var(--color-surface);
    padding: calc(var(--cColumn-padding-block-sp) / 390 * 100vw) calc(var(--cColumn-padding-inline-sp) / 390 * 100vw);
    border: calc(var(--cColumn-border-width-sp) / 390 * 100vw) solid var(--cColumn-border-color);
    gap: calc(var(--cColumn-gap-row-sp) / 390 * 100vw);
    border-radius: calc(var(--cColumn-border-radius-sp) / 390 * 100vw);
    display: grid;
  }
  @media print, screen and (min-width: 768px) {
    .component.type_column .container .inner {
      padding: min(calc(var(--cColumn-padding-block-pc) * 1px), calc(var(--cColumn-padding-block-pc) / 1440 * 100vw)) min(calc(var(--cColumn-padding-inline-pc) * 1px), calc(var(--cColumn-padding-inline-pc) / 1440 * 100vw));
      gap: min(calc(var(--cColumn-gap-row-pc) * 1px), calc(var(--cColumn-gap-row-pc) / 1440 * 100vw)) min(calc(var(--cColumn-gap-col) * 1px), calc(var(--cColumn-gap-col) / 1440 * 100vw));
      border-width: min(calc(var(--cColumn-border-width-pc) * 1px), calc(var(--cColumn-border-width-pc) / 1440 * 100vw));
      border-radius: min(calc(var(--cColumn-border-radius-pc) * 1px), calc(var(--cColumn-border-radius-pc) / 1440 * 100vw));
    }
  }
  .component.type_column .container .inner.normal {
    grid-template: "heading" auto "subheading" auto "text" auto "images" auto "button" auto/100%;
  }
  @media print, screen and (min-width: 768px) {
    .component.type_column .container .inner.normal {
      grid-template: "images heading" auto "images subheading" auto "images text" auto "images button" 1fr/min(calc(var(--cColumn-image-width) * 1px), calc(var(--cColumn-image-width) / 1440 * 100vw)) 1fr;
    }
  }
  .component.type_column .container .inner.reverse {
    grid-template: "heading" auto "subheading" auto "text" auto "images" auto "button" auto/100%;
  }
  @media print, screen and (min-width: 768px) {
    .component.type_column .container .inner.reverse {
      grid-template: "heading images" auto "subheading images" auto "text images" auto "button images" 1fr/1fr min(calc(var(--cColumn-image-width) * 1px), calc(var(--cColumn-image-width) / 1440 * 100vw));
    }
  }
  .component.type_column .container .inner.vertical {
    grid-template: "heading" auto "subheading" auto "images" auto "text" auto "button" auto/100%;
  }
  @media print, screen and (min-width: 768px) {
    .component.type_column .container .inner.vertical .images {
      grid-auto-flow: column;
    }
  }
  @media print, screen and (min-width: 768px) {
    .component.type_column .container .inner.vertical .button .pButton {
      margin-left: auto;
    }
  }
  .component.type_column .container .inner.vertical_reverse {
    grid-template: "heading" auto "subheading" auto "text" auto "button" auto "images" auto/100%;
  }
  @media print, screen and (min-width: 768px) {
    .component.type_column .container .inner.vertical_reverse .images {
      grid-auto-flow: column;
    }
  }
  @media print, screen and (min-width: 768px) {
    .component.type_column .container .inner.vertical_reverse .button .pButton {
      margin-left: auto;
    }
  }
  .component.type_column .container .inner.textonly {
    display: block;
  }
  .component.type_column .container .inner .pHeadingMedium {
    -ms-grid-row: 1;
    -ms-grid-column: 3;
    text-align: center;
    grid-area: heading;
  }
  @media print, screen and (min-width: 768px) {
    .component.type_column .container .inner .pHeadingMedium {
      text-align: left;
    }
  }
  .component.type_column .container .inner .pText.subheading {
    -ms-grid-row: 2;
    -ms-grid-column: 1;
    color: var(--cColumn-subheading-color);
    grid-area: subheading;
  }
  .component.type_column .container .inner .images {
    grid-area: images;
    display: grid;
    grid-auto-flow: row;
    gap: calc(var(--cColumn-gap-row-sp) / 390 * 100vw);
    align-self: start;
  }
  @media print, screen and (min-width: 768px) {
    .component.type_column .container .inner .images {
      gap: min(calc(var(--cColumn-gap-row-pc) * 1px), calc(var(--cColumn-gap-row-pc) / 1440 * 100vw));
    }
  }
  .component.type_column .container .inner .images .pImageCaption {
    container-type: unset;
    margin-inline: auto;
  }
  .component.type_column .container .inner .text {
    -ms-grid-row: 1;
    -ms-grid-column: 3;
    grid-area: text;
  }
  .component.type_column .container .inner .button {
    grid-area: button;
  }
  .component.type_column .container .inner .button .pButton {
    margin-inline: auto;
  }
  @media print, screen and (min-width: 768px) {
    .component.type_column .container .inner .button .pButton {
      margin-inline: unset;
    }
  }
  .component.type_table {
    margin-top: calc(var(--cTable-margin-top-sp) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .component.type_table {
      margin-top: min(calc(var(--cTable-margin-top-pc) * 1px), calc(var(--cTable-margin-top-pc) / 1440 * 100vw));
    }
  }
  .component.type_table .inner {
    padding-left: calc(var(--container-padding-sp) / 390 * 100vw);
    padding-right: calc(var(--container-padding-sp) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .component.type_table .inner {
      padding-left: unset;
      padding-right: unset;
      margin-inline: auto;
      width: min(1026px, calc(1026 / 1440 * 100vw));
    }
  }
  .component.type_table .inner .table_set {
    position: relative;
    overflow-x: auto;
  }
  .component.type_table .inner .table_set:not(:has(.narrow, .reverse)) table th, .component.type_table .inner .table_set:not(:has(.narrow, .reverse)) table td {
    border-style: solid;
    border-left-width: calc(var(--pCell-border-left) / 390 * 100vw);
    border-top-width: calc(var(--pCell-border-top) / 390 * 100vw);
    border-right-width: calc(var(--pCell-border-right) / 390 * 100vw);
    border-bottom-width: calc(var(--pCell-border-bottom) / 390 * 100vw);
    padding-inline: calc(var(--pCell-padding-inline-sp) / 390 * 100vw);
    font-size: calc(var(--pCell-font-size-sp) / 390 * 100vw);
    min-width: calc(var(--pCell-min-width) / 390 * 100vw);
    line-height: 140%;
    color: var(--pCell-data-color);
    font-weight: var(--pCell-data-font-weight);
    border-color: var(--pCell-data-border-color);
    background-color: var(--pCell-data-background);
    padding-block: calc(var(--pCell-padding-block-sp) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .component.type_table .inner .table_set:not(:has(.narrow, .reverse)) table th, .component.type_table .inner .table_set:not(:has(.narrow, .reverse)) table td {
      font-size: min(calc(var(--pCell-font-size-pc) * 1px), calc(var(--pCell-font-size-pc) / 1440 * 100vw));
      padding-inline: min(calc(var(--pCell-padding-inline-pc) * 1px), calc(var(--pCell-padding-inline-pc) / 1440 * 100vw));
      min-width: unset;
      border-left-width: min(calc(var(--pCell-border-left) * 1px), calc(var(--pCell-border-left) / 1440 * 100vw));
      border-top-width: min(calc(var(--pCell-border-top) * 1px), calc(var(--pCell-border-top) / 1440 * 100vw));
      border-right-width: min(calc(var(--pCell-border-right) * 1px), calc(var(--pCell-border-right) / 1440 * 100vw));
      border-bottom-width: min(calc(var(--pCell-border-bottom) * 1px), calc(var(--pCell-border-bottom) / 1440 * 100vw));
    }
  }
  .component.type_table .inner .table_set:not(:has(.narrow, .reverse)) table th a, .component.type_table .inner .table_set:not(:has(.narrow, .reverse)) table td a {
    text-decoration: underline;
  }
  @media (any-hover: hover) {
    .component.type_table .inner .table_set:not(:has(.narrow, .reverse)) table th a:hover, .component.type_table .inner .table_set:not(:has(.narrow, .reverse)) table td a:hover {
      text-decoration: none;
    }
  }
  @media print, screen and (min-width: 768px) {
    .component.type_table .inner .table_set:not(:has(.narrow, .reverse)) table th, .component.type_table .inner .table_set:not(:has(.narrow, .reverse)) table td {
      padding-block: min(calc(var(--pCell-padding-block-pc) * 1px), calc(var(--pCell-padding-block-pc) / 1440 * 100vw));
    }
  }
  .component.type_table .inner .table_set.reverse table th {
    border-style: solid;
    border-left-width: calc(var(--pCell-border-left) / 390 * 100vw);
    border-top-width: calc(var(--pCell-border-top) / 390 * 100vw);
    border-right-width: calc(var(--pCell-border-right) / 390 * 100vw);
    border-bottom-width: calc(var(--pCell-border-bottom) / 390 * 100vw);
    padding-inline: calc(var(--pCell-padding-inline-sp) / 390 * 100vw);
    font-size: calc(var(--pCell-font-size-sp) / 390 * 100vw);
    min-width: calc(var(--pCell-min-width) / 390 * 100vw);
    line-height: 140%;
    color: var(--pCell-reverse-color);
    font-weight: var(--pCell-reverse-font-weight);
    border-color: var(--pCell-reverse-border-color);
    background-color: var(--pCell-reverse-background);
    padding-block: calc(var(--pCell-padding-block-sp) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .component.type_table .inner .table_set.reverse table th {
      font-size: min(calc(var(--pCell-font-size-pc) * 1px), calc(var(--pCell-font-size-pc) / 1440 * 100vw));
      padding-inline: min(calc(var(--pCell-padding-inline-pc) * 1px), calc(var(--pCell-padding-inline-pc) / 1440 * 100vw));
      min-width: unset;
      border-left-width: min(calc(var(--pCell-border-left) * 1px), calc(var(--pCell-border-left) / 1440 * 100vw));
      border-top-width: min(calc(var(--pCell-border-top) * 1px), calc(var(--pCell-border-top) / 1440 * 100vw));
      border-right-width: min(calc(var(--pCell-border-right) * 1px), calc(var(--pCell-border-right) / 1440 * 100vw));
      border-bottom-width: min(calc(var(--pCell-border-bottom) * 1px), calc(var(--pCell-border-bottom) / 1440 * 100vw));
    }
  }
  .component.type_table .inner .table_set.reverse table th a {
    text-decoration: underline;
  }
  @media (any-hover: hover) {
    .component.type_table .inner .table_set.reverse table th a:hover {
      text-decoration: none;
    }
  }
  @media print, screen and (min-width: 768px) {
    .component.type_table .inner .table_set.reverse table th {
      padding-block: min(calc(var(--pCell-padding-block-pc) * 1px), calc(var(--pCell-padding-block-pc) / 1440 * 100vw));
    }
  }
  .component.type_table .inner .table_set.narrow table th, .component.type_table .inner .table_set.narrow table td {
    border-style: solid;
    border-left-width: calc(var(--pCell-border-left) / 390 * 100vw);
    border-top-width: calc(var(--pCell-border-top) / 390 * 100vw);
    border-right-width: calc(var(--pCell-border-right) / 390 * 100vw);
    border-bottom-width: calc(var(--pCell-border-bottom) / 390 * 100vw);
    padding-inline: calc(var(--pCell-padding-inline-sp) / 390 * 100vw);
    font-size: calc(var(--pCell-font-size-sp) / 390 * 100vw);
    min-width: calc(var(--pCell-min-width) / 390 * 100vw);
    line-height: 140%;
    padding-block: calc(var(--pCell-padding-block-sp-narrow) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .component.type_table .inner .table_set.narrow table th, .component.type_table .inner .table_set.narrow table td {
      font-size: min(calc(var(--pCell-font-size-pc) * 1px), calc(var(--pCell-font-size-pc) / 1440 * 100vw));
      padding-inline: min(calc(var(--pCell-padding-inline-pc) * 1px), calc(var(--pCell-padding-inline-pc) / 1440 * 100vw));
      min-width: unset;
      border-left-width: min(calc(var(--pCell-border-left) * 1px), calc(var(--pCell-border-left) / 1440 * 100vw));
      border-top-width: min(calc(var(--pCell-border-top) * 1px), calc(var(--pCell-border-top) / 1440 * 100vw));
      border-right-width: min(calc(var(--pCell-border-right) * 1px), calc(var(--pCell-border-right) / 1440 * 100vw));
      border-bottom-width: min(calc(var(--pCell-border-bottom) * 1px), calc(var(--pCell-border-bottom) / 1440 * 100vw));
    }
  }
  .component.type_table .inner .table_set.narrow table th a, .component.type_table .inner .table_set.narrow table td a {
    text-decoration: underline;
  }
  @media (any-hover: hover) {
    .component.type_table .inner .table_set.narrow table th a:hover, .component.type_table .inner .table_set.narrow table td a:hover {
      text-decoration: none;
    }
  }
  @media print, screen and (min-width: 768px) {
    .component.type_table .inner .table_set.narrow table th, .component.type_table .inner .table_set.narrow table td {
      padding-block: min(calc(var(--pCell-padding-block-pc-narrow) * 1px), calc(var(--pCell-padding-block-pc-narrow) / 1440 * 100vw));
    }
  }
  @media print, screen and (min-width: 768px) {
    .component.type_table .inner .table_set.fixed table {
      table-layout: fixed;
    }
  }
  @media print, screen and (min-width: 768px) {
    .component.type_table .inner .table_set.fixed table th, .component.type_table .inner .table_set.fixed table td {
      width: auto;
    }
  }
  .component.type_table .inner .table_set.fix_left table th {
    position: sticky;
    left: 0;
  }
  .component.type_table .inner .table_set.zebra table tr:nth-child(odd) th, .component.type_table .inner .table_set.zebra table tr:nth-child(odd) td {
    border-style: solid;
    border-left-width: calc(var(--pCell-border-left) / 390 * 100vw);
    border-top-width: calc(var(--pCell-border-top) / 390 * 100vw);
    border-right-width: calc(var(--pCell-border-right) / 390 * 100vw);
    border-bottom-width: calc(var(--pCell-border-bottom) / 390 * 100vw);
    padding-inline: calc(var(--pCell-padding-inline-sp) / 390 * 100vw);
    font-size: calc(var(--pCell-font-size-sp) / 390 * 100vw);
    min-width: calc(var(--pCell-min-width) / 390 * 100vw);
    line-height: 140%;
    background-color: var(--pCell-zebra-background);
    color: var(--pCell-zebra-color);
    padding-block: calc(var(--pCell-padding-block-sp) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .component.type_table .inner .table_set.zebra table tr:nth-child(odd) th, .component.type_table .inner .table_set.zebra table tr:nth-child(odd) td {
      font-size: min(calc(var(--pCell-font-size-pc) * 1px), calc(var(--pCell-font-size-pc) / 1440 * 100vw));
      padding-inline: min(calc(var(--pCell-padding-inline-pc) * 1px), calc(var(--pCell-padding-inline-pc) / 1440 * 100vw));
      min-width: unset;
      border-left-width: min(calc(var(--pCell-border-left) * 1px), calc(var(--pCell-border-left) / 1440 * 100vw));
      border-top-width: min(calc(var(--pCell-border-top) * 1px), calc(var(--pCell-border-top) / 1440 * 100vw));
      border-right-width: min(calc(var(--pCell-border-right) * 1px), calc(var(--pCell-border-right) / 1440 * 100vw));
      border-bottom-width: min(calc(var(--pCell-border-bottom) * 1px), calc(var(--pCell-border-bottom) / 1440 * 100vw));
    }
  }
  .component.type_table .inner .table_set.zebra table tr:nth-child(odd) th a, .component.type_table .inner .table_set.zebra table tr:nth-child(odd) td a {
    text-decoration: underline;
  }
  @media (any-hover: hover) {
    .component.type_table .inner .table_set.zebra table tr:nth-child(odd) th a:hover, .component.type_table .inner .table_set.zebra table tr:nth-child(odd) td a:hover {
      text-decoration: none;
    }
  }
  @media print, screen and (min-width: 768px) {
    .component.type_table .inner .table_set.zebra table tr:nth-child(odd) th, .component.type_table .inner .table_set.zebra table tr:nth-child(odd) td {
      padding-block: min(calc(var(--pCell-padding-block-pc) * 1px), calc(var(--pCell-padding-block-pc) / 1440 * 100vw));
    }
  }
  .component.type_table .inner .table_set table {
    border-collapse: collapse;
    width: 100%;
  }
  .component.type_table .inner .table_set table tr:has(td) th {
    width: 25%;
  }
  .component.type_table .inner .table_set table th {
    border-style: solid;
    border-left-width: calc(var(--pCell-border-left) / 390 * 100vw);
    border-top-width: calc(var(--pCell-border-top) / 390 * 100vw);
    border-right-width: calc(var(--pCell-border-right) / 390 * 100vw);
    border-bottom-width: calc(var(--pCell-border-bottom) / 390 * 100vw);
    padding-inline: calc(var(--pCell-padding-inline-sp) / 390 * 100vw);
    font-size: calc(var(--pCell-font-size-sp) / 390 * 100vw);
    min-width: calc(var(--pCell-min-width) / 390 * 100vw);
    line-height: 140%;
    color: var(--pCell-header-color);
    font-weight: var(--pCell-header-font-weight);
    border-color: var(--pCell-header-border-color);
    background-color: var(--pCell-header-background);
    padding-block: calc(var(--pCell-padding-block-sp) / 390 * 100vw);
    text-align: center;
  }
  @media print, screen and (min-width: 768px) {
    .component.type_table .inner .table_set table th {
      font-size: min(calc(var(--pCell-font-size-pc) * 1px), calc(var(--pCell-font-size-pc) / 1440 * 100vw));
      padding-inline: min(calc(var(--pCell-padding-inline-pc) * 1px), calc(var(--pCell-padding-inline-pc) / 1440 * 100vw));
      min-width: unset;
      border-left-width: min(calc(var(--pCell-border-left) * 1px), calc(var(--pCell-border-left) / 1440 * 100vw));
      border-top-width: min(calc(var(--pCell-border-top) * 1px), calc(var(--pCell-border-top) / 1440 * 100vw));
      border-right-width: min(calc(var(--pCell-border-right) * 1px), calc(var(--pCell-border-right) / 1440 * 100vw));
      border-bottom-width: min(calc(var(--pCell-border-bottom) * 1px), calc(var(--pCell-border-bottom) / 1440 * 100vw));
    }
  }
  .component.type_table .inner .table_set table th a {
    text-decoration: underline;
  }
  @media (any-hover: hover) {
    .component.type_table .inner .table_set table th a:hover {
      text-decoration: none;
    }
  }
  @media print, screen and (min-width: 768px) {
    .component.type_table .inner .table_set table th {
      padding-block: min(calc(var(--pCell-padding-block-pc) * 1px), calc(var(--pCell-padding-block-pc) / 1440 * 100vw));
    }
  }
  .component.type_table .inner .table_set table td ol {
    list-style: decimal;
    padding-left: 1em;
  }
  .component.type_table .inner .table_set table td ul {
    list-style: disc;
    padding-left: 1em;
  }
  .component.type_button {
    margin-top: calc(var(--cButton-margin-top-sp) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .component.type_button {
      margin-top: min(calc(var(--cButton-margin-top-pc) * 1px), calc(var(--cButton-margin-top-pc) / 1440 * 100vw));
    }
  }
  .component.type_button .inner {
    padding-left: calc(var(--container-padding-sp) / 390 * 100vw);
    padding-right: calc(var(--container-padding-sp) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .component.type_button .inner {
      padding-left: unset;
      padding-right: unset;
      margin-inline: auto;
      width: min(1026px, calc(1026 / 1440 * 100vw));
    }
  }
  .component.type_button .inner ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: calc(var(--cButton-gap-col-sp) / 390 * 100vw) calc(var(--cButton-gap-row-sp) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .component.type_button .inner ul {
      gap: min(calc(var(--cButton-gap-col-pc) * 1px), calc(var(--cButton-gap-col-pc) / 1440 * 100vw)) min(calc(var(--cButton-gap-row-pc) * 1px), calc(var(--cButton-gap-row-pc) / 1440 * 100vw));
    }
  }
  .component.type_anchor {
    margin-top: calc(var(--margin-section) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .component.type_anchor {
      margin-top: min(calc(var(--margin-section-pc) * 1px), calc(var(--margin-section-pc) / 1440 * 100vw));
    }
  }
  .component.type_anchor .inner {
    padding-left: calc(var(--container-padding-sp) / 390 * 100vw);
    padding-right: calc(var(--container-padding-sp) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .component.type_anchor .inner {
      padding-left: unset;
      padding-right: unset;
      margin-inline: auto;
      width: min(1026px, calc(1026 / 1440 * 100vw));
    }
  }
  .component.type_anchor .inner ul {
    display: flex;
    justify-content: flex-start;
    flex-wrap: wrap;
    gap: calc(8 / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .component.type_anchor .inner ul {
      gap: min(12px, calc(12 / 1440 * 100vw));
    }
  }
  .component.type_anchor .inner ul li {
    position: relative;
  }
  .component.type_num {
    margin-top: calc(var(--margin-section) / 390 * 100vw);
    background-color: #E2F3F8;
    padding-top: 30px;
    padding-bottom: 30px;
  }
  @media print, screen and (min-width: 768px) {
    .component.type_num {
      margin-top: min(calc(var(--margin-section-pc) * 1px), calc(var(--margin-section-pc) / 1440 * 100vw));
    }
  }
  @media print, screen and (min-width: 768px) {
    .component.type_num {
      padding-top: 40px;
      padding-bottom: 50px;
    }
  }
  @media print, screen and (min-width: 768px) {
    .component.type_num.set2 .inner {
      gap: 80px;
    }
  }
  @media print, screen and (min-width: 768px) {
    .component.type_num.set3 .inner {
      gap: 35px;
    }
  }
  @media print, screen and (min-width: 768px) {
    .component.type_num.set3 .inner, .component.type_num.set4 .inner {
      gap: 20px;
    }
  }
  @media print, screen and (min-width: 768px) {
    .component.type_num.set3 .inner .unit .circle, .component.type_num.set4 .inner .unit .circle {
      width: 230px;
      height: 230px;
    }
  }
  @media print, screen and (min-width: 768px) {
    .component.type_num.set3 .inner .unit .circle dl dt, .component.type_num.set4 .inner .unit .circle dl dt {
      top: 40px;
      padding: 0 35px;
    }
  }
  @media print, screen and (min-width: 768px) {
    .component.type_num.set3 .inner .unit .circle dl dd, .component.type_num.set4 .inner .unit .circle dl dd {
      top: 80px;
      display: flex;
      justify-content: center;
      align-items: flex-end;
    }
  }
  @media print, screen and (min-width: 768px) {
    .component.type_num.set3 .inner .unit .circle dl dd span, .component.type_num.set4 .inner .unit .circle dl dd span {
      margin: 0 0 8px 6px;
    }
  }
  .component.type_num .inner {
    padding-left: calc(var(--container-padding-sp) / 390 * 100vw);
    padding-right: calc(var(--container-padding-sp) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .component.type_num .inner {
      padding-left: unset;
      padding-right: unset;
      margin-inline: auto;
      width: min(1026px, calc(1026 / 1440 * 100vw));
    }
  }
  @media print, screen and (min-width: 768px) {
    .component.type_num .inner {
      display: flex;
      justify-content: center;
      gap: 20px;
    }
  }
  .component.type_num .inner .unit {
    margin-top: 50px;
  }
  @media print, screen and (min-width: 768px) {
    .component.type_num .inner .unit {
      margin-top: 0;
    }
  }
  .component.type_num .inner .unit:first-of-type {
    margin-top: 0;
  }
  .component.type_num .inner .unit .circle {
    width: 300px;
    height: 300px;
    text-align: center;
    background-color: var(--color-surface);
    margin: 0 auto;
    border-radius: 50%;
    position: relative;
  }
  @media print, screen and (min-width: 768px) {
    .component.type_num .inner .unit .circle {
      width: 320px;
      height: 320px;
    }
  }
  .component.type_num .inner .unit .circle dl dt {
    font-size: calc(18 / 390 * 100vw);
    position: absolute;
    top: 70px;
    padding: 0 30px;
    width: 100%;
    text-align: center;
  }
  .component.type_num .inner .unit .circle dl dd {
    position: absolute;
    top: 110px;
    width: 100%;
    color: var(--color-brand);
    font-weight: var(--font-weight-bold);
    letter-spacing: 0;
  }
  @media print, screen and (min-width: 768px) {
    .component.type_num .inner .unit .circle dl dd {
      top: 120px;
    }
  }
  .component.type_num .inner .unit .circle dl dd em {
    font-size: calc(70 / 390 * 100vw);
    display: block;
  }
  @media print, screen and (min-width: 768px) {
    .component.type_num .inner .unit .circle dl dd em {
      font-size: min(80px, calc(80 / 1440 * 100vw));
    }
  }
  .component.type_num .inner .unit .circle dl dd span {
    font-size: calc(24 / 390 * 100vw);
    display: block;
    margin-top: 25px;
  }
  .component.type_num .inner .unit .desc {
    font-size: calc(13 / 390 * 100vw);
    margin-top: 15px;
  }
  @media print, screen and (min-width: 768px) {
    .component.type_num .inner .unit .desc {
      margin-top: 20px;
      font-size: min(15px, calc(15 / 1440 * 100vw));
    }
  }
  .component.type_wysiwyg {
    margin-top: calc(var(--margin-top-2) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .component.type_wysiwyg {
      margin-top: min(calc(var(--margin-top-3) * 1px), calc(var(--margin-top-3) / 1440 * 100vw));
    }
  }
  .component.type_wysiwyg .inner {
    padding-left: calc(var(--container-padding-sp) / 390 * 100vw);
    padding-right: calc(var(--container-padding-sp) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .component.type_wysiwyg .inner {
      padding-left: unset;
      padding-right: unset;
      margin-inline: auto;
      width: min(1026px, calc(1026 / 1440 * 100vw));
    }
  }
  .component.type_catalog {
    margin-top: calc(var(--cCatalog-margin-top-sp) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .component.type_catalog {
      margin-top: min(calc(var(--cCatalog-margin-top-pc) * 1px), calc(var(--cCatalog-margin-top-pc) / 1440 * 100vw));
    }
  }
  .component.type_catalog .inner {
    padding-left: calc(var(--container-padding-sp) / 390 * 100vw);
    padding-right: calc(var(--container-padding-sp) / 390 * 100vw);
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    gap: calc(var(--cCatalog-gap-row-sp) / 390 * 100vw) 0;
  }
  @media print, screen and (min-width: 768px) {
    .component.type_catalog .inner {
      padding-left: unset;
      padding-right: unset;
      margin-inline: auto;
      width: min(1026px, calc(1026 / 1440 * 100vw));
    }
  }
  @media print, screen and (min-width: 768px) {
    .component.type_catalog .inner {
      grid-template-columns: repeat(3, 1fr);
      gap: min(calc(var(--cCatalog-gap-row-pc) * 1px), calc(var(--cCatalog-gap-row-pc) / 1440 * 100vw)) min(calc(var(--cCatalog-gap-col-pc) * 1px), calc(var(--cCatalog-gap-col-pc) / 1440 * 100vw));
    }
  }
  .component.type_filelist {
    margin-top: calc(var(--cFilelist-margin-top-sp) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .component.type_filelist {
      margin-top: min(calc(var(--cFilelist-margin-top-pc) * 1px), calc(var(--cFilelist-margin-top-pc) / 1440 * 100vw));
    }
  }
  .component.type_filelist .inner {
    padding-left: calc(var(--container-padding-sp) / 390 * 100vw);
    padding-right: calc(var(--container-padding-sp) / 390 * 100vw);
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: calc(var(--cFilelist-gap-row-sp) / 390 * 100vw) calc(var(--cFilelist-gap-col-sp) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .component.type_filelist .inner {
      padding-left: unset;
      padding-right: unset;
      margin-inline: auto;
      width: min(1026px, calc(1026 / 1440 * 100vw));
    }
  }
  @media print, screen and (min-width: 768px) {
    .component.type_filelist .inner {
      gap: min(calc(var(--cFilelist-gap-row-pc) * 1px), calc(var(--cFilelist-gap-row-pc) / 1440 * 100vw)) min(calc(var(--cFilelist-gap-col-pc) * 1px), calc(var(--cFilelist-gap-col-pc) / 1440 * 100vw));
    }
  }
  .component.type_faq {
    margin-top: calc(var(--cFaq-margin-top-sp) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .component.type_faq {
      margin-top: min(calc(var(--cFaq-margin-top-pc) * 1px), calc(var(--cFaq-margin-top-pc) / 1440 * 100vw));
    }
  }
  .component.type_faq .inner {
    padding-left: calc(var(--container-padding-sp) / 390 * 100vw);
    padding-right: calc(var(--container-padding-sp) / 390 * 100vw);
    display: grid;
    grid-auto-flow: row;
    gap: calc(var(--cFaq-gap-sp) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .component.type_faq .inner {
      padding-left: unset;
      padding-right: unset;
      margin-inline: auto;
      width: min(1026px, calc(1026 / 1440 * 100vw));
    }
  }
  @media print, screen and (min-width: 768px) {
    .component.type_faq .inner {
      gap: min(calc(var(--cFaq-gap-pc) * 1px), calc(var(--cFaq-gap-pc) / 1440 * 100vw));
    }
  }
  .component.type_member {
    margin-top: calc(var(--cMember-margin-top-sp) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .component.type_member {
      margin-top: min(calc(var(--cMember-margin-top-pc) * 1px), calc(var(--cMember-margin-top-pc) / 1440 * 100vw));
    }
  }
  .component.type_member .inner {
    padding-left: calc(var(--container-padding-sp) / 390 * 100vw);
    padding-right: calc(var(--container-padding-sp) / 390 * 100vw);
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    grid-template-rows: repeat(1, auto);
    gap: calc(var(--cMember-gap-row-sp) / 390 * 100vw) 0;
  }
  @media print, screen and (min-width: 768px) {
    .component.type_member .inner {
      padding-left: unset;
      padding-right: unset;
      margin-inline: auto;
      width: min(1026px, calc(1026 / 1440 * 100vw));
    }
  }
  @media print, screen and (min-width: 768px) {
    .component.type_member .inner {
      grid-template-columns: repeat(3, 1fr);
      gap: min(calc(var(--cMember-gap-row-pc) * 1px), calc(var(--cMember-gap-row-pc) / 1440 * 100vw)) min(calc(var(--cMember-gap-col-pc) * 1px), calc(var(--cMember-gap-col-pc) / 1440 * 100vw));
    }
  }
  .component.type_iframe {
    margin-top: calc(var(--margin-top-2) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .component.type_iframe {
      margin-top: min(calc(var(--margin-top-3) * 1px), calc(var(--margin-top-3) / 1440 * 100vw));
    }
  }
  .component.type_iframe .inner {
    padding-left: calc(var(--container-padding-sp) / 390 * 100vw);
    padding-right: calc(var(--container-padding-sp) / 390 * 100vw);
    text-align: center;
  }
  @media print, screen and (min-width: 768px) {
    .component.type_iframe .inner {
      padding-left: unset;
      padding-right: unset;
      margin-inline: auto;
      width: min(1026px, calc(1026 / 1440 * 100vw));
    }
  }
  .component.type_iframe .inner iframe {
    max-width: 100%;
    width: 100%;
  }
  .navigation.breadcrumbs, .breadcrumbs.component.type_pagelist {
    margin-top: calc(var(--nBreadcrumbs-margin-top-sp) / 390 * 100vw);
    padding-bottom: calc(var(--nBreadcrumbs-padding-bottom-sp) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .navigation.breadcrumbs, .breadcrumbs.component.type_pagelist {
      margin-top: min(calc(var(--nBreadcrumbs-margin-top-pc) * 1px), calc(var(--nBreadcrumbs-margin-top-pc) / 1440 * 100vw));
      padding-bottom: min(calc(var(--nBreadcrumbs-padding-bottom-pc) * 1px), calc(var(--nBreadcrumbs-padding-bottom-pc) / 1440 * 100vw));
    }
  }
  .navigation.breadcrumbs .inner, .breadcrumbs.component.type_pagelist .inner {
    padding-left: calc(var(--container-padding-sp) / 390 * 100vw);
    padding-right: calc(var(--container-padding-sp) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .navigation.breadcrumbs .inner, .breadcrumbs.component.type_pagelist .inner {
      padding-left: unset;
      padding-right: unset;
      margin-inline: auto;
      width: min(1240px, calc(1240 / 1440 * 100vw));
    }
  }
  .navigation.breadcrumbs .inner ul, .breadcrumbs.component.type_pagelist .inner ul {
    display: flex;
    justify-content: flex-start;
    flex-wrap: wrap;
    gap: calc(var(--nBreadcrumbs-gap-sp) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .navigation.breadcrumbs .inner ul, .breadcrumbs.component.type_pagelist .inner ul {
      gap: min(calc(var(--nBreadcrumbs-gap-pc) * 1px), calc(var(--nBreadcrumbs-gap-pc) / 1440 * 100vw));
    }
  }
  .navigation.breadcrumbs .inner ul .pBreadcrumbsText:first-child, .breadcrumbs.component.type_pagelist .inner ul .pBreadcrumbsText:first-child {
    display: inline-block;
  }
  .navigation.breadcrumbs .inner ul .pBreadcrumbsText:first-child::before, .breadcrumbs.component.type_pagelist .inner ul .pBreadcrumbsText:first-child::before {
    content: unset;
  }
  .navigation.pagination, .pagination.component.type_pagelist {
    margin-top: calc(var(--nPagination-margin-top-sp) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .navigation.pagination, .pagination.component.type_pagelist {
      margin-top: min(calc(var(--nPagination-margin-top-pc) * 1px), calc(var(--nPagination-margin-top-pc) / 1440 * 100vw));
    }
  }
  .navigation.pagination .inner, .pagination.component.type_pagelist .inner {
    padding-left: calc(var(--container-padding-sp) / 390 * 100vw);
    padding-right: calc(var(--container-padding-sp) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .navigation.pagination .inner, .pagination.component.type_pagelist .inner {
      padding-left: unset;
      padding-right: unset;
      margin-inline: auto;
      width: min(1026px, calc(1026 / 1440 * 100vw));
    }
  }
  .navigation.pagination .inner ul, .pagination.component.type_pagelist .inner ul {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    gap: calc(var(--nPagination-gap-sp) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .navigation.pagination .inner ul, .pagination.component.type_pagelist .inner ul {
      gap: min(calc(var(--nPagination-gap-pc) * 1px), calc(var(--nPagination-gap-pc) / 1440 * 100vw));
    }
  }
  .navigation.paginationdetail, .paginationdetail.component.type_pagelist {
    margin-top: calc(var(--nPaginationDetail-margin-top-sp) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .navigation.paginationdetail, .paginationdetail.component.type_pagelist {
      margin-top: min(calc(var(--nPaginationDetail-margin-top-pc) * 1px), calc(var(--nPaginationDetail-margin-top-pc) / 1440 * 100vw));
    }
  }
  .navigation.paginationdetail .inner, .paginationdetail.component.type_pagelist .inner {
    padding-left: calc(var(--container-padding-sp) / 390 * 100vw);
    padding-right: calc(var(--container-padding-sp) / 390 * 100vw);
    position: relative;
    display: grid;
    justify-items: center;
    gap: calc(var(--nPaginationDetail-gap-sp) / 390 * 100vw);
    grid-template: "prev next" auto "back back" auto/1fr 1fr;
  }
  @media print, screen and (min-width: 768px) {
    .navigation.paginationdetail .inner, .paginationdetail.component.type_pagelist .inner {
      padding-left: unset;
      padding-right: unset;
      margin-inline: auto;
      width: min(1026px, calc(1026 / 1440 * 100vw));
    }
  }
  @media print, screen and (min-width: 768px) {
    .navigation.paginationdetail .inner, .paginationdetail.component.type_pagelist .inner {
      grid-template: "prev back next" auto/1fr auto 1fr;
      justify-content: center;
      gap: min(calc(var(--nPaginationDetail-gap-pc) * 1px), calc(var(--nPaginationDetail-gap-pc) / 1440 * 100vw));
    }
  }
  .navigation.paginationdetail .inner .prev, .paginationdetail.component.type_pagelist .inner .prev {
    -ms-grid-row: 1;
    -ms-grid-column: 1;
    grid-area: prev;
  }
  @media print, screen and (min-width: 768px) {
    .navigation.paginationdetail .inner .prev, .paginationdetail.component.type_pagelist .inner .prev {
      justify-self: end;
    }
  }
  .navigation.paginationdetail .inner .back, .paginationdetail.component.type_pagelist .inner .back {
    -ms-grid-row: 3;
    -ms-grid-column: 1;
    -ms-grid-column-span: 3;
    grid-area: back;
  }
  .navigation.paginationdetail .inner .next, .paginationdetail.component.type_pagelist .inner .next {
    -ms-grid-row: 1;
    -ms-grid-column: 3;
    grid-area: next;
  }
  @media print, screen and (min-width: 768px) {
    .navigation.paginationdetail .inner .next, .paginationdetail.component.type_pagelist .inner .next {
      justify-self: start;
    }
  }
  .navigation.localnavtop, .localnavtop.component.type_pagelist {
    border-top-width: calc(var(--nLocalnavTop-border-top-width) / 390 * 100vw);
    border-bottom-width: calc(var(--nLocalnavTop-border-bottom-width) / 390 * 100vw);
    border-style: solid;
    border-color: var(--nLocalnavTop-border-color);
    background-color: var(--nLocalnavTop-background-color);
  }
  @media print, screen and (min-width: 768px) {
    .navigation.localnavtop, .localnavtop.component.type_pagelist {
      border-top-width: min(calc(var(--nLocalnavTop-border-top-width) * 1px), calc(var(--nLocalnavTop-border-top-width) / 1440 * 100vw));
      border-bottom-width: min(calc(var(--nLocalnavTop-border-bottom-width) * 1px), calc(var(--nLocalnavTop-border-bottom-width) / 1440 * 100vw));
    }
  }
  .navigation.localnavtop .inner .overflow, .localnavtop.component.type_pagelist .inner .overflow {
    overflow: auto;
  }
  @media print, screen and (min-width: 768px) {
    .navigation.localnavtop .inner .overflow, .localnavtop.component.type_pagelist .inner .overflow {
      overflow: visible;
    }
  }
  .navigation.localnavtop .inner .overflow ul, .localnavtop.component.type_pagelist .inner .overflow ul {
    display: flex;
    justify-content: flex-start;
    gap: calc(var(--nLocalnavTop-gap-sp) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .navigation.localnavtop .inner .overflow ul, .localnavtop.component.type_pagelist .inner .overflow ul {
      gap: min(calc(var(--nLocalnavTop-gap-pc) * 1px), calc(var(--nLocalnavTop-gap-pc) / 1440 * 100vw));
      justify-content: center;
      flex-wrap: wrap;
    }
  }
  .navigation.localnavtop .inner .overflow ul li, .localnavtop.component.type_pagelist .inner .overflow ul li {
    white-space: nowrap;
    position: relative;
    display: grid;
    grid-template-columns: auto auto;
    align-items: center;
    gap: calc(var(--nLocalnavTop-gap-sp) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .navigation.localnavtop .inner .overflow ul li, .localnavtop.component.type_pagelist .inner .overflow ul li {
      gap: min(calc(var(--nLocalnavTop-gap-pc) * 1px), calc(var(--nLocalnavTop-gap-pc) / 1440 * 100vw));
    }
  }
  .navigation.localnavtop .inner .overflow ul li::after, .localnavtop.component.type_pagelist .inner .overflow ul li::after {
    content: "";
    display: block;
  }
  .navigation.localnavtop .inner .overflow ul li:last-child::after, .localnavtop.component.type_pagelist .inner .overflow ul li:last-child::after {
    content: none;
  }
  .navigation.localnav_sub, .localnav_sub.component.type_pagelist {
    margin-top: calc(var(--nLocalnavSub-margin-top-sp) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .navigation.localnav_sub, .localnav_sub.component.type_pagelist {
      margin-top: min(calc(var(--nLocalnavSub-margin-top-pc) * 1px), calc(var(--nLocalnavSub-margin-top-pc) / 1440 * 100vw));
    }
  }
  .navigation.localnav_sub .inner, .localnav_sub.component.type_pagelist .inner {
    padding-left: calc(var(--container-padding-sp) / 390 * 100vw);
    padding-right: calc(var(--container-padding-sp) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .navigation.localnav_sub .inner, .localnav_sub.component.type_pagelist .inner {
      padding-left: unset;
      padding-right: unset;
      margin-inline: auto;
      width: min(1026px, calc(1026 / 1440 * 100vw));
    }
  }
  .navigation.localnav_sub .inner ul, .localnav_sub.component.type_pagelist .inner ul {
    display: flex;
    flex-wrap: wrap;
    gap: calc(var(--nLocalnavSub-gap-row-sp) / 390 * 100vw) calc(var(--nLocalnavSub-gap-col-sp) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .navigation.localnav_sub .inner ul, .localnav_sub.component.type_pagelist .inner ul {
      gap: min(calc(var(--nLocalnavSub-gap-row-pc) * 1px), calc(var(--nLocalnavSub-gap-row-pc) / 1440 * 100vw)) min(calc(var(--nLocalnavSub-gap-col-pc) * 1px), calc(var(--nLocalnavSub-gap-col-pc) / 1440 * 100vw));
    }
  }
  .navigation.localnav_bottom, .localnav_bottom.component.type_pagelist {
    display: none;
    margin-top: calc(var(--nLocalnavBottom-margin-top-sp) / 390 * 100vw);
    background-color: var(--nLocalnavBottom-background-color);
  }
  @media print, screen and (min-width: 768px) {
    .navigation.localnav_bottom, .localnav_bottom.component.type_pagelist {
      margin-top: min(calc(var(--nLocalnavBottom-margin-top-pc) * 1px), calc(var(--nLocalnavBottom-margin-top-pc) / 1440 * 100vw));
    }
  }
  .navigation.localnav_bottom .inner, .localnav_bottom.component.type_pagelist .inner {
    padding-left: calc(var(--container-padding-sp) / 390 * 100vw);
    padding-right: calc(var(--container-padding-sp) / 390 * 100vw);
    padding-block: calc(var(--nLocalnavBottom-padding-block-sp) / 390 * 100vw);
    display: grid;
    grid-auto-flow: row;
    gap: calc(var(--nLocalnavBottom-gap-sp) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .navigation.localnav_bottom .inner, .localnav_bottom.component.type_pagelist .inner {
      padding-left: unset;
      padding-right: unset;
      margin-inline: auto;
      width: min(1026px, calc(1026 / 1440 * 100vw));
    }
  }
  @media print, screen and (min-width: 768px) {
    .navigation.localnav_bottom .inner, .localnav_bottom.component.type_pagelist .inner {
      padding-block: min(calc(var(--nLocalnavBottom-padding-block-pc) * 1px), calc(var(--nLocalnavBottom-padding-block-pc) / 1440 * 100vw));
      gap: min(calc(var(--nLocalnavBottom-gap-pc) * 1px), calc(var(--nLocalnavBottom-gap-pc) / 1440 * 100vw));
    }
  }
  .navigation.archivenav, .archivenav.component.type_pagelist {
    margin-top: calc(var(--nArchivenav-margin-top-sp) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .navigation.archivenav, .archivenav.component.type_pagelist {
      margin-top: min(calc(var(--nArchivenav-margin-top-pc) * 1px), calc(var(--nArchivenav-margin-top-pc) / 1440 * 100vw));
    }
  }
  .navigation.archivenav .inner, .archivenav.component.type_pagelist .inner {
    padding-left: calc(var(--container-padding-sp) / 390 * 100vw);
    padding-right: calc(var(--container-padding-sp) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .navigation.archivenav .inner, .archivenav.component.type_pagelist .inner {
      padding-left: unset;
      padding-right: unset;
      margin-inline: auto;
      width: min(1026px, calc(1026 / 1440 * 100vw));
    }
  }
  .navigation.archivenav .inner .overflow, .archivenav.component.type_pagelist .inner .overflow {
    overflow: auto;
  }
  @media print, screen and (min-width: 768px) {
    .navigation.archivenav .inner .overflow, .archivenav.component.type_pagelist .inner .overflow {
      overflow: visible;
    }
  }
  .navigation.archivenav .inner .overflow ul, .archivenav.component.type_pagelist .inner .overflow ul {
    display: flex;
    justify-content: flex-start;
    gap: calc(var(--nArchivenav-gap-row-sp) / 390 * 100vw) calc(var(--nArchivenav-gap-col-sp) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .navigation.archivenav .inner .overflow ul, .archivenav.component.type_pagelist .inner .overflow ul {
      flex-wrap: wrap;
      gap: min(calc(var(--nArchivenav-gap-row-pc) * 1px), calc(var(--nArchivenav-gap-row-pc) / 1440 * 100vw)) min(calc(var(--nArchivenav-gap-col-pc) * 1px), calc(var(--nArchivenav-gap-col-pc) / 1440 * 100vw));
    }
  }
  .navigation.newslist, .newslist.component.type_pagelist {
    margin-top: calc(var(--cNewsList-margin-top-sp) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .navigation.newslist, .newslist.component.type_pagelist {
      margin-top: min(calc(var(--cNewsList-margin-top-pc) * 1px), calc(var(--cNewsList-margin-top-pc) / 1440 * 100vw));
    }
  }
  .navigation.newslist .inner, .newslist.component.type_pagelist .inner {
    padding-left: calc(var(--container-padding-sp) / 390 * 100vw);
    padding-right: calc(var(--container-padding-sp) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .navigation.newslist .inner, .newslist.component.type_pagelist .inner {
      padding-left: unset;
      padding-right: unset;
      margin-inline: auto;
      width: min(1026px, calc(1026 / 1440 * 100vw));
    }
  }
  .navigation.articlelist, .component.type_pagelist {
    margin-top: calc(var(--nArticleList-margin-top-sp) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .navigation.articlelist, .component.type_pagelist {
      margin-top: min(calc(var(--nArticleList-margin-top-pc) * 1px), calc(var(--nArticleList-margin-top-pc) / 1440 * 100vw));
    }
  }
  .navigation.articlelist .inner, .component.type_pagelist .inner {
    padding-left: calc(var(--container-padding-sp) / 390 * 100vw);
    padding-right: calc(var(--container-padding-sp) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .navigation.articlelist .inner, .component.type_pagelist .inner {
      padding-left: unset;
      padding-right: unset;
      margin-inline: auto;
      width: min(1026px, calc(1026 / 1440 * 100vw));
    }
  }
  .navigation.articlelist .inner .list, .component.type_pagelist .inner .list {
    display: grid;
    grid-template-columns: repeat(1, 100%);
    gap: calc(var(--nArticleList-gap-row-sp) / 390 * 100vw) 0;
  }
  @media print, screen and (min-width: 768px) {
    .navigation.articlelist .inner .list, .component.type_pagelist .inner .list {
      grid-template-columns: repeat(2, 1fr);
      gap: min(calc(var(--nArticleList-gap-row-pc) * 1px), calc(var(--nArticleList-gap-row-pc) / 1440 * 100vw)) min(calc(var(--nArticleList-gap-col-pc) * 1px), calc(var(--nArticleList-gap-col-pc) / 1440 * 100vw));
    }
  }
  @media print, screen and (min-width: 768px) {
    .article-wrapper {
      margin-top: min(calc(var(--fArticle-margin-top) * 1px), calc(var(--fArticle-margin-top) / 1440 * 100vw));
      padding-left: calc(var(--container-padding-sp) / 390 * 100vw);
      padding-right: calc(var(--container-padding-sp) / 390 * 100vw);
      position: relative;
      display: grid;
      grid-template: "contents nav" auto/1fr min(calc(var(--fArticle-nav-width) * 1px), calc(var(--fArticle-nav-width) / 1440 * 100vw));
      align-items: start;
      gap: min(calc(var(--fArticle-gap) * 1px), calc(var(--fArticle-gap) / 1440 * 100vw));
      position: relative;
      z-index: 1;
    }
  }
  @media print, screen and (min-width: 768px) and (min-width: 768px) {
    .article-wrapper {
      padding-left: unset;
      padding-right: unset;
      margin-inline: auto;
      width: min(1240px, calc(1240 / 1440 * 100vw));
    }
  }
  .article-wrapper .article-nav {
    margin-top: calc(var(--cArticleNav-margin-top-sp) / 390 * 100vw);
    padding-inline: calc(var(--container-padding-sp) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .article-wrapper .article-nav {
      -ms-grid-row: 1;
      -ms-grid-column: 3;
      position: sticky;
      top: min(calc(var(--fArticle-margin-top) * 1px), calc(var(--fArticle-margin-top) / 1440 * 100vw));
      grid-area: nav;
      margin-top: unset;
      padding-inline: unset;
    }
  }
  .article-wrapper .article-nav ul {
    border-top-width: calc(var(--cArticleNav-border-top-width) / 390 * 100vw);
    border-top-style: solid;
    border-top-color: var(--cArticleNav-border-top-color);
  }
  @media print, screen and (min-width: 768px) {
    .article-wrapper .article-nav ul {
      border-top-width: min(calc(var(--cArticleNav-border-top-width) * 1px), calc(var(--cArticleNav-border-top-width) / 1440 * 100vw));
    }
  }
  @media print, screen and (min-width: 768px) {
    .article-wrapper .article-contents {
      -ms-grid-row: 2;
      -ms-grid-column: 1;
      grid-area: contents;
      padding-top: unset;
    }
    .article-wrapper .article-contents > *:first-child {
      margin-top: unset !important;
      padding-top: unset !important;
    }
    .article-wrapper .article-contents > a:first-child + * {
      margin-top: unset !important;
      padding-top: unset !important;
    }
    .article-wrapper .article-contents .container,
.article-wrapper .article-contents .inner,
.article-wrapper .article-contents .component.type_table,
.article-wrapper .article-contents .component.type_catchcopy_image_bg,
.article-wrapper .article-contents .component.type_conversion,
.article-wrapper .article-contents .m_taglist {
      width: unset !important;
      margin-inline: unset;
    }
  }
  /**
   * 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 uniq {
  .pHeadingLarge {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: calc(12 / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .pHeadingLarge {
      gap: min(16px, calc(16 / 1440 * 100vw));
    }
  }
  .pHeadingLarge::before {
    content: "";
    display: block;
    width: calc(16 / 390 * 100vw);
    height: calc(4 / 390 * 100vw);
    background-color: var(--color-brand);
    translate: 0 calc(11 / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .pHeadingLarge::before {
      width: min(24px, calc(24 / 1440 * 100vw));
      height: min(4px, calc(4 / 1440 * 100vw));
      translate: 0 min(19px, calc(19 / 1440 * 100vw));
    }
  }
  .navigation.breadcrumbs, .breadcrumbs.component.type_pagelist {
    background-color: var(--color-background);
  }
  .navigation.localnav_bottom + .navigation.breadcrumbs, .localnav_bottom.component.type_pagelist + .navigation.breadcrumbs, .navigation.localnav_bottom + .breadcrumbs.component.type_pagelist, .localnav_bottom.component.type_pagelist + .breadcrumbs.component.type_pagelist {
    margin-top: unset;
  }
  @media print, screen and (min-width: 768px) {
    .navigation.localnav_bottom + .navigation.breadcrumbs, .localnav_bottom.component.type_pagelist + .navigation.breadcrumbs, .navigation.localnav_bottom + .breadcrumbs.component.type_pagelist, .localnav_bottom.component.type_pagelist + .breadcrumbs.component.type_pagelist {
      margin-top: unset;
    }
  }
  .navigation.localnav_bottom + .navigation.breadcrumbs .inner, .localnav_bottom.component.type_pagelist + .navigation.breadcrumbs .inner, .navigation.localnav_bottom + .breadcrumbs.component.type_pagelist .inner, .localnav_bottom.component.type_pagelist + .breadcrumbs.component.type_pagelist .inner {
    padding-top: unset;
  }
  @media print, screen and (min-width: 768px) {
    .navigation.localnav_bottom + .navigation.breadcrumbs .inner, .localnav_bottom.component.type_pagelist + .navigation.breadcrumbs .inner, .navigation.localnav_bottom + .breadcrumbs.component.type_pagelist .inner, .localnav_bottom.component.type_pagelist + .breadcrumbs.component.type_pagelist .inner {
      padding-top: unset;
    }
  }
  .navigation.breadcrumbs .inner, .breadcrumbs.component.type_pagelist .inner {
    padding-top: calc(var(--nBreadcrumbs-margin-top-sp) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .navigation.breadcrumbs .inner, .breadcrumbs.component.type_pagelist .inner {
      padding-top: min(calc(var(--nBreadcrumbs-margin-top-pc) * 1px), calc(var(--nBreadcrumbs-margin-top-pc) / 1440 * 100vw));
    }
  }
  main:has(.navigation.breadcrumbs, .breadcrumbs.component.type_pagelist) + footer {
    margin-top: unset;
  }
  @media print, screen and (min-width: 768px) {
    main:has(.navigation.breadcrumbs, .breadcrumbs.component.type_pagelist) + footer {
      margin-top: unset;
    }
  }
  .pHeadingMedium.center {
    text-align: center;
  }
  @media print, screen and (min-width: 768px) {
    .pHeadingMedium.center {
      text-align: left;
    }
  }
  .type_categorybutton {
    margin-top: calc(var(--cCategoryButton-margin-top-sp) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .type_categorybutton {
      margin-top: min(calc(var(--cCategoryButton-margin-top-pc) * 1px), calc(var(--cCategoryButton-margin-top-pc) / 1440 * 100vw));
    }
  }
  .type_categorybutton .inner {
    padding-left: calc(var(--container-padding-sp) / 390 * 100vw);
    padding-right: calc(var(--container-padding-sp) / 390 * 100vw);
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: calc(var(--cCategoryButton-gap-row-sp) / 390 * 100vw) calc(var(--cCategoryButton-gap-col-sp) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .type_categorybutton .inner {
      padding-left: unset;
      padding-right: unset;
      margin-inline: auto;
      width: min(1026px, calc(1026 / 1440 * 100vw));
    }
  }
  @media print, screen and (min-width: 768px) {
    .type_categorybutton .inner {
      gap: min(calc(var(--cCategoryButton-gap-row-pc) * 1px), calc(var(--cCategoryButton-gap-row-pc) / 1440 * 100vw)) min(calc(var(--cCategoryButton-gap-col-pc) * 1px), calc(var(--cCategoryButton-gap-col-pc) / 1440 * 100vw));
      grid-template-columns: repeat(3, 1fr);
    }
  }
  .type_categorybutton .inner .pCategoryButton {
    width: 100%;
    text-align: center;
  }
  .aggressive {
    margin-top: calc(var(--margin-top-1) / 390 * 100vw);
    background-color: var(--color-gray);
    padding-block: calc(24 / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .aggressive {
      margin-top: min(calc(var(--margin-top-2) * 1px), calc(var(--margin-top-2) / 1440 * 100vw));
      padding-block: min(56px, calc(56 / 1440 * 100vw));
    }
  }
  .aggressive .title {
    padding-left: calc(var(--container-padding-sp) / 390 * 100vw);
    padding-right: calc(var(--container-padding-sp) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .aggressive .title {
      padding-left: unset;
      padding-right: unset;
      margin-inline: auto;
      width: min(1026px, calc(1026 / 1440 * 100vw));
    }
  }
  .aggressive .title h2 {
    background-color: var(--color-third);
    color: var(--color-text-on-accent);
    text-align: center;
    font-size: calc(var(--fs-s) / 390 * 100vw);
    font-weight: var(--font-weight-bold);
    line-height: 142%;
    padding: calc(8 / 390 * 100vw) calc(16 / 390 * 100vw);
    width: -moz-fit-content;
    width: fit-content;
    border-radius: calc(var(--border-radius-small) / 390 * 100vw);
    position: relative;
  }
  @media print, screen and (min-width: 768px) {
    .aggressive .title h2 {
      font-size: min(calc(var(--fs-xl) * 1px), calc(var(--fs-xl) / 1440 * 100vw));
      padding: min(16px, calc(16 / 1440 * 100vw)) min(56px, calc(56 / 1440 * 100vw));
      border-radius: min(calc(var(--border-radius-small) * 1px), calc(var(--border-radius-small) / 1440 * 100vw));
    }
  }
  .aggressive .title h2::after {
    content: "";
    display: block;
    position: absolute;
    width: calc(11 / 390 * 100vw);
    aspect-ratio: 1/cos(30deg);
    clip-path: polygon(50% 100%, 100% 0, 0 0);
    background: var(--color-third);
    bottom: calc(-9 / 390 * 100vw);
    left: 50%;
    translate: -50% 0;
  }
  @media print, screen and (min-width: 768px) {
    .aggressive .title h2::after {
      width: min(17px, calc(17 / 1440 * 100vw));
      bottom: min(-11px, calc(-11 / 1440 * 100vw));
    }
  }
  .aggressive .button {
    margin-top: calc(var(--margin-top-1) / 390 * 100vw);
    padding-left: calc(var(--container-padding-sp) / 390 * 100vw);
    padding-right: calc(var(--container-padding-sp) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .aggressive .button {
      padding-left: unset;
      padding-right: unset;
      margin-inline: auto;
      width: min(1026px, calc(1026 / 1440 * 100vw));
    }
  }
  @media print, screen and (min-width: 768px) {
    .aggressive .button {
      margin-top: min(calc(var(--margin-top-1) * 1px), calc(var(--margin-top-1) / 1440 * 100vw));
    }
  }
  .aggressive .button.is-hidden {
    display: none;
  }
  .aggressive .button .pButton {
    margin-inline: auto;
  }
  .aggressive .button .pButton::after {
    -webkit-mask-image: url(/images/icon_plus.svg);
    mask-image: url(/images/icon_plus.svg);
  }
  .aggressive .button.is-active .pButton::after {
    -webkit-mask-image: url(/images/icon_minus.svg);
    mask-image: url(/images/icon_minus.svg);
  }
  .aggressive .component.type_price .unit.is-hidden {
    display: none;
  }
  .type_price {
    margin-top: calc(var(--cPrice-margin-top-sp) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .type_price {
      margin-top: min(calc(var(--cPrice-margin-top-pc) * 1px), calc(var(--cPrice-margin-top-pc) / 1440 * 100vw));
    }
  }
  .type_price .inner {
    padding-left: calc(var(--container-padding-sp) / 390 * 100vw);
    padding-right: calc(var(--container-padding-sp) / 390 * 100vw);
    display: grid;
    gap: calc(var(--cPrice-gap-sp) / 390 * 100vw);
    grid-template-columns: repeat(1, 1fr);
  }
  @media print, screen and (min-width: 768px) {
    .type_price .inner {
      padding-left: unset;
      padding-right: unset;
      margin-inline: auto;
      width: min(1026px, calc(1026 / 1440 * 100vw));
    }
  }
  @media print, screen and (min-width: 768px) {
    .type_price .inner {
      gap: min(calc(var(--cPrice-gap-pc) * 1px), calc(var(--cPrice-gap-pc) / 1440 * 100vw));
    }
  }
  main:has(#switchButton input#image:checked) .type_price .inner {
    grid-template-columns: repeat(2, 1fr);
  }
  @media print, screen and (min-width: 768px) {
    main:has(#switchButton input#image:checked) .type_price .inner {
      grid-template-columns: repeat(4, 1fr);
    }
  }
  main:has(#switchButton input#image:checked) .type_price .inner .unit {
    grid-template: "image" "label" "row"/1fr;
    padding: calc(var(--pPrice-imagelist-padding-block-sp) / 390 * 100vw) calc(var(--pPrice-imagelist-padding-inline-sp) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    main:has(#switchButton input#image:checked) .type_price .inner .unit {
      padding: min(calc(var(--pPrice-imagelist-padding-block-pc) * 1px), calc(var(--pPrice-imagelist-padding-block-pc) / 1440 * 100vw)) min(calc(var(--pPrice-imagelist-padding-inline-pc) * 1px), calc(var(--pPrice-imagelist-padding-inline-pc) / 1440 * 100vw));
    }
  }
  main:has(#switchButton input#image:checked) .type_price .inner .unit:has(.pBadge) {
    grid-template: "image" "label" "row" "badge"/1fr;
  }
  main:has(#switchButton input#image:checked) .type_price .inner .unit .pImage {
    display: block;
    aspect-ratio: 3/2;
    -o-object-fit: cover;
    object-fit: cover;
  }
  @media print, screen and (min-width: 768px) {
    main:has(#switchButton input#image:checked) .type_price .inner .unit .pPriceLabelRow {
      display: block;
    }
  }
  main:has(#switchButton input#image:checked) .type_price .inner .unit .pPriceLabelRow .pPriceLabel {
    white-space: unset;
  }
  main:has(#switchButton input#image:checked) .type_price .inner .unit .pPriceRow {
    -ms-grid-row: 1;
    -ms-grid-column: 3;
    grid-area: row;
  }
  @media print, screen and (min-width: 768px) {
    main:has(#switchButton input#image:checked) .type_price .inner .unit .pPriceRow {
      grid-template-columns: repeat(1, 1fr);
      gap: min(calc(var(--pPrice-gap-pc-narrow) * 1px), calc(var(--pPrice-gap-pc-narrow) / 1440 * 100vw));
    }
  }
  .type_price .inner .unit {
    background-color: var(--color-surface);
    display: grid;
    grid-template: "label row"/1fr 1fr;
    gap: calc(var(--pPrice-gap-sp) / 390 * 100vw);
    padding: calc(var(--pPrice-list-padding-block-sp) / 390 * 100vw) calc(var(--pPrice-list-padding-inline-sp) / 390 * 100vw);
    align-content: start;
    align-items: start;
  }
  .type_price .inner .unit:has(.pBadge) {
    grid-template: "label row" "label badge"/1fr 1fr;
  }
  @media print, screen and (min-width: 768px) {
    .type_price .inner .unit {
      padding: min(calc(var(--pPrice-list-padding-block-pc) * 1px), calc(var(--pPrice-list-padding-block-pc) / 1440 * 100vw)) min(calc(var(--pPrice-list-padding-inline-pc) * 1px), calc(var(--pPrice-list-padding-inline-pc) / 1440 * 100vw));
      gap: min(calc(var(--pPrice-gap-pc) * 1px), calc(var(--pPrice-gap-pc) / 1440 * 100vw));
    }
  }
  .type_price .inner .unit .pImage {
    display: none;
  }
  .type_price .inner .unit .pPriceLabelRow {
    -ms-grid-row: 1;
    -ms-grid-column: 1;
    grid-area: label;
  }
  .type_price .inner .unit .pPriceLabelRow .pPriceLabel {
    white-space: nowrap;
  }
  .type_price .inner .unit .pPriceRow {
    -ms-grid-row: 1;
    -ms-grid-column: 3;
    grid-area: row;
  }
  @media print, screen and (min-width: 768px) {
    .type_price .inner .unit .pPriceRow {
      grid-template-columns: repeat(2, 1fr);
      gap: min(calc(var(--pPrice-gap-pc) * 1px), calc(var(--pPrice-gap-pc) / 1440 * 100vw));
    }
  }
  .type_price .inner .unit .pBadge {
    -ms-grid-row: 4;
    -ms-grid-column: 1;
    grid-area: badge;
  }
  #switchButton {
    border-radius: calc(var(--border-radius-small) / 390 * 100vw);
    background: var(--color-background);
    padding: calc(4 / 390 * 100vw);
    display: flex;
    align-items: center;
  }
  @media print, screen and (min-width: 768px) {
    #switchButton {
      border-radius: min(calc(var(--border-radius-small) * 1px), calc(var(--border-radius-small) / 1440 * 100vw));
      padding: min(4px, calc(4 / 1440 * 100vw));
    }
  }
  #switchButton label {
    background: var(--color-background);
    border-radius: calc(var(--border-radius-small) / 390 * 100vw);
    padding: calc(2 / 390 * 100vw);
    display: flex block;
    align-items: center;
    justify-content: center;
    text-align: center;
    flex-direction: column;
    aspect-ratio: 44/36;
    width: calc(44 / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    #switchButton label {
      border-radius: min(calc(var(--border-radius-small) * 1px), calc(var(--border-radius-small) / 1440 * 100vw));
      padding: min(6px, calc(6 / 1440 * 100vw));
      width: min(64px, calc(64 / 1440 * 100vw));
    }
  }
  #switchButton label:has(input:checked) {
    background: var(--color-gray-weak);
  }
  #switchButton label figure img {
    width: calc(20 / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    #switchButton label figure img {
      width: min(24px, calc(24 / 1440 * 100vw));
    }
  }
  #switchButton label figure figcaption {
    color: var(--color-gray-strong);
    font-size: calc(9 / 390 * 100vw);
    line-height: 133%;
  }
  @media print, screen and (min-width: 768px) {
    #switchButton label figure figcaption {
      font-size: min(calc(var(--fs-xxs) * 1px), calc(var(--fs-xxs) / 1440 * 100vw));
    }
  }
  #switchButton label input {
    display: none;
  }
  .pButton.line, .pButton[href*="line.me"] {
    background-color: var(--color-line);
    border-color: var(--color-line);
  }
  @media (any-hover: hover) {
    .pButton.line:hover, .pButton[href*="line.me"]:hover {
      background-color: rgb(9, 220, 97);
      border-color: rgb(9, 220, 97);
    }
  }
  .pButton.line.left::before, .pButton[href*="line.me"].left::before {
    -webkit-mask-image: url(/images/icon_line.svg);
    mask-image: url(/images/icon_line.svg);
  }
  .pButton.mail {
    background-color: var(--color-second);
    border-color: var(--color-second);
  }
  @media (any-hover: hover) {
    .pButton.mail:hover {
      background-color: #ffc53f;
      border-color: #ffc53f;
    }
  }
  .pButton.mail.left::before {
    -webkit-mask-image: url(/images/icon_mail.svg);
    mask-image: url(/images/icon_mail.svg);
  }
  #kaitori_banner {
    margin-top: calc(var(--margin-top-2) / 390 * 100vw);
    background-color: var(--color-gray-weak);
    text-align: center;
    display: block;
  }
  @media print, screen and (min-width: 768px) {
    #kaitori_banner {
      margin-top: min(calc(var(--margin-top-2) * 1px), calc(var(--margin-top-2) / 1440 * 100vw));
    }
  }
  #kaitori_banner .inner {
    padding-left: calc(var(--container-padding-sp) / 390 * 100vw);
    padding-right: calc(var(--container-padding-sp) / 390 * 100vw);
    padding-block: calc(var(--margin-top-2) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    #kaitori_banner .inner {
      padding-left: unset;
      padding-right: unset;
      margin-inline: auto;
      width: min(1026px, calc(1026 / 1440 * 100vw));
    }
  }
  @media print, screen and (min-width: 768px) {
    #kaitori_banner .inner {
      padding-block: min(calc(var(--margin-top-2) * 1px), calc(var(--margin-top-2) / 1440 * 100vw));
    }
  }
  #kaitori_banner .inner .methodList {
    margin-top: calc(16 / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    #kaitori_banner .inner .methodList {
      margin-top: min(calc(var(--margin-top-1) * 1px), calc(var(--margin-top-1) / 1440 * 100vw));
    }
  }
  #kaitori_banner .inner .pLead {
    font-size: calc(var(--fs-m) / 390 * 100vw);
    margin-top: calc(24 / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    #kaitori_banner .inner .pLead {
      font-size: min(calc(var(--fs-xl) * 1px), calc(var(--fs-xl) / 1440 * 100vw));
      margin-top: min(calc(var(--margin-top-2) * 1px), calc(var(--margin-top-2) / 1440 * 100vw));
    }
  }
  #kaitori_banner .inner .button {
    margin-top: calc(8 / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    #kaitori_banner .inner .button {
      margin-top: min(24px, calc(24 / 1440 * 100vw));
    }
  }
  #kaitori_banner .inner .button .pButton {
    width: 100%;
    margin-inline: auto;
  }
  @media print, screen and (min-width: 768px) {
    #kaitori_banner .inner .button .pButton {
      width: -moz-fit-content;
      width: fit-content;
    }
  }
  #fixedFooterButton {
    position: fixed;
    bottom: calc(63 / 390 * 100vw);
    left: calc(20 / 390 * 100vw);
    width: -moz-fit-content;
    width: fit-content;
    opacity: 0;
    transition: opacity var(--transition-speed-slow) var(--bezier);
    pointer-events: none;
    text-align: center;
  }
  @media print, screen and (min-width: 768px) {
    #fixedFooterButton {
      bottom: min(36px, calc(36 / 1440 * 100vw));
      left: 50%;
      translate: -50% 0;
    }
  }
  #fixedFooterButton.is-scroll {
    opacity: 1;
    pointer-events: all;
  }
  #fixedFooterButton .pButton {
    box-shadow: 0 2px 8px 0 rgba(0, 0, 0, 0.3);
    max-width: calc(280 / 390 * 100vw);
    line-height: 1.2;
  }
  @media print, screen and (min-width: 768px) {
    #fixedFooterButton .pButton {
      min-width: min(480px, calc(480 / 1440 * 100vw));
    }
  }
  #kaitoriBannerButton {
    position: fixed;
    bottom: calc(63 / 390 * 100vw);
    left: calc(24 / 390 * 100vw);
    width: -moz-fit-content;
    width: fit-content;
    opacity: 0;
    transition: opacity var(--transition-speed-slow) var(--bezier);
    pointer-events: none;
    text-align: center;
  }
  @media print, screen and (min-width: 768px) {
    #kaitoriBannerButton {
      bottom: min(36px, calc(36 / 1440 * 100vw));
      left: 50%;
      translate: -50% 0;
    }
  }
  #kaitoriBannerButton.is-scroll {
    opacity: 1;
    pointer-events: all;
  }
  #kaitoriBannerButton .pButton {
    box-shadow: 0 2px 8px 0 rgba(0, 0, 0, 0.3);
  }
  @media print, screen and (min-width: 768px) {
    #kaitoriBannerButton .pButton {
      width: min(480px, calc(480 / 1440 * 100vw));
    }
  }
  #footer_banner {
    margin-top: calc(var(--margin-top-2) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    #footer_banner {
      margin-top: min(calc(var(--margin-top-2) * 1px), calc(var(--margin-top-2) / 1440 * 100vw));
    }
  }
  #footer_banner + .navigation.breadcrumbs, #footer_banner + .breadcrumbs.component.type_pagelist {
    margin-top: unset;
  }
  #footer_banner .inner {
    padding-left: calc(var(--container-padding-sp) / 390 * 100vw);
    padding-right: calc(var(--container-padding-sp) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    #footer_banner .inner {
      padding-left: unset;
      padding-right: unset;
      margin-inline: auto;
      width: min(1026px, calc(1026 / 1440 * 100vw));
    }
  }
  #footer_banner .inner ul {
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    gap: calc(16 / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    #footer_banner .inner ul {
      grid-template-columns: repeat(2, 1fr);
      gap: min(24px, calc(24 / 1440 * 100vw));
    }
  }
  #footer_banner .inner ul li a {
    transition: opacity 0.3s var(--bezier);
  }
  #footer_banner .inner ul li a:hover {
    opacity: 0.7;
  }
  .component.type_heading:has(#switchButton) .inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
  }
  .component.type_extendedtitle {
    background-color: var(--color-background-strong);
  }
  .type_storelist {
    margin-top: calc(var(--margin-top-1) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .type_storelist {
      margin-top: min(calc(var(--margin-top-1) * 1px), calc(var(--margin-top-1) / 1440 * 100vw));
    }
  }
  .type_storelist .inner {
    padding-left: calc(var(--container-padding-sp) / 390 * 100vw);
    padding-right: calc(var(--container-padding-sp) / 390 * 100vw);
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: calc(16 / 390 * 100vw) calc(8 / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .type_storelist .inner {
      padding-left: unset;
      padding-right: unset;
      margin-inline: auto;
      width: min(1026px, calc(1026 / 1440 * 100vw));
    }
  }
  @media print, screen and (min-width: 768px) {
    .type_storelist .inner {
      grid-template-columns: repeat(3, 1fr);
      gap: min(32px, calc(32 / 1440 * 100vw)) min(16px, calc(16 / 1440 * 100vw));
    }
  }
  .type_storelist .inner .unit {
    border-radius: calc(var(--border-radius-small) / 390 * 100vw);
    background-color: var(--color-surface);
    padding: calc(8 / 390 * 100vw);
    display: grid;
    grid-template-rows: subgrid;
    grid-row: span 4;
    gap: calc(8 / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .type_storelist .inner .unit {
      border-radius: min(calc(var(--border-radius-medium) * 1px), calc(var(--border-radius-medium) / 1440 * 100vw));
      padding: min(12px, calc(12 / 1440 * 100vw));
      gap: min(16px, calc(16 / 1440 * 100vw));
    }
  }
  .type_storelist .inner .unit .image {
    display: block;
    transition: opacity 0.3s var(--bezier);
  }
  .type_storelist .inner .unit .image:hover {
    opacity: 0.7;
  }
  .type_storelist .inner .unit .image img {
    aspect-ratio: 272/181;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center;
    object-position: center;
  }
  .type_storelist .inner .unit .pHeadingMedium {
    text-align: center;
  }
  .type_storelist .inner .unit .info table th, .type_storelist .inner .unit .info table td {
    font-size: calc(var(--fs-xs) / 390 * 100vw);
    line-height: 150%;
    border-bottom: 1px solid var(--color-border);
    padding-block: calc(4 / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .type_storelist .inner .unit .info table th, .type_storelist .inner .unit .info table td {
      padding-block: min(12px, calc(12 / 1440 * 100vw));
      font-size: min(calc(var(--fs-m) * 1px), calc(var(--fs-m) / 1440 * 100vw));
    }
  }
  .type_storelist .inner .unit .info table th {
    white-space: nowrap;
    padding-right: calc(12 / 390 * 100vw);
    font-weight: var(--font-weight-bold);
  }
  @media print, screen and (min-width: 768px) {
    .type_storelist .inner .unit .info table th {
      padding-right: min(12px, calc(12 / 1440 * 100vw));
    }
  }
  .type_storelist .inner .unit .info table tr:first-child th, .type_storelist .inner .unit .info table tr:first-child td {
    padding-top: unset;
  }
  .type_storelist .inner .unit .info table tr:last-child th, .type_storelist .inner .unit .info table tr:last-child td {
    border-bottom: none;
    padding-bottom: unset;
  }
  .type_storelist .inner .unit .button .pButton {
    margin-inline: auto;
  }
  .kaitori_methods {
    background-color: var(--color-surface);
    margin-top: calc(var(--margin-top-2) / 390 * 100vw);
    padding-block: calc(56 / 390 * 100vw) calc(24 / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .kaitori_methods {
      margin-top: min(calc(var(--margin-top-3) * 1px), calc(var(--margin-top-3) / 1440 * 100vw));
      padding-block: min(96px, calc(96 / 1440 * 100vw));
    }
  }
  .kaitori_methods > *:first-child {
    margin-top: unset;
  }
  @media print, screen and (min-width: 768px) {
    .kaitori_methods > *:first-child {
      margin-top: unset;
    }
  }
  .type_serviceicon {
    margin-top: calc(var(--cServiceIcon-margin-top-sp) / 390 * 100vw);
    padding-left: calc(var(--container-padding-sp) / 390 * 100vw);
    padding-right: calc(var(--container-padding-sp) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .type_serviceicon {
      padding-left: unset;
      padding-right: unset;
      margin-inline: auto;
      width: min(1026px, calc(1026 / 1440 * 100vw));
    }
  }
  @media print, screen and (min-width: 768px) {
    .type_serviceicon {
      margin-top: min(calc(var(--cServiceIcon-margin-top-pc) * 1px), calc(var(--cServiceIcon-margin-top-pc) / 1440 * 100vw));
    }
  }
  .type_serviceicon .inner {
    padding: calc(var(--cServiceIcon-padding-sp) / 390 * 100vw);
    background: var(--cServiceIcon-background);
  }
  @media print, screen and (min-width: 768px) {
    .type_serviceicon .inner {
      padding: min(calc(var(--cServiceIcon-padding-pc) * 1px), calc(var(--cServiceIcon-padding-pc) / 1440 * 100vw));
    }
  }
  .type_serviceicon .inner ul {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    row-gap: calc(var(--cServiceIcon-gap-row-sp) / 390 * 100vw);
    -moz-column-gap: calc(var(--cServiceIcon-gap-col-sp) / 390 * 100vw);
    column-gap: calc(var(--cServiceIcon-gap-col-sp) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .type_serviceicon .inner ul {
      grid-template-columns: repeat(3, 1fr);
      row-gap: min(calc(var(--cServiceIcon-gap-row-pc) * 1px), calc(var(--cServiceIcon-gap-row-pc) / 1440 * 100vw));
      -moz-column-gap: min(calc(var(--cServiceIcon-gap-col-pc) * 1px), calc(var(--cServiceIcon-gap-col-pc) / 1440 * 100vw));
      column-gap: min(calc(var(--cServiceIcon-gap-col-pc) * 1px), calc(var(--cServiceIcon-gap-col-pc) / 1440 * 100vw));
    }
  }
  #footer_estimate {
    margin-top: calc(var(--margin-top-2) / 390 * 100vw);
    background-color: var(--color-surface);
  }
  @media print, screen and (min-width: 768px) {
    #footer_estimate {
      margin-top: min(calc(var(--margin-top-2) * 1px), calc(var(--margin-top-2) / 1440 * 100vw));
    }
  }
  #footer_estimate + .navigation.breadcrumbs, #footer_estimate + .breadcrumbs.component.type_pagelist {
    margin-top: unset;
    padding-top: unset;
    background-color: var(--color-surface);
  }
  #footer_estimate + .navigation.breadcrumbs .inner, #footer_estimate + .breadcrumbs.component.type_pagelist .inner {
    padding-top: unset;
  }
  @media print, screen and (min-width: 768px) {
    #footer_estimate + .navigation.breadcrumbs .inner, #footer_estimate + .breadcrumbs.component.type_pagelist .inner {
      padding-top: min(calc(var(--margin-top-2) * 1px), calc(var(--margin-top-2) / 1440 * 100vw));
    }
  }
  #footer_estimate .inner {
    padding-left: calc(var(--container-padding-sp) / 390 * 100vw);
    padding-right: calc(var(--container-padding-sp) / 390 * 100vw);
    padding-block: calc(var(--margin-top-2) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    #footer_estimate .inner {
      padding-left: unset;
      padding-right: unset;
      margin-inline: auto;
      width: min(1026px, calc(1026 / 1440 * 100vw));
    }
  }
  @media print, screen and (min-width: 768px) {
    #footer_estimate .inner {
      padding-block: min(calc(var(--margin-top-2) * 1px), calc(var(--margin-top-2) / 1440 * 100vw));
    }
  }
  #footer_estimate .inner h2 {
    text-align: center;
    font-size: calc(var(--fs-xxl) / 390 * 100vw);
    font-weight: var(--font-weight-bold);
    line-height: 120%;
  }
  @media print, screen and (min-width: 768px) {
    #footer_estimate .inner h2 {
      font-size: min(calc(var(--fs-xxxl) * 1px), calc(var(--fs-xxxl) / 1440 * 100vw));
    }
  }
  #footer_estimate .inner .pText {
    padding: calc(12 / 390 * 100vw);
    border-radius: calc(var(--border-radius-small) / 390 * 100vw);
    margin-top: calc(var(--margin-top-1) / 390 * 100vw);
    background-color: var(--color-background);
  }
  @media print, screen and (min-width: 768px) {
    #footer_estimate .inner .pText {
      margin-top: min(calc(var(--margin-top-1) * 1px), calc(var(--margin-top-1) / 1440 * 100vw));
      padding: min(8px, calc(8 / 1440 * 100vw));
      text-align: center;
      border-radius: min(calc(var(--border-radius-medium) * 1px), calc(var(--border-radius-medium) / 1440 * 100vw));
    }
  }
  #footer_estimate .inner .pHeadingMedium {
    text-align: center;
    margin-top: calc(var(--margin-top-1) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    #footer_estimate .inner .pHeadingMedium {
      margin-top: min(calc(var(--margin-top-2) * 1px), calc(var(--margin-top-2) / 1440 * 100vw));
    }
  }
  #footer_estimate .inner .image {
    display: block;
    margin-top: calc(16 / 390 * 100vw);
    transition: opacity 0.3s var(--bezier);
  }
  #footer_estimate .inner .image:hover {
    opacity: 0.7;
  }
  @media print, screen and (min-width: 768px) {
    #footer_estimate .inner .image {
      margin-top: min(calc(var(--margin-top-1) * 1px), calc(var(--margin-top-1) / 1440 * 100vw));
    }
  }
  #footer_estimate .inner .buttons {
    margin-top: calc(16 / 390 * 100vw);
    display: flex;
    flex-direction: column;
    gap: calc(16 / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    #footer_estimate .inner .buttons {
      margin-top: min(calc(var(--margin-top-1) * 1px), calc(var(--margin-top-1) / 1440 * 100vw));
      gap: min(32px, calc(32 / 1440 * 100vw));
      flex-direction: row;
      justify-content: center;
    }
  }
  #footer_estimate .inner .buttons .pButton {
    width: 100%;
  }
  @media print, screen and (min-width: 768px) {
    #footer_estimate .inner .buttons .pButton {
      width: -moz-fit-content;
      width: fit-content;
      padding-block: min(18px, calc(18 / 1440 * 100vw));
    }
  }
  #footer_estimate .inner .telList {
    margin-top: calc(var(--margin-top-1) / 390 * 100vw);
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: calc(8 / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    #footer_estimate .inner .telList {
      margin-top: min(calc(var(--margin-top-1) * 1px), calc(var(--margin-top-1) / 1440 * 100vw));
      grid-template-columns: repeat(4, 1fr);
      gap: min(16px, calc(16 / 1440 * 100vw));
    }
  }
  #footer_estimate .inner .telList .unit {
    display: grid;
    grid-template-columns: subgrid;
    align-content: center;
    grid-row: span 3;
    gap: calc(4 / 390 * 100vw);
    padding: calc(8 / 390 * 100vw);
    border-radius: calc(var(--border-radius-small) / 390 * 100vw);
    border: 1px solid var(--color-border);
    background: var(--color-background);
    text-align: center;
  }
  @media print, screen and (min-width: 768px) {
    #footer_estimate .inner .telList .unit {
      border-radius: min(calc(var(--border-radius-small) * 1px), calc(var(--border-radius-small) / 1440 * 100vw));
      padding: min(8px, calc(8 / 1440 * 100vw));
      gap: min(4px, calc(4 / 1440 * 100vw));
    }
  }
  #footer_estimate .inner .telList .unit h4 {
    color: var(--color-third);
    text-align: center;
    font-size: calc(var(--fs-s) / 390 * 100vw);
    font-weight: var(--font-weight-bold);
    line-height: 142%;
  }
  @media print, screen and (min-width: 768px) {
    #footer_estimate .inner .telList .unit h4 {
      font-size: min(calc(var(--fs-s) * 1px), calc(var(--fs-s) / 1440 * 100vw));
    }
  }
  #footer_estimate .inner .telList .unit .tel {
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--color-third);
    font-family: var(--font-family-en);
    font-size: calc(var(--fs-s) / 390 * 100vw);
    font-weight: var(--font-weight-medium);
    line-height: 142%;
    gap: calc(4 / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    #footer_estimate .inner .telList .unit .tel {
      gap: min(4px, calc(4 / 1440 * 100vw));
      pointer-events: none;
      font-size: min(calc(var(--fs-s) * 1px), calc(var(--fs-s) / 1440 * 100vw));
    }
  }
  #footer_estimate .inner .telList .unit .tel::before {
    content: "";
    display: block;
    -webkit-mask-image: url(/images/icon_tel.svg);
    mask-image: url(/images/icon_tel.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-third);
    width: calc(20 / 390 * 100vw);
    height: calc(20 / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    #footer_estimate .inner .telList .unit .tel::before {
      width: min(20px, calc(20 / 1440 * 100vw));
      height: min(20px, calc(20 / 1440 * 100vw));
    }
  }
  #footer_estimate .inner .telList .unit .tel::after {
    content: "";
    display: block;
    -webkit-mask-image: url(/images/icon_arrow_next.svg);
    mask-image: url(/images/icon_arrow_next.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-third);
    width: calc(20 / 390 * 100vw);
    height: calc(20 / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    #footer_estimate .inner .telList .unit .tel::after {
      content: none;
    }
  }
  #footer_estimate .inner .telList .unit .hours {
    border-radius: calc(var(--border-radius-small) / 390 * 100vw);
    background: var(--color-gray-weak);
    text-align: center;
    font-size: calc(var(--fs-xs) / 390 * 100vw);
    line-height: 160%;
    align-self: center;
  }
  @media print, screen and (min-width: 768px) {
    #footer_estimate .inner .telList .unit .hours {
      font-size: min(calc(var(--fs-xs) * 1px), calc(var(--fs-xs) / 1440 * 100vw));
      border-radius: min(calc(var(--border-radius-small) * 1px), calc(var(--border-radius-small) / 1440 * 100vw));
    }
  }
  .type_area {
    margin-top: calc(var(--margin-top-1) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .type_area {
      margin-top: min(calc(var(--margin-top-1) * 1px), calc(var(--margin-top-1) / 1440 * 100vw));
    }
  }
  .type_area .inner {
    padding-left: calc(var(--container-padding-sp) / 390 * 100vw);
    padding-right: calc(var(--container-padding-sp) / 390 * 100vw);
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    gap: calc(16 / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .type_area .inner {
      padding-left: unset;
      padding-right: unset;
      margin-inline: auto;
      width: min(1026px, calc(1026 / 1440 * 100vw));
    }
  }
  @media print, screen and (min-width: 768px) {
    .type_area .inner {
      gap: min(8px, calc(8 / 1440 * 100vw));
    }
  }
  .type_area .inner .unit {
    border-radius: calc(var(--border-radius-medium) / 390 * 100vw);
    border: 1px solid var(--color-border);
    background: var(--color-surface);
    padding: calc(16 / 390 * 100vw);
    cursor: pointer;
    transition: border-color var(--transition-speed-fast) var(--bezier);
  }
  @media print, screen and (min-width: 768px) {
    .type_area .inner .unit {
      padding: min(16px, calc(16 / 1440 * 100vw));
      border-radius: min(calc(var(--border-radius-medium) * 1px), calc(var(--border-radius-medium) / 1440 * 100vw));
    }
  }
  @media (any-hover: hover) {
    .type_area .inner .unit:hover {
      border-color: var(--color-brand);
    }
  }
  .type_area .inner .unit.is-active {
    border-color: var(--color-border);
  }
  .type_area .inner .unit.is-active .area::after {
    background: center/contain no-repeat url(/images/icon_minus.svg);
  }
  .type_area .inner .unit .area {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: calc(12 / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .type_area .inner .unit .area {
      gap: min(16px, calc(16 / 1440 * 100vw));
    }
  }
  .type_area .inner .unit .area::after {
    content: "";
    display: block;
    width: calc(24 / 390 * 100vw);
    aspect-ratio: 1/1;
    background: center/contain no-repeat url(/images/icon_plus.svg);
  }
  @media print, screen and (min-width: 768px) {
    .type_area .inner .unit .area::after {
      width: min(24px, calc(24 / 1440 * 100vw));
    }
  }
  .type_area .inner .unit .area h4 {
    font-size: calc(var(--fs-m) / 390 * 100vw);
    font-weight: var(--font-weight-bold);
    line-height: 125%;
  }
  @media print, screen and (min-width: 768px) {
    .type_area .inner .unit .area h4 {
      font-size: min(calc(var(--fs-l) * 1px), calc(var(--fs-l) / 1440 * 100vw));
    }
  }
  .type_area .inner .unit .town {
    display: none;
  }
  .type_area .inner .unit .town .townInner {
    padding-top: calc(16 / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .type_area .inner .unit .town .townInner {
      padding-top: min(16px, calc(16 / 1440 * 100vw));
    }
  }
  .type_area .inner .unit .town .townInner p {
    font-size: calc(var(--fs-xs) / 390 * 100vw);
    font-weight: var(--font-weight-medium);
    line-height: 150%;
  }
  @media print, screen and (min-width: 768px) {
    .type_area .inner .unit .town .townInner p {
      font-size: min(calc(var(--fs-s) * 1px), calc(var(--fs-s) / 1440 * 100vw));
      line-height: 171%;
    }
  }
  @media print, screen and (min-width: 768px) {
    .component.type_image_multi.set1.storeImage .inner .pImageCaption {
      max-width: unset;
    }
  }
  .component.type_image_multi.set1.storeImage .inner .pImageCaption img {
    aspect-ratio: 1024/682;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center;
    object-position: center;
  }
  .pNewsCategory {
    text-align: center;
  }
  .component.type_pagetitle .inner {
    padding-bottom: calc(16 / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .component.type_pagetitle .inner {
      padding-bottom: unset;
    }
  }
  #topSlider {
    position: relative;
  }
  #topSlider .swiper .swiper-slide {
    position: relative;
  }
  #topSlider .swiper .swiper-slide .text {
    position: absolute;
    inset: 0;
    z-index: 2;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    gap: calc(24 / 390 * 100vw);
    padding-inline: calc(var(--container-padding-sp) / 390 * 100vw);
    padding-bottom: calc(40 / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    #topSlider .swiper .swiper-slide .text {
      justify-content: center;
      padding-inline: min(80px, calc(80 / 1440 * 100vw));
      padding-bottom: unset;
      gap: min(24px, calc(24 / 1440 * 100vw));
    }
  }
  #topSlider .swiper .swiper-slide .text .pPageTitle {
    color: var(--color-text-on-accent);
  }
  #topSlider .swiper .swiper-slide .image {
    display: block;
  }
  #topSlider .swiper .swiper-slide .image img {
    aspect-ratio: 375/520;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center;
    object-position: center;
  }
  @media print, screen and (min-width: 768px) {
    #topSlider .swiper .swiper-slide .image img {
      aspect-ratio: 1440/480;
    }
  }
  #topSlider .swiper .navigations {
    display: grid;
    grid-template: "prev pagination next" auto/1fr auto 1fr;
    align-items: center;
    gap: calc(32 / 390 * 100vw);
    margin-top: calc(16 / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    #topSlider .swiper .navigations {
      margin-top: min(24px, calc(24 / 1440 * 100vw));
      display: block;
    }
  }
  #topSlider .swiper .navigations .swiper-button-next, #topSlider .swiper .navigations .swiper-button-prev {
    -ms-grid-row: 1;
    -ms-grid-column: 5;
    display: none;
    width: calc(32 / 390 * 100vw);
    height: calc(32 / 390 * 100vw);
    align-items: center;
    justify-content: center;
    background-color: color-mix(in srgb, var(--color-gray-strong) 70%, transparent);
    border-radius: 50%;
    position: static;
    grid-area: next;
    margin-top: unset;
  }
  @media print, screen and (min-width: 768px) {
    #topSlider .swiper .navigations .swiper-button-next, #topSlider .swiper .navigations .swiper-button-prev {
      position: absolute;
      top: 42%;
      width: min(56px, calc(56 / 1440 * 100vw));
      height: min(56px, calc(56 / 1440 * 100vw));
      left: 50%;
      translate: min(580px, calc(580 / 1440 * 100vw)) 0;
      transition: opacity 0.3s var(--bezier);
    }
    #topSlider .swiper .navigations .swiper-button-next:hover, #topSlider .swiper .navigations .swiper-button-prev:hover {
      opacity: 0.7;
    }
  }
  #topSlider .swiper .navigations .swiper-button-next::after, #topSlider .swiper .navigations .swiper-button-prev::after {
    content: none;
  }
  #topSlider .swiper .navigations .swiper-button-next::before, #topSlider .swiper .navigations .swiper-button-prev::before {
    content: "";
    -webkit-mask-image: url(/images/icon_arrow_next.svg);
    mask-image: url(/images/icon_arrow_next.svg);
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    width: calc(13 / 390 * 100vw);
    height: calc(13 / 390 * 100vw);
    background-color: var(--color-text-on-accent);
  }
  @media print, screen and (min-width: 768px) {
    #topSlider .swiper .navigations .swiper-button-next::before, #topSlider .swiper .navigations .swiper-button-prev::before {
      width: min(24px, calc(24 / 1440 * 100vw));
      height: min(24px, calc(24 / 1440 * 100vw));
    }
  }
  #topSlider .swiper .navigations .swiper-button-next:not(.swiper-button-disabled), #topSlider .swiper .navigations .swiper-button-prev:not(.swiper-button-disabled) {
    display: flex;
  }
  #topSlider .swiper .navigations .swiper-button-next.swiper-button-disabled, #topSlider .swiper .navigations .swiper-button-prev.swiper-button-disabled {
    opacity: 0;
  }
  #topSlider .swiper .navigations .swiper-button-prev {
    -ms-grid-row: 1;
    -ms-grid-column: 1;
    grid-area: prev;
    justify-self: end;
  }
  @media print, screen and (min-width: 768px) {
    #topSlider .swiper .navigations .swiper-button-prev {
      left: auto;
      right: 50%;
      translate: max(-580px, calc(-580 / 1440 * 100vw)) 0;
    }
  }
  #topSlider .swiper .navigations .swiper-button-prev::before {
    -webkit-mask-image: url(/images/icon_arrow_prev.svg);
    mask-image: url(/images/icon_arrow_prev.svg);
  }
  #topSlider .swiper .navigations .swiper-pagination {
    -ms-grid-row: 1;
    -ms-grid-column: 3;
    position: static;
    grid-area: pagination;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  #topSlider .swiper .navigations .swiper-pagination .swiper-pagination-bullet {
    margin-inline: calc(8 / 390 * 100vw);
    background-color: var(--color-border);
    opacity: 1;
  }
  @media print, screen and (min-width: 768px) {
    #topSlider .swiper .navigations .swiper-pagination .swiper-pagination-bullet {
      margin-inline: min(12px, calc(12 / 1440 * 100vw));
      width: min(12px, calc(12 / 1440 * 100vw));
      height: min(12px, calc(12 / 1440 * 100vw));
    }
  }
  #topSlider .swiper .navigations .swiper-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active {
    background-color: var(--color-brand);
  }
  #topSlider .requirements {
    display: block;
    position: fixed;
    bottom: calc(90 / 390 * 100vw);
    right: 0;
    z-index: 2;
    filter: drop-shadow(0 2px 5px rgba(0, 0, 0, 0.24));
  }
  @media print, screen and (min-width: 768px) {
    #topSlider .requirements {
      bottom: min(160px, calc(160 / 1440 * 100vw));
      right: 0;
    }
  }
  #topSlider .requirements img {
    width: calc(40 / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    #topSlider .requirements img {
      width: min(48px, calc(48 / 1440 * 100vw));
    }
  }
  #topHeadline {
    margin-top: calc(32 / 390 * 100vw);
    padding-left: calc(var(--container-padding-sp) / 390 * 100vw);
    padding-right: calc(var(--container-padding-sp) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    #topHeadline {
      padding-left: unset;
      padding-right: unset;
      margin-inline: auto;
      width: min(1026px, calc(1026 / 1440 * 100vw));
    }
  }
  @media print, screen and (min-width: 768px) {
    #topHeadline {
      margin-top: min(56px, calc(56 / 1440 * 100vw));
    }
  }
  #topHeadline .inner {
    display: grid;
    grid-template: "heading text" auto/auto 1fr;
    align-items: center;
    padding: calc(16 / 390 * 100vw) calc(8 / 390 * 100vw);
    gap: calc(16 / 390 * 100vw);
    border-top: 1px solid var(--color-border);
    border-bottom: 1px solid var(--color-border);
  }
  @media print, screen and (min-width: 768px) {
    #topHeadline .inner {
      padding: min(16px, calc(16 / 1440 * 100vw)) 0;
      gap: min(32px, calc(32 / 1440 * 100vw));
    }
  }
  #topHeadline .inner h2 {
    -ms-grid-row: 1;
    -ms-grid-column: 1;
    -ms-grid-column-span: 1;
    grid-area: heading;
  }
  #topHeadline .inner h2 img {
    width: calc(42 / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    #topHeadline .inner h2 img {
      width: min(51px, calc(51 / 1440 * 100vw));
    }
  }
  #topHeadline .inner p {
    -ms-grid-row: 1;
    -ms-grid-column: 3;
    font-size: calc(var(--fs-s) / 390 * 100vw);
    grid-area: text;
    line-height: 142%;
  }
  @media print, screen and (min-width: 768px) {
    #topHeadline .inner p {
      font-size: min(calc(var(--fs-m) * 1px), calc(var(--fs-m) / 1440 * 100vw));
      line-height: 150%;
    }
  }
  #topHeadline .inner p a {
    display: grid;
    grid-template-columns: 1fr auto;
    align-items: center;
    gap: calc(16 / 390 * 100vw);
    transition: color var(--transition-speed) var(--bezier);
  }
  @media print, screen and (min-width: 768px) {
    #topHeadline .inner p a {
      gap: min(32px, calc(32 / 1440 * 100vw));
    }
  }
  @media (any-hover: hover) {
    #topHeadline .inner p a:hover {
      color: var(--color-brand);
    }
    #topHeadline .inner p a:hover::after {
      background-color: var(--color-brand);
    }
  }
  #topHeadline .inner p a::after {
    content: "";
    display: block;
    width: calc(24 / 390 * 100vw);
    height: calc(24 / 390 * 100vw);
    -webkit-mask-image: url(/images/icon_arrow_next.svg);
    mask-image: url(/images/icon_arrow_next.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-black);
    transition: background-color var(--transition-speed) var(--bezier);
  }
  @media print, screen and (min-width: 768px) {
    #topHeadline .inner p a::after {
      width: min(24px, calc(24 / 1440 * 100vw));
      height: min(24px, calc(24 / 1440 * 100vw));
    }
  }
  #topMain {
    margin-top: calc(32 / 390 * 100vw);
    padding-block: calc(32 / 390 * 100vw) calc(56 / 390 * 100vw);
    background-color: var(--color-background);
  }
  @media print, screen and (min-width: 768px) {
    #topMain {
      margin-top: min(24px, calc(24 / 1440 * 100vw));
      padding-block: min(56px, calc(56 / 1440 * 100vw)) min(96px, calc(96 / 1440 * 100vw));
    }
  }
  #topMain .inner {
    padding-left: calc(var(--container-padding-sp) / 390 * 100vw);
    padding-right: calc(var(--container-padding-sp) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    #topMain .inner {
      padding-left: unset;
      padding-right: unset;
      margin-inline: auto;
      width: min(1026px, calc(1026 / 1440 * 100vw));
    }
  }
  @media print, screen and (min-width: 768px) {
    #topMain .inner {
      display: grid;
      grid-template: "nav lineup" auto/min(286px, calc(286 / 1440 * 100vw)) auto;
      gap: min(32px, calc(32 / 1440 * 100vw));
    }
  }
  #topMainNav {
    display: none;
  }
  @media print, screen and (min-width: 768px) {
    #topMainNav {
      -ms-grid-row: 1;
      -ms-grid-column: 3;
      display: block;
      grid-area: nav;
    }
    #topMainNav .bg {
      background-color: var(--color-surface);
      padding: min(16px, calc(16 / 1440 * 100vw)) min(16px, calc(16 / 1440 * 100vw)) min(56px, calc(56 / 1440 * 100vw)) min(16px, calc(16 / 1440 * 100vw));
      position: sticky;
      top: 0;
    }
    #topMainNav .bg h2 {
      font-size: min(calc(var(--fs-l) * 1px), calc(var(--fs-l) / 1440 * 100vw));
      font-weight: var(--font-weight-bold);
      line-height: 155.556%;
    }
    #topMainNav .bg h3 {
      margin-top: min(16px, calc(16 / 1440 * 100vw));
      background: var(--color-gray-weak);
      text-align: center;
      font-size: min(calc(var(--fs-xs) * 1px), calc(var(--fs-xs) / 1440 * 100vw));
      font-weight: var(--font-weight-bold);
      line-height: 150%;
    }
    #topMainNav .bg > ul > li {
      border-bottom: 1px solid var(--color-border);
    }
    #topMainNav .bg > ul > li > a, #topMainNav .bg > ul > li h4 {
      display: grid;
      align-items: center;
      grid-template-columns: 1fr auto;
      gap: min(8px, calc(8 / 1440 * 100vw));
      padding-block: min(9px, calc(9 / 1440 * 100vw));
      color: var(--color-text);
      font-size: min(calc(var(--fs-s) * 1px), calc(var(--fs-s) / 1440 * 100vw));
      font-weight: var(--font-weight-medium);
      line-height: 142%;
    }
    #topMainNav .bg > ul > li > a::after, #topMainNav .bg > ul > li h4::after {
      content: "";
      display: block;
      width: min(12px, calc(12 / 1440 * 100vw));
      height: min(12px, calc(12 / 1440 * 100vw));
      -webkit-mask-image: url(/images/icon_arrow_next.svg);
      mask-image: url(/images/icon_arrow_next.svg);
      -webkit-mask-size: contain;
      mask-size: contain;
      -webkit-mask-repeat: no-repeat;
      mask-repeat: no-repeat;
      background-color: var(--color-text);
    }
    #topMainNav .bg > ul > li > h4 {
      cursor: pointer;
    }
    #topMainNav .bg > ul > li > h4::after {
      rotate: z 90deg;
      transition: rotate var(--transition-speed) var(--bezier);
    }
    #topMainNav .bg > ul > li > h4.is-active::after {
      rotate: z -90deg;
    }
    #topMainNav .bg > ul > li .sub {
      height: 0;
      overflow: hidden;
      transition: height var(--transition-speed) var(--bezier);
    }
    #topMainNav .bg > ul > li .sub.is-active {
      height: auto;
      height: calc-size(auto, size);
    }
    #topMainNav .bg > ul > li .sub li:last-child {
      padding-bottom: min(12px, calc(12 / 1440 * 100vw));
    }
    #topMainNav .bg > ul > li .sub li a {
      display: block;
      padding-block: min(10px, calc(10 / 1440 * 100vw));
      padding-inline: min(12px, calc(12 / 1440 * 100vw));
      color: var(--color-text, #000);
      font-size: min(calc(var(--fs-xs) * 1px), calc(var(--fs-xs) / 1440 * 100vw));
      line-height: 150%;
    }
  }
  @media print and (any-hover: hover), screen and (min-width: 768px) and (any-hover: hover) {
    #topMainNav .bg > ul > li .sub li a:hover {
      color: var(--color-gray);
    }
  }
  #topLineup {
    grid-area: lineup;
  }
  #topLineup .check {
    margin-inline: auto;
    width: -moz-fit-content;
    width: fit-content;
    padding: calc(4 / 390 * 100vw) calc(32 / 390 * 100vw);
    border-radius: calc(var(--border-radius-small) / 390 * 100vw);
    background: var(--color-third);
    color: var(--color-text-on-accent);
    text-align: center;
    font-size: calc(var(--fs-s) / 390 * 100vw);
    font-weight: var(--font-weight-bold);
    line-height: 142%;
    position: relative;
  }
  @media print, screen and (min-width: 768px) {
    #topLineup .check {
      padding: min(16px, calc(16 / 1440 * 100vw)) min(56px, calc(56 / 1440 * 100vw));
      font-size: min(calc(var(--fs-xl) * 1px), calc(var(--fs-xl) / 1440 * 100vw));
      border-radius: min(calc(var(--border-radius-medium) * 1px), calc(var(--border-radius-medium) / 1440 * 100vw));
    }
  }
  #topLineup .check::after {
    content: "";
    display: block;
    position: absolute;
    width: calc(11 / 390 * 100vw);
    aspect-ratio: 1/cos(30deg);
    clip-path: polygon(50% 100%, 100% 0, 0 0);
    background: var(--color-third);
    bottom: calc(-9 / 390 * 100vw);
    left: 50%;
    translate: -50% 0;
  }
  @media print, screen and (min-width: 768px) {
    #topLineup .check::after {
      width: min(17px, calc(17 / 1440 * 100vw));
      bottom: max(-11px, calc(-11 / 1440 * 100vw));
    }
  }
  #topLineup h2 {
    margin-top: calc(8 / 390 * 100vw);
    color: var(--color-text);
    text-align: center;
    font-size: calc(var(--fs-xxxl) / 390 * 100vw);
    font-weight: var(--font-weight-bold);
    line-height: 150%;
  }
  @media print, screen and (min-width: 768px) {
    #topLineup h2 {
      font-size: min(calc(var(--fs-xxxxl) * 1px), calc(var(--fs-xxxxl) / 1440 * 100vw));
      line-height: 120%;
      margin-top: min(24px, calc(24 / 1440 * 100vw));
    }
  }
  #topLineup h3 {
    margin-top: calc(16 / 390 * 100vw);
    border-radius: calc(var(--border-radius-small) / 390 * 100vw);
    background: var(--color-gray-weak);
    color: var(--color-text);
    font-size: calc(var(--fs-m) / 390 * 100vw);
    font-weight: var(--font-weight-bold);
    padding: calc(6 / 390 * 100vw) calc(8 / 390 * 100vw) calc(8 / 390 * 100vw);
    text-align: center;
  }
  @media print, screen and (min-width: 768px) {
    #topLineup h3 {
      margin-top: min(24px, calc(24 / 1440 * 100vw));
      font-size: min(calc(var(--fs-xl) * 1px), calc(var(--fs-xl) / 1440 * 100vw));
      padding: min(8px, calc(8 / 1440 * 100vw)) min(8px, calc(8 / 1440 * 100vw)) min(10px, calc(10 / 1440 * 100vw));
      border-radius: min(calc(var(--border-radius-medium) * 1px), calc(var(--border-radius-medium) / 1440 * 100vw));
    }
  }
  #topLineup ul {
    margin-top: calc(16 / 390 * 100vw);
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: calc(16 / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    #topLineup ul {
      margin-top: min(24px, calc(24 / 1440 * 100vw));
      grid-template-columns: repeat(3, 1fr);
      gap: min(24px, calc(24 / 1440 * 100vw));
    }
  }
  #topLineup ul + h3 {
    margin-top: calc(26 / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    #topLineup ul + h3 {
      margin-top: min(56px, calc(56 / 1440 * 100vw));
    }
  }
  #topLineup ul li {
    display: flex;
    flex-direction: column;
  }
  #topLineup ul li a {
    display: block;
    height: 100%;
    border-radius: calc(var(--border-radius-small) / 390 * 100vw);
    background: var(--color-surface);
    box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1);
    transition: box-shadow var(--transition-speed) var(--bezier);
    text-align: center;
    padding-block: calc(8 / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    #topLineup ul li a {
      border-radius: min(calc(var(--border-radius-medium) * 1px), calc(var(--border-radius-medium) / 1440 * 100vw));
      padding-block: min(16px, calc(16 / 1440 * 100vw));
    }
  }
  @media (any-hover: hover) {
    #topLineup ul li a:hover {
      box-shadow: 0 1px 5px 0 rgba(0, 0, 0, 0.2);
    }
  }
  #topLineup ul li a figure figcaption {
    color: var(--color-text);
    text-align: center;
    font-size: calc(var(--fs-xs) / 390 * 100vw);
    font-weight: var(--font-weight-medium);
    line-height: 150%;
  }
  @media print, screen and (min-width: 768px) {
    #topLineup ul li a figure figcaption {
      margin-top: min(16px, calc(16 / 1440 * 100vw));
      font-size: min(calc(var(--fs-s) * 1px), calc(var(--fs-s) / 1440 * 100vw));
    }
  }
  #topMethod {
    padding-block: calc(56 / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    #topMethod {
      padding-block: min(96px, calc(96 / 1440 * 100vw));
    }
  }
  #topMethod .inner {
    padding-left: calc(var(--container-padding-sp) / 390 * 100vw);
    padding-right: calc(var(--container-padding-sp) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    #topMethod .inner {
      padding-left: unset;
      padding-right: unset;
      margin-inline: auto;
      width: min(1026px, calc(1026 / 1440 * 100vw));
    }
  }
  @media print, screen and (min-width: 768px) {
    #topMethod .inner {
      display: grid;
      grid-template: "title list" auto "button button" auto/min(286px, calc(286 / 1440 * 100vw)) 1fr;
      gap: 0 min(32px, calc(32 / 1440 * 100vw));
    }
  }
  #topMethod .inner .title .logo {
    text-align: center;
  }
  #topMethod .inner .title .logo img {
    width: calc(273 / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    #topMethod .inner .title .logo img {
      width: 100%;
    }
  }
  #topMethod .inner .title h2 {
    margin-top: calc(16 / 390 * 100vw);
    border-radius: calc(var(--border-radius-small) / 390 * 100vw);
    background: var(--color-gray-strong);
    color: var(--color-text-on-accent);
    font-size: calc(var(--fs-m) / 390 * 100vw);
    font-weight: var(--font-weight-bold);
    line-height: 150%;
    text-align: center;
  }
  @media print, screen and (min-width: 768px) {
    #topMethod .inner .title h2 {
      margin-top: min(24px, calc(24 / 1440 * 100vw));
      font-size: min(calc(var(--fs-xl) * 1px), calc(var(--fs-xl) / 1440 * 100vw));
      line-height: 120%;
      padding: min(4px, calc(4 / 1440 * 100vw)) min(4px, calc(4 / 1440 * 100vw)) min(6px, calc(6 / 1440 * 100vw));
      border-radius: unset;
    }
  }
  #topMethod .inner .title .lead {
    margin-top: calc(24 / 390 * 100vw);
    color: var(--color-text);
    font-size: calc(var(--fs-m) / 390 * 100vw);
    font-weight: var(--font-weight-regular);
    line-height: 150%;
  }
  @media print, screen and (min-width: 768px) {
    #topMethod .inner .title .lead {
      margin-top: min(24px, calc(24 / 1440 * 100vw));
      font-size: min(calc(var(--fs-m) * 1px), calc(var(--fs-m) / 1440 * 100vw));
      line-height: 175%;
    }
  }
  #topMethod .inner .methodList {
    margin-top: calc(24 / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    #topMethod .inner .methodList {
      margin-top: unset;
    }
  }
  #topMethod .inner .button {
    margin-top: calc(24 / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    #topMethod .inner .button {
      margin-top: min(56px, calc(56 / 1440 * 100vw));
      grid-area: button;
    }
  }
  #topMethod .inner .button .pButton {
    margin-inline: auto;
  }
  .methodList {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: calc(16 / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .methodList {
      gap: min(16px, calc(16 / 1440 * 100vw));
    }
  }
  .methodList li a {
    display: block;
    border-radius: calc(var(--border-radius-medium) / 390 * 100vw);
    background: var(--color-third);
    box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1);
    padding: calc(4 / 390 * 100vw);
    text-align: center;
    transition: background-color var(--transition-speed) var(--bezier);
  }
  @media print, screen and (min-width: 768px) {
    .methodList li a {
      border-radius: min(calc(var(--border-radius-large) * 1px), calc(var(--border-radius-large) / 1440 * 100vw));
      padding: min(16px, calc(16 / 1440 * 100vw));
    }
  }
  @media (any-hover: hover) {
    .methodList li a:hover {
      background: var(--color-brand);
    }
    .methodList li a:hover span {
      color: var(--color-brand);
    }
    .methodList li a:hover span::after {
      background-color: var(--color-brand);
    }
  }
  .methodList li a figure img {
    width: calc(56 / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .methodList li a figure img {
      width: min(120px, calc(120 / 1440 * 100vw));
    }
  }
  .methodList li a figure figcaption {
    color: var(--color-text-on-accent);
    font-size: calc(var(--fs-xxs) / 390 * 100vw);
    font-weight: var(--font-weight-medium);
    line-height: 150%;
  }
  @media print, screen and (min-width: 768px) {
    .methodList li a figure figcaption {
      font-size: min(calc(var(--fs-l) * 1px), calc(var(--fs-l) / 1440 * 100vw));
    }
  }
  .methodList li a span {
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: calc(var(--border-radius-small) / 390 * 100vw);
    background: var(--color-background);
    margin-top: calc(4 / 390 * 100vw);
    color: var(--color-third);
    text-align: center;
    font-size: calc(var(--fs-s) / 390 * 100vw);
    font-weight: var(--font-weight-bold);
    line-height: 142%;
    padding: calc(4 / 390 * 100vw) calc(4 / 390 * 100vw) calc(4 / 390 * 100vw) calc(12 / 390 * 100vw);
    transition: color var(--transition-speed) var(--bezier);
  }
  @media print, screen and (min-width: 768px) {
    .methodList li a span {
      border-radius: min(calc(var(--border-radius-small) * 1px), calc(var(--border-radius-small) / 1440 * 100vw));
      padding: min(6px, calc(6 / 1440 * 100vw)) min(8px, calc(8 / 1440 * 100vw)) min(8px, calc(8 / 1440 * 100vw)) min(16px, calc(16 / 1440 * 100vw));
      font-size: min(calc(var(--fs-xl) * 1px), calc(var(--fs-xl) / 1440 * 100vw));
      margin-top: min(8px, calc(8 / 1440 * 100vw));
      gap: min(12px, calc(12 / 1440 * 100vw));
    }
  }
  .methodList li a span::before {
    content: "";
    display: block;
    width: calc(14 / 390 * 100vw);
    height: calc(14 / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .methodList li a span::before {
      width: min(24px, calc(24 / 1440 * 100vw));
      height: min(24px, calc(24 / 1440 * 100vw));
    }
  }
  .methodList li a span::after {
    content: "";
    display: block;
    width: calc(14 / 390 * 100vw);
    height: calc(14 / 390 * 100vw);
    -webkit-mask-image: url(/images/icon_arrow_next.svg);
    mask-image: url(/images/icon_arrow_next.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-third);
    transition: background-color var(--transition-speed) var(--bezier);
  }
  @media print, screen and (min-width: 768px) {
    .methodList li a span::after {
      width: min(24px, calc(24 / 1440 * 100vw));
      height: min(24px, calc(24 / 1440 * 100vw));
      translate: 0 min(1px, calc(1 / 1440 * 100vw));
    }
  }
  #topCheck {
    background-color: var(--color-background);
    padding-block: calc(32 / 390 * 100vw) calc(56 / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    #topCheck {
      padding-block: min(56px, calc(56 / 1440 * 100vw)) min(96px, calc(96 / 1440 * 100vw));
    }
  }
  #topCheck .inner {
    padding-left: calc(var(--container-padding-sp) / 390 * 100vw);
    padding-right: calc(var(--container-padding-sp) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    #topCheck .inner {
      padding-left: unset;
      padding-right: unset;
      margin-inline: auto;
      width: min(1026px, calc(1026 / 1440 * 100vw));
    }
  }
  #topCheck .inner .line h2 {
    text-align: center;
  }
  #topCheck .inner .line a {
    display: block;
    margin-top: calc(16 / 390 * 100vw);
    transition: opacity 0.3s var(--bezier);
  }
  #topCheck .inner .line a:hover {
    opacity: 0.7;
  }
  @media print, screen and (min-width: 768px) {
    #topCheck .inner .line a {
      margin-top: min(16px, calc(16 / 1440 * 100vw));
    }
  }
  #topCheck .inner .banner {
    margin-top: calc(56 / 390 * 100vw);
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    gap: calc(16 / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    #topCheck .inner .banner {
      margin-top: min(56px, calc(56 / 1440 * 100vw));
      grid-template-columns: repeat(2, 1fr);
      gap: min(32px, calc(32 / 1440 * 100vw));
    }
  }
  #topCheck .inner .banner li a {
    display: block;
    transition: opacity 0.3s var(--bezier);
  }
  #topCheck .inner .banner li a:hover {
    opacity: 0.7;
  }
  #topStoreInfo {
    background-color: var(--color-gray-strong);
    padding-block: calc(56 / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    #topStoreInfo {
      padding-block: min(56px, calc(56 / 1440 * 100vw));
    }
  }
  #topStoreInfo .inner {
    padding-left: calc(var(--container-padding-sp) / 390 * 100vw);
    padding-right: calc(var(--container-padding-sp) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    #topStoreInfo .inner {
      padding-left: unset;
      padding-right: unset;
      margin-inline: auto;
      width: min(1026px, calc(1026 / 1440 * 100vw));
    }
  }
  @media print, screen and (min-width: 768px) {
    #topStoreInfo .inner {
      display: grid;
      grid-template: "title image" auto "text image" auto/1fr min(600px, calc(600 / 1440 * 100vw));
      gap: min(48px, calc(48 / 1440 * 100vw)) min(64px, calc(64 / 1440 * 100vw));
    }
  }
  #topStoreInfo .inner .title {
    text-align: center;
  }
  @media print, screen and (min-width: 768px) {
    #topStoreInfo .inner .title {
      -ms-grid-row: 1;
      -ms-grid-column: 1;
      grid-area: title;
      text-align: left;
      padding-top: min(20px, calc(20 / 1440 * 100vw));
    }
    @media print, screen and (min-width: 768px){
    .pNewsSet > .title {
        -ms-grid-row: 1;
        -ms-grid-column: 5;
        -ms-grid-column-span: 1;
    }
    .article-wrapper > .nav {
        -ms-grid-row: 1;
        -ms-grid-column: 3;
    }
    #topMain .inner > .nav {
        -ms-grid-row: 1;
        -ms-grid-column: 1;
    }
    .pNewsSet > #spMenuTitle {
        -ms-grid-row: 1;
        -ms-grid-column: 5;
        -ms-grid-column-span: 1;
    }
    .pNewsSet .date {
        -ms-grid-row: 1;
        -ms-grid-column: 1;
    }
    .pNewsSet .pTagSet {
        -ms-grid-row: 1;
        -ms-grid-column: 3;
    }
    .pNewsSet > .title {
        -ms-grid-row: 1;
        -ms-grid-column: 5;
        -ms-grid-column-span: 1;
    }
    .pArticleList .pNewsDate {
        -ms-grid-row: 1;
        -ms-grid-column: 1;
    }
    .article-wrapper > .article-nav {
        -ms-grid-row: 1;
        -ms-grid-column: 3;
    }
    #topMain .inner > .article-nav {
        -ms-grid-row: 1;
        -ms-grid-column: 1;
    }
    .article-wrapper > .article-contents {
        -ms-grid-row: 1;
        -ms-grid-column: 1;
    }
    .article-wrapper > #topMainNav {
        -ms-grid-row: 1;
        -ms-grid-column: 3;
    }
    #topMain .inner > #topMainNav {
        -ms-grid-row: 1;
        -ms-grid-column: 1;
    }
    #topLineup {
        -ms-grid-row: 1;
        -ms-grid-column: 3;
    }
    .pNewsSet > .title {
        -ms-grid-row: 1;
        -ms-grid-column: 5;
        -ms-grid-column-span: 1;
    }
    }
  }
  #topStoreInfo .inner .title p img {
    width: calc(164 / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    #topStoreInfo .inner .title p img {
      width: min(260px, calc(260 / 1440 * 100vw));
    }
  }
  #topStoreInfo .inner .title h2 {
    color: var(--color-text-on-accent);
    font-size: calc(var(--fs-m) / 390 * 100vw);
    font-weight: var(--font-weight-medium);
    line-height: 150%;
    margin-top: calc(8 / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    #topStoreInfo .inner .title h2 {
      font-size: min(calc(var(--fs-l) * 1px), calc(var(--fs-l) / 1440 * 100vw));
      margin-top: min(24px, calc(24 / 1440 * 100vw));
    }
  }
  #topStoreInfo .inner .image {
    margin-top: calc(24 / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    #topStoreInfo .inner .image {
      -ms-grid-row: 1;
      -ms-grid-column: 1;
      margin-top: unset;
      grid-area: image;
    }
    @media print, screen and (min-width: 768px){
    .pArticleList > .image {
        -ms-grid-row: 1;
        -ms-grid-row-span: 7;
        -ms-grid-column: 1;
    }
    .component.type_catchcopy_image .inner > .image {
        -ms-grid-row: 1;
        -ms-grid-row-span: 1;
        -ms-grid-column: 5;
        -ms-grid-column-span: 3;
    }
    .component.type_catchcopy_image .inner.reverse > .image {
        -ms-grid-row: 1;
        -ms-grid-row-span: 1;
        -ms-grid-column: 1;
        -ms-grid-column-span: 2;
    }
    #topStoreInfo .inner > .image {
        -ms-grid-row: 1;
        -ms-grid-row-span: 3;
        -ms-grid-column: 3;
        -ms-grid-column-span: 1;
    }
    .pArticleList > .heading {
        -ms-grid-row: 5;
        -ms-grid-column: 3;
    }
    .component.type_catchcopy .inner > .heading {
        -ms-grid-row: 1;
        -ms-grid-column: 1;
        -ms-grid-column-span: 3;
    }
    .component.type_column .container .inner.normal > .heading {
        -ms-grid-row: 1;
        -ms-grid-column: 2;
        -ms-grid-column-span: 1;
    }
    .component.type_column .container .inner.reverse > .heading {
        -ms-grid-row: 1;
        -ms-grid-column: 1;
        -ms-grid-column-span: 1;
    }
    .pArticleList > .image {
        -ms-grid-row: 1;
        -ms-grid-row-span: 7;
        -ms-grid-column: 1;
    }
    .component.type_catchcopy_image .inner > .image {
        -ms-grid-row: 1;
        -ms-grid-row-span: 1;
        -ms-grid-column: 5;
        -ms-grid-column-span: 3;
    }
    .component.type_catchcopy_image .inner.reverse > .image {
        -ms-grid-row: 1;
        -ms-grid-row-span: 1;
        -ms-grid-column: 1;
        -ms-grid-column-span: 2;
    }
    #topStoreInfo .inner > .image {
        -ms-grid-row: 1;
        -ms-grid-row-span: 3;
        -ms-grid-column: 3;
        -ms-grid-column-span: 1;
    }
    .pArticleList .pTagSet {
        -ms-grid-row: 3;
        -ms-grid-column: 3;
    }
    .pArticleList > .pHeadingSmall {
        -ms-grid-row: 5;
        -ms-grid-column: 3;
    }
    .component.type_catchcopy .inner > .pHeadingSmall {
        -ms-grid-row: 1;
        -ms-grid-column: 1;
        -ms-grid-column-span: 3;
    }
    .component.type_column .container .inner.normal > .pHeadingSmall {
        -ms-grid-row: 1;
        -ms-grid-column: 2;
        -ms-grid-column-span: 1;
    }
    .component.type_column .container .inner.reverse > .pHeadingSmall {
        -ms-grid-row: 1;
        -ms-grid-column: 1;
        -ms-grid-column-span: 1;
    }
    .pServiceIcon::before {
        -ms-grid-row: 1;
        -ms-grid-column: 1;
    }
    .pArticleList > .pHeadingMedium {
        -ms-grid-row: 5;
        -ms-grid-column: 3;
    }
    .component.type_catchcopy .inner > .pHeadingMedium {
        -ms-grid-row: 1;
        -ms-grid-column: 1;
        -ms-grid-column-span: 3;
    }
    .component.type_column .container .inner.normal > .pHeadingMedium {
        -ms-grid-row: 1;
        -ms-grid-column: 2;
        -ms-grid-column-span: 1;
    }
    .component.type_column .container .inner.reverse > .pHeadingMedium {
        -ms-grid-row: 1;
        -ms-grid-column: 1;
        -ms-grid-column-span: 1;
    }
    .component.type_catchcopy .inner .pLead {
        -ms-grid-row: 3;
        -ms-grid-column: 1;
    }
    .component.type_catchcopy .inner .pButton {
        -ms-grid-row: 5;
        -ms-grid-column: 1;
        -ms-grid-column-span: 3;
    }
    .component.type_column .container .inner.normal > .pButton {
        -ms-grid-row: 4;
        -ms-grid-column: 2;
        -ms-grid-column-span: 1;
    }
    .component.type_column .container .inner.reverse > .pButton {
        -ms-grid-row: 4;
        -ms-grid-column: 1;
        -ms-grid-column-span: 1;
    }
    #topMethod .inner > .pButton {
        -ms-grid-row: 3;
        -ms-grid-column: 1;
        -ms-grid-column-span: 3;
    }
    .pArticleList > .image {
        -ms-grid-row: 1;
        -ms-grid-row-span: 7;
        -ms-grid-column: 1;
    }
    .component.type_catchcopy_image .inner > .image {
        -ms-grid-row: 1;
        -ms-grid-row-span: 1;
        -ms-grid-column: 5;
        -ms-grid-column-span: 3;
    }
    .component.type_catchcopy_image .inner.reverse > .image {
        -ms-grid-row: 1;
        -ms-grid-row-span: 1;
        -ms-grid-column: 1;
        -ms-grid-column-span: 2;
    }
    #topStoreInfo .inner > .image {
        -ms-grid-row: 1;
        -ms-grid-row-span: 3;
        -ms-grid-column: 3;
        -ms-grid-column-span: 1;
    }
    .component.type_text_image .inner .images {
        -ms-grid-row: 1;
        -ms-grid-column: 1;
    }
    .component.type_text_image .inner.reverse > .images {
        -ms-grid-row: 1;
        -ms-grid-column: 2;
    }
    .component.type_column .container .inner.normal > .images {
        -ms-grid-row: 1;
        -ms-grid-row-span: 4;
        -ms-grid-column: 1;
    }
    .component.type_column .container .inner.reverse > .images {
        -ms-grid-row: 1;
        -ms-grid-row-span: 4;
        -ms-grid-column: 2;
    }
    .component.type_text_map .inner .pMapCaption {
        -ms-grid-row: 1;
        -ms-grid-column: 1;
    }
    .component.type_text_map .inner.reverse > .pMapCaption {
        -ms-grid-row: 1;
        -ms-grid-column: 2;
    }
    .pArticleList > .pHeadingMedium {
        -ms-grid-row: 5;
        -ms-grid-column: 3;
    }
    .component.type_catchcopy .inner > .pHeadingMedium {
        -ms-grid-row: 1;
        -ms-grid-column: 1;
        -ms-grid-column-span: 3;
    }
    .component.type_column .container .inner.normal > .pHeadingMedium {
        -ms-grid-row: 1;
        -ms-grid-column: 2;
        -ms-grid-column-span: 1;
    }
    .component.type_column .container .inner.reverse > .pHeadingMedium {
        -ms-grid-row: 1;
        -ms-grid-column: 1;
        -ms-grid-column-span: 1;
    }
    .component.type_column .container .inner.normal > .pText.subheading {
        -ms-grid-row: 2;
        -ms-grid-column: 2;
    }
    .component.type_column .container .inner.reverse > .pText.subheading {
        -ms-grid-row: 2;
        -ms-grid-column: 1;
    }
    .component.type_column .container .inner .images {
        -ms-grid-row: 1;
        -ms-grid-column: 1;
    }
    .component.type_text_image .inner.reverse > .images {
        -ms-grid-row: 1;
        -ms-grid-column: 2;
    }
    .component.type_column .container .inner.normal > .images {
        -ms-grid-row: 1;
        -ms-grid-row-span: 4;
        -ms-grid-column: 1;
    }
    .component.type_column .container .inner.reverse > .images {
        -ms-grid-row: 1;
        -ms-grid-row-span: 4;
        -ms-grid-column: 2;
    }
    .component.type_column .container .inner .button {
        -ms-grid-row: 5;
        -ms-grid-column: 1;
        -ms-grid-column-span: 3;
    }
    .component.type_column .container .inner.normal > .button {
        -ms-grid-row: 4;
        -ms-grid-column: 2;
        -ms-grid-column-span: 1;
    }
    .component.type_column .container .inner.reverse > .button {
        -ms-grid-row: 4;
        -ms-grid-column: 1;
        -ms-grid-column-span: 1;
    }
    #topMethod .inner > .button {
        -ms-grid-row: 3;
        -ms-grid-column: 1;
        -ms-grid-column-span: 3;
    }
    .pArticleList > h2 {
        -ms-grid-row: 5;
        -ms-grid-column: 3;
    }
    .component.type_catchcopy .inner > h2 {
        -ms-grid-row: 1;
        -ms-grid-column: 1;
        -ms-grid-column-span: 3;
    }
    .component.type_column .container .inner.normal > h2 {
        -ms-grid-row: 1;
        -ms-grid-column: 2;
        -ms-grid-column-span: 1;
    }
    .component.type_column .container .inner.reverse > h2 {
        -ms-grid-row: 1;
        -ms-grid-column: 1;
        -ms-grid-column-span: 1;
    }
    #topMethod .inner .button {
        -ms-grid-row: 5;
        -ms-grid-column: 1;
        -ms-grid-column-span: 3;
    }
    .component.type_column .container .inner.normal > .button {
        -ms-grid-row: 4;
        -ms-grid-column: 2;
        -ms-grid-column-span: 1;
    }
    .component.type_column .container .inner.reverse > .button {
        -ms-grid-row: 4;
        -ms-grid-column: 1;
        -ms-grid-column-span: 1;
    }
    #topMethod .inner > .button {
        -ms-grid-row: 3;
        -ms-grid-column: 1;
        -ms-grid-column-span: 3;
    }
    .pArticleList > .image {
        -ms-grid-row: 1;
        -ms-grid-row-span: 7;
        -ms-grid-column: 1;
    }
    .component.type_catchcopy_image .inner > .image {
        -ms-grid-row: 1;
        -ms-grid-row-span: 1;
        -ms-grid-column: 5;
        -ms-grid-column-span: 3;
    }
    .component.type_catchcopy_image .inner.reverse > .image {
        -ms-grid-row: 1;
        -ms-grid-row-span: 1;
        -ms-grid-column: 1;
        -ms-grid-column-span: 2;
    }
    #topStoreInfo .inner > .image {
        -ms-grid-row: 1;
        -ms-grid-row-span: 3;
        -ms-grid-column: 3;
        -ms-grid-column-span: 1;
    }
    }
  }
  #topStoreInfo .inner .text {
    margin-top: calc(24 / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    #topStoreInfo .inner .text {
      -ms-grid-row: 1;
      -ms-grid-column: 3;
      margin-top: unset;
      grid-area: text;
      align-self: end;
      padding-bottom: min(20px, calc(20 / 1440 * 100vw));
    }
  }
  #topStoreInfo .inner .text p {
    color: var(--color-text-on-accent);
    font-size: calc(var(--fs-m) / 390 * 100vw);
    font-weight: var(--font-weight-regular);
    line-height: 150%;
  }
  @media print, screen and (min-width: 768px) {
    #topStoreInfo .inner .text p {
      font-size: min(calc(var(--fs-xl) * 1px), calc(var(--fs-xl) / 1440 * 100vw));
      line-height: 175%;
    }
  }
  #topStoreInfo .inner .text .pButton {
    margin-top: calc(24 / 390 * 100vw);
    margin-inline: auto;
  }
  @media print, screen and (min-width: 768px) {
    #topStoreInfo .inner .text .pButton {
      margin-top: min(48px, calc(48 / 1440 * 100vw));
      margin-inline: unset;
    }
  }
  #topColumn {
    background-color: var(--color-border);
    padding-block: calc(56 / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    #topColumn {
      padding-block: min(56px, calc(56 / 1440 * 100vw));
    }
  }
  #topColumn .inner .topTitle {
    margin-inline: calc(24 / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    #topColumn .inner .topTitle {
      margin-inline: unset;
      padding-left: calc(var(--container-padding-sp) / 390 * 100vw);
      padding-right: calc(var(--container-padding-sp) / 390 * 100vw);
    }
  }
  @media print, screen and (min-width: 768px) and (min-width: 768px) {
    #topColumn .inner .topTitle {
      padding-left: unset;
      padding-right: unset;
      margin-inline: auto;
      width: min(1026px, calc(1026 / 1440 * 100vw));
    }
  }
  #topColumn .inner .swiper {
    margin-top: calc(32 / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    #topColumn .inner .swiper {
      margin-top: min(56px, calc(56 / 1440 * 100vw));
    }
  }
  #topColumn .inner .swiper .swiper-slide {
    height: auto;
    background-color: var(--color-surface);
    padding: calc(24 / 390 * 100vw);
    border-radius: calc(var(--border-radius-small) / 390 * 100vw);
    width: calc(280 / 390 * 100vw);
    margin-inline: calc(8 / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    #topColumn .inner .swiper .swiper-slide {
      padding: min(24px, calc(24 / 1440 * 100vw));
      width: min(330px, calc(330 / 1440 * 100vw));
      margin-inline: min(12px, calc(12 / 1440 * 100vw));
      border-radius: min(calc(var(--border-radius-medium) * 1px), calc(var(--border-radius-medium) / 1440 * 100vw));
    }
  }
  #topColumn .inner .swiper .swiper-slide a {
    height: 100%;
    display: block;
  }
  #topColumn .inner .swiper .swiper-slide a figure img {
    aspect-ratio: 232/154;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center;
    object-position: center;
    border-radius: calc(var(--border-radius-medium) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    #topColumn .inner .swiper .swiper-slide a figure img {
      border-radius: min(calc(var(--border-radius-medium) * 1px), calc(var(--border-radius-medium) / 1440 * 100vw));
    }
  }
  #topColumn .inner .swiper .swiper-slide a figure figcaption {
    margin-top: calc(8 / 390 * 100vw);
    color: var(--color-text);
    text-align: right;
    font-size: calc(var(--fs-s) / 390 * 100vw);
    font-weight: var(--font-weight-regular);
    line-height: 150%;
  }
  @media print, screen and (min-width: 768px) {
    #topColumn .inner .swiper .swiper-slide a figure figcaption {
      margin-top: min(8px, calc(8 / 1440 * 100vw));
      font-size: min(calc(var(--fs-s) * 1px), calc(var(--fs-s) / 1440 * 100vw));
    }
  }
  #topColumn .inner .swiper .swiper-slide a h3 {
    margin-top: calc(8 / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    #topColumn .inner .swiper .swiper-slide a h3 {
      margin-top: min(8px, calc(8 / 1440 * 100vw));
      font-size: min(calc(var(--fs-l) * 1px), calc(var(--fs-l) / 1440 * 100vw));
      line-height: 144%;
    }
  }
  #topColumn .inner .swiper .swiper-button-next, #topColumn .inner .swiper .swiper-button-prev {
    width: calc(34 / 390 * 100vw);
    height: calc(34 / 390 * 100vw);
    align-items: center;
    justify-content: center;
    background-color: var(--color-background-strong);
    border-radius: 50%;
    position: absolute;
    top: 50%;
    transition: background-color var(--transition-speed) var(--bezier);
  }
  @media print, screen and (min-width: 768px) {
    #topColumn .inner .swiper .swiper-button-next, #topColumn .inner .swiper .swiper-button-prev {
      width: min(45px, calc(45 / 1440 * 100vw));
      height: min(45px, calc(45 / 1440 * 100vw));
    }
  }
  @media (any-hover: hover) {
    #topColumn .inner .swiper .swiper-button-next:hover, #topColumn .inner .swiper .swiper-button-prev:hover {
      background-color: var(--color-brand);
    }
  }
  #topColumn .inner .swiper .swiper-button-next::after, #topColumn .inner .swiper .swiper-button-prev::after {
    content: none;
  }
  #topColumn .inner .swiper .swiper-button-next::before, #topColumn .inner .swiper .swiper-button-prev::before {
    content: "";
    -webkit-mask-image: url(/images/icon_arrow_next.svg);
    mask-image: url(/images/icon_arrow_next.svg);
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    width: calc(20 / 390 * 100vw);
    height: calc(20 / 390 * 100vw);
    background-color: var(--color-text-on-accent);
  }
  @media print, screen and (min-width: 768px) {
    #topColumn .inner .swiper .swiper-button-next::before, #topColumn .inner .swiper .swiper-button-prev::before {
      width: min(26px, calc(26 / 1440 * 100vw));
      height: min(26px, calc(26 / 1440 * 100vw));
    }
  }
  #topColumn .inner .swiper .swiper-button-next:not(.swiper-button-disabled), #topColumn .inner .swiper .swiper-button-prev:not(.swiper-button-disabled) {
    display: flex;
  }
  #topColumn .inner .swiper .swiper-button-next.swiper-button-disabled, #topColumn .inner .swiper .swiper-button-prev.swiper-button-disabled {
    opacity: 0;
  }
  #topColumn .inner .swiper .swiper-button-prev {
    left: calc(24 / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    #topColumn .inner .swiper .swiper-button-prev {
      left: auto;
      right: 50%;
      translate: max(-640px, calc(-640 / 1440 * 100vw)) 0;
    }
  }
  #topColumn .inner .swiper .swiper-button-prev::before {
    -webkit-mask-image: url(/images/icon_arrow_prev.svg);
    mask-image: url(/images/icon_arrow_prev.svg);
  }
  #topColumn .inner .swiper .swiper-button-next {
    right: calc(24 / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    #topColumn .inner .swiper .swiper-button-next {
      right: auto;
      left: 50%;
      translate: max(596px, calc(596 / 1440 * 100vw)) 0;
    }
  }
  #topColumn .inner .button {
    margin-top: calc(24 / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    #topColumn .inner .button {
      margin-top: min(56px, calc(56 / 1440 * 100vw));
    }
  }
  #topColumn .inner .button .pButton {
    margin-inline: auto;
  }
  .topTitle {
    text-align: center;
    padding-bottom: calc(18 / 390 * 100vw);
    border-bottom: calc(6 / 390 * 100vw) solid var(--color-black);
  }
  @media print, screen and (min-width: 768px) {
    .topTitle {
      padding-bottom: min(24px, calc(24 / 1440 * 100vw));
      border-bottom: min(8px, calc(8 / 1440 * 100vw)) solid var(--color-black);
      display: flex;
      align-items: center;
      justify-content: flex-start;
      gap: min(20px, calc(20 / 1440 * 100vw));
    }
  }
  .topTitle p img {
    height: calc(35 / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .topTitle p img {
      height: min(56px, calc(56 / 1440 * 100vw));
    }
  }
  .topTitle h2 {
    font-size: calc(var(--fs-m) / 390 * 100vw);
    font-weight: var(--font-weight-medium);
    line-height: 150%;
    margin-top: calc(8 / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .topTitle h2 {
      font-size: min(calc(var(--fs-xl) * 1px), calc(var(--fs-xl) / 1440 * 100vw));
      margin-top: unset;
    }
  }
  #topNews {
    padding-top: calc(56 / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    #topNews {
      padding-top: min(96px, calc(96 / 1440 * 100vw));
    }
  }
  #topNews .topTitle {
    margin-inline: calc(24 / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    #topNews .topTitle {
      margin-inline: unset;
      padding-left: calc(var(--container-padding-sp) / 390 * 100vw);
      padding-right: calc(var(--container-padding-sp) / 390 * 100vw);
    }
  }
  @media print, screen and (min-width: 768px) and (min-width: 768px) {
    #topNews .topTitle {
      padding-left: unset;
      padding-right: unset;
      margin-inline: auto;
      width: min(1026px, calc(1026 / 1440 * 100vw));
    }
  }
  #topNews .newsList {
    margin-top: calc(24 / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    #topNews .newsList {
      margin-top: min(56px, calc(56 / 1440 * 100vw));
    }
  }
  #topNews .button {
    margin-top: calc(24 / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    #topNews .button {
      margin-top: min(56px, calc(56 / 1440 * 100vw));
    }
  }
  #topNews .button .pButton {
    margin-inline: auto;
  }
  #topRelate {
    margin-top: calc(56 / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    #topRelate {
      margin-top: min(56px, calc(56 / 1440 * 100vw));
    }
  }
  #topRelate .inner {
    padding-left: calc(var(--container-padding-sp) / 390 * 100vw);
    padding-right: calc(var(--container-padding-sp) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    #topRelate .inner {
      padding-left: unset;
      padding-right: unset;
      margin-inline: auto;
      width: min(1026px, calc(1026 / 1440 * 100vw));
    }
  }
  #topRelate .inner h2 {
    text-align: center;
  }
  #topRelate .inner .banner {
    margin-top: calc(24 / 390 * 100vw);
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    gap: calc(16 / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    #topRelate .inner .banner {
      margin-top: min(24px, calc(24 / 1440 * 100vw));
      grid-template-columns: repeat(2, 1fr);
      gap: min(32px, calc(32 / 1440 * 100vw));
    }
  }
  #topRelate .inner .banner a {
    display: block;
    transition: opacity 0.3s var(--bezier);
  }
  #topRelate .inner .banner a:hover {
    opacity: 0.7;
  }
  @media (any-hover: hover) {
    .pNewsSet:hover .title {
      text-decoration: none;
    }
  }
  .pLocalnavBottom {
    text-decoration: underline;
  }
  .pLocalnavBottom.is-active {
    color: var(--color-brand);
    text-decoration: none;
  }
  @media (any-hover: hover) {
    .pLocalnavBottom:hover {
      text-decoration: none;
    }
  }
  .pAttachment a {
    transition: opacity 0.3s var(--bezier);
  }
  .pAttachment a:hover {
    opacity: 0.7;
  }
  .pText a {
    text-decoration: underline;
  }
  @media (any-hover: hover) {
    .pText a:hover {
      text-decoration: none;
    }
  }
  .pFaq {
    transition: background-color var(--transition-speed) var(--bezier);
  }
  @media (any-hover: hover) {
    .pFaq:hover {
      background-color: var(--color-background);
    }
  }
  @media (any-hover: hover) {
    .pArticleNav:hover {
      text-decoration: underline;
    }
  }
}
@layer news {
  @font-face {
    font-family: "icomoon";
    src: url("/fonts/icomoon.eot?upai3n");
    src: url("/fonts/icomoon.eot?upai3n#iefix") format("embedded-opentype"), url("/fonts/icomoon.ttf?upai3n") format("truetype"), url("/fonts/icomoon.woff?upai3n") format("woff"), url("/fonts/icomoon.svg?upai3n#icomoon") format("svg");
    font-weight: normal;
    font-style: normal;
    font-display: block;
  }
  [class^=icon-],
[class*=" icon-"] {
    /* use !important to prevent issues with browser extensions that change fonts */
    font-family: "icomoon" !important;
    speak: never;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    /* Better Font Rendering =========== */
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
  }
  .icon-code-branch:before {
    content: "\e900";
  }
  .icon-subway:before {
    content: "\e901";
  }
  .icon-expand-arrows:before {
    content: "\e902";
  }
  .icon-couch:before {
    content: "\e903";
  }
  .icon-person-carry:before {
    content: "\e904";
  }
  .icon-people-carry:before {
    content: "\e905";
  }
  .icon-truck-moving:before {
    content: "\e906";
  }
  .icon-tag:before {
    content: "\e907";
  }
  .icon-store:before {
    content: "\e908";
  }
  .icon-box-full:before {
    content: "\e909";
  }
  .icon-car:before {
    content: "\e90a";
  }
  .icon-sparkles:before {
    content: "\e90b";
  }
  .icon-box-open:before {
    content: "\e90c";
  }
  .icon-bars:before {
    content: "\e90d";
  }
  .icon-arrow-left-l:before {
    content: "\e90e";
  }
  .icon-search:before {
    content: "\e90f";
  }
  .icon-mobile:before {
    content: "\e910";
  }
  .icon-desktop:before {
    content: "\e911";
  }
  .icon-hand-holding-box:before {
    content: "\e912";
  }
  .icon-truck:before {
    content: "\e913";
  }
  .icon-external-link-alt:before {
    content: "\e914";
  }
  .icon-arrow-down-s:before {
    content: "\e915";
  }
  .icon-arrow-right-l:before {
    content: "\e916";
  }
  .icon-arrow-right-r:before {
    content: "\e917";
  }
  .icon-sort:before {
    content: "\e918";
  }
  .icon-arrow-right-s:before {
    content: "\e919";
  }
  .icon-envelope:before {
    content: "\e91a";
  }
  .icon-tools:before {
    content: "\e91b";
  }
  #news-dtl .news-wrapper {
    margin-top: calc(24 / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    #news-dtl .news-wrapper {
      margin-top: min(56px, calc(56 / 1440 * 100vw));
      padding-left: calc(var(--container-padding-sp) / 390 * 100vw);
      padding-right: calc(var(--container-padding-sp) / 390 * 100vw);
      display: flex;
      gap: min(40px, calc(40 / 1440 * 100vw));
    }
  }
  @media print, screen and (min-width: 768px) and (min-width: 768px) {
    #news-dtl .news-wrapper {
      padding-left: unset;
      padding-right: unset;
      margin-inline: auto;
      width: min(1240px, calc(1240 / 1440 * 100vw));
    }
  }
  @media print, screen and (min-width: 768px) {
    #news-dtl .news-wrapper #main-contents {
      width: min(946px, calc(946 / 1440 * 100vw));
    }
  }
  #news-dtl .post__article {
    padding: calc(14 / 390 * 100vw) calc(20 / 390 * 100vw);
    background: #fff;
    border-radius: 5px;
  }
  @media print, screen and (min-width: 768px) {
    #news-dtl .post__article {
      padding: min(24px, calc(24 / 1440 * 100vw)) min(32px, calc(32 / 1440 * 100vw)) min(64px, calc(64 / 1440 * 100vw));
    }
  }
  #news-dtl .post__article .post__meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    padding-bottom: 0.6rem;
  }
  #news-dtl .post__article .post__meta .c-item__date {
    padding-bottom: 0;
  }
  #news-dtl .post__article .post__cat {
    margin-right: calc(8 / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    #news-dtl .post__article .post__cat {
      margin-right: min(8px, calc(8 / 1440 * 100vw));
    }
  }
  #news-dtl .post__article .post__cat .c-category:not(:last-child) {
    margin-right: 1rem;
  }
  @media print, screen and (min-width: 768px) {
    #news-dtl .post__article .post__cat .c-category:not(:last-child) {
      margin-right: min(10px, calc(10 / 1440 * 100vw));
    }
  }
  #news-dtl .post__article .post__title {
    font-size: calc(22 / 390 * 100vw);
    font-weight: bold;
    padding-bottom: 1rem;
    line-height: 140%;
  }
  @media print, screen and (min-width: 768px) {
    #news-dtl .post__article .post__title {
      font-size: min(32px, calc(32 / 1440 * 100vw));
      padding-bottom: min(10px, calc(10 / 1440 * 100vw));
    }
  }
  #news-dtl #ez-toc-container {
    border-radius: 0;
    border: none;
    padding: calc(12 / 390 * 100vw);
    margin-bottom: calc(24 / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    #news-dtl #ez-toc-container {
      padding: min(24px, calc(24 / 1440 * 100vw)) min(32px, calc(32 / 1440 * 100vw));
      margin-bottom: min(24px, calc(24 / 1440 * 100vw));
    }
  }
  #news-dtl div#ez-toc-container p.ez-toc-title {
    display: flex;
    align-items: center;
    margin-bottom: 2rem;
  }
  #news-dtl div#ez-toc-container p.ez-toc-title:before {
    font-family: "icomoon" !important;
    speak: none;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    content: "\e923";
    font-size: calc(16 / 390 * 100vw);
    color: #d91616;
    margin-right: 1rem;
  }
  @media print, screen and (min-width: 768px) {
    #news-dtl div#ez-toc-container p.ez-toc-title:before {
      font-size: min(26px, calc(26 / 1440 * 100vw));
      margin-right: min(10px, calc(10 / 1440 * 100vw));
    }
  }
  #news-dtl div#ez-toc-container ul.ez-toc-list li:before {
    content: none;
  }
  #news-dtl div#ez-toc-container ul.ez-toc-list a {
    display: block;
    margin-bottom: 0.6rem;
  }
  #news-dtl #ez-toc-container.counter-decimal ul.ez-toc-list li a::before,
#news-dtl .ez-toc-widget-container.counter-decimal ul.ez-toc-list li a::before {
    color: #d91616;
  }
  #news-dtl .share-social {
    background: #fafafa;
    margin-top: calc(32 / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    #news-dtl .share-social {
      margin-top: min(42px, calc(42 / 1440 * 100vw));
    }
  }
  #news-dtl .share-social .share__box {
    justify-content: center;
    align-items: center;
  }
  @media print, screen and (min-width: 768px) {
    #news-dtl .share-social .share__box {
      display: flex;
      gap: min(32px, calc(32 / 1440 * 100vw));
    }
  }
  #news-dtl .share-social .share__list {
    display: flex;
    justify-content: center;
    gap: calc(16 / 390 * 100vw);
    margin: calc(16 / 390 * 100vw) 0 0;
  }
  @media print, screen and (min-width: 768px) {
    #news-dtl .share-social .share__list {
      gap: min(16px, calc(16 / 1440 * 100vw));
      margin: unset;
    }
  }
  #news-dtl .share-social .share__ttl {
    font-size: calc(16 / 390 * 100vw);
    font-weight: 700;
    text-align: center;
  }
  @media print, screen and (min-width: 768px) {
    #news-dtl .share-social .share__ttl {
      font-size: min(16px, calc(16 / 1440 * 100vw));
    }
  }
  #news-dtl .writtenby {
    background: #fff;
    position: relative;
    margin-top: 6rem;
  }
  #news-dtl .writtenby__ttl {
    font-size: 2.2rem;
    font-weight: bold;
    color: #d91616;
    text-align: center;
    position: absolute;
    left: 0;
    right: 0;
    margin: 0 auto;
    top: -3rem;
  }
  #news-dtl .writtenby__ttl span {
    min-width: 260px;
    background: #fff;
    display: inline-block;
    padding: 1.2rem 3rem;
    border-radius: 60px;
  }
  #news-dtl .writtenby__ttl .icon {
    margin-right: 0.5rem;
    font-size: 2.4rem;
  }
  #news-dtl .writtenby__box {
    padding: 4rem;
    display: flex;
  }
  #news-dtl .writtenby__img {
    width: 215px;
  }
  #news-dtl .writtenby__img img {
    width: 215px;
    height: 215px;
  }
  #news-dtl .writtenby__detail {
    flex: 1;
    padding-left: 2rem;
  }
  #news-dtl .writer__name {
    font-size: 2.4rem;
    font-weight: bold;
    padding-top: 0.7rem;
  }
  #news-dtl .writer__info {
    padding-bottom: 1.7rem;
  }
  #news-dtl .writer__social {
    justify-content: flex-end;
  }
  #news-dtl .writer__social li {
    padding-left: 1rem;
  }
  #news-dtl .postnav {
    margin: calc(32 / 390 * 100vw) 0 calc(80 / 390 * 100vw);
    padding-inline: calc(20 / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    #news-dtl .postnav {
      margin: min(32px, calc(32 / 1440 * 100vw)) 0 0;
      padding-inline: unset;
      display: grid;
      grid-template: "prev back next" auto/1fr auto 1fr;
      align-items: center;
      gap: min(32px, calc(32 / 1440 * 100vw));
    }
  }
  #news-dtl .postnav .post-label {
    line-height: 1.75;
  }
  @media print, screen and (min-width: 768px) {
    #news-dtl .postnav .post-label {
      -ms-grid-row: 1;
      -ms-grid-column: 1;
      grid-area: prev;
      font-size: min(16px, calc(16 / 1440 * 100vw));
    }
  }
  #news-dtl .postnav .post-label a {
    display: block;
    text-decoration: underline;
    position: relative;
  }
  #news-dtl .postnav .post-label a:before {
    font-family: "icomoon" !important;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    content: "\e917";
    position: absolute;
    color: #d91616;
    top: 50%;
    transform: translateY(-50%);
    font-size: calc(16 / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    #news-dtl .postnav .post-label a:before {
      font-size: min(18px, calc(18 / 1440 * 100vw));
    }
  }
  #news-dtl .postnav .prev-label a {
    padding-left: calc(24 / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    #news-dtl .postnav .prev-label a {
      padding-left: min(24px, calc(24 / 1440 * 100vw));
    }
  }
  #news-dtl .postnav .prev-label a:before {
    left: 0;
  }
  @media print, screen and (min-width: 768px) {
    #news-dtl .postnav .next-label {
      -ms-grid-row: 1;
      -ms-grid-column: 3;
      grid-area: next;
      font-size: min(16px, calc(16 / 1440 * 100vw));
    }
  }
  #news-dtl .postnav .next-label a {
    padding-right: calc(24 / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    #news-dtl .postnav .next-label a {
      padding-right: min(24px, calc(24 / 1440 * 100vw));
    }
  }
  #news-dtl .postnav .next-label a:before {
    right: 0;
  }
  #news-dtl .postnav .btn-back {
    text-align: center;
    margin-block: calc(16 / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    #news-dtl .postnav .btn-back {
      -ms-grid-row: 3;
      -ms-grid-column: 1;
      -ms-grid-column-span: 3;
      grid-area: back;
      margin-block: min(16px, calc(16 / 1440 * 100vw));
    }
    @media print, screen and (min-width: 768px){
    .navigation.paginationdetail .inner .prev, .paginationdetail.component.type_pagelist .inner .prev {
        -ms-grid-row: 1;
        -ms-grid-column: 1;
    }
    #news-dtl .postnav > .prev, #news-dtl .postnav > .prev {
        -ms-grid-row: 1;
        -ms-grid-column: 1;
    }
    .navigation.paginationdetail .inner .back, .paginationdetail.component.type_pagelist .inner .back {
        -ms-grid-row: 1;
        -ms-grid-column: 3;
        -ms-grid-column-span: 1;
    }
    #news-dtl .postnav > .back, #news-dtl .postnav > .back {
        -ms-grid-row: 1;
        -ms-grid-column: 3;
        -ms-grid-column-span: 1;
    }
    .navigation.paginationdetail .inner .next, .paginationdetail.component.type_pagelist .inner .next {
        -ms-grid-row: 1;
        -ms-grid-column: 5;
    }
    #news-dtl .postnav > .next, #news-dtl .postnav > .next {
        -ms-grid-row: 1;
        -ms-grid-column: 5;
    }
    #topSlider .swiper .navigations .swiper-button-next, #topSlider .swiper .navigations .swiper-button-prev {
        -ms-grid-row: 1;
        -ms-grid-column: 5;
    }
    #news-dtl .postnav > .swiper-button-next, #news-dtl .postnav > .swiper-button-prev {
        -ms-grid-row: 1;
        -ms-grid-column: 5;
    }
    #topSlider .swiper .navigations .swiper-button-prev {
        -ms-grid-row: 1;
        -ms-grid-column: 1;
    }
    #news-dtl .postnav > .swiper-button-prev {
        -ms-grid-row: 1;
        -ms-grid-column: 1;
    }
    #news-dtl .postnav .post-label {
        -ms-grid-row: 1;
        -ms-grid-column: 1;
    }
    #news-dtl .postnav > .post-label {
        -ms-grid-row: 1;
        -ms-grid-column: 1;
    }
    #news-dtl .postnav .next-label {
        -ms-grid-row: 1;
        -ms-grid-column: 5;
    }
    #news-dtl .postnav > .next-label {
        -ms-grid-row: 1;
        -ms-grid-column: 5;
    }
    #news-dtl .postnav .btn-back {
        -ms-grid-row: 1;
        -ms-grid-column: 3;
        -ms-grid-column-span: 1;
    }
    #news-dtl .postnav > .btn-back {
        -ms-grid-row: 1;
        -ms-grid-column: 3;
        -ms-grid-column-span: 1;
    }
    }
  }
  #news-dtl .postnav .btn-back a {
    display: block;
    border: 1px solid #d91616;
    font-size: calc(16 / 390 * 100vw);
    text-align: center;
    padding: calc(18 / 390 * 100vw) calc(64 / 390 * 100vw);
    border-radius: calc(3 / 390 * 100vw);
    color: #d91616;
    width: -moz-fit-content;
    width: fit-content;
    margin-inline: auto;
  }
  @media print, screen and (min-width: 768px) {
    #news-dtl .postnav .btn-back a {
      font-size: min(16px, calc(16 / 1440 * 100vw));
      padding: min(18px, calc(18 / 1440 * 100vw)) min(64px, calc(64 / 1440 * 100vw));
      border-radius: min(3px, calc(3 / 1440 * 100vw));
    }
  }
  @media print, screen and (min-width: 768px) {
    #news-dtl .postnav .btn-back a {
      transition: all 0.2s;
    }
    #news-dtl .postnav .btn-back a:hover {
      background: #d91616;
      color: #fff;
    }
  }
  #news-dtl .related-post-list {
    display: flex;
    margin-top: 2rem;
  }
  #news-dtl .related-post-list .single-topic {
    width: calc(33.3333% - 2.2rem);
  }
  #news-dtl .related-post-list .single-topic:not(:last-child) {
    margin-right: 3.3rem;
  }
  #news-dtl .related-post-list .single-topic a {
    display: block;
  }
  @media (min-width: 960px) {
    #news-dtl .related-post-list .single-topic a:hover .single-topic__img {
      opacity: 0.8;
    }
  }
  #news-dtl .related-post-list .single-topic__img {
    margin-bottom: 0.5rem;
    transition: all 0.2s;
    position: relative;
    overflow: hidden;
    background: #fafafa;
  }
  #news-dtl .related-post-list .single-topic__img:before {
    content: "";
    padding-top: 68.5%;
    display: block;
  }
  #news-dtl .related-post-list .single-topic__img img {
    position: absolute;
    left: 0;
    right: 0;
    margin: 0 auto;
    top: 50%;
    transform: translateY(-50%);
  }
  #news-dtl .related-post-list .c-item__date {
    text-align: left;
    font-size: 1.4rem;
    padding-bottom: 0;
  }
  #news-dtl .related-post-list .single-topic__title {
    line-height: 1.75;
    text-decoration: underline;
  }
  .c-category {
    border: 2px solid #ffea30;
    background: #ffea30;
    font-size: calc(12 / 390 * 100vw);
    font-weight: bold;
    display: inline-block;
    border-radius: 5px;
    padding: calc(2 / 390 * 100vw) calc(4 / 390 * 100vw);
    line-height: 1.2;
  }
  @media print, screen and (min-width: 768px) {
    .c-category {
      font-size: min(16px, calc(16 / 1440 * 100vw));
      padding: min(4px, calc(4 / 1440 * 100vw)) min(12px, calc(12 / 1440 * 100vw));
    }
  }
  .c-item__date {
    font-size: calc(12 / 390 * 100vw);
    text-align: center;
    color: #666;
    padding-bottom: 0.5rem;
  }
  @media print, screen and (min-width: 768px) {
    .c-item__date {
      font-size: min(16px, calc(16 / 1440 * 100vw));
    }
  }
  div#ez-toc-container .ez-toc-title {
    font-size: calc(16 / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    div#ez-toc-container .ez-toc-title {
      font-size: min(24px, calc(24 / 1440 * 100vw));
    }
  }
  div#ez-toc-container .ez-toc-title {
    font-weight: 700;
  }
  div#ez-toc-container ul li, div#ez-toc-container ul li a {
    font-size: calc(14 / 390 * 100vw);
    line-height: 130%;
  }
  @media print, screen and (min-width: 768px) {
    div#ez-toc-container ul li, div#ez-toc-container ul li a {
      font-size: min(16px, calc(16 / 1440 * 100vw));
    }
  }
  div#ez-toc-container nav ul ul {
    margin-left: 1em;
  }
  div#ez-toc-container nav ul ul li {
    font-size: 90%;
  }
  div#ez-toc-container {
    background: #f5f5f5;
    border: 1px solid;
    width: 100%;
  }
  div#ez-toc-container p.ez-toc-title, #ez-toc-container .ez_toc_custom_title_icon, #ez-toc-container .ez_toc_custom_toc_icon {
    color: #111111;
  }
  div#ez-toc-container ul.ez-toc-list a {
    color: #111111;
  }
  div#ez-toc-container ul.ez-toc-list a:hover {
    color: #111111;
  }
  div#ez-toc-container ul.ez-toc-list a:visited {
    color: #111111;
  }
  .ez-toc-box-title {
    font-weight: bold;
    margin-bottom: 10px;
    text-align: center;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: #666;
    padding-bottom: 5px;
    position: absolute;
    top: -4%;
    left: 5%;
    background-color: inherit;
    transition: top 0.3s ease;
  }
  .ez-toc-box-title.toc-closed {
    top: -25%;
  }
  .ez-toc-container-direction {
    direction: ltr;
  }
  .ez-toc-counter ul {
    counter-reset: item;
  }
  .ez-toc-counter nav ul li a::before {
    content: counters(item, ".", decimal) ". ";
    display: inline-block;
    counter-increment: item;
    flex-grow: 0;
    flex-shrink: 0;
    margin-right: 0.2em;
    float: left;
  }
  .ez-toc-widget-direction {
    direction: ltr;
  }
  .ez-toc-widget-container ul {
    counter-reset: item;
  }
  .ez-toc-widget-container nav ul li a::before {
    content: counters(item, ".", decimal) ". ";
    display: inline-block;
    counter-increment: item;
    flex-grow: 0;
    flex-shrink: 0;
    margin-right: 0.2em;
    float: left;
  }
  #post_HCprofile {
    width: 100%;
    padding: calc(12 / 390 * 100vw);
    display: flex;
    border: 2px solid var(--color-brand);
    flex-direction: column;
    gap: calc(16 / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    #post_HCprofile {
      padding: min(32px, calc(32 / 1440 * 100vw));
      gap: min(16px, calc(16 / 1440 * 100vw));
    }
  }
  #post_HCprofile img {
    width: 100%;
  }
  .HCprofile_name {
    width: calc(100 / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .HCprofile_name {
      width: min(100px, calc(100 / 1440 * 100vw));
    }
  }
  .HCprofile_info > p {
    font-weight: bold;
    font-size: calc(16 / 390 * 100vw);
    margin: 0;
  }
  @media print, screen and (min-width: 768px) {
    .HCprofile_info > p {
      font-size: min(16px, calc(16 / 1440 * 100vw));
    }
  }
  .HCprofile_info span {
    font-size: 1.2rem;
  }
  .HCprofile_info div p {
    font-size: calc(14 / 390 * 100vw);
    margin-bottom: calc(10 / 390 * 100vw);
    line-height: 140%;
  }
  @media print, screen and (min-width: 768px) {
    .HCprofile_info div p {
      font-size: min(16px, calc(16 / 1440 * 100vw));
      margin-bottom: min(10px, calc(10 / 1440 * 100vw));
      line-height: 200%;
    }
  }
  #pryc-wp-acctp-original-content {
    line-height: 150%;
  }
  #pryc-wp-acctp-original-content h2 {
    font-size: calc(22 / 390 * 100vw);
    font-weight: bold;
    line-height: 1.5;
    margin: calc(32 / 390 * 100vw) 0 calc(10 / 390 * 100vw);
    padding: calc(12 / 390 * 100vw) calc(16 / 390 * 100vw);
    background: var(--color-brand);
    color: var(--color-text-on-accent);
  }
  @media print, screen and (min-width: 768px) {
    #pryc-wp-acctp-original-content h2 {
      font-size: min(28px, calc(28 / 1440 * 100vw));
      margin: min(48px, calc(48 / 1440 * 100vw)) 0 min(24px, calc(24 / 1440 * 100vw));
      padding: min(12px, calc(12 / 1440 * 100vw)) min(16px, calc(16 / 1440 * 100vw)) min(16px, calc(16 / 1440 * 100vw));
    }
  }
  #pryc-wp-acctp-original-content h3 {
    font-size: calc(20 / 390 * 100vw);
    font-weight: bold;
    margin: calc(24 / 390 * 100vw) 0 calc(10 / 390 * 100vw);
    line-height: 1.5;
    border-top: 1px solid var(--color-brand);
    border-bottom: 1px solid var(--color-brand);
    padding: calc(12 / 390 * 100vw) 0;
  }
  @media print, screen and (min-width: 768px) {
    #pryc-wp-acctp-original-content h3 {
      font-size: min(26px, calc(26 / 1440 * 100vw));
      margin: min(48px, calc(48 / 1440 * 100vw)) 0 min(24px, calc(24 / 1440 * 100vw));
      padding: min(16px, calc(16 / 1440 * 100vw)) 0;
    }
  }
  #pryc-wp-acctp-original-content h4 {
    font-size: calc(20 / 390 * 100vw);
    font-weight: bold;
    margin: calc(24 / 390 * 100vw) 0 calc(12 / 390 * 100vw);
    line-height: 1.5;
    border-bottom: 1px solid var(--color-brand);
    padding: 0 0 calc(2 / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    #pryc-wp-acctp-original-content h4 {
      font-size: min(26px, calc(26 / 1440 * 100vw));
      margin: min(48px, calc(48 / 1440 * 100vw)) 0 min(24px, calc(24 / 1440 * 100vw));
      padding: 0 0 min(2px, calc(2 / 1440 * 100vw));
      border-bottom-width: 2px;
    }
  }
  #pryc-wp-acctp-original-content h5 {
    font-size: calc(20 / 390 * 100vw);
    font-weight: bold;
    margin: calc(20 / 390 * 100vw) 0 calc(8 / 390 * 100vw);
    line-height: 1.5;
  }
  @media print, screen and (min-width: 768px) {
    #pryc-wp-acctp-original-content h5 {
      font-size: min(24px, calc(24 / 1440 * 100vw));
      margin: min(40px, calc(40 / 1440 * 100vw)) 0 min(24px, calc(24 / 1440 * 100vw));
      padding: 0 0 min(2px, calc(2 / 1440 * 100vw));
    }
  }
  #pryc-wp-acctp-original-content p {
    margin: calc(16 / 390 * 100vw) 0 calc(16 / 390 * 100vw);
    word-wrap: break-word;
    word-break: break-all;
    font-size: calc(16 / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    #pryc-wp-acctp-original-content p {
      margin: min(20px, calc(20 / 1440 * 100vw)) 0 min(24px, calc(24 / 1440 * 100vw));
      line-height: 200%;
      font-size: min(16px, calc(16 / 1440 * 100vw));
    }
  }
  #pryc-wp-acctp-original-content p a {
    text-decoration: underline;
    color: var(--color-brand);
  }
  #pryc-wp-acctp-original-content .full {
    margin: calc(8 / 390 * 100vw) 0;
  }
  @media print, screen and (min-width: 768px) {
    #pryc-wp-acctp-original-content .full {
      margin: min(8px, calc(8 / 1440 * 100vw)) 0;
    }
  }
  #pryc-wp-acctp-original-content .wp-caption-text {
    margin-top: 0;
  }
  #pryc-wp-acctp-original-content strong,
#pryc-wp-acctp-original-content b {
    font-weight: bold;
  }
  #pryc-wp-acctp-original-content em {
    font-style: italic;
  }
  #pryc-wp-acctp-original-content blockquote {
    background: #fafafa;
    position: relative;
    padding: calc(22 / 390 * 100vw) calc(16 / 390 * 100vw) calc(12 / 390 * 100vw);
    margin: 4rem 0;
  }
  @media print, screen and (min-width: 768px) {
    #pryc-wp-acctp-original-content blockquote {
      padding: min(24px, calc(24 / 1440 * 100vw)) min(16px, calc(16 / 1440 * 100vw)) min(12px, calc(12 / 1440 * 100vw));
      margin: min(60px, calc(60 / 1440 * 100vw)) 0;
    }
  }
  #pryc-wp-acctp-original-content blockquote:before {
    content: "";
    background: url(../img/news/icn_quote@2x.png) no-repeat center center/cover;
    width: calc(13 / 390 * 100vw);
    height: calc(12 / 390 * 100vw);
    background-size: calc(13 / 390 * 100vw);
    position: absolute;
    top: calc(6 / 390 * 100vw);
    left: calc(10 / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    #pryc-wp-acctp-original-content blockquote:before {
      width: min(13px, calc(13 / 1440 * 100vw));
      height: min(12px, calc(12 / 1440 * 100vw));
      background-size: min(13px, calc(13 / 1440 * 100vw));
      top: min(6px, calc(6 / 1440 * 100vw));
      left: min(10px, calc(10 / 1440 * 100vw));
    }
  }
  #pryc-wp-acctp-original-content blockquote p {
    padding: 0;
    margin: 0;
    color: #777;
  }
  #pryc-wp-acctp-original-content ul,
#pryc-wp-acctp-original-content ol {
    margin: 0 0 calc(12 / 390 * 100vw);
  }
  #pryc-wp-acctp-original-content ul li {
    list-style: none;
    line-height: 1.6;
    padding: 0 0 1rem 0;
    position: relative;
    font-size: calc(14 / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    #pryc-wp-acctp-original-content ul li {
      font-size: min(16px, calc(16 / 1440 * 100vw));
    }
  }
  #pryc-wp-acctp-original-content ul li:before {
    content: "・";
    display: inline-block;
    font-size: calc(14 / 390 * 100vw);
    font-weight: bold;
    margin-right: calc(10 / 390 * 100vw);
    color: var(--color-brand);
  }
  @media print, screen and (min-width: 768px) {
    #pryc-wp-acctp-original-content ul li:before {
      font-size: min(14px, calc(14 / 1440 * 100vw));
      margin-right: min(10px, calc(10 / 1440 * 100vw));
    }
  }
  #pryc-wp-acctp-original-content ul li ul {
    padding-top: calc(4 / 390 * 100vw);
    margin-bottom: 0;
  }
  @media print, screen and (min-width: 768px) {
    #pryc-wp-acctp-original-content ul li ul {
      padding-top: min(4px, calc(4 / 1440 * 100vw));
    }
  }
  #pryc-wp-acctp-original-content ul li ul li {
    line-height: 140%;
    padding: 0 0 calc(4 / 390 * 100vw) calc(8 / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    #pryc-wp-acctp-original-content ul li ul li {
      padding: 0 0 min(4px, calc(4 / 1440 * 100vw)) min(8px, calc(8 / 1440 * 100vw));
    }
  }
  #pryc-wp-acctp-original-content ul li ul li:last-child {
    padding: 0 0 0 calc(8 / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    #pryc-wp-acctp-original-content ul li ul li:last-child {
      padding: 0 0 0 min(8px, calc(8 / 1440 * 100vw));
    }
  }
  #pryc-wp-acctp-original-content ol {
    counter-reset: item;
    list-style-type: none;
  }
  #pryc-wp-acctp-original-content ol li {
    list-style-type: none;
    list-style-position: inside;
    counter-increment: cnt;
    line-height: 1.6;
    position: relative;
    padding: 0 0 0 calc(35 / 390 * 100vw);
    margin-bottom: calc(8 / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    #pryc-wp-acctp-original-content ol li {
      padding: 0 0 0 min(42px, calc(42 / 1440 * 100vw));
      margin-bottom: min(16px, calc(16 / 1440 * 100vw));
    }
  }
  #pryc-wp-acctp-original-content ol li:before {
    position: absolute;
    left: 0;
    top: 0;
    counter-increment: item;
    content: counter(item, decimal-leading-zero);
    width: calc(25 / 390 * 100vw);
    height: calc(25 / 390 * 100vw);
    font-size: calc(12 / 390 * 100vw);
    line-height: calc(25 / 390 * 100vw);
    text-align: center;
    color: white;
    border-radius: 50%;
    background: var(--color-brand);
  }
  @media print, screen and (min-width: 768px) {
    #pryc-wp-acctp-original-content ol li:before {
      width: min(35px, calc(35 / 1440 * 100vw));
      height: min(35px, calc(35 / 1440 * 100vw));
      font-size: min(14px, calc(14 / 1440 * 100vw));
      line-height: min(35px, calc(35 / 1440 * 100vw));
    }
  }
  #pryc-wp-acctp-original-content hr {
    height: 0;
    margin: 0;
    padding: 0;
    border: 0;
    border-top: 1px dashed #bbb;
    margin: calc(4 / 390 * 100vw) 0;
  }
  @media print, screen and (min-width: 768px) {
    #pryc-wp-acctp-original-content hr {
      margin: min(4px, calc(4 / 1440 * 100vw)) 0;
    }
  }
  #pryc-wp-acctp-original-content table {
    margin: calc(16 / 390 * 100vw) 0;
    border: 1px solid #e6e6e6;
  }
  @media print, screen and (min-width: 768px) {
    #pryc-wp-acctp-original-content table {
      margin: min(16px, calc(16 / 1440 * 100vw)) 0;
    }
  }
  #pryc-wp-acctp-original-content table th {
    background: var(--color-brand);
    color: #fff;
    font-weight: bold;
  }
  #pryc-wp-acctp-original-content table th,
#pryc-wp-acctp-original-content table td {
    text-align: center;
    font-size: calc(14 / 390 * 100vw);
    border: 1px solid #e6e6e6;
    padding: calc(16 / 390 * 100vw) calc(10 / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    #pryc-wp-acctp-original-content table th,
#pryc-wp-acctp-original-content table td {
      font-size: min(16px, calc(16 / 1440 * 100vw));
      padding: min(16px, calc(16 / 1440 * 100vw)) min(10px, calc(10 / 1440 * 100vw));
    }
  }
  #pryc-wp-acctp-original-content .aligncenter {
    display: block;
    margin: 0 auto;
  }
  #pryc-wp-acctp-original-content .alignright {
    float: right;
    margin-left: calc(16 / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    #pryc-wp-acctp-original-content .alignright {
      margin-left: min(16px, calc(16 / 1440 * 100vw));
    }
  }
  #pryc-wp-acctp-original-content .alignleft {
    float: left;
    margin-right: calc(16 / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    #pryc-wp-acctp-original-content .alignleft {
      margin-right: min(16px, calc(16 / 1440 * 100vw));
    }
  }
  #pryc-wp-acctp-original-content #image-details-caption {
    display: none;
  }
  #pryc-wp-acctp-original-content .wp-caption {
    position: relative;
    width: 100% !important;
    margin-bottom: 0rem !important;
  }
  #pryc-wp-acctp-original-content .wp-caption.alignleft, #pryc-wp-acctp-original-content .wp-caption.alignright {
    width: 48% !important;
  }
  #pryc-wp-acctp-original-content .wp-caption.alignleft {
    margin-left: calc(16 / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    #pryc-wp-acctp-original-content .wp-caption.alignleft {
      margin-left: min(16px, calc(16 / 1440 * 100vw));
    }
  }
  #pryc-wp-acctp-original-content .wp-caption.alignright {
    margin-right: calc(16 / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    #pryc-wp-acctp-original-content .wp-caption.alignright {
      margin-right: min(16px, calc(16 / 1440 * 100vw));
    }
  }
  #pryc-wp-acctp-original-content .wp-caption .wp-caption-text {
    margin-bottom: 0;
  }
  #pryc-wp-acctp-original-content img[class*=wp-image-],
#pryc-wp-acctp-original-content img[class*=attachment-] {
    height: auto;
    max-width: 100%;
  }
  @media (max-width: 959px) {
    #pryc-wp-acctp-original-content img[class*=wp-image-],
#pryc-wp-acctp-original-content img[class*=attachment-] {
      width: 100%;
    }
  }
  #pryc-wp-acctp-original-content img[class*=wp-image-].alignright,
#pryc-wp-acctp-original-content img[class*=attachment-].alignright {
    height: auto;
    width: 48%;
  }
  #pryc-wp-acctp-original-content img[class*=wp-image-].alignleft,
#pryc-wp-acctp-original-content img[class*=attachment-].alignleft {
    height: auto;
    width: 48%;
  }
  .post_kaitori {
    text-align: center;
    margin: calc(60 / 390 * 100vw) 0 calc(30 / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .post_kaitori {
      margin: min(100px, calc(100 / 1440 * 100vw)) 0 min(60px, calc(60 / 1440 * 100vw));
    }
  }
  .post_kaitori h2 {
    position: relative;
    display: inline-block;
    margin-bottom: calc(16 / 390 * 100vw);
    text-align: center;
    color: #ff5722;
    font-size: calc(23 / 390 * 100vw);
    font-weight: bold;
    padding: 0 calc(16 / 390 * 100vw);
    line-height: 1.5;
  }
  @media print, screen and (min-width: 768px) {
    .post_kaitori h2 {
      font-size: min(32px, calc(32 / 1440 * 100vw));
      padding: 0 min(24px, calc(24 / 1440 * 100vw));
      margin-bottom: min(16px, calc(16 / 1440 * 100vw));
    }
  }
  @media print, screen and (min-width: 768px) {
    .post_kaitori h2 .sp {
      display: none;
    }
  }
  .post_kaitori h2:before {
    position: absolute;
    left: 0;
    top: 0;
    content: "";
    width: 1px;
    height: 100%;
    background: #ff5722;
    border-radius: 3px;
    transform: rotate(-25deg);
  }
  .post_kaitori h2:after {
    position: absolute;
    content: "";
    right: 0;
    top: 0;
    width: 1px;
    height: 100%;
    background: #ff5722;
    border-radius: 3px;
    transform: rotate(25deg);
  }
  .post_kaitori-box {
    background: linear-gradient(120deg, #ff9800 0%, #ff5722 50%, #ff9800 100%) 0 0/200% 100% repeat;
    flex-direction: column;
    align-items: center;
    border-radius: 30px;
    padding: calc(25 / 390 * 100vw) calc(15 / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .post_kaitori-box {
      padding: min(25px, calc(25 / 1440 * 100vw));
      border-radius: unset;
      display: flex;
      justify-content: space-around;
      flex-direction: row;
    }
  }
  .post_kaitori-box h3 {
    color: #fff;
    font-weight: bold;
    font-size: calc(22 / 390 * 100vw);
    text-align: center;
    line-height: 1.5;
  }
  @media print, screen and (min-width: 768px) {
    .post_kaitori-box h3 {
      font-size: min(28px, calc(28 / 1440 * 100vw));
      text-align: left;
    }
  }
  .post_kaitori-box h3 + p {
    font-size: calc(16 / 390 * 100vw);
    line-height: 140%;
    margin: calc(10 / 390 * 100vw) 0 0;
  }
  @media print, screen and (min-width: 768px) {
    .post_kaitori-box h3 + p {
      font-size: min(16px, calc(16 / 1440 * 100vw));
      margin: min(16px, calc(16 / 1440 * 100vw)) 0 0;
    }
  }
  .post_kaitori-box .character {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 100%;
    margin-top: calc(12 / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .post_kaitori-box .character {
      width: 45%;
    }
  }
  .post_kaitori-box .character img {
    width: 50%;
  }
  @media print, screen and (min-width: 768px) {
    .post_kaitori-box .character img {
      width: 67%;
      margin-top: -100px;
    }
  }
  .post_kaitori-box .character a {
    color: #CB0000;
    width: 90%;
    font-size: calc(16 / 390 * 100vw);
    text-align: center;
    background: #fff;
    border-radius: calc(20 / 390 * 100vw);
    line-height: 1.5;
    padding: calc(16 / 390 * 100vw) calc(30 / 390 * 100vw);
    position: relative;
    font-weight: bold;
    box-shadow: 0 3px 3px 1px rgba(0, 0, 0, 0.3);
    transition: 0.3s;
  }
  @media print, screen and (min-width: 768px) {
    .post_kaitori-box .character a {
      font-size: min(16px, calc(16 / 1440 * 100vw));
      padding: min(16px, calc(16 / 1440 * 100vw)) min(30px, calc(30 / 1440 * 100vw));
      border-radius: min(20px, calc(20 / 1440 * 100vw));
    }
  }
  .post_kaitori-box .character a:hover {
    box-shadow: none;
    background: #CB0000;
    color: #fff;
  }
  .post_kaitori-box .character a::after {
    content: ">";
    position: absolute;
    top: 50%;
    right: 10px;
    transform: translateY(-50%);
  }
  .post_ecsite {
    padding: calc(16 / 390 * 100vw);
    border: 3px solid #CB0000;
    border-radius: calc(16 / 390 * 100vw);
    margin-top: calc(24 / 390 * 100vw);
    line-height: 1.5;
  }
  @media print, screen and (min-width: 768px) {
    .post_ecsite {
      padding: min(32px, calc(32 / 1440 * 100vw));
      border-radius: min(16px, calc(16 / 1440 * 100vw));
      margin-top: min(24px, calc(24 / 1440 * 100vw));
      width: min(750px, calc(750 / 1440 * 100vw));
      margin-inline: auto;
    }
  }
  .post_ecsite h2 {
    text-align: center;
    color: #CB0000;
    font-size: calc(22 / 390 * 100vw);
    font-weight: bold;
  }
  @media print, screen and (min-width: 768px) {
    .post_ecsite h2 {
      font-size: min(28px, calc(28 / 1440 * 100vw));
    }
  }
  @media print, screen and (min-width: 768px) {
    .post_ecsite h2 .sp {
      display: none;
    }
  }
  .post_ecsite p {
    text-align: center;
    font-size: calc(16 / 390 * 100vw);
    line-height: 140%;
    margin: calc(10 / 390 * 100vw) 0 0;
  }
  @media print, screen and (min-width: 768px) {
    .post_ecsite p {
      font-size: min(16px, calc(16 / 1440 * 100vw));
      margin: min(10px, calc(10 / 1440 * 100vw)) 0 0;
    }
  }
  .post_ecsite ul {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    margin: calc(16 / 390 * 100vw) 0 0;
    gap: calc(8 / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .post_ecsite ul {
      margin: min(32px, calc(32 / 1440 * 100vw)) 0 0;
      gap: min(8px, calc(8 / 1440 * 100vw));
    }
  }
  .post_ecsite ul li {
    border: 1px solid #d7d7d7;
  }
  .post_ecsite ul li a {
    transition: 0.3s;
  }
  .post_ecsite ul li a:hover {
    opacity: 0.7;
  }
  #sidebar {
    padding: 0 calc(20 / 390 * 100vw) calc(40 / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    #sidebar {
      padding: unset;
      width: min(254px, calc(254 / 1440 * 100vw));
    }
  }
  #sidebar #search-newspost {
    background: #fff;
    position: relative;
    border-radius: calc(5 / 390 * 100vw);
    margin-block: calc(20 / 390 * 100vw) calc(40 / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    #sidebar #search-newspost {
      border-radius: min(5px, calc(5 / 1440 * 100vw));
      margin-block: min(20px, calc(20 / 1440 * 100vw)) min(40px, calc(40 / 1440 * 100vw));
    }
  }
  #sidebar input[type=text] {
    display: block;
    width: 100%;
    padding: calc(10 / 390 * 100vw) calc(26 / 390 * 100vw) calc(10 / 390 * 100vw) calc(10 / 390 * 100vw);
    font-size: calc(16 / 390 * 100vw);
    border: none;
    background: #fff;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    border-radius: calc(5 / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    #sidebar input[type=text] {
      font-size: min(16px, calc(16 / 1440 * 100vw));
      border-radius: min(5px, calc(5 / 1440 * 100vw));
      padding: min(10px, calc(10 / 1440 * 100vw)) min(26px, calc(26 / 1440 * 100vw)) min(10px, calc(10 / 1440 * 100vw)) min(10px, calc(10 / 1440 * 100vw));
    }
  }
  #sidebar button {
    border: none;
    outline: none;
    cursor: pointer;
    padding: 0;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    display: block;
    width: calc(50 / 390 * 100vw);
    height: 100%;
    overflow: hidden;
    position: absolute;
    right: 0;
    top: 0;
    line-height: 0;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  @media print, screen and (min-width: 768px) {
    #sidebar button {
      width: min(50px, calc(50 / 1440 * 100vw));
    }
  }
  #sidebar button img {
    width: calc(20 / 390 * 100vw);
    height: calc(20 / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    #sidebar button img {
      width: min(20px, calc(20 / 1440 * 100vw));
      height: min(20px, calc(20 / 1440 * 100vw));
    }
  }
  #sidebar .sidebar__heading {
    font-size: calc(20 / 390 * 100vw);
    font-weight: bold;
    color: #d91616;
    border-bottom: 2px solid #d91616;
    padding-bottom: calc(10 / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    #sidebar .sidebar__heading {
      font-size: min(20px, calc(20 / 1440 * 100vw));
      padding-bottom: min(10px, calc(10 / 1440 * 100vw));
    }
  }
  #sidebar .sidebar__ranking {
    padding-bottom: calc(20 / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    #sidebar .sidebar__ranking {
      padding-bottom: min(20px, calc(20 / 1440 * 100vw));
    }
  }
  #sidebar .sidebar__ranking .sidebar__heading {
    margin-bottom: calc(20 / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    #sidebar .sidebar__ranking .sidebar__heading {
      margin-bottom: min(20px, calc(20 / 1440 * 100vw));
    }
  }
  #sidebar .ranking__item {
    margin-bottom: calc(12 / 390 * 100vw);
    position: relative;
  }
  @media print, screen and (min-width: 768px) {
    #sidebar .ranking__item {
      margin-bottom: min(24px, calc(24 / 1440 * 100vw));
    }
  }
  #sidebar .ranking__item a {
    display: flex;
    gap: calc(15 / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    #sidebar .ranking__item a {
      gap: min(15px, calc(15 / 1440 * 100vw));
      flex-direction: column;
    }
  }
  #sidebar .ranking__item .thumb {
    margin-bottom: 1rem;
    position: relative;
    overflow: hidden;
    background: #fafafa;
  }
  @media print, screen and (min-width: 768px) {
    #sidebar .ranking__item .thumb {
      margin-bottom: unset;
    }
  }
  #sidebar .ranking__item .thumb img {
    width: calc(105 / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    #sidebar .ranking__item .thumb img {
      width: 100%;
    }
  }
  #sidebar .ranking__ttl {
    line-height: 1.75;
    text-decoration: underline;
    flex: 1;
  }
  @media print, screen and (min-width: 768px) {
    #sidebar .ranking__ttl {
      font-size: min(16px, calc(16 / 1440 * 100vw));
    }
  }
  #sidebar .categories__item {
    border-bottom: 1px solid #e6e6e6;
  }
  #sidebar .categories__item a {
    display: block;
    padding: calc(16 / 390 * 100vw) 0 calc(16 / 390 * 100vw) 0;
    position: relative;
  }
  @media print, screen and (min-width: 768px) {
    #sidebar .categories__item a {
      padding: min(16px, calc(16 / 1440 * 100vw)) 0 min(16px, calc(16 / 1440 * 100vw)) 0;
      font-size: min(16px, calc(16 / 1440 * 100vw));
    }
  }
  #sidebar .categories__item a:before {
    font-family: "icomoon" !important;
    speak: none;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    content: "\e917";
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    font-size: calc(14 / 390 * 100vw);
    color: #d91616;
    transition: all 0.2s;
  }
  @media print, screen and (min-width: 768px) {
    #sidebar .categories__item a:before {
      font-size: min(16px, calc(16 / 1440 * 100vw));
    }
  }
  #news-ac .news-wrapper {
    margin-top: calc(24 / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    #news-ac .news-wrapper {
      margin-top: min(56px, calc(56 / 1440 * 100vw));
      padding-left: calc(var(--container-padding-sp) / 390 * 100vw);
      padding-right: calc(var(--container-padding-sp) / 390 * 100vw);
      display: flex;
      gap: min(40px, calc(40 / 1440 * 100vw));
    }
  }
  @media print, screen and (min-width: 768px) and (min-width: 768px) {
    #news-ac .news-wrapper {
      padding-left: unset;
      padding-right: unset;
      margin-inline: auto;
      width: min(1240px, calc(1240 / 1440 * 100vw));
    }
  }
  @media print, screen and (min-width: 768px) {
    #news-ac .news-wrapper #main-contents {
      width: min(946px, calc(946 / 1440 * 100vw));
    }
  }
  #news-ac .secNewsList {
    padding: calc(20 / 390 * 100vw) calc(12 / 390 * 100vw) calc(50 / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    #news-ac .secNewsList {
      padding: unset;
    }
  }
  #news-ac .secNewsList .news-search-summary {
    margin-bottom: calc(56 / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    #news-ac .secNewsList .news-search-summary {
      margin-bottom: min(24px, calc(24 / 1440 * 100vw));
    }
  }
  #news-ac .secNewsList__post {
    margin-bottom: calc(20 / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    #news-ac .secNewsList__post {
      margin-bottom: min(30px, calc(30 / 1440 * 100vw));
    }
  }
  #news-ac .secNewsList__post a {
    display: block;
    border: 4px solid transparent;
    border-radius: 5px;
    background: #fff;
    padding: calc(15 / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    #news-ac .secNewsList__post a {
      padding: min(28px, calc(28 / 1440 * 100vw)) min(35px, calc(35 / 1440 * 100vw));
    }
  }
  @media print, screen and (min-width: 768px) {
    #news-ac .secNewsList__post a {
      transition: all 0.2s;
    }
    #news-ac .secNewsList__post a:hover {
      box-shadow: 0 4px 0 0 #e6e6e6;
      border-color: var(--color-brand);
    }
    #news-ac .secNewsList__post a:hover {
      box-shadow: 0 2px 0 0 #e6e6e6;
    }
    #news-ac .secNewsList__post a:hover .btn-02 .a {
      background: var(--color-brand);
      color: #fff;
    }
  }
  #news-ac .secNewsList__post .post__meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    padding-bottom: 1rem;
  }
  #news-ac .secNewsList__post .post__meta .c-item__date {
    padding-bottom: 0;
  }
  #news-ac .secNewsList__post .post__cat {
    margin-right: 1.5rem;
  }
  #news-ac .secNewsList__post .post__cat .c-category:not(:last-child) {
    margin-right: 1rem;
  }
  #news-ac .secNewsList__post .post__title {
    font-size: calc(20 / 390 * 100vw);
    font-weight: bold;
    text-decoration: underline;
    line-height: 1.5;
    padding-bottom: calc(15 / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    #news-ac .secNewsList__post .post__title {
      font-size: min(28px, calc(28 / 1440 * 100vw));
      padding-bottom: min(15px, calc(15 / 1440 * 100vw));
    }
  }
  @media print, screen and (min-width: 768px) {
    #news-ac .secNewsList__post .post__cont {
      display: flex;
      align-items: flex-end;
    }
  }
  #news-ac .secNewsList__post .post__img {
    position: relative;
    overflow: hidden;
    margin-bottom: calc(16 / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    #news-ac .secNewsList__post .post__img {
      width: min(410px, calc(410 / 1440 * 100vw));
      margin-bottom: unset;
    }
  }
  #news-ac .secNewsList__post .post__img img {
    aspect-ratio: 410/280;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center;
    object-position: center;
  }
  #news-ac .secNewsList__post .post__excerpt {
    padding-bottom: calc(16 / 390 * 100vw);
    font-size: calc(16 / 390 * 100vw);
    line-height: 160%;
  }
  @media print, screen and (min-width: 768px) {
    #news-ac .secNewsList__post .post__excerpt {
      font-size: min(16px, calc(16 / 1440 * 100vw));
    }
  }
  @media print, screen and (min-width: 768px) {
    #news-ac .secNewsList__post .post__txt {
      flex: 1;
      padding-left: min(25px, calc(25 / 1440 * 100vw));
    }
  }
  #news-ac .secNewsList__post .btn-02 .pButton {
    margin-left: auto;
  }
}
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInN0eWxlLmNzcyIsInN0eWxlLnNjc3MiLCJfcmVzZXQuc2NzcyIsIl9taXhpbnMuc2NzcyIsIjxubyBzb3VyY2U+IiwiX2hlYWRlci5zY3NzIiwiX2Zvb3Rlci5zY3NzIiwicGFydHMvX3BhZ2V0aXRsZS5zY3NzIiwicGFydHMvX2hlYWRpbmdsYXJnZS5zY3NzIiwicGFydHMvX2hlYWRpbmdtZWRpdW0uc2NzcyIsInBhcnRzL19oZWFkaW5nc21hbGwuc2NzcyIsInBhcnRzL19sZWFkLnNjc3MiLCJwYXJ0cy9fdGV4dC5zY3NzIiwicGFydHMvX2ltYWdlLnNjc3MiLCJwYXJ0cy9fbWFwLnNjc3MiLCJwYXJ0cy9faW1hZ2VjYXB0aW9uLnNjc3MiLCJwYXJ0cy9fbWFwY2FwdGlvbi5zY3NzIiwicGFydHMvX3BhbmVsLnNjc3MiLCJwYXJ0cy9fY2FwdGlvbi5zY3NzIiwicGFydHMvX3Bvc2l0aW9uLnNjc3MiLCJwYXJ0cy9fbmFtZS5zY3NzIiwicGFydHMvX3N1YnRpdGxlLnNjc3MiLCJwYXJ0cy9fbmFtZXNldC5zY3NzIiwicGFydHMvX21lbWJlci5zY3NzIiwicGFydHMvX2J1dHRvbi5zY3NzIiwicGFydHMvX2ZpbGVpbmZvLnNjc3MiLCJwYXJ0cy9fY2F0YWxvZy5zY3NzIiwicGFydHMvX2NhdGFsb2d0aXRsZXNldC5zY3NzIiwicGFydHMvX2F0dGFjaG1lbnQuc2NzcyIsInBhcnRzL19xLnNjc3MiLCJwYXJ0cy9fYS5zY3NzIiwicGFydHMvX2ZhcS5zY3NzIiwicGFydHMvX2NvbnZlcnNpb25oZWFkaW5nLnNjc3MiLCJwYXJ0cy9fbG9jYWxuYXZzdWIuc2NzcyIsInBhcnRzL19hcmNoaXZlbmF2LnNjc3MiLCJwYXJ0cy9fc3BlYWtlci5zY3NzIiwicGFydHMvX2Zsb2F0aW1hZ2Uuc2NzcyIsInBhcnRzL19uZXdzY2F0ZWdvcnkuc2NzcyIsInBhcnRzL19uZXdzZGF0ZS5zY3NzIiwicGFydHMvX25ld3N0aXRsZS5zY3NzIiwicGFydHMvX25ld3NzZXQuc2NzcyIsInBhcnRzL190YWcuc2NzcyIsInBhcnRzL190YWdzZXQuc2NzcyIsInBhcnRzL19hcnRpY2xlbGlzdC5zY3NzIiwicGFydHMvX3BhZ2luYXRpb24uc2NzcyIsInBhcnRzL19sb2NhbG5hdnRvcC5zY3NzIiwicGFydHMvX2xvY2FsbmF2dG9wc2VwYXJhdG9yLnNjc3MiLCJwYXJ0cy9fbG9jYWxuYXZib3R0b20uc2NzcyIsInBhcnRzL19sb2NhbG5hdmJvdHRvbWxpc3Quc2NzcyIsInBhcnRzL19icmVhZGNydW1ic3RleHQuc2NzcyIsInBhcnRzL19icmVhZGNydW1ic3NlcGFyYXRvci5zY3NzIiwicGFydHMvX2FydGljbGVuYXYuc2NzcyIsInBhcnRzX3VuaXEvX2NhdGVnb3J5YnV0dG9uLnNjc3MiLCJwYXJ0c191bmlxL19wcmljZS5zY3NzIiwicGFydHNfdW5pcS9fY29uZGl0aW9uLnNjc3MiLCJwYXJ0c191bmlxL19wcmljZWxhYmVsLnNjc3MiLCJwYXJ0c191bmlxL19iYWRnZS5zY3NzIiwicGFydHNfdW5pcS9fcHJpY2VsYWJlbHJvdy5zY3NzIiwicGFydHNfdW5pcS9fcHJpY2Vyb3cuc2NzcyIsInBhcnRzX3VuaXEvX3NlcnZpY2VpY29uLnNjc3MiLCJjb21wb25lbnQvX3BhZ2V0aXRsZS5zY3NzIiwiY29tcG9uZW50L19leHRlbmRlZHRpdGxlLnNjc3MiLCJjb21wb25lbnQvX2NhdGNoY29weS5zY3NzIiwiY29tcG9uZW50L19jYXRjaGNvcHlfaW1hZ2Uuc2NzcyIsImNvbXBvbmVudC9fY2F0Y2hjb3B5X2ltYWdlX2JnLnNjc3MiLCJjb21wb25lbnQvX2NvbnZlcnNpb24uc2NzcyIsImNvbXBvbmVudC9fYmxvZ3RpdGxlLnNjc3MiLCJjb21wb25lbnQvX2hlYWRpbmcuc2NzcyIsImNvbXBvbmVudC9faGVhZGluZ19leC5zY3NzIiwiY29tcG9uZW50L190ZXh0LnNjc3MiLCJjb21wb25lbnQvX2xlYWQuc2NzcyIsImNvbXBvbmVudC9fdGV4dF9pbWFnZS5zY3NzIiwiY29tcG9uZW50L190ZXh0X21hcC5zY3NzIiwiY29tcG9uZW50L19tYXAuc2NzcyIsImNvbXBvbmVudC9faW1hZ2VfbXVsdGkuc2NzcyIsImNvbXBvbmVudC9fbW92aWVfbXVsdGkuc2NzcyIsImNvbXBvbmVudC9fcGFuZWwuc2NzcyIsImNvbXBvbmVudC9fc3BlYWtlci5zY3NzIiwiY29tcG9uZW50L19jb2x1bW4uc2NzcyIsImNvbXBvbmVudC9fdGFibGUuc2NzcyIsInBhcnRzL19jZWxsLnNjc3MiLCJjb21wb25lbnQvX2J1dHRvbi5zY3NzIiwiY29tcG9uZW50L19hbmNob3Iuc2NzcyIsImNvbXBvbmVudC9fbnVtLnNjc3MiLCJjb21wb25lbnQvX3d5c2l3eWcuc2NzcyIsImNvbXBvbmVudC9fY2F0YWxvZy5zY3NzIiwiY29tcG9uZW50L19maWxlbGlzdC5zY3NzIiwiY29tcG9uZW50L19mYXEuc2NzcyIsImNvbXBvbmVudC9fbWVtYmVyLnNjc3MiLCJjb21wb25lbnQvX2lmcmFtZS5zY3NzIiwibmF2aWdhdGlvbi9fYnJlYWRjcnVtYnMuc2NzcyIsIm5hdmlnYXRpb24vX3BhZ2luYXRpb24uc2NzcyIsIm5hdmlnYXRpb24vX3BhZ2luYXRpb25kZXRhaWwuc2NzcyIsIm5hdmlnYXRpb24vX2xvY2FsbmF2X3RvcC5zY3NzIiwibmF2aWdhdGlvbi9fbG9jYWxuYXZfc3ViLnNjc3MiLCJuYXZpZ2F0aW9uL19sb2NhbG5hdl9ib3R0b20uc2NzcyIsIm5hdmlnYXRpb24vX2FyY2hpdmVuYXYuc2NzcyIsIm5hdmlnYXRpb24vX25ld3NsaXN0LnNjc3MiLCJuYXZpZ2F0aW9uL19hcnRpY2xlbGlzdC5zY3NzIiwiX2FydGljbGV3cmFwcGVyLnNjc3MiLCJfc3dpcGVyLnNjc3MiLCJfdW5pcS5zY3NzIiwiX3RvcC5zY3NzIiwiX3RyYW5zaXRpb25zLnNjc3MiLCJfbmV3cy5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGdCQUFnQjtBQ0doQjtFQUNFLDZCQUFBO0VBQ0Esd0JBQUE7RUFDQSw2QkFBQTtFQUNBLHND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SUoydkVFO0kwQmh1RUE7UXRCM0JGLGdCQUFBO1FBQUEsbUJBQUE7UUFBQSx3QkFBQTtJSjJ2RUU7STBCaHVFQTtRdEIzQkYsZ0JBQUE7UUFBQSxtQkFBQTtRQUFBLHdCQUFBO0lKMnZFRTtJMEJodUVBO1F0QjNCRixnQkFBQTtRQUFBLG1CQUFBO1FBQUEsd0JBQUE7SUoydkVFO0kyQ2x1RUE7UXZDekJGLGdCQUFBO1FBQUEscUJBQUE7UUFBQSxtQkFBQTtJSit0RkU7STJDdHNGQTtRdkN6QkYsZ0JBQUE7UUFBQSxxQkFBQTtRQUFBLG1CQUFBO1FBQUEsd0JBQUE7SUordEZFO0kyQ3RzRkE7UXZDekJGLGdCQUFBO1FBQUEscUJBQUE7UUFBQSxtQkFBQTtRQUFBLHdCQUFBO0lKK3RGRTtJMkN0c0ZBO1F2Q3pCRixnQkFBQTtRQUFBLHFCQUFBO1FBQUEsbUJBQUE7UUFBQSx3QkFBQTtJSit0RkU7STJDMXJGQTtRdkNyQ0YsZ0JBQUE7UUFBQSxtQkFBQTtJSjJ1RkU7STJDbHNGQTtRdkN6Q0YsZ0JBQUE7UUFBQSxtQkFBQTtJSit1RkU7STJDdHNGQTtRdkN6Q0YsZ0JBQUE7UUFBQSxtQkFBQTtRQUFBLHdCQUFBO0lKK3VGRTtJMkN0c0ZBO1F2Q3pDRixnQkFBQTtRQUFBLG1CQUFBO1FBQUEsd0JBQUE7SUordUZFO0kyQ3RzRkE7UXZDekNGLGdCQUFBO1FBQUEsbUJBQUE7UUFBQSx3QkFBQTtJSit1RkU7STJEMXRGQTtRdkRyQkYsZ0JBQUE7UUFBQSxtQkFBQTtJSnFuR0U7SThEL2xHRTtRMUR0QkosZ0JBQUE7UUFBQSxtQkFBQTtJSnMwR0k7SThEaHpHQTtRMUR0QkosZ0JBQUE7UUFBQSxtQkFBQTtRQUFBLHdCQUFBO0lKczBHSTtJOERoekdBO1ExRHRCSixnQkFBQTtRQUFBLG1CQUFBO1FBQUEsd0JBQUE7SUpzMEdJO0k4RGh6R0E7UTFEdEJKLGdCQUFBO1FBQUEsbUJBQUE7UUFBQSx3QkFBQTtJSnMwR0k7SThEM3lHQTtRMUQzQkosZ0JBQUE7UUFBQSxtQkFBQTtJSjIwR0k7SThEdHlHQTtRMURyQ0osZ0JBQUE7UUFBQSxtQkFBQTtRQUFBLHdCQUFBO0lKcTFHSTtJOERoekdBO1ExRHJDSixnQkFBQTtRQUFBLG1CQUFBO1FBQUEsd0JBQUE7SUpxMUdJO0k4RGh6R0E7UTFEckNKLGdCQUFBO1FBQUEsbUJBQUE7UUFBQSx3QkFBQTtJSnExR0k7SThEaHpHQTtRMURyQ0osZ0JBQUE7UUFBQSxtQkFBQTtRQUFBLHdCQUFBO0lKcTFHSTtJK0RqMEdBO1EzRHBCSixnQkFBQTtRQUFBLHFCQUFBO1FBQUEsbUJBQUE7SUprM0dJO0krRDkxR0E7UTNEcEJKLGdCQUFBO1FBQUEscUJBQUE7UUFBQSxtQkFBQTtRQUFBLHdCQUFBO0lKazNHSTtJK0Q5MUdBO1EzRHBCSixnQkFBQTtRQUFBLHFCQUFBO1FBQUEsbUJBQUE7UUFBQSx3QkFBQTtJSmszR0k7SStEOTFHQTtRM0RwQkosZ0JBQUE7UUFBQSxxQkFBQTtRQUFBLG1CQUFBO1FBQUEsd0JBQUE7SUprM0dJO0l1RTMwR0E7UW5FdkNKLGdCQUFBO1FBQUEsbUJBQUE7SUp5dkhJO0l1RWx0SEE7UW5FdkNKLGdCQUFBO1FBQUEsbUJBQUE7SUp5dkhJO0l1RWx0SEE7UW5FdkNKLGdCQUFBO1FBQUEscUJBQUE7UUFBQSxtQkFBQTtJSnl2SEk7SXVFbHRIQTtRbkV2Q0osZ0JBQUE7UUFBQSxxQkFBQTtRQUFBLG1CQUFBO0lKeXZISTtJd0VudEhBO1FwRXRDSixnQkFBQTtRQUFBLG1CQUFBO0lKNHlISTtJd0V0d0hBO1FwRXRDSixnQkFBQTtRQUFBLG1CQUFBO0lKNHlISTtJOEVyc0hFO1ExRXZHTixnQkFBQTtRQUFBLG1CQUFBO0lKMnJJRTtJOEVwbElJO1ExRXZHTixnQkFBQTtRQUFBLG1CQUFBO1FBQUEsd0JBQUE7SUoycklFO0k4RXBsSUk7UTFFdkdOLGdCQUFBO1FBQUEsbUJBQUE7UUFBQSx3QkFBQTtJSjJySUU7SThFcGxJSTtRMUV2R04sZ0JBQUE7UUFBQSxtQkFBQTtRQUFBLHdCQUFBO0lKMnJJRTtJOEU3a0lJO1ExRTlHTixnQkFBQTtRQUFBLG1CQUFBO0lKb3NJRTtJOEV0bElJO1ExRTlHTixnQkFBQTtRQUFBLG1CQUFBO0lKb3NJRTtJOEVsbElJO1ExRWxITixnQkFBQTtRQUFBLG1CQUFBO0lKMnNJRTtJOEV6bElJO1ExRWxITixnQkFBQTtRQUFBLG1CQUFBO0lKMnNJRTtJOEV6bElJO1ExRWxITixnQkFBQTtRQUFBLHFCQUFBO1FBQUEsbUJBQUE7SUoyc0lFO0k4RXpsSUk7UTFFbEhOLGdCQUFBO1FBQUEscUJBQUE7UUFBQSxtQkFBQTtJSjJzSUU7SThFeGtJSTtRMUVuSU4sZ0JBQUE7UUFBQSxtQkFBQTtRQUFBLHdCQUFBO0lKMHRJRTtJOEV2bElJO1ExRW5JTixnQkFBQTtRQUFBLG1CQUFBO1FBQUEsd0JBQUE7SUowdElFO0k4RXZsSUk7UTFFbklOLGdCQUFBO1FBQUEsbUJBQUE7UUFBQSx3QkFBQTtJSjB0SUU7SThFdmxJSTtRMUVuSU4sZ0JBQUE7UUFBQSxtQkFBQTtRQUFBLHdCQUFBO0lKMHRJRTtJc0c3aUlFO1FsRzdLSixnQkFBQTtRQUFBLG1CQUFBO0lKaWlPRTtJc0dwM05FO1FsRzdLSixnQkFBQTtRQUFBLG1CQUFBO1FBQUEsd0JBQUE7SUppaU9FO0lzR3AzTkU7UWxHN0tKLGdCQUFBO1FBQUEsbUJBQUE7UUFBQSx3QkFBQTtJSmlpT0U7SXNHcDNORTtRbEc3S0osZ0JBQUE7UUFBQSxtQkFBQTtRQUFBLHdCQUFBO0lKaWlPRTtJc0d2aE5FO1FsRzFnQkosZ0JBQUE7UUFBQSxtQkFBQTtRQUFBLHdCQUFBO0lKMjZPSTtJc0dqNk5BO1FsRzFnQkosZ0JBQUE7UUFBQSxtQkFBQTtRQUFBLHdCQUFBO0lKMjZPSTtJc0dqNk5BO1FsRzFnQkosZ0JBQUE7UUFBQSxtQkFBQTtRQUFBLHdCQUFBO0lKMjZPSTtJc0dqNk5BO1FsRzFnQkosZ0JBQUE7UUFBQSxtQkFBQTtRQUFBLHdCQUFBO0lKMjZPSTtJc0c3dE5BO1FsRzlzQkosZ0JBQUE7UUFBQSxxQkFBQTtRQUFBLG1CQUFBO0lKeXBQSTtJc0czOE5BO1FsRzlzQkosZ0JBQUE7UUFBQSxxQkFBQTtRQUFB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SXFHKzFDRjtNQU9JLDZDQUFBO01BQ0Esa0RBQUE7SXhHZ29RQTtFQUNGO0VHeCtTQTtJcUcwMkNGO01BRUksYUFBQTtNQUNBLHFCQUFBO0l4R2dvUUE7RUFDRjtFd0c5blFGO0lBQ0Usa0JBQUE7SUFDQSxnQkFBQTtJQUNBLHFDQUFBO0V4R2dvUUE7RUduL1NBO0lxR2czQ0Y7TUFLSSwyQ0FBQTtNQUNBLG9CQUFBO0l4R2tvUUE7RUFDRjtFd0dob1FGO0lBQ0UscUJBQUE7SUFDQSxvQkFBQTtJQUFBLGlCQUFBO0lBQ0EsMEJBQUE7SUFBQSx1QkFBQTtFeEdrb1FBO0V3R2hvUUY7SUFDRSxzQ0FBQTtJQUNBLGlDQUFBO0lBQ0EsaUJBQUE7RXhHa29RQTtFR25nVEE7SXFHODNDRjtNQUtJLDZDQUFBO0l4R29vUUE7RUFDRjtFR3hnVEE7SXFHczRDRjtNQUVJLE9BQUE7TUFDQSxnREFBQTtJeEdvb1FBO0VBQ0Y7RXdHam9RQTtJQUNFLGlCQUFBO0V4R21vUUY7QUFDRiIsImZpbGUiOiJzdHlsZS5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyJAY2hhcnNldCBcIlVURi04XCI7XG46cm9vdCB7XG4gIC0tdHJhbnNpdGlvbi1zcGVlZC1zbG93OiAwLjVzO1xuICAtLXRyYW5zaXRpb24tc3BlZWQ6IDAuM3M7XG4gIC0tdHJhbnNpdGlvbi1zcGVlZC1mYXN0OiAwLjJzO1xuICAtLWJlemllcjogY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKTtcbiAgLS16LWluZGV4LWhlYWRlcjogMTAwO1xuICAtLXotaW5kZXgtaGVhZGVyLWxvZ286IDEwMTtcbiAgLS16LWluZGV4LWZvb3RNZW51OiA5OTk7XG4gIC0tei1pbmRleC1zcE1lbnU6IDEwMDA7XG4gIC0tei1pbmRleC1zcFJpZ2h0TWVudTogMTAwMDtcbiAgLS16LWluZGV4LXBhZ2V0b3BCOiA5OTg7XG59XG5cbkBsYXllciByZXNldCwgYmFzZSwgcGFydHMsIGNvbXBvbmVudHMsIHVuaXEsIG5ld3M7XG5AbGF5ZXIgcmVzZXQge1xuICBodG1sLCBib2R5LCBkaXYsIHNwYW4sIGFwcGxldCwgb2JqZWN0LCBpZnJhbWUsIGgxLCBoMiwgaDMsIGg0LCBoNSwgaDYsIHAsIGJsb2NrcXVvdGUsIHByZSwgYSwgYWJiciwgYWNyb255bSwgYWRkcmVzcywgYmlnLCBjaXRlLCBjb2RlLCBkZWwsIGRmbiwgZW0sIGltZywgaW5zLCBrYmQsIHEsIHMsIHNhbXAsIHNtYWxsLCBzdHJpa2UsIHN0cm9uZywgc3ViLCBzdXAsIHR0LCB2YXIsIGIsIHUsIGksIGNlbnRlciwgZGwsIGR0LCBkZCwgb2wsIHVsLCBsaSwgZmllbGRzZXQsIGZvcm0sIGxhYmVsLCBsZWdlbmQsIHRhYmxlLCBjYXB0aW9uLCB0Ym9keSwgdGZvb3QsIHRoZWFkLCB0ciwgdGgsIHRkLCBhcnRpY2xlLCBhc2lkZSwgY2FudmFzLCBkZXRhaWxzLCBlbWJlZCwgZmlndXJlLCBmaWdjYXB0aW9uLCBmb290ZXIsIGhlYWRlciwgaGdyb3VwLCBtZW51LCBuYXYsIG91dHB1dCwgcnVieSwgc2VjdGlvbiwgc3VtbWFyeSwgdGltZSwgbWFyaywgYXVkaW8sIHZpZGVvIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBib3JkZXI6IDA7XG4gICAgZm9udDogaW5oZXJpdDtcbiAgICBmb250LXNpemU6IDEwMCU7XG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICB9XG4gIGh0bWwge1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICB9XG4gIG9sLCB1bCB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgfVxuICB0YWJsZSB7XG4gICAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgICBib3JkZXItc3BhY2luZzogMDtcbiAgfVxuICBjYXB0aW9uLCB0aCwgdGQge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB9XG4gIHEsIGJsb2NrcXVvdGUge1xuICAgIHF1b3Rlczogbm9uZTtcbiAgfVxuICBxOmJlZm9yZSwgcTphZnRlciwgYmxvY2txdW90ZTpiZWZvcmUsIGJsb2NrcXVvdGU6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgY29udGVudDogbm9uZTtcbiAgfVxuICBhIGltZyB7XG4gICAgYm9yZGVyOiBub25lO1xuICB9XG4gIGFydGljbGUsIGFzaWRlLCBkZXRhaWxzLCBmaWdjYXB0aW9uLCBmaWd1cmUsIGZvb3RlciwgaGVhZGVyLCBoZ3JvdXAsIG1lbnUsIG5hdiwgc2VjdGlvbiwgc3VtbWFyeSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cbkBsYXllciBiYXNlIHtcbiAgW2hpZGRlbl0ge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxuICAuaXMtaGlkZGVuIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbiAgKiB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgfVxuICAqOmJlZm9yZSxcbio6YWZ0ZXIge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIH1cbiAgKjpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgfVxuICBodG1sIHtcbiAgICBmb250LXNpemU6IGNhbGModmFyKC0tZnMtcykgLyAzOTAgKiAxMDB2dyk7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgaHRtbCB7XG4gICAgICBmb250LXNpemU6IG1pbihjYWxjKHZhcigtLWZzLW0pICogMXB4KSwgY2FsYyh2YXIoLS1mcy1tKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICBib2R5IHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dCk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmFja2dyb3VuZCk7XG4gICAgZm9udC1mZWF0dXJlLXNldHRpbmdzOiB2YXIoLS1mb250LWZlYXR1cmUtc2V0dGluZ3MpO1xuICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWZhbWlseS1qYSk7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBmb250LW9wdGljYWwtc2l6aW5nOiBhdXRvO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIHRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7XG4gICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgZm9udC1zaXplOiBjYWxjKHZhcigtLWZzLW0pIC8gMzkwICogMTAwdncpO1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZTogXCJoZWFkZXJcIiBhdXRvIFwibWFpblwiIGF1dG8gXCJmb290ZXJcIiAxZnIvMTAwJTtcbiAgICBtaW4taGVpZ2h0OiAxMDB2aDtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICBib2R5IHtcbiAgICAgIGZvbnQtc2l6ZTogbWluKGNhbGModmFyKC0tZnMtbCkgKiAxcHgpLCBjYWxjKHZhcigtLWZzLWwpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIGJvZHkuaXMtZml4ZWQsIGJvZHkuZml4ZWQge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gIH1cbiAgYm9keTpoYXMoI3RvcFNsaWRlcikge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXN1cmZhY2UpO1xuICB9XG4gIHN0cm9uZyB7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICB9XG4gIGxhYmVsIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gIH1cbiAgYSB7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgfVxuICBhW2hyZWZePVwidGVsOlwiXSB7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gIH1cbiAgYWJiciB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG4gIGJ1dHRvbiB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgZm9udDogaW5oZXJpdDtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICB0ZXh0LWFsaWduOiBpbmhlcml0O1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIGJyLnNwLW9ubHkge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cbiAgYnIucGMtb25seSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICBici5wYy1vbmx5IHtcbiAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICB9XG4gIH1cbiAgOndoZXJlKGJ1dHRvbiwgW3R5cGU9YnV0dG9uXSwgW3R5cGU9cmVzZXRdLCBbdHlwZT1zdWJtaXRdKSB7XG4gICAgdG91Y2gtYWN0aW9uOiBtYW5pcHVsYXRpb247XG4gIH1cbiAgOndoZXJlKDphbnktbGluayxcbmJ1dHRvbixcblt0eXBlPWJ1dHRvbl0sXG5bdHlwZT1yZXNldF0sXG5bdHlwZT1zdWJtaXRdLFxubGFiZWxbZm9yXSxcbnNlbGVjdCxcbnN1bW1hcnksXG5bcm9sZT10YWJdLFxuW3JvbGU9YnV0dG9uXSkge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgfVxuICA6Zm9jdXM6bm90KDpmb2N1cy12aXNpYmxlKSB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgfVxuICBzdXAsXG5zdWIge1xuICAgIGhlaWdodDogMDtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZvbnQtc2l6ZTogMC43NWVtO1xuICB9XG4gIHN1cCB7XG4gICAgYm90dG9tOiAwLjc1ZXg7XG4gIH1cbiAgc3ViIHtcbiAgICB0b3A6IDAuNWV4O1xuICB9XG4gIGltZyB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogYXV0bztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xuICB9XG4gIC5zdmdfZGVmIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIHN2ZyB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG4gIHByZSB7XG4gICAgd2hpdGUtc3BhY2U6IHByZS13cmFwO1xuICB9XG4gIGh0bWwubGVuaXMsXG5odG1sLmxlbmlzIGJvZHkge1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxuICAubGVuaXMubGVuaXMtc21vb3RoIHtcbiAgICBzY3JvbGwtYmVoYXZpb3I6IGF1dG8gIWltcG9ydGFudDtcbiAgfVxuICAubGVuaXMubGVuaXMtc21vb3RoIFtkYXRhLWxlbmlzLXByZXZlbnRdIHtcbiAgICBvdmVyc2Nyb2xsLWJlaGF2aW9yOiBjb250YWluO1xuICB9XG4gIC5sZW5pcy5sZW5pcy1zdG9wcGVkIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICB9XG4gIC5sZW5pcy5sZW5pcy1zY3JvbGxpbmcgaWZyYW1lIHtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgfVxuICBodG1sLmlzLWNoYW5naW5nIC50cmFuc2l0aW9uLWZhZGUge1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC41cztcbiAgICBvcGFjaXR5OiAxO1xuICB9XG4gIGh0bWwuaXMtYW5pbWF0aW5nIC50cmFuc2l0aW9uLWZhZGUge1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC41cztcbiAgICBvcGFjaXR5OiAwO1xuICB9XG4gIC5oaWRkZW4tc3Age1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLmhpZGRlbi1zcCB7XG4gICAgICBkaXNwbGF5OiB1bnNldDtcbiAgICB9XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLmhpZGRlbi1wYyB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTA4MHB4KSB7XG4gICAgLmhpZGRlbi1vdmVyLXRibCB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuaGlkZGVuLW92ZXItdGIge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDM3NXB4KSB7XG4gICAgLmhpZGRlbi1vdmVyLXNwIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG4gIC52aXN1YWxseS1oaWRkZW4ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICAgIHdpZHRoOiAxcHggIWltcG9ydGFudDtcbiAgICBoZWlnaHQ6IDFweCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgICBtYXJnaW46IC0xcHggIWltcG9ydGFudDtcbiAgICBvdmVyZmxvdzogaGlkZGVuICFpbXBvcnRhbnQ7XG4gICAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKSAhaW1wb3J0YW50O1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXAgIWltcG9ydGFudDtcbiAgICBib3JkZXI6IDAgIWltcG9ydGFudDtcbiAgfVxuICBtYWluIHtcbiAgICBvdmVyZmxvdzogY2xpcDtcbiAgICBncmlkLWFyZWE6IG1haW47XG4gICAgcGFkZGluZy10b3A6IGNhbGMoNjAgLyAzOTAgKiAxMDB2dyk7XG4gICAgLypcbiAgICBAaW5jbHVkZSBtcSgpIHtcbiAgICAgICY6aGFzKC5sZWZ0QXJlYSkge1xuICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICBncmlkLXRlbXBsYXRlOlxuICAgICAgICAgIFwibGVmdCBjb250ZW50XCIgYXV0b1xuICAgICAgICAgIC8gYXV0byBwYyg3NDVweCk7XG4gICAgICAgIHdpZHRoOiBwYygxMTQzcHgpO1xuICAgICAgICBtYXJnaW4taW5saW5lOiBhdXRvO1xuICAgICAgICAubGVmdEFyZWEge1xuICAgICAgICAgIGdyaWQtYXJlYTogbGVmdDtcbiAgICAgICAgfVxuICAgICAgICAuY29udGVudEFyZWEge1xuICAgICAgICAgIGdyaWQtYXJlYTogY29udGVudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAqL1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIG1haW4ge1xuICAgICAgcGFkZGluZy10b3A6IG1pbigxMDBweCwgY2FsYygxMDAgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgaGVhZGVyIHtcbiAgICBncmlkLWFyZWE6IGhlYWRlcjtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgdG9wOiAwO1xuICAgIHotaW5kZXg6IDEwMDtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2xhdGUgdmFyKC0tdHJhbnNpdGlvbi1zcGVlZC1zbG93KSB2YXIoLS1iZXppZXIpLCBiYWNrZ3JvdW5kLWNvbG9yIHZhcigtLXRyYW5zaXRpb24tc3BlZWQtc2xvdykgdmFyKC0tYmV6aWVyKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1zdXJmYWNlKTtcbiAgfVxuICBib2R5LmlzLWRvd24gaGVhZGVyIHtcbiAgICB0cmFuc2xhdGU6IDAgLTEyMCU7XG4gICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IHZhcigtLWJlemllcik7XG4gIH1cbiAgYm9keS5pcy1maXhlZCBoZWFkZXIge1xuICAgIHRyYW5zbGF0ZTogMCAtMTIwJTtcbiAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogdmFyKC0tYmV6aWVyKTtcbiAgfVxuICBib2R5LmlzLXNjcm9sbCBoZWFkZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXN1cmZhY2UpO1xuICB9XG4gIEBtZWRpYSBwcmludCB7XG4gICAgaGVhZGVyIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB9XG4gIH1cbiAgaGVhZGVyIC5pbm5lciB7XG4gICAgcGFkZGluZy1pbmxpbmU6IGNhbGMoMTYgLyAzOTAgKiAxMDB2dyk7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGhlaWdodDogY2FsYyg2MCAvIDM5MCAqIDEwMHZ3KTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogY2FsYygyNiAvIDM5MCAqIDEwMHZ3KTtcbiAgICAvKlxuICAgICNnbmF2IHtcbiAgICAgIEBpbmNsdWRlIG1xIHtcbiAgICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgcGFkZGluZy1pbmxpbmU6IHVuc2V0O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgcGFkZGluZy1ibG9jazogdW5zZXQ7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuICAgICAgfVxuICAgICAgJi5zaG93IHtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IGF1dG87XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIC5nbmF2aW5uZXIge1xuICAgICAgICAgIHRyYW5zbGF0ZTogMDtcbiAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAuZ25hdmlubmVyIHtcbiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlcik7XG4gICAgICAgIHBhZGRpbmctaW5saW5lOiB2dygtLWNvbnRhaW5lci1wYWRkaW5nLXNwKTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IHZ3KDMycHgpO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIG92ZXJmbG93OiBhdXRvO1xuICAgICAgICBzY3JvbGxiYXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IHZhcigtLXRyYW5zaXRpb24tc3BlZWQtc2xvdykgdmFyKC0tYmV6aWVyKSwgdHJhbnNsYXRlIHZhcigtLXRyYW5zaXRpb24tc3BlZWQtc2xvdykgdmFyKC0tYmV6aWVyKTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmFja2dyb3VuZCk7XG4gICAgICAgIEBpbmNsdWRlIG1xIHtcbiAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgIHRyYW5zbGF0ZTogMDtcbiAgICAgICAgICBwYWRkaW5nOiB1bnNldDtcbiAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIH1cbiAgICAgICAgLm1haW4ge1xuICAgICAgICAgIEBpbmNsdWRlIG1xIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgZ2FwOiBwYygyNHB4KTtcbiAgICAgICAgICB9XG4gICAgICAgICAgbGkge1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlcik7XG4gICAgICAgICAgICBmb250LXNpemU6IHZ3KC0tZnMtcyk7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMTQwJTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1tZWRpdW0pO1xuICAgICAgICAgICAgQGluY2x1ZGUgbXEge1xuICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgICAgICAgICAgICBmb250LXNpemU6IHBjKC0tZnMtcyk7XG4gICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxMjAlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJi50b3BwYWdlIHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgbXEge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICYuY29udGFjdCB7XG4gICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1xIHtcbiAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJsYWNrKTtcbiAgICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LW9uLWFjY2VudCk7XG4gICAgICAgICAgICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICAgICAgICAgICAgcGFkZGluZzogcGMoMTZweCkgcGMoMjhweCk7XG4gICAgICAgICAgICAgICAgICBnYXA6IHBjKDRweCk7XG4gICAgICAgICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IGF1dG8gYXV0bztcbiAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiBwYygtLWJvcmRlci1yYWRpdXMtcGlsbCk7XG4gICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIHZhcigtLXRyYW5zaXRpb24tc3BlZWQtZmFzdCkgdmFyKC0tYmV6aWVyKTtcbiAgICAgICAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogcGMoMjRweCk7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogcGMoMjRweCk7XG4gICAgICAgICAgICAgICAgICAgIG1hc2staW1hZ2U6IHVybCgvaW1hZ2VzL2ljb25fbWFpbC5zdmcpO1xuICAgICAgICAgICAgICAgICAgICBtYXNrLXNpemU6IGNvbnRhaW47XG4gICAgICAgICAgICAgICAgICAgIG1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXRleHQtb24tYWNjZW50KTtcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1icmFuZCk7XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmOm5vdCguY29udGFjdCkge1xuICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtcSB7XG4gICAgICAgICAgICAgICAgICBwYWRkaW5nLWJsb2NrOiBwYygyMHB4KTtcbiAgICAgICAgICAgICAgICAgIHBhZGRpbmctaW5saW5lOiB1bnNldDtcbiAgICAgICAgICAgICAgICAgIGdhcDogdW5zZXQ7XG4gICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJyYW5kKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbXEge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBwZDtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBwYygzcHgpO1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciB2YXIoLS10cmFuc2l0aW9uLXNwZWVkLWZhc3QpIHZhcigtLWJlemllcik7XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICYuaXMtYWN0aXZlIHtcbiAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1xIHtcbiAgICAgICAgICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1icmFuZCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICBwYWRkaW5nLWJsb2NrOiB2dygxNnB4KTtcbiAgICAgICAgICAgICAgcGFkZGluZy1pbmxpbmU6IHZ3KDhweCk7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIGF1dG87XG4gICAgICAgICAgICAgIGdhcDogdncoMTJweCk7XG4gICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgd2lkdGg6IHZ3KDIwcHgpO1xuICAgICAgICAgICAgICAgIGhlaWdodDogdncoMjBweCk7XG4gICAgICAgICAgICAgICAgbWFzay1pbWFnZTogdXJsKC9pbWFnZXMvaWNvbl9hcnJvd19zLnN2Zyk7XG4gICAgICAgICAgICAgICAgbWFzay1zaXplOiBjb250YWluO1xuICAgICAgICAgICAgICAgIG1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmxhY2spO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1xIHtcbiAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB1bCB7XG4gICAgICAgICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXIpO1xuICAgICAgICAgICAgICBAaW5jbHVkZSBtcSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBsaSB7XG4gICAgICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiB2dygyNHB4KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgICAqL1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIGhlYWRlciAuaW5uZXIge1xuICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogYXV0byAxZnIgYXV0bztcbiAgICAgIGhlaWdodDogbWluKDEwMHB4LCBjYWxjKDEwMCAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgZ2FwOiBtaW4oMzJweCwgY2FsYygzMiAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgcGFkZGluZy1pbmxpbmU6IG1pbig0OHB4LCBjYWxjKDQ4IC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIGhlYWRlciAuaW5uZXIgI2xvZ28ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAxMDA7XG4gICAgZmxleDogMDtcbiAgfVxuICBoZWFkZXIgLmlubmVyICNsb2dvIGEge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiBjYWxjKDg5IC8gMzkwICogMTAwdncpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIGhlYWRlciAuaW5uZXIgI2xvZ28gYSB7XG4gICAgICB3aWR0aDogbWluKDE0NnB4LCBjYWxjKDE0NiAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICBoZWFkZXIgLmlubmVyICNzZWFyY2hGb3JtIHtcbiAgICBmbGV4OiAxO1xuICB9XG4gIGhlYWRlciAuaW5uZXIgI3NlYXJjaEFyZWEge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJhY2tncm91bmQpO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmc6IGNhbGMoNCAvIDM5MCAqIDEwMHZ3KSBjYWxjKDggLyAzOTAgKiAxMDB2dyk7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogY2FsYyg4IC8gMzkwICogMTAwdncpO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1zcGVlZC1mYXN0KSB2YXIoLS1iZXppZXIpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIGhlYWRlciAuaW5uZXIgI3NlYXJjaEFyZWEge1xuICAgICAgcGFkZGluZzogbWluKDRweCwgY2FsYyg0IC8gMTQ0MCAqIDEwMHZ3KSkgbWluKDhweCwgY2FsYyg4IC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICBnYXA6IG1pbig4cHgsIGNhbGMoOCAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgbWF4LXdpZHRoOiBtaW4oMzUwcHgsIGNhbGMoMzUwIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICB9XG4gIH1cbiAgQG1lZGlhIChhbnktaG92ZXI6IGhvdmVyKSB7XG4gICAgaGVhZGVyIC5pbm5lciAjc2VhcmNoQXJlYTpob3ZlciwgaGVhZGVyIC5pbm5lciAjc2VhcmNoQXJlYTpmb2N1cy13aXRoaW4ge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItZ3JheS13ZWFrKTtcbiAgICB9XG4gIH1cbiAgaGVhZGVyIC5pbm5lciAjc2VhcmNoQXJlYSBpbnB1dFt0eXBlPXNlYXJjaF0ge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBwYWRkaW5nOiB1bnNldDtcbiAgICBmb250OiBpbmhlcml0O1xuICAgIGZvbnQtc2l6ZTogY2FsYyh2YXIoLS1mcy14cykgLyAzOTAgKiAxMDB2dyk7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgaGVpZ2h0OiBjYWxjKDI0IC8gMzkwICogMTAwdncpO1xuICAgIGZsZXg6IDE7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgaGVhZGVyIC5pbm5lciAjc2VhcmNoQXJlYSBpbnB1dFt0eXBlPXNlYXJjaF0ge1xuICAgICAgZm9udC1zaXplOiBtaW4oY2FsYyh2YXIoLS1mcy14cykgKiAxcHgpLCBjYWxjKHZhcigtLWZzLXhzKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgaGVpZ2h0OiBtaW4oMjRweCwgY2FsYygyNCAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICBoZWFkZXIgLmlubmVyICNzZWFyY2hBcmVhIGJ1dHRvblt0eXBlPXN1Ym1pdF0gaW1nIHtcbiAgICB3aWR0aDogY2FsYygyMCAvIDM5MCAqIDEwMHZ3KTtcbiAgICBoZWlnaHQ6IGNhbGMoMjAgLyAzOTAgKiAxMDB2dyk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgaGVhZGVyIC5pbm5lciAjc2VhcmNoQXJlYSBidXR0b25bdHlwZT1zdWJtaXRdIGltZyB7XG4gICAgICB3aWR0aDogbWluKDIwcHgsIGNhbGMoMjAgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIGhlaWdodDogbWluKDIwcHgsIGNhbGMoMjAgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgaGVhZGVyIC5pbm5lciAjbWVudUJ1dHRvbiB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogY2FsYyg2IC8gMzkwICogMTAwdncpO1xuICAgIHotaW5kZXg6IDEwMDtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3Itc3VyZmFjZSk7XG4gICAgYXNwZWN0LXJhdGlvOiAxLzE7XG4gICAgd2lkdGg6IGNhbGMoNDggLyAzOTAgKiAxMDB2dyk7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyKTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgaGVhZGVyIC5pbm5lciAjbWVudUJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuICBoZWFkZXIgLmlubmVyICNtZW51QnV0dG9uIC5saW5lcyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiBjYWxjKDI0IC8gMzkwICogMTAwdncpO1xuICAgIGhlaWdodDogY2FsYygyNCAvIDM5MCAqIDEwMHZ3KTtcbiAgfVxuICBoZWFkZXIgLmlubmVyICNtZW51QnV0dG9uIC5saW5lcyBzcGFuIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogY2FsYygyIC8gMzkwICogMTAwdncpO1xuICAgIHdpZHRoOiBjYWxjKDIwIC8gMzkwICogMTAwdncpO1xuICAgIGhlaWdodDogY2FsYygyIC8gMzkwICogMTAwdncpO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJsYWNrKTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLXBpbGwpO1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSB2YXIoLS10cmFuc2l0aW9uLXNwZWVkKSB2YXIoLS1iZXppZXIpLCBiYWNrZ3JvdW5kLWNvbG9yIHZhcigtLXRyYW5zaXRpb24tc3BlZWQpIHZhcigtLWJlemllcikgMC4ycywgdG9wIHZhcigtLXRyYW5zaXRpb24tc3BlZWQpIHZhcigtLWJlemllcikgMC4ycztcbiAgfVxuICBoZWFkZXIgLmlubmVyICNtZW51QnV0dG9uIC5saW5lcyBzcGFuLmxpbmUwMSB7XG4gICAgdG9wOiBjYWxjKDYgLyAzOTAgKiAxMDB2dyk7XG4gIH1cbiAgaGVhZGVyIC5pbm5lciAjbWVudUJ1dHRvbiAubGluZXMgc3Bhbi5saW5lMDIge1xuICAgIHRvcDogY2FsYygxMSAvIDM5MCAqIDEwMHZ3KTtcbiAgfVxuICBoZWFkZXIgLmlubmVyICNtZW51QnV0dG9uIC5saW5lcyBzcGFuLmxpbmUwMyB7XG4gICAgdG9wOiBjYWxjKDE2IC8gMzkwICogMTAwdncpO1xuICAgIHdpZHRoOiBjYWxjKDEyIC8gMzkwICogMTAwdncpO1xuICB9XG4gIGhlYWRlciAuaW5uZXIgI21lbnVCdXR0b24uc2hvdyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItZ3JheSk7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1ncmF5KTtcbiAgfVxuICBoZWFkZXIgLmlubmVyICNtZW51QnV0dG9uLnNob3cgLmxpbmVzIHNwYW4ge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXRleHQtb24tYWNjZW50KTtcbiAgICB0b3A6IGNhbGMoMTEgLyAzOTAgKiAxMDB2dyk7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciB2YXIoLS10cmFuc2l0aW9uLXNwZWVkKSB2YXIoLS1iZXppZXIpLCB0b3AgdmFyKC0tdHJhbnNpdGlvbi1zcGVlZCkgdmFyKC0tYmV6aWVyKSwgb3BhY2l0eSB2YXIoLS10cmFuc2l0aW9uLXNwZWVkKSB2YXIoLS1iZXppZXIpLCB0cmFuc2Zvcm0gdmFyKC0tdHJhbnNpdGlvbi1zcGVlZCkgdmFyKC0tYmV6aWVyKSAwLjJzO1xuICB9XG4gIGhlYWRlciAuaW5uZXIgI21lbnVCdXR0b24uc2hvdyAubGluZXMgc3Bhbi5saW5lMDEge1xuICAgIHRyYW5zZm9ybTogcm90YXRlWig0NWRlZyk7XG4gIH1cbiAgaGVhZGVyIC5pbm5lciAjbWVudUJ1dHRvbi5zaG93IC5saW5lcyBzcGFuLmxpbmUwMiB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGVaKC00NWRlZyk7XG4gIH1cbiAgaGVhZGVyIC5pbm5lciAjbWVudUJ1dHRvbi5zaG93IC5saW5lcyBzcGFuLmxpbmUwMyB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuICAjZ25hdkNhdGVnb3JpZXNQQyB7XG4gICAgei1pbmRleDogMTAwMjtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHRyYW5zaXRpb246IHRyYW5zbGF0ZSB2YXIoLS10cmFuc2l0aW9uLXNwZWVkLXNsb3cpIHZhcigtLWJlemllcik7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgI2duYXZDYXRlZ29yaWVzUEMge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICB9XG4gICNnbmF2Q2F0ZWdvcmllc1BDIC5nbmF2SW5uZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IG1pbigyMHB4LCBjYWxjKDIwIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gIH1cbiAgI2duYXZDYXRlZ29yaWVzUEMgLmduYXZJbm5lciAudW5pdDpoYXMoLmNoaWxkKSBoMyB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICB9XG4gICNnbmF2Q2F0ZWdvcmllc1BDIC5nbmF2SW5uZXIgLnVuaXQ6aGFzKC5jaGlsZCkgaDMuaXMtYWN0aXZlIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItYnJhbmQpO1xuICB9XG4gICNnbmF2Q2F0ZWdvcmllc1BDIC5nbmF2SW5uZXIgLnVuaXQ6aGFzKC5pY29uLmxpbmUpIHtcbiAgICBwYWRkaW5nLWxlZnQ6IG1pbigxMnB4LCBjYWxjKDEyIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gIH1cbiAgI2duYXZDYXRlZ29yaWVzUEMgLmduYXZJbm5lciAudW5pdCBoMyB7XG4gICAgZm9udC1zaXplOiBtaW4oY2FsYyh2YXIoLS1mcy1zKSAqIDFweCksIGNhbGModmFyKC0tZnMtcykgLyAxNDQwICogMTAwdncpKTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgcGFkZGluZzogMCBtaW4oMnB4LCBjYWxjKDIgLyAxNDQwICogMTAwdncpKTtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciB2YXIoLS10cmFuc2l0aW9uLXNwZWVkLWZhc3QpIHZhcigtLWJlemllcik7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG4gICNnbmF2Q2F0ZWdvcmllc1BDIC5nbmF2SW5uZXIgLnVuaXQgaDM6aG92ZXIge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1icmFuZCk7XG4gIH1cbiAgI2duYXZDYXRlZ29yaWVzUEMgLmduYXZJbm5lciAudW5pdCBoMzpub3QoLnZlcnRpY2FsKSB7XG4gICAgcGFkZGluZy1ibG9jazogbWluKDI0cHgsIGNhbGMoMjQgLyAxNDQwICogMTAwdncpKTtcbiAgfVxuICAjZ25hdkNhdGVnb3JpZXNQQyAuZ25hdklubmVyIC51bml0IGgzOm5vdCgudmVydGljYWwpOmhhcyhhW3RhcmdldD1fYmxhbmtdKSBhW3RhcmdldD1fYmxhbmtdIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZy1yaWdodDogbWluKDIwcHgsIGNhbGMoMjAgLyAxNDQwICogMTAwdncpKTtcbiAgfVxuICAjZ25hdkNhdGVnb3JpZXNQQyAuZ25hdklubmVyIC51bml0IGgzOm5vdCgudmVydGljYWwpOmhhcyhhW3RhcmdldD1fYmxhbmtdKSBhW3RhcmdldD1fYmxhbmtdOjphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDA7XG4gICAgdG9wOiA1MCU7XG4gICAgdHJhbnNsYXRlOiAwIC01MCU7XG4gICAgd2lkdGg6IG1pbigyMHB4LCBjYWxjKDIwIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgaGVpZ2h0OiBtaW4oMjBweCwgY2FsYygyMCAvIDE0NDAgKiAxMDB2dykpO1xuICAgIG1hc2staW1hZ2U6IHVybCgvaW1hZ2VzL2ljb25fZXh0ZXJuYWwuc3ZnKTtcbiAgICBtYXNrLXNpemU6IGNvbnRhaW47XG4gICAgbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1ibGFjayk7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciB2YXIoLS10cmFuc2l0aW9uLXNwZWVkLWZhc3QpIHZhcigtLWJlemllcik7XG4gIH1cbiAgQG1lZGlhIChhbnktaG92ZXI6IGhvdmVyKSB7XG4gICAgI2duYXZDYXRlZ29yaWVzUEMgLmduYXZJbm5lciAudW5pdCBoMzpub3QoLnZlcnRpY2FsKTpoYXMoYVt0YXJnZXQ9X2JsYW5rXSk6aG92ZXIgYVt0YXJnZXQ9X2JsYW5rXTo6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYnJhbmQpO1xuICAgIH1cbiAgfVxuICAjZ25hdkNhdGVnb3JpZXNQQyAuZ25hdklubmVyIC51bml0IGgzLnZlcnRpY2FsIHtcbiAgICBmb250LXNpemU6IG1pbihjYWxjKHZhcigtLWZzLXhzKSAqIDFweCksIGNhbGModmFyKC0tZnMteHMpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgbGluZS1oZWlnaHQ6IDEyMCU7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LW1lZGl1bSk7XG4gICAgcGFkZGluZy1pbmxpbmU6IHVuc2V0O1xuICB9XG4gICNnbmF2Q2F0ZWdvcmllc1BDIC5nbmF2SW5uZXIgLnVuaXQgaDMudmVydGljYWwgYSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgZ2FwOiBtaW4oNHB4LCBjYWxjKDQgLyAxNDQwICogMTAwdncpKTtcbiAgfVxuICAjZ25hdkNhdGVnb3JpZXNQQyAuZ25hdklubmVyIC51bml0IGgzLnZlcnRpY2FsIGEgaSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IG1pbig0OHB4LCBjYWxjKDQ4IC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgaGVpZ2h0OiBtaW4oNDhweCwgY2FsYyg0OCAvIDE0NDAgKiAxMDB2dykpO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cbiAgI2duYXZDYXRlZ29yaWVzUEMgLmduYXZJbm5lciAudW5pdCBoMy52ZXJ0aWNhbCBhIGk6OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdG9wOiA1MCU7XG4gICAgdHJhbnNsYXRlOiAtNTAlIC01MCU7XG4gICAgd2lkdGg6IG1pbigyNHB4LCBjYWxjKDI0IC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgaGVpZ2h0OiBtaW4oMjRweCwgY2FsYygyNCAvIDE0NDAgKiAxMDB2dykpO1xuICAgIG1hc2stc2l6ZTogY29udGFpbjtcbiAgICBtYXNrLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXRleHQtb24tYWNjZW50KTtcbiAgfVxuICAjZ25hdkNhdGVnb3JpZXNQQyAuZ25hdklubmVyIC51bml0IGgzLnZlcnRpY2FsIGEgaS5saW5lIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1saW5lKTtcbiAgfVxuICAjZ25hdkNhdGVnb3JpZXNQQyAuZ25hdklubmVyIC51bml0IGgzLnZlcnRpY2FsIGEgaS5saW5lOjphZnRlciB7XG4gICAgbWFzay1pbWFnZTogdXJsKC9pbWFnZXMvaWNvbl9saW5lLnN2Zyk7XG4gIH1cbiAgI2duYXZDYXRlZ29yaWVzUEMgLmduYXZJbm5lciAudW5pdCBoMy52ZXJ0aWNhbCBhIGkuY29udGFjdCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3Itc2Vjb25kKTtcbiAgfVxuICAjZ25hdkNhdGVnb3JpZXNQQyAuZ25hdklubmVyIC51bml0IGgzLnZlcnRpY2FsIGEgaS5jb250YWN0OjphZnRlciB7XG4gICAgbWFzay1pbWFnZTogdXJsKC9pbWFnZXMvaWNvbl9tYWlsLnN2Zyk7XG4gIH1cbiAgI2duYXZDYXRlZ29yaWVzUEMgLmduYXZJbm5lciAudW5pdCAuY2hpbGQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXN1cmZhY2UpO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgaGVpZ2h0OiAwO1xuICAgIHRyYW5zaXRpb246IGhlaWdodCB2YXIoLS10cmFuc2l0aW9uLXNwZWVkKSB2YXIoLS1iZXppZXIpO1xuICB9XG4gICNnbmF2Q2F0ZWdvcmllc1BDIC5nbmF2SW5uZXIgLnVuaXQgLmNoaWxkIC5jaGlsZC1pbm5lciB7XG4gICAgcGFkZGluZy1sZWZ0OiBjYWxjKHZhcigtLWNvbnRhaW5lci1wYWRkaW5nLXNwKSAvIDM5MCAqIDEwMHZ3KTtcbiAgICBwYWRkaW5nLXJpZ2h0OiBjYWxjKHZhcigtLWNvbnRhaW5lci1wYWRkaW5nLXNwKSAvIDM5MCAqIDEwMHZ3KTtcbiAgICBwYWRkaW5nLWJsb2NrOiBtaW4oNTZweCwgY2FsYyg1NiAvIDE0NDAgKiAxMDB2dykpO1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZTogXCJ0aXRsZSBuYXZcIiBcImNsb3NlIGNsb3NlXCIvbWluKDI3M3B4LCBjYWxjKDI3MyAvIDE0NDAgKiAxMDB2dykpIDFmcjtcbiAgICBnYXA6IG1pbig1NnB4LCBjYWxjKDU2IC8gMTQ0MCAqIDEwMHZ3KSkgMDtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAjZ25hdkNhdGVnb3JpZXNQQyAuZ25hdklubmVyIC51bml0IC5jaGlsZCAuY2hpbGQtaW5uZXIge1xuICAgICAgcGFkZGluZy1sZWZ0OiB1bnNldDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IHVuc2V0O1xuICAgICAgbWFyZ2luLWlubGluZTogYXV0bztcbiAgICAgIHdpZHRoOiBtaW4oMTAyNnB4LCBjYWxjKDEwMjYgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgI2duYXZDYXRlZ29yaWVzUEMgLmduYXZJbm5lciAudW5pdCAuY2hpbGQgLmNoaWxkLWlubmVyIC50aXRsZSB7XG4gICAgZ3JpZC1hcmVhOiB0aXRsZTtcbiAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgcGFkZGluZy1yaWdodDogbWluKDM2cHgsIGNhbGMoMzYgLyAxNDQwICogMTAwdncpKTtcbiAgfVxuICAjZ25hdkNhdGVnb3JpZXNQQyAuZ25hdklubmVyIC51bml0IC5jaGlsZCAuY2hpbGQtaW5uZXIgLnRpdGxlIGg0IHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dCk7XG4gICAgZm9udC1zaXplOiBtaW4oY2FsYyh2YXIoLS1mcy14bCkgKiAxcHgpLCBjYWxjKHZhcigtLWZzLXhsKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICBsaW5lLWhlaWdodDogMTQwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiBtaW4oMTJweCwgY2FsYygxMiAvIDE0NDAgKiAxMDB2dykpO1xuICB9XG4gICNnbmF2Q2F0ZWdvcmllc1BDIC5nbmF2SW5uZXIgLnVuaXQgLmNoaWxkIC5jaGlsZC1pbm5lciAudGl0bGUgaDQ6OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogbWluKDIwcHgsIGNhbGMoMjAgLyAxNDQwICogMTAwdncpKTtcbiAgICBoZWlnaHQ6IG1pbig0cHgsIGNhbGMoNCAvIDE0NDAgKiAxMDB2dykpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJyYW5kKTtcbiAgfVxuICAjZ25hdkNhdGVnb3JpZXNQQyAuZ25hdklubmVyIC51bml0IC5jaGlsZCAuY2hpbGQtaW5uZXIgLnRpdGxlIHAge1xuICAgIG1hcmdpbi10b3A6IG1pbigyMHB4LCBjYWxjKDIwIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWdyYXkpO1xuICAgIGZvbnQtc2l6ZTogbWluKGNhbGModmFyKC0tZnMtcykgKiAxcHgpLCBjYWxjKHZhcigtLWZzLXMpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LW1lZGl1bSk7XG4gICAgbGluZS1oZWlnaHQ6IDE3MS40MjklO1xuICB9XG4gICNnbmF2Q2F0ZWdvcmllc1BDIC5nbmF2SW5uZXIgLnVuaXQgLmNoaWxkIC5jaGlsZC1pbm5lciAudGl0bGUgZmlndXJlIHtcbiAgICBtYXJnaW4tdG9wOiBtaW4oMjBweCwgY2FsYygyMCAvIDE0NDAgKiAxMDB2dykpO1xuICB9XG4gICNnbmF2Q2F0ZWdvcmllc1BDIC5nbmF2SW5uZXIgLnVuaXQgLmNoaWxkIC5jaGlsZC1pbm5lciAudGl0bGUgZmlndXJlIGltZyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbiAgI2duYXZDYXRlZ29yaWVzUEMgLmduYXZJbm5lciAudW5pdCAuY2hpbGQgLmNoaWxkLWlubmVyIC5uYXYge1xuICAgIGdyaWQtYXJlYTogbmF2O1xuICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlcik7XG4gICAgcGFkZGluZy1sZWZ0OiBtaW4oMzZweCwgY2FsYygzNiAvIDE0NDAgKiAxMDB2dykpO1xuICB9XG4gICNnbmF2Q2F0ZWdvcmllc1BDIC5nbmF2SW5uZXIgLnVuaXQgLmNoaWxkIC5jaGlsZC1pbm5lciAubmF2IGg1IHtcbiAgICBtYXJnaW4tdG9wOiBtaW4oNDBweCwgY2FsYyg0MCAvIDE0NDAgKiAxMDB2dykpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0KTtcbiAgICBmb250LXNpemU6IG1pbihjYWxjKHZhcigtLWZzLWwpICogMXB4KSwgY2FsYyh2YXIoLS1mcy1sKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICBsaW5lLWhlaWdodDogMTU1LjU1NiU7XG4gIH1cbiAgI2duYXZDYXRlZ29yaWVzUEMgLmduYXZJbm5lciAudW5pdCAuY2hpbGQgLmNoaWxkLWlubmVyIC5uYXYgaDU6Zmlyc3QtY2hpbGQge1xuICAgIG1hcmdpbi10b3A6IHVuc2V0O1xuICB9XG4gICNnbmF2Q2F0ZWdvcmllc1BDIC5nbmF2SW5uZXIgLnVuaXQgLmNoaWxkIC5jaGlsZC1pbm5lciAubmF2IGg1IGEge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBhdXRvIDFmcjtcbiAgICBnYXA6IG1pbig0cHgsIGNhbGMoNCAvIDE0NDAgKiAxMDB2dykpO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1zcGVlZC1mYXN0KSB2YXIoLS1iZXppZXIpO1xuICB9XG4gICNnbmF2Q2F0ZWdvcmllc1BDIC5nbmF2SW5uZXIgLnVuaXQgLmNoaWxkIC5jaGlsZC1pbm5lciAubmF2IGg1IGE6OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiBtaW4oMTZweCwgY2FsYygxNiAvIDE0NDAgKiAxMDB2dykpO1xuICAgIGhlaWdodDogbWluKDE2cHgsIGNhbGMoMTYgLyAxNDQwICogMTAwdncpKTtcbiAgICBtYXNrLWltYWdlOiB1cmwoL2ltYWdlcy9pY29uX2Fycm93X25leHQuc3ZnKTtcbiAgICBtYXNrLXNpemU6IGNvbnRhaW47XG4gICAgbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1ibGFjayk7XG4gICAgdHJhbnNsYXRlOiAwIG1pbigxcHgsIGNhbGMoMSAvIDE0NDAgKiAxMDB2dykpO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1zcGVlZC1mYXN0KSB2YXIoLS1iZXppZXIpO1xuICB9XG4gIEBtZWRpYSAoYW55LWhvdmVyOiBob3Zlcikge1xuICAgICNnbmF2Q2F0ZWdvcmllc1BDIC5nbmF2SW5uZXIgLnVuaXQgLmNoaWxkIC5jaGlsZC1pbm5lciAubmF2IGg1IGE6aG92ZXIge1xuICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWJyYW5kKTtcbiAgICB9XG4gICAgI2duYXZDYXRlZ29yaWVzUEMgLmduYXZJbm5lciAudW5pdCAuY2hpbGQgLmNoaWxkLWlubmVyIC5uYXYgaDUgYTpob3Zlcjo6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYnJhbmQpO1xuICAgIH1cbiAgfVxuICAjZ25hdkNhdGVnb3JpZXNQQyAuZ25hdklubmVyIC51bml0IC5jaGlsZCAuY2hpbGQtaW5uZXIgLm5hdiB1bCB7XG4gICAgbWFyZ2luLXRvcDogbWluKDIwcHgsIGNhbGMoMjAgLyAxNDQwICogMTAwdncpKTtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDUsIDFmcik7XG4gICAgZ2FwOiBtaW4oOHB4LCBjYWxjKDggLyAxNDQwICogMTAwdncpKTtcbiAgfVxuICAjZ25hdkNhdGVnb3JpZXNQQyAuZ25hdklubmVyIC51bml0IC5jaGlsZCAuY2hpbGQtaW5uZXIgLm5hdiB1bCBsaSB7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgfVxuICAjZ25hdkNhdGVnb3JpZXNQQyAuZ25hdklubmVyIC51bml0IC5jaGlsZCAuY2hpbGQtaW5uZXIgLm5hdiB1bCBsaSBhIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dCk7XG4gICAgZm9udC1zaXplOiBtaW4oY2FsYyh2YXIoLS1mcy1zKSAqIDFweCksIGNhbGModmFyKC0tZnMtcykgLyAxNDQwICogMTAwdncpKTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtbWVkaXVtKTtcbiAgICBsaW5lLWhlaWdodDogMTQyLjg1NyU7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IGF1dG8gMWZyO1xuICAgIGdhcDogbWluKDRweCwgY2FsYyg0IC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciB2YXIoLS10cmFuc2l0aW9uLXNwZWVkLWZhc3QpIHZhcigtLWJlemllcik7XG4gIH1cbiAgI2duYXZDYXRlZ29yaWVzUEMgLmduYXZJbm5lciAudW5pdCAuY2hpbGQgLmNoaWxkLWlubmVyIC5uYXYgdWwgbGkgYTo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IG1pbigxNnB4LCBjYWxjKDE2IC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgaGVpZ2h0OiBtaW4oMTZweCwgY2FsYygxNiAvIDE0NDAgKiAxMDB2dykpO1xuICAgIG1hc2staW1hZ2U6IHVybCgvaW1hZ2VzL2ljb25fYXJyb3dfbmV4dC5zdmcpO1xuICAgIG1hc2stc2l6ZTogY29udGFpbjtcbiAgICBtYXNrLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJsYWNrKTtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIHZhcigtLXRyYW5zaXRpb24tc3BlZWQtZmFzdCkgdmFyKC0tYmV6aWVyKTtcbiAgfVxuICBAbWVkaWEgKGFueS1ob3ZlcjogaG92ZXIpIHtcbiAgICAjZ25hdkNhdGVnb3JpZXNQQyAuZ25hdklubmVyIC51bml0IC5jaGlsZCAuY2hpbGQtaW5uZXIgLm5hdiB1bCBsaSBhOmhvdmVyIHtcbiAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1icmFuZCk7XG4gICAgfVxuICAgICNnbmF2Q2F0ZWdvcmllc1BDIC5nbmF2SW5uZXIgLnVuaXQgLmNoaWxkIC5jaGlsZC1pbm5lciAubmF2IHVsIGxpIGE6aG92ZXI6OmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJyYW5kKTtcbiAgICB9XG4gIH1cbiAgI2duYXZDYXRlZ29yaWVzUEMgLmduYXZJbm5lciAudW5pdCAuY2hpbGQgLmNoaWxkLWlubmVyIC5jbG9zZSB7XG4gICAgZ3JpZC1hcmVhOiBjbG9zZTtcbiAgICBib3JkZXItcmFkaXVzOiBjYWxjKHZhcigtLWJvcmRlci1yYWRpdXMtc21hbGwpIC8gMzkwICogMTAwdncpO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJhY2tncm91bmQpO1xuICAgIHBhZGRpbmc6IG1pbig4cHgsIGNhbGMoOCAvIDE0NDAgKiAxMDB2dykpO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1zcGVlZC1mYXN0KSB2YXIoLS1iZXppZXIpO1xuICB9XG4gIEBtZWRpYSAoYW55LWhvdmVyOiBob3Zlcikge1xuICAgICNnbmF2Q2F0ZWdvcmllc1BDIC5nbmF2SW5uZXIgLnVuaXQgLmNoaWxkIC5jaGlsZC1pbm5lciAuY2xvc2U6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItZ3JheS13ZWFrKTtcbiAgICB9XG4gIH1cbiAgI2duYXZDYXRlZ29yaWVzUEMgLmduYXZJbm5lciAudW5pdCAuY2hpbGQgLmNoaWxkLWlubmVyIC5jbG9zZSBzcGFuIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQpO1xuICAgIGZvbnQtc2l6ZTogbWluKGNhbGModmFyKC0tZnMteHMpICogMXB4KSwgY2FsYyh2YXIoLS1mcy14cykgLyAxNDQwICogMTAwdncpKTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgbGluZS1oZWlnaHQ6IDE1MCU7XG4gICAgZ2FwOiBtaW4oOHB4LCBjYWxjKDggLyAxNDQwICogMTAwdncpKTtcbiAgfVxuICAjZ25hdkNhdGVnb3JpZXNQQyAuZ25hdklubmVyIC51bml0IC5jaGlsZCAuY2hpbGQtaW5uZXIgLmNsb3NlIHNwYW46OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogbWluKDE2cHgsIGNhbGMoMTYgLyAxNDQwICogMTAwdncpKTtcbiAgICBoZWlnaHQ6IG1pbigxNnB4LCBjYWxjKDE2IC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgbWFzay1pbWFnZTogdXJsKC9pbWFnZXMvaWNvbl9jbG9zZS5zdmcpO1xuICAgIG1hc2stc2l6ZTogY29udGFpbjtcbiAgICBtYXNrLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJsYWNrKTtcbiAgfVxuICBtYWluOmhhcygubmF2aWdhdGlvbi5icmVhZGNydW1icywgLmJyZWFkY3J1bWJzLmNvbXBvbmVudC50eXBlX3BhZ2VsaXN0KSArIGZvb3RlciB7XG4gICAgbWFyZ2luLXRvcDogY2FsYygyMCAvIDM5MCAqIDEwMHZ3KTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICBtYWluOmhhcygubmF2aWdhdGlvbi5icmVhZGNydW1icywgLmJyZWFkY3J1bWJzLmNvbXBvbmVudC50eXBlX3BhZ2VsaXN0KSArIGZvb3RlciB7XG4gICAgICBtYXJnaW4tdG9wOiBtaW4oMTJweCwgY2FsYygxMiAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAjcGFnZXRvcEEge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICBib3R0b206IGNhbGMoNjQgLyAzOTAgKiAxMDB2dyk7XG4gICAgcmlnaHQ6IGNhbGMoMTYgLyAzOTAgKiAxMDB2dyk7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSB2YXIoLS10cmFuc2l0aW9uLXNwZWVkLXNsb3cpIHZhcigtLWJlemllcik7XG4gICAgei1pbmRleDogOTk5OTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAjcGFnZXRvcEEge1xuICAgICAgYm90dG9tOiBtaW4oNTZweCwgY2FsYyg1NiAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgcmlnaHQ6IG1pbig0MHB4LCBjYWxjKDQwIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gICNwYWdldG9wQSBhIHtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgdmFyKC0tYmV6aWVyKTtcbiAgfVxuICAjcGFnZXRvcEEgYTpob3ZlciB7XG4gICAgb3BhY2l0eTogMC43O1xuICB9XG4gICNwYWdldG9wQSBhIGltZyB7XG4gICAgd2lkdGg6IGNhbGMoNDggLyAzOTAgKiAxMDB2dyk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgI3BhZ2V0b3BBIGEgaW1nIHtcbiAgICAgIHdpZHRoOiBtaW4oNjRweCwgY2FsYyg2NCAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAjcGFnZXRvcEEuaXMtc2Nyb2xsIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHBvaW50ZXItZXZlbnRzOiBhbGw7XG4gIH1cbiAgI3BhZ2V0b3BBLmlzLWJvdHRvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAjcGFnZXRvcEEuaXMtYm90dG9tIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICBwb2ludGVyLWV2ZW50czogYWxsO1xuICAgIH1cbiAgfVxuICAjcGFnZXRvcEIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IGNhbGMoNjQgLyAzOTAgKiAxMDB2dyk7XG4gICAgcmlnaHQ6IGNhbGMoMTYgLyAzOTAgKiAxMDB2dyk7XG4gICAgei1pbmRleDogdmFyKC0tei1pbmRleC1wYWdldG9wQik7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgI3BhZ2V0b3BCIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG4gICNwYWdldG9wQiBhIHtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgdmFyKC0tYmV6aWVyKTtcbiAgfVxuICAjcGFnZXRvcEIgYTpob3ZlciB7XG4gICAgb3BhY2l0eTogMC43O1xuICB9XG4gICNwYWdldG9wQiBhIGltZyB7XG4gICAgd2lkdGg6IGNhbGMoNDggLyAzOTAgKiAxMDB2dyk7XG4gIH1cbiAgZm9vdGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZ3JpZC1hcmVhOiBmb290ZXI7XG4gICAgbWFyZ2luLXRvcDogY2FsYyg1NiAvIDM5MCAqIDEwMHZ3KTtcbiAgICBwYWRkaW5nLWJsb2NrOiBjYWxjKDY0IC8gMzkwICogMTAwdncpIGNhbGMoOTYgLyAzOTAgKiAxMDB2dyk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItZ3JheS1zdHJvbmcpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LW9uLWFjY2VudCk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgZm9vdGVyIHtcbiAgICAgIG1hcmdpbi10b3A6IG1pbig1NnB4LCBjYWxjKDU2IC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICBwYWRkaW5nLWJsb2NrOiBtaW4oMTAwcHgsIGNhbGMoMTAwIC8gMTQ0MCAqIDEwMHZ3KSkgbWluKDgwcHgsIGNhbGMoODAgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgZm9vdGVyIC5pbm5lciB7XG4gICAgcGFkZGluZy1sZWZ0OiBjYWxjKHZhcigtLWNvbnRhaW5lci1wYWRkaW5nLXNwKSAvIDM5MCAqIDEwMHZ3KTtcbiAgICBwYWRkaW5nLXJpZ2h0OiBjYWxjKHZhcigtLWNvbnRhaW5lci1wYWRkaW5nLXNwKSAvIDM5MCAqIDEwMHZ3KTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICBmb290ZXIgLmlubmVyIHtcbiAgICAgIHBhZGRpbmctbGVmdDogdW5zZXQ7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiB1bnNldDtcbiAgICAgIG1hcmdpbi1pbmxpbmU6IGF1dG87XG4gICAgICB3aWR0aDogbWluKDEyNDBweCwgY2FsYygxMjQwIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIGZvb3RlciAuaW5uZXIgLmZvb3RpbmZvIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIH1cbiAgfVxuICBmb290ZXIgLmlubmVyIC5mb290aW5mbyAuY29ycGluZm8gcCBpbWcge1xuICAgIHdpZHRoOiBjYWxjKDE4MiAvIDM5MCAqIDEwMHZ3KTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICBmb290ZXIgLmlubmVyIC5mb290aW5mbyAuY29ycGluZm8gcCBpbWcge1xuICAgICAgd2lkdGg6IG1pbigyMThweCwgY2FsYygyMTggLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgZm9vdGVyIC5pbm5lciAuZm9vdGluZm8gLnNucyB7XG4gICAgbWFyZ2luLXRvcDogY2FsYygzMiAvIDM5MCAqIDEwMHZ3KTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICBmb290ZXIgLmlubmVyIC5mb290aW5mbyAuc25zIHtcbiAgICAgIG1hcmdpbi10b3A6IHVuc2V0O1xuICAgIH1cbiAgfVxuICBmb290ZXIgLmlubmVyIC5mb290aW5mbyAuc25zIHVsIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGdhcDogY2FsYygxNiAvIDM5MCAqIDEwMHZ3KTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICBmb290ZXIgLmlubmVyIC5mb290aW5mbyAuc25zIHVsIHtcbiAgICAgIGdhcDogbWluKDE2cHgsIGNhbGMoMTYgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgZm9vdGVyIC5pbm5lciAuZm9vdGluZm8gLnNucyB1bCBsaSBhIHtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyKTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1zdXJmYWNlKTtcbiAgICBhc3BlY3QtcmF0aW86IDEvMTtcbiAgICB3aWR0aDogY2FsYygzMiAvIDM5MCAqIDEwMHZ3KTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIHZhcigtLWJlemllcik7XG4gIH1cbiAgZm9vdGVyIC5pbm5lciAuZm9vdGluZm8gLnNucyB1bCBsaSBhOmhvdmVyIHtcbiAgICBvcGFjaXR5OiAwLjc7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgZm9vdGVyIC5pbm5lciAuZm9vdGluZm8gLnNucyB1bCBsaSBhIHtcbiAgICAgIHdpZHRoOiBtaW4oMzJweCwgY2FsYygzMiAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICBmb290ZXIgLmlubmVyIC5mb290aW5mbyAuc25zIHVsIGxpIGEgaW1nIHtcbiAgICB3aWR0aDogY2FsYygyNCAvIDM5MCAqIDEwMHZ3KTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICBmb290ZXIgLmlubmVyIC5mb290aW5mbyAuc25zIHVsIGxpIGEgaW1nIHtcbiAgICAgIHdpZHRoOiBtaW4oMjRweCwgY2FsYygyNCAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICBmb290ZXIgLmlubmVyIC5mb290bmF2IHtcbiAgICBtYXJnaW4tdG9wOiBjYWxjKDQ4IC8gMzkwICogMTAwdncpO1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTtcbiAgICBnYXA6IGNhbGMoMjQgLyAzOTAgKiAxMDB2dykgY2FsYygxNiAvIDM5MCAqIDEwMHZ3KTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICBmb290ZXIgLmlubmVyIC5mb290bmF2IHtcbiAgICAgIG1hcmdpbi10b3A6IG1pbig2NHB4LCBjYWxjKDY0IC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg0LCAxZnIpO1xuICAgICAgZ2FwOiBtaW4oMzJweCwgY2FsYygzMiAvIDE0NDAgKiAxMDB2dykpIG1pbigzMnB4LCBjYWxjKDMyIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIGZvb3RlciAuaW5uZXIgLmZvb3RuYXYgLnVuaXQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IGNhbGMoMjQgLyAzOTAgKiAxMDB2dyk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgZm9vdGVyIC5pbm5lciAuZm9vdG5hdiAudW5pdCB7XG4gICAgICBnYXA6IG1pbigxNnB4LCBjYWxjKDE2IC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIGZvb3RlciAuaW5uZXIgLmZvb3RuYXYgLnVuaXQgaDIge1xuICAgIGZvbnQtc2l6ZTogY2FsYyh2YXIoLS1mcy14cykgLyAzOTAgKiAxMDB2dyk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgIGxpbmUtaGVpZ2h0OiAxNDAlO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIGZvb3RlciAuaW5uZXIgLmZvb3RuYXYgLnVuaXQgaDIge1xuICAgICAgZm9udC1zaXplOiBtaW4oY2FsYyh2YXIoLS1mcy1zKSAqIDFweCksIGNhbGModmFyKC0tZnMtcykgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxNjAlO1xuICAgIH1cbiAgfVxuICBmb290ZXIgLmlubmVyIC5mb290bmF2IC51bml0IGgyIGEge1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyB2YXIoLS1iZXppZXIpO1xuICB9XG4gIGZvb3RlciAuaW5uZXIgLmZvb3RuYXYgLnVuaXQgaDIgYTpob3ZlciB7XG4gICAgb3BhY2l0eTogMC43O1xuICB9XG4gIGZvb3RlciAuaW5uZXIgLmZvb3RuYXYgLnVuaXQgdWwge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IGNhbGMoMjQgLyAzOTAgKiAxMDB2dyk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgZm9vdGVyIC5pbm5lciAuZm9vdG5hdiAudW5pdCB1bCB7XG4gICAgICBnYXA6IG1pbigxNnB4LCBjYWxjKDE2IC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIGZvb3RlciAuaW5uZXIgLmZvb3RuYXYgLnVuaXQgdWwgbGkge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBhdXRvIDFmcjtcbiAgICBmb250LXNpemU6IGNhbGModmFyKC0tZnMteHMpIC8gMzkwICogMTAwdncpO1xuICAgIGdhcDogY2FsYyg0IC8gMzkwICogMTAwdncpO1xuICAgIGxpbmUtaGVpZ2h0OiAxNDAlO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIGZvb3RlciAuaW5uZXIgLmZvb3RuYXYgLnVuaXQgdWwgbGkge1xuICAgICAgZm9udC1zaXplOiBtaW4oY2FsYyh2YXIoLS1mcy1zKSAqIDFweCksIGNhbGModmFyKC0tZnMtcykgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIGdhcDogbWluKDRweCwgY2FsYyg0IC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICBsaW5lLWhlaWdodDogMTYwJTtcbiAgICB9XG4gIH1cbiAgZm9vdGVyIC5pbm5lciAuZm9vdG5hdiAudW5pdCB1bCBsaTo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIi1cIjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuICBmb290ZXIgLmlubmVyIC5mb290bmF2IC51bml0IHVsIGxpIGEge1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyB2YXIoLS1iZXppZXIpO1xuICB9XG4gIGZvb3RlciAuaW5uZXIgLmZvb3RuYXYgLnVuaXQgdWwgbGkgYTpob3ZlciB7XG4gICAgb3BhY2l0eTogMC43O1xuICB9XG4gIGZvb3RlciAuaW5uZXIgLmNvcHlyaWdodCB7XG4gICAgbWFyZ2luLXRvcDogY2FsYyg0OCAvIDM5MCAqIDEwMHZ3KTtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgcmdiYSgyNDIsIDI0MiwgMjQyLCAwLjE4NDMxMzcyNTUpO1xuICAgIHBhZGRpbmctdG9wOiBjYWxjKDQwIC8gMzkwICogMTAwdncpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIGZvb3RlciAuaW5uZXIgLmNvcHlyaWdodCB7XG4gICAgICBtYXJnaW4tdG9wOiBtaW4oNjRweCwgY2FsYyg2NCAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgcGFkZGluZy10b3A6IG1pbig2NHB4LCBjYWxjKDY0IC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xuICAgICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xuICAgICAgZ2FwOiBtaW4oNTRweCwgY2FsYyg1NCAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICBmb290ZXIgLmlubmVyIC5jb3B5cmlnaHQgdWwge1xuICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIH1cbiAgfVxuICBmb290ZXIgLmlubmVyIC5jb3B5cmlnaHQgdWwgbGkge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuICBmb290ZXIgLmlubmVyIC5jb3B5cmlnaHQgdWwgbGkgYSB7XG4gICAgZm9udC1zaXplOiBjYWxjKHZhcigtLWZzLXhzKSAvIDM5MCAqIDEwMHZ3KTtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgdmFyKC0tYmV6aWVyKTtcbiAgfVxuICBmb290ZXIgLmlubmVyIC5jb3B5cmlnaHQgdWwgbGkgYTpob3ZlciB7XG4gICAgb3BhY2l0eTogMC43O1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIGZvb3RlciAuaW5uZXIgLmNvcHlyaWdodCB1bCBsaSBhIHtcbiAgICAgIGZvbnQtc2l6ZTogbWluKGNhbGModmFyKC0tZnMteHMpICogMXB4KSwgY2FsYyh2YXIoLS1mcy14cykgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgZm9vdGVyIC5pbm5lciAuY29weXJpZ2h0IHAge1xuICAgIGZvbnQtc2l6ZTogY2FsYyh2YXIoLS1mcy14eHMpIC8gMzkwICogMTAwdncpO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4wMmVtO1xuICAgIG1hcmdpbi10b3A6IGNhbGMoMjQgLyAzOTAgKiAxMDB2dyk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgZm9vdGVyIC5pbm5lciAuY29weXJpZ2h0IHAge1xuICAgICAgbWFyZ2luLXRvcDogdW5zZXQ7XG4gICAgICBmb250LXNpemU6IG1pbihjYWxjKHZhcigtLWZzLXhzKSAqIDFweCksIGNhbGModmFyKC0tZnMteHMpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIH1cbiAgfVxuICAjZm9vdE1lbnUge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB6LWluZGV4OiB2YXIoLS16LWluZGV4LWZvb3RNZW51KTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1ncmF5LXN0cm9uZyk7XG4gICAgZmlsdGVyOiBkcm9wLXNoYWRvdygwcHggLTFweCAxLjVweCByZ2JhKDAsIDAsIDAsIDAuMDgpKTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAjZm9vdE1lbnUge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cbiAgI2Zvb3RNZW51IHVsIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIH1cbiAgI2Zvb3RNZW51IHVsIGxpIHtcbiAgICBmbGV4OiAxO1xuICB9XG4gICNmb290TWVudSB1bCBsaSBhLCAjZm9vdE1lbnUgdWwgbGkgYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtcm93czogYXV0byBhdXRvO1xuICAgIGp1c3RpZnktaXRlbXM6IGNlbnRlcjtcbiAgICBhbGlnbi1jb250ZW50OiBjZW50ZXI7XG4gICAgZm9udC1zaXplOiBjYWxjKHZhcigtLWZzLXh4eHhzKSAvIDM5MCAqIDEwMHZ3KTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtb24tYWNjZW50KTtcbiAgICBoZWlnaHQ6IGNhbGMoNTQgLyAzOTAgKiAxMDB2dyk7XG4gICAgZ2FwOiBjYWxjKDQgLyAzOTAgKiAxMDB2dyk7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbiAgI2Zvb3RNZW51IHVsIGxpIGEgc3BhbiwgI2Zvb3RNZW51IHVsIGxpIGJ1dHRvbiBzcGFuIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogY2FsYygyNCAvIDM5MCAqIDEwMHZ3KTtcbiAgICBoZWlnaHQ6IGNhbGMoMjQgLyAzOTAgKiAxMDB2dyk7XG4gICAgbWFyZ2luLWlubGluZTogYXV0bztcbiAgICBtYXNrLXNpemU6IGNvbnRhaW47XG4gICAgbWFzay1wb3NpdGlvbjogY2VudGVyO1xuICAgIG1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItdGV4dC1vbi1hY2NlbnQpO1xuICB9XG4gICNmb290TWVudSB1bCBsaSBhIHNwYW4ua2FpdG9yaSwgI2Zvb3RNZW51IHVsIGxpIGJ1dHRvbiBzcGFuLmthaXRvcmkge1xuICAgIG1hc2staW1hZ2U6IHVybCgvaW1hZ2VzL2ljb25fa2FpdG9yaS5zdmcpO1xuICB9XG4gICNmb290TWVudSB1bCBsaSBhIHNwYW4uc3RvcmUsICNmb290TWVudSB1bCBsaSBidXR0b24gc3Bhbi5zdG9yZSB7XG4gICAgbWFzay1pbWFnZTogdXJsKC9pbWFnZXMvaWNvbl9zdG9yZS5zdmcpO1xuICB9XG4gICNmb290TWVudSB1bCBsaSBhIHNwYW4uY2FydCwgI2Zvb3RNZW51IHVsIGxpIGJ1dHRvbiBzcGFuLmNhcnQge1xuICAgIG1hc2staW1hZ2U6IHVybCgvaW1hZ2VzL2ljb25fY2FydC5zdmcpO1xuICB9XG4gICNmb290TWVudSB1bCBsaSBhIHNwYW4ubGluZSwgI2Zvb3RNZW51IHVsIGxpIGJ1dHRvbiBzcGFuLmxpbmUge1xuICAgIG1hc2staW1hZ2U6IHVybCgvaW1hZ2VzL2ljb25fbGluZS5zdmcpO1xuICB9XG4gICNmb290TWVudSB1bCBsaSBhIHNwYW4ubWVudSwgI2Zvb3RNZW51IHVsIGxpIGJ1dHRvbiBzcGFuLm1lbnUge1xuICAgIG1hc2staW1hZ2U6IHVybCgvaW1hZ2VzL2ljb25fbWVudS5zdmcpO1xuICB9XG4gICNzcE1lbnUge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXN1cmZhY2UpO1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogY2FsYygyNjQgLyAzOTAgKiAxMDB2dyk7XG4gICAgei1pbmRleDogdmFyKC0tei1pbmRleC1zcE1lbnUpO1xuICAgIHRyYW5zbGF0ZTogLTE0MCUgMDtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2xhdGUgdmFyKC0tdHJhbnNpdGlvbi1zcGVlZCkgdmFyKC0tYmV6aWVyKTtcbiAgICBib3gtc2hhZG93OiA1OXB4IDBweCAxN3B4IDBweCByZ2JhKDAsIDAsIDAsIDApLCAzOHB4IDBweCAxNXB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMDEpLCAyMXB4IDBweCAxM3B4IDBweCByZ2JhKDAsIDAsIDAsIDAuMDMpLCA5cHggMHB4IDlweCAwcHggcmdiYSgwLCAwLCAwLCAwLjA0KSwgMnB4IDBweCA1cHggMHB4IHJnYmEoMCwgMCwgMCwgMC4wNSk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgI3NwTWVudSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuICAjc3BNZW51LmlzLXNob3cge1xuICAgIHRyYW5zbGF0ZTogMCAwO1xuICB9XG4gICNzcE1lbnUgLmlubmVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgaGVpZ2h0OiAxMDB2aDtcbiAgICBwYWRkaW5nOiBjYWxjKDE2IC8gMzkwICogMTAwdncpO1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZTogXCJ0aXRsZVwiIGF1dG8gXCJjb250ZW50c1wiIDFmci8xZnI7XG4gIH1cbiAgI3NwTWVudSAuaW5uZXIgI2Nsb3NlU3BNZW51IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IGNhbGMoMTYgLyAzOTAgKiAxMDB2dyk7XG4gICAgdG9wOiBjYWxjKDE2IC8gMzkwICogMTAwdncpO1xuICB9XG4gICNzcE1lbnUgLmlubmVyICNjbG9zZVNwTWVudSBpbWcge1xuICAgIHdpZHRoOiBjYWxjKDIwIC8gMzkwICogMTAwdncpO1xuICB9XG4gICNzcE1lbnUgLmlubmVyICNzcE1lbnVUaXRsZSB7XG4gICAgZ3JpZC1hcmVhOiB0aXRsZTtcbiAgfVxuICAjc3BNZW51IC5pbm5lciAjc3BNZW51VGl0bGUgaDIge1xuICAgIGZvbnQtc2l6ZTogY2FsYyh2YXIoLS1mcy1zKSAvIDM5MCAqIDEwMHZ3KTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgcGFkZGluZy1ibG9jazogY2FsYygyIC8gMzkwICogMTAwdncpO1xuICB9XG4gICNzcE1lbnUgLmlubmVyICNzcE1lbnVUaXRsZSBidXR0b24ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgI3NwTWVudSAuaW5uZXIgI3NwTWVudVRpdGxlIGJ1dHRvbi5pcy1zaG93IHtcbiAgICBkaXNwbGF5OiBibG9jayBncmlkO1xuICAgIGdhcDogY2FsYyg4IC8gMzkwICogMTAwdncpO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBhdXRvIDFmcjtcbiAgICBwYWRkaW5nLWJsb2NrOiBjYWxjKDQgLyAzOTAgKiAxMDB2dyk7XG4gICAgZm9udC1zaXplOiBjYWxjKHZhcigtLWZzLXhzKSAvIDM5MCAqIDEwMHZ3KTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gIH1cbiAgI3NwTWVudSAuaW5uZXIgI3NwTWVudVRpdGxlIGJ1dHRvbi5pcy1zaG93OjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IGNhbGMoMTIgLyAzOTAgKiAxMDB2dyk7XG4gICAgaGVpZ2h0OiBjYWxjKDEyIC8gMzkwICogMTAwdncpO1xuICAgIGJhY2tncm91bmQ6IHVybCgvaW1hZ2VzL2ljb25fYXJyb3dfcHJldi5zdmcpIG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyL2NvbnRhaW47XG4gIH1cbiAgI3NwTWVudSAuaW5uZXIgI3NwTWVudUNvbnRlbnRzIHtcbiAgICBvdmVyZmxvdzogYXV0bztcbiAgfVxuICAjc3BNZW51IC5pbm5lciAjc3BNZW51Q29udGVudHMuc3VibWVudS1hY3RpdmUgLnN1YiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbiAgI3NwTWVudSAuaW5uZXIgI3NwTWVudUNvbnRlbnRzIC5oZWFkaW5nIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZm9udC1zaXplOiBjYWxjKHZhcigtLWZzLXhzKSAvIDM5MCAqIDEwMHZ3KTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgbGluZS1oZWlnaHQ6IDE1MCU7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItZ3JheS13ZWFrKTtcbiAgICBtYXJnaW4tdG9wOiBjYWxjKDI0IC8gMzkwICogMTAwdncpO1xuICB9XG4gICNzcE1lbnUgLmlubmVyICNzcE1lbnVDb250ZW50cyAubWFpbiB7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci11bHRyYWxpZ2h0KTtcbiAgfVxuICAjc3BNZW51IC5pbm5lciAjc3BNZW51Q29udGVudHMgLm1haW4gPiBsaSB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci11bHRyYWxpZ2h0KTtcbiAgfVxuICAjc3BNZW51IC5pbm5lciAjc3BNZW51Q29udGVudHMgLm1haW4gPiBsaSA+IGEsICNzcE1lbnUgLmlubmVyICNzcE1lbnVDb250ZW50cyAubWFpbiA+IGxpID4gLm9wZW4tc3VibWVudSB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBwYWRkaW5nLWJsb2NrOiBjYWxjKDEwIC8gMzkwICogMTAwdncpO1xuICAgIGZvbnQtc2l6ZTogY2FsYyh2YXIoLS1mcy14cykgLyAzOTAgKiAxMDB2dyk7XG4gICAgbGluZS1oZWlnaHQ6IDE1MCU7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgYXV0bztcbiAgICBnYXA6IGNhbGMoOCAvIDM5MCAqIDEwMHZ3KTtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuM3MgdmFyKC0tYmV6aWVyKTtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyKTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtbWVkaXVtKTtcbiAgfVxuICAjc3BNZW51IC5pbm5lciAjc3BNZW51Q29udGVudHMgLm1haW4gPiBsaSA+IGE6aG92ZXIsICNzcE1lbnUgLmlubmVyICNzcE1lbnVDb250ZW50cyAubWFpbiA+IGxpID4gLm9wZW4tc3VibWVudTpob3ZlciB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWJyYW5kLXNlY29uZGFyeSk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgI3NwTWVudSAuaW5uZXIgI3NwTWVudUNvbnRlbnRzIC5tYWluID4gbGkgPiBhLCAjc3BNZW51IC5pbm5lciAjc3BNZW51Q29udGVudHMgLm1haW4gPiBsaSA+IC5vcGVuLXN1Ym1lbnUge1xuICAgICAgcGFkZGluZy1ibG9jazogbWluKDhweCwgY2FsYyg4IC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICBwYWRkaW5nLWlubGluZTogbWluKDFweCwgY2FsYygxIC8gMTQ0MCAqIDEwMHZ3KSkgbWluKDZweCwgY2FsYyg2IC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICBmb250LXNpemU6IG1pbihjYWxjKHZhcigtLWZzLXhzKSAqIDFweCksIGNhbGModmFyKC0tZnMteHMpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICBnYXA6IG1pbigxMnB4LCBjYWxjKDEyIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIEBtZWRpYSAoYW55LWhvdmVyOiBob3Zlcikge1xuICAgICNzcE1lbnUgLmlubmVyICNzcE1lbnVDb250ZW50cyAubWFpbiA+IGxpID4gYTpob3Zlcjo6YWZ0ZXIsICNzcE1lbnUgLmlubmVyICNzcE1lbnVDb250ZW50cyAubWFpbiA+IGxpID4gLm9wZW4tc3VibWVudTpob3Zlcjo6YWZ0ZXIge1xuICAgICAgdHJhbnNsYXRlOiAwIC0zcHg7XG4gICAgfVxuICB9XG4gICNzcE1lbnUgLmlubmVyICNzcE1lbnVDb250ZW50cyAubWFpbiA+IGxpID4gYS5pcy1zaG93LCAjc3BNZW51IC5pbm5lciAjc3BNZW51Q29udGVudHMgLm1haW4gPiBsaSA+IC5vcGVuLXN1Ym1lbnUuaXMtc2hvdyB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWJyYW5kLXByaW1hcnkpO1xuICB9XG4gICNzcE1lbnUgLmlubmVyICNzcE1lbnVDb250ZW50cyAubWFpbiA+IGxpID4gYTo6YWZ0ZXIsICNzcE1lbnUgLmlubmVyICNzcE1lbnVDb250ZW50cyAubWFpbiA+IGxpID4gLm9wZW4tc3VibWVudTo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IGNhbGMoMTIgLyAzOTAgKiAxMDB2dyk7XG4gICAgaGVpZ2h0OiBjYWxjKDEyIC8gMzkwICogMTAwdncpO1xuICAgIGJhY2tncm91bmQ6IHVybCgvaW1hZ2VzL2ljb25fYXJyb3dfbmV4dC5zdmcpIG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyL2NvbnRhaW47XG4gICAgdHJhbnNpdGlvbjogdHJhbnNsYXRlIHZhcigtLXRyYW5zaXRpb24tc3BlZWQtZmFzdCkgdmFyKC0tYmV6aWVyKTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAjc3BNZW51IC5pbm5lciAjc3BNZW51Q29udGVudHMgLm1haW4gPiBsaSA+IGE6OmFmdGVyLCAjc3BNZW51IC5pbm5lciAjc3BNZW51Q29udGVudHMgLm1haW4gPiBsaSA+IC5vcGVuLXN1Ym1lbnU6OmFmdGVyIHtcbiAgICAgIHdpZHRoOiBtaW4oMTRweCwgY2FsYygxNCAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgaGVpZ2h0OiBtaW4oMTRweCwgY2FsYygxNCAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAjc3BNZW51IC5pbm5lciAjc3BNZW51Q29udGVudHMgLnN1YiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1zdXJmYWNlKTtcbiAgfVxuICAjc3BNZW51IC5pbm5lciAjc3BNZW51Q29udGVudHMgLnN1YiBsaSB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci11bHRyYWxpZ2h0KTtcbiAgfVxuICAjc3BNZW51IC5pbm5lciAjc3BNZW51Q29udGVudHMgLnN1YiBsaSBhIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIHBhZGRpbmctYmxvY2s6IGNhbGMoMTAgLyAzOTAgKiAxMDB2dyk7XG4gICAgZm9udC1zaXplOiBjYWxjKHZhcigtLWZzLXhzKSAvIDM5MCAqIDEwMHZ3KTtcbiAgICBsaW5lLWhlaWdodDogMTUwJTtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciBhdXRvO1xuICAgIGdhcDogY2FsYyg4IC8gMzkwICogMTAwdncpO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC4zcyB2YXIoLS1iZXppZXIpO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXIpO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1tZWRpdW0pO1xuICB9XG4gICNzcE1lbnUgLmlubmVyICNzcE1lbnVDb250ZW50cyAuc3ViIGxpIGE6aG92ZXIge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1icmFuZC1zZWNvbmRhcnkpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICNzcE1lbnUgLmlubmVyICNzcE1lbnVDb250ZW50cyAuc3ViIGxpIGEge1xuICAgICAgcGFkZGluZy1ibG9jazogbWluKDhweCwgY2FsYyg4IC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICBwYWRkaW5nLWlubGluZTogbWluKDFweCwgY2FsYygxIC8gMTQ0MCAqIDEwMHZ3KSkgbWluKDZweCwgY2FsYyg2IC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICBmb250LXNpemU6IG1pbihjYWxjKHZhcigtLWZzLXhzKSAqIDFweCksIGNhbGModmFyKC0tZnMteHMpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICBnYXA6IG1pbigxMnB4LCBjYWxjKDEyIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIEBtZWRpYSAoYW55LWhvdmVyOiBob3Zlcikge1xuICAgICNzcE1lbnUgLmlubmVyICNzcE1lbnVDb250ZW50cyAuc3ViIGxpIGE6aG92ZXI6OmFmdGVyIHtcbiAgICAgIHRyYW5zbGF0ZTogMCAtM3B4O1xuICAgIH1cbiAgfVxuICAjc3BNZW51IC5pbm5lciAjc3BNZW51Q29udGVudHMgLnN1YiBsaSBhLmlzLXNob3cge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1icmFuZC1wcmltYXJ5KTtcbiAgfVxuICAjc3BNZW51IC5pbm5lciAjc3BNZW51Q29udGVudHMgLnN1YiBsaSBhOjphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogY2FsYygxMiAvIDM5MCAqIDEwMHZ3KTtcbiAgICBoZWlnaHQ6IGNhbGMoMTIgLyAzOTAgKiAxMDB2dyk7XG4gICAgYmFja2dyb3VuZDogdXJsKC9pbWFnZXMvaWNvbl9hcnJvd19uZXh0LnN2Zykgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXIvY29udGFpbjtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2xhdGUgdmFyKC0tdHJhbnNpdGlvbi1zcGVlZC1mYXN0KSB2YXIoLS1iZXppZXIpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICNzcE1lbnUgLmlubmVyICNzcE1lbnVDb250ZW50cyAuc3ViIGxpIGE6OmFmdGVyIHtcbiAgICAgIHdpZHRoOiBtaW4oMTRweCwgY2FsYygxNCAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgaGVpZ2h0OiBtaW4oMTRweCwgY2FsYygxNCAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAjc3BNZW51IC5pbm5lciAjc3BNZW51Q29udGVudHMgLnN1YiBsaSBzcGFuIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZm9udC1zaXplOiBjYWxjKHZhcigtLWZzLXhzKSAvIDM5MCAqIDEwMHZ3KTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgbGluZS1oZWlnaHQ6IDE1MCU7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItZ3JheS13ZWFrKTtcbiAgICBtYXJnaW4tdG9wOiBjYWxjKDI0IC8gMzkwICogMTAwdncpO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG4gICNzcE1lbnUgLmlubmVyICNzcE1lbnVDb250ZW50cyAuYmFubmVyIHtcbiAgICBtYXJnaW4tdG9wOiAyNHB4O1xuICAgIHBhZGRpbmctaW5saW5lOiAyMHB4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IDEwcHg7XG4gIH1cbiAgI3NwTWVudSAuaW5uZXIgI3NwTWVudUNvbnRlbnRzIC5iYW5uZXIgYSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbiAgI3NwTWVudSAuaW5uZXIgI3NwTWVudUNvbnRlbnRzIC5iYW5uZXIgYSBpbWcge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG4gICNzcFJpZ2h0TWVudSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3Itc3VyZmFjZSk7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICB3aWR0aDogY2FsYygyNjQgLyAzOTAgKiAxMDB2dyk7XG4gICAgei1pbmRleDogdmFyKC0tei1pbmRleC1zcFJpZ2h0TWVudSk7XG4gICAgdHJhbnNsYXRlOiAxNDAlIDA7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNsYXRlIHZhcigtLXRyYW5zaXRpb24tc3BlZWQpIHZhcigtLWJlemllcik7XG4gICAgYm94LXNoYWRvdzogLTU5cHggMHB4IDE3cHggMHB4IHJnYmEoMCwgMCwgMCwgMCksIC0zOHB4IDBweCAxNXB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMDEpLCAtMjFweCAwcHggMTNweCAwcHggcmdiYSgwLCAwLCAwLCAwLjAzKSwgLTlweCAwcHggOXB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMDQpLCAtMnB4IDBweCA1cHggMHB4IHJnYmEoMCwgMCwgMCwgMC4wNSk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgI3NwUmlnaHRNZW51IHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG4gICNzcFJpZ2h0TWVudS5pcy1zaG93IHtcbiAgICB0cmFuc2xhdGU6IDAgMDtcbiAgfVxuICAjc3BSaWdodE1lbnUgI2Nsb3NlU3BSaWdodE1lbnUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiAyO1xuICAgIHJpZ2h0OiBjYWxjKDE2IC8gMzkwICogMTAwdncpO1xuICAgIHRvcDogY2FsYygxNiAvIDM5MCAqIDEwMHZ3KTtcbiAgfVxuICAjc3BSaWdodE1lbnUgI2Nsb3NlU3BSaWdodE1lbnUgaW1nIHtcbiAgICB3aWR0aDogY2FsYygyMCAvIDM5MCAqIDEwMHZ3KTtcbiAgfVxuICAjc3BSaWdodE1lbnUgLmlubmVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgaGVpZ2h0OiAxMDBkdmg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIHBhZGRpbmc6IGNhbGMoMTYgLyAzOTAgKiAxMDB2dyk7XG4gIH1cbiAgI3NwUmlnaHRNZW51IC5pbm5lciBoMiB7XG4gICAgZm9udC1zaXplOiBjYWxjKHZhcigtLWZzLXMpIC8gMzkwICogMTAwdncpO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICBwYWRkaW5nLWJsb2NrOiBjYWxjKDIgLyAzOTAgKiAxMDB2dyk7XG4gICAgd2lkdGg6IGZpdC1jb250ZW50O1xuICB9XG4gICNzcFJpZ2h0TWVudSAuaW5uZXIgLmNvbnRhY3Qge1xuICAgIG1hcmdpbi10b3A6IGNhbGMoMTYgLyAzOTAgKiAxMDB2dyk7XG4gIH1cbiAgI3NwUmlnaHRNZW51IC5pbm5lciAuY29udGFjdCBhIHtcbiAgICBib3JkZXItcmFkaXVzOiBjYWxjKHZhcigtLWJvcmRlci1yYWRpdXMtc21hbGwpIC8gMzkwICogMTAwdncpO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXNlY29uZCk7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogY2FsYyg4IC8gMzkwICogMTAwdncpO1xuICAgIHBhZGRpbmc6IGNhbGMoOSAvIDM5MCAqIDEwMHZ3KTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1vbi1hY2NlbnQpO1xuICAgIGZvbnQtc2l6ZTogY2FsYyh2YXIoLS1mcy14cykgLyAzOTAgKiAxMDB2dyk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgIGxpbmUtaGVpZ2h0OiAxNTAlO1xuICB9XG4gICNzcFJpZ2h0TWVudSAuaW5uZXIgLmNvbnRhY3QgYTo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IGNhbGMoMjAgLyAzOTAgKiAxMDB2dyk7XG4gICAgaGVpZ2h0OiBjYWxjKDIwIC8gMzkwICogMTAwdncpO1xuICAgIG1hc2staW1hZ2U6IHVybCgvaW1hZ2VzL2ljb25fbWFpbC5zdmcpO1xuICAgIG1hc2stc2l6ZTogY29udGFpbjtcbiAgICBtYXNrLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXRleHQtb24tYWNjZW50KTtcbiAgfVxuICAjc3BSaWdodE1lbnUgLmlubmVyIC5tYWluIHtcbiAgICBtYXJnaW4tdG9wOiBjYWxjKDE2IC8gMzkwICogMTAwdncpO1xuICB9XG4gICNzcFJpZ2h0TWVudSAuaW5uZXIgLm1haW4gbGkgYSB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBwYWRkaW5nLWJsb2NrOiBjYWxjKDEwIC8gMzkwICogMTAwdncpO1xuICAgIGZvbnQtc2l6ZTogY2FsYyh2YXIoLS1mcy14cykgLyAzOTAgKiAxMDB2dyk7XG4gICAgbGluZS1oZWlnaHQ6IDE1MCU7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgYXV0bztcbiAgICBnYXA6IGNhbGMoOCAvIDM5MCAqIDEwMHZ3KTtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuM3MgdmFyKC0tYmV6aWVyKTtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyKTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtbWVkaXVtKTtcbiAgfVxuICAjc3BSaWdodE1lbnUgLmlubmVyIC5tYWluIGxpIGE6aG92ZXIge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1icmFuZC1zZWNvbmRhcnkpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICNzcFJpZ2h0TWVudSAuaW5uZXIgLm1haW4gbGkgYSB7XG4gICAgICBwYWRkaW5nLWJsb2NrOiBtaW4oOHB4LCBjYWxjKDggLyAxNDQwICogMTAwdncpKTtcbiAgICAgIHBhZGRpbmctaW5saW5lOiBtaW4oMXB4LCBjYWxjKDEgLyAxNDQwICogMTAwdncpKSBtaW4oNnB4LCBjYWxjKDYgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIGZvbnQtc2l6ZTogbWluKGNhbGModmFyKC0tZnMteHMpICogMXB4KSwgY2FsYyh2YXIoLS1mcy14cykgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIGdhcDogbWluKDEycHgsIGNhbGMoMTIgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgQG1lZGlhIChhbnktaG92ZXI6IGhvdmVyKSB7XG4gICAgI3NwUmlnaHRNZW51IC5pbm5lciAubWFpbiBsaSBhOmhvdmVyOjphZnRlciB7XG4gICAgICB0cmFuc2xhdGU6IDAgLTNweDtcbiAgICB9XG4gIH1cbiAgI3NwUmlnaHRNZW51IC5pbm5lciAubWFpbiBsaSBhLmlzLXNob3cge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1icmFuZC1wcmltYXJ5KTtcbiAgfVxuICAjc3BSaWdodE1lbnUgLmlubmVyIC5tYWluIGxpIGE6OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiBjYWxjKDEyIC8gMzkwICogMTAwdncpO1xuICAgIGhlaWdodDogY2FsYygxMiAvIDM5MCAqIDEwMHZ3KTtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoL2ltYWdlcy9pY29uX2Fycm93X25leHQuc3ZnKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlci9jb250YWluO1xuICAgIHRyYW5zaXRpb246IHRyYW5zbGF0ZSB2YXIoLS10cmFuc2l0aW9uLXNwZWVkLWZhc3QpIHZhcigtLWJlemllcik7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgI3NwUmlnaHRNZW51IC5pbm5lciAubWFpbiBsaSBhOjphZnRlciB7XG4gICAgICB3aWR0aDogbWluKDE0cHgsIGNhbGMoMTQgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIGhlaWdodDogbWluKDE0cHgsIGNhbGMoMTQgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgI3NwUmlnaHRNZW51IC5pbm5lciAuYmFubmVyIHtcbiAgICBtYXJnaW4tdG9wOiBjYWxjKDE2IC8gMzkwICogMTAwdncpO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IGNhbGMoOCAvIDM5MCAqIDEwMHZ3KTtcbiAgfVxuICAjc3BSaWdodE1lbnUgLmlubmVyIC5iYW5uZXIgYSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbiAgI3NwUmlnaHRNZW51IC5pbm5lciAuYmFubmVyIGEgaW1nIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuICAjc3BSaWdodE1lbnUgLmlubmVyIC51dGlsIHtcbiAgICBtYXJnaW4tdG9wOiBjYWxjKDE2IC8gMzkwICogMTAwdncpO1xuICB9XG4gICNzcFJpZ2h0TWVudSAuaW5uZXIgLnV0aWwgbGkgYSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZy1ibG9jazogY2FsYyg0IC8gMzkwICogMTAwdncpO1xuICAgIGZvbnQtc2l6ZTogY2FsYyh2YXIoLS1mcy14eHMpIC8gMzkwICogMTAwdncpO1xuICAgIGxpbmUtaGVpZ2h0OiAxNjAlO1xuICB9XG4gICNzcFJpZ2h0TWVudSAuaW5uZXIgLnV0aWwgbGkgYVt0YXJnZXQ9X2JsYW5rXSB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IGF1dG8gMWZyO1xuICAgIGdhcDogY2FsYygyIC8gMzkwICogMTAwdncpO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIH1cbiAgI3NwUmlnaHRNZW51IC5pbm5lciAudXRpbCBsaSBhW3RhcmdldD1fYmxhbmtdOjphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogY2FsYygxMiAvIDM5MCAqIDEwMHZ3KTtcbiAgICBoZWlnaHQ6IGNhbGMoMTIgLyAzOTAgKiAxMDB2dyk7XG4gICAgYmFja2dyb3VuZDogdXJsKC9pbWFnZXMvaWNvbl9leHRlcm5hbC5zdmcpIG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyL2NvbnRhaW47XG4gIH1cbn1cbkBsYXllciBwYXJ0cyB7XG4gIC5wUGFnZVRpdGxlIHtcbiAgICBmb250LXNpemU6IGNhbGModmFyKC0tcFBhZ2VUaXRsZS1mb250LXNpemUtc3ApIC8gMzkwICogMTAwdncpO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1wUGFnZVRpdGxlLWZvbnQtd2VpZ2h0KTtcbiAgICBjb2xvcjogdmFyKC0tcFBhZ2VUaXRsZS1jb2xvcik7XG4gICAgbGluZS1oZWlnaHQ6IDE0MCU7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnBQYWdlVGl0bGUge1xuICAgICAgZm9udC1zaXplOiBtaW4oY2FsYyh2YXIoLS1wUGFnZVRpdGxlLWZvbnQtc2l6ZS1wYykgKiAxcHgpLCBjYWxjKHZhcigtLXBQYWdlVGl0bGUtZm9udC1zaXplLXBjKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAucEhlYWRpbmdMYXJnZSB7XG4gICAgZm9udC1zaXplOiBjYWxjKHZhcigtLXBIZWFkaW5nLWxhcmdlLWZvbnQtc2l6ZS1zcCkgLyAzOTAgKiAxMDB2dyk7XG4gICAgbGluZS1oZWlnaHQ6IDEyMCU7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLXBIZWFkaW5nLWxhcmdlLWZvbnQtd2VpZ2h0KTtcbiAgICBjb2xvcjogdmFyKC0tcEhlYWRpbmctbGFyZ2UtY29sb3IpO1xuICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1wSGVhZGluZy1sYXJnZS1mb250LWZhbWlseSk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnBIZWFkaW5nTGFyZ2Uge1xuICAgICAgZm9udC1zaXplOiBtaW4oY2FsYyh2YXIoLS1wSGVhZGluZy1sYXJnZS1mb250LXNpemUtcGMpICogMXB4KSwgY2FsYyh2YXIoLS1wSGVhZGluZy1sYXJnZS1mb250LXNpemUtcGMpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIC5wSGVhZGluZ01lZGl1bSB7XG4gICAgZm9udC1zaXplOiBjYWxjKHZhcigtLXBIZWFkaW5nLW1lZGl1bS1mb250LXNpemUtc3ApIC8gMzkwICogMTAwdncpO1xuICAgIGxpbmUtaGVpZ2h0OiAxNTAlO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1wSGVhZGluZy1tZWRpdW0tZm9udC13ZWlnaHQpO1xuICAgIGNvbG9yOiB2YXIoLS1wSGVhZGluZy1tZWRpdW0tY29sb3IpO1xuICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1wSGVhZGluZy1tZWRpdW0tZm9udC1mYW1pbHkpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5wSGVhZGluZ01lZGl1bSB7XG4gICAgICBmb250LXNpemU6IG1pbihjYWxjKHZhcigtLXBIZWFkaW5nLW1lZGl1bS1mb250LXNpemUtcGMpICogMXB4KSwgY2FsYyh2YXIoLS1wSGVhZGluZy1tZWRpdW0tZm9udC1zaXplLXBjKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAucEhlYWRpbmdTbWFsbCB7XG4gICAgZm9udC1zaXplOiBjYWxjKHZhcigtLXBIZWFkaW5nLXNtYWxsLWZvbnQtc2l6ZS1zcCkgLyAzOTAgKiAxMDB2dyk7XG4gICAgbGluZS1oZWlnaHQ6IDEyMCU7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLXBIZWFkaW5nLXNtYWxsLWZvbnQtd2VpZ2h0KTtcbiAgICBjb2xvcjogdmFyKC0tcEhlYWRpbmctc21hbGwtY29sb3IpO1xuICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1wSGVhZGluZy1zbWFsbC1mb250LWZhbWlseSk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnBIZWFkaW5nU21hbGwge1xuICAgICAgZm9udC1zaXplOiBtaW4oY2FsYyh2YXIoLS1wSGVhZGluZy1zbWFsbC1mb250LXNpemUtcGMpICogMXB4KSwgY2FsYyh2YXIoLS1wSGVhZGluZy1zbWFsbC1mb250LXNpemUtcGMpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIC5wTGVhZCB7XG4gICAgZm9udC1zaXplOiBjYWxjKHZhcigtLXBMZWFkLWZvbnQtc2l6ZS1zcCkgLyAzOTAgKiAxMDB2dyk7XG4gICAgbGluZS1oZWlnaHQ6IDE3NSU7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLXBMZWFkLWZvbnQtd2VpZ2h0KTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAucExlYWQge1xuICAgICAgZm9udC1zaXplOiBtaW4oY2FsYyh2YXIoLS1wTGVhZC1mb250LXNpemUtcGMpICogMXB4KSwgY2FsYyh2YXIoLS1wTGVhZC1mb250LXNpemUtcGMpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIC5wTGVhZC5jZW50ZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuICAucExlYWQucmlnaHQge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICB9XG4gIC5wTGVhZC5sZWZ0IHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB9XG4gIC5wVGV4dCB7XG4gICAgZm9udC1zaXplOiBjYWxjKHZhcigtLXBUZXh0LWZvbnQtc2l6ZS1zcCkgLyAzOTAgKiAxMDB2dyk7XG4gICAgbGluZS1oZWlnaHQ6IDE3NSU7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLXBUZXh0LWZvbnQtd2VpZ2h0KTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAucFRleHQge1xuICAgICAgZm9udC1zaXplOiBtaW4oY2FsYyh2YXIoLS1wVGV4dC1mb250LXNpemUtcGMpICogMXB4KSwgY2FsYyh2YXIoLS1wVGV4dC1mb250LXNpemUtcGMpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIC5wVGV4dC5zbWFsbCB7XG4gICAgZm9udC1zaXplOiBjYWxjKHZhcigtLXBUZXh0LXNtYWxsLWZvbnQtc2l6ZS1zcCkgLyAzOTAgKiAxMDB2dyk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnBUZXh0LnNtYWxsIHtcbiAgICAgIGZvbnQtc2l6ZTogbWluKGNhbGModmFyKC0tcFRleHQtc21hbGwtZm9udC1zaXplLXBjKSAqIDFweCksIGNhbGModmFyKC0tcFRleHQtc21hbGwtZm9udC1zaXplLXBjKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAucFRleHQgcCwgLnBUZXh0IHVsLCAucFRleHQgb2wge1xuICAgIHBhZGRpbmctYm90dG9tOiAyZW07XG4gIH1cbiAgLnBUZXh0IHAuaGVhZGluZywgLnBUZXh0IHVsLmhlYWRpbmcsIC5wVGV4dCBvbC5oZWFkaW5nIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgIGZvbnQtc2l6ZTogY2FsYyh2YXIoLS1mcy1tKSAvIDM5MCAqIDEwMHZ3KTtcbiAgICBsaW5lLWhlaWdodDogdmFyKC0tbGluZS1oZWlnaHQteHNtYWxsKTtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogYXV0byAxZnI7XG4gICAgZ2FwOiBjYWxjKDggLyAzOTAgKiAxMDB2dyk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRoaXJkLXdlYWspO1xuICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWZhbWlseS1lbik7XG4gICAgcGFkZGluZy1ib3R0b206IDFlbTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAucFRleHQgcC5oZWFkaW5nLCAucFRleHQgdWwuaGVhZGluZywgLnBUZXh0IG9sLmhlYWRpbmcge1xuICAgICAgZm9udC1zaXplOiBtaW4oY2FsYyh2YXIoLS1mcy14bCkgKiAxcHgpLCBjYWxjKHZhcigtLWZzLXhsKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgZ2FwOiBtaW4oMTZweCwgY2FsYygxNiAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAucFRleHQgcC5oZWFkaW5nOjpiZWZvcmUsIC5wVGV4dCB1bC5oZWFkaW5nOjpiZWZvcmUsIC5wVGV4dCBvbC5oZWFkaW5nOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiAxbGg7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL2ltYWdlcy9pY29uX2hlYWRpbmcuc3ZnXCIpO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTAuMWVtKTtcbiAgICB3aWR0aDogY2FsYygxMCAvIDM5MCAqIDEwMHZ3KTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAucFRleHQgcC5oZWFkaW5nOjpiZWZvcmUsIC5wVGV4dCB1bC5oZWFkaW5nOjpiZWZvcmUsIC5wVGV4dCBvbC5oZWFkaW5nOjpiZWZvcmUge1xuICAgICAgd2lkdGg6IG1pbigxNnB4LCBjYWxjKDE2IC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIC5wVGV4dCBwLmZpZ3VyZSwgLnBUZXh0IHVsLmZpZ3VyZSwgLnBUZXh0IG9sLmZpZ3VyZSB7XG4gICAgcGFkZGluZy1ib3R0b206IDM1cHg7XG4gICAgbWFyZ2luLXRvcDogY2FsYyh2YXIoLS1tYXJnaW4tc2VjdGlvbikgLyAzOTAgKiAxMDB2dyk7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnBUZXh0IHAuZmlndXJlLCAucFRleHQgdWwuZmlndXJlLCAucFRleHQgb2wuZmlndXJlIHtcbiAgICAgIG1hcmdpbi10b3A6IG1pbihjYWxjKHZhcigtLW1hcmdpbi1zZWN0aW9uLXBjKSAqIDFweCksIGNhbGModmFyKC0tbWFyZ2luLXNlY3Rpb24tcGMpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5wVGV4dCBwLmZpZ3VyZSwgLnBUZXh0IHVsLmZpZ3VyZSwgLnBUZXh0IG9sLmZpZ3VyZSB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogNjVweDtcbiAgICB9XG4gIH1cbiAgLnBUZXh0IHAuZmlndXJlIGltZy5tdC1pbWFnZS1sZWZ0LCAucFRleHQgcC5maWd1cmUgaW1nLm10LWltYWdlLWNlbnRlciwgLnBUZXh0IHAuZmlndXJlIGltZy5tdC1pbWFnZS1yaWdodCwgLnBUZXh0IHAuZmlndXJlIGltZy5tdC1pbWFnZS1ub25lLCAucFRleHQgdWwuZmlndXJlIGltZy5tdC1pbWFnZS1sZWZ0LCAucFRleHQgdWwuZmlndXJlIGltZy5tdC1pbWFnZS1jZW50ZXIsIC5wVGV4dCB1bC5maWd1cmUgaW1nLm10LWltYWdlLXJpZ2h0LCAucFRleHQgdWwuZmlndXJlIGltZy5tdC1pbWFnZS1ub25lLCAucFRleHQgb2wuZmlndXJlIGltZy5tdC1pbWFnZS1sZWZ0LCAucFRleHQgb2wuZmlndXJlIGltZy5tdC1pbWFnZS1jZW50ZXIsIC5wVGV4dCBvbC5maWd1cmUgaW1nLm10LWltYWdlLXJpZ2h0LCAucFRleHQgb2wuZmlndXJlIGltZy5tdC1pbWFnZS1ub25lIHtcbiAgICBtYXJnaW4tYm90dG9tOiBjYWxjKDYgLyAzOTAgKiAxMDB2dyk7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtbWVkaXVtKTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAucFRleHQgcC5maWd1cmUgaW1nLm10LWltYWdlLWxlZnQsIC5wVGV4dCBwLmZpZ3VyZSBpbWcubXQtaW1hZ2UtY2VudGVyLCAucFRleHQgcC5maWd1cmUgaW1nLm10LWltYWdlLXJpZ2h0LCAucFRleHQgcC5maWd1cmUgaW1nLm10LWltYWdlLW5vbmUsIC5wVGV4dCB1bC5maWd1cmUgaW1nLm10LWltYWdlLWxlZnQsIC5wVGV4dCB1bC5maWd1cmUgaW1nLm10LWltYWdlLWNlbnRlciwgLnBUZXh0IHVsLmZpZ3VyZSBpbWcubXQtaW1hZ2UtcmlnaHQsIC5wVGV4dCB1bC5maWd1cmUgaW1nLm10LWltYWdlLW5vbmUsIC5wVGV4dCBvbC5maWd1cmUgaW1nLm10LWltYWdlLWxlZnQsIC5wVGV4dCBvbC5maWd1cmUgaW1nLm10LWltYWdlLWNlbnRlciwgLnBUZXh0IG9sLmZpZ3VyZSBpbWcubXQtaW1hZ2UtcmlnaHQsIC5wVGV4dCBvbC5maWd1cmUgaW1nLm10LWltYWdlLW5vbmUge1xuICAgICAgbWFyZ2luLWJvdHRvbTogbWluKDEycHgsIGNhbGMoMTIgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgLnBUZXh0IHAgaW1nLm10LWltYWdlLWxlZnQsIC5wVGV4dCBwIGltZy5tdC1pbWFnZS1jZW50ZXIsIC5wVGV4dCBwIGltZy5tdC1pbWFnZS1yaWdodCwgLnBUZXh0IHVsIGltZy5tdC1pbWFnZS1sZWZ0LCAucFRleHQgdWwgaW1nLm10LWltYWdlLWNlbnRlciwgLnBUZXh0IHVsIGltZy5tdC1pbWFnZS1yaWdodCwgLnBUZXh0IG9sIGltZy5tdC1pbWFnZS1sZWZ0LCAucFRleHQgb2wgaW1nLm10LWltYWdlLWNlbnRlciwgLnBUZXh0IG9sIGltZy5tdC1pbWFnZS1yaWdodCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICB9XG4gIC5wVGV4dCBwOmxhc3QtY2hpbGQsIC5wVGV4dCB1bDpsYXN0LWNoaWxkLCAucFRleHQgb2w6bGFzdC1jaGlsZCB7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG4gIH1cbiAgLnBUZXh0IHAgKyAuYnV0dG9uLCAucFRleHQgdWwgKyAuYnV0dG9uLCAucFRleHQgb2wgKyAuYnV0dG9uIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICB9XG4gIC5wVGV4dCBwIC5lbiwgLnBUZXh0IHVsIC5lbiwgLnBUZXh0IG9sIC5lbiB7XG4gICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZmFtaWx5LWVuKTtcbiAgfVxuICAucFRleHQgdWw6bGFzdC1jaGlsZCwgLnBUZXh0IG9sOmxhc3QtY2hpbGQge1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICB9XG4gIC5wVGV4dCB1bCAuZW4sIC5wVGV4dCBvbCAuZW4ge1xuICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWZhbWlseS1lbik7XG4gIH1cbiAgLnBUZXh0IHVsIHtcbiAgICBsaXN0LXN0eWxlOiBkaXNjO1xuICB9XG4gIC5wVGV4dCB1bCBsaSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMjAgLyAzOTAgKiAxMDB2dyk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnBUZXh0IHVsIGxpIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiBtaW4oMjBweCwgY2FsYygyMCAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAucFRleHQgb2wge1xuICAgIGxpc3Qtc3R5bGU6IGRlY2ltYWw7XG4gICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZmFtaWx5LWphKTtcbiAgfVxuICAucFRleHQgb2wgbGkge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDIwIC8gMzkwICogMTAwdncpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5wVGV4dCBvbCBsaSB7XG4gICAgICBtYXJnaW4tbGVmdDogbWluKDIwcHgsIGNhbGMoMjAgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgLnBUZXh0IC5idXR0b24ge1xuICAgIG1hcmdpbi10b3A6IGNhbGMoMTUgLyAzOTAgKiAxMDB2dyk7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnBUZXh0IC5idXR0b24ge1xuICAgICAgbWFyZ2luLXRvcDogbWluKDIwcHgsIGNhbGMoMjAgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgLnBUZXh0IC5idXR0b24gYSB7XG4gICAgLypcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGU6IFxuICAgICAgXCJiZWZvcmUgdGV4dCBhZnRlclwiIGF1dG9cbiAgICAgIC8gMWZyIGF1dG8gMWZyO1xuICAgIHdpZHRoOiBmaXQtY29udGVudDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1zdXJmYWNlKTtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGZvbnQtc2l6ZTogdncoLS1mcy1zKTtcbiAgICBwYWRkaW5nOiB2dygxOHB4KSB2dygxOHB4KTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dCk7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1waWxsKTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjMzM4RDVCO1xuICAgIGdhcDogdncoMTJweCk7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIC4zcyB2YXIoLS1iZXppZXIpO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIG1pbi13aWR0aDogdncoMjYwcHgpO1xuICAgIEBpbmNsdWRlIGhvdmVyT3A7XG4gICAgQGluY2x1ZGUgbXEoKSB7XG4gICAgICBmb250LXNpemU6IHBjKC0tZnMtbSk7XG4gICAgICBwYWRkaW5nOiBwYygxOHB4KSBwYygxNnB4KTtcbiAgICAgIGdhcDogcGMoMTJweCk7XG4gICAgICBtaW4td2lkdGg6IHBjKDI4NnB4KTtcbiAgICB9XG4gICAgJlt0YXJnZXQ9XCJfYmxhbmtcIl0ge1xuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICBtYXNrLWltYWdlOiB1cmwoL2ltYWdlcy9pY29uX2V4dGVybmFsLnN2Zyk7XG4gICAgICAgIG1hc2stc2l6ZTogY29udGFpbjtcbiAgICAgICAgbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgbWFzay1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LW9uLWFjY2VudCk7XG4gICAgICAgIHdpZHRoOiB2dygxNHB4KTtcbiAgICAgICAgaGVpZ2h0OiB2dygxNHB4KTtcbiAgICAgICAgQGluY2x1ZGUgbXEge1xuICAgICAgICAgIHdpZHRoOiBwYygxOHB4KTtcbiAgICAgICAgICBoZWlnaHQ6IHBjKDE4cHgpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgICY6OmJlZm9yZSB7XG4gICAgICBncmlkLWFyZWE6IGJlZm9yZTtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogdncoMjBweCk7XG4gICAgfVxuICAgICY6OmFmdGVyIHtcbiAgICAgIGp1c3RpZnktc2VsZjogZW5kO1xuICAgICAgZ3JpZC1hcmVhOiBhZnRlcjtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogdncoMjBweCk7XG4gICAgICBhc3BlY3QtcmF0aW86IDEgLyAxO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzMzOEQ1QjtcbiAgICAgIG1hc2staW1hZ2U6IHVybCgnL2ltYWdlcy9hcnJvd19idXR0b24uc3ZnJyk7XG4gICAgICBtYXNrLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgbWFzay1zaXplOiBjb250YWluO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgei1pbmRleDogMTtcbiAgICAgIHRyYW5zaXRpb246IHRyYW5zbGF0ZSAuM3MgdmFyKC0tYmV6aWVyKTtcbiAgICAgIHRyYW5zbGF0ZTogdncoLTJweCkgMDtcbiAgICAgIEBpbmNsdWRlIG1xKCkge1xuICAgICAgICB3aWR0aDogcGMoMjBweCk7XG4gICAgICAgIHRyYW5zbGF0ZTogcGMoLTJweCkgMDtcbiAgICAgIH1cbiAgICB9XG4gICAgQGlmICRjb2xvciA9PSByZXZlcnNlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXN1cmZhY2UpO1xuICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQpO1xuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYnJhbmQpO1xuICAgICAgfVxuXG4gICAgICBAbWVkaWEgKGFueS1ob3ZlcjogaG92ZXIpIHtcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3Itc3VyZmFjZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2UgaWYgJHNpemUgPT0gYXBwbHkge1xuICAgICAgbWluLXdpZHRoOiB2dygyODBweCk7XG4gICAgICBAaW5jbHVkZSBtcSgpIHtcbiAgICAgICAgbWluLXdpZHRoOiBwYyg1MDBweCk7XG4gICAgICB9XG4gICAgfVxuICAgICAgKi9cbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbiAgLnBJbWFnZSxcbi5wSW1hZ2UgaWZyYW1lIHtcbiAgICBib3JkZXItcmFkaXVzOiBjYWxjKHZhcigtLXBJbWFnZS1ib3JkZXItcmFkaXVzLXNtYWxsLXNwKSAvIDM5MCAqIDEwMHZ3KTtcbiAgfVxuICBAY29udGFpbmVyIChtaW4td2lkdGg6IDMwMHB4KSB7XG4gICAgLnBJbWFnZSxcbi5wSW1hZ2UgaWZyYW1lIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IGNhbGModmFyKC0tcEltYWdlLWJvcmRlci1yYWRpdXMtbWVkaXVtLXNwKSAvIDM5MCAqIDEwMHZ3KTtcbiAgICB9XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnBJbWFnZSxcbi5wSW1hZ2UgaWZyYW1lIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IG1pbihjYWxjKHZhcigtLXBJbWFnZS1ib3JkZXItcmFkaXVzLXNtYWxsLXBjKSAqIDFweCksIGNhbGModmFyKC0tcEltYWdlLWJvcmRlci1yYWRpdXMtc21hbGwtcGMpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICAgIEBjb250YWluZXIgKG1pbi13aWR0aDogNDUwcHgpIHtcbiAgICAgIC5wSW1hZ2UsXG4ucEltYWdlIGlmcmFtZSB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IG1pbihjYWxjKHZhcigtLXBJbWFnZS1ib3JkZXItcmFkaXVzLW1lZGl1bS1wYykgKiAxcHgpLCBjYWxjKHZhcigtLXBJbWFnZS1ib3JkZXItcmFkaXVzLW1lZGl1bS1wYykgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLnBNYXAge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGFzcGVjdC1yYXRpbzogMTYvOTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYm9yZGVyLXJhZGl1czogY2FsYyh2YXIoLS1wTWFwLWJvcmRlci1yYWRpdXMtc3ApIC8gMzkwICogMTAwdncpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5wTWFwIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IG1pbihjYWxjKHZhcigtLXBNYXAtYm9yZGVyLXJhZGl1cy1wYykgKiAxcHgpLCBjYWxjKHZhcigtLXBNYXAtYm9yZGVyLXJhZGl1cy1wYykgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgLnBNYXAgaWZyYW1lIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwcHg7XG4gICAgbGVmdDogMHB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBib3JkZXItcmFkaXVzOiBjYWxjKHZhcigtLXBNYXAtYm9yZGVyLXJhZGl1cy1zcCkgLyAzOTAgKiAxMDB2dyk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnBNYXAgaWZyYW1lIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IG1pbihjYWxjKHZhcigtLXBNYXAtYm9yZGVyLXJhZGl1cy1wYykgKiAxcHgpLCBjYWxjKHZhcigtLXBNYXAtYm9yZGVyLXJhZGl1cy1wYykgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgLnBNYXAuc2hyaW5rIHtcbiAgICBtYXJnaW4taW5saW5lOiBhdXRvO1xuICB9XG4gIC5wSW1hZ2VDYXB0aW9uIHtcbiAgICBjb250YWluZXItdHlwZTogaW5saW5lLXNpemU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5wSW1hZ2VDYXB0aW9uIHtcbiAgICAgIG1heC13aWR0aDogbWluKGNhbGModmFyKC0tcEltYWdlQ2FwdGlvbi1tYXgtd2lkdGgpICogMXB4KSwgY2FsYyh2YXIoLS1wSW1hZ2VDYXB0aW9uLW1heC13aWR0aCkgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgLnBJbWFnZUNhcHRpb24gLnBDYXB0aW9uIHtcbiAgICBtYXJnaW4tdG9wOiBjYWxjKHZhcigtLXBJbWFnZUNhcHRpb24tZ2FwLXNwKSAvIDM5MCAqIDEwMHZ3KTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnBJbWFnZUNhcHRpb24gLnBDYXB0aW9uIHtcbiAgICAgIG1hcmdpbi10b3A6IG1pbihjYWxjKHZhcigtLXBJbWFnZUNhcHRpb24tZ2FwLXBjKSAqIDFweCksIGNhbGModmFyKC0tcEltYWdlQ2FwdGlvbi1nYXAtcGMpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIC5wTWFwQ2FwdGlvbiB7XG4gICAgY29udGFpbmVyLXR5cGU6IGlubGluZS1zaXplO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAucE1hcENhcHRpb24ge1xuICAgICAgbWF4LXdpZHRoOiBtaW4oY2FsYyh2YXIoLS1wTWFwQ2FwdGlvbi1tYXgtd2lkdGgpICogMXB4KSwgY2FsYyh2YXIoLS1wTWFwQ2FwdGlvbi1tYXgtd2lkdGgpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIC5wTWFwQ2FwdGlvbiAucENhcHRpb24ge1xuICAgIG1hcmdpbi10b3A6IGNhbGModmFyKC0tcE1hcENhcHRpb24tZ2FwLXNwKSAvIDM5MCAqIDEwMHZ3KTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnBNYXBDYXB0aW9uIC5wQ2FwdGlvbiB7XG4gICAgICBtYXJnaW4tdG9wOiBtaW4oY2FsYyh2YXIoLS1wTWFwQ2FwdGlvbi1nYXAtcGMpICogMXB4KSwgY2FsYyh2YXIoLS1wTWFwQ2FwdGlvbi1nYXAtcGMpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIC5wUGFuZWwge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiBzdWJncmlkO1xuICAgIGdyaWQtcm93OiBzcGFuIDQ7XG4gICAgZ2FwOiBjYWxjKHZhcigtLXBQYW5lbC1nYXAtc3ApIC8gMzkwICogMTAwdncpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5wUGFuZWwge1xuICAgICAgZ2FwOiBtaW4oY2FsYyh2YXIoLS1wUGFuZWwtZ2FwLXBjKSAqIDFweCksIGNhbGModmFyKC0tcFBhbmVsLWdhcC1wYykgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIG1heC13aWR0aDogbWluKGNhbGModmFyKC0tcFBhbmVsLW1heC13aWR0aCkgKiAxcHgpLCBjYWxjKHZhcigtLXBQYW5lbC1tYXgtd2lkdGgpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIC5wUGFuZWwgLnBIZWFkaW5nTWVkaXVtIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbiAgLnBQYW5lbCAucEJ1dHRvbiB7XG4gICAgbWFyZ2luLWlubGluZTogYXV0bztcbiAgfVxuICAucENhcHRpb24ge1xuICAgIGZvbnQtc2l6ZTogY2FsYyh2YXIoLS1wQ2FwdGlvbi1mb250LXNpemUtc3ApIC8gMzkwICogMTAwdncpO1xuICAgIGxpbmUtaGVpZ2h0OiAxNjAlO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1wQ2FwdGlvbi1mb250LXdlaWdodCk7XG4gICAgY29sb3I6IHZhcigtLXBDYXB0aW9uLWNvbG9yKTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnBDYXB0aW9uIHtcbiAgICAgIGZvbnQtc2l6ZTogbWluKGNhbGModmFyKC0tcENhcHRpb24tZm9udC1zaXplLXBjKSAqIDFweCksIGNhbGModmFyKC0tcENhcHRpb24tZm9udC1zaXplLXBjKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAucENhcHRpb24ubGVmdCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgfVxuICAucENhcHRpb24ucmlnaHQge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICB9XG4gIC5wQ2FwdGlvbi5zaHJpbmsge1xuICAgIG1hcmdpbi1pbmxpbmU6IGF1dG87XG4gIH1cbiAgLnBQb3NpdGlvbiB7XG4gICAgZm9udC1zaXplOiBjYWxjKHZhcigtLXBQb3NpdGlvbi1mb250LXNpemUtc3ApIC8gMzkwICogMTAwdncpO1xuICAgIGxpbmUtaGVpZ2h0OiAxNjAlO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1wUG9zaXRpb24tZm9udC13ZWlnaHQpO1xuICAgIGNvbG9yOiB2YXIoLS1wUG9zaXRpb24tY29sb3IpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5wUG9zaXRpb24ge1xuICAgICAgZm9udC1zaXplOiBtaW4oY2FsYyh2YXIoLS1wUG9zaXRpb24tZm9udC1zaXplLXBjKSAqIDFweCksIGNhbGModmFyKC0tcFBvc2l0aW9uLWZvbnQtc2l6ZS1wYykgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgLnBOYW1lIHtcbiAgICBmb250LXNpemU6IGNhbGModmFyKC0tcE5hbWUtZm9udC1zaXplLXNwKSAvIDM5MCAqIDEwMHZ3KTtcbiAgICBsaW5lLWhlaWdodDogMTYwJTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tcE5hbWUtZm9udC13ZWlnaHQpO1xuICAgIGNvbG9yOiB2YXIoLS1wTmFtZS1jb2xvcik7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnBOYW1lIHtcbiAgICAgIGZvbnQtc2l6ZTogbWluKGNhbGModmFyKC0tcE5hbWUtZm9udC1zaXplLXBjKSAqIDFweCksIGNhbGModmFyKC0tcE5hbWUtZm9udC1zaXplLXBjKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAucFN1YlRpdGxlIHtcbiAgICBmb250LXNpemU6IGNhbGModmFyKC0tcFN1YlRpdGxlLWZvbnQtc2l6ZS1zcCkgLyAzOTAgKiAxMDB2dyk7XG4gICAgbGluZS1oZWlnaHQ6IDE2MCU7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLXBTdWJUaXRsZS1mb250LXdlaWdodCk7XG4gICAgY29sb3I6IHZhcigtLXBTdWJUaXRsZS1jb2xvcik7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnBTdWJUaXRsZSB7XG4gICAgICBmb250LXNpemU6IG1pbihjYWxjKHZhcigtLXBTdWJUaXRsZS1mb250LXNpemUtcGMpICogMXB4KSwgY2FsYyh2YXIoLS1wU3ViVGl0bGUtZm9udC1zaXplLXBjKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAucE5hbWVTZXQge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC1hdXRvLWZsb3c6IHJvdztcbiAgICBnYXA6IGNhbGModmFyKC0tcE5hbWVTZXQtZ2FwLXNwKSAvIDM5MCAqIDEwMHZ3KTtcbiAgICBqdXN0aWZ5LWl0ZW1zOiBjZW50ZXI7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5wTmFtZVNldCB7XG4gICAgICBnYXA6IG1pbihjYWxjKHZhcigtLXBOYW1lU2V0LWdhcC1wYykgKiAxcHgpLCBjYWxjKHZhcigtLXBOYW1lU2V0LWdhcC1wYykgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgLnBNZW1iZXIge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiBzdWJncmlkO1xuICAgIGdyaWQtcm93OiBzcGFuIDU7XG4gICAgZ2FwOiBjYWxjKHZhcigtLXBNZW1iZXItZ2FwLXNwKSAvIDM5MCAqIDEwMHZ3KTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAucE1lbWJlciB7XG4gICAgICBnYXA6IG1pbihjYWxjKHZhcigtLXBNZW1iZXItZ2FwLXBjKSAqIDFweCksIGNhbGModmFyKC0tcE1lbWJlci1nYXAtcGMpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIC5wTWVtYmVyIC5wcm9maWxlIHtcbiAgICBjb2xvcjogdmFyKC0tcE1lbWJlci1wcm9maWxlLWNvbG9yKTtcbiAgfVxuICAucE1lbWJlciAucEJ1dHRvbiB7XG4gICAgbWFyZ2luLWlubGluZTogYXV0bztcbiAgfVxuICAucEJ1dHRvbiB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWFyZWFzOiBcImJlZm9yZSB0ZXh0IGFmdGVyXCI7XG4gICAgd2lkdGg6IGZpdC1jb250ZW50O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgY29sb3I6IHZhcigtLXBCdXR0b24tY29sb3ItZGVmYXVsdCk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcEJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG9yLWRlZmF1bHQpO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1wQnV0dG9uLWZvbnQtd2VpZ2h0KTtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLXBCdXR0b24tYm9yZGVyLWNvbG9yLWRlZmF1bHQpO1xuICAgIGJvcmRlci13aWR0aDogY2FsYyh2YXIoLS1wQnV0dG9uLWJvcmRlci13aWR0aCkgLyAzOTAgKiAxMDB2dyk7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBnYXA6IGNhbGModmFyKC0tcEJ1dHRvbi1nYXAtc3ApIC8gMzkwICogMTAwdncpO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIHZhcigtLXRyYW5zaXRpb24tc3BlZWQpIHZhcigtLWJlemllciksIGJvcmRlci1jb2xvciB2YXIoLS10cmFuc2l0aW9uLXNwZWVkKSB2YXIoLS1iZXppZXIpLCBjb2xvciB2YXIoLS10cmFuc2l0aW9uLXNwZWVkKSB2YXIoLS1iZXppZXIpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5wQnV0dG9uIHtcbiAgICAgIGJvcmRlci13aWR0aDogbWluKGNhbGModmFyKC0tcEJ1dHRvbi1ib3JkZXItd2lkdGgpICogMXB4KSwgY2FsYyh2YXIoLS1wQnV0dG9uLWJvcmRlci13aWR0aCkgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIGdhcDogbWluKGNhbGModmFyKC0tcEJ1dHRvbi1nYXAtcGMpICogMXB4KSwgY2FsYyh2YXIoLS1wQnV0dG9uLWdhcC1wYykgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgLnBCdXR0b246OmJlZm9yZSB7XG4gICAgZ3JpZC1hcmVhOiBiZWZvcmU7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXNrLXNpemU6IGNvbnRhaW47XG4gICAgbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBtYXNrLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgYXNwZWN0LXJhdGlvOiAxLzE7XG4gIH1cbiAgLnBCdXR0b246OmFmdGVyIHtcbiAgICBqdXN0aWZ5LXNlbGY6IGVuZDtcbiAgICBncmlkLWFyZWE6IGFmdGVyO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFzay1zaXplOiBjb250YWluO1xuICAgIG1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgbWFzay1wb3NpdGlvbjogY2VudGVyO1xuICAgIGFzcGVjdC1yYXRpbzogMS8xO1xuICB9XG4gIEBtZWRpYSAoYW55LWhvdmVyOiBob3Zlcikge1xuICAgIC5wQnV0dG9uOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXBCdXR0b24tYmFja2dyb3VuZC1jb2xvci1ob3Zlcik7XG4gICAgICBib3JkZXItY29sb3I6IHZhcigtLXBCdXR0b24tYm9yZGVyLWNvbG9yLWhvdmVyKTtcbiAgICAgIGNvbG9yOiB2YXIoLS1wQnV0dG9uLWNvbG9yLWhvdmVyKTtcbiAgICB9XG4gIH1cbiAgLnBCdXR0b24ucmV2ZXJzZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcEJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG9yLXJldmVyc2UpO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tcEJ1dHRvbi1ib3JkZXItY29sb3ItcmV2ZXJzZSk7XG4gICAgY29sb3I6IHZhcigtLXBCdXR0b24tY29sb3ItcmV2ZXJzZSk7XG4gIH1cbiAgQG1lZGlhIChhbnktaG92ZXI6IGhvdmVyKSB7XG4gICAgLnBCdXR0b24ucmV2ZXJzZTpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wQnV0dG9uLWJhY2tncm91bmQtY29sb3ItcmV2ZXJzZS1ob3Zlcik7XG4gICAgICBib3JkZXItY29sb3I6IHZhcigtLXBCdXR0b24tYm9yZGVyLWNvbG9yLXJldmVyc2UtaG92ZXIpO1xuICAgIH1cbiAgfVxuICAucEJ1dHRvbi5zbWFsbCB7XG4gICAgZm9udC1zaXplOiBjYWxjKHZhcigtLXBCdXR0b24tc21hbGwtZm9udC1zaXplLXNwKSAvIDM5MCAqIDEwMHZ3KTtcbiAgICBwYWRkaW5nOiBjYWxjKHZhcigtLXBCdXR0b24tc21hbGwtcGFkZGluZy1ibG9jay1zcCkgLyAzOTAgKiAxMDB2dykgY2FsYyh2YXIoLS1wQnV0dG9uLXNtYWxsLXBhZGRpbmctaW5saW5lLXNwKSAvIDM5MCAqIDEwMHZ3KTtcbiAgICBtaW4td2lkdGg6IGNhbGModmFyKC0tcEJ1dHRvbi1zbWFsbC1taW4td2lkdGgtc3ApIC8gMzkwICogMTAwdncpO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogY2FsYyh2YXIoLS1wQnV0dG9uLXNtYWxsLWljb24td2lkdGgtc3ApIC8gMzkwICogMTAwdncpIGF1dG8gY2FsYyh2YXIoLS1wQnV0dG9uLXNtYWxsLWljb24td2lkdGgtc3ApIC8gMzkwICogMTAwdncpO1xuICAgIGJvcmRlci1yYWRpdXM6IGNhbGModmFyKC0tcEJ1dHRvbi1zbWFsbC1ib3JkZXItcmFkaXVzKSAvIDM5MCAqIDEwMHZ3KTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAucEJ1dHRvbi5zbWFsbCB7XG4gICAgICBmb250LXNpemU6IG1pbihjYWxjKHZhcigtLXBCdXR0b24tc21hbGwtZm9udC1zaXplLXBjKSAqIDFweCksIGNhbGModmFyKC0tcEJ1dHRvbi1zbWFsbC1mb250LXNpemUtcGMpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICBwYWRkaW5nOiBtaW4oY2FsYyh2YXIoLS1wQnV0dG9uLXNtYWxsLXBhZGRpbmctYmxvY2stcGMpICogMXB4KSwgY2FsYyh2YXIoLS1wQnV0dG9uLXNtYWxsLXBhZGRpbmctYmxvY2stcGMpIC8gMTQ0MCAqIDEwMHZ3KSkgbWluKGNhbGModmFyKC0tcEJ1dHRvbi1zbWFsbC1wYWRkaW5nLWlubGluZS1wYykgKiAxcHgpLCBjYWxjKHZhcigtLXBCdXR0b24tc21hbGwtcGFkZGluZy1pbmxpbmUtcGMpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICBtaW4td2lkdGg6IG1pbihjYWxjKHZhcigtLXBCdXR0b24tc21hbGwtbWluLXdpZHRoLXBjKSAqIDFweCksIGNhbGModmFyKC0tcEJ1dHRvbi1zbWFsbC1taW4td2lkdGgtcGMpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IG1pbihjYWxjKHZhcigtLXBCdXR0b24tc21hbGwtaWNvbi13aWR0aC1wYykgKiAxcHgpLCBjYWxjKHZhcigtLXBCdXR0b24tc21hbGwtaWNvbi13aWR0aC1wYykgLyAxNDQwICogMTAwdncpKSBhdXRvIG1pbihjYWxjKHZhcigtLXBCdXR0b24tc21hbGwtaWNvbi13aWR0aC1wYykgKiAxcHgpLCBjYWxjKHZhcigtLXBCdXR0b24tc21hbGwtaWNvbi13aWR0aC1wYykgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IG1pbihjYWxjKHZhcigtLXBCdXR0b24tc21hbGwtYm9yZGVyLXJhZGl1cykgKiAxcHgpLCBjYWxjKHZhcigtLXBCdXR0b24tc21hbGwtYm9yZGVyLXJhZGl1cykgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgLnBCdXR0b24uc21hbGw6OmJlZm9yZSwgLnBCdXR0b24uc21hbGw6OmFmdGVyIHtcbiAgICB3aWR0aDogY2FsYyh2YXIoLS1wQnV0dG9uLXNtYWxsLWljb24td2lkdGgtc3ApIC8gMzkwICogMTAwdncpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5wQnV0dG9uLnNtYWxsOjpiZWZvcmUsIC5wQnV0dG9uLnNtYWxsOjphZnRlciB7XG4gICAgICB3aWR0aDogbWluKGNhbGModmFyKC0tcEJ1dHRvbi1zbWFsbC1pY29uLXdpZHRoLXBjKSAqIDFweCksIGNhbGModmFyKC0tcEJ1dHRvbi1zbWFsbC1pY29uLXdpZHRoLXBjKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAucEJ1dHRvbjpub3QoLnNtYWxsKTpub3QoLmxhcmdlKSB7XG4gICAgZm9udC1zaXplOiBjYWxjKHZhcigtLXBCdXR0b24tbWVkaXVtLWZvbnQtc2l6ZS1zcCkgLyAzOTAgKiAxMDB2dyk7XG4gICAgcGFkZGluZzogY2FsYyh2YXIoLS1wQnV0dG9uLW1lZGl1bS1wYWRkaW5nLWJsb2NrLXNwKSAvIDM5MCAqIDEwMHZ3KSBjYWxjKHZhcigtLXBCdXR0b24tbWVkaXVtLXBhZGRpbmctaW5saW5lLXNwKSAvIDM5MCAqIDEwMHZ3KTtcbiAgICBtaW4td2lkdGg6IGNhbGModmFyKC0tcEJ1dHRvbi1tZWRpdW0tbWluLXdpZHRoLXNwKSAvIDM5MCAqIDEwMHZ3KTtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IGNhbGModmFyKC0tcEJ1dHRvbi1tZWRpdW0taWNvbi13aWR0aC1zcCkgLyAzOTAgKiAxMDB2dykgYXV0byBjYWxjKHZhcigtLXBCdXR0b24tbWVkaXVtLWljb24td2lkdGgtc3ApIC8gMzkwICogMTAwdncpO1xuICAgIGJvcmRlci1yYWRpdXM6IGNhbGModmFyKC0tcEJ1dHRvbi1tZWRpdW0tYm9yZGVyLXJhZGl1cykgLyAzOTAgKiAxMDB2dyk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnBCdXR0b246bm90KC5zbWFsbCk6bm90KC5sYXJnZSkge1xuICAgICAgZm9udC1zaXplOiBtaW4oY2FsYyh2YXIoLS1wQnV0dG9uLW1lZGl1bS1mb250LXNpemUtcGMpICogMXB4KSwgY2FsYyh2YXIoLS1wQnV0dG9uLW1lZGl1bS1mb250LXNpemUtcGMpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICBwYWRkaW5nOiBtaW4oY2FsYyh2YXIoLS1wQnV0dG9uLW1lZGl1bS1wYWRkaW5nLWJsb2NrLXBjKSAqIDFweCksIGNhbGModmFyKC0tcEJ1dHRvbi1tZWRpdW0tcGFkZGluZy1ibG9jay1wYykgLyAxNDQwICogMTAwdncpKSBtaW4oY2FsYyh2YXIoLS1wQnV0dG9uLW1lZGl1bS1wYWRkaW5nLWlubGluZS1wYykgKiAxcHgpLCBjYWxjKHZhcigtLXBCdXR0b24tbWVkaXVtLXBhZGRpbmctaW5saW5lLXBjKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgbWluLXdpZHRoOiBtaW4oY2FsYyh2YXIoLS1wQnV0dG9uLW1lZGl1bS1taW4td2lkdGgtcGMpICogMXB4KSwgY2FsYyh2YXIoLS1wQnV0dG9uLW1lZGl1bS1taW4td2lkdGgtcGMpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IG1pbihjYWxjKHZhcigtLXBCdXR0b24tbWVkaXVtLWljb24td2lkdGgtcGMpICogMXB4KSwgY2FsYyh2YXIoLS1wQnV0dG9uLW1lZGl1bS1pY29uLXdpZHRoLXBjKSAvIDE0NDAgKiAxMDB2dykpIGF1dG8gbWluKGNhbGModmFyKC0tcEJ1dHRvbi1tZWRpdW0taWNvbi13aWR0aC1wYykgKiAxcHgpLCBjYWxjKHZhcigtLXBCdXR0b24tbWVkaXVtLWljb24td2lkdGgtcGMpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICBib3JkZXItcmFkaXVzOiBtaW4oY2FsYyh2YXIoLS1wQnV0dG9uLW1lZGl1bS1ib3JkZXItcmFkaXVzKSAqIDFweCksIGNhbGModmFyKC0tcEJ1dHRvbi1tZWRpdW0tYm9yZGVyLXJhZGl1cykgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgLnBCdXR0b246bm90KC5zbWFsbCk6bm90KC5sYXJnZSk6OmJlZm9yZSwgLnBCdXR0b246bm90KC5zbWFsbCk6bm90KC5sYXJnZSk6OmFmdGVyIHtcbiAgICB3aWR0aDogY2FsYyh2YXIoLS1wQnV0dG9uLW1lZGl1bS1pY29uLXdpZHRoLXNwKSAvIDM5MCAqIDEwMHZ3KTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAucEJ1dHRvbjpub3QoLnNtYWxsKTpub3QoLmxhcmdlKTo6YmVmb3JlLCAucEJ1dHRvbjpub3QoLnNtYWxsKTpub3QoLmxhcmdlKTo6YWZ0ZXIge1xuICAgICAgd2lkdGg6IG1pbihjYWxjKHZhcigtLXBCdXR0b24tbWVkaXVtLWljb24td2lkdGgtcGMpICogMXB4KSwgY2FsYyh2YXIoLS1wQnV0dG9uLW1lZGl1bS1pY29uLXdpZHRoLXBjKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAucEJ1dHRvbi5sYXJnZSB7XG4gICAgZm9udC1zaXplOiBjYWxjKHZhcigtLXBCdXR0b24tbGFyZ2UtZm9udC1zaXplLXNwKSAvIDM5MCAqIDEwMHZ3KTtcbiAgICBwYWRkaW5nOiBjYWxjKHZhcigtLXBCdXR0b24tbGFyZ2UtcGFkZGluZy1ibG9jay1zcCkgLyAzOTAgKiAxMDB2dykgY2FsYyh2YXIoLS1wQnV0dG9uLWxhcmdlLXBhZGRpbmctaW5saW5lLXNwKSAvIDM5MCAqIDEwMHZ3KTtcbiAgICBtaW4td2lkdGg6IGNhbGModmFyKC0tcEJ1dHRvbi1sYXJnZS1taW4td2lkdGgtc3ApIC8gMzkwICogMTAwdncpO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogY2FsYyh2YXIoLS1wQnV0dG9uLWxhcmdlLWljb24td2lkdGgtc3ApIC8gMzkwICogMTAwdncpIGF1dG8gY2FsYyh2YXIoLS1wQnV0dG9uLWxhcmdlLWljb24td2lkdGgtc3ApIC8gMzkwICogMTAwdncpO1xuICAgIGJvcmRlci1yYWRpdXM6IGNhbGModmFyKC0tcEJ1dHRvbi1sYXJnZS1ib3JkZXItcmFkaXVzKSAvIDM5MCAqIDEwMHZ3KTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAucEJ1dHRvbi5sYXJnZSB7XG4gICAgICBmb250LXNpemU6IG1pbihjYWxjKHZhcigtLXBCdXR0b24tbGFyZ2UtZm9udC1zaXplLXBjKSAqIDFweCksIGNhbGModmFyKC0tcEJ1dHRvbi1sYXJnZS1mb250LXNpemUtcGMpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICBwYWRkaW5nOiBtaW4oY2FsYyh2YXIoLS1wQnV0dG9uLWxhcmdlLXBhZGRpbmctYmxvY2stcGMpICogMXB4KSwgY2FsYyh2YXIoLS1wQnV0dG9uLWxhcmdlLXBhZGRpbmctYmxvY2stcGMpIC8gMTQ0MCAqIDEwMHZ3KSkgbWluKGNhbGModmFyKC0tcEJ1dHRvbi1sYXJnZS1wYWRkaW5nLWlubGluZS1wYykgKiAxcHgpLCBjYWxjKHZhcigtLXBCdXR0b24tbGFyZ2UtcGFkZGluZy1pbmxpbmUtcGMpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICBtaW4td2lkdGg6IG1pbihjYWxjKHZhcigtLXBCdXR0b24tbGFyZ2UtbWluLXdpZHRoLXBjKSAqIDFweCksIGNhbGModmFyKC0tcEJ1dHRvbi1sYXJnZS1taW4td2lkdGgtcGMpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IG1pbihjYWxjKHZhcigtLXBCdXR0b24tbGFyZ2UtaWNvbi13aWR0aC1wYykgKiAxcHgpLCBjYWxjKHZhcigtLXBCdXR0b24tbGFyZ2UtaWNvbi13aWR0aC1wYykgLyAxNDQwICogMTAwdncpKSBhdXRvIG1pbihjYWxjKHZhcigtLXBCdXR0b24tbGFyZ2UtaWNvbi13aWR0aC1wYykgKiAxcHgpLCBjYWxjKHZhcigtLXBCdXR0b24tbGFyZ2UtaWNvbi13aWR0aC1wYykgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IG1pbihjYWxjKHZhcigtLXBCdXR0b24tbGFyZ2UtYm9yZGVyLXJhZGl1cykgKiAxcHgpLCBjYWxjKHZhcigtLXBCdXR0b24tbGFyZ2UtYm9yZGVyLXJhZGl1cykgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgLnBCdXR0b24ubGFyZ2U6OmJlZm9yZSwgLnBCdXR0b24ubGFyZ2U6OmFmdGVyIHtcbiAgICB3aWR0aDogY2FsYyh2YXIoLS1wQnV0dG9uLWxhcmdlLWljb24td2lkdGgtc3ApIC8gMzkwICogMTAwdncpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5wQnV0dG9uLmxhcmdlOjpiZWZvcmUsIC5wQnV0dG9uLmxhcmdlOjphZnRlciB7XG4gICAgICB3aWR0aDogbWluKGNhbGModmFyKC0tcEJ1dHRvbi1sYXJnZS1pY29uLXdpZHRoLXBjKSAqIDFweCksIGNhbGModmFyKC0tcEJ1dHRvbi1sYXJnZS1pY29uLXdpZHRoLXBjKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAucEJ1dHRvbi5yaWdodDo6YWZ0ZXIge1xuICAgIG1hc2staW1hZ2U6IHVybCgvaW1hZ2VzL2ljb25fYXJyb3dfbmV4dC5zdmcpO1xuICB9XG4gIC5wQnV0dG9uLnJpZ2h0W3RhcmdldD1fYmxhbmtdOjphZnRlciB7XG4gICAgbWFzay1pbWFnZTogdXJsKC9pbWFnZXMvaWNvbl9leHRlcm5hbC5zdmcpO1xuICB9XG4gIC5wQnV0dG9uLmxlZnQ6OmJlZm9yZSB7XG4gICAgbWFzay1pbWFnZTogdXJsKC9pbWFnZXMvaWNvbl9hcnJvd19wcmV2LnN2Zyk7XG4gIH1cbiAgLnBCdXR0b24ucmlnaHQ6OmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wQnV0dG9uLWljb24tY29sb3ItZGVmYXVsdCk7XG4gIH1cbiAgQG1lZGlhIChhbnktaG92ZXI6IGhvdmVyKSB7XG4gICAgLnBCdXR0b24ucmlnaHQ6aG92ZXI6OmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXBCdXR0b24taWNvbi1jb2xvci1ob3Zlcik7XG4gICAgfVxuICB9XG4gIC5wQnV0dG9uLnJpZ2h0LnJldmVyc2U6OmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wQnV0dG9uLWljb24tY29sb3ItcmV2ZXJzZSk7XG4gIH1cbiAgQG1lZGlhIChhbnktaG92ZXI6IGhvdmVyKSB7XG4gICAgLnBCdXR0b24ucmlnaHQucmV2ZXJzZTpob3Zlcjo6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcEJ1dHRvbi1pY29uLWNvbG9yLXJldmVyc2UtaG92ZXIpO1xuICAgIH1cbiAgfVxuICAucEJ1dHRvbi5sZWZ0OjpiZWZvcmUge1xuICAgIG1hc2staW1hZ2U6IHVybCgvaW1hZ2VzL2ljb25fYXJyb3dfcHJldi5zdmcpO1xuICB9XG4gIC5wQnV0dG9uLmxlZnRbdGFyZ2V0PV9ibGFua106OmJlZm9yZSB7XG4gICAgbWFzay1pbWFnZTogdXJsKC9pbWFnZXMvaWNvbl9leHRlcm5hbC5zdmcpO1xuICB9XG4gIC5wQnV0dG9uLmxlZnQ6OmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcEJ1dHRvbi1pY29uLWNvbG9yLWRlZmF1bHQpO1xuICB9XG4gIEBtZWRpYSAoYW55LWhvdmVyOiBob3Zlcikge1xuICAgIC5wQnV0dG9uLmxlZnQ6aG92ZXI6OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wQnV0dG9uLWljb24tY29sb3ItaG92ZXIpO1xuICAgIH1cbiAgfVxuICAucEJ1dHRvbi5sZWZ0LnJldmVyc2U6OmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcEJ1dHRvbi1pY29uLWNvbG9yLXJldmVyc2UpO1xuICB9XG4gIEBtZWRpYSAoYW55LWhvdmVyOiBob3Zlcikge1xuICAgIC5wQnV0dG9uLmxlZnQucmV2ZXJzZTpob3Zlcjo6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXBCdXR0b24taWNvbi1jb2xvci1yZXZlcnNlLWhvdmVyKTtcbiAgICB9XG4gIH1cbiAgLnBGaWxlSW5mbyB7XG4gICAgZGlzcGxheTogaW5saW5lLWdyaWQ7XG4gICAgZ3JpZC1hdXRvLWZsb3c6IGNvbHVtbjtcbiAgICBnYXA6IGNhbGModmFyKC0tcEZpbGVJbmZvLWdhcC1zcCkgLyAzOTAgKiAxMDB2dyk7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAucEZpbGVJbmZvIHtcbiAgICAgIGdhcDogbWluKGNhbGModmFyKC0tcEZpbGVJbmZvLWdhcC1wYykgKiAxcHgpLCBjYWxjKHZhcigtLXBGaWxlSW5mby1nYXAtcGMpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIC5wRmlsZUluZm8gaW1nIHtcbiAgICB3aWR0aDogY2FsYyh2YXIoLS1wRmlsZUluZm8taWNvbi13aWR0aC1zcCkgLyAzOTAgKiAxMDB2dyk7XG4gICAgYXNwZWN0LXJhdGlvOiAxLzE7XG4gICAgb2JqZWN0LWZpdDogY29udGFpbjtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAucEZpbGVJbmZvIGltZyB7XG4gICAgICB3aWR0aDogbWluKGNhbGModmFyKC0tcEZpbGVJbmZvLWljb24td2lkdGgtcGMpICogMXB4KSwgY2FsYyh2YXIoLS1wRmlsZUluZm8taWNvbi13aWR0aC1wYykgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgLnBGaWxlSW5mbyBmaWdjYXB0aW9uIHtcbiAgICBmb250LXNpemU6IGNhbGModmFyKC0tcEZpbGVJbmZvLWZvbnQtc2l6ZS1zcCkgLyAzOTAgKiAxMDB2dyk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLXBGaWxlSW5mby1mb250LXdlaWdodCk7XG4gICAgZm9udC1mYW1pbHk6IHZhcigtLXBGaWxlSW5mby1mb250LWZhbWlseSk7XG4gICAgY29sb3I6IHZhcigtLXBGaWxlSW5mby1jb2xvcik7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnBGaWxlSW5mbyBmaWdjYXB0aW9uIHtcbiAgICAgIGZvbnQtc2l6ZTogbWluKGNhbGModmFyKC0tcEZpbGVJbmZvLWZvbnQtc2l6ZS1wYykgKiAxcHgpLCBjYWxjKHZhcigtLXBGaWxlSW5mby1mb250LXNpemUtcGMpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIC5wQ2F0YWxvZyB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlOiBcImltYWdlIGhlYWRpbmdcIiBhdXRvIFwic3VtbWFyeSBzdW1tYXJ5XCIgYXV0by8xZnIgMWZyO1xuICAgIGFsaWduLWl0ZW1zOiBzdGFydDtcbiAgICByb3ctZ2FwOiBjYWxjKHZhcigtLXBDYXRhbG9nLWdhcC1yb3ctc3ApIC8gMzkwICogMTAwdncpO1xuICAgIGNvbHVtbi1nYXA6IGNhbGModmFyKC0tcENhdGFsb2ctZ2FwLWNvbC1zcCkgLyAzOTAgKiAxMDB2dyk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnBDYXRhbG9nIHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtYXJlYXM6IHVuc2V0O1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiB1bnNldDtcbiAgICAgIGdyaWQtdGVtcGxhdGUtcm93czogc3ViZ3JpZDtcbiAgICAgIGdyaWQtcm93OiBzcGFuIDM7XG4gICAgICByb3ctZ2FwOiBtaW4oY2FsYyh2YXIoLS1wQ2F0YWxvZy1nYXAtcm93LXBjKSAqIDFweCksIGNhbGModmFyKC0tcENhdGFsb2ctZ2FwLXJvdy1wYykgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIGNvbHVtbi1nYXA6IHVuc2V0O1xuICAgIH1cbiAgfVxuICAucENhdGFsb2cgLmltYWdlIHtcbiAgICBncmlkLWFyZWE6IGltYWdlO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5wQ2F0YWxvZyAuaW1hZ2Uge1xuICAgICAgZ3JpZC1hcmVhOiB1bnNldDtcbiAgICB9XG4gIH1cbiAgLnBDYXRhbG9nIC5oZWFkaW5nIHtcbiAgICBncmlkLWFyZWE6IGhlYWRpbmc7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLWF1dG8tZmxvdzogcm93O1xuICAgIGFsaWduLWl0ZW1zOiBzdGFydDtcbiAgICByb3ctZ2FwOiBjYWxjKHZhcigtLXBDYXRhbG9nLWdhcC1yb3ctc3ApIC8gMzkwICogMTAwdncpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5wQ2F0YWxvZyAuaGVhZGluZyB7XG4gICAgICBncmlkLWFyZWE6IHVuc2V0O1xuICAgICAgcm93LWdhcDogbWluKGNhbGModmFyKC0tcENhdGFsb2ctZ2FwLXJvdy1wYykgKiAxcHgpLCBjYWxjKHZhcigtLXBDYXRhbG9nLWdhcC1yb3ctcGMpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIC5wQ2F0YWxvZyAuc3VtbWFyeSB7XG4gICAgZ3JpZC1hcmVhOiBzdW1tYXJ5O1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5wQ2F0YWxvZyAuc3VtbWFyeSB7XG4gICAgICBncmlkLWFyZWE6IHVuc2V0O1xuICAgIH1cbiAgfVxuICAucENhdGFsb2dUaXRsZVNldCB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLWF1dG8tZmxvdzogcm93O1xuICAgIGdhcDogY2FsYyh2YXIoLS1wQ2F0YWxvZ1RpdGxlU2V0LWdhcC1zcCkgLyAzOTAgKiAxMDB2dyk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnBDYXRhbG9nVGl0bGVTZXQge1xuICAgICAgZ2FwOiBtaW4oY2FsYyh2YXIoLS1wQ2F0YWxvZ1RpdGxlU2V0LWdhcC1wYykgKiAxcHgpLCBjYWxjKHZhcigtLXBDYXRhbG9nVGl0bGVTZXQtZ2FwLXBjKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAucEF0dGFjaG1lbnQge1xuICAgIHBhZGRpbmc6IGNhbGModmFyKC0tcEF0dGFjaG1lbnQtcGFkZGluZy1pbmxpbmUtc3ApIC8gMzkwICogMTAwdncpIGNhbGModmFyKC0tcEF0dGFjaG1lbnQtcGFkZGluZy1ibG9jay1zcCkgLyAzOTAgKiAxMDB2dyk7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IGF1dG8gYXV0bztcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHN0YXJ0O1xuICAgIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogY2FsYyh2YXIoLS1wQXR0YWNobWVudC1nYXAtc3ApIC8gMzkwICogMTAwdncpO1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IGNhbGModmFyKC0tcEF0dGFjaG1lbnQtYm9yZGVyLWJvdHRvbS13aWR0aCkgLyAzOTAgKiAxMDB2dyk7XG4gICAgYm9yZGVyLWJvdHRvbS1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdmFyKC0tcEF0dGFjaG1lbnQtYm9yZGVyLWJvdHRvbS1jb2xvcik7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnBBdHRhY2htZW50IHtcbiAgICAgIHBhZGRpbmc6IG1pbihjYWxjKHZhcigtLXBBdHRhY2htZW50LXBhZGRpbmctaW5saW5lLXBjKSAqIDFweCksIGNhbGModmFyKC0tcEF0dGFjaG1lbnQtcGFkZGluZy1pbmxpbmUtcGMpIC8gMTQ0MCAqIDEwMHZ3KSkgbWluKGNhbGModmFyKC0tcEF0dGFjaG1lbnQtcGFkZGluZy1ibG9jay1wYykgKiAxcHgpLCBjYWxjKHZhcigtLXBBdHRhY2htZW50LXBhZGRpbmctYmxvY2stcGMpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICBib3JkZXItYm90dG9tLXdpZHRoOiBtaW4oY2FsYyh2YXIoLS1wQXR0YWNobWVudC1ib3JkZXItYm90dG9tLXdpZHRoKSAqIDFweCksIGNhbGModmFyKC0tcEF0dGFjaG1lbnQtYm9yZGVyLWJvdHRvbS13aWR0aCkgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIGdhcDogbWluKGNhbGModmFyKC0tcEF0dGFjaG1lbnQtZ2FwLXBjKSAqIDFweCksIGNhbGModmFyKC0tcEF0dGFjaG1lbnQtZ2FwLXBjKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAucEF0dGFjaG1lbnQ6OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiBjYWxjKHZhcigtLXBBdHRhY2htZW50LWljb24td2lkdGgtc3ApIC8gMzkwICogMTAwdncpO1xuICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICBhc3BlY3QtcmF0aW86IDEvMTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAucEF0dGFjaG1lbnQ6OmFmdGVyIHtcbiAgICAgIHdpZHRoOiBtaW4oY2FsYyh2YXIoLS1wQXR0YWNobWVudC1pY29uLXdpZHRoLXBjKSAqIDFweCksIGNhbGModmFyKC0tcEF0dGFjaG1lbnQtaWNvbi13aWR0aC1wYykgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgLnBBdHRhY2htZW50OmhhcyhhW2hyZWYkPVwiLnBkZlwiXSk6OmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoL2ltYWdlcy9pY29uX3BkZi5zdmcpO1xuICB9XG4gIC5wQXR0YWNobWVudDpoYXMoYVtocmVmJD1cIi54bHN4XCJdKTo6YWZ0ZXIsIC5wQXR0YWNobWVudDpoYXMoYVtocmVmJD1cIi54bHNcIl0pOjphZnRlciB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC9pbWFnZXMvaWNvbl94bHMuc3ZnKTtcbiAgfVxuICAucEF0dGFjaG1lbnQ6aGFzKGFbaHJlZiQ9XCIuZG9jeFwiXSk6OmFmdGVyLCAucEF0dGFjaG1lbnQ6aGFzKGFbaHJlZiQ9XCIuZG9jXCJdKTo6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgvaW1hZ2VzL2ljb25fd29yZC5zdmcpO1xuICB9XG4gIC5wQXR0YWNobWVudCBhIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogYXV0byBhdXRvO1xuICAgIGp1c3RpZnktY29udGVudDogc3RhcnQ7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBmb250LXNpemU6IGNhbGModmFyKC0tcEF0dGFjaG1lbnQtZm9udC1zaXplLXNwKSAvIDM5MCAqIDEwMHZ3KTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tcEF0dGFjaG1lbnQtZm9udC13ZWlnaHQpO1xuICAgIGNvbG9yOiB2YXIoLS1wQXR0YWNobWVudC1jb2xvcik7XG4gICAgbGluZS1oZWlnaHQ6IDE1MCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5wQXR0YWNobWVudCBhIHtcbiAgICAgIGZvbnQtc2l6ZTogbWluKGNhbGModmFyKC0tcEF0dGFjaG1lbnQtZm9udC1zaXplLXBjKSAqIDFweCksIGNhbGModmFyKC0tcEF0dGFjaG1lbnQtZm9udC1zaXplLXBjKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLXBBdHRhY2htZW50LWZvbnQtd2VpZ2h0KTtcbiAgICAgIGNvbG9yOiB2YXIoLS1wQXR0YWNobWVudC1jb2xvcik7XG4gICAgfVxuICB9XG4gIC5wQXR0YWNobWVudCBhOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwi44O7XCI7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgYWxpZ24tc2VsZjogc3RhcnQ7XG4gIH1cbiAgLnBRIHtcbiAgICBmb250LXNpemU6IGNhbGModmFyKC0tcFEtZm9udC1zaXplLXNwKSAvIDM5MCAqIDEwMHZ3KTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tcFEtZm9udC13ZWlnaHQpO1xuICAgIGNvbG9yOiB2YXIoLS1wUS1jb2xvcik7XG4gICAgbGluZS1oZWlnaHQ6IDE1MCU7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IGF1dG8gYXV0bztcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHN0YXJ0O1xuICAgIGdhcDogY2FsYyh2YXIoLS1wUS1nYXAtc3ApIC8gMzkwICogMTAwdncpO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAucFEge1xuICAgICAgZm9udC1zaXplOiBtaW4oY2FsYyh2YXIoLS1wUS1mb250LXNpemUtcGMpICogMXB4KSwgY2FsYyh2YXIoLS1wUS1mb250LXNpemUtcGMpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICBnYXA6IG1pbihjYWxjKHZhcigtLXBRLWdhcC1wYykgKiAxcHgpLCBjYWxjKHZhcigtLXBRLWdhcC1wYykgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgLnBROjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IGNhbGModmFyKC0tcFEtaWNvbi13aWR0aC1zcCkgLyAzOTAgKiAxMDB2dyk7XG4gICAgYXNwZWN0LXJhdGlvOiAxLzE7XG4gICAgYmFja2dyb3VuZDogY2VudGVyL2NvbnRhaW4gbm8tcmVwZWF0IHVybCgvaW1hZ2VzL2ljb25fcS5zdmcpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5wUTo6YmVmb3JlIHtcbiAgICAgIHdpZHRoOiBtaW4oY2FsYyh2YXIoLS1wUS1pY29uLXdpZHRoLXBjKSAqIDFweCksIGNhbGModmFyKC0tcFEtaWNvbi13aWR0aC1wYykgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgLnBBIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogYXV0byBhdXRvO1xuICAgIGp1c3RpZnktY29udGVudDogc3RhcnQ7XG4gICAgZ2FwOiBjYWxjKHZhcigtLXBBLWdhcC1zcCkgLyAzOTAgKiAxMDB2dyk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnBBIHtcbiAgICAgIGdhcDogbWluKGNhbGModmFyKC0tcEEtZ2FwLXBjKSAqIDFweCksIGNhbGModmFyKC0tcEEtZ2FwLXBjKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAucEE6OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogY2FsYyh2YXIoLS1wQS1pY29uLXdpZHRoLXNwKSAvIDM5MCAqIDEwMHZ3KTtcbiAgICBhc3BlY3QtcmF0aW86IDEvMTtcbiAgICBiYWNrZ3JvdW5kOiBjZW50ZXIvY29udGFpbiBuby1yZXBlYXQgdXJsKC9pbWFnZXMvaWNvbl9hLnN2Zyk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnBBOjpiZWZvcmUge1xuICAgICAgd2lkdGg6IG1pbihjYWxjKHZhcigtLXBBLWljb24td2lkdGgtcGMpICogMXB4KSwgY2FsYyh2YXIoLS1wQS1pY29uLXdpZHRoLXBjKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAucEEgaW1nIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW46IDAgYXV0byBjYWxjKHZhcigtLXBBLWdhcC1zcCkgLyAzOTAgKiAxMDB2dykgIWltcG9ydGFudDtcbiAgICBib3JkZXItcmFkaXVzOiBjYWxjKHZhcigtLWJvcmRlci1yYWRpdXMtc21hbGwpIC8gMzkwICogMTAwdncpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5wQSBpbWcge1xuICAgICAgYm9yZGVyLXJhZGl1czogbWluKGNhbGModmFyKC0tYm9yZGVyLXJhZGl1cy1zbWFsbCkgKiAxcHgpLCBjYWxjKHZhcigtLWJvcmRlci1yYWRpdXMtc21hbGwpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIC5wQSBpbWcubXQtaW1hZ2UtcmlnaHQge1xuICAgIGZsb2F0OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnBBIGltZy5tdC1pbWFnZS1yaWdodCB7XG4gICAgICBmbG9hdDogcmlnaHQgIWltcG9ydGFudDtcbiAgICAgIG1hcmdpbjogMCAwIG1pbihjYWxjKHZhcigtLXBBLWdhcC1wYykgKiAxcHgpLCBjYWxjKHZhcigtLXBBLWdhcC1wYykgLyAxNDQwICogMTAwdncpKSBtaW4oY2FsYyh2YXIoLS1wQS1nYXAtcGMpICogMXB4KSwgY2FsYyh2YXIoLS1wQS1nYXAtcGMpIC8gMTQ0MCAqIDEwMHZ3KSkgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbiAgLnBBIGltZy5tdC1pbWFnZS1sZWZ0IHtcbiAgICBmbG9hdDogbm9uZSAhaW1wb3J0YW50O1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5wQSBpbWcubXQtaW1hZ2UtbGVmdCB7XG4gICAgICBmbG9hdDogbGVmdCAhaW1wb3J0YW50O1xuICAgICAgbWFyZ2luOiAwIG1pbihjYWxjKHZhcigtLXBBLWdhcC1wYykgKiAxcHgpLCBjYWxjKHZhcigtLXBBLWdhcC1wYykgLyAxNDQwICogMTAwdncpKSBtaW4oY2FsYyh2YXIoLS1wQS1nYXAtcGMpICogMXB4KSwgY2FsYyh2YXIoLS1wQS1nYXAtcGMpIC8gMTQ0MCAqIDEwMHZ3KSkgMCAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuICAucEZhcSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcEZhcS1iYWNrZ3JvdW5kLWNvbG9yKTtcbiAgICBib3JkZXItcmFkaXVzOiBjYWxjKHZhcigtLXBGYXEtYm9yZGVyLXJhZGl1cy1zcCkgLyAzOTAgKiAxMDB2dyk7XG4gICAgYm9yZGVyOiBjYWxjKHZhcigtLXBGYXEtYm9yZGVyLXdpZHRoKSAvIDM5MCAqIDEwMHZ3KSBzb2xpZCB2YXIoLS1wRmFxLWJvcmRlci1jb2xvcik7XG4gICAgcGFkZGluZzogY2FsYyh2YXIoLS1wRmFxLXBhZGRpbmctYmxvY2stc3ApIC8gMzkwICogMTAwdncpIGNhbGModmFyKC0tcEZhcS1wYWRkaW5nLWlubGluZS1zcCkgLyAzOTAgKiAxMDB2dyk7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLWF1dG8tZmxvdzogcm93O1xuICAgIGdhcDogY2FsYyh2YXIoLS1wRmFxLWdhcC1zcCkgLyAzOTAgKiAxMDB2dyk7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5wRmFxIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IG1pbihjYWxjKHZhcigtLXBGYXEtYm9yZGVyLXJhZGl1cy1wYykgKiAxcHgpLCBjYWxjKHZhcigtLXBGYXEtYm9yZGVyLXJhZGl1cy1wYykgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIHBhZGRpbmc6IG1pbihjYWxjKHZhcigtLXBGYXEtcGFkZGluZy1ibG9jay1wYykgKiAxcHgpLCBjYWxjKHZhcigtLXBGYXEtcGFkZGluZy1ibG9jay1wYykgLyAxNDQwICogMTAwdncpKSBtaW4oY2FsYyh2YXIoLS1wRmFxLXBhZGRpbmctaW5saW5lLXBjKSAqIDFweCksIGNhbGModmFyKC0tcEZhcS1wYWRkaW5nLWlubGluZS1wYykgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIGdhcDogbWluKGNhbGModmFyKC0tcEZhcS1nYXAtcGMpICogMXB4KSwgY2FsYyh2YXIoLS1wRmFxLWdhcC1wYykgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIGJvcmRlci13aWR0aDogbWluKGNhbGModmFyKC0tcEZhcS1ib3JkZXItd2lkdGgpICogMXB4KSwgY2FsYyh2YXIoLS1wRmFxLWJvcmRlci13aWR0aCkgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgLnBGYXEuaXMtYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wRmFxLWJhY2tncm91bmQtY29sb3Itb3Blbik7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1wRmFxLWJvcmRlci1jb2xvci1vcGVuKTtcbiAgfVxuICAucEZhcS5pcy1hY3RpdmUgLnE6OmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoL2ltYWdlcy9pY29uX21pbnVzLnN2Zyk7XG4gIH1cbiAgLnBGYXEgLnEge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgYXV0bztcbiAgICBnYXA6IGNhbGModmFyKC0tcEZhcS1nYXAtc3ApIC8gMzkwICogMTAwdncpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5wRmFxIC5xIHtcbiAgICAgIGdhcDogbWluKGNhbGModmFyKC0tcEZhcS1nYXAtcGMpICogMXB4KSwgY2FsYyh2YXIoLS1wRmFxLWdhcC1wYykgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgLnBGYXEgLnE6OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiBjYWxjKHZhcigtLXBGYXEtaWNvbi13aWR0aC1zcCkgLyAzOTAgKiAxMDB2dyk7XG4gICAgYXNwZWN0LXJhdGlvOiAxLzE7XG4gICAgYmFja2dyb3VuZDogY2VudGVyL2NvbnRhaW4gbm8tcmVwZWF0IHVybCgvaW1hZ2VzL2ljb25fcGx1cy5zdmcpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5wRmFxIC5xOjphZnRlciB7XG4gICAgICB3aWR0aDogbWluKGNhbGModmFyKC0tcEZhcS1pY29uLXdpZHRoLXBjKSAqIDFweCksIGNhbGModmFyKC0tcEZhcS1pY29uLXdpZHRoLXBjKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAucEZhcSAuYSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICAucENvbnZlcnNpb25IZWFkaW5nIHtcbiAgICBmb250LXNpemU6IGNhbGModmFyKC0tcENvbnZlcnNpb25IZWFkaW5nLWZvbnQtc2l6ZS1zcCkgLyAzOTAgKiAxMDB2dyk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLXBDb252ZXJzaW9uSGVhZGluZy1mb250LXdlaWdodCk7XG4gICAgY29sb3I6IHZhcigtLXBDb252ZXJzaW9uSGVhZGluZy1jb2xvcik7XG4gICAgbGluZS1oZWlnaHQ6IDE0MCU7XG4gICAgZm9udC1mYW1pbHk6IHZhcigtLXBDb252ZXJzaW9uSGVhZGluZy1mb250LWZhbWlseSk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnBDb252ZXJzaW9uSGVhZGluZyB7XG4gICAgICBmb250LXNpemU6IG1pbihjYWxjKHZhcigtLXBDb252ZXJzaW9uSGVhZGluZy1mb250LXNpemUtcGMpICogMXB4KSwgY2FsYyh2YXIoLS1wQ29udmVyc2lvbkhlYWRpbmctZm9udC1zaXplLXBjKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAucExvY2FsbmF2U3ViIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gICAgZm9udC1zaXplOiBjYWxjKHZhcigtLXBMb2NhbG5hdlN1Yi1mb250LXNpemUtc3ApIC8gMzkwICogMTAwdncpO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1wTG9jYWxuYXZTdWItZm9udC13ZWlnaHQpO1xuICAgIGNvbG9yOiB2YXIoLS1wTG9jYWxuYXZTdWItZGVmYXVsdC1jb2xvcik7XG4gICAgYm9yZGVyLXdpZHRoOiB2YXIoLS1wTG9jYWxuYXZTdWItYm9yZGVyLXdpZHRoKTtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tcExvY2FsbmF2U3ViLWRlZmF1bHQtYm9yZGVyLWNvbG9yKTtcbiAgICBib3JkZXItcmFkaXVzOiBjYWxjKHZhcigtLXBMb2NhbG5hdlN1Yi1ib3JkZXItcmFkaXVzKSAvIDM5MCAqIDEwMHZ3KTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wTG9jYWxuYXZTdWItZGVmYXVsdC1iYWNrZ3JvdW5kLWNvbG9yKTtcbiAgICBwYWRkaW5nOiBjYWxjKHZhcigtLXBMb2NhbG5hdlN1Yi1wYWRkaW5nLWJsb2NrLXNwKSAvIDM5MCAqIDEwMHZ3KSBjYWxjKHZhcigtLXBMb2NhbG5hdlN1Yi1wYWRkaW5nLWlubGluZS1zcCkgLyAzOTAgKiAxMDB2dyk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnBMb2NhbG5hdlN1YiB7XG4gICAgICBmb250LXNpemU6IG1pbihjYWxjKHZhcigtLXBMb2NhbG5hdlN1Yi1mb250LXNpemUtcGMpICogMXB4KSwgY2FsYyh2YXIoLS1wTG9jYWxuYXZTdWItZm9udC1zaXplLXBjKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgcGFkZGluZzogbWluKGNhbGModmFyKC0tcExvY2FsbmF2U3ViLXBhZGRpbmctYmxvY2stcGMpICogMXB4KSwgY2FsYyh2YXIoLS1wTG9jYWxuYXZTdWItcGFkZGluZy1ibG9jay1wYykgLyAxNDQwICogMTAwdncpKSBtaW4oY2FsYyh2YXIoLS1wTG9jYWxuYXZTdWItcGFkZGluZy1pbmxpbmUtcGMpICogMXB4KSwgY2FsYyh2YXIoLS1wTG9jYWxuYXZTdWItcGFkZGluZy1pbmxpbmUtcGMpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICBib3JkZXItd2lkdGg6IG1pbihjYWxjKHZhcigtLXBMb2NhbG5hdlN1Yi1ib3JkZXItd2lkdGgpICogMXB4KSwgY2FsYyh2YXIoLS1wTG9jYWxuYXZTdWItYm9yZGVyLXdpZHRoKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAucExvY2FsbmF2U3ViLmlzLWFjdGl2ZSB7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1wTG9jYWxuYXZTdWItYWN0aXZlLWJvcmRlci1jb2xvcik7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcExvY2FsbmF2U3ViLWFjdGl2ZS1iYWNrZ3JvdW5kLWNvbG9yKTtcbiAgICBjb2xvcjogdmFyKC0tcExvY2FsbmF2U3ViLWFjdGl2ZS1jb2xvcik7XG4gIH1cbiAgQG1lZGlhIChhbnktaG92ZXI6IGhvdmVyKSB7XG4gICAgLnBMb2NhbG5hdlN1Yjpob3ZlciB7XG4gICAgICBib3JkZXItY29sb3I6IHZhcigtLXBMb2NhbG5hdlN1Yi1hY3RpdmUtYm9yZGVyLWNvbG9yKTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXBMb2NhbG5hdlN1Yi1hY3RpdmUtYmFja2dyb3VuZC1jb2xvcik7XG4gICAgICBjb2xvcjogdmFyKC0tcExvY2FsbmF2U3ViLWFjdGl2ZS1jb2xvcik7XG4gICAgfVxuICB9XG4gIC5wQXJjaGl2ZW5hdiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IGZpdC1jb250ZW50O1xuICAgIGZvbnQtc2l6ZTogY2FsYyh2YXIoLS1wQXJjaGl2ZW5hdi1mb250LXNpemUtc3ApIC8gMzkwICogMTAwdncpO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1wQXJjaGl2ZW5hdi1mb250LXdlaWdodCk7XG4gICAgY29sb3I6IHZhcigtLXBBcmNoaXZlbmF2LWRlZmF1bHQtY29sb3IpO1xuICAgIGJvcmRlci13aWR0aDogY2FsYyh2YXIoLS1wQXJjaGl2ZW5hdi1ib3JkZXItd2lkdGgpIC8gMzkwICogMTAwdncpO1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLXBBcmNoaXZlbmF2LWRlZmF1bHQtYm9yZGVyLWNvbG9yKTtcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiBjYWxjKHZhcigtLXBBcmNoaXZlbmF2LWJvcmRlci1yYWRpdXMpIC8gMzkwICogMTAwdncpO1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiBjYWxjKHZhcigtLXBBcmNoaXZlbmF2LWJvcmRlci1yYWRpdXMpIC8gMzkwICogMTAwdncpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXBBcmNoaXZlbmF2LWRlZmF1bHQtYmFja2dyb3VuZC1jb2xvcik7XG4gICAgcGFkZGluZzogY2FsYyh2YXIoLS1wQXJjaGl2ZW5hdi1wYWRkaW5nLWJsb2NrLXNwKSAvIDM5MCAqIDEwMHZ3KSBjYWxjKHZhcigtLXBBcmNoaXZlbmF2LXBhZGRpbmctaW5saW5lLXNwKSAvIDM5MCAqIDEwMHZ3KTtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5wQXJjaGl2ZW5hdiB7XG4gICAgICBib3JkZXItd2lkdGg6IG1pbihjYWxjKHZhcigtLXBBcmNoaXZlbmF2LWJvcmRlci13aWR0aCkgKiAxcHgpLCBjYWxjKHZhcigtLXBBcmNoaXZlbmF2LWJvcmRlci13aWR0aCkgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgICBmb250LXNpemU6IG1pbihjYWxjKHZhcigtLXBBcmNoaXZlbmF2LWZvbnQtc2l6ZS1wYykgKiAxcHgpLCBjYWxjKHZhcigtLXBBcmNoaXZlbmF2LWZvbnQtc2l6ZS1wYykgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIHBhZGRpbmc6IG1pbihjYWxjKHZhcigtLXBBcmNoaXZlbmF2LXBhZGRpbmctYmxvY2stcGMpICogMXB4KSwgY2FsYyh2YXIoLS1wQXJjaGl2ZW5hdi1wYWRkaW5nLWJsb2NrLXBjKSAvIDE0NDAgKiAxMDB2dykpIG1pbihjYWxjKHZhcigtLXBBcmNoaXZlbmF2LXBhZGRpbmctaW5saW5lLXBjKSAqIDFweCksIGNhbGModmFyKC0tcEFyY2hpdmVuYXYtcGFkZGluZy1pbmxpbmUtcGMpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiBtaW4oY2FsYyh2YXIoLS1wQXJjaGl2ZW5hdi1ib3JkZXItcmFkaXVzKSAqIDFweCksIGNhbGModmFyKC0tcEFyY2hpdmVuYXYtYm9yZGVyLXJhZGl1cykgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiBtaW4oY2FsYyh2YXIoLS1wQXJjaGl2ZW5hdi1ib3JkZXItcmFkaXVzKSAqIDFweCksIGNhbGModmFyKC0tcEFyY2hpdmVuYXYtYm9yZGVyLXJhZGl1cykgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgLnBBcmNoaXZlbmF2LmlzLWFjdGl2ZSB7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1wQXJjaGl2ZW5hdi1hY3RpdmUtYm9yZGVyLWNvbG9yKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wQXJjaGl2ZW5hdi1hY3RpdmUtYmFja2dyb3VuZC1jb2xvcik7XG4gICAgY29sb3I6IHZhcigtLXBBcmNoaXZlbmF2LWFjdGl2ZS1jb2xvcik7XG4gIH1cbiAgQG1lZGlhIChhbnktaG92ZXI6IGhvdmVyKSB7XG4gICAgLnBBcmNoaXZlbmF2OmhvdmVyIHtcbiAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tcEFyY2hpdmVuYXYtYWN0aXZlLWJvcmRlci1jb2xvcik7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wQXJjaGl2ZW5hdi1hY3RpdmUtYmFja2dyb3VuZC1jb2xvcik7XG4gICAgICBjb2xvcjogdmFyKC0tcEFyY2hpdmVuYXYtYWN0aXZlLWNvbG9yKTtcbiAgICB9XG4gIH1cbiAgLnBTcGVha2VyIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtYXV0by1mbG93OiByb3c7XG4gICAgZ2FwOiBjYWxjKHZhcigtLXBTcGVha2VyLWdhcC1zcCkgLyAzOTAgKiAxMDB2dyk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnBTcGVha2VyIHtcbiAgICAgIGdhcDogbWluKGNhbGModmFyKC0tcFNwZWFrZXItZ2FwLXBjKSAqIDFweCksIGNhbGModmFyKC0tcFNwZWFrZXItZ2FwLXBjKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAucFNwZWFrZXIgLnByb2ZpbGVfZW4ge1xuICAgIGNvbG9yOiB2YXIoLS1wU3BlYWtlci1jb2xvci1lbik7XG4gIH1cbiAgLnBGbG9hdEltYWdlIHtcbiAgICBtYXJnaW4tdG9wOiBjYWxjKHZhcigtLXBGbG9hdEltYWdlLW1hcmdpbi10b3Atc3ApIC8gMzkwICogMTAwdncpO1xuICB9XG4gIC5wRmxvYXRJbWFnZTo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGNsZWFyOiBib3RoO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnBGbG9hdEltYWdlIHtcbiAgICAgIG1hcmdpbi10b3A6IG1pbihjYWxjKHZhcigtLXBGbG9hdEltYWdlLW1hcmdpbi10b3AtcGMpICogMXB4KSwgY2FsYyh2YXIoLS1wRmxvYXRJbWFnZS1tYXJnaW4tdG9wLXBjKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAucEZsb2F0SW1hZ2UgLnBJbWFnZUNhcHRpb24ge1xuICAgIGZsb2F0OiByaWdodDtcbiAgICB3aWR0aDogNTAlO1xuICAgIHBhZGRpbmctbGVmdDogY2FsYyh2YXIoLS1wRmxvYXRJbWFnZS1nYXAtc3ApIC8gMzkwICogMTAwdncpO1xuICAgIHBhZGRpbmctYm90dG9tOiBjYWxjKHZhcigtLXBGbG9hdEltYWdlLWdhcC1zcCkgLyAzOTAgKiAxMDB2dyk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnBGbG9hdEltYWdlIC5wSW1hZ2VDYXB0aW9uIHtcbiAgICAgIHBhZGRpbmctbGVmdDogbWluKGNhbGModmFyKC0tcEZsb2F0SW1hZ2UtZ2FwLXBjKSAqIDFweCksIGNhbGModmFyKC0tcEZsb2F0SW1hZ2UtZ2FwLXBjKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgcGFkZGluZy1ib3R0b206IG1pbihjYWxjKHZhcigtLXBGbG9hdEltYWdlLWdhcC1wYykgKiAxcHgpLCBjYWxjKHZhcigtLXBGbG9hdEltYWdlLWdhcC1wYykgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgLnBOZXdzQ2F0ZWdvcnkge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiBmaXQtY29udGVudDtcbiAgICBmb250LXNpemU6IGNhbGModmFyKC0tcE5ld3NDYXRlZ29yeS1mb250LXNpemUtc3ApIC8gMzkwICogMTAwdncpO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1wTmV3c0NhdGVnb3J5LWZvbnQtd2VpZ2h0KTtcbiAgICBjb2xvcjogdmFyKC0tcE5ld3NDYXRlZ29yeS1jb2xvcik7XG4gICAgYm9yZGVyLXdpZHRoOiB2YXIoLS1wTmV3c0NhdGVnb3J5LWJvcmRlci13aWR0aCk7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLXBOZXdzQ2F0ZWdvcnktYm9yZGVyLWNvbG9yKTtcbiAgICBib3JkZXItcmFkaXVzOiBjYWxjKHZhcigtLXBOZXdzQ2F0ZWdvcnktYm9yZGVyLXJhZGl1cykgLyAzOTAgKiAxMDB2dyk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcE5ld3NDYXRlZ29yeS1iYWNrZ3JvdW5kLWNvbG9yKTtcbiAgICBwYWRkaW5nOiBjYWxjKHZhcigtLXBOZXdzQ2F0ZWdvcnktcGFkZGluZy1ibG9jay1zcCkgLyAzOTAgKiAxMDB2dykgY2FsYyh2YXIoLS1wTmV3c0NhdGVnb3J5LXBhZGRpbmctaW5saW5lLXNwKSAvIDM5MCAqIDEwMHZ3KTtcbiAgICBtaW4td2lkdGg6IGNhbGModmFyKC0tcE5ld3NDYXRlZ29yeS1taW4td2lkdGgtc3ApIC8gMzkwICogMTAwdncpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5wTmV3c0NhdGVnb3J5IHtcbiAgICAgIGZvbnQtc2l6ZTogbWluKGNhbGModmFyKC0tcE5ld3NDYXRlZ29yeS1mb250LXNpemUtcGMpICogMXB4KSwgY2FsYyh2YXIoLS1wTmV3c0NhdGVnb3J5LWZvbnQtc2l6ZS1wYykgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIHBhZGRpbmc6IG1pbihjYWxjKHZhcigtLXBOZXdzQ2F0ZWdvcnktcGFkZGluZy1ibG9jay1wYykgKiAxcHgpLCBjYWxjKHZhcigtLXBOZXdzQ2F0ZWdvcnktcGFkZGluZy1ibG9jay1wYykgLyAxNDQwICogMTAwdncpKSBtaW4oY2FsYyh2YXIoLS1wTmV3c0NhdGVnb3J5LXBhZGRpbmctaW5saW5lLXBjKSAqIDFweCksIGNhbGModmFyKC0tcE5ld3NDYXRlZ29yeS1wYWRkaW5nLWlubGluZS1wYykgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIGJvcmRlci13aWR0aDogbWluKGNhbGModmFyKC0tcE5ld3NDYXRlZ29yeS1ib3JkZXItd2lkdGgpICogMXB4KSwgY2FsYyh2YXIoLS1wTmV3c0NhdGVnb3J5LWJvcmRlci13aWR0aCkgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIG1pbi13aWR0aDogbWluKGNhbGModmFyKC0tcE5ld3NDYXRlZ29yeS1taW4td2lkdGgtcGMpICogMXB4KSwgY2FsYyh2YXIoLS1wTmV3c0NhdGVnb3J5LW1pbi13aWR0aC1wYykgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgLnBOZXdzRGF0ZSB7XG4gICAgZm9udC1zaXplOiBjYWxjKHZhcigtLXBOZXdzRGF0ZS1mb250LXNpemUtc3ApIC8gMzkwICogMTAwdncpO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1wTmV3c0RhdGUtZm9udC13ZWlnaHQpO1xuICAgIGNvbG9yOiB2YXIoLS1wTmV3c0RhdGUtY29sb3IpO1xuICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1wTmV3c0RhdGUtZm9udC1mYW1pbHkpO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1wTmV3c0RhdGUtZm9udC13ZWlnaHQpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5wTmV3c0RhdGUge1xuICAgICAgZm9udC1zaXplOiBtaW4oY2FsYyh2YXIoLS1wTmV3c0RhdGUtZm9udC1zaXplLXBjKSAqIDFweCksIGNhbGModmFyKC0tcE5ld3NEYXRlLWZvbnQtc2l6ZS1wYykgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgLnBOZXdzVGl0bGUge1xuICAgIGZvbnQtc2l6ZTogY2FsYyh2YXIoLS1wTmV3c1RpdGxlLWZvbnQtc2l6ZS1zcCkgLyAzOTAgKiAxMDB2dyk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLXBOZXdzVGl0bGUtZm9udC13ZWlnaHQpO1xuICAgIGNvbG9yOiB2YXIoLS1wTmV3c1RpdGxlLWNvbG9yKTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tcE5ld3NUaXRsZS1mb250LXdlaWdodCk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnBOZXdzVGl0bGUge1xuICAgICAgZm9udC1zaXplOiBtaW4oY2FsYyh2YXIoLS1wTmV3c1RpdGxlLWZvbnQtc2l6ZS1wYykgKiAxcHgpLCBjYWxjKHZhcigtLXBOZXdzVGl0bGUtZm9udC1zaXplLXBjKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAucE5ld3NTZXQge1xuICAgIGJvcmRlci1ib3R0b20tY29sb3I6IHZhcigtLXBOZXdzU2V0LWJvcmRlci1jb2xvcik7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogY2FsYyh2YXIoLS1wTmV3c1NldC1ib3JkZXItd2lkdGgpIC8gMzkwICogMTAwdncpO1xuICAgIGJvcmRlci1ib3R0b20tc3R5bGU6IHNvbGlkO1xuICAgIHBhZGRpbmctYmxvY2s6IGNhbGModmFyKC0tcE5ld3NTZXQtcGFkZGluZy1ibG9jay1zcCkgLyAzOTAgKiAxMDB2dyk7XG4gICAgcGFkZGluZy1pbmxpbmU6IGNhbGModmFyKC0tcE5ld3NTZXQtcGFkZGluZy1pbmxpbmUtc3ApIC8gMzkwICogMTAwdncpO1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZTogXCJkYXRlIGNhdFwiIGF1dG8gXCJ0aXRsZSB0aXRsZVwiIGF1dG8vYXV0byAxZnI7XG4gICAgY29sdW1uLWdhcDogY2FsYyh2YXIoLS1wTmV3c1NldC1nYXAtY29sLXNwKSAvIDM5MCAqIDEwMHZ3KTtcbiAgICByb3ctZ2FwOiBjYWxjKHZhcigtLXBOZXdzU2V0LWdhcC1yb3ctc3ApIC8gMzkwICogMTAwdncpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5wTmV3c1NldCB7XG4gICAgICBncmlkLXRlbXBsYXRlOiBcImRhdGUgY2F0IHRpdGxlXCIgYXV0by9hdXRvIGF1dG8gMWZyO1xuICAgICAgY29sdW1uLWdhcDogbWluKGNhbGModmFyKC0tcE5ld3NTZXQtZ2FwLXBjKSAqIDFweCksIGNhbGModmFyKC0tcE5ld3NTZXQtZ2FwLXBjKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgcm93LWdhcDogMDtcbiAgICAgIGFsaWduLWl0ZW1zOiBzdGFydDtcbiAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6IG1pbihjYWxjKHZhcigtLXBOZXdzU2V0LWJvcmRlci13aWR0aCkgKiAxcHgpLCBjYWxjKHZhcigtLXBOZXdzU2V0LWJvcmRlci13aWR0aCkgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIHBhZGRpbmctYmxvY2s6IG1pbihjYWxjKHZhcigtLXBOZXdzU2V0LXBhZGRpbmctYmxvY2stcGMpICogMXB4KSwgY2FsYyh2YXIoLS1wTmV3c1NldC1wYWRkaW5nLWJsb2NrLXBjKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgcGFkZGluZy1pbmxpbmU6IG1pbihjYWxjKHZhcigtLXBOZXdzU2V0LXBhZGRpbmctaW5saW5lLXBjKSAqIDFweCksIGNhbGModmFyKC0tcE5ld3NTZXQtcGFkZGluZy1pbmxpbmUtcGMpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIC5wTmV3c1NldCAuZGF0ZSB7XG4gICAgZ3JpZC1hcmVhOiBkYXRlO1xuICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAucE5ld3NTZXQgLmRhdGUge1xuICAgICAgYWxpZ24tc2VsZjogc3RhcnQ7XG4gICAgfVxuICB9XG4gIC5wTmV3c1NldCAucFRhZ1NldCB7XG4gICAgZ3JpZC1hcmVhOiBjYXQ7XG4gIH1cbiAgLnBOZXdzU2V0IC50aXRsZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGdyaWQtYXJlYTogdGl0bGU7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgbGluZS1oZWlnaHQ6IDE2MCU7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnBOZXdzU2V0IC50aXRsZSB7XG4gICAgICBmbGV4OiAxO1xuICAgIH1cbiAgfVxuICAucFRhZyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IGZpdC1jb250ZW50O1xuICAgIGZvbnQtc2l6ZTogY2FsYyh2YXIoLS1wVGFnLWZvbnQtc2l6ZS1zcCkgLyAzOTAgKiAxMDB2dyk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLXBUYWctZm9udC13ZWlnaHQpO1xuICAgIGNvbG9yOiB2YXIoLS1wVGFnLWRlZmF1bHQtY29sb3IpO1xuICAgIGJvcmRlci13aWR0aDogdmFyKC0tcFRhZy1ib3JkZXItd2lkdGgpO1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1wVGFnLWRlZmF1bHQtYm9yZGVyLWNvbG9yKTtcbiAgICBib3JkZXItcmFkaXVzOiBjYWxjKHZhcigtLXBUYWctYm9yZGVyLXJhZGl1cykgLyAzOTAgKiAxMDB2dyk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcFRhZy1kZWZhdWx0LWJhY2tncm91bmQtY29sb3IpO1xuICAgIHBhZGRpbmc6IGNhbGModmFyKC0tcFRhZy1wYWRkaW5nLWJsb2NrLXNwKSAvIDM5MCAqIDEwMHZ3KSBjYWxjKHZhcigtLXBUYWctcGFkZGluZy1pbmxpbmUtc3ApIC8gMzkwICogMTAwdncpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5wVGFnIHtcbiAgICAgIGZvbnQtc2l6ZTogbWluKGNhbGModmFyKC0tcFRhZy1mb250LXNpemUtcGMpICogMXB4KSwgY2FsYyh2YXIoLS1wVGFnLWZvbnQtc2l6ZS1wYykgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIHBhZGRpbmc6IG1pbihjYWxjKHZhcigtLXBUYWctcGFkZGluZy1ibG9jay1wYykgKiAxcHgpLCBjYWxjKHZhcigtLXBUYWctcGFkZGluZy1ibG9jay1wYykgLyAxNDQwICogMTAwdncpKSBtaW4oY2FsYyh2YXIoLS1wVGFnLXBhZGRpbmctaW5saW5lLXBjKSAqIDFweCksIGNhbGModmFyKC0tcFRhZy1wYWRkaW5nLWlubGluZS1wYykgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIGJvcmRlci13aWR0aDogbWluKGNhbGModmFyKC0tcFRhZy1ib3JkZXItd2lkdGgpICogMXB4KSwgY2FsYyh2YXIoLS1wVGFnLWJvcmRlci13aWR0aCkgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgQG1lZGlhIChhbnktaG92ZXI6IGhvdmVyKSB7XG4gICAgLnBUYWc6aG92ZXIge1xuICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1wVGFnLWFjdGl2ZS1ib3JkZXItY29sb3IpO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcFRhZy1hY3RpdmUtYmFja2dyb3VuZC1jb2xvcik7XG4gICAgICBjb2xvcjogdmFyKC0tcFRhZy1hY3RpdmUtY29sb3IpO1xuICAgIH1cbiAgfVxuICAucFRhZ1NldCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgZ2FwOiBjYWxjKHZhcigtLXBUYWdTZXQtZ2FwLXJvdy1zcCkgLyAzOTAgKiAxMDB2dykgY2FsYyh2YXIoLS1wVGFnU2V0LWdhcC1jb2wtc3ApIC8gMzkwICogMTAwdncpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5wVGFnU2V0IHtcbiAgICAgIGdhcDogbWluKGNhbGModmFyKC0tcFRhZ1NldC1nYXAtcm93LXBjKSAqIDFweCksIGNhbGModmFyKC0tcFRhZ1NldC1nYXAtcm93LXBjKSAvIDE0NDAgKiAxMDB2dykpIG1pbihjYWxjKHZhcigtLXBUYWdTZXQtZ2FwLWNvbC1wYykgKiAxcHgpLCBjYWxjKHZhcigtLXBUYWdTZXQtZ2FwLWNvbC1wYykgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgLnBBcnRpY2xlTGlzdCB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlOiBcImltYWdlIGRhdGVcIiBhdXRvIFwiaW1hZ2UgY2F0ZWdvcnlcIiBhdXRvIFwiaW1hZ2UgaGVhZGluZ1wiIDFmciBcInRleHQgdGV4dFwiIGF1dG8vY2FsYyh2YXIoLS1wQXJ0aWNsZUxpc3QtaW1hZ2Utd2lkdGgtc3ApIC8gMzkwICogMTAwdncpIDFmcjtcbiAgICBhbGlnbi1pdGVtczogc3RhcnQ7XG4gICAgY29sdW1uLWdhcDogY2FsYyh2YXIoLS1wQXJ0aWNsZUxpc3QtZ2FwLWNvbC1zcCkgLyAzOTAgKiAxMDB2dyk7XG4gICAgcm93LWdhcDogY2FsYyh2YXIoLS1wQXJ0aWNsZUxpc3QtZ2FwLXJvdy1zcCkgLyAzOTAgKiAxMDB2dyk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnBBcnRpY2xlTGlzdCB7XG4gICAgICBncmlkLXRlbXBsYXRlOiBcImltYWdlIGRhdGVcIiBhdXRvIFwiaW1hZ2UgY2F0ZWdvcnlcIiBhdXRvIFwiaW1hZ2UgaGVhZGluZ1wiIGF1dG8gXCJpbWFnZSB0ZXh0XCIgMWZyL21pbihjYWxjKHZhcigtLXBBcnRpY2xlTGlzdC1pbWFnZS13aWR0aC1wYykgKiAxcHgpLCBjYWxjKHZhcigtLXBBcnRpY2xlTGlzdC1pbWFnZS13aWR0aC1wYykgLyAxNDQwICogMTAwdncpKSAxZnI7XG4gICAgICBjb2x1bW4tZ2FwOiBtaW4oY2FsYyh2YXIoLS1wQXJ0aWNsZUxpc3QtZ2FwLWNvbC1wYykgKiAxcHgpLCBjYWxjKHZhcigtLXBBcnRpY2xlTGlzdC1nYXAtY29sLXBjKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgcm93LWdhcDogbWluKGNhbGModmFyKC0tcEFydGljbGVMaXN0LWdhcC1yb3ctcGMpICogMXB4KSwgY2FsYyh2YXIoLS1wQXJ0aWNsZUxpc3QtZ2FwLXJvdy1wYykgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgLnBBcnRpY2xlTGlzdCAuaW1hZ2Uge1xuICAgIGdyaWQtYXJlYTogaW1hZ2U7XG4gICAgYWxpZ24tc2VsZjogc3RhcnQ7XG4gIH1cbiAgLnBBcnRpY2xlTGlzdCAucEltYWdlIHtcbiAgICBhc3BlY3QtcmF0aW86IDMvMjtcbiAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgfVxuICAucEFydGljbGVMaXN0IC5wTmV3c0RhdGUge1xuICAgIGdyaWQtYXJlYTogZGF0ZTtcbiAgICBhbGlnbi1zZWxmOiBzdGFydDtcbiAgfVxuICAucEFydGljbGVMaXN0IC5wVGFnU2V0IHtcbiAgICBncmlkLWFyZWE6IGNhdGVnb3J5O1xuICAgIGFsaWduLXNlbGY6IHN0YXJ0O1xuICB9XG4gIC5wQXJ0aWNsZUxpc3QgLnBIZWFkaW5nU21hbGwge1xuICAgIGdyaWQtYXJlYTogaGVhZGluZztcbiAgICBhbGlnbi1zZWxmOiBzdGFydDtcbiAgfVxuICAucEFydGljbGVMaXN0IC5wVGV4dCB7XG4gICAgZ3JpZC1hcmVhOiB0ZXh0O1xuICB9XG4gIC5wUGFnaW5hdGlvbiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBib3JkZXItd2lkdGg6IGNhbGModmFyKC0tcFBhZ2luYXRpb24tYm9yZGVyLXdpZHRoKSAvIDM5MCAqIDEwMHZ3KTtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tcFBhZ2luYXRpb24tZGVmYXVsdC1ib3JkZXItY29sb3IpO1xuICAgIGJvcmRlci1yYWRpdXM6IGNhbGModmFyKC0tcFBhZ2luYXRpb24tYm9yZGVyLXJhZGl1cykgLyAzOTAgKiAxMDB2dyk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcFBhZ2luYXRpb24tZGVmYXVsdC1iYWNrZ3JvdW5kLWNvbG9yKTtcbiAgICBjb2xvcjogdmFyKC0tcFBhZ2luYXRpb24tZGVmYXVsdC1jb2xvcik7XG4gICAgZm9udC1zaXplOiBjYWxjKHZhcigtLXBQYWdpbmF0aW9uLWZvbnQtc2l6ZS1zcCkgLyAzOTAgKiAxMDB2dyk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLXBQYWdpbmF0aW9uLWZvbnQtd2VpZ2h0KTtcbiAgICBwYWRkaW5nOiBjYWxjKHZhcigtLXBQYWdpbmF0aW9uLXBhZGRpbmctYmxvY2stc3ApIC8gMzkwICogMTAwdncpIGNhbGModmFyKC0tcFBhZ2luYXRpb24tcGFkZGluZy1pbmxpbmUtc3ApIC8gMzkwICogMTAwdncpO1xuICAgIHdpZHRoOiBjYWxjKHZhcigtLXBQYWdpbmF0aW9uLXdpZHRoLXNwKSAvIDM5MCAqIDEwMHZ3KTtcbiAgICBhc3BlY3QtcmF0aW86IDEvMTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAucFBhZ2luYXRpb24ge1xuICAgICAgYm9yZGVyLXdpZHRoOiBtaW4oY2FsYyh2YXIoLS1wUGFnaW5hdGlvbi1ib3JkZXItd2lkdGgpICogMXB4KSwgY2FsYyh2YXIoLS1wUGFnaW5hdGlvbi1ib3JkZXItd2lkdGgpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICBmb250LXNpemU6IG1pbihjYWxjKHZhcigtLXBQYWdpbmF0aW9uLWZvbnQtc2l6ZS1wYykgKiAxcHgpLCBjYWxjKHZhcigtLXBQYWdpbmF0aW9uLWZvbnQtc2l6ZS1wYykgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIHBhZGRpbmc6IG1pbihjYWxjKHZhcigtLXBQYWdpbmF0aW9uLXBhZGRpbmctYmxvY2stcGMpICogMXB4KSwgY2FsYyh2YXIoLS1wUGFnaW5hdGlvbi1wYWRkaW5nLWJsb2NrLXBjKSAvIDE0NDAgKiAxMDB2dykpIG1pbihjYWxjKHZhcigtLXBQYWdpbmF0aW9uLXBhZGRpbmctaW5saW5lLXBjKSAqIDFweCksIGNhbGModmFyKC0tcFBhZ2luYXRpb24tcGFkZGluZy1pbmxpbmUtcGMpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICB3aWR0aDogbWluKGNhbGModmFyKC0tcFBhZ2luYXRpb24td2lkdGgtcGMpICogMXB4KSwgY2FsYyh2YXIoLS1wUGFnaW5hdGlvbi13aWR0aC1wYykgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgLnBQYWdpbmF0aW9uLmlzLWFjdGl2ZSB7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1wUGFnaW5hdGlvbi1hY3RpdmUtYm9yZGVyLWNvbG9yKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wUGFnaW5hdGlvbi1hY3RpdmUtYmFja2dyb3VuZC1jb2xvcik7XG4gICAgY29sb3I6IHZhcigtLXBQYWdpbmF0aW9uLWFjdGl2ZS1jb2xvcik7XG4gIH1cbiAgLnBQYWdpbmF0aW9uOm5vdCguaXMtYWN0aXZlKTpob3ZlciB7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1wUGFnaW5hdGlvbi1ob3Zlci1ib3JkZXItY29sb3IpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXBQYWdpbmF0aW9uLWhvdmVyLWJhY2tncm91bmQtY29sb3IpO1xuICAgIGNvbG9yOiB2YXIoLS1wUGFnaW5hdGlvbi1ob3Zlci1jb2xvcik7XG4gIH1cbiAgLnBQYWdpbmF0aW9uLmFycm93IGltZyB7XG4gICAgd2lkdGg6IGNhbGModmFyKC0tcFBhZ2luYXRpb24taWNvbi13aWR0aC1zcCkgLyAzOTAgKiAxMDB2dyk7XG4gICAgYXNwZWN0LXJhdGlvOiAxLzE7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnBQYWdpbmF0aW9uLmFycm93IGltZyB7XG4gICAgICB3aWR0aDogbWluKGNhbGModmFyKC0tcFBhZ2luYXRpb24taWNvbi13aWR0aC1wYykgKiAxcHgpLCBjYWxjKHZhcigtLXBQYWdpbmF0aW9uLWljb24td2lkdGgtcGMpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIC5wUGFnaW5hdGlvbi5hcnJvdy5wcmV2IGltZyB7XG4gICAgcm90YXRlOiB6IDE4MGRlZztcbiAgfVxuICAucExvY2FsbmF2VG9wIHtcbiAgICBmb250LXNpemU6IGNhbGModmFyKC0tcExvY2FsbmF2VG9wLWZvbnQtc2l6ZS1zcCkgLyAzOTAgKiAxMDB2dyk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLXBMb2NhbG5hdlRvcC1mb250LXdlaWdodCk7XG4gICAgY29sb3I6IHZhcigtLXBMb2NhbG5hdlRvcC1jb2xvci1kZWZhdWx0KTtcbiAgICBwYWRkaW5nOiBjYWxjKHZhcigtLXBMb2NhbG5hdlRvcC1wYWRkaW5nLWJsb2NrLXNwKSAvIDM5MCAqIDEwMHZ3KSBjYWxjKHZhcigtLXBMb2NhbG5hdlRvcC1wYWRkaW5nLWlubGluZS1zcCkgLyAzOTAgKiAxMDB2dyk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcExvY2FsbmF2VG9wLWJhY2tncm91bmQtY29sb3ItZGVmYXVsdCk7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogY2FsYyh2YXIoLS1wTG9jYWxuYXZUb3AtYm9yZGVyLWJvdHRvbS13aWR0aCkgLyAzOTAgKiAxMDB2dyk7XG4gICAgYm9yZGVyLWJvdHRvbS1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdmFyKC0tcExvY2FsbmF2VG9wLWJvcmRlci1ib3R0b20tY29sb3ItZGVmYXVsdCk7XG4gICAgbWluLXdpZHRoOiBjYWxjKHZhcigtLXBMb2NhbG5hdlRvcC1taW4td2lkdGgtc3ApIC8gMzkwICogMTAwdncpO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciB2YXIoLS10cmFuc2l0aW9uLXNwZWVkKSB2YXIoLS1iZXppZXIpLCBib3JkZXItYm90dG9tLWNvbG9yIHZhcigtLXRyYW5zaXRpb24tc3BlZWQpIHZhcigtLWJlemllciksIGJhY2tncm91bmQtY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1zcGVlZCkgdmFyKC0tYmV6aWVyKTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAucExvY2FsbmF2VG9wIHtcbiAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6IG1pbihjYWxjKHZhcigtLXBMb2NhbG5hdlRvcC1ib3JkZXItYm90dG9tLXdpZHRoKSAqIDFweCksIGNhbGModmFyKC0tcExvY2FsbmF2VG9wLWJvcmRlci1ib3R0b20td2lkdGgpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICBib3JkZXItYm90dG9tLXN0eWxlOiBzb2xpZDtcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6IHZhcigtLXBMb2NhbG5hdlRvcC1ib3JkZXItYm90dG9tLWNvbG9yLWRlZmF1bHQpO1xuICAgICAgbWluLXdpZHRoOiBtaW4oY2FsYyh2YXIoLS1wTG9jYWxuYXZUb3AtbWluLXdpZHRoLXBjKSAqIDFweCksIGNhbGModmFyKC0tcExvY2FsbmF2VG9wLW1pbi13aWR0aC1wYykgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnBMb2NhbG5hdlRvcCB7XG4gICAgICBmb250LXNpemU6IG1pbihjYWxjKHZhcigtLXBMb2NhbG5hdlRvcC1mb250LXNpemUtcGMpICogMXB4KSwgY2FsYyh2YXIoLS1wTG9jYWxuYXZUb3AtZm9udC1zaXplLXBjKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgcGFkZGluZzogbWluKGNhbGModmFyKC0tcExvY2FsbmF2VG9wLXBhZGRpbmctYmxvY2stcGMpICogMXB4KSwgY2FsYyh2YXIoLS1wTG9jYWxuYXZUb3AtcGFkZGluZy1ibG9jay1wYykgLyAxNDQwICogMTAwdncpKSBtaW4oY2FsYyh2YXIoLS1wTG9jYWxuYXZUb3AtcGFkZGluZy1pbmxpbmUtcGMpICogMXB4KSwgY2FsYyh2YXIoLS1wTG9jYWxuYXZUb3AtcGFkZGluZy1pbmxpbmUtcGMpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICBnYXA6IG1pbihjYWxjKHZhcigtLXBMb2NhbG5hdlRvcC1nYXAtcGMpICogMXB4KSwgY2FsYyh2YXIoLS1wTG9jYWxuYXZUb3AtZ2FwLXBjKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAucExvY2FsbmF2VG9wLmlzLWFjdGl2ZSB7XG4gICAgY29sb3I6IHZhcigtLXBMb2NhbG5hdlRvcC1jb2xvci1hY3RpdmUpO1xuICAgIGJvcmRlci1ib3R0b20tY29sb3I6IHZhcigtLXBMb2NhbG5hdlRvcC1ib3JkZXItYm90dG9tLWNvbG9yLWFjdGl2ZSk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcExvY2FsbmF2VG9wLWJhY2tncm91bmQtY29sb3ItYWN0aXZlKTtcbiAgfVxuICBAbWVkaWEgKGFueS1ob3ZlcjogaG92ZXIpIHtcbiAgICAucExvY2FsbmF2VG9wOmhvdmVyIHtcbiAgICAgIGNvbG9yOiB2YXIoLS1wTG9jYWxuYXZUb3AtY29sb3ItYWN0aXZlKTtcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6IHZhcigtLXBMb2NhbG5hdlRvcC1ib3JkZXItYm90dG9tLWNvbG9yLWFjdGl2ZSk7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wTG9jYWxuYXZUb3AtYmFja2dyb3VuZC1jb2xvci1hY3RpdmUpO1xuICAgIH1cbiAgfVxuICAucExvY2FsbmF2VG9wU2VwYXJhdG9yLCAubmF2aWdhdGlvbi5sb2NhbG5hdnRvcCAuaW5uZXIgLm92ZXJmbG93IHVsIGxpOjphZnRlciwgLmxvY2FsbmF2dG9wLmNvbXBvbmVudC50eXBlX3BhZ2VsaXN0IC5pbm5lciAub3ZlcmZsb3cgdWwgbGk6OmFmdGVyIHtcbiAgICBoZWlnaHQ6IGNhbGModmFyKC0tcExvY2FsbmF2VG9wU2VwYXJhdG9yLWhlaWdodC1zcCkgLyAzOTAgKiAxMDB2dyk7XG4gICAgd2lkdGg6IGNhbGModmFyKC0tcExvY2FsbmF2VG9wU2VwYXJhdG9yLXdpZHRoKSAvIDM5MCAqIDEwMHZ3KTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wTG9jYWxuYXZUb3BTZXBhcmF0b3ItYmFja2dyb3VuZC1jb2xvcik7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnBMb2NhbG5hdlRvcFNlcGFyYXRvciwgLm5hdmlnYXRpb24ubG9jYWxuYXZ0b3AgLmlubmVyIC5vdmVyZmxvdyB1bCBsaTo6YWZ0ZXIsIC5sb2NhbG5hdnRvcC5jb21wb25lbnQudHlwZV9wYWdlbGlzdCAuaW5uZXIgLm92ZXJmbG93IHVsIGxpOjphZnRlciB7XG4gICAgICBoZWlnaHQ6IG1pbihjYWxjKHZhcigtLXBMb2NhbG5hdlRvcFNlcGFyYXRvci1oZWlnaHQtcGMpICogMXB4KSwgY2FsYyh2YXIoLS1wTG9jYWxuYXZUb3BTZXBhcmF0b3ItaGVpZ2h0LXBjKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgd2lkdGg6IG1pbihjYWxjKHZhcigtLXBMb2NhbG5hdlRvcFNlcGFyYXRvci13aWR0aCkgKiAxcHgpLCBjYWxjKHZhcigtLXBMb2NhbG5hdlRvcFNlcGFyYXRvci13aWR0aCkgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgLnBMb2NhbG5hdkJvdHRvbSB7XG4gICAgZm9udC1zaXplOiBjYWxjKHZhcigtLXBMb2NhbG5hdkJvdHRvbS1mb250LXNpemUtc3ApIC8gMzkwICogMTAwdncpO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1wTG9jYWxuYXZCb3R0b20tZm9udC13ZWlnaHQpO1xuICAgIGNvbG9yOiB2YXIoLS1wTG9jYWxuYXZCb3R0b20tY29sb3IpO1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBhdXRvIGF1dG87XG4gICAganVzdGlmeS1jb250ZW50OiBzdGFydDtcbiAgICBnYXA6IGNhbGModmFyKC0tcExvY2FsbmF2Qm90dG9tLWdhcC1zcCkgLyAzOTAgKiAxMDB2dyk7XG4gICAgbGluZS1oZWlnaHQ6IDE1MCU7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnBMb2NhbG5hdkJvdHRvbSB7XG4gICAgICBmb250LXNpemU6IG1pbihjYWxjKHZhcigtLXBMb2NhbG5hdkJvdHRvbS1mb250LXNpemUtcGMpICogMXB4KSwgY2FsYyh2YXIoLS1wTG9jYWxuYXZCb3R0b20tZm9udC1zaXplLXBjKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgZ2FwOiBtaW4oY2FsYyh2YXIoLS1wTG9jYWxuYXZCb3R0b20tZ2FwLXBjKSAqIDFweCksIGNhbGModmFyKC0tcExvY2FsbmF2Qm90dG9tLWdhcC1wYykgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgLnBMb2NhbG5hdkJvdHRvbTo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiBjYWxjKHZhcigtLXBMb2NhbG5hdkJvdHRvbS1pY29uLXdpZHRoLXNwKSAvIDM5MCAqIDEwMHZ3KTtcbiAgICBhc3BlY3QtcmF0aW86IDEvMTtcbiAgICBtYXNrLWltYWdlOiB1cmwoL2ltYWdlcy9pY29uX2Fycm93X3Muc3ZnKTtcbiAgICBtYXNrLXNpemU6IGNvbnRhaW47XG4gICAgbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBtYXNrLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcExvY2FsbmF2Qm90dG9tLWljb24tY29sb3IpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5wTG9jYWxuYXZCb3R0b206OmJlZm9yZSB7XG4gICAgICB3aWR0aDogbWluKGNhbGModmFyKC0tcExvY2FsbmF2Qm90dG9tLWljb24td2lkdGgtcGMpICogMXB4KSwgY2FsYyh2YXIoLS1wTG9jYWxuYXZCb3R0b20taWNvbi13aWR0aC1wYykgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgLnBMb2NhbG5hdkJvdHRvbUxpc3Qge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTtcbiAgICBnYXA6IGNhbGModmFyKC0tcExvY2FsbmF2Qm90dG9tTGlzdC1nYXAtcm93LXNwKSAvIDM5MCAqIDEwMHZ3KSBjYWxjKHZhcigtLXBMb2NhbG5hdkJvdHRvbUxpc3QtZ2FwLWNvbC1zcCkgLyAzOTAgKiAxMDB2dyk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnBMb2NhbG5hdkJvdHRvbUxpc3Qge1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNCwgMWZyKTtcbiAgICAgIGdhcDogbWluKGNhbGModmFyKC0tcExvY2FsbmF2Qm90dG9tTGlzdC1nYXAtcm93LXBjKSAqIDFweCksIGNhbGModmFyKC0tcExvY2FsbmF2Qm90dG9tTGlzdC1nYXAtcm93LXBjKSAvIDE0NDAgKiAxMDB2dykpIG1pbihjYWxjKHZhcigtLXBMb2NhbG5hdkJvdHRvbUxpc3QtZ2FwLWNvbC1wYykgKiAxcHgpLCBjYWxjKHZhcigtLXBMb2NhbG5hdkJvdHRvbUxpc3QtZ2FwLWNvbC1wYykgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgLnBCcmVhZGNydW1ic1RleHQge1xuICAgIGZvbnQtc2l6ZTogY2FsYyh2YXIoLS1wQnJlYWRjcnVtYnNUZXh0LWZvbnQtc2l6ZS1zcCkgLyAzOTAgKiAxMDB2dyk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLXBCcmVhZGNydW1ic1RleHQtZm9udC13ZWlnaHQtYWN0aXZlKTtcbiAgICBjb2xvcjogdmFyKC0tcEJyZWFkY3J1bWJzVGV4dC1jb2xvci1hY3RpdmUpO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdyaWQtdGVtcGxhdGU6IFwic2xhc2ggdGV4dFwiIGF1dG8vYXV0byBhdXRvO1xuICAgIGdhcDogY2FsYyh2YXIoLS1uQnJlYWRjcnVtYnMtZ2FwLXNwKSAvIDM5MCAqIDEwMHZ3KTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAucEJyZWFkY3J1bWJzVGV4dCB7XG4gICAgICBmb250LXNpemU6IG1pbihjYWxjKHZhcigtLXBCcmVhZGNydW1ic1RleHQtZm9udC1zaXplLXBjKSAqIDFweCksIGNhbGModmFyKC0tcEJyZWFkY3J1bWJzVGV4dC1mb250LXNpemUtcGMpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICBnYXA6IG1pbihjYWxjKHZhcigtLW5CcmVhZGNydW1icy1nYXAtcGMpICogMXB4KSwgY2FsYyh2YXIoLS1uQnJlYWRjcnVtYnMtZ2FwLXBjKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAucEJyZWFkY3J1bWJzVGV4dDo6YmVmb3JlIHtcbiAgICBncmlkLWFyZWE6IHNsYXNoO1xuICAgIGNvbnRlbnQ6IFwiL1wiO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtc2l6ZTogY2FsYyh2YXIoLS1wQnJlYWRjcnVtYnNTZXBhcmF0b3ItZm9udC1zaXplLXNwKSAvIDM5MCAqIDEwMHZ3KTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tcEJyZWFkY3J1bWJzU2VwYXJhdG9yLWZvbnQtd2VpZ2h0KTtcbiAgICBjb2xvcjogdmFyKC0tcEJyZWFkY3J1bWJzU2VwYXJhdG9yLWNvbG9yKTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAucEJyZWFkY3J1bWJzVGV4dDo6YmVmb3JlIHtcbiAgICAgIGZvbnQtc2l6ZTogbWluKGNhbGModmFyKC0tcEJyZWFkY3J1bWJzU2VwYXJhdG9yLWZvbnQtc2l6ZS1wYykgKiAxcHgpLCBjYWxjKHZhcigtLXBCcmVhZGNydW1ic1NlcGFyYXRvci1mb250LXNpemUtcGMpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIC5wQnJlYWRjcnVtYnNUZXh0IGEge1xuICAgIGdyaWQtYXJlYTogdGV4dDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLXBCcmVhZGNydW1ic1RleHQtZm9udC13ZWlnaHQtZGVmYXVsdCk7XG4gICAgY29sb3I6IHZhcigtLXBCcmVhZGNydW1ic1RleHQtY29sb3ItZGVmYXVsdCk7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gIH1cbiAgQG1lZGlhIChhbnktaG92ZXI6IGhvdmVyKSB7XG4gICAgLnBCcmVhZGNydW1ic1RleHQgYTpob3ZlciB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgfVxuICB9XG4gIC5wQnJlYWRjcnVtYnNTZXBhcmF0b3Ige1xuICAgIGZvbnQtc2l6ZTogY2FsYyh2YXIoLS1wQnJlYWRjcnVtYnNUZXh0LWZvbnQtc2l6ZS1zcCkgLyAzOTAgKiAxMDB2dyk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLXBCcmVhZGNydW1ic1RleHQtZm9udC13ZWlnaHQtZGVmYXVsdCk7XG4gICAgY29sb3I6IHZhcigtLXBCcmVhZGNydW1ic1RleHQtY29sb3ItZGVmYXVsdCk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnBCcmVhZGNydW1ic1NlcGFyYXRvciB7XG4gICAgICBmb250LXNpemU6IG1pbihjYWxjKHZhcigtLXBCcmVhZGNydW1ic1RleHQtZm9udC1zaXplLXBjKSAqIDFweCksIGNhbGModmFyKC0tcEJyZWFkY3J1bWJzVGV4dC1mb250LXNpemUtcGMpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIC5wQnJlYWRjcnVtYnNTZXBhcmF0b3I6OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogY2FsYyh2YXIoLS1wUS1pY29uLXdpZHRoLXNwKSAvIDM5MCAqIDEwMHZ3KTtcbiAgICBhc3BlY3QtcmF0aW86IDEvMTtcbiAgICBiYWNrZ3JvdW5kOiBjZW50ZXIvY29udGFpbiBuby1yZXBlYXQgdXJsKC9pbWFnZXMvaWNvbl9xLnN2Zyk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnBCcmVhZGNydW1ic1NlcGFyYXRvcjo6YmVmb3JlIHtcbiAgICAgIHdpZHRoOiBtaW4oY2FsYyh2YXIoLS1wUS1pY29uLXdpZHRoLXBjKSAqIDFweCksIGNhbGModmFyKC0tcFEtaWNvbi13aWR0aC1wYykgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgLnBBcnRpY2xlTmF2IHtcbiAgICBmb250LXNpemU6IGNhbGModmFyKC0tcEFydGljbGVOYXYtZm9udC1zaXplLXNwKSAvIDM5MCAqIDEwMHZ3KTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tcEFydGljbGVOYXYtZm9udC13ZWlnaHQpO1xuICAgIGNvbG9yOiB2YXIoLS1wQXJ0aWNsZU5hdi1jb2xvcik7XG4gICAgcGFkZGluZzogY2FsYyh2YXIoLS1wQXJ0aWNsZU5hdi1wYWRkaW5nLWJsb2NrLXNwKSAvIDM5MCAqIDEwMHZ3KSBjYWxjKHZhcigtLXBBcnRpY2xlTmF2LXBhZGRpbmctaW5saW5lLXNwKSAvIDM5MCAqIDEwMHZ3KTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wQXJ0aWNsZU5hdi1iYWNrZ3JvdW5kLWNvbG9yKTtcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiBjYWxjKHZhcigtLXBBcnRpY2xlTmF2LWJvcmRlci1ib3R0b20td2lkdGgpIC8gMzkwICogMTAwdncpO1xuICAgIGJvcmRlci1ib3R0b20tc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1ib3R0b20tY29sb3I6IHZhcigtLXBBcnRpY2xlTmF2LWJvcmRlci1ib3R0b20tY29sb3IpO1xuICAgIGdhcDogY2FsYyh2YXIoLS1wQXJ0aWNsZU5hdi1nYXAtc3ApIC8gMzkwICogMTAwdncpO1xuICAgIGRpc3BsYXk6IGJsb2NrIGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBhdXRvIDFmcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogc3RhcnQ7XG4gICAgbGluZS1oZWlnaHQ6IDE1MCU7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnBBcnRpY2xlTmF2IHtcbiAgICAgIGZvbnQtc2l6ZTogbWluKGNhbGModmFyKC0tcEFydGljbGVOYXYtZm9udC1zaXplLXBjKSAqIDFweCksIGNhbGModmFyKC0tcEFydGljbGVOYXYtZm9udC1zaXplLXBjKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgcGFkZGluZzogbWluKGNhbGModmFyKC0tcEFydGljbGVOYXYtcGFkZGluZy1ibG9jay1wYykgKiAxcHgpLCBjYWxjKHZhcigtLXBBcnRpY2xlTmF2LXBhZGRpbmctYmxvY2stcGMpIC8gMTQ0MCAqIDEwMHZ3KSkgbWluKGNhbGModmFyKC0tcEFydGljbGVOYXYtcGFkZGluZy1pbmxpbmUtcGMpICogMXB4KSwgY2FsYyh2YXIoLS1wQXJ0aWNsZU5hdi1wYWRkaW5nLWlubGluZS1wYykgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6IG1pbihjYWxjKHZhcigtLXBBcnRpY2xlTmF2LWJvcmRlci1ib3R0b20td2lkdGgpICogMXB4KSwgY2FsYyh2YXIoLS1wQXJ0aWNsZU5hdi1ib3JkZXItYm90dG9tLXdpZHRoKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgZ2FwOiBtaW4oY2FsYyh2YXIoLS1wQXJ0aWNsZU5hdi1nYXAtcGMpICogMXB4KSwgY2FsYyh2YXIoLS1wQXJ0aWNsZU5hdi1nYXAtcGMpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIC5wQXJ0aWNsZU5hdjo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiBjYWxjKHZhcigtLXBBcnRpY2xlTmF2LWljb24td2lkdGgtc3ApIC8gMzkwICogMTAwdncpO1xuICAgIGFzcGVjdC1yYXRpbzogMS8xO1xuICAgIGJhY2tncm91bmQ6IGNlbnRlci9jb250YWluIG5vLXJlcGVhdCB1cmwoL2ltYWdlcy9pY29uX2FydGljbGVuYXYuc3ZnKTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAucEFydGljbGVOYXY6OmJlZm9yZSB7XG4gICAgICB3aWR0aDogbWluKGNhbGModmFyKC0tcEFydGljbGVOYXYtaWNvbi13aWR0aC1wYykgKiAxcHgpLCBjYWxjKHZhcigtLXBBcnRpY2xlTmF2LWljb24td2lkdGgtcGMpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIC5wQ2F0ZWdvcnlCdXR0b24ge1xuICAgIGZvbnQtc2l6ZTogY2FsYyh2YXIoLS1wQ2F0ZWdvcnlCdXR0b24tZm9udC1zaXplLXNwKSAvIDM5MCAqIDEwMHZ3KTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tcENhdGVnb3J5QnV0dG9uLWZvbnQtd2VpZ2h0KTtcbiAgICBwYWRkaW5nOiBjYWxjKHZhcigtLXBDYXRlZ29yeUJ1dHRvbi1wYWRkaW5nLWJsb2NrLXNwKSAvIDM5MCAqIDEwMHZ3KSBjYWxjKHZhcigtLXBDYXRlZ29yeUJ1dHRvbi1wYWRkaW5nLWlubGluZS1zcCkgLyAzOTAgKiAxMDB2dyk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcENhdGVnb3J5QnV0dG9uLWRlZmF1bHQtYmFja2dyb3VuZC1jb2xvcik7XG4gICAgd2lkdGg6IGZpdC1jb250ZW50O1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5wQ2F0ZWdvcnlCdXR0b24ge1xuICAgICAgZm9udC1zaXplOiBtaW4oY2FsYyh2YXIoLS1wQ2F0ZWdvcnlCdXR0b24tZm9udC1zaXplLXBjKSAqIDFweCksIGNhbGModmFyKC0tcENhdGVnb3J5QnV0dG9uLWZvbnQtc2l6ZS1wYykgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIHBhZGRpbmc6IG1pbihjYWxjKHZhcigtLXBDYXRlZ29yeUJ1dHRvbi1wYWRkaW5nLWJsb2NrLXBjKSAqIDFweCksIGNhbGModmFyKC0tcENhdGVnb3J5QnV0dG9uLXBhZGRpbmctYmxvY2stcGMpIC8gMTQ0MCAqIDEwMHZ3KSkgbWluKGNhbGModmFyKC0tcENhdGVnb3J5QnV0dG9uLXBhZGRpbmctaW5saW5lLXBjKSAqIDFweCksIGNhbGModmFyKC0tcENhdGVnb3J5QnV0dG9uLXBhZGRpbmctaW5saW5lLXBjKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICBAbWVkaWEgKGFueS1ob3ZlcjogaG92ZXIpIHtcbiAgICAucENhdGVnb3J5QnV0dG9uOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXBDYXRlZ29yeUJ1dHRvbi1kZWZhdWx0LWJhY2tncm91bmQtY29sb3ItaG92ZXIpO1xuICAgIH1cbiAgfVxuICAucENhdGVnb3J5QnV0dG9uLmlzLWFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcENhdGVnb3J5QnV0dG9uLWFjdGl2ZS1iYWNrZ3JvdW5kLWNvbG9yKTtcbiAgICBjb2xvcjogdmFyKC0tcENhdGVnb3J5QnV0dG9uLWFjdGl2ZS1jb2xvcik7XG4gIH1cbiAgLnBQcmljZSB7XG4gICAgY29sb3I6IHZhcigtLXBQcmljZS1jb2xvciwgI0U3MzExRCk7XG4gICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZmFtaWx5LWVuKTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tcFByaWNlLWRhdGEtZm9udC13ZWlnaHQpO1xuICAgIGxpbmUtaGVpZ2h0OiAxNDAlO1xuICAgIGZvbnQtc2l6ZTogY2FsYyh2YXIoLS1wUHJpY2UtZGF0YS1mb250LXNpemUtc3ApIC8gMzkwICogMTAwdncpO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IGNhbGModmFyKC0tcFByaWNlLWdhcC1zcC1uYXJyb3cpIC8gMzkwICogMTAwdncpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5wUHJpY2Uge1xuICAgICAgZm9udC1zaXplOiBtaW4oY2FsYyh2YXIoLS1wUHJpY2UtZGF0YS1mb250LXNpemUtcGMpICogMXB4KSwgY2FsYyh2YXIoLS1wUHJpY2UtZGF0YS1mb250LXNpemUtcGMpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICBnYXA6IG1pbihjYWxjKHZhcigtLXBQcmljZS1nYXAtcGMtbmFycm93KSAqIDFweCksIGNhbGModmFyKC0tcFByaWNlLWdhcC1wYy1uYXJyb3cpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIC5wUHJpY2Ugc3BhbiB7XG4gICAgZm9udC1zaXplOiBjYWxjKHZhcigtLXBQcmljZS11bml0LWZvbnQtc2l6ZS1zcCkgLyAzOTAgKiAxMDB2dyk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLXBQcmljZS11bml0LWZvbnQtd2VpZ2h0KTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAucFByaWNlIHNwYW4ge1xuICAgICAgZm9udC1zaXplOiBtaW4oY2FsYyh2YXIoLS1wUHJpY2UtdW5pdC1mb250LXNpemUtcGMpICogMXB4KSwgY2FsYyh2YXIoLS1wUHJpY2UtdW5pdC1mb250LXNpemUtcGMpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIC5wQ29uZGl0aW9uIHtcbiAgICBjb2xvcjogY2FsYyh2YXIoLS1wUHJpY2UtY29uZGl0aW9uLWNvbG9yKSAvIDM5MCAqIDEwMHZ3KTtcbiAgICBmb250LXNpemU6IGNhbGModmFyKC0tcFByaWNlLWNvbmRpdGlvbi1mb250LXNpemUtc3ApIC8gMzkwICogMTAwdncpO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1wUHJpY2UtY29uZGl0aW9uLWZvbnQtd2VpZ2h0KTtcbiAgICBwYWRkaW5nOiBjYWxjKHZhcigtLXBQcmljZS1jb25kaXRpb24tcGFkZGluZy1ibG9jay1zcCkgLyAzOTAgKiAxMDB2dykgY2FsYyh2YXIoLS1wUHJpY2UtY29uZGl0aW9uLXBhZGRpbmctaW5saW5lLXNwKSAvIDM5MCAqIDEwMHZ3KTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1wUHJpY2UtY29uZGl0aW9uLWJhY2tncm91bmQpO1xuICAgIGJvcmRlci1yYWRpdXM6IGNhbGModmFyKC0tcFByaWNlLWNvbmRpdGlvbi1ib3JkZXItcmFkaXVzKSAvIDM5MCAqIDEwMHZ3KTtcbiAgICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAucENvbmRpdGlvbiB7XG4gICAgICBmb250LXNpemU6IG1pbihjYWxjKHZhcigtLXBQcmljZS1jb25kaXRpb24tZm9udC1zaXplLXBjKSAqIDFweCksIGNhbGModmFyKC0tcFByaWNlLWNvbmRpdGlvbi1mb250LXNpemUtcGMpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICBwYWRkaW5nOiBtaW4oY2FsYyh2YXIoLS1wUHJpY2UtY29uZGl0aW9uLXBhZGRpbmctYmxvY2stcGMpICogMXB4KSwgY2FsYyh2YXIoLS1wUHJpY2UtY29uZGl0aW9uLXBhZGRpbmctYmxvY2stcGMpIC8gMTQ0MCAqIDEwMHZ3KSkgbWluKGNhbGModmFyKC0tcFByaWNlLWNvbmRpdGlvbi1wYWRkaW5nLWlubGluZS1wYykgKiAxcHgpLCBjYWxjKHZhcigtLXBQcmljZS1jb25kaXRpb24tcGFkZGluZy1pbmxpbmUtcGMpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICBib3JkZXItcmFkaXVzOiBtaW4oY2FsYyh2YXIoLS1wUHJpY2UtY29uZGl0aW9uLWJvcmRlci1yYWRpdXMpICogMXB4KSwgY2FsYyh2YXIoLS1wUHJpY2UtY29uZGl0aW9uLWJvcmRlci1yYWRpdXMpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIC5wUHJpY2VMYWJlbCB7XG4gICAgcGFkZGluZzogY2FsYyh2YXIoLS1wUHJpY2UtbGFiZWwtcGFkZGluZy1ibG9jay1zcCkgLyAzOTAgKiAxMDB2dykgY2FsYyh2YXIoLS1wUHJpY2UtbGFiZWwtcGFkZGluZy1pbmxpbmUtc3ApIC8gMzkwICogMTAwdncpO1xuICAgIGNvbG9yOiB2YXIoLS1wUHJpY2UtbGFiZWwtY29sb3IsICk7XG4gICAgZm9udC1zaXplOiBjYWxjKHZhcigtLXBQcmljZS1sYWJlbC1mb250LXNpemUtc3ApIC8gMzkwICogMTAwdncpO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1wUHJpY2UtbGFiZWwtZm9udC13ZWlnaHQpO1xuICAgIGxpbmUtaGVpZ2h0OiAxNDAlO1xuICAgIGJvcmRlci1ib3R0b206IGNhbGModmFyKC0tcENlbGwtYm9yZGVyLWJvdHRvbSkgLyAzOTAgKiAxMDB2dykgc29saWQgdmFyKC0tcFByaWNlLWxhYmVsLWJvcmRlci1jb2xvcik7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tcFByaWNlLWJhY2tncm91bmQpO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnBQcmljZUxhYmVsIHtcbiAgICAgIGZvbnQtc2l6ZTogbWluKGNhbGModmFyKC0tcFByaWNlLWxhYmVsLWZvbnQtc2l6ZS1wYykgKiAxcHgpLCBjYWxjKHZhcigtLXBQcmljZS1sYWJlbC1mb250LXNpemUtcGMpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICBwYWRkaW5nOiBtaW4oY2FsYyh2YXIoLS1wUHJpY2UtbGFiZWwtcGFkZGluZy1ibG9jay1wYykgKiAxcHgpLCBjYWxjKHZhcigtLXBQcmljZS1sYWJlbC1wYWRkaW5nLWJsb2NrLXBjKSAvIDE0NDAgKiAxMDB2dykpIG1pbihjYWxjKHZhcigtLXBQcmljZS1sYWJlbC1wYWRkaW5nLWlubGluZS1wYykgKiAxcHgpLCBjYWxjKHZhcigtLXBQcmljZS1sYWJlbC1wYWRkaW5nLWlubGluZS1wYykgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIGJvcmRlci1ib3R0b206IG1pbihjYWxjKHZhcigtLXBDZWxsLWJvcmRlci1ib3R0b20pICogMXB4KSwgY2FsYyh2YXIoLS1wQ2VsbC1ib3JkZXItYm90dG9tKSAvIDE0NDAgKiAxMDB2dykpIHNvbGlkIHZhcigtLXBQcmljZS1sYWJlbC1ib3JkZXItY29sb3IpO1xuICAgIH1cbiAgfVxuICAucEJhZGdlIHtcbiAgICBib3JkZXI6IGNhbGModmFyKC0tcFByaWNlLWJhZGdlLWJvcmRlcikgLyAzOTAgKiAxMDB2dykgc29saWQgdmFyKC0tcFByaWNlLWJhZGdlLWJvcmRlci1jb2xvcik7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tcFByaWNlLWJhY2tncm91bmQpO1xuICAgIHBhZGRpbmc6IGNhbGModmFyKC0tcFByaWNlLWJhZGdlLXBhZGRpbmctYmxvY2stc3ApIC8gMzkwICogMTAwdncpIGNhbGModmFyKC0tcFByaWNlLWJhZGdlLXBhZGRpbmctaW5saW5lLXNwKSAvIDM5MCAqIDEwMHZ3KTtcbiAgICBjb2xvcjogdmFyKC0tcFByaWNlLWJhZGdlLWNvbG9yKTtcbiAgICBmb250LXNpemU6IGNhbGModmFyKC0tcFByaWNlLWJhZGdlLWZvbnQtc2l6ZS1zcCkgLyAzOTAgKiAxMDB2dyk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLXBQcmljZS1iYWRnZS1mb250LXdlaWdodCk7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5wQmFkZ2Uge1xuICAgICAgZm9udC1zaXplOiBtaW4oY2FsYyh2YXIoLS1wUHJpY2UtYmFkZ2UtZm9udC1zaXplLXBjKSAqIDFweCksIGNhbGModmFyKC0tcFByaWNlLWJhZGdlLWZvbnQtc2l6ZS1wYykgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIHBhZGRpbmc6IG1pbihjYWxjKHZhcigtLXBQcmljZS1iYWRnZS1wYWRkaW5nLWJsb2NrLXBjKSAqIDFweCksIGNhbGModmFyKC0tcFByaWNlLWJhZGdlLXBhZGRpbmctYmxvY2stcGMpIC8gMTQ0MCAqIDEwMHZ3KSkgbWluKGNhbGModmFyKC0tcFByaWNlLWJhZGdlLXBhZGRpbmctaW5saW5lLXBjKSAqIDFweCksIGNhbGModmFyKC0tcFByaWNlLWJhZGdlLXBhZGRpbmctaW5saW5lLXBjKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgYm9yZGVyOiBtaW4oY2FsYyh2YXIoLS1wUHJpY2UtYmFkZ2UtYm9yZGVyKSAqIDFweCksIGNhbGModmFyKC0tcFByaWNlLWJhZGdlLWJvcmRlcikgLyAxNDQwICogMTAwdncpKSBzb2xpZCB2YXIoLS1wUHJpY2UtYmFkZ2UtYm9yZGVyLWNvbG9yKTtcbiAgICB9XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnBQcmljZUxhYmVsUm93IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgfVxuICAgIC5wUHJpY2VMYWJlbFJvdyAucFByaWNlTGFiZWw6bGFzdC1jaGlsZCB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cbiAgLnBQcmljZVJvdyB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcbiAgICBnYXA6IGNhbGModmFyKC0tcFByaWNlLWdhcC1zcC1uYXJyb3cpIC8gMzkwICogMTAwdncpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5wUHJpY2VSb3cge1xuICAgICAgZ2FwOiBtaW4oY2FsYyh2YXIoLS1wUHJpY2UtZ2FwLXBjLW5hcnJvdykgKiAxcHgpLCBjYWxjKHZhcigtLXBQcmljZS1nYXAtcGMtbmFycm93KSAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAucFByaWNlUm93IC5yb3cge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIH1cbiAgLnBTZXJ2aWNlSWNvbiB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlOiBcImljb24gdGV4dCAuXCIgYXV0by9jYWxjKDE2IC8gMzkwICogMTAwdncpIDFmciBjYWxjKDE2IC8gMzkwICogMTAwdncpO1xuICAgIG1pbi13aWR0aDogY2FsYygxMzQgLyAzOTAgKiAxMDB2dyk7XG4gICAgcGFkZGluZzogY2FsYyh2YXIoLS1wU2VydmljZUljb24tcGFkZGluZy1ibG9jay1zcCkgLyAzOTAgKiAxMDB2dykgY2FsYyh2YXIoLS1wU2VydmljZUljb24tcGFkZGluZy1pbmxpbmUtc3ApIC8gMzkwICogMTAwdncpO1xuICAgIGJvcmRlci1yYWRpdXM6IGNhbGModmFyKC0tYm9yZGVyLXJhZGl1cy1waWxsKSAvIDM5MCAqIDEwMHZ3KTtcbiAgICBib3JkZXItd2lkdGg6IDFweDtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXBTZXJ2aWNlSWNvbi1iYWNrZ3JvdW5kKTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAucFNlcnZpY2VJY29uIHtcbiAgICAgIGdyaWQtdGVtcGxhdGU6IFwiaWNvbiB0ZXh0IC5cIiBhdXRvL21pbigyNHB4LCBjYWxjKDI0IC8gMTQ0MCAqIDEwMHZ3KSkgMWZyIG1pbigyNHB4LCBjYWxjKDI0IC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICBtaW4td2lkdGg6IG1pbigyODBweCwgY2FsYygyODAgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIHBhZGRpbmc6IG1pbihjYWxjKHZhcigtLXBTZXJ2aWNlSWNvbi1wYWRkaW5nLWJsb2NrLXBjKSAqIDFweCksIGNhbGModmFyKC0tcFNlcnZpY2VJY29uLXBhZGRpbmctYmxvY2stcGMpIC8gMTQ0MCAqIDEwMHZ3KSkgbWluKGNhbGModmFyKC0tcFNlcnZpY2VJY29uLXBhZGRpbmctaW5saW5lLXBjKSAqIDFweCksIGNhbGModmFyKC0tcFNlcnZpY2VJY29uLXBhZGRpbmctaW5saW5lLXBjKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAucFNlcnZpY2VJY29uOjpiZWZvcmUge1xuICAgIGdyaWQtYXJlYTogaWNvbjtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiBjYWxjKDE2IC8gMzkwICogMTAwdncpO1xuICAgIGFzcGVjdC1yYXRpbzogMS8xO1xuICAgIG1hc2stc2l6ZTogY29udGFpbjtcbiAgICBtYXNrLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIG1hc2stcG9zaXRpb246IGNlbnRlcjtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAucFNlcnZpY2VJY29uOjpiZWZvcmUge1xuICAgICAgd2lkdGg6IG1pbigyNHB4LCBjYWxjKDI0IC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIC5wU2VydmljZUljb24gc3BhbiB7XG4gICAgZ3JpZC1hcmVhOiB0ZXh0O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB0cmFuc2xhdGU6IDAgMC4xZW07XG4gICAgZm9udC1zaXplOiBjYWxjKHZhcigtLXBTZXJ2aWNlSWNvbi1mb250LXNpemUtc3ApIC8gMzkwICogMTAwdncpO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1wU2VydmljZUljb24tZm9udC13ZWlnaHQpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5wU2VydmljZUljb24gc3BhbiB7XG4gICAgICBmb250LXNpemU6IG1pbihjYWxjKHZhcigtLXBTZXJ2aWNlSWNvbi1mb250LXNpemUtcGMpICogMXB4KSwgY2FsYyh2YXIoLS1wU2VydmljZUljb24tZm9udC1zaXplLXBjKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAucFNlcnZpY2VJY29uLnRvb2wge1xuICAgIGNvbG9yOiB2YXIoLS1wU2VydmljZUljb24tY29sb3ItcmVkKTtcbiAgfVxuICAucFNlcnZpY2VJY29uLnRvb2w6OmJlZm9yZSB7XG4gICAgbWFzay1pbWFnZTogdXJsKC9pbWFnZXMvaWNvbl90b29scy5zdmcpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXBTZXJ2aWNlSWNvbi1jb2xvci1yZWQpO1xuICB9XG4gIC5wU2VydmljZUljb24uaG9tZXRvb2xzIHtcbiAgICBjb2xvcjogdmFyKC0tcFNlcnZpY2VJY29uLWNvbG9yLXR1cnF1b2lzZSk7XG4gIH1cbiAgLnBTZXJ2aWNlSWNvbi5ob21ldG9vbHM6OmJlZm9yZSB7XG4gICAgbWFzay1pbWFnZTogdXJsKC9pbWFnZXMvaWNvbl9ob21ldG9vbHMuc3ZnKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wU2VydmljZUljb24tY29sb3ItdHVycXVvaXNlKTtcbiAgfVxuICAucFNlcnZpY2VJY29uLnBhcmtpbmcge1xuICAgIGNvbG9yOiB2YXIoLS1wU2VydmljZUljb24tY29sb3ItYmx1ZSk7XG4gIH1cbiAgLnBTZXJ2aWNlSWNvbi5wYXJraW5nOjpiZWZvcmUge1xuICAgIG1hc2staW1hZ2U6IHVybCgvaW1hZ2VzL2ljb25fcGFya2luZy5zdmcpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXBTZXJ2aWNlSWNvbi1jb2xvci1ibHVlKTtcbiAgfVxuICAucFNlcnZpY2VJY29uLnN0b3JlIHtcbiAgICBjb2xvcjogdmFyKC0tcFNlcnZpY2VJY29uLWNvbG9yLXB1cnBsZSk7XG4gIH1cbiAgLnBTZXJ2aWNlSWNvbi5zdG9yZTo6YmVmb3JlIHtcbiAgICBtYXNrLWltYWdlOiB1cmwoL2ltYWdlcy9pY29uX3N0b3JlLnN2Zyk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcFNlcnZpY2VJY29uLWNvbG9yLXB1cnBsZSk7XG4gIH1cbiAgLnBTZXJ2aWNlSWNvbi5yZXBhaXIge1xuICAgIGNvbG9yOiB2YXIoLS1wU2VydmljZUljb24tY29sb3ItcmVkKTtcbiAgfVxuICAucFNlcnZpY2VJY29uLnJlcGFpcjo6YmVmb3JlIHtcbiAgICBtYXNrLWltYWdlOiB1cmwoL2ltYWdlcy9pY29uX3JlcGFpci5zdmcpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXBTZXJ2aWNlSWNvbi1jb2xvci1yZWQpO1xuICB9XG4gIC5wU2VydmljZUljb24uc2FsZSB7XG4gICAgY29sb3I6IHZhcigtLXBTZXJ2aWNlSWNvbi1jb2xvci1ncmVlbik7XG4gIH1cbiAgLnBTZXJ2aWNlSWNvbi5zYWxlOjpiZWZvcmUge1xuICAgIG1hc2staW1hZ2U6IHVybCgvaW1hZ2VzL2ljb25fY2FydC5zdmcpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXBTZXJ2aWNlSWNvbi1jb2xvci1ncmVlbik7XG4gIH1cbiAgLnBTZXJ2aWNlSWNvbi5haXJjb24ge1xuICAgIGNvbG9yOiB2YXIoLS1wU2VydmljZUljb24tY29sb3ItcHVycGxlKTtcbiAgfVxuICAucFNlcnZpY2VJY29uLmFpcmNvbjo6YmVmb3JlIHtcbiAgICBtYXNrLWltYWdlOiB1cmwoL2ltYWdlcy9pY29uX2FpcmNvbi5zdmcpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXBTZXJ2aWNlSWNvbi1jb2xvci1wdXJwbGUpO1xuICB9XG4gIC5wU2VydmljZUljb24uZnVybml0dXJlIHtcbiAgICBjb2xvcjogdmFyKC0tcFNlcnZpY2VJY29uLWNvbG9yLWdyZWVuKTtcbiAgfVxuICAucFNlcnZpY2VJY29uLmZ1cm5pdHVyZTo6YmVmb3JlIHtcbiAgICBtYXNrLWltYWdlOiB1cmwoL2ltYWdlcy9pY29uX2Z1cm5pdHVyZS5zdmcpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXBTZXJ2aWNlSWNvbi1jb2xvci1ncmVlbik7XG4gIH1cbiAgLnBTZXJ2aWNlSWNvbi5hZ3JpdG9vbHMge1xuICAgIGNvbG9yOiB2YXIoLS1wU2VydmljZUljb24tY29sb3ItZ3JleSk7XG4gIH1cbiAgLnBTZXJ2aWNlSWNvbi5hZ3JpdG9vbHM6OmJlZm9yZSB7XG4gICAgbWFzay1pbWFnZTogdXJsKC9pbWFnZXMvaWNvbl9hZ3JpdG9vbHMuc3ZnKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wU2VydmljZUljb24tY29sb3ItZ3JleSk7XG4gIH1cbn1cbkBsYXllciBjb21wb25lbnRzIHtcbiAgLmNvbXBvbmVudC50eXBlX3BhZ2V0aXRsZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY1BhZ2VUaXRsZS1iYWNrZ3JvdW5kLWNvbG9yKTtcbiAgfVxuICAuY29tcG9uZW50LnR5cGVfcGFnZXRpdGxlIC5pbm5lciB7XG4gICAgcGFkZGluZy1sZWZ0OiBjYWxjKHZhcigtLWNvbnRhaW5lci1wYWRkaW5nLXNwKSAvIDM5MCAqIDEwMHZ3KTtcbiAgICBwYWRkaW5nLXJpZ2h0OiBjYWxjKHZhcigtLWNvbnRhaW5lci1wYWRkaW5nLXNwKSAvIDM5MCAqIDEwMHZ3KTtcbiAgICBwYWRkaW5nLWJsb2NrOiBjYWxjKHZhcigtLWNQYWdlVGl0bGUtcGFkZGluZy1ibG9jay1zcCkgLyAzOTAgKiAxMDB2dyk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLmNvbXBvbmVudC50eXBlX3BhZ2V0aXRsZSAuaW5uZXIge1xuICAgICAgcGFkZGluZy1sZWZ0OiB1bnNldDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IHVuc2V0O1xuICAgICAgbWFyZ2luLWlubGluZTogYXV0bztcbiAgICAgIHdpZHRoOiBtaW4oMTI0MHB4LCBjYWxjKDEyNDAgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLmNvbXBvbmVudC50eXBlX3BhZ2V0aXRsZSAuaW5uZXIge1xuICAgICAgcGFkZGluZy1ibG9jazogbWluKGNhbGModmFyKC0tY1BhZ2VUaXRsZS1wYWRkaW5nLWJsb2NrLXBjKSAqIDFweCksIGNhbGModmFyKC0tY1BhZ2VUaXRsZS1wYWRkaW5nLWJsb2NrLXBjKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAuY29tcG9uZW50LnR5cGVfZXh0ZW5kZWR0aXRsZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBtaW4taGVpZ2h0OiBjYWxjKHZhcigtLWNFeHRlbmRlZFRpdGxlLW1pbi1oZWlnaHQtc3ApIC8gMzkwICogMTAwdncpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5jb21wb25lbnQudHlwZV9leHRlbmRlZHRpdGxlIHtcbiAgICAgIG1pbi1oZWlnaHQ6IG1pbihjYWxjKHZhcigtLWNFeHRlbmRlZFRpdGxlLW1pbi1oZWlnaHQtcGMpICogMXB4KSwgY2FsYyh2YXIoLS1jRXh0ZW5kZWRUaXRsZS1taW4taGVpZ2h0LXBjKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAuY29tcG9uZW50LnR5cGVfZXh0ZW5kZWR0aXRsZSAuaW5uZXIge1xuICAgIHBhZGRpbmctbGVmdDogY2FsYyh2YXIoLS1jb250YWluZXItcGFkZGluZy1zcCkgLyAzOTAgKiAxMDB2dyk7XG4gICAgcGFkZGluZy1yaWdodDogY2FsYyh2YXIoLS1jb250YWluZXItcGFkZGluZy1zcCkgLyAzOTAgKiAxMDB2dyk7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHBhZGRpbmctYmxvY2s6IGNhbGModmFyKC0tY0V4dGVuZGVkVGl0bGUtcGFkZGluZy1ibG9jay1zcCkgLyAzOTAgKiAxMDB2dyk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLmNvbXBvbmVudC50eXBlX2V4dGVuZGVkdGl0bGUgLmlubmVyIHtcbiAgICAgIHBhZGRpbmctbGVmdDogdW5zZXQ7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiB1bnNldDtcbiAgICAgIG1hcmdpbi1pbmxpbmU6IGF1dG87XG4gICAgICB3aWR0aDogbWluKDEyNDBweCwgY2FsYygxMjQwIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5jb21wb25lbnQudHlwZV9leHRlbmRlZHRpdGxlIC5pbm5lciB7XG4gICAgICBwYWRkaW5nLWJsb2NrOiBtaW4oY2FsYyh2YXIoLS1jRXh0ZW5kZWRUaXRsZS1wYWRkaW5nLWJsb2NrLXBjKSAqIDFweCksIGNhbGModmFyKC0tY0V4dGVuZGVkVGl0bGUtcGFkZGluZy1ibG9jay1wYykgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgLmNvbXBvbmVudC50eXBlX2V4dGVuZGVkdGl0bGUgLmlubmVyIC5pbWFnZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGluc2V0OiAwO1xuICB9XG4gIC5jb21wb25lbnQudHlwZV9leHRlbmRlZHRpdGxlIC5pbm5lciAuaW1hZ2UgaW1nIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgb2JqZWN0LXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgYm9yZGVyLXJhZGl1czogMCAwIGNhbGMoNDAgLyAzOTAgKiAxMDB2dykgMDtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuY29tcG9uZW50LnR5cGVfZXh0ZW5kZWR0aXRsZSAuaW5uZXIgLmltYWdlIGltZyB7XG4gICAgICBib3JkZXItcmFkaXVzOiAwIDAgbWluKDk2cHgsIGNhbGMoOTYgLyAxNDQwICogMTAwdncpKSAwO1xuICAgIH1cbiAgfVxuICAuY29tcG9uZW50LnR5cGVfZXh0ZW5kZWR0aXRsZSAuaW5uZXIgLnRleHQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAyO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IGNhbGModmFyKC0tY0V4dGVuZGVkVGl0bGUtZ2FwLXNwKSAvIDM5MCAqIDEwMHZ3KTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuY29tcG9uZW50LnR5cGVfZXh0ZW5kZWR0aXRsZSAuaW5uZXIgLnRleHQge1xuICAgICAgZ2FwOiBtaW4oY2FsYyh2YXIoLS1jRXh0ZW5kZWRUaXRsZS1nYXAtcGMpICogMXB4KSwgY2FsYyh2YXIoLS1jRXh0ZW5kZWRUaXRsZS1nYXAtcGMpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIC5jb21wb25lbnQudHlwZV9leHRlbmRlZHRpdGxlIC5pbm5lciAudGV4dCAucFBhZ2VUaXRsZSB7XG4gICAgY29sb3I6IHZhcigtLWNFeHRlbmRlZFRpdGxlLWNvbG9yKTtcbiAgfVxuICAuY29tcG9uZW50LnR5cGVfZXh0ZW5kZWR0aXRsZSAuaW5uZXIgLnRleHQgc3BhbiB7XG4gICAgZm9udC1zaXplOiBjYWxjKHZhcigtLWNFeHRlbmRlZFRpdGxlLXN1YnRpdGxlLWZvbnQtc2l6ZS1zcCkgLyAzOTAgKiAxMDB2dyk7XG4gICAgY29sb3I6IHZhcigtLWNFeHRlbmRlZFRpdGxlLXN1YnRpdGxlLWNvbG9yKTtcbiAgICBmb250LWZhbWlseTogdmFyKC0tY0V4dGVuZGVkVGl0bGUtc3VidGl0bGUtZm9udC1mYW1pbHkpO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1jRXh0ZW5kZWRUaXRsZS1zdWJ0aXRsZS1mb250LXdlaWdodCk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLmNvbXBvbmVudC50eXBlX2V4dGVuZGVkdGl0bGUgLmlubmVyIC50ZXh0IHNwYW4ge1xuICAgICAgZm9udC1zaXplOiBtaW4oY2FsYyh2YXIoLS1jRXh0ZW5kZWRUaXRsZS1zdWJ0aXRsZS1mb250LXNpemUtcGMpICogMXB4KSwgY2FsYyh2YXIoLS1jRXh0ZW5kZWRUaXRsZS1zdWJ0aXRsZS1mb250LXNpemUtcGMpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIC5jb21wb25lbnQudHlwZV9jYXRjaGNvcHkge1xuICAgIG1hcmdpbi10b3A6IGNhbGModmFyKC0tY0NhdGNoY29weS1tYXJnaW4tdG9wLXNwKSAvIDM5MCAqIDEwMHZ3KTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuY29tcG9uZW50LnR5cGVfY2F0Y2hjb3B5IHtcbiAgICAgIG1hcmdpbi10b3A6IG1pbihjYWxjKHZhcigtLWNDYXRjaGNvcHktbWFyZ2luLXRvcC1wYykgKiAxcHgpLCBjYWxjKHZhcigtLWNDYXRjaGNvcHktbWFyZ2luLXRvcC1wYykgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgLmNvbXBvbmVudC50eXBlX2NhdGNoY29weSAuaW5uZXIge1xuICAgIHBhZGRpbmctbGVmdDogY2FsYyh2YXIoLS1jb250YWluZXItcGFkZGluZy1zcCkgLyAzOTAgKiAxMDB2dyk7XG4gICAgcGFkZGluZy1yaWdodDogY2FsYyh2YXIoLS1jb250YWluZXItcGFkZGluZy1zcCkgLyAzOTAgKiAxMDB2dyk7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLWF1dG8tZmxvdzogcm93O1xuICAgIGdhcDogY2FsYyh2YXIoLS1jQ2F0Y2hjb3B5LWdhcC1yb3ctc3ApIC8gMzkwICogMTAwdncpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5jb21wb25lbnQudHlwZV9jYXRjaGNvcHkgLmlubmVyIHtcbiAgICAgIHBhZGRpbmctbGVmdDogdW5zZXQ7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiB1bnNldDtcbiAgICAgIG1hcmdpbi1pbmxpbmU6IGF1dG87XG4gICAgICB3aWR0aDogbWluKDEwMjZweCwgY2FsYygxMDI2IC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5jb21wb25lbnQudHlwZV9jYXRjaGNvcHkgLmlubmVyIHtcbiAgICAgIGdyaWQtdGVtcGxhdGU6IFwiaGVhZGluZyBoZWFkaW5nXCIgYXV0byBcImxlYWQgdGV4dFwiIGF1dG8gXCJidXR0b24gYnV0dG9uXCIgYXV0by9taW4oY2FsYyh2YXIoLS1jQ2F0Y2hjb3B5LWxlYWQtd2lkdGgpICogMXB4KSwgY2FsYyh2YXIoLS1jQ2F0Y2hjb3B5LWxlYWQtd2lkdGgpIC8gMTQ0MCAqIDEwMHZ3KSkgMWZyO1xuICAgICAgZ2FwOiBtaW4oY2FsYyh2YXIoLS1jQ2F0Y2hjb3B5LWdhcC1yb3ctcGMpICogMXB4KSwgY2FsYyh2YXIoLS1jQ2F0Y2hjb3B5LWdhcC1yb3ctcGMpIC8gMTQ0MCAqIDEwMHZ3KSkgbWluKGNhbGModmFyKC0tY0NhdGNoY29weS1nYXAtY29sKSAqIDFweCksIGNhbGModmFyKC0tY0NhdGNoY29weS1nYXAtY29sKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuY29tcG9uZW50LnR5cGVfY2F0Y2hjb3B5IC5pbm5lciAucEhlYWRpbmdNZWRpdW0ge1xuICAgICAgZ3JpZC1hcmVhOiBoZWFkaW5nO1xuICAgIH1cbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuY29tcG9uZW50LnR5cGVfY2F0Y2hjb3B5IC5pbm5lciAucExlYWQge1xuICAgICAgZ3JpZC1hcmVhOiBsZWFkO1xuICAgIH1cbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuY29tcG9uZW50LnR5cGVfY2F0Y2hjb3B5IC5pbm5lciAucFRleHQge1xuICAgICAgZ3JpZC1hcmVhOiB0ZXh0O1xuICAgIH1cbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuY29tcG9uZW50LnR5cGVfY2F0Y2hjb3B5IC5pbm5lciAucEJ1dHRvbiB7XG4gICAgICBncmlkLWFyZWE6IGJ1dHRvbjtcbiAgICB9XG4gIH1cbiAgLmNvbXBvbmVudC50eXBlX2NhdGNoY29weV9pbWFnZSB7XG4gICAgbWFyZ2luLXRvcDogY2FsYyh2YXIoLS1jQ2F0Y2hjb3B5SW1hZ2UtbWFyZ2luLXRvcC1zcCkgLyAzOTAgKiAxMDB2dyk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLmNvbXBvbmVudC50eXBlX2NhdGNoY29weV9pbWFnZSB7XG4gICAgICBtYXJnaW4tdG9wOiBtaW4oY2FsYyh2YXIoLS1jQ2F0Y2hjb3B5SW1hZ2UtbWFyZ2luLXRvcC1wYykgKiAxcHgpLCBjYWxjKHZhcigtLWNDYXRjaGNvcHlJbWFnZS1tYXJnaW4tdG9wLXBjKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAuY29tcG9uZW50LnR5cGVfY2F0Y2hjb3B5X2ltYWdlIC5pbm5lciB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLWF1dG8tZmxvdzogcm93O1xuICAgIGdhcDogY2FsYyh2YXIoLS1jQ2F0Y2hjb3B5SW1hZ2UtZ2FwLXJvdy1zcCkgLyAzOTAgKiAxMDB2dyk7XG4gICAgYWxpZ24taXRlbXM6IHN0YXJ0O1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5jb21wb25lbnQudHlwZV9jYXRjaGNvcHlfaW1hZ2UgLmlubmVyIHtcbiAgICAgIGdyaWQtdGVtcGxhdGU6IFwiLiB0ZXh0IGltYWdlIGltYWdlXCIgYXV0by8xZnIgbWluKGNhbGModmFyKC0tY0NhdGNoY29weUltYWdlLXRleHQtd2lkdGgpICogMXB4KSwgY2FsYyh2YXIoLS1jQ2F0Y2hjb3B5SW1hZ2UtdGV4dC13aWR0aCkgLyAxNDQwICogMTAwdncpKSBtaW4oY2FsYyh2YXIoLS1jQ2F0Y2hjb3B5SW1hZ2UtdGV4dC13aWR0aCkgKiAxcHgpLCBjYWxjKHZhcigtLWNDYXRjaGNvcHlJbWFnZS10ZXh0LXdpZHRoKSAvIDE0NDAgKiAxMDB2dykpIDFmcjtcbiAgICAgIGdhcDogdW5zZXQ7XG4gICAgfVxuICB9XG4gIC5jb21wb25lbnQudHlwZV9jYXRjaGNvcHlfaW1hZ2UgLmlubmVyIC5pbWFnZSB7XG4gICAgcGFkZGluZy1sZWZ0OiBjYWxjKHZhcigtLWNvbnRhaW5lci1wYWRkaW5nLXNwKSAvIDM5MCAqIDEwMHZ3KTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuY29tcG9uZW50LnR5cGVfY2F0Y2hjb3B5X2ltYWdlIC5pbm5lciAuaW1hZ2Uge1xuICAgICAgZ3JpZC1hcmVhOiBpbWFnZTtcbiAgICAgIHBhZGRpbmctbGVmdDogdW5zZXQ7XG4gICAgfVxuICB9XG4gIC5jb21wb25lbnQudHlwZV9jYXRjaGNvcHlfaW1hZ2UgLmlubmVyIC50ZXh0IHtcbiAgICBwYWRkaW5nLWlubGluZTogY2FsYyh2YXIoLS1jb250YWluZXItcGFkZGluZy1zcCkgLyAzOTAgKiAxMDB2dyk7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLWF1dG8tZmxvdzogcm93O1xuICAgIGdhcDogY2FsYyh2YXIoLS1jQ2F0Y2hjb3B5SW1hZ2UtZ2FwLXJvdy1zcCkgLyAzOTAgKiAxMDB2dyk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLmNvbXBvbmVudC50eXBlX2NhdGNoY29weV9pbWFnZSAuaW5uZXIgLnRleHQge1xuICAgICAgZ3JpZC1hcmVhOiB0ZXh0O1xuICAgICAgcGFkZGluZy1pbmxpbmU6IHVuc2V0O1xuICAgICAgZ2FwOiBtaW4oY2FsYyh2YXIoLS1jQ2F0Y2hjb3B5SW1hZ2UtZ2FwLXJvdy1wYykgKiAxcHgpLCBjYWxjKHZhcigtLWNDYXRjaGNvcHlJbWFnZS1nYXAtcm93LXBjKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAuY29tcG9uZW50LnR5cGVfY2F0Y2hjb3B5X2ltYWdlIC5pbm5lcjpub3QoLnJldmVyc2UpIC5wSW1hZ2Uge1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiB1bnNldDtcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogdW5zZXQ7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLmNvbXBvbmVudC50eXBlX2NhdGNoY29weV9pbWFnZSAuaW5uZXI6bm90KC5yZXZlcnNlKSAudGV4dCB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiBtaW4oY2FsYyh2YXIoLS1jQ2F0Y2hjb3B5SW1hZ2UtZ2FwLWNvbCkgKiAxcHgpLCBjYWxjKHZhcigtLWNDYXRjaGNvcHlJbWFnZS1nYXAtY29sKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuY29tcG9uZW50LnR5cGVfY2F0Y2hjb3B5X2ltYWdlIC5pbm5lci5yZXZlcnNlIHtcbiAgICAgIGdyaWQtdGVtcGxhdGU6IFwiaW1hZ2UgaW1hZ2UgdGV4dCAuXCIgYXV0by8xZnIgbWluKGNhbGModmFyKC0tY0NhdGNoY29weUltYWdlLXRleHQtd2lkdGgpICogMXB4KSwgY2FsYyh2YXIoLS1jQ2F0Y2hjb3B5SW1hZ2UtdGV4dC13aWR0aCkgLyAxNDQwICogMTAwdncpKSBtaW4oY2FsYyh2YXIoLS1jQ2F0Y2hjb3B5SW1hZ2UtdGV4dC13aWR0aCkgKiAxcHgpLCBjYWxjKHZhcigtLWNDYXRjaGNvcHlJbWFnZS10ZXh0LXdpZHRoKSAvIDE0NDAgKiAxMDB2dykpIDFmcjtcbiAgICB9XG4gIH1cbiAgLmNvbXBvbmVudC50eXBlX2NhdGNoY29weV9pbWFnZSAuaW5uZXIucmV2ZXJzZSAuaW1hZ2Uge1xuICAgIHBhZGRpbmctcmlnaHQ6IGNhbGModmFyKC0tY29udGFpbmVyLXBhZGRpbmctc3ApIC8gMzkwICogMTAwdncpO1xuICAgIHBhZGRpbmctbGVmdDogdW5zZXQ7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLmNvbXBvbmVudC50eXBlX2NhdGNoY29weV9pbWFnZSAuaW5uZXIucmV2ZXJzZSAuaW1hZ2Uge1xuICAgICAgcGFkZGluZy1yaWdodDogdW5zZXQ7XG4gICAgfVxuICB9XG4gIC5jb21wb25lbnQudHlwZV9jYXRjaGNvcHlfaW1hZ2UgLmlubmVyLnJldmVyc2UgLnBJbWFnZSB7XG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogdW5zZXQ7XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogdW5zZXQ7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLmNvbXBvbmVudC50eXBlX2NhdGNoY29weV9pbWFnZSAuaW5uZXIucmV2ZXJzZSAudGV4dCB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IG1pbihjYWxjKHZhcigtLWNDYXRjaGNvcHlJbWFnZS1nYXAtY29sKSAqIDFweCksIGNhbGModmFyKC0tY0NhdGNoY29weUltYWdlLWdhcC1jb2wpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIC5jb21wb25lbnQudHlwZV9jYXRjaGNvcHlfaW1hZ2VfYmcge1xuICAgIG1hcmdpbi10b3A6IGNhbGModmFyKC0tY0NhdGNoY29weUltYWdlQmctbWFyZ2luLXRvcC1zcCkgLyAzOTAgKiAxMDB2dyk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLmNvbXBvbmVudC50eXBlX2NhdGNoY29weV9pbWFnZV9iZyB7XG4gICAgICBtYXJnaW4tdG9wOiBtaW4oY2FsYyh2YXIoLS1jQ2F0Y2hjb3B5SW1hZ2VCZy1tYXJnaW4tdG9wLXBjKSAqIDFweCksIGNhbGModmFyKC0tY0NhdGNoY29weUltYWdlQmctbWFyZ2luLXRvcC1wYykgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLmNvbXBvbmVudC50eXBlX2NhdGNoY29weV9pbWFnZV9iZyAuaW5uZXIge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgcGFkZGluZy1sZWZ0OiBjYWxjKHZhcigtLWNvbnRhaW5lci1wYWRkaW5nLXNwKSAvIDM5MCAqIDEwMHZ3KTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IGNhbGModmFyKC0tY29udGFpbmVyLXBhZGRpbmctc3ApIC8gMzkwICogMTAwdncpO1xuICAgICAgcGFkZGluZy1ib3R0b206IG1pbihjYWxjKHZhcigtLWNDYXRjaGNvcHlJbWFnZUJnLWltYWdlLXBvc2l0aW9uLXBjLWJvdHRvbSkgKiAxcHgpLCBjYWxjKHZhcigtLWNDYXRjaGNvcHlJbWFnZUJnLWltYWdlLXBvc2l0aW9uLXBjLWJvdHRvbSkgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuY29tcG9uZW50LnR5cGVfY2F0Y2hjb3B5X2ltYWdlX2JnIC5pbm5lciB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IHVuc2V0O1xuICAgICAgcGFkZGluZy1yaWdodDogdW5zZXQ7XG4gICAgICBtYXJnaW4taW5saW5lOiBhdXRvO1xuICAgICAgd2lkdGg6IG1pbigxMDI2cHgsIGNhbGMoMTAyNiAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAuY29tcG9uZW50LnR5cGVfY2F0Y2hjb3B5X2ltYWdlX2JnIC5pbm5lcjpub3QoLnJldmVyc2UpIC50ZXh0IHtcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiBjYWxjKHZhcigtLWNDYXRjaGNvcHlJbWFnZUJnLWJvcmRlci1yYWRpdXMtc3ApIC8gMzkwICogMTAwdncpO1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IGNhbGModmFyKC0tY0NhdGNoY29weUltYWdlQmctYm9yZGVyLXJhZGl1cy1zcCkgLyAzOTAgKiAxMDB2dyk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLmNvbXBvbmVudC50eXBlX2NhdGNoY29weV9pbWFnZV9iZyAuaW5uZXI6bm90KC5yZXZlcnNlKSAudGV4dCB7XG4gICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiBtaW4oY2FsYyh2YXIoLS1jQ2F0Y2hjb3B5SW1hZ2VCZy1ib3JkZXItcmFkaXVzLXBjKSAqIDFweCksIGNhbGModmFyKC0tY0NhdGNoY29weUltYWdlQmctYm9yZGVyLXJhZGl1cy1wYykgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IG1pbihjYWxjKHZhcigtLWNDYXRjaGNvcHlJbWFnZUJnLWJvcmRlci1yYWRpdXMtcGMpICogMXB4KSwgY2FsYyh2YXIoLS1jQ2F0Y2hjb3B5SW1hZ2VCZy1ib3JkZXItcmFkaXVzLXBjKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuY29tcG9uZW50LnR5cGVfY2F0Y2hjb3B5X2ltYWdlX2JnIC5pbm5lci5yZXZlcnNlIC5pbWFnZSB7XG4gICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICB9XG4gIH1cbiAgLmNvbXBvbmVudC50eXBlX2NhdGNoY29weV9pbWFnZV9iZyAuaW5uZXIucmV2ZXJzZSAudGV4dCB7XG4gICAgbWFyZ2luLWxlZnQ6IHVuc2V0O1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogY2FsYyh2YXIoLS1jQ2F0Y2hjb3B5SW1hZ2VCZy1ib3JkZXItcmFkaXVzLXNwKSAvIDM5MCAqIDEwMHZ3KTtcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogY2FsYyh2YXIoLS1jQ2F0Y2hjb3B5SW1hZ2VCZy1ib3JkZXItcmFkaXVzLXNwKSAvIDM5MCAqIDEwMHZ3KTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuY29tcG9uZW50LnR5cGVfY2F0Y2hjb3B5X2ltYWdlX2JnIC5pbm5lci5yZXZlcnNlIC50ZXh0IHtcbiAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiBtaW4oY2FsYyh2YXIoLS1jQ2F0Y2hjb3B5SW1hZ2VCZy1ib3JkZXItcmFkaXVzLXBjKSAqIDFweCksIGNhbGModmFyKC0tY0NhdGNoY29weUltYWdlQmctYm9yZGVyLXJhZGl1cy1wYykgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiBtaW4oY2FsYyh2YXIoLS1jQ2F0Y2hjb3B5SW1hZ2VCZy1ib3JkZXItcmFkaXVzLXBjKSAqIDFweCksIGNhbGModmFyKC0tY0NhdGNoY29weUltYWdlQmctYm9yZGVyLXJhZGl1cy1wYykgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgbGVmdDogMDtcbiAgICB9XG4gIH1cbiAgLmNvbXBvbmVudC50eXBlX2NhdGNoY29weV9pbWFnZV9iZyAuaW5uZXIgLmltYWdlIHtcbiAgICBwYWRkaW5nLWlubGluZTogY2FsYyh2YXIoLS1jb250YWluZXItcGFkZGluZy1zcCkgLyAzOTAgKiAxMDB2dyk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLmNvbXBvbmVudC50eXBlX2NhdGNoY29weV9pbWFnZV9iZyAuaW5uZXIgLmltYWdlIHtcbiAgICAgIHBhZGRpbmctaW5saW5lOiB1bnNldDtcbiAgICAgIHdpZHRoOiBtaW4oY2FsYyh2YXIoLS1jQ2F0Y2hjb3B5SW1hZ2VCZy1pbWFnZS13aWR0aC1wYykgKiAxcHgpLCBjYWxjKHZhcigtLWNDYXRjaGNvcHlJbWFnZUJnLWltYWdlLXdpZHRoLXBjKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAuY29tcG9uZW50LnR5cGVfY2F0Y2hjb3B5X2ltYWdlX2JnIC5pbm5lciAudGV4dCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY0NhdGNoY29weUltYWdlQmctYmFja2dvdW5kLWNvbG9yKTtcbiAgICBwYWRkaW5nLWlubGluZTogY2FsYyh2YXIoLS1jQ2F0Y2hjb3B5SW1hZ2VCZy1wYWRkaW5nLWlubGluZS1zcCkgLyAzOTAgKiAxMDB2dyk7XG4gICAgcGFkZGluZy1ibG9jazogY2FsYyh2YXIoLS1jQ2F0Y2hjb3B5SW1hZ2VCZy1wYWRkaW5nLWJsb2NrLXNwKSAvIDM5MCAqIDEwMHZ3KTtcbiAgICB3aWR0aDogY2FsYyh2YXIoLS1jQ2F0Y2hjb3B5SW1hZ2VCZy10ZXh0LXdpZHRoLXNwKSAvIDM5MCAqIDEwMHZ3KTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luLXRvcDogY2FsYyh2YXIoLS1jQ2F0Y2hjb3B5SW1hZ2VCZy10ZXh0LXBvc2l0aW9uLXNwLXRvcCkgLyAzOTAgKiAxMDB2dyk7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLWF1dG8tZmxvdzogcm93O1xuICAgIGdhcDogY2FsYyh2YXIoLS1jQ2F0Y2hjb3B5SW1hZ2VCZy1nYXAtcm93LXNwKSAvIDM5MCAqIDEwMHZ3KTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuY29tcG9uZW50LnR5cGVfY2F0Y2hjb3B5X2ltYWdlX2JnIC5pbm5lciAudGV4dCB7XG4gICAgICBwYWRkaW5nLWlubGluZTogbWluKGNhbGModmFyKC0tY0NhdGNoY29weUltYWdlQmctcGFkZGluZy1pbmxpbmUtcGMpICogMXB4KSwgY2FsYyh2YXIoLS1jQ2F0Y2hjb3B5SW1hZ2VCZy1wYWRkaW5nLWlubGluZS1wYykgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIHBhZGRpbmctYmxvY2s6IG1pbihjYWxjKHZhcigtLWNDYXRjaGNvcHlJbWFnZUJnLXBhZGRpbmctYmxvY2stcGMpICogMXB4KSwgY2FsYyh2YXIoLS1jQ2F0Y2hjb3B5SW1hZ2VCZy1wYWRkaW5nLWJsb2NrLXBjKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgbWFyZ2luLXRvcDogdW5zZXQ7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICByaWdodDogMDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIHdpZHRoOiBtaW4oY2FsYyh2YXIoLS1jQ2F0Y2hjb3B5SW1hZ2VCZy10ZXh0LXdpZHRoLXBjKSAqIDFweCksIGNhbGModmFyKC0tY0NhdGNoY29weUltYWdlQmctdGV4dC13aWR0aC1wYykgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IG1pbihjYWxjKHZhcigtLWNDYXRjaGNvcHlJbWFnZUJnLWJvcmRlci1yYWRpdXMtcGMpICogMXB4KSwgY2FsYyh2YXIoLS1jQ2F0Y2hjb3B5SW1hZ2VCZy1ib3JkZXItcmFkaXVzLXBjKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgZ2FwOiBtaW4oY2FsYyh2YXIoLS1jQ2F0Y2hjb3B5SW1hZ2VCZy1nYXAtcm93LXBjKSAqIDFweCksIGNhbGModmFyKC0tY0NhdGNoY29weUltYWdlQmctZ2FwLXJvdy1wYykgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgLmNvbXBvbmVudC50eXBlX2NvbnZlcnNpb24ge1xuICAgIHBhZGRpbmctbGVmdDogY2FsYyh2YXIoLS1jb250YWluZXItcGFkZGluZy1zcCkgLyAzOTAgKiAxMDB2dyk7XG4gICAgcGFkZGluZy1yaWdodDogY2FsYyh2YXIoLS1jb250YWluZXItcGFkZGluZy1zcCkgLyAzOTAgKiAxMDB2dyk7XG4gICAgbWFyZ2luLXRvcDogY2FsYyh2YXIoLS1jQ29udmVyc2lvbi1tYXJnaW4tdG9wLXNwKSAvIDM5MCAqIDEwMHZ3KTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuY29tcG9uZW50LnR5cGVfY29udmVyc2lvbiB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IHVuc2V0O1xuICAgICAgcGFkZGluZy1yaWdodDogdW5zZXQ7XG4gICAgICBtYXJnaW4taW5saW5lOiBhdXRvO1xuICAgICAgd2lkdGg6IG1pbigxMDI2cHgsIGNhbGMoMTAyNiAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuY29tcG9uZW50LnR5cGVfY29udmVyc2lvbiB7XG4gICAgICBtYXJnaW4tdG9wOiBtaW4oY2FsYyh2YXIoLS1jQ29udmVyc2lvbi1tYXJnaW4tdG9wLXBjKSAqIDFweCksIGNhbGModmFyKC0tY0NvbnZlcnNpb24tbWFyZ2luLXRvcC1wYykgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgLmNvbXBvbmVudC50eXBlX2NvbnZlcnNpb24gLmlubmVyIHtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNDb252ZXJzaW9uLWJhY2tncm91bmQtY29sb3IpO1xuICAgIGJvcmRlci1yYWRpdXM6IGNhbGModmFyKC0tY0NvbnZlcnNpb24tYm9yZGVyLXJhZGl1cy1zcCkgLyAzOTAgKiAxMDB2dyk7XG4gICAgcGFkZGluZzogY2FsYyh2YXIoLS1jQ29udmVyc2lvbi1wYWRkaW5nLWJsb2NrLXNwKSAvIDM5MCAqIDEwMHZ3KSBjYWxjKHZhcigtLWNDb252ZXJzaW9uLXBhZGRpbmctaW5saW5lLXNwKSAvIDM5MCAqIDEwMHZ3KTtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtYXV0by1mbG93OiByb3c7XG4gICAgZ2FwOiBjYWxjKHZhcigtLWNDb252ZXJzaW9uLWdhcC1yb3ctc3ApIC8gMzkwICogMTAwdncpO1xuICAgIGp1c3RpZnktaXRlbXM6IGNlbnRlcjtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLmNvbXBvbmVudC50eXBlX2NvbnZlcnNpb24gLmlubmVyIHtcbiAgICAgIHBhZGRpbmc6IG1pbihjYWxjKHZhcigtLWNDb252ZXJzaW9uLXBhZGRpbmctYmxvY2stcGMpICogMXB4KSwgY2FsYyh2YXIoLS1jQ29udmVyc2lvbi1wYWRkaW5nLWJsb2NrLXBjKSAvIDE0NDAgKiAxMDB2dykpIG1pbihjYWxjKHZhcigtLWNDb252ZXJzaW9uLXBhZGRpbmctaW5saW5lLXBjKSAqIDFweCksIGNhbGModmFyKC0tY0NvbnZlcnNpb24tcGFkZGluZy1pbmxpbmUtcGMpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICBib3JkZXItcmFkaXVzOiBtaW4oY2FsYyh2YXIoLS1jQ29udmVyc2lvbi1ib3JkZXItcmFkaXVzLXBjKSAqIDFweCksIGNhbGModmFyKC0tY0NvbnZlcnNpb24tYm9yZGVyLXJhZGl1cy1wYykgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIGdhcDogbWluKGNhbGModmFyKC0tY0NvbnZlcnNpb24tZ2FwLXJvdy1wYykgKiAxcHgpLCBjYWxjKHZhcigtLWNDb252ZXJzaW9uLWdhcC1yb3ctcGMpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICBqdXN0aWZ5LWl0ZW1zOiBzdGFydDtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgfVxuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5jb21wb25lbnQudHlwZV9jb252ZXJzaW9uIC5pbm5lci5jZW50ZXIge1xuICAgICAganVzdGlmeS1pdGVtczogY2VudGVyO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuY29tcG9uZW50LnR5cGVfY29udmVyc2lvbiAuaW5uZXIucmlnaHQge1xuICAgICAganVzdGlmeS1pdGVtczogZW5kO1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgfVxuICB9XG4gIC5jb21wb25lbnQudHlwZV9jb252ZXJzaW9uIC5pbm5lciAuaW1hZ2UgaW1nIHtcbiAgICB3aWR0aDogY2FsYyh2YXIoLS1jQ29udmVyc2lvbi1sb2dvLXdpZHRoLXNwKSAvIDM5MCAqIDEwMHZ3KTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuY29tcG9uZW50LnR5cGVfY29udmVyc2lvbiAuaW5uZXIgLmltYWdlIGltZyB7XG4gICAgICB3aWR0aDogbWluKGNhbGModmFyKC0tY0NvbnZlcnNpb24tbG9nby13aWR0aC1wYykgKiAxcHgpLCBjYWxjKHZhcigtLWNDb252ZXJzaW9uLWxvZ28td2lkdGgtcGMpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIC5jb21wb25lbnQudHlwZV9jb252ZXJzaW9uIC5pbm5lciAucENvbnZlcnNpb25IZWFkaW5nIHtcbiAgICBjb2xvcjogdmFyKC0tY0NvbnZlcnNpb24tY29sb3IpO1xuICB9XG4gIC5jb21wb25lbnQudHlwZV9jb252ZXJzaW9uIC5pbm5lciAucFRleHQge1xuICAgIGNvbG9yOiB2YXIoLS1jQ29udmVyc2lvbi1jb2xvcik7XG4gIH1cbiAgLmNvbXBvbmVudC50eXBlX2Jsb2d0aXRsZSB7XG4gICAgcGFkZGluZy10b3A6IGNhbGMoNjAgLyAzOTAgKiAxMDB2dyk7XG4gICAgcGFkZGluZy1yaWdodDogY2FsYygzMCAvIDM5MCAqIDEwMHZ3KTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuY29tcG9uZW50LnR5cGVfYmxvZ3RpdGxlIHtcbiAgICAgIHBhZGRpbmctdG9wOiBtaW4oMTgwcHgsIGNhbGMoMTgwIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiBtaW4oOTBweCwgY2FsYyg5MCAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAuY29tcG9uZW50LnR5cGVfYmxvZ3RpdGxlIC5pbm5lciB7XG4gICAgcGFkZGluZzogY2FsYygzMiAvIDM5MCAqIDEwMHZ3KSBjYWxjKDI0IC8gMzkwICogMTAwdncpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXN1cmZhY2UpO1xuICAgIGJvcmRlci1yYWRpdXM6IDAgdmFyKC0tYm9yZGVyLXJhZGl1cy1tZWRpdW0pIHZhcigtLWJvcmRlci1yYWRpdXMtbWVkaXVtKSAwO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5jb21wb25lbnQudHlwZV9ibG9ndGl0bGUgLmlubmVyIHtcbiAgICAgIHBhZGRpbmctaW5saW5lOiB1bnNldDtcbiAgICAgIHBhZGRpbmctYmxvY2s6IG1pbigxMDBweCwgY2FsYygxMDAgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgLmNvbXBvbmVudC50eXBlX2Jsb2d0aXRsZSAuaW5uZXIgaDEge1xuICAgIGZvbnQtc2l6ZTogY2FsYyh2YXIoLS1mcy14bCkgLyAzOTAgKiAxMDB2dyk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC14c21hbGwpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5jb21wb25lbnQudHlwZV9ibG9ndGl0bGUgLmlubmVyIGgxIHtcbiAgICAgIGZvbnQtc2l6ZTogbWluKGNhbGModmFyKC0tZnMteHh4eGwpICogMXB4KSwgY2FsYyh2YXIoLS1mcy14eHh4bCkgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDUwdncgLSBtaW4oNjMwcHgsIGNhbGMoNjMwIC8gMTQ0MCAqIDEwMHZ3KSkpO1xuICAgICAgcGFkZGluZy1yaWdodDogbWluKDIwMHB4LCBjYWxjKDIwMCAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAuY29tcG9uZW50LnR5cGVfYmxvZ3RpdGxlIC5pbm5lciAuY2F0IHtcbiAgICBtYXJnaW4tdG9wOiBjYWxjKDE2IC8gMzkwICogMTAwdncpO1xuICAgIG1hcmdpbi1sZWZ0OiAtMC4xZW07XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLmNvbXBvbmVudC50eXBlX2Jsb2d0aXRsZSAuaW5uZXIgLmNhdCB7XG4gICAgICBtYXJnaW4tdG9wOiBtaW4oMjRweCwgY2FsYygyNCAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgbWFyZ2luLWxlZnQ6IGNhbGMoNTB2dyAtIG1pbig2MzBweCwgY2FsYyg2MzAgLyAxNDQwICogMTAwdncpKSk7XG4gICAgICB0cmFuc2xhdGU6IG1pbigtNnB4LCBjYWxjKC02IC8gMTQ0MCAqIDEwMHZ3KSkgMDtcbiAgICB9XG4gIH1cbiAgLmNvbXBvbmVudC50eXBlX2Jsb2d0aXRsZSAuaW5uZXIgLmNhdCBhIHtcbiAgICBtYXJnaW4tbGVmdDogMC41ZW07XG4gIH1cbiAgLmNvbXBvbmVudC50eXBlX2hlYWRpbmcgLmlubmVyIHtcbiAgICBwYWRkaW5nLWxlZnQ6IGNhbGModmFyKC0tY29udGFpbmVyLXBhZGRpbmctc3ApIC8gMzkwICogMTAwdncpO1xuICAgIHBhZGRpbmctcmlnaHQ6IGNhbGModmFyKC0tY29udGFpbmVyLXBhZGRpbmctc3ApIC8gMzkwICogMTAwdncpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5jb21wb25lbnQudHlwZV9oZWFkaW5nIC5pbm5lciB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IHVuc2V0O1xuICAgICAgcGFkZGluZy1yaWdodDogdW5zZXQ7XG4gICAgICBtYXJnaW4taW5saW5lOiBhdXRvO1xuICAgICAgd2lkdGg6IG1pbigxMDI2cHgsIGNhbGMoMTAyNiAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAuY29tcG9uZW50LnR5cGVfaGVhZGluZy5sYXJnZSB7XG4gICAgbWFyZ2luLXRvcDogY2FsYyh2YXIoLS1jSGVhZGluZy1sYXJnZS1tYXJnaW4tdG9wLXNwKSAvIDM5MCAqIDEwMHZ3KTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuY29tcG9uZW50LnR5cGVfaGVhZGluZy5sYXJnZSB7XG4gICAgICBtYXJnaW4tdG9wOiBtaW4oY2FsYyh2YXIoLS1jSGVhZGluZy1sYXJnZS1tYXJnaW4tdG9wLXBjKSAqIDFweCksIGNhbGModmFyKC0tY0hlYWRpbmctbGFyZ2UtbWFyZ2luLXRvcC1wYykgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgLmNvbXBvbmVudC50eXBlX2hlYWRpbmcubWVkaXVtIHtcbiAgICBtYXJnaW4tdG9wOiBjYWxjKHZhcigtLWNIZWFkaW5nLW1lZGl1bS1tYXJnaW4tdG9wLXNwKSAvIDM5MCAqIDEwMHZ3KTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuY29tcG9uZW50LnR5cGVfaGVhZGluZy5tZWRpdW0ge1xuICAgICAgbWFyZ2luLXRvcDogbWluKGNhbGModmFyKC0tY0hlYWRpbmctbWVkaXVtLW1hcmdpbi10b3AtcGMpICogMXB4KSwgY2FsYyh2YXIoLS1jSGVhZGluZy1tZWRpdW0tbWFyZ2luLXRvcC1wYykgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgLmNvbXBvbmVudC50eXBlX2hlYWRpbmdfZXgge1xuICAgIG1hcmdpbi10b3A6IGNhbGModmFyKC0tbWFyZ2luLXNlY3Rpb24pIC8gMzkwICogMTAwdncpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5jb21wb25lbnQudHlwZV9oZWFkaW5nX2V4IHtcbiAgICAgIG1hcmdpbi10b3A6IG1pbihjYWxjKHZhcigtLW1hcmdpbi1zZWN0aW9uLXBjKSAqIDFweCksIGNhbGModmFyKC0tbWFyZ2luLXNlY3Rpb24tcGMpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIC5jb21wb25lbnQudHlwZV9oZWFkaW5nX2V4IC5pbm5lciB7XG4gICAgcGFkZGluZy1sZWZ0OiBjYWxjKHZhcigtLWNvbnRhaW5lci1wYWRkaW5nLXNwKSAvIDM5MCAqIDEwMHZ3KTtcbiAgICBwYWRkaW5nLXJpZ2h0OiBjYWxjKHZhcigtLWNvbnRhaW5lci1wYWRkaW5nLXNwKSAvIDM5MCAqIDEwMHZ3KTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuY29tcG9uZW50LnR5cGVfaGVhZGluZ19leCAuaW5uZXIge1xuICAgICAgcGFkZGluZy1sZWZ0OiB1bnNldDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IHVuc2V0O1xuICAgICAgbWFyZ2luLWlubGluZTogYXV0bztcbiAgICAgIHdpZHRoOiBtaW4oMTAyNnB4LCBjYWxjKDEwMjYgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgLmNvbXBvbmVudC50eXBlX3RleHQge1xuICAgIG1hcmdpbi10b3A6IGNhbGModmFyKC0tY1RleHQtbWFyZ2luLXRvcC1zcCkgLyAzOTAgKiAxMDB2dyk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLmNvbXBvbmVudC50eXBlX3RleHQge1xuICAgICAgbWFyZ2luLXRvcDogbWluKGNhbGModmFyKC0tY1RleHQtbWFyZ2luLXRvcC1wYykgKiAxcHgpLCBjYWxjKHZhcigtLWNUZXh0LW1hcmdpbi10b3AtcGMpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIC5jb21wb25lbnQudHlwZV90ZXh0IC5pbm5lciB7XG4gICAgcGFkZGluZy1sZWZ0OiBjYWxjKHZhcigtLWNvbnRhaW5lci1wYWRkaW5nLXNwKSAvIDM5MCAqIDEwMHZ3KTtcbiAgICBwYWRkaW5nLXJpZ2h0OiBjYWxjKHZhcigtLWNvbnRhaW5lci1wYWRkaW5nLXNwKSAvIDM5MCAqIDEwMHZ3KTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuY29tcG9uZW50LnR5cGVfdGV4dCAuaW5uZXIge1xuICAgICAgcGFkZGluZy1sZWZ0OiB1bnNldDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IHVuc2V0O1xuICAgICAgbWFyZ2luLWlubGluZTogYXV0bztcbiAgICAgIHdpZHRoOiBtaW4oMTAyNnB4LCBjYWxjKDEwMjYgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgLmNvbXBvbmVudC50eXBlX2xlYWQge1xuICAgIG1hcmdpbi10b3A6IGNhbGModmFyKC0tY0xlYWQtbWFyZ2luLXRvcC1zcCkgLyAzOTAgKiAxMDB2dyk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLmNvbXBvbmVudC50eXBlX2xlYWQge1xuICAgICAgbWFyZ2luLXRvcDogbWluKGNhbGModmFyKC0tY0xlYWQtbWFyZ2luLXRvcC1wYykgKiAxcHgpLCBjYWxjKHZhcigtLWNMZWFkLW1hcmdpbi10b3AtcGMpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIC5jb21wb25lbnQudHlwZV9sZWFkIC5pbm5lciB7XG4gICAgcGFkZGluZy1sZWZ0OiBjYWxjKHZhcigtLWNvbnRhaW5lci1wYWRkaW5nLXNwKSAvIDM5MCAqIDEwMHZ3KTtcbiAgICBwYWRkaW5nLXJpZ2h0OiBjYWxjKHZhcigtLWNvbnRhaW5lci1wYWRkaW5nLXNwKSAvIDM5MCAqIDEwMHZ3KTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuY29tcG9uZW50LnR5cGVfbGVhZCAuaW5uZXIge1xuICAgICAgcGFkZGluZy1sZWZ0OiB1bnNldDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IHVuc2V0O1xuICAgICAgbWFyZ2luLWlubGluZTogYXV0bztcbiAgICAgIHdpZHRoOiBtaW4oMTAyNnB4LCBjYWxjKDEwMjYgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgLmNvbXBvbmVudC50eXBlX3RleHRfaW1hZ2Uge1xuICAgIG1hcmdpbi10b3A6IGNhbGModmFyKC0tY1RleHRJbWFnZS1tYXJnaW4tdG9wLXNwKSAvIDM5MCAqIDEwMHZ3KTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuY29tcG9uZW50LnR5cGVfdGV4dF9pbWFnZSB7XG4gICAgICBtYXJnaW4tdG9wOiBtaW4oY2FsYyh2YXIoLS1jVGV4dEltYWdlLW1hcmdpbi10b3AtcGMpICogMXB4KSwgY2FsYyh2YXIoLS1jVGV4dEltYWdlLW1hcmdpbi10b3AtcGMpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIC5jb21wb25lbnQudHlwZV90ZXh0X2ltYWdlIC5pbm5lciB7XG4gICAgcGFkZGluZy1sZWZ0OiBjYWxjKHZhcigtLWNvbnRhaW5lci1wYWRkaW5nLXNwKSAvIDM5MCAqIDEwMHZ3KTtcbiAgICBwYWRkaW5nLXJpZ2h0OiBjYWxjKHZhcigtLWNvbnRhaW5lci1wYWRkaW5nLXNwKSAvIDM5MCAqIDEwMHZ3KTtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtYXV0by1mbG93OiByb3c7XG4gICAgZ2FwOiBjYWxjKHZhcigtLWNUZXh0SW1hZ2UtZ2FwLXJvdy1zcCkgLyAzOTAgKiAxMDB2dyk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLmNvbXBvbmVudC50eXBlX3RleHRfaW1hZ2UgLmlubmVyIHtcbiAgICAgIHBhZGRpbmctbGVmdDogdW5zZXQ7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiB1bnNldDtcbiAgICAgIG1hcmdpbi1pbmxpbmU6IGF1dG87XG4gICAgICB3aWR0aDogbWluKDEwMjZweCwgY2FsYygxMDI2IC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5jb21wb25lbnQudHlwZV90ZXh0X2ltYWdlIC5pbm5lciB7XG4gICAgICBncmlkLXRlbXBsYXRlOiBcImltYWdlcyB0ZXh0XCIgYXV0by9taW4oY2FsYyh2YXIoLS1jVGV4dEltYWdlLWltYWdlLXdpZHRoKSAqIDFweCksIGNhbGModmFyKC0tY1RleHRJbWFnZS1pbWFnZS13aWR0aCkgLyAxNDQwICogMTAwdncpKSAxZnI7XG4gICAgICBnYXA6IG1pbihjYWxjKHZhcigtLWNUZXh0SW1hZ2UtZ2FwLXJvdy1wYykgKiAxcHgpLCBjYWxjKHZhcigtLWNUZXh0SW1hZ2UtZ2FwLXJvdy1wYykgLyAxNDQwICogMTAwdncpKSBtaW4oY2FsYyh2YXIoLS1jVGV4dEltYWdlLWdhcC1jb2wpICogMXB4KSwgY2FsYyh2YXIoLS1jVGV4dEltYWdlLWdhcC1jb2wpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5jb21wb25lbnQudHlwZV90ZXh0X2ltYWdlIC5pbm5lci5yZXZlcnNlIHtcbiAgICAgIGdyaWQtdGVtcGxhdGU6IFwidGV4dCBpbWFnZXNcIiBhdXRvLzFmciBtaW4oY2FsYyh2YXIoLS1jVGV4dEltYWdlLWltYWdlLXdpZHRoKSAqIDFweCksIGNhbGModmFyKC0tY1RleHRJbWFnZS1pbWFnZS13aWR0aCkgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgLmNvbXBvbmVudC50eXBlX3RleHRfaW1hZ2UgLmlubmVyIC50ZXh0IHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtYXV0by1mbG93OiByb3c7XG4gICAgZ2FwOiBjYWxjKHZhcigtLWNUZXh0SW1hZ2UtZ2FwLXJvdy1zcCkgLyAzOTAgKiAxMDB2dyk7XG4gICAgYWxpZ24tc2VsZjogc3RhcnQ7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLmNvbXBvbmVudC50eXBlX3RleHRfaW1hZ2UgLmlubmVyIC50ZXh0IHtcbiAgICAgIGdyaWQtYXJlYTogdGV4dDtcbiAgICAgIGdhcDogbWluKGNhbGModmFyKC0tY1RleHRJbWFnZS1nYXAtcm93LXBjKSAqIDFweCksIGNhbGModmFyKC0tY1RleHRJbWFnZS1nYXAtcm93LXBjKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAuY29tcG9uZW50LnR5cGVfdGV4dF9pbWFnZSAuaW5uZXIgLmltYWdlcyB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLWF1dG8tZmxvdzogcm93O1xuICAgIGdhcDogY2FsYyh2YXIoLS1jVGV4dEltYWdlLWdhcC1yb3ctc3ApIC8gMzkwICogMTAwdncpO1xuICAgIGFsaWduLXNlbGY6IHN0YXJ0O1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5jb21wb25lbnQudHlwZV90ZXh0X2ltYWdlIC5pbm5lciAuaW1hZ2VzIHtcbiAgICAgIGdyaWQtYXJlYTogaW1hZ2VzO1xuICAgICAgZ2FwOiBtaW4oY2FsYyh2YXIoLS1jVGV4dEltYWdlLWdhcC1yb3ctcGMpICogMXB4KSwgY2FsYyh2YXIoLS1jVGV4dEltYWdlLWdhcC1yb3ctcGMpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIC5jb21wb25lbnQudHlwZV90ZXh0X21hcCB7XG4gICAgbWFyZ2luLXRvcDogY2FsYyh2YXIoLS1jVGV4dE1hcC1tYXJnaW4tdG9wLXNwKSAvIDM5MCAqIDEwMHZ3KTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuY29tcG9uZW50LnR5cGVfdGV4dF9tYXAge1xuICAgICAgbWFyZ2luLXRvcDogbWluKGNhbGModmFyKC0tY1RleHRNYXAtbWFyZ2luLXRvcC1wYykgKiAxcHgpLCBjYWxjKHZhcigtLWNUZXh0TWFwLW1hcmdpbi10b3AtcGMpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIC5jb21wb25lbnQudHlwZV90ZXh0X21hcCAuaW5uZXIge1xuICAgIHBhZGRpbmctbGVmdDogY2FsYyh2YXIoLS1jb250YWluZXItcGFkZGluZy1zcCkgLyAzOTAgKiAxMDB2dyk7XG4gICAgcGFkZGluZy1yaWdodDogY2FsYyh2YXIoLS1jb250YWluZXItcGFkZGluZy1zcCkgLyAzOTAgKiAxMDB2dyk7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLWF1dG8tZmxvdzogcm93O1xuICAgIGdhcDogY2FsYyh2YXIoLS1jVGV4dE1hcC1nYXAtcm93LXNwKSAvIDM5MCAqIDEwMHZ3KTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuY29tcG9uZW50LnR5cGVfdGV4dF9tYXAgLmlubmVyIHtcbiAgICAgIHBhZGRpbmctbGVmdDogdW5zZXQ7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiB1bnNldDtcbiAgICAgIG1hcmdpbi1pbmxpbmU6IGF1dG87XG4gICAgICB3aWR0aDogbWluKDEwMjZweCwgY2FsYygxMDI2IC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5jb21wb25lbnQudHlwZV90ZXh0X21hcCAuaW5uZXIge1xuICAgICAgZ3JpZC10ZW1wbGF0ZTogXCJtYXAgdGV4dFwiIGF1dG8vbWluKGNhbGModmFyKC0tY1RleHRNYXAtaW1hZ2Utd2lkdGgpICogMXB4KSwgY2FsYyh2YXIoLS1jVGV4dE1hcC1pbWFnZS13aWR0aCkgLyAxNDQwICogMTAwdncpKSAxZnI7XG4gICAgICBnYXA6IG1pbihjYWxjKHZhcigtLWNUZXh0TWFwLWdhcC1yb3ctcGMpICogMXB4KSwgY2FsYyh2YXIoLS1jVGV4dE1hcC1nYXAtcm93LXBjKSAvIDE0NDAgKiAxMDB2dykpIG1pbihjYWxjKHZhcigtLWNUZXh0TWFwLWdhcC1jb2wpICogMXB4KSwgY2FsYyh2YXIoLS1jVGV4dE1hcC1nYXAtY29sKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuY29tcG9uZW50LnR5cGVfdGV4dF9tYXAgLmlubmVyLnJldmVyc2Uge1xuICAgICAgZ3JpZC10ZW1wbGF0ZTogXCJ0ZXh0IG1hcFwiIGF1dG8vMWZyIG1pbihjYWxjKHZhcigtLWNUZXh0TWFwLWltYWdlLXdpZHRoKSAqIDFweCksIGNhbGModmFyKC0tY1RleHRNYXAtaW1hZ2Utd2lkdGgpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIC5jb21wb25lbnQudHlwZV90ZXh0X21hcCAuaW5uZXIgLnRleHQge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC1hdXRvLWZsb3c6IHJvdztcbiAgICBnYXA6IGNhbGModmFyKC0tY1RleHRNYXAtZ2FwLXJvdy1zcCkgLyAzOTAgKiAxMDB2dyk7XG4gICAgYWxpZ24tc2VsZjogc3RhcnQ7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLmNvbXBvbmVudC50eXBlX3RleHRfbWFwIC5pbm5lciAudGV4dCB7XG4gICAgICBncmlkLWFyZWE6IHRleHQ7XG4gICAgICBnYXA6IG1pbihjYWxjKHZhcigtLWNUZXh0TWFwLWdhcC1yb3ctcGMpICogMXB4KSwgY2FsYyh2YXIoLS1jVGV4dE1hcC1nYXAtcm93LXBjKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuY29tcG9uZW50LnR5cGVfdGV4dF9tYXAgLmlubmVyIC5wTWFwQ2FwdGlvbiB7XG4gICAgICBncmlkLWFyZWE6IG1hcDtcbiAgICB9XG4gIH1cbiAgLmNvbXBvbmVudC50eXBlX21hcCB7XG4gICAgbWFyZ2luLXRvcDogY2FsYyh2YXIoLS1jTWFwLW1hcmdpbi10b3Atc3ApIC8gMzkwICogMTAwdncpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5jb21wb25lbnQudHlwZV9tYXAge1xuICAgICAgbWFyZ2luLXRvcDogbWluKGNhbGModmFyKC0tY01hcC1tYXJnaW4tdG9wLXBjKSAqIDFweCksIGNhbGModmFyKC0tY01hcC1tYXJnaW4tdG9wLXBjKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAuY29tcG9uZW50LnR5cGVfbWFwIC5pbm5lciB7XG4gICAgcGFkZGluZy1sZWZ0OiBjYWxjKHZhcigtLWNvbnRhaW5lci1wYWRkaW5nLXNwKSAvIDM5MCAqIDEwMHZ3KTtcbiAgICBwYWRkaW5nLXJpZ2h0OiBjYWxjKHZhcigtLWNvbnRhaW5lci1wYWRkaW5nLXNwKSAvIDM5MCAqIDEwMHZ3KTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuY29tcG9uZW50LnR5cGVfbWFwIC5pbm5lciB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IHVuc2V0O1xuICAgICAgcGFkZGluZy1yaWdodDogdW5zZXQ7XG4gICAgICBtYXJnaW4taW5saW5lOiBhdXRvO1xuICAgICAgd2lkdGg6IG1pbigxMDI2cHgsIGNhbGMoMTAyNiAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAuY29tcG9uZW50LnR5cGVfbWFwIC5pbm5lciAucE1hcENhcHRpb24ge1xuICAgIG1hcmdpbi1pbmxpbmU6IGF1dG87XG4gIH1cbiAgLmNvbXBvbmVudC50eXBlX2ltYWdlX211bHRpIHtcbiAgICBtYXJnaW4tdG9wOiBjYWxjKHZhcigtLWNJbWFnZS1tYXJnaW4tdG9wLXNwKSAvIDM5MCAqIDEwMHZ3KTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuY29tcG9uZW50LnR5cGVfaW1hZ2VfbXVsdGkge1xuICAgICAgbWFyZ2luLXRvcDogbWluKGNhbGModmFyKC0tY0ltYWdlLW1hcmdpbi10b3AtcGMpICogMXB4KSwgY2FsYyh2YXIoLS1jSW1hZ2UtbWFyZ2luLXRvcC1wYykgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLmNvbXBvbmVudC50eXBlX2ltYWdlX211bHRpLnNldDEgLmlubmVyIHtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIH1cbiAgfVxuICAuY29tcG9uZW50LnR5cGVfaW1hZ2VfbXVsdGkuc2V0MSAuaW5uZXIgLnBJbWFnZUNhcHRpb24ge1xuICAgIG1hcmdpbi1pbmxpbmU6IGF1dG87XG4gIH1cbiAgLmNvbXBvbmVudC50eXBlX2ltYWdlX211bHRpLnNldDIgLmlubmVyIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDEsIDFmcik7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLmNvbXBvbmVudC50eXBlX2ltYWdlX211bHRpLnNldDIgLmlubmVyIHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7XG4gICAgfVxuICB9XG4gIC5jb21wb25lbnQudHlwZV9pbWFnZV9tdWx0aS5zZXQzIC5pbm5lciB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpO1xuICAgIGdyaWQtdGVtcGxhdGUtcm93czogcmVwZWF0KDEsIGF1dG8pO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5jb21wb25lbnQudHlwZV9pbWFnZV9tdWx0aS5zZXQzIC5pbm5lciB7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLCAxZnIpO1xuICAgIH1cbiAgfVxuICAuY29tcG9uZW50LnR5cGVfaW1hZ2VfbXVsdGkuc2V0NCAuaW5uZXIge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTtcbiAgICBncmlkLXRlbXBsYXRlLXJvd3M6IHJlcGVhdCgxLCBhdXRvKTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuY29tcG9uZW50LnR5cGVfaW1hZ2VfbXVsdGkuc2V0NCAuaW5uZXIge1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNCwgMWZyKTtcbiAgICB9XG4gIH1cbiAgLmNvbXBvbmVudC50eXBlX2ltYWdlX211bHRpIC5pbm5lciB7XG4gICAgcGFkZGluZy1sZWZ0OiBjYWxjKHZhcigtLWNvbnRhaW5lci1wYWRkaW5nLXNwKSAvIDM5MCAqIDEwMHZ3KTtcbiAgICBwYWRkaW5nLXJpZ2h0OiBjYWxjKHZhcigtLWNvbnRhaW5lci1wYWRkaW5nLXNwKSAvIDM5MCAqIDEwMHZ3KTtcbiAgICBnYXA6IGNhbGModmFyKC0tY0ltYWdlLWdhcC1yb3ctc3ApIC8gMzkwICogMTAwdncpIGNhbGModmFyKC0tY0ltYWdlLWdhcC1jb2wtc3ApIC8gMzkwICogMTAwdncpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5jb21wb25lbnQudHlwZV9pbWFnZV9tdWx0aSAuaW5uZXIge1xuICAgICAgcGFkZGluZy1sZWZ0OiB1bnNldDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IHVuc2V0O1xuICAgICAgbWFyZ2luLWlubGluZTogYXV0bztcbiAgICAgIHdpZHRoOiBtaW4oMTAyNnB4LCBjYWxjKDEwMjYgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLmNvbXBvbmVudC50eXBlX2ltYWdlX211bHRpIC5pbm5lciB7XG4gICAgICBnYXA6IG1pbihjYWxjKHZhcigtLWNJbWFnZS1nYXAtcm93LXBjKSAqIDFweCksIGNhbGModmFyKC0tY0ltYWdlLWdhcC1yb3ctcGMpIC8gMTQ0MCAqIDEwMHZ3KSkgbWluKGNhbGModmFyKC0tY0ltYWdlLWdhcC1jb2wtcGMpICogMXB4KSwgY2FsYyh2YXIoLS1jSW1hZ2UtZ2FwLWNvbC1wYykgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgLmNvbXBvbmVudC50eXBlX2ltYWdlX211bHRpIC5pbm5lciAucEltYWdlQ2FwdGlvbi5zaHJpbmsgLnBDYXB0aW9uIHtcbiAgICBtYXJnaW4taW5saW5lOiBhdXRvO1xuICB9XG4gIC5jb21wb25lbnQudHlwZV9tb3ZpZV9tdWx0aSB7XG4gICAgbWFyZ2luLXRvcDogY2FsYyh2YXIoLS1jSW1hZ2UtbWFyZ2luLXRvcC1zcCkgLyAzOTAgKiAxMDB2dyk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLmNvbXBvbmVudC50eXBlX21vdmllX211bHRpIHtcbiAgICAgIG1hcmdpbi10b3A6IG1pbihjYWxjKHZhcigtLWNJbWFnZS1tYXJnaW4tdG9wLXBjKSAqIDFweCksIGNhbGModmFyKC0tY0ltYWdlLW1hcmdpbi10b3AtcGMpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5jb21wb25lbnQudHlwZV9tb3ZpZV9tdWx0aS5zZXQxIC5pbm5lciB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB9XG4gIH1cbiAgLmNvbXBvbmVudC50eXBlX21vdmllX211bHRpLnNldDEgLmlubmVyIC5wSW1hZ2VDYXB0aW9uIHtcbiAgICBtYXJnaW4taW5saW5lOiBhdXRvO1xuICB9XG4gIC5jb21wb25lbnQudHlwZV9tb3ZpZV9tdWx0aS5zZXQyIC5pbm5lciB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgxLCAxZnIpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5jb21wb25lbnQudHlwZV9tb3ZpZV9tdWx0aS5zZXQyIC5pbm5lciB7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpO1xuICAgIH1cbiAgfVxuICAuY29tcG9uZW50LnR5cGVfbW92aWVfbXVsdGkuc2V0MyAuaW5uZXIge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTtcbiAgICBncmlkLXRlbXBsYXRlLXJvd3M6IHJlcGVhdCgxLCBhdXRvKTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuY29tcG9uZW50LnR5cGVfbW92aWVfbXVsdGkuc2V0MyAuaW5uZXIge1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMywgMWZyKTtcbiAgICB9XG4gIH1cbiAgLmNvbXBvbmVudC50eXBlX21vdmllX211bHRpLnNldDQgLmlubmVyIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7XG4gICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiByZXBlYXQoMSwgYXV0byk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLmNvbXBvbmVudC50eXBlX21vdmllX211bHRpLnNldDQgLmlubmVyIHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDQsIDFmcik7XG4gICAgfVxuICB9XG4gIC5jb21wb25lbnQudHlwZV9tb3ZpZV9tdWx0aSAuaW5uZXIge1xuICAgIHBhZGRpbmctbGVmdDogY2FsYyh2YXIoLS1jb250YWluZXItcGFkZGluZy1zcCkgLyAzOTAgKiAxMDB2dyk7XG4gICAgcGFkZGluZy1yaWdodDogY2FsYyh2YXIoLS1jb250YWluZXItcGFkZGluZy1zcCkgLyAzOTAgKiAxMDB2dyk7XG4gICAgZ2FwOiBjYWxjKHZhcigtLWNJbWFnZS1nYXAtcm93LXNwKSAvIDM5MCAqIDEwMHZ3KSBjYWxjKHZhcigtLWNJbWFnZS1nYXAtY29sLXNwKSAvIDM5MCAqIDEwMHZ3KTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuY29tcG9uZW50LnR5cGVfbW92aWVfbXVsdGkgLmlubmVyIHtcbiAgICAgIHBhZGRpbmctbGVmdDogdW5zZXQ7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiB1bnNldDtcbiAgICAgIG1hcmdpbi1pbmxpbmU6IGF1dG87XG4gICAgICB3aWR0aDogbWluKDEwMjZweCwgY2FsYygxMDI2IC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5jb21wb25lbnQudHlwZV9tb3ZpZV9tdWx0aSAuaW5uZXIge1xuICAgICAgZ2FwOiBtaW4oY2FsYyh2YXIoLS1jSW1hZ2UtZ2FwLXJvdy1wYykgKiAxcHgpLCBjYWxjKHZhcigtLWNJbWFnZS1nYXAtcm93LXBjKSAvIDE0NDAgKiAxMDB2dykpIG1pbihjYWxjKHZhcigtLWNJbWFnZS1nYXAtY29sLXBjKSAqIDFweCksIGNhbGModmFyKC0tY0ltYWdlLWdhcC1jb2wtcGMpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIC5jb21wb25lbnQudHlwZV9tb3ZpZV9tdWx0aSAuaW5uZXIgLnBJbWFnZUNhcHRpb24gLnBJbWFnZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYXNwZWN0LXJhdGlvOiAxNi85O1xuICB9XG4gIC5jb21wb25lbnQudHlwZV9tb3ZpZV9tdWx0aSAuaW5uZXIgLnBJbWFnZUNhcHRpb24gLnBJbWFnZSBpZnJhbWUge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgfVxuICAuY29tcG9uZW50LnR5cGVfbW92aWVfbXVsdGkgLmlubmVyIC5wSW1hZ2VDYXB0aW9uIC5wQ2FwdGlvbi5zaHJpbmsge1xuICAgIG1hcmdpbi1pbmxpbmU6IGF1dG87XG4gIH1cbiAgLmNvbXBvbmVudC50eXBlX3BhbmVsIHtcbiAgICBtYXJnaW4tdG9wOiBjYWxjKHZhcigtLWNQYW5lbC1tYXJnaW4tdG9wLXNwKSAvIDM5MCAqIDEwMHZ3KTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuY29tcG9uZW50LnR5cGVfcGFuZWwge1xuICAgICAgbWFyZ2luLXRvcDogbWluKGNhbGModmFyKC0tY1BhbmVsLW1hcmdpbi10b3AtcGMpICogMXB4KSwgY2FsYyh2YXIoLS1jUGFuZWwtbWFyZ2luLXRvcC1wYykgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgLmNvbXBvbmVudC50eXBlX3BhbmVsLnNldDEgLmlubmVyIC5wUGFuZWwge1xuICAgIG1hcmdpbi1pbmxpbmU6IGF1dG87XG4gIH1cbiAgLmNvbXBvbmVudC50eXBlX3BhbmVsLnNldDIgLmlubmVyIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDEsIDFmcik7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLmNvbXBvbmVudC50eXBlX3BhbmVsLnNldDIgLmlubmVyIHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7XG4gICAgfVxuICB9XG4gIC5jb21wb25lbnQudHlwZV9wYW5lbC5zZXQzIC5pbm5lciB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpO1xuICAgIGdyaWQtdGVtcGxhdGUtcm93czogcmVwZWF0KDEsIGF1dG8pO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5jb21wb25lbnQudHlwZV9wYW5lbC5zZXQzIC5pbm5lciB7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLCAxZnIpO1xuICAgIH1cbiAgfVxuICAuY29tcG9uZW50LnR5cGVfcGFuZWwuc2V0NCAuaW5uZXIge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTtcbiAgICBncmlkLXRlbXBsYXRlLXJvd3M6IHJlcGVhdCgxLCBhdXRvKTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuY29tcG9uZW50LnR5cGVfcGFuZWwuc2V0NCAuaW5uZXIge1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNCwgMWZyKTtcbiAgICB9XG4gIH1cbiAgLmNvbXBvbmVudC50eXBlX3BhbmVsIC5pbm5lciB7XG4gICAgcGFkZGluZy1sZWZ0OiBjYWxjKHZhcigtLWNvbnRhaW5lci1wYWRkaW5nLXNwKSAvIDM5MCAqIDEwMHZ3KTtcbiAgICBwYWRkaW5nLXJpZ2h0OiBjYWxjKHZhcigtLWNvbnRhaW5lci1wYWRkaW5nLXNwKSAvIDM5MCAqIDEwMHZ3KTtcbiAgICBnYXA6IGNhbGModmFyKC0tY1BhbmVsLWdhcC1yb3ctc3ApIC8gMzkwICogMTAwdncpIGNhbGModmFyKC0tY1BhbmVsLWdhcC1jb2wtc3ApIC8gMzkwICogMTAwdncpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5jb21wb25lbnQudHlwZV9wYW5lbCAuaW5uZXIge1xuICAgICAgcGFkZGluZy1sZWZ0OiB1bnNldDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IHVuc2V0O1xuICAgICAgbWFyZ2luLWlubGluZTogYXV0bztcbiAgICAgIHdpZHRoOiBtaW4oMTAyNnB4LCBjYWxjKDEwMjYgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLmNvbXBvbmVudC50eXBlX3BhbmVsIC5pbm5lciB7XG4gICAgICBnYXA6IG1pbihjYWxjKHZhcigtLWNQYW5lbC1nYXAtcm93LXBjKSAqIDFweCksIGNhbGModmFyKC0tY1BhbmVsLWdhcC1yb3ctcGMpIC8gMTQ0MCAqIDEwMHZ3KSkgbWluKGNhbGModmFyKC0tY1BhbmVsLWdhcC1jb2wtcGMpICogMXB4KSwgY2FsYyh2YXIoLS1jUGFuZWwtZ2FwLWNvbC1wYykgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgLmNvbXBvbmVudC50eXBlX3NwZWFrZXIge1xuICAgIG1hcmdpbi10b3A6IGNhbGModmFyKC0tY1NwZWFrZXItbWFyZ2luLXRvcC1zcCkgLyAzOTAgKiAxMDB2dyk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLmNvbXBvbmVudC50eXBlX3NwZWFrZXIge1xuICAgICAgbWFyZ2luLXRvcDogbWluKGNhbGModmFyKC0tY1NwZWFrZXItbWFyZ2luLXRvcC1wYykgKiAxcHgpLCBjYWxjKHZhcigtLWNTcGVha2VyLW1hcmdpbi10b3AtcGMpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIC5jb21wb25lbnQudHlwZV9zcGVha2VyID4gLmlubmVyIHtcbiAgICBwYWRkaW5nLWxlZnQ6IGNhbGModmFyKC0tY29udGFpbmVyLXBhZGRpbmctc3ApIC8gMzkwICogMTAwdncpO1xuICAgIHBhZGRpbmctcmlnaHQ6IGNhbGModmFyKC0tY29udGFpbmVyLXBhZGRpbmctc3ApIC8gMzkwICogMTAwdncpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5jb21wb25lbnQudHlwZV9zcGVha2VyID4gLmlubmVyIHtcbiAgICAgIHBhZGRpbmctbGVmdDogdW5zZXQ7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiB1bnNldDtcbiAgICAgIG1hcmdpbi1pbmxpbmU6IGF1dG87XG4gICAgICB3aWR0aDogbWluKDEwMjZweCwgY2FsYygxMDI2IC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5jb21wb25lbnQudHlwZV9zcGVha2VyID4gLmlubmVyIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XG4gICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgIGdhcDogbWluKGNhbGModmFyKC0tY1NwZWFrZXItZ2FwLXBjKSAqIDFweCksIGNhbGModmFyKC0tY1NwZWFrZXItZ2FwLXBjKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAuY29tcG9uZW50LnR5cGVfc3BlYWtlciA+IC5pbm5lciAuc3BlYWtlciB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLWF1dG8tZmxvdzogcm93O1xuICAgIGdhcDogY2FsYyh2YXIoLS1jU3BlYWtlci1zcGVha2VyLWdhcC1zcCkgLyAzOTAgKiAxMDB2dyk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY1NwZWFrZXItYmFja2dyb3VuZC1jb2xvcik7XG4gICAgcGFkZGluZzogY2FsYyh2YXIoLS1jU3BlYWtlci1wYWRkaW5nLWJsb2NrLXNwKSAvIDM5MCAqIDEwMHZ3KSBjYWxjKHZhcigtLWNTcGVha2VyLXBhZGRpbmctaW5saW5lLXNwKSAvIDM5MCAqIDEwMHZ3KTtcbiAgICBib3JkZXItcmFkaXVzOiBjYWxjKHZhcigtLWNTcGVha2VyLWJvcmRlci1yYWRpdXMtc3ApIC8gMzkwICogMTAwdncpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5jb21wb25lbnQudHlwZV9zcGVha2VyID4gLmlubmVyIC5zcGVha2VyIHtcbiAgICAgIHBhZGRpbmc6IG1pbihjYWxjKHZhcigtLWNTcGVha2VyLXBhZGRpbmctYmxvY2stcGMpICogMXB4KSwgY2FsYyh2YXIoLS1jU3BlYWtlci1wYWRkaW5nLWJsb2NrLXBjKSAvIDE0NDAgKiAxMDB2dykpIG1pbihjYWxjKHZhcigtLWNTcGVha2VyLXBhZGRpbmctaW5saW5lLXBjKSAqIDFweCksIGNhbGModmFyKC0tY1NwZWFrZXItcGFkZGluZy1pbmxpbmUtcGMpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICBib3JkZXItcmFkaXVzOiBtaW4oY2FsYyh2YXIoLS1jU3BlYWtlci1ib3JkZXItcmFkaXVzLXBjKSAqIDFweCksIGNhbGModmFyKC0tY1NwZWFrZXItYm9yZGVyLXJhZGl1cy1wYykgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIGdhcDogbWluKGNhbGModmFyKC0tY1NwZWFrZXItc3BlYWtlci1nYXAtcGMpICogMXB4KSwgY2FsYyh2YXIoLS1jU3BlYWtlci1zcGVha2VyLWdhcC1wYykgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIHdpZHRoOiBtaW4oY2FsYyh2YXIoLS1jU3BlYWtlci1zcGVha2VyLXdpZHRoKSAqIDFweCksIGNhbGModmFyKC0tY1NwZWFrZXItc3BlYWtlci13aWR0aCkgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIHBvc2l0aW9uOiBzdGlja3k7XG4gICAgICB0b3A6IDA7XG4gICAgICBmbGV4LXNocmluazogMDtcbiAgICB9XG4gICAgLmNvbXBvbmVudC50eXBlX3NwZWFrZXIgPiAuaW5uZXIgLnNwZWFrZXIuc3RhdGljIHtcbiAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgfVxuICB9XG4gIC5jb21wb25lbnQudHlwZV9zcGVha2VyID4gLmlubmVyIC5zcGVha2VyIC5wSGVhZGluZ01lZGl1bSB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG4gIC5jb21wb25lbnQudHlwZV9zcGVha2VyID4gLmlubmVyIC5jb250ZW50IHtcbiAgICBtYXJnaW4tdG9wOiBjYWxjKHZhcigtLWNTcGVha2VyLWdhcC1zcCkgLyAzOTAgKiAxMDB2dyk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLmNvbXBvbmVudC50eXBlX3NwZWFrZXIgPiAuaW5uZXIgLmNvbnRlbnQge1xuICAgICAgbWFyZ2luLXRvcDogdW5zZXQ7XG4gICAgICBmbGV4OiAxO1xuICAgIH1cbiAgfVxuICAuY29tcG9uZW50LnR5cGVfc3BlYWtlciA+IC5pbm5lciAuY29udGVudCAuY29tcG9uZW50Om5vdCgudHlwZV9jb2x1bW4pIC5jb250YWluZXIsXG4uY29tcG9uZW50LnR5cGVfc3BlYWtlciA+IC5pbm5lciAuY29udGVudCAuY29tcG9uZW50Om5vdCgudHlwZV9jb2x1bW4pIC5pbm5lciB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZy1pbmxpbmU6IHVuc2V0O1xuICB9XG4gIC5jb21wb25lbnQudHlwZV9zcGVha2VyID4gLmlubmVyIC5jb250ZW50IC5jb21wb25lbnQge1xuICAgIG1hcmdpbi10b3A6IGNhbGModmFyKC0tbWFyZ2luLXRvcC0xKSAvIDM5MCAqIDEwMHZ3KTtcbiAgfVxuICAuY29tcG9uZW50LnR5cGVfc3BlYWtlciA+IC5pbm5lciAuY29udGVudCAuY29tcG9uZW50OmZpcnN0LW9mLXR5cGUge1xuICAgIG1hcmdpbi10b3A6IHVuc2V0O1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5jb21wb25lbnQudHlwZV9zcGVha2VyID4gLmlubmVyIC5jb250ZW50IC5jb21wb25lbnQge1xuICAgICAgbWFyZ2luLXRvcDogbWluKGNhbGModmFyKC0tbWFyZ2luLXRvcC0yKSAqIDFweCksIGNhbGModmFyKC0tbWFyZ2luLXRvcC0yKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgICAuY29tcG9uZW50LnR5cGVfc3BlYWtlciA+IC5pbm5lciAuY29udGVudCAuY29tcG9uZW50OmZpcnN0LW9mLXR5cGUge1xuICAgICAgbWFyZ2luLXRvcDogdW5zZXQ7XG4gICAgfVxuICB9XG4gIC5jb21wb25lbnQudHlwZV9zcGVha2VyID4gLmlubmVyIC5jb250ZW50IC50eXBlX2NvbHVtbiAuY29udGFpbmVyIHtcbiAgICBwYWRkaW5nLWlubGluZTogdW5zZXQ7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbiAgLmNvbXBvbmVudC50eXBlX3NwZWFrZXIgPiAuaW5uZXIgLmNvbnRlbnQgLnR5cGVfY29sdW1uIC5pbm5lciB7XG4gICAgZ3JpZC10ZW1wbGF0ZTogXCJoZWFkaW5nXCIgYXV0byBcInN1YmhlYWRpbmdcIiBhdXRvIFwidGV4dFwiIGF1dG8gXCJpbWFnZXNcIiBhdXRvIFwiYnV0dG9uXCIgYXV0by8xMDAlO1xuICB9XG4gIC5jb21wb25lbnQudHlwZV9zcGVha2VyID4gLmlubmVyIC5jb250ZW50IC50eXBlX3RhYmxlIC5pbm5lciB7XG4gICAgcGFkZGluZy1pbmxpbmU6IHVuc2V0O1xuICB9XG4gIC5jb21wb25lbnQudHlwZV9jb2x1bW4ge1xuICAgIG1hcmdpbi10b3A6IGNhbGModmFyKC0tY0NvbHVtbi1tYXJnaW4tdG9wLXNwKSAvIDM5MCAqIDEwMHZ3KTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuY29tcG9uZW50LnR5cGVfY29sdW1uIHtcbiAgICAgIG1hcmdpbi10b3A6IG1pbihjYWxjKHZhcigtLWNDb2x1bW4tbWFyZ2luLXRvcC1wYykgKiAxcHgpLCBjYWxjKHZhcigtLWNDb2x1bW4tbWFyZ2luLXRvcC1wYykgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgLmNvbXBvbmVudC50eXBlX2NvbHVtbiAuY29udGFpbmVyIHtcbiAgICBwYWRkaW5nLWxlZnQ6IGNhbGModmFyKC0tY29udGFpbmVyLXBhZGRpbmctc3ApIC8gMzkwICogMTAwdncpO1xuICAgIHBhZGRpbmctcmlnaHQ6IGNhbGModmFyKC0tY29udGFpbmVyLXBhZGRpbmctc3ApIC8gMzkwICogMTAwdncpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5jb21wb25lbnQudHlwZV9jb2x1bW4gLmNvbnRhaW5lciB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IHVuc2V0O1xuICAgICAgcGFkZGluZy1yaWdodDogdW5zZXQ7XG4gICAgICBtYXJnaW4taW5saW5lOiBhdXRvO1xuICAgICAgd2lkdGg6IG1pbigxMDI2cHgsIGNhbGMoMTAyNiAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAuY29tcG9uZW50LnR5cGVfY29sdW1uIC5jb250YWluZXIgLmlubmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1zdXJmYWNlKTtcbiAgICBwYWRkaW5nOiBjYWxjKHZhcigtLWNDb2x1bW4tcGFkZGluZy1ibG9jay1zcCkgLyAzOTAgKiAxMDB2dykgY2FsYyh2YXIoLS1jQ29sdW1uLXBhZGRpbmctaW5saW5lLXNwKSAvIDM5MCAqIDEwMHZ3KTtcbiAgICBib3JkZXI6IGNhbGModmFyKC0tY0NvbHVtbi1ib3JkZXItd2lkdGgtc3ApIC8gMzkwICogMTAwdncpIHNvbGlkIHZhcigtLWNDb2x1bW4tYm9yZGVyLWNvbG9yKTtcbiAgICBnYXA6IGNhbGModmFyKC0tY0NvbHVtbi1nYXAtcm93LXNwKSAvIDM5MCAqIDEwMHZ3KTtcbiAgICBib3JkZXItcmFkaXVzOiBjYWxjKHZhcigtLWNDb2x1bW4tYm9yZGVyLXJhZGl1cy1zcCkgLyAzOTAgKiAxMDB2dyk7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuY29tcG9uZW50LnR5cGVfY29sdW1uIC5jb250YWluZXIgLmlubmVyIHtcbiAgICAgIHBhZGRpbmc6IG1pbihjYWxjKHZhcigtLWNDb2x1bW4tcGFkZGluZy1ibG9jay1wYykgKiAxcHgpLCBjYWxjKHZhcigtLWNDb2x1bW4tcGFkZGluZy1ibG9jay1wYykgLyAxNDQwICogMTAwdncpKSBtaW4oY2FsYyh2YXIoLS1jQ29sdW1uLXBhZGRpbmctaW5saW5lLXBjKSAqIDFweCksIGNhbGModmFyKC0tY0NvbHVtbi1wYWRkaW5nLWlubGluZS1wYykgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIGdhcDogbWluKGNhbGModmFyKC0tY0NvbHVtbi1nYXAtcm93LXBjKSAqIDFweCksIGNhbGModmFyKC0tY0NvbHVtbi1nYXAtcm93LXBjKSAvIDE0NDAgKiAxMDB2dykpIG1pbihjYWxjKHZhcigtLWNDb2x1bW4tZ2FwLWNvbCkgKiAxcHgpLCBjYWxjKHZhcigtLWNDb2x1bW4tZ2FwLWNvbCkgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIGJvcmRlci13aWR0aDogbWluKGNhbGModmFyKC0tY0NvbHVtbi1ib3JkZXItd2lkdGgtcGMpICogMXB4KSwgY2FsYyh2YXIoLS1jQ29sdW1uLWJvcmRlci13aWR0aC1wYykgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IG1pbihjYWxjKHZhcigtLWNDb2x1bW4tYm9yZGVyLXJhZGl1cy1wYykgKiAxcHgpLCBjYWxjKHZhcigtLWNDb2x1bW4tYm9yZGVyLXJhZGl1cy1wYykgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgLmNvbXBvbmVudC50eXBlX2NvbHVtbiAuY29udGFpbmVyIC5pbm5lci5ub3JtYWwge1xuICAgIGdyaWQtdGVtcGxhdGU6IFwiaGVhZGluZ1wiIGF1dG8gXCJzdWJoZWFkaW5nXCIgYXV0byBcInRleHRcIiBhdXRvIFwiaW1hZ2VzXCIgYXV0byBcImJ1dHRvblwiIGF1dG8vMTAwJTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuY29tcG9uZW50LnR5cGVfY29sdW1uIC5jb250YWluZXIgLmlubmVyLm5vcm1hbCB7XG4gICAgICBncmlkLXRlbXBsYXRlOiBcImltYWdlcyBoZWFkaW5nXCIgYXV0byBcImltYWdlcyBzdWJoZWFkaW5nXCIgYXV0byBcImltYWdlcyB0ZXh0XCIgYXV0byBcImltYWdlcyBidXR0b25cIiAxZnIvbWluKGNhbGModmFyKC0tY0NvbHVtbi1pbWFnZS13aWR0aCkgKiAxcHgpLCBjYWxjKHZhcigtLWNDb2x1bW4taW1hZ2Utd2lkdGgpIC8gMTQ0MCAqIDEwMHZ3KSkgMWZyO1xuICAgIH1cbiAgfVxuICAuY29tcG9uZW50LnR5cGVfY29sdW1uIC5jb250YWluZXIgLmlubmVyLnJldmVyc2Uge1xuICAgIGdyaWQtdGVtcGxhdGU6IFwiaGVhZGluZ1wiIGF1dG8gXCJzdWJoZWFkaW5nXCIgYXV0byBcInRleHRcIiBhdXRvIFwiaW1hZ2VzXCIgYXV0byBcImJ1dHRvblwiIGF1dG8vMTAwJTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuY29tcG9uZW50LnR5cGVfY29sdW1uIC5jb250YWluZXIgLmlubmVyLnJldmVyc2Uge1xuICAgICAgZ3JpZC10ZW1wbGF0ZTogXCJoZWFkaW5nIGltYWdlc1wiIGF1dG8gXCJzdWJoZWFkaW5nIGltYWdlc1wiIGF1dG8gXCJ0ZXh0IGltYWdlc1wiIGF1dG8gXCJidXR0b24gaW1hZ2VzXCIgMWZyLzFmciBtaW4oY2FsYyh2YXIoLS1jQ29sdW1uLWltYWdlLXdpZHRoKSAqIDFweCksIGNhbGModmFyKC0tY0NvbHVtbi1pbWFnZS13aWR0aCkgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgLmNvbXBvbmVudC50eXBlX2NvbHVtbiAuY29udGFpbmVyIC5pbm5lci52ZXJ0aWNhbCB7XG4gICAgZ3JpZC10ZW1wbGF0ZTogXCJoZWFkaW5nXCIgYXV0byBcInN1YmhlYWRpbmdcIiBhdXRvIFwiaW1hZ2VzXCIgYXV0byBcInRleHRcIiBhdXRvIFwiYnV0dG9uXCIgYXV0by8xMDAlO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5jb21wb25lbnQudHlwZV9jb2x1bW4gLmNvbnRhaW5lciAuaW5uZXIudmVydGljYWwgLmltYWdlcyB7XG4gICAgICBncmlkLWF1dG8tZmxvdzogY29sdW1uO1xuICAgIH1cbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuY29tcG9uZW50LnR5cGVfY29sdW1uIC5jb250YWluZXIgLmlubmVyLnZlcnRpY2FsIC5idXR0b24gLnBCdXR0b24ge1xuICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgfVxuICB9XG4gIC5jb21wb25lbnQudHlwZV9jb2x1bW4gLmNvbnRhaW5lciAuaW5uZXIudmVydGljYWxfcmV2ZXJzZSB7XG4gICAgZ3JpZC10ZW1wbGF0ZTogXCJoZWFkaW5nXCIgYXV0byBcInN1YmhlYWRpbmdcIiBhdXRvIFwidGV4dFwiIGF1dG8gXCJidXR0b25cIiBhdXRvIFwiaW1hZ2VzXCIgYXV0by8xMDAlO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5jb21wb25lbnQudHlwZV9jb2x1bW4gLmNvbnRhaW5lciAuaW5uZXIudmVydGljYWxfcmV2ZXJzZSAuaW1hZ2VzIHtcbiAgICAgIGdyaWQtYXV0by1mbG93OiBjb2x1bW47XG4gICAgfVxuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5jb21wb25lbnQudHlwZV9jb2x1bW4gLmNvbnRhaW5lciAuaW5uZXIudmVydGljYWxfcmV2ZXJzZSAuYnV0dG9uIC5wQnV0dG9uIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIH1cbiAgfVxuICAuY29tcG9uZW50LnR5cGVfY29sdW1uIC5jb250YWluZXIgLmlubmVyLnRleHRvbmx5IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuICAuY29tcG9uZW50LnR5cGVfY29sdW1uIC5jb250YWluZXIgLmlubmVyIC5wSGVhZGluZ01lZGl1bSB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGdyaWQtYXJlYTogaGVhZGluZztcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuY29tcG9uZW50LnR5cGVfY29sdW1uIC5jb250YWluZXIgLmlubmVyIC5wSGVhZGluZ01lZGl1bSB7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIH1cbiAgfVxuICAuY29tcG9uZW50LnR5cGVfY29sdW1uIC5jb250YWluZXIgLmlubmVyIC5wVGV4dC5zdWJoZWFkaW5nIHtcbiAgICBjb2xvcjogdmFyKC0tY0NvbHVtbi1zdWJoZWFkaW5nLWNvbG9yKTtcbiAgICBncmlkLWFyZWE6IHN1YmhlYWRpbmc7XG4gIH1cbiAgLmNvbXBvbmVudC50eXBlX2NvbHVtbiAuY29udGFpbmVyIC5pbm5lciAuaW1hZ2VzIHtcbiAgICBncmlkLWFyZWE6IGltYWdlcztcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtYXV0by1mbG93OiByb3c7XG4gICAgZ2FwOiBjYWxjKHZhcigtLWNDb2x1bW4tZ2FwLXJvdy1zcCkgLyAzOTAgKiAxMDB2dyk7XG4gICAgYWxpZ24tc2VsZjogc3RhcnQ7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLmNvbXBvbmVudC50eXBlX2NvbHVtbiAuY29udGFpbmVyIC5pbm5lciAuaW1hZ2VzIHtcbiAgICAgIGdhcDogbWluKGNhbGModmFyKC0tY0NvbHVtbi1nYXAtcm93LXBjKSAqIDFweCksIGNhbGModmFyKC0tY0NvbHVtbi1nYXAtcm93LXBjKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAuY29tcG9uZW50LnR5cGVfY29sdW1uIC5jb250YWluZXIgLmlubmVyIC5pbWFnZXMgLnBJbWFnZUNhcHRpb24ge1xuICAgIGNvbnRhaW5lci10eXBlOiB1bnNldDtcbiAgICBtYXJnaW4taW5saW5lOiBhdXRvO1xuICB9XG4gIC5jb21wb25lbnQudHlwZV9jb2x1bW4gLmNvbnRhaW5lciAuaW5uZXIgLnRleHQge1xuICAgIGdyaWQtYXJlYTogdGV4dDtcbiAgfVxuICAuY29tcG9uZW50LnR5cGVfY29sdW1uIC5jb250YWluZXIgLmlubmVyIC5idXR0b24ge1xuICAgIGdyaWQtYXJlYTogYnV0dG9uO1xuICB9XG4gIC5jb21wb25lbnQudHlwZV9jb2x1bW4gLmNvbnRhaW5lciAuaW5uZXIgLmJ1dHRvbiAucEJ1dHRvbiB7XG4gICAgbWFyZ2luLWlubGluZTogYXV0bztcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuY29tcG9uZW50LnR5cGVfY29sdW1uIC5jb250YWluZXIgLmlubmVyIC5idXR0b24gLnBCdXR0b24ge1xuICAgICAgbWFyZ2luLWlubGluZTogdW5zZXQ7XG4gICAgfVxuICB9XG4gIC5jb21wb25lbnQudHlwZV90YWJsZSB7XG4gICAgbWFyZ2luLXRvcDogY2FsYyh2YXIoLS1jVGFibGUtbWFyZ2luLXRvcC1zcCkgLyAzOTAgKiAxMDB2dyk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLmNvbXBvbmVudC50eXBlX3RhYmxlIHtcbiAgICAgIG1hcmdpbi10b3A6IG1pbihjYWxjKHZhcigtLWNUYWJsZS1tYXJnaW4tdG9wLXBjKSAqIDFweCksIGNhbGModmFyKC0tY1RhYmxlLW1hcmdpbi10b3AtcGMpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIC5jb21wb25lbnQudHlwZV90YWJsZSAuaW5uZXIge1xuICAgIHBhZGRpbmctbGVmdDogY2FsYyh2YXIoLS1jb250YWluZXItcGFkZGluZy1zcCkgLyAzOTAgKiAxMDB2dyk7XG4gICAgcGFkZGluZy1yaWdodDogY2FsYyh2YXIoLS1jb250YWluZXItcGFkZGluZy1zcCkgLyAzOTAgKiAxMDB2dyk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLmNvbXBvbmVudC50eXBlX3RhYmxlIC5pbm5lciB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IHVuc2V0O1xuICAgICAgcGFkZGluZy1yaWdodDogdW5zZXQ7XG4gICAgICBtYXJnaW4taW5saW5lOiBhdXRvO1xuICAgICAgd2lkdGg6IG1pbigxMDI2cHgsIGNhbGMoMTAyNiAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAuY29tcG9uZW50LnR5cGVfdGFibGUgLmlubmVyIC50YWJsZV9zZXQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuICB9XG4gIC5jb21wb25lbnQudHlwZV90YWJsZSAuaW5uZXIgLnRhYmxlX3NldDpub3QoOmhhcygubmFycm93LCAucmV2ZXJzZSkpIHRhYmxlIHRoLCAuY29tcG9uZW50LnR5cGVfdGFibGUgLmlubmVyIC50YWJsZV9zZXQ6bm90KDpoYXMoLm5hcnJvdywgLnJldmVyc2UpKSB0YWJsZSB0ZCB7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItbGVmdC13aWR0aDogY2FsYyh2YXIoLS1wQ2VsbC1ib3JkZXItbGVmdCkgLyAzOTAgKiAxMDB2dyk7XG4gICAgYm9yZGVyLXRvcC13aWR0aDogY2FsYyh2YXIoLS1wQ2VsbC1ib3JkZXItdG9wKSAvIDM5MCAqIDEwMHZ3KTtcbiAgICBib3JkZXItcmlnaHQtd2lkdGg6IGNhbGModmFyKC0tcENlbGwtYm9yZGVyLXJpZ2h0KSAvIDM5MCAqIDEwMHZ3KTtcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiBjYWxjKHZhcigtLXBDZWxsLWJvcmRlci1ib3R0b20pIC8gMzkwICogMTAwdncpO1xuICAgIHBhZGRpbmctaW5saW5lOiBjYWxjKHZhcigtLXBDZWxsLXBhZGRpbmctaW5saW5lLXNwKSAvIDM5MCAqIDEwMHZ3KTtcbiAgICBmb250LXNpemU6IGNhbGModmFyKC0tcENlbGwtZm9udC1zaXplLXNwKSAvIDM5MCAqIDEwMHZ3KTtcbiAgICBtaW4td2lkdGg6IGNhbGModmFyKC0tcENlbGwtbWluLXdpZHRoKSAvIDM5MCAqIDEwMHZ3KTtcbiAgICBsaW5lLWhlaWdodDogMTQwJTtcbiAgICBjb2xvcjogdmFyKC0tcENlbGwtZGF0YS1jb2xvcik7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLXBDZWxsLWRhdGEtZm9udC13ZWlnaHQpO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tcENlbGwtZGF0YS1ib3JkZXItY29sb3IpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXBDZWxsLWRhdGEtYmFja2dyb3VuZCk7XG4gICAgcGFkZGluZy1ibG9jazogY2FsYyh2YXIoLS1wQ2VsbC1wYWRkaW5nLWJsb2NrLXNwKSAvIDM5MCAqIDEwMHZ3KTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuY29tcG9uZW50LnR5cGVfdGFibGUgLmlubmVyIC50YWJsZV9zZXQ6bm90KDpoYXMoLm5hcnJvdywgLnJldmVyc2UpKSB0YWJsZSB0aCwgLmNvbXBvbmVudC50eXBlX3RhYmxlIC5pbm5lciAudGFibGVfc2V0Om5vdCg6aGFzKC5uYXJyb3csIC5yZXZlcnNlKSkgdGFibGUgdGQge1xuICAgICAgZm9udC1zaXplOiBtaW4oY2FsYyh2YXIoLS1wQ2VsbC1mb250LXNpemUtcGMpICogMXB4KSwgY2FsYyh2YXIoLS1wQ2VsbC1mb250LXNpemUtcGMpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICBwYWRkaW5nLWlubGluZTogbWluKGNhbGModmFyKC0tcENlbGwtcGFkZGluZy1pbmxpbmUtcGMpICogMXB4KSwgY2FsYyh2YXIoLS1wQ2VsbC1wYWRkaW5nLWlubGluZS1wYykgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIG1pbi13aWR0aDogdW5zZXQ7XG4gICAgICBib3JkZXItbGVmdC13aWR0aDogbWluKGNhbGModmFyKC0tcENlbGwtYm9yZGVyLWxlZnQpICogMXB4KSwgY2FsYyh2YXIoLS1wQ2VsbC1ib3JkZXItbGVmdCkgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIGJvcmRlci10b3Atd2lkdGg6IG1pbihjYWxjKHZhcigtLXBDZWxsLWJvcmRlci10b3ApICogMXB4KSwgY2FsYyh2YXIoLS1wQ2VsbC1ib3JkZXItdG9wKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiBtaW4oY2FsYyh2YXIoLS1wQ2VsbC1ib3JkZXItcmlnaHQpICogMXB4KSwgY2FsYyh2YXIoLS1wQ2VsbC1ib3JkZXItcmlnaHQpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICBib3JkZXItYm90dG9tLXdpZHRoOiBtaW4oY2FsYyh2YXIoLS1wQ2VsbC1ib3JkZXItYm90dG9tKSAqIDFweCksIGNhbGModmFyKC0tcENlbGwtYm9yZGVyLWJvdHRvbSkgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgLmNvbXBvbmVudC50eXBlX3RhYmxlIC5pbm5lciAudGFibGVfc2V0Om5vdCg6aGFzKC5uYXJyb3csIC5yZXZlcnNlKSkgdGFibGUgdGggYSwgLmNvbXBvbmVudC50eXBlX3RhYmxlIC5pbm5lciAudGFibGVfc2V0Om5vdCg6aGFzKC5uYXJyb3csIC5yZXZlcnNlKSkgdGFibGUgdGQgYSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gIH1cbiAgQG1lZGlhIChhbnktaG92ZXI6IGhvdmVyKSB7XG4gICAgLmNvbXBvbmVudC50eXBlX3RhYmxlIC5pbm5lciAudGFibGVfc2V0Om5vdCg6aGFzKC5uYXJyb3csIC5yZXZlcnNlKSkgdGFibGUgdGggYTpob3ZlciwgLmNvbXBvbmVudC50eXBlX3RhYmxlIC5pbm5lciAudGFibGVfc2V0Om5vdCg6aGFzKC5uYXJyb3csIC5yZXZlcnNlKSkgdGFibGUgdGQgYTpob3ZlciB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgfVxuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5jb21wb25lbnQudHlwZV90YWJsZSAuaW5uZXIgLnRhYmxlX3NldDpub3QoOmhhcygubmFycm93LCAucmV2ZXJzZSkpIHRhYmxlIHRoLCAuY29tcG9uZW50LnR5cGVfdGFibGUgLmlubmVyIC50YWJsZV9zZXQ6bm90KDpoYXMoLm5hcnJvdywgLnJldmVyc2UpKSB0YWJsZSB0ZCB7XG4gICAgICBwYWRkaW5nLWJsb2NrOiBtaW4oY2FsYyh2YXIoLS1wQ2VsbC1wYWRkaW5nLWJsb2NrLXBjKSAqIDFweCksIGNhbGModmFyKC0tcENlbGwtcGFkZGluZy1ibG9jay1wYykgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgLmNvbXBvbmVudC50eXBlX3RhYmxlIC5pbm5lciAudGFibGVfc2V0LnJldmVyc2UgdGFibGUgdGgge1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWxlZnQtd2lkdGg6IGNhbGModmFyKC0tcENlbGwtYm9yZGVyLWxlZnQpIC8gMzkwICogMTAwdncpO1xuICAgIGJvcmRlci10b3Atd2lkdGg6IGNhbGModmFyKC0tcENlbGwtYm9yZGVyLXRvcCkgLyAzOTAgKiAxMDB2dyk7XG4gICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiBjYWxjKHZhcigtLXBDZWxsLWJvcmRlci1yaWdodCkgLyAzOTAgKiAxMDB2dyk7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogY2FsYyh2YXIoLS1wQ2VsbC1ib3JkZXItYm90dG9tKSAvIDM5MCAqIDEwMHZ3KTtcbiAgICBwYWRkaW5nLWlubGluZTogY2FsYyh2YXIoLS1wQ2VsbC1wYWRkaW5nLWlubGluZS1zcCkgLyAzOTAgKiAxMDB2dyk7XG4gICAgZm9udC1zaXplOiBjYWxjKHZhcigtLXBDZWxsLWZvbnQtc2l6ZS1zcCkgLyAzOTAgKiAxMDB2dyk7XG4gICAgbWluLXdpZHRoOiBjYWxjKHZhcigtLXBDZWxsLW1pbi13aWR0aCkgLyAzOTAgKiAxMDB2dyk7XG4gICAgbGluZS1oZWlnaHQ6IDE0MCU7XG4gICAgY29sb3I6IHZhcigtLXBDZWxsLXJldmVyc2UtY29sb3IpO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1wQ2VsbC1yZXZlcnNlLWZvbnQtd2VpZ2h0KTtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLXBDZWxsLXJldmVyc2UtYm9yZGVyLWNvbG9yKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wQ2VsbC1yZXZlcnNlLWJhY2tncm91bmQpO1xuICAgIHBhZGRpbmctYmxvY2s6IGNhbGModmFyKC0tcENlbGwtcGFkZGluZy1ibG9jay1zcCkgLyAzOTAgKiAxMDB2dyk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLmNvbXBvbmVudC50eXBlX3RhYmxlIC5pbm5lciAudGFibGVfc2V0LnJldmVyc2UgdGFibGUgdGgge1xuICAgICAgZm9udC1zaXplOiBtaW4oY2FsYyh2YXIoLS1wQ2VsbC1mb250LXNpemUtcGMpICogMXB4KSwgY2FsYyh2YXIoLS1wQ2VsbC1mb250LXNpemUtcGMpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICBwYWRkaW5nLWlubGluZTogbWluKGNhbGModmFyKC0tcENlbGwtcGFkZGluZy1pbmxpbmUtcGMpICogMXB4KSwgY2FsYyh2YXIoLS1wQ2VsbC1wYWRkaW5nLWlubGluZS1wYykgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIG1pbi13aWR0aDogdW5zZXQ7XG4gICAgICBib3JkZXItbGVmdC13aWR0aDogbWluKGNhbGModmFyKC0tcENlbGwtYm9yZGVyLWxlZnQpICogMXB4KSwgY2FsYyh2YXIoLS1wQ2VsbC1ib3JkZXItbGVmdCkgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIGJvcmRlci10b3Atd2lkdGg6IG1pbihjYWxjKHZhcigtLXBDZWxsLWJvcmRlci10b3ApICogMXB4KSwgY2FsYyh2YXIoLS1wQ2VsbC1ib3JkZXItdG9wKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiBtaW4oY2FsYyh2YXIoLS1wQ2VsbC1ib3JkZXItcmlnaHQpICogMXB4KSwgY2FsYyh2YXIoLS1wQ2VsbC1ib3JkZXItcmlnaHQpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICBib3JkZXItYm90dG9tLXdpZHRoOiBtaW4oY2FsYyh2YXIoLS1wQ2VsbC1ib3JkZXItYm90dG9tKSAqIDFweCksIGNhbGModmFyKC0tcENlbGwtYm9yZGVyLWJvdHRvbSkgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgLmNvbXBvbmVudC50eXBlX3RhYmxlIC5pbm5lciAudGFibGVfc2V0LnJldmVyc2UgdGFibGUgdGggYSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gIH1cbiAgQG1lZGlhIChhbnktaG92ZXI6IGhvdmVyKSB7XG4gICAgLmNvbXBvbmVudC50eXBlX3RhYmxlIC5pbm5lciAudGFibGVfc2V0LnJldmVyc2UgdGFibGUgdGggYTpob3ZlciB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgfVxuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5jb21wb25lbnQudHlwZV90YWJsZSAuaW5uZXIgLnRhYmxlX3NldC5yZXZlcnNlIHRhYmxlIHRoIHtcbiAgICAgIHBhZGRpbmctYmxvY2s6IG1pbihjYWxjKHZhcigtLXBDZWxsLXBhZGRpbmctYmxvY2stcGMpICogMXB4KSwgY2FsYyh2YXIoLS1wQ2VsbC1wYWRkaW5nLWJsb2NrLXBjKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAuY29tcG9uZW50LnR5cGVfdGFibGUgLmlubmVyIC50YWJsZV9zZXQubmFycm93IHRhYmxlIHRoLCAuY29tcG9uZW50LnR5cGVfdGFibGUgLmlubmVyIC50YWJsZV9zZXQubmFycm93IHRhYmxlIHRkIHtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1sZWZ0LXdpZHRoOiBjYWxjKHZhcigtLXBDZWxsLWJvcmRlci1sZWZ0KSAvIDM5MCAqIDEwMHZ3KTtcbiAgICBib3JkZXItdG9wLXdpZHRoOiBjYWxjKHZhcigtLXBDZWxsLWJvcmRlci10b3ApIC8gMzkwICogMTAwdncpO1xuICAgIGJvcmRlci1yaWdodC13aWR0aDogY2FsYyh2YXIoLS1wQ2VsbC1ib3JkZXItcmlnaHQpIC8gMzkwICogMTAwdncpO1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IGNhbGModmFyKC0tcENlbGwtYm9yZGVyLWJvdHRvbSkgLyAzOTAgKiAxMDB2dyk7XG4gICAgcGFkZGluZy1pbmxpbmU6IGNhbGModmFyKC0tcENlbGwtcGFkZGluZy1pbmxpbmUtc3ApIC8gMzkwICogMTAwdncpO1xuICAgIGZvbnQtc2l6ZTogY2FsYyh2YXIoLS1wQ2VsbC1mb250LXNpemUtc3ApIC8gMzkwICogMTAwdncpO1xuICAgIG1pbi13aWR0aDogY2FsYyh2YXIoLS1wQ2VsbC1taW4td2lkdGgpIC8gMzkwICogMTAwdncpO1xuICAgIGxpbmUtaGVpZ2h0OiAxNDAlO1xuICAgIHBhZGRpbmctYmxvY2s6IGNhbGModmFyKC0tcENlbGwtcGFkZGluZy1ibG9jay1zcC1uYXJyb3cpIC8gMzkwICogMTAwdncpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5jb21wb25lbnQudHlwZV90YWJsZSAuaW5uZXIgLnRhYmxlX3NldC5uYXJyb3cgdGFibGUgdGgsIC5jb21wb25lbnQudHlwZV90YWJsZSAuaW5uZXIgLnRhYmxlX3NldC5uYXJyb3cgdGFibGUgdGQge1xuICAgICAgZm9udC1zaXplOiBtaW4oY2FsYyh2YXIoLS1wQ2VsbC1mb250LXNpemUtcGMpICogMXB4KSwgY2FsYyh2YXIoLS1wQ2VsbC1mb250LXNpemUtcGMpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICBwYWRkaW5nLWlubGluZTogbWluKGNhbGModmFyKC0tcENlbGwtcGFkZGluZy1pbmxpbmUtcGMpICogMXB4KSwgY2FsYyh2YXIoLS1wQ2VsbC1wYWRkaW5nLWlubGluZS1wYykgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIG1pbi13aWR0aDogdW5zZXQ7XG4gICAgICBib3JkZXItbGVmdC13aWR0aDogbWluKGNhbGModmFyKC0tcENlbGwtYm9yZGVyLWxlZnQpICogMXB4KSwgY2FsYyh2YXIoLS1wQ2VsbC1ib3JkZXItbGVmdCkgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIGJvcmRlci10b3Atd2lkdGg6IG1pbihjYWxjKHZhcigtLXBDZWxsLWJvcmRlci10b3ApICogMXB4KSwgY2FsYyh2YXIoLS1wQ2VsbC1ib3JkZXItdG9wKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiBtaW4oY2FsYyh2YXIoLS1wQ2VsbC1ib3JkZXItcmlnaHQpICogMXB4KSwgY2FsYyh2YXIoLS1wQ2VsbC1ib3JkZXItcmlnaHQpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICBib3JkZXItYm90dG9tLXdpZHRoOiBtaW4oY2FsYyh2YXIoLS1wQ2VsbC1ib3JkZXItYm90dG9tKSAqIDFweCksIGNhbGModmFyKC0tcENlbGwtYm9yZGVyLWJvdHRvbSkgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgLmNvbXBvbmVudC50eXBlX3RhYmxlIC5pbm5lciAudGFibGVfc2V0Lm5hcnJvdyB0YWJsZSB0aCBhLCAuY29tcG9uZW50LnR5cGVfdGFibGUgLmlubmVyIC50YWJsZV9zZXQubmFycm93IHRhYmxlIHRkIGEge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICB9XG4gIEBtZWRpYSAoYW55LWhvdmVyOiBob3Zlcikge1xuICAgIC5jb21wb25lbnQudHlwZV90YWJsZSAuaW5uZXIgLnRhYmxlX3NldC5uYXJyb3cgdGFibGUgdGggYTpob3ZlciwgLmNvbXBvbmVudC50eXBlX3RhYmxlIC5pbm5lciAudGFibGVfc2V0Lm5hcnJvdyB0YWJsZSB0ZCBhOmhvdmVyIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB9XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLmNvbXBvbmVudC50eXBlX3RhYmxlIC5pbm5lciAudGFibGVfc2V0Lm5hcnJvdyB0YWJsZSB0aCwgLmNvbXBvbmVudC50eXBlX3RhYmxlIC5pbm5lciAudGFibGVfc2V0Lm5hcnJvdyB0YWJsZSB0ZCB7XG4gICAgICBwYWRkaW5nLWJsb2NrOiBtaW4oY2FsYyh2YXIoLS1wQ2VsbC1wYWRkaW5nLWJsb2NrLXBjLW5hcnJvdykgKiAxcHgpLCBjYWxjKHZhcigtLXBDZWxsLXBhZGRpbmctYmxvY2stcGMtbmFycm93KSAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuY29tcG9uZW50LnR5cGVfdGFibGUgLmlubmVyIC50YWJsZV9zZXQuZml4ZWQgdGFibGUge1xuICAgICAgdGFibGUtbGF5b3V0OiBmaXhlZDtcbiAgICB9XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLmNvbXBvbmVudC50eXBlX3RhYmxlIC5pbm5lciAudGFibGVfc2V0LmZpeGVkIHRhYmxlIHRoLCAuY29tcG9uZW50LnR5cGVfdGFibGUgLmlubmVyIC50YWJsZV9zZXQuZml4ZWQgdGFibGUgdGQge1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgfVxuICB9XG4gIC5jb21wb25lbnQudHlwZV90YWJsZSAuaW5uZXIgLnRhYmxlX3NldC5maXhfbGVmdCB0YWJsZSB0aCB7XG4gICAgcG9zaXRpb246IHN0aWNreTtcbiAgICBsZWZ0OiAwO1xuICB9XG4gIC5jb21wb25lbnQudHlwZV90YWJsZSAuaW5uZXIgLnRhYmxlX3NldC56ZWJyYSB0YWJsZSB0cjpudGgtY2hpbGQob2RkKSB0aCwgLmNvbXBvbmVudC50eXBlX3RhYmxlIC5pbm5lciAudGFibGVfc2V0LnplYnJhIHRhYmxlIHRyOm50aC1jaGlsZChvZGQpIHRkIHtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1sZWZ0LXdpZHRoOiBjYWxjKHZhcigtLXBDZWxsLWJvcmRlci1sZWZ0KSAvIDM5MCAqIDEwMHZ3KTtcbiAgICBib3JkZXItdG9wLXdpZHRoOiBjYWxjKHZhcigtLXBDZWxsLWJvcmRlci10b3ApIC8gMzkwICogMTAwdncpO1xuICAgIGJvcmRlci1yaWdodC13aWR0aDogY2FsYyh2YXIoLS1wQ2VsbC1ib3JkZXItcmlnaHQpIC8gMzkwICogMTAwdncpO1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IGNhbGModmFyKC0tcENlbGwtYm9yZGVyLWJvdHRvbSkgLyAzOTAgKiAxMDB2dyk7XG4gICAgcGFkZGluZy1pbmxpbmU6IGNhbGModmFyKC0tcENlbGwtcGFkZGluZy1pbmxpbmUtc3ApIC8gMzkwICogMTAwdncpO1xuICAgIGZvbnQtc2l6ZTogY2FsYyh2YXIoLS1wQ2VsbC1mb250LXNpemUtc3ApIC8gMzkwICogMTAwdncpO1xuICAgIG1pbi13aWR0aDogY2FsYyh2YXIoLS1wQ2VsbC1taW4td2lkdGgpIC8gMzkwICogMTAwdncpO1xuICAgIGxpbmUtaGVpZ2h0OiAxNDAlO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXBDZWxsLXplYnJhLWJhY2tncm91bmQpO1xuICAgIGNvbG9yOiB2YXIoLS1wQ2VsbC16ZWJyYS1jb2xvcik7XG4gICAgcGFkZGluZy1ibG9jazogY2FsYyh2YXIoLS1wQ2VsbC1wYWRkaW5nLWJsb2NrLXNwKSAvIDM5MCAqIDEwMHZ3KTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuY29tcG9uZW50LnR5cGVfdGFibGUgLmlubmVyIC50YWJsZV9zZXQuemVicmEgdGFibGUgdHI6bnRoLWNoaWxkKG9kZCkgdGgsIC5jb21wb25lbnQudHlwZV90YWJsZSAuaW5uZXIgLnRhYmxlX3NldC56ZWJyYSB0YWJsZSB0cjpudGgtY2hpbGQob2RkKSB0ZCB7XG4gICAgICBmb250LXNpemU6IG1pbihjYWxjKHZhcigtLXBDZWxsLWZvbnQtc2l6ZS1wYykgKiAxcHgpLCBjYWxjKHZhcigtLXBDZWxsLWZvbnQtc2l6ZS1wYykgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIHBhZGRpbmctaW5saW5lOiBtaW4oY2FsYyh2YXIoLS1wQ2VsbC1wYWRkaW5nLWlubGluZS1wYykgKiAxcHgpLCBjYWxjKHZhcigtLXBDZWxsLXBhZGRpbmctaW5saW5lLXBjKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgbWluLXdpZHRoOiB1bnNldDtcbiAgICAgIGJvcmRlci1sZWZ0LXdpZHRoOiBtaW4oY2FsYyh2YXIoLS1wQ2VsbC1ib3JkZXItbGVmdCkgKiAxcHgpLCBjYWxjKHZhcigtLXBDZWxsLWJvcmRlci1sZWZ0KSAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgYm9yZGVyLXRvcC13aWR0aDogbWluKGNhbGModmFyKC0tcENlbGwtYm9yZGVyLXRvcCkgKiAxcHgpLCBjYWxjKHZhcigtLXBDZWxsLWJvcmRlci10b3ApIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICBib3JkZXItcmlnaHQtd2lkdGg6IG1pbihjYWxjKHZhcigtLXBDZWxsLWJvcmRlci1yaWdodCkgKiAxcHgpLCBjYWxjKHZhcigtLXBDZWxsLWJvcmRlci1yaWdodCkgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6IG1pbihjYWxjKHZhcigtLXBDZWxsLWJvcmRlci1ib3R0b20pICogMXB4KSwgY2FsYyh2YXIoLS1wQ2VsbC1ib3JkZXItYm90dG9tKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAuY29tcG9uZW50LnR5cGVfdGFibGUgLmlubmVyIC50YWJsZV9zZXQuemVicmEgdGFibGUgdHI6bnRoLWNoaWxkKG9kZCkgdGggYSwgLmNvbXBvbmVudC50eXBlX3RhYmxlIC5pbm5lciAudGFibGVfc2V0LnplYnJhIHRhYmxlIHRyOm50aC1jaGlsZChvZGQpIHRkIGEge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICB9XG4gIEBtZWRpYSAoYW55LWhvdmVyOiBob3Zlcikge1xuICAgIC5jb21wb25lbnQudHlwZV90YWJsZSAuaW5uZXIgLnRhYmxlX3NldC56ZWJyYSB0YWJsZSB0cjpudGgtY2hpbGQob2RkKSB0aCBhOmhvdmVyLCAuY29tcG9uZW50LnR5cGVfdGFibGUgLmlubmVyIC50YWJsZV9zZXQuemVicmEgdGFibGUgdHI6bnRoLWNoaWxkKG9kZCkgdGQgYTpob3ZlciB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgfVxuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5jb21wb25lbnQudHlwZV90YWJsZSAuaW5uZXIgLnRhYmxlX3NldC56ZWJyYSB0YWJsZSB0cjpudGgtY2hpbGQob2RkKSB0aCwgLmNvbXBvbmVudC50eXBlX3RhYmxlIC5pbm5lciAudGFibGVfc2V0LnplYnJhIHRhYmxlIHRyOm50aC1jaGlsZChvZGQpIHRkIHtcbiAgICAgIHBhZGRpbmctYmxvY2s6IG1pbihjYWxjKHZhcigtLXBDZWxsLXBhZGRpbmctYmxvY2stcGMpICogMXB4KSwgY2FsYyh2YXIoLS1wQ2VsbC1wYWRkaW5nLWJsb2NrLXBjKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAuY29tcG9uZW50LnR5cGVfdGFibGUgLmlubmVyIC50YWJsZV9zZXQgdGFibGUge1xuICAgIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbiAgLmNvbXBvbmVudC50eXBlX3RhYmxlIC5pbm5lciAudGFibGVfc2V0IHRhYmxlIHRyOmhhcyh0ZCkgdGgge1xuICAgIHdpZHRoOiAyNSU7XG4gIH1cbiAgLmNvbXBvbmVudC50eXBlX3RhYmxlIC5pbm5lciAudGFibGVfc2V0IHRhYmxlIHRoIHtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1sZWZ0LXdpZHRoOiBjYWxjKHZhcigtLXBDZWxsLWJvcmRlci1sZWZ0KSAvIDM5MCAqIDEwMHZ3KTtcbiAgICBib3JkZXItdG9wLXdpZHRoOiBjYWxjKHZhcigtLXBDZWxsLWJvcmRlci10b3ApIC8gMzkwICogMTAwdncpO1xuICAgIGJvcmRlci1yaWdodC13aWR0aDogY2FsYyh2YXIoLS1wQ2VsbC1ib3JkZXItcmlnaHQpIC8gMzkwICogMTAwdncpO1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IGNhbGModmFyKC0tcENlbGwtYm9yZGVyLWJvdHRvbSkgLyAzOTAgKiAxMDB2dyk7XG4gICAgcGFkZGluZy1pbmxpbmU6IGNhbGModmFyKC0tcENlbGwtcGFkZGluZy1pbmxpbmUtc3ApIC8gMzkwICogMTAwdncpO1xuICAgIGZvbnQtc2l6ZTogY2FsYyh2YXIoLS1wQ2VsbC1mb250LXNpemUtc3ApIC8gMzkwICogMTAwdncpO1xuICAgIG1pbi13aWR0aDogY2FsYyh2YXIoLS1wQ2VsbC1taW4td2lkdGgpIC8gMzkwICogMTAwdncpO1xuICAgIGxpbmUtaGVpZ2h0OiAxNDAlO1xuICAgIGNvbG9yOiB2YXIoLS1wQ2VsbC1oZWFkZXItY29sb3IpO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1wQ2VsbC1oZWFkZXItZm9udC13ZWlnaHQpO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tcENlbGwtaGVhZGVyLWJvcmRlci1jb2xvcik7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcENlbGwtaGVhZGVyLWJhY2tncm91bmQpO1xuICAgIHBhZGRpbmctYmxvY2s6IGNhbGModmFyKC0tcENlbGwtcGFkZGluZy1ibG9jay1zcCkgLyAzOTAgKiAxMDB2dyk7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5jb21wb25lbnQudHlwZV90YWJsZSAuaW5uZXIgLnRhYmxlX3NldCB0YWJsZSB0aCB7XG4gICAgICBmb250LXNpemU6IG1pbihjYWxjKHZhcigtLXBDZWxsLWZvbnQtc2l6ZS1wYykgKiAxcHgpLCBjYWxjKHZhcigtLXBDZWxsLWZvbnQtc2l6ZS1wYykgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIHBhZGRpbmctaW5saW5lOiBtaW4oY2FsYyh2YXIoLS1wQ2VsbC1wYWRkaW5nLWlubGluZS1wYykgKiAxcHgpLCBjYWxjKHZhcigtLXBDZWxsLXBhZGRpbmctaW5saW5lLXBjKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgbWluLXdpZHRoOiB1bnNldDtcbiAgICAgIGJvcmRlci1sZWZ0LXdpZHRoOiBtaW4oY2FsYyh2YXIoLS1wQ2VsbC1ib3JkZXItbGVmdCkgKiAxcHgpLCBjYWxjKHZhcigtLXBDZWxsLWJvcmRlci1sZWZ0KSAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgYm9yZGVyLXRvcC13aWR0aDogbWluKGNhbGModmFyKC0tcENlbGwtYm9yZGVyLXRvcCkgKiAxcHgpLCBjYWxjKHZhcigtLXBDZWxsLWJvcmRlci10b3ApIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICBib3JkZXItcmlnaHQtd2lkdGg6IG1pbihjYWxjKHZhcigtLXBDZWxsLWJvcmRlci1yaWdodCkgKiAxcHgpLCBjYWxjKHZhcigtLXBDZWxsLWJvcmRlci1yaWdodCkgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6IG1pbihjYWxjKHZhcigtLXBDZWxsLWJvcmRlci1ib3R0b20pICogMXB4KSwgY2FsYyh2YXIoLS1wQ2VsbC1ib3JkZXItYm90dG9tKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAuY29tcG9uZW50LnR5cGVfdGFibGUgLmlubmVyIC50YWJsZV9zZXQgdGFibGUgdGggYSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gIH1cbiAgQG1lZGlhIChhbnktaG92ZXI6IGhvdmVyKSB7XG4gICAgLmNvbXBvbmVudC50eXBlX3RhYmxlIC5pbm5lciAudGFibGVfc2V0IHRhYmxlIHRoIGE6aG92ZXIge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuY29tcG9uZW50LnR5cGVfdGFibGUgLmlubmVyIC50YWJsZV9zZXQgdGFibGUgdGgge1xuICAgICAgcGFkZGluZy1ibG9jazogbWluKGNhbGModmFyKC0tcENlbGwtcGFkZGluZy1ibG9jay1wYykgKiAxcHgpLCBjYWxjKHZhcigtLXBDZWxsLXBhZGRpbmctYmxvY2stcGMpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIC5jb21wb25lbnQudHlwZV90YWJsZSAuaW5uZXIgLnRhYmxlX3NldCB0YWJsZSB0ZCBvbCB7XG4gICAgbGlzdC1zdHlsZTogZGVjaW1hbDtcbiAgICBwYWRkaW5nLWxlZnQ6IDFlbTtcbiAgfVxuICAuY29tcG9uZW50LnR5cGVfdGFibGUgLmlubmVyIC50YWJsZV9zZXQgdGFibGUgdGQgdWwge1xuICAgIGxpc3Qtc3R5bGU6IGRpc2M7XG4gICAgcGFkZGluZy1sZWZ0OiAxZW07XG4gIH1cbiAgLmNvbXBvbmVudC50eXBlX2J1dHRvbiB7XG4gICAgbWFyZ2luLXRvcDogY2FsYyh2YXIoLS1jQnV0dG9uLW1hcmdpbi10b3Atc3ApIC8gMzkwICogMTAwdncpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5jb21wb25lbnQudHlwZV9idXR0b24ge1xuICAgICAgbWFyZ2luLXRvcDogbWluKGNhbGModmFyKC0tY0J1dHRvbi1tYXJnaW4tdG9wLXBjKSAqIDFweCksIGNhbGModmFyKC0tY0J1dHRvbi1tYXJnaW4tdG9wLXBjKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAuY29tcG9uZW50LnR5cGVfYnV0dG9uIC5pbm5lciB7XG4gICAgcGFkZGluZy1sZWZ0OiBjYWxjKHZhcigtLWNvbnRhaW5lci1wYWRkaW5nLXNwKSAvIDM5MCAqIDEwMHZ3KTtcbiAgICBwYWRkaW5nLXJpZ2h0OiBjYWxjKHZhcigtLWNvbnRhaW5lci1wYWRkaW5nLXNwKSAvIDM5MCAqIDEwMHZ3KTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuY29tcG9uZW50LnR5cGVfYnV0dG9uIC5pbm5lciB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IHVuc2V0O1xuICAgICAgcGFkZGluZy1yaWdodDogdW5zZXQ7XG4gICAgICBtYXJnaW4taW5saW5lOiBhdXRvO1xuICAgICAgd2lkdGg6IG1pbigxMDI2cHgsIGNhbGMoMTAyNiAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAuY29tcG9uZW50LnR5cGVfYnV0dG9uIC5pbm5lciB1bCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgZ2FwOiBjYWxjKHZhcigtLWNCdXR0b24tZ2FwLWNvbC1zcCkgLyAzOTAgKiAxMDB2dykgY2FsYyh2YXIoLS1jQnV0dG9uLWdhcC1yb3ctc3ApIC8gMzkwICogMTAwdncpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5jb21wb25lbnQudHlwZV9idXR0b24gLmlubmVyIHVsIHtcbiAgICAgIGdhcDogbWluKGNhbGModmFyKC0tY0J1dHRvbi1nYXAtY29sLXBjKSAqIDFweCksIGNhbGModmFyKC0tY0J1dHRvbi1nYXAtY29sLXBjKSAvIDE0NDAgKiAxMDB2dykpIG1pbihjYWxjKHZhcigtLWNCdXR0b24tZ2FwLXJvdy1wYykgKiAxcHgpLCBjYWxjKHZhcigtLWNCdXR0b24tZ2FwLXJvdy1wYykgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgLmNvbXBvbmVudC50eXBlX2FuY2hvciB7XG4gICAgbWFyZ2luLXRvcDogY2FsYyh2YXIoLS1tYXJnaW4tc2VjdGlvbikgLyAzOTAgKiAxMDB2dyk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLmNvbXBvbmVudC50eXBlX2FuY2hvciB7XG4gICAgICBtYXJnaW4tdG9wOiBtaW4oY2FsYyh2YXIoLS1tYXJnaW4tc2VjdGlvbi1wYykgKiAxcHgpLCBjYWxjKHZhcigtLW1hcmdpbi1zZWN0aW9uLXBjKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAuY29tcG9uZW50LnR5cGVfYW5jaG9yIC5pbm5lciB7XG4gICAgcGFkZGluZy1sZWZ0OiBjYWxjKHZhcigtLWNvbnRhaW5lci1wYWRkaW5nLXNwKSAvIDM5MCAqIDEwMHZ3KTtcbiAgICBwYWRkaW5nLXJpZ2h0OiBjYWxjKHZhcigtLWNvbnRhaW5lci1wYWRkaW5nLXNwKSAvIDM5MCAqIDEwMHZ3KTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuY29tcG9uZW50LnR5cGVfYW5jaG9yIC5pbm5lciB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IHVuc2V0O1xuICAgICAgcGFkZGluZy1yaWdodDogdW5zZXQ7XG4gICAgICBtYXJnaW4taW5saW5lOiBhdXRvO1xuICAgICAgd2lkdGg6IG1pbigxMDI2cHgsIGNhbGMoMTAyNiAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAuY29tcG9uZW50LnR5cGVfYW5jaG9yIC5pbm5lciB1bCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGdhcDogY2FsYyg4IC8gMzkwICogMTAwdncpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5jb21wb25lbnQudHlwZV9hbmNob3IgLmlubmVyIHVsIHtcbiAgICAgIGdhcDogbWluKDEycHgsIGNhbGMoMTIgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgLmNvbXBvbmVudC50eXBlX2FuY2hvciAuaW5uZXIgdWwgbGkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuICAuY29tcG9uZW50LnR5cGVfbnVtIHtcbiAgICBtYXJnaW4tdG9wOiBjYWxjKHZhcigtLW1hcmdpbi1zZWN0aW9uKSAvIDM5MCAqIDEwMHZ3KTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRTJGM0Y4O1xuICAgIHBhZGRpbmctdG9wOiAzMHB4O1xuICAgIHBhZGRpbmctYm90dG9tOiAzMHB4O1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5jb21wb25lbnQudHlwZV9udW0ge1xuICAgICAgbWFyZ2luLXRvcDogbWluKGNhbGModmFyKC0tbWFyZ2luLXNlY3Rpb24tcGMpICogMXB4KSwgY2FsYyh2YXIoLS1tYXJnaW4tc2VjdGlvbi1wYykgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLmNvbXBvbmVudC50eXBlX251bSB7XG4gICAgICBwYWRkaW5nLXRvcDogNDBweDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiA1MHB4O1xuICAgIH1cbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuY29tcG9uZW50LnR5cGVfbnVtLnNldDIgLmlubmVyIHtcbiAgICAgIGdhcDogODBweDtcbiAgICB9XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLmNvbXBvbmVudC50eXBlX251bS5zZXQzIC5pbm5lciB7XG4gICAgICBnYXA6IDM1cHg7XG4gICAgfVxuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5jb21wb25lbnQudHlwZV9udW0uc2V0MyAuaW5uZXIsIC5jb21wb25lbnQudHlwZV9udW0uc2V0NCAuaW5uZXIge1xuICAgICAgZ2FwOiAyMHB4O1xuICAgIH1cbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuY29tcG9uZW50LnR5cGVfbnVtLnNldDMgLmlubmVyIC51bml0IC5jaXJjbGUsIC5jb21wb25lbnQudHlwZV9udW0uc2V0NCAuaW5uZXIgLnVuaXQgLmNpcmNsZSB7XG4gICAgICB3aWR0aDogMjMwcHg7XG4gICAgICBoZWlnaHQ6IDIzMHB4O1xuICAgIH1cbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuY29tcG9uZW50LnR5cGVfbnVtLnNldDMgLmlubmVyIC51bml0IC5jaXJjbGUgZGwgZHQsIC5jb21wb25lbnQudHlwZV9udW0uc2V0NCAuaW5uZXIgLnVuaXQgLmNpcmNsZSBkbCBkdCB7XG4gICAgICB0b3A6IDQwcHg7XG4gICAgICBwYWRkaW5nOiAwIDM1cHg7XG4gICAgfVxuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5jb21wb25lbnQudHlwZV9udW0uc2V0MyAuaW5uZXIgLnVuaXQgLmNpcmNsZSBkbCBkZCwgLmNvbXBvbmVudC50eXBlX251bS5zZXQ0IC5pbm5lciAudW5pdCAuY2lyY2xlIGRsIGRkIHtcbiAgICAgIHRvcDogODBweDtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICB9XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLmNvbXBvbmVudC50eXBlX251bS5zZXQzIC5pbm5lciAudW5pdCAuY2lyY2xlIGRsIGRkIHNwYW4sIC5jb21wb25lbnQudHlwZV9udW0uc2V0NCAuaW5uZXIgLnVuaXQgLmNpcmNsZSBkbCBkZCBzcGFuIHtcbiAgICAgIG1hcmdpbjogMCAwIDhweCA2cHg7XG4gICAgfVxuICB9XG4gIC5jb21wb25lbnQudHlwZV9udW0gLmlubmVyIHtcbiAgICBwYWRkaW5nLWxlZnQ6IGNhbGModmFyKC0tY29udGFpbmVyLXBhZGRpbmctc3ApIC8gMzkwICogMTAwdncpO1xuICAgIHBhZGRpbmctcmlnaHQ6IGNhbGModmFyKC0tY29udGFpbmVyLXBhZGRpbmctc3ApIC8gMzkwICogMTAwdncpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5jb21wb25lbnQudHlwZV9udW0gLmlubmVyIHtcbiAgICAgIHBhZGRpbmctbGVmdDogdW5zZXQ7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiB1bnNldDtcbiAgICAgIG1hcmdpbi1pbmxpbmU6IGF1dG87XG4gICAgICB3aWR0aDogbWluKDEwMjZweCwgY2FsYygxMDI2IC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5jb21wb25lbnQudHlwZV9udW0gLmlubmVyIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIGdhcDogMjBweDtcbiAgICB9XG4gIH1cbiAgLmNvbXBvbmVudC50eXBlX251bSAuaW5uZXIgLnVuaXQge1xuICAgIG1hcmdpbi10b3A6IDUwcHg7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLmNvbXBvbmVudC50eXBlX251bSAuaW5uZXIgLnVuaXQge1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICB9XG4gIH1cbiAgLmNvbXBvbmVudC50eXBlX251bSAuaW5uZXIgLnVuaXQ6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgfVxuICAuY29tcG9uZW50LnR5cGVfbnVtIC5pbm5lciAudW5pdCAuY2lyY2xlIHtcbiAgICB3aWR0aDogMzAwcHg7XG4gICAgaGVpZ2h0OiAzMDBweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3Itc3VyZmFjZSk7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuY29tcG9uZW50LnR5cGVfbnVtIC5pbm5lciAudW5pdCAuY2lyY2xlIHtcbiAgICAgIHdpZHRoOiAzMjBweDtcbiAgICAgIGhlaWdodDogMzIwcHg7XG4gICAgfVxuICB9XG4gIC5jb21wb25lbnQudHlwZV9udW0gLmlubmVyIC51bml0IC5jaXJjbGUgZGwgZHQge1xuICAgIGZvbnQtc2l6ZTogY2FsYygxOCAvIDM5MCAqIDEwMHZ3KTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA3MHB4O1xuICAgIHBhZGRpbmc6IDAgMzBweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbiAgLmNvbXBvbmVudC50eXBlX251bSAuaW5uZXIgLnVuaXQgLmNpcmNsZSBkbCBkZCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMTEwcHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWJyYW5kKTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDA7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLmNvbXBvbmVudC50eXBlX251bSAuaW5uZXIgLnVuaXQgLmNpcmNsZSBkbCBkZCB7XG4gICAgICB0b3A6IDEyMHB4O1xuICAgIH1cbiAgfVxuICAuY29tcG9uZW50LnR5cGVfbnVtIC5pbm5lciAudW5pdCAuY2lyY2xlIGRsIGRkIGVtIHtcbiAgICBmb250LXNpemU6IGNhbGMoNzAgLyAzOTAgKiAxMDB2dyk7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLmNvbXBvbmVudC50eXBlX251bSAuaW5uZXIgLnVuaXQgLmNpcmNsZSBkbCBkZCBlbSB7XG4gICAgICBmb250LXNpemU6IG1pbig4MHB4LCBjYWxjKDgwIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIC5jb21wb25lbnQudHlwZV9udW0gLmlubmVyIC51bml0IC5jaXJjbGUgZGwgZGQgc3BhbiB7XG4gICAgZm9udC1zaXplOiBjYWxjKDI0IC8gMzkwICogMTAwdncpO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi10b3A6IDI1cHg7XG4gIH1cbiAgLmNvbXBvbmVudC50eXBlX251bSAuaW5uZXIgLnVuaXQgLmRlc2Mge1xuICAgIGZvbnQtc2l6ZTogY2FsYygxMyAvIDM5MCAqIDEwMHZ3KTtcbiAgICBtYXJnaW4tdG9wOiAxNXB4O1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5jb21wb25lbnQudHlwZV9udW0gLmlubmVyIC51bml0IC5kZXNjIHtcbiAgICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgICBmb250LXNpemU6IG1pbigxNXB4LCBjYWxjKDE1IC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIC5jb21wb25lbnQudHlwZV93eXNpd3lnIHtcbiAgICBtYXJnaW4tdG9wOiBjYWxjKHZhcigtLW1hcmdpbi10b3AtMikgLyAzOTAgKiAxMDB2dyk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLmNvbXBvbmVudC50eXBlX3d5c2l3eWcge1xuICAgICAgbWFyZ2luLXRvcDogbWluKGNhbGModmFyKC0tbWFyZ2luLXRvcC0zKSAqIDFweCksIGNhbGModmFyKC0tbWFyZ2luLXRvcC0zKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAuY29tcG9uZW50LnR5cGVfd3lzaXd5ZyAuaW5uZXIge1xuICAgIHBhZGRpbmctbGVmdDogY2FsYyh2YXIoLS1jb250YWluZXItcGFkZGluZy1zcCkgLyAzOTAgKiAxMDB2dyk7XG4gICAgcGFkZGluZy1yaWdodDogY2FsYyh2YXIoLS1jb250YWluZXItcGFkZGluZy1zcCkgLyAzOTAgKiAxMDB2dyk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLmNvbXBvbmVudC50eXBlX3d5c2l3eWcgLmlubmVyIHtcbiAgICAgIHBhZGRpbmctbGVmdDogdW5zZXQ7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiB1bnNldDtcbiAgICAgIG1hcmdpbi1pbmxpbmU6IGF1dG87XG4gICAgICB3aWR0aDogbWluKDEwMjZweCwgY2FsYygxMDI2IC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIC5jb21wb25lbnQudHlwZV9jYXRhbG9nIHtcbiAgICBtYXJnaW4tdG9wOiBjYWxjKHZhcigtLWNDYXRhbG9nLW1hcmdpbi10b3Atc3ApIC8gMzkwICogMTAwdncpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5jb21wb25lbnQudHlwZV9jYXRhbG9nIHtcbiAgICAgIG1hcmdpbi10b3A6IG1pbihjYWxjKHZhcigtLWNDYXRhbG9nLW1hcmdpbi10b3AtcGMpICogMXB4KSwgY2FsYyh2YXIoLS1jQ2F0YWxvZy1tYXJnaW4tdG9wLXBjKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAuY29tcG9uZW50LnR5cGVfY2F0YWxvZyAuaW5uZXIge1xuICAgIHBhZGRpbmctbGVmdDogY2FsYyh2YXIoLS1jb250YWluZXItcGFkZGluZy1zcCkgLyAzOTAgKiAxMDB2dyk7XG4gICAgcGFkZGluZy1yaWdodDogY2FsYyh2YXIoLS1jb250YWluZXItcGFkZGluZy1zcCkgLyAzOTAgKiAxMDB2dyk7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgxLCAxZnIpO1xuICAgIGdhcDogY2FsYyh2YXIoLS1jQ2F0YWxvZy1nYXAtcm93LXNwKSAvIDM5MCAqIDEwMHZ3KSAwO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5jb21wb25lbnQudHlwZV9jYXRhbG9nIC5pbm5lciB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IHVuc2V0O1xuICAgICAgcGFkZGluZy1yaWdodDogdW5zZXQ7XG4gICAgICBtYXJnaW4taW5saW5lOiBhdXRvO1xuICAgICAgd2lkdGg6IG1pbigxMDI2cHgsIGNhbGMoMTAyNiAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuY29tcG9uZW50LnR5cGVfY2F0YWxvZyAuaW5uZXIge1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMywgMWZyKTtcbiAgICAgIGdhcDogbWluKGNhbGModmFyKC0tY0NhdGFsb2ctZ2FwLXJvdy1wYykgKiAxcHgpLCBjYWxjKHZhcigtLWNDYXRhbG9nLWdhcC1yb3ctcGMpIC8gMTQ0MCAqIDEwMHZ3KSkgbWluKGNhbGModmFyKC0tY0NhdGFsb2ctZ2FwLWNvbC1wYykgKiAxcHgpLCBjYWxjKHZhcigtLWNDYXRhbG9nLWdhcC1jb2wtcGMpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIC5jb21wb25lbnQudHlwZV9maWxlbGlzdCB7XG4gICAgbWFyZ2luLXRvcDogY2FsYyh2YXIoLS1jRmlsZWxpc3QtbWFyZ2luLXRvcC1zcCkgLyAzOTAgKiAxMDB2dyk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLmNvbXBvbmVudC50eXBlX2ZpbGVsaXN0IHtcbiAgICAgIG1hcmdpbi10b3A6IG1pbihjYWxjKHZhcigtLWNGaWxlbGlzdC1tYXJnaW4tdG9wLXBjKSAqIDFweCksIGNhbGModmFyKC0tY0ZpbGVsaXN0LW1hcmdpbi10b3AtcGMpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIC5jb21wb25lbnQudHlwZV9maWxlbGlzdCAuaW5uZXIge1xuICAgIHBhZGRpbmctbGVmdDogY2FsYyh2YXIoLS1jb250YWluZXItcGFkZGluZy1zcCkgLyAzOTAgKiAxMDB2dyk7XG4gICAgcGFkZGluZy1yaWdodDogY2FsYyh2YXIoLS1jb250YWluZXItcGFkZGluZy1zcCkgLyAzOTAgKiAxMDB2dyk7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpO1xuICAgIGdhcDogY2FsYyh2YXIoLS1jRmlsZWxpc3QtZ2FwLXJvdy1zcCkgLyAzOTAgKiAxMDB2dykgY2FsYyh2YXIoLS1jRmlsZWxpc3QtZ2FwLWNvbC1zcCkgLyAzOTAgKiAxMDB2dyk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLmNvbXBvbmVudC50eXBlX2ZpbGVsaXN0IC5pbm5lciB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IHVuc2V0O1xuICAgICAgcGFkZGluZy1yaWdodDogdW5zZXQ7XG4gICAgICBtYXJnaW4taW5saW5lOiBhdXRvO1xuICAgICAgd2lkdGg6IG1pbigxMDI2cHgsIGNhbGMoMTAyNiAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuY29tcG9uZW50LnR5cGVfZmlsZWxpc3QgLmlubmVyIHtcbiAgICAgIGdhcDogbWluKGNhbGModmFyKC0tY0ZpbGVsaXN0LWdhcC1yb3ctcGMpICogMXB4KSwgY2FsYyh2YXIoLS1jRmlsZWxpc3QtZ2FwLXJvdy1wYykgLyAxNDQwICogMTAwdncpKSBtaW4oY2FsYyh2YXIoLS1jRmlsZWxpc3QtZ2FwLWNvbC1wYykgKiAxcHgpLCBjYWxjKHZhcigtLWNGaWxlbGlzdC1nYXAtY29sLXBjKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAuY29tcG9uZW50LnR5cGVfZmFxIHtcbiAgICBtYXJnaW4tdG9wOiBjYWxjKHZhcigtLWNGYXEtbWFyZ2luLXRvcC1zcCkgLyAzOTAgKiAxMDB2dyk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLmNvbXBvbmVudC50eXBlX2ZhcSB7XG4gICAgICBtYXJnaW4tdG9wOiBtaW4oY2FsYyh2YXIoLS1jRmFxLW1hcmdpbi10b3AtcGMpICogMXB4KSwgY2FsYyh2YXIoLS1jRmFxLW1hcmdpbi10b3AtcGMpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIC5jb21wb25lbnQudHlwZV9mYXEgLmlubmVyIHtcbiAgICBwYWRkaW5nLWxlZnQ6IGNhbGModmFyKC0tY29udGFpbmVyLXBhZGRpbmctc3ApIC8gMzkwICogMTAwdncpO1xuICAgIHBhZGRpbmctcmlnaHQ6IGNhbGModmFyKC0tY29udGFpbmVyLXBhZGRpbmctc3ApIC8gMzkwICogMTAwdncpO1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC1hdXRvLWZsb3c6IHJvdztcbiAgICBnYXA6IGNhbGModmFyKC0tY0ZhcS1nYXAtc3ApIC8gMzkwICogMTAwdncpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5jb21wb25lbnQudHlwZV9mYXEgLmlubmVyIHtcbiAgICAgIHBhZGRpbmctbGVmdDogdW5zZXQ7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiB1bnNldDtcbiAgICAgIG1hcmdpbi1pbmxpbmU6IGF1dG87XG4gICAgICB3aWR0aDogbWluKDEwMjZweCwgY2FsYygxMDI2IC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5jb21wb25lbnQudHlwZV9mYXEgLmlubmVyIHtcbiAgICAgIGdhcDogbWluKGNhbGModmFyKC0tY0ZhcS1nYXAtcGMpICogMXB4KSwgY2FsYyh2YXIoLS1jRmFxLWdhcC1wYykgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgLmNvbXBvbmVudC50eXBlX21lbWJlciB7XG4gICAgbWFyZ2luLXRvcDogY2FsYyh2YXIoLS1jTWVtYmVyLW1hcmdpbi10b3Atc3ApIC8gMzkwICogMTAwdncpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5jb21wb25lbnQudHlwZV9tZW1iZXIge1xuICAgICAgbWFyZ2luLXRvcDogbWluKGNhbGModmFyKC0tY01lbWJlci1tYXJnaW4tdG9wLXBjKSAqIDFweCksIGNhbGModmFyKC0tY01lbWJlci1tYXJnaW4tdG9wLXBjKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAuY29tcG9uZW50LnR5cGVfbWVtYmVyIC5pbm5lciB7XG4gICAgcGFkZGluZy1sZWZ0OiBjYWxjKHZhcigtLWNvbnRhaW5lci1wYWRkaW5nLXNwKSAvIDM5MCAqIDEwMHZ3KTtcbiAgICBwYWRkaW5nLXJpZ2h0OiBjYWxjKHZhcigtLWNvbnRhaW5lci1wYWRkaW5nLXNwKSAvIDM5MCAqIDEwMHZ3KTtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDEsIDFmcik7XG4gICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiByZXBlYXQoMSwgYXV0byk7XG4gICAgZ2FwOiBjYWxjKHZhcigtLWNNZW1iZXItZ2FwLXJvdy1zcCkgLyAzOTAgKiAxMDB2dykgMDtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuY29tcG9uZW50LnR5cGVfbWVtYmVyIC5pbm5lciB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IHVuc2V0O1xuICAgICAgcGFkZGluZy1yaWdodDogdW5zZXQ7XG4gICAgICBtYXJnaW4taW5saW5lOiBhdXRvO1xuICAgICAgd2lkdGg6IG1pbigxMDI2cHgsIGNhbGMoMTAyNiAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuY29tcG9uZW50LnR5cGVfbWVtYmVyIC5pbm5lciB7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLCAxZnIpO1xuICAgICAgZ2FwOiBtaW4oY2FsYyh2YXIoLS1jTWVtYmVyLWdhcC1yb3ctcGMpICogMXB4KSwgY2FsYyh2YXIoLS1jTWVtYmVyLWdhcC1yb3ctcGMpIC8gMTQ0MCAqIDEwMHZ3KSkgbWluKGNhbGModmFyKC0tY01lbWJlci1nYXAtY29sLXBjKSAqIDFweCksIGNhbGModmFyKC0tY01lbWJlci1nYXAtY29sLXBjKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAuY29tcG9uZW50LnR5cGVfaWZyYW1lIHtcbiAgICBtYXJnaW4tdG9wOiBjYWxjKHZhcigtLW1hcmdpbi10b3AtMikgLyAzOTAgKiAxMDB2dyk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLmNvbXBvbmVudC50eXBlX2lmcmFtZSB7XG4gICAgICBtYXJnaW4tdG9wOiBtaW4oY2FsYyh2YXIoLS1tYXJnaW4tdG9wLTMpICogMXB4KSwgY2FsYyh2YXIoLS1tYXJnaW4tdG9wLTMpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIC5jb21wb25lbnQudHlwZV9pZnJhbWUgLmlubmVyIHtcbiAgICBwYWRkaW5nLWxlZnQ6IGNhbGModmFyKC0tY29udGFpbmVyLXBhZGRpbmctc3ApIC8gMzkwICogMTAwdncpO1xuICAgIHBhZGRpbmctcmlnaHQ6IGNhbGModmFyKC0tY29udGFpbmVyLXBhZGRpbmctc3ApIC8gMzkwICogMTAwdncpO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuY29tcG9uZW50LnR5cGVfaWZyYW1lIC5pbm5lciB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IHVuc2V0O1xuICAgICAgcGFkZGluZy1yaWdodDogdW5zZXQ7XG4gICAgICBtYXJnaW4taW5saW5lOiBhdXRvO1xuICAgICAgd2lkdGg6IG1pbigxMDI2cHgsIGNhbGMoMTAyNiAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAuY29tcG9uZW50LnR5cGVfaWZyYW1lIC5pbm5lciBpZnJhbWUge1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuICAubmF2aWdhdGlvbi5icmVhZGNydW1icywgLmJyZWFkY3J1bWJzLmNvbXBvbmVudC50eXBlX3BhZ2VsaXN0IHtcbiAgICBtYXJnaW4tdG9wOiBjYWxjKHZhcigtLW5CcmVhZGNydW1icy1tYXJnaW4tdG9wLXNwKSAvIDM5MCAqIDEwMHZ3KTtcbiAgICBwYWRkaW5nLWJvdHRvbTogY2FsYyh2YXIoLS1uQnJlYWRjcnVtYnMtcGFkZGluZy1ib3R0b20tc3ApIC8gMzkwICogMTAwdncpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5uYXZpZ2F0aW9uLmJyZWFkY3J1bWJzLCAuYnJlYWRjcnVtYnMuY29tcG9uZW50LnR5cGVfcGFnZWxpc3Qge1xuICAgICAgbWFyZ2luLXRvcDogbWluKGNhbGModmFyKC0tbkJyZWFkY3J1bWJzLW1hcmdpbi10b3AtcGMpICogMXB4KSwgY2FsYyh2YXIoLS1uQnJlYWRjcnVtYnMtbWFyZ2luLXRvcC1wYykgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiBtaW4oY2FsYyh2YXIoLS1uQnJlYWRjcnVtYnMtcGFkZGluZy1ib3R0b20tcGMpICogMXB4KSwgY2FsYyh2YXIoLS1uQnJlYWRjcnVtYnMtcGFkZGluZy1ib3R0b20tcGMpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIC5uYXZpZ2F0aW9uLmJyZWFkY3J1bWJzIC5pbm5lciwgLmJyZWFkY3J1bWJzLmNvbXBvbmVudC50eXBlX3BhZ2VsaXN0IC5pbm5lciB7XG4gICAgcGFkZGluZy1sZWZ0OiBjYWxjKHZhcigtLWNvbnRhaW5lci1wYWRkaW5nLXNwKSAvIDM5MCAqIDEwMHZ3KTtcbiAgICBwYWRkaW5nLXJpZ2h0OiBjYWxjKHZhcigtLWNvbnRhaW5lci1wYWRkaW5nLXNwKSAvIDM5MCAqIDEwMHZ3KTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAubmF2aWdhdGlvbi5icmVhZGNydW1icyAuaW5uZXIsIC5icmVhZGNydW1icy5jb21wb25lbnQudHlwZV9wYWdlbGlzdCAuaW5uZXIge1xuICAgICAgcGFkZGluZy1sZWZ0OiB1bnNldDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IHVuc2V0O1xuICAgICAgbWFyZ2luLWlubGluZTogYXV0bztcbiAgICAgIHdpZHRoOiBtaW4oMTI0MHB4LCBjYWxjKDEyNDAgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgLm5hdmlnYXRpb24uYnJlYWRjcnVtYnMgLmlubmVyIHVsLCAuYnJlYWRjcnVtYnMuY29tcG9uZW50LnR5cGVfcGFnZWxpc3QgLmlubmVyIHVsIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgZ2FwOiBjYWxjKHZhcigtLW5CcmVhZGNydW1icy1nYXAtc3ApIC8gMzkwICogMTAwdncpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5uYXZpZ2F0aW9uLmJyZWFkY3J1bWJzIC5pbm5lciB1bCwgLmJyZWFkY3J1bWJzLmNvbXBvbmVudC50eXBlX3BhZ2VsaXN0IC5pbm5lciB1bCB7XG4gICAgICBnYXA6IG1pbihjYWxjKHZhcigtLW5CcmVhZGNydW1icy1nYXAtcGMpICogMXB4KSwgY2FsYyh2YXIoLS1uQnJlYWRjcnVtYnMtZ2FwLXBjKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAubmF2aWdhdGlvbi5icmVhZGNydW1icyAuaW5uZXIgdWwgLnBCcmVhZGNydW1ic1RleHQ6Zmlyc3QtY2hpbGQsIC5icmVhZGNydW1icy5jb21wb25lbnQudHlwZV9wYWdlbGlzdCAuaW5uZXIgdWwgLnBCcmVhZGNydW1ic1RleHQ6Zmlyc3QtY2hpbGQge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgfVxuICAubmF2aWdhdGlvbi5icmVhZGNydW1icyAuaW5uZXIgdWwgLnBCcmVhZGNydW1ic1RleHQ6Zmlyc3QtY2hpbGQ6OmJlZm9yZSwgLmJyZWFkY3J1bWJzLmNvbXBvbmVudC50eXBlX3BhZ2VsaXN0IC5pbm5lciB1bCAucEJyZWFkY3J1bWJzVGV4dDpmaXJzdC1jaGlsZDo6YmVmb3JlIHtcbiAgICBjb250ZW50OiB1bnNldDtcbiAgfVxuICAubmF2aWdhdGlvbi5wYWdpbmF0aW9uLCAucGFnaW5hdGlvbi5jb21wb25lbnQudHlwZV9wYWdlbGlzdCB7XG4gICAgbWFyZ2luLXRvcDogY2FsYyh2YXIoLS1uUGFnaW5hdGlvbi1tYXJnaW4tdG9wLXNwKSAvIDM5MCAqIDEwMHZ3KTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAubmF2aWdhdGlvbi5wYWdpbmF0aW9uLCAucGFnaW5hdGlvbi5jb21wb25lbnQudHlwZV9wYWdlbGlzdCB7XG4gICAgICBtYXJnaW4tdG9wOiBtaW4oY2FsYyh2YXIoLS1uUGFnaW5hdGlvbi1tYXJnaW4tdG9wLXBjKSAqIDFweCksIGNhbGModmFyKC0tblBhZ2luYXRpb24tbWFyZ2luLXRvcC1wYykgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgLm5hdmlnYXRpb24ucGFnaW5hdGlvbiAuaW5uZXIsIC5wYWdpbmF0aW9uLmNvbXBvbmVudC50eXBlX3BhZ2VsaXN0IC5pbm5lciB7XG4gICAgcGFkZGluZy1sZWZ0OiBjYWxjKHZhcigtLWNvbnRhaW5lci1wYWRkaW5nLXNwKSAvIDM5MCAqIDEwMHZ3KTtcbiAgICBwYWRkaW5nLXJpZ2h0OiBjYWxjKHZhcigtLWNvbnRhaW5lci1wYWRkaW5nLXNwKSAvIDM5MCAqIDEwMHZ3KTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAubmF2aWdhdGlvbi5wYWdpbmF0aW9uIC5pbm5lciwgLnBhZ2luYXRpb24uY29tcG9uZW50LnR5cGVfcGFnZWxpc3QgLmlubmVyIHtcbiAgICAgIHBhZGRpbmctbGVmdDogdW5zZXQ7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiB1bnNldDtcbiAgICAgIG1hcmdpbi1pbmxpbmU6IGF1dG87XG4gICAgICB3aWR0aDogbWluKDEwMjZweCwgY2FsYygxMDI2IC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIC5uYXZpZ2F0aW9uLnBhZ2luYXRpb24gLmlubmVyIHVsLCAucGFnaW5hdGlvbi5jb21wb25lbnQudHlwZV9wYWdlbGlzdCAuaW5uZXIgdWwge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgZ2FwOiBjYWxjKHZhcigtLW5QYWdpbmF0aW9uLWdhcC1zcCkgLyAzOTAgKiAxMDB2dyk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLm5hdmlnYXRpb24ucGFnaW5hdGlvbiAuaW5uZXIgdWwsIC5wYWdpbmF0aW9uLmNvbXBvbmVudC50eXBlX3BhZ2VsaXN0IC5pbm5lciB1bCB7XG4gICAgICBnYXA6IG1pbihjYWxjKHZhcigtLW5QYWdpbmF0aW9uLWdhcC1wYykgKiAxcHgpLCBjYWxjKHZhcigtLW5QYWdpbmF0aW9uLWdhcC1wYykgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgLm5hdmlnYXRpb24ucGFnaW5hdGlvbmRldGFpbCwgLnBhZ2luYXRpb25kZXRhaWwuY29tcG9uZW50LnR5cGVfcGFnZWxpc3Qge1xuICAgIG1hcmdpbi10b3A6IGNhbGModmFyKC0tblBhZ2luYXRpb25EZXRhaWwtbWFyZ2luLXRvcC1zcCkgLyAzOTAgKiAxMDB2dyk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLm5hdmlnYXRpb24ucGFnaW5hdGlvbmRldGFpbCwgLnBhZ2luYXRpb25kZXRhaWwuY29tcG9uZW50LnR5cGVfcGFnZWxpc3Qge1xuICAgICAgbWFyZ2luLXRvcDogbWluKGNhbGModmFyKC0tblBhZ2luYXRpb25EZXRhaWwtbWFyZ2luLXRvcC1wYykgKiAxcHgpLCBjYWxjKHZhcigtLW5QYWdpbmF0aW9uRGV0YWlsLW1hcmdpbi10b3AtcGMpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIC5uYXZpZ2F0aW9uLnBhZ2luYXRpb25kZXRhaWwgLmlubmVyLCAucGFnaW5hdGlvbmRldGFpbC5jb21wb25lbnQudHlwZV9wYWdlbGlzdCAuaW5uZXIge1xuICAgIHBhZGRpbmctbGVmdDogY2FsYyh2YXIoLS1jb250YWluZXItcGFkZGluZy1zcCkgLyAzOTAgKiAxMDB2dyk7XG4gICAgcGFkZGluZy1yaWdodDogY2FsYyh2YXIoLS1jb250YWluZXItcGFkZGluZy1zcCkgLyAzOTAgKiAxMDB2dyk7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAganVzdGlmeS1pdGVtczogY2VudGVyO1xuICAgIGdhcDogY2FsYyh2YXIoLS1uUGFnaW5hdGlvbkRldGFpbC1nYXAtc3ApIC8gMzkwICogMTAwdncpO1xuICAgIGdyaWQtdGVtcGxhdGU6IFwicHJldiBuZXh0XCIgYXV0byBcImJhY2sgYmFja1wiIGF1dG8vMWZyIDFmcjtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAubmF2aWdhdGlvbi5wYWdpbmF0aW9uZGV0YWlsIC5pbm5lciwgLnBhZ2luYXRpb25kZXRhaWwuY29tcG9uZW50LnR5cGVfcGFnZWxpc3QgLmlubmVyIHtcbiAgICAgIHBhZGRpbmctbGVmdDogdW5zZXQ7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiB1bnNldDtcbiAgICAgIG1hcmdpbi1pbmxpbmU6IGF1dG87XG4gICAgICB3aWR0aDogbWluKDEwMjZweCwgY2FsYygxMDI2IC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5uYXZpZ2F0aW9uLnBhZ2luYXRpb25kZXRhaWwgLmlubmVyLCAucGFnaW5hdGlvbmRldGFpbC5jb21wb25lbnQudHlwZV9wYWdlbGlzdCAuaW5uZXIge1xuICAgICAgZ3JpZC10ZW1wbGF0ZTogXCJwcmV2IGJhY2sgbmV4dFwiIGF1dG8vMWZyIGF1dG8gMWZyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBnYXA6IG1pbihjYWxjKHZhcigtLW5QYWdpbmF0aW9uRGV0YWlsLWdhcC1wYykgKiAxcHgpLCBjYWxjKHZhcigtLW5QYWdpbmF0aW9uRGV0YWlsLWdhcC1wYykgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgLm5hdmlnYXRpb24ucGFnaW5hdGlvbmRldGFpbCAuaW5uZXIgLnByZXYsIC5wYWdpbmF0aW9uZGV0YWlsLmNvbXBvbmVudC50eXBlX3BhZ2VsaXN0IC5pbm5lciAucHJldiB7XG4gICAgZ3JpZC1hcmVhOiBwcmV2O1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5uYXZpZ2F0aW9uLnBhZ2luYXRpb25kZXRhaWwgLmlubmVyIC5wcmV2LCAucGFnaW5hdGlvbmRldGFpbC5jb21wb25lbnQudHlwZV9wYWdlbGlzdCAuaW5uZXIgLnByZXYge1xuICAgICAganVzdGlmeS1zZWxmOiBlbmQ7XG4gICAgfVxuICB9XG4gIC5uYXZpZ2F0aW9uLnBhZ2luYXRpb25kZXRhaWwgLmlubmVyIC5iYWNrLCAucGFnaW5hdGlvbmRldGFpbC5jb21wb25lbnQudHlwZV9wYWdlbGlzdCAuaW5uZXIgLmJhY2sge1xuICAgIGdyaWQtYXJlYTogYmFjaztcbiAgfVxuICAubmF2aWdhdGlvbi5wYWdpbmF0aW9uZGV0YWlsIC5pbm5lciAubmV4dCwgLnBhZ2luYXRpb25kZXRhaWwuY29tcG9uZW50LnR5cGVfcGFnZWxpc3QgLmlubmVyIC5uZXh0IHtcbiAgICBncmlkLWFyZWE6IG5leHQ7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLm5hdmlnYXRpb24ucGFnaW5hdGlvbmRldGFpbCAuaW5uZXIgLm5leHQsIC5wYWdpbmF0aW9uZGV0YWlsLmNvbXBvbmVudC50eXBlX3BhZ2VsaXN0IC5pbm5lciAubmV4dCB7XG4gICAgICBqdXN0aWZ5LXNlbGY6IHN0YXJ0O1xuICAgIH1cbiAgfVxuICAubmF2aWdhdGlvbi5sb2NhbG5hdnRvcCwgLmxvY2FsbmF2dG9wLmNvbXBvbmVudC50eXBlX3BhZ2VsaXN0IHtcbiAgICBib3JkZXItdG9wLXdpZHRoOiBjYWxjKHZhcigtLW5Mb2NhbG5hdlRvcC1ib3JkZXItdG9wLXdpZHRoKSAvIDM5MCAqIDEwMHZ3KTtcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiBjYWxjKHZhcigtLW5Mb2NhbG5hdlRvcC1ib3JkZXItYm90dG9tLXdpZHRoKSAvIDM5MCAqIDEwMHZ3KTtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tbkxvY2FsbmF2VG9wLWJvcmRlci1jb2xvcik7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbkxvY2FsbmF2VG9wLWJhY2tncm91bmQtY29sb3IpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5uYXZpZ2F0aW9uLmxvY2FsbmF2dG9wLCAubG9jYWxuYXZ0b3AuY29tcG9uZW50LnR5cGVfcGFnZWxpc3Qge1xuICAgICAgYm9yZGVyLXRvcC13aWR0aDogbWluKGNhbGModmFyKC0tbkxvY2FsbmF2VG9wLWJvcmRlci10b3Atd2lkdGgpICogMXB4KSwgY2FsYyh2YXIoLS1uTG9jYWxuYXZUb3AtYm9yZGVyLXRvcC13aWR0aCkgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6IG1pbihjYWxjKHZhcigtLW5Mb2NhbG5hdlRvcC1ib3JkZXItYm90dG9tLXdpZHRoKSAqIDFweCksIGNhbGModmFyKC0tbkxvY2FsbmF2VG9wLWJvcmRlci1ib3R0b20td2lkdGgpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIC5uYXZpZ2F0aW9uLmxvY2FsbmF2dG9wIC5pbm5lciAub3ZlcmZsb3csIC5sb2NhbG5hdnRvcC5jb21wb25lbnQudHlwZV9wYWdlbGlzdCAuaW5uZXIgLm92ZXJmbG93IHtcbiAgICBvdmVyZmxvdzogYXV0bztcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAubmF2aWdhdGlvbi5sb2NhbG5hdnRvcCAuaW5uZXIgLm92ZXJmbG93LCAubG9jYWxuYXZ0b3AuY29tcG9uZW50LnR5cGVfcGFnZWxpc3QgLmlubmVyIC5vdmVyZmxvdyB7XG4gICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICB9XG4gIH1cbiAgLm5hdmlnYXRpb24ubG9jYWxuYXZ0b3AgLmlubmVyIC5vdmVyZmxvdyB1bCwgLmxvY2FsbmF2dG9wLmNvbXBvbmVudC50eXBlX3BhZ2VsaXN0IC5pbm5lciAub3ZlcmZsb3cgdWwge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgIGdhcDogY2FsYyh2YXIoLS1uTG9jYWxuYXZUb3AtZ2FwLXNwKSAvIDM5MCAqIDEwMHZ3KTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAubmF2aWdhdGlvbi5sb2NhbG5hdnRvcCAuaW5uZXIgLm92ZXJmbG93IHVsLCAubG9jYWxuYXZ0b3AuY29tcG9uZW50LnR5cGVfcGFnZWxpc3QgLmlubmVyIC5vdmVyZmxvdyB1bCB7XG4gICAgICBnYXA6IG1pbihjYWxjKHZhcigtLW5Mb2NhbG5hdlRvcC1nYXAtcGMpICogMXB4KSwgY2FsYyh2YXIoLS1uTG9jYWxuYXZUb3AtZ2FwLXBjKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgfVxuICB9XG4gIC5uYXZpZ2F0aW9uLmxvY2FsbmF2dG9wIC5pbm5lciAub3ZlcmZsb3cgdWwgbGksIC5sb2NhbG5hdnRvcC5jb21wb25lbnQudHlwZV9wYWdlbGlzdCAuaW5uZXIgLm92ZXJmbG93IHVsIGxpIHtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogYXV0byBhdXRvO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiBjYWxjKHZhcigtLW5Mb2NhbG5hdlRvcC1nYXAtc3ApIC8gMzkwICogMTAwdncpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5uYXZpZ2F0aW9uLmxvY2FsbmF2dG9wIC5pbm5lciAub3ZlcmZsb3cgdWwgbGksIC5sb2NhbG5hdnRvcC5jb21wb25lbnQudHlwZV9wYWdlbGlzdCAuaW5uZXIgLm92ZXJmbG93IHVsIGxpIHtcbiAgICAgIGdhcDogbWluKGNhbGModmFyKC0tbkxvY2FsbmF2VG9wLWdhcC1wYykgKiAxcHgpLCBjYWxjKHZhcigtLW5Mb2NhbG5hdlRvcC1nYXAtcGMpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIC5uYXZpZ2F0aW9uLmxvY2FsbmF2dG9wIC5pbm5lciAub3ZlcmZsb3cgdWwgbGk6OmFmdGVyLCAubG9jYWxuYXZ0b3AuY29tcG9uZW50LnR5cGVfcGFnZWxpc3QgLmlubmVyIC5vdmVyZmxvdyB1bCBsaTo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbiAgLm5hdmlnYXRpb24ubG9jYWxuYXZ0b3AgLmlubmVyIC5vdmVyZmxvdyB1bCBsaTpsYXN0LWNoaWxkOjphZnRlciwgLmxvY2FsbmF2dG9wLmNvbXBvbmVudC50eXBlX3BhZ2VsaXN0IC5pbm5lciAub3ZlcmZsb3cgdWwgbGk6bGFzdC1jaGlsZDo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IG5vbmU7XG4gIH1cbiAgLm5hdmlnYXRpb24ubG9jYWxuYXZfc3ViLCAubG9jYWxuYXZfc3ViLmNvbXBvbmVudC50eXBlX3BhZ2VsaXN0IHtcbiAgICBtYXJnaW4tdG9wOiBjYWxjKHZhcigtLW5Mb2NhbG5hdlN1Yi1tYXJnaW4tdG9wLXNwKSAvIDM5MCAqIDEwMHZ3KTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAubmF2aWdhdGlvbi5sb2NhbG5hdl9zdWIsIC5sb2NhbG5hdl9zdWIuY29tcG9uZW50LnR5cGVfcGFnZWxpc3Qge1xuICAgICAgbWFyZ2luLXRvcDogbWluKGNhbGModmFyKC0tbkxvY2FsbmF2U3ViLW1hcmdpbi10b3AtcGMpICogMXB4KSwgY2FsYyh2YXIoLS1uTG9jYWxuYXZTdWItbWFyZ2luLXRvcC1wYykgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgLm5hdmlnYXRpb24ubG9jYWxuYXZfc3ViIC5pbm5lciwgLmxvY2FsbmF2X3N1Yi5jb21wb25lbnQudHlwZV9wYWdlbGlzdCAuaW5uZXIge1xuICAgIHBhZGRpbmctbGVmdDogY2FsYyh2YXIoLS1jb250YWluZXItcGFkZGluZy1zcCkgLyAzOTAgKiAxMDB2dyk7XG4gICAgcGFkZGluZy1yaWdodDogY2FsYyh2YXIoLS1jb250YWluZXItcGFkZGluZy1zcCkgLyAzOTAgKiAxMDB2dyk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLm5hdmlnYXRpb24ubG9jYWxuYXZfc3ViIC5pbm5lciwgLmxvY2FsbmF2X3N1Yi5jb21wb25lbnQudHlwZV9wYWdlbGlzdCAuaW5uZXIge1xuICAgICAgcGFkZGluZy1sZWZ0OiB1bnNldDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IHVuc2V0O1xuICAgICAgbWFyZ2luLWlubGluZTogYXV0bztcbiAgICAgIHdpZHRoOiBtaW4oMTAyNnB4LCBjYWxjKDEwMjYgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgLm5hdmlnYXRpb24ubG9jYWxuYXZfc3ViIC5pbm5lciB1bCwgLmxvY2FsbmF2X3N1Yi5jb21wb25lbnQudHlwZV9wYWdlbGlzdCAuaW5uZXIgdWwge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGdhcDogY2FsYyh2YXIoLS1uTG9jYWxuYXZTdWItZ2FwLXJvdy1zcCkgLyAzOTAgKiAxMDB2dykgY2FsYyh2YXIoLS1uTG9jYWxuYXZTdWItZ2FwLWNvbC1zcCkgLyAzOTAgKiAxMDB2dyk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLm5hdmlnYXRpb24ubG9jYWxuYXZfc3ViIC5pbm5lciB1bCwgLmxvY2FsbmF2X3N1Yi5jb21wb25lbnQudHlwZV9wYWdlbGlzdCAuaW5uZXIgdWwge1xuICAgICAgZ2FwOiBtaW4oY2FsYyh2YXIoLS1uTG9jYWxuYXZTdWItZ2FwLXJvdy1wYykgKiAxcHgpLCBjYWxjKHZhcigtLW5Mb2NhbG5hdlN1Yi1nYXAtcm93LXBjKSAvIDE0NDAgKiAxMDB2dykpIG1pbihjYWxjKHZhcigtLW5Mb2NhbG5hdlN1Yi1nYXAtY29sLXBjKSAqIDFweCksIGNhbGModmFyKC0tbkxvY2FsbmF2U3ViLWdhcC1jb2wtcGMpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIC5uYXZpZ2F0aW9uLmxvY2FsbmF2X2JvdHRvbSwgLmxvY2FsbmF2X2JvdHRvbS5jb21wb25lbnQudHlwZV9wYWdlbGlzdCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBtYXJnaW4tdG9wOiBjYWxjKHZhcigtLW5Mb2NhbG5hdkJvdHRvbS1tYXJnaW4tdG9wLXNwKSAvIDM5MCAqIDEwMHZ3KTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uTG9jYWxuYXZCb3R0b20tYmFja2dyb3VuZC1jb2xvcik7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLm5hdmlnYXRpb24ubG9jYWxuYXZfYm90dG9tLCAubG9jYWxuYXZfYm90dG9tLmNvbXBvbmVudC50eXBlX3BhZ2VsaXN0IHtcbiAgICAgIG1hcmdpbi10b3A6IG1pbihjYWxjKHZhcigtLW5Mb2NhbG5hdkJvdHRvbS1tYXJnaW4tdG9wLXBjKSAqIDFweCksIGNhbGModmFyKC0tbkxvY2FsbmF2Qm90dG9tLW1hcmdpbi10b3AtcGMpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIC5uYXZpZ2F0aW9uLmxvY2FsbmF2X2JvdHRvbSAuaW5uZXIsIC5sb2NhbG5hdl9ib3R0b20uY29tcG9uZW50LnR5cGVfcGFnZWxpc3QgLmlubmVyIHtcbiAgICBwYWRkaW5nLWxlZnQ6IGNhbGModmFyKC0tY29udGFpbmVyLXBhZGRpbmctc3ApIC8gMzkwICogMTAwdncpO1xuICAgIHBhZGRpbmctcmlnaHQ6IGNhbGModmFyKC0tY29udGFpbmVyLXBhZGRpbmctc3ApIC8gMzkwICogMTAwdncpO1xuICAgIHBhZGRpbmctYmxvY2s6IGNhbGModmFyKC0tbkxvY2FsbmF2Qm90dG9tLXBhZGRpbmctYmxvY2stc3ApIC8gMzkwICogMTAwdncpO1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC1hdXRvLWZsb3c6IHJvdztcbiAgICBnYXA6IGNhbGModmFyKC0tbkxvY2FsbmF2Qm90dG9tLWdhcC1zcCkgLyAzOTAgKiAxMDB2dyk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLm5hdmlnYXRpb24ubG9jYWxuYXZfYm90dG9tIC5pbm5lciwgLmxvY2FsbmF2X2JvdHRvbS5jb21wb25lbnQudHlwZV9wYWdlbGlzdCAuaW5uZXIge1xuICAgICAgcGFkZGluZy1sZWZ0OiB1bnNldDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IHVuc2V0O1xuICAgICAgbWFyZ2luLWlubGluZTogYXV0bztcbiAgICAgIHdpZHRoOiBtaW4oMTAyNnB4LCBjYWxjKDEwMjYgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLm5hdmlnYXRpb24ubG9jYWxuYXZfYm90dG9tIC5pbm5lciwgLmxvY2FsbmF2X2JvdHRvbS5jb21wb25lbnQudHlwZV9wYWdlbGlzdCAuaW5uZXIge1xuICAgICAgcGFkZGluZy1ibG9jazogbWluKGNhbGModmFyKC0tbkxvY2FsbmF2Qm90dG9tLXBhZGRpbmctYmxvY2stcGMpICogMXB4KSwgY2FsYyh2YXIoLS1uTG9jYWxuYXZCb3R0b20tcGFkZGluZy1ibG9jay1wYykgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIGdhcDogbWluKGNhbGModmFyKC0tbkxvY2FsbmF2Qm90dG9tLWdhcC1wYykgKiAxcHgpLCBjYWxjKHZhcigtLW5Mb2NhbG5hdkJvdHRvbS1nYXAtcGMpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIC5uYXZpZ2F0aW9uLmFyY2hpdmVuYXYsIC5hcmNoaXZlbmF2LmNvbXBvbmVudC50eXBlX3BhZ2VsaXN0IHtcbiAgICBtYXJnaW4tdG9wOiBjYWxjKHZhcigtLW5BcmNoaXZlbmF2LW1hcmdpbi10b3Atc3ApIC8gMzkwICogMTAwdncpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5uYXZpZ2F0aW9uLmFyY2hpdmVuYXYsIC5hcmNoaXZlbmF2LmNvbXBvbmVudC50eXBlX3BhZ2VsaXN0IHtcbiAgICAgIG1hcmdpbi10b3A6IG1pbihjYWxjKHZhcigtLW5BcmNoaXZlbmF2LW1hcmdpbi10b3AtcGMpICogMXB4KSwgY2FsYyh2YXIoLS1uQXJjaGl2ZW5hdi1tYXJnaW4tdG9wLXBjKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAubmF2aWdhdGlvbi5hcmNoaXZlbmF2IC5pbm5lciwgLmFyY2hpdmVuYXYuY29tcG9uZW50LnR5cGVfcGFnZWxpc3QgLmlubmVyIHtcbiAgICBwYWRkaW5nLWxlZnQ6IGNhbGModmFyKC0tY29udGFpbmVyLXBhZGRpbmctc3ApIC8gMzkwICogMTAwdncpO1xuICAgIHBhZGRpbmctcmlnaHQ6IGNhbGModmFyKC0tY29udGFpbmVyLXBhZGRpbmctc3ApIC8gMzkwICogMTAwdncpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5uYXZpZ2F0aW9uLmFyY2hpdmVuYXYgLmlubmVyLCAuYXJjaGl2ZW5hdi5jb21wb25lbnQudHlwZV9wYWdlbGlzdCAuaW5uZXIge1xuICAgICAgcGFkZGluZy1sZWZ0OiB1bnNldDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IHVuc2V0O1xuICAgICAgbWFyZ2luLWlubGluZTogYXV0bztcbiAgICAgIHdpZHRoOiBtaW4oMTAyNnB4LCBjYWxjKDEwMjYgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgLm5hdmlnYXRpb24uYXJjaGl2ZW5hdiAuaW5uZXIgLm92ZXJmbG93LCAuYXJjaGl2ZW5hdi5jb21wb25lbnQudHlwZV9wYWdlbGlzdCAuaW5uZXIgLm92ZXJmbG93IHtcbiAgICBvdmVyZmxvdzogYXV0bztcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAubmF2aWdhdGlvbi5hcmNoaXZlbmF2IC5pbm5lciAub3ZlcmZsb3csIC5hcmNoaXZlbmF2LmNvbXBvbmVudC50eXBlX3BhZ2VsaXN0IC5pbm5lciAub3ZlcmZsb3cge1xuICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgfVxuICB9XG4gIC5uYXZpZ2F0aW9uLmFyY2hpdmVuYXYgLmlubmVyIC5vdmVyZmxvdyB1bCwgLmFyY2hpdmVuYXYuY29tcG9uZW50LnR5cGVfcGFnZWxpc3QgLmlubmVyIC5vdmVyZmxvdyB1bCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgZ2FwOiBjYWxjKHZhcigtLW5BcmNoaXZlbmF2LWdhcC1yb3ctc3ApIC8gMzkwICogMTAwdncpIGNhbGModmFyKC0tbkFyY2hpdmVuYXYtZ2FwLWNvbC1zcCkgLyAzOTAgKiAxMDB2dyk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLm5hdmlnYXRpb24uYXJjaGl2ZW5hdiAuaW5uZXIgLm92ZXJmbG93IHVsLCAuYXJjaGl2ZW5hdi5jb21wb25lbnQudHlwZV9wYWdlbGlzdCAuaW5uZXIgLm92ZXJmbG93IHVsIHtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIGdhcDogbWluKGNhbGModmFyKC0tbkFyY2hpdmVuYXYtZ2FwLXJvdy1wYykgKiAxcHgpLCBjYWxjKHZhcigtLW5BcmNoaXZlbmF2LWdhcC1yb3ctcGMpIC8gMTQ0MCAqIDEwMHZ3KSkgbWluKGNhbGModmFyKC0tbkFyY2hpdmVuYXYtZ2FwLWNvbC1wYykgKiAxcHgpLCBjYWxjKHZhcigtLW5BcmNoaXZlbmF2LWdhcC1jb2wtcGMpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIC5uYXZpZ2F0aW9uLm5ld3NsaXN0LCAubmV3c2xpc3QuY29tcG9uZW50LnR5cGVfcGFnZWxpc3Qge1xuICAgIG1hcmdpbi10b3A6IGNhbGModmFyKC0tY05ld3NMaXN0LW1hcmdpbi10b3Atc3ApIC8gMzkwICogMTAwdncpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5uYXZpZ2F0aW9uLm5ld3NsaXN0LCAubmV3c2xpc3QuY29tcG9uZW50LnR5cGVfcGFnZWxpc3Qge1xuICAgICAgbWFyZ2luLXRvcDogbWluKGNhbGModmFyKC0tY05ld3NMaXN0LW1hcmdpbi10b3AtcGMpICogMXB4KSwgY2FsYyh2YXIoLS1jTmV3c0xpc3QtbWFyZ2luLXRvcC1wYykgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgLm5hdmlnYXRpb24ubmV3c2xpc3QgLmlubmVyLCAubmV3c2xpc3QuY29tcG9uZW50LnR5cGVfcGFnZWxpc3QgLmlubmVyIHtcbiAgICBwYWRkaW5nLWxlZnQ6IGNhbGModmFyKC0tY29udGFpbmVyLXBhZGRpbmctc3ApIC8gMzkwICogMTAwdncpO1xuICAgIHBhZGRpbmctcmlnaHQ6IGNhbGModmFyKC0tY29udGFpbmVyLXBhZGRpbmctc3ApIC8gMzkwICogMTAwdncpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5uYXZpZ2F0aW9uLm5ld3NsaXN0IC5pbm5lciwgLm5ld3NsaXN0LmNvbXBvbmVudC50eXBlX3BhZ2VsaXN0IC5pbm5lciB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IHVuc2V0O1xuICAgICAgcGFkZGluZy1yaWdodDogdW5zZXQ7XG4gICAgICBtYXJnaW4taW5saW5lOiBhdXRvO1xuICAgICAgd2lkdGg6IG1pbigxMDI2cHgsIGNhbGMoMTAyNiAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAubmF2aWdhdGlvbi5hcnRpY2xlbGlzdCwgLmNvbXBvbmVudC50eXBlX3BhZ2VsaXN0IHtcbiAgICBtYXJnaW4tdG9wOiBjYWxjKHZhcigtLW5BcnRpY2xlTGlzdC1tYXJnaW4tdG9wLXNwKSAvIDM5MCAqIDEwMHZ3KTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAubmF2aWdhdGlvbi5hcnRpY2xlbGlzdCwgLmNvbXBvbmVudC50eXBlX3BhZ2VsaXN0IHtcbiAgICAgIG1hcmdpbi10b3A6IG1pbihjYWxjKHZhcigtLW5BcnRpY2xlTGlzdC1tYXJnaW4tdG9wLXBjKSAqIDFweCksIGNhbGModmFyKC0tbkFydGljbGVMaXN0LW1hcmdpbi10b3AtcGMpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIC5uYXZpZ2F0aW9uLmFydGljbGVsaXN0IC5pbm5lciwgLmNvbXBvbmVudC50eXBlX3BhZ2VsaXN0IC5pbm5lciB7XG4gICAgcGFkZGluZy1sZWZ0OiBjYWxjKHZhcigtLWNvbnRhaW5lci1wYWRkaW5nLXNwKSAvIDM5MCAqIDEwMHZ3KTtcbiAgICBwYWRkaW5nLXJpZ2h0OiBjYWxjKHZhcigtLWNvbnRhaW5lci1wYWRkaW5nLXNwKSAvIDM5MCAqIDEwMHZ3KTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAubmF2aWdhdGlvbi5hcnRpY2xlbGlzdCAuaW5uZXIsIC5jb21wb25lbnQudHlwZV9wYWdlbGlzdCAuaW5uZXIge1xuICAgICAgcGFkZGluZy1sZWZ0OiB1bnNldDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IHVuc2V0O1xuICAgICAgbWFyZ2luLWlubGluZTogYXV0bztcbiAgICAgIHdpZHRoOiBtaW4oMTAyNnB4LCBjYWxjKDEwMjYgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgLm5hdmlnYXRpb24uYXJ0aWNsZWxpc3QgLmlubmVyIC5saXN0LCAuY29tcG9uZW50LnR5cGVfcGFnZWxpc3QgLmlubmVyIC5saXN0IHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDEsIDEwMCUpO1xuICAgIGdhcDogY2FsYyh2YXIoLS1uQXJ0aWNsZUxpc3QtZ2FwLXJvdy1zcCkgLyAzOTAgKiAxMDB2dykgMDtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAubmF2aWdhdGlvbi5hcnRpY2xlbGlzdCAuaW5uZXIgLmxpc3QsIC5jb21wb25lbnQudHlwZV9wYWdlbGlzdCAuaW5uZXIgLmxpc3Qge1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTtcbiAgICAgIGdhcDogbWluKGNhbGModmFyKC0tbkFydGljbGVMaXN0LWdhcC1yb3ctcGMpICogMXB4KSwgY2FsYyh2YXIoLS1uQXJ0aWNsZUxpc3QtZ2FwLXJvdy1wYykgLyAxNDQwICogMTAwdncpKSBtaW4oY2FsYyh2YXIoLS1uQXJ0aWNsZUxpc3QtZ2FwLWNvbC1wYykgKiAxcHgpLCBjYWxjKHZhcigtLW5BcnRpY2xlTGlzdC1nYXAtY29sLXBjKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuYXJ0aWNsZS13cmFwcGVyIHtcbiAgICAgIG1hcmdpbi10b3A6IG1pbihjYWxjKHZhcigtLWZBcnRpY2xlLW1hcmdpbi10b3ApICogMXB4KSwgY2FsYyh2YXIoLS1mQXJ0aWNsZS1tYXJnaW4tdG9wKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgcGFkZGluZy1sZWZ0OiBjYWxjKHZhcigtLWNvbnRhaW5lci1wYWRkaW5nLXNwKSAvIDM5MCAqIDEwMHZ3KTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IGNhbGModmFyKC0tY29udGFpbmVyLXBhZGRpbmctc3ApIC8gMzkwICogMTAwdncpO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgIGdyaWQtdGVtcGxhdGU6IFwiY29udGVudHMgbmF2XCIgYXV0by8xZnIgbWluKGNhbGModmFyKC0tZkFydGljbGUtbmF2LXdpZHRoKSAqIDFweCksIGNhbGModmFyKC0tZkFydGljbGUtbmF2LXdpZHRoKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgYWxpZ24taXRlbXM6IHN0YXJ0O1xuICAgICAgZ2FwOiBtaW4oY2FsYyh2YXIoLS1mQXJ0aWNsZS1nYXApICogMXB4KSwgY2FsYyh2YXIoLS1mQXJ0aWNsZS1nYXApIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB6LWluZGV4OiAxO1xuICAgIH1cbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5hcnRpY2xlLXdyYXBwZXIge1xuICAgICAgcGFkZGluZy1sZWZ0OiB1bnNldDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IHVuc2V0O1xuICAgICAgbWFyZ2luLWlubGluZTogYXV0bztcbiAgICAgIHdpZHRoOiBtaW4oMTI0MHB4LCBjYWxjKDEyNDAgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgLmFydGljbGUtd3JhcHBlciAuYXJ0aWNsZS1uYXYge1xuICAgIG1hcmdpbi10b3A6IGNhbGModmFyKC0tY0FydGljbGVOYXYtbWFyZ2luLXRvcC1zcCkgLyAzOTAgKiAxMDB2dyk7XG4gICAgcGFkZGluZy1pbmxpbmU6IGNhbGModmFyKC0tY29udGFpbmVyLXBhZGRpbmctc3ApIC8gMzkwICogMTAwdncpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5hcnRpY2xlLXdyYXBwZXIgLmFydGljbGUtbmF2IHtcbiAgICAgIHBvc2l0aW9uOiBzdGlja3k7XG4gICAgICB0b3A6IG1pbihjYWxjKHZhcigtLWZBcnRpY2xlLW1hcmdpbi10b3ApICogMXB4KSwgY2FsYyh2YXIoLS1mQXJ0aWNsZS1tYXJnaW4tdG9wKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgZ3JpZC1hcmVhOiBuYXY7XG4gICAgICBtYXJnaW4tdG9wOiB1bnNldDtcbiAgICAgIHBhZGRpbmctaW5saW5lOiB1bnNldDtcbiAgICB9XG4gIH1cbiAgLmFydGljbGUtd3JhcHBlciAuYXJ0aWNsZS1uYXYgdWwge1xuICAgIGJvcmRlci10b3Atd2lkdGg6IGNhbGModmFyKC0tY0FydGljbGVOYXYtYm9yZGVyLXRvcC13aWR0aCkgLyAzOTAgKiAxMDB2dyk7XG4gICAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogdmFyKC0tY0FydGljbGVOYXYtYm9yZGVyLXRvcC1jb2xvcik7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLmFydGljbGUtd3JhcHBlciAuYXJ0aWNsZS1uYXYgdWwge1xuICAgICAgYm9yZGVyLXRvcC13aWR0aDogbWluKGNhbGModmFyKC0tY0FydGljbGVOYXYtYm9yZGVyLXRvcC13aWR0aCkgKiAxcHgpLCBjYWxjKHZhcigtLWNBcnRpY2xlTmF2LWJvcmRlci10b3Atd2lkdGgpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5hcnRpY2xlLXdyYXBwZXIgLmFydGljbGUtY29udGVudHMge1xuICAgICAgZ3JpZC1hcmVhOiBjb250ZW50cztcbiAgICAgIHBhZGRpbmctdG9wOiB1bnNldDtcbiAgICB9XG4gICAgLmFydGljbGUtd3JhcHBlciAuYXJ0aWNsZS1jb250ZW50cyA+ICo6Zmlyc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLXRvcDogdW5zZXQgIWltcG9ydGFudDtcbiAgICAgIHBhZGRpbmctdG9wOiB1bnNldCAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAuYXJ0aWNsZS13cmFwcGVyIC5hcnRpY2xlLWNvbnRlbnRzID4gYTpmaXJzdC1jaGlsZCArICoge1xuICAgICAgbWFyZ2luLXRvcDogdW5zZXQgIWltcG9ydGFudDtcbiAgICAgIHBhZGRpbmctdG9wOiB1bnNldCAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAuYXJ0aWNsZS13cmFwcGVyIC5hcnRpY2xlLWNvbnRlbnRzIC5jb250YWluZXIsXG4uYXJ0aWNsZS13cmFwcGVyIC5hcnRpY2xlLWNvbnRlbnRzIC5pbm5lcixcbi5hcnRpY2xlLXdyYXBwZXIgLmFydGljbGUtY29udGVudHMgLmNvbXBvbmVudC50eXBlX3RhYmxlLFxuLmFydGljbGUtd3JhcHBlciAuYXJ0aWNsZS1jb250ZW50cyAuY29tcG9uZW50LnR5cGVfY2F0Y2hjb3B5X2ltYWdlX2JnLFxuLmFydGljbGUtd3JhcHBlciAuYXJ0aWNsZS1jb250ZW50cyAuY29tcG9uZW50LnR5cGVfY29udmVyc2lvbixcbi5hcnRpY2xlLXdyYXBwZXIgLmFydGljbGUtY29udGVudHMgLm1fdGFnbGlzdCB7XG4gICAgICB3aWR0aDogdW5zZXQgIWltcG9ydGFudDtcbiAgICAgIG1hcmdpbi1pbmxpbmU6IHVuc2V0O1xuICAgIH1cbiAgfVxuICAvKipcbiAgICogU3dpcGVyIDExLjEuMTVcbiAgICogTW9zdCBtb2Rlcm4gbW9iaWxlIHRvdWNoIHNsaWRlciBhbmQgZnJhbWV3b3JrIHdpdGggaGFyZHdhcmUgYWNjZWxlcmF0ZWQgdHJhbnNpdGlvbnNcbiAgICogaHR0cHM6Ly9zd2lwZXJqcy5jb21cbiAgICpcbiAgICogQ29weXJpZ2h0IDIwMTQtMjAyNCBWbGFkaW1pciBLaGFybGFtcGlkaVxuICAgKlxuICAgKiBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIExpY2Vuc2VcbiAgICpcbiAgICogUmVsZWFzZWQgb246IE5vdmVtYmVyIDE4LCAyMDI0XG4gICAqL1xuICBAZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogc3dpcGVyLWljb25zO1xuICAgIHNyYzogdXJsKFwiZGF0YTphcHBsaWNhdGlvbi9mb250LXdvZmY7Y2hhcnNldD11dGYtODtiYXNlNjQsIGQwOUdSZ0FCQUFBQUFBWmdBQkFBQUFBQURBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFCR1JsUk5BQUFHUkFBQUFCb0FBQUFjaTZxSGtVZEVSVVlBQUFXZ0FBQUFJd0FBQUNRQVlBQlhSMUJQVXdBQUJoUUFBQUF1QUFBQU51QVk3K3hIVTFWQ0FBQUZ4QUFBQUZBQUFBQm0yZlBjelU5VEx6SUFBQUhjQUFBQVNnQUFBR0JQOVY1UlkyMWhjQUFBQWtRQUFBQ0lBQUFCWXQ2RjBjQmpkblFnQUFBQ3pBQUFBQVFBQUFBRUFCRUJSR2RoYzNBQUFBV1lBQUFBQ0FBQUFBai8vd0FEWjJ4NVpnQUFBeXdBQUFETUFBQUQyTUh0cnlWb1pXRmtBQUFCYkFBQUFEQUFBQUEyRTIrZW9XaG9aV0VBQUFHY0FBQUFId0FBQUNRQzlnRHphRzEwZUFBQUFpZ0FBQUFaQUFBQXJnSmtBQkZzYjJOaEFBQUMwQUFBQUZvQUFBQmFGUUFVR0cxaGVIQUFBQUc4QUFBQUh3QUFBQ0FBY0FCQWJtRnRaUUFBQS9nQUFBRTVBQUFDWHZGZEJ3bHdiM04wQUFBRk5BQUFBR0lBQUFDRTVzNzRoWGphWTJCa1lHQUFZcGY1SHUvaitXMitNbkF6TVlEQXphWDZRakQ2LzQvL0J4ajVHQThBdVJ3TVlHa0FQeXdMMTNqYVkyQmtZR0E4OFA4QWd4NGorLzhmUURZZkExQUVCV2dEQUlCMkJPb0FlTnBqWUdSZ1lOQmg0R2RnWWdBQkVNbklBQkp6WU5BRENRQUFDV2dBc1FCNDJtTmdZZnpDT0lHQmxZR0IwWWN4allHQndSMUtmMldRWkdoaFlHQmlZR1ZtZ0FGR0JpUVFrT2Fhd3REQW9NQlF4WGpnL3dFR1BjWUREQTR3TlVBMkNDZ3dzQUFBTzRFTDZnQUFlTnBqMk0wZ3lBQUNxeGdHTldCa1oyRDQvd01BK3hrRGRnQUFBSGphWTJCZ1lHYUFZQmtHUmdZUWlBSHlHTUY4RmdZSElNM0R3TUhBQkdRck1PZ3lXRExFTTFUOS93OFVCZkVNZ0x6RS8vLy9QLzUvL2YvVi94dityNGVhQUFlTWJBeHdJVVltSU1IRWdLWUFZalVjc0RBd3NMS3hjM0J5Y2ZQdzhqRVFBL2daQkFTRmhFVkV4Y1FsSktXa1pXVGw1QlVVbFpSVlZOWFVOVFFaQmdNQUFNUitFK2dBRVFGRUFBQUFLZ0FxQUNvQU5BQStBRWdBVWdCY0FHWUFjQUI2QUlRQWpnQ1lBS0lBckFDMkFNQUF5Z0RVQU40QTZBRHlBUHdCQmdFUUFSb0JKQUV1QVRnQlFnRk1BVllCWUFGcUFYUUJmZ0dJQVpJQm5BR21BYklCemdIc0FBQjQydTJOTVE2Q1VBeUdXNTY4eDlBbmVZWWdtNE1KYmhLRmFFeElPQVZYOEFwZXdTdDRCaWM0QWZlQWlkM1ZPQml4RHhmUFlFemE1TytYZmkwNFlBRGdnaVVJVUxDdUVKSzhWaE80YlN2cGRua3RISTVRQ1l0ZGkyc2w4Wm5YYUhscVVyTkt6ZEtjVDhjamxxK3J3WlN2SVZjek5pZXpzZm5QL3V6bm1mUEZCTk9ETTJLN01UUTQ1WUVBWnFHUDgxQW1HR2NGM2lQcU9vcDByMVNQVGFUYlZrZlVlNEhYajk3d1lFK3lOd1dZeHdXdTR2MXVnV0hnbzNTMVhkWkVWcVdNN0VUMGNmbkxHeFdma2dSNDJvMlB2V3JETUJTRmovSUhMYUYwektqUmdkaVZNd1NjTlJBb1dVb0g3OFkyaWNCL3lJWTA5QW42QUgyQmR1L1VCK3l4b3BZc2hRaUV2bnZ1MGRVUmdEdDhRZUM4UER3N0ZwamkzZkVBNHovUEVKNllPQjVoS2g0ZGozRXZYaHhQcUgvU0tVWTNySjdzclo0RlpuaDFQTUF0UGh3UDZmbDJQTUpNUERnZVE0clk4WVQ2R3phbzBlQUVBNDA5RHVnZ21UbkZuT2NTQ2lFaUxNZ3hDaVRJNkNxNURaVWQzUW1wMTB2TzBMYUxUZDJjak40Zk91bWxjN2xVWWJTUWNaRmt1dFJHN2c2SktaS3kwUm1kTFk2ODBDRG5FSitVTWtwRkZlMVJON254ZFZwWHJDNGFUdG5hdXJPblllcmNaZzJZVm1MTi9kL2djemZFaW1yRS9mcy9iT3VxMjlabW44dGxvT1JhWGdaZ0dhNzh5TzkvY25YbTJCcGFHdnEyNUR2OVM0RTkrNVNJYzlQcXVwSktoWUZTU2w0NytRY3IxbVlOQUFBQWVOcHR3MGNLd2tBQUFNRFpKQThRN09VSnZrTHNQZlo2ekZWRVJQeThxSGgyWUVSKzNpL0JQODN2SUJMTHlTc29LaW1ycUtxcGEyaHA2K2pxNlJzWUdobWJtSnFaU3kwc3JheHRiTzNzSFJ5ZG5FTVU0dVI2eXg3SkpYdmVQN1dyRHljQUFBQUFBQUgvL3dBQ2VOcGpZR1JnWU9BQlloa2daZ0pDWmdaTkJrWUdMUVp0SUpzRkxNWUFBQXczQUxnQWVOb2xpekVLZ0RBUUJDY2hSYkMyc0ZFUjBZRDZxVlFpQkN2L0g5ZXpHSTZaNVhCQXc4Q0JLL201aVFRVmF1VmJYTG5Pck1adjJvTGRLRmE4UGp1cnUyaEp6R2FibU9TTHpOTXp2dXRwQjNONDJtTmdaR0JnNEdLUVl6QmhZTXhKTE1sajRHQmdBWW93L1AvUEFKSmhMTTZzU29XS2ZXQ0FBd0RBamdiUkFBQjQybU5nWUdCa0FJSWJDWm81SVBybVVuMGhHQTBBTzhFRlRRQUFcIik7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gIH1cbiAgOnJvb3Qge1xuICAgIC0tc3dpcGVyLXRoZW1lLWNvbG9yOiMwMDdhZmY7XG4gIH1cbiAgOmhvc3Qge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgei1pbmRleDogMTtcbiAgfVxuICAuc3dpcGVyIHtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHotaW5kZXg6IDE7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbiAgLnN3aXBlci12ZXJ0aWNhbCA+IC5zd2lwZXItd3JhcHBlciB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgfVxuICAuc3dpcGVyLXdyYXBwZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgei1pbmRleDogMTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTtcbiAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogdmFyKC0tc3dpcGVyLXdyYXBwZXItdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb24sIGluaXRpYWwpO1xuICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICB9XG4gIC5zd2lwZXItYW5kcm9pZCAuc3dpcGVyLXNsaWRlLCAuc3dpcGVyLWlvcyAuc3dpcGVyLXNsaWRlLCAuc3dpcGVyLXdyYXBwZXIge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMHB4LCAwLCAwKTtcbiAgfVxuICAuc3dpcGVyLWhvcml6b250YWwge1xuICAgIHRvdWNoLWFjdGlvbjogcGFuLXk7XG4gIH1cbiAgLnN3aXBlci12ZXJ0aWNhbCB7XG4gICAgdG91Y2gtYWN0aW9uOiBwYW4teDtcbiAgfVxuICAuc3dpcGVyLXNsaWRlIHtcbiAgICBmbGV4LXNocmluazogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuICAuc3dpcGVyLXNsaWRlLWludmlzaWJsZS1ibGFuayB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICB9XG4gIC5zd2lwZXItYXV0b2hlaWdodCwgLnN3aXBlci1hdXRvaGVpZ2h0IC5zd2lwZXItc2xpZGUge1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxuICAuc3dpcGVyLWF1dG9oZWlnaHQgLnN3aXBlci13cmFwcGVyIHtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIGhlaWdodDtcbiAgfVxuICAuc3dpcGVyLWJhY2tmYWNlLWhpZGRlbiAuc3dpcGVyLXNsaWRlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7XG4gICAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICB9XG4gIC5zd2lwZXItM2Quc3dpcGVyLWNzcy1tb2RlIC5zd2lwZXItd3JhcHBlciB7XG4gICAgcGVyc3BlY3RpdmU6IDEyMDBweDtcbiAgfVxuICAuc3dpcGVyLTNkIC5zd2lwZXItd3JhcHBlciB7XG4gICAgdHJhbnNmb3JtLXN0eWxlOiBwcmVzZXJ2ZS0zZDtcbiAgfVxuICAuc3dpcGVyLTNkIHtcbiAgICBwZXJzcGVjdGl2ZTogMTIwMHB4O1xuICB9XG4gIC5zd2lwZXItM2QgLnN3aXBlci1jdWJlLXNoYWRvdywgLnN3aXBlci0zZCAuc3dpcGVyLXNsaWRlIHtcbiAgICB0cmFuc2Zvcm0tc3R5bGU6IHByZXNlcnZlLTNkO1xuICB9XG4gIC5zd2lwZXItY3NzLW1vZGUgPiAuc3dpcGVyLXdyYXBwZXIge1xuICAgIG92ZXJmbG93OiBhdXRvO1xuICAgIHNjcm9sbGJhci13aWR0aDogbm9uZTtcbiAgICAtbXMtb3ZlcmZsb3ctc3R5bGU6IG5vbmU7XG4gIH1cbiAgLnN3aXBlci1jc3MtbW9kZSA+IC5zd2lwZXItd3JhcHBlcjo6LXdlYmtpdC1zY3JvbGxiYXIge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgLnN3aXBlci1jc3MtbW9kZSA+IC5zd2lwZXItd3JhcHBlciA+IC5zd2lwZXItc2xpZGUge1xuICAgIHNjcm9sbC1zbmFwLWFsaWduOiBzdGFydCBzdGFydDtcbiAgfVxuICAuc3dpcGVyLWNzcy1tb2RlLnN3aXBlci1ob3Jpem9udGFsID4gLnN3aXBlci13cmFwcGVyIHtcbiAgICBzY3JvbGwtc25hcC10eXBlOiB4IG1hbmRhdG9yeTtcbiAgfVxuICAuc3dpcGVyLWNzcy1tb2RlLnN3aXBlci12ZXJ0aWNhbCA+IC5zd2lwZXItd3JhcHBlciB7XG4gICAgc2Nyb2xsLXNuYXAtdHlwZTogeSBtYW5kYXRvcnk7XG4gIH1cbiAgLnN3aXBlci1jc3MtbW9kZS5zd2lwZXItZnJlZS1tb2RlID4gLnN3aXBlci13cmFwcGVyIHtcbiAgICBzY3JvbGwtc25hcC10eXBlOiBub25lO1xuICB9XG4gIC5zd2lwZXItY3NzLW1vZGUuc3dpcGVyLWZyZWUtbW9kZSA+IC5zd2lwZXItd3JhcHBlciA+IC5zd2lwZXItc2xpZGUge1xuICAgIHNjcm9sbC1zbmFwLWFsaWduOiBub25lO1xuICB9XG4gIC5zd2lwZXItY3NzLW1vZGUuc3dpcGVyLWNlbnRlcmVkID4gLnN3aXBlci13cmFwcGVyOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gICAgb3JkZXI6IDk5OTk7XG4gIH1cbiAgLnN3aXBlci1jc3MtbW9kZS5zd2lwZXItY2VudGVyZWQgPiAuc3dpcGVyLXdyYXBwZXIgPiAuc3dpcGVyLXNsaWRlIHtcbiAgICBzY3JvbGwtc25hcC1hbGlnbjogY2VudGVyIGNlbnRlcjtcbiAgICBzY3JvbGwtc25hcC1zdG9wOiBhbHdheXM7XG4gIH1cbiAgLnN3aXBlci1jc3MtbW9kZS5zd2lwZXItY2VudGVyZWQuc3dpcGVyLWhvcml6b250YWwgPiAuc3dpcGVyLXdyYXBwZXIgPiAuc3dpcGVyLXNsaWRlOmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiB2YXIoLS1zd2lwZXItY2VudGVyZWQtb2Zmc2V0LWJlZm9yZSk7XG4gIH1cbiAgLnN3aXBlci1jc3MtbW9kZS5zd2lwZXItY2VudGVyZWQuc3dpcGVyLWhvcml6b250YWwgPiAuc3dpcGVyLXdyYXBwZXI6OmJlZm9yZSB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG1pbi1oZWlnaHQ6IDFweDtcbiAgICB3aWR0aDogdmFyKC0tc3dpcGVyLWNlbnRlcmVkLW9mZnNldC1hZnRlcik7XG4gIH1cbiAgLnN3aXBlci1jc3MtbW9kZS5zd2lwZXItY2VudGVyZWQuc3dpcGVyLXZlcnRpY2FsID4gLnN3aXBlci13cmFwcGVyID4gLnN3aXBlci1zbGlkZTpmaXJzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJsb2NrLXN0YXJ0OiB2YXIoLS1zd2lwZXItY2VudGVyZWQtb2Zmc2V0LWJlZm9yZSk7XG4gIH1cbiAgLnN3aXBlci1jc3MtbW9kZS5zd2lwZXItY2VudGVyZWQuc3dpcGVyLXZlcnRpY2FsID4gLnN3aXBlci13cmFwcGVyOjpiZWZvcmUge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1pbi13aWR0aDogMXB4O1xuICAgIGhlaWdodDogdmFyKC0tc3dpcGVyLWNlbnRlcmVkLW9mZnNldC1hZnRlcik7XG4gIH1cbiAgLnN3aXBlci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdywgLnN3aXBlci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1ib3R0b20sIC5zd2lwZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctbGVmdCwgLnN3aXBlci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1yaWdodCwgLnN3aXBlci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy10b3Age1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAwO1xuICAgIHRvcDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgei1pbmRleDogMTA7XG4gIH1cbiAgLnN3aXBlci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdyB7XG4gICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjE1KTtcbiAgfVxuICAuc3dpcGVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LWxlZnQge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBsZWZ0LCByZ2JhKDAsIDAsIDAsIDAuNSksIHJnYmEoMCwgMCwgMCwgMCkpO1xuICB9XG4gIC5zd2lwZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctcmlnaHQge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgcmdiYSgwLCAwLCAwLCAwLjUpLCByZ2JhKDAsIDAsIDAsIDApKTtcbiAgfVxuICAuc3dpcGVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LXRvcCB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHRvcCwgcmdiYSgwLCAwLCAwLCAwLjUpLCByZ2JhKDAsIDAsIDAsIDApKTtcbiAgfVxuICAuc3dpcGVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LWJvdHRvbSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgcmdiYSgwLCAwLCAwLCAwLjUpLCByZ2JhKDAsIDAsIDAsIDApKTtcbiAgfVxuICAuc3dpcGVyLWxhenktcHJlbG9hZGVyIHtcbiAgICB3aWR0aDogNDJweDtcbiAgICBoZWlnaHQ6IDQycHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0b3A6IDUwJTtcbiAgICBtYXJnaW4tbGVmdDogLTIxcHg7XG4gICAgbWFyZ2luLXRvcDogLTIxcHg7XG4gICAgei1pbmRleDogMTA7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogNTAlO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgYm9yZGVyOiA0cHggc29saWQgdmFyKC0tc3dpcGVyLXByZWxvYWRlci1jb2xvciwgdmFyKC0tc3dpcGVyLXRoZW1lLWNvbG9yKSk7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGJvcmRlci10b3AtY29sb3I6IHRyYW5zcGFyZW50O1xuICB9XG4gIC5zd2lwZXItd2F0Y2gtcHJvZ3Jlc3MgLnN3aXBlci1zbGlkZS12aXNpYmxlIC5zd2lwZXItbGF6eS1wcmVsb2FkZXIsIC5zd2lwZXI6bm90KC5zd2lwZXItd2F0Y2gtcHJvZ3Jlc3MpIC5zd2lwZXItbGF6eS1wcmVsb2FkZXIge1xuICAgIGFuaW1hdGlvbjogc3dpcGVyLXByZWxvYWRlci1zcGluIDFzIGluZmluaXRlIGxpbmVhcjtcbiAgfVxuICAuc3dpcGVyLWxhenktcHJlbG9hZGVyLXdoaXRlIHtcbiAgICAtLXN3aXBlci1wcmVsb2FkZXItY29sb3I6I2ZmZjtcbiAgfVxuICAuc3dpcGVyLWxhenktcHJlbG9hZGVyLWJsYWNrIHtcbiAgICAtLXN3aXBlci1wcmVsb2FkZXItY29sb3I6IzAwMDtcbiAgfVxuICBAa2V5ZnJhbWVzIHN3aXBlci1wcmVsb2FkZXItc3BpbiB7XG4gICAgMCUge1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcbiAgICB9XG4gIH1cbiAgLnN3aXBlci12aXJ0dWFsIC5zd2lwZXItc2xpZGUge1xuICAgIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTtcbiAgfVxuICAuc3dpcGVyLXZpcnR1YWwuc3dpcGVyLWNzcy1tb2RlIC5zd2lwZXItd3JhcHBlcjo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDA7XG4gICAgdG9wOiAwO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB9XG4gIC5zd2lwZXItdmlydHVhbC5zd2lwZXItY3NzLW1vZGUuc3dpcGVyLWhvcml6b250YWwgLnN3aXBlci13cmFwcGVyOjphZnRlciB7XG4gICAgaGVpZ2h0OiAxcHg7XG4gICAgd2lkdGg6IHZhcigtLXN3aXBlci12aXJ0dWFsLXNpemUpO1xuICB9XG4gIC5zd2lwZXItdmlydHVhbC5zd2lwZXItY3NzLW1vZGUuc3dpcGVyLXZlcnRpY2FsIC5zd2lwZXItd3JhcHBlcjo6YWZ0ZXIge1xuICAgIHdpZHRoOiAxcHg7XG4gICAgaGVpZ2h0OiB2YXIoLS1zd2lwZXItdmlydHVhbC1zaXplKTtcbiAgfVxuICA6cm9vdCB7XG4gICAgLS1zd2lwZXItbmF2aWdhdGlvbi1zaXplOjQ0cHg7XG4gIH1cbiAgLnN3aXBlci1idXR0b24tbmV4dCwgLnN3aXBlci1idXR0b24tcHJldiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogdmFyKC0tc3dpcGVyLW5hdmlnYXRpb24tdG9wLW9mZnNldCwgNTAlKTtcbiAgICB3aWR0aDogY2FsYyh2YXIoLS1zd2lwZXItbmF2aWdhdGlvbi1zaXplKSAvIDQ0ICogMjcpO1xuICAgIGhlaWdodDogdmFyKC0tc3dpcGVyLW5hdmlnYXRpb24tc2l6ZSk7XG4gICAgbWFyZ2luLXRvcDogY2FsYygwcHggLSB2YXIoLS1zd2lwZXItbmF2aWdhdGlvbi1zaXplKSAvIDIpO1xuICAgIHotaW5kZXg6IDEwO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgY29sb3I6IHZhcigtLXN3aXBlci1uYXZpZ2F0aW9uLWNvbG9yLCB2YXIoLS1zd2lwZXItdGhlbWUtY29sb3IpKTtcbiAgfVxuICAuc3dpcGVyLWJ1dHRvbi1uZXh0LnN3aXBlci1idXR0b24tZGlzYWJsZWQsIC5zd2lwZXItYnV0dG9uLXByZXYuc3dpcGVyLWJ1dHRvbi1kaXNhYmxlZCB7XG4gICAgb3BhY2l0eTogMC4zNTtcbiAgICBjdXJzb3I6IGF1dG87XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIH1cbiAgLnN3aXBlci1idXR0b24tbmV4dC5zd2lwZXItYnV0dG9uLWhpZGRlbiwgLnN3aXBlci1idXR0b24tcHJldi5zd2lwZXItYnV0dG9uLWhpZGRlbiB7XG4gICAgb3BhY2l0eTogMDtcbiAgICBjdXJzb3I6IGF1dG87XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIH1cbiAgLnN3aXBlci1uYXZpZ2F0aW9uLWRpc2FibGVkIC5zd2lwZXItYnV0dG9uLW5leHQsIC5zd2lwZXItbmF2aWdhdGlvbi1kaXNhYmxlZCAuc3dpcGVyLWJ1dHRvbi1wcmV2IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnN3aXBlci1idXR0b24tbmV4dCBzdmcsIC5zd2lwZXItYnV0dG9uLXByZXYgc3ZnIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgb2JqZWN0LWZpdDogY29udGFpbjtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gIH1cbiAgLnN3aXBlci1ydGwgLnN3aXBlci1idXR0b24tbmV4dCBzdmcsIC5zd2lwZXItcnRsIC5zd2lwZXItYnV0dG9uLXByZXYgc3ZnIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICB9XG4gIC5zd2lwZXItYnV0dG9uLXByZXYsIC5zd2lwZXItcnRsIC5zd2lwZXItYnV0dG9uLW5leHQge1xuICAgIGxlZnQ6IHZhcigtLXN3aXBlci1uYXZpZ2F0aW9uLXNpZGVzLW9mZnNldCwgMTBweCk7XG4gICAgcmlnaHQ6IGF1dG87XG4gIH1cbiAgLnN3aXBlci1idXR0b24tbmV4dCwgLnN3aXBlci1ydGwgLnN3aXBlci1idXR0b24tcHJldiB7XG4gICAgcmlnaHQ6IHZhcigtLXN3aXBlci1uYXZpZ2F0aW9uLXNpZGVzLW9mZnNldCwgMTBweCk7XG4gICAgbGVmdDogYXV0bztcbiAgfVxuICAuc3dpcGVyLWJ1dHRvbi1sb2NrIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIC5zd2lwZXItYnV0dG9uLW5leHQ6YWZ0ZXIsIC5zd2lwZXItYnV0dG9uLXByZXY6YWZ0ZXIge1xuICAgIGZvbnQtZmFtaWx5OiBzd2lwZXItaWNvbnM7XG4gICAgZm9udC1zaXplOiB2YXIoLS1zd2lwZXItbmF2aWdhdGlvbi1zaXplKTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZSAhaW1wb3J0YW50O1xuICAgIGxldHRlci1zcGFjaW5nOiAwO1xuICAgIGZvbnQtdmFyaWFudDogaW5pdGlhbDtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgfVxuICAuc3dpcGVyLWJ1dHRvbi1wcmV2OmFmdGVyLCAuc3dpcGVyLXJ0bCAuc3dpcGVyLWJ1dHRvbi1uZXh0OmFmdGVyIHtcbiAgICBjb250ZW50OiBcInByZXZcIjtcbiAgfVxuICAuc3dpcGVyLWJ1dHRvbi1uZXh0LCAuc3dpcGVyLXJ0bCAuc3dpcGVyLWJ1dHRvbi1wcmV2IHtcbiAgICByaWdodDogdmFyKC0tc3dpcGVyLW5hdmlnYXRpb24tc2lkZXMtb2Zmc2V0LCAxMHB4KTtcbiAgICBsZWZ0OiBhdXRvO1xuICB9XG4gIC5zd2lwZXItYnV0dG9uLW5leHQ6YWZ0ZXIsIC5zd2lwZXItcnRsIC5zd2lwZXItYnV0dG9uLXByZXY6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwibmV4dFwiO1xuICB9XG4gIC5zd2lwZXItcGFnaW5hdGlvbiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB0cmFuc2l0aW9uOiAwLjNzIG9wYWNpdHk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB6LWluZGV4OiAxMDtcbiAgfVxuICAuc3dpcGVyLXBhZ2luYXRpb24uc3dpcGVyLXBhZ2luYXRpb24taGlkZGVuIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG4gIC5zd2lwZXItcGFnaW5hdGlvbi1kaXNhYmxlZCA+IC5zd2lwZXItcGFnaW5hdGlvbiwgLnN3aXBlci1wYWdpbmF0aW9uLnN3aXBlci1wYWdpbmF0aW9uLWRpc2FibGVkIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnN3aXBlci1ob3Jpem9udGFsID4gLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMsIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLnN3aXBlci1wYWdpbmF0aW9uLWhvcml6b250YWwsIC5zd2lwZXItcGFnaW5hdGlvbi1jdXN0b20sIC5zd2lwZXItcGFnaW5hdGlvbi1mcmFjdGlvbiB7XG4gICAgYm90dG9tOiB2YXIoLS1zd2lwZXItcGFnaW5hdGlvbi1ib3R0b20sIDhweCk7XG4gICAgdG9wOiB2YXIoLS1zd2lwZXItcGFnaW5hdGlvbi10b3AsIGF1dG8pO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbiAgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pYyB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBmb250LXNpemU6IDA7XG4gIH1cbiAgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pYyAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0IHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuMzMpO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuICAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy1keW5hbWljIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtYWN0aXZlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICB9XG4gIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1hY3RpdmUtbWFpbiB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgfVxuICAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy1keW5hbWljIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtYWN0aXZlLXByZXYge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMC42Nik7XG4gIH1cbiAgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pYyAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LWFjdGl2ZS1wcmV2LXByZXYge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMC4zMyk7XG4gIH1cbiAgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pYyAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LWFjdGl2ZS1uZXh0IHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuNjYpO1xuICB9XG4gIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1hY3RpdmUtbmV4dC1uZXh0IHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuMzMpO1xuICB9XG4gIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQge1xuICAgIHdpZHRoOiB2YXIoLS1zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtd2lkdGgsIHZhcigtLXN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1zaXplLCA4cHgpKTtcbiAgICBoZWlnaHQ6IHZhcigtLXN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1oZWlnaHQsIHZhcigtLXN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1zaXplLCA4cHgpKTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LWJvcmRlci1yYWRpdXMsIDUwJSk7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LWluYWN0aXZlLWNvbG9yLCAjMDAwKTtcbiAgICBvcGFjaXR5OiB2YXIoLS1zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtaW5hY3RpdmUtb3BhY2l0eSwgMC4yKTtcbiAgfVxuICBidXR0b24uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0IHtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgfVxuICAuc3dpcGVyLXBhZ2luYXRpb24tY2xpY2thYmxlIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgfVxuICAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0Om9ubHktY2hpbGQge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxuICAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LWFjdGl2ZSB7XG4gICAgb3BhY2l0eTogdmFyKC0tc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LW9wYWNpdHksIDEpO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLXN3aXBlci1wYWdpbmF0aW9uLWNvbG9yLCB2YXIoLS1zd2lwZXItdGhlbWUtY29sb3IpKTtcbiAgfVxuICAuc3dpcGVyLXBhZ2luYXRpb24tdmVydGljYWwuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cywgLnN3aXBlci12ZXJ0aWNhbCA+IC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzIHtcbiAgICByaWdodDogdmFyKC0tc3dpcGVyLXBhZ2luYXRpb24tcmlnaHQsIDhweCk7XG4gICAgbGVmdDogdmFyKC0tc3dpcGVyLXBhZ2luYXRpb24tbGVmdCwgYXV0byk7XG4gICAgdG9wOiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwcHgsIC01MCUsIDApO1xuICB9XG4gIC5zd2lwZXItcGFnaW5hdGlvbi12ZXJ0aWNhbC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQsIC5zd2lwZXItdmVydGljYWwgPiAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cyAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0IHtcbiAgICBtYXJnaW46IHZhcigtLXN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC12ZXJ0aWNhbC1nYXAsIDZweCkgMDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuICAuc3dpcGVyLXBhZ2luYXRpb24tdmVydGljYWwuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWMsIC5zd2lwZXItdmVydGljYWwgPiAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWMge1xuICAgIHRvcDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICB3aWR0aDogOHB4O1xuICB9XG4gIC5zd2lwZXItcGFnaW5hdGlvbi12ZXJ0aWNhbC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pYyAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LCAuc3dpcGVyLXZlcnRpY2FsID4gLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy1keW5hbWljIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB0cmFuc2l0aW9uOiAwLjJzIHRyYW5zZm9ybSwgMC4ycyB0b3A7XG4gIH1cbiAgLnN3aXBlci1ob3Jpem9udGFsID4gLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldCwgLnN3aXBlci1wYWdpbmF0aW9uLWhvcml6b250YWwuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cyAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0IHtcbiAgICBtYXJnaW46IDAgdmFyKC0tc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LWhvcml6b250YWwtZ2FwLCA0cHgpO1xuICB9XG4gIC5zd2lwZXItaG9yaXpvbnRhbCA+IC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pYywgLnN3aXBlci1wYWdpbmF0aW9uLWhvcml6b250YWwuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWMge1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgfVxuICAuc3dpcGVyLWhvcml6b250YWwgPiAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldCwgLnN3aXBlci1wYWdpbmF0aW9uLWhvcml6b250YWwuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldCB7XG4gICAgdHJhbnNpdGlvbjogMC4ycyB0cmFuc2Zvcm0sIDAuMnMgbGVmdDtcbiAgfVxuICAuc3dpcGVyLWhvcml6b250YWwuc3dpcGVyLXJ0bCA+IC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldCB7XG4gICAgdHJhbnNpdGlvbjogMC4ycyB0cmFuc2Zvcm0sIDAuMnMgcmlnaHQ7XG4gIH1cbiAgLnN3aXBlci1wYWdpbmF0aW9uLWZyYWN0aW9uIHtcbiAgICBjb2xvcjogdmFyKC0tc3dpcGVyLXBhZ2luYXRpb24tZnJhY3Rpb24tY29sb3IsIGluaGVyaXQpO1xuICB9XG4gIC5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2JhciB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXItYmctY29sb3IsIHJnYmEoMCwgMCwgMCwgMC4yNSkpO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgfVxuICAuc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXIgLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyLWZpbGwge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLXN3aXBlci1wYWdpbmF0aW9uLWNvbG9yLCB2YXIoLS1zd2lwZXItdGhlbWUtY29sb3IpKTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMDtcbiAgICB0b3A6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMCk7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCB0b3A7XG4gIH1cbiAgLnN3aXBlci1ydGwgLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyIC5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2Jhci1maWxsIHtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCB0b3A7XG4gIH1cbiAgLnN3aXBlci1ob3Jpem9udGFsID4gLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyLCAuc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXIuc3dpcGVyLXBhZ2luYXRpb24taG9yaXpvbnRhbCwgLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyLnN3aXBlci1wYWdpbmF0aW9uLXZlcnRpY2FsLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyLW9wcG9zaXRlLCAuc3dpcGVyLXZlcnRpY2FsID4gLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyLW9wcG9zaXRlIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IHZhcigtLXN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyLXNpemUsIDRweCk7XG4gICAgbGVmdDogMDtcbiAgICB0b3A6IDA7XG4gIH1cbiAgLnN3aXBlci1ob3Jpem9udGFsID4gLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyLW9wcG9zaXRlLCAuc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXIuc3dpcGVyLXBhZ2luYXRpb24taG9yaXpvbnRhbC5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2Jhci1vcHBvc2l0ZSwgLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyLnN3aXBlci1wYWdpbmF0aW9uLXZlcnRpY2FsLCAuc3dpcGVyLXZlcnRpY2FsID4gLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyIHtcbiAgICB3aWR0aDogdmFyKC0tc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXItc2l6ZSwgNHB4KTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgbGVmdDogMDtcbiAgICB0b3A6IDA7XG4gIH1cbiAgLnN3aXBlci1wYWdpbmF0aW9uLWxvY2sge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgLnN3aXBlci1zY3JvbGxiYXIge1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXN3aXBlci1zY3JvbGxiYXItYm9yZGVyLXJhZGl1cywgMTBweCk7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvdWNoLWFjdGlvbjogbm9uZTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1zd2lwZXItc2Nyb2xsYmFyLWJnLWNvbG9yLCByZ2JhKDAsIDAsIDAsIDAuMSkpO1xuICB9XG4gIC5zd2lwZXItc2Nyb2xsYmFyLWRpc2FibGVkID4gLnN3aXBlci1zY3JvbGxiYXIsIC5zd2lwZXItc2Nyb2xsYmFyLnN3aXBlci1zY3JvbGxiYXItZGlzYWJsZWQge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxuICAuc3dpcGVyLWhvcml6b250YWwgPiAuc3dpcGVyLXNjcm9sbGJhciwgLnN3aXBlci1zY3JvbGxiYXIuc3dpcGVyLXNjcm9sbGJhci1ob3Jpem9udGFsIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogdmFyKC0tc3dpcGVyLXNjcm9sbGJhci1zaWRlcy1vZmZzZXQsIDElKTtcbiAgICBib3R0b206IHZhcigtLXN3aXBlci1zY3JvbGxiYXItYm90dG9tLCA0cHgpO1xuICAgIHRvcDogdmFyKC0tc3dpcGVyLXNjcm9sbGJhci10b3AsIGF1dG8pO1xuICAgIHotaW5kZXg6IDUwO1xuICAgIGhlaWdodDogdmFyKC0tc3dpcGVyLXNjcm9sbGJhci1zaXplLCA0cHgpO1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAyICogdmFyKC0tc3dpcGVyLXNjcm9sbGJhci1zaWRlcy1vZmZzZXQsIDElKSk7XG4gIH1cbiAgLnN3aXBlci1zY3JvbGxiYXIuc3dpcGVyLXNjcm9sbGJhci12ZXJ0aWNhbCwgLnN3aXBlci12ZXJ0aWNhbCA+IC5zd2lwZXItc2Nyb2xsYmFyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogdmFyKC0tc3dpcGVyLXNjcm9sbGJhci1sZWZ0LCBhdXRvKTtcbiAgICByaWdodDogdmFyKC0tc3dpcGVyLXNjcm9sbGJhci1yaWdodCwgNHB4KTtcbiAgICB0b3A6IHZhcigtLXN3aXBlci1zY3JvbGxiYXItc2lkZXMtb2Zmc2V0LCAxJSk7XG4gICAgei1pbmRleDogNTA7XG4gICAgd2lkdGg6IHZhcigtLXN3aXBlci1zY3JvbGxiYXItc2l6ZSwgNHB4KTtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDIgKiB2YXIoLS1zd2lwZXItc2Nyb2xsYmFyLXNpZGVzLW9mZnNldCwgMSUpKTtcbiAgfVxuICAuc3dpcGVyLXNjcm9sbGJhci1kcmFnIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLXN3aXBlci1zY3JvbGxiYXItZHJhZy1iZy1jb2xvciwgcmdiYSgwLCAwLCAwLCAwLjUpKTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1zd2lwZXItc2Nyb2xsYmFyLWJvcmRlci1yYWRpdXMsIDEwcHgpO1xuICAgIGxlZnQ6IDA7XG4gICAgdG9wOiAwO1xuICB9XG4gIC5zd2lwZXItc2Nyb2xsYmFyLWN1cnNvci1kcmFnIHtcbiAgICBjdXJzb3I6IG1vdmU7XG4gIH1cbiAgLnN3aXBlci1zY3JvbGxiYXItbG9jayB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICAuc3dpcGVyLXpvb20tY29udGFpbmVyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuICAuc3dpcGVyLXpvb20tY29udGFpbmVyID4gY2FudmFzLCAuc3dpcGVyLXpvb20tY29udGFpbmVyID4gaW1nLCAuc3dpcGVyLXpvb20tY29udGFpbmVyID4gc3ZnIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICBvYmplY3QtZml0OiBjb250YWluO1xuICB9XG4gIC5zd2lwZXItc2xpZGUtem9vbWVkIHtcbiAgICBjdXJzb3I6IG1vdmU7XG4gICAgdG91Y2gtYWN0aW9uOiBub25lO1xuICB9XG4gIC5zd2lwZXIgLnN3aXBlci1ub3RpZmljYXRpb24ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAwO1xuICAgIHRvcDogMDtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHotaW5kZXg6IC0xMDAwO1xuICB9XG4gIC5zd2lwZXItZnJlZS1tb2RlID4gLnN3aXBlci13cmFwcGVyIHtcbiAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gIH1cbiAgLnN3aXBlci1ncmlkID4gLnN3aXBlci13cmFwcGVyIHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gIH1cbiAgLnN3aXBlci1ncmlkLWNvbHVtbiA+IC5zd2lwZXItd3JhcHBlciB7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIH1cbiAgLnN3aXBlci1mYWRlLnN3aXBlci1mcmVlLW1vZGUgLnN3aXBlci1zbGlkZSB7XG4gICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuICB9XG4gIC5zd2lwZXItZmFkZSAuc3dpcGVyLXNsaWRlIHtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5O1xuICB9XG4gIC5zd2lwZXItZmFkZSAuc3dpcGVyLXNsaWRlIC5zd2lwZXItc2xpZGUge1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB9XG4gIC5zd2lwZXItZmFkZSAuc3dpcGVyLXNsaWRlLWFjdGl2ZSB7XG4gICAgcG9pbnRlci1ldmVudHM6IGF1dG87XG4gIH1cbiAgLnN3aXBlci1mYWRlIC5zd2lwZXItc2xpZGUtYWN0aXZlIC5zd2lwZXItc2xpZGUtYWN0aXZlIHtcbiAgICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgfVxuICAuc3dpcGVyLnN3aXBlci1jdWJlIHtcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgfVxuICAuc3dpcGVyLWN1YmUgLnN3aXBlci1zbGlkZSB7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIHotaW5kZXg6IDE7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IDAgMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gIH1cbiAgLnN3aXBlci1jdWJlIC5zd2lwZXItc2xpZGUgLnN3aXBlci1zbGlkZSB7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIH1cbiAgLnN3aXBlci1jdWJlLnN3aXBlci1ydGwgLnN3aXBlci1zbGlkZSB7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogMTAwJSAwO1xuICB9XG4gIC5zd2lwZXItY3ViZSAuc3dpcGVyLXNsaWRlLWFjdGl2ZSwgLnN3aXBlci1jdWJlIC5zd2lwZXItc2xpZGUtYWN0aXZlIC5zd2lwZXItc2xpZGUtYWN0aXZlIHtcbiAgICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgfVxuICAuc3dpcGVyLWN1YmUgLnN3aXBlci1zbGlkZS1hY3RpdmUsIC5zd2lwZXItY3ViZSAuc3dpcGVyLXNsaWRlLW5leHQsIC5zd2lwZXItY3ViZSAuc3dpcGVyLXNsaWRlLXByZXYge1xuICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIH1cbiAgLnN3aXBlci1jdWJlIC5zd2lwZXItY3ViZS1zaGFkb3cge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAwO1xuICAgIGJvdHRvbTogMHB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBvcGFjaXR5OiAwLjY7XG4gICAgei1pbmRleDogMDtcbiAgfVxuICAuc3dpcGVyLWN1YmUgLnN3aXBlci1jdWJlLXNoYWRvdzpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgYmFja2dyb3VuZDogIzAwMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMDtcbiAgICB0b3A6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGZpbHRlcjogYmx1cig1MHB4KTtcbiAgfVxuICAuc3dpcGVyLWN1YmUgLnN3aXBlci1zbGlkZS1uZXh0ICsgLnN3aXBlci1zbGlkZSB7XG4gICAgcG9pbnRlci1ldmVudHM6IGF1dG87XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgfVxuICAuc3dpcGVyLWN1YmUgLnN3aXBlci1zbGlkZS1zaGFkb3ctY3ViZS5zd2lwZXItc2xpZGUtc2hhZG93LWJvdHRvbSwgLnN3aXBlci1jdWJlIC5zd2lwZXItc2xpZGUtc2hhZG93LWN1YmUuc3dpcGVyLXNsaWRlLXNoYWRvdy1sZWZ0LCAuc3dpcGVyLWN1YmUgLnN3aXBlci1zbGlkZS1zaGFkb3ctY3ViZS5zd2lwZXItc2xpZGUtc2hhZG93LXJpZ2h0LCAuc3dpcGVyLWN1YmUgLnN3aXBlci1zbGlkZS1zaGFkb3ctY3ViZS5zd2lwZXItc2xpZGUtc2hhZG93LXRvcCB7XG4gICAgei1pbmRleDogMDtcbiAgICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIH1cbiAgLnN3aXBlci5zd2lwZXItZmxpcCB7XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIH1cbiAgLnN3aXBlci1mbGlwIC5zd2lwZXItc2xpZGUge1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICB6LWluZGV4OiAxO1xuICB9XG4gIC5zd2lwZXItZmxpcCAuc3dpcGVyLXNsaWRlIC5zd2lwZXItc2xpZGUge1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB9XG4gIC5zd2lwZXItZmxpcCAuc3dpcGVyLXNsaWRlLWFjdGl2ZSwgLnN3aXBlci1mbGlwIC5zd2lwZXItc2xpZGUtYWN0aXZlIC5zd2lwZXItc2xpZGUtYWN0aXZlIHtcbiAgICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgfVxuICAuc3dpcGVyLWZsaXAgLnN3aXBlci1zbGlkZS1zaGFkb3ctZmxpcC5zd2lwZXItc2xpZGUtc2hhZG93LWJvdHRvbSwgLnN3aXBlci1mbGlwIC5zd2lwZXItc2xpZGUtc2hhZG93LWZsaXAuc3dpcGVyLXNsaWRlLXNoYWRvdy1sZWZ0LCAuc3dpcGVyLWZsaXAgLnN3aXBlci1zbGlkZS1zaGFkb3ctZmxpcC5zd2lwZXItc2xpZGUtc2hhZG93LXJpZ2h0LCAuc3dpcGVyLWZsaXAgLnN3aXBlci1zbGlkZS1zaGFkb3ctZmxpcC5zd2lwZXItc2xpZGUtc2hhZG93LXRvcCB7XG4gICAgei1pbmRleDogMDtcbiAgICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIH1cbiAgLnN3aXBlci1jcmVhdGl2ZSAuc3dpcGVyLXNsaWRlIHtcbiAgICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHksIGhlaWdodDtcbiAgfVxuICAuc3dpcGVyLnN3aXBlci1jYXJkcyB7XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIH1cbiAgLnN3aXBlci1jYXJkcyAuc3dpcGVyLXNsaWRlIHtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgYm90dG9tO1xuICAgIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICB9XG59XG5AbGF5ZXIgdW5pcSB7XG4gIC5wSGVhZGluZ0xhcmdlIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogYXV0byAxZnI7XG4gICAgZ2FwOiBjYWxjKDEyIC8gMzkwICogMTAwdncpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5wSGVhZGluZ0xhcmdlIHtcbiAgICAgIGdhcDogbWluKDE2cHgsIGNhbGMoMTYgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgLnBIZWFkaW5nTGFyZ2U6OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogY2FsYygxNiAvIDM5MCAqIDEwMHZ3KTtcbiAgICBoZWlnaHQ6IGNhbGMoNCAvIDM5MCAqIDEwMHZ3KTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1icmFuZCk7XG4gICAgdHJhbnNsYXRlOiAwIGNhbGMoMTEgLyAzOTAgKiAxMDB2dyk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnBIZWFkaW5nTGFyZ2U6OmJlZm9yZSB7XG4gICAgICB3aWR0aDogbWluKDI0cHgsIGNhbGMoMjQgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIGhlaWdodDogbWluKDRweCwgY2FsYyg0IC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICB0cmFuc2xhdGU6IDAgbWluKDE5cHgsIGNhbGMoMTkgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgLm5hdmlnYXRpb24uYnJlYWRjcnVtYnMsIC5icmVhZGNydW1icy5jb21wb25lbnQudHlwZV9wYWdlbGlzdCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmFja2dyb3VuZCk7XG4gIH1cbiAgLm5hdmlnYXRpb24ubG9jYWxuYXZfYm90dG9tICsgLm5hdmlnYXRpb24uYnJlYWRjcnVtYnMsIC5sb2NhbG5hdl9ib3R0b20uY29tcG9uZW50LnR5cGVfcGFnZWxpc3QgKyAubmF2aWdhdGlvbi5icmVhZGNydW1icywgLm5hdmlnYXRpb24ubG9jYWxuYXZfYm90dG9tICsgLmJyZWFkY3J1bWJzLmNvbXBvbmVudC50eXBlX3BhZ2VsaXN0LCAubG9jYWxuYXZfYm90dG9tLmNvbXBvbmVudC50eXBlX3BhZ2VsaXN0ICsgLmJyZWFkY3J1bWJzLmNvbXBvbmVudC50eXBlX3BhZ2VsaXN0IHtcbiAgICBtYXJnaW4tdG9wOiB1bnNldDtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAubmF2aWdhdGlvbi5sb2NhbG5hdl9ib3R0b20gKyAubmF2aWdhdGlvbi5icmVhZGNydW1icywgLmxvY2FsbmF2X2JvdHRvbS5jb21wb25lbnQudHlwZV9wYWdlbGlzdCArIC5uYXZpZ2F0aW9uLmJyZWFkY3J1bWJzLCAubmF2aWdhdGlvbi5sb2NhbG5hdl9ib3R0b20gKyAuYnJlYWRjcnVtYnMuY29tcG9uZW50LnR5cGVfcGFnZWxpc3QsIC5sb2NhbG5hdl9ib3R0b20uY29tcG9uZW50LnR5cGVfcGFnZWxpc3QgKyAuYnJlYWRjcnVtYnMuY29tcG9uZW50LnR5cGVfcGFnZWxpc3Qge1xuICAgICAgbWFyZ2luLXRvcDogdW5zZXQ7XG4gICAgfVxuICB9XG4gIC5uYXZpZ2F0aW9uLmxvY2FsbmF2X2JvdHRvbSArIC5uYXZpZ2F0aW9uLmJyZWFkY3J1bWJzIC5pbm5lciwgLmxvY2FsbmF2X2JvdHRvbS5jb21wb25lbnQudHlwZV9wYWdlbGlzdCArIC5uYXZpZ2F0aW9uLmJyZWFkY3J1bWJzIC5pbm5lciwgLm5hdmlnYXRpb24ubG9jYWxuYXZfYm90dG9tICsgLmJyZWFkY3J1bWJzLmNvbXBvbmVudC50eXBlX3BhZ2VsaXN0IC5pbm5lciwgLmxvY2FsbmF2X2JvdHRvbS5jb21wb25lbnQudHlwZV9wYWdlbGlzdCArIC5icmVhZGNydW1icy5jb21wb25lbnQudHlwZV9wYWdlbGlzdCAuaW5uZXIge1xuICAgIHBhZGRpbmctdG9wOiB1bnNldDtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAubmF2aWdhdGlvbi5sb2NhbG5hdl9ib3R0b20gKyAubmF2aWdhdGlvbi5icmVhZGNydW1icyAuaW5uZXIsIC5sb2NhbG5hdl9ib3R0b20uY29tcG9uZW50LnR5cGVfcGFnZWxpc3QgKyAubmF2aWdhdGlvbi5icmVhZGNydW1icyAuaW5uZXIsIC5uYXZpZ2F0aW9uLmxvY2FsbmF2X2JvdHRvbSArIC5icmVhZGNydW1icy5jb21wb25lbnQudHlwZV9wYWdlbGlzdCAuaW5uZXIsIC5sb2NhbG5hdl9ib3R0b20uY29tcG9uZW50LnR5cGVfcGFnZWxpc3QgKyAuYnJlYWRjcnVtYnMuY29tcG9uZW50LnR5cGVfcGFnZWxpc3QgLmlubmVyIHtcbiAgICAgIHBhZGRpbmctdG9wOiB1bnNldDtcbiAgICB9XG4gIH1cbiAgLm5hdmlnYXRpb24uYnJlYWRjcnVtYnMgLmlubmVyLCAuYnJlYWRjcnVtYnMuY29tcG9uZW50LnR5cGVfcGFnZWxpc3QgLmlubmVyIHtcbiAgICBwYWRkaW5nLXRvcDogY2FsYyh2YXIoLS1uQnJlYWRjcnVtYnMtbWFyZ2luLXRvcC1zcCkgLyAzOTAgKiAxMDB2dyk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLm5hdmlnYXRpb24uYnJlYWRjcnVtYnMgLmlubmVyLCAuYnJlYWRjcnVtYnMuY29tcG9uZW50LnR5cGVfcGFnZWxpc3QgLmlubmVyIHtcbiAgICAgIHBhZGRpbmctdG9wOiBtaW4oY2FsYyh2YXIoLS1uQnJlYWRjcnVtYnMtbWFyZ2luLXRvcC1wYykgKiAxcHgpLCBjYWxjKHZhcigtLW5CcmVhZGNydW1icy1tYXJnaW4tdG9wLXBjKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICBtYWluOmhhcygubmF2aWdhdGlvbi5icmVhZGNydW1icywgLmJyZWFkY3J1bWJzLmNvbXBvbmVudC50eXBlX3BhZ2VsaXN0KSArIGZvb3RlciB7XG4gICAgbWFyZ2luLXRvcDogdW5zZXQ7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgbWFpbjpoYXMoLm5hdmlnYXRpb24uYnJlYWRjcnVtYnMsIC5icmVhZGNydW1icy5jb21wb25lbnQudHlwZV9wYWdlbGlzdCkgKyBmb290ZXIge1xuICAgICAgbWFyZ2luLXRvcDogdW5zZXQ7XG4gICAgfVxuICB9XG4gIC5wSGVhZGluZ01lZGl1bS5jZW50ZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAucEhlYWRpbmdNZWRpdW0uY2VudGVyIHtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgfVxuICB9XG4gIC50eXBlX2NhdGVnb3J5YnV0dG9uIHtcbiAgICBtYXJnaW4tdG9wOiBjYWxjKHZhcigtLWNDYXRlZ29yeUJ1dHRvbi1tYXJnaW4tdG9wLXNwKSAvIDM5MCAqIDEwMHZ3KTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAudHlwZV9jYXRlZ29yeWJ1dHRvbiB7XG4gICAgICBtYXJnaW4tdG9wOiBtaW4oY2FsYyh2YXIoLS1jQ2F0ZWdvcnlCdXR0b24tbWFyZ2luLXRvcC1wYykgKiAxcHgpLCBjYWxjKHZhcigtLWNDYXRlZ29yeUJ1dHRvbi1tYXJnaW4tdG9wLXBjKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAudHlwZV9jYXRlZ29yeWJ1dHRvbiAuaW5uZXIge1xuICAgIHBhZGRpbmctbGVmdDogY2FsYyh2YXIoLS1jb250YWluZXItcGFkZGluZy1zcCkgLyAzOTAgKiAxMDB2dyk7XG4gICAgcGFkZGluZy1yaWdodDogY2FsYyh2YXIoLS1jb250YWluZXItcGFkZGluZy1zcCkgLyAzOTAgKiAxMDB2dyk7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpO1xuICAgIGdhcDogY2FsYyh2YXIoLS1jQ2F0ZWdvcnlCdXR0b24tZ2FwLXJvdy1zcCkgLyAzOTAgKiAxMDB2dykgY2FsYyh2YXIoLS1jQ2F0ZWdvcnlCdXR0b24tZ2FwLWNvbC1zcCkgLyAzOTAgKiAxMDB2dyk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnR5cGVfY2F0ZWdvcnlidXR0b24gLmlubmVyIHtcbiAgICAgIHBhZGRpbmctbGVmdDogdW5zZXQ7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiB1bnNldDtcbiAgICAgIG1hcmdpbi1pbmxpbmU6IGF1dG87XG4gICAgICB3aWR0aDogbWluKDEwMjZweCwgY2FsYygxMDI2IC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC50eXBlX2NhdGVnb3J5YnV0dG9uIC5pbm5lciB7XG4gICAgICBnYXA6IG1pbihjYWxjKHZhcigtLWNDYXRlZ29yeUJ1dHRvbi1nYXAtcm93LXBjKSAqIDFweCksIGNhbGModmFyKC0tY0NhdGVnb3J5QnV0dG9uLWdhcC1yb3ctcGMpIC8gMTQ0MCAqIDEwMHZ3KSkgbWluKGNhbGModmFyKC0tY0NhdGVnb3J5QnV0dG9uLWdhcC1jb2wtcGMpICogMXB4KSwgY2FsYyh2YXIoLS1jQ2F0ZWdvcnlCdXR0b24tZ2FwLWNvbC1wYykgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDMsIDFmcik7XG4gICAgfVxuICB9XG4gIC50eXBlX2NhdGVnb3J5YnV0dG9uIC5pbm5lciAucENhdGVnb3J5QnV0dG9uIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbiAgLmFnZ3Jlc3NpdmUge1xuICAgIG1hcmdpbi10b3A6IGNhbGModmFyKC0tbWFyZ2luLXRvcC0xKSAvIDM5MCAqIDEwMHZ3KTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1ncmF5KTtcbiAgICBwYWRkaW5nLWJsb2NrOiBjYWxjKDI0IC8gMzkwICogMTAwdncpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5hZ2dyZXNzaXZlIHtcbiAgICAgIG1hcmdpbi10b3A6IG1pbihjYWxjKHZhcigtLW1hcmdpbi10b3AtMikgKiAxcHgpLCBjYWxjKHZhcigtLW1hcmdpbi10b3AtMikgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIHBhZGRpbmctYmxvY2s6IG1pbig1NnB4LCBjYWxjKDU2IC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIC5hZ2dyZXNzaXZlIC50aXRsZSB7XG4gICAgcGFkZGluZy1sZWZ0OiBjYWxjKHZhcigtLWNvbnRhaW5lci1wYWRkaW5nLXNwKSAvIDM5MCAqIDEwMHZ3KTtcbiAgICBwYWRkaW5nLXJpZ2h0OiBjYWxjKHZhcigtLWNvbnRhaW5lci1wYWRkaW5nLXNwKSAvIDM5MCAqIDEwMHZ3KTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuYWdncmVzc2l2ZSAudGl0bGUge1xuICAgICAgcGFkZGluZy1sZWZ0OiB1bnNldDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IHVuc2V0O1xuICAgICAgbWFyZ2luLWlubGluZTogYXV0bztcbiAgICAgIHdpZHRoOiBtaW4oMTAyNnB4LCBjYWxjKDEwMjYgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgLmFnZ3Jlc3NpdmUgLnRpdGxlIGgyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci10aGlyZCk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtb24tYWNjZW50KTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZm9udC1zaXplOiBjYWxjKHZhcigtLWZzLXMpIC8gMzkwICogMTAwdncpO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICBsaW5lLWhlaWdodDogMTQyJTtcbiAgICBwYWRkaW5nOiBjYWxjKDggLyAzOTAgKiAxMDB2dykgY2FsYygxNiAvIDM5MCAqIDEwMHZ3KTtcbiAgICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gICAgYm9yZGVyLXJhZGl1czogY2FsYyh2YXIoLS1ib3JkZXItcmFkaXVzLXNtYWxsKSAvIDM5MCAqIDEwMHZ3KTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLmFnZ3Jlc3NpdmUgLnRpdGxlIGgyIHtcbiAgICAgIGZvbnQtc2l6ZTogbWluKGNhbGModmFyKC0tZnMteGwpICogMXB4KSwgY2FsYyh2YXIoLS1mcy14bCkgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIHBhZGRpbmc6IG1pbigxNnB4LCBjYWxjKDE2IC8gMTQ0MCAqIDEwMHZ3KSkgbWluKDU2cHgsIGNhbGMoNTYgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IG1pbihjYWxjKHZhcigtLWJvcmRlci1yYWRpdXMtc21hbGwpICogMXB4KSwgY2FsYyh2YXIoLS1ib3JkZXItcmFkaXVzLXNtYWxsKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAuYWdncmVzc2l2ZSAudGl0bGUgaDI6OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogY2FsYygxMSAvIDM5MCAqIDEwMHZ3KTtcbiAgICBhc3BlY3QtcmF0aW86IDEvY29zKDMwZGVnKTtcbiAgICBjbGlwLXBhdGg6IHBvbHlnb24oNTAlIDEwMCUsIDEwMCUgMCwgMCAwKTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci10aGlyZCk7XG4gICAgYm90dG9tOiBjYWxjKC05IC8gMzkwICogMTAwdncpO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0cmFuc2xhdGU6IC01MCUgMDtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuYWdncmVzc2l2ZSAudGl0bGUgaDI6OmFmdGVyIHtcbiAgICAgIHdpZHRoOiBtaW4oMTdweCwgY2FsYygxNyAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgYm90dG9tOiBtaW4oLTExcHgsIGNhbGMoLTExIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIC5hZ2dyZXNzaXZlIC5idXR0b24ge1xuICAgIG1hcmdpbi10b3A6IGNhbGModmFyKC0tbWFyZ2luLXRvcC0xKSAvIDM5MCAqIDEwMHZ3KTtcbiAgICBwYWRkaW5nLWxlZnQ6IGNhbGModmFyKC0tY29udGFpbmVyLXBhZGRpbmctc3ApIC8gMzkwICogMTAwdncpO1xuICAgIHBhZGRpbmctcmlnaHQ6IGNhbGModmFyKC0tY29udGFpbmVyLXBhZGRpbmctc3ApIC8gMzkwICogMTAwdncpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5hZ2dyZXNzaXZlIC5idXR0b24ge1xuICAgICAgcGFkZGluZy1sZWZ0OiB1bnNldDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IHVuc2V0O1xuICAgICAgbWFyZ2luLWlubGluZTogYXV0bztcbiAgICAgIHdpZHRoOiBtaW4oMTAyNnB4LCBjYWxjKDEwMjYgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLmFnZ3Jlc3NpdmUgLmJ1dHRvbiB7XG4gICAgICBtYXJnaW4tdG9wOiBtaW4oY2FsYyh2YXIoLS1tYXJnaW4tdG9wLTEpICogMXB4KSwgY2FsYyh2YXIoLS1tYXJnaW4tdG9wLTEpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIC5hZ2dyZXNzaXZlIC5idXR0b24uaXMtaGlkZGVuIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIC5hZ2dyZXNzaXZlIC5idXR0b24gLnBCdXR0b24ge1xuICAgIG1hcmdpbi1pbmxpbmU6IGF1dG87XG4gIH1cbiAgLmFnZ3Jlc3NpdmUgLmJ1dHRvbiAucEJ1dHRvbjo6YWZ0ZXIge1xuICAgIG1hc2staW1hZ2U6IHVybCgvaW1hZ2VzL2ljb25fcGx1cy5zdmcpO1xuICB9XG4gIC5hZ2dyZXNzaXZlIC5idXR0b24uaXMtYWN0aXZlIC5wQnV0dG9uOjphZnRlciB7XG4gICAgbWFzay1pbWFnZTogdXJsKC9pbWFnZXMvaWNvbl9taW51cy5zdmcpO1xuICB9XG4gIC5hZ2dyZXNzaXZlIC5jb21wb25lbnQudHlwZV9wcmljZSAudW5pdC5pcy1oaWRkZW4ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgLnR5cGVfcHJpY2Uge1xuICAgIG1hcmdpbi10b3A6IGNhbGModmFyKC0tY1ByaWNlLW1hcmdpbi10b3Atc3ApIC8gMzkwICogMTAwdncpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC50eXBlX3ByaWNlIHtcbiAgICAgIG1hcmdpbi10b3A6IG1pbihjYWxjKHZhcigtLWNQcmljZS1tYXJnaW4tdG9wLXBjKSAqIDFweCksIGNhbGModmFyKC0tY1ByaWNlLW1hcmdpbi10b3AtcGMpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIC50eXBlX3ByaWNlIC5pbm5lciB7XG4gICAgcGFkZGluZy1sZWZ0OiBjYWxjKHZhcigtLWNvbnRhaW5lci1wYWRkaW5nLXNwKSAvIDM5MCAqIDEwMHZ3KTtcbiAgICBwYWRkaW5nLXJpZ2h0OiBjYWxjKHZhcigtLWNvbnRhaW5lci1wYWRkaW5nLXNwKSAvIDM5MCAqIDEwMHZ3KTtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdhcDogY2FsYyh2YXIoLS1jUHJpY2UtZ2FwLXNwKSAvIDM5MCAqIDEwMHZ3KTtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgxLCAxZnIpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC50eXBlX3ByaWNlIC5pbm5lciB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IHVuc2V0O1xuICAgICAgcGFkZGluZy1yaWdodDogdW5zZXQ7XG4gICAgICBtYXJnaW4taW5saW5lOiBhdXRvO1xuICAgICAgd2lkdGg6IG1pbigxMDI2cHgsIGNhbGMoMTAyNiAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAudHlwZV9wcmljZSAuaW5uZXIge1xuICAgICAgZ2FwOiBtaW4oY2FsYyh2YXIoLS1jUHJpY2UtZ2FwLXBjKSAqIDFweCksIGNhbGModmFyKC0tY1ByaWNlLWdhcC1wYykgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgbWFpbjpoYXMoI3N3aXRjaEJ1dHRvbiBpbnB1dCNpbWFnZTpjaGVja2VkKSAudHlwZV9wcmljZSAuaW5uZXIge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgbWFpbjpoYXMoI3N3aXRjaEJ1dHRvbiBpbnB1dCNpbWFnZTpjaGVja2VkKSAudHlwZV9wcmljZSAuaW5uZXIge1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNCwgMWZyKTtcbiAgICB9XG4gIH1cbiAgbWFpbjpoYXMoI3N3aXRjaEJ1dHRvbiBpbnB1dCNpbWFnZTpjaGVja2VkKSAudHlwZV9wcmljZSAuaW5uZXIgLnVuaXQge1xuICAgIGdyaWQtdGVtcGxhdGU6IFwiaW1hZ2VcIiBcImxhYmVsXCIgXCJyb3dcIi8xZnI7XG4gICAgcGFkZGluZzogY2FsYyh2YXIoLS1wUHJpY2UtaW1hZ2VsaXN0LXBhZGRpbmctYmxvY2stc3ApIC8gMzkwICogMTAwdncpIGNhbGModmFyKC0tcFByaWNlLWltYWdlbGlzdC1wYWRkaW5nLWlubGluZS1zcCkgLyAzOTAgKiAxMDB2dyk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgbWFpbjpoYXMoI3N3aXRjaEJ1dHRvbiBpbnB1dCNpbWFnZTpjaGVja2VkKSAudHlwZV9wcmljZSAuaW5uZXIgLnVuaXQge1xuICAgICAgcGFkZGluZzogbWluKGNhbGModmFyKC0tcFByaWNlLWltYWdlbGlzdC1wYWRkaW5nLWJsb2NrLXBjKSAqIDFweCksIGNhbGModmFyKC0tcFByaWNlLWltYWdlbGlzdC1wYWRkaW5nLWJsb2NrLXBjKSAvIDE0NDAgKiAxMDB2dykpIG1pbihjYWxjKHZhcigtLXBQcmljZS1pbWFnZWxpc3QtcGFkZGluZy1pbmxpbmUtcGMpICogMXB4KSwgY2FsYyh2YXIoLS1wUHJpY2UtaW1hZ2VsaXN0LXBhZGRpbmctaW5saW5lLXBjKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICBtYWluOmhhcygjc3dpdGNoQnV0dG9uIGlucHV0I2ltYWdlOmNoZWNrZWQpIC50eXBlX3ByaWNlIC5pbm5lciAudW5pdDpoYXMoLnBCYWRnZSkge1xuICAgIGdyaWQtdGVtcGxhdGU6IFwiaW1hZ2VcIiBcImxhYmVsXCIgXCJyb3dcIiBcImJhZGdlXCIvMWZyO1xuICB9XG4gIG1haW46aGFzKCNzd2l0Y2hCdXR0b24gaW5wdXQjaW1hZ2U6Y2hlY2tlZCkgLnR5cGVfcHJpY2UgLmlubmVyIC51bml0IC5wSW1hZ2Uge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGFzcGVjdC1yYXRpbzogMy8yO1xuICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIG1haW46aGFzKCNzd2l0Y2hCdXR0b24gaW5wdXQjaW1hZ2U6Y2hlY2tlZCkgLnR5cGVfcHJpY2UgLmlubmVyIC51bml0IC5wUHJpY2VMYWJlbFJvdyB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIH1cbiAgbWFpbjpoYXMoI3N3aXRjaEJ1dHRvbiBpbnB1dCNpbWFnZTpjaGVja2VkKSAudHlwZV9wcmljZSAuaW5uZXIgLnVuaXQgLnBQcmljZUxhYmVsUm93IC5wUHJpY2VMYWJlbCB7XG4gICAgd2hpdGUtc3BhY2U6IHVuc2V0O1xuICB9XG4gIG1haW46aGFzKCNzd2l0Y2hCdXR0b24gaW5wdXQjaW1hZ2U6Y2hlY2tlZCkgLnR5cGVfcHJpY2UgLmlubmVyIC51bml0IC5wUHJpY2VSb3cge1xuICAgIGdyaWQtYXJlYTogcm93O1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIG1haW46aGFzKCNzd2l0Y2hCdXR0b24gaW5wdXQjaW1hZ2U6Y2hlY2tlZCkgLnR5cGVfcHJpY2UgLmlubmVyIC51bml0IC5wUHJpY2VSb3cge1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMSwgMWZyKTtcbiAgICAgIGdhcDogbWluKGNhbGModmFyKC0tcFByaWNlLWdhcC1wYy1uYXJyb3cpICogMXB4KSwgY2FsYyh2YXIoLS1wUHJpY2UtZ2FwLXBjLW5hcnJvdykgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgLnR5cGVfcHJpY2UgLmlubmVyIC51bml0IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1zdXJmYWNlKTtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGU6IFwibGFiZWwgcm93XCIvMWZyIDFmcjtcbiAgICBnYXA6IGNhbGModmFyKC0tcFByaWNlLWdhcC1zcCkgLyAzOTAgKiAxMDB2dyk7XG4gICAgcGFkZGluZzogY2FsYyh2YXIoLS1wUHJpY2UtbGlzdC1wYWRkaW5nLWJsb2NrLXNwKSAvIDM5MCAqIDEwMHZ3KSBjYWxjKHZhcigtLXBQcmljZS1saXN0LXBhZGRpbmctaW5saW5lLXNwKSAvIDM5MCAqIDEwMHZ3KTtcbiAgICBhbGlnbi1jb250ZW50OiBzdGFydDtcbiAgICBhbGlnbi1pdGVtczogc3RhcnQ7XG4gIH1cbiAgLnR5cGVfcHJpY2UgLmlubmVyIC51bml0OmhhcygucEJhZGdlKSB7XG4gICAgZ3JpZC10ZW1wbGF0ZTogXCJsYWJlbCByb3dcIiBcImxhYmVsIGJhZGdlXCIvMWZyIDFmcjtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAudHlwZV9wcmljZSAuaW5uZXIgLnVuaXQge1xuICAgICAgcGFkZGluZzogbWluKGNhbGModmFyKC0tcFByaWNlLWxpc3QtcGFkZGluZy1ibG9jay1wYykgKiAxcHgpLCBjYWxjKHZhcigtLXBQcmljZS1saXN0LXBhZGRpbmctYmxvY2stcGMpIC8gMTQ0MCAqIDEwMHZ3KSkgbWluKGNhbGModmFyKC0tcFByaWNlLWxpc3QtcGFkZGluZy1pbmxpbmUtcGMpICogMXB4KSwgY2FsYyh2YXIoLS1wUHJpY2UtbGlzdC1wYWRkaW5nLWlubGluZS1wYykgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIGdhcDogbWluKGNhbGModmFyKC0tcFByaWNlLWdhcC1wYykgKiAxcHgpLCBjYWxjKHZhcigtLXBQcmljZS1nYXAtcGMpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIC50eXBlX3ByaWNlIC5pbm5lciAudW5pdCAucEltYWdlIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIC50eXBlX3ByaWNlIC5pbm5lciAudW5pdCAucFByaWNlTGFiZWxSb3cge1xuICAgIGdyaWQtYXJlYTogbGFiZWw7XG4gIH1cbiAgLnR5cGVfcHJpY2UgLmlubmVyIC51bml0IC5wUHJpY2VMYWJlbFJvdyAucFByaWNlTGFiZWwge1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIH1cbiAgLnR5cGVfcHJpY2UgLmlubmVyIC51bml0IC5wUHJpY2VSb3cge1xuICAgIGdyaWQtYXJlYTogcm93O1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC50eXBlX3ByaWNlIC5pbm5lciAudW5pdCAucFByaWNlUm93IHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7XG4gICAgICBnYXA6IG1pbihjYWxjKHZhcigtLXBQcmljZS1nYXAtcGMpICogMXB4KSwgY2FsYyh2YXIoLS1wUHJpY2UtZ2FwLXBjKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAudHlwZV9wcmljZSAuaW5uZXIgLnVuaXQgLnBCYWRnZSB7XG4gICAgZ3JpZC1hcmVhOiBiYWRnZTtcbiAgfVxuICAjc3dpdGNoQnV0dG9uIHtcbiAgICBib3JkZXItcmFkaXVzOiBjYWxjKHZhcigtLWJvcmRlci1yYWRpdXMtc21hbGwpIC8gMzkwICogMTAwdncpO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJhY2tncm91bmQpO1xuICAgIHBhZGRpbmc6IGNhbGMoNCAvIDM5MCAqIDEwMHZ3KTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgI3N3aXRjaEJ1dHRvbiB7XG4gICAgICBib3JkZXItcmFkaXVzOiBtaW4oY2FsYyh2YXIoLS1ib3JkZXItcmFkaXVzLXNtYWxsKSAqIDFweCksIGNhbGModmFyKC0tYm9yZGVyLXJhZGl1cy1zbWFsbCkgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIHBhZGRpbmc6IG1pbig0cHgsIGNhbGMoNCAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAjc3dpdGNoQnV0dG9uIGxhYmVsIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iYWNrZ3JvdW5kKTtcbiAgICBib3JkZXItcmFkaXVzOiBjYWxjKHZhcigtLWJvcmRlci1yYWRpdXMtc21hbGwpIC8gMzkwICogMTAwdncpO1xuICAgIHBhZGRpbmc6IGNhbGMoMiAvIDM5MCAqIDEwMHZ3KTtcbiAgICBkaXNwbGF5OiBmbGV4IGJsb2NrO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYXNwZWN0LXJhdGlvOiA0NC8zNjtcbiAgICB3aWR0aDogY2FsYyg0NCAvIDM5MCAqIDEwMHZ3KTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAjc3dpdGNoQnV0dG9uIGxhYmVsIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IG1pbihjYWxjKHZhcigtLWJvcmRlci1yYWRpdXMtc21hbGwpICogMXB4KSwgY2FsYyh2YXIoLS1ib3JkZXItcmFkaXVzLXNtYWxsKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgcGFkZGluZzogbWluKDZweCwgY2FsYyg2IC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICB3aWR0aDogbWluKDY0cHgsIGNhbGMoNjQgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgI3N3aXRjaEJ1dHRvbiBsYWJlbDpoYXMoaW5wdXQ6Y2hlY2tlZCkge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWdyYXktd2Vhayk7XG4gIH1cbiAgI3N3aXRjaEJ1dHRvbiBsYWJlbCBmaWd1cmUgaW1nIHtcbiAgICB3aWR0aDogY2FsYygyMCAvIDM5MCAqIDEwMHZ3KTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAjc3dpdGNoQnV0dG9uIGxhYmVsIGZpZ3VyZSBpbWcge1xuICAgICAgd2lkdGg6IG1pbigyNHB4LCBjYWxjKDI0IC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gICNzd2l0Y2hCdXR0b24gbGFiZWwgZmlndXJlIGZpZ2NhcHRpb24ge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1ncmF5LXN0cm9uZyk7XG4gICAgZm9udC1zaXplOiBjYWxjKDkgLyAzOTAgKiAxMDB2dyk7XG4gICAgbGluZS1oZWlnaHQ6IDEzMyU7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgI3N3aXRjaEJ1dHRvbiBsYWJlbCBmaWd1cmUgZmlnY2FwdGlvbiB7XG4gICAgICBmb250LXNpemU6IG1pbihjYWxjKHZhcigtLWZzLXh4cykgKiAxcHgpLCBjYWxjKHZhcigtLWZzLXh4cykgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgI3N3aXRjaEJ1dHRvbiBsYWJlbCBpbnB1dCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICAucEJ1dHRvbi5saW5lLCAucEJ1dHRvbltocmVmKj1cImxpbmUubWVcIl0ge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWxpbmUpO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItbGluZSk7XG4gIH1cbiAgQG1lZGlhIChhbnktaG92ZXI6IGhvdmVyKSB7XG4gICAgLnBCdXR0b24ubGluZTpob3ZlciwgLnBCdXR0b25baHJlZio9XCJsaW5lLm1lXCJdOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYig5LCAyMjAsIDk3KTtcbiAgICAgIGJvcmRlci1jb2xvcjogcmdiKDksIDIyMCwgOTcpO1xuICAgIH1cbiAgfVxuICAucEJ1dHRvbi5saW5lLmxlZnQ6OmJlZm9yZSwgLnBCdXR0b25baHJlZio9XCJsaW5lLm1lXCJdLmxlZnQ6OmJlZm9yZSB7XG4gICAgbWFzay1pbWFnZTogdXJsKC9pbWFnZXMvaWNvbl9saW5lLnN2Zyk7XG4gIH1cbiAgLnBCdXR0b24ubWFpbCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3Itc2Vjb25kKTtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLXNlY29uZCk7XG4gIH1cbiAgQG1lZGlhIChhbnktaG92ZXI6IGhvdmVyKSB7XG4gICAgLnBCdXR0b24ubWFpbDpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZjNTNmO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjZmZjNTNmO1xuICAgIH1cbiAgfVxuICAucEJ1dHRvbi5tYWlsLmxlZnQ6OmJlZm9yZSB7XG4gICAgbWFzay1pbWFnZTogdXJsKC9pbWFnZXMvaWNvbl9tYWlsLnN2Zyk7XG4gIH1cbiAgI2thaXRvcmlfYmFubmVyIHtcbiAgICBtYXJnaW4tdG9wOiBjYWxjKHZhcigtLW1hcmdpbi10b3AtMikgLyAzOTAgKiAxMDB2dyk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItZ3JheS13ZWFrKTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgI2thaXRvcmlfYmFubmVyIHtcbiAgICAgIG1hcmdpbi10b3A6IG1pbihjYWxjKHZhcigtLW1hcmdpbi10b3AtMikgKiAxcHgpLCBjYWxjKHZhcigtLW1hcmdpbi10b3AtMikgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgI2thaXRvcmlfYmFubmVyIC5pbm5lciB7XG4gICAgcGFkZGluZy1sZWZ0OiBjYWxjKHZhcigtLWNvbnRhaW5lci1wYWRkaW5nLXNwKSAvIDM5MCAqIDEwMHZ3KTtcbiAgICBwYWRkaW5nLXJpZ2h0OiBjYWxjKHZhcigtLWNvbnRhaW5lci1wYWRkaW5nLXNwKSAvIDM5MCAqIDEwMHZ3KTtcbiAgICBwYWRkaW5nLWJsb2NrOiBjYWxjKHZhcigtLW1hcmdpbi10b3AtMikgLyAzOTAgKiAxMDB2dyk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgI2thaXRvcmlfYmFubmVyIC5pbm5lciB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IHVuc2V0O1xuICAgICAgcGFkZGluZy1yaWdodDogdW5zZXQ7XG4gICAgICBtYXJnaW4taW5saW5lOiBhdXRvO1xuICAgICAgd2lkdGg6IG1pbigxMDI2cHgsIGNhbGMoMTAyNiAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAja2FpdG9yaV9iYW5uZXIgLmlubmVyIHtcbiAgICAgIHBhZGRpbmctYmxvY2s6IG1pbihjYWxjKHZhcigtLW1hcmdpbi10b3AtMikgKiAxcHgpLCBjYWxjKHZhcigtLW1hcmdpbi10b3AtMikgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgI2thaXRvcmlfYmFubmVyIC5pbm5lciAubWV0aG9kTGlzdCB7XG4gICAgbWFyZ2luLXRvcDogY2FsYygxNiAvIDM5MCAqIDEwMHZ3KTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAja2FpdG9yaV9iYW5uZXIgLmlubmVyIC5tZXRob2RMaXN0IHtcbiAgICAgIG1hcmdpbi10b3A6IG1pbihjYWxjKHZhcigtLW1hcmdpbi10b3AtMSkgKiAxcHgpLCBjYWxjKHZhcigtLW1hcmdpbi10b3AtMSkgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgI2thaXRvcmlfYmFubmVyIC5pbm5lciAucExlYWQge1xuICAgIGZvbnQtc2l6ZTogY2FsYyh2YXIoLS1mcy1tKSAvIDM5MCAqIDEwMHZ3KTtcbiAgICBtYXJnaW4tdG9wOiBjYWxjKDI0IC8gMzkwICogMTAwdncpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICNrYWl0b3JpX2Jhbm5lciAuaW5uZXIgLnBMZWFkIHtcbiAgICAgIGZvbnQtc2l6ZTogbWluKGNhbGModmFyKC0tZnMteGwpICogMXB4KSwgY2FsYyh2YXIoLS1mcy14bCkgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIG1hcmdpbi10b3A6IG1pbihjYWxjKHZhcigtLW1hcmdpbi10b3AtMikgKiAxcHgpLCBjYWxjKHZhcigtLW1hcmdpbi10b3AtMikgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgI2thaXRvcmlfYmFubmVyIC5pbm5lciAuYnV0dG9uIHtcbiAgICBtYXJnaW4tdG9wOiBjYWxjKDggLyAzOTAgKiAxMDB2dyk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgI2thaXRvcmlfYmFubmVyIC5pbm5lciAuYnV0dG9uIHtcbiAgICAgIG1hcmdpbi10b3A6IG1pbigyNHB4LCBjYWxjKDI0IC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gICNrYWl0b3JpX2Jhbm5lciAuaW5uZXIgLmJ1dHRvbiAucEJ1dHRvbiB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWlubGluZTogYXV0bztcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAja2FpdG9yaV9iYW5uZXIgLmlubmVyIC5idXR0b24gLnBCdXR0b24ge1xuICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xuICAgIH1cbiAgfVxuICAjZml4ZWRGb290ZXJCdXR0b24ge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICBib3R0b206IGNhbGMoNjMgLyAzOTAgKiAxMDB2dyk7XG4gICAgbGVmdDogY2FsYygyMCAvIDM5MCAqIDEwMHZ3KTtcbiAgICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IHZhcigtLXRyYW5zaXRpb24tc3BlZWQtc2xvdykgdmFyKC0tYmV6aWVyKTtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgI2ZpeGVkRm9vdGVyQnV0dG9uIHtcbiAgICAgIGJvdHRvbTogbWluKDM2cHgsIGNhbGMoMzYgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIHRyYW5zbGF0ZTogLTUwJSAwO1xuICAgIH1cbiAgfVxuICAjZml4ZWRGb290ZXJCdXR0b24uaXMtc2Nyb2xsIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHBvaW50ZXItZXZlbnRzOiBhbGw7XG4gIH1cbiAgI2ZpeGVkRm9vdGVyQnV0dG9uIC5wQnV0dG9uIHtcbiAgICBib3gtc2hhZG93OiAwIDJweCA4cHggMCByZ2JhKDAsIDAsIDAsIDAuMyk7XG4gICAgbWF4LXdpZHRoOiBjYWxjKDI4MCAvIDM5MCAqIDEwMHZ3KTtcbiAgICBsaW5lLWhlaWdodDogMS4yO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICNmaXhlZEZvb3RlckJ1dHRvbiAucEJ1dHRvbiB7XG4gICAgICBtaW4td2lkdGg6IG1pbig0ODBweCwgY2FsYyg0ODAgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgI2thaXRvcmlCYW5uZXJCdXR0b24ge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICBib3R0b206IGNhbGMoNjMgLyAzOTAgKiAxMDB2dyk7XG4gICAgbGVmdDogY2FsYygyNCAvIDM5MCAqIDEwMHZ3KTtcbiAgICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IHZhcigtLXRyYW5zaXRpb24tc3BlZWQtc2xvdykgdmFyKC0tYmV6aWVyKTtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgI2thaXRvcmlCYW5uZXJCdXR0b24ge1xuICAgICAgYm90dG9tOiBtaW4oMzZweCwgY2FsYygzNiAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgdHJhbnNsYXRlOiAtNTAlIDA7XG4gICAgfVxuICB9XG4gICNrYWl0b3JpQmFubmVyQnV0dG9uLmlzLXNjcm9sbCB7XG4gICAgb3BhY2l0eTogMTtcbiAgICBwb2ludGVyLWV2ZW50czogYWxsO1xuICB9XG4gICNrYWl0b3JpQmFubmVyQnV0dG9uIC5wQnV0dG9uIHtcbiAgICBib3gtc2hhZG93OiAwIDJweCA4cHggMCByZ2JhKDAsIDAsIDAsIDAuMyk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgI2thaXRvcmlCYW5uZXJCdXR0b24gLnBCdXR0b24ge1xuICAgICAgd2lkdGg6IG1pbig0ODBweCwgY2FsYyg0ODAgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgI2Zvb3Rlcl9iYW5uZXIge1xuICAgIG1hcmdpbi10b3A6IGNhbGModmFyKC0tbWFyZ2luLXRvcC0yKSAvIDM5MCAqIDEwMHZ3KTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAjZm9vdGVyX2Jhbm5lciB7XG4gICAgICBtYXJnaW4tdG9wOiBtaW4oY2FsYyh2YXIoLS1tYXJnaW4tdG9wLTIpICogMXB4KSwgY2FsYyh2YXIoLS1tYXJnaW4tdG9wLTIpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gICNmb290ZXJfYmFubmVyICsgLm5hdmlnYXRpb24uYnJlYWRjcnVtYnMsICNmb290ZXJfYmFubmVyICsgLmJyZWFkY3J1bWJzLmNvbXBvbmVudC50eXBlX3BhZ2VsaXN0IHtcbiAgICBtYXJnaW4tdG9wOiB1bnNldDtcbiAgfVxuICAjZm9vdGVyX2Jhbm5lciAuaW5uZXIge1xuICAgIHBhZGRpbmctbGVmdDogY2FsYyh2YXIoLS1jb250YWluZXItcGFkZGluZy1zcCkgLyAzOTAgKiAxMDB2dyk7XG4gICAgcGFkZGluZy1yaWdodDogY2FsYyh2YXIoLS1jb250YWluZXItcGFkZGluZy1zcCkgLyAzOTAgKiAxMDB2dyk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgI2Zvb3Rlcl9iYW5uZXIgLmlubmVyIHtcbiAgICAgIHBhZGRpbmctbGVmdDogdW5zZXQ7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiB1bnNldDtcbiAgICAgIG1hcmdpbi1pbmxpbmU6IGF1dG87XG4gICAgICB3aWR0aDogbWluKDEwMjZweCwgY2FsYygxMDI2IC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gICNmb290ZXJfYmFubmVyIC5pbm5lciB1bCB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgxLCAxZnIpO1xuICAgIGdhcDogY2FsYygxNiAvIDM5MCAqIDEwMHZ3KTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAjZm9vdGVyX2Jhbm5lciAuaW5uZXIgdWwge1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTtcbiAgICAgIGdhcDogbWluKDI0cHgsIGNhbGMoMjQgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgI2Zvb3Rlcl9iYW5uZXIgLmlubmVyIHVsIGxpIGEge1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyB2YXIoLS1iZXppZXIpO1xuICB9XG4gICNmb290ZXJfYmFubmVyIC5pbm5lciB1bCBsaSBhOmhvdmVyIHtcbiAgICBvcGFjaXR5OiAwLjc7XG4gIH1cbiAgLmNvbXBvbmVudC50eXBlX2hlYWRpbmc6aGFzKCNzd2l0Y2hCdXR0b24pIC5pbm5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgfVxuICAuY29tcG9uZW50LnR5cGVfZXh0ZW5kZWR0aXRsZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmFja2dyb3VuZC1zdHJvbmcpO1xuICB9XG4gIC50eXBlX3N0b3JlbGlzdCB7XG4gICAgbWFyZ2luLXRvcDogY2FsYyh2YXIoLS1tYXJnaW4tdG9wLTEpIC8gMzkwICogMTAwdncpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC50eXBlX3N0b3JlbGlzdCB7XG4gICAgICBtYXJnaW4tdG9wOiBtaW4oY2FsYyh2YXIoLS1tYXJnaW4tdG9wLTEpICogMXB4KSwgY2FsYyh2YXIoLS1tYXJnaW4tdG9wLTEpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIC50eXBlX3N0b3JlbGlzdCAuaW5uZXIge1xuICAgIHBhZGRpbmctbGVmdDogY2FsYyh2YXIoLS1jb250YWluZXItcGFkZGluZy1zcCkgLyAzOTAgKiAxMDB2dyk7XG4gICAgcGFkZGluZy1yaWdodDogY2FsYyh2YXIoLS1jb250YWluZXItcGFkZGluZy1zcCkgLyAzOTAgKiAxMDB2dyk7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpO1xuICAgIGdhcDogY2FsYygxNiAvIDM5MCAqIDEwMHZ3KSBjYWxjKDggLyAzOTAgKiAxMDB2dyk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnR5cGVfc3RvcmVsaXN0IC5pbm5lciB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IHVuc2V0O1xuICAgICAgcGFkZGluZy1yaWdodDogdW5zZXQ7XG4gICAgICBtYXJnaW4taW5saW5lOiBhdXRvO1xuICAgICAgd2lkdGg6IG1pbigxMDI2cHgsIGNhbGMoMTAyNiAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAudHlwZV9zdG9yZWxpc3QgLmlubmVyIHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDMsIDFmcik7XG4gICAgICBnYXA6IG1pbigzMnB4LCBjYWxjKDMyIC8gMTQ0MCAqIDEwMHZ3KSkgbWluKDE2cHgsIGNhbGMoMTYgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgLnR5cGVfc3RvcmVsaXN0IC5pbm5lciAudW5pdCB7XG4gICAgYm9yZGVyLXJhZGl1czogY2FsYyh2YXIoLS1ib3JkZXItcmFkaXVzLXNtYWxsKSAvIDM5MCAqIDEwMHZ3KTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1zdXJmYWNlKTtcbiAgICBwYWRkaW5nOiBjYWxjKDggLyAzOTAgKiAxMDB2dyk7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLXJvd3M6IHN1YmdyaWQ7XG4gICAgZ3JpZC1yb3c6IHNwYW4gNDtcbiAgICBnYXA6IGNhbGMoOCAvIDM5MCAqIDEwMHZ3KTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAudHlwZV9zdG9yZWxpc3QgLmlubmVyIC51bml0IHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IG1pbihjYWxjKHZhcigtLWJvcmRlci1yYWRpdXMtbWVkaXVtKSAqIDFweCksIGNhbGModmFyKC0tYm9yZGVyLXJhZGl1cy1tZWRpdW0pIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICBwYWRkaW5nOiBtaW4oMTJweCwgY2FsYygxMiAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgZ2FwOiBtaW4oMTZweCwgY2FsYygxNiAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAudHlwZV9zdG9yZWxpc3QgLmlubmVyIC51bml0IC5pbWFnZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIHZhcigtLWJlemllcik7XG4gIH1cbiAgLnR5cGVfc3RvcmVsaXN0IC5pbm5lciAudW5pdCAuaW1hZ2U6aG92ZXIge1xuICAgIG9wYWNpdHk6IDAuNztcbiAgfVxuICAudHlwZV9zdG9yZWxpc3QgLmlubmVyIC51bml0IC5pbWFnZSBpbWcge1xuICAgIGFzcGVjdC1yYXRpbzogMjcyLzE4MTtcbiAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICBvYmplY3QtcG9zaXRpb246IGNlbnRlcjtcbiAgfVxuICAudHlwZV9zdG9yZWxpc3QgLmlubmVyIC51bml0IC5wSGVhZGluZ01lZGl1bSB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG4gIC50eXBlX3N0b3JlbGlzdCAuaW5uZXIgLnVuaXQgLmluZm8gdGFibGUgdGgsIC50eXBlX3N0b3JlbGlzdCAuaW5uZXIgLnVuaXQgLmluZm8gdGFibGUgdGQge1xuICAgIGZvbnQtc2l6ZTogY2FsYyh2YXIoLS1mcy14cykgLyAzOTAgKiAxMDB2dyk7XG4gICAgbGluZS1oZWlnaHQ6IDE1MCU7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlcik7XG4gICAgcGFkZGluZy1ibG9jazogY2FsYyg0IC8gMzkwICogMTAwdncpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC50eXBlX3N0b3JlbGlzdCAuaW5uZXIgLnVuaXQgLmluZm8gdGFibGUgdGgsIC50eXBlX3N0b3JlbGlzdCAuaW5uZXIgLnVuaXQgLmluZm8gdGFibGUgdGQge1xuICAgICAgcGFkZGluZy1ibG9jazogbWluKDEycHgsIGNhbGMoMTIgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIGZvbnQtc2l6ZTogbWluKGNhbGModmFyKC0tZnMtbSkgKiAxcHgpLCBjYWxjKHZhcigtLWZzLW0pIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIC50eXBlX3N0b3JlbGlzdCAuaW5uZXIgLnVuaXQgLmluZm8gdGFibGUgdGgge1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgcGFkZGluZy1yaWdodDogY2FsYygxMiAvIDM5MCAqIDEwMHZ3KTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnR5cGVfc3RvcmVsaXN0IC5pbm5lciAudW5pdCAuaW5mbyB0YWJsZSB0aCB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiBtaW4oMTJweCwgY2FsYygxMiAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAudHlwZV9zdG9yZWxpc3QgLmlubmVyIC51bml0IC5pbmZvIHRhYmxlIHRyOmZpcnN0LWNoaWxkIHRoLCAudHlwZV9zdG9yZWxpc3QgLmlubmVyIC51bml0IC5pbmZvIHRhYmxlIHRyOmZpcnN0LWNoaWxkIHRkIHtcbiAgICBwYWRkaW5nLXRvcDogdW5zZXQ7XG4gIH1cbiAgLnR5cGVfc3RvcmVsaXN0IC5pbm5lciAudW5pdCAuaW5mbyB0YWJsZSB0cjpsYXN0LWNoaWxkIHRoLCAudHlwZV9zdG9yZWxpc3QgLmlubmVyIC51bml0IC5pbmZvIHRhYmxlIHRyOmxhc3QtY2hpbGQgdGQge1xuICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgcGFkZGluZy1ib3R0b206IHVuc2V0O1xuICB9XG4gIC50eXBlX3N0b3JlbGlzdCAuaW5uZXIgLnVuaXQgLmJ1dHRvbiAucEJ1dHRvbiB7XG4gICAgbWFyZ2luLWlubGluZTogYXV0bztcbiAgfVxuICAua2FpdG9yaV9tZXRob2RzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1zdXJmYWNlKTtcbiAgICBtYXJnaW4tdG9wOiBjYWxjKHZhcigtLW1hcmdpbi10b3AtMikgLyAzOTAgKiAxMDB2dyk7XG4gICAgcGFkZGluZy1ibG9jazogY2FsYyg1NiAvIDM5MCAqIDEwMHZ3KSBjYWxjKDI0IC8gMzkwICogMTAwdncpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5rYWl0b3JpX21ldGhvZHMge1xuICAgICAgbWFyZ2luLXRvcDogbWluKGNhbGModmFyKC0tbWFyZ2luLXRvcC0zKSAqIDFweCksIGNhbGModmFyKC0tbWFyZ2luLXRvcC0zKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgcGFkZGluZy1ibG9jazogbWluKDk2cHgsIGNhbGMoOTYgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgLmthaXRvcmlfbWV0aG9kcyA+ICo6Zmlyc3QtY2hpbGQge1xuICAgIG1hcmdpbi10b3A6IHVuc2V0O1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5rYWl0b3JpX21ldGhvZHMgPiAqOmZpcnN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi10b3A6IHVuc2V0O1xuICAgIH1cbiAgfVxuICAudHlwZV9zZXJ2aWNlaWNvbiB7XG4gICAgbWFyZ2luLXRvcDogY2FsYyh2YXIoLS1jU2VydmljZUljb24tbWFyZ2luLXRvcC1zcCkgLyAzOTAgKiAxMDB2dyk7XG4gICAgcGFkZGluZy1sZWZ0OiBjYWxjKHZhcigtLWNvbnRhaW5lci1wYWRkaW5nLXNwKSAvIDM5MCAqIDEwMHZ3KTtcbiAgICBwYWRkaW5nLXJpZ2h0OiBjYWxjKHZhcigtLWNvbnRhaW5lci1wYWRkaW5nLXNwKSAvIDM5MCAqIDEwMHZ3KTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAudHlwZV9zZXJ2aWNlaWNvbiB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IHVuc2V0O1xuICAgICAgcGFkZGluZy1yaWdodDogdW5zZXQ7XG4gICAgICBtYXJnaW4taW5saW5lOiBhdXRvO1xuICAgICAgd2lkdGg6IG1pbigxMDI2cHgsIGNhbGMoMTAyNiAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAudHlwZV9zZXJ2aWNlaWNvbiB7XG4gICAgICBtYXJnaW4tdG9wOiBtaW4oY2FsYyh2YXIoLS1jU2VydmljZUljb24tbWFyZ2luLXRvcC1wYykgKiAxcHgpLCBjYWxjKHZhcigtLWNTZXJ2aWNlSWNvbi1tYXJnaW4tdG9wLXBjKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAudHlwZV9zZXJ2aWNlaWNvbiAuaW5uZXIge1xuICAgIHBhZGRpbmc6IGNhbGModmFyKC0tY1NlcnZpY2VJY29uLXBhZGRpbmctc3ApIC8gMzkwICogMTAwdncpO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNTZXJ2aWNlSWNvbi1iYWNrZ3JvdW5kKTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAudHlwZV9zZXJ2aWNlaWNvbiAuaW5uZXIge1xuICAgICAgcGFkZGluZzogbWluKGNhbGModmFyKC0tY1NlcnZpY2VJY29uLXBhZGRpbmctcGMpICogMXB4KSwgY2FsYyh2YXIoLS1jU2VydmljZUljb24tcGFkZGluZy1wYykgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgLnR5cGVfc2VydmljZWljb24gLmlubmVyIHVsIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7XG4gICAgcm93LWdhcDogY2FsYyh2YXIoLS1jU2VydmljZUljb24tZ2FwLXJvdy1zcCkgLyAzOTAgKiAxMDB2dyk7XG4gICAgY29sdW1uLWdhcDogY2FsYyh2YXIoLS1jU2VydmljZUljb24tZ2FwLWNvbC1zcCkgLyAzOTAgKiAxMDB2dyk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnR5cGVfc2VydmljZWljb24gLmlubmVyIHVsIHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDMsIDFmcik7XG4gICAgICByb3ctZ2FwOiBtaW4oY2FsYyh2YXIoLS1jU2VydmljZUljb24tZ2FwLXJvdy1wYykgKiAxcHgpLCBjYWxjKHZhcigtLWNTZXJ2aWNlSWNvbi1nYXAtcm93LXBjKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgY29sdW1uLWdhcDogbWluKGNhbGModmFyKC0tY1NlcnZpY2VJY29uLWdhcC1jb2wtcGMpICogMXB4KSwgY2FsYyh2YXIoLS1jU2VydmljZUljb24tZ2FwLWNvbC1wYykgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgI2Zvb3Rlcl9lc3RpbWF0ZSB7XG4gICAgbWFyZ2luLXRvcDogY2FsYyh2YXIoLS1tYXJnaW4tdG9wLTIpIC8gMzkwICogMTAwdncpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXN1cmZhY2UpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICNmb290ZXJfZXN0aW1hdGUge1xuICAgICAgbWFyZ2luLXRvcDogbWluKGNhbGModmFyKC0tbWFyZ2luLXRvcC0yKSAqIDFweCksIGNhbGModmFyKC0tbWFyZ2luLXRvcC0yKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAjZm9vdGVyX2VzdGltYXRlICsgLm5hdmlnYXRpb24uYnJlYWRjcnVtYnMsICNmb290ZXJfZXN0aW1hdGUgKyAuYnJlYWRjcnVtYnMuY29tcG9uZW50LnR5cGVfcGFnZWxpc3Qge1xuICAgIG1hcmdpbi10b3A6IHVuc2V0O1xuICAgIHBhZGRpbmctdG9wOiB1bnNldDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1zdXJmYWNlKTtcbiAgfVxuICAjZm9vdGVyX2VzdGltYXRlICsgLm5hdmlnYXRpb24uYnJlYWRjcnVtYnMgLmlubmVyLCAjZm9vdGVyX2VzdGltYXRlICsgLmJyZWFkY3J1bWJzLmNvbXBvbmVudC50eXBlX3BhZ2VsaXN0IC5pbm5lciB7XG4gICAgcGFkZGluZy10b3A6IHVuc2V0O1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICNmb290ZXJfZXN0aW1hdGUgKyAubmF2aWdhdGlvbi5icmVhZGNydW1icyAuaW5uZXIsICNmb290ZXJfZXN0aW1hdGUgKyAuYnJlYWRjcnVtYnMuY29tcG9uZW50LnR5cGVfcGFnZWxpc3QgLmlubmVyIHtcbiAgICAgIHBhZGRpbmctdG9wOiBtaW4oY2FsYyh2YXIoLS1tYXJnaW4tdG9wLTIpICogMXB4KSwgY2FsYyh2YXIoLS1tYXJnaW4tdG9wLTIpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gICNmb290ZXJfZXN0aW1hdGUgLmlubmVyIHtcbiAgICBwYWRkaW5nLWxlZnQ6IGNhbGModmFyKC0tY29udGFpbmVyLXBhZGRpbmctc3ApIC8gMzkwICogMTAwdncpO1xuICAgIHBhZGRpbmctcmlnaHQ6IGNhbGModmFyKC0tY29udGFpbmVyLXBhZGRpbmctc3ApIC8gMzkwICogMTAwdncpO1xuICAgIHBhZGRpbmctYmxvY2s6IGNhbGModmFyKC0tbWFyZ2luLXRvcC0yKSAvIDM5MCAqIDEwMHZ3KTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAjZm9vdGVyX2VzdGltYXRlIC5pbm5lciB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IHVuc2V0O1xuICAgICAgcGFkZGluZy1yaWdodDogdW5zZXQ7XG4gICAgICBtYXJnaW4taW5saW5lOiBhdXRvO1xuICAgICAgd2lkdGg6IG1pbigxMDI2cHgsIGNhbGMoMTAyNiAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAjZm9vdGVyX2VzdGltYXRlIC5pbm5lciB7XG4gICAgICBwYWRkaW5nLWJsb2NrOiBtaW4oY2FsYyh2YXIoLS1tYXJnaW4tdG9wLTIpICogMXB4KSwgY2FsYyh2YXIoLS1tYXJnaW4tdG9wLTIpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gICNmb290ZXJfZXN0aW1hdGUgLmlubmVyIGgyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZm9udC1zaXplOiBjYWxjKHZhcigtLWZzLXh4bCkgLyAzOTAgKiAxMDB2dyk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgIGxpbmUtaGVpZ2h0OiAxMjAlO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICNmb290ZXJfZXN0aW1hdGUgLmlubmVyIGgyIHtcbiAgICAgIGZvbnQtc2l6ZTogbWluKGNhbGModmFyKC0tZnMteHh4bCkgKiAxcHgpLCBjYWxjKHZhcigtLWZzLXh4eGwpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gICNmb290ZXJfZXN0aW1hdGUgLmlubmVyIC5wVGV4dCB7XG4gICAgcGFkZGluZzogY2FsYygxMiAvIDM5MCAqIDEwMHZ3KTtcbiAgICBib3JkZXItcmFkaXVzOiBjYWxjKHZhcigtLWJvcmRlci1yYWRpdXMtc21hbGwpIC8gMzkwICogMTAwdncpO1xuICAgIG1hcmdpbi10b3A6IGNhbGModmFyKC0tbWFyZ2luLXRvcC0xKSAvIDM5MCAqIDEwMHZ3KTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iYWNrZ3JvdW5kKTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAjZm9vdGVyX2VzdGltYXRlIC5pbm5lciAucFRleHQge1xuICAgICAgbWFyZ2luLXRvcDogbWluKGNhbGModmFyKC0tbWFyZ2luLXRvcC0xKSAqIDFweCksIGNhbGModmFyKC0tbWFyZ2luLXRvcC0xKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgcGFkZGluZzogbWluKDhweCwgY2FsYyg4IC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBib3JkZXItcmFkaXVzOiBtaW4oY2FsYyh2YXIoLS1ib3JkZXItcmFkaXVzLW1lZGl1bSkgKiAxcHgpLCBjYWxjKHZhcigtLWJvcmRlci1yYWRpdXMtbWVkaXVtKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAjZm9vdGVyX2VzdGltYXRlIC5pbm5lciAucEhlYWRpbmdNZWRpdW0ge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBtYXJnaW4tdG9wOiBjYWxjKHZhcigtLW1hcmdpbi10b3AtMSkgLyAzOTAgKiAxMDB2dyk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgI2Zvb3Rlcl9lc3RpbWF0ZSAuaW5uZXIgLnBIZWFkaW5nTWVkaXVtIHtcbiAgICAgIG1hcmdpbi10b3A6IG1pbihjYWxjKHZhcigtLW1hcmdpbi10b3AtMikgKiAxcHgpLCBjYWxjKHZhcigtLW1hcmdpbi10b3AtMikgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgI2Zvb3Rlcl9lc3RpbWF0ZSAuaW5uZXIgLmltYWdlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tdG9wOiBjYWxjKDE2IC8gMzkwICogMTAwdncpO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyB2YXIoLS1iZXppZXIpO1xuICB9XG4gICNmb290ZXJfZXN0aW1hdGUgLmlubmVyIC5pbWFnZTpob3ZlciB7XG4gICAgb3BhY2l0eTogMC43O1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICNmb290ZXJfZXN0aW1hdGUgLmlubmVyIC5pbWFnZSB7XG4gICAgICBtYXJnaW4tdG9wOiBtaW4oY2FsYyh2YXIoLS1tYXJnaW4tdG9wLTEpICogMXB4KSwgY2FsYyh2YXIoLS1tYXJnaW4tdG9wLTEpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gICNmb290ZXJfZXN0aW1hdGUgLmlubmVyIC5idXR0b25zIHtcbiAgICBtYXJnaW4tdG9wOiBjYWxjKDE2IC8gMzkwICogMTAwdncpO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IGNhbGMoMTYgLyAzOTAgKiAxMDB2dyk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgI2Zvb3Rlcl9lc3RpbWF0ZSAuaW5uZXIgLmJ1dHRvbnMge1xuICAgICAgbWFyZ2luLXRvcDogbWluKGNhbGModmFyKC0tbWFyZ2luLXRvcC0xKSAqIDFweCksIGNhbGModmFyKC0tbWFyZ2luLXRvcC0xKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgZ2FwOiBtaW4oMzJweCwgY2FsYygzMiAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIH1cbiAgfVxuICAjZm9vdGVyX2VzdGltYXRlIC5pbm5lciAuYnV0dG9ucyAucEJ1dHRvbiB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgI2Zvb3Rlcl9lc3RpbWF0ZSAuaW5uZXIgLmJ1dHRvbnMgLnBCdXR0b24ge1xuICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xuICAgICAgcGFkZGluZy1ibG9jazogbWluKDE4cHgsIGNhbGMoMTggLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgI2Zvb3Rlcl9lc3RpbWF0ZSAuaW5uZXIgLnRlbExpc3Qge1xuICAgIG1hcmdpbi10b3A6IGNhbGModmFyKC0tbWFyZ2luLXRvcC0xKSAvIDM5MCAqIDEwMHZ3KTtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7XG4gICAgZ2FwOiBjYWxjKDggLyAzOTAgKiAxMDB2dyk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgI2Zvb3Rlcl9lc3RpbWF0ZSAuaW5uZXIgLnRlbExpc3Qge1xuICAgICAgbWFyZ2luLXRvcDogbWluKGNhbGModmFyKC0tbWFyZ2luLXRvcC0xKSAqIDFweCksIGNhbGModmFyKC0tbWFyZ2luLXRvcC0xKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNCwgMWZyKTtcbiAgICAgIGdhcDogbWluKDE2cHgsIGNhbGMoMTYgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgI2Zvb3Rlcl9lc3RpbWF0ZSAuaW5uZXIgLnRlbExpc3QgLnVuaXQge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBzdWJncmlkO1xuICAgIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBncmlkLXJvdzogc3BhbiAzO1xuICAgIGdhcDogY2FsYyg0IC8gMzkwICogMTAwdncpO1xuICAgIHBhZGRpbmc6IGNhbGMoOCAvIDM5MCAqIDEwMHZ3KTtcbiAgICBib3JkZXItcmFkaXVzOiBjYWxjKHZhcigtLWJvcmRlci1yYWRpdXMtc21hbGwpIC8gMzkwICogMTAwdncpO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlcik7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmFja2dyb3VuZCk7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICNmb290ZXJfZXN0aW1hdGUgLmlubmVyIC50ZWxMaXN0IC51bml0IHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IG1pbihjYWxjKHZhcigtLWJvcmRlci1yYWRpdXMtc21hbGwpICogMXB4KSwgY2FsYyh2YXIoLS1ib3JkZXItcmFkaXVzLXNtYWxsKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgcGFkZGluZzogbWluKDhweCwgY2FsYyg4IC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICBnYXA6IG1pbig0cHgsIGNhbGMoNCAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAjZm9vdGVyX2VzdGltYXRlIC5pbm5lciAudGVsTGlzdCAudW5pdCBoNCB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRoaXJkKTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZm9udC1zaXplOiBjYWxjKHZhcigtLWZzLXMpIC8gMzkwICogMTAwdncpO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICBsaW5lLWhlaWdodDogMTQyJTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAjZm9vdGVyX2VzdGltYXRlIC5pbm5lciAudGVsTGlzdCAudW5pdCBoNCB7XG4gICAgICBmb250LXNpemU6IG1pbihjYWxjKHZhcigtLWZzLXMpICogMXB4KSwgY2FsYyh2YXIoLS1mcy1zKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAjZm9vdGVyX2VzdGltYXRlIC5pbm5lciAudGVsTGlzdCAudW5pdCAudGVsIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRoaXJkKTtcbiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1mYW1pbHktZW4pO1xuICAgIGZvbnQtc2l6ZTogY2FsYyh2YXIoLS1mcy1zKSAvIDM5MCAqIDEwMHZ3KTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtbWVkaXVtKTtcbiAgICBsaW5lLWhlaWdodDogMTQyJTtcbiAgICBnYXA6IGNhbGMoNCAvIDM5MCAqIDEwMHZ3KTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAjZm9vdGVyX2VzdGltYXRlIC5pbm5lciAudGVsTGlzdCAudW5pdCAudGVsIHtcbiAgICAgIGdhcDogbWluKDRweCwgY2FsYyg0IC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgIGZvbnQtc2l6ZTogbWluKGNhbGModmFyKC0tZnMtcykgKiAxcHgpLCBjYWxjKHZhcigtLWZzLXMpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gICNmb290ZXJfZXN0aW1hdGUgLmlubmVyIC50ZWxMaXN0IC51bml0IC50ZWw6OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXNrLWltYWdlOiB1cmwoL2ltYWdlcy9pY29uX3RlbC5zdmcpO1xuICAgIG1hc2stc2l6ZTogY29udGFpbjtcbiAgICBtYXNrLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIG1hc2stcG9zaXRpb246IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci10aGlyZCk7XG4gICAgd2lkdGg6IGNhbGMoMjAgLyAzOTAgKiAxMDB2dyk7XG4gICAgaGVpZ2h0OiBjYWxjKDIwIC8gMzkwICogMTAwdncpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICNmb290ZXJfZXN0aW1hdGUgLmlubmVyIC50ZWxMaXN0IC51bml0IC50ZWw6OmJlZm9yZSB7XG4gICAgICB3aWR0aDogbWluKDIwcHgsIGNhbGMoMjAgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIGhlaWdodDogbWluKDIwcHgsIGNhbGMoMjAgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgI2Zvb3Rlcl9lc3RpbWF0ZSAuaW5uZXIgLnRlbExpc3QgLnVuaXQgLnRlbDo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFzay1pbWFnZTogdXJsKC9pbWFnZXMvaWNvbl9hcnJvd19uZXh0LnN2Zyk7XG4gICAgbWFzay1zaXplOiBjb250YWluO1xuICAgIG1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgbWFzay1wb3NpdGlvbjogY2VudGVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXRoaXJkKTtcbiAgICB3aWR0aDogY2FsYygyMCAvIDM5MCAqIDEwMHZ3KTtcbiAgICBoZWlnaHQ6IGNhbGMoMjAgLyAzOTAgKiAxMDB2dyk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgI2Zvb3Rlcl9lc3RpbWF0ZSAuaW5uZXIgLnRlbExpc3QgLnVuaXQgLnRlbDo6YWZ0ZXIge1xuICAgICAgY29udGVudDogbm9uZTtcbiAgICB9XG4gIH1cbiAgI2Zvb3Rlcl9lc3RpbWF0ZSAuaW5uZXIgLnRlbExpc3QgLnVuaXQgLmhvdXJzIHtcbiAgICBib3JkZXItcmFkaXVzOiBjYWxjKHZhcigtLWJvcmRlci1yYWRpdXMtc21hbGwpIC8gMzkwICogMTAwdncpO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWdyYXktd2Vhayk7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGZvbnQtc2l6ZTogY2FsYyh2YXIoLS1mcy14cykgLyAzOTAgKiAxMDB2dyk7XG4gICAgbGluZS1oZWlnaHQ6IDE2MCU7XG4gICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICNmb290ZXJfZXN0aW1hdGUgLmlubmVyIC50ZWxMaXN0IC51bml0IC5ob3VycyB7XG4gICAgICBmb250LXNpemU6IG1pbihjYWxjKHZhcigtLWZzLXhzKSAqIDFweCksIGNhbGModmFyKC0tZnMteHMpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICBib3JkZXItcmFkaXVzOiBtaW4oY2FsYyh2YXIoLS1ib3JkZXItcmFkaXVzLXNtYWxsKSAqIDFweCksIGNhbGModmFyKC0tYm9yZGVyLXJhZGl1cy1zbWFsbCkgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgLnR5cGVfYXJlYSB7XG4gICAgbWFyZ2luLXRvcDogY2FsYyh2YXIoLS1tYXJnaW4tdG9wLTEpIC8gMzkwICogMTAwdncpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC50eXBlX2FyZWEge1xuICAgICAgbWFyZ2luLXRvcDogbWluKGNhbGModmFyKC0tbWFyZ2luLXRvcC0xKSAqIDFweCksIGNhbGModmFyKC0tbWFyZ2luLXRvcC0xKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAudHlwZV9hcmVhIC5pbm5lciB7XG4gICAgcGFkZGluZy1sZWZ0OiBjYWxjKHZhcigtLWNvbnRhaW5lci1wYWRkaW5nLXNwKSAvIDM5MCAqIDEwMHZ3KTtcbiAgICBwYWRkaW5nLXJpZ2h0OiBjYWxjKHZhcigtLWNvbnRhaW5lci1wYWRkaW5nLXNwKSAvIDM5MCAqIDEwMHZ3KTtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDEsIDFmcik7XG4gICAgZ2FwOiBjYWxjKDE2IC8gMzkwICogMTAwdncpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC50eXBlX2FyZWEgLmlubmVyIHtcbiAgICAgIHBhZGRpbmctbGVmdDogdW5zZXQ7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiB1bnNldDtcbiAgICAgIG1hcmdpbi1pbmxpbmU6IGF1dG87XG4gICAgICB3aWR0aDogbWluKDEwMjZweCwgY2FsYygxMDI2IC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC50eXBlX2FyZWEgLmlubmVyIHtcbiAgICAgIGdhcDogbWluKDhweCwgY2FsYyg4IC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIC50eXBlX2FyZWEgLmlubmVyIC51bml0IHtcbiAgICBib3JkZXItcmFkaXVzOiBjYWxjKHZhcigtLWJvcmRlci1yYWRpdXMtbWVkaXVtKSAvIDM5MCAqIDEwMHZ3KTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXIpO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXN1cmZhY2UpO1xuICAgIHBhZGRpbmc6IGNhbGMoMTYgLyAzOTAgKiAxMDB2dyk7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciB2YXIoLS10cmFuc2l0aW9uLXNwZWVkLWZhc3QpIHZhcigtLWJlemllcik7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnR5cGVfYXJlYSAuaW5uZXIgLnVuaXQge1xuICAgICAgcGFkZGluZzogbWluKDE2cHgsIGNhbGMoMTYgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IG1pbihjYWxjKHZhcigtLWJvcmRlci1yYWRpdXMtbWVkaXVtKSAqIDFweCksIGNhbGModmFyKC0tYm9yZGVyLXJhZGl1cy1tZWRpdW0pIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIEBtZWRpYSAoYW55LWhvdmVyOiBob3Zlcikge1xuICAgIC50eXBlX2FyZWEgLmlubmVyIC51bml0OmhvdmVyIHtcbiAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItYnJhbmQpO1xuICAgIH1cbiAgfVxuICAudHlwZV9hcmVhIC5pbm5lciAudW5pdC5pcy1hY3RpdmUge1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItYm9yZGVyKTtcbiAgfVxuICAudHlwZV9hcmVhIC5pbm5lciAudW5pdC5pcy1hY3RpdmUgLmFyZWE6OmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kOiBjZW50ZXIvY29udGFpbiBuby1yZXBlYXQgdXJsKC9pbWFnZXMvaWNvbl9taW51cy5zdmcpO1xuICB9XG4gIC50eXBlX2FyZWEgLmlubmVyIC51bml0IC5hcmVhIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIGF1dG87XG4gICAgZ2FwOiBjYWxjKDEyIC8gMzkwICogMTAwdncpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC50eXBlX2FyZWEgLmlubmVyIC51bml0IC5hcmVhIHtcbiAgICAgIGdhcDogbWluKDE2cHgsIGNhbGMoMTYgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgLnR5cGVfYXJlYSAuaW5uZXIgLnVuaXQgLmFyZWE6OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiBjYWxjKDI0IC8gMzkwICogMTAwdncpO1xuICAgIGFzcGVjdC1yYXRpbzogMS8xO1xuICAgIGJhY2tncm91bmQ6IGNlbnRlci9jb250YWluIG5vLXJlcGVhdCB1cmwoL2ltYWdlcy9pY29uX3BsdXMuc3ZnKTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAudHlwZV9hcmVhIC5pbm5lciAudW5pdCAuYXJlYTo6YWZ0ZXIge1xuICAgICAgd2lkdGg6IG1pbigyNHB4LCBjYWxjKDI0IC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIC50eXBlX2FyZWEgLmlubmVyIC51bml0IC5hcmVhIGg0IHtcbiAgICBmb250LXNpemU6IGNhbGModmFyKC0tZnMtbSkgLyAzOTAgKiAxMDB2dyk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgIGxpbmUtaGVpZ2h0OiAxMjUlO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC50eXBlX2FyZWEgLmlubmVyIC51bml0IC5hcmVhIGg0IHtcbiAgICAgIGZvbnQtc2l6ZTogbWluKGNhbGModmFyKC0tZnMtbCkgKiAxcHgpLCBjYWxjKHZhcigtLWZzLWwpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIC50eXBlX2FyZWEgLmlubmVyIC51bml0IC50b3duIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIC50eXBlX2FyZWEgLmlubmVyIC51bml0IC50b3duIC50b3duSW5uZXIge1xuICAgIHBhZGRpbmctdG9wOiBjYWxjKDE2IC8gMzkwICogMTAwdncpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC50eXBlX2FyZWEgLmlubmVyIC51bml0IC50b3duIC50b3duSW5uZXIge1xuICAgICAgcGFkZGluZy10b3A6IG1pbigxNnB4LCBjYWxjKDE2IC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIC50eXBlX2FyZWEgLmlubmVyIC51bml0IC50b3duIC50b3duSW5uZXIgcCB7XG4gICAgZm9udC1zaXplOiBjYWxjKHZhcigtLWZzLXhzKSAvIDM5MCAqIDEwMHZ3KTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtbWVkaXVtKTtcbiAgICBsaW5lLWhlaWdodDogMTUwJTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAudHlwZV9hcmVhIC5pbm5lciAudW5pdCAudG93biAudG93bklubmVyIHAge1xuICAgICAgZm9udC1zaXplOiBtaW4oY2FsYyh2YXIoLS1mcy1zKSAqIDFweCksIGNhbGModmFyKC0tZnMtcykgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxNzElO1xuICAgIH1cbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuY29tcG9uZW50LnR5cGVfaW1hZ2VfbXVsdGkuc2V0MS5zdG9yZUltYWdlIC5pbm5lciAucEltYWdlQ2FwdGlvbiB7XG4gICAgICBtYXgtd2lkdGg6IHVuc2V0O1xuICAgIH1cbiAgfVxuICAuY29tcG9uZW50LnR5cGVfaW1hZ2VfbXVsdGkuc2V0MS5zdG9yZUltYWdlIC5pbm5lciAucEltYWdlQ2FwdGlvbiBpbWcge1xuICAgIGFzcGVjdC1yYXRpbzogMTAyNC82ODI7XG4gICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgb2JqZWN0LXBvc2l0aW9uOiBjZW50ZXI7XG4gIH1cbiAgLnBOZXdzQ2F0ZWdvcnkge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuICAuY29tcG9uZW50LnR5cGVfcGFnZXRpdGxlIC5pbm5lciB7XG4gICAgcGFkZGluZy1ib3R0b206IGNhbGMoMTYgLyAzOTAgKiAxMDB2dyk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLmNvbXBvbmVudC50eXBlX3BhZ2V0aXRsZSAuaW5uZXIge1xuICAgICAgcGFkZGluZy1ib3R0b206IHVuc2V0O1xuICAgIH1cbiAgfVxuICAjdG9wU2xpZGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cbiAgI3RvcFNsaWRlciAuc3dpcGVyIC5zd2lwZXItc2xpZGUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuICAjdG9wU2xpZGVyIC5zd2lwZXIgLnN3aXBlci1zbGlkZSAudGV4dCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGluc2V0OiAwO1xuICAgIHotaW5kZXg6IDI7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgZ2FwOiBjYWxjKDI0IC8gMzkwICogMTAwdncpO1xuICAgIHBhZGRpbmctaW5saW5lOiBjYWxjKHZhcigtLWNvbnRhaW5lci1wYWRkaW5nLXNwKSAvIDM5MCAqIDEwMHZ3KTtcbiAgICBwYWRkaW5nLWJvdHRvbTogY2FsYyg0MCAvIDM5MCAqIDEwMHZ3KTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAjdG9wU2xpZGVyIC5zd2lwZXIgLnN3aXBlci1zbGlkZSAudGV4dCB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIHBhZGRpbmctaW5saW5lOiBtaW4oODBweCwgY2FsYyg4MCAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgcGFkZGluZy1ib3R0b206IHVuc2V0O1xuICAgICAgZ2FwOiBtaW4oMjRweCwgY2FsYygyNCAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAjdG9wU2xpZGVyIC5zd2lwZXIgLnN3aXBlci1zbGlkZSAudGV4dCAucFBhZ2VUaXRsZSB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtb24tYWNjZW50KTtcbiAgfVxuICAjdG9wU2xpZGVyIC5zd2lwZXIgLnN3aXBlci1zbGlkZSAuaW1hZ2Uge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG4gICN0b3BTbGlkZXIgLnN3aXBlciAuc3dpcGVyLXNsaWRlIC5pbWFnZSBpbWcge1xuICAgIGFzcGVjdC1yYXRpbzogMzc1LzUyMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgb2JqZWN0LXBvc2l0aW9uOiBjZW50ZXI7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgI3RvcFNsaWRlciAuc3dpcGVyIC5zd2lwZXItc2xpZGUgLmltYWdlIGltZyB7XG4gICAgICBhc3BlY3QtcmF0aW86IDE0NDAvNDgwO1xuICAgIH1cbiAgfVxuICAjdG9wU2xpZGVyIC5zd2lwZXIgLm5hdmlnYXRpb25zIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGU6IFwicHJldiBwYWdpbmF0aW9uIG5leHRcIiBhdXRvLzFmciBhdXRvIDFmcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogY2FsYygzMiAvIDM5MCAqIDEwMHZ3KTtcbiAgICBtYXJnaW4tdG9wOiBjYWxjKDE2IC8gMzkwICogMTAwdncpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICN0b3BTbGlkZXIgLnN3aXBlciAubmF2aWdhdGlvbnMge1xuICAgICAgbWFyZ2luLXRvcDogbWluKDI0cHgsIGNhbGMoMjQgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxuICAjdG9wU2xpZGVyIC5zd2lwZXIgLm5hdmlnYXRpb25zIC5zd2lwZXItYnV0dG9uLW5leHQsICN0b3BTbGlkZXIgLnN3aXBlciAubmF2aWdhdGlvbnMgLnN3aXBlci1idXR0b24tcHJldiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICB3aWR0aDogY2FsYygzMiAvIDM5MCAqIDEwMHZ3KTtcbiAgICBoZWlnaHQ6IGNhbGMoMzIgLyAzOTAgKiAxMDB2dyk7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tY29sb3ItZ3JheS1zdHJvbmcpIDcwJSwgdHJhbnNwYXJlbnQpO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgIGdyaWQtYXJlYTogbmV4dDtcbiAgICBtYXJnaW4tdG9wOiB1bnNldDtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAjdG9wU2xpZGVyIC5zd2lwZXIgLm5hdmlnYXRpb25zIC5zd2lwZXItYnV0dG9uLW5leHQsICN0b3BTbGlkZXIgLnN3aXBlciAubmF2aWdhdGlvbnMgLnN3aXBlci1idXR0b24tcHJldiB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDQyJTtcbiAgICAgIHdpZHRoOiBtaW4oNTZweCwgY2FsYyg1NiAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgaGVpZ2h0OiBtaW4oNTZweCwgY2FsYyg1NiAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgdHJhbnNsYXRlOiBtaW4oNTgwcHgsIGNhbGMoNTgwIC8gMTQ0MCAqIDEwMHZ3KSkgMDtcbiAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyB2YXIoLS1iZXppZXIpO1xuICAgIH1cbiAgICAjdG9wU2xpZGVyIC5zd2lwZXIgLm5hdmlnYXRpb25zIC5zd2lwZXItYnV0dG9uLW5leHQ6aG92ZXIsICN0b3BTbGlkZXIgLnN3aXBlciAubmF2aWdhdGlvbnMgLnN3aXBlci1idXR0b24tcHJldjpob3ZlciB7XG4gICAgICBvcGFjaXR5OiAwLjc7XG4gICAgfVxuICB9XG4gICN0b3BTbGlkZXIgLnN3aXBlciAubmF2aWdhdGlvbnMgLnN3aXBlci1idXR0b24tbmV4dDo6YWZ0ZXIsICN0b3BTbGlkZXIgLnN3aXBlciAubmF2aWdhdGlvbnMgLnN3aXBlci1idXR0b24tcHJldjo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IG5vbmU7XG4gIH1cbiAgI3RvcFNsaWRlciAuc3dpcGVyIC5uYXZpZ2F0aW9ucyAuc3dpcGVyLWJ1dHRvbi1uZXh0OjpiZWZvcmUsICN0b3BTbGlkZXIgLnN3aXBlciAubmF2aWdhdGlvbnMgLnN3aXBlci1idXR0b24tcHJldjo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIG1hc2staW1hZ2U6IHVybCgvaW1hZ2VzL2ljb25fYXJyb3dfbmV4dC5zdmcpO1xuICAgIG1hc2stc2l6ZTogY29udGFpbjtcbiAgICBtYXNrLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIG1hc2stcG9zaXRpb246IGNlbnRlcjtcbiAgICB3aWR0aDogY2FsYygxMyAvIDM5MCAqIDEwMHZ3KTtcbiAgICBoZWlnaHQ6IGNhbGMoMTMgLyAzOTAgKiAxMDB2dyk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItdGV4dC1vbi1hY2NlbnQpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICN0b3BTbGlkZXIgLnN3aXBlciAubmF2aWdhdGlvbnMgLnN3aXBlci1idXR0b24tbmV4dDo6YmVmb3JlLCAjdG9wU2xpZGVyIC5zd2lwZXIgLm5hdmlnYXRpb25zIC5zd2lwZXItYnV0dG9uLXByZXY6OmJlZm9yZSB7XG4gICAgICB3aWR0aDogbWluKDI0cHgsIGNhbGMoMjQgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIGhlaWdodDogbWluKDI0cHgsIGNhbGMoMjQgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgI3RvcFNsaWRlciAuc3dpcGVyIC5uYXZpZ2F0aW9ucyAuc3dpcGVyLWJ1dHRvbi1uZXh0Om5vdCguc3dpcGVyLWJ1dHRvbi1kaXNhYmxlZCksICN0b3BTbGlkZXIgLnN3aXBlciAubmF2aWdhdGlvbnMgLnN3aXBlci1idXR0b24tcHJldjpub3QoLnN3aXBlci1idXR0b24tZGlzYWJsZWQpIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICB9XG4gICN0b3BTbGlkZXIgLnN3aXBlciAubmF2aWdhdGlvbnMgLnN3aXBlci1idXR0b24tbmV4dC5zd2lwZXItYnV0dG9uLWRpc2FibGVkLCAjdG9wU2xpZGVyIC5zd2lwZXIgLm5hdmlnYXRpb25zIC5zd2lwZXItYnV0dG9uLXByZXYuc3dpcGVyLWJ1dHRvbi1kaXNhYmxlZCB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuICAjdG9wU2xpZGVyIC5zd2lwZXIgLm5hdmlnYXRpb25zIC5zd2lwZXItYnV0dG9uLXByZXYge1xuICAgIGdyaWQtYXJlYTogcHJldjtcbiAgICBqdXN0aWZ5LXNlbGY6IGVuZDtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAjdG9wU2xpZGVyIC5zd2lwZXIgLm5hdmlnYXRpb25zIC5zd2lwZXItYnV0dG9uLXByZXYge1xuICAgICAgbGVmdDogYXV0bztcbiAgICAgIHJpZ2h0OiA1MCU7XG4gICAgICB0cmFuc2xhdGU6IG1heCgtNTgwcHgsIGNhbGMoLTU4MCAvIDE0NDAgKiAxMDB2dykpIDA7XG4gICAgfVxuICB9XG4gICN0b3BTbGlkZXIgLnN3aXBlciAubmF2aWdhdGlvbnMgLnN3aXBlci1idXR0b24tcHJldjo6YmVmb3JlIHtcbiAgICBtYXNrLWltYWdlOiB1cmwoL2ltYWdlcy9pY29uX2Fycm93X3ByZXYuc3ZnKTtcbiAgfVxuICAjdG9wU2xpZGVyIC5zd2lwZXIgLm5hdmlnYXRpb25zIC5zd2lwZXItcGFnaW5hdGlvbiB7XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgICBncmlkLWFyZWE6IHBhZ2luYXRpb247XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB9XG4gICN0b3BTbGlkZXIgLnN3aXBlciAubmF2aWdhdGlvbnMgLnN3aXBlci1wYWdpbmF0aW9uIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQge1xuICAgIG1hcmdpbi1pbmxpbmU6IGNhbGMoOCAvIDM5MCAqIDEwMHZ3KTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1ib3JkZXIpO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgI3RvcFNsaWRlciAuc3dpcGVyIC5uYXZpZ2F0aW9ucyAuc3dpcGVyLXBhZ2luYXRpb24gLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldCB7XG4gICAgICBtYXJnaW4taW5saW5lOiBtaW4oMTJweCwgY2FsYygxMiAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgd2lkdGg6IG1pbigxMnB4LCBjYWxjKDEyIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICBoZWlnaHQ6IG1pbigxMnB4LCBjYWxjKDEyIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gICN0b3BTbGlkZXIgLnN3aXBlciAubmF2aWdhdGlvbnMgLnN3aXBlci1wYWdpbmF0aW9uIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LWFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYnJhbmQpO1xuICB9XG4gICN0b3BTbGlkZXIgLnJlcXVpcmVtZW50cyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIGJvdHRvbTogY2FsYyg5MCAvIDM5MCAqIDEwMHZ3KTtcbiAgICByaWdodDogMDtcbiAgICB6LWluZGV4OiAyO1xuICAgIGZpbHRlcjogZHJvcC1zaGFkb3coMCAycHggNXB4IHJnYmEoMCwgMCwgMCwgMC4yNCkpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICN0b3BTbGlkZXIgLnJlcXVpcmVtZW50cyB7XG4gICAgICBib3R0b206IG1pbigxNjBweCwgY2FsYygxNjAgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIHJpZ2h0OiAwO1xuICAgIH1cbiAgfVxuICAjdG9wU2xpZGVyIC5yZXF1aXJlbWVudHMgaW1nIHtcbiAgICB3aWR0aDogY2FsYyg0MCAvIDM5MCAqIDEwMHZ3KTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAjdG9wU2xpZGVyIC5yZXF1aXJlbWVudHMgaW1nIHtcbiAgICAgIHdpZHRoOiBtaW4oNDhweCwgY2FsYyg0OCAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAjdG9wSGVhZGxpbmUge1xuICAgIG1hcmdpbi10b3A6IGNhbGMoMzIgLyAzOTAgKiAxMDB2dyk7XG4gICAgcGFkZGluZy1sZWZ0OiBjYWxjKHZhcigtLWNvbnRhaW5lci1wYWRkaW5nLXNwKSAvIDM5MCAqIDEwMHZ3KTtcbiAgICBwYWRkaW5nLXJpZ2h0OiBjYWxjKHZhcigtLWNvbnRhaW5lci1wYWRkaW5nLXNwKSAvIDM5MCAqIDEwMHZ3KTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAjdG9wSGVhZGxpbmUge1xuICAgICAgcGFkZGluZy1sZWZ0OiB1bnNldDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IHVuc2V0O1xuICAgICAgbWFyZ2luLWlubGluZTogYXV0bztcbiAgICAgIHdpZHRoOiBtaW4oMTAyNnB4LCBjYWxjKDEwMjYgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgI3RvcEhlYWRsaW5lIHtcbiAgICAgIG1hcmdpbi10b3A6IG1pbig1NnB4LCBjYWxjKDU2IC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gICN0b3BIZWFkbGluZSAuaW5uZXIge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZTogXCJoZWFkaW5nIHRleHRcIiBhdXRvL2F1dG8gMWZyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgcGFkZGluZzogY2FsYygxNiAvIDM5MCAqIDEwMHZ3KSBjYWxjKDggLyAzOTAgKiAxMDB2dyk7XG4gICAgZ2FwOiBjYWxjKDE2IC8gMzkwICogMTAwdncpO1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXIpO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXIpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICN0b3BIZWFkbGluZSAuaW5uZXIge1xuICAgICAgcGFkZGluZzogbWluKDE2cHgsIGNhbGMoMTYgLyAxNDQwICogMTAwdncpKSAwO1xuICAgICAgZ2FwOiBtaW4oMzJweCwgY2FsYygzMiAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAjdG9wSGVhZGxpbmUgLmlubmVyIGgyIHtcbiAgICBncmlkLWFyZWE6IGhlYWRpbmc7XG4gIH1cbiAgI3RvcEhlYWRsaW5lIC5pbm5lciBoMiBpbWcge1xuICAgIHdpZHRoOiBjYWxjKDQyIC8gMzkwICogMTAwdncpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICN0b3BIZWFkbGluZSAuaW5uZXIgaDIgaW1nIHtcbiAgICAgIHdpZHRoOiBtaW4oNTFweCwgY2FsYyg1MSAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAjdG9wSGVhZGxpbmUgLmlubmVyIHAge1xuICAgIGZvbnQtc2l6ZTogY2FsYyh2YXIoLS1mcy1zKSAvIDM5MCAqIDEwMHZ3KTtcbiAgICBncmlkLWFyZWE6IHRleHQ7XG4gICAgbGluZS1oZWlnaHQ6IDE0MiU7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgI3RvcEhlYWRsaW5lIC5pbm5lciBwIHtcbiAgICAgIGZvbnQtc2l6ZTogbWluKGNhbGModmFyKC0tZnMtbSkgKiAxcHgpLCBjYWxjKHZhcigtLWZzLW0pIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICBsaW5lLWhlaWdodDogMTUwJTtcbiAgICB9XG4gIH1cbiAgI3RvcEhlYWRsaW5lIC5pbm5lciBwIGEge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgYXV0bztcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogY2FsYygxNiAvIDM5MCAqIDEwMHZ3KTtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciB2YXIoLS10cmFuc2l0aW9uLXNwZWVkKSB2YXIoLS1iZXppZXIpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICN0b3BIZWFkbGluZSAuaW5uZXIgcCBhIHtcbiAgICAgIGdhcDogbWluKDMycHgsIGNhbGMoMzIgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgQG1lZGlhIChhbnktaG92ZXI6IGhvdmVyKSB7XG4gICAgI3RvcEhlYWRsaW5lIC5pbm5lciBwIGE6aG92ZXIge1xuICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWJyYW5kKTtcbiAgICB9XG4gICAgI3RvcEhlYWRsaW5lIC5pbm5lciBwIGE6aG92ZXI6OmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJyYW5kKTtcbiAgICB9XG4gIH1cbiAgI3RvcEhlYWRsaW5lIC5pbm5lciBwIGE6OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiBjYWxjKDI0IC8gMzkwICogMTAwdncpO1xuICAgIGhlaWdodDogY2FsYygyNCAvIDM5MCAqIDEwMHZ3KTtcbiAgICBtYXNrLWltYWdlOiB1cmwoL2ltYWdlcy9pY29uX2Fycm93X25leHQuc3ZnKTtcbiAgICBtYXNrLXNpemU6IGNvbnRhaW47XG4gICAgbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBtYXNrLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmxhY2spO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1zcGVlZCkgdmFyKC0tYmV6aWVyKTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAjdG9wSGVhZGxpbmUgLmlubmVyIHAgYTo6YWZ0ZXIge1xuICAgICAgd2lkdGg6IG1pbigyNHB4LCBjYWxjKDI0IC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICBoZWlnaHQ6IG1pbigyNHB4LCBjYWxjKDI0IC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gICN0b3BNYWluIHtcbiAgICBtYXJnaW4tdG9wOiBjYWxjKDMyIC8gMzkwICogMTAwdncpO1xuICAgIHBhZGRpbmctYmxvY2s6IGNhbGMoMzIgLyAzOTAgKiAxMDB2dykgY2FsYyg1NiAvIDM5MCAqIDEwMHZ3KTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iYWNrZ3JvdW5kKTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAjdG9wTWFpbiB7XG4gICAgICBtYXJnaW4tdG9wOiBtaW4oMjRweCwgY2FsYygyNCAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgcGFkZGluZy1ibG9jazogbWluKDU2cHgsIGNhbGMoNTYgLyAxNDQwICogMTAwdncpKSBtaW4oOTZweCwgY2FsYyg5NiAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAjdG9wTWFpbiAuaW5uZXIge1xuICAgIHBhZGRpbmctbGVmdDogY2FsYyh2YXIoLS1jb250YWluZXItcGFkZGluZy1zcCkgLyAzOTAgKiAxMDB2dyk7XG4gICAgcGFkZGluZy1yaWdodDogY2FsYyh2YXIoLS1jb250YWluZXItcGFkZGluZy1zcCkgLyAzOTAgKiAxMDB2dyk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgI3RvcE1haW4gLmlubmVyIHtcbiAgICAgIHBhZGRpbmctbGVmdDogdW5zZXQ7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiB1bnNldDtcbiAgICAgIG1hcmdpbi1pbmxpbmU6IGF1dG87XG4gICAgICB3aWR0aDogbWluKDEwMjZweCwgY2FsYygxMDI2IC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICN0b3BNYWluIC5pbm5lciB7XG4gICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgZ3JpZC10ZW1wbGF0ZTogXCJuYXYgbGluZXVwXCIgYXV0by9taW4oMjg2cHgsIGNhbGMoMjg2IC8gMTQ0MCAqIDEwMHZ3KSkgYXV0bztcbiAgICAgIGdhcDogbWluKDMycHgsIGNhbGMoMzIgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgI3RvcE1haW5OYXYge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgI3RvcE1haW5OYXYge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBncmlkLWFyZWE6IG5hdjtcbiAgICB9XG4gICAgI3RvcE1haW5OYXYgLmJnIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXN1cmZhY2UpO1xuICAgICAgcGFkZGluZzogbWluKDE2cHgsIGNhbGMoMTYgLyAxNDQwICogMTAwdncpKSBtaW4oMTZweCwgY2FsYygxNiAvIDE0NDAgKiAxMDB2dykpIG1pbig1NnB4LCBjYWxjKDU2IC8gMTQ0MCAqIDEwMHZ3KSkgbWluKDE2cHgsIGNhbGMoMTYgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIHBvc2l0aW9uOiBzdGlja3k7XG4gICAgICB0b3A6IDA7XG4gICAgfVxuICAgICN0b3BNYWluTmF2IC5iZyBoMiB7XG4gICAgICBmb250LXNpemU6IG1pbihjYWxjKHZhcigtLWZzLWwpICogMXB4KSwgY2FsYyh2YXIoLS1mcy1sKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgICAgbGluZS1oZWlnaHQ6IDE1NS41NTYlO1xuICAgIH1cbiAgICAjdG9wTWFpbk5hdiAuYmcgaDMge1xuICAgICAgbWFyZ2luLXRvcDogbWluKDE2cHgsIGNhbGMoMTYgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWdyYXktd2Vhayk7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBmb250LXNpemU6IG1pbihjYWxjKHZhcigtLWZzLXhzKSAqIDFweCksIGNhbGModmFyKC0tZnMteHMpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgICBsaW5lLWhlaWdodDogMTUwJTtcbiAgICB9XG4gICAgI3RvcE1haW5OYXYgLmJnID4gdWwgPiBsaSB7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyKTtcbiAgICB9XG4gICAgI3RvcE1haW5OYXYgLmJnID4gdWwgPiBsaSA+IGEsICN0b3BNYWluTmF2IC5iZyA+IHVsID4gbGkgaDQge1xuICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciBhdXRvO1xuICAgICAgZ2FwOiBtaW4oOHB4LCBjYWxjKDggLyAxNDQwICogMTAwdncpKTtcbiAgICAgIHBhZGRpbmctYmxvY2s6IG1pbig5cHgsIGNhbGMoOSAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQpO1xuICAgICAgZm9udC1zaXplOiBtaW4oY2FsYyh2YXIoLS1mcy1zKSAqIDFweCksIGNhbGModmFyKC0tZnMtcykgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1tZWRpdW0pO1xuICAgICAgbGluZS1oZWlnaHQ6IDE0MiU7XG4gICAgfVxuICAgICN0b3BNYWluTmF2IC5iZyA+IHVsID4gbGkgPiBhOjphZnRlciwgI3RvcE1haW5OYXYgLmJnID4gdWwgPiBsaSBoNDo6YWZ0ZXIge1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IG1pbigxMnB4LCBjYWxjKDEyIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICBoZWlnaHQ6IG1pbigxMnB4LCBjYWxjKDEyIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICBtYXNrLWltYWdlOiB1cmwoL2ltYWdlcy9pY29uX2Fycm93X25leHQuc3ZnKTtcbiAgICAgIG1hc2stc2l6ZTogY29udGFpbjtcbiAgICAgIG1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci10ZXh0KTtcbiAgICB9XG4gICAgI3RvcE1haW5OYXYgLmJnID4gdWwgPiBsaSA+IGg0IHtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG4gICAgI3RvcE1haW5OYXYgLmJnID4gdWwgPiBsaSA+IGg0OjphZnRlciB7XG4gICAgICByb3RhdGU6IHogOTBkZWc7XG4gICAgICB0cmFuc2l0aW9uOiByb3RhdGUgdmFyKC0tdHJhbnNpdGlvbi1zcGVlZCkgdmFyKC0tYmV6aWVyKTtcbiAgICB9XG4gICAgI3RvcE1haW5OYXYgLmJnID4gdWwgPiBsaSA+IGg0LmlzLWFjdGl2ZTo6YWZ0ZXIge1xuICAgICAgcm90YXRlOiB6IC05MGRlZztcbiAgICB9XG4gICAgI3RvcE1haW5OYXYgLmJnID4gdWwgPiBsaSAuc3ViIHtcbiAgICAgIGhlaWdodDogMDtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICB0cmFuc2l0aW9uOiBoZWlnaHQgdmFyKC0tdHJhbnNpdGlvbi1zcGVlZCkgdmFyKC0tYmV6aWVyKTtcbiAgICB9XG4gICAgI3RvcE1haW5OYXYgLmJnID4gdWwgPiBsaSAuc3ViLmlzLWFjdGl2ZSB7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICBoZWlnaHQ6IGNhbGMtc2l6ZShhdXRvLCBzaXplKTtcbiAgICB9XG4gICAgI3RvcE1haW5OYXYgLmJnID4gdWwgPiBsaSAuc3ViIGxpOmxhc3QtY2hpbGQge1xuICAgICAgcGFkZGluZy1ib3R0b206IG1pbigxMnB4LCBjYWxjKDEyIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICAgICN0b3BNYWluTmF2IC5iZyA+IHVsID4gbGkgLnN1YiBsaSBhIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcGFkZGluZy1ibG9jazogbWluKDEwcHgsIGNhbGMoMTAgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIHBhZGRpbmctaW5saW5lOiBtaW4oMTJweCwgY2FsYygxMiAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQsICMwMDApO1xuICAgICAgZm9udC1zaXplOiBtaW4oY2FsYyh2YXIoLS1mcy14cykgKiAxcHgpLCBjYWxjKHZhcigtLWZzLXhzKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgbGluZS1oZWlnaHQ6IDE1MCU7XG4gICAgfVxuICB9XG4gIEBtZWRpYSBwcmludCBhbmQgKGFueS1ob3ZlcjogaG92ZXIpLCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKGFueS1ob3ZlcjogaG92ZXIpIHtcbiAgICAjdG9wTWFpbk5hdiAuYmcgPiB1bCA+IGxpIC5zdWIgbGkgYTpob3ZlciB7XG4gICAgICBjb2xvcjogdmFyKC0tY29sb3ItZ3JheSk7XG4gICAgfVxuICB9XG4gICN0b3BMaW5ldXAge1xuICAgIGdyaWQtYXJlYTogbGluZXVwO1xuICB9XG4gICN0b3BMaW5ldXAgLmNoZWNrIHtcbiAgICBtYXJnaW4taW5saW5lOiBhdXRvO1xuICAgIHdpZHRoOiBmaXQtY29udGVudDtcbiAgICBwYWRkaW5nOiBjYWxjKDQgLyAzOTAgKiAxMDB2dykgY2FsYygzMiAvIDM5MCAqIDEwMHZ3KTtcbiAgICBib3JkZXItcmFkaXVzOiBjYWxjKHZhcigtLWJvcmRlci1yYWRpdXMtc21hbGwpIC8gMzkwICogMTAwdncpO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXRoaXJkKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1vbi1hY2NlbnQpO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBmb250LXNpemU6IGNhbGModmFyKC0tZnMtcykgLyAzOTAgKiAxMDB2dyk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgIGxpbmUtaGVpZ2h0OiAxNDIlO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAjdG9wTGluZXVwIC5jaGVjayB7XG4gICAgICBwYWRkaW5nOiBtaW4oMTZweCwgY2FsYygxNiAvIDE0NDAgKiAxMDB2dykpIG1pbig1NnB4LCBjYWxjKDU2IC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICBmb250LXNpemU6IG1pbihjYWxjKHZhcigtLWZzLXhsKSAqIDFweCksIGNhbGModmFyKC0tZnMteGwpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICBib3JkZXItcmFkaXVzOiBtaW4oY2FsYyh2YXIoLS1ib3JkZXItcmFkaXVzLW1lZGl1bSkgKiAxcHgpLCBjYWxjKHZhcigtLWJvcmRlci1yYWRpdXMtbWVkaXVtKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAjdG9wTGluZXVwIC5jaGVjazo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiBjYWxjKDExIC8gMzkwICogMTAwdncpO1xuICAgIGFzcGVjdC1yYXRpbzogMS9jb3MoMzBkZWcpO1xuICAgIGNsaXAtcGF0aDogcG9seWdvbig1MCUgMTAwJSwgMTAwJSAwLCAwIDApO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXRoaXJkKTtcbiAgICBib3R0b206IGNhbGMoLTkgLyAzOTAgKiAxMDB2dyk7XG4gICAgbGVmdDogNTAlO1xuICAgIHRyYW5zbGF0ZTogLTUwJSAwO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICN0b3BMaW5ldXAgLmNoZWNrOjphZnRlciB7XG4gICAgICB3aWR0aDogbWluKDE3cHgsIGNhbGMoMTcgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIGJvdHRvbTogbWF4KC0xMXB4LCBjYWxjKC0xMSAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAjdG9wTGluZXVwIGgyIHtcbiAgICBtYXJnaW4tdG9wOiBjYWxjKDggLyAzOTAgKiAxMDB2dyk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQpO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBmb250LXNpemU6IGNhbGModmFyKC0tZnMteHh4bCkgLyAzOTAgKiAxMDB2dyk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgIGxpbmUtaGVpZ2h0OiAxNTAlO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICN0b3BMaW5ldXAgaDIge1xuICAgICAgZm9udC1zaXplOiBtaW4oY2FsYyh2YXIoLS1mcy14eHh4bCkgKiAxcHgpLCBjYWxjKHZhcigtLWZzLXh4eHhsKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgbGluZS1oZWlnaHQ6IDEyMCU7XG4gICAgICBtYXJnaW4tdG9wOiBtaW4oMjRweCwgY2FsYygyNCAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAjdG9wTGluZXVwIGgzIHtcbiAgICBtYXJnaW4tdG9wOiBjYWxjKDE2IC8gMzkwICogMTAwdncpO1xuICAgIGJvcmRlci1yYWRpdXM6IGNhbGModmFyKC0tYm9yZGVyLXJhZGl1cy1zbWFsbCkgLyAzOTAgKiAxMDB2dyk7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItZ3JheS13ZWFrKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dCk7XG4gICAgZm9udC1zaXplOiBjYWxjKHZhcigtLWZzLW0pIC8gMzkwICogMTAwdncpO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICBwYWRkaW5nOiBjYWxjKDYgLyAzOTAgKiAxMDB2dykgY2FsYyg4IC8gMzkwICogMTAwdncpIGNhbGMoOCAvIDM5MCAqIDEwMHZ3KTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgI3RvcExpbmV1cCBoMyB7XG4gICAgICBtYXJnaW4tdG9wOiBtaW4oMjRweCwgY2FsYygyNCAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgZm9udC1zaXplOiBtaW4oY2FsYyh2YXIoLS1mcy14bCkgKiAxcHgpLCBjYWxjKHZhcigtLWZzLXhsKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgcGFkZGluZzogbWluKDhweCwgY2FsYyg4IC8gMTQ0MCAqIDEwMHZ3KSkgbWluKDhweCwgY2FsYyg4IC8gMTQ0MCAqIDEwMHZ3KSkgbWluKDEwcHgsIGNhbGMoMTAgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IG1pbihjYWxjKHZhcigtLWJvcmRlci1yYWRpdXMtbWVkaXVtKSAqIDFweCksIGNhbGModmFyKC0tYm9yZGVyLXJhZGl1cy1tZWRpdW0pIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gICN0b3BMaW5ldXAgdWwge1xuICAgIG1hcmdpbi10b3A6IGNhbGMoMTYgLyAzOTAgKiAxMDB2dyk7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpO1xuICAgIGdhcDogY2FsYygxNiAvIDM5MCAqIDEwMHZ3KTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAjdG9wTGluZXVwIHVsIHtcbiAgICAgIG1hcmdpbi10b3A6IG1pbigyNHB4LCBjYWxjKDI0IC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLCAxZnIpO1xuICAgICAgZ2FwOiBtaW4oMjRweCwgY2FsYygyNCAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAjdG9wTGluZXVwIHVsICsgaDMge1xuICAgIG1hcmdpbi10b3A6IGNhbGMoMjYgLyAzOTAgKiAxMDB2dyk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgI3RvcExpbmV1cCB1bCArIGgzIHtcbiAgICAgIG1hcmdpbi10b3A6IG1pbig1NnB4LCBjYWxjKDU2IC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gICN0b3BMaW5ldXAgdWwgbGkge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgfVxuICAjdG9wTGluZXVwIHVsIGxpIGEge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBib3JkZXItcmFkaXVzOiBjYWxjKHZhcigtLWJvcmRlci1yYWRpdXMtc21hbGwpIC8gMzkwICogMTAwdncpO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXN1cmZhY2UpO1xuICAgIGJveC1zaGFkb3c6IDAgMXB4IDNweCAwIHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IHZhcigtLXRyYW5zaXRpb24tc3BlZWQpIHZhcigtLWJlemllcik7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHBhZGRpbmctYmxvY2s6IGNhbGMoOCAvIDM5MCAqIDEwMHZ3KTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAjdG9wTGluZXVwIHVsIGxpIGEge1xuICAgICAgYm9yZGVyLXJhZGl1czogbWluKGNhbGModmFyKC0tYm9yZGVyLXJhZGl1cy1tZWRpdW0pICogMXB4KSwgY2FsYyh2YXIoLS1ib3JkZXItcmFkaXVzLW1lZGl1bSkgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIHBhZGRpbmctYmxvY2s6IG1pbigxNnB4LCBjYWxjKDE2IC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIEBtZWRpYSAoYW55LWhvdmVyOiBob3Zlcikge1xuICAgICN0b3BMaW5ldXAgdWwgbGkgYTpob3ZlciB7XG4gICAgICBib3gtc2hhZG93OiAwIDFweCA1cHggMCByZ2JhKDAsIDAsIDAsIDAuMik7XG4gICAgfVxuICB9XG4gICN0b3BMaW5ldXAgdWwgbGkgYSBmaWd1cmUgZmlnY2FwdGlvbiB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQpO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBmb250LXNpemU6IGNhbGModmFyKC0tZnMteHMpIC8gMzkwICogMTAwdncpO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1tZWRpdW0pO1xuICAgIGxpbmUtaGVpZ2h0OiAxNTAlO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICN0b3BMaW5ldXAgdWwgbGkgYSBmaWd1cmUgZmlnY2FwdGlvbiB7XG4gICAgICBtYXJnaW4tdG9wOiBtaW4oMTZweCwgY2FsYygxNiAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgZm9udC1zaXplOiBtaW4oY2FsYyh2YXIoLS1mcy1zKSAqIDFweCksIGNhbGModmFyKC0tZnMtcykgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgI3RvcE1ldGhvZCB7XG4gICAgcGFkZGluZy1ibG9jazogY2FsYyg1NiAvIDM5MCAqIDEwMHZ3KTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAjdG9wTWV0aG9kIHtcbiAgICAgIHBhZGRpbmctYmxvY2s6IG1pbig5NnB4LCBjYWxjKDk2IC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gICN0b3BNZXRob2QgLmlubmVyIHtcbiAgICBwYWRkaW5nLWxlZnQ6IGNhbGModmFyKC0tY29udGFpbmVyLXBhZGRpbmctc3ApIC8gMzkwICogMTAwdncpO1xuICAgIHBhZGRpbmctcmlnaHQ6IGNhbGModmFyKC0tY29udGFpbmVyLXBhZGRpbmctc3ApIC8gMzkwICogMTAwdncpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICN0b3BNZXRob2QgLmlubmVyIHtcbiAgICAgIHBhZGRpbmctbGVmdDogdW5zZXQ7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiB1bnNldDtcbiAgICAgIG1hcmdpbi1pbmxpbmU6IGF1dG87XG4gICAgICB3aWR0aDogbWluKDEwMjZweCwgY2FsYygxMDI2IC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICN0b3BNZXRob2QgLmlubmVyIHtcbiAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICBncmlkLXRlbXBsYXRlOiBcInRpdGxlIGxpc3RcIiBhdXRvIFwiYnV0dG9uIGJ1dHRvblwiIGF1dG8vbWluKDI4NnB4LCBjYWxjKDI4NiAvIDE0NDAgKiAxMDB2dykpIDFmcjtcbiAgICAgIGdhcDogMCBtaW4oMzJweCwgY2FsYygzMiAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAjdG9wTWV0aG9kIC5pbm5lciAudGl0bGUgLmxvZ28ge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuICAjdG9wTWV0aG9kIC5pbm5lciAudGl0bGUgLmxvZ28gaW1nIHtcbiAgICB3aWR0aDogY2FsYygyNzMgLyAzOTAgKiAxMDB2dyk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgI3RvcE1ldGhvZCAuaW5uZXIgLnRpdGxlIC5sb2dvIGltZyB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cbiAgI3RvcE1ldGhvZCAuaW5uZXIgLnRpdGxlIGgyIHtcbiAgICBtYXJnaW4tdG9wOiBjYWxjKDE2IC8gMzkwICogMTAwdncpO1xuICAgIGJvcmRlci1yYWRpdXM6IGNhbGModmFyKC0tYm9yZGVyLXJhZGl1cy1zbWFsbCkgLyAzOTAgKiAxMDB2dyk7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItZ3JheS1zdHJvbmcpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LW9uLWFjY2VudCk7XG4gICAgZm9udC1zaXplOiBjYWxjKHZhcigtLWZzLW0pIC8gMzkwICogMTAwdncpO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICBsaW5lLWhlaWdodDogMTUwJTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgI3RvcE1ldGhvZCAuaW5uZXIgLnRpdGxlIGgyIHtcbiAgICAgIG1hcmdpbi10b3A6IG1pbigyNHB4LCBjYWxjKDI0IC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICBmb250LXNpemU6IG1pbihjYWxjKHZhcigtLWZzLXhsKSAqIDFweCksIGNhbGModmFyKC0tZnMteGwpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICBsaW5lLWhlaWdodDogMTIwJTtcbiAgICAgIHBhZGRpbmc6IG1pbig0cHgsIGNhbGMoNCAvIDE0NDAgKiAxMDB2dykpIG1pbig0cHgsIGNhbGMoNCAvIDE0NDAgKiAxMDB2dykpIG1pbig2cHgsIGNhbGMoNiAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgYm9yZGVyLXJhZGl1czogdW5zZXQ7XG4gICAgfVxuICB9XG4gICN0b3BNZXRob2QgLmlubmVyIC50aXRsZSAubGVhZCB7XG4gICAgbWFyZ2luLXRvcDogY2FsYygyNCAvIDM5MCAqIDEwMHZ3KTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dCk7XG4gICAgZm9udC1zaXplOiBjYWxjKHZhcigtLWZzLW0pIC8gMzkwICogMTAwdncpO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1yZWd1bGFyKTtcbiAgICBsaW5lLWhlaWdodDogMTUwJTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAjdG9wTWV0aG9kIC5pbm5lciAudGl0bGUgLmxlYWQge1xuICAgICAgbWFyZ2luLXRvcDogbWluKDI0cHgsIGNhbGMoMjQgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIGZvbnQtc2l6ZTogbWluKGNhbGModmFyKC0tZnMtbSkgKiAxcHgpLCBjYWxjKHZhcigtLWZzLW0pIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICBsaW5lLWhlaWdodDogMTc1JTtcbiAgICB9XG4gIH1cbiAgI3RvcE1ldGhvZCAuaW5uZXIgLm1ldGhvZExpc3Qge1xuICAgIG1hcmdpbi10b3A6IGNhbGMoMjQgLyAzOTAgKiAxMDB2dyk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgI3RvcE1ldGhvZCAuaW5uZXIgLm1ldGhvZExpc3Qge1xuICAgICAgbWFyZ2luLXRvcDogdW5zZXQ7XG4gICAgfVxuICB9XG4gICN0b3BNZXRob2QgLmlubmVyIC5idXR0b24ge1xuICAgIG1hcmdpbi10b3A6IGNhbGMoMjQgLyAzOTAgKiAxMDB2dyk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgI3RvcE1ldGhvZCAuaW5uZXIgLmJ1dHRvbiB7XG4gICAgICBtYXJnaW4tdG9wOiBtaW4oNTZweCwgY2FsYyg1NiAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgZ3JpZC1hcmVhOiBidXR0b247XG4gICAgfVxuICB9XG4gICN0b3BNZXRob2QgLmlubmVyIC5idXR0b24gLnBCdXR0b24ge1xuICAgIG1hcmdpbi1pbmxpbmU6IGF1dG87XG4gIH1cbiAgLm1ldGhvZExpc3Qge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMywgMWZyKTtcbiAgICBnYXA6IGNhbGMoMTYgLyAzOTAgKiAxMDB2dyk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLm1ldGhvZExpc3Qge1xuICAgICAgZ2FwOiBtaW4oMTZweCwgY2FsYygxNiAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAubWV0aG9kTGlzdCBsaSBhIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBib3JkZXItcmFkaXVzOiBjYWxjKHZhcigtLWJvcmRlci1yYWRpdXMtbWVkaXVtKSAvIDM5MCAqIDEwMHZ3KTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci10aGlyZCk7XG4gICAgYm94LXNoYWRvdzogMCAxcHggM3B4IDAgcmdiYSgwLCAwLCAwLCAwLjEpO1xuICAgIHBhZGRpbmc6IGNhbGMoNCAvIDM5MCAqIDEwMHZ3KTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciB2YXIoLS10cmFuc2l0aW9uLXNwZWVkKSB2YXIoLS1iZXppZXIpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5tZXRob2RMaXN0IGxpIGEge1xuICAgICAgYm9yZGVyLXJhZGl1czogbWluKGNhbGModmFyKC0tYm9yZGVyLXJhZGl1cy1sYXJnZSkgKiAxcHgpLCBjYWxjKHZhcigtLWJvcmRlci1yYWRpdXMtbGFyZ2UpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICBwYWRkaW5nOiBtaW4oMTZweCwgY2FsYygxNiAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICBAbWVkaWEgKGFueS1ob3ZlcjogaG92ZXIpIHtcbiAgICAubWV0aG9kTGlzdCBsaSBhOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJyYW5kKTtcbiAgICB9XG4gICAgLm1ldGhvZExpc3QgbGkgYTpob3ZlciBzcGFuIHtcbiAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1icmFuZCk7XG4gICAgfVxuICAgIC5tZXRob2RMaXN0IGxpIGE6aG92ZXIgc3Bhbjo6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYnJhbmQpO1xuICAgIH1cbiAgfVxuICAubWV0aG9kTGlzdCBsaSBhIGZpZ3VyZSBpbWcge1xuICAgIHdpZHRoOiBjYWxjKDU2IC8gMzkwICogMTAwdncpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5tZXRob2RMaXN0IGxpIGEgZmlndXJlIGltZyB7XG4gICAgICB3aWR0aDogbWluKDEyMHB4LCBjYWxjKDEyMCAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAubWV0aG9kTGlzdCBsaSBhIGZpZ3VyZSBmaWdjYXB0aW9uIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1vbi1hY2NlbnQpO1xuICAgIGZvbnQtc2l6ZTogY2FsYyh2YXIoLS1mcy14eHMpIC8gMzkwICogMTAwdncpO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1tZWRpdW0pO1xuICAgIGxpbmUtaGVpZ2h0OiAxNTAlO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5tZXRob2RMaXN0IGxpIGEgZmlndXJlIGZpZ2NhcHRpb24ge1xuICAgICAgZm9udC1zaXplOiBtaW4oY2FsYyh2YXIoLS1mcy1sKSAqIDFweCksIGNhbGModmFyKC0tZnMtbCkgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgLm1ldGhvZExpc3QgbGkgYSBzcGFuIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYm9yZGVyLXJhZGl1czogY2FsYyh2YXIoLS1ib3JkZXItcmFkaXVzLXNtYWxsKSAvIDM5MCAqIDEwMHZ3KTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iYWNrZ3JvdW5kKTtcbiAgICBtYXJnaW4tdG9wOiBjYWxjKDQgLyAzOTAgKiAxMDB2dyk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRoaXJkKTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZm9udC1zaXplOiBjYWxjKHZhcigtLWZzLXMpIC8gMzkwICogMTAwdncpO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICBsaW5lLWhlaWdodDogMTQyJTtcbiAgICBwYWRkaW5nOiBjYWxjKDQgLyAzOTAgKiAxMDB2dykgY2FsYyg0IC8gMzkwICogMTAwdncpIGNhbGMoNCAvIDM5MCAqIDEwMHZ3KSBjYWxjKDEyIC8gMzkwICogMTAwdncpO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIHZhcigtLXRyYW5zaXRpb24tc3BlZWQpIHZhcigtLWJlemllcik7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLm1ldGhvZExpc3QgbGkgYSBzcGFuIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IG1pbihjYWxjKHZhcigtLWJvcmRlci1yYWRpdXMtc21hbGwpICogMXB4KSwgY2FsYyh2YXIoLS1ib3JkZXItcmFkaXVzLXNtYWxsKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgcGFkZGluZzogbWluKDZweCwgY2FsYyg2IC8gMTQ0MCAqIDEwMHZ3KSkgbWluKDhweCwgY2FsYyg4IC8gMTQ0MCAqIDEwMHZ3KSkgbWluKDhweCwgY2FsYyg4IC8gMTQ0MCAqIDEwMHZ3KSkgbWluKDE2cHgsIGNhbGMoMTYgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIGZvbnQtc2l6ZTogbWluKGNhbGModmFyKC0tZnMteGwpICogMXB4KSwgY2FsYyh2YXIoLS1mcy14bCkgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIG1hcmdpbi10b3A6IG1pbig4cHgsIGNhbGMoOCAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgZ2FwOiBtaW4oMTJweCwgY2FsYygxMiAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAubWV0aG9kTGlzdCBsaSBhIHNwYW46OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogY2FsYygxNCAvIDM5MCAqIDEwMHZ3KTtcbiAgICBoZWlnaHQ6IGNhbGMoMTQgLyAzOTAgKiAxMDB2dyk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLm1ldGhvZExpc3QgbGkgYSBzcGFuOjpiZWZvcmUge1xuICAgICAgd2lkdGg6IG1pbigyNHB4LCBjYWxjKDI0IC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICBoZWlnaHQ6IG1pbigyNHB4LCBjYWxjKDI0IC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIC5tZXRob2RMaXN0IGxpIGEgc3Bhbjo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IGNhbGMoMTQgLyAzOTAgKiAxMDB2dyk7XG4gICAgaGVpZ2h0OiBjYWxjKDE0IC8gMzkwICogMTAwdncpO1xuICAgIG1hc2staW1hZ2U6IHVybCgvaW1hZ2VzL2ljb25fYXJyb3dfbmV4dC5zdmcpO1xuICAgIG1hc2stc2l6ZTogY29udGFpbjtcbiAgICBtYXNrLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIG1hc2stcG9zaXRpb246IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci10aGlyZCk7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciB2YXIoLS10cmFuc2l0aW9uLXNwZWVkKSB2YXIoLS1iZXppZXIpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5tZXRob2RMaXN0IGxpIGEgc3Bhbjo6YWZ0ZXIge1xuICAgICAgd2lkdGg6IG1pbigyNHB4LCBjYWxjKDI0IC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICBoZWlnaHQ6IG1pbigyNHB4LCBjYWxjKDI0IC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICB0cmFuc2xhdGU6IDAgbWluKDFweCwgY2FsYygxIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gICN0b3BDaGVjayB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmFja2dyb3VuZCk7XG4gICAgcGFkZGluZy1ibG9jazogY2FsYygzMiAvIDM5MCAqIDEwMHZ3KSBjYWxjKDU2IC8gMzkwICogMTAwdncpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICN0b3BDaGVjayB7XG4gICAgICBwYWRkaW5nLWJsb2NrOiBtaW4oNTZweCwgY2FsYyg1NiAvIDE0NDAgKiAxMDB2dykpIG1pbig5NnB4LCBjYWxjKDk2IC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gICN0b3BDaGVjayAuaW5uZXIge1xuICAgIHBhZGRpbmctbGVmdDogY2FsYyh2YXIoLS1jb250YWluZXItcGFkZGluZy1zcCkgLyAzOTAgKiAxMDB2dyk7XG4gICAgcGFkZGluZy1yaWdodDogY2FsYyh2YXIoLS1jb250YWluZXItcGFkZGluZy1zcCkgLyAzOTAgKiAxMDB2dyk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgI3RvcENoZWNrIC5pbm5lciB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IHVuc2V0O1xuICAgICAgcGFkZGluZy1yaWdodDogdW5zZXQ7XG4gICAgICBtYXJnaW4taW5saW5lOiBhdXRvO1xuICAgICAgd2lkdGg6IG1pbigxMDI2cHgsIGNhbGMoMTAyNiAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAjdG9wQ2hlY2sgLmlubmVyIC5saW5lIGgyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbiAgI3RvcENoZWNrIC5pbm5lciAubGluZSBhIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tdG9wOiBjYWxjKDE2IC8gMzkwICogMTAwdncpO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyB2YXIoLS1iZXppZXIpO1xuICB9XG4gICN0b3BDaGVjayAuaW5uZXIgLmxpbmUgYTpob3ZlciB7XG4gICAgb3BhY2l0eTogMC43O1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICN0b3BDaGVjayAuaW5uZXIgLmxpbmUgYSB7XG4gICAgICBtYXJnaW4tdG9wOiBtaW4oMTZweCwgY2FsYygxNiAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAjdG9wQ2hlY2sgLmlubmVyIC5iYW5uZXIge1xuICAgIG1hcmdpbi10b3A6IGNhbGMoNTYgLyAzOTAgKiAxMDB2dyk7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgxLCAxZnIpO1xuICAgIGdhcDogY2FsYygxNiAvIDM5MCAqIDEwMHZ3KTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAjdG9wQ2hlY2sgLmlubmVyIC5iYW5uZXIge1xuICAgICAgbWFyZ2luLXRvcDogbWluKDU2cHgsIGNhbGMoNTYgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7XG4gICAgICBnYXA6IG1pbigzMnB4LCBjYWxjKDMyIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gICN0b3BDaGVjayAuaW5uZXIgLmJhbm5lciBsaSBhIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgdmFyKC0tYmV6aWVyKTtcbiAgfVxuICAjdG9wQ2hlY2sgLmlubmVyIC5iYW5uZXIgbGkgYTpob3ZlciB7XG4gICAgb3BhY2l0eTogMC43O1xuICB9XG4gICN0b3BTdG9yZUluZm8ge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWdyYXktc3Ryb25nKTtcbiAgICBwYWRkaW5nLWJsb2NrOiBjYWxjKDU2IC8gMzkwICogMTAwdncpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICN0b3BTdG9yZUluZm8ge1xuICAgICAgcGFkZGluZy1ibG9jazogbWluKDU2cHgsIGNhbGMoNTYgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgI3RvcFN0b3JlSW5mbyAuaW5uZXIge1xuICAgIHBhZGRpbmctbGVmdDogY2FsYyh2YXIoLS1jb250YWluZXItcGFkZGluZy1zcCkgLyAzOTAgKiAxMDB2dyk7XG4gICAgcGFkZGluZy1yaWdodDogY2FsYyh2YXIoLS1jb250YWluZXItcGFkZGluZy1zcCkgLyAzOTAgKiAxMDB2dyk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgI3RvcFN0b3JlSW5mbyAuaW5uZXIge1xuICAgICAgcGFkZGluZy1sZWZ0OiB1bnNldDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IHVuc2V0O1xuICAgICAgbWFyZ2luLWlubGluZTogYXV0bztcbiAgICAgIHdpZHRoOiBtaW4oMTAyNnB4LCBjYWxjKDEwMjYgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgI3RvcFN0b3JlSW5mbyAuaW5uZXIge1xuICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgIGdyaWQtdGVtcGxhdGU6IFwidGl0bGUgaW1hZ2VcIiBhdXRvIFwidGV4dCBpbWFnZVwiIGF1dG8vMWZyIG1pbig2MDBweCwgY2FsYyg2MDAgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIGdhcDogbWluKDQ4cHgsIGNhbGMoNDggLyAxNDQwICogMTAwdncpKSBtaW4oNjRweCwgY2FsYyg2NCAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAjdG9wU3RvcmVJbmZvIC5pbm5lciAudGl0bGUge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAjdG9wU3RvcmVJbmZvIC5pbm5lciAudGl0bGUge1xuICAgICAgZ3JpZC1hcmVhOiB0aXRsZTtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICBwYWRkaW5nLXRvcDogbWluKDIwcHgsIGNhbGMoMjAgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgI3RvcFN0b3JlSW5mbyAuaW5uZXIgLnRpdGxlIHAgaW1nIHtcbiAgICB3aWR0aDogY2FsYygxNjQgLyAzOTAgKiAxMDB2dyk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgI3RvcFN0b3JlSW5mbyAuaW5uZXIgLnRpdGxlIHAgaW1nIHtcbiAgICAgIHdpZHRoOiBtaW4oMjYwcHgsIGNhbGMoMjYwIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gICN0b3BTdG9yZUluZm8gLmlubmVyIC50aXRsZSBoMiB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtb24tYWNjZW50KTtcbiAgICBmb250LXNpemU6IGNhbGModmFyKC0tZnMtbSkgLyAzOTAgKiAxMDB2dyk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LW1lZGl1bSk7XG4gICAgbGluZS1oZWlnaHQ6IDE1MCU7XG4gICAgbWFyZ2luLXRvcDogY2FsYyg4IC8gMzkwICogMTAwdncpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICN0b3BTdG9yZUluZm8gLmlubmVyIC50aXRsZSBoMiB7XG4gICAgICBmb250LXNpemU6IG1pbihjYWxjKHZhcigtLWZzLWwpICogMXB4KSwgY2FsYyh2YXIoLS1mcy1sKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgbWFyZ2luLXRvcDogbWluKDI0cHgsIGNhbGMoMjQgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgI3RvcFN0b3JlSW5mbyAuaW5uZXIgLmltYWdlIHtcbiAgICBtYXJnaW4tdG9wOiBjYWxjKDI0IC8gMzkwICogMTAwdncpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICN0b3BTdG9yZUluZm8gLmlubmVyIC5pbWFnZSB7XG4gICAgICBtYXJnaW4tdG9wOiB1bnNldDtcbiAgICAgIGdyaWQtYXJlYTogaW1hZ2U7XG4gICAgfVxuICB9XG4gICN0b3BTdG9yZUluZm8gLmlubmVyIC50ZXh0IHtcbiAgICBtYXJnaW4tdG9wOiBjYWxjKDI0IC8gMzkwICogMTAwdncpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICN0b3BTdG9yZUluZm8gLmlubmVyIC50ZXh0IHtcbiAgICAgIG1hcmdpbi10b3A6IHVuc2V0O1xuICAgICAgZ3JpZC1hcmVhOiB0ZXh0O1xuICAgICAgYWxpZ24tc2VsZjogZW5kO1xuICAgICAgcGFkZGluZy1ib3R0b206IG1pbigyMHB4LCBjYWxjKDIwIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gICN0b3BTdG9yZUluZm8gLmlubmVyIC50ZXh0IHAge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LW9uLWFjY2VudCk7XG4gICAgZm9udC1zaXplOiBjYWxjKHZhcigtLWZzLW0pIC8gMzkwICogMTAwdncpO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1yZWd1bGFyKTtcbiAgICBsaW5lLWhlaWdodDogMTUwJTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAjdG9wU3RvcmVJbmZvIC5pbm5lciAudGV4dCBwIHtcbiAgICAgIGZvbnQtc2l6ZTogbWluKGNhbGModmFyKC0tZnMteGwpICogMXB4KSwgY2FsYyh2YXIoLS1mcy14bCkgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxNzUlO1xuICAgIH1cbiAgfVxuICAjdG9wU3RvcmVJbmZvIC5pbm5lciAudGV4dCAucEJ1dHRvbiB7XG4gICAgbWFyZ2luLXRvcDogY2FsYygyNCAvIDM5MCAqIDEwMHZ3KTtcbiAgICBtYXJnaW4taW5saW5lOiBhdXRvO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICN0b3BTdG9yZUluZm8gLmlubmVyIC50ZXh0IC5wQnV0dG9uIHtcbiAgICAgIG1hcmdpbi10b3A6IG1pbig0OHB4LCBjYWxjKDQ4IC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICBtYXJnaW4taW5saW5lOiB1bnNldDtcbiAgICB9XG4gIH1cbiAgI3RvcENvbHVtbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYm9yZGVyKTtcbiAgICBwYWRkaW5nLWJsb2NrOiBjYWxjKDU2IC8gMzkwICogMTAwdncpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICN0b3BDb2x1bW4ge1xuICAgICAgcGFkZGluZy1ibG9jazogbWluKDU2cHgsIGNhbGMoNTYgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgI3RvcENvbHVtbiAuaW5uZXIgLnRvcFRpdGxlIHtcbiAgICBtYXJnaW4taW5saW5lOiBjYWxjKDI0IC8gMzkwICogMTAwdncpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICN0b3BDb2x1bW4gLmlubmVyIC50b3BUaXRsZSB7XG4gICAgICBtYXJnaW4taW5saW5lOiB1bnNldDtcbiAgICAgIHBhZGRpbmctbGVmdDogY2FsYyh2YXIoLS1jb250YWluZXItcGFkZGluZy1zcCkgLyAzOTAgKiAxMDB2dyk7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiBjYWxjKHZhcigtLWNvbnRhaW5lci1wYWRkaW5nLXNwKSAvIDM5MCAqIDEwMHZ3KTtcbiAgICB9XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAjdG9wQ29sdW1uIC5pbm5lciAudG9wVGl0bGUge1xuICAgICAgcGFkZGluZy1sZWZ0OiB1bnNldDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IHVuc2V0O1xuICAgICAgbWFyZ2luLWlubGluZTogYXV0bztcbiAgICAgIHdpZHRoOiBtaW4oMTAyNnB4LCBjYWxjKDEwMjYgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgI3RvcENvbHVtbiAuaW5uZXIgLnN3aXBlciB7XG4gICAgbWFyZ2luLXRvcDogY2FsYygzMiAvIDM5MCAqIDEwMHZ3KTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAjdG9wQ29sdW1uIC5pbm5lciAuc3dpcGVyIHtcbiAgICAgIG1hcmdpbi10b3A6IG1pbig1NnB4LCBjYWxjKDU2IC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gICN0b3BDb2x1bW4gLmlubmVyIC5zd2lwZXIgLnN3aXBlci1zbGlkZSB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXN1cmZhY2UpO1xuICAgIHBhZGRpbmc6IGNhbGMoMjQgLyAzOTAgKiAxMDB2dyk7XG4gICAgYm9yZGVyLXJhZGl1czogY2FsYyh2YXIoLS1ib3JkZXItcmFkaXVzLXNtYWxsKSAvIDM5MCAqIDEwMHZ3KTtcbiAgICB3aWR0aDogY2FsYygyODAgLyAzOTAgKiAxMDB2dyk7XG4gICAgbWFyZ2luLWlubGluZTogY2FsYyg4IC8gMzkwICogMTAwdncpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICN0b3BDb2x1bW4gLmlubmVyIC5zd2lwZXIgLnN3aXBlci1zbGlkZSB7XG4gICAgICBwYWRkaW5nOiBtaW4oMjRweCwgY2FsYygyNCAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgd2lkdGg6IG1pbigzMzBweCwgY2FsYygzMzAgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIG1hcmdpbi1pbmxpbmU6IG1pbigxMnB4LCBjYWxjKDEyIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICBib3JkZXItcmFkaXVzOiBtaW4oY2FsYyh2YXIoLS1ib3JkZXItcmFkaXVzLW1lZGl1bSkgKiAxcHgpLCBjYWxjKHZhcigtLWJvcmRlci1yYWRpdXMtbWVkaXVtKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAjdG9wQ29sdW1uIC5pbm5lciAuc3dpcGVyIC5zd2lwZXItc2xpZGUgYSB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG4gICN0b3BDb2x1bW4gLmlubmVyIC5zd2lwZXIgLnN3aXBlci1zbGlkZSBhIGZpZ3VyZSBpbWcge1xuICAgIGFzcGVjdC1yYXRpbzogMjMyLzE1NDtcbiAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICBvYmplY3QtcG9zaXRpb246IGNlbnRlcjtcbiAgICBib3JkZXItcmFkaXVzOiBjYWxjKHZhcigtLWJvcmRlci1yYWRpdXMtbWVkaXVtKSAvIDM5MCAqIDEwMHZ3KTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAjdG9wQ29sdW1uIC5pbm5lciAuc3dpcGVyIC5zd2lwZXItc2xpZGUgYSBmaWd1cmUgaW1nIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IG1pbihjYWxjKHZhcigtLWJvcmRlci1yYWRpdXMtbWVkaXVtKSAqIDFweCksIGNhbGModmFyKC0tYm9yZGVyLXJhZGl1cy1tZWRpdW0pIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gICN0b3BDb2x1bW4gLmlubmVyIC5zd2lwZXIgLnN3aXBlci1zbGlkZSBhIGZpZ3VyZSBmaWdjYXB0aW9uIHtcbiAgICBtYXJnaW4tdG9wOiBjYWxjKDggLyAzOTAgKiAxMDB2dyk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQpO1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIGZvbnQtc2l6ZTogY2FsYyh2YXIoLS1mcy1zKSAvIDM5MCAqIDEwMHZ3KTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtcmVndWxhcik7XG4gICAgbGluZS1oZWlnaHQ6IDE1MCU7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgI3RvcENvbHVtbiAuaW5uZXIgLnN3aXBlciAuc3dpcGVyLXNsaWRlIGEgZmlndXJlIGZpZ2NhcHRpb24ge1xuICAgICAgbWFyZ2luLXRvcDogbWluKDhweCwgY2FsYyg4IC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICBmb250LXNpemU6IG1pbihjYWxjKHZhcigtLWZzLXMpICogMXB4KSwgY2FsYyh2YXIoLS1mcy1zKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAjdG9wQ29sdW1uIC5pbm5lciAuc3dpcGVyIC5zd2lwZXItc2xpZGUgYSBoMyB7XG4gICAgbWFyZ2luLXRvcDogY2FsYyg4IC8gMzkwICogMTAwdncpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICN0b3BDb2x1bW4gLmlubmVyIC5zd2lwZXIgLnN3aXBlci1zbGlkZSBhIGgzIHtcbiAgICAgIG1hcmdpbi10b3A6IG1pbig4cHgsIGNhbGMoOCAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgZm9udC1zaXplOiBtaW4oY2FsYyh2YXIoLS1mcy1sKSAqIDFweCksIGNhbGModmFyKC0tZnMtbCkgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxNDQlO1xuICAgIH1cbiAgfVxuICAjdG9wQ29sdW1uIC5pbm5lciAuc3dpcGVyIC5zd2lwZXItYnV0dG9uLW5leHQsICN0b3BDb2x1bW4gLmlubmVyIC5zd2lwZXIgLnN3aXBlci1idXR0b24tcHJldiB7XG4gICAgd2lkdGg6IGNhbGMoMzQgLyAzOTAgKiAxMDB2dyk7XG4gICAgaGVpZ2h0OiBjYWxjKDM0IC8gMzkwICogMTAwdncpO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmFja2dyb3VuZC1zdHJvbmcpO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciB2YXIoLS10cmFuc2l0aW9uLXNwZWVkKSB2YXIoLS1iZXppZXIpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICN0b3BDb2x1bW4gLmlubmVyIC5zd2lwZXIgLnN3aXBlci1idXR0b24tbmV4dCwgI3RvcENvbHVtbiAuaW5uZXIgLnN3aXBlciAuc3dpcGVyLWJ1dHRvbi1wcmV2IHtcbiAgICAgIHdpZHRoOiBtaW4oNDVweCwgY2FsYyg0NSAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgaGVpZ2h0OiBtaW4oNDVweCwgY2FsYyg0NSAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICBAbWVkaWEgKGFueS1ob3ZlcjogaG92ZXIpIHtcbiAgICAjdG9wQ29sdW1uIC5pbm5lciAuc3dpcGVyIC5zd2lwZXItYnV0dG9uLW5leHQ6aG92ZXIsICN0b3BDb2x1bW4gLmlubmVyIC5zd2lwZXIgLnN3aXBlci1idXR0b24tcHJldjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1icmFuZCk7XG4gICAgfVxuICB9XG4gICN0b3BDb2x1bW4gLmlubmVyIC5zd2lwZXIgLnN3aXBlci1idXR0b24tbmV4dDo6YWZ0ZXIsICN0b3BDb2x1bW4gLmlubmVyIC5zd2lwZXIgLnN3aXBlci1idXR0b24tcHJldjo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IG5vbmU7XG4gIH1cbiAgI3RvcENvbHVtbiAuaW5uZXIgLnN3aXBlciAuc3dpcGVyLWJ1dHRvbi1uZXh0OjpiZWZvcmUsICN0b3BDb2x1bW4gLmlubmVyIC5zd2lwZXIgLnN3aXBlci1idXR0b24tcHJldjo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIG1hc2staW1hZ2U6IHVybCgvaW1hZ2VzL2ljb25fYXJyb3dfbmV4dC5zdmcpO1xuICAgIG1hc2stc2l6ZTogY29udGFpbjtcbiAgICBtYXNrLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIG1hc2stcG9zaXRpb246IGNlbnRlcjtcbiAgICB3aWR0aDogY2FsYygyMCAvIDM5MCAqIDEwMHZ3KTtcbiAgICBoZWlnaHQ6IGNhbGMoMjAgLyAzOTAgKiAxMDB2dyk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItdGV4dC1vbi1hY2NlbnQpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICN0b3BDb2x1bW4gLmlubmVyIC5zd2lwZXIgLnN3aXBlci1idXR0b24tbmV4dDo6YmVmb3JlLCAjdG9wQ29sdW1uIC5pbm5lciAuc3dpcGVyIC5zd2lwZXItYnV0dG9uLXByZXY6OmJlZm9yZSB7XG4gICAgICB3aWR0aDogbWluKDI2cHgsIGNhbGMoMjYgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIGhlaWdodDogbWluKDI2cHgsIGNhbGMoMjYgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgI3RvcENvbHVtbiAuaW5uZXIgLnN3aXBlciAuc3dpcGVyLWJ1dHRvbi1uZXh0Om5vdCguc3dpcGVyLWJ1dHRvbi1kaXNhYmxlZCksICN0b3BDb2x1bW4gLmlubmVyIC5zd2lwZXIgLnN3aXBlci1idXR0b24tcHJldjpub3QoLnN3aXBlci1idXR0b24tZGlzYWJsZWQpIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICB9XG4gICN0b3BDb2x1bW4gLmlubmVyIC5zd2lwZXIgLnN3aXBlci1idXR0b24tbmV4dC5zd2lwZXItYnV0dG9uLWRpc2FibGVkLCAjdG9wQ29sdW1uIC5pbm5lciAuc3dpcGVyIC5zd2lwZXItYnV0dG9uLXByZXYuc3dpcGVyLWJ1dHRvbi1kaXNhYmxlZCB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuICAjdG9wQ29sdW1uIC5pbm5lciAuc3dpcGVyIC5zd2lwZXItYnV0dG9uLXByZXYge1xuICAgIGxlZnQ6IGNhbGMoMjQgLyAzOTAgKiAxMDB2dyk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgI3RvcENvbHVtbiAuaW5uZXIgLnN3aXBlciAuc3dpcGVyLWJ1dHRvbi1wcmV2IHtcbiAgICAgIGxlZnQ6IGF1dG87XG4gICAgICByaWdodDogNTAlO1xuICAgICAgdHJhbnNsYXRlOiBtYXgoLTY0MHB4LCBjYWxjKC02NDAgLyAxNDQwICogMTAwdncpKSAwO1xuICAgIH1cbiAgfVxuICAjdG9wQ29sdW1uIC5pbm5lciAuc3dpcGVyIC5zd2lwZXItYnV0dG9uLXByZXY6OmJlZm9yZSB7XG4gICAgbWFzay1pbWFnZTogdXJsKC9pbWFnZXMvaWNvbl9hcnJvd19wcmV2LnN2Zyk7XG4gIH1cbiAgI3RvcENvbHVtbiAuaW5uZXIgLnN3aXBlciAuc3dpcGVyLWJ1dHRvbi1uZXh0IHtcbiAgICByaWdodDogY2FsYygyNCAvIDM5MCAqIDEwMHZ3KTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAjdG9wQ29sdW1uIC5pbm5lciAuc3dpcGVyIC5zd2lwZXItYnV0dG9uLW5leHQge1xuICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICB0cmFuc2xhdGU6IG1heCg1OTZweCwgY2FsYyg1OTYgLyAxNDQwICogMTAwdncpKSAwO1xuICAgIH1cbiAgfVxuICAjdG9wQ29sdW1uIC5pbm5lciAuYnV0dG9uIHtcbiAgICBtYXJnaW4tdG9wOiBjYWxjKDI0IC8gMzkwICogMTAwdncpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICN0b3BDb2x1bW4gLmlubmVyIC5idXR0b24ge1xuICAgICAgbWFyZ2luLXRvcDogbWluKDU2cHgsIGNhbGMoNTYgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgI3RvcENvbHVtbiAuaW5uZXIgLmJ1dHRvbiAucEJ1dHRvbiB7XG4gICAgbWFyZ2luLWlubGluZTogYXV0bztcbiAgfVxuICAudG9wVGl0bGUge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwYWRkaW5nLWJvdHRvbTogY2FsYygxOCAvIDM5MCAqIDEwMHZ3KTtcbiAgICBib3JkZXItYm90dG9tOiBjYWxjKDYgLyAzOTAgKiAxMDB2dykgc29saWQgdmFyKC0tY29sb3ItYmxhY2spO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC50b3BUaXRsZSB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogbWluKDI0cHgsIGNhbGMoMjQgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIGJvcmRlci1ib3R0b206IG1pbig4cHgsIGNhbGMoOCAvIDE0NDAgKiAxMDB2dykpIHNvbGlkIHZhcigtLWNvbG9yLWJsYWNrKTtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgZ2FwOiBtaW4oMjBweCwgY2FsYygyMCAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAudG9wVGl0bGUgcCBpbWcge1xuICAgIGhlaWdodDogY2FsYygzNSAvIDM5MCAqIDEwMHZ3KTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAudG9wVGl0bGUgcCBpbWcge1xuICAgICAgaGVpZ2h0OiBtaW4oNTZweCwgY2FsYyg1NiAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAudG9wVGl0bGUgaDIge1xuICAgIGZvbnQtc2l6ZTogY2FsYyh2YXIoLS1mcy1tKSAvIDM5MCAqIDEwMHZ3KTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtbWVkaXVtKTtcbiAgICBsaW5lLWhlaWdodDogMTUwJTtcbiAgICBtYXJnaW4tdG9wOiBjYWxjKDggLyAzOTAgKiAxMDB2dyk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnRvcFRpdGxlIGgyIHtcbiAgICAgIGZvbnQtc2l6ZTogbWluKGNhbGModmFyKC0tZnMteGwpICogMXB4KSwgY2FsYyh2YXIoLS1mcy14bCkgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIG1hcmdpbi10b3A6IHVuc2V0O1xuICAgIH1cbiAgfVxuICAjdG9wTmV3cyB7XG4gICAgcGFkZGluZy10b3A6IGNhbGMoNTYgLyAzOTAgKiAxMDB2dyk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgI3RvcE5ld3Mge1xuICAgICAgcGFkZGluZy10b3A6IG1pbig5NnB4LCBjYWxjKDk2IC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gICN0b3BOZXdzIC50b3BUaXRsZSB7XG4gICAgbWFyZ2luLWlubGluZTogY2FsYygyNCAvIDM5MCAqIDEwMHZ3KTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAjdG9wTmV3cyAudG9wVGl0bGUge1xuICAgICAgbWFyZ2luLWlubGluZTogdW5zZXQ7XG4gICAgICBwYWRkaW5nLWxlZnQ6IGNhbGModmFyKC0tY29udGFpbmVyLXBhZGRpbmctc3ApIC8gMzkwICogMTAwdncpO1xuICAgICAgcGFkZGluZy1yaWdodDogY2FsYyh2YXIoLS1jb250YWluZXItcGFkZGluZy1zcCkgLyAzOTAgKiAxMDB2dyk7XG4gICAgfVxuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgI3RvcE5ld3MgLnRvcFRpdGxlIHtcbiAgICAgIHBhZGRpbmctbGVmdDogdW5zZXQ7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiB1bnNldDtcbiAgICAgIG1hcmdpbi1pbmxpbmU6IGF1dG87XG4gICAgICB3aWR0aDogbWluKDEwMjZweCwgY2FsYygxMDI2IC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gICN0b3BOZXdzIC5uZXdzTGlzdCB7XG4gICAgbWFyZ2luLXRvcDogY2FsYygyNCAvIDM5MCAqIDEwMHZ3KTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAjdG9wTmV3cyAubmV3c0xpc3Qge1xuICAgICAgbWFyZ2luLXRvcDogbWluKDU2cHgsIGNhbGMoNTYgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgI3RvcE5ld3MgLmJ1dHRvbiB7XG4gICAgbWFyZ2luLXRvcDogY2FsYygyNCAvIDM5MCAqIDEwMHZ3KTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAjdG9wTmV3cyAuYnV0dG9uIHtcbiAgICAgIG1hcmdpbi10b3A6IG1pbig1NnB4LCBjYWxjKDU2IC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gICN0b3BOZXdzIC5idXR0b24gLnBCdXR0b24ge1xuICAgIG1hcmdpbi1pbmxpbmU6IGF1dG87XG4gIH1cbiAgI3RvcFJlbGF0ZSB7XG4gICAgbWFyZ2luLXRvcDogY2FsYyg1NiAvIDM5MCAqIDEwMHZ3KTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAjdG9wUmVsYXRlIHtcbiAgICAgIG1hcmdpbi10b3A6IG1pbig1NnB4LCBjYWxjKDU2IC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gICN0b3BSZWxhdGUgLmlubmVyIHtcbiAgICBwYWRkaW5nLWxlZnQ6IGNhbGModmFyKC0tY29udGFpbmVyLXBhZGRpbmctc3ApIC8gMzkwICogMTAwdncpO1xuICAgIHBhZGRpbmctcmlnaHQ6IGNhbGModmFyKC0tY29udGFpbmVyLXBhZGRpbmctc3ApIC8gMzkwICogMTAwdncpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICN0b3BSZWxhdGUgLmlubmVyIHtcbiAgICAgIHBhZGRpbmctbGVmdDogdW5zZXQ7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiB1bnNldDtcbiAgICAgIG1hcmdpbi1pbmxpbmU6IGF1dG87XG4gICAgICB3aWR0aDogbWluKDEwMjZweCwgY2FsYygxMDI2IC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gICN0b3BSZWxhdGUgLmlubmVyIGgyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbiAgI3RvcFJlbGF0ZSAuaW5uZXIgLmJhbm5lciB7XG4gICAgbWFyZ2luLXRvcDogY2FsYygyNCAvIDM5MCAqIDEwMHZ3KTtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDEsIDFmcik7XG4gICAgZ2FwOiBjYWxjKDE2IC8gMzkwICogMTAwdncpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICN0b3BSZWxhdGUgLmlubmVyIC5iYW5uZXIge1xuICAgICAgbWFyZ2luLXRvcDogbWluKDI0cHgsIGNhbGMoMjQgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7XG4gICAgICBnYXA6IG1pbigzMnB4LCBjYWxjKDMyIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gICN0b3BSZWxhdGUgLmlubmVyIC5iYW5uZXIgYSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIHZhcigtLWJlemllcik7XG4gIH1cbiAgI3RvcFJlbGF0ZSAuaW5uZXIgLmJhbm5lciBhOmhvdmVyIHtcbiAgICBvcGFjaXR5OiAwLjc7XG4gIH1cbiAgQG1lZGlhIChhbnktaG92ZXI6IGhvdmVyKSB7XG4gICAgLnBOZXdzU2V0OmhvdmVyIC50aXRsZSB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgfVxuICB9XG4gIC5wTG9jYWxuYXZCb3R0b20ge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICB9XG4gIC5wTG9jYWxuYXZCb3R0b20uaXMtYWN0aXZlIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItYnJhbmQpO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxuICBAbWVkaWEgKGFueS1ob3ZlcjogaG92ZXIpIHtcbiAgICAucExvY2FsbmF2Qm90dG9tOmhvdmVyIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB9XG4gIH1cbiAgLnBBdHRhY2htZW50IGEge1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyB2YXIoLS1iZXppZXIpO1xuICB9XG4gIC5wQXR0YWNobWVudCBhOmhvdmVyIHtcbiAgICBvcGFjaXR5OiAwLjc7XG4gIH1cbiAgLnBUZXh0IGEge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICB9XG4gIEBtZWRpYSAoYW55LWhvdmVyOiBob3Zlcikge1xuICAgIC5wVGV4dCBhOmhvdmVyIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB9XG4gIH1cbiAgLnBGYXEge1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1zcGVlZCkgdmFyKC0tYmV6aWVyKTtcbiAgfVxuICBAbWVkaWEgKGFueS1ob3ZlcjogaG92ZXIpIHtcbiAgICAucEZhcTpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iYWNrZ3JvdW5kKTtcbiAgICB9XG4gIH1cbiAgQG1lZGlhIChhbnktaG92ZXI6IGhvdmVyKSB7XG4gICAgLnBBcnRpY2xlTmF2OmhvdmVyIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIH1cbiAgfVxufVxuQGxheWVyIG5ld3Mge1xuICBAZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogXCJpY29tb29uXCI7XG4gICAgc3JjOiB1cmwoXCIvZm9udHMvaWNvbW9vbi5lb3Q/dXBhaTNuXCIpO1xuICAgIHNyYzogdXJsKFwiL2ZvbnRzL2ljb21vb24uZW90P3VwYWkzbiNpZWZpeFwiKSBmb3JtYXQoXCJlbWJlZGRlZC1vcGVudHlwZVwiKSwgdXJsKFwiL2ZvbnRzL2ljb21vb24udHRmP3VwYWkzblwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKSwgdXJsKFwiL2ZvbnRzL2ljb21vb24ud29mZj91cGFpM25cIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiL2ZvbnRzL2ljb21vb24uc3ZnP3VwYWkzbiNpY29tb29uXCIpIGZvcm1hdChcInN2Z1wiKTtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICBmb250LWRpc3BsYXk6IGJsb2NrO1xuICB9XG4gIFtjbGFzc149aWNvbi1dLFxuW2NsYXNzKj1cIiBpY29uLVwiXSB7XG4gICAgLyogdXNlICFpbXBvcnRhbnQgdG8gcHJldmVudCBpc3N1ZXMgd2l0aCBicm93c2VyIGV4dGVuc2lvbnMgdGhhdCBjaGFuZ2UgZm9udHMgKi9cbiAgICBmb250LWZhbWlseTogXCJpY29tb29uXCIgIWltcG9ydGFudDtcbiAgICBzcGVhazogbmV2ZXI7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgZm9udC12YXJpYW50OiBub3JtYWw7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgLyogQmV0dGVyIEZvbnQgUmVuZGVyaW5nID09PT09PT09PT09ICovXG4gICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgfVxuICAuaWNvbi1jb2RlLWJyYW5jaDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTAwXCI7XG4gIH1cbiAgLmljb24tc3Vid2F5OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MDFcIjtcbiAgfVxuICAuaWNvbi1leHBhbmQtYXJyb3dzOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MDJcIjtcbiAgfVxuICAuaWNvbi1jb3VjaDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTAzXCI7XG4gIH1cbiAgLmljb24tcGVyc29uLWNhcnJ5OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MDRcIjtcbiAgfVxuICAuaWNvbi1wZW9wbGUtY2Fycnk6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkwNVwiO1xuICB9XG4gIC5pY29uLXRydWNrLW1vdmluZzpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTA2XCI7XG4gIH1cbiAgLmljb24tdGFnOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MDdcIjtcbiAgfVxuICAuaWNvbi1zdG9yZTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTA4XCI7XG4gIH1cbiAgLmljb24tYm94LWZ1bGw6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkwOVwiO1xuICB9XG4gIC5pY29uLWNhcjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTBhXCI7XG4gIH1cbiAgLmljb24tc3BhcmtsZXM6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkwYlwiO1xuICB9XG4gIC5pY29uLWJveC1vcGVuOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MGNcIjtcbiAgfVxuICAuaWNvbi1iYXJzOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MGRcIjtcbiAgfVxuICAuaWNvbi1hcnJvdy1sZWZ0LWw6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkwZVwiO1xuICB9XG4gIC5pY29uLXNlYXJjaDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTBmXCI7XG4gIH1cbiAgLmljb24tbW9iaWxlOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MTBcIjtcbiAgfVxuICAuaWNvbi1kZXNrdG9wOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MTFcIjtcbiAgfVxuICAuaWNvbi1oYW5kLWhvbGRpbmctYm94OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MTJcIjtcbiAgfVxuICAuaWNvbi10cnVjazpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTEzXCI7XG4gIH1cbiAgLmljb24tZXh0ZXJuYWwtbGluay1hbHQ6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkxNFwiO1xuICB9XG4gIC5pY29uLWFycm93LWRvd24tczpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTE1XCI7XG4gIH1cbiAgLmljb24tYXJyb3ctcmlnaHQtbDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTE2XCI7XG4gIH1cbiAgLmljb24tYXJyb3ctcmlnaHQtcjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTE3XCI7XG4gIH1cbiAgLmljb24tc29ydDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTE4XCI7XG4gIH1cbiAgLmljb24tYXJyb3ctcmlnaHQtczpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTE5XCI7XG4gIH1cbiAgLmljb24tZW52ZWxvcGU6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkxYVwiO1xuICB9XG4gIC5pY29uLXRvb2xzOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MWJcIjtcbiAgfVxuICAjbmV3cy1kdGwgLm5ld3Mtd3JhcHBlciB7XG4gICAgbWFyZ2luLXRvcDogY2FsYygyNCAvIDM5MCAqIDEwMHZ3KTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAjbmV3cy1kdGwgLm5ld3Mtd3JhcHBlciB7XG4gICAgICBtYXJnaW4tdG9wOiBtaW4oNTZweCwgY2FsYyg1NiAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgcGFkZGluZy1sZWZ0OiBjYWxjKHZhcigtLWNvbnRhaW5lci1wYWRkaW5nLXNwKSAvIDM5MCAqIDEwMHZ3KTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IGNhbGModmFyKC0tY29udGFpbmVyLXBhZGRpbmctc3ApIC8gMzkwICogMTAwdncpO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGdhcDogbWluKDQwcHgsIGNhbGMoNDAgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAjbmV3cy1kdGwgLm5ld3Mtd3JhcHBlciB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IHVuc2V0O1xuICAgICAgcGFkZGluZy1yaWdodDogdW5zZXQ7XG4gICAgICBtYXJnaW4taW5saW5lOiBhdXRvO1xuICAgICAgd2lkdGg6IG1pbigxMjQwcHgsIGNhbGMoMTI0MCAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAjbmV3cy1kdGwgLm5ld3Mtd3JhcHBlciAjbWFpbi1jb250ZW50cyB7XG4gICAgICB3aWR0aDogbWluKDk0NnB4LCBjYWxjKDk0NiAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAjbmV3cy1kdGwgLnBvc3RfX2FydGljbGUge1xuICAgIHBhZGRpbmc6IGNhbGMoMTQgLyAzOTAgKiAxMDB2dykgY2FsYygyMCAvIDM5MCAqIDEwMHZ3KTtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAjbmV3cy1kdGwgLnBvc3RfX2FydGljbGUge1xuICAgICAgcGFkZGluZzogbWluKDI0cHgsIGNhbGMoMjQgLyAxNDQwICogMTAwdncpKSBtaW4oMzJweCwgY2FsYygzMiAvIDE0NDAgKiAxMDB2dykpIG1pbig2NHB4LCBjYWxjKDY0IC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gICNuZXdzLWR0bCAucG9zdF9fYXJ0aWNsZSAucG9zdF9fbWV0YSB7XG4gICAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBwYWRkaW5nLWJvdHRvbTogMC42cmVtO1xuICB9XG4gICNuZXdzLWR0bCAucG9zdF9fYXJ0aWNsZSAucG9zdF9fbWV0YSAuYy1pdGVtX19kYXRlIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgfVxuICAjbmV3cy1kdGwgLnBvc3RfX2FydGljbGUgLnBvc3RfX2NhdCB7XG4gICAgbWFyZ2luLXJpZ2h0OiBjYWxjKDggLyAzOTAgKiAxMDB2dyk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgI25ld3MtZHRsIC5wb3N0X19hcnRpY2xlIC5wb3N0X19jYXQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiBtaW4oOHB4LCBjYWxjKDggLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgI25ld3MtZHRsIC5wb3N0X19hcnRpY2xlIC5wb3N0X19jYXQgLmMtY2F0ZWdvcnk6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICNuZXdzLWR0bCAucG9zdF9fYXJ0aWNsZSAucG9zdF9fY2F0IC5jLWNhdGVnb3J5Om5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgbWFyZ2luLXJpZ2h0OiBtaW4oMTBweCwgY2FsYygxMCAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAjbmV3cy1kdGwgLnBvc3RfX2FydGljbGUgLnBvc3RfX3RpdGxlIHtcbiAgICBmb250LXNpemU6IGNhbGMoMjIgLyAzOTAgKiAxMDB2dyk7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgcGFkZGluZy1ib3R0b206IDFyZW07XG4gICAgbGluZS1oZWlnaHQ6IDE0MCU7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgI25ld3MtZHRsIC5wb3N0X19hcnRpY2xlIC5wb3N0X190aXRsZSB7XG4gICAgICBmb250LXNpemU6IG1pbigzMnB4LCBjYWxjKDMyIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogbWluKDEwcHgsIGNhbGMoMTAgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgI25ld3MtZHRsICNlei10b2MtY29udGFpbmVyIHtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBwYWRkaW5nOiBjYWxjKDEyIC8gMzkwICogMTAwdncpO1xuICAgIG1hcmdpbi1ib3R0b206IGNhbGMoMjQgLyAzOTAgKiAxMDB2dyk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgI25ld3MtZHRsICNlei10b2MtY29udGFpbmVyIHtcbiAgICAgIHBhZGRpbmc6IG1pbigyNHB4LCBjYWxjKDI0IC8gMTQ0MCAqIDEwMHZ3KSkgbWluKDMycHgsIGNhbGMoMzIgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIG1hcmdpbi1ib3R0b206IG1pbigyNHB4LCBjYWxjKDI0IC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gICNuZXdzLWR0bCBkaXYjZXotdG9jLWNvbnRhaW5lciBwLmV6LXRvYy10aXRsZSB7XG4gICAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIG1hcmdpbi1ib3R0b206IDJyZW07XG4gIH1cbiAgI25ld3MtZHRsIGRpdiNlei10b2MtY29udGFpbmVyIHAuZXotdG9jLXRpdGxlOmJlZm9yZSB7XG4gICAgZm9udC1mYW1pbHk6IFwiaWNvbW9vblwiICFpbXBvcnRhbnQ7XG4gICAgc3BlYWs6IG5vbmU7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgZm9udC12YXJpYW50OiBub3JtYWw7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgICBjb250ZW50OiBcIlxcZTkyM1wiO1xuICAgIGZvbnQtc2l6ZTogY2FsYygxNiAvIDM5MCAqIDEwMHZ3KTtcbiAgICBjb2xvcjogI2Q5MTYxNjtcbiAgICBtYXJnaW4tcmlnaHQ6IDFyZW07XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgI25ld3MtZHRsIGRpdiNlei10b2MtY29udGFpbmVyIHAuZXotdG9jLXRpdGxlOmJlZm9yZSB7XG4gICAgICBmb250LXNpemU6IG1pbigyNnB4LCBjYWxjKDI2IC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICBtYXJnaW4tcmlnaHQ6IG1pbigxMHB4LCBjYWxjKDEwIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gICNuZXdzLWR0bCBkaXYjZXotdG9jLWNvbnRhaW5lciB1bC5lei10b2MtbGlzdCBsaTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IG5vbmU7XG4gIH1cbiAgI25ld3MtZHRsIGRpdiNlei10b2MtY29udGFpbmVyIHVsLmV6LXRvYy1saXN0IGEge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi1ib3R0b206IDAuNnJlbTtcbiAgfVxuICAjbmV3cy1kdGwgI2V6LXRvYy1jb250YWluZXIuY291bnRlci1kZWNpbWFsIHVsLmV6LXRvYy1saXN0IGxpIGE6OmJlZm9yZSxcbiNuZXdzLWR0bCAuZXotdG9jLXdpZGdldC1jb250YWluZXIuY291bnRlci1kZWNpbWFsIHVsLmV6LXRvYy1saXN0IGxpIGE6OmJlZm9yZSB7XG4gICAgY29sb3I6ICNkOTE2MTY7XG4gIH1cbiAgI25ld3MtZHRsIC5zaGFyZS1zb2NpYWwge1xuICAgIGJhY2tncm91bmQ6ICNmYWZhZmE7XG4gICAgbWFyZ2luLXRvcDogY2FsYygzMiAvIDM5MCAqIDEwMHZ3KTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAjbmV3cy1kdGwgLnNoYXJlLXNvY2lhbCB7XG4gICAgICBtYXJnaW4tdG9wOiBtaW4oNDJweCwgY2FsYyg0MiAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAjbmV3cy1kdGwgLnNoYXJlLXNvY2lhbCAuc2hhcmVfX2JveCB7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAjbmV3cy1kdGwgLnNoYXJlLXNvY2lhbCAuc2hhcmVfX2JveCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZ2FwOiBtaW4oMzJweCwgY2FsYygzMiAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAjbmV3cy1kdGwgLnNoYXJlLXNvY2lhbCAuc2hhcmVfX2xpc3Qge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgZ2FwOiBjYWxjKDE2IC8gMzkwICogMTAwdncpO1xuICAgIG1hcmdpbjogY2FsYygxNiAvIDM5MCAqIDEwMHZ3KSAwIDA7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgI25ld3MtZHRsIC5zaGFyZS1zb2NpYWwgLnNoYXJlX19saXN0IHtcbiAgICAgIGdhcDogbWluKDE2cHgsIGNhbGMoMTYgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIG1hcmdpbjogdW5zZXQ7XG4gICAgfVxuICB9XG4gICNuZXdzLWR0bCAuc2hhcmUtc29jaWFsIC5zaGFyZV9fdHRsIHtcbiAgICBmb250LXNpemU6IGNhbGMoMTYgLyAzOTAgKiAxMDB2dyk7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgI25ld3MtZHRsIC5zaGFyZS1zb2NpYWwgLnNoYXJlX190dGwge1xuICAgICAgZm9udC1zaXplOiBtaW4oMTZweCwgY2FsYygxNiAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAjbmV3cy1kdGwgLndyaXR0ZW5ieSB7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luLXRvcDogNnJlbTtcbiAgfVxuICAjbmV3cy1kdGwgLndyaXR0ZW5ieV9fdHRsIHtcbiAgICBmb250LXNpemU6IDIuMnJlbTtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBjb2xvcjogI2Q5MTYxNjtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgdG9wOiAtM3JlbTtcbiAgfVxuICAjbmV3cy1kdGwgLndyaXR0ZW5ieV9fdHRsIHNwYW4ge1xuICAgIG1pbi13aWR0aDogMjYwcHg7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcGFkZGluZzogMS4ycmVtIDNyZW07XG4gICAgYm9yZGVyLXJhZGl1czogNjBweDtcbiAgfVxuICAjbmV3cy1kdGwgLndyaXR0ZW5ieV9fdHRsIC5pY29uIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTtcbiAgICBmb250LXNpemU6IDIuNHJlbTtcbiAgfVxuICAjbmV3cy1kdGwgLndyaXR0ZW5ieV9fYm94IHtcbiAgICBwYWRkaW5nOiA0cmVtO1xuICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gIH1cbiAgI25ld3MtZHRsIC53cml0dGVuYnlfX2ltZyB7XG4gICAgd2lkdGg6IDIxNXB4O1xuICB9XG4gICNuZXdzLWR0bCAud3JpdHRlbmJ5X19pbWcgaW1nIHtcbiAgICB3aWR0aDogMjE1cHg7XG4gICAgaGVpZ2h0OiAyMTVweDtcbiAgfVxuICAjbmV3cy1kdGwgLndyaXR0ZW5ieV9fZGV0YWlsIHtcbiAgICBmbGV4OiAxO1xuICAgIHBhZGRpbmctbGVmdDogMnJlbTtcbiAgfVxuICAjbmV3cy1kdGwgLndyaXRlcl9fbmFtZSB7XG4gICAgZm9udC1zaXplOiAyLjRyZW07XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgcGFkZGluZy10b3A6IDAuN3JlbTtcbiAgfVxuICAjbmV3cy1kdGwgLndyaXRlcl9faW5mbyB7XG4gICAgcGFkZGluZy1ib3R0b206IDEuN3JlbTtcbiAgfVxuICAjbmV3cy1kdGwgLndyaXRlcl9fc29jaWFsIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICB9XG4gICNuZXdzLWR0bCAud3JpdGVyX19zb2NpYWwgbGkge1xuICAgIHBhZGRpbmctbGVmdDogMXJlbTtcbiAgfVxuICAjbmV3cy1kdGwgLnBvc3RuYXYge1xuICAgIG1hcmdpbjogY2FsYygzMiAvIDM5MCAqIDEwMHZ3KSAwIGNhbGMoODAgLyAzOTAgKiAxMDB2dyk7XG4gICAgcGFkZGluZy1pbmxpbmU6IGNhbGMoMjAgLyAzOTAgKiAxMDB2dyk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgI25ld3MtZHRsIC5wb3N0bmF2IHtcbiAgICAgIG1hcmdpbjogbWluKDMycHgsIGNhbGMoMzIgLyAxNDQwICogMTAwdncpKSAwIDA7XG4gICAgICBwYWRkaW5nLWlubGluZTogdW5zZXQ7XG4gICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgZ3JpZC10ZW1wbGF0ZTogXCJwcmV2IGJhY2sgbmV4dFwiIGF1dG8vMWZyIGF1dG8gMWZyO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGdhcDogbWluKDMycHgsIGNhbGMoMzIgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgI25ld3MtZHRsIC5wb3N0bmF2IC5wb3N0LWxhYmVsIHtcbiAgICBsaW5lLWhlaWdodDogMS43NTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAjbmV3cy1kdGwgLnBvc3RuYXYgLnBvc3QtbGFiZWwge1xuICAgICAgZ3JpZC1hcmVhOiBwcmV2O1xuICAgICAgZm9udC1zaXplOiBtaW4oMTZweCwgY2FsYygxNiAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAjbmV3cy1kdGwgLnBvc3RuYXYgLnBvc3QtbGFiZWwgYSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG4gICNuZXdzLWR0bCAucG9zdG5hdiAucG9zdC1sYWJlbCBhOmJlZm9yZSB7XG4gICAgZm9udC1mYW1pbHk6IFwiaWNvbW9vblwiICFpbXBvcnRhbnQ7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgZm9udC12YXJpYW50OiBub3JtYWw7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgICBjb250ZW50OiBcIlxcZTkxN1wiO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBjb2xvcjogI2Q5MTYxNjtcbiAgICB0b3A6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgZm9udC1zaXplOiBjYWxjKDE2IC8gMzkwICogMTAwdncpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICNuZXdzLWR0bCAucG9zdG5hdiAucG9zdC1sYWJlbCBhOmJlZm9yZSB7XG4gICAgICBmb250LXNpemU6IG1pbigxOHB4LCBjYWxjKDE4IC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gICNuZXdzLWR0bCAucG9zdG5hdiAucHJldi1sYWJlbCBhIHtcbiAgICBwYWRkaW5nLWxlZnQ6IGNhbGMoMjQgLyAzOTAgKiAxMDB2dyk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgI25ld3MtZHRsIC5wb3N0bmF2IC5wcmV2LWxhYmVsIGEge1xuICAgICAgcGFkZGluZy1sZWZ0OiBtaW4oMjRweCwgY2FsYygyNCAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAjbmV3cy1kdGwgLnBvc3RuYXYgLnByZXYtbGFiZWwgYTpiZWZvcmUge1xuICAgIGxlZnQ6IDA7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgI25ld3MtZHRsIC5wb3N0bmF2IC5uZXh0LWxhYmVsIHtcbiAgICAgIGdyaWQtYXJlYTogbmV4dDtcbiAgICAgIGZvbnQtc2l6ZTogbWluKDE2cHgsIGNhbGMoMTYgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgI25ld3MtZHRsIC5wb3N0bmF2IC5uZXh0LWxhYmVsIGEge1xuICAgIHBhZGRpbmctcmlnaHQ6IGNhbGMoMjQgLyAzOTAgKiAxMDB2dyk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgI25ld3MtZHRsIC5wb3N0bmF2IC5uZXh0LWxhYmVsIGEge1xuICAgICAgcGFkZGluZy1yaWdodDogbWluKDI0cHgsIGNhbGMoMjQgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgI25ld3MtZHRsIC5wb3N0bmF2IC5uZXh0LWxhYmVsIGE6YmVmb3JlIHtcbiAgICByaWdodDogMDtcbiAgfVxuICAjbmV3cy1kdGwgLnBvc3RuYXYgLmJ0bi1iYWNrIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbWFyZ2luLWJsb2NrOiBjYWxjKDE2IC8gMzkwICogMTAwdncpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICNuZXdzLWR0bCAucG9zdG5hdiAuYnRuLWJhY2sge1xuICAgICAgZ3JpZC1hcmVhOiBiYWNrO1xuICAgICAgbWFyZ2luLWJsb2NrOiBtaW4oMTZweCwgY2FsYygxNiAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAjbmV3cy1kdGwgLnBvc3RuYXYgLmJ0bi1iYWNrIGEge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNkOTE2MTY7XG4gICAgZm9udC1zaXplOiBjYWxjKDE2IC8gMzkwICogMTAwdncpO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwYWRkaW5nOiBjYWxjKDE4IC8gMzkwICogMTAwdncpIGNhbGMoNjQgLyAzOTAgKiAxMDB2dyk7XG4gICAgYm9yZGVyLXJhZGl1czogY2FsYygzIC8gMzkwICogMTAwdncpO1xuICAgIGNvbG9yOiAjZDkxNjE2O1xuICAgIHdpZHRoOiBmaXQtY29udGVudDtcbiAgICBtYXJnaW4taW5saW5lOiBhdXRvO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICNuZXdzLWR0bCAucG9zdG5hdiAuYnRuLWJhY2sgYSB7XG4gICAgICBmb250LXNpemU6IG1pbigxNnB4LCBjYWxjKDE2IC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICBwYWRkaW5nOiBtaW4oMThweCwgY2FsYygxOCAvIDE0NDAgKiAxMDB2dykpIG1pbig2NHB4LCBjYWxjKDY0IC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICBib3JkZXItcmFkaXVzOiBtaW4oM3B4LCBjYWxjKDMgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgI25ld3MtZHRsIC5wb3N0bmF2IC5idG4tYmFjayBhIHtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjJzO1xuICAgIH1cbiAgICAjbmV3cy1kdGwgLnBvc3RuYXYgLmJ0bi1iYWNrIGE6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogI2Q5MTYxNjtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgIH1cbiAgfVxuICAjbmV3cy1kdGwgLnJlbGF0ZWQtcG9zdC1saXN0IHtcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIG1hcmdpbi10b3A6IDJyZW07XG4gIH1cbiAgI25ld3MtZHRsIC5yZWxhdGVkLXBvc3QtbGlzdCAuc2luZ2xlLXRvcGljIHtcbiAgICB3aWR0aDogY2FsYygzMy4zMzMzJSAtIDIuMnJlbSk7XG4gIH1cbiAgI25ld3MtZHRsIC5yZWxhdGVkLXBvc3QtbGlzdCAuc2luZ2xlLXRvcGljOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgIG1hcmdpbi1yaWdodDogMy4zcmVtO1xuICB9XG4gICNuZXdzLWR0bCAucmVsYXRlZC1wb3N0LWxpc3QgLnNpbmdsZS10b3BpYyBhIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogOTYwcHgpIHtcbiAgICAjbmV3cy1kdGwgLnJlbGF0ZWQtcG9zdC1saXN0IC5zaW5nbGUtdG9waWMgYTpob3ZlciAuc2luZ2xlLXRvcGljX19pbWcge1xuICAgICAgb3BhY2l0eTogMC44O1xuICAgIH1cbiAgfVxuICAjbmV3cy1kdGwgLnJlbGF0ZWQtcG9zdC1saXN0IC5zaW5nbGUtdG9waWNfX2ltZyB7XG4gICAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjJzO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGJhY2tncm91bmQ6ICNmYWZhZmE7XG4gIH1cbiAgI25ld3MtZHRsIC5yZWxhdGVkLXBvc3QtbGlzdCAuc2luZ2xlLXRvcGljX19pbWc6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHBhZGRpbmctdG9wOiA2OC41JTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuICAjbmV3cy1kdGwgLnJlbGF0ZWQtcG9zdC1saXN0IC5zaW5nbGUtdG9waWNfX2ltZyBpbWcge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIHRvcDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgfVxuICAjbmV3cy1kdGwgLnJlbGF0ZWQtcG9zdC1saXN0IC5jLWl0ZW1fX2RhdGUge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG4gIH1cbiAgI25ld3MtZHRsIC5yZWxhdGVkLXBvc3QtbGlzdCAuc2luZ2xlLXRvcGljX190aXRsZSB7XG4gICAgbGluZS1oZWlnaHQ6IDEuNzU7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gIH1cbiAgLmMtY2F0ZWdvcnkge1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICNmZmVhMzA7XG4gICAgYmFja2dyb3VuZDogI2ZmZWEzMDtcbiAgICBmb250LXNpemU6IGNhbGMoMTIgLyAzOTAgKiAxMDB2dyk7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgICBwYWRkaW5nOiBjYWxjKDIgLyAzOTAgKiAxMDB2dykgY2FsYyg0IC8gMzkwICogMTAwdncpO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLmMtY2F0ZWdvcnkge1xuICAgICAgZm9udC1zaXplOiBtaW4oMTZweCwgY2FsYygxNiAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgcGFkZGluZzogbWluKDRweCwgY2FsYyg0IC8gMTQ0MCAqIDEwMHZ3KSkgbWluKDEycHgsIGNhbGMoMTIgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgLmMtaXRlbV9fZGF0ZSB7XG4gICAgZm9udC1zaXplOiBjYWxjKDEyIC8gMzkwICogMTAwdncpO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBjb2xvcjogIzY2NjtcbiAgICBwYWRkaW5nLWJvdHRvbTogMC41cmVtO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5jLWl0ZW1fX2RhdGUge1xuICAgICAgZm9udC1zaXplOiBtaW4oMTZweCwgY2FsYygxNiAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICBkaXYjZXotdG9jLWNvbnRhaW5lciAuZXotdG9jLXRpdGxlIHtcbiAgICBmb250LXNpemU6IGNhbGMoMTYgLyAzOTAgKiAxMDB2dyk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgZGl2I2V6LXRvYy1jb250YWluZXIgLmV6LXRvYy10aXRsZSB7XG4gICAgICBmb250LXNpemU6IG1pbigyNHB4LCBjYWxjKDI0IC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIGRpdiNlei10b2MtY29udGFpbmVyIC5lei10b2MtdGl0bGUge1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIH1cbiAgZGl2I2V6LXRvYy1jb250YWluZXIgdWwgbGksIGRpdiNlei10b2MtY29udGFpbmVyIHVsIGxpIGEge1xuICAgIGZvbnQtc2l6ZTogY2FsYygxNCAvIDM5MCAqIDEwMHZ3KTtcbiAgICBsaW5lLWhlaWdodDogMTMwJTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICBkaXYjZXotdG9jLWNvbnRhaW5lciB1bCBsaSwgZGl2I2V6LXRvYy1jb250YWluZXIgdWwgbGkgYSB7XG4gICAgICBmb250LXNpemU6IG1pbigxNnB4LCBjYWxjKDE2IC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIGRpdiNlei10b2MtY29udGFpbmVyIG5hdiB1bCB1bCB7XG4gICAgbWFyZ2luLWxlZnQ6IDFlbTtcbiAgfVxuICBkaXYjZXotdG9jLWNvbnRhaW5lciBuYXYgdWwgdWwgbGkge1xuICAgIGZvbnQtc2l6ZTogOTAlO1xuICB9XG4gIGRpdiNlei10b2MtY29udGFpbmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjZjVmNWY1O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkO1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG4gIGRpdiNlei10b2MtY29udGFpbmVyIHAuZXotdG9jLXRpdGxlLCAjZXotdG9jLWNvbnRhaW5lciAuZXpfdG9jX2N1c3RvbV90aXRsZV9pY29uLCAjZXotdG9jLWNvbnRhaW5lciAuZXpfdG9jX2N1c3RvbV90b2NfaWNvbiB7XG4gICAgY29sb3I6ICMxMTExMTE7XG4gIH1cbiAgZGl2I2V6LXRvYy1jb250YWluZXIgdWwuZXotdG9jLWxpc3QgYSB7XG4gICAgY29sb3I6ICMxMTExMTE7XG4gIH1cbiAgZGl2I2V6LXRvYy1jb250YWluZXIgdWwuZXotdG9jLWxpc3QgYTpob3ZlciB7XG4gICAgY29sb3I6ICMxMTExMTE7XG4gIH1cbiAgZGl2I2V6LXRvYy1jb250YWluZXIgdWwuZXotdG9jLWxpc3QgYTp2aXNpdGVkIHtcbiAgICBjb2xvcjogIzExMTExMTtcbiAgfVxuICAuZXotdG9jLWJveC10aXRsZSB7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBsZXR0ZXItc3BhY2luZzogMXB4O1xuICAgIGNvbG9yOiAjNjY2O1xuICAgIHBhZGRpbmctYm90dG9tOiA1cHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogLTQlO1xuICAgIGxlZnQ6IDUlO1xuICAgIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7XG4gICAgdHJhbnNpdGlvbjogdG9wIDAuM3MgZWFzZTtcbiAgfVxuICAuZXotdG9jLWJveC10aXRsZS50b2MtY2xvc2VkIHtcbiAgICB0b3A6IC0yNSU7XG4gIH1cbiAgLmV6LXRvYy1jb250YWluZXItZGlyZWN0aW9uIHtcbiAgICBkaXJlY3Rpb246IGx0cjtcbiAgfVxuICAuZXotdG9jLWNvdW50ZXIgdWwge1xuICAgIGNvdW50ZXItcmVzZXQ6IGl0ZW07XG4gIH1cbiAgLmV6LXRvYy1jb3VudGVyIG5hdiB1bCBsaSBhOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IGNvdW50ZXJzKGl0ZW0sIFwiLlwiLCBkZWNpbWFsKSBcIi4gXCI7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGNvdW50ZXItaW5jcmVtZW50OiBpdGVtO1xuICAgIGZsZXgtZ3JvdzogMDtcbiAgICBmbGV4LXNocmluazogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuMmVtO1xuICAgIGZsb2F0OiBsZWZ0O1xuICB9XG4gIC5lei10b2Mtd2lkZ2V0LWRpcmVjdGlvbiB7XG4gICAgZGlyZWN0aW9uOiBsdHI7XG4gIH1cbiAgLmV6LXRvYy13aWRnZXQtY29udGFpbmVyIHVsIHtcbiAgICBjb3VudGVyLXJlc2V0OiBpdGVtO1xuICB9XG4gIC5lei10b2Mtd2lkZ2V0LWNvbnRhaW5lciBuYXYgdWwgbGkgYTo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBjb3VudGVycyhpdGVtLCBcIi5cIiwgZGVjaW1hbCkgXCIuIFwiO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBjb3VudGVyLWluY3JlbWVudDogaXRlbTtcbiAgICBmbGV4LWdyb3c6IDA7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjJlbTtcbiAgICBmbG9hdDogbGVmdDtcbiAgfVxuICAjcG9zdF9IQ3Byb2ZpbGUge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmc6IGNhbGMoMTIgLyAzOTAgKiAxMDB2dyk7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBib3JkZXI6IDJweCBzb2xpZCB2YXIoLS1jb2xvci1icmFuZCk7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IGNhbGMoMTYgLyAzOTAgKiAxMDB2dyk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgI3Bvc3RfSENwcm9maWxlIHtcbiAgICAgIHBhZGRpbmc6IG1pbigzMnB4LCBjYWxjKDMyIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICBnYXA6IG1pbigxNnB4LCBjYWxjKDE2IC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gICNwb3N0X0hDcHJvZmlsZSBpbWcge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG4gIC5IQ3Byb2ZpbGVfbmFtZSB7XG4gICAgd2lkdGg6IGNhbGMoMTAwIC8gMzkwICogMTAwdncpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5IQ3Byb2ZpbGVfbmFtZSB7XG4gICAgICB3aWR0aDogbWluKDEwMHB4LCBjYWxjKDEwMCAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAuSENwcm9maWxlX2luZm8gPiBwIHtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBmb250LXNpemU6IGNhbGMoMTYgLyAzOTAgKiAxMDB2dyk7XG4gICAgbWFyZ2luOiAwO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5IQ3Byb2ZpbGVfaW5mbyA+IHAge1xuICAgICAgZm9udC1zaXplOiBtaW4oMTZweCwgY2FsYygxNiAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAuSENwcm9maWxlX2luZm8gc3BhbiB7XG4gICAgZm9udC1zaXplOiAxLjJyZW07XG4gIH1cbiAgLkhDcHJvZmlsZV9pbmZvIGRpdiBwIHtcbiAgICBmb250LXNpemU6IGNhbGMoMTQgLyAzOTAgKiAxMDB2dyk7XG4gICAgbWFyZ2luLWJvdHRvbTogY2FsYygxMCAvIDM5MCAqIDEwMHZ3KTtcbiAgICBsaW5lLWhlaWdodDogMTQwJTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuSENwcm9maWxlX2luZm8gZGl2IHAge1xuICAgICAgZm9udC1zaXplOiBtaW4oMTZweCwgY2FsYygxNiAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgbWFyZ2luLWJvdHRvbTogbWluKDEwcHgsIGNhbGMoMTAgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyMDAlO1xuICAgIH1cbiAgfVxuICAjcHJ5Yy13cC1hY2N0cC1vcmlnaW5hbC1jb250ZW50IHtcbiAgICBsaW5lLWhlaWdodDogMTUwJTtcbiAgfVxuICAjcHJ5Yy13cC1hY2N0cC1vcmlnaW5hbC1jb250ZW50IGgyIHtcbiAgICBmb250LXNpemU6IGNhbGMoMjIgLyAzOTAgKiAxMDB2dyk7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICBtYXJnaW46IGNhbGMoMzIgLyAzOTAgKiAxMDB2dykgMCBjYWxjKDEwIC8gMzkwICogMTAwdncpO1xuICAgIHBhZGRpbmc6IGNhbGMoMTIgLyAzOTAgKiAxMDB2dykgY2FsYygxNiAvIDM5MCAqIDEwMHZ3KTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1icmFuZCk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtb24tYWNjZW50KTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAjcHJ5Yy13cC1hY2N0cC1vcmlnaW5hbC1jb250ZW50IGgyIHtcbiAgICAgIGZvbnQtc2l6ZTogbWluKDI4cHgsIGNhbGMoMjggLyAxNDQwICogMTAwdncpKTtcbiAgICAgIG1hcmdpbjogbWluKDQ4cHgsIGNhbGMoNDggLyAxNDQwICogMTAwdncpKSAwIG1pbigyNHB4LCBjYWxjKDI0IC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICBwYWRkaW5nOiBtaW4oMTJweCwgY2FsYygxMiAvIDE0NDAgKiAxMDB2dykpIG1pbigxNnB4LCBjYWxjKDE2IC8gMTQ0MCAqIDEwMHZ3KSkgbWluKDE2cHgsIGNhbGMoMTYgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgI3ByeWMtd3AtYWNjdHAtb3JpZ2luYWwtY29udGVudCBoMyB7XG4gICAgZm9udC1zaXplOiBjYWxjKDIwIC8gMzkwICogMTAwdncpO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIG1hcmdpbjogY2FsYygyNCAvIDM5MCAqIDEwMHZ3KSAwIGNhbGMoMTAgLyAzOTAgKiAxMDB2dyk7XG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tY29sb3ItYnJhbmQpO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1jb2xvci1icmFuZCk7XG4gICAgcGFkZGluZzogY2FsYygxMiAvIDM5MCAqIDEwMHZ3KSAwO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICNwcnljLXdwLWFjY3RwLW9yaWdpbmFsLWNvbnRlbnQgaDMge1xuICAgICAgZm9udC1zaXplOiBtaW4oMjZweCwgY2FsYygyNiAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgbWFyZ2luOiBtaW4oNDhweCwgY2FsYyg0OCAvIDE0NDAgKiAxMDB2dykpIDAgbWluKDI0cHgsIGNhbGMoMjQgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIHBhZGRpbmc6IG1pbigxNnB4LCBjYWxjKDE2IC8gMTQ0MCAqIDEwMHZ3KSkgMDtcbiAgICB9XG4gIH1cbiAgI3ByeWMtd3AtYWNjdHAtb3JpZ2luYWwtY29udGVudCBoNCB7XG4gICAgZm9udC1zaXplOiBjYWxjKDIwIC8gMzkwICogMTAwdncpO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIG1hcmdpbjogY2FsYygyNCAvIDM5MCAqIDEwMHZ3KSAwIGNhbGMoMTIgLyAzOTAgKiAxMDB2dyk7XG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tY29sb3ItYnJhbmQpO1xuICAgIHBhZGRpbmc6IDAgMCBjYWxjKDIgLyAzOTAgKiAxMDB2dyk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgI3ByeWMtd3AtYWNjdHAtb3JpZ2luYWwtY29udGVudCBoNCB7XG4gICAgICBmb250LXNpemU6IG1pbigyNnB4LCBjYWxjKDI2IC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICBtYXJnaW46IG1pbig0OHB4LCBjYWxjKDQ4IC8gMTQ0MCAqIDEwMHZ3KSkgMCBtaW4oMjRweCwgY2FsYygyNCAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgcGFkZGluZzogMCAwIG1pbigycHgsIGNhbGMoMiAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMnB4O1xuICAgIH1cbiAgfVxuICAjcHJ5Yy13cC1hY2N0cC1vcmlnaW5hbC1jb250ZW50IGg1IHtcbiAgICBmb250LXNpemU6IGNhbGMoMjAgLyAzOTAgKiAxMDB2dyk7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgbWFyZ2luOiBjYWxjKDIwIC8gMzkwICogMTAwdncpIDAgY2FsYyg4IC8gMzkwICogMTAwdncpO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgI3ByeWMtd3AtYWNjdHAtb3JpZ2luYWwtY29udGVudCBoNSB7XG4gICAgICBmb250LXNpemU6IG1pbigyNHB4LCBjYWxjKDI0IC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICBtYXJnaW46IG1pbig0MHB4LCBjYWxjKDQwIC8gMTQ0MCAqIDEwMHZ3KSkgMCBtaW4oMjRweCwgY2FsYygyNCAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgcGFkZGluZzogMCAwIG1pbigycHgsIGNhbGMoMiAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAjcHJ5Yy13cC1hY2N0cC1vcmlnaW5hbC1jb250ZW50IHAge1xuICAgIG1hcmdpbjogY2FsYygxNiAvIDM5MCAqIDEwMHZ3KSAwIGNhbGMoMTYgLyAzOTAgKiAxMDB2dyk7XG4gICAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICAgIHdvcmQtYnJlYWs6IGJyZWFrLWFsbDtcbiAgICBmb250LXNpemU6IGNhbGMoMTYgLyAzOTAgKiAxMDB2dyk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgI3ByeWMtd3AtYWNjdHAtb3JpZ2luYWwtY29udGVudCBwIHtcbiAgICAgIG1hcmdpbjogbWluKDIwcHgsIGNhbGMoMjAgLyAxNDQwICogMTAwdncpKSAwIG1pbigyNHB4LCBjYWxjKDI0IC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICBsaW5lLWhlaWdodDogMjAwJTtcbiAgICAgIGZvbnQtc2l6ZTogbWluKDE2cHgsIGNhbGMoMTYgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgI3ByeWMtd3AtYWNjdHAtb3JpZ2luYWwtY29udGVudCBwIGEge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1icmFuZCk7XG4gIH1cbiAgI3ByeWMtd3AtYWNjdHAtb3JpZ2luYWwtY29udGVudCAuZnVsbCB7XG4gICAgbWFyZ2luOiBjYWxjKDggLyAzOTAgKiAxMDB2dykgMDtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAjcHJ5Yy13cC1hY2N0cC1vcmlnaW5hbC1jb250ZW50IC5mdWxsIHtcbiAgICAgIG1hcmdpbjogbWluKDhweCwgY2FsYyg4IC8gMTQ0MCAqIDEwMHZ3KSkgMDtcbiAgICB9XG4gIH1cbiAgI3ByeWMtd3AtYWNjdHAtb3JpZ2luYWwtY29udGVudCAud3AtY2FwdGlvbi10ZXh0IHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICB9XG4gICNwcnljLXdwLWFjY3RwLW9yaWdpbmFsLWNvbnRlbnQgc3Ryb25nLFxuI3ByeWMtd3AtYWNjdHAtb3JpZ2luYWwtY29udGVudCBiIHtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgfVxuICAjcHJ5Yy13cC1hY2N0cC1vcmlnaW5hbC1jb250ZW50IGVtIHtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIH1cbiAgI3ByeWMtd3AtYWNjdHAtb3JpZ2luYWwtY29udGVudCBibG9ja3F1b3RlIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmFmYWZhO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nOiBjYWxjKDIyIC8gMzkwICogMTAwdncpIGNhbGMoMTYgLyAzOTAgKiAxMDB2dykgY2FsYygxMiAvIDM5MCAqIDEwMHZ3KTtcbiAgICBtYXJnaW46IDRyZW0gMDtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAjcHJ5Yy13cC1hY2N0cC1vcmlnaW5hbC1jb250ZW50IGJsb2NrcXVvdGUge1xuICAgICAgcGFkZGluZzogbWluKDI0cHgsIGNhbGMoMjQgLyAxNDQwICogMTAwdncpKSBtaW4oMTZweCwgY2FsYygxNiAvIDE0NDAgKiAxMDB2dykpIG1pbigxMnB4LCBjYWxjKDEyIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICBtYXJnaW46IG1pbig2MHB4LCBjYWxjKDYwIC8gMTQ0MCAqIDEwMHZ3KSkgMDtcbiAgICB9XG4gIH1cbiAgI3ByeWMtd3AtYWNjdHAtb3JpZ2luYWwtY29udGVudCBibG9ja3F1b3RlOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1nL25ld3MvaWNuX3F1b3RlQDJ4LnBuZykgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXIvY292ZXI7XG4gICAgd2lkdGg6IGNhbGMoMTMgLyAzOTAgKiAxMDB2dyk7XG4gICAgaGVpZ2h0OiBjYWxjKDEyIC8gMzkwICogMTAwdncpO1xuICAgIGJhY2tncm91bmQtc2l6ZTogY2FsYygxMyAvIDM5MCAqIDEwMHZ3KTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiBjYWxjKDYgLyAzOTAgKiAxMDB2dyk7XG4gICAgbGVmdDogY2FsYygxMCAvIDM5MCAqIDEwMHZ3KTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAjcHJ5Yy13cC1hY2N0cC1vcmlnaW5hbC1jb250ZW50IGJsb2NrcXVvdGU6YmVmb3JlIHtcbiAgICAgIHdpZHRoOiBtaW4oMTNweCwgY2FsYygxMyAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgaGVpZ2h0OiBtaW4oMTJweCwgY2FsYygxMiAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiBtaW4oMTNweCwgY2FsYygxMyAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgdG9wOiBtaW4oNnB4LCBjYWxjKDYgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIGxlZnQ6IG1pbigxMHB4LCBjYWxjKDEwIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gICNwcnljLXdwLWFjY3RwLW9yaWdpbmFsLWNvbnRlbnQgYmxvY2txdW90ZSBwIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogMDtcbiAgICBjb2xvcjogIzc3NztcbiAgfVxuICAjcHJ5Yy13cC1hY2N0cC1vcmlnaW5hbC1jb250ZW50IHVsLFxuI3ByeWMtd3AtYWNjdHAtb3JpZ2luYWwtY29udGVudCBvbCB7XG4gICAgbWFyZ2luOiAwIDAgY2FsYygxMiAvIDM5MCAqIDEwMHZ3KTtcbiAgfVxuICAjcHJ5Yy13cC1hY2N0cC1vcmlnaW5hbC1jb250ZW50IHVsIGxpIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjY7XG4gICAgcGFkZGluZzogMCAwIDFyZW0gMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZm9udC1zaXplOiBjYWxjKDE0IC8gMzkwICogMTAwdncpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICNwcnljLXdwLWFjY3RwLW9yaWdpbmFsLWNvbnRlbnQgdWwgbGkge1xuICAgICAgZm9udC1zaXplOiBtaW4oMTZweCwgY2FsYygxNiAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAjcHJ5Yy13cC1hY2N0cC1vcmlnaW5hbC1jb250ZW50IHVsIGxpOmJlZm9yZSB7XG4gICAgY29udGVudDogXCLjg7tcIjtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZm9udC1zaXplOiBjYWxjKDE0IC8gMzkwICogMTAwdncpO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIG1hcmdpbi1yaWdodDogY2FsYygxMCAvIDM5MCAqIDEwMHZ3KTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItYnJhbmQpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICNwcnljLXdwLWFjY3RwLW9yaWdpbmFsLWNvbnRlbnQgdWwgbGk6YmVmb3JlIHtcbiAgICAgIGZvbnQtc2l6ZTogbWluKDE0cHgsIGNhbGMoMTQgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIG1hcmdpbi1yaWdodDogbWluKDEwcHgsIGNhbGMoMTAgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgI3ByeWMtd3AtYWNjdHAtb3JpZ2luYWwtY29udGVudCB1bCBsaSB1bCB7XG4gICAgcGFkZGluZy10b3A6IGNhbGMoNCAvIDM5MCAqIDEwMHZ3KTtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICNwcnljLXdwLWFjY3RwLW9yaWdpbmFsLWNvbnRlbnQgdWwgbGkgdWwge1xuICAgICAgcGFkZGluZy10b3A6IG1pbig0cHgsIGNhbGMoNCAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAjcHJ5Yy13cC1hY2N0cC1vcmlnaW5hbC1jb250ZW50IHVsIGxpIHVsIGxpIHtcbiAgICBsaW5lLWhlaWdodDogMTQwJTtcbiAgICBwYWRkaW5nOiAwIDAgY2FsYyg0IC8gMzkwICogMTAwdncpIGNhbGMoOCAvIDM5MCAqIDEwMHZ3KTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAjcHJ5Yy13cC1hY2N0cC1vcmlnaW5hbC1jb250ZW50IHVsIGxpIHVsIGxpIHtcbiAgICAgIHBhZGRpbmc6IDAgMCBtaW4oNHB4LCBjYWxjKDQgLyAxNDQwICogMTAwdncpKSBtaW4oOHB4LCBjYWxjKDggLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgI3ByeWMtd3AtYWNjdHAtb3JpZ2luYWwtY29udGVudCB1bCBsaSB1bCBsaTpsYXN0LWNoaWxkIHtcbiAgICBwYWRkaW5nOiAwIDAgMCBjYWxjKDggLyAzOTAgKiAxMDB2dyk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgI3ByeWMtd3AtYWNjdHAtb3JpZ2luYWwtY29udGVudCB1bCBsaSB1bCBsaTpsYXN0LWNoaWxkIHtcbiAgICAgIHBhZGRpbmc6IDAgMCAwIG1pbig4cHgsIGNhbGMoOCAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAjcHJ5Yy13cC1hY2N0cC1vcmlnaW5hbC1jb250ZW50IG9sIHtcbiAgICBjb3VudGVyLXJlc2V0OiBpdGVtO1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgfVxuICAjcHJ5Yy13cC1hY2N0cC1vcmlnaW5hbC1jb250ZW50IG9sIGxpIHtcbiAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgbGlzdC1zdHlsZS1wb3NpdGlvbjogaW5zaWRlO1xuICAgIGNvdW50ZXItaW5jcmVtZW50OiBjbnQ7XG4gICAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZzogMCAwIDAgY2FsYygzNSAvIDM5MCAqIDEwMHZ3KTtcbiAgICBtYXJnaW4tYm90dG9tOiBjYWxjKDggLyAzOTAgKiAxMDB2dyk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgI3ByeWMtd3AtYWNjdHAtb3JpZ2luYWwtY29udGVudCBvbCBsaSB7XG4gICAgICBwYWRkaW5nOiAwIDAgMCBtaW4oNDJweCwgY2FsYyg0MiAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgbWFyZ2luLWJvdHRvbTogbWluKDE2cHgsIGNhbGMoMTYgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgI3ByeWMtd3AtYWNjdHAtb3JpZ2luYWwtY29udGVudCBvbCBsaTpiZWZvcmUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAwO1xuICAgIHRvcDogMDtcbiAgICBjb3VudGVyLWluY3JlbWVudDogaXRlbTtcbiAgICBjb250ZW50OiBjb3VudGVyKGl0ZW0sIGRlY2ltYWwtbGVhZGluZy16ZXJvKTtcbiAgICB3aWR0aDogY2FsYygyNSAvIDM5MCAqIDEwMHZ3KTtcbiAgICBoZWlnaHQ6IGNhbGMoMjUgLyAzOTAgKiAxMDB2dyk7XG4gICAgZm9udC1zaXplOiBjYWxjKDEyIC8gMzkwICogMTAwdncpO1xuICAgIGxpbmUtaGVpZ2h0OiBjYWxjKDI1IC8gMzkwICogMTAwdncpO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJyYW5kKTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAjcHJ5Yy13cC1hY2N0cC1vcmlnaW5hbC1jb250ZW50IG9sIGxpOmJlZm9yZSB7XG4gICAgICB3aWR0aDogbWluKDM1cHgsIGNhbGMoMzUgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIGhlaWdodDogbWluKDM1cHgsIGNhbGMoMzUgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIGZvbnQtc2l6ZTogbWluKDE0cHgsIGNhbGMoMTQgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIGxpbmUtaGVpZ2h0OiBtaW4oMzVweCwgY2FsYygzNSAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAjcHJ5Yy13cC1hY2N0cC1vcmlnaW5hbC1jb250ZW50IGhyIHtcbiAgICBoZWlnaHQ6IDA7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJvcmRlci10b3A6IDFweCBkYXNoZWQgI2JiYjtcbiAgICBtYXJnaW46IGNhbGMoNCAvIDM5MCAqIDEwMHZ3KSAwO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICNwcnljLXdwLWFjY3RwLW9yaWdpbmFsLWNvbnRlbnQgaHIge1xuICAgICAgbWFyZ2luOiBtaW4oNHB4LCBjYWxjKDQgLyAxNDQwICogMTAwdncpKSAwO1xuICAgIH1cbiAgfVxuICAjcHJ5Yy13cC1hY2N0cC1vcmlnaW5hbC1jb250ZW50IHRhYmxlIHtcbiAgICBtYXJnaW46IGNhbGMoMTYgLyAzOTAgKiAxMDB2dykgMDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZTZlNmU2O1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICNwcnljLXdwLWFjY3RwLW9yaWdpbmFsLWNvbnRlbnQgdGFibGUge1xuICAgICAgbWFyZ2luOiBtaW4oMTZweCwgY2FsYygxNiAvIDE0NDAgKiAxMDB2dykpIDA7XG4gICAgfVxuICB9XG4gICNwcnljLXdwLWFjY3RwLW9yaWdpbmFsLWNvbnRlbnQgdGFibGUgdGgge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJyYW5kKTtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgfVxuICAjcHJ5Yy13cC1hY2N0cC1vcmlnaW5hbC1jb250ZW50IHRhYmxlIHRoLFxuI3ByeWMtd3AtYWNjdHAtb3JpZ2luYWwtY29udGVudCB0YWJsZSB0ZCB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGZvbnQtc2l6ZTogY2FsYygxNCAvIDM5MCAqIDEwMHZ3KTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZTZlNmU2O1xuICAgIHBhZGRpbmc6IGNhbGMoMTYgLyAzOTAgKiAxMDB2dykgY2FsYygxMCAvIDM5MCAqIDEwMHZ3KTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAjcHJ5Yy13cC1hY2N0cC1vcmlnaW5hbC1jb250ZW50IHRhYmxlIHRoLFxuI3ByeWMtd3AtYWNjdHAtb3JpZ2luYWwtY29udGVudCB0YWJsZSB0ZCB7XG4gICAgICBmb250LXNpemU6IG1pbigxNnB4LCBjYWxjKDE2IC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICBwYWRkaW5nOiBtaW4oMTZweCwgY2FsYygxNiAvIDE0NDAgKiAxMDB2dykpIG1pbigxMHB4LCBjYWxjKDEwIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gICNwcnljLXdwLWFjY3RwLW9yaWdpbmFsLWNvbnRlbnQgLmFsaWduY2VudGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgfVxuICAjcHJ5Yy13cC1hY2N0cC1vcmlnaW5hbC1jb250ZW50IC5hbGlnbnJpZ2h0IHtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMTYgLyAzOTAgKiAxMDB2dyk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgI3ByeWMtd3AtYWNjdHAtb3JpZ2luYWwtY29udGVudCAuYWxpZ25yaWdodCB7XG4gICAgICBtYXJnaW4tbGVmdDogbWluKDE2cHgsIGNhbGMoMTYgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgI3ByeWMtd3AtYWNjdHAtb3JpZ2luYWwtY29udGVudCAuYWxpZ25sZWZ0IHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBtYXJnaW4tcmlnaHQ6IGNhbGMoMTYgLyAzOTAgKiAxMDB2dyk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgI3ByeWMtd3AtYWNjdHAtb3JpZ2luYWwtY29udGVudCAuYWxpZ25sZWZ0IHtcbiAgICAgIG1hcmdpbi1yaWdodDogbWluKDE2cHgsIGNhbGMoMTYgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgI3ByeWMtd3AtYWNjdHAtb3JpZ2luYWwtY29udGVudCAjaW1hZ2UtZGV0YWlscy1jYXB0aW9uIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gICNwcnljLXdwLWFjY3RwLW9yaWdpbmFsLWNvbnRlbnQgLndwLWNhcHRpb24ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1ib3R0b206IDByZW0gIWltcG9ydGFudDtcbiAgfVxuICAjcHJ5Yy13cC1hY2N0cC1vcmlnaW5hbC1jb250ZW50IC53cC1jYXB0aW9uLmFsaWdubGVmdCwgI3ByeWMtd3AtYWNjdHAtb3JpZ2luYWwtY29udGVudCAud3AtY2FwdGlvbi5hbGlnbnJpZ2h0IHtcbiAgICB3aWR0aDogNDglICFpbXBvcnRhbnQ7XG4gIH1cbiAgI3ByeWMtd3AtYWNjdHAtb3JpZ2luYWwtY29udGVudCAud3AtY2FwdGlvbi5hbGlnbmxlZnQge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDE2IC8gMzkwICogMTAwdncpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICNwcnljLXdwLWFjY3RwLW9yaWdpbmFsLWNvbnRlbnQgLndwLWNhcHRpb24uYWxpZ25sZWZ0IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiBtaW4oMTZweCwgY2FsYygxNiAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAjcHJ5Yy13cC1hY2N0cC1vcmlnaW5hbC1jb250ZW50IC53cC1jYXB0aW9uLmFsaWducmlnaHQge1xuICAgIG1hcmdpbi1yaWdodDogY2FsYygxNiAvIDM5MCAqIDEwMHZ3KTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAjcHJ5Yy13cC1hY2N0cC1vcmlnaW5hbC1jb250ZW50IC53cC1jYXB0aW9uLmFsaWducmlnaHQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiBtaW4oMTZweCwgY2FsYygxNiAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAjcHJ5Yy13cC1hY2N0cC1vcmlnaW5hbC1jb250ZW50IC53cC1jYXB0aW9uIC53cC1jYXB0aW9uLXRleHQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbiAgI3ByeWMtd3AtYWNjdHAtb3JpZ2luYWwtY29udGVudCBpbWdbY2xhc3MqPXdwLWltYWdlLV0sXG4jcHJ5Yy13cC1hY2N0cC1vcmlnaW5hbC1jb250ZW50IGltZ1tjbGFzcyo9YXR0YWNobWVudC1dIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA5NTlweCkge1xuICAgICNwcnljLXdwLWFjY3RwLW9yaWdpbmFsLWNvbnRlbnQgaW1nW2NsYXNzKj13cC1pbWFnZS1dLFxuI3ByeWMtd3AtYWNjdHAtb3JpZ2luYWwtY29udGVudCBpbWdbY2xhc3MqPWF0dGFjaG1lbnQtXSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cbiAgI3ByeWMtd3AtYWNjdHAtb3JpZ2luYWwtY29udGVudCBpbWdbY2xhc3MqPXdwLWltYWdlLV0uYWxpZ25yaWdodCxcbiNwcnljLXdwLWFjY3RwLW9yaWdpbmFsLWNvbnRlbnQgaW1nW2NsYXNzKj1hdHRhY2htZW50LV0uYWxpZ25yaWdodCB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHdpZHRoOiA0OCU7XG4gIH1cbiAgI3ByeWMtd3AtYWNjdHAtb3JpZ2luYWwtY29udGVudCBpbWdbY2xhc3MqPXdwLWltYWdlLV0uYWxpZ25sZWZ0LFxuI3ByeWMtd3AtYWNjdHAtb3JpZ2luYWwtY29udGVudCBpbWdbY2xhc3MqPWF0dGFjaG1lbnQtXS5hbGlnbmxlZnQge1xuICAgIGhlaWdodDogYXV0bztcbiAgICB3aWR0aDogNDglO1xuICB9XG4gIC5wb3N0X2thaXRvcmkge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBtYXJnaW46IGNhbGMoNjAgLyAzOTAgKiAxMDB2dykgMCBjYWxjKDMwIC8gMzkwICogMTAwdncpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5wb3N0X2thaXRvcmkge1xuICAgICAgbWFyZ2luOiBtaW4oMTAwcHgsIGNhbGMoMTAwIC8gMTQ0MCAqIDEwMHZ3KSkgMCBtaW4oNjBweCwgY2FsYyg2MCAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAucG9zdF9rYWl0b3JpIGgyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbi1ib3R0b206IGNhbGMoMTYgLyAzOTAgKiAxMDB2dyk7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGNvbG9yOiAjZmY1NzIyO1xuICAgIGZvbnQtc2l6ZTogY2FsYygyMyAvIDM5MCAqIDEwMHZ3KTtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBwYWRkaW5nOiAwIGNhbGMoMTYgLyAzOTAgKiAxMDB2dyk7XG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAucG9zdF9rYWl0b3JpIGgyIHtcbiAgICAgIGZvbnQtc2l6ZTogbWluKDMycHgsIGNhbGMoMzIgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIHBhZGRpbmc6IDAgbWluKDI0cHgsIGNhbGMoMjQgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIG1hcmdpbi1ib3R0b206IG1pbigxNnB4LCBjYWxjKDE2IC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5wb3N0X2thaXRvcmkgaDIgLnNwIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG4gIC5wb3N0X2thaXRvcmkgaDI6YmVmb3JlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMDtcbiAgICB0b3A6IDA7XG4gICAgY29udGVudDogXCJcIjtcbiAgICB3aWR0aDogMXB4O1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kOiAjZmY1NzIyO1xuICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtMjVkZWcpO1xuICB9XG4gIC5wb3N0X2thaXRvcmkgaDI6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHJpZ2h0OiAwO1xuICAgIHRvcDogMDtcbiAgICB3aWR0aDogMXB4O1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kOiAjZmY1NzIyO1xuICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgyNWRlZyk7XG4gIH1cbiAgLnBvc3Rfa2FpdG9yaS1ib3gge1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMjBkZWcsICNmZjk4MDAgMCUsICNmZjU3MjIgNTAlLCAjZmY5ODAwIDEwMCUpIDAgMC8yMDAlIDEwMCUgcmVwZWF0O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBib3JkZXItcmFkaXVzOiAzMHB4O1xuICAgIHBhZGRpbmc6IGNhbGMoMjUgLyAzOTAgKiAxMDB2dykgY2FsYygxNSAvIDM5MCAqIDEwMHZ3KTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAucG9zdF9rYWl0b3JpLWJveCB7XG4gICAgICBwYWRkaW5nOiBtaW4oMjVweCwgY2FsYygyNSAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgYm9yZGVyLXJhZGl1czogdW5zZXQ7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIH1cbiAgfVxuICAucG9zdF9rYWl0b3JpLWJveCBoMyB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgZm9udC1zaXplOiBjYWxjKDIyIC8gMzkwICogMTAwdncpO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBsaW5lLWhlaWdodDogMS41O1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5wb3N0X2thaXRvcmktYm94IGgzIHtcbiAgICAgIGZvbnQtc2l6ZTogbWluKDI4cHgsIGNhbGMoMjggLyAxNDQwICogMTAwdncpKTtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgfVxuICB9XG4gIC5wb3N0X2thaXRvcmktYm94IGgzICsgcCB7XG4gICAgZm9udC1zaXplOiBjYWxjKDE2IC8gMzkwICogMTAwdncpO1xuICAgIGxpbmUtaGVpZ2h0OiAxNDAlO1xuICAgIG1hcmdpbjogY2FsYygxMCAvIDM5MCAqIDEwMHZ3KSAwIDA7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnBvc3Rfa2FpdG9yaS1ib3ggaDMgKyBwIHtcbiAgICAgIGZvbnQtc2l6ZTogbWluKDE2cHgsIGNhbGMoMTYgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIG1hcmdpbjogbWluKDE2cHgsIGNhbGMoMTYgLyAxNDQwICogMTAwdncpKSAwIDA7XG4gICAgfVxuICB9XG4gIC5wb3N0X2thaXRvcmktYm94IC5jaGFyYWN0ZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi10b3A6IGNhbGMoMTIgLyAzOTAgKiAxMDB2dyk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnBvc3Rfa2FpdG9yaS1ib3ggLmNoYXJhY3RlciB7XG4gICAgICB3aWR0aDogNDUlO1xuICAgIH1cbiAgfVxuICAucG9zdF9rYWl0b3JpLWJveCAuY2hhcmFjdGVyIGltZyB7XG4gICAgd2lkdGg6IDUwJTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAucG9zdF9rYWl0b3JpLWJveCAuY2hhcmFjdGVyIGltZyB7XG4gICAgICB3aWR0aDogNjclO1xuICAgICAgbWFyZ2luLXRvcDogLTEwMHB4O1xuICAgIH1cbiAgfVxuICAucG9zdF9rYWl0b3JpLWJveCAuY2hhcmFjdGVyIGEge1xuICAgIGNvbG9yOiAjQ0IwMDAwO1xuICAgIHdpZHRoOiA5MCU7XG4gICAgZm9udC1zaXplOiBjYWxjKDE2IC8gMzkwICogMTAwdncpO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIGJvcmRlci1yYWRpdXM6IGNhbGMoMjAgLyAzOTAgKiAxMDB2dyk7XG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICBwYWRkaW5nOiBjYWxjKDE2IC8gMzkwICogMTAwdncpIGNhbGMoMzAgLyAzOTAgKiAxMDB2dyk7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIGJveC1zaGFkb3c6IDAgM3B4IDNweCAxcHggcmdiYSgwLCAwLCAwLCAwLjMpO1xuICAgIHRyYW5zaXRpb246IDAuM3M7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnBvc3Rfa2FpdG9yaS1ib3ggLmNoYXJhY3RlciBhIHtcbiAgICAgIGZvbnQtc2l6ZTogbWluKDE2cHgsIGNhbGMoMTYgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIHBhZGRpbmc6IG1pbigxNnB4LCBjYWxjKDE2IC8gMTQ0MCAqIDEwMHZ3KSkgbWluKDMwcHgsIGNhbGMoMzAgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IG1pbigyMHB4LCBjYWxjKDIwIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIC5wb3N0X2thaXRvcmktYm94IC5jaGFyYWN0ZXIgYTpob3ZlciB7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICBiYWNrZ3JvdW5kOiAjQ0IwMDAwO1xuICAgIGNvbG9yOiAjZmZmO1xuICB9XG4gIC5wb3N0X2thaXRvcmktYm94IC5jaGFyYWN0ZXIgYTo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiPlwiO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICByaWdodDogMTBweDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gIH1cbiAgLnBvc3RfZWNzaXRlIHtcbiAgICBwYWRkaW5nOiBjYWxjKDE2IC8gMzkwICogMTAwdncpO1xuICAgIGJvcmRlcjogM3B4IHNvbGlkICNDQjAwMDA7XG4gICAgYm9yZGVyLXJhZGl1czogY2FsYygxNiAvIDM5MCAqIDEwMHZ3KTtcbiAgICBtYXJnaW4tdG9wOiBjYWxjKDI0IC8gMzkwICogMTAwdncpO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnBvc3RfZWNzaXRlIHtcbiAgICAgIHBhZGRpbmc6IG1pbigzMnB4LCBjYWxjKDMyIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICBib3JkZXItcmFkaXVzOiBtaW4oMTZweCwgY2FsYygxNiAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgbWFyZ2luLXRvcDogbWluKDI0cHgsIGNhbGMoMjQgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIHdpZHRoOiBtaW4oNzUwcHgsIGNhbGMoNzUwIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICBtYXJnaW4taW5saW5lOiBhdXRvO1xuICAgIH1cbiAgfVxuICAucG9zdF9lY3NpdGUgaDIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBjb2xvcjogI0NCMDAwMDtcbiAgICBmb250LXNpemU6IGNhbGMoMjIgLyAzOTAgKiAxMDB2dyk7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnBvc3RfZWNzaXRlIGgyIHtcbiAgICAgIGZvbnQtc2l6ZTogbWluKDI4cHgsIGNhbGMoMjggLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnBvc3RfZWNzaXRlIGgyIC5zcCB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuICAucG9zdF9lY3NpdGUgcCB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGZvbnQtc2l6ZTogY2FsYygxNiAvIDM5MCAqIDEwMHZ3KTtcbiAgICBsaW5lLWhlaWdodDogMTQwJTtcbiAgICBtYXJnaW46IGNhbGMoMTAgLyAzOTAgKiAxMDB2dykgMCAwO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5wb3N0X2Vjc2l0ZSBwIHtcbiAgICAgIGZvbnQtc2l6ZTogbWluKDE2cHgsIGNhbGMoMTYgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIG1hcmdpbjogbWluKDEwcHgsIGNhbGMoMTAgLyAxNDQwICogMTAwdncpKSAwIDA7XG4gICAgfVxuICB9XG4gIC5wb3N0X2Vjc2l0ZSB1bCB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpO1xuICAgIG1hcmdpbjogY2FsYygxNiAvIDM5MCAqIDEwMHZ3KSAwIDA7XG4gICAgZ2FwOiBjYWxjKDggLyAzOTAgKiAxMDB2dyk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnBvc3RfZWNzaXRlIHVsIHtcbiAgICAgIG1hcmdpbjogbWluKDMycHgsIGNhbGMoMzIgLyAxNDQwICogMTAwdncpKSAwIDA7XG4gICAgICBnYXA6IG1pbig4cHgsIGNhbGMoOCAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAucG9zdF9lY3NpdGUgdWwgbGkge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNkN2Q3ZDc7XG4gIH1cbiAgLnBvc3RfZWNzaXRlIHVsIGxpIGEge1xuICAgIHRyYW5zaXRpb246IDAuM3M7XG4gIH1cbiAgLnBvc3RfZWNzaXRlIHVsIGxpIGE6aG92ZXIge1xuICAgIG9wYWNpdHk6IDAuNztcbiAgfVxuICAjc2lkZWJhciB7XG4gICAgcGFkZGluZzogMCBjYWxjKDIwIC8gMzkwICogMTAwdncpIGNhbGMoNDAgLyAzOTAgKiAxMDB2dyk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgI3NpZGViYXIge1xuICAgICAgcGFkZGluZzogdW5zZXQ7XG4gICAgICB3aWR0aDogbWluKDI1NHB4LCBjYWxjKDI1NCAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAjc2lkZWJhciAjc2VhcmNoLW5ld3Nwb3N0IHtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBib3JkZXItcmFkaXVzOiBjYWxjKDUgLyAzOTAgKiAxMDB2dyk7XG4gICAgbWFyZ2luLWJsb2NrOiBjYWxjKDIwIC8gMzkwICogMTAwdncpIGNhbGMoNDAgLyAzOTAgKiAxMDB2dyk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgI3NpZGViYXIgI3NlYXJjaC1uZXdzcG9zdCB7XG4gICAgICBib3JkZXItcmFkaXVzOiBtaW4oNXB4LCBjYWxjKDUgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIG1hcmdpbi1ibG9jazogbWluKDIwcHgsIGNhbGMoMjAgLyAxNDQwICogMTAwdncpKSBtaW4oNDBweCwgY2FsYyg0MCAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAjc2lkZWJhciBpbnB1dFt0eXBlPXRleHRdIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOiBjYWxjKDEwIC8gMzkwICogMTAwdncpIGNhbGMoMjYgLyAzOTAgKiAxMDB2dykgY2FsYygxMCAvIDM5MCAqIDEwMHZ3KSBjYWxjKDEwIC8gMzkwICogMTAwdncpO1xuICAgIGZvbnQtc2l6ZTogY2FsYygxNiAvIDM5MCAqIDEwMHZ3KTtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgIGJvcmRlci1yYWRpdXM6IGNhbGMoNSAvIDM5MCAqIDEwMHZ3KTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAjc2lkZWJhciBpbnB1dFt0eXBlPXRleHRdIHtcbiAgICAgIGZvbnQtc2l6ZTogbWluKDE2cHgsIGNhbGMoMTYgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IG1pbig1cHgsIGNhbGMoNSAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgcGFkZGluZzogbWluKDEwcHgsIGNhbGMoMTAgLyAxNDQwICogMTAwdncpKSBtaW4oMjZweCwgY2FsYygyNiAvIDE0NDAgKiAxMDB2dykpIG1pbigxMHB4LCBjYWxjKDEwIC8gMTQ0MCAqIDEwMHZ3KSkgbWluKDEwcHgsIGNhbGMoMTAgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgI3NpZGViYXIgYnV0dG9uIHtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgcGFkZGluZzogMDtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiBjYWxjKDUwIC8gMzkwICogMTAwdncpO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMDtcbiAgICB0b3A6IDA7XG4gICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICNzaWRlYmFyIGJ1dHRvbiB7XG4gICAgICB3aWR0aDogbWluKDUwcHgsIGNhbGMoNTAgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgI3NpZGViYXIgYnV0dG9uIGltZyB7XG4gICAgd2lkdGg6IGNhbGMoMjAgLyAzOTAgKiAxMDB2dyk7XG4gICAgaGVpZ2h0OiBjYWxjKDIwIC8gMzkwICogMTAwdncpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICNzaWRlYmFyIGJ1dHRvbiBpbWcge1xuICAgICAgd2lkdGg6IG1pbigyMHB4LCBjYWxjKDIwIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICBoZWlnaHQ6IG1pbigyMHB4LCBjYWxjKDIwIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gICNzaWRlYmFyIC5zaWRlYmFyX19oZWFkaW5nIHtcbiAgICBmb250LXNpemU6IGNhbGMoMjAgLyAzOTAgKiAxMDB2dyk7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgY29sb3I6ICNkOTE2MTY7XG4gICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICNkOTE2MTY7XG4gICAgcGFkZGluZy1ib3R0b206IGNhbGMoMTAgLyAzOTAgKiAxMDB2dyk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgI3NpZGViYXIgLnNpZGViYXJfX2hlYWRpbmcge1xuICAgICAgZm9udC1zaXplOiBtaW4oMjBweCwgY2FsYygyMCAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgcGFkZGluZy1ib3R0b206IG1pbigxMHB4LCBjYWxjKDEwIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gICNzaWRlYmFyIC5zaWRlYmFyX19yYW5raW5nIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogY2FsYygyMCAvIDM5MCAqIDEwMHZ3KTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAjc2lkZWJhciAuc2lkZWJhcl9fcmFua2luZyB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogbWluKDIwcHgsIGNhbGMoMjAgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgI3NpZGViYXIgLnNpZGViYXJfX3JhbmtpbmcgLnNpZGViYXJfX2hlYWRpbmcge1xuICAgIG1hcmdpbi1ib3R0b206IGNhbGMoMjAgLyAzOTAgKiAxMDB2dyk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgI3NpZGViYXIgLnNpZGViYXJfX3JhbmtpbmcgLnNpZGViYXJfX2hlYWRpbmcge1xuICAgICAgbWFyZ2luLWJvdHRvbTogbWluKDIwcHgsIGNhbGMoMjAgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgI3NpZGViYXIgLnJhbmtpbmdfX2l0ZW0ge1xuICAgIG1hcmdpbi1ib3R0b206IGNhbGMoMTIgLyAzOTAgKiAxMDB2dyk7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICNzaWRlYmFyIC5yYW5raW5nX19pdGVtIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IG1pbigyNHB4LCBjYWxjKDI0IC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gICNzaWRlYmFyIC5yYW5raW5nX19pdGVtIGEge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZ2FwOiBjYWxjKDE1IC8gMzkwICogMTAwdncpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICNzaWRlYmFyIC5yYW5raW5nX19pdGVtIGEge1xuICAgICAgZ2FwOiBtaW4oMTVweCwgY2FsYygxNSAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICB9XG4gIH1cbiAgI3NpZGViYXIgLnJhbmtpbmdfX2l0ZW0gLnRodW1iIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGJhY2tncm91bmQ6ICNmYWZhZmE7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgI3NpZGViYXIgLnJhbmtpbmdfX2l0ZW0gLnRodW1iIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IHVuc2V0O1xuICAgIH1cbiAgfVxuICAjc2lkZWJhciAucmFua2luZ19faXRlbSAudGh1bWIgaW1nIHtcbiAgICB3aWR0aDogY2FsYygxMDUgLyAzOTAgKiAxMDB2dyk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgI3NpZGViYXIgLnJhbmtpbmdfX2l0ZW0gLnRodW1iIGltZyB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cbiAgI3NpZGViYXIgLnJhbmtpbmdfX3R0bCB7XG4gICAgbGluZS1oZWlnaHQ6IDEuNzU7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgZmxleDogMTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAjc2lkZWJhciAucmFua2luZ19fdHRsIHtcbiAgICAgIGZvbnQtc2l6ZTogbWluKDE2cHgsIGNhbGMoMTYgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgI3NpZGViYXIgLmNhdGVnb3JpZXNfX2l0ZW0ge1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZTZlNmU2O1xuICB9XG4gICNzaWRlYmFyIC5jYXRlZ29yaWVzX19pdGVtIGEge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6IGNhbGMoMTYgLyAzOTAgKiAxMDB2dykgMCBjYWxjKDE2IC8gMzkwICogMTAwdncpIDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICNzaWRlYmFyIC5jYXRlZ29yaWVzX19pdGVtIGEge1xuICAgICAgcGFkZGluZzogbWluKDE2cHgsIGNhbGMoMTYgLyAxNDQwICogMTAwdncpKSAwIG1pbigxNnB4LCBjYWxjKDE2IC8gMTQ0MCAqIDEwMHZ3KSkgMDtcbiAgICAgIGZvbnQtc2l6ZTogbWluKDE2cHgsIGNhbGMoMTYgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgI3NpZGViYXIgLmNhdGVnb3JpZXNfX2l0ZW0gYTpiZWZvcmUge1xuICAgIGZvbnQtZmFtaWx5OiBcImljb21vb25cIiAhaW1wb3J0YW50O1xuICAgIHNwZWFrOiBub25lO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGZvbnQtdmFyaWFudDogbm9ybWFsO1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gICAgY29udGVudDogXCJcXGU5MTdcIjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDA7XG4gICAgdG9wOiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgIGZvbnQtc2l6ZTogY2FsYygxNCAvIDM5MCAqIDEwMHZ3KTtcbiAgICBjb2xvcjogI2Q5MTYxNjtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycztcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAjc2lkZWJhciAuY2F0ZWdvcmllc19faXRlbSBhOmJlZm9yZSB7XG4gICAgICBmb250LXNpemU6IG1pbigxNnB4LCBjYWxjKDE2IC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gICNuZXdzLWFjIC5uZXdzLXdyYXBwZXIge1xuICAgIG1hcmdpbi10b3A6IGNhbGMoMjQgLyAzOTAgKiAxMDB2dyk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgI25ld3MtYWMgLm5ld3Mtd3JhcHBlciB7XG4gICAgICBtYXJnaW4tdG9wOiBtaW4oNTZweCwgY2FsYyg1NiAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgcGFkZGluZy1sZWZ0OiBjYWxjKHZhcigtLWNvbnRhaW5lci1wYWRkaW5nLXNwKSAvIDM5MCAqIDEwMHZ3KTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IGNhbGModmFyKC0tY29udGFpbmVyLXBhZGRpbmctc3ApIC8gMzkwICogMTAwdncpO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGdhcDogbWluKDQwcHgsIGNhbGMoNDAgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAjbmV3cy1hYyAubmV3cy13cmFwcGVyIHtcbiAgICAgIHBhZGRpbmctbGVmdDogdW5zZXQ7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiB1bnNldDtcbiAgICAgIG1hcmdpbi1pbmxpbmU6IGF1dG87XG4gICAgICB3aWR0aDogbWluKDEyNDBweCwgY2FsYygxMjQwIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICNuZXdzLWFjIC5uZXdzLXdyYXBwZXIgI21haW4tY29udGVudHMge1xuICAgICAgd2lkdGg6IG1pbig5NDZweCwgY2FsYyg5NDYgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgI25ld3MtYWMgLnNlY05ld3NMaXN0IHtcbiAgICBwYWRkaW5nOiBjYWxjKDIwIC8gMzkwICogMTAwdncpIGNhbGMoMTIgLyAzOTAgKiAxMDB2dykgY2FsYyg1MCAvIDM5MCAqIDEwMHZ3KTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAjbmV3cy1hYyAuc2VjTmV3c0xpc3Qge1xuICAgICAgcGFkZGluZzogdW5zZXQ7XG4gICAgfVxuICB9XG4gICNuZXdzLWFjIC5zZWNOZXdzTGlzdCAubmV3cy1zZWFyY2gtc3VtbWFyeSB7XG4gICAgbWFyZ2luLWJvdHRvbTogY2FsYyg1NiAvIDM5MCAqIDEwMHZ3KTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAjbmV3cy1hYyAuc2VjTmV3c0xpc3QgLm5ld3Mtc2VhcmNoLXN1bW1hcnkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogbWluKDI0cHgsIGNhbGMoMjQgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgI25ld3MtYWMgLnNlY05ld3NMaXN0X19wb3N0IHtcbiAgICBtYXJnaW4tYm90dG9tOiBjYWxjKDIwIC8gMzkwICogMTAwdncpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICNuZXdzLWFjIC5zZWNOZXdzTGlzdF9fcG9zdCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiBtaW4oMzBweCwgY2FsYygzMCAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAjbmV3cy1hYyAuc2VjTmV3c0xpc3RfX3Bvc3QgYSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgYm9yZGVyOiA0cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXJhZGl1czogNXB4O1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgcGFkZGluZzogY2FsYygxNSAvIDM5MCAqIDEwMHZ3KTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAjbmV3cy1hYyAuc2VjTmV3c0xpc3RfX3Bvc3QgYSB7XG4gICAgICBwYWRkaW5nOiBtaW4oMjhweCwgY2FsYygyOCAvIDE0NDAgKiAxMDB2dykpIG1pbigzNXB4LCBjYWxjKDM1IC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICNuZXdzLWFjIC5zZWNOZXdzTGlzdF9fcG9zdCBhIHtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjJzO1xuICAgIH1cbiAgICAjbmV3cy1hYyAuc2VjTmV3c0xpc3RfX3Bvc3QgYTpob3ZlciB7XG4gICAgICBib3gtc2hhZG93OiAwIDRweCAwIDAgI2U2ZTZlNjtcbiAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItYnJhbmQpO1xuICAgIH1cbiAgICAjbmV3cy1hYyAuc2VjTmV3c0xpc3RfX3Bvc3QgYTpob3ZlciB7XG4gICAgICBib3gtc2hhZG93OiAwIDJweCAwIDAgI2U2ZTZlNjtcbiAgICB9XG4gICAgI25ld3MtYWMgLnNlY05ld3NMaXN0X19wb3N0IGE6aG92ZXIgLmJ0bi0wMiAuYSB7XG4gICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1icmFuZCk7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICB9XG4gIH1cbiAgI25ld3MtYWMgLnNlY05ld3NMaXN0X19wb3N0IC5wb3N0X19tZXRhIHtcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHBhZGRpbmctYm90dG9tOiAxcmVtO1xuICB9XG4gICNuZXdzLWFjIC5zZWNOZXdzTGlzdF9fcG9zdCAucG9zdF9fbWV0YSAuYy1pdGVtX19kYXRlIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgfVxuICAjbmV3cy1hYyAuc2VjTmV3c0xpc3RfX3Bvc3QgLnBvc3RfX2NhdCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxLjVyZW07XG4gIH1cbiAgI25ld3MtYWMgLnNlY05ld3NMaXN0X19wb3N0IC5wb3N0X19jYXQgLmMtY2F0ZWdvcnk6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xuICB9XG4gICNuZXdzLWFjIC5zZWNOZXdzTGlzdF9fcG9zdCAucG9zdF9fdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogY2FsYygyMCAvIDM5MCAqIDEwMHZ3KTtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICBsaW5lLWhlaWdodDogMS41O1xuICAgIHBhZGRpbmctYm90dG9tOiBjYWxjKDE1IC8gMzkwICogMTAwdncpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICNuZXdzLWFjIC5zZWNOZXdzTGlzdF9fcG9zdCAucG9zdF9fdGl0bGUge1xuICAgICAgZm9udC1zaXplOiBtaW4oMjhweCwgY2FsYygyOCAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgcGFkZGluZy1ib3R0b206IG1pbigxNXB4LCBjYWxjKDE1IC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICNuZXdzLWFjIC5zZWNOZXdzTGlzdF9fcG9zdCAucG9zdF9fY29udCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICAgIH1cbiAgfVxuICAjbmV3cy1hYyAuc2VjTmV3c0xpc3RfX3Bvc3QgLnBvc3RfX2ltZyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgbWFyZ2luLWJvdHRvbTogY2FsYygxNiAvIDM5MCAqIDEwMHZ3KTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAjbmV3cy1hYyAuc2VjTmV3c0xpc3RfX3Bvc3QgLnBvc3RfX2ltZyB7XG4gICAgICB3aWR0aDogbWluKDQxMHB4LCBjYWxjKDQxMCAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgbWFyZ2luLWJvdHRvbTogdW5zZXQ7XG4gICAgfVxuICB9XG4gICNuZXdzLWFjIC5zZWNOZXdzTGlzdF9fcG9zdCAucG9zdF9faW1nIGltZyB7XG4gICAgYXNwZWN0LXJhdGlvOiA0MTAvMjgwO1xuICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgIG9iamVjdC1wb3NpdGlvbjogY2VudGVyO1xuICB9XG4gICNuZXdzLWFjIC5zZWNOZXdzTGlzdF9fcG9zdCAucG9zdF9fZXhjZXJwdCB7XG4gICAgcGFkZGluZy1ib3R0b206IGNhbGMoMTYgLyAzOTAgKiAxMDB2dyk7XG4gICAgZm9udC1zaXplOiBjYWxjKDE2IC8gMzkwICogMTAwdncpO1xuICAgIGxpbmUtaGVpZ2h0OiAxNjAlO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICNuZXdzLWFjIC5zZWNOZXdzTGlzdF9fcG9zdCAucG9zdF9fZXhjZXJwdCB7XG4gICAgICBmb250LXNpemU6IG1pbigxNnB4LCBjYWxjKDE2IC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICNuZXdzLWFjIC5zZWNOZXdzTGlzdF9fcG9zdCAucG9zdF9fdHh0IHtcbiAgICAgIGZsZXg6IDE7XG4gICAgICBwYWRkaW5nLWxlZnQ6IG1pbigyNXB4LCBjYWxjKDI1IC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gICNuZXdzLWFjIC5zZWNOZXdzTGlzdF9fcG9zdCAuYnRuLTAyIC5wQnV0dG9uIHtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgfVxufSIsIkBjaGFyc2V0IFwiVVRGLThcIjtcbkBpbXBvcnQgXCJtaXhpbnNcIjtcblxuOnJvb3Qge1xuICAtLXRyYW5zaXRpb24tc3BlZWQtc2xvdzogMC41cztcbiAgLS10cmFuc2l0aW9uLXNwZWVkOiAwLjNzO1xuICAtLXRyYW5zaXRpb24tc3BlZWQtZmFzdDogMC4ycztcbiAgLS1iZXppZXI6IGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSk7XG5cbiAgLS16LWluZGV4LWhlYWRlcjogMTAwO1xuICAtLXotaW5kZXgtaGVhZGVyLWxvZ286IDEwMTtcbiAgLS16LWluZGV4LWZvb3RNZW51OiA5OTk7XG4gIC0tei1pbmRleC1zcE1lbnU6IDEwMDA7XG4gIC0tei1pbmRleC1zcFJpZ2h0TWVudTogMTAwMDtcbiAgLS16LWluZGV4LXBhZ2V0b3BCOiA5OTg7XG59XG5AbGF5ZXIgcmVzZXQsIGJhc2UsIHBhcnRzLCBjb21wb25lbnRzLCB1bmlxLCBuZXdzO1xuXG5AbGF5ZXIgcmVzZXQge1xuICBAaW1wb3J0IFwicmVzZXRcIjtcbn1cblxuQGxheWVyIGJhc2Uge1xuICBbaGlkZGVuXSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG4gIC5pcy1oaWRkZW4ge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxuICAqIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB9XG4gICo6YmVmb3JlLFxuICAqOmFmdGVyIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB9XG4gICo6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gIH1cbiAgaHRtbCB7XG4gICAgZm9udC1zaXplOiB2dygtLWZzLXMpO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB0ZXh0LXNpemUtYWRqdXN0OiAxMDAlO1xuICAgIEBpbmNsdWRlIG1xKCkge1xuICAgICAgZm9udC1zaXplOiBwYygtLWZzLW0pO1xuICAgIH1cbiAgfVxuICBib2R5IHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dCk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmFja2dyb3VuZCk7XG4gICAgZm9udC1mZWF0dXJlLXNldHRpbmdzOiB2YXIoLS1mb250LWZlYXR1cmUtc2V0dGluZ3MpO1xuICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWZhbWlseS1qYSk7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBmb250LW9wdGljYWwtc2l6aW5nOiBhdXRvO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIHRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7XG4gICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgZm9udC1zaXplOiB2dygtLWZzLW0pO1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZTogXG4gICAgXCJoZWFkZXJcIiBhdXRvXG4gICAgXCJtYWluXCIgYXV0b1xuICAgIFwiZm9vdGVyXCIgMWZyXG4gICAgLyAxMDAlO1xuICAgIG1pbi1oZWlnaHQ6IDEwMHZoO1xuICAgIEBpbmNsdWRlIG1xKCkge1xuICAgICAgZm9udC1zaXplOiBwYygtLWZzLWwpO1xuICAgIH1cbiAgICAmLmlzLWZpeGVkLCAmLmZpeGVkIHtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgfVxuICAgICY6aGFzKCN0b3BTbGlkZXIpIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXN1cmZhY2UpO1xuICAgIH1cbiAgfVxuXG4gIHN0cm9uZyB7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICB9XG4gIGxhYmVsIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gIH1cbiAgYSB7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAmW2hyZWZePVwidGVsOlwiXSB7XG4gICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICB9XG4gIH1cbiAgYWJiciB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG4gIGJ1dHRvbiB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgZm9udDogaW5oZXJpdDtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICB0ZXh0LWFsaWduOiBpbmhlcml0O1xuICB9XG4gIGJyIHtcbiAgICAmLnNwLW9ubHkge1xuICAgICAgQGluY2x1ZGUgbXEoKSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICAgICYucGMtb25seSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgQGluY2x1ZGUgbXEoKSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgOndoZXJlKGJ1dHRvbiwgW3R5cGU9J2J1dHRvbiddLCBbdHlwZT0ncmVzZXQnXSwgW3R5cGU9J3N1Ym1pdCddKSB7XG4gICAgdG91Y2gtYWN0aW9uOiBtYW5pcHVsYXRpb247XG4gIH1cbiAgOndoZXJlKFxuICAgICAgOmFueS1saW5rLFxuICAgICAgYnV0dG9uLFxuICAgICAgW3R5cGU9J2J1dHRvbiddLFxuICAgICAgW3R5cGU9J3Jlc2V0J10sXG4gICAgICBbdHlwZT0nc3VibWl0J10sXG4gICAgICBsYWJlbFtmb3JdLFxuICAgICAgc2VsZWN0LFxuICAgICAgc3VtbWFyeSxcbiAgICAgIFtyb2xlPSd0YWInXSxcbiAgICAgIFtyb2xlPSdidXR0b24nXVxuICAgICkge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgfVxuICA6Zm9jdXM6bm90KDpmb2N1cy12aXNpYmxlKSB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgfVxuICBzdXAsXG4gIHN1YiB7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZm9udC1zaXplOiAwLjc1ZW07XG4gIH1cbiAgc3VwIHtcbiAgICBib3R0b206IC43NWV4O1xuICB9XG4gIHN1YiB7XG4gICAgdG9wOiAuNWV4O1xuICB9XG4gIGltZyB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogYXV0bztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xuICB9XG4gIC5zdmdfZGVmIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIHN2ZyB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG4gIHByZSB7XG4gICAgd2hpdGUtc3BhY2U6IHByZS13cmFwO1xuICB9XG4gIGh0bWwubGVuaXMsXG4gIGh0bWwubGVuaXMgYm9keSB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG4gIC5sZW5pcy5sZW5pcy1zbW9vdGgge1xuICAgIHNjcm9sbC1iZWhhdmlvcjogYXV0byAhaW1wb3J0YW50O1xuICB9XG4gIC5sZW5pcy5sZW5pcy1zbW9vdGggW2RhdGEtbGVuaXMtcHJldmVudF0ge1xuICAgIG92ZXJzY3JvbGwtYmVoYXZpb3I6IGNvbnRhaW47XG4gIH1cbiAgLmxlbmlzLmxlbmlzLXN0b3BwZWQge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gIH1cbiAgLmxlbmlzLmxlbmlzLXNjcm9sbGluZyBpZnJhbWUge1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB9XG4gIGh0bWwuaXMtY2hhbmdpbmcgLnRyYW5zaXRpb24tZmFkZSB7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAuNXM7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIGh0bWwuaXMtYW5pbWF0aW5nIC50cmFuc2l0aW9uLWZhZGUge1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgLjVzO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbiAgLmhpZGRlbi1zcCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBAaW5jbHVkZSBtcSB7XG4gICAgICBkaXNwbGF5OiB1bnNldDtcbiAgICB9XG4gIH1cbiAgLmhpZGRlbi1wY3tcbiAgICBAaW5jbHVkZSBtcSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuICAuaGlkZGVuLW92ZXItdGJsIHtcbiAgICBAaW5jbHVkZSBtcSh0YmwpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG4gIC5oaWRkZW4tb3Zlci10YiB7XG4gICAgQGluY2x1ZGUgbXEodGIpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG4gIC5oaWRkZW4tb3Zlci1zcCB7XG4gICAgQGluY2x1ZGUgbXEoc3ApIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgLnZpc3VhbGx5LWhpZGRlbiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gICAgd2lkdGg6IDFweCAhaW1wb3J0YW50O1xuICAgIGhlaWdodDogMXB4ICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbjogLTFweCAhaW1wb3J0YW50O1xuICAgIG92ZXJmbG93OiBoaWRkZW4gIWltcG9ydGFudDtcbiAgICBjbGlwOiByZWN0KDAsIDAsIDAsIDApICFpbXBvcnRhbnQ7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcCAhaW1wb3J0YW50O1xuICAgIGJvcmRlcjogMCAhaW1wb3J0YW50O1xuICB9XG4gIG1haW4ge1xuICAgIG92ZXJmbG93OmNsaXA7XG4gICAgZ3JpZC1hcmVhOiBtYWluO1xuICAgIHBhZGRpbmctdG9wOiB2dyg2MHB4KTtcbiAgICBAaW5jbHVkZSBtcSgpIHtcbiAgICAgIHBhZGRpbmctdG9wOiBwYygxMDBweCk7XG4gICAgfVxuICAgIC8qXG4gICAgQGluY2x1ZGUgbXEoKSB7XG4gICAgICAmOmhhcygubGVmdEFyZWEpIHtcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZTpcbiAgICAgICAgICBcImxlZnQgY29udGVudFwiIGF1dG9cbiAgICAgICAgICAvIGF1dG8gcGMoNzQ1cHgpO1xuICAgICAgICB3aWR0aDogcGMoMTE0M3B4KTtcbiAgICAgICAgbWFyZ2luLWlubGluZTogYXV0bztcbiAgICAgICAgLmxlZnRBcmVhIHtcbiAgICAgICAgICBncmlkLWFyZWE6IGxlZnQ7XG4gICAgICAgIH1cbiAgICAgICAgLmNvbnRlbnRBcmVhIHtcbiAgICAgICAgICBncmlkLWFyZWE6IGNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgKi9cbiAgfVxuICBAaW1wb3J0IFwiaGVhZGVyXCI7XG4gIEBpbXBvcnQgXCJmb290ZXJcIjtcbn1cblxuQGxheWVyIHBhcnRzIHtcbiAgQGltcG9ydCBcInBhcnRzL2luZGV4XCI7XG4gIEBpbXBvcnQgXCJwYXJ0c191bmlxL2luZGV4XCI7XG59XG5cbkBsYXllciBjb21wb25lbnRzIHtcbiAgQGltcG9ydCBcImNvbXBvbmVudC9pbmRleFwiO1xuICBAaW1wb3J0IFwibmF2aWdhdGlvbi9pbmRleFwiO1xuICBAaW1wb3J0IFwiYXJ0aWNsZXdyYXBwZXJcIjtcbiAgQGltcG9ydCBcInN3aXBlclwiO1xufVxuXG5AbGF5ZXIgdW5pcSB7XG4gIEBpbXBvcnQgXCJ1bmlxXCI7XG4gIEBpbXBvcnQgXCJ0b3BcIjtcbiAgQGltcG9ydCBcInRyYW5zaXRpb25zXCI7XG59XG5cbkBsYXllciBuZXdzIHtcbiAgQGltcG9ydCBcIm5ld3NcIjtcbn0iLCJodG1sLCBib2R5LCBkaXYsIHNwYW4sIGFwcGxldCwgb2JqZWN0LCBpZnJhbWUsIGgxLCBoMiwgaDMsIGg0LCBoNSwgaDYsIHAsIGJsb2NrcXVvdGUsIHByZSwgYSwgYWJiciwgYWNyb255bSwgYWRkcmVzcywgYmlnLCBjaXRlLCBjb2RlLCBkZWwsIGRmbiwgZW0sIGltZywgaW5zLCBrYmQsIHEsIHMsIHNhbXAsIHNtYWxsLCBzdHJpa2UsIHN0cm9uZywgc3ViLCBzdXAsIHR0LCB2YXIsIGIsIHUsIGksIGNlbnRlciwgZGwsIGR0LCBkZCwgb2wsIHVsLCBsaSwgZmllbGRzZXQsIGZvcm0sIGxhYmVsLCBsZWdlbmQsIHRhYmxlLCBjYXB0aW9uLCB0Ym9keSwgdGZvb3QsIHRoZWFkLCB0ciwgdGgsIHRkLCBhcnRpY2xlLCBhc2lkZSwgY2FudmFzLCBkZXRhaWxzLCBlbWJlZCwgZmlndXJlLCBmaWdjYXB0aW9uLCBmb290ZXIsIGhlYWRlciwgaGdyb3VwLCBtZW51LCBuYXYsIG91dHB1dCwgcnVieSwgc2VjdGlvbiwgc3VtbWFyeSwgdGltZSwgbWFyaywgYXVkaW8sIHZpZGVvIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXI6IDA7XG4gIGZvbnQ6IGluaGVyaXQ7XG4gIGZvbnQtc2l6ZTogMTAwJTtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuaHRtbCB7XG4gIGxpbmUtaGVpZ2h0OiAxO1xufVxub2wsIHVsIHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbn1cbnRhYmxlIHtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgYm9yZGVyLXNwYWNpbmc6IDA7XG59XG5jYXB0aW9uLCB0aCwgdGQge1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxucSwgYmxvY2txdW90ZSB7XG4gIHF1b3Rlczogbm9uZTtcbn1cbnE6YmVmb3JlLCBxOmFmdGVyLCBibG9ja3F1b3RlOmJlZm9yZSwgYmxvY2txdW90ZTphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGNvbnRlbnQ6IG5vbmU7XG59XG5hIGltZyB7XG4gIGJvcmRlcjogbm9uZTtcbn1cbmFydGljbGUsIGFzaWRlLCBkZXRhaWxzLCBmaWdjYXB0aW9uLCBmaWd1cmUsIGZvb3RlciwgaGVhZGVyLCBoZ3JvdXAsIG1lbnUsIG5hdiwgc2VjdGlvbiwgc3VtbWFyeSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuIiwiXG4kYnJlYWtwb2ludHM6IChcbiAgJ21pbic6ICdwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzNzRweCknLFxuICAnc3AnOiAncHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzc1cHgpJyxcbiAgJ3NwbCc6ICdwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkgYW5kIChvcmllbnRhdGlvbjpsYW5kc2NhcGUpJyxcbiAgJ3RiJzogJ3ByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KScsXG4gICd0YmwnOiAncHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTA4MHB4KScsXG4gICdwYyc6ICdwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxNDQwcHgpJyxcbiAgJ3BjbGFyZ2UnOiAncHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTYwMHB4KScsXG4pICFkZWZhdWx0O1xuXG5AbWl4aW4gbXEoJGJyZWFrcG9pbnQ6IHRiKSB7XG4gIEBtZWRpYSAje21hcC1nZXQoJGJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludCl9IHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuQGZ1bmN0aW9uIGlzLWNzcy12YXIoJHZhbHVlKSB7XG4gICRmaXJzdC1jaGFyczogc3RyLXNsaWNlKCN7JHZhbHVlfSwgMSwgMik7XG4gIEByZXR1cm4gJGZpcnN0LWNoYXJzID09ICctLScgb3Igc3RyLWluZGV4KCN7JHZhbHVlfSwgJ3ZhcigtLScpICE9IG51bGw7XG59XG5AbWl4aW4gcGQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGNvbnRlbnQ6ICcnO1xuICBkaXNwbGF5OiBibG9jaztcbn1cbkBtaXhpbiBob3Zlck9wKCRvcDowLjY1KSB7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgLjNzIHZhcigtLWJlemllcik7XG4gIEBtZWRpYSAoYW55LWhvdmVyOiBob3Zlcikge1xuICAgICY6aG92ZXIge1xuICAgICAgb3BhY2l0eTogJG9wO1xuICAgIH1cbiAgfVxufVxuQG1peGluIGhvdmVyQ29sb3IoJGNvbG9yKSB7XG4gIHRyYW5zaXRpb246IGNvbG9yIC4zcyB2YXIoLS1iZXppZXIpO1xuICBAbWVkaWEgKGFueS1ob3ZlcjogaG92ZXIpIHtcbiAgICAmOmhvdmVyIHtcbiAgICAgIEBpZiBpcy1jc3MtdmFyKCRjb2xvcikge1xuICAgICAgICBAaWYgc3RyLWluZGV4KCN7JGNvbG9yfSwgJ3ZhcignKSAhPSBudWxsIHtcbiAgICAgICAgICBjb2xvcjogI3skY29sb3J9O1xuICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICBjb2xvcjogdmFyKCN7JGNvbG9yfSk7XG4gICAgICAgIH1cbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICBjb2xvcjogJGNvbG9yO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuQG1peGluIGNvbnRhaW5lcigkd2lkdGg6MTAyNnB4KSB7XG4gIHBhZGRpbmctbGVmdDogdncoLS1jb250YWluZXItcGFkZGluZy1zcCk7XG4gIHBhZGRpbmctcmlnaHQ6IHZ3KC0tY29udGFpbmVyLXBhZGRpbmctc3ApO1xuICBAaW5jbHVkZSBtcSgpIHtcbiAgICBwYWRkaW5nLWxlZnQ6IHVuc2V0O1xuICAgIHBhZGRpbmctcmlnaHQ6IHVuc2V0O1xuICAgIG1hcmdpbi1pbmxpbmU6IGF1dG87XG4gICAgQGlmICR3aWR0aCA9PSB3aWRle1xuICAgICAgd2lkdGg6IHBjKDEyNDBweCk7XG4gICAgfSBAZWxzZSB7XG4gICAgICB3aWR0aDogcGMoJHdpZHRoKTtcbiAgICB9XG4gIH1cbn1cbkBtaXhpbiBwYWRkaW5nTFIge1xuICBwYWRkaW5nLWxlZnQ6IHZ3KC0tY29udGFpbmVyLXBhZGRpbmctc3ApO1xuICBwYWRkaW5nLXJpZ2h0OiB2dygtLWNvbnRhaW5lci1wYWRkaW5nLXNwKTtcbiAgQGluY2x1ZGUgbXEge1xuICAgIHBhZGRpbmctbGVmdDogdW5zZXQ7XG4gICAgcGFkZGluZy1yaWdodDogdW5zZXQ7XG4gIH1cbn1cbkBmdW5jdGlvbiBzdHJpcC11bml0KCRudW1iZXIpIHtcbiAgQGlmIHR5cGUtb2YoJG51bWJlcikgPT0gJ251bWJlcicgYW5kIG5vdCB1bml0bGVzcygkbnVtYmVyKSB7XG4gICAgQHJldHVybiAkbnVtYmVyIC8gKCRudW1iZXIgKiAwICsgMSk7XG4gIH1cbiAgQHJldHVybiAkbnVtYmVyO1xufVxuXG5AZnVuY3Rpb24gdncoJHB4LCAkYmFzZTogMzkwcHgpIHtcbiAgQGlmIGlzLWNzcy12YXIoJHB4KSB7XG4gICAgQGlmIHN0ci1pbmRleCgjeyRweH0sICd2YXIoJykgIT0gbnVsbCB7XG4gICAgICBAcmV0dXJuIGNhbGMoI3skcHh9IC8gI3tzdHJpcC11bml0KCRiYXNlKX0gKiAxMDB2dyk7XG4gICAgfVxuICAgIEByZXR1cm4gY2FsYyh2YXIoI3skcHh9KSAvICN7c3RyaXAtdW5pdCgkYmFzZSl9ICogMTAwdncpO1xuICB9XG5cbiAgJHZhbHVlOiAkcHg7XG4gIEBpZiAodW5pdCgkcHgpICE9ICdweCcpIHtcbiAgICBAd2FybiAndncoKeOBruW8leaVsOOBq3B45Lul5aSW44Gu5YCk44KS5oyH5a6a44GX44Gm44KC6KiI566X44Gn44GN44G+44Gb44KTJztcbiAgICBAcmV0dXJuICR2YWx1ZTtcbiAgfVxuICAkdmFsdWU6IGNhbGMoI3tzdHJpcC11bml0KCRweCl9IC8gI3tzdHJpcC11bml0KCRiYXNlKX0gKiAxMDB2dyk7XG4gIEByZXR1cm4gJHZhbHVlO1xufVxuXG5AZnVuY3Rpb24gcGMoJHB4LCAkYmFzZTogMTQ0MHB4KSB7XG4gIEBpZiBpcy1jc3MtdmFyKCRweCkge1xuICAgIEBpZiBzdHItaW5kZXgoI3skcHh9LCAndmFyKCcpICE9IG51bGwge1xuICAgICAgJHZ3LXZhbHVlOiBjYWxjKCN7JHB4fSAvICN7c3RyaXAtdW5pdCgkYmFzZSl9ICogMTAwdncpO1xuICAgICAgQHJldHVybiBtaW4oY2FsYygjeyRweH0gKiAxcHgpLCAjeyR2dy12YWx1ZX0pO1xuICAgIH1cbiAgICAkdnctdmFsdWU6IGNhbGModmFyKCN7JHB4fSkgLyAje3N0cmlwLXVuaXQoJGJhc2UpfSAqIDEwMHZ3KTtcbiAgICBAcmV0dXJuIG1pbihjYWxjKHZhcigjeyRweH0pICogMXB4KSwgI3skdnctdmFsdWV9KTtcbiAgfVxuXG4gICR2YWx1ZTogJHB4O1xuICBAaWYgKHVuaXQoJHB4KSAhPSAncHgnKSB7XG4gICAgQHdhcm4gJ3BjKCnjga7lvJXmlbDjgatweOS7peWkluOBruWApOOCkuaMh+WumuOBl+OBpuOCguioiOeul+OBp+OBjeOBvuOBm+OCkyc7XG4gICAgQHJldHVybiAkdmFsdWU7XG4gIH1cbiAgJHZhbHVlOiBjYWxjKCN7c3RyaXAtdW5pdCgkcHgpfSAvICN7c3RyaXAtdW5pdCgkYmFzZSl9ICogMTAwdncpO1xuICBAcmV0dXJuIG1pbigjeyRweH0sICN7JHZhbHVlfSk7XG59XG5cblxuQGZ1bmN0aW9uIHBjbWF4KCRweCwgJGJhc2U6IDE0NDBweCkge1xuICBAaWYgaXMtY3NzLXZhcigkcHgpIHtcbiAgICBAaWYgc3RyLWluZGV4KCN7JHB4fSwgJ3ZhcignKSAhPSBudWxsIHtcbiAgICAgICR2dy12YWx1ZTogY2FsYygjeyRweH0gLyAje3N0cmlwLXVuaXQoJGJhc2UpfSAqIDEwMHZ3KTtcbiAgICAgIEByZXR1cm4gbWF4KGNhbGMoI3skcHh9ICogMXB4KSwgI3skdnctdmFsdWV9KTtcbiAgICB9XG4gICAgJHZ3LXZhbHVlOiBjYWxjKHZhcigjeyRweH0pIC8gI3tzdHJpcC11bml0KCRiYXNlKX0gKiAxMDB2dyk7XG4gICAgQHJldHVybiBtYXgoY2FsYyh2YXIoI3skcHh9KSAqIDFweCksICN7JHZ3LXZhbHVlfSk7XG4gIH1cblxuICAkdmFsdWU6ICRweDtcbiAgQGlmICh1bml0KCRweCkgIT0gJ3B4Jykge1xuICAgIEB3YXJuICdwY21heCgp44Gu5byV5pWw44GrcHjku6XlpJbjga7lgKTjgpLmjIflrprjgZfjgabjgoLoqIjnrpfjgafjgY3jgb7jgZvjgpMnO1xuICAgIEByZXR1cm4gJHZhbHVlO1xuICB9XG4gICR2YWx1ZTogY2FsYygje3N0cmlwLXVuaXQoJHB4KX0gLyAje3N0cmlwLXVuaXQoJGJhc2UpfSAqIDEwMHZ3KTtcbiAgQHJldHVybiBtYXgoI3skcHh9LCAjeyR2YWx1ZX0pO1xufVxuXG5cbkBtaXhpbiBzcF9wYyB7XG4gICYuc3Age1xuICAgIEBpbmNsdWRlIG1xIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG4gICYucGMge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgQGluY2x1ZGUgbXEge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBidXR0b24oJHNpemU6bWVkaXVtLCAkY29sb3I6ZGVmYXVsdCkge1xuICAvKlxuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlOiBcbiAgICBcImJlZm9yZSB0ZXh0IGFmdGVyXCIgYXV0b1xuICAgIC8gMWZyIGF1dG8gMWZyO1xuICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXN1cmZhY2UpO1xuICBmb250LXdlaWdodDogNTAwO1xuICBmb250LXNpemU6IHZ3KC0tZnMtcyk7XG4gIHBhZGRpbmc6IHZ3KDE4cHgpIHZ3KDE4cHgpO1xuICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dCk7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtcGlsbCk7XG4gIGJvcmRlcjogMXB4IHNvbGlkICMzMzhENUI7XG4gIGdhcDogdncoMTJweCk7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAuM3MgdmFyKC0tYmV6aWVyKTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIG1pbi13aWR0aDogdncoMjYwcHgpO1xuICBAaW5jbHVkZSBob3Zlck9wO1xuICBAaW5jbHVkZSBtcSgpIHtcbiAgICBmb250LXNpemU6IHBjKC0tZnMtbSk7XG4gICAgcGFkZGluZzogcGMoMThweCkgcGMoMTZweCk7XG4gICAgZ2FwOiBwYygxMnB4KTtcbiAgICBtaW4td2lkdGg6IHBjKDI4NnB4KTtcbiAgfVxuICAmW3RhcmdldD1cIl9ibGFua1wiXSB7XG4gICAgJjo6YWZ0ZXIge1xuICAgICAgbWFzay1pbWFnZTogdXJsKC9pbWFnZXMvaWNvbl9leHRlcm5hbC5zdmcpO1xuICAgICAgbWFzay1zaXplOiBjb250YWluO1xuICAgICAgbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgIG1hc2stcG9zaXRpb246IGNlbnRlcjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXRleHQtb24tYWNjZW50KTtcbiAgICAgIHdpZHRoOiB2dygxNHB4KTtcbiAgICAgIGhlaWdodDogdncoMTRweCk7XG4gICAgICBAaW5jbHVkZSBtcSB7XG4gICAgICAgIHdpZHRoOiBwYygxOHB4KTtcbiAgICAgICAgaGVpZ2h0OiBwYygxOHB4KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgJjo6YmVmb3JlIHtcbiAgICBncmlkLWFyZWE6IGJlZm9yZTtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogdncoMjBweCk7XG4gIH1cbiAgJjo6YWZ0ZXIge1xuICAgIGp1c3RpZnktc2VsZjogZW5kO1xuICAgIGdyaWQtYXJlYTogYWZ0ZXI7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IHZ3KDIwcHgpO1xuICAgIGFzcGVjdC1yYXRpbzogMSAvIDE7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzMzOEQ1QjtcbiAgICBtYXNrLWltYWdlOiB1cmwoJy9pbWFnZXMvYXJyb3dfYnV0dG9uLnN2ZycpO1xuICAgIG1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgbWFzay1zaXplOiBjb250YWluO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAxO1xuICAgIHRyYW5zaXRpb246IHRyYW5zbGF0ZSAuM3MgdmFyKC0tYmV6aWVyKTtcbiAgICB0cmFuc2xhdGU6IHZ3KC0ycHgpIDA7XG4gICAgQGluY2x1ZGUgbXEoKSB7XG4gICAgICB3aWR0aDogcGMoMjBweCk7XG4gICAgICB0cmFuc2xhdGU6IHBjKC0ycHgpIDA7XG4gICAgfVxuICB9XG4gIEBpZiAkY29sb3IgPT0gcmV2ZXJzZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3Itc3VyZmFjZSk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQpO1xuICAgICY6OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1icmFuZCk7XG4gICAgfVxuXG4gICAgQG1lZGlhIChhbnktaG92ZXI6IGhvdmVyKSB7XG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3Itc3VyZmFjZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRzaXplID09IGFwcGx5IHtcbiAgICBtaW4td2lkdGg6IHZ3KDI4MHB4KTtcbiAgICBAaW5jbHVkZSBtcSgpIHtcbiAgICAgIG1pbi13aWR0aDogcGMoNTAwcHgpO1xuICAgIH1cbiAgfVxuICAgICovXG59XG5AbWl4aW4gaG92ZXJPcCgkb3A6MC43KSB7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgLjNzIHZhcigtLWJlemllcik7XG4gICY6aG92ZXIge1xuICAgIG9wYWNpdHk6ICRvcDtcbiAgfVxufVxuQG1peGluIGhvdmVyQ29sb3IoJGNvbG9yOnZhcigtLWNvbG9yLWJyYW5kKSkge1xuICB0cmFuc2l0aW9uOiBjb2xvciAuM3MgdmFyKC0tYmV6aWVyKTtcbiAgJjpob3ZlciB7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgfVxufVxuXG5AbWl4aW4gZ3JpZCgkY29scywkZ2FwLXZlcnQsJGdhcC1ob3Jpeikge1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgkY29scywgMWZyKTtcbiAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiByZXBlYXQoMSwgYXV0byk7XG4gIGdyaWQtZ2FwOiAkZ2FwLXZlcnQgJGdhcC1ob3Jpejtcbn1cblxuQG1peGluIGNsZWFyZml4KCkge1xuICAmOjphZnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgY29udGVudDogJyc7XG4gIH1cbn1cbkBtaXhpbiBzZWN0aW9uIHtcbiAgbWFyZ2luLXRvcDogdncoLS1tYXJnaW4tc2VjdGlvbik7XG4gIEBpbmNsdWRlIG1xIHtcbiAgICBtYXJnaW4tdG9wOiBwYygtLW1hcmdpbi1zZWN0aW9uLXBjKTtcbiAgfVxufVxuQG1peGluIG1vZHVsZSB7XG4gIG1hcmdpbi10b3A6IHZ3KC0tbWFyZ2luLW1vZHVsZSk7XG4gIEBpbmNsdWRlIG1xIHtcbiAgICBtYXJnaW4tdG9wOiBwYygtLW1hcmdpbi1tb2R1bGUtcGMpO1xuICB9XG59XG5AbWl4aW4gcGFydHMge1xuICBtYXJnaW4tdG9wOiB2dygtLW1hcmdpbi1wYXJ0cyk7XG4gIEBpbmNsdWRlIG1xIHtcbiAgICBtYXJnaW4tdG9wOiBwYygtLW1hcmdpbi1wYXJ0cy1wYyk7XG4gIH1cbn1cbkBtaXhpbiBoZWFkaW5nLXNtYWxsIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gIGZvbnQtc2l6ZTogdncoLS1mcy1tKTtcbiAgbGluZS1oZWlnaHQ6IHZhcigtLWxpbmUtaGVpZ2h0LXhzbWFsbCk7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogYXV0byAxZnI7XG4gIGdhcDogdncoOHB4KTtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXRoaXJkLXdlYWspO1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1mYW1pbHktZW4pO1xuICBAaW5jbHVkZSBtcSB7XG4gICAgZm9udC1zaXplOiBwYygtLWZzLXhsKTtcbiAgICBnYXA6IHBjKDE2cHgpO1xuICB9XG4gICY6OmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiAxbGg7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcvaW1hZ2VzL2ljb25faGVhZGluZy5zdmcnKTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0wLjFlbSk7XG4gICAgd2lkdGg6IHZ3KDEwcHgpO1xuICAgIEBpbmNsdWRlIG1xKCkge1xuICAgICAgd2lkdGg6IHBjKDE2cHgpO1xuICAgIH1cbiAgfVxufVxuXG5cbkBtaXhpbiBmcygkZnRzLCAkbGluOiAxNCwkbHM6MCkge1xuICAkcmVtOiBjYWxjKCRmdHMgLyAxMCk7XG4gICRsaW5TOiBjYWxjKCRsaW4gLyAkZnRzKTtcbiAgJGxzbTogY2FsYygkbHMgKiAwLjAwMSk7XG4gIGZvbnQtc2l6ZTogI3skZnRzfXB4O1xuICBmb250LXNpemU6ICN7JHJlbX1yZW07XG4gIGxpbmUtaGVpZ2h0OiAkbGluUztcbiAgbGV0dGVyLXNwYWNpbmc6ICN7JGxzbX1lbTtcbiAgXG59XG5cbkBtaXhpbiB0ZXh0KCRzaXplOm1lZGl1bSl7XG4gIEBpZiAkc2l6ZSA9PSB4eHNtYWxsIHtcbiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1mYW1pbHktZW4pO1xuICAgIEBpbmNsdWRlIGZzKDEwLDE2LDUwKTtcbiAgICBAaW5jbHVkZSBtcSh0YmwpIHtcbiAgICAgIEBpbmNsdWRlIGZzKDEyLDE4LDUwKTtcbiAgICB9XG4gIH1cbiAgQGlmICRzaXplID09IHhzbWFsbCB7XG4gICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZmFtaWx5LWVuKTtcbiAgICBAaW5jbHVkZSBmcygxMSwxOCw1MCk7XG4gICAgQGluY2x1ZGUgbXEodGJsKSB7XG4gICAgICBAaW5jbHVkZSBmcygxMywyMSw1MCk7XG4gICAgfVxuICB9XG4gIEBpZiAkc2l6ZSA9PSBzbWFsbCB7XG4gICAgQGluY2x1ZGUgZnMoMTIsMjIsNTApO1xuICAgIEBpbmNsdWRlIG1xKHRibCkge1xuICAgICAgQGluY2x1ZGUgZnMoMTQsMjgsNTApO1xuICAgIH1cbiAgfVxuICBAaWYgJHNpemUgPT0gbWVkaXVtIHtcbiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1mYW1pbHktZW4pO1xuICAgIEBpbmNsdWRlIGZzKDE1LDI4LDUwKTtcbiAgICBAaW5jbHVkZSBtcSh0YmwpIHtcbiAgICAgIEBpbmNsdWRlIGZzKDE2LDM0LDUwKTtcbiAgICB9XG4gIH1cbiAgQGlmICRzaXplID09IGxhcmdlIHtcbiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1mYW1pbHktZW4pO1xuICAgIEBpbmNsdWRlIGZzKDE2LDMwLDUwKTtcbiAgICBAaW5jbHVkZSBtcSh0YmwpIHtcbiAgICAgIEBpbmNsdWRlIGZzKDE4LDMyLDUwKTtcbiAgICB9XG4gIH1cbiAgQGlmICRzaXplID09IHhsYXJnZSB7XG4gICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZmFtaWx5LWVuKTtcbiAgICBAaW5jbHVkZSBmcygxOCwzMiw1MCk7XG4gICAgQGluY2x1ZGUgbXEodGJsKSB7XG4gICAgICBAaW5jbHVkZSBmcygyMCwzNCw1MCk7XG4gICAgfVxuICB9XG4gIEBpZiAkc2l6ZSA9PSBjYXB0aW9uIHtcbiAgICBAaW5jbHVkZSBmcygxMSwxOCw1MCk7XG4gICAgY29sb3I6ICRncmF5O1xuICAgIEBpbmNsdWRlIG1xKHRibCkge1xuICAgICAgQGluY2x1ZGUgZnMoMTMsMjEsNTApO1xuICAgIH1cbiAgfVxuICBAaWYgJHNpemUgPT0gaGVhZGluZy1sYXJnZSB7XG4gICAgZm9udC1mYW1pbHk6dmFyKC0tZm9udC1mYW1pbHktZW4pO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICBAaW5jbHVkZSBmcygyMCwzNCw1MCk7XG4gICAgQGluY2x1ZGUgbXEodGJsKSB7XG4gICAgICBAaW5jbHVkZSBmcygzMiw1OCw1MCk7XG4gICAgfVxuICB9XG4gIEBpZiAkc2l6ZSA9PSBoZWFkaW5nLW1lZGl1bSB7XG4gICAgZm9udC1mYW1pbHk6dmFyKC0tZm9udC1mYW1pbHktZW4pO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICBAaW5jbHVkZSBmcygxNywyNSwxMDApO1xuICAgIEBpbmNsdWRlIG1xKHRibCkge1xuICAgICAgQGluY2x1ZGUgZnMoMjYsNDYsMTAwKTtcbiAgICB9XG4gIH1cbiAgQGlmICRzaXplID09IGhlYWRpbmctc21hbGwge1xuICAgIGZvbnQtZmFtaWx5OnZhcigtLWZvbnQtZmFtaWx5LWVuKTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgQGluY2x1ZGUgZnMoMTQsMjAsMTAwKTtcbiAgICBAaW5jbHVkZSBtcSh0YmwpIHtcbiAgICAgIEBpbmNsdWRlIGZzKDIwLDMwLDEwMCk7XG4gICAgfVxuICB9XG4gIEBpZiAkc2l6ZSA9PSBoZWFkaW5nLXhzbWFsbCB7XG4gICAgZm9udC1mYW1pbHk6dmFyKC0tZm9udC1mYW1pbHktZW4pO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICBAaW5jbHVkZSBmcygxNCwyMCwxMDApO1xuICAgIEBpbmNsdWRlIG1xKHRibCkge1xuICAgICAgQGluY2x1ZGUgZnMoMjAsMzAsMTAwKTtcbiAgICB9XG4gIH1cbiAgQGlmICRzaXplID09IGhlYWRpbmcteHhzbWFsbCB7XG4gICAgZm9udC1mYW1pbHk6dmFyKC0tZm9udC1mYW1pbHktZW4pO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICBAaW5jbHVkZSBmcygxNCwyMCwxMDApO1xuICAgIEBpbmNsdWRlIG1xKHRibCkge1xuICAgICAgQGluY2x1ZGUgZnMoMjAsMzAsMTAwKTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIHNsaWNrZG90cygkd2lkdGg6OHB4LCRoZWlnaHQ6OHB4KSB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbGkge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogYXV0bztcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogMCA1cHg7XG4gICAgYnV0dG9uIHtcbiAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXN1cmZhY2UpO1xuICAgICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgaGVpZ2h0OiAkaGVpZ2h0O1xuICAgICAgd2lkdGg6ICR3aWR0aDtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIH1cbiAgICAmLnNsaWNrLWFjdGl2ZSB7XG4gICAgICBidXR0b24ge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci10aGlyZC13ZWFrKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1peGluIHRvcG1hcmdpbigkc2l6ZTptZWRpdW0pe1xuICBtYXJnaW4tdG9wOiA0MHB4O1xuICBAaW5jbHVkZSBtcSh0YmwpIHtcbiAgICBtYXJnaW4tdG9wOiA2MHB4O1xuICB9XG4gIEBpZiAkc2l6ZSA9PSBzbWFsbCB7XG4gICAgbWFyZ2luLXRvcDogMjVweDtcbiAgICBAaW5jbHVkZSBtcSh0YmwpIHtcbiAgICAgIG1hcmdpbi10b3A6IDQwcHg7XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRzaXplID09IGxhcmdlIHtcbiAgICBtYXJnaW4tdG9wOiA2MHB4O1xuICAgIEBpbmNsdWRlIG1xKHRibCkge1xuICAgICAgbWFyZ2luLXRvcDogODBweDtcbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJHNpemUgPT0geGxhcmdlIHtcbiAgICBtYXJnaW4tdG9wOiA4MHB4O1xuICAgIEBpbmNsdWRlIG1xKHRibCkge1xuICAgICAgbWFyZ2luLXRvcDogMTAwcHg7XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRzaXplID09IHh4bGFyZ2Uge1xuICAgIG1hcmdpbi10b3A6IDEwMHB4O1xuICAgIEBpbmNsdWRlIG1xKHRibCkge1xuICAgICAgbWFyZ2luLXRvcDogMTIwcHg7XG4gICAgfVxuICB9XG59XG5cblxuQG1peGluIGhlYWRpbmdMUCB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgaSB7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgIEBpbmNsdWRlIGZzKDE2LDIyLDUwKTtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBAaW5jbHVkZSBtcSh0YmwpIHtcbiAgICAgIEBpbmNsdWRlIGZzKDE4LDI1LDUwKTtcbiAgICB9XG4gIH1cbiAgaDEge1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICBAaW5jbHVkZSBmcygzMCwzNiw1MCk7XG4gICAgQGluY2x1ZGUgbXEodGJsKSB7XG4gICAgICBAaW5jbHVkZSBmcygzNiw0Niw1MCk7XG4gICAgfVxuICB9XG4gIHAge1xuICAgIG1hcmdpbi10b3A6IDMwcHg7XG4gICAgQGluY2x1ZGUgZnMoMTQsMjQsNTApO1xuICAgIEBpbmNsdWRlIG1xKHRibCkge1xuICAgICAgQGluY2x1ZGUgZnMoMTYsMzIsNTApO1xuICAgIH1cbiAgfVxufVxuQG1peGluIHNpZGVNZW51VGl0bGUge1xuICBmb250LXNpemU6IHZ3KC0tZnMteHh4cyk7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdhcDogNXB4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IGF1dG8gMWZyO1xuICBAaW5jbHVkZSBtcSgpIHtcbiAgICBmb250LXNpemU6IHBjKC0tZnMteHh4cyk7XG4gICAgZ2FwOiBwYyg1cHgpO1xuICB9XG4gICY6OmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDJweDtcbiAgICBoZWlnaHQ6IDJweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1icmFuZCk7XG4gICAgQGluY2x1ZGUgbXEoKSB7XG4gICAgICB3aWR0aDogcGMoMnB4KTtcbiAgICAgIGhlaWdodDogcGMoMnB4KTtcbiAgICB9XG4gIH1cbn1cbkBtaXhpbiBtZW51VW5pdCB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIHBhZGRpbmctYmxvY2s6IHZ3KDEwcHgpO1xuICBmb250LXNpemU6IHZ3KC0tZnMteHMpO1xuICBsaW5lLWhlaWdodDogMTUwJTtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgYXV0bztcbiAgZ2FwOiB2dyg4cHgpO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBAaW5jbHVkZSBob3ZlckNvbG9yKHZhcigtLWNvbG9yLWJyYW5kLXNlY29uZGFyeSkpO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyKTtcbiAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LW1lZGl1bSk7XG4gIEBpbmNsdWRlIG1xKCkge1xuICAgIHBhZGRpbmctYmxvY2s6IHBjKDhweCk7XG4gICAgcGFkZGluZy1pbmxpbmU6IHBjKDFweCkgcGMoNnB4KTtcbiAgICBmb250LXNpemU6IHBjKC0tZnMteHMpO1xuICAgIGdhcDogcGMoMTJweCk7XG4gIH1cbiAgQG1lZGlhIChhbnktaG92ZXI6IGhvdmVyKSB7XG4gICAgJjpob3ZlciB7XG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIHRyYW5zbGF0ZTogMCAtM3B4O1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAmLmlzLXNob3cge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1icmFuZC1wcmltYXJ5KTtcbiAgfVxuICAmOjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IHZ3KDEycHgpO1xuICAgIGhlaWdodDogdncoMTJweCk7XG4gICAgYmFja2dyb3VuZDogdXJsKC9pbWFnZXMvaWNvbl9hcnJvd19uZXh0LnN2Zykgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXIgLyBjb250YWluO1xuICAgIHRyYW5zaXRpb246IHRyYW5zbGF0ZSB2YXIoLS10cmFuc2l0aW9uLXNwZWVkLWZhc3QpIHZhcigtLWJlemllcik7XG4gICAgQGluY2x1ZGUgbXEoKSB7XG4gICAgICB3aWR0aDogcGMoMTRweCk7XG4gICAgICBoZWlnaHQ6IHBjKDE0cHgpO1xuICAgIH1cbiAgfVxufSIsbnVsbCwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuQGltcG9ydCBcIm1peGluc1wiO1xuXG5cbmhlYWRlciB7XG4gIGdyaWQtYXJlYTogaGVhZGVyO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHdpZHRoOiAxMDAlO1xuICB0b3A6IDA7XG4gIHotaW5kZXg6IDEwMDtcbiAgdHJhbnNpdGlvbjogdHJhbnNsYXRlIHZhcigtLXRyYW5zaXRpb24tc3BlZWQtc2xvdykgdmFyKC0tYmV6aWVyKSwgYmFja2dyb3VuZC1jb2xvciB2YXIoLS10cmFuc2l0aW9uLXNwZWVkLXNsb3cpIHZhcigtLWJlemllcik7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXN1cmZhY2UpO1xuICBib2R5LmlzLWRvd24gJiB7XG4gICAgdHJhbnNsYXRlOiAwIC0xMjAlO1xuICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiB2YXIoLS1iZXppZXIpO1xuICB9XG4gIGJvZHkuaXMtZml4ZWQgJiB7XG4gICAgdHJhbnNsYXRlOiAwIC0xMjAlO1xuICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiB2YXIoLS1iZXppZXIpO1xuICB9XG4gIGJvZHkuaXMtc2Nyb2xsICYge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXN1cmZhY2UpO1xuICB9XG4gIEBtZWRpYSBwcmludCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICB9XG4gIC5pbm5lciB7XG4gICAgcGFkZGluZy1pbmxpbmU6IHZ3KDE2cHgpO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBoZWlnaHQ6IHZ3KDYwcHgpO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiB2dygyNnB4KTtcbiAgICBAaW5jbHVkZSBtcSB7XG4gICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBhdXRvIDFmciBhdXRvO1xuICAgICAgaGVpZ2h0OiBwYygxMDBweCk7XG4gICAgICBnYXA6IHBjKDMycHgpO1xuICAgICAgcGFkZGluZy1pbmxpbmU6IHBjKDQ4cHgpO1xuICAgIH1cbiAgICAjbG9nbyB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB6LWluZGV4OiAxMDA7XG4gICAgICBmbGV4OiAwO1xuICAgICAgYSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogdncoODlweCk7XG4gICAgICAgIEBpbmNsdWRlIG1xIHtcbiAgICAgICAgICB3aWR0aDogcGMoMTQ2cHgpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgICNzZWFyY2hGb3JtIHtcbiAgICAgIGZsZXg6IDE7XG4gICAgfVxuICAgICNzZWFyY2hBcmVhIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJhY2tncm91bmQpO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBwYWRkaW5nOiB2dyg0cHgpIHZ3KDhweCk7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGdhcDogdncoOHB4KTtcbiAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1zcGVlZC1mYXN0KSB2YXIoLS1iZXppZXIpO1xuICAgICAgQGluY2x1ZGUgbXEge1xuICAgICAgICBwYWRkaW5nOiBwYyg0cHgpIHBjKDhweCk7XG4gICAgICAgIGdhcDogcGMoOHB4KTtcbiAgICAgICAgbWF4LXdpZHRoOiBwYygzNTBweCk7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgfVxuICAgICAgQG1lZGlhIChhbnktaG92ZXI6IGhvdmVyKSB7XG4gICAgICAgICY6aG92ZXIsICY6Zm9jdXMtd2l0aGluIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1ncmF5LXdlYWspO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBpbnB1dFt0eXBlPVwic2VhcmNoXCJdIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgcGFkZGluZzogdW5zZXQ7XG4gICAgICAgIGZvbnQ6IGluaGVyaXQ7XG4gICAgICAgIGZvbnQtc2l6ZTogdncoLS1mcy14cyk7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGhlaWdodDogdncoMjRweCk7XG4gICAgICAgIGZsZXg6IDE7XG4gICAgICAgIEBpbmNsdWRlIG1xIHtcbiAgICAgICAgICBmb250LXNpemU6IHBjKC0tZnMteHMpO1xuICAgICAgICAgIGhlaWdodDogcGMoMjRweCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGJ1dHRvblt0eXBlPVwic3VibWl0XCJdIHtcbiAgICAgICAgaW1nIHtcbiAgICAgICAgICB3aWR0aDogdncoMjBweCk7XG4gICAgICAgICAgaGVpZ2h0OiB2dygyMHB4KTtcbiAgICAgICAgICBAaW5jbHVkZSBtcSB7XG4gICAgICAgICAgICB3aWR0aDogcGMoMjBweCk7XG4gICAgICAgICAgICBoZWlnaHQ6IHBjKDIwcHgpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG5cbiAgICB9XG4gICAgI21lbnVCdXR0b24ge1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgcmlnaHQ6IHZ3KDZweCk7XG4gICAgICB6LWluZGV4OiAxMDA7XG4gICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1zdXJmYWNlKTtcbiAgICAgIGFzcGVjdC1yYXRpbzogMSAvIDE7XG4gICAgICB3aWR0aDogdncoNDhweCk7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXIpO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIEBpbmNsdWRlIG1xIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgICAgIC5saW5lcyB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgd2lkdGg6IHZ3KDI0cHgpO1xuICAgICAgICBoZWlnaHQ6IHZ3KDI0cHgpO1xuICAgICAgICBzcGFuIHtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgbGVmdDogdncoMnB4KTtcbiAgICAgICAgICB3aWR0aDogdncoMjBweCk7XG4gICAgICAgICAgaGVpZ2h0OiB2dygycHgpO1xuICAgICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJsYWNrKTtcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLXBpbGwpO1xuICAgICAgICAgIHRyYW5zaXRpb246XG4gICAgICAgICAgICB0cmFuc2Zvcm0gdmFyKC0tdHJhbnNpdGlvbi1zcGVlZCkgdmFyKC0tYmV6aWVyKSxcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1zcGVlZCkgdmFyKC0tYmV6aWVyKSAuMnMsXG4gICAgICAgICAgICB0b3AgdmFyKC0tdHJhbnNpdGlvbi1zcGVlZCkgdmFyKC0tYmV6aWVyKSAuMnNcbiAgICAgICAgICA7XG4gICAgICAgICAgJi5saW5lMDEge1xuICAgICAgICAgICAgdG9wOiB2dyg2cHgpO1xuICAgICAgICAgIH1cbiAgICAgICAgICAmLmxpbmUwMiB7XG4gICAgICAgICAgICB0b3A6IHZ3KDExcHgpO1xuICAgICAgICAgIH1cbiAgICAgICAgICAmLmxpbmUwMyB7XG4gICAgICAgICAgICB0b3A6IHZ3KDE2cHgpO1xuICAgICAgICAgICAgd2lkdGg6IHZ3KDEycHgpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJi5zaG93IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItZ3JheSk7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItZ3JheSk7XG4gICAgICAgIC5saW5lcyB7XG4gICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LW9uLWFjY2VudCk7XG4gICAgICAgICAgICB0b3A6IHZ3KDExcHgpO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjpcbiAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvciB2YXIoLS10cmFuc2l0aW9uLXNwZWVkKSB2YXIoLS1iZXppZXIpLFxuICAgICAgICAgICAgICB0b3AgdmFyKC0tdHJhbnNpdGlvbi1zcGVlZCkgdmFyKC0tYmV6aWVyKSxcbiAgICAgICAgICAgICAgb3BhY2l0eSB2YXIoLS10cmFuc2l0aW9uLXNwZWVkKSB2YXIoLS1iZXppZXIpLFxuICAgICAgICAgICAgICB0cmFuc2Zvcm0gdmFyKC0tdHJhbnNpdGlvbi1zcGVlZCkgdmFyKC0tYmV6aWVyKSAuMnNcbiAgICAgICAgICAgIDtcbiAgICAgICAgICAgICYubGluZTAxIHtcbiAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGVaKDQ1ZGVnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICYubGluZTAyIHtcbiAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGVaKC00NWRlZyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmLmxpbmUwMyB7XG4gICAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIC8qXG4gICAgI2duYXYge1xuICAgICAgQGluY2x1ZGUgbXEge1xuICAgICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICBwYWRkaW5nLWlubGluZTogdW5zZXQ7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICBwYWRkaW5nLWJsb2NrOiB1bnNldDtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IGF1dG87XG4gICAgICB9XG4gICAgICAmLnNob3cge1xuICAgICAgICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgLmduYXZpbm5lciB7XG4gICAgICAgICAgdHJhbnNsYXRlOiAwO1xuICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC5nbmF2aW5uZXIge1xuICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyKTtcbiAgICAgICAgcGFkZGluZy1pbmxpbmU6IHZ3KC0tY29udGFpbmVyLXBhZGRpbmctc3ApO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogdncoMzJweCk7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgICAgIHNjcm9sbGJhci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgdmFyKC0tdHJhbnNpdGlvbi1zcGVlZC1zbG93KSB2YXIoLS1iZXppZXIpLCB0cmFuc2xhdGUgdmFyKC0tdHJhbnNpdGlvbi1zcGVlZC1zbG93KSB2YXIoLS1iZXppZXIpO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iYWNrZ3JvdW5kKTtcbiAgICAgICAgQGluY2x1ZGUgbXEge1xuICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgdHJhbnNsYXRlOiAwO1xuICAgICAgICAgIHBhZGRpbmc6IHVuc2V0O1xuICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgfVxuICAgICAgICAubWFpbiB7XG4gICAgICAgICAgQGluY2x1ZGUgbXEge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBnYXA6IHBjKDI0cHgpO1xuICAgICAgICAgIH1cbiAgICAgICAgICBsaSB7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyKTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogdncoLS1mcy1zKTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxNDAlO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LW1lZGl1bSk7XG4gICAgICAgICAgICBAaW5jbHVkZSBtcSB7XG4gICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogcGMoLS1mcy1zKTtcbiAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEyMCU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmLnRvcHBhZ2Uge1xuICAgICAgICAgICAgICBAaW5jbHVkZSBtcSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJi5jb250YWN0IHtcbiAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbXEge1xuICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmxhY2spO1xuICAgICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtb24tYWNjZW50KTtcbiAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgICAgICAgICAgICBwYWRkaW5nOiBwYygxNnB4KSBwYygyOHB4KTtcbiAgICAgICAgICAgICAgICAgIGdhcDogcGMoNHB4KTtcbiAgICAgICAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogYXV0byBhdXRvO1xuICAgICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IHBjKC0tYm9yZGVyLXJhZGl1cy1waWxsKTtcbiAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1zcGVlZC1mYXN0KSB2YXIoLS1iZXppZXIpO1xuICAgICAgICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiBwYygyNHB4KTtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBwYygyNHB4KTtcbiAgICAgICAgICAgICAgICAgICAgbWFzay1pbWFnZTogdXJsKC9pbWFnZXMvaWNvbl9tYWlsLnN2Zyk7XG4gICAgICAgICAgICAgICAgICAgIG1hc2stc2l6ZTogY29udGFpbjtcbiAgICAgICAgICAgICAgICAgICAgbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItdGV4dC1vbi1hY2NlbnQpO1xuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJyYW5kKTtcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICY6bm90KC5jb250YWN0KSB7XG4gICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1xIHtcbiAgICAgICAgICAgICAgICAgIHBhZGRpbmctYmxvY2s6IHBjKDIwcHgpO1xuICAgICAgICAgICAgICAgICAgcGFkZGluZy1pbmxpbmU6IHVuc2V0O1xuICAgICAgICAgICAgICAgICAgZ2FwOiB1bnNldDtcbiAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYnJhbmQpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICBAaW5jbHVkZSBtcSB7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHBkO1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IHBjKDNweCk7XG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIHZhcigtLXRyYW5zaXRpb24tc3BlZWQtZmFzdCkgdmFyKC0tYmV6aWVyKTtcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgJi5pcy1hY3RpdmUge1xuICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbXEge1xuICAgICAgICAgICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJyYW5kKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgIHBhZGRpbmctYmxvY2s6IHZ3KDE2cHgpO1xuICAgICAgICAgICAgICBwYWRkaW5nLWlubGluZTogdncoOHB4KTtcbiAgICAgICAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgYXV0bztcbiAgICAgICAgICAgICAgZ2FwOiB2dygxMnB4KTtcbiAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICB3aWR0aDogdncoMjBweCk7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiB2dygyMHB4KTtcbiAgICAgICAgICAgICAgICBtYXNrLWltYWdlOiB1cmwoL2ltYWdlcy9pY29uX2Fycm93X3Muc3ZnKTtcbiAgICAgICAgICAgICAgICBtYXNrLXNpemU6IGNvbnRhaW47XG4gICAgICAgICAgICAgICAgbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1ibGFjayk7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbXEge1xuICAgICAgICAgICAgICAgICAgY29udGVudDogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHVsIHtcbiAgICAgICAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlcik7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIG1xIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IHZ3KDI0cHgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAgICovXG4gIH1cbn1cbiNnbmF2Q2F0ZWdvcmllc1BDIHtcbiAgei1pbmRleDogMTAwMjtcbiAgZGlzcGxheTogbm9uZTtcbiAgdHJhbnNpdGlvbjogdHJhbnNsYXRlIHZhcigtLXRyYW5zaXRpb24tc3BlZWQtc2xvdykgdmFyKC0tYmV6aWVyKTtcbiAgQGluY2x1ZGUgbXEge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG4gIC5nbmF2SW5uZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IHBjKDIwcHgpO1xuICAgIC51bml0IHtcbiAgICAgICY6aGFzKC5jaGlsZCkge1xuICAgICAgICBoMyB7XG4gICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICYuaXMtYWN0aXZlIHtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1icmFuZCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmOmhhcyguaWNvbi5saW5lKSB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogcGMoMTJweCk7XG4gICAgICB9XG4gICAgICBoMyB7XG4gICAgICAgIGZvbnQtc2l6ZTogcGMoLS1mcy1zKTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgICAgICBwYWRkaW5nOiAwIHBjKDJweCk7XG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yIHZhcigtLXRyYW5zaXRpb24tc3BlZWQtZmFzdCkgdmFyKC0tYmV6aWVyKTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItYnJhbmQpO1xuICAgICAgICB9XG4gICAgICAgICY6bm90KC52ZXJ0aWNhbCkge1xuICAgICAgICAgIHBhZGRpbmctYmxvY2s6IHBjKDI0cHgpO1xuXG4gICAgICAgICAgJjpoYXMoYVt0YXJnZXQ9XCJfYmxhbmtcIl0pIHtcbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAmW3RhcmdldD1cIl9ibGFua1wiXSB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IHBjKDIwcHgpO1xuICAgICAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICAgICAgICB0cmFuc2xhdGU6IDAgLTUwJTtcbiAgICAgICAgICAgICAgICAgIHdpZHRoOiBwYygyMHB4KTtcbiAgICAgICAgICAgICAgICAgIGhlaWdodDogcGMoMjBweCk7XG4gICAgICAgICAgICAgICAgICBtYXNrLWltYWdlOiB1cmwoL2ltYWdlcy9pY29uX2V4dGVybmFsLnN2Zyk7XG4gICAgICAgICAgICAgICAgICBtYXNrLXNpemU6IGNvbnRhaW47XG4gICAgICAgICAgICAgICAgICBtYXNrLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmxhY2spO1xuICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciB2YXIoLS10cmFuc2l0aW9uLXNwZWVkLWZhc3QpIHZhcigtLWJlemllcik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgJlt0YXJnZXQ9XCJfYmxhbmtcIl0ge1xuICAgICAgICAgICAgICAgICAgQG1lZGlhIChhbnktaG92ZXI6IGhvdmVyKSB7XG4gICAgICAgICAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1icmFuZCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmLnZlcnRpY2FsIHtcbiAgICAgICAgICBmb250LXNpemU6IHBjKC0tZnMteHMpO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxMjAlO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1tZWRpdW0pO1xuICAgICAgICAgIHBhZGRpbmctaW5saW5lOiB1bnNldDtcbiAgICAgICAgICBhIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgZ2FwOiBwYyg0cHgpO1xuICAgICAgICAgICAgaSB7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICB3aWR0aDogcGMoNDhweCk7XG4gICAgICAgICAgICAgIGhlaWdodDogcGMoNDhweCk7XG4gICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgICAgICB0cmFuc2xhdGU6IC01MCUgLTUwJTtcbiAgICAgICAgICAgICAgICB3aWR0aDogcGMoMjRweCk7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBwYygyNHB4KTtcbiAgICAgICAgICAgICAgICBtYXNrLXNpemU6IGNvbnRhaW47XG4gICAgICAgICAgICAgICAgbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LW9uLWFjY2VudCk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgJi5saW5lIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1saW5lKTtcbiAgICAgICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgICAgICBtYXNrLWltYWdlOiB1cmwoL2ltYWdlcy9pY29uX2xpbmUuc3ZnKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgJi5jb250YWN0IHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1zZWNvbmQpO1xuICAgICAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgIG1hc2staW1hZ2U6IHVybCgvaW1hZ2VzL2ljb25fbWFpbC5zdmcpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLmNoaWxkIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3Itc3VyZmFjZSk7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgdHJhbnNpdGlvbjogaGVpZ2h0IHZhcigtLXRyYW5zaXRpb24tc3BlZWQpIHZhcigtLWJlemllcik7XG4gICAgICAgIC5jaGlsZC1pbm5lciB7XG4gICAgICAgICAgQGluY2x1ZGUgY29udGFpbmVyO1xuICAgICAgICAgIHBhZGRpbmctYmxvY2s6IHBjKDU2cHgpO1xuICAgICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgICAgZ3JpZC10ZW1wbGF0ZTogXG4gICAgICAgICAgXCJ0aXRsZSBuYXZcIlxuICAgICAgICAgIFwiY2xvc2UgY2xvc2VcIlxuICAgICAgICAgIC8gcGMoMjczcHgpIDFmcjtcbiAgICAgICAgICBnYXA6IHBjKDU2cHgpIDA7XG4gICAgICAgICAgLnRpdGxlIHtcbiAgICAgICAgICAgIGdyaWQtYXJlYTogdGl0bGU7XG4gICAgICAgICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiBwYygzNnB4KTtcbiAgICAgICAgICAgIGg0IHtcbiAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQpO1xuICAgICAgICAgICAgICBmb250LXNpemU6IHBjKC0tZnMteGwpO1xuICAgICAgICAgICAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxNDAlO1xuICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICBnYXA6IHBjKDEycHgpO1xuICAgICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgd2lkdGg6IHBjKDIwcHgpO1xuICAgICAgICAgICAgICAgIGhlaWdodDogcGMoNHB4KTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1icmFuZCk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHAge1xuICAgICAgICAgICAgICBtYXJnaW4tdG9wOiBwYygyMHB4KTtcbiAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWdyYXkpO1xuICAgICAgICAgICAgICBmb250LXNpemU6IHBjKC0tZnMtcyk7XG4gICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1tZWRpdW0pO1xuICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMTcxLjQyOSU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBmaWd1cmUge1xuICAgICAgICAgICAgICBtYXJnaW4tdG9wOiBwYygyMHB4KTtcbiAgICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIC5uYXYge1xuICAgICAgICAgICAgZ3JpZC1hcmVhOiBuYXY7XG4gICAgICAgICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgICAgICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlcik7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IHBjKDM2cHgpO1xuICAgICAgICAgICAgaDUge1xuICAgICAgICAgICAgICBtYXJnaW4tdG9wOiBwYyg0MHB4KTtcbiAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQpO1xuICAgICAgICAgICAgICBmb250LXNpemU6IHBjKC0tZnMtbCk7XG4gICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE1NS41NTYlO1xuICAgICAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiB1bnNldDtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogYXV0byAxZnI7XG4gICAgICAgICAgICAgICAgZ2FwOiBwYyg0cHgpO1xuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1zcGVlZC1mYXN0KSB2YXIoLS1iZXppZXIpO1xuICAgICAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAgIHdpZHRoOiBwYygxNnB4KTtcbiAgICAgICAgICAgICAgICAgIGhlaWdodDogcGMoMTZweCk7XG4gICAgICAgICAgICAgICAgICBtYXNrLWltYWdlOiB1cmwoL2ltYWdlcy9pY29uX2Fycm93X25leHQuc3ZnKTtcbiAgICAgICAgICAgICAgICAgIG1hc2stc2l6ZTogY29udGFpbjtcbiAgICAgICAgICAgICAgICAgIG1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1ibGFjayk7XG4gICAgICAgICAgICAgICAgICB0cmFuc2xhdGU6IDAgcGMoMXB4KTtcbiAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1zcGVlZC1mYXN0KSB2YXIoLS1iZXppZXIpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBAbWVkaWEgKGFueS1ob3ZlcjogaG92ZXIpIHtcbiAgICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItYnJhbmQpO1xuICAgICAgICAgICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYnJhbmQpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB1bCB7XG4gICAgICAgICAgICAgIG1hcmdpbi10b3A6IHBjKDIwcHgpO1xuICAgICAgICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg1LCAxZnIpO1xuICAgICAgICAgICAgICBnYXA6IHBjKDhweCk7XG4gICAgICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQpO1xuICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiBwYygtLWZzLXMpO1xuICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LW1lZGl1bSk7XG4gICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMTQyLjg1NyU7XG4gICAgICAgICAgICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBhdXRvIDFmcjtcbiAgICAgICAgICAgICAgICAgIGdhcDogcGMoNHB4KTtcbiAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciB2YXIoLS10cmFuc2l0aW9uLXNwZWVkLWZhc3QpIHZhcigtLWJlemllcik7XG4gICAgICAgICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogcGMoMTZweCk7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogcGMoMTZweCk7XG4gICAgICAgICAgICAgICAgICAgIG1hc2staW1hZ2U6IHVybCgvaW1hZ2VzL2ljb25fYXJyb3dfbmV4dC5zdmcpO1xuICAgICAgICAgICAgICAgICAgICBtYXNrLXNpemU6IGNvbnRhaW47XG4gICAgICAgICAgICAgICAgICAgIG1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJsYWNrKTtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciB2YXIoLS10cmFuc2l0aW9uLXNwZWVkLWZhc3QpIHZhcigtLWJlemllcik7XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICBAbWVkaWEgKGFueS1ob3ZlcjogaG92ZXIpIHtcbiAgICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWJyYW5kKTtcbiAgICAgICAgICAgICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1icmFuZCk7XG4gICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIC5jbG9zZSB7XG4gICAgICAgICAgICBncmlkLWFyZWE6IGNsb3NlO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogdncoLS1ib3JkZXItcmFkaXVzLXNtYWxsKTtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJhY2tncm91bmQpO1xuICAgICAgICAgICAgcGFkZGluZzogcGMoOHB4KTtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1zcGVlZC1mYXN0KSB2YXIoLS1iZXppZXIpO1xuICAgICAgICAgICAgQG1lZGlhIChhbnktaG92ZXI6IGhvdmVyKSB7XG4gICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWdyYXktd2Vhayk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQpO1xuICAgICAgICAgICAgICBmb250LXNpemU6IHBjKC0tZnMteHMpO1xuICAgICAgICAgICAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxNTAlO1xuICAgICAgICAgICAgICBnYXA6IHBjKDhweCk7XG4gICAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICB3aWR0aDogcGMoMTZweCk7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBwYygxNnB4KTtcbiAgICAgICAgICAgICAgICBtYXNrLWltYWdlOiB1cmwoL2ltYWdlcy9pY29uX2Nsb3NlLnN2Zyk7XG4gICAgICAgICAgICAgICAgbWFzay1zaXplOiBjb250YWluO1xuICAgICAgICAgICAgICAgIG1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmxhY2spO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIFxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgXG4gICAgfVxuICB9XG5cbn0iLCJAY2hhcnNldCBcIlVURi04XCI7XG5AaW1wb3J0IFwibWl4aW5zXCI7XG5cblxubWFpbjpoYXMoLm5hdmlnYXRpb24uYnJlYWRjcnVtYnMpIHtcbiAgKyBmb290ZXIge1xuICAgIG1hcmdpbi10b3A6IHZ3KDIwcHgpO1xuICAgIEBpbmNsdWRlIG1xKCkge1xuICAgICAgbWFyZ2luLXRvcDogcGMoMTJweCk7XG4gICAgfVxuICB9XG59XG4jcGFnZXRvcEEge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGJvdHRvbTogdncoNjRweCk7XG4gIHJpZ2h0OiB2dygxNnB4KTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBvcGFjaXR5OiAwO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSB2YXIoLS10cmFuc2l0aW9uLXNwZWVkLXNsb3cpIHZhcigtLWJlemllcik7XG4gIHotaW5kZXg6IDk5OTk7XG4gIEBpbmNsdWRlIG1xKCkge1xuICAgIGJvdHRvbTogcGMoNTZweCk7XG4gICAgcmlnaHQ6IHBjKDQwcHgpO1xuICB9XG4gIGEge1xuICAgIEBpbmNsdWRlIGhvdmVyT3A7XG4gICAgaW1nIHtcbiAgICAgIHdpZHRoOiB2dyg0OHB4KTtcbiAgICAgIEBpbmNsdWRlIG1xKCkge1xuICAgICAgICB3aWR0aDogcGMoNjRweCk7XG4gICAgICB9XG4gICAgfVxuICB9XG4gICYuaXMtc2Nyb2xsIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHBvaW50ZXItZXZlbnRzOiBhbGw7XG4gIH1cbiAgJi5pcy1ib3R0b20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgQGluY2x1ZGUgbXEoKSB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgcG9pbnRlci1ldmVudHM6IGFsbDtcbiAgICB9XG4gIH1cbn1cbiNwYWdldG9wQiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiB2dyg2NHB4KTtcbiAgcmlnaHQ6IHZ3KDE2cHgpO1xuICB6LWluZGV4OiB2YXIoLS16LWluZGV4LXBhZ2V0b3BCKTtcbiAgQGluY2x1ZGUgbXEoKSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICBhIHtcbiAgICBAaW5jbHVkZSBob3Zlck9wO1xuICAgIGltZyB7XG4gICAgICB3aWR0aDogdncoNDhweCk7XG4gICAgfVxuICB9XG59XG5cbmZvb3RlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZ3JpZC1hcmVhOiBmb290ZXI7XG4gIG1hcmdpbi10b3A6IHZ3KDU2cHgpO1xuICBwYWRkaW5nLWJsb2NrOiB2dyg2NHB4KSB2dyg5NnB4KTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItZ3JheS1zdHJvbmcpO1xuICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1vbi1hY2NlbnQpO1xuICBAaW5jbHVkZSBtcSgpIHtcbiAgICBtYXJnaW4tdG9wOiBwYyg1NnB4KTtcbiAgICBwYWRkaW5nLWJsb2NrOiBwYygxMDBweCkgcGMoODBweCk7XG4gIH1cbiAgLmlubmVyIHtcbiAgICBAaW5jbHVkZSBjb250YWluZXIod2lkZSk7XG4gICAgLmZvb3RpbmZvIHtcbiAgICAgIEBpbmNsdWRlIG1xKCkge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICB9XG4gICAgICAuY29ycGluZm8ge1xuICAgICAgICBwIHtcbiAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgd2lkdGg6IHZ3KDE4MnB4KTtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1xKCkge1xuICAgICAgICAgICAgICB3aWR0aDogcGMoMjE4cHgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLnNucyB7XG4gICAgICAgIG1hcmdpbi10b3A6IHZ3KDMycHgpO1xuICAgICAgICBAaW5jbHVkZSBtcSgpIHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiB1bnNldDtcbiAgICAgICAgfVxuICAgICAgICB1bCB7XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBnYXA6IHZ3KDE2cHgpO1xuICAgICAgICAgIEBpbmNsdWRlIG1xKCkge1xuICAgICAgICAgICAgZ2FwOiBwYygxNnB4KTtcbiAgICAgICAgICB9XG4gICAgICAgICAgbGkge1xuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyKTtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3Itc3VyZmFjZSk7XG4gICAgICAgICAgICAgIGFzcGVjdC1yYXRpbzogMSAvIDE7XG4gICAgICAgICAgICAgIHdpZHRoOiB2dygzMnB4KTtcbiAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIGhvdmVyT3A7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIG1xKCkge1xuICAgICAgICAgICAgICAgIHdpZHRoOiBwYygzMnB4KTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgIHdpZHRoOiB2dygyNHB4KTtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtcSgpIHtcbiAgICAgICAgICAgICAgICAgIHdpZHRoOiBwYygyNHB4KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgLmZvb3RuYXYge1xuICAgICAgbWFyZ2luLXRvcDogdncoNDhweCk7XG4gICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTtcbiAgICAgIGdhcDogdncoMjRweCkgdncoMTZweCk7XG4gICAgICBAaW5jbHVkZSBtcSgpIHtcbiAgICAgICAgbWFyZ2luLXRvcDogcGMoNjRweCk7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDQsIDFmcik7XG4gICAgICAgIGdhcDogcGMoMzJweCkgcGMoMzJweCk7XG4gICAgICB9XG4gICAgICAudW5pdCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGdhcDogdncoMjRweCk7XG4gICAgICAgIEBpbmNsdWRlIG1xKCkge1xuICAgICAgICAgIGdhcDogcGMoMTZweCk7XG4gICAgICAgIH1cbiAgICAgICAgaDIge1xuICAgICAgICAgIGZvbnQtc2l6ZTogdncoLS1mcy14cyk7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxNDAlO1xuICAgICAgICAgIEBpbmNsdWRlIG1xKCkge1xuICAgICAgICAgICAgZm9udC1zaXplOiBwYygtLWZzLXMpO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE2MCU7XG4gICAgICAgICAgfVxuICAgICAgICAgIGEge1xuICAgICAgICAgICAgQGluY2x1ZGUgaG92ZXJPcDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgdWwge1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICBnYXA6IHZ3KDI0cHgpO1xuICAgICAgICAgIEBpbmNsdWRlIG1xKCkge1xuICAgICAgICAgICAgZ2FwOiBwYygxNnB4KTtcbiAgICAgICAgICB9XG4gICAgICAgICAgbGkge1xuICAgICAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogYXV0byAxZnI7XG4gICAgICAgICAgICBmb250LXNpemU6IHZ3KC0tZnMteHMpO1xuICAgICAgICAgICAgZ2FwOiB2dyg0cHgpO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE0MCU7XG4gICAgICAgICAgICBAaW5jbHVkZSBtcSgpIHtcbiAgICAgICAgICAgICAgZm9udC1zaXplOiBwYygtLWZzLXMpO1xuICAgICAgICAgICAgICBnYXA6IHBjKDRweCk7XG4gICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxNjAlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgY29udGVudDogXCItXCI7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIGhvdmVyT3A7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIC5jb3B5cmlnaHQge1xuICAgICAgbWFyZ2luLXRvcDogdncoNDhweCk7XG4gICAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2YyZjJmMjJmO1xuICAgICAgcGFkZGluZy10b3A6IHZ3KDQwcHgpO1xuICAgICAgQGluY2x1ZGUgbXEoKSB7XG4gICAgICAgIG1hcmdpbi10b3A6IHBjKDY0cHgpO1xuICAgICAgICBwYWRkaW5nLXRvcDogcGMoNjRweCk7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcbiAgICAgICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xuICAgICAgICBnYXA6IHBjKDU0cHgpO1xuICAgICAgfVxuICAgICAgdWwge1xuICAgICAgICBAaW5jbHVkZSBtcSgpIHtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgICAgIH1cbiAgICAgICAgbGkge1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICBhIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogdncoLS1mcy14cyk7XG4gICAgICAgICAgICBAaW5jbHVkZSBob3Zlck9wO1xuICAgICAgICAgICAgQGluY2x1ZGUgbXEoKSB7XG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogcGMoLS1mcy14cyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICBwIHtcbiAgICAgICAgZm9udC1zaXplOiB2dygtLWZzLXh4cyk7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMDJlbTtcbiAgICAgICAgbWFyZ2luLXRvcDogdncoMjRweCk7XG4gICAgICAgIEBpbmNsdWRlIG1xKCkge1xuICAgICAgICAgIG1hcmdpbi10b3A6IHVuc2V0O1xuICAgICAgICAgIGZvbnQtc2l6ZTogcGMoLS1mcy14cyk7XG4gICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4jZm9vdE1lbnUge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIHotaW5kZXg6IHZhcigtLXotaW5kZXgtZm9vdE1lbnUpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1ncmF5LXN0cm9uZyk7XG4gIGZpbHRlcjogZHJvcC1zaGFkb3coMHB4IC0xcHggMS41cHggcmdiYSgwLCAwLCAwLCAwLjA4KSk7XG4gIEBpbmNsdWRlIG1xKCkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgdWwge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBcbiAgICBsaSB7XG4gICAgICBmbGV4OiAxO1xuICAgICAgYSwgYnV0dG9uIHtcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiBhdXRvIGF1dG87XG4gICAgICAgIGp1c3RpZnktaXRlbXM6IGNlbnRlcjtcbiAgICAgICAgYWxpZ24tY29udGVudDogY2VudGVyO1xuICAgICAgICBmb250LXNpemU6IHZ3KC0tZnMteHh4eHMpO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LW9uLWFjY2VudCk7XG4gICAgICAgIGhlaWdodDogdncoNTRweCk7XG4gICAgICAgIGdhcDogdncoNHB4KTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIHdpZHRoOiB2dygyNHB4KTtcbiAgICAgICAgICBoZWlnaHQ6IHZ3KDI0cHgpO1xuICAgICAgICAgIG1hcmdpbi1pbmxpbmU6IGF1dG87XG4gICAgICAgICAgbWFzay1zaXplOiBjb250YWluO1xuICAgICAgICAgIG1hc2stcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgICBtYXNrLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXRleHQtb24tYWNjZW50KTtcbiAgICAgICAgICAmLmthaXRvcmkge1xuICAgICAgICAgICAgbWFzay1pbWFnZTogdXJsKC9pbWFnZXMvaWNvbl9rYWl0b3JpLnN2Zyk7XG4gICAgICAgICAgfVxuICAgICAgICAgICYuc3RvcmUge1xuICAgICAgICAgICAgbWFzay1pbWFnZTogdXJsKC9pbWFnZXMvaWNvbl9zdG9yZS5zdmcpO1xuICAgICAgICAgIH1cbiAgICAgICAgICAmLmNhcnQge1xuICAgICAgICAgICAgbWFzay1pbWFnZTogdXJsKC9pbWFnZXMvaWNvbl9jYXJ0LnN2Zyk7XG4gICAgICAgICAgfVxuICAgICAgICAgICYubGluZSB7XG4gICAgICAgICAgICBtYXNrLWltYWdlOiB1cmwoL2ltYWdlcy9pY29uX2xpbmUuc3ZnKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgJi5tZW51IHtcbiAgICAgICAgICAgIG1hc2staW1hZ2U6IHVybCgvaW1hZ2VzL2ljb25fbWVudS5zdmcpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuI3NwTWVudSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXN1cmZhY2UpO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IHZ3KDI2NHB4KTtcbiAgei1pbmRleDogdmFyKC0tei1pbmRleC1zcE1lbnUpO1xuICB0cmFuc2xhdGU6IC0xNDAlIDA7XG4gIHRyYW5zaXRpb246IHRyYW5zbGF0ZSB2YXIoLS10cmFuc2l0aW9uLXNwZWVkKSB2YXIoLS1iZXppZXIpO1xuICBib3gtc2hhZG93OiA1OXB4IDBweCAxN3B4IDBweCByZ2JhKDAsIDAsIDAsIDAuMDApLCAzOHB4IDBweCAxNXB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMDEpLCAyMXB4IDBweCAxM3B4IDBweCByZ2JhKDAsIDAsIDAsIDAuMDMpLCA5cHggMHB4IDlweCAwcHggcmdiYSgwLCAwLCAwLCAwLjA0KSwgMnB4IDBweCA1cHggMHB4IHJnYmEoMCwgMCwgMCwgMC4wNSk7XG4gIEBpbmNsdWRlIG1xKCkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgJi5pcy1zaG93IHtcbiAgICB0cmFuc2xhdGU6IDAgMDtcbiAgfVxuICAuaW5uZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBoZWlnaHQ6IDEwMHZoO1xuICAgIHBhZGRpbmc6IHZ3KDE2cHgpO1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZTpcbiAgICAndGl0bGUnIGF1dG9cbiAgICAnY29udGVudHMnIDFmclxuICAgIC8gMWZyO1xuICAgICNjbG9zZVNwTWVudSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICByaWdodDogdncoMTZweCk7XG4gICAgICB0b3A6IHZ3KDE2cHgpO1xuICAgICAgaW1nIHtcbiAgICAgICAgd2lkdGg6IHZ3KDIwcHgpO1xuICAgICAgfVxuICAgIH1cbiAgICAjc3BNZW51VGl0bGV7XG4gICAgICBncmlkLWFyZWE6IHRpdGxlO1xuICAgICAgaDIge1xuICAgICAgICBmb250LXNpemU6IHZ3KC0tZnMtcyk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICAgICAgcGFkZGluZy1ibG9jazogdncoMnB4KTtcbiAgICAgIH1cbiAgICAgIGJ1dHRvbiB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICYuaXMtc2hvdyB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2sgZ3JpZDtcbiAgICAgICAgICBnYXA6IHZ3KDhweCk7XG4gICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IGF1dG8gMWZyO1xuICAgICAgICAgIHBhZGRpbmctYmxvY2s6IHZ3KDRweCk7XG4gICAgICAgICAgZm9udC1zaXplOiB2dygtLWZzLXhzKTtcbiAgICAgICAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB3aWR0aDogdncoMTJweCk7XG4gICAgICAgICAgICBoZWlnaHQ6IHZ3KDEycHgpO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogdXJsKC9pbWFnZXMvaWNvbl9hcnJvd19wcmV2LnN2Zykgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXIgLyBjb250YWluO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAjc3BNZW51Q29udGVudHMge1xuICAgICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgICAmLnN1Ym1lbnUtYWN0aXZlIHtcbiAgICAgICAgLnN1YiB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC5oZWFkaW5nIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBmb250LXNpemU6IHZ3KC0tZnMteHMpO1xuICAgICAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxNTAlO1xuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1ncmF5LXdlYWspO1xuICAgICAgICBtYXJnaW4tdG9wOiB2dygyNHB4KTtcbiAgICAgIH1cbiAgICAgIC5tYWluIHtcbiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci11bHRyYWxpZ2h0KTtcbiAgICAgICAgPiBsaSB7XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci11bHRyYWxpZ2h0KTtcbiAgICAgICAgICA+IGEsID4gLm9wZW4tc3VibWVudSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBtZW51VW5pdDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC5zdWIge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1zdXJmYWNlKTtcbiAgICAgICAgbGkge1xuICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItdWx0cmFsaWdodCk7XG4gICAgICAgICAgYSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBtZW51VW5pdDtcbiAgICAgICAgICB9XG4gICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICBmb250LXNpemU6IHZ3KC0tZnMteHMpO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE1MCU7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1ncmF5LXdlYWspO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogdncoMjRweCk7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC5iYW5uZXIge1xuICAgICAgICBtYXJnaW4tdG9wOiAyNHB4O1xuICAgICAgICBwYWRkaW5nLWlubGluZTogMjBweDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgZ2FwOiAxMHB4O1xuICAgICAgICBhIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgIH1cbiAgICB9XG4gIH1cblxufVxuI3NwUmlnaHRNZW51IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3Itc3VyZmFjZSk7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgd2lkdGg6IHZ3KDI2NHB4KTtcbiAgei1pbmRleDogdmFyKC0tei1pbmRleC1zcFJpZ2h0TWVudSk7XG4gIHRyYW5zbGF0ZTogMTQwJSAwO1xuICB0cmFuc2l0aW9uOiB0cmFuc2xhdGUgdmFyKC0tdHJhbnNpdGlvbi1zcGVlZCkgdmFyKC0tYmV6aWVyKTtcbiAgYm94LXNoYWRvdzogLTU5cHggMHB4IDE3cHggMHB4IHJnYmEoMCwgMCwgMCwgMC4wMCksIC0zOHB4IDBweCAxNXB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMDEpLCAtMjFweCAwcHggMTNweCAwcHggcmdiYSgwLCAwLCAwLCAwLjAzKSwgLTlweCAwcHggOXB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMDQpLCAtMnB4IDBweCA1cHggMHB4IHJnYmEoMCwgMCwgMCwgMC4wNSk7XG4gIEBpbmNsdWRlIG1xKCkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgJi5pcy1zaG93IHtcbiAgICB0cmFuc2xhdGU6IDAgMDtcbiAgfVxuICAjY2xvc2VTcFJpZ2h0TWVudSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHotaW5kZXg6IDI7XG4gICAgcmlnaHQ6IHZ3KDE2cHgpO1xuICAgIHRvcDogdncoMTZweCk7XG4gICAgaW1nIHtcbiAgICAgIHdpZHRoOiB2dygyMHB4KTtcbiAgICB9XG4gIH1cbiAgLmlubmVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgaGVpZ2h0OiAxMDBkdmg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIHBhZGRpbmc6IHZ3KDE2cHgpO1xuICAgIFxuICAgIGgyIHtcbiAgICAgIGZvbnQtc2l6ZTogdncoLS1mcy1zKTtcbiAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICAgIHBhZGRpbmctYmxvY2s6IHZ3KDJweCk7XG4gICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gICAgfVxuICAgIC5jb250YWN0IHtcbiAgICAgIG1hcmdpbi10b3A6IHZ3KDE2cHgpO1xuICAgICAgYSB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IHZ3KC0tYm9yZGVyLXJhZGl1cy1zbWFsbCk7XG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXNlY29uZCk7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBnYXA6IHZ3KDhweCk7XG4gICAgICAgIHBhZGRpbmc6IHZ3KDlweCk7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LW9uLWFjY2VudCk7XG4gICAgICAgIGZvbnQtc2l6ZTogdncoLS1mcy14cyk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE1MCU7XG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICB3aWR0aDogdncoMjBweCk7XG4gICAgICAgICAgaGVpZ2h0OiB2dygyMHB4KTtcbiAgICAgICAgICBtYXNrLWltYWdlOiB1cmwoL2ltYWdlcy9pY29uX21haWwuc3ZnKTtcbiAgICAgICAgICBtYXNrLXNpemU6IGNvbnRhaW47XG4gICAgICAgICAgbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LW9uLWFjY2VudCk7XG4gICAgICAgIH1cblxuICAgICAgfVxuICAgIH1cbiAgICAubWFpbiB7XG4gICAgICBtYXJnaW4tdG9wOiB2dygxNnB4KTtcbiAgICAgIGxpIHtcbiAgICAgICAgYSB7XG4gICAgICAgICAgQGluY2x1ZGUgbWVudVVuaXQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgLmJhbm5lciB7XG4gICAgICBtYXJnaW4tdG9wOiB2dygxNnB4KTtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgZ2FwOiB2dyg4cHgpO1xuICAgICAgYSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBpbWcge1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIC51dGlsIHtcbiAgICAgIG1hcmdpbi10b3A6IHZ3KDE2cHgpO1xuICAgICAgbGkge1xuICAgICAgICBhIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBwYWRkaW5nLWJsb2NrOiB2dyg0cHgpO1xuICAgICAgICAgIGZvbnQtc2l6ZTogdncoLS1mcy14eHMpO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxNjAlO1xuICAgICAgICAgICZbdGFyZ2V0PVwiX2JsYW5rXCJdIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IGF1dG8gMWZyO1xuICAgICAgICAgICAgZ2FwOiB2dygycHgpO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICB3aWR0aDogdncoMTJweCk7XG4gICAgICAgICAgICAgIGhlaWdodDogdncoMTJweCk7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQ6IHVybCgvaW1hZ2VzL2ljb25fZXh0ZXJuYWwuc3ZnKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlciAvIGNvbnRhaW47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59IiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuQGltcG9ydCBcIm1peGluc1wiO1xuXG4ucFBhZ2VUaXRsZSB7XG4gIGZvbnQtc2l6ZTogdncoLS1wUGFnZVRpdGxlLWZvbnQtc2l6ZS1zcCk7XG4gIGZvbnQtd2VpZ2h0OiB2YXIoLS1wUGFnZVRpdGxlLWZvbnQtd2VpZ2h0KTtcbiAgY29sb3I6IHZhcigtLXBQYWdlVGl0bGUtY29sb3IpO1xuICBsaW5lLWhlaWdodDogMTQwJTtcbiAgQGluY2x1ZGUgbXEoKSB7XG4gICAgZm9udC1zaXplOiBwYygtLXBQYWdlVGl0bGUtZm9udC1zaXplLXBjKTtcbiAgfVxufSIsIkBjaGFyc2V0IFwiVVRGLThcIjtcbkBpbXBvcnQgXCJtaXhpbnNcIjtcblxuLnBIZWFkaW5nTGFyZ2Uge1xuICBmb250LXNpemU6IHZ3KC0tcEhlYWRpbmctbGFyZ2UtZm9udC1zaXplLXNwKTtcbiAgbGluZS1oZWlnaHQ6IDEyMCU7XG4gIGZvbnQtd2VpZ2h0OiB2YXIoLS1wSGVhZGluZy1sYXJnZS1mb250LXdlaWdodCk7XG4gIGNvbG9yOiB2YXIoLS1wSGVhZGluZy1sYXJnZS1jb2xvcik7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1wSGVhZGluZy1sYXJnZS1mb250LWZhbWlseSk7XG4gIEBpbmNsdWRlIG1xKCkge1xuICAgIGZvbnQtc2l6ZTogcGMoLS1wSGVhZGluZy1sYXJnZS1mb250LXNpemUtcGMpO1xuICB9XG59IiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuQGltcG9ydCBcIm1peGluc1wiO1xuXG4ucEhlYWRpbmdNZWRpdW0ge1xuICBmb250LXNpemU6IHZ3KC0tcEhlYWRpbmctbWVkaXVtLWZvbnQtc2l6ZS1zcCk7XG4gIGxpbmUtaGVpZ2h0OiAxNTAlO1xuICBmb250LXdlaWdodDogdmFyKC0tcEhlYWRpbmctbWVkaXVtLWZvbnQtd2VpZ2h0KTtcbiAgY29sb3I6IHZhcigtLXBIZWFkaW5nLW1lZGl1bS1jb2xvcik7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1wSGVhZGluZy1tZWRpdW0tZm9udC1mYW1pbHkpO1xuICBAaW5jbHVkZSBtcSgpIHtcbiAgICBmb250LXNpemU6IHBjKC0tcEhlYWRpbmctbWVkaXVtLWZvbnQtc2l6ZS1wYyk7XG4gIH1cbn0iLCJAY2hhcnNldCBcIlVURi04XCI7XG5AaW1wb3J0IFwibWl4aW5zXCI7XG5cbi5wSGVhZGluZ1NtYWxsIHtcbiAgZm9udC1zaXplOiB2dygtLXBIZWFkaW5nLXNtYWxsLWZvbnQtc2l6ZS1zcCk7XG4gIGxpbmUtaGVpZ2h0OiAxMjAlO1xuICBmb250LXdlaWdodDogdmFyKC0tcEhlYWRpbmctc21hbGwtZm9udC13ZWlnaHQpO1xuICBjb2xvcjogdmFyKC0tcEhlYWRpbmctc21hbGwtY29sb3IpO1xuICBmb250LWZhbWlseTogdmFyKC0tcEhlYWRpbmctc21hbGwtZm9udC1mYW1pbHkpO1xuICBAaW5jbHVkZSBtcSgpIHtcbiAgICBmb250LXNpemU6IHBjKC0tcEhlYWRpbmctc21hbGwtZm9udC1zaXplLXBjKTtcbiAgfVxufSIsIkBjaGFyc2V0IFwiVVRGLThcIjtcbkBpbXBvcnQgXCJtaXhpbnNcIjtcblxuLnBMZWFkIHtcbiAgZm9udC1zaXplOiB2dygtLXBMZWFkLWZvbnQtc2l6ZS1zcCk7XG4gIGxpbmUtaGVpZ2h0OiAxNzUlO1xuICBmb250LXdlaWdodDogdmFyKC0tcExlYWQtZm9udC13ZWlnaHQpO1xuICBAaW5jbHVkZSBtcSgpIHtcbiAgICBmb250LXNpemU6IHBjKC0tcExlYWQtZm9udC1zaXplLXBjKTtcbiAgfVxuICAmLmNlbnRlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG4gICYucmlnaHQge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICB9XG4gICYubGVmdCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgfVxufSIsIkBjaGFyc2V0IFwiVVRGLThcIjtcbkBpbXBvcnQgXCJtaXhpbnNcIjtcblxuXG4ucFRleHQge1xuICBmb250LXNpemU6IHZ3KC0tcFRleHQtZm9udC1zaXplLXNwKTtcbiAgbGluZS1oZWlnaHQ6IDE3NSU7XG4gIGZvbnQtd2VpZ2h0OiB2YXIoLS1wVGV4dC1mb250LXdlaWdodCk7XG4gIEBpbmNsdWRlIG1xKCkge1xuICAgIGZvbnQtc2l6ZTogcGMoLS1wVGV4dC1mb250LXNpemUtcGMpO1xuICB9XG4gICYuc21hbGwge1xuICAgIGZvbnQtc2l6ZTogdncoLS1wVGV4dC1zbWFsbC1mb250LXNpemUtc3ApO1xuICAgIEBpbmNsdWRlIG1xIHtcbiAgICAgIGZvbnQtc2l6ZTogcGMoLS1wVGV4dC1zbWFsbC1mb250LXNpemUtcGMpO1xuICAgIH1cbiAgfVxuICBwLCB1bCwgb2wge1xuICAgIHBhZGRpbmctYm90dG9tOiAyZW07XG4gICAgJi5oZWFkaW5nIHtcbiAgICAgIEBpbmNsdWRlIGhlYWRpbmctc21hbGw7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMWVtO1xuICAgIH1cbiAgICAmLmZpZ3VyZSB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMzVweDtcbiAgICAgIEBpbmNsdWRlIHNlY3Rpb247XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgIEBpbmNsdWRlIG1xIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDY1cHg7XG4gICAgICB9XG4gICAgICBpbWcge1xuICAgICAgICAmLm10LWltYWdlLWxlZnQsXG4gICAgICAgICYubXQtaW1hZ2UtY2VudGVyLFxuICAgICAgICAmLm10LWltYWdlLXJpZ2h0LFxuICAgICAgICAmLm10LWltYWdlLW5vbmUge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IHZ3KDZweCk7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtbWVkaXVtKTtcbiAgICAgICAgICBAaW5jbHVkZSBtcSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiBwYygxMnB4KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgaW1nIHtcbiAgICAgICYubXQtaW1hZ2UtbGVmdCxcbiAgICAgICYubXQtaW1hZ2UtY2VudGVyLFxuICAgICAgJi5tdC1pbWFnZS1yaWdodCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICB9XG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgIH1cbiAgICAmICsgLmJ1dHRvbntcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgfVxuICAgIC5lbiB7XG4gICAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1mYW1pbHktZW4pO1xuICAgIH1cbiAgfVxuICB1bCwgb2wge1xuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICB9XG4gICAgLmVuIHtcbiAgICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWZhbWlseS1lbik7XG4gICAgfVxuICB9XG4gIHVsIHtcbiAgICBsaXN0LXN0eWxlOiBkaXNjO1xuICAgIGxpIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiB2dygyMHB4KTtcbiAgICAgIEBpbmNsdWRlIG1xIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IHBjKDIwcHgpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBvbCB7XG4gICAgbGlzdC1zdHlsZTogZGVjaW1hbDtcbiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1mYW1pbHktamEpO1xuICAgIGxpIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiB2dygyMHB4KTtcbiAgICAgIEBpbmNsdWRlIG1xIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IHBjKDIwcHgpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAuYnV0dG9uIHtcbiAgICBtYXJnaW4tdG9wOiB2dygxNXB4KTtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICBAaW5jbHVkZSBtcSB7XG4gICAgICBtYXJnaW4tdG9wOiBwYygyMHB4KTtcbiAgICB9XG4gICAgYSB7XG4gICAgICBAaW5jbHVkZSBidXR0b247XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuICB9XG59IiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuQGltcG9ydCBcIm1peGluc1wiO1xuXG5cbi5wSW1hZ2UsXG4ucEltYWdlIGlmcmFtZSB7XG4gIGJvcmRlci1yYWRpdXM6IHZ3KC0tcEltYWdlLWJvcmRlci1yYWRpdXMtc21hbGwtc3ApO1xuICBAY29udGFpbmVyIChtaW4td2lkdGg6IDMwMHB4KSB7XG4gICAgYm9yZGVyLXJhZGl1czogdncoLS1wSW1hZ2UtYm9yZGVyLXJhZGl1cy1tZWRpdW0tc3ApO1xuICB9XG4gIEBpbmNsdWRlIG1xIHtcbiAgICBib3JkZXItcmFkaXVzOiBwYygtLXBJbWFnZS1ib3JkZXItcmFkaXVzLXNtYWxsLXBjKTtcbiAgICBAY29udGFpbmVyIChtaW4td2lkdGg6IDQ1MHB4KSB7XG4gICAgICBib3JkZXItcmFkaXVzOiBwYygtLXBJbWFnZS1ib3JkZXItcmFkaXVzLW1lZGl1bS1wYyk7XG4gICAgfVxuICB9XG59IiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuQGltcG9ydCBcIm1peGluc1wiO1xuXG5cbi5wTWFwIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGFzcGVjdC1yYXRpbzogMTYgLyA5O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgYm9yZGVyLXJhZGl1czogdncoLS1wTWFwLWJvcmRlci1yYWRpdXMtc3ApO1xuICBAaW5jbHVkZSBtcSB7XG4gICAgYm9yZGVyLXJhZGl1czogcGMoLS1wTWFwLWJvcmRlci1yYWRpdXMtcGMpO1xuICB9XG4gIGlmcmFtZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMHB4O1xuICAgIGxlZnQ6IDBweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYm9yZGVyLXJhZGl1czogdncoLS1wTWFwLWJvcmRlci1yYWRpdXMtc3ApO1xuICAgIEBpbmNsdWRlIG1xIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IHBjKC0tcE1hcC1ib3JkZXItcmFkaXVzLXBjKTtcbiAgICB9XG4gIH1cbiAgJi5zaHJpbmsge1xuICAgIG1hcmdpbi1pbmxpbmU6IGF1dG87XG4gIH1cbn0iLCJAY2hhcnNldCBcIlVURi04XCI7XG5AaW1wb3J0IFwibWl4aW5zXCI7XG5cblxuLnBJbWFnZUNhcHRpb24ge1xuICBjb250YWluZXItdHlwZTogaW5saW5lLXNpemU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgQGluY2x1ZGUgbXEge1xuICAgIG1heC13aWR0aDogcGMoLS1wSW1hZ2VDYXB0aW9uLW1heC13aWR0aCk7XG4gIH1cbiAgLnBDYXB0aW9uIHtcbiAgICBtYXJnaW4tdG9wOiB2dygtLXBJbWFnZUNhcHRpb24tZ2FwLXNwKTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgQGluY2x1ZGUgbXEge1xuICAgICAgbWFyZ2luLXRvcDogcGMoLS1wSW1hZ2VDYXB0aW9uLWdhcC1wYyk7XG4gICAgfVxuICB9XG59IiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuQGltcG9ydCBcIm1peGluc1wiO1xuXG5cbi5wTWFwQ2FwdGlvbiB7XG4gIGNvbnRhaW5lci10eXBlOiBpbmxpbmUtc2l6ZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBAaW5jbHVkZSBtcSB7XG4gICAgbWF4LXdpZHRoOiBwYygtLXBNYXBDYXB0aW9uLW1heC13aWR0aCk7XG4gIH1cbiAgLnBDYXB0aW9uIHtcbiAgICBtYXJnaW4tdG9wOiB2dygtLXBNYXBDYXB0aW9uLWdhcC1zcCk7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIEBpbmNsdWRlIG1xIHtcbiAgICAgIG1hcmdpbi10b3A6IHBjKC0tcE1hcENhcHRpb24tZ2FwLXBjKTtcbiAgICB9XG4gIH1cbn0iLCJAY2hhcnNldCBcIlVURi04XCI7XG5AaW1wb3J0IFwibWl4aW5zXCI7XG5cblxuLnBQYW5lbCB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtcm93czogc3ViZ3JpZDtcbiAgZ3JpZC1yb3c6IHNwYW4gNDtcbiAgZ2FwOiB2dygtLXBQYW5lbC1nYXAtc3ApO1xuICBAaW5jbHVkZSBtcSB7XG4gICAgZ2FwOiBwYygtLXBQYW5lbC1nYXAtcGMpO1xuICAgIG1heC13aWR0aDogcGMoLS1wUGFuZWwtbWF4LXdpZHRoKTtcbiAgfVxuICAucEhlYWRpbmdNZWRpdW0ge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuICAucEJ1dHRvbiB7XG4gICAgbWFyZ2luLWlubGluZTogYXV0bztcbiAgfVxufSIsIkBjaGFyc2V0IFwiVVRGLThcIjtcbkBpbXBvcnQgXCJtaXhpbnNcIjtcblxuLnBDYXB0aW9uIHtcbiAgZm9udC1zaXplOiB2dygtLXBDYXB0aW9uLWZvbnQtc2l6ZS1zcCk7XG4gIGxpbmUtaGVpZ2h0OiAxNjAlO1xuICBmb250LXdlaWdodDogdmFyKC0tcENhcHRpb24tZm9udC13ZWlnaHQpO1xuICBjb2xvcjogdmFyKC0tcENhcHRpb24tY29sb3IpO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIEBpbmNsdWRlIG1xKCkge1xuICAgIGZvbnQtc2l6ZTogcGMoLS1wQ2FwdGlvbi1mb250LXNpemUtcGMpO1xuICB9XG4gICYubGVmdCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgfVxuICAmLnJpZ2h0IHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgfVxuICAmLnNocmluayB7XG4gICAgbWFyZ2luLWlubGluZTogYXV0bztcbiAgfVxufSIsIkBjaGFyc2V0IFwiVVRGLThcIjtcbkBpbXBvcnQgXCJtaXhpbnNcIjtcblxuLnBQb3NpdGlvbiB7XG4gIGZvbnQtc2l6ZTogdncoLS1wUG9zaXRpb24tZm9udC1zaXplLXNwKTtcbiAgbGluZS1oZWlnaHQ6IDE2MCU7XG4gIGZvbnQtd2VpZ2h0OiB2YXIoLS1wUG9zaXRpb24tZm9udC13ZWlnaHQpO1xuICBjb2xvcjogdmFyKC0tcFBvc2l0aW9uLWNvbG9yKTtcbiAgQGluY2x1ZGUgbXEoKSB7XG4gICAgZm9udC1zaXplOiBwYygtLXBQb3NpdGlvbi1mb250LXNpemUtcGMpO1xuICB9XG59IiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuQGltcG9ydCBcIm1peGluc1wiO1xuXG4ucE5hbWUge1xuICBmb250LXNpemU6IHZ3KC0tcE5hbWUtZm9udC1zaXplLXNwKTtcbiAgbGluZS1oZWlnaHQ6IDE2MCU7XG4gIGZvbnQtd2VpZ2h0OiB2YXIoLS1wTmFtZS1mb250LXdlaWdodCk7XG4gIGNvbG9yOiB2YXIoLS1wTmFtZS1jb2xvcik7XG4gIEBpbmNsdWRlIG1xKCkge1xuICAgIGZvbnQtc2l6ZTogcGMoLS1wTmFtZS1mb250LXNpemUtcGMpO1xuICB9XG59IiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuQGltcG9ydCBcIm1peGluc1wiO1xuXG4ucFN1YlRpdGxlIHtcbiAgZm9udC1zaXplOiB2dygtLXBTdWJUaXRsZS1mb250LXNpemUtc3ApO1xuICBsaW5lLWhlaWdodDogMTYwJTtcbiAgZm9udC13ZWlnaHQ6IHZhcigtLXBTdWJUaXRsZS1mb250LXdlaWdodCk7XG4gIGNvbG9yOiB2YXIoLS1wU3ViVGl0bGUtY29sb3IpO1xuICBAaW5jbHVkZSBtcSgpIHtcbiAgICBmb250LXNpemU6IHBjKC0tcFN1YlRpdGxlLWZvbnQtc2l6ZS1wYyk7XG4gIH1cbn0iLCJAY2hhcnNldCBcIlVURi04XCI7XG5AaW1wb3J0IFwibWl4aW5zXCI7XG5cbi5wTmFtZVNldCB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtYXV0by1mbG93OiByb3c7XG4gIGdhcDogdncoLS1wTmFtZVNldC1nYXAtc3ApO1xuICBqdXN0aWZ5LWl0ZW1zOiBjZW50ZXI7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgQGluY2x1ZGUgbXEoKSB7XG4gICAgZ2FwOiBwYygtLXBOYW1lU2V0LWdhcC1wYyk7XG4gIH1cbn0iLCJAY2hhcnNldCBcIlVURi04XCI7XG5AaW1wb3J0IFwibWl4aW5zXCI7XG5cblxuLnBNZW1iZXIge1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLXJvd3M6IHN1YmdyaWQ7XG4gIGdyaWQtcm93OiBzcGFuIDU7XG4gIGdhcDogdncoLS1wTWVtYmVyLWdhcC1zcCk7XG4gIEBpbmNsdWRlIG1xIHtcbiAgICBnYXA6IHBjKC0tcE1lbWJlci1nYXAtcGMpO1xuICB9XG4gIC5wcm9maWxlIHtcbiAgICBjb2xvcjogdmFyKC0tcE1lbWJlci1wcm9maWxlLWNvbG9yKTtcbiAgfVxuICAucEJ1dHRvbiB7XG4gICAgbWFyZ2luLWlubGluZTogYXV0bztcbiAgfVxufSIsIkBjaGFyc2V0IFwiVVRGLThcIjtcbkBpbXBvcnQgXCJtaXhpbnNcIjtcblxuXG4ucEJ1dHRvbiB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtYXJlYXM6IFxuICAgIFwiYmVmb3JlIHRleHQgYWZ0ZXJcIjtcbiAgd2lkdGg6IGZpdC1jb250ZW50O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBjb2xvcjogdmFyKC0tcEJ1dHRvbi1jb2xvci1kZWZhdWx0KTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcEJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG9yLWRlZmF1bHQpO1xuICBmb250LXdlaWdodDogdmFyKC0tcEJ1dHRvbi1mb250LXdlaWdodCk7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tcEJ1dHRvbi1ib3JkZXItY29sb3ItZGVmYXVsdCk7XG4gIGJvcmRlci13aWR0aDogdncoLS1wQnV0dG9uLWJvcmRlci13aWR0aCk7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGdhcDogdncoLS1wQnV0dG9uLWdhcC1zcCk7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciB2YXIoLS10cmFuc2l0aW9uLXNwZWVkKSB2YXIoLS1iZXppZXIpLCBib3JkZXItY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1zcGVlZCkgdmFyKC0tYmV6aWVyKSwgY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1zcGVlZCkgdmFyKC0tYmV6aWVyKTtcbiAgQGluY2x1ZGUgbXEoKSB7XG4gICAgYm9yZGVyLXdpZHRoOiBwYygtLXBCdXR0b24tYm9yZGVyLXdpZHRoKTtcbiAgICBnYXA6IHBjKC0tcEJ1dHRvbi1nYXAtcGMpO1xuICB9XG4gICY6OmJlZm9yZSB7XG4gICAgZ3JpZC1hcmVhOiBiZWZvcmU7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFzay1zaXplOiBjb250YWluO1xuICAgIG1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgbWFzay1wb3NpdGlvbjogY2VudGVyO1xuICAgIGFzcGVjdC1yYXRpbzogMSAvIDE7XG4gIH1cbiAgJjo6YWZ0ZXIge1xuICAgIGp1c3RpZnktc2VsZjogZW5kO1xuICAgIGdyaWQtYXJlYTogYWZ0ZXI7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFzay1zaXplOiBjb250YWluO1xuICAgIG1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgbWFzay1wb3NpdGlvbjogY2VudGVyO1xuICAgIGFzcGVjdC1yYXRpbzogMSAvIDE7XG4gIH1cbiAgQG1lZGlhIChhbnktaG92ZXI6IGhvdmVyKSB7XG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wQnV0dG9uLWJhY2tncm91bmQtY29sb3ItaG92ZXIpO1xuICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1wQnV0dG9uLWJvcmRlci1jb2xvci1ob3Zlcik7XG4gICAgICBjb2xvcjogdmFyKC0tcEJ1dHRvbi1jb2xvci1ob3Zlcik7XG4gICAgfVxuICB9XG4gICYucmV2ZXJzZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcEJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG9yLXJldmVyc2UpO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tcEJ1dHRvbi1ib3JkZXItY29sb3ItcmV2ZXJzZSk7XG4gICAgY29sb3I6IHZhcigtLXBCdXR0b24tY29sb3ItcmV2ZXJzZSk7XG4gICAgQG1lZGlhIChhbnktaG92ZXI6IGhvdmVyKSB7XG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcEJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG9yLXJldmVyc2UtaG92ZXIpO1xuICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLXBCdXR0b24tYm9yZGVyLWNvbG9yLXJldmVyc2UtaG92ZXIpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAmLnNtYWxsIHtcbiAgICBmb250LXNpemU6IHZ3KC0tcEJ1dHRvbi1zbWFsbC1mb250LXNpemUtc3ApO1xuICAgIHBhZGRpbmc6IHZ3KC0tcEJ1dHRvbi1zbWFsbC1wYWRkaW5nLWJsb2NrLXNwKSB2dygtLXBCdXR0b24tc21hbGwtcGFkZGluZy1pbmxpbmUtc3ApO1xuICAgIG1pbi13aWR0aDogdncoLS1wQnV0dG9uLXNtYWxsLW1pbi13aWR0aC1zcCk7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiB2dygtLXBCdXR0b24tc21hbGwtaWNvbi13aWR0aC1zcCkgYXV0byB2dygtLXBCdXR0b24tc21hbGwtaWNvbi13aWR0aC1zcCk7XG4gICAgYm9yZGVyLXJhZGl1czogdncoLS1wQnV0dG9uLXNtYWxsLWJvcmRlci1yYWRpdXMpO1xuICAgIEBpbmNsdWRlIG1xKCkge1xuICAgICAgZm9udC1zaXplOiBwYygtLXBCdXR0b24tc21hbGwtZm9udC1zaXplLXBjKTtcbiAgICAgIHBhZGRpbmc6IHBjKC0tcEJ1dHRvbi1zbWFsbC1wYWRkaW5nLWJsb2NrLXBjKSBwYygtLXBCdXR0b24tc21hbGwtcGFkZGluZy1pbmxpbmUtcGMpO1xuICAgICAgbWluLXdpZHRoOiBwYygtLXBCdXR0b24tc21hbGwtbWluLXdpZHRoLXBjKTtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcGMoLS1wQnV0dG9uLXNtYWxsLWljb24td2lkdGgtcGMpIGF1dG8gcGMoLS1wQnV0dG9uLXNtYWxsLWljb24td2lkdGgtcGMpO1xuICAgICAgYm9yZGVyLXJhZGl1czogcGMoLS1wQnV0dG9uLXNtYWxsLWJvcmRlci1yYWRpdXMpO1xuICAgIH1cbiAgICAmOjpiZWZvcmUsJjo6YWZ0ZXIge1xuICAgICAgd2lkdGg6IHZ3KC0tcEJ1dHRvbi1zbWFsbC1pY29uLXdpZHRoLXNwKTtcbiAgICAgIEBpbmNsdWRlIG1xKCkge1xuICAgICAgICB3aWR0aDogcGMoLS1wQnV0dG9uLXNtYWxsLWljb24td2lkdGgtcGMpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAmOm5vdCguc21hbGwpOm5vdCgubGFyZ2UpIHtcbiAgICBmb250LXNpemU6IHZ3KC0tcEJ1dHRvbi1tZWRpdW0tZm9udC1zaXplLXNwKTtcbiAgICBwYWRkaW5nOiB2dygtLXBCdXR0b24tbWVkaXVtLXBhZGRpbmctYmxvY2stc3ApIHZ3KC0tcEJ1dHRvbi1tZWRpdW0tcGFkZGluZy1pbmxpbmUtc3ApO1xuICAgIG1pbi13aWR0aDogdncoLS1wQnV0dG9uLW1lZGl1bS1taW4td2lkdGgtc3ApO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogdncoLS1wQnV0dG9uLW1lZGl1bS1pY29uLXdpZHRoLXNwKSBhdXRvIHZ3KC0tcEJ1dHRvbi1tZWRpdW0taWNvbi13aWR0aC1zcCk7XG4gICAgYm9yZGVyLXJhZGl1czogdncoLS1wQnV0dG9uLW1lZGl1bS1ib3JkZXItcmFkaXVzKTtcbiAgICBAaW5jbHVkZSBtcSgpIHtcbiAgICAgIGZvbnQtc2l6ZTogcGMoLS1wQnV0dG9uLW1lZGl1bS1mb250LXNpemUtcGMpO1xuICAgICAgcGFkZGluZzogcGMoLS1wQnV0dG9uLW1lZGl1bS1wYWRkaW5nLWJsb2NrLXBjKSBwYygtLXBCdXR0b24tbWVkaXVtLXBhZGRpbmctaW5saW5lLXBjKTtcbiAgICAgIG1pbi13aWR0aDogcGMoLS1wQnV0dG9uLW1lZGl1bS1taW4td2lkdGgtcGMpO1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBwYygtLXBCdXR0b24tbWVkaXVtLWljb24td2lkdGgtcGMpIGF1dG8gcGMoLS1wQnV0dG9uLW1lZGl1bS1pY29uLXdpZHRoLXBjKTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IHBjKC0tcEJ1dHRvbi1tZWRpdW0tYm9yZGVyLXJhZGl1cyk7XG4gICAgfVxuICAgICY6OmJlZm9yZSwmOjphZnRlciB7XG4gICAgICB3aWR0aDogdncoLS1wQnV0dG9uLW1lZGl1bS1pY29uLXdpZHRoLXNwKTtcbiAgICAgIEBpbmNsdWRlIG1xKCkge1xuICAgICAgICB3aWR0aDogcGMoLS1wQnV0dG9uLW1lZGl1bS1pY29uLXdpZHRoLXBjKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgJi5sYXJnZSB7XG4gICAgZm9udC1zaXplOiB2dygtLXBCdXR0b24tbGFyZ2UtZm9udC1zaXplLXNwKTtcbiAgICBwYWRkaW5nOiB2dygtLXBCdXR0b24tbGFyZ2UtcGFkZGluZy1ibG9jay1zcCkgdncoLS1wQnV0dG9uLWxhcmdlLXBhZGRpbmctaW5saW5lLXNwKTtcbiAgICBtaW4td2lkdGg6IHZ3KC0tcEJ1dHRvbi1sYXJnZS1taW4td2lkdGgtc3ApO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogdncoLS1wQnV0dG9uLWxhcmdlLWljb24td2lkdGgtc3ApIGF1dG8gdncoLS1wQnV0dG9uLWxhcmdlLWljb24td2lkdGgtc3ApO1xuICAgIGJvcmRlci1yYWRpdXM6IHZ3KC0tcEJ1dHRvbi1sYXJnZS1ib3JkZXItcmFkaXVzKTtcbiAgICBAaW5jbHVkZSBtcSgpIHtcbiAgICAgIGZvbnQtc2l6ZTogcGMoLS1wQnV0dG9uLWxhcmdlLWZvbnQtc2l6ZS1wYyk7XG4gICAgICBwYWRkaW5nOiBwYygtLXBCdXR0b24tbGFyZ2UtcGFkZGluZy1ibG9jay1wYykgcGMoLS1wQnV0dG9uLWxhcmdlLXBhZGRpbmctaW5saW5lLXBjKTtcbiAgICAgIG1pbi13aWR0aDogcGMoLS1wQnV0dG9uLWxhcmdlLW1pbi13aWR0aC1wYyk7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHBjKC0tcEJ1dHRvbi1sYXJnZS1pY29uLXdpZHRoLXBjKSBhdXRvIHBjKC0tcEJ1dHRvbi1sYXJnZS1pY29uLXdpZHRoLXBjKTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IHBjKC0tcEJ1dHRvbi1sYXJnZS1ib3JkZXItcmFkaXVzKTtcbiAgICB9XG4gICAgJjo6YmVmb3JlLCY6OmFmdGVyIHtcbiAgICAgIHdpZHRoOiB2dygtLXBCdXR0b24tbGFyZ2UtaWNvbi13aWR0aC1zcCk7XG4gICAgICBAaW5jbHVkZSBtcSgpIHtcbiAgICAgICAgd2lkdGg6IHBjKC0tcEJ1dHRvbi1sYXJnZS1pY29uLXdpZHRoLXBjKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgJi5yaWdodCB7XG4gICAgJjo6YWZ0ZXIge1xuICAgICAgbWFzay1pbWFnZTogdXJsKC9pbWFnZXMvaWNvbl9hcnJvd19uZXh0LnN2Zyk7XG4gICAgfVxuICAgICZbdGFyZ2V0PVwiX2JsYW5rXCJdIHtcbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgbWFzay1pbWFnZTogdXJsKC9pbWFnZXMvaWNvbl9leHRlcm5hbC5zdmcpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAmLmxlZnQge1xuICAgICY6OmJlZm9yZSB7XG4gICAgICBtYXNrLWltYWdlOiB1cmwoL2ltYWdlcy9pY29uX2Fycm93X3ByZXYuc3ZnKTtcbiAgICB9XG4gIH1cbiAgJi5yaWdodCB7XG4gICAgJjo6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcEJ1dHRvbi1pY29uLWNvbG9yLWRlZmF1bHQpO1xuICAgIH1cbiAgICBAbWVkaWEgKGFueS1ob3ZlcjogaG92ZXIpIHtcbiAgICAgICY6aG92ZXIge1xuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcEJ1dHRvbi1pY29uLWNvbG9yLWhvdmVyKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAmLnJldmVyc2Uge1xuICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcEJ1dHRvbi1pY29uLWNvbG9yLXJldmVyc2UpO1xuICAgICAgfVxuICAgICAgQG1lZGlhIChhbnktaG92ZXI6IGhvdmVyKSB7XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXBCdXR0b24taWNvbi1jb2xvci1yZXZlcnNlLWhvdmVyKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgJi5sZWZ0IHtcbiAgICAmOjpiZWZvcmUge1xuICAgICAgbWFzay1pbWFnZTogdXJsKC9pbWFnZXMvaWNvbl9hcnJvd19wcmV2LnN2Zyk7XG4gICAgfVxuICAgICZbdGFyZ2V0PVwiX2JsYW5rXCJdIHtcbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIG1hc2staW1hZ2U6IHVybCgvaW1hZ2VzL2ljb25fZXh0ZXJuYWwuc3ZnKTtcbiAgICAgIH1cbiAgICB9XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXBCdXR0b24taWNvbi1jb2xvci1kZWZhdWx0KTtcbiAgICB9XG4gICAgQG1lZGlhIChhbnktaG92ZXI6IGhvdmVyKSB7XG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wQnV0dG9uLWljb24tY29sb3ItaG92ZXIpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgICYucmV2ZXJzZSB7XG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wQnV0dG9uLWljb24tY29sb3ItcmV2ZXJzZSk7XG4gICAgICB9XG4gICAgICBAbWVkaWEgKGFueS1ob3ZlcjogaG92ZXIpIHtcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXBCdXR0b24taWNvbi1jb2xvci1yZXZlcnNlLWhvdmVyKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn0iLCJAY2hhcnNldCBcIlVURi04XCI7XG5AaW1wb3J0IFwibWl4aW5zXCI7XG5cbi5wRmlsZUluZm8ge1xuICBkaXNwbGF5OiBpbmxpbmUtZ3JpZDtcbiAgZ3JpZC1hdXRvLWZsb3c6IGNvbHVtbjtcbiAgZ2FwOiB2dygtLXBGaWxlSW5mby1nYXAtc3ApO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBAaW5jbHVkZSBtcSgpIHtcbiAgICBnYXA6IHBjKC0tcEZpbGVJbmZvLWdhcC1wYyk7XG4gIH1cbiAgaW1nIHtcbiAgICB3aWR0aDogdncoLS1wRmlsZUluZm8taWNvbi13aWR0aC1zcCk7XG4gICAgYXNwZWN0LXJhdGlvOiAxIC8gMTtcbiAgICBvYmplY3QtZml0OiBjb250YWluO1xuICAgIEBpbmNsdWRlIG1xKCkge1xuICAgICAgd2lkdGg6IHBjKC0tcEZpbGVJbmZvLWljb24td2lkdGgtcGMpO1xuICAgIH1cbiAgfVxuICBmaWdjYXB0aW9uIHtcbiAgICBmb250LXNpemU6IHZ3KC0tcEZpbGVJbmZvLWZvbnQtc2l6ZS1zcCk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLXBGaWxlSW5mby1mb250LXdlaWdodCk7XG4gICAgZm9udC1mYW1pbHk6IHZhcigtLXBGaWxlSW5mby1mb250LWZhbWlseSk7XG4gICAgY29sb3I6IHZhcigtLXBGaWxlSW5mby1jb2xvcik7XG4gICAgQGluY2x1ZGUgbXEoKSB7XG4gICAgICBmb250LXNpemU6IHBjKC0tcEZpbGVJbmZvLWZvbnQtc2l6ZS1wYyk7XG4gICAgfVxuICB9XG5cbn0iLCJAY2hhcnNldCBcIlVURi04XCI7XG5AaW1wb3J0IFwibWl4aW5zXCI7XG5cblxuLnBDYXRhbG9nIHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZTpcbiAgXCJpbWFnZSBoZWFkaW5nXCIgYXV0b1xuICBcInN1bW1hcnkgc3VtbWFyeVwiIGF1dG9cbiAgLyAxZnIgMWZyO1xuICBhbGlnbi1pdGVtczogc3RhcnQ7XG4gIHJvdy1nYXA6IHZ3KHZhcigtLXBDYXRhbG9nLWdhcC1yb3ctc3ApKTtcbiAgY29sdW1uLWdhcDogdncodmFyKC0tcENhdGFsb2ctZ2FwLWNvbC1zcCkpO1xuICBAaW5jbHVkZSBtcSB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1hcmVhczogdW5zZXQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiB1bnNldDtcbiAgICBncmlkLXRlbXBsYXRlLXJvd3M6IHN1YmdyaWQ7XG4gICAgZ3JpZC1yb3c6IHNwYW4gMztcbiAgICByb3ctZ2FwOiBwYyh2YXIoLS1wQ2F0YWxvZy1nYXAtcm93LXBjKSk7XG4gICAgY29sdW1uLWdhcDogdW5zZXQ7XG4gIH1cbiAgLmltYWdlIHtcbiAgICBncmlkLWFyZWE6IGltYWdlO1xuICAgIEBpbmNsdWRlIG1xIHtcbiAgICAgIGdyaWQtYXJlYTogdW5zZXQ7XG4gICAgfVxuICB9XG4gIC5oZWFkaW5nIHtcbiAgICBncmlkLWFyZWE6IGhlYWRpbmc7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLWF1dG8tZmxvdzogcm93O1xuICAgIGFsaWduLWl0ZW1zOiBzdGFydDtcbiAgICByb3ctZ2FwOiB2dyh2YXIoLS1wQ2F0YWxvZy1nYXAtcm93LXNwKSk7XG4gICAgQGluY2x1ZGUgbXEge1xuICAgICAgZ3JpZC1hcmVhOiB1bnNldDtcbiAgICAgIHJvdy1nYXA6IHBjKHZhcigtLXBDYXRhbG9nLWdhcC1yb3ctcGMpKTtcbiAgICB9XG4gIH1cbiAgLnN1bW1hcnkge1xuICAgIGdyaWQtYXJlYTogc3VtbWFyeTtcbiAgICBAaW5jbHVkZSBtcSB7XG4gICAgICBncmlkLWFyZWE6IHVuc2V0O1xuICAgIH1cbiAgfVxufSIsIkBjaGFyc2V0IFwiVVRGLThcIjtcbkBpbXBvcnQgXCJtaXhpbnNcIjtcblxuLnBDYXRhbG9nVGl0bGVTZXQge1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLWF1dG8tZmxvdzogcm93O1xuICBnYXA6IHZ3KC0tcENhdGFsb2dUaXRsZVNldC1nYXAtc3ApO1xuICBAaW5jbHVkZSBtcSgpIHtcbiAgICBnYXA6IHBjKC0tcENhdGFsb2dUaXRsZVNldC1nYXAtcGMpO1xuICB9XG59IiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuQGltcG9ydCBcIm1peGluc1wiO1xuXG4ucEF0dGFjaG1lbnQge1xuICBwYWRkaW5nOiB2dygtLXBBdHRhY2htZW50LXBhZGRpbmctaW5saW5lLXNwKSB2dygtLXBBdHRhY2htZW50LXBhZGRpbmctYmxvY2stc3ApO1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IGF1dG8gYXV0bztcbiAganVzdGlmeS1jb250ZW50OiBzdGFydDtcbiAgYWxpZ24tY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IHZ3KC0tcEF0dGFjaG1lbnQtZ2FwLXNwKTtcbiAgYm9yZGVyLWJvdHRvbS13aWR0aDogdncoLS1wQXR0YWNobWVudC1ib3JkZXItYm90dG9tLXdpZHRoKTtcbiAgYm9yZGVyLWJvdHRvbS1zdHlsZTogc29saWQ7XG4gIGJvcmRlci1ib3R0b20tY29sb3I6IHZhcigtLXBBdHRhY2htZW50LWJvcmRlci1ib3R0b20tY29sb3IpO1xuICBAaW5jbHVkZSBtcSgpIHtcbiAgICBwYWRkaW5nOiBwYygtLXBBdHRhY2htZW50LXBhZGRpbmctaW5saW5lLXBjKSBwYygtLXBBdHRhY2htZW50LXBhZGRpbmctYmxvY2stcGMpO1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IHBjKC0tcEF0dGFjaG1lbnQtYm9yZGVyLWJvdHRvbS13aWR0aCk7XG4gICAgZ2FwOiBwYygtLXBBdHRhY2htZW50LWdhcC1wYyk7XG4gIH1cbiAgJjo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiB2dygtLXBBdHRhY2htZW50LWljb24td2lkdGgtc3ApO1xuICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICBhc3BlY3QtcmF0aW86IDEgLyAxO1xuICAgIEBpbmNsdWRlIG1xKCkge1xuICAgICAgd2lkdGg6IHBjKC0tcEF0dGFjaG1lbnQtaWNvbi13aWR0aC1wYyk7XG4gICAgfVxuICB9XG4gICY6aGFzKGFbaHJlZiQ9XCIucGRmXCJdKSB7XG4gICAgJjo6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC9pbWFnZXMvaWNvbl9wZGYuc3ZnKTtcbiAgICB9XG4gIH1cbiAgJjpoYXMoYVtocmVmJD1cIi54bHN4XCJdKSwgJjpoYXMoYVtocmVmJD1cIi54bHNcIl0pIHtcbiAgICAmOjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoL2ltYWdlcy9pY29uX3hscy5zdmcpO1xuICAgIH1cbiAgfVxuICAmOmhhcyhhW2hyZWYkPVwiLmRvY3hcIl0pLCAmOmhhcyhhW2hyZWYkPVwiLmRvY1wiXSkge1xuICAgICY6OmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgvaW1hZ2VzL2ljb25fd29yZC5zdmcpO1xuICAgIH1cbiAgfVxuICBhIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogYXV0byBhdXRvO1xuICAgIGp1c3RpZnktY29udGVudDogc3RhcnQ7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBmb250LXNpemU6IHZ3KC0tcEF0dGFjaG1lbnQtZm9udC1zaXplLXNwKTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tcEF0dGFjaG1lbnQtZm9udC13ZWlnaHQpO1xuICAgIGNvbG9yOiB2YXIoLS1wQXR0YWNobWVudC1jb2xvcik7XG4gICAgbGluZS1oZWlnaHQ6IDE1MCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIEBpbmNsdWRlIG1xKCkge1xuICAgICAgZm9udC1zaXplOiBwYygtLXBBdHRhY2htZW50LWZvbnQtc2l6ZS1wYyk7XG4gICAgICBmb250LXdlaWdodDogdmFyKC0tcEF0dGFjaG1lbnQtZm9udC13ZWlnaHQpO1xuICAgICAgY29sb3I6IHZhcigtLXBBdHRhY2htZW50LWNvbG9yKTtcbiAgICB9XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICfjg7snO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBhbGlnbi1zZWxmOiBzdGFydDtcbiAgICB9XG4gIH1cbiAgXG4gIFxufSIsIkBjaGFyc2V0IFwiVVRGLThcIjtcbkBpbXBvcnQgXCJtaXhpbnNcIjtcblxuLnBRIHtcbiAgZm9udC1zaXplOiB2dygtLXBRLWZvbnQtc2l6ZS1zcCk7XG4gIGZvbnQtd2VpZ2h0OiB2YXIoLS1wUS1mb250LXdlaWdodCk7XG4gIGNvbG9yOiB2YXIoLS1wUS1jb2xvcik7XG4gIGxpbmUtaGVpZ2h0OiAxNTAlO1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IGF1dG8gYXV0bztcbiAganVzdGlmeS1jb250ZW50OiBzdGFydDtcbiAgZ2FwOiB2dygtLXBRLWdhcC1zcCk7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgQGluY2x1ZGUgbXEoKSB7XG4gICAgZm9udC1zaXplOiBwYygtLXBRLWZvbnQtc2l6ZS1wYyk7XG4gICAgZ2FwOiBwYygtLXBRLWdhcC1wYyk7XG4gIH1cbiAgJjo6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogdncoLS1wUS1pY29uLXdpZHRoLXNwKTtcbiAgICBhc3BlY3QtcmF0aW86IDEgLyAxO1xuICAgIGJhY2tncm91bmQ6IGNlbnRlciAvIGNvbnRhaW4gbm8tcmVwZWF0IHVybCgvaW1hZ2VzL2ljb25fcS5zdmcpO1xuICAgIEBpbmNsdWRlIG1xKCkge1xuICAgICAgd2lkdGg6IHBjKC0tcFEtaWNvbi13aWR0aC1wYyk7XG4gICAgfVxuICB9XG59IiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuQGltcG9ydCBcIm1peGluc1wiO1xuXG4ucEEge1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IGF1dG8gYXV0bztcbiAganVzdGlmeS1jb250ZW50OiBzdGFydDtcbiAgZ2FwOiB2dygtLXBBLWdhcC1zcCk7XG4gIEBpbmNsdWRlIG1xKCkge1xuICAgIGdhcDogcGMoLS1wQS1nYXAtcGMpO1xuICB9XG4gICY6OmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IHZ3KC0tcEEtaWNvbi13aWR0aC1zcCk7XG4gICAgYXNwZWN0LXJhdGlvOiAxIC8gMTtcbiAgICBiYWNrZ3JvdW5kOiBjZW50ZXIgLyBjb250YWluIG5vLXJlcGVhdCB1cmwoL2ltYWdlcy9pY29uX2Euc3ZnKTtcbiAgICBAaW5jbHVkZSBtcSgpIHtcbiAgICAgIHdpZHRoOiBwYygtLXBBLWljb24td2lkdGgtcGMpO1xuICAgIH1cbiAgfVxuICBpbWcge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogMCBhdXRvIHZ3KC0tcEEtZ2FwLXNwKSAhaW1wb3J0YW50O1xuICAgIGJvcmRlci1yYWRpdXM6IHZ3KC0tYm9yZGVyLXJhZGl1cy1zbWFsbCk7XG4gICAgQGluY2x1ZGUgbXEge1xuICAgICAgYm9yZGVyLXJhZGl1czogcGMoLS1ib3JkZXItcmFkaXVzLXNtYWxsKTtcbiAgICB9XG4gICAgJi5tdC1pbWFnZS1yaWdodCB7XG4gICAgICBmbG9hdDogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgQGluY2x1ZGUgbXEge1xuICAgICAgICBmbG9hdDogcmlnaHQgIWltcG9ydGFudDtcbiAgICAgICAgbWFyZ2luOiAwIDAgcGMoLS1wQS1nYXAtcGMpIHBjKC0tcEEtZ2FwLXBjKSAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgIH1cbiAgICAmLm10LWltYWdlLWxlZnQge1xuICAgICAgZmxvYXQ6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgIEBpbmNsdWRlIG1xIHtcbiAgICAgICAgZmxvYXQ6IGxlZnQgIWltcG9ydGFudDtcbiAgICAgICAgbWFyZ2luOiAwIHBjKC0tcEEtZ2FwLXBjKSBwYygtLXBBLWdhcC1wYykgMCAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxufSIsIkBjaGFyc2V0IFwiVVRGLThcIjtcbkBpbXBvcnQgXCJtaXhpbnNcIjtcblxuLnBGYXEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wRmFxLWJhY2tncm91bmQtY29sb3IpO1xuICBib3JkZXItcmFkaXVzOiB2dygtLXBGYXEtYm9yZGVyLXJhZGl1cy1zcCk7XG4gIGJvcmRlcjogdncoLS1wRmFxLWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tcEZhcS1ib3JkZXItY29sb3IpO1xuICBwYWRkaW5nOiB2dygtLXBGYXEtcGFkZGluZy1ibG9jay1zcCkgdncoLS1wRmFxLXBhZGRpbmctaW5saW5lLXNwKTtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC1hdXRvLWZsb3c6IHJvdztcbiAgZ2FwOiB2dygtLXBGYXEtZ2FwLXNwKTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBAaW5jbHVkZSBtcSB7XG4gICAgYm9yZGVyLXJhZGl1czogcGMoLS1wRmFxLWJvcmRlci1yYWRpdXMtcGMpO1xuICAgIHBhZGRpbmc6IHBjKC0tcEZhcS1wYWRkaW5nLWJsb2NrLXBjKSBwYygtLXBGYXEtcGFkZGluZy1pbmxpbmUtcGMpO1xuICAgIGdhcDogcGMoLS1wRmFxLWdhcC1wYyk7XG4gICAgYm9yZGVyLXdpZHRoOiBwYygtLXBGYXEtYm9yZGVyLXdpZHRoKTtcbiAgfVxuICAmLmlzLWFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcEZhcS1iYWNrZ3JvdW5kLWNvbG9yLW9wZW4pO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tcEZhcS1ib3JkZXItY29sb3Itb3Blbik7XG4gICAgLnE6OmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgvaW1hZ2VzL2ljb25fbWludXMuc3ZnKTtcbiAgICB9XG4gIH1cbiAgLnEge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgYXV0bztcbiAgICBnYXA6IHZ3KC0tcEZhcS1nYXAtc3ApO1xuICAgIEBpbmNsdWRlIG1xIHtcbiAgICAgIGdhcDogcGMoLS1wRmFxLWdhcC1wYyk7XG4gICAgfVxuICAgICY6OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogdncoLS1wRmFxLWljb24td2lkdGgtc3ApO1xuICAgICAgYXNwZWN0LXJhdGlvOiAxIC8gMTtcbiAgICAgIGJhY2tncm91bmQ6IGNlbnRlciAvIGNvbnRhaW4gbm8tcmVwZWF0IHVybCgvaW1hZ2VzL2ljb25fcGx1cy5zdmcpO1xuICAgICAgQGluY2x1ZGUgbXEge1xuICAgICAgICB3aWR0aDogcGMoLS1wRmFxLWljb24td2lkdGgtcGMpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAuYSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICBcbn0iLCJAY2hhcnNldCBcIlVURi04XCI7XG5AaW1wb3J0IFwibWl4aW5zXCI7XG5cbi5wQ29udmVyc2lvbkhlYWRpbmcge1xuICBmb250LXNpemU6IHZ3KC0tcENvbnZlcnNpb25IZWFkaW5nLWZvbnQtc2l6ZS1zcCk7XG4gIGZvbnQtd2VpZ2h0OiB2YXIoLS1wQ29udmVyc2lvbkhlYWRpbmctZm9udC13ZWlnaHQpO1xuICBjb2xvcjogdmFyKC0tcENvbnZlcnNpb25IZWFkaW5nLWNvbG9yKTtcbiAgbGluZS1oZWlnaHQ6IDE0MCU7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1wQ29udmVyc2lvbkhlYWRpbmctZm9udC1mYW1pbHkpO1xuICBAaW5jbHVkZSBtcSgpIHtcbiAgICBmb250LXNpemU6IHBjKC0tcENvbnZlcnNpb25IZWFkaW5nLWZvbnQtc2l6ZS1wYyk7XG4gIH1cbn0iLCJAY2hhcnNldCBcIlVURi04XCI7XG5AaW1wb3J0IFwibWl4aW5zXCI7XG5cblxuLnBMb2NhbG5hdlN1YiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gIGZvbnQtc2l6ZTogdncoLS1wTG9jYWxuYXZTdWItZm9udC1zaXplLXNwKTtcbiAgZm9udC13ZWlnaHQ6IHZhcigtLXBMb2NhbG5hdlN1Yi1mb250LXdlaWdodCk7XG4gIGNvbG9yOiB2YXIoLS1wTG9jYWxuYXZTdWItZGVmYXVsdC1jb2xvcik7XG4gIGJvcmRlci13aWR0aDogdmFyKC0tcExvY2FsbmF2U3ViLWJvcmRlci13aWR0aCk7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tcExvY2FsbmF2U3ViLWRlZmF1bHQtYm9yZGVyLWNvbG9yKTtcbiAgYm9yZGVyLXJhZGl1czogdncoLS1wTG9jYWxuYXZTdWItYm9yZGVyLXJhZGl1cyk7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXBMb2NhbG5hdlN1Yi1kZWZhdWx0LWJhY2tncm91bmQtY29sb3IpO1xuICBwYWRkaW5nOiB2dygtLXBMb2NhbG5hdlN1Yi1wYWRkaW5nLWJsb2NrLXNwKSB2dygtLXBMb2NhbG5hdlN1Yi1wYWRkaW5nLWlubGluZS1zcCk7XG4gIEBpbmNsdWRlIG1xKCkge1xuICAgIGZvbnQtc2l6ZTogcGMoLS1wTG9jYWxuYXZTdWItZm9udC1zaXplLXBjKTtcbiAgICBwYWRkaW5nOiBwYygtLXBMb2NhbG5hdlN1Yi1wYWRkaW5nLWJsb2NrLXBjKSBwYygtLXBMb2NhbG5hdlN1Yi1wYWRkaW5nLWlubGluZS1wYyk7XG4gICAgYm9yZGVyLXdpZHRoOiBwYygtLXBMb2NhbG5hdlN1Yi1ib3JkZXItd2lkdGgpO1xuICB9XG4gICYuaXMtYWN0aXZlIHtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLXBMb2NhbG5hdlN1Yi1hY3RpdmUtYm9yZGVyLWNvbG9yKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wTG9jYWxuYXZTdWItYWN0aXZlLWJhY2tncm91bmQtY29sb3IpO1xuICAgIGNvbG9yOiB2YXIoLS1wTG9jYWxuYXZTdWItYWN0aXZlLWNvbG9yKTtcbiAgfVxuICBAbWVkaWEoYW55LWhvdmVyOiBob3Zlcikge1xuICAgICY6aG92ZXIge1xuICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1wTG9jYWxuYXZTdWItYWN0aXZlLWJvcmRlci1jb2xvcik7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wTG9jYWxuYXZTdWItYWN0aXZlLWJhY2tncm91bmQtY29sb3IpO1xuICAgICAgY29sb3I6IHZhcigtLXBMb2NhbG5hdlN1Yi1hY3RpdmUtY29sb3IpO1xuICAgIH1cbiAgfVxufSIsIkBjaGFyc2V0IFwiVVRGLThcIjtcbkBpbXBvcnQgXCJtaXhpbnNcIjtcblxuXG4ucEFyY2hpdmVuYXYge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IGZpdC1jb250ZW50O1xuICBmb250LXNpemU6IHZ3KC0tcEFyY2hpdmVuYXYtZm9udC1zaXplLXNwKTtcbiAgZm9udC13ZWlnaHQ6IHZhcigtLXBBcmNoaXZlbmF2LWZvbnQtd2VpZ2h0KTtcbiAgY29sb3I6IHZhcigtLXBBcmNoaXZlbmF2LWRlZmF1bHQtY29sb3IpO1xuICBib3JkZXItd2lkdGg6IHZ3KC0tcEFyY2hpdmVuYXYtYm9yZGVyLXdpZHRoKTtcbiAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1wQXJjaGl2ZW5hdi1kZWZhdWx0LWJvcmRlci1jb2xvcik7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IHZ3KC0tcEFyY2hpdmVuYXYtYm9yZGVyLXJhZGl1cyk7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiB2dygtLXBBcmNoaXZlbmF2LWJvcmRlci1yYWRpdXMpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wQXJjaGl2ZW5hdi1kZWZhdWx0LWJhY2tncm91bmQtY29sb3IpO1xuICBwYWRkaW5nOiB2dygtLXBBcmNoaXZlbmF2LXBhZGRpbmctYmxvY2stc3ApIHZ3KC0tcEFyY2hpdmVuYXYtcGFkZGluZy1pbmxpbmUtc3ApO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBAaW5jbHVkZSBtcSgpIHtcbiAgICBib3JkZXItd2lkdGg6IHBjKC0tcEFyY2hpdmVuYXYtYm9yZGVyLXdpZHRoKTtcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICAgIGZvbnQtc2l6ZTogcGMoLS1wQXJjaGl2ZW5hdi1mb250LXNpemUtcGMpO1xuICAgIHBhZGRpbmc6IHBjKC0tcEFyY2hpdmVuYXYtcGFkZGluZy1ibG9jay1wYykgcGMoLS1wQXJjaGl2ZW5hdi1wYWRkaW5nLWlubGluZS1wYyk7XG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogcGMoLS1wQXJjaGl2ZW5hdi1ib3JkZXItcmFkaXVzKTtcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogcGMoLS1wQXJjaGl2ZW5hdi1ib3JkZXItcmFkaXVzKTtcbiAgfVxuICAmLmlzLWFjdGl2ZSB7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1wQXJjaGl2ZW5hdi1hY3RpdmUtYm9yZGVyLWNvbG9yKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wQXJjaGl2ZW5hdi1hY3RpdmUtYmFja2dyb3VuZC1jb2xvcik7XG4gICAgY29sb3I6IHZhcigtLXBBcmNoaXZlbmF2LWFjdGl2ZS1jb2xvcik7XG4gIH1cbiAgQG1lZGlhKGFueS1ob3ZlcjogaG92ZXIpIHtcbiAgICAmOmhvdmVyIHtcbiAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tcEFyY2hpdmVuYXYtYWN0aXZlLWJvcmRlci1jb2xvcik7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wQXJjaGl2ZW5hdi1hY3RpdmUtYmFja2dyb3VuZC1jb2xvcik7XG4gICAgICBjb2xvcjogdmFyKC0tcEFyY2hpdmVuYXYtYWN0aXZlLWNvbG9yKTtcbiAgICB9XG4gIH1cbn0iLCJAY2hhcnNldCBcIlVURi04XCI7XG5AaW1wb3J0IFwibWl4aW5zXCI7XG5cblxuLnBTcGVha2VyIHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC1hdXRvLWZsb3c6IHJvdztcbiAgZ2FwOiB2dygtLXBTcGVha2VyLWdhcC1zcCk7XG4gIEBpbmNsdWRlIG1xKCkge1xuICAgIGdhcDogcGMoLS1wU3BlYWtlci1nYXAtcGMpO1xuICB9XG4gIC5wcm9maWxlX2VuIHtcbiAgICBjb2xvcjogdmFyKC0tcFNwZWFrZXItY29sb3ItZW4pO1xuICB9XG59IiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuQGltcG9ydCBcIm1peGluc1wiO1xuXG5cbi5wRmxvYXRJbWFnZSB7XG4gIG1hcmdpbi10b3A6IHZ3KC0tcEZsb2F0SW1hZ2UtbWFyZ2luLXRvcC1zcCk7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xuICBAaW5jbHVkZSBtcSB7XG4gICAgbWFyZ2luLXRvcDogcGMoLS1wRmxvYXRJbWFnZS1tYXJnaW4tdG9wLXBjKTtcbiAgfVxuICAucEltYWdlQ2FwdGlvbiB7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIHdpZHRoOiA1MCU7XG4gICAgcGFkZGluZy1sZWZ0OiB2dygtLXBGbG9hdEltYWdlLWdhcC1zcCk7XG4gICAgcGFkZGluZy1ib3R0b206IHZ3KC0tcEZsb2F0SW1hZ2UtZ2FwLXNwKTtcbiAgICBAaW5jbHVkZSBtcSB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IHBjKC0tcEZsb2F0SW1hZ2UtZ2FwLXBjKTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiBwYygtLXBGbG9hdEltYWdlLWdhcC1wYyk7XG4gICAgfVxuICB9XG59IiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuQGltcG9ydCBcIm1peGluc1wiO1xuXG5cbi5wTmV3c0NhdGVnb3J5IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiBmaXQtY29udGVudDtcbiAgZm9udC1zaXplOiB2dygtLXBOZXdzQ2F0ZWdvcnktZm9udC1zaXplLXNwKTtcbiAgZm9udC13ZWlnaHQ6IHZhcigtLXBOZXdzQ2F0ZWdvcnktZm9udC13ZWlnaHQpO1xuICBjb2xvcjogdmFyKC0tcE5ld3NDYXRlZ29yeS1jb2xvcik7XG4gIGJvcmRlci13aWR0aDogdmFyKC0tcE5ld3NDYXRlZ29yeS1ib3JkZXItd2lkdGgpO1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBib3JkZXItY29sb3I6IHZhcigtLXBOZXdzQ2F0ZWdvcnktYm9yZGVyLWNvbG9yKTtcbiAgYm9yZGVyLXJhZGl1czogdncoLS1wTmV3c0NhdGVnb3J5LWJvcmRlci1yYWRpdXMpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wTmV3c0NhdGVnb3J5LWJhY2tncm91bmQtY29sb3IpO1xuICBwYWRkaW5nOiB2dygtLXBOZXdzQ2F0ZWdvcnktcGFkZGluZy1ibG9jay1zcCkgdncoLS1wTmV3c0NhdGVnb3J5LXBhZGRpbmctaW5saW5lLXNwKTtcbiAgbWluLXdpZHRoOiB2dygtLXBOZXdzQ2F0ZWdvcnktbWluLXdpZHRoLXNwKTtcbiAgQGluY2x1ZGUgbXEoKSB7XG4gICAgZm9udC1zaXplOiBwYygtLXBOZXdzQ2F0ZWdvcnktZm9udC1zaXplLXBjKTtcbiAgICBwYWRkaW5nOiBwYygtLXBOZXdzQ2F0ZWdvcnktcGFkZGluZy1ibG9jay1wYykgcGMoLS1wTmV3c0NhdGVnb3J5LXBhZGRpbmctaW5saW5lLXBjKTtcbiAgICBib3JkZXItd2lkdGg6IHBjKC0tcE5ld3NDYXRlZ29yeS1ib3JkZXItd2lkdGgpO1xuICAgIG1pbi13aWR0aDogcGMoLS1wTmV3c0NhdGVnb3J5LW1pbi13aWR0aC1wYyk7XG4gIH1cbn0iLCJAY2hhcnNldCBcIlVURi04XCI7XG5AaW1wb3J0IFwibWl4aW5zXCI7XG5cblxuLnBOZXdzRGF0ZSB7XG4gIGZvbnQtc2l6ZTogdncoLS1wTmV3c0RhdGUtZm9udC1zaXplLXNwKTtcbiAgZm9udC13ZWlnaHQ6IHZhcigtLXBOZXdzRGF0ZS1mb250LXdlaWdodCk7XG4gIGNvbG9yOiB2YXIoLS1wTmV3c0RhdGUtY29sb3IpO1xuICBmb250LWZhbWlseTogdmFyKC0tcE5ld3NEYXRlLWZvbnQtZmFtaWx5KTtcbiAgZm9udC13ZWlnaHQ6IHZhcigtLXBOZXdzRGF0ZS1mb250LXdlaWdodCk7XG4gIEBpbmNsdWRlIG1xKCkge1xuICAgIGZvbnQtc2l6ZTogcGMoLS1wTmV3c0RhdGUtZm9udC1zaXplLXBjKTtcbiAgfVxufSIsIkBjaGFyc2V0IFwiVVRGLThcIjtcbkBpbXBvcnQgXCJtaXhpbnNcIjtcblxuXG4ucE5ld3NUaXRsZSB7XG4gIGZvbnQtc2l6ZTogdncoLS1wTmV3c1RpdGxlLWZvbnQtc2l6ZS1zcCk7XG4gIGZvbnQtd2VpZ2h0OiB2YXIoLS1wTmV3c1RpdGxlLWZvbnQtd2VpZ2h0KTtcbiAgY29sb3I6IHZhcigtLXBOZXdzVGl0bGUtY29sb3IpO1xuICBmb250LXdlaWdodDogdmFyKC0tcE5ld3NUaXRsZS1mb250LXdlaWdodCk7XG4gIEBpbmNsdWRlIG1xKCkge1xuICAgIGZvbnQtc2l6ZTogcGMoLS1wTmV3c1RpdGxlLWZvbnQtc2l6ZS1wYyk7XG4gIH1cbn0iLCJAY2hhcnNldCBcIlVURi04XCI7XG5AaW1wb3J0IFwibWl4aW5zXCI7XG5cblxuLnBOZXdzU2V0IHtcbiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdmFyKC0tcE5ld3NTZXQtYm9yZGVyLWNvbG9yKTtcbiAgYm9yZGVyLWJvdHRvbS13aWR0aDogdncoLS1wTmV3c1NldC1ib3JkZXItd2lkdGgpO1xuICBib3JkZXItYm90dG9tLXN0eWxlOiBzb2xpZDtcbiAgcGFkZGluZy1ibG9jazogdncoLS1wTmV3c1NldC1wYWRkaW5nLWJsb2NrLXNwKTtcbiAgcGFkZGluZy1pbmxpbmU6IHZ3KC0tcE5ld3NTZXQtcGFkZGluZy1pbmxpbmUtc3ApO1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlOlxuICAgIFwiZGF0ZSBjYXRcIiBhdXRvXG4gICAgXCJ0aXRsZSB0aXRsZVwiIGF1dG9cbiAgICAvIGF1dG8gMWZyO1xuICBjb2x1bW4tZ2FwOiB2dygtLXBOZXdzU2V0LWdhcC1jb2wtc3ApO1xuICByb3ctZ2FwOiB2dygtLXBOZXdzU2V0LWdhcC1yb3ctc3ApO1xuICBAaW5jbHVkZSBtcSgpIHtcbiAgICBncmlkLXRlbXBsYXRlOlxuICAgICAgXCJkYXRlIGNhdCB0aXRsZVwiIGF1dG9cbiAgICAgIC8gYXV0byBhdXRvIDFmcjtcbiAgICBjb2x1bW4tZ2FwOiBwYygtLXBOZXdzU2V0LWdhcC1wYyk7XG4gICAgcm93LWdhcDogMDtcbiAgICBhbGlnbi1pdGVtczogc3RhcnQ7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogcGMoLS1wTmV3c1NldC1ib3JkZXItd2lkdGgpO1xuICAgIHBhZGRpbmctYmxvY2s6IHBjKC0tcE5ld3NTZXQtcGFkZGluZy1ibG9jay1wYyk7XG4gICAgcGFkZGluZy1pbmxpbmU6IHBjKC0tcE5ld3NTZXQtcGFkZGluZy1pbmxpbmUtcGMpO1xuICB9XG4gIC5kYXRlIHtcbiAgICBncmlkLWFyZWE6IGRhdGU7XG4gICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgIEBpbmNsdWRlIG1xKCkge1xuICAgICAgYWxpZ24tc2VsZjogc3RhcnQ7XG4gICAgfVxuICB9XG4gIC5wVGFnU2V0IHtcbiAgICBncmlkLWFyZWE6IGNhdDtcbiAgfVxuICAudGl0bGUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBncmlkLWFyZWE6IHRpdGxlO1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIGxpbmUtaGVpZ2h0OiAxNjAlO1xuICAgIEBpbmNsdWRlIG1xKCkge1xuICAgICAgZmxleDogMTtcbiAgICB9XG4gIH1cblxuICBcbn1cblxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuQGltcG9ydCBcIm1peGluc1wiO1xuXG5cbi5wVGFnIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiBmaXQtY29udGVudDtcbiAgZm9udC1zaXplOiB2dygtLXBUYWctZm9udC1zaXplLXNwKTtcbiAgZm9udC13ZWlnaHQ6IHZhcigtLXBUYWctZm9udC13ZWlnaHQpO1xuICBjb2xvcjogdmFyKC0tcFRhZy1kZWZhdWx0LWNvbG9yKTtcbiAgYm9yZGVyLXdpZHRoOiB2YXIoLS1wVGFnLWJvcmRlci13aWR0aCk7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tcFRhZy1kZWZhdWx0LWJvcmRlci1jb2xvcik7XG4gIGJvcmRlci1yYWRpdXM6IHZ3KC0tcFRhZy1ib3JkZXItcmFkaXVzKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcFRhZy1kZWZhdWx0LWJhY2tncm91bmQtY29sb3IpO1xuICBwYWRkaW5nOiB2dygtLXBUYWctcGFkZGluZy1ibG9jay1zcCkgdncoLS1wVGFnLXBhZGRpbmctaW5saW5lLXNwKTtcbiAgQGluY2x1ZGUgbXEoKSB7XG4gICAgZm9udC1zaXplOiBwYygtLXBUYWctZm9udC1zaXplLXBjKTtcbiAgICBwYWRkaW5nOiBwYygtLXBUYWctcGFkZGluZy1ibG9jay1wYykgcGMoLS1wVGFnLXBhZGRpbmctaW5saW5lLXBjKTtcbiAgICBib3JkZXItd2lkdGg6IHBjKC0tcFRhZy1ib3JkZXItd2lkdGgpO1xuICB9XG4gIEBtZWRpYSAoYW55LWhvdmVyOiBob3Zlcikge1xuICAgICY6aG92ZXIge1xuICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1wVGFnLWFjdGl2ZS1ib3JkZXItY29sb3IpO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcFRhZy1hY3RpdmUtYmFja2dyb3VuZC1jb2xvcik7XG4gICAgICBjb2xvcjogdmFyKC0tcFRhZy1hY3RpdmUtY29sb3IpO1xuICAgIH1cbiAgfVxufSIsIkBjaGFyc2V0IFwiVVRGLThcIjtcbkBpbXBvcnQgXCJtaXhpbnNcIjtcblxuXG4ucFRhZ1NldCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgZ2FwOiB2dygtLXBUYWdTZXQtZ2FwLXJvdy1zcCkgdncoLS1wVGFnU2V0LWdhcC1jb2wtc3ApO1xuICBAaW5jbHVkZSBtcSgpIHtcbiAgICBnYXA6IHBjKC0tcFRhZ1NldC1nYXAtcm93LXBjKSBwYygtLXBUYWdTZXQtZ2FwLWNvbC1wYyk7XG4gIH1cbn0iLCJAY2hhcnNldCBcIlVURi04XCI7XG5AaW1wb3J0IFwibWl4aW5zXCI7XG5cblxuLnBBcnRpY2xlTGlzdCB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGU6XG4gICAgXCJpbWFnZSBkYXRlXCIgYXV0b1xuICAgIFwiaW1hZ2UgY2F0ZWdvcnlcIiBhdXRvXG4gICAgXCJpbWFnZSBoZWFkaW5nXCIgMWZyXG4gICAgXCJ0ZXh0IHRleHRcIiBhdXRvXG4gICAgLyB2dygtLXBBcnRpY2xlTGlzdC1pbWFnZS13aWR0aC1zcCkgMWZyO1xuICBhbGlnbi1pdGVtczogc3RhcnQ7XG4gIGNvbHVtbi1nYXA6IHZ3KC0tcEFydGljbGVMaXN0LWdhcC1jb2wtc3ApO1xuICByb3ctZ2FwOiB2dygtLXBBcnRpY2xlTGlzdC1nYXAtcm93LXNwKTtcbiAgQGluY2x1ZGUgbXEoKSB7XG4gICAgZ3JpZC10ZW1wbGF0ZTpcbiAgICAgIFwiaW1hZ2UgZGF0ZVwiIGF1dG9cbiAgICAgIFwiaW1hZ2UgY2F0ZWdvcnlcIiBhdXRvXG4gICAgICBcImltYWdlIGhlYWRpbmdcIiBhdXRvXG4gICAgICBcImltYWdlIHRleHRcIiAxZnJcbiAgICAgIC8gcGMoLS1wQXJ0aWNsZUxpc3QtaW1hZ2Utd2lkdGgtcGMpIDFmcjtcbiAgICBjb2x1bW4tZ2FwOiBwYygtLXBBcnRpY2xlTGlzdC1nYXAtY29sLXBjKTtcbiAgICByb3ctZ2FwOiBwYygtLXBBcnRpY2xlTGlzdC1nYXAtcm93LXBjKTtcbiAgfVxuICAuaW1hZ2Uge1xuICAgIGdyaWQtYXJlYTogaW1hZ2U7XG4gICAgYWxpZ24tc2VsZjogc3RhcnQ7XG4gIH1cbiAgLnBJbWFnZSB7XG4gICAgYXNwZWN0LXJhdGlvOiAzIC8gMjtcbiAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgfVxuICAucE5ld3NEYXRlIHtcbiAgICBncmlkLWFyZWE6IGRhdGU7XG4gICAgYWxpZ24tc2VsZjogc3RhcnQ7XG4gIH1cbiAgLnBUYWdTZXQge1xuICAgIGdyaWQtYXJlYTogY2F0ZWdvcnk7XG4gICAgYWxpZ24tc2VsZjogc3RhcnQ7XG4gIH1cbiAgLnBIZWFkaW5nU21hbGwge1xuICAgIGdyaWQtYXJlYTogaGVhZGluZztcbiAgICBhbGlnbi1zZWxmOiBzdGFydDtcbiAgfVxuICAucFRleHQge1xuICAgIGdyaWQtYXJlYTogdGV4dDtcbiAgfVxuICBcblxuICBcbn1cblxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuQGltcG9ydCBcIm1peGluc1wiO1xuXG4ucFBhZ2luYXRpb24ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBib3JkZXItd2lkdGg6IHZ3KC0tcFBhZ2luYXRpb24tYm9yZGVyLXdpZHRoKTtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1wUGFnaW5hdGlvbi1kZWZhdWx0LWJvcmRlci1jb2xvcik7XG4gIGJvcmRlci1yYWRpdXM6IHZ3KC0tcFBhZ2luYXRpb24tYm9yZGVyLXJhZGl1cyk7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXBQYWdpbmF0aW9uLWRlZmF1bHQtYmFja2dyb3VuZC1jb2xvcik7XG4gIGNvbG9yOiB2YXIoLS1wUGFnaW5hdGlvbi1kZWZhdWx0LWNvbG9yKTtcbiAgZm9udC1zaXplOiB2dygtLXBQYWdpbmF0aW9uLWZvbnQtc2l6ZS1zcCk7XG4gIGZvbnQtd2VpZ2h0OiB2YXIoLS1wUGFnaW5hdGlvbi1mb250LXdlaWdodCk7XG4gIHBhZGRpbmc6IHZ3KC0tcFBhZ2luYXRpb24tcGFkZGluZy1ibG9jay1zcCkgdncoLS1wUGFnaW5hdGlvbi1wYWRkaW5nLWlubGluZS1zcCk7XG4gIHdpZHRoOiB2dygtLXBQYWdpbmF0aW9uLXdpZHRoLXNwKTtcbiAgYXNwZWN0LXJhdGlvOiAxIC8gMTtcbiAgQGluY2x1ZGUgbXEoKSB7XG4gICAgYm9yZGVyLXdpZHRoOiBwYygtLXBQYWdpbmF0aW9uLWJvcmRlci13aWR0aCk7XG4gICAgZm9udC1zaXplOiBwYygtLXBQYWdpbmF0aW9uLWZvbnQtc2l6ZS1wYyk7XG4gICAgcGFkZGluZzogcGMoLS1wUGFnaW5hdGlvbi1wYWRkaW5nLWJsb2NrLXBjKSBwYygtLXBQYWdpbmF0aW9uLXBhZGRpbmctaW5saW5lLXBjKTtcbiAgICB3aWR0aDogcGMoLS1wUGFnaW5hdGlvbi13aWR0aC1wYyk7XG4gIH1cbiAgJi5pcy1hY3RpdmUge1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tcFBhZ2luYXRpb24tYWN0aXZlLWJvcmRlci1jb2xvcik7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcFBhZ2luYXRpb24tYWN0aXZlLWJhY2tncm91bmQtY29sb3IpO1xuICAgIGNvbG9yOiB2YXIoLS1wUGFnaW5hdGlvbi1hY3RpdmUtY29sb3IpO1xuICB9XG4gICY6bm90KC5pcy1hY3RpdmUpOmhvdmVyIHtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLXBQYWdpbmF0aW9uLWhvdmVyLWJvcmRlci1jb2xvcik7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcFBhZ2luYXRpb24taG92ZXItYmFja2dyb3VuZC1jb2xvcik7XG4gICAgY29sb3I6IHZhcigtLXBQYWdpbmF0aW9uLWhvdmVyLWNvbG9yKTtcbiAgfVxuICAmLmFycm93IHtcbiAgICBpbWcge1xuICAgICAgd2lkdGg6IHZ3KC0tcFBhZ2luYXRpb24taWNvbi13aWR0aC1zcCk7XG4gICAgICBhc3BlY3QtcmF0aW86IDEgLyAxO1xuICAgICAgQGluY2x1ZGUgbXEoKSB7XG4gICAgICAgIHdpZHRoOiBwYygtLXBQYWdpbmF0aW9uLWljb24td2lkdGgtcGMpO1xuICAgICAgfVxuICAgIH1cbiAgICAmLnByZXYge1xuICAgICAgaW1nIHtcbiAgICAgICAgcm90YXRlOiB6IDE4MGRlZztcbiAgICAgIH1cbiAgICB9XG4gIH1cbn0iLCJAY2hhcnNldCBcIlVURi04XCI7XG5AaW1wb3J0IFwibWl4aW5zXCI7XG5cbi5wTG9jYWxuYXZUb3Age1xuICBmb250LXNpemU6IHZ3KC0tcExvY2FsbmF2VG9wLWZvbnQtc2l6ZS1zcCk7XG4gIGZvbnQtd2VpZ2h0OiB2YXIoLS1wTG9jYWxuYXZUb3AtZm9udC13ZWlnaHQpO1xuICBjb2xvcjogdmFyKC0tcExvY2FsbmF2VG9wLWNvbG9yLWRlZmF1bHQpO1xuICBwYWRkaW5nOiB2dygtLXBMb2NhbG5hdlRvcC1wYWRkaW5nLWJsb2NrLXNwKSB2dygtLXBMb2NhbG5hdlRvcC1wYWRkaW5nLWlubGluZS1zcCk7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXBMb2NhbG5hdlRvcC1iYWNrZ3JvdW5kLWNvbG9yLWRlZmF1bHQpO1xuICBib3JkZXItYm90dG9tLXdpZHRoOiB2dygtLXBMb2NhbG5hdlRvcC1ib3JkZXItYm90dG9tLXdpZHRoKTtcbiAgYm9yZGVyLWJvdHRvbS1zdHlsZTogc29saWQ7XG4gIGJvcmRlci1ib3R0b20tY29sb3I6IHZhcigtLXBMb2NhbG5hdlRvcC1ib3JkZXItYm90dG9tLWNvbG9yLWRlZmF1bHQpO1xuICBtaW4td2lkdGg6IHZ3KC0tcExvY2FsbmF2VG9wLW1pbi13aWR0aC1zcCk7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdHJhbnNpdGlvbjogY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1zcGVlZCkgdmFyKC0tYmV6aWVyKSwgYm9yZGVyLWJvdHRvbS1jb2xvciB2YXIoLS10cmFuc2l0aW9uLXNwZWVkKSB2YXIoLS1iZXppZXIpLCBiYWNrZ3JvdW5kLWNvbG9yIHZhcigtLXRyYW5zaXRpb24tc3BlZWQpIHZhcigtLWJlemllcik7XG4gIEBpbmNsdWRlIG1xKCkge1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IHBjKC0tcExvY2FsbmF2VG9wLWJvcmRlci1ib3R0b20td2lkdGgpO1xuICAgIGJvcmRlci1ib3R0b20tc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1ib3R0b20tY29sb3I6IHZhcigtLXBMb2NhbG5hdlRvcC1ib3JkZXItYm90dG9tLWNvbG9yLWRlZmF1bHQpO1xuICAgIG1pbi13aWR0aDogcGMoLS1wTG9jYWxuYXZUb3AtbWluLXdpZHRoLXBjKTtcbiAgfVxuICBAaW5jbHVkZSBtcSgpIHtcbiAgICBmb250LXNpemU6IHBjKC0tcExvY2FsbmF2VG9wLWZvbnQtc2l6ZS1wYyk7XG4gICAgcGFkZGluZzogcGMoLS1wTG9jYWxuYXZUb3AtcGFkZGluZy1ibG9jay1wYykgcGMoLS1wTG9jYWxuYXZUb3AtcGFkZGluZy1pbmxpbmUtcGMpO1xuICAgIGdhcDogcGMoLS1wTG9jYWxuYXZUb3AtZ2FwLXBjKTtcbiAgfVxuICAmLmlzLWFjdGl2ZSB7XG4gICAgY29sb3I6IHZhcigtLXBMb2NhbG5hdlRvcC1jb2xvci1hY3RpdmUpO1xuICAgIGJvcmRlci1ib3R0b20tY29sb3I6IHZhcigtLXBMb2NhbG5hdlRvcC1ib3JkZXItYm90dG9tLWNvbG9yLWFjdGl2ZSk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcExvY2FsbmF2VG9wLWJhY2tncm91bmQtY29sb3ItYWN0aXZlKTtcbiAgfVxuICBAbWVkaWEgKGFueS1ob3ZlcjogaG92ZXIpIHtcbiAgICAmOmhvdmVyIHtcbiAgICAgIGNvbG9yOiB2YXIoLS1wTG9jYWxuYXZUb3AtY29sb3ItYWN0aXZlKTtcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6IHZhcigtLXBMb2NhbG5hdlRvcC1ib3JkZXItYm90dG9tLWNvbG9yLWFjdGl2ZSk7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wTG9jYWxuYXZUb3AtYmFja2dyb3VuZC1jb2xvci1hY3RpdmUpO1xuICAgIH1cbiAgfVxufSIsIkBjaGFyc2V0IFwiVVRGLThcIjtcbkBpbXBvcnQgXCJtaXhpbnNcIjtcblxuLnBMb2NhbG5hdlRvcFNlcGFyYXRvciB7XG4gIGhlaWdodDogdncoLS1wTG9jYWxuYXZUb3BTZXBhcmF0b3ItaGVpZ2h0LXNwKTtcbiAgd2lkdGg6IHZ3KC0tcExvY2FsbmF2VG9wU2VwYXJhdG9yLXdpZHRoKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcExvY2FsbmF2VG9wU2VwYXJhdG9yLWJhY2tncm91bmQtY29sb3IpO1xuICBAaW5jbHVkZSBtcSgpIHtcbiAgICBoZWlnaHQ6IHBjKC0tcExvY2FsbmF2VG9wU2VwYXJhdG9yLWhlaWdodC1wYyk7XG4gICAgd2lkdGg6IHBjKC0tcExvY2FsbmF2VG9wU2VwYXJhdG9yLXdpZHRoKTtcbiAgfVxufSIsIkBjaGFyc2V0IFwiVVRGLThcIjtcbkBpbXBvcnQgXCJtaXhpbnNcIjtcblxuLnBMb2NhbG5hdkJvdHRvbSB7XG4gIGZvbnQtc2l6ZTogdncoLS1wTG9jYWxuYXZCb3R0b20tZm9udC1zaXplLXNwKTtcbiAgZm9udC13ZWlnaHQ6IHZhcigtLXBMb2NhbG5hdkJvdHRvbS1mb250LXdlaWdodCk7XG4gIGNvbG9yOiB2YXIoLS1wTG9jYWxuYXZCb3R0b20tY29sb3IpO1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IGF1dG8gYXV0bztcbiAganVzdGlmeS1jb250ZW50OiBzdGFydDtcbiAgZ2FwOiB2dygtLXBMb2NhbG5hdkJvdHRvbS1nYXAtc3ApO1xuICBsaW5lLWhlaWdodDogMTUwJTtcbiAgQGluY2x1ZGUgbXEoKSB7XG4gICAgZm9udC1zaXplOiBwYygtLXBMb2NhbG5hdkJvdHRvbS1mb250LXNpemUtcGMpO1xuICAgIGdhcDogcGMoLS1wTG9jYWxuYXZCb3R0b20tZ2FwLXBjKTtcbiAgfVxuICAmOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiB2dygtLXBMb2NhbG5hdkJvdHRvbS1pY29uLXdpZHRoLXNwKTtcbiAgICBhc3BlY3QtcmF0aW86IDEgLyAxO1xuICAgIG1hc2staW1hZ2U6IHVybCgvaW1hZ2VzL2ljb25fYXJyb3dfcy5zdmcpO1xuICAgIG1hc2stc2l6ZTogY29udGFpbjtcbiAgICBtYXNrLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIG1hc2stcG9zaXRpb246IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wTG9jYWxuYXZCb3R0b20taWNvbi1jb2xvcik7XG4gICAgQGluY2x1ZGUgbXEoKSB7XG4gICAgICB3aWR0aDogcGMoLS1wTG9jYWxuYXZCb3R0b20taWNvbi13aWR0aC1wYyk7XG4gICAgfVxuICB9XG59IiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuQGltcG9ydCBcIm1peGluc1wiO1xuXG4ucExvY2FsbmF2Qm90dG9tTGlzdCB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7XG4gIGdhcDogdncoLS1wTG9jYWxuYXZCb3R0b21MaXN0LWdhcC1yb3ctc3ApIHZ3KC0tcExvY2FsbmF2Qm90dG9tTGlzdC1nYXAtY29sLXNwKTtcbiAgQGluY2x1ZGUgbXEge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDQsIDFmcik7XG4gICAgZ2FwOiBwYygtLXBMb2NhbG5hdkJvdHRvbUxpc3QtZ2FwLXJvdy1wYykgcGMoLS1wTG9jYWxuYXZCb3R0b21MaXN0LWdhcC1jb2wtcGMpO1xuICB9XG59IiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuQGltcG9ydCBcIm1peGluc1wiO1xuXG4ucEJyZWFkY3J1bWJzVGV4dCB7XG4gIGZvbnQtc2l6ZTogdncoLS1wQnJlYWRjcnVtYnNUZXh0LWZvbnQtc2l6ZS1zcCk7XG4gIGZvbnQtd2VpZ2h0OiB2YXIoLS1wQnJlYWRjcnVtYnNUZXh0LWZvbnQtd2VpZ2h0LWFjdGl2ZSk7XG4gIGNvbG9yOiB2YXIoLS1wQnJlYWRjcnVtYnNUZXh0LWNvbG9yLWFjdGl2ZSk7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdyaWQtdGVtcGxhdGU6IFxuICAgIFwic2xhc2ggdGV4dFwiIGF1dG9cbiAgICAvIGF1dG8gYXV0bztcbiAgZ2FwOiB2dygtLW5CcmVhZGNydW1icy1nYXAtc3ApO1xuICBAaW5jbHVkZSBtcSgpIHtcbiAgICBmb250LXNpemU6IHBjKC0tcEJyZWFkY3J1bWJzVGV4dC1mb250LXNpemUtcGMpO1xuICAgIGdhcDogcGMoLS1uQnJlYWRjcnVtYnMtZ2FwLXBjKTtcbiAgfVxuICAmOjpiZWZvcmUge1xuICAgIGdyaWQtYXJlYTogc2xhc2g7XG4gICAgY29udGVudDogXCIvXCI7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1zaXplOiB2dygtLXBCcmVhZGNydW1ic1NlcGFyYXRvci1mb250LXNpemUtc3ApO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1wQnJlYWRjcnVtYnNTZXBhcmF0b3ItZm9udC13ZWlnaHQpO1xuICAgIGNvbG9yOiB2YXIoLS1wQnJlYWRjcnVtYnNTZXBhcmF0b3ItY29sb3IpO1xuICAgIEBpbmNsdWRlIG1xKCkge1xuICAgICAgZm9udC1zaXplOiBwYygtLXBCcmVhZGNydW1ic1NlcGFyYXRvci1mb250LXNpemUtcGMpO1xuICAgIH1cbiAgfVxuICBhIHtcbiAgICBncmlkLWFyZWE6IHRleHQ7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1wQnJlYWRjcnVtYnNUZXh0LWZvbnQtd2VpZ2h0LWRlZmF1bHQpO1xuICAgIGNvbG9yOiB2YXIoLS1wQnJlYWRjcnVtYnNUZXh0LWNvbG9yLWRlZmF1bHQpO1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIEBtZWRpYSAoYW55LWhvdmVyOiBob3Zlcikge1xuICAgICAgJjpob3ZlciB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn0iLCJAY2hhcnNldCBcIlVURi04XCI7XG5AaW1wb3J0IFwibWl4aW5zXCI7XG5cbi5wQnJlYWRjcnVtYnNTZXBhcmF0b3Ige1xuICBmb250LXNpemU6IHZ3KC0tcEJyZWFkY3J1bWJzVGV4dC1mb250LXNpemUtc3ApO1xuICBmb250LXdlaWdodDogdmFyKC0tcEJyZWFkY3J1bWJzVGV4dC1mb250LXdlaWdodC1kZWZhdWx0KTtcbiAgY29sb3I6IHZhcigtLXBCcmVhZGNydW1ic1RleHQtY29sb3ItZGVmYXVsdCk7XG4gIEBpbmNsdWRlIG1xKCkge1xuICAgIGZvbnQtc2l6ZTogcGMoLS1wQnJlYWRjcnVtYnNUZXh0LWZvbnQtc2l6ZS1wYyk7XG4gIH1cbiAgJjo6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogdncoLS1wUS1pY29uLXdpZHRoLXNwKTtcbiAgICBhc3BlY3QtcmF0aW86IDEgLyAxO1xuICAgIGJhY2tncm91bmQ6IGNlbnRlciAvIGNvbnRhaW4gbm8tcmVwZWF0IHVybCgvaW1hZ2VzL2ljb25fcS5zdmcpO1xuICAgIEBpbmNsdWRlIG1xKCkge1xuICAgICAgd2lkdGg6IHBjKC0tcFEtaWNvbi13aWR0aC1wYyk7XG4gICAgfVxuICB9XG59IiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuQGltcG9ydCBcIm1peGluc1wiO1xuXG4ucEFydGljbGVOYXYge1xuICBmb250LXNpemU6IHZ3KC0tcEFydGljbGVOYXYtZm9udC1zaXplLXNwKTtcbiAgZm9udC13ZWlnaHQ6IHZhcigtLXBBcnRpY2xlTmF2LWZvbnQtd2VpZ2h0KTtcbiAgY29sb3I6IHZhcigtLXBBcnRpY2xlTmF2LWNvbG9yKTtcbiAgcGFkZGluZzogdncoLS1wQXJ0aWNsZU5hdi1wYWRkaW5nLWJsb2NrLXNwKSB2dygtLXBBcnRpY2xlTmF2LXBhZGRpbmctaW5saW5lLXNwKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcEFydGljbGVOYXYtYmFja2dyb3VuZC1jb2xvcik7XG4gIGJvcmRlci1ib3R0b20td2lkdGg6IHZ3KC0tcEFydGljbGVOYXYtYm9yZGVyLWJvdHRvbS13aWR0aCk7XG4gIGJvcmRlci1ib3R0b20tc3R5bGU6IHNvbGlkO1xuICBib3JkZXItYm90dG9tLWNvbG9yOiB2YXIoLS1wQXJ0aWNsZU5hdi1ib3JkZXItYm90dG9tLWNvbG9yKTtcbiAgZ2FwOiB2dygtLXBBcnRpY2xlTmF2LWdhcC1zcCk7XG4gIGRpc3BsYXk6IGJsb2NrIGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogYXV0byAxZnI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogc3RhcnQ7XG4gIGxpbmUtaGVpZ2h0OiAxNTAlO1xuICBAaW5jbHVkZSBtcSgpIHtcbiAgICBmb250LXNpemU6IHBjKC0tcEFydGljbGVOYXYtZm9udC1zaXplLXBjKTtcbiAgICBwYWRkaW5nOiBwYygtLXBBcnRpY2xlTmF2LXBhZGRpbmctYmxvY2stcGMpIHBjKC0tcEFydGljbGVOYXYtcGFkZGluZy1pbmxpbmUtcGMpO1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IHBjKC0tcEFydGljbGVOYXYtYm9yZGVyLWJvdHRvbS13aWR0aCk7XG4gICAgZ2FwOiBwYygtLXBBcnRpY2xlTmF2LWdhcC1wYyk7XG4gIH1cbiAgJjo6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogdncoLS1wQXJ0aWNsZU5hdi1pY29uLXdpZHRoLXNwKTtcbiAgICBhc3BlY3QtcmF0aW86IDEgLyAxO1xuICAgIGJhY2tncm91bmQ6IGNlbnRlciAvIGNvbnRhaW4gbm8tcmVwZWF0IHVybCgvaW1hZ2VzL2ljb25fYXJ0aWNsZW5hdi5zdmcpO1xuICAgIEBpbmNsdWRlIG1xKCkge1xuICAgICAgd2lkdGg6IHBjKC0tcEFydGljbGVOYXYtaWNvbi13aWR0aC1wYyk7XG4gICAgfVxuICB9XG59IiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuQGltcG9ydCBcIm1peGluc1wiO1xuXG4ucENhdGVnb3J5QnV0dG9uIHtcbiAgZm9udC1zaXplOiB2dygtLXBDYXRlZ29yeUJ1dHRvbi1mb250LXNpemUtc3ApO1xuICBmb250LXdlaWdodDogdmFyKC0tcENhdGVnb3J5QnV0dG9uLWZvbnQtd2VpZ2h0KTtcbiAgcGFkZGluZzogdncoLS1wQ2F0ZWdvcnlCdXR0b24tcGFkZGluZy1ibG9jay1zcCkgdncoLS1wQ2F0ZWdvcnlCdXR0b24tcGFkZGluZy1pbmxpbmUtc3ApO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wQ2F0ZWdvcnlCdXR0b24tZGVmYXVsdC1iYWNrZ3JvdW5kLWNvbG9yKTtcbiAgd2lkdGg6IGZpdC1jb250ZW50O1xuICBAaW5jbHVkZSBtcSgpIHtcbiAgICBmb250LXNpemU6IHBjKC0tcENhdGVnb3J5QnV0dG9uLWZvbnQtc2l6ZS1wYyk7XG4gICAgcGFkZGluZzogcGMoLS1wQ2F0ZWdvcnlCdXR0b24tcGFkZGluZy1ibG9jay1wYykgcGMoLS1wQ2F0ZWdvcnlCdXR0b24tcGFkZGluZy1pbmxpbmUtcGMpO1xuICB9XG4gIEBtZWRpYSAoYW55LWhvdmVyOiBob3Zlcikge1xuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcENhdGVnb3J5QnV0dG9uLWRlZmF1bHQtYmFja2dyb3VuZC1jb2xvci1ob3Zlcik7XG4gICAgfVxuICB9XG4gICYuaXMtYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wQ2F0ZWdvcnlCdXR0b24tYWN0aXZlLWJhY2tncm91bmQtY29sb3IpO1xuICAgIGNvbG9yOiB2YXIoLS1wQ2F0ZWdvcnlCdXR0b24tYWN0aXZlLWNvbG9yKTtcbiAgfVxufSIsIkBjaGFyc2V0IFwiVVRGLThcIjtcbkBpbXBvcnQgXCJtaXhpbnNcIjtcblxuLnBQcmljZSB7XG4gIGNvbG9yOiB2YXIoLS1wUHJpY2UtY29sb3IsICNFNzMxMUQpO1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1mYW1pbHktZW4pO1xuICBmb250LXdlaWdodDogdmFyKC0tcFByaWNlLWRhdGEtZm9udC13ZWlnaHQpO1xuICBsaW5lLWhlaWdodDogMTQwJTtcbiAgZm9udC1zaXplOiB2dygtLXBQcmljZS1kYXRhLWZvbnQtc2l6ZS1zcCk7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogdncoLS1wUHJpY2UtZ2FwLXNwLW5hcnJvdyk7XG4gIEBpbmNsdWRlIG1xKCkge1xuICAgIGZvbnQtc2l6ZTogcGMoLS1wUHJpY2UtZGF0YS1mb250LXNpemUtcGMpO1xuICAgIGdhcDogcGMoLS1wUHJpY2UtZ2FwLXBjLW5hcnJvdyk7XG4gIH1cbiAgc3BhbiB7XG4gICAgZm9udC1zaXplOiB2dygtLXBQcmljZS11bml0LWZvbnQtc2l6ZS1zcCk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLXBQcmljZS11bml0LWZvbnQtd2VpZ2h0KTtcbiAgICBAaW5jbHVkZSBtcSgpIHtcbiAgICAgIGZvbnQtc2l6ZTogcGMoLS1wUHJpY2UtdW5pdC1mb250LXNpemUtcGMpO1xuICAgIH1cbiAgfVxufSIsIkBjaGFyc2V0IFwiVVRGLThcIjtcbkBpbXBvcnQgXCJtaXhpbnNcIjtcblxuLnBDb25kaXRpb24ge1xuICBjb2xvcjogdncoLS1wUHJpY2UtY29uZGl0aW9uLWNvbG9yKTtcbiAgZm9udC1zaXplOiB2dygtLXBQcmljZS1jb25kaXRpb24tZm9udC1zaXplLXNwKTtcbiAgZm9udC13ZWlnaHQ6IHZhcigtLXBQcmljZS1jb25kaXRpb24tZm9udC13ZWlnaHQpO1xuICBwYWRkaW5nOiB2dygtLXBQcmljZS1jb25kaXRpb24tcGFkZGluZy1ibG9jay1zcCkgdncoLS1wUHJpY2UtY29uZGl0aW9uLXBhZGRpbmctaW5saW5lLXNwKTtcbiAgYmFja2dyb3VuZDogdmFyKC0tcFByaWNlLWNvbmRpdGlvbi1iYWNrZ3JvdW5kKTtcbiAgYm9yZGVyLXJhZGl1czogdncoLS1wUHJpY2UtY29uZGl0aW9uLWJvcmRlci1yYWRpdXMpO1xuICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIEBpbmNsdWRlIG1xKCkge1xuICAgIGZvbnQtc2l6ZTogcGMoLS1wUHJpY2UtY29uZGl0aW9uLWZvbnQtc2l6ZS1wYyk7XG4gICAgcGFkZGluZzogcGMoLS1wUHJpY2UtY29uZGl0aW9uLXBhZGRpbmctYmxvY2stcGMpIHBjKC0tcFByaWNlLWNvbmRpdGlvbi1wYWRkaW5nLWlubGluZS1wYyk7XG4gICAgYm9yZGVyLXJhZGl1czogcGMoLS1wUHJpY2UtY29uZGl0aW9uLWJvcmRlci1yYWRpdXMpO1xuICB9XG59IiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuQGltcG9ydCBcIm1peGluc1wiO1xuXG4ucFByaWNlTGFiZWwge1xuICBwYWRkaW5nOiB2dygtLXBQcmljZS1sYWJlbC1wYWRkaW5nLWJsb2NrLXNwKSB2dygtLXBQcmljZS1sYWJlbC1wYWRkaW5nLWlubGluZS1zcCk7XG4gIGNvbG9yOiB2YXIoLS1wUHJpY2UtbGFiZWwtY29sb3IsKTtcbiAgZm9udC1zaXplOiB2dygtLXBQcmljZS1sYWJlbC1mb250LXNpemUtc3ApO1xuICBmb250LXdlaWdodDogdmFyKC0tcFByaWNlLWxhYmVsLWZvbnQtd2VpZ2h0KTtcbiAgbGluZS1oZWlnaHQ6IDE0MCU7XG4gIGJvcmRlci1ib3R0b206IHZ3KC0tcENlbGwtYm9yZGVyLWJvdHRvbSkgc29saWQgdmFyKC0tcFByaWNlLWxhYmVsLWJvcmRlci1jb2xvcik7XG4gIGJhY2tncm91bmQ6IHZhcigtLXBQcmljZS1iYWNrZ3JvdW5kKTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgQGluY2x1ZGUgbXEoKSB7XG4gICAgZm9udC1zaXplOiBwYygtLXBQcmljZS1sYWJlbC1mb250LXNpemUtcGMpO1xuICAgIHBhZGRpbmc6IHBjKC0tcFByaWNlLWxhYmVsLXBhZGRpbmctYmxvY2stcGMpIHBjKC0tcFByaWNlLWxhYmVsLXBhZGRpbmctaW5saW5lLXBjKTtcbiAgICBib3JkZXItYm90dG9tOiBwYygtLXBDZWxsLWJvcmRlci1ib3R0b20pIHNvbGlkIHZhcigtLXBQcmljZS1sYWJlbC1ib3JkZXItY29sb3IpO1xuICB9XG59IiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuQGltcG9ydCBcIm1peGluc1wiO1xuXG4ucEJhZGdlIHtcbiAgYm9yZGVyOiB2dygtLXBQcmljZS1iYWRnZS1ib3JkZXIpIHNvbGlkIHZhcigtLXBQcmljZS1iYWRnZS1ib3JkZXItY29sb3IpO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1wUHJpY2UtYmFja2dyb3VuZCk7XG4gIHBhZGRpbmc6IHZ3KC0tcFByaWNlLWJhZGdlLXBhZGRpbmctYmxvY2stc3ApIHZ3KC0tcFByaWNlLWJhZGdlLXBhZGRpbmctaW5saW5lLXNwKTtcbiAgY29sb3I6IHZhcigtLXBQcmljZS1iYWRnZS1jb2xvcik7XG4gIGZvbnQtc2l6ZTogdncoLS1wUHJpY2UtYmFkZ2UtZm9udC1zaXplLXNwKTtcbiAgZm9udC13ZWlnaHQ6IHZhcigtLXBQcmljZS1iYWRnZS1mb250LXdlaWdodCk7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgQGluY2x1ZGUgbXEoKSB7XG4gICAgZm9udC1zaXplOiBwYygtLXBQcmljZS1iYWRnZS1mb250LXNpemUtcGMpO1xuICAgIHBhZGRpbmc6IHBjKC0tcFByaWNlLWJhZGdlLXBhZGRpbmctYmxvY2stcGMpIHBjKC0tcFByaWNlLWJhZGdlLXBhZGRpbmctaW5saW5lLXBjKTtcbiAgICBib3JkZXI6IHBjKC0tcFByaWNlLWJhZGdlLWJvcmRlcikgc29saWQgdmFyKC0tcFByaWNlLWJhZGdlLWJvcmRlci1jb2xvcik7XG4gIH1cbn0iLCJAY2hhcnNldCBcIlVURi04XCI7XG5AaW1wb3J0IFwibWl4aW5zXCI7XG5cbi5wUHJpY2VMYWJlbFJvdyB7XG4gIEBpbmNsdWRlIG1xKCkge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgLnBQcmljZUxhYmVsIHtcbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgfVxuICAgIH1cbiAgfVxufSIsIkBjaGFyc2V0IFwiVVRGLThcIjtcbkBpbXBvcnQgXCJtaXhpbnNcIjtcblxuLnBQcmljZVJvdyB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuICBnYXA6IHZ3KC0tcFByaWNlLWdhcC1zcC1uYXJyb3cpO1xuICBAaW5jbHVkZSBtcSgpIHtcbiAgICBnYXA6IHBjKC0tcFByaWNlLWdhcC1wYy1uYXJyb3cpO1xuICB9XG4gIC5yb3cge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIH1cbn0iLCJAY2hhcnNldCBcIlVURi04XCI7XG5AaW1wb3J0IFwibWl4aW5zXCI7XG5cbi5wU2VydmljZUljb24ge1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlOlxuICBcImljb24gdGV4dCAuXCIgYXV0b1xuICAvIHZ3KDE2cHgpIDFmciB2dygxNnB4KTtcbiAgbWluLXdpZHRoOiB2dygxMzRweCk7XG4gIHBhZGRpbmc6IHZ3KC0tcFNlcnZpY2VJY29uLXBhZGRpbmctYmxvY2stc3ApIHZ3KC0tcFNlcnZpY2VJY29uLXBhZGRpbmctaW5saW5lLXNwKTtcbiAgYm9yZGVyLXJhZGl1czogdncoLS1ib3JkZXItcmFkaXVzLXBpbGwpO1xuICBib3JkZXItd2lkdGg6IDFweDtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcFNlcnZpY2VJY29uLWJhY2tncm91bmQpO1xuICBAaW5jbHVkZSBtcSgpIHtcbiAgICBncmlkLXRlbXBsYXRlOlxuICAgIFwiaWNvbiB0ZXh0IC5cIiBhdXRvXG4gICAgLyBwYygyNHB4KSAxZnIgcGMoMjRweCk7XG4gICAgbWluLXdpZHRoOiBwYygyODBweCk7XG4gICAgcGFkZGluZzogcGMoLS1wU2VydmljZUljb24tcGFkZGluZy1ibG9jay1wYykgcGMoLS1wU2VydmljZUljb24tcGFkZGluZy1pbmxpbmUtcGMpO1xuICB9XG4gICY6OmJlZm9yZSB7XG4gICAgZ3JpZC1hcmVhOiBpY29uO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiB2dygxNnB4KTtcbiAgICBhc3BlY3QtcmF0aW86IDEgLyAxO1xuICAgIG1hc2stc2l6ZTogY29udGFpbjtcbiAgICBtYXNrLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIG1hc2stcG9zaXRpb246IGNlbnRlcjtcbiAgICBAaW5jbHVkZSBtcSgpIHtcbiAgICAgIHdpZHRoOiBwYygyNHB4KTtcbiAgICB9XG4gIH1cbiAgc3BhbiB7XG4gICAgZ3JpZC1hcmVhOiB0ZXh0O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB0cmFuc2xhdGU6IDAgLjFlbTtcbiAgICBmb250LXNpemU6IHZ3KC0tcFNlcnZpY2VJY29uLWZvbnQtc2l6ZS1zcCk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLXBTZXJ2aWNlSWNvbi1mb250LXdlaWdodCk7XG4gICAgQGluY2x1ZGUgbXEoKSB7XG4gICAgICBmb250LXNpemU6IHBjKC0tcFNlcnZpY2VJY29uLWZvbnQtc2l6ZS1wYyk7XG4gICAgfVxuICB9XG4gICYudG9vbCB7XG4gICAgY29sb3I6IHZhcigtLXBTZXJ2aWNlSWNvbi1jb2xvci1yZWQpO1xuICAgICY6OmJlZm9yZSB7XG4gICAgICBtYXNrLWltYWdlOiB1cmwoL2ltYWdlcy9pY29uX3Rvb2xzLnN2Zyk7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wU2VydmljZUljb24tY29sb3ItcmVkKTtcbiAgICB9XG4gIH1cbiAgJi5ob21ldG9vbHMge1xuICAgIGNvbG9yOiB2YXIoLS1wU2VydmljZUljb24tY29sb3ItdHVycXVvaXNlKTtcbiAgICAmOjpiZWZvcmUge1xuICAgICAgbWFzay1pbWFnZTogdXJsKC9pbWFnZXMvaWNvbl9ob21ldG9vbHMuc3ZnKTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXBTZXJ2aWNlSWNvbi1jb2xvci10dXJxdW9pc2UpO1xuICAgIH1cbiAgfVxuICAmLnBhcmtpbmcge1xuICAgIGNvbG9yOiB2YXIoLS1wU2VydmljZUljb24tY29sb3ItYmx1ZSk7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIG1hc2staW1hZ2U6IHVybCgvaW1hZ2VzL2ljb25fcGFya2luZy5zdmcpO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcFNlcnZpY2VJY29uLWNvbG9yLWJsdWUpO1xuICAgIH1cbiAgfVxuICAmLnN0b3JlIHtcbiAgICBjb2xvcjogdmFyKC0tcFNlcnZpY2VJY29uLWNvbG9yLXB1cnBsZSk7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIG1hc2staW1hZ2U6IHVybCgvaW1hZ2VzL2ljb25fc3RvcmUuc3ZnKTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXBTZXJ2aWNlSWNvbi1jb2xvci1wdXJwbGUpO1xuICAgIH1cbiAgfVxuICAmLnJlcGFpciB7XG4gICAgY29sb3I6IHZhcigtLXBTZXJ2aWNlSWNvbi1jb2xvci1yZWQpO1xuICAgICY6OmJlZm9yZSB7XG4gICAgICBtYXNrLWltYWdlOiB1cmwoL2ltYWdlcy9pY29uX3JlcGFpci5zdmcpO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcFNlcnZpY2VJY29uLWNvbG9yLXJlZCk7XG4gICAgfVxuICB9XG4gICYuc2FsZSB7XG4gICAgY29sb3I6IHZhcigtLXBTZXJ2aWNlSWNvbi1jb2xvci1ncmVlbik7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIG1hc2staW1hZ2U6IHVybCgvaW1hZ2VzL2ljb25fY2FydC5zdmcpO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcFNlcnZpY2VJY29uLWNvbG9yLWdyZWVuKTtcbiAgICB9XG4gIH1cbiAgJi5haXJjb24ge1xuICAgIGNvbG9yOiB2YXIoLS1wU2VydmljZUljb24tY29sb3ItcHVycGxlKTtcbiAgICAmOjpiZWZvcmUge1xuICAgICAgbWFzay1pbWFnZTogdXJsKC9pbWFnZXMvaWNvbl9haXJjb24uc3ZnKTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXBTZXJ2aWNlSWNvbi1jb2xvci1wdXJwbGUpO1xuICAgIH1cbiAgfVxuICAmLmZ1cm5pdHVyZSB7XG4gICAgY29sb3I6IHZhcigtLXBTZXJ2aWNlSWNvbi1jb2xvci1ncmVlbik7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIG1hc2staW1hZ2U6IHVybCgvaW1hZ2VzL2ljb25fZnVybml0dXJlLnN2Zyk7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wU2VydmljZUljb24tY29sb3ItZ3JlZW4pO1xuICAgIH1cbiAgfVxuICAmLmFncml0b29scyB7XG4gICAgY29sb3I6IHZhcigtLXBTZXJ2aWNlSWNvbi1jb2xvci1ncmV5KTtcbiAgICAmOjpiZWZvcmUge1xuICAgICAgbWFzay1pbWFnZTogdXJsKC9pbWFnZXMvaWNvbl9hZ3JpdG9vbHMuc3ZnKTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXBTZXJ2aWNlSWNvbi1jb2xvci1ncmV5KTtcbiAgICB9XG4gIH1cbn0iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbkBpbXBvcnQgXCJtaXhpbnNcIjtcblxuLmNvbXBvbmVudC50eXBlX3BhZ2V0aXRsZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNQYWdlVGl0bGUtYmFja2dyb3VuZC1jb2xvcik7XG4gIC5pbm5lciB7XG4gICAgQGluY2x1ZGUgY29udGFpbmVyKHdpZGUpO1xuICAgIHBhZGRpbmctYmxvY2s6IHZ3KC0tY1BhZ2VUaXRsZS1wYWRkaW5nLWJsb2NrLXNwKTtcbiAgICBAaW5jbHVkZSBtcSgpIHtcbiAgICAgIHBhZGRpbmctYmxvY2s6IHBjKC0tY1BhZ2VUaXRsZS1wYWRkaW5nLWJsb2NrLXBjKTtcbiAgICB9XG4gIH1cbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuQGltcG9ydCBcIm1peGluc1wiO1xuXG4uY29tcG9uZW50LnR5cGVfZXh0ZW5kZWR0aXRsZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgbWluLWhlaWdodDogdncoLS1jRXh0ZW5kZWRUaXRsZS1taW4taGVpZ2h0LXNwKTtcbiAgQGluY2x1ZGUgbXEoKSB7XG4gICAgbWluLWhlaWdodDogcGMoLS1jRXh0ZW5kZWRUaXRsZS1taW4taGVpZ2h0LXBjKTtcbiAgfVxuICAuaW5uZXIge1xuICAgIEBpbmNsdWRlIGNvbnRhaW5lcih3aWRlKTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgcGFkZGluZy1ibG9jazogdncoLS1jRXh0ZW5kZWRUaXRsZS1wYWRkaW5nLWJsb2NrLXNwKTtcbiAgICBAaW5jbHVkZSBtcSgpIHtcbiAgICAgIHBhZGRpbmctYmxvY2s6IHBjKC0tY0V4dGVuZGVkVGl0bGUtcGFkZGluZy1ibG9jay1wYyk7XG4gICAgfVxuICAgIC5pbWFnZSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBpbnNldDogMDtcbiAgICAgIGltZyB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgICBvYmplY3QtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgLy8gdW5pcVxuICAgICAgICBib3JkZXItcmFkaXVzOiAwIDAgdncoNDBweCkgMDtcbiAgICAgICAgQGluY2x1ZGUgbXEge1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDAgMCBwYyg5NnB4KSAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIC50ZXh0IHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHotaW5kZXg6IDI7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGdhcDogdncoLS1jRXh0ZW5kZWRUaXRsZS1nYXAtc3ApO1xuICAgICAgQGluY2x1ZGUgbXEoKSB7XG4gICAgICAgIGdhcDogcGMoLS1jRXh0ZW5kZWRUaXRsZS1nYXAtcGMpO1xuICAgICAgfVxuICAgICAgLnBQYWdlVGl0bGUge1xuICAgICAgICBjb2xvcjogdmFyKC0tY0V4dGVuZGVkVGl0bGUtY29sb3IpO1xuICAgICAgfVxuICAgICAgc3BhbiB7XG4gICAgICAgIGZvbnQtc2l6ZTogdncoLS1jRXh0ZW5kZWRUaXRsZS1zdWJ0aXRsZS1mb250LXNpemUtc3ApO1xuICAgICAgICBjb2xvcjogdmFyKC0tY0V4dGVuZGVkVGl0bGUtc3VidGl0bGUtY29sb3IpO1xuICAgICAgICBmb250LWZhbWlseTogdmFyKC0tY0V4dGVuZGVkVGl0bGUtc3VidGl0bGUtZm9udC1mYW1pbHkpO1xuICAgICAgICBmb250LXdlaWdodDogdmFyKC0tY0V4dGVuZGVkVGl0bGUtc3VidGl0bGUtZm9udC13ZWlnaHQpO1xuICAgICAgICBAaW5jbHVkZSBtcSgpIHtcbiAgICAgICAgICBmb250LXNpemU6IHBjKC0tY0V4dGVuZGVkVGl0bGUtc3VidGl0bGUtZm9udC1zaXplLXBjKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG5AaW1wb3J0IFwibWl4aW5zXCI7XG5cbi5jb21wb25lbnQudHlwZV9jYXRjaGNvcHkge1xuICBtYXJnaW4tdG9wOiB2dygtLWNDYXRjaGNvcHktbWFyZ2luLXRvcC1zcCk7XG4gIEBpbmNsdWRlIG1xIHtcbiAgICBtYXJnaW4tdG9wOiBwYygtLWNDYXRjaGNvcHktbWFyZ2luLXRvcC1wYyk7XG4gIH1cbiAgLmlubmVyIHtcbiAgICBAaW5jbHVkZSBjb250YWluZXI7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLWF1dG8tZmxvdzogcm93O1xuICAgIGdhcDogdncoLS1jQ2F0Y2hjb3B5LWdhcC1yb3ctc3ApO1xuICAgIEBpbmNsdWRlIG1xIHtcbiAgICAgIGdyaWQtdGVtcGxhdGU6XG4gICAgICBcImhlYWRpbmcgaGVhZGluZ1wiIGF1dG9cbiAgICAgIFwibGVhZCB0ZXh0XCIgYXV0b1xuICAgICAgXCJidXR0b24gYnV0dG9uXCIgYXV0b1xuICAgICAgLyBwYygtLWNDYXRjaGNvcHktbGVhZC13aWR0aCkgMWZyO1xuICAgICAgZ2FwOiBwYygtLWNDYXRjaGNvcHktZ2FwLXJvdy1wYykgcGMoLS1jQ2F0Y2hjb3B5LWdhcC1jb2wpO1xuICAgIH1cbiAgICAucEhlYWRpbmdNZWRpdW0ge1xuICAgICAgQGluY2x1ZGUgbXEge1xuICAgICAgICBncmlkLWFyZWE6IGhlYWRpbmc7XG4gICAgICB9XG4gICAgfVxuICAgIC5wTGVhZCB7XG4gICAgICBAaW5jbHVkZSBtcSB7XG4gICAgICAgIGdyaWQtYXJlYTogbGVhZDtcbiAgICAgIH1cbiAgICB9XG4gICAgLnBUZXh0IHtcbiAgICAgIEBpbmNsdWRlIG1xIHtcbiAgICAgICAgZ3JpZC1hcmVhOiB0ZXh0O1xuICAgICAgfVxuICAgIH1cbiAgICAucEJ1dHRvbiB7XG4gICAgICBAaW5jbHVkZSBtcSB7XG4gICAgICAgIGdyaWQtYXJlYTogYnV0dG9uO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG5AaW1wb3J0IFwibWl4aW5zXCI7XG5cbi5jb21wb25lbnQudHlwZV9jYXRjaGNvcHlfaW1hZ2Uge1xuICBtYXJnaW4tdG9wOiB2dygtLWNDYXRjaGNvcHlJbWFnZS1tYXJnaW4tdG9wLXNwKTtcbiAgQGluY2x1ZGUgbXEge1xuICAgIG1hcmdpbi10b3A6IHBjKC0tY0NhdGNoY29weUltYWdlLW1hcmdpbi10b3AtcGMpO1xuICB9XG4gIC5pbm5lciB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLWF1dG8tZmxvdzogcm93O1xuICAgIGdhcDogdncoLS1jQ2F0Y2hjb3B5SW1hZ2UtZ2FwLXJvdy1zcCk7XG4gICAgYWxpZ24taXRlbXM6IHN0YXJ0O1xuICAgIEBpbmNsdWRlIG1xIHtcbiAgICAgIGdyaWQtdGVtcGxhdGU6XG4gICAgICBcIi4gdGV4dCBpbWFnZSBpbWFnZVwiIGF1dG9cbiAgICAgIC8gMWZyIHBjKC0tY0NhdGNoY29weUltYWdlLXRleHQtd2lkdGgpIHBjKC0tY0NhdGNoY29weUltYWdlLXRleHQtd2lkdGgpIDFmcjtcbiAgICAgIGdhcDogdW5zZXQ7XG4gICAgfVxuICAgIC5pbWFnZSB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IHZ3KC0tY29udGFpbmVyLXBhZGRpbmctc3ApO1xuICAgICAgQGluY2x1ZGUgbXEge1xuICAgICAgICBncmlkLWFyZWE6IGltYWdlO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IHVuc2V0O1xuICAgICAgfVxuICAgIH1cbiAgICAudGV4dCB7XG4gICAgICBwYWRkaW5nLWlubGluZTogdncoLS1jb250YWluZXItcGFkZGluZy1zcCk7XG4gICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgZ3JpZC1hdXRvLWZsb3c6IHJvdztcbiAgICAgIGdhcDogdncoLS1jQ2F0Y2hjb3B5SW1hZ2UtZ2FwLXJvdy1zcCk7XG4gICAgICBAaW5jbHVkZSBtcSB7XG4gICAgICAgIGdyaWQtYXJlYTogdGV4dDtcbiAgICAgICAgcGFkZGluZy1pbmxpbmU6IHVuc2V0O1xuICAgICAgICBnYXA6IHBjKC0tY0NhdGNoY29weUltYWdlLWdhcC1yb3ctcGMpO1xuICAgICAgfVxuICAgIH1cbiAgICAmOm5vdCgucmV2ZXJzZSkge1xuICAgICAgLnBJbWFnZSB7XG4gICAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiB1bnNldDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IHVuc2V0O1xuICAgICAgfVxuICAgICAgLnRleHQge1xuICAgICAgICBAaW5jbHVkZSBtcSB7XG4gICAgICAgICAgcGFkZGluZy1yaWdodDogcGMoLS1jQ2F0Y2hjb3B5SW1hZ2UtZ2FwLWNvbCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgJi5yZXZlcnNlIHtcbiAgICAgIEBpbmNsdWRlIG1xIHtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZTpcbiAgICAgICAgXCJpbWFnZSBpbWFnZSB0ZXh0IC5cIiBhdXRvXG4gICAgICAgIC8gMWZyIHBjKC0tY0NhdGNoY29weUltYWdlLXRleHQtd2lkdGgpIHBjKC0tY0NhdGNoY29weUltYWdlLXRleHQtd2lkdGgpIDFmcjtcbiAgICAgIH1cbiAgICAgIC5pbWFnZSB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IHZ3KC0tY29udGFpbmVyLXBhZGRpbmctc3ApO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IHVuc2V0O1xuICAgICAgICBAaW5jbHVkZSBtcSB7XG4gICAgICAgICAgcGFkZGluZy1yaWdodDogdW5zZXQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC5wSW1hZ2Uge1xuICAgICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiB1bnNldDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogdW5zZXQ7XG4gICAgICB9XG4gICAgICAudGV4dCB7XG4gICAgICAgIEBpbmNsdWRlIG1xIHtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IHBjKC0tY0NhdGNoY29weUltYWdlLWdhcC1jb2wpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbkBpbXBvcnQgXCJtaXhpbnNcIjtcblxuLmNvbXBvbmVudC50eXBlX2NhdGNoY29weV9pbWFnZV9iZyB7XG4gIG1hcmdpbi10b3A6IHZ3KC0tY0NhdGNoY29weUltYWdlQmctbWFyZ2luLXRvcC1zcCk7XG4gIEBpbmNsdWRlIG1xIHtcbiAgICBtYXJnaW4tdG9wOiBwYygtLWNDYXRjaGNvcHlJbWFnZUJnLW1hcmdpbi10b3AtcGMpO1xuICB9XG4gIC5pbm5lciB7XG4gICAgQGluY2x1ZGUgbXEge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgQGluY2x1ZGUgY29udGFpbmVyO1xuICAgICAgcGFkZGluZy1ib3R0b206IHBjKC0tY0NhdGNoY29weUltYWdlQmctaW1hZ2UtcG9zaXRpb24tcGMtYm90dG9tKTtcbiAgICB9XG4gICAgJjpub3QoLnJldmVyc2UpIHtcbiAgICAgIC50ZXh0IHtcbiAgICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogdncoLS1jQ2F0Y2hjb3B5SW1hZ2VCZy1ib3JkZXItcmFkaXVzLXNwKTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogdncoLS1jQ2F0Y2hjb3B5SW1hZ2VCZy1ib3JkZXItcmFkaXVzLXNwKTtcbiAgICAgICAgQGluY2x1ZGUgbXEge1xuICAgICAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IHBjKC0tY0NhdGNoY29weUltYWdlQmctYm9yZGVyLXJhZGl1cy1wYyk7XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogcGMoLS1jQ2F0Y2hjb3B5SW1hZ2VCZy1ib3JkZXItcmFkaXVzLXBjKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAmLnJldmVyc2Uge1xuICAgICAgLmltYWdlIHtcbiAgICAgICAgQGluY2x1ZGUgbXEge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAudGV4dCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiB1bnNldDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogdncoLS1jQ2F0Y2hjb3B5SW1hZ2VCZy1ib3JkZXItcmFkaXVzLXNwKTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IHZ3KC0tY0NhdGNoY29weUltYWdlQmctYm9yZGVyLXJhZGl1cy1zcCk7XG4gICAgICAgIEBpbmNsdWRlIG1xIHtcbiAgICAgICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogcGMoLS1jQ2F0Y2hjb3B5SW1hZ2VCZy1ib3JkZXItcmFkaXVzLXBjKTtcbiAgICAgICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogcGMoLS1jQ2F0Y2hjb3B5SW1hZ2VCZy1ib3JkZXItcmFkaXVzLXBjKTtcbiAgICAgICAgICByaWdodDogYXV0bztcbiAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIC5pbWFnZSB7XG4gICAgICBwYWRkaW5nLWlubGluZTogdncoLS1jb250YWluZXItcGFkZGluZy1zcCk7XG4gICAgICBAaW5jbHVkZSBtcSB7XG4gICAgICAgIHBhZGRpbmctaW5saW5lOiB1bnNldDtcbiAgICAgICAgd2lkdGg6IHBjKC0tY0NhdGNoY29weUltYWdlQmctaW1hZ2Utd2lkdGgtcGMpO1xuICAgICAgfVxuICAgIH1cbiAgICAudGV4dCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jQ2F0Y2hjb3B5SW1hZ2VCZy1iYWNrZ291bmQtY29sb3IpO1xuICAgICAgcGFkZGluZy1pbmxpbmU6IHZ3KC0tY0NhdGNoY29weUltYWdlQmctcGFkZGluZy1pbmxpbmUtc3ApO1xuICAgICAgcGFkZGluZy1ibG9jazogdncoLS1jQ2F0Y2hjb3B5SW1hZ2VCZy1wYWRkaW5nLWJsb2NrLXNwKTtcbiAgICAgIHdpZHRoOiB2dygtLWNDYXRjaGNvcHlJbWFnZUJnLXRleHQtd2lkdGgtc3ApO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgbWFyZ2luLXRvcDogdncoLS1jQ2F0Y2hjb3B5SW1hZ2VCZy10ZXh0LXBvc2l0aW9uLXNwLXRvcCk7XG4gICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICBncmlkLWF1dG8tZmxvdzogcm93O1xuICAgICAgZ2FwOiB2dygtLWNDYXRjaGNvcHlJbWFnZUJnLWdhcC1yb3ctc3ApO1xuICAgICAgQGluY2x1ZGUgbXEge1xuICAgICAgICBwYWRkaW5nLWlubGluZTogcGMoLS1jQ2F0Y2hjb3B5SW1hZ2VCZy1wYWRkaW5nLWlubGluZS1wYyk7XG4gICAgICAgIHBhZGRpbmctYmxvY2s6IHBjKC0tY0NhdGNoY29weUltYWdlQmctcGFkZGluZy1ibG9jay1wYyk7XG4gICAgICAgIG1hcmdpbi10b3A6IHVuc2V0O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIHdpZHRoOiBwYygtLWNDYXRjaGNvcHlJbWFnZUJnLXRleHQtd2lkdGgtcGMpO1xuICAgICAgICBib3JkZXItcmFkaXVzOiBwYygtLWNDYXRjaGNvcHlJbWFnZUJnLWJvcmRlci1yYWRpdXMtcGMpO1xuICAgICAgICBnYXA6IHBjKC0tY0NhdGNoY29weUltYWdlQmctZ2FwLXJvdy1wYyk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbkBpbXBvcnQgXCJtaXhpbnNcIjtcblxuLmNvbXBvbmVudC50eXBlX2NvbnZlcnNpb24ge1xuICBAaW5jbHVkZSBjb250YWluZXI7XG4gIG1hcmdpbi10b3A6IHZ3KC0tY0NvbnZlcnNpb24tbWFyZ2luLXRvcC1zcCk7XG4gIEBpbmNsdWRlIG1xIHtcbiAgICBtYXJnaW4tdG9wOiBwYygtLWNDb252ZXJzaW9uLW1hcmdpbi10b3AtcGMpO1xuICB9XG4gIC5pbm5lciB7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jQ29udmVyc2lvbi1iYWNrZ3JvdW5kLWNvbG9yKTtcbiAgICBib3JkZXItcmFkaXVzOiB2dygtLWNDb252ZXJzaW9uLWJvcmRlci1yYWRpdXMtc3ApO1xuICAgIHBhZGRpbmc6IHZ3KC0tY0NvbnZlcnNpb24tcGFkZGluZy1ibG9jay1zcCkgdncoLS1jQ29udmVyc2lvbi1wYWRkaW5nLWlubGluZS1zcCk7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLWF1dG8tZmxvdzogcm93O1xuICAgIGdhcDogdncoLS1jQ29udmVyc2lvbi1nYXAtcm93LXNwKTtcbiAgICBqdXN0aWZ5LWl0ZW1zOiBjZW50ZXI7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIEBpbmNsdWRlIG1xIHtcbiAgICAgIHBhZGRpbmc6IHBjKC0tY0NvbnZlcnNpb24tcGFkZGluZy1ibG9jay1wYykgcGMoLS1jQ29udmVyc2lvbi1wYWRkaW5nLWlubGluZS1wYyk7XG4gICAgICBib3JkZXItcmFkaXVzOiBwYygtLWNDb252ZXJzaW9uLWJvcmRlci1yYWRpdXMtcGMpO1xuICAgICAgZ2FwOiBwYygtLWNDb252ZXJzaW9uLWdhcC1yb3ctcGMpO1xuICAgICAganVzdGlmeS1pdGVtczogc3RhcnQ7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIH1cbiAgICAmLmNlbnRlciB7XG4gICAgICBAaW5jbHVkZSBtcSB7XG4gICAgICAgIGp1c3RpZnktaXRlbXM6IGNlbnRlcjtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgfVxuICAgIH1cbiAgICAmLnJpZ2h0IHtcbiAgICAgIEBpbmNsdWRlIG1xIHtcbiAgICAgICAganVzdGlmeS1pdGVtczogZW5kO1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgIH1cbiAgICB9XG4gICAgLmltYWdlIHtcbiAgICAgIGltZyB7XG4gICAgICAgIHdpZHRoOiB2dygtLWNDb252ZXJzaW9uLWxvZ28td2lkdGgtc3ApO1xuICAgICAgICBAaW5jbHVkZSBtcSB7XG4gICAgICAgICAgd2lkdGg6IHBjKC0tY0NvbnZlcnNpb24tbG9nby13aWR0aC1wYyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgLnBDb252ZXJzaW9uSGVhZGluZyB7XG4gICAgICBjb2xvcjogdmFyKC0tY0NvbnZlcnNpb24tY29sb3IpO1xuICAgIH1cbiAgICAucFRleHQge1xuICAgICAgY29sb3I6IHZhcigtLWNDb252ZXJzaW9uLWNvbG9yKTtcbiAgICB9XG4gIH1cbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuQGltcG9ydCBcIm1peGluc1wiO1xuXG4uY29tcG9uZW50LnR5cGVfYmxvZ3RpdGxlIHtcbiAgcGFkZGluZy10b3A6IHZ3KDYwcHgpO1xuICBwYWRkaW5nLXJpZ2h0OiB2dygzMHB4KTtcbiAgQGluY2x1ZGUgbXEge1xuICAgIHBhZGRpbmctdG9wOiBwYygxODBweCk7XG4gICAgcGFkZGluZy1yaWdodDogcGMoOTBweCk7XG4gIH1cbiAgLmlubmVyIHtcbiAgICBwYWRkaW5nOiB2dygzMnB4KSB2dygyNHB4KTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1zdXJmYWNlKTtcbiAgICBib3JkZXItcmFkaXVzOiAwIHZhcigtLWJvcmRlci1yYWRpdXMtbWVkaXVtKSB2YXIoLS1ib3JkZXItcmFkaXVzLW1lZGl1bSkgMDtcbiAgICBAaW5jbHVkZSBtcSB7XG4gICAgICBwYWRkaW5nLWlubGluZTogdW5zZXQ7XG4gICAgICBwYWRkaW5nLWJsb2NrOiBwYygxMDBweCk7XG4gICAgfVxuICAgIGgxIHtcbiAgICAgIGZvbnQtc2l6ZTogdncoLS1mcy14bCk7XG4gICAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgICBsaW5lLWhlaWdodDogdmFyKC0tbGluZS1oZWlnaHQteHNtYWxsKTtcbiAgICAgIEBpbmNsdWRlIG1xIHtcbiAgICAgICAgZm9udC1zaXplOiBwYygtLWZzLXh4eHhsKTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGNhbGMoNTB2dyAtIHBjKDYzMHB4KSk7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IHBjKDIwMHB4KTtcbiAgICAgIH1cbiAgICB9XG4gICAgLmNhdCB7XG4gICAgICBtYXJnaW4tdG9wOiB2dygxNnB4KTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtLjFlbTtcbiAgICAgIEBpbmNsdWRlIG1xKCkge1xuICAgICAgICBtYXJnaW4tdG9wOiBwYygyNHB4KTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGNhbGMoNTB2dyAtIHBjKDYzMHB4KSk7XG4gICAgICAgIHRyYW5zbGF0ZTogcGMoLTZweCkgMDtcbiAgICAgIH1cbiAgICAgIGEge1xuICAgICAgICBtYXJnaW4tbGVmdDogLjVlbTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuQGltcG9ydCBcIm1peGluc1wiO1xuXG4uY29tcG9uZW50LnR5cGVfaGVhZGluZyB7XG4gIC5pbm5lciB7XG4gICAgQGluY2x1ZGUgY29udGFpbmVyO1xuICB9XG4gICYubGFyZ2Uge1xuICAgIG1hcmdpbi10b3A6IHZ3KC0tY0hlYWRpbmctbGFyZ2UtbWFyZ2luLXRvcC1zcCk7XG4gICAgQGluY2x1ZGUgbXEge1xuICAgICAgbWFyZ2luLXRvcDogcGMoLS1jSGVhZGluZy1sYXJnZS1tYXJnaW4tdG9wLXBjKTtcbiAgICB9XG4gIH1cbiAgJi5tZWRpdW0ge1xuICAgIG1hcmdpbi10b3A6IHZ3KC0tY0hlYWRpbmctbWVkaXVtLW1hcmdpbi10b3Atc3ApO1xuICAgIEBpbmNsdWRlIG1xIHtcbiAgICAgIG1hcmdpbi10b3A6IHBjKC0tY0hlYWRpbmctbWVkaXVtLW1hcmdpbi10b3AtcGMpO1xuICAgIH1cbiAgfVxufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG5AaW1wb3J0IFwibWl4aW5zXCI7XG5cbi5jb21wb25lbnQudHlwZV9oZWFkaW5nX2V4IHtcbiAgQGluY2x1ZGUgc2VjdGlvbjtcbiAgLmlubmVyIHtcbiAgICBAaW5jbHVkZSBjb250YWluZXI7XG4gIH1cbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuQGltcG9ydCBcIm1peGluc1wiO1xuXG4uY29tcG9uZW50LnR5cGVfdGV4dCB7XG4gIG1hcmdpbi10b3A6IHZ3KC0tY1RleHQtbWFyZ2luLXRvcC1zcCk7XG4gIEBpbmNsdWRlIG1xIHtcbiAgICBtYXJnaW4tdG9wOiBwYygtLWNUZXh0LW1hcmdpbi10b3AtcGMpO1xuICB9XG4gIC5pbm5lciB7XG4gICAgQGluY2x1ZGUgY29udGFpbmVyO1xuICB9XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbkBpbXBvcnQgXCJtaXhpbnNcIjtcblxuLmNvbXBvbmVudC50eXBlX2xlYWQge1xuICBtYXJnaW4tdG9wOiB2dygtLWNMZWFkLW1hcmdpbi10b3Atc3ApO1xuICBAaW5jbHVkZSBtcSB7XG4gICAgbWFyZ2luLXRvcDogcGMoLS1jTGVhZC1tYXJnaW4tdG9wLXBjKTtcbiAgfVxuICAuaW5uZXIge1xuICAgIEBpbmNsdWRlIGNvbnRhaW5lcjtcbiAgfVxufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG5AaW1wb3J0IFwibWl4aW5zXCI7XG5cbi5jb21wb25lbnQudHlwZV90ZXh0X2ltYWdlIHtcbiAgbWFyZ2luLXRvcDogdncoLS1jVGV4dEltYWdlLW1hcmdpbi10b3Atc3ApO1xuICBAaW5jbHVkZSBtcSB7XG4gICAgbWFyZ2luLXRvcDogcGMoLS1jVGV4dEltYWdlLW1hcmdpbi10b3AtcGMpO1xuICB9XG4gIC5pbm5lciB7XG4gICAgQGluY2x1ZGUgY29udGFpbmVyO1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC1hdXRvLWZsb3c6IHJvdztcbiAgICBnYXA6IHZ3KC0tY1RleHRJbWFnZS1nYXAtcm93LXNwKTtcbiAgICBAaW5jbHVkZSBtcSB7XG4gICAgICBncmlkLXRlbXBsYXRlOlxuICAgICAgXCJpbWFnZXMgdGV4dFwiIGF1dG9cbiAgICAgIC8gcGMoLS1jVGV4dEltYWdlLWltYWdlLXdpZHRoKSAxZnI7XG4gICAgICBnYXA6IHBjKC0tY1RleHRJbWFnZS1nYXAtcm93LXBjKSBwYygtLWNUZXh0SW1hZ2UtZ2FwLWNvbCk7XG4gICAgfVxuICAgICYucmV2ZXJzZSB7XG4gICAgICBAaW5jbHVkZSBtcSB7XG4gICAgICAgIGdyaWQtdGVtcGxhdGU6XG4gICAgICAgIFwidGV4dCBpbWFnZXNcIiBhdXRvXG4gICAgICAgIC8gMWZyIHBjKC0tY1RleHRJbWFnZS1pbWFnZS13aWR0aCk7XG4gICAgICB9XG4gICAgfVxuICAgIFxuICAgIC50ZXh0IHtcbiAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICBncmlkLWF1dG8tZmxvdzogcm93O1xuICAgICAgZ2FwOiB2dygtLWNUZXh0SW1hZ2UtZ2FwLXJvdy1zcCk7XG4gICAgICBhbGlnbi1zZWxmOiBzdGFydDtcbiAgICAgIEBpbmNsdWRlIG1xIHtcbiAgICAgICAgZ3JpZC1hcmVhOiB0ZXh0O1xuICAgICAgICBnYXA6IHBjKC0tY1RleHRJbWFnZS1nYXAtcm93LXBjKTtcbiAgICAgIH1cblxuICAgIH1cbiAgICAuaW1hZ2VzIHtcbiAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICBncmlkLWF1dG8tZmxvdzogcm93O1xuICAgICAgZ2FwOiB2dygtLWNUZXh0SW1hZ2UtZ2FwLXJvdy1zcCk7XG4gICAgICBhbGlnbi1zZWxmOiBzdGFydDtcbiAgICAgIEBpbmNsdWRlIG1xIHtcbiAgICAgICAgZ3JpZC1hcmVhOiBpbWFnZXM7XG4gICAgICAgIGdhcDogcGMoLS1jVGV4dEltYWdlLWdhcC1yb3ctcGMpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG5AaW1wb3J0IFwibWl4aW5zXCI7XG5cbi5jb21wb25lbnQudHlwZV90ZXh0X21hcCB7XG4gIG1hcmdpbi10b3A6IHZ3KC0tY1RleHRNYXAtbWFyZ2luLXRvcC1zcCk7XG4gIEBpbmNsdWRlIG1xIHtcbiAgICBtYXJnaW4tdG9wOiBwYygtLWNUZXh0TWFwLW1hcmdpbi10b3AtcGMpO1xuICB9XG4gIC5pbm5lciB7XG4gICAgQGluY2x1ZGUgY29udGFpbmVyO1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC1hdXRvLWZsb3c6IHJvdztcbiAgICBnYXA6IHZ3KC0tY1RleHRNYXAtZ2FwLXJvdy1zcCk7XG4gICAgQGluY2x1ZGUgbXEge1xuICAgICAgZ3JpZC10ZW1wbGF0ZTpcbiAgICAgIFwibWFwIHRleHRcIiBhdXRvXG4gICAgICAvIHBjKC0tY1RleHRNYXAtaW1hZ2Utd2lkdGgpIDFmcjtcbiAgICAgIGdhcDogcGMoLS1jVGV4dE1hcC1nYXAtcm93LXBjKSBwYygtLWNUZXh0TWFwLWdhcC1jb2wpO1xuICAgIH1cbiAgICAmLnJldmVyc2Uge1xuICAgICAgQGluY2x1ZGUgbXEge1xuICAgICAgICBncmlkLXRlbXBsYXRlOlxuICAgICAgICBcInRleHQgbWFwXCIgYXV0b1xuICAgICAgICAvIDFmciBwYygtLWNUZXh0TWFwLWltYWdlLXdpZHRoKTtcbiAgICAgIH1cbiAgICB9XG4gICAgLnRleHQge1xuICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgIGdyaWQtYXV0by1mbG93OiByb3c7XG4gICAgICBnYXA6IHZ3KC0tY1RleHRNYXAtZ2FwLXJvdy1zcCk7XG4gICAgICBhbGlnbi1zZWxmOiBzdGFydDtcbiAgICAgIEBpbmNsdWRlIG1xIHtcbiAgICAgICAgZ3JpZC1hcmVhOiB0ZXh0O1xuICAgICAgICBnYXA6IHBjKC0tY1RleHRNYXAtZ2FwLXJvdy1wYyk7XG4gICAgICB9XG5cbiAgICB9XG4gICAgLnBNYXBDYXB0aW9uIHtcbiAgICAgIEBpbmNsdWRlIG1xIHtcbiAgICAgICAgZ3JpZC1hcmVhOiBtYXA7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbkBpbXBvcnQgXCJtaXhpbnNcIjtcblxuLmNvbXBvbmVudC50eXBlX21hcHtcbiAgbWFyZ2luLXRvcDogdncoLS1jTWFwLW1hcmdpbi10b3Atc3ApO1xuICBAaW5jbHVkZSBtcSB7XG4gICAgbWFyZ2luLXRvcDogcGMoLS1jTWFwLW1hcmdpbi10b3AtcGMpO1xuICB9XG4gIC5pbm5lciB7XG4gICAgQGluY2x1ZGUgY29udGFpbmVyO1xuICAgIC5wTWFwQ2FwdGlvbiB7XG4gICAgICBtYXJnaW4taW5saW5lOiBhdXRvO1xuICAgIH1cbiAgfVxufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG5AaW1wb3J0IFwibWl4aW5zXCI7XG5cbi5jb21wb25lbnQudHlwZV9pbWFnZV9tdWx0aSB7XG4gIG1hcmdpbi10b3A6IHZ3KC0tY0ltYWdlLW1hcmdpbi10b3Atc3ApO1xuICBAaW5jbHVkZSBtcSB7XG4gICAgbWFyZ2luLXRvcDogcGMoLS1jSW1hZ2UtbWFyZ2luLXRvcC1wYyk7XG4gIH1cbiAgJi5zZXQxIHtcbiAgICAuaW5uZXIge1xuICAgICAgQGluY2x1ZGUgbXEge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIH1cbiAgICAgIC5wSW1hZ2VDYXB0aW9uIHtcbiAgICAgICAgbWFyZ2luLWlubGluZTogYXV0bztcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgJi5zZXQyIHtcbiAgICAuaW5uZXIge1xuICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDEsIDFmcik7XG4gICAgICBAaW5jbHVkZSBtcSB7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7XG4gICAgICB9XG4gICAgfVxuICB9XG4gICYuc2V0MyB7XG4gICAgLmlubmVyIHtcbiAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpO1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiByZXBlYXQoMSwgYXV0byk7XG4gICAgICBAaW5jbHVkZSBtcSB7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDMsIDFmcik7XG4gICAgICB9XG4gICAgfVxuICB9XG4gICYuc2V0NCB7XG4gICAgLmlubmVyIHtcbiAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpO1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiByZXBlYXQoMSwgYXV0byk7XG4gICAgICBAaW5jbHVkZSBtcSB7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDQsIDFmcik7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5pbm5lciB7XG4gICAgQGluY2x1ZGUgY29udGFpbmVyO1xuICAgIGdhcDogdncoLS1jSW1hZ2UtZ2FwLXJvdy1zcCkgdncoLS1jSW1hZ2UtZ2FwLWNvbC1zcCk7XG4gICAgQGluY2x1ZGUgbXEge1xuICAgICAgZ2FwOiBwYygtLWNJbWFnZS1nYXAtcm93LXBjKSBwYygtLWNJbWFnZS1nYXAtY29sLXBjKTtcbiAgICB9XG4gICAgLnBJbWFnZUNhcHRpb24ge1xuICAgICAgJi5zaHJpbmsge1xuICAgICAgICAucENhcHRpb24ge1xuICAgICAgICAgIG1hcmdpbi1pbmxpbmU6IGF1dG87XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuQGltcG9ydCBcIm1peGluc1wiO1xuXG4uY29tcG9uZW50LnR5cGVfbW92aWVfbXVsdGkge1xuICBtYXJnaW4tdG9wOiB2dygtLWNJbWFnZS1tYXJnaW4tdG9wLXNwKTtcbiAgQGluY2x1ZGUgbXEge1xuICAgIG1hcmdpbi10b3A6IHBjKC0tY0ltYWdlLW1hcmdpbi10b3AtcGMpO1xuICB9XG4gICYuc2V0MSB7XG4gICAgLmlubmVyIHtcbiAgICAgIEBpbmNsdWRlIG1xIHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICB9XG4gICAgICAucEltYWdlQ2FwdGlvbiB7XG4gICAgICAgIG1hcmdpbi1pbmxpbmU6IGF1dG87XG4gICAgICB9XG4gICAgfVxuICB9XG4gICYuc2V0MiB7XG4gICAgLmlubmVyIHtcbiAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgxLCAxZnIpO1xuICAgICAgQGluY2x1ZGUgbXEge1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAmLnNldDMge1xuICAgIC5pbm5lciB7XG4gICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTtcbiAgICAgIGdyaWQtdGVtcGxhdGUtcm93czogcmVwZWF0KDEsIGF1dG8pO1xuICAgICAgQGluY2x1ZGUgbXEge1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLCAxZnIpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAmLnNldDQge1xuICAgIC5pbm5lciB7XG4gICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTtcbiAgICAgIGdyaWQtdGVtcGxhdGUtcm93czogcmVwZWF0KDEsIGF1dG8pO1xuICAgICAgQGluY2x1ZGUgbXEge1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg0LCAxZnIpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAuaW5uZXIge1xuICAgIEBpbmNsdWRlIGNvbnRhaW5lcjtcbiAgICBnYXA6IHZ3KC0tY0ltYWdlLWdhcC1yb3ctc3ApIHZ3KC0tY0ltYWdlLWdhcC1jb2wtc3ApO1xuICAgIEBpbmNsdWRlIG1xIHtcbiAgICAgIGdhcDogcGMoLS1jSW1hZ2UtZ2FwLXJvdy1wYykgcGMoLS1jSW1hZ2UtZ2FwLWNvbC1wYyk7XG4gICAgfVxuICAgIC5wSW1hZ2VDYXB0aW9uIHtcbiAgICAgIC5wSW1hZ2Uge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgYXNwZWN0LXJhdGlvOiAxNiAvIDk7XG4gICAgICAgIGlmcmFtZSB7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAucENhcHRpb24ge1xuICAgICAgICAmLnNocmluayB7XG4gICAgICAgICAgbWFyZ2luLWlubGluZTogYXV0bztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG5AaW1wb3J0IFwibWl4aW5zXCI7XG5cbi5jb21wb25lbnQudHlwZV9wYW5lbCB7XG4gIG1hcmdpbi10b3A6IHZ3KC0tY1BhbmVsLW1hcmdpbi10b3Atc3ApO1xuICBAaW5jbHVkZSBtcSB7XG4gICAgbWFyZ2luLXRvcDogcGMoLS1jUGFuZWwtbWFyZ2luLXRvcC1wYyk7XG4gIH1cbiAgJi5zZXQxIHtcbiAgICAuaW5uZXIge1xuICAgICAgLnBQYW5lbCB7XG4gICAgICAgIG1hcmdpbi1pbmxpbmU6IGF1dG87XG4gICAgICB9XG4gICAgfVxuICB9XG4gICYuc2V0MiB7XG4gICAgLmlubmVyIHtcbiAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgxLCAxZnIpO1xuICAgICAgQGluY2x1ZGUgbXEge1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAmLnNldDMge1xuICAgIC5pbm5lciB7XG4gICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTtcbiAgICAgIGdyaWQtdGVtcGxhdGUtcm93czogcmVwZWF0KDEsIGF1dG8pO1xuICAgICAgQGluY2x1ZGUgbXEge1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLCAxZnIpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAmLnNldDQge1xuICAgIC5pbm5lciB7XG4gICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTtcbiAgICAgIGdyaWQtdGVtcGxhdGUtcm93czogcmVwZWF0KDEsIGF1dG8pO1xuICAgICAgQGluY2x1ZGUgbXEge1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg0LCAxZnIpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAuaW5uZXIge1xuICAgIEBpbmNsdWRlIGNvbnRhaW5lcjtcbiAgICBnYXA6IHZ3KC0tY1BhbmVsLWdhcC1yb3ctc3ApIHZ3KC0tY1BhbmVsLWdhcC1jb2wtc3ApO1xuICAgIEBpbmNsdWRlIG1xIHtcbiAgICAgIGdhcDogcGMoLS1jUGFuZWwtZ2FwLXJvdy1wYykgcGMoLS1jUGFuZWwtZ2FwLWNvbC1wYyk7XG4gICAgfVxuICB9XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbkBpbXBvcnQgXCJtaXhpbnNcIjtcblxuLmNvbXBvbmVudC50eXBlX3NwZWFrZXIge1xuICBtYXJnaW4tdG9wOiB2dygtLWNTcGVha2VyLW1hcmdpbi10b3Atc3ApO1xuICBAaW5jbHVkZSBtcSB7XG4gICAgbWFyZ2luLXRvcDogcGMoLS1jU3BlYWtlci1tYXJnaW4tdG9wLXBjKTtcbiAgfVxuICA+IC5pbm5lciB7XG4gICAgQGluY2x1ZGUgY29udGFpbmVyO1xuICAgIEBpbmNsdWRlIG1xIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XG4gICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgIGdhcDogcGMoLS1jU3BlYWtlci1nYXAtcGMpO1xuICAgIH1cbiAgICAuc3BlYWtlciB7XG4gICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgZ3JpZC1hdXRvLWZsb3c6IHJvdztcbiAgICAgIGdhcDogdncoLS1jU3BlYWtlci1zcGVha2VyLWdhcC1zcCk7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jU3BlYWtlci1iYWNrZ3JvdW5kLWNvbG9yKTtcbiAgICAgIHBhZGRpbmc6IHZ3KC0tY1NwZWFrZXItcGFkZGluZy1ibG9jay1zcCkgdncoLS1jU3BlYWtlci1wYWRkaW5nLWlubGluZS1zcCk7XG4gICAgICBib3JkZXItcmFkaXVzOiB2dygtLWNTcGVha2VyLWJvcmRlci1yYWRpdXMtc3ApO1xuICAgICAgQGluY2x1ZGUgbXEge1xuICAgICAgICBwYWRkaW5nOiBwYygtLWNTcGVha2VyLXBhZGRpbmctYmxvY2stcGMpIHBjKC0tY1NwZWFrZXItcGFkZGluZy1pbmxpbmUtcGMpO1xuICAgICAgICBib3JkZXItcmFkaXVzOiBwYygtLWNTcGVha2VyLWJvcmRlci1yYWRpdXMtcGMpO1xuICAgICAgICBnYXA6IHBjKC0tY1NwZWFrZXItc3BlYWtlci1nYXAtcGMpO1xuICAgICAgICB3aWR0aDogcGMoLS1jU3BlYWtlci1zcGVha2VyLXdpZHRoKTtcbiAgICAgICAgcG9zaXRpb246IHN0aWNreTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICAgICAgJi5zdGF0aWMge1xuICAgICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC5wSGVhZGluZ01lZGl1bSB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIH1cbiAgICB9XG4gICAgLmNvbnRlbnQge1xuICAgICAgbWFyZ2luLXRvcDogdncoLS1jU3BlYWtlci1nYXAtc3ApO1xuICAgICAgQGluY2x1ZGUgbXEge1xuICAgICAgICBtYXJnaW4tdG9wOiB1bnNldDtcbiAgICAgICAgZmxleDogMTtcbiAgICAgIH1cbiAgICAgIC5jb21wb25lbnQ6bm90KC50eXBlX2NvbHVtbikgLmNvbnRhaW5lcixcbiAgICAgIC5jb21wb25lbnQ6bm90KC50eXBlX2NvbHVtbikgLmlubmVyIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHBhZGRpbmctaW5saW5lOiB1bnNldDtcbiAgICAgIH1cbiAgICAgIC5jb21wb25lbnQge1xuICAgICAgICBtYXJnaW4tdG9wOiB2dygtLW1hcmdpbi10b3AtMSk7XG4gICAgICAgICY6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogdW5zZXQ7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgbXEge1xuICAgICAgICAgIG1hcmdpbi10b3A6IHBjKC0tbWFyZ2luLXRvcC0yKTtcbiAgICAgICAgICAmOmZpcnN0LW9mLXR5cGUge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogdW5zZXQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICAudHlwZV9jb2x1bW4ge1xuICAgICAgICAuY29udGFpbmVyIHtcbiAgICAgICAgICBwYWRkaW5nLWlubGluZTogdW5zZXQ7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cbiAgICAgICAgLmlubmVyIHtcbiAgICAgICAgICBncmlkLXRlbXBsYXRlOlxuICAgICAgICAgIFwiaGVhZGluZ1wiIGF1dG9cbiAgICAgICAgICBcInN1YmhlYWRpbmdcIiBhdXRvXG4gICAgICAgICAgXCJ0ZXh0XCIgYXV0b1xuICAgICAgICAgIFwiaW1hZ2VzXCIgYXV0b1xuICAgICAgICAgIFwiYnV0dG9uXCIgYXV0byAvIDEwMCU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC50eXBlX3RhYmxlIHtcbiAgICAgICAgLmlubmVyIHtcbiAgICAgICAgICBwYWRkaW5nLWlubGluZTogdW5zZXQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuQGltcG9ydCBcIm1peGluc1wiO1xuXG4uY29tcG9uZW50LnR5cGVfY29sdW1uIHtcbiAgbWFyZ2luLXRvcDogdncoLS1jQ29sdW1uLW1hcmdpbi10b3Atc3ApO1xuICBAaW5jbHVkZSBtcSB7XG4gICAgbWFyZ2luLXRvcDogcGMoLS1jQ29sdW1uLW1hcmdpbi10b3AtcGMpO1xuICB9XG4gIC5jb250YWluZXIge1xuICAgIEBpbmNsdWRlIGNvbnRhaW5lcjtcbiAgICAuaW5uZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3Itc3VyZmFjZSk7XG4gICAgICBwYWRkaW5nOiB2dygtLWNDb2x1bW4tcGFkZGluZy1ibG9jay1zcCkgdncoLS1jQ29sdW1uLXBhZGRpbmctaW5saW5lLXNwKTtcbiAgICAgIGJvcmRlcjogdncoLS1jQ29sdW1uLWJvcmRlci13aWR0aC1zcCkgc29saWQgdmFyKC0tY0NvbHVtbi1ib3JkZXItY29sb3IpO1xuICAgICAgZ2FwOiB2dygtLWNDb2x1bW4tZ2FwLXJvdy1zcCk7XG4gICAgICBib3JkZXItcmFkaXVzOiB2dygtLWNDb2x1bW4tYm9yZGVyLXJhZGl1cy1zcCk7XG4gICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgQGluY2x1ZGUgbXEge1xuICAgICAgICBwYWRkaW5nOiBwYygtLWNDb2x1bW4tcGFkZGluZy1ibG9jay1wYykgcGMoLS1jQ29sdW1uLXBhZGRpbmctaW5saW5lLXBjKTtcbiAgICAgICAgZ2FwOiBwYygtLWNDb2x1bW4tZ2FwLXJvdy1wYykgcGMoLS1jQ29sdW1uLWdhcC1jb2wpO1xuICAgICAgICBib3JkZXItd2lkdGg6IHBjKC0tY0NvbHVtbi1ib3JkZXItd2lkdGgtcGMpO1xuICAgICAgICBib3JkZXItcmFkaXVzOiBwYygtLWNDb2x1bW4tYm9yZGVyLXJhZGl1cy1wYyk7XG4gICAgICB9XG4gICAgICAmLm5vcm1hbCB7XG4gICAgICAgIGdyaWQtdGVtcGxhdGU6XG4gICAgICAgIFwiaGVhZGluZ1wiIGF1dG9cbiAgICAgICAgXCJzdWJoZWFkaW5nXCIgYXV0b1xuICAgICAgICBcInRleHRcIiBhdXRvXG4gICAgICAgIFwiaW1hZ2VzXCIgYXV0b1xuICAgICAgICBcImJ1dHRvblwiIGF1dG9cbiAgICAgICAgLyAxMDAlO1xuICAgICAgICBAaW5jbHVkZSBtcSB7XG4gICAgICAgICAgZ3JpZC10ZW1wbGF0ZTpcbiAgICAgICAgICBcImltYWdlcyBoZWFkaW5nXCIgYXV0b1xuICAgICAgICAgIFwiaW1hZ2VzIHN1YmhlYWRpbmdcIiBhdXRvXG4gICAgICAgICAgXCJpbWFnZXMgdGV4dFwiIGF1dG9cbiAgICAgICAgICBcImltYWdlcyBidXR0b25cIiAxZnJcbiAgICAgICAgICAvIHBjKC0tY0NvbHVtbi1pbWFnZS13aWR0aCkgMWZyO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmLnJldmVyc2Uge1xuICAgICAgICBncmlkLXRlbXBsYXRlOlxuICAgICAgICBcImhlYWRpbmdcIiBhdXRvXG4gICAgICAgIFwic3ViaGVhZGluZ1wiIGF1dG9cbiAgICAgICAgXCJ0ZXh0XCIgYXV0b1xuICAgICAgICBcImltYWdlc1wiIGF1dG9cbiAgICAgICAgXCJidXR0b25cIiBhdXRvXG4gICAgICAgIC8gMTAwJTtcbiAgICAgICAgQGluY2x1ZGUgbXEge1xuICAgICAgICAgIGdyaWQtdGVtcGxhdGU6XG4gICAgICAgICAgXCJoZWFkaW5nIGltYWdlc1wiIGF1dG9cbiAgICAgICAgICBcInN1YmhlYWRpbmcgaW1hZ2VzXCIgYXV0b1xuICAgICAgICAgIFwidGV4dCBpbWFnZXNcIiBhdXRvXG4gICAgICAgICAgXCJidXR0b24gaW1hZ2VzXCIgMWZyXG4gICAgICAgICAgLyAxZnIgcGMoLS1jQ29sdW1uLWltYWdlLXdpZHRoKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJi52ZXJ0aWNhbCB7XG4gICAgICAgIGdyaWQtdGVtcGxhdGU6XG4gICAgICAgIFwiaGVhZGluZ1wiIGF1dG9cbiAgICAgICAgXCJzdWJoZWFkaW5nXCIgYXV0b1xuICAgICAgICBcImltYWdlc1wiIGF1dG9cbiAgICAgICAgXCJ0ZXh0XCIgYXV0b1xuICAgICAgICBcImJ1dHRvblwiIGF1dG9cbiAgICAgICAgLyAxMDAlO1xuICAgICAgICAuaW1hZ2VzIHtcbiAgICAgICAgICBAaW5jbHVkZSBtcSB7XG4gICAgICAgICAgICBncmlkLWF1dG8tZmxvdzogY29sdW1uO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuYnV0dG9uIHtcbiAgICAgICAgICAucEJ1dHRvbiB7XG4gICAgICAgICAgICBAaW5jbHVkZSBtcSB7XG4gICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJi52ZXJ0aWNhbF9yZXZlcnNlIHtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZTpcbiAgICAgICAgXCJoZWFkaW5nXCIgYXV0b1xuICAgICAgICBcInN1YmhlYWRpbmdcIiBhdXRvXG4gICAgICAgIFwidGV4dFwiIGF1dG9cbiAgICAgICAgXCJidXR0b25cIiBhdXRvXG4gICAgICAgIFwiaW1hZ2VzXCIgYXV0b1xuICAgICAgICAvIDEwMCU7XG4gICAgICAgIC5pbWFnZXMge1xuICAgICAgICAgIEBpbmNsdWRlIG1xIHtcbiAgICAgICAgICAgIGdyaWQtYXV0by1mbG93OiBjb2x1bW47XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5idXR0b24ge1xuICAgICAgICAgIC5wQnV0dG9uIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1xIHtcbiAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmLnRleHRvbmx5IHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG4gICAgICAucEhlYWRpbmdNZWRpdW0ge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGdyaWQtYXJlYTogaGVhZGluZztcbiAgICAgICAgQGluY2x1ZGUgbXEge1xuICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC5wVGV4dC5zdWJoZWFkaW5nIHtcbiAgICAgICAgY29sb3I6IHZhcigtLWNDb2x1bW4tc3ViaGVhZGluZy1jb2xvcik7XG4gICAgICAgIGdyaWQtYXJlYTogc3ViaGVhZGluZztcbiAgICAgIH1cbiAgICAgIC5pbWFnZXMge1xuICAgICAgICBncmlkLWFyZWE6IGltYWdlcztcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgZ3JpZC1hdXRvLWZsb3c6IHJvdztcbiAgICAgICAgZ2FwOiB2dygtLWNDb2x1bW4tZ2FwLXJvdy1zcCk7XG4gICAgICAgIGFsaWduLXNlbGY6IHN0YXJ0O1xuICAgICAgICBAaW5jbHVkZSBtcSB7XG4gICAgICAgICAgZ2FwOiBwYygtLWNDb2x1bW4tZ2FwLXJvdy1wYyk7XG4gICAgICAgIH1cbiAgICAgICAgLnBJbWFnZUNhcHRpb24ge1xuICAgICAgICAgIGNvbnRhaW5lci10eXBlOiB1bnNldDtcbiAgICAgICAgICBtYXJnaW4taW5saW5lOiBhdXRvO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAudGV4dCB7XG4gICAgICAgIGdyaWQtYXJlYTogdGV4dDtcbiAgICAgIH1cbiAgICAgIC5idXR0b24ge1xuICAgICAgICBncmlkLWFyZWE6IGJ1dHRvbjtcbiAgICAgICAgLnBCdXR0b24ge1xuICAgICAgICAgIG1hcmdpbi1pbmxpbmU6IGF1dG87XG4gICAgICAgICAgQGluY2x1ZGUgbXEge1xuICAgICAgICAgICAgbWFyZ2luLWlubGluZTogdW5zZXQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbkBpbXBvcnQgXCJtaXhpbnNcIjtcbkBpbXBvcnQgXCJwYXJ0cy9jZWxsXCI7XG5cbi5jb21wb25lbnQudHlwZV90YWJsZSB7XG4gIG1hcmdpbi10b3A6IHZ3KC0tY1RhYmxlLW1hcmdpbi10b3Atc3ApO1xuICBAaW5jbHVkZSBtcSB7XG4gICAgbWFyZ2luLXRvcDogcGMoLS1jVGFibGUtbWFyZ2luLXRvcC1wYyk7XG4gIH1cbiAgLmlubmVyIHtcbiAgICBAaW5jbHVkZSBjb250YWluZXIoKTtcbiAgICAudGFibGVfc2V0IHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgICAmOm5vdCg6aGFzKC5uYXJyb3csLnJldmVyc2UpKSB7XG4gICAgICAgIHRhYmxlIHtcbiAgICAgICAgICB0aCwgdGQge1xuICAgICAgICAgICAgQGluY2x1ZGUgcENlbGwoJHR5cGU6ICdkZWZhdWx0Jyk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmLnJldmVyc2Uge1xuICAgICAgICB0YWJsZSB7XG4gICAgICAgICAgdGgge1xuICAgICAgICAgICAgQGluY2x1ZGUgcENlbGwoJGNvbG9yOiAncmV2ZXJzZScpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJi5uYXJyb3cge1xuICAgICAgICB0YWJsZSB7XG4gICAgICAgICAgdGgsIHRkIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHBDZWxsKCRzaXplOiAnbmFycm93Jyk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmLmZpeGVkIHtcbiAgICAgICAgdGFibGUge1xuICAgICAgICAgIEBpbmNsdWRlIG1xIHtcbiAgICAgICAgICAgIHRhYmxlLWxheW91dDogZml4ZWQ7XG4gICAgICAgICAgfVxuICAgICAgICAgIHRoLCB0ZCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBtcSB7XG4gICAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJi5maXhfbGVmdCB7XG4gICAgICAgIHRhYmxlIHtcbiAgICAgICAgICB0aCB7XG4gICAgICAgICAgICBwb3NpdGlvbjogc3RpY2t5O1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICYuemVicmEge1xuICAgICAgICB0YWJsZSB7XG4gICAgICAgICAgdHI6bnRoLWNoaWxkKG9kZCkge1xuICAgICAgICAgICAgdGgsIHRkIHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgcENlbGwoJHR5cGU6ICd6ZWJyYScpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgdGFibGUge1xuICAgICAgICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgdHI6aGFzKHRkKSB0aCB7XG4gICAgICAgICAgd2lkdGg6IDI1JTtcbiAgICAgICAgfVxuICAgICAgICB0aCB7XG4gICAgICAgICAgQGluY2x1ZGUgcENlbGwoJHR5cGU6ICdoZWFkZXInKTtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIH1cbiAgICAgICAgdGQge1xuICAgICAgICAgIG9sIHtcbiAgICAgICAgICAgIGxpc3Qtc3R5bGU6IGRlY2ltYWw7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDFlbTtcbiAgICAgICAgICB9XG4gICAgICAgICAgdWwge1xuICAgICAgICAgICAgbGlzdC1zdHlsZTogZGlzYztcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMWVtO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuQGltcG9ydCBcIm1peGluc1wiO1xuXG5AbWl4aW4gcENlbGwoJHR5cGU6ICcnLCAkc2l6ZTogJ2RlZmF1bHQnLCAkY29sb3I6ICdkZWZhdWx0Jykge1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBib3JkZXItbGVmdC13aWR0aDogdncoLS1wQ2VsbC1ib3JkZXItbGVmdCk7XG4gIGJvcmRlci10b3Atd2lkdGg6IHZ3KC0tcENlbGwtYm9yZGVyLXRvcCk7XG4gIGJvcmRlci1yaWdodC13aWR0aDogdncoLS1wQ2VsbC1ib3JkZXItcmlnaHQpO1xuICBib3JkZXItYm90dG9tLXdpZHRoOiB2dygtLXBDZWxsLWJvcmRlci1ib3R0b20pO1xuICBwYWRkaW5nLWlubGluZTogdncoLS1wQ2VsbC1wYWRkaW5nLWlubGluZS1zcCk7XG4gIGZvbnQtc2l6ZTogdncoLS1wQ2VsbC1mb250LXNpemUtc3ApO1xuICBtaW4td2lkdGg6IHZ3KC0tcENlbGwtbWluLXdpZHRoKTtcbiAgbGluZS1oZWlnaHQ6IDE0MCU7XG4gIEBpbmNsdWRlIG1xIHtcbiAgICBmb250LXNpemU6IHBjKC0tcENlbGwtZm9udC1zaXplLXBjKTtcbiAgICBwYWRkaW5nLWlubGluZTogcGMoLS1wQ2VsbC1wYWRkaW5nLWlubGluZS1wYyk7XG4gICAgbWluLXdpZHRoOiB1bnNldDtcbiAgICBib3JkZXItbGVmdC13aWR0aDogcGMoLS1wQ2VsbC1ib3JkZXItbGVmdCk7XG4gICAgYm9yZGVyLXRvcC13aWR0aDogcGMoLS1wQ2VsbC1ib3JkZXItdG9wKTtcbiAgICBib3JkZXItcmlnaHQtd2lkdGg6IHBjKC0tcENlbGwtYm9yZGVyLXJpZ2h0KTtcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiBwYygtLXBDZWxsLWJvcmRlci1ib3R0b20pO1xuICB9XG4gIGEge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIEBtZWRpYSAoYW55LWhvdmVyOiBob3Zlcikge1xuICAgICAgJjpob3ZlciB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGlmICR0eXBlID09ICdkZWZhdWx0JyB7XG4gICAgY29sb3I6IHZhcigtLXBDZWxsLWRhdGEtY29sb3IpO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1wQ2VsbC1kYXRhLWZvbnQtd2VpZ2h0KTtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLXBDZWxsLWRhdGEtYm9yZGVyLWNvbG9yKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wQ2VsbC1kYXRhLWJhY2tncm91bmQpO1xuICB9XG4gIEBpZiAkdHlwZSA9PSAnaGVhZGVyJyB7XG4gICAgY29sb3I6IHZhcigtLXBDZWxsLWhlYWRlci1jb2xvcik7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLXBDZWxsLWhlYWRlci1mb250LXdlaWdodCk7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1wQ2VsbC1oZWFkZXItYm9yZGVyLWNvbG9yKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wQ2VsbC1oZWFkZXItYmFja2dyb3VuZCk7XG4gIH1cbiAgQGlmICR0eXBlID09ICd6ZWJyYScge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXBDZWxsLXplYnJhLWJhY2tncm91bmQpO1xuICAgIGNvbG9yOiB2YXIoLS1wQ2VsbC16ZWJyYS1jb2xvcik7XG4gIH1cbiAgQGlmICRjb2xvciA9PSAncmV2ZXJzZScge1xuICAgIGNvbG9yOiB2YXIoLS1wQ2VsbC1yZXZlcnNlLWNvbG9yKTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tcENlbGwtcmV2ZXJzZS1mb250LXdlaWdodCk7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1wQ2VsbC1yZXZlcnNlLWJvcmRlci1jb2xvcik7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcENlbGwtcmV2ZXJzZS1iYWNrZ3JvdW5kKTtcbiAgfVxuICBAaWYgJHNpemUgPT0gJ25hcnJvdycge1xuICAgIHBhZGRpbmctYmxvY2s6IHZ3KC0tcENlbGwtcGFkZGluZy1ibG9jay1zcC1uYXJyb3cpO1xuICAgIEBpbmNsdWRlIG1xIHtcbiAgICAgIHBhZGRpbmctYmxvY2s6IHBjKC0tcENlbGwtcGFkZGluZy1ibG9jay1wYy1uYXJyb3cpO1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgcGFkZGluZy1ibG9jazogdncoLS1wQ2VsbC1wYWRkaW5nLWJsb2NrLXNwKTtcbiAgICBAaW5jbHVkZSBtcSB7XG4gICAgICBwYWRkaW5nLWJsb2NrOiBwYygtLXBDZWxsLXBhZGRpbmctYmxvY2stcGMpO1xuICAgIH1cbiAgfVxufSIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuQGltcG9ydCBcIm1peGluc1wiO1xuXG4uY29tcG9uZW50LnR5cGVfYnV0dG9uIHtcbiAgbWFyZ2luLXRvcDogdncoLS1jQnV0dG9uLW1hcmdpbi10b3Atc3ApO1xuICBAaW5jbHVkZSBtcSB7XG4gICAgbWFyZ2luLXRvcDogcGMoLS1jQnV0dG9uLW1hcmdpbi10b3AtcGMpO1xuICB9XG4gIC5pbm5lciB7XG4gICAgQGluY2x1ZGUgY29udGFpbmVyO1xuICAgIHVsIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIGdhcDogdncoLS1jQnV0dG9uLWdhcC1jb2wtc3ApIHZ3KC0tY0J1dHRvbi1nYXAtcm93LXNwKTtcbiAgICAgIEBpbmNsdWRlIG1xIHtcbiAgICAgICAgZ2FwOiBwYygtLWNCdXR0b24tZ2FwLWNvbC1wYykgcGMoLS1jQnV0dG9uLWdhcC1yb3ctcGMpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG5AaW1wb3J0IFwibWl4aW5zXCI7XG5cbi5jb21wb25lbnQudHlwZV9hbmNob3Ige1xuICBAaW5jbHVkZSBzZWN0aW9uO1xuICAuaW5uZXIge1xuICAgIEBpbmNsdWRlIGNvbnRhaW5lcjtcbiAgICB1bCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgZ2FwOiB2dyg4cHgpO1xuICAgICAgQGluY2x1ZGUgbXEge1xuICAgICAgICBnYXA6IHBjKDEycHgpO1xuICAgICAgfVxuICAgICAgbGkge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGEge1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbkBpbXBvcnQgXCJtaXhpbnNcIjtcblxuLmNvbXBvbmVudC50eXBlX251bSB7XG4gIEBpbmNsdWRlIHNlY3Rpb247XG4gIGJhY2tncm91bmQtY29sb3I6ICNFMkYzRjg7XG4gIHBhZGRpbmctdG9wOiAzMHB4O1xuICBwYWRkaW5nLWJvdHRvbTogMzBweDtcbiAgQGluY2x1ZGUgbXEge1xuICAgIHBhZGRpbmctdG9wOiA0MHB4O1xuICAgIHBhZGRpbmctYm90dG9tOiA1MHB4O1xuICB9XG4gICYuc2V0MiB7XG4gICAgLmlubmVyIHtcbiAgICAgIEBpbmNsdWRlIG1xIHtcbiAgICAgICAgZ2FwOiA4MHB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAmLnNldDMge1xuICAgIC5pbm5lciB7XG4gICAgICBAaW5jbHVkZSBtcSB7XG4gICAgICAgIGdhcDogMzVweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgJi5zZXQzLCAmLnNldDQge1xuICAgIC5pbm5lciB7XG4gICAgICBAaW5jbHVkZSBtcSB7XG4gICAgICAgIGdhcDogMjBweDtcbiAgICAgIH1cbiAgICAgIC51bml0IHtcbiAgICAgICAgLmNpcmNsZSB7XG4gICAgICAgICAgQGluY2x1ZGUgbXEge1xuICAgICAgICAgICAgd2lkdGg6IDIzMHB4O1xuICAgICAgICAgICAgaGVpZ2h0OiAyMzBweDtcbiAgICAgICAgICB9XG4gICAgICAgICAgZGwge1xuICAgICAgICAgICAgZHQge1xuICAgICAgICAgICAgICBAaW5jbHVkZSBtcSB7XG4gICAgICAgICAgICAgICAgdG9wOiA0MHB4O1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgMzVweDtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZGQge1xuICAgICAgICAgICAgICBAaW5jbHVkZSBtcSB7XG4gICAgICAgICAgICAgICAgdG9wOiA4MHB4O1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIGVtIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtcSB7XG5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbXEge1xuICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwIDAgOHB4IDZweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLmlubmVyIHtcbiAgICBAaW5jbHVkZSBjb250YWluZXI7XG4gICAgQGluY2x1ZGUgbXEge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgZ2FwOiAyMHB4O1xuICAgIH1cbiAgICAudW5pdCB7XG4gICAgICBtYXJnaW4tdG9wOiA1MHB4O1xuICAgICAgQGluY2x1ZGUgbXEge1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgfVxuICAgICAgJjpmaXJzdC1vZi10eXBlIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIH1cbiAgICAgIC5jaXJjbGUge1xuICAgICAgICB3aWR0aDogMzAwcHg7XG4gICAgICAgIGhlaWdodDogMzAwcHg7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3Itc3VyZmFjZSk7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgQGluY2x1ZGUgbXEge1xuICAgICAgICAgIHdpZHRoOiAzMjBweDtcbiAgICAgICAgICBoZWlnaHQ6IDMyMHB4O1xuICAgICAgICB9XG4gICAgICAgIGRsIHtcbiAgICAgICAgICBkdCB7XG4gICAgICAgICAgICBmb250LXNpemU6IHZ3KDE4cHgpO1xuICAgICAgICAgICAgXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDcwcHg7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDMwcHg7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICB9XG4gICAgICAgICAgZGQge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAxMTBweDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWJyYW5kKTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAwO1xuICAgICAgICAgICAgQGluY2x1ZGUgbXEge1xuICAgICAgICAgICAgICB0b3A6IDEyMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZW0ge1xuICAgICAgICAgICAgICBmb250LXNpemU6IHZ3KDcwcHgpO1xuICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgQGluY2x1ZGUgbXEge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcGMoODBweCk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICBmb250LXNpemU6IHZ3KDI0cHgpO1xuICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgIG1hcmdpbi10b3A6IDI1cHg7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIG1xIHtcblxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICAuZGVzYyB7XG4gICAgICAgIGZvbnQtc2l6ZTogdncoMTNweCk7XG4gICAgICAgIFxuICAgICAgICBtYXJnaW4tdG9wOiAxNXB4O1xuICAgICAgICBAaW5jbHVkZSBtcSB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICAgICAgICBmb250LXNpemU6IHBjKDE1cHgpO1xuICAgICAgICAgIFxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbkBpbXBvcnQgXCJtaXhpbnNcIjtcblxuLmNvbXBvbmVudC50eXBlX3d5c2l3eWcge1xuICBtYXJnaW4tdG9wOiB2dygtLW1hcmdpbi10b3AtMik7XG4gIEBpbmNsdWRlIG1xIHtcbiAgICBtYXJnaW4tdG9wOiBwYygtLW1hcmdpbi10b3AtMyk7XG4gIH1cbiAgLmlubmVyIHtcbiAgICBAaW5jbHVkZSBjb250YWluZXI7XG4gIH1cbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuQGltcG9ydCBcIm1peGluc1wiO1xuXG4uY29tcG9uZW50LnR5cGVfY2F0YWxvZyB7XG4gIG1hcmdpbi10b3A6IHZ3KC0tY0NhdGFsb2ctbWFyZ2luLXRvcC1zcCk7XG4gIEBpbmNsdWRlIG1xIHtcbiAgICBtYXJnaW4tdG9wOiBwYygtLWNDYXRhbG9nLW1hcmdpbi10b3AtcGMpO1xuICB9XG4gIC5pbm5lciB7XG4gICAgQGluY2x1ZGUgY29udGFpbmVyO1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMSwgMWZyKTtcbiAgICBnYXA6IHZ3KC0tY0NhdGFsb2ctZ2FwLXJvdy1zcCkgMDtcbiAgICBAaW5jbHVkZSBtcSB7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLCAxZnIpO1xuICAgICAgZ2FwOiBwYygtLWNDYXRhbG9nLWdhcC1yb3ctcGMpIHBjKC0tY0NhdGFsb2ctZ2FwLWNvbC1wYyk7XG4gICAgfVxuICB9XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbkBpbXBvcnQgXCJtaXhpbnNcIjtcblxuLmNvbXBvbmVudC50eXBlX2ZpbGVsaXN0IHtcbiAgbWFyZ2luLXRvcDogdncoLS1jRmlsZWxpc3QtbWFyZ2luLXRvcC1zcCk7XG4gIEBpbmNsdWRlIG1xIHtcbiAgICBtYXJnaW4tdG9wOiBwYygtLWNGaWxlbGlzdC1tYXJnaW4tdG9wLXBjKTtcbiAgfVxuICAuaW5uZXIge1xuICAgIEBpbmNsdWRlIGNvbnRhaW5lcjtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7XG4gICAgZ2FwOiB2dygtLWNGaWxlbGlzdC1nYXAtcm93LXNwKSB2dygtLWNGaWxlbGlzdC1nYXAtY29sLXNwKTtcbiAgICBAaW5jbHVkZSBtcSB7XG4gICAgICBnYXA6IHBjKC0tY0ZpbGVsaXN0LWdhcC1yb3ctcGMpIHBjKC0tY0ZpbGVsaXN0LWdhcC1jb2wtcGMpO1xuICAgIH1cbiAgfVxufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG5AaW1wb3J0IFwibWl4aW5zXCI7XG5cbi5jb21wb25lbnQudHlwZV9mYXEge1xuICBtYXJnaW4tdG9wOiB2dygtLWNGYXEtbWFyZ2luLXRvcC1zcCk7XG4gIEBpbmNsdWRlIG1xIHtcbiAgICBtYXJnaW4tdG9wOiBwYygtLWNGYXEtbWFyZ2luLXRvcC1wYyk7XG4gIH1cbiAgLmlubmVyIHtcbiAgICBAaW5jbHVkZSBjb250YWluZXI7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLWF1dG8tZmxvdzogcm93O1xuICAgIGdhcDogdncoLS1jRmFxLWdhcC1zcCk7XG4gICAgQGluY2x1ZGUgbXEge1xuICAgICAgZ2FwOiBwYygtLWNGYXEtZ2FwLXBjKTtcbiAgICB9XG4gIH1cbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuQGltcG9ydCBcIm1peGluc1wiO1xuXG4uY29tcG9uZW50LnR5cGVfbWVtYmVyIHtcbiAgbWFyZ2luLXRvcDogdncoLS1jTWVtYmVyLW1hcmdpbi10b3Atc3ApO1xuICBAaW5jbHVkZSBtcSB7XG4gICAgbWFyZ2luLXRvcDogcGMoLS1jTWVtYmVyLW1hcmdpbi10b3AtcGMpO1xuICB9XG4gIC5pbm5lciB7XG4gICAgQGluY2x1ZGUgY29udGFpbmVyO1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMSwgMWZyKTtcbiAgICBncmlkLXRlbXBsYXRlLXJvd3M6IHJlcGVhdCgxLCBhdXRvKTtcbiAgICBnYXA6IHZ3KC0tY01lbWJlci1nYXAtcm93LXNwKSAwO1xuICAgIEBpbmNsdWRlIG1xIHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDMsIDFmcik7XG4gICAgICBnYXA6IHBjKC0tY01lbWJlci1nYXAtcm93LXBjKSBwYygtLWNNZW1iZXItZ2FwLWNvbC1wYyk7XG4gICAgfVxuICB9XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbkBpbXBvcnQgXCJtaXhpbnNcIjtcblxuLmNvbXBvbmVudC50eXBlX2lmcmFtZXtcbiAgbWFyZ2luLXRvcDogdncoLS1tYXJnaW4tdG9wLTIpO1xuICBAaW5jbHVkZSBtcSB7XG4gICAgbWFyZ2luLXRvcDogcGMoLS1tYXJnaW4tdG9wLTMpO1xuICB9XG4gIC5pbm5lciB7XG4gICAgQGluY2x1ZGUgY29udGFpbmVyO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBpZnJhbWUge1xuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICB9XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbkBpbXBvcnQgXCJtaXhpbnNcIjtcblxuLm5hdmlnYXRpb24uYnJlYWRjcnVtYnMge1xuICBtYXJnaW4tdG9wOiB2dygtLW5CcmVhZGNydW1icy1tYXJnaW4tdG9wLXNwKTtcbiAgcGFkZGluZy1ib3R0b206IHZ3KC0tbkJyZWFkY3J1bWJzLXBhZGRpbmctYm90dG9tLXNwKTtcbiAgQGluY2x1ZGUgbXEoKSB7XG4gICAgbWFyZ2luLXRvcDogcGMoLS1uQnJlYWRjcnVtYnMtbWFyZ2luLXRvcC1wYyk7XG4gICAgcGFkZGluZy1ib3R0b206IHBjKC0tbkJyZWFkY3J1bWJzLXBhZGRpbmctYm90dG9tLXBjKTtcbiAgfVxuICAuaW5uZXIge1xuICAgIEBpbmNsdWRlIGNvbnRhaW5lcih3aWRlKTtcbiAgICB1bCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgZ2FwOiB2dygtLW5CcmVhZGNydW1icy1nYXAtc3ApO1xuICAgICAgQGluY2x1ZGUgbXEoKSB7XG4gICAgICAgIGdhcDogcGMoLS1uQnJlYWRjcnVtYnMtZ2FwLXBjKTtcbiAgICAgIH1cbiAgICAgIC5wQnJlYWRjcnVtYnNUZXh0IHtcbiAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiB1bnNldDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuQGltcG9ydCBcIm1peGluc1wiO1xuXG4ubmF2aWdhdGlvbi5wYWdpbmF0aW9uIHtcbiAgbWFyZ2luLXRvcDogdncoLS1uUGFnaW5hdGlvbi1tYXJnaW4tdG9wLXNwKTtcbiAgQGluY2x1ZGUgbXEoKSB7XG4gICAgbWFyZ2luLXRvcDogcGMoLS1uUGFnaW5hdGlvbi1tYXJnaW4tdG9wLXBjKTtcbiAgfVxuICAuaW5uZXIge1xuICAgIEBpbmNsdWRlIGNvbnRhaW5lcjtcbiAgICB1bCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgZ2FwOiB2dygtLW5QYWdpbmF0aW9uLWdhcC1zcCk7XG4gICAgICBAaW5jbHVkZSBtcSgpIHtcbiAgICAgICAgZ2FwOiBwYygtLW5QYWdpbmF0aW9uLWdhcC1wYyk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbkBpbXBvcnQgXCJtaXhpbnNcIjtcblxuLm5hdmlnYXRpb24ucGFnaW5hdGlvbmRldGFpbCB7XG4gIG1hcmdpbi10b3A6IHZ3KC0tblBhZ2luYXRpb25EZXRhaWwtbWFyZ2luLXRvcC1zcCk7XG4gIEBpbmNsdWRlIG1xKCkge1xuICAgIG1hcmdpbi10b3A6IHBjKC0tblBhZ2luYXRpb25EZXRhaWwtbWFyZ2luLXRvcC1wYyk7XG4gIH1cbiAgLmlubmVyIHtcbiAgICBAaW5jbHVkZSBjb250YWluZXI7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAganVzdGlmeS1pdGVtczogY2VudGVyO1xuICAgIGdhcDogdncoLS1uUGFnaW5hdGlvbkRldGFpbC1nYXAtc3ApO1xuICAgIGdyaWQtdGVtcGxhdGU6XG4gICAgICBcInByZXYgbmV4dFwiIGF1dG9cbiAgICAgIFwiYmFjayBiYWNrXCIgYXV0b1xuICAgICAgLyAxZnIgMWZyO1xuICAgIEBpbmNsdWRlIG1xIHtcbiAgICAgIGdyaWQtdGVtcGxhdGU6XG4gICAgICAgIFwicHJldiBiYWNrIG5leHRcIiBhdXRvXG4gICAgICAgIC8gMWZyIGF1dG8gMWZyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIGdhcDogcGMoLS1uUGFnaW5hdGlvbkRldGFpbC1nYXAtcGMpO1xuICAgIH1cbiAgICAucHJldiB7XG4gICAgICBncmlkLWFyZWE6IHByZXY7XG4gICAgICBAaW5jbHVkZSBtcSB7XG4gICAgICAgIGp1c3RpZnktc2VsZjogZW5kO1xuICAgICAgfVxuICAgIH1cbiAgICAuYmFjayB7XG4gICAgICBncmlkLWFyZWE6IGJhY2s7XG4gICAgfVxuICAgIC5uZXh0IHtcbiAgICAgIGdyaWQtYXJlYTogbmV4dDtcbiAgICAgIEBpbmNsdWRlIG1xIHtcbiAgICAgICAganVzdGlmeS1zZWxmOiBzdGFydDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuQGltcG9ydCBcIm1peGluc1wiO1xuXG4ubmF2aWdhdGlvbi5sb2NhbG5hdnRvcCB7XG4gIGJvcmRlci10b3Atd2lkdGg6IHZ3KC0tbkxvY2FsbmF2VG9wLWJvcmRlci10b3Atd2lkdGgpO1xuICBib3JkZXItYm90dG9tLXdpZHRoOiB2dygtLW5Mb2NhbG5hdlRvcC1ib3JkZXItYm90dG9tLXdpZHRoKTtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1uTG9jYWxuYXZUb3AtYm9yZGVyLWNvbG9yKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbkxvY2FsbmF2VG9wLWJhY2tncm91bmQtY29sb3IpO1xuICBAaW5jbHVkZSBtcSgpIHtcbiAgICBib3JkZXItdG9wLXdpZHRoOiBwYygtLW5Mb2NhbG5hdlRvcC1ib3JkZXItdG9wLXdpZHRoKTtcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiBwYygtLW5Mb2NhbG5hdlRvcC1ib3JkZXItYm90dG9tLXdpZHRoKTtcbiAgfVxuICAuaW5uZXIge1xuICAgIC5vdmVyZmxvdyB7XG4gICAgICBvdmVyZmxvdzogYXV0bztcbiAgICAgIEBpbmNsdWRlIG1xKCkge1xuICAgICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICAgIH1cbiAgICAgIHVsIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgICBnYXA6IHZ3KC0tbkxvY2FsbmF2VG9wLWdhcC1zcCk7XG4gICAgICAgIEBpbmNsdWRlIG1xKCkge1xuICAgICAgICAgIGdhcDogcGMoLS1uTG9jYWxuYXZUb3AtZ2FwLXBjKTtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIH1cbiAgICAgICAgbGkge1xuICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBhdXRvIGF1dG87XG4gICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICBnYXA6IHZ3KC0tbkxvY2FsbmF2VG9wLWdhcC1zcCk7XG4gICAgICAgICAgQGluY2x1ZGUgbXEoKSB7XG4gICAgICAgICAgICBnYXA6IHBjKC0tbkxvY2FsbmF2VG9wLWdhcC1wYyk7XG4gICAgICAgICAgfVxuICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBAZXh0ZW5kIC5wTG9jYWxuYXZUb3BTZXBhcmF0b3I7XG4gICAgICAgICAgfVxuICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgIGNvbnRlbnQ6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbkBpbXBvcnQgXCJtaXhpbnNcIjtcblxuLm5hdmlnYXRpb24ubG9jYWxuYXZfc3ViIHtcbiAgbWFyZ2luLXRvcDogdncoLS1uTG9jYWxuYXZTdWItbWFyZ2luLXRvcC1zcCk7XG4gIEBpbmNsdWRlIG1xKCkge1xuICAgIG1hcmdpbi10b3A6IHBjKC0tbkxvY2FsbmF2U3ViLW1hcmdpbi10b3AtcGMpO1xuICB9XG4gIC5pbm5lciB7XG4gICAgQGluY2x1ZGUgY29udGFpbmVyO1xuICAgIHVsIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICBnYXA6IHZ3KC0tbkxvY2FsbmF2U3ViLWdhcC1yb3ctc3ApIHZ3KC0tbkxvY2FsbmF2U3ViLWdhcC1jb2wtc3ApO1xuICAgICAgQGluY2x1ZGUgbXEoKSB7XG4gICAgICAgIGdhcDogcGMoLS1uTG9jYWxuYXZTdWItZ2FwLXJvdy1wYykgcGMoLS1uTG9jYWxuYXZTdWItZ2FwLWNvbC1wYyk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbkBpbXBvcnQgXCJtaXhpbnNcIjtcblxuLm5hdmlnYXRpb24ubG9jYWxuYXZfYm90dG9tIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgbWFyZ2luLXRvcDogdncoLS1uTG9jYWxuYXZCb3R0b20tbWFyZ2luLXRvcC1zcCk7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5Mb2NhbG5hdkJvdHRvbS1iYWNrZ3JvdW5kLWNvbG9yKTtcbiAgQGluY2x1ZGUgbXEoKSB7XG4gICAgbWFyZ2luLXRvcDogcGMoLS1uTG9jYWxuYXZCb3R0b20tbWFyZ2luLXRvcC1wYyk7XG4gIH1cbiAgLmlubmVyIHtcbiAgICBAaW5jbHVkZSBjb250YWluZXI7XG4gICAgcGFkZGluZy1ibG9jazogdncoLS1uTG9jYWxuYXZCb3R0b20tcGFkZGluZy1ibG9jay1zcCk7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLWF1dG8tZmxvdzogcm93O1xuICAgIGdhcDogdncoLS1uTG9jYWxuYXZCb3R0b20tZ2FwLXNwKTtcbiAgICBAaW5jbHVkZSBtcSgpIHtcbiAgICAgIHBhZGRpbmctYmxvY2s6IHBjKC0tbkxvY2FsbmF2Qm90dG9tLXBhZGRpbmctYmxvY2stcGMpO1xuICAgICAgZ2FwOiBwYygtLW5Mb2NhbG5hdkJvdHRvbS1nYXAtcGMpO1xuICAgIH1cbiAgfVxufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG5AaW1wb3J0IFwibWl4aW5zXCI7XG5cbi5uYXZpZ2F0aW9uLmFyY2hpdmVuYXYge1xuICBtYXJnaW4tdG9wOiB2dygtLW5BcmNoaXZlbmF2LW1hcmdpbi10b3Atc3ApO1xuICBAaW5jbHVkZSBtcSgpIHtcbiAgICBtYXJnaW4tdG9wOiBwYygtLW5BcmNoaXZlbmF2LW1hcmdpbi10b3AtcGMpO1xuICB9XG4gIC5pbm5lciB7XG4gICAgQGluY2x1ZGUgY29udGFpbmVyO1xuICAgIC5vdmVyZmxvdyB7XG4gICAgICBvdmVyZmxvdzogYXV0bztcbiAgICAgIEBpbmNsdWRlIG1xIHtcbiAgICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgICB9XG4gICAgICB1bCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgICAgZ2FwOiB2dygtLW5BcmNoaXZlbmF2LWdhcC1yb3ctc3ApIHZ3KC0tbkFyY2hpdmVuYXYtZ2FwLWNvbC1zcCk7XG4gICAgICAgIEBpbmNsdWRlIG1xIHtcbiAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgICAgZ2FwOiBwYygtLW5BcmNoaXZlbmF2LWdhcC1yb3ctcGMpIHBjKC0tbkFyY2hpdmVuYXYtZ2FwLWNvbC1wYyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuQGltcG9ydCBcIm1peGluc1wiO1xuXG4ubmF2aWdhdGlvbi5uZXdzbGlzdCB7XG4gIG1hcmdpbi10b3A6IHZ3KC0tY05ld3NMaXN0LW1hcmdpbi10b3Atc3ApO1xuICBAaW5jbHVkZSBtcSgpIHtcbiAgICBtYXJnaW4tdG9wOiBwYygtLWNOZXdzTGlzdC1tYXJnaW4tdG9wLXBjKTtcbiAgfVxuICAuaW5uZXIge1xuICAgIEBpbmNsdWRlIGNvbnRhaW5lcjtcbiAgfVxufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG5AaW1wb3J0IFwibWl4aW5zXCI7XG5cbi5uYXZpZ2F0aW9uLmFydGljbGVsaXN0IHtcbiAgbWFyZ2luLXRvcDogdncoLS1uQXJ0aWNsZUxpc3QtbWFyZ2luLXRvcC1zcCk7XG4gIEBpbmNsdWRlIG1xKCkge1xuICAgIG1hcmdpbi10b3A6IHBjKC0tbkFydGljbGVMaXN0LW1hcmdpbi10b3AtcGMpO1xuICB9XG4gIC5pbm5lciB7XG4gICAgQGluY2x1ZGUgY29udGFpbmVyO1xuICAgIC5saXN0IHtcbiAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgxLCAxMDAlKTtcbiAgICAgIGdhcDogdncoLS1uQXJ0aWNsZUxpc3QtZ2FwLXJvdy1zcCkgMDtcbiAgICAgIEBpbmNsdWRlIG1xIHtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTtcbiAgICAgICAgZ2FwOiBwYygtLW5BcnRpY2xlTGlzdC1nYXAtcm93LXBjKSBwYygtLW5BcnRpY2xlTGlzdC1nYXAtY29sLXBjKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcbkBpbXBvcnQgXCJtaXhpbnNcIjtcblxuLmFydGljbGUtd3JhcHBlciB7XG4gIEBpbmNsdWRlIG1xIHtcbiAgICBtYXJnaW4tdG9wOiBwYygtLWZBcnRpY2xlLW1hcmdpbi10b3ApO1xuICAgIEBpbmNsdWRlIGNvbnRhaW5lcih3aWRlKTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlOlxuICAgICBcImNvbnRlbnRzIG5hdlwiIGF1dG9cbiAgICAgLyAxZnIgcGMoLS1mQXJ0aWNsZS1uYXYtd2lkdGgpO1xuICAgICBhbGlnbi1pdGVtczogc3RhcnQ7XG4gICAgIGdhcDogcGMoLS1mQXJ0aWNsZS1nYXApO1xuICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgIHotaW5kZXg6IDE7XG4gIH1cbiAgLmFydGljbGUtbmF2IHtcbiAgICBtYXJnaW4tdG9wOiB2dygtLWNBcnRpY2xlTmF2LW1hcmdpbi10b3Atc3ApO1xuICAgIHBhZGRpbmctaW5saW5lOiB2dygtLWNvbnRhaW5lci1wYWRkaW5nLXNwKTtcbiAgICBAaW5jbHVkZSBtcSgpIHtcbiAgICAgIHBvc2l0aW9uOiBzdGlja3k7XG4gICAgICB0b3A6IHBjKC0tZkFydGljbGUtbWFyZ2luLXRvcCk7XG4gICAgICBncmlkLWFyZWE6IG5hdjtcbiAgICAgIG1hcmdpbi10b3A6IHVuc2V0O1xuICAgICAgcGFkZGluZy1pbmxpbmU6IHVuc2V0O1xuICAgIH1cbiAgICB1bCB7XG4gICAgICBib3JkZXItdG9wLXdpZHRoOiB2dygtLWNBcnRpY2xlTmF2LWJvcmRlci10b3Atd2lkdGgpO1xuICAgICAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XG4gICAgICBib3JkZXItdG9wLWNvbG9yOiB2YXIoLS1jQXJ0aWNsZU5hdi1ib3JkZXItdG9wLWNvbG9yKTtcbiAgICAgIEBpbmNsdWRlIG1xKCkge1xuICAgICAgICBib3JkZXItdG9wLXdpZHRoOiBwYygtLWNBcnRpY2xlTmF2LWJvcmRlci10b3Atd2lkdGgpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAuYXJ0aWNsZS1jb250ZW50cyB7XG4gICAgQGluY2x1ZGUgbXEge1xuICAgICAgZ3JpZC1hcmVhOiBjb250ZW50cztcbiAgICAgIHBhZGRpbmctdG9wOiB1bnNldDtcbiAgICAgID4gKjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi10b3A6IHVuc2V0ICFpbXBvcnRhbnQ7XG4gICAgICAgIHBhZGRpbmctdG9wOiB1bnNldCAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgICAgPiBhOmZpcnN0LWNoaWxkICsgKiB7XG4gICAgICAgIG1hcmdpbi10b3A6IHVuc2V0ICFpbXBvcnRhbnQ7XG4gICAgICAgIHBhZGRpbmctdG9wOiB1bnNldCAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgICAgLmNvbnRhaW5lcixcbiAgICAgIC5pbm5lcixcbiAgICAgIC5jb21wb25lbnQudHlwZV90YWJsZSxcbiAgICAgIC5jb21wb25lbnQudHlwZV9jYXRjaGNvcHlfaW1hZ2VfYmcsXG4gICAgICAuY29tcG9uZW50LnR5cGVfY29udmVyc2lvbixcbiAgICAgIC5tX3RhZ2xpc3Qge1xuICAgICAgICB3aWR0aDogdW5zZXQgIWltcG9ydGFudDtcbiAgICAgICAgbWFyZ2luLWlubGluZTogdW5zZXQ7XG4gICAgICB9XG4gICAgfVxuICAgIFxuICB9XG59IiwiLyoqXG4gKiBTd2lwZXIgMTEuMS4xNVxuICogTW9zdCBtb2Rlcm4gbW9iaWxlIHRvdWNoIHNsaWRlciBhbmQgZnJhbWV3b3JrIHdpdGggaGFyZHdhcmUgYWNjZWxlcmF0ZWQgdHJhbnNpdGlvbnNcbiAqIGh0dHBzOi8vc3dpcGVyanMuY29tXG4gKlxuICogQ29weXJpZ2h0IDIwMTQtMjAyNCBWbGFkaW1pciBLaGFybGFtcGlkaVxuICpcbiAqIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgTGljZW5zZVxuICpcbiAqIFJlbGVhc2VkIG9uOiBOb3ZlbWJlciAxOCwgMjAyNFxuICovXG5cbiBAZm9udC1mYWNle2ZvbnQtZmFtaWx5OnN3aXBlci1pY29ucztzcmM6dXJsKCdkYXRhOmFwcGxpY2F0aW9uL2ZvbnQtd29mZjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCwgZDA5R1JnQUJBQUFBQUFaZ0FCQUFBQUFBREFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUJHUmxSTkFBQUdSQUFBQUJvQUFBQWNpNnFIa1VkRVJVWUFBQVdnQUFBQUl3QUFBQ1FBWUFCWFIxQlBVd0FBQmhRQUFBQXVBQUFBTnVBWTcreEhVMVZDQUFBRnhBQUFBRkFBQUFCbTJmUGN6VTlUTHpJQUFBSGNBQUFBU2dBQUFHQlA5VjVSWTIxaGNBQUFBa1FBQUFDSUFBQUJZdDZGMGNCamRuUWdBQUFDekFBQUFBUUFBQUFFQUJFQlJHZGhjM0FBQUFXWUFBQUFDQUFBQUFqLy93QURaMng1WmdBQUF5d0FBQURNQUFBRDJNSHRyeVZvWldGa0FBQUJiQUFBQURBQUFBQTJFMitlb1dob1pXRUFBQUdjQUFBQUh3QUFBQ1FDOWdEemFHMTBlQUFBQWlnQUFBQVpBQUFBcmdKa0FCRnNiMk5oQUFBQzBBQUFBRm9BQUFCYUZRQVVHRzFoZUhBQUFBRzhBQUFBSHdBQUFDQUFjQUJBYm1GdFpRQUFBL2dBQUFFNUFBQUNYdkZkQndsd2IzTjBBQUFGTkFBQUFHSUFBQUNFNXM3NGhYamFZMkJrWUdBQVlwZjVIdS9qK1cyK01uQXpNWURBemFYNlFqRDYvNC8vQnhqNUdBOEF1UndNWUdrQVB5d0wxM2phWTJCa1lHQTg4UDhBZ3g0aisvOGZRRFlmQTFBRUJXZ0RBSUIyQk9vQWVOcGpZR1JnWU5CaDRHZGdZZ0FCRU1uSUFCSnpZTkFEQ1FBQUNXZ0FzUUI0Mm1OZ1lmekNPSUdCbFlHQjBZY3hqWUdCd1IxS2YyV1FaR2hoWUdCaVlHVm1nQUZHQmlRUWtPYWF3dERBb01CUXhYamcvd0VHUGNZRERBNHdOVUEyQ0Nnd3NBQUFPNEVMNmdBQWVOcGoyTTBneUFBQ3F4Z0dOV0JrWjJENC93TUEreGtEZGdBQUFIamFZMkJnWUdhQVlCa0dSZ1lRaUFIeUdNRjhGZ1lISU0zRHdNSEFCR1FyTU9neVdETEVNMVQ5L3c4VUJmRU1nTHpFLy8vL1AvNS8vZi9WL3h2K3I0ZWFBQWVNYkF4d0lVWW1JTUhFZ0tZQVlqVWNzREF3c0xLeGMzQnljZlB3OGpFUUEvZ1pCQVNGaEVWRXhjUWxKS1drWldUbDVCVVVsWlJWVk5YVU5UUVpCZ01BQU1SK0UrZ0FFUUZFQUFBQUtnQXFBQ29BTkFBK0FFZ0FVZ0JjQUdZQWNBQjZBSVFBamdDWUFLSUFyQUMyQU1BQXlnRFVBTjRBNkFEeUFQd0JCZ0VRQVJvQkpBRXVBVGdCUWdGTUFWWUJZQUZxQVhRQmZnR0lBWklCbkFHbUFiSUJ6Z0hzQUFCNDJ1Mk5NUTZDVUF5R1c1Njh4OUFuZVlZZ200TUpiaEtGYUV4SU9BVlg4QXBld1N0NEJpYzRBZmVBaWQzVk9CaXhEeGZQWUV6YTVPK1hmaTA0WUFEZ2dpVUlVTEN1RUpLOFZoTzRiU3ZwZG5rdEhJNVFDWXRkaTJzbDhablhhSGxxVXJOS3pkS2NUOGNqbHErcndaU3ZJVmN6TmllenNmblAvdXpubWZQRkJOT0RNMks3TVRRNDVZRUFacUdQODFBbUdHY0YzaVBxT29wMHIxU1BUYVRiVmtmVWU0SFhqOTd3WUUreU53V1l4d1d1NHYxdWdXSGdvM1MxWGRaRVZxV003RVQwY2ZuTEd4V2ZrZ1I0Mm8yUHZXckRNQlNGai9JSExhRjB6S2pSZ2RpVk13U2NOUkFvV1VvSDc4WTJpY0IveUlZMDlBbjZBSDJCZHUvVUIreXhvcFlzaFFpRXZudnUwZFVSZ0R0OFFlQzhQRHc3RnBqaTNmRUE0ei9QRUo2WU9CNWhLaDRkajNFdlhoeFBxSC9TS1VZM3JKN3NyWjRGWm5oMVBNQXRQaHdQNmZsMlBNSk1QRGdlUTRyWThZVDZHemFvMGVBRUE0MDlEdWdnbVRuRm5PY1NDaUVpTE1neENpVEk2Q3E1RFpVZDNRbXAxMHZPMExhTFRkMmNqTjRmT3VtbGM3bFVZYlNRY1pGa3V0Ukc3ZzZKS1pLeTBSbWRMWTY4MENEbkVKK1VNa3BGRmUxUk43bnhkVnBYckM0YVR0bmF1ck9uWWVyY1pnMllWbUxOL2QvZ2N6ZkVpbXJFL2ZzL2JPdXEyOVptbjh0bG9PUmFYZ1pnR2E3OHlPOS9jblhtMkJwYUd2cTI1RHY5UzRFOSs1U0ljOVBxdXBKS2hZRlNTbDQ3K1FjcjFtWU5BQUFBZU5wdHcwY0t3a0FBQU1EWkpBOFE3T1VKdmtMc1BmWjZ6RlZFUlB5OHFIaDJZRVIrM2kvQlA4M3ZJQkxMeVNzb0tpbXJxS3FwYTJocDYranE2UnNZR2htYm1KcVpTeTBzcmF4dGJPM3NIUnlkbkVNVTR1UjZ5eDdKSlh2ZVA3V3JEeWNBQUFBQUFBSC8vd0FDZU5wallHUmdZT0FCWWhrZ1pnSkNaZ1pOQmtZR0xRWnRJSnNGTE1ZQUFBdzNBTGdBZU5vbGl6RUtnREFRQkNjaFJiQzJzRkVSMFlENnFWUWlCQ3YvSDllekdJNlo1WEJBdzhDQksvbTVpUVFWYXVWYlhMbk9yTVp2Mm9MZEtGYThQanVydTJoSnpHYWJtT1NMek5NenZ1dHBCM040Mm1OZ1pHQmc0R0tRWXpCaFlNeEpMTWxqNEdCZ0FZb3cvUC9QQUpKaExNNnNTb1dLZldDQUF3REFqZ2JSQUFCNDJtTmdZR0JrQUlJYkNabzVJUHJtVW4waEdBMEFPOEVGVFFBQScpO2ZvbnQtd2VpZ2h0OjQwMDtmb250LXN0eWxlOm5vcm1hbH06cm9vdHstLXN3aXBlci10aGVtZS1jb2xvcjojMDA3YWZmfTpob3N0e3Bvc2l0aW9uOnJlbGF0aXZlO2Rpc3BsYXk6YmxvY2s7bWFyZ2luLWxlZnQ6YXV0bzttYXJnaW4tcmlnaHQ6YXV0bzt6LWluZGV4OjF9LnN3aXBlcnttYXJnaW4tbGVmdDphdXRvO21hcmdpbi1yaWdodDphdXRvO3Bvc2l0aW9uOnJlbGF0aXZlO292ZXJmbG93OmhpZGRlbjtsaXN0LXN0eWxlOm5vbmU7cGFkZGluZzowO3otaW5kZXg6MTtkaXNwbGF5OmJsb2NrfS5zd2lwZXItdmVydGljYWw+LnN3aXBlci13cmFwcGVye2ZsZXgtZGlyZWN0aW9uOmNvbHVtbn0uc3dpcGVyLXdyYXBwZXJ7cG9zaXRpb246cmVsYXRpdmU7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTt6LWluZGV4OjE7ZGlzcGxheTpmbGV4O3RyYW5zaXRpb24tcHJvcGVydHk6dHJhbnNmb3JtO3RyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOnZhcigtLXN3aXBlci13cmFwcGVyLXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uLGluaXRpYWwpO2JveC1zaXppbmc6Y29udGVudC1ib3h9LnN3aXBlci1hbmRyb2lkIC5zd2lwZXItc2xpZGUsLnN3aXBlci1pb3MgLnN3aXBlci1zbGlkZSwuc3dpcGVyLXdyYXBwZXJ7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDBweCwwLDApfS5zd2lwZXItaG9yaXpvbnRhbHt0b3VjaC1hY3Rpb246cGFuLXl9LnN3aXBlci12ZXJ0aWNhbHt0b3VjaC1hY3Rpb246cGFuLXh9LnN3aXBlci1zbGlkZXtmbGV4LXNocmluazowO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7cG9zaXRpb246cmVsYXRpdmU7dHJhbnNpdGlvbi1wcm9wZXJ0eTp0cmFuc2Zvcm07ZGlzcGxheTpibG9ja30uc3dpcGVyLXNsaWRlLWludmlzaWJsZS1ibGFua3t2aXNpYmlsaXR5OmhpZGRlbn0uc3dpcGVyLWF1dG9oZWlnaHQsLnN3aXBlci1hdXRvaGVpZ2h0IC5zd2lwZXItc2xpZGV7aGVpZ2h0OmF1dG99LnN3aXBlci1hdXRvaGVpZ2h0IC5zd2lwZXItd3JhcHBlcnthbGlnbi1pdGVtczpmbGV4LXN0YXJ0O3RyYW5zaXRpb24tcHJvcGVydHk6dHJhbnNmb3JtLGhlaWdodH0uc3dpcGVyLWJhY2tmYWNlLWhpZGRlbiAuc3dpcGVyLXNsaWRle3RyYW5zZm9ybTp0cmFuc2xhdGVaKDApOy13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW47YmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW59LnN3aXBlci0zZC5zd2lwZXItY3NzLW1vZGUgLnN3aXBlci13cmFwcGVye3BlcnNwZWN0aXZlOjEyMDBweH0uc3dpcGVyLTNkIC5zd2lwZXItd3JhcHBlcnt0cmFuc2Zvcm0tc3R5bGU6cHJlc2VydmUtM2R9LnN3aXBlci0zZHtwZXJzcGVjdGl2ZToxMjAwcHh9LnN3aXBlci0zZCAuc3dpcGVyLWN1YmUtc2hhZG93LC5zd2lwZXItM2QgLnN3aXBlci1zbGlkZXt0cmFuc2Zvcm0tc3R5bGU6cHJlc2VydmUtM2R9LnN3aXBlci1jc3MtbW9kZT4uc3dpcGVyLXdyYXBwZXJ7b3ZlcmZsb3c6YXV0bztzY3JvbGxiYXItd2lkdGg6bm9uZTstbXMtb3ZlcmZsb3ctc3R5bGU6bm9uZX0uc3dpcGVyLWNzcy1tb2RlPi5zd2lwZXItd3JhcHBlcjo6LXdlYmtpdC1zY3JvbGxiYXJ7ZGlzcGxheTpub25lfS5zd2lwZXItY3NzLW1vZGU+LnN3aXBlci13cmFwcGVyPi5zd2lwZXItc2xpZGV7c2Nyb2xsLXNuYXAtYWxpZ246c3RhcnQgc3RhcnR9LnN3aXBlci1jc3MtbW9kZS5zd2lwZXItaG9yaXpvbnRhbD4uc3dpcGVyLXdyYXBwZXJ7c2Nyb2xsLXNuYXAtdHlwZTp4IG1hbmRhdG9yeX0uc3dpcGVyLWNzcy1tb2RlLnN3aXBlci12ZXJ0aWNhbD4uc3dpcGVyLXdyYXBwZXJ7c2Nyb2xsLXNuYXAtdHlwZTp5IG1hbmRhdG9yeX0uc3dpcGVyLWNzcy1tb2RlLnN3aXBlci1mcmVlLW1vZGU+LnN3aXBlci13cmFwcGVye3Njcm9sbC1zbmFwLXR5cGU6bm9uZX0uc3dpcGVyLWNzcy1tb2RlLnN3aXBlci1mcmVlLW1vZGU+LnN3aXBlci13cmFwcGVyPi5zd2lwZXItc2xpZGV7c2Nyb2xsLXNuYXAtYWxpZ246bm9uZX0uc3dpcGVyLWNzcy1tb2RlLnN3aXBlci1jZW50ZXJlZD4uc3dpcGVyLXdyYXBwZXI6OmJlZm9yZXtjb250ZW50OicnO2ZsZXgtc2hyaW5rOjA7b3JkZXI6OTk5OX0uc3dpcGVyLWNzcy1tb2RlLnN3aXBlci1jZW50ZXJlZD4uc3dpcGVyLXdyYXBwZXI+LnN3aXBlci1zbGlkZXtzY3JvbGwtc25hcC1hbGlnbjpjZW50ZXIgY2VudGVyO3Njcm9sbC1zbmFwLXN0b3A6YWx3YXlzfS5zd2lwZXItY3NzLW1vZGUuc3dpcGVyLWNlbnRlcmVkLnN3aXBlci1ob3Jpem9udGFsPi5zd2lwZXItd3JhcHBlcj4uc3dpcGVyLXNsaWRlOmZpcnN0LWNoaWxke21hcmdpbi1pbmxpbmUtc3RhcnQ6dmFyKC0tc3dpcGVyLWNlbnRlcmVkLW9mZnNldC1iZWZvcmUpfS5zd2lwZXItY3NzLW1vZGUuc3dpcGVyLWNlbnRlcmVkLnN3aXBlci1ob3Jpem9udGFsPi5zd2lwZXItd3JhcHBlcjo6YmVmb3Jle2hlaWdodDoxMDAlO21pbi1oZWlnaHQ6MXB4O3dpZHRoOnZhcigtLXN3aXBlci1jZW50ZXJlZC1vZmZzZXQtYWZ0ZXIpfS5zd2lwZXItY3NzLW1vZGUuc3dpcGVyLWNlbnRlcmVkLnN3aXBlci12ZXJ0aWNhbD4uc3dpcGVyLXdyYXBwZXI+LnN3aXBlci1zbGlkZTpmaXJzdC1jaGlsZHttYXJnaW4tYmxvY2stc3RhcnQ6dmFyKC0tc3dpcGVyLWNlbnRlcmVkLW9mZnNldC1iZWZvcmUpfS5zd2lwZXItY3NzLW1vZGUuc3dpcGVyLWNlbnRlcmVkLnN3aXBlci12ZXJ0aWNhbD4uc3dpcGVyLXdyYXBwZXI6OmJlZm9yZXt3aWR0aDoxMDAlO21pbi13aWR0aDoxcHg7aGVpZ2h0OnZhcigtLXN3aXBlci1jZW50ZXJlZC1vZmZzZXQtYWZ0ZXIpfS5zd2lwZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3csLnN3aXBlci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1ib3R0b20sLnN3aXBlci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1sZWZ0LC5zd2lwZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctcmlnaHQsLnN3aXBlci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy10b3B7cG9zaXRpb246YWJzb2x1dGU7bGVmdDowO3RvcDowO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7cG9pbnRlci1ldmVudHM6bm9uZTt6LWluZGV4OjEwfS5zd2lwZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3d7YmFja2dyb3VuZDpyZ2JhKDAsMCwwLC4xNSl9LnN3aXBlci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1sZWZ0e2JhY2tncm91bmQtaW1hZ2U6bGluZWFyLWdyYWRpZW50KHRvIGxlZnQscmdiYSgwLDAsMCwuNSkscmdiYSgwLDAsMCwwKSl9LnN3aXBlci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1yaWdodHtiYWNrZ3JvdW5kLWltYWdlOmxpbmVhci1ncmFkaWVudCh0byByaWdodCxyZ2JhKDAsMCwwLC41KSxyZ2JhKDAsMCwwLDApKX0uc3dpcGVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LXRvcHtiYWNrZ3JvdW5kLWltYWdlOmxpbmVhci1ncmFkaWVudCh0byB0b3AscmdiYSgwLDAsMCwuNSkscmdiYSgwLDAsMCwwKSl9LnN3aXBlci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1ib3R0b217YmFja2dyb3VuZC1pbWFnZTpsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLHJnYmEoMCwwLDAsLjUpLHJnYmEoMCwwLDAsMCkpfS5zd2lwZXItbGF6eS1wcmVsb2FkZXJ7d2lkdGg6NDJweDtoZWlnaHQ6NDJweDtwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjUwJTt0b3A6NTAlO21hcmdpbi1sZWZ0Oi0yMXB4O21hcmdpbi10b3A6LTIxcHg7ei1pbmRleDoxMDt0cmFuc2Zvcm0tb3JpZ2luOjUwJTtib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym9yZGVyOjRweCBzb2xpZCB2YXIoLS1zd2lwZXItcHJlbG9hZGVyLWNvbG9yLHZhcigtLXN3aXBlci10aGVtZS1jb2xvcikpO2JvcmRlci1yYWRpdXM6NTAlO2JvcmRlci10b3AtY29sb3I6dHJhbnNwYXJlbnR9LnN3aXBlci13YXRjaC1wcm9ncmVzcyAuc3dpcGVyLXNsaWRlLXZpc2libGUgLnN3aXBlci1sYXp5LXByZWxvYWRlciwuc3dpcGVyOm5vdCguc3dpcGVyLXdhdGNoLXByb2dyZXNzKSAuc3dpcGVyLWxhenktcHJlbG9hZGVye2FuaW1hdGlvbjpzd2lwZXItcHJlbG9hZGVyLXNwaW4gMXMgaW5maW5pdGUgbGluZWFyfS5zd2lwZXItbGF6eS1wcmVsb2FkZXItd2hpdGV7LS1zd2lwZXItcHJlbG9hZGVyLWNvbG9yOiNmZmZ9LnN3aXBlci1sYXp5LXByZWxvYWRlci1ibGFja3stLXN3aXBlci1wcmVsb2FkZXItY29sb3I6IzAwMH1Aa2V5ZnJhbWVzIHN3aXBlci1wcmVsb2FkZXItc3BpbnswJXt0cmFuc2Zvcm06cm90YXRlKDBkZWcpfTEwMCV7dHJhbnNmb3JtOnJvdGF0ZSgzNjBkZWcpfX0uc3dpcGVyLXZpcnR1YWwgLnN3aXBlci1zbGlkZXstd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVuO3RyYW5zZm9ybTp0cmFuc2xhdGVaKDApfS5zd2lwZXItdmlydHVhbC5zd2lwZXItY3NzLW1vZGUgLnN3aXBlci13cmFwcGVyOjphZnRlcntjb250ZW50OicnO3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6MDt0b3A6MDtwb2ludGVyLWV2ZW50czpub25lfS5zd2lwZXItdmlydHVhbC5zd2lwZXItY3NzLW1vZGUuc3dpcGVyLWhvcml6b250YWwgLnN3aXBlci13cmFwcGVyOjphZnRlcntoZWlnaHQ6MXB4O3dpZHRoOnZhcigtLXN3aXBlci12aXJ0dWFsLXNpemUpfS5zd2lwZXItdmlydHVhbC5zd2lwZXItY3NzLW1vZGUuc3dpcGVyLXZlcnRpY2FsIC5zd2lwZXItd3JhcHBlcjo6YWZ0ZXJ7d2lkdGg6MXB4O2hlaWdodDp2YXIoLS1zd2lwZXItdmlydHVhbC1zaXplKX06cm9vdHstLXN3aXBlci1uYXZpZ2F0aW9uLXNpemU6NDRweH0uc3dpcGVyLWJ1dHRvbi1uZXh0LC5zd2lwZXItYnV0dG9uLXByZXZ7cG9zaXRpb246YWJzb2x1dGU7dG9wOnZhcigtLXN3aXBlci1uYXZpZ2F0aW9uLXRvcC1vZmZzZXQsNTAlKTt3aWR0aDpjYWxjKHZhcigtLXN3aXBlci1uYXZpZ2F0aW9uLXNpemUpLyA0NCAqIDI3KTtoZWlnaHQ6dmFyKC0tc3dpcGVyLW5hdmlnYXRpb24tc2l6ZSk7bWFyZ2luLXRvcDpjYWxjKDBweCAtICh2YXIoLS1zd2lwZXItbmF2aWdhdGlvbi1zaXplKS8gMikpO3otaW5kZXg6MTA7Y3Vyc29yOnBvaW50ZXI7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2NvbG9yOnZhcigtLXN3aXBlci1uYXZpZ2F0aW9uLWNvbG9yLHZhcigtLXN3aXBlci10aGVtZS1jb2xvcikpfS5zd2lwZXItYnV0dG9uLW5leHQuc3dpcGVyLWJ1dHRvbi1kaXNhYmxlZCwuc3dpcGVyLWJ1dHRvbi1wcmV2LnN3aXBlci1idXR0b24tZGlzYWJsZWR7b3BhY2l0eTouMzU7Y3Vyc29yOmF1dG87cG9pbnRlci1ldmVudHM6bm9uZX0uc3dpcGVyLWJ1dHRvbi1uZXh0LnN3aXBlci1idXR0b24taGlkZGVuLC5zd2lwZXItYnV0dG9uLXByZXYuc3dpcGVyLWJ1dHRvbi1oaWRkZW57b3BhY2l0eTowO2N1cnNvcjphdXRvO3BvaW50ZXItZXZlbnRzOm5vbmV9LnN3aXBlci1uYXZpZ2F0aW9uLWRpc2FibGVkIC5zd2lwZXItYnV0dG9uLW5leHQsLnN3aXBlci1uYXZpZ2F0aW9uLWRpc2FibGVkIC5zd2lwZXItYnV0dG9uLXByZXZ7ZGlzcGxheTpub25lIWltcG9ydGFudH0uc3dpcGVyLWJ1dHRvbi1uZXh0IHN2Zywuc3dpcGVyLWJ1dHRvbi1wcmV2IHN2Z3t3aWR0aDoxMDAlO2hlaWdodDoxMDAlO29iamVjdC1maXQ6Y29udGFpbjt0cmFuc2Zvcm0tb3JpZ2luOmNlbnRlcn0uc3dpcGVyLXJ0bCAuc3dpcGVyLWJ1dHRvbi1uZXh0IHN2Zywuc3dpcGVyLXJ0bCAuc3dpcGVyLWJ1dHRvbi1wcmV2IHN2Z3t0cmFuc2Zvcm06cm90YXRlKDE4MGRlZyl9LnN3aXBlci1idXR0b24tcHJldiwuc3dpcGVyLXJ0bCAuc3dpcGVyLWJ1dHRvbi1uZXh0e2xlZnQ6dmFyKC0tc3dpcGVyLW5hdmlnYXRpb24tc2lkZXMtb2Zmc2V0LDEwcHgpO3JpZ2h0OmF1dG99LnN3aXBlci1idXR0b24tbmV4dCwuc3dpcGVyLXJ0bCAuc3dpcGVyLWJ1dHRvbi1wcmV2e3JpZ2h0OnZhcigtLXN3aXBlci1uYXZpZ2F0aW9uLXNpZGVzLW9mZnNldCwxMHB4KTtsZWZ0OmF1dG99LnN3aXBlci1idXR0b24tbG9ja3tkaXNwbGF5Om5vbmV9LnN3aXBlci1idXR0b24tbmV4dDphZnRlciwuc3dpcGVyLWJ1dHRvbi1wcmV2OmFmdGVye2ZvbnQtZmFtaWx5OnN3aXBlci1pY29ucztmb250LXNpemU6dmFyKC0tc3dpcGVyLW5hdmlnYXRpb24tc2l6ZSk7dGV4dC10cmFuc2Zvcm06bm9uZSFpbXBvcnRhbnQ7bGV0dGVyLXNwYWNpbmc6MDtmb250LXZhcmlhbnQ6aW5pdGlhbDtsaW5lLWhlaWdodDoxfS5zd2lwZXItYnV0dG9uLXByZXY6YWZ0ZXIsLnN3aXBlci1ydGwgLnN3aXBlci1idXR0b24tbmV4dDphZnRlcntjb250ZW50OidwcmV2J30uc3dpcGVyLWJ1dHRvbi1uZXh0LC5zd2lwZXItcnRsIC5zd2lwZXItYnV0dG9uLXByZXZ7cmlnaHQ6dmFyKC0tc3dpcGVyLW5hdmlnYXRpb24tc2lkZXMtb2Zmc2V0LDEwcHgpO2xlZnQ6YXV0b30uc3dpcGVyLWJ1dHRvbi1uZXh0OmFmdGVyLC5zd2lwZXItcnRsIC5zd2lwZXItYnV0dG9uLXByZXY6YWZ0ZXJ7Y29udGVudDonbmV4dCd9LnN3aXBlci1wYWdpbmF0aW9ue3Bvc2l0aW9uOmFic29sdXRlO3RleHQtYWxpZ246Y2VudGVyO3RyYW5zaXRpb246LjNzIG9wYWNpdHk7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAsMCwwKTt6LWluZGV4OjEwfS5zd2lwZXItcGFnaW5hdGlvbi5zd2lwZXItcGFnaW5hdGlvbi1oaWRkZW57b3BhY2l0eTowfS5zd2lwZXItcGFnaW5hdGlvbi1kaXNhYmxlZD4uc3dpcGVyLXBhZ2luYXRpb24sLnN3aXBlci1wYWdpbmF0aW9uLnN3aXBlci1wYWdpbmF0aW9uLWRpc2FibGVke2Rpc3BsYXk6bm9uZSFpbXBvcnRhbnR9LnN3aXBlci1ob3Jpem9udGFsPi5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLnN3aXBlci1wYWdpbmF0aW9uLWhvcml6b250YWwsLnN3aXBlci1wYWdpbmF0aW9uLWN1c3RvbSwuc3dpcGVyLXBhZ2luYXRpb24tZnJhY3Rpb257Ym90dG9tOnZhcigtLXN3aXBlci1wYWdpbmF0aW9uLWJvdHRvbSw4cHgpO3RvcDp2YXIoLS1zd2lwZXItcGFnaW5hdGlvbi10b3AsYXV0byk7bGVmdDowO3dpZHRoOjEwMCV9LnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pY3tvdmVyZmxvdzpoaWRkZW47Zm9udC1zaXplOjB9LnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pYyAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0e3RyYW5zZm9ybTpzY2FsZSguMzMpO3Bvc2l0aW9uOnJlbGF0aXZlfS5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1hY3RpdmV7dHJhbnNmb3JtOnNjYWxlKDEpfS5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1hY3RpdmUtbWFpbnt0cmFuc2Zvcm06c2NhbGUoMSl9LnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pYyAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LWFjdGl2ZS1wcmV2e3RyYW5zZm9ybTpzY2FsZSguNjYpfS5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1hY3RpdmUtcHJldi1wcmV2e3RyYW5zZm9ybTpzY2FsZSguMzMpfS5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1hY3RpdmUtbmV4dHt0cmFuc2Zvcm06c2NhbGUoLjY2KX0uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy1keW5hbWljIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtYWN0aXZlLW5leHQtbmV4dHt0cmFuc2Zvcm06c2NhbGUoLjMzKX0uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0e3dpZHRoOnZhcigtLXN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC13aWR0aCx2YXIoLS1zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtc2l6ZSw4cHgpKTtoZWlnaHQ6dmFyKC0tc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LWhlaWdodCx2YXIoLS1zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtc2l6ZSw4cHgpKTtkaXNwbGF5OmlubGluZS1ibG9jaztib3JkZXItcmFkaXVzOnZhcigtLXN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1ib3JkZXItcmFkaXVzLDUwJSk7YmFja2dyb3VuZDp2YXIoLS1zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtaW5hY3RpdmUtY29sb3IsIzAwMCk7b3BhY2l0eTp2YXIoLS1zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtaW5hY3RpdmUtb3BhY2l0eSwgLjIpfWJ1dHRvbi5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXR7Ym9yZGVyOm5vbmU7bWFyZ2luOjA7cGFkZGluZzowO2JveC1zaGFkb3c6bm9uZTstd2Via2l0LWFwcGVhcmFuY2U6bm9uZTthcHBlYXJhbmNlOm5vbmV9LnN3aXBlci1wYWdpbmF0aW9uLWNsaWNrYWJsZSAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0e2N1cnNvcjpwb2ludGVyfS5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQ6b25seS1jaGlsZHtkaXNwbGF5Om5vbmUhaW1wb3J0YW50fS5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtYWN0aXZle29wYWNpdHk6dmFyKC0tc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LW9wYWNpdHksIDEpO2JhY2tncm91bmQ6dmFyKC0tc3dpcGVyLXBhZ2luYXRpb24tY29sb3IsdmFyKC0tc3dpcGVyLXRoZW1lLWNvbG9yKSl9LnN3aXBlci1wYWdpbmF0aW9uLXZlcnRpY2FsLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMsLnN3aXBlci12ZXJ0aWNhbD4uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0c3tyaWdodDp2YXIoLS1zd2lwZXItcGFnaW5hdGlvbi1yaWdodCw4cHgpO2xlZnQ6dmFyKC0tc3dpcGVyLXBhZ2luYXRpb24tbGVmdCxhdXRvKTt0b3A6NTAlO3RyYW5zZm9ybTp0cmFuc2xhdGUzZCgwcHgsLTUwJSwwKX0uc3dpcGVyLXBhZ2luYXRpb24tdmVydGljYWwuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cyAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LC5zd2lwZXItdmVydGljYWw+LnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHttYXJnaW46dmFyKC0tc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LXZlcnRpY2FsLWdhcCw2cHgpIDA7ZGlzcGxheTpibG9ja30uc3dpcGVyLXBhZ2luYXRpb24tdmVydGljYWwuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWMsLnN3aXBlci12ZXJ0aWNhbD4uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWN7dG9wOjUwJTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKTt3aWR0aDo4cHh9LnN3aXBlci1wYWdpbmF0aW9uLXZlcnRpY2FsLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy1keW5hbWljIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQsLnN3aXBlci12ZXJ0aWNhbD4uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHtkaXNwbGF5OmlubGluZS1ibG9jazt0cmFuc2l0aW9uOi4ycyB0cmFuc2Zvcm0sLjJzIHRvcH0uc3dpcGVyLWhvcml6b250YWw+LnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldCwuc3dpcGVyLXBhZ2luYXRpb24taG9yaXpvbnRhbC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXR7bWFyZ2luOjAgdmFyKC0tc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LWhvcml6b250YWwtZ2FwLDRweCl9LnN3aXBlci1ob3Jpem9udGFsPi5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pYywuc3dpcGVyLXBhZ2luYXRpb24taG9yaXpvbnRhbC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pY3tsZWZ0OjUwJTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgtNTAlKTt3aGl0ZS1zcGFjZTpub3dyYXB9LnN3aXBlci1ob3Jpem9udGFsPi5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pYyAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LC5zd2lwZXItcGFnaW5hdGlvbi1ob3Jpem9udGFsLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy1keW5hbWljIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXR7dHJhbnNpdGlvbjouMnMgdHJhbnNmb3JtLC4ycyBsZWZ0fS5zd2lwZXItaG9yaXpvbnRhbC5zd2lwZXItcnRsPi5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHt0cmFuc2l0aW9uOi4ycyB0cmFuc2Zvcm0sLjJzIHJpZ2h0fS5zd2lwZXItcGFnaW5hdGlvbi1mcmFjdGlvbntjb2xvcjp2YXIoLS1zd2lwZXItcGFnaW5hdGlvbi1mcmFjdGlvbi1jb2xvcixpbmhlcml0KX0uc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXJ7YmFja2dyb3VuZDp2YXIoLS1zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2Jhci1iZy1jb2xvcixyZ2JhKDAsMCwwLC4yNSkpO3Bvc2l0aW9uOmFic29sdXRlfS5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2JhciAuc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXItZmlsbHtiYWNrZ3JvdW5kOnZhcigtLXN3aXBlci1wYWdpbmF0aW9uLWNvbG9yLHZhcigtLXN3aXBlci10aGVtZS1jb2xvcikpO3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6MDt0b3A6MDt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO3RyYW5zZm9ybTpzY2FsZSgwKTt0cmFuc2Zvcm0tb3JpZ2luOmxlZnQgdG9wfS5zd2lwZXItcnRsIC5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2JhciAuc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXItZmlsbHt0cmFuc2Zvcm0tb3JpZ2luOnJpZ2h0IHRvcH0uc3dpcGVyLWhvcml6b250YWw+LnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyLC5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2Jhci5zd2lwZXItcGFnaW5hdGlvbi1ob3Jpem9udGFsLC5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2Jhci5zd2lwZXItcGFnaW5hdGlvbi12ZXJ0aWNhbC5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2Jhci1vcHBvc2l0ZSwuc3dpcGVyLXZlcnRpY2FsPi5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2Jhci5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2Jhci1vcHBvc2l0ZXt3aWR0aDoxMDAlO2hlaWdodDp2YXIoLS1zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2Jhci1zaXplLDRweCk7bGVmdDowO3RvcDowfS5zd2lwZXItaG9yaXpvbnRhbD4uc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXIuc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXItb3Bwb3NpdGUsLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyLnN3aXBlci1wYWdpbmF0aW9uLWhvcml6b250YWwuc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXItb3Bwb3NpdGUsLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyLnN3aXBlci1wYWdpbmF0aW9uLXZlcnRpY2FsLC5zd2lwZXItdmVydGljYWw+LnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFye3dpZHRoOnZhcigtLXN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyLXNpemUsNHB4KTtoZWlnaHQ6MTAwJTtsZWZ0OjA7dG9wOjB9LnN3aXBlci1wYWdpbmF0aW9uLWxvY2t7ZGlzcGxheTpub25lfS5zd2lwZXItc2Nyb2xsYmFye2JvcmRlci1yYWRpdXM6dmFyKC0tc3dpcGVyLXNjcm9sbGJhci1ib3JkZXItcmFkaXVzLDEwcHgpO3Bvc2l0aW9uOnJlbGF0aXZlO3RvdWNoLWFjdGlvbjpub25lO2JhY2tncm91bmQ6dmFyKC0tc3dpcGVyLXNjcm9sbGJhci1iZy1jb2xvcixyZ2JhKDAsMCwwLC4xKSl9LnN3aXBlci1zY3JvbGxiYXItZGlzYWJsZWQ+LnN3aXBlci1zY3JvbGxiYXIsLnN3aXBlci1zY3JvbGxiYXIuc3dpcGVyLXNjcm9sbGJhci1kaXNhYmxlZHtkaXNwbGF5Om5vbmUhaW1wb3J0YW50fS5zd2lwZXItaG9yaXpvbnRhbD4uc3dpcGVyLXNjcm9sbGJhciwuc3dpcGVyLXNjcm9sbGJhci5zd2lwZXItc2Nyb2xsYmFyLWhvcml6b250YWx7cG9zaXRpb246YWJzb2x1dGU7bGVmdDp2YXIoLS1zd2lwZXItc2Nyb2xsYmFyLXNpZGVzLW9mZnNldCwxJSk7Ym90dG9tOnZhcigtLXN3aXBlci1zY3JvbGxiYXItYm90dG9tLDRweCk7dG9wOnZhcigtLXN3aXBlci1zY3JvbGxiYXItdG9wLGF1dG8pO3otaW5kZXg6NTA7aGVpZ2h0OnZhcigtLXN3aXBlci1zY3JvbGxiYXItc2l6ZSw0cHgpO3dpZHRoOmNhbGMoMTAwJSAtIDIgKiB2YXIoLS1zd2lwZXItc2Nyb2xsYmFyLXNpZGVzLW9mZnNldCwxJSkpfS5zd2lwZXItc2Nyb2xsYmFyLnN3aXBlci1zY3JvbGxiYXItdmVydGljYWwsLnN3aXBlci12ZXJ0aWNhbD4uc3dpcGVyLXNjcm9sbGJhcntwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OnZhcigtLXN3aXBlci1zY3JvbGxiYXItbGVmdCxhdXRvKTtyaWdodDp2YXIoLS1zd2lwZXItc2Nyb2xsYmFyLXJpZ2h0LDRweCk7dG9wOnZhcigtLXN3aXBlci1zY3JvbGxiYXItc2lkZXMtb2Zmc2V0LDElKTt6LWluZGV4OjUwO3dpZHRoOnZhcigtLXN3aXBlci1zY3JvbGxiYXItc2l6ZSw0cHgpO2hlaWdodDpjYWxjKDEwMCUgLSAyICogdmFyKC0tc3dpcGVyLXNjcm9sbGJhci1zaWRlcy1vZmZzZXQsMSUpKX0uc3dpcGVyLXNjcm9sbGJhci1kcmFne2hlaWdodDoxMDAlO3dpZHRoOjEwMCU7cG9zaXRpb246cmVsYXRpdmU7YmFja2dyb3VuZDp2YXIoLS1zd2lwZXItc2Nyb2xsYmFyLWRyYWctYmctY29sb3IscmdiYSgwLDAsMCwuNSkpO2JvcmRlci1yYWRpdXM6dmFyKC0tc3dpcGVyLXNjcm9sbGJhci1ib3JkZXItcmFkaXVzLDEwcHgpO2xlZnQ6MDt0b3A6MH0uc3dpcGVyLXNjcm9sbGJhci1jdXJzb3ItZHJhZ3tjdXJzb3I6bW92ZX0uc3dpcGVyLXNjcm9sbGJhci1sb2Nre2Rpc3BsYXk6bm9uZX0uc3dpcGVyLXpvb20tY29udGFpbmVye3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7ZGlzcGxheTpmbGV4O2p1c3RpZnktY29udGVudDpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO3RleHQtYWxpZ246Y2VudGVyfS5zd2lwZXItem9vbS1jb250YWluZXI+Y2FudmFzLC5zd2lwZXItem9vbS1jb250YWluZXI+aW1nLC5zd2lwZXItem9vbS1jb250YWluZXI+c3Zne21heC13aWR0aDoxMDAlO21heC1oZWlnaHQ6MTAwJTtvYmplY3QtZml0OmNvbnRhaW59LnN3aXBlci1zbGlkZS16b29tZWR7Y3Vyc29yOm1vdmU7dG91Y2gtYWN0aW9uOm5vbmV9LnN3aXBlciAuc3dpcGVyLW5vdGlmaWNhdGlvbntwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjA7dG9wOjA7cG9pbnRlci1ldmVudHM6bm9uZTtvcGFjaXR5OjA7ei1pbmRleDotMTAwMH0uc3dpcGVyLWZyZWUtbW9kZT4uc3dpcGVyLXdyYXBwZXJ7dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246ZWFzZS1vdXQ7bWFyZ2luOjAgYXV0b30uc3dpcGVyLWdyaWQ+LnN3aXBlci13cmFwcGVye2ZsZXgtd3JhcDp3cmFwfS5zd2lwZXItZ3JpZC1jb2x1bW4+LnN3aXBlci13cmFwcGVye2ZsZXgtd3JhcDp3cmFwO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbn0uc3dpcGVyLWZhZGUuc3dpcGVyLWZyZWUtbW9kZSAuc3dpcGVyLXNsaWRle3RyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOmVhc2Utb3V0fS5zd2lwZXItZmFkZSAuc3dpcGVyLXNsaWRle3BvaW50ZXItZXZlbnRzOm5vbmU7dHJhbnNpdGlvbi1wcm9wZXJ0eTpvcGFjaXR5fS5zd2lwZXItZmFkZSAuc3dpcGVyLXNsaWRlIC5zd2lwZXItc2xpZGV7cG9pbnRlci1ldmVudHM6bm9uZX0uc3dpcGVyLWZhZGUgLnN3aXBlci1zbGlkZS1hY3RpdmV7cG9pbnRlci1ldmVudHM6YXV0b30uc3dpcGVyLWZhZGUgLnN3aXBlci1zbGlkZS1hY3RpdmUgLnN3aXBlci1zbGlkZS1hY3RpdmV7cG9pbnRlci1ldmVudHM6YXV0b30uc3dpcGVyLnN3aXBlci1jdWJle292ZXJmbG93OnZpc2libGV9LnN3aXBlci1jdWJlIC5zd2lwZXItc2xpZGV7cG9pbnRlci1ldmVudHM6bm9uZTstd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVuO2JhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVuO3otaW5kZXg6MTt2aXNpYmlsaXR5OmhpZGRlbjt0cmFuc2Zvcm0tb3JpZ2luOjAgMDt3aWR0aDoxMDAlO2hlaWdodDoxMDAlfS5zd2lwZXItY3ViZSAuc3dpcGVyLXNsaWRlIC5zd2lwZXItc2xpZGV7cG9pbnRlci1ldmVudHM6bm9uZX0uc3dpcGVyLWN1YmUuc3dpcGVyLXJ0bCAuc3dpcGVyLXNsaWRle3RyYW5zZm9ybS1vcmlnaW46MTAwJSAwfS5zd2lwZXItY3ViZSAuc3dpcGVyLXNsaWRlLWFjdGl2ZSwuc3dpcGVyLWN1YmUgLnN3aXBlci1zbGlkZS1hY3RpdmUgLnN3aXBlci1zbGlkZS1hY3RpdmV7cG9pbnRlci1ldmVudHM6YXV0b30uc3dpcGVyLWN1YmUgLnN3aXBlci1zbGlkZS1hY3RpdmUsLnN3aXBlci1jdWJlIC5zd2lwZXItc2xpZGUtbmV4dCwuc3dpcGVyLWN1YmUgLnN3aXBlci1zbGlkZS1wcmV2e3BvaW50ZXItZXZlbnRzOmF1dG87dmlzaWJpbGl0eTp2aXNpYmxlfS5zd2lwZXItY3ViZSAuc3dpcGVyLWN1YmUtc2hhZG93e3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6MDtib3R0b206MHB4O3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7b3BhY2l0eTouNjt6LWluZGV4OjB9LnN3aXBlci1jdWJlIC5zd2lwZXItY3ViZS1zaGFkb3c6YmVmb3Jle2NvbnRlbnQ6Jyc7YmFja2dyb3VuZDojMDAwO3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6MDt0b3A6MDtib3R0b206MDtyaWdodDowO2ZpbHRlcjpibHVyKDUwcHgpfS5zd2lwZXItY3ViZSAuc3dpcGVyLXNsaWRlLW5leHQrLnN3aXBlci1zbGlkZXtwb2ludGVyLWV2ZW50czphdXRvO3Zpc2liaWxpdHk6dmlzaWJsZX0uc3dpcGVyLWN1YmUgLnN3aXBlci1zbGlkZS1zaGFkb3ctY3ViZS5zd2lwZXItc2xpZGUtc2hhZG93LWJvdHRvbSwuc3dpcGVyLWN1YmUgLnN3aXBlci1zbGlkZS1zaGFkb3ctY3ViZS5zd2lwZXItc2xpZGUtc2hhZG93LWxlZnQsLnN3aXBlci1jdWJlIC5zd2lwZXItc2xpZGUtc2hhZG93LWN1YmUuc3dpcGVyLXNsaWRlLXNoYWRvdy1yaWdodCwuc3dpcGVyLWN1YmUgLnN3aXBlci1zbGlkZS1zaGFkb3ctY3ViZS5zd2lwZXItc2xpZGUtc2hhZG93LXRvcHt6LWluZGV4OjA7LXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbjtiYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbn0uc3dpcGVyLnN3aXBlci1mbGlwe292ZXJmbG93OnZpc2libGV9LnN3aXBlci1mbGlwIC5zd2lwZXItc2xpZGV7cG9pbnRlci1ldmVudHM6bm9uZTstd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVuO2JhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVuO3otaW5kZXg6MX0uc3dpcGVyLWZsaXAgLnN3aXBlci1zbGlkZSAuc3dpcGVyLXNsaWRle3BvaW50ZXItZXZlbnRzOm5vbmV9LnN3aXBlci1mbGlwIC5zd2lwZXItc2xpZGUtYWN0aXZlLC5zd2lwZXItZmxpcCAuc3dpcGVyLXNsaWRlLWFjdGl2ZSAuc3dpcGVyLXNsaWRlLWFjdGl2ZXtwb2ludGVyLWV2ZW50czphdXRvfS5zd2lwZXItZmxpcCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1mbGlwLnN3aXBlci1zbGlkZS1zaGFkb3ctYm90dG9tLC5zd2lwZXItZmxpcCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1mbGlwLnN3aXBlci1zbGlkZS1zaGFkb3ctbGVmdCwuc3dpcGVyLWZsaXAgLnN3aXBlci1zbGlkZS1zaGFkb3ctZmxpcC5zd2lwZXItc2xpZGUtc2hhZG93LXJpZ2h0LC5zd2lwZXItZmxpcCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1mbGlwLnN3aXBlci1zbGlkZS1zaGFkb3ctdG9we3otaW5kZXg6MDstd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVuO2JhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVufS5zd2lwZXItY3JlYXRpdmUgLnN3aXBlci1zbGlkZXstd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVuO2JhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVuO292ZXJmbG93OmhpZGRlbjt0cmFuc2l0aW9uLXByb3BlcnR5OnRyYW5zZm9ybSxvcGFjaXR5LGhlaWdodH0uc3dpcGVyLnN3aXBlci1jYXJkc3tvdmVyZmxvdzp2aXNpYmxlfS5zd2lwZXItY2FyZHMgLnN3aXBlci1zbGlkZXt0cmFuc2Zvcm0tb3JpZ2luOmNlbnRlciBib3R0b207LXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbjtiYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbjtvdmVyZmxvdzpoaWRkZW59IiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuQGltcG9ydCBcIm1peGluc1wiO1xuXG4ucEhlYWRpbmdMYXJnZSB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogYXV0byAxZnI7XG4gIGdhcDogdncoMTJweCk7XG4gIEBpbmNsdWRlIG1xIHtcbiAgICBnYXA6IHBjKDE2cHgpO1xuICB9XG4gICY6OmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IHZ3KDE2cHgpO1xuICAgIGhlaWdodDogdncoNHB4KTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1icmFuZCk7XG4gICAgdHJhbnNsYXRlOiAwIHZ3KDExcHgpO1xuICAgIEBpbmNsdWRlIG1xIHtcbiAgICAgIHdpZHRoOiBwYygyNHB4KTtcbiAgICAgIGhlaWdodDogcGMoNHB4KTtcbiAgICAgIHRyYW5zbGF0ZTogMCBwYygxOXB4KTtcbiAgICB9XG4gIH1cblxufVxuLm5hdmlnYXRpb24uYnJlYWRjcnVtYnMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iYWNrZ3JvdW5kKTtcbiAgLm5hdmlnYXRpb24ubG9jYWxuYXZfYm90dG9tICsgJiB7XG4gICAgbWFyZ2luLXRvcDogdW5zZXQ7XG4gICAgQGluY2x1ZGUgbXEoKSB7XG4gICAgICBtYXJnaW4tdG9wOiB1bnNldDtcbiAgICB9XG4gICAgLmlubmVyIHtcbiAgICAgIHBhZGRpbmctdG9wOiB1bnNldDtcbiAgICAgIEBpbmNsdWRlIG1xKCkge1xuICAgICAgICBwYWRkaW5nLXRvcDogdW5zZXQ7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5pbm5lciB7XG4gICAgcGFkZGluZy10b3A6IHZ3KC0tbkJyZWFkY3J1bWJzLW1hcmdpbi10b3Atc3ApO1xuICAgIEBpbmNsdWRlIG1xKCkge1xuICAgICAgcGFkZGluZy10b3A6IHBjKC0tbkJyZWFkY3J1bWJzLW1hcmdpbi10b3AtcGMpO1xuICAgIH1cblxuICB9XG59XG5tYWluOmhhcygubmF2aWdhdGlvbi5icmVhZGNydW1icykge1xuICArIGZvb3RlciB7XG4gICAgbWFyZ2luLXRvcDogdW5zZXQ7XG4gICAgQGluY2x1ZGUgbXEoKSB7XG4gICAgICBtYXJnaW4tdG9wOiB1bnNldDtcbiAgICB9XG4gIH1cbn1cbi5wSGVhZGluZ01lZGl1bS5jZW50ZXIge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIEBpbmNsdWRlIG1xKCkge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gIH1cbn1cbi50eXBlX2NhdGVnb3J5YnV0dG9uIHtcbiAgbWFyZ2luLXRvcDogdncoLS1jQ2F0ZWdvcnlCdXR0b24tbWFyZ2luLXRvcC1zcCk7XG4gIEBpbmNsdWRlIG1xIHtcbiAgICBtYXJnaW4tdG9wOiBwYygtLWNDYXRlZ29yeUJ1dHRvbi1tYXJnaW4tdG9wLXBjKTtcbiAgfVxuICAuaW5uZXIge1xuICAgIEBpbmNsdWRlIGNvbnRhaW5lcjtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7XG4gICAgZ2FwOiB2dygtLWNDYXRlZ29yeUJ1dHRvbi1nYXAtcm93LXNwKSB2dygtLWNDYXRlZ29yeUJ1dHRvbi1nYXAtY29sLXNwKTtcbiAgICBAaW5jbHVkZSBtcSB7XG4gICAgICBnYXA6IHBjKC0tY0NhdGVnb3J5QnV0dG9uLWdhcC1yb3ctcGMpIHBjKC0tY0NhdGVnb3J5QnV0dG9uLWdhcC1jb2wtcGMpO1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMywgMWZyKTtcbiAgICB9XG4gICAgLnBDYXRlZ29yeUJ1dHRvbiB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG4gIH1cbn1cbi5hZ2dyZXNzaXZlIHtcbiAgbWFyZ2luLXRvcDogdncoLS1tYXJnaW4tdG9wLTEpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1ncmF5KTtcbiAgcGFkZGluZy1ibG9jazogdncoMjRweCk7XG4gIEBpbmNsdWRlIG1xIHtcbiAgICBtYXJnaW4tdG9wOiBwYygtLW1hcmdpbi10b3AtMik7XG4gICAgcGFkZGluZy1ibG9jazogcGMoNTZweCk7XG4gIH1cbiAgLnRpdGxlIHtcbiAgICBAaW5jbHVkZSBjb250YWluZXI7XG4gICAgaDIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItdGhpcmQpO1xuICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtb24tYWNjZW50KTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIGZvbnQtc2l6ZTogdncoLS1mcy1zKTtcbiAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxNDIlO1xuICAgICAgcGFkZGluZzogdncoOHB4KSB2dygxNnB4KTtcbiAgICAgIHdpZHRoOiBmaXQtY29udGVudDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IHZ3KC0tYm9yZGVyLXJhZGl1cy1zbWFsbCk7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBAaW5jbHVkZSBtcSB7XG4gICAgICAgIGZvbnQtc2l6ZTogcGMoLS1mcy14bCk7XG4gICAgICAgIHBhZGRpbmc6IHBjKDE2cHgpIHBjKDU2cHgpO1xuICAgICAgICBib3JkZXItcmFkaXVzOiBwYygtLWJvcmRlci1yYWRpdXMtc21hbGwpO1xuICAgICAgfVxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgd2lkdGg6IHZ3KDExcHgpO1xuICAgICAgICBhc3BlY3QtcmF0aW86IDEvY29zKDMwZGVnKTtcbiAgICAgICAgY2xpcC1wYXRoOiBwb2x5Z29uKDUwJSAxMDAlLDEwMCUgMCwwIDApO1xuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci10aGlyZCk7XG4gICAgICAgIGJvdHRvbTogdncoLTlweCk7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgdHJhbnNsYXRlOiAtNTAlIDA7XG4gICAgICAgIEBpbmNsdWRlIG1xKCkge1xuICAgICAgICAgIHdpZHRoOiBwYygxN3B4KTtcbiAgICAgICAgICBib3R0b206IHBjKC0xMXB4KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICAuYnV0dG9uIHtcbiAgICBtYXJnaW4tdG9wOiB2dygtLW1hcmdpbi10b3AtMSk7XG4gICAgQGluY2x1ZGUgY29udGFpbmVyO1xuICAgIEBpbmNsdWRlIG1xIHtcbiAgICAgIG1hcmdpbi10b3A6IHBjKC0tbWFyZ2luLXRvcC0xKTtcbiAgICB9XG4gICAgJi5pcy1oaWRkZW4ge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gICAgLnBCdXR0b24ge1xuICAgICAgbWFyZ2luLWlubGluZTogYXV0bztcbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgbWFzay1pbWFnZTogdXJsKC9pbWFnZXMvaWNvbl9wbHVzLnN2Zyk7XG4gICAgICB9XG4gICAgfVxuICAgICYuaXMtYWN0aXZlIC5wQnV0dG9uOjphZnRlciB7XG4gICAgICBtYXNrLWltYWdlOiB1cmwoL2ltYWdlcy9pY29uX21pbnVzLnN2Zyk7XG4gICAgfVxuICB9XG4gIC5jb21wb25lbnQudHlwZV9wcmljZSAudW5pdC5pcy1oaWRkZW4ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cbi50eXBlX3ByaWNlIHtcbiAgbWFyZ2luLXRvcDogdncoLS1jUHJpY2UtbWFyZ2luLXRvcC1zcCk7XG4gIEBpbmNsdWRlIG1xIHtcbiAgICBtYXJnaW4tdG9wOiBwYygtLWNQcmljZS1tYXJnaW4tdG9wLXBjKTtcbiAgfVxuICAuaW5uZXIge1xuICAgIEBpbmNsdWRlIGNvbnRhaW5lcjtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdhcDogdncoLS1jUHJpY2UtZ2FwLXNwKTtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgxLCAxZnIpO1xuICAgIEBpbmNsdWRlIG1xIHtcbiAgICAgIGdhcDogcGMoLS1jUHJpY2UtZ2FwLXBjKTtcbiAgICB9XG4gICAgbWFpbjpoYXMoI3N3aXRjaEJ1dHRvbiBpbnB1dCNpbWFnZTpjaGVja2VkKSAmIHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7XG4gICAgICBAaW5jbHVkZSBtcSB7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDQsIDFmcik7XG4gICAgICB9XG4gICAgICAudW5pdCB7XG4gICAgICAgIGdyaWQtdGVtcGxhdGU6XG4gICAgICAgIFwiaW1hZ2VcIlxuICAgICAgICBcImxhYmVsXCJcbiAgICAgICAgXCJyb3dcIlxuICAgICAgICAvIDFmcjtcbiAgICAgICAgcGFkZGluZzogdncoLS1wUHJpY2UtaW1hZ2VsaXN0LXBhZGRpbmctYmxvY2stc3ApIHZ3KC0tcFByaWNlLWltYWdlbGlzdC1wYWRkaW5nLWlubGluZS1zcCk7XG4gICAgICAgIEBpbmNsdWRlIG1xIHtcbiAgICAgICAgICBwYWRkaW5nOiBwYygtLXBQcmljZS1pbWFnZWxpc3QtcGFkZGluZy1ibG9jay1wYykgcGMoLS1wUHJpY2UtaW1hZ2VsaXN0LXBhZGRpbmctaW5saW5lLXBjKTtcbiAgICAgICAgfVxuICAgICAgICAmOmhhcygucEJhZGdlKSB7XG4gICAgICAgICAgZ3JpZC10ZW1wbGF0ZTpcbiAgICAgICAgICBcImltYWdlXCJcbiAgICAgICAgICBcImxhYmVsXCJcbiAgICAgICAgICBcInJvd1wiXG4gICAgICAgICAgXCJiYWRnZVwiXG4gICAgICAgICAgLyAxZnI7XG4gICAgICAgIH1cbiAgICAgICAgLnBJbWFnZSB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgYXNwZWN0LXJhdGlvOiAzIC8gMjtcbiAgICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICAgICAgfVxuICAgICAgICAucFByaWNlTGFiZWxSb3cge1xuICAgICAgICAgIEBpbmNsdWRlIG1xIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIH1cbiAgICAgICAgICAucFByaWNlTGFiZWwge1xuICAgICAgICAgICAgd2hpdGUtc3BhY2U6IHVuc2V0O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAucFByaWNlUm93IHtcbiAgICAgICAgICBncmlkLWFyZWE6IHJvdztcbiAgICAgICAgICBAaW5jbHVkZSBtcSB7XG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgxLCAxZnIpO1xuICAgICAgICAgICAgZ2FwOiBwYygtLXBQcmljZS1nYXAtcGMtbmFycm93KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgfVxuICAgIH1cbiAgICAudW5pdCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1zdXJmYWNlKTtcbiAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICBncmlkLXRlbXBsYXRlOlxuICAgICAgXCJsYWJlbCByb3dcIlxuICAgICAgLyAxZnIgMWZyO1xuICAgICAgZ2FwOiB2dygtLXBQcmljZS1nYXAtc3ApO1xuICAgICAgcGFkZGluZzogdncoLS1wUHJpY2UtbGlzdC1wYWRkaW5nLWJsb2NrLXNwKSB2dygtLXBQcmljZS1saXN0LXBhZGRpbmctaW5saW5lLXNwKTtcbiAgICAgIGFsaWduLWNvbnRlbnQ6IHN0YXJ0O1xuICAgICAgYWxpZ24taXRlbXM6IHN0YXJ0O1xuICAgICAgJjpoYXMoLnBCYWRnZSkge1xuICAgICAgICBncmlkLXRlbXBsYXRlOlxuICAgICAgICBcImxhYmVsIHJvd1wiXG4gICAgICAgIFwibGFiZWwgYmFkZ2VcIlxuICAgICAgICAvIDFmciAxZnI7XG4gICAgICB9XG4gICAgICBAaW5jbHVkZSBtcSB7XG4gICAgICAgIHBhZGRpbmc6IHBjKC0tcFByaWNlLWxpc3QtcGFkZGluZy1ibG9jay1wYykgcGMoLS1wUHJpY2UtbGlzdC1wYWRkaW5nLWlubGluZS1wYyk7XG4gICAgICAgIGdhcDogcGMoLS1wUHJpY2UtZ2FwLXBjKTtcbiAgICAgIH1cbiAgICAgIC5wSW1hZ2Uge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgICAgLnBQcmljZUxhYmVsUm93IHtcbiAgICAgICAgZ3JpZC1hcmVhOiBsYWJlbDtcbiAgICAgICAgLnBQcmljZUxhYmVsIHtcbiAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAucFByaWNlUm93IHtcbiAgICAgICAgZ3JpZC1hcmVhOiByb3c7XG4gICAgICAgIEBpbmNsdWRlIG1xIHtcbiAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpO1xuICAgICAgICAgIGdhcDogcGMoLS1wUHJpY2UtZ2FwLXBjKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLnBCYWRnZSB7XG4gICAgICAgIGdyaWQtYXJlYTogYmFkZ2U7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4jc3dpdGNoQnV0dG9ue1xuICBib3JkZXItcmFkaXVzOiB2dygtLWJvcmRlci1yYWRpdXMtc21hbGwpO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iYWNrZ3JvdW5kKTtcbiAgcGFkZGluZzogdncoNHB4KTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgQGluY2x1ZGUgbXEge1xuICAgIGJvcmRlci1yYWRpdXM6IHBjKC0tYm9yZGVyLXJhZGl1cy1zbWFsbCk7XG4gICAgcGFkZGluZzogcGMoNHB4KTtcbiAgfVxuICBsYWJlbCB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmFja2dyb3VuZCk7XG4gICAgYm9yZGVyLXJhZGl1czogdncoLS1ib3JkZXItcmFkaXVzLXNtYWxsKTtcbiAgICBwYWRkaW5nOiB2dygycHgpO1xuICAgIGRpc3BsYXk6IGZsZXggYmxvY2s7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhc3BlY3QtcmF0aW86IDQ0IC8gMzY7XG4gICAgd2lkdGg6IHZ3KDQ0cHgpO1xuICAgIEBpbmNsdWRlIG1xIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IHBjKC0tYm9yZGVyLXJhZGl1cy1zbWFsbCk7XG4gICAgICBwYWRkaW5nOiBwYyg2cHgpO1xuICAgICAgd2lkdGg6IHBjKDY0cHgpO1xuICAgIH1cbiAgICAmOmhhcyhpbnB1dDpjaGVja2VkKSB7XG4gICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1ncmF5LXdlYWspO1xuICAgIH1cbiAgICBmaWd1cmUge1xuICAgICAgaW1nIHtcbiAgICAgICAgd2lkdGg6IHZ3KDIwcHgpO1xuICAgICAgICBAaW5jbHVkZSBtcSB7XG4gICAgICAgICAgd2lkdGg6IHBjKDI0cHgpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBmaWdjYXB0aW9uIHtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWdyYXktc3Ryb25nKTtcbiAgICAgICAgZm9udC1zaXplOiB2dyg5cHgpO1xuICAgICAgICBsaW5lLWhlaWdodDogMTMzJTtcbiAgICAgICAgQGluY2x1ZGUgbXEge1xuICAgICAgICAgIGZvbnQtc2l6ZTogcGMoLS1mcy14eHMpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgaW5wdXQge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cbn1cbi5wQnV0dG9uIHtcbiAgJi5saW5lLFxuICAmW2hyZWYqPVwibGluZS5tZVwiXSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItbGluZSk7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1saW5lKTtcbiAgICBAbWVkaWEgKGFueS1ob3ZlcjogaG92ZXIpIHtcbiAgICAgICY6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoOSwgMjIwLCA5Nyk7XG4gICAgICAgIGJvcmRlci1jb2xvcjogcmdiKDksIDIyMCwgOTcpO1xuICAgICAgfVxuICAgIH1cbiAgICAmLmxlZnQge1xuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgbWFzay1pbWFnZTogdXJsKC9pbWFnZXMvaWNvbl9saW5lLnN2Zyk7XG4gICAgICB9XG4gICAgfVxuICB9XG4gICYubWFpbCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3Itc2Vjb25kKTtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLXNlY29uZCk7XG4gICAgQG1lZGlhIChhbnktaG92ZXI6IGhvdmVyKSB7XG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmYzUzZjtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjZmZjNTNmO1xuICAgICAgfVxuICAgIH1cbiAgICAmLmxlZnQge1xuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgbWFzay1pbWFnZTogdXJsKC9pbWFnZXMvaWNvbl9tYWlsLnN2Zyk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4ja2FpdG9yaV9iYW5uZXIge1xuICBtYXJnaW4tdG9wOiB2dygtLW1hcmdpbi10b3AtMik7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWdyYXktd2Vhayk7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIEBpbmNsdWRlIG1xIHtcbiAgICBtYXJnaW4tdG9wOiBwYygtLW1hcmdpbi10b3AtMik7XG4gIH1cbiAgLmlubmVyIHtcbiAgICBAaW5jbHVkZSBjb250YWluZXI7XG4gICAgcGFkZGluZy1ibG9jazogdncoLS1tYXJnaW4tdG9wLTIpO1xuICAgIEBpbmNsdWRlIG1xIHtcbiAgICAgIHBhZGRpbmctYmxvY2s6IHBjKC0tbWFyZ2luLXRvcC0yKTtcbiAgICB9XG4gICAgLm1ldGhvZExpc3Qge1xuICAgICAgbWFyZ2luLXRvcDogdncoMTZweCk7XG4gICAgICBAaW5jbHVkZSBtcSB7XG4gICAgICAgIG1hcmdpbi10b3A6IHBjKC0tbWFyZ2luLXRvcC0xKTtcbiAgICAgIH1cbiAgICB9XG4gICAgLnBMZWFkIHtcbiAgICAgIGZvbnQtc2l6ZTogdncoLS1mcy1tKTtcbiAgICAgIG1hcmdpbi10b3A6IHZ3KDI0cHgpO1xuICAgICAgQGluY2x1ZGUgbXEge1xuICAgICAgICBmb250LXNpemU6IHBjKC0tZnMteGwpO1xuICAgICAgICBtYXJnaW4tdG9wOiBwYygtLW1hcmdpbi10b3AtMik7XG4gICAgICB9XG4gICAgfVxuICAgIC5idXR0b24ge1xuICAgICAgbWFyZ2luLXRvcDogdncoOHB4KTtcbiAgICAgIEBpbmNsdWRlIG1xIHtcbiAgICAgICAgbWFyZ2luLXRvcDogcGMoMjRweCk7XG4gICAgICB9XG4gICAgICAucEJ1dHRvbiB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXJnaW4taW5saW5lOiBhdXRvO1xuICAgICAgICBAaW5jbHVkZSBtcSB7XG4gICAgICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4jZml4ZWRGb290ZXJCdXR0b24ge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGJvdHRvbTogdncoNjNweCk7XG4gIGxlZnQ6IHZ3KDIwcHgpO1xuICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgdmFyKC0tdHJhbnNpdGlvbi1zcGVlZC1zbG93KSB2YXIoLS1iZXppZXIpO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBAaW5jbHVkZSBtcSB7XG4gICAgYm90dG9tOiBwYygzNnB4KTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdHJhbnNsYXRlOiAtNTAlIDA7XG4gIH1cbiAgJi5pcy1zY3JvbGwge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgcG9pbnRlci1ldmVudHM6IGFsbDtcbiAgfVxuICAucEJ1dHRvbiB7XG4gICAgYm94LXNoYWRvdzogMCAycHggOHB4IDAgcmdiYSgwLCAwLCAwLCAwLjMwKTtcbiAgICBtYXgtd2lkdGg6IHZ3KDI4MHB4KTtcbiAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgIEBpbmNsdWRlIG1xIHtcbiAgICAgIG1pbi13aWR0aDogcGMoNDgwcHgpO1xuICAgIH1cbiAgfVxufVxuI2thaXRvcmlCYW5uZXJCdXR0b24ge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGJvdHRvbTogdncoNjNweCk7XG4gIGxlZnQ6IHZ3KDI0cHgpO1xuICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgdmFyKC0tdHJhbnNpdGlvbi1zcGVlZC1zbG93KSB2YXIoLS1iZXppZXIpO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBAaW5jbHVkZSBtcSB7XG4gICAgYm90dG9tOiBwYygzNnB4KTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdHJhbnNsYXRlOiAtNTAlIDA7XG4gIH1cbiAgJi5pcy1zY3JvbGwge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgcG9pbnRlci1ldmVudHM6IGFsbDtcbiAgfVxuICAucEJ1dHRvbiB7XG4gICAgYm94LXNoYWRvdzogMCAycHggOHB4IDAgcmdiYSgwLCAwLCAwLCAwLjMwKTtcbiAgICBAaW5jbHVkZSBtcSB7XG4gICAgICB3aWR0aDogcGMoNDgwcHgpO1xuICAgIH1cbiAgfVxufVxuI2Zvb3Rlcl9iYW5uZXIge1xuICBtYXJnaW4tdG9wOiB2dygtLW1hcmdpbi10b3AtMik7XG4gIEBpbmNsdWRlIG1xIHtcbiAgICBtYXJnaW4tdG9wOiBwYygtLW1hcmdpbi10b3AtMik7XG4gIH1cbiAgKyAubmF2aWdhdGlvbi5icmVhZGNydW1icyB7XG4gICAgbWFyZ2luLXRvcDogdW5zZXQ7XG4gIH1cbiAgLmlubmVyIHtcbiAgICBAaW5jbHVkZSBjb250YWluZXI7XG4gICAgdWwge1xuICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDEsIDFmcik7XG4gICAgICBnYXA6IHZ3KDE2cHgpO1xuICAgICAgQGluY2x1ZGUgbXEge1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpO1xuICAgICAgICBnYXA6IHBjKDI0cHgpO1xuICAgICAgfVxuICAgICAgbGkge1xuICAgICAgICBhIHtcbiAgICAgICAgICBAaW5jbHVkZSBob3Zlck9wO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbn1cbi5jb21wb25lbnQudHlwZV9oZWFkaW5nOmhhcygjc3dpdGNoQnV0dG9uKSB7XG4gIC5pbm5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgfVxufVxuLmNvbXBvbmVudC50eXBlX2V4dGVuZGVkdGl0bGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iYWNrZ3JvdW5kLXN0cm9uZyk7XG59XG4udHlwZV9zdG9yZWxpc3Qge1xuICBtYXJnaW4tdG9wOiB2dygtLW1hcmdpbi10b3AtMSk7XG4gIEBpbmNsdWRlIG1xIHtcbiAgICBtYXJnaW4tdG9wOiBwYygtLW1hcmdpbi10b3AtMSk7XG4gIH1cbiAgLmlubmVyIHtcbiAgICBAaW5jbHVkZSBjb250YWluZXI7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpO1xuICAgIGdhcDogdncoMTZweCkgdncoOHB4KTtcbiAgICBAaW5jbHVkZSBtcSB7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLCAxZnIpO1xuICAgICAgZ2FwOiBwYygzMnB4KSBwYygxNnB4KTtcbiAgICB9XG4gICAgLnVuaXQge1xuICAgICAgYm9yZGVyLXJhZGl1czogdncoLS1ib3JkZXItcmFkaXVzLXNtYWxsKTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXN1cmZhY2UpO1xuICAgICAgcGFkZGluZzogdncoOHB4KTtcbiAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICBncmlkLXRlbXBsYXRlLXJvd3M6IHN1YmdyaWQ7XG4gICAgICBncmlkLXJvdzogc3BhbiA0O1xuICAgICAgZ2FwOiB2dyg4cHgpO1xuICAgICAgQGluY2x1ZGUgbXEge1xuICAgICAgICBib3JkZXItcmFkaXVzOiBwYygtLWJvcmRlci1yYWRpdXMtbWVkaXVtKTtcbiAgICAgICAgcGFkZGluZzogcGMoMTJweCk7XG4gICAgICAgIGdhcDogcGMoMTZweCk7XG4gICAgICB9XG4gICAgICAuaW1hZ2Uge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgQGluY2x1ZGUgaG92ZXJPcDtcbiAgICAgICAgaW1nIHtcbiAgICAgICAgICBhc3BlY3QtcmF0aW86IDI3MiAvIDE4MTtcbiAgICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICAgICAgICBvYmplY3QtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLnBIZWFkaW5nTWVkaXVtIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgfVxuICAgICAgLmluZm8ge1xuICAgICAgICB0YWJsZSB7XG4gICAgICAgICAgdGgsIHRkIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogdncoLS1mcy14cyk7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMTUwJTtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXIpO1xuICAgICAgICAgICAgcGFkZGluZy1ibG9jazogdncoNHB4KTtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1xIHtcbiAgICAgICAgICAgICAgcGFkZGluZy1ibG9jazogcGMoMTJweCk7XG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogcGMoLS1mcy1tKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgdGgge1xuICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IHZ3KDEycHgpO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgICAgICAgICAgQGluY2x1ZGUgbXEge1xuICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiBwYygxMnB4KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgdHI6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgdGgsIHRkIHtcbiAgICAgICAgICAgICAgcGFkZGluZy10b3A6IHVuc2V0O1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICB0cjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgIHRoLCB0ZCB7XG4gICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiB1bnNldDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC5idXR0b24ge1xuICAgICAgICAucEJ1dHRvbiB7XG4gICAgICAgICAgbWFyZ2luLWlubGluZTogYXV0bztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuLmthaXRvcmlfbWV0aG9kcyB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXN1cmZhY2UpO1xuICBtYXJnaW4tdG9wOiB2dygtLW1hcmdpbi10b3AtMik7XG4gIHBhZGRpbmctYmxvY2s6IHZ3KDU2cHgpIHZ3KDI0cHgpO1xuICBAaW5jbHVkZSBtcSB7XG4gICAgbWFyZ2luLXRvcDogcGMoLS1tYXJnaW4tdG9wLTMpO1xuICAgIHBhZGRpbmctYmxvY2s6IHBjKDk2cHgpO1xuICB9XG4gID4gKjpmaXJzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXRvcDogdW5zZXQ7XG4gICAgQGluY2x1ZGUgbXEge1xuICAgICAgbWFyZ2luLXRvcDogdW5zZXQ7XG4gICAgfVxuICB9XG59XG4udHlwZV9zZXJ2aWNlaWNvbiB7XG4gIG1hcmdpbi10b3A6IHZ3KC0tY1NlcnZpY2VJY29uLW1hcmdpbi10b3Atc3ApO1xuICBAaW5jbHVkZSBjb250YWluZXI7XG4gIEBpbmNsdWRlIG1xIHtcbiAgICBtYXJnaW4tdG9wOiBwYygtLWNTZXJ2aWNlSWNvbi1tYXJnaW4tdG9wLXBjKTtcbiAgfVxuICAuaW5uZXIge1xuICAgIHBhZGRpbmc6IHZ3KC0tY1NlcnZpY2VJY29uLXBhZGRpbmctc3ApO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNTZXJ2aWNlSWNvbi1iYWNrZ3JvdW5kKTtcbiAgICBAaW5jbHVkZSBtcSB7XG4gICAgICBwYWRkaW5nOiBwYygtLWNTZXJ2aWNlSWNvbi1wYWRkaW5nLXBjKTtcbiAgICB9XG4gICAgdWwge1xuICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7XG4gICAgICByb3ctZ2FwOiB2dygtLWNTZXJ2aWNlSWNvbi1nYXAtcm93LXNwKTtcbiAgICAgIGNvbHVtbi1nYXA6IHZ3KC0tY1NlcnZpY2VJY29uLWdhcC1jb2wtc3ApO1xuICAgICAgQGluY2x1ZGUgbXEge1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLCAxZnIpO1xuICAgICAgICByb3ctZ2FwOiBwYygtLWNTZXJ2aWNlSWNvbi1nYXAtcm93LXBjKTtcbiAgICAgICAgY29sdW1uLWdhcDogcGMoLS1jU2VydmljZUljb24tZ2FwLWNvbC1wYyk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4jZm9vdGVyX2VzdGltYXRlIHtcbiAgbWFyZ2luLXRvcDogdncoLS1tYXJnaW4tdG9wLTIpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1zdXJmYWNlKTtcbiAgQGluY2x1ZGUgbXEge1xuICAgIG1hcmdpbi10b3A6IHBjKC0tbWFyZ2luLXRvcC0yKTtcbiAgfVxuICArIC5uYXZpZ2F0aW9uLmJyZWFkY3J1bWJzIHtcbiAgICBtYXJnaW4tdG9wOiB1bnNldDtcbiAgICBwYWRkaW5nLXRvcDogdW5zZXQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3Itc3VyZmFjZSk7XG4gICAgLmlubmVyIHtcbiAgICAgIHBhZGRpbmctdG9wOiB1bnNldDtcbiAgICAgIEBpbmNsdWRlIG1xIHtcbiAgICAgICAgcGFkZGluZy10b3A6IHBjKC0tbWFyZ2luLXRvcC0yKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLmlubmVyIHtcbiAgICBAaW5jbHVkZSBjb250YWluZXI7XG4gICAgcGFkZGluZy1ibG9jazogdncoLS1tYXJnaW4tdG9wLTIpO1xuICAgIEBpbmNsdWRlIG1xIHtcbiAgICAgIHBhZGRpbmctYmxvY2s6IHBjKC0tbWFyZ2luLXRvcC0yKTtcbiAgICB9XG4gICAgaDIge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgZm9udC1zaXplOiB2dygtLWZzLXh4bCk7XG4gICAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgICBsaW5lLWhlaWdodDogMTIwJTtcbiAgICAgIEBpbmNsdWRlIG1xIHtcbiAgICAgICAgZm9udC1zaXplOiBwYygtLWZzLXh4eGwpO1xuICAgICAgfVxuICAgIH1cbiAgICAucFRleHQge1xuICAgICAgcGFkZGluZzogdncoMTJweCk7XG4gICAgICBib3JkZXItcmFkaXVzOiB2dygtLWJvcmRlci1yYWRpdXMtc21hbGwpO1xuICAgICAgbWFyZ2luLXRvcDogdncoLS1tYXJnaW4tdG9wLTEpO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmFja2dyb3VuZCk7XG4gICAgICBAaW5jbHVkZSBtcSB7XG4gICAgICAgIG1hcmdpbi10b3A6IHBjKC0tbWFyZ2luLXRvcC0xKTtcbiAgICAgICAgcGFkZGluZzogcGMoOHB4KTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBib3JkZXItcmFkaXVzOiBwYygtLWJvcmRlci1yYWRpdXMtbWVkaXVtKTtcbiAgICAgIH1cbiAgICB9XG4gICAgLnBIZWFkaW5nTWVkaXVtIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIG1hcmdpbi10b3A6IHZ3KC0tbWFyZ2luLXRvcC0xKTtcbiAgICAgIEBpbmNsdWRlIG1xIHtcbiAgICAgICAgbWFyZ2luLXRvcDogcGMoLS1tYXJnaW4tdG9wLTIpO1xuICAgICAgfVxuICAgIH1cbiAgICAuaW1hZ2Uge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW4tdG9wOiB2dygxNnB4KTtcbiAgICAgIEBpbmNsdWRlIGhvdmVyT3A7XG4gICAgICBAaW5jbHVkZSBtcSB7XG4gICAgICAgIG1hcmdpbi10b3A6IHBjKC0tbWFyZ2luLXRvcC0xKTtcbiAgICAgIH1cbiAgICB9XG4gICAgLmJ1dHRvbnMge1xuICAgICAgbWFyZ2luLXRvcDogdncoMTZweCk7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGdhcDogdncoMTZweCk7XG4gICAgICBAaW5jbHVkZSBtcSB7XG4gICAgICAgIG1hcmdpbi10b3A6IHBjKC0tbWFyZ2luLXRvcC0xKTtcbiAgICAgICAgZ2FwOiBwYygzMnB4KTtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICB9XG4gICAgICAucEJ1dHRvbiB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBAaW5jbHVkZSBtcSB7XG4gICAgICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xuICAgICAgICAgIHBhZGRpbmctYmxvY2s6IHBjKDE4cHgpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICB9XG4gICAgLnRlbExpc3Qge1xuICAgICAgbWFyZ2luLXRvcDogdncoLS1tYXJnaW4tdG9wLTEpO1xuICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7XG4gICAgICBnYXA6IHZ3KDhweCk7XG4gICAgICBAaW5jbHVkZSBtcSB7XG4gICAgICAgIG1hcmdpbi10b3A6IHBjKC0tbWFyZ2luLXRvcC0xKTtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNCwgMWZyKTtcbiAgICAgICAgZ2FwOiBwYygxNnB4KTtcbiAgICAgIH1cbiAgICAgIC51bml0IHtcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBzdWJncmlkO1xuICAgICAgICBhbGlnbi1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGdyaWQtcm93OiBzcGFuIDM7XG4gICAgICAgIGdhcDogdncoNHB4KTtcbiAgICAgICAgcGFkZGluZzogdncoOHB4KTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogdncoLS1ib3JkZXItcmFkaXVzLXNtYWxsKTtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyKTtcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmFja2dyb3VuZCk7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgQGluY2x1ZGUgbXEge1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IHBjKC0tYm9yZGVyLXJhZGl1cy1zbWFsbCk7XG4gICAgICAgICAgcGFkZGluZzogcGMoOHB4KTtcbiAgICAgICAgICBnYXA6IHBjKDRweCk7XG4gICAgICAgIH1cbiAgICAgICAgaDQge1xuICAgICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci10aGlyZCk7XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgIGZvbnQtc2l6ZTogdncoLS1mcy1zKTtcbiAgICAgICAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDE0MiU7XG4gICAgICAgICAgQGluY2x1ZGUgbXEge1xuICAgICAgICAgICAgZm9udC1zaXplOiBwYygtLWZzLXMpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAudGVsIHtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXRoaXJkKTtcbiAgICAgICAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1mYW1pbHktZW4pO1xuICAgICAgICAgIGZvbnQtc2l6ZTogdncoLS1mcy1zKTtcbiAgICAgICAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtbWVkaXVtKTtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMTQyJTtcbiAgICAgICAgICBnYXA6IHZ3KDRweCk7XG4gICAgICAgICAgQGluY2x1ZGUgbXEge1xuICAgICAgICAgICAgZ2FwOiBwYyg0cHgpO1xuICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgICAgICBmb250LXNpemU6IHBjKC0tZnMtcyk7XG4gICAgICAgICAgfVxuICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgbWFzay1pbWFnZTogdXJsKC9pbWFnZXMvaWNvbl90ZWwuc3ZnKTtcbiAgICAgICAgICAgIG1hc2stc2l6ZTogY29udGFpbjtcbiAgICAgICAgICAgIG1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICBtYXNrLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci10aGlyZCk7XG4gICAgICAgICAgICB3aWR0aDogdncoMjBweCk7XG4gICAgICAgICAgICBoZWlnaHQ6IHZ3KDIwcHgpO1xuICAgICAgICAgICAgQGluY2x1ZGUgbXEge1xuICAgICAgICAgICAgICB3aWR0aDogcGMoMjBweCk7XG4gICAgICAgICAgICAgIGhlaWdodDogcGMoMjBweCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBtYXNrLWltYWdlOiB1cmwoL2ltYWdlcy9pY29uX2Fycm93X25leHQuc3ZnKTtcbiAgICAgICAgICAgIG1hc2stc2l6ZTogY29udGFpbjtcbiAgICAgICAgICAgIG1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICBtYXNrLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci10aGlyZCk7XG4gICAgICAgICAgICB3aWR0aDogdncoMjBweCk7XG4gICAgICAgICAgICBoZWlnaHQ6IHZ3KDIwcHgpO1xuICAgICAgICAgICAgQGluY2x1ZGUgbXEge1xuICAgICAgICAgICAgICBjb250ZW50OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaG91cnMge1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IHZ3KC0tYm9yZGVyLXJhZGl1cy1zbWFsbCk7XG4gICAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItZ3JheS13ZWFrKTtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgZm9udC1zaXplOiB2dygtLWZzLXhzKTtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMTYwJTtcbiAgICAgICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgICAgICAgQGluY2x1ZGUgbXEge1xuICAgICAgICAgICAgZm9udC1zaXplOiBwYygtLWZzLXhzKTtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IHBjKC0tYm9yZGVyLXJhZGl1cy1zbWFsbCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4udHlwZV9hcmVhIHtcbiAgbWFyZ2luLXRvcDogdncoLS1tYXJnaW4tdG9wLTEpO1xuICBAaW5jbHVkZSBtcSB7XG4gICAgbWFyZ2luLXRvcDogcGMoLS1tYXJnaW4tdG9wLTEpO1xuICB9XG4gIC5pbm5lciB7XG4gICAgQGluY2x1ZGUgY29udGFpbmVyO1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMSwgMWZyKTtcbiAgICBnYXA6IHZ3KDE2cHgpO1xuICAgIEBpbmNsdWRlIG1xIHtcbiAgICAgIGdhcDogcGMoOHB4KTtcbiAgICB9XG4gICAgLnVuaXQge1xuICAgICAgYm9yZGVyLXJhZGl1czogdncoLS1ib3JkZXItcmFkaXVzLW1lZGl1bSk7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXIpO1xuICAgICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3Itc3VyZmFjZSk7XG4gICAgICBwYWRkaW5nOiB2dygxNnB4KTtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciB2YXIoLS10cmFuc2l0aW9uLXNwZWVkLWZhc3QpIHZhcigtLWJlemllcik7XG4gICAgICBAaW5jbHVkZSBtcSB7XG4gICAgICAgIHBhZGRpbmc6IHBjKDE2cHgpO1xuICAgICAgICBib3JkZXItcmFkaXVzOiBwYygtLWJvcmRlci1yYWRpdXMtbWVkaXVtKTtcbiAgICAgIH1cbiAgICAgIEBtZWRpYSAoYW55LWhvdmVyOiBob3Zlcikge1xuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLWJyYW5kKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJi5pcy1hY3RpdmUge1xuICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLWJvcmRlcik7XG4gICAgICAgIC5hcmVhIHtcbiAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBjZW50ZXIgLyBjb250YWluIG5vLXJlcGVhdCB1cmwoL2ltYWdlcy9pY29uX21pbnVzLnN2Zyk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICAuYXJlYSB7XG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIGF1dG87XG4gICAgICAgIGdhcDogdncoMTJweCk7XG4gICAgICAgIEBpbmNsdWRlIG1xIHtcbiAgICAgICAgICBnYXA6IHBjKDE2cHgpO1xuICAgICAgICB9XG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICB3aWR0aDogdncoMjRweCk7XG4gICAgICAgICAgYXNwZWN0LXJhdGlvOiAxIC8gMTtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiBjZW50ZXIgLyBjb250YWluIG5vLXJlcGVhdCB1cmwoL2ltYWdlcy9pY29uX3BsdXMuc3ZnKTtcbiAgICAgICAgICBAaW5jbHVkZSBtcSB7XG4gICAgICAgICAgICB3aWR0aDogcGMoMjRweCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGg0IHtcbiAgICAgICAgICBmb250LXNpemU6IHZ3KC0tZnMtbSk7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxMjUlO1xuICAgICAgICAgIEBpbmNsdWRlIG1xIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcGMoLS1mcy1sKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC50b3duIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgLnRvd25Jbm5lciB7XG4gICAgICAgICAgcGFkZGluZy10b3A6IHZ3KDE2cHgpO1xuICAgICAgICAgIEBpbmNsdWRlIG1xIHtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiBwYygxNnB4KTtcbiAgICAgICAgICB9XG4gICAgICAgICAgcCB7XG4gICAgICAgICAgICBmb250LXNpemU6IHZ3KC0tZnMteHMpO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LW1lZGl1bSk7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMTUwJTtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1xIHtcbiAgICAgICAgICAgICAgZm9udC1zaXplOiBwYygtLWZzLXMpO1xuICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMTcxJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbi5jb21wb25lbnQudHlwZV9pbWFnZV9tdWx0aS5zZXQxLnN0b3JlSW1hZ2Uge1xuICAuaW5uZXIge1xuICAgIC5wSW1hZ2VDYXB0aW9uIHtcbiAgICAgIEBpbmNsdWRlIG1xIHtcbiAgICAgICAgbWF4LXdpZHRoOiB1bnNldDtcbiAgICAgIH1cbiAgICAgIGltZyB7XG4gICAgICAgIGFzcGVjdC1yYXRpbzogMTAyNCAvIDY4MjtcbiAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgICAgIG9iamVjdC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuLnBOZXdzQ2F0ZWdvcnkge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4uY29tcG9uZW50LnR5cGVfcGFnZXRpdGxlIHtcbiAgLmlubmVyIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogdncoMTZweCk7XG4gICAgQGluY2x1ZGUgbXEoKSB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogdW5zZXQ7XG4gICAgfVxuICB9XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5AaW1wb3J0IFwibWl4aW5zXCI7XG5cbiN0b3BTbGlkZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIC5zd2lwZXIge1xuICAgIC5zd2lwZXItc2xpZGUge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgLnRleHQge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGluc2V0OiAwO1xuICAgICAgICB6LWluZGV4OiAyO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgICBnYXA6IHZ3KDI0cHgpO1xuICAgICAgICBwYWRkaW5nLWlubGluZTogdncoLS1jb250YWluZXItcGFkZGluZy1zcCk7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiB2dyg0MHB4KTtcbiAgICAgICAgQGluY2x1ZGUgbXEoKSB7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgcGFkZGluZy1pbmxpbmU6IHBjKDgwcHgpO1xuICAgICAgICAgIHBhZGRpbmctYm90dG9tOiB1bnNldDtcbiAgICAgICAgICBnYXA6IHBjKDI0cHgpO1xuICAgICAgICB9XG4gICAgICAgIC5wUGFnZVRpdGxlIHtcbiAgICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1vbi1hY2NlbnQpO1xuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgfVxuICAgICAgLmltYWdlIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGltZyB7XG4gICAgICAgICAgYXNwZWN0LXJhdGlvOiAzNzUgLyA1MjA7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgICAgIG9iamVjdC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICAgIEBpbmNsdWRlIG1xKCkge1xuICAgICAgICAgICAgYXNwZWN0LXJhdGlvOiAxNDQwIC8gNDgwO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAubmF2aWdhdGlvbnMge1xuICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgIGdyaWQtdGVtcGxhdGU6XG4gICAgICBcInByZXYgcGFnaW5hdGlvbiBuZXh0XCIgYXV0b1xuICAgICAgLyAxZnIgYXV0byAxZnI7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgZ2FwOiB2dygzMnB4KTtcbiAgICAgIG1hcmdpbi10b3A6IHZ3KDE2cHgpO1xuICAgICAgQGluY2x1ZGUgbXEoKSB7XG4gICAgICAgIG1hcmdpbi10b3A6IHBjKDI0cHgpO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cbiAgICAgIC5zd2lwZXItYnV0dG9uLW5leHQsIC5zd2lwZXItYnV0dG9uLXByZXYge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB3aWR0aDogdncoMzJweCk7XG4gICAgICAgIGhlaWdodDogdncoMzJweCk7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tY29sb3ItZ3JheS1zdHJvbmcpIDcwJSwgdHJhbnNwYXJlbnQpO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICAgIGdyaWQtYXJlYTogbmV4dDtcbiAgICAgICAgbWFyZ2luLXRvcDogdW5zZXQ7XG4gICAgICAgIEBpbmNsdWRlIG1xIHtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgdG9wOiA0MiU7XG4gICAgICAgICAgd2lkdGg6IHBjKDU2cHgpO1xuICAgICAgICAgIGhlaWdodDogcGMoNTZweCk7XG4gICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgIHRyYW5zbGF0ZTogcGMoNTgwcHgpIDA7XG4gICAgICAgICAgQGluY2x1ZGUgaG92ZXJPcDtcbiAgICAgICAgfVxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgY29udGVudDogbm9uZTtcbiAgICAgICAgfVxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgIG1hc2staW1hZ2U6IHVybCgvaW1hZ2VzL2ljb25fYXJyb3dfbmV4dC5zdmcpO1xuICAgICAgICAgIG1hc2stc2l6ZTogY29udGFpbjtcbiAgICAgICAgICBtYXNrLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgIG1hc2stcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgICB3aWR0aDogdncoMTNweCk7XG4gICAgICAgICAgaGVpZ2h0OiB2dygxM3B4KTtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LW9uLWFjY2VudCk7XG4gICAgICAgICAgQGluY2x1ZGUgbXEge1xuICAgICAgICAgICAgd2lkdGg6IHBjKDI0cHgpO1xuICAgICAgICAgICAgaGVpZ2h0OiBwYygyNHB4KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJjpub3QoLnN3aXBlci1idXR0b24tZGlzYWJsZWQpIHtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICB9XG4gICAgICAgICYuc3dpcGVyLWJ1dHRvbi1kaXNhYmxlZCB7XG4gICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLnN3aXBlci1idXR0b24tcHJldiB7XG4gICAgICAgIGdyaWQtYXJlYTogcHJldjtcbiAgICAgICAganVzdGlmeS1zZWxmOiBlbmQ7XG4gICAgICAgIEBpbmNsdWRlIG1xIHtcbiAgICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICAgIHJpZ2h0OiA1MCU7XG4gICAgICAgICAgdHJhbnNsYXRlOiBwY21heCgtNTgwcHgpIDA7XG4gICAgICAgIH1cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICBtYXNrLWltYWdlOiB1cmwoL2ltYWdlcy9pY29uX2Fycm93X3ByZXYuc3ZnKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLnN3aXBlci1wYWdpbmF0aW9uIHtcbiAgICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICAgICAgZ3JpZC1hcmVhOiBwYWdpbmF0aW9uO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldCB7XG4gICAgICAgICAgbWFyZ2luLWlubGluZTogdncoOHB4KTtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1ib3JkZXIpO1xuICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgQGluY2x1ZGUgbXEoKSB7XG4gICAgICAgICAgICBtYXJnaW4taW5saW5lOiBwYygxMnB4KTtcbiAgICAgICAgICAgIHdpZHRoOiBwYygxMnB4KTtcbiAgICAgICAgICAgIGhlaWdodDogcGMoMTJweCk7XG4gICAgICAgICAgfVxuICAgICAgICAgICYuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LWFjdGl2ZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1icmFuZCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICB9XG4gIH1cbiAgLnJlcXVpcmVtZW50cyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIGJvdHRvbTogdncoOTBweCk7XG4gICAgcmlnaHQ6IDA7XG4gICAgei1pbmRleDogMjtcbiAgICBmaWx0ZXI6IGRyb3Atc2hhZG93KDAgMnB4IDVweCByZ2JhKDAsIDAsIDAsIDAuMjQpKTtcbiAgICBAaW5jbHVkZSBtcSgpIHtcbiAgICAgIGJvdHRvbTogcGMoMTYwcHgpO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgfVxuICAgIGltZyB7XG4gICAgICB3aWR0aDogdncoNDBweCk7XG4gICAgICBAaW5jbHVkZSBtcSgpIHtcbiAgICAgICAgd2lkdGg6IHBjKDQ4cHgpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuI3RvcEhlYWRsaW5lIHtcbiAgbWFyZ2luLXRvcDogdncoMzJweCk7XG4gIEBpbmNsdWRlIGNvbnRhaW5lcjtcbiAgQGluY2x1ZGUgbXEoKSB7XG4gICAgbWFyZ2luLXRvcDogcGMoNTZweCk7XG4gIH1cbiAgLmlubmVyIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGU6XG4gICAgXCJoZWFkaW5nIHRleHRcIiBhdXRvXG4gICAgLyBhdXRvIDFmcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHBhZGRpbmc6IHZ3KDE2cHgpIHZ3KDhweCk7XG4gICAgZ2FwOiB2dygxNnB4KTtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyKTtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyKTtcbiAgICBAaW5jbHVkZSBtcSgpIHtcbiAgICAgIHBhZGRpbmc6IHBjKDE2cHgpIDA7XG4gICAgICBnYXA6IHBjKDMycHgpO1xuICAgIH1cbiAgICBoMiB7XG4gICAgICBncmlkLWFyZWE6IGhlYWRpbmc7XG4gICAgICBpbWcge1xuICAgICAgICB3aWR0aDogdncoNDJweCk7XG4gICAgICAgIEBpbmNsdWRlIG1xKCkge1xuICAgICAgICAgIHdpZHRoOiBwYyg1MXB4KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgXG4gICAgfVxuICAgIHAge1xuICAgICAgZm9udC1zaXplOiB2dygtLWZzLXMpO1xuICAgICAgZ3JpZC1hcmVhOiB0ZXh0O1xuICAgICAgbGluZS1oZWlnaHQ6IDE0MiU7XG4gICAgICBAaW5jbHVkZSBtcSgpIHtcbiAgICAgICAgZm9udC1zaXplOiBwYygtLWZzLW0pO1xuICAgICAgICBsaW5lLWhlaWdodDogMTUwJTtcbiAgICAgIH1cbiAgICAgIGEge1xuICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciBhdXRvO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBnYXA6IHZ3KDE2cHgpO1xuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciB2YXIoLS10cmFuc2l0aW9uLXNwZWVkKSB2YXIoLS1iZXppZXIpO1xuICAgICAgICBAaW5jbHVkZSBtcSgpIHtcbiAgICAgICAgICBnYXA6IHBjKDMycHgpO1xuICAgICAgICB9XG4gICAgICAgIEBtZWRpYSAoYW55LWhvdmVyOiBob3Zlcikge1xuICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWJyYW5kKTtcbiAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYnJhbmQpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgd2lkdGg6IHZ3KDI0cHgpO1xuICAgICAgICAgIGhlaWdodDogdncoMjRweCk7XG4gICAgICAgICAgbWFzay1pbWFnZTogdXJsKC9pbWFnZXMvaWNvbl9hcnJvd19uZXh0LnN2Zyk7XG4gICAgICAgICAgbWFzay1zaXplOiBjb250YWluO1xuICAgICAgICAgIG1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgbWFzay1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJsYWNrKTtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIHZhcigtLXRyYW5zaXRpb24tc3BlZWQpIHZhcigtLWJlemllcik7XG4gICAgICAgICAgQGluY2x1ZGUgbXEoKSB7XG4gICAgICAgICAgICB3aWR0aDogcGMoMjRweCk7XG4gICAgICAgICAgICBoZWlnaHQ6IHBjKDI0cHgpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG59XG4jdG9wTWFpbiB7XG4gIG1hcmdpbi10b3A6IHZ3KDMycHgpO1xuICBwYWRkaW5nLWJsb2NrOiB2dygzMnB4KSB2dyg1NnB4KTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmFja2dyb3VuZCk7XG4gIEBpbmNsdWRlIG1xKCkge1xuICAgIG1hcmdpbi10b3A6IHBjKDI0cHgpO1xuICAgIHBhZGRpbmctYmxvY2s6IHBjKDU2cHgpIHBjKDk2cHgpO1xuICB9XG4gIC5pbm5lciB7XG4gICAgQGluY2x1ZGUgY29udGFpbmVyO1xuICAgIEBpbmNsdWRlIG1xKCkge1xuICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgIGdyaWQtdGVtcGxhdGU6XG4gICAgICBcIm5hdiBsaW5ldXBcIiBhdXRvXG4gICAgICAvIHBjKDI4NnB4KSBhdXRvO1xuICAgICAgZ2FwOiBwYygzMnB4KTtcbiAgICB9XG4gIH1cblxufVxuI3RvcE1haW5OYXYge1xuICBkaXNwbGF5OiBub25lO1xuICBAaW5jbHVkZSBtcSgpIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBncmlkLWFyZWE6IG5hdjtcbiAgICAuYmcge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3Itc3VyZmFjZSk7XG4gICAgICBwYWRkaW5nOiBwYygxNnB4KSBwYygxNnB4KSBwYyg1NnB4KSBwYygxNnB4KTtcbiAgICAgIHBvc2l0aW9uOiBzdGlja3k7XG4gICAgICB0b3A6IDA7XG4gICAgICBoMiB7XG4gICAgICAgIGZvbnQtc2l6ZTogcGMoLS1mcy1sKTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgICAgICBsaW5lLWhlaWdodDogMTU1LjU1NiU7XG4gICAgICB9XG4gICAgICBoMyB7XG4gICAgICAgIG1hcmdpbi10b3A6IHBjKDE2cHgpO1xuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1ncmF5LXdlYWspO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGZvbnQtc2l6ZTogcGMoLS1mcy14cyk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE1MCU7XG4gICAgICB9XG4gICAgICA+IHVsIHtcbiAgICAgICAgPiBsaSB7XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlcik7XG4gICAgICAgICAgPiBhLCBoNCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIGF1dG87XG4gICAgICAgICAgICBnYXA6IHBjKDhweCk7XG4gICAgICAgICAgICBwYWRkaW5nLWJsb2NrOiBwYyg5cHgpO1xuICAgICAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQpO1xuICAgICAgICAgICAgZm9udC1zaXplOiBwYygtLWZzLXMpO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LW1lZGl1bSk7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMTQyJTtcbiAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICB3aWR0aDogcGMoMTJweCk7XG4gICAgICAgICAgICAgIGhlaWdodDogcGMoMTJweCk7XG4gICAgICAgICAgICAgIG1hc2staW1hZ2U6IHVybCgvaW1hZ2VzL2ljb25fYXJyb3dfbmV4dC5zdmcpO1xuICAgICAgICAgICAgICBtYXNrLXNpemU6IGNvbnRhaW47XG4gICAgICAgICAgICAgIG1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXRleHQpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICA+IGg0IHtcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgcm90YXRlOiB6IDkwZGVnO1xuICAgICAgICAgICAgICB0cmFuc2l0aW9uOiByb3RhdGUgdmFyKC0tdHJhbnNpdGlvbi1zcGVlZCkgdmFyKC0tYmV6aWVyKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICYuaXMtYWN0aXZlIHtcbiAgICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIHJvdGF0ZTogeiAtOTBkZWc7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgLnN1YiB7XG4gICAgICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogaGVpZ2h0IHZhcigtLXRyYW5zaXRpb24tc3BlZWQpIHZhcigtLWJlemllcik7XG4gICAgICAgICAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgICAgaGVpZ2h0OiBjYWxjLXNpemUoYXV0bywgc2l6ZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBsaSB7XG4gICAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IHBjKDEycHgpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctYmxvY2s6IHBjKDEwcHgpO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctaW5saW5lOiBwYygxMnB4KTtcbiAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dCwgIzAwMCk7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiBwYygtLWZzLXhzKTtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMTUwJTtcbiAgICAgICAgICAgICAgICBAbWVkaWEgKGFueS1ob3ZlcjogaG92ZXIpIHtcbiAgICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItZ3JheSk7XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4jdG9wTGluZXVwIHtcbiAgZ3JpZC1hcmVhOiBsaW5ldXA7XG4gIC5jaGVjayB7XG4gICAgbWFyZ2luLWlubGluZTogYXV0bztcbiAgICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gICAgcGFkZGluZzogdncoNHB4KSB2dygzMnB4KTtcbiAgICBib3JkZXItcmFkaXVzOiB2dygtLWJvcmRlci1yYWRpdXMtc21hbGwpO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXRoaXJkKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1vbi1hY2NlbnQpO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBmb250LXNpemU6IHZ3KC0tZnMtcyk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgIGxpbmUtaGVpZ2h0OiAxNDIlO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBAaW5jbHVkZSBtcSgpIHtcbiAgICAgIHBhZGRpbmc6IHBjKDE2cHgpIHBjKDU2cHgpO1xuICAgICAgZm9udC1zaXplOiBwYygtLWZzLXhsKTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IHBjKC0tYm9yZGVyLXJhZGl1cy1tZWRpdW0pO1xuXG4gICAgfVxuICAgICY6OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB3aWR0aDogdncoMTFweCk7XG4gICAgICBhc3BlY3QtcmF0aW86IDEvY29zKDMwZGVnKTtcbiAgICAgIGNsaXAtcGF0aDogcG9seWdvbig1MCUgMTAwJSwxMDAlIDAsMCAwKTtcbiAgICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXRoaXJkKTtcbiAgICAgIGJvdHRvbTogdncoLTlweCk7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICB0cmFuc2xhdGU6IC01MCUgMDtcbiAgICAgIEBpbmNsdWRlIG1xKCkge1xuICAgICAgICB3aWR0aDogcGMoMTdweCk7XG4gICAgICAgIGJvdHRvbTogcGNtYXgoLTExcHgpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBoMiB7XG4gICAgbWFyZ2luLXRvcDogdncoOHB4KTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dCk7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGZvbnQtc2l6ZTogdncoLS1mcy14eHhsKTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgbGluZS1oZWlnaHQ6IDE1MCU7XG4gICAgQGluY2x1ZGUgbXEoKSB7XG4gICAgICBmb250LXNpemU6IHBjKC0tZnMteHh4eGwpO1xuICAgICAgbGluZS1oZWlnaHQ6IDEyMCU7XG4gICAgICBtYXJnaW4tdG9wOiBwYygyNHB4KTtcbiAgICB9XG4gIH1cbiAgaDMge1xuICAgIG1hcmdpbi10b3A6IHZ3KDE2cHgpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZ3KC0tYm9yZGVyLXJhZGl1cy1zbWFsbCk7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItZ3JheS13ZWFrKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dCk7XG4gICAgZm9udC1zaXplOiB2dygtLWZzLW0pO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICBwYWRkaW5nOiB2dyg2cHgpIHZ3KDhweCkgdncoOHB4KTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgQGluY2x1ZGUgbXEoKSB7XG4gICAgICBtYXJnaW4tdG9wOiBwYygyNHB4KTtcbiAgICAgIGZvbnQtc2l6ZTogcGMoLS1mcy14bCk7XG4gICAgICBwYWRkaW5nOiBwYyg4cHgpIHBjKDhweCkgcGMoMTBweCk7XG4gICAgICBib3JkZXItcmFkaXVzOiBwYygtLWJvcmRlci1yYWRpdXMtbWVkaXVtKTtcbiAgICB9XG4gIH1cbiAgdWwge1xuICAgIG1hcmdpbi10b3A6IHZ3KDE2cHgpO1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTtcbiAgICBnYXA6IHZ3KDE2cHgpO1xuICAgIEBpbmNsdWRlIG1xKCkge1xuICAgICAgbWFyZ2luLXRvcDogcGMoMjRweCk7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLCAxZnIpO1xuICAgICAgZ2FwOiBwYygyNHB4KTtcbiAgICB9XG4gICAgKyBoMyB7XG4gICAgICBtYXJnaW4tdG9wOiB2dygyNnB4KTtcbiAgICAgIEBpbmNsdWRlIG1xKCkge1xuICAgICAgICBtYXJnaW4tdG9wOiBwYyg1NnB4KTtcbiAgICAgIH1cbiAgICB9XG4gICAgbGkge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBhIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogdncoLS1ib3JkZXItcmFkaXVzLXNtYWxsKTtcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3Itc3VyZmFjZSk7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMXB4IDNweCAwIHJnYmEoMCwgMCwgMCwgMC4xMCk7XG4gICAgICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgdmFyKC0tdHJhbnNpdGlvbi1zcGVlZCkgdmFyKC0tYmV6aWVyKTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBwYWRkaW5nLWJsb2NrOiB2dyg4cHgpO1xuICAgICAgICBAaW5jbHVkZSBtcSgpIHtcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiBwYygtLWJvcmRlci1yYWRpdXMtbWVkaXVtKTtcbiAgICAgICAgICBwYWRkaW5nLWJsb2NrOiBwYygxNnB4KTtcbiAgICAgICAgfVxuICAgICAgICBAbWVkaWEgKGFueS1ob3ZlcjogaG92ZXIpIHtcbiAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMXB4IDVweCAwIHJnYmEoMCwgMCwgMCwgMC4yMCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGZpZ3VyZSB7XG4gICAgICAgICAgZmlnY2FwdGlvbiB7XG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dCk7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICBmb250LXNpemU6IHZ3KC0tZnMteHMpO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LW1lZGl1bSk7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMTUwJTtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1xKCkge1xuICAgICAgICAgICAgICBtYXJnaW4tdG9wOiBwYygxNnB4KTtcbiAgICAgICAgICAgICAgZm9udC1zaXplOiBwYygtLWZzLXMpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4jdG9wTWV0aG9kIHtcbiAgcGFkZGluZy1ibG9jazogdncoNTZweCk7XG4gIEBpbmNsdWRlIG1xKCkge1xuICAgIHBhZGRpbmctYmxvY2s6IHBjKDk2cHgpO1xuICB9XG4gIC5pbm5lciB7XG4gICAgQGluY2x1ZGUgY29udGFpbmVyO1xuICAgIEBpbmNsdWRlIG1xKCkge1xuICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgIGdyaWQtdGVtcGxhdGU6XG4gICAgICBcInRpdGxlIGxpc3RcIiBhdXRvXG4gICAgICBcImJ1dHRvbiBidXR0b25cIiBhdXRvXG4gICAgICAvIHBjKDI4NnB4KSAxZnI7XG4gICAgICBnYXA6IDAgcGMoMzJweCk7XG4gICAgfVxuICAgIC50aXRsZSB7XG4gICAgICAubG9nbyB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgaW1nIHtcbiAgICAgICAgICB3aWR0aDogdncoMjczcHgpO1xuICAgICAgICAgIEBpbmNsdWRlIG1xKCkge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCVcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGgyIHtcbiAgICAgICAgbWFyZ2luLXRvcDogdncoMTZweCk7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IHZ3KC0tYm9yZGVyLXJhZGl1cy1zbWFsbCk7XG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWdyYXktc3Ryb25nKTtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtb24tYWNjZW50KTtcbiAgICAgICAgZm9udC1zaXplOiB2dygtLWZzLW0pO1xuICAgICAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxNTAlO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIEBpbmNsdWRlIG1xKCkge1xuICAgICAgICAgIG1hcmdpbi10b3A6IHBjKDI0cHgpO1xuICAgICAgICAgIGZvbnQtc2l6ZTogcGMoLS1mcy14bCk7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDEyMCU7XG4gICAgICAgICAgcGFkZGluZzogcGMoNHB4KSBwYyg0cHgpIHBjKDZweCk7XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogdW5zZXQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC5sZWFkIHtcbiAgICAgICAgbWFyZ2luLXRvcDogdncoMjRweCk7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0KTtcbiAgICAgICAgZm9udC1zaXplOiB2dygtLWZzLW0pO1xuICAgICAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtcmVndWxhcik7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxNTAlO1xuICAgICAgICBAaW5jbHVkZSBtcSgpIHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiBwYygyNHB4KTtcbiAgICAgICAgICBmb250LXNpemU6IHBjKC0tZnMtbSk7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDE3NSU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgLm1ldGhvZExpc3Qge1xuICAgICAgbWFyZ2luLXRvcDogdncoMjRweCk7XG4gICAgICBAaW5jbHVkZSBtcSgpIHtcbiAgICAgICAgbWFyZ2luLXRvcDogdW5zZXQ7XG4gICAgICB9XG4gICAgfVxuICAgIC5idXR0b24ge1xuICAgICAgbWFyZ2luLXRvcDogdncoMjRweCk7XG4gICAgICBAaW5jbHVkZSBtcSgpIHtcbiAgICAgICAgbWFyZ2luLXRvcDogcGMoNTZweCk7XG4gICAgICAgIGdyaWQtYXJlYTogYnV0dG9uO1xuICAgICAgfVxuICAgICAgLnBCdXR0b24ge1xuICAgICAgICBtYXJnaW4taW5saW5lOiBhdXRvO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG59XG4ubWV0aG9kTGlzdCB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDMsIDFmcik7XG4gIGdhcDogdncoMTZweCk7XG4gIEBpbmNsdWRlIG1xKCkge1xuICAgIGdhcDogcGMoMTZweCk7XG4gIH1cbiAgbGkge1xuICAgIGEge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBib3JkZXItcmFkaXVzOiB2dygtLWJvcmRlci1yYWRpdXMtbWVkaXVtKTtcbiAgICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXRoaXJkKTtcbiAgICAgIGJveC1zaGFkb3c6IDAgMXB4IDNweCAwIHJnYmEoMCwgMCwgMCwgMC4xMCk7XG4gICAgICBwYWRkaW5nOiB2dyg0cHgpO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciB2YXIoLS10cmFuc2l0aW9uLXNwZWVkKSB2YXIoLS1iZXppZXIpO1xuICAgICAgQGluY2x1ZGUgbXEoKSB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IHBjKC0tYm9yZGVyLXJhZGl1cy1sYXJnZSk7XG4gICAgICAgIHBhZGRpbmc6IHBjKDE2cHgpO1xuICAgICAgfVxuICAgICAgQG1lZGlhIChhbnktaG92ZXI6IGhvdmVyKSB7XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJyYW5kKTtcbiAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1icmFuZCk7XG4gICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJyYW5kKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGZpZ3VyZSB7XG4gICAgICAgIGltZyB7XG4gICAgICAgICAgd2lkdGg6IHZ3KDU2cHgpO1xuICAgICAgICAgIEBpbmNsdWRlIG1xKCkge1xuICAgICAgICAgICAgd2lkdGg6IHBjKDEyMHB4KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgZmlnY2FwdGlvbiB7XG4gICAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtb24tYWNjZW50KTtcbiAgICAgICAgICBmb250LXNpemU6IHZ3KC0tZnMteHhzKTtcbiAgICAgICAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtbWVkaXVtKTtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMTUwJTtcbiAgICAgICAgICBAaW5jbHVkZSBtcSgpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcGMoLS1mcy1sKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHNwYW4ge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogdncoLS1ib3JkZXItcmFkaXVzLXNtYWxsKTtcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmFja2dyb3VuZCk7XG4gICAgICAgIG1hcmdpbi10b3A6IHZ3KDRweCk7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci10aGlyZCk7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgZm9udC1zaXplOiB2dygtLWZzLXMpO1xuICAgICAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxNDIlO1xuICAgICAgICBwYWRkaW5nOiB2dyg0cHgpIHZ3KDRweCkgdncoNHB4KSB2dygxMnB4KTtcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1zcGVlZCkgdmFyKC0tYmV6aWVyKTtcbiAgICAgICAgQGluY2x1ZGUgbXEoKSB7XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogcGMoLS1ib3JkZXItcmFkaXVzLXNtYWxsKTtcbiAgICAgICAgICBwYWRkaW5nOiBwYyg2cHgpIHBjKDhweCkgcGMoOHB4KSBwYygxNnB4KTtcbiAgICAgICAgICBmb250LXNpemU6IHBjKC0tZnMteGwpO1xuICAgICAgICAgIG1hcmdpbi10b3A6IHBjKDhweCk7XG4gICAgICAgICAgZ2FwOiBwYygxMnB4KTtcbiAgICAgICAgfVxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIHdpZHRoOiB2dygxNHB4KTtcbiAgICAgICAgICBoZWlnaHQ6IHZ3KDE0cHgpO1xuICAgICAgICAgIEBpbmNsdWRlIG1xKCkge1xuICAgICAgICAgICAgd2lkdGg6IHBjKDI0cHgpO1xuICAgICAgICAgICAgaGVpZ2h0OiBwYygyNHB4KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIHdpZHRoOiB2dygxNHB4KTtcbiAgICAgICAgICBoZWlnaHQ6IHZ3KDE0cHgpO1xuICAgICAgICAgIG1hc2staW1hZ2U6IHVybCgvaW1hZ2VzL2ljb25fYXJyb3dfbmV4dC5zdmcpO1xuICAgICAgICAgIG1hc2stc2l6ZTogY29udGFpbjtcbiAgICAgICAgICBtYXNrLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgIG1hc2stcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci10aGlyZCk7XG4gICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciB2YXIoLS10cmFuc2l0aW9uLXNwZWVkKSB2YXIoLS1iZXppZXIpO1xuICAgICAgICAgIEBpbmNsdWRlIG1xKCkge1xuICAgICAgICAgICAgd2lkdGg6IHBjKDI0cHgpO1xuICAgICAgICAgICAgaGVpZ2h0OiBwYygyNHB4KTtcbiAgICAgICAgICAgIHRyYW5zbGF0ZTogMCBwYygxcHgpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuI3RvcENoZWNrIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmFja2dyb3VuZCk7XG4gIHBhZGRpbmctYmxvY2s6IHZ3KDMycHgpIHZ3KDU2cHgpO1xuICBAaW5jbHVkZSBtcSgpIHtcbiAgICBwYWRkaW5nLWJsb2NrOiBwYyg1NnB4KSBwYyg5NnB4KTtcbiAgfVxuICAuaW5uZXIge1xuICAgIEBpbmNsdWRlIGNvbnRhaW5lcjtcbiAgICAubGluZSB7XG4gICAgICBoMiB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIH1cbiAgICAgIGEge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luLXRvcDogdncoMTZweCk7XG4gICAgICAgIEBpbmNsdWRlIGhvdmVyT3A7XG4gICAgICAgIEBpbmNsdWRlIG1xKCkge1xuICAgICAgICAgIG1hcmdpbi10b3A6IHBjKDE2cHgpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIC5iYW5uZXIge1xuICAgICAgbWFyZ2luLXRvcDogdncoNTZweCk7XG4gICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMSwgMWZyKTtcbiAgICAgIGdhcDogdncoMTZweCk7XG4gICAgICBAaW5jbHVkZSBtcSgpIHtcbiAgICAgICAgbWFyZ2luLXRvcDogcGMoNTZweCk7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7XG4gICAgICAgIGdhcDogcGMoMzJweCk7XG4gICAgICB9XG4gICAgICBsaSB7XG4gICAgICAgIGEge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIEBpbmNsdWRlIGhvdmVyT3A7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiN0b3BTdG9yZUluZm8ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1ncmF5LXN0cm9uZyk7XG4gIHBhZGRpbmctYmxvY2s6IHZ3KDU2cHgpO1xuICBAaW5jbHVkZSBtcSgpIHtcbiAgICBwYWRkaW5nLWJsb2NrOiBwYyg1NnB4KTtcbiAgfVxuICAuaW5uZXIge1xuICAgIEBpbmNsdWRlIGNvbnRhaW5lcjtcbiAgICBAaW5jbHVkZSBtcSgpIHtcbiAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICBncmlkLXRlbXBsYXRlOlxuICAgICAgXCJ0aXRsZSBpbWFnZVwiIGF1dG9cbiAgICAgIFwidGV4dCBpbWFnZVwiIGF1dG9cbiAgICAgIC8gMWZyIHBjKDYwMHB4KTtcbiAgICAgIGdhcDogcGMoNDhweCkgcGMoNjRweCk7XG4gICAgfVxuICAgIC50aXRsZSB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBAaW5jbHVkZSBtcSgpIHtcbiAgICAgICAgZ3JpZC1hcmVhOiB0aXRsZTtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgcGFkZGluZy10b3A6IHBjKDIwcHgpO1xuICAgICAgfVxuICAgICAgcCB7XG4gICAgICAgIGltZyB7XG4gICAgICAgICAgd2lkdGg6IHZ3KDE2NHB4KTtcbiAgICAgICAgICBAaW5jbHVkZSBtcSgpIHtcbiAgICAgICAgICAgIHdpZHRoOiBwYygyNjBweCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICBoMiB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LW9uLWFjY2VudCk7XG4gICAgICAgIGZvbnQtc2l6ZTogdncoLS1mcy1tKTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LW1lZGl1bSk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxNTAlO1xuICAgICAgICBtYXJnaW4tdG9wOiB2dyg4cHgpO1xuICAgICAgICBAaW5jbHVkZSBtcSgpIHtcbiAgICAgICAgICBmb250LXNpemU6IHBjKC0tZnMtbCk7XG4gICAgICAgICAgbWFyZ2luLXRvcDogcGMoMjRweCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgLmltYWdlIHtcbiAgICAgIG1hcmdpbi10b3A6IHZ3KDI0cHgpO1xuICAgICAgQGluY2x1ZGUgbXEoKSB7XG4gICAgICAgIG1hcmdpbi10b3A6IHVuc2V0O1xuICAgICAgICBncmlkLWFyZWE6IGltYWdlO1xuICAgICAgfVxuICAgIH1cbiAgICAudGV4dCB7XG4gICAgICBtYXJnaW4tdG9wOiB2dygyNHB4KTtcbiAgICAgIEBpbmNsdWRlIG1xKCkge1xuICAgICAgICBtYXJnaW4tdG9wOiB1bnNldDtcbiAgICAgICAgZ3JpZC1hcmVhOiB0ZXh0O1xuICAgICAgICBhbGlnbi1zZWxmOiBlbmQ7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiBwYygyMHB4KTtcbiAgICAgIH1cbiAgICAgIHAge1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1vbi1hY2NlbnQpO1xuICAgICAgICBmb250LXNpemU6IHZ3KC0tZnMtbSk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1yZWd1bGFyKTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE1MCU7XG4gICAgICAgIEBpbmNsdWRlIG1xKCkge1xuICAgICAgICAgIGZvbnQtc2l6ZTogcGMoLS1mcy14bCk7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDE3NSU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC5wQnV0dG9uIHtcbiAgICAgICAgbWFyZ2luLXRvcDogdncoMjRweCk7XG4gICAgICAgIG1hcmdpbi1pbmxpbmU6IGF1dG87XG4gICAgICAgIEBpbmNsdWRlIG1xKCkge1xuICAgICAgICAgIG1hcmdpbi10b3A6IHBjKDQ4cHgpO1xuICAgICAgICAgIG1hcmdpbi1pbmxpbmU6IHVuc2V0O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4jdG9wQ29sdW1uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYm9yZGVyKTtcbiAgcGFkZGluZy1ibG9jazogdncoNTZweCk7XG4gIEBpbmNsdWRlIG1xKCkge1xuICAgIHBhZGRpbmctYmxvY2s6IHBjKDU2cHgpO1xuICB9XG4gIC5pbm5lciB7XG4gICAgLnRvcFRpdGxlIHtcbiAgICAgIG1hcmdpbi1pbmxpbmU6IHZ3KDI0cHgpO1xuICAgICAgQGluY2x1ZGUgbXEoKSB7XG4gICAgICAgIG1hcmdpbi1pbmxpbmU6IHVuc2V0O1xuICAgICAgICBAaW5jbHVkZSBjb250YWluZXI7XG4gICAgICB9XG4gICAgfVxuICAgIC5zd2lwZXIge1xuICAgICAgbWFyZ2luLXRvcDogdncoMzJweCk7XG4gICAgICBAaW5jbHVkZSBtcSgpIHtcbiAgICAgICAgbWFyZ2luLXRvcDogcGMoNTZweCk7XG4gICAgICB9XG4gICAgICAuc3dpcGVyLXNsaWRlIHtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1zdXJmYWNlKTtcbiAgICAgICAgcGFkZGluZzogdncoMjRweCk7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IHZ3KC0tYm9yZGVyLXJhZGl1cy1zbWFsbCk7XG4gICAgICAgIHdpZHRoOiB2dygyODBweCk7XG4gICAgICAgIG1hcmdpbi1pbmxpbmU6IHZ3KDhweCk7XG4gICAgICAgIEBpbmNsdWRlIG1xKCkge1xuICAgICAgICAgIHBhZGRpbmc6IHBjKDI0cHgpO1xuICAgICAgICAgIHdpZHRoOiBwYygzMzBweCk7XG4gICAgICAgICAgbWFyZ2luLWlubGluZTogcGMoMTJweCk7XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogcGMoLS1ib3JkZXItcmFkaXVzLW1lZGl1bSk7XG4gICAgICAgIH1cbiAgICAgICAgYSB7XG4gICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIGZpZ3VyZSB7XG4gICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICBhc3BlY3QtcmF0aW86IDIzMiAvIDE1NDtcbiAgICAgICAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgICAgICAgICAgIG9iamVjdC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiB2dygtLWJvcmRlci1yYWRpdXMtbWVkaXVtKTtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgbXEoKSB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogcGMoLS1ib3JkZXItcmFkaXVzLW1lZGl1bSk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGZpZ2NhcHRpb24ge1xuICAgICAgICAgICAgICBtYXJnaW4tdG9wOiB2dyg4cHgpO1xuICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dCk7XG4gICAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICAgICAgICBmb250LXNpemU6IHZ3KC0tZnMtcyk7XG4gICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1yZWd1bGFyKTtcbiAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE1MCU7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIG1xKCkge1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IHBjKDhweCk7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiBwYygtLWZzLXMpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIGgzIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IHZ3KDhweCk7XG4gICAgICAgICAgICBAaW5jbHVkZSBtcSgpIHtcbiAgICAgICAgICAgICAgbWFyZ2luLXRvcDogcGMoOHB4KTtcbiAgICAgICAgICAgICAgZm9udC1zaXplOiBwYygtLWZzLWwpO1xuICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMTQ0JTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC5zd2lwZXItYnV0dG9uLW5leHQsIC5zd2lwZXItYnV0dG9uLXByZXYge1xuICAgICAgICB3aWR0aDogdncoMzRweCk7XG4gICAgICAgIGhlaWdodDogdncoMzRweCk7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iYWNrZ3JvdW5kLXN0cm9uZyk7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciB2YXIoLS10cmFuc2l0aW9uLXNwZWVkKSB2YXIoLS1iZXppZXIpO1xuICAgICAgICBAaW5jbHVkZSBtcSB7XG4gICAgICAgICAgd2lkdGg6IHBjKDQ1cHgpO1xuICAgICAgICAgIGhlaWdodDogcGMoNDVweCk7XG4gICAgICAgIH1cbiAgICAgICAgQG1lZGlhIChhbnktaG92ZXI6IGhvdmVyKSB7XG4gICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1icmFuZCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICBjb250ZW50OiBub25lO1xuICAgICAgICB9XG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgbWFzay1pbWFnZTogdXJsKC9pbWFnZXMvaWNvbl9hcnJvd19uZXh0LnN2Zyk7XG4gICAgICAgICAgbWFzay1zaXplOiBjb250YWluO1xuICAgICAgICAgIG1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgbWFzay1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICAgIHdpZHRoOiB2dygyMHB4KTtcbiAgICAgICAgICBoZWlnaHQ6IHZ3KDIwcHgpO1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXRleHQtb24tYWNjZW50KTtcbiAgICAgICAgICBAaW5jbHVkZSBtcSB7XG4gICAgICAgICAgICB3aWR0aDogcGMoMjZweCk7XG4gICAgICAgICAgICBoZWlnaHQ6IHBjKDI2cHgpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmOm5vdCguc3dpcGVyLWJ1dHRvbi1kaXNhYmxlZCkge1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIH1cbiAgICAgICAgJi5zd2lwZXItYnV0dG9uLWRpc2FibGVkIHtcbiAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAuc3dpcGVyLWJ1dHRvbi1wcmV2IHtcbiAgICAgICAgbGVmdDogdncoMjRweCk7XG4gICAgICAgIEBpbmNsdWRlIG1xIHtcbiAgICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICAgIHJpZ2h0OiA1MCU7XG4gICAgICAgICAgdHJhbnNsYXRlOiBwY21heCgtNjQwcHgpIDA7XG4gICAgICAgIH1cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICBtYXNrLWltYWdlOiB1cmwoL2ltYWdlcy9pY29uX2Fycm93X3ByZXYuc3ZnKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLnN3aXBlci1idXR0b24tbmV4dCB7XG4gICAgICAgIHJpZ2h0OiB2dygyNHB4KTtcbiAgICAgICAgQGluY2x1ZGUgbXEge1xuICAgICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICB0cmFuc2xhdGU6IHBjbWF4KDU5NnB4KSAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIC5idXR0b24ge1xuICAgICAgbWFyZ2luLXRvcDogdncoMjRweCk7XG4gICAgICBAaW5jbHVkZSBtcSgpIHtcbiAgICAgICAgbWFyZ2luLXRvcDogcGMoNTZweCk7XG4gICAgICB9XG4gICAgICAucEJ1dHRvbiB7XG4gICAgICAgIG1hcmdpbi1pbmxpbmU6IGF1dG87XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4udG9wVGl0bGUge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBhZGRpbmctYm90dG9tOiB2dygxOHB4KTtcbiAgYm9yZGVyLWJvdHRvbTogdncoNnB4KSBzb2xpZCB2YXIoLS1jb2xvci1ibGFjayk7XG4gIEBpbmNsdWRlIG1xKCkge1xuICAgIHBhZGRpbmctYm90dG9tOiBwYygyNHB4KTtcbiAgICBib3JkZXItYm90dG9tOiBwYyg4cHgpIHNvbGlkIHZhcigtLWNvbG9yLWJsYWNrKTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgIGdhcDogcGMoMjBweCk7XG4gIH1cbiAgcCB7XG4gICAgaW1nIHtcbiAgICAgIGhlaWdodDogdncoMzVweCk7XG4gICAgICBAaW5jbHVkZSBtcSgpIHtcbiAgICAgICAgaGVpZ2h0OiBwYyg1NnB4KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgaDIge1xuICAgIGZvbnQtc2l6ZTogdncoLS1mcy1tKTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtbWVkaXVtKTtcbiAgICBsaW5lLWhlaWdodDogMTUwJTtcbiAgICBtYXJnaW4tdG9wOiB2dyg4cHgpO1xuICAgIEBpbmNsdWRlIG1xKCkge1xuICAgICAgZm9udC1zaXplOiBwYygtLWZzLXhsKTtcbiAgICAgIG1hcmdpbi10b3A6IHVuc2V0O1xuICAgIH1cbiAgfVxufVxuI3RvcE5ld3Mge1xuICBwYWRkaW5nLXRvcDogdncoNTZweCk7XG4gIEBpbmNsdWRlIG1xKCkge1xuICAgIHBhZGRpbmctdG9wOiBwYyg5NnB4KTtcbiAgfVxuICAudG9wVGl0bGUge1xuICAgIG1hcmdpbi1pbmxpbmU6IHZ3KDI0cHgpO1xuICAgIEBpbmNsdWRlIG1xKCkge1xuICAgICAgbWFyZ2luLWlubGluZTogdW5zZXQ7XG4gICAgICBAaW5jbHVkZSBjb250YWluZXI7XG4gICAgfVxuICB9XG4gIC5uZXdzTGlzdCB7XG4gICAgbWFyZ2luLXRvcDogdncoMjRweCk7XG4gICAgQGluY2x1ZGUgbXEoKSB7XG4gICAgICBtYXJnaW4tdG9wOiBwYyg1NnB4KTtcbiAgICB9XG4gIH1cbiAgLmJ1dHRvbiB7XG4gICAgbWFyZ2luLXRvcDogdncoMjRweCk7XG4gICAgQGluY2x1ZGUgbXEoKSB7XG4gICAgICBtYXJnaW4tdG9wOiBwYyg1NnB4KTtcbiAgICB9XG4gICAgLnBCdXR0b24ge1xuICAgICAgbWFyZ2luLWlubGluZTogYXV0bztcbiAgICB9XG4gIH1cbn1cbiN0b3BSZWxhdGUge1xuICBtYXJnaW4tdG9wOiB2dyg1NnB4KTtcbiAgQGluY2x1ZGUgbXEoKSB7XG4gICAgbWFyZ2luLXRvcDogcGMoNTZweCk7XG4gIH1cbiAgLmlubmVyIHtcbiAgICBAaW5jbHVkZSBjb250YWluZXI7XG4gICAgaDIge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cbiAgICAuYmFubmVyIHtcbiAgICAgIG1hcmdpbi10b3A6IHZ3KDI0cHgpO1xuICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDEsIDFmcik7XG4gICAgICBnYXA6IHZ3KDE2cHgpO1xuICAgICAgQGluY2x1ZGUgbXEoKSB7XG4gICAgICAgIG1hcmdpbi10b3A6IHBjKDI0cHgpO1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpO1xuICAgICAgICBnYXA6IHBjKDMycHgpO1xuICAgICAgfVxuICAgICAgYSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBAaW5jbHVkZSBob3Zlck9wO1xuICAgICAgfVxuICAgIH1cbiAgfVxufSIsIkBjaGFyc2V0IFwiVVRGLThcIjtcbkBpbXBvcnQgXCJtaXhpbnNcIjtcblxuLnBOZXdzU2V0IHtcbiAgQG1lZGlhIChhbnktaG92ZXI6IGhvdmVyKSB7XG4gICAgJjpob3ZlciB7XG4gICAgICAudGl0bGUge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbn1cbi5wTG9jYWxuYXZCb3R0b20ge1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgJi5pcy1hY3RpdmUge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1icmFuZCk7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG4gIEBtZWRpYSAoYW55LWhvdmVyOiBob3Zlcikge1xuICAgICY6aG92ZXIge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cbiAgfVxufVxuLnBBdHRhY2htZW50IHtcbiAgYSB7XG4gICAgQGluY2x1ZGUgaG92ZXJPcDtcbiAgfVxufVxuLnBUZXh0IHtcbiAgYSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgQG1lZGlhIChhbnktaG92ZXI6IGhvdmVyKSB7XG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuLnBGYXEge1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIHZhcigtLXRyYW5zaXRpb24tc3BlZWQpIHZhcigtLWJlemllcik7XG4gIEBtZWRpYSAoYW55LWhvdmVyOiBob3Zlcikge1xuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmFja2dyb3VuZCk7XG4gICAgfVxuICB9XG59XG4ucEFydGljbGVOYXYge1xuICBAbWVkaWEgKGFueS1ob3ZlcjogaG92ZXIpIHtcbiAgICAmOmhvdmVyIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIH1cbiAgfVxufSIsIkBjaGFyc2V0IFwiVVRGLThcIjtcbkBpbXBvcnQgXCJtaXhpbnNcIjtcblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcImljb21vb25cIjtcbiAgc3JjOiB1cmwoXCIvZm9udHMvaWNvbW9vbi5lb3Q/dXBhaTNuXCIpO1xuICBzcmM6IHVybChcIi9mb250cy9pY29tb29uLmVvdD91cGFpM24jaWVmaXhcIikgZm9ybWF0KFwiZW1iZWRkZWQtb3BlbnR5cGVcIiksIHVybChcIi9mb250cy9pY29tb29uLnR0Zj91cGFpM25cIikgZm9ybWF0KFwidHJ1ZXR5cGVcIiksIHVybChcIi9mb250cy9pY29tb29uLndvZmY/dXBhaTNuXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi9mb250cy9pY29tb29uLnN2Zz91cGFpM24jaWNvbW9vblwiKSBmb3JtYXQoXCJzdmdcIik7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC1kaXNwbGF5OiBibG9jaztcbn1cbltjbGFzc149aWNvbi1dLFxuW2NsYXNzKj1cIiBpY29uLVwiXSB7XG4gIC8qIHVzZSAhaW1wb3J0YW50IHRvIHByZXZlbnQgaXNzdWVzIHdpdGggYnJvd3NlciBleHRlbnNpb25zIHRoYXQgY2hhbmdlIGZvbnRzICovXG4gIGZvbnQtZmFtaWx5OiBcImljb21vb25cIiAhaW1wb3J0YW50O1xuICBzcGVhazogbmV2ZXI7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC12YXJpYW50OiBub3JtYWw7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICBsaW5lLWhlaWdodDogMTtcbiAgLyogQmV0dGVyIEZvbnQgUmVuZGVyaW5nID09PT09PT09PT09ICovXG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xufVxuXG4uaWNvbi1jb2RlLWJyYW5jaDpiZWZvcmUge1xuICBjb250ZW50OiBcIu6kgFwiO1xufVxuXG4uaWNvbi1zdWJ3YXk6YmVmb3JlIHtcbiAgY29udGVudDogXCLupIFcIjtcbn1cblxuLmljb24tZXhwYW5kLWFycm93czpiZWZvcmUge1xuICBjb250ZW50OiBcIu6kglwiO1xufVxuXG4uaWNvbi1jb3VjaDpiZWZvcmUge1xuICBjb250ZW50OiBcIu6kg1wiO1xufVxuXG4uaWNvbi1wZXJzb24tY2Fycnk6YmVmb3JlIHtcbiAgY29udGVudDogXCLupIRcIjtcbn1cblxuLmljb24tcGVvcGxlLWNhcnJ5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7qSFXCI7XG59XG5cbi5pY29uLXRydWNrLW1vdmluZzpiZWZvcmUge1xuICBjb250ZW50OiBcIu6khlwiO1xufVxuXG4uaWNvbi10YWc6YmVmb3JlIHtcbiAgY29udGVudDogXCLupIdcIjtcbn1cblxuLmljb24tc3RvcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCLupIhcIjtcbn1cblxuLmljb24tYm94LWZ1bGw6YmVmb3JlIHtcbiAgY29udGVudDogXCLupIlcIjtcbn1cblxuLmljb24tY2FyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7qSKXCI7XG59XG5cbi5pY29uLXNwYXJrbGVzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7qSLXCI7XG59XG5cbi5pY29uLWJveC1vcGVuOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7qSMXCI7XG59XG5cbi5pY29uLWJhcnM6YmVmb3JlIHtcbiAgY29udGVudDogXCLupI1cIjtcbn1cblxuLmljb24tYXJyb3ctbGVmdC1sOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7qSOXCI7XG59XG5cbi5pY29uLXNlYXJjaDpiZWZvcmUge1xuICBjb250ZW50OiBcIu6kj1wiO1xufVxuXG4uaWNvbi1tb2JpbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCLupJBcIjtcbn1cblxuLmljb24tZGVza3RvcDpiZWZvcmUge1xuICBjb250ZW50OiBcIu6kkVwiO1xufVxuXG4uaWNvbi1oYW5kLWhvbGRpbmctYm94OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7qSSXCI7XG59XG5cbi5pY29uLXRydWNrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7qSTXCI7XG59XG5cbi5pY29uLWV4dGVybmFsLWxpbmstYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7qSUXCI7XG59XG5cbi5pY29uLWFycm93LWRvd24tczpiZWZvcmUge1xuICBjb250ZW50OiBcIu6klVwiO1xufVxuXG4uaWNvbi1hcnJvdy1yaWdodC1sOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7qSWXCI7XG59XG5cbi5pY29uLWFycm93LXJpZ2h0LXI6YmVmb3JlIHtcbiAgY29udGVudDogXCLupJdcIjtcbn1cblxuLmljb24tc29ydDpiZWZvcmUge1xuICBjb250ZW50OiBcIu6kmFwiO1xufVxuXG4uaWNvbi1hcnJvdy1yaWdodC1zOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7qSZXCI7XG59XG5cbi5pY29uLWVudmVsb3BlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7qSaXCI7XG59XG5cbi5pY29uLXRvb2xzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7qSbXCI7XG59XG5cbiNuZXdzLWR0bCB7XG4gIC5uZXdzLXdyYXBwZXIge1xuICAgIG1hcmdpbi10b3A6IHZ3KDI0cHgpO1xuICAgIEBpbmNsdWRlIG1xKCkge1xuICAgICAgbWFyZ2luLXRvcDogcGMoNTZweCk7XG4gICAgICBAaW5jbHVkZSBjb250YWluZXIod2lkZSk7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZ2FwOiBwYyg0MHB4KTtcbiAgICB9XG4gICAgI21haW4tY29udGVudHMge1xuICAgICAgQGluY2x1ZGUgbXEoKSB7XG4gICAgICAgIHdpZHRoOiBwYyg5NDZweCk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4jbmV3cy1kdGwgLnBvc3RfX2FydGljbGUge1xuICBwYWRkaW5nOiB2dygxNHB4KSB2dygyMHB4KTtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgYm9yZGVyLXJhZGl1czogNXB4O1xuICBAaW5jbHVkZSBtcSgpIHtcbiAgICBwYWRkaW5nOiBwYygyNHB4KSBwYygzMnB4KSBwYyg2NHB4KTtcbiAgfVxufVxuI25ld3MtZHRsIC5wb3N0X19hcnRpY2xlIC5wb3N0X19tZXRhIHtcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcGFkZGluZy1ib3R0b206IDAuNnJlbTtcbn1cbiNuZXdzLWR0bCAucG9zdF9fYXJ0aWNsZSAucG9zdF9fbWV0YSAuYy1pdGVtX19kYXRlIHtcbiAgcGFkZGluZy1ib3R0b206IDA7XG59XG4jbmV3cy1kdGwgLnBvc3RfX2FydGljbGUgLnBvc3RfX2NhdCB7XG4gIG1hcmdpbi1yaWdodDogdncoOHB4KTtcbiAgQGluY2x1ZGUgbXEoKSB7XG4gICAgbWFyZ2luLXJpZ2h0OiBwYyg4cHgpO1xuICB9XG59XG4jbmV3cy1kdGwgLnBvc3RfX2FydGljbGUgLnBvc3RfX2NhdCAuYy1jYXRlZ29yeTpub3QoOmxhc3QtY2hpbGQpIHtcbiAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xuICBAaW5jbHVkZSBtcSgpIHtcbiAgICBtYXJnaW4tcmlnaHQ6IHBjKDEwcHgpO1xuICB9XG59XG4jbmV3cy1kdGwgLnBvc3RfX2FydGljbGUgLnBvc3RfX3RpdGxlIHtcbiAgZm9udC1zaXplOiB2dygyMnB4KTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIHBhZGRpbmctYm90dG9tOiAxcmVtO1xuICBsaW5lLWhlaWdodDogMTQwJTtcbiAgQGluY2x1ZGUgbXEoKSB7XG4gICAgZm9udC1zaXplOiBwYygzMnB4KTtcbiAgICBwYWRkaW5nLWJvdHRvbTogcGMoMTBweCk7XG4gIH1cbn1cbiNuZXdzLWR0bCAjZXotdG9jLWNvbnRhaW5lciB7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJvcmRlcjogbm9uZTtcbiAgcGFkZGluZzogdncoMTJweCk7XG4gIG1hcmdpbi1ib3R0b206IHZ3KDI0cHgpO1xuICBAaW5jbHVkZSBtcSgpIHtcbiAgICBwYWRkaW5nOiBwYygyNHB4KSBwYygzMnB4KTtcbiAgICBtYXJnaW4tYm90dG9tOiBwYygyNHB4KTtcbiAgfVxufVxuI25ld3MtZHRsIGRpdiNlei10b2MtY29udGFpbmVyIHAuZXotdG9jLXRpdGxlIHtcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIG1hcmdpbi1ib3R0b206IDJyZW07XG59XG4jbmV3cy1kdGwgZGl2I2V6LXRvYy1jb250YWluZXIgcC5lei10b2MtdGl0bGU6YmVmb3JlIHtcbiAgZm9udC1mYW1pbHk6IFwiaWNvbW9vblwiICFpbXBvcnRhbnQ7XG4gIHNwZWFrOiBub25lO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtdmFyaWFudDogbm9ybWFsO1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICBjb250ZW50OiBcIu6ko1wiO1xuICBmb250LXNpemU6IHZ3KDE2cHgpO1xuICBjb2xvcjogI2Q5MTYxNjtcbiAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xuICBAaW5jbHVkZSBtcSgpIHtcbiAgICBmb250LXNpemU6IHBjKDI2cHgpO1xuICAgIG1hcmdpbi1yaWdodDogcGMoMTBweCk7XG4gIH1cbn1cbiNuZXdzLWR0bCBkaXYjZXotdG9jLWNvbnRhaW5lciB1bC5lei10b2MtbGlzdCBsaTpiZWZvcmUge1xuICBjb250ZW50OiBub25lO1xufVxuI25ld3MtZHRsIGRpdiNlei10b2MtY29udGFpbmVyIHVsLmV6LXRvYy1saXN0IGEge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLWJvdHRvbTogMC42cmVtO1xufVxuI25ld3MtZHRsICNlei10b2MtY29udGFpbmVyLmNvdW50ZXItZGVjaW1hbCB1bC5lei10b2MtbGlzdCBsaSBhOjpiZWZvcmUsXG4jbmV3cy1kdGwgLmV6LXRvYy13aWRnZXQtY29udGFpbmVyLmNvdW50ZXItZGVjaW1hbCB1bC5lei10b2MtbGlzdCBsaSBhOjpiZWZvcmUge1xuICBjb2xvcjogI2Q5MTYxNjtcbn1cbiNuZXdzLWR0bCAuc2hhcmUtc29jaWFsIHtcbiAgYmFja2dyb3VuZDogI2ZhZmFmYTtcbiAgbWFyZ2luLXRvcDogdncoMzJweCk7XG4gIEBpbmNsdWRlIG1xKCkge1xuICAgIG1hcmdpbi10b3A6IHBjKDQycHgpO1xuICB9XG59XG4jbmV3cy1kdGwgLnNoYXJlLXNvY2lhbCAuc2hhcmVfX2JveCB7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBAaW5jbHVkZSBtcSgpIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGdhcDogcGMoMzJweCk7XG4gIH1cbn1cbiNuZXdzLWR0bCAuc2hhcmUtc29jaWFsIC5zaGFyZV9fbGlzdCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBnYXA6IHZ3KDE2cHgpO1xuICBtYXJnaW46IHZ3KDE2cHgpIDAgMDtcbiAgQGluY2x1ZGUgbXEoKSB7XG4gICAgZ2FwOiBwYygxNnB4KTtcbiAgICBtYXJnaW46IHVuc2V0O1xuICB9XG59XG4jbmV3cy1kdGwgLnNoYXJlLXNvY2lhbCAuc2hhcmVfX3R0bCB7XG4gIGZvbnQtc2l6ZTogdncoMTZweCk7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgQGluY2x1ZGUgbXEoKSB7XG4gICAgZm9udC1zaXplOiBwYygxNnB4KTtcbiAgfVxufVxuI25ld3MtZHRsIC53cml0dGVuYnkge1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi10b3A6IDZyZW07XG59XG4jbmV3cy1kdGwgLndyaXR0ZW5ieV9fdHRsIHtcbiAgZm9udC1zaXplOiAyLjJyZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjb2xvcjogI2Q5MTYxNjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICBtYXJnaW46IDAgYXV0bztcbiAgdG9wOiAtM3JlbTtcbn1cbiNuZXdzLWR0bCAud3JpdHRlbmJ5X190dGwgc3BhbiB7XG4gIG1pbi13aWR0aDogMjYwcHg7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZzogMS4ycmVtIDNyZW07XG4gIGJvcmRlci1yYWRpdXM6IDYwcHg7XG59XG4jbmV3cy1kdGwgLndyaXR0ZW5ieV9fdHRsIC5pY29uIHtcbiAgbWFyZ2luLXJpZ2h0OiAwLjVyZW07XG4gIGZvbnQtc2l6ZTogMi40cmVtO1xufVxuI25ld3MtZHRsIC53cml0dGVuYnlfX2JveCB7XG4gIHBhZGRpbmc6IDRyZW07XG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICBkaXNwbGF5OiBmbGV4O1xufVxuI25ld3MtZHRsIC53cml0dGVuYnlfX2ltZyB7XG4gIHdpZHRoOiAyMTVweDtcbn1cbiNuZXdzLWR0bCAud3JpdHRlbmJ5X19pbWcgaW1nIHtcbiAgd2lkdGg6IDIxNXB4O1xuICBoZWlnaHQ6IDIxNXB4O1xufVxuI25ld3MtZHRsIC53cml0dGVuYnlfX2RldGFpbCB7XG4gIGZsZXg6IDE7XG4gIHBhZGRpbmctbGVmdDogMnJlbTtcbn1cbiNuZXdzLWR0bCAud3JpdGVyX19uYW1lIHtcbiAgZm9udC1zaXplOiAyLjRyZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBwYWRkaW5nLXRvcDogMC43cmVtO1xufVxuI25ld3MtZHRsIC53cml0ZXJfX2luZm8ge1xuICBwYWRkaW5nLWJvdHRvbTogMS43cmVtO1xufVxuI25ld3MtZHRsIC53cml0ZXJfX3NvY2lhbCB7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG59XG4jbmV3cy1kdGwgLndyaXRlcl9fc29jaWFsIGxpIHtcbiAgcGFkZGluZy1sZWZ0OiAxcmVtO1xufVxuI25ld3MtZHRsIC5wb3N0bmF2IHtcbiAgbWFyZ2luOiB2dygzMnB4KSAwIHZ3KDgwcHgpO1xuICBwYWRkaW5nLWlubGluZTogdncoMjBweCk7XG4gIEBpbmNsdWRlIG1xKCkge1xuICAgIG1hcmdpbjogcGMoMzJweCkgMCAwO1xuICAgIHBhZGRpbmctaW5saW5lOiB1bnNldDtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGU6XG4gICAgXCJwcmV2IGJhY2sgbmV4dFwiIGF1dG9cbiAgICAvIDFmciBhdXRvIDFmcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogcGMoMzJweCk7XG4gIH1cbn1cbiNuZXdzLWR0bCAucG9zdG5hdiAucG9zdC1sYWJlbCB7XG4gIGxpbmUtaGVpZ2h0OiAxLjc1O1xuICBAaW5jbHVkZSBtcSgpIHtcbiAgICBncmlkLWFyZWE6IHByZXY7XG4gICAgZm9udC1zaXplOiBwYygxNnB4KTtcbiAgfVxufVxuI25ld3MtZHRsIC5wb3N0bmF2IC5wb3N0LWxhYmVsIGEge1xuICBkaXNwbGF5OiBibG9jaztcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbiNuZXdzLWR0bCAucG9zdG5hdiAucG9zdC1sYWJlbCBhOmJlZm9yZSB7XG4gIGZvbnQtZmFtaWx5OiBcImljb21vb25cIiAhaW1wb3J0YW50O1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtdmFyaWFudDogbm9ybWFsO1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICBjb250ZW50OiBcIu6kl1wiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGNvbG9yOiAjZDkxNjE2O1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICBmb250LXNpemU6IHZ3KDE2cHgpO1xuICBAaW5jbHVkZSBtcSgpIHtcbiAgICBmb250LXNpemU6IHBjKDE4cHgpO1xuICB9XG59XG4jbmV3cy1kdGwgLnBvc3RuYXYgLnByZXYtbGFiZWwgYSB7XG4gIHBhZGRpbmctbGVmdDogdncoMjRweCk7XG4gIEBpbmNsdWRlIG1xKCkge1xuICAgIHBhZGRpbmctbGVmdDogcGMoMjRweCk7XG4gIH1cbn1cbiNuZXdzLWR0bCAucG9zdG5hdiAucHJldi1sYWJlbCBhOmJlZm9yZSB7XG4gIGxlZnQ6IDA7XG59XG4jbmV3cy1kdGwgLnBvc3RuYXYgLm5leHQtbGFiZWwge1xuICBAaW5jbHVkZSBtcSgpIHtcbiAgICBncmlkLWFyZWE6IG5leHQ7XG4gICAgZm9udC1zaXplOiBwYygxNnB4KTtcbiAgfVxufVxuI25ld3MtZHRsIC5wb3N0bmF2IC5uZXh0LWxhYmVsIGEge1xuICBwYWRkaW5nLXJpZ2h0OiB2dygyNHB4KTtcbiAgQGluY2x1ZGUgbXEoKSB7XG4gICAgcGFkZGluZy1yaWdodDogcGMoMjRweCk7XG4gIH1cbn1cbiNuZXdzLWR0bCAucG9zdG5hdiAubmV4dC1sYWJlbCBhOmJlZm9yZSB7XG4gIHJpZ2h0OiAwO1xufVxuI25ld3MtZHRsIC5wb3N0bmF2IC5idG4tYmFjayB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbWFyZ2luLWJsb2NrOiB2dygxNnB4KTtcbiAgQGluY2x1ZGUgbXEoKSB7XG4gICAgZ3JpZC1hcmVhOiBiYWNrO1xuICAgIG1hcmdpbi1ibG9jazogcGMoMTZweCk7XG4gIH1cbn1cbiNuZXdzLWR0bCAucG9zdG5hdiAuYnRuLWJhY2sgYSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZDkxNjE2O1xuICBmb250LXNpemU6IHZ3KDE2cHgpO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBhZGRpbmc6IHZ3KDE4cHgpIHZ3KDY0cHgpO1xuICBib3JkZXItcmFkaXVzOiB2dygzcHgpO1xuICBjb2xvcjogI2Q5MTYxNjtcbiAgd2lkdGg6IGZpdC1jb250ZW50O1xuICBtYXJnaW4taW5saW5lOiBhdXRvO1xuICBAaW5jbHVkZSBtcSgpIHtcbiAgICBmb250LXNpemU6IHBjKDE2cHgpO1xuICAgIHBhZGRpbmc6IHBjKDE4cHgpIHBjKDY0cHgpO1xuICAgIGJvcmRlci1yYWRpdXM6IHBjKDNweCk7XG4gIH1cbn1cbkBpbmNsdWRlIG1xKCkge1xuICAjbmV3cy1kdGwgLnBvc3RuYXYgLmJ0bi1iYWNrIGEge1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjJzO1xuICB9XG4gICNuZXdzLWR0bCAucG9zdG5hdiAuYnRuLWJhY2sgYTpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogI2Q5MTYxNjtcbiAgICBjb2xvcjogI2ZmZjtcbiAgfVxufVxuXG4jbmV3cy1kdGwgLnJlbGF0ZWQtcG9zdC1saXN0IHtcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIG1hcmdpbi10b3A6IDJyZW07XG59XG4jbmV3cy1kdGwgLnJlbGF0ZWQtcG9zdC1saXN0IC5zaW5nbGUtdG9waWMge1xuICB3aWR0aDogY2FsYygzMy4zMzMzJSAtIDIuMnJlbSk7XG59XG4jbmV3cy1kdGwgLnJlbGF0ZWQtcG9zdC1saXN0IC5zaW5nbGUtdG9waWM6bm90KDpsYXN0LWNoaWxkKSB7XG4gIG1hcmdpbi1yaWdodDogMy4zcmVtO1xufVxuI25ld3MtZHRsIC5yZWxhdGVkLXBvc3QtbGlzdCAuc2luZ2xlLXRvcGljIGEge1xuICBkaXNwbGF5OiBibG9jaztcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5NjBweCkge1xuICAjbmV3cy1kdGwgLnJlbGF0ZWQtcG9zdC1saXN0IC5zaW5nbGUtdG9waWMgYTpob3ZlciAuc2luZ2xlLXRvcGljX19pbWcge1xuICAgIG9wYWNpdHk6IDAuODtcbiAgfVxufVxuI25ld3MtZHRsIC5yZWxhdGVkLXBvc3QtbGlzdCAuc2luZ2xlLXRvcGljX19pbWcge1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG4gIHRyYW5zaXRpb246IGFsbCAwLjJzO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGJhY2tncm91bmQ6ICNmYWZhZmE7XG59XG4jbmV3cy1kdGwgLnJlbGF0ZWQtcG9zdC1saXN0IC5zaW5nbGUtdG9waWNfX2ltZzpiZWZvcmUge1xuICBjb250ZW50OiBcIlwiO1xuICBwYWRkaW5nLXRvcDogNjguNSU7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuI25ld3MtZHRsIC5yZWxhdGVkLXBvc3QtbGlzdCAuc2luZ2xlLXRvcGljX19pbWcgaW1nIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIHRvcDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG59XG4jbmV3cy1kdGwgLnJlbGF0ZWQtcG9zdC1saXN0IC5jLWl0ZW1fX2RhdGUge1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBmb250LXNpemU6IDEuNHJlbTtcbiAgcGFkZGluZy1ib3R0b206IDA7XG59XG4jbmV3cy1kdGwgLnJlbGF0ZWQtcG9zdC1saXN0IC5zaW5nbGUtdG9waWNfX3RpdGxlIHtcbiAgbGluZS1oZWlnaHQ6IDEuNzU7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuLmMtY2F0ZWdvcnkge1xuICBib3JkZXI6IDJweCBzb2xpZCAjZmZlYTMwO1xuICBiYWNrZ3JvdW5kOiAjZmZlYTMwO1xuICBmb250LXNpemU6IHZ3KDEycHgpO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBib3JkZXItcmFkaXVzOiA1cHg7XG4gIHBhZGRpbmc6IHZ3KDJweCkgdncoNHB4KTtcbiAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgQGluY2x1ZGUgbXEoKSB7XG4gICAgZm9udC1zaXplOiBwYygxNnB4KTtcbiAgICBwYWRkaW5nOiBwYyg0cHgpIHBjKDEycHgpO1xuICB9XG59XG4uYy1pdGVtX19kYXRlIHtcbiAgZm9udC1zaXplOiB2dygxMnB4KTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjb2xvcjogIzY2NjtcbiAgcGFkZGluZy1ib3R0b206IDAuNXJlbTtcbiAgQGluY2x1ZGUgbXEoKSB7XG4gICAgZm9udC1zaXplOiBwYygxNnB4KTtcbiAgfVxufVxuXG5kaXYjZXotdG9jLWNvbnRhaW5lciAuZXotdG9jLXRpdGxlIHtcbiAgZm9udC1zaXplOiB2dygxNnB4KTtcbiAgQGluY2x1ZGUgbXEoKSB7XG4gICAgZm9udC1zaXplOiBwYygyNHB4KTtcbiAgfVxufVxuXG5kaXYjZXotdG9jLWNvbnRhaW5lciAuZXotdG9jLXRpdGxlIHtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbn1cblxuZGl2I2V6LXRvYy1jb250YWluZXIgdWwgbGkgLCBkaXYjZXotdG9jLWNvbnRhaW5lciB1bCBsaSBhIHtcbiAgZm9udC1zaXplOiB2dygxNHB4KTtcbiAgbGluZS1oZWlnaHQ6IDEzMCU7XG4gIEBpbmNsdWRlIG1xKCkge1xuICAgIGZvbnQtc2l6ZTogcGMoMTZweCk7XG4gIH1cbn1cblxuXG5kaXYjZXotdG9jLWNvbnRhaW5lciBuYXYgdWwgdWwge1xuICBtYXJnaW4tbGVmdDogMWVtO1xufVxuXG5kaXYjZXotdG9jLWNvbnRhaW5lciBuYXYgdWwgdWwgbGkge1xuICBmb250LXNpemU6IDkwJTtcbn1cblxuZGl2I2V6LXRvYy1jb250YWluZXIge1xuICBiYWNrZ3JvdW5kOiAjZjVmNWY1O1xuICBib3JkZXI6IDFweCBzb2xpZCA7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG5kaXYjZXotdG9jLWNvbnRhaW5lciBwLmV6LXRvYy10aXRsZSAsICNlei10b2MtY29udGFpbmVyIC5lel90b2NfY3VzdG9tX3RpdGxlX2ljb24gLCAjZXotdG9jLWNvbnRhaW5lciAuZXpfdG9jX2N1c3RvbV90b2NfaWNvbiB7XG4gIGNvbG9yOiAjMTExMTExO1xufVxuXG5kaXYjZXotdG9jLWNvbnRhaW5lciB1bC5lei10b2MtbGlzdCBhIHtcbiAgY29sb3I6ICMxMTExMTE7XG59XG5cbmRpdiNlei10b2MtY29udGFpbmVyIHVsLmV6LXRvYy1saXN0IGE6aG92ZXIge1xuICBjb2xvcjogIzExMTExMTtcbn1cblxuZGl2I2V6LXRvYy1jb250YWluZXIgdWwuZXotdG9jLWxpc3QgYTp2aXNpdGVkIHtcbiAgY29sb3I6ICMxMTExMTE7XG59XG4uZXotdG9jLWJveC10aXRsZSB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGxldHRlci1zcGFjaW5nOiAxcHg7XG4gIGNvbG9yOiAjNjY2O1xuICBwYWRkaW5nLWJvdHRvbTogNXB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogLTQlO1xuICBsZWZ0OiA1JTtcbiAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDtcbiAgdHJhbnNpdGlvbjogdG9wIDAuM3MgZWFzZTtcbn1cblxuLmV6LXRvYy1ib3gtdGl0bGUudG9jLWNsb3NlZCB7XG4gIHRvcDogLTI1JTtcbn1cblxuLmV6LXRvYy1jb250YWluZXItZGlyZWN0aW9uIHtcbiAgZGlyZWN0aW9uOiBsdHI7XG59XG5cbi5lei10b2MtY291bnRlciB1bCB7XG4gIGNvdW50ZXItcmVzZXQ6IGl0ZW0gO1xufVxuXG4uZXotdG9jLWNvdW50ZXIgbmF2IHVsIGxpIGE6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IGNvdW50ZXJzKGl0ZW0sICcuJywgZGVjaW1hbCkgJy4gJztcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBjb3VudGVyLWluY3JlbWVudDogaXRlbTtcbiAgZmxleC1ncm93OiAwO1xuICBmbGV4LXNocmluazogMDtcbiAgbWFyZ2luLXJpZ2h0OiAuMmVtO1xuICBmbG9hdDogbGVmdDtcbn1cblxuLmV6LXRvYy13aWRnZXQtZGlyZWN0aW9uIHtcbiAgZGlyZWN0aW9uOiBsdHI7XG59XG5cbi5lei10b2Mtd2lkZ2V0LWNvbnRhaW5lciB1bCB7XG4gIGNvdW50ZXItcmVzZXQ6IGl0ZW0gO1xufVxuXG4uZXotdG9jLXdpZGdldC1jb250YWluZXIgbmF2IHVsIGxpIGE6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IGNvdW50ZXJzKGl0ZW0sICcuJywgZGVjaW1hbCkgJy4gJztcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBjb3VudGVyLWluY3JlbWVudDogaXRlbTtcbiAgZmxleC1ncm93OiAwO1xuICBmbGV4LXNocmluazogMDtcbiAgbWFyZ2luLXJpZ2h0OiAuMmVtO1xuICBmbG9hdDogbGVmdDtcbn1cbiNwb3N0X0hDcHJvZmlsZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiB2dygxMnB4KTtcbiAgZGlzcGxheTogZmxleDtcbiAgYm9yZGVyOiAycHggc29saWQgdmFyKC0tY29sb3ItYnJhbmQpO1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBnYXA6IHZ3KDE2cHgpO1xuICBAaW5jbHVkZSBtcSgpIHtcbiAgICBwYWRkaW5nOiBwYygzMnB4KTtcbiAgICBnYXA6IHBjKDE2cHgpO1xuICB9XG59XG5cbiNwb3N0X0hDcHJvZmlsZSBpbWcge1xuICB3aWR0aDogMTAwJTtcbn1cblxuLkhDcHJvZmlsZV9uYW1lIHtcbiAgd2lkdGg6IHZ3KDEwMHB4KTtcbiAgQGluY2x1ZGUgbXEoKSB7XG4gICAgd2lkdGg6IHBjKDEwMHB4KTtcbiAgfVxufVxuXG4uSENwcm9maWxlX2luZm8+cCB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBmb250LXNpemU6IHZ3KDE2cHgpO1xubWFyZ2luOiAwO1xuQGluY2x1ZGUgbXEoKSB7XG4gIGZvbnQtc2l6ZTogcGMoMTZweCk7XG59XG59XG5cbi5IQ3Byb2ZpbGVfaW5mbyBzcGFuIHtcbiAgZm9udC1zaXplOiAxLjJyZW07XG59XG5cbi5IQ3Byb2ZpbGVfaW5mbyBkaXYgcCB7XG4gIGZvbnQtc2l6ZTogdncoMTRweCk7XG4gIG1hcmdpbi1ib3R0b206IHZ3KDEwcHgpO1xuICBsaW5lLWhlaWdodDogMTQwJTtcbiAgQGluY2x1ZGUgbXEoKSB7XG4gICAgZm9udC1zaXplOiBwYygxNnB4KTtcbiAgICBtYXJnaW4tYm90dG9tOiBwYygxMHB4KTtcbiAgICBsaW5lLWhlaWdodDogMjAwJTtcbiAgfVxufVxuXG4jcHJ5Yy13cC1hY2N0cC1vcmlnaW5hbC1jb250ZW50IHtcbiAgbGluZS1oZWlnaHQ6IDE1MCU7XG4gIGgyIHtcbiAgICBmb250LXNpemU6IHZ3KDIycHgpO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgbWFyZ2luOiB2dygzMnB4KSAwIHZ3KDEwcHgpO1xuICAgIHBhZGRpbmc6IHZ3KDEycHgpIHZ3KDE2cHgpO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJyYW5kKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1vbi1hY2NlbnQpO1xuICAgIEBpbmNsdWRlIG1xKCkge1xuICAgICAgZm9udC1zaXplOiBwYygyOHB4KTtcbiAgICAgIG1hcmdpbjogcGMoNDhweCkgMCBwYygyNHB4KTtcbiAgICAgIHBhZGRpbmc6IHBjKDEycHgpIHBjKDE2cHgpIHBjKDE2cHgpO1xuICAgIH1cbiAgfVxuICBoMyB7XG4gICAgZm9udC1zaXplOiB2dygyMHB4KTtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBtYXJnaW46IHZ3KDI0cHgpIDAgdncoMTBweCk7XG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tY29sb3ItYnJhbmQpO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1jb2xvci1icmFuZCk7XG4gICAgcGFkZGluZzogdncoMTJweCkgMDtcbiAgICBAaW5jbHVkZSBtcSgpIHtcbiAgICAgIGZvbnQtc2l6ZTogcGMoMjZweCk7XG4gICAgICBtYXJnaW46IHBjKDQ4cHgpIDAgcGMoMjRweCk7XG4gICAgICBwYWRkaW5nOiBwYygxNnB4KSAwO1xuICAgIH1cbiAgfVxuICBoNCB7XG4gICAgZm9udC1zaXplOiB2dygyMHB4KTtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBtYXJnaW46IHZ3KDI0cHgpIDAgdncoMTJweCk7XG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tY29sb3ItYnJhbmQpO1xuICAgIHBhZGRpbmc6IDAgMCB2dygycHgpO1xuICAgIEBpbmNsdWRlIG1xKCkge1xuICAgICAgZm9udC1zaXplOiBwYygyNnB4KTtcbiAgICAgIG1hcmdpbjogcGMoNDhweCkgMCBwYygyNHB4KTtcbiAgICAgIHBhZGRpbmc6IDAgMCBwYygycHgpO1xuICAgICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMnB4O1xuICAgIH1cbiAgfVxuICBoNSB7XG4gICAgZm9udC1zaXplOiB2dygyMHB4KTtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBtYXJnaW46IHZ3KDIwcHgpIDAgdncoOHB4KTtcbiAgICBsaW5lLWhlaWdodDogMS41O1xuICAgIEBpbmNsdWRlIG1xKCkge1xuICAgICAgZm9udC1zaXplOiBwYygyNHB4KTtcbiAgICAgIG1hcmdpbjogcGMoNDBweCkgMCBwYygyNHB4KTtcbiAgICAgIHBhZGRpbmc6IDAgMCBwYygycHgpO1xuICAgIH1cbiAgfVxuICBwIHtcbiAgICBtYXJnaW46IHZ3KDE2cHgpIDAgdncoMTZweCk7XG4gICAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICAgIHdvcmQtYnJlYWs6IGJyZWFrLWFsbDtcbiAgICBmb250LXNpemU6IHZ3KDE2cHgpO1xuICAgIEBpbmNsdWRlIG1xKCkge1xuICAgICAgbWFyZ2luOiBwYygyMHB4KSAwIHBjKDI0cHgpO1xuICAgICAgbGluZS1oZWlnaHQ6IDIwMCU7XG4gICAgICBmb250LXNpemU6IHBjKDE2cHgpO1xuICAgIH1cbiAgfVxuICBwIGEge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1icmFuZCk7XG4gIH1cbiAgLmZ1bGwge1xuICAgIG1hcmdpbjogdncoOHB4KSAwO1xuICAgIEBpbmNsdWRlIG1xKCkge1xuICAgICAgbWFyZ2luOiBwYyg4cHgpIDA7XG4gICAgfVxuICB9XG4gIC53cC1jYXB0aW9uLXRleHQge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gIH1cbiAgc3Ryb25nLFxuICBiIHtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgfVxuICBlbSB7XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xuICB9XG4gIGJsb2NrcXVvdGUge1xuICAgIGJhY2tncm91bmQ6ICNmYWZhZmE7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmc6IHZ3KDIycHgpIHZ3KDE2cHgpIHZ3KDEycHgpO1xuICAgIG1hcmdpbjogNHJlbSAwO1xuICAgIEBpbmNsdWRlIG1xKCkge1xuICAgICAgcGFkZGluZzogcGMoMjRweCkgcGMoMTZweCkgcGMoMTJweCk7XG4gICAgICBtYXJnaW46IHBjKDYwcHgpIDA7XG4gICAgfVxuICB9XG4gIGJsb2NrcXVvdGU6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWcvbmV3cy9pY25fcXVvdGVAMngucG5nKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlci9jb3ZlcjtcbiAgICB3aWR0aDogdncoMTNweCk7XG4gICAgaGVpZ2h0OiB2dygxMnB4KTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IHZ3KDEzcHgpO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IHZ3KDZweCk7XG4gICAgbGVmdDogdncoMTBweCk7XG4gICAgQGluY2x1ZGUgbXEoKSB7XG4gICAgICB3aWR0aDogcGMoMTNweCk7XG4gICAgICBoZWlnaHQ6IHBjKDEycHgpO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiBwYygxM3B4KTtcbiAgICAgIHRvcDogcGMoNnB4KTtcbiAgICAgIGxlZnQ6IHBjKDEwcHgpO1xuICAgIH1cbiAgfVxuICBibG9ja3F1b3RlIHAge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwO1xuICAgIGNvbG9yOiAjNzc3O1xuICB9XG4gIHVsLFxuICBvbCB7XG4gICAgbWFyZ2luOiAwIDAgdncoMTJweCk7XG4gIH1cbiAgdWwgbGkge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgICBwYWRkaW5nOiAwIDAgMXJlbSAwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmb250LXNpemU6IHZ3KDE0cHgpO1xuICAgIEBpbmNsdWRlIG1xKCkge1xuICAgICAgZm9udC1zaXplOiBwYygxNnB4KTtcbiAgICB9XG4gIH1cbiAgdWwgbGk6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIuODu1wiO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmb250LXNpemU6IHZ3KDE0cHgpO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIG1hcmdpbi1yaWdodDogdncoMTBweCk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWJyYW5kKTtcbiAgICBAaW5jbHVkZSBtcSgpIHtcbiAgICAgIGZvbnQtc2l6ZTogcGMoMTRweCk7XG4gICAgICBtYXJnaW4tcmlnaHQ6IHBjKDEwcHgpO1xuICAgIH1cbiAgfVxuICB1bCBsaSB1bCB7XG4gICAgcGFkZGluZy10b3A6IHZ3KDRweCk7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBAaW5jbHVkZSBtcSgpIHtcbiAgICAgIHBhZGRpbmctdG9wOiBwYyg0cHgpO1xuICAgIH1cbiAgfVxuICB1bCBsaSB1bCBsaSB7XG4gICAgbGluZS1oZWlnaHQ6IDE0MCU7XG4gICAgcGFkZGluZzogMCAwIHZ3KDRweCkgdncoOHB4KTtcbiAgICBAaW5jbHVkZSBtcSgpIHtcbiAgICAgIHBhZGRpbmc6IDAgMCBwYyg0cHgpIHBjKDhweCk7XG4gICAgfVxuICB9XG4gIHVsIGxpIHVsIGxpOmxhc3QtY2hpbGQge1xuICAgIHBhZGRpbmc6IDAgMCAwIHZ3KDhweCk7XG4gICAgQGluY2x1ZGUgbXEoKSB7XG4gICAgICBwYWRkaW5nOiAwIDAgMCBwYyg4cHgpO1xuICAgIH1cbiAgfVxuICBvbCB7XG4gICAgY291bnRlci1yZXNldDogaXRlbTtcbiAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gIH1cbiAgb2wgbGkge1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgICBsaXN0LXN0eWxlLXBvc2l0aW9uOiBpbnNpZGU7XG4gICAgY291bnRlci1pbmNyZW1lbnQ6IGNudDtcbiAgICBsaW5lLWhlaWdodDogMS42O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nOiAwIDAgMCB2dygzNXB4KTtcbiAgICBtYXJnaW4tYm90dG9tOiB2dyg4cHgpO1xuICAgIEBpbmNsdWRlIG1xKCkge1xuICAgICAgcGFkZGluZzogMCAwIDAgcGMoNDJweCk7XG4gICAgICBtYXJnaW4tYm90dG9tOiBwYygxNnB4KTtcbiAgICB9XG4gIH1cbiAgb2wgbGk6YmVmb3JlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMDtcbiAgICB0b3A6IDA7XG4gICAgY291bnRlci1pbmNyZW1lbnQ6IGl0ZW07XG4gICAgY29udGVudDogY291bnRlcihpdGVtLCBkZWNpbWFsLWxlYWRpbmctemVybyk7XG4gICAgd2lkdGg6IHZ3KDI1cHgpO1xuICAgIGhlaWdodDogdncoMjVweCk7XG4gICAgZm9udC1zaXplOiB2dygxMnB4KTtcbiAgICBsaW5lLWhlaWdodDogdncoMjVweCk7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYnJhbmQpO1xuICAgIEBpbmNsdWRlIG1xKCkge1xuICAgICAgd2lkdGg6IHBjKDM1cHgpO1xuICAgICAgaGVpZ2h0OiBwYygzNXB4KTtcbiAgICAgIGZvbnQtc2l6ZTogcGMoMTRweCk7XG4gICAgICBsaW5lLWhlaWdodDogcGMoMzVweCk7XG4gICAgfVxuICB9XG4gIGhyIHtcbiAgICBoZWlnaHQ6IDA7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJvcmRlci10b3A6IDFweCBkYXNoZWQgI2JiYjtcbiAgICBtYXJnaW46IHZ3KDRweCkgMDtcbiAgICBAaW5jbHVkZSBtcSgpIHtcbiAgICAgIG1hcmdpbjogcGMoNHB4KSAwO1xuICAgIH1cbiAgfVxuICB0YWJsZSB7XG4gICAgbWFyZ2luOiB2dygxNnB4KSAwO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNlNmU2ZTY7XG4gICAgQGluY2x1ZGUgbXEoKSB7XG4gICAgICBtYXJnaW46IHBjKDE2cHgpIDA7XG4gICAgfVxuICB9XG4gIHRhYmxlIHRoIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1icmFuZCk7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIH1cbiAgdGFibGUgdGgsXG4gIHRhYmxlIHRkIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZm9udC1zaXplOiB2dygxNHB4KTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZTZlNmU2O1xuICAgIHBhZGRpbmc6IHZ3KDE2cHgpIHZ3KDEwcHgpO1xuICAgIEBpbmNsdWRlIG1xKCkge1xuICAgICAgZm9udC1zaXplOiBwYygxNnB4KTtcbiAgICAgIHBhZGRpbmc6IHBjKDE2cHgpIHBjKDEwcHgpO1xuICAgIH1cbiAgfVxuICAuYWxpZ25jZW50ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICB9XG4gIC5hbGlnbnJpZ2h0IHtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgbWFyZ2luLWxlZnQ6IHZ3KDE2cHgpO1xuICAgIEBpbmNsdWRlIG1xKCkge1xuICAgICAgbWFyZ2luLWxlZnQ6IHBjKDE2cHgpO1xuICAgIH1cbiAgfVxuICAuYWxpZ25sZWZ0IHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBtYXJnaW4tcmlnaHQ6IHZ3KDE2cHgpO1xuICAgIEBpbmNsdWRlIG1xKCkge1xuICAgICAgbWFyZ2luLXJpZ2h0OiBwYygxNnB4KTtcbiAgICB9XG4gIH1cbiAgI2ltYWdlLWRldGFpbHMtY2FwdGlvbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICAud3AtY2FwdGlvbiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWJvdHRvbTogMHJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC53cC1jYXB0aW9uLmFsaWdubGVmdCwgLndwLWNhcHRpb24uYWxpZ25yaWdodCB7XG4gICAgd2lkdGg6IDQ4JSAhaW1wb3J0YW50O1xuICB9XG4gIC53cC1jYXB0aW9uLmFsaWdubGVmdCB7XG4gICAgbWFyZ2luLWxlZnQ6IHZ3KDE2cHgpO1xuICAgIEBpbmNsdWRlIG1xKCkge1xuICAgICAgbWFyZ2luLWxlZnQ6IHBjKDE2cHgpO1xuICAgIH1cbiAgfVxuICAud3AtY2FwdGlvbi5hbGlnbnJpZ2h0IHtcbiAgICBtYXJnaW4tcmlnaHQ6IHZ3KDE2cHgpO1xuICAgIEBpbmNsdWRlIG1xKCkge1xuICAgICAgbWFyZ2luLXJpZ2h0OiBwYygxNnB4KTtcbiAgICB9XG4gIH1cbiAgLndwLWNhcHRpb24gLndwLWNhcHRpb24tdGV4dCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuICBpbWdbY2xhc3MqPXdwLWltYWdlLV0sXG4gIGltZ1tjbGFzcyo9YXR0YWNobWVudC1dIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA5NTlweCkge1xuICAgIGltZ1tjbGFzcyo9d3AtaW1hZ2UtXSxcbiAgaW1nW2NsYXNzKj1hdHRhY2htZW50LV0ge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICB9XG4gIGltZ1tjbGFzcyo9d3AtaW1hZ2UtXS5hbGlnbnJpZ2h0LFxuICBpbWdbY2xhc3MqPWF0dGFjaG1lbnQtXS5hbGlnbnJpZ2h0IHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgd2lkdGg6IDQ4JTtcbiAgfVxuICBpbWdbY2xhc3MqPXdwLWltYWdlLV0uYWxpZ25sZWZ0LFxuICBpbWdbY2xhc3MqPWF0dGFjaG1lbnQtXS5hbGlnbmxlZnQge1xuICAgIGhlaWdodDogYXV0bztcbiAgICB3aWR0aDogNDglO1xuICB9XG59XG4ucG9zdF9rYWl0b3JpIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBtYXJnaW46IHZ3KDYwcHgpIDAgdncoMzBweCk7XG4gIEBpbmNsdWRlIG1xKCkge1xuICAgIG1hcmdpbjogcGMoMTAwcHgpIDAgcGMoNjBweCk7XG4gIH1cbn1cblxuLnBvc3Rfa2FpdG9yaSBoMiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW4tYm90dG9tOiB2dygxNnB4KTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjb2xvcjogI2ZmNTcyMjtcbiAgZm9udC1zaXplOiB2dygyM3B4KTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIHBhZGRpbmc6IDAgdncoMTZweCk7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIEBpbmNsdWRlIG1xKCkge1xuICAgIGZvbnQtc2l6ZTogcGMoMzJweCk7XG4gICAgcGFkZGluZzogMCBwYygyNHB4KTtcbiAgICBtYXJnaW4tYm90dG9tOiBwYygxNnB4KTtcbiAgfVxuICAuc3Age1xuICAgIEBpbmNsdWRlIG1xKCkge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cbn1cblxuLnBvc3Rfa2FpdG9yaSBoMjpiZWZvcmUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbiAgY29udGVudDogXCJcIjtcbiAgd2lkdGg6IDFweDtcbiAgaGVpZ2h0OiAxMDAlO1xuICBiYWNrZ3JvdW5kOiAjZmY1NzIyO1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIHRyYW5zZm9ybTogcm90YXRlKC0yNWRlZyk7XG59XG5cbi5wb3N0X2thaXRvcmkgaDI6YWZ0ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHJpZ2h0OiAwO1xuICB0b3A6IDA7XG4gIHdpZHRoOiAxcHg7XG4gIGhlaWdodDogMTAwJTtcbiAgYmFja2dyb3VuZDogI2ZmNTcyMjtcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgyNWRlZyk7XG59XG5cbi5wb3N0X2thaXRvcmktYm94IHtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEyMGRlZywgI2ZmOTgwMCAwJSwgI2ZmNTcyMiA1MCUsICNmZjk4MDAgMTAwJSkgMCAwIC8gMjAwJSAxMDAlIHJlcGVhdDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgYm9yZGVyLXJhZGl1czogMzBweDtcbiAgcGFkZGluZzogdncoMjVweCkgdncoMTVweCk7XG4gIEBpbmNsdWRlIG1xKCkge1xuICAgIHBhZGRpbmc6IHBjKDI1cHgpO1xuICAgIGJvcmRlci1yYWRpdXM6IHVuc2V0O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgfVxuICBoMyB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgZm9udC1zaXplOiB2dygyMnB4KTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICBAaW5jbHVkZSBtcSgpIHtcbiAgICAgIGZvbnQtc2l6ZTogcGMoMjhweCk7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIH1cbiAgICArIHAge1xuICAgICAgZm9udC1zaXplOiB2dygxNnB4KTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxNDAlO1xuICAgICAgbWFyZ2luOiB2dygxMHB4KSAwIDA7XG4gICAgICBAaW5jbHVkZSBtcSgpIHtcbiAgICAgICAgZm9udC1zaXplOiBwYygxNnB4KTtcbiAgICAgICAgbWFyZ2luOiBwYygxNnB4KSAwIDA7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5jaGFyYWN0ZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi10b3A6IHZ3KDEycHgpO1xuICAgIEBpbmNsdWRlIG1xKCkge1xuICAgICAgd2lkdGg6IDQ1JTtcbiAgICB9XG4gICAgaW1nIHtcbiAgICAgIHdpZHRoOiA1MCU7XG4gICAgICBAaW5jbHVkZSBtcSgpIHtcbiAgICAgICAgd2lkdGg6IDY3JTtcbiAgICAgICAgbWFyZ2luLXRvcDogLTEwMHB4O1xuICAgICAgfVxuICAgIH1cbiAgICBhIHtcbiAgICAgIGNvbG9yOiAjQ0IwMDAwO1xuICAgICAgd2lkdGg6IDkwJTtcbiAgICAgIGZvbnQtc2l6ZTogdncoMTZweCk7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgICAgYm9yZGVyLXJhZGl1czogdncoMjBweCk7XG4gICAgICBsaW5lLWhlaWdodDogMS41O1xuICAgICAgcGFkZGluZzogdncoMTZweCkgdncoMzBweCk7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgIGJveC1zaGFkb3c6IDAgM3B4IDNweCAxcHggcmdiYSgwLCAwLCAwLCAwLjMpO1xuICAgICAgdHJhbnNpdGlvbjogMC4zcztcbiAgICAgIEBpbmNsdWRlIG1xKCkge1xuICAgICAgICBmb250LXNpemU6IHBjKDE2cHgpO1xuICAgICAgICBwYWRkaW5nOiBwYygxNnB4KSBwYygzMHB4KTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogcGMoMjBweCk7XG4gICAgICB9XG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgYmFja2dyb3VuZDogI0NCMDAwMDtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICB9XG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwiPlwiO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICByaWdodDogMTBweDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4ucG9zdF9lY3NpdGUge1xuICBwYWRkaW5nOiB2dygxNnB4KTtcbiAgYm9yZGVyOiAzcHggc29saWQgI0NCMDAwMDtcbiAgYm9yZGVyLXJhZGl1czogdncoMTZweCk7XG4gIG1hcmdpbi10b3A6IHZ3KDI0cHgpO1xuICBsaW5lLWhlaWdodDogMS41O1xuICBAaW5jbHVkZSBtcSgpIHtcbiAgICBwYWRkaW5nOiBwYygzMnB4KTtcbiAgICBib3JkZXItcmFkaXVzOiBwYygxNnB4KTtcbiAgICBtYXJnaW4tdG9wOiBwYygyNHB4KTtcbiAgICB3aWR0aDogcGMoNzUwcHgpO1xuICAgIG1hcmdpbi1pbmxpbmU6IGF1dG87XG4gIH1cbiAgaDIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBjb2xvcjogI0NCMDAwMDtcbiAgICBmb250LXNpemU6IHZ3KDIycHgpO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIEBpbmNsdWRlIG1xKCkge1xuICAgICAgZm9udC1zaXplOiBwYygyOHB4KTtcbiAgICB9XG4gICAgLnNwIHtcbiAgICAgIEBpbmNsdWRlIG1xKCkge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBwIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZm9udC1zaXplOiB2dygxNnB4KTtcbiAgICBsaW5lLWhlaWdodDogMTQwJTtcbiAgICBtYXJnaW46IHZ3KDEwcHgpIDAgMDtcbiAgICBAaW5jbHVkZSBtcSgpIHtcbiAgICAgIGZvbnQtc2l6ZTogcGMoMTZweCk7XG4gICAgICBtYXJnaW46IHBjKDEwcHgpIDAgMDtcbiAgICB9XG4gIH1cbiAgdWwge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTtcbiAgICBtYXJnaW46IHZ3KDE2cHgpIDAgMDtcbiAgICBnYXA6IHZ3KDhweCk7XG4gICAgQGluY2x1ZGUgbXEoKSB7XG4gICAgICBtYXJnaW46IHBjKDMycHgpIDAgMDtcbiAgICAgIGdhcDogcGMoOHB4KTtcbiAgICB9XG4gICAgbGkge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2Q3ZDdkNztcbiAgICAgIGEge1xuICAgICAgICB0cmFuc2l0aW9uOiAwLjNzO1xuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICBvcGFjaXR5OiAwLjc7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiNzaWRlYmFyIHtcbiAgcGFkZGluZzogMCB2dygyMHB4KSB2dyg0MHB4KTtcbiAgQGluY2x1ZGUgbXEoKSB7XG4gICAgcGFkZGluZzogdW5zZXQ7XG4gICAgd2lkdGg6IHBjKDI1NHB4KTtcbiAgfVxufVxuI3NpZGViYXIgI3NlYXJjaC1uZXdzcG9zdCB7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYm9yZGVyLXJhZGl1czogdncoNXB4KTtcbiAgbWFyZ2luLWJsb2NrOiB2dygyMHB4KSB2dyg0MHB4KTtcbiAgQGluY2x1ZGUgbXEoKSB7XG4gICAgYm9yZGVyLXJhZGl1czogcGMoNXB4KTtcbiAgICBtYXJnaW4tYmxvY2s6IHBjKDIwcHgpIHBjKDQwcHgpO1xuICB9XG59XG4jc2lkZWJhciBpbnB1dFt0eXBlPXRleHRdIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiB2dygxMHB4KSB2dygyNnB4KSB2dygxMHB4KSB2dygxMHB4KTtcbiAgZm9udC1zaXplOiB2dygxNnB4KTtcbiAgYm9yZGVyOiBub25lO1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBhcHBlYXJhbmNlOiBub25lO1xuICBib3JkZXItcmFkaXVzOiB2dyg1cHgpO1xuICBAaW5jbHVkZSBtcSgpIHtcbiAgICBmb250LXNpemU6IHBjKDE2cHgpO1xuICAgIGJvcmRlci1yYWRpdXM6IHBjKDVweCk7XG4gICAgcGFkZGluZzogcGMoMTBweCkgcGMoMjZweCkgcGMoMTBweCkgcGMoMTBweCk7XG4gIH1cbn1cbiNzaWRlYmFyIGJ1dHRvbiB7XG4gIGJvcmRlcjogbm9uZTtcbiAgb3V0bGluZTogbm9uZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBwYWRkaW5nOiAwO1xuICBhcHBlYXJhbmNlOiBub25lO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IHZ3KDUwcHgpO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDA7XG4gIHRvcDogMDtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBAaW5jbHVkZSBtcSgpIHtcbiAgICB3aWR0aDogcGMoNTBweCk7XG4gIH1cbiAgaW1nIHtcbiAgICB3aWR0aDogdncoMjBweCk7XG4gICAgaGVpZ2h0OiB2dygyMHB4KTtcbiAgICBAaW5jbHVkZSBtcSgpIHtcbiAgICAgIHdpZHRoOiBwYygyMHB4KTtcbiAgICAgIGhlaWdodDogcGMoMjBweCk7XG4gICAgfVxuICB9XG59XG4jc2lkZWJhciAuc2lkZWJhcl9faGVhZGluZyB7XG4gIGZvbnQtc2l6ZTogdncoMjBweCk7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjb2xvcjogI2Q5MTYxNjtcbiAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICNkOTE2MTY7XG4gIHBhZGRpbmctYm90dG9tOiB2dygxMHB4KTtcbiAgQGluY2x1ZGUgbXEoKSB7XG4gICAgZm9udC1zaXplOiBwYygyMHB4KTtcbiAgICBwYWRkaW5nLWJvdHRvbTogcGMoMTBweCk7XG4gIH1cbn1cbiNzaWRlYmFyIC5zaWRlYmFyX19yYW5raW5nIHtcbiAgcGFkZGluZy1ib3R0b206IHZ3KDIwcHgpO1xuICBAaW5jbHVkZSBtcSgpIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogcGMoMjBweCk7XG4gIH1cbn1cbiNzaWRlYmFyIC5zaWRlYmFyX19yYW5raW5nIC5zaWRlYmFyX19oZWFkaW5nIHtcbiAgbWFyZ2luLWJvdHRvbTogdncoMjBweCk7XG4gIEBpbmNsdWRlIG1xKCkge1xuICAgIG1hcmdpbi1ib3R0b206IHBjKDIwcHgpO1xuICB9XG59XG4jc2lkZWJhciAucmFua2luZ19faXRlbSB7XG4gIG1hcmdpbi1ib3R0b206IHZ3KDEycHgpO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIEBpbmNsdWRlIG1xKCkge1xuICAgIG1hcmdpbi1ib3R0b206IHBjKDI0cHgpO1xuICB9XG59XG4jc2lkZWJhciAucmFua2luZ19faXRlbSBhIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZ2FwOiB2dygxNXB4KTtcbiAgQGluY2x1ZGUgbXEoKSB7XG4gICAgZ2FwOiBwYygxNXB4KTtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICB9XG59XG4jc2lkZWJhciAucmFua2luZ19faXRlbSAudGh1bWIge1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGJhY2tncm91bmQ6ICNmYWZhZmE7XG4gIEBpbmNsdWRlIG1xKCkge1xuICAgIG1hcmdpbi1ib3R0b206IHVuc2V0O1xuICB9XG59XG4jc2lkZWJhciAucmFua2luZ19faXRlbSAudGh1bWIgaW1nIHtcbiAgd2lkdGg6IHZ3KDEwNXB4KTtcbiAgQGluY2x1ZGUgbXEoKSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cbiNzaWRlYmFyIC5yYW5raW5nX190dGwge1xuICBsaW5lLWhlaWdodDogMS43NTtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gIGZsZXg6IDE7XG4gIEBpbmNsdWRlIG1xKCkge1xuICAgIGZvbnQtc2l6ZTogcGMoMTZweCk7XG4gIH1cbn1cbiNzaWRlYmFyIC5jYXRlZ29yaWVzX19pdGVtIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlNmU2ZTY7XG59XG4jc2lkZWJhciAuY2F0ZWdvcmllc19faXRlbSBhIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IHZ3KDE2cHgpIDAgdncoMTZweCkgMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBAaW5jbHVkZSBtcSgpIHtcbiAgICBwYWRkaW5nOiBwYygxNnB4KSAwIHBjKDE2cHgpIDA7XG4gICAgZm9udC1zaXplOiBwYygxNnB4KTtcbiAgfVxufVxuI3NpZGViYXIgLmNhdGVnb3JpZXNfX2l0ZW0gYTpiZWZvcmUge1xuICBmb250LWZhbWlseTogXCJpY29tb29uXCIgIWltcG9ydGFudDtcbiAgc3BlYWs6IG5vbmU7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC12YXJpYW50OiBub3JtYWw7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICBsaW5lLWhlaWdodDogMTtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gIGNvbnRlbnQ6IFwi7qSXXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDA7XG4gIHRvcDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gIGZvbnQtc2l6ZTogdncoMTRweCk7XG4gIGNvbG9yOiAjZDkxNjE2O1xuICB0cmFuc2l0aW9uOiBhbGwgMC4ycztcbiAgQGluY2x1ZGUgbXEoKSB7XG4gICAgZm9udC1zaXplOiBwYygxNnB4KTtcbiAgfVxufVxuI25ld3MtYWMge1xuICAubmV3cy13cmFwcGVyIHtcbiAgICBtYXJnaW4tdG9wOiB2dygyNHB4KTtcbiAgICBAaW5jbHVkZSBtcSgpIHtcbiAgICAgIG1hcmdpbi10b3A6IHBjKDU2cHgpO1xuICAgICAgQGluY2x1ZGUgY29udGFpbmVyKHdpZGUpO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGdhcDogcGMoNDBweCk7XG4gICAgfVxuICAgICNtYWluLWNvbnRlbnRzIHtcbiAgICAgIEBpbmNsdWRlIG1xKCkge1xuICAgICAgICB3aWR0aDogcGMoOTQ2cHgpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuI25ld3MtYWMgLnNlY05ld3NMaXN0IHtcbiAgcGFkZGluZzogdncoMjBweCkgdncoMTJweCkgdncoNTBweCk7XG4gIEBpbmNsdWRlIG1xKCkge1xuICAgIHBhZGRpbmc6IHVuc2V0O1xuICB9XG4gIC5uZXdzLXNlYXJjaC1zdW1tYXJ5IHtcbiAgICBtYXJnaW4tYm90dG9tOiB2dyg1NnB4KTtcbiAgICBAaW5jbHVkZSBtcSgpIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IHBjKDI0cHgpO1xuICAgIH1cbiAgfVxufVxuI25ld3MtYWMgLnNlY05ld3NMaXN0X19wb3N0IHtcbiAgbWFyZ2luLWJvdHRvbTogdncoMjBweCk7XG4gIEBpbmNsdWRlIG1xKCkge1xuICAgIG1hcmdpbi1ib3R0b206IHBjKDMwcHgpO1xuICB9XG59XG4jbmV3cy1hYyAuc2VjTmV3c0xpc3RfX3Bvc3QgYSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBib3JkZXI6IDRweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJhZGl1czogNXB4O1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBwYWRkaW5nOiB2dygxNXB4KTtcbiAgQGluY2x1ZGUgbXEoKSB7XG4gICAgcGFkZGluZzogcGMoMjhweCkgcGMoMzVweCk7XG4gIH1cbn1cbkBpbmNsdWRlIG1xKCkge1xuICAjbmV3cy1hYyAuc2VjTmV3c0xpc3RfX3Bvc3QgYSB7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMnM7XG4gIH1cbiAgI25ld3MtYWMgLnNlY05ld3NMaXN0X19wb3N0IGE6aG92ZXIge1xuICAgIGJveC1zaGFkb3c6IDAgNHB4IDAgMCAjZTZlNmU2O1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItYnJhbmQpO1xuICB9XG4gICNuZXdzLWFjIC5zZWNOZXdzTGlzdF9fcG9zdCBhOmhvdmVyIHtcbiAgICBib3gtc2hhZG93OiAwIDJweCAwIDAgI2U2ZTZlNjtcbiAgfVxuICAjbmV3cy1hYyAuc2VjTmV3c0xpc3RfX3Bvc3QgYTpob3ZlciAuYnRuLTAyIC5hIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1icmFuZCk7XG4gICAgY29sb3I6ICNmZmY7XG4gIH1cbn1cblxuXG4jbmV3cy1hYyAuc2VjTmV3c0xpc3RfX3Bvc3QgLnBvc3RfX21ldGEge1xuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwYWRkaW5nLWJvdHRvbTogMXJlbTtcbn1cbiNuZXdzLWFjIC5zZWNOZXdzTGlzdF9fcG9zdCAucG9zdF9fbWV0YSAuYy1pdGVtX19kYXRlIHtcbiAgcGFkZGluZy1ib3R0b206IDA7XG59XG4jbmV3cy1hYyAuc2VjTmV3c0xpc3RfX3Bvc3QgLnBvc3RfX2NhdCB7XG4gIG1hcmdpbi1yaWdodDogMS41cmVtO1xufVxuI25ld3MtYWMgLnNlY05ld3NMaXN0X19wb3N0IC5wb3N0X19jYXQgLmMtY2F0ZWdvcnk6bm90KDpsYXN0LWNoaWxkKSB7XG4gIG1hcmdpbi1yaWdodDogMXJlbTtcbn1cbiNuZXdzLWFjIC5zZWNOZXdzTGlzdF9fcG9zdCAucG9zdF9fdGl0bGUge1xuICBmb250LXNpemU6IHZ3KDIwcHgpO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIHBhZGRpbmctYm90dG9tOiB2dygxNXB4KTtcbiAgQGluY2x1ZGUgbXEoKSB7XG4gICAgZm9udC1zaXplOiBwYygyOHB4KTtcbiAgICBwYWRkaW5nLWJvdHRvbTogcGMoMTVweCk7XG4gIH1cbn1cbiNuZXdzLWFjIC5zZWNOZXdzTGlzdF9fcG9zdCAucG9zdF9fY29udCB7XG4gIEBpbmNsdWRlIG1xKCkge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICB9XG59XG4jbmV3cy1hYyAuc2VjTmV3c0xpc3RfX3Bvc3QgLnBvc3RfX2ltZyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgbWFyZ2luLWJvdHRvbTogdncoMTZweCk7XG4gIEBpbmNsdWRlIG1xKCkge1xuICAgIHdpZHRoOiBwYyg0MTBweCk7XG4gICAgbWFyZ2luLWJvdHRvbTogdW5zZXQ7XG4gIH1cbn1cbiNuZXdzLWFjIC5zZWNOZXdzTGlzdF9fcG9zdCAucG9zdF9faW1nIGltZyB7XG4gIGFzcGVjdC1yYXRpbzogNDEwIC8gMjgwO1xuICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgb2JqZWN0LXBvc2l0aW9uOiBjZW50ZXI7XG59XG4jbmV3cy1hYyAuc2VjTmV3c0xpc3RfX3Bvc3QgLnBvc3RfX2V4Y2VycHQge1xuICBwYWRkaW5nLWJvdHRvbTogdncoMTZweCk7XG4gIGZvbnQtc2l6ZTogdncoMTZweCk7XG4gIGxpbmUtaGVpZ2h0OiAxNjAlO1xuICBAaW5jbHVkZSBtcSgpIHtcbiAgICBmb250LXNpemU6IHBjKDE2cHgpO1xuICB9XG59XG4jbmV3cy1hYyAuc2VjTmV3c0xpc3RfX3Bvc3QgLnBvc3RfX3R4dCB7XG4gIEBpbmNsdWRlIG1xKCkge1xuICAgIGZsZXg6IDE7XG4gICAgcGFkZGluZy1sZWZ0OiBwYygyNXB4KTtcbiAgfVxufVxuI25ld3MtYWMgLnNlY05ld3NMaXN0X19wb3N0IC5idG4tMDIge1xuICAucEJ1dHRvbiB7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIH1cbn0iXX0= */
