/* node_modules/@knadh/oat/oat.min.css */
@layer theme, base, components, animations, utilities;
@layer base {
  *,
  *:before,
  *:after {
    box-sizing: border-box;
    -webkit-tap-highlight-color: transparent;
  }
  * {
    margin: 0;
  }
  html {
    tab-size: 4;
  }
  body,
  dialog,
  [popover] {
    font-family: var(--font-sans);
    font-size: var(--text-regular);
    line-height: var(--leading-normal);
    color: var(--foreground);
  }
  body {
    background-color: var(--background);
    color: var(--foreground);
    -webkit-font-smoothing: antialiased;
  }
  img,
  picture,
  video,
  canvas,
  svg {
    max-width: 100%;
  }
  p,
  h1,
  h2,
  h3,
  h4,
  h5,
  h6 {
    overflow-wrap: break-word;
  }
  h1,
  h2,
  h3,
  h4,
  h5,
  h6 {
    font-weight: var(--font-semibold);
    line-height: 1.25;
    &:first-child {
      margin-block-start: 0;
    }
  }
  h1 {
    font-size: var(--text-1);
    margin: var(--space-10) 0 var(--space-6);
  }
  h2 {
    font-size: var(--text-2);
    margin: var(--space-8) 0 var(--space-5);
  }
  h3 {
    font-size: var(--text-3);
    margin: var(--space-6) 0 var(--space-4);
  }
  h4 {
    font-size: var(--text-4);
    margin: var(--space-5) 0 var(--space-3);
  }
  h5 {
    font-size: var(--text-5);
    margin: var(--space-4) 0 var(--space-2);
  }
  h6 {
    font-size: var(--text-regular);
    margin: var(--space-4) 0 var(--space-2);
  }
  p {
    margin-block-end: var(--space-4);
    &:last-child {
      margin-block-end: 0;
    }
  }
  a {
    color: var(--primary);
    text-decoration: underline;
    text-underline-offset: 2px;
    transition: color var(--transition-fast);
    &:hover {
      color: rgb(from var(--primary) r g b / .8);
    }
  }
  strong,
  b {
    font-weight: var(--font-semibold);
  }
  em,
  i {
    font-style: italic;
  }
  small {
    font-size: var(--text-7);
  }
  code {
    font-family: var(--font-mono);
    font-size: .875em;
    padding: calc(var(--space-1) / 2) var(--space-1);
    background-color: var(--faint);
    border-radius: var(--radius-small);
  }
  pre {
    font-family: var(--font-mono);
    padding: var(--space-4);
    background-color: var(--faint);
    border-radius: var(--radius-medium);
    overflow-x: auto;
    margin-block-end: var(--space-4);
    code {
      padding: 0;
      background: none;
      border-radius: 0;
    }
  }
  blockquote {
    border-inline-start: 4px solid var(--border);
    padding-inline-start: var(--space-4);
    margin: var(--space-4) 0;
    color: var(--muted-foreground);
    font-style: italic;
  }
  hr {
    border: none;
    border-top: 1px solid var(--border);
    margin: var(--space-2) 0;
  }
  ul,
  ol {
    padding-inline-start: var(--space-6);
    margin-block-end: var(--space-4);
  }
  ul {
    list-style-type: disc;
  }
  ol {
    list-style-type: decimal;
  }
  li {
    margin-block-end: var(--space-1);
  }
  mark {
    background-color: rgb(from var(--warning) r g b / .3);
    padding: calc(var(--space-1) / 2) var(--space-1);
    border-radius: var(--radius-small);
  }
  [hidden] {
    display: none;
  }
  :focus-visible {
    outline: 2px solid var(--ring);
    outline-offset: 2px;
  }
  :disabled {
    opacity: .5;
    cursor: not-allowed;
  }
}
@layer theme {
  :root {
    color-scheme: light dark;
    --background: light-dark(#fff, #09090b);
    --foreground: light-dark(#09090b, #fafafa);
    --card: light-dark(#fff, #18181b);
    --card-foreground: light-dark(#09090b, #fafafa);
    --primary: light-dark(#574747, #fafafa);
    --primary-foreground: light-dark(#fafafa, #18181b);
    --secondary: light-dark(#f4f4f5, #27272a);
    --secondary-foreground: light-dark(#574747, #fafafa);
    --muted: light-dark(#f4f4f5, #27272a);
    --muted-foreground: light-dark(#71717a, #a1a1aa);
    --faint: light-dark(#fafafa, #1e1e21);
    --faint-foreground: light-dark(#a1a1aa, #71717a);
    --accent: light-dark(#f4f4f5, #27272a);
    --danger: light-dark(#d32f2f, #f4807b);
    --danger-foreground: light-dark(#fafafa, #18181b);
    --success: light-dark(#008032, #6cc070);
    --success-foreground: light-dark(#fafafa, #18181b);
    --warning: light-dark(#a65b00, #f0a030);
    --warning-foreground: #09090b;
    --border: light-dark(#d4d4d8, #52525b);
    --input: light-dark(#d4d4d8, #52525b);
    --ring: light-dark(#574747, #d4d4d8);
    --space-1: .25rem;
    --space-2: .5rem;
    --space-3: .75rem;
    --space-4: 1rem;
    --space-5: 1.25rem;
    --space-6: 1.5rem;
    --space-8: 2rem;
    --space-10: 2.5rem;
    --space-12: 3rem;
    --space-14: 3.5rem;
    --space-16: 4rem;
    --space-18: 4.5rem;
    --radius-small: .125rem;
    --radius-medium: .375rem;
    --radius-large: .75rem;
    --radius-full: 9999px;
    --bar-height: .5rem;
    --font-sans: system-ui, sans-serif;
    --font-mono:
      ui-monospace,
      Consolas,
      monospace;
    --text-1: clamp(1.75rem, 1.5rem + 1.1vw, 2.25rem);
    --text-2: clamp(1.5rem, 1.3rem + .8vw, 1.875rem);
    --text-3: clamp(1.25rem, 1.1rem + .5vw, 1.5rem);
    --text-4: clamp(1.125rem, 1.05rem + .3vw, 1.25rem);
    --text-5: 1.125rem;
    --text-6: 1rem;
    --text-7: .875rem;
    --text-8: .75rem;
    --text-regular: var(--text-6);
    --leading-normal: 1.5;
    --font-normal: 400;
    --font-medium: 500;
    --font-semibold: 600;
    --font-bold: 600;
    --shadow-small: 0 1px 2px 0 rgb(0 0 0 / .05);
    --shadow-medium: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);
    --shadow-large: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);
    --transition-fast: .12s cubic-bezier(.4, 0, .2, 1);
    --transition: .2s cubic-bezier(.4, 0, .2, 1);
    --z-dropdown: 50;
    --z-modal: 200;
  }
}
@layer animations {
  .animate-pop-in {
    opacity: 1;
    transform: perspective(1000px) rotateX(0) translateZ(0);
    transition:
      opacity .15s cubic-bezier(.4, 0, .2, 1),
      transform .15s cubic-bezier(.4, 0, .2, 1),
      overlay .15s cubic-bezier(.4, 0, .2, 1) allow-discrete,
      display .15s cubic-bezier(.4, 0, .2, 1) allow-discrete;
    @starting-style {
      opacity: 0;
      transform: perspective(1000px) rotateX(-15deg) translateZ(-80px);
    }
    &[data-state=closing] {
      opacity: 0;
      transform: perspective(1000px) rotateX(-15deg) translateZ(-80px);
    }
    &[data-state=closing]::backdrop {
      opacity: 0;
    }
  }
  dialog::backdrop {
    opacity: 1;
    transition: opacity .15s cubic-bezier(.4, 0, .2, 1);
    @starting-style {
      opacity: 0;
    }
  }
  .animate-slide-in {
    opacity: 1;
    transform: translate(0);
    transition: opacity .15s cubic-bezier(.16, 1, .3, 1), transform .15s cubic-bezier(.16, 1, .3, 1);
    @starting-style {
      opacity: 0;
      transform: translate(100%);
    }
    &[data-state=closing] {
      opacity: 0;
      transform: translate(100%);
    }
  }
}
@layer base {
  :is(button, [type=submit], [type=reset], [type=button], a.button),
  ::file-selector-button {
    --_hov: color-mix(in srgb, var(--primary), white 25%);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: var(--space-2);
    padding: var(--space-2) var(--space-4);
    font-size: var(--text-7);
    font-weight: var(--font-medium);
    line-height: var(--leading-normal);
    white-space: nowrap;
    text-decoration: none;
    background-color: var(--primary);
    color: var(--primary-foreground);
    border-radius: var(--radius-medium);
    border: 1px solid;
    border-color: rgb(from #fff r g b / .15) rgb(from #000 r g b / .2) rgb(from #000 r g b / .2) rgb(from #fff r g b / .15);
    transition:
      background-color var(--transition-fast),
      opacity var(--transition-fast),
      transform var(--transition-fast);
    &:not(:disabled) {
      cursor: pointer;
    }
    &:hover:not(:disabled) {
      background-color: var(--_hov);
    }
    &:active:not(:disabled) {
      transform: translate(1px, 1px);
    }
    &[data-variant=secondary] {
      --_hov: color-mix(in srgb, var(--secondary), black 10%);
      background-color: var(--secondary);
      color: var(--secondary-foreground);
      border-color: rgb(from #fff r g b / .5) rgb(from #000 r g b / .1) rgb(from #000 r g b / .1) rgb(from #fff r g b / .5);
    }
    &[data-variant=danger] {
      --_hov: color-mix(in srgb, var(--danger), black 15%);
      background-color: var(--danger);
      color: var(--danger-foreground);
    }
    &:is(.outline, .ghost) {
      --_hov: var(--accent);
      background-color: transparent;
      color: var(--foreground);
      &[data-variant=danger] {
        --_hov: color-mix(in srgb, var(--danger), transparent 90%);
        color: var(--danger);
      }
      &[data-variant=secondary] {
        --_hov: color-mix(in srgb, var(--secondary), transparent 80%);
        color: var(--secondary-foreground);
      }
    }
    &.outline {
      border-color: var(--border);
      &[data-variant=danger] {
        border-color: var(--danger);
      }
      &[data-variant=secondary] {
        border-color: var(--secondary);
      }
    }
    &.ghost {
      border-color: transparent;
    }
    &.small {
      padding: var(--space-1) var(--space-3);
      font-size: var(--text-8);
    }
    &.large {
      height: 3rem;
      padding: 0 var(--space-6);
      font-size: var(--text-regular);
    }
    &.icon {
      width: 2.5rem;
      padding: 0;
      &.small {
        width: 2rem;
      }
      &.large {
        width: 3rem;
      }
    }
  }
  ::file-selector-button {
    background-color: transparent;
    color: var(--foreground);
    border: 1px solid var(--border);
  }
  ::file-selector-button:hover {
    background-color: var(--accent);
  }
}
@layer components {
  menu.buttons {
    list-style-type: none;
    padding-inline-start: 0;
    display: inline-flex;
    > li {
      &:first-child > * {
        border-start-start-radius: var(--radius-medium);
        border-end-start-radius: var(--radius-medium);
      }
      &:last-child > * {
        border-start-end-radius: var(--radius-medium);
        border-end-end-radius: var(--radius-medium);
      }
      > * {
        border-radius: 0;
      }
      &:not(:last-child) > * {
        border-inline-end: 1px solid rgb(from var(--primary-foreground) r g b / .2);
      }
    }
  }
}
@layer base {
  label {
    display: block;
    font-size: var(--text-7);
    font-weight: var(--font-medium);
    &:has(input:where([type=checkbox], [type=radio])) {
      display: inline-flex;
      align-items: center;
      gap: var(--space-2);
      font-weight: var(--font-normal);
    }
  }
  :where(input:not([type=checkbox], [type=radio], [type=range], [type=file], [type=color]), textarea, select) {
    width: 100%;
    margin-block-start: var(--space-1);
    padding: var(--space-2) var(--space-3);
    font-size: var(--text-7);
    line-height: var(--leading-normal);
    background-color: var(--background);
    color: var(--foreground);
    border: 1px solid var(--input);
    border-radius: var(--radius-medium);
    transition: border-color var(--transition-fast), box-shadow var(--transition-fast);
    &::placeholder {
      color: var(--muted-foreground);
    }
    &:focus {
      outline: none;
      border-color: var(--ring);
      box-shadow: 0 0 0 2px rgb(from var(--ring) r g b / .2);
      z-index: 1;
    }
    &:disabled {
      background-color: var(--muted);
    }
    &:is([aria-invalid=true], :user-invalid) {
      border-color: var(--danger);
      &:focus {
        box-shadow: 0 0 0 2px rgb(from var(--danger) r g b / .2);
      }
    }
  }
  textarea {
    height: auto;
    min-height: 5rem;
    padding: var(--space-3);
    resize: vertical;
  }
  select {
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2371717a' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right var(--space-2) center;
    padding-inline-end: var(--space-6);
  }
  input:where([type=checkbox], [type=radio]) {
    appearance: none;
    width: 1rem;
    height: 1rem;
    margin: 0;
    position: relative;
    background-color: var(--background);
    border: 1px solid var(--input);
    transition: background-color var(--transition-fast), border-color var(--transition-fast);
    &:checked {
      background-color: var(--primary);
      border-color: var(--primary);
      &:after {
        content: "";
        position: absolute;
        inset: 0;
        background-color: var(--primary-foreground);
        mask-position: center;
        mask-repeat: no-repeat;
        mask-size: 100%;
      }
    }
  }
  input[type=checkbox] {
    border-radius: var(--radius-small);
    &:checked:after {
      mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='4'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E");
    }
    &[role=switch] {
      --switch-height: calc(var(--bar-height) * 3);
      --switch-inset: 2px;
      --switch-thumb: calc(var(--switch-height) - var(--switch-inset) * 3);
      width: calc(var(--switch-height) * 2);
      height: var(--switch-height);
      border-radius: var(--radius-full);
      background-color: var(--input);
      &:before {
        content: "";
        position: absolute;
        top: 50%;
        left: var(--switch-inset);
        transform: translateY(-50%);
        width: var(--switch-thumb);
        height: var(--switch-thumb);
        background-color: var(--background);
        border-radius: var(--radius-full);
        transition: transform var(--transition);
        box-shadow: var(--shadow-small);
      }
      &:checked {
        background-color: var(--primary);
        &:after {
          content: none;
        }
        &:before {
          transform: translateY(-50%) translate(var(--switch-height));
        }
      }
    }
  }
  input[type=radio] {
    border-radius: var(--radius-full);
    &:checked:after {
      mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Ccircle cx='8' cy='8' r='4' fill='currentColor'/%3E%3C/svg%3E");
    }
  }
  :where(input:where([type=checkbox], [type=radio], [type=range]), select):not(:disabled),
  label:has(input:where([type=checkbox], [type=radio]):not(:disabled)) {
    cursor: pointer;
  }
  input[type=range] {
    width: 100%;
    height: var(--bar-height);
    appearance: none;
    background: var(--muted);
    border-radius: var(--radius-full);
    &::-webkit-slider-thumb {
      appearance: none;
      width: 1.25rem;
      height: 1.25rem;
      background: var(--primary);
      border-radius: var(--radius-full);
      transition: transform var(--transition-fast);
      &:hover {
        transform: scale(1.1);
      }
    }
    &::-moz-range-thumb {
      width: 1.25rem;
      height: 1.25rem;
      background: var(--primary);
      border: none;
      border-radius: var(--radius-full);
    }
  }
  fieldset {
    border: 1px solid var(--border);
    border-radius: var(--radius-medium);
    padding: var(--space-4);
    margin-block-end: var(--space-4);
  }
  legend {
    font-size: var(--text-7);
    font-weight: var(--font-medium);
    padding: 0 var(--space-2);
  }
}
@layer components {
  fieldset.group {
    display: flex;
    align-items: stretch;
    border: none;
    padding: 0;
    margin: 0;
    > :is(input, textarea, select) {
      flex: 1;
      margin-block-start: 0;
      &:not(:focus) {
        border-inline-end-color: transparent;
      }
    }
    > :is(input, textarea, select, button) {
      border-radius: 0;
      &:first-child {
        border-radius: var(--radius-medium) 0 0 var(--radius-medium);
      }
      &:last-child {
        border-radius: 0 var(--radius-medium) var(--radius-medium) 0;
      }
    }
    > legend {
      float: inline-start;
      display: inline-flex;
      align-items: center;
      padding: 0 var(--space-3);
      line-height: var(--leading-normal);
      font-weight: var(--font-normal);
      color: var(--muted-foreground);
      background-color: var(--muted);
      border: 1px solid var(--input);
      border-inline-end: none;
      border-radius: var(--radius-medium) 0 0 var(--radius-medium);
    }
  }
  [data-field] {
    margin-block-end: var(--space-4);
    [data-hint],
    .error {
      font-size: var(--text-8);
      font-weight: var(--font-normal);
      color: var(--muted-foreground);
      margin-block-start: var(--space-1);
    }
    .error {
      display: none;
    }
    &[data-field=error] .error {
      display: block;
      color: var(--danger);
    }
  }
}
@layer base {
  table {
    border-collapse: collapse;
    table-layout: fixed;
    width: 100%;
    font-size: var(--text-7);
  }
  thead {
    border-bottom: 1px solid var(--border);
  }
  th,
  td {
    overflow-wrap: break-word;
  }
  th {
    padding: var(--space-3) var(--space-2);
    text-align: start;
    font-weight: var(--font-medium);
    color: var(--muted-foreground);
  }
  td {
    padding: var(--space-3) var(--space-2);
  }
  tbody tr {
    border-bottom: 1px solid var(--border);
    transition: background-color var(--transition-fast);
    &:last-child {
      border-bottom: none;
    }
    &:hover {
      background-color: rgb(from var(--muted) r g b / .5);
    }
  }
}
@layer base {
  progress {
    appearance: none;
    width: 100%;
    height: var(--bar-height);
    border: none;
    border-radius: var(--radius-full);
    overflow: hidden;
    background-color: var(--muted);
    &::-webkit-progress-bar {
      background-color: var(--muted);
      border-radius: var(--radius-full);
    }
    &::-webkit-progress-value {
      background-color: var(--primary);
      border-radius: var(--radius-full);
      transition: width var(--transition);
    }
    &::-moz-progress-bar {
      background-color: var(--primary);
      border-radius: var(--radius-full);
    }
  }
  meter {
    appearance: none;
    width: 100%;
    height: var(--bar-height);
    border: none;
    border-radius: var(--radius-full);
    overflow: hidden;
    background: var(--muted);
    &::-webkit-meter-bar {
      background: var(--muted);
      border: none;
      border-radius: var(--radius-full);
      height: var(--bar-height);
    }
    &::-webkit-meter-optimum-value,
    &::-webkit-meter-suboptimum-value,
    &::-webkit-meter-even-less-good-value {
      border-radius: var(--radius-full);
    }
    &::-webkit-meter-optimum-value {
      background: var(--success);
    }
    &::-webkit-meter-suboptimum-value {
      background: var(--warning);
    }
    &::-webkit-meter-even-less-good-value {
      background: var(--danger);
    }
    &::-moz-meter-bar {
      background: var(--success);
      border-radius: var(--radius-full);
    }
    &:-moz-meter-sub-optimum::-moz-meter-bar {
      background: var(--warning);
    }
    &:-moz-meter-sub-sub-optimum::-moz-meter-bar {
      background: var(--danger);
    }
  }
}
@layer components {
  [aria-busy=true] {
    &:before {
      content: "";
      display: inline-block;
      inset: 0;
      margin: auto;
      width: 1.5rem;
      height: 1.5rem;
      border: 2px solid var(--muted);
      border-top-color: var(--primary);
      border-radius: var(--radius-full);
      animation: spin 1s linear infinite;
      text-align: center;
    }
    &[data-spinner~=small]:before {
      width: 1rem;
      height: 1rem;
    }
    &[data-spinner~=large]:before {
      width: 2rem;
      height: 2rem;
      border-width: 3px;
    }
    &[data-spinner~=overlay] {
      position: relative;
      > * {
        opacity: .3;
        pointer-events: none;
      }
      &:before {
        position: absolute;
        inset: 0;
        margin: auto;
        z-index: 1;
      }
    }
  }
  @keyframes spin {
    to {
      transform: rotate(360deg);
    }
  }
}
@layer components {
  :root {
    --grid-cols: 12;
    --grid-gap: 1.5rem;
    --container-max: 1280px;
    --container-pad: 1rem;
  }
  .container {
    width: 100%;
    max-width: var(--container-max);
    margin-inline: auto;
    padding-inline: var(--container-pad);
  }
  .row {
    display: grid;
    grid-template-columns: repeat(var(--grid-cols), 1fr);
    gap: var(--grid-gap);
    width: 100%;
  }
  .col,
  [class*=col-] {
    grid-column-end: span var(--span, var(--grid-cols));
  }
  .col-1 {
    --span: 1;
  }
  .col-2 {
    --span: 2;
  }
  .col-3 {
    --span: 3;
  }
  .col-4 {
    --span: 4;
  }
  .col-5 {
    --span: 5;
  }
  .col-6 {
    --span: 6;
  }
  .col-7 {
    --span: 7;
  }
  .col-8 {
    --span: 8;
  }
  .col-9 {
    --span: 9;
  }
  .col-10 {
    --span: 10;
  }
  .col-11 {
    --span: 11;
  }
  .col-12 {
    --span: 12;
  }
  .offset-1 {
    grid-column-start: 2;
  }
  .offset-2 {
    grid-column-start: 3;
  }
  .offset-3 {
    grid-column-start: 4;
  }
  .offset-4 {
    grid-column-start: 5;
  }
  .offset-5 {
    grid-column-start: 6;
  }
  .offset-6 {
    grid-column-start: 7;
  }
  .col-end {
    grid-column-start: span var(--span, 1);
    grid-column-end: -1;
  }
  @media (max-width:768px) {
    .row {
      --grid-cols: 4;
      --grid-gap: 1rem;
    }
    .col,
    [class*=col-] {
      --span: 4;
    }
    [class*=offset-] {
      grid-column-start: auto;
    }
  }
}
@layer components {
  .card {
    background-color: var(--card);
    color: var(--card-foreground);
    border: 1px solid var(--border);
    border-radius: var(--radius-medium);
    box-shadow: var(--shadow-small);
    padding: var(--space-6);
    overflow: hidden;
  }
}
@layer components {
  [role=alert] {
    position: relative;
    display: flex;
    gap: var(--space-3);
    padding: var(--space-4) var(--space-6);
    background-color: var(--background);
    border: 1px solid var(--border);
    border-radius: var(--radius-medium);
    font-size: var(--text-7);
    &[data-variant] {
      border: none;
    }
    &[data-variant=error],
    &[data-variant=danger] {
      color: var(--danger);
      background-color: light-dark(color-mix(in srgb, var(--danger) 8%, transparent), color-mix(in srgb, var(--danger) 20%, transparent));
      & a {
        color: var(--danger);
      }
    }
    &[data-variant=success] {
      color: var(--success);
      background-color: light-dark(color-mix(in srgb, var(--success) 8%, transparent), color-mix(in srgb, var(--success) 20%, transparent));
      & a {
        color: var(--success);
      }
    }
    &[data-variant=warning] {
      color: var(--warning);
      background-color: light-dark(color-mix(in srgb, var(--warning) 8%, transparent), color-mix(in srgb, var(--warning) 20%, transparent));
      & a {
        color: var(--warning);
      }
    }
  }
}
@layer components {
  .badge {
    display: inline-flex;
    align-items: center;
    gap: var(--space-1);
    padding: var(--space-1) var(--space-4);
    font-size: var(--text-8);
    font-weight: var(--font-medium);
    line-height: var(--leading-normal);
    background-color: var(--primary);
    color: var(--primary-foreground);
    border-radius: var(--radius-full);
    &.secondary {
      background-color: var(--secondary);
      color: var(--secondary-foreground);
    }
    &.outline {
      background-color: transparent;
      color: var(--foreground);
      border: 1px solid var(--border);
    }
    &.success {
      color: var(--success);
      background-color: light-dark(color-mix(in srgb, var(--success) 10%, transparent), color-mix(in srgb, var(--success) 30%, transparent));
    }
    &.warning {
      color: var(--warning);
      background-color: light-dark(color-mix(in srgb, var(--warning) 10%, transparent), color-mix(in srgb, var(--warning) 30%, transparent));
    }
    &.danger {
      color: var(--danger);
      background-color: light-dark(color-mix(in srgb, var(--danger) 10%, transparent), color-mix(in srgb, var(--danger) 30%, transparent));
    }
  }
}
@layer components {
  details {
    border: 1px solid var(--border);
    border-radius: var(--radius-medium);
    overflow: hidden;
    + details {
      margin-top: -1px;
      border-start-start-radius: 0;
      border-start-end-radius: 0;
    }
    &:has(+ details) {
      border-end-start-radius: 0;
      border-end-end-radius: 0;
    }
    &[open] summary {
      border-bottom: 1px solid var(--border);
    }
  }
  summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-2);
    padding: var(--space-4);
    font-weight: var(--font-medium);
    cursor: pointer;
    user-select: none;
    transition: background-color var(--transition-fast);
    &:hover {
      background-color: var(--muted);
    }
    &::-webkit-details-marker,
    &::marker {
      display: none;
    }
    &:after {
      content: "";
      width: 1em;
      height: 1em;
      flex-shrink: 0;
      background-color: currentColor;
      mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
      mask-size: contain;
      mask-repeat: no-repeat;
      transition: transform var(--transition-fast);
    }
    details[open] &:after {
      transform: rotate(180deg);
    }
  }
  details > *:not(summary) {
    padding: var(--space-4);
  }
}
@layer components {
  [role=tablist] {
    display: inline-flex;
    align-items: center;
    gap: var(--space-1);
    padding: var(--space-1);
    background-color: var(--muted);
    border-radius: var(--radius-medium);
  }
  [role=tab] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: var(--space-2) var(--space-3);
    font-size: var(--text-7);
    font-weight: var(--font-medium);
    white-space: nowrap;
    background-color: transparent;
    color: var(--foreground);
    border: none;
    border-radius: calc(var(--radius-medium) - 2px);
    cursor: pointer;
    transition: background-color var(--transition-fast), color var(--transition-fast);
    &:hover {
      color: var(--muted-foreground);
    }
    &[aria-selected=true] {
      background-color: var(--background);
      box-shadow: var(--shadow-small);
    }
  }
  [role=tabpanel] {
    padding: var(--space-4) 0;
    &:focus-visible {
      outline: none;
    }
  }
}
@layer components {
  dialog {
    position: fixed;
    inset: 0;
    z-index: var(--z-modal);
    width: min(100% - 2rem, 32rem);
    max-height: 85vh;
    margin: auto;
    padding: 0;
    background-color: var(--card);
    border: 1px solid var(--border);
    border-radius: var(--radius-large);
    box-shadow: var(--shadow-large);
    overflow: hidden;
    opacity: 0;
    transform: scale(.95);
    transition:
      opacity .15s ease,
      transform .15s ease,
      overlay .15s ease allow-discrete,
      display .15s ease allow-discrete;
    &[open] {
      opacity: 1;
      transform: scale(1);
    }
    @starting-style {
      &[open] {
        opacity: 0;
        transform: scale(.95);
      }
    }
    &::backdrop {
      background-color: #0000;
      transition:
        background-color .15s ease,
        overlay .15s ease allow-discrete,
        display .15s ease allow-discrete;
    }
    &[open]::backdrop {
      background-color: #00000080;
    }
    @starting-style {
      &[open]::backdrop {
        background-color: #0000;
      }
    }
    > header,
    > form > header {
      display: flex;
      flex-direction: column;
      gap: var(--space-1);
      padding: var(--space-6);
      padding-block-end: 0;
      > h1,
      > h2,
      > h3,
      > h4,
      > h5,
      > h6 {
        margin-block-end: 0;
      }
      > p {
        font-size: var(--text-7);
        color: var(--muted-foreground);
        margin-block-end: 0;
      }
    }
    > p,
    > div,
    > section,
    > form > p,
    > form > div,
    > form > section {
      padding: var(--space-6);
      overflow-y: auto;
    }
    > footer,
    > form > footer {
      display: flex;
      justify-content: flex-end;
      gap: var(--space-2);
      padding: var(--space-6);
      padding-block-start: 0;
    }
  }
}
@layer components {
  ot-dropdown {
    [popover] {
      position: fixed;
      margin: 0;
      min-width: 12rem;
      background-color: var(--background);
      border: 1px solid var(--border);
      border-radius: var(--radius-medium);
      box-shadow: var(--shadow-medium);
      opacity: 0;
      transform: translateY(-4px);
      transition:
        opacity .15s ease-out,
        transform .15s ease-out,
        display .15s allow-discrete,
        overlay .15s allow-discrete;
      &:popover-open {
        opacity: 1;
        transform: translateY(0);
      }
      @starting-style {
        &:popover-open {
          opacity: 0;
          transform: translateY(-4px);
        }
      }
    }
    [role=menuitem] {
      display: flex;
      align-items: center;
      justify-content: start;
      gap: var(--space-2);
      width: 100%;
      padding: var(--space-2) var(--space-3);
      font-size: var(--text-7);
      text-align: start;
      color: var(--foreground);
      background: none;
      border: none;
      border-radius: var(--radius-small);
      cursor: pointer;
      &:hover,
      &:focus {
        background-color: var(--accent);
        outline: none;
      }
    }
  }
}
@layer components {
  .toast-container {
    position: fixed;
    display: flex;
    flex-direction: column;
    pointer-events: none;
    margin: 0;
    padding: 0;
    border: none;
    background: transparent;
    overflow: visible;
    &::backdrop {
      display: none;
    }
    &[data-placement=top-left] {
      inset: var(--space-4) auto auto var(--space-4);
    }
    &[data-placement=top-center] {
      inset: var(--space-4) auto auto 50%;
      transform: translate(-50%);
    }
    &[data-placement=top-right] {
      inset: var(--space-4) var(--space-4) auto auto;
    }
    &[data-placement=bottom-left] {
      inset: auto auto var(--space-4) var(--space-4);
      flex-direction: column-reverse;
    }
    &[data-placement=bottom-center] {
      inset: auto auto var(--space-4) 50%;
      transform: translate(-50%);
      flex-direction: column-reverse;
    }
    &[data-placement=bottom-right] {
      inset: auto var(--space-4) var(--space-4) auto;
      flex-direction: column-reverse;
    }
  }
  .toast {
    --transition: .3s;
    --transition-in: calc(var(--transition) - 50ms);
    padding: var(--space-5) var(--space-4);
    max-width: 28rem;
    min-width: 20rem;
    pointer-events: auto;
    background-color: var(--card);
    border: 1px solid var(--border);
    border-inline-start-width: var(--space-1);
    border-inline-start-style: solid;
    border-radius: var(--radius-medium);
    box-shadow: var(--shadow-small);
    transition:
      opacity var(--transition-in),
      transform var(--transition-in),
      margin var(--transition-in);
    line-height: 1;
    .toast-title {
      font-weight: 600;
      margin: 0 0 var(--space-3) 0;
    }
    .toast-message {
      color: var(--muted-foreground);
    }
    &[data-variant=success] {
      border-inline-start-color: var(--success);
      .toast-title {
        color: var(--success);
      }
    }
    &[data-variant=danger] {
      border-inline-start-color: var(--danger);
      .toast-title {
        color: var(--danger);
      }
    }
    &[data-variant=warning] {
      border-inline-start-color: var(--warning);
      .toast-title {
        color: var(--warning);
      }
    }
    > [data-close] {
      margin-inline-start: auto;
      background: none;
      border: none;
      padding: 0;
      cursor: pointer;
      opacity: .5;
      &:hover {
        opacity: 1;
      }
    }
    margin: var(--space-2) 0;
    &[data-entering] {
      opacity: 0;
      transform: translateY(-1rem);
    }
    &[data-exiting] {
      opacity: 0;
      margin: 0;
      padding-block: 0;
      max-height: 0;
      overflow: hidden;
      transition:
        opacity var(--transition),
        margin var(--transition),
        padding var(--transition),
        max-height var(--transition);
    }
  }
}
@layer components {
  :root {
    --_nh: var(--space-12);
  }
  [data-sidebar-layout] {
    --topnav-offset: 0px;
    --topnav-scroll-offset: 0px;
    display: grid;
    grid-template-columns: 14rem 1fr;
    min-height: 100dvh;
    gap: var(--space-4);
    &:has(nav[data-topnav]) {
      --topnav-offset: var(--_nh);
      --topnav-scroll-offset: calc(var(--_nh) + var(--space-6));
    }
    > main {
      min-width: 0;
      margin-block-start: var(--topnav-offset);
      [id] {
        scroll-margin-block-start: var(--topnav-scroll-offset);
      }
    }
    > aside[data-sidebar] {
      position: sticky;
      top: var(--topnav-offset);
      z-index: 1;
      height: calc(100dvh - var(--topnav-offset));
      align-self: start;
      background-color: var(--background);
      border-inline-end: 1px solid var(--border);
      display: flex;
      flex-direction: column;
      > :is(header, footer) {
        flex-shrink: 0;
        padding: var(--space-3);
      }
      > footer {
        margin-block-start: auto;
      }
      > nav {
        flex: 1;
        min-height: 0;
        overflow-y: auto;
        padding: var(--space-3) var(--space-2);
        ul {
          list-style: none;
          padding: 0;
          margin: 0;
          display: flex;
          flex-direction: column;
          gap: var(--space-1);
          li {
            margin: 0;
          }
        }
        a {
          display: flex;
          gap: var(--space-2);
          padding: var(--space-1) var(--space-3);
          font-size: var(--text-7);
          color: var(--foreground);
          text-decoration: none;
          border-radius: var(--radius-small);
          transition: background-color var(--transition-fast);
          &:is(:hover, [aria-current]) {
            background-color: var(--accent);
          }
        }
        details {
          border: none;
          overflow: visible;
          + details {
            margin-top: 0;
          }
          &[open] summary {
            border-bottom: none;
          }
          > ul {
            margin-inline-start: var(--space-4);
            padding: var(--space-1) 0;
          }
        }
        summary {
          justify-content: flex-start;
          padding: var(--space-2) var(--space-3);
          font-size: var(--text-7);
          border-radius: var(--radius-small);
          &:after {
            width: .75rem;
            height: .75rem;
            margin-inline-start: auto;
          }
        }
      }
    }
  }
  nav[data-topnav] {
    position: fixed;
    inset: 0 0 auto;
    z-index: 5;
    min-height: var(--_nh);
    display: flex;
    align-items: center;
    gap: var(--space-3);
    padding: var(--space-2) var(--space-4);
    background-color: var(--background);
    border-bottom: 1px solid var(--border);
    box-shadow: var(--shadow-small);
  }
  :is([data-sidebar-toggle], [data-sidebar-header]) {
    display: none;
  }
  [data-sidebar-toggle] {
    padding: 0 var(--space-1);
    background: none;
    border: 1px solid var(--border);
    border-radius: var(--radius-small);
    cursor: pointer;
  }
  @media (min-width:769px) {
    [data-sidebar-layout=always] [data-sidebar-toggle] {
      display: inline-block;
    }
    [data-sidebar-layout=always] {
      transition: grid-template-columns var(--transition);
      > aside[data-sidebar] {
        transform: translate(0);
        opacity: 1;
        transition:
          transform var(--transition),
          opacity var(--transition),
          visibility var(--transition);
      }
    }
    [data-sidebar-layout=always][data-sidebar-open] {
      grid-template-columns: 0px 1fr;
      gap: 0;
      > aside[data-sidebar] {
        overflow: hidden;
        min-width: 0;
        transform: translate(-100%);
        opacity: 0;
        visibility: hidden;
        border-inline-end: none;
      }
    }
  }
  @media (max-width:768px) {
    [data-sidebar-layout] {
      grid-template-columns: 1fr;
      > aside[data-sidebar] {
        position: fixed;
        left: 0;
        width: 16rem;
        transform: translate(-100%);
        transition: transform var(--transition);
        box-shadow: var(--shadow-large);
      }
      &[data-sidebar-open] > aside[data-sidebar] {
        transform: translate(0);
      }
    }
    [data-sidebar-toggle] {
      display: inline-block;
    }
    [data-sidebar-header] {
      display: flex;
      align-items: center;
      gap: var(--space-3);
      padding: var(--space-3) var(--space-4);
      border-bottom: 1px solid var(--border);
    }
  }
}
@layer components {
  [role=status].skeleton {
    --_c: light-dark( color-mix(in srgb, var(--muted) 30%, white), color-mix(in srgb, var(--muted) 90%, var(--foreground)) );
    margin-block-end: var(--space-3);
    background: var(--muted);
    border-radius: var(--radius-medium);
    animation: anim 2s infinite;
    background-size: 200% 100%;
    background-image:
      linear-gradient(
        90deg,
        var(--muted) 0%,
        var(--_c) 50%,
        var(--muted) 100%);
    &.box {
      width: 4rem;
      height: 4rem;
    }
    &.line {
      height: 1rem;
      width: 100%;
    }
  }
  [role=status].skeleton:last-child {
    margin-block-end: 0;
  }
  @keyframes anim {
    0% {
      background-position: 200% 0;
    }
    to {
      background-position: -200% 0;
    }
  }
}
@layer components {
  [data-tooltip] {
    position: relative;
  }
  [data-tooltip]:before,
  [data-tooltip]:after {
    position: absolute;
    inset-inline-start: 50%;
    opacity: 0;
    visibility: hidden;
    transition:
      opacity var(--transition-fast),
      transform var(--transition-fast),
      visibility var(--transition-fast);
    pointer-events: none;
    z-index: 1000;
  }
  [data-tooltip]:after {
    content: attr(data-tooltip);
    inset-block-end: calc(100% + 10px);
    transform: translate(-50%) translateY(4px);
    padding: var(--space-2) var(--space-3);
    font-size: var(--text-7);
    line-height: 1;
    white-space: nowrap;
    background: var(--foreground);
    color: var(--background);
    border-radius: var(--radius-medium);
  }
  [data-tooltip]:before {
    content: "";
    inset-block-end: calc(100% - 5px);
    transform: translate(-50%) translateY(4px);
    border: 8px solid transparent;
    border-top-color: var(--foreground);
  }
  [data-tooltip]:is(:hover, :focus-visible):before,
  [data-tooltip]:is(:hover, :focus-visible):after {
    opacity: 1;
    visibility: visible;
    transition-delay: .7s;
    transform: translate(-50%) translateY(0);
  }
}
@layer utilities {
  .text-left {
    text-align: start;
  }
  .text-center {
    text-align: center;
  }
  .text-right {
    text-align: end;
  }
  .text-light {
    color: var(--muted-foreground);
  }
  .text-lighter {
    color: var(--faint-foreground);
  }
  .flex {
    display: flex;
  }
  .flex-col {
    flex-direction: column;
  }
  .items-center {
    align-items: center;
  }
  .justify-center {
    justify-content: center;
  }
  .justify-between {
    justify-content: space-between;
  }
  .hstack {
    display: flex;
    align-items: center;
    gap: var(--space-3);
    flex-wrap: wrap;
    align-content: flex-start;
    height: auto;
  }
  .vstack {
    display: flex;
    flex-direction: column;
    gap: var(--space-3);
  }
  .gap-1 {
    gap: var(--space-1);
  }
  .gap-2 {
    gap: var(--space-2);
  }
  .gap-4 {
    gap: var(--space-4);
  }
  .mt-2 {
    margin-block-start: var(--space-2);
  }
  .mt-4 {
    margin-block-start: var(--space-4);
  }
  .mt-6 {
    margin-block-start: var(--space-6);
  }
  .mb-2 {
    margin-block-end: var(--space-2);
  }
  .mb-4 {
    margin-block-end: var(--space-4);
  }
  .mb-6 {
    margin-block-end: var(--space-6);
  }
  .p-4 {
    padding: var(--space-4);
  }
  .w-100 {
    width: 100%;
  }
  ul,
  ol {
    &.unstyled {
      list-style: none;
      padding-inline-start: 0;
      margin-inline-start: 0;
    }
  }
}

/* css/tokens.css */
:root {
  --color-primary: oklch(70% 0.213 47.604);
  --color-primary-hover: oklch(65% 0.213 47.604);
  --color-bg: oklch(98% 0 0);
  --color-bg-secondary: oklch(96% 0.001 286.375);
  --color-bg-tertiary: oklch(92% 0.004 286.32);
  --color-fg: oklch(21% 0.006 285.885);
  --color-fg-muted: oklch(45% 0.006 285.885);
  --color-border: oklch(92% 0.004 286.32);
  --color-border-hover: oklch(85% 0.006 286.32);
  --color-success: oklch(70% 0.14 182.503);
  --color-success-bg: oklch(95% 0.03 182.503);
  --color-warning: oklch(66% 0.179 58.318);
  --color-warning-bg: oklch(95% 0.04 58.318);
  --color-error: oklch(58% 0.253 17.585);
  --color-error-bg: oklch(95% 0.05 17.585);
  --color-info: oklch(62% 0.214 259.815);
  --color-info-bg: oklch(95% 0.04 259.815);
  --color-console-bg: oklch(15% 0 0);
  --color-console-fg: oklch(90% 0 0);
  --color-console-muted: oklch(70% 0 0);
  --color-primary-5: color-mix(in oklch, var(--color-primary) 5%, transparent);
  --color-primary-10: color-mix(in oklch, var(--color-primary) 10%, transparent);
  --color-primary-15: color-mix(in oklch, var(--color-primary) 15%, transparent);
  --color-primary-20: color-mix(in oklch, var(--color-primary) 20%, transparent);
  --color-primary-30: color-mix(in oklch, var(--color-primary) 30%, transparent);
  --color-success-5: color-mix(in oklch, var(--color-success) 5%, transparent);
  --color-success-10: color-mix(in oklch, var(--color-success) 10%, transparent);
  --color-success-20: color-mix(in oklch, var(--color-success) 20%, transparent);
  --color-success-30: color-mix(in oklch, var(--color-success) 30%, transparent);
  --color-warning-10: color-mix(in oklch, var(--color-warning) 10%, transparent);
  --color-warning-20: color-mix(in oklch, var(--color-warning) 20%, transparent);
  --color-warning-30: color-mix(in oklch, var(--color-warning) 30%, transparent);
  --color-error-5: color-mix(in oklch, var(--color-error) 5%, transparent);
  --color-error-10: color-mix(in oklch, var(--color-error) 10%, transparent);
  --color-error-20: color-mix(in oklch, var(--color-error) 20%, transparent);
  --color-info-10: color-mix(in oklch, var(--color-info) 10%, transparent);
  --color-fg-10: color-mix(in oklch, var(--color-fg) 10%, transparent);
  --color-border-20: color-mix(in oklch, var(--color-border) 20%, transparent);
  --color-border-30: color-mix(in oklch, var(--color-border) 30%, transparent);
  --color-border-40: color-mix(in oklch, var(--color-border) 40%, transparent);
  --color-border-50: color-mix(in oklch, var(--color-border) 50%, transparent);
  --color-bg-90: color-mix(in oklch, var(--color-bg) 90%, transparent);
  --color-bg-80: color-mix(in oklch, var(--color-bg) 80%, transparent);
  --color-bg-50: color-mix(in oklch, var(--color-bg) 50%, transparent);
  --color-bg-secondary-50: color-mix(in oklch, var(--color-bg-secondary) 50%, transparent);
  --color-bg-secondary-95: color-mix(in oklch, var(--color-bg-secondary) 95%, transparent);
  --color-bg-tertiary-10: color-mix(in oklch, var(--color-bg-tertiary) 10%, transparent);
  --color-bg-tertiary-20: color-mix(in oklch, var(--color-bg-tertiary) 20%, transparent);
  --color-bg-tertiary-30: color-mix(in oklch, var(--color-bg-tertiary) 30%, transparent);
  --color-bg-tertiary-40: color-mix(in oklch, var(--color-bg-tertiary) 40%, transparent);
  --color-bg-tertiary-50: color-mix(in oklch, var(--color-bg-tertiary) 50%, transparent);
  --color-bg-tertiary-80: color-mix(in oklch, var(--color-bg-tertiary) 80%, transparent);
  --font-sans:
    system-ui,
    -apple-system,
    BlinkMacSystemFont,
    "Segoe UI",
    Roboto,
    sans-serif;
  --font-mono:
    "IBM Plex Mono",
    ui-monospace,
    monospace;
  --sp-1: 0.25rem;
  --sp-2: 0.5rem;
  --sp-3: 0.75rem;
  --sp-4: 1rem;
  --sp-5: 1.25rem;
  --sp-6: 1.5rem;
  --sp-8: 2rem;
  --radius-sm: 0.25rem;
  --radius: 0.5rem;
  --radius-lg: 0.75rem;
  --radius-xl: 1rem;
  --radius-full: 9999px;
  --sidebar-width: 14rem;
  --sidebar-collapsed: 4rem;
  --detail-sidebar: 24rem;
  --detail-sidebar-wide: 42rem;
  --container-sm: 24rem;
  --container-md: 32rem;
  --container-lg: 48rem;
  --container-xl: 56rem;
  --container-2xl: 64rem;
  --container-3xl: 72rem;
  --container-4xl: 80rem;
  --shadow-sm: 0 1px 2px rgba(0,0,0,0.05);
  --shadow: 0 4px 6px -1px rgba(0,0,0,0.1), 0 2px 4px -2px rgba(0,0,0,0.1);
  --shadow-lg: 0 10px 15px -3px rgba(0,0,0,0.1), 0 4px 6px -4px rgba(0,0,0,0.1);
  --transition-fast: 150ms;
  --transition: 200ms;
}
[data-theme=dark] {
  --color-primary: oklch(58% 0.233 277.117);
  --color-primary-hover: oklch(63% 0.233 277.117);
  --color-bg: oklch(25.26% 0.014 253.1);
  --color-bg-secondary: oklch(30.33% 0.016 252.42);
  --color-bg-tertiary: oklch(35% 0.018 252);
  --color-fg: oklch(97.807% 0.029 256.847);
  --color-fg-muted: oklch(70% 0.02 256.847);
  --color-border: oklch(35% 0.02 254.09);
  --color-border-hover: oklch(45% 0.025 254.09);
  --color-success: oklch(60% 0.118 184.704);
  --color-success-bg: oklch(30% 0.04 184.704);
  --color-warning: oklch(66% 0.179 58.318);
  --color-warning-bg: oklch(30% 0.06 58.318);
  --color-error: oklch(58% 0.253 17.585);
  --color-error-bg: oklch(30% 0.08 17.585);
  --color-info: oklch(58% 0.158 241.966);
  --color-info-bg: oklch(30% 0.05 241.966);
  --color-console-bg: oklch(12% 0.01 253);
  --color-console-fg: oklch(85% 0.02 253);
  --color-console-muted: oklch(60% 0.015 253);
}

/* css/utilities.css */
.hidden {
  display: none;
}
.block {
  display: block;
}
.inline {
  display: inline;
}
.inline-flex {
  display: inline-flex;
}
.grid {
  display: grid;
}
.flex-1,
.sidebar-spacer {
  flex: 1;
}
.flex-1-min-0 {
  flex: 1;
  min-width: 0;
}
.shrink-0 {
  flex-shrink: 0;
}
.flex-wrap {
  flex-wrap: wrap;
}
.hstack {
  display: flex;
  align-items: center;
  gap: var(--sp-3);
}
.vstack {
  display: flex;
  flex-direction: column;
  gap: var(--sp-3);
}
.items-center {
  align-items: center;
}
.items-start {
  align-items: flex-start;
}
.items-end {
  align-items: flex-end;
}
.items-baseline {
  align-items: baseline;
}
.justify-start {
  justify-content: flex-start;
}
.justify-center {
  justify-content: center;
}
.justify-between {
  justify-content: space-between;
}
.justify-end {
  justify-content: flex-end;
}
.self-end {
  align-self: flex-end;
}
.gap-1 {
  gap: var(--sp-1);
}
.gap-2 {
  gap: var(--sp-2);
}
.gap-3 {
  gap: var(--sp-3);
}
.gap-4 {
  gap: var(--sp-4);
}
.gap-5 {
  gap: var(--sp-5);
}
.gap-6 {
  gap: var(--sp-6);
}
.gap-sm {
  gap: var(--sp-2);
}
.gap-md {
  gap: var(--sp-4);
}
.gap-lg {
  gap: var(--sp-6);
}
.w-full {
  width: 100%;
}
.w-currency {
  width: 5rem;
}
.min-w-0 {
  min-width: 0;
}
.max-w-sm {
  max-width: var(--container-sm);
}
.max-w-md {
  max-width: var(--container-md);
}
.max-w-lg {
  max-width: var(--container-lg);
}
.max-w-xl {
  max-width: var(--container-xl);
}
.max-w-2xl {
  max-width: var(--container-2xl);
}
.max-w-3xl {
  max-width: var(--container-3xl);
}
.max-w-4xl {
  max-width: var(--container-4xl);
}
.h-full {
  height: 100%;
}
.min-h-screen {
  min-height: 100vh;
}
.m-0 {
  margin: 0;
}
.mx-auto {
  margin-left: auto;
  margin-right: auto;
}
.mt-0 {
  margin-top: 0;
}
.mt-1 {
  margin-top: var(--sp-1);
}
.mt-2 {
  margin-top: var(--sp-2);
}
.mt-3 {
  margin-top: var(--sp-3);
}
.mt-4 {
  margin-top: var(--sp-4);
}
.mt-5 {
  margin-top: var(--sp-5);
}
.mt-6 {
  margin-top: var(--sp-6);
}
.mt-8 {
  margin-top: var(--sp-8);
}
.mb-0 {
  margin-bottom: 0;
}
.mb-1 {
  margin-bottom: var(--sp-1);
}
.mb-2 {
  margin-bottom: var(--sp-2);
}
.mb-3 {
  margin-bottom: var(--sp-3);
}
.mb-4 {
  margin-bottom: var(--sp-4);
}
.mb-5 {
  margin-bottom: var(--sp-5);
}
.mb-6 {
  margin-bottom: var(--sp-6);
}
.mb-8 {
  margin-bottom: var(--sp-8);
}
.ml-1 {
  margin-left: var(--sp-1);
}
.ml-2 {
  margin-left: var(--sp-2);
}
.ml-3 {
  margin-left: var(--sp-3);
}
.ml-4 {
  margin-left: var(--sp-4);
}
.ml-6 {
  margin-left: var(--sp-6);
}
.mr-1 {
  margin-right: var(--sp-1);
}
.mr-2 {
  margin-right: var(--sp-2);
}
.p-0 {
  padding: 0;
}
.p-1 {
  padding: var(--sp-1);
}
.p-2 {
  padding: var(--sp-2);
}
.p-3 {
  padding: var(--sp-3);
}
.p-4 {
  padding: var(--sp-4);
}
.p-6 {
  padding: var(--sp-6);
}
.p-8 {
  padding: var(--sp-8);
}
.p-content {
  padding: 1rem 1.5rem;
}
.px-1 {
  padding-left: var(--sp-1);
  padding-right: var(--sp-1);
}
.px-2 {
  padding-left: var(--sp-2);
  padding-right: var(--sp-2);
}
.px-3 {
  padding-left: var(--sp-3);
  padding-right: var(--sp-3);
}
.px-4 {
  padding-left: var(--sp-4);
  padding-right: var(--sp-4);
}
.px-6 {
  padding-left: var(--sp-6);
  padding-right: var(--sp-6);
}
.py-1 {
  padding-top: var(--sp-1);
  padding-bottom: var(--sp-1);
}
.py-2 {
  padding-top: var(--sp-2);
  padding-bottom: var(--sp-2);
}
.py-3 {
  padding-top: var(--sp-3);
  padding-bottom: var(--sp-3);
}
.py-4 {
  padding-top: var(--sp-4);
  padding-bottom: var(--sp-4);
}
.pt-1 {
  padding-top: var(--sp-1);
}
.pt-2 {
  padding-top: var(--sp-2);
}
.pt-3 {
  padding-top: var(--sp-3);
}
.pt-4 {
  padding-top: var(--sp-4);
}
.pt-6 {
  padding-top: var(--sp-6);
}
.pb-1 {
  padding-bottom: var(--sp-1);
}
.pb-2 {
  padding-bottom: var(--sp-2);
}
.pb-3 {
  padding-bottom: var(--sp-3);
}
.pb-4 {
  padding-bottom: var(--sp-4);
}
.pb-safe {
  padding-bottom: env(safe-area-inset-bottom);
}
.pt-safe {
  padding-top: env(safe-area-inset-top);
}
.space-y-2 > * + * {
  margin-top: var(--sp-2);
}
.space-y-3 > * + * {
  margin-top: var(--sp-3);
}
.space-y-4 > * + * {
  margin-top: var(--sp-4);
}
.space-y-6 > * + * {
  margin-top: var(--sp-6);
}
.text-2xs {
  font-size: 0.625rem;
}
.text-xs {
  font-size: 0.75rem;
}
.text-sm {
  font-size: 0.875rem;
}
.text-base {
  font-size: 1rem;
}
.text-lg {
  font-size: 1.125rem;
}
.text-xl {
  font-size: 1.25rem;
}
.text-2xl {
  font-size: 1.5rem;
}
.text-3xl {
  font-size: 1.875rem;
}
.text-4xl {
  font-size: 2.25rem;
}
.font-mono {
  font-family: var(--font-mono);
}
.font-normal {
  font-weight: 400;
}
.font-medium {
  font-weight: 500;
}
.font-semibold {
  font-weight: 600;
}
.font-bold {
  font-weight: 700;
}
.text-left {
  text-align: left;
}
.text-center {
  text-align: center;
}
.text-right {
  text-align: right;
}
.uppercase {
  text-transform: uppercase;
}
.capitalize {
  text-transform: capitalize;
}
.italic {
  font-style: italic;
}
.underline {
  text-decoration: underline;
}
.no-underline {
  text-decoration: none;
}
.leading-none {
  line-height: 1;
}
.leading-tight {
  line-height: 1.25;
}
.leading-snug {
  line-height: 1.375;
}
.leading-normal {
  line-height: 1.5;
}
.leading-relaxed {
  line-height: 1.625;
}
.tracking-tight {
  letter-spacing: -0.025em;
}
.tracking-wide {
  letter-spacing: 0.025em;
}
.tracking-wider {
  letter-spacing: 0.05em;
}
.tracking-widest {
  letter-spacing: 0.1em;
}
.whitespace-nowrap {
  white-space: nowrap;
}
.whitespace-pre-wrap {
  white-space: pre-wrap;
}
.truncate {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.color-muted,
.text-muted {
  color: var(--color-fg-muted);
}
.color-primary {
  color: var(--color-primary);
}
.color-primary-muted {
  color: color-mix(in oklch, var(--color-primary) 60%, transparent);
}
.color-success {
  color: var(--color-success);
}
.color-warning {
  color: var(--color-warning);
}
.color-error {
  color: var(--color-error);
}
.color-info {
  color: var(--color-info);
}
.icon-xs {
  width: 0.75rem;
  height: 0.75rem;
}
.icon-sm {
  width: 1rem;
  height: 1rem;
}
.icon-md {
  width: 1.25rem;
  height: 1.25rem;
}
.icon-lg {
  width: 1.5rem;
  height: 1.5rem;
}
.icon-xl {
  width: 2rem;
  height: 2rem;
}
.icon-2xl {
  width: 3rem;
  height: 3rem;
}
.icon-huge {
  width: 120px;
  height: 120px;
}
.col-1 {
  grid-column: span 1;
}
.col-2 {
  grid-column: span 2;
}
.col-3 {
  grid-column: span 3;
}
.col-4 {
  grid-column: span 4;
}
.col-5 {
  grid-column: span 5;
}
.col-6 {
  grid-column: span 6;
}
.col-7 {
  grid-column: span 7;
}
.col-8 {
  grid-column: span 8;
}
.col-9 {
  grid-column: span 9;
}
.col-10 {
  grid-column: span 10;
}
.col-11 {
  grid-column: span 11;
}
.col-12 {
  grid-column: span 12;
}
.overflow-hidden {
  overflow: hidden;
}
.overflow-auto {
  overflow: auto;
}
.overflow-x-auto {
  overflow-x: auto;
}
.overflow-y-auto {
  overflow-y: auto;
}
.relative {
  position: relative;
}
.absolute {
  position: absolute;
}
.fixed {
  position: fixed;
}
.sticky {
  position: sticky;
}
.inset-0 {
  inset: 0;
}
.top-0 {
  top: 0;
}
.right-0 {
  right: 0;
}
.bottom-0 {
  bottom: 0;
}
.left-0 {
  left: 0;
}
.z-0 {
  z-index: 0;
}
.z-10 {
  z-index: 10;
}
.z-20 {
  z-index: 20;
}
.z-30 {
  z-index: 30;
}
.z-40 {
  z-index: 40;
}
.z-50 {
  z-index: 50;
}
.opacity-0 {
  opacity: 0;
}
.opacity-30 {
  opacity: 0.3;
}
.opacity-50 {
  opacity: 0.5;
}
.opacity-60 {
  opacity: 0.6;
}
.opacity-70 {
  opacity: 0.7;
}
.opacity-80 {
  opacity: 0.8;
}
.border {
  border: 1px solid var(--color-border);
}
.border-t {
  border-top: 1px solid var(--color-border);
}
.border-b {
  border-bottom: 1px solid var(--color-border);
}
.border-l {
  border-left: 1px solid var(--color-border);
}
.border-r {
  border-right: 1px solid var(--color-border);
}
.border-dashed {
  border-style: dashed;
}
.rounded {
  border-radius: var(--radius);
}
.rounded-lg {
  border-radius: var(--radius-lg);
}
.rounded-full {
  border-radius: var(--radius-full);
}
.cursor-pointer {
  cursor: pointer;
}
.cursor-default {
  cursor: default;
}
.cursor-wait {
  cursor: wait;
}
.pointer-events-none {
  pointer-events: none;
}
.select-none {
  user-select: none;
}
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
@keyframes spin {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}
.spin {
  animation: spin 1s linear infinite;
}
@media (prefers-reduced-motion: reduce) {
  .spin {
    animation: none;
  }
}

/* css/components.css */
.app-shell {
  height: 100vh;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  background: var(--color-bg);
}
.app-shell.monospace {
  font-family: var(--font-mono);
}
.app-layout {
  display: flex;
  flex-direction: column;
  flex: 1;
  min-height: 0;
  background: var(--color-bg-secondary);
}
.app-main {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
}
.app-content {
  flex: 1;
  overflow-y: auto;
  overflow-x: hidden;
  position: relative;
  min-width: 0;
  padding-bottom: 8rem;
  padding-top: var(--sp-2);
}
.content-area {
  flex: 1;
  padding: var(--sp-4);
  margin-bottom: 4rem;
}
.row {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  gap: var(--sp-4);
}
.sidebar-nav {
  display: none;
  flex-direction: column;
  gap: var(--sp-4);
  padding: var(--sp-4) var(--sp-3);
  padding-top: env(safe-area-inset-top, var(--sp-4));
  padding-bottom: env(safe-area-inset-bottom, var(--sp-4));
  flex-shrink: 0;
  height: 100vh;
  overflow: hidden;
  background: var(--color-bg-secondary);
  border-right: 1px solid var(--color-border);
  width: var(--sidebar-width);
}
.sidebar-nav[data-collapsed=true] {
  width: var(--sidebar-collapsed);
  padding-left: var(--sp-2);
  padding-right: var(--sp-2);
}
.sidebar-header {
  display: flex;
  align-items: center;
  gap: var(--sp-3);
  padding: var(--sp-2);
  text-decoration: none;
  color: inherit;
  transition: opacity var(--transition-fast);
}
.sidebar-header:hover {
  opacity: 0.8;
}
.sidebar-logo {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.25rem;
  height: 2.25rem;
  border-radius: var(--radius-lg);
  background: var(--color-primary);
  color: white;
  flex-shrink: 0;
}
.sidebar-title {
  font-weight: 600;
  color: var(--color-fg);
}
.sidebar-nav-list {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  min-height: 0;
  flex: 1;
  overflow-y: auto;
  overflow-x: hidden;
}
.sidebar-footer {
  border-top: 1px solid var(--color-border);
  padding-top: var(--sp-3);
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-left: var(--sp-2);
  padding-right: var(--sp-2);
}
.sidebar-version {
  font-size: 0.625rem;
  color: var(--color-fg-muted);
  opacity: 0.4;
}
.sidebar-toggle-btn {
  padding: 0.375rem;
  border-radius: var(--radius-lg);
  color: var(--color-fg-muted);
  background: transparent;
  border: none;
  cursor: pointer;
  transition: background-color var(--transition-fast), color var(--transition-fast);
}
.sidebar-toggle-btn:hover {
  background: var(--color-fg-10);
  color: var(--color-fg);
}
.sidebar-footer-actions {
  display: flex;
  align-items: center;
  gap: var(--sp-1);
}
.nav-section-header {
  padding: var(--sp-4) var(--sp-2) var(--sp-1);
}
.nav-section-header:first-child {
  padding-top: 0;
}
.nav-section-header span {
  font-size: 0.6875rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.075em;
  color: var(--color-fg-muted);
  opacity: 0.4;
}
.nav-item-link {
  display: flex;
  align-items: center;
  gap: var(--sp-3);
  padding: var(--sp-2) var(--sp-3);
  border-radius: var(--radius-lg);
  transition: background-color var(--transition-fast), color var(--transition-fast);
  text-decoration: none;
  color: var(--color-fg-muted);
}
.nav-item-link:hover {
  background: var(--color-fg-10);
  color: var(--color-fg);
}
.nav-item-link.active {
  font-weight: 600;
  color: var(--color-fg);
  background: var(--color-fg-10);
}
.nav-item-link .icon-md {
  flex-shrink: 0;
}
.nav-item-text {
  font-size: 0.875rem;
}
.sidebar-nav[data-collapsed=true] .sidebar-label,
.sidebar-nav[data-collapsed=true] .nav-section-header {
  display: none;
}
.sidebar-nav[data-collapsed=true] .sidebar-header {
  justify-content: center;
  padding: 0;
}
.sidebar-nav[data-collapsed=true] .nav-item-link {
  justify-content: center;
  padding: var(--sp-2);
  position: relative;
}
.sidebar-nav[data-collapsed=true] .nav-item-text {
  display: none;
}
.sidebar-nav[data-collapsed=true] .sidebar-footer {
  justify-content: center;
}
.sidebar-nav .sidebar-expand-icon {
  display: none;
}
.sidebar-nav[data-collapsed=true] .sidebar-expand-icon {
  display: block;
}
.sidebar-nav[data-collapsed=true] .sidebar-collapse-icon {
  display: none;
}
.sidebar-nav[data-collapsed=true] .nav-item-link:hover::after {
  content: attr(title);
  position: absolute;
  left: 100%;
  top: 50%;
  transform: translateY(-50%);
  margin-left: 0.75rem;
  padding: 0.375rem 0.75rem;
  background: var(--color-fg);
  color: var(--color-bg);
  font-size: 0.75rem;
  font-weight: 500;
  white-space: nowrap;
  border-radius: var(--radius);
  z-index: 100;
  pointer-events: none;
}
.mobile-nav {
  position: fixed;
  bottom: 0;
  width: 100%;
  background: var(--color-bg-90);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border-top: 1px solid var(--color-border);
  z-index: 50;
  padding-bottom: env(safe-area-inset-bottom);
}
.mobile-nav-inner {
  display: flex;
  justify-content: space-around;
  align-items: center;
  height: 4rem;
  padding: 0 var(--sp-2);
}
.mobile-nav-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.25rem;
  padding: var(--sp-2);
  width: 4rem;
  transition: all var(--transition-fast);
  text-decoration: none;
}
.mobile-nav-icon {
  color: var(--color-fg-muted);
}
.mobile-nav-icon-active {
  border-radius: 0.75rem;
  background: var(--color-primary);
  padding: 0.25rem 0.75rem;
  box-shadow: var(--shadow-sm);
  color: white;
}
.mobile-nav-label {
  font-size: 0.5625rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  color: var(--color-fg-muted);
}
.mobile-nav-label.active {
  font-weight: 700;
  color: var(--color-fg);
}
.page-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--sp-2);
  min-height: 2.75rem;
  padding: var(--sp-2) var(--sp-4);
  border-bottom: 1px solid var(--color-border);
  background: var(--color-bg-secondary-95);
  position: sticky;
  top: 0;
  z-index: 40;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  flex-shrink: 0;
}
.page-header-title {
  font-size: 0.875rem;
  font-weight: 600;
  letter-spacing: 0.025em;
  color: var(--color-fg);
  text-decoration: none;
  flex-shrink: 0;
}
.page-header-title:hover {
  opacity: 0.8;
}
.page-header-selectors {
  display: none;
  align-items: center;
  gap: var(--sp-3);
  flex-shrink: 0;
}
.back-link {
  padding: 0.25rem;
  margin-left: -0.5rem;
  border-radius: var(--radius);
  color: var(--color-fg);
  transition: background-color var(--transition-fast);
}
.back-link:hover {
  background: var(--color-bg-secondary);
}
.section-header {
  padding-bottom: var(--sp-4);
}
.section-header h1 {
  font-size: 1.125rem;
  font-weight: 600;
  line-height: 1.5;
  margin: 0;
}
.section-header.with-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--sp-6);
}
.section-header .subtitle {
  font-size: 0.875rem;
  color: var(--color-fg-muted);
  margin: 0;
}
.section-title {
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  margin: 0;
}
.tab-strip,
.filter-pills,
.custom-command-tabs {
  display: flex;
  align-items: center;
  gap: 2px;
  padding: 2px;
  background: var(--color-border-30);
  border-radius: var(--radius);
  overflow-x: auto;
}
.filter-pills {
  background: var(--color-bg-secondary);
  flex-shrink: 0;
}
.custom-command-tabs {
  padding: 0.125rem;
  gap: 0.125rem;
  margin-left: 0.5rem;
}
.tab-item,
.filter-pill,
.custom-command-tab {
  display: inline-flex;
  align-items: center;
  gap: var(--sp-2);
  padding: var(--sp-2) var(--sp-3);
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.025em;
  border-radius: calc(var(--radius) - 2px);
  color: var(--color-fg-muted);
  text-decoration: none;
  white-space: nowrap;
  transition: background-color var(--transition-fast), color var(--transition-fast);
  border: none;
  background: transparent;
  cursor: pointer;
}
.filter-pill {
  font-weight: 500;
}
.tab-item:hover,
.filter-pill:hover,
.custom-command-tab:not(.active):hover {
  color: var(--color-fg);
  background: var(--color-bg-50);
}
.tab-item.active,
.filter-pill.active,
.custom-command-tab.active {
  color: var(--color-fg);
  background: var(--color-bg);
  box-shadow: var(--shadow-sm);
}
.filter-pill.active.bg-success {
  background: var(--color-success);
  color: white;
}
.filter-pill.active.bg-warning {
  background: var(--color-warning);
  color: white;
}
.filter-pill.active.bg-error {
  background: var(--color-error);
  color: white;
}
.badge {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  padding: 0.125rem 0.5rem;
  font-size: 0.75rem;
  border-radius: var(--radius-full);
}
.badge-primary {
  background: var(--color-primary-20);
  color: var(--color-primary);
}
.badge-success {
  background: var(--color-success-20);
  color: var(--color-success);
}
.badge-warning {
  background: var(--color-warning-20);
  color: var(--color-warning);
}
.badge-error {
  background: var(--color-error-20);
  color: var(--color-error);
}
.badge-muted {
  background: var(--color-bg-secondary);
  color: var(--color-fg-muted);
}
.badge-sm {
  padding: 0.125rem 0.375rem;
  font-size: 0.625rem;
  border-radius: var(--radius-sm);
}
.badge-overdue {
  margin-left: 0.5rem;
  font-size: 0.625rem;
  color: var(--color-error);
  font-weight: 600;
}
.badge-overdue-inline {
  display: inline-flex;
  margin-left: 0.5rem;
  font-size: 0.625rem;
  background: var(--color-error-20);
  border-radius: var(--radius-sm);
  color: var(--color-error);
  padding: 0.125rem 0.5rem;
}
.tag-overflow {
  font-size: 0.625rem;
  color: var(--color-fg-muted);
  opacity: 0.5;
}
.tag-remove {
  background: none;
  border: none;
  padding: 0;
  cursor: pointer;
  color: inherit;
  opacity: 0.7;
  transition: opacity var(--transition-fast);
}
.tag-remove:hover {
  opacity: 1;
}
.icon-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: var(--sp-2);
  border-radius: var(--radius);
  background: var(--color-primary-10);
  color: var(--color-primary);
  cursor: pointer;
  border: none;
  transition: all var(--transition-fast);
}
.icon-button:hover {
  background: var(--color-primary);
  color: white;
}
.icon-button.muted {
  background: var(--color-bg-tertiary-50);
  color: var(--color-fg-muted);
}
.icon-button.muted:hover {
  background: var(--color-bg-tertiary-80);
  color: var(--color-fg);
}
.icon-button.ghost {
  background: transparent;
  color: var(--color-fg-muted);
}
.icon-button.ghost:hover {
  background: var(--color-bg-tertiary);
  color: var(--color-fg);
}
.icon-button-danger:hover {
  background: var(--color-error-20);
  color: var(--color-error);
}
.form-button-primary,
.upload-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  padding: 0.375rem 0.75rem;
  font-size: 0.875rem;
  font-weight: 500;
  background: var(--color-primary);
  color: white;
  border: none;
  border-radius: var(--radius);
  cursor: pointer;
  transition: opacity var(--transition-fast);
}
.upload-button {
  width: 100%;
  padding: 0.75rem 1rem;
  border-radius: var(--radius-lg);
}
.form-button-primary:hover,
.upload-button:hover {
  opacity: 0.9;
}
.form-button-secondary {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.375rem 0.75rem;
  font-size: 0.875rem;
  font-weight: 500;
  background: transparent;
  color: var(--color-fg-muted);
  border: none;
  border-radius: var(--radius);
  cursor: pointer;
  transition: background-color var(--transition-fast);
}
.form-button-secondary:hover {
  background: var(--color-bg-secondary);
}
.form-field-group {
  padding: 0.75rem;
  background: var(--color-bg-secondary-50);
  border-radius: var(--radius-lg);
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}
.form-input,
.form-select,
.form-textarea {
  width: 100%;
  padding: 0.5rem 0.75rem;
  font-size: 0.875rem;
  background: var(--color-bg-secondary);
  border: none;
  border-radius: var(--radius);
  color: var(--color-fg);
}
.form-input,
.form-textarea {
  margin-top: 0.25rem;
}
.form-textarea {
  resize: none;
}
.form-select {
  cursor: pointer;
}
.form-input:focus,
.form-select:focus,
.form-textarea:focus {
  outline: none;
  box-shadow: 0 0 0 2px var(--color-primary);
}
.form-checkbox,
.form-radio {
  width: 1rem;
  height: 1rem;
  accent-color: var(--color-primary);
}
.form-checkbox {
  border-radius: var(--radius-sm);
  border: 1px solid var(--color-border);
}
.checkbox-label,
.radio-label {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  cursor: pointer;
  font-size: 0.875rem;
}
.checkbox-label {
  display: flex;
  padding: 0.75rem;
}
.radio {
  appearance: none;
  width: 1.25rem;
  height: 1.25rem;
  border: 2px solid var(--color-border);
  border-radius: 50%;
  cursor: pointer;
  transition: all var(--transition-fast);
  position: relative;
}
.radio:checked {
  border-color: var(--color-primary);
}
.radio:checked::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 0.5rem;
  height: 0.5rem;
  border-radius: 50%;
  background: var(--color-primary);
}
.radio:focus {
  outline: none;
  box-shadow: 0 0 0 2px white, 0 0 0 4px var(--color-primary);
}
.radio-primary:checked {
  border-color: var(--color-primary);
}
.radio-primary:checked::after {
  background: var(--color-primary);
}
.checkbox {
  appearance: none;
  width: 1.25rem;
  height: 1.25rem;
  border: 2px solid var(--color-border);
  border-radius: 0.25rem;
  cursor: pointer;
  transition: all var(--transition-fast);
  position: relative;
}
.checkbox:checked {
  background: var(--color-primary);
  border-color: var(--color-primary);
}
.checkbox:checked::after {
  content: "";
  position: absolute;
  top: 45%;
  left: 50%;
  transform: translate(-50%, -50%) rotate(45deg);
  width: 0.3rem;
  height: 0.55rem;
  border: solid white;
  border-width: 0 2px 2px 0;
}
.checkbox:focus {
  outline: none;
  box-shadow: 0 0 0 2px white, 0 0 0 4px var(--color-primary);
}
.checkbox-primary:checked {
  background: var(--color-primary);
  border-color: var(--color-primary);
}
.form-warning {
  padding: 0.75rem;
  background: var(--color-warning-20);
  border: 1px solid var(--color-warning-30);
  border-radius: var(--radius);
  color: var(--color-warning);
  font-size: 0.875rem;
}
.form-section {
  padding: var(--sp-4);
}
.field-label {
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  color: var(--color-fg-muted);
}
.readonly-value {
  padding: var(--sp-2) var(--sp-3);
  background: var(--color-bg-secondary);
  border: 1px solid var(--color-border);
  border-radius: var(--radius);
  font-size: 0.875rem;
}
.data-table {
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  overflow: hidden;
}
.data-table-header {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  gap: var(--sp-2);
  padding: var(--sp-2) var(--sp-4);
  background: var(--color-bg-secondary);
  font-size: 0.625rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--color-fg-muted);
}
.data-table-header-cell {
  display: flex;
  align-items: center;
  gap: var(--sp-1);
  background: transparent;
  border: none;
  padding: 0;
  font: inherit;
  color: inherit;
  text-transform: inherit;
  letter-spacing: inherit;
}
.data-table-header-cell.sortable {
  cursor: pointer;
  transition: color var(--transition-fast);
}
.data-table-header-cell.sortable:hover,
.sort-column-btn:hover,
.sort-column-btn.active {
  color: var(--color-fg);
}
.data-table-header-cell.align-right {
  justify-content: flex-end;
}
.data-table-header-cell.align-center {
  justify-content: center;
}
.data-table-row {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  gap: var(--sp-2);
  padding: var(--sp-3) var(--sp-4);
  border-top: 1px solid var(--color-border-50);
  font-size: 0.875rem;
  text-decoration: none;
  color: inherit;
  transition: background-color var(--transition-fast);
  align-items: center;
}
.data-table-row:hover {
  background: var(--color-bg-secondary-50);
}
.data-table-empty {
  padding: var(--sp-8) var(--sp-4);
  text-align: center;
  color: var(--color-fg-muted);
}
.data-table-footer {
  margin-top: var(--sp-4);
}
.data-list {
  list-style: none;
  padding: 0;
  margin: 0;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  background: var(--color-bg);
}
.data-list li {
  padding: var(--sp-3) var(--sp-4);
  border-bottom: 1px solid var(--color-border);
}
.data-list li:last-child {
  border-bottom: none;
}
.data-list li strong {
  display: block;
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--color-fg);
  margin-bottom: 0.125rem;
}
.data-list li span {
  font-size: 0.875rem;
  color: var(--color-fg-muted);
}
table tr.clickable {
  cursor: pointer;
}
table tr.clickable:hover {
  background: var(--color-bg-secondary);
}
table .actions-cell {
  width: 0;
  text-align: right;
  font-weight: 600;
}
.sort-column-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  background: transparent;
  border: none;
  padding: 0;
  font: inherit;
  color: inherit;
  cursor: pointer;
  transition: color var(--transition-fast);
}
.clickable-row {
  cursor: pointer;
  transition: background-color var(--transition-fast);
}
.clickable-row:hover {
  background: var(--color-border-30);
}
.clickable-row.selected {
  background: var(--color-border-40);
}
.row-overdue {
  background: var(--color-error-5);
}
.row-former {
  opacity: 0.6;
}
.row-former:hover {
  opacity: 0.8;
}
.stat-card {
  border-radius: var(--radius-lg);
  background: var(--color-bg);
  border: 1px solid var(--color-border);
  box-shadow: var(--shadow-sm);
}
.stat-card-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: var(--sp-2);
}
.stat-card-label {
  font-size: 0.6875rem;
  font-weight: 600;
  letter-spacing: 0.025em;
  color: var(--color-fg-muted);
}
.stat-card-value {
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--color-fg);
}
.stat-card-value.success {
  color: var(--color-success);
}
.stat-card-value.error {
  color: var(--color-error);
}
.stat-card-value.primary {
  color: var(--color-primary);
}
.stat-card-subtitle {
  font-size: 0.75rem;
  color: var(--color-fg-muted);
  margin-top: var(--sp-1);
}
.stat-card-featured {
  border-radius: var(--radius-lg);
  background:
    linear-gradient(
      to right,
      color-mix(in oklch, var(--color-primary) 10%, var(--color-bg)),
      var(--color-primary-5));
  border: 1px solid var(--color-primary-20);
}
.metrics-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--sp-4);
}
.alert-error,
.alert-warning {
  margin-bottom: 1rem;
  border-radius: var(--radius);
  padding: 0.75rem 1rem;
}
.alert-error {
  border: 1px solid var(--color-error-30);
  background: var(--color-error-10);
}
.alert-warning {
  border: 1px solid var(--color-warning-30);
  background: var(--color-warning-10);
}
.alert-link {
  margin-top: 0.25rem;
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  text-decoration: underline;
  text-underline-offset: 2px;
}
.error-message {
  padding: 1rem;
  background: var(--color-error-10);
  border: 1px solid var(--color-error-20);
  border-radius: var(--radius);
  color: var(--color-error);
}
.error-card-wrapper {
  padding: 0 var(--sp-4);
}
.error-card {
  border: 1px solid var(--color-border-30);
  background: var(--color-bg-tertiary-10);
  padding: var(--sp-8);
  margin-bottom: var(--sp-6);
}
.error-card h2 {
  font-size: 1.25rem;
  font-weight: 700;
  color: var(--color-fg);
  margin: 0 0 var(--sp-2);
}
.error-card .error-link {
  display: block;
  color: var(--color-fg);
  text-decoration: underline;
  text-decoration-style: dotted;
  text-decoration-thickness: 1px;
  text-underline-offset: 2px;
  margin-bottom: var(--sp-4);
  word-break: break-all;
  transition: color var(--transition-fast);
}
.error-card .error-link:hover {
  color: var(--color-primary);
}
.error-card .error-link small {
  display: block;
  font-size: 0.75rem;
  color: var(--color-fg-muted);
  margin-top: 0.25rem;
}
.error-card .error-message {
  color: var(--color-fg-muted);
  margin-bottom: var(--sp-4);
}
.error-card .error-location {
  display: block;
  font-size: 0.75rem;
  color: var(--color-fg-muted);
  margin-bottom: var(--sp-4);
}
.error-card .settings-link {
  color: var(--color-fg);
  text-decoration: underline;
}
.flash-group {
  position: fixed;
  right: var(--sp-4);
  top: var(--sp-4);
  z-index: 50;
  display: flex;
  width: 22rem;
  max-width: 90vw;
  flex-direction: column;
  gap: var(--sp-3);
}
.empty-state {
  padding: var(--sp-6);
  text-align: center;
}
.empty-state-icon {
  opacity: 0.3;
  margin-bottom: 0.75rem;
}
.theme-toggle {
  position: relative;
  display: flex;
  align-items: center;
  border-radius: var(--radius-full);
  border: 1px solid var(--color-border);
  background: var(--color-bg-secondary);
  padding: 0.25rem;
  box-shadow: var(--shadow-sm);
}
.theme-toggle-indicator {
  position: absolute;
  inset: 0.25rem 0;
  width: calc(100% / 3 - 0.125rem);
  border-radius: var(--radius-full);
  border: 1px solid var(--color-border);
  background: var(--color-bg);
  box-shadow: var(--shadow-sm);
  left: 0;
  transition: left var(--transition);
}
[data-theme=light] .theme-toggle-indicator {
  left: calc(100% / 3);
}
[data-theme=dark] .theme-toggle-indicator {
  left: calc(100% * 2 / 3);
}
.theme-toggle-btn {
  display: flex;
  width: calc(100% / 3);
  align-items: center;
  justify-content: center;
  padding: var(--sp-2);
  background: transparent;
  border: none;
  cursor: pointer;
  color: var(--color-fg-muted);
  transition: color var(--transition-fast);
  position: relative;
  z-index: 1;
}
.theme-toggle-btn:hover {
  color: var(--color-fg);
}
.login-container {
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: var(--sp-4);
  background: var(--color-bg);
}
.login-card-wrapper {
  width: 100%;
  max-width: 28rem;
}
.login-card {
  padding: var(--sp-8);
}
.login-header {
  text-align: center;
  margin-bottom: var(--sp-8);
}
.login-logo {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 4rem;
  height: 4rem;
  margin: 0 auto var(--sp-4);
  border-radius: var(--radius-full);
  border: 2px solid var(--color-border);
}
.login-footer {
  margin-top: var(--sp-6);
  text-align: center;
}

/* css/pages.css */
.filter-bar,
.advanced-filters {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--sp-3);
  padding: var(--sp-3) var(--sp-4);
  border-bottom: 1px solid var(--color-border);
  background: var(--color-bg);
}
.advanced-filters {
  padding: 0.5rem 1rem;
  background: var(--color-bg-50);
  gap: 0.75rem;
}
.advanced-filters .filter-label {
  display: inline;
  margin-bottom: 0;
}
.advanced-filters .hstack {
  flex-wrap: nowrap;
}
.filter-bar-search {
  width: 100%;
  order: 1;
}
.filter-bar-filters {
  display: flex;
  align-items: center;
  gap: var(--sp-3);
  overflow-x: auto;
  order: 2;
}
.filter-bar-actions {
  margin-left: auto;
  order: 3;
}
.filter-select,
.grouping-select,
.date-input {
  padding: var(--sp-2) var(--sp-3);
  font-size: 0.875rem;
  background: var(--color-bg-secondary);
  border: 1px solid transparent;
  border-radius: var(--radius);
  color: var(--color-fg);
  cursor: pointer;
  transition: border-color var(--transition-fast), box-shadow var(--transition-fast);
}
.filter-select:focus,
.grouping-select:focus,
.date-input:focus {
  outline: none;
  border-color: var(--color-primary);
  box-shadow: 0 0 0 2px var(--color-primary-20);
}
.filter-select:hover {
  background: var(--color-bg-tertiary);
}
.grouping-select {
  border: none;
  padding: 0.375rem 0.5rem;
  font-size: 0.75rem;
  font-weight: 500;
}
.date-input {
  padding: 0.25rem 0.5rem;
  font-size: 0.75rem;
  border: none;
}
.clear-filters-btn,
.filter-clear-link {
  font-size: 0.75rem;
  color: var(--color-fg-muted);
  background: transparent;
  border: none;
  padding: var(--sp-1) var(--sp-2);
  cursor: pointer;
  transition: color var(--transition-fast);
}
.filter-clear-link {
  text-decoration: underline;
  text-underline-offset: 2px;
}
.clear-filters-btn:hover,
.filter-clear-link:hover {
  color: var(--color-fg);
}
.filter-count-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 1.25rem;
  height: 1.25rem;
  padding: 0 0.375rem;
  font-size: 0.625rem;
  font-weight: 700;
  border-radius: var(--radius-full);
  background: var(--color-primary);
  color: white;
}
.filter-menu-card {
  margin-bottom: var(--sp-4);
  border-radius: var(--radius-lg);
  border: 1px solid var(--color-border);
  background: var(--color-bg-80);
  padding: var(--sp-4);
  box-shadow: var(--shadow-sm);
}
.filter-menu-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--sp-3);
}
.filter-menu-label,
.filter-label {
  display: block;
  margin-bottom: 0.25rem;
  padding-left: 0.125rem;
  font-size: 0.625rem;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--color-fg-muted);
  font-weight: 600;
}
.filter-menu-card input,
.filter-menu-card select {
  width: 100%;
  padding: var(--sp-2) var(--sp-3);
  font-size: 0.75rem;
  background: var(--color-bg);
  border: 1px solid var(--color-border);
  border-radius: var(--radius);
  color: var(--color-fg);
}
.filter-menu-card input:focus,
.filter-menu-card select:focus {
  outline: none;
  border-color: var(--color-primary);
  box-shadow: 0 0 0 2px var(--color-primary-20);
}
.filter-menu-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: var(--sp-3);
  padding-top: var(--sp-3);
  border-top: 1px solid var(--color-border);
}
.filter-summary-text,
.filter-summary {
  font-size: 0.75rem;
  color: var(--color-fg-muted);
  margin-left: auto;
}
.search-input-wrapper {
  position: relative;
}
.search-input-icon {
  position: absolute;
  left: var(--sp-3);
  top: 50%;
  transform: translateY(-50%);
  color: var(--color-fg-muted);
  pointer-events: none;
}
.search-input {
  width: 100%;
  padding: var(--sp-2) var(--sp-3) var(--sp-2) 2.25rem;
  font-size: 0.875rem;
  background: var(--color-bg-secondary);
  border: 1px solid transparent;
  border-radius: var(--radius);
}
.search-input:focus {
  outline: none;
  border-color: var(--color-primary);
  box-shadow: 0 0 0 2px var(--color-primary-20);
}
.search-input::placeholder {
  color: var(--color-fg-muted);
}
.role-selector,
.project-switcher,
.grouping-selector,
.language-selector {
  display: flex;
  align-items: center;
  gap: var(--sp-2);
  padding: var(--sp-2) var(--sp-3);
  background: var(--color-border-30);
  border-radius: var(--radius);
}
.grouping-selector {
  gap: 0.25rem;
  background: var(--color-bg-secondary);
  border-radius: var(--radius-lg);
  padding: 0.25rem;
}
.language-selector {
  background: var(--color-bg-secondary);
  padding: 0.375rem var(--sp-3);
}
.role-selector select,
.language-selector select {
  background: transparent;
  border: none;
  font-size: 0.875rem;
  font-weight: 500;
  color: var(--color-fg);
  outline: none;
}
.role-selector select {
  cursor: default;
}
.language-selector select {
  cursor: pointer;
}
.project-switcher {
  text-decoration: none;
  color: var(--color-fg);
  transition: background-color var(--transition-fast);
}
.project-switcher:hover {
  background: var(--color-border);
}
.project-switcher span {
  font-size: 0.875rem;
  font-weight: 500;
}
.grouping-label {
  padding: 0 0.5rem;
  font-size: 0.75rem;
  color: var(--color-fg-muted);
}
.language-selector-icon {
  color: var(--color-fg-muted);
}
.detail-layout {
  flex: 1;
  display: flex;
  overflow: hidden;
}
.detail-sidebar {
  width: var(--detail-sidebar);
  border-right: 1px solid var(--color-border);
  padding: 1.5rem;
  overflow-y: auto;
  flex-shrink: 0;
}
.detail-sidebar-wide {
  width: auto;
  flex: 1;
  max-width: var(--detail-sidebar-wide);
}
.detail-preview {
  flex: 1;
  background: var(--color-bg-secondary);
  padding: 1.5rem;
  overflow-y: auto;
}
.detail-container {
  max-width: var(--container-xl);
  margin: 0 auto;
}
.detail-section {
  margin-bottom: var(--sp-6);
  box-shadow: var(--shadow);
}
.detail-section-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: var(--sp-4);
}
.detail-section-title {
  font-size: 0.875rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--color-fg-muted);
  margin: 0;
}
.detail-field {
  margin-bottom: var(--sp-3);
  display: flex;
  flex-direction: column;
  gap: var(--sp-1);
}
.detail-field-label {
  font-size: 0.625rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--color-fg-muted);
  margin-bottom: var(--sp-1);
}
.detail-field-value {
  font-size: 0.875rem;
  color: var(--color-fg);
}
.detail-field dt {
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--color-fg-muted);
}
.detail-field dd {
  font-size: 0.875rem;
  color: var(--color-fg);
  margin: 0;
}
.detail-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: var(--sp-4);
}
.detail-grid.cols-4 {
  grid-template-columns: repeat(2, 1fr);
}
.amount-large {
  font-size: 1.5rem;
  font-family: var(--font-mono);
  font-weight: 700;
}
.amount-secondary {
  font-size: 1rem;
  font-weight: normal;
  color: var(--color-fg-muted);
}
.amount-income {
  font-weight: 500;
  color: var(--color-success);
}
.amount-expense {
  font-weight: 500;
  color: var(--color-error);
}
.amount-warning {
  font-weight: 500;
  color: var(--color-warning);
}
.text-overdue {
  color: var(--color-error);
  font-weight: 500;
}
.transaction-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: var(--sp-3);
  border-radius: var(--radius);
  border: 1px solid var(--color-border-50);
  text-decoration: none;
  color: inherit;
  transition: background-color var(--transition-fast);
}
.transaction-item:hover {
  background: var(--color-bg-secondary);
}
.transaction-icon {
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 50%;
  background: var(--color-primary-10);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.transaction-details {
  flex: 1;
  min-width: 0;
  margin-left: var(--sp-3);
}
.transaction-payee {
  font-weight: 500;
  font-size: 0.875rem;
  color: var(--color-fg);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.transaction-meta {
  font-size: 0.75rem;
  color: var(--color-fg-muted);
}
.transaction-amount {
  font-size: 0.875rem;
  font-family: var(--font-mono);
  font-weight: 600;
  color: var(--color-fg);
}
.attachment-link,
.attachment-empty,
.attachment-warning {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.5rem 0.75rem;
  border-radius: var(--radius);
  font-size: 0.875rem;
  transition: background-color var(--transition-fast), color var(--transition-fast);
  width: 100%;
  text-align: left;
  border: none;
  cursor: pointer;
  text-decoration: none;
}
.attachment-link {
  background: var(--color-success-20);
  color: var(--color-success);
}
.attachment-link:hover {
  background: var(--color-success-30);
}
.attachment-link.active {
  background: var(--color-primary-20);
  color: var(--color-primary);
}
.attachment-empty {
  display: inline-flex;
  background: var(--color-bg-secondary);
  color: var(--color-fg-muted);
  cursor: default;
}
.attachment-warning {
  display: inline-flex;
  background: var(--color-warning-20);
  color: var(--color-warning);
  cursor: default;
}
.attachment-row,
.posting-row {
  display: flex;
  gap: var(--sp-3);
  align-items: flex-start;
  justify-content: space-between;
  padding: var(--sp-3);
  background: var(--color-bg-secondary);
  border-radius: var(--radius);
}
.posting-row {
  padding: var(--sp-2) var(--sp-3);
}
.current-attachment-item,
.staged-file-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.75rem;
  background: var(--color-bg);
  border-radius: var(--radius-lg);
  border: 1px solid var(--color-border);
}
.current-attachment-info,
.staged-file-info {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  min-width: 0;
}
.current-attachment-details {
  min-width: 0;
}
.current-attachment-name,
.staged-file-name {
  font-size: 0.875rem;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  display: block;
}
.current-attachment-view {
  font-size: 0.625rem;
  color: var(--color-primary);
  text-decoration: none;
}
.current-attachment-view:hover {
  text-decoration: underline;
}
.current-attachment-remove,
.staged-file-remove {
  padding: 0.375rem;
  color: var(--color-fg-muted);
  background: transparent;
  border: none;
  border-radius: var(--radius);
  cursor: pointer;
  flex-shrink: 0;
  transition: background-color var(--transition-fast), color var(--transition-fast);
}
.staged-file-remove {
  padding: 0.25rem;
}
.current-attachment-remove:hover,
.staged-file-remove:hover {
  background: var(--color-error-20);
  color: var(--color-error);
}
.upload-dropzone,
.files-upload-dropzone {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: var(--sp-4);
  border: 2px dashed var(--color-border);
  border-radius: var(--radius-lg);
  background: var(--color-bg-secondary);
  text-align: center;
  transition: border-color var(--transition), background var(--transition);
  cursor: pointer;
}
.files-upload-dropzone {
  border-radius: var(--radius);
  padding: 1rem;
  background: var(--color-bg-secondary-50);
  margin-bottom: 0.75rem;
}
.upload-dropzone:hover,
.files-upload-dropzone:hover {
  border-color: var(--color-primary);
  background: var(--color-bg-tertiary);
}
.files-upload-dropzone:hover {
  background: var(--color-bg-secondary);
}
.upload-dropzone.drag-over {
  border-color: var(--color-primary);
  background: var(--color-primary-5);
}
.upload-dropzone-label,
.files-upload-label {
  cursor: pointer;
  text-align: center;
  padding: 2rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.5rem;
}
.upload-dropzone-icon,
.files-upload-icon {
  width: 4rem;
  height: 4rem;
  margin: 0 auto 1rem;
  color: var(--color-fg-muted);
  opacity: 0.3;
}
.files-upload-icon {
  width: 2rem;
  height: 2rem;
  margin: 0;
  opacity: 0.4;
}
.upload-dropzone-icon-lg {
  width: 3rem;
  height: 3rem;
  margin: 0 auto 0.75rem;
  color: var(--color-fg-muted);
  opacity: 0.3;
}
.upload-dropzone-tall {
  min-height: 200px;
}
.upload-dropzone-title {
  font-size: 1.125rem;
  color: var(--color-fg-muted);
  font-weight: 500;
}
.upload-dropzone-subtitle,
.upload-dropzone-hint,
.files-upload-hint {
  font-size: 0.875rem;
  color: var(--color-fg-muted);
  opacity: 0.6;
  margin-top: 0.25rem;
}
.upload-dropzone-hint,
.files-upload-hint {
  font-size: 0.75rem;
  margin-top: 1rem;
}
.files-upload-text {
  font-size: 0.875rem;
  color: var(--color-fg-muted);
}
.files-upload-text strong {
  color: var(--color-fg);
}
.upload-entry {
  padding: var(--sp-1) var(--sp-2);
  background: var(--color-bg-secondary);
  border-radius: var(--radius-sm);
  font-size: 0.75rem;
  margin-top: var(--sp-3);
}
.upload-entry-item {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.75rem;
  background: var(--color-bg-secondary);
  border-radius: var(--radius);
  padding: 0.25rem 0.5rem;
  margin-top: 0.5rem;
}
.upload-entry-name {
  flex: 1;
  color: var(--color-fg);
}
.upload-entry-progress {
  color: var(--color-fg-muted);
}
.upload-entry-cancel {
  color: var(--color-fg-muted);
  background: transparent;
  border: none;
  padding: 0;
  cursor: pointer;
  transition: color var(--transition-fast);
}
.upload-entry-cancel:hover {
  color: var(--color-error);
}
.upload-entry-error {
  margin-top: 0.25rem;
  font-size: 0.75rem;
  color: var(--color-error);
}
.preview-container {
  height: 100%;
  display: flex;
  flex-direction: column;
}
.preview-link {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  font-size: 0.75rem;
  color: var(--color-primary);
  text-decoration: none;
}
.preview-link:hover {
  text-decoration: underline;
}
.preview-frame {
  flex: 1;
  background: var(--color-bg);
  border-radius: var(--radius-lg);
  overflow: hidden;
  box-shadow: var(--shadow);
}
.preview-iframe,
.pdf-preview iframe,
.pdf-viewer-frame iframe,
.pdf-preview-iframe-fullscreen {
  width: 100%;
  height: 100%;
  border: none;
}
.preview-image-container {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1rem;
}
.preview-image {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}
.preview-empty {
  height: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  color: var(--color-fg-muted);
  opacity: 0.5;
}
.preview-empty-icon {
  width: 6rem;
  height: 6rem;
  margin-bottom: 1rem;
}
.preview-empty-title {
  font-size: 1.125rem;
}
.preview-empty-subtitle {
  font-size: 0.875rem;
  margin-top: 0.25rem;
}
.pdf-preview {
  background: var(--color-bg-secondary);
  border-radius: var(--radius-lg);
  overflow: hidden;
}
.pdf-preview iframe {
  height: 600px;
}
.pdf-preview-fullscreen {
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.pdf-preview-iframe-fullscreen {
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-lg);
}
.pdf-viewer-card {
  padding: var(--sp-4);
}
.pdf-viewer-frame {
  width: 100%;
  height: 720px;
  overflow: hidden;
  border-radius: var(--radius);
  border: 1px solid var(--color-border);
}
.ocr-fields {
  display: flex;
  flex-direction: column;
  gap: var(--sp-3);
}
.ocr-field {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: var(--sp-2) var(--sp-3);
  background: var(--color-bg-secondary);
  border-radius: var(--radius);
}
.ocr-field-label {
  font-size: 0.75rem;
  color: var(--color-fg-muted);
  text-transform: uppercase;
  letter-spacing: 0.05em;
}
.ocr-field-value {
  font-size: 0.875rem;
  color: var(--color-fg);
  text-align: right;
}
.ocr-field-select {
  display: flex;
  flex-direction: column;
  gap: var(--sp-1);
}
.ocr-field-select .ocr-field-label {
  margin-bottom: var(--sp-1);
}
.ocr-field-select select,
.ocr-field-select input {
  width: 100%;
  padding: var(--sp-2);
  background: var(--color-bg-secondary);
  border: 1px solid var(--color-border);
  border-radius: var(--radius);
  font-size: 0.875rem;
  color: var(--color-fg);
}
.ocr-field-select select:focus,
.ocr-field-select input:focus {
  outline: none;
  border-color: var(--color-primary);
  box-shadow: 0 0 0 2px var(--color-primary-20);
}
.ocr-field-select select option {
  padding: var(--sp-2);
}
.ocr-field-select .w-auto {
  width: auto;
  min-width: 100px;
}
.ocr-raw-text {
  margin-top: var(--sp-2);
}
.ocr-raw-summary {
  cursor: pointer;
  font-size: 0.75rem;
  color: var(--color-fg-muted);
  display: flex;
  align-items: center;
  gap: 0.25rem;
  padding: var(--sp-1) 0;
}
.ocr-raw-summary:hover {
  color: var(--color-fg);
}
.ocr-raw-content {
  margin-top: var(--sp-2);
  padding: var(--sp-3);
  background: var(--color-bg-tertiary);
  border-radius: var(--radius);
  font-size: 0.7rem;
  line-height: 1.4;
  max-height: 200px;
  overflow-y: auto;
  white-space: pre-wrap;
  word-break: break-word;
  color: var(--color-fg-muted);
}
.ocr-loading {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: var(--sp-8);
  color: var(--color-fg-muted);
}
.ocr-loading-spinner {
  width: 2rem;
  height: 2rem;
  border: 2px solid var(--color-border);
  border-top-color: var(--color-primary);
  border-radius: 50%;
  animation: spin 1s linear infinite;
  margin-bottom: var(--sp-3);
}
.ocr-preview {
  border-top: 1px solid var(--color-border);
  padding-top: var(--sp-4);
}
.ocr-preview-frame {
  background: var(--color-bg-tertiary);
  border-radius: var(--radius);
  overflow: hidden;
  border: 1px solid var(--color-border);
}
.ocr-preview-iframe {
  width: 100%;
  height: 400px;
  border: none;
}
.ocr-preview-image {
  width: 100%;
  height: auto;
  max-height: 400px;
  object-fit: contain;
  display: block;
}
.ocr-preview-pdf-placeholder {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: var(--sp-8);
}
.balance-content,
.files-content {
  padding: 0 var(--sp-4);
}
.balance-tree {
  font-family: var(--font-mono);
}
.balance-options {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  margin-bottom: 1.5rem;
  margin-top: 0.5rem;
}
.balance-section-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  padding: var(--sp-2);
  cursor: pointer;
}
.balance-section-grid,
.balance-tree-grid {
  display: grid;
  align-items: center;
  gap: 0.75rem;
  width: 100%;
}
.balance-section-row {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  width: 100%;
}
.balance-section-title {
  font-weight: 700;
  color: var(--color-fg);
}
.balance-chevron {
  color: var(--color-fg-muted);
  transition: transform var(--transition-fast);
}
.balance-chevron.collapsed {
  transform: rotate(-90deg);
}
.balance-tree-line {
  position: relative;
  padding-left: 1rem;
  margin-left: 0.25rem;
}
.balance-tree-line::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 1px;
  background-color: var(--color-border);
}
.balance-tree-branch {
  position: relative;
  display: flex;
  align-items: center;
}
.balance-tree-branch::before {
  content: "";
  position: absolute;
  left: -1rem;
  top: 50%;
  width: 0.75rem;
  height: 1px;
  background-color: var(--color-border);
}
.balance-amount {
  font-weight: 700;
  color: var(--color-fg);
  text-align: right;
  min-width: 5rem;
}
.balance-tree-node {
  padding: 0.375rem 0.5rem;
  cursor: pointer;
  color: var(--color-fg-muted);
}
.balance-tree-node.highlighted {
  color: var(--color-fg);
}
.balance-tree-node:hover {
  background: var(--color-border-20);
}
.balance-tree-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 0.75rem;
  width: 100%;
}
.balance-tree-row:hover {
  background: var(--color-bg-secondary);
  border-radius: var(--radius-sm);
}
.balance-tree-label {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  min-width: 0;
}
.balance-tree-link {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  flex: 1;
  min-width: 0;
  text-decoration: none;
  color: inherit;
}
.balance-tree-link:hover {
  text-decoration: underline;
}
.balance-tree-name {
  font-size: 0.75rem;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.balance-tree-value {
  font-size: 0.75rem;
  font-variant-numeric: tabular-nums;
  text-align: right;
  min-width: 5rem;
  color: inherit;
  text-decoration: none;
}
.balance-tree-value:hover {
  text-decoration: underline;
}
.balance-tree-maximized {
  position: fixed;
  inset: var(--sp-4);
  z-index: 50;
  overflow: auto;
}
.leader-dots {
  flex-grow: 1;
  border-bottom: 1px dotted var(--color-border);
  margin: 0 6px;
  position: relative;
  top: -4px;
}
.tree-toggle {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 1rem;
  height: 1rem;
  border-radius: var(--radius-sm);
  background: transparent;
  border: none;
  cursor: pointer;
  padding: 0;
  flex-shrink: 0;
  transition: background-color var(--transition-fast);
}
.tree-toggle:hover {
  background: var(--color-border-40);
}
.tree-toggle .rotated {
  transform: rotate(-90deg);
}
.tree-toggle-spacer {
  width: 1rem;
  height: 1rem;
  flex-shrink: 0;
}
.balance-report-section {
  margin-bottom: 2rem;
}
.balance-report-header {
  border-bottom: 1px solid var(--color-border);
  padding-bottom: 0.5rem;
  margin-bottom: 0.75rem;
  padding-left: 0.25rem;
}
.balance-report-header-row {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.5rem;
}
.balance-report-title {
  display: flex;
  flex-direction: column;
  gap: 0.125rem;
}
.balance-report-title h3 {
  font-size: 0.75rem;
  font-weight: 700;
  color: var(--color-fg);
  letter-spacing: 0.1em;
}
.balance-report-date-range {
  font-size: 0.625rem;
  color: var(--color-fg-muted);
}
.balance-report-content {
  font-size: 0.875rem;
  font-family: var(--font-mono);
  display: flex;
  flex-direction: column;
  gap: 0.125rem;
  user-select: none;
}
.balance-total-row,
.balance-total-row-grid {
  margin-top: 1.5rem;
  padding-top: 1rem;
  border-top: 1px dashed var(--color-border);
  padding-left: 0.5rem;
  padding-right: 0.5rem;
}
.balance-total-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.balance-total-row-grid {
  display: grid;
  align-items: center;
  gap: 0.75rem;
  width: 100%;
}
.balance-total-label {
  font-weight: 700;
  font-size: 0.875rem;
  letter-spacing: 0.05em;
  color: var(--color-fg);
}
.balance-total-value {
  font-weight: 700;
  font-size: 1.125rem;
  color: var(--color-fg);
}
.balance-total-value.positive {
  color: var(--color-success);
}
.balance-total-value.negative {
  color: var(--color-error);
}
.balance-currency-totals {
  margin-top: 1.5rem;
  padding-top: 1rem;
  border-top: 1px dashed var(--color-border);
  padding-left: 0.5rem;
  padding-right: 0.5rem;
}
.balance-currency-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0.25rem 0;
}
.balance-currency-label {
  font-size: 0.75rem;
  font-weight: 500;
  color: var(--color-fg-muted);
  letter-spacing: 0.05em;
  text-transform: uppercase;
}
.balance-currency-value {
  font-size: 0.875rem;
  font-variant-numeric: tabular-nums;
  color: var(--color-fg);
}
.balance-currency-value.negative {
  color: var(--color-error);
}
.profit-loss-summary {
  background: var(--color-bg-secondary);
}
.pl-tree-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  padding: var(--sp-2);
  border-radius: var(--radius);
  transition: background-color var(--transition-fast);
}
.pl-tree-header.pl-income {
  background: var(--color-success-10);
  border: 1px solid var(--color-success-20);
  color: var(--color-success);
}
.pl-tree-header.pl-expense {
  background: var(--color-error-10);
  border: 1px solid var(--color-error-20);
  color: var(--color-error);
}
.pl-income-row,
.pl-expense-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: var(--sp-2);
  border-radius: var(--radius);
  cursor: pointer;
  transition: background-color var(--transition-fast);
  gap: var(--sp-3);
}
.pl-income-row {
  color: color-mix(in oklch, var(--color-success) 80%, var(--color-fg));
}
.pl-expense-row {
  color: color-mix(in oklch, var(--color-error) 80%, var(--color-fg));
}
.pl-income-row:hover,
.pl-expense-row:hover {
  background: var(--color-border-30);
}
.chart-container {
  overflow-x: auto;
}
.chart-bars {
  display: flex;
  align-items: flex-end;
  gap: var(--sp-2);
  height: 12rem;
  border-bottom: 1px solid var(--color-border);
  border-left: 1px solid var(--color-border);
  padding: var(--sp-4);
  min-width: 600px;
}
.chart-bar-group {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--sp-1);
}
.chart-bar-pair {
  width: 100%;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  gap: 2px;
  height: 10rem;
}
.chart-bar {
  width: 45%;
  border-radius: var(--radius-sm) var(--radius-sm) 0 0;
  transition: opacity var(--transition-fast);
}
.chart-bar:hover {
  opacity: 0.8;
}
.chart-bar.income,
.chart-legend-dot.income {
  background: var(--color-success);
}
.chart-bar.expense,
.chart-legend-dot.expense {
  background: var(--color-error);
}
.chart-bar-label {
  font-size: 0.625rem;
  color: var(--color-fg-muted);
  text-align: center;
}
.chart-legend {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--sp-4);
  margin-top: var(--sp-3);
}
.chart-legend-item {
  display: flex;
  align-items: center;
  gap: var(--sp-2);
}
.chart-legend-dot {
  width: 0.75rem;
  height: 0.75rem;
  border-radius: var(--radius-sm);
}
.console-view {
  font-family: var(--font-mono);
  background: var(--color-console-bg);
  color: var(--color-console-fg);
}
.commit-entry {
  width: 100%;
  text-align: left;
  padding: var(--sp-2) var(--sp-3);
  border-radius: var(--radius);
  background: transparent;
  border: 1px solid transparent;
  cursor: pointer;
  transition: background-color var(--transition-fast), border-color var(--transition-fast);
}
.commit-entry:hover {
  background: var(--color-bg-secondary);
}
.commit-entry.selected {
  background: var(--color-primary-10);
  border-color: var(--color-primary-20);
}
.diff-file {
  border: 1px solid var(--color-border);
  border-radius: var(--radius);
  overflow: hidden;
}
.diff-content {
  padding: var(--sp-3);
  font-family: var(--font-mono);
  font-size: 0.75rem;
  overflow-x: auto;
  background: var(--color-bg);
}
.diff-content pre {
  margin: 0;
}
.diff-content code {
  background: transparent;
  padding: 0;
}
.diff-line-added {
  background: var(--color-success-10);
  color: var(--color-success);
}
.diff-line-removed {
  background: var(--color-error-10);
  color: var(--color-error);
}
.diff-line-hunk {
  background: var(--color-info-10);
  color: var(--color-info);
  font-weight: 600;
}
.diff-line-header {
  background: var(--color-bg-secondary);
  color: var(--color-fg);
  font-weight: 600;
}
.diff-line-unchanged {
  color: var(--color-fg-muted);
}
.diff-added {
  color: var(--color-success);
}
.diff-removed {
  color: var(--color-error);
}
.files-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--sp-4);
}
.files-panel {
  border: 1px solid var(--color-border-30);
  border-radius: var(--radius);
  padding: var(--sp-4);
  background: var(--color-bg-tertiary-10);
}
.files-panel-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 0.75rem;
}
.files-panel-title {
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--color-fg);
}
.files-panel-actions {
  display: flex;
  align-items: center;
  gap: 0.25rem;
}
.files-breadcrumbs {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.875rem;
  margin-bottom: 1rem;
}
.files-breadcrumb-link {
  color: var(--color-fg-muted);
  background: transparent;
  border: none;
  padding: 0;
  cursor: pointer;
  transition: color var(--transition-fast);
}
.files-breadcrumb-link:hover {
  color: var(--color-fg);
}
.files-breadcrumb-current {
  color: var(--color-fg);
  font-weight: 600;
}
.files-breadcrumb-separator {
  color: var(--color-fg-muted);
}
.files-empty-state {
  color: var(--color-fg-muted);
  font-size: 0.875rem;
}
.new-item-form {
  margin-bottom: 0.75rem;
  padding: 0.5rem;
  background: var(--color-bg-secondary);
  border-radius: var(--radius);
}
.new-item-form-inner {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.new-item-input {
  flex: 1;
  height: 2rem;
  border-radius: var(--radius);
  border: 1px solid var(--color-border);
  background: var(--color-bg);
  padding: 0 0.5rem;
  font-size: 0.75rem;
  color: var(--color-fg);
  box-shadow: var(--shadow-sm);
  transition: border-color var(--transition-fast), box-shadow var(--transition-fast);
}
.new-item-input:focus {
  outline: none;
  border-color: var(--color-primary);
  box-shadow: 0 0 0 2px var(--color-primary-30);
}
.file-list-item {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.375rem 0.5rem;
  border-radius: var(--radius);
  transition: background-color var(--transition-fast);
}
.file-list-item:hover {
  background: var(--color-border-30);
}
.file-list-link {
  flex: 1;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  cursor: pointer;
  font-size: 0.875rem;
  color: var(--color-fg);
  text-decoration: none;
}
.file-list-link:hover {
  text-decoration: underline;
}
.file-list-actions {
  display: flex;
  align-items: center;
  gap: 0.25rem;
  opacity: 0;
  transition: opacity var(--transition-fast);
}
.file-list-item:hover .file-list-actions {
  opacity: 1;
}
.fullscreen-editor {
  position: fixed;
  inset: 0;
  z-index: 50;
  background: var(--color-bg);
  display: flex;
  flex-direction: column;
}
.fullscreen-editor-header {
  background: var(--color-bg-secondary-95);
  backdrop-filter: blur(10px);
  border-bottom: 1px solid var(--color-border-20);
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.75rem 1rem;
}
.fullscreen-editor-title {
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--color-fg);
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.fullscreen-editor-actions {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.fullscreen-editor-content {
  flex: 1;
  overflow: auto;
  padding: var(--sp-6);
}
.fullscreen-editor-form {
  max-width: 80rem;
  margin: 0 auto;
}
.scripts-layout {
  display: grid;
  grid-template-columns: 16rem 1fr;
  gap: var(--sp-4);
  min-height: calc(100vh - 8rem);
}
.scripts-sidebar {
  background: var(--color-bg-secondary);
  border: 1px solid var(--color-border);
  border-radius: var(--radius);
  overflow: hidden;
}
.scripts-sidebar-section {
  padding: var(--sp-4);
}
.scripts-list-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--sp-2);
  padding: var(--sp-2);
  border-radius: var(--radius);
  transition: background-color var(--transition-fast);
}
.scripts-list-item:hover {
  background: var(--color-bg-tertiary);
}
.scripts-list-item a {
  text-decoration: none;
  color: var(--color-fg);
}
.scripts-delete-btn {
  opacity: 0;
  color: var(--color-error);
  transition: opacity var(--transition-fast);
}
.scripts-list-item:hover .scripts-delete-btn {
  opacity: 1;
}
.scripts-main-content {
  flex: 1;
  overflow-y: auto;
}
.scripts-form-container {
  padding: var(--sp-6);
  max-width: var(--container-xl);
  margin: 0 auto;
  width: 100%;
}
.scripts-empty-state {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  height: 100%;
  color: var(--color-fg-muted);
  text-align: center;
  padding: var(--sp-8);
}
.transactions-section-header {
  margin-bottom: 1rem;
  padding-bottom: 0.5rem;
  border-bottom: 1px solid var(--color-border);
}
.bookings-group-header {
  width: 100%;
  padding: var(--sp-2) var(--sp-4);
  background: var(--color-bg-tertiary-20);
  border-bottom: 1px solid var(--color-border);
  position: sticky;
  top: 0;
  z-index: 10;
  display: flex;
  align-items: center;
  justify-content: space-between;
  text-align: left;
  cursor: pointer;
  transition: background-color var(--transition-fast);
  border: none;
}
.bookings-group-header:hover {
  background: var(--color-bg-tertiary-30);
}
.group-title,
.totals-label {
  font-size: 0.75rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.075em;
  color: var(--color-fg);
}
.group-count {
  font-size: 0.75rem;
  color: var(--color-fg-muted);
  margin-left: 0.25rem;
}
.group-total {
  font-size: 0.75rem;
  font-family: var(--font-mono);
  font-weight: 600;
  color: var(--color-fg);
}
.bookings-totals-footer {
  padding: var(--sp-3) var(--sp-4);
  background: var(--color-bg-tertiary-40);
  border-top: 1px solid var(--color-border);
}
.totals-amount {
  font-size: 0.875rem;
  font-family: var(--font-mono);
  font-weight: 700;
  color: var(--color-fg);
}
.bookings-page,
.salary-statement-page {
  min-height: 100vh;
  background: var(--color-bg);
}
.employee-card {
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  overflow: hidden;
  transition: box-shadow var(--transition);
}
.employee-card:hover {
  box-shadow: 0 4px 12px var(--color-fg-10);
}
.employee-card.former {
  opacity: 0.75;
  border-color: var(--color-border-50);
  background: var(--color-bg-secondary);
}
.employee-card-header {
  padding: var(--sp-4) var(--sp-6);
  border-bottom: 1px solid var(--color-border-50);
  background:
    linear-gradient(
      to right,
      var(--color-primary-10),
      var(--color-primary-5));
}
.employee-card-header.former {
  background: var(--color-bg-tertiary-50);
}
.salary-info-card,
.period-card {
  border-radius: var(--radius);
  padding: var(--sp-3);
  background: var(--color-bg-secondary-50);
}
.salary-info-card.former {
  background: var(--color-bg-tertiary-50);
}
.salary-preview-section {
  margin-top: var(--sp-8);
  padding-top: var(--sp-6);
  border-top: 1px solid var(--color-border);
}
.salary-header {
  padding-bottom: var(--sp-4);
  margin-bottom: var(--sp-4);
  border-bottom: 1px solid var(--color-border);
}
.salary-table {
  width: 100%;
  font-size: 0.875rem;
}
.salary-table th {
  padding: var(--sp-2) 0;
  font-weight: 600;
  border-bottom: 1px solid var(--color-border);
}
.salary-table td {
  padding: var(--sp-2) 0;
}
.salary-table .numeric {
  text-align: right;
}
.salary-table .subtotal {
  background: var(--color-bg-tertiary-50);
}
.salary-table .subtotal td,
.salary-table .total td {
  padding: var(--sp-2) var(--sp-1);
}
.salary-table .total {
  background: var(--color-primary-10);
}
.salary-summary {
  margin-top: var(--sp-6);
  padding-top: var(--sp-4);
  border-top: 1px solid var(--color-border);
}
.section-header-row {
  margin-bottom: var(--sp-3);
}
.section-divider {
  border-top: 1px solid var(--color-border);
  padding-top: 1rem;
  margin-bottom: 1rem;
}
.raw-ledger-section {
  padding-top: 1rem;
  margin-top: 1rem;
  border-top: 1px solid var(--color-border);
}
.raw-ledger-toggle {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.75rem;
  color: var(--color-fg-muted);
  background: transparent;
  border: none;
  cursor: pointer;
  padding: 0;
  transition: color var(--transition-fast);
}
.raw-ledger-toggle:hover {
  color: var(--color-fg);
}
.raw-ledger-content {
  margin-top: 0.75rem;
  padding: 0.75rem;
  background: var(--color-bg-secondary);
  border-radius: var(--radius);
  font-size: 0.75rem;
  overflow-x: auto;
}
.rule-row {
  display: flex;
  padding: var(--sp-2);
  background: var(--color-bg-secondary);
  border-radius: var(--radius);
  flex-wrap: wrap;
}
.rule-row select,
.rule-row input {
  font-size: 0.875rem;
}
.admin-layout {
  min-height: 100vh;
  background: var(--color-bg);
}
.admin-sidebar {
  width: 16rem;
  background: var(--color-bg-secondary);
  border-right: 1px solid var(--color-border);
  min-height: 100vh;
}
.admin-nav-item {
  display: block;
  padding: var(--sp-2) var(--sp-4);
  border-radius: var(--radius);
  color: var(--color-fg-muted);
  text-decoration: none;
  transition: background-color var(--transition-fast), color var(--transition-fast);
}
.admin-nav-item:hover {
  background: var(--color-bg-tertiary);
  color: var(--color-fg);
}
.admin-nav-item.active {
  background: var(--color-primary-15);
  color: var(--color-primary);
  font-weight: 500;
}
.setup-stepper {
  margin-bottom: var(--sp-6);
}
.setup-stepper-list {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  gap: 0;
  list-style: none;
  margin: 0;
  padding: 0;
}
.setup-stepper-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  position: relative;
  flex: 1;
  max-width: 10rem;
}
.setup-stepper-indicator {
  width: 2rem;
  height: 2rem;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.75rem;
  font-weight: 600;
  transition: all var(--transition);
  z-index: 1;
  background: var(--color-bg);
  border: 2px solid var(--color-border);
  color: var(--color-fg-muted);
}
.setup-stepper-item.complete .setup-stepper-indicator {
  background: var(--color-success);
  border-color: var(--color-success);
  color: white;
}
.setup-stepper-item.current .setup-stepper-indicator {
  background: var(--color-primary);
  border-color: var(--color-primary);
  color: white;
}
.setup-stepper-item.pending .setup-stepper-indicator {
  background: var(--color-bg-secondary);
  border-color: var(--color-border);
  color: var(--color-fg-muted);
}
.setup-stepper-number {
  font-variant-numeric: tabular-nums;
}
.setup-stepper-label {
  margin-top: var(--sp-2);
  font-size: 0.75rem;
  text-align: center;
  color: var(--color-fg-muted);
  line-height: 1.3;
}
.setup-stepper-item.current .setup-stepper-label {
  color: var(--color-fg);
  font-weight: 500;
}
.setup-stepper-item.complete .setup-stepper-label {
  color: var(--color-success);
}
.setup-stepper-connector {
  position: absolute;
  top: 1rem;
  left: calc(50% + 1rem);
  width: calc(100% - 2rem);
  height: 2px;
  background: var(--color-border);
}
.setup-stepper-item.complete .setup-stepper-connector {
  background: var(--color-success);
}
.completed-step-row {
  display: flex;
  align-items: center;
  gap: var(--sp-3);
  padding: var(--sp-3);
  background: var(--color-success-10);
  border: 1px solid var(--color-success-20);
  border-radius: var(--radius);
  margin-bottom: var(--sp-3);
}
.completed-step-label {
  font-size: 0.875rem;
  font-weight: 500;
  color: var(--color-fg);
}
.completed-step-value {
  font-size: 0.75rem;
  color: var(--color-fg-muted);
  margin-left: auto;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  max-width: 50%;
}
.locked-step-row {
  display: flex;
  align-items: center;
  gap: var(--sp-3);
  padding: var(--sp-3);
  background: var(--color-bg-secondary);
  border: 1px solid var(--color-border);
  border-radius: var(--radius);
  margin-bottom: var(--sp-3);
  opacity: 0.6;
}
.locked-step-row span {
  font-size: 0.875rem;
  color: var(--color-fg-muted);
}
.locked-step-hint {
  margin-left: auto;
  font-size: 0.75rem;
}
.setup-step-card {
  padding: var(--sp-4);
  background: var(--color-bg);
  border: 1px solid var(--color-primary-30);
  border-radius: var(--radius-lg);
  margin-bottom: var(--sp-4);
}
.setup-step-title {
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--color-fg);
  margin-bottom: var(--sp-3);
  display: flex;
  align-items: center;
  gap: var(--sp-2);
}
.setup-step-content {
  font-size: 0.875rem;
  color: var(--color-fg);
}
.setup-step-content p {
  margin-bottom: var(--sp-3);
  color: var(--color-fg-muted);
}
.setup-step-content ol {
  margin: var(--sp-3) 0;
  padding-left: var(--sp-4);
}
.setup-step-content ol li {
  margin-bottom: var(--sp-2);
  color: var(--color-fg-muted);
}
.time-warning {
  display: flex;
  align-items: flex-start;
  gap: var(--sp-3);
  padding: var(--sp-4);
  background: var(--color-warning-10);
  border: 1px solid var(--color-warning-30);
  border-left: 4px solid var(--color-warning);
  border-radius: var(--radius);
  margin-bottom: var(--sp-4);
}
.time-warning-icon {
  flex-shrink: 0;
  color: var(--color-warning);
}
.time-warning-content {
  flex: 1;
}
.time-warning-title {
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--color-fg);
  margin-bottom: var(--sp-1);
}
.time-warning-text {
  font-size: 0.75rem;
  color: var(--color-fg-muted);
}
.connected-status-card {
  padding: var(--sp-4);
  background: var(--color-success-5);
  border: 1px solid var(--color-success-20);
  border-radius: var(--radius-lg);
}
.connected-status-header {
  display: flex;
  align-items: center;
  gap: var(--sp-3);
  margin-bottom: var(--sp-4);
}
.connected-status-title {
  font-size: 1rem;
  font-weight: 600;
  color: var(--color-fg);
}
.connected-status-badge {
  font-size: 0.625rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  padding: var(--sp-1) var(--sp-2);
  border-radius: var(--radius);
  background: var(--color-bg-secondary);
  color: var(--color-fg-muted);
  margin-left: auto;
}
.connected-status-badge.production {
  background: var(--color-success-20);
  color: var(--color-success);
}
.connected-status-badge.sandbox {
  background: var(--color-warning-20);
  color: var(--color-warning);
}
.connected-status-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--sp-4);
  margin-bottom: var(--sp-4);
}
.connected-status-actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--sp-2);
  padding-top: var(--sp-3);
  border-top: 1px solid var(--color-border-50);
}
.advanced-options-section {
  margin-top: var(--sp-6);
  padding-top: var(--sp-4);
  border-top: 1px solid var(--color-border);
}
.advanced-options-summary {
  display: flex;
  align-items: center;
  gap: var(--sp-2);
  font-size: 0.75rem;
  color: var(--color-fg-muted);
  cursor: pointer;
  padding: var(--sp-2) 0;
}
.advanced-options-summary:hover {
  color: var(--color-fg);
}
.advanced-options-content {
  margin-top: var(--sp-4);
}
.advanced-options-content details {
  margin-bottom: var(--sp-3);
  padding: var(--sp-3);
  background: var(--color-bg-secondary);
  border-radius: var(--radius);
}
.advanced-options-content summary {
  font-size: 0.875rem;
  font-weight: 500;
  cursor: pointer;
  color: var(--color-fg-muted);
}
.advanced-options-content summary:hover {
  color: var(--color-fg);
}
.account-badge {
  display: inline-flex;
  align-items: center;
  padding: 0.25rem 0.5rem;
  background: var(--color-bg-secondary);
  border-radius: var(--radius);
  font-size: 0.875rem;
}
.landing-link-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--sp-3);
  padding: var(--sp-6);
  text-align: center;
  font-size: 0.875rem;
  font-weight: 600;
  transition: transform var(--transition-fast), box-shadow var(--transition-fast);
}
.landing-link-card:hover {
  transform: scale(1.02);
}
.landing-text-link {
  padding: var(--sp-1) var(--sp-2);
  border-radius: var(--radius);
  transition: background-color var(--transition-fast);
}
.landing-text-link:hover {
  background: var(--color-bg-secondary);
}

/* css/responsive.css */
@media (min-width: 768px) {
  .app-layout {
    flex-direction: row;
  }
  .app-content {
    padding-bottom: 2.5rem;
  }
  .content-area {
    padding: var(--sp-8);
    margin-bottom: 0;
  }
  .sidebar-nav {
    display: flex;
  }
  .mobile-nav {
    display: none;
  }
  .page-header {
    padding: var(--sp-2) var(--sp-6);
    gap: var(--sp-3);
  }
  .page-header-selectors {
    display: flex;
  }
  .filter-bar {
    padding: var(--sp-3) var(--sp-6);
    gap: var(--sp-4);
  }
  .filter-bar-search {
    width: auto;
    flex: 1;
    min-width: 12rem;
    max-width: 20rem;
  }
  .filter-menu-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .advanced-filters {
    padding: 0.5rem 1.5rem;
  }
  .metrics-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .detail-grid.cols-4 {
    grid-template-columns: repeat(4, 1fr);
  }
  .pdf-viewer-frame {
    height: 820px;
  }
  .posting-row {
    flex-direction: row;
  }
}
@media (max-width: 767px) {
  .col-1,
  .col-2,
  .col-3,
  .col-4,
  .col-5,
  .col-6,
  .col-7,
  .col-8,
  .col-9,
  .col-10,
  .col-11,
  .col-12 {
    grid-column: span 12;
  }
  .posting-row {
    flex-direction: column;
  }
  .posting-row > div {
    width: 100% !important;
  }
  .scripts-layout {
    grid-template-columns: 1fr;
  }
}
@media (min-width: 1024px) {
  .filter-menu-grid {
    grid-template-columns: repeat(4, 1fr);
  }
  .files-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .phoenix-landing-bg {
    display: block !important;
    left: 40rem;
  }
}
@media (min-width: 1280px) {
  .metrics-grid {
    grid-template-columns: repeat(4, 1fr);
  }
  .phoenix-landing-bg {
    left: 50rem;
  }
}
@media (max-width: 640px) {
  .setup-stepper-list {
    flex-direction: column;
    align-items: stretch;
    gap: var(--sp-2);
  }
  .setup-stepper-item {
    flex-direction: row;
    max-width: none;
    gap: var(--sp-3);
  }
  .setup-stepper-label {
    margin-top: 0;
    text-align: left;
  }
  .setup-stepper-connector {
    display: none;
  }
}

/* css/oat-overrides.css */
/*# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vYXNzZXRzL25vZGVfbW9kdWxlcy9Aa25hZGgvb2F0L29hdC5taW4uY3NzIiwgIi4uLy4uLy4uLy4uL2Fzc2V0cy9jc3MvdG9rZW5zLmNzcyIsICIuLi8uLi8uLi8uLi9hc3NldHMvY3NzL3V0aWxpdGllcy5jc3MiLCAiLi4vLi4vLi4vLi4vYXNzZXRzL2Nzcy9jb21wb25lbnRzLmNzcyIsICIuLi8uLi8uLi8uLi9hc3NldHMvY3NzL3BhZ2VzLmNzcyIsICIuLi8uLi8uLi8uLi9hc3NldHMvY3NzL3Jlc3BvbnNpdmUuY3NzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyJAbGF5ZXIgdGhlbWUsYmFzZSxjb21wb25lbnRzLGFuaW1hdGlvbnMsdXRpbGl0aWVzO0BsYXllciBiYXNleyosKjpiZWZvcmUsKjphZnRlcntib3gtc2l6aW5nOmJvcmRlci1ib3g7LXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOnRyYW5zcGFyZW50fSp7bWFyZ2luOjB9aHRtbHt0YWItc2l6ZTo0fWJvZHksZGlhbG9nLFtwb3BvdmVyXXtmb250LWZhbWlseTp2YXIoLS1mb250LXNhbnMpO2ZvbnQtc2l6ZTp2YXIoLS10ZXh0LXJlZ3VsYXIpO2xpbmUtaGVpZ2h0OnZhcigtLWxlYWRpbmctbm9ybWFsKTtjb2xvcjp2YXIoLS1mb3JlZ3JvdW5kKX1ib2R5e2JhY2tncm91bmQtY29sb3I6dmFyKC0tYmFja2dyb3VuZCk7Y29sb3I6dmFyKC0tZm9yZWdyb3VuZCk7LXdlYmtpdC1mb250LXNtb290aGluZzphbnRpYWxpYXNlZH1pbWcscGljdHVyZSx2aWRlbyxjYW52YXMsc3Zne21heC13aWR0aDoxMDAlfXAsaDEsaDIsaDMsaDQsaDUsaDZ7b3ZlcmZsb3ctd3JhcDpicmVhay13b3JkfWgxLGgyLGgzLGg0LGg1LGg2e2ZvbnQtd2VpZ2h0OnZhcigtLWZvbnQtc2VtaWJvbGQpO2xpbmUtaGVpZ2h0OjEuMjU7JjpmaXJzdC1jaGlsZHttYXJnaW4tYmxvY2stc3RhcnQ6MH19aDF7Zm9udC1zaXplOnZhcigtLXRleHQtMSk7bWFyZ2luOnZhcigtLXNwYWNlLTEwKSAwIHZhcigtLXNwYWNlLTYpfWgye2ZvbnQtc2l6ZTp2YXIoLS10ZXh0LTIpO21hcmdpbjp2YXIoLS1zcGFjZS04KSAwIHZhcigtLXNwYWNlLTUpfWgze2ZvbnQtc2l6ZTp2YXIoLS10ZXh0LTMpO21hcmdpbjp2YXIoLS1zcGFjZS02KSAwIHZhcigtLXNwYWNlLTQpfWg0e2ZvbnQtc2l6ZTp2YXIoLS10ZXh0LTQpO21hcmdpbjp2YXIoLS1zcGFjZS01KSAwIHZhcigtLXNwYWNlLTMpfWg1e2ZvbnQtc2l6ZTp2YXIoLS10ZXh0LTUpO21hcmdpbjp2YXIoLS1zcGFjZS00KSAwIHZhcigtLXNwYWNlLTIpfWg2e2ZvbnQtc2l6ZTp2YXIoLS10ZXh0LXJlZ3VsYXIpO21hcmdpbjp2YXIoLS1zcGFjZS00KSAwIHZhcigtLXNwYWNlLTIpfXB7bWFyZ2luLWJsb2NrLWVuZDp2YXIoLS1zcGFjZS00KTsmOmxhc3QtY2hpbGR7bWFyZ2luLWJsb2NrLWVuZDowfX1he2NvbG9yOnZhcigtLXByaW1hcnkpO3RleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmU7dGV4dC11bmRlcmxpbmUtb2Zmc2V0OjJweDt0cmFuc2l0aW9uOmNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCk7Jjpob3Zlcntjb2xvcjpyZ2IoZnJvbSB2YXIoLS1wcmltYXJ5KSByIGcgYiAvIC44KX19c3Ryb25nLGJ7Zm9udC13ZWlnaHQ6dmFyKC0tZm9udC1zZW1pYm9sZCl9ZW0saXtmb250LXN0eWxlOml0YWxpY31zbWFsbHtmb250LXNpemU6dmFyKC0tdGV4dC03KX1jb2Rle2ZvbnQtZmFtaWx5OnZhcigtLWZvbnQtbW9ubyk7Zm9udC1zaXplOi44NzVlbTtwYWRkaW5nOmNhbGModmFyKC0tc3BhY2UtMSkgLyAyKSB2YXIoLS1zcGFjZS0xKTtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWZhaW50KTtib3JkZXItcmFkaXVzOnZhcigtLXJhZGl1cy1zbWFsbCl9cHJle2ZvbnQtZmFtaWx5OnZhcigtLWZvbnQtbW9ubyk7cGFkZGluZzp2YXIoLS1zcGFjZS00KTtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWZhaW50KTtib3JkZXItcmFkaXVzOnZhcigtLXJhZGl1cy1tZWRpdW0pO292ZXJmbG93LXg6YXV0bzttYXJnaW4tYmxvY2stZW5kOnZhcigtLXNwYWNlLTQpO2NvZGV7cGFkZGluZzowO2JhY2tncm91bmQ6bm9uZTtib3JkZXItcmFkaXVzOjB9fWJsb2NrcXVvdGV7Ym9yZGVyLWlubGluZS1zdGFydDo0cHggc29saWQgdmFyKC0tYm9yZGVyKTtwYWRkaW5nLWlubGluZS1zdGFydDp2YXIoLS1zcGFjZS00KTttYXJnaW46dmFyKC0tc3BhY2UtNCkgMDtjb2xvcjp2YXIoLS1tdXRlZC1mb3JlZ3JvdW5kKTtmb250LXN0eWxlOml0YWxpY31ocntib3JkZXI6bm9uZTtib3JkZXItdG9wOjFweCBzb2xpZCB2YXIoLS1ib3JkZXIpO21hcmdpbjp2YXIoLS1zcGFjZS0yKSAwfXVsLG9se3BhZGRpbmctaW5saW5lLXN0YXJ0OnZhcigtLXNwYWNlLTYpO21hcmdpbi1ibG9jay1lbmQ6dmFyKC0tc3BhY2UtNCl9dWx7bGlzdC1zdHlsZS10eXBlOmRpc2N9b2x7bGlzdC1zdHlsZS10eXBlOmRlY2ltYWx9bGl7bWFyZ2luLWJsb2NrLWVuZDp2YXIoLS1zcGFjZS0xKX1tYXJre2JhY2tncm91bmQtY29sb3I6cmdiKGZyb20gdmFyKC0td2FybmluZykgciBnIGIgLyAuMyk7cGFkZGluZzpjYWxjKHZhcigtLXNwYWNlLTEpIC8gMikgdmFyKC0tc3BhY2UtMSk7Ym9yZGVyLXJhZGl1czp2YXIoLS1yYWRpdXMtc21hbGwpfVtoaWRkZW5de2Rpc3BsYXk6bm9uZX06Zm9jdXMtdmlzaWJsZXtvdXRsaW5lOjJweCBzb2xpZCB2YXIoLS1yaW5nKTtvdXRsaW5lLW9mZnNldDoycHh9OmRpc2FibGVke29wYWNpdHk6LjU7Y3Vyc29yOm5vdC1hbGxvd2VkfX1AbGF5ZXIgdGhlbWV7OnJvb3R7Y29sb3Itc2NoZW1lOmxpZ2h0IGRhcms7LS1iYWNrZ3JvdW5kOiBsaWdodC1kYXJrKCNmZmYsICMwOTA5MGIpOy0tZm9yZWdyb3VuZDogbGlnaHQtZGFyaygjMDkwOTBiLCAjZmFmYWZhKTstLWNhcmQ6IGxpZ2h0LWRhcmsoI2ZmZiwgIzE4MTgxYik7LS1jYXJkLWZvcmVncm91bmQ6IGxpZ2h0LWRhcmsoIzA5MDkwYiwgI2ZhZmFmYSk7LS1wcmltYXJ5OiBsaWdodC1kYXJrKCM1NzQ3NDcsICNmYWZhZmEpOy0tcHJpbWFyeS1mb3JlZ3JvdW5kOiBsaWdodC1kYXJrKCNmYWZhZmEsICMxODE4MWIpOy0tc2Vjb25kYXJ5OiBsaWdodC1kYXJrKCNmNGY0ZjUsICMyNzI3MmEpOy0tc2Vjb25kYXJ5LWZvcmVncm91bmQ6IGxpZ2h0LWRhcmsoIzU3NDc0NywgI2ZhZmFmYSk7LS1tdXRlZDogbGlnaHQtZGFyaygjZjRmNGY1LCAjMjcyNzJhKTstLW11dGVkLWZvcmVncm91bmQ6IGxpZ2h0LWRhcmsoIzcxNzE3YSwgI2ExYTFhYSk7LS1mYWludDogbGlnaHQtZGFyaygjZmFmYWZhLCAjMWUxZTIxKTstLWZhaW50LWZvcmVncm91bmQ6IGxpZ2h0LWRhcmsoI2ExYTFhYSwgIzcxNzE3YSk7LS1hY2NlbnQ6IGxpZ2h0LWRhcmsoI2Y0ZjRmNSwgIzI3MjcyYSk7LS1kYW5nZXI6IGxpZ2h0LWRhcmsoI2QzMmYyZiwgI2Y0ODA3Yik7LS1kYW5nZXItZm9yZWdyb3VuZDogbGlnaHQtZGFyaygjZmFmYWZhLCAjMTgxODFiKTstLXN1Y2Nlc3M6IGxpZ2h0LWRhcmsoIzAwODAzMiwgIzZjYzA3MCk7LS1zdWNjZXNzLWZvcmVncm91bmQ6IGxpZ2h0LWRhcmsoI2ZhZmFmYSwgIzE4MTgxYik7LS13YXJuaW5nOiBsaWdodC1kYXJrKCNhNjViMDAsICNmMGEwMzApOy0td2FybmluZy1mb3JlZ3JvdW5kOiAjMDkwOTBiOy0tYm9yZGVyOiBsaWdodC1kYXJrKCNkNGQ0ZDgsICM1MjUyNWIpOy0taW5wdXQ6IGxpZ2h0LWRhcmsoI2Q0ZDRkOCwgIzUyNTI1Yik7LS1yaW5nOiBsaWdodC1kYXJrKCM1NzQ3NDcsICNkNGQ0ZDgpOy0tc3BhY2UtMTogLjI1cmVtOy0tc3BhY2UtMjogLjVyZW07LS1zcGFjZS0zOiAuNzVyZW07LS1zcGFjZS00OiAxcmVtOy0tc3BhY2UtNTogMS4yNXJlbTstLXNwYWNlLTY6IDEuNXJlbTstLXNwYWNlLTg6IDJyZW07LS1zcGFjZS0xMDogMi41cmVtOy0tc3BhY2UtMTI6IDNyZW07LS1zcGFjZS0xNDogMy41cmVtOy0tc3BhY2UtMTY6IDRyZW07LS1zcGFjZS0xODogNC41cmVtOy0tcmFkaXVzLXNtYWxsOiAuMTI1cmVtOy0tcmFkaXVzLW1lZGl1bTogLjM3NXJlbTstLXJhZGl1cy1sYXJnZTogLjc1cmVtOy0tcmFkaXVzLWZ1bGw6IDk5OTlweDstLWJhci1oZWlnaHQ6IC41cmVtOy0tZm9udC1zYW5zOiBzeXN0ZW0tdWksIHNhbnMtc2VyaWY7LS1mb250LW1vbm86IHVpLW1vbm9zcGFjZSwgQ29uc29sYXMsIG1vbm9zcGFjZTstLXRleHQtMTogY2xhbXAoMS43NXJlbSwgMS41cmVtICsgMS4xdncsIDIuMjVyZW0pOy0tdGV4dC0yOiBjbGFtcCgxLjVyZW0sIDEuM3JlbSArIC44dncsIDEuODc1cmVtKTstLXRleHQtMzogY2xhbXAoMS4yNXJlbSwgMS4xcmVtICsgLjV2dywgMS41cmVtKTstLXRleHQtNDogY2xhbXAoMS4xMjVyZW0sIDEuMDVyZW0gKyAuM3Z3LCAxLjI1cmVtKTstLXRleHQtNTogMS4xMjVyZW07LS10ZXh0LTY6IDFyZW07LS10ZXh0LTc6IC44NzVyZW07LS10ZXh0LTg6IC43NXJlbTstLXRleHQtcmVndWxhcjogdmFyKC0tdGV4dC02KTstLWxlYWRpbmctbm9ybWFsOiAxLjU7LS1mb250LW5vcm1hbDogNDAwOy0tZm9udC1tZWRpdW06IDUwMDstLWZvbnQtc2VtaWJvbGQ6IDYwMDstLWZvbnQtYm9sZDogNjAwOy0tc2hhZG93LXNtYWxsOiAwIDFweCAycHggMCByZ2IoMCAwIDAgLyAuMDUpOy0tc2hhZG93LW1lZGl1bTogMCAxcHggM3B4IDAgcmdiKDAgMCAwIC8gLjEpLCAwIDFweCAycHggLTFweCByZ2IoMCAwIDAgLyAuMSk7LS1zaGFkb3ctbGFyZ2U6IDAgNHB4IDZweCAtMXB4IHJnYigwIDAgMCAvIC4xKSwgMCAycHggNHB4IC0ycHggcmdiKDAgMCAwIC8gLjEpOy0tdHJhbnNpdGlvbi1mYXN0OiAuMTJzIGN1YmljLWJlemllciguNCwgMCwgLjIsIDEpOy0tdHJhbnNpdGlvbjogLjJzIGN1YmljLWJlemllciguNCwgMCwgLjIsIDEpOy0tei1kcm9wZG93bjogNTA7LS16LW1vZGFsOiAyMDB9fUBsYXllciBhbmltYXRpb25zey5hbmltYXRlLXBvcC1pbntvcGFjaXR5OjE7dHJhbnNmb3JtOnBlcnNwZWN0aXZlKDEwMDBweCkgcm90YXRlWCgwKSB0cmFuc2xhdGVaKDApO3RyYW5zaXRpb246b3BhY2l0eSAuMTVzIGN1YmljLWJlemllciguNCwwLC4yLDEpLHRyYW5zZm9ybSAuMTVzIGN1YmljLWJlemllciguNCwwLC4yLDEpLG92ZXJsYXkgLjE1cyBjdWJpYy1iZXppZXIoLjQsMCwuMiwxKSBhbGxvdy1kaXNjcmV0ZSxkaXNwbGF5IC4xNXMgY3ViaWMtYmV6aWVyKC40LDAsLjIsMSkgYWxsb3ctZGlzY3JldGU7QHN0YXJ0aW5nLXN0eWxle29wYWNpdHk6MDt0cmFuc2Zvcm06cGVyc3BlY3RpdmUoMTAwMHB4KSByb3RhdGVYKC0xNWRlZykgdHJhbnNsYXRlWigtODBweCl9JltkYXRhLXN0YXRlPWNsb3Npbmdde29wYWNpdHk6MDt0cmFuc2Zvcm06cGVyc3BlY3RpdmUoMTAwMHB4KSByb3RhdGVYKC0xNWRlZykgdHJhbnNsYXRlWigtODBweCl9JltkYXRhLXN0YXRlPWNsb3NpbmddOjpiYWNrZHJvcHtvcGFjaXR5OjB9fWRpYWxvZzo6YmFja2Ryb3B7b3BhY2l0eToxO3RyYW5zaXRpb246b3BhY2l0eSAuMTVzIGN1YmljLWJlemllciguNCwwLC4yLDEpO0BzdGFydGluZy1zdHlsZXtvcGFjaXR5OjB9fS5hbmltYXRlLXNsaWRlLWlue29wYWNpdHk6MTt0cmFuc2Zvcm06dHJhbnNsYXRlKDApO3RyYW5zaXRpb246b3BhY2l0eSAuMTVzIGN1YmljLWJlemllciguMTYsMSwuMywxKSx0cmFuc2Zvcm0gLjE1cyBjdWJpYy1iZXppZXIoLjE2LDEsLjMsMSk7QHN0YXJ0aW5nLXN0eWxle29wYWNpdHk6MDt0cmFuc2Zvcm06dHJhbnNsYXRlKDEwMCUpfSZbZGF0YS1zdGF0ZT1jbG9zaW5nXXtvcGFjaXR5OjA7dHJhbnNmb3JtOnRyYW5zbGF0ZSgxMDAlKX19fUBsYXllciBiYXNlezppcyhidXR0b24sW3R5cGU9c3VibWl0XSxbdHlwZT1yZXNldF0sW3R5cGU9YnV0dG9uXSxhLmJ1dHRvbiksOjpmaWxlLXNlbGVjdG9yLWJ1dHRvbnstLV9ob3Y6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1wcmltYXJ5KSwgd2hpdGUgMjUlKTtkaXNwbGF5OmlubGluZS1mbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2dhcDp2YXIoLS1zcGFjZS0yKTtwYWRkaW5nOnZhcigtLXNwYWNlLTIpIHZhcigtLXNwYWNlLTQpO2ZvbnQtc2l6ZTp2YXIoLS10ZXh0LTcpO2ZvbnQtd2VpZ2h0OnZhcigtLWZvbnQtbWVkaXVtKTtsaW5lLWhlaWdodDp2YXIoLS1sZWFkaW5nLW5vcm1hbCk7d2hpdGUtc3BhY2U6bm93cmFwO3RleHQtZGVjb3JhdGlvbjpub25lO2JhY2tncm91bmQtY29sb3I6dmFyKC0tcHJpbWFyeSk7Y29sb3I6dmFyKC0tcHJpbWFyeS1mb3JlZ3JvdW5kKTtib3JkZXItcmFkaXVzOnZhcigtLXJhZGl1cy1tZWRpdW0pO2JvcmRlcjoxcHggc29saWQ7Ym9yZGVyLWNvbG9yOnJnYihmcm9tICNmZmYgciBnIGIgLyAuMTUpIHJnYihmcm9tICMwMDAgciBnIGIgLyAuMikgcmdiKGZyb20gIzAwMCByIGcgYiAvIC4yKSByZ2IoZnJvbSAjZmZmIHIgZyBiIC8gLjE1KTt0cmFuc2l0aW9uOmJhY2tncm91bmQtY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KSxvcGFjaXR5IHZhcigtLXRyYW5zaXRpb24tZmFzdCksdHJhbnNmb3JtIHZhcigtLXRyYW5zaXRpb24tZmFzdCk7Jjpub3QoOmRpc2FibGVkKXtjdXJzb3I6cG9pbnRlcn0mOmhvdmVyOm5vdCg6ZGlzYWJsZWQpe2JhY2tncm91bmQtY29sb3I6dmFyKC0tX2hvdil9JjphY3RpdmU6bm90KDpkaXNhYmxlZCl7dHJhbnNmb3JtOnRyYW5zbGF0ZSgxcHgsMXB4KX0mW2RhdGEtdmFyaWFudD1zZWNvbmRhcnldey0tX2hvdjogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLXNlY29uZGFyeSksIGJsYWNrIDEwJSk7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1zZWNvbmRhcnkpO2NvbG9yOnZhcigtLXNlY29uZGFyeS1mb3JlZ3JvdW5kKTtib3JkZXItY29sb3I6cmdiKGZyb20gI2ZmZiByIGcgYiAvIC41KSByZ2IoZnJvbSAjMDAwIHIgZyBiIC8gLjEpIHJnYihmcm9tICMwMDAgciBnIGIgLyAuMSkgcmdiKGZyb20gI2ZmZiByIGcgYiAvIC41KX0mW2RhdGEtdmFyaWFudD1kYW5nZXJdey0tX2hvdjogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLWRhbmdlciksIGJsYWNrIDE1JSk7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1kYW5nZXIpO2NvbG9yOnZhcigtLWRhbmdlci1mb3JlZ3JvdW5kKX0mOmlzKC5vdXRsaW5lLC5naG9zdCl7LS1faG92OiB2YXIoLS1hY2NlbnQpO2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Y29sb3I6dmFyKC0tZm9yZWdyb3VuZCk7JltkYXRhLXZhcmlhbnQ9ZGFuZ2VyXXstLV9ob3Y6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1kYW5nZXIpLCB0cmFuc3BhcmVudCA5MCUpO2NvbG9yOnZhcigtLWRhbmdlcil9JltkYXRhLXZhcmlhbnQ9c2Vjb25kYXJ5XXstLV9ob3Y6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1zZWNvbmRhcnkpLCB0cmFuc3BhcmVudCA4MCUpO2NvbG9yOnZhcigtLXNlY29uZGFyeS1mb3JlZ3JvdW5kKX19Ji5vdXRsaW5le2JvcmRlci1jb2xvcjp2YXIoLS1ib3JkZXIpOyZbZGF0YS12YXJpYW50PWRhbmdlcl17Ym9yZGVyLWNvbG9yOnZhcigtLWRhbmdlcil9JltkYXRhLXZhcmlhbnQ9c2Vjb25kYXJ5XXtib3JkZXItY29sb3I6dmFyKC0tc2Vjb25kYXJ5KX19Ji5naG9zdHtib3JkZXItY29sb3I6dHJhbnNwYXJlbnR9Ji5zbWFsbHtwYWRkaW5nOnZhcigtLXNwYWNlLTEpIHZhcigtLXNwYWNlLTMpO2ZvbnQtc2l6ZTp2YXIoLS10ZXh0LTgpfSYubGFyZ2V7aGVpZ2h0OjNyZW07cGFkZGluZzowIHZhcigtLXNwYWNlLTYpO2ZvbnQtc2l6ZTp2YXIoLS10ZXh0LXJlZ3VsYXIpfSYuaWNvbnt3aWR0aDoyLjVyZW07cGFkZGluZzowOyYuc21hbGx7d2lkdGg6MnJlbX0mLmxhcmdle3dpZHRoOjNyZW19fX06OmZpbGUtc2VsZWN0b3ItYnV0dG9ue2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Y29sb3I6dmFyKC0tZm9yZWdyb3VuZCk7Ym9yZGVyOjFweCBzb2xpZCB2YXIoLS1ib3JkZXIpfTo6ZmlsZS1zZWxlY3Rvci1idXR0b246aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1hY2NlbnQpfX1AbGF5ZXIgY29tcG9uZW50c3ttZW51LmJ1dHRvbnN7bGlzdC1zdHlsZS10eXBlOm5vbmU7cGFkZGluZy1pbmxpbmUtc3RhcnQ6MDtkaXNwbGF5OmlubGluZS1mbGV4Oz5saXsmOmZpcnN0LWNoaWxkPip7Ym9yZGVyLXN0YXJ0LXN0YXJ0LXJhZGl1czp2YXIoLS1yYWRpdXMtbWVkaXVtKTtib3JkZXItZW5kLXN0YXJ0LXJhZGl1czp2YXIoLS1yYWRpdXMtbWVkaXVtKX0mOmxhc3QtY2hpbGQ+Kntib3JkZXItc3RhcnQtZW5kLXJhZGl1czp2YXIoLS1yYWRpdXMtbWVkaXVtKTtib3JkZXItZW5kLWVuZC1yYWRpdXM6dmFyKC0tcmFkaXVzLW1lZGl1bSl9Pip7Ym9yZGVyLXJhZGl1czowfSY6bm90KDpsYXN0LWNoaWxkKT4qe2JvcmRlci1pbmxpbmUtZW5kOjFweCBzb2xpZCByZ2IoZnJvbSB2YXIoLS1wcmltYXJ5LWZvcmVncm91bmQpIHIgZyBiIC8gLjIpfX19fUBsYXllciBiYXNle2xhYmVse2Rpc3BsYXk6YmxvY2s7Zm9udC1zaXplOnZhcigtLXRleHQtNyk7Zm9udC13ZWlnaHQ6dmFyKC0tZm9udC1tZWRpdW0pOyY6aGFzKGlucHV0OndoZXJlKFt0eXBlPWNoZWNrYm94XSxbdHlwZT1yYWRpb10pKXtkaXNwbGF5OmlubGluZS1mbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6dmFyKC0tc3BhY2UtMik7Zm9udC13ZWlnaHQ6dmFyKC0tZm9udC1ub3JtYWwpfX06d2hlcmUoaW5wdXQ6bm90KFt0eXBlPWNoZWNrYm94XSxbdHlwZT1yYWRpb10sW3R5cGU9cmFuZ2VdLFt0eXBlPWZpbGVdLFt0eXBlPWNvbG9yXSksdGV4dGFyZWEsc2VsZWN0KXt3aWR0aDoxMDAlO21hcmdpbi1ibG9jay1zdGFydDp2YXIoLS1zcGFjZS0xKTtwYWRkaW5nOnZhcigtLXNwYWNlLTIpIHZhcigtLXNwYWNlLTMpO2ZvbnQtc2l6ZTp2YXIoLS10ZXh0LTcpO2xpbmUtaGVpZ2h0OnZhcigtLWxlYWRpbmctbm9ybWFsKTtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWJhY2tncm91bmQpO2NvbG9yOnZhcigtLWZvcmVncm91bmQpO2JvcmRlcjoxcHggc29saWQgdmFyKC0taW5wdXQpO2JvcmRlci1yYWRpdXM6dmFyKC0tcmFkaXVzLW1lZGl1bSk7dHJhbnNpdGlvbjpib3JkZXItY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KSxib3gtc2hhZG93IHZhcigtLXRyYW5zaXRpb24tZmFzdCk7Jjo6cGxhY2Vob2xkZXJ7Y29sb3I6dmFyKC0tbXV0ZWQtZm9yZWdyb3VuZCl9Jjpmb2N1c3tvdXRsaW5lOm5vbmU7Ym9yZGVyLWNvbG9yOnZhcigtLXJpbmcpO2JveC1zaGFkb3c6MCAwIDAgMnB4IHJnYihmcm9tIHZhcigtLXJpbmcpIHIgZyBiIC8gLjIpO3otaW5kZXg6MX0mOmRpc2FibGVke2JhY2tncm91bmQtY29sb3I6dmFyKC0tbXV0ZWQpfSY6aXMoW2FyaWEtaW52YWxpZD10cnVlXSw6dXNlci1pbnZhbGlkKXtib3JkZXItY29sb3I6dmFyKC0tZGFuZ2VyKTsmOmZvY3Vze2JveC1zaGFkb3c6MCAwIDAgMnB4IHJnYihmcm9tIHZhcigtLWRhbmdlcikgciBnIGIgLyAuMil9fX10ZXh0YXJlYXtoZWlnaHQ6YXV0bzttaW4taGVpZ2h0OjVyZW07cGFkZGluZzp2YXIoLS1zcGFjZS0zKTtyZXNpemU6dmVydGljYWx9c2VsZWN0e2FwcGVhcmFuY2U6bm9uZTtiYWNrZ3JvdW5kLWltYWdlOnVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMTYnIGhlaWdodD0nMTYnIHZpZXdCb3g9JzAgMCAyNCAyNCcgZmlsbD0nbm9uZScgc3Ryb2tlPSclMjM3MTcxN2EnIHN0cm9rZS13aWR0aD0nMiclM0UlM0NwYXRoIGQ9J202IDkgNiA2IDYtNicvJTNFJTNDL3N2ZyUzRVwiKTtiYWNrZ3JvdW5kLXJlcGVhdDpuby1yZXBlYXQ7YmFja2dyb3VuZC1wb3NpdGlvbjpyaWdodCB2YXIoLS1zcGFjZS0yKSBjZW50ZXI7cGFkZGluZy1pbmxpbmUtZW5kOnZhcigtLXNwYWNlLTYpfWlucHV0OndoZXJlKFt0eXBlPWNoZWNrYm94XSxbdHlwZT1yYWRpb10pe2FwcGVhcmFuY2U6bm9uZTt3aWR0aDoxcmVtO2hlaWdodDoxcmVtO21hcmdpbjowO3Bvc2l0aW9uOnJlbGF0aXZlO2JhY2tncm91bmQtY29sb3I6dmFyKC0tYmFja2dyb3VuZCk7Ym9yZGVyOjFweCBzb2xpZCB2YXIoLS1pbnB1dCk7dHJhbnNpdGlvbjpiYWNrZ3JvdW5kLWNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCksYm9yZGVyLWNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCk7JjpjaGVja2Vke2JhY2tncm91bmQtY29sb3I6dmFyKC0tcHJpbWFyeSk7Ym9yZGVyLWNvbG9yOnZhcigtLXByaW1hcnkpOyY6YWZ0ZXJ7Y29udGVudDpcIlwiO3Bvc2l0aW9uOmFic29sdXRlO2luc2V0OjA7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1wcmltYXJ5LWZvcmVncm91bmQpO21hc2stcG9zaXRpb246Y2VudGVyO21hc2stcmVwZWF0Om5vLXJlcGVhdDttYXNrLXNpemU6MTAwJX19fWlucHV0W3R5cGU9Y2hlY2tib3hde2JvcmRlci1yYWRpdXM6dmFyKC0tcmFkaXVzLXNtYWxsKTsmOmNoZWNrZWQ6YWZ0ZXJ7bWFzay1pbWFnZTp1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDI0IDI0JyBmaWxsPSdub25lJyBzdHJva2U9J2N1cnJlbnRDb2xvcicgc3Ryb2tlLXdpZHRoPSc0JyUzRSUzQ3BvbHlsaW5lIHBvaW50cz0nMjAgNiA5IDE3IDQgMTInLyUzRSUzQy9zdmclM0VcIil9Jltyb2xlPXN3aXRjaF17LS1zd2l0Y2gtaGVpZ2h0OiBjYWxjKHZhcigtLWJhci1oZWlnaHQpICogMyk7LS1zd2l0Y2gtaW5zZXQ6IDJweDstLXN3aXRjaC10aHVtYjogY2FsYyh2YXIoLS1zd2l0Y2gtaGVpZ2h0KSAtIHZhcigtLXN3aXRjaC1pbnNldCkgKiAzKTt3aWR0aDpjYWxjKHZhcigtLXN3aXRjaC1oZWlnaHQpICogMik7aGVpZ2h0OnZhcigtLXN3aXRjaC1oZWlnaHQpO2JvcmRlci1yYWRpdXM6dmFyKC0tcmFkaXVzLWZ1bGwpO2JhY2tncm91bmQtY29sb3I6dmFyKC0taW5wdXQpOyY6YmVmb3Jle2NvbnRlbnQ6XCJcIjtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6NTAlO2xlZnQ6dmFyKC0tc3dpdGNoLWluc2V0KTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKTt3aWR0aDp2YXIoLS1zd2l0Y2gtdGh1bWIpO2hlaWdodDp2YXIoLS1zd2l0Y2gtdGh1bWIpO2JhY2tncm91bmQtY29sb3I6dmFyKC0tYmFja2dyb3VuZCk7Ym9yZGVyLXJhZGl1czp2YXIoLS1yYWRpdXMtZnVsbCk7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gdmFyKC0tdHJhbnNpdGlvbik7Ym94LXNoYWRvdzp2YXIoLS1zaGFkb3ctc21hbGwpfSY6Y2hlY2tlZHtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXByaW1hcnkpOyY6YWZ0ZXJ7Y29udGVudDpub25lfSY6YmVmb3Jle3RyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpIHRyYW5zbGF0ZSh2YXIoLS1zd2l0Y2gtaGVpZ2h0KSl9fX19aW5wdXRbdHlwZT1yYWRpb117Ym9yZGVyLXJhZGl1czp2YXIoLS1yYWRpdXMtZnVsbCk7JjpjaGVja2VkOmFmdGVye21hc2staW1hZ2U6dXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAxNiAxNiclM0UlM0NjaXJjbGUgY3g9JzgnIGN5PSc4JyByPSc0JyBmaWxsPSdjdXJyZW50Q29sb3InLyUzRSUzQy9zdmclM0VcIil9fTp3aGVyZShpbnB1dDp3aGVyZShbdHlwZT1jaGVja2JveF0sW3R5cGU9cmFkaW9dLFt0eXBlPXJhbmdlXSksc2VsZWN0KTpub3QoOmRpc2FibGVkKSxsYWJlbDpoYXMoaW5wdXQ6d2hlcmUoW3R5cGU9Y2hlY2tib3hdLFt0eXBlPXJhZGlvXSk6bm90KDpkaXNhYmxlZCkpe2N1cnNvcjpwb2ludGVyfWlucHV0W3R5cGU9cmFuZ2Vde3dpZHRoOjEwMCU7aGVpZ2h0OnZhcigtLWJhci1oZWlnaHQpO2FwcGVhcmFuY2U6bm9uZTtiYWNrZ3JvdW5kOnZhcigtLW11dGVkKTtib3JkZXItcmFkaXVzOnZhcigtLXJhZGl1cy1mdWxsKTsmOjotd2Via2l0LXNsaWRlci10aHVtYnthcHBlYXJhbmNlOm5vbmU7d2lkdGg6MS4yNXJlbTtoZWlnaHQ6MS4yNXJlbTtiYWNrZ3JvdW5kOnZhcigtLXByaW1hcnkpO2JvcmRlci1yYWRpdXM6dmFyKC0tcmFkaXVzLWZ1bGwpO3RyYW5zaXRpb246dHJhbnNmb3JtIHZhcigtLXRyYW5zaXRpb24tZmFzdCk7Jjpob3Zlcnt0cmFuc2Zvcm06c2NhbGUoMS4xKX19Jjo6LW1vei1yYW5nZS10aHVtYnt3aWR0aDoxLjI1cmVtO2hlaWdodDoxLjI1cmVtO2JhY2tncm91bmQ6dmFyKC0tcHJpbWFyeSk7Ym9yZGVyOm5vbmU7Ym9yZGVyLXJhZGl1czp2YXIoLS1yYWRpdXMtZnVsbCl9fWZpZWxkc2V0e2JvcmRlcjoxcHggc29saWQgdmFyKC0tYm9yZGVyKTtib3JkZXItcmFkaXVzOnZhcigtLXJhZGl1cy1tZWRpdW0pO3BhZGRpbmc6dmFyKC0tc3BhY2UtNCk7bWFyZ2luLWJsb2NrLWVuZDp2YXIoLS1zcGFjZS00KX1sZWdlbmR7Zm9udC1zaXplOnZhcigtLXRleHQtNyk7Zm9udC13ZWlnaHQ6dmFyKC0tZm9udC1tZWRpdW0pO3BhZGRpbmc6MCB2YXIoLS1zcGFjZS0yKX19QGxheWVyIGNvbXBvbmVudHN7ZmllbGRzZXQuZ3JvdXB7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOnN0cmV0Y2g7Ym9yZGVyOm5vbmU7cGFkZGluZzowO21hcmdpbjowOz46aXMoaW5wdXQsdGV4dGFyZWEsc2VsZWN0KXtmbGV4OjE7bWFyZ2luLWJsb2NrLXN0YXJ0OjA7Jjpub3QoOmZvY3VzKXtib3JkZXItaW5saW5lLWVuZC1jb2xvcjp0cmFuc3BhcmVudH19PjppcyhpbnB1dCx0ZXh0YXJlYSxzZWxlY3QsYnV0dG9uKXtib3JkZXItcmFkaXVzOjA7JjpmaXJzdC1jaGlsZHtib3JkZXItcmFkaXVzOnZhcigtLXJhZGl1cy1tZWRpdW0pIDAgMCB2YXIoLS1yYWRpdXMtbWVkaXVtKX0mOmxhc3QtY2hpbGR7Ym9yZGVyLXJhZGl1czowIHZhcigtLXJhZGl1cy1tZWRpdW0pIHZhcigtLXJhZGl1cy1tZWRpdW0pIDB9fT5sZWdlbmR7ZmxvYXQ6aW5saW5lLXN0YXJ0O2Rpc3BsYXk6aW5saW5lLWZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO3BhZGRpbmc6MCB2YXIoLS1zcGFjZS0zKTtsaW5lLWhlaWdodDp2YXIoLS1sZWFkaW5nLW5vcm1hbCk7Zm9udC13ZWlnaHQ6dmFyKC0tZm9udC1ub3JtYWwpO2NvbG9yOnZhcigtLW11dGVkLWZvcmVncm91bmQpO2JhY2tncm91bmQtY29sb3I6dmFyKC0tbXV0ZWQpO2JvcmRlcjoxcHggc29saWQgdmFyKC0taW5wdXQpO2JvcmRlci1pbmxpbmUtZW5kOm5vbmU7Ym9yZGVyLXJhZGl1czp2YXIoLS1yYWRpdXMtbWVkaXVtKSAwIDAgdmFyKC0tcmFkaXVzLW1lZGl1bSl9fVtkYXRhLWZpZWxkXXttYXJnaW4tYmxvY2stZW5kOnZhcigtLXNwYWNlLTQpO1tkYXRhLWhpbnRdLC5lcnJvcntmb250LXNpemU6dmFyKC0tdGV4dC04KTtmb250LXdlaWdodDp2YXIoLS1mb250LW5vcm1hbCk7Y29sb3I6dmFyKC0tbXV0ZWQtZm9yZWdyb3VuZCk7bWFyZ2luLWJsb2NrLXN0YXJ0OnZhcigtLXNwYWNlLTEpfS5lcnJvcntkaXNwbGF5Om5vbmV9JltkYXRhLWZpZWxkPWVycm9yXSAuZXJyb3J7ZGlzcGxheTpibG9jaztjb2xvcjp2YXIoLS1kYW5nZXIpfX19QGxheWVyIGJhc2V7dGFibGV7Ym9yZGVyLWNvbGxhcHNlOmNvbGxhcHNlO3RhYmxlLWxheW91dDpmaXhlZDt3aWR0aDoxMDAlO2ZvbnQtc2l6ZTp2YXIoLS10ZXh0LTcpfXRoZWFke2JvcmRlci1ib3R0b206MXB4IHNvbGlkIHZhcigtLWJvcmRlcil9dGgsdGR7b3ZlcmZsb3ctd3JhcDpicmVhay13b3JkfXRoe3BhZGRpbmc6dmFyKC0tc3BhY2UtMykgdmFyKC0tc3BhY2UtMik7dGV4dC1hbGlnbjpzdGFydDtmb250LXdlaWdodDp2YXIoLS1mb250LW1lZGl1bSk7Y29sb3I6dmFyKC0tbXV0ZWQtZm9yZWdyb3VuZCl9dGR7cGFkZGluZzp2YXIoLS1zcGFjZS0zKSB2YXIoLS1zcGFjZS0yKX10Ym9keSB0cntib3JkZXItYm90dG9tOjFweCBzb2xpZCB2YXIoLS1ib3JkZXIpO3RyYW5zaXRpb246YmFja2dyb3VuZC1jb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpOyY6bGFzdC1jaGlsZHtib3JkZXItYm90dG9tOm5vbmV9Jjpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnJnYihmcm9tIHZhcigtLW11dGVkKSByIGcgYiAvIC41KX19fUBsYXllciBiYXNle3Byb2dyZXNze2FwcGVhcmFuY2U6bm9uZTt3aWR0aDoxMDAlO2hlaWdodDp2YXIoLS1iYXItaGVpZ2h0KTtib3JkZXI6bm9uZTtib3JkZXItcmFkaXVzOnZhcigtLXJhZGl1cy1mdWxsKTtvdmVyZmxvdzpoaWRkZW47YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1tdXRlZCk7Jjo6LXdlYmtpdC1wcm9ncmVzcy1iYXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1tdXRlZCk7Ym9yZGVyLXJhZGl1czp2YXIoLS1yYWRpdXMtZnVsbCl9Jjo6LXdlYmtpdC1wcm9ncmVzcy12YWx1ZXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXByaW1hcnkpO2JvcmRlci1yYWRpdXM6dmFyKC0tcmFkaXVzLWZ1bGwpO3RyYW5zaXRpb246d2lkdGggdmFyKC0tdHJhbnNpdGlvbil9Jjo6LW1vei1wcm9ncmVzcy1iYXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1wcmltYXJ5KTtib3JkZXItcmFkaXVzOnZhcigtLXJhZGl1cy1mdWxsKX19bWV0ZXJ7YXBwZWFyYW5jZTpub25lO3dpZHRoOjEwMCU7aGVpZ2h0OnZhcigtLWJhci1oZWlnaHQpO2JvcmRlcjpub25lO2JvcmRlci1yYWRpdXM6dmFyKC0tcmFkaXVzLWZ1bGwpO292ZXJmbG93OmhpZGRlbjtiYWNrZ3JvdW5kOnZhcigtLW11dGVkKTsmOjotd2Via2l0LW1ldGVyLWJhcntiYWNrZ3JvdW5kOnZhcigtLW11dGVkKTtib3JkZXI6bm9uZTtib3JkZXItcmFkaXVzOnZhcigtLXJhZGl1cy1mdWxsKTtoZWlnaHQ6dmFyKC0tYmFyLWhlaWdodCl9Jjo6LXdlYmtpdC1tZXRlci1vcHRpbXVtLXZhbHVlLCY6Oi13ZWJraXQtbWV0ZXItc3Vib3B0aW11bS12YWx1ZSwmOjotd2Via2l0LW1ldGVyLWV2ZW4tbGVzcy1nb29kLXZhbHVle2JvcmRlci1yYWRpdXM6dmFyKC0tcmFkaXVzLWZ1bGwpfSY6Oi13ZWJraXQtbWV0ZXItb3B0aW11bS12YWx1ZXtiYWNrZ3JvdW5kOnZhcigtLXN1Y2Nlc3MpfSY6Oi13ZWJraXQtbWV0ZXItc3Vib3B0aW11bS12YWx1ZXtiYWNrZ3JvdW5kOnZhcigtLXdhcm5pbmcpfSY6Oi13ZWJraXQtbWV0ZXItZXZlbi1sZXNzLWdvb2QtdmFsdWV7YmFja2dyb3VuZDp2YXIoLS1kYW5nZXIpfSY6Oi1tb3otbWV0ZXItYmFye2JhY2tncm91bmQ6dmFyKC0tc3VjY2Vzcyk7Ym9yZGVyLXJhZGl1czp2YXIoLS1yYWRpdXMtZnVsbCl9JjotbW96LW1ldGVyLXN1Yi1vcHRpbXVtOjotbW96LW1ldGVyLWJhcntiYWNrZ3JvdW5kOnZhcigtLXdhcm5pbmcpfSY6LW1vei1tZXRlci1zdWItc3ViLW9wdGltdW06Oi1tb3otbWV0ZXItYmFye2JhY2tncm91bmQ6dmFyKC0tZGFuZ2VyKX19fUBsYXllciBjb21wb25lbnRze1thcmlhLWJ1c3k9dHJ1ZV17JjpiZWZvcmV7Y29udGVudDpcIlwiO2Rpc3BsYXk6aW5saW5lLWJsb2NrO2luc2V0OjA7bWFyZ2luOmF1dG87d2lkdGg6MS41cmVtO2hlaWdodDoxLjVyZW07Ym9yZGVyOjJweCBzb2xpZCB2YXIoLS1tdXRlZCk7Ym9yZGVyLXRvcC1jb2xvcjp2YXIoLS1wcmltYXJ5KTtib3JkZXItcmFkaXVzOnZhcigtLXJhZGl1cy1mdWxsKTthbmltYXRpb246c3BpbiAxcyBsaW5lYXIgaW5maW5pdGU7dGV4dC1hbGlnbjpjZW50ZXJ9JltkYXRhLXNwaW5uZXJ+PXNtYWxsXTpiZWZvcmV7d2lkdGg6MXJlbTtoZWlnaHQ6MXJlbX0mW2RhdGEtc3Bpbm5lcn49bGFyZ2VdOmJlZm9yZXt3aWR0aDoycmVtO2hlaWdodDoycmVtO2JvcmRlci13aWR0aDozcHh9JltkYXRhLXNwaW5uZXJ+PW92ZXJsYXlde3Bvc2l0aW9uOnJlbGF0aXZlOz4qe29wYWNpdHk6LjM7cG9pbnRlci1ldmVudHM6bm9uZX0mOmJlZm9yZXtwb3NpdGlvbjphYnNvbHV0ZTtpbnNldDowO21hcmdpbjphdXRvO3otaW5kZXg6MX19fUBrZXlmcmFtZXMgc3Bpbnt0b3t0cmFuc2Zvcm06cm90YXRlKDM2MGRlZyl9fX1AbGF5ZXIgY29tcG9uZW50c3s6cm9vdHstLWdyaWQtY29sczogMTI7LS1ncmlkLWdhcDogMS41cmVtOy0tY29udGFpbmVyLW1heDogMTI4MHB4Oy0tY29udGFpbmVyLXBhZDogMXJlbX0uY29udGFpbmVye3dpZHRoOjEwMCU7bWF4LXdpZHRoOnZhcigtLWNvbnRhaW5lci1tYXgpO21hcmdpbi1pbmxpbmU6YXV0bztwYWRkaW5nLWlubGluZTp2YXIoLS1jb250YWluZXItcGFkKX0ucm93e2Rpc3BsYXk6Z3JpZDtncmlkLXRlbXBsYXRlLWNvbHVtbnM6cmVwZWF0KHZhcigtLWdyaWQtY29scyksMWZyKTtnYXA6dmFyKC0tZ3JpZC1nYXApO3dpZHRoOjEwMCV9LmNvbCxbY2xhc3MqPWNvbC1de2dyaWQtY29sdW1uLWVuZDpzcGFuIHZhcigtLXNwYW4sIHZhcigtLWdyaWQtY29scykpfS5jb2wtMXstLXNwYW46IDF9LmNvbC0yey0tc3BhbjogMn0uY29sLTN7LS1zcGFuOiAzfS5jb2wtNHstLXNwYW46IDR9LmNvbC01ey0tc3BhbjogNX0uY29sLTZ7LS1zcGFuOiA2fS5jb2wtN3stLXNwYW46IDd9LmNvbC04ey0tc3BhbjogOH0uY29sLTl7LS1zcGFuOiA5fS5jb2wtMTB7LS1zcGFuOiAxMH0uY29sLTExey0tc3BhbjogMTF9LmNvbC0xMnstLXNwYW46IDEyfS5vZmZzZXQtMXtncmlkLWNvbHVtbi1zdGFydDoyfS5vZmZzZXQtMntncmlkLWNvbHVtbi1zdGFydDozfS5vZmZzZXQtM3tncmlkLWNvbHVtbi1zdGFydDo0fS5vZmZzZXQtNHtncmlkLWNvbHVtbi1zdGFydDo1fS5vZmZzZXQtNXtncmlkLWNvbHVtbi1zdGFydDo2fS5vZmZzZXQtNntncmlkLWNvbHVtbi1zdGFydDo3fS5jb2wtZW5ke2dyaWQtY29sdW1uLXN0YXJ0OnNwYW4gdmFyKC0tc3BhbiwgMSk7Z3JpZC1jb2x1bW4tZW5kOi0xfUBtZWRpYShtYXgtd2lkdGg6NzY4cHgpey5yb3d7LS1ncmlkLWNvbHM6IDQ7LS1ncmlkLWdhcDogMXJlbX0uY29sLFtjbGFzcyo9Y29sLV17LS1zcGFuOiA0fVtjbGFzcyo9b2Zmc2V0LV17Z3JpZC1jb2x1bW4tc3RhcnQ6YXV0b319fUBsYXllciBjb21wb25lbnRzey5jYXJke2JhY2tncm91bmQtY29sb3I6dmFyKC0tY2FyZCk7Y29sb3I6dmFyKC0tY2FyZC1mb3JlZ3JvdW5kKTtib3JkZXI6MXB4IHNvbGlkIHZhcigtLWJvcmRlcik7Ym9yZGVyLXJhZGl1czp2YXIoLS1yYWRpdXMtbWVkaXVtKTtib3gtc2hhZG93OnZhcigtLXNoYWRvdy1zbWFsbCk7cGFkZGluZzp2YXIoLS1zcGFjZS02KTtvdmVyZmxvdzpoaWRkZW59fUBsYXllciBjb21wb25lbnRze1tyb2xlPWFsZXJ0XXtwb3NpdGlvbjpyZWxhdGl2ZTtkaXNwbGF5OmZsZXg7Z2FwOnZhcigtLXNwYWNlLTMpO3BhZGRpbmc6dmFyKC0tc3BhY2UtNCkgdmFyKC0tc3BhY2UtNik7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1iYWNrZ3JvdW5kKTtib3JkZXI6MXB4IHNvbGlkIHZhcigtLWJvcmRlcik7Ym9yZGVyLXJhZGl1czp2YXIoLS1yYWRpdXMtbWVkaXVtKTtmb250LXNpemU6dmFyKC0tdGV4dC03KTsmW2RhdGEtdmFyaWFudF17Ym9yZGVyOm5vbmV9JltkYXRhLXZhcmlhbnQ9ZXJyb3JdLCZbZGF0YS12YXJpYW50PWRhbmdlcl17Y29sb3I6dmFyKC0tZGFuZ2VyKTtiYWNrZ3JvdW5kLWNvbG9yOmxpZ2h0LWRhcmsoY29sb3ItbWl4KGluIHNyZ2IsdmFyKC0tZGFuZ2VyKSA4JSx0cmFuc3BhcmVudCksY29sb3ItbWl4KGluIHNyZ2IsdmFyKC0tZGFuZ2VyKSAyMCUsdHJhbnNwYXJlbnQpKTsmIGF7Y29sb3I6dmFyKC0tZGFuZ2VyKX19JltkYXRhLXZhcmlhbnQ9c3VjY2Vzc117Y29sb3I6dmFyKC0tc3VjY2Vzcyk7YmFja2dyb3VuZC1jb2xvcjpsaWdodC1kYXJrKGNvbG9yLW1peChpbiBzcmdiLHZhcigtLXN1Y2Nlc3MpIDglLHRyYW5zcGFyZW50KSxjb2xvci1taXgoaW4gc3JnYix2YXIoLS1zdWNjZXNzKSAyMCUsdHJhbnNwYXJlbnQpKTsmIGF7Y29sb3I6dmFyKC0tc3VjY2Vzcyl9fSZbZGF0YS12YXJpYW50PXdhcm5pbmdde2NvbG9yOnZhcigtLXdhcm5pbmcpO2JhY2tncm91bmQtY29sb3I6bGlnaHQtZGFyayhjb2xvci1taXgoaW4gc3JnYix2YXIoLS13YXJuaW5nKSA4JSx0cmFuc3BhcmVudCksY29sb3ItbWl4KGluIHNyZ2IsdmFyKC0td2FybmluZykgMjAlLHRyYW5zcGFyZW50KSk7JiBhe2NvbG9yOnZhcigtLXdhcm5pbmcpfX19fUBsYXllciBjb21wb25lbnRzey5iYWRnZXtkaXNwbGF5OmlubGluZS1mbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6dmFyKC0tc3BhY2UtMSk7cGFkZGluZzp2YXIoLS1zcGFjZS0xKSB2YXIoLS1zcGFjZS00KTtmb250LXNpemU6dmFyKC0tdGV4dC04KTtmb250LXdlaWdodDp2YXIoLS1mb250LW1lZGl1bSk7bGluZS1oZWlnaHQ6dmFyKC0tbGVhZGluZy1ub3JtYWwpO2JhY2tncm91bmQtY29sb3I6dmFyKC0tcHJpbWFyeSk7Y29sb3I6dmFyKC0tcHJpbWFyeS1mb3JlZ3JvdW5kKTtib3JkZXItcmFkaXVzOnZhcigtLXJhZGl1cy1mdWxsKTsmLnNlY29uZGFyeXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXNlY29uZGFyeSk7Y29sb3I6dmFyKC0tc2Vjb25kYXJ5LWZvcmVncm91bmQpfSYub3V0bGluZXtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O2NvbG9yOnZhcigtLWZvcmVncm91bmQpO2JvcmRlcjoxcHggc29saWQgdmFyKC0tYm9yZGVyKX0mLnN1Y2Nlc3N7Y29sb3I6dmFyKC0tc3VjY2Vzcyk7YmFja2dyb3VuZC1jb2xvcjpsaWdodC1kYXJrKGNvbG9yLW1peChpbiBzcmdiLHZhcigtLXN1Y2Nlc3MpIDEwJSx0cmFuc3BhcmVudCksY29sb3ItbWl4KGluIHNyZ2IsdmFyKC0tc3VjY2VzcykgMzAlLHRyYW5zcGFyZW50KSl9Ji53YXJuaW5ne2NvbG9yOnZhcigtLXdhcm5pbmcpO2JhY2tncm91bmQtY29sb3I6bGlnaHQtZGFyayhjb2xvci1taXgoaW4gc3JnYix2YXIoLS13YXJuaW5nKSAxMCUsdHJhbnNwYXJlbnQpLGNvbG9yLW1peChpbiBzcmdiLHZhcigtLXdhcm5pbmcpIDMwJSx0cmFuc3BhcmVudCkpfSYuZGFuZ2Vye2NvbG9yOnZhcigtLWRhbmdlcik7YmFja2dyb3VuZC1jb2xvcjpsaWdodC1kYXJrKGNvbG9yLW1peChpbiBzcmdiLHZhcigtLWRhbmdlcikgMTAlLHRyYW5zcGFyZW50KSxjb2xvci1taXgoaW4gc3JnYix2YXIoLS1kYW5nZXIpIDMwJSx0cmFuc3BhcmVudCkpfX19QGxheWVyIGNvbXBvbmVudHN7ZGV0YWlsc3tib3JkZXI6MXB4IHNvbGlkIHZhcigtLWJvcmRlcik7Ym9yZGVyLXJhZGl1czp2YXIoLS1yYWRpdXMtbWVkaXVtKTtvdmVyZmxvdzpoaWRkZW47K2RldGFpbHN7bWFyZ2luLXRvcDotMXB4O2JvcmRlci1zdGFydC1zdGFydC1yYWRpdXM6MDtib3JkZXItc3RhcnQtZW5kLXJhZGl1czowfSY6aGFzKCtkZXRhaWxzKXtib3JkZXItZW5kLXN0YXJ0LXJhZGl1czowO2JvcmRlci1lbmQtZW5kLXJhZGl1czowfSZbb3Blbl0gc3VtbWFyeXtib3JkZXItYm90dG9tOjFweCBzb2xpZCB2YXIoLS1ib3JkZXIpfX1zdW1tYXJ5e2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW47Z2FwOnZhcigtLXNwYWNlLTIpO3BhZGRpbmc6dmFyKC0tc3BhY2UtNCk7Zm9udC13ZWlnaHQ6dmFyKC0tZm9udC1tZWRpdW0pO2N1cnNvcjpwb2ludGVyO3VzZXItc2VsZWN0Om5vbmU7dHJhbnNpdGlvbjpiYWNrZ3JvdW5kLWNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCk7Jjpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLW11dGVkKX0mOjotd2Via2l0LWRldGFpbHMtbWFya2VyLCY6Om1hcmtlcntkaXNwbGF5Om5vbmV9JjphZnRlcntjb250ZW50OlwiXCI7d2lkdGg6MWVtO2hlaWdodDoxZW07ZmxleC1zaHJpbms6MDtiYWNrZ3JvdW5kLWNvbG9yOmN1cnJlbnRDb2xvcjttYXNrLWltYWdlOnVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMjQgMjQnIGZpbGw9J25vbmUnIHN0cm9rZT0nY3VycmVudENvbG9yJyBzdHJva2Utd2lkdGg9JzInJTNFJTNDcGF0aCBkPSdtNiA5IDYgNiA2LTYnLyUzRSUzQy9zdmclM0VcIik7bWFzay1zaXplOmNvbnRhaW47bWFzay1yZXBlYXQ6bm8tcmVwZWF0O3RyYW5zaXRpb246dHJhbnNmb3JtIHZhcigtLXRyYW5zaXRpb24tZmFzdCl9ZGV0YWlsc1tvcGVuXSAmOmFmdGVye3RyYW5zZm9ybTpyb3RhdGUoMTgwZGVnKX19ZGV0YWlscz4qOm5vdChzdW1tYXJ5KXtwYWRkaW5nOnZhcigtLXNwYWNlLTQpfX1AbGF5ZXIgY29tcG9uZW50c3tbcm9sZT10YWJsaXN0XXtkaXNwbGF5OmlubGluZS1mbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6dmFyKC0tc3BhY2UtMSk7cGFkZGluZzp2YXIoLS1zcGFjZS0xKTtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLW11dGVkKTtib3JkZXItcmFkaXVzOnZhcigtLXJhZGl1cy1tZWRpdW0pfVtyb2xlPXRhYl17ZGlzcGxheTppbmxpbmUtZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtwYWRkaW5nOnZhcigtLXNwYWNlLTIpIHZhcigtLXNwYWNlLTMpO2ZvbnQtc2l6ZTp2YXIoLS10ZXh0LTcpO2ZvbnQtd2VpZ2h0OnZhcigtLWZvbnQtbWVkaXVtKTt3aGl0ZS1zcGFjZTpub3dyYXA7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtjb2xvcjp2YXIoLS1mb3JlZ3JvdW5kKTtib3JkZXI6bm9uZTtib3JkZXItcmFkaXVzOmNhbGModmFyKC0tcmFkaXVzLW1lZGl1bSkgLSAycHgpO2N1cnNvcjpwb2ludGVyO3RyYW5zaXRpb246YmFja2dyb3VuZC1jb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpLGNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCk7Jjpob3Zlcntjb2xvcjp2YXIoLS1tdXRlZC1mb3JlZ3JvdW5kKX0mW2FyaWEtc2VsZWN0ZWQ9dHJ1ZV17YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1iYWNrZ3JvdW5kKTtib3gtc2hhZG93OnZhcigtLXNoYWRvdy1zbWFsbCl9fVtyb2xlPXRhYnBhbmVsXXtwYWRkaW5nOnZhcigtLXNwYWNlLTQpIDA7Jjpmb2N1cy12aXNpYmxle291dGxpbmU6bm9uZX19fUBsYXllciBjb21wb25lbnRze2RpYWxvZ3twb3NpdGlvbjpmaXhlZDtpbnNldDowO3otaW5kZXg6dmFyKC0tei1tb2RhbCk7d2lkdGg6bWluKDEwMCUgLSAycmVtLDMycmVtKTttYXgtaGVpZ2h0Ojg1dmg7bWFyZ2luOmF1dG87cGFkZGluZzowO2JhY2tncm91bmQtY29sb3I6dmFyKC0tY2FyZCk7Ym9yZGVyOjFweCBzb2xpZCB2YXIoLS1ib3JkZXIpO2JvcmRlci1yYWRpdXM6dmFyKC0tcmFkaXVzLWxhcmdlKTtib3gtc2hhZG93OnZhcigtLXNoYWRvdy1sYXJnZSk7b3ZlcmZsb3c6aGlkZGVuO29wYWNpdHk6MDt0cmFuc2Zvcm06c2NhbGUoLjk1KTt0cmFuc2l0aW9uOm9wYWNpdHkgLjE1cyBlYXNlLHRyYW5zZm9ybSAuMTVzIGVhc2Usb3ZlcmxheSAuMTVzIGVhc2UgYWxsb3ctZGlzY3JldGUsZGlzcGxheSAuMTVzIGVhc2UgYWxsb3ctZGlzY3JldGU7JltvcGVuXXtvcGFjaXR5OjE7dHJhbnNmb3JtOnNjYWxlKDEpfUBzdGFydGluZy1zdHlsZXsmW29wZW5de29wYWNpdHk6MDt0cmFuc2Zvcm06c2NhbGUoLjk1KX19Jjo6YmFja2Ryb3B7YmFja2dyb3VuZC1jb2xvcjojMDAwMDt0cmFuc2l0aW9uOmJhY2tncm91bmQtY29sb3IgLjE1cyBlYXNlLG92ZXJsYXkgLjE1cyBlYXNlIGFsbG93LWRpc2NyZXRlLGRpc3BsYXkgLjE1cyBlYXNlIGFsbG93LWRpc2NyZXRlfSZbb3Blbl06OmJhY2tkcm9we2JhY2tncm91bmQtY29sb3I6IzAwMDAwMDgwfUBzdGFydGluZy1zdHlsZXsmW29wZW5dOjpiYWNrZHJvcHtiYWNrZ3JvdW5kLWNvbG9yOiMwMDAwfX0+aGVhZGVyLD5mb3JtPmhlYWRlcntkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2dhcDp2YXIoLS1zcGFjZS0xKTtwYWRkaW5nOnZhcigtLXNwYWNlLTYpO3BhZGRpbmctYmxvY2stZW5kOjA7PmgxLD5oMiw+aDMsPmg0LD5oNSw+aDZ7bWFyZ2luLWJsb2NrLWVuZDowfT5we2ZvbnQtc2l6ZTp2YXIoLS10ZXh0LTcpO2NvbG9yOnZhcigtLW11dGVkLWZvcmVncm91bmQpO21hcmdpbi1ibG9jay1lbmQ6MH19PnAsPmRpdiw+c2VjdGlvbiw+Zm9ybT5wLD5mb3JtPmRpdiw+Zm9ybT5zZWN0aW9ue3BhZGRpbmc6dmFyKC0tc3BhY2UtNik7b3ZlcmZsb3cteTphdXRvfT5mb290ZXIsPmZvcm0+Zm9vdGVye2Rpc3BsYXk6ZmxleDtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1lbmQ7Z2FwOnZhcigtLXNwYWNlLTIpO3BhZGRpbmc6dmFyKC0tc3BhY2UtNik7cGFkZGluZy1ibG9jay1zdGFydDowfX19QGxheWVyIGNvbXBvbmVudHN7b3QtZHJvcGRvd257W3BvcG92ZXJde3Bvc2l0aW9uOmZpeGVkO21hcmdpbjowO21pbi13aWR0aDoxMnJlbTtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWJhY2tncm91bmQpO2JvcmRlcjoxcHggc29saWQgdmFyKC0tYm9yZGVyKTtib3JkZXItcmFkaXVzOnZhcigtLXJhZGl1cy1tZWRpdW0pO2JveC1zaGFkb3c6dmFyKC0tc2hhZG93LW1lZGl1bSk7b3BhY2l0eTowO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC00cHgpO3RyYW5zaXRpb246b3BhY2l0eSAuMTVzIGVhc2Utb3V0LHRyYW5zZm9ybSAuMTVzIGVhc2Utb3V0LGRpc3BsYXkgLjE1cyBhbGxvdy1kaXNjcmV0ZSxvdmVybGF5IC4xNXMgYWxsb3ctZGlzY3JldGU7Jjpwb3BvdmVyLW9wZW57b3BhY2l0eToxO3RyYW5zZm9ybTp0cmFuc2xhdGVZKDApfUBzdGFydGluZy1zdHlsZXsmOnBvcG92ZXItb3BlbntvcGFjaXR5OjA7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTRweCl9fX1bcm9sZT1tZW51aXRlbV17ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6c3RhcnQ7Z2FwOnZhcigtLXNwYWNlLTIpO3dpZHRoOjEwMCU7cGFkZGluZzp2YXIoLS1zcGFjZS0yKSB2YXIoLS1zcGFjZS0zKTtmb250LXNpemU6dmFyKC0tdGV4dC03KTt0ZXh0LWFsaWduOnN0YXJ0O2NvbG9yOnZhcigtLWZvcmVncm91bmQpO2JhY2tncm91bmQ6bm9uZTtib3JkZXI6bm9uZTtib3JkZXItcmFkaXVzOnZhcigtLXJhZGl1cy1zbWFsbCk7Y3Vyc29yOnBvaW50ZXI7Jjpob3ZlciwmOmZvY3Vze2JhY2tncm91bmQtY29sb3I6dmFyKC0tYWNjZW50KTtvdXRsaW5lOm5vbmV9fX19QGxheWVyIGNvbXBvbmVudHN7LnRvYXN0LWNvbnRhaW5lcntwb3NpdGlvbjpmaXhlZDtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO3BvaW50ZXItZXZlbnRzOm5vbmU7bWFyZ2luOjA7cGFkZGluZzowO2JvcmRlcjpub25lO2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7b3ZlcmZsb3c6dmlzaWJsZTsmOjpiYWNrZHJvcHtkaXNwbGF5Om5vbmV9JltkYXRhLXBsYWNlbWVudD10b3AtbGVmdF17aW5zZXQ6dmFyKC0tc3BhY2UtNCkgYXV0byBhdXRvIHZhcigtLXNwYWNlLTQpfSZbZGF0YS1wbGFjZW1lbnQ9dG9wLWNlbnRlcl17aW5zZXQ6dmFyKC0tc3BhY2UtNCkgYXV0byBhdXRvIDUwJTt0cmFuc2Zvcm06dHJhbnNsYXRlKC01MCUpfSZbZGF0YS1wbGFjZW1lbnQ9dG9wLXJpZ2h0XXtpbnNldDp2YXIoLS1zcGFjZS00KSB2YXIoLS1zcGFjZS00KSBhdXRvIGF1dG99JltkYXRhLXBsYWNlbWVudD1ib3R0b20tbGVmdF17aW5zZXQ6YXV0byBhdXRvIHZhcigtLXNwYWNlLTQpIHZhcigtLXNwYWNlLTQpO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbi1yZXZlcnNlfSZbZGF0YS1wbGFjZW1lbnQ9Ym90dG9tLWNlbnRlcl17aW5zZXQ6YXV0byBhdXRvIHZhcigtLXNwYWNlLTQpIDUwJTt0cmFuc2Zvcm06dHJhbnNsYXRlKC01MCUpO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbi1yZXZlcnNlfSZbZGF0YS1wbGFjZW1lbnQ9Ym90dG9tLXJpZ2h0XXtpbnNldDphdXRvIHZhcigtLXNwYWNlLTQpIHZhcigtLXNwYWNlLTQpIGF1dG87ZmxleC1kaXJlY3Rpb246Y29sdW1uLXJldmVyc2V9fS50b2FzdHstLXRyYW5zaXRpb246IC4zczstLXRyYW5zaXRpb24taW46IGNhbGModmFyKC0tdHJhbnNpdGlvbikgLSA1MG1zKTtwYWRkaW5nOnZhcigtLXNwYWNlLTUpIHZhcigtLXNwYWNlLTQpO21heC13aWR0aDoyOHJlbTttaW4td2lkdGg6MjByZW07cG9pbnRlci1ldmVudHM6YXV0bztiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNhcmQpO2JvcmRlcjoxcHggc29saWQgdmFyKC0tYm9yZGVyKTtib3JkZXItaW5saW5lLXN0YXJ0LXdpZHRoOnZhcigtLXNwYWNlLTEpO2JvcmRlci1pbmxpbmUtc3RhcnQtc3R5bGU6c29saWQ7Ym9yZGVyLXJhZGl1czp2YXIoLS1yYWRpdXMtbWVkaXVtKTtib3gtc2hhZG93OnZhcigtLXNoYWRvdy1zbWFsbCk7dHJhbnNpdGlvbjpvcGFjaXR5IHZhcigtLXRyYW5zaXRpb24taW4pLHRyYW5zZm9ybSB2YXIoLS10cmFuc2l0aW9uLWluKSxtYXJnaW4gdmFyKC0tdHJhbnNpdGlvbi1pbik7bGluZS1oZWlnaHQ6MTsudG9hc3QtdGl0bGV7Zm9udC13ZWlnaHQ6NjAwO21hcmdpbjowIDAgdmFyKC0tc3BhY2UtMykgMH0udG9hc3QtbWVzc2FnZXtjb2xvcjp2YXIoLS1tdXRlZC1mb3JlZ3JvdW5kKX0mW2RhdGEtdmFyaWFudD1zdWNjZXNzXXtib3JkZXItaW5saW5lLXN0YXJ0LWNvbG9yOnZhcigtLXN1Y2Nlc3MpOy50b2FzdC10aXRsZXtjb2xvcjp2YXIoLS1zdWNjZXNzKX19JltkYXRhLXZhcmlhbnQ9ZGFuZ2VyXXtib3JkZXItaW5saW5lLXN0YXJ0LWNvbG9yOnZhcigtLWRhbmdlcik7LnRvYXN0LXRpdGxle2NvbG9yOnZhcigtLWRhbmdlcil9fSZbZGF0YS12YXJpYW50PXdhcm5pbmdde2JvcmRlci1pbmxpbmUtc3RhcnQtY29sb3I6dmFyKC0td2FybmluZyk7LnRvYXN0LXRpdGxle2NvbG9yOnZhcigtLXdhcm5pbmcpfX0+W2RhdGEtY2xvc2Vde21hcmdpbi1pbmxpbmUtc3RhcnQ6YXV0bztiYWNrZ3JvdW5kOm5vbmU7Ym9yZGVyOm5vbmU7cGFkZGluZzowO2N1cnNvcjpwb2ludGVyO29wYWNpdHk6LjU7Jjpob3ZlcntvcGFjaXR5OjF9fW1hcmdpbjp2YXIoLS1zcGFjZS0yKSAwOyZbZGF0YS1lbnRlcmluZ117b3BhY2l0eTowO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xcmVtKX0mW2RhdGEtZXhpdGluZ117b3BhY2l0eTowO21hcmdpbjowO3BhZGRpbmctYmxvY2s6MDttYXgtaGVpZ2h0OjA7b3ZlcmZsb3c6aGlkZGVuO3RyYW5zaXRpb246b3BhY2l0eSB2YXIoLS10cmFuc2l0aW9uKSxtYXJnaW4gdmFyKC0tdHJhbnNpdGlvbikscGFkZGluZyB2YXIoLS10cmFuc2l0aW9uKSxtYXgtaGVpZ2h0IHZhcigtLXRyYW5zaXRpb24pfX19QGxheWVyIGNvbXBvbmVudHN7OnJvb3R7LS1fbmg6IHZhcigtLXNwYWNlLTEyKX1bZGF0YS1zaWRlYmFyLWxheW91dF17LS10b3BuYXYtb2Zmc2V0OiAwcHg7LS10b3BuYXYtc2Nyb2xsLW9mZnNldDogMHB4O2Rpc3BsYXk6Z3JpZDtncmlkLXRlbXBsYXRlLWNvbHVtbnM6MTRyZW0gMWZyO21pbi1oZWlnaHQ6MTAwZHZoO2dhcDp2YXIoLS1zcGFjZS00KTsmOmhhcyhuYXZbZGF0YS10b3BuYXZdKXstLXRvcG5hdi1vZmZzZXQ6IHZhcigtLV9uaCk7LS10b3BuYXYtc2Nyb2xsLW9mZnNldDogY2FsYyh2YXIoLS1fbmgpICsgdmFyKC0tc3BhY2UtNikpfT5tYWlue21pbi13aWR0aDowO21hcmdpbi1ibG9jay1zdGFydDp2YXIoLS10b3BuYXYtb2Zmc2V0KTtbaWRde3Njcm9sbC1tYXJnaW4tYmxvY2stc3RhcnQ6dmFyKC0tdG9wbmF2LXNjcm9sbC1vZmZzZXQpfX0+YXNpZGVbZGF0YS1zaWRlYmFyXXtwb3NpdGlvbjpzdGlja3k7dG9wOnZhcigtLXRvcG5hdi1vZmZzZXQpO3otaW5kZXg6MTtoZWlnaHQ6Y2FsYygxMDBkdmggLSB2YXIoLS10b3BuYXYtb2Zmc2V0KSk7YWxpZ24tc2VsZjpzdGFydDtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWJhY2tncm91bmQpO2JvcmRlci1pbmxpbmUtZW5kOjFweCBzb2xpZCB2YXIoLS1ib3JkZXIpO2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47PjppcyhoZWFkZXIsZm9vdGVyKXtmbGV4LXNocmluazowO3BhZGRpbmc6dmFyKC0tc3BhY2UtMyl9PmZvb3RlcnttYXJnaW4tYmxvY2stc3RhcnQ6YXV0b30+bmF2e2ZsZXg6MTttaW4taGVpZ2h0OjA7b3ZlcmZsb3cteTphdXRvO3BhZGRpbmc6dmFyKC0tc3BhY2UtMykgdmFyKC0tc3BhY2UtMik7dWx7bGlzdC1zdHlsZTpub25lO3BhZGRpbmc6MDttYXJnaW46MDtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2dhcDp2YXIoLS1zcGFjZS0xKTtsaXttYXJnaW46MH19YXtkaXNwbGF5OmZsZXg7Z2FwOnZhcigtLXNwYWNlLTIpO3BhZGRpbmc6dmFyKC0tc3BhY2UtMSkgdmFyKC0tc3BhY2UtMyk7Zm9udC1zaXplOnZhcigtLXRleHQtNyk7Y29sb3I6dmFyKC0tZm9yZWdyb3VuZCk7dGV4dC1kZWNvcmF0aW9uOm5vbmU7Ym9yZGVyLXJhZGl1czp2YXIoLS1yYWRpdXMtc21hbGwpO3RyYW5zaXRpb246YmFja2dyb3VuZC1jb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpOyY6aXMoOmhvdmVyLFthcmlhLWN1cnJlbnRdKXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWFjY2VudCl9fWRldGFpbHN7Ym9yZGVyOm5vbmU7b3ZlcmZsb3c6dmlzaWJsZTsrZGV0YWlsc3ttYXJnaW4tdG9wOjB9JltvcGVuXSBzdW1tYXJ5e2JvcmRlci1ib3R0b206bm9uZX0+dWx7bWFyZ2luLWlubGluZS1zdGFydDp2YXIoLS1zcGFjZS00KTtwYWRkaW5nOnZhcigtLXNwYWNlLTEpIDB9fXN1bW1hcnl7anVzdGlmeS1jb250ZW50OmZsZXgtc3RhcnQ7cGFkZGluZzp2YXIoLS1zcGFjZS0yKSB2YXIoLS1zcGFjZS0zKTtmb250LXNpemU6dmFyKC0tdGV4dC03KTtib3JkZXItcmFkaXVzOnZhcigtLXJhZGl1cy1zbWFsbCk7JjphZnRlcnt3aWR0aDouNzVyZW07aGVpZ2h0Oi43NXJlbTttYXJnaW4taW5saW5lLXN0YXJ0OmF1dG99fX19fW5hdltkYXRhLXRvcG5hdl17cG9zaXRpb246Zml4ZWQ7aW5zZXQ6MCAwIGF1dG87ei1pbmRleDo1O21pbi1oZWlnaHQ6dmFyKC0tX25oKTtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDp2YXIoLS1zcGFjZS0zKTtwYWRkaW5nOnZhcigtLXNwYWNlLTIpIHZhcigtLXNwYWNlLTQpO2JhY2tncm91bmQtY29sb3I6dmFyKC0tYmFja2dyb3VuZCk7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgdmFyKC0tYm9yZGVyKTtib3gtc2hhZG93OnZhcigtLXNoYWRvdy1zbWFsbCl9OmlzKFtkYXRhLXNpZGViYXItdG9nZ2xlXSxbZGF0YS1zaWRlYmFyLWhlYWRlcl0pe2Rpc3BsYXk6bm9uZX1bZGF0YS1zaWRlYmFyLXRvZ2dsZV17cGFkZGluZzowIHZhcigtLXNwYWNlLTEpO2JhY2tncm91bmQ6bm9uZTtib3JkZXI6MXB4IHNvbGlkIHZhcigtLWJvcmRlcik7Ym9yZGVyLXJhZGl1czp2YXIoLS1yYWRpdXMtc21hbGwpO2N1cnNvcjpwb2ludGVyfUBtZWRpYShtaW4td2lkdGg6NzY5cHgpe1tkYXRhLXNpZGViYXItbGF5b3V0PWFsd2F5c10gW2RhdGEtc2lkZWJhci10b2dnbGVde2Rpc3BsYXk6aW5saW5lLWJsb2NrfVtkYXRhLXNpZGViYXItbGF5b3V0PWFsd2F5c117dHJhbnNpdGlvbjpncmlkLXRlbXBsYXRlLWNvbHVtbnMgdmFyKC0tdHJhbnNpdGlvbik7PmFzaWRlW2RhdGEtc2lkZWJhcl17dHJhbnNmb3JtOnRyYW5zbGF0ZSgwKTtvcGFjaXR5OjE7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gdmFyKC0tdHJhbnNpdGlvbiksb3BhY2l0eSB2YXIoLS10cmFuc2l0aW9uKSx2aXNpYmlsaXR5IHZhcigtLXRyYW5zaXRpb24pfX1bZGF0YS1zaWRlYmFyLWxheW91dD1hbHdheXNdW2RhdGEtc2lkZWJhci1vcGVuXXtncmlkLXRlbXBsYXRlLWNvbHVtbnM6MHB4IDFmcjtnYXA6MDs+YXNpZGVbZGF0YS1zaWRlYmFyXXtvdmVyZmxvdzpoaWRkZW47bWluLXdpZHRoOjA7dHJhbnNmb3JtOnRyYW5zbGF0ZSgtMTAwJSk7b3BhY2l0eTowO3Zpc2liaWxpdHk6aGlkZGVuO2JvcmRlci1pbmxpbmUtZW5kOm5vbmV9fX1AbWVkaWEobWF4LXdpZHRoOjc2OHB4KXtbZGF0YS1zaWRlYmFyLWxheW91dF17Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOjFmcjs+YXNpZGVbZGF0YS1zaWRlYmFyXXtwb3NpdGlvbjpmaXhlZDtsZWZ0OjA7d2lkdGg6MTZyZW07dHJhbnNmb3JtOnRyYW5zbGF0ZSgtMTAwJSk7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gdmFyKC0tdHJhbnNpdGlvbik7Ym94LXNoYWRvdzp2YXIoLS1zaGFkb3ctbGFyZ2UpfSZbZGF0YS1zaWRlYmFyLW9wZW5dPmFzaWRlW2RhdGEtc2lkZWJhcl17dHJhbnNmb3JtOnRyYW5zbGF0ZSgwKX19W2RhdGEtc2lkZWJhci10b2dnbGVde2Rpc3BsYXk6aW5saW5lLWJsb2NrfVtkYXRhLXNpZGViYXItaGVhZGVyXXtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDp2YXIoLS1zcGFjZS0zKTtwYWRkaW5nOnZhcigtLXNwYWNlLTMpIHZhcigtLXNwYWNlLTQpO2JvcmRlci1ib3R0b206MXB4IHNvbGlkIHZhcigtLWJvcmRlcil9fX1AbGF5ZXIgY29tcG9uZW50c3tbcm9sZT1zdGF0dXNdLnNrZWxldG9uey0tX2M6IGxpZ2h0LWRhcmsoIGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1tdXRlZCkgMzAlLCB3aGl0ZSksIGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1tdXRlZCkgOTAlLCB2YXIoLS1mb3JlZ3JvdW5kKSkgKTttYXJnaW4tYmxvY2stZW5kOnZhcigtLXNwYWNlLTMpO2JhY2tncm91bmQ6dmFyKC0tbXV0ZWQpO2JvcmRlci1yYWRpdXM6dmFyKC0tcmFkaXVzLW1lZGl1bSk7YW5pbWF0aW9uOmFuaW0gMnMgaW5maW5pdGU7YmFja2dyb3VuZC1zaXplOjIwMCUgMTAwJTtiYWNrZ3JvdW5kLWltYWdlOmxpbmVhci1ncmFkaWVudCg5MGRlZyx2YXIoLS1tdXRlZCkgMCUsdmFyKC0tX2MpIDUwJSx2YXIoLS1tdXRlZCkgMTAwJSk7Ji5ib3h7d2lkdGg6NHJlbTtoZWlnaHQ6NHJlbX0mLmxpbmV7aGVpZ2h0OjFyZW07d2lkdGg6MTAwJX19W3JvbGU9c3RhdHVzXS5za2VsZXRvbjpsYXN0LWNoaWxke21hcmdpbi1ibG9jay1lbmQ6MH1Aa2V5ZnJhbWVzIGFuaW17MCV7YmFja2dyb3VuZC1wb3NpdGlvbjoyMDAlIDB9dG97YmFja2dyb3VuZC1wb3NpdGlvbjotMjAwJSAwfX19QGxheWVyIGNvbXBvbmVudHN7W2RhdGEtdG9vbHRpcF17cG9zaXRpb246cmVsYXRpdmV9W2RhdGEtdG9vbHRpcF06YmVmb3JlLFtkYXRhLXRvb2x0aXBdOmFmdGVye3Bvc2l0aW9uOmFic29sdXRlO2luc2V0LWlubGluZS1zdGFydDo1MCU7b3BhY2l0eTowO3Zpc2liaWxpdHk6aGlkZGVuO3RyYW5zaXRpb246b3BhY2l0eSB2YXIoLS10cmFuc2l0aW9uLWZhc3QpLHRyYW5zZm9ybSB2YXIoLS10cmFuc2l0aW9uLWZhc3QpLHZpc2liaWxpdHkgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KTtwb2ludGVyLWV2ZW50czpub25lO3otaW5kZXg6MTAwMH1bZGF0YS10b29sdGlwXTphZnRlcntjb250ZW50OmF0dHIoZGF0YS10b29sdGlwKTtpbnNldC1ibG9jay1lbmQ6Y2FsYygxMDAlICsgMTBweCk7dHJhbnNmb3JtOnRyYW5zbGF0ZSgtNTAlKSB0cmFuc2xhdGVZKDRweCk7cGFkZGluZzp2YXIoLS1zcGFjZS0yKSB2YXIoLS1zcGFjZS0zKTtmb250LXNpemU6dmFyKC0tdGV4dC03KTtsaW5lLWhlaWdodDoxO3doaXRlLXNwYWNlOm5vd3JhcDtiYWNrZ3JvdW5kOnZhcigtLWZvcmVncm91bmQpO2NvbG9yOnZhcigtLWJhY2tncm91bmQpO2JvcmRlci1yYWRpdXM6dmFyKC0tcmFkaXVzLW1lZGl1bSl9W2RhdGEtdG9vbHRpcF06YmVmb3Jle2NvbnRlbnQ6XCJcIjtpbnNldC1ibG9jay1lbmQ6Y2FsYygxMDAlIC0gNXB4KTt0cmFuc2Zvcm06dHJhbnNsYXRlKC01MCUpIHRyYW5zbGF0ZVkoNHB4KTtib3JkZXI6OHB4IHNvbGlkIHRyYW5zcGFyZW50O2JvcmRlci10b3AtY29sb3I6dmFyKC0tZm9yZWdyb3VuZCl9W2RhdGEtdG9vbHRpcF06aXMoOmhvdmVyLDpmb2N1cy12aXNpYmxlKTpiZWZvcmUsW2RhdGEtdG9vbHRpcF06aXMoOmhvdmVyLDpmb2N1cy12aXNpYmxlKTphZnRlcntvcGFjaXR5OjE7dmlzaWJpbGl0eTp2aXNpYmxlO3RyYW5zaXRpb24tZGVsYXk6LjdzO3RyYW5zZm9ybTp0cmFuc2xhdGUoLTUwJSkgdHJhbnNsYXRlWSgwKX19QGxheWVyIHV0aWxpdGllc3sudGV4dC1sZWZ0e3RleHQtYWxpZ246c3RhcnR9LnRleHQtY2VudGVye3RleHQtYWxpZ246Y2VudGVyfS50ZXh0LXJpZ2h0e3RleHQtYWxpZ246ZW5kfS50ZXh0LWxpZ2h0e2NvbG9yOnZhcigtLW11dGVkLWZvcmVncm91bmQpfS50ZXh0LWxpZ2h0ZXJ7Y29sb3I6dmFyKC0tZmFpbnQtZm9yZWdyb3VuZCl9LmZsZXh7ZGlzcGxheTpmbGV4fS5mbGV4LWNvbHtmbGV4LWRpcmVjdGlvbjpjb2x1bW59Lml0ZW1zLWNlbnRlcnthbGlnbi1pdGVtczpjZW50ZXJ9Lmp1c3RpZnktY2VudGVye2p1c3RpZnktY29udGVudDpjZW50ZXJ9Lmp1c3RpZnktYmV0d2VlbntqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2Vlbn0uaHN0YWNre2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOnZhcigtLXNwYWNlLTMpO2ZsZXgtd3JhcDp3cmFwO2FsaWduLWNvbnRlbnQ6ZmxleC1zdGFydDtoZWlnaHQ6YXV0b30udnN0YWNre2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47Z2FwOnZhcigtLXNwYWNlLTMpfS5nYXAtMXtnYXA6dmFyKC0tc3BhY2UtMSl9LmdhcC0ye2dhcDp2YXIoLS1zcGFjZS0yKX0uZ2FwLTR7Z2FwOnZhcigtLXNwYWNlLTQpfS5tdC0ye21hcmdpbi1ibG9jay1zdGFydDp2YXIoLS1zcGFjZS0yKX0ubXQtNHttYXJnaW4tYmxvY2stc3RhcnQ6dmFyKC0tc3BhY2UtNCl9Lm10LTZ7bWFyZ2luLWJsb2NrLXN0YXJ0OnZhcigtLXNwYWNlLTYpfS5tYi0ye21hcmdpbi1ibG9jay1lbmQ6dmFyKC0tc3BhY2UtMil9Lm1iLTR7bWFyZ2luLWJsb2NrLWVuZDp2YXIoLS1zcGFjZS00KX0ubWItNnttYXJnaW4tYmxvY2stZW5kOnZhcigtLXNwYWNlLTYpfS5wLTR7cGFkZGluZzp2YXIoLS1zcGFjZS00KX0udy0xMDB7d2lkdGg6MTAwJX11bCxvbHsmLnVuc3R5bGVke2xpc3Qtc3R5bGU6bm9uZTtwYWRkaW5nLWlubGluZS1zdGFydDowO21hcmdpbi1pbmxpbmUtc3RhcnQ6MH19fVxuIiwgIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBERVNJR04gVE9LRU5TXG4gICBDb3JlIHZhcmlhYmxlcyBmb3IgY29sb3JzLCB0eXBvZ3JhcGh5LCBzcGFjaW5nLCBhbmQgZWZmZWN0cy5cbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbjpyb290IHtcbiAgLyogQ29sb3JzIC0gQmFzZSAqL1xuICAtLWNvbG9yLXByaW1hcnk6IG9rbGNoKDcwJSAwLjIxMyA0Ny42MDQpO1xuICAtLWNvbG9yLXByaW1hcnktaG92ZXI6IG9rbGNoKDY1JSAwLjIxMyA0Ny42MDQpO1xuICAtLWNvbG9yLWJnOiBva2xjaCg5OCUgMCAwKTtcbiAgLS1jb2xvci1iZy1zZWNvbmRhcnk6IG9rbGNoKDk2JSAwLjAwMSAyODYuMzc1KTtcbiAgLS1jb2xvci1iZy10ZXJ0aWFyeTogb2tsY2goOTIlIDAuMDA0IDI4Ni4zMik7XG4gIC0tY29sb3ItZmc6IG9rbGNoKDIxJSAwLjAwNiAyODUuODg1KTtcbiAgLS1jb2xvci1mZy1tdXRlZDogb2tsY2goNDUlIDAuMDA2IDI4NS44ODUpO1xuICAtLWNvbG9yLWJvcmRlcjogb2tsY2goOTIlIDAuMDA0IDI4Ni4zMik7XG4gIC0tY29sb3ItYm9yZGVyLWhvdmVyOiBva2xjaCg4NSUgMC4wMDYgMjg2LjMyKTtcbiAgLS1jb2xvci1zdWNjZXNzOiBva2xjaCg3MCUgMC4xNCAxODIuNTAzKTtcbiAgLS1jb2xvci1zdWNjZXNzLWJnOiBva2xjaCg5NSUgMC4wMyAxODIuNTAzKTtcbiAgLS1jb2xvci13YXJuaW5nOiBva2xjaCg2NiUgMC4xNzkgNTguMzE4KTtcbiAgLS1jb2xvci13YXJuaW5nLWJnOiBva2xjaCg5NSUgMC4wNCA1OC4zMTgpO1xuICAtLWNvbG9yLWVycm9yOiBva2xjaCg1OCUgMC4yNTMgMTcuNTg1KTtcbiAgLS1jb2xvci1lcnJvci1iZzogb2tsY2goOTUlIDAuMDUgMTcuNTg1KTtcbiAgLS1jb2xvci1pbmZvOiBva2xjaCg2MiUgMC4yMTQgMjU5LjgxNSk7XG4gIC0tY29sb3ItaW5mby1iZzogb2tsY2goOTUlIDAuMDQgMjU5LjgxNSk7XG5cbiAgLyogQ29sb3JzIC0gQ29uc29sZSAoZm9yIGdpdCBkaWZmcywgY29kZSB2aWV3cykgKi9cbiAgLS1jb2xvci1jb25zb2xlLWJnOiBva2xjaCgxNSUgMCAwKTtcbiAgLS1jb2xvci1jb25zb2xlLWZnOiBva2xjaCg5MCUgMCAwKTtcbiAgLS1jb2xvci1jb25zb2xlLW11dGVkOiBva2xjaCg3MCUgMCAwKTtcblxuICAvKiBDb2xvcnMgLSBBbHBoYSB2YXJpYW50cyAqL1xuICAtLWNvbG9yLXByaW1hcnktNTogY29sb3ItbWl4KGluIG9rbGNoLCB2YXIoLS1jb2xvci1wcmltYXJ5KSA1JSwgdHJhbnNwYXJlbnQpO1xuICAtLWNvbG9yLXByaW1hcnktMTA6IGNvbG9yLW1peChpbiBva2xjaCwgdmFyKC0tY29sb3ItcHJpbWFyeSkgMTAlLCB0cmFuc3BhcmVudCk7XG4gIC0tY29sb3ItcHJpbWFyeS0xNTogY29sb3ItbWl4KGluIG9rbGNoLCB2YXIoLS1jb2xvci1wcmltYXJ5KSAxNSUsIHRyYW5zcGFyZW50KTtcbiAgLS1jb2xvci1wcmltYXJ5LTIwOiBjb2xvci1taXgoaW4gb2tsY2gsIHZhcigtLWNvbG9yLXByaW1hcnkpIDIwJSwgdHJhbnNwYXJlbnQpO1xuICAtLWNvbG9yLXByaW1hcnktMzA6IGNvbG9yLW1peChpbiBva2xjaCwgdmFyKC0tY29sb3ItcHJpbWFyeSkgMzAlLCB0cmFuc3BhcmVudCk7XG4gIC0tY29sb3Itc3VjY2Vzcy01OiBjb2xvci1taXgoaW4gb2tsY2gsIHZhcigtLWNvbG9yLXN1Y2Nlc3MpIDUlLCB0cmFuc3BhcmVudCk7XG4gIC0tY29sb3Itc3VjY2Vzcy0xMDogY29sb3ItbWl4KGluIG9rbGNoLCB2YXIoLS1jb2xvci1zdWNjZXNzKSAxMCUsIHRyYW5zcGFyZW50KTtcbiAgLS1jb2xvci1zdWNjZXNzLTIwOiBjb2xvci1taXgoaW4gb2tsY2gsIHZhcigtLWNvbG9yLXN1Y2Nlc3MpIDIwJSwgdHJhbnNwYXJlbnQpO1xuICAtLWNvbG9yLXN1Y2Nlc3MtMzA6IGNvbG9yLW1peChpbiBva2xjaCwgdmFyKC0tY29sb3Itc3VjY2VzcykgMzAlLCB0cmFuc3BhcmVudCk7XG4gIC0tY29sb3Itd2FybmluZy0xMDogY29sb3ItbWl4KGluIG9rbGNoLCB2YXIoLS1jb2xvci13YXJuaW5nKSAxMCUsIHRyYW5zcGFyZW50KTtcbiAgLS1jb2xvci13YXJuaW5nLTIwOiBjb2xvci1taXgoaW4gb2tsY2gsIHZhcigtLWNvbG9yLXdhcm5pbmcpIDIwJSwgdHJhbnNwYXJlbnQpO1xuICAtLWNvbG9yLXdhcm5pbmctMzA6IGNvbG9yLW1peChpbiBva2xjaCwgdmFyKC0tY29sb3Itd2FybmluZykgMzAlLCB0cmFuc3BhcmVudCk7XG4gIC0tY29sb3ItZXJyb3ItNTogY29sb3ItbWl4KGluIG9rbGNoLCB2YXIoLS1jb2xvci1lcnJvcikgNSUsIHRyYW5zcGFyZW50KTtcbiAgLS1jb2xvci1lcnJvci0xMDogY29sb3ItbWl4KGluIG9rbGNoLCB2YXIoLS1jb2xvci1lcnJvcikgMTAlLCB0cmFuc3BhcmVudCk7XG4gIC0tY29sb3ItZXJyb3ItMjA6IGNvbG9yLW1peChpbiBva2xjaCwgdmFyKC0tY29sb3ItZXJyb3IpIDIwJSwgdHJhbnNwYXJlbnQpO1xuICAtLWNvbG9yLWluZm8tMTA6IGNvbG9yLW1peChpbiBva2xjaCwgdmFyKC0tY29sb3ItaW5mbykgMTAlLCB0cmFuc3BhcmVudCk7XG4gIC0tY29sb3ItZmctMTA6IGNvbG9yLW1peChpbiBva2xjaCwgdmFyKC0tY29sb3ItZmcpIDEwJSwgdHJhbnNwYXJlbnQpO1xuICAtLWNvbG9yLWJvcmRlci0yMDogY29sb3ItbWl4KGluIG9rbGNoLCB2YXIoLS1jb2xvci1ib3JkZXIpIDIwJSwgdHJhbnNwYXJlbnQpO1xuICAtLWNvbG9yLWJvcmRlci0zMDogY29sb3ItbWl4KGluIG9rbGNoLCB2YXIoLS1jb2xvci1ib3JkZXIpIDMwJSwgdHJhbnNwYXJlbnQpO1xuICAtLWNvbG9yLWJvcmRlci00MDogY29sb3ItbWl4KGluIG9rbGNoLCB2YXIoLS1jb2xvci1ib3JkZXIpIDQwJSwgdHJhbnNwYXJlbnQpO1xuICAtLWNvbG9yLWJvcmRlci01MDogY29sb3ItbWl4KGluIG9rbGNoLCB2YXIoLS1jb2xvci1ib3JkZXIpIDUwJSwgdHJhbnNwYXJlbnQpO1xuICAtLWNvbG9yLWJnLTkwOiBjb2xvci1taXgoaW4gb2tsY2gsIHZhcigtLWNvbG9yLWJnKSA5MCUsIHRyYW5zcGFyZW50KTtcbiAgLS1jb2xvci1iZy04MDogY29sb3ItbWl4KGluIG9rbGNoLCB2YXIoLS1jb2xvci1iZykgODAlLCB0cmFuc3BhcmVudCk7XG4gIC0tY29sb3ItYmctNTA6IGNvbG9yLW1peChpbiBva2xjaCwgdmFyKC0tY29sb3ItYmcpIDUwJSwgdHJhbnNwYXJlbnQpO1xuICAtLWNvbG9yLWJnLXNlY29uZGFyeS01MDogY29sb3ItbWl4KGluIG9rbGNoLCB2YXIoLS1jb2xvci1iZy1zZWNvbmRhcnkpIDUwJSwgdHJhbnNwYXJlbnQpO1xuICAtLWNvbG9yLWJnLXNlY29uZGFyeS05NTogY29sb3ItbWl4KGluIG9rbGNoLCB2YXIoLS1jb2xvci1iZy1zZWNvbmRhcnkpIDk1JSwgdHJhbnNwYXJlbnQpO1xuICAtLWNvbG9yLWJnLXRlcnRpYXJ5LTEwOiBjb2xvci1taXgoaW4gb2tsY2gsIHZhcigtLWNvbG9yLWJnLXRlcnRpYXJ5KSAxMCUsIHRyYW5zcGFyZW50KTtcbiAgLS1jb2xvci1iZy10ZXJ0aWFyeS0yMDogY29sb3ItbWl4KGluIG9rbGNoLCB2YXIoLS1jb2xvci1iZy10ZXJ0aWFyeSkgMjAlLCB0cmFuc3BhcmVudCk7XG4gIC0tY29sb3ItYmctdGVydGlhcnktMzA6IGNvbG9yLW1peChpbiBva2xjaCwgdmFyKC0tY29sb3ItYmctdGVydGlhcnkpIDMwJSwgdHJhbnNwYXJlbnQpO1xuICAtLWNvbG9yLWJnLXRlcnRpYXJ5LTQwOiBjb2xvci1taXgoaW4gb2tsY2gsIHZhcigtLWNvbG9yLWJnLXRlcnRpYXJ5KSA0MCUsIHRyYW5zcGFyZW50KTtcbiAgLS1jb2xvci1iZy10ZXJ0aWFyeS01MDogY29sb3ItbWl4KGluIG9rbGNoLCB2YXIoLS1jb2xvci1iZy10ZXJ0aWFyeSkgNTAlLCB0cmFuc3BhcmVudCk7XG4gIC0tY29sb3ItYmctdGVydGlhcnktODA6IGNvbG9yLW1peChpbiBva2xjaCwgdmFyKC0tY29sb3ItYmctdGVydGlhcnkpIDgwJSwgdHJhbnNwYXJlbnQpO1xuXG4gIC8qIFR5cG9ncmFwaHkgKi9cbiAgLS1mb250LXNhbnM6IHN5c3RlbS11aSwgLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBcIlNlZ29lIFVJXCIsIFJvYm90bywgc2Fucy1zZXJpZjtcbiAgLS1mb250LW1vbm86IFwiSUJNIFBsZXggTW9ub1wiLCB1aS1tb25vc3BhY2UsIG1vbm9zcGFjZTtcblxuICAvKiBTcGFjaW5nICovXG4gIC0tc3AtMTogMC4yNXJlbTtcbiAgLS1zcC0yOiAwLjVyZW07XG4gIC0tc3AtMzogMC43NXJlbTtcbiAgLS1zcC00OiAxcmVtO1xuICAtLXNwLTU6IDEuMjVyZW07XG4gIC0tc3AtNjogMS41cmVtO1xuICAtLXNwLTg6IDJyZW07XG5cbiAgLyogUmFkaWkgKi9cbiAgLS1yYWRpdXMtc206IDAuMjVyZW07XG4gIC0tcmFkaXVzOiAwLjVyZW07XG4gIC0tcmFkaXVzLWxnOiAwLjc1cmVtO1xuICAtLXJhZGl1cy14bDogMXJlbTtcbiAgLS1yYWRpdXMtZnVsbDogOTk5OXB4O1xuXG4gIC8qIExheW91dCB3aWR0aHMgKi9cbiAgLS1zaWRlYmFyLXdpZHRoOiAxNHJlbTtcbiAgLS1zaWRlYmFyLWNvbGxhcHNlZDogNHJlbTtcbiAgLS1kZXRhaWwtc2lkZWJhcjogMjRyZW07XG4gIC0tZGV0YWlsLXNpZGViYXItd2lkZTogNDJyZW07XG4gIC0tY29udGFpbmVyLXNtOiAyNHJlbTtcbiAgLS1jb250YWluZXItbWQ6IDMycmVtO1xuICAtLWNvbnRhaW5lci1sZzogNDhyZW07XG4gIC0tY29udGFpbmVyLXhsOiA1NnJlbTtcbiAgLS1jb250YWluZXItMnhsOiA2NHJlbTtcbiAgLS1jb250YWluZXItM3hsOiA3MnJlbTtcbiAgLS1jb250YWluZXItNHhsOiA4MHJlbTtcblxuICAvKiBTaGFkb3dzICovXG4gIC0tc2hhZG93LXNtOiAwIDFweCAycHggcmdiYSgwLDAsMCwwLjA1KTtcbiAgLS1zaGFkb3c6IDAgNHB4IDZweCAtMXB4IHJnYmEoMCwwLDAsMC4xKSwgMCAycHggNHB4IC0ycHggcmdiYSgwLDAsMCwwLjEpO1xuICAtLXNoYWRvdy1sZzogMCAxMHB4IDE1cHggLTNweCByZ2JhKDAsMCwwLDAuMSksIDAgNHB4IDZweCAtNHB4IHJnYmEoMCwwLDAsMC4xKTtcblxuICAvKiBUcmFuc2l0aW9ucyAqL1xuICAtLXRyYW5zaXRpb24tZmFzdDogMTUwbXM7XG4gIC0tdHJhbnNpdGlvbjogMjAwbXM7XG59XG5cbi8qIERhcmsgdGhlbWUgb3ZlcnJpZGVzICovXG5bZGF0YS10aGVtZT1cImRhcmtcIl0ge1xuICAtLWNvbG9yLXByaW1hcnk6IG9rbGNoKDU4JSAwLjIzMyAyNzcuMTE3KTtcbiAgLS1jb2xvci1wcmltYXJ5LWhvdmVyOiBva2xjaCg2MyUgMC4yMzMgMjc3LjExNyk7XG4gIC0tY29sb3ItYmc6IG9rbGNoKDI1LjI2JSAwLjAxNCAyNTMuMSk7XG4gIC0tY29sb3ItYmctc2Vjb25kYXJ5OiBva2xjaCgzMC4zMyUgMC4wMTYgMjUyLjQyKTtcbiAgLS1jb2xvci1iZy10ZXJ0aWFyeTogb2tsY2goMzUlIDAuMDE4IDI1Mik7XG4gIC0tY29sb3ItZmc6IG9rbGNoKDk3LjgwNyUgMC4wMjkgMjU2Ljg0Nyk7XG4gIC0tY29sb3ItZmctbXV0ZWQ6IG9rbGNoKDcwJSAwLjAyIDI1Ni44NDcpO1xuICAtLWNvbG9yLWJvcmRlcjogb2tsY2goMzUlIDAuMDIgMjU0LjA5KTtcbiAgLS1jb2xvci1ib3JkZXItaG92ZXI6IG9rbGNoKDQ1JSAwLjAyNSAyNTQuMDkpO1xuICAtLWNvbG9yLXN1Y2Nlc3M6IG9rbGNoKDYwJSAwLjExOCAxODQuNzA0KTtcbiAgLS1jb2xvci1zdWNjZXNzLWJnOiBva2xjaCgzMCUgMC4wNCAxODQuNzA0KTtcbiAgLS1jb2xvci13YXJuaW5nOiBva2xjaCg2NiUgMC4xNzkgNTguMzE4KTtcbiAgLS1jb2xvci13YXJuaW5nLWJnOiBva2xjaCgzMCUgMC4wNiA1OC4zMTgpO1xuICAtLWNvbG9yLWVycm9yOiBva2xjaCg1OCUgMC4yNTMgMTcuNTg1KTtcbiAgLS1jb2xvci1lcnJvci1iZzogb2tsY2goMzAlIDAuMDggMTcuNTg1KTtcbiAgLS1jb2xvci1pbmZvOiBva2xjaCg1OCUgMC4xNTggMjQxLjk2Nik7XG4gIC0tY29sb3ItaW5mby1iZzogb2tsY2goMzAlIDAuMDUgMjQxLjk2Nik7XG4gIC0tY29sb3ItY29uc29sZS1iZzogb2tsY2goMTIlIDAuMDEgMjUzKTtcbiAgLS1jb2xvci1jb25zb2xlLWZnOiBva2xjaCg4NSUgMC4wMiAyNTMpO1xuICAtLWNvbG9yLWNvbnNvbGUtbXV0ZWQ6IG9rbGNoKDYwJSAwLjAxNSAyNTMpO1xufVxuIiwgIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBVVElMSVRJRVNcbiAgIFJldXNhYmxlIHV0aWxpdHkgY2xhc3NlcyBmb3IgY29tbW9uIHBhdHRlcm5zLlxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyogRGlzcGxheSAqL1xuLmhpZGRlbiB7IGRpc3BsYXk6IG5vbmU7IH1cbi5ibG9jayB7IGRpc3BsYXk6IGJsb2NrOyB9XG4uaW5saW5lIHsgZGlzcGxheTogaW5saW5lOyB9XG4uaW5saW5lLWZsZXggeyBkaXNwbGF5OiBpbmxpbmUtZmxleDsgfVxuLmdyaWQgeyBkaXNwbGF5OiBncmlkOyB9XG5cbi8qIEZsZXhib3ggKi9cbi5mbGV4LTEsIC5zaWRlYmFyLXNwYWNlciB7IGZsZXg6IDE7IH1cbi5mbGV4LTEtbWluLTAgeyBmbGV4OiAxOyBtaW4td2lkdGg6IDA7IH1cbi5zaHJpbmstMCB7IGZsZXgtc2hyaW5rOiAwOyB9XG4uZmxleC13cmFwIHsgZmxleC13cmFwOiB3cmFwOyB9XG4uaHN0YWNrIHsgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsgZ2FwOiB2YXIoLS1zcC0zKTsgfVxuLnZzdGFjayB7IGRpc3BsYXk6IGZsZXg7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IGdhcDogdmFyKC0tc3AtMyk7IH1cbi5pdGVtcy1jZW50ZXIgeyBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4uaXRlbXMtc3RhcnQgeyBhbGlnbi1pdGVtczogZmxleC1zdGFydDsgfVxuLml0ZW1zLWVuZCB7IGFsaWduLWl0ZW1zOiBmbGV4LWVuZDsgfVxuLml0ZW1zLWJhc2VsaW5lIHsgYWxpZ24taXRlbXM6IGJhc2VsaW5lOyB9XG4uanVzdGlmeS1zdGFydCB7IGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfVxuLmp1c3RpZnktY2VudGVyIHsganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbi5qdXN0aWZ5LWJldHdlZW4geyBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH1cbi5qdXN0aWZ5LWVuZCB7IGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IH1cbi5zZWxmLWVuZCB7IGFsaWduLXNlbGY6IGZsZXgtZW5kOyB9XG5cbi8qIEdhcCAqL1xuLmdhcC0xIHsgZ2FwOiB2YXIoLS1zcC0xKTsgfVxuLmdhcC0yIHsgZ2FwOiB2YXIoLS1zcC0yKTsgfVxuLmdhcC0zIHsgZ2FwOiB2YXIoLS1zcC0zKTsgfVxuLmdhcC00IHsgZ2FwOiB2YXIoLS1zcC00KTsgfVxuLmdhcC01IHsgZ2FwOiB2YXIoLS1zcC01KTsgfVxuLmdhcC02IHsgZ2FwOiB2YXIoLS1zcC02KTsgfVxuLmdhcC1zbSB7IGdhcDogdmFyKC0tc3AtMik7IH1cbi5nYXAtbWQgeyBnYXA6IHZhcigtLXNwLTQpOyB9XG4uZ2FwLWxnIHsgZ2FwOiB2YXIoLS1zcC02KTsgfVxuXG4vKiBXaWR0aC9IZWlnaHQgKi9cbi53LWZ1bGwgeyB3aWR0aDogMTAwJTsgfVxuLnctY3VycmVuY3kgeyB3aWR0aDogNXJlbTsgfVxuLm1pbi13LTAgeyBtaW4td2lkdGg6IDA7IH1cbi5tYXgtdy1zbSB7IG1heC13aWR0aDogdmFyKC0tY29udGFpbmVyLXNtKTsgfVxuLm1heC13LW1kIHsgbWF4LXdpZHRoOiB2YXIoLS1jb250YWluZXItbWQpOyB9XG4ubWF4LXctbGcgeyBtYXgtd2lkdGg6IHZhcigtLWNvbnRhaW5lci1sZyk7IH1cbi5tYXgtdy14bCB7IG1heC13aWR0aDogdmFyKC0tY29udGFpbmVyLXhsKTsgfVxuLm1heC13LTJ4bCB7IG1heC13aWR0aDogdmFyKC0tY29udGFpbmVyLTJ4bCk7IH1cbi5tYXgtdy0zeGwgeyBtYXgtd2lkdGg6IHZhcigtLWNvbnRhaW5lci0zeGwpOyB9XG4ubWF4LXctNHhsIHsgbWF4LXdpZHRoOiB2YXIoLS1jb250YWluZXItNHhsKTsgfVxuLmgtZnVsbCB7IGhlaWdodDogMTAwJTsgfVxuLm1pbi1oLXNjcmVlbiB7IG1pbi1oZWlnaHQ6IDEwMHZoOyB9XG5cbi8qIE1hcmdpbiAqL1xuLm0tMCB7IG1hcmdpbjogMDsgfVxuLm14LWF1dG8geyBtYXJnaW4tbGVmdDogYXV0bzsgbWFyZ2luLXJpZ2h0OiBhdXRvOyB9XG4ubXQtMCB7IG1hcmdpbi10b3A6IDA7IH1cbi5tdC0xIHsgbWFyZ2luLXRvcDogdmFyKC0tc3AtMSk7IH1cbi5tdC0yIHsgbWFyZ2luLXRvcDogdmFyKC0tc3AtMik7IH1cbi5tdC0zIHsgbWFyZ2luLXRvcDogdmFyKC0tc3AtMyk7IH1cbi5tdC00IHsgbWFyZ2luLXRvcDogdmFyKC0tc3AtNCk7IH1cbi5tdC01IHsgbWFyZ2luLXRvcDogdmFyKC0tc3AtNSk7IH1cbi5tdC02IHsgbWFyZ2luLXRvcDogdmFyKC0tc3AtNik7IH1cbi5tdC04IHsgbWFyZ2luLXRvcDogdmFyKC0tc3AtOCk7IH1cbi5tYi0wIHsgbWFyZ2luLWJvdHRvbTogMDsgfVxuLm1iLTEgeyBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcC0xKTsgfVxuLm1iLTIgeyBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcC0yKTsgfVxuLm1iLTMgeyBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcC0zKTsgfVxuLm1iLTQgeyBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcC00KTsgfVxuLm1iLTUgeyBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcC01KTsgfVxuLm1iLTYgeyBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcC02KTsgfVxuLm1iLTggeyBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcC04KTsgfVxuLm1sLTEgeyBtYXJnaW4tbGVmdDogdmFyKC0tc3AtMSk7IH1cbi5tbC0yIHsgbWFyZ2luLWxlZnQ6IHZhcigtLXNwLTIpOyB9XG4ubWwtMyB7IG1hcmdpbi1sZWZ0OiB2YXIoLS1zcC0zKTsgfVxuLm1sLTQgeyBtYXJnaW4tbGVmdDogdmFyKC0tc3AtNCk7IH1cbi5tbC02IHsgbWFyZ2luLWxlZnQ6IHZhcigtLXNwLTYpOyB9XG4ubXItMSB7IG1hcmdpbi1yaWdodDogdmFyKC0tc3AtMSk7IH1cbi5tci0yIHsgbWFyZ2luLXJpZ2h0OiB2YXIoLS1zcC0yKTsgfVxuXG4vKiBQYWRkaW5nICovXG4ucC0wIHsgcGFkZGluZzogMDsgfVxuLnAtMSB7IHBhZGRpbmc6IHZhcigtLXNwLTEpOyB9XG4ucC0yIHsgcGFkZGluZzogdmFyKC0tc3AtMik7IH1cbi5wLTMgeyBwYWRkaW5nOiB2YXIoLS1zcC0zKTsgfVxuLnAtNCB7IHBhZGRpbmc6IHZhcigtLXNwLTQpOyB9XG4ucC02IHsgcGFkZGluZzogdmFyKC0tc3AtNik7IH1cbi5wLTggeyBwYWRkaW5nOiB2YXIoLS1zcC04KTsgfVxuLnAtY29udGVudCB7IHBhZGRpbmc6IDFyZW0gMS41cmVtOyB9XG4ucHgtMSB7IHBhZGRpbmctbGVmdDogdmFyKC0tc3AtMSk7IHBhZGRpbmctcmlnaHQ6IHZhcigtLXNwLTEpOyB9XG4ucHgtMiB7IHBhZGRpbmctbGVmdDogdmFyKC0tc3AtMik7IHBhZGRpbmctcmlnaHQ6IHZhcigtLXNwLTIpOyB9XG4ucHgtMyB7IHBhZGRpbmctbGVmdDogdmFyKC0tc3AtMyk7IHBhZGRpbmctcmlnaHQ6IHZhcigtLXNwLTMpOyB9XG4ucHgtNCB7IHBhZGRpbmctbGVmdDogdmFyKC0tc3AtNCk7IHBhZGRpbmctcmlnaHQ6IHZhcigtLXNwLTQpOyB9XG4ucHgtNiB7IHBhZGRpbmctbGVmdDogdmFyKC0tc3AtNik7IHBhZGRpbmctcmlnaHQ6IHZhcigtLXNwLTYpOyB9XG4ucHktMSB7IHBhZGRpbmctdG9wOiB2YXIoLS1zcC0xKTsgcGFkZGluZy1ib3R0b206IHZhcigtLXNwLTEpOyB9XG4ucHktMiB7IHBhZGRpbmctdG9wOiB2YXIoLS1zcC0yKTsgcGFkZGluZy1ib3R0b206IHZhcigtLXNwLTIpOyB9XG4ucHktMyB7IHBhZGRpbmctdG9wOiB2YXIoLS1zcC0zKTsgcGFkZGluZy1ib3R0b206IHZhcigtLXNwLTMpOyB9XG4ucHktNCB7IHBhZGRpbmctdG9wOiB2YXIoLS1zcC00KTsgcGFkZGluZy1ib3R0b206IHZhcigtLXNwLTQpOyB9XG4ucHQtMSB7IHBhZGRpbmctdG9wOiB2YXIoLS1zcC0xKTsgfVxuLnB0LTIgeyBwYWRkaW5nLXRvcDogdmFyKC0tc3AtMik7IH1cbi5wdC0zIHsgcGFkZGluZy10b3A6IHZhcigtLXNwLTMpOyB9XG4ucHQtNCB7IHBhZGRpbmctdG9wOiB2YXIoLS1zcC00KTsgfVxuLnB0LTYgeyBwYWRkaW5nLXRvcDogdmFyKC0tc3AtNik7IH1cbi5wYi0xIHsgcGFkZGluZy1ib3R0b206IHZhcigtLXNwLTEpOyB9XG4ucGItMiB7IHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcC0yKTsgfVxuLnBiLTMgeyBwYWRkaW5nLWJvdHRvbTogdmFyKC0tc3AtMyk7IH1cbi5wYi00IHsgcGFkZGluZy1ib3R0b206IHZhcigtLXNwLTQpOyB9XG4ucGItc2FmZSB7IHBhZGRpbmctYm90dG9tOiBlbnYoc2FmZS1hcmVhLWluc2V0LWJvdHRvbSk7IH1cbi5wdC1zYWZlIHsgcGFkZGluZy10b3A6IGVudihzYWZlLWFyZWEtaW5zZXQtdG9wKTsgfVxuLnNwYWNlLXktMiA+ICogKyAqIHsgbWFyZ2luLXRvcDogdmFyKC0tc3AtMik7IH1cbi5zcGFjZS15LTMgPiAqICsgKiB7IG1hcmdpbi10b3A6IHZhcigtLXNwLTMpOyB9XG4uc3BhY2UteS00ID4gKiArICogeyBtYXJnaW4tdG9wOiB2YXIoLS1zcC00KTsgfVxuLnNwYWNlLXktNiA+ICogKyAqIHsgbWFyZ2luLXRvcDogdmFyKC0tc3AtNik7IH1cblxuLyogVHlwb2dyYXBoeSAqL1xuLnRleHQtMnhzIHsgZm9udC1zaXplOiAwLjYyNXJlbTsgfVxuLnRleHQteHMgeyBmb250LXNpemU6IDAuNzVyZW07IH1cbi50ZXh0LXNtIHsgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuLnRleHQtYmFzZSB7IGZvbnQtc2l6ZTogMXJlbTsgfVxuLnRleHQtbGcgeyBmb250LXNpemU6IDEuMTI1cmVtOyB9XG4udGV4dC14bCB7IGZvbnQtc2l6ZTogMS4yNXJlbTsgfVxuLnRleHQtMnhsIHsgZm9udC1zaXplOiAxLjVyZW07IH1cbi50ZXh0LTN4bCB7IGZvbnQtc2l6ZTogMS44NzVyZW07IH1cbi50ZXh0LTR4bCB7IGZvbnQtc2l6ZTogMi4yNXJlbTsgfVxuLmZvbnQtbW9ubyB7IGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LW1vbm8pOyB9XG4uZm9udC1ub3JtYWwgeyBmb250LXdlaWdodDogNDAwOyB9XG4uZm9udC1tZWRpdW0geyBmb250LXdlaWdodDogNTAwOyB9XG4uZm9udC1zZW1pYm9sZCB7IGZvbnQtd2VpZ2h0OiA2MDA7IH1cbi5mb250LWJvbGQgeyBmb250LXdlaWdodDogNzAwOyB9XG4udGV4dC1sZWZ0IHsgdGV4dC1hbGlnbjogbGVmdDsgfVxuLnRleHQtY2VudGVyIHsgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4udGV4dC1yaWdodCB7IHRleHQtYWxpZ246IHJpZ2h0OyB9XG4udXBwZXJjYXNlIHsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuLmNhcGl0YWxpemUgeyB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTsgfVxuLml0YWxpYyB7IGZvbnQtc3R5bGU6IGl0YWxpYzsgfVxuLnVuZGVybGluZSB7IHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4ubm8tdW5kZXJsaW5lIHsgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4ubGVhZGluZy1ub25lIHsgbGluZS1oZWlnaHQ6IDE7IH1cbi5sZWFkaW5nLXRpZ2h0IHsgbGluZS1oZWlnaHQ6IDEuMjU7IH1cbi5sZWFkaW5nLXNudWcgeyBsaW5lLWhlaWdodDogMS4zNzU7IH1cbi5sZWFkaW5nLW5vcm1hbCB7IGxpbmUtaGVpZ2h0OiAxLjU7IH1cbi5sZWFkaW5nLXJlbGF4ZWQgeyBsaW5lLWhlaWdodDogMS42MjU7IH1cbi50cmFja2luZy10aWdodCB7IGxldHRlci1zcGFjaW5nOiAtMC4wMjVlbTsgfVxuLnRyYWNraW5nLXdpZGUgeyBsZXR0ZXItc3BhY2luZzogMC4wMjVlbTsgfVxuLnRyYWNraW5nLXdpZGVyIHsgbGV0dGVyLXNwYWNpbmc6IDAuMDVlbTsgfVxuLnRyYWNraW5nLXdpZGVzdCB7IGxldHRlci1zcGFjaW5nOiAwLjFlbTsgfVxuLndoaXRlc3BhY2Utbm93cmFwIHsgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxuLndoaXRlc3BhY2UtcHJlLXdyYXAgeyB3aGl0ZS1zcGFjZTogcHJlLXdyYXA7IH1cbi50cnVuY2F0ZSB7IG92ZXJmbG93OiBoaWRkZW47IHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOyB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG5cbi8qIENvbG9ycyAqL1xuLmNvbG9yLW11dGVkLCAudGV4dC1tdXRlZCB7IGNvbG9yOiB2YXIoLS1jb2xvci1mZy1tdXRlZCk7IH1cbi5jb2xvci1wcmltYXJ5IHsgY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpOyB9XG4uY29sb3ItcHJpbWFyeS1tdXRlZCB7IGNvbG9yOiBjb2xvci1taXgoaW4gb2tsY2gsIHZhcigtLWNvbG9yLXByaW1hcnkpIDYwJSwgdHJhbnNwYXJlbnQpOyB9XG4uY29sb3Itc3VjY2VzcyB7IGNvbG9yOiB2YXIoLS1jb2xvci1zdWNjZXNzKTsgfVxuLmNvbG9yLXdhcm5pbmcgeyBjb2xvcjogdmFyKC0tY29sb3Itd2FybmluZyk7IH1cbi5jb2xvci1lcnJvciB7IGNvbG9yOiB2YXIoLS1jb2xvci1lcnJvcik7IH1cbi5jb2xvci1pbmZvIHsgY29sb3I6IHZhcigtLWNvbG9yLWluZm8pOyB9XG5cbi8qIEljb25zICovXG4uaWNvbi14cyB7IHdpZHRoOiAwLjc1cmVtOyBoZWlnaHQ6IDAuNzVyZW07IH1cbi5pY29uLXNtIHsgd2lkdGg6IDFyZW07IGhlaWdodDogMXJlbTsgfVxuLmljb24tbWQgeyB3aWR0aDogMS4yNXJlbTsgaGVpZ2h0OiAxLjI1cmVtOyB9XG4uaWNvbi1sZyB7IHdpZHRoOiAxLjVyZW07IGhlaWdodDogMS41cmVtOyB9XG4uaWNvbi14bCB7IHdpZHRoOiAycmVtOyBoZWlnaHQ6IDJyZW07IH1cbi5pY29uLTJ4bCB7IHdpZHRoOiAzcmVtOyBoZWlnaHQ6IDNyZW07IH1cbi5pY29uLWh1Z2UgeyB3aWR0aDogMTIwcHg7IGhlaWdodDogMTIwcHg7IH1cblxuLyogR3JpZCBjb2x1bW5zICovXG4uY29sLTEgeyBncmlkLWNvbHVtbjogc3BhbiAxOyB9XG4uY29sLTIgeyBncmlkLWNvbHVtbjogc3BhbiAyOyB9XG4uY29sLTMgeyBncmlkLWNvbHVtbjogc3BhbiAzOyB9XG4uY29sLTQgeyBncmlkLWNvbHVtbjogc3BhbiA0OyB9XG4uY29sLTUgeyBncmlkLWNvbHVtbjogc3BhbiA1OyB9XG4uY29sLTYgeyBncmlkLWNvbHVtbjogc3BhbiA2OyB9XG4uY29sLTcgeyBncmlkLWNvbHVtbjogc3BhbiA3OyB9XG4uY29sLTggeyBncmlkLWNvbHVtbjogc3BhbiA4OyB9XG4uY29sLTkgeyBncmlkLWNvbHVtbjogc3BhbiA5OyB9XG4uY29sLTEwIHsgZ3JpZC1jb2x1bW46IHNwYW4gMTA7IH1cbi5jb2wtMTEgeyBncmlkLWNvbHVtbjogc3BhbiAxMTsgfVxuLmNvbC0xMiB7IGdyaWQtY29sdW1uOiBzcGFuIDEyOyB9XG5cbi8qIE92ZXJmbG93ICovXG4ub3ZlcmZsb3ctaGlkZGVuIHsgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuLm92ZXJmbG93LWF1dG8geyBvdmVyZmxvdzogYXV0bzsgfVxuLm92ZXJmbG93LXgtYXV0byB7IG92ZXJmbG93LXg6IGF1dG87IH1cbi5vdmVyZmxvdy15LWF1dG8geyBvdmVyZmxvdy15OiBhdXRvOyB9XG5cbi8qIFBvc2l0aW9uICovXG4ucmVsYXRpdmUgeyBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbi5hYnNvbHV0ZSB7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgfVxuLmZpeGVkIHsgcG9zaXRpb246IGZpeGVkOyB9XG4uc3RpY2t5IHsgcG9zaXRpb246IHN0aWNreTsgfVxuLmluc2V0LTAgeyBpbnNldDogMDsgfVxuLnRvcC0wIHsgdG9wOiAwOyB9XG4ucmlnaHQtMCB7IHJpZ2h0OiAwOyB9XG4uYm90dG9tLTAgeyBib3R0b206IDA7IH1cbi5sZWZ0LTAgeyBsZWZ0OiAwOyB9XG5cbi8qIFotaW5kZXggKi9cbi56LTAgeyB6LWluZGV4OiAwOyB9XG4uei0xMCB7IHotaW5kZXg6IDEwOyB9XG4uei0yMCB7IHotaW5kZXg6IDIwOyB9XG4uei0zMCB7IHotaW5kZXg6IDMwOyB9XG4uei00MCB7IHotaW5kZXg6IDQwOyB9XG4uei01MCB7IHotaW5kZXg6IDUwOyB9XG5cbi8qIE9wYWNpdHkgKi9cbi5vcGFjaXR5LTAgeyBvcGFjaXR5OiAwOyB9XG4ub3BhY2l0eS0zMCB7IG9wYWNpdHk6IDAuMzsgfVxuLm9wYWNpdHktNTAgeyBvcGFjaXR5OiAwLjU7IH1cbi5vcGFjaXR5LTYwIHsgb3BhY2l0eTogMC42OyB9XG4ub3BhY2l0eS03MCB7IG9wYWNpdHk6IDAuNzsgfVxuLm9wYWNpdHktODAgeyBvcGFjaXR5OiAwLjg7IH1cblxuLyogQm9yZGVycyAqL1xuLmJvcmRlciB7IGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlcik7IH1cbi5ib3JkZXItdCB7IGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXIpOyB9XG4uYm9yZGVyLWIgeyBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyKTsgfVxuLmJvcmRlci1sIHsgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXIpOyB9XG4uYm9yZGVyLXIgeyBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXIpOyB9XG4uYm9yZGVyLWRhc2hlZCB7IGJvcmRlci1zdHlsZTogZGFzaGVkOyB9XG4ucm91bmRlZCB7IGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cyk7IH1cbi5yb3VuZGVkLWxnIHsgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLWxnKTsgfVxuLnJvdW5kZWQtZnVsbCB7IGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1mdWxsKTsgfVxuXG4vKiBDdXJzb3IgJiBJbnRlcmFjdGlvbiAqL1xuLmN1cnNvci1wb2ludGVyIHsgY3Vyc29yOiBwb2ludGVyOyB9XG4uY3Vyc29yLWRlZmF1bHQgeyBjdXJzb3I6IGRlZmF1bHQ7IH1cbi5jdXJzb3Itd2FpdCB7IGN1cnNvcjogd2FpdDsgfVxuLnBvaW50ZXItZXZlbnRzLW5vbmUgeyBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuLnNlbGVjdC1ub25lIHsgdXNlci1zZWxlY3Q6IG5vbmU7IH1cblxuLyogQWNjZXNzaWJpbGl0eSAqL1xuLnNyLW9ubHkgeyBwb3NpdGlvbjogYWJzb2x1dGU7IHdpZHRoOiAxcHg7IGhlaWdodDogMXB4OyBwYWRkaW5nOiAwOyBtYXJnaW46IC0xcHg7IG92ZXJmbG93OiBoaWRkZW47IGNsaXA6IHJlY3QoMCwwLDAsMCk7IHdoaXRlLXNwYWNlOiBub3dyYXA7IGJvcmRlcjogMDsgfVxuXG4vKiBBbmltYXRpb24gKi9cbkBrZXlmcmFtZXMgc3BpbiB7IGZyb20geyB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTsgfSB0byB7IHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7IH0gfVxuLnNwaW4geyBhbmltYXRpb246IHNwaW4gMXMgbGluZWFyIGluZmluaXRlOyB9XG5AbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkgeyAuc3BpbiB7IGFuaW1hdGlvbjogbm9uZTsgfSB9XG4iLCAiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENPTVBPTkVOVFNcbiAgIFJldXNhYmxlIFVJIGNvbXBvbmVudCBzdHlsZXMuXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgTEFZT1VUXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uYXBwLXNoZWxsIHsgaGVpZ2h0OiAxMDB2aDsgZGlzcGxheTogZmxleDsgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgb3ZlcmZsb3c6IGhpZGRlbjsgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmcpOyB9XG4uYXBwLXNoZWxsLm1vbm9zcGFjZSB7IGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LW1vbm8pOyB9XG4uYXBwLWxheW91dCB7IGRpc3BsYXk6IGZsZXg7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IGZsZXg6IDE7IG1pbi1oZWlnaHQ6IDA7IGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLXNlY29uZGFyeSk7IH1cbi5hcHAtbWFpbiB7IGZsZXg6IDE7IG1pbi13aWR0aDogMDsgZGlzcGxheTogZmxleDsgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuLmFwcC1jb250ZW50IHsgZmxleDogMTsgb3ZlcmZsb3cteTogYXV0bzsgb3ZlcmZsb3cteDogaGlkZGVuOyBwb3NpdGlvbjogcmVsYXRpdmU7IG1pbi13aWR0aDogMDsgcGFkZGluZy1ib3R0b206IDhyZW07IHBhZGRpbmctdG9wOiB2YXIoLS1zcC0yKTsgfVxuLmNvbnRlbnQtYXJlYSB7IGZsZXg6IDE7IHBhZGRpbmc6IHZhcigtLXNwLTQpOyBtYXJnaW4tYm90dG9tOiA0cmVtOyB9XG4ucm93IHsgZGlzcGxheTogZ3JpZDsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMTIsIDFmcik7IGdhcDogdmFyKC0tc3AtNCk7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFNJREVCQVJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5zaWRlYmFyLW5hdiB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGdhcDogdmFyKC0tc3AtNCk7XG4gIHBhZGRpbmc6IHZhcigtLXNwLTQpIHZhcigtLXNwLTMpO1xuICBwYWRkaW5nLXRvcDogZW52KHNhZmUtYXJlYS1pbnNldC10b3AsIHZhcigtLXNwLTQpKTtcbiAgcGFkZGluZy1ib3R0b206IGVudihzYWZlLWFyZWEtaW5zZXQtYm90dG9tLCB2YXIoLS1zcC00KSk7XG4gIGZsZXgtc2hyaW5rOiAwO1xuICBoZWlnaHQ6IDEwMHZoO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy1zZWNvbmRhcnkpO1xuICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXIpO1xuICB3aWR0aDogdmFyKC0tc2lkZWJhci13aWR0aCk7XG59XG4uc2lkZWJhci1uYXZbZGF0YS1jb2xsYXBzZWQ9XCJ0cnVlXCJdIHsgd2lkdGg6IHZhcigtLXNpZGViYXItY29sbGFwc2VkKTsgcGFkZGluZy1sZWZ0OiB2YXIoLS1zcC0yKTsgcGFkZGluZy1yaWdodDogdmFyKC0tc3AtMik7IH1cbi5zaWRlYmFyLWhlYWRlciB7IGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGdhcDogdmFyKC0tc3AtMyk7IHBhZGRpbmc6IHZhcigtLXNwLTIpOyB0ZXh0LWRlY29yYXRpb246IG5vbmU7IGNvbG9yOiBpbmhlcml0OyB0cmFuc2l0aW9uOiBvcGFjaXR5IHZhcigtLXRyYW5zaXRpb24tZmFzdCk7IH1cbi5zaWRlYmFyLWhlYWRlcjpob3ZlciB7IG9wYWNpdHk6IDAuODsgfVxuLnNpZGViYXItbG9nbyB7IGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGp1c3RpZnktY29udGVudDogY2VudGVyOyB3aWR0aDogMi4yNXJlbTsgaGVpZ2h0OiAyLjI1cmVtOyBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbGcpOyBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1wcmltYXJ5KTsgY29sb3I6IHdoaXRlOyBmbGV4LXNocmluazogMDsgfVxuLnNpZGViYXItdGl0bGUgeyBmb250LXdlaWdodDogNjAwOyBjb2xvcjogdmFyKC0tY29sb3ItZmcpOyB9XG4uc2lkZWJhci1uYXYtbGlzdCB7IGRpc3BsYXk6IGZsZXg7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IGdhcDogMC4yNXJlbTsgbWluLWhlaWdodDogMDsgZmxleDogMTsgb3ZlcmZsb3cteTogYXV0bzsgb3ZlcmZsb3cteDogaGlkZGVuOyB9XG4uc2lkZWJhci1mb290ZXIgeyBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyKTsgcGFkZGluZy10b3A6IHZhcigtLXNwLTMpOyBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IHBhZGRpbmctbGVmdDogdmFyKC0tc3AtMik7IHBhZGRpbmctcmlnaHQ6IHZhcigtLXNwLTIpOyB9XG4uc2lkZWJhci12ZXJzaW9uIHsgZm9udC1zaXplOiAwLjYyNXJlbTsgY29sb3I6IHZhcigtLWNvbG9yLWZnLW11dGVkKTsgb3BhY2l0eTogMC40OyB9XG4uc2lkZWJhci10b2dnbGUtYnRuIHsgcGFkZGluZzogMC4zNzVyZW07IGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1sZyk7IGNvbG9yOiB2YXIoLS1jb2xvci1mZy1tdXRlZCk7IGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyBib3JkZXI6IG5vbmU7IGN1cnNvcjogcG9pbnRlcjsgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpLCBjb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpOyB9XG4uc2lkZWJhci10b2dnbGUtYnRuOmhvdmVyIHsgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItZmctMTApOyBjb2xvcjogdmFyKC0tY29sb3ItZmcpOyB9XG4uc2lkZWJhci1mb290ZXItYWN0aW9ucyB7IGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGdhcDogdmFyKC0tc3AtMSk7IH1cbi5uYXYtc2VjdGlvbi1oZWFkZXIgeyBwYWRkaW5nOiB2YXIoLS1zcC00KSB2YXIoLS1zcC0yKSB2YXIoLS1zcC0xKTsgfVxuLm5hdi1zZWN0aW9uLWhlYWRlcjpmaXJzdC1jaGlsZCB7IHBhZGRpbmctdG9wOiAwOyB9XG4ubmF2LXNlY3Rpb24taGVhZGVyIHNwYW4geyBmb250LXNpemU6IDAuNjg3NXJlbTsgZm9udC13ZWlnaHQ6IDYwMDsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgbGV0dGVyLXNwYWNpbmc6IDAuMDc1ZW07IGNvbG9yOiB2YXIoLS1jb2xvci1mZy1tdXRlZCk7IG9wYWNpdHk6IDAuNDsgfVxuLm5hdi1pdGVtLWxpbmsgeyBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBnYXA6IHZhcigtLXNwLTMpOyBwYWRkaW5nOiB2YXIoLS1zcC0yKSB2YXIoLS1zcC0zKTsgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLWxnKTsgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpLCBjb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpOyB0ZXh0LWRlY29yYXRpb246IG5vbmU7IGNvbG9yOiB2YXIoLS1jb2xvci1mZy1tdXRlZCk7IH1cbi5uYXYtaXRlbS1saW5rOmhvdmVyIHsgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItZmctMTApOyBjb2xvcjogdmFyKC0tY29sb3ItZmcpOyB9XG4ubmF2LWl0ZW0tbGluay5hY3RpdmUgeyBmb250LXdlaWdodDogNjAwOyBjb2xvcjogdmFyKC0tY29sb3ItZmcpOyBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1mZy0xMCk7IH1cbi5uYXYtaXRlbS1saW5rIC5pY29uLW1kIHsgZmxleC1zaHJpbms6IDA7IH1cbi5uYXYtaXRlbS10ZXh0IHsgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuXG4vKiBDb2xsYXBzZWQgc2lkZWJhciAqL1xuLnNpZGViYXItbmF2W2RhdGEtY29sbGFwc2VkPVwidHJ1ZVwiXSAuc2lkZWJhci1sYWJlbCxcbi5zaWRlYmFyLW5hdltkYXRhLWNvbGxhcHNlZD1cInRydWVcIl0gLm5hdi1zZWN0aW9uLWhlYWRlciB7IGRpc3BsYXk6IG5vbmU7IH1cbi5zaWRlYmFyLW5hdltkYXRhLWNvbGxhcHNlZD1cInRydWVcIl0gLnNpZGViYXItaGVhZGVyIHsganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IHBhZGRpbmc6IDA7IH1cbi5zaWRlYmFyLW5hdltkYXRhLWNvbGxhcHNlZD1cInRydWVcIl0gLm5hdi1pdGVtLWxpbmsgeyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgcGFkZGluZzogdmFyKC0tc3AtMik7IHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuLnNpZGViYXItbmF2W2RhdGEtY29sbGFwc2VkPVwidHJ1ZVwiXSAubmF2LWl0ZW0tdGV4dCB7IGRpc3BsYXk6IG5vbmU7IH1cbi5zaWRlYmFyLW5hdltkYXRhLWNvbGxhcHNlZD1cInRydWVcIl0gLnNpZGViYXItZm9vdGVyIHsganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbi5zaWRlYmFyLW5hdiAuc2lkZWJhci1leHBhbmQtaWNvbiB7IGRpc3BsYXk6IG5vbmU7IH1cbi5zaWRlYmFyLW5hdltkYXRhLWNvbGxhcHNlZD1cInRydWVcIl0gLnNpZGViYXItZXhwYW5kLWljb24geyBkaXNwbGF5OiBibG9jazsgfVxuLnNpZGViYXItbmF2W2RhdGEtY29sbGFwc2VkPVwidHJ1ZVwiXSAuc2lkZWJhci1jb2xsYXBzZS1pY29uIHsgZGlzcGxheTogbm9uZTsgfVxuLnNpZGViYXItbmF2W2RhdGEtY29sbGFwc2VkPVwidHJ1ZVwiXSAubmF2LWl0ZW0tbGluazpob3Zlcjo6YWZ0ZXIge1xuICBjb250ZW50OiBhdHRyKHRpdGxlKTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAxMDAlO1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICBtYXJnaW4tbGVmdDogMC43NXJlbTtcbiAgcGFkZGluZzogMC4zNzVyZW0gMC43NXJlbTtcbiAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItZmcpO1xuICBjb2xvcjogdmFyKC0tY29sb3ItYmcpO1xuICBmb250LXNpemU6IDAuNzVyZW07XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cyk7XG4gIHotaW5kZXg6IDEwMDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBNT0JJTEUgTkFWXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4ubW9iaWxlLW5hdiB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgYm90dG9tOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctOTApO1xuICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoMTBweCk7XG4gIC13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOiBibHVyKDEwcHgpO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyKTtcbiAgei1pbmRleDogNTA7XG4gIHBhZGRpbmctYm90dG9tOiBlbnYoc2FmZS1hcmVhLWluc2V0LWJvdHRvbSk7XG59XG4ubW9iaWxlLW5hdi1pbm5lciB7IGRpc3BsYXk6IGZsZXg7IGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kOyBhbGlnbi1pdGVtczogY2VudGVyOyBoZWlnaHQ6IDRyZW07IHBhZGRpbmc6IDAgdmFyKC0tc3AtMik7IH1cbi5tb2JpbGUtbmF2LWl0ZW0geyBkaXNwbGF5OiBmbGV4OyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyBhbGlnbi1pdGVtczogY2VudGVyOyBnYXA6IDAuMjVyZW07IHBhZGRpbmc6IHZhcigtLXNwLTIpOyB3aWR0aDogNHJlbTsgdHJhbnNpdGlvbjogYWxsIHZhcigtLXRyYW5zaXRpb24tZmFzdCk7IHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuLm1vYmlsZS1uYXYtaWNvbiB7IGNvbG9yOiB2YXIoLS1jb2xvci1mZy1tdXRlZCk7IH1cbi5tb2JpbGUtbmF2LWljb24tYWN0aXZlIHsgYm9yZGVyLXJhZGl1czogMC43NXJlbTsgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItcHJpbWFyeSk7IHBhZGRpbmc6IDAuMjVyZW0gMC43NXJlbTsgYm94LXNoYWRvdzogdmFyKC0tc2hhZG93LXNtKTsgY29sb3I6IHdoaXRlOyB9XG4ubW9iaWxlLW5hdi1sYWJlbCB7IGZvbnQtc2l6ZTogMC41NjI1cmVtOyBmb250LXdlaWdodDogNTAwOyBsZXR0ZXItc3BhY2luZzogMC4xZW07IGNvbG9yOiB2YXIoLS1jb2xvci1mZy1tdXRlZCk7IH1cbi5tb2JpbGUtbmF2LWxhYmVsLmFjdGl2ZSB7IGZvbnQtd2VpZ2h0OiA3MDA7IGNvbG9yOiB2YXIoLS1jb2xvci1mZyk7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFBBR0UgSEVBREVSXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4ucGFnZS1oZWFkZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGdhcDogdmFyKC0tc3AtMik7XG4gIG1pbi1oZWlnaHQ6IDIuNzVyZW07XG4gIHBhZGRpbmc6IHZhcigtLXNwLTIpIHZhcigtLXNwLTQpO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyKTtcbiAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctc2Vjb25kYXJ5LTk1KTtcbiAgcG9zaXRpb246IHN0aWNreTtcbiAgdG9wOiAwO1xuICB6LWluZGV4OiA0MDtcbiAgYmFja2Ryb3AtZmlsdGVyOiBibHVyKDEwcHgpO1xuICAtd2Via2l0LWJhY2tkcm9wLWZpbHRlcjogYmx1cigxMHB4KTtcbiAgZmxleC1zaHJpbms6IDA7XG59XG4ucGFnZS1oZWFkZXItdGl0bGUgeyBmb250LXNpemU6IDAuODc1cmVtOyBmb250LXdlaWdodDogNjAwOyBsZXR0ZXItc3BhY2luZzogMC4wMjVlbTsgY29sb3I6IHZhcigtLWNvbG9yLWZnKTsgdGV4dC1kZWNvcmF0aW9uOiBub25lOyBmbGV4LXNocmluazogMDsgfVxuLnBhZ2UtaGVhZGVyLXRpdGxlOmhvdmVyIHsgb3BhY2l0eTogMC44OyB9XG4ucGFnZS1oZWFkZXItc2VsZWN0b3JzIHsgZGlzcGxheTogbm9uZTsgYWxpZ24taXRlbXM6IGNlbnRlcjsgZ2FwOiB2YXIoLS1zcC0zKTsgZmxleC1zaHJpbms6IDA7IH1cbi5iYWNrLWxpbmsgeyBwYWRkaW5nOiAwLjI1cmVtOyBtYXJnaW4tbGVmdDogLTAuNXJlbTsgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzKTsgY29sb3I6IHZhcigtLWNvbG9yLWZnKTsgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpOyB9XG4uYmFjay1saW5rOmhvdmVyIHsgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctc2Vjb25kYXJ5KTsgfVxuXG4vKiBTZWN0aW9uIEhlYWRlcnMgKi9cbi5zZWN0aW9uLWhlYWRlciB7IHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcC00KTsgfVxuLnNlY3Rpb24taGVhZGVyIGgxIHsgZm9udC1zaXplOiAxLjEyNXJlbTsgZm9udC13ZWlnaHQ6IDYwMDsgbGluZS1oZWlnaHQ6IDEuNTsgbWFyZ2luOiAwOyB9XG4uc2VjdGlvbi1oZWFkZXIud2l0aC1hY3Rpb25zIHsgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyBnYXA6IHZhcigtLXNwLTYpOyB9XG4uc2VjdGlvbi1oZWFkZXIgLnN1YnRpdGxlIHsgZm9udC1zaXplOiAwLjg3NXJlbTsgY29sb3I6IHZhcigtLWNvbG9yLWZnLW11dGVkKTsgbWFyZ2luOiAwOyB9XG4uc2VjdGlvbi10aXRsZSB7IGZvbnQtc2l6ZTogMC43NXJlbTsgZm9udC13ZWlnaHQ6IDcwMDsgbGV0dGVyLXNwYWNpbmc6IDAuMWVtOyB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyBtYXJnaW46IDA7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFRBQlMgJiBQSUxMU1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnRhYi1zdHJpcCwgLmZpbHRlci1waWxscywgLmN1c3RvbS1jb21tYW5kLXRhYnMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDJweDtcbiAgcGFkZGluZzogMnB4O1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1ib3JkZXItMzApO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMpO1xuICBvdmVyZmxvdy14OiBhdXRvO1xufVxuLmZpbHRlci1waWxscyB7IGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLXNlY29uZGFyeSk7IGZsZXgtc2hyaW5rOiAwOyB9XG4uY3VzdG9tLWNvbW1hbmQtdGFicyB7IHBhZGRpbmc6IDAuMTI1cmVtOyBnYXA6IDAuMTI1cmVtOyBtYXJnaW4tbGVmdDogMC41cmVtOyB9XG5cbi50YWItaXRlbSwgLmZpbHRlci1waWxsLCAuY3VzdG9tLWNvbW1hbmQtdGFiIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogdmFyKC0tc3AtMik7XG4gIHBhZGRpbmc6IHZhcigtLXNwLTIpIHZhcigtLXNwLTMpO1xuICBmb250LXNpemU6IDAuNzVyZW07XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGxldHRlci1zcGFjaW5nOiAwLjAyNWVtO1xuICBib3JkZXItcmFkaXVzOiBjYWxjKHZhcigtLXJhZGl1cykgLSAycHgpO1xuICBjb2xvcjogdmFyKC0tY29sb3ItZmctbXV0ZWQpO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KSwgY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KTtcbiAgYm9yZGVyOiBub25lO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuLmZpbHRlci1waWxsIHsgZm9udC13ZWlnaHQ6IDUwMDsgfVxuLnRhYi1pdGVtOmhvdmVyLCAuZmlsdGVyLXBpbGw6aG92ZXIsIC5jdXN0b20tY29tbWFuZC10YWI6bm90KC5hY3RpdmUpOmhvdmVyIHsgY29sb3I6IHZhcigtLWNvbG9yLWZnKTsgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctNTApOyB9XG4udGFiLWl0ZW0uYWN0aXZlLCAuZmlsdGVyLXBpbGwuYWN0aXZlLCAuY3VzdG9tLWNvbW1hbmQtdGFiLmFjdGl2ZSB7IGNvbG9yOiB2YXIoLS1jb2xvci1mZyk7IGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnKTsgYm94LXNoYWRvdzogdmFyKC0tc2hhZG93LXNtKTsgfVxuLmZpbHRlci1waWxsLmFjdGl2ZS5iZy1zdWNjZXNzIHsgYmFja2dyb3VuZDogdmFyKC0tY29sb3Itc3VjY2Vzcyk7IGNvbG9yOiB3aGl0ZTsgfVxuLmZpbHRlci1waWxsLmFjdGl2ZS5iZy13YXJuaW5nIHsgYmFja2dyb3VuZDogdmFyKC0tY29sb3Itd2FybmluZyk7IGNvbG9yOiB3aGl0ZTsgfVxuLmZpbHRlci1waWxsLmFjdGl2ZS5iZy1lcnJvciB7IGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWVycm9yKTsgY29sb3I6IHdoaXRlOyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBCQURHRVNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qIE1vZGVybiBiYWRnZSBzeXN0ZW0gKEJFTSBuYW1pbmcpICovXG4uYmFkZ2Uge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiAwLjI1cmVtO1xuICBwYWRkaW5nOiAwLjEyNXJlbSAwLjVyZW07XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLWZ1bGwpO1xufVxuLmJhZGdlLXByaW1hcnkgeyBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1wcmltYXJ5LTIwKTsgY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpOyB9XG4uYmFkZ2Utc3VjY2VzcyB7IGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXN1Y2Nlc3MtMjApOyBjb2xvcjogdmFyKC0tY29sb3Itc3VjY2Vzcyk7IH1cbi5iYWRnZS13YXJuaW5nIHsgYmFja2dyb3VuZDogdmFyKC0tY29sb3Itd2FybmluZy0yMCk7IGNvbG9yOiB2YXIoLS1jb2xvci13YXJuaW5nKTsgfVxuLmJhZGdlLWVycm9yIHsgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItZXJyb3ItMjApOyBjb2xvcjogdmFyKC0tY29sb3ItZXJyb3IpOyB9XG4uYmFkZ2UtbXV0ZWQgeyBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy1zZWNvbmRhcnkpOyBjb2xvcjogdmFyKC0tY29sb3ItZmctbXV0ZWQpOyB9XG4uYmFkZ2Utc20geyBwYWRkaW5nOiAwLjEyNXJlbSAwLjM3NXJlbTsgZm9udC1zaXplOiAwLjYyNXJlbTsgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXNtKTsgfVxuXG4vKiBCYWRnZSB1dGlsaXRpZXMgKi9cbi5iYWRnZS1vdmVyZHVlIHsgbWFyZ2luLWxlZnQ6IDAuNXJlbTsgZm9udC1zaXplOiAwLjYyNXJlbTsgY29sb3I6IHZhcigtLWNvbG9yLWVycm9yKTsgZm9udC13ZWlnaHQ6IDYwMDsgfVxuLmJhZGdlLW92ZXJkdWUtaW5saW5lIHsgZGlzcGxheTogaW5saW5lLWZsZXg7IG1hcmdpbi1sZWZ0OiAwLjVyZW07IGZvbnQtc2l6ZTogMC42MjVyZW07IGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWVycm9yLTIwKTsgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXNtKTsgY29sb3I6IHZhcigtLWNvbG9yLWVycm9yKTsgcGFkZGluZzogMC4xMjVyZW0gMC41cmVtOyB9XG4udGFnLW92ZXJmbG93IHsgZm9udC1zaXplOiAwLjYyNXJlbTsgY29sb3I6IHZhcigtLWNvbG9yLWZnLW11dGVkKTsgb3BhY2l0eTogMC41OyB9XG4udGFnLXJlbW92ZSB7IGJhY2tncm91bmQ6IG5vbmU7IGJvcmRlcjogbm9uZTsgcGFkZGluZzogMDsgY3Vyc29yOiBwb2ludGVyOyBjb2xvcjogaW5oZXJpdDsgb3BhY2l0eTogMC43OyB0cmFuc2l0aW9uOiBvcGFjaXR5IHZhcigtLXRyYW5zaXRpb24tZmFzdCk7IH1cbi50YWctcmVtb3ZlOmhvdmVyIHsgb3BhY2l0eTogMTsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQlVUVE9OU1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmljb24tYnV0dG9uIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBwYWRkaW5nOiB2YXIoLS1zcC0yKTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzKTtcbiAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItcHJpbWFyeS0xMCk7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBib3JkZXI6IG5vbmU7XG4gIHRyYW5zaXRpb246IGFsbCB2YXIoLS10cmFuc2l0aW9uLWZhc3QpO1xufVxuLmljb24tYnV0dG9uOmhvdmVyIHsgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItcHJpbWFyeSk7IGNvbG9yOiB3aGl0ZTsgfVxuLmljb24tYnV0dG9uLm11dGVkIHsgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctdGVydGlhcnktNTApOyBjb2xvcjogdmFyKC0tY29sb3ItZmctbXV0ZWQpOyB9XG4uaWNvbi1idXR0b24ubXV0ZWQ6aG92ZXIgeyBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy10ZXJ0aWFyeS04MCk7IGNvbG9yOiB2YXIoLS1jb2xvci1mZyk7IH1cbi5pY29uLWJ1dHRvbi5naG9zdCB7IGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyBjb2xvcjogdmFyKC0tY29sb3ItZmctbXV0ZWQpOyB9XG4uaWNvbi1idXR0b24uZ2hvc3Q6aG92ZXIgeyBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy10ZXJ0aWFyeSk7IGNvbG9yOiB2YXIoLS1jb2xvci1mZyk7IH1cbi5pY29uLWJ1dHRvbi1kYW5nZXI6aG92ZXIgeyBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1lcnJvci0yMCk7IGNvbG9yOiB2YXIoLS1jb2xvci1lcnJvcik7IH1cblxuLmZvcm0tYnV0dG9uLXByaW1hcnksIC51cGxvYWQtYnV0dG9uIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBnYXA6IDAuNXJlbTtcbiAgcGFkZGluZzogMC4zNzVyZW0gMC43NXJlbTtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgYm9yZGVyOiBub25lO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMpO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KTtcbn1cbi51cGxvYWQtYnV0dG9uIHsgd2lkdGg6IDEwMCU7IHBhZGRpbmc6IDAuNzVyZW0gMXJlbTsgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLWxnKTsgfVxuLmZvcm0tYnV0dG9uLXByaW1hcnk6aG92ZXIsIC51cGxvYWQtYnV0dG9uOmhvdmVyIHsgb3BhY2l0eTogMC45OyB9XG5cbi5mb3JtLWJ1dHRvbi1zZWNvbmRhcnkge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiAwLjVyZW07XG4gIHBhZGRpbmc6IDAuMzc1cmVtIDAuNzVyZW07XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogdmFyKC0tY29sb3ItZmctbXV0ZWQpO1xuICBib3JkZXI6IG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cyk7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpO1xufVxuLmZvcm0tYnV0dG9uLXNlY29uZGFyeTpob3ZlciB7IGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLXNlY29uZGFyeSk7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEZPUk0gQ09NUE9ORU5UU1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmZvcm0tZmllbGQtZ3JvdXAgeyBwYWRkaW5nOiAwLjc1cmVtOyBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy1zZWNvbmRhcnktNTApOyBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbGcpOyBkaXNwbGF5OiBmbGV4OyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyBnYXA6IDAuNzVyZW07IH1cblxuLmZvcm0taW5wdXQsIC5mb3JtLXNlbGVjdCwgLmZvcm0tdGV4dGFyZWEge1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogMC41cmVtIDAuNzVyZW07XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLXNlY29uZGFyeSk7XG4gIGJvcmRlcjogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzKTtcbiAgY29sb3I6IHZhcigtLWNvbG9yLWZnKTtcbn1cbi5mb3JtLWlucHV0LCAuZm9ybS10ZXh0YXJlYSB7IG1hcmdpbi10b3A6IDAuMjVyZW07IH1cbi5mb3JtLXRleHRhcmVhIHsgcmVzaXplOiBub25lOyB9XG4uZm9ybS1zZWxlY3QgeyBjdXJzb3I6IHBvaW50ZXI7IH1cbi5mb3JtLWlucHV0OmZvY3VzLCAuZm9ybS1zZWxlY3Q6Zm9jdXMsIC5mb3JtLXRleHRhcmVhOmZvY3VzIHsgb3V0bGluZTogbm9uZTsgYm94LXNoYWRvdzogMCAwIDAgMnB4IHZhcigtLWNvbG9yLXByaW1hcnkpOyB9XG5cbi5mb3JtLWNoZWNrYm94LCAuZm9ybS1yYWRpbyB7IHdpZHRoOiAxcmVtOyBoZWlnaHQ6IDFyZW07IGFjY2VudC1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7IH1cbi5mb3JtLWNoZWNrYm94IHsgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXNtKTsgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyKTsgfVxuLmNoZWNrYm94LWxhYmVsLCAucmFkaW8tbGFiZWwgeyBkaXNwbGF5OiBpbmxpbmUtZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsgZ2FwOiAwLjVyZW07IGN1cnNvcjogcG9pbnRlcjsgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuLmNoZWNrYm94LWxhYmVsIHsgZGlzcGxheTogZmxleDsgcGFkZGluZzogMC43NXJlbTsgfVxuXG4vKiBSYWRpbyBidXR0b25zICovXG4ucmFkaW8ge1xuICBhcHBlYXJhbmNlOiBub25lO1xuICB3aWR0aDogMS4yNXJlbTtcbiAgaGVpZ2h0OiAxLjI1cmVtO1xuICBib3JkZXI6IDJweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXIpO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdHJhbnNpdGlvbjogYWxsIHZhcigtLXRyYW5zaXRpb24tZmFzdCk7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbi5yYWRpbzpjaGVja2VkIHsgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTsgfVxuLnJhZGlvOmNoZWNrZWQ6OmFmdGVyIHtcbiAgY29udGVudDogJyc7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gIHdpZHRoOiAwLjVyZW07XG4gIGhlaWdodDogMC41cmVtO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xufVxuLnJhZGlvOmZvY3VzIHsgb3V0bGluZTogbm9uZTsgYm94LXNoYWRvdzogMCAwIDAgMnB4IHdoaXRlLCAwIDAgMCA0cHggdmFyKC0tY29sb3ItcHJpbWFyeSk7IH1cbi5yYWRpby1wcmltYXJ5OmNoZWNrZWQgeyBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpOyB9XG4ucmFkaW8tcHJpbWFyeTpjaGVja2VkOjphZnRlciB7IGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXByaW1hcnkpOyB9XG5cbi8qIENoZWNrYm94ZXMgKi9cbi5jaGVja2JveCB7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIHdpZHRoOiAxLjI1cmVtO1xuICBoZWlnaHQ6IDEuMjVyZW07XG4gIGJvcmRlcjogMnB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlcik7XG4gIGJvcmRlci1yYWRpdXM6IDAuMjVyZW07XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdHJhbnNpdGlvbjogYWxsIHZhcigtLXRyYW5zaXRpb24tZmFzdCk7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbi5jaGVja2JveDpjaGVja2VkIHsgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItcHJpbWFyeSk7IGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7IH1cbi5jaGVja2JveDpjaGVja2VkOjphZnRlciB7XG4gIGNvbnRlbnQ6ICcnO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNDUlO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpIHJvdGF0ZSg0NWRlZyk7XG4gIHdpZHRoOiAwLjNyZW07XG4gIGhlaWdodDogMC41NXJlbTtcbiAgYm9yZGVyOiBzb2xpZCB3aGl0ZTtcbiAgYm9yZGVyLXdpZHRoOiAwIDJweCAycHggMDtcbn1cbi5jaGVja2JveDpmb2N1cyB7IG91dGxpbmU6IG5vbmU7IGJveC1zaGFkb3c6IDAgMCAwIDJweCB3aGl0ZSwgMCAwIDAgNHB4IHZhcigtLWNvbG9yLXByaW1hcnkpOyB9XG4uY2hlY2tib3gtcHJpbWFyeTpjaGVja2VkIHsgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItcHJpbWFyeSk7IGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7IH1cblxuLmZvcm0td2FybmluZyB7IHBhZGRpbmc6IDAuNzVyZW07IGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXdhcm5pbmctMjApOyBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jb2xvci13YXJuaW5nLTMwKTsgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzKTsgY29sb3I6IHZhcigtLWNvbG9yLXdhcm5pbmcpOyBmb250LXNpemU6IDAuODc1cmVtOyB9XG4uZm9ybS1zZWN0aW9uIHsgcGFkZGluZzogdmFyKC0tc3AtNCk7IH1cbi5maWVsZC1sYWJlbCB7IGZvbnQtc2l6ZTogMC43NXJlbTsgZm9udC13ZWlnaHQ6IDYwMDsgbGV0dGVyLXNwYWNpbmc6IDAuMWVtOyBjb2xvcjogdmFyKC0tY29sb3ItZmctbXV0ZWQpOyB9XG4ucmVhZG9ubHktdmFsdWUgeyBwYWRkaW5nOiB2YXIoLS1zcC0yKSB2YXIoLS1zcC0zKTsgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctc2Vjb25kYXJ5KTsgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyKTsgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzKTsgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgVEFCTEVTXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uZGF0YS10YWJsZSB7IGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlcik7IGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1sZyk7IG92ZXJmbG93OiBoaWRkZW47IH1cbi5kYXRhLXRhYmxlLWhlYWRlciB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDEyLCAxZnIpO1xuICBnYXA6IHZhcigtLXNwLTIpO1xuICBwYWRkaW5nOiB2YXIoLS1zcC0yKSB2YXIoLS1zcC00KTtcbiAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctc2Vjb25kYXJ5KTtcbiAgZm9udC1zaXplOiAwLjYyNXJlbTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMDVlbTtcbiAgY29sb3I6IHZhcigtLWNvbG9yLWZnLW11dGVkKTtcbn1cbi5kYXRhLXRhYmxlLWhlYWRlci1jZWxsIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiB2YXIoLS1zcC0xKTtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogbm9uZTtcbiAgcGFkZGluZzogMDtcbiAgZm9udDogaW5oZXJpdDtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIHRleHQtdHJhbnNmb3JtOiBpbmhlcml0O1xuICBsZXR0ZXItc3BhY2luZzogaW5oZXJpdDtcbn1cbi5kYXRhLXRhYmxlLWhlYWRlci1jZWxsLnNvcnRhYmxlIHsgY3Vyc29yOiBwb2ludGVyOyB0cmFuc2l0aW9uOiBjb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpOyB9XG4uZGF0YS10YWJsZS1oZWFkZXItY2VsbC5zb3J0YWJsZTpob3ZlciwgLnNvcnQtY29sdW1uLWJ0bjpob3ZlciwgLnNvcnQtY29sdW1uLWJ0bi5hY3RpdmUgeyBjb2xvcjogdmFyKC0tY29sb3ItZmcpOyB9XG4uZGF0YS10YWJsZS1oZWFkZXItY2VsbC5hbGlnbi1yaWdodCB7IGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IH1cbi5kYXRhLXRhYmxlLWhlYWRlci1jZWxsLmFsaWduLWNlbnRlciB7IGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG5cbi5kYXRhLXRhYmxlLXJvdyB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDEyLCAxZnIpO1xuICBnYXA6IHZhcigtLXNwLTIpO1xuICBwYWRkaW5nOiB2YXIoLS1zcC0zKSB2YXIoLS1zcC00KTtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci01MCk7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KTtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cbi5kYXRhLXRhYmxlLXJvdzpob3ZlciB7IGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLXNlY29uZGFyeS01MCk7IH1cbi5kYXRhLXRhYmxlLWVtcHR5IHsgcGFkZGluZzogdmFyKC0tc3AtOCkgdmFyKC0tc3AtNCk7IHRleHQtYWxpZ246IGNlbnRlcjsgY29sb3I6IHZhcigtLWNvbG9yLWZnLW11dGVkKTsgfVxuLmRhdGEtdGFibGUtZm9vdGVyIHsgbWFyZ2luLXRvcDogdmFyKC0tc3AtNCk7IH1cblxuLmRhdGEtbGlzdCB7IGxpc3Qtc3R5bGU6IG5vbmU7IHBhZGRpbmc6IDA7IG1hcmdpbjogMDsgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyKTsgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLWxnKTsgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmcpOyB9XG4uZGF0YS1saXN0IGxpIHsgcGFkZGluZzogdmFyKC0tc3AtMykgdmFyKC0tc3AtNCk7IGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXIpOyB9XG4uZGF0YS1saXN0IGxpOmxhc3QtY2hpbGQgeyBib3JkZXItYm90dG9tOiBub25lOyB9XG4uZGF0YS1saXN0IGxpIHN0cm9uZyB7IGRpc3BsYXk6IGJsb2NrOyBmb250LXNpemU6IDAuODc1cmVtOyBmb250LXdlaWdodDogNjAwOyBjb2xvcjogdmFyKC0tY29sb3ItZmcpOyBtYXJnaW4tYm90dG9tOiAwLjEyNXJlbTsgfVxuLmRhdGEtbGlzdCBsaSBzcGFuIHsgZm9udC1zaXplOiAwLjg3NXJlbTsgY29sb3I6IHZhcigtLWNvbG9yLWZnLW11dGVkKTsgfVxuXG50YWJsZSB0ci5jbGlja2FibGUgeyBjdXJzb3I6IHBvaW50ZXI7IH1cbnRhYmxlIHRyLmNsaWNrYWJsZTpob3ZlciB7IGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLXNlY29uZGFyeSk7IH1cbnRhYmxlIC5hY3Rpb25zLWNlbGwgeyB3aWR0aDogMDsgdGV4dC1hbGlnbjogcmlnaHQ7IGZvbnQtd2VpZ2h0OiA2MDA7IH1cblxuLnNvcnQtY29sdW1uLWJ0biB7IGRpc3BsYXk6IGlubGluZS1mbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBnYXA6IDAuMjVyZW07IGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyBib3JkZXI6IG5vbmU7IHBhZGRpbmc6IDA7IGZvbnQ6IGluaGVyaXQ7IGNvbG9yOiBpbmhlcml0OyBjdXJzb3I6IHBvaW50ZXI7IHRyYW5zaXRpb246IGNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCk7IH1cbi5jbGlja2FibGUtcm93IHsgY3Vyc29yOiBwb2ludGVyOyB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCk7IH1cbi5jbGlja2FibGUtcm93OmhvdmVyIHsgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYm9yZGVyLTMwKTsgfVxuLmNsaWNrYWJsZS1yb3cuc2VsZWN0ZWQgeyBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1ib3JkZXItNDApOyB9XG4ucm93LW92ZXJkdWUgeyBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1lcnJvci01KTsgfVxuLnJvdy1mb3JtZXIgeyBvcGFjaXR5OiAwLjY7IH1cbi5yb3ctZm9ybWVyOmhvdmVyIHsgb3BhY2l0eTogMC44OyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDQVJEU1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnN0YXQtY2FyZCB7IGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1sZyk7IGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnKTsgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyKTsgYm94LXNoYWRvdzogdmFyKC0tc2hhZG93LXNtKTsgfVxuLnN0YXQtY2FyZC1oZWFkZXIgeyBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IG1hcmdpbi1ib3R0b206IHZhcigtLXNwLTIpOyB9XG4uc3RhdC1jYXJkLWxhYmVsIHsgZm9udC1zaXplOiAwLjY4NzVyZW07IGZvbnQtd2VpZ2h0OiA2MDA7IGxldHRlci1zcGFjaW5nOiAwLjAyNWVtOyBjb2xvcjogdmFyKC0tY29sb3ItZmctbXV0ZWQpOyB9XG4uc3RhdC1jYXJkLXZhbHVlIHsgZm9udC1zaXplOiAxLjVyZW07IGZvbnQtd2VpZ2h0OiA3MDA7IGNvbG9yOiB2YXIoLS1jb2xvci1mZyk7IH1cbi5zdGF0LWNhcmQtdmFsdWUuc3VjY2VzcyB7IGNvbG9yOiB2YXIoLS1jb2xvci1zdWNjZXNzKTsgfVxuLnN0YXQtY2FyZC12YWx1ZS5lcnJvciB7IGNvbG9yOiB2YXIoLS1jb2xvci1lcnJvcik7IH1cbi5zdGF0LWNhcmQtdmFsdWUucHJpbWFyeSB7IGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTsgfVxuLnN0YXQtY2FyZC1zdWJ0aXRsZSB7IGZvbnQtc2l6ZTogMC43NXJlbTsgY29sb3I6IHZhcigtLWNvbG9yLWZnLW11dGVkKTsgbWFyZ2luLXRvcDogdmFyKC0tc3AtMSk7IH1cbi5zdGF0LWNhcmQtZmVhdHVyZWQge1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbGcpO1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsIGNvbG9yLW1peChpbiBva2xjaCwgdmFyKC0tY29sb3ItcHJpbWFyeSkgMTAlLCB2YXIoLS1jb2xvci1iZykpLCB2YXIoLS1jb2xvci1wcmltYXJ5LTUpKTtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sb3ItcHJpbWFyeS0yMCk7XG59XG4ubWV0cmljcy1ncmlkIHsgZGlzcGxheTogZ3JpZDsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7IGdhcDogdmFyKC0tc3AtNCk7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEFMRVJUUyAmIEZMQVNIXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uYWxlcnQtZXJyb3IsIC5hbGVydC13YXJuaW5nIHsgbWFyZ2luLWJvdHRvbTogMXJlbTsgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzKTsgcGFkZGluZzogMC43NXJlbSAxcmVtOyB9XG4uYWxlcnQtZXJyb3IgeyBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1lcnJvci0zMCk7IGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWVycm9yLTEwKTsgfVxuLmFsZXJ0LXdhcm5pbmcgeyBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jb2xvci13YXJuaW5nLTMwKTsgYmFja2dyb3VuZDogdmFyKC0tY29sb3Itd2FybmluZy0xMCk7IH1cbi5hbGVydC1saW5rIHsgbWFyZ2luLXRvcDogMC4yNXJlbTsgZGlzcGxheTogaW5saW5lLWZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGdhcDogMC4yNXJlbTsgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IHRleHQtdW5kZXJsaW5lLW9mZnNldDogMnB4OyB9XG4uZXJyb3ItbWVzc2FnZSB7IHBhZGRpbmc6IDFyZW07IGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWVycm9yLTEwKTsgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sb3ItZXJyb3ItMjApOyBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMpOyBjb2xvcjogdmFyKC0tY29sb3ItZXJyb3IpOyB9XG4uZXJyb3ItY2FyZC13cmFwcGVyIHsgcGFkZGluZzogMCB2YXIoLS1zcC00KTsgfVxuLmVycm9yLWNhcmQgeyBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItMzApOyBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy10ZXJ0aWFyeS0xMCk7IHBhZGRpbmc6IHZhcigtLXNwLTgpOyBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcC02KTsgfVxuLmVycm9yLWNhcmQgaDIgeyBmb250LXNpemU6IDEuMjVyZW07IGZvbnQtd2VpZ2h0OiA3MDA7IGNvbG9yOiB2YXIoLS1jb2xvci1mZyk7IG1hcmdpbjogMCAwIHZhcigtLXNwLTIpOyB9XG4uZXJyb3ItY2FyZCAuZXJyb3ItbGluayB7IGRpc3BsYXk6IGJsb2NrOyBjb2xvcjogdmFyKC0tY29sb3ItZmcpOyB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgdGV4dC1kZWNvcmF0aW9uLXN0eWxlOiBkb3R0ZWQ7IHRleHQtZGVjb3JhdGlvbi10aGlja25lc3M6IDFweDsgdGV4dC11bmRlcmxpbmUtb2Zmc2V0OiAycHg7IG1hcmdpbi1ib3R0b206IHZhcigtLXNwLTQpOyB3b3JkLWJyZWFrOiBicmVhay1hbGw7IHRyYW5zaXRpb246IGNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCk7IH1cbi5lcnJvci1jYXJkIC5lcnJvci1saW5rOmhvdmVyIHsgY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpOyB9XG4uZXJyb3ItY2FyZCAuZXJyb3ItbGluayBzbWFsbCB7IGRpc3BsYXk6IGJsb2NrOyBmb250LXNpemU6IDAuNzVyZW07IGNvbG9yOiB2YXIoLS1jb2xvci1mZy1tdXRlZCk7IG1hcmdpbi10b3A6IDAuMjVyZW07IH1cbi5lcnJvci1jYXJkIC5lcnJvci1tZXNzYWdlIHsgY29sb3I6IHZhcigtLWNvbG9yLWZnLW11dGVkKTsgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3AtNCk7IH1cbi5lcnJvci1jYXJkIC5lcnJvci1sb2NhdGlvbiB7IGRpc3BsYXk6IGJsb2NrOyBmb250LXNpemU6IDAuNzVyZW07IGNvbG9yOiB2YXIoLS1jb2xvci1mZy1tdXRlZCk7IG1hcmdpbi1ib3R0b206IHZhcigtLXNwLTQpOyB9XG4uZXJyb3ItY2FyZCAuc2V0dGluZ3MtbGluayB7IGNvbG9yOiB2YXIoLS1jb2xvci1mZyk7IHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4uZmxhc2gtZ3JvdXAgeyBwb3NpdGlvbjogZml4ZWQ7IHJpZ2h0OiB2YXIoLS1zcC00KTsgdG9wOiB2YXIoLS1zcC00KTsgei1pbmRleDogNTA7IGRpc3BsYXk6IGZsZXg7IHdpZHRoOiAyMnJlbTsgbWF4LXdpZHRoOiA5MHZ3OyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyBnYXA6IHZhcigtLXNwLTMpOyB9XG4uZW1wdHktc3RhdGUgeyBwYWRkaW5nOiB2YXIoLS1zcC02KTsgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4uZW1wdHktc3RhdGUtaWNvbiB7IG9wYWNpdHk6IDAuMzsgbWFyZ2luLWJvdHRvbTogMC43NXJlbTsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgVEhFTUUgVE9HR0xFXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udGhlbWUtdG9nZ2xlIHsgcG9zaXRpb246IHJlbGF0aXZlOyBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtZnVsbCk7IGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlcik7IGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLXNlY29uZGFyeSk7IHBhZGRpbmc6IDAuMjVyZW07IGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdy1zbSk7IH1cbi50aGVtZS10b2dnbGUtaW5kaWNhdG9yIHsgcG9zaXRpb246IGFic29sdXRlOyBpbnNldDogMC4yNXJlbSAwOyB3aWR0aDogY2FsYygxMDAlIC8gMyAtIDAuMTI1cmVtKTsgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLWZ1bGwpOyBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXIpOyBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZyk7IGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdy1zbSk7IGxlZnQ6IDA7IHRyYW5zaXRpb246IGxlZnQgdmFyKC0tdHJhbnNpdGlvbik7IH1cbltkYXRhLXRoZW1lPVwibGlnaHRcIl0gLnRoZW1lLXRvZ2dsZS1pbmRpY2F0b3IgeyBsZWZ0OiBjYWxjKDEwMCUgLyAzKTsgfVxuW2RhdGEtdGhlbWU9XCJkYXJrXCJdIC50aGVtZS10b2dnbGUtaW5kaWNhdG9yIHsgbGVmdDogY2FsYygxMDAlICogMiAvIDMpOyB9XG4udGhlbWUtdG9nZ2xlLWJ0biB7IGRpc3BsYXk6IGZsZXg7IHdpZHRoOiBjYWxjKDEwMCUgLyAzKTsgYWxpZ24taXRlbXM6IGNlbnRlcjsganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IHBhZGRpbmc6IHZhcigtLXNwLTIpOyBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgYm9yZGVyOiBub25lOyBjdXJzb3I6IHBvaW50ZXI7IGNvbG9yOiB2YXIoLS1jb2xvci1mZy1tdXRlZCk7IHRyYW5zaXRpb246IGNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCk7IHBvc2l0aW9uOiByZWxhdGl2ZTsgei1pbmRleDogMTsgfVxuLnRoZW1lLXRvZ2dsZS1idG46aG92ZXIgeyBjb2xvcjogdmFyKC0tY29sb3ItZmcpOyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBMT0dJTlxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmxvZ2luLWNvbnRhaW5lciB7IG1pbi1oZWlnaHQ6IDEwMHZoOyBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgcGFkZGluZzogdmFyKC0tc3AtNCk7IGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnKTsgfVxuLmxvZ2luLWNhcmQtd3JhcHBlciB7IHdpZHRoOiAxMDAlOyBtYXgtd2lkdGg6IDI4cmVtOyB9XG4ubG9naW4tY2FyZCB7IHBhZGRpbmc6IHZhcigtLXNwLTgpOyB9XG4ubG9naW4taGVhZGVyIHsgdGV4dC1hbGlnbjogY2VudGVyOyBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcC04KTsgfVxuLmxvZ2luLWxvZ28geyBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgd2lkdGg6IDRyZW07IGhlaWdodDogNHJlbTsgbWFyZ2luOiAwIGF1dG8gdmFyKC0tc3AtNCk7IGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1mdWxsKTsgYm9yZGVyOiAycHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyKTsgfVxuLmxvZ2luLWZvb3RlciB7IG1hcmdpbi10b3A6IHZhcigtLXNwLTYpOyB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiIsICIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgUEFHRS1TUEVDSUZJQyBTVFlMRVNcbiAgIFN0eWxlcyBmb3Igc3BlY2lmaWMgcGFnZXMgYW5kIGZlYXR1cmVzLlxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEZJTFRFUlNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5maWx0ZXItYmFyLCAuYWR2YW5jZWQtZmlsdGVycyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiB2YXIoLS1zcC0zKTtcbiAgcGFkZGluZzogdmFyKC0tc3AtMykgdmFyKC0tc3AtNCk7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXIpO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZyk7XG59XG4uYWR2YW5jZWQtZmlsdGVycyB7IHBhZGRpbmc6IDAuNXJlbSAxcmVtOyBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy01MCk7IGdhcDogMC43NXJlbTsgfVxuLmFkdmFuY2VkLWZpbHRlcnMgLmZpbHRlci1sYWJlbCB7IGRpc3BsYXk6IGlubGluZTsgbWFyZ2luLWJvdHRvbTogMDsgfVxuLmFkdmFuY2VkLWZpbHRlcnMgLmhzdGFjayB7IGZsZXgtd3JhcDogbm93cmFwOyB9XG4uZmlsdGVyLWJhci1zZWFyY2ggeyB3aWR0aDogMTAwJTsgb3JkZXI6IDE7IH1cbi5maWx0ZXItYmFyLWZpbHRlcnMgeyBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBnYXA6IHZhcigtLXNwLTMpOyBvdmVyZmxvdy14OiBhdXRvOyBvcmRlcjogMjsgfVxuLmZpbHRlci1iYXItYWN0aW9ucyB7IG1hcmdpbi1sZWZ0OiBhdXRvOyBvcmRlcjogMzsgfVxuXG4uZmlsdGVyLXNlbGVjdCwgLmdyb3VwaW5nLXNlbGVjdCwgLmRhdGUtaW5wdXQge1xuICBwYWRkaW5nOiB2YXIoLS1zcC0yKSB2YXIoLS1zcC0zKTtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctc2Vjb25kYXJ5KTtcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cyk7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci1mZyk7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCksIGJveC1zaGFkb3cgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KTtcbn1cbi5maWx0ZXItc2VsZWN0OmZvY3VzLCAuZ3JvdXBpbmctc2VsZWN0OmZvY3VzLCAuZGF0ZS1pbnB1dDpmb2N1cyB7XG4gIG91dGxpbmU6IG5vbmU7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDJweCB2YXIoLS1jb2xvci1wcmltYXJ5LTIwKTtcbn1cbi5maWx0ZXItc2VsZWN0OmhvdmVyIHsgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctdGVydGlhcnkpOyB9XG4uZ3JvdXBpbmctc2VsZWN0IHsgYm9yZGVyOiBub25lOyBwYWRkaW5nOiAwLjM3NXJlbSAwLjVyZW07IGZvbnQtc2l6ZTogMC43NXJlbTsgZm9udC13ZWlnaHQ6IDUwMDsgfVxuLmRhdGUtaW5wdXQgeyBwYWRkaW5nOiAwLjI1cmVtIDAuNXJlbTsgZm9udC1zaXplOiAwLjc1cmVtOyBib3JkZXI6IG5vbmU7IH1cblxuLmNsZWFyLWZpbHRlcnMtYnRuLCAuZmlsdGVyLWNsZWFyLWxpbmsge1xuICBmb250LXNpemU6IDAuNzVyZW07XG4gIGNvbG9yOiB2YXIoLS1jb2xvci1mZy1tdXRlZCk7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IG5vbmU7XG4gIHBhZGRpbmc6IHZhcigtLXNwLTEpIHZhcigtLXNwLTIpO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRyYW5zaXRpb246IGNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCk7XG59XG4uZmlsdGVyLWNsZWFyLWxpbmsgeyB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgdGV4dC11bmRlcmxpbmUtb2Zmc2V0OiAycHg7IH1cbi5jbGVhci1maWx0ZXJzLWJ0bjpob3ZlciwgLmZpbHRlci1jbGVhci1saW5rOmhvdmVyIHsgY29sb3I6IHZhcigtLWNvbG9yLWZnKTsgfVxuXG4uZmlsdGVyLWNvdW50LWJhZGdlIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBtaW4td2lkdGg6IDEuMjVyZW07XG4gIGhlaWdodDogMS4yNXJlbTtcbiAgcGFkZGluZzogMCAwLjM3NXJlbTtcbiAgZm9udC1zaXplOiAwLjYyNXJlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLWZ1bGwpO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbiAgY29sb3I6IHdoaXRlO1xufVxuXG4uZmlsdGVyLW1lbnUtY2FyZCB7XG4gIG1hcmdpbi1ib3R0b206IHZhcigtLXNwLTQpO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbGcpO1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXIpO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy04MCk7XG4gIHBhZGRpbmc6IHZhcigtLXNwLTQpO1xuICBib3gtc2hhZG93OiB2YXIoLS1zaGFkb3ctc20pO1xufVxuLmZpbHRlci1tZW51LWdyaWQgeyBkaXNwbGF5OiBncmlkOyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjsgZ2FwOiB2YXIoLS1zcC0zKTsgfVxuLmZpbHRlci1tZW51LWxhYmVsLCAuZmlsdGVyLWxhYmVsIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi1ib3R0b206IDAuMjVyZW07XG4gIHBhZGRpbmctbGVmdDogMC4xMjVyZW07XG4gIGZvbnQtc2l6ZTogMC42MjVyZW07XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGxldHRlci1zcGFjaW5nOiAwLjFlbTtcbiAgY29sb3I6IHZhcigtLWNvbG9yLWZnLW11dGVkKTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbn1cbi5maWx0ZXItbWVudS1jYXJkIGlucHV0LCAuZmlsdGVyLW1lbnUtY2FyZCBzZWxlY3Qge1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogdmFyKC0tc3AtMikgdmFyKC0tc3AtMyk7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmcpO1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXIpO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMpO1xuICBjb2xvcjogdmFyKC0tY29sb3ItZmcpO1xufVxuLmZpbHRlci1tZW51LWNhcmQgaW5wdXQ6Zm9jdXMsIC5maWx0ZXItbWVudS1jYXJkIHNlbGVjdDpmb2N1cyB7XG4gIG91dGxpbmU6IG5vbmU7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDJweCB2YXIoLS1jb2xvci1wcmltYXJ5LTIwKTtcbn1cbi5maWx0ZXItbWVudS1mb290ZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIG1hcmdpbi10b3A6IHZhcigtLXNwLTMpO1xuICBwYWRkaW5nLXRvcDogdmFyKC0tc3AtMyk7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXIpO1xufVxuLmZpbHRlci1zdW1tYXJ5LXRleHQsIC5maWx0ZXItc3VtbWFyeSB7IGZvbnQtc2l6ZTogMC43NXJlbTsgY29sb3I6IHZhcigtLWNvbG9yLWZnLW11dGVkKTsgbWFyZ2luLWxlZnQ6IGF1dG87IH1cblxuLyogU2VhcmNoIElucHV0ICovXG4uc2VhcmNoLWlucHV0LXdyYXBwZXIgeyBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbi5zZWFyY2gtaW5wdXQtaWNvbiB7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgbGVmdDogdmFyKC0tc3AtMyk7IHRvcDogNTAlOyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7IGNvbG9yOiB2YXIoLS1jb2xvci1mZy1tdXRlZCk7IHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG4uc2VhcmNoLWlucHV0IHtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IHZhcigtLXNwLTIpIHZhcigtLXNwLTMpIHZhcigtLXNwLTIpIDIuMjVyZW07XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLXNlY29uZGFyeSk7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMpO1xufVxuLnNlYXJjaC1pbnB1dDpmb2N1cyB7IG91dGxpbmU6IG5vbmU7IGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7IGJveC1zaGFkb3c6IDAgMCAwIDJweCB2YXIoLS1jb2xvci1wcmltYXJ5LTIwKTsgfVxuLnNlYXJjaC1pbnB1dDo6cGxhY2Vob2xkZXIgeyBjb2xvcjogdmFyKC0tY29sb3ItZmctbXV0ZWQpOyB9XG5cbi8qIFNlbGVjdG9ycyAqL1xuLnJvbGUtc2VsZWN0b3IsIC5wcm9qZWN0LXN3aXRjaGVyLCAuZ3JvdXBpbmctc2VsZWN0b3IsIC5sYW5ndWFnZS1zZWxlY3RvciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogdmFyKC0tc3AtMik7XG4gIHBhZGRpbmc6IHZhcigtLXNwLTIpIHZhcigtLXNwLTMpO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1ib3JkZXItMzApO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMpO1xufVxuLmdyb3VwaW5nLXNlbGVjdG9yIHsgZ2FwOiAwLjI1cmVtOyBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy1zZWNvbmRhcnkpOyBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbGcpOyBwYWRkaW5nOiAwLjI1cmVtOyB9XG4ubGFuZ3VhZ2Utc2VsZWN0b3IgeyBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy1zZWNvbmRhcnkpOyBwYWRkaW5nOiAwLjM3NXJlbSB2YXIoLS1zcC0zKTsgfVxuLnJvbGUtc2VsZWN0b3Igc2VsZWN0LCAubGFuZ3VhZ2Utc2VsZWN0b3Igc2VsZWN0IHsgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IGJvcmRlcjogbm9uZTsgZm9udC1zaXplOiAwLjg3NXJlbTsgZm9udC13ZWlnaHQ6IDUwMDsgY29sb3I6IHZhcigtLWNvbG9yLWZnKTsgb3V0bGluZTogbm9uZTsgfVxuLnJvbGUtc2VsZWN0b3Igc2VsZWN0IHsgY3Vyc29yOiBkZWZhdWx0OyB9XG4ubGFuZ3VhZ2Utc2VsZWN0b3Igc2VsZWN0IHsgY3Vyc29yOiBwb2ludGVyOyB9XG4ucHJvamVjdC1zd2l0Y2hlciB7IHRleHQtZGVjb3JhdGlvbjogbm9uZTsgY29sb3I6IHZhcigtLWNvbG9yLWZnKTsgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpOyB9XG4ucHJvamVjdC1zd2l0Y2hlcjpob3ZlciB7IGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJvcmRlcik7IH1cbi5wcm9qZWN0LXN3aXRjaGVyIHNwYW4geyBmb250LXNpemU6IDAuODc1cmVtOyBmb250LXdlaWdodDogNTAwOyB9XG4uZ3JvdXBpbmctbGFiZWwgeyBwYWRkaW5nOiAwIDAuNXJlbTsgZm9udC1zaXplOiAwLjc1cmVtOyBjb2xvcjogdmFyKC0tY29sb3ItZmctbXV0ZWQpOyB9XG4ubGFuZ3VhZ2Utc2VsZWN0b3ItaWNvbiB7IGNvbG9yOiB2YXIoLS1jb2xvci1mZy1tdXRlZCk7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIERFVEFJTCBQQUdFU1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmRldGFpbC1sYXlvdXQgeyBmbGV4OiAxOyBkaXNwbGF5OiBmbGV4OyBvdmVyZmxvdzogaGlkZGVuOyB9XG4uZGV0YWlsLXNpZGViYXIgeyB3aWR0aDogdmFyKC0tZGV0YWlsLXNpZGViYXIpOyBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXIpOyBwYWRkaW5nOiAxLjVyZW07IG92ZXJmbG93LXk6IGF1dG87IGZsZXgtc2hyaW5rOiAwOyB9XG4uZGV0YWlsLXNpZGViYXItd2lkZSB7IHdpZHRoOiBhdXRvOyBmbGV4OiAxOyBtYXgtd2lkdGg6IHZhcigtLWRldGFpbC1zaWRlYmFyLXdpZGUpOyB9XG4uZGV0YWlsLXByZXZpZXcgeyBmbGV4OiAxOyBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy1zZWNvbmRhcnkpOyBwYWRkaW5nOiAxLjVyZW07IG92ZXJmbG93LXk6IGF1dG87IH1cbi5kZXRhaWwtY29udGFpbmVyIHsgbWF4LXdpZHRoOiB2YXIoLS1jb250YWluZXIteGwpOyBtYXJnaW46IDAgYXV0bzsgfVxuLmRldGFpbC1zZWN0aW9uIHsgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3AtNik7IGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdyk7IH1cbi5kZXRhaWwtc2VjdGlvbi1oZWFkZXIgeyBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IG1hcmdpbi1ib3R0b206IHZhcigtLXNwLTQpOyB9XG4uZGV0YWlsLXNlY3Rpb24tdGl0bGUgeyBmb250LXNpemU6IDAuODc1cmVtOyBmb250LXdlaWdodDogNjAwOyB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyBsZXR0ZXItc3BhY2luZzogMC4xZW07IGNvbG9yOiB2YXIoLS1jb2xvci1mZy1tdXRlZCk7IG1hcmdpbjogMDsgfVxuLmRldGFpbC1maWVsZCB7IG1hcmdpbi1ib3R0b206IHZhcigtLXNwLTMpOyBkaXNwbGF5OiBmbGV4OyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyBnYXA6IHZhcigtLXNwLTEpOyB9XG4uZGV0YWlsLWZpZWxkLWxhYmVsIHsgZm9udC1zaXplOiAwLjYyNXJlbTsgZm9udC13ZWlnaHQ6IDYwMDsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgbGV0dGVyLXNwYWNpbmc6IDAuMWVtOyBjb2xvcjogdmFyKC0tY29sb3ItZmctbXV0ZWQpOyBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcC0xKTsgfVxuLmRldGFpbC1maWVsZC12YWx1ZSB7IGZvbnQtc2l6ZTogMC44NzVyZW07IGNvbG9yOiB2YXIoLS1jb2xvci1mZyk7IH1cbi5kZXRhaWwtZmllbGQgZHQgeyBmb250LXNpemU6IDAuNzVyZW07IHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IGxldHRlci1zcGFjaW5nOiAwLjA1ZW07IGNvbG9yOiB2YXIoLS1jb2xvci1mZy1tdXRlZCk7IH1cbi5kZXRhaWwtZmllbGQgZGQgeyBmb250LXNpemU6IDAuODc1cmVtOyBjb2xvcjogdmFyKC0tY29sb3ItZmcpOyBtYXJnaW46IDA7IH1cbi5kZXRhaWwtZ3JpZCB7IGRpc3BsYXk6IGdyaWQ7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZml0LCBtaW5tYXgoMjAwcHgsIDFmcikpOyBnYXA6IHZhcigtLXNwLTQpOyB9XG4uZGV0YWlsLWdyaWQuY29scy00IHsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQU1PVU5UU1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmFtb3VudC1sYXJnZSB7IGZvbnQtc2l6ZTogMS41cmVtOyBmb250LWZhbWlseTogdmFyKC0tZm9udC1tb25vKTsgZm9udC13ZWlnaHQ6IDcwMDsgfVxuLmFtb3VudC1zZWNvbmRhcnkgeyBmb250LXNpemU6IDFyZW07IGZvbnQtd2VpZ2h0OiBub3JtYWw7IGNvbG9yOiB2YXIoLS1jb2xvci1mZy1tdXRlZCk7IH1cbi5hbW91bnQtaW5jb21lIHsgZm9udC13ZWlnaHQ6IDUwMDsgY29sb3I6IHZhcigtLWNvbG9yLXN1Y2Nlc3MpOyB9XG4uYW1vdW50LWV4cGVuc2UgeyBmb250LXdlaWdodDogNTAwOyBjb2xvcjogdmFyKC0tY29sb3ItZXJyb3IpOyB9XG4uYW1vdW50LXdhcm5pbmcgeyBmb250LXdlaWdodDogNTAwOyBjb2xvcjogdmFyKC0tY29sb3Itd2FybmluZyk7IH1cbi50ZXh0LW92ZXJkdWUgeyBjb2xvcjogdmFyKC0tY29sb3ItZXJyb3IpOyBmb250LXdlaWdodDogNTAwOyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBUUkFOU0FDVElPTlNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi50cmFuc2FjdGlvbi1pdGVtIHsgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyBwYWRkaW5nOiB2YXIoLS1zcC0zKTsgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzKTsgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLTUwKTsgdGV4dC1kZWNvcmF0aW9uOiBub25lOyBjb2xvcjogaW5oZXJpdDsgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpOyB9XG4udHJhbnNhY3Rpb24taXRlbTpob3ZlciB7IGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLXNlY29uZGFyeSk7IH1cbi50cmFuc2FjdGlvbi1pY29uIHsgd2lkdGg6IDIuNXJlbTsgaGVpZ2h0OiAyLjVyZW07IGJvcmRlci1yYWRpdXM6IDUwJTsgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItcHJpbWFyeS0xMCk7IGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGp1c3RpZnktY29udGVudDogY2VudGVyOyBmbGV4LXNocmluazogMDsgfVxuLnRyYW5zYWN0aW9uLWRldGFpbHMgeyBmbGV4OiAxOyBtaW4td2lkdGg6IDA7IG1hcmdpbi1sZWZ0OiB2YXIoLS1zcC0zKTsgfVxuLnRyYW5zYWN0aW9uLXBheWVlIHsgZm9udC13ZWlnaHQ6IDUwMDsgZm9udC1zaXplOiAwLjg3NXJlbTsgY29sb3I6IHZhcigtLWNvbG9yLWZnKTsgb3ZlcmZsb3c6IGhpZGRlbjsgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7IHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cbi50cmFuc2FjdGlvbi1tZXRhIHsgZm9udC1zaXplOiAwLjc1cmVtOyBjb2xvcjogdmFyKC0tY29sb3ItZmctbXV0ZWQpOyB9XG4udHJhbnNhY3Rpb24tYW1vdW50IHsgZm9udC1zaXplOiAwLjg3NXJlbTsgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtbW9ubyk7IGZvbnQtd2VpZ2h0OiA2MDA7IGNvbG9yOiB2YXIoLS1jb2xvci1mZyk7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEFUVEFDSE1FTlRTXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uYXR0YWNobWVudC1saW5rLCAuYXR0YWNobWVudC1lbXB0eSwgLmF0dGFjaG1lbnQtd2FybmluZyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogMC41cmVtO1xuICBwYWRkaW5nOiAwLjVyZW0gMC43NXJlbTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzKTtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpLCBjb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpO1xuICB3aWR0aDogMTAwJTtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgYm9yZGVyOiBub25lO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cbi5hdHRhY2htZW50LWxpbmsgeyBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1zdWNjZXNzLTIwKTsgY29sb3I6IHZhcigtLWNvbG9yLXN1Y2Nlc3MpOyB9XG4uYXR0YWNobWVudC1saW5rOmhvdmVyIHsgYmFja2dyb3VuZDogdmFyKC0tY29sb3Itc3VjY2Vzcy0zMCk7IH1cbi5hdHRhY2htZW50LWxpbmsuYWN0aXZlIHsgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItcHJpbWFyeS0yMCk7IGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTsgfVxuLmF0dGFjaG1lbnQtZW1wdHkgeyBkaXNwbGF5OiBpbmxpbmUtZmxleDsgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctc2Vjb25kYXJ5KTsgY29sb3I6IHZhcigtLWNvbG9yLWZnLW11dGVkKTsgY3Vyc29yOiBkZWZhdWx0OyB9XG4uYXR0YWNobWVudC13YXJuaW5nIHsgZGlzcGxheTogaW5saW5lLWZsZXg7IGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXdhcm5pbmctMjApOyBjb2xvcjogdmFyKC0tY29sb3Itd2FybmluZyk7IGN1cnNvcjogZGVmYXVsdDsgfVxuLmF0dGFjaG1lbnQtcm93LCAucG9zdGluZy1yb3cgeyBkaXNwbGF5OiBmbGV4OyBnYXA6IHZhcigtLXNwLTMpOyBhbGlnbi1pdGVtczogZmxleC1zdGFydDsganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyBwYWRkaW5nOiB2YXIoLS1zcC0zKTsgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctc2Vjb25kYXJ5KTsgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzKTsgfVxuLnBvc3Rpbmctcm93IHsgcGFkZGluZzogdmFyKC0tc3AtMikgdmFyKC0tc3AtMyk7IH1cblxuLyogQ3VycmVudC9TdGFnZWQgQXR0YWNobWVudHMgKi9cbi5jdXJyZW50LWF0dGFjaG1lbnQtaXRlbSwgLnN0YWdlZC1maWxlLWl0ZW0geyBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IHBhZGRpbmc6IDAuNzVyZW07IGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnKTsgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLWxnKTsgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyKTsgfVxuLmN1cnJlbnQtYXR0YWNobWVudC1pbmZvLCAuc3RhZ2VkLWZpbGUtaW5mbyB7IGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGdhcDogMC43NXJlbTsgbWluLXdpZHRoOiAwOyB9XG4uY3VycmVudC1hdHRhY2htZW50LWRldGFpbHMgeyBtaW4td2lkdGg6IDA7IH1cbi5jdXJyZW50LWF0dGFjaG1lbnQtbmFtZSwgLnN0YWdlZC1maWxlLW5hbWUgeyBmb250LXNpemU6IDAuODc1cmVtOyBvdmVyZmxvdzogaGlkZGVuOyB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsgd2hpdGUtc3BhY2U6IG5vd3JhcDsgZGlzcGxheTogYmxvY2s7IH1cbi5jdXJyZW50LWF0dGFjaG1lbnQtdmlldyB7IGZvbnQtc2l6ZTogMC42MjVyZW07IGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTsgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4uY3VycmVudC1hdHRhY2htZW50LXZpZXc6aG92ZXIgeyB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuLmN1cnJlbnQtYXR0YWNobWVudC1yZW1vdmUsIC5zdGFnZWQtZmlsZS1yZW1vdmUgeyBwYWRkaW5nOiAwLjM3NXJlbTsgY29sb3I6IHZhcigtLWNvbG9yLWZnLW11dGVkKTsgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IGJvcmRlcjogbm9uZTsgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzKTsgY3Vyc29yOiBwb2ludGVyOyBmbGV4LXNocmluazogMDsgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpLCBjb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpOyB9XG4uc3RhZ2VkLWZpbGUtcmVtb3ZlIHsgcGFkZGluZzogMC4yNXJlbTsgfVxuLmN1cnJlbnQtYXR0YWNobWVudC1yZW1vdmU6aG92ZXIsIC5zdGFnZWQtZmlsZS1yZW1vdmU6aG92ZXIgeyBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1lcnJvci0yMCk7IGNvbG9yOiB2YXIoLS1jb2xvci1lcnJvcik7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFVQTE9BRC9EUk9QWk9ORVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVwbG9hZC1kcm9wem9uZSwgLmZpbGVzLXVwbG9hZC1kcm9wem9uZSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBwYWRkaW5nOiB2YXIoLS1zcC00KTtcbiAgYm9yZGVyOiAycHggZGFzaGVkIHZhcigtLWNvbG9yLWJvcmRlcik7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1sZyk7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLXNlY29uZGFyeSk7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIHZhcigtLXRyYW5zaXRpb24pLCBiYWNrZ3JvdW5kIHZhcigtLXRyYW5zaXRpb24pO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG4uZmlsZXMtdXBsb2FkLWRyb3B6b25lIHsgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzKTsgcGFkZGluZzogMXJlbTsgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctc2Vjb25kYXJ5LTUwKTsgbWFyZ2luLWJvdHRvbTogMC43NXJlbTsgfVxuLnVwbG9hZC1kcm9wem9uZTpob3ZlciwgLmZpbGVzLXVwbG9hZC1kcm9wem9uZTpob3ZlciB7IGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7IGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLXRlcnRpYXJ5KTsgfVxuLmZpbGVzLXVwbG9hZC1kcm9wem9uZTpob3ZlciB7IGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLXNlY29uZGFyeSk7IH1cbi51cGxvYWQtZHJvcHpvbmUuZHJhZy1vdmVyIHsgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTsgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItcHJpbWFyeS01KTsgfVxuLnVwbG9hZC1kcm9wem9uZS1sYWJlbCwgLmZpbGVzLXVwbG9hZC1sYWJlbCB7IGN1cnNvcjogcG9pbnRlcjsgdGV4dC1hbGlnbjogY2VudGVyOyBwYWRkaW5nOiAycmVtOyBkaXNwbGF5OiBmbGV4OyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyBhbGlnbi1pdGVtczogY2VudGVyOyBnYXA6IDAuNXJlbTsgfVxuLnVwbG9hZC1kcm9wem9uZS1pY29uLCAuZmlsZXMtdXBsb2FkLWljb24geyB3aWR0aDogNHJlbTsgaGVpZ2h0OiA0cmVtOyBtYXJnaW46IDAgYXV0byAxcmVtOyBjb2xvcjogdmFyKC0tY29sb3ItZmctbXV0ZWQpOyBvcGFjaXR5OiAwLjM7IH1cbi5maWxlcy11cGxvYWQtaWNvbiB7IHdpZHRoOiAycmVtOyBoZWlnaHQ6IDJyZW07IG1hcmdpbjogMDsgb3BhY2l0eTogMC40OyB9XG4udXBsb2FkLWRyb3B6b25lLWljb24tbGcgeyB3aWR0aDogM3JlbTsgaGVpZ2h0OiAzcmVtOyBtYXJnaW46IDAgYXV0byAwLjc1cmVtOyBjb2xvcjogdmFyKC0tY29sb3ItZmctbXV0ZWQpOyBvcGFjaXR5OiAwLjM7IH1cbi51cGxvYWQtZHJvcHpvbmUtdGFsbCB7IG1pbi1oZWlnaHQ6IDIwMHB4OyB9XG4udXBsb2FkLWRyb3B6b25lLXRpdGxlIHsgZm9udC1zaXplOiAxLjEyNXJlbTsgY29sb3I6IHZhcigtLWNvbG9yLWZnLW11dGVkKTsgZm9udC13ZWlnaHQ6IDUwMDsgfVxuLnVwbG9hZC1kcm9wem9uZS1zdWJ0aXRsZSwgLnVwbG9hZC1kcm9wem9uZS1oaW50LCAuZmlsZXMtdXBsb2FkLWhpbnQgeyBmb250LXNpemU6IDAuODc1cmVtOyBjb2xvcjogdmFyKC0tY29sb3ItZmctbXV0ZWQpOyBvcGFjaXR5OiAwLjY7IG1hcmdpbi10b3A6IDAuMjVyZW07IH1cbi51cGxvYWQtZHJvcHpvbmUtaGludCwgLmZpbGVzLXVwbG9hZC1oaW50IHsgZm9udC1zaXplOiAwLjc1cmVtOyBtYXJnaW4tdG9wOiAxcmVtOyB9XG4uZmlsZXMtdXBsb2FkLXRleHQgeyBmb250LXNpemU6IDAuODc1cmVtOyBjb2xvcjogdmFyKC0tY29sb3ItZmctbXV0ZWQpOyB9XG4uZmlsZXMtdXBsb2FkLXRleHQgc3Ryb25nIHsgY29sb3I6IHZhcigtLWNvbG9yLWZnKTsgfVxuLnVwbG9hZC1lbnRyeSB7IHBhZGRpbmc6IHZhcigtLXNwLTEpIHZhcigtLXNwLTIpOyBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy1zZWNvbmRhcnkpOyBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtc20pOyBmb250LXNpemU6IDAuNzVyZW07IG1hcmdpbi10b3A6IHZhcigtLXNwLTMpOyB9XG5cbi8qIFVwbG9hZCBFbnRyeSBJdGVtcyAqL1xuLnVwbG9hZC1lbnRyeS1pdGVtIHsgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsgZ2FwOiAwLjVyZW07IGZvbnQtc2l6ZTogMC43NXJlbTsgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctc2Vjb25kYXJ5KTsgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzKTsgcGFkZGluZzogMC4yNXJlbSAwLjVyZW07IG1hcmdpbi10b3A6IDAuNXJlbTsgfVxuLnVwbG9hZC1lbnRyeS1uYW1lIHsgZmxleDogMTsgY29sb3I6IHZhcigtLWNvbG9yLWZnKTsgfVxuLnVwbG9hZC1lbnRyeS1wcm9ncmVzcyB7IGNvbG9yOiB2YXIoLS1jb2xvci1mZy1tdXRlZCk7IH1cbi51cGxvYWQtZW50cnktY2FuY2VsIHsgY29sb3I6IHZhcigtLWNvbG9yLWZnLW11dGVkKTsgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IGJvcmRlcjogbm9uZTsgcGFkZGluZzogMDsgY3Vyc29yOiBwb2ludGVyOyB0cmFuc2l0aW9uOiBjb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpOyB9XG4udXBsb2FkLWVudHJ5LWNhbmNlbDpob3ZlciB7IGNvbG9yOiB2YXIoLS1jb2xvci1lcnJvcik7IH1cbi51cGxvYWQtZW50cnktZXJyb3IgeyBtYXJnaW4tdG9wOiAwLjI1cmVtOyBmb250LXNpemU6IDAuNzVyZW07IGNvbG9yOiB2YXIoLS1jb2xvci1lcnJvcik7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFBSRVZJRVdcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5wcmV2aWV3LWNvbnRhaW5lciB7IGhlaWdodDogMTAwJTsgZGlzcGxheTogZmxleDsgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuLnByZXZpZXctbGluayB7IGRpc3BsYXk6IGlubGluZS1mbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBnYXA6IDAuMjVyZW07IGZvbnQtc2l6ZTogMC43NXJlbTsgY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpOyB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbi5wcmV2aWV3LWxpbms6aG92ZXIgeyB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuLnByZXZpZXctZnJhbWUgeyBmbGV4OiAxOyBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZyk7IGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1sZyk7IG92ZXJmbG93OiBoaWRkZW47IGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdyk7IH1cbi5wcmV2aWV3LWlmcmFtZSwgLnBkZi1wcmV2aWV3IGlmcmFtZSwgLnBkZi12aWV3ZXItZnJhbWUgaWZyYW1lLCAucGRmLXByZXZpZXctaWZyYW1lLWZ1bGxzY3JlZW4geyB3aWR0aDogMTAwJTsgaGVpZ2h0OiAxMDAlOyBib3JkZXI6IG5vbmU7IH1cbi5wcmV2aWV3LWltYWdlLWNvbnRhaW5lciB7IHdpZHRoOiAxMDAlOyBoZWlnaHQ6IDEwMCU7IGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGp1c3RpZnktY29udGVudDogY2VudGVyOyBwYWRkaW5nOiAxcmVtOyB9XG4ucHJldmlldy1pbWFnZSB7IG1heC13aWR0aDogMTAwJTsgbWF4LWhlaWdodDogMTAwJTsgb2JqZWN0LWZpdDogY29udGFpbjsgfVxuLnByZXZpZXctZW1wdHkgeyBoZWlnaHQ6IDEwMCU7IGRpc3BsYXk6IGZsZXg7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGp1c3RpZnktY29udGVudDogY2VudGVyOyBjb2xvcjogdmFyKC0tY29sb3ItZmctbXV0ZWQpOyBvcGFjaXR5OiAwLjU7IH1cbi5wcmV2aWV3LWVtcHR5LWljb24geyB3aWR0aDogNnJlbTsgaGVpZ2h0OiA2cmVtOyBtYXJnaW4tYm90dG9tOiAxcmVtOyB9XG4ucHJldmlldy1lbXB0eS10aXRsZSB7IGZvbnQtc2l6ZTogMS4xMjVyZW07IH1cbi5wcmV2aWV3LWVtcHR5LXN1YnRpdGxlIHsgZm9udC1zaXplOiAwLjg3NXJlbTsgbWFyZ2luLXRvcDogMC4yNXJlbTsgfVxuLnBkZi1wcmV2aWV3IHsgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctc2Vjb25kYXJ5KTsgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLWxnKTsgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuLnBkZi1wcmV2aWV3IGlmcmFtZSB7IGhlaWdodDogNjAwcHg7IH1cbi5wZGYtcHJldmlldy1mdWxsc2NyZWVuIHsgaGVpZ2h0OiAxMDAlOyBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuLnBkZi1wcmV2aWV3LWlmcmFtZS1mdWxsc2NyZWVuIHsgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLWxnKTsgYm94LXNoYWRvdzogdmFyKC0tc2hhZG93LWxnKTsgfVxuLnBkZi12aWV3ZXItY2FyZCB7IHBhZGRpbmc6IHZhcigtLXNwLTQpOyB9XG4ucGRmLXZpZXdlci1mcmFtZSB7IHdpZHRoOiAxMDAlOyBoZWlnaHQ6IDcyMHB4OyBvdmVyZmxvdzogaGlkZGVuOyBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMpOyBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXIpOyB9XG5cbi8qIE9DUiBSZXN1bHRzIFBhbmVsICovXG4ub2NyLWZpZWxkcyB7IGRpc3BsYXk6IGZsZXg7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IGdhcDogdmFyKC0tc3AtMyk7IH1cbi5vY3ItZmllbGQgeyBkaXNwbGF5OiBmbGV4OyBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IGFsaWduLWl0ZW1zOiBjZW50ZXI7IHBhZGRpbmc6IHZhcigtLXNwLTIpIHZhcigtLXNwLTMpOyBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy1zZWNvbmRhcnkpOyBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMpOyB9XG4ub2NyLWZpZWxkLWxhYmVsIHsgZm9udC1zaXplOiAwLjc1cmVtOyBjb2xvcjogdmFyKC0tY29sb3ItZmctbXV0ZWQpOyB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyBsZXR0ZXItc3BhY2luZzogMC4wNWVtOyB9XG4ub2NyLWZpZWxkLXZhbHVlIHsgZm9udC1zaXplOiAwLjg3NXJlbTsgY29sb3I6IHZhcigtLWNvbG9yLWZnKTsgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbi5vY3ItZmllbGQtc2VsZWN0IHsgZGlzcGxheTogZmxleDsgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgZ2FwOiB2YXIoLS1zcC0xKTsgfVxuLm9jci1maWVsZC1zZWxlY3QgLm9jci1maWVsZC1sYWJlbCB7IG1hcmdpbi1ib3R0b206IHZhcigtLXNwLTEpOyB9XG4ub2NyLWZpZWxkLXNlbGVjdCBzZWxlY3QsXG4ub2NyLWZpZWxkLXNlbGVjdCBpbnB1dCB7IHdpZHRoOiAxMDAlOyBwYWRkaW5nOiB2YXIoLS1zcC0yKTsgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctc2Vjb25kYXJ5KTsgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyKTsgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzKTsgZm9udC1zaXplOiAwLjg3NXJlbTsgY29sb3I6IHZhcigtLWNvbG9yLWZnKTsgfVxuLm9jci1maWVsZC1zZWxlY3Qgc2VsZWN0OmZvY3VzLFxuLm9jci1maWVsZC1zZWxlY3QgaW5wdXQ6Zm9jdXMgeyBvdXRsaW5lOiBub25lOyBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpOyBib3gtc2hhZG93OiAwIDAgMCAycHggdmFyKC0tY29sb3ItcHJpbWFyeS0yMCk7IH1cbi5vY3ItZmllbGQtc2VsZWN0IHNlbGVjdCBvcHRpb24geyBwYWRkaW5nOiB2YXIoLS1zcC0yKTsgfVxuLm9jci1maWVsZC1zZWxlY3QgLnctYXV0byB7IHdpZHRoOiBhdXRvOyBtaW4td2lkdGg6IDEwMHB4OyB9XG4ub2NyLXJhdy10ZXh0IHsgbWFyZ2luLXRvcDogdmFyKC0tc3AtMik7IH1cbi5vY3ItcmF3LXN1bW1hcnkgeyBjdXJzb3I6IHBvaW50ZXI7IGZvbnQtc2l6ZTogMC43NXJlbTsgY29sb3I6IHZhcigtLWNvbG9yLWZnLW11dGVkKTsgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsgZ2FwOiAwLjI1cmVtOyBwYWRkaW5nOiB2YXIoLS1zcC0xKSAwOyB9XG4ub2NyLXJhdy1zdW1tYXJ5OmhvdmVyIHsgY29sb3I6IHZhcigtLWNvbG9yLWZnKTsgfVxuLm9jci1yYXctY29udGVudCB7IG1hcmdpbi10b3A6IHZhcigtLXNwLTIpOyBwYWRkaW5nOiB2YXIoLS1zcC0zKTsgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctdGVydGlhcnkpOyBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMpOyBmb250LXNpemU6IDAuN3JlbTsgbGluZS1oZWlnaHQ6IDEuNDsgbWF4LWhlaWdodDogMjAwcHg7IG92ZXJmbG93LXk6IGF1dG87IHdoaXRlLXNwYWNlOiBwcmUtd3JhcDsgd29yZC1icmVhazogYnJlYWstd29yZDsgY29sb3I6IHZhcigtLWNvbG9yLWZnLW11dGVkKTsgfVxuLm9jci1sb2FkaW5nIHsgZGlzcGxheTogZmxleDsgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgYWxpZ24taXRlbXM6IGNlbnRlcjsganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IHBhZGRpbmc6IHZhcigtLXNwLTgpOyBjb2xvcjogdmFyKC0tY29sb3ItZmctbXV0ZWQpOyB9XG4ub2NyLWxvYWRpbmctc3Bpbm5lciB7IHdpZHRoOiAycmVtOyBoZWlnaHQ6IDJyZW07IGJvcmRlcjogMnB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlcik7IGJvcmRlci10b3AtY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpOyBib3JkZXItcmFkaXVzOiA1MCU7IGFuaW1hdGlvbjogc3BpbiAxcyBsaW5lYXIgaW5maW5pdGU7IG1hcmdpbi1ib3R0b206IHZhcigtLXNwLTMpOyB9XG4ub2NyLXByZXZpZXcgeyBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyKTsgcGFkZGluZy10b3A6IHZhcigtLXNwLTQpOyB9XG4ub2NyLXByZXZpZXctZnJhbWUgeyBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy10ZXJ0aWFyeSk7IGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cyk7IG92ZXJmbG93OiBoaWRkZW47IGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlcik7IH1cbi5vY3ItcHJldmlldy1pZnJhbWUgeyB3aWR0aDogMTAwJTsgaGVpZ2h0OiA0MDBweDsgYm9yZGVyOiBub25lOyB9XG4ub2NyLXByZXZpZXctaW1hZ2UgeyB3aWR0aDogMTAwJTsgaGVpZ2h0OiBhdXRvOyBtYXgtaGVpZ2h0OiA0MDBweDsgb2JqZWN0LWZpdDogY29udGFpbjsgZGlzcGxheTogYmxvY2s7IH1cbi5vY3ItcHJldmlldy1wZGYtcGxhY2Vob2xkZXIgeyBkaXNwbGF5OiBmbGV4OyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyBhbGlnbi1pdGVtczogY2VudGVyOyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgcGFkZGluZzogdmFyKC0tc3AtOCk7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEJBTEFOQ0UvVFJFRVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmJhbGFuY2UtY29udGVudCwgLmZpbGVzLWNvbnRlbnQgeyBwYWRkaW5nOiAwIHZhcigtLXNwLTQpOyB9XG4uYmFsYW5jZS10cmVlIHsgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtbW9ubyk7IH1cbi5iYWxhbmNlLW9wdGlvbnMgeyBkaXNwbGF5OiBmbGV4OyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyBnYXA6IDAuNzVyZW07IG1hcmdpbi1ib3R0b206IDEuNXJlbTsgbWFyZ2luLXRvcDogMC41cmVtOyB9XG4uYmFsYW5jZS1zZWN0aW9uLWhlYWRlciB7IGRpc3BsYXk6IGZsZXg7IGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgYWxpZ24taXRlbXM6IGZsZXgtZW5kOyBwYWRkaW5nOiB2YXIoLS1zcC0yKTsgY3Vyc29yOiBwb2ludGVyOyB9XG4uYmFsYW5jZS1zZWN0aW9uLWdyaWQsIC5iYWxhbmNlLXRyZWUtZ3JpZCB7IGRpc3BsYXk6IGdyaWQ7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGdhcDogMC43NXJlbTsgd2lkdGg6IDEwMCU7IH1cbi5iYWxhbmNlLXNlY3Rpb24tcm93IHsgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGZsZXgtZW5kOyBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IHdpZHRoOiAxMDAlOyB9XG4uYmFsYW5jZS1zZWN0aW9uLXRpdGxlIHsgZm9udC13ZWlnaHQ6IDcwMDsgY29sb3I6IHZhcigtLWNvbG9yLWZnKTsgfVxuLmJhbGFuY2UtY2hldnJvbiB7IGNvbG9yOiB2YXIoLS1jb2xvci1mZy1tdXRlZCk7IHRyYW5zaXRpb246IHRyYW5zZm9ybSB2YXIoLS10cmFuc2l0aW9uLWZhc3QpOyB9XG4uYmFsYW5jZS1jaGV2cm9uLmNvbGxhcHNlZCB7IHRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7IH1cbi5iYWxhbmNlLXRyZWUtbGluZSB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgcGFkZGluZy1sZWZ0OiAxcmVtOyBtYXJnaW4tbGVmdDogMC4yNXJlbTsgfVxuLmJhbGFuY2UtdHJlZS1saW5lOjpiZWZvcmUgeyBjb250ZW50OiBcIlwiOyBwb3NpdGlvbjogYWJzb2x1dGU7IGxlZnQ6IDA7IHRvcDogMDsgYm90dG9tOiAwOyB3aWR0aDogMXB4OyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1ib3JkZXIpOyB9XG4uYmFsYW5jZS10cmVlLWJyYW5jaCB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuLmJhbGFuY2UtdHJlZS1icmFuY2g6OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXCI7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgbGVmdDogLTFyZW07IHRvcDogNTAlOyB3aWR0aDogMC43NXJlbTsgaGVpZ2h0OiAxcHg7IGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJvcmRlcik7IH1cbi5iYWxhbmNlLWFtb3VudCB7IGZvbnQtd2VpZ2h0OiA3MDA7IGNvbG9yOiB2YXIoLS1jb2xvci1mZyk7IHRleHQtYWxpZ246IHJpZ2h0OyBtaW4td2lkdGg6IDVyZW07IH1cbi5iYWxhbmNlLXRyZWUtbm9kZSB7IHBhZGRpbmc6IDAuMzc1cmVtIDAuNXJlbTsgY3Vyc29yOiBwb2ludGVyOyBjb2xvcjogdmFyKC0tY29sb3ItZmctbXV0ZWQpOyB9XG4uYmFsYW5jZS10cmVlLW5vZGUuaGlnaGxpZ2h0ZWQgeyBjb2xvcjogdmFyKC0tY29sb3ItZmcpOyB9XG4uYmFsYW5jZS10cmVlLW5vZGU6aG92ZXIgeyBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1ib3JkZXItMjApOyB9XG4uYmFsYW5jZS10cmVlLXJvdyB7IGRpc3BsYXk6IGdyaWQ7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogbWlubWF4KDAsIDFmcikgYXV0bzsgYWxpZ24taXRlbXM6IGNlbnRlcjsgZ2FwOiAwLjc1cmVtOyB3aWR0aDogMTAwJTsgfVxuLmJhbGFuY2UtdHJlZS1yb3c6aG92ZXIgeyBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy1zZWNvbmRhcnkpOyBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtc20pOyB9XG4uYmFsYW5jZS10cmVlLWxhYmVsIHsgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsgZ2FwOiAwLjVyZW07IG1pbi13aWR0aDogMDsgfVxuLmJhbGFuY2UtdHJlZS1saW5rIHsgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsgZ2FwOiAwLjVyZW07IGZsZXg6IDE7IG1pbi13aWR0aDogMDsgdGV4dC1kZWNvcmF0aW9uOiBub25lOyBjb2xvcjogaW5oZXJpdDsgfVxuLmJhbGFuY2UtdHJlZS1saW5rOmhvdmVyIHsgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbi5iYWxhbmNlLXRyZWUtbmFtZSB7IGZvbnQtc2l6ZTogMC43NXJlbTsgb3ZlcmZsb3c6IGhpZGRlbjsgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7IHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cbi5iYWxhbmNlLXRyZWUtdmFsdWUgeyBmb250LXNpemU6IDAuNzVyZW07IGZvbnQtdmFyaWFudC1udW1lcmljOiB0YWJ1bGFyLW51bXM7IHRleHQtYWxpZ246IHJpZ2h0OyBtaW4td2lkdGg6IDVyZW07IGNvbG9yOiBpbmhlcml0OyB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbi5iYWxhbmNlLXRyZWUtdmFsdWU6aG92ZXIgeyB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuLmJhbGFuY2UtdHJlZS1tYXhpbWl6ZWQgeyBwb3NpdGlvbjogZml4ZWQ7IGluc2V0OiB2YXIoLS1zcC00KTsgei1pbmRleDogNTA7IG92ZXJmbG93OiBhdXRvOyB9XG4ubGVhZGVyLWRvdHMgeyBmbGV4LWdyb3c6IDE7IGJvcmRlci1ib3R0b206IDFweCBkb3R0ZWQgdmFyKC0tY29sb3ItYm9yZGVyKTsgbWFyZ2luOiAwIDZweDsgcG9zaXRpb246IHJlbGF0aXZlOyB0b3A6IC00cHg7IH1cbi50cmVlLXRvZ2dsZSB7IGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGp1c3RpZnktY29udGVudDogY2VudGVyOyB3aWR0aDogMXJlbTsgaGVpZ2h0OiAxcmVtOyBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtc20pOyBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgYm9yZGVyOiBub25lOyBjdXJzb3I6IHBvaW50ZXI7IHBhZGRpbmc6IDA7IGZsZXgtc2hyaW5rOiAwOyB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCk7IH1cbi50cmVlLXRvZ2dsZTpob3ZlciB7IGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJvcmRlci00MCk7IH1cbi50cmVlLXRvZ2dsZSAucm90YXRlZCB7IHRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7IH1cbi50cmVlLXRvZ2dsZS1zcGFjZXIgeyB3aWR0aDogMXJlbTsgaGVpZ2h0OiAxcmVtOyBmbGV4LXNocmluazogMDsgfVxuLmJhbGFuY2UtcmVwb3J0LXNlY3Rpb24geyBtYXJnaW4tYm90dG9tOiAycmVtOyB9XG4uYmFsYW5jZS1yZXBvcnQtaGVhZGVyIHsgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlcik7IHBhZGRpbmctYm90dG9tOiAwLjVyZW07IG1hcmdpbi1ib3R0b206IDAuNzVyZW07IHBhZGRpbmctbGVmdDogMC4yNXJlbTsgfVxuLmJhbGFuY2UtcmVwb3J0LWhlYWRlci1yb3cgeyBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogZmxleC1zdGFydDsganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyBnYXA6IDAuNXJlbTsgfVxuLmJhbGFuY2UtcmVwb3J0LXRpdGxlIHsgZGlzcGxheTogZmxleDsgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgZ2FwOiAwLjEyNXJlbTsgfVxuLmJhbGFuY2UtcmVwb3J0LXRpdGxlIGgzIHsgZm9udC1zaXplOiAwLjc1cmVtOyBmb250LXdlaWdodDogNzAwOyBjb2xvcjogdmFyKC0tY29sb3ItZmcpOyBsZXR0ZXItc3BhY2luZzogMC4xZW07IH1cbi5iYWxhbmNlLXJlcG9ydC1kYXRlLXJhbmdlIHsgZm9udC1zaXplOiAwLjYyNXJlbTsgY29sb3I6IHZhcigtLWNvbG9yLWZnLW11dGVkKTsgfVxuLmJhbGFuY2UtcmVwb3J0LWNvbnRlbnQgeyBmb250LXNpemU6IDAuODc1cmVtOyBmb250LWZhbWlseTogdmFyKC0tZm9udC1tb25vKTsgZGlzcGxheTogZmxleDsgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgZ2FwOiAwLjEyNXJlbTsgdXNlci1zZWxlY3Q6IG5vbmU7IH1cbi5iYWxhbmNlLXRvdGFsLXJvdywgLmJhbGFuY2UtdG90YWwtcm93LWdyaWQgeyBtYXJnaW4tdG9wOiAxLjVyZW07IHBhZGRpbmctdG9wOiAxcmVtOyBib3JkZXItdG9wOiAxcHggZGFzaGVkIHZhcigtLWNvbG9yLWJvcmRlcik7IHBhZGRpbmctbGVmdDogMC41cmVtOyBwYWRkaW5nLXJpZ2h0OiAwLjVyZW07IH1cbi5iYWxhbmNlLXRvdGFsLXJvdyB7IGRpc3BsYXk6IGZsZXg7IGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuLmJhbGFuY2UtdG90YWwtcm93LWdyaWQgeyBkaXNwbGF5OiBncmlkOyBhbGlnbi1pdGVtczogY2VudGVyOyBnYXA6IDAuNzVyZW07IHdpZHRoOiAxMDAlOyB9XG4uYmFsYW5jZS10b3RhbC1sYWJlbCB7IGZvbnQtd2VpZ2h0OiA3MDA7IGZvbnQtc2l6ZTogMC44NzVyZW07IGxldHRlci1zcGFjaW5nOiAwLjA1ZW07IGNvbG9yOiB2YXIoLS1jb2xvci1mZyk7IH1cbi5iYWxhbmNlLXRvdGFsLXZhbHVlIHsgZm9udC13ZWlnaHQ6IDcwMDsgZm9udC1zaXplOiAxLjEyNXJlbTsgY29sb3I6IHZhcigtLWNvbG9yLWZnKTsgfVxuLmJhbGFuY2UtdG90YWwtdmFsdWUucG9zaXRpdmUgeyBjb2xvcjogdmFyKC0tY29sb3Itc3VjY2Vzcyk7IH1cbi5iYWxhbmNlLXRvdGFsLXZhbHVlLm5lZ2F0aXZlIHsgY29sb3I6IHZhcigtLWNvbG9yLWVycm9yKTsgfVxuLmJhbGFuY2UtY3VycmVuY3ktdG90YWxzIHsgbWFyZ2luLXRvcDogMS41cmVtOyBwYWRkaW5nLXRvcDogMXJlbTsgYm9yZGVyLXRvcDogMXB4IGRhc2hlZCB2YXIoLS1jb2xvci1ib3JkZXIpOyBwYWRkaW5nLWxlZnQ6IDAuNXJlbTsgcGFkZGluZy1yaWdodDogMC41cmVtOyB9XG4uYmFsYW5jZS1jdXJyZW5jeS1yb3cgeyBkaXNwbGF5OiBmbGV4OyBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IGFsaWduLWl0ZW1zOiBjZW50ZXI7IHBhZGRpbmc6IDAuMjVyZW0gMDsgfVxuLmJhbGFuY2UtY3VycmVuY3ktbGFiZWwgeyBmb250LXNpemU6IDAuNzVyZW07IGZvbnQtd2VpZ2h0OiA1MDA7IGNvbG9yOiB2YXIoLS1jb2xvci1mZy1tdXRlZCk7IGxldHRlci1zcGFjaW5nOiAwLjA1ZW07IHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbi5iYWxhbmNlLWN1cnJlbmN5LXZhbHVlIHsgZm9udC1zaXplOiAwLjg3NXJlbTsgZm9udC12YXJpYW50LW51bWVyaWM6IHRhYnVsYXItbnVtczsgY29sb3I6IHZhcigtLWNvbG9yLWZnKTsgfVxuLmJhbGFuY2UtY3VycmVuY3ktdmFsdWUubmVnYXRpdmUgeyBjb2xvcjogdmFyKC0tY29sb3ItZXJyb3IpOyB9XG5cbi8qIFAmTCAqL1xuLnByb2ZpdC1sb3NzLXN1bW1hcnkgeyBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy1zZWNvbmRhcnkpOyB9XG4ucGwtdHJlZS1oZWFkZXIgeyBkaXNwbGF5OiBmbGV4OyBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IGFsaWduLWl0ZW1zOiBmbGV4LWVuZDsgcGFkZGluZzogdmFyKC0tc3AtMik7IGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cyk7IHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KTsgfVxuLnBsLXRyZWUtaGVhZGVyLnBsLWluY29tZSB7IGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXN1Y2Nlc3MtMTApOyBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1zdWNjZXNzLTIwKTsgY29sb3I6IHZhcigtLWNvbG9yLXN1Y2Nlc3MpOyB9XG4ucGwtdHJlZS1oZWFkZXIucGwtZXhwZW5zZSB7IGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWVycm9yLTEwKTsgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sb3ItZXJyb3ItMjApOyBjb2xvcjogdmFyKC0tY29sb3ItZXJyb3IpOyB9XG4ucGwtaW5jb21lLXJvdywgLnBsLWV4cGVuc2Utcm93IHsgZGlzcGxheTogZmxleDsganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyBhbGlnbi1pdGVtczogY2VudGVyOyBwYWRkaW5nOiB2YXIoLS1zcC0yKTsgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzKTsgY3Vyc29yOiBwb2ludGVyOyB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCk7IGdhcDogdmFyKC0tc3AtMyk7IH1cbi5wbC1pbmNvbWUtcm93IHsgY29sb3I6IGNvbG9yLW1peChpbiBva2xjaCwgdmFyKC0tY29sb3Itc3VjY2VzcykgODAlLCB2YXIoLS1jb2xvci1mZykpOyB9XG4ucGwtZXhwZW5zZS1yb3cgeyBjb2xvcjogY29sb3ItbWl4KGluIG9rbGNoLCB2YXIoLS1jb2xvci1lcnJvcikgODAlLCB2YXIoLS1jb2xvci1mZykpOyB9XG4ucGwtaW5jb21lLXJvdzpob3ZlciwgLnBsLWV4cGVuc2Utcm93OmhvdmVyIHsgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYm9yZGVyLTMwKTsgfVxuXG4vKiBDaGFydHMgKi9cbi5jaGFydC1jb250YWluZXIgeyBvdmVyZmxvdy14OiBhdXRvOyB9XG4uY2hhcnQtYmFycyB7IGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBmbGV4LWVuZDsgZ2FwOiB2YXIoLS1zcC0yKTsgaGVpZ2h0OiAxMnJlbTsgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlcik7IGJvcmRlci1sZWZ0OiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyKTsgcGFkZGluZzogdmFyKC0tc3AtNCk7IG1pbi13aWR0aDogNjAwcHg7IH1cbi5jaGFydC1iYXItZ3JvdXAgeyBmbGV4OiAxOyBkaXNwbGF5OiBmbGV4OyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyBhbGlnbi1pdGVtczogY2VudGVyOyBnYXA6IHZhcigtLXNwLTEpOyB9XG4uY2hhcnQtYmFyLXBhaXIgeyB3aWR0aDogMTAwJTsgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGZsZXgtZW5kOyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgZ2FwOiAycHg7IGhlaWdodDogMTByZW07IH1cbi5jaGFydC1iYXIgeyB3aWR0aDogNDUlOyBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtc20pIHZhcigtLXJhZGl1cy1zbSkgMCAwOyB0cmFuc2l0aW9uOiBvcGFjaXR5IHZhcigtLXRyYW5zaXRpb24tZmFzdCk7IH1cbi5jaGFydC1iYXI6aG92ZXIgeyBvcGFjaXR5OiAwLjg7IH1cbi5jaGFydC1iYXIuaW5jb21lLCAuY2hhcnQtbGVnZW5kLWRvdC5pbmNvbWUgeyBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1zdWNjZXNzKTsgfVxuLmNoYXJ0LWJhci5leHBlbnNlLCAuY2hhcnQtbGVnZW5kLWRvdC5leHBlbnNlIHsgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItZXJyb3IpOyB9XG4uY2hhcnQtYmFyLWxhYmVsIHsgZm9udC1zaXplOiAwLjYyNXJlbTsgY29sb3I6IHZhcigtLWNvbG9yLWZnLW11dGVkKTsgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4uY2hhcnQtbGVnZW5kIHsgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IGdhcDogdmFyKC0tc3AtNCk7IG1hcmdpbi10b3A6IHZhcigtLXNwLTMpOyB9XG4uY2hhcnQtbGVnZW5kLWl0ZW0geyBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBnYXA6IHZhcigtLXNwLTIpOyB9XG4uY2hhcnQtbGVnZW5kLWRvdCB7IHdpZHRoOiAwLjc1cmVtOyBoZWlnaHQ6IDAuNzVyZW07IGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zbSk7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEdJVC9ESUZGU1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmNvbnNvbGUtdmlldyB7IGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LW1vbm8pOyBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1jb25zb2xlLWJnKTsgY29sb3I6IHZhcigtLWNvbG9yLWNvbnNvbGUtZmcpOyB9XG4uY29tbWl0LWVudHJ5IHsgd2lkdGg6IDEwMCU7IHRleHQtYWxpZ246IGxlZnQ7IHBhZGRpbmc6IHZhcigtLXNwLTIpIHZhcigtLXNwLTMpOyBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMpOyBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7IGN1cnNvcjogcG9pbnRlcjsgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpLCBib3JkZXItY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KTsgfVxuLmNvbW1pdC1lbnRyeTpob3ZlciB7IGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLXNlY29uZGFyeSk7IH1cbi5jb21taXQtZW50cnkuc2VsZWN0ZWQgeyBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1wcmltYXJ5LTEwKTsgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LTIwKTsgfVxuLmRpZmYtZmlsZSB7IGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlcik7IGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cyk7IG92ZXJmbG93OiBoaWRkZW47IH1cbi5kaWZmLWNvbnRlbnQgeyBwYWRkaW5nOiB2YXIoLS1zcC0zKTsgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtbW9ubyk7IGZvbnQtc2l6ZTogMC43NXJlbTsgb3ZlcmZsb3cteDogYXV0bzsgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmcpOyB9XG4uZGlmZi1jb250ZW50IHByZSB7IG1hcmdpbjogMDsgfVxuLmRpZmYtY29udGVudCBjb2RlIHsgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IHBhZGRpbmc6IDA7IH1cbi5kaWZmLWxpbmUtYWRkZWQgeyBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1zdWNjZXNzLTEwKTsgY29sb3I6IHZhcigtLWNvbG9yLXN1Y2Nlc3MpOyB9XG4uZGlmZi1saW5lLXJlbW92ZWQgeyBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1lcnJvci0xMCk7IGNvbG9yOiB2YXIoLS1jb2xvci1lcnJvcik7IH1cbi5kaWZmLWxpbmUtaHVuayB7IGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWluZm8tMTApOyBjb2xvcjogdmFyKC0tY29sb3ItaW5mbyk7IGZvbnQtd2VpZ2h0OiA2MDA7IH1cbi5kaWZmLWxpbmUtaGVhZGVyIHsgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctc2Vjb25kYXJ5KTsgY29sb3I6IHZhcigtLWNvbG9yLWZnKTsgZm9udC13ZWlnaHQ6IDYwMDsgfVxuLmRpZmYtbGluZS11bmNoYW5nZWQgeyBjb2xvcjogdmFyKC0tY29sb3ItZmctbXV0ZWQpOyB9XG4uZGlmZi1hZGRlZCB7IGNvbG9yOiB2YXIoLS1jb2xvci1zdWNjZXNzKTsgfVxuLmRpZmYtcmVtb3ZlZCB7IGNvbG9yOiB2YXIoLS1jb2xvci1lcnJvcik7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEZJTEVTXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uZmlsZXMtZ3JpZCB7IGRpc3BsYXk6IGdyaWQ7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyOyBnYXA6IHZhcigtLXNwLTQpOyB9XG4uZmlsZXMtcGFuZWwgeyBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItMzApOyBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMpOyBwYWRkaW5nOiB2YXIoLS1zcC00KTsgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctdGVydGlhcnktMTApOyB9XG4uZmlsZXMtcGFuZWwtaGVhZGVyIHsgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyBtYXJnaW4tYm90dG9tOiAwLjc1cmVtOyB9XG4uZmlsZXMtcGFuZWwtdGl0bGUgeyBmb250LXNpemU6IDAuODc1cmVtOyBmb250LXdlaWdodDogNjAwOyBjb2xvcjogdmFyKC0tY29sb3ItZmcpOyB9XG4uZmlsZXMtcGFuZWwtYWN0aW9ucyB7IGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGdhcDogMC4yNXJlbTsgfVxuLmZpbGVzLWJyZWFkY3J1bWJzIHsgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsgZ2FwOiAwLjVyZW07IGZvbnQtc2l6ZTogMC44NzVyZW07IG1hcmdpbi1ib3R0b206IDFyZW07IH1cbi5maWxlcy1icmVhZGNydW1iLWxpbmsgeyBjb2xvcjogdmFyKC0tY29sb3ItZmctbXV0ZWQpOyBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgYm9yZGVyOiBub25lOyBwYWRkaW5nOiAwOyBjdXJzb3I6IHBvaW50ZXI7IHRyYW5zaXRpb246IGNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCk7IH1cbi5maWxlcy1icmVhZGNydW1iLWxpbms6aG92ZXIgeyBjb2xvcjogdmFyKC0tY29sb3ItZmcpOyB9XG4uZmlsZXMtYnJlYWRjcnVtYi1jdXJyZW50IHsgY29sb3I6IHZhcigtLWNvbG9yLWZnKTsgZm9udC13ZWlnaHQ6IDYwMDsgfVxuLmZpbGVzLWJyZWFkY3J1bWItc2VwYXJhdG9yIHsgY29sb3I6IHZhcigtLWNvbG9yLWZnLW11dGVkKTsgfVxuLmZpbGVzLWVtcHR5LXN0YXRlIHsgY29sb3I6IHZhcigtLWNvbG9yLWZnLW11dGVkKTsgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuLm5ldy1pdGVtLWZvcm0geyBtYXJnaW4tYm90dG9tOiAwLjc1cmVtOyBwYWRkaW5nOiAwLjVyZW07IGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLXNlY29uZGFyeSk7IGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cyk7IH1cbi5uZXctaXRlbS1mb3JtLWlubmVyIHsgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsgZ2FwOiAwLjVyZW07IH1cbi5uZXctaXRlbS1pbnB1dCB7IGZsZXg6IDE7IGhlaWdodDogMnJlbTsgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzKTsgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyKTsgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmcpOyBwYWRkaW5nOiAwIDAuNXJlbTsgZm9udC1zaXplOiAwLjc1cmVtOyBjb2xvcjogdmFyKC0tY29sb3ItZmcpOyBib3gtc2hhZG93OiB2YXIoLS1zaGFkb3ctc20pOyB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KSwgYm94LXNoYWRvdyB2YXIoLS10cmFuc2l0aW9uLWZhc3QpOyB9XG4ubmV3LWl0ZW0taW5wdXQ6Zm9jdXMgeyBvdXRsaW5lOiBub25lOyBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpOyBib3gtc2hhZG93OiAwIDAgMCAycHggdmFyKC0tY29sb3ItcHJpbWFyeS0zMCk7IH1cbi5maWxlLWxpc3QtaXRlbSB7IGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGdhcDogMC41cmVtOyBwYWRkaW5nOiAwLjM3NXJlbSAwLjVyZW07IGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cyk7IHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KTsgfVxuLmZpbGUtbGlzdC1pdGVtOmhvdmVyIHsgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYm9yZGVyLTMwKTsgfVxuLmZpbGUtbGlzdC1saW5rIHsgZmxleDogMTsgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsgZ2FwOiAwLjVyZW07IGN1cnNvcjogcG9pbnRlcjsgZm9udC1zaXplOiAwLjg3NXJlbTsgY29sb3I6IHZhcigtLWNvbG9yLWZnKTsgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4uZmlsZS1saXN0LWxpbms6aG92ZXIgeyB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuLmZpbGUtbGlzdC1hY3Rpb25zIHsgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsgZ2FwOiAwLjI1cmVtOyBvcGFjaXR5OiAwOyB0cmFuc2l0aW9uOiBvcGFjaXR5IHZhcigtLXRyYW5zaXRpb24tZmFzdCk7IH1cbi5maWxlLWxpc3QtaXRlbTpob3ZlciAuZmlsZS1saXN0LWFjdGlvbnMgeyBvcGFjaXR5OiAxOyB9XG4uZnVsbHNjcmVlbi1lZGl0b3IgeyBwb3NpdGlvbjogZml4ZWQ7IGluc2V0OiAwOyB6LWluZGV4OiA1MDsgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmcpOyBkaXNwbGF5OiBmbGV4OyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4uZnVsbHNjcmVlbi1lZGl0b3ItaGVhZGVyIHsgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctc2Vjb25kYXJ5LTk1KTsgYmFja2Ryb3AtZmlsdGVyOiBibHVyKDEwcHgpOyBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLTIwKTsgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyBwYWRkaW5nOiAwLjc1cmVtIDFyZW07IH1cbi5mdWxsc2NyZWVuLWVkaXRvci10aXRsZSB7IGZvbnQtc2l6ZTogMC44NzVyZW07IGZvbnQtd2VpZ2h0OiA2MDA7IGNvbG9yOiB2YXIoLS1jb2xvci1mZyk7IGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGdhcDogMC41cmVtOyB9XG4uZnVsbHNjcmVlbi1lZGl0b3ItYWN0aW9ucyB7IGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGdhcDogMC41cmVtOyB9XG4uZnVsbHNjcmVlbi1lZGl0b3ItY29udGVudCB7IGZsZXg6IDE7IG92ZXJmbG93OiBhdXRvOyBwYWRkaW5nOiB2YXIoLS1zcC02KTsgfVxuLmZ1bGxzY3JlZW4tZWRpdG9yLWZvcm0geyBtYXgtd2lkdGg6IDgwcmVtOyBtYXJnaW46IDAgYXV0bzsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgU0NSSVBUU1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnNjcmlwdHMtbGF5b3V0IHsgZGlzcGxheTogZ3JpZDsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxNnJlbSAxZnI7IGdhcDogdmFyKC0tc3AtNCk7IG1pbi1oZWlnaHQ6IGNhbGMoMTAwdmggLSA4cmVtKTsgfVxuLnNjcmlwdHMtc2lkZWJhciB7IGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLXNlY29uZGFyeSk7IGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlcik7IGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cyk7IG92ZXJmbG93OiBoaWRkZW47IH1cbi5zY3JpcHRzLXNpZGViYXItc2VjdGlvbiB7IHBhZGRpbmc6IHZhcigtLXNwLTQpOyB9XG4uc2NyaXB0cy1saXN0LWl0ZW0geyBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IGdhcDogdmFyKC0tc3AtMik7IHBhZGRpbmc6IHZhcigtLXNwLTIpOyBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMpOyB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCk7IH1cbi5zY3JpcHRzLWxpc3QtaXRlbTpob3ZlciB7IGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLXRlcnRpYXJ5KTsgfVxuLnNjcmlwdHMtbGlzdC1pdGVtIGEgeyB0ZXh0LWRlY29yYXRpb246IG5vbmU7IGNvbG9yOiB2YXIoLS1jb2xvci1mZyk7IH1cbi5zY3JpcHRzLWRlbGV0ZS1idG4geyBvcGFjaXR5OiAwOyBjb2xvcjogdmFyKC0tY29sb3ItZXJyb3IpOyB0cmFuc2l0aW9uOiBvcGFjaXR5IHZhcigtLXRyYW5zaXRpb24tZmFzdCk7IH1cbi5zY3JpcHRzLWxpc3QtaXRlbTpob3ZlciAuc2NyaXB0cy1kZWxldGUtYnRuIHsgb3BhY2l0eTogMTsgfVxuLnNjcmlwdHMtbWFpbi1jb250ZW50IHsgZmxleDogMTsgb3ZlcmZsb3cteTogYXV0bzsgfVxuLnNjcmlwdHMtZm9ybS1jb250YWluZXIgeyBwYWRkaW5nOiB2YXIoLS1zcC02KTsgbWF4LXdpZHRoOiB2YXIoLS1jb250YWluZXIteGwpOyBtYXJnaW46IDAgYXV0bzsgd2lkdGg6IDEwMCU7IH1cbi5zY3JpcHRzLWVtcHR5LXN0YXRlIHsgZGlzcGxheTogZmxleDsgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgYWxpZ24taXRlbXM6IGNlbnRlcjsganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IGhlaWdodDogMTAwJTsgY29sb3I6IHZhcigtLWNvbG9yLWZnLW11dGVkKTsgdGV4dC1hbGlnbjogY2VudGVyOyBwYWRkaW5nOiB2YXIoLS1zcC04KTsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQk9PS0lOR1NcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi50cmFuc2FjdGlvbnMtc2VjdGlvbi1oZWFkZXIgeyBtYXJnaW4tYm90dG9tOiAxcmVtOyBwYWRkaW5nLWJvdHRvbTogMC41cmVtOyBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyKTsgfVxuLmJvb2tpbmdzLWdyb3VwLWhlYWRlciB7IHdpZHRoOiAxMDAlOyBwYWRkaW5nOiB2YXIoLS1zcC0yKSB2YXIoLS1zcC00KTsgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctdGVydGlhcnktMjApOyBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyKTsgcG9zaXRpb246IHN0aWNreTsgdG9wOiAwOyB6LWluZGV4OiAxMDsgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB0ZXh0LWFsaWduOiBsZWZ0OyBjdXJzb3I6IHBvaW50ZXI7IHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KTsgYm9yZGVyOiBub25lOyB9XG4uYm9va2luZ3MtZ3JvdXAtaGVhZGVyOmhvdmVyIHsgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctdGVydGlhcnktMzApOyB9XG4uZ3JvdXAtdGl0bGUsIC50b3RhbHMtbGFiZWwgeyBmb250LXNpemU6IDAuNzVyZW07IGZvbnQtd2VpZ2h0OiA2MDA7IHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IGxldHRlci1zcGFjaW5nOiAwLjA3NWVtOyBjb2xvcjogdmFyKC0tY29sb3ItZmcpOyB9XG4uZ3JvdXAtY291bnQgeyBmb250LXNpemU6IDAuNzVyZW07IGNvbG9yOiB2YXIoLS1jb2xvci1mZy1tdXRlZCk7IG1hcmdpbi1sZWZ0OiAwLjI1cmVtOyB9XG4uZ3JvdXAtdG90YWwgeyBmb250LXNpemU6IDAuNzVyZW07IGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LW1vbm8pOyBmb250LXdlaWdodDogNjAwOyBjb2xvcjogdmFyKC0tY29sb3ItZmcpOyB9XG4uYm9va2luZ3MtdG90YWxzLWZvb3RlciB7IHBhZGRpbmc6IHZhcigtLXNwLTMpIHZhcigtLXNwLTQpOyBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy10ZXJ0aWFyeS00MCk7IGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXIpOyB9XG4udG90YWxzLWFtb3VudCB7IGZvbnQtc2l6ZTogMC44NzVyZW07IGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LW1vbm8pOyBmb250LXdlaWdodDogNzAwOyBjb2xvcjogdmFyKC0tY29sb3ItZmcpOyB9XG4uYm9va2luZ3MtcGFnZSwgLnNhbGFyeS1zdGF0ZW1lbnQtcGFnZSB7IG1pbi1oZWlnaHQ6IDEwMHZoOyBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZyk7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEVNUExPWUVFU1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmVtcGxveWVlLWNhcmQgeyBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXIpOyBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbGcpOyBvdmVyZmxvdzogaGlkZGVuOyB0cmFuc2l0aW9uOiBib3gtc2hhZG93IHZhcigtLXRyYW5zaXRpb24pOyB9XG4uZW1wbG95ZWUtY2FyZDpob3ZlciB7IGJveC1zaGFkb3c6IDAgNHB4IDEycHggdmFyKC0tY29sb3ItZmctMTApOyB9XG4uZW1wbG95ZWUtY2FyZC5mb3JtZXIgeyBvcGFjaXR5OiAwLjc1OyBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLWJvcmRlci01MCk7IGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLXNlY29uZGFyeSk7IH1cbi5lbXBsb3llZS1jYXJkLWhlYWRlciB7IHBhZGRpbmc6IHZhcigtLXNwLTQpIHZhcigtLXNwLTYpOyBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLTUwKTsgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCB2YXIoLS1jb2xvci1wcmltYXJ5LTEwKSwgdmFyKC0tY29sb3ItcHJpbWFyeS01KSk7IH1cbi5lbXBsb3llZS1jYXJkLWhlYWRlci5mb3JtZXIgeyBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy10ZXJ0aWFyeS01MCk7IH1cbi5zYWxhcnktaW5mby1jYXJkLCAucGVyaW9kLWNhcmQgeyBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMpOyBwYWRkaW5nOiB2YXIoLS1zcC0zKTsgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctc2Vjb25kYXJ5LTUwKTsgfVxuLnNhbGFyeS1pbmZvLWNhcmQuZm9ybWVyIHsgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctdGVydGlhcnktNTApOyB9XG4uc2FsYXJ5LXByZXZpZXctc2VjdGlvbiB7IG1hcmdpbi10b3A6IHZhcigtLXNwLTgpOyBwYWRkaW5nLXRvcDogdmFyKC0tc3AtNik7IGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXIpOyB9XG4uc2FsYXJ5LWhlYWRlciB7IHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcC00KTsgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3AtNCk7IGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXIpOyB9XG4uc2FsYXJ5LXRhYmxlIHsgd2lkdGg6IDEwMCU7IGZvbnQtc2l6ZTogMC44NzVyZW07IH1cbi5zYWxhcnktdGFibGUgdGggeyBwYWRkaW5nOiB2YXIoLS1zcC0yKSAwOyBmb250LXdlaWdodDogNjAwOyBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyKTsgfVxuLnNhbGFyeS10YWJsZSB0ZCB7IHBhZGRpbmc6IHZhcigtLXNwLTIpIDA7IH1cbi5zYWxhcnktdGFibGUgLm51bWVyaWMgeyB0ZXh0LWFsaWduOiByaWdodDsgfVxuLnNhbGFyeS10YWJsZSAuc3VidG90YWwgeyBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy10ZXJ0aWFyeS01MCk7IH1cbi5zYWxhcnktdGFibGUgLnN1YnRvdGFsIHRkLCAuc2FsYXJ5LXRhYmxlIC50b3RhbCB0ZCB7IHBhZGRpbmc6IHZhcigtLXNwLTIpIHZhcigtLXNwLTEpOyB9XG4uc2FsYXJ5LXRhYmxlIC50b3RhbCB7IGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXByaW1hcnktMTApOyB9XG4uc2FsYXJ5LXN1bW1hcnkgeyBtYXJnaW4tdG9wOiB2YXIoLS1zcC02KTsgcGFkZGluZy10b3A6IHZhcigtLXNwLTQpOyBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyKTsgfVxuLnNlY3Rpb24taGVhZGVyLXJvdyB7IG1hcmdpbi1ib3R0b206IHZhcigtLXNwLTMpOyB9XG4uc2VjdGlvbi1kaXZpZGVyIHsgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlcik7IHBhZGRpbmctdG9wOiAxcmVtOyBtYXJnaW4tYm90dG9tOiAxcmVtOyB9XG5cbi8qIFJhdyBMZWRnZXIgKi9cbi5yYXctbGVkZ2VyLXNlY3Rpb24geyBwYWRkaW5nLXRvcDogMXJlbTsgbWFyZ2luLXRvcDogMXJlbTsgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlcik7IH1cbi5yYXctbGVkZ2VyLXRvZ2dsZSB7IGRpc3BsYXk6IGlubGluZS1mbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBnYXA6IDAuNXJlbTsgZm9udC1zaXplOiAwLjc1cmVtOyBjb2xvcjogdmFyKC0tY29sb3ItZmctbXV0ZWQpOyBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgYm9yZGVyOiBub25lOyBjdXJzb3I6IHBvaW50ZXI7IHBhZGRpbmc6IDA7IHRyYW5zaXRpb246IGNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCk7IH1cbi5yYXctbGVkZ2VyLXRvZ2dsZTpob3ZlciB7IGNvbG9yOiB2YXIoLS1jb2xvci1mZyk7IH1cbi5yYXctbGVkZ2VyLWNvbnRlbnQgeyBtYXJnaW4tdG9wOiAwLjc1cmVtOyBwYWRkaW5nOiAwLjc1cmVtOyBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy1zZWNvbmRhcnkpOyBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMpOyBmb250LXNpemU6IDAuNzVyZW07IG92ZXJmbG93LXg6IGF1dG87IH1cblxuLyogV2lzZSBSdWxlcyAqL1xuLnJ1bGUtcm93IHsgZGlzcGxheTogZmxleDsgcGFkZGluZzogdmFyKC0tc3AtMik7IGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLXNlY29uZGFyeSk7IGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cyk7IGZsZXgtd3JhcDogd3JhcDsgfVxuLnJ1bGUtcm93IHNlbGVjdCwgLnJ1bGUtcm93IGlucHV0IHsgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQURNSU5cbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5hZG1pbi1sYXlvdXQgeyBtaW4taGVpZ2h0OiAxMDB2aDsgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmcpOyB9XG4uYWRtaW4tc2lkZWJhciB7IHdpZHRoOiAxNnJlbTsgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctc2Vjb25kYXJ5KTsgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyKTsgbWluLWhlaWdodDogMTAwdmg7IH1cbi5hZG1pbi1uYXYtaXRlbSB7IGRpc3BsYXk6IGJsb2NrOyBwYWRkaW5nOiB2YXIoLS1zcC0yKSB2YXIoLS1zcC00KTsgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzKTsgY29sb3I6IHZhcigtLWNvbG9yLWZnLW11dGVkKTsgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCksIGNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCk7IH1cbi5hZG1pbi1uYXYtaXRlbTpob3ZlciB7IGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLXRlcnRpYXJ5KTsgY29sb3I6IHZhcigtLWNvbG9yLWZnKTsgfVxuLmFkbWluLW5hdi1pdGVtLmFjdGl2ZSB7IGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXByaW1hcnktMTUpOyBjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7IGZvbnQtd2VpZ2h0OiA1MDA7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFNFVFVQIFdJWkFSRFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnNldHVwLXN0ZXBwZXIgeyBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcC02KTsgfVxuLnNldHVwLXN0ZXBwZXItbGlzdCB7IGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgZ2FwOiAwOyBsaXN0LXN0eWxlOiBub25lOyBtYXJnaW46IDA7IHBhZGRpbmc6IDA7IH1cbi5zZXR1cC1zdGVwcGVyLWl0ZW0geyBkaXNwbGF5OiBmbGV4OyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyBhbGlnbi1pdGVtczogY2VudGVyOyBwb3NpdGlvbjogcmVsYXRpdmU7IGZsZXg6IDE7IG1heC13aWR0aDogMTByZW07IH1cbi5zZXR1cC1zdGVwcGVyLWluZGljYXRvciB7IHdpZHRoOiAycmVtOyBoZWlnaHQ6IDJyZW07IGJvcmRlci1yYWRpdXM6IDUwJTsgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IGZvbnQtc2l6ZTogMC43NXJlbTsgZm9udC13ZWlnaHQ6IDYwMDsgdHJhbnNpdGlvbjogYWxsIHZhcigtLXRyYW5zaXRpb24pOyB6LWluZGV4OiAxOyBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZyk7IGJvcmRlcjogMnB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlcik7IGNvbG9yOiB2YXIoLS1jb2xvci1mZy1tdXRlZCk7IH1cbi5zZXR1cC1zdGVwcGVyLWl0ZW0uY29tcGxldGUgLnNldHVwLXN0ZXBwZXItaW5kaWNhdG9yIHsgYmFja2dyb3VuZDogdmFyKC0tY29sb3Itc3VjY2Vzcyk7IGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3Itc3VjY2Vzcyk7IGNvbG9yOiB3aGl0ZTsgfVxuLnNldHVwLXN0ZXBwZXItaXRlbS5jdXJyZW50IC5zZXR1cC1zdGVwcGVyLWluZGljYXRvciB7IGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXByaW1hcnkpOyBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpOyBjb2xvcjogd2hpdGU7IH1cbi5zZXR1cC1zdGVwcGVyLWl0ZW0ucGVuZGluZyAuc2V0dXAtc3RlcHBlci1pbmRpY2F0b3IgeyBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy1zZWNvbmRhcnkpOyBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLWJvcmRlcik7IGNvbG9yOiB2YXIoLS1jb2xvci1mZy1tdXRlZCk7IH1cbi5zZXR1cC1zdGVwcGVyLW51bWJlciB7IGZvbnQtdmFyaWFudC1udW1lcmljOiB0YWJ1bGFyLW51bXM7IH1cbi5zZXR1cC1zdGVwcGVyLWxhYmVsIHsgbWFyZ2luLXRvcDogdmFyKC0tc3AtMik7IGZvbnQtc2l6ZTogMC43NXJlbTsgdGV4dC1hbGlnbjogY2VudGVyOyBjb2xvcjogdmFyKC0tY29sb3ItZmctbXV0ZWQpOyBsaW5lLWhlaWdodDogMS4zOyB9XG4uc2V0dXAtc3RlcHBlci1pdGVtLmN1cnJlbnQgLnNldHVwLXN0ZXBwZXItbGFiZWwgeyBjb2xvcjogdmFyKC0tY29sb3ItZmcpOyBmb250LXdlaWdodDogNTAwOyB9XG4uc2V0dXAtc3RlcHBlci1pdGVtLmNvbXBsZXRlIC5zZXR1cC1zdGVwcGVyLWxhYmVsIHsgY29sb3I6IHZhcigtLWNvbG9yLXN1Y2Nlc3MpOyB9XG4uc2V0dXAtc3RlcHBlci1jb25uZWN0b3IgeyBwb3NpdGlvbjogYWJzb2x1dGU7IHRvcDogMXJlbTsgbGVmdDogY2FsYyg1MCUgKyAxcmVtKTsgd2lkdGg6IGNhbGMoMTAwJSAtIDJyZW0pOyBoZWlnaHQ6IDJweDsgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYm9yZGVyKTsgfVxuLnNldHVwLXN0ZXBwZXItaXRlbS5jb21wbGV0ZSAuc2V0dXAtc3RlcHBlci1jb25uZWN0b3IgeyBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1zdWNjZXNzKTsgfVxuXG4vKiBDb21wbGV0ZWQgU3RlcCBSb3cgKi9cbi5jb21wbGV0ZWQtc3RlcC1yb3cgeyBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBnYXA6IHZhcigtLXNwLTMpOyBwYWRkaW5nOiB2YXIoLS1zcC0zKTsgYmFja2dyb3VuZDogdmFyKC0tY29sb3Itc3VjY2Vzcy0xMCk7IGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNvbG9yLXN1Y2Nlc3MtMjApOyBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMpOyBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcC0zKTsgfVxuLmNvbXBsZXRlZC1zdGVwLWxhYmVsIHsgZm9udC1zaXplOiAwLjg3NXJlbTsgZm9udC13ZWlnaHQ6IDUwMDsgY29sb3I6IHZhcigtLWNvbG9yLWZnKTsgfVxuLmNvbXBsZXRlZC1zdGVwLXZhbHVlIHsgZm9udC1zaXplOiAwLjc1cmVtOyBjb2xvcjogdmFyKC0tY29sb3ItZmctbXV0ZWQpOyBtYXJnaW4tbGVmdDogYXV0bzsgb3ZlcmZsb3c6IGhpZGRlbjsgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7IHdoaXRlLXNwYWNlOiBub3dyYXA7IG1heC13aWR0aDogNTAlOyB9XG5cbi8qIExvY2tlZCBTdGVwIFJvdyAqL1xuLmxvY2tlZC1zdGVwLXJvdyB7IGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGdhcDogdmFyKC0tc3AtMyk7IHBhZGRpbmc6IHZhcigtLXNwLTMpOyBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy1zZWNvbmRhcnkpOyBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXIpOyBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMpOyBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcC0zKTsgb3BhY2l0eTogMC42OyB9XG4ubG9ja2VkLXN0ZXAtcm93IHNwYW4geyBmb250LXNpemU6IDAuODc1cmVtOyBjb2xvcjogdmFyKC0tY29sb3ItZmctbXV0ZWQpOyB9XG4ubG9ja2VkLXN0ZXAtaGludCB7IG1hcmdpbi1sZWZ0OiBhdXRvOyBmb250LXNpemU6IDAuNzVyZW07IH1cblxuLyogU2V0dXAgU3RlcCBDYXJkICovXG4uc2V0dXAtc3RlcC1jYXJkIHsgcGFkZGluZzogdmFyKC0tc3AtNCk7IGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnKTsgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sb3ItcHJpbWFyeS0zMCk7IGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1sZyk7IG1hcmdpbi1ib3R0b206IHZhcigtLXNwLTQpOyB9XG4uc2V0dXAtc3RlcC10aXRsZSB7IGZvbnQtc2l6ZTogMC44NzVyZW07IGZvbnQtd2VpZ2h0OiA2MDA7IGNvbG9yOiB2YXIoLS1jb2xvci1mZyk7IG1hcmdpbi1ib3R0b206IHZhcigtLXNwLTMpOyBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBnYXA6IHZhcigtLXNwLTIpOyB9XG4uc2V0dXAtc3RlcC1jb250ZW50IHsgZm9udC1zaXplOiAwLjg3NXJlbTsgY29sb3I6IHZhcigtLWNvbG9yLWZnKTsgfVxuLnNldHVwLXN0ZXAtY29udGVudCBwIHsgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3AtMyk7IGNvbG9yOiB2YXIoLS1jb2xvci1mZy1tdXRlZCk7IH1cbi5zZXR1cC1zdGVwLWNvbnRlbnQgb2wgeyBtYXJnaW46IHZhcigtLXNwLTMpIDA7IHBhZGRpbmctbGVmdDogdmFyKC0tc3AtNCk7IH1cbi5zZXR1cC1zdGVwLWNvbnRlbnQgb2wgbGkgeyBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcC0yKTsgY29sb3I6IHZhcigtLWNvbG9yLWZnLW11dGVkKTsgfVxuXG4vKiBUaW1lIFdhcm5pbmcgKi9cbi50aW1lLXdhcm5pbmcgeyBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogZmxleC1zdGFydDsgZ2FwOiB2YXIoLS1zcC0zKTsgcGFkZGluZzogdmFyKC0tc3AtNCk7IGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXdhcm5pbmctMTApOyBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jb2xvci13YXJuaW5nLTMwKTsgYm9yZGVyLWxlZnQ6IDRweCBzb2xpZCB2YXIoLS1jb2xvci13YXJuaW5nKTsgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzKTsgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3AtNCk7IH1cbi50aW1lLXdhcm5pbmctaWNvbiB7IGZsZXgtc2hyaW5rOiAwOyBjb2xvcjogdmFyKC0tY29sb3Itd2FybmluZyk7IH1cbi50aW1lLXdhcm5pbmctY29udGVudCB7IGZsZXg6IDE7IH1cbi50aW1lLXdhcm5pbmctdGl0bGUgeyBmb250LXNpemU6IDAuODc1cmVtOyBmb250LXdlaWdodDogNjAwOyBjb2xvcjogdmFyKC0tY29sb3ItZmcpOyBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcC0xKTsgfVxuLnRpbWUtd2FybmluZy10ZXh0IHsgZm9udC1zaXplOiAwLjc1cmVtOyBjb2xvcjogdmFyKC0tY29sb3ItZmctbXV0ZWQpOyB9XG5cbi8qIENvbm5lY3RlZCBTdGF0dXMgQ2FyZCAqL1xuLmNvbm5lY3RlZC1zdGF0dXMtY2FyZCB7IHBhZGRpbmc6IHZhcigtLXNwLTQpOyBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1zdWNjZXNzLTUpOyBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1zdWNjZXNzLTIwKTsgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLWxnKTsgfVxuLmNvbm5lY3RlZC1zdGF0dXMtaGVhZGVyIHsgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsgZ2FwOiB2YXIoLS1zcC0zKTsgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3AtNCk7IH1cbi5jb25uZWN0ZWQtc3RhdHVzLXRpdGxlIHsgZm9udC1zaXplOiAxcmVtOyBmb250LXdlaWdodDogNjAwOyBjb2xvcjogdmFyKC0tY29sb3ItZmcpOyB9XG4uY29ubmVjdGVkLXN0YXR1cy1iYWRnZSB7IGZvbnQtc2l6ZTogMC42MjVyZW07IGZvbnQtd2VpZ2h0OiA2MDA7IHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IGxldHRlci1zcGFjaW5nOiAwLjA1ZW07IHBhZGRpbmc6IHZhcigtLXNwLTEpIHZhcigtLXNwLTIpOyBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMpOyBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy1zZWNvbmRhcnkpOyBjb2xvcjogdmFyKC0tY29sb3ItZmctbXV0ZWQpOyBtYXJnaW4tbGVmdDogYXV0bzsgfVxuLmNvbm5lY3RlZC1zdGF0dXMtYmFkZ2UucHJvZHVjdGlvbiB7IGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXN1Y2Nlc3MtMjApOyBjb2xvcjogdmFyKC0tY29sb3Itc3VjY2Vzcyk7IH1cbi5jb25uZWN0ZWQtc3RhdHVzLWJhZGdlLnNhbmRib3ggeyBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci13YXJuaW5nLTIwKTsgY29sb3I6IHZhcigtLWNvbG9yLXdhcm5pbmcpOyB9XG4uY29ubmVjdGVkLXN0YXR1cy1ncmlkIHsgZGlzcGxheTogZ3JpZDsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTsgZ2FwOiB2YXIoLS1zcC00KTsgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3AtNCk7IH1cbi5jb25uZWN0ZWQtc3RhdHVzLWFjdGlvbnMgeyBkaXNwbGF5OiBmbGV4OyBmbGV4LXdyYXA6IHdyYXA7IGdhcDogdmFyKC0tc3AtMik7IHBhZGRpbmctdG9wOiB2YXIoLS1zcC0zKTsgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci01MCk7IH1cblxuLyogQWR2YW5jZWQgT3B0aW9ucyBTZWN0aW9uICovXG4uYWR2YW5jZWQtb3B0aW9ucy1zZWN0aW9uIHsgbWFyZ2luLXRvcDogdmFyKC0tc3AtNik7IHBhZGRpbmctdG9wOiB2YXIoLS1zcC00KTsgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlcik7IH1cbi5hZHZhbmNlZC1vcHRpb25zLXN1bW1hcnkgeyBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBnYXA6IHZhcigtLXNwLTIpOyBmb250LXNpemU6IDAuNzVyZW07IGNvbG9yOiB2YXIoLS1jb2xvci1mZy1tdXRlZCk7IGN1cnNvcjogcG9pbnRlcjsgcGFkZGluZzogdmFyKC0tc3AtMikgMDsgfVxuLmFkdmFuY2VkLW9wdGlvbnMtc3VtbWFyeTpob3ZlciB7IGNvbG9yOiB2YXIoLS1jb2xvci1mZyk7IH1cbi5hZHZhbmNlZC1vcHRpb25zLWNvbnRlbnQgeyBtYXJnaW4tdG9wOiB2YXIoLS1zcC00KTsgfVxuLmFkdmFuY2VkLW9wdGlvbnMtY29udGVudCBkZXRhaWxzIHsgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3AtMyk7IHBhZGRpbmc6IHZhcigtLXNwLTMpOyBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy1zZWNvbmRhcnkpOyBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMpOyB9XG4uYWR2YW5jZWQtb3B0aW9ucy1jb250ZW50IHN1bW1hcnkgeyBmb250LXNpemU6IDAuODc1cmVtOyBmb250LXdlaWdodDogNTAwOyBjdXJzb3I6IHBvaW50ZXI7IGNvbG9yOiB2YXIoLS1jb2xvci1mZy1tdXRlZCk7IH1cbi5hZHZhbmNlZC1vcHRpb25zLWNvbnRlbnQgc3VtbWFyeTpob3ZlciB7IGNvbG9yOiB2YXIoLS1jb2xvci1mZyk7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIE1JU0NcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5hY2NvdW50LWJhZGdlIHsgZGlzcGxheTogaW5saW5lLWZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IHBhZGRpbmc6IDAuMjVyZW0gMC41cmVtOyBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy1zZWNvbmRhcnkpOyBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMpOyBmb250LXNpemU6IDAuODc1cmVtOyB9XG4ubGFuZGluZy1saW5rLWNhcmQgeyBkaXNwbGF5OiBmbGV4OyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyBhbGlnbi1pdGVtczogY2VudGVyOyBnYXA6IHZhcigtLXNwLTMpOyBwYWRkaW5nOiB2YXIoLS1zcC02KTsgdGV4dC1hbGlnbjogY2VudGVyOyBmb250LXNpemU6IDAuODc1cmVtOyBmb250LXdlaWdodDogNjAwOyB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gdmFyKC0tdHJhbnNpdGlvbi1mYXN0KSwgYm94LXNoYWRvdyB2YXIoLS10cmFuc2l0aW9uLWZhc3QpOyB9XG4ubGFuZGluZy1saW5rLWNhcmQ6aG92ZXIgeyB0cmFuc2Zvcm06IHNjYWxlKDEuMDIpOyB9XG4ubGFuZGluZy10ZXh0LWxpbmsgeyBwYWRkaW5nOiB2YXIoLS1zcC0xKSB2YXIoLS1zcC0yKTsgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzKTsgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpOyB9XG4ubGFuZGluZy10ZXh0LWxpbms6aG92ZXIgeyBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy1zZWNvbmRhcnkpOyB9XG4iLCAiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFJFU1BPTlNJVkUgU1RZTEVTXG4gICBNZWRpYSBxdWVyaWVzIGZvciB0YWJsZXQgYW5kIGRlc2t0b3AgYnJlYWtwb2ludHMuXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgVEFCTEVUKyAoNzY4cHgpXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmFwcC1sYXlvdXQgeyBmbGV4LWRpcmVjdGlvbjogcm93OyB9XG4gIC5hcHAtY29udGVudCB7IHBhZGRpbmctYm90dG9tOiAyLjVyZW07IH1cbiAgLmNvbnRlbnQtYXJlYSB7IHBhZGRpbmc6IHZhcigtLXNwLTgpOyBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC5zaWRlYmFyLW5hdiB7IGRpc3BsYXk6IGZsZXg7IH1cbiAgLm1vYmlsZS1uYXYgeyBkaXNwbGF5OiBub25lOyB9XG4gIC5wYWdlLWhlYWRlciB7IHBhZGRpbmc6IHZhcigtLXNwLTIpIHZhcigtLXNwLTYpOyBnYXA6IHZhcigtLXNwLTMpOyB9XG4gIC5wYWdlLWhlYWRlci1zZWxlY3RvcnMgeyBkaXNwbGF5OiBmbGV4OyB9XG4gIC5maWx0ZXItYmFyIHsgcGFkZGluZzogdmFyKC0tc3AtMykgdmFyKC0tc3AtNik7IGdhcDogdmFyKC0tc3AtNCk7IH1cbiAgLmZpbHRlci1iYXItc2VhcmNoIHsgd2lkdGg6IGF1dG87IGZsZXg6IDE7IG1pbi13aWR0aDogMTJyZW07IG1heC13aWR0aDogMjByZW07IH1cbiAgLmZpbHRlci1tZW51LWdyaWQgeyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpOyB9XG4gIC5hZHZhbmNlZC1maWx0ZXJzIHsgcGFkZGluZzogMC41cmVtIDEuNXJlbTsgfVxuICAubWV0cmljcy1ncmlkIHsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTsgfVxuICAuZGV0YWlsLWdyaWQuY29scy00IHsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNCwgMWZyKTsgfVxuICAucGRmLXZpZXdlci1mcmFtZSB7IGhlaWdodDogODIwcHg7IH1cbiAgLnBvc3Rpbmctcm93IHsgZmxleC1kaXJlY3Rpb246IHJvdzsgfVxufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgTU9CSUxFIChtYXggNzY3cHgpXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5AbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLmNvbC0xLCAuY29sLTIsIC5jb2wtMywgLmNvbC00LCAuY29sLTUsIC5jb2wtNiwgLmNvbC03LCAuY29sLTgsIC5jb2wtOSwgLmNvbC0xMCwgLmNvbC0xMSwgLmNvbC0xMiB7IGdyaWQtY29sdW1uOiBzcGFuIDEyOyB9XG4gIC5wb3N0aW5nLXJvdyB7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgLnBvc3Rpbmctcm93ID4gZGl2IHsgd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfVxuICAuc2NyaXB0cy1sYXlvdXQgeyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjsgfVxufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgREVTS1RPUCAoMTAyNHB4KVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAuZmlsdGVyLW1lbnUtZ3JpZCB7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDQsIDFmcik7IH1cbiAgLmZpbGVzLWdyaWQgeyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpOyB9XG4gIC5waG9lbml4LWxhbmRpbmctYmcgeyBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyBsZWZ0OiA0MHJlbTsgfVxufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgTEFSR0UgREVTS1RPUCAoMTI4MHB4KVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuQG1lZGlhIChtaW4td2lkdGg6IDEyODBweCkge1xuICAubWV0cmljcy1ncmlkIHsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNCwgMWZyKTsgfVxuICAucGhvZW5peC1sYW5kaW5nLWJnIHsgbGVmdDogNTByZW07IH1cbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFNFVFVQIFdJWkFSRCBSRVNQT05TSVZFXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5AbWVkaWEgKG1heC13aWR0aDogNjQwcHgpIHtcbiAgLnNldHVwLXN0ZXBwZXItbGlzdCB7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IGFsaWduLWl0ZW1zOiBzdHJldGNoOyBnYXA6IHZhcigtLXNwLTIpOyB9XG4gIC5zZXR1cC1zdGVwcGVyLWl0ZW0geyBmbGV4LWRpcmVjdGlvbjogcm93OyBtYXgtd2lkdGg6IG5vbmU7IGdhcDogdmFyKC0tc3AtMyk7IH1cbiAgLnNldHVwLXN0ZXBwZXItbGFiZWwgeyBtYXJnaW4tdG9wOiAwOyB0ZXh0LWFsaWduOiBsZWZ0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 */
