/*!**********************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[2]!./node_modules/@fontsource-variable/atkinson-hyperlegible-next/index.css ***!
  \**********************************************************************************************************************************************************************************************************************************************/
/* atkinson-hyperlegible-next-latin-ext-wght-normal */
@font-face {
  font-family: 'Atkinson Hyperlegible Next Variable';
  font-style: normal;
  font-display: swap;
  font-weight: 200 800;
  src: url(/build/fonts/atkinson-hyperlegible-next-latin-ext-wght-normal.0ef2fa98.woff2) format('woff2-variations');
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}

/* atkinson-hyperlegible-next-latin-wght-normal */
@font-face {
  font-family: 'Atkinson Hyperlegible Next Variable';
  font-style: normal;
  font-display: swap;
  font-weight: 200 800;
  src: url(/build/fonts/atkinson-hyperlegible-next-latin-wght-normal.fbe029ba.woff2) format('woff2-variations');
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
/*!*********************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[2]!./assets/styles/app.css ***!
  \*********************************************************************************************************************************************************************************************/
/*! tailwindcss v4.3.0 | MIT License | https://tailwindcss.com */
@layer properties;
@layer theme, base, components, utilities;
@layer theme {
  :root, :host {
    --font-sans: 'Atkinson Hyperlegible Next Variable', ui-sans-serif, system-ui, sans-serif;
    --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono",
      "Courier New", monospace;
    --color-gray-50: oklch(98.5% 0.002 247.839);
    --color-gray-100: oklch(96.7% 0.003 264.542);
    --color-gray-200: oklch(92.8% 0.006 264.531);
    --color-gray-300: oklch(87.2% 0.01 258.338);
    --color-gray-400: oklch(70.7% 0.022 261.325);
    --color-gray-500: oklch(55.1% 0.027 264.364);
    --color-gray-600: oklch(44.6% 0.03 256.802);
    --color-gray-700: oklch(37.3% 0.034 259.733);
    --color-gray-800: oklch(27.8% 0.033 256.848);
    --color-gray-900: oklch(21% 0.034 264.665);
    --default-transition-duration: 150ms;
    --default-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    --default-font-family: var(--font-sans);
    --default-mono-font-family: var(--font-mono);
    --color-primary: #0f2a4a;
    --color-primary-dark: #0a1e35;
    --color-primary-text: #ffffff;
    --color-accent: #9c6400;
    --color-accent-dark: #7a4e00;
    --color-accent-text: #ffffff;
    --color-success: #16a34a;
    --color-success-dark: #15803d;
    --color-success-text: #ffffff;
    --color-danger: #dc2626;
    --color-danger-dark: #b91c1c;
    --color-danger-text: #ffffff;
    --color-warning: #d97706;
    --color-warning-dark: #b45309;
    --color-warning-text: #ffffff;
    --color-info: #0284c7;
    --color-info-dark: #0369a1;
    --color-info-text: #ffffff;
    --color-justify: #7c3aed;
    --color-justify-dark: #5b21b6;
    --color-background: #f4f6f9;
    --color-background-panel: #ffffff;
    --color-text: #0f2a4a;
    --color-text-secondary: #3d5a78;
    --color-text-muted: #7590a8;
    --color-border: #cfd8e3;
    --color-border-light: #e6ebf1;
    --color-text-muted-accessible: #3d5a78;
  }
}
@layer base {
  *, ::after, ::before, ::backdrop, ::file-selector-button {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
    border: 0 solid;
  }
  html, :host {
    line-height: 1.5;
    -webkit-text-size-adjust: 100%;
    -moz-tab-size: 4;
      -o-tab-size: 4;
         tab-size: 4;
    font-family: var(--default-font-family, ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");
    font-feature-settings: var(--default-font-feature-settings, normal);
    font-variation-settings: var(--default-font-variation-settings, normal);
    -webkit-tap-highlight-color: transparent;
  }
  hr {
    height: 0;
    color: inherit;
    border-top-width: 1px;
  }
  abbr:where([title]) {
    -webkit-text-decoration: underline dotted;
    text-decoration: underline dotted;
  }
  h1, h2, h3, h4, h5, h6 {
    font-size: inherit;
    font-weight: inherit;
  }
  a {
    color: inherit;
    -webkit-text-decoration: inherit;
    text-decoration: inherit;
  }
  b, strong {
    font-weight: bolder;
  }
  code, kbd, samp, pre {
    font-family: var(--default-mono-font-family, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);
    font-feature-settings: var(--default-mono-font-feature-settings, normal);
    font-variation-settings: var(--default-mono-font-variation-settings, normal);
    font-size: 1em;
  }
  small {
    font-size: 80%;
  }
  sub, sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline;
  }
  sub {
    bottom: -0.25em;
  }
  sup {
    top: -0.5em;
  }
  table {
    text-indent: 0;
    border-color: inherit;
    border-collapse: collapse;
  }
  :-moz-focusring {
    outline: auto;
  }
  progress {
    vertical-align: baseline;
  }
  summary {
    display: list-item;
  }
  ol, ul, menu {
    list-style: none;
  }
  img, svg, video, canvas, audio, iframe, embed, object {
    display: block;
    vertical-align: middle;
  }
  img, video {
    max-width: 100%;
    height: auto;
  }
  button, input, select, optgroup, textarea, ::file-selector-button {
    font: inherit;
    font-feature-settings: inherit;
    font-variation-settings: inherit;
    letter-spacing: inherit;
    color: inherit;
    border-radius: 0;
    background-color: transparent;
    opacity: 1;
  }
  :where(select:is([multiple], [size])) optgroup {
    font-weight: bolder;
  }
  :where(select:is([multiple], [size])) optgroup option {
    padding-inline-start: 20px;
  }
  ::file-selector-button {
    margin-inline-end: 4px;
  }
  ::-moz-placeholder {
    opacity: 1;
  }
  ::placeholder {
    opacity: 1;
  }
  @supports (not (-webkit-appearance: -apple-pay-button))  or (contain-intrinsic-size: 1px) {
    ::-moz-placeholder {
      color: currentcolor;
      @supports (color: color-mix(in lab, red, red)) {
        color: color-mix(in oklab, currentcolor 50%, transparent);
      }
    }
    ::placeholder {
      color: currentcolor;
      @supports (color: color-mix(in lab, red, red)) {
        color: color-mix(in oklab, currentcolor 50%, transparent);
      }
    }
  }
  textarea {
    resize: vertical;
  }
  ::-webkit-search-decoration {
    -webkit-appearance: none;
  }
  ::-webkit-date-and-time-value {
    min-height: 1lh;
    text-align: inherit;
  }
  ::-webkit-datetime-edit {
    display: inline-flex;
  }
  ::-webkit-datetime-edit-fields-wrapper {
    padding: 0;
  }
  ::-webkit-datetime-edit, ::-webkit-datetime-edit-year-field, ::-webkit-datetime-edit-month-field, ::-webkit-datetime-edit-day-field, ::-webkit-datetime-edit-hour-field, ::-webkit-datetime-edit-minute-field, ::-webkit-datetime-edit-second-field, ::-webkit-datetime-edit-millisecond-field, ::-webkit-datetime-edit-meridiem-field {
    padding-block: 0;
  }
  ::-webkit-calendar-picker-indicator {
    line-height: 1;
  }
  :-moz-ui-invalid {
    box-shadow: none;
  }
  button, input:where([type="button"], [type="reset"], [type="submit"]), ::file-selector-button {
    -webkit-appearance: button;
       -moz-appearance: button;
            appearance: button;
  }
  ::-webkit-inner-spin-button, ::-webkit-outer-spin-button {
    height: auto;
  }
  [hidden]:where(:not([hidden="until-found"])) {
    display: none !important;
  }
}
@layer utilities {
  .btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    font-weight: 500;
    white-space: nowrap;
    border-radius: 0.375rem;
    cursor: pointer;
    transition: all 0.2s;
    i, svg {
      pointer-events: none;
    }
    &:focus:not(:focus-visible) {
      outline: none;
    }
    &:focus-visible {
      outline: 2px solid var(--color-primary);
      outline-offset: 2px;
    }
    &:disabled {
      opacity: 0.5;
      pointer-events: none;
      cursor: default;
    }
  }
  .collapse {
    visibility: collapse;
  }
  .visible {
    visibility: visible;
  }
  .sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
    border-width: 0;
  }
  .fixed {
    position: fixed;
  }
  .relative {
    position: relative;
  }
  .static {
    position: static;
  }
  .container {
    width: 100%;
    @media (width >= 40rem) {
      max-width: 40rem;
    }
    @media (width >= 48rem) {
      max-width: 48rem;
    }
    @media (width >= 64rem) {
      max-width: 64rem;
    }
    @media (width >= 80rem) {
      max-width: 80rem;
    }
    @media (width >= 96rem) {
      max-width: 96rem;
    }
  }
  .btn-icon {
    padding: 0.5rem;
    &.btn-sm {
      padding: 0.375rem;
    }
    &.btn-lg {
      padding: 0.75rem;
    }
    & svg, & i {
      margin: 0;
    }
  }
  .form-control {
    display: block;
    width: 100%;
    border-radius: 0.375rem;
    border: 1px solid var(--color-gray-300);
    background-color: white;
    padding: 0.5rem 0.75rem;
    font-size: 0.875rem;
    color: var(--color-gray-900);
    transition: all 0.15s;
    &::-moz-placeholder {
      color: var(--color-gray-400);
    }
    &::placeholder {
      color: var(--color-gray-400);
    }
    &:focus {
      outline: none;
      ring-width: 2px;
      --tw-ring-color: var(--color-primary);
      border-color: var(--color-primary);
    }
    &:disabled {
      background-color: var(--color-gray-100);
      cursor: not-allowed;
      opacity: 0.7;
    }
  }
  .block {
    display: block;
  }
  .hidden {
    display: none;
  }
  .table {
    display: table;
  }
  .flex-grow {
    flex-grow: 1;
  }
  .grow {
    flex-grow: 1;
  }
  .transform {
    transform: var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,);
  }
  .animate-toast-out {
    animation: toast-out 0.2s ease-in forwards;
  }
  .resize {
    resize: both;
  }
  .overflow-hidden {
    overflow: hidden;
  }
  .border {
    border-style: var(--tw-border-style);
    border-width: 1px;
  }
  .btn-outline {
    background-color: transparent;
    border: 1px solid var(--color-gray-300);
    color: var(--color-gray-700);
    &:hover {
      background-color: var(--color-gray-100);
    }
    &:focus-visible {
      --tw-ring-color: var(--color-gray-400);
    }
  }
  .btn-outline-primary {
    border: 1px solid var(--color-primary);
    color: var(--color-primary);
    &:hover {
      background-color: var(--color-primary);
      color: var(--color-primary-text);
    }
    &:focus-visible {
      --tw-ring-color: var(--color-primary);
    }
  }
  .btn-accent {
    background-color: var(--color-accent);
    color: var(--color-accent-text);
    &:hover {
      background-color: var(--color-accent-dark);
    }
    &:focus-visible {
      --tw-ring-color: var(--color-accent);
    }
  }
  .btn-ghost {
    background-color: transparent;
    color: var(--color-gray-600);
    &:hover {
      background-color: var(--color-gray-100);
    }
    &:focus-visible {
      --tw-ring-color: var(--color-gray-300);
    }
  }
  .btn-primary {
    background-color: var(--color-primary);
    color: var(--color-primary-text);
    &:hover {
      background-color: var(--color-primary-dark);
    }
    &:focus-visible {
      --tw-ring-color: var(--color-primary);
    }
  }
  .btn-lg {
    padding: 0.75rem 1.25rem;
    font-size: 1rem;
  }
  .btn-md {
    padding: 0.5rem 1rem;
    font-size: 0.875rem;
  }
  .btn-sm {
    padding: 0.375rem 0.75rem;
    font-size: 0.875rem;
  }
  .filter {
    filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,);
  }
  .transition {
    transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to, opacity, box-shadow, transform, translate, scale, rotate, filter, backdrop-filter, display, content-visibility, overlay, pointer-events;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }
}
.td--right,
.stat-number {
  font-variant-numeric: tabular-nums;
}
html {
  height: 100%;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
body {
  min-height: 100%;
  background-color: var(--color-background);
  color: var(--color-text);
  font-family: var(--font-sans);
  font-size: 0.875rem;
  padding-bottom: 3rem;
}
main {
  flex: 1;
}
.page {
  max-width: 80rem;
  margin-inline: auto;
  width: 100%;
  padding-inline: 1.5rem;
}
@media (max-width: 640px) {
  .page {
    padding-inline: 1rem;
  }
}
@media (max-width: 480px) {
  .page {
    padding-inline: 0.75rem;
  }
}
.page-header {
  margin-bottom: 1.5rem;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}
.page-title {
  font-size: 1.5rem;
  font-weight: 600;
  letter-spacing: -0.025em;
}
.page-subtitle {
  font-size: 0.875rem;
  color: var(--color-text-secondary);
}
.section {
  margin-bottom: 2rem;
}
.section-title {
  margin-bottom: 0.75rem;
  font-size: 1.125rem;
  font-weight: 500;
}
.empty-state {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding-block: 4rem;
  text-align: center;
  color: var(--color-text-muted-accessible, var(--color-text-muted));
}
:root.dark body {
  background: radial-gradient(ellipse at top, color-mix(in srgb, #f4f6f9 95%, #0f2a4a 5%) 0%, var(--color-background) 70%);
  @supports (color: color-mix(in lab, red, red)) {
    background: radial-gradient(ellipse at top, color-mix(in srgb, var(--color-background) 95%, var(--color-primary) 5%) 0%, var(--color-background) 70%);
  }
}
:root.dark .page {
  filter: drop-shadow(0 0 20px color-mix(in srgb, #0f2a4a 5%, transparent));
  @supports (color: color-mix(in lab, red, red)) {
    filter: drop-shadow(0 0 20px color-mix(in srgb, var(--color-primary) 5%, transparent));
  }
}
:root.dark .page-title {
  background: linear-gradient(135deg, var(--color-text) 0%, color-mix(in srgb, #0f2a4a 80%, #9c6400 20%) 100%);
  @supports (color: color-mix(in lab, red, red)) {
    background: linear-gradient(135deg, var(--color-text) 0%, color-mix(in srgb, var(--color-text) 80%, var(--color-accent) 20%) 100%);
  }
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  filter: drop-shadow(0 2px 4px color-mix(in srgb, #0f2a4a 20%, transparent));
  @supports (color: color-mix(in lab, red, red)) {
    filter: drop-shadow(0 2px 4px color-mix(in srgb, var(--color-primary) 20%, transparent));
  }
}
:root.dark .section {
  position: relative;
}
:root.dark .table-wrapper, :root.dark .modal, :root.dark .admin-card, :root.dark [class*="panel"] {
  background: color-mix(in srgb, #ffffff 90%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    background: color-mix(in srgb, var(--color-background-panel) 90%, transparent);
  }
  backdrop-filter: blur(10px);
  border: 1px solid color-mix(in srgb, #cfd8e3 60%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    border: 1px solid color-mix(in srgb, var(--color-border) 60%, transparent);
  }
  box-shadow: 0 8px 32px color-mix(in srgb, #0f2a4a 8%, transparent), inset 0 1px 0 color-mix(in srgb, white 10%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    box-shadow: 0 8px 32px color-mix(in srgb, var(--color-primary) 8%, transparent), inset 0 1px 0 color-mix(in srgb, white 10%, transparent);
  }
}
.header-zone {
  position: sticky;
  top: 0;
  z-index: 40;
}
.header {
  position: sticky;
  top: 0;
  z-index: 40;
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 4rem;
  padding-inline: 2rem;
  background-color: var(--color-primary);
  border-bottom: 1px solid color-mix(in srgb, white 10%, transparent);
  box-shadow: 0 2px 12px rgb(0 0 0 / 0.15);
}
:root.dark .header {
  background: linear-gradient(135deg, var(--color-primary) 0%, color-mix(in srgb, #0f2a4a 85%, #9c6400 15%) 100%);
  @supports (color: color-mix(in lab, red, red)) {
    background: linear-gradient(135deg, var(--color-primary) 0%, color-mix(in srgb, var(--color-primary) 85%, var(--color-accent) 15%) 100%);
  }
  border-bottom: 1px solid color-mix(in srgb, #9c6400 20%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    border-bottom: 1px solid color-mix(in srgb, var(--color-accent) 20%, transparent);
  }
  box-shadow: 0 4px 20px rgb(0 0 0 / 0.3), 0 0 20px color-mix(in srgb, #0f2a4a 20%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    box-shadow: 0 4px 20px rgb(0 0 0 / 0.3), 0 0 20px color-mix(in srgb, var(--color-primary) 20%, transparent);
  }
  backdrop-filter: blur(10px);
}
.header-logo {
  display: flex;
  align-items: baseline;
  gap: 0.375rem;
  font-size: 1.125rem;
  font-weight: 700;
  letter-spacing: -0.01em;
  text-decoration: none;
  flex-shrink: 0;
}
.header-logo-group {
  color: white;
  font-weight: 400;
}
.header-logo-brand {
  color: var(--color-accent);
  font-weight: 800;
  font-style: italic;
}
.header-instance {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  margin-left: 0.75rem;
  padding: 0.25rem 0.625rem;
  border-radius: 999px;
  background: var(--color-warning-dark);
  color: var(--color-warning-text);
  font-size: 0.75rem;
  font-weight: 600;
  white-space: nowrap;
}
.header-instance svg, .header-instance i {
  width: 0.875rem;
  height: 0.875rem;
}
.header-impersonation {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  margin-left: 0.75rem;
  padding: 0.25rem 0.375rem 0.25rem 0.625rem;
  border-radius: 999px;
  background: var(--color-danger-dark);
  color: var(--color-danger-text);
  font-size: 0.75rem;
  font-weight: 500;
  white-space: nowrap;
  min-width: 0;
}
.header-impersonation svg, .header-impersonation i {
  width: 0.875rem;
  height: 0.875rem;
  flex-shrink: 0;
}
.header-impersonation-label {
  overflow: hidden;
  text-overflow: ellipsis;
}
.header-impersonation-exit {
  padding: 0.125rem 0.5rem;
  border-radius: 999px;
  background: white;
  color: var(--color-danger-dark);
  font-weight: 700;
  text-decoration: none;
}
.header-impersonation-exit:hover {
  text-decoration: underline;
}
.header-impersonation-exit:focus-visible {
  outline: 2px solid white;
  outline-offset: 2px;
}
@media (max-width: 768px) {
  .header-impersonation-label {
    display: none;
  }
  .header-impersonation {
    margin-left: 0.5rem;
  }
}
.header-nav {
  display: flex;
  align-items: center;
  gap: 0.25rem;
}
.header-nav-link {
  position: relative;
  padding: 0.375rem 0.875rem;
  font-size: 0.8rem;
  font-weight: 500;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: color-mix(in srgb, white 75%, transparent);
  text-decoration: none;
  border-radius: 0.375rem;
  transition: color 0.15s, background-color 0.15s;
  &:hover {
    color: white;
    background-color: color-mix(in srgb, white 10%, transparent);
  }
  &.active {
    color: white;
    &::after {
      content: '';
      position: absolute;
      bottom: -0.2rem;
      left: 50%;
      transform: translateX(-50%);
      width: 1.5rem;
      height: 2px;
      border-radius: 9999px;
      background-color: var(--color-accent);
    }
  }
}
.header-right i, .header-right svg, .header-user i, .header-user svg, .dropdown-item i, .dropdown-item svg {
  pointer-events: none;
}
.header-right {
  display: flex;
  align-items: center;
  gap: 0.25rem;
  flex-shrink: 0;
}
.header-action {
  color: color-mix(in srgb, white 75%, transparent);
  &:hover {
    color: white;
    background-color: color-mix(in srgb, white 10%, transparent);
  }
}
.header-theme-toggle {
  position: relative;
  transition: all 0.3s ease;
  cursor: pointer;
  .icon-light {
    display: block;
    color: #fbbf24;
    filter: drop-shadow(0 0 8px color-mix(in srgb, #fbbf24 40%, transparent));
  }
  .icon-dark {
    display: none;
  }
  &:hover .icon-light {
    color: #f59e0b;
    filter: drop-shadow(0 0 12px color-mix(in srgb, #f59e0b 60%, transparent));
    transform: rotate(15deg);
  }
}
:root.dark .header-theme-toggle {
  .icon-dark {
    display: block;
    color: #fbbf24;
    filter: drop-shadow(0 0 12px color-mix(in srgb, #fbbf24 60%, transparent));
  }
  .icon-light {
    display: none;
  }
  &:hover .icon-dark {
    color: #fde047;
    filter: drop-shadow(0 0 18px color-mix(in srgb, #fde047 80%, transparent));
    transform: scale(1.1);
  }
}
.header-right .btn[aria-label="Notifications"] {
  position: relative;
  cursor: pointer;
  i[data-lucide="bell"] {
    color: #f97316;
    transition: all 0.3s ease;
  }
  &:hover i[data-lucide="bell"] {
    color: #ea580c;
    filter: drop-shadow(0 0 8px color-mix(in srgb, #ea580c 50%, transparent));
    animation: bell-shake 0.5s ease-in-out;
  }
  @keyframes bell-shake {
    0%, 100% {
      transform: rotate(0deg);
    }
    25% {
      transform: rotate(-10deg);
    }
    75% {
      transform: rotate(10deg);
    }
  }
}
:root.dark .header-right .btn[aria-label="Notifications"] {
  i[data-lucide="bell"] {
    color: #fbbf24;
  }
  &:hover i[data-lucide="bell"] {
    color: #f59e0b;
    filter: drop-shadow(0 0 12px color-mix(in srgb, #f59e0b 60%, transparent));
  }
}
.header-user {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.375rem 0.75rem;
  border-radius: 0.5rem;
  cursor: pointer;
  transition: background-color 0.15s;
  margin-left: 0.25rem;
  &:hover {
    background-color: color-mix(in srgb, white 10%, transparent);
    .header-user-chevron {
      color: var(--color-accent);
      transform: translateY(-1px);
    }
  }
}
.header-user-avatar {
  height: 2rem;
  width: 2rem;
  border-radius: 9999px;
  background-color: var(--color-accent);
  color: white;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  flex-shrink: 0;
  position: relative;
  background: linear-gradient(135deg, var(--color-accent) 0%, color-mix(in srgb, #9c6400 80%, #0f2a4a 20%) 100%);
  @supports (color: color-mix(in lab, red, red)) {
    background: linear-gradient(135deg, var(--color-accent) 0%, color-mix(in srgb, var(--color-accent) 80%, var(--color-primary) 20%) 100%);
  }
  box-shadow: 0 2px 8px color-mix(in srgb, #9c6400 30%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    box-shadow: 0 2px 8px color-mix(in srgb, var(--color-accent) 30%, transparent);
  }
  &::before {
    content: '';
    position: absolute;
    inset: -2px;
    border-radius: inherit;
    background: linear-gradient(135deg, var(--color-accent), var(--color-primary));
    z-index: -1;
    opacity: 0;
    transition: opacity 0.3s ease;
  }
  &:hover::before {
    opacity: 0.3;
    animation: pulse-glow 2s infinite;
  }
}
@keyframes pulse-glow {
  0%, 100% {
    transform: scale(1);
    opacity: 0.3;
  }
  50% {
    transform: scale(1.05);
    opacity: 0.1;
  }
}
.header-user-name {
  display: none;
  font-size: 0.875rem;
  font-weight: 500;
  color: white;
  @media (min-width: 640px) {
    display: block;
  }
}
.header-user-chevron {
  width: 0.875rem;
  height: 0.875rem;
  color: color-mix(in srgb, white 60%, transparent);
  transition: all 0.3s ease;
}
.header-user[aria-expanded="true"] .header-user-chevron {
  transform: rotate(180deg);
}
.header-burger {
  display: none;
  align-items: center;
  justify-content: center;
  width: 2.25rem;
  height: 2.25rem;
  background: transparent;
  border: none;
  border-radius: 0.375rem;
  cursor: pointer;
  color: color-mix(in srgb, white 75%, transparent);
  transition: color 0.15s, background-color 0.15s;
  margin-left: 0.25rem;
  flex-shrink: 0;
  i {
    width: 1.25rem;
    height: 1.25rem;
    pointer-events: none;
  }
  .burger-icon-close {
    display: none;
  }
  .burger-icon-open {
    display: block;
  }
  &.is-active {
    color: white;
    .burger-icon-open {
      display: none;
    }
    .burger-icon-close {
      display: block;
    }
  }
  &:hover {
    color: white;
    background: color-mix(in srgb, white 10%, transparent);
  }
}
.header-mobile-nav {
  display: none;
}
@media (max-width: 768px) {
  .header {
    padding-inline: 1rem;
  }
  .header-nav {
    display: none;
  }
  .header-notif {
    display: none;
  }
  .header-login-text {
    display: none;
  }
  .header-burger {
    display: flex;
  }
  .header-logo {
    font-size: 1rem;
  }
  .header-mobile-nav {
    display: flex;
    flex-direction: column;
    position: fixed;
    top: 4rem;
    left: 0;
    right: 0;
    z-index: 39;
    background: var(--color-primary);
    padding: 0.5rem 0.75rem 0.875rem;
    border-bottom: 1px solid color-mix(in srgb, white 15%, transparent);
    box-shadow: 0 8px 24px rgb(0 0 0 / 0.25);
    transform: translateY(-0.5rem);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: transform 0.2s ease, opacity 0.2s ease, visibility 0s linear 0.2s;
  }
  :root.dark .header-mobile-nav {
    box-shadow: 0 8px 32px rgb(0 0 0 / 0.4);
    border-bottom-color: color-mix(in srgb, #9c6400 25%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      border-bottom-color: color-mix(in srgb, var(--color-accent) 25%, transparent);
    }
  }
  .header-mobile-nav.is-open {
    transform: translateY(0);
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transition: transform 0.2s ease, opacity 0.2s ease;
  }
}
@media (max-width: 480px) {
  .header {
    padding-inline: 0.75rem;
  }
  .header-user {
    padding: 0.25rem 0.375rem;
    margin-left: 0;
  }
}
.header-mobile-link {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.75rem 0.875rem;
  color: color-mix(in srgb, white 80%, transparent);
  text-decoration: none;
  font-size: 0.9375rem;
  font-weight: 500;
  border-radius: 0.5rem;
  transition: color 0.15s, background-color 0.15s;
  border: none;
  background: none;
  cursor: pointer;
  width: 100%;
  text-align: left;
  i {
    width: 1.125rem;
    height: 1.125rem;
    flex-shrink: 0;
    pointer-events: none;
  }
  &:hover {
    color: white;
    background: color-mix(in srgb, white 10%, transparent);
  }
  &.active {
    color: white;
    background: color-mix(in srgb, white 8%, transparent);
    border-left: 2px solid var(--color-accent);
    padding-left: calc(0.875rem - 2px);
  }
}
.header-mobile-logout {
  color: color-mix(in srgb, #fca5a5 90%, transparent);
  &:hover {
    color: #fca5a5;
    background: color-mix(in srgb, #ef4444 10%, transparent);
  }
}
.header-mobile-divider {
  height: 1px;
  background: color-mix(in srgb, white 10%, transparent);
  margin: 0.375rem 0.875rem;
}
.notification-badge {
  position: absolute;
  top: -4px;
  right: -4px;
  width: 8px;
  height: 8px;
  background: linear-gradient(135deg, #ef4444 0%, #dc2626 100%);
  border: 2px solid var(--color-primary);
  border-radius: 50%;
  animation: pulse-notification 2s infinite;
}
@keyframes pulse-notification {
  0%, 100% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.2);
  }
}
.dropdown-menu {
  position: absolute;
  top: 100%;
  right: 0;
  z-index: 1000;
  min-width: 12rem;
  background: var(--color-background-panel);
  border: 1px solid var(--color-border);
  border-radius: 0.5rem;
  box-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
  padding: 0.5rem 0;
  margin-top: 0.25rem;
}
:root.dark .dropdown-menu {
  background: color-mix(in srgb, #ffffff 95%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    background: color-mix(in srgb, var(--color-background-panel) 95%, transparent);
  }
  backdrop-filter: blur(10px);
  border: 1px solid color-mix(in srgb, #cfd8e3 80%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    border: 1px solid color-mix(in srgb, var(--color-border) 80%, transparent);
  }
  box-shadow: 0 10px 25px -5px rgb(0 0 0 / 0.3);
}
.dropdown-item {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  width: 100%;
  padding: 0.5rem 1rem;
  color: var(--color-text);
  text-decoration: none;
  font-size: 0.875rem;
  border: none;
  background: none;
  cursor: pointer;
  text-align: left;
  transition: background-color 0.15s;
  &:hover {
    background: color-mix(in srgb, #0f2a4a 10%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background: color-mix(in srgb, var(--color-primary) 10%, transparent);
    }
    color: var(--color-text);
  }
  i {
    width: 1rem;
    height: 1rem;
    color: var(--color-text-secondary);
  }
}
.dropdown-divider {
  height: 1px;
  margin: 0.5rem 0;
  background: var(--color-border-light);
}
.dropdown-menu[hidden] {
  display: none;
}
.dropdown-menu:not([hidden]) {
  animation: dropdown-fadeIn 0.15s ease-out;
}
@keyframes dropdown-fadeIn {
  from {
    opacity: 0;
    transform: translateY(-0.5rem) scale(0.95);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}
.footer {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 30;
  background-color: var(--color-primary);
  border-top: 1px solid color-mix(in srgb, white 10%, transparent);
  box-shadow: 0 -2px 12px rgb(0 0 0 / 0.1);
  padding: 0.625rem 2rem;
}
.footer-content {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  flex-wrap: wrap;
}
.footer-brand {
  display: flex;
  align-items: baseline;
  gap: 0.375rem;
  flex-wrap: wrap;
}
.footer-logo-group {
  color: color-mix(in srgb, white 75%, transparent);
  font-size: 0.8rem;
  font-weight: 400;
}
.footer-logo-brand {
  color: var(--color-accent);
  font-size: 0.8rem;
  font-weight: 800;
  font-style: italic;
}
.footer-copyright {
  color: color-mix(in srgb, white 45%, transparent);
  font-size: 0.75rem;
  margin-left: 0.25rem;
}
.footer-links {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.footer-link {
  font-size: 0.75rem;
  color: color-mix(in srgb, white 60%, transparent);
  text-decoration: none;
  transition: color 0.15s;
  &:hover {
    color: white;
  }
}
.footer-separator {
  color: color-mix(in srgb, white 25%, transparent);
  font-size: 0.75rem;
}
@media (max-width: 640px) {
  .footer-content {
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 0.5rem;
  }
}
.btn svg, .btn i {
  width: 1rem;
  height: 1rem;
}
.btn-sm svg {
  width: 0.875rem;
  height: 0.875rem;
}
.btn-lg svg {
  width: 1.25rem;
  height: 1.25rem;
}
:root.dark .btn-secondary {
  background-color: var(--color-gray-800);
  color: var(--color-gray-200);
  &:hover {
    background-color: var(--color-gray-700);
  }
}
:root.dark .btn-outline {
  border-color: var(--color-gray-600);
  color: var(--color-gray-200);
  &:hover {
    background-color: var(--color-gray-800);
  }
}
:root.dark .btn-ghost {
  color: var(--color-gray-300);
  &:hover {
    background-color: var(--color-gray-800);
  }
}
:root.dark .btn-primary {
  background: linear-gradient(135deg, var(--color-primary) 0%, color-mix(in srgb, #0f2a4a 80%, #9c6400 20%) 100%);
  @supports (color: color-mix(in lab, red, red)) {
    background: linear-gradient(135deg, var(--color-primary) 0%, color-mix(in srgb, var(--color-primary) 80%, var(--color-accent) 20%) 100%);
  }
  box-shadow: 0 4px 15px color-mix(in srgb, #0f2a4a 30%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    box-shadow: 0 4px 15px color-mix(in srgb, var(--color-primary) 30%, transparent);
  }
  &:hover {
    box-shadow: 0 6px 20px color-mix(in srgb, #0f2a4a 40%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      box-shadow: 0 6px 20px color-mix(in srgb, var(--color-primary) 40%, transparent);
    }
    transform: translateY(-1px);
  }
}
:root.dark .btn-accent {
  background: linear-gradient(135deg, var(--color-accent) 0%, color-mix(in srgb, #9c6400 85%, #ff6b9d 15%) 100%);
  @supports (color: color-mix(in lab, red, red)) {
    background: linear-gradient(135deg, var(--color-accent) 0%, color-mix(in srgb, var(--color-accent) 85%, #ff6b9d 15%) 100%);
  }
  box-shadow: 0 4px 15px color-mix(in srgb, #9c6400 25%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    box-shadow: 0 4px 15px color-mix(in srgb, var(--color-accent) 25%, transparent);
  }
  &:hover {
    box-shadow: 0 6px 25px color-mix(in srgb, #9c6400 35%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      box-shadow: 0 6px 25px color-mix(in srgb, var(--color-accent) 35%, transparent);
    }
    transform: translateY(-1px);
  }
}
:root.dark .btn-ghost {
  background: color-mix(in srgb, #ffffff 60%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    background: color-mix(in srgb, var(--color-background-panel) 60%, transparent);
  }
  backdrop-filter: blur(10px);
  border: 1px solid color-mix(in srgb, #cfd8e3 50%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    border: 1px solid color-mix(in srgb, var(--color-border) 50%, transparent);
  }
  &:hover {
    background: color-mix(in srgb, #ffffff 80%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background: color-mix(in srgb, var(--color-background-panel) 80%, transparent);
    }
    border-color: var(--color-border);
  }
}
:root.dark .header-theme-toggle {
  position: relative;
  &:hover {
    background: color-mix(in srgb, #9c6400 15%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background: color-mix(in srgb, var(--color-accent) 15%, transparent);
    }
    box-shadow: 0 0 15px color-mix(in srgb, #9c6400 20%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      box-shadow: 0 0 15px color-mix(in srgb, var(--color-accent) 20%, transparent);
    }
  }
  .icon-dark {
    filter: drop-shadow(0 0 8px color-mix(in srgb, #9c6400 50%, transparent));
    @supports (color: color-mix(in lab, red, red)) {
      filter: drop-shadow(0 0 8px color-mix(in srgb, var(--color-accent) 50%, transparent));
    }
  }
}
:root.dark .btn:focus-visible {
  outline-color: var(--color-accent);
}
@media (prefers-reduced-motion: reduce) {
  .btn {
    transition: none !important;
    transform: none !important;
  }
}
:root.dark .form-control {
  background-color: var(--color-gray-900);
  border-color: var(--color-gray-700);
  color: var(--color-gray-100);
  &::-moz-placeholder {
    color: var(--color-gray-500);
  }
  &::placeholder {
    color: var(--color-gray-500);
  }
  &:focus {
    --tw-ring-color: var(--color-primary);
  }
}
textarea.form-control {
  min-height: 100px;
  resize: vertical;
}
select.form-control {
  padding-right: 2.5rem;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 fill=%27none%27 viewBox=%270 0 24 24%27 stroke=%27%236B7280%27%3E%3Cpath stroke-linecap=%27round%27 stroke-linejoin=%27round%27 stroke-width=%272%27 d=%27M19 9l-7 7-7-7%27/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: 1rem;
  background-position: right 0.75rem center;
}
.form-control[readonly] {
  background-color: var(--color-gray-50);
  cursor: default;
}
.form-group {
  margin-bottom: 1rem;
}
.form-label {
  display: block;
  margin-bottom: 0.25rem;
  font-size: 0.875rem;
  font-weight: 500;
  color: var(--color-gray-700);
}
:root.dark .form-label {
  color: var(--color-gray-300);
}
.form-help {
  margin-top: 0.25rem;
  font-size: 0.75rem;
  color: var(--color-gray-500);
}
.form-check {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.form-check-input {
  height: 1rem;
  width: 1rem;
  border-radius: 0.25rem;
  border: 1px solid var(--color-gray-300);
  accent-color: var(--color-primary);
  &:focus {
    --tw-ring-color: var(--color-primary);
  }
  &:disabled {
    opacity: 0.5;
    cursor: not-allowed;
  }
}
:root.dark .form-check-input {
  border-color: var(--color-gray-600);
  background-color: var(--color-gray-900);
}
.form-radio-input {
  height: 1rem;
  width: 1rem;
  border-radius: 9999px;
  border: 1px solid var(--color-gray-300);
  accent-color: var(--color-primary);
  &:focus {
    --tw-ring-color: var(--color-primary);
  }
}
:root.dark .form-radio-input {
  border-color: var(--color-gray-600);
  background-color: var(--color-gray-900);
}
.form-check-label {
  font-size: 0.875rem;
  color: var(--color-gray-700);
}
:root.dark .form-check-label {
  color: var(--color-gray-300);
}
:root.dark .form-check-label a {
  color: var(--color-accent);
  &:hover {
    text-decoration: underline;
  }
}
.input-icon {
  position: relative;
}
.input-icon-left svg, .input-icon-left i {
  position: absolute;
  left: 0.75rem;
  top: 50%;
  transform: translateY(-50%);
  color: var(--color-gray-400);
}
.input-icon-left .form-control {
  padding-left: 2.5rem;
}
.input-icon-right svg, .input-icon-right i {
  position: absolute;
  right: 0.75rem;
  top: 50%;
  transform: translateY(-50%);
  color: var(--color-gray-400);
}
.input-icon-right .form-control {
  padding-right: 2.5rem;
}
.form-control-filter {
  background-color: var(--color-gray-50);
}
.table-wrapper {
  position: relative;
  overflow-x: auto;
  border-radius: 0.5rem;
  border: 1px solid var(--color-border);
  background-color: var(--color-background-panel);
}
.table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.875rem;
  text-align: left;
  color: var(--color-text);
}
.table thead {
  background-color: var(--color-gray-50);
}
:root.dark .table thead {
  background-color: var(--color-gray-800);
}
.table th {
  padding: 0.75rem 1rem;
  font-weight: 700;
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--color-text-secondary);
}
.table th.sortable {
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  &:hover {
    color: var(--color-primary);
  }
}
.table th.sortable .sort-icon {
  margin-left: 0.25rem;
  display: inline-block;
  vertical-align: middle;
  color: var(--color-gray-400);
}
.table th.sortable.active {
  color: var(--color-primary);
}
.table td {
  padding: 0.75rem 1rem;
  border-top: 1px solid var(--color-border);
}
.table tbody tr:nth-child(even) {
  background-color: var(--color-gray-50);
}
:root.dark .table tbody tr:nth-child(even) {
  background-color: rgb(from var(--color-gray-800) r g b / 0.4);
}
.table tbody tr:hover {
  background-color: color-mix(in srgb, #0f2a4a 5%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    background-color: color-mix(in srgb, var(--color-primary) 5%, transparent);
  }
}
:root.dark .table tbody tr:hover {
  background-color: color-mix(in srgb, #0f2a4a 10%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    background-color: color-mix(in srgb, var(--color-primary) 10%, transparent);
  }
}
.table-empty {
  padding: 2.5rem 0;
  text-align: center;
  color: var(--color-text-muted-accessible, var(--color-text-muted));
}
.table-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 0.5rem;
}
.table-filters {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 1rem;
}
.table-footer {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  border-top: 1px solid var(--color-border);
  padding: 0.75rem 1rem;
}
.pagination {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
}
.pagination-item {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 2rem;
  height: 2rem;
  border-radius: 0.375rem;
  border: 1px solid var(--color-gray-300);
  font-size: 0.875rem;
  color: var(--color-gray-700);
  cursor: pointer;
  &:hover {
    background-color: var(--color-gray-100);
  }
  &.active {
    background-color: var(--color-primary);
    color: var(--color-primary-text);
    border-color: var(--color-primary);
  }
  &.disabled {
    opacity: 0.5;
    pointer-events: none;
  }
}
:root.dark .pagination-item {
  border-color: var(--color-gray-600);
  color: var(--color-gray-200);
  &:hover {
    background-color: var(--color-gray-800);
  }
}
.table-bulk {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}
.table-checkbox {
  width: 2rem;
  text-align: center;
}
.table-badge {
  display: inline-flex;
  align-items: center;
  border-radius: 9999px;
  padding: 0.125rem 0.625rem;
  font-size: 0.75rem;
  font-weight: 500;
}
.table-badge-success {
  background-color: color-mix(in srgb, #16a34a 15%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    background-color: color-mix(in srgb, var(--color-success) 15%, transparent);
  }
  color: #166534;
}
.table-badge-warning {
  background-color: color-mix(in srgb, #d97706 15%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    background-color: color-mix(in srgb, var(--color-warning) 15%, transparent);
  }
  color: #92400e;
}
.table-badge-danger {
  background-color: color-mix(in srgb, #dc2626 15%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    background-color: color-mix(in srgb, var(--color-danger) 15%, transparent);
  }
  color: var(--color-danger);
}
.table-badge-info {
  background-color: color-mix(in srgb, #0284c7 15%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    background-color: color-mix(in srgb, var(--color-info) 15%, transparent);
  }
  color: var(--color-info);
}
:root.dark .table-badge-success {
  color: #4ade80;
}
:root.dark .table-badge-warning {
  color: #fbbf24;
}
:root.dark .table-badge-danger {
  color: #f87171;
}
:root.dark .table-badge-info {
  color: #67e8f9;
}
@media (prefers-reduced-motion: reduce) {
  .table tbody tr {
    transition: none;
  }
}
@media (max-width: 768px) {
  .table thead {
    display: none;
  }
  .table tr {
    display: block;
    border-bottom: 1px solid var(--color-border);
  }
  .table td {
    display: flex;
    justify-content: space-between;
    padding: 0.5rem 1rem;
    &::before {
      content: attr(data-label);
      font-weight: 500;
      color: var(--color-text-muted-accessible, var(--color-text-muted));
    }
  }
}
.modal-overlay {
  position: fixed;
  inset: 0;
  z-index: 50;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: rgb(0 0 0 / 0.5);
  backdrop-filter: blur(4px);
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.2s;
}
.modal-overlay.is-open {
  opacity: 1;
  pointer-events: auto;
}
.modal {
  position: relative;
  width: 100%;
  max-width: 32rem;
  border-radius: 0.5rem;
  background-color: white;
  color: var(--color-gray-900);
  box-shadow: 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1);
  transform: scale(0.95);
  opacity: 0;
  transition: all 0.2s;
}
:root.dark .modal {
  background-color: var(--color-gray-900);
  color: var(--color-gray-100);
}
.modal-overlay.is-open .modal {
  transform: scale(1);
  opacity: 1;
}
.modal-sm {
  max-width: 24rem;
}
.modal-lg {
  max-width: 42rem;
}
.modal-xl {
  max-width: 56rem;
}
.modal-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-bottom: 1px solid var(--color-gray-200);
  padding: 1rem 1.25rem;
}
:root.dark .modal-header {
  border-color: var(--color-gray-700);
}
.modal-title {
  font-size: 1.125rem;
  font-weight: 600;
}
.modal-body {
  padding: 1rem 1.25rem;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.modal-footer {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 0.5rem;
  border-top: 1px solid var(--color-gray-200);
  padding: 1rem 1.25rem;
}
:root.dark .modal-footer {
  border-color: var(--color-gray-700);
}
.modal-danger .modal-header {
  border-color: color-mix(in srgb, #dc2626 30%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    border-color: color-mix(in srgb, var(--color-danger) 30%, transparent);
  }
}
.modal-danger .modal-title {
  color: var(--color-danger);
}
@media (max-width: 640px) {
  .modal {
    height: 100%;
    max-width: 100%;
    border-radius: 0;
  }
  .modal-body {
    overflow-y: auto;
  }
}
.toast-container {
  position: fixed;
  top: 1.25rem;
  right: 1.25rem;
  z-index: 50;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  width: 100%;
  max-width: 24rem;
}
.toast {
  position: relative;
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  border-radius: 0.5rem;
  border: 1px solid var(--color-gray-200);
  background-color: white;
  padding: 0.75rem 1rem;
  font-size: 0.875rem;
  box-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
  animation: toast-in 0.25s ease-out;
}
:root.dark .toast {
  background-color: var(--color-gray-900);
  border-color: var(--color-gray-700);
}
.toast-icon {
  margin-top: 0.125rem;
  height: 1.25rem;
  width: 1.25rem;
  flex-shrink: 0;
}
.toast-content {
  flex: 1;
}
.toast-message {
  font-size: 0.875rem;
  font-weight: 500;
}
.toast-close {
  position: absolute;
  top: 0.5rem;
  right: 0.5rem;
}
.toast-success {
  border-color: color-mix(in srgb, #16a34a 30%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    border-color: color-mix(in srgb, var(--color-success) 30%, transparent);
  }
  background-color: color-mix(in srgb, #16a34a 10%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    background-color: color-mix(in srgb, var(--color-success) 10%, transparent);
  }
  color: var(--color-success);
}
.toast-danger {
  border-color: color-mix(in srgb, #dc2626 30%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    border-color: color-mix(in srgb, var(--color-danger) 30%, transparent);
  }
  background-color: color-mix(in srgb, #dc2626 10%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    background-color: color-mix(in srgb, var(--color-danger) 10%, transparent);
  }
  color: var(--color-danger);
}
.toast-warning {
  border-color: color-mix(in srgb, #d97706 30%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    border-color: color-mix(in srgb, var(--color-warning) 30%, transparent);
  }
  background-color: color-mix(in srgb, #d97706 10%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    background-color: color-mix(in srgb, var(--color-warning) 10%, transparent);
  }
  color: var(--color-warning);
}
.toast-info {
  border-color: color-mix(in srgb, #0284c7 30%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    border-color: color-mix(in srgb, var(--color-info) 30%, transparent);
  }
  background-color: color-mix(in srgb, #0284c7 10%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    background-color: color-mix(in srgb, var(--color-info) 10%, transparent);
  }
  color: var(--color-info);
}
@keyframes toast-in {
  from {
    transform: translateX(16px);
    opacity: 0;
  }
  to {
    transform: translateX(0);
    opacity: 1;
  }
}
@keyframes toast-out {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}
.queue {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 1rem 1.5rem;
  margin-bottom: 1.25rem;
  padding: 1rem 1.25rem;
  border: 1px solid var(--color-border-light);
  border-radius: 0.75rem;
  background-color: var(--color-background-panel);
}
.queue-headline {
  margin: 0;
  font-size: 1.375rem;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: -0.01em;
}
.queue-headline small {
  display: block;
  margin-top: 0.125rem;
  color: var(--color-text-secondary);
  font-size: 0.8125rem;
  font-weight: 400;
  letter-spacing: 0;
}
.queue-progress {
  flex: 1 1 16rem;
  min-width: 12rem;
}
.queue-bar {
  display: flex;
  height: 0.5rem;
  border-radius: 9999px;
  background-color: var(--color-border-light);
  overflow: hidden;
}
.queue-bar-part {
  height: 100%;
}
.queue-bar-part--done {
  background-color: var(--color-success);
}
.queue-bar-part--justify {
  background-color: var(--color-justify);
}
.queue-bar-part--partial {
  background-color: var(--color-info);
}
.queue-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 0.25rem 0.875rem;
  margin: 0.5rem 0 0;
  padding: 0;
  list-style: none;
  color: var(--color-text-secondary);
  font-size: 0.75rem;
  font-variant-numeric: tabular-nums;
}
.queue-legend li {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
}
.queue-key {
  width: 0.625rem;
  height: 0.625rem;
  border-radius: 0.125rem;
  background-color: var(--color-border-light);
  box-shadow: inset 0 0 0 1px var(--color-border);
}
.queue-key--done {
  background-color: var(--color-success);
  box-shadow: none;
}
.queue-key--justify {
  background-color: var(--color-justify);
  box-shadow: none;
}
.queue-key--partial {
  background-color: var(--color-info);
  box-shadow: none;
}
.queue-balance {
  margin-left: auto;
  text-align: right;
}
.queue-balance-value {
  margin: 0;
  font-size: 1.375rem;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
  letter-spacing: -0.01em;
}
.queue-balance-label {
  margin: 0;
  color: var(--color-text-muted-accessible);
  font-size: 0.75rem;
}
.op-filters {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 0.875rem;
}
.op-filter {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  min-height: 2.25rem;
  padding: 0 0.75rem;
  border: 1px solid var(--color-border);
  border-radius: 9999px;
  background-color: var(--color-background-panel);
  color: var(--color-text-secondary);
  font-size: 0.8125rem;
  font-weight: 600;
  text-decoration: none;
  white-space: nowrap;
}
.op-filter--todo::before, .op-filter--progress::before, .op-filter--justify::before, .op-filter--done::before {
  content: '';
  width: 0.5rem;
  height: 0.5rem;
  border-radius: 9999px;
}
.op-filter--todo::before {
  background-color: var(--color-warning);
}
.op-filter--progress::before {
  background-color: var(--color-info);
}
.op-filter--justify::before {
  background-color: var(--color-justify);
}
.op-filter--done::before {
  background-color: var(--color-success);
}
.op-filter:hover {
  border-color: var(--color-text-muted);
}
.op-filter[aria-current="true"] {
  border-color: var(--color-primary);
  background-color: var(--color-primary);
  color: var(--color-primary-text);
}
.op-filter-count {
  padding: 0 0.375rem;
  border-radius: 9999px;
  background-color: var(--color-border-light);
  color: var(--color-text-secondary);
  font-size: 0.75rem;
  font-variant-numeric: tabular-nums;
}
.op-filter[aria-current="true"] .op-filter-count {
  background-color: rgb(255 255 255 / 0.2);
  color: var(--color-primary-text);
}
.op-search {
  flex: 1 1 14rem;
  min-width: 10rem;
  margin-left: auto;
}
.op-list {
  display: grid;
  grid-template-columns: 0.25rem 2.75rem minmax(0, 1fr) auto auto 1.25rem;
  -moz-column-gap: 0.875rem;
       column-gap: 0.875rem;
  row-gap: 1.25rem;
}
.op-list--empty {
  display: block;
  border: 1px solid var(--color-border-light);
  border-radius: 0.75rem;
  background-color: var(--color-background-panel);
}
.op-month {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: subgrid;
  border: 1px solid var(--color-border-light);
  border-radius: 0.75rem;
  background-color: var(--color-background-panel);
  overflow: clip;
}
.op-month-header {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: subgrid;
  align-items: center;
  position: sticky;
  top: 0;
  z-index: 2;
  padding: 0.625rem 0.875rem 0.625rem 0;
  border-bottom: 1px solid var(--color-border-light);
  background-color: color-mix(in srgb, #0f2a4a 5%, #ffffff);
  @supports (color: color-mix(in lab, red, red)) {
    background-color: color-mix(in srgb, var(--color-primary) 5%, var(--color-background-panel));
  }
}
.op-month-title {
  grid-column: 2 / 4;
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0.25rem 0.625rem;
  margin: 0;
  color: var(--color-text);
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.3;
}
.op-month-count {
  color: var(--color-text-secondary);
  font-size: 0.8125rem;
  font-weight: 500;
}
.op-month-amounts, .op-month-labels {
  display: flex;
  flex-direction: column;
  margin: 0;
  font-size: 0.8125rem;
  line-height: 1.4;
}
.op-month-amounts {
  grid-column: 4;
  align-items: flex-end;
  font-variant-numeric: tabular-nums;
  font-weight: 600;
  white-space: nowrap;
}
.op-month-amount--in {
  color: var(--color-success-dark);
}
.op-month-amount.is-zero {
  color: var(--color-text-secondary);
  font-weight: 400;
}
.op-month-labels {
  grid-column: 5 / 7;
  color: var(--color-text-secondary);
}
.op-month-rows {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: subgrid;
  list-style: none;
  margin: 0;
  padding: 0;
}
.op-row {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: subgrid;
  align-items: center;
  position: relative;
  padding: 0.75rem 0.875rem 0.75rem 0;
  border-top: 1px solid var(--color-border-light);
}
.op-row:first-child {
  border-top: 0;
}
.op-row:hover {
  background-color: color-mix(in srgb, #0f2a4a 4%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    background-color: color-mix(in srgb, var(--color-primary) 4%, transparent);
  }
}
.op-row:has(.op-link:focus-visible) {
  outline: 2px solid var(--color-primary);
  outline-offset: -2px;
  background-color: color-mix(in srgb, #0f2a4a 5%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    background-color: color-mix(in srgb, var(--color-primary) 5%, transparent);
  }
}
.op-status {
  align-self: stretch;
  margin-block: -0.75rem;
  background-color: var(--color-border);
}
.op-row--todo .op-status {
  background-color: var(--color-warning);
}
.op-row--progress .op-status {
  background-color: var(--color-info);
}
.op-row--justify .op-status {
  background-color: var(--color-justify);
}
.op-row--done .op-status {
  background-color: var(--color-success);
}
.op-date {
  margin: 0;
  color: var(--color-text-secondary);
  font-size: 0.6875rem;
  line-height: 1.2;
  text-align: center;
}
.op-date-day {
  display: block;
  color: var(--color-text);
  font-size: 1.125rem;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
}
.op-main {
  display: flex;
  flex-direction: column;
  gap: 0.3125rem;
  min-width: 0;
}
.op-link {
  display: flex;
  flex-direction: column;
  gap: 0.125rem;
  color: var(--color-text);
  text-decoration: none;
}
.op-link::after {
  content: '';
  position: absolute;
  inset: 0;
}
.op-link:focus-visible {
  outline: none;
}
.op-title {
  font-size: 0.875rem;
  font-weight: 600;
  line-height: 1.35;
  overflow-wrap: anywhere;
}
.op-title--bank {
  font-weight: 500;
  letter-spacing: 0.01em;
}
.op-bank-label {
  color: var(--color-text-muted-accessible);
  font-size: 0.75rem;
  line-height: 1.35;
  overflow-wrap: anywhere;
}
.op-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.25rem 0.75rem;
  margin: 0;
  color: var(--color-text-secondary);
  font-size: 0.75rem;
}
.op-meta-item {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
}
.op-meta-item svg, .op-meta-item i {
  width: 0.8125rem;
  height: 0.8125rem;
  color: var(--color-text-muted-accessible);
}
.op-accounts {
  display: flex;
  flex-wrap: wrap;
  gap: 0.25rem 0.5rem;
  margin: 0;
}
.op-account {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  padding: 0.0625rem 0.5rem;
  border-radius: 0.25rem;
  background-color: var(--color-border-light);
  color: var(--color-text-secondary);
  font-size: 0.75rem;
}
.op-account-code {
  color: var(--color-text);
  font-weight: 700;
  font-variant-numeric: tabular-nums;
}
.op-account--refund {
  background-color: color-mix(in srgb, #0284c7 14%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    background-color: color-mix(in srgb, var(--color-info) 14%, transparent);
  }
}
.op-proposal {
  position: relative;
  z-index: 1;
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  align-self: flex-start;
  max-width: 100%;
  padding: 0.25rem 0.25rem 0.25rem 0.5rem;
  border: 1px solid color-mix(in srgb, #9c6400 55%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    border: 1px solid color-mix(in srgb, var(--color-accent) 55%, transparent);
  }
  border-radius: 0.5rem;
  background-color: color-mix(in srgb, #9c6400 8%, #ffffff);
  @supports (color: color-mix(in lab, red, red)) {
    background-color: color-mix(in srgb, var(--color-accent) 8%, var(--color-background-panel));
  }
  font-size: 0.75rem;
}
.op-proposal > svg, .op-proposal > i {
  width: 0.875rem;
  height: 0.875rem;
  flex-shrink: 0;
  color: var(--color-accent-dark);
}
.op-proposal-text {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.op-proposal-accept {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  flex-shrink: 0;
  min-height: 1.75rem;
  padding: 0 0.625rem;
  border: 0;
  border-radius: 0.375rem;
  background-color: var(--color-accent);
  color: var(--color-accent-text);
  font-size: 0.75rem;
  font-weight: 700;
  cursor: pointer;
}
.op-proposal-accept:hover {
  background-color: var(--color-accent-dark);
}
.op-proposal-accept:focus-visible {
  outline: 2px solid var(--color-accent-dark);
  outline-offset: 2px;
}
.op-proposal-accept svg, .op-proposal-accept i {
  width: 0.8125rem;
  height: 0.8125rem;
}
.op-amount {
  margin: 0;
  font-size: 0.9375rem;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
  text-align: right;
  white-space: nowrap;
}
.op-amount--credit {
  color: var(--color-success-dark);
}
.op-amount-remaining {
  display: block;
  color: var(--color-info-dark);
  font-size: 0.6875rem;
  font-weight: 600;
}
.op-stage {
  margin: 0;
}
.stage-pill {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  padding: 0.1875rem 0.5625rem;
  border-radius: 9999px;
  font-size: 0.75rem;
  font-weight: 600;
  white-space: nowrap;
}
.stage-pill svg, .stage-pill i {
  width: 0.75rem;
  height: 0.75rem;
}
.stage-pill--todo {
  background-color: color-mix(in srgb, #d97706 15%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    background-color: color-mix(in srgb, var(--color-warning) 15%, transparent);
  }
  color: var(--color-warning-dark);
}
.stage-pill--progress {
  background-color: color-mix(in srgb, #0284c7 14%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    background-color: color-mix(in srgb, var(--color-info) 14%, transparent);
  }
  color: var(--color-info-dark);
}
.stage-pill--justify {
  background-color: color-mix(in srgb, #7c3aed 14%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    background-color: color-mix(in srgb, var(--color-justify) 14%, transparent);
  }
  color: var(--color-justify-dark);
}
.stage-pill--done {
  background-color: color-mix(in srgb, #16a34a 14%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    background-color: color-mix(in srgb, var(--color-success) 14%, transparent);
  }
  color: var(--color-success-dark);
}
.op-chevron {
  display: inline-flex;
  color: var(--color-border);
}
.op-chevron svg, .op-chevron i {
  width: 1.125rem;
  height: 1.125rem;
}
.op-row:hover .op-chevron {
  color: var(--color-primary);
}
.op-empty {
  padding: 3rem 1rem;
  text-align: center;
  color: var(--color-text-secondary);
}
.op-empty svg, .op-empty i {
  width: 2rem;
  height: 2rem;
  color: var(--color-success);
}
@media (max-width: 720px) {
  .op-list {
    display: flex;
    flex-direction: column;
    gap: 1rem;
  }
  .op-month, .op-month-rows {
    display: block;
  }
  .op-month-header {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    justify-content: space-between;
    gap: 0.25rem 1rem;
    padding-left: 0.875rem;
  }
  .op-month-amounts {
    flex-direction: row;
    gap: 0.75rem;
  }
  .op-month-labels {
    display: none;
  }
  .op-row {
    grid-template-columns: 0.25rem minmax(0, 1fr) auto;
    -moz-column-gap: 0.75rem;
         column-gap: 0.75rem;
    row-gap: 0.5rem;
  }
  .op-status {
    grid-row: 1 / span 3;
  }
  .op-date {
    grid-column: 2;
    grid-row: 1;
    text-align: left;
  }
  .op-date-day {
    display: inline;
    margin-right: 0.25rem;
    font-size: 0.9375rem;
  }
  .op-amount {
    grid-column: 3;
    grid-row: 1;
  }
  .op-main {
    grid-column: 2 / -1;
    grid-row: 2;
  }
  .op-stage {
    grid-column: 2 / -1;
    grid-row: 3;
  }
  .op-chevron {
    display: none;
  }
}
.drawer {
  width: min(40rem, 100vw);
  max-width: none;
  height: 100dvh;
  max-height: 100dvh;
  margin: 0 0 0 auto;
  padding: 0;
  border: 0;
  border-left: 1px solid var(--color-border);
  background-color: var(--color-background);
  color: var(--color-text);
  box-shadow: -12px 0 32px rgb(15 42 74 / 0.12);
  overflow: hidden;
}
.drawer::backdrop {
  background-color: rgb(10 24 38 / 0.45);
}
@media (prefers-reduced-motion: no-preference) {
  .drawer[open] {
    animation: drawer-in 0.18s ease-out;
  }
  @keyframes drawer-in {
    from {
      transform: translateX(1.5rem);
      opacity: 0;
    }
  }
}
@media (max-width: 640px) {
  .drawer {
    width: 100vw;
  }
}
.drawer-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  grid-template-rows: minmax(0, 1fr);
  height: 100%;
  min-height: 0;
}
.drawer-inner {
  display: flex;
  flex-direction: column;
  height: 100%;
  min-height: 0;
}
.drawer-header {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.75rem 1rem;
  border-bottom: 1px solid var(--color-border-light);
  background-color: var(--color-background-panel);
}
.drawer-title {
  margin: 0;
  font-size: 0.9375rem;
  font-weight: 700;
}
.drawer-title-date {
  color: var(--color-text-secondary);
  font-weight: 500;
}
.drawer-nav {
  display: flex;
  gap: 0.375rem;
  margin-left: auto;
}
.drawer-icon-btn {
  width: 2rem;
  height: 2rem;
  padding: 0;
  flex-shrink: 0;
}
.drawer-icon-btn svg, .drawer-icon-btn i {
  width: 1.125rem;
  height: 1.125rem;
}
.drawer-body {
  flex: 1;
  min-height: 0;
  padding: 1rem;
  overflow-y: auto;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.drawer-flash {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.drawer-flash .alert {
  margin-bottom: 0 !important;
}
.drawer-flash:not(:has(*)), .drawer-body > form#qualification-form {
  display: none;
}
.drawer-footer {
  display: flex;
  justify-content: space-between;
  gap: 0.5rem;
  padding: 0.75rem 1rem;
  border-top: 1px solid var(--color-border-light);
  background-color: var(--color-background-panel);
}
.op-identity {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}
.op-identity-label {
  margin: 0;
  color: var(--color-text-secondary);
  font-size: 0.8125rem;
  line-height: 1.4;
  overflow-wrap: anywhere;
}
.op-identity-amount {
  margin: 0;
  font-size: 2rem;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
  letter-spacing: -0.02em;
  line-height: 1.1;
}
.op-identity-amount--credit {
  color: var(--color-success-dark);
}
.op-description {
  margin-top: 0.5rem;
}
.op-description .form-label {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 0.5rem;
}
.save-status {
  color: var(--color-text-muted-accessible);
  font-size: 0.75rem;
  font-weight: 500;
}
.save-status--ok {
  color: var(--color-success-dark);
}
.save-status--error {
  color: var(--color-danger);
}
.step-card {
  border: 1px solid var(--color-border);
  border-radius: 0.75rem;
  background-color: var(--color-background-panel);
  box-shadow: 0 1px 2px rgb(15 42 74 / 0.06);
}
.step-card-head {
  display: flex;
  align-items: center;
  gap: 0.625rem;
  padding: 0.75rem 1rem;
  border-bottom: 1px solid var(--color-border-light);
}
.step-number {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 1.625rem;
  height: 1.625rem;
  border-radius: 9999px;
  background-color: var(--color-primary);
  color: var(--color-primary-text);
  font-size: 0.8125rem;
  font-weight: 700;
}
.step-number svg, .step-number i {
  width: 0.875rem;
  height: 0.875rem;
}
.step-card--done .step-number {
  background-color: var(--color-success);
  color: var(--color-success-text);
}
.step-card--locked .step-number {
  background-color: var(--color-border);
  color: var(--color-text-secondary);
}
.step-title {
  margin: 0;
  font-size: 1rem;
  font-weight: 700;
}
.step-status {
  margin-left: auto;
  padding: 0.125rem 0.625rem;
  border-radius: 9999px;
  background-color: var(--color-border-light);
  color: var(--color-text-secondary);
  font-size: 0.75rem;
  font-weight: 600;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}
.step-status--todo {
  background-color: color-mix(in srgb, #d97706 15%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    background-color: color-mix(in srgb, var(--color-warning) 15%, transparent);
  }
  color: var(--color-warning-dark);
}
.step-status--done {
  background-color: color-mix(in srgb, #16a34a 15%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    background-color: color-mix(in srgb, var(--color-success) 15%, transparent);
  }
  color: var(--color-success-dark);
}
.step-card-body {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  padding: 1rem;
}
.step-locked {
  display: flex;
  align-items: flex-start;
  gap: 0.5rem;
  margin: 0;
  color: var(--color-text-secondary);
  font-size: 0.8125rem;
  line-height: 1.45;
}
.step-locked svg, .step-locked i {
  width: 1rem;
  height: 1rem;
  flex-shrink: 0;
  margin-top: 0.0625rem;
}
.ledger {
  --seg-1: #2f5d8a;
  --seg-2: #9c6400;
  --seg-3: #4c7f6d;
  --seg-4: #7a5c8f;
  --seg-5: #a45b4d;
  --seg-6: #5b6b7c;
  border: 1px solid var(--color-border-light);
  border-radius: 0.5rem;
  overflow: hidden;
}
:root.dark .ledger {
  --seg-1: #6fa8dc;
  --seg-2: #e0a63c;
  --seg-3: #7fc0a8;
  --seg-4: #b498cc;
  --seg-5: #d89386;
  --seg-6: #9db8cd;
}
.ledger-row {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 1rem;
  margin: 0;
  padding: 0.625rem 0.875rem;
  font-size: 0.8125rem;
}
.ledger-row-label {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  color: var(--color-text-secondary);
}
.ledger-row-label svg, .ledger-row-label i {
  width: 0.875rem;
  height: 0.875rem;
}
.ledger-row-amount {
  font-size: 0.9375rem;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}
.ledger-row--total {
  background-color: var(--color-background);
}
.ledger-row--rest {
  border-top: 2px solid var(--color-text);
  background-color: color-mix(in srgb, #d97706 10%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    background-color: color-mix(in srgb, var(--color-warning) 10%, transparent);
  }
}
.ledger-row--rest .ledger-row-label, .ledger-row--rest .ledger-row-amount {
  color: var(--color-warning-dark);
  font-weight: 700;
}
.ledger-row--done {
  border-top-color: var(--color-border-light);
  background-color: color-mix(in srgb, #16a34a 10%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    background-color: color-mix(in srgb, var(--color-success) 10%, transparent);
  }
}
.ledger-row--done .ledger-row-label, .ledger-row--done .ledger-row-amount {
  color: var(--color-success-dark);
}
.ledger-bar {
  display: flex;
  height: 0.5rem;
  background-color: var(--color-border-light);
}
.ledger-seg {
  display: block;
  min-width: 2px;
}
.ledger-seg--rest {
  background-image: repeating-linear-gradient( 135deg, var(--color-border) 0 3px, transparent 3px 7px );
}
.ledger-lines {
  list-style: none;
  margin: 0;
  padding: 0;
}
.ledger-line {
  display: grid;
  grid-template-columns: 0.5rem minmax(0, 1fr) auto auto auto;
  align-items: center;
  gap: 0 0.625rem;
  padding: 0.5rem 0.875rem;
  border-bottom: 1px solid var(--color-border-light);
}
.ledger-line:last-child {
  border-bottom: 0;
}
.ledger-dot {
  width: 0.5rem;
  height: 0.5rem;
  border-radius: 9999px;
}
.ledger-account {
  min-width: 0;
}
.ledger-account-code {
  font-weight: 700;
  font-variant-numeric: tabular-nums;
  font-size: 0.8125rem;
}
.ledger-account-label {
  font-size: 0.8125rem;
  color: var(--color-text-secondary);
}
.ledger-account-meta {
  display: block;
  color: var(--color-text-muted-accessible);
  font-size: 0.6875rem;
  line-height: 1.35;
}
.ledger-justif {
  margin: 0.125rem 0 0;
}
.ledger-justif-toggle {
  padding: 0;
  border: 0;
  background: none;
  color: var(--color-primary);
  font-size: 0.6875rem;
  text-decoration: underline;
  text-underline-offset: 2px;
  cursor: pointer;
}
.ledger-justif-toggle:hover {
  color: var(--color-primary-dark);
}
.ledger-justif-toggle:focus-visible {
  outline: 2px solid var(--color-primary);
  outline-offset: 2px;
  border-radius: 2px;
}
.ledger-share {
  color: var(--color-text-secondary);
  font-size: 0.75rem;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}
.ledger-amount {
  font-size: 0.875rem;
  font-weight: 600;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}
.ledger-remove {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.75rem;
  height: 1.75rem;
  border: 0;
  padding: 0;
  border-radius: 0.375rem;
  background: none;
  color: var(--color-text-muted-accessible);
  cursor: pointer;
}
.ledger-remove:hover, .ledger-remove:focus-visible {
  background-color: color-mix(in srgb, #dc2626 12%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    background-color: color-mix(in srgb, var(--color-danger) 12%, transparent);
  }
  color: var(--color-danger);
}
.ledger-remove svg, .ledger-remove i {
  width: 0.875rem;
  height: 0.875rem;
}
.ledger-line:nth-child(6n + 1) .ledger-dot, .ledger-seg:nth-child(6n + 1) {
  background-color: var(--seg-1);
}
.ledger-line:nth-child(6n + 2) .ledger-dot, .ledger-seg:nth-child(6n + 2) {
  background-color: var(--seg-2);
}
.ledger-line:nth-child(6n + 3) .ledger-dot, .ledger-seg:nth-child(6n + 3) {
  background-color: var(--seg-3);
}
.ledger-line:nth-child(6n + 4) .ledger-dot, .ledger-seg:nth-child(6n + 4) {
  background-color: var(--seg-4);
}
.ledger-line:nth-child(6n + 5) .ledger-dot, .ledger-seg:nth-child(6n + 5) {
  background-color: var(--seg-5);
}
.ledger-line:nth-child(6n + 6) .ledger-dot, .ledger-seg:nth-child(6n + 6) {
  background-color: var(--seg-6);
}
.ledger-seg.ledger-seg--rest {
  background-color: transparent;
}
.add-line {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  padding: 0.875rem;
  border: 1px dashed color-mix(in srgb, #0f2a4a 35%, #cfd8e3);
  @supports (color: color-mix(in lab, red, red)) {
    border: 1px dashed color-mix(in srgb, var(--color-primary) 35%, var(--color-border));
  }
  border-radius: 0.5rem;
  background-color: color-mix(in srgb, #0f2a4a 4%, #ffffff);
  @supports (color: color-mix(in lab, red, red)) {
    background-color: color-mix(in srgb, var(--color-primary) 4%, var(--color-background-panel));
  }
}
.add-line-title {
  margin: 0;
  font-size: 0.875rem;
  font-weight: 700;
}
.add-line-suggestion {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  flex-wrap: wrap;
  padding: 0.5rem 0.625rem;
  border: 1px solid var(--color-accent);
  border-radius: 0.5rem;
  background-color: color-mix(in srgb, #9c6400 10%, #ffffff);
  @supports (color: color-mix(in lab, red, red)) {
    background-color: color-mix(in srgb, var(--color-accent) 10%, var(--color-background-panel));
  }
  font-size: 0.8125rem;
}
.add-line-suggestion > svg, .add-line-suggestion > i {
  width: 1rem;
  height: 1rem;
  color: var(--color-accent-dark);
}
.add-line-suggestion-text {
  flex: 1;
  min-width: 10rem;
}
.add-line-suggestion-use {
  background-color: var(--color-accent);
  color: var(--color-accent-text);
}
.add-line-suggestion-use:hover {
  background-color: var(--color-accent-dark);
}
.add-line-fields {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 9.5rem;
  gap: 0.625rem;
  align-items: end;
}
@media (max-width: 480px) {
  .add-line-fields {
    grid-template-columns: minmax(0, 1fr);
  }
}
.add-line-fields .form-label {
  margin-bottom: 0.25rem;
}
.amount-input {
  position: relative;
}
.amount-input .form-control {
  padding-right: 1.75rem;
  font-size: 1.0625rem;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
  text-align: right;
}
.amount-input .form-control:user-invalid {
  border-color: var(--color-danger);
}
.amount-currency {
  position: absolute;
  top: 50%;
  right: 0.625rem;
  transform: translateY(-50%);
  color: var(--color-text-muted-accessible);
  font-weight: 600;
  pointer-events: none;
}
.add-line-preview {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 0.75rem;
  margin: -0.25rem 0 0;
  font-size: 0.75rem;
}
.amount-preview {
  color: var(--color-text-secondary);
}
.amount-preview--over {
  color: var(--color-danger);
  font-weight: 600;
}
.amount-fill {
  flex-shrink: 0;
  border: 0;
  padding: 0;
  background: none;
  color: var(--color-primary);
  font-size: 0.75rem;
  font-weight: 600;
  cursor: pointer;
  white-space: nowrap;
}
.amount-fill:hover {
  text-decoration: underline;
}
.add-line-check {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.8125rem;
  cursor: pointer;
}
.add-line-actions {
  display: flex;
  justify-content: flex-end;
}
.extra-fields {
  border: 1px solid var(--color-border-light);
  border-radius: 0.5rem;
  background-color: var(--color-background-panel);
}
.extra-fields > summary {
  padding: 0.5rem 0.75rem;
  color: var(--color-text-secondary);
  font-size: 0.8125rem;
  font-weight: 600;
  cursor: pointer;
  list-style-position: inside;
}
.extra-fields[open] > summary {
  border-bottom: 1px solid var(--color-border-light);
}
.extra-fields-body {
  padding: 0.75rem;
  display: flex;
  flex-direction: column;
  gap: 0.625rem;
}
.doc-cards {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.doc-card {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.625rem 0.75rem;
  border: 1px solid var(--color-border-light);
  border-radius: 0.5rem;
}
.doc-card-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 2.25rem;
  height: 2.75rem;
  border-radius: 0.25rem;
  font-size: 0.625rem;
  font-weight: 800;
  letter-spacing: 0.04em;
}
.doc-card-icon--pdf {
  background-color: color-mix(in srgb, #dc2626 12%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    background-color: color-mix(in srgb, var(--color-danger) 12%, transparent);
  }
  color: var(--color-danger-dark);
}
.doc-card-icon--image {
  background-color: color-mix(in srgb, #0284c7 12%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    background-color: color-mix(in srgb, var(--color-info) 12%, transparent);
  }
  color: var(--color-info-dark);
}
.doc-card-body {
  display: flex;
  flex-direction: column;
  flex: 1;
  min-width: 0;
}
.doc-card-name {
  font-size: 0.8125rem;
  font-weight: 600;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.doc-card-meta {
  color: var(--color-text-secondary);
  font-size: 0.75rem;
  font-variant-numeric: tabular-nums;
}
.dropzone {
  position: relative;
}
.dropzone-input {
  position: absolute;
  width: 1px;
  height: 1px;
  clip-path: inset(50%);
  overflow: hidden;
  white-space: nowrap;
}
.dropzone-label {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.25rem;
  padding: 1.25rem 1rem;
  border: 2px dashed var(--color-border);
  border-radius: 0.625rem;
  background-color: var(--color-background);
  text-align: center;
  cursor: pointer;
  transition: border-color 0.12s ease, background-color 0.12s ease;
}
.dropzone-label > svg, .dropzone-label > i {
  width: 1.5rem;
  height: 1.5rem;
  margin-bottom: 0.25rem;
  color: var(--color-primary);
}
.dropzone-title {
  font-size: 0.875rem;
  font-weight: 700;
}
.dropzone-sub {
  color: var(--color-text-secondary);
  font-size: 0.75rem;
}
.dropzone-link {
  color: var(--color-primary);
  font-weight: 600;
  text-decoration: underline;
}
.dropzone-label:hover, .dropzone--over .dropzone-label {
  border-color: var(--color-primary);
  background-color: color-mix(in srgb, #0f2a4a 6%, #ffffff);
  @supports (color: color-mix(in lab, red, red)) {
    background-color: color-mix(in srgb, var(--color-primary) 6%, var(--color-background-panel));
  }
}
.dropzone:has(.dropzone-input:focus-visible) .dropzone-label {
  outline: 2px solid var(--color-primary);
  outline-offset: 2px;
}
.dropzone--busy .dropzone-label {
  cursor: progress;
  opacity: 0.7;
}
.reuse-form {
  flex-direction: row !important;
  align-items: center;
}
.reuse-form .form-control {
  flex: 1;
  min-width: 0;
}
.drawer--with-preview {
  width: min(84rem, 100vw);
}
.drawer--with-preview .drawer-layout {
  grid-template-columns: minmax(0, 1fr) 40rem;
}
@media (max-width: 900px) {
  .drawer--with-preview {
    width: 100vw;
  }
  .drawer--with-preview .drawer-layout {
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: 40% minmax(0, 1fr);
  }
}
.drawer-preview {
  display: flex;
  flex-direction: column;
  min-width: 0;
  min-height: 0;
  border-right: 1px solid var(--color-border);
  background-color: var(--color-background-panel);
}
@media (max-width: 900px) {
  .drawer-preview {
    border-right: 0;
    border-bottom: 1px solid var(--color-border);
  }
}
.drawer-preview-head {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.625rem 0.75rem;
  border-bottom: 1px solid var(--color-border-light);
  font-size: 0.8125rem;
}
.drawer-preview-head > svg, .drawer-preview-head > i {
  width: 0.9375rem;
  height: 0.9375rem;
  color: var(--color-text-muted-accessible);
}
.drawer-preview-name {
  flex: 1;
  min-width: 0;
  font-weight: 600;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.drawer-preview-body {
  flex: 1;
  min-height: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0.5rem;
  overflow: auto;
  background-color: var(--color-background);
}
.drawer-preview-frame {
  width: 100%;
  height: 100%;
  border: 0;
  border-radius: 0.375rem;
  background-color: #fff;
}
.drawer-preview-image {
  max-width: 100%;
  max-height: 100%;
  border-radius: 0.375rem;
  -o-object-fit: contain;
     object-fit: contain;
}
.op-filter:focus-visible, .op-suggestion:focus-visible, .op-label:focus-visible, .ledger-remove:focus-visible, .amount-fill:focus-visible {
  outline: 2px solid var(--color-primary);
  outline-offset: 2px;
  border-radius: 0.25rem;
}
.rule-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(22rem, 100%), 1fr));
  gap: 0.875rem;
}
.rule-card {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  padding: 0.875rem 1rem 1rem;
  border: 1px solid var(--color-border-light);
  border-radius: 0.75rem;
  background-color: var(--color-background-panel);
}
.rule-card-header {
  display: flex;
  align-items: baseline;
  gap: 0.5rem;
}
.rule-card-code {
  font-size: 0.9375rem;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
}
.rule-card-label {
  flex: 1;
  min-width: 0;
  font-size: 0.875rem;
  line-height: 1.3;
}
.rule-card-family {
  color: var(--color-text-muted-accessible);
  font-size: 0.6875rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  white-space: nowrap;
}
.rule-keywords {
  display: flex;
  flex-wrap: wrap;
  gap: 0.375rem;
}
.keyword {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  padding: 0.1875rem 0.25rem 0.1875rem 0.5rem;
  border: 1px solid var(--color-border);
  border-radius: 9999px;
  background-color: var(--color-background);
  font-size: 0.8125rem;
}
.keyword--editing {
  border-color: var(--color-accent);
  box-shadow: 0 0 0 2px color-mix(in srgb, #9c6400 25%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    box-shadow: 0 0 0 2px color-mix(in srgb, var(--color-accent) 25%, transparent);
  }
}
.keyword-text {
  font-weight: 600;
}
.keyword-direction {
  padding: 0 0.375rem;
  border-radius: 9999px;
  background-color: var(--color-border-light);
  color: var(--color-text-secondary);
  font-size: 0.6875rem;
}
.keyword-action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.375rem;
  height: 1.375rem;
  border: 0;
  padding: 0;
  border-radius: 9999px;
  background: none;
  color: var(--color-text-muted-accessible);
  cursor: pointer;
}
.keyword-action:hover, .keyword-action:focus-visible {
  background-color: var(--color-border-light);
  color: var(--color-text);
}
.keyword-action svg, .keyword-action i {
  width: 0.8125rem;
  height: 0.8125rem;
}
.keyword-form {
  display: inline-flex;
}
.rule-add {
  display: flex;
  gap: 0.375rem;
  align-items: center;
  margin-top: auto;
  padding-top: 0.75rem;
  border-top: 1px dashed var(--color-border);
}
.rule-add input[type="text"] {
  flex: 1;
  min-width: 0;
}
.direction-choice {
  display: inline-flex;
  border: 1px solid var(--color-border);
  border-radius: 0.375rem;
  overflow: hidden;
}
.direction-choice input {
  position: absolute;
  width: 1px;
  height: 1px;
  clip-path: inset(50%);
  overflow: hidden;
  white-space: nowrap;
}
.direction-choice label {
  padding: 0.3125rem 0.5rem;
  border-right: 1px solid var(--color-border);
  background-color: var(--color-background-panel);
  color: var(--color-text-secondary);
  font-size: 0.75rem;
  font-weight: 600;
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}
.direction-choice label:last-child {
  border-right: 0;
}
.direction-choice input:checked + label {
  background-color: var(--color-primary);
  color: var(--color-primary-text);
}
.direction-choice input:focus-visible + label {
  outline: 2px solid var(--color-primary);
  outline-offset: -2px;
}
.rule-empty {
  grid-column: 1 / -1;
  padding: 2.5rem 1rem;
  border: 1px dashed var(--color-border);
  border-radius: 0.75rem;
  text-align: center;
  color: var(--color-text-secondary);
}
.rule-help {
  max-width: 44rem;
  margin: 0 0 1.25rem;
  color: var(--color-text-secondary);
  font-size: 0.875rem;
  line-height: 1.5;
}
.modal-rule {
  width: min(30rem, 92vw);
  max-width: none;
  padding: 0;
  border: 0;
  border-radius: 0.75rem;
  background-color: var(--color-background-panel);
  color: var(--color-text);
  transform: none;
  opacity: 1;
}
.modal-rule::backdrop {
  background-color: rgb(10 24 38 / 0.45);
}
:root {
  --bordure-champ: #6b7f99;
}
:root.dark {
  --bordure-champ: #8fa3ba;
}
.compte {
  width: 100%;
  max-width: 34rem;
  margin: 0 auto;
  padding: 2.5rem 1rem 4rem;
  color: var(--color-text);
}
.compte-retour {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  margin-bottom: 2rem;
  color: var(--color-primary);
  font-size: 0.9375rem;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.compte-retour svg {
  width: 1rem;
  height: 1rem;
}
.compte-titre {
  margin: 0 0 0.75rem;
  color: var(--color-primary);
  font-size: clamp(1.625rem, 4vw, 2rem);
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: -0.01em;
}
.compte-intro {
  margin: 0 0 2rem;
  color: var(--color-text-secondary);
  font-size: 1.0625rem;
  line-height: 1.6;
}
.compte-carte {
  padding: 1.75rem;
  border: 1px solid var(--color-border);
  border-radius: 0.75rem;
  background: var(--color-background-panel);
}
.bienvenue-salut {
  margin: 0;
  color: var(--color-text-secondary);
  font-size: 1.125rem;
}
.bienvenue-phrase {
  margin: 0.25rem 0 1.25rem;
  color: var(--color-primary);
  font-size: 1.375rem;
  font-weight: 600;
  line-height: 1.35;
}
.bienvenue-groupes {
  display: grid;
  gap: 1.25rem;
  margin: 0 0 2.5rem;
  padding: 0;
  list-style: none;
}
.bienvenue-code {
  display: inline-block;
  padding-bottom: 0.25rem;
  border-bottom: 0.3rem double var(--color-accent);
  color: var(--color-accent);
  font-size: clamp(2.75rem, 11vw, 4.25rem);
  font-weight: 800;
  line-height: 1;
  letter-spacing: -0.02em;
  font-variant-numeric: tabular-nums;
}
.bienvenue-detail {
  display: block;
  margin-top: 0.625rem;
  color: var(--color-text-secondary);
  font-size: 1rem;
}
.bienvenue-sans-groupe {
  margin: 0 0 2rem;
  color: var(--color-text-secondary);
}
.parcours {
  display: grid;
  gap: 0.5rem;
  margin: 0 0 1.75rem;
  padding: 0;
  list-style: none;
  counter-reset: parcours;
}
.parcours li {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  color: var(--color-text-secondary);
  font-size: 1rem;
  counter-increment: parcours;
}
.parcours li::before {
  content: counter(parcours);
  display: inline-grid;
  place-items: center;
  flex-shrink: 0;
  width: 1.75rem;
  height: 1.75rem;
  border: 2px solid var(--color-border);
  border-radius: 9999px;
  font-size: 0.875rem;
  font-weight: 700;
}
.parcours li[aria-current="step"] {
  color: var(--color-primary);
  font-weight: 700;
}
.parcours li[aria-current="step"]::before {
  border-color: var(--color-primary);
  background: var(--color-primary);
  color: var(--color-primary-text);
}
.compte-form {
  display: grid;
  gap: 1.25rem;
}
.compte-champ {
  display: grid;
  gap: 0.375rem;
  min-width: 0;
}
.compte-champ label {
  color: var(--color-primary);
  font-size: 1rem;
  font-weight: 700;
}
.compte-champ input {
  width: 100%;
  min-height: 3.125rem;
  padding: 0.625rem 0.875rem;
  border: 1.5px solid var(--bordure-champ);
  border-radius: 0.625rem;
  background: var(--color-background-panel);
  color: var(--color-text);
  font: inherit;
  font-size: 1.0625rem;
}
.compte-champ input:hover, .compte-champ select:hover, .compte-champ textarea:hover {
  border-color: var(--color-primary);
}
.compte-champ input:focus-visible, .compte-champ select:focus-visible, .compte-champ textarea:focus-visible {
  outline: 2px solid transparent;
  border: 2px solid var(--color-primary);
  box-shadow: 0 0 0 4px rgb(224 166 60 / 0.55);
}
.compte-champ input[aria-invalid="true"], .compte-champ select[aria-invalid="true"] {
  border: 2.5px solid var(--color-danger);
  background: color-mix(in srgb, #dc2626 5%, #ffffff);
  @supports (color: color-mix(in lab, red, red)) {
    background: color-mix(in srgb, var(--color-danger) 5%, var(--color-background-panel));
  }
}
.compte-aide {
  margin: 0;
  color: var(--color-text-secondary);
  font-size: 0.9375rem;
  line-height: 1.5;
}
.compte-aide--avant {
  margin-bottom: 1.25rem;
}
.compte-secret {
  position: relative;
}
.compte-secret input {
  width: 100%;
  padding-right: 3.25rem;
}
.compte-secret-bouton {
  position: absolute;
  top: 50%;
  right: 0.25rem;
  display: inline-grid;
  place-items: center;
  width: 2.75rem;
  height: 2.75rem;
  border: 0;
  border-radius: 0.375rem;
  background: transparent;
  color: var(--color-text-secondary);
  cursor: pointer;
  transform: translateY(-50%);
}
.compte-secret-bouton:hover {
  color: var(--color-primary);
}
.compte-secret-bouton:focus-visible {
  outline: 3px solid color-mix(in srgb, #0f2a4a 35%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    outline: 3px solid color-mix(in srgb, var(--color-primary) 35%, transparent);
  }
}
.compte-secret-bouton svg {
  width: 1.25rem;
  height: 1.25rem;
}
.criteres {
  display: grid;
  gap: 0.375rem;
  margin: 0;
  padding: 0;
  list-style: none;
}
.criteres li {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  color: var(--color-text-secondary);
  font-size: 0.9375rem;
}
.criteres li::before {
  content: '';
  flex-shrink: 0;
  width: 1.125rem;
  height: 1.125rem;
  border: 2px solid var(--color-border);
  border-radius: 9999px;
}
.criteres li[data-rempli="true"] {
  color: var(--color-success-dark);
}
.criteres li[data-rempli="true"]::before {
  border-color: var(--color-success-dark);
  background: var(--color-success-dark) url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 24 24%27 fill=%27none%27 stroke=%27white%27 stroke-width=%273.5%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27%3E%3Cpath d=%27M20 6 9 17l-5-5%27/%3E%3C/svg%3E") center / 0.75rem no-repeat;
}
.compte-erreurs {
  margin: 0;
  padding: 1rem 1.25rem;
  border-left: 4px solid var(--color-danger);
  border-radius: 0.375rem;
  background: color-mix(in srgb, #dc2626 8%, #ffffff);
  @supports (color: color-mix(in lab, red, red)) {
    background: color-mix(in srgb, var(--color-danger) 8%, var(--color-background-panel));
  }
  color: var(--color-text);
}
.compte-erreurs ul {
  margin: 0.25rem 0 0;
  padding-left: 1.25rem;
  list-style: disc;
}
.compte-bouton {
  width: 100%;
  min-height: 3.25rem;
  font-size: 1.0625rem;
}
.compte-pied {
  margin-top: 2rem;
  color: var(--color-text-secondary);
  font-size: 0.9375rem;
  line-height: 1.6;
}
.compte-pied a {
  color: var(--color-primary);
  text-decoration: underline;
  text-underline-offset: 3px;
}
@media (prefers-reduced-motion: no-preference) {
  .bienvenue-code {
    animation: bienvenue-arrivee 600ms cubic-bezier(0.2, 0.7, 0.2, 1) both;
  }
  @keyframes bienvenue-arrivee {
    from {
      opacity: 0;
      transform: translateY(0.5rem);
    }
    to {
      opacity: 1;
      transform: none;
    }
  }
}
.compte-sous-titre {
  margin: 0 0 0.75rem;
  color: var(--color-text);
  font-size: 1.125rem;
  font-weight: 700;
}
.compte-liste {
  display: grid;
  gap: 0.625rem;
  margin: 0;
  padding-left: 1.25rem;
  list-style: disc;
  font-size: 1rem;
  line-height: 1.55;
}
.compte-liste li::marker {
  color: var(--color-text-secondary);
}
.compte-liste a {
  color: var(--color-primary);
  text-decoration: underline;
  text-underline-offset: 3px;
}
.compte-lien-discret {
  justify-self: start;
  padding: 0.5rem 0;
  color: var(--color-primary);
  font-size: 0.9375rem;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.compte-case {
  display: flex;
  align-items: center;
  gap: 0.625rem;
  min-height: 2.75rem;
}
.compte-case input {
  width: 1.25rem;
  height: 1.25rem;
  accent-color: var(--color-primary);
}
.compte-case label {
  cursor: pointer;
}
.compte-erreurs a {
  color: inherit;
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.compte-facultatif {
  color: var(--color-text-secondary);
  font-weight: 400;
}
.compte-champ select {
  width: 100%;
  max-width: 100%;
  min-height: 3.125rem;
  padding: 0.625rem 0.875rem;
  border: 1.5px solid var(--bordure-champ);
  border-radius: 0.625rem;
  background: var(--color-background-panel);
  color: var(--color-text);
  font: inherit;
  font-size: 1.0625rem;
}
.compte-erreur-champ {
  display: flex;
  gap: 0.5rem;
  align-items: flex-start;
  margin: 0;
  padding: 0.5rem 0.625rem;
  border-radius: 0.5rem;
  background: #fde8e6;
  color: #8f1d13;
  font-size: 0.9375rem;
  font-weight: 700;
  line-height: 1.4;
}
:root.dark .compte-erreur-champ {
  background: #3b1512;
  color: #fca5a5;
}
.compte-erreur-champ::before {
  content: '';
  flex-shrink: 0;
  width: 1.125rem;
  height: 1.125rem;
  margin-top: 0.125rem;
  background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 24 24%27 fill=%27none%27 stroke=%27black%27 stroke-width=%272.5%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27%3E%3Ccircle cx=%2712%27 cy=%2712%27 r=%2710%27/%3E%3Cpath d=%27M12 8v4M12 16h.01%27/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 24 24%27 fill=%27none%27 stroke=%27black%27 stroke-width=%272.5%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27%3E%3Ccircle cx=%2712%27 cy=%2712%27 r=%2710%27/%3E%3Cpath d=%27M12 8v4M12 16h.01%27/%3E%3C/svg%3E") center / contain no-repeat;
}
.compte-libelle {
  color: var(--color-text-secondary);
  font-size: 0.9375rem;
}
.compte-valeur-fixe {
  color: var(--color-text);
  font-size: 1.0625rem;
  font-weight: 600;
  overflow-wrap: anywhere;
}
.compte-choix {
  margin: 0;
  padding: 0;
  border: 0;
}
.compte-choix legend {
  margin-bottom: 0.5rem;
  padding: 0;
  color: var(--color-primary);
  font-weight: 700;
}
.compte-choix-options {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}
.compte-option {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  min-height: 2.875rem;
  padding: 0 1.125rem 0 0.875rem;
  border: 1.5px solid var(--bordure-champ);
  border-radius: 9999px;
  background: var(--color-background-panel);
  font-weight: 600;
  cursor: pointer;
}
.compte-option:hover {
  border-color: var(--color-primary);
}
.compte-option:has(input:checked) {
  border: 2px solid var(--color-primary);
  background: var(--color-primary);
  color: var(--color-background-panel);
}
.compte-option:has(input:focus-visible) {
  outline: 2px solid transparent;
  box-shadow: 0 0 0 4px rgb(224 166 60 / 0.55);
}
.compte-option input {
  width: 1.125rem;
  height: 1.125rem;
  margin: 0;
  accent-color: #e0a63c;
}
.bientot {
  padding: 1rem 1.125rem;
  border: 1.5px dashed var(--color-border);
  border-radius: 0.5rem;
}
.bientot-titre {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem 0.75rem;
  margin: 0 0 0.25rem;
  color: var(--color-text);
  font-weight: 700;
}
.bientot-etiquette {
  padding: 0.125rem 0.625rem;
  border-radius: 9999px;
  background: var(--color-background);
  color: var(--color-text-secondary);
  font-size: 0.8125rem;
  font-weight: 600;
  box-shadow: inset 0 0 0 1px var(--color-border);
}
.bientot-texte {
  margin: 0;
  color: var(--color-text-secondary);
  font-size: 0.9375rem;
  line-height: 1.5;
}
.statut {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  padding: 0.1875rem 0.625rem;
  border-radius: 9999px;
  font-size: 0.8125rem;
  font-weight: 600;
  white-space: nowrap;
}
.statut::before {
  content: '';
  width: 0.5rem;
  height: 0.5rem;
  border-radius: 9999px;
  background: currentColor;
}
.statut--success {
  background: #e7f6ec;
  color: #14532d;
}
.statut--info {
  background: #e6eef8;
  color: #0f2a4a;
}
.statut--warning {
  background: #fdf1dc;
  color: #7c2d12;
}
.statut--danger {
  background: #fde8e8;
  color: #7f1d1d;
}
.statut--neutre {
  background: #eef1f5;
  color: #334155;
}
:root.dark .statut--success {
  background: #12301f;
  color: #86efac;
}
:root.dark .statut--info {
  background: #13283f;
  color: #a5c8ef;
}
:root.dark .statut--warning {
  background: #36250f;
  color: #fcd34d;
}
:root.dark .statut--danger {
  background: #3b1515;
  color: #fca5a5;
}
:root.dark .statut--neutre {
  background: #1e2a38;
  color: #cbd5e1;
}
.utilisateur-marque {
  display: inline-block;
  margin-left: 0.5rem;
  color: var(--color-text-secondary);
  font-size: 0.8125rem;
  font-style: italic;
}
.utilisateurs-compte {
  margin: 0 0 0.75rem;
  color: var(--color-text-secondary);
  font-size: 0.9375rem;
}
.utilisateur-lien {
  color: var(--color-primary);
  font-weight: 700;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}
.utilisateur-lien:hover {
  text-decoration-thickness: 2px;
}
.utilisateur-email {
  display: block;
  color: var(--color-text-secondary);
  font-size: 0.875rem;
  overflow-wrap: anywhere;
}
.compte-case--aide {
  align-items: flex-start;
}
.compte-case--aide input {
  margin-top: 0.125rem;
  flex-shrink: 0;
}
.compte-case--aide label {
  font-weight: 600;
}
.compte-champ textarea {
  width: 100%;
  padding: 0.625rem 0.875rem;
  border: 1.5px solid var(--bordure-champ);
  border-radius: 0.625rem;
  background: var(--color-background-panel);
  color: var(--color-text);
  font: inherit;
  line-height: 1.5;
  resize: vertical;
}
.choix-groupes {
  display: grid;
  gap: 0.625rem;
  margin: 0;
  padding: 0;
  border: 0;
  min-width: 0;
}
.choix-groupes legend {
  margin-bottom: 0.25rem;
  padding: 0;
  font-weight: 600;
}
.choix-groupes-resume {
  margin: 0;
  color: var(--color-text);
  font-size: 0.9375rem;
  font-weight: 600;
}
.choix-groupes-liste {
  max-height: 18rem;
  margin: 0;
  padding: 0.25rem;
  overflow-y: auto;
  border: 1.5px solid var(--bordure-champ);
  border-radius: 0.5rem;
  background: var(--color-background-panel);
  list-style: none;
}
.choix-groupes[aria-invalid="true"] .choix-groupes-liste {
  border-color: var(--color-danger);
}
.choix-groupes-liste label {
  display: grid;
  grid-template-columns: auto 6.5rem 1fr;
  align-items: center;
  gap: 0.75rem;
  min-height: 2.75rem;
  padding: 0 0.75rem;
  border-radius: 0.375rem;
  cursor: pointer;
}
.choix-groupes-liste label:hover {
  background: var(--color-background);
}
.choix-groupes-liste label:has(input:checked) {
  background: color-mix(in srgb, #0f2a4a 7%, #ffffff);
  @supports (color: color-mix(in lab, red, red)) {
    background: color-mix(in srgb, var(--color-primary) 7%, var(--color-background-panel));
  }
}
.choix-groupes-liste label:has(input:focus-visible) {
  outline: 3px solid color-mix(in srgb, #0f2a4a 35%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    outline: 3px solid color-mix(in srgb, var(--color-primary) 35%, transparent);
  }
  outline-offset: -3px;
}
.choix-groupes-liste input {
  width: 1.125rem;
  height: 1.125rem;
  accent-color: var(--color-primary);
}
.choix-groupes-code {
  font-weight: 700;
  font-variant-numeric: tabular-nums;
}
.choix-groupes-nom {
  color: var(--color-text-secondary);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.liste-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 0.5rem;
}
.liste-action {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  min-height: 2.75rem;
  padding: 0 0.875rem;
  border: 1.5px solid #7b8ca3;
  border-radius: 0.375rem;
  background: var(--color-background-panel);
  color: var(--color-primary);
  font: inherit;
  font-size: 0.875rem;
  font-weight: 600;
  white-space: nowrap;
  text-decoration: none;
  cursor: pointer;
}
.liste-action:hover {
  border-color: var(--color-primary);
  background: color-mix(in srgb, #0f2a4a 6%, #ffffff);
  @supports (color: color-mix(in lab, red, red)) {
    background: color-mix(in srgb, var(--color-primary) 6%, var(--color-background-panel));
  }
}
.liste-action:focus-visible {
  outline: 3px solid color-mix(in srgb, #0f2a4a 35%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    outline: 3px solid color-mix(in srgb, var(--color-primary) 35%, transparent);
  }
  outline-offset: 1px;
}
.liste-action svg {
  width: 1rem;
  height: 1rem;
}
.dossier {
  padding: 1rem 0 4rem;
  color: var(--color-text);
}
.dossier > .compte-retour {
  display: flex;
  width: -moz-max-content;
  width: max-content;
  margin-bottom: 0.5rem;
}
.dossier h2 {
  margin: 0 0 0.25rem;
  color: var(--color-primary);
  font-size: 1.3125rem;
  font-weight: 700;
}
.dossier h3 {
  margin: 0 0 0.625rem;
  color: var(--color-primary);
  font-size: 1.0625rem;
  font-weight: 700;
}
.dossier-sous {
  margin: 0 0 1.125rem;
  color: var(--color-text-secondary);
  font-size: 0.9375rem;
  line-height: 1.5;
}
.dossier-panneau {
  padding: 1.5rem;
  border: 1px solid var(--color-border);
  border-radius: 0.875rem;
  background: var(--color-background-panel);
}
.dossier-tete {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.625rem 1rem;
  margin-bottom: 0.375rem;
}
.dossier-onglet {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0.25rem 0.875rem;
  margin: 0 0 1.125rem;
}
.dossier-code {
  padding-bottom: 0.125rem;
  border-bottom: 0.25rem double var(--color-accent);
  color: var(--color-accent);
  font-size: 1.375rem;
  font-weight: 800;
  font-variant-numeric: tabular-nums;
  letter-spacing: 0.01em;
}
.dossier-nom-groupe {
  color: var(--color-text-secondary);
  font-weight: 600;
}
.dossier h1 {
  margin: 0;
  color: var(--color-primary);
  font-size: clamp(1.75rem, 3.2vw, 2.25rem);
  font-weight: 700;
  line-height: 1.12;
  letter-spacing: -0.015em;
}
.dossier-situation {
  max-width: 46ch;
  margin: 1rem 0 0;
  color: var(--color-text);
  font-size: clamp(1.1875rem, 1.8vw, 1.375rem);
  line-height: 1.5;
}
.dossier-situation a {
  color: var(--color-primary);
  font-weight: 700;
  text-decoration-thickness: 2px;
  text-underline-offset: 4px;
}
.dossier-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 0.5rem;
}
.dossier-actions form {
  margin: 0;
}
.dossier-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  min-height: 3rem;
  padding: 0 1.125rem;
  border: 1.5px solid #7b8ca3;
  border-radius: 0.5rem;
  background: var(--color-background-panel);
  color: var(--color-primary);
  font: inherit;
  font-size: 0.9375rem;
  font-weight: 700;
  white-space: nowrap;
  text-decoration: none;
  cursor: pointer;
}
.dossier-btn:hover {
  border-color: var(--color-primary);
}
.dossier-btn:focus-visible {
  outline: 3px solid color-mix(in srgb, #0f2a4a 35%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    outline: 3px solid color-mix(in srgb, var(--color-primary) 35%, transparent);
  }
  outline-offset: 2px;
}
.dossier-btn svg {
  width: 1.125rem;
  height: 1.125rem;
}
.dossier-btn--plein {
  border-color: var(--color-primary);
  background: var(--color-primary);
  color: var(--color-primary-text);
}
.dossier-btn--plein:hover {
  color: var(--color-primary-text);
}
.dossier-btn--petit {
  min-height: 2.5rem;
  padding: 0 0.75rem;
  font-size: 0.875rem;
}
.dossier-btn--danger {
  color: #8a1c1c;
  border-color: #c98585;
}
:root.dark .dossier-btn--danger {
  color: #fca5a5;
  border-color: #a35d5d;
}
.dossier-btn[disabled] {
  opacity: 0.55;
  cursor: not-allowed;
}
.dossier-colonnes {
  display: grid;
  grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
  gap: 2rem;
  align-items: start;
}
.dossier-joindre {
  display: grid;
  gap: 0.5rem;
  margin: 0 0 1.25rem;
}
.dossier-joindre a, .dossier-joindre button {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  min-height: 3.25rem;
  padding: 0 0.875rem;
  border: 1.5px solid var(--color-border);
  border-radius: 0.625rem;
  background: var(--color-background);
  color: var(--color-primary);
  font: inherit;
  font-size: 1rem;
  text-align: left;
  text-decoration: none;
  overflow-wrap: anywhere;
  cursor: pointer;
}
.dossier-joindre a:hover, .dossier-joindre button:hover {
  border-color: var(--color-primary);
}
.dossier-joindre a:focus-visible, .dossier-joindre button:focus-visible {
  outline: 3px solid color-mix(in srgb, #0f2a4a 35%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    outline: 3px solid color-mix(in srgb, var(--color-primary) 35%, transparent);
  }
  outline-offset: 1px;
}
.dossier-joindre svg {
  width: 1.25rem;
  height: 1.25rem;
  flex-shrink: 0;
  color: var(--color-text-secondary);
}
.dossier-joindre-action {
  margin-left: auto;
  color: var(--color-text-secondary);
  font-size: 0.875rem;
  font-weight: 700;
  white-space: nowrap;
}
.dossier-fiche {
  display: grid;
  grid-template-columns: max-content 1fr;
  -moz-column-gap: 1.25rem;
       column-gap: 1.25rem;
  margin: 0;
  font-size: 1rem;
}
.dossier-fiche dt, .dossier-fiche dd {
  padding: 0.625rem 0;
  border-top: 1px solid var(--color-border);
}
.dossier-fiche dt {
  color: var(--color-text-secondary);
}
.dossier-fiche dd {
  margin: 0;
  font-weight: 600;
  overflow-wrap: anywhere;
}
.dossier-manque {
  color: var(--color-text-secondary);
  font-weight: 400;
}
.dossier-marques {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin: 1.125rem 0 0;
}
.dossier-marque {
  display: inline-flex;
  padding: 0.375rem 0.75rem;
  border-radius: 9999px;
  background: var(--color-background);
  color: var(--color-text);
  font-size: 0.875rem;
  font-weight: 600;
}
.dossier-bientot {
  display: inline-block;
  margin-left: 0.5rem;
  padding: 0.125rem 0.625rem;
  border-radius: 9999px;
  background: var(--color-background-panel);
  box-shadow: inset 0 0 0 1.5px #9aaabd;
  color: var(--color-text-secondary);
  font-size: 0.8125rem;
  font-weight: 700;
  vertical-align: middle;
  white-space: nowrap;
}
.dossier-mois {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: minmax(0, 1fr);
  gap: 0.375rem;
  align-items: end;
  height: 10.5rem;
  margin: 1.125rem 0 0.375rem;
  padding-bottom: 0.25rem;
  border-bottom: 2px solid var(--color-primary);
}
.dossier-colonne {
  display: flex;
  flex-direction: column-reverse;
  height: 100%;
}
.dossier-segment {
  display: block;
  width: 100%;
}
.dossier-colonne .dossier-segment:last-child {
  border-radius: 0.25rem 0.25rem 0 0;
}
.dossier-segment--a-qualifier {
  background: var(--color-warning);
}
.dossier-segment--partielle {
  background: var(--color-info);
}
.dossier-segment--a-justifier {
  background: var(--color-justify);
}
.dossier-segment--terminee {
  background: var(--color-success);
}
.dossier-colonne--avenir {
  border-radius: 0.25rem;
  background: repeating-linear-gradient(135deg, var(--color-border) 0 2px, transparent 2px 9px);
  opacity: 0.6;
}
.dossier-noms {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: minmax(0, 1fr);
  gap: 0.375rem;
  margin: 0 0 1.125rem;
  padding: 0;
  color: var(--color-text-secondary);
  font-size: 0.8125rem;
  text-align: center;
  list-style: none;
}
.dossier-legende {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.5rem;
  margin: 0;
  padding: 0;
  list-style: none;
}
.dossier-legende a {
  display: grid;
  gap: 0.125rem;
  min-height: 2.75rem;
  padding: 0.625rem 0.75rem;
  border-top: 5px solid;
  border-radius: 0.625rem;
  background: var(--color-background);
  color: var(--color-text-secondary);
  font-size: 0.875rem;
  text-decoration: none;
}
.dossier-legende a:hover {
  text-decoration: underline;
}
.dossier-legende a:focus-visible {
  outline: 3px solid var(--color-primary);
  outline-offset: 2px;
}
.dossier-legende b {
  color: var(--color-primary);
  font-size: 1.625rem;
  line-height: 1.1;
  font-variant-numeric: tabular-nums;
}
.dossier-legende--a-qualifier a {
  border-top-color: var(--color-warning);
}
.dossier-legende--partielle a {
  border-top-color: var(--color-info);
}
.dossier-legende--a-justifier a {
  border-top-color: var(--color-justify);
}
.dossier-legende--terminee a {
  border-top-color: var(--color-success);
}
.dossier-chiffres {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem 2.5rem;
  margin: 1.375rem 0 0;
  padding: 1.125rem 0 0;
  border-top: 1px solid var(--color-border);
}
.dossier-chiffres p {
  margin: 0;
  color: var(--color-text-secondary);
  font-size: 0.9375rem;
}
.dossier-chiffres strong {
  display: block;
  color: var(--color-primary);
  font-size: 1.375rem;
  font-variant-numeric: tabular-nums;
}
.dossier-chiffres strong.dossier-chiffre--texte {
  font-size: 1.0625rem;
}
.dossier-liens {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-top: 1.25rem;
}
.dossier-groupes {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin: 0 0 1.5rem;
  padding: 0;
  list-style: none;
}
.dossier-groupes a {
  display: inline-flex;
  align-items: center;
  min-height: 2.75rem;
  padding: 0 1rem;
  border: 1.5px solid var(--color-border);
  border-radius: 9999px;
  color: var(--color-primary);
  font-weight: 700;
  text-decoration: none;
}
.dossier-groupes a[aria-current="true"] {
  border-color: var(--color-accent);
  background: color-mix(in srgb, #9c6400 10%, #ffffff);
  @supports (color: color-mix(in lab, red, red)) {
    background: color-mix(in srgb, var(--color-accent) 10%, var(--color-background-panel));
  }
  color: var(--color-accent);
}
.dossier-bloc {
  margin-top: 2rem;
}
.dossier-defile {
  margin: 0 -0.25rem;
  padding: 0 0.25rem 0.5rem;
  overflow-x: auto;
}
.dossier-table {
  width: 100%;
  min-width: 46rem;
  border-collapse: collapse;
  font-size: 0.9375rem;
}
.dossier-table th {
  padding: 0.625rem 0.75rem;
  border-bottom: 2px solid var(--color-border);
  color: var(--color-text-secondary);
  font-size: 0.875rem;
  font-weight: 700;
  text-align: left;
  white-space: nowrap;
}
.dossier-table td {
  padding: 0.75rem;
  border-bottom: 1px solid var(--color-border);
  vertical-align: middle;
}
.dossier-table .dossier-num {
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}
.dossier-table .dossier-droite {
  text-align: right;
}
.dossier-masque {
  letter-spacing: 0.08em;
}
.dossier-secondaire {
  display: block;
  color: var(--color-text-secondary);
  font-size: 0.875rem;
  font-weight: 400;
}
.dossier-table tr.dossier-ici {
  background: color-mix(in srgb, #9c6400 6%, #ffffff);
  @supports (color: color-mix(in lab, red, red)) {
    background: color-mix(in srgb, var(--color-accent) 6%, var(--color-background-panel));
  }
}
.dossier-table tr.dossier-ici td:first-child {
  box-shadow: inset 4px 0 0 var(--color-accent);
}
.dossier-table tr.dossier-masque-ligne td {
  color: var(--color-text-secondary);
}
.dossier-ordre {
  display: inline-flex;
  gap: 0.25rem;
}
.dossier-ordre form {
  margin: 0;
}
.dossier-ordre button {
  display: inline-grid;
  place-items: center;
  width: 2.25rem;
  height: 2.25rem;
  border: 1.5px solid var(--color-border);
  border-radius: 0.375rem;
  background: var(--color-background-panel);
  color: var(--color-primary);
  cursor: pointer;
}
.dossier-ordre button:disabled {
  opacity: 0.35;
  cursor: default;
}
.dossier-ordre svg {
  width: 1rem;
  height: 1rem;
}
.dossier-liens-bas {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem 1.25rem;
  margin-top: 1rem;
}
.dossier-liens-bas > * {
  display: inline-flex;
  align-items: center;
  min-height: 2.75rem;
  font-weight: 600;
}
.dossier-menu-zone {
  position: relative;
  display: inline-block;
  text-align: left;
}
.dossier-menu {
  position: absolute;
  top: calc(100% + 0.375rem);
  right: 0;
  z-index: 50;
  overflow-y: auto;
  min-width: 17rem;
  margin: 0;
  padding: 0.375rem;
  border: 1px solid #9aaabd;
  border-radius: 0.625rem;
  background: var(--color-background-panel);
  box-shadow: 0 12px 32px rgba(15, 42, 74, 0.18);
  list-style: none;
}
.dossier-menu form {
  margin: 0;
}
.dossier-menu a, .dossier-menu button {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  width: 100%;
  min-height: 2.75rem;
  padding: 0 0.75rem;
  border: 0;
  border-radius: 0.5rem;
  background: transparent;
  color: var(--color-text);
  font: inherit;
  font-size: 0.9375rem;
  text-align: left;
  text-decoration: none;
  box-sizing: border-box;
  cursor: pointer;
}
.dossier-menu a:hover, .dossier-menu button:hover, .dossier-menu a:focus-visible, .dossier-menu button:focus-visible {
  background: color-mix(in srgb, #0f2a4a 8%, #ffffff);
  @supports (color: color-mix(in lab, red, red)) {
    background: color-mix(in srgb, var(--color-primary) 8%, var(--color-background-panel));
  }
  outline: none;
}
.dossier-menu button[disabled] {
  color: var(--color-text-secondary);
  cursor: not-allowed;
}
.dossier-menu .dossier-menu-separe {
  margin-top: 0.25rem;
  padding-top: 0.25rem;
  border-top: 1px solid var(--color-border);
}
.dossier-menu .dossier-rouge {
  color: #8a1c1c;
}
:root.dark .dossier-menu .dossier-rouge {
  color: #fca5a5;
}
.dossier-menu-info {
  display: block;
  padding: 0.5rem 0.75rem 0.25rem;
  color: var(--color-text-secondary);
  font-size: 0.8125rem;
}
.dossier-menu .dossier-bientot {
  margin: 0;
  font-size: 0.75rem;
}
.dossier-outils {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1rem;
}
.dossier-outil ul {
  display: grid;
  gap: 0.125rem;
  margin: 0;
  padding: 0;
  list-style: none;
}
.dossier-outil li > a, .dossier-outil li > span {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  min-height: 2.75rem;
  margin: 0 -0.625rem;
  padding: 0 0.625rem;
  border-radius: 0.5rem;
  font-weight: 600;
  text-decoration: none;
}
.dossier-outil li > a {
  color: var(--color-primary);
}
.dossier-outil li > a:hover {
  background: var(--color-background);
  text-decoration: underline;
}
.dossier-outil li > span {
  color: var(--color-text-secondary);
}
.dossier-outil .dossier-bientot {
  margin: 0;
  font-size: 0.75rem;
}
.dossier-outil-detail {
  display: block;
  color: var(--color-text-secondary);
  font-size: 0.8125rem;
  font-weight: 400;
}
.dossier-calme {
  display: grid;
  grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
  gap: 2rem;
  margin-top: 2.5rem;
  padding-top: 2rem;
  border-top: 1px solid var(--color-border);
}
.dossier-note textarea {
  width: 100%;
  min-height: 7.5rem;
  padding: 0.75rem 0.875rem;
  border: 1.5px solid var(--bordure-champ);
  border-radius: 0.625rem;
  background: var(--color-background-panel);
  color: var(--color-text);
  font: inherit;
  font-size: 1rem;
  line-height: 1.5;
  box-sizing: border-box;
  resize: vertical;
}
.dossier-note textarea:focus-visible {
  outline: 3px solid color-mix(in srgb, #0f2a4a 35%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    outline: 3px solid color-mix(in srgb, var(--color-primary) 35%, transparent);
  }
  outline-offset: 1px;
  border-color: var(--color-primary);
}
.dossier-note label {
  display: block;
  margin-bottom: 0.25rem;
  color: var(--color-primary);
  font-size: 1.3125rem;
  font-weight: 700;
}
.dossier-sensible {
  padding: 1.25rem;
  border: 1.5px solid #e2b4b4;
  border-radius: 0.75rem;
  background: color-mix(in srgb, #ef4444 4%, #ffffff);
  @supports (color: color-mix(in lab, red, red)) {
    background: color-mix(in srgb, #ef4444 4%, var(--color-background-panel));
  }
}
.dossier-sensible-ligne {
  display: grid;
  gap: 0.375rem;
  padding: 0.75rem 0;
  border-top: 1px solid color-mix(in srgb, #ef4444 20%, transparent);
}
.dossier-sensible-ligne:first-of-type {
  padding-top: 0;
  border-top: 0;
}
.dossier-sensible-ligne form {
  margin: 0;
}
.dossier-pourquoi {
  color: var(--color-text);
  font-size: 0.875rem;
  line-height: 1.5;
}
@media (max-width: 56rem) {
  .dossier-colonnes, .dossier-calme {
    grid-template-columns: 1fr;
  }
  .dossier-actions {
    justify-content: flex-start;
  }
  .dossier-outils {
    grid-template-columns: 1fr 1fr;
  }
}
@media (max-width: 36rem) {
  .dossier-legende, .dossier-outils {
    grid-template-columns: 1fr 1fr;
  }
}
.dossier-table .dossier-nom-compte {
  min-width: 13rem;
}
.dossier-defile {
  container-type: inline-size;
}
@container (max-width: 60rem) {
  .dossier-table {
    min-width: 0;
  }
  .dossier-table thead {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
  }
  .dossier-table, .dossier-table tbody, .dossier-table tr, .dossier-table td {
    display: block;
  }
  .dossier-table tr {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 0.375rem 1rem;
    padding: 1rem 0;
    border-bottom: 1px solid var(--color-border);
  }
  .dossier-table td {
    padding: 0;
    border: 0;
  }
  .dossier-table td.dossier-titre-ligne {
    grid-column: 1;
    grid-row: 1;
  }
  .dossier-table td.dossier-actions-ligne {
    grid-column: 2;
    grid-row: 1;
    align-self: start;
    text-align: right;
  }
  .dossier-table td[data-libelle] {
    grid-column: 1 / -1;
    display: flex;
    flex-wrap: wrap;
    gap: 0.25rem 0.75rem;
  }
  .dossier-table td[data-libelle]::before {
    content: attr(data-libelle);
    min-width: 9rem;
    color: var(--color-text-secondary);
    font-size: 0.875rem;
  }
  .dossier-table tr.dossier-ici td:first-child {
    box-shadow: none;
  }
  .dossier-table tr.dossier-ici {
    box-shadow: inset 4px 0 0 var(--color-accent);
    padding-left: 0.75rem;
  }
  .dossier-table .dossier-nom-compte {
    min-width: 0;
  }
}
:root {
  --reg-encre: #0f2a4a;
  --reg-nuit: #0a1d33;
  --reg-or: #e0a63c;
  --reg-or-clair: #f2c46d;
  --reg-or-ombre: #a8741a;
  --reg-sur-marine: #dbe6f3;
  --reg-sur-marine-doux: #c3d2e4;
  --reg-papier: #f3f7fc;
  --reg-trait: #dde5ef;
  --reg-tampon: #1d6b3a;
  --reg-manque-fond: #fff4dc;
  --reg-manque: #8a4b00;
  --reg-manque-trait: #c98a1a;
}
:root.dark {
  --reg-papier: #0f2134;
  --reg-trait: #24384f;
  --reg-tampon: #6ee7a0;
  --reg-manque-fond: #3a2a10;
  --reg-manque: #fcd34d;
  --reg-manque-trait: #b7791f;
}
.registre-bandeau {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 1.5rem 3rem;
  align-items: end;
  padding: 1.5rem 2rem 5.5rem;
  border-radius: 1.25rem;
  background-color: var(--reg-encre);
  background-image: repeating-linear-gradient(180deg, transparent 0 31px, rgb(255 255 255 / 0.06) 31px 32px);
  color: #fff;
}
:root.dark .registre-bandeau {
  box-shadow: inset 0 0 0 1px rgb(255 255 255 / 0.08);
}
.registre-bandeau-texte {
  min-width: 0;
}
.registre-bandeau .compte-retour {
  display: flex;
  width: -moz-max-content;
  width: max-content;
  margin-bottom: 0.25rem;
  color: var(--reg-sur-marine);
}
.registre-bandeau .compte-retour:hover {
  color: #fff;
}
.registre-bandeau a:focus-visible {
  outline: 3px solid var(--reg-or-clair);
  outline-offset: 2px;
  border-radius: 0.25rem;
}
.registre-bandeau .dossier-onglet {
  margin: 0.75rem 0 0.5rem;
}
.registre-bandeau .dossier-code {
  color: var(--reg-or-clair);
  border-bottom-color: var(--reg-or);
}
.registre-bandeau .dossier-nom-groupe {
  color: var(--reg-sur-marine-doux);
}
.dossier .registre-bandeau h1 {
  margin-top: 0.5rem;
  color: #fff;
  font-weight: 800;
}
.registre-phrase {
  max-width: 62ch;
  margin: 0.75rem 0 0;
  color: var(--reg-sur-marine);
  font-size: 1.125rem;
  line-height: 1.5;
}
.registre-phrase a {
  color: #fff;
  font-weight: 700;
  text-decoration-color: var(--reg-or);
  text-decoration-thickness: 2px;
  text-underline-offset: 4px;
}
.registre-retours {
  display: flex;
  flex-wrap: wrap;
  gap: 0 1.5rem;
}
.dossier .registre-titre-groupe {
  margin-top: 0.75rem;
}
.registre-titre-groupe .dossier-code {
  font-size: inherit;
  border-bottom-width: 0.3125rem;
  white-space: nowrap;
}
.registre-jauge p {
  margin: 0 0 0.625rem;
  color: var(--reg-sur-marine);
  font-size: 0.9375rem;
}
.registre-jauge strong {
  color: #fff;
  font-size: 1.0625rem;
}
.registre-jauge ul {
  display: flex;
  flex-wrap: wrap;
  gap: 0.375rem;
  margin: 0;
  padding: 0;
  list-style: none;
}
.registre-case {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.375rem;
  min-width: 4.5rem;
  min-height: 3.5rem;
  padding: 0.5rem 0.5rem 0.375rem;
  border-radius: 0.625rem;
  background: rgb(255 255 255 / 0.07);
  color: var(--reg-sur-marine);
  font-size: 0.8125rem;
  font-weight: 600;
  text-decoration: none;
}
.registre-case:hover {
  background: rgb(255 255 255 / 0.14);
  color: #fff;
}
.registre-case--active, .registre-case--active:hover {
  background: #fff;
  color: var(--reg-encre);
}
.registre-case-barre {
  display: block;
  width: 100%;
  height: 0.5rem;
  border-radius: 0.1875rem;
  background: var(--reg-or);
}
.registre-case-barre--vide {
  background: repeating-linear-gradient(135deg, rgb(242 196 109 / 0.6) 0 3px, transparent 3px 7px);
  box-shadow: inset 0 0 0 2px var(--reg-or-clair);
}
.registre-case--active .registre-case-barre--vide {
  background: repeating-linear-gradient(135deg, rgb(201 138 26 / 0.55) 0 3px, transparent 3px 7px);
  box-shadow: inset 0 0 0 2px var(--reg-manque-trait);
}
.registre-feuille {
  position: relative;
  margin: -4rem 1.5rem 0;
}
.registre {
  margin: 0;
  padding: 0;
  border-radius: 1rem;
  background: var(--color-background-panel);
  box-shadow: 0 1px 0 var(--reg-trait), 0 18px 40px -24px rgb(10 29 51 / 0.45);
  list-style: none;
}
:root.dark .registre {
  box-shadow: 0 0 0 1px var(--reg-trait);
}
.registre-ligne {
  border-top: 1px solid var(--reg-trait);
  scroll-margin-top: 5rem;
}
.registre-ligne:first-child {
  border-top: 0;
}
.registre-ligne--bientot .registre-tete h2, .registre-ligne--bientot .registre-valeur {
  color: var(--color-text-secondary);
}
.registre-tete {
  display: grid;
  grid-template-columns: 1.75rem 12rem minmax(0, 1fr) auto;
  gap: 0.5rem 1.25rem;
  align-items: center;
  padding: 1.125rem 1.5rem 1.125rem 1.375rem;
}
.registre-ligne:first-child .registre-tete {
  border-radius: 1rem 1rem 0 0;
}
.registre-ligne:last-child .registre-tete {
  border-radius: 0 0 1rem 1rem;
}
.registre-ligne:not(.registre-ligne--bientot):hover .registre-tete {
  background: color-mix(in srgb, #0f2a4a 4%, #ffffff);
  @supports (color: color-mix(in lab, red, red)) {
    background: color-mix(in srgb, var(--color-primary) 4%, var(--color-background-panel));
  }
}
.registre-tete h2 {
  margin: 0;
  color: var(--color-primary);
  font-size: 1.0625rem;
  font-weight: 700;
}
.registre-valeur {
  color: var(--color-text);
  font-size: 1rem;
  line-height: 1.5;
  overflow-wrap: anywhere;
}
.registre-vide {
  color: var(--reg-manque);
  font-weight: 600;
}
.registre-etat {
  display: grid;
  place-items: center;
  width: 1.625rem;
  height: 1.625rem;
  border-radius: 9999px;
}
.registre-etat svg {
  width: 0.9375rem;
  height: 0.9375rem;
  stroke-width: 3;
}
.registre-etat--complet {
  background: var(--reg-encre);
  color: var(--reg-or-clair);
}
.registre-etat--manque {
  background: var(--reg-manque-fond);
  color: var(--reg-manque);
  box-shadow: inset 0 0 0 2px var(--reg-manque-trait);
}
:root.dark .registre-etat--complet {
  background: var(--reg-or);
  color: var(--reg-nuit);
}
.registre-modifier {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  min-height: 2.75rem;
  padding: 0 1rem;
  border: 2px solid var(--color-primary);
  border-radius: 9999px;
  background: var(--color-background-panel);
  color: var(--color-primary);
  font-size: 0.9375rem;
  font-weight: 700;
  text-decoration: none;
  white-space: nowrap;
}
.registre-modifier svg {
  width: 1rem;
  height: 1rem;
}
.registre-modifier:hover {
  background: var(--color-primary);
  color: var(--color-background-panel);
}
.registre-modifier:focus-visible {
  outline: 3px solid var(--reg-or);
  outline-offset: 3px;
}
.registre-ok {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  margin-left: 0.75rem;
  padding: 0.1875rem 0.625rem;
  border: 2px solid var(--reg-tampon);
  border-radius: 0.375rem;
  color: var(--reg-tampon);
  font-size: 0.8125rem;
  font-weight: 800;
  letter-spacing: 0.02em;
  white-space: nowrap;
  vertical-align: middle;
  transform: rotate(-3deg);
  animation: registre-tampon 0.45s cubic-bezier(0.2, 1.6, 0.4, 1) both;
}
.registre-ok svg {
  width: 0.8125rem;
  height: 0.8125rem;
  stroke-width: 3;
}
@keyframes registre-tampon {
  from {
    opacity: 0;
    transform: rotate(-3deg) scale(1.9);
  }
  to {
    opacity: 1;
    transform: rotate(-3deg) scale(1);
  }
}
.registre-ligne--ouverte {
  margin: 0.625rem;
  border-top-color: transparent;
  border-radius: 0.875rem;
  box-shadow: 0 0 0 2px var(--reg-encre);
  overflow: hidden;
  animation: registre-ouvre 0.22s ease-out both;
}
.registre-ligne--ouverte + .registre-ligne {
  border-top-color: transparent;
}
:root.dark .registre-ligne--ouverte {
  box-shadow: 0 0 0 2px var(--reg-or);
}
@keyframes registre-ouvre {
  from {
    opacity: 0.4;
    transform: translateY(-4px);
  }
  to {
    opacity: 1;
    transform: none;
  }
}
.registre-carnet-tete {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1rem 1rem 1rem 1.5rem;
  border-bottom: 5px double var(--reg-or);
  background: var(--reg-encre);
  color: #fff;
}
.registre-carnet-tete h2 {
  margin: 0;
  color: #fff;
  font-size: 1.25rem;
  font-weight: 800;
}
.registre-carnet-tete p {
  margin: 0.125rem 0 0;
  color: var(--reg-sur-marine-doux);
  font-size: 0.875rem;
}
.registre-fermer {
  display: grid;
  flex: none;
  place-items: center;
  width: 2.75rem;
  height: 2.75rem;
  border: 2px solid rgb(255 255 255 / 0.6);
  border-radius: 9999px;
  color: #fff;
}
.registre-fermer svg {
  width: 1.25rem;
  height: 1.25rem;
  stroke-width: 2.4;
}
.registre-fermer:hover {
  border-color: #fff;
  background: #fff;
  color: var(--reg-encre);
}
.registre-fermer:focus-visible {
  outline: 3px solid var(--reg-or-clair);
  outline-offset: 2px;
}
.registre-corps {
  padding: 1.625rem 1.75rem 1.25rem;
  background: var(--reg-papier);
  container-type: inline-size;
}
.registre-astuce {
  margin: 1.5rem 0 0;
  color: var(--color-text-secondary);
  font-size: 0.875rem;
  text-align: right;
}
kbd {
  display: inline-block;
  padding: 0.0625rem 0.4375rem;
  border: 1.5px solid var(--bordure-champ);
  border-bottom-width: 3px;
  border-radius: 0.375rem;
  background: var(--color-background-panel);
  color: var(--color-primary);
  font: inherit;
  font-size: 0.8125rem;
  font-weight: 700;
}
.registre-champs {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 1.25rem;
  align-items: start;
}
.registre-champs > * {
  grid-column: span 6;
  min-width: 0;
}
.registre-champs > .registre-l2 {
  grid-column: span 2;
}
.registre-champs > .registre-l3 {
  grid-column: span 3;
}
.registre-champs > .registre-l4 {
  grid-column: span 4;
}
.registre-champs > .registre-l5 {
  grid-column: span 5;
}
.registre-champs > .registre-l8 {
  grid-column: span 8;
}
.registre-champs > .registre-plein, .registre-plein {
  grid-column: 1 / -1;
}
@container (max-width: 46rem) {
  .registre-champs > *, .registre-champs > [class*="registre-l"] {
    grid-column: span 6;
  }
  .registre-champs > .registre-plein {
    grid-column: 1 / -1;
  }
}
@container (max-width: 30rem) {
  .registre-champs > *, .registre-champs > [class*="registre-l"] {
    grid-column: 1 / -1;
  }
}
.registre-bloc {
  margin-top: 1.75rem;
  padding-top: 1.5rem;
  border-top: 1px dashed #b7c5d6;
}
:root.dark .registre-bloc {
  border-top-color: var(--reg-trait);
}
.registre-corps > .registre-bloc:first-child {
  margin-top: 0;
  padding-top: 0;
  border-top: 0;
}
.registre-bloc h3 {
  margin: 0 0 0.25rem;
  color: var(--color-primary);
  font-size: 1.0625rem;
  font-weight: 700;
}
.registre-bloc-aide {
  max-width: 68ch;
  margin: 0 0 1rem;
  color: var(--color-text-secondary);
  font-size: 0.9375rem;
  line-height: 1.5;
}
.registre-champ-bouton {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 0.75rem;
  align-items: end;
}
.registre-alerte {
  margin: 0;
  padding: 0.625rem 0.875rem;
  border-radius: 0.5rem;
  background: var(--reg-manque-fond);
  color: #7c2d12;
  font-size: 0.875rem;
  line-height: 1.5;
}
:root.dark .registre-alerte {
  color: var(--reg-manque);
}
.registre-pied {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.75rem 1.25rem;
  margin-top: 1.5rem;
}
.registre-pied form {
  margin: 0;
}
.registre-enregistrer {
  display: inline-flex;
  align-items: center;
  gap: 0.625rem;
  min-height: 3.125rem;
  padding: 0 1.5rem;
  border: 0;
  border-radius: 0.625rem;
  background: var(--reg-or);
  box-shadow: 0 2px 0 var(--reg-or-ombre);
  color: var(--reg-nuit);
  font: inherit;
  font-size: 1rem;
  font-weight: 800;
  text-decoration: none;
  cursor: pointer;
}
.registre-enregistrer:hover {
  color: var(--reg-nuit);
}
.registre-enregistrer svg {
  width: 1.125rem;
  height: 1.125rem;
  stroke-width: 3;
}
.registre-enregistrer:hover {
  background: #f0b649;
}
.registre-enregistrer:active {
  transform: translateY(1px);
  box-shadow: 0 1px 0 var(--reg-or-ombre);
}
.registre-enregistrer:focus-visible {
  outline: 3px solid var(--color-primary);
  outline-offset: 3px;
}
.registre-annuler {
  display: inline-flex;
  align-items: center;
  min-height: 2.75rem;
  padding: 0 0.375rem;
  color: var(--color-primary);
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 4px;
}
.registre-annuler:focus-visible {
  outline: 3px solid var(--reg-or);
  outline-offset: 2px;
  border-radius: 0.25rem;
}
.registre-ajouter {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  min-height: 3.125rem;
  padding: 0 1.25rem;
  border: 0;
  border-radius: 0.625rem;
  background: var(--reg-encre);
  color: #fff;
  font: inherit;
  font-size: 0.9375rem;
  font-weight: 700;
  text-decoration: none;
  white-space: nowrap;
  cursor: pointer;
}
.registre-ajouter svg {
  width: 1.125rem;
  height: 1.125rem;
  stroke-width: 2.6;
  color: var(--reg-or-clair);
}
.registre-ajouter:hover {
  background: var(--reg-nuit);
  color: #fff;
}
.registre-ajouter:focus-visible {
  outline: 3px solid var(--reg-or);
  outline-offset: 3px;
}
:root.dark .registre-ajouter {
  box-shadow: inset 0 0 0 1.5px var(--reg-or);
}
.registre-liste {
  margin: 0 0 1.5rem;
  padding: 0;
  border-radius: 0.75rem;
  background: var(--color-background-panel);
  box-shadow: inset 0 0 0 1.5px #b7c5d6;
  list-style: none;
}
:root.dark .registre-liste {
  box-shadow: inset 0 0 0 1.5px var(--reg-trait);
}
.registre-liste > li {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem 1rem;
  padding: 0.875rem 1rem;
  border-top: 1px solid var(--reg-trait);
}
.registre-liste > li:first-child {
  border-top: 0;
}
.registre-liste form {
  margin: 0;
}
.registre-liste strong {
  color: var(--color-primary);
}
.registre-liste-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem;
}
.registre-secondaire {
  display: block;
  color: var(--color-text-secondary);
  font-size: 0.875rem;
}
.registre-liste > li.registre-liste-active {
  background: var(--reg-or);
  @supports (color: color-mix(in lab, red, red)) {
    background: color-mix(in srgb, var(--reg-or) 12%, var(--color-background-panel));
  }
}
.registre-liste + .registre-bloc {
  margin-top: 0;
}
.registre-en-cours {
  display: inline-flex;
  margin-left: 0.5rem;
  padding: 0.125rem 0.625rem;
  border-radius: 9999px;
  background: var(--reg-encre);
  color: var(--reg-or-clair);
  font-size: 0.8125rem;
  font-weight: 700;
}
.formulaire-panneau {
  padding: 1.75rem 1.75rem 0;
  border-radius: 1rem;
  background: var(--color-background-panel);
  box-shadow: 0 1px 0 var(--reg-trait), 0 18px 40px -24px rgb(10 29 51 / 0.45);
  container-type: inline-size;
  overflow: hidden;
}
:root.dark .formulaire-panneau {
  box-shadow: 0 0 0 1px var(--reg-trait);
}
.formulaire-panneau > .registre-bloc:first-child {
  margin-top: 0;
  padding-top: 0;
  border-top: 0;
}
.formulaire-panneau .registre-bloc h2 {
  margin: 0 0 0.25rem;
  color: var(--color-primary);
  font-size: 1.1875rem;
  font-weight: 800;
}
.formulaire-panneau .registre-bloc h2 .compte-facultatif {
  font-size: 1rem;
}
.registre-pied--panneau {
  margin: 1.75rem -1.75rem 0;
  padding: 1.25rem 1.75rem 1.5rem;
  border-top: 5px double var(--reg-or);
  background: var(--reg-papier);
}
.registre-rib {
  padding: 1.125rem 1.125rem 1.25rem;
  border-radius: 0.75rem;
  background: var(--reg-papier);
  box-shadow: inset 0 0 0 1.5px #b7c5d6;
}
:root.dark .registre-rib {
  box-shadow: inset 0 0 0 1.5px var(--reg-trait);
}
.registre-rib-titre {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem 1rem;
  margin: 0 0 0.875rem;
  color: var(--color-primary);
  font-size: 0.875rem;
  font-weight: 800;
}
.registre-rib-titre span {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  color: var(--reg-tampon);
  font-weight: 700;
}
.registre-rib-titre svg {
  width: 0.9375rem;
  height: 0.9375rem;
}
.registre-rib input {
  font-variant-numeric: tabular-nums;
  letter-spacing: 0.06em;
}
.registre-champs--apres {
  margin-top: 1.25rem;
}
.registre-bandeau .dossier-situation {
  max-width: 62ch;
  margin: 0.75rem 0 0;
  color: var(--reg-sur-marine);
  font-size: 1.125rem;
  line-height: 1.5;
}
.registre-bandeau .dossier-situation a {
  color: #fff;
  font-weight: 700;
  text-decoration-color: var(--reg-or);
  text-decoration-thickness: 2px;
  text-underline-offset: 4px;
}
.registre-bandeau-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-start;
  gap: 0.75rem;
  margin-top: 1.5rem;
}
.registre-bandeau-actions form {
  margin: 0;
}
.registre-bandeau .registre-enregistrer:focus-visible {
  outline-color: var(--reg-or-clair);
}
.registre-btn-clair {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  min-height: 3.125rem;
  padding: 0 1.25rem;
  border: 2px solid rgb(255 255 255 / 0.6);
  border-radius: 0.625rem;
  background: transparent;
  color: #fff;
  font: inherit;
  font-size: 0.9375rem;
  font-weight: 700;
  text-decoration: none;
  cursor: pointer;
}
.registre-btn-clair svg {
  width: 1.125rem;
  height: 1.125rem;
}
.registre-btn-clair:hover {
  border-color: #fff;
  background: #fff;
  color: var(--reg-encre);
}
.registre-btn-clair:focus-visible {
  outline: 3px solid var(--reg-or-clair);
  outline-offset: 2px;
}
.registre-dates {
  margin: 1rem 0 0;
  color: var(--reg-sur-marine-doux);
  font-size: 0.875rem;
}
.registre-bandeau:has(.registre-parcours) {
  grid-template-columns: minmax(0, 1fr);
  gap: 1.75rem;
}
.registre-parcours {
  padding-top: 1.25rem;
  border-top: 1px solid rgb(255 255 255 / 0.16);
}
.registre-parcours h2 {
  margin: 0 0 0.625rem;
  color: var(--reg-sur-marine);
  font-size: 0.9375rem;
  font-weight: 700;
}
.registre-parcours .dossier-piste {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.375rem;
  margin: 0;
  padding: 0;
  border: 0;
  background: none;
  list-style: none;
}
.registre-etape {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  padding: 0.625rem 0.625rem 0.75rem;
  border-radius: 0.625rem;
  background: rgb(255 255 255 / 0.07);
}
.registre-etape .registre-case-barre {
  margin-bottom: 0.25rem;
}
.registre-etape strong {
  color: #fff;
  font-size: 0.9375rem;
}
.registre-etape-detail {
  color: var(--reg-sur-marine-doux);
  font-size: 0.8125rem;
  line-height: 1.4;
}
.registre-etape--attente strong {
  color: var(--reg-sur-marine-doux);
}
.registre-etape--bloque {
  background: #fff;
}
.registre-etape--bloque strong {
  color: var(--reg-encre);
}
.registre-etape--bloque .registre-etape-detail {
  color: #3d5a78;
}
.registre-etape--bloque .registre-case-barre--vide {
  background: repeating-linear-gradient(135deg, rgb(201 138 26 / 0.55) 0 3px, transparent 3px 7px);
  box-shadow: inset 0 0 0 2px var(--reg-manque-trait);
}
.registre-etape form {
  margin: 0.5rem 0 0;
}
.registre-etape .registre-enregistrer {
  min-height: 2.75rem;
  padding: 0 0.875rem;
  font-size: 0.875rem;
}
.registre-etape .registre-enregistrer:focus-visible {
  outline-color: var(--reg-encre);
}
.dossier-feuille {
  padding: 1.75rem 2rem 2rem;
  border-radius: 1rem;
  background: var(--color-background-panel);
  box-shadow: 0 1px 0 var(--reg-trait), 0 18px 40px -24px rgb(10 29 51 / 0.45);
}
:root.dark .dossier-feuille {
  box-shadow: 0 0 0 1px var(--reg-trait);
}
.dossier-feuille .dossier-panneau {
  border-color: transparent;
  background: var(--reg-papier);
}
.dossier-feuille .dossier-outil.dossier-panneau {
  border-color: transparent;
}
.dossier-feuille .dossier-fiche dt, .dossier-feuille .dossier-fiche dd {
  border-top-color: var(--reg-trait);
}
.dossier-feuille h2 {
  color: var(--color-primary);
}
.dossier-feuille .dossier-groupes {
  margin: -0.5rem 0 1.5rem;
  padding-bottom: 0.75rem;
  border-bottom: 5px double var(--reg-or);
}
.dossier-feuille .dossier-groupes a {
  border-color: #b7c5d6;
  border-radius: 0.625rem;
}
.dossier-feuille .dossier-groupes a[aria-current="true"] {
  border-color: var(--reg-encre);
  background: var(--reg-encre);
  color: var(--reg-or-clair);
}
.dossier-encart {
  margin: 1.25rem 0 0;
  padding: 1rem;
  border-radius: 0.625rem;
  background: var(--color-background-panel);
  color: var(--color-text-secondary);
  font-size: 0.9375rem;
  line-height: 1.5;
  box-shadow: inset 0 0 0 1.5px var(--reg-trait);
}
.dossier-fiche dd.dossier-ligne-etat {
  position: relative;
  padding-left: 2rem;
}
.dossier-ligne-etat--ok::before, .dossier-ligne-etat--manque::before {
  content: '';
  position: absolute;
  top: 0.75rem;
  left: 0;
  width: 1.25rem;
  height: 1.25rem;
  border-radius: 9999px;
}
.dossier-ligne-etat--ok::before {
  background: var(--reg-encre);
}
.dossier-ligne-etat--manque::before {
  background: var(--reg-manque-fond);
  box-shadow: inset 0 0 0 2px var(--reg-manque-trait);
}
.dossier-ligne-etat--ok::after, .dossier-ligne-etat--manque::after {
  content: '';
  position: absolute;
  top: 0.75rem;
  left: 0;
  width: 1.25rem;
  height: 1.25rem;
  -webkit-mask: var(--icone) center / 0.75rem no-repeat;
  mask: var(--icone) center / 0.75rem no-repeat;
}
.dossier-ligne-etat--ok::after {
  --icone: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 24 24%27 fill=%27none%27 stroke=%27black%27 stroke-width=%273.5%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27%3E%3Cpath d=%27M20 6 9 17l-5-5%27/%3E%3C/svg%3E");
  background: var(--reg-or-clair);
}
.dossier-ligne-etat--manque::after {
  --icone: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 24 24%27 fill=%27none%27 stroke=%27black%27 stroke-width=%273.5%27 stroke-linecap=%27round%27%3E%3Cpath d=%27M12 6v8M12 18h.01%27/%3E%3C/svg%3E");
  background: var(--reg-manque);
}
:root.dark .dossier-ligne-etat--ok::before {
  background: var(--reg-or);
}
:root.dark .dossier-ligne-etat--ok::after {
  background: var(--reg-nuit);
}
.dossier-a-completer {
  color: var(--reg-manque);
  font-weight: 700;
  text-decoration: underline;
  text-decoration-thickness: 2px;
  text-underline-offset: 3px;
}
.dossier-a-completer:hover {
  color: var(--color-primary);
}
.dossier-feuille .dossier-calme {
  border-top: 5px double var(--reg-or);
}
.dossier-note textarea:hover {
  border-color: var(--color-primary);
}
.dossier-note textarea:focus-visible {
  outline: 2px solid transparent;
  border: 2px solid var(--color-primary);
  box-shadow: 0 0 0 4px rgb(224 166 60 / 0.55);
}
@media (max-width: 64rem) {
  .registre-bandeau {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 48rem) {
  .registre-bandeau {
    padding: 1.25rem 1.25rem 5rem;
    border-radius: 1rem;
  }
  .registre-parcours .dossier-piste {
    grid-template-columns: 1fr 1fr;
  }
  .dossier-feuille {
    padding: 1.25rem 1rem 1.5rem;
  }
  .registre-feuille {
    margin: -3.75rem 0.5rem 0;
  }
  .registre-tete {
    grid-template-columns: 1.75rem minmax(0, 1fr) auto;
  }
  .registre-valeur {
    grid-column: 2 / -1;
    grid-row: 2;
  }
  .registre-corps {
    padding: 1.25rem 1.125rem 1rem;
  }
  .registre-astuce {
    display: none;
  }
  .formulaire-panneau {
    padding: 1.25rem 1.125rem 0;
  }
  .registre-pied--panneau {
    margin: 1.5rem -1.125rem 0;
    padding: 1.125rem;
  }
}
@media (max-width: 36rem) {
  .registre-champ-bouton {
    grid-template-columns: 1fr;
  }
  .registre-case {
    min-width: 3.75rem;
  }
}
@media (prefers-reduced-motion: reduce) {
  .registre-ok, .registre-ligne--ouverte {
    animation: none;
  }
}
.admin-layout-wrapper {
  display: flex;
  min-height: calc(100vh - 4rem - 2.75rem);
  position: relative;
}
.admin-nav-sidebar {
  width: 16rem;
  flex-shrink: 0;
  background: var(--color-background-panel);
  border-right: 1px solid var(--color-border-light);
  position: sticky;
  top: 4rem;
  height: calc(100vh - 4rem - 3rem);
  overflow-y: auto;
  overflow-x: hidden;
  display: flex;
  flex-direction: column;
  transition: width 0.25s ease;
  scrollbar-width: thin;
  scrollbar-color: var(--color-border) transparent;
  z-index: 30;
}
:root.dark .admin-nav-sidebar {
  border-right-color: color-mix(in srgb, #cfd8e3 25%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    border-right-color: color-mix(in srgb, var(--color-border) 25%, transparent);
  }
}
.sidebar-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.875rem 1rem;
  border-bottom: 1px solid var(--color-border-light);
  flex-shrink: 0;
}
:root.dark .sidebar-header {
  border-bottom-color: color-mix(in srgb, #cfd8e3 20%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    border-bottom-color: color-mix(in srgb, var(--color-border) 20%, transparent);
  }
}
.sidebar-brand {
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--color-text-secondary);
  white-space: nowrap;
  overflow: hidden;
  transition: opacity 0.2s, width 0.2s;
}
.sidebar-collapse-btn {
  width: 1.75rem;
  height: 1.75rem;
  border: none;
  background: transparent;
  color: var(--color-text-secondary);
  border-radius: 0.375rem;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  transition: color 0.15s, background-color 0.15s, transform 0.25s;
  i {
    width: 1rem;
    height: 1rem;
    pointer-events: none;
  }
  &:hover {
    color: var(--color-text);
    background: color-mix(in srgb, #0f2a4a 8%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background: color-mix(in srgb, var(--color-primary) 8%, transparent);
    }
  }
}
.sidebar-nav {
  flex: 1;
  padding: 0.5rem 0;
  overflow-x: hidden;
}
.sidebar-group {
  margin-bottom: 0.125rem;
}
.sidebar-group-label {
  display: block;
  padding: 0.875rem 1rem 0.25rem;
  font-size: 0.65rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--color-text-muted-accessible, #6b7280);
  white-space: nowrap;
  overflow: hidden;
  transition: opacity 0.15s;
}
.sidebar-link {
  display: flex;
  align-items: center;
  gap: 0.625rem;
  padding: 0.4375rem 1rem;
  color: var(--color-text-secondary);
  text-decoration: none;
  font-size: 0.8125rem;
  font-weight: 500;
  border-radius: 0.375rem;
  margin: 0.0625rem 0.5rem;
  transition: color 0.15s, background-color 0.15s;
  white-space: nowrap;
  position: relative;
  &:hover {
    color: var(--color-text);
    background: color-mix(in srgb, #0f2a4a 7%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background: color-mix(in srgb, var(--color-primary) 7%, transparent);
    }
  }
  &.active {
    color: var(--color-primary);
    background: color-mix(in srgb, #0f2a4a 10%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background: color-mix(in srgb, var(--color-primary) 10%, transparent);
    }
    font-weight: 600;
    &::before {
      content: '';
      position: absolute;
      left: -0.5rem;
      top: 50%;
      transform: translateY(-50%);
      width: 3px;
      height: 1.25rem;
      background: var(--color-primary);
      border-radius: 0 2px 2px 0;
    }
  }
}
:root.dark .sidebar-link {
  &:hover {
    background: color-mix(in srgb, #9c6400 10%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background: color-mix(in srgb, var(--color-accent) 10%, transparent);
    }
    color: var(--color-text);
  }
  &.active {
    color: var(--color-accent);
    background: color-mix(in srgb, #9c6400 12%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background: color-mix(in srgb, var(--color-accent) 12%, transparent);
    }
    &::before {
      background: var(--color-accent);
    }
  }
}
.sidebar-link-icon {
  width: 1rem;
  height: 1rem;
  flex-shrink: 0;
  pointer-events: none;
}
.sidebar-link-text {
  overflow: hidden;
  transition: opacity 0.15s, width 0.2s;
  flex: 1;
}
.sidebar-link-badge {
  margin-left: auto;
  background: var(--color-accent);
  color: white;
  font-size: 0.6rem;
  font-weight: 700;
  padding: 0.1rem 0.4rem;
  border-radius: 9999px;
  flex-shrink: 0;
  transition: opacity 0.15s;
}
.sidebar-footer {
  padding: 0.875rem 1rem;
  border-top: 1px solid var(--color-border-light);
  flex-shrink: 0;
}
:root.dark .sidebar-footer {
  border-top-color: color-mix(in srgb, #cfd8e3 20%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    border-top-color: color-mix(in srgb, var(--color-border) 20%, transparent);
  }
}
.sidebar-user {
  display: flex;
  align-items: center;
  gap: 0.625rem;
  overflow: hidden;
}
.sidebar-user-avatar {
  width: 2rem;
  height: 2rem;
  border-radius: 9999px;
  background: linear-gradient(135deg, var(--color-accent), color-mix(in srgb, #9c6400 75%, #0f2a4a 25%));
  @supports (color: color-mix(in lab, red, red)) {
    background: linear-gradient(135deg, var(--color-accent), color-mix(in srgb, var(--color-accent) 75%, var(--color-primary) 25%));
  }
  color: white;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.65rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  flex-shrink: 0;
}
.sidebar-user-info {
  overflow: hidden;
  transition: opacity 0.15s;
}
.sidebar-user-name {
  display: block;
  font-size: 0.8rem;
  font-weight: 600;
  color: var(--color-text);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.sidebar-user-role {
  display: block;
  font-size: 0.7rem;
  color: var(--color-text-secondary);
}
.admin-content-area {
  flex: 1;
  min-width: 0;
  padding: 1.5rem 2rem;
}
.admin-sidebar-overlay {
  display: none;
  position: fixed;
  inset: 0;
  background: rgb(0 0 0 / 0.4);
  z-index: 29;
  opacity: 0;
  transition: opacity 0.25s;
  pointer-events: none;
}
.admin-layout-wrapper.sidebar-open .admin-sidebar-overlay {
  opacity: 1;
  pointer-events: auto;
}
.admin-sidebar-toggle {
  display: none;
  align-items: center;
  gap: 0.5rem;
  padding: 0.4375rem 0.875rem;
  background: color-mix(in srgb, #0f2a4a 8%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    background: color-mix(in srgb, var(--color-primary) 8%, transparent);
  }
  border: 1px solid color-mix(in srgb, #0f2a4a 20%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    border: 1px solid color-mix(in srgb, var(--color-primary) 20%, transparent);
  }
  border-radius: 0.5rem;
  color: var(--color-primary);
  font-size: 0.8125rem;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.15s;
  margin-bottom: 1rem;
  i {
    width: 1rem;
    height: 1rem;
    pointer-events: none;
  }
  &:hover {
    background: color-mix(in srgb, #0f2a4a 15%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background: color-mix(in srgb, var(--color-primary) 15%, transparent);
    }
  }
}
:root.dark .admin-sidebar-toggle {
  background: color-mix(in srgb, #9c6400 10%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    background: color-mix(in srgb, var(--color-accent) 10%, transparent);
  }
  border-color: color-mix(in srgb, #9c6400 25%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    border-color: color-mix(in srgb, var(--color-accent) 25%, transparent);
  }
  color: var(--color-accent);
}
@media (min-width: 1025px) {
  .admin-nav-sidebar {
    position: fixed;
    top: 4rem;
    bottom: 3rem;
    left: 0;
    height: auto;
  }
  .admin-layout-wrapper {
    padding-left: 16rem;
    transition: padding-left 0.25s ease;
  }
  .admin-layout-wrapper.sidebar-collapsed {
    padding-left: 3.5rem;
  }
}
.admin-layout-wrapper.sidebar-collapsed .admin-nav-sidebar {
  width: 3.5rem;
}
.admin-layout-wrapper.sidebar-collapsed .sidebar-brand, .admin-layout-wrapper.sidebar-collapsed .sidebar-group-label, .admin-layout-wrapper.sidebar-collapsed .sidebar-link-badge, .admin-layout-wrapper.sidebar-collapsed .sidebar-user-info {
  opacity: 0;
  width: 0;
  overflow: hidden;
  pointer-events: none;
}
.admin-layout-wrapper.sidebar-collapsed .sidebar-link-text {
  opacity: 0;
  flex: 0 0 0px;
  max-width: 0;
  overflow: hidden;
  pointer-events: none;
}
.admin-layout-wrapper.sidebar-collapsed .sidebar-link {
  justify-content: center;
  padding: 0.5rem;
  margin: 0.0625rem 0.375rem;
}
.admin-layout-wrapper.sidebar-collapsed .sidebar-link.active::before {
  display: none;
}
.admin-layout-wrapper.sidebar-collapsed .sidebar-collapse-btn {
  transform: rotate(180deg);
}
.admin-layout-wrapper.sidebar-collapsed .sidebar-header {
  justify-content: center;
  padding: 0.875rem 0.5rem;
}
.admin-layout-wrapper.sidebar-collapsed .sidebar-footer {
  padding: 0.875rem 0.5rem;
}
.admin-layout-wrapper.sidebar-collapsed .sidebar-user {
  justify-content: center;
}
.admin-container {
  width: 100%;
  max-width: 28rem;
  margin: 0 auto;
}
.admin-container-wide {
  width: 100%;
  max-width: 80rem;
  margin: 0 auto;
  padding: 0 1rem;
}
.admin-main {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 2rem 1rem;
}
.admin-card {
  background: var(--color-background-panel);
  border: 1px solid var(--color-border);
  border-radius: 0.75rem;
  padding: 1.5rem;
  box-shadow: 0 4px 20px color-mix(in srgb, #0f2a4a 8%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    box-shadow: 0 4px 20px color-mix(in srgb, var(--color-text) 8%, transparent);
  }
  transition: all 0.2s;
}
.admin-card-lg {
  padding: 2rem;
  border-radius: 1rem;
}
.admin-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 25px color-mix(in srgb, #0f2a4a 10%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    box-shadow: 0 8px 25px color-mix(in srgb, var(--color-text) 10%, transparent);
  }
}
:root.dark .admin-card {
  background: color-mix(in srgb, #ffffff 90%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    background: color-mix(in srgb, var(--color-background-panel) 90%, transparent);
  }
  backdrop-filter: blur(10px);
  border: 1px solid color-mix(in srgb, #cfd8e3 60%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    border: 1px solid color-mix(in srgb, var(--color-border) 60%, transparent);
  }
  box-shadow: 0 8px 32px color-mix(in srgb, #0f2a4a 8%, transparent), inset 0 1px 0 color-mix(in srgb, white 10%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    box-shadow: 0 8px 32px color-mix(in srgb, var(--color-primary) 8%, transparent), inset 0 1px 0 color-mix(in srgb, white 10%, transparent);
  }
}
:root.dark .admin-card:hover {
  box-shadow: 0 8px 32px color-mix(in srgb, #0f2a4a 12%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    box-shadow: 0 8px 32px color-mix(in srgb, var(--color-primary) 12%, transparent);
  }
}
.admin-header {
  text-align: center;
  margin-bottom: 2rem;
}
.admin-title {
  font-size: 2rem;
  font-weight: 700;
  color: var(--color-text);
  margin-bottom: 0.5rem;
  letter-spacing: -0.025em;
}
.admin-subtitle {
  color: var(--color-text-secondary);
  font-size: 1rem;
  margin: 0;
}
.admin-page-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 2rem;
  flex-wrap: wrap;
  gap: 1rem;
}
.page > .admin-page-header:first-child {
  margin-top: 1.5rem;
}
@media (max-width: 640px) {
  .page > .admin-page-header:first-child {
    margin-top: 1.25rem;
  }
}
@media (max-width: 480px) {
  .page > .admin-page-header:first-child {
    margin-top: 1rem;
  }
}
.admin-page-title {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 1.5rem;
  font-weight: 600;
  color: var(--color-text);
  margin: 0 0 0.25rem 0;
  letter-spacing: -0.025em;
}
.admin-page-subtitle {
  color: var(--color-text-secondary);
  font-size: 0.875rem;
  margin: 0;
}
.admin-page-actions {
  display: flex;
  gap: 0.5rem;
  align-items: center;
}
.admin-grid {
  display: grid;
  gap: 1.5rem;
}
.admin-grid-2 {
  grid-template-columns: repeat(auto-fit, minmax(20rem, 1fr));
}
.admin-grid-3 {
  grid-template-columns: repeat(auto-fit, minmax(16rem, 1fr));
}
.admin-grid-4 {
  grid-template-columns: repeat(auto-fit, minmax(12rem, 1fr));
}
.admin-layout-sidebar {
  display: grid;
  grid-template-columns: 1fr 20rem;
  gap: 2rem;
  margin-top: 1.5rem;
}
.admin-sidebar {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}
.admin-section {
  margin-bottom: 2rem;
}
.admin-section-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 1.5rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid var(--color-border-light);
}
.admin-section-title {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  font-size: 1.125rem;
  font-weight: 600;
  color: var(--color-text);
  margin: 0;
}
.admin-section-action {
  color: var(--color-primary);
  font-size: 0.875rem;
  font-weight: 500;
  text-decoration: none;
  &:hover {
    text-decoration: underline;
  }
}
:root.dark .admin-section-action {
  color: var(--color-accent);
  &:hover {
    color: var(--color-accent-dark);
  }
}
.admin-widget {
  background: var(--color-background-panel);
  border: 1px solid var(--color-border);
  border-radius: 0.75rem;
  padding: 1.5rem;
}
:root.dark .admin-widget {
  background: color-mix(in srgb, #ffffff 90%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    background: color-mix(in srgb, var(--color-background-panel) 90%, transparent);
  }
  backdrop-filter: blur(10px);
  border: 1px solid color-mix(in srgb, #cfd8e3 60%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    border: 1px solid color-mix(in srgb, var(--color-border) 60%, transparent);
  }
}
.admin-widget-title {
  font-size: 1rem;
  font-weight: 600;
  color: var(--color-text);
  margin: 0 0 1rem 0;
}
.admin-widget-action {
  display: block;
  text-align: center;
  color: var(--color-primary);
  font-size: 0.875rem;
  font-weight: 500;
  text-decoration: none;
  margin-top: 1rem;
  padding-top: 1rem;
  border-top: 1px solid var(--color-border-light);
  &:hover {
    text-decoration: underline;
  }
}
:root.dark .admin-widget-action {
  color: var(--color-accent);
  border-top-color: color-mix(in srgb, #cfd8e3 25%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    border-top-color: color-mix(in srgb, var(--color-border) 25%, transparent);
  }
}
.admin-actions-list {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.admin-action-item {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.75rem;
  color: var(--color-text);
  text-decoration: none;
  border-radius: 0.5rem;
  transition: background-color 0.2s;
  font-size: 0.875rem;
  &:hover {
    background: color-mix(in srgb, #f4f6f9 50%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background: color-mix(in srgb, var(--color-background) 50%, transparent);
    }
    color: var(--color-text);
  }
  i {
    width: 1rem;
    height: 1rem;
    color: var(--color-text-secondary);
  }
}
.admin-footer {
  padding: 1.5rem;
  text-align: center;
  border-top: 1px solid var(--color-border-light);
  margin-top: auto;
}
.admin-footer p {
  color: var(--color-text-muted-accessible, #6b7280);
  font-size: 0.75rem;
  margin: 0;
}
.admin-module-hub {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(17rem, 1fr));
  gap: 1.25rem;
}
.admin-module-card {
  background: var(--color-background-panel);
  border: 1px solid var(--color-border-light);
  border-radius: 0.875rem;
  padding: 1.25rem;
  transition: border-color 0.2s, box-shadow 0.2s;
  &:hover {
    border-color: color-mix(in srgb, #0f2a4a 30%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      border-color: color-mix(in srgb, var(--color-primary) 30%, transparent);
    }
    box-shadow: 0 4px 20px color-mix(in srgb, #0f2a4a 6%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      box-shadow: 0 4px 20px color-mix(in srgb, var(--color-text) 6%, transparent);
    }
  }
}
:root.dark .admin-module-card {
  border-color: transparent;
  &:hover {
    border-color: color-mix(in srgb, #9c6400 25%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      border-color: color-mix(in srgb, var(--color-accent) 25%, transparent);
    }
    box-shadow: 0 4px 20px color-mix(in srgb, #0f2a4a 10%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      box-shadow: 0 4px 20px color-mix(in srgb, var(--color-primary) 10%, transparent);
    }
  }
}
.admin-module-card-header {
  display: flex;
  align-items: flex-start;
  gap: 0.875rem;
  margin-bottom: 1rem;
  padding-bottom: 0.875rem;
  border-bottom: 1px solid var(--color-border-light);
}
:root.dark .admin-module-card-header {
  border-bottom-color: color-mix(in srgb, #cfd8e3 20%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    border-bottom-color: color-mix(in srgb, var(--color-border) 20%, transparent);
  }
}
.admin-module-icon {
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 0.625rem;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  i {
    width: 1.25rem;
    height: 1.25rem;
    pointer-events: none;
  }
}
.admin-module-icon-primary {
  background: color-mix(in srgb, #0f2a4a 12%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    background: color-mix(in srgb, var(--color-primary) 12%, transparent);
  }
  color: var(--color-primary);
}
.admin-module-icon-success {
  background: color-mix(in srgb, #16a34a 12%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    background: color-mix(in srgb, var(--color-success) 12%, transparent);
  }
  color: var(--color-success);
}
.admin-module-icon-accent {
  background: color-mix(in srgb, #9c6400 12%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    background: color-mix(in srgb, var(--color-accent) 12%, transparent);
  }
  color: var(--color-accent);
}
.admin-module-icon-warning {
  background: color-mix(in srgb, #d97706 12%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    background: color-mix(in srgb, var(--color-warning) 12%, transparent);
  }
  color: var(--color-warning);
}
.admin-module-icon-info {
  background: color-mix(in srgb, #0284c7 12%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    background: color-mix(in srgb, var(--color-info) 12%, transparent);
  }
  color: var(--color-info);
}
.admin-module-icon-muted {
  background: color-mix(in srgb, #3d5a78 10%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    background: color-mix(in srgb, var(--color-text-secondary) 10%, transparent);
  }
  color: var(--color-text-secondary);
}
.admin-module-title {
  font-size: 0.9375rem;
  font-weight: 600;
  color: var(--color-text);
  margin: 0 0 0.125rem;
}
.admin-module-desc {
  font-size: 0.75rem;
  color: var(--color-text-secondary);
  margin: 0;
  line-height: 1.4;
}
.admin-module-links {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0.125rem;
  li a {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.3125rem 0.5rem;
    color: var(--color-text-secondary);
    text-decoration: none;
    font-size: 0.8125rem;
    border-radius: 0.375rem;
    transition: color 0.15s, background-color 0.15s;
    i {
      width: 0.875rem;
      height: 0.875rem;
      flex-shrink: 0;
      pointer-events: none;
    }
    &:hover {
      color: var(--color-primary);
      background: color-mix(in srgb, #0f2a4a 7%, transparent);
      @supports (color: color-mix(in lab, red, red)) {
        background: color-mix(in srgb, var(--color-primary) 7%, transparent);
      }
    }
  }
}
:root.dark .admin-module-links li a:hover {
  color: var(--color-accent);
  background: color-mix(in srgb, #9c6400 8%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    background: color-mix(in srgb, var(--color-accent) 8%, transparent);
  }
}
.admin-module-badge {
  margin-left: auto;
  background: var(--color-danger);
  color: white;
  font-size: 0.6rem;
  font-weight: 700;
  padding: 0.1rem 0.4rem;
  border-radius: 9999px;
}
.admin-theme-toggle {
  position: absolute;
  top: 1.5rem;
  right: 1.5rem;
  z-index: 50;
}
@media (max-width: 1024px) {
  .admin-nav-sidebar {
    position: fixed;
    top: 4rem;
    left: 0;
    bottom: 0;
    height: calc(100vh - 4rem);
    width: 16rem !important;
    transform: translateX(-100%);
    transition: transform 0.25s ease;
    z-index: 30;
  }
  .admin-sidebar-overlay {
    display: block;
  }
  .admin-layout-wrapper.sidebar-open .admin-nav-sidebar {
    transform: translateX(0);
    box-shadow: 4px 0 24px rgb(0 0 0 / 0.15);
  }
  .admin-layout-wrapper.sidebar-collapsed .sidebar-brand, .admin-layout-wrapper.sidebar-collapsed .sidebar-group-label, .admin-layout-wrapper.sidebar-collapsed .sidebar-link-text, .admin-layout-wrapper.sidebar-collapsed .sidebar-link-badge, .admin-layout-wrapper.sidebar-collapsed .sidebar-user-info {
    opacity: 1;
    width: auto;
    overflow: visible;
    pointer-events: auto;
  }
  .admin-layout-wrapper.sidebar-collapsed .sidebar-link {
    justify-content: flex-start;
    padding: 0.4375rem 1rem;
    margin: 0.0625rem 0.5rem;
  }
  .admin-layout-wrapper.sidebar-collapsed .sidebar-header {
    justify-content: space-between;
    padding: 0.875rem 1rem;
  }
  .admin-layout-wrapper.sidebar-collapsed .sidebar-footer {
    padding: 0.875rem 1rem;
  }
  .admin-layout-wrapper.sidebar-collapsed .sidebar-user {
    justify-content: flex-start;
  }
  .admin-sidebar-toggle {
    display: flex;
  }
  .sidebar-collapse-btn {
    display: none;
  }
  .admin-layout-sidebar {
    grid-template-columns: 1fr;
    gap: 1.5rem;
  }
  .admin-sidebar {
    order: -1;
  }
  .admin-content-area {
    padding: 1.25rem 1.5rem;
  }
  .admin-grid-2, .admin-grid-3, .admin-grid-4 {
    grid-template-columns: repeat(auto-fit, minmax(16rem, 1fr));
  }
}
@media (max-width: 768px) {
  .admin-theme-toggle {
    top: 1rem;
    right: 1rem;
  }
  .admin-main {
    padding: 1rem;
  }
  .admin-card {
    padding: 1rem;
  }
  .admin-card-lg {
    padding: 1.5rem;
  }
  .admin-title {
    font-size: 1.75rem;
  }
  .admin-page-header {
    flex-direction: column;
    align-items: stretch;
  }
  .admin-page-actions {
    justify-content: flex-start;
    flex-wrap: wrap;
  }
  .admin-section-header {
    flex-direction: column;
    align-items: stretch;
    gap: 1rem;
  }
  .admin-grid-2, .admin-grid-3, .admin-grid-4 {
    grid-template-columns: 1fr 1fr;
  }
}
@media (max-width: 640px) {
  .admin-grid-2, .admin-grid-3, .admin-grid-4 {
    grid-template-columns: 1fr;
  }
  .admin-page-title {
    font-size: 1.25rem;
  }
  .admin-card {
    padding: 0.875rem;
  }
  .admin-card-lg {
    padding: 1.25rem;
  }
}
@media (max-width: 480px) {
  .admin-main {
    padding: 0.75rem;
  }
  .admin-card {
    padding: 0.75rem;
  }
  .admin-card-lg {
    padding: 1rem;
  }
  .admin-title {
    font-size: 1.5rem;
  }
  .admin-page-title {
    font-size: 1.125rem;
  }
  .admin-page-actions {
    gap: 0.375rem;
  }
}
.auth-page {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: calc(100vh - 4rem - 2.75rem);
  padding: 2rem 1rem;
}
.auth-logo {
  display: inline-flex;
  align-items: baseline;
  gap: 0.375rem;
  font-size: 1.5rem;
  font-weight: 700;
  letter-spacing: -0.01em;
  margin-bottom: 1.5rem;
}
.auth-logo-group {
  color: var(--color-text-secondary);
  font-weight: 400;
}
.auth-logo-brand {
  color: var(--color-accent);
  font-weight: 800;
  font-style: italic;
}
.auth-back {
  margin-bottom: 2rem;
}
.auth-actions {
  text-align: center;
  margin-top: 1.5rem;
}
.auth-help {
  color: var(--color-text-secondary);
  font-size: 0.875rem;
  margin: 0;
}
.auth-link {
  color: var(--color-primary);
  text-decoration: none;
  font-weight: 500;
  &:hover {
    text-decoration: underline;
  }
}
:root.dark .auth-link {
  color: var(--color-accent);
}
.auth-form .form-group {
  margin-bottom: 1.5rem;
}
.auth-form .form-group:last-child {
  margin-bottom: 0;
}
.form-label-icon {
  width: 1rem;
  height: 1rem;
  margin-right: 0.5rem;
  color: var(--color-text-secondary);
  vertical-align: middle;
  display: inline-block;
}
.form-input-group {
  position: relative;
  display: flex;
  align-items: center;
}
.form-input-group .form-control {
  padding-right: 3rem;
}
.form-input-action {
  position: absolute;
  right: 0.75rem;
  background: none;
  border: none;
  color: var(--color-text-secondary);
  cursor: pointer;
  padding: 0.25rem;
  border-radius: 0.25rem;
  transition: color 0.15s;
  &:hover {
    color: var(--color-text);
  }
  .password-hide {
    display: none;
  }
  &.active {
    .password-show {
      display: none;
    }
    .password-hide {
      display: block;
    }
  }
}
.form-options {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 1.5rem;
  flex-wrap: wrap;
  gap: 1rem;
}
.form-link {
  color: var(--color-primary);
  text-decoration: none;
  font-size: 0.875rem;
  font-weight: 500;
  transition: color 0.15s;
  &:hover {
    color: var(--color-primary-dark);
    text-decoration: underline;
  }
}
:root.dark .form-link {
  color: var(--color-accent);
  &:hover {
    color: var(--color-accent-dark);
  }
}
.btn-full {
  width: 100%;
  justify-content: center;
}
.table-wrapper {
  width: 100%;
  overflow-x: auto;
  border-radius: 0.75rem;
  border: 1px solid var(--color-border-light);
  background: var(--color-background-panel);
  box-shadow: 0 2px 12px color-mix(in srgb, #0f2a4a 5%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    box-shadow: 0 2px 12px color-mix(in srgb, var(--color-text) 5%, transparent);
  }
  &:focus-visible {
    outline: 2px solid var(--color-primary);
    outline-offset: 2px;
  }
}
:root.dark .table-wrapper {
  background: color-mix(in srgb, #ffffff 92%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    background: color-mix(in srgb, var(--color-background-panel) 92%, transparent);
  }
  border-color: color-mix(in srgb, #cfd8e3 30%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    border-color: color-mix(in srgb, var(--color-border) 30%, transparent);
  }
  box-shadow: 0 4px 24px color-mix(in srgb, #0f2a4a 8%, transparent), inset 0 1px 0 color-mix(in srgb, white 5%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    box-shadow: 0 4px 24px color-mix(in srgb, var(--color-primary) 8%, transparent), inset 0 1px 0 color-mix(in srgb, white 5%, transparent);
  }
}
.data-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.8125rem;
  table-layout: auto;
}
.th {
  padding: 0.75rem 1rem;
  text-align: left;
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--color-text-muted-accessible, #6b7280);
  background: color-mix(in srgb, #f4f6f9 50%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    background: color-mix(in srgb, var(--color-background) 50%, transparent);
  }
  border-bottom: 1px solid var(--color-border-light);
  white-space: nowrap;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}
:root.dark .th {
  background: color-mix(in srgb, #f4f6f9 30%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    background: color-mix(in srgb, var(--color-background) 30%, transparent);
  }
  border-bottom-color: color-mix(in srgb, #cfd8e3 25%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    border-bottom-color: color-mix(in srgb, var(--color-border) 25%, transparent);
  }
  color: var(--color-text-muted-accessible);
}
.th--center {
  text-align: center;
}
.th--right {
  text-align: right;
}
.th--sortable {
  cursor: pointer;
  transition: color 0.15s, background-color 0.15s;
  &:hover {
    color: var(--color-text-secondary);
    background: color-mix(in srgb, #0f2a4a 5%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background: color-mix(in srgb, var(--color-primary) 5%, transparent);
    }
  }
  &:focus-visible {
    outline: 2px solid var(--color-primary);
    outline-offset: -2px;
  }
}
:root.dark .th--sortable:hover {
  background: color-mix(in srgb, #9c6400 8%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    background: color-mix(in srgb, var(--color-accent) 8%, transparent);
  }
}
.th--sorted {
  color: var(--color-primary);
  background: color-mix(in srgb, #0f2a4a 6%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    background: color-mix(in srgb, var(--color-primary) 6%, transparent);
  }
}
:root.dark .th--sorted {
  color: var(--color-accent);
  background: color-mix(in srgb, #9c6400 10%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    background: color-mix(in srgb, var(--color-accent) 10%, transparent);
  }
}
.th-content {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
}
.th-sort-icon {
  display: inline-flex;
  opacity: 0.5;
  transition: opacity 0.15s;
  i, svg {
    width: 0.75rem;
    height: 0.75rem;
    pointer-events: none;
  }
}
.th--sorted .th-sort-icon, .th--sortable:hover .th-sort-icon {
  opacity: 1;
}
.tr {
  border-bottom: 1px solid var(--color-border-light);
  transition: background-color 0.12s;
  &:last-child {
    border-bottom: none;
  }
  &:hover {
    background: color-mix(in srgb, #0f2a4a 3%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background: color-mix(in srgb, var(--color-primary) 3%, transparent);
    }
  }
}
:root.dark .tr {
  border-bottom-color: color-mix(in srgb, #cfd8e3 15%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    border-bottom-color: color-mix(in srgb, var(--color-border) 15%, transparent);
  }
  &:hover {
    background: color-mix(in srgb, #9c6400 5%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background: color-mix(in srgb, var(--color-accent) 5%, transparent);
    }
  }
}
.tr--disabled {
  opacity: 0.6;
  background: color-mix(in srgb, #f4f6f9 30%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    background: color-mix(in srgb, var(--color-background) 30%, transparent);
  }
}
.td {
  padding: 0.75rem 1rem;
  vertical-align: middle;
  color: var(--color-text);
}
.td--center {
  text-align: center;
}
.td--right {
  text-align: right;
}
.td--muted {
  color: var(--color-text-secondary);
  font-size: 0.8rem;
}
.td--mono {
  font-family: var(--font-mono, monospace);
  font-size: 0.75rem;
}
.td-link {
  color: var(--color-text-secondary);
  text-decoration: none;
  transition: color 0.15s;
  &:hover {
    color: var(--color-primary);
    text-decoration: underline;
  }
}
:root.dark .td-link:hover {
  color: var(--color-accent);
}
.td--never {
  color: var(--color-text-muted);
  font-style: italic;
  font-size: 0.75rem;
}
.switch-user-form {
  display: inline-block;
  margin: 0;
}
.switch-user-list {
  display: flex;
  flex-wrap: wrap;
  gap: 0.375rem;
}
.td-empty {
  padding: 3rem 1rem;
  text-align: center;
}
.empty-state-inline {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.75rem;
  color: var(--color-text-muted);
  i, svg {
    width: 2.5rem;
    height: 2.5rem;
    opacity: 0.4;
  }
  p {
    margin: 0;
    font-size: 0.875rem;
  }
}
.user-cell {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}
.user-avatar {
  width: 2rem;
  height: 2rem;
  border-radius: 50%;
  background: color-mix(in srgb, #0f2a4a 15%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    background: color-mix(in srgb, var(--color-primary) 15%, transparent);
  }
  color: var(--color-primary);
  font-size: 0.75rem;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  text-transform: uppercase;
}
:root.dark .user-avatar {
  background: color-mix(in srgb, #9c6400 20%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    background: color-mix(in srgb, var(--color-accent) 20%, transparent);
  }
  color: var(--color-accent);
}
.user-avatar--sm {
  width: 1.75rem;
  height: 1.75rem;
  font-size: 0.7rem;
}
.user-cell-info {
  display: flex;
  flex-direction: column;
  gap: 0.125rem;
  min-width: 0;
}
.user-cell-name {
  font-weight: 500;
  color: var(--color-text);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.user-cell-sub {
  font-size: 0.75rem;
  color: var(--color-text-muted-accessible, #6b7280);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.td--actions {
  text-align: right;
}
.td-actions-group {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 0.25rem;
}
.badge {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  padding: 0.2rem 0.55rem;
  border-radius: 9999px;
  font-size: 0.6875rem;
  font-weight: 600;
  letter-spacing: 0.02em;
  white-space: nowrap;
}
.badge--success {
  background: color-mix(in srgb, #22c55e 12%, transparent);
  color: #166534;
}
.badge--danger {
  background: color-mix(in srgb, #ef4444 12%, transparent);
  color: #dc2626;
}
.badge--warning {
  background: color-mix(in srgb, #f59e0b 12%, transparent);
  color: #92400e;
}
.badge--info {
  background: color-mix(in srgb, #0f2a4a 12%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    background: color-mix(in srgb, var(--color-primary) 12%, transparent);
  }
  color: var(--color-primary);
}
.groupe-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 0.25rem;
  margin: 0;
  padding: 0;
  list-style: none;
}
.badge--groupe {
  background: color-mix(in srgb, #0f2a4a 10%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    background: color-mix(in srgb, var(--color-primary) 10%, transparent);
  }
  color: var(--color-primary);
  font-family: var(--font-mono, ui-monospace, monospace);
  text-decoration: none;
  white-space: nowrap;
}
.badge--groupe:hover {
  text-decoration: underline;
}
.badge--groupe:focus-visible {
  outline: 2px solid var(--color-primary);
  outline-offset: 2px;
}
:root.dark .badge--success {
  background: color-mix(in srgb, #22c55e 18%, transparent);
  color: #4ade80;
}
:root.dark .badge--danger {
  background: color-mix(in srgb, #ef4444 18%, transparent);
  color: #f87171;
}
:root.dark .badge--warning {
  background: color-mix(in srgb, #f59e0b 18%, transparent);
  color: #fbbf24;
}
:root.dark .badge--info {
  background: color-mix(in srgb, #9c6400 18%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    background: color-mix(in srgb, var(--color-accent) 18%, transparent);
  }
  color: var(--color-accent);
}
.btn-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.875rem;
  height: 1.875rem;
  border-radius: 0.375rem;
  border: none;
  background: transparent;
  color: var(--color-text-secondary);
  cursor: pointer;
  transition: background-color 0.15s, color 0.15s;
  text-decoration: none;
  flex-shrink: 0;
  i, svg {
    width: 0.875rem;
    height: 0.875rem;
    pointer-events: none;
  }
  &:hover {
    background: color-mix(in srgb, #0f2a4a 10%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background: color-mix(in srgb, var(--color-primary) 10%, transparent);
    }
    color: var(--color-primary);
  }
  &:focus-visible {
    outline: 2px solid var(--color-primary);
    outline-offset: 1px;
  }
}
:root.dark .btn-icon:hover {
  background: color-mix(in srgb, #9c6400 12%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    background: color-mix(in srgb, var(--color-accent) 12%, transparent);
  }
  color: var(--color-accent);
}
.btn-icon--danger:hover {
  background: color-mix(in srgb, #ef4444 10%, transparent);
  color: #dc2626;
}
:root.dark .btn-icon--danger:hover {
  background: color-mix(in srgb, #ef4444 15%, transparent);
  color: #f87171;
}
.listing-toolbar {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  flex-wrap: wrap;
  margin-bottom: 1rem;
  padding: 0.875rem 1rem;
  background: var(--color-background-panel);
  border: 1px solid var(--color-border-light);
  border-radius: 0.75rem;
}
:root.dark .listing-toolbar {
  background: color-mix(in srgb, #ffffff 90%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    background: color-mix(in srgb, var(--color-background-panel) 90%, transparent);
  }
  border-color: color-mix(in srgb, #cfd8e3 25%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    border-color: color-mix(in srgb, var(--color-border) 25%, transparent);
  }
}
.listing-search {
  position: relative;
  flex: 1;
  min-width: 14rem;
}
.listing-search-icon {
  position: absolute;
  left: 0.75rem;
  top: 50%;
  transform: translateY(-50%);
  width: 0.875rem;
  height: 0.875rem;
  color: var(--color-text-muted);
  pointer-events: none;
}
.listing-search-input {
  width: 100%;
  padding: 0.4375rem 0.875rem 0.4375rem 2.25rem;
  border: 1px solid var(--color-border);
  border-radius: 0.5rem;
  background: var(--color-background);
  color: var(--color-text);
  font-size: 0.8125rem;
  transition: border-color 0.15s, box-shadow 0.15s;
  &::-moz-placeholder {
    color: var(--color-text-muted);
  }
  &::placeholder {
    color: var(--color-text-muted);
  }
  &:focus {
    outline: none;
    border-color: var(--color-primary);
    box-shadow: 0 0 0 3px color-mix(in srgb, #0f2a4a 15%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      box-shadow: 0 0 0 3px color-mix(in srgb, var(--color-primary) 15%, transparent);
    }
  }
  &::-webkit-search-cancel-button {
    display: none;
  }
}
:root.dark .listing-search-input {
  background: color-mix(in srgb, #f4f6f9 80%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    background: color-mix(in srgb, var(--color-background) 80%, transparent);
  }
  border-color: color-mix(in srgb, #cfd8e3 40%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    border-color: color-mix(in srgb, var(--color-border) 40%, transparent);
  }
  &:focus {
    border-color: var(--color-accent);
    box-shadow: 0 0 0 3px color-mix(in srgb, #9c6400 15%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      box-shadow: 0 0 0 3px color-mix(in srgb, var(--color-accent) 15%, transparent);
    }
  }
}
.listing-select {
  padding: 0.4375rem 0.75rem;
  border: 1px solid var(--color-border);
  border-radius: 0.5rem;
  background: var(--color-background);
  color: var(--color-text);
  font-size: 0.8125rem;
  cursor: pointer;
  transition: border-color 0.15s;
  &:focus {
    outline: none;
    border-color: var(--color-primary);
    box-shadow: 0 0 0 3px color-mix(in srgb, #0f2a4a 15%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      box-shadow: 0 0 0 3px color-mix(in srgb, var(--color-primary) 15%, transparent);
    }
  }
}
:root.dark .listing-select {
  background: color-mix(in srgb, #f4f6f9 80%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    background: color-mix(in srgb, var(--color-background) 80%, transparent);
  }
  border-color: color-mix(in srgb, #cfd8e3 40%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    border-color: color-mix(in srgb, var(--color-border) 40%, transparent);
  }
}
.listing-select--sm {
  padding: 0.4375rem 0.5rem;
  min-width: 4.5rem;
}
.listing-limit-group {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  white-space: nowrap;
}
.listing-limit-label {
  font-size: 0.75rem;
  color: var(--color-text-muted-accessible, #6b7280);
}
.listing-reset {
  margin-left: auto;
  color: var(--color-text-secondary);
  gap: 0.375rem;
  i, svg {
    width: 0.875rem;
    height: 0.875rem;
    pointer-events: none;
  }
  &:hover {
    color: var(--color-text);
  }
}
.pagination {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 0.75rem;
  margin-top: 1.25rem;
  padding-top: 1rem;
  border-top: 1px solid var(--color-border-light);
}
:root.dark .pagination {
  border-top-color: color-mix(in srgb, #cfd8e3 20%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    border-top-color: color-mix(in srgb, var(--color-border) 20%, transparent);
  }
}
.pagination-info {
  font-size: 0.8125rem;
  color: var(--color-text-secondary);
  strong {
    color: var(--color-text);
    font-weight: 600;
  }
}
.pagination-info--solo {
  display: block;
  margin-top: 0.75rem;
  padding-top: 0.75rem;
  border-top: 1px solid var(--color-border-light);
  text-align: center;
}
.pagination-pages {
  display: flex;
  align-items: center;
  gap: 0.25rem;
}
.pagination-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 2rem;
  height: 2rem;
  padding: 0 0.375rem;
  border-radius: 0.375rem;
  border: 1px solid var(--color-border-light);
  background: var(--color-background-panel);
  color: var(--color-text-secondary);
  font-size: 0.8125rem;
  cursor: pointer;
  transition: background-color 0.15s, border-color 0.15s, color 0.15s;
  i, svg {
    width: 0.875rem;
    height: 0.875rem;
    pointer-events: none;
  }
  &:hover:not(:disabled) {
    background: color-mix(in srgb, #0f2a4a 8%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background: color-mix(in srgb, var(--color-primary) 8%, transparent);
    }
    border-color: color-mix(in srgb, #0f2a4a 30%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      border-color: color-mix(in srgb, var(--color-primary) 30%, transparent);
    }
    color: var(--color-primary);
  }
  &:disabled, &[aria-disabled="true"] {
    opacity: 0.35;
    cursor: not-allowed;
  }
  &:focus-visible {
    outline: 2px solid var(--color-primary);
    outline-offset: 1px;
  }
}
:root.dark .pagination-btn {
  background: color-mix(in srgb, #ffffff 80%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    background: color-mix(in srgb, var(--color-background-panel) 80%, transparent);
  }
  border-color: color-mix(in srgb, #cfd8e3 30%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    border-color: color-mix(in srgb, var(--color-border) 30%, transparent);
  }
  &:hover:not(:disabled) {
    background: color-mix(in srgb, #9c6400 10%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background: color-mix(in srgb, var(--color-accent) 10%, transparent);
    }
    border-color: color-mix(in srgb, #9c6400 30%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      border-color: color-mix(in srgb, var(--color-accent) 30%, transparent);
    }
    color: var(--color-accent);
  }
}
.pagination-page--active {
  background: var(--color-primary) !important;
  border-color: var(--color-primary) !important;
  color: white !important;
  font-weight: 600;
  cursor: default;
}
:root.dark .pagination-page--active {
  background: var(--color-accent) !important;
  border-color: var(--color-accent) !important;
  color: var(--color-background) !important;
}
.pagination-ellipsis {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  color: var(--color-text-muted);
  font-size: 0.875rem;
  pointer-events: none;
}
@media (max-width: 1024px) {
  .th--hidden-sm {
    display: none;
  }
  .td.th--hidden-sm {
    display: none;
  }
  .user-cell-sub.td--hidden-md {
    display: none;
  }
}
@media (max-width: 768px) {
  .listing-toolbar {
    flex-direction: column;
    align-items: stretch;
    gap: 0.625rem;
  }
  .listing-search {
    min-width: 0;
  }
  .listing-reset {
    margin-left: 0;
  }
  .pagination {
    flex-direction: column;
    align-items: center;
    text-align: center;
  }
  .td {
    padding: 0.625rem 0.75rem;
  }
  .th {
    padding: 0.625rem 0.75rem;
  }
}
.user-avatar--xl {
  width: 4rem;
  height: 4rem;
  font-size: 1.375rem;
  flex-shrink: 0;
}
.user-profile-card {
  margin-bottom: 1.5rem;
}
.user-profile-top {
  display: flex;
  align-items: flex-start;
  gap: 1.25rem;
  flex-wrap: wrap;
}
.user-profile-identity {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.user-profile-name {
  font-size: 1.375rem;
  font-weight: 700;
  color: var(--color-text);
  letter-spacing: -0.02em;
  line-height: 1.2;
}
.user-profile-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 0.375rem;
}
.user-profile-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  margin-top: 0.125rem;
}
.user-profile-meta-item {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  font-size: 0.8125rem;
  color: var(--color-text-secondary);
  i, svg {
    width: 0.875rem;
    height: 0.875rem;
    flex-shrink: 0;
  }
}
.user-profile-details {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(10rem, 1fr));
  gap: 0.625rem 1.5rem;
  border-left: 1px solid var(--color-border-light);
  padding-left: 1.25rem;
  min-width: 18rem;
}
:root.dark .user-profile-details {
  border-left-color: color-mix(in srgb, #cfd8e3 30%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    border-left-color: color-mix(in srgb, var(--color-border) 30%, transparent);
  }
}
.detail-item {
  display: flex;
  flex-direction: column;
  gap: 0.125rem;
}
.detail-label {
  font-size: 0.6875rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--color-text-muted-accessible, #6b7280);
  font-weight: 600;
}
.detail-value {
  font-size: 0.875rem;
  color: var(--color-text);
  font-weight: 500;
}
.year-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 0.375rem;
  margin-bottom: 1.5rem;
}
.year-nav-item {
  padding: 0.3rem 0.75rem;
  border-radius: 9999px;
  font-size: 0.8125rem;
  font-weight: 500;
  color: var(--color-text-secondary);
  text-decoration: none;
  background: var(--color-background-panel);
  border: 1px solid var(--color-border);
  transition: background-color 0.15s, color 0.15s, border-color 0.15s;
}
.year-nav-item:hover {
  background: color-mix(in srgb, #0f2a4a 8%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    background: color-mix(in srgb, var(--color-primary) 8%, transparent);
  }
  color: var(--color-primary);
  border-color: color-mix(in srgb, #0f2a4a 30%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    border-color: color-mix(in srgb, var(--color-primary) 30%, transparent);
  }
}
.year-nav-item:focus-visible {
  outline: 2px solid var(--color-primary);
  outline-offset: 2px;
}
:root.dark .year-nav-item:focus-visible {
  outline-color: var(--color-accent);
}
.year-nav-item--active {
  background: var(--color-primary);
  color: var(--color-primary-text);
  border-color: var(--color-primary);
  font-weight: 600;
}
.year-nav-item--active:hover {
  background: var(--color-primary-dark);
  color: var(--color-primary-text);
  border-color: var(--color-primary-dark);
}
.stat-mini {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 1.25rem 1.5rem;
}
.stat-mini-icon {
  width: 2.75rem;
  height: 2.75rem;
  border-radius: 0.625rem;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  i, svg {
    width: 1.25rem;
    height: 1.25rem;
  }
}
.stat-mini-icon--success {
  background: color-mix(in srgb, #16a34a 12%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    background: color-mix(in srgb, var(--color-success) 12%, transparent);
  }
  color: var(--color-success);
}
.stat-mini-icon--danger {
  background: color-mix(in srgb, #dc2626 12%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    background: color-mix(in srgb, var(--color-danger) 12%, transparent);
  }
  color: var(--color-danger);
}
.stat-mini-icon--info {
  background: color-mix(in srgb, #0284c7 12%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    background: color-mix(in srgb, var(--color-info) 12%, transparent);
  }
  color: var(--color-info);
}
.stat-mini-icon--primary {
  background: color-mix(in srgb, #0f2a4a 12%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    background: color-mix(in srgb, var(--color-primary) 12%, transparent);
  }
  color: var(--color-primary);
}
:root.dark .stat-mini-icon--success {
  background: color-mix(in srgb, #22c55e 18%, transparent);
  color: #4ade80;
}
:root.dark .stat-mini-icon--danger {
  background: color-mix(in srgb, #ef4444 18%, transparent);
  color: #f87171;
}
:root.dark .stat-mini-icon--info {
  background: color-mix(in srgb, #9c6400 18%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    background: color-mix(in srgb, var(--color-accent) 18%, transparent);
  }
  color: var(--color-accent);
}
:root.dark .stat-mini-icon--primary {
  background: color-mix(in srgb, #9c6400 18%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    background: color-mix(in srgb, var(--color-accent) 18%, transparent);
  }
  color: var(--color-accent);
}
.stat-mini-content {
  display: flex;
  flex-direction: column;
  gap: 0.125rem;
  min-width: 0;
}
.stat-mini-value {
  font-size: 1.25rem;
  font-weight: 700;
  color: var(--color-text);
  letter-spacing: -0.02em;
  white-space: nowrap;
}
.stat-mini-value--danger {
  color: var(--color-danger);
}
.stat-mini-label {
  font-size: 0.75rem;
  color: var(--color-text-secondary);
  font-weight: 500;
}
.stat-mini-sub {
  font-size: 0.6875rem;
  color: var(--color-text-muted-accessible, #6b7280);
}
.table-footer-total {
  background: color-mix(in srgb, #0f2a4a 4%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    background: color-mix(in srgb, var(--color-primary) 4%, transparent);
  }
  border-top: 2px solid var(--color-border);
}
:root.dark .table-footer-total {
  background: color-mix(in srgb, #0f2a4a 8%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    background: color-mix(in srgb, var(--color-primary) 8%, transparent);
  }
}
.admin-section {
  margin-bottom: 1.5rem;
}
.td-link {
  color: var(--color-primary);
  text-decoration: none;
}
.td-link:hover {
  text-decoration: underline;
}
:root.dark .td-link {
  color: var(--color-accent);
}
@media (max-width: 768px) {
  .user-profile-top {
    gap: 1rem;
  }
  .user-profile-details {
    border-left: none;
    padding-left: 0;
    border-top: 1px solid var(--color-border-light);
    padding-top: 1rem;
    width: 100%;
  }
  .stat-mini {
    padding: 1rem;
  }
  .stat-mini-value {
    font-size: 1.125rem;
  }
}
@media (max-width: 480px) {
  .year-nav-item {
    padding: 0.25rem 0.625rem;
    font-size: 0.75rem;
  }
  .user-profile-details {
    grid-template-columns: 1fr 1fr;
  }
}
@media (prefers-reduced-motion: reduce) {
  .admin-card, .admin-card:hover, .admin-module-card, .sidebar-link, .year-nav-item, .btn-icon, .pagination-btn {
    transition: none !important;
    transform: none !important;
    animation: none !important;
  }
}
.badge-groupe {
  display: inline-flex;
  align-items: center;
  min-height: 2rem;
  padding: 0 0.625rem;
  border-radius: 0.375rem;
  background: color-mix(in srgb, #0f2a4a 8%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    background: color-mix(in srgb, var(--color-primary) 8%, transparent);
  }
  color: var(--color-primary);
  font-size: 0.9375rem;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}
.badge-groupe:hover {
  background: color-mix(in srgb, #0f2a4a 14%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    background: color-mix(in srgb, var(--color-primary) 14%, transparent);
  }
  text-decoration-thickness: 2px;
}
.badge-groupe:focus-visible {
  outline: 3px solid color-mix(in srgb, #0f2a4a 45%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    outline: 3px solid color-mix(in srgb, var(--color-primary) 45%, transparent);
  }
  outline-offset: 2px;
}
:root.dark .badge-groupe {
  color: var(--color-accent);
  background: color-mix(in srgb, #9c6400 12%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    background: color-mix(in srgb, var(--color-accent) 12%, transparent);
  }
}
.th-tri {
  margin: -0.75rem -1rem;
  padding: 0.75rem 1rem;
  border: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  letter-spacing: inherit;
  text-transform: inherit;
  cursor: pointer;
}
.th-tri:focus-visible {
  outline: 2px solid var(--color-primary);
  outline-offset: -2px;
}
.groupe-tresorier {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.25rem 0.5rem;
  padding: 0.125rem 0;
}
.groupe-a-traiter {
  color: var(--color-primary);
  font-size: 1rem;
  font-weight: 800;
  font-variant-numeric: tabular-nums;
  text-underline-offset: 3px;
}
.groupe-a-jour {
  color: var(--color-success-dark);
  font-weight: 600;
}
.pagination-ellipsis {
  padding: 0 0.25rem;
  color: var(--color-text-secondary);
}
.tableau-chiffres {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr));
  gap: 1rem;
  margin: 2rem 0 0;
  padding: 0;
  list-style: none;
}
.tableau-chiffres a {
  display: grid;
  gap: 0.25rem;
  height: 100%;
  padding: 1.25rem 1.375rem;
  border: 1px solid var(--color-border);
  border-radius: 0.875rem;
  background: var(--color-background-panel);
  color: var(--color-text-secondary);
  font-size: 1rem;
  line-height: 1.4;
  text-decoration: none;
  box-sizing: border-box;
}
.tableau-chiffres a:hover {
  border-color: var(--color-primary);
}
.tableau-chiffres a:focus-visible {
  outline: 3px solid color-mix(in srgb, #0f2a4a 40%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    outline: 3px solid color-mix(in srgb, var(--color-primary) 40%, transparent);
  }
  outline-offset: 2px;
}
.tableau-chiffres b {
  color: var(--color-primary);
  font-size: 2.25rem;
  line-height: 1.1;
  font-variant-numeric: tabular-nums;
}
.tableau-chiffres-lien {
  margin-top: 0.5rem;
  color: var(--color-primary);
  font-size: 0.9375rem;
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.stats-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(16rem, 1fr));
  gap: 1.5rem;
  margin-bottom: 2rem;
}
.stat-card {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 1.5rem;
  background: var(--color-background-panel);
  border: 1px solid var(--color-border);
  border-radius: 0.75rem;
  transition: all 0.2s;
  &:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 25px color-mix(in srgb, #0f2a4a 10%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      box-shadow: 0 8px 25px color-mix(in srgb, var(--color-text) 10%, transparent);
    }
  }
}
:root.dark .stat-card {
  background: color-mix(in srgb, #ffffff 90%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    background: color-mix(in srgb, var(--color-background-panel) 90%, transparent);
  }
  backdrop-filter: blur(10px);
  border: 1px solid color-mix(in srgb, #cfd8e3 60%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    border: 1px solid color-mix(in srgb, var(--color-border) 60%, transparent);
  }
  &:hover {
    box-shadow: 0 8px 32px color-mix(in srgb, #0f2a4a 8%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      box-shadow: 0 8px 32px color-mix(in srgb, var(--color-primary) 8%, transparent);
    }
  }
}
.stat-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 3rem;
  height: 3rem;
  border-radius: 0.75rem;
  flex-shrink: 0;
}
.stat-card-primary .stat-icon {
  background: color-mix(in srgb, #0f2a4a 15%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    background: color-mix(in srgb, var(--color-primary) 15%, transparent);
  }
  color: var(--color-primary);
}
.stat-card-success .stat-icon {
  background: color-mix(in srgb, #16a34a 15%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    background: color-mix(in srgb, var(--color-success) 15%, transparent);
  }
  color: var(--color-success);
}
.stat-card-warning .stat-icon {
  background: color-mix(in srgb, #d97706 15%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    background: color-mix(in srgb, var(--color-warning) 15%, transparent);
  }
  color: var(--color-warning);
}
.stat-card-danger .stat-icon {
  background: color-mix(in srgb, #dc2626 15%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    background: color-mix(in srgb, var(--color-danger) 15%, transparent);
  }
  color: var(--color-danger);
}
.stat-card-info .stat-icon {
  background: color-mix(in srgb, #0284c7 15%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    background: color-mix(in srgb, var(--color-info) 15%, transparent);
  }
  color: var(--color-info);
}
.stat-content {
  flex: 1;
}
.stat-number {
  font-size: 1.875rem;
  font-weight: 700;
  color: var(--color-text);
  margin: 0 0 0.25rem 0;
  line-height: 1;
}
.stat-label {
  color: var(--color-text-secondary);
  font-size: 0.875rem;
  margin: 0;
}
.stat-trend {
  display: flex;
  align-items: center;
  gap: 0.25rem;
  font-size: 0.75rem;
  font-weight: 600;
}
.stat-trend-up {
  color: var(--color-success);
}
.stat-trend-down {
  color: var(--color-danger);
}
.stat-trend-neutral {
  color: var(--color-text-muted);
}
.stat-trend i {
  width: 0.875rem;
  height: 0.875rem;
}
.progress-container {
  margin: 1rem 0;
}
.progress-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 0.5rem;
}
.progress-label {
  font-size: 0.875rem;
  font-weight: 500;
  color: var(--color-text);
}
.progress-value {
  font-size: 0.75rem;
  color: var(--color-text-secondary);
}
.progress-bar {
  height: 0.5rem;
  background: var(--color-border-light);
  border-radius: 9999px;
  overflow: hidden;
}
.progress-bar-sm {
  height: 0.25rem;
}
.progress-bar-lg {
  height: 0.75rem;
}
.progress-fill {
  height: 100%;
  background: linear-gradient(90deg, var(--color-primary), var(--color-accent));
  transition: width 0.3s ease;
}
.progress-fill-success {
  background: linear-gradient(90deg, var(--color-success), var(--color-success-dark));
}
.progress-fill-warning {
  background: linear-gradient(90deg, var(--color-warning), var(--color-warning-dark));
}
.progress-fill-danger {
  background: linear-gradient(90deg, var(--color-danger), var(--color-danger-dark));
}
.progress-fill-info {
  background: linear-gradient(90deg, var(--color-info), var(--color-info-dark));
}
.stat-inline {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.875rem;
}
.stat-inline-icon {
  width: 1rem;
  height: 1rem;
  color: var(--color-text-secondary);
}
.stat-inline-value {
  font-weight: 600;
  color: var(--color-text);
}
.stat-inline-label {
  color: var(--color-text-secondary);
}
.alert {
  display: flex;
  gap: 0.75rem;
  padding: 1rem;
  border-radius: 0.5rem;
  margin-bottom: 1.5rem;
  border: 1px solid;
}
.alert-icon {
  width: 1.25rem;
  height: 1.25rem;
  flex-shrink: 0;
  margin-top: 0.125rem;
}
.alert-content {
  flex: 1;
}
.alert-title {
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--color-text);
  margin: 0 0 0.25rem 0;
}
.alert-message {
  font-size: 0.875rem;
  color: var(--color-text-secondary);
  margin: 0;
  line-height: 1.4;
}
.alert-success {
  background: color-mix(in srgb, #16a34a 10%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    background: color-mix(in srgb, var(--color-success) 10%, transparent);
  }
  border-color: color-mix(in srgb, #16a34a 20%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    border-color: color-mix(in srgb, var(--color-success) 20%, transparent);
  }
}
.alert-success .alert-icon {
  color: var(--color-success);
}
.alert-danger {
  background: color-mix(in srgb, #dc2626 10%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    background: color-mix(in srgb, var(--color-danger) 10%, transparent);
  }
  border-color: color-mix(in srgb, #dc2626 20%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    border-color: color-mix(in srgb, var(--color-danger) 20%, transparent);
  }
}
.alert-danger .alert-icon {
  color: var(--color-danger);
}
.alert-warning {
  background: color-mix(in srgb, #d97706 10%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    background: color-mix(in srgb, var(--color-warning) 10%, transparent);
  }
  border-color: color-mix(in srgb, #d97706 20%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    border-color: color-mix(in srgb, var(--color-warning) 20%, transparent);
  }
}
.alert-warning .alert-icon {
  color: var(--color-warning);
}
.alert-info {
  background: color-mix(in srgb, #0284c7 10%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    background: color-mix(in srgb, var(--color-info) 10%, transparent);
  }
  border-color: color-mix(in srgb, #0284c7 20%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    border-color: color-mix(in srgb, var(--color-info) 20%, transparent);
  }
}
.alert-info .alert-icon {
  color: var(--color-info);
}
.alert-dismissible {
  position: relative;
  padding-right: 3rem;
}
.alert-close {
  position: absolute;
  top: 0.75rem;
  right: 0.75rem;
  background: none;
  border: none;
  color: currentColor;
  cursor: pointer;
  padding: 0.25rem;
  border-radius: 0.25rem;
  opacity: 0.7;
  transition: opacity 0.15s;
  &:hover {
    opacity: 1;
  }
}
.notifications-list {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}
.notification-item {
  display: flex;
  gap: 0.75rem;
  align-items: flex-start;
  padding: 0.75rem;
  border-radius: 0.5rem;
  transition: background-color 0.2s;
  &:hover {
    background: color-mix(in srgb, #f4f6f9 30%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background: color-mix(in srgb, var(--color-background) 30%, transparent);
    }
  }
}
.notification-unread {
  background: color-mix(in srgb, #0f2a4a 5%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    background: color-mix(in srgb, var(--color-primary) 5%, transparent);
  }
}
.notification-dot {
  width: 0.5rem;
  height: 0.5rem;
  background: var(--color-primary);
  border-radius: 50%;
  margin-top: 0.25rem;
  flex-shrink: 0;
}
.notification-content {
  flex: 1;
}
.notification-text {
  font-size: 0.875rem;
  color: var(--color-text);
  margin: 0 0 0.25rem 0;
  line-height: 1.4;
}
.notification-time {
  font-size: 0.75rem;
  color: var(--color-text-muted);
}
.notification-badge {
  position: absolute;
  top: -4px;
  right: -4px;
  min-width: 1rem;
  height: 1rem;
  background: linear-gradient(135deg, var(--color-danger) 0%, var(--color-danger-dark) 100%);
  border: 2px solid var(--color-background-panel);
  border-radius: 0.5rem;
  font-size: 0.625rem;
  font-weight: 600;
  color: white;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 0.25rem;
  animation: pulse-notification 2s infinite;
}
.notification-badge-dot {
  width: 8px;
  height: 8px;
  min-width: auto;
  padding: 0;
}
@keyframes pulse-notification {
  0%, 100% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.1);
  }
}
.info-box {
  display: flex;
  gap: 0.75rem;
  padding: 1rem;
  background: color-mix(in srgb, #0284c7 10%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    background: color-mix(in srgb, var(--color-info) 10%, transparent);
  }
  border: 1px solid color-mix(in srgb, #0284c7 20%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    border: 1px solid color-mix(in srgb, var(--color-info) 20%, transparent);
  }
  border-radius: 0.5rem;
  text-align: left;
}
.info-box-icon {
  width: 1.25rem;
  height: 1.25rem;
  color: var(--color-info);
  flex-shrink: 0;
  margin-top: 0.125rem;
}
.info-box-content h4 {
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--color-text);
  margin: 0 0 0.25rem 0;
}
.info-box-content p {
  font-size: 0.875rem;
  color: var(--color-text-secondary);
  margin: 0;
  line-height: 1.4;
}
.info-box-content p + p {
  margin-top: 0.25rem;
}
.toast-container {
  position: fixed;
  top: 1rem;
  right: 1rem;
  z-index: 1000;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  max-width: 20rem;
}
.toast {
  display: flex;
  gap: 0.75rem;
  padding: 0.75rem 1rem;
  background: var(--color-background-panel);
  border: 1px solid var(--color-border);
  border-radius: 0.5rem;
  box-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1);
  animation: toast-slide-in 0.3s ease-out;
}
.toast-success {
  border-left: 4px solid var(--color-success);
}
.toast-danger {
  border-left: 4px solid var(--color-danger);
}
.toast-warning {
  border-left: 4px solid var(--color-warning);
}
.toast-info {
  border-left: 4px solid var(--color-info);
}
@keyframes toast-slide-in {
  from {
    transform: translateX(100%);
    opacity: 0;
  }
  to {
    transform: translateX(0);
    opacity: 1;
  }
}
.activity-list {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.activity-item {
  display: flex;
  gap: 1rem;
  padding: 1rem;
  background: color-mix(in srgb, #f4f6f9 50%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    background: color-mix(in srgb, var(--color-background) 50%, transparent);
  }
  border-radius: 0.5rem;
  transition: background-color 0.2s;
  &:hover {
    background: color-mix(in srgb, #f4f6f9 80%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background: color-mix(in srgb, var(--color-background) 80%, transparent);
    }
  }
}
.activity-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 0.5rem;
  flex-shrink: 0;
}
.activity-icon-success {
  background: color-mix(in srgb, #16a34a 15%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    background: color-mix(in srgb, var(--color-success) 15%, transparent);
  }
  color: var(--color-success);
}
.activity-icon-info {
  background: color-mix(in srgb, #0284c7 15%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    background: color-mix(in srgb, var(--color-info) 15%, transparent);
  }
  color: var(--color-info);
}
.activity-icon-warning {
  background: color-mix(in srgb, #d97706 15%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    background: color-mix(in srgb, var(--color-warning) 15%, transparent);
  }
  color: var(--color-warning);
}
.activity-icon-danger {
  background: color-mix(in srgb, #dc2626 15%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    background: color-mix(in srgb, var(--color-danger) 15%, transparent);
  }
  color: var(--color-danger);
}
.activity-content {
  flex: 1;
}
.activity-title {
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--color-text);
  margin: 0 0 0.25rem 0;
}
.activity-description {
  font-size: 0.875rem;
  color: var(--color-text-secondary);
  margin: 0 0 0.5rem 0;
  line-height: 1.4;
}
.activity-time {
  font-size: 0.75rem;
  color: var(--color-text-muted);
}
.activity-meta {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin-top: 0.5rem;
}
.project-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(20rem, 1fr));
  gap: 1.5rem;
}
.project-card {
  padding: 1.5rem;
  background: color-mix(in srgb, #f4f6f9 50%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    background: color-mix(in srgb, var(--color-background) 50%, transparent);
  }
  border: 1px solid var(--color-border-light);
  border-radius: 0.75rem;
  transition: all 0.2s;
  &:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 15px color-mix(in srgb, #0f2a4a 8%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      box-shadow: 0 4px 15px color-mix(in srgb, var(--color-text) 8%, transparent);
    }
  }
}
.project-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 1rem;
}
.project-title {
  font-size: 1rem;
  font-weight: 600;
  color: var(--color-text);
  margin: 0;
}
.project-status {
  font-size: 0.75rem;
  font-weight: 500;
  padding: 0.25rem 0.75rem;
  border-radius: 9999px;
}
.project-status-progress {
  background: color-mix(in srgb, #0284c7 15%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    background: color-mix(in srgb, var(--color-info) 15%, transparent);
  }
  color: var(--color-info);
}
.project-status-review {
  background: color-mix(in srgb, #d97706 15%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    background: color-mix(in srgb, var(--color-warning) 15%, transparent);
  }
  color: var(--color-warning);
}
.project-status-completed {
  background: color-mix(in srgb, #16a34a 15%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    background: color-mix(in srgb, var(--color-success) 15%, transparent);
  }
  color: var(--color-success);
}
.project-status-blocked {
  background: color-mix(in srgb, #dc2626 15%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    background: color-mix(in srgb, var(--color-danger) 15%, transparent);
  }
  color: var(--color-danger);
}
.project-description {
  font-size: 0.875rem;
  color: var(--color-text-secondary);
  margin: 0 0 1.5rem 0;
  line-height: 1.4;
}
.project-progress {
  margin-bottom: 1.5rem;
}
.project-meta {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 0.75rem;
  color: var(--color-text-muted);
}
.project-deadline, .project-team {
  display: flex;
  align-items: center;
  gap: 0.25rem;
}
.project-deadline i, .project-team i {
  width: 0.875rem;
  height: 0.875rem;
}
.simple-list {
  list-style: none;
  padding: 0;
  margin: 0;
}
.simple-list-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.75rem 1rem;
  border-bottom: 1px solid var(--color-border-light);
  transition: background-color 0.2s;
  &:hover {
    background: color-mix(in srgb, #f4f6f9 30%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background: color-mix(in srgb, var(--color-background) 30%, transparent);
    }
  }
  &:last-child {
    border-bottom: none;
  }
}
.simple-list-content {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}
.simple-list-icon {
  width: 1.25rem;
  height: 1.25rem;
  color: var(--color-text-secondary);
  flex-shrink: 0;
}
.simple-list-text {
  font-size: 0.875rem;
  color: var(--color-text);
}
.simple-list-actions {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.timeline {
  position: relative;
  padding-left: 1.5rem;
}
.timeline::before {
  content: '';
  position: absolute;
  left: 0.5rem;
  top: 0;
  bottom: 0;
  width: 2px;
  background: var(--color-border);
}
.timeline-item {
  position: relative;
  margin-bottom: 2rem;
}
.timeline-item::before {
  content: '';
  position: absolute;
  left: -1.25rem;
  top: 0.25rem;
  width: 0.75rem;
  height: 0.75rem;
  background: var(--color-primary);
  border-radius: 50%;
  border: 2px solid var(--color-background-panel);
}
.timeline-content {
  padding: 1rem;
  background: var(--color-background-panel);
  border: 1px solid var(--color-border);
  border-radius: 0.5rem;
}
.timeline-time {
  font-size: 0.75rem;
  color: var(--color-text-muted);
  margin-bottom: 0.5rem;
}
.timeline-title {
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--color-text);
  margin: 0 0 0.25rem 0;
}
.timeline-description {
  font-size: 0.875rem;
  color: var(--color-text-secondary);
  margin: 0;
  line-height: 1.4;
}
@media (max-width: 768px) {
  .project-grid {
    grid-template-columns: 1fr;
  }
  .activity-item {
    flex-direction: column;
    text-align: center;
  }
  .activity-icon {
    align-self: center;
  }
  .timeline {
    padding-left: 1rem;
  }
  .timeline-item::before {
    left: -0.875rem;
  }
}
.public-hero {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 3rem;
  align-items: center;
  padding: 3rem 0 4rem;
  border-bottom: 1px solid var(--color-border-light);
}
.public-hero-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.375rem 0.875rem;
  background: color-mix(in srgb, #9c6400 12%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    background: color-mix(in srgb, var(--color-accent) 12%, transparent);
  }
  color: var(--color-accent);
  border: 1px solid color-mix(in srgb, #9c6400 25%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    border: 1px solid color-mix(in srgb, var(--color-accent) 25%, transparent);
  }
  border-radius: 9999px;
  font-size: 0.8rem;
  font-weight: 600;
  letter-spacing: 0.02em;
  margin-bottom: 1.5rem;
  i {
    width: 0.875rem;
    height: 0.875rem;
  }
}
.public-hero-title {
  font-size: 2.75rem;
  font-weight: 800;
  line-height: 1.15;
  letter-spacing: -0.03em;
  color: var(--color-text);
  margin-bottom: 1.25rem;
}
.public-hero-accent {
  color: var(--color-accent);
}
:root.dark .public-hero-title {
  background: linear-gradient(135deg, var(--color-text) 0%, color-mix(in srgb, #0f2a4a 80%, #9c6400 20%) 100%);
  @supports (color: color-mix(in lab, red, red)) {
    background: linear-gradient(135deg, var(--color-text) 0%, color-mix(in srgb, var(--color-text) 80%, var(--color-accent) 20%) 100%);
  }
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
:root.dark .public-hero-accent {
  -webkit-text-fill-color: var(--color-accent);
}
.public-hero-desc {
  font-size: 1.0625rem;
  color: var(--color-text-secondary);
  line-height: 1.7;
  margin-bottom: 2rem;
  max-width: 36rem;
}
.public-hero-actions {
  display: flex;
  gap: 1rem;
  flex-wrap: wrap;
}
.btn-outline-white {
  background: transparent;
  border: 2px solid color-mix(in srgb, #0f2a4a 40%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    border: 2px solid color-mix(in srgb, var(--color-primary) 40%, transparent);
  }
  color: var(--color-primary);
  &:hover {
    background: color-mix(in srgb, #0f2a4a 8%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background: color-mix(in srgb, var(--color-primary) 8%, transparent);
    }
    border-color: var(--color-primary);
  }
}
:root.dark .btn-outline-white {
  border-color: color-mix(in srgb, #cfd8e3 80%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    border-color: color-mix(in srgb, var(--color-border) 80%, transparent);
  }
  color: var(--color-text);
  &:hover {
    background: color-mix(in srgb, white 8%, transparent);
  }
}
.public-hero-visual {
  display: flex;
  align-items: center;
  justify-content: center;
}
.public-hero-stat-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.5rem;
  width: 100%;
  max-width: 28rem;
}
.public-hero-stat {
  background: var(--color-background-panel);
  border: 1px solid var(--color-border);
  border-radius: 1rem;
  padding: 1.5rem;
  text-align: center;
  box-shadow: 0 4px 20px color-mix(in srgb, #0f2a4a 6%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    box-shadow: 0 4px 20px color-mix(in srgb, var(--color-text) 6%, transparent);
  }
  transition: transform 0.2s;
  &:hover {
    transform: translateY(-3px);
  }
}
:root.dark .public-hero-stat {
  background: color-mix(in srgb, #ffffff 90%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    background: color-mix(in srgb, var(--color-background-panel) 90%, transparent);
  }
  backdrop-filter: blur(10px);
  border-color: color-mix(in srgb, #cfd8e3 60%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    border-color: color-mix(in srgb, var(--color-border) 60%, transparent);
  }
  box-shadow: 0 8px 32px color-mix(in srgb, #0f2a4a 10%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    box-shadow: 0 8px 32px color-mix(in srgb, var(--color-primary) 10%, transparent);
  }
}
.public-hero-stat-number {
  display: block;
  font-size: 2rem;
  font-weight: 800;
  color: var(--color-accent);
  letter-spacing: -0.03em;
  line-height: 1;
  margin-bottom: 0.375rem;
}
.public-hero-stat-label {
  display: block;
  font-size: 0.8rem;
  color: var(--color-text-secondary);
  line-height: 1.3;
}
.public-section {
  padding: 3rem 0;
  margin-bottom: 1rem;
}
.public-section-alt {
  background: var(--color-background-panel);
  border: 1px solid var(--color-border-light);
  border-radius: 1.5rem;
  padding: 3rem;
  margin-bottom: 2rem;
}
:root.dark .public-section-alt {
  background: color-mix(in srgb, #ffffff 80%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    background: color-mix(in srgb, var(--color-background-panel) 80%, transparent);
  }
  backdrop-filter: blur(10px);
  border-color: color-mix(in srgb, #cfd8e3 50%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    border-color: color-mix(in srgb, var(--color-border) 50%, transparent);
  }
}
.public-section-header {
  text-align: center;
  margin-bottom: 3rem;
}
.public-section-tag {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  padding: 0.25rem 0.75rem;
  background: color-mix(in srgb, #0f2a4a 10%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    background: color-mix(in srgb, var(--color-primary) 10%, transparent);
  }
  color: var(--color-primary);
  border-radius: 9999px;
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  margin-bottom: 1rem;
  i {
    width: 0.8rem;
    height: 0.8rem;
  }
}
:root.dark .public-section-tag {
  background: color-mix(in srgb, #9c6400 12%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    background: color-mix(in srgb, var(--color-accent) 12%, transparent);
  }
  color: var(--color-accent);
}
.public-section-title {
  font-size: 2rem;
  font-weight: 700;
  color: var(--color-text);
  letter-spacing: -0.025em;
  margin-bottom: 0.75rem;
}
.public-section-subtitle {
  font-size: 1rem;
  color: var(--color-text-secondary);
  line-height: 1.6;
  max-width: 42rem;
  margin-inline: auto;
}
.public-cards-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(18rem, 1fr));
  gap: 1.5rem;
}
.public-card {
  background: var(--color-background-panel);
  border: 1px solid var(--color-border);
  border-radius: 1rem;
  padding: 1.75rem;
  transition: transform 0.2s, box-shadow 0.2s;
  &:hover {
    transform: translateY(-3px);
    box-shadow: 0 12px 30px color-mix(in srgb, #0f2a4a 8%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      box-shadow: 0 12px 30px color-mix(in srgb, var(--color-text) 8%, transparent);
    }
  }
}
:root.dark .public-card {
  background: color-mix(in srgb, #ffffff 90%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    background: color-mix(in srgb, var(--color-background-panel) 90%, transparent);
  }
  backdrop-filter: blur(10px);
  border-color: color-mix(in srgb, #cfd8e3 60%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    border-color: color-mix(in srgb, var(--color-border) 60%, transparent);
  }
  &:hover {
    box-shadow: 0 12px 30px color-mix(in srgb, #0f2a4a 12%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      box-shadow: 0 12px 30px color-mix(in srgb, var(--color-primary) 12%, transparent);
    }
  }
}
.public-card-icon {
  width: 3rem;
  height: 3rem;
  border-radius: 0.75rem;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 1.25rem;
  i {
    width: 1.5rem;
    height: 1.5rem;
  }
}
.public-card-icon-primary {
  background: color-mix(in srgb, #0f2a4a 12%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    background: color-mix(in srgb, var(--color-primary) 12%, transparent);
  }
  color: var(--color-primary);
}
.public-card-icon-success {
  background: color-mix(in srgb, #16a34a 12%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    background: color-mix(in srgb, var(--color-success) 12%, transparent);
  }
  color: var(--color-success);
}
.public-card-icon-accent {
  background: color-mix(in srgb, #9c6400 12%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    background: color-mix(in srgb, var(--color-accent) 12%, transparent);
  }
  color: var(--color-accent);
}
.public-card-icon-warning {
  background: color-mix(in srgb, #d97706 12%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    background: color-mix(in srgb, var(--color-warning) 12%, transparent);
  }
  color: var(--color-warning);
}
.public-card-icon-info {
  background: color-mix(in srgb, #0284c7 12%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    background: color-mix(in srgb, var(--color-info) 12%, transparent);
  }
  color: var(--color-info);
}
.public-card-title {
  font-size: 1.0625rem;
  font-weight: 600;
  color: var(--color-text);
  margin-bottom: 0.625rem;
}
.public-card-desc {
  font-size: 0.875rem;
  color: var(--color-text-secondary);
  line-height: 1.6;
  margin: 0;
}
.public-values-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(20rem, 1fr));
  gap: 2rem;
}
.public-value-item {
  display: flex;
  gap: 1.25rem;
  align-items: flex-start;
}
.public-value-icon {
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 0.5rem;
  background: color-mix(in srgb, #9c6400 12%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    background: color-mix(in srgb, var(--color-accent) 12%, transparent);
  }
  color: var(--color-accent);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  i {
    width: 1.25rem;
    height: 1.25rem;
  }
}
.public-value-title {
  font-size: 1rem;
  font-weight: 600;
  color: var(--color-text);
  margin: 0 0 0.375rem 0;
}
.public-value-desc {
  font-size: 0.875rem;
  color: var(--color-text-secondary);
  line-height: 1.6;
  margin: 0;
}
.public-cta {
  background: linear-gradient(135deg, var(--color-primary) 0%, color-mix(in srgb, #0f2a4a 80%, #9c6400 20%) 100%);
  @supports (color: color-mix(in lab, red, red)) {
    background: linear-gradient(135deg, var(--color-primary) 0%, color-mix(in srgb, var(--color-primary) 80%, var(--color-accent) 20%) 100%);
  }
  border-radius: 1.5rem;
  padding: 4rem 2rem;
  text-align: center;
  margin: 2rem 0 3rem;
}
.public-cta-title {
  font-size: 2rem;
  font-weight: 700;
  color: white;
  letter-spacing: -0.025em;
  margin-bottom: 0.75rem;
}
.public-cta-desc {
  font-size: 1rem;
  color: color-mix(in srgb, white 75%, transparent);
  line-height: 1.6;
  max-width: 38rem;
  margin: 0 auto 2rem;
}
.btn-accent {
  background: var(--color-accent);
  color: white;
  border: none;
  &:hover {
    background: var(--color-accent-dark);
    color: white;
  }
}
.public-page-header {
  text-align: center;
  padding: 3rem 0 2.5rem;
  border-bottom: 1px solid var(--color-border-light);
  margin-bottom: 3rem;
}
.public-page-title {
  font-size: 2.25rem;
  font-weight: 800;
  color: var(--color-text);
  letter-spacing: -0.03em;
  margin: 0.75rem 0 0.75rem;
}
.public-page-subtitle {
  font-size: 1rem;
  color: var(--color-text-secondary);
  line-height: 1.6;
  max-width: 42rem;
  margin-inline: auto;
  margin-bottom: 0;
}
.public-contact-layout {
  display: grid;
  grid-template-columns: 1fr 22rem;
  gap: 2rem;
  align-items: start;
  margin-bottom: 3rem;
}
.public-contact-left {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}
.public-contact-right {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
  position: sticky;
  top: 5rem;
}
.public-form-title {
  font-size: 1.25rem;
  font-weight: 600;
  color: var(--color-text);
  margin: 0 0 1.75rem 0;
  padding-bottom: 1rem;
  border-bottom: 1px solid var(--color-border-light);
}
.public-form-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
}
.public-contact-form .form-group {
  margin-bottom: 1.25rem;
}
.public-contact-form .form-group:last-child {
  margin-bottom: 0;
}
.form-textarea {
  resize: vertical;
  min-height: 8rem;
}
.form-select {
  cursor: pointer;
}
.form-required {
  color: var(--color-danger);
  font-size: 0.75rem;
}
.public-map-card {
  background: var(--color-background-panel);
  border: 1px solid var(--color-border);
  border-radius: 0.75rem;
  overflow: hidden;
  box-shadow: 0 4px 20px color-mix(in srgb, #0f2a4a 6%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    box-shadow: 0 4px 20px color-mix(in srgb, var(--color-text) 6%, transparent);
  }
}
:root.dark .public-map-card {
  background: color-mix(in srgb, #ffffff 90%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    background: color-mix(in srgb, var(--color-background-panel) 90%, transparent);
  }
  border-color: color-mix(in srgb, #cfd8e3 60%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    border-color: color-mix(in srgb, var(--color-border) 60%, transparent);
  }
  box-shadow: 0 8px 32px color-mix(in srgb, #0f2a4a 8%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    box-shadow: 0 8px 32px color-mix(in srgb, var(--color-primary) 8%, transparent);
  }
}
.public-map-title {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.9rem;
  font-weight: 600;
  color: var(--color-text);
  padding: 1rem 1.25rem;
  margin: 0;
  border-bottom: 1px solid var(--color-border-light);
  background: color-mix(in srgb, #f4f6f9 50%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    background: color-mix(in srgb, var(--color-background) 50%, transparent);
  }
  i {
    width: 1rem;
    height: 1rem;
    color: var(--color-accent);
    flex-shrink: 0;
  }
}
.public-map-wrapper {
  display: block;
  line-height: 0;
  iframe {
    display: block;
  }
}
.public-contact-list {
  display: flex;
  flex-direction: column;
}
.public-contact-item {
  display: flex;
  align-items: flex-start;
  gap: 0.875rem;
  padding: 0.75rem 0.5rem;
  border-radius: 0.5rem;
  text-decoration: none;
  color: var(--color-text);
  transition: background-color 0.15s;
  border-bottom: 1px solid var(--color-border-light);
  &:last-child {
    border-bottom: none;
  }
  &:is(a):hover {
    background: color-mix(in srgb, #0f2a4a 6%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background: color-mix(in srgb, var(--color-primary) 6%, transparent);
    }
  }
}
.public-contact-item-icon {
  width: 2rem;
  height: 2rem;
  border-radius: 0.5rem;
  background: color-mix(in srgb, #0f2a4a 10%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    background: color-mix(in srgb, var(--color-primary) 10%, transparent);
  }
  color: var(--color-primary);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  i {
    width: 0.875rem;
    height: 0.875rem;
  }
}
.public-contact-item-label {
  font-size: 0.7rem;
  color: var(--color-text-muted-accessible, var(--color-text-muted));
  margin: 0 0 0.15rem 0;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}
.public-contact-item-value {
  font-size: 0.8125rem;
  color: var(--color-text);
  margin: 0;
  line-height: 1.45;
}
.public-access-list {
  display: flex;
  flex-direction: column;
  gap: 0;
}
.public-access-item {
  display: flex;
  align-items: flex-start;
  gap: 1rem;
  padding: 0.875rem 0;
  border-bottom: 1px solid var(--color-border-light);
  &:last-child {
    border-bottom: none;
  }
}
.public-access-icon {
  width: 2.25rem;
  height: 2.25rem;
  border-radius: 0.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  i {
    width: 1rem;
    height: 1rem;
  }
}
.public-access-icon-bus {
  background: color-mix(in srgb, #f97316 12%, transparent);
  color: #f97316;
}
.public-access-icon-metro {
  background: color-mix(in srgb, #0f2a4a 12%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    background: color-mix(in srgb, var(--color-primary) 12%, transparent);
  }
  color: var(--color-primary);
}
.public-access-icon-rer {
  background: color-mix(in srgb, #16a34a 12%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    background: color-mix(in srgb, var(--color-success) 12%, transparent);
  }
  color: var(--color-success);
}
.public-access-icon-car {
  background: color-mix(in srgb, #3d5a78 12%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    background: color-mix(in srgb, var(--color-text-secondary) 12%, transparent);
  }
  color: var(--color-text-secondary);
}
.public-access-mode {
  font-size: 0.8rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--color-text);
  margin: 0 0 0.25rem 0;
}
.public-access-detail {
  font-size: 0.8125rem;
  color: var(--color-text-secondary);
  line-height: 1.5;
  margin: 0;
  strong {
    color: var(--color-text);
    font-weight: 600;
  }
  em {
    font-style: normal;
    color: var(--color-text);
  }
}
.public-map-section {
  margin: 2rem 0 3rem;
}
.public-map-title {
  font-size: 1.25rem;
  font-weight: 600;
  color: var(--color-text);
  margin: 0 0 1.25rem 0;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.public-map-wrapper {
  border-radius: 0.75rem;
  overflow: hidden;
  border: 1px solid var(--color-border);
  box-shadow: 0 4px 20px color-mix(in srgb, #0f2a4a 8%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    box-shadow: 0 4px 20px color-mix(in srgb, var(--color-text) 8%, transparent);
  }
}
:root.dark .public-map-wrapper {
  border-color: color-mix(in srgb, #cfd8e3 60%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    border-color: color-mix(in srgb, var(--color-border) 60%, transparent);
  }
  box-shadow: 0 8px 32px color-mix(in srgb, #0f2a4a 10%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    box-shadow: 0 8px 32px color-mix(in srgb, var(--color-primary) 10%, transparent);
  }
}
@media (max-width: 1024px) {
  .public-hero {
    grid-template-columns: 1fr;
    gap: 2rem;
    text-align: center;
  }
  .public-hero-desc {
    margin-inline: auto;
  }
  .public-hero-actions {
    justify-content: center;
  }
  .public-hero-visual {
    justify-content: center;
  }
  .public-contact-layout {
    grid-template-columns: 1fr;
  }
  .public-contact-right {
    position: static;
    display: grid;
    grid-template-columns: 1fr 1fr;
  }
}
@media (max-width: 768px) {
  .public-hero {
    padding: 2rem 0 3rem;
  }
  .public-hero-title {
    font-size: 2.25rem;
  }
  .public-section-title {
    font-size: 1.625rem;
  }
  .public-section-alt {
    padding: 2.5rem 1.5rem;
    border-radius: 1rem;
  }
  .public-page-header {
    padding: 2rem 0 2rem;
  }
  .public-cta {
    padding: 3rem 1.5rem;
  }
}
@media (max-width: 640px) {
  .public-hero {
    padding: 1.5rem 0 2rem;
  }
  .public-hero-title {
    font-size: 1.875rem;
  }
  .public-hero-stat-grid {
    grid-template-columns: 1fr 1fr;
    max-width: 100%;
  }
  .public-section-title {
    font-size: 1.375rem;
  }
  .public-section-subtitle {
    font-size: 0.9375rem;
  }
  .public-cards-grid {
    grid-template-columns: 1fr;
  }
  .public-values-grid {
    grid-template-columns: 1fr;
  }
  .public-form-row {
    grid-template-columns: 1fr;
  }
  .public-section-alt {
    padding: 2rem 1.25rem;
  }
  .public-cta {
    padding: 2.5rem 1.25rem;
  }
  .public-cta-title {
    font-size: 1.5rem;
  }
  .public-contact-right {
    grid-template-columns: 1fr;
  }
  .public-page-header {
    padding: 1.5rem 0 1.5rem;
  }
  .public-page-title {
    font-size: 1.75rem;
  }
}
@media (max-width: 480px) {
  .public-hero-title {
    font-size: 1.625rem;
  }
  .public-hero-stat {
    padding: 1rem;
  }
  .public-hero-stat-number {
    font-size: 1.625rem;
  }
  .public-hero {
    padding: 1.25rem 0 1.75rem;
  }
  .public-section-title {
    font-size: 1.25rem;
  }
  .public-cta-title {
    font-size: 1.25rem;
  }
  .public-cta {
    border-radius: 1rem;
  }
  .public-section-alt {
    padding: 1.5rem 1rem;
    border-radius: 0.75rem;
  }
}
:root.dark {
  --color-primary: #5b9bd5;
  --color-primary-dark: #4884b8;
  --color-background: #0a1826;
  --color-background-panel: #132538;
  --color-text: #eaf1f8;
  --color-text-secondary: #9db8cd;
  --color-text-muted: #6a8aa3;
  --color-border: #23425c;
  --color-border-light: #1a3247;
  --color-accent: #e0a63c;
  --color-accent-dark: #c58c26;
  --color-text-muted-accessible: #9db8cd;
  --color-justify: #a78bfa;
  --color-justify-dark: #c4b5fd;
}
@property --tw-rotate-x {
  syntax: "*";
  inherits: false;
}
@property --tw-rotate-y {
  syntax: "*";
  inherits: false;
}
@property --tw-rotate-z {
  syntax: "*";
  inherits: false;
}
@property --tw-skew-x {
  syntax: "*";
  inherits: false;
}
@property --tw-skew-y {
  syntax: "*";
  inherits: false;
}
@property --tw-border-style {
  syntax: "*";
  inherits: false;
  initial-value: solid;
}
@property --tw-blur {
  syntax: "*";
  inherits: false;
}
@property --tw-brightness {
  syntax: "*";
  inherits: false;
}
@property --tw-contrast {
  syntax: "*";
  inherits: false;
}
@property --tw-grayscale {
  syntax: "*";
  inherits: false;
}
@property --tw-hue-rotate {
  syntax: "*";
  inherits: false;
}
@property --tw-invert {
  syntax: "*";
  inherits: false;
}
@property --tw-opacity {
  syntax: "*";
  inherits: false;
}
@property --tw-saturate {
  syntax: "*";
  inherits: false;
}
@property --tw-sepia {
  syntax: "*";
  inherits: false;
}
@property --tw-drop-shadow {
  syntax: "*";
  inherits: false;
}
@property --tw-drop-shadow-color {
  syntax: "*";
  inherits: false;
}
@property --tw-drop-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}
@property --tw-drop-shadow-size {
  syntax: "*";
  inherits: false;
}
@layer properties {
  @supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))) {
    *, ::before, ::after, ::backdrop {
      --tw-rotate-x: initial;
      --tw-rotate-y: initial;
      --tw-rotate-z: initial;
      --tw-skew-x: initial;
      --tw-skew-y: initial;
      --tw-border-style: solid;
      --tw-blur: initial;
      --tw-brightness: initial;
      --tw-contrast: initial;
      --tw-grayscale: initial;
      --tw-hue-rotate: initial;
      --tw-invert: initial;
      --tw-opacity: initial;
      --tw-saturate: initial;
      --tw-sepia: initial;
      --tw-drop-shadow: initial;
      --tw-drop-shadow-color: initial;
      --tw-drop-shadow-alpha: 100%;
      --tw-drop-shadow-size: initial;
    }
  }
}


/*# sourceMappingURL=data:application/json;charset=utf-8;base64,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RUFBQSxXQUFtQjtFQUFuQixlQUFtQjtBQUFBO0FBQW5CO0VBQUE7SUFBQTtNQUFBLHNCQUFtQjtNQUFuQixzQkFBbUI7TUFBbkIsc0JBQW1CO01BQW5CLG9CQUFtQjtNQUFuQixvQkFBbUI7TUFBbkIsd0JBQW1CO01BQW5CLGtCQUFtQjtNQUFuQix3QkFBbUI7TUFBbkIsc0JBQW1CO01BQW5CLHVCQUFtQjtNQUFuQix3QkFBbUI7TUFBbkIsb0JBQW1CO01BQW5CLHFCQUFtQjtNQUFuQixzQkFBbUI7TUFBbkIsbUJBQW1CO01BQW5CLHlCQUFtQjtNQUFuQiwrQkFBbUI7TUFBbkIsNEJBQW1CO01BQW5CLDhCQUFtQjtJQUFBO0VBQUE7QUFBQSIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AZm9udHNvdXJjZS12YXJpYWJsZS9hdGtpbnNvbi1oeXBlcmxlZ2libGUtbmV4dC9pbmRleC5jc3MiLCJ3ZWJwYWNrOi8vLzxubyBzb3VyY2U+Iiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy90YWlsd2luZGNzcy9pbmRleC5jc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL3N0eWxlcy9hcHAuY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9zdHlsZXMvY29tcG9uZW50cy9idXR0b25zLmNzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvc3R5bGVzL2NvbXBvbmVudHMvaW5wdXRzLmNzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvc3R5bGVzL2NvbXBvbmVudHMvdG9hc3RzLmNzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvc3R5bGVzL2xheW91dHMvYm9keS5jc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL3N0eWxlcy9sYXlvdXRzL2hlYWRlci5jc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL3N0eWxlcy9sYXlvdXRzL2Zvb3Rlci5jc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL3N0eWxlcy9jb21wb25lbnRzL3RhYmxlcy5jc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL3N0eWxlcy9jb21wb25lbnRzL21vZGFscy5jc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL3N0eWxlcy9jb21wb25lbnRzL29wZXJhdGlvbnMuY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9zdHlsZXMvY29tcG9uZW50cy9hdXRvLXF1YWxpZmljYXRpb24uY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9zdHlsZXMvY29tcG9uZW50cy9jb21wdGUuY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9zdHlsZXMvY29tcG9uZW50cy9wcm9maWwuY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9zdHlsZXMvY29tcG9uZW50cy91dGlsaXNhdGV1cnMuY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9zdHlsZXMvY29tcG9uZW50cy9kb3NzaWVyLmNzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvc3R5bGVzL2NvbXBvbmVudHMvcmVnaXN0cmUuY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9zdHlsZXMvY29tcG9uZW50cy9hZG1pbi5jc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL3N0eWxlcy9jb21wb25lbnRzL3N0YXRzLmNzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvc3R5bGVzL2NvbXBvbmVudHMvYWxlcnRzLmNzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvc3R5bGVzL2NvbXBvbmVudHMvbGlzdHMuY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9zdHlsZXMvY29tcG9uZW50cy9wdWJsaWMuY3NzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qIGF0a2luc29uLWh5cGVybGVnaWJsZS1uZXh0LWxhdGluLWV4dC13Z2h0LW5vcm1hbCAqL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnQXRraW5zb24gSHlwZXJsZWdpYmxlIE5leHQgVmFyaWFibGUnO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgZm9udC13ZWlnaHQ6IDIwMCA4MDA7XG4gIHNyYzogdXJsKC4vZmlsZXMvYXRraW5zb24taHlwZXJsZWdpYmxlLW5leHQtbGF0aW4tZXh0LXdnaHQtbm9ybWFsLndvZmYyKSBmb3JtYXQoJ3dvZmYyLXZhcmlhdGlvbnMnKTtcbiAgdW5pY29kZS1yYW5nZTogVSswMTAwLTAyQkEsVSswMkJELTAyQzUsVSswMkM3LTAyQ0MsVSswMkNFLTAyRDcsVSswMkRELTAyRkYsVSswMzA0LFUrMDMwOCxVKzAzMjksVSsxRDAwLTFEQkYsVSsxRTAwLTFFOUYsVSsxRUYyLTFFRkYsVSsyMDIwLFUrMjBBMC0yMEFCLFUrMjBBRC0yMEMwLFUrMjExMyxVKzJDNjAtMkM3RixVK0E3MjAtQTdGRjtcbn1cblxuLyogYXRraW5zb24taHlwZXJsZWdpYmxlLW5leHQtbGF0aW4td2dodC1ub3JtYWwgKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ0F0a2luc29uIEh5cGVybGVnaWJsZSBOZXh0IFZhcmlhYmxlJztcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LWRpc3BsYXk6IHN3YXA7XG4gIGZvbnQtd2VpZ2h0OiAyMDAgODAwO1xuICBzcmM6IHVybCguL2ZpbGVzL2F0a2luc29uLWh5cGVybGVnaWJsZS1uZXh0LWxhdGluLXdnaHQtbm9ybWFsLndvZmYyKSBmb3JtYXQoJ3dvZmYyLXZhcmlhdGlvbnMnKTtcbiAgdW5pY29kZS1yYW5nZTogVSswMDAwLTAwRkYsVSswMTMxLFUrMDE1Mi0wMTUzLFUrMDJCQi0wMkJDLFUrMDJDNixVKzAyREEsVSswMkRDLFUrMDMwNCxVKzAzMDgsVSswMzI5LFUrMjAwMC0yMDZGLFUrMjBBQyxVKzIxMjIsVSsyMTkxLFUrMjE5MyxVKzIyMTIsVSsyMjE1LFUrRkVGRixVK0ZGRkQ7XG59IixudWxsLCJAbGF5ZXIgdGhlbWUsIGJhc2UsIGNvbXBvbmVudHMsIHV0aWxpdGllcztcblxuQGxheWVyIHRoZW1lIHtcbiAgQHRoZW1lIGRlZmF1bHQge1xuICAgIC0tZm9udC1zYW5zOlxuICAgICAgdWktc2Fucy1zZXJpZiwgc3lzdGVtLXVpLCBzYW5zLXNlcmlmLCBcIkFwcGxlIENvbG9yIEVtb2ppXCIsXG4gICAgICBcIlNlZ29lIFVJIEVtb2ppXCIsIFwiU2Vnb2UgVUkgU3ltYm9sXCIsIFwiTm90byBDb2xvciBFbW9qaVwiO1xuICAgIC0tZm9udC1zZXJpZjogdWktc2VyaWYsIEdlb3JnaWEsIENhbWJyaWEsIFwiVGltZXMgTmV3IFJvbWFuXCIsIFRpbWVzLCBzZXJpZjtcbiAgICAtLWZvbnQtbW9ubzpcbiAgICAgIHVpLW1vbm9zcGFjZSwgU0ZNb25vLVJlZ3VsYXIsIE1lbmxvLCBNb25hY28sIENvbnNvbGFzLCBcIkxpYmVyYXRpb24gTW9ub1wiLFxuICAgICAgXCJDb3VyaWVyIE5ld1wiLCBtb25vc3BhY2U7XG5cbiAgICAtLWNvbG9yLXJlZC01MDogb2tsY2goOTcuMSUgMC4wMTMgMTcuMzgpO1xuICAgIC0tY29sb3ItcmVkLTEwMDogb2tsY2goOTMuNiUgMC4wMzIgMTcuNzE3KTtcbiAgICAtLWNvbG9yLXJlZC0yMDA6IG9rbGNoKDg4LjUlIDAuMDYyIDE4LjMzNCk7XG4gICAgLS1jb2xvci1yZWQtMzAwOiBva2xjaCg4MC44JSAwLjExNCAxOS41NzEpO1xuICAgIC0tY29sb3ItcmVkLTQwMDogb2tsY2goNzAuNCUgMC4xOTEgMjIuMjE2KTtcbiAgICAtLWNvbG9yLXJlZC01MDA6IG9rbGNoKDYzLjclIDAuMjM3IDI1LjMzMSk7XG4gICAgLS1jb2xvci1yZWQtNjAwOiBva2xjaCg1Ny43JSAwLjI0NSAyNy4zMjUpO1xuICAgIC0tY29sb3ItcmVkLTcwMDogb2tsY2goNTAuNSUgMC4yMTMgMjcuNTE4KTtcbiAgICAtLWNvbG9yLXJlZC04MDA6IG9rbGNoKDQ0LjQlIDAuMTc3IDI2Ljg5OSk7XG4gICAgLS1jb2xvci1yZWQtOTAwOiBva2xjaCgzOS42JSAwLjE0MSAyNS43MjMpO1xuICAgIC0tY29sb3ItcmVkLTk1MDogb2tsY2goMjUuOCUgMC4wOTIgMjYuMDQyKTtcblxuICAgIC0tY29sb3Itb3JhbmdlLTUwOiBva2xjaCg5OCUgMC4wMTYgNzMuNjg0KTtcbiAgICAtLWNvbG9yLW9yYW5nZS0xMDA6IG9rbGNoKDk1LjQlIDAuMDM4IDc1LjE2NCk7XG4gICAgLS1jb2xvci1vcmFuZ2UtMjAwOiBva2xjaCg5MC4xJSAwLjA3NiA3MC42OTcpO1xuICAgIC0tY29sb3Itb3JhbmdlLTMwMDogb2tsY2goODMuNyUgMC4xMjggNjYuMjkpO1xuICAgIC0tY29sb3Itb3JhbmdlLTQwMDogb2tsY2goNzUlIDAuMTgzIDU1LjkzNCk7XG4gICAgLS1jb2xvci1vcmFuZ2UtNTAwOiBva2xjaCg3MC41JSAwLjIxMyA0Ny42MDQpO1xuICAgIC0tY29sb3Itb3JhbmdlLTYwMDogb2tsY2goNjQuNiUgMC4yMjIgNDEuMTE2KTtcbiAgICAtLWNvbG9yLW9yYW5nZS03MDA6IG9rbGNoKDU1LjMlIDAuMTk1IDM4LjQwMik7XG4gICAgLS1jb2xvci1vcmFuZ2UtODAwOiBva2xjaCg0NyUgMC4xNTcgMzcuMzA0KTtcbiAgICAtLWNvbG9yLW9yYW5nZS05MDA6IG9rbGNoKDQwLjglIDAuMTIzIDM4LjE3Mik7XG4gICAgLS1jb2xvci1vcmFuZ2UtOTUwOiBva2xjaCgyNi42JSAwLjA3OSAzNi4yNTkpO1xuXG4gICAgLS1jb2xvci1hbWJlci01MDogb2tsY2goOTguNyUgMC4wMjIgOTUuMjc3KTtcbiAgICAtLWNvbG9yLWFtYmVyLTEwMDogb2tsY2goOTYuMiUgMC4wNTkgOTUuNjE3KTtcbiAgICAtLWNvbG9yLWFtYmVyLTIwMDogb2tsY2goOTIuNCUgMC4xMiA5NS43NDYpO1xuICAgIC0tY29sb3ItYW1iZXItMzAwOiBva2xjaCg4Ny45JSAwLjE2OSA5MS42MDUpO1xuICAgIC0tY29sb3ItYW1iZXItNDAwOiBva2xjaCg4Mi44JSAwLjE4OSA4NC40MjkpO1xuICAgIC0tY29sb3ItYW1iZXItNTAwOiBva2xjaCg3Ni45JSAwLjE4OCA3MC4wOCk7XG4gICAgLS1jb2xvci1hbWJlci02MDA6IG9rbGNoKDY2LjYlIDAuMTc5IDU4LjMxOCk7XG4gICAgLS1jb2xvci1hbWJlci03MDA6IG9rbGNoKDU1LjUlIDAuMTYzIDQ4Ljk5OCk7XG4gICAgLS1jb2xvci1hbWJlci04MDA6IG9rbGNoKDQ3LjMlIDAuMTM3IDQ2LjIwMSk7XG4gICAgLS1jb2xvci1hbWJlci05MDA6IG9rbGNoKDQxLjQlIDAuMTEyIDQ1LjkwNCk7XG4gICAgLS1jb2xvci1hbWJlci05NTA6IG9rbGNoKDI3LjklIDAuMDc3IDQ1LjYzNSk7XG5cbiAgICAtLWNvbG9yLXllbGxvdy01MDogb2tsY2goOTguNyUgMC4wMjYgMTAyLjIxMik7XG4gICAgLS1jb2xvci15ZWxsb3ctMTAwOiBva2xjaCg5Ny4zJSAwLjA3MSAxMDMuMTkzKTtcbiAgICAtLWNvbG9yLXllbGxvdy0yMDA6IG9rbGNoKDk0LjUlIDAuMTI5IDEwMS41NCk7XG4gICAgLS1jb2xvci15ZWxsb3ctMzAwOiBva2xjaCg5MC41JSAwLjE4MiA5OC4xMTEpO1xuICAgIC0tY29sb3IteWVsbG93LTQwMDogb2tsY2goODUuMiUgMC4xOTkgOTEuOTM2KTtcbiAgICAtLWNvbG9yLXllbGxvdy01MDA6IG9rbGNoKDc5LjUlIDAuMTg0IDg2LjA0Nyk7XG4gICAgLS1jb2xvci15ZWxsb3ctNjAwOiBva2xjaCg2OC4xJSAwLjE2MiA3NS44MzQpO1xuICAgIC0tY29sb3IteWVsbG93LTcwMDogb2tsY2goNTUuNCUgMC4xMzUgNjYuNDQyKTtcbiAgICAtLWNvbG9yLXllbGxvdy04MDA6IG9rbGNoKDQ3LjYlIDAuMTE0IDYxLjkwNyk7XG4gICAgLS1jb2xvci15ZWxsb3ctOTAwOiBva2xjaCg0Mi4xJSAwLjA5NSA1Ny43MDgpO1xuICAgIC0tY29sb3IteWVsbG93LTk1MDogb2tsY2goMjguNiUgMC4wNjYgNTMuODEzKTtcblxuICAgIC0tY29sb3ItbGltZS01MDogb2tsY2goOTguNiUgMC4wMzEgMTIwLjc1Nyk7XG4gICAgLS1jb2xvci1saW1lLTEwMDogb2tsY2goOTYuNyUgMC4wNjcgMTIyLjMyOCk7XG4gICAgLS1jb2xvci1saW1lLTIwMDogb2tsY2goOTMuOCUgMC4xMjcgMTI0LjMyMSk7XG4gICAgLS1jb2xvci1saW1lLTMwMDogb2tsY2goODkuNyUgMC4xOTYgMTI2LjY2NSk7XG4gICAgLS1jb2xvci1saW1lLTQwMDogb2tsY2goODQuMSUgMC4yMzggMTI4Ljg1KTtcbiAgICAtLWNvbG9yLWxpbWUtNTAwOiBva2xjaCg3Ni44JSAwLjIzMyAxMzAuODUpO1xuICAgIC0tY29sb3ItbGltZS02MDA6IG9rbGNoKDY0LjglIDAuMiAxMzEuNjg0KTtcbiAgICAtLWNvbG9yLWxpbWUtNzAwOiBva2xjaCg1My4yJSAwLjE1NyAxMzEuNTg5KTtcbiAgICAtLWNvbG9yLWxpbWUtODAwOiBva2xjaCg0NS4zJSAwLjEyNCAxMzAuOTMzKTtcbiAgICAtLWNvbG9yLWxpbWUtOTAwOiBva2xjaCg0MC41JSAwLjEwMSAxMzEuMDYzKTtcbiAgICAtLWNvbG9yLWxpbWUtOTUwOiBva2xjaCgyNy40JSAwLjA3MiAxMzIuMTA5KTtcblxuICAgIC0tY29sb3ItZ3JlZW4tNTA6IG9rbGNoKDk4LjIlIDAuMDE4IDE1NS44MjYpO1xuICAgIC0tY29sb3ItZ3JlZW4tMTAwOiBva2xjaCg5Ni4yJSAwLjA0NCAxNTYuNzQzKTtcbiAgICAtLWNvbG9yLWdyZWVuLTIwMDogb2tsY2goOTIuNSUgMC4wODQgMTU1Ljk5NSk7XG4gICAgLS1jb2xvci1ncmVlbi0zMDA6IG9rbGNoKDg3LjElIDAuMTUgMTU0LjQ0OSk7XG4gICAgLS1jb2xvci1ncmVlbi00MDA6IG9rbGNoKDc5LjIlIDAuMjA5IDE1MS43MTEpO1xuICAgIC0tY29sb3ItZ3JlZW4tNTAwOiBva2xjaCg3Mi4zJSAwLjIxOSAxNDkuNTc5KTtcbiAgICAtLWNvbG9yLWdyZWVuLTYwMDogb2tsY2goNjIuNyUgMC4xOTQgMTQ5LjIxNCk7XG4gICAgLS1jb2xvci1ncmVlbi03MDA6IG9rbGNoKDUyLjclIDAuMTU0IDE1MC4wNjkpO1xuICAgIC0tY29sb3ItZ3JlZW4tODAwOiBva2xjaCg0NC44JSAwLjExOSAxNTEuMzI4KTtcbiAgICAtLWNvbG9yLWdyZWVuLTkwMDogb2tsY2goMzkuMyUgMC4wOTUgMTUyLjUzNSk7XG4gICAgLS1jb2xvci1ncmVlbi05NTA6IG9rbGNoKDI2LjYlIDAuMDY1IDE1Mi45MzQpO1xuXG4gICAgLS1jb2xvci1lbWVyYWxkLTUwOiBva2xjaCg5Ny45JSAwLjAyMSAxNjYuMTEzKTtcbiAgICAtLWNvbG9yLWVtZXJhbGQtMTAwOiBva2xjaCg5NSUgMC4wNTIgMTYzLjA1MSk7XG4gICAgLS1jb2xvci1lbWVyYWxkLTIwMDogb2tsY2goOTAuNSUgMC4wOTMgMTY0LjE1KTtcbiAgICAtLWNvbG9yLWVtZXJhbGQtMzAwOiBva2xjaCg4NC41JSAwLjE0MyAxNjQuOTc4KTtcbiAgICAtLWNvbG9yLWVtZXJhbGQtNDAwOiBva2xjaCg3Ni41JSAwLjE3NyAxNjMuMjIzKTtcbiAgICAtLWNvbG9yLWVtZXJhbGQtNTAwOiBva2xjaCg2OS42JSAwLjE3IDE2Mi40OCk7XG4gICAgLS1jb2xvci1lbWVyYWxkLTYwMDogb2tsY2goNTkuNiUgMC4xNDUgMTYzLjIyNSk7XG4gICAgLS1jb2xvci1lbWVyYWxkLTcwMDogb2tsY2goNTAuOCUgMC4xMTggMTY1LjYxMik7XG4gICAgLS1jb2xvci1lbWVyYWxkLTgwMDogb2tsY2goNDMuMiUgMC4wOTUgMTY2LjkxMyk7XG4gICAgLS1jb2xvci1lbWVyYWxkLTkwMDogb2tsY2goMzcuOCUgMC4wNzcgMTY4Ljk0KTtcbiAgICAtLWNvbG9yLWVtZXJhbGQtOTUwOiBva2xjaCgyNi4yJSAwLjA1MSAxNzIuNTUyKTtcblxuICAgIC0tY29sb3ItdGVhbC01MDogb2tsY2goOTguNCUgMC4wMTQgMTgwLjcyKTtcbiAgICAtLWNvbG9yLXRlYWwtMTAwOiBva2xjaCg5NS4zJSAwLjA1MSAxODAuODAxKTtcbiAgICAtLWNvbG9yLXRlYWwtMjAwOiBva2xjaCg5MSUgMC4wOTYgMTgwLjQyNik7XG4gICAgLS1jb2xvci10ZWFsLTMwMDogb2tsY2goODUuNSUgMC4xMzggMTgxLjA3MSk7XG4gICAgLS1jb2xvci10ZWFsLTQwMDogb2tsY2goNzcuNyUgMC4xNTIgMTgxLjkxMik7XG4gICAgLS1jb2xvci10ZWFsLTUwMDogb2tsY2goNzAuNCUgMC4xNCAxODIuNTAzKTtcbiAgICAtLWNvbG9yLXRlYWwtNjAwOiBva2xjaCg2MCUgMC4xMTggMTg0LjcwNCk7XG4gICAgLS1jb2xvci10ZWFsLTcwMDogb2tsY2goNTEuMSUgMC4wOTYgMTg2LjM5MSk7XG4gICAgLS1jb2xvci10ZWFsLTgwMDogb2tsY2goNDMuNyUgMC4wNzggMTg4LjIxNik7XG4gICAgLS1jb2xvci10ZWFsLTkwMDogb2tsY2goMzguNiUgMC4wNjMgMTg4LjQxNik7XG4gICAgLS1jb2xvci10ZWFsLTk1MDogb2tsY2goMjcuNyUgMC4wNDYgMTkyLjUyNCk7XG5cbiAgICAtLWNvbG9yLWN5YW4tNTA6IG9rbGNoKDk4LjQlIDAuMDE5IDIwMC44NzMpO1xuICAgIC0tY29sb3ItY3lhbi0xMDA6IG9rbGNoKDk1LjYlIDAuMDQ1IDIwMy4zODgpO1xuICAgIC0tY29sb3ItY3lhbi0yMDA6IG9rbGNoKDkxLjclIDAuMDggMjA1LjA0MSk7XG4gICAgLS1jb2xvci1jeWFuLTMwMDogb2tsY2goODYuNSUgMC4xMjcgMjA3LjA3OCk7XG4gICAgLS1jb2xvci1jeWFuLTQwMDogb2tsY2goNzguOSUgMC4xNTQgMjExLjUzKTtcbiAgICAtLWNvbG9yLWN5YW4tNTAwOiBva2xjaCg3MS41JSAwLjE0MyAyMTUuMjIxKTtcbiAgICAtLWNvbG9yLWN5YW4tNjAwOiBva2xjaCg2MC45JSAwLjEyNiAyMjEuNzIzKTtcbiAgICAtLWNvbG9yLWN5YW4tNzAwOiBva2xjaCg1MiUgMC4xMDUgMjIzLjEyOCk7XG4gICAgLS1jb2xvci1jeWFuLTgwMDogb2tsY2goNDUlIDAuMDg1IDIyNC4yODMpO1xuICAgIC0tY29sb3ItY3lhbi05MDA6IG9rbGNoKDM5LjglIDAuMDcgMjI3LjM5Mik7XG4gICAgLS1jb2xvci1jeWFuLTk1MDogb2tsY2goMzAuMiUgMC4wNTYgMjI5LjY5NSk7XG5cbiAgICAtLWNvbG9yLXNreS01MDogb2tsY2goOTcuNyUgMC4wMTMgMjM2LjYyKTtcbiAgICAtLWNvbG9yLXNreS0xMDA6IG9rbGNoKDk1LjElIDAuMDI2IDIzNi44MjQpO1xuICAgIC0tY29sb3Itc2t5LTIwMDogb2tsY2goOTAuMSUgMC4wNTggMjMwLjkwMik7XG4gICAgLS1jb2xvci1za3ktMzAwOiBva2xjaCg4Mi44JSAwLjExMSAyMzAuMzE4KTtcbiAgICAtLWNvbG9yLXNreS00MDA6IG9rbGNoKDc0LjYlIDAuMTYgMjMyLjY2MSk7XG4gICAgLS1jb2xvci1za3ktNTAwOiBva2xjaCg2OC41JSAwLjE2OSAyMzcuMzIzKTtcbiAgICAtLWNvbG9yLXNreS02MDA6IG9rbGNoKDU4LjglIDAuMTU4IDI0MS45NjYpO1xuICAgIC0tY29sb3Itc2t5LTcwMDogb2tsY2goNTAlIDAuMTM0IDI0Mi43NDkpO1xuICAgIC0tY29sb3Itc2t5LTgwMDogb2tsY2goNDQuMyUgMC4xMSAyNDAuNzkpO1xuICAgIC0tY29sb3Itc2t5LTkwMDogb2tsY2goMzkuMSUgMC4wOSAyNDAuODc2KTtcbiAgICAtLWNvbG9yLXNreS05NTA6IG9rbGNoKDI5LjMlIDAuMDY2IDI0My4xNTcpO1xuXG4gICAgLS1jb2xvci1ibHVlLTUwOiBva2xjaCg5NyUgMC4wMTQgMjU0LjYwNCk7XG4gICAgLS1jb2xvci1ibHVlLTEwMDogb2tsY2goOTMuMiUgMC4wMzIgMjU1LjU4NSk7XG4gICAgLS1jb2xvci1ibHVlLTIwMDogb2tsY2goODguMiUgMC4wNTkgMjU0LjEyOCk7XG4gICAgLS1jb2xvci1ibHVlLTMwMDogb2tsY2goODAuOSUgMC4xMDUgMjUxLjgxMyk7XG4gICAgLS1jb2xvci1ibHVlLTQwMDogb2tsY2goNzAuNyUgMC4xNjUgMjU0LjYyNCk7XG4gICAgLS1jb2xvci1ibHVlLTUwMDogb2tsY2goNjIuMyUgMC4yMTQgMjU5LjgxNSk7XG4gICAgLS1jb2xvci1ibHVlLTYwMDogb2tsY2goNTQuNiUgMC4yNDUgMjYyLjg4MSk7XG4gICAgLS1jb2xvci1ibHVlLTcwMDogb2tsY2goNDguOCUgMC4yNDMgMjY0LjM3Nik7XG4gICAgLS1jb2xvci1ibHVlLTgwMDogb2tsY2goNDIuNCUgMC4xOTkgMjY1LjYzOCk7XG4gICAgLS1jb2xvci1ibHVlLTkwMDogb2tsY2goMzcuOSUgMC4xNDYgMjY1LjUyMik7XG4gICAgLS1jb2xvci1ibHVlLTk1MDogb2tsY2goMjguMiUgMC4wOTEgMjY3LjkzNSk7XG5cbiAgICAtLWNvbG9yLWluZGlnby01MDogb2tsY2goOTYuMiUgMC4wMTggMjcyLjMxNCk7XG4gICAgLS1jb2xvci1pbmRpZ28tMTAwOiBva2xjaCg5MyUgMC4wMzQgMjcyLjc4OCk7XG4gICAgLS1jb2xvci1pbmRpZ28tMjAwOiBva2xjaCg4NyUgMC4wNjUgMjc0LjAzOSk7XG4gICAgLS1jb2xvci1pbmRpZ28tMzAwOiBva2xjaCg3OC41JSAwLjExNSAyNzQuNzEzKTtcbiAgICAtLWNvbG9yLWluZGlnby00MDA6IG9rbGNoKDY3LjMlIDAuMTgyIDI3Ni45MzUpO1xuICAgIC0tY29sb3ItaW5kaWdvLTUwMDogb2tsY2goNTguNSUgMC4yMzMgMjc3LjExNyk7XG4gICAgLS1jb2xvci1pbmRpZ28tNjAwOiBva2xjaCg1MS4xJSAwLjI2MiAyNzYuOTY2KTtcbiAgICAtLWNvbG9yLWluZGlnby03MDA6IG9rbGNoKDQ1LjclIDAuMjQgMjc3LjAyMyk7XG4gICAgLS1jb2xvci1pbmRpZ28tODAwOiBva2xjaCgzOS44JSAwLjE5NSAyNzcuMzY2KTtcbiAgICAtLWNvbG9yLWluZGlnby05MDA6IG9rbGNoKDM1LjklIDAuMTQ0IDI3OC42OTcpO1xuICAgIC0tY29sb3ItaW5kaWdvLTk1MDogb2tsY2goMjUuNyUgMC4wOSAyODEuMjg4KTtcblxuICAgIC0tY29sb3ItdmlvbGV0LTUwOiBva2xjaCg5Ni45JSAwLjAxNiAyOTMuNzU2KTtcbiAgICAtLWNvbG9yLXZpb2xldC0xMDA6IG9rbGNoKDk0LjMlIDAuMDI5IDI5NC41ODgpO1xuICAgIC0tY29sb3ItdmlvbGV0LTIwMDogb2tsY2goODkuNCUgMC4wNTcgMjkzLjI4Myk7XG4gICAgLS1jb2xvci12aW9sZXQtMzAwOiBva2xjaCg4MS4xJSAwLjExMSAyOTMuNTcxKTtcbiAgICAtLWNvbG9yLXZpb2xldC00MDA6IG9rbGNoKDcwLjIlIDAuMTgzIDI5My41NDEpO1xuICAgIC0tY29sb3ItdmlvbGV0LTUwMDogb2tsY2goNjAuNiUgMC4yNSAyOTIuNzE3KTtcbiAgICAtLWNvbG9yLXZpb2xldC02MDA6IG9rbGNoKDU0LjElIDAuMjgxIDI5My4wMDkpO1xuICAgIC0tY29sb3ItdmlvbGV0LTcwMDogb2tsY2goNDkuMSUgMC4yNyAyOTIuNTgxKTtcbiAgICAtLWNvbG9yLXZpb2xldC04MDA6IG9rbGNoKDQzLjIlIDAuMjMyIDI5Mi43NTkpO1xuICAgIC0tY29sb3ItdmlvbGV0LTkwMDogb2tsY2goMzglIDAuMTg5IDI5My43NDUpO1xuICAgIC0tY29sb3ItdmlvbGV0LTk1MDogb2tsY2goMjguMyUgMC4xNDEgMjkxLjA4OSk7XG5cbiAgICAtLWNvbG9yLXB1cnBsZS01MDogb2tsY2goOTcuNyUgMC4wMTQgMzA4LjI5OSk7XG4gICAgLS1jb2xvci1wdXJwbGUtMTAwOiBva2xjaCg5NC42JSAwLjAzMyAzMDcuMTc0KTtcbiAgICAtLWNvbG9yLXB1cnBsZS0yMDA6IG9rbGNoKDkwLjIlIDAuMDYzIDMwNi43MDMpO1xuICAgIC0tY29sb3ItcHVycGxlLTMwMDogb2tsY2goODIuNyUgMC4xMTkgMzA2LjM4Myk7XG4gICAgLS1jb2xvci1wdXJwbGUtNDAwOiBva2xjaCg3MS40JSAwLjIwMyAzMDUuNTA0KTtcbiAgICAtLWNvbG9yLXB1cnBsZS01MDA6IG9rbGNoKDYyLjclIDAuMjY1IDMwMy45KTtcbiAgICAtLWNvbG9yLXB1cnBsZS02MDA6IG9rbGNoKDU1LjglIDAuMjg4IDMwMi4zMjEpO1xuICAgIC0tY29sb3ItcHVycGxlLTcwMDogb2tsY2goNDkuNiUgMC4yNjUgMzAxLjkyNCk7XG4gICAgLS1jb2xvci1wdXJwbGUtODAwOiBva2xjaCg0My44JSAwLjIxOCAzMDMuNzI0KTtcbiAgICAtLWNvbG9yLXB1cnBsZS05MDA6IG9rbGNoKDM4LjElIDAuMTc2IDMwNC45ODcpO1xuICAgIC0tY29sb3ItcHVycGxlLTk1MDogb2tsY2goMjkuMSUgMC4xNDkgMzAyLjcxNyk7XG5cbiAgICAtLWNvbG9yLWZ1Y2hzaWEtNTA6IG9rbGNoKDk3LjclIDAuMDE3IDMyMC4wNTgpO1xuICAgIC0tY29sb3ItZnVjaHNpYS0xMDA6IG9rbGNoKDk1LjIlIDAuMDM3IDMxOC44NTIpO1xuICAgIC0tY29sb3ItZnVjaHNpYS0yMDA6IG9rbGNoKDkwLjMlIDAuMDc2IDMxOS42Mik7XG4gICAgLS1jb2xvci1mdWNoc2lhLTMwMDogb2tsY2goODMuMyUgMC4xNDUgMzIxLjQzNCk7XG4gICAgLS1jb2xvci1mdWNoc2lhLTQwMDogb2tsY2goNzQlIDAuMjM4IDMyMi4xNik7XG4gICAgLS1jb2xvci1mdWNoc2lhLTUwMDogb2tsY2goNjYuNyUgMC4yOTUgMzIyLjE1KTtcbiAgICAtLWNvbG9yLWZ1Y2hzaWEtNjAwOiBva2xjaCg1OS4xJSAwLjI5MyAzMjIuODk2KTtcbiAgICAtLWNvbG9yLWZ1Y2hzaWEtNzAwOiBva2xjaCg1MS44JSAwLjI1MyAzMjMuOTQ5KTtcbiAgICAtLWNvbG9yLWZ1Y2hzaWEtODAwOiBva2xjaCg0NS4yJSAwLjIxMSAzMjQuNTkxKTtcbiAgICAtLWNvbG9yLWZ1Y2hzaWEtOTAwOiBva2xjaCg0MC4xJSAwLjE3IDMyNS42MTIpO1xuICAgIC0tY29sb3ItZnVjaHNpYS05NTA6IG9rbGNoKDI5LjMlIDAuMTM2IDMyNS42NjEpO1xuXG4gICAgLS1jb2xvci1waW5rLTUwOiBva2xjaCg5Ny4xJSAwLjAxNCAzNDMuMTk4KTtcbiAgICAtLWNvbG9yLXBpbmstMTAwOiBva2xjaCg5NC44JSAwLjAyOCAzNDIuMjU4KTtcbiAgICAtLWNvbG9yLXBpbmstMjAwOiBva2xjaCg4OS45JSAwLjA2MSAzNDMuMjMxKTtcbiAgICAtLWNvbG9yLXBpbmstMzAwOiBva2xjaCg4Mi4zJSAwLjEyIDM0Ni4wMTgpO1xuICAgIC0tY29sb3ItcGluay00MDA6IG9rbGNoKDcxLjglIDAuMjAyIDM0OS43NjEpO1xuICAgIC0tY29sb3ItcGluay01MDA6IG9rbGNoKDY1LjYlIDAuMjQxIDM1NC4zMDgpO1xuICAgIC0tY29sb3ItcGluay02MDA6IG9rbGNoKDU5LjIlIDAuMjQ5IDAuNTg0KTtcbiAgICAtLWNvbG9yLXBpbmstNzAwOiBva2xjaCg1Mi41JSAwLjIyMyAzLjk1OCk7XG4gICAgLS1jb2xvci1waW5rLTgwMDogb2tsY2goNDUuOSUgMC4xODcgMy44MTUpO1xuICAgIC0tY29sb3ItcGluay05MDA6IG9rbGNoKDQwLjglIDAuMTUzIDIuNDMyKTtcbiAgICAtLWNvbG9yLXBpbmstOTUwOiBva2xjaCgyOC40JSAwLjEwOSAzLjkwNyk7XG5cbiAgICAtLWNvbG9yLXJvc2UtNTA6IG9rbGNoKDk2LjklIDAuMDE1IDEyLjQyMik7XG4gICAgLS1jb2xvci1yb3NlLTEwMDogb2tsY2goOTQuMSUgMC4wMyAxMi41OCk7XG4gICAgLS1jb2xvci1yb3NlLTIwMDogb2tsY2goODkuMiUgMC4wNTggMTAuMDAxKTtcbiAgICAtLWNvbG9yLXJvc2UtMzAwOiBva2xjaCg4MSUgMC4xMTcgMTEuNjM4KTtcbiAgICAtLWNvbG9yLXJvc2UtNDAwOiBva2xjaCg3MS4yJSAwLjE5NCAxMy40MjgpO1xuICAgIC0tY29sb3Itcm9zZS01MDA6IG9rbGNoKDY0LjUlIDAuMjQ2IDE2LjQzOSk7XG4gICAgLS1jb2xvci1yb3NlLTYwMDogb2tsY2goNTguNiUgMC4yNTMgMTcuNTg1KTtcbiAgICAtLWNvbG9yLXJvc2UtNzAwOiBva2xjaCg1MS40JSAwLjIyMiAxNi45MzUpO1xuICAgIC0tY29sb3Itcm9zZS04MDA6IG9rbGNoKDQ1LjUlIDAuMTg4IDEzLjY5Nyk7XG4gICAgLS1jb2xvci1yb3NlLTkwMDogb2tsY2goNDElIDAuMTU5IDEwLjI3Mik7XG4gICAgLS1jb2xvci1yb3NlLTk1MDogb2tsY2goMjcuMSUgMC4xMDUgMTIuMDk0KTtcblxuICAgIC0tY29sb3Itc2xhdGUtNTA6IG9rbGNoKDk4LjQlIDAuMDAzIDI0Ny44NTgpO1xuICAgIC0tY29sb3Itc2xhdGUtMTAwOiBva2xjaCg5Ni44JSAwLjAwNyAyNDcuODk2KTtcbiAgICAtLWNvbG9yLXNsYXRlLTIwMDogb2tsY2goOTIuOSUgMC4wMTMgMjU1LjUwOCk7XG4gICAgLS1jb2xvci1zbGF0ZS0zMDA6IG9rbGNoKDg2LjklIDAuMDIyIDI1Mi44OTQpO1xuICAgIC0tY29sb3Itc2xhdGUtNDAwOiBva2xjaCg3MC40JSAwLjA0IDI1Ni43ODgpO1xuICAgIC0tY29sb3Itc2xhdGUtNTAwOiBva2xjaCg1NS40JSAwLjA0NiAyNTcuNDE3KTtcbiAgICAtLWNvbG9yLXNsYXRlLTYwMDogb2tsY2goNDQuNiUgMC4wNDMgMjU3LjI4MSk7XG4gICAgLS1jb2xvci1zbGF0ZS03MDA6IG9rbGNoKDM3LjIlIDAuMDQ0IDI1Ny4yODcpO1xuICAgIC0tY29sb3Itc2xhdGUtODAwOiBva2xjaCgyNy45JSAwLjA0MSAyNjAuMDMxKTtcbiAgICAtLWNvbG9yLXNsYXRlLTkwMDogb2tsY2goMjAuOCUgMC4wNDIgMjY1Ljc1NSk7XG4gICAgLS1jb2xvci1zbGF0ZS05NTA6IG9rbGNoKDEyLjklIDAuMDQyIDI2NC42OTUpO1xuXG4gICAgLS1jb2xvci1ncmF5LTUwOiBva2xjaCg5OC41JSAwLjAwMiAyNDcuODM5KTtcbiAgICAtLWNvbG9yLWdyYXktMTAwOiBva2xjaCg5Ni43JSAwLjAwMyAyNjQuNTQyKTtcbiAgICAtLWNvbG9yLWdyYXktMjAwOiBva2xjaCg5Mi44JSAwLjAwNiAyNjQuNTMxKTtcbiAgICAtLWNvbG9yLWdyYXktMzAwOiBva2xjaCg4Ny4yJSAwLjAxIDI1OC4zMzgpO1xuICAgIC0tY29sb3ItZ3JheS00MDA6IG9rbGNoKDcwLjclIDAuMDIyIDI2MS4zMjUpO1xuICAgIC0tY29sb3ItZ3JheS01MDA6IG9rbGNoKDU1LjElIDAuMDI3IDI2NC4zNjQpO1xuICAgIC0tY29sb3ItZ3JheS02MDA6IG9rbGNoKDQ0LjYlIDAuMDMgMjU2LjgwMik7XG4gICAgLS1jb2xvci1ncmF5LTcwMDogb2tsY2goMzcuMyUgMC4wMzQgMjU5LjczMyk7XG4gICAgLS1jb2xvci1ncmF5LTgwMDogb2tsY2goMjcuOCUgMC4wMzMgMjU2Ljg0OCk7XG4gICAgLS1jb2xvci1ncmF5LTkwMDogb2tsY2goMjElIDAuMDM0IDI2NC42NjUpO1xuICAgIC0tY29sb3ItZ3JheS05NTA6IG9rbGNoKDEzJSAwLjAyOCAyNjEuNjkyKTtcblxuICAgIC0tY29sb3ItemluYy01MDogb2tsY2goOTguNSUgMCAwKTtcbiAgICAtLWNvbG9yLXppbmMtMTAwOiBva2xjaCg5Ni43JSAwLjAwMSAyODYuMzc1KTtcbiAgICAtLWNvbG9yLXppbmMtMjAwOiBva2xjaCg5MiUgMC4wMDQgMjg2LjMyKTtcbiAgICAtLWNvbG9yLXppbmMtMzAwOiBva2xjaCg4Ny4xJSAwLjAwNiAyODYuMjg2KTtcbiAgICAtLWNvbG9yLXppbmMtNDAwOiBva2xjaCg3MC41JSAwLjAxNSAyODYuMDY3KTtcbiAgICAtLWNvbG9yLXppbmMtNTAwOiBva2xjaCg1NS4yJSAwLjAxNiAyODUuOTM4KTtcbiAgICAtLWNvbG9yLXppbmMtNjAwOiBva2xjaCg0NC4yJSAwLjAxNyAyODUuNzg2KTtcbiAgICAtLWNvbG9yLXppbmMtNzAwOiBva2xjaCgzNyUgMC4wMTMgMjg1LjgwNSk7XG4gICAgLS1jb2xvci16aW5jLTgwMDogb2tsY2goMjcuNCUgMC4wMDYgMjg2LjAzMyk7XG4gICAgLS1jb2xvci16aW5jLTkwMDogb2tsY2goMjElIDAuMDA2IDI4NS44ODUpO1xuICAgIC0tY29sb3ItemluYy05NTA6IG9rbGNoKDE0LjElIDAuMDA1IDI4NS44MjMpO1xuXG4gICAgLS1jb2xvci1uZXV0cmFsLTUwOiBva2xjaCg5OC41JSAwIDApO1xuICAgIC0tY29sb3ItbmV1dHJhbC0xMDA6IG9rbGNoKDk3JSAwIDApO1xuICAgIC0tY29sb3ItbmV1dHJhbC0yMDA6IG9rbGNoKDkyLjIlIDAgMCk7XG4gICAgLS1jb2xvci1uZXV0cmFsLTMwMDogb2tsY2goODclIDAgMCk7XG4gICAgLS1jb2xvci1uZXV0cmFsLTQwMDogb2tsY2goNzAuOCUgMCAwKTtcbiAgICAtLWNvbG9yLW5ldXRyYWwtNTAwOiBva2xjaCg1NS42JSAwIDApO1xuICAgIC0tY29sb3ItbmV1dHJhbC02MDA6IG9rbGNoKDQzLjklIDAgMCk7XG4gICAgLS1jb2xvci1uZXV0cmFsLTcwMDogb2tsY2goMzcuMSUgMCAwKTtcbiAgICAtLWNvbG9yLW5ldXRyYWwtODAwOiBva2xjaCgyNi45JSAwIDApO1xuICAgIC0tY29sb3ItbmV1dHJhbC05MDA6IG9rbGNoKDIwLjUlIDAgMCk7XG4gICAgLS1jb2xvci1uZXV0cmFsLTk1MDogb2tsY2goMTQuNSUgMCAwKTtcblxuICAgIC0tY29sb3Itc3RvbmUtNTA6IG9rbGNoKDk4LjUlIDAuMDAxIDEwNi40MjMpO1xuICAgIC0tY29sb3Itc3RvbmUtMTAwOiBva2xjaCg5NyUgMC4wMDEgMTA2LjQyNCk7XG4gICAgLS1jb2xvci1zdG9uZS0yMDA6IG9rbGNoKDkyLjMlIDAuMDAzIDQ4LjcxNyk7XG4gICAgLS1jb2xvci1zdG9uZS0zMDA6IG9rbGNoKDg2LjklIDAuMDA1IDU2LjM2Nik7XG4gICAgLS1jb2xvci1zdG9uZS00MDA6IG9rbGNoKDcwLjklIDAuMDEgNTYuMjU5KTtcbiAgICAtLWNvbG9yLXN0b25lLTUwMDogb2tsY2goNTUuMyUgMC4wMTMgNTguMDcxKTtcbiAgICAtLWNvbG9yLXN0b25lLTYwMDogb2tsY2goNDQuNCUgMC4wMTEgNzMuNjM5KTtcbiAgICAtLWNvbG9yLXN0b25lLTcwMDogb2tsY2goMzcuNCUgMC4wMSA2Ny41NTgpO1xuICAgIC0tY29sb3Itc3RvbmUtODAwOiBva2xjaCgyNi44JSAwLjAwNyAzNC4yOTgpO1xuICAgIC0tY29sb3Itc3RvbmUtOTAwOiBva2xjaCgyMS42JSAwLjAwNiA1Ni4wNDMpO1xuICAgIC0tY29sb3Itc3RvbmUtOTUwOiBva2xjaCgxNC43JSAwLjAwNCA0OS4yNSk7XG5cbiAgICAtLWNvbG9yLW1hdXZlLTUwOiBva2xjaCg5OC41JSAwIDApO1xuICAgIC0tY29sb3ItbWF1dmUtMTAwOiBva2xjaCg5NiUgMC4wMDMgMzI1LjYpO1xuICAgIC0tY29sb3ItbWF1dmUtMjAwOiBva2xjaCg5Mi4yJSAwLjAwNSAzMjUuNjIpO1xuICAgIC0tY29sb3ItbWF1dmUtMzAwOiBva2xjaCg4Ni41JSAwLjAxMiAzMjUuNjgpO1xuICAgIC0tY29sb3ItbWF1dmUtNDAwOiBva2xjaCg3MS4xJSAwLjAxOSAzMjMuMDIpO1xuICAgIC0tY29sb3ItbWF1dmUtNTAwOiBva2xjaCg1NC4yJSAwLjAzNCAzMjIuNSk7XG4gICAgLS1jb2xvci1tYXV2ZS02MDA6IG9rbGNoKDQzLjUlIDAuMDI5IDMyMS43OCk7XG4gICAgLS1jb2xvci1tYXV2ZS03MDA6IG9rbGNoKDM2LjQlIDAuMDI5IDMyMy44OSk7XG4gICAgLS1jb2xvci1tYXV2ZS04MDA6IG9rbGNoKDI2LjMlIDAuMDI0IDMyMC4xMik7XG4gICAgLS1jb2xvci1tYXV2ZS05MDA6IG9rbGNoKDIxLjIlIDAuMDE5IDMyMi4xMik7XG4gICAgLS1jb2xvci1tYXV2ZS05NTA6IG9rbGNoKDE0LjUlIDAuMDA4IDMyNik7XG5cbiAgICAtLWNvbG9yLW9saXZlLTUwOiBva2xjaCg5OC44JSAwLjAwMyAxMDYuNSk7XG4gICAgLS1jb2xvci1vbGl2ZS0xMDA6IG9rbGNoKDk2LjYlIDAuMDA1IDEwNi41KTtcbiAgICAtLWNvbG9yLW9saXZlLTIwMDogb2tsY2goOTMlIDAuMDA3IDEwNi41KTtcbiAgICAtLWNvbG9yLW9saXZlLTMwMDogb2tsY2goODglIDAuMDExIDEwNi42KTtcbiAgICAtLWNvbG9yLW9saXZlLTQwMDogb2tsY2goNzMuNyUgMC4wMjEgMTA2LjkpO1xuICAgIC0tY29sb3Itb2xpdmUtNTAwOiBva2xjaCg1OCUgMC4wMzEgMTA3LjMpO1xuICAgIC0tY29sb3Itb2xpdmUtNjAwOiBva2xjaCg0Ni42JSAwLjAyNSAxMDcuMyk7XG4gICAgLS1jb2xvci1vbGl2ZS03MDA6IG9rbGNoKDM5LjQlIDAuMDIzIDEwNy40KTtcbiAgICAtLWNvbG9yLW9saXZlLTgwMDogb2tsY2goMjguNiUgMC4wMTYgMTA3LjQpO1xuICAgIC0tY29sb3Itb2xpdmUtOTAwOiBva2xjaCgyMi44JSAwLjAxMyAxMDcuNCk7XG4gICAgLS1jb2xvci1vbGl2ZS05NTA6IG9rbGNoKDE1LjMlIDAuMDA2IDEwNy4xKTtcblxuICAgIC0tY29sb3ItbWlzdC01MDogb2tsY2goOTguNyUgMC4wMDIgMTk3LjEpO1xuICAgIC0tY29sb3ItbWlzdC0xMDA6IG9rbGNoKDk2LjMlIDAuMDAyIDE5Ny4xKTtcbiAgICAtLWNvbG9yLW1pc3QtMjAwOiBva2xjaCg5Mi41JSAwLjAwNSAyMTQuMyk7XG4gICAgLS1jb2xvci1taXN0LTMwMDogb2tsY2goODcuMiUgMC4wMDcgMjE5LjYpO1xuICAgIC0tY29sb3ItbWlzdC00MDA6IG9rbGNoKDcyLjMlIDAuMDE0IDIxNC40KTtcbiAgICAtLWNvbG9yLW1pc3QtNTAwOiBva2xjaCg1NiUgMC4wMjEgMjEzLjUpO1xuICAgIC0tY29sb3ItbWlzdC02MDA6IG9rbGNoKDQ1JSAwLjAxNyAyMTMuMik7XG4gICAgLS1jb2xvci1taXN0LTcwMDogb2tsY2goMzcuOCUgMC4wMTUgMjE2KTtcbiAgICAtLWNvbG9yLW1pc3QtODAwOiBva2xjaCgyNy41JSAwLjAxMSAyMTYuOSk7XG4gICAgLS1jb2xvci1taXN0LTkwMDogb2tsY2goMjEuOCUgMC4wMDggMjIzLjkpO1xuICAgIC0tY29sb3ItbWlzdC05NTA6IG9rbGNoKDE0LjglIDAuMDA0IDIyOC44KTtcblxuICAgIC0tY29sb3ItdGF1cGUtNTA6IG9rbGNoKDk4LjYlIDAuMDAyIDY3LjgpO1xuICAgIC0tY29sb3ItdGF1cGUtMTAwOiBva2xjaCg5NiUgMC4wMDIgMTcuMik7XG4gICAgLS1jb2xvci10YXVwZS0yMDA6IG9rbGNoKDkyLjIlIDAuMDA1IDM0LjMpO1xuICAgIC0tY29sb3ItdGF1cGUtMzAwOiBva2xjaCg4Ni44JSAwLjAwNyAzOS41KTtcbiAgICAtLWNvbG9yLXRhdXBlLTQwMDogb2tsY2goNzEuNCUgMC4wMTQgNDEuMik7XG4gICAgLS1jb2xvci10YXVwZS01MDA6IG9rbGNoKDU0LjclIDAuMDIxIDQzLjEpO1xuICAgIC0tY29sb3ItdGF1cGUtNjAwOiBva2xjaCg0My44JSAwLjAxNyAzOS4zKTtcbiAgICAtLWNvbG9yLXRhdXBlLTcwMDogb2tsY2goMzYuNyUgMC4wMTYgMzUuNyk7XG4gICAgLS1jb2xvci10YXVwZS04MDA6IG9rbGNoKDI2LjglIDAuMDExIDM2LjUpO1xuICAgIC0tY29sb3ItdGF1cGUtOTAwOiBva2xjaCgyMS40JSAwLjAwOSA0My4xKTtcbiAgICAtLWNvbG9yLXRhdXBlLTk1MDogb2tsY2goMTQuNyUgMC4wMDQgNDkuMyk7XG5cbiAgICAtLWNvbG9yLWJsYWNrOiAjMDAwO1xuICAgIC0tY29sb3Itd2hpdGU6ICNmZmY7XG5cbiAgICAtLXNwYWNpbmc6IDAuMjVyZW07XG5cbiAgICAtLWJyZWFrcG9pbnQtc206IDQwcmVtO1xuICAgIC0tYnJlYWtwb2ludC1tZDogNDhyZW07XG4gICAgLS1icmVha3BvaW50LWxnOiA2NHJlbTtcbiAgICAtLWJyZWFrcG9pbnQteGw6IDgwcmVtO1xuICAgIC0tYnJlYWtwb2ludC0yeGw6IDk2cmVtO1xuXG4gICAgLS1jb250YWluZXItM3hzOiAxNnJlbTtcbiAgICAtLWNvbnRhaW5lci0yeHM6IDE4cmVtO1xuICAgIC0tY29udGFpbmVyLXhzOiAyMHJlbTtcbiAgICAtLWNvbnRhaW5lci1zbTogMjRyZW07XG4gICAgLS1jb250YWluZXItbWQ6IDI4cmVtO1xuICAgIC0tY29udGFpbmVyLWxnOiAzMnJlbTtcbiAgICAtLWNvbnRhaW5lci14bDogMzZyZW07XG4gICAgLS1jb250YWluZXItMnhsOiA0MnJlbTtcbiAgICAtLWNvbnRhaW5lci0zeGw6IDQ4cmVtO1xuICAgIC0tY29udGFpbmVyLTR4bDogNTZyZW07XG4gICAgLS1jb250YWluZXItNXhsOiA2NHJlbTtcbiAgICAtLWNvbnRhaW5lci02eGw6IDcycmVtO1xuICAgIC0tY29udGFpbmVyLTd4bDogODByZW07XG5cbiAgICAtLXRleHQteHM6IDAuNzVyZW07XG4gICAgLS10ZXh0LXhzLS1saW5lLWhlaWdodDogY2FsYygxIC8gMC43NSk7XG4gICAgLS10ZXh0LXNtOiAwLjg3NXJlbTtcbiAgICAtLXRleHQtc20tLWxpbmUtaGVpZ2h0OiBjYWxjKDEuMjUgLyAwLjg3NSk7XG4gICAgLS10ZXh0LWJhc2U6IDFyZW07XG4gICAgLS10ZXh0LWJhc2UtLWxpbmUtaGVpZ2h0OiBjYWxjKDEuNSAvIDEpO1xuICAgIC0tdGV4dC1sZzogMS4xMjVyZW07XG4gICAgLS10ZXh0LWxnLS1saW5lLWhlaWdodDogY2FsYygxLjc1IC8gMS4xMjUpO1xuICAgIC0tdGV4dC14bDogMS4yNXJlbTtcbiAgICAtLXRleHQteGwtLWxpbmUtaGVpZ2h0OiBjYWxjKDEuNzUgLyAxLjI1KTtcbiAgICAtLXRleHQtMnhsOiAxLjVyZW07XG4gICAgLS10ZXh0LTJ4bC0tbGluZS1oZWlnaHQ6IGNhbGMoMiAvIDEuNSk7XG4gICAgLS10ZXh0LTN4bDogMS44NzVyZW07XG4gICAgLS10ZXh0LTN4bC0tbGluZS1oZWlnaHQ6IGNhbGMoMi4yNSAvIDEuODc1KTtcbiAgICAtLXRleHQtNHhsOiAyLjI1cmVtO1xuICAgIC0tdGV4dC00eGwtLWxpbmUtaGVpZ2h0OiBjYWxjKDIuNSAvIDIuMjUpO1xuICAgIC0tdGV4dC01eGw6IDNyZW07XG4gICAgLS10ZXh0LTV4bC0tbGluZS1oZWlnaHQ6IDE7XG4gICAgLS10ZXh0LTZ4bDogMy43NXJlbTtcbiAgICAtLXRleHQtNnhsLS1saW5lLWhlaWdodDogMTtcbiAgICAtLXRleHQtN3hsOiA0LjVyZW07XG4gICAgLS10ZXh0LTd4bC0tbGluZS1oZWlnaHQ6IDE7XG4gICAgLS10ZXh0LTh4bDogNnJlbTtcbiAgICAtLXRleHQtOHhsLS1saW5lLWhlaWdodDogMTtcbiAgICAtLXRleHQtOXhsOiA4cmVtO1xuICAgIC0tdGV4dC05eGwtLWxpbmUtaGVpZ2h0OiAxO1xuXG4gICAgLS1mb250LXdlaWdodC10aGluOiAxMDA7XG4gICAgLS1mb250LXdlaWdodC1leHRyYWxpZ2h0OiAyMDA7XG4gICAgLS1mb250LXdlaWdodC1saWdodDogMzAwO1xuICAgIC0tZm9udC13ZWlnaHQtbm9ybWFsOiA0MDA7XG4gICAgLS1mb250LXdlaWdodC1tZWRpdW06IDUwMDtcbiAgICAtLWZvbnQtd2VpZ2h0LXNlbWlib2xkOiA2MDA7XG4gICAgLS1mb250LXdlaWdodC1ib2xkOiA3MDA7XG4gICAgLS1mb250LXdlaWdodC1leHRyYWJvbGQ6IDgwMDtcbiAgICAtLWZvbnQtd2VpZ2h0LWJsYWNrOiA5MDA7XG5cbiAgICAtLXRyYWNraW5nLXRpZ2h0ZXI6IC0wLjA1ZW07XG4gICAgLS10cmFja2luZy10aWdodDogLTAuMDI1ZW07XG4gICAgLS10cmFja2luZy1ub3JtYWw6IDBlbTtcbiAgICAtLXRyYWNraW5nLXdpZGU6IDAuMDI1ZW07XG4gICAgLS10cmFja2luZy13aWRlcjogMC4wNWVtO1xuICAgIC0tdHJhY2tpbmctd2lkZXN0OiAwLjFlbTtcblxuICAgIC0tbGVhZGluZy10aWdodDogMS4yNTtcbiAgICAtLWxlYWRpbmctc251ZzogMS4zNzU7XG4gICAgLS1sZWFkaW5nLW5vcm1hbDogMS41O1xuICAgIC0tbGVhZGluZy1yZWxheGVkOiAxLjYyNTtcbiAgICAtLWxlYWRpbmctbG9vc2U6IDI7XG5cbiAgICAtLXJhZGl1cy14czogMC4xMjVyZW07XG4gICAgLS1yYWRpdXMtc206IDAuMjVyZW07XG4gICAgLS1yYWRpdXMtbWQ6IDAuMzc1cmVtO1xuICAgIC0tcmFkaXVzLWxnOiAwLjVyZW07XG4gICAgLS1yYWRpdXMteGw6IDAuNzVyZW07XG4gICAgLS1yYWRpdXMtMnhsOiAxcmVtO1xuICAgIC0tcmFkaXVzLTN4bDogMS41cmVtO1xuICAgIC0tcmFkaXVzLTR4bDogMnJlbTtcblxuICAgIC0tc2hhZG93LTJ4czogMCAxcHggcmdiKDAgMCAwIC8gMC4wNSk7XG4gICAgLS1zaGFkb3cteHM6IDAgMXB4IDJweCAwIHJnYigwIDAgMCAvIDAuMDUpO1xuICAgIC0tc2hhZG93LXNtOiAwIDFweCAzcHggMCByZ2IoMCAwIDAgLyAwLjEpLCAwIDFweCAycHggLTFweCByZ2IoMCAwIDAgLyAwLjEpO1xuICAgIC0tc2hhZG93LW1kOlxuICAgICAgMCA0cHggNnB4IC0xcHggcmdiKDAgMCAwIC8gMC4xKSwgMCAycHggNHB4IC0ycHggcmdiKDAgMCAwIC8gMC4xKTtcbiAgICAtLXNoYWRvdy1sZzpcbiAgICAgIDAgMTBweCAxNXB4IC0zcHggcmdiKDAgMCAwIC8gMC4xKSwgMCA0cHggNnB4IC00cHggcmdiKDAgMCAwIC8gMC4xKTtcbiAgICAtLXNoYWRvdy14bDpcbiAgICAgIDAgMjBweCAyNXB4IC01cHggcmdiKDAgMCAwIC8gMC4xKSwgMCA4cHggMTBweCAtNnB4IHJnYigwIDAgMCAvIDAuMSk7XG4gICAgLS1zaGFkb3ctMnhsOiAwIDI1cHggNTBweCAtMTJweCByZ2IoMCAwIDAgLyAwLjI1KTtcblxuICAgIC0taW5zZXQtc2hhZG93LTJ4czogaW5zZXQgMCAxcHggcmdiKDAgMCAwIC8gMC4wNSk7XG4gICAgLS1pbnNldC1zaGFkb3cteHM6IGluc2V0IDAgMXB4IDFweCByZ2IoMCAwIDAgLyAwLjA1KTtcbiAgICAtLWluc2V0LXNoYWRvdy1zbTogaW5zZXQgMCAycHggNHB4IHJnYigwIDAgMCAvIDAuMDUpO1xuXG4gICAgLS1kcm9wLXNoYWRvdy14czogMCAxcHggMXB4IHJnYigwIDAgMCAvIDAuMDUpO1xuICAgIC0tZHJvcC1zaGFkb3ctc206IDAgMXB4IDJweCByZ2IoMCAwIDAgLyAwLjE1KTtcbiAgICAtLWRyb3Atc2hhZG93LW1kOiAwIDNweCAzcHggcmdiKDAgMCAwIC8gMC4xMik7XG4gICAgLS1kcm9wLXNoYWRvdy1sZzogMCA0cHggNHB4IHJnYigwIDAgMCAvIDAuMTUpO1xuICAgIC0tZHJvcC1zaGFkb3cteGw6IDAgOXB4IDdweCByZ2IoMCAwIDAgLyAwLjEpO1xuICAgIC0tZHJvcC1zaGFkb3ctMnhsOiAwIDI1cHggMjVweCByZ2IoMCAwIDAgLyAwLjE1KTtcblxuICAgIC0tdGV4dC1zaGFkb3ctMnhzOiAwcHggMXB4IDBweCByZ2IoMCAwIDAgLyAwLjE1KTtcbiAgICAtLXRleHQtc2hhZG93LXhzOiAwcHggMXB4IDFweCByZ2IoMCAwIDAgLyAwLjIpO1xuICAgIC0tdGV4dC1zaGFkb3ctc206XG4gICAgICAwcHggMXB4IDBweCByZ2IoMCAwIDAgLyAwLjA3NSksIDBweCAxcHggMXB4IHJnYigwIDAgMCAvIDAuMDc1KSxcbiAgICAgIDBweCAycHggMnB4IHJnYigwIDAgMCAvIDAuMDc1KTtcbiAgICAtLXRleHQtc2hhZG93LW1kOlxuICAgICAgMHB4IDFweCAxcHggcmdiKDAgMCAwIC8gMC4xKSwgMHB4IDFweCAycHggcmdiKDAgMCAwIC8gMC4xKSxcbiAgICAgIDBweCAycHggNHB4IHJnYigwIDAgMCAvIDAuMSk7XG4gICAgLS10ZXh0LXNoYWRvdy1sZzpcbiAgICAgIDBweCAxcHggMnB4IHJnYigwIDAgMCAvIDAuMSksIDBweCAzcHggMnB4IHJnYigwIDAgMCAvIDAuMSksXG4gICAgICAwcHggNHB4IDhweCByZ2IoMCAwIDAgLyAwLjEpO1xuXG4gICAgLS1lYXNlLWluOiBjdWJpYy1iZXppZXIoMC40LCAwLCAxLCAxKTtcbiAgICAtLWVhc2Utb3V0OiBjdWJpYy1iZXppZXIoMCwgMCwgMC4yLCAxKTtcbiAgICAtLWVhc2UtaW4tb3V0OiBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIsIDEpO1xuXG4gICAgLS1hbmltYXRlLXNwaW46IHNwaW4gMXMgbGluZWFyIGluZmluaXRlO1xuICAgIC0tYW5pbWF0ZS1waW5nOiBwaW5nIDFzIGN1YmljLWJlemllcigwLCAwLCAwLjIsIDEpIGluZmluaXRlO1xuICAgIC0tYW5pbWF0ZS1wdWxzZTogcHVsc2UgMnMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC42LCAxKSBpbmZpbml0ZTtcbiAgICAtLWFuaW1hdGUtYm91bmNlOiBib3VuY2UgMXMgaW5maW5pdGU7XG5cbiAgICBAa2V5ZnJhbWVzIHNwaW4ge1xuICAgICAgdG8ge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBrZXlmcmFtZXMgcGluZyB7XG4gICAgICA3NSUsXG4gICAgICAxMDAlIHtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgyKTtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAa2V5ZnJhbWVzIHB1bHNlIHtcbiAgICAgIDUwJSB7XG4gICAgICAgIG9wYWNpdHk6IDAuNTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAa2V5ZnJhbWVzIGJvdW5jZSB7XG4gICAgICAwJSxcbiAgICAgIDEwMCUge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTI1JSk7XG4gICAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjgsIDAsIDEsIDEpO1xuICAgICAgfVxuXG4gICAgICA1MCUge1xuICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLCAwLCAwLjIsIDEpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC0tYmx1ci14czogNHB4O1xuICAgIC0tYmx1ci1zbTogOHB4O1xuICAgIC0tYmx1ci1tZDogMTJweDtcbiAgICAtLWJsdXItbGc6IDE2cHg7XG4gICAgLS1ibHVyLXhsOiAyNHB4O1xuICAgIC0tYmx1ci0yeGw6IDQwcHg7XG4gICAgLS1ibHVyLTN4bDogNjRweDtcblxuICAgIC0tcGVyc3BlY3RpdmUtZHJhbWF0aWM6IDEwMHB4O1xuICAgIC0tcGVyc3BlY3RpdmUtbmVhcjogMzAwcHg7XG4gICAgLS1wZXJzcGVjdGl2ZS1ub3JtYWw6IDUwMHB4O1xuICAgIC0tcGVyc3BlY3RpdmUtbWlkcmFuZ2U6IDgwMHB4O1xuICAgIC0tcGVyc3BlY3RpdmUtZGlzdGFudDogMTIwMHB4O1xuXG4gICAgLS1hc3BlY3QtdmlkZW86IDE2IC8gOTtcblxuICAgIC0tZGVmYXVsdC10cmFuc2l0aW9uLWR1cmF0aW9uOiAxNTBtcztcbiAgICAtLWRlZmF1bHQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSk7XG4gICAgLS1kZWZhdWx0LWZvbnQtZmFtaWx5OiAtLXRoZW1lKC0tZm9udC1zYW5zLCBpbml0aWFsKTtcbiAgICAtLWRlZmF1bHQtZm9udC1mZWF0dXJlLXNldHRpbmdzOiAtLXRoZW1lKFxuICAgICAgLS1mb250LXNhbnMtLWZvbnQtZmVhdHVyZS1zZXR0aW5ncyxcbiAgICAgIGluaXRpYWxcbiAgICApO1xuICAgIC0tZGVmYXVsdC1mb250LXZhcmlhdGlvbi1zZXR0aW5nczogLS10aGVtZShcbiAgICAgIC0tZm9udC1zYW5zLS1mb250LXZhcmlhdGlvbi1zZXR0aW5ncyxcbiAgICAgIGluaXRpYWxcbiAgICApO1xuICAgIC0tZGVmYXVsdC1tb25vLWZvbnQtZmFtaWx5OiAtLXRoZW1lKC0tZm9udC1tb25vLCBpbml0aWFsKTtcbiAgICAtLWRlZmF1bHQtbW9uby1mb250LWZlYXR1cmUtc2V0dGluZ3M6IC0tdGhlbWUoXG4gICAgICAtLWZvbnQtbW9uby0tZm9udC1mZWF0dXJlLXNldHRpbmdzLFxuICAgICAgaW5pdGlhbFxuICAgICk7XG4gICAgLS1kZWZhdWx0LW1vbm8tZm9udC12YXJpYXRpb24tc2V0dGluZ3M6IC0tdGhlbWUoXG4gICAgICAtLWZvbnQtbW9uby0tZm9udC12YXJpYXRpb24tc2V0dGluZ3MsXG4gICAgICBpbml0aWFsXG4gICAgKTtcbiAgfVxuXG4gIC8qIERlcHJlY2F0ZWQgKi9cbiAgQHRoZW1lIGRlZmF1bHQgaW5saW5lIHJlZmVyZW5jZSB7XG4gICAgLS1ibHVyOiA4cHg7XG4gICAgLS1zaGFkb3c6IDAgMXB4IDNweCAwIHJnYigwIDAgMCAvIDAuMSksIDAgMXB4IDJweCAtMXB4IHJnYigwIDAgMCAvIDAuMSk7XG4gICAgLS1zaGFkb3ctaW5uZXI6IGluc2V0IDAgMnB4IDRweCAwIHJnYigwIDAgMCAvIDAuMDUpO1xuICAgIC0tZHJvcC1zaGFkb3c6IDAgMXB4IDJweCByZ2IoMCAwIDAgLyAwLjEpLCAwIDFweCAxcHggcmdiKDAgMCAwIC8gMC4wNik7XG4gICAgLS1yYWRpdXM6IDAuMjVyZW07XG4gICAgLS1tYXgtd2lkdGgtcHJvc2U6IDY1Y2g7XG4gIH1cbn1cblxuQGxheWVyIGJhc2Uge1xuICAvKlxuICAxLiBQcmV2ZW50IHBhZGRpbmcgYW5kIGJvcmRlciBmcm9tIGFmZmVjdGluZyBlbGVtZW50IHdpZHRoLiAoaHR0cHM6Ly9naXRodWIuY29tL21vemRldnMvY3NzcmVtZWR5L2lzc3Vlcy80KVxuICAyLiBSZW1vdmUgZGVmYXVsdCBtYXJnaW5zIGFuZCBwYWRkaW5nXG4gIDMuIFJlc2V0IGFsbCBib3JkZXJzLlxuKi9cblxuICAqLFxuICA6OmFmdGVyLFxuICA6OmJlZm9yZSxcbiAgOjpiYWNrZHJvcCxcbiAgOjpmaWxlLXNlbGVjdG9yLWJ1dHRvbiB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xuICAgIG1hcmdpbjogMDsgLyogMiAqL1xuICAgIHBhZGRpbmc6IDA7IC8qIDIgKi9cbiAgICBib3JkZXI6IDAgc29saWQ7IC8qIDMgKi9cbiAgfVxuXG4gIC8qXG4gIDEuIFVzZSBhIGNvbnNpc3RlbnQgc2Vuc2libGUgbGluZS1oZWlnaHQgaW4gYWxsIGJyb3dzZXJzLlxuICAyLiBQcmV2ZW50IGFkanVzdG1lbnRzIG9mIGZvbnQgc2l6ZSBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2VzIGluIGlPUy5cbiAgMy4gVXNlIGEgbW9yZSByZWFkYWJsZSB0YWIgc2l6ZS5cbiAgNC4gVXNlIHRoZSB1c2VyJ3MgY29uZmlndXJlZCBgc2Fuc2AgZm9udC1mYW1pbHkgYnkgZGVmYXVsdC5cbiAgNS4gVXNlIHRoZSB1c2VyJ3MgY29uZmlndXJlZCBgc2Fuc2AgZm9udC1mZWF0dXJlLXNldHRpbmdzIGJ5IGRlZmF1bHQuXG4gIDYuIFVzZSB0aGUgdXNlcidzIGNvbmZpZ3VyZWQgYHNhbnNgIGZvbnQtdmFyaWF0aW9uLXNldHRpbmdzIGJ5IGRlZmF1bHQuXG4gIDcuIERpc2FibGUgdGFwIGhpZ2hsaWdodHMgb24gaU9TLlxuKi9cblxuICBodG1sLFxuICA6aG9zdCB7XG4gICAgbGluZS1oZWlnaHQ6IDEuNTsgLyogMSAqL1xuICAgIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMiAqL1xuICAgIHRhYi1zaXplOiA0OyAvKiAzICovXG4gICAgZm9udC1mYW1pbHk6IC0tdGhlbWUoXG4gICAgICAtLWRlZmF1bHQtZm9udC1mYW1pbHksXG4gICAgICB1aS1zYW5zLXNlcmlmLFxuICAgICAgc3lzdGVtLXVpLFxuICAgICAgc2Fucy1zZXJpZixcbiAgICAgIFwiQXBwbGUgQ29sb3IgRW1vamlcIixcbiAgICAgIFwiU2Vnb2UgVUkgRW1vamlcIixcbiAgICAgIFwiU2Vnb2UgVUkgU3ltYm9sXCIsXG4gICAgICBcIk5vdG8gQ29sb3IgRW1vamlcIlxuICAgICk7IC8qIDQgKi9cbiAgICBmb250LWZlYXR1cmUtc2V0dGluZ3M6IC0tdGhlbWUoXG4gICAgICAtLWRlZmF1bHQtZm9udC1mZWF0dXJlLXNldHRpbmdzLFxuICAgICAgbm9ybWFsXG4gICAgKTsgLyogNSAqL1xuICAgIGZvbnQtdmFyaWF0aW9uLXNldHRpbmdzOiAtLXRoZW1lKFxuICAgICAgLS1kZWZhdWx0LWZvbnQtdmFyaWF0aW9uLXNldHRpbmdzLFxuICAgICAgbm9ybWFsXG4gICAgKTsgLyogNiAqL1xuICAgIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7IC8qIDcgKi9cbiAgfVxuXG4gIC8qXG4gIDEuIEFkZCB0aGUgY29ycmVjdCBoZWlnaHQgaW4gRmlyZWZveC5cbiAgMi4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2Ugb2YgYm9yZGVyIGNvbG9yIGluIEZpcmVmb3guIChodHRwczovL2J1Z3ppbGxhLm1vemlsbGEub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTA2NTUpXG4gIDMuIFJlc2V0IHRoZSBkZWZhdWx0IGJvcmRlciBzdHlsZSB0byBhIDFweCBzb2xpZCBib3JkZXIuXG4qL1xuXG4gIGhyIHtcbiAgICBoZWlnaHQ6IDA7IC8qIDEgKi9cbiAgICBjb2xvcjogaW5oZXJpdDsgLyogMiAqL1xuICAgIGJvcmRlci10b3Atd2lkdGg6IDFweDsgLyogMyAqL1xuICB9XG5cbiAgLypcbiAgQWRkIHRoZSBjb3JyZWN0IHRleHQgZGVjb3JhdGlvbiBpbiBDaHJvbWUsIEVkZ2UsIGFuZCBTYWZhcmkuXG4qL1xuXG4gIGFiYnI6d2hlcmUoW3RpdGxlXSkge1xuICAgIC13ZWJraXQtdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkO1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDtcbiAgfVxuXG4gIC8qXG4gIFJlbW92ZSB0aGUgZGVmYXVsdCBmb250IHNpemUgYW5kIHdlaWdodCBmb3IgaGVhZGluZ3MuXG4qL1xuXG4gIGgxLFxuICBoMixcbiAgaDMsXG4gIGg0LFxuICBoNSxcbiAgaDYge1xuICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgICBmb250LXdlaWdodDogaW5oZXJpdDtcbiAgfVxuXG4gIC8qXG4gIFJlc2V0IGxpbmtzIHRvIG9wdGltaXplIGZvciBvcHQtaW4gc3R5bGluZyBpbnN0ZWFkIG9mIG9wdC1vdXQuXG4qL1xuXG4gIGEge1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIC13ZWJraXQtdGV4dC1kZWNvcmF0aW9uOiBpbmhlcml0O1xuICAgIHRleHQtZGVjb3JhdGlvbjogaW5oZXJpdDtcbiAgfVxuXG4gIC8qXG4gIEFkZCB0aGUgY29ycmVjdCBmb250IHdlaWdodCBpbiBFZGdlIGFuZCBTYWZhcmkuXG4qL1xuXG4gIGIsXG4gIHN0cm9uZyB7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGRlcjtcbiAgfVxuXG4gIC8qXG4gIDEuIFVzZSB0aGUgdXNlcidzIGNvbmZpZ3VyZWQgYG1vbm9gIGZvbnQtZmFtaWx5IGJ5IGRlZmF1bHQuXG4gIDIuIFVzZSB0aGUgdXNlcidzIGNvbmZpZ3VyZWQgYG1vbm9gIGZvbnQtZmVhdHVyZS1zZXR0aW5ncyBieSBkZWZhdWx0LlxuICAzLiBVc2UgdGhlIHVzZXIncyBjb25maWd1cmVkIGBtb25vYCBmb250LXZhcmlhdGlvbi1zZXR0aW5ncyBieSBkZWZhdWx0LlxuICA0LiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4qL1xuXG4gIGNvZGUsXG4gIGtiZCxcbiAgc2FtcCxcbiAgcHJlIHtcbiAgICBmb250LWZhbWlseTogLS10aGVtZShcbiAgICAgIC0tZGVmYXVsdC1tb25vLWZvbnQtZmFtaWx5LFxuICAgICAgdWktbW9ub3NwYWNlLFxuICAgICAgU0ZNb25vLVJlZ3VsYXIsXG4gICAgICBNZW5sbyxcbiAgICAgIE1vbmFjbyxcbiAgICAgIENvbnNvbGFzLFxuICAgICAgXCJMaWJlcmF0aW9uIE1vbm9cIixcbiAgICAgIFwiQ291cmllciBOZXdcIixcbiAgICAgIG1vbm9zcGFjZVxuICAgICk7IC8qIDEgKi9cbiAgICBmb250LWZlYXR1cmUtc2V0dGluZ3M6IC0tdGhlbWUoXG4gICAgICAtLWRlZmF1bHQtbW9uby1mb250LWZlYXR1cmUtc2V0dGluZ3MsXG4gICAgICBub3JtYWxcbiAgICApOyAvKiAyICovXG4gICAgZm9udC12YXJpYXRpb24tc2V0dGluZ3M6IC0tdGhlbWUoXG4gICAgICAtLWRlZmF1bHQtbW9uby1mb250LXZhcmlhdGlvbi1zZXR0aW5ncyxcbiAgICAgIG5vcm1hbFxuICAgICk7IC8qIDMgKi9cbiAgICBmb250LXNpemU6IDFlbTsgLyogNCAqL1xuICB9XG5cbiAgLypcbiAgQWRkIHRoZSBjb3JyZWN0IGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4qL1xuXG4gIHNtYWxsIHtcbiAgICBmb250LXNpemU6IDgwJTtcbiAgfVxuXG4gIC8qXG4gIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGVsZW1lbnRzIGZyb20gYWZmZWN0aW5nIHRoZSBsaW5lIGhlaWdodCBpbiBhbGwgYnJvd3NlcnMuXG4qL1xuXG4gIHN1YixcbiAgc3VwIHtcbiAgICBmb250LXNpemU6IDc1JTtcbiAgICBsaW5lLWhlaWdodDogMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICB9XG5cbiAgc3ViIHtcbiAgICBib3R0b206IC0wLjI1ZW07XG4gIH1cblxuICBzdXAge1xuICAgIHRvcDogLTAuNWVtO1xuICB9XG5cbiAgLypcbiAgMS4gUmVtb3ZlIHRleHQgaW5kZW50YXRpb24gZnJvbSB0YWJsZSBjb250ZW50cyBpbiBDaHJvbWUgYW5kIFNhZmFyaS4gKGh0dHBzOi8vYnVncy5jaHJvbWl1bS5vcmcvcC9jaHJvbWl1bS9pc3N1ZXMvZGV0YWlsP2lkPTk5OTA4OCwgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwMTI5NylcbiAgMi4gQ29ycmVjdCB0YWJsZSBib3JkZXIgY29sb3IgaW5oZXJpdGFuY2UgaW4gYWxsIENocm9tZSBhbmQgU2FmYXJpLiAoaHR0cHM6Ly9idWdzLmNocm9taXVtLm9yZy9wL2Nocm9taXVtL2lzc3Vlcy9kZXRhaWw/aWQ9OTM1NzI5LCBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk1MDE2KVxuICAzLiBSZW1vdmUgZ2FwcyBiZXR3ZWVuIHRhYmxlIGJvcmRlcnMgYnkgZGVmYXVsdC5cbiovXG5cbiAgdGFibGUge1xuICAgIHRleHQtaW5kZW50OiAwOyAvKiAxICovXG4gICAgYm9yZGVyLWNvbG9yOiBpbmhlcml0OyAvKiAyICovXG4gICAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTsgLyogMyAqL1xuICB9XG5cbiAgLypcbiAgVXNlIHRoZSBtb2Rlcm4gRmlyZWZveCBmb2N1cyBzdHlsZSBmb3IgYWxsIGZvY3VzYWJsZSBlbGVtZW50cy5cbiovXG5cbiAgOi1tb3otZm9jdXNyaW5nIHtcbiAgICBvdXRsaW5lOiBhdXRvO1xuICB9XG5cbiAgLypcbiAgQWRkIHRoZSBjb3JyZWN0IHZlcnRpY2FsIGFsaWdubWVudCBpbiBDaHJvbWUgYW5kIEZpcmVmb3guXG4qL1xuXG4gIHByb2dyZXNzIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gIH1cblxuICAvKlxuICBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBDaHJvbWUgYW5kIFNhZmFyaS5cbiovXG5cbiAgc3VtbWFyeSB7XG4gICAgZGlzcGxheTogbGlzdC1pdGVtO1xuICB9XG5cbiAgLypcbiAgTWFrZSBsaXN0cyB1bnN0eWxlZCBieSBkZWZhdWx0LlxuKi9cblxuICBvbCxcbiAgdWwsXG4gIG1lbnUge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIH1cblxuICAvKlxuICAxLiBNYWtlIHJlcGxhY2VkIGVsZW1lbnRzIGBkaXNwbGF5OiBibG9ja2AgYnkgZGVmYXVsdC4gKGh0dHBzOi8vZ2l0aHViLmNvbS9tb3pkZXZzL2Nzc3JlbWVkeS9pc3N1ZXMvMTQpXG4gIDIuIEFkZCBgdmVydGljYWwtYWxpZ246IG1pZGRsZWAgdG8gYWxpZ24gcmVwbGFjZWQgZWxlbWVudHMgbW9yZSBzZW5zaWJseSBieSBkZWZhdWx0LiAoaHR0cHM6Ly9naXRodWIuY29tL2plbnNpbW1vbnMvY3NzcmVtZWR5L2lzc3Vlcy8xNCNpc3N1ZWNvbW1lbnQtNjM0OTM0MjEwKVxuICAgICAgVGhpcyBjYW4gdHJpZ2dlciBhIHBvb3JseSBjb25zaWRlcmVkIGxpbnQgZXJyb3IgaW4gc29tZSB0b29scyBidXQgaXMgaW5jbHVkZWQgYnkgZGVzaWduLlxuKi9cblxuICBpbWcsXG4gIHN2ZyxcbiAgdmlkZW8sXG4gIGNhbnZhcyxcbiAgYXVkaW8sXG4gIGlmcmFtZSxcbiAgZW1iZWQsXG4gIG9iamVjdCB7XG4gICAgZGlzcGxheTogYmxvY2s7IC8qIDEgKi9cbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyAvKiAyICovXG4gIH1cblxuICAvKlxuICBDb25zdHJhaW4gaW1hZ2VzIGFuZCB2aWRlb3MgdG8gdGhlIHBhcmVudCB3aWR0aCBhbmQgcHJlc2VydmUgdGhlaXIgaW50cmluc2ljIGFzcGVjdCByYXRpby4gKGh0dHBzOi8vZ2l0aHViLmNvbS9tb3pkZXZzL2Nzc3JlbWVkeS9pc3N1ZXMvMTQpXG4qL1xuXG4gIGltZyxcbiAgdmlkZW8ge1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cblxuICAvKlxuICAxLiBJbmhlcml0IGZvbnQgc3R5bGVzIGluIGFsbCBicm93c2Vycy5cbiAgMi4gUmVtb3ZlIGJvcmRlciByYWRpdXMgaW4gYWxsIGJyb3dzZXJzLlxuICAzLiBSZW1vdmUgYmFja2dyb3VuZCBjb2xvciBpbiBhbGwgYnJvd3NlcnMuXG4gIDQuIEVuc3VyZSBjb25zaXN0ZW50IG9wYWNpdHkgZm9yIGRpc2FibGVkIHN0YXRlcyBpbiBhbGwgYnJvd3NlcnMuXG4qL1xuXG4gIGJ1dHRvbixcbiAgaW5wdXQsXG4gIHNlbGVjdCxcbiAgb3B0Z3JvdXAsXG4gIHRleHRhcmVhLFxuICA6OmZpbGUtc2VsZWN0b3ItYnV0dG9uIHtcbiAgICBmb250OiBpbmhlcml0OyAvKiAxICovXG4gICAgZm9udC1mZWF0dXJlLXNldHRpbmdzOiBpbmhlcml0OyAvKiAxICovXG4gICAgZm9udC12YXJpYXRpb24tc2V0dGluZ3M6IGluaGVyaXQ7IC8qIDEgKi9cbiAgICBsZXR0ZXItc3BhY2luZzogaW5oZXJpdDsgLyogMSAqL1xuICAgIGNvbG9yOiBpbmhlcml0OyAvKiAxICovXG4gICAgYm9yZGVyLXJhZGl1czogMDsgLyogMiAqL1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyAvKiAzICovXG4gICAgb3BhY2l0eTogMTsgLyogNCAqL1xuICB9XG5cbiAgLypcbiAgUmVzdG9yZSBkZWZhdWx0IGZvbnQgd2VpZ2h0LlxuKi9cblxuICA6d2hlcmUoc2VsZWN0OmlzKFttdWx0aXBsZV0sIFtzaXplXSkpIG9wdGdyb3VwIHtcbiAgICBmb250LXdlaWdodDogYm9sZGVyO1xuICB9XG5cbiAgLypcbiAgUmVzdG9yZSBpbmRlbnRhdGlvbi5cbiovXG5cbiAgOndoZXJlKHNlbGVjdDppcyhbbXVsdGlwbGVdLCBbc2l6ZV0pKSBvcHRncm91cCBvcHRpb24ge1xuICAgIHBhZGRpbmctaW5saW5lLXN0YXJ0OiAyMHB4O1xuICB9XG5cbiAgLypcbiAgUmVzdG9yZSBzcGFjZSBhZnRlciBidXR0b24uXG4qL1xuXG4gIDo6ZmlsZS1zZWxlY3Rvci1idXR0b24ge1xuICAgIG1hcmdpbi1pbmxpbmUtZW5kOiA0cHg7XG4gIH1cblxuICAvKlxuICBSZXNldCB0aGUgZGVmYXVsdCBwbGFjZWhvbGRlciBvcGFjaXR5IGluIEZpcmVmb3guIChodHRwczovL2dpdGh1Yi5jb20vdGFpbHdpbmRsYWJzL3RhaWx3aW5kY3NzL2lzc3Vlcy8zMzAwKVxuKi9cblxuICA6OnBsYWNlaG9sZGVyIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgLypcbiAgU2V0IHRoZSBkZWZhdWx0IHBsYWNlaG9sZGVyIGNvbG9yIHRvIGEgc2VtaS10cmFuc3BhcmVudCB2ZXJzaW9uIG9mIHRoZSBjdXJyZW50IHRleHQgY29sb3IgaW4gYnJvd3NlcnMgdGhhdCBkbyBub3RcbiAgY3Jhc2ggd2hlbiB1c2luZyBgY29sb3ItbWl4KOKApilgIHdpdGggYGN1cnJlbnRjb2xvcmAuIChodHRwczovL2dpdGh1Yi5jb20vdGFpbHdpbmRsYWJzL3RhaWx3aW5kY3NzL2lzc3Vlcy8xNzE5NClcbiovXG5cbiAgQHN1cHBvcnRzIChub3QgKC13ZWJraXQtYXBwZWFyYW5jZTogLWFwcGxlLXBheS1idXR0b24pKSAvKiBOb3QgU2FmYXJpICovIG9yXG4gICAgKGNvbnRhaW4taW50cmluc2ljLXNpemU6IDFweCkgLyogU2FmYXJpIDE3KyAqLyB7XG4gICAgOjpwbGFjZWhvbGRlciB7XG4gICAgICBjb2xvcjogY29sb3ItbWl4KGluIG9rbGFiLCBjdXJyZW50Y29sb3IgNTAlLCB0cmFuc3BhcmVudCk7XG4gICAgfVxuICB9XG5cbiAgLypcbiAgUHJldmVudCByZXNpemluZyB0ZXh0YXJlYXMgaG9yaXpvbnRhbGx5IGJ5IGRlZmF1bHQuXG4qL1xuXG4gIHRleHRhcmVhIHtcbiAgICByZXNpemU6IHZlcnRpY2FsO1xuICB9XG5cbiAgLypcbiAgUmVtb3ZlIHRoZSBpbm5lciBwYWRkaW5nIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIG1hY09TLlxuKi9cblxuICA6Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgfVxuXG4gIC8qXG4gIDEuIEVuc3VyZSBkYXRlL3RpbWUgaW5wdXRzIGhhdmUgdGhlIHNhbWUgaGVpZ2h0IHdoZW4gZW1wdHkgaW4gaU9TIFNhZmFyaS5cbiAgMi4gRW5zdXJlIHRleHQgYWxpZ25tZW50IGNhbiBiZSBjaGFuZ2VkIG9uIGRhdGUvdGltZSBpbnB1dHMgaW4gaU9TIFNhZmFyaS5cbiovXG5cbiAgOjotd2Via2l0LWRhdGUtYW5kLXRpbWUtdmFsdWUge1xuICAgIG1pbi1oZWlnaHQ6IDFsaDsgLyogMSAqL1xuICAgIHRleHQtYWxpZ246IGluaGVyaXQ7IC8qIDIgKi9cbiAgfVxuXG4gIC8qXG4gIFByZXZlbnQgaGVpZ2h0IGZyb20gY2hhbmdpbmcgb24gZGF0ZS90aW1lIGlucHV0cyBpbiBtYWNPUyBTYWZhcmkgd2hlbiB0aGUgaW5wdXQgaXMgc2V0IHRvIGBkaXNwbGF5OiBibG9ja2AuXG4qL1xuXG4gIDo6LXdlYmtpdC1kYXRldGltZS1lZGl0IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgfVxuXG4gIC8qXG4gIFJlbW92ZSBleGNlc3MgcGFkZGluZyBmcm9tIHBzZXVkby1lbGVtZW50cyBpbiBkYXRlL3RpbWUgaW5wdXRzIHRvIGVuc3VyZSBjb25zaXN0ZW50IGhlaWdodCBhY3Jvc3MgYnJvd3NlcnMuXG4qL1xuXG4gIDo6LXdlYmtpdC1kYXRldGltZS1lZGl0LWZpZWxkcy13cmFwcGVyIHtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG5cbiAgOjotd2Via2l0LWRhdGV0aW1lLWVkaXQsXG4gIDo6LXdlYmtpdC1kYXRldGltZS1lZGl0LXllYXItZmllbGQsXG4gIDo6LXdlYmtpdC1kYXRldGltZS1lZGl0LW1vbnRoLWZpZWxkLFxuICA6Oi13ZWJraXQtZGF0ZXRpbWUtZWRpdC1kYXktZmllbGQsXG4gIDo6LXdlYmtpdC1kYXRldGltZS1lZGl0LWhvdXItZmllbGQsXG4gIDo6LXdlYmtpdC1kYXRldGltZS1lZGl0LW1pbnV0ZS1maWVsZCxcbiAgOjotd2Via2l0LWRhdGV0aW1lLWVkaXQtc2Vjb25kLWZpZWxkLFxuICA6Oi13ZWJraXQtZGF0ZXRpbWUtZWRpdC1taWxsaXNlY29uZC1maWVsZCxcbiAgOjotd2Via2l0LWRhdGV0aW1lLWVkaXQtbWVyaWRpZW0tZmllbGQge1xuICAgIHBhZGRpbmctYmxvY2s6IDA7XG4gIH1cblxuICAvKlxuICBDZW50ZXIgZHJvcGRvd24gbWFya2VyIHNob3duIG9uIGlucHV0cyB3aXRoIHBhaXJlZCBgPGRhdGFsaXN0PmBzIGluIENocm9tZS4gKGh0dHBzOi8vZ2l0aHViLmNvbS90YWlsd2luZGxhYnMvdGFpbHdpbmRjc3MvaXNzdWVzLzE4NDk5KVxuKi9cblxuICA6Oi13ZWJraXQtY2FsZW5kYXItcGlja2VyLWluZGljYXRvciB7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gIH1cblxuICAvKlxuICBSZW1vdmUgdGhlIGFkZGl0aW9uYWwgYDppbnZhbGlkYCBzdHlsZXMgaW4gRmlyZWZveC4gKGh0dHBzOi8vZ2l0aHViLmNvbS9tb3ppbGxhL2dlY2tvLWRldi9ibG9iLzJmOWVhY2Q5ZDNkOTk1YzkzN2I0MjUxYTU1NTdkOTVkNDk0YzliZTEvbGF5b3V0L3N0eWxlL3Jlcy9mb3Jtcy5jc3MjTDcyOC1MNzM3KVxuKi9cblxuICA6LW1vei11aS1pbnZhbGlkIHtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICB9XG5cbiAgLypcbiAgQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIHRoZSBib3JkZXIgcmFkaXVzIGluIGlPUyBTYWZhcmkuXG4qL1xuXG4gIGJ1dHRvbixcbiAgaW5wdXQ6d2hlcmUoW3R5cGU9XCJidXR0b25cIl0sIFt0eXBlPVwicmVzZXRcIl0sIFt0eXBlPVwic3VibWl0XCJdKSxcbiAgOjpmaWxlLXNlbGVjdG9yLWJ1dHRvbiB7XG4gICAgYXBwZWFyYW5jZTogYnV0dG9uO1xuICB9XG5cbiAgLypcbiAgQ29ycmVjdCB0aGUgY3Vyc29yIHN0eWxlIG9mIGluY3JlbWVudCBhbmQgZGVjcmVtZW50IGJ1dHRvbnMgaW4gU2FmYXJpLlxuKi9cblxuICA6Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG4gIDo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG5cbiAgLypcbiAgTWFrZSBlbGVtZW50cyB3aXRoIHRoZSBIVE1MIGhpZGRlbiBhdHRyaWJ1dGUgc3RheSBoaWRkZW4gYnkgZGVmYXVsdC5cbiovXG5cbiAgW2hpZGRlbl06d2hlcmUoOm5vdChbaGlkZGVuPVwidW50aWwtZm91bmRcIl0pKSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBsYXllciB1dGlsaXRpZXMge1xuICBAdGFpbHdpbmQgdXRpbGl0aWVzO1xufVxuIiwiQGltcG9ydCBcInRhaWx3aW5kY3NzXCI7XG5cbi8qIFBvbGljZSBkZSBsJ2FwcGxpY2F0aW9uIDogQXRraW5zb24gSHlwZXJsZWdpYmxlIE5leHQgKEJyYWlsbGUgSW5zdGl0dXRlKSxcbiAgIGRlc3NpbsOpZSBwb3VyIGRpc3Rpbmd1ZXIgbGVzIGNhcmFjdMOocmVzIHF1aSBzZSByZXNzZW1ibGVudCAobCwgSSwgMSA7IDAsIE8pLlxuICAgSMOpYmVyZ8OpZSBwYXIgbGUgcHJvamV0IHZpYSBAZm9udHNvdXJjZS12YXJpYWJsZS4gKi9cbkB0aGVtZSB7XG4gICAgLS1mb250LXNhbnM6ICdBdGtpbnNvbiBIeXBlcmxlZ2libGUgTmV4dCBWYXJpYWJsZScsIHVpLXNhbnMtc2VyaWYsIHN5c3RlbS11aSwgc2Fucy1zZXJpZjtcbn1cblxuLyogQ2hpZmZyZXMgw6AgY2hhc3NlIGZpeGUgZGFucyBsZXMgY29sb25uZXMgY2hpZmZyw6llcyA6IGxlcyBtb250YW50cyBzJ2FsaWduZW50LiAqL1xuLnRkLS1yaWdodCxcbi5zdGF0LW51bWJlciB7XG4gICAgZm9udC12YXJpYW50LW51bWVyaWM6IHRhYnVsYXItbnVtcztcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBUSEVNRSAvIERFU0lHTiBUT0tFTlNcbiAgIERvaXQgw6p0cmUgZMOpY2xhcsOpIGF2YW50IGxlcyBpbXBvcnRzIHBvdXIgcXVlIGxlcyB2YXJpYWJsZXNcbiAgIHNvaWVudCBkaXNwb25pYmxlcyBkYW5zIHRvdXMgbGVzIGZpY2hpZXJzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBMQVlPVVRTXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuQGltcG9ydCBcIi4vbGF5b3V0cy9ib2R5LmNzc1wiO1xuQGltcG9ydCBcIi4vbGF5b3V0cy9oZWFkZXIuY3NzXCI7XG5AaW1wb3J0IFwiLi9sYXlvdXRzL2Zvb3Rlci5jc3NcIjtcblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDT01QT1NBTlRTIERFIEJBU0VcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5AaW1wb3J0IFwiLi9jb21wb25lbnRzL2J1dHRvbnMuY3NzXCI7XG5AaW1wb3J0IFwiLi9jb21wb25lbnRzL2lucHV0cy5jc3NcIjtcbkBpbXBvcnQgXCIuL2NvbXBvbmVudHMvdGFibGVzLmNzc1wiO1xuQGltcG9ydCBcIi4vY29tcG9uZW50cy9tb2RhbHMuY3NzXCI7XG5AaW1wb3J0IFwiLi9jb21wb25lbnRzL3RvYXN0cy5jc3NcIjtcbkBpbXBvcnQgXCIuL2NvbXBvbmVudHMvb3BlcmF0aW9ucy5jc3NcIjtcbkBpbXBvcnQgXCIuL2NvbXBvbmVudHMvYXV0by1xdWFsaWZpY2F0aW9uLmNzc1wiO1xuQGltcG9ydCBcIi4vY29tcG9uZW50cy9jb21wdGUuY3NzXCI7XG5AaW1wb3J0IFwiLi9jb21wb25lbnRzL3Byb2ZpbC5jc3NcIjtcbkBpbXBvcnQgXCIuL2NvbXBvbmVudHMvdXRpbGlzYXRldXJzLmNzc1wiO1xuQGltcG9ydCBcIi4vY29tcG9uZW50cy9kb3NzaWVyLmNzc1wiO1xuQGltcG9ydCBcIi4vY29tcG9uZW50cy9yZWdpc3RyZS5jc3NcIjtcblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDT01QT1NBTlRTIEFETUlOSVNUUkFUSUZTIFLDiVVUSUxJU0FCTEVTXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuQGltcG9ydCBcIi4vY29tcG9uZW50cy9hZG1pbi5jc3NcIjtcbkBpbXBvcnQgXCIuL2NvbXBvbmVudHMvc3RhdHMuY3NzXCI7XG5AaW1wb3J0IFwiLi9jb21wb25lbnRzL2FsZXJ0cy5jc3NcIjtcbkBpbXBvcnQgXCIuL2NvbXBvbmVudHMvbGlzdHMuY3NzXCI7XG5AaW1wb3J0IFwiLi9jb21wb25lbnRzL3B1YmxpYy5jc3NcIjtcblxuQHRoZW1lIHtcbiAgICAvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgICAgIFBSSU1BUlkg4oCUIEJsZXUgbWFyaW5lIHByb2ZvbmQgKGNvbmZpYW5jZSwgZmluYW5jZSlcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuICAgIC0tY29sb3ItcHJpbWFyeTogICAgICAjMGYyYTRhOyAgLyogcmF0aW8gYmxhbmMgMTQuNToxIOKchSBBQUEgKi9cbiAgICAtLWNvbG9yLXByaW1hcnktZGFyazogIzBhMWUzNTsgIC8qIHJhdGlvIGJsYW5jIDE4LjA6MSDinIUgQUFBICovXG4gICAgLS1jb2xvci1wcmltYXJ5LXRleHQ6ICNmZmZmZmY7XG5cbiAgICAvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgICAgIEFDQ0VOVCDigJQgT3IgYnJ1bmkgKHJhcHBlbCBsaXZyZXMgZGUgY29tcHRlcylcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuICAgIC0tY29sb3ItYWNjZW50OiAgICAgICAjOWM2NDAwOyAgLyogcmF0aW8gYmxhbmMgNS4wOjEg4pyFIEFBICovXG4gICAgLS1jb2xvci1hY2NlbnQtZGFyazogICM3YTRlMDA7ICAvKiByYXRpbyBibGFuYyA2Ljk6MSDinIUgQUFBICovXG4gICAgLS1jb2xvci1hY2NlbnQtdGV4dDogICNmZmZmZmY7XG5cbiAgICAvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgICAgIFNFTUFOVElDIChpbmNoYW5nw6lzIOKAlCByYXRpb3MgZMOpasOgIHZhbGlkw6lzKVxuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4gICAgLS1jb2xvci1zdWNjZXNzOiAgICAgICMxNmEzNGE7XG4gICAgLS1jb2xvci1zdWNjZXNzLWRhcms6ICMxNTgwM2Q7XG4gICAgLS1jb2xvci1zdWNjZXNzLXRleHQ6ICNmZmZmZmY7XG5cbiAgICAtLWNvbG9yLWRhbmdlcjogICAgICAgI2RjMjYyNjtcbiAgICAtLWNvbG9yLWRhbmdlci1kYXJrOiAgI2I5MWMxYztcbiAgICAtLWNvbG9yLWRhbmdlci10ZXh0OiAgI2ZmZmZmZjtcblxuICAgIC0tY29sb3Itd2FybmluZzogICAgICAjZDk3NzA2O1xuICAgIC0tY29sb3Itd2FybmluZy1kYXJrOiAjYjQ1MzA5O1xuICAgIC0tY29sb3Itd2FybmluZy10ZXh0OiAjZmZmZmZmO1xuXG4gICAgLS1jb2xvci1pbmZvOiAgICAgICAgICMwMjg0Yzc7XG4gICAgLS1jb2xvci1pbmZvLWRhcms6ICAgICMwMzY5YTE7XG4gICAgLS1jb2xvci1pbmZvLXRleHQ6ICAgICNmZmZmZmY7XG5cbiAgICAvKiDDiXRhcGUgwqsgw4AganVzdGlmaWVyIMK7IDogdW5lIHRlaW50ZSDDoCBlbGxlLCBkaXN0aW5jdGUgZGUgwqsgw4AgcXVhbGlmaWVyIMK7LlxuICAgICAgIEJhcnJlIHN1ciBwYW5uZWF1IDUuNzoxLCBzdXIgZm9uZCA1LjM6MSDinIUgKFVJIOKJpSAzKSA7XG4gICAgICAgdGV4dGUgZm9uY8OpIHN1ciBsYSBwYXN0aWxsZSB0ZWludMOpZSA3LjM6MSDinIUgQUEgKi9cbiAgICAtLWNvbG9yLWp1c3RpZnk6ICAgICAgIzdjM2FlZDtcbiAgICAtLWNvbG9yLWp1c3RpZnktZGFyazogIzViMjFiNjtcblxuICAgIC8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAgICAgQkFDS0dST1VORFMgJiBURVhUIOKAlCBUb25zIGdyaXMtYmxldSBmcm9pZHNcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuICAgIC0tY29sb3ItYmFja2dyb3VuZDogICAgICAgI2Y0ZjZmOTsgIC8qIEdyaXMtYmxldSB0csOocyBkb3V4ICovXG4gICAgLS1jb2xvci1iYWNrZ3JvdW5kLXBhbmVsOiAjZmZmZmZmO1xuICAgIC0tY29sb3ItdGV4dDogICAgICAgICAgICAgIzBmMmE0YTsgIC8qIHJhdGlvIDE0LjU6MSDinIUgQUFBICovXG4gICAgLS1jb2xvci10ZXh0LXNlY29uZGFyeTogICAjM2Q1YTc4OyAgLyogcmF0aW8gNi4zOjEg4pyFIEFBKyAqL1xuICAgIC0tY29sb3ItdGV4dC1tdXRlZDogICAgICAgIzc1OTBhODsgIC8qIHJhdGlvIDMuMToxIOKAlCBVSSBsYXJnZSB0ZXh0ICovXG5cbiAgICAtLWNvbG9yLWJvcmRlcjogICAgICAgICAgICNjZmQ4ZTM7XG4gICAgLS1jb2xvci1ib3JkZXItbGlnaHQ6ICAgICAjZTZlYmYxO1xuXG4gICAgLS1jb2xvci10ZXh0LW11dGVkLWFjY2Vzc2libGU6ICMzZDVhNzg7IC8qIHJhdGlvIDYuMzoxIOKchSBBQSAqL1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgREFSSyBNT0RFIOKAlCBNYXJpbmUgbm9jdHVybmVcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG46cm9vdC5kYXJrIHtcbiAgICAtLWNvbG9yLXByaW1hcnk6ICAgICAgICAgICM1YjliZDU7ICAvKiByYXRpbyBzdXIgIzBhMTgyNiA9IDUuNDoxIOKchSBBQSAqL1xuICAgIC0tY29sb3ItcHJpbWFyeS1kYXJrOiAgICAgIzQ4ODRiODtcblxuICAgIC0tY29sb3ItYmFja2dyb3VuZDogICAgICAgIzBhMTgyNjsgIC8qIEJsZXUgbWFyaW5lIHRyw6hzIHNvbWJyZSwgcGFzIG5vaXIgcHVyICovXG4gICAgLS1jb2xvci1iYWNrZ3JvdW5kLXBhbmVsOiAjMTMyNTM4OyAgLyogUGFuZWwgbMOpZ8OocmVtZW50IHBsdXMgY2xhaXIgKi9cblxuICAgIC0tY29sb3ItdGV4dDogICAgICAgICAgICAgI2VhZjFmODsgIC8qIHJhdGlvIDE2LjA6MSDinIUgQUFBICovXG4gICAgLS1jb2xvci10ZXh0LXNlY29uZGFyeTogICAjOWRiOGNkOyAgLyogcmF0aW8gNi4wOjEg4pyFIEFBKyAqL1xuICAgIC0tY29sb3ItdGV4dC1tdXRlZDogICAgICAgIzZhOGFhMzsgIC8qIHJhdGlvIDMuMzoxIOKAlCBVSSBsYXJnZSAqL1xuXG4gICAgLS1jb2xvci1ib3JkZXI6ICAgICAgICAgICAjMjM0MjVjO1xuICAgIC0tY29sb3ItYm9yZGVyLWxpZ2h0OiAgICAgIzFhMzI0NztcblxuICAgIC0tY29sb3ItYWNjZW50OiAgICAgICAgICAgI2UwYTYzYzsgIC8qIE9yIMOpY2xhaXJjaSBwb3VyIGRhcmsgPSByYXRpbyA2LjA6MSDinIUgQUErICovXG4gICAgLS1jb2xvci1hY2NlbnQtZGFyazogICAgICAjYzU4YzI2O1xuXG4gICAgLS1jb2xvci10ZXh0LW11dGVkLWFjY2Vzc2libGU6ICM5ZGI4Y2Q7IC8qIHJhdGlvIDYuMDoxIOKchSBBQUEgKi9cblxuICAgIC8qIFZpb2xldCDDqWNsYWlyY2kgOiBiYXJyZSBzdXIgcGFubmVhdSA1Ljc6MSwgc3VyIGZvbmQgNi42OjEg4pyFIDtcbiAgICAgICB0ZXh0ZSBkZSBsYSBwYXN0aWxsZSA2Ljc6MSDinIUgQUEgKi9cbiAgICAtLWNvbG9yLWp1c3RpZnk6ICAgICAgI2E3OGJmYTtcbiAgICAtLWNvbG9yLWp1c3RpZnktZGFyazogI2M0YjVmZDtcbn1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQkFTRSBCVVRUT05cbiAgIOKAlCBAdXRpbGl0eSBjYXIgLmJ0biBlc3QgdXRpbGlzw6kgdmlhIEBhcHBseSBkYW5zIGJ0bi1ncm91cFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbkB1dGlsaXR5IGJ0biB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBnYXA6IDAuNXJlbTtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgYm9yZGVyLXJhZGl1czogMC4zNzVyZW07XG4gICAgY3Vyc29yOiBwb2ludGVyOyAvKiBDdXJzZXVyIHBvaW50ZXIgcG91ciB0b3VzIGxlcyBib3V0b25zICovXG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMnM7XG5cbiAgICAvKiBMZXMgaWPDtG5lcyBuZSBkb2l2ZW50IHBhcyBpbnRlcmNlcHRlciBsZXMgY2xpY3MgKi9cbiAgICBpLCBzdmcgeyBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuXG4gICAgLyogTWFzcXVlIGxlIGZvY3VzIHNvdXJpcywgY29uc2VydmUgbGUgZm9jdXMgY2xhdmllciDinIUgKi9cbiAgICAmOmZvY3VzOm5vdCg6Zm9jdXMtdmlzaWJsZSkge1xuICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgIH1cbiAgICAvKiBGb2N1cyBjbGF2aWVyIHZpc2libGUg4oCUIGluZGljYXRldXIgc3RhbmRhcmQgMnB4IOKchSBXQ0FHIDIuNC4xMSAqL1xuICAgICY6Zm9jdXMtdmlzaWJsZSB7XG4gICAgICAgIG91dGxpbmU6IDJweCBzb2xpZCB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbiAgICAgICAgb3V0bGluZS1vZmZzZXQ6IDJweDtcbiAgICB9XG4gICAgJjpkaXNhYmxlZCB7XG4gICAgICAgIG9wYWNpdHk6IDAuNTtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgIGN1cnNvcjogZGVmYXVsdDsgLyogQ3Vyc2V1ciBub3JtYWwgcG91ciBsZXMgYm91dG9ucyBkw6lzYWN0aXbDqXMgKi9cbiAgICB9XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQlVUVE9OIFNJWkVTXG4gICDigJQgQHV0aWxpdHkgY2FyIGNlcyBjbGFzc2VzIHNlIGNvbWJpbmVudCBhdmVjIC5idG4gZW4gSFRNTFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbkB1dGlsaXR5IGJ0bi1zbSB7XG4gICAgcGFkZGluZzogMC4zNzVyZW0gMC43NXJlbTtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xufVxuXG5AdXRpbGl0eSBidG4tbWQge1xuICAgIHBhZGRpbmc6IDAuNXJlbSAxcmVtO1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG59XG5cbkB1dGlsaXR5IGJ0bi1sZyB7XG4gICAgcGFkZGluZzogMC43NXJlbSAxLjI1cmVtO1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbn1cblxuLyogSWNvbiBzaXplIGluc2lkZSBidXR0b24gKi9cbi5idG4gc3ZnLFxuLmJ0biBpIHtcbiAgICB3aWR0aDogMXJlbTtcbiAgICBoZWlnaHQ6IDFyZW07XG59XG5cbi5idG4tc20gc3ZnIHtcbiAgICB3aWR0aDogMC44NzVyZW07XG4gICAgaGVpZ2h0OiAwLjg3NXJlbTtcbn1cblxuLmJ0bi1sZyBzdmcge1xuICAgIHdpZHRoOiAxLjI1cmVtO1xuICAgIGhlaWdodDogMS4yNXJlbTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBJQ09OIE9OTFkgQlVUVE9OU1xuICAg4oCUIEB1dGlsaXR5IGNhciAuYnRuLWljb24gc2UgY29tYmluZSBhdmVjIC5idG4tc20gLyAuYnRuLWxnXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuQHV0aWxpdHkgYnRuLWljb24ge1xuICAgIHBhZGRpbmc6IDAuNXJlbTtcblxuICAgICYuYnRuLXNtIHtcbiAgICAgICAgcGFkZGluZzogMC4zNzVyZW07XG4gICAgfVxuICAgICYuYnRuLWxnIHtcbiAgICAgICAgcGFkZGluZzogMC43NXJlbTtcbiAgICB9XG5cbiAgICAmIHN2ZyxcbiAgICAmIGkge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgfVxufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFZBUklBTlRTXG4gICDigJQgQHV0aWxpdHkgY2FyIGxlcyB2YXJpYW50ZXMgc2UgY29tYmluZW50IGF2ZWMgLmJ0biBlbiBIVE1MXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuQHV0aWxpdHkgYnRuLXByaW1hcnkge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LXRleHQpO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnktZGFyayk7XG4gICAgfVxuICAgICY6Zm9jdXMtdmlzaWJsZSB7XG4gICAgICAgIC0tdHctcmluZy1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG4gICAgfVxufVxuXG5AdXRpbGl0eSBidG4tc2Vjb25kYXJ5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1ncmF5LTEwMCk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWdyYXktNzAwKTtcblxuICAgICY6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1ncmF5LTIwMCk7XG4gICAgfVxuICAgICY6Zm9jdXMtdmlzaWJsZSB7XG4gICAgICAgIC0tdHctcmluZy1jb2xvcjogdmFyKC0tY29sb3ItZ3JheS00MDApO1xuICAgIH1cbn1cblxuOnJvb3QuZGFyayAuYnRuLXNlY29uZGFyeSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItZ3JheS04MDApO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1ncmF5LTIwMCk7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItZ3JheS03MDApO1xuICAgIH1cbn1cblxuQHV0aWxpdHkgYnRuLXN1Y2Nlc3Mge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXN1Y2Nlc3MpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1zdWNjZXNzLXRleHQpO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXN1Y2Nlc3MtZGFyayk7XG4gICAgfVxuICAgICY6Zm9jdXMtdmlzaWJsZSB7XG4gICAgICAgIC0tdHctcmluZy1jb2xvcjogdmFyKC0tY29sb3Itc3VjY2Vzcyk7XG4gICAgfVxufVxuXG5AdXRpbGl0eSBidG4tZGFuZ2VyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1kYW5nZXIpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1kYW5nZXItdGV4dCk7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItZGFuZ2VyLWRhcmspO1xuICAgIH1cbiAgICAmOmZvY3VzLXZpc2libGUge1xuICAgICAgICAtLXR3LXJpbmctY29sb3I6IHZhcigtLWNvbG9yLWRhbmdlcik7XG4gICAgfVxufVxuXG5AdXRpbGl0eSBidG4td2FybmluZyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3Itd2FybmluZyk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXdhcm5pbmctdGV4dCk7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3Itd2FybmluZy1kYXJrKTtcbiAgICB9XG4gICAgJjpmb2N1cy12aXNpYmxlIHtcbiAgICAgICAgLS10dy1yaW5nLWNvbG9yOiB2YXIoLS1jb2xvci13YXJuaW5nKTtcbiAgICB9XG59XG5cbkB1dGlsaXR5IGJ0bi1pbmZvIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1pbmZvKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItaW5mby10ZXh0KTtcblxuICAgICY6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1pbmZvLWRhcmspO1xuICAgIH1cbiAgICAmOmZvY3VzLXZpc2libGUge1xuICAgICAgICAtLXR3LXJpbmctY29sb3I6IHZhcigtLWNvbG9yLWluZm8pO1xuICAgIH1cbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBPVVRMSU5FIEJVVFRPTlNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5AdXRpbGl0eSBidG4tb3V0bGluZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sb3ItZ3JheS0zMDApO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1ncmF5LTcwMCk7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItZ3JheS0xMDApO1xuICAgIH1cbiAgICAmOmZvY3VzLXZpc2libGUge1xuICAgICAgICAtLXR3LXJpbmctY29sb3I6IHZhcigtLWNvbG9yLWdyYXktNDAwKTtcbiAgICB9XG59XG5cbjpyb290LmRhcmsgLmJ0bi1vdXRsaW5lIHtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLWdyYXktNjAwKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItZ3JheS0yMDApO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWdyYXktODAwKTtcbiAgICB9XG59XG5cbkB1dGlsaXR5IGJ0bi1vdXRsaW5lLXByaW1hcnkge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNvbG9yLXByaW1hcnkpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcblxuICAgICY6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnktdGV4dCk7XG4gICAgfVxuICAgICY6Zm9jdXMtdmlzaWJsZSB7XG4gICAgICAgIC0tdHctcmluZy1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG4gICAgfVxufVxuXG5AdXRpbGl0eSBidG4tb3V0bGluZS1kYW5nZXIge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWRhbmdlcik7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWRhbmdlcik7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItZGFuZ2VyKTtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWRhbmdlci10ZXh0KTtcbiAgICB9XG4gICAgJjpmb2N1cy12aXNpYmxlIHtcbiAgICAgICAgLS10dy1yaW5nLWNvbG9yOiB2YXIoLS1jb2xvci1kYW5nZXIpO1xuICAgIH1cbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBHSE9TVCAvIExJTksgQlVUVE9OU1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbkB1dGlsaXR5IGJ0bi1naG9zdCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWdyYXktNjAwKTtcblxuICAgICY6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1ncmF5LTEwMCk7XG4gICAgfVxuICAgICY6Zm9jdXMtdmlzaWJsZSB7XG4gICAgICAgIC0tdHctcmluZy1jb2xvcjogdmFyKC0tY29sb3ItZ3JheS0zMDApO1xuICAgIH1cbn1cblxuOnJvb3QuZGFyayAuYnRuLWdob3N0IHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItZ3JheS0zMDApO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWdyYXktODAwKTtcbiAgICB9XG59XG5cbkB1dGlsaXR5IGJ0bi1saW5rIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG4gICAgdGV4dC11bmRlcmxpbmUtb2Zmc2V0OiA0cHg7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgfVxuICAgICY6Zm9jdXMtdmlzaWJsZSB7XG4gICAgICAgIC0tdHctcmluZy1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG4gICAgfVxufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEJVVFRPTiBHUk9VUFNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5AdXRpbGl0eSBidG4tZ3JvdXAge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuXG4gICAgJiAuYnRuIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICB9XG4gICAgJiAuYnRuOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMC4zNzVyZW0gMCAwIDAuMzc1cmVtO1xuICAgIH1cbiAgICAmIC5idG46bGFzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDAgMC4zNzVyZW0gMC4zNzVyZW0gMDtcbiAgICB9XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgTE9BRElORyBTVEFURVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbkB1dGlsaXR5IGJ0bi1sb2FkaW5nIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgb3BhY2l0eTogMC43O1xuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB3aWR0aDogMXJlbTtcbiAgICAgICAgaGVpZ2h0OiAxcmVtO1xuICAgICAgICBib3JkZXI6IDJweCBzb2xpZCB3aGl0ZTtcbiAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDk5OTlweDtcbiAgICAgICAgYW5pbWF0aW9uOiBzcGluIDFzIGxpbmVhciBpbmZpbml0ZTtcbiAgICB9XG59XG5cbkB1dGlsaXR5IGJ0bi1hY2NlbnQge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWFjY2VudCk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWFjY2VudC10ZXh0KTtcblxuICAgICY6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1hY2NlbnQtZGFyayk7XG4gICAgfVxuICAgICY6Zm9jdXMtdmlzaWJsZSB7XG4gICAgICAgIC0tdHctcmluZy1jb2xvcjogdmFyKC0tY29sb3ItYWNjZW50KTtcbiAgICB9XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgREFSSyBNT0RFIEVOSEFOQ0VNRU5UUyAtIEJPVVRPTlMgTU9ERVJORVNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKiBCb3V0b25zIHByaW1hcnkgcGx1cyBnbGFtb3VyIGVuIGRhcmsgbW9kZSAqL1xuOnJvb3QuZGFyayAuYnRuLXByaW1hcnkge1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHZhcigtLWNvbG9yLXByaW1hcnkpIDAlLCBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tY29sb3ItcHJpbWFyeSkgODAlLCB2YXIoLS1jb2xvci1hY2NlbnQpIDIwJSkgMTAwJSk7XG4gICAgYm94LXNoYWRvdzogMCA0cHggMTVweCBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tY29sb3ItcHJpbWFyeSkgMzAlLCB0cmFuc3BhcmVudCk7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgICAgYm94LXNoYWRvdzogMCA2cHggMjBweCBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tY29sb3ItcHJpbWFyeSkgNDAlLCB0cmFuc3BhcmVudCk7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMXB4KTtcbiAgICB9XG59XG5cbi8qIEJvdXRvbnMgYWNjZW50IGF2ZWMgZ2xvdyBlZmZlY3QgKi9cbjpyb290LmRhcmsgLmJ0bi1hY2NlbnQge1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHZhcigtLWNvbG9yLWFjY2VudCkgMCUsIGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1jb2xvci1hY2NlbnQpIDg1JSwgI2ZmNmI5ZCAxNSUpIDEwMCUpO1xuICAgIGJveC1zaGFkb3c6IDAgNHB4IDE1cHggY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLWNvbG9yLWFjY2VudCkgMjUlLCB0cmFuc3BhcmVudCk7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgICAgYm94LXNoYWRvdzogMCA2cHggMjVweCBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tY29sb3ItYWNjZW50KSAzNSUsIHRyYW5zcGFyZW50KTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xcHgpO1xuICAgIH1cbn1cblxuLyogQm91dG9ucyBnaG9zdCBwbHVzIHN1YnRpbHMgKi9cbjpyb290LmRhcmsgLmJ0bi1naG9zdCB7XG4gICAgYmFja2dyb3VuZDogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLWNvbG9yLWJhY2tncm91bmQtcGFuZWwpIDYwJSwgdHJhbnNwYXJlbnQpO1xuICAgIGJhY2tkcm9wLWZpbHRlcjogYmx1cigxMHB4KTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tY29sb3ItYm9yZGVyKSA1MCUsIHRyYW5zcGFyZW50KTtcblxuICAgICY6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tY29sb3ItYmFja2dyb3VuZC1wYW5lbCkgODAlLCB0cmFuc3BhcmVudCk7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItYm9yZGVyKTtcbiAgICB9XG59XG5cbi8qIFRoZW1lIHRvZ2dsZSBhdmVjIGFuaW1hdGlvbiBzcMOpY2lhbGUgKi9cbjpyb290LmRhcmsgLmhlYWRlci10aGVtZS10b2dnbGUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICY6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tY29sb3ItYWNjZW50KSAxNSUsIHRyYW5zcGFyZW50KTtcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIDE1cHggY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLWNvbG9yLWFjY2VudCkgMjAlLCB0cmFuc3BhcmVudCk7XG4gICAgfVxuXG4gICAgLyogQW5pbWF0aW9uIGdsb3cgcG91ciBsJ2ljw7RuZSBsdW5lICovXG4gICAgLmljb24tZGFyayB7XG4gICAgICAgIGZpbHRlcjogZHJvcC1zaGFkb3coMCAwIDhweCBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tY29sb3ItYWNjZW50KSA1MCUsIHRyYW5zcGFyZW50KSk7XG4gICAgfVxufVxuXG4vKlxuQm91dG9uIHRleHRlICAgICAgICAgIDogPGJ1dHRvbiBjbGFzcz1cImJ0biBidG4tcHJpbWFyeSBidG4tbWRcIj5WYWxpZGVyPC9idXR0b24+XG5Cb3V0b24gaWPDtG5lICsgdGV4dGUgIDogPGJ1dHRvbiBjbGFzcz1cImJ0biBidG4tc2Vjb25kYXJ5IGJ0bi1tZFwiPjxpIGRhdGEtbHVjaWRlPVwiZWRpdFwiPjwvaT4gTW9kaWZpZXI8L2J1dHRvbj5cbkJvdXRvbiBpY8O0bmUgc2V1bCAgICAgOiA8YnV0dG9uIGNsYXNzPVwiYnRuIGJ0bi1pY29uIGJ0bi1kYW5nZXIgYnRuLXNtXCI+PGkgZGF0YS1sdWNpZGU9XCJ0cmFzaFwiPjwvaT48L2J1dHRvbj5cbkJvdXRvbiBvdXRsaW5lICAgICAgICA6IDxidXR0b24gY2xhc3M9XCJidG4gYnRuLW91dGxpbmUtcHJpbWFyeSBidG4tbWRcIj5Bam91dGVyPC9idXR0b24+XG5Cb3V0b24gZ2hvc3QgICAgICAgICAgOiA8YnV0dG9uIGNsYXNzPVwiYnRuIGJ0bi1naG9zdCBidG4tc21cIj5Bbm51bGVyPC9idXR0b24+XG5Cb3V0b24gZMOpc2FjdGl2w6kgICAgICA6IDxidXR0b24gY2xhc3M9XCJidG4gYnRuLXByaW1hcnkgYnRuLW1kXCIgZGlzYWJsZWQ+RW5yZWdpc3RyZW1lbnTigKY8L2J1dHRvbj5cbiovXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQUNDRVNTSUJJTElUw4kg4oCUIEZPQ1VTIEVOIERBUksgTU9ERVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG46cm9vdC5kYXJrIC5idG46Zm9jdXMtdmlzaWJsZSB7XG4gICAgb3V0bGluZS1jb2xvcjogdmFyKC0tY29sb3ItYWNjZW50KTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBBQ0NFU1NJQklMSVTDiSDigJQgUsOJRFVDVElPTiBERVMgQU5JTUFUSU9OU1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5AbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuICAgIC5idG4ge1xuICAgICAgICB0cmFuc2l0aW9uOiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgIHRyYW5zZm9ybTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbn1cblxuIiwiQHV0aWxpdHkgZm9ybS1jb250cm9sIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBib3JkZXItcmFkaXVzOiAwLjM3NXJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sb3ItZ3JheS0zMDApO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgcGFkZGluZzogMC41cmVtIDAuNzVyZW07XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGNvbG9yOiB2YXIoLS1jb2xvci1ncmF5LTkwMCk7XG4gIHRyYW5zaXRpb246IGFsbCAwLjE1cztcbiAgJjo6cGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1ncmF5LTQwMCk7XG4gIH1cbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICByaW5nLXdpZHRoOiAycHg7XG4gICAgLS10dy1yaW5nLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xuICB9XG4gICY6ZGlzYWJsZWQge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWdyYXktMTAwKTtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgIG9wYWNpdHk6IDAuNztcbiAgfVxufVxuOnJvb3QuZGFyayAuZm9ybS1jb250cm9sIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItZ3JheS05MDApO1xuICBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLWdyYXktNzAwKTtcbiAgY29sb3I6IHZhcigtLWNvbG9yLWdyYXktMTAwKTtcbiAgJjo6cGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1ncmF5LTUwMCk7XG4gIH1cbiAgJjpmb2N1cyB7XG4gICAgLS10dy1yaW5nLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbiAgfVxufVxuQHV0aWxpdHkgZm9ybS1jb250cm9sLXNtIHtcbiAgcGFkZGluZzogMC4zNzVyZW0gMC41cmVtO1xuICBmb250LXNpemU6IDAuNzVyZW07XG59XG5AdXRpbGl0eSBmb3JtLWNvbnRyb2wtbWQge1xuICBwYWRkaW5nOiAwLjVyZW0gMC43NXJlbTtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbn1cbkB1dGlsaXR5IGZvcm0tY29udHJvbC1sZyB7XG4gIHBhZGRpbmc6IDAuNzVyZW0gMXJlbTtcbiAgZm9udC1zaXplOiAxcmVtO1xufVxudGV4dGFyZWEuZm9ybS1jb250cm9sIHtcbiAgbWluLWhlaWdodDogMTAwcHg7XG4gIHJlc2l6ZTogdmVydGljYWw7XG59XG5zZWxlY3QuZm9ybS1jb250cm9sIHtcbiAgcGFkZGluZy1yaWdodDogMi41cmVtO1xuICBhcHBlYXJhbmNlOiBub25lO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycgZmlsbD0nbm9uZScgdmlld0JveD0nMCAwIDI0IDI0JyBzdHJva2U9JyUyMzZCNzI4MCclM0UlM0NwYXRoIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCcgc3Ryb2tlLXdpZHRoPScyJyBkPSdNMTkgOWwtNyA3LTctNycvJTNFJTNDL3N2ZyUzRVwiKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiAxcmVtO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCAwLjc1cmVtIGNlbnRlcjtcbn1cbi5mb3JtLWNvbnRyb2xbcmVhZG9ubHldIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItZ3JheS01MCk7XG4gIGN1cnNvcjogZGVmYXVsdDtcbn1cbkB1dGlsaXR5IGZvcm0tY29udHJvbC1lcnJvciB7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItZGFuZ2VyKTtcbiAgJjpmb2N1cyB7XG4gICAgLS10dy1yaW5nLWNvbG9yOiB2YXIoLS1jb2xvci1kYW5nZXIpO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItZGFuZ2VyKTtcbiAgfVxufVxuQHV0aWxpdHkgZm9ybS1lcnJvci10ZXh0IHtcbiAgbWFyZ2luLXRvcDogMC4yNXJlbTtcbiAgZm9udC1zaXplOiAwLjc1cmVtO1xuICBjb2xvcjogdmFyKC0tY29sb3ItZGFuZ2VyKTtcbn1cbi5mb3JtLWdyb3VwIHtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbn1cbi5mb3JtLWxhYmVsIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi1ib3R0b206IDAuMjVyZW07XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci1ncmF5LTcwMCk7XG59XG46cm9vdC5kYXJrIC5mb3JtLWxhYmVsIHtcbiAgY29sb3I6IHZhcigtLWNvbG9yLWdyYXktMzAwKTtcbn1cbi5mb3JtLWhlbHAge1xuICBtYXJnaW4tdG9wOiAwLjI1cmVtO1xuICBmb250LXNpemU6IDAuNzVyZW07XG4gIGNvbG9yOiB2YXIoLS1jb2xvci1ncmF5LTUwMCk7XG59XG4uZm9ybS1jaGVjayB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogMC41cmVtO1xufVxuLmZvcm0tY2hlY2staW5wdXQge1xuICBoZWlnaHQ6IDFyZW07XG4gIHdpZHRoOiAxcmVtO1xuICBib3JkZXItcmFkaXVzOiAwLjI1cmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ncmF5LTMwMCk7XG4gIGFjY2VudC1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG4gICY6Zm9jdXMge1xuICAgIC0tdHctcmluZy1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG4gIH1cbiAgJjpkaXNhYmxlZCB7XG4gICAgb3BhY2l0eTogMC41O1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gIH1cbn1cbjpyb290LmRhcmsgLmZvcm0tY2hlY2staW5wdXQge1xuICBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLWdyYXktNjAwKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItZ3JheS05MDApO1xufVxuLmZvcm0tcmFkaW8taW5wdXQge1xuICBoZWlnaHQ6IDFyZW07XG4gIHdpZHRoOiAxcmVtO1xuICBib3JkZXItcmFkaXVzOiA5OTk5cHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWdyYXktMzAwKTtcbiAgYWNjZW50LWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbiAgJjpmb2N1cyB7XG4gICAgLS10dy1yaW5nLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbiAgfVxufVxuOnJvb3QuZGFyayAuZm9ybS1yYWRpby1pbnB1dCB7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItZ3JheS02MDApO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1ncmF5LTkwMCk7XG59XG4uZm9ybS1jaGVjay1sYWJlbCB7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGNvbG9yOiB2YXIoLS1jb2xvci1ncmF5LTcwMCk7XG59XG46cm9vdC5kYXJrIC5mb3JtLWNoZWNrLWxhYmVsIHtcbiAgY29sb3I6IHZhcigtLWNvbG9yLWdyYXktMzAwKTtcbn1cbjpyb290LmRhcmsgLmZvcm0tY2hlY2stbGFiZWwgYSB7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci1hY2NlbnQpO1xuICAmOmhvdmVyIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgfVxufVxuLmlucHV0LWljb24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4uaW5wdXQtaWNvbi1sZWZ0IHN2ZywgLmlucHV0LWljb24tbGVmdCBpIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwLjc1cmVtO1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICBjb2xvcjogdmFyKC0tY29sb3ItZ3JheS00MDApO1xufVxuLmlucHV0LWljb24tbGVmdCAuZm9ybS1jb250cm9sIHtcbiAgcGFkZGluZy1sZWZ0OiAyLjVyZW07XG59XG4uaW5wdXQtaWNvbi1yaWdodCBzdmcsIC5pbnB1dC1pY29uLXJpZ2h0IGkge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAwLjc1cmVtO1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICBjb2xvcjogdmFyKC0tY29sb3ItZ3JheS00MDApO1xufVxuLmlucHV0LWljb24tcmlnaHQgLmZvcm0tY29udHJvbCB7XG4gIHBhZGRpbmctcmlnaHQ6IDIuNXJlbTtcbn1cbi5mb3JtLWNvbnRyb2wtZmlsdGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItZ3JheS01MCk7XG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFRPQVNUIENPTlRBSU5FUlxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi50b2FzdC1jb250YWluZXIge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB0b3A6IDEuMjVyZW07XG4gICAgcmlnaHQ6IDEuMjVyZW07XG4gICAgei1pbmRleDogNTA7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogMC43NXJlbTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXgtd2lkdGg6IDI0cmVtO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFRPQVNUIEJBU0VcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udG9hc3Qge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgIGdhcDogMC43NXJlbTtcbiAgICBib3JkZXItcmFkaXVzOiAwLjVyZW07XG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sb3ItZ3JheS0yMDApO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgIHBhZGRpbmc6IDAuNzVyZW0gMXJlbTtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIGJveC1zaGFkb3c6IDAgMTBweCAxNXB4IC0zcHggcmdiKDAgMCAwIC8gMC4xKSwgMCA0cHggNnB4IC00cHggcmdiKDAgMCAwIC8gMC4xKTtcbiAgICBhbmltYXRpb246IHRvYXN0LWluIDAuMjVzIGVhc2Utb3V0O1xufVxuXG46cm9vdC5kYXJrIC50b2FzdCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItZ3JheS05MDApO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItZ3JheS03MDApO1xufVxuXG4vKiBJY29uICovXG4udG9hc3QtaWNvbiB7XG4gICAgbWFyZ2luLXRvcDogMC4xMjVyZW07XG4gICAgaGVpZ2h0OiAxLjI1cmVtO1xuICAgIHdpZHRoOiAxLjI1cmVtO1xuICAgIGZsZXgtc2hyaW5rOiAwO1xufVxuXG4vKiBDb250ZW50ICovXG4udG9hc3QtY29udGVudCB7XG4gICAgZmxleDogMTtcbn1cblxuLnRvYXN0LW1lc3NhZ2Uge1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbn1cblxuLypcbiAgIC50b2FzdC1jbG9zZSDigJQgbGVzIHN0eWxlcyB2aWVubmVudCBkZSBidG4gKyBidG4taWNvbiArIGJ0bi1naG9zdCArIGJ0bi1zbVxuICAgZMOpZmluaXMgY29tbWUgQHV0aWxpdHkgZGFucyBidXR0b25zLmNzcywgb24gbGVzIGFwcGxpcXVlIGRpcmVjdGVtZW50IGVuIEhUTUxcbiovXG4udG9hc3QtY2xvc2Uge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDAuNXJlbTtcbiAgICByaWdodDogMC41cmVtO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFZBUklBTlRTXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnRvYXN0LXN1Y2Nlc3Mge1xuICAgIGJvcmRlci1jb2xvcjogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLWNvbG9yLXN1Y2Nlc3MpIDMwJSwgdHJhbnNwYXJlbnQpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1jb2xvci1zdWNjZXNzKSAxMCUsIHRyYW5zcGFyZW50KTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3Itc3VjY2Vzcyk7XG59XG5cbi50b2FzdC1kYW5nZXIge1xuICAgIGJvcmRlci1jb2xvcjogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLWNvbG9yLWRhbmdlcikgMzAlLCB0cmFuc3BhcmVudCk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLWNvbG9yLWRhbmdlcikgMTAlLCB0cmFuc3BhcmVudCk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWRhbmdlcik7XG59XG5cbi50b2FzdC13YXJuaW5nIHtcbiAgICBib3JkZXItY29sb3I6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1jb2xvci13YXJuaW5nKSAzMCUsIHRyYW5zcGFyZW50KTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tY29sb3Itd2FybmluZykgMTAlLCB0cmFuc3BhcmVudCk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXdhcm5pbmcpO1xufVxuXG4udG9hc3QtaW5mbyB7XG4gICAgYm9yZGVyLWNvbG9yOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tY29sb3ItaW5mbykgMzAlLCB0cmFuc3BhcmVudCk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLWNvbG9yLWluZm8pIDEwJSwgdHJhbnNwYXJlbnQpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1pbmZvKTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBBTklNQVRJT05TXG4gICDigJQgQHV0aWxpdHkgcG91ciBhbmltYXRlLXRvYXN0LWluL291dCBjYXIgVGFpbHdpbmQgZG9pdFxuICAgICBsZXMgcmVjb25uYcOudHJlIHNpIHV0aWxpc8OpZXMgY29tbWUgY2xhc3NlcyBIVE1MXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuQGtleWZyYW1lcyB0b2FzdC1pbiB7XG4gICAgZnJvbSB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxNnB4KTtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICB9XG4gICAgdG8ge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxufVxuXG5Aa2V5ZnJhbWVzIHRvYXN0LW91dCB7XG4gICAgZnJvbSB7IG9wYWNpdHk6IDE7IH1cbiAgICB0byAgIHsgb3BhY2l0eTogMDsgfVxufVxuXG5AdXRpbGl0eSBhbmltYXRlLXRvYXN0LWluIHtcbiAgICBhbmltYXRpb246IHRvYXN0LWluIDAuMjVzIGVhc2Utb3V0O1xufVxuXG5AdXRpbGl0eSBhbmltYXRlLXRvYXN0LW91dCB7XG4gICAgYW5pbWF0aW9uOiB0b2FzdC1vdXQgMC4ycyBlYXNlLWluIGZvcndhcmRzO1xufVxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBCT0RZIC8gUk9PVFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbmh0bWwge1xuICAgIGhlaWdodDogMTAwJTtcbiAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xufVxuXG5ib2R5IHtcbiAgICBtaW4taGVpZ2h0OiAxMDAlO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJhY2tncm91bmQpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0KTtcbiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1zYW5zKTtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAzcmVtOyAvKiBoYXV0ZXVyIGR1IGZvb3RlciAqL1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIE1BSU4gQ09OVEVOVFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbm1haW4ge1xuICAgIGZsZXg6IDE7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgUEFHRSBDT05UQUlORVJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4ucGFnZSB7XG4gICAgbWF4LXdpZHRoOiA4MHJlbTtcbiAgICBtYXJnaW4taW5saW5lOiBhdXRvO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmctaW5saW5lOiAxLjVyZW07XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA2NDBweCkge1xuICAgIC5wYWdlIHsgcGFkZGluZy1pbmxpbmU6IDFyZW07IH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDQ4MHB4KSB7XG4gICAgLnBhZ2UgeyBwYWRkaW5nLWlubGluZTogMC43NXJlbTsgfVxufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFBBR0UgSEVBREVSIChUSVRMRSArIEFDVElPTlMpXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnBhZ2UtaGVhZGVyIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW07XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgZ2FwOiAxcmVtO1xufVxuXG4ucGFnZS10aXRsZSB7XG4gICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBsZXR0ZXItc3BhY2luZzogLTAuMDI1ZW07XG59XG5cbi5wYWdlLXN1YnRpdGxlIHtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgU0VDVElPTlxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5zZWN0aW9uIHtcbiAgICBtYXJnaW4tYm90dG9tOiAycmVtO1xufVxuXG4uc2VjdGlvbi10aXRsZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMC43NXJlbTtcbiAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgRU1QVFkgU1RBVEVcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uZW1wdHktc3RhdGUge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHBhZGRpbmctYmxvY2s6IDRyZW07XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LW11dGVkLWFjY2Vzc2libGUsIHZhcigtLWNvbG9yLXRleHQtbXV0ZWQpKTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBEQVJLIE1PREUgRU5IQU5DRU1FTlRTIC0gTEFZT1VUIE1PREVSTkVcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG46cm9vdC5kYXJrIGJvZHkge1xuICAgIC8qIEdyYWRpZW50IHN1YnRpbCBwb3VyIMOpdml0ZXIgbGUgXCJmbGF0IGxvb2tcIiAqL1xuICAgIGJhY2tncm91bmQ6IHJhZGlhbC1ncmFkaWVudChlbGxpcHNlIGF0IHRvcCwgY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLWNvbG9yLWJhY2tncm91bmQpIDk1JSwgdmFyKC0tY29sb3ItcHJpbWFyeSkgNSUpIDAlLCB2YXIoLS1jb2xvci1iYWNrZ3JvdW5kKSA3MCUpO1xufVxuXG4vKiBQYW5lbHMgYXZlYyBlZmZldHMgZ2xhc3Ntb3JwaGlzbSAqL1xuOnJvb3QuZGFyayAucGFnZSB7XG4gICAgLyogQ29udGVuZXVyIHByaW5jaXBhbCBhdmVjIHN1YnRsZSBnbG93ICovXG4gICAgZmlsdGVyOiBkcm9wLXNoYWRvdygwIDAgMjBweCBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tY29sb3ItcHJpbWFyeSkgNSUsIHRyYW5zcGFyZW50KSk7XG59XG5cbi8qIEhlYWRlcnMgcGx1cyDDqWzDqWdhbnRzICovXG46cm9vdC5kYXJrIC5wYWdlLXRpdGxlIHtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCB2YXIoLS1jb2xvci10ZXh0KSAwJSwgY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLWNvbG9yLXRleHQpIDgwJSwgdmFyKC0tY29sb3ItYWNjZW50KSAyMCUpIDEwMCUpO1xuICAgIGJhY2tncm91bmQtY2xpcDogdGV4dDtcbiAgICAtd2Via2l0LWJhY2tncm91bmQtY2xpcDogdGV4dDtcbiAgICAtd2Via2l0LXRleHQtZmlsbC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgZmlsdGVyOiBkcm9wLXNoYWRvdygwIDJweCA0cHggY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLWNvbG9yLXByaW1hcnkpIDIwJSwgdHJhbnNwYXJlbnQpKTtcbn1cblxuLyogU2VjdGlvbnMgYXZlYyBjYXJkcyBtb2Rlcm5lcyAqL1xuOnJvb3QuZGFyayAuc2VjdGlvbiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4vKiBDYXJkcyBldCBwYW5lbHMgYXZlYyBnbGFzc21vcnBoaXNtICovXG46cm9vdC5kYXJrIC50YWJsZS13cmFwcGVyLFxuOnJvb3QuZGFyayAubW9kYWwsXG46cm9vdC5kYXJrIC5hZG1pbi1jYXJkLFxuOnJvb3QuZGFyayBbY2xhc3MqPVwicGFuZWxcIl0ge1xuICAgIGJhY2tncm91bmQ6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1jb2xvci1iYWNrZ3JvdW5kLXBhbmVsKSA5MCUsIHRyYW5zcGFyZW50KTtcbiAgICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoMTBweCk7XG4gICAgYm9yZGVyOiAxcHggc29saWQgY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLWNvbG9yLWJvcmRlcikgNjAlLCB0cmFuc3BhcmVudCk7XG4gICAgYm94LXNoYWRvdzpcbiAgICAgICAgMCA4cHggMzJweCBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tY29sb3ItcHJpbWFyeSkgOCUsIHRyYW5zcGFyZW50KSxcbiAgICAgICAgaW5zZXQgMCAxcHggMCBjb2xvci1taXgoaW4gc3JnYiwgd2hpdGUgMTAlLCB0cmFuc3BhcmVudCk7XG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEhFQURFUlxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qIEwnZW4tdMOqdGUgZXN0IGVudmVsb3Bww6kgKGNvbnRyw7RsZXVyIG1vYmlsZS1tZW51KSA6IGMnZXN0IGwnZW52ZWxvcHBlIHF1aVxuICAgY29sbGUgZW4gaGF1dC4gVW4gw6lsw6ltZW50IGNvbGxhbnQgbmUgY29sbGUgcXVlIGRhbnMgc29uIHBhcmVudCA7IGNvbGzDqVxuICAgc2V1bCBkYW5zIHVuZSBlbnZlbG9wcGUgZGUgc2EgaGF1dGV1ciwgbCdlbi10w6p0ZSBwYXJ0YWl0IGF2ZWMgbGEgcGFnZSBldFxuICAgbGUgbWVudSBkZSBnYXVjaGUgKGNvbGzDqSDDoCA0cmVtKSBzJ2VuIGTDqXRhY2hhaXQuICovXG4uaGVhZGVyLXpvbmUge1xuICAgIHBvc2l0aW9uOiBzdGlja3k7XG4gICAgdG9wOiAwO1xuICAgIHotaW5kZXg6IDQwO1xufVxuXG4uaGVhZGVyIHtcbiAgICBwb3NpdGlvbjogc3RpY2t5O1xuICAgIHRvcDogMDtcbiAgICB6LWluZGV4OiA0MDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGhlaWdodDogNHJlbTtcbiAgICBwYWRkaW5nLWlubGluZTogMnJlbTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgY29sb3ItbWl4KGluIHNyZ2IsIHdoaXRlIDEwJSwgdHJhbnNwYXJlbnQpO1xuICAgIGJveC1zaGFkb3c6IDAgMnB4IDEycHggcmdiKDAgMCAwIC8gMC4xNSk7XG59XG5cbi8qIEhlYWRlciBwbHVzIG1vZGVybmUgZW4gZGFyayBtb2RlICovXG46cm9vdC5kYXJrIC5oZWFkZXIge1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHZhcigtLWNvbG9yLXByaW1hcnkpIDAlLCBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tY29sb3ItcHJpbWFyeSkgODUlLCB2YXIoLS1jb2xvci1hY2NlbnQpIDE1JSkgMTAwJSk7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1jb2xvci1hY2NlbnQpIDIwJSwgdHJhbnNwYXJlbnQpO1xuICAgIGJveC1zaGFkb3c6IDAgNHB4IDIwcHggcmdiKDAgMCAwIC8gMC4zKSwgMCAwIDIwcHggY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLWNvbG9yLXByaW1hcnkpIDIwJSwgdHJhbnNwYXJlbnQpO1xuICAgIGJhY2tkcm9wLWZpbHRlcjogYmx1cigxMHB4KTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBMT0dPXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmhlYWRlci1sb2dvIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcbiAgICBnYXA6IDAuMzc1cmVtO1xuICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBsZXR0ZXItc3BhY2luZzogLTAuMDFlbTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgZmxleC1zaHJpbms6IDA7XG59XG5cbi5oZWFkZXItbG9nby1ncm91cCB7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG5cbi5oZWFkZXItbG9nby1icmFuZCB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWFjY2VudCk7XG4gICAgZm9udC13ZWlnaHQ6IDgwMDtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG5cbi8qIFJlcMOocmUgZGUgbCdpbnN0YW5jZSDCqyBpbXBvcnQgwrsgOiBkb25uw6llcyByw6llbGxlcywgw6AgZGlzdGluZ3VlciBkZSBsYSBkw6ltby4gKi9cbi5oZWFkZXItaW5zdGFuY2Uge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiAwLjM3NXJlbTtcbiAgICBtYXJnaW4tbGVmdDogMC43NXJlbTtcbiAgICBwYWRkaW5nOiAwLjI1cmVtIDAuNjI1cmVtO1xuICAgIGJvcmRlci1yYWRpdXM6IDk5OXB4O1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXdhcm5pbmctZGFyayk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXdhcm5pbmctdGV4dCk7XG4gICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLmhlYWRlci1pbnN0YW5jZSBzdmcsXG4uaGVhZGVyLWluc3RhbmNlIGkge1xuICAgIHdpZHRoOiAwLjg3NXJlbTtcbiAgICBoZWlnaHQ6IDAuODc1cmVtO1xufVxuXG4vKiBMJ2FkbWluIGNvbm5lY3TDqSBlbiB0YW50IHF1J3VuIHRyw6lzb3JpZXIgOiBpbCBhZ2l0IGF1IG5vbSBkZSBxdWVscXUndW4gZCdhdXRyZS5cbiAgIEJsYW5jIHN1ciByb3VnZSBmb25jw6kgNi41OjEg4pyFIEFBICovXG4uaGVhZGVyLWltcGVyc29uYXRpb24ge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiAwLjVyZW07XG4gICAgbWFyZ2luLWxlZnQ6IDAuNzVyZW07XG4gICAgcGFkZGluZzogMC4yNXJlbSAwLjM3NXJlbSAwLjI1cmVtIDAuNjI1cmVtO1xuICAgIGJvcmRlci1yYWRpdXM6IDk5OXB4O1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWRhbmdlci1kYXJrKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItZGFuZ2VyLXRleHQpO1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgbWluLXdpZHRoOiAwO1xufVxuXG4uaGVhZGVyLWltcGVyc29uYXRpb24gc3ZnLFxuLmhlYWRlci1pbXBlcnNvbmF0aW9uIGkge1xuICAgIHdpZHRoOiAwLjg3NXJlbTtcbiAgICBoZWlnaHQ6IDAuODc1cmVtO1xuICAgIGZsZXgtc2hyaW5rOiAwO1xufVxuXG4uaGVhZGVyLWltcGVyc29uYXRpb24tbGFiZWwge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG59XG5cbi5oZWFkZXItaW1wZXJzb25hdGlvbi1leGl0IHtcbiAgICBwYWRkaW5nOiAwLjEyNXJlbSAwLjVyZW07XG4gICAgYm9yZGVyLXJhZGl1czogOTk5cHg7XG4gICAgYmFja2dyb3VuZDogd2hpdGU7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWRhbmdlci1kYXJrKTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLmhlYWRlci1pbXBlcnNvbmF0aW9uLWV4aXQ6aG92ZXIge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuXG4uaGVhZGVyLWltcGVyc29uYXRpb24tZXhpdDpmb2N1cy12aXNpYmxlIHtcbiAgICBvdXRsaW5lOiAycHggc29saWQgd2hpdGU7XG4gICAgb3V0bGluZS1vZmZzZXQ6IDJweDtcbn1cblxuLyogU3VyIHBldGl0IMOpY3JhbiwgbGUgbm9tIGVzdCBkYW5zIGxlIG1lbnUgZHUgY29tcHRlIDogb24gZ2FyZGUgbGEgc29ydGllLiAqL1xuQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgLmhlYWRlci1pbXBlcnNvbmF0aW9uLWxhYmVsIHsgZGlzcGxheTogbm9uZTsgfVxuICAgIC5oZWFkZXItaW1wZXJzb25hdGlvbiB7IG1hcmdpbi1sZWZ0OiAwLjVyZW07IH1cbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBOQVZJR0FUSU9OXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmhlYWRlci1uYXYge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDAuMjVyZW07XG59XG5cbi5oZWFkZXItbmF2LWxpbmsge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nOiAwLjM3NXJlbSAwLjg3NXJlbTtcbiAgICBmb250LXNpemU6IDAuOHJlbTtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjA4ZW07XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBjb2xvcjogY29sb3ItbWl4KGluIHNyZ2IsIHdoaXRlIDc1JSwgdHJhbnNwYXJlbnQpO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBib3JkZXItcmFkaXVzOiAwLjM3NXJlbTtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjE1cywgYmFja2dyb3VuZC1jb2xvciAwLjE1cztcblxuICAgICY6aG92ZXIge1xuICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yLW1peChpbiBzcmdiLCB3aGl0ZSAxMCUsIHRyYW5zcGFyZW50KTtcbiAgICB9XG5cbiAgICAmLmFjdGl2ZSB7XG4gICAgICAgIGNvbG9yOiB3aGl0ZTtcblxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGJvdHRvbTogLTAuMnJlbTtcbiAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICAgICAgICAgIHdpZHRoOiAxLjVyZW07XG4gICAgICAgICAgICBoZWlnaHQ6IDJweDtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDk5OTlweDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWFjY2VudCk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQUNUSU9OUyBEUk9JVEVcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKiBMZXMgaWPDtG5lcyBkYW5zIGxlcyDDqWzDqW1lbnRzIGNsaXF1YWJsZXMgZHUgaGVhZGVyIG5lIGRvaXZlbnQgcGFzIGJsb3F1ZXIgbGVzIGNsaWNzICovXG4uaGVhZGVyLXJpZ2h0IGksXG4uaGVhZGVyLXJpZ2h0IHN2Zyxcbi5oZWFkZXItdXNlciBpLFxuLmhlYWRlci11c2VyIHN2Zyxcbi5kcm9wZG93bi1pdGVtIGksXG4uZHJvcGRvd24taXRlbSBzdmcge1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG4uaGVhZGVyLXJpZ2h0IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiAwLjI1cmVtO1xuICAgIGZsZXgtc2hyaW5rOiAwO1xufVxuXG4vKiBPdmVycmlkZSBidG4tZ2hvc3QgcG91ciBmb25kIHNvbWJyZSAqL1xuLmhlYWRlci1hY3Rpb24ge1xuICAgIGNvbG9yOiBjb2xvci1taXgoaW4gc3JnYiwgd2hpdGUgNzUlLCB0cmFuc3BhcmVudCk7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvci1taXgoaW4gc3JnYiwgd2hpdGUgMTAlLCB0cmFuc3BhcmVudCk7XG4gICAgfVxufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFRIRU1FIFRPR0dMRSBBVkVDIENPVUxFVVJTIElOVFVJVElWRVNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uaGVhZGVyLXRoZW1lLXRvZ2dsZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7XG4gICAgY3Vyc29yOiBwb2ludGVyOyAvKiBDdXJzZXVyIHBvaW50ZXIgcG91ciBpbmRpcXVlciBxdWUgYydlc3QgY2xpcXVhYmxlICovXG5cbiAgICAvKiBJY8O0bmUgc29sZWlsIChtb2RlIGxpZ2h0IGFjdHVlbCkgLSBKYXVuZSBzb2xhaXJlICovXG4gICAgLmljb24tbGlnaHQge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgY29sb3I6ICNmYmJmMjQ7IC8qIEphdW5lIHNvbGVpbCB2aWJyYW50ICovXG4gICAgICAgIGZpbHRlcjogZHJvcC1zaGFkb3coMCAwIDhweCBjb2xvci1taXgoaW4gc3JnYiwgI2ZiYmYyNCA0MCUsIHRyYW5zcGFyZW50KSk7XG4gICAgfVxuXG4gICAgLyogSWPDtG5lIGx1bmUgKGNhY2jDqWUgZW4gbW9kZSBsaWdodCkgKi9cbiAgICAuaWNvbi1kYXJrIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAvKiBFZmZldCBob3ZlciBzdXIgbGUgc29sZWlsICovXG4gICAgJjpob3ZlciAuaWNvbi1saWdodCB7XG4gICAgICAgIGNvbG9yOiAjZjU5ZTBiOyAvKiBPcmFuZ2UgcGx1cyBjaGF1ZCBhdSBob3ZlciAqL1xuICAgICAgICBmaWx0ZXI6IGRyb3Atc2hhZG93KDAgMCAxMnB4IGNvbG9yLW1peChpbiBzcmdiLCAjZjU5ZTBiIDYwJSwgdHJhbnNwYXJlbnQpKTtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTVkZWcpO1xuICAgIH1cbn1cblxuLyogTW9kZSBzb21icmUgYWN0aXbDqSAtIEljw7RuZSBsdW5lIFRSw4hTIFZJU0lCTEUgKi9cbjpyb290LmRhcmsgLmhlYWRlci10aGVtZS10b2dnbGUge1xuICAgIC8qIEljw7RuZSBsdW5lIChtb2RlIGRhcmsgYWN0dWVsKSAtIENvdWxldXIgVFLDiFMgY29udHJhc3TDqWUgKi9cbiAgICAuaWNvbi1kYXJrIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGNvbG9yOiAjZmJiZjI0OyAvKiBKQVVORSBDTEFJUiBwb3VyIG1heGltdW0gZGUgY29udHJhc3RlICovXG4gICAgICAgIGZpbHRlcjogZHJvcC1zaGFkb3coMCAwIDEycHggY29sb3ItbWl4KGluIHNyZ2IsICNmYmJmMjQgNjAlLCB0cmFuc3BhcmVudCkpO1xuICAgIH1cblxuICAgIC8qIEljw7RuZSBzb2xlaWwgKGNhY2jDqWUgZW4gbW9kZSBkYXJrKSAqL1xuICAgIC5pY29uLWxpZ2h0IHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAvKiBFZmZldCBob3ZlciBzdXIgbGEgbHVuZSAqL1xuICAgICY6aG92ZXIgLmljb24tZGFyayB7XG4gICAgICAgIGNvbG9yOiAjZmRlMDQ3OyAvKiBKYXVuZSBlbmNvcmUgcGx1cyB2aWYgYXUgaG92ZXIgKi9cbiAgICAgICAgZmlsdGVyOiBkcm9wLXNoYWRvdygwIDAgMThweCBjb2xvci1taXgoaW4gc3JnYiwgI2ZkZTA0NyA4MCUsIHRyYW5zcGFyZW50KSk7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xKTtcbiAgICB9XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgTk9USUZJQ0FUSU9OUyBBVkVDIENPVUxFVVIgRCdBVFRFTlRJT05cbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uaGVhZGVyLXJpZ2h0IC5idG5bYXJpYS1sYWJlbD1cIk5vdGlmaWNhdGlvbnNcIl0ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7IC8qIEN1cnNldXIgcG9pbnRlciAqL1xuXG4gICAgLyogSWPDtG5lIGJlbGwgLSBPcmFuZ2UgYXR0ZW50aW9uICovXG4gICAgaVtkYXRhLWx1Y2lkZT1cImJlbGxcIl0ge1xuICAgICAgICBjb2xvcjogI2Y5NzMxNjsgLyogT3JhbmdlIHZpZiBwb3VyIGF0dGlyZXIgbCdhdHRlbnRpb24gKi9cbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTtcbiAgICB9XG5cbiAgICAvKiBFZmZldCBob3ZlciAqL1xuICAgICY6aG92ZXIgaVtkYXRhLWx1Y2lkZT1cImJlbGxcIl0ge1xuICAgICAgICBjb2xvcjogI2VhNTgwYzsgLyogT3JhbmdlIHBsdXMgaW50ZW5zZSAqL1xuICAgICAgICBmaWx0ZXI6IGRyb3Atc2hhZG93KDAgMCA4cHggY29sb3ItbWl4KGluIHNyZ2IsICNlYTU4MGMgNTAlLCB0cmFuc3BhcmVudCkpO1xuICAgICAgICBhbmltYXRpb246IGJlbGwtc2hha2UgMC41cyBlYXNlLWluLW91dDtcbiAgICB9XG5cbiAgICAvKiBBbmltYXRpb24gc2hha2UgcG91ciBsYSBub3RpZmljYXRpb24gKi9cbiAgICBAa2V5ZnJhbWVzIGJlbGwtc2hha2Uge1xuICAgICAgICAwJSwgMTAwJSB7IHRyYW5zZm9ybTogcm90YXRlKDBkZWcpOyB9XG4gICAgICAgIDI1JSB7IHRyYW5zZm9ybTogcm90YXRlKC0xMGRlZyk7IH1cbiAgICAgICAgNzUlIHsgdHJhbnNmb3JtOiByb3RhdGUoMTBkZWcpOyB9XG4gICAgfVxufVxuXG4vKiBFbiBtb2RlIHNvbWJyZSwgY291bGV1cnMgcGx1cyBjb250cmFzdMOpZXMgKi9cbjpyb290LmRhcmsgLmhlYWRlci1yaWdodCAuYnRuW2FyaWEtbGFiZWw9XCJOb3RpZmljYXRpb25zXCJdIHtcbiAgICBpW2RhdGEtbHVjaWRlPVwiYmVsbFwiXSB7XG4gICAgICAgIGNvbG9yOiAjZmJiZjI0OyAvKiBKYXVuZSBwb3VyIG1laWxsZXVyZSB2aXNpYmlsaXTDqSBlbiBkYXJrICovXG4gICAgfVxuXG4gICAgJjpob3ZlciBpW2RhdGEtbHVjaWRlPVwiYmVsbFwiXSB7XG4gICAgICAgIGNvbG9yOiAjZjU5ZTBiO1xuICAgICAgICBmaWx0ZXI6IGRyb3Atc2hhZG93KDAgMCAxMnB4IGNvbG9yLW1peChpbiBzcmdiLCAjZjU5ZTBiIDYwJSwgdHJhbnNwYXJlbnQpKTtcbiAgICB9XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgVVNFUiBNRU5VXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmhlYWRlci11c2VyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiAwLjVyZW07XG4gICAgcGFkZGluZzogMC4zNzVyZW0gMC43NXJlbTtcbiAgICBib3JkZXItcmFkaXVzOiAwLjVyZW07XG4gICAgY3Vyc29yOiBwb2ludGVyOyAvKiBDdXJzZXVyIHBvaW50ZXIgcG91ciBpbmRpcXVlciBxdWUgYydlc3QgY2xpcXVhYmxlICovXG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjE1cztcbiAgICBtYXJnaW4tbGVmdDogMC4yNXJlbTtcblxuICAgICY6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvci1taXgoaW4gc3JnYiwgd2hpdGUgMTAlLCB0cmFuc3BhcmVudCk7XG5cbiAgICAgICAgLyogQW5pbWF0aW9uIGR1IGNoZXZyb24gYXUgaG92ZXIgKi9cbiAgICAgICAgLmhlYWRlci11c2VyLWNoZXZyb24ge1xuICAgICAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWFjY2VudCk7IC8qIFJvc2UvbWFnZW50YSBhY2NlbnQgKi9cbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMXB4KTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmhlYWRlci11c2VyLWF2YXRhciB7XG4gICAgaGVpZ2h0OiAycmVtO1xuICAgIHdpZHRoOiAycmVtO1xuICAgIGJvcmRlci1yYWRpdXM6IDk5OTlweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1hY2NlbnQpO1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgZm9udC1zaXplOiAwLjdyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4wNWVtO1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIC8qIEdyYWRpZW50IG1vZGVybmUgKi9cbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCB2YXIoLS1jb2xvci1hY2NlbnQpIDAlLCBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tY29sb3ItYWNjZW50KSA4MCUsIHZhcigtLWNvbG9yLXByaW1hcnkpIDIwJSkgMTAwJSk7XG4gICAgYm94LXNoYWRvdzogMCAycHggOHB4IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1jb2xvci1hY2NlbnQpIDMwJSwgdHJhbnNwYXJlbnQpO1xuXG4gICAgLyogRWZmZXQgcHVsc2Ugc3VidGlsICovXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgaW5zZXQ6IC0ycHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IGluaGVyaXQ7XG4gICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHZhcigtLWNvbG9yLWFjY2VudCksIHZhcigtLWNvbG9yLXByaW1hcnkpKTtcbiAgICAgICAgei1pbmRleDogLTE7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBlYXNlO1xuICAgIH1cblxuICAgICY6aG92ZXI6OmJlZm9yZSB7XG4gICAgICAgIG9wYWNpdHk6IDAuMztcbiAgICAgICAgYW5pbWF0aW9uOiBwdWxzZS1nbG93IDJzIGluZmluaXRlO1xuICAgIH1cbn1cblxuQGtleWZyYW1lcyBwdWxzZS1nbG93IHtcbiAgICAwJSwgMTAwJSB7IHRyYW5zZm9ybTogc2NhbGUoMSk7IG9wYWNpdHk6IDAuMzsgfVxuICAgIDUwJSB7IHRyYW5zZm9ybTogc2NhbGUoMS4wNSk7IG9wYWNpdHk6IDAuMTsgfVxufVxuXG4uaGVhZGVyLXVzZXItbmFtZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgY29sb3I6IHdoaXRlO1xuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbn1cblxuLmhlYWRlci11c2VyLWNoZXZyb24ge1xuICAgIHdpZHRoOiAwLjg3NXJlbTtcbiAgICBoZWlnaHQ6IDAuODc1cmVtO1xuICAgIGNvbG9yOiBjb2xvci1taXgoaW4gc3JnYiwgd2hpdGUgNjAlLCB0cmFuc3BhcmVudCk7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTtcbn1cblxuLmhlYWRlci11c2VyW2FyaWEtZXhwYW5kZWQ9XCJ0cnVlXCJdIC5oZWFkZXItdXNlci1jaGV2cm9uIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEJVUkdFUiBCVVRUT04g4oCUIG1vYmlsZSBvbmx5XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmhlYWRlci1idXJnZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB3aWR0aDogMi4yNXJlbTtcbiAgICBoZWlnaHQ6IDIuMjVyZW07XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJvcmRlci1yYWRpdXM6IDAuMzc1cmVtO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBjb2xvcjogY29sb3ItbWl4KGluIHNyZ2IsIHdoaXRlIDc1JSwgdHJhbnNwYXJlbnQpO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuMTVzLCBiYWNrZ3JvdW5kLWNvbG9yIDAuMTVzO1xuICAgIG1hcmdpbi1sZWZ0OiAwLjI1cmVtO1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuXG4gICAgaSB7IHdpZHRoOiAxLjI1cmVtOyBoZWlnaHQ6IDEuMjVyZW07IHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG5cbiAgICAuYnVyZ2VyLWljb24tY2xvc2UgeyBkaXNwbGF5OiBub25lOyB9XG4gICAgLmJ1cmdlci1pY29uLW9wZW4gIHsgZGlzcGxheTogYmxvY2s7IH1cblxuICAgICYuaXMtYWN0aXZlIHtcbiAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgICAuYnVyZ2VyLWljb24tb3BlbiAgeyBkaXNwbGF5OiBub25lOyB9XG4gICAgICAgIC5idXJnZXItaWNvbi1jbG9zZSB7IGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgfVxuXG4gICAgJjpob3ZlciB7XG4gICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgICAgYmFja2dyb3VuZDogY29sb3ItbWl4KGluIHNyZ2IsIHdoaXRlIDEwJSwgdHJhbnNwYXJlbnQpO1xuICAgIH1cbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBNT0JJTEUgTkFWIERSQVdFUlxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qIENhY2jDqSBzdXIgZGVza3RvcCAqL1xuLmhlYWRlci1tb2JpbGUtbmF2IHsgZGlzcGxheTogbm9uZTsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFJFU1BPTlNJVkUg4oCUIGJyZWFrcG9pbnRzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgLyogSGVhZGVyICovXG4gICAgLmhlYWRlciB7XG4gICAgICAgIHBhZGRpbmctaW5saW5lOiAxcmVtO1xuICAgIH1cblxuICAgIC8qIE1hc3F1ZXIgbmF2IGRlc2t0b3AgKi9cbiAgICAuaGVhZGVyLW5hdiB7IGRpc3BsYXk6IG5vbmU7IH1cblxuICAgIC8qIE1hc3F1ZXIgbm90aWYgc3VyIG1vYmlsZSAow6ljb25vbWlzZSBkZSBsJ2VzcGFjZSkgKi9cbiAgICAuaGVhZGVyLW5vdGlmIHsgZGlzcGxheTogbm9uZTsgfVxuXG4gICAgLyogVGV4dGUgXCJDb25uZXhpb25cIiBtYXNxdcOpLCBqdXN0ZSBsJ2ljw7RuZSAqL1xuICAgIC5oZWFkZXItbG9naW4tdGV4dCB7IGRpc3BsYXk6IG5vbmU7IH1cblxuICAgIC8qIEJ1cmdlciB2aXNpYmxlICovXG4gICAgLmhlYWRlci1idXJnZXIgeyBkaXNwbGF5OiBmbGV4OyB9XG5cbiAgICAvKiBMb2dvIGzDqWfDqHJlbWVudCBwbHVzIHBldGl0ICovXG4gICAgLmhlYWRlci1sb2dvIHsgZm9udC1zaXplOiAxcmVtOyB9XG5cbiAgICAvKiBNb2JpbGUgbmF2IHZpc2libGUgKyB0cmFuc2l0aW9ucyAqL1xuICAgIC5oZWFkZXItbW9iaWxlLW5hdiB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgICAgdG9wOiA0cmVtOyAvKiA9IGhlaWdodCBkdSBoZWFkZXIgKi9cbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIHotaW5kZXg6IDM5O1xuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbiAgICAgICAgcGFkZGluZzogMC41cmVtIDAuNzVyZW0gMC44NzVyZW07XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBjb2xvci1taXgoaW4gc3JnYiwgd2hpdGUgMTUlLCB0cmFuc3BhcmVudCk7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgOHB4IDI0cHggcmdiKDAgMCAwIC8gMC4yNSk7XG5cbiAgICAgICAgLyogw4l0YXQgZmVybcOpICovXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMC41cmVtKTtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMnMgZWFzZSwgb3BhY2l0eSAwLjJzIGVhc2UsIHZpc2liaWxpdHkgMHMgbGluZWFyIDAuMnM7XG4gICAgfVxuXG4gICAgOnJvb3QuZGFyayAuaGVhZGVyLW1vYmlsZS1uYXYge1xuICAgICAgICBib3gtc2hhZG93OiAwIDhweCAzMnB4IHJnYigwIDAgMCAvIDAuNCk7XG4gICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1jb2xvci1hY2NlbnQpIDI1JSwgdHJhbnNwYXJlbnQpO1xuICAgIH1cblxuICAgIC5oZWFkZXItbW9iaWxlLW5hdi5pcy1vcGVuIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMnMgZWFzZSwgb3BhY2l0eSAwLjJzIGVhc2U7XG4gICAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNDgwcHgpIHtcbiAgICAuaGVhZGVyIHsgcGFkZGluZy1pbmxpbmU6IDAuNzVyZW07IH1cbiAgICAuaGVhZGVyLXVzZXIgeyBwYWRkaW5nOiAwLjI1cmVtIDAuMzc1cmVtOyBtYXJnaW4tbGVmdDogMDsgfVxufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIExJRU5TIE1PQklMRSBOQVZcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uaGVhZGVyLW1vYmlsZS1saW5rIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiAwLjc1cmVtO1xuICAgIHBhZGRpbmc6IDAuNzVyZW0gMC44NzVyZW07XG4gICAgY29sb3I6IGNvbG9yLW1peChpbiBzcmdiLCB3aGl0ZSA4MCUsIHRyYW5zcGFyZW50KTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBib3JkZXItcmFkaXVzOiAwLjVyZW07XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC4xNXMsIGJhY2tncm91bmQtY29sb3IgMC4xNXM7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG5cbiAgICBpIHsgd2lkdGg6IDEuMTI1cmVtOyBoZWlnaHQ6IDEuMTI1cmVtOyBmbGV4LXNocmluazogMDsgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cblxuICAgICY6aG92ZXIge1xuICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICAgIGJhY2tncm91bmQ6IGNvbG9yLW1peChpbiBzcmdiLCB3aGl0ZSAxMCUsIHRyYW5zcGFyZW50KTtcbiAgICB9XG5cbiAgICAmLmFjdGl2ZSB7XG4gICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgICAgYmFja2dyb3VuZDogY29sb3ItbWl4KGluIHNyZ2IsIHdoaXRlIDglLCB0cmFuc3BhcmVudCk7XG4gICAgICAgIGJvcmRlci1sZWZ0OiAycHggc29saWQgdmFyKC0tY29sb3ItYWNjZW50KTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiBjYWxjKDAuODc1cmVtIC0gMnB4KTtcbiAgICB9XG59XG5cbi5oZWFkZXItbW9iaWxlLWxvZ291dCB7XG4gICAgY29sb3I6IGNvbG9yLW1peChpbiBzcmdiLCAjZmNhNWE1IDkwJSwgdHJhbnNwYXJlbnQpO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAjZmNhNWE1O1xuICAgICAgICBiYWNrZ3JvdW5kOiBjb2xvci1taXgoaW4gc3JnYiwgI2VmNDQ0NCAxMCUsIHRyYW5zcGFyZW50KTtcbiAgICB9XG59XG5cbi5oZWFkZXItbW9iaWxlLWRpdmlkZXIge1xuICAgIGhlaWdodDogMXB4O1xuICAgIGJhY2tncm91bmQ6IGNvbG9yLW1peChpbiBzcmdiLCB3aGl0ZSAxMCUsIHRyYW5zcGFyZW50KTtcbiAgICBtYXJnaW46IDAuMzc1cmVtIDAuODc1cmVtO1xufVxuXG4vKiBCYWRnZSBub3RpZmljYXRpb24gKG9wdGlvbm5lbCAtIHBvdXIgcGx1cyB0YXJkKSAqL1xuLm5vdGlmaWNhdGlvbi1iYWRnZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogLTRweDtcbiAgICByaWdodDogLTRweDtcbiAgICB3aWR0aDogOHB4O1xuICAgIGhlaWdodDogOHB4O1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsICNlZjQ0NDQgMCUsICNkYzI2MjYgMTAwJSk7XG4gICAgYm9yZGVyOiAycHggc29saWQgdmFyKC0tY29sb3ItcHJpbWFyeSk7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGFuaW1hdGlvbjogcHVsc2Utbm90aWZpY2F0aW9uIDJzIGluZmluaXRlO1xufVxuXG5Aa2V5ZnJhbWVzIHB1bHNlLW5vdGlmaWNhdGlvbiB7XG4gICAgMCUsIDEwMCUgeyB0cmFuc2Zvcm06IHNjYWxlKDEpOyB9XG4gICAgNTAlIHsgdHJhbnNmb3JtOiBzY2FsZSgxLjIpOyB9XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgRFJPUERPV04gTUVOVVNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uZHJvcGRvd24tbWVudSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMTAwJTtcbiAgICByaWdodDogMDtcbiAgICB6LWluZGV4OiAxMDAwO1xuICAgIG1pbi13aWR0aDogMTJyZW07XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmFja2dyb3VuZC1wYW5lbCk7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyKTtcbiAgICBib3JkZXItcmFkaXVzOiAwLjVyZW07XG4gICAgYm94LXNoYWRvdzogMCAxMHB4IDE1cHggLTNweCByZ2IoMCAwIDAgLyAwLjEpLCAwIDRweCA2cHggLTRweCByZ2IoMCAwIDAgLyAwLjEpO1xuICAgIHBhZGRpbmc6IDAuNXJlbSAwO1xuICAgIG1hcmdpbi10b3A6IDAuMjVyZW07XG59XG5cbjpyb290LmRhcmsgLmRyb3Bkb3duLW1lbnUge1xuICAgIGJhY2tncm91bmQ6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1jb2xvci1iYWNrZ3JvdW5kLXBhbmVsKSA5NSUsIHRyYW5zcGFyZW50KTtcbiAgICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoMTBweCk7XG4gICAgYm9yZGVyOiAxcHggc29saWQgY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLWNvbG9yLWJvcmRlcikgODAlLCB0cmFuc3BhcmVudCk7XG4gICAgYm94LXNoYWRvdzogMCAxMHB4IDI1cHggLTVweCByZ2IoMCAwIDAgLyAwLjMpO1xufVxuXG4uZHJvcGRvd24taXRlbSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogMC43NXJlbTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOiAwLjVyZW0gMXJlbTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dCk7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjE1cztcblxuICAgICY6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tY29sb3ItcHJpbWFyeSkgMTAlLCB0cmFuc3BhcmVudCk7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0KTtcbiAgICB9XG5cbiAgICBpIHtcbiAgICAgICAgd2lkdGg6IDFyZW07XG4gICAgICAgIGhlaWdodDogMXJlbTtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbiAgICB9XG59XG5cbi5kcm9wZG93bi1kaXZpZGVyIHtcbiAgICBoZWlnaHQ6IDFweDtcbiAgICBtYXJnaW46IDAuNXJlbSAwO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJvcmRlci1saWdodCk7XG59XG5cbi8qIEFuaW1hdGlvbiBkdSBkcm9wZG93biAqL1xuLmRyb3Bkb3duLW1lbnVbaGlkZGVuXSB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuLmRyb3Bkb3duLW1lbnU6bm90KFtoaWRkZW5dKSB7XG4gICAgYW5pbWF0aW9uOiBkcm9wZG93bi1mYWRlSW4gMC4xNXMgZWFzZS1vdXQ7XG59XG5cbkBrZXlmcmFtZXMgZHJvcGRvd24tZmFkZUluIHtcbiAgICBmcm9tIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0wLjVyZW0pIHNjYWxlKDAuOTUpO1xuICAgIH1cbiAgICB0byB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKSBzY2FsZSgxKTtcbiAgICB9XG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEZPT1RFUlxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5mb290ZXIge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICB6LWluZGV4OiAzMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgY29sb3ItbWl4KGluIHNyZ2IsIHdoaXRlIDEwJSwgdHJhbnNwYXJlbnQpO1xuICAgIGJveC1zaGFkb3c6IDAgLTJweCAxMnB4IHJnYigwIDAgMCAvIDAuMSk7XG4gICAgcGFkZGluZzogMC42MjVyZW0gMnJlbTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBGT09URVIgQ09OVEVOVFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5mb290ZXItY29udGVudCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBnYXA6IDFyZW07XG4gICAgZmxleC13cmFwOiB3cmFwO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEJSQU5EIC8gTE9HT1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5mb290ZXItYnJhbmQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xuICAgIGdhcDogMC4zNzVyZW07XG4gICAgZmxleC13cmFwOiB3cmFwO1xufVxuXG4uZm9vdGVyLWxvZ28tZ3JvdXAge1xuICAgIGNvbG9yOiBjb2xvci1taXgoaW4gc3JnYiwgd2hpdGUgNzUlLCB0cmFuc3BhcmVudCk7XG4gICAgZm9udC1zaXplOiAwLjhyZW07XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cblxuLmZvb3Rlci1sb2dvLWJyYW5kIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItYWNjZW50KTtcbiAgICBmb250LXNpemU6IDAuOHJlbTtcbiAgICBmb250LXdlaWdodDogODAwO1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cblxuLmZvb3Rlci1jb3B5cmlnaHQge1xuICAgIGNvbG9yOiBjb2xvci1taXgoaW4gc3JnYiwgd2hpdGUgNDUlLCB0cmFuc3BhcmVudCk7XG4gICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAwLjI1cmVtO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIExJTktTXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmZvb3Rlci1saW5rcyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogMC41cmVtO1xufVxuXG4uZm9vdGVyLWxpbmsge1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICBjb2xvcjogY29sb3ItbWl4KGluIHNyZ2IsIHdoaXRlIDYwJSwgdHJhbnNwYXJlbnQpO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjE1cztcblxuICAgICY6aG92ZXIge1xuICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgfVxufVxuXG4uZm9vdGVyLXNlcGFyYXRvciB7XG4gICAgY29sb3I6IGNvbG9yLW1peChpbiBzcmdiLCB3aGl0ZSAyNSUsIHRyYW5zcGFyZW50KTtcbiAgICBmb250LXNpemU6IDAuNzVyZW07XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgUkVTUE9OU0lWRVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbkBtZWRpYSAobWF4LXdpZHRoOiA2NDBweCkge1xuICAgIC5mb290ZXItY29udGVudCB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgZ2FwOiAwLjVyZW07XG4gICAgfVxufVxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBUQUJMRSBXUkFQUEVSXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnRhYmxlLXdyYXBwZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgIGJvcmRlci1yYWRpdXM6IDAuNXJlbTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXIpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJhY2tncm91bmQtcGFuZWwpO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFRBQkxFXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnRhYmxlIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dCk7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgVEFCTEUgSEVBREVSXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnRhYmxlIHRoZWFkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1ncmF5LTUwKTtcbn1cblxuOnJvb3QuZGFyayAudGFibGUgdGhlYWQge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWdyYXktODAwKTtcbn1cblxuLnRhYmxlIHRoIHtcbiAgICBwYWRkaW5nOiAwLjc1cmVtIDFyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBmb250LXNpemU6IDAuNzVyZW07ICAgICAgICAgICAgICAgICAgLyogMTJweCBlbiBtYWp1c2N1bGVzLCBlc3BhY2VtZW50IGzDqWdlciAqL1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMDRlbTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xufVxuXG4vKiBTb3J0YWJsZSBoZWFkZXIgKi9cbi50YWJsZSB0aC5zb3J0YWJsZSB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbiAgICB9XG59XG5cbi50YWJsZSB0aC5zb3J0YWJsZSAuc29ydC1pY29uIHtcbiAgICBtYXJnaW4tbGVmdDogMC4yNXJlbTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItZ3JheS00MDApO1xufVxuXG4udGFibGUgdGguc29ydGFibGUuYWN0aXZlIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgVEFCTEUgQk9EWVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi50YWJsZSB0ZCB7XG4gICAgcGFkZGluZzogMC43NXJlbSAxcmVtO1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXIpO1xufVxuXG4vKiBaZWJyYSAqL1xuLnRhYmxlIHRib2R5IHRyOm50aC1jaGlsZChldmVuKSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItZ3JheS01MCk7XG59XG5cbjpyb290LmRhcmsgLnRhYmxlIHRib2R5IHRyOm50aC1jaGlsZChldmVuKSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiKGZyb20gdmFyKC0tY29sb3ItZ3JheS04MDApIHIgZyBiIC8gMC40KTtcbn1cblxuLyogSG92ZXIgKi9cbi50YWJsZSB0Ym9keSB0cjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLWNvbG9yLXByaW1hcnkpIDUlLCB0cmFuc3BhcmVudCk7XG59XG5cbjpyb290LmRhcmsgLnRhYmxlIHRib2R5IHRyOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tY29sb3ItcHJpbWFyeSkgMTAlLCB0cmFuc3BhcmVudCk7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgRU1QVFkgU1RBVEVcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udGFibGUtZW1wdHkge1xuICAgIHBhZGRpbmc6IDIuNXJlbSAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1tdXRlZC1hY2Nlc3NpYmxlLCB2YXIoLS1jb2xvci10ZXh0LW11dGVkKSk7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQUNUSU9OUyBDT0xVTU5cbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udGFibGUtYWN0aW9ucyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgZ2FwOiAwLjVyZW07XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgRklMVEVSIEJBUiAoVE9QKVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi50YWJsZS1maWx0ZXJzIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogMC41cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgRk9PVEVSIChQQUdJTkFUSU9OKVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi50YWJsZS1mb290ZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGdhcDogMXJlbTtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyKTtcbiAgICBwYWRkaW5nOiAwLjc1cmVtIDFyZW07XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgUEFHSU5BVElPTlxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5wYWdpbmF0aW9uIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogMC4yNXJlbTtcbn1cblxuLnBhZ2luYXRpb24taXRlbSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIG1pbi13aWR0aDogMnJlbTtcbiAgICBoZWlnaHQ6IDJyZW07XG4gICAgYm9yZGVyLXJhZGl1czogMC4zNzVyZW07XG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sb3ItZ3JheS0zMDApO1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWdyYXktNzAwKTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItZ3JheS0xMDApO1xuICAgIH1cblxuICAgICYuYWN0aXZlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LXRleHQpO1xuICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xuICAgIH1cblxuICAgICYuZGlzYWJsZWQge1xuICAgICAgICBvcGFjaXR5OiAwLjU7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIH1cbn1cblxuOnJvb3QuZGFyayAucGFnaW5hdGlvbi1pdGVtIHtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLWdyYXktNjAwKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItZ3JheS0yMDApO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWdyYXktODAwKTtcbiAgICB9XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQlVMSyBBQ1RJT05TXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnRhYmxlLWJ1bGsge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDAuNzVyZW07XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ0hFQ0tCT1ggQ09MVU1OXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnRhYmxlLWNoZWNrYm94IHtcbiAgICB3aWR0aDogMnJlbTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgU1RBVFVTIEJBREdFU1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi50YWJsZS1iYWRnZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBib3JkZXItcmFkaXVzOiA5OTk5cHg7XG4gICAgcGFkZGluZzogMC4xMjVyZW0gMC42MjVyZW07XG4gICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG59XG5cbi50YWJsZS1iYWRnZS1zdWNjZXNzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tY29sb3Itc3VjY2VzcykgMTUlLCB0cmFuc3BhcmVudCk7XG4gICAgLyogIzE2NjUzNCBzdXIgZm9uZCB2ZXJ0IGNsYWlyID0gNi4xOjEg4pyFIEFBQSAqL1xuICAgIGNvbG9yOiAjMTY2NTM0O1xufVxuXG4udGFibGUtYmFkZ2Utd2FybmluZyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLWNvbG9yLXdhcm5pbmcpIDE1JSwgdHJhbnNwYXJlbnQpO1xuICAgIC8qICM5MjQwMGUgc3VyIGZvbmQgYW1icmUgY2xhaXIgPSA2LjQ6MSDinIUgQUFBICovXG4gICAgY29sb3I6ICM5MjQwMGU7XG59XG5cbi50YWJsZS1iYWRnZS1kYW5nZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1jb2xvci1kYW5nZXIpIDE1JSwgdHJhbnNwYXJlbnQpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1kYW5nZXIpO1xufVxuXG4udGFibGUtYmFkZ2UtaW5mbyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLWNvbG9yLWluZm8pIDE1JSwgdHJhbnNwYXJlbnQpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1pbmZvKTtcbn1cblxuLyogRGFyayBtb2RlIDogdGV4dGVzIGNsYWlycyBzdXIgZm9uZHMgc29tYnJlcyBsw6lnw6hyZW1lbnQgdGVpbnTDqXMg4pyFICovXG46cm9vdC5kYXJrIC50YWJsZS1iYWRnZS1zdWNjZXNzIHsgY29sb3I6ICM0YWRlODA7IH1cbjpyb290LmRhcmsgLnRhYmxlLWJhZGdlLXdhcm5pbmcgeyBjb2xvcjogI2ZiYmYyNDsgfVxuOnJvb3QuZGFyayAudGFibGUtYmFkZ2UtZGFuZ2VyICB7IGNvbG9yOiAjZjg3MTcxOyB9XG46cm9vdC5kYXJrIC50YWJsZS1iYWRnZS1pbmZvICAgIHsgY29sb3I6ICM2N2U4Zjk7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBBQ0NFU1NJQklMSVTDiSDigJQgUsOJRFVDVElPTiBERVMgQU5JTUFUSU9OU1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5AbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuICAgIC50YWJsZSB0Ym9keSB0ciB7IHRyYW5zaXRpb246IG5vbmU7IH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgLnRhYmxlIHRoZWFkIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAudGFibGUgdHIge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlcik7XG4gICAgfVxuXG4gICAgLnRhYmxlIHRkIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICBwYWRkaW5nOiAwLjVyZW0gMXJlbTtcblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogYXR0cihkYXRhLWxhYmVsKTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1tdXRlZC1hY2Nlc3NpYmxlLCB2YXIoLS1jb2xvci10ZXh0LW11dGVkKSk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8qXG48ZGl2IGNsYXNzPVwidGFibGUtd3JhcHBlclwiPlxuICA8dGFibGUgY2xhc3M9XCJ0YWJsZVwiPlxuICAgIDx0aGVhZD5cbiAgICAgIDx0cj5cbiAgICAgICAgPHRoIGNsYXNzPVwidGFibGUtY2hlY2tib3hcIj5cbiAgICAgICAgICA8aW5wdXQgdHlwZT1cImNoZWNrYm94XCIgY2xhc3M9XCJmb3JtLWNoZWNrLWlucHV0XCI+XG4gICAgICAgIDwvdGg+XG4gICAgICAgIDx0aCBjbGFzcz1cInNvcnRhYmxlXCI+XG4gICAgICAgICAgTm9tXG4gICAgICAgICAgPGkgY2xhc3M9XCJzb3J0LWljb25cIiBkYXRhLWx1Y2lkZT1cImNoZXZyb24tdXBcIj48L2k+XG4gICAgICAgIDwvdGg+XG4gICAgICAgIDx0aD5FbWFpbDwvdGg+XG4gICAgICAgIDx0aD5TdGF0dXQ8L3RoPlxuICAgICAgICA8dGggY2xhc3M9XCJ0ZXh0LXJpZ2h0XCI+QWN0aW9uczwvdGg+XG4gICAgICA8L3RyPlxuICAgIDwvdGhlYWQ+XG5cbiAgICA8dGJvZHk+XG4gICAgICA8dHI+XG4gICAgICAgIDx0ZCBjbGFzcz1cInRhYmxlLWNoZWNrYm94XCI+XG4gICAgICAgICAgPGlucHV0IHR5cGU9XCJjaGVja2JveFwiIGNsYXNzPVwiZm9ybS1jaGVjay1pbnB1dFwiPlxuICAgICAgICA8L3RkPlxuICAgICAgICA8dGQgZGF0YS1sYWJlbD1cIk5vbVwiPkplYW4gRHVwb250PC90ZD5cbiAgICAgICAgPHRkIGRhdGEtbGFiZWw9XCJFbWFpbFwiPmplYW5AZXhlbXBsZS5jb208L3RkPlxuICAgICAgICA8dGQgZGF0YS1sYWJlbD1cIlN0YXR1dFwiPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGFibGUtYmFkZ2UgdGFibGUtYmFkZ2Utc3VjY2Vzc1wiPkFjdGlmPC9zcGFuPlxuICAgICAgICA8L3RkPlxuICAgICAgICA8dGQgZGF0YS1sYWJlbD1cIkFjdGlvbnNcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwidGFibGUtYWN0aW9uc1wiPlxuICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImJ0biBidG4taWNvbiBidG4tc2Vjb25kYXJ5IGJ0bi1zbVwiPlxuICAgICAgICAgICAgICA8aSBkYXRhLWx1Y2lkZT1cImV5ZVwiPjwvaT5cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImJ0biBidG4taWNvbiBidG4tcHJpbWFyeSBidG4tc21cIj5cbiAgICAgICAgICAgICAgPGkgZGF0YS1sdWNpZGU9XCJlZGl0XCI+PC9pPlxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYnRuIGJ0bi1pY29uIGJ0bi1kYW5nZXIgYnRuLXNtXCI+XG4gICAgICAgICAgICAgIDxpIGRhdGEtbHVjaWRlPVwidHJhc2hcIj48L2k+XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC90ZD5cbiAgICAgIDwvdHI+XG4gICAgPC90Ym9keT5cbiAgPC90YWJsZT5cblxuICA8ZGl2IGNsYXNzPVwidGFibGUtZm9vdGVyXCI+XG4gICAgPGRpdiBjbGFzcz1cInRhYmxlLWJ1bGtcIj5cbiAgICAgIDxidXR0b24gY2xhc3M9XCJidG4gYnRuLW91dGxpbmUgYnRuLXNtXCI+U3VwcHJpbWVyIHPDqWxlY3Rpb248L2J1dHRvbj5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXYgY2xhc3M9XCJwYWdpbmF0aW9uXCI+XG4gICAgICA8c3BhbiBjbGFzcz1cInBhZ2luYXRpb24taXRlbSBkaXNhYmxlZFwiPuKAuTwvc3Bhbj5cbiAgICAgIDxzcGFuIGNsYXNzPVwicGFnaW5hdGlvbi1pdGVtIGFjdGl2ZVwiPjE8L3NwYW4+XG4gICAgICA8c3BhbiBjbGFzcz1cInBhZ2luYXRpb24taXRlbVwiPjI8L3NwYW4+XG4gICAgICA8c3BhbiBjbGFzcz1cInBhZ2luYXRpb24taXRlbVwiPuKAujwvc3Bhbj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cbiovXG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIE1PREFMIE9WRVJMQVlcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4ubW9kYWwtb3ZlcmxheSB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIGluc2V0OiAwO1xuICAgIHotaW5kZXg6IDUwO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMCAwIDAgLyAwLjUpO1xuICAgIGJhY2tkcm9wLWZpbHRlcjogYmx1cig0cHgpO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzO1xufVxuXG4ubW9kYWwtb3ZlcmxheS5pcy1vcGVuIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIE1PREFMIENPTlRBSU5FUlxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5tb2RhbCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogMzJyZW07XG4gICAgYm9yZGVyLXJhZGl1czogMC41cmVtO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1ncmF5LTkwMCk7XG4gICAgYm94LXNoYWRvdzogMCAyMHB4IDI1cHggLTVweCByZ2IoMCAwIDAgLyAwLjEpLCAwIDhweCAxMHB4IC02cHggcmdiKDAgMCAwIC8gMC4xKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOTUpO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMnM7XG59XG5cbjpyb290LmRhcmsgLm1vZGFsIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1ncmF5LTkwMCk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWdyYXktMTAwKTtcbn1cblxuLm1vZGFsLW92ZXJsYXkuaXMtb3BlbiAubW9kYWwge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgb3BhY2l0eTogMTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBNT0RBTCBTSVpFU1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5tb2RhbC1zbSB7XG4gICAgbWF4LXdpZHRoOiAyNHJlbTtcbn1cblxuLm1vZGFsLWxnIHtcbiAgICBtYXgtd2lkdGg6IDQycmVtO1xufVxuXG4ubW9kYWwteGwge1xuICAgIG1heC13aWR0aDogNTZyZW07XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgTU9EQUwgSEVBREVSXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLm1vZGFsLWhlYWRlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tY29sb3ItZ3JheS0yMDApO1xuICAgIHBhZGRpbmc6IDFyZW0gMS4yNXJlbTtcbn1cblxuOnJvb3QuZGFyayAubW9kYWwtaGVhZGVyIHtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLWdyYXktNzAwKTtcbn1cblxuLm1vZGFsLXRpdGxlIHtcbiAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG59XG5cbi8qXG4gICAubW9kYWwtY2xvc2UgdXRpbGlzZSBsZXMgQHV0aWxpdHkgYnRuLCBidG4taWNvbiwgYnRuLWdob3N0LCBidG4tc21cbiAgIGTDqWZpbmlzIGRhbnMgYnV0dG9ucy5jc3Mg4oCUIGF1Y3VuIHByb2Jsw6htZSBjYXIgY2Ugc29udCBkZXMgQHV0aWxpdHlcbiovXG4ubW9kYWwtY2xvc2Uge1xuICAgIC8qIExlcyBzdHlsZXMgdmllbm5lbnQgZGUgYnRuICsgYnRuLWljb24gKyBidG4tZ2hvc3QgKyBidG4tc20gZW4gSFRNTCAqL1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIE1PREFMIEJPRFlcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4ubW9kYWwtYm9keSB7XG4gICAgcGFkZGluZzogMXJlbSAxLjI1cmVtO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IDFyZW07XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgTU9EQUwgRk9PVEVSXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLm1vZGFsLWZvb3RlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgZ2FwOiAwLjVyZW07XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWdyYXktMjAwKTtcbiAgICBwYWRkaW5nOiAxcmVtIDEuMjVyZW07XG59XG5cbjpyb290LmRhcmsgLm1vZGFsLWZvb3RlciB7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1ncmF5LTcwMCk7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ09ORklSTUFUSU9OIE1PREFMU1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5tb2RhbC1kYW5nZXIgLm1vZGFsLWhlYWRlciB7XG4gICAgYm9yZGVyLWNvbG9yOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tY29sb3ItZGFuZ2VyKSAzMCUsIHRyYW5zcGFyZW50KTtcbn1cblxuLm1vZGFsLWRhbmdlciAubW9kYWwtdGl0bGUge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1kYW5nZXIpO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEZVTExTQ1JFRU4gKE1PQklMRSAvIEJJRyBGT1JNUylcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5AbWVkaWEgKG1heC13aWR0aDogNjQwcHgpIHtcbiAgICAubW9kYWwge1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICB9XG5cbiAgICAubW9kYWwtYm9keSB7XG4gICAgICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgfVxufVxuXG4vKlxuPGRpdiBkYXRhLWNvbnRyb2xsZXI9XCJtb2RhbFwiPlxuICA8YnV0dG9uIGNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5XCIgZGF0YS1hY3Rpb249XCJtb2RhbCNvcGVuXCI+XG4gICAgQWpvdXRlciB1biBjbGllbnRcbiAgPC9idXR0b24+XG5cbiAgPGRpdiBjbGFzcz1cIm1vZGFsLW92ZXJsYXlcIiBkYXRhLW1vZGFsLXRhcmdldD1cIm92ZXJsYXlcIj5cbiAgICA8ZGl2IGNsYXNzPVwibW9kYWwgbW9kYWwtbGdcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJtb2RhbC1oZWFkZXJcIj5cbiAgICAgICAgPGgyIGNsYXNzPVwibW9kYWwtdGl0bGVcIj5Ob3V2ZWF1IGNsaWVudDwvaDI+XG4gICAgICAgIDxidXR0b24gY2xhc3M9XCJidG4gYnRuLWljb24gYnRuLWdob3N0IGJ0bi1zbSBtb2RhbC1jbG9zZVwiIGRhdGEtYWN0aW9uPVwibW9kYWwjY2xvc2VcIj5cbiAgICAgICAgICA8aSBkYXRhLWx1Y2lkZT1cInhcIj48L2k+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxkaXYgY2xhc3M9XCJtb2RhbC1ib2R5XCI+XG4gICAgICAgIHsjIGZvcm11bGFpcmUgU3ltZm9ueSAjfVxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxkaXYgY2xhc3M9XCJtb2RhbC1mb290ZXJcIj5cbiAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImJ0biBidG4tZ2hvc3RcIiBkYXRhLWFjdGlvbj1cIm1vZGFsI2Nsb3NlXCI+QW5udWxlcjwvYnV0dG9uPlxuICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5XCI+RW5yZWdpc3RyZXI8L2J1dHRvbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuKi9cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgUkVMRVbDiSBCQU5DQUlSRSDigJQgRklMRSBERSBUUkFWQUlMXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFBhcnRpIHByaXMgOiBwb3VyIHVuIHRyw6lzb3JpZXIsIGxlIHJlbGV2w6kgbidlc3QgcGFzIHVuXG4gICB0YWJsZWF1IMOgIGNvbnN1bHRlciBtYWlzIHVuZSBmaWxlIGRlIHRyYXZhaWwuIFVuZSBvcMOpcmF0aW9uXG4gICBuJ2VzdCB0ZXJtaW7DqWUgcXUndW5lIGZvaXMgcsOpcGFydGllIEVUIGp1c3RpZmnDqWUgOyBsYSBwYWdlXG4gICBkaXQgY29tYmllbiBpbCBlbiByZXN0ZSwgZXQgY2hhcXVlIGxpZ25lIGRpdCDDoCBxdWVsbGUgw6l0YXBlXG4gICBlbGxlIGVuIGVzdC5cbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4ucXVldWUge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiAxcmVtIDEuNXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtO1xuICAgIHBhZGRpbmc6IDFyZW0gMS4yNXJlbTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItbGlnaHQpO1xuICAgIGJvcmRlci1yYWRpdXM6IDAuNzVyZW07XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmFja2dyb3VuZC1wYW5lbCk7XG59XG5cbi5xdWV1ZS1oZWFkbGluZSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGZvbnQtc2l6ZTogMS4zNzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMWVtO1xufVxuXG4ucXVldWUtaGVhZGxpbmUgc21hbGwge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi10b3A6IDAuMTI1cmVtO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG4gICAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBsZXR0ZXItc3BhY2luZzogMDtcbn1cblxuLnF1ZXVlLXByb2dyZXNzIHtcbiAgICBmbGV4OiAxIDEgMTZyZW07XG4gICAgbWluLXdpZHRoOiAxMnJlbTtcbn1cblxuLnF1ZXVlLWJhciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBoZWlnaHQ6IDAuNXJlbTtcbiAgICBib3JkZXItcmFkaXVzOiA5OTk5cHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYm9yZGVyLWxpZ2h0KTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4ucXVldWUtYmFyLXBhcnQgeyBoZWlnaHQ6IDEwMCU7IH1cbi5xdWV1ZS1iYXItcGFydC0tZG9uZSB7IGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXN1Y2Nlc3MpOyB9XG4ucXVldWUtYmFyLXBhcnQtLWp1c3RpZnkgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1qdXN0aWZ5KTsgfVxuLnF1ZXVlLWJhci1wYXJ0LS1wYXJ0aWFsIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItaW5mbyk7IH1cblxuLnF1ZXVlLWxlZ2VuZCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgZ2FwOiAwLjI1cmVtIDAuODc1cmVtO1xuICAgIG1hcmdpbjogMC41cmVtIDAgMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbiAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgZm9udC12YXJpYW50LW51bWVyaWM6IHRhYnVsYXItbnVtcztcbn1cblxuLnF1ZXVlLWxlZ2VuZCBsaSB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDAuMzc1cmVtO1xufVxuXG4ucXVldWUta2V5IHtcbiAgICB3aWR0aDogMC42MjVyZW07XG4gICAgaGVpZ2h0OiAwLjYyNXJlbTtcbiAgICBib3JkZXItcmFkaXVzOiAwLjEyNXJlbTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1ib3JkZXItbGlnaHQpO1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDFweCB2YXIoLS1jb2xvci1ib3JkZXIpO1xufVxuXG4ucXVldWUta2V5LS1kb25lIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3Itc3VjY2Vzcyk7IGJveC1zaGFkb3c6IG5vbmU7IH1cbi5xdWV1ZS1rZXktLWp1c3RpZnkgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1qdXN0aWZ5KTsgYm94LXNoYWRvdzogbm9uZTsgfVxuLnF1ZXVlLWtleS0tcGFydGlhbCB7IGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWluZm8pOyBib3gtc2hhZG93OiBub25lOyB9XG5cbi5xdWV1ZS1iYWxhbmNlIHtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbn1cblxuLnF1ZXVlLWJhbGFuY2UtdmFsdWUge1xuICAgIG1hcmdpbjogMDtcbiAgICBmb250LXNpemU6IDEuMzc1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgZm9udC12YXJpYW50LW51bWVyaWM6IHRhYnVsYXItbnVtcztcbiAgICBsZXR0ZXItc3BhY2luZzogLTAuMDFlbTtcbn1cblxuLnF1ZXVlLWJhbGFuY2UtbGFiZWwge1xuICAgIG1hcmdpbjogMDtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1tdXRlZC1hY2Nlc3NpYmxlKTtcbiAgICBmb250LXNpemU6IDAuNzVyZW07XG59XG5cbi8qIOKUgOKUgCBGaWx0cmVzIDogZGVzIG9uZ2xldHMgY29tcHRldXJzIHBsdXTDtHQgcXUndW4gc2VsZWN0IOKUgOKUgCAqL1xuXG4ub3AtZmlsdGVycyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDAuNXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjg3NXJlbTtcbn1cblxuLm9wLWZpbHRlciB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDAuMzc1cmVtO1xuICAgIG1pbi1oZWlnaHQ6IDIuMjVyZW07XG4gICAgcGFkZGluZzogMCAwLjc1cmVtO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlcik7XG4gICAgYm9yZGVyLXJhZGl1czogOTk5OXB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJhY2tncm91bmQtcGFuZWwpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG4gICAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLyogTGEgcGFzdGlsbGUgcmVwcmVuZCBsYSBjb3VsZXVyIGRlIGxhIGJhcnJlIGRlcyBsaWduZXMgY29uY2VybsOpZXMuICovXG4ub3AtZmlsdGVyLS10b2RvOjpiZWZvcmUsXG4ub3AtZmlsdGVyLS1wcm9ncmVzczo6YmVmb3JlLFxuLm9wLWZpbHRlci0tanVzdGlmeTo6YmVmb3JlLFxuLm9wLWZpbHRlci0tZG9uZTo6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICB3aWR0aDogMC41cmVtO1xuICAgIGhlaWdodDogMC41cmVtO1xuICAgIGJvcmRlci1yYWRpdXM6IDk5OTlweDtcbn1cblxuLm9wLWZpbHRlci0tdG9kbzo6YmVmb3JlIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3Itd2FybmluZyk7IH1cbi5vcC1maWx0ZXItLXByb2dyZXNzOjpiZWZvcmUgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1pbmZvKTsgfVxuLm9wLWZpbHRlci0tanVzdGlmeTo6YmVmb3JlIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItanVzdGlmeSk7IH1cbi5vcC1maWx0ZXItLWRvbmU6OmJlZm9yZSB7IGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXN1Y2Nlc3MpOyB9XG5cbi5vcC1maWx0ZXI6aG92ZXIgeyBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbXV0ZWQpOyB9XG5cbi5vcC1maWx0ZXJbYXJpYS1jdXJyZW50PVwidHJ1ZVwiXSB7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS10ZXh0KTtcbn1cblxuLm9wLWZpbHRlci1jb3VudCB7XG4gICAgcGFkZGluZzogMCAwLjM3NXJlbTtcbiAgICBib3JkZXItcmFkaXVzOiA5OTk5cHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYm9yZGVyLWxpZ2h0KTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICBmb250LXZhcmlhbnQtbnVtZXJpYzogdGFidWxhci1udW1zO1xufVxuXG4ub3AtZmlsdGVyW2FyaWEtY3VycmVudD1cInRydWVcIl0gLm9wLWZpbHRlci1jb3VudCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDI1NSAyNTUgMjU1IC8gMC4yKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS10ZXh0KTtcbn1cblxuLm9wLXNlYXJjaCB7XG4gICAgZmxleDogMSAxIDE0cmVtO1xuICAgIG1pbi13aWR0aDogMTByZW07XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgTEEgTElTVEUg4oCUIG1vaXMgcGFyIG1vaXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgVW5lIHNldWxlIGdyaWxsZSBwb3VyIHRvdXRlIGxhIGxpc3RlIDsgbW9pcywgZW4tdMOqdGVzIGV0XG4gICBsaWduZXMgZW4gc29udCBkZXMgc291cy1ncmlsbGVzIChzdWJncmlkKS4gTGVzIGNvbG9ubmVzXG4gICBtb250YW50IGV0IMOpdGFwZSBzb250IGRvbmMgZGltZW5zaW9ubsOpZXMgdW5lIGZvaXMgcG91clxuICAgdG91dGVzIDogbW9udGFudHMgZXQgdG90YXV4IG1lbnN1ZWxzIHMnYWxpZ25lbnQgYXUgY2VudGltZVxuICAgcHLDqHMsIGQndW4gbW9pcyDDoCBsJ2F1dHJlLlxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5vcC1saXN0IHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMC4yNXJlbSAyLjc1cmVtIG1pbm1heCgwLCAxZnIpIGF1dG8gYXV0byAxLjI1cmVtO1xuICAgIGNvbHVtbi1nYXA6IDAuODc1cmVtO1xuICAgIHJvdy1nYXA6IDEuMjVyZW07XG59XG5cbi5vcC1saXN0LS1lbXB0eSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLWxpZ2h0KTtcbiAgICBib3JkZXItcmFkaXVzOiAwLjc1cmVtO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJhY2tncm91bmQtcGFuZWwpO1xufVxuXG4ub3AtbW9udGgge1xuICAgIGdyaWQtY29sdW1uOiAxIC8gLTE7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHN1YmdyaWQ7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLWxpZ2h0KTtcbiAgICBib3JkZXItcmFkaXVzOiAwLjc1cmVtO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJhY2tncm91bmQtcGFuZWwpO1xuICAgIC8qIGNsaXAgZXQgbm9uIGhpZGRlbiA6IGhpZGRlbiBjcsOpZXJhaXQgdW4gY29udGVuZXVyIGRlIGTDqWZpbGVtZW50XG4gICAgICAgZXQgZW1ww6pjaGVyYWl0IGwnZW4tdMOqdGUgZGUgcmVzdGVyIGNvbGzDqSBlbiBoYXV0IGRlIGwnw6ljcmFuLiAqL1xuICAgIG92ZXJmbG93OiBjbGlwO1xufVxuXG4vKiBFbi10w6p0ZSBkZSBtb2lzIDogcmVzdGUgdmlzaWJsZSB0YW50IHF1J29uIHBhcmNvdXJ0IGxlIG1vaXMuICovXG4ub3AtbW9udGgtaGVhZGVyIHtcbiAgICBncmlkLWNvbHVtbjogMSAvIC0xO1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBzdWJncmlkO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgcG9zaXRpb246IHN0aWNreTtcbiAgICB0b3A6IDA7XG4gICAgei1pbmRleDogMjtcbiAgICBwYWRkaW5nOiAwLjYyNXJlbSAwLjg3NXJlbSAwLjYyNXJlbSAwO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItbGlnaHQpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1jb2xvci1wcmltYXJ5KSA1JSwgdmFyKC0tY29sb3ItYmFja2dyb3VuZC1wYW5lbCkpO1xufVxuXG4ub3AtbW9udGgtdGl0bGUge1xuICAgIGdyaWQtY29sdW1uOiAyIC8gNDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XG4gICAgZ2FwOiAwLjI1cmVtIDAuNjI1cmVtO1xuICAgIG1hcmdpbjogMDtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dCk7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgbGluZS1oZWlnaHQ6IDEuMztcbn1cblxuLm9wLW1vbnRoLWNvdW50IHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xuICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG59XG5cbi8qIFRvdGF1eCBkdSBtb2lzLCBkYW5zIGxhIGNvbG9ubmUgZGVzIG1vbnRhbnRzLiAqL1xuLm9wLW1vbnRoLWFtb3VudHMsXG4ub3AtbW9udGgtbGFiZWxzIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgbWFyZ2luOiAwO1xuICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG59XG5cbi5vcC1tb250aC1hbW91bnRzIHtcbiAgICBncmlkLWNvbHVtbjogNDtcbiAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gICAgZm9udC12YXJpYW50LW51bWVyaWM6IHRhYnVsYXItbnVtcztcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi5vcC1tb250aC1hbW91bnQtLWluIHsgY29sb3I6IHZhcigtLWNvbG9yLXN1Y2Nlc3MtZGFyayk7IH1cblxuLm9wLW1vbnRoLWFtb3VudC5pcy16ZXJvIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG5cbi5vcC1tb250aC1sYWJlbHMge1xuICAgIGdyaWQtY29sdW1uOiA1IC8gNztcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xufVxuXG4ub3AtbW9udGgtcm93cyB7XG4gICAgZ3JpZC1jb2x1bW46IDEgLyAtMTtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogc3ViZ3JpZDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xufVxuXG4ub3Atcm93IHtcbiAgICBncmlkLWNvbHVtbjogMSAvIC0xO1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBzdWJncmlkO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmc6IDAuNzVyZW0gMC44NzVyZW0gMC43NXJlbSAwO1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItbGlnaHQpO1xufVxuXG4ub3Atcm93OmZpcnN0LWNoaWxkIHsgYm9yZGVyLXRvcDogMDsgfVxuXG4vKiBUb3V0ZSBsYSBsaWduZSBlc3QgY2xpcXVhYmxlIDogZWxsZSBkb2l0IGVuIGF2b2lyIGwnYWlyLiAqL1xuLm9wLXJvdzpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLWNvbG9yLXByaW1hcnkpIDQlLCB0cmFuc3BhcmVudCk7XG59XG5cbi5vcC1yb3c6aGFzKC5vcC1saW5rOmZvY3VzLXZpc2libGUpIHtcbiAgICBvdXRsaW5lOiAycHggc29saWQgdmFyKC0tY29sb3ItcHJpbWFyeSk7XG4gICAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLWNvbG9yLXByaW1hcnkpIDUlLCB0cmFuc3BhcmVudCk7XG59XG5cbi8qIEJhcnJlIGQnw6l0YXBlIDogdW5lIGNvdWxldXIgcGFyIMOpdGFwZSDigJQgw6AgcXVhbGlmaWVyLCBwYXJ0aWVsbGUsIMOgXG4gICBqdXN0aWZpZXIsIHRlcm1pbsOpZS4gTGUgbGliZWxsw6kgZGUgbCfDqXRhcGUgbCdhY2NvbXBhZ25lIHRvdWpvdXJzLiAqL1xuLm9wLXN0YXR1cyB7XG4gICAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgICBtYXJnaW4tYmxvY2s6IC0wLjc1cmVtO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJvcmRlcik7XG59XG5cbi5vcC1yb3ctLXRvZG8gLm9wLXN0YXR1cyB7IGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXdhcm5pbmcpOyB9XG4ub3Atcm93LS1wcm9ncmVzcyAub3Atc3RhdHVzIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItaW5mbyk7IH1cbi5vcC1yb3ctLWp1c3RpZnkgLm9wLXN0YXR1cyB7IGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWp1c3RpZnkpOyB9XG4ub3Atcm93LS1kb25lIC5vcC1zdGF0dXMgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1zdWNjZXNzKTsgfVxuXG4ub3AtZGF0ZSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG4gICAgZm9udC1zaXplOiAwLjY4NzVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi8qIExlIG1vaXMgZXN0IGRhbnMgbCdlbi10w6p0ZSA6IGxhIGxpZ25lIG5lIHBvcnRlIHF1ZSBsZSBqb3VyLiAqL1xuLm9wLWRhdGUtZGF5IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dCk7XG4gICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGZvbnQtdmFyaWFudC1udW1lcmljOiB0YWJ1bGFyLW51bXM7XG59XG5cbi5vcC1tYWluIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiAwLjMxMjVyZW07XG4gICAgbWluLXdpZHRoOiAwO1xufVxuXG4ub3AtbGluayB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogMC4xMjVyZW07XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQpO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLyogTGUgbGllbiBjb3V2cmUgdG91dGUgbGEgbGlnbmUuICovXG4ub3AtbGluazo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBpbnNldDogMDtcbn1cblxuLm9wLWxpbms6Zm9jdXMtdmlzaWJsZSB7IG91dGxpbmU6IG5vbmU7IH1cblxuLm9wLXRpdGxlIHtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgbGluZS1oZWlnaHQ6IDEuMzU7XG4gICAgb3ZlcmZsb3ctd3JhcDogYW55d2hlcmU7XG59XG5cbi8qIExlcyBsaWJlbGzDqXMgYmFuY2FpcmVzIGFycml2ZW50IGVuIG1hanVzY3VsZXMgOiB1biBncmFzIGFwcHV5w6kgbGVzIHJlbmRcbiAgIHDDqW5pYmxlcyDDoCBsaXJlIGVuIHPDqXJpZS4gKi9cbi5vcC10aXRsZS0tYmFuayB7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4wMWVtO1xufVxuXG4ub3AtYmFuay1sYWJlbCB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbXV0ZWQtYWNjZXNzaWJsZSk7XG4gICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjM1O1xuICAgIG92ZXJmbG93LXdyYXA6IGFueXdoZXJlO1xufVxuXG4ub3AtbWV0YSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDAuMjVyZW0gMC43NXJlbTtcbiAgICBtYXJnaW46IDA7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbiAgICBmb250LXNpemU6IDAuNzVyZW07XG59XG5cbi5vcC1tZXRhLWl0ZW0ge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiAwLjI1cmVtO1xufVxuXG4ub3AtbWV0YS1pdGVtIHN2Zyxcbi5vcC1tZXRhLWl0ZW0gaSB7XG4gICAgd2lkdGg6IDAuODEyNXJlbTtcbiAgICBoZWlnaHQ6IDAuODEyNXJlbTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1tdXRlZC1hY2Nlc3NpYmxlKTtcbn1cblxuLm9wLWFjY291bnRzIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBnYXA6IDAuMjVyZW0gMC41cmVtO1xuICAgIG1hcmdpbjogMDtcbn1cblxuLm9wLWFjY291bnQge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiAwLjI1cmVtO1xuICAgIHBhZGRpbmc6IDAuMDYyNXJlbSAwLjVyZW07XG4gICAgYm9yZGVyLXJhZGl1czogMC4yNXJlbTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1ib3JkZXItbGlnaHQpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG4gICAgZm9udC1zaXplOiAwLjc1cmVtO1xufVxuXG4ub3AtYWNjb3VudC1jb2RlIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dCk7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBmb250LXZhcmlhbnQtbnVtZXJpYzogdGFidWxhci1udW1zO1xufVxuXG4ub3AtYWNjb3VudC0tcmVmdW5kIHsgYmFja2dyb3VuZC1jb2xvcjogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLWNvbG9yLWluZm8pIDE0JSwgdHJhbnNwYXJlbnQpOyB9XG5cbi8qIFByb3Bvc2l0aW9uIHBhciBtb3QtY2zDqSwgc291cyBsZSBsaWJlbGzDqSBxdSdlbGxlIGV4cGxpcXVlLiBBdS1kZXNzdXMgZHVcbiAgIGxpZW4gw6l0ZW5kdSwgcG91ciBxdWUgbGUgYm91dG9uIHJlc3RlIGNsaXF1YWJsZS4gKi9cbi5vcC1wcm9wb3NhbCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDE7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDAuNXJlbTtcbiAgICBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0O1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOiAwLjI1cmVtIDAuMjVyZW0gMC4yNXJlbSAwLjVyZW07XG4gICAgYm9yZGVyOiAxcHggc29saWQgY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLWNvbG9yLWFjY2VudCkgNTUlLCB0cmFuc3BhcmVudCk7XG4gICAgYm9yZGVyLXJhZGl1czogMC41cmVtO1xuICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1jb2xvci1hY2NlbnQpIDglLCB2YXIoLS1jb2xvci1iYWNrZ3JvdW5kLXBhbmVsKSk7XG4gICAgZm9udC1zaXplOiAwLjc1cmVtO1xufVxuXG4ub3AtcHJvcG9zYWwgPiBzdmcsXG4ub3AtcHJvcG9zYWwgPiBpIHtcbiAgICB3aWR0aDogMC44NzVyZW07XG4gICAgaGVpZ2h0OiAwLjg3NXJlbTtcbiAgICBmbGV4LXNocmluazogMDtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItYWNjZW50LWRhcmspO1xufVxuXG4ub3AtcHJvcG9zYWwtdGV4dCB7XG4gICAgbWluLXdpZHRoOiAwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLm9wLXByb3Bvc2FsLWFjY2VwdCB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDAuMjVyZW07XG4gICAgZmxleC1zaHJpbms6IDA7XG4gICAgbWluLWhlaWdodDogMS43NXJlbTtcbiAgICBwYWRkaW5nOiAwIDAuNjI1cmVtO1xuICAgIGJvcmRlcjogMDtcbiAgICBib3JkZXItcmFkaXVzOiAwLjM3NXJlbTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1hY2NlbnQpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1hY2NlbnQtdGV4dCk7XG4gICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4ub3AtcHJvcG9zYWwtYWNjZXB0OmhvdmVyIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYWNjZW50LWRhcmspOyB9XG5cbi5vcC1wcm9wb3NhbC1hY2NlcHQ6Zm9jdXMtdmlzaWJsZSB7XG4gICAgb3V0bGluZTogMnB4IHNvbGlkIHZhcigtLWNvbG9yLWFjY2VudC1kYXJrKTtcbiAgICBvdXRsaW5lLW9mZnNldDogMnB4O1xufVxuXG4ub3AtcHJvcG9zYWwtYWNjZXB0IHN2Zyxcbi5vcC1wcm9wb3NhbC1hY2NlcHQgaSB7IHdpZHRoOiAwLjgxMjVyZW07IGhlaWdodDogMC44MTI1cmVtOyB9XG5cbi5vcC1hbW91bnQge1xuICAgIG1hcmdpbjogMDtcbiAgICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGZvbnQtdmFyaWFudC1udW1lcmljOiB0YWJ1bGFyLW51bXM7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLm9wLWFtb3VudC0tY3JlZGl0IHsgY29sb3I6IHZhcigtLWNvbG9yLXN1Y2Nlc3MtZGFyayk7IH1cblxuLm9wLWFtb3VudC1yZW1haW5pbmcge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1pbmZvLWRhcmspO1xuICAgIGZvbnQtc2l6ZTogMC42ODc1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG59XG5cbi5vcC1zdGFnZSB7IG1hcmdpbjogMDsgfVxuXG4uc3RhZ2UtcGlsbCB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDAuMjVyZW07XG4gICAgcGFkZGluZzogMC4xODc1cmVtIDAuNTYyNXJlbTtcbiAgICBib3JkZXItcmFkaXVzOiA5OTk5cHg7XG4gICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLnN0YWdlLXBpbGwgc3ZnLFxuLnN0YWdlLXBpbGwgaSB7IHdpZHRoOiAwLjc1cmVtOyBoZWlnaHQ6IDAuNzVyZW07IH1cblxuLnN0YWdlLXBpbGwtLXRvZG8ge1xuICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1jb2xvci13YXJuaW5nKSAxNSUsIHRyYW5zcGFyZW50KTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3Itd2FybmluZy1kYXJrKTtcbn1cblxuLnN0YWdlLXBpbGwtLXByb2dyZXNzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tY29sb3ItaW5mbykgMTQlLCB0cmFuc3BhcmVudCk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWluZm8tZGFyayk7XG59XG5cbi5zdGFnZS1waWxsLS1qdXN0aWZ5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tY29sb3ItanVzdGlmeSkgMTQlLCB0cmFuc3BhcmVudCk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWp1c3RpZnktZGFyayk7XG59XG5cbi5zdGFnZS1waWxsLS1kb25lIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tY29sb3Itc3VjY2VzcykgMTQlLCB0cmFuc3BhcmVudCk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXN1Y2Nlc3MtZGFyayk7XG59XG5cbi5vcC1jaGV2cm9uIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItYm9yZGVyKTtcbn1cblxuLm9wLWNoZXZyb24gc3ZnLFxuLm9wLWNoZXZyb24gaSB7IHdpZHRoOiAxLjEyNXJlbTsgaGVpZ2h0OiAxLjEyNXJlbTsgfVxuXG4ub3Atcm93OmhvdmVyIC5vcC1jaGV2cm9uIHsgY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpOyB9XG5cbi5vcC1lbXB0eSB7XG4gICAgcGFkZGluZzogM3JlbSAxcmVtO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xufVxuXG4ub3AtZW1wdHkgc3ZnLFxuLm9wLWVtcHR5IGkge1xuICAgIHdpZHRoOiAycmVtO1xuICAgIGhlaWdodDogMnJlbTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3Itc3VjY2Vzcyk7XG59XG5cbi8qIOKUgOKUgCBQZXRpdCDDqWNyYW4gOiBsYSBsaWduZSBzJ2VtcGlsZSDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIAgKi9cblxuQG1lZGlhIChtYXgtd2lkdGg6IDcyMHB4KSB7XG4gICAgLm9wLWxpc3QgeyBkaXNwbGF5OiBmbGV4OyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyBnYXA6IDFyZW07IH1cbiAgICAub3AtbW9udGgsXG4gICAgLm9wLW1vbnRoLXJvd3MgeyBkaXNwbGF5OiBibG9jazsgfVxuXG4gICAgLm9wLW1vbnRoLWhlYWRlciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIGdhcDogMC4yNXJlbSAxcmVtO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuODc1cmVtO1xuICAgIH1cblxuICAgIC5vcC1tb250aC1hbW91bnRzIHsgZmxleC1kaXJlY3Rpb246IHJvdzsgZ2FwOiAwLjc1cmVtOyB9XG4gICAgLm9wLW1vbnRoLWxhYmVscyB7IGRpc3BsYXk6IG5vbmU7IH1cblxuICAgIC5vcC1yb3cge1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDAuMjVyZW0gbWlubWF4KDAsIDFmcikgYXV0bztcbiAgICAgICAgY29sdW1uLWdhcDogMC43NXJlbTtcbiAgICAgICAgcm93LWdhcDogMC41cmVtO1xuICAgIH1cblxuICAgIC5vcC1zdGF0dXMgeyBncmlkLXJvdzogMSAvIHNwYW4gMzsgfVxuICAgIC5vcC1kYXRlIHsgZ3JpZC1jb2x1bW46IDI7IGdyaWQtcm93OiAxOyB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gICAgLm9wLWRhdGUtZGF5IHsgZGlzcGxheTogaW5saW5lOyBtYXJnaW4tcmlnaHQ6IDAuMjVyZW07IGZvbnQtc2l6ZTogMC45Mzc1cmVtOyB9XG4gICAgLm9wLWFtb3VudCB7IGdyaWQtY29sdW1uOiAzOyBncmlkLXJvdzogMTsgfVxuICAgIC5vcC1tYWluIHsgZ3JpZC1jb2x1bW46IDIgLyAtMTsgZ3JpZC1yb3c6IDI7IH1cbiAgICAub3Atc3RhZ2UgeyBncmlkLWNvbHVtbjogMiAvIC0xOyBncmlkLXJvdzogMzsgfVxuICAgIC5vcC1jaGV2cm9uIHsgZGlzcGxheTogbm9uZTsgfVxufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFBBTk5FQVUgRCdVTkUgT1DDiVJBVElPTiAodGlyb2lyIGxhdMOpcmFsKVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICA8ZGlhbG9nPiBuYXRpZiA6IHBpw6hnZSBkZSBmb2N1cywgw4ljaGFwIGV0IGNsaWMgZXh0w6lyaWV1clxuICAgKGNsb3NlZGJ5KSBzYW5zIEphdmFTY3JpcHQgbWFpc29uLlxuXG4gICBPcmdhbmlzYXRpb24gOiBsJ29ww6lyYXRpb24gZW4gdMOqdGUgKGxlIGNvbnRleHRlKSwgcHVpcyBkZXV4XG4gICBjYXJ0ZXMgbnVtw6lyb3TDqWVzIOKAlCByw6lwYXJ0aXIsIHB1aXMganVzdGlmaWVyIOKAlCBwYXJjZSBxdWVcbiAgIGMnZXN0IHVuZSB2cmFpZSBzw6lxdWVuY2UuIENoYXF1ZSBjYXJ0ZSBwb3J0ZSBzb24gc3RhdHV0IGV0XG4gICBzb24gcHJvcHJlIGJvdXRvbiBkJ2FjdGlvbiA7IGxlIHBpZWQgZHUgcGFubmVhdSBuZSBzZXJ0XG4gICBxdSfDoCBuYXZpZ3Vlci5cbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uZHJhd2VyIHtcbiAgICB3aWR0aDogbWluKDQwcmVtLCAxMDB2dyk7XG4gICAgbWF4LXdpZHRoOiBub25lO1xuICAgIGhlaWdodDogMTAwZHZoO1xuICAgIG1heC1oZWlnaHQ6IDEwMGR2aDtcbiAgICBtYXJnaW46IDAgMCAwIGF1dG87XG4gICAgcGFkZGluZzogMDtcbiAgICBib3JkZXI6IDA7XG4gICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXIpO1xuICAgIC8qIEZvbmQgbMOpZ8OocmVtZW50IHRlaW50w6kgOiBsZXMgY2FydGVzIGJsYW5jaGVzIHMnZW4gZMOpdGFjaGVudC4gKi9cbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iYWNrZ3JvdW5kKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dCk7XG4gICAgYm94LXNoYWRvdzogLTEycHggMCAzMnB4IHJnYigxNSA0MiA3NCAvIDAuMTIpO1xuICAgIC8qIExlIHRpcm9pciBuZSBkw6lmaWxlIGphbWFpcyA6IHNldWxzIGxlIGNvcnBzIGV0IGwnYXBlcsOndSBkw6lmaWxlbnQuICovXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLmRyYXdlcjo6YmFja2Ryb3AgeyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMTAgMjQgMzggLyAwLjQ1KTsgfVxuXG5AbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IG5vLXByZWZlcmVuY2UpIHtcbiAgICAuZHJhd2VyW29wZW5dIHsgYW5pbWF0aW9uOiBkcmF3ZXItaW4gMC4xOHMgZWFzZS1vdXQ7IH1cbiAgICBAa2V5ZnJhbWVzIGRyYXdlci1pbiB7XG4gICAgICAgIGZyb20geyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMS41cmVtKTsgb3BhY2l0eTogMDsgfVxuICAgIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDY0MHB4KSB7XG4gICAgLmRyYXdlciB7IHdpZHRoOiAxMDB2dzsgfVxufVxuXG4uZHJhd2VyLWxheW91dCB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IG1pbm1heCgwLCAxZnIpO1xuICAgIGdyaWQtdGVtcGxhdGUtcm93czogbWlubWF4KDAsIDFmcik7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG1pbi1oZWlnaHQ6IDA7XG59XG5cbi5kcmF3ZXItaW5uZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgbWluLWhlaWdodDogMDtcbn1cblxuLmRyYXdlci1oZWFkZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDAuNXJlbTtcbiAgICBwYWRkaW5nOiAwLjc1cmVtIDFyZW07XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1saWdodCk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmFja2dyb3VuZC1wYW5lbCk7XG59XG5cbi5kcmF3ZXItdGl0bGUge1xuICAgIG1hcmdpbjogMDtcbiAgICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xufVxuXG4uZHJhd2VyLXRpdGxlLWRhdGUge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbn1cblxuLmRyYXdlci1uYXYge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZ2FwOiAwLjM3NXJlbTtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbn1cblxuLyogQm91dG9ucyBpY8O0bmUgZHUgcGFubmVhdSAobmF2aWd1ZXIsIGZlcm1lciwgYXBlcsOndSkgOiBjYXJyw6lzIGV0XG4gICBib3Jkw6lzIHBvdXIgcXUnb24gbGVzIHJlY29ubmFpc3NlIGNvbW1lIGRlcyBib3V0b25zLiAuYnRuLWljb24gZXN0XG4gICBkw6lqw6AgcHJpcyBwYXIgbCdhZG1pbmlzdHJhdGlvbiwgYXZlYyB1biBhdXRyZSBkZXNzaW4uICovXG4uZHJhd2VyLWljb24tYnRuIHtcbiAgICB3aWR0aDogMnJlbTtcbiAgICBoZWlnaHQ6IDJyZW07XG4gICAgcGFkZGluZzogMDtcbiAgICBmbGV4LXNocmluazogMDtcbn1cblxuLmRyYXdlci1pY29uLWJ0biBzdmcsXG4uZHJhd2VyLWljb24tYnRuIGkge1xuICAgIHdpZHRoOiAxLjEyNXJlbTtcbiAgICBoZWlnaHQ6IDEuMTI1cmVtO1xufVxuXG4uZHJhd2VyLWJvZHkge1xuICAgIGZsZXg6IDE7XG4gICAgbWluLWhlaWdodDogMDtcbiAgICBwYWRkaW5nOiAxcmVtO1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogMXJlbTtcbn1cblxuLmRyYXdlci1mbGFzaCB7IGRpc3BsYXk6IGZsZXg7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IGdhcDogMC41cmVtOyB9XG4uZHJhd2VyLWZsYXNoIC5hbGVydCB7IG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDsgfVxuXG4vKiDDiWzDqW1lbnRzIHNhbnMgY29udGVudSB2aXNpYmxlIDogaWxzIG5lIGRvaXZlbnQgcGFzIGFqb3V0ZXIgZCfDqWNhcnRcbiAgIChnYXApIGVuIGhhdXQgZHUgcGFubmVhdS4gTGUgZm9ybXVsYWlyZSB2aWRlIG5lIHNlcnQgcXUnw6AgcmVsaWVyXG4gICBsZXMgY2hhbXBzIChhdHRyaWJ1dCBmb3JtPSkgOyBpbCByZXN0ZSBzb3VtaXMgbcOqbWUgbWFzcXXDqS4gKi9cbi5kcmF3ZXItZmxhc2g6bm90KDpoYXMoKikpLFxuLmRyYXdlci1ib2R5ID4gZm9ybSNxdWFsaWZpY2F0aW9uLWZvcm0geyBkaXNwbGF5OiBub25lOyB9XG5cbi5kcmF3ZXItZm9vdGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBnYXA6IDAuNXJlbTtcbiAgICBwYWRkaW5nOiAwLjc1cmVtIDFyZW07XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1saWdodCk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmFja2dyb3VuZC1wYW5lbCk7XG59XG5cbi8qIOKUgOKUgCBMJ29ww6lyYXRpb24gKGNvbnRleHRlLCBwYXMgdW5lIMOpdGFwZSA6IHBhcyBkZSBjYXJ0ZSkg4pSAICovXG5cbi5vcC1pZGVudGl0eSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogMC4yNXJlbTtcbn1cblxuLm9wLWlkZW50aXR5LWxhYmVsIHtcbiAgICBtYXJnaW46IDA7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbiAgICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS40O1xuICAgIG92ZXJmbG93LXdyYXA6IGFueXdoZXJlO1xufVxuXG4ub3AtaWRlbnRpdHktYW1vdW50IHtcbiAgICBtYXJnaW46IDA7XG4gICAgZm9udC1zaXplOiAycmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgZm9udC12YXJpYW50LW51bWVyaWM6IHRhYnVsYXItbnVtcztcbiAgICBsZXR0ZXItc3BhY2luZzogLTAuMDJlbTtcbiAgICBsaW5lLWhlaWdodDogMS4xO1xufVxuXG4ub3AtaWRlbnRpdHktYW1vdW50LS1jcmVkaXQgeyBjb2xvcjogdmFyKC0tY29sb3Itc3VjY2Vzcy1kYXJrKTsgfVxuXG4ub3AtZGVzY3JpcHRpb24geyBtYXJnaW4tdG9wOiAwLjVyZW07IH1cblxuLm9wLWRlc2NyaXB0aW9uIC5mb3JtLWxhYmVsIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgZ2FwOiAwLjVyZW07XG59XG5cbi5zYXZlLXN0YXR1cyB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbXV0ZWQtYWNjZXNzaWJsZSk7XG4gICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG59XG5cbi5zYXZlLXN0YXR1cy0tb2sgeyBjb2xvcjogdmFyKC0tY29sb3Itc3VjY2Vzcy1kYXJrKTsgfVxuLnNhdmUtc3RhdHVzLS1lcnJvciB7IGNvbG9yOiB2YXIoLS1jb2xvci1kYW5nZXIpOyB9XG5cbi8qIOKUgOKUgCBMZXMgY2FydGVzIGQnw6l0YXBlIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgCAqL1xuXG4uc3RlcC1jYXJkIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXIpO1xuICAgIGJvcmRlci1yYWRpdXM6IDAuNzVyZW07XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmFja2dyb3VuZC1wYW5lbCk7XG4gICAgYm94LXNoYWRvdzogMCAxcHggMnB4IHJnYigxNSA0MiA3NCAvIDAuMDYpO1xufVxuXG4uc3RlcC1jYXJkLWhlYWQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDAuNjI1cmVtO1xuICAgIHBhZGRpbmc6IDAuNzVyZW0gMXJlbTtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLWxpZ2h0KTtcbn1cblxuLnN0ZXAtbnVtYmVyIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIHdpZHRoOiAxLjYyNXJlbTtcbiAgICBoZWlnaHQ6IDEuNjI1cmVtO1xuICAgIGJvcmRlci1yYWRpdXM6IDk5OTlweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS10ZXh0KTtcbiAgICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xufVxuXG4uc3RlcC1udW1iZXIgc3ZnLFxuLnN0ZXAtbnVtYmVyIGkgeyB3aWR0aDogMC44NzVyZW07IGhlaWdodDogMC44NzVyZW07IH1cblxuLnN0ZXAtY2FyZC0tZG9uZSAuc3RlcC1udW1iZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXN1Y2Nlc3MpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1zdWNjZXNzLXRleHQpO1xufVxuXG4uc3RlcC1jYXJkLS1sb2NrZWQgLnN0ZXAtbnVtYmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1ib3JkZXIpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG59XG5cbi5zdGVwLXRpdGxlIHtcbiAgICBtYXJnaW46IDA7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG59XG5cbi5zdGVwLXN0YXR1cyB7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgcGFkZGluZzogMC4xMjVyZW0gMC42MjVyZW07XG4gICAgYm9yZGVyLXJhZGl1czogOTk5OXB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJvcmRlci1saWdodCk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbiAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBmb250LXZhcmlhbnQtbnVtZXJpYzogdGFidWxhci1udW1zO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi5zdGVwLXN0YXR1cy0tdG9kbyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLWNvbG9yLXdhcm5pbmcpIDE1JSwgdHJhbnNwYXJlbnQpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci13YXJuaW5nLWRhcmspO1xufVxuXG4uc3RlcC1zdGF0dXMtLWRvbmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1jb2xvci1zdWNjZXNzKSAxNSUsIHRyYW5zcGFyZW50KTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3Itc3VjY2Vzcy1kYXJrKTtcbn1cblxuLnN0ZXAtY2FyZC1ib2R5IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiAxcmVtO1xuICAgIHBhZGRpbmc6IDFyZW07XG59XG5cbi5zdGVwLWxvY2tlZCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICBnYXA6IDAuNXJlbTtcbiAgICBtYXJnaW46IDA7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbiAgICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS40NTtcbn1cblxuLnN0ZXAtbG9ja2VkIHN2Zyxcbi5zdGVwLWxvY2tlZCBpIHsgd2lkdGg6IDFyZW07IGhlaWdodDogMXJlbTsgZmxleC1zaHJpbms6IDA7IG1hcmdpbi10b3A6IDAuMDYyNXJlbTsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIExBIFZFTlRJTEFUSU9OXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIExlIGJsb2Mgc2UgbGl0IGNvbW1lIHVuZSBzb3VzdHJhY3Rpb24gOiBsZSBtb250YW50IGRlXG4gICBsJ29ww6lyYXRpb24gZW4gaGF1dCwgbGVzIGxpZ25lcyBhdSBtaWxpZXUsIGxlIHJlc3RlIGVuIGJhc1xuICAgc291cyB1biBmaWxldCDigJQgbGEgY29udmVudGlvbiBkJ3VuIHJlbGV2w6kgY29tcHRhYmxlLiBDaGFxdWVcbiAgIGxpZ25lIGEgdW5lIHBhc3RpbGxlIGRlIGxhIGNvdWxldXIgZGUgc29uIHNlZ21lbnQuXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmxlZGdlciB7XG4gICAgLS1zZWctMTogIzJmNWQ4YTtcbiAgICAtLXNlZy0yOiAjOWM2NDAwO1xuICAgIC0tc2VnLTM6ICM0YzdmNmQ7XG4gICAgLS1zZWctNDogIzdhNWM4ZjtcbiAgICAtLXNlZy01OiAjYTQ1YjRkO1xuICAgIC0tc2VnLTY6ICM1YjZiN2M7XG5cbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItbGlnaHQpO1xuICAgIGJvcmRlci1yYWRpdXM6IDAuNXJlbTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG46cm9vdC5kYXJrIC5sZWRnZXIge1xuICAgIC0tc2VnLTE6ICM2ZmE4ZGM7XG4gICAgLS1zZWctMjogI2UwYTYzYztcbiAgICAtLXNlZy0zOiAjN2ZjMGE4O1xuICAgIC0tc2VnLTQ6ICNiNDk4Y2M7XG4gICAgLS1zZWctNTogI2Q4OTM4NjtcbiAgICAtLXNlZy02OiAjOWRiOGNkO1xufVxuXG4ubGVkZ2VyLXJvdyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGdhcDogMXJlbTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMC42MjVyZW0gMC44NzVyZW07XG4gICAgZm9udC1zaXplOiAwLjgxMjVyZW07XG59XG5cbi5sZWRnZXItcm93LWxhYmVsIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogMC4zNzVyZW07XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbn1cblxuLmxlZGdlci1yb3ctbGFiZWwgc3ZnLFxuLmxlZGdlci1yb3ctbGFiZWwgaSB7IHdpZHRoOiAwLjg3NXJlbTsgaGVpZ2h0OiAwLjg3NXJlbTsgfVxuXG4ubGVkZ2VyLXJvdy1hbW91bnQge1xuICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgZm9udC12YXJpYW50LW51bWVyaWM6IHRhYnVsYXItbnVtcztcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4ubGVkZ2VyLXJvdy0tdG90YWwgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iYWNrZ3JvdW5kKTsgfVxuXG4vKiBMZSBmaWxldCBkZSB0b3RhbCA6IGxhIGNvbnZlbnRpb24gY29tcHRhYmxlIHBvdXIgwqsgdm9pY2kgbGUgcsOpc3VsdGF0IMK7LiAqL1xuLmxlZGdlci1yb3ctLXJlc3Qge1xuICAgIGJvcmRlci10b3A6IDJweCBzb2xpZCB2YXIoLS1jb2xvci10ZXh0KTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tY29sb3Itd2FybmluZykgMTAlLCB0cmFuc3BhcmVudCk7XG59XG5cbi5sZWRnZXItcm93LS1yZXN0IC5sZWRnZXItcm93LWxhYmVsLFxuLmxlZGdlci1yb3ctLXJlc3QgLmxlZGdlci1yb3ctYW1vdW50IHsgY29sb3I6IHZhcigtLWNvbG9yLXdhcm5pbmctZGFyayk7IGZvbnQtd2VpZ2h0OiA3MDA7IH1cblxuLmxlZGdlci1yb3ctLWRvbmUge1xuICAgIGJvcmRlci10b3AtY29sb3I6IHZhcigtLWNvbG9yLWJvcmRlci1saWdodCk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLWNvbG9yLXN1Y2Nlc3MpIDEwJSwgdHJhbnNwYXJlbnQpO1xufVxuXG4ubGVkZ2VyLXJvdy0tZG9uZSAubGVkZ2VyLXJvdy1sYWJlbCxcbi5sZWRnZXItcm93LS1kb25lIC5sZWRnZXItcm93LWFtb3VudCB7IGNvbG9yOiB2YXIoLS1jb2xvci1zdWNjZXNzLWRhcmspOyB9XG5cbi8qIEJhcnJlIDogc2VnbWVudHMgcHJvcG9ydGlvbm5lbHMgYXV4IG1vbnRhbnRzIChmbGV4LWdyb3cpLiAqL1xuLmxlZGdlci1iYXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgaGVpZ2h0OiAwLjVyZW07XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYm9yZGVyLWxpZ2h0KTtcbn1cblxuLmxlZGdlci1zZWcgeyBkaXNwbGF5OiBibG9jazsgbWluLXdpZHRoOiAycHg7IH1cblxuLmxlZGdlci1zZWctLXJlc3Qge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHJlcGVhdGluZy1saW5lYXItZ3JhZGllbnQoXG4gICAgICAgIDEzNWRlZyxcbiAgICAgICAgdmFyKC0tY29sb3ItYm9yZGVyKSAwIDNweCxcbiAgICAgICAgdHJhbnNwYXJlbnQgM3B4IDdweFxuICAgICk7XG59XG5cbi5sZWRnZXItbGluZXMge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG59XG5cbi5sZWRnZXItbGluZSB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDAuNXJlbSBtaW5tYXgoMCwgMWZyKSBhdXRvIGF1dG8gYXV0bztcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogMCAwLjYyNXJlbTtcbiAgICBwYWRkaW5nOiAwLjVyZW0gMC44NzVyZW07XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1saWdodCk7XG59XG5cbi5sZWRnZXItbGluZTpsYXN0LWNoaWxkIHsgYm9yZGVyLWJvdHRvbTogMDsgfVxuXG4ubGVkZ2VyLWRvdCB7XG4gICAgd2lkdGg6IDAuNXJlbTtcbiAgICBoZWlnaHQ6IDAuNXJlbTtcbiAgICBib3JkZXItcmFkaXVzOiA5OTk5cHg7XG59XG5cbi5sZWRnZXItYWNjb3VudCB7IG1pbi13aWR0aDogMDsgfVxuXG4ubGVkZ2VyLWFjY291bnQtY29kZSB7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBmb250LXZhcmlhbnQtbnVtZXJpYzogdGFidWxhci1udW1zO1xuICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xufVxuXG4ubGVkZ2VyLWFjY291bnQtbGFiZWwge1xuICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG59XG5cbi5sZWRnZXItYWNjb3VudC1tZXRhIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1tdXRlZC1hY2Nlc3NpYmxlKTtcbiAgICBmb250LXNpemU6IDAuNjg3NXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS4zNTtcbn1cblxuLyogQ2FzZSDCqyBqdXN0aWZpY2F0aWYgbsOpY2Vzc2FpcmUgwrsgZCd1bmUgbGlnbmUgOiB1biBsaWVuIGRpc2NyZXQsIG1haXNcbiAgIGxpc2libGUgKGNvdWxldXIgZHUgdGV4dGUgc2Vjb25kYWlyZSkgZXQgdmlzaWJsZSBhdSBjbGF2aWVyLiAqL1xuLmxlZGdlci1qdXN0aWYgeyBtYXJnaW46IDAuMTI1cmVtIDAgMDsgfVxuXG4ubGVkZ2VyLWp1c3RpZi10b2dnbGUge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xuICAgIGZvbnQtc2l6ZTogMC42ODc1cmVtO1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIHRleHQtdW5kZXJsaW5lLW9mZnNldDogMnB4O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLmxlZGdlci1qdXN0aWYtdG9nZ2xlOmhvdmVyIHsgY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnktZGFyayk7IH1cblxuLmxlZGdlci1qdXN0aWYtdG9nZ2xlOmZvY3VzLXZpc2libGUge1xuICAgIG91dGxpbmU6IDJweCBzb2xpZCB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbiAgICBvdXRsaW5lLW9mZnNldDogMnB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDJweDtcbn1cblxuLmxlZGdlci1zaGFyZSB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbiAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgZm9udC12YXJpYW50LW51bWVyaWM6IHRhYnVsYXItbnVtcztcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4ubGVkZ2VyLWFtb3VudCB7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGZvbnQtdmFyaWFudC1udW1lcmljOiB0YWJ1bGFyLW51bXM7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLmxlZGdlci1yZW1vdmUge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgd2lkdGg6IDEuNzVyZW07XG4gICAgaGVpZ2h0OiAxLjc1cmVtO1xuICAgIGJvcmRlcjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDAuMzc1cmVtO1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbXV0ZWQtYWNjZXNzaWJsZSk7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4ubGVkZ2VyLXJlbW92ZTpob3Zlcixcbi5sZWRnZXItcmVtb3ZlOmZvY3VzLXZpc2libGUge1xuICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1jb2xvci1kYW5nZXIpIDEyJSwgdHJhbnNwYXJlbnQpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1kYW5nZXIpO1xufVxuXG4ubGVkZ2VyLXJlbW92ZSBzdmcsXG4ubGVkZ2VyLXJlbW92ZSBpIHsgd2lkdGg6IDAuODc1cmVtOyBoZWlnaHQ6IDAuODc1cmVtOyB9XG5cbi8qIFBhc3RpbGxlcyBldCBzZWdtZW50cyBwYXJ0YWdlbnQgbGEgbcOqbWUgY291bGV1ciwgYXUgbcOqbWUgcmFuZy4gKi9cbi5sZWRnZXItbGluZTpudGgtY2hpbGQoNm4gKyAxKSAubGVkZ2VyLWRvdCxcbi5sZWRnZXItc2VnOm50aC1jaGlsZCg2biArIDEpIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc2VnLTEpOyB9XG4ubGVkZ2VyLWxpbmU6bnRoLWNoaWxkKDZuICsgMikgLmxlZGdlci1kb3QsXG4ubGVkZ2VyLXNlZzpudGgtY2hpbGQoNm4gKyAyKSB7IGJhY2tncm91bmQtY29sb3I6IHZhcigtLXNlZy0yKTsgfVxuLmxlZGdlci1saW5lOm50aC1jaGlsZCg2biArIDMpIC5sZWRnZXItZG90LFxuLmxlZGdlci1zZWc6bnRoLWNoaWxkKDZuICsgMykgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zZWctMyk7IH1cbi5sZWRnZXItbGluZTpudGgtY2hpbGQoNm4gKyA0KSAubGVkZ2VyLWRvdCxcbi5sZWRnZXItc2VnOm50aC1jaGlsZCg2biArIDQpIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc2VnLTQpOyB9XG4ubGVkZ2VyLWxpbmU6bnRoLWNoaWxkKDZuICsgNSkgLmxlZGdlci1kb3QsXG4ubGVkZ2VyLXNlZzpudGgtY2hpbGQoNm4gKyA1KSB7IGJhY2tncm91bmQtY29sb3I6IHZhcigtLXNlZy01KTsgfVxuLmxlZGdlci1saW5lOm50aC1jaGlsZCg2biArIDYpIC5sZWRnZXItZG90LFxuLmxlZGdlci1zZWc6bnRoLWNoaWxkKDZuICsgNikgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zZWctNik7IH1cblxuLmxlZGdlci1zZWcubGVkZ2VyLXNlZy0tcmVzdCB7IGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgTEEgTElHTkUgw4AgQUpPVVRFUlxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBQcsOpc2VudMOpZSBjb21tZSBsYSBwcm9jaGFpbmUgbGlnbmUgZGUgbGEgdmVudGlsYXRpb24gOlxuICAgbcOqbWUgYm9yZCBnYXVjaGUgcXVlIGxlIHRhYmxlYXUsIGZvbmQgZGlzdGluY3QsIGV0IHNvblxuICAgcHJvcHJlIGJvdXRvbiBqdXN0ZSBzb3VzIGxlcyBjaGFtcHMuXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmFkZC1saW5lIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiAwLjc1cmVtO1xuICAgIHBhZGRpbmc6IDAuODc1cmVtO1xuICAgIGJvcmRlcjogMXB4IGRhc2hlZCBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tY29sb3ItcHJpbWFyeSkgMzUlLCB2YXIoLS1jb2xvci1ib3JkZXIpKTtcbiAgICBib3JkZXItcmFkaXVzOiAwLjVyZW07XG4gICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLWNvbG9yLXByaW1hcnkpIDQlLCB2YXIoLS1jb2xvci1iYWNrZ3JvdW5kLXBhbmVsKSk7XG59XG5cbi5hZGQtbGluZS10aXRsZSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbn1cblxuLmFkZC1saW5lLXN1Z2dlc3Rpb24ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDAuNXJlbTtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgcGFkZGluZzogMC41cmVtIDAuNjI1cmVtO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWFjY2VudCk7XG4gICAgYm9yZGVyLXJhZGl1czogMC41cmVtO1xuICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1jb2xvci1hY2NlbnQpIDEwJSwgdmFyKC0tY29sb3ItYmFja2dyb3VuZC1wYW5lbCkpO1xuICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xufVxuXG4uYWRkLWxpbmUtc3VnZ2VzdGlvbiA+IHN2Zyxcbi5hZGQtbGluZS1zdWdnZXN0aW9uID4gaSB7IHdpZHRoOiAxcmVtOyBoZWlnaHQ6IDFyZW07IGNvbG9yOiB2YXIoLS1jb2xvci1hY2NlbnQtZGFyayk7IH1cblxuLmFkZC1saW5lLXN1Z2dlc3Rpb24tdGV4dCB7IGZsZXg6IDE7IG1pbi13aWR0aDogMTByZW07IH1cblxuLmFkZC1saW5lLXN1Z2dlc3Rpb24tdXNlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1hY2NlbnQpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1hY2NlbnQtdGV4dCk7XG59XG5cbi5hZGQtbGluZS1zdWdnZXN0aW9uLXVzZTpob3ZlciB7IGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWFjY2VudC1kYXJrKTsgfVxuXG4uYWRkLWxpbmUtZmllbGRzIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogbWlubWF4KDAsIDFmcikgOS41cmVtO1xuICAgIGdhcDogMC42MjVyZW07XG4gICAgYWxpZ24taXRlbXM6IGVuZDtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDQ4MHB4KSB7XG4gICAgLmFkZC1saW5lLWZpZWxkcyB7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogbWlubWF4KDAsIDFmcik7IH1cbn1cblxuLmFkZC1saW5lLWZpZWxkcyAuZm9ybS1sYWJlbCB7IG1hcmdpbi1ib3R0b206IDAuMjVyZW07IH1cblxuLmFtb3VudC1pbnB1dCB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4uYW1vdW50LWlucHV0IC5mb3JtLWNvbnRyb2wge1xuICAgIHBhZGRpbmctcmlnaHQ6IDEuNzVyZW07XG4gICAgZm9udC1zaXplOiAxLjA2MjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBmb250LXZhcmlhbnQtbnVtZXJpYzogdGFidWxhci1udW1zO1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuXG4uYW1vdW50LWlucHV0IC5mb3JtLWNvbnRyb2w6dXNlci1pbnZhbGlkIHsgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1kYW5nZXIpOyB9XG5cbi5hbW91bnQtY3VycmVuY3kge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICByaWdodDogMC42MjVyZW07XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LW11dGVkLWFjY2Vzc2libGUpO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbi5hZGQtbGluZS1wcmV2aWV3IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgZ2FwOiAwLjc1cmVtO1xuICAgIG1hcmdpbjogLTAuMjVyZW0gMCAwO1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbn1cblxuLmFtb3VudC1wcmV2aWV3IHsgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTsgfVxuLmFtb3VudC1wcmV2aWV3LS1vdmVyIHsgY29sb3I6IHZhcigtLWNvbG9yLWRhbmdlcik7IGZvbnQtd2VpZ2h0OiA2MDA7IH1cblxuLmFtb3VudC1maWxsIHtcbiAgICBmbGV4LXNocmluazogMDtcbiAgICBib3JkZXI6IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbiAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLmFtb3VudC1maWxsOmhvdmVyIHsgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cblxuLmFkZC1saW5lLWNoZWNrIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiAwLjVyZW07XG4gICAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gICAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4uYWRkLWxpbmUtYWN0aW9ucyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xufVxuXG4vKiBSZXBsacOpcyBwYXIgZMOpZmF1dCA6IHJhcmVtZW50IHJlbXBsaXMuICovXG4uZXh0cmEtZmllbGRzIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItbGlnaHQpO1xuICAgIGJvcmRlci1yYWRpdXM6IDAuNXJlbTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iYWNrZ3JvdW5kLXBhbmVsKTtcbn1cblxuLmV4dHJhLWZpZWxkcyA+IHN1bW1hcnkge1xuICAgIHBhZGRpbmc6IDAuNXJlbSAwLjc1cmVtO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG4gICAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgbGlzdC1zdHlsZS1wb3NpdGlvbjogaW5zaWRlO1xufVxuXG4uZXh0cmEtZmllbGRzW29wZW5dID4gc3VtbWFyeSB7IGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItbGlnaHQpOyB9XG5cbi5leHRyYS1maWVsZHMtYm9keSB7XG4gICAgcGFkZGluZzogMC43NXJlbTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiAwLjYyNXJlbTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBKVVNUSUZJQ0FUSUZTXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmRvYy1jYXJkcyB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiAwLjVyZW07XG59XG5cbi5kb2MtY2FyZCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogMC43NXJlbTtcbiAgICBwYWRkaW5nOiAwLjYyNXJlbSAwLjc1cmVtO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1saWdodCk7XG4gICAgYm9yZGVyLXJhZGl1czogMC41cmVtO1xufVxuXG4vKiBWaWduZXR0ZSBkZSB0eXBlIDogbGlzaWJsZSBzYW5zIGTDqXBlbmRyZSBkJ3VuZSBpY8O0bmUuICovXG4uZG9jLWNhcmQtaWNvbiB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBmbGV4LXNocmluazogMDtcbiAgICB3aWR0aDogMi4yNXJlbTtcbiAgICBoZWlnaHQ6IDIuNzVyZW07XG4gICAgYm9yZGVyLXJhZGl1czogMC4yNXJlbTtcbiAgICBmb250LXNpemU6IDAuNjI1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA4MDA7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMDRlbTtcbn1cblxuLmRvYy1jYXJkLWljb24tLXBkZiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLWNvbG9yLWRhbmdlcikgMTIlLCB0cmFuc3BhcmVudCk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWRhbmdlci1kYXJrKTtcbn1cblxuLmRvYy1jYXJkLWljb24tLWltYWdlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tY29sb3ItaW5mbykgMTIlLCB0cmFuc3BhcmVudCk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWluZm8tZGFyayk7XG59XG5cbi5kb2MtY2FyZC1ib2R5IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZmxleDogMTtcbiAgICBtaW4td2lkdGg6IDA7XG59XG5cbi5kb2MtY2FyZC1uYW1lIHtcbiAgICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLmRvYy1jYXJkLW1ldGEge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG4gICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgIGZvbnQtdmFyaWFudC1udW1lcmljOiB0YWJ1bGFyLW51bXM7XG59XG5cbi8qIFpvbmUgZGUgZMOpcMO0dCA6IGdyYW5kZSBjaWJsZSwgdW4gc2V1bCBnZXN0ZS4gKi9cbi5kcm9wem9uZSB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4uZHJvcHpvbmUtaW5wdXQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMXB4O1xuICAgIGhlaWdodDogMXB4O1xuICAgIGNsaXAtcGF0aDogaW5zZXQoNTAlKTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi5kcm9wem9uZS1sYWJlbCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiAwLjI1cmVtO1xuICAgIHBhZGRpbmc6IDEuMjVyZW0gMXJlbTtcbiAgICBib3JkZXI6IDJweCBkYXNoZWQgdmFyKC0tY29sb3ItYm9yZGVyKTtcbiAgICBib3JkZXItcmFkaXVzOiAwLjYyNXJlbTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iYWNrZ3JvdW5kKTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjEycyBlYXNlLCBiYWNrZ3JvdW5kLWNvbG9yIDAuMTJzIGVhc2U7XG59XG5cbi5kcm9wem9uZS1sYWJlbCA+IHN2Zyxcbi5kcm9wem9uZS1sYWJlbCA+IGkge1xuICAgIHdpZHRoOiAxLjVyZW07XG4gICAgaGVpZ2h0OiAxLjVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMC4yNXJlbTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG59XG5cbi5kcm9wem9uZS10aXRsZSB7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xufVxuXG4uZHJvcHpvbmUtc3ViIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbn1cblxuLmRyb3B6b25lLWxpbmsge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuXG4uZHJvcHpvbmUtbGFiZWw6aG92ZXIsXG4uZHJvcHpvbmUtLW92ZXIgLmRyb3B6b25lLWxhYmVsIHtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1jb2xvci1wcmltYXJ5KSA2JSwgdmFyKC0tY29sb3ItYmFja2dyb3VuZC1wYW5lbCkpO1xufVxuXG4uZHJvcHpvbmU6aGFzKC5kcm9wem9uZS1pbnB1dDpmb2N1cy12aXNpYmxlKSAuZHJvcHpvbmUtbGFiZWwge1xuICAgIG91dGxpbmU6IDJweCBzb2xpZCB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbiAgICBvdXRsaW5lLW9mZnNldDogMnB4O1xufVxuXG4uZHJvcHpvbmUtLWJ1c3kgLmRyb3B6b25lLWxhYmVsIHtcbiAgICBjdXJzb3I6IHByb2dyZXNzO1xuICAgIG9wYWNpdHk6IDAuNztcbn1cblxuLnJldXNlLWZvcm0ge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3cgIWltcG9ydGFudDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4ucmV1c2UtZm9ybSAuZm9ybS1jb250cm9sIHsgZmxleDogMTsgbWluLXdpZHRoOiAwOyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQVBFUsOHVSBEVSBKVVNUSUZJQ0FUSUZcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgVW5lIGNvbG9ubmUgw6AgZ2F1Y2hlIGR1IGZvcm11bGFpcmUgcGx1dMO0dCBxdSd1bmUgbW9kYWxlXG4gICBwYXItZGVzc3VzIDogb24gbGl0IGxhIGZhY3R1cmUgZW4gc2Fpc2lzc2FudCBsZXMgbW9udGFudHMuXG4gICBMZSB0aXJvaXIgcyfDqWxhcmdpdCBzZXVsZW1lbnQgcXVhbmQgdW4gZG9jdW1lbnQgZXN0IG91dmVydC5cbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uZHJhd2VyLS13aXRoLXByZXZpZXcgeyB3aWR0aDogbWluKDg0cmVtLCAxMDB2dyk7IH1cblxuLmRyYXdlci0td2l0aC1wcmV2aWV3IC5kcmF3ZXItbGF5b3V0IHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IG1pbm1heCgwLCAxZnIpIDQwcmVtO1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogOTAwcHgpIHtcbiAgICAuZHJhd2VyLS13aXRoLXByZXZpZXcgeyB3aWR0aDogMTAwdnc7IH1cbiAgICAuZHJhd2VyLS13aXRoLXByZXZpZXcgLmRyYXdlci1sYXlvdXQge1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IG1pbm1heCgwLCAxZnIpO1xuICAgICAgICBncmlkLXRlbXBsYXRlLXJvd3M6IDQwJSBtaW5tYXgoMCwgMWZyKTtcbiAgICB9XG59XG5cbi5kcmF3ZXItcHJldmlldyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIG1pbi13aWR0aDogMDtcbiAgICBtaW4taGVpZ2h0OiAwO1xuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlcik7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmFja2dyb3VuZC1wYW5lbCk7XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA5MDBweCkge1xuICAgIC5kcmF3ZXItcHJldmlldyB7XG4gICAgICAgIGJvcmRlci1yaWdodDogMDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlcik7XG4gICAgfVxufVxuXG4uZHJhd2VyLXByZXZpZXctaGVhZCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogMC41cmVtO1xuICAgIHBhZGRpbmc6IDAuNjI1cmVtIDAuNzVyZW07XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1saWdodCk7XG4gICAgZm9udC1zaXplOiAwLjgxMjVyZW07XG59XG5cbi5kcmF3ZXItcHJldmlldy1oZWFkID4gc3ZnLFxuLmRyYXdlci1wcmV2aWV3LWhlYWQgPiBpIHtcbiAgICB3aWR0aDogMC45Mzc1cmVtO1xuICAgIGhlaWdodDogMC45Mzc1cmVtO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LW11dGVkLWFjY2Vzc2libGUpO1xufVxuXG4uZHJhd2VyLXByZXZpZXctbmFtZSB7XG4gICAgZmxleDogMTtcbiAgICBtaW4td2lkdGg6IDA7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi5kcmF3ZXItcHJldmlldy1ib2R5IHtcbiAgICBmbGV4OiAxO1xuICAgIG1pbi1oZWlnaHQ6IDA7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHBhZGRpbmc6IDAuNXJlbTtcbiAgICBvdmVyZmxvdzogYXV0bztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iYWNrZ3JvdW5kKTtcbn1cblxuLmRyYXdlci1wcmV2aWV3LWZyYW1lIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDAuMzc1cmVtO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG59XG5cbi5kcmF3ZXItcHJldmlldy1pbWFnZSB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgYm9yZGVyLXJhZGl1czogMC4zNzVyZW07XG4gICAgb2JqZWN0LWZpdDogY29udGFpbjtcbn1cblxuLyogRm9jdXMgdmlzaWJsZSBob21vZ8OobmUuICovXG4ub3AtZmlsdGVyOmZvY3VzLXZpc2libGUsXG4ub3Atc3VnZ2VzdGlvbjpmb2N1cy12aXNpYmxlLFxuLm9wLWxhYmVsOmZvY3VzLXZpc2libGUsXG4ubGVkZ2VyLXJlbW92ZTpmb2N1cy12aXNpYmxlLFxuLmFtb3VudC1maWxsOmZvY3VzLXZpc2libGUge1xuICAgIG91dGxpbmU6IDJweCBzb2xpZCB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbiAgICBvdXRsaW5lLW9mZnNldDogMnB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDAuMjVyZW07XG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFFVQUxJRklDQVRJT04gQVVUT01BVElRVUUg4oCUIFLDiEdMRVMgUEFSIENPTVBURVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBQYXJ0aSBwcmlzIDogbGUgZ2VzdGUgY291cmFudCBuJ2VzdCBwYXMgwqsgY3LDqWVyIHVuZSByw6hnbGUgwrtcbiAgIG1haXMgwqsgYWpvdXRlciB1biBtb3QtY2zDqSDDoCB1biBjb21wdGUgZMOpasOgIHV0aWxpc8OpIMK7LiBMZXNcbiAgIHLDqGdsZXMgc29udCBkb25jIHByw6lzZW50w6llcyBlbiBjYXJ0ZXMgcGFyIGNvbXB0ZSwgY2hhY3VuZVxuICAgYXZlYyBzb24gY2hhbXAgZCdham91dCwgcGx1dMO0dCBxdSd1biBmb3JtdWxhaXJlIHVuaXF1ZSBlblxuICAgaGF1dCBkZSBwYWdlIHN1aXZpIGQndW4gdGFibGVhdS5cbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4ucnVsZS1ncmlkIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZmlsbCwgbWlubWF4KG1pbigyMnJlbSwgMTAwJSksIDFmcikpO1xuICAgIGdhcDogMC44NzVyZW07XG59XG5cbi5ydWxlLWNhcmQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IDAuNzVyZW07XG4gICAgcGFkZGluZzogMC44NzVyZW0gMXJlbSAxcmVtO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1saWdodCk7XG4gICAgYm9yZGVyLXJhZGl1czogMC43NXJlbTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iYWNrZ3JvdW5kLXBhbmVsKTtcbn1cblxuLnJ1bGUtY2FyZC1oZWFkZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xuICAgIGdhcDogMC41cmVtO1xufVxuXG4ucnVsZS1jYXJkLWNvZGUge1xuICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgZm9udC12YXJpYW50LW51bWVyaWM6IHRhYnVsYXItbnVtcztcbn1cblxuLnJ1bGUtY2FyZC1sYWJlbCB7XG4gICAgZmxleDogMTtcbiAgICBtaW4td2lkdGg6IDA7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS4zO1xufVxuXG4ucnVsZS1jYXJkLWZhbWlseSB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbXV0ZWQtYWNjZXNzaWJsZSk7XG4gICAgZm9udC1zaXplOiAwLjY4NzVyZW07XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4wNGVtO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi5ydWxlLWtleXdvcmRzIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBnYXA6IDAuMzc1cmVtO1xufVxuXG4ua2V5d29yZCB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDAuMjVyZW07XG4gICAgcGFkZGluZzogMC4xODc1cmVtIDAuMjVyZW0gMC4xODc1cmVtIDAuNXJlbTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXIpO1xuICAgIGJvcmRlci1yYWRpdXM6IDk5OTlweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iYWNrZ3JvdW5kKTtcbiAgICBmb250LXNpemU6IDAuODEyNXJlbTtcbn1cblxuLmtleXdvcmQtLWVkaXRpbmcge1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItYWNjZW50KTtcbiAgICBib3gtc2hhZG93OiAwIDAgMCAycHggY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLWNvbG9yLWFjY2VudCkgMjUlLCB0cmFuc3BhcmVudCk7XG59XG5cbi5rZXl3b3JkLXRleHQgeyBmb250LXdlaWdodDogNjAwOyB9XG5cbi8qIExlIHNlbnMgbidlc3QgYWZmaWNow6kgcXVlIHMnaWwgcmVzdHJlaW50IGxhIHLDqGdsZSA6XG4gICDCqyBkw6liaXQgZXQgY3LDqWRpdCDCuyBlc3QgbGUgY2FzIHBhciBkw6lmYXV0LCBpbnV0aWxlIMOgIGRpcmUuICovXG4ua2V5d29yZC1kaXJlY3Rpb24ge1xuICAgIHBhZGRpbmc6IDAgMC4zNzVyZW07XG4gICAgYm9yZGVyLXJhZGl1czogOTk5OXB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJvcmRlci1saWdodCk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbiAgICBmb250LXNpemU6IDAuNjg3NXJlbTtcbn1cblxuLmtleXdvcmQtYWN0aW9uIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHdpZHRoOiAxLjM3NXJlbTtcbiAgICBoZWlnaHQ6IDEuMzc1cmVtO1xuICAgIGJvcmRlcjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDk5OTlweDtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LW11dGVkLWFjY2Vzc2libGUpO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLmtleXdvcmQtYWN0aW9uOmhvdmVyLFxuLmtleXdvcmQtYWN0aW9uOmZvY3VzLXZpc2libGUge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJvcmRlci1saWdodCk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQpO1xufVxuXG4ua2V5d29yZC1hY3Rpb24gc3ZnLFxuLmtleXdvcmQtYWN0aW9uIGkgeyB3aWR0aDogMC44MTI1cmVtOyBoZWlnaHQ6IDAuODEyNXJlbTsgfVxuXG4ua2V5d29yZC1mb3JtIHsgZGlzcGxheTogaW5saW5lLWZsZXg7IH1cblxuLyogQWpvdXQgaW5saW5lIGRhbnMgbGEgY2FydGUgKi9cbi5ydWxlLWFkZCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBnYXA6IDAuMzc1cmVtO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgbWFyZ2luLXRvcDogYXV0bztcbiAgICBwYWRkaW5nLXRvcDogMC43NXJlbTtcbiAgICBib3JkZXItdG9wOiAxcHggZGFzaGVkIHZhcigtLWNvbG9yLWJvcmRlcik7XG59XG5cbi5ydWxlLWFkZCBpbnB1dFt0eXBlPVwidGV4dFwiXSB7IGZsZXg6IDE7IG1pbi13aWR0aDogMDsgfVxuXG4vKiBHcm91cGUgZGUgYm91dG9ucyBwb3VyIGxlIHNlbnMgOiB0cm9pcyBvcHRpb25zIHZpc2libGVzXG4gICB2YWxlbnQgbWlldXggcXUndW4gc2VsZWN0IMOgIG91dnJpci4gKi9cbi5kaXJlY3Rpb24tY2hvaWNlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXIpO1xuICAgIGJvcmRlci1yYWRpdXM6IDAuMzc1cmVtO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5kaXJlY3Rpb24tY2hvaWNlIGlucHV0IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDFweDtcbiAgICBoZWlnaHQ6IDFweDtcbiAgICBjbGlwLXBhdGg6IGluc2V0KDUwJSk7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4uZGlyZWN0aW9uLWNob2ljZSBsYWJlbCB7XG4gICAgcGFkZGluZzogMC4zMTI1cmVtIDAuNXJlbTtcbiAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXIpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJhY2tncm91bmQtcGFuZWwpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG4gICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xufVxuXG4uZGlyZWN0aW9uLWNob2ljZSBsYWJlbDpsYXN0LWNoaWxkIHsgYm9yZGVyLXJpZ2h0OiAwOyB9XG5cbi5kaXJlY3Rpb24tY2hvaWNlIGlucHV0OmNoZWNrZWQgKyBsYWJlbCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnktdGV4dCk7XG59XG5cbi5kaXJlY3Rpb24tY2hvaWNlIGlucHV0OmZvY3VzLXZpc2libGUgKyBsYWJlbCB7XG4gICAgb3V0bGluZTogMnB4IHNvbGlkIHZhcigtLWNvbG9yLXByaW1hcnkpO1xuICAgIG91dGxpbmUtb2Zmc2V0OiAtMnB4O1xufVxuXG4ucnVsZS1lbXB0eSB7XG4gICAgZ3JpZC1jb2x1bW46IDEgLyAtMTtcbiAgICBwYWRkaW5nOiAyLjVyZW0gMXJlbTtcbiAgICBib3JkZXI6IDFweCBkYXNoZWQgdmFyKC0tY29sb3ItYm9yZGVyKTtcbiAgICBib3JkZXItcmFkaXVzOiAwLjc1cmVtO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xufVxuXG4ucnVsZS1oZWxwIHtcbiAgICBtYXgtd2lkdGg6IDQ0cmVtO1xuICAgIG1hcmdpbjogMCAwIDEuMjVyZW07XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG59XG5cbi8qIEJvw650ZSBkZSBkaWFsb2d1ZSBkdSBtb3QtY2zDqSA6IHJlcHJlbmQgbGUgZ2FiYXJpdCAubW9kYWwgZXhpc3RhbnQsXG4gICBwb3J0w6kgcGFyIHVuIDxkaWFsb2c+IG5hdGlmLiAqL1xuLm1vZGFsLXJ1bGUge1xuICAgIHdpZHRoOiBtaW4oMzByZW0sIDkydncpO1xuICAgIG1heC13aWR0aDogbm9uZTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGJvcmRlcjogMDtcbiAgICBib3JkZXItcmFkaXVzOiAwLjc1cmVtO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJhY2tncm91bmQtcGFuZWwpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0KTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgb3BhY2l0eTogMTtcbn1cblxuLm1vZGFsLXJ1bGU6OmJhY2tkcm9wIHsgYmFja2dyb3VuZC1jb2xvcjogcmdiKDEwIDI0IDM4IC8gMC40NSk7IH1cbiIsIjpyb290IHtcbiAgLS1ib3JkdXJlLWNoYW1wOiAjNmI3Zjk5O1xufVxuOnJvb3QuZGFyayB7XG4gIC0tYm9yZHVyZS1jaGFtcDogIzhmYTNiYTtcbn1cbi5jb21wdGUge1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiAzNHJlbTtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIHBhZGRpbmc6IDIuNXJlbSAxcmVtIDRyZW07XG4gIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0KTtcbn1cbi5jb21wdGUtcmV0b3VyIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogMC4zNzVyZW07XG4gIG1hcmdpbi1ib3R0b206IDJyZW07XG4gIGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbiAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICB0ZXh0LXVuZGVybGluZS1vZmZzZXQ6IDNweDtcbn1cbi5jb21wdGUtcmV0b3VyIHN2ZyB7XG4gIHdpZHRoOiAxcmVtO1xuICBoZWlnaHQ6IDFyZW07XG59XG4uY29tcHRlLXRpdHJlIHtcbiAgbWFyZ2luOiAwIDAgMC43NXJlbTtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xuICBmb250LXNpemU6IGNsYW1wKDEuNjI1cmVtLCA0dncsIDJyZW0pO1xuICBmb250LXdlaWdodDogNzAwO1xuICBsaW5lLWhlaWdodDogMS4yO1xuICBsZXR0ZXItc3BhY2luZzogLTAuMDFlbTtcbn1cbi5jb21wdGUtaW50cm8ge1xuICBtYXJnaW46IDAgMCAycmVtO1xuICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xuICBmb250LXNpemU6IDEuMDYyNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNjtcbn1cbi5jb21wdGUtY2FydGUge1xuICBwYWRkaW5nOiAxLjc1cmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXIpO1xuICBib3JkZXItcmFkaXVzOiAwLjc1cmVtO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iYWNrZ3JvdW5kLXBhbmVsKTtcbn1cbi5iaWVudmVudWUtc2FsdXQge1xuICBtYXJnaW46IDA7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG4gIGZvbnQtc2l6ZTogMS4xMjVyZW07XG59XG4uYmllbnZlbnVlLXBocmFzZSB7XG4gIG1hcmdpbjogMC4yNXJlbSAwIDEuMjVyZW07XG4gIGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbiAgZm9udC1zaXplOiAxLjM3NXJlbTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbGluZS1oZWlnaHQ6IDEuMzU7XG59XG4uYmllbnZlbnVlLWdyb3VwZXMge1xuICBkaXNwbGF5OiBncmlkO1xuICBnYXA6IDEuMjVyZW07XG4gIG1hcmdpbjogMCAwIDIuNXJlbTtcbiAgcGFkZGluZzogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbn1cbi5iaWVudmVudWUtY29kZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZy1ib3R0b206IDAuMjVyZW07XG4gIGJvcmRlci1ib3R0b206IDAuM3JlbSBkb3VibGUgdmFyKC0tY29sb3ItYWNjZW50KTtcbiAgY29sb3I6IHZhcigtLWNvbG9yLWFjY2VudCk7XG4gIGZvbnQtc2l6ZTogY2xhbXAoMi43NXJlbSwgMTF2dywgNC4yNXJlbSk7XG4gIGZvbnQtd2VpZ2h0OiA4MDA7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBsZXR0ZXItc3BhY2luZzogLTAuMDJlbTtcbiAgZm9udC12YXJpYW50LW51bWVyaWM6IHRhYnVsYXItbnVtcztcbn1cbi5iaWVudmVudWUtZGV0YWlsIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi10b3A6IDAuNjI1cmVtO1xuICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xuICBmb250LXNpemU6IDFyZW07XG59XG4uYmllbnZlbnVlLXNhbnMtZ3JvdXBlIHtcbiAgbWFyZ2luOiAwIDAgMnJlbTtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbn1cbi5wYXJjb3VycyB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdhcDogMC41cmVtO1xuICBtYXJnaW46IDAgMCAxLjc1cmVtO1xuICBwYWRkaW5nOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBjb3VudGVyLXJlc2V0OiBwYXJjb3Vycztcbn1cbi5wYXJjb3VycyBsaSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogMC43NXJlbTtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBjb3VudGVyLWluY3JlbWVudDogcGFyY291cnM7XG59XG4ucGFyY291cnMgbGk6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IGNvdW50ZXIocGFyY291cnMpO1xuICBkaXNwbGF5OiBpbmxpbmUtZ3JpZDtcbiAgcGxhY2UtaXRlbXM6IGNlbnRlcjtcbiAgZmxleC1zaHJpbms6IDA7XG4gIHdpZHRoOiAxLjc1cmVtO1xuICBoZWlnaHQ6IDEuNzVyZW07XG4gIGJvcmRlcjogMnB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlcik7XG4gIGJvcmRlci1yYWRpdXM6IDk5OTlweDtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbn1cbi5wYXJjb3VycyBsaVthcmlhLWN1cnJlbnQ9XCJzdGVwXCJdIHtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xuICBmb250LXdlaWdodDogNzAwO1xufVxuLnBhcmNvdXJzIGxpW2FyaWEtY3VycmVudD1cInN0ZXBcIl06OmJlZm9yZSB7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xuICBjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS10ZXh0KTtcbn1cbi5jb21wdGUtZm9ybSB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdhcDogMS4yNXJlbTtcbn1cbi5jb21wdGUtY2hhbXAge1xuICBkaXNwbGF5OiBncmlkO1xuICBnYXA6IDAuMzc1cmVtO1xuICBtaW4td2lkdGg6IDA7XG59XG4uY29tcHRlLWNoYW1wIGxhYmVsIHtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xuICBmb250LXNpemU6IDFyZW07XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG59XG4uY29tcHRlLWNoYW1wIGlucHV0IHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1pbi1oZWlnaHQ6IDMuMTI1cmVtO1xuICBwYWRkaW5nOiAwLjYyNXJlbSAwLjg3NXJlbTtcbiAgYm9yZGVyOiAxLjVweCBzb2xpZCB2YXIoLS1ib3JkdXJlLWNoYW1wKTtcbiAgYm9yZGVyLXJhZGl1czogMC42MjVyZW07XG4gIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJhY2tncm91bmQtcGFuZWwpO1xuICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dCk7XG4gIGZvbnQ6IGluaGVyaXQ7XG4gIGZvbnQtc2l6ZTogMS4wNjI1cmVtO1xufVxuLmNvbXB0ZS1jaGFtcCBpbnB1dDpob3ZlciwgLmNvbXB0ZS1jaGFtcCBzZWxlY3Q6aG92ZXIsIC5jb21wdGUtY2hhbXAgdGV4dGFyZWE6aG92ZXIge1xuICBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xufVxuLmNvbXB0ZS1jaGFtcCBpbnB1dDpmb2N1cy12aXNpYmxlLCAuY29tcHRlLWNoYW1wIHNlbGVjdDpmb2N1cy12aXNpYmxlLCAuY29tcHRlLWNoYW1wIHRleHRhcmVhOmZvY3VzLXZpc2libGUge1xuICBvdXRsaW5lOiAycHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogMnB4IHNvbGlkIHZhcigtLWNvbG9yLXByaW1hcnkpO1xuICBib3gtc2hhZG93OiAwIDAgMCA0cHggcmdiKDIyNCAxNjYgNjAgLyAwLjU1KTtcbn1cbi5jb21wdGUtY2hhbXAgaW5wdXRbYXJpYS1pbnZhbGlkPVwidHJ1ZVwiXSwgLmNvbXB0ZS1jaGFtcCBzZWxlY3RbYXJpYS1pbnZhbGlkPVwidHJ1ZVwiXSB7XG4gIGJvcmRlcjogMi41cHggc29saWQgdmFyKC0tY29sb3ItZGFuZ2VyKTtcbiAgYmFja2dyb3VuZDogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLWNvbG9yLWRhbmdlcikgNSUsIHZhcigtLWNvbG9yLWJhY2tncm91bmQtcGFuZWwpKTtcbn1cbi5jb21wdGUtYWlkZSB7XG4gIG1hcmdpbjogMDtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbiAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG59XG4uY29tcHRlLWFpZGUtLWF2YW50IHtcbiAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTtcbn1cbi5jb21wdGUtc2VjcmV0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuLmNvbXB0ZS1zZWNyZXQgaW5wdXQge1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZy1yaWdodDogMy4yNXJlbTtcbn1cbi5jb21wdGUtc2VjcmV0LWJvdXRvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHJpZ2h0OiAwLjI1cmVtO1xuICBkaXNwbGF5OiBpbmxpbmUtZ3JpZDtcbiAgcGxhY2UtaXRlbXM6IGNlbnRlcjtcbiAgd2lkdGg6IDIuNzVyZW07XG4gIGhlaWdodDogMi43NXJlbTtcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItcmFkaXVzOiAwLjM3NXJlbTtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xufVxuLmNvbXB0ZS1zZWNyZXQtYm91dG9uOmhvdmVyIHtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xufVxuLmNvbXB0ZS1zZWNyZXQtYm91dG9uOmZvY3VzLXZpc2libGUge1xuICBvdXRsaW5lOiAzcHggc29saWQgY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLWNvbG9yLXByaW1hcnkpIDM1JSwgdHJhbnNwYXJlbnQpO1xufVxuLmNvbXB0ZS1zZWNyZXQtYm91dG9uIHN2ZyB7XG4gIHdpZHRoOiAxLjI1cmVtO1xuICBoZWlnaHQ6IDEuMjVyZW07XG59XG4uY3JpdGVyZXMge1xuICBkaXNwbGF5OiBncmlkO1xuICBnYXA6IDAuMzc1cmVtO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG4uY3JpdGVyZXMgbGkge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDAuNXJlbTtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbiAgZm9udC1zaXplOiAwLjkzNzVyZW07XG59XG4uY3JpdGVyZXMgbGk6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICcnO1xuICBmbGV4LXNocmluazogMDtcbiAgd2lkdGg6IDEuMTI1cmVtO1xuICBoZWlnaHQ6IDEuMTI1cmVtO1xuICBib3JkZXI6IDJweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXIpO1xuICBib3JkZXItcmFkaXVzOiA5OTk5cHg7XG59XG4uY3JpdGVyZXMgbGlbZGF0YS1yZW1wbGk9XCJ0cnVlXCJdIHtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXN1Y2Nlc3MtZGFyayk7XG59XG4uY3JpdGVyZXMgbGlbZGF0YS1yZW1wbGk9XCJ0cnVlXCJdOjpiZWZvcmUge1xuICBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLXN1Y2Nlc3MtZGFyayk7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXN1Y2Nlc3MtZGFyaykgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAyNCAyNCcgZmlsbD0nbm9uZScgc3Ryb2tlPSd3aGl0ZScgc3Ryb2tlLXdpZHRoPSczLjUnIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCclM0UlM0NwYXRoIGQ9J00yMCA2IDkgMTdsLTUtNScvJTNFJTNDL3N2ZyUzRVwiKSBjZW50ZXIgLyAwLjc1cmVtIG5vLXJlcGVhdDtcbn1cbi5jb21wdGUtZXJyZXVycyB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMXJlbSAxLjI1cmVtO1xuICBib3JkZXItbGVmdDogNHB4IHNvbGlkIHZhcigtLWNvbG9yLWRhbmdlcik7XG4gIGJvcmRlci1yYWRpdXM6IDAuMzc1cmVtO1xuICBiYWNrZ3JvdW5kOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tY29sb3ItZGFuZ2VyKSA4JSwgdmFyKC0tY29sb3ItYmFja2dyb3VuZC1wYW5lbCkpO1xuICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dCk7XG59XG4uY29tcHRlLWVycmV1cnMgdWwge1xuICBtYXJnaW46IDAuMjVyZW0gMCAwO1xuICBwYWRkaW5nLWxlZnQ6IDEuMjVyZW07XG4gIGxpc3Qtc3R5bGU6IGRpc2M7XG59XG4uY29tcHRlLWJvdXRvbiB7XG4gIHdpZHRoOiAxMDAlO1xuICBtaW4taGVpZ2h0OiAzLjI1cmVtO1xuICBmb250LXNpemU6IDEuMDYyNXJlbTtcbn1cbi5jb21wdGUtcGllZCB7XG4gIG1hcmdpbi10b3A6IDJyZW07XG4gIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG4gIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICBsaW5lLWhlaWdodDogMS42O1xufVxuLmNvbXB0ZS1waWVkIGEge1xuICBjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICB0ZXh0LXVuZGVybGluZS1vZmZzZXQ6IDNweDtcbn1cbkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogbm8tcHJlZmVyZW5jZSkge1xuICAuYmllbnZlbnVlLWNvZGUge1xuICAgIGFuaW1hdGlvbjogYmllbnZlbnVlLWFycml2ZWUgNjAwbXMgY3ViaWMtYmV6aWVyKDAuMiwgMC43LCAwLjIsIDEpIGJvdGg7XG4gIH1cbiAgQGtleWZyYW1lcyBiaWVudmVudWUtYXJyaXZlZSB7XG4gICAgZnJvbSB7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDAuNXJlbSk7XG4gICAgfVxuICAgIHRvIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgfVxuICB9XG59XG4uY29tcHRlLXNvdXMtdGl0cmUge1xuICBtYXJnaW46IDAgMCAwLjc1cmVtO1xuICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dCk7XG4gIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG59XG4uY29tcHRlLWxpc3RlIHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ2FwOiAwLjYyNXJlbTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nLWxlZnQ6IDEuMjVyZW07XG4gIGxpc3Qtc3R5bGU6IGRpc2M7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNTU7XG59XG4uY29tcHRlLWxpc3RlIGxpOjptYXJrZXIge1xuICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xufVxuLmNvbXB0ZS1saXN0ZSBhIHtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgdGV4dC11bmRlcmxpbmUtb2Zmc2V0OiAzcHg7XG59XG4uY29tcHRlLWxpZW4tZGlzY3JldCB7XG4gIGp1c3RpZnktc2VsZjogc3RhcnQ7XG4gIHBhZGRpbmc6IDAuNXJlbSAwO1xuICBjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG4gIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgdGV4dC11bmRlcmxpbmUtb2Zmc2V0OiAzcHg7XG59XG4uY29tcHRlLWNhc2Uge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDAuNjI1cmVtO1xuICBtaW4taGVpZ2h0OiAyLjc1cmVtO1xufVxuLmNvbXB0ZS1jYXNlIGlucHV0IHtcbiAgd2lkdGg6IDEuMjVyZW07XG4gIGhlaWdodDogMS4yNXJlbTtcbiAgYWNjZW50LWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbn1cbi5jb21wdGUtY2FzZSBsYWJlbCB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbi5jb21wdGUtZXJyZXVycyBhIHtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICB0ZXh0LXVuZGVybGluZS1vZmZzZXQ6IDNweDtcbn1cbiIsIi5jb21wdGUtZmFjdWx0YXRpZiB7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG4uY29tcHRlLWNoYW1wIHNlbGVjdCB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG1pbi1oZWlnaHQ6IDMuMTI1cmVtO1xuICBwYWRkaW5nOiAwLjYyNXJlbSAwLjg3NXJlbTtcbiAgYm9yZGVyOiAxLjVweCBzb2xpZCB2YXIoLS1ib3JkdXJlLWNoYW1wKTtcbiAgYm9yZGVyLXJhZGl1czogMC42MjVyZW07XG4gIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJhY2tncm91bmQtcGFuZWwpO1xuICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dCk7XG4gIGZvbnQ6IGluaGVyaXQ7XG4gIGZvbnQtc2l6ZTogMS4wNjI1cmVtO1xufVxuLmNvbXB0ZS1lcnJldXItY2hhbXAge1xuICBkaXNwbGF5OiBmbGV4O1xuICBnYXA6IDAuNXJlbTtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMC41cmVtIDAuNjI1cmVtO1xuICBib3JkZXItcmFkaXVzOiAwLjVyZW07XG4gIGJhY2tncm91bmQ6ICNmZGU4ZTY7XG4gIGNvbG9yOiAjOGYxZDEzO1xuICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbn1cbjpyb290LmRhcmsgLmNvbXB0ZS1lcnJldXItY2hhbXAge1xuICBiYWNrZ3JvdW5kOiAjM2IxNTEyO1xuICBjb2xvcjogI2ZjYTVhNTtcbn1cbi5jb21wdGUtZXJyZXVyLWNoYW1wOjpiZWZvcmUge1xuICBjb250ZW50OiAnJztcbiAgZmxleC1zaHJpbms6IDA7XG4gIHdpZHRoOiAxLjEyNXJlbTtcbiAgaGVpZ2h0OiAxLjEyNXJlbTtcbiAgbWFyZ2luLXRvcDogMC4xMjVyZW07XG4gIGJhY2tncm91bmQ6IGN1cnJlbnRDb2xvcjtcbiAgLXdlYmtpdC1tYXNrOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDI0IDI0JyBmaWxsPSdub25lJyBzdHJva2U9J2JsYWNrJyBzdHJva2Utd2lkdGg9JzIuNScgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJyUzRSUzQ2NpcmNsZSBjeD0nMTInIGN5PScxMicgcj0nMTAnLyUzRSUzQ3BhdGggZD0nTTEyIDh2NE0xMiAxNmguMDEnLyUzRSUzQy9zdmclM0VcIikgY2VudGVyIC8gY29udGFpbiBuby1yZXBlYXQ7XG4gIG1hc2s6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMjQgMjQnIGZpbGw9J25vbmUnIHN0cm9rZT0nYmxhY2snIHN0cm9rZS13aWR0aD0nMi41JyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1saW5lam9pbj0ncm91bmQnJTNFJTNDY2lyY2xlIGN4PScxMicgY3k9JzEyJyByPScxMCcvJTNFJTNDcGF0aCBkPSdNMTIgOHY0TTEyIDE2aC4wMScvJTNFJTNDL3N2ZyUzRVwiKSBjZW50ZXIgLyBjb250YWluIG5vLXJlcGVhdDtcbn1cbi5jb21wdGUtbGliZWxsZSB7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG4gIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xufVxuLmNvbXB0ZS12YWxldXItZml4ZSB7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0KTtcbiAgZm9udC1zaXplOiAxLjA2MjVyZW07XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIG92ZXJmbG93LXdyYXA6IGFueXdoZXJlO1xufVxuLmNvbXB0ZS1jaG9peCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyOiAwO1xufVxuLmNvbXB0ZS1jaG9peCBsZWdlbmQge1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG4gIHBhZGRpbmc6IDA7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbn1cbi5jb21wdGUtY2hvaXgtb3B0aW9ucyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgZ2FwOiAwLjVyZW07XG59XG4uY29tcHRlLW9wdGlvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDAuNXJlbTtcbiAgbWluLWhlaWdodDogMi44NzVyZW07XG4gIHBhZGRpbmc6IDAgMS4xMjVyZW0gMCAwLjg3NXJlbTtcbiAgYm9yZGVyOiAxLjVweCBzb2xpZCB2YXIoLS1ib3JkdXJlLWNoYW1wKTtcbiAgYm9yZGVyLXJhZGl1czogOTk5OXB4O1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iYWNrZ3JvdW5kLXBhbmVsKTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuLmNvbXB0ZS1vcHRpb246aG92ZXIge1xuICBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xufVxuLmNvbXB0ZS1vcHRpb246aGFzKGlucHV0OmNoZWNrZWQpIHtcbiAgYm9yZGVyOiAycHggc29saWQgdmFyKC0tY29sb3ItcHJpbWFyeSk7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xuICBjb2xvcjogdmFyKC0tY29sb3ItYmFja2dyb3VuZC1wYW5lbCk7XG59XG4uY29tcHRlLW9wdGlvbjpoYXMoaW5wdXQ6Zm9jdXMtdmlzaWJsZSkge1xuICBvdXRsaW5lOiAycHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDRweCByZ2IoMjI0IDE2NiA2MCAvIDAuNTUpO1xufVxuLmNvbXB0ZS1vcHRpb24gaW5wdXQge1xuICB3aWR0aDogMS4xMjVyZW07XG4gIGhlaWdodDogMS4xMjVyZW07XG4gIG1hcmdpbjogMDtcbiAgYWNjZW50LWNvbG9yOiAjZTBhNjNjO1xufVxuLmJpZW50b3Qge1xuICBwYWRkaW5nOiAxcmVtIDEuMTI1cmVtO1xuICBib3JkZXI6IDEuNXB4IGRhc2hlZCB2YXIoLS1jb2xvci1ib3JkZXIpO1xuICBib3JkZXItcmFkaXVzOiAwLjVyZW07XG59XG4uYmllbnRvdC10aXRyZSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiAwLjVyZW0gMC43NXJlbTtcbiAgbWFyZ2luOiAwIDAgMC4yNXJlbTtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQpO1xuICBmb250LXdlaWdodDogNzAwO1xufVxuLmJpZW50b3QtZXRpcXVldHRlIHtcbiAgcGFkZGluZzogMC4xMjVyZW0gMC42MjVyZW07XG4gIGJvcmRlci1yYWRpdXM6IDk5OTlweDtcbiAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmFja2dyb3VuZCk7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG4gIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICBmb250LXdlaWdodDogNjAwO1xuICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAxcHggdmFyKC0tY29sb3ItYm9yZGVyKTtcbn1cbi5iaWVudG90LXRleHRlIHtcbiAgbWFyZ2luOiAwO1xuICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xuICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbn1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBVVElMSVNBVEVVUlMg4oCUIGxpc3RlIGV0IGZpY2hlIGRlIGwnYWRtaW5pc3RyYXRpb24uXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKiDilIDilIAgU3RhdHV0IDogcGFzdGlsbGUgY29sb3LDqWUsIHRvdWpvdXJzIGRvdWJsw6llIGR1IGxpYmVsbMOpIOKUgOKUgCAqL1xuXG4uc3RhdHV0IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogMC4zNzVyZW07XG4gICAgcGFkZGluZzogMC4xODc1cmVtIDAuNjI1cmVtO1xuICAgIGJvcmRlci1yYWRpdXM6IDk5OTlweDtcbiAgICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi5zdGF0dXQ6OmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgd2lkdGg6IDAuNXJlbTtcbiAgICBoZWlnaHQ6IDAuNXJlbTtcbiAgICBib3JkZXItcmFkaXVzOiA5OTk5cHg7XG4gICAgYmFja2dyb3VuZDogY3VycmVudENvbG9yO1xufVxuXG4vKiBDb250cmFzdGVzIGR1IHRleHRlIHN1ciBsZSBmb25kIHRlaW50w6ksIHRow6htZSBjbGFpciA6IHRvdXMg4omlIDY6MS4gKi9cbi5zdGF0dXQtLXN1Y2Nlc3MgeyBiYWNrZ3JvdW5kOiAjZTdmNmVjOyBjb2xvcjogIzE0NTMyZDsgfVxuLnN0YXR1dC0taW5mbyAgICB7IGJhY2tncm91bmQ6ICNlNmVlZjg7IGNvbG9yOiAjMGYyYTRhOyB9XG4uc3RhdHV0LS13YXJuaW5nIHsgYmFja2dyb3VuZDogI2ZkZjFkYzsgY29sb3I6ICM3YzJkMTI7IH1cbi5zdGF0dXQtLWRhbmdlciAgeyBiYWNrZ3JvdW5kOiAjZmRlOGU4OyBjb2xvcjogIzdmMWQxZDsgfVxuLnN0YXR1dC0tbmV1dHJlICB7IGJhY2tncm91bmQ6ICNlZWYxZjU7IGNvbG9yOiAjMzM0MTU1OyB9XG5cbjpyb290LmRhcmsgLnN0YXR1dC0tc3VjY2VzcyB7IGJhY2tncm91bmQ6ICMxMjMwMWY7IGNvbG9yOiAjODZlZmFjOyB9XG46cm9vdC5kYXJrIC5zdGF0dXQtLWluZm8gICAgeyBiYWNrZ3JvdW5kOiAjMTMyODNmOyBjb2xvcjogI2E1YzhlZjsgfVxuOnJvb3QuZGFyayAuc3RhdHV0LS13YXJuaW5nIHsgYmFja2dyb3VuZDogIzM2MjUwZjsgY29sb3I6ICNmY2QzNGQ7IH1cbjpyb290LmRhcmsgLnN0YXR1dC0tZGFuZ2VyICB7IGJhY2tncm91bmQ6ICMzYjE1MTU7IGNvbG9yOiAjZmNhNWE1OyB9XG46cm9vdC5kYXJrIC5zdGF0dXQtLW5ldXRyZSAgeyBiYWNrZ3JvdW5kOiAjMWUyYTM4OyBjb2xvcjogI2NiZDVlMTsgfVxuXG4vKiBNYXJxdWVzIHNlY29uZGFpcmVzIChjb21wdGUgZGUgdGVzdCwgbGVjdHVyZSBzZXVsZSkgOiB0ZXh0ZSBzZXVsLCBkaXNjcmV0LiAqL1xuLnV0aWxpc2F0ZXVyLW1hcnF1ZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbi1sZWZ0OiAwLjVyZW07XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbiAgICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG5cbi8qIOKUgOKUgCBMaXN0ZSDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIAgKi9cblxuLnV0aWxpc2F0ZXVycy1jb21wdGUge1xuICAgIG1hcmdpbjogMCAwIDAuNzVyZW07XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbiAgICBmb250LXNpemU6IDAuOTM3NXJlbTtcbn1cblxuLnV0aWxpc2F0ZXVyLWxpZW4ge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIHRleHQtZGVjb3JhdGlvbi10aGlja25lc3M6IDFweDtcbiAgICB0ZXh0LXVuZGVybGluZS1vZmZzZXQ6IDNweDtcbn1cblxuLnV0aWxpc2F0ZXVyLWxpZW46aG92ZXIgeyB0ZXh0LWRlY29yYXRpb24tdGhpY2tuZXNzOiAycHg7IH1cblxuLnV0aWxpc2F0ZXVyLWVtYWlsIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgb3ZlcmZsb3ctd3JhcDogYW55d2hlcmU7XG59XG5cbi8qIOKUgOKUgCBGaWNoZSDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIAgKi9cblxuLyogQ2FzZSDDoCBjb2NoZXIgc3VpdmllIGQndW5lIGV4cGxpY2F0aW9uLiAqL1xuLmNvbXB0ZS1jYXNlLS1haWRlIHsgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7IH1cbi5jb21wdGUtY2FzZS0tYWlkZSBpbnB1dCB7IG1hcmdpbi10b3A6IDAuMTI1cmVtOyBmbGV4LXNocmluazogMDsgfVxuLmNvbXB0ZS1jYXNlLS1haWRlIGxhYmVsIHsgZm9udC13ZWlnaHQ6IDYwMDsgfVxuXG4uY29tcHRlLWNoYW1wIHRleHRhcmVhIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOiAwLjYyNXJlbSAwLjg3NXJlbTtcbiAgICBib3JkZXI6IDEuNXB4IHNvbGlkIHZhcigtLWJvcmR1cmUtY2hhbXApO1xuICAgIGJvcmRlci1yYWRpdXM6IDAuNjI1cmVtO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJhY2tncm91bmQtcGFuZWwpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0KTtcbiAgICBmb250OiBpbmhlcml0O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgcmVzaXplOiB2ZXJ0aWNhbDtcbn1cblxuLyog4pSA4pSAIENob2l4IGRlcyBncm91cGVzIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgCAqL1xuXG4uY2hvaXgtZ3JvdXBlcyB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBnYXA6IDAuNjI1cmVtO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGJvcmRlcjogMDtcbiAgICBtaW4td2lkdGg6IDA7XG59XG5cbi5jaG9peC1ncm91cGVzIGxlZ2VuZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMC4yNXJlbTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG59XG5cbi5jaG9peC1ncm91cGVzLXJlc3VtZSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0KTtcbiAgICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgICBmb250LXdlaWdodDogNjAwO1xufVxuXG4uY2hvaXgtZ3JvdXBlcy1saXN0ZSB7XG4gICAgbWF4LWhlaWdodDogMThyZW07XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDAuMjVyZW07XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICBib3JkZXI6IDEuNXB4IHNvbGlkIHZhcigtLWJvcmR1cmUtY2hhbXApO1xuICAgIGJvcmRlci1yYWRpdXM6IDAuNXJlbTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iYWNrZ3JvdW5kLXBhbmVsKTtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xufVxuXG4uY2hvaXgtZ3JvdXBlc1thcmlhLWludmFsaWQ9XCJ0cnVlXCJdIC5jaG9peC1ncm91cGVzLWxpc3RlIHsgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1kYW5nZXIpOyB9XG5cbi5jaG9peC1ncm91cGVzLWxpc3RlIGxhYmVsIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogYXV0byA2LjVyZW0gMWZyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiAwLjc1cmVtO1xuICAgIG1pbi1oZWlnaHQ6IDIuNzVyZW07XG4gICAgcGFkZGluZzogMCAwLjc1cmVtO1xuICAgIGJvcmRlci1yYWRpdXM6IDAuMzc1cmVtO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLmNob2l4LWdyb3VwZXMtbGlzdGUgbGFiZWw6aG92ZXIgeyBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iYWNrZ3JvdW5kKTsgfVxuXG4uY2hvaXgtZ3JvdXBlcy1saXN0ZSBsYWJlbDpoYXMoaW5wdXQ6Y2hlY2tlZCkge1xuICAgIGJhY2tncm91bmQ6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1jb2xvci1wcmltYXJ5KSA3JSwgdmFyKC0tY29sb3ItYmFja2dyb3VuZC1wYW5lbCkpO1xufVxuXG4uY2hvaXgtZ3JvdXBlcy1saXN0ZSBsYWJlbDpoYXMoaW5wdXQ6Zm9jdXMtdmlzaWJsZSkge1xuICAgIG91dGxpbmU6IDNweCBzb2xpZCBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tY29sb3ItcHJpbWFyeSkgMzUlLCB0cmFuc3BhcmVudCk7XG4gICAgb3V0bGluZS1vZmZzZXQ6IC0zcHg7XG59XG5cbi5jaG9peC1ncm91cGVzLWxpc3RlIGlucHV0IHtcbiAgICB3aWR0aDogMS4xMjVyZW07XG4gICAgaGVpZ2h0OiAxLjEyNXJlbTtcbiAgICBhY2NlbnQtY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xufVxuXG4uY2hvaXgtZ3JvdXBlcy1jb2RlIHtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGZvbnQtdmFyaWFudC1udW1lcmljOiB0YWJ1bGFyLW51bXM7XG59XG5cbi5jaG9peC1ncm91cGVzLW5vbSB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi8qIOKUgOKUgCBBY3Rpb25zIGRlIGxhIGxpc3RlIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgCAqL1xuXG4ubGlzdGUtYWN0aW9ucyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICBnYXA6IDAuNXJlbTtcbn1cblxuLmxpc3RlLWFjdGlvbiB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDAuMzc1cmVtO1xuICAgIG1pbi1oZWlnaHQ6IDIuNzVyZW07XG4gICAgcGFkZGluZzogMCAwLjg3NXJlbTtcbiAgICBib3JkZXI6IDEuNXB4IHNvbGlkICM3YjhjYTM7ICAgICAgICAgLyogY29udG91ciAzLDU6MSAqL1xuICAgIGJvcmRlci1yYWRpdXM6IDAuMzc1cmVtO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJhY2tncm91bmQtcGFuZWwpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbiAgICBmb250OiBpbmhlcml0O1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5saXN0ZS1hY3Rpb246aG92ZXIge1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG4gICAgYmFja2dyb3VuZDogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLWNvbG9yLXByaW1hcnkpIDYlLCB2YXIoLS1jb2xvci1iYWNrZ3JvdW5kLXBhbmVsKSk7XG59XG5cbi5saXN0ZS1hY3Rpb246Zm9jdXMtdmlzaWJsZSB7XG4gICAgb3V0bGluZTogM3B4IHNvbGlkIGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1jb2xvci1wcmltYXJ5KSAzNSUsIHRyYW5zcGFyZW50KTtcbiAgICBvdXRsaW5lLW9mZnNldDogMXB4O1xufVxuXG4ubGlzdGUtYWN0aW9uIHN2ZyB7IHdpZHRoOiAxcmVtOyBoZWlnaHQ6IDFyZW07IH1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBET1NTSUVSIOKAlCBsYSBmaWNoZSBkJ3VuIHV0aWxpc2F0ZXVyIChhZG1pbikgZXQgwqsgTW9uXG4gICBwcm9maWwgwrsgKHRyw6lzb3JpZXIpIDogbGEgcGVyc29ubmUgZXQgc29uIGdyb3VwZS5cbiAgIFVuIHNldWwgw6lsw6ltZW50IG1hcnF1YW50IDogbGUgY29kZSBkdSBncm91cGUsIGVuIG9yLFxuICAgc291bGlnbsOpIGR1IGRvdWJsZSB0cmFpdCBkZXMgdG90YXV4IGQndW4gbGl2cmUgZGVcbiAgIGNvbXB0ZXMuIExlIHJlc3RlIGVzdCBjYWxtZSwgbGlzaWJsZSwgZW4gY2xhaXIuXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uZG9zc2llciB7XG4gICAgcGFkZGluZzogMXJlbSAwIDRyZW07XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQpO1xufVxuXG4vKiBMZSBsaWVuIGRlIHJldG91ciBvY2N1cGUgc2EgcHJvcHJlIGxpZ25lLCBhdS1kZXNzdXMgZHUgY29kZSBkdSBncm91cGUuICovXG4uZG9zc2llciA+IC5jb21wdGUtcmV0b3VyIHsgZGlzcGxheTogZmxleDsgd2lkdGg6IG1heC1jb250ZW50OyBtYXJnaW4tYm90dG9tOiAwLjVyZW07IH1cblxuLmRvc3NpZXIgaDIge1xuICAgIG1hcmdpbjogMCAwIDAuMjVyZW07XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xuICAgIGZvbnQtc2l6ZTogMS4zMTI1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG59XG5cbi5kb3NzaWVyIGgzIHtcbiAgICBtYXJnaW46IDAgMCAwLjYyNXJlbTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG4gICAgZm9udC1zaXplOiAxLjA2MjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbn1cblxuLmRvc3NpZXItc291cyB7XG4gICAgbWFyZ2luOiAwIDAgMS4xMjVyZW07XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbiAgICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS41O1xufVxuXG4uZG9zc2llci1wYW5uZWF1IHtcbiAgICBwYWRkaW5nOiAxLjVyZW07XG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyKTtcbiAgICBib3JkZXItcmFkaXVzOiAwLjg3NXJlbTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iYWNrZ3JvdW5kLXBhbmVsKTtcbn1cblxuLmRvc3NpZXItdGV0ZSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgZ2FwOiAwLjYyNXJlbSAxcmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDAuMzc1cmVtO1xufVxuXG4vKiDilIDilIAgTGUgZ3JvdXBlIDogY29kZSBldCBub20g4pSA4pSAICovXG5cbi5kb3NzaWVyLW9uZ2xldCB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcbiAgICBnYXA6IDAuMjVyZW0gMC44NzVyZW07XG4gICAgbWFyZ2luOiAwIDAgMS4xMjVyZW07XG59XG5cbi5kb3NzaWVyLWNvZGUge1xuICAgIHBhZGRpbmctYm90dG9tOiAwLjEyNXJlbTtcbiAgICBib3JkZXItYm90dG9tOiAwLjI1cmVtIGRvdWJsZSB2YXIoLS1jb2xvci1hY2NlbnQpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1hY2NlbnQpO1xuICAgIGZvbnQtc2l6ZTogMS4zNzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDgwMDtcbiAgICBmb250LXZhcmlhbnQtbnVtZXJpYzogdGFidWxhci1udW1zO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjAxZW07XG59XG5cbi5kb3NzaWVyLW5vbS1ncm91cGUge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbn1cblxuLmRvc3NpZXIgaDEge1xuICAgIG1hcmdpbjogMDtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG4gICAgZm9udC1zaXplOiBjbGFtcCgxLjc1cmVtLCAzLjJ2dywgMi4yNXJlbSk7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBsaW5lLWhlaWdodDogMS4xMjtcbiAgICBsZXR0ZXItc3BhY2luZzogLTAuMDE1ZW07XG59XG5cbi5kb3NzaWVyLXNpdHVhdGlvbiB7XG4gICAgbWF4LXdpZHRoOiA0NmNoO1xuICAgIG1hcmdpbjogMXJlbSAwIDA7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQpO1xuICAgIGZvbnQtc2l6ZTogY2xhbXAoMS4xODc1cmVtLCAxLjh2dywgMS4zNzVyZW0pO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG59XG5cbi5kb3NzaWVyLXNpdHVhdGlvbiBhIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICB0ZXh0LWRlY29yYXRpb24tdGhpY2tuZXNzOiAycHg7XG4gICAgdGV4dC11bmRlcmxpbmUtb2Zmc2V0OiA0cHg7XG59XG5cbi5kb3NzaWVyLWFjdGlvbnMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgZ2FwOiAwLjVyZW07XG59XG5cbi5kb3NzaWVyLWFjdGlvbnMgZm9ybSB7IG1hcmdpbjogMDsgfVxuXG4vKiBCb3V0b25zIGR1IGRvc3NpZXIgOiA0NCBweCBkZSBoYXV0LCBjb250b3VyIGxpc2libGUgKDMsNToxKS4gKi9cbi5kb3NzaWVyLWJ0biB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDAuNXJlbTtcbiAgICBtaW4taGVpZ2h0OiAzcmVtOyAgICAgICAgICAgICAgICAgICAgLyogbcOqbWUgaGF1dGV1ciBxdWUgbGVzIGNoYW1wcyA6IGlscyBzJ2FsaWduZW50ICovXG4gICAgcGFkZGluZzogMCAxLjEyNXJlbTtcbiAgICBib3JkZXI6IDEuNXB4IHNvbGlkICM3YjhjYTM7XG4gICAgYm9yZGVyLXJhZGl1czogMC41cmVtO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJhY2tncm91bmQtcGFuZWwpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbiAgICBmb250OiBpbmhlcml0O1xuICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4uZG9zc2llci1idG46aG92ZXIgeyBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpOyB9XG5cbi5kb3NzaWVyLWJ0bjpmb2N1cy12aXNpYmxlIHtcbiAgICBvdXRsaW5lOiAzcHggc29saWQgY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLWNvbG9yLXByaW1hcnkpIDM1JSwgdHJhbnNwYXJlbnQpO1xuICAgIG91dGxpbmUtb2Zmc2V0OiAycHg7XG59XG5cbi5kb3NzaWVyLWJ0biBzdmcgeyB3aWR0aDogMS4xMjVyZW07IGhlaWdodDogMS4xMjVyZW07IH1cblxuLmRvc3NpZXItYnRuLS1wbGVpbiB7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS10ZXh0KTtcbn1cblxuLmRvc3NpZXItYnRuLS1wbGVpbjpob3ZlciB7IGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LXRleHQpOyB9XG5cbi5kb3NzaWVyLWJ0bi0tcGV0aXQgeyBtaW4taGVpZ2h0OiAyLjVyZW07IHBhZGRpbmc6IDAgMC43NXJlbTsgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuXG4uZG9zc2llci1idG4tLWRhbmdlciB7IGNvbG9yOiAjOGExYzFjOyBib3JkZXItY29sb3I6ICNjOTg1ODU7IH1cbjpyb290LmRhcmsgLmRvc3NpZXItYnRuLS1kYW5nZXIgeyBjb2xvcjogI2ZjYTVhNTsgYm9yZGVyLWNvbG9yOiAjYTM1ZDVkOyB9XG5cbi5kb3NzaWVyLWJ0bltkaXNhYmxlZF0geyBvcGFjaXR5OiAwLjU1OyBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG5cbi8qIOKUgOKUgCBEZXV4IGNvbG9ubmVzIDogbGEgcGVyc29ubmUsIGxlcyBjb21wdGVzIGR1IGdyb3VwZSDilIDilIAgKi9cblxuLmRvc3NpZXItY29sb25uZXMge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBtaW5tYXgoMCwgNWZyKSBtaW5tYXgoMCwgN2ZyKTtcbiAgICBnYXA6IDJyZW07XG4gICAgYWxpZ24taXRlbXM6IHN0YXJ0O1xufVxuXG4uZG9zc2llci1qb2luZHJlIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdhcDogMC41cmVtO1xuICAgIG1hcmdpbjogMCAwIDEuMjVyZW07XG59XG5cbi5kb3NzaWVyLWpvaW5kcmUgYSxcbi5kb3NzaWVyLWpvaW5kcmUgYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiAwLjc1cmVtO1xuICAgIG1pbi1oZWlnaHQ6IDMuMjVyZW07XG4gICAgcGFkZGluZzogMCAwLjg3NXJlbTtcbiAgICBib3JkZXI6IDEuNXB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlcik7XG4gICAgYm9yZGVyLXJhZGl1czogMC42MjVyZW07XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmFja2dyb3VuZCk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xuICAgIGZvbnQ6IGluaGVyaXQ7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIG92ZXJmbG93LXdyYXA6IGFueXdoZXJlO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLmRvc3NpZXItam9pbmRyZSBhOmhvdmVyLFxuLmRvc3NpZXItam9pbmRyZSBidXR0b246aG92ZXIgeyBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpOyB9XG5cbi5kb3NzaWVyLWpvaW5kcmUgYTpmb2N1cy12aXNpYmxlLFxuLmRvc3NpZXItam9pbmRyZSBidXR0b246Zm9jdXMtdmlzaWJsZSB7XG4gICAgb3V0bGluZTogM3B4IHNvbGlkIGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1jb2xvci1wcmltYXJ5KSAzNSUsIHRyYW5zcGFyZW50KTtcbiAgICBvdXRsaW5lLW9mZnNldDogMXB4O1xufVxuXG4uZG9zc2llci1qb2luZHJlIHN2ZyB7IHdpZHRoOiAxLjI1cmVtOyBoZWlnaHQ6IDEuMjVyZW07IGZsZXgtc2hyaW5rOiAwOyBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpOyB9XG5cbi5kb3NzaWVyLWpvaW5kcmUtYWN0aW9uIHtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4uZG9zc2llci1maWNoZSB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IG1heC1jb250ZW50IDFmcjtcbiAgICBjb2x1bW4tZ2FwOiAxLjI1cmVtO1xuICAgIG1hcmdpbjogMDtcbiAgICBmb250LXNpemU6IDFyZW07XG59XG5cbi5kb3NzaWVyLWZpY2hlIGR0LFxuLmRvc3NpZXItZmljaGUgZGQge1xuICAgIHBhZGRpbmc6IDAuNjI1cmVtIDA7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlcik7XG59XG5cbi5kb3NzaWVyLWZpY2hlIGR0IHsgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTsgfVxuLmRvc3NpZXItZmljaGUgZGQgeyBtYXJnaW46IDA7IGZvbnQtd2VpZ2h0OiA2MDA7IG92ZXJmbG93LXdyYXA6IGFueXdoZXJlOyB9XG5cbi5kb3NzaWVyLW1hbnF1ZSB7IGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7IGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLmRvc3NpZXItbWFycXVlcyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgZ2FwOiAwLjVyZW07XG4gICAgbWFyZ2luOiAxLjEyNXJlbSAwIDA7XG59XG5cbi5kb3NzaWVyLW1hcnF1ZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgcGFkZGluZzogMC4zNzVyZW0gMC43NXJlbTtcbiAgICBib3JkZXItcmFkaXVzOiA5OTk5cHg7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmFja2dyb3VuZCk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQpO1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbn1cblxuLmRvc3NpZXItYmllbnRvdCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbi1sZWZ0OiAwLjVyZW07XG4gICAgcGFkZGluZzogMC4xMjVyZW0gMC42MjVyZW07XG4gICAgYm9yZGVyLXJhZGl1czogOTk5OXB4O1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJhY2tncm91bmQtcGFuZWwpO1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDEuNXB4ICM5YWFhYmQ7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbiAgICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLyog4pSA4pSAIExlcyBjb21wdGVzIGR1IGdyb3VwZSA6IG1vaXMgcGFyIG1vaXMg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAICovXG5cbi5kb3NzaWVyLW1vaXMge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC1hdXRvLWZsb3c6IGNvbHVtbjtcbiAgICBncmlkLWF1dG8tY29sdW1uczogbWlubWF4KDAsIDFmcik7XG4gICAgZ2FwOiAwLjM3NXJlbTtcbiAgICBhbGlnbi1pdGVtczogZW5kO1xuICAgIGhlaWdodDogMTAuNXJlbTtcbiAgICBtYXJnaW46IDEuMTI1cmVtIDAgMC4zNzVyZW07XG4gICAgcGFkZGluZy1ib3R0b206IDAuMjVyZW07XG4gICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkIHZhcigtLWNvbG9yLXByaW1hcnkpO1xufVxuXG4uZG9zc2llci1jb2xvbm5lIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTtcbiAgICBoZWlnaHQ6IDEwMCU7XG59XG5cbi5kb3NzaWVyLXNlZ21lbnQgeyBkaXNwbGF5OiBibG9jazsgd2lkdGg6IDEwMCU7IH1cbi5kb3NzaWVyLWNvbG9ubmUgLmRvc3NpZXItc2VnbWVudDpsYXN0LWNoaWxkIHsgYm9yZGVyLXJhZGl1czogMC4yNXJlbSAwLjI1cmVtIDAgMDsgfVxuLmRvc3NpZXItc2VnbWVudC0tYS1xdWFsaWZpZXIgeyBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci13YXJuaW5nKTsgfVxuLmRvc3NpZXItc2VnbWVudC0tcGFydGllbGxlIHsgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItaW5mbyk7IH1cbi5kb3NzaWVyLXNlZ21lbnQtLWEtanVzdGlmaWVyIHsgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItanVzdGlmeSk7IH1cbi5kb3NzaWVyLXNlZ21lbnQtLXRlcm1pbmVlIHsgYmFja2dyb3VuZDogdmFyKC0tY29sb3Itc3VjY2Vzcyk7IH1cblxuLmRvc3NpZXItY29sb25uZS0tYXZlbmlyIHtcbiAgICBib3JkZXItcmFkaXVzOiAwLjI1cmVtO1xuICAgIGJhY2tncm91bmQ6IHJlcGVhdGluZy1saW5lYXItZ3JhZGllbnQoMTM1ZGVnLCB2YXIoLS1jb2xvci1ib3JkZXIpIDAgMnB4LCB0cmFuc3BhcmVudCAycHggOXB4KTtcbiAgICBvcGFjaXR5OiAwLjY7XG59XG5cbi5kb3NzaWVyLW5vbXMge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC1hdXRvLWZsb3c6IGNvbHVtbjtcbiAgICBncmlkLWF1dG8tY29sdW1uczogbWlubWF4KDAsIDFmcik7XG4gICAgZ2FwOiAwLjM3NXJlbTtcbiAgICBtYXJnaW46IDAgMCAxLjEyNXJlbTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG4gICAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG5cbi5kb3NzaWVyLWxlZ2VuZGUge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNCwgbWlubWF4KDAsIDFmcikpO1xuICAgIGdhcDogMC41cmVtO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG5cbi5kb3NzaWVyLWxlZ2VuZGUgYSB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBnYXA6IDAuMTI1cmVtO1xuICAgIG1pbi1oZWlnaHQ6IDIuNzVyZW07XG4gICAgcGFkZGluZzogMC42MjVyZW0gMC43NXJlbTtcbiAgICBib3JkZXItdG9wOiA1cHggc29saWQ7XG4gICAgYm9yZGVyLXJhZGl1czogMC42MjVyZW07XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmFja2dyb3VuZCk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLmRvc3NpZXItbGVnZW5kZSBhOmhvdmVyIHsgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbi5kb3NzaWVyLWxlZ2VuZGUgYTpmb2N1cy12aXNpYmxlIHsgb3V0bGluZTogM3B4IHNvbGlkIHZhcigtLWNvbG9yLXByaW1hcnkpOyBvdXRsaW5lLW9mZnNldDogMnB4OyB9XG4uZG9zc2llci1sZWdlbmRlIGIgeyBjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7IGZvbnQtc2l6ZTogMS42MjVyZW07IGxpbmUtaGVpZ2h0OiAxLjE7IGZvbnQtdmFyaWFudC1udW1lcmljOiB0YWJ1bGFyLW51bXM7IH1cbi5kb3NzaWVyLWxlZ2VuZGUtLWEtcXVhbGlmaWVyIGEgeyBib3JkZXItdG9wLWNvbG9yOiB2YXIoLS1jb2xvci13YXJuaW5nKTsgfVxuLmRvc3NpZXItbGVnZW5kZS0tcGFydGllbGxlIGEgeyBib3JkZXItdG9wLWNvbG9yOiB2YXIoLS1jb2xvci1pbmZvKTsgfVxuLmRvc3NpZXItbGVnZW5kZS0tYS1qdXN0aWZpZXIgYSB7IGJvcmRlci10b3AtY29sb3I6IHZhcigtLWNvbG9yLWp1c3RpZnkpOyB9XG4uZG9zc2llci1sZWdlbmRlLS10ZXJtaW5lZSBhIHsgYm9yZGVyLXRvcC1jb2xvcjogdmFyKC0tY29sb3Itc3VjY2Vzcyk7IH1cblxuLmRvc3NpZXItY2hpZmZyZXMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGdhcDogMC43NXJlbSAyLjVyZW07XG4gICAgbWFyZ2luOiAxLjM3NXJlbSAwIDA7XG4gICAgcGFkZGluZzogMS4xMjVyZW0gMCAwO1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXIpO1xufVxuXG4uZG9zc2llci1jaGlmZnJlcyBwIHsgbWFyZ2luOiAwOyBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpOyBmb250LXNpemU6IDAuOTM3NXJlbTsgfVxuXG4uZG9zc2llci1jaGlmZnJlcyBzdHJvbmcge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbiAgICBmb250LXNpemU6IDEuMzc1cmVtO1xuICAgIGZvbnQtdmFyaWFudC1udW1lcmljOiB0YWJ1bGFyLW51bXM7XG59XG5cbi5kb3NzaWVyLWNoaWZmcmVzIHN0cm9uZy5kb3NzaWVyLWNoaWZmcmUtLXRleHRlIHsgZm9udC1zaXplOiAxLjA2MjVyZW07IH1cblxuLmRvc3NpZXItbGllbnMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGdhcDogMC41cmVtO1xuICAgIG1hcmdpbi10b3A6IDEuMjVyZW07XG59XG5cbi8qIOKUgOKUgCBPbmdsZXRzIGRlcyBncm91cGVzIChwbHVzaWV1cnMgZ3JvdXBlcywgY2FzIHJhcmUpIOKUgOKUgCAqL1xuXG4uZG9zc2llci1ncm91cGVzIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBnYXA6IDAuNXJlbTtcbiAgICBtYXJnaW46IDAgMCAxLjVyZW07XG4gICAgcGFkZGluZzogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xufVxuXG4uZG9zc2llci1ncm91cGVzIGEge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgbWluLWhlaWdodDogMi43NXJlbTtcbiAgICBwYWRkaW5nOiAwIDFyZW07XG4gICAgYm9yZGVyOiAxLjVweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXIpO1xuICAgIGJvcmRlci1yYWRpdXM6IDk5OTlweDtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi5kb3NzaWVyLWdyb3VwZXMgYVthcmlhLWN1cnJlbnQ9XCJ0cnVlXCJdIHtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLWFjY2VudCk7XG4gICAgYmFja2dyb3VuZDogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLWNvbG9yLWFjY2VudCkgMTAlLCB2YXIoLS1jb2xvci1iYWNrZ3JvdW5kLXBhbmVsKSk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWFjY2VudCk7XG59XG5cbi8qIOKUgOKUgCBUYWJsZWF1eCA6IGNvbXB0ZXMgYmFuY2FpcmVzLCB1dGlsaXNhdGV1cnMg4pSA4pSA4pSA4pSA4pSA4pSAICovXG5cbi5kb3NzaWVyLWJsb2MgeyBtYXJnaW4tdG9wOiAycmVtOyB9XG5cbi5kb3NzaWVyLWRlZmlsZSB7XG4gICAgbWFyZ2luOiAwIC0wLjI1cmVtO1xuICAgIHBhZGRpbmc6IDAgMC4yNXJlbSAwLjVyZW07XG4gICAgb3ZlcmZsb3cteDogYXV0bztcbn1cblxuLmRvc3NpZXItdGFibGUge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1pbi13aWR0aDogNDZyZW07XG4gICAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgICBmb250LXNpemU6IDAuOTM3NXJlbTtcbn1cblxuLmRvc3NpZXItdGFibGUgdGgge1xuICAgIHBhZGRpbmc6IDAuNjI1cmVtIDAuNzVyZW07XG4gICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlcik7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4uZG9zc2llci10YWJsZSB0ZCB7XG4gICAgcGFkZGluZzogMC43NXJlbTtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyKTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG4uZG9zc2llci10YWJsZSAuZG9zc2llci1udW0geyBmb250LXZhcmlhbnQtbnVtZXJpYzogdGFidWxhci1udW1zOyB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG4uZG9zc2llci10YWJsZSAuZG9zc2llci1kcm9pdGUgeyB0ZXh0LWFsaWduOiByaWdodDsgfVxuLmRvc3NpZXItbWFzcXVlIHsgbGV0dGVyLXNwYWNpbmc6IDAuMDhlbTsgfVxuLmRvc3NpZXItc2Vjb25kYWlyZSB7IGRpc3BsYXk6IGJsb2NrOyBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpOyBmb250LXNpemU6IDAuODc1cmVtOyBmb250LXdlaWdodDogNDAwOyB9XG4uZG9zc2llci10YWJsZSB0ci5kb3NzaWVyLWljaSB7IGJhY2tncm91bmQ6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1jb2xvci1hY2NlbnQpIDYlLCB2YXIoLS1jb2xvci1iYWNrZ3JvdW5kLXBhbmVsKSk7IH1cbi5kb3NzaWVyLXRhYmxlIHRyLmRvc3NpZXItaWNpIHRkOmZpcnN0LWNoaWxkIHsgYm94LXNoYWRvdzogaW5zZXQgNHB4IDAgMCB2YXIoLS1jb2xvci1hY2NlbnQpOyB9XG4uZG9zc2llci10YWJsZSB0ci5kb3NzaWVyLW1hc3F1ZS1saWduZSB0ZCB7IGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7IH1cblxuLmRvc3NpZXItb3JkcmUgeyBkaXNwbGF5OiBpbmxpbmUtZmxleDsgZ2FwOiAwLjI1cmVtOyB9XG4uZG9zc2llci1vcmRyZSBmb3JtIHsgbWFyZ2luOiAwOyB9XG5cbi5kb3NzaWVyLW9yZHJlIGJ1dHRvbiB7XG4gICAgZGlzcGxheTogaW5saW5lLWdyaWQ7XG4gICAgcGxhY2UtaXRlbXM6IGNlbnRlcjtcbiAgICB3aWR0aDogMi4yNXJlbTtcbiAgICBoZWlnaHQ6IDIuMjVyZW07XG4gICAgYm9yZGVyOiAxLjVweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXIpO1xuICAgIGJvcmRlci1yYWRpdXM6IDAuMzc1cmVtO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJhY2tncm91bmQtcGFuZWwpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5kb3NzaWVyLW9yZHJlIGJ1dHRvbjpkaXNhYmxlZCB7IG9wYWNpdHk6IDAuMzU7IGN1cnNvcjogZGVmYXVsdDsgfVxuLmRvc3NpZXItb3JkcmUgc3ZnIHsgd2lkdGg6IDFyZW07IGhlaWdodDogMXJlbTsgfVxuXG4uZG9zc2llci1saWVucy1iYXMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGdhcDogMC41cmVtIDEuMjVyZW07XG4gICAgbWFyZ2luLXRvcDogMXJlbTtcbn1cblxuLmRvc3NpZXItbGllbnMtYmFzID4gKiB7IGRpc3BsYXk6IGlubGluZS1mbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBtaW4taGVpZ2h0OiAyLjc1cmVtOyBmb250LXdlaWdodDogNjAwOyB9XG5cbi8qIE1lbnUgwqsgQWN0aW9ucyDCuyBkJ3VuZSBsaWduZS4gKi9cbi5kb3NzaWVyLW1lbnUtem9uZSB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgZGlzcGxheTogaW5saW5lLWJsb2NrOyB0ZXh0LWFsaWduOiBsZWZ0OyB9XG5cbi5kb3NzaWVyLW1lbnUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgICAgICAgICAgICAgICAgICAvKiByZXByaXMgZW4gcG9zaXRpb24gZml4ZSBwYXIgbWVudS1hY3Rpb25zICovXG4gICAgdG9wOiBjYWxjKDEwMCUgKyAwLjM3NXJlbSk7XG4gICAgcmlnaHQ6IDA7XG4gICAgei1pbmRleDogNTA7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICBtaW4td2lkdGg6IDE3cmVtO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwLjM3NXJlbTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjOWFhYWJkO1xuICAgIGJvcmRlci1yYWRpdXM6IDAuNjI1cmVtO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJhY2tncm91bmQtcGFuZWwpO1xuICAgIGJveC1zaGFkb3c6IDAgMTJweCAzMnB4IHJnYmEoMTUsIDQyLCA3NCwgMC4xOCk7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbn1cblxuLmRvc3NpZXItbWVudSBmb3JtIHsgbWFyZ2luOiAwOyB9XG5cbi5kb3NzaWVyLW1lbnUgYSxcbi5kb3NzaWVyLW1lbnUgYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGdhcDogMC43NXJlbTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtaW4taGVpZ2h0OiAyLjc1cmVtO1xuICAgIHBhZGRpbmc6IDAgMC43NXJlbTtcbiAgICBib3JkZXI6IDA7XG4gICAgYm9yZGVyLXJhZGl1czogMC41cmVtO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0KTtcbiAgICBmb250OiBpbmhlcml0O1xuICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4uZG9zc2llci1tZW51IGE6aG92ZXIsXG4uZG9zc2llci1tZW51IGJ1dHRvbjpob3Zlcixcbi5kb3NzaWVyLW1lbnUgYTpmb2N1cy12aXNpYmxlLFxuLmRvc3NpZXItbWVudSBidXR0b246Zm9jdXMtdmlzaWJsZSB7XG4gICAgYmFja2dyb3VuZDogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLWNvbG9yLXByaW1hcnkpIDglLCB2YXIoLS1jb2xvci1iYWNrZ3JvdW5kLXBhbmVsKSk7XG4gICAgb3V0bGluZTogbm9uZTtcbn1cblxuLmRvc3NpZXItbWVudSBidXR0b25bZGlzYWJsZWRdIHsgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTsgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuLmRvc3NpZXItbWVudSAuZG9zc2llci1tZW51LXNlcGFyZSB7IG1hcmdpbi10b3A6IDAuMjVyZW07IHBhZGRpbmctdG9wOiAwLjI1cmVtOyBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyKTsgfVxuLmRvc3NpZXItbWVudSAuZG9zc2llci1yb3VnZSB7IGNvbG9yOiAjOGExYzFjOyB9XG46cm9vdC5kYXJrIC5kb3NzaWVyLW1lbnUgLmRvc3NpZXItcm91Z2UgeyBjb2xvcjogI2ZjYTVhNTsgfVxuLmRvc3NpZXItbWVudS1pbmZvIHsgZGlzcGxheTogYmxvY2s7IHBhZGRpbmc6IDAuNXJlbSAwLjc1cmVtIDAuMjVyZW07IGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7IGZvbnQtc2l6ZTogMC44MTI1cmVtOyB9XG4uZG9zc2llci1tZW51IC5kb3NzaWVyLWJpZW50b3QgeyBtYXJnaW46IDA7IGZvbnQtc2l6ZTogMC43NXJlbTsgfVxuXG4vKiDilIDilIAgRXhwb3J0cyBldCBwYXJhbcOodHJlcyBkdSBncm91cGUg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAICovXG5cbi5kb3NzaWVyLW91dGlscyB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg0LCBtaW5tYXgoMCwgMWZyKSk7XG4gICAgZ2FwOiAxcmVtO1xufVxuXG4uZG9zc2llci1vdXRpbCB1bCB7IGRpc3BsYXk6IGdyaWQ7IGdhcDogMC4xMjVyZW07IG1hcmdpbjogMDsgcGFkZGluZzogMDsgbGlzdC1zdHlsZTogbm9uZTsgfVxuXG4uZG9zc2llci1vdXRpbCBsaSA+IGEsXG4uZG9zc2llci1vdXRpbCBsaSA+IHNwYW4ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgZ2FwOiAwLjVyZW07XG4gICAgbWluLWhlaWdodDogMi43NXJlbTtcbiAgICBtYXJnaW46IDAgLTAuNjI1cmVtO1xuICAgIHBhZGRpbmc6IDAgMC42MjVyZW07XG4gICAgYm9yZGVyLXJhZGl1czogMC41cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4uZG9zc2llci1vdXRpbCBsaSA+IGEgeyBjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7IH1cbi5kb3NzaWVyLW91dGlsIGxpID4gYTpob3ZlciB7IGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJhY2tncm91bmQpOyB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuLmRvc3NpZXItb3V0aWwgbGkgPiBzcGFuIHsgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTsgfVxuLmRvc3NpZXItb3V0aWwgLmRvc3NpZXItYmllbnRvdCB7IG1hcmdpbjogMDsgZm9udC1zaXplOiAwLjc1cmVtOyB9XG4uZG9zc2llci1vdXRpbC1kZXRhaWwgeyBkaXNwbGF5OiBibG9jazsgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTsgZm9udC1zaXplOiAwLjgxMjVyZW07IGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLyog4pSA4pSAIEJhcyBkZSBwYWdlIDogYmxvYy1ub3RlcywgZmVybWVyIGxlIGNvbXB0ZSDilIDilIDilIDilIDilIAgKi9cblxuLmRvc3NpZXItY2FsbWUge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBtaW5tYXgoMCwgN2ZyKSBtaW5tYXgoMCwgNWZyKTtcbiAgICBnYXA6IDJyZW07XG4gICAgbWFyZ2luLXRvcDogMi41cmVtO1xuICAgIHBhZGRpbmctdG9wOiAycmVtO1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXIpO1xufVxuXG4uZG9zc2llci1ub3RlIHRleHRhcmVhIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtaW4taGVpZ2h0OiA3LjVyZW07XG4gICAgcGFkZGluZzogMC43NXJlbSAwLjg3NXJlbTtcbiAgICBib3JkZXI6IDEuNXB4IHNvbGlkIHZhcigtLWJvcmR1cmUtY2hhbXApO1xuICAgIGJvcmRlci1yYWRpdXM6IDAuNjI1cmVtO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJhY2tncm91bmQtcGFuZWwpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0KTtcbiAgICBmb250OiBpbmhlcml0O1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS41O1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgcmVzaXplOiB2ZXJ0aWNhbDtcbn1cblxuLmRvc3NpZXItbm90ZSB0ZXh0YXJlYTpmb2N1cy12aXNpYmxlIHtcbiAgICBvdXRsaW5lOiAzcHggc29saWQgY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLWNvbG9yLXByaW1hcnkpIDM1JSwgdHJhbnNwYXJlbnQpO1xuICAgIG91dGxpbmUtb2Zmc2V0OiAxcHg7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbn1cblxuLmRvc3NpZXItbm90ZSBsYWJlbCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLWJvdHRvbTogMC4yNXJlbTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG4gICAgZm9udC1zaXplOiAxLjMxMjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbn1cblxuLmRvc3NpZXItc2Vuc2libGUge1xuICAgIHBhZGRpbmc6IDEuMjVyZW07XG4gICAgYm9yZGVyOiAxLjVweCBzb2xpZCAjZTJiNGI0O1xuICAgIGJvcmRlci1yYWRpdXM6IDAuNzVyZW07XG4gICAgYmFja2dyb3VuZDogY29sb3ItbWl4KGluIHNyZ2IsICNlZjQ0NDQgNCUsIHZhcigtLWNvbG9yLWJhY2tncm91bmQtcGFuZWwpKTtcbn1cblxuLmRvc3NpZXItc2Vuc2libGUtbGlnbmUge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ2FwOiAwLjM3NXJlbTtcbiAgICBwYWRkaW5nOiAwLjc1cmVtIDA7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIGNvbG9yLW1peChpbiBzcmdiLCAjZWY0NDQ0IDIwJSwgdHJhbnNwYXJlbnQpO1xufVxuXG4uZG9zc2llci1zZW5zaWJsZS1saWduZTpmaXJzdC1vZi10eXBlIHsgcGFkZGluZy10b3A6IDA7IGJvcmRlci10b3A6IDA7IH1cbi5kb3NzaWVyLXNlbnNpYmxlLWxpZ25lIGZvcm0geyBtYXJnaW46IDA7IH1cbi5kb3NzaWVyLXBvdXJxdW9pIHsgY29sb3I6IHZhcigtLWNvbG9yLXRleHQpOyBmb250LXNpemU6IDAuODc1cmVtOyBsaW5lLWhlaWdodDogMS41OyB9XG5cbi8qIOKUgOKUgCBQZXRpdCDDqWNyYW4g4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAICovXG5cbkBtZWRpYSAobWF4LXdpZHRoOiA1NnJlbSkge1xuICAgIC5kb3NzaWVyLWNvbG9ubmVzLFxuICAgIC5kb3NzaWVyLWNhbG1lIHsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7IH1cblxuICAgIC5kb3NzaWVyLWFjdGlvbnMgeyBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cbiAgICAuZG9zc2llci1vdXRpbHMgeyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7IH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDM2cmVtKSB7XG4gICAgLmRvc3NpZXItbGVnZW5kZSxcbiAgICAuZG9zc2llci1vdXRpbHMgeyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7IH1cbn1cblxuLyogTGUgbm9tIGR1IGNvbXB0ZSBuZSBzZSBsYWlzc2UgcGFzIMOpY3Jhc2VyIHBhciBsJ0lCQU4gYWZmaWNow6kuICovXG4uZG9zc2llci10YWJsZSAuZG9zc2llci1ub20tY29tcHRlIHsgbWluLXdpZHRoOiAxM3JlbTsgfVxuXG4vKiDilIDilIAgVGFibGVhdXggc3VyIMOpY3JhbiDDqXRyb2l0IDogdW5lIGZpY2hlIHBhciBsaWduZSDilIDilIBcbiAgIFF1YW5kIGxlIGJsb2MgZXN0IHRyb3Agw6l0cm9pdCBwb3VyIGxlIHRhYmxlYXUsIGNoYXF1ZSBsaWduZSBzJ2VtcGlsZSA6XG4gICBsZSBub20gZW4gdGl0cmUsIHB1aXMgY2hhcXVlIHZhbGV1ciBwcsOpY8OpZMOpZSBkZSBzb24gbGliZWxsw6kuIE5pXG4gICBkw6lmaWxlbWVudCBob3Jpem9udGFsLCBuaSBkw6lmaWxlbWVudCB2ZXJ0aWNhbC4gKFJlcXXDqnRlIGRlIGNvbnRlbmV1ciA6XG4gICBjJ2VzdCBsYSBsYXJnZXVyIGR1IGJsb2MgcXVpIGNvbXB0ZSwgcGFzIGNlbGxlIGRlIGwnw6ljcmFuLikgKi9cblxuLmRvc3NpZXItZGVmaWxlIHsgY29udGFpbmVyLXR5cGU6IGlubGluZS1zaXplOyB9XG5cbkBjb250YWluZXIgKG1heC13aWR0aDogNjByZW0pIHtcbiAgICAuZG9zc2llci10YWJsZSB7IG1pbi13aWR0aDogMDsgfVxuICAgIC5kb3NzaWVyLXRhYmxlIHRoZWFkIHsgcG9zaXRpb246IGFic29sdXRlOyB3aWR0aDogMXB4OyBoZWlnaHQ6IDFweDsgb3ZlcmZsb3c6IGhpZGRlbjsgY2xpcDogcmVjdCgwIDAgMCAwKTsgfVxuICAgIC5kb3NzaWVyLXRhYmxlLFxuICAgIC5kb3NzaWVyLXRhYmxlIHRib2R5LFxuICAgIC5kb3NzaWVyLXRhYmxlIHRyLFxuICAgIC5kb3NzaWVyLXRhYmxlIHRkIHsgZGlzcGxheTogYmxvY2s7IH1cblxuICAgIC5kb3NzaWVyLXRhYmxlIHRyIHtcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBtaW5tYXgoMCwgMWZyKSBhdXRvO1xuICAgICAgICBnYXA6IDAuMzc1cmVtIDFyZW07XG4gICAgICAgIHBhZGRpbmc6IDFyZW0gMDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlcik7XG4gICAgfVxuXG4gICAgLmRvc3NpZXItdGFibGUgdGQgeyBwYWRkaW5nOiAwOyBib3JkZXI6IDA7IH1cbiAgICAuZG9zc2llci10YWJsZSB0ZC5kb3NzaWVyLXRpdHJlLWxpZ25lIHsgZ3JpZC1jb2x1bW46IDE7IGdyaWQtcm93OiAxOyB9XG4gICAgLmRvc3NpZXItdGFibGUgdGQuZG9zc2llci1hY3Rpb25zLWxpZ25lIHsgZ3JpZC1jb2x1bW46IDI7IGdyaWQtcm93OiAxOyBhbGlnbi1zZWxmOiBzdGFydDsgdGV4dC1hbGlnbjogcmlnaHQ7IH1cblxuICAgIC5kb3NzaWVyLXRhYmxlIHRkW2RhdGEtbGliZWxsZV0ge1xuICAgICAgICBncmlkLWNvbHVtbjogMSAvIC0xO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIGdhcDogMC4yNXJlbSAwLjc1cmVtO1xuICAgIH1cblxuICAgIC5kb3NzaWVyLXRhYmxlIHRkW2RhdGEtbGliZWxsZV06OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IGF0dHIoZGF0YS1saWJlbGxlKTtcbiAgICAgICAgbWluLXdpZHRoOiA5cmVtO1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xuICAgICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIH1cblxuICAgIC5kb3NzaWVyLXRhYmxlIHRyLmRvc3NpZXItaWNpIHRkOmZpcnN0LWNoaWxkIHsgYm94LXNoYWRvdzogbm9uZTsgfVxuICAgIC5kb3NzaWVyLXRhYmxlIHRyLmRvc3NpZXItaWNpIHsgYm94LXNoYWRvdzogaW5zZXQgNHB4IDAgMCB2YXIoLS1jb2xvci1hY2NlbnQpOyBwYWRkaW5nLWxlZnQ6IDAuNzVyZW07IH1cbiAgICAuZG9zc2llci10YWJsZSAuZG9zc2llci1ub20tY29tcHRlIHsgbWluLXdpZHRoOiAwOyB9XG59XG4iLCI6cm9vdCB7XG4gIC0tcmVnLWVuY3JlOiAjMGYyYTRhO1xuICAtLXJlZy1udWl0OiAjMGExZDMzO1xuICAtLXJlZy1vcjogI2UwYTYzYztcbiAgLS1yZWctb3ItY2xhaXI6ICNmMmM0NmQ7XG4gIC0tcmVnLW9yLW9tYnJlOiAjYTg3NDFhO1xuICAtLXJlZy1zdXItbWFyaW5lOiAjZGJlNmYzO1xuICAtLXJlZy1zdXItbWFyaW5lLWRvdXg6ICNjM2QyZTQ7XG4gIC0tcmVnLXBhcGllcjogI2YzZjdmYztcbiAgLS1yZWctdHJhaXQ6ICNkZGU1ZWY7XG4gIC0tcmVnLXRhbXBvbjogIzFkNmIzYTtcbiAgLS1yZWctbWFucXVlLWZvbmQ6ICNmZmY0ZGM7XG4gIC0tcmVnLW1hbnF1ZTogIzhhNGIwMDtcbiAgLS1yZWctbWFucXVlLXRyYWl0OiAjYzk4YTFhO1xufVxuOnJvb3QuZGFyayB7XG4gIC0tcmVnLXBhcGllcjogIzBmMjEzNDtcbiAgLS1yZWctdHJhaXQ6ICMyNDM4NGY7XG4gIC0tcmVnLXRhbXBvbjogIzZlZTdhMDtcbiAgLS1yZWctbWFucXVlLWZvbmQ6ICMzYTJhMTA7XG4gIC0tcmVnLW1hbnF1ZTogI2ZjZDM0ZDtcbiAgLS1yZWctbWFucXVlLXRyYWl0OiAjYjc3OTFmO1xufVxuLnJlZ2lzdHJlLWJhbmRlYXUge1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IG1pbm1heCgwLCAxZnIpIGF1dG87XG4gIGdhcDogMS41cmVtIDNyZW07XG4gIGFsaWduLWl0ZW1zOiBlbmQ7XG4gIHBhZGRpbmc6IDEuNXJlbSAycmVtIDUuNXJlbTtcbiAgYm9yZGVyLXJhZGl1czogMS4yNXJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcmVnLWVuY3JlKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogcmVwZWF0aW5nLWxpbmVhci1ncmFkaWVudCgxODBkZWcsIHRyYW5zcGFyZW50IDAgMzFweCwgcmdiKDI1NSAyNTUgMjU1IC8gMC4wNikgMzFweCAzMnB4KTtcbiAgY29sb3I6ICNmZmY7XG59XG46cm9vdC5kYXJrIC5yZWdpc3RyZS1iYW5kZWF1IHtcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgMXB4IHJnYigyNTUgMjU1IDI1NSAvIDAuMDgpO1xufVxuLnJlZ2lzdHJlLWJhbmRlYXUtdGV4dGUge1xuICBtaW4td2lkdGg6IDA7XG59XG4ucmVnaXN0cmUtYmFuZGVhdSAuY29tcHRlLXJldG91ciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHdpZHRoOiBtYXgtY29udGVudDtcbiAgbWFyZ2luLWJvdHRvbTogMC4yNXJlbTtcbiAgY29sb3I6IHZhcigtLXJlZy1zdXItbWFyaW5lKTtcbn1cbi5yZWdpc3RyZS1iYW5kZWF1IC5jb21wdGUtcmV0b3VyOmhvdmVyIHtcbiAgY29sb3I6ICNmZmY7XG59XG4ucmVnaXN0cmUtYmFuZGVhdSBhOmZvY3VzLXZpc2libGUge1xuICBvdXRsaW5lOiAzcHggc29saWQgdmFyKC0tcmVnLW9yLWNsYWlyKTtcbiAgb3V0bGluZS1vZmZzZXQ6IDJweDtcbiAgYm9yZGVyLXJhZGl1czogMC4yNXJlbTtcbn1cbi5yZWdpc3RyZS1iYW5kZWF1IC5kb3NzaWVyLW9uZ2xldCB7XG4gIG1hcmdpbjogMC43NXJlbSAwIDAuNXJlbTtcbn1cbi5yZWdpc3RyZS1iYW5kZWF1IC5kb3NzaWVyLWNvZGUge1xuICBjb2xvcjogdmFyKC0tcmVnLW9yLWNsYWlyKTtcbiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdmFyKC0tcmVnLW9yKTtcbn1cbi5yZWdpc3RyZS1iYW5kZWF1IC5kb3NzaWVyLW5vbS1ncm91cGUge1xuICBjb2xvcjogdmFyKC0tcmVnLXN1ci1tYXJpbmUtZG91eCk7XG59XG4uZG9zc2llciAucmVnaXN0cmUtYmFuZGVhdSBoMSB7XG4gIG1hcmdpbi10b3A6IDAuNXJlbTtcbiAgY29sb3I6ICNmZmY7XG4gIGZvbnQtd2VpZ2h0OiA4MDA7XG59XG4ucmVnaXN0cmUtcGhyYXNlIHtcbiAgbWF4LXdpZHRoOiA2MmNoO1xuICBtYXJnaW46IDAuNzVyZW0gMCAwO1xuICBjb2xvcjogdmFyKC0tcmVnLXN1ci1tYXJpbmUpO1xuICBmb250LXNpemU6IDEuMTI1cmVtO1xuICBsaW5lLWhlaWdodDogMS41O1xufVxuLnJlZ2lzdHJlLXBocmFzZSBhIHtcbiAgY29sb3I6ICNmZmY7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIHRleHQtZGVjb3JhdGlvbi1jb2xvcjogdmFyKC0tcmVnLW9yKTtcbiAgdGV4dC1kZWNvcmF0aW9uLXRoaWNrbmVzczogMnB4O1xuICB0ZXh0LXVuZGVybGluZS1vZmZzZXQ6IDRweDtcbn1cbi5yZWdpc3RyZS1yZXRvdXJzIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBnYXA6IDAgMS41cmVtO1xufVxuLmRvc3NpZXIgLnJlZ2lzdHJlLXRpdHJlLWdyb3VwZSB7XG4gIG1hcmdpbi10b3A6IDAuNzVyZW07XG59XG4ucmVnaXN0cmUtdGl0cmUtZ3JvdXBlIC5kb3NzaWVyLWNvZGUge1xuICBmb250LXNpemU6IGluaGVyaXQ7XG4gIGJvcmRlci1ib3R0b20td2lkdGg6IDAuMzEyNXJlbTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cbi5yZWdpc3RyZS1qYXVnZSBwIHtcbiAgbWFyZ2luOiAwIDAgMC42MjVyZW07XG4gIGNvbG9yOiB2YXIoLS1yZWctc3VyLW1hcmluZSk7XG4gIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xufVxuLnJlZ2lzdHJlLWphdWdlIHN0cm9uZyB7XG4gIGNvbG9yOiAjZmZmO1xuICBmb250LXNpemU6IDEuMDYyNXJlbTtcbn1cbi5yZWdpc3RyZS1qYXVnZSB1bCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgZ2FwOiAwLjM3NXJlbTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xufVxuLnJlZ2lzdHJlLWNhc2Uge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDAuMzc1cmVtO1xuICBtaW4td2lkdGg6IDQuNXJlbTtcbiAgbWluLWhlaWdodDogMy41cmVtO1xuICBwYWRkaW5nOiAwLjVyZW0gMC41cmVtIDAuMzc1cmVtO1xuICBib3JkZXItcmFkaXVzOiAwLjYyNXJlbTtcbiAgYmFja2dyb3VuZDogcmdiKDI1NSAyNTUgMjU1IC8gMC4wNyk7XG4gIGNvbG9yOiB2YXIoLS1yZWctc3VyLW1hcmluZSk7XG4gIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICBmb250LXdlaWdodDogNjAwO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG4ucmVnaXN0cmUtY2FzZTpob3ZlciB7XG4gIGJhY2tncm91bmQ6IHJnYigyNTUgMjU1IDI1NSAvIDAuMTQpO1xuICBjb2xvcjogI2ZmZjtcbn1cbi5yZWdpc3RyZS1jYXNlLS1hY3RpdmUsIC5yZWdpc3RyZS1jYXNlLS1hY3RpdmU6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBjb2xvcjogdmFyKC0tcmVnLWVuY3JlKTtcbn1cbi5yZWdpc3RyZS1jYXNlLWJhcnJlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDAuNXJlbTtcbiAgYm9yZGVyLXJhZGl1czogMC4xODc1cmVtO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1yZWctb3IpO1xufVxuLnJlZ2lzdHJlLWNhc2UtYmFycmUtLXZpZGUge1xuICBiYWNrZ3JvdW5kOiByZXBlYXRpbmctbGluZWFyLWdyYWRpZW50KDEzNWRlZywgcmdiKDI0MiAxOTYgMTA5IC8gMC42KSAwIDNweCwgdHJhbnNwYXJlbnQgM3B4IDdweCk7XG4gIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDJweCB2YXIoLS1yZWctb3ItY2xhaXIpO1xufVxuLnJlZ2lzdHJlLWNhc2UtLWFjdGl2ZSAucmVnaXN0cmUtY2FzZS1iYXJyZS0tdmlkZSB7XG4gIGJhY2tncm91bmQ6IHJlcGVhdGluZy1saW5lYXItZ3JhZGllbnQoMTM1ZGVnLCByZ2IoMjAxIDEzOCAyNiAvIDAuNTUpIDAgM3B4LCB0cmFuc3BhcmVudCAzcHggN3B4KTtcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgMnB4IHZhcigtLXJlZy1tYW5xdWUtdHJhaXQpO1xufVxuLnJlZ2lzdHJlLWZldWlsbGUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbjogLTRyZW0gMS41cmVtIDA7XG59XG4ucmVnaXN0cmUge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDFyZW07XG4gIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJhY2tncm91bmQtcGFuZWwpO1xuICBib3gtc2hhZG93OiAwIDFweCAwIHZhcigtLXJlZy10cmFpdCksIDAgMThweCA0MHB4IC0yNHB4IHJnYigxMCAyOSA1MSAvIDAuNDUpO1xuICBsaXN0LXN0eWxlOiBub25lO1xufVxuOnJvb3QuZGFyayAucmVnaXN0cmUge1xuICBib3gtc2hhZG93OiAwIDAgMCAxcHggdmFyKC0tcmVnLXRyYWl0KTtcbn1cbi5yZWdpc3RyZS1saWduZSB7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1yZWctdHJhaXQpO1xuICBzY3JvbGwtbWFyZ2luLXRvcDogNXJlbTtcbn1cbi5yZWdpc3RyZS1saWduZTpmaXJzdC1jaGlsZCB7XG4gIGJvcmRlci10b3A6IDA7XG59XG4ucmVnaXN0cmUtbGlnbmUtLWJpZW50b3QgLnJlZ2lzdHJlLXRldGUgaDIsIC5yZWdpc3RyZS1saWduZS0tYmllbnRvdCAucmVnaXN0cmUtdmFsZXVyIHtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbn1cbi5yZWdpc3RyZS10ZXRlIHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxLjc1cmVtIDEycmVtIG1pbm1heCgwLCAxZnIpIGF1dG87XG4gIGdhcDogMC41cmVtIDEuMjVyZW07XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBhZGRpbmc6IDEuMTI1cmVtIDEuNXJlbSAxLjEyNXJlbSAxLjM3NXJlbTtcbn1cbi5yZWdpc3RyZS1saWduZTpmaXJzdC1jaGlsZCAucmVnaXN0cmUtdGV0ZSB7XG4gIGJvcmRlci1yYWRpdXM6IDFyZW0gMXJlbSAwIDA7XG59XG4ucmVnaXN0cmUtbGlnbmU6bGFzdC1jaGlsZCAucmVnaXN0cmUtdGV0ZSB7XG4gIGJvcmRlci1yYWRpdXM6IDAgMCAxcmVtIDFyZW07XG59XG4ucmVnaXN0cmUtbGlnbmU6bm90KC5yZWdpc3RyZS1saWduZS0tYmllbnRvdCk6aG92ZXIgLnJlZ2lzdHJlLXRldGUge1xuICBiYWNrZ3JvdW5kOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tY29sb3ItcHJpbWFyeSkgNCUsIHZhcigtLWNvbG9yLWJhY2tncm91bmQtcGFuZWwpKTtcbn1cbi5yZWdpc3RyZS10ZXRlIGgyIHtcbiAgbWFyZ2luOiAwO1xuICBjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG4gIGZvbnQtc2l6ZTogMS4wNjI1cmVtO1xuICBmb250LXdlaWdodDogNzAwO1xufVxuLnJlZ2lzdHJlLXZhbGV1ciB7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0KTtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBsaW5lLWhlaWdodDogMS41O1xuICBvdmVyZmxvdy13cmFwOiBhbnl3aGVyZTtcbn1cbi5yZWdpc3RyZS12aWRlIHtcbiAgY29sb3I6IHZhcigtLXJlZy1tYW5xdWUpO1xuICBmb250LXdlaWdodDogNjAwO1xufVxuLnJlZ2lzdHJlLWV0YXQge1xuICBkaXNwbGF5OiBncmlkO1xuICBwbGFjZS1pdGVtczogY2VudGVyO1xuICB3aWR0aDogMS42MjVyZW07XG4gIGhlaWdodDogMS42MjVyZW07XG4gIGJvcmRlci1yYWRpdXM6IDk5OTlweDtcbn1cbi5yZWdpc3RyZS1ldGF0IHN2ZyB7XG4gIHdpZHRoOiAwLjkzNzVyZW07XG4gIGhlaWdodDogMC45Mzc1cmVtO1xuICBzdHJva2Utd2lkdGg6IDM7XG59XG4ucmVnaXN0cmUtZXRhdC0tY29tcGxldCB7XG4gIGJhY2tncm91bmQ6IHZhcigtLXJlZy1lbmNyZSk7XG4gIGNvbG9yOiB2YXIoLS1yZWctb3ItY2xhaXIpO1xufVxuLnJlZ2lzdHJlLWV0YXQtLW1hbnF1ZSB7XG4gIGJhY2tncm91bmQ6IHZhcigtLXJlZy1tYW5xdWUtZm9uZCk7XG4gIGNvbG9yOiB2YXIoLS1yZWctbWFucXVlKTtcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgMnB4IHZhcigtLXJlZy1tYW5xdWUtdHJhaXQpO1xufVxuOnJvb3QuZGFyayAucmVnaXN0cmUtZXRhdC0tY29tcGxldCB7XG4gIGJhY2tncm91bmQ6IHZhcigtLXJlZy1vcik7XG4gIGNvbG9yOiB2YXIoLS1yZWctbnVpdCk7XG59XG4ucmVnaXN0cmUtbW9kaWZpZXIge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiAwLjVyZW07XG4gIG1pbi1oZWlnaHQ6IDIuNzVyZW07XG4gIHBhZGRpbmc6IDAgMXJlbTtcbiAgYm9yZGVyOiAycHggc29saWQgdmFyKC0tY29sb3ItcHJpbWFyeSk7XG4gIGJvcmRlci1yYWRpdXM6IDk5OTlweDtcbiAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmFja2dyb3VuZC1wYW5lbCk7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbiAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cbi5yZWdpc3RyZS1tb2RpZmllciBzdmcge1xuICB3aWR0aDogMXJlbTtcbiAgaGVpZ2h0OiAxcmVtO1xufVxuLnJlZ2lzdHJlLW1vZGlmaWVyOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci1iYWNrZ3JvdW5kLXBhbmVsKTtcbn1cbi5yZWdpc3RyZS1tb2RpZmllcjpmb2N1cy12aXNpYmxlIHtcbiAgb3V0bGluZTogM3B4IHNvbGlkIHZhcigtLXJlZy1vcik7XG4gIG91dGxpbmUtb2Zmc2V0OiAzcHg7XG59XG4ucmVnaXN0cmUtb2sge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiAwLjM3NXJlbTtcbiAgbWFyZ2luLWxlZnQ6IDAuNzVyZW07XG4gIHBhZGRpbmc6IDAuMTg3NXJlbSAwLjYyNXJlbTtcbiAgYm9yZGVyOiAycHggc29saWQgdmFyKC0tcmVnLXRhbXBvbik7XG4gIGJvcmRlci1yYWRpdXM6IDAuMzc1cmVtO1xuICBjb2xvcjogdmFyKC0tcmVnLXRhbXBvbik7XG4gIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICBmb250LXdlaWdodDogODAwO1xuICBsZXR0ZXItc3BhY2luZzogMC4wMmVtO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgtM2RlZyk7XG4gIGFuaW1hdGlvbjogcmVnaXN0cmUtdGFtcG9uIDAuNDVzIGN1YmljLWJlemllcigwLjIsIDEuNiwgMC40LCAxKSBib3RoO1xufVxuLnJlZ2lzdHJlLW9rIHN2ZyB7XG4gIHdpZHRoOiAwLjgxMjVyZW07XG4gIGhlaWdodDogMC44MTI1cmVtO1xuICBzdHJva2Utd2lkdGg6IDM7XG59XG5Aa2V5ZnJhbWVzIHJlZ2lzdHJlLXRhbXBvbiB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTNkZWcpIHNjYWxlKDEuOSk7XG4gIH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTNkZWcpIHNjYWxlKDEpO1xuICB9XG59XG4ucmVnaXN0cmUtbGlnbmUtLW91dmVydGUge1xuICBtYXJnaW46IDAuNjI1cmVtO1xuICBib3JkZXItdG9wLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJhZGl1czogMC44NzVyZW07XG4gIGJveC1zaGFkb3c6IDAgMCAwIDJweCB2YXIoLS1yZWctZW5jcmUpO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBhbmltYXRpb246IHJlZ2lzdHJlLW91dnJlIDAuMjJzIGVhc2Utb3V0IGJvdGg7XG59XG4ucmVnaXN0cmUtbGlnbmUtLW91dmVydGUgKyAucmVnaXN0cmUtbGlnbmUge1xuICBib3JkZXItdG9wLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cbjpyb290LmRhcmsgLnJlZ2lzdHJlLWxpZ25lLS1vdXZlcnRlIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMnB4IHZhcigtLXJlZy1vcik7XG59XG5Aa2V5ZnJhbWVzIHJlZ2lzdHJlLW91dnJlIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMC40O1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNHB4KTtcbiAgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cbn1cbi5yZWdpc3RyZS1jYXJuZXQtdGV0ZSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgZ2FwOiAxcmVtO1xuICBwYWRkaW5nOiAxcmVtIDFyZW0gMXJlbSAxLjVyZW07XG4gIGJvcmRlci1ib3R0b206IDVweCBkb3VibGUgdmFyKC0tcmVnLW9yKTtcbiAgYmFja2dyb3VuZDogdmFyKC0tcmVnLWVuY3JlKTtcbiAgY29sb3I6ICNmZmY7XG59XG4ucmVnaXN0cmUtY2FybmV0LXRldGUgaDIge1xuICBtYXJnaW46IDA7XG4gIGNvbG9yOiAjZmZmO1xuICBmb250LXNpemU6IDEuMjVyZW07XG4gIGZvbnQtd2VpZ2h0OiA4MDA7XG59XG4ucmVnaXN0cmUtY2FybmV0LXRldGUgcCB7XG4gIG1hcmdpbjogMC4xMjVyZW0gMCAwO1xuICBjb2xvcjogdmFyKC0tcmVnLXN1ci1tYXJpbmUtZG91eCk7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG59XG4ucmVnaXN0cmUtZmVybWVyIHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZmxleDogbm9uZTtcbiAgcGxhY2UtaXRlbXM6IGNlbnRlcjtcbiAgd2lkdGg6IDIuNzVyZW07XG4gIGhlaWdodDogMi43NXJlbTtcbiAgYm9yZGVyOiAycHggc29saWQgcmdiKDI1NSAyNTUgMjU1IC8gMC42KTtcbiAgYm9yZGVyLXJhZGl1czogOTk5OXB4O1xuICBjb2xvcjogI2ZmZjtcbn1cbi5yZWdpc3RyZS1mZXJtZXIgc3ZnIHtcbiAgd2lkdGg6IDEuMjVyZW07XG4gIGhlaWdodDogMS4yNXJlbTtcbiAgc3Ryb2tlLXdpZHRoOiAyLjQ7XG59XG4ucmVnaXN0cmUtZmVybWVyOmhvdmVyIHtcbiAgYm9yZGVyLWNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBjb2xvcjogdmFyKC0tcmVnLWVuY3JlKTtcbn1cbi5yZWdpc3RyZS1mZXJtZXI6Zm9jdXMtdmlzaWJsZSB7XG4gIG91dGxpbmU6IDNweCBzb2xpZCB2YXIoLS1yZWctb3ItY2xhaXIpO1xuICBvdXRsaW5lLW9mZnNldDogMnB4O1xufVxuLnJlZ2lzdHJlLWNvcnBzIHtcbiAgcGFkZGluZzogMS42MjVyZW0gMS43NXJlbSAxLjI1cmVtO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1yZWctcGFwaWVyKTtcbiAgY29udGFpbmVyLXR5cGU6IGlubGluZS1zaXplO1xufVxuLnJlZ2lzdHJlLWFzdHVjZSB7XG4gIG1hcmdpbjogMS41cmVtIDAgMDtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG59XG5rYmQge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmc6IDAuMDYyNXJlbSAwLjQzNzVyZW07XG4gIGJvcmRlcjogMS41cHggc29saWQgdmFyKC0tYm9yZHVyZS1jaGFtcCk7XG4gIGJvcmRlci1ib3R0b20td2lkdGg6IDNweDtcbiAgYm9yZGVyLXJhZGl1czogMC4zNzVyZW07XG4gIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJhY2tncm91bmQtcGFuZWwpO1xuICBjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG4gIGZvbnQ6IGluaGVyaXQ7XG4gIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICBmb250LXdlaWdodDogNzAwO1xufVxuLnJlZ2lzdHJlLWNoYW1wcyB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDEyLCBtaW5tYXgoMCwgMWZyKSk7XG4gIGdhcDogMS4yNXJlbTtcbiAgYWxpZ24taXRlbXM6IHN0YXJ0O1xufVxuLnJlZ2lzdHJlLWNoYW1wcyA+ICoge1xuICBncmlkLWNvbHVtbjogc3BhbiA2O1xuICBtaW4td2lkdGg6IDA7XG59XG4ucmVnaXN0cmUtY2hhbXBzID4gLnJlZ2lzdHJlLWwyIHtcbiAgZ3JpZC1jb2x1bW46IHNwYW4gMjtcbn1cbi5yZWdpc3RyZS1jaGFtcHMgPiAucmVnaXN0cmUtbDMge1xuICBncmlkLWNvbHVtbjogc3BhbiAzO1xufVxuLnJlZ2lzdHJlLWNoYW1wcyA+IC5yZWdpc3RyZS1sNCB7XG4gIGdyaWQtY29sdW1uOiBzcGFuIDQ7XG59XG4ucmVnaXN0cmUtY2hhbXBzID4gLnJlZ2lzdHJlLWw1IHtcbiAgZ3JpZC1jb2x1bW46IHNwYW4gNTtcbn1cbi5yZWdpc3RyZS1jaGFtcHMgPiAucmVnaXN0cmUtbDgge1xuICBncmlkLWNvbHVtbjogc3BhbiA4O1xufVxuLnJlZ2lzdHJlLWNoYW1wcyA+IC5yZWdpc3RyZS1wbGVpbiwgLnJlZ2lzdHJlLXBsZWluIHtcbiAgZ3JpZC1jb2x1bW46IDEgLyAtMTtcbn1cbkBjb250YWluZXIgKG1heC13aWR0aDogNDZyZW0pIHtcbiAgLnJlZ2lzdHJlLWNoYW1wcyA+ICosIC5yZWdpc3RyZS1jaGFtcHMgPiBbY2xhc3MqPVwicmVnaXN0cmUtbFwiXSB7XG4gICAgZ3JpZC1jb2x1bW46IHNwYW4gNjtcbiAgfVxuICAucmVnaXN0cmUtY2hhbXBzID4gLnJlZ2lzdHJlLXBsZWluIHtcbiAgICBncmlkLWNvbHVtbjogMSAvIC0xO1xuICB9XG59XG5AY29udGFpbmVyIChtYXgtd2lkdGg6IDMwcmVtKSB7XG4gIC5yZWdpc3RyZS1jaGFtcHMgPiAqLCAucmVnaXN0cmUtY2hhbXBzID4gW2NsYXNzKj1cInJlZ2lzdHJlLWxcIl0ge1xuICAgIGdyaWQtY29sdW1uOiAxIC8gLTE7XG4gIH1cbn1cbi5yZWdpc3RyZS1ibG9jIHtcbiAgbWFyZ2luLXRvcDogMS43NXJlbTtcbiAgcGFkZGluZy10b3A6IDEuNXJlbTtcbiAgYm9yZGVyLXRvcDogMXB4IGRhc2hlZCAjYjdjNWQ2O1xufVxuOnJvb3QuZGFyayAucmVnaXN0cmUtYmxvYyB7XG4gIGJvcmRlci10b3AtY29sb3I6IHZhcigtLXJlZy10cmFpdCk7XG59XG4ucmVnaXN0cmUtY29ycHMgPiAucmVnaXN0cmUtYmxvYzpmaXJzdC1jaGlsZCB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIHBhZGRpbmctdG9wOiAwO1xuICBib3JkZXItdG9wOiAwO1xufVxuLnJlZ2lzdHJlLWJsb2MgaDMge1xuICBtYXJnaW46IDAgMCAwLjI1cmVtO1xuICBjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG4gIGZvbnQtc2l6ZTogMS4wNjI1cmVtO1xuICBmb250LXdlaWdodDogNzAwO1xufVxuLnJlZ2lzdHJlLWJsb2MtYWlkZSB7XG4gIG1heC13aWR0aDogNjhjaDtcbiAgbWFyZ2luOiAwIDAgMXJlbTtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbiAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG59XG4ucmVnaXN0cmUtY2hhbXAtYm91dG9uIHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBtaW5tYXgoMCwgMWZyKSBhdXRvO1xuICBnYXA6IDAuNzVyZW07XG4gIGFsaWduLWl0ZW1zOiBlbmQ7XG59XG4ucmVnaXN0cmUtYWxlcnRlIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwLjYyNXJlbSAwLjg3NXJlbTtcbiAgYm9yZGVyLXJhZGl1czogMC41cmVtO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1yZWctbWFucXVlLWZvbmQpO1xuICBjb2xvcjogIzdjMmQxMjtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbn1cbjpyb290LmRhcmsgLnJlZ2lzdHJlLWFsZXJ0ZSB7XG4gIGNvbG9yOiB2YXIoLS1yZWctbWFucXVlKTtcbn1cbi5yZWdpc3RyZS1waWVkIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDAuNzVyZW0gMS4yNXJlbTtcbiAgbWFyZ2luLXRvcDogMS41cmVtO1xufVxuLnJlZ2lzdHJlLXBpZWQgZm9ybSB7XG4gIG1hcmdpbjogMDtcbn1cbi5yZWdpc3RyZS1lbnJlZ2lzdHJlciB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDAuNjI1cmVtO1xuICBtaW4taGVpZ2h0OiAzLjEyNXJlbTtcbiAgcGFkZGluZzogMCAxLjVyZW07XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogMC42MjVyZW07XG4gIGJhY2tncm91bmQ6IHZhcigtLXJlZy1vcik7XG4gIGJveC1zaGFkb3c6IDAgMnB4IDAgdmFyKC0tcmVnLW9yLW9tYnJlKTtcbiAgY29sb3I6IHZhcigtLXJlZy1udWl0KTtcbiAgZm9udDogaW5oZXJpdDtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBmb250LXdlaWdodDogODAwO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbi5yZWdpc3RyZS1lbnJlZ2lzdHJlcjpob3ZlciB7XG4gIGNvbG9yOiB2YXIoLS1yZWctbnVpdCk7XG59XG4ucmVnaXN0cmUtZW5yZWdpc3RyZXIgc3ZnIHtcbiAgd2lkdGg6IDEuMTI1cmVtO1xuICBoZWlnaHQ6IDEuMTI1cmVtO1xuICBzdHJva2Utd2lkdGg6IDM7XG59XG4ucmVnaXN0cmUtZW5yZWdpc3RyZXI6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiAjZjBiNjQ5O1xufVxuLnJlZ2lzdHJlLWVucmVnaXN0cmVyOmFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxcHgpO1xuICBib3gtc2hhZG93OiAwIDFweCAwIHZhcigtLXJlZy1vci1vbWJyZSk7XG59XG4ucmVnaXN0cmUtZW5yZWdpc3RyZXI6Zm9jdXMtdmlzaWJsZSB7XG4gIG91dGxpbmU6IDNweCBzb2xpZCB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbiAgb3V0bGluZS1vZmZzZXQ6IDNweDtcbn1cbi5yZWdpc3RyZS1hbm51bGVyIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIG1pbi1oZWlnaHQ6IDIuNzVyZW07XG4gIHBhZGRpbmc6IDAgMC4zNzVyZW07XG4gIGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gIHRleHQtdW5kZXJsaW5lLW9mZnNldDogNHB4O1xufVxuLnJlZ2lzdHJlLWFubnVsZXI6Zm9jdXMtdmlzaWJsZSB7XG4gIG91dGxpbmU6IDNweCBzb2xpZCB2YXIoLS1yZWctb3IpO1xuICBvdXRsaW5lLW9mZnNldDogMnB4O1xuICBib3JkZXItcmFkaXVzOiAwLjI1cmVtO1xufVxuLnJlZ2lzdHJlLWFqb3V0ZXIge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGdhcDogMC41cmVtO1xuICBtaW4taGVpZ2h0OiAzLjEyNXJlbTtcbiAgcGFkZGluZzogMCAxLjI1cmVtO1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDAuNjI1cmVtO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1yZWctZW5jcmUpO1xuICBjb2xvcjogI2ZmZjtcbiAgZm9udDogaW5oZXJpdDtcbiAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuLnJlZ2lzdHJlLWFqb3V0ZXIgc3ZnIHtcbiAgd2lkdGg6IDEuMTI1cmVtO1xuICBoZWlnaHQ6IDEuMTI1cmVtO1xuICBzdHJva2Utd2lkdGg6IDIuNjtcbiAgY29sb3I6IHZhcigtLXJlZy1vci1jbGFpcik7XG59XG4ucmVnaXN0cmUtYWpvdXRlcjpob3ZlciB7XG4gIGJhY2tncm91bmQ6IHZhcigtLXJlZy1udWl0KTtcbiAgY29sb3I6ICNmZmY7XG59XG4ucmVnaXN0cmUtYWpvdXRlcjpmb2N1cy12aXNpYmxlIHtcbiAgb3V0bGluZTogM3B4IHNvbGlkIHZhcigtLXJlZy1vcik7XG4gIG91dGxpbmUtb2Zmc2V0OiAzcHg7XG59XG46cm9vdC5kYXJrIC5yZWdpc3RyZS1ham91dGVyIHtcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgMS41cHggdmFyKC0tcmVnLW9yKTtcbn1cbi5yZWdpc3RyZS1saXN0ZSB7XG4gIG1hcmdpbjogMCAwIDEuNXJlbTtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyLXJhZGl1czogMC43NXJlbTtcbiAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmFja2dyb3VuZC1wYW5lbCk7XG4gIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDEuNXB4ICNiN2M1ZDY7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG46cm9vdC5kYXJrIC5yZWdpc3RyZS1saXN0ZSB7XG4gIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDEuNXB4IHZhcigtLXJlZy10cmFpdCk7XG59XG4ucmVnaXN0cmUtbGlzdGUgPiBsaSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBnYXA6IDAuNXJlbSAxcmVtO1xuICBwYWRkaW5nOiAwLjg3NXJlbSAxcmVtO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tcmVnLXRyYWl0KTtcbn1cbi5yZWdpc3RyZS1saXN0ZSA+IGxpOmZpcnN0LWNoaWxkIHtcbiAgYm9yZGVyLXRvcDogMDtcbn1cbi5yZWdpc3RyZS1saXN0ZSBmb3JtIHtcbiAgbWFyZ2luOiAwO1xufVxuLnJlZ2lzdHJlLWxpc3RlIHN0cm9uZyB7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbn1cbi5yZWdpc3RyZS1saXN0ZS1hY3Rpb25zIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDAuNXJlbTtcbn1cbi5yZWdpc3RyZS1zZWNvbmRhaXJlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG59XG4ucmVnaXN0cmUtbGlzdGUgPiBsaS5yZWdpc3RyZS1saXN0ZS1hY3RpdmUge1xuICBiYWNrZ3JvdW5kOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tcmVnLW9yKSAxMiUsIHZhcigtLWNvbG9yLWJhY2tncm91bmQtcGFuZWwpKTtcbn1cbi5yZWdpc3RyZS1saXN0ZSArIC5yZWdpc3RyZS1ibG9jIHtcbiAgbWFyZ2luLXRvcDogMDtcbn1cbi5yZWdpc3RyZS1lbi1jb3VycyB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBtYXJnaW4tbGVmdDogMC41cmVtO1xuICBwYWRkaW5nOiAwLjEyNXJlbSAwLjYyNXJlbTtcbiAgYm9yZGVyLXJhZGl1czogOTk5OXB4O1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1yZWctZW5jcmUpO1xuICBjb2xvcjogdmFyKC0tcmVnLW9yLWNsYWlyKTtcbiAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG59XG4uZm9ybXVsYWlyZS1wYW5uZWF1IHtcbiAgcGFkZGluZzogMS43NXJlbSAxLjc1cmVtIDA7XG4gIGJvcmRlci1yYWRpdXM6IDFyZW07XG4gIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJhY2tncm91bmQtcGFuZWwpO1xuICBib3gtc2hhZG93OiAwIDFweCAwIHZhcigtLXJlZy10cmFpdCksIDAgMThweCA0MHB4IC0yNHB4IHJnYigxMCAyOSA1MSAvIDAuNDUpO1xuICBjb250YWluZXItdHlwZTogaW5saW5lLXNpemU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG46cm9vdC5kYXJrIC5mb3JtdWxhaXJlLXBhbm5lYXUge1xuICBib3gtc2hhZG93OiAwIDAgMCAxcHggdmFyKC0tcmVnLXRyYWl0KTtcbn1cbi5mb3JtdWxhaXJlLXBhbm5lYXUgPiAucmVnaXN0cmUtYmxvYzpmaXJzdC1jaGlsZCB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIHBhZGRpbmctdG9wOiAwO1xuICBib3JkZXItdG9wOiAwO1xufVxuLmZvcm11bGFpcmUtcGFubmVhdSAucmVnaXN0cmUtYmxvYyBoMiB7XG4gIG1hcmdpbjogMCAwIDAuMjVyZW07XG4gIGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbiAgZm9udC1zaXplOiAxLjE4NzVyZW07XG4gIGZvbnQtd2VpZ2h0OiA4MDA7XG59XG4uZm9ybXVsYWlyZS1wYW5uZWF1IC5yZWdpc3RyZS1ibG9jIGgyIC5jb21wdGUtZmFjdWx0YXRpZiB7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbn1cbi5yZWdpc3RyZS1waWVkLS1wYW5uZWF1IHtcbiAgbWFyZ2luOiAxLjc1cmVtIC0xLjc1cmVtIDA7XG4gIHBhZGRpbmc6IDEuMjVyZW0gMS43NXJlbSAxLjVyZW07XG4gIGJvcmRlci10b3A6IDVweCBkb3VibGUgdmFyKC0tcmVnLW9yKTtcbiAgYmFja2dyb3VuZDogdmFyKC0tcmVnLXBhcGllcik7XG59XG4ucmVnaXN0cmUtcmliIHtcbiAgcGFkZGluZzogMS4xMjVyZW0gMS4xMjVyZW0gMS4yNXJlbTtcbiAgYm9yZGVyLXJhZGl1czogMC43NXJlbTtcbiAgYmFja2dyb3VuZDogdmFyKC0tcmVnLXBhcGllcik7XG4gIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDEuNXB4ICNiN2M1ZDY7XG59XG46cm9vdC5kYXJrIC5yZWdpc3RyZS1yaWIge1xuICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAxLjVweCB2YXIoLS1yZWctdHJhaXQpO1xufVxuLnJlZ2lzdHJlLXJpYi10aXRyZSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBnYXA6IDAuNXJlbSAxcmVtO1xuICBtYXJnaW46IDAgMCAwLjg3NXJlbTtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBmb250LXdlaWdodDogODAwO1xufVxuLnJlZ2lzdHJlLXJpYi10aXRyZSBzcGFuIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogMC4zNzVyZW07XG4gIGNvbG9yOiB2YXIoLS1yZWctdGFtcG9uKTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbn1cbi5yZWdpc3RyZS1yaWItdGl0cmUgc3ZnIHtcbiAgd2lkdGg6IDAuOTM3NXJlbTtcbiAgaGVpZ2h0OiAwLjkzNzVyZW07XG59XG4ucmVnaXN0cmUtcmliIGlucHV0IHtcbiAgZm9udC12YXJpYW50LW51bWVyaWM6IHRhYnVsYXItbnVtcztcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMDZlbTtcbn1cbi5yZWdpc3RyZS1jaGFtcHMtLWFwcmVzIHtcbiAgbWFyZ2luLXRvcDogMS4yNXJlbTtcbn1cbi5yZWdpc3RyZS1iYW5kZWF1IC5kb3NzaWVyLXNpdHVhdGlvbiB7XG4gIG1heC13aWR0aDogNjJjaDtcbiAgbWFyZ2luOiAwLjc1cmVtIDAgMDtcbiAgY29sb3I6IHZhcigtLXJlZy1zdXItbWFyaW5lKTtcbiAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbn1cbi5yZWdpc3RyZS1iYW5kZWF1IC5kb3NzaWVyLXNpdHVhdGlvbiBhIHtcbiAgY29sb3I6ICNmZmY7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIHRleHQtZGVjb3JhdGlvbi1jb2xvcjogdmFyKC0tcmVnLW9yKTtcbiAgdGV4dC1kZWNvcmF0aW9uLXRoaWNrbmVzczogMnB4O1xuICB0ZXh0LXVuZGVybGluZS1vZmZzZXQ6IDRweDtcbn1cbi5yZWdpc3RyZS1iYW5kZWF1LWFjdGlvbnMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgZ2FwOiAwLjc1cmVtO1xuICBtYXJnaW4tdG9wOiAxLjVyZW07XG59XG4ucmVnaXN0cmUtYmFuZGVhdS1hY3Rpb25zIGZvcm0ge1xuICBtYXJnaW46IDA7XG59XG4ucmVnaXN0cmUtYmFuZGVhdSAucmVnaXN0cmUtZW5yZWdpc3RyZXI6Zm9jdXMtdmlzaWJsZSB7XG4gIG91dGxpbmUtY29sb3I6IHZhcigtLXJlZy1vci1jbGFpcik7XG59XG4ucmVnaXN0cmUtYnRuLWNsYWlyIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogMC41cmVtO1xuICBtaW4taGVpZ2h0OiAzLjEyNXJlbTtcbiAgcGFkZGluZzogMCAxLjI1cmVtO1xuICBib3JkZXI6IDJweCBzb2xpZCByZ2IoMjU1IDI1NSAyNTUgLyAwLjYpO1xuICBib3JkZXItcmFkaXVzOiAwLjYyNXJlbTtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiAjZmZmO1xuICBmb250OiBpbmhlcml0O1xuICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG4ucmVnaXN0cmUtYnRuLWNsYWlyIHN2ZyB7XG4gIHdpZHRoOiAxLjEyNXJlbTtcbiAgaGVpZ2h0OiAxLjEyNXJlbTtcbn1cbi5yZWdpc3RyZS1idG4tY2xhaXI6aG92ZXIge1xuICBib3JkZXItY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIGNvbG9yOiB2YXIoLS1yZWctZW5jcmUpO1xufVxuLnJlZ2lzdHJlLWJ0bi1jbGFpcjpmb2N1cy12aXNpYmxlIHtcbiAgb3V0bGluZTogM3B4IHNvbGlkIHZhcigtLXJlZy1vci1jbGFpcik7XG4gIG91dGxpbmUtb2Zmc2V0OiAycHg7XG59XG4ucmVnaXN0cmUtZGF0ZXMge1xuICBtYXJnaW46IDFyZW0gMCAwO1xuICBjb2xvcjogdmFyKC0tcmVnLXN1ci1tYXJpbmUtZG91eCk7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG59XG4ucmVnaXN0cmUtYmFuZGVhdTpoYXMoLnJlZ2lzdHJlLXBhcmNvdXJzKSB7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogbWlubWF4KDAsIDFmcik7XG4gIGdhcDogMS43NXJlbTtcbn1cbi5yZWdpc3RyZS1wYXJjb3VycyB7XG4gIHBhZGRpbmctdG9wOiAxLjI1cmVtO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgcmdiKDI1NSAyNTUgMjU1IC8gMC4xNik7XG59XG4ucmVnaXN0cmUtcGFyY291cnMgaDIge1xuICBtYXJnaW46IDAgMCAwLjYyNXJlbTtcbiAgY29sb3I6IHZhcigtLXJlZy1zdXItbWFyaW5lKTtcbiAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG59XG4ucmVnaXN0cmUtcGFyY291cnMgLmRvc3NpZXItcGlzdGUge1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg0LCBtaW5tYXgoMCwgMWZyKSk7XG4gIGdhcDogMC4zNzVyZW07XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyOiAwO1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBsaXN0LXN0eWxlOiBub25lO1xufVxuLnJlZ2lzdHJlLWV0YXBlIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiAwLjI1cmVtO1xuICBwYWRkaW5nOiAwLjYyNXJlbSAwLjYyNXJlbSAwLjc1cmVtO1xuICBib3JkZXItcmFkaXVzOiAwLjYyNXJlbTtcbiAgYmFja2dyb3VuZDogcmdiKDI1NSAyNTUgMjU1IC8gMC4wNyk7XG59XG4ucmVnaXN0cmUtZXRhcGUgLnJlZ2lzdHJlLWNhc2UtYmFycmUge1xuICBtYXJnaW4tYm90dG9tOiAwLjI1cmVtO1xufVxuLnJlZ2lzdHJlLWV0YXBlIHN0cm9uZyB7XG4gIGNvbG9yOiAjZmZmO1xuICBmb250LXNpemU6IDAuOTM3NXJlbTtcbn1cbi5yZWdpc3RyZS1ldGFwZS1kZXRhaWwge1xuICBjb2xvcjogdmFyKC0tcmVnLXN1ci1tYXJpbmUtZG91eCk7XG4gIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICBsaW5lLWhlaWdodDogMS40O1xufVxuLnJlZ2lzdHJlLWV0YXBlLS1hdHRlbnRlIHN0cm9uZyB7XG4gIGNvbG9yOiB2YXIoLS1yZWctc3VyLW1hcmluZS1kb3V4KTtcbn1cbi5yZWdpc3RyZS1ldGFwZS0tYmxvcXVlIHtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbn1cbi5yZWdpc3RyZS1ldGFwZS0tYmxvcXVlIHN0cm9uZyB7XG4gIGNvbG9yOiB2YXIoLS1yZWctZW5jcmUpO1xufVxuLnJlZ2lzdHJlLWV0YXBlLS1ibG9xdWUgLnJlZ2lzdHJlLWV0YXBlLWRldGFpbCB7XG4gIGNvbG9yOiAjM2Q1YTc4O1xufVxuLnJlZ2lzdHJlLWV0YXBlLS1ibG9xdWUgLnJlZ2lzdHJlLWNhc2UtYmFycmUtLXZpZGUge1xuICBiYWNrZ3JvdW5kOiByZXBlYXRpbmctbGluZWFyLWdyYWRpZW50KDEzNWRlZywgcmdiKDIwMSAxMzggMjYgLyAwLjU1KSAwIDNweCwgdHJhbnNwYXJlbnQgM3B4IDdweCk7XG4gIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDJweCB2YXIoLS1yZWctbWFucXVlLXRyYWl0KTtcbn1cbi5yZWdpc3RyZS1ldGFwZSBmb3JtIHtcbiAgbWFyZ2luOiAwLjVyZW0gMCAwO1xufVxuLnJlZ2lzdHJlLWV0YXBlIC5yZWdpc3RyZS1lbnJlZ2lzdHJlciB7XG4gIG1pbi1oZWlnaHQ6IDIuNzVyZW07XG4gIHBhZGRpbmc6IDAgMC44NzVyZW07XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG59XG4ucmVnaXN0cmUtZXRhcGUgLnJlZ2lzdHJlLWVucmVnaXN0cmVyOmZvY3VzLXZpc2libGUge1xuICBvdXRsaW5lLWNvbG9yOiB2YXIoLS1yZWctZW5jcmUpO1xufVxuLmRvc3NpZXItZmV1aWxsZSB7XG4gIHBhZGRpbmc6IDEuNzVyZW0gMnJlbSAycmVtO1xuICBib3JkZXItcmFkaXVzOiAxcmVtO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iYWNrZ3JvdW5kLXBhbmVsKTtcbiAgYm94LXNoYWRvdzogMCAxcHggMCB2YXIoLS1yZWctdHJhaXQpLCAwIDE4cHggNDBweCAtMjRweCByZ2IoMTAgMjkgNTEgLyAwLjQ1KTtcbn1cbjpyb290LmRhcmsgLmRvc3NpZXItZmV1aWxsZSB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDFweCB2YXIoLS1yZWctdHJhaXQpO1xufVxuLmRvc3NpZXItZmV1aWxsZSAuZG9zc2llci1wYW5uZWF1IHtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYmFja2dyb3VuZDogdmFyKC0tcmVnLXBhcGllcik7XG59XG4uZG9zc2llci1mZXVpbGxlIC5kb3NzaWVyLW91dGlsLmRvc3NpZXItcGFubmVhdSB7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG4uZG9zc2llci1mZXVpbGxlIC5kb3NzaWVyLWZpY2hlIGR0LCAuZG9zc2llci1mZXVpbGxlIC5kb3NzaWVyLWZpY2hlIGRkIHtcbiAgYm9yZGVyLXRvcC1jb2xvcjogdmFyKC0tcmVnLXRyYWl0KTtcbn1cbi5kb3NzaWVyLWZldWlsbGUgaDIge1xuICBjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG59XG4uZG9zc2llci1mZXVpbGxlIC5kb3NzaWVyLWdyb3VwZXMge1xuICBtYXJnaW46IC0wLjVyZW0gMCAxLjVyZW07XG4gIHBhZGRpbmctYm90dG9tOiAwLjc1cmVtO1xuICBib3JkZXItYm90dG9tOiA1cHggZG91YmxlIHZhcigtLXJlZy1vcik7XG59XG4uZG9zc2llci1mZXVpbGxlIC5kb3NzaWVyLWdyb3VwZXMgYSB7XG4gIGJvcmRlci1jb2xvcjogI2I3YzVkNjtcbiAgYm9yZGVyLXJhZGl1czogMC42MjVyZW07XG59XG4uZG9zc2llci1mZXVpbGxlIC5kb3NzaWVyLWdyb3VwZXMgYVthcmlhLWN1cnJlbnQ9XCJ0cnVlXCJdIHtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1yZWctZW5jcmUpO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1yZWctZW5jcmUpO1xuICBjb2xvcjogdmFyKC0tcmVnLW9yLWNsYWlyKTtcbn1cbi5kb3NzaWVyLWVuY2FydCB7XG4gIG1hcmdpbjogMS4yNXJlbSAwIDA7XG4gIHBhZGRpbmc6IDFyZW07XG4gIGJvcmRlci1yYWRpdXM6IDAuNjI1cmVtO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iYWNrZ3JvdW5kLXBhbmVsKTtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbiAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDEuNXB4IHZhcigtLXJlZy10cmFpdCk7XG59XG4uZG9zc2llci1maWNoZSBkZC5kb3NzaWVyLWxpZ25lLWV0YXQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmctbGVmdDogMnJlbTtcbn1cbi5kb3NzaWVyLWxpZ25lLWV0YXQtLW9rOjpiZWZvcmUsIC5kb3NzaWVyLWxpZ25lLWV0YXQtLW1hbnF1ZTo6YmVmb3JlIHtcbiAgY29udGVudDogJyc7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwLjc1cmVtO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMS4yNXJlbTtcbiAgaGVpZ2h0OiAxLjI1cmVtO1xuICBib3JkZXItcmFkaXVzOiA5OTk5cHg7XG59XG4uZG9zc2llci1saWduZS1ldGF0LS1vazo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tcmVnLWVuY3JlKTtcbn1cbi5kb3NzaWVyLWxpZ25lLWV0YXQtLW1hbnF1ZTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tcmVnLW1hbnF1ZS1mb25kKTtcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgMnB4IHZhcigtLXJlZy1tYW5xdWUtdHJhaXQpO1xufVxuLmRvc3NpZXItbGlnbmUtZXRhdC0tb2s6OmFmdGVyLCAuZG9zc2llci1saWduZS1ldGF0LS1tYW5xdWU6OmFmdGVyIHtcbiAgY29udGVudDogJyc7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwLjc1cmVtO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMS4yNXJlbTtcbiAgaGVpZ2h0OiAxLjI1cmVtO1xuICAtd2Via2l0LW1hc2s6IHZhcigtLWljb25lKSBjZW50ZXIgLyAwLjc1cmVtIG5vLXJlcGVhdDtcbiAgbWFzazogdmFyKC0taWNvbmUpIGNlbnRlciAvIDAuNzVyZW0gbm8tcmVwZWF0O1xufVxuLmRvc3NpZXItbGlnbmUtZXRhdC0tb2s6OmFmdGVyIHtcbiAgLS1pY29uZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAyNCAyNCcgZmlsbD0nbm9uZScgc3Ryb2tlPSdibGFjaycgc3Ryb2tlLXdpZHRoPSczLjUnIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCclM0UlM0NwYXRoIGQ9J00yMCA2IDkgMTdsLTUtNScvJTNFJTNDL3N2ZyUzRVwiKTtcbiAgYmFja2dyb3VuZDogdmFyKC0tcmVnLW9yLWNsYWlyKTtcbn1cbi5kb3NzaWVyLWxpZ25lLWV0YXQtLW1hbnF1ZTo6YWZ0ZXIge1xuICAtLWljb25lOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDI0IDI0JyBmaWxsPSdub25lJyBzdHJva2U9J2JsYWNrJyBzdHJva2Utd2lkdGg9JzMuNScgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyUzRSUzQ3BhdGggZD0nTTEyIDZ2OE0xMiAxOGguMDEnLyUzRSUzQy9zdmclM0VcIik7XG4gIGJhY2tncm91bmQ6IHZhcigtLXJlZy1tYW5xdWUpO1xufVxuOnJvb3QuZGFyayAuZG9zc2llci1saWduZS1ldGF0LS1vazo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tcmVnLW9yKTtcbn1cbjpyb290LmRhcmsgLmRvc3NpZXItbGlnbmUtZXRhdC0tb2s6OmFmdGVyIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tcmVnLW51aXQpO1xufVxuLmRvc3NpZXItYS1jb21wbGV0ZXIge1xuICBjb2xvcjogdmFyKC0tcmVnLW1hbnF1ZSk7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICB0ZXh0LWRlY29yYXRpb24tdGhpY2tuZXNzOiAycHg7XG4gIHRleHQtdW5kZXJsaW5lLW9mZnNldDogM3B4O1xufVxuLmRvc3NpZXItYS1jb21wbGV0ZXI6aG92ZXIge1xuICBjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG59XG4uZG9zc2llci1mZXVpbGxlIC5kb3NzaWVyLWNhbG1lIHtcbiAgYm9yZGVyLXRvcDogNXB4IGRvdWJsZSB2YXIoLS1yZWctb3IpO1xufVxuLmRvc3NpZXItbm90ZSB0ZXh0YXJlYTpob3ZlciB7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG59XG4uZG9zc2llci1ub3RlIHRleHRhcmVhOmZvY3VzLXZpc2libGUge1xuICBvdXRsaW5lOiAycHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogMnB4IHNvbGlkIHZhcigtLWNvbG9yLXByaW1hcnkpO1xuICBib3gtc2hhZG93OiAwIDAgMCA0cHggcmdiKDIyNCAxNjYgNjAgLyAwLjU1KTtcbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA2NHJlbSkge1xuICAucmVnaXN0cmUtYmFuZGVhdSB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG4gIH1cbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA0OHJlbSkge1xuICAucmVnaXN0cmUtYmFuZGVhdSB7XG4gICAgcGFkZGluZzogMS4yNXJlbSAxLjI1cmVtIDVyZW07XG4gICAgYm9yZGVyLXJhZGl1czogMXJlbTtcbiAgfVxuICAucmVnaXN0cmUtcGFyY291cnMgLmRvc3NpZXItcGlzdGUge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmcjtcbiAgfVxuICAuZG9zc2llci1mZXVpbGxlIHtcbiAgICBwYWRkaW5nOiAxLjI1cmVtIDFyZW0gMS41cmVtO1xuICB9XG4gIC5yZWdpc3RyZS1mZXVpbGxlIHtcbiAgICBtYXJnaW46IC0zLjc1cmVtIDAuNXJlbSAwO1xuICB9XG4gIC5yZWdpc3RyZS10ZXRlIHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDEuNzVyZW0gbWlubWF4KDAsIDFmcikgYXV0bztcbiAgfVxuICAucmVnaXN0cmUtdmFsZXVyIHtcbiAgICBncmlkLWNvbHVtbjogMiAvIC0xO1xuICAgIGdyaWQtcm93OiAyO1xuICB9XG4gIC5yZWdpc3RyZS1jb3JwcyB7XG4gICAgcGFkZGluZzogMS4yNXJlbSAxLjEyNXJlbSAxcmVtO1xuICB9XG4gIC5yZWdpc3RyZS1hc3R1Y2Uge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgLmZvcm11bGFpcmUtcGFubmVhdSB7XG4gICAgcGFkZGluZzogMS4yNXJlbSAxLjEyNXJlbSAwO1xuICB9XG4gIC5yZWdpc3RyZS1waWVkLS1wYW5uZWF1IHtcbiAgICBtYXJnaW46IDEuNXJlbSAtMS4xMjVyZW0gMDtcbiAgICBwYWRkaW5nOiAxLjEyNXJlbTtcbiAgfVxufVxuQG1lZGlhIChtYXgtd2lkdGg6IDM2cmVtKSB7XG4gIC5yZWdpc3RyZS1jaGFtcC1ib3V0b24ge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuICB9XG4gIC5yZWdpc3RyZS1jYXNlIHtcbiAgICBtaW4td2lkdGg6IDMuNzVyZW07XG4gIH1cbn1cbkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG4gIC5yZWdpc3RyZS1vaywgLnJlZ2lzdHJlLWxpZ25lLS1vdXZlcnRlIHtcbiAgICBhbmltYXRpb246IG5vbmU7XG4gIH1cbn1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ09NUE9TQU5UUyBBRE1JTklTVFJBVElGUyBQQVJUQUfDiVNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEFETUlOIFNJREVCQVIg4oCUIExBWU9VVCBQUklOQ0lQQUxcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uYWRtaW4tbGF5b3V0LXdyYXBwZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgbWluLWhlaWdodDogY2FsYygxMDB2aCAtIDRyZW0gLSAyLjc1cmVtKTsgLyogLSBoZWFkZXIgLSBmb290ZXIgKi9cbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi8qIOKUgOKUgOKUgCBTSURFQkFSIOKUgOKUgOKUgCAqL1xuXG4uYWRtaW4tbmF2LXNpZGViYXIge1xuICAgIHdpZHRoOiAxNnJlbTtcbiAgICBmbGV4LXNocmluazogMDtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iYWNrZ3JvdW5kLXBhbmVsKTtcbiAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItbGlnaHQpO1xuICAgIHBvc2l0aW9uOiBzdGlja3k7XG4gICAgdG9wOiA0cmVtO1xuICAgIC8qIEVudHJlIGwnZW4tdMOqdGUgKDRyZW0pIGV0IGxlIHBpZWQgZGUgcGFnZSBmaXhlICgzcmVtLCByw6lzZXJ2w6lzIHBhciBsZVxuICAgICAgIGJvZHkpIDogbGUgbWVudSB0aWVudCB0b3Vqb3VycyBkYW5zIHNhIHpvbmUgZXQgbmUgYm91Z2UgcGx1cyBlbiBiYXMgZGVcbiAgICAgICBwYWdlIDsgc29uIGJhcyBuJ2VzdCBwbHVzIGNhY2jDqSBzb3VzIGxlIHBpZWQgZGUgcGFnZS4gKi9cbiAgICBoZWlnaHQ6IGNhbGMoMTAwdmggLSA0cmVtIC0gM3JlbSk7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICBvdmVyZmxvdy14OiBoaWRkZW47XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIHRyYW5zaXRpb246IHdpZHRoIDAuMjVzIGVhc2U7XG4gICAgc2Nyb2xsYmFyLXdpZHRoOiB0aGluO1xuICAgIHNjcm9sbGJhci1jb2xvcjogdmFyKC0tY29sb3ItYm9yZGVyKSB0cmFuc3BhcmVudDtcbiAgICB6LWluZGV4OiAzMDtcbn1cblxuOnJvb3QuZGFyayAuYWRtaW4tbmF2LXNpZGViYXIge1xuICAgIGJvcmRlci1yaWdodC1jb2xvcjogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLWNvbG9yLWJvcmRlcikgMjUlLCB0cmFuc3BhcmVudCk7XG59XG5cbi8qIEVuLXTDqnRlIHNpZGViYXIgKi9cbi5zaWRlYmFyLWhlYWRlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBwYWRkaW5nOiAwLjg3NXJlbSAxcmVtO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItbGlnaHQpO1xuICAgIGZsZXgtc2hyaW5rOiAwO1xufVxuXG46cm9vdC5kYXJrIC5zaWRlYmFyLWhlYWRlciB7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLWNvbG9yLWJvcmRlcikgMjAlLCB0cmFuc3BhcmVudCk7XG59XG5cbi5zaWRlYmFyLWJyYW5kIHtcbiAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjFlbTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnMsIHdpZHRoIDAuMnM7XG59XG5cbi5zaWRlYmFyLWNvbGxhcHNlLWJ0biB7XG4gICAgd2lkdGg6IDEuNzVyZW07XG4gICAgaGVpZ2h0OiAxLjc1cmVtO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xuICAgIGJvcmRlci1yYWRpdXM6IDAuMzc1cmVtO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC4xNXMsIGJhY2tncm91bmQtY29sb3IgMC4xNXMsIHRyYW5zZm9ybSAwLjI1cztcblxuICAgIGkgeyB3aWR0aDogMXJlbTsgaGVpZ2h0OiAxcmVtOyBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuXG4gICAgJjpob3ZlciB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0KTtcbiAgICAgICAgYmFja2dyb3VuZDogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLWNvbG9yLXByaW1hcnkpIDglLCB0cmFuc3BhcmVudCk7XG4gICAgfVxufVxuXG4vKiBOYXZpZ2F0aW9uICovXG4uc2lkZWJhci1uYXYge1xuICAgIGZsZXg6IDE7XG4gICAgcGFkZGluZzogMC41cmVtIDA7XG4gICAgb3ZlcmZsb3cteDogaGlkZGVuO1xufVxuXG4uc2lkZWJhci1ncm91cCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMC4xMjVyZW07XG59XG5cbi5zaWRlYmFyLWdyb3VwLWxhYmVsIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAwLjg3NXJlbSAxcmVtIDAuMjVyZW07XG4gICAgZm9udC1zaXplOiAwLjY1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4xZW07XG4gICAgLyogIzZiNzI4MCBzdXIgZm9uZCBjbGFpciA9IDQuNzoxIOKchSBBQSAqL1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LW11dGVkLWFjY2Vzc2libGUsICM2YjcyODApO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMTVzO1xufVxuXG4vKiBMaWVucyAqL1xuLnNpZGViYXItbGluayB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogMC42MjVyZW07XG4gICAgcGFkZGluZzogMC40Mzc1cmVtIDFyZW07XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBib3JkZXItcmFkaXVzOiAwLjM3NXJlbTtcbiAgICBtYXJnaW46IDAuMDYyNXJlbSAwLjVyZW07XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC4xNXMsIGJhY2tncm91bmQtY29sb3IgMC4xNXM7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQpO1xuICAgICAgICBiYWNrZ3JvdW5kOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tY29sb3ItcHJpbWFyeSkgNyUsIHRyYW5zcGFyZW50KTtcbiAgICB9XG5cbiAgICAmLmFjdGl2ZSB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbiAgICAgICAgYmFja2dyb3VuZDogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLWNvbG9yLXByaW1hcnkpIDEwJSwgdHJhbnNwYXJlbnQpO1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGxlZnQ6IC0wLjVyZW07XG4gICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgICAgICAgIHdpZHRoOiAzcHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDEuMjVyZW07XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDAgMnB4IDJweCAwO1xuICAgICAgICB9XG4gICAgfVxufVxuXG46cm9vdC5kYXJrIC5zaWRlYmFyLWxpbmsge1xuICAgICY6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tY29sb3ItYWNjZW50KSAxMCUsIHRyYW5zcGFyZW50KTtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQpO1xuICAgIH1cbiAgICAmLmFjdGl2ZSB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1hY2NlbnQpO1xuICAgICAgICBiYWNrZ3JvdW5kOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tY29sb3ItYWNjZW50KSAxMiUsIHRyYW5zcGFyZW50KTtcbiAgICAgICAgJjo6YmVmb3JlIHsgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYWNjZW50KTsgfVxuICAgIH1cbn1cblxuLnNpZGViYXItbGluay1pY29uIHtcbiAgICB3aWR0aDogMXJlbTtcbiAgICBoZWlnaHQ6IDFyZW07XG4gICAgZmxleC1zaHJpbms6IDA7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbi5zaWRlYmFyLWxpbmstdGV4dCB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMTVzLCB3aWR0aCAwLjJzO1xuICAgIGZsZXg6IDE7XG59XG5cbi5zaWRlYmFyLWxpbmstYmFkZ2Uge1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWFjY2VudCk7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIGZvbnQtc2l6ZTogMC42cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgcGFkZGluZzogMC4xcmVtIDAuNHJlbTtcbiAgICBib3JkZXItcmFkaXVzOiA5OTk5cHg7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjE1cztcbn1cblxuLyogUGllZCBkZSBzaWRlYmFyICovXG4uc2lkZWJhci1mb290ZXIge1xuICAgIHBhZGRpbmc6IDAuODc1cmVtIDFyZW07XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1saWdodCk7XG4gICAgZmxleC1zaHJpbms6IDA7XG59XG5cbjpyb290LmRhcmsgLnNpZGViYXItZm9vdGVyIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tY29sb3ItYm9yZGVyKSAyMCUsIHRyYW5zcGFyZW50KTtcbn1cblxuLnNpZGViYXItdXNlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogMC42MjVyZW07XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLnNpZGViYXItdXNlci1hdmF0YXIge1xuICAgIHdpZHRoOiAycmVtO1xuICAgIGhlaWdodDogMnJlbTtcbiAgICBib3JkZXItcmFkaXVzOiA5OTk5cHg7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgdmFyKC0tY29sb3ItYWNjZW50KSwgY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLWNvbG9yLWFjY2VudCkgNzUlLCB2YXIoLS1jb2xvci1wcmltYXJ5KSAyNSUpKTtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGZvbnQtc2l6ZTogMC42NXJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjA1ZW07XG4gICAgZmxleC1zaHJpbms6IDA7XG59XG5cbi5zaWRlYmFyLXVzZXItaW5mbyB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMTVzO1xufVxuXG4uc2lkZWJhci11c2VyLW5hbWUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtc2l6ZTogMC44cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQpO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLnNpZGViYXItdXNlci1yb2xlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXNpemU6IDAuN3JlbTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xufVxuXG4vKiDilIDilIDilIAgWk9ORSBERSBDT05URU5VIOKUgOKUgOKUgCAqL1xuXG4uYWRtaW4tY29udGVudC1hcmVhIHtcbiAgICBmbGV4OiAxO1xuICAgIG1pbi13aWR0aDogMDtcbiAgICBwYWRkaW5nOiAxLjVyZW0gMnJlbTtcbn1cblxuLyog4pSA4pSA4pSAIE9WRVJMQVkgTU9CSUxFIOKUgOKUgOKUgCAqL1xuXG4uYWRtaW4tc2lkZWJhci1vdmVybGF5IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICBpbnNldDogMDtcbiAgICBiYWNrZ3JvdW5kOiByZ2IoMCAwIDAgLyAwLjQpO1xuICAgIHotaW5kZXg6IDI5O1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjI1cztcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuLmFkbWluLWxheW91dC13cmFwcGVyLnNpZGViYXItb3BlbiAuYWRtaW4tc2lkZWJhci1vdmVybGF5IHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xufVxuXG4vKiDilIDilIDilIAgQk9VVE9OIFRPR0dMRSBNT0JJTEUg4pSA4pSA4pSAICovXG5cbi5hZG1pbi1zaWRlYmFyLXRvZ2dsZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogMC41cmVtO1xuICAgIHBhZGRpbmc6IDAuNDM3NXJlbSAwLjg3NXJlbTtcbiAgICBiYWNrZ3JvdW5kOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tY29sb3ItcHJpbWFyeSkgOCUsIHRyYW5zcGFyZW50KTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tY29sb3ItcHJpbWFyeSkgMjAlLCB0cmFuc3BhcmVudCk7XG4gICAgYm9yZGVyLXJhZGl1czogMC41cmVtO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbiAgICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4xNXM7XG4gICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcblxuICAgIGkgeyB3aWR0aDogMXJlbTsgaGVpZ2h0OiAxcmVtOyBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuXG4gICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQ6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1jb2xvci1wcmltYXJ5KSAxNSUsIHRyYW5zcGFyZW50KTtcbiAgICB9XG59XG5cbjpyb290LmRhcmsgLmFkbWluLXNpZGViYXItdG9nZ2xlIHtcbiAgICBiYWNrZ3JvdW5kOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tY29sb3ItYWNjZW50KSAxMCUsIHRyYW5zcGFyZW50KTtcbiAgICBib3JkZXItY29sb3I6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1jb2xvci1hY2NlbnQpIDI1JSwgdHJhbnNwYXJlbnQpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1hY2NlbnQpO1xufVxuXG4vKiDilIDilIDilIAgT3JkaW5hdGV1ciA6IGxlIG1lbnUgZXN0IGZpeMOpIMOgIGwnw6ljcmFuIOKUgOKUgOKUgFxuICAgQ29sbGFudCAoc3RpY2t5KSwgaWwgcmVzdGFpdCBwcmlzb25uaWVyIGRlIHNhIHpvbmUgZXQgc2UgZmFpc2FpdCBwb3Vzc2VyXG4gICBlbiBiYXMgZGUgcGFnZS4gRml4w6kgZW50cmUgbCdlbi10w6p0ZSAoNHJlbSkgZXQgbGUgcGllZCBkZSBwYWdlICgzcmVtKSwgaWxcbiAgIG5lIGJvdWdlIHBsdXMgamFtYWlzIDsgbGUgY29udGVudSBlc3QgZMOpY2Fsw6kgZGUgc2EgbGFyZ2V1ci4gRW4gZGVzc291cyBkZVxuICAgMTAyNHB4LCBsZSBtZW51IHJlZGV2aWVudCBsZSB0aXJvaXIgZGUgbGEgcsOoZ2xlIMKrIFRhYmxldHRlIMK7IHBsdXMgYmFzLiAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDEwMjVweCkge1xuICAgIC5hZG1pbi1uYXYtc2lkZWJhciB7XG4gICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgICAgdG9wOiA0cmVtO1xuICAgICAgICBib3R0b206IDNyZW07XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICB9XG5cbiAgICAuYWRtaW4tbGF5b3V0LXdyYXBwZXIge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDE2cmVtO1xuICAgICAgICB0cmFuc2l0aW9uOiBwYWRkaW5nLWxlZnQgMC4yNXMgZWFzZTtcbiAgICB9XG5cbiAgICAuYWRtaW4tbGF5b3V0LXdyYXBwZXIuc2lkZWJhci1jb2xsYXBzZWQgeyBwYWRkaW5nLWxlZnQ6IDMuNXJlbTsgfVxufVxuXG4vKiDilIDilIDilIAgw4lUQVQgQ09MTEFQU0VEIChkZXNrdG9wKSDilIDilIDilIAgKi9cblxuLmFkbWluLWxheW91dC13cmFwcGVyLnNpZGViYXItY29sbGFwc2VkIC5hZG1pbi1uYXYtc2lkZWJhciB7XG4gICAgd2lkdGg6IDMuNXJlbTtcbn1cblxuLmFkbWluLWxheW91dC13cmFwcGVyLnNpZGViYXItY29sbGFwc2VkIC5zaWRlYmFyLWJyYW5kLFxuLmFkbWluLWxheW91dC13cmFwcGVyLnNpZGViYXItY29sbGFwc2VkIC5zaWRlYmFyLWdyb3VwLWxhYmVsLFxuLmFkbWluLWxheW91dC13cmFwcGVyLnNpZGViYXItY29sbGFwc2VkIC5zaWRlYmFyLWxpbmstYmFkZ2UsXG4uYWRtaW4tbGF5b3V0LXdyYXBwZXIuc2lkZWJhci1jb2xsYXBzZWQgLnNpZGViYXItdXNlci1pbmZvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHdpZHRoOiAwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbi8qIExlIHRleHRlIGR1IGxpZW4gZXN0IGZsZXg6MSwgaWwgZmF1dCBmb3JjZXIgZmxleDowIHBvdXIgbGliw6lyZXIgbGEgcGxhY2UgKi9cbi5hZG1pbi1sYXlvdXQtd3JhcHBlci5zaWRlYmFyLWNvbGxhcHNlZCAuc2lkZWJhci1saW5rLXRleHQge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgZmxleDogMCAwIDBweDtcbiAgICBtYXgtd2lkdGg6IDA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuLmFkbWluLWxheW91dC13cmFwcGVyLnNpZGViYXItY29sbGFwc2VkIC5zaWRlYmFyLWxpbmsge1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHBhZGRpbmc6IDAuNXJlbTtcbiAgICBtYXJnaW46IDAuMDYyNXJlbSAwLjM3NXJlbTtcbn1cblxuLmFkbWluLWxheW91dC13cmFwcGVyLnNpZGViYXItY29sbGFwc2VkIC5zaWRlYmFyLWxpbmsuYWN0aXZlOjpiZWZvcmUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5hZG1pbi1sYXlvdXQtd3JhcHBlci5zaWRlYmFyLWNvbGxhcHNlZCAuc2lkZWJhci1jb2xsYXBzZS1idG4ge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG59XG5cbi5hZG1pbi1sYXlvdXQtd3JhcHBlci5zaWRlYmFyLWNvbGxhcHNlZCAuc2lkZWJhci1oZWFkZXIge1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHBhZGRpbmc6IDAuODc1cmVtIDAuNXJlbTtcbn1cblxuLmFkbWluLWxheW91dC13cmFwcGVyLnNpZGViYXItY29sbGFwc2VkIC5zaWRlYmFyLWZvb3RlciB7XG4gICAgcGFkZGluZzogMC44NzVyZW0gMC41cmVtO1xufVxuXG4uYWRtaW4tbGF5b3V0LXdyYXBwZXIuc2lkZWJhci1jb2xsYXBzZWQgLnNpZGViYXItdXNlciB7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4uYWRtaW4tbGF5b3V0IHtcbiAgICBtaW4taGVpZ2h0OiAxMDB2aDtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iYWNrZ3JvdW5kKTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG46cm9vdC5kYXJrIC5hZG1pbi1sYXlvdXQge1xuICAgIGJhY2tncm91bmQ6IHJhZGlhbC1ncmFkaWVudChlbGxpcHNlIGF0IHRvcCwgY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLWNvbG9yLWJhY2tncm91bmQpIDk1JSwgdmFyKC0tY29sb3ItcHJpbWFyeSkgNSUpIDAlLCB2YXIoLS1jb2xvci1iYWNrZ3JvdW5kKSA3MCUpO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENPTlRBSU5FUlMgUEFSVEFHw4lTXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmFkbWluLWNvbnRhaW5lciB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiAyOHJlbTtcbiAgICBtYXJnaW46IDAgYXV0bztcbn1cblxuLmFkbWluLWNvbnRhaW5lci13aWRlIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXgtd2lkdGg6IDgwcmVtO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIHBhZGRpbmc6IDAgMXJlbTtcbn1cblxuLmFkbWluLW1haW4ge1xuICAgIGZsZXg6IDE7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHBhZGRpbmc6IDJyZW0gMXJlbTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDQVJEUyBBRE1JTklTVFJBVElWRVNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uYWRtaW4tY2FyZCB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmFja2dyb3VuZC1wYW5lbCk7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyKTtcbiAgICBib3JkZXItcmFkaXVzOiAwLjc1cmVtO1xuICAgIHBhZGRpbmc6IDEuNXJlbTtcbiAgICBib3gtc2hhZG93OiAwIDRweCAyMHB4IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1jb2xvci10ZXh0KSA4JSwgdHJhbnNwYXJlbnQpO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjJzO1xufVxuXG4uYWRtaW4tY2FyZC1sZyB7XG4gICAgcGFkZGluZzogMnJlbTtcbiAgICBib3JkZXItcmFkaXVzOiAxcmVtO1xufVxuXG4uYWRtaW4tY2FyZDpob3ZlciB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0ycHgpO1xuICAgIGJveC1zaGFkb3c6IDAgOHB4IDI1cHggY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLWNvbG9yLXRleHQpIDEwJSwgdHJhbnNwYXJlbnQpO1xufVxuXG4vKiBNb2RlIHNvbWJyZSBhdmVjIGdsYXNzbW9ycGhpc20gKi9cbjpyb290LmRhcmsgLmFkbWluLWNhcmQge1xuICAgIGJhY2tncm91bmQ6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1jb2xvci1iYWNrZ3JvdW5kLXBhbmVsKSA5MCUsIHRyYW5zcGFyZW50KTtcbiAgICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoMTBweCk7XG4gICAgYm9yZGVyOiAxcHggc29saWQgY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLWNvbG9yLWJvcmRlcikgNjAlLCB0cmFuc3BhcmVudCk7XG4gICAgYm94LXNoYWRvdzpcbiAgICAgICAgMCA4cHggMzJweCBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tY29sb3ItcHJpbWFyeSkgOCUsIHRyYW5zcGFyZW50KSxcbiAgICAgICAgaW5zZXQgMCAxcHggMCBjb2xvci1taXgoaW4gc3JnYiwgd2hpdGUgMTAlLCB0cmFuc3BhcmVudCk7XG59XG5cbjpyb290LmRhcmsgLmFkbWluLWNhcmQ6aG92ZXIge1xuICAgIGJveC1zaGFkb3c6IDAgOHB4IDMycHggY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLWNvbG9yLXByaW1hcnkpIDEyJSwgdHJhbnNwYXJlbnQpO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEhFQURFUlMgREUgU0VDVElPTlNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uYWRtaW4taGVhZGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbWFyZ2luLWJvdHRvbTogMnJlbTtcbn1cblxuLmFkbWluLXRpdGxlIHtcbiAgICBmb250LXNpemU6IDJyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dCk7XG4gICAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMjVlbTtcbn1cblxuLmFkbWluLXN1YnRpdGxlIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICBtYXJnaW46IDA7XG59XG5cbi8qIEhlYWRlcnMgZGUgcGFnZSBhdmVjIGFjdGlvbnMgKi9cbi5hZG1pbi1wYWdlLWhlYWRlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgbWFyZ2luLWJvdHRvbTogMnJlbTtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgZ2FwOiAxcmVtO1xufVxuXG4vKiBFc3BhY2VtZW50IHBvdXIgbGVzIHBhZ2VzIGVuIGRlaG9ycyBkZSAuYWRtaW4tY29udGVudC1hcmVhIChwYWdlcyBhcHAgdXNlcikgKi9cbi5wYWdlID4gLmFkbWluLXBhZ2UtaGVhZGVyOmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tdG9wOiAxLjVyZW07XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA2NDBweCkge1xuICAgIC5wYWdlID4gLmFkbWluLXBhZ2UtaGVhZGVyOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMS4yNXJlbTtcbiAgICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA0ODBweCkge1xuICAgIC5wYWdlID4gLmFkbWluLXBhZ2UtaGVhZGVyOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMXJlbTtcbiAgICB9XG59XG5cbi5hZG1pbi1wYWdlLXRpdGxlIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiAwLjVyZW07XG4gICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dCk7XG4gICAgbWFyZ2luOiAwIDAgMC4yNXJlbSAwO1xuICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMjVlbTtcbn1cblxuLmFkbWluLXBhZ2Utc3VidGl0bGUge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBtYXJnaW46IDA7XG59XG5cbi5hZG1pbi1wYWdlLWFjdGlvbnMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZ2FwOiAwLjVyZW07XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBHUklMTEVTIEFETUlOSVNUUkFUSVZFU1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5hZG1pbi1ncmlkIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdhcDogMS41cmVtO1xufVxuXG4uYWRtaW4tZ3JpZC0yIHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpdCwgbWlubWF4KDIwcmVtLCAxZnIpKTtcbn1cblxuLmFkbWluLWdyaWQtMyB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maXQsIG1pbm1heCgxNnJlbSwgMWZyKSk7XG59XG5cbi5hZG1pbi1ncmlkLTQge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZml0LCBtaW5tYXgoMTJyZW0sIDFmcikpO1xufVxuXG4vKiBMYXlvdXQgYXZlYyBzaWRlYmFyICovXG4uYWRtaW4tbGF5b3V0LXNpZGViYXIge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMjByZW07XG4gICAgZ2FwOiAycmVtO1xuICAgIG1hcmdpbi10b3A6IDEuNXJlbTtcbn1cblxuLmFkbWluLXNpZGViYXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IDEuNXJlbTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBTRUNUSU9OUyBBVkVDIEhFQURFUlxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5hZG1pbi1zZWN0aW9uIHtcbiAgICBtYXJnaW4tYm90dG9tOiAycmVtO1xufVxuXG4uYWRtaW4tc2VjdGlvbi1oZWFkZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgbWFyZ2luLWJvdHRvbTogMS41cmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAxcmVtO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItbGlnaHQpO1xufVxuXG4uYWRtaW4tc2VjdGlvbi10aXRsZSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogMC40cmVtO1xuICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dCk7XG4gICAgbWFyZ2luOiAwO1xufVxuXG4uYWRtaW4tc2VjdGlvbi1hY3Rpb24ge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIH1cbn1cblxuOnJvb3QuZGFyayAuYWRtaW4tc2VjdGlvbi1hY3Rpb24ge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1hY2NlbnQpO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1hY2NlbnQtZGFyayk7XG4gICAgfVxufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFdJREdFVFMgU0lERUJBUlxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5hZG1pbi13aWRnZXQge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJhY2tncm91bmQtcGFuZWwpO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlcik7XG4gICAgYm9yZGVyLXJhZGl1czogMC43NXJlbTtcbiAgICBwYWRkaW5nOiAxLjVyZW07XG59XG5cbjpyb290LmRhcmsgLmFkbWluLXdpZGdldCB7XG4gICAgYmFja2dyb3VuZDogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLWNvbG9yLWJhY2tncm91bmQtcGFuZWwpIDkwJSwgdHJhbnNwYXJlbnQpO1xuICAgIGJhY2tkcm9wLWZpbHRlcjogYmx1cigxMHB4KTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tY29sb3ItYm9yZGVyKSA2MCUsIHRyYW5zcGFyZW50KTtcbn1cblxuLmFkbWluLXdpZGdldC10aXRsZSB7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQpO1xuICAgIG1hcmdpbjogMCAwIDFyZW0gMDtcbn1cblxuLmFkbWluLXdpZGdldC1hY3Rpb24ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBtYXJnaW4tdG9wOiAxcmVtO1xuICAgIHBhZGRpbmctdG9wOiAxcmVtO1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItbGlnaHQpO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIH1cbn1cblxuOnJvb3QuZGFyayAuYWRtaW4td2lkZ2V0LWFjdGlvbiB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWFjY2VudCk7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLWNvbG9yLWJvcmRlcikgMjUlLCB0cmFuc3BhcmVudCk7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgTElTVEVTIEQnQUNUSU9OU1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5hZG1pbi1hY3Rpb25zLWxpc3Qge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IDAuNXJlbTtcbn1cblxuLmFkbWluLWFjdGlvbi1pdGVtIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiAwLjc1cmVtO1xuICAgIHBhZGRpbmc6IDAuNzVyZW07XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQpO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBib3JkZXItcmFkaXVzOiAwLjVyZW07XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzO1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLWNvbG9yLWJhY2tncm91bmQpIDUwJSwgdHJhbnNwYXJlbnQpO1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dCk7XG4gICAgfVxuXG4gICAgaSB7XG4gICAgICAgIHdpZHRoOiAxcmVtO1xuICAgICAgICBoZWlnaHQ6IDFyZW07XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG4gICAgfVxufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEZPT1RFUiBBRE1JTlxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5hZG1pbi1mb290ZXIge1xuICAgIHBhZGRpbmc6IDEuNXJlbTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1saWdodCk7XG4gICAgbWFyZ2luLXRvcDogYXV0bztcbn1cblxuLmFkbWluLWZvb3RlciBwIHtcbiAgICAvKiAjNmI3MjgwIHN1ciBmb25kIGNsYWlyID0gNC43OjEg4pyFIEFBICovXG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbXV0ZWQtYWNjZXNzaWJsZSwgIzZiNzI4MCk7XG4gICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgIG1hcmdpbjogMDtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBBRE1JTiBNT0RVTEUgSFVCIChkYXNoYm9hcmQgb3ZlcnZpZXcpXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmFkbWluLW1vZHVsZS1odWIge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maWxsLCBtaW5tYXgoMTdyZW0sIDFmcikpO1xuICAgIGdhcDogMS4yNXJlbTtcbn1cblxuLmFkbWluLW1vZHVsZS1jYXJkIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iYWNrZ3JvdW5kLXBhbmVsKTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItbGlnaHQpO1xuICAgIGJvcmRlci1yYWRpdXM6IDAuODc1cmVtO1xuICAgIHBhZGRpbmc6IDEuMjVyZW07XG4gICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuMnMsIGJveC1zaGFkb3cgMC4ycztcblxuICAgICY6aG92ZXIge1xuICAgICAgICBib3JkZXItY29sb3I6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1jb2xvci1wcmltYXJ5KSAzMCUsIHRyYW5zcGFyZW50KTtcbiAgICAgICAgYm94LXNoYWRvdzogMCA0cHggMjBweCBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tY29sb3ItdGV4dCkgNiUsIHRyYW5zcGFyZW50KTtcbiAgICB9XG59XG5cbjpyb290LmRhcmsgLmFkbWluLW1vZHVsZS1jYXJkIHtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuXG4gICAgJjpob3ZlciB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLWNvbG9yLWFjY2VudCkgMjUlLCB0cmFuc3BhcmVudCk7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgNHB4IDIwcHggY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLWNvbG9yLXByaW1hcnkpIDEwJSwgdHJhbnNwYXJlbnQpO1xuICAgIH1cbn1cblxuLmFkbWluLW1vZHVsZS1jYXJkLWhlYWRlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICBnYXA6IDAuODc1cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gICAgcGFkZGluZy1ib3R0b206IDAuODc1cmVtO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItbGlnaHQpO1xufVxuXG46cm9vdC5kYXJrIC5hZG1pbi1tb2R1bGUtY2FyZC1oZWFkZXIge1xuICAgIGJvcmRlci1ib3R0b20tY29sb3I6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1jb2xvci1ib3JkZXIpIDIwJSwgdHJhbnNwYXJlbnQpO1xufVxuXG4uYWRtaW4tbW9kdWxlLWljb24ge1xuICAgIHdpZHRoOiAyLjVyZW07XG4gICAgaGVpZ2h0OiAyLjVyZW07XG4gICAgYm9yZGVyLXJhZGl1czogMC42MjVyZW07XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuXG4gICAgaSB7IHdpZHRoOiAxLjI1cmVtOyBoZWlnaHQ6IDEuMjVyZW07IHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG59XG5cbi5hZG1pbi1tb2R1bGUtaWNvbi1wcmltYXJ5ICB7IGJhY2tncm91bmQ6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1jb2xvci1wcmltYXJ5KSAxMiUsIHRyYW5zcGFyZW50KTsgY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpOyB9XG4uYWRtaW4tbW9kdWxlLWljb24tc3VjY2VzcyAgeyBiYWNrZ3JvdW5kOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tY29sb3Itc3VjY2VzcykgMTIlLCB0cmFuc3BhcmVudCk7IGNvbG9yOiB2YXIoLS1jb2xvci1zdWNjZXNzKTsgfVxuLmFkbWluLW1vZHVsZS1pY29uLWFjY2VudCAgIHsgYmFja2dyb3VuZDogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLWNvbG9yLWFjY2VudCkgIDEyJSwgdHJhbnNwYXJlbnQpOyBjb2xvcjogdmFyKC0tY29sb3ItYWNjZW50KTsgfVxuLmFkbWluLW1vZHVsZS1pY29uLXdhcm5pbmcgIHsgYmFja2dyb3VuZDogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLWNvbG9yLXdhcm5pbmcpIDEyJSwgdHJhbnNwYXJlbnQpOyBjb2xvcjogdmFyKC0tY29sb3Itd2FybmluZyk7IH1cbi5hZG1pbi1tb2R1bGUtaWNvbi1pbmZvICAgICB7IGJhY2tncm91bmQ6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1jb2xvci1pbmZvKSAgICAxMiUsIHRyYW5zcGFyZW50KTsgY29sb3I6IHZhcigtLWNvbG9yLWluZm8pOyB9XG4uYWRtaW4tbW9kdWxlLWljb24tbXV0ZWQgICAgeyBiYWNrZ3JvdW5kOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpIDEwJSwgdHJhbnNwYXJlbnQpOyBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpOyB9XG5cbi5hZG1pbi1tb2R1bGUtdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQpO1xuICAgIG1hcmdpbjogMCAwIDAuMTI1cmVtO1xufVxuXG4uYWRtaW4tbW9kdWxlLWRlc2Mge1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xuICAgIG1hcmdpbjogMDtcbiAgICBsaW5lLWhlaWdodDogMS40O1xufVxuXG4uYWRtaW4tbW9kdWxlLWxpbmtzIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IDAuMTI1cmVtO1xuXG4gICAgbGkgYSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGdhcDogMC41cmVtO1xuICAgICAgICBwYWRkaW5nOiAwLjMxMjVyZW0gMC41cmVtO1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwLjM3NXJlbTtcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC4xNXMsIGJhY2tncm91bmQtY29sb3IgMC4xNXM7XG5cbiAgICAgICAgaSB7IHdpZHRoOiAwLjg3NXJlbTsgaGVpZ2h0OiAwLjg3NXJlbTsgZmxleC1zaHJpbms6IDA7IHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tY29sb3ItcHJpbWFyeSkgNyUsIHRyYW5zcGFyZW50KTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuOnJvb3QuZGFyayAuYWRtaW4tbW9kdWxlLWxpbmtzIGxpIGE6aG92ZXIge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1hY2NlbnQpO1xuICAgIGJhY2tncm91bmQ6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1jb2xvci1hY2NlbnQpIDglLCB0cmFuc3BhcmVudCk7XG59XG5cbi5hZG1pbi1tb2R1bGUtYmFkZ2Uge1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWRhbmdlcik7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIGZvbnQtc2l6ZTogMC42cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgcGFkZGluZzogMC4xcmVtIDAuNHJlbTtcbiAgICBib3JkZXItcmFkaXVzOiA5OTk5cHg7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgVEhFTUUgVE9HR0xFIFBPU0lUSU9OTkFCTEVcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uYWRtaW4tdGhlbWUtdG9nZ2xlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAxLjVyZW07XG4gICAgcmlnaHQ6IDEuNXJlbTtcbiAgICB6LWluZGV4OiA1MDtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBSRVNQT05TSVZFIEFETUlOXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBSRVNQT05TSVZFIEFETUlOXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyog4pSA4pSAIFRhYmxldHRlIHBheXNhZ2UgKOKJpCAxMDI0cHgpIOKUgOKUgCAqL1xuQG1lZGlhIChtYXgtd2lkdGg6IDEwMjRweCkge1xuICAgIC8qIFNpZGViYXIgOiBkcmF3ZXIgZml4ZSAqL1xuICAgIC5hZG1pbi1uYXYtc2lkZWJhciB7XG4gICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgICAgdG9wOiA0cmVtO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGhlaWdodDogY2FsYygxMDB2aCAtIDRyZW0pO1xuICAgICAgICB3aWR0aDogMTZyZW0gIWltcG9ydGFudDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTtcbiAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMjVzIGVhc2U7XG4gICAgICAgIHotaW5kZXg6IDMwO1xuICAgIH1cblxuICAgIC5hZG1pbi1zaWRlYmFyLW92ZXJsYXkgeyBkaXNwbGF5OiBibG9jazsgfVxuXG4gICAgLmFkbWluLWxheW91dC13cmFwcGVyLnNpZGViYXItb3BlbiAuYWRtaW4tbmF2LXNpZGViYXIge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgICAgIGJveC1zaGFkb3c6IDRweCAwIDI0cHggcmdiKDAgMCAwIC8gMC4xNSk7XG4gICAgfVxuXG4gICAgLyogRm9yY2VyIGxlIG1vZGUgZXhwYW5kZWQgZGFucyBsZSBkcmF3ZXIgKi9cbiAgICAuYWRtaW4tbGF5b3V0LXdyYXBwZXIuc2lkZWJhci1jb2xsYXBzZWQgLnNpZGViYXItYnJhbmQsXG4gICAgLmFkbWluLWxheW91dC13cmFwcGVyLnNpZGViYXItY29sbGFwc2VkIC5zaWRlYmFyLWdyb3VwLWxhYmVsLFxuICAgIC5hZG1pbi1sYXlvdXQtd3JhcHBlci5zaWRlYmFyLWNvbGxhcHNlZCAuc2lkZWJhci1saW5rLXRleHQsXG4gICAgLmFkbWluLWxheW91dC13cmFwcGVyLnNpZGViYXItY29sbGFwc2VkIC5zaWRlYmFyLWxpbmstYmFkZ2UsXG4gICAgLmFkbWluLWxheW91dC13cmFwcGVyLnNpZGViYXItY29sbGFwc2VkIC5zaWRlYmFyLXVzZXItaW5mbyB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IGF1dG87XG4gICAgfVxuXG4gICAgLmFkbWluLWxheW91dC13cmFwcGVyLnNpZGViYXItY29sbGFwc2VkIC5zaWRlYmFyLWxpbmsge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICAgIHBhZGRpbmc6IDAuNDM3NXJlbSAxcmVtO1xuICAgICAgICBtYXJnaW46IDAuMDYyNXJlbSAwLjVyZW07XG4gICAgfVxuXG4gICAgLmFkbWluLWxheW91dC13cmFwcGVyLnNpZGViYXItY29sbGFwc2VkIC5zaWRlYmFyLWhlYWRlciB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgcGFkZGluZzogMC44NzVyZW0gMXJlbTtcbiAgICB9XG5cbiAgICAuYWRtaW4tbGF5b3V0LXdyYXBwZXIuc2lkZWJhci1jb2xsYXBzZWQgLnNpZGViYXItZm9vdGVyIHtcbiAgICAgICAgcGFkZGluZzogMC44NzVyZW0gMXJlbTtcbiAgICB9XG5cbiAgICAuYWRtaW4tbGF5b3V0LXdyYXBwZXIuc2lkZWJhci1jb2xsYXBzZWQgLnNpZGViYXItdXNlciB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICB9XG5cbiAgICAvKiBUb2dnbGUgdmlzaWJsZSwgY29sbGFwc2UgY2FjaMOpICovXG4gICAgLmFkbWluLXNpZGViYXItdG9nZ2xlIHsgZGlzcGxheTogZmxleDsgfVxuICAgIC5zaWRlYmFyLWNvbGxhcHNlLWJ0biB7IGRpc3BsYXk6IG5vbmU7IH1cblxuICAgIC8qIExheW91dCBncmlsbGVzICovXG4gICAgLmFkbWluLWxheW91dC1zaWRlYmFyIHsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7IGdhcDogMS41cmVtOyB9XG4gICAgLmFkbWluLXNpZGViYXIgeyBvcmRlcjogLTE7IH1cbiAgICAuYWRtaW4tY29udGVudC1hcmVhIHsgcGFkZGluZzogMS4yNXJlbSAxLjVyZW07IH1cblxuICAgIC5hZG1pbi1ncmlkLTIsXG4gICAgLmFkbWluLWdyaWQtMyxcbiAgICAuYWRtaW4tZ3JpZC00IHtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maXQsIG1pbm1heCgxNnJlbSwgMWZyKSk7XG4gICAgfVxufVxuXG4vKiDilIDilIAgVGFibGV0dGUgcG9ydHJhaXQgKOKJpCA3NjhweCkg4pSA4pSAICovXG5AbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAuYWRtaW4tdGhlbWUtdG9nZ2xlIHsgdG9wOiAxcmVtOyByaWdodDogMXJlbTsgfVxuICAgIC5hZG1pbi1tYWluIHsgcGFkZGluZzogMXJlbTsgfVxuICAgIC5hZG1pbi1jYXJkIHsgcGFkZGluZzogMXJlbTsgfVxuICAgIC5hZG1pbi1jYXJkLWxnIHsgcGFkZGluZzogMS41cmVtOyB9XG4gICAgLmFkbWluLXRpdGxlIHsgZm9udC1zaXplOiAxLjc1cmVtOyB9XG5cbiAgICAuYWRtaW4tcGFnZS1oZWFkZXIge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICB9XG5cbiAgICAuYWRtaW4tcGFnZS1hY3Rpb25zIHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgfVxuXG4gICAgLmFkbWluLXNlY3Rpb24taGVhZGVyIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgICAgIGdhcDogMXJlbTtcbiAgICB9XG5cbiAgICAuYWRtaW4tZ3JpZC0yLFxuICAgIC5hZG1pbi1ncmlkLTMsXG4gICAgLmFkbWluLWdyaWQtNCB7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmcjtcbiAgICB9XG59XG5cbi8qIOKUgOKUgCBNb2JpbGUgKOKJpCA2NDBweCkg4pSA4pSAICovXG5AbWVkaWEgKG1heC13aWR0aDogNjQwcHgpIHtcbiAgICAuYWRtaW4tZ3JpZC0yLFxuICAgIC5hZG1pbi1ncmlkLTMsXG4gICAgLmFkbWluLWdyaWQtNCB7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyOyB9XG5cbiAgICAuYWRtaW4tcGFnZS10aXRsZSB7IGZvbnQtc2l6ZTogMS4yNXJlbTsgfVxuICAgIC5hZG1pbi1jYXJkIHsgcGFkZGluZzogMC44NzVyZW07IH1cbiAgICAuYWRtaW4tY2FyZC1sZyB7IHBhZGRpbmc6IDEuMjVyZW07IH1cbn1cblxuLyog4pSA4pSAIFRyw6hzIHBldGl0cyDDqWNyYW5zICjiiaQgNDgwcHgpIOKUgOKUgCAqL1xuQG1lZGlhIChtYXgtd2lkdGg6IDQ4MHB4KSB7XG4gICAgLmFkbWluLW1haW4geyBwYWRkaW5nOiAwLjc1cmVtOyB9XG4gICAgLmFkbWluLWNhcmQgeyBwYWRkaW5nOiAwLjc1cmVtOyB9XG4gICAgLmFkbWluLWNhcmQtbGcgeyBwYWRkaW5nOiAxcmVtOyB9XG4gICAgLmFkbWluLXRpdGxlIHsgZm9udC1zaXplOiAxLjVyZW07IH1cbiAgICAuYWRtaW4tcGFnZS10aXRsZSB7IGZvbnQtc2l6ZTogMS4xMjVyZW07IH1cbiAgICAuYWRtaW4tcGFnZS1hY3Rpb25zIHsgZ2FwOiAwLjM3NXJlbTsgfVxufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFBBR0UgQVVUSCDigJQgY2VudHJhZ2UgdmVydGljYWwgZHUgZm9ybXVsYWlyZVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5hdXRoLXBhZ2Uge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBtaW4taGVpZ2h0OiBjYWxjKDEwMHZoIC0gNHJlbSAtIDIuNzVyZW0pOyAvKiAtIGhlYWRlciAtIGZvb3RlciAqL1xuICAgIHBhZGRpbmc6IDJyZW0gMXJlbTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICDDiUzDiU1FTlRTIFNQw4lDSUZJUVVFUyBBVVRIIChDT01QQVRJQklMSVTDiSlcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKiBMb2dvIHNlY3VyaXR5IHNww6ljaWZpcXVlICovXG4uYXV0aC1sb2dvIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XG4gICAgZ2FwOiAwLjM3NXJlbTtcbiAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMWVtO1xuICAgIG1hcmdpbi1ib3R0b206IDEuNXJlbTtcbn1cblxuLmF1dGgtbG9nby1ncm91cCB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbiAgICBmb250LXdlaWdodDogNDAwO1xufVxuXG4uYXV0aC1sb2dvLWJyYW5kIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItYWNjZW50KTtcbiAgICBmb250LXdlaWdodDogODAwO1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cblxuLyogQXV0aCBiYWNrIGJ1dHRvbiAqL1xuLmF1dGgtYmFjayB7XG4gICAgbWFyZ2luLWJvdHRvbTogMnJlbTtcbn1cblxuLyogQXV0aCBhY3Rpb25zICovXG4uYXV0aC1hY3Rpb25zIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbWFyZ2luLXRvcDogMS41cmVtO1xufVxuXG4uYXV0aC1oZWxwIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgbWFyZ2luOiAwO1xufVxuXG4uYXV0aC1saW5rIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgfVxufVxuXG46cm9vdC5kYXJrIC5hdXRoLWxpbmsge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1hY2NlbnQpO1xufVxuXG4vKiBBdXRoIGZvcm0gKi9cbi5hdXRoLWZvcm0gLmZvcm0tZ3JvdXAge1xuICAgIG1hcmdpbi1ib3R0b206IDEuNXJlbTtcbn1cblxuLmF1dGgtZm9ybSAuZm9ybS1ncm91cDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4vKiBMYWJlbHMgYXZlYyBpY8O0bmVzICovXG4uZm9ybS1sYWJlbC1pY29uIHtcbiAgICB3aWR0aDogMXJlbTtcbiAgICBoZWlnaHQ6IDFyZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjVyZW07XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuLyogSW5wdXQgZ3JvdXAgYXZlYyBib3V0b24gKi9cbi5mb3JtLWlucHV0LWdyb3VwIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4uZm9ybS1pbnB1dC1ncm91cCAuZm9ybS1jb250cm9sIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAzcmVtO1xufVxuXG4uZm9ybS1pbnB1dC1hY3Rpb24ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMC43NXJlbTtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBwYWRkaW5nOiAwLjI1cmVtO1xuICAgIGJvcmRlci1yYWRpdXM6IDAuMjVyZW07XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC4xNXM7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQpO1xuICAgIH1cblxuICAgIC5wYXNzd29yZC1oaWRlIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAmLmFjdGl2ZSB7XG4gICAgICAgIC5wYXNzd29yZC1zaG93IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgICAgLnBhc3N3b3JkLWhpZGUge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8qIE9wdGlvbnMgZHUgZm9ybXVsYWlyZSAqL1xuLmZvcm0tb3B0aW9ucyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW07XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGdhcDogMXJlbTtcbn1cblxuLmZvcm0tbGluayB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC4xNXM7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnktZGFyayk7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIH1cbn1cblxuOnJvb3QuZGFyayAuZm9ybS1saW5rIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItYWNjZW50KTtcblxuICAgICY6aG92ZXIge1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItYWNjZW50LWRhcmspO1xuICAgIH1cbn1cblxuLyogQm91dG9uIHBsZWluZSBsYXJnZXVyICovXG4uYnRuLWZ1bGwge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIERBVEEgVEFCTEUg4oCUIENvbXBvc2FudCB0YWJsZWF1IHLDqXV0aWxpc2FibGVcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udGFibGUtd3JhcHBlciB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICBib3JkZXItcmFkaXVzOiAwLjc1cmVtO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1saWdodCk7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmFja2dyb3VuZC1wYW5lbCk7XG4gICAgYm94LXNoYWRvdzogMCAycHggMTJweCBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tY29sb3ItdGV4dCkgNSUsIHRyYW5zcGFyZW50KTtcblxuICAgIC8qIEZvY3VzIHZpc2libGUgcG91ciBsJ2FjY2Vzc2liaWxpdMOpICovXG4gICAgJjpmb2N1cy12aXNpYmxlIHtcbiAgICAgICAgb3V0bGluZTogMnB4IHNvbGlkIHZhcigtLWNvbG9yLXByaW1hcnkpO1xuICAgICAgICBvdXRsaW5lLW9mZnNldDogMnB4O1xuICAgIH1cbn1cblxuOnJvb3QuZGFyayAudGFibGUtd3JhcHBlciB7XG4gICAgYmFja2dyb3VuZDogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLWNvbG9yLWJhY2tncm91bmQtcGFuZWwpIDkyJSwgdHJhbnNwYXJlbnQpO1xuICAgIGJvcmRlci1jb2xvcjogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLWNvbG9yLWJvcmRlcikgMzAlLCB0cmFuc3BhcmVudCk7XG4gICAgYm94LXNoYWRvdzpcbiAgICAgICAgMCA0cHggMjRweCBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tY29sb3ItcHJpbWFyeSkgOCUsIHRyYW5zcGFyZW50KSxcbiAgICAgICAgaW5zZXQgMCAxcHggMCBjb2xvci1taXgoaW4gc3JnYiwgd2hpdGUgNSUsIHRyYW5zcGFyZW50KTtcbn1cblxuLmRhdGEtdGFibGUge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gICAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gICAgdGFibGUtbGF5b3V0OiBhdXRvO1xufVxuXG4vKiDilIDilIAgRW4tdMOqdGVzIOKUgOKUgCAqL1xuLnRoIHtcbiAgICBwYWRkaW5nOiAwLjc1cmVtIDFyZW07XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAvKiBNYWp1c2N1bGVzLCBxdWkgc8OpcGFyZW50IGJpZW4gbGVzIGVuLXTDqnRlcyBkZXMgZG9ubsOpZXMgOyBlbiAxMnB4XG4gICAgICAgKDExcHggc2UgbGlzYWl0IG1hbCkgYXZlYyB1biBlc3BhY2VtZW50IGzDqWdlci4gKi9cbiAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjA0ZW07XG4gICAgLyogIzZiNzI4MCBzdXIgZm9uZCBjbGFpciA9IDQuNzoxIOKchSBBQSAocmVtcGxhY2UgLS1jb2xvci10ZXh0LW11dGVkIHF1aSDDqXRhaXQgfjIuMjoxKSAqL1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LW11dGVkLWFjY2Vzc2libGUsICM2YjcyODApO1xuICAgIGJhY2tncm91bmQ6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1jb2xvci1iYWNrZ3JvdW5kKSA1MCUsIHRyYW5zcGFyZW50KTtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLWxpZ2h0KTtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xufVxuXG46cm9vdC5kYXJrIC50aCB7XG4gICAgYmFja2dyb3VuZDogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLWNvbG9yLWJhY2tncm91bmQpIDMwJSwgdHJhbnNwYXJlbnQpO1xuICAgIGJvcmRlci1ib3R0b20tY29sb3I6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1jb2xvci1ib3JkZXIpIDI1JSwgdHJhbnNwYXJlbnQpO1xuICAgIC8qIC0tY29sb3ItdGV4dC1tdXRlZC1hY2Nlc3NpYmxlIGVuIGRhcmsgPSAjOTRhM2I4ID0gNy4yOjEg4pyFIEFBQSAqL1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LW11dGVkLWFjY2Vzc2libGUpO1xufVxuXG4udGgtLWNlbnRlciB7IHRleHQtYWxpZ246IGNlbnRlcjsgfVxuLnRoLS1yaWdodCAgeyB0ZXh0LWFsaWduOiByaWdodDsgIH1cblxuLnRoLS1zb3J0YWJsZSB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuMTVzLCBiYWNrZ3JvdW5kLWNvbG9yIDAuMTVzO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG4gICAgICAgIGJhY2tncm91bmQ6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1jb2xvci1wcmltYXJ5KSA1JSwgdHJhbnNwYXJlbnQpO1xuICAgIH1cblxuICAgICY6Zm9jdXMtdmlzaWJsZSB7XG4gICAgICAgIG91dGxpbmU6IDJweCBzb2xpZCB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbiAgICAgICAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7XG4gICAgfVxufVxuXG46cm9vdC5kYXJrIC50aC0tc29ydGFibGU6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1jb2xvci1hY2NlbnQpIDglLCB0cmFuc3BhcmVudCk7XG59XG5cbi50aC0tc29ydGVkIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG4gICAgYmFja2dyb3VuZDogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLWNvbG9yLXByaW1hcnkpIDYlLCB0cmFuc3BhcmVudCk7XG59XG5cbjpyb290LmRhcmsgLnRoLS1zb3J0ZWQge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1hY2NlbnQpO1xuICAgIGJhY2tncm91bmQ6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1jb2xvci1hY2NlbnQpIDEwJSwgdHJhbnNwYXJlbnQpO1xufVxuXG4udGgtLWhpZGRlbi1zbSB7IC8qIG1hc3F1w6kgdmlhIG1lZGlhIHF1ZXJ5ICovIH1cblxuLnRoLWNvbnRlbnQge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiAwLjNyZW07XG59XG5cbi50aC1zb3J0LWljb24ge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIG9wYWNpdHk6IDAuNTtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMTVzO1xuXG4gICAgaSwgc3ZnIHsgd2lkdGg6IDAuNzVyZW07IGhlaWdodDogMC43NXJlbTsgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cbn1cblxuLnRoLS1zb3J0ZWQgLnRoLXNvcnQtaWNvbixcbi50aC0tc29ydGFibGU6aG92ZXIgLnRoLXNvcnQtaWNvbiB7XG4gICAgb3BhY2l0eTogMTtcbn1cblxuLyog4pSA4pSAIExpZ25lcyDilIDilIAgKi9cbi50ciB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1saWdodCk7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjEycztcblxuICAgICY6bGFzdC1jaGlsZCB7IGJvcmRlci1ib3R0b206IG5vbmU7IH1cblxuICAgICY6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tY29sb3ItcHJpbWFyeSkgMyUsIHRyYW5zcGFyZW50KTtcbiAgICB9XG59XG5cbjpyb290LmRhcmsgLnRyIHtcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tY29sb3ItYm9yZGVyKSAxNSUsIHRyYW5zcGFyZW50KTtcblxuICAgICY6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tY29sb3ItYWNjZW50KSA1JSwgdHJhbnNwYXJlbnQpO1xuICAgIH1cbn1cblxuLnRyLS1kaXNhYmxlZCB7XG4gICAgb3BhY2l0eTogMC42O1xuICAgIGJhY2tncm91bmQ6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1jb2xvci1iYWNrZ3JvdW5kKSAzMCUsIHRyYW5zcGFyZW50KTtcbn1cblxuLyog4pSA4pSAIENlbGx1bGVzIOKUgOKUgCAqL1xuLnRkIHtcbiAgICBwYWRkaW5nOiAwLjc1cmVtIDFyZW07XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dCk7XG59XG5cbi50ZC0tY2VudGVyIHsgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4udGQtLXJpZ2h0ICB7IHRleHQtYWxpZ246IHJpZ2h0OyAgfVxuXG4udGQtLW11dGVkIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xuICAgIGZvbnQtc2l6ZTogMC44cmVtO1xufVxuXG4udGQtLW1vbm8ge1xuICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LW1vbm8sIG1vbm9zcGFjZSk7XG4gICAgZm9udC1zaXplOiAwLjc1cmVtO1xufVxuXG4udGQtbGluayB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC4xNXM7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICB9XG59XG5cbjpyb290LmRhcmsgLnRkLWxpbms6aG92ZXIge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1hY2NlbnQpO1xufVxuXG4udGQtLW5ldmVyIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1tdXRlZCk7XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbn1cblxuLyogQm91dG9ucyDCqyBTZSBjb25uZWN0ZXIgZW4gdGFudCBxdWUgwrsgKHVuIHBhciB0csOpc29yaWVyIGRhbnMgbGEgbGlzdGUgZGVzIGdyb3VwZXMpICovXG4uc3dpdGNoLXVzZXItZm9ybSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbjogMDtcbn1cblxuLnN3aXRjaC11c2VyLWxpc3Qge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGdhcDogMC4zNzVyZW07XG59XG5cbi8qIENlbGx1bGUgdmlkZSAobm8gcmVzdWx0cykgKi9cbi50ZC1lbXB0eSB7XG4gICAgcGFkZGluZzogM3JlbSAxcmVtO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLmVtcHR5LXN0YXRlLWlubGluZSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiAwLjc1cmVtO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LW11dGVkKTtcblxuICAgIGksIHN2ZyB7IHdpZHRoOiAyLjVyZW07IGhlaWdodDogMi41cmVtOyBvcGFjaXR5OiAwLjQ7IH1cbiAgICBwIHsgbWFyZ2luOiAwOyBmb250LXNpemU6IDAuODc1cmVtOyB9XG59XG5cbi8qIOKUgOKUgCBDZWxsdWxlIHVzZXIgKGF2YXRhciArIGluZm9zKSDilIDilIAgKi9cbi51c2VyLWNlbGwge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDAuNzVyZW07XG59XG5cbi51c2VyLWF2YXRhciB7XG4gICAgd2lkdGg6IDJyZW07XG4gICAgaGVpZ2h0OiAycmVtO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBiYWNrZ3JvdW5kOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tY29sb3ItcHJpbWFyeSkgMTUlLCB0cmFuc3BhcmVudCk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBmbGV4LXNocmluazogMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuXG46cm9vdC5kYXJrIC51c2VyLWF2YXRhciB7XG4gICAgYmFja2dyb3VuZDogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLWNvbG9yLWFjY2VudCkgMjAlLCB0cmFuc3BhcmVudCk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWFjY2VudCk7XG59XG5cbi51c2VyLWF2YXRhci0tc20ge1xuICAgIHdpZHRoOiAxLjc1cmVtO1xuICAgIGhlaWdodDogMS43NXJlbTtcbiAgICBmb250LXNpemU6IDAuN3JlbTtcbn1cblxuLnVzZXItY2VsbC1pbmZvIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiAwLjEyNXJlbTtcbiAgICBtaW4td2lkdGg6IDA7XG59XG5cbi51c2VyLWNlbGwtbmFtZSB7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dCk7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xufVxuXG4udXNlci1jZWxsLXN1YiB7XG4gICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgIC8qICM2YjcyODAgc3VyIGZvbmQgY2xhaXIgPSA0Ljc6MSDinIUgQUEgKi9cbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1tdXRlZC1hY2Nlc3NpYmxlLCAjNmI3MjgwKTtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG59XG5cbi8qIOKUgOKUgCBDZWxsdWxlIGFjdGlvbnMg4pSA4pSAICovXG4udGQtLWFjdGlvbnMgeyB0ZXh0LWFsaWduOiByaWdodDsgfVxuXG4udGQtYWN0aW9ucy1ncm91cCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgZ2FwOiAwLjI1cmVtO1xufVxuXG4vKiDilIDilIAgQmFkZ2VzIOKUgOKUgCAqL1xuLmJhZGdlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogMC4yNXJlbTtcbiAgICBwYWRkaW5nOiAwLjJyZW0gMC41NXJlbTtcbiAgICBib3JkZXItcmFkaXVzOiA5OTk5cHg7XG4gICAgZm9udC1zaXplOiAwLjY4NzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4wMmVtO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi5iYWRnZS0tc3VjY2VzcyB7XG4gICAgYmFja2dyb3VuZDogY29sb3ItbWl4KGluIHNyZ2IsICMyMmM1NWUgMTIlLCB0cmFuc3BhcmVudCk7XG4gICAgLyogIzE2NjUzNCBzdXIgZm9uZCB2ZXJ0IGNsYWlyID0gNi4xOjEg4pyFIEFBQSAocmVtcGxhY2UgIzE2YTM0YSA9IDM6MSDinYwpICovXG4gICAgY29sb3I6ICMxNjY1MzQ7XG59XG5cbi5iYWRnZS0tZGFuZ2VyIHtcbiAgICBiYWNrZ3JvdW5kOiBjb2xvci1taXgoaW4gc3JnYiwgI2VmNDQ0NCAxMiUsIHRyYW5zcGFyZW50KTtcbiAgICBjb2xvcjogI2RjMjYyNjtcbn1cblxuLmJhZGdlLS13YXJuaW5nIHtcbiAgICBiYWNrZ3JvdW5kOiBjb2xvci1taXgoaW4gc3JnYiwgI2Y1OWUwYiAxMiUsIHRyYW5zcGFyZW50KTtcbiAgICAvKiAjOTI0MDBlIHN1ciBmb25kIGFtYnJlIGNsYWlyID0gNi40OjEg4pyFIEFBQSAocmVtcGxhY2UgI2Q5NzcwNiA9IDIuOToxIOKdjCkgKi9cbiAgICBjb2xvcjogIzkyNDAwZTtcbn1cblxuLmJhZGdlLS1pbmZvIHtcbiAgICBiYWNrZ3JvdW5kOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tY29sb3ItcHJpbWFyeSkgMTIlLCB0cmFuc3BhcmVudCk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xufVxuXG4vKiBHcm91cGVzIGQndW4gdXRpbGlzYXRldXIgOiB1bmUgcGFzdGlsbGUgcGFyIGNvZGUsIGxpZW4gdmVycyBsZSByZWxldsOpLiAqL1xuLmdyb3VwZS1iYWRnZXMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGdhcDogMC4yNXJlbTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xufVxuXG4uYmFkZ2UtLWdyb3VwZSB7XG4gICAgYmFja2dyb3VuZDogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLWNvbG9yLXByaW1hcnkpIDEwJSwgdHJhbnNwYXJlbnQpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1tb25vLCB1aS1tb25vc3BhY2UsIG1vbm9zcGFjZSk7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi5iYWRnZS0tZ3JvdXBlOmhvdmVyIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cblxuLmJhZGdlLS1ncm91cGU6Zm9jdXMtdmlzaWJsZSB7XG4gICAgb3V0bGluZTogMnB4IHNvbGlkIHZhcigtLWNvbG9yLXByaW1hcnkpO1xuICAgIG91dGxpbmUtb2Zmc2V0OiAycHg7XG59XG5cbjpyb290LmRhcmsgLmJhZGdlLS1zdWNjZXNzIHsgYmFja2dyb3VuZDogY29sb3ItbWl4KGluIHNyZ2IsICMyMmM1NWUgMTglLCB0cmFuc3BhcmVudCk7IGNvbG9yOiAjNGFkZTgwOyB9XG46cm9vdC5kYXJrIC5iYWRnZS0tZGFuZ2VyICB7IGJhY2tncm91bmQ6IGNvbG9yLW1peChpbiBzcmdiLCAjZWY0NDQ0IDE4JSwgdHJhbnNwYXJlbnQpOyBjb2xvcjogI2Y4NzE3MTsgfVxuOnJvb3QuZGFyayAuYmFkZ2UtLXdhcm5pbmcgeyBiYWNrZ3JvdW5kOiBjb2xvci1taXgoaW4gc3JnYiwgI2Y1OWUwYiAxOCUsIHRyYW5zcGFyZW50KTsgY29sb3I6ICNmYmJmMjQ7IH1cbjpyb290LmRhcmsgLmJhZGdlLS1pbmZvICAgIHsgYmFja2dyb3VuZDogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLWNvbG9yLWFjY2VudCkgMTglLCB0cmFuc3BhcmVudCk7IGNvbG9yOiB2YXIoLS1jb2xvci1hY2NlbnQpOyB9XG5cbi8qIOKUgOKUgCBCb3V0b25zIGljw7RuZXMgKGFjdGlvbnMgZGUgbGlnbmUpIOKUgOKUgCAqL1xuLmJ0bi1pY29uIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHdpZHRoOiAxLjg3NXJlbTtcbiAgICBoZWlnaHQ6IDEuODc1cmVtO1xuICAgIGJvcmRlci1yYWRpdXM6IDAuMzc1cmVtO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMTVzLCBjb2xvciAwLjE1cztcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgZmxleC1zaHJpbms6IDA7XG5cbiAgICBpLCBzdmcgeyB3aWR0aDogMC44NzVyZW07IGhlaWdodDogMC44NzVyZW07IHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLWNvbG9yLXByaW1hcnkpIDEwJSwgdHJhbnNwYXJlbnQpO1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG4gICAgfVxuXG4gICAgJjpmb2N1cy12aXNpYmxlIHtcbiAgICAgICAgb3V0bGluZTogMnB4IHNvbGlkIHZhcigtLWNvbG9yLXByaW1hcnkpO1xuICAgICAgICBvdXRsaW5lLW9mZnNldDogMXB4O1xuICAgIH1cbn1cblxuOnJvb3QuZGFyayAuYnRuLWljb246aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1jb2xvci1hY2NlbnQpIDEyJSwgdHJhbnNwYXJlbnQpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1hY2NlbnQpO1xufVxuXG4uYnRuLWljb24tLWRhbmdlcjpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogY29sb3ItbWl4KGluIHNyZ2IsICNlZjQ0NDQgMTAlLCB0cmFuc3BhcmVudCk7XG4gICAgY29sb3I6ICNkYzI2MjY7XG59XG5cbjpyb290LmRhcmsgLmJ0bi1pY29uLS1kYW5nZXI6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IGNvbG9yLW1peChpbiBzcmdiLCAjZWY0NDQ0IDE1JSwgdHJhbnNwYXJlbnQpO1xuICAgIGNvbG9yOiAjZjg3MTcxO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIExJU1RJTkcgVE9PTEJBUiDigJQgQmFycmUgZGUgZmlsdHJlcyAmIHJlY2hlcmNoZVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5saXN0aW5nLXRvb2xiYXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDAuNzVyZW07XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gICAgcGFkZGluZzogMC44NzVyZW0gMXJlbTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iYWNrZ3JvdW5kLXBhbmVsKTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItbGlnaHQpO1xuICAgIGJvcmRlci1yYWRpdXM6IDAuNzVyZW07XG59XG5cbjpyb290LmRhcmsgLmxpc3RpbmctdG9vbGJhciB7XG4gICAgYmFja2dyb3VuZDogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLWNvbG9yLWJhY2tncm91bmQtcGFuZWwpIDkwJSwgdHJhbnNwYXJlbnQpO1xuICAgIGJvcmRlci1jb2xvcjogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLWNvbG9yLWJvcmRlcikgMjUlLCB0cmFuc3BhcmVudCk7XG59XG5cbi8qIENoYW1wIGRlIHJlY2hlcmNoZSAqL1xuLmxpc3Rpbmctc2VhcmNoIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxleDogMTtcbiAgICBtaW4td2lkdGg6IDE0cmVtO1xufVxuXG4ubGlzdGluZy1zZWFyY2gtaWNvbiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDAuNzVyZW07XG4gICAgdG9wOiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgIHdpZHRoOiAwLjg3NXJlbTtcbiAgICBoZWlnaHQ6IDAuODc1cmVtO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LW11dGVkKTtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuLmxpc3Rpbmctc2VhcmNoLWlucHV0IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOiAwLjQzNzVyZW0gMC44NzVyZW0gMC40Mzc1cmVtIDIuMjVyZW07XG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyKTtcbiAgICBib3JkZXItcmFkaXVzOiAwLjVyZW07XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmFja2dyb3VuZCk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQpO1xuICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjE1cywgYm94LXNoYWRvdyAwLjE1cztcblxuICAgICY6OnBsYWNlaG9sZGVyIHsgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbXV0ZWQpOyB9XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgM3B4IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1jb2xvci1wcmltYXJ5KSAxNSUsIHRyYW5zcGFyZW50KTtcbiAgICB9XG5cbiAgICAvKiBTdXBwcmltZXIgbGUgYm91dG9uIG5hdGlmICd4JyBkZSB0eXBlPVwic2VhcmNoXCIgZW4gRmlyZWZveCAqL1xuICAgICY6Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24geyBkaXNwbGF5OiBub25lOyB9XG59XG5cbjpyb290LmRhcmsgLmxpc3Rpbmctc2VhcmNoLWlucHV0IHtcbiAgICBiYWNrZ3JvdW5kOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tY29sb3ItYmFja2dyb3VuZCkgODAlLCB0cmFuc3BhcmVudCk7XG4gICAgYm9yZGVyLWNvbG9yOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tY29sb3ItYm9yZGVyKSA0MCUsIHRyYW5zcGFyZW50KTtcblxuICAgICY6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLWFjY2VudCk7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDNweCBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tY29sb3ItYWNjZW50KSAxNSUsIHRyYW5zcGFyZW50KTtcbiAgICB9XG59XG5cbi8qIFNlbGVjdHMgZGUgZmlsdHJlcyAqL1xuLmxpc3Rpbmctc2VsZWN0IHtcbiAgICBwYWRkaW5nOiAwLjQzNzVyZW0gMC43NXJlbTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXIpO1xuICAgIGJvcmRlci1yYWRpdXM6IDAuNXJlbTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iYWNrZ3JvdW5kKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dCk7XG4gICAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjE1cztcblxuICAgICY6Zm9jdXMge1xuICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xuICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAzcHggY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLWNvbG9yLXByaW1hcnkpIDE1JSwgdHJhbnNwYXJlbnQpO1xuICAgIH1cbn1cblxuOnJvb3QuZGFyayAubGlzdGluZy1zZWxlY3Qge1xuICAgIGJhY2tncm91bmQ6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1jb2xvci1iYWNrZ3JvdW5kKSA4MCUsIHRyYW5zcGFyZW50KTtcbiAgICBib3JkZXItY29sb3I6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1jb2xvci1ib3JkZXIpIDQwJSwgdHJhbnNwYXJlbnQpO1xufVxuXG4ubGlzdGluZy1zZWxlY3QtLXNtIHtcbiAgICBwYWRkaW5nOiAwLjQzNzVyZW0gMC41cmVtO1xuICAgIG1pbi13aWR0aDogNC41cmVtO1xufVxuXG4ubGlzdGluZy1saW1pdC1ncm91cCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogMC41cmVtO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi5saXN0aW5nLWxpbWl0LWxhYmVsIHtcbiAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgLyogIzZiNzI4MCBzdXIgZm9uZCBjbGFpciA9IDQuNzoxIOKchSBBQSAqL1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LW11dGVkLWFjY2Vzc2libGUsICM2YjcyODApO1xufVxuXG4vKiBCb3V0b24gcmVzZXQgKi9cbi5saXN0aW5nLXJlc2V0IHtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xuICAgIGdhcDogMC4zNzVyZW07XG5cbiAgICBpLCBzdmcgeyB3aWR0aDogMC44NzVyZW07IGhlaWdodDogMC44NzVyZW07IHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG5cbiAgICAmOmhvdmVyIHsgY29sb3I6IHZhcigtLWNvbG9yLXRleHQpOyB9XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgUEFHSU5BVElPTlxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5wYWdpbmF0aW9uIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBnYXA6IDAuNzVyZW07XG4gICAgbWFyZ2luLXRvcDogMS4yNXJlbTtcbiAgICBwYWRkaW5nLXRvcDogMXJlbTtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLWxpZ2h0KTtcbn1cblxuOnJvb3QuZGFyayAucGFnaW5hdGlvbiB7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLWNvbG9yLWJvcmRlcikgMjAlLCB0cmFuc3BhcmVudCk7XG59XG5cbi5wYWdpbmF0aW9uLWluZm8ge1xuICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG5cbiAgICBzdHJvbmcgeyBjb2xvcjogdmFyKC0tY29sb3ItdGV4dCk7IGZvbnQtd2VpZ2h0OiA2MDA7IH1cbn1cblxuLnBhZ2luYXRpb24taW5mby0tc29sbyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLXRvcDogMC43NXJlbTtcbiAgICBwYWRkaW5nLXRvcDogMC43NXJlbTtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLWxpZ2h0KTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5wYWdpbmF0aW9uLXBhZ2VzIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiAwLjI1cmVtO1xufVxuXG4ucGFnaW5hdGlvbi1idG4ge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgbWluLXdpZHRoOiAycmVtO1xuICAgIGhlaWdodDogMnJlbTtcbiAgICBwYWRkaW5nOiAwIDAuMzc1cmVtO1xuICAgIGJvcmRlci1yYWRpdXM6IDAuMzc1cmVtO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1saWdodCk7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmFja2dyb3VuZC1wYW5lbCk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbiAgICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjE1cywgYm9yZGVyLWNvbG9yIDAuMTVzLCBjb2xvciAwLjE1cztcblxuICAgIGksIHN2ZyB7IHdpZHRoOiAwLjg3NXJlbTsgaGVpZ2h0OiAwLjg3NXJlbTsgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cblxuICAgICY6aG92ZXI6bm90KDpkaXNhYmxlZCkge1xuICAgICAgICBiYWNrZ3JvdW5kOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tY29sb3ItcHJpbWFyeSkgOCUsIHRyYW5zcGFyZW50KTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tY29sb3ItcHJpbWFyeSkgMzAlLCB0cmFuc3BhcmVudCk7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbiAgICB9XG5cbiAgICAmOmRpc2FibGVkLCAmW2FyaWEtZGlzYWJsZWQ9XCJ0cnVlXCJdIHtcbiAgICAgICAgb3BhY2l0eTogMC4zNTtcbiAgICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICB9XG5cbiAgICAmOmZvY3VzLXZpc2libGUge1xuICAgICAgICBvdXRsaW5lOiAycHggc29saWQgdmFyKC0tY29sb3ItcHJpbWFyeSk7XG4gICAgICAgIG91dGxpbmUtb2Zmc2V0OiAxcHg7XG4gICAgfVxufVxuXG46cm9vdC5kYXJrIC5wYWdpbmF0aW9uLWJ0biB7XG4gICAgYmFja2dyb3VuZDogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLWNvbG9yLWJhY2tncm91bmQtcGFuZWwpIDgwJSwgdHJhbnNwYXJlbnQpO1xuICAgIGJvcmRlci1jb2xvcjogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLWNvbG9yLWJvcmRlcikgMzAlLCB0cmFuc3BhcmVudCk7XG5cbiAgICAmOmhvdmVyOm5vdCg6ZGlzYWJsZWQpIHtcbiAgICAgICAgYmFja2dyb3VuZDogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLWNvbG9yLWFjY2VudCkgMTAlLCB0cmFuc3BhcmVudCk7XG4gICAgICAgIGJvcmRlci1jb2xvcjogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLWNvbG9yLWFjY2VudCkgMzAlLCB0cmFuc3BhcmVudCk7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1hY2NlbnQpO1xuICAgIH1cbn1cblxuLnBhZ2luYXRpb24tcGFnZS0tYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1wcmltYXJ5KSAhaW1wb3J0YW50O1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSkgIWltcG9ydGFudDtcbiAgICBjb2xvcjogd2hpdGUgIWltcG9ydGFudDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGN1cnNvcjogZGVmYXVsdDtcbn1cblxuOnJvb3QuZGFyayAucGFnaW5hdGlvbi1wYWdlLS1hY3RpdmUge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWFjY2VudCkgIWltcG9ydGFudDtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLWFjY2VudCkgIWltcG9ydGFudDtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItYmFja2dyb3VuZCkgIWltcG9ydGFudDtcbn1cblxuLnBhZ2luYXRpb24tZWxsaXBzaXMge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgd2lkdGg6IDJyZW07XG4gICAgaGVpZ2h0OiAycmVtO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LW11dGVkKTtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFJFU1BPTlNJVkUg4oCUIFBhZ2VzIGRlIGxpc3RpbmdcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5AbWVkaWEgKG1heC13aWR0aDogMTAyNHB4KSB7XG4gICAgLnRoLS1oaWRkZW4tc20geyBkaXNwbGF5OiBub25lOyB9XG4gICAgLnRkLnRoLS1oaWRkZW4tc20geyBkaXNwbGF5OiBub25lOyB9XG4gICAgLnVzZXItY2VsbC1zdWIudGQtLWhpZGRlbi1tZCB7IGRpc3BsYXk6IG5vbmU7IH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgLmxpc3RpbmctdG9vbGJhciB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgICAgICBnYXA6IDAuNjI1cmVtO1xuICAgIH1cblxuICAgIC5saXN0aW5nLXNlYXJjaCB7IG1pbi13aWR0aDogMDsgfVxuXG4gICAgLmxpc3RpbmctcmVzZXQgeyBtYXJnaW4tbGVmdDogMDsgfVxuXG4gICAgLnBhZ2luYXRpb24ge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgLnRkICAgICAgICAgICAgICAgIHsgcGFkZGluZzogMC42MjVyZW0gMC43NXJlbTsgfVxuICAgIC50aCAgICAgICAgICAgICAgICB7IHBhZGRpbmc6IDAuNjI1cmVtIDAuNzVyZW07IH1cbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBGSUNIRSBVVElMSVNBVEVVUiAvIFBPUlTDiSDigJQgdXNlci1zaG93XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyog4pSA4pSAIEF2YXRhciBYTCDilIDilIAgKi9cbi51c2VyLWF2YXRhci0teGwge1xuICAgIHdpZHRoOiA0cmVtO1xuICAgIGhlaWdodDogNHJlbTtcbiAgICBmb250LXNpemU6IDEuMzc1cmVtO1xuICAgIGZsZXgtc2hyaW5rOiAwO1xufVxuXG4vKiDilIDilIAgQ2FydGUgcHJvZmlsIOKUgOKUgCAqL1xuLnVzZXItcHJvZmlsZS1jYXJkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW07XG59XG5cbi51c2VyLXByb2ZpbGUtdG9wIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgIGdhcDogMS4yNXJlbTtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG59XG5cbi8qIOKUgOKUgCBJZGVudGl0w6kgKG5vbSArIGJhZGdlcyArIG1ldGEpIOKUgOKUgCAqL1xuLnVzZXItcHJvZmlsZS1pZGVudGl0eSB7XG4gICAgZmxleDogMTtcbiAgICBtaW4td2lkdGg6IDA7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogMC41cmVtO1xufVxuXG4udXNlci1wcm9maWxlLW5hbWUge1xuICAgIGZvbnQtc2l6ZTogMS4zNzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dCk7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMjtcbn1cblxuLnVzZXItcHJvZmlsZS1iYWRnZXMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGdhcDogMC4zNzVyZW07XG59XG5cbi51c2VyLXByb2ZpbGUtbWV0YSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgZ2FwOiAwLjc1cmVtO1xuICAgIG1hcmdpbi10b3A6IDAuMTI1cmVtO1xufVxuXG4udXNlci1wcm9maWxlLW1ldGEtaXRlbSB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDAuMzVyZW07XG4gICAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcblxuICAgIGksIHN2ZyB7IHdpZHRoOiAwLjg3NXJlbTsgaGVpZ2h0OiAwLjg3NXJlbTsgZmxleC1zaHJpbms6IDA7IH1cbn1cblxuLyog4pSA4pSAIETDqXRhaWxzIHN1cHBsw6ltZW50YWlyZXMgKGNvbG9ubmUgZHJvaXRlKSDilIDilIAgKi9cbi51c2VyLXByb2ZpbGUtZGV0YWlscyB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpbGwsIG1pbm1heCgxMHJlbSwgMWZyKSk7XG4gICAgZ2FwOiAwLjYyNXJlbSAxLjVyZW07XG4gICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItbGlnaHQpO1xuICAgIHBhZGRpbmctbGVmdDogMS4yNXJlbTtcbiAgICBtaW4td2lkdGg6IDE4cmVtO1xufVxuXG46cm9vdC5kYXJrIC51c2VyLXByb2ZpbGUtZGV0YWlscyB7XG4gICAgYm9yZGVyLWxlZnQtY29sb3I6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1jb2xvci1ib3JkZXIpIDMwJSwgdHJhbnNwYXJlbnQpO1xufVxuXG4uZGV0YWlsLWl0ZW0ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IDAuMTI1cmVtO1xufVxuXG4uZGV0YWlsLWxhYmVsIHtcbiAgICBmb250LXNpemU6IDAuNjg3NXJlbTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjA1ZW07XG4gICAgLyogIzZiNzI4MCBzdXIgZm9uZCBjbGFpciA9IDQuNzoxIOKchSBBQSAocmVtcGxhY2UgLS1jb2xvci10ZXh0LW11dGVkIH4yLjI6MSkgKi9cbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1tdXRlZC1hY2Nlc3NpYmxlLCAjNmI3MjgwKTtcbiAgICBmb250LXdlaWdodDogNjAwO1xufVxuXG4uZGV0YWlsLXZhbHVlIHtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0KTtcbiAgICBmb250LXdlaWdodDogNTAwO1xufVxuXG4vKiDilIDilIAgU8OpbGVjdGV1ciBkJ2FubsOpZSDilIDilIAgKi9cbi55ZWFyLW5hdiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgZ2FwOiAwLjM3NXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW07XG59XG5cbi55ZWFyLW5hdi1pdGVtIHtcbiAgICBwYWRkaW5nOiAwLjNyZW0gMC43NXJlbTtcbiAgICBib3JkZXItcmFkaXVzOiA5OTk5cHg7XG4gICAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iYWNrZ3JvdW5kLXBhbmVsKTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXIpO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4xNXMsIGNvbG9yIDAuMTVzLCBib3JkZXItY29sb3IgMC4xNXM7XG59XG5cbi55ZWFyLW5hdi1pdGVtOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tY29sb3ItcHJpbWFyeSkgOCUsIHRyYW5zcGFyZW50KTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG4gICAgYm9yZGVyLWNvbG9yOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tY29sb3ItcHJpbWFyeSkgMzAlLCB0cmFuc3BhcmVudCk7XG59XG5cbi8qIEZvY3VzIHZpc2libGUgY2xhdmllciDinIUgKi9cbi55ZWFyLW5hdi1pdGVtOmZvY3VzLXZpc2libGUge1xuICAgIG91dGxpbmU6IDJweCBzb2xpZCB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbiAgICBvdXRsaW5lLW9mZnNldDogMnB4O1xufVxuXG46cm9vdC5kYXJrIC55ZWFyLW5hdi1pdGVtOmZvY3VzLXZpc2libGUge1xuICAgIG91dGxpbmUtY29sb3I6IHZhcigtLWNvbG9yLWFjY2VudCk7XG59XG5cbi55ZWFyLW5hdi1pdGVtLS1hY3RpdmUge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LXRleHQpO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbn1cblxuLnllYXItbmF2LWl0ZW0tLWFjdGl2ZTpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItcHJpbWFyeS1kYXJrKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS10ZXh0KTtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnktZGFyayk7XG59XG5cbi8qIOKUgOKUgCBNaW5pIHN0YXQgY2FyZHMg4pSA4pSAICovXG4uc3RhdC1taW5pIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiAxcmVtO1xuICAgIHBhZGRpbmc6IDEuMjVyZW0gMS41cmVtO1xufVxuXG4uc3RhdC1taW5pLWljb24ge1xuICAgIHdpZHRoOiAyLjc1cmVtO1xuICAgIGhlaWdodDogMi43NXJlbTtcbiAgICBib3JkZXItcmFkaXVzOiAwLjYyNXJlbTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgZmxleC1zaHJpbms6IDA7XG5cbiAgICBpLCBzdmcgeyB3aWR0aDogMS4yNXJlbTsgaGVpZ2h0OiAxLjI1cmVtOyB9XG59XG5cbi5zdGF0LW1pbmktaWNvbi0tc3VjY2VzcyB7XG4gICAgYmFja2dyb3VuZDogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLWNvbG9yLXN1Y2Nlc3MpIDEyJSwgdHJhbnNwYXJlbnQpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1zdWNjZXNzKTtcbn1cblxuLnN0YXQtbWluaS1pY29uLS1kYW5nZXIge1xuICAgIGJhY2tncm91bmQ6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1jb2xvci1kYW5nZXIpIDEyJSwgdHJhbnNwYXJlbnQpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1kYW5nZXIpO1xufVxuXG4uc3RhdC1taW5pLWljb24tLWluZm8ge1xuICAgIGJhY2tncm91bmQ6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1jb2xvci1pbmZvKSAxMiUsIHRyYW5zcGFyZW50KTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItaW5mbyk7XG59XG5cbi5zdGF0LW1pbmktaWNvbi0tcHJpbWFyeSB7XG4gICAgYmFja2dyb3VuZDogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLWNvbG9yLXByaW1hcnkpIDEyJSwgdHJhbnNwYXJlbnQpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbn1cblxuOnJvb3QuZGFyayAuc3RhdC1taW5pLWljb24tLXN1Y2Nlc3MgeyBiYWNrZ3JvdW5kOiBjb2xvci1taXgoaW4gc3JnYiwgIzIyYzU1ZSAxOCUsIHRyYW5zcGFyZW50KTsgY29sb3I6ICM0YWRlODA7IH1cbjpyb290LmRhcmsgLnN0YXQtbWluaS1pY29uLS1kYW5nZXIgIHsgYmFja2dyb3VuZDogY29sb3ItbWl4KGluIHNyZ2IsICNlZjQ0NDQgMTglLCB0cmFuc3BhcmVudCk7IGNvbG9yOiAjZjg3MTcxOyB9XG46cm9vdC5kYXJrIC5zdGF0LW1pbmktaWNvbi0taW5mbyAgICB7IGJhY2tncm91bmQ6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1jb2xvci1hY2NlbnQpIDE4JSwgdHJhbnNwYXJlbnQpOyBjb2xvcjogdmFyKC0tY29sb3ItYWNjZW50KTsgfVxuOnJvb3QuZGFyayAuc3RhdC1taW5pLWljb24tLXByaW1hcnkgeyBiYWNrZ3JvdW5kOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tY29sb3ItYWNjZW50KSAxOCUsIHRyYW5zcGFyZW50KTsgY29sb3I6IHZhcigtLWNvbG9yLWFjY2VudCk7IH1cblxuLnN0YXQtbWluaS1jb250ZW50IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiAwLjEyNXJlbTtcbiAgICBtaW4td2lkdGg6IDA7XG59XG5cbi5zdGF0LW1pbmktdmFsdWUge1xuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0KTtcbiAgICBsZXR0ZXItc3BhY2luZzogLTAuMDJlbTtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4uc3RhdC1taW5pLXZhbHVlLS1kYW5nZXIgeyBjb2xvcjogdmFyKC0tY29sb3ItZGFuZ2VyKTsgfVxuXG4uc3RhdC1taW5pLWxhYmVsIHtcbiAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbiAgICBmb250LXdlaWdodDogNTAwO1xufVxuXG4uc3RhdC1taW5pLXN1YiB7XG4gICAgZm9udC1zaXplOiAwLjY4NzVyZW07XG4gICAgLyogIzZiNzI4MCBzdXIgZm9uZCBjbGFpciA9IDQuNzoxIOKchSBBQSAqL1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LW11dGVkLWFjY2Vzc2libGUsICM2YjcyODApO1xufVxuXG4vKiDilIDilIAgRm9vdGVyIGRlIHRhYmxlYXUgdG90YXV4IOKUgOKUgCAqL1xuLnRhYmxlLWZvb3Rlci10b3RhbCB7XG4gICAgYmFja2dyb3VuZDogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLWNvbG9yLXByaW1hcnkpIDQlLCB0cmFuc3BhcmVudCk7XG4gICAgYm9yZGVyLXRvcDogMnB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlcik7XG59XG5cbjpyb290LmRhcmsgLnRhYmxlLWZvb3Rlci10b3RhbCB7XG4gICAgYmFja2dyb3VuZDogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLWNvbG9yLXByaW1hcnkpIDglLCB0cmFuc3BhcmVudCk7XG59XG5cbi8qIOKUgOKUgCBTZWN0aW9uIHNwYWNpbmcgZGFucyBzaG93IOKUgOKUgCAqL1xuLmFkbWluLXNlY3Rpb24ge1xuICAgIG1hcmdpbi1ib3R0b206IDEuNXJlbTtcbn1cblxuLyog4pSA4pSAIExpZW4gdGQg4pSA4pSAICovXG4udGQtbGluayB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cbi50ZC1saW5rOmhvdmVyIHsgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbjpyb290LmRhcmsgLnRkLWxpbmsgeyBjb2xvcjogdmFyKC0tY29sb3ItYWNjZW50KTsgfVxuXG5AbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAudXNlci1wcm9maWxlLXRvcCB7IGdhcDogMXJlbTsgfVxuICAgIC51c2VyLXByb2ZpbGUtZGV0YWlscyB7XG4gICAgICAgIGJvcmRlci1sZWZ0OiBub25lO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItbGlnaHQpO1xuICAgICAgICBwYWRkaW5nLXRvcDogMXJlbTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICAgIC5zdGF0LW1pbmkgeyBwYWRkaW5nOiAxcmVtOyB9XG4gICAgLnN0YXQtbWluaS12YWx1ZSB7IGZvbnQtc2l6ZTogMS4xMjVyZW07IH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDQ4MHB4KSB7XG4gICAgLnllYXItbmF2LWl0ZW0geyBwYWRkaW5nOiAwLjI1cmVtIDAuNjI1cmVtOyBmb250LXNpemU6IDAuNzVyZW07IH1cbiAgICAudXNlci1wcm9maWxlLWRldGFpbHMgeyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7IH1cbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBBQ0NFU1NJQklMSVTDiSDigJQgUsOJRFVDVElPTiBERVMgQU5JTUFUSU9OU1xuICAgUmVzcGVjdGUgbGEgcHLDqWbDqXJlbmNlIHN5c3TDqG1lIFwicHJlZmVycy1yZWR1Y2VkLW1vdGlvblwiXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbiAgICAuYWRtaW4tY2FyZCxcbiAgICAuYWRtaW4tY2FyZDpob3ZlcixcbiAgICAuYWRtaW4tbW9kdWxlLWNhcmQsXG4gICAgLnNpZGViYXItbGluayxcbiAgICAueWVhci1uYXYtaXRlbSxcbiAgICAuYnRuLWljb24sXG4gICAgLnBhZ2luYXRpb24tYnRuIHtcbiAgICAgICAgdHJhbnNpdGlvbjogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICB0cmFuc2Zvcm06IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgYW5pbWF0aW9uOiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuXG5cbi8qIOKUgOKUgCBDb2RlIGQndW4gZ3JvdXBlLCBjbGlxdWFibGUgKG91dnJlIGxlIHJlbGV2w6kpIOKUgOKUgFxuICAgTGlzaWJsZSA6IDE1cHgsIGdyYXMsIEF0a2luc29uIChkaXN0aW5ndWUgSSBldCAxKSwgY2hpZmZyZXMgYWxpZ27DqXMuXG4gICBDaWJsZSBkZSAzMnB4IGRlIGhhdXQgYXUgbW9pbnMgKFdDQUcgMi41LjggOiAyNHB4KS4gU291bGlnbsOpIGVuXG4gICBwZXJtYW5lbmNlIDogb24gdm9pdCBxdWUgYydlc3QgdW4gbGllbiBzYW5zIGxlIHN1cnZvbGVyLiAqL1xuLmJhZGdlLWdyb3VwZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBtaW4taGVpZ2h0OiAycmVtO1xuICAgIHBhZGRpbmc6IDAgMC42MjVyZW07XG4gICAgYm9yZGVyLXJhZGl1czogMC4zNzVyZW07XG4gICAgYmFja2dyb3VuZDogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLWNvbG9yLXByaW1hcnkpIDglLCB0cmFuc3BhcmVudCk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xuICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgZm9udC12YXJpYW50LW51bWVyaWM6IHRhYnVsYXItbnVtcztcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIHRleHQtZGVjb3JhdGlvbi10aGlja25lc3M6IDFweDtcbiAgICB0ZXh0LXVuZGVybGluZS1vZmZzZXQ6IDNweDtcbn1cblxuLmJhZGdlLWdyb3VwZTpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLWNvbG9yLXByaW1hcnkpIDE0JSwgdHJhbnNwYXJlbnQpO1xuICAgIHRleHQtZGVjb3JhdGlvbi10aGlja25lc3M6IDJweDtcbn1cblxuLmJhZGdlLWdyb3VwZTpmb2N1cy12aXNpYmxlIHtcbiAgICBvdXRsaW5lOiAzcHggc29saWQgY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLWNvbG9yLXByaW1hcnkpIDQ1JSwgdHJhbnNwYXJlbnQpO1xuICAgIG91dGxpbmUtb2Zmc2V0OiAycHg7XG59XG5cbjpyb290LmRhcmsgLmJhZGdlLWdyb3VwZSB7IGNvbG9yOiB2YXIoLS1jb2xvci1hY2NlbnQpOyBiYWNrZ3JvdW5kOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tY29sb3ItYWNjZW50KSAxMiUsIHRyYW5zcGFyZW50KTsgfVxuXG4vKiBCb3V0b24gZGUgdHJpIGRhbnMgdW4gZW4tdMOqdGUgZGUgY29sb25uZSA6IHRvdXQgbCdlbi10w6p0ZSBlc3QgY2xpcXVhYmxlLFxuICAgZXQgbGUgdHJpIG1hcmNoZSBhdSBjbGF2aWVyLiAqL1xuLnRoLXRyaSB7XG4gICAgbWFyZ2luOiAtMC43NXJlbSAtMXJlbTtcbiAgICBwYWRkaW5nOiAwLjc1cmVtIDFyZW07XG4gICAgYm9yZGVyOiAwO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIGZvbnQ6IGluaGVyaXQ7XG4gICAgbGV0dGVyLXNwYWNpbmc6IGluaGVyaXQ7XG4gICAgdGV4dC10cmFuc2Zvcm06IGluaGVyaXQ7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4udGgtdHJpOmZvY3VzLXZpc2libGUge1xuICAgIG91dGxpbmU6IDJweCBzb2xpZCB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbiAgICBvdXRsaW5lLW9mZnNldDogLTJweDtcbn1cblxuLyog4pSA4pSAIExpc3RlIGRlcyBncm91cGVzIOKUgOKUgCAqL1xuLmdyb3VwZS10cmVzb3JpZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiAwLjI1cmVtIDAuNXJlbTtcbiAgICBwYWRkaW5nOiAwLjEyNXJlbSAwO1xufVxuXG4uZ3JvdXBlLWEtdHJhaXRlciB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICBmb250LXdlaWdodDogODAwO1xuICAgIGZvbnQtdmFyaWFudC1udW1lcmljOiB0YWJ1bGFyLW51bXM7XG4gICAgdGV4dC11bmRlcmxpbmUtb2Zmc2V0OiAzcHg7XG59XG5cbi5ncm91cGUtYS1qb3VyIHsgY29sb3I6IHZhcigtLWNvbG9yLXN1Y2Nlc3MtZGFyayk7IGZvbnQtd2VpZ2h0OiA2MDA7IH1cblxuLnBhZ2luYXRpb24tZWxsaXBzaXMgeyBwYWRkaW5nOiAwIDAuMjVyZW07IGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7IH1cblxuLyog4pSA4pSAIFRhYmxlYXUgZGUgYm9yZCA6IGxlcyBjaGlmZnJlcywgY2hhY3VuIHZlcnMgc2EgbGlzdGUgZmlsdHLDqWUg4pSA4pSAICovXG4udGFibGVhdS1jaGlmZnJlcyB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpdCwgbWlubWF4KDE0cmVtLCAxZnIpKTtcbiAgICBnYXA6IDFyZW07XG4gICAgbWFyZ2luOiAycmVtIDAgMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG5cbi50YWJsZWF1LWNoaWZmcmVzIGEge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ2FwOiAwLjI1cmVtO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBwYWRkaW5nOiAxLjI1cmVtIDEuMzc1cmVtO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlcik7XG4gICAgYm9yZGVyLXJhZGl1czogMC44NzVyZW07XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmFja2dyb3VuZC1wYW5lbCk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cblxuLnRhYmxlYXUtY2hpZmZyZXMgYTpob3ZlciB7IGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7IH1cblxuLnRhYmxlYXUtY2hpZmZyZXMgYTpmb2N1cy12aXNpYmxlIHtcbiAgICBvdXRsaW5lOiAzcHggc29saWQgY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLWNvbG9yLXByaW1hcnkpIDQwJSwgdHJhbnNwYXJlbnQpO1xuICAgIG91dGxpbmUtb2Zmc2V0OiAycHg7XG59XG5cbi50YWJsZWF1LWNoaWZmcmVzIGIge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbiAgICBmb250LXNpemU6IDIuMjVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMTtcbiAgICBmb250LXZhcmlhbnQtbnVtZXJpYzogdGFidWxhci1udW1zO1xufVxuXG4udGFibGVhdS1jaGlmZnJlcy1saWVuIHtcbiAgICBtYXJnaW4tdG9wOiAwLjVyZW07XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xuICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgdGV4dC11bmRlcmxpbmUtb2Zmc2V0OiAzcHg7XG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENPTVBPU0FOVFMgU1RBVElTVElRVUVTIFLDiVVUSUxJU0FCTEVTXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnN0YXRzLWdyaWQge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maXQsIG1pbm1heCgxNnJlbSwgMWZyKSk7XG4gICAgZ2FwOiAxLjVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMnJlbTtcbn1cblxuLnN0YXQtY2FyZCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogMXJlbTtcbiAgICBwYWRkaW5nOiAxLjVyZW07XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmFja2dyb3VuZC1wYW5lbCk7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyKTtcbiAgICBib3JkZXItcmFkaXVzOiAwLjc1cmVtO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjJzO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMnB4KTtcbiAgICAgICAgYm94LXNoYWRvdzogMCA4cHggMjVweCBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tY29sb3ItdGV4dCkgMTAlLCB0cmFuc3BhcmVudCk7XG4gICAgfVxufVxuXG46cm9vdC5kYXJrIC5zdGF0LWNhcmQge1xuICAgIGJhY2tncm91bmQ6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1jb2xvci1iYWNrZ3JvdW5kLXBhbmVsKSA5MCUsIHRyYW5zcGFyZW50KTtcbiAgICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoMTBweCk7XG4gICAgYm9yZGVyOiAxcHggc29saWQgY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLWNvbG9yLWJvcmRlcikgNjAlLCB0cmFuc3BhcmVudCk7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgICAgYm94LXNoYWRvdzogMCA4cHggMzJweCBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tY29sb3ItcHJpbWFyeSkgOCUsIHRyYW5zcGFyZW50KTtcbiAgICB9XG59XG5cbi8qIEljw7RuZXMgZGVzIHN0YXRzICovXG4uc3RhdC1pY29uIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgd2lkdGg6IDNyZW07XG4gICAgaGVpZ2h0OiAzcmVtO1xuICAgIGJvcmRlci1yYWRpdXM6IDAuNzVyZW07XG4gICAgZmxleC1zaHJpbms6IDA7XG59XG5cbi5zdGF0LWNhcmQtcHJpbWFyeSAuc3RhdC1pY29uIHtcbiAgICBiYWNrZ3JvdW5kOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tY29sb3ItcHJpbWFyeSkgMTUlLCB0cmFuc3BhcmVudCk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xufVxuXG4uc3RhdC1jYXJkLXN1Y2Nlc3MgLnN0YXQtaWNvbiB7XG4gICAgYmFja2dyb3VuZDogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLWNvbG9yLXN1Y2Nlc3MpIDE1JSwgdHJhbnNwYXJlbnQpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1zdWNjZXNzKTtcbn1cblxuLnN0YXQtY2FyZC13YXJuaW5nIC5zdGF0LWljb24ge1xuICAgIGJhY2tncm91bmQ6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1jb2xvci13YXJuaW5nKSAxNSUsIHRyYW5zcGFyZW50KTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3Itd2FybmluZyk7XG59XG5cbi5zdGF0LWNhcmQtZGFuZ2VyIC5zdGF0LWljb24ge1xuICAgIGJhY2tncm91bmQ6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1jb2xvci1kYW5nZXIpIDE1JSwgdHJhbnNwYXJlbnQpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1kYW5nZXIpO1xufVxuXG4uc3RhdC1jYXJkLWluZm8gLnN0YXQtaWNvbiB7XG4gICAgYmFja2dyb3VuZDogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLWNvbG9yLWluZm8pIDE1JSwgdHJhbnNwYXJlbnQpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1pbmZvKTtcbn1cblxuLyogQ29udGVudSBkZXMgc3RhdHMgKi9cbi5zdGF0LWNvbnRlbnQge1xuICAgIGZsZXg6IDE7XG59XG5cbi5zdGF0LW51bWJlciB7XG4gICAgZm9udC1zaXplOiAxLjg3NXJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0KTtcbiAgICBtYXJnaW46IDAgMCAwLjI1cmVtIDA7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG59XG5cbi5zdGF0LWxhYmVsIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgbWFyZ2luOiAwO1xufVxuXG4vKiBUZW5kYW5jZXMgKi9cbi5zdGF0LXRyZW5kIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiAwLjI1cmVtO1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICBmb250LXdlaWdodDogNjAwO1xufVxuXG4uc3RhdC10cmVuZC11cCB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXN1Y2Nlc3MpO1xufVxuXG4uc3RhdC10cmVuZC1kb3duIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItZGFuZ2VyKTtcbn1cblxuLnN0YXQtdHJlbmQtbmV1dHJhbCB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbXV0ZWQpO1xufVxuXG4uc3RhdC10cmVuZCBpIHtcbiAgICB3aWR0aDogMC44NzVyZW07XG4gICAgaGVpZ2h0OiAwLjg3NXJlbTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBCQVJSRVMgREUgUFJPR1JFU1NJT04gUsOJVVRJTElTQUJMRVNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4ucHJvZ3Jlc3MtY29udGFpbmVyIHtcbiAgICBtYXJnaW46IDFyZW0gMDtcbn1cblxuLnByb2dyZXNzLWhlYWRlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG59XG5cbi5wcm9ncmVzcy1sYWJlbCB7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0KTtcbn1cblxuLnByb2dyZXNzLXZhbHVlIHtcbiAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbn1cblxuLnByb2dyZXNzLWJhciB7XG4gICAgaGVpZ2h0OiAwLjVyZW07XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYm9yZGVyLWxpZ2h0KTtcbiAgICBib3JkZXItcmFkaXVzOiA5OTk5cHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLnByb2dyZXNzLWJhci1zbSB7XG4gICAgaGVpZ2h0OiAwLjI1cmVtO1xufVxuXG4ucHJvZ3Jlc3MtYmFyLWxnIHtcbiAgICBoZWlnaHQ6IDAuNzVyZW07XG59XG5cbi5wcm9ncmVzcy1maWxsIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDkwZGVnLCB2YXIoLS1jb2xvci1wcmltYXJ5KSwgdmFyKC0tY29sb3ItYWNjZW50KSk7XG4gICAgdHJhbnNpdGlvbjogd2lkdGggMC4zcyBlYXNlO1xufVxuXG4ucHJvZ3Jlc3MtZmlsbC1zdWNjZXNzIHtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoOTBkZWcsIHZhcigtLWNvbG9yLXN1Y2Nlc3MpLCB2YXIoLS1jb2xvci1zdWNjZXNzLWRhcmspKTtcbn1cblxuLnByb2dyZXNzLWZpbGwtd2FybmluZyB7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDkwZGVnLCB2YXIoLS1jb2xvci13YXJuaW5nKSwgdmFyKC0tY29sb3Itd2FybmluZy1kYXJrKSk7XG59XG5cbi5wcm9ncmVzcy1maWxsLWRhbmdlciB7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDkwZGVnLCB2YXIoLS1jb2xvci1kYW5nZXIpLCB2YXIoLS1jb2xvci1kYW5nZXItZGFyaykpO1xufVxuXG4ucHJvZ3Jlc3MtZmlsbC1pbmZvIHtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoOTBkZWcsIHZhcigtLWNvbG9yLWluZm8pLCB2YXIoLS1jb2xvci1pbmZvLWRhcmspKTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBQRVRJVEVTIFNUQVRTIChJTkxJTkUpXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnN0YXQtaW5saW5lIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogMC41cmVtO1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG59XG5cbi5zdGF0LWlubGluZS1pY29uIHtcbiAgICB3aWR0aDogMXJlbTtcbiAgICBoZWlnaHQ6IDFyZW07XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbn1cblxuLnN0YXQtaW5saW5lLXZhbHVlIHtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0KTtcbn1cblxuLnN0YXQtaW5saW5lLWxhYmVsIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xufVxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBBTEVSVEVTIFLDiVVUSUxJU0FCTEVTXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmFsZXJ0IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGdhcDogMC43NXJlbTtcbiAgICBwYWRkaW5nOiAxcmVtO1xuICAgIGJvcmRlci1yYWRpdXM6IDAuNXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW07XG4gICAgYm9yZGVyOiAxcHggc29saWQ7XG59XG5cbi5hbGVydC1pY29uIHtcbiAgICB3aWR0aDogMS4yNXJlbTtcbiAgICBoZWlnaHQ6IDEuMjVyZW07XG4gICAgZmxleC1zaHJpbms6IDA7XG4gICAgbWFyZ2luLXRvcDogMC4xMjVyZW07XG59XG5cbi5hbGVydC1jb250ZW50IHtcbiAgICBmbGV4OiAxO1xufVxuXG4uYWxlcnQtdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dCk7XG4gICAgbWFyZ2luOiAwIDAgMC4yNXJlbSAwO1xufVxuXG4uYWxlcnQtbWVzc2FnZSB7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xuICAgIG1hcmdpbjogMDtcbiAgICBsaW5lLWhlaWdodDogMS40O1xufVxuXG4vKiBWYXJpYW50ZXMgZCdhbGVydGVzICovXG4uYWxlcnQtc3VjY2VzcyB7XG4gICAgYmFja2dyb3VuZDogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLWNvbG9yLXN1Y2Nlc3MpIDEwJSwgdHJhbnNwYXJlbnQpO1xuICAgIGJvcmRlci1jb2xvcjogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLWNvbG9yLXN1Y2Nlc3MpIDIwJSwgdHJhbnNwYXJlbnQpO1xufVxuXG4uYWxlcnQtc3VjY2VzcyAuYWxlcnQtaWNvbiB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXN1Y2Nlc3MpO1xufVxuXG4uYWxlcnQtZGFuZ2VyIHtcbiAgICBiYWNrZ3JvdW5kOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tY29sb3ItZGFuZ2VyKSAxMCUsIHRyYW5zcGFyZW50KTtcbiAgICBib3JkZXItY29sb3I6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1jb2xvci1kYW5nZXIpIDIwJSwgdHJhbnNwYXJlbnQpO1xufVxuXG4uYWxlcnQtZGFuZ2VyIC5hbGVydC1pY29uIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItZGFuZ2VyKTtcbn1cblxuLmFsZXJ0LXdhcm5pbmcge1xuICAgIGJhY2tncm91bmQ6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1jb2xvci13YXJuaW5nKSAxMCUsIHRyYW5zcGFyZW50KTtcbiAgICBib3JkZXItY29sb3I6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1jb2xvci13YXJuaW5nKSAyMCUsIHRyYW5zcGFyZW50KTtcbn1cblxuLmFsZXJ0LXdhcm5pbmcgLmFsZXJ0LWljb24ge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci13YXJuaW5nKTtcbn1cblxuLmFsZXJ0LWluZm8ge1xuICAgIGJhY2tncm91bmQ6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1jb2xvci1pbmZvKSAxMCUsIHRyYW5zcGFyZW50KTtcbiAgICBib3JkZXItY29sb3I6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1jb2xvci1pbmZvKSAyMCUsIHRyYW5zcGFyZW50KTtcbn1cblxuLmFsZXJ0LWluZm8gLmFsZXJ0LWljb24ge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1pbmZvKTtcbn1cblxuLyogQWxlcnRlIGF2ZWMgYm91dG9uIGRlIGZlcm1ldHVyZSAqL1xuLmFsZXJ0LWRpc21pc3NpYmxlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZy1yaWdodDogM3JlbTtcbn1cblxuLmFsZXJ0LWNsb3NlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwLjc1cmVtO1xuICAgIHJpZ2h0OiAwLjc1cmVtO1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGNvbG9yOiBjdXJyZW50Q29sb3I7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHBhZGRpbmc6IDAuMjVyZW07XG4gICAgYm9yZGVyLXJhZGl1czogMC4yNXJlbTtcbiAgICBvcGFjaXR5OiAwLjc7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjE1cztcblxuICAgICY6aG92ZXIge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgIH1cbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBOT1RJRklDQVRJT05TIFNJREVCQVJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4ubm90aWZpY2F0aW9ucy1saXN0IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiAwLjc1cmVtO1xufVxuXG4ubm90aWZpY2F0aW9uLWl0ZW0ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZ2FwOiAwLjc1cmVtO1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgIHBhZGRpbmc6IDAuNzVyZW07XG4gICAgYm9yZGVyLXJhZGl1czogMC41cmVtO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4ycztcblxuICAgICY6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tY29sb3ItYmFja2dyb3VuZCkgMzAlLCB0cmFuc3BhcmVudCk7XG4gICAgfVxufVxuXG4ubm90aWZpY2F0aW9uLXVucmVhZCB7XG4gICAgYmFja2dyb3VuZDogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLWNvbG9yLXByaW1hcnkpIDUlLCB0cmFuc3BhcmVudCk7XG59XG5cbi5ub3RpZmljYXRpb24tZG90IHtcbiAgICB3aWR0aDogMC41cmVtO1xuICAgIGhlaWdodDogMC41cmVtO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBtYXJnaW4tdG9wOiAwLjI1cmVtO1xuICAgIGZsZXgtc2hyaW5rOiAwO1xufVxuXG4ubm90aWZpY2F0aW9uLWNvbnRlbnQge1xuICAgIGZsZXg6IDE7XG59XG5cbi5ub3RpZmljYXRpb24tdGV4dCB7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dCk7XG4gICAgbWFyZ2luOiAwIDAgMC4yNXJlbSAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG59XG5cbi5ub3RpZmljYXRpb24tdGltZSB7XG4gICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LW11dGVkKTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBCQURHRSBERSBOT1RJRklDQVRJT05cbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4ubm90aWZpY2F0aW9uLWJhZGdlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAtNHB4O1xuICAgIHJpZ2h0OiAtNHB4O1xuICAgIG1pbi13aWR0aDogMXJlbTtcbiAgICBoZWlnaHQ6IDFyZW07XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgdmFyKC0tY29sb3ItZGFuZ2VyKSAwJSwgdmFyKC0tY29sb3ItZGFuZ2VyLWRhcmspIDEwMCUpO1xuICAgIGJvcmRlcjogMnB4IHNvbGlkIHZhcigtLWNvbG9yLWJhY2tncm91bmQtcGFuZWwpO1xuICAgIGJvcmRlci1yYWRpdXM6IDAuNXJlbTtcbiAgICBmb250LXNpemU6IDAuNjI1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBwYWRkaW5nOiAwIDAuMjVyZW07XG4gICAgYW5pbWF0aW9uOiBwdWxzZS1ub3RpZmljYXRpb24gMnMgaW5maW5pdGU7XG59XG5cbi5ub3RpZmljYXRpb24tYmFkZ2UtZG90IHtcbiAgICB3aWR0aDogOHB4O1xuICAgIGhlaWdodDogOHB4O1xuICAgIG1pbi13aWR0aDogYXV0bztcbiAgICBwYWRkaW5nOiAwO1xufVxuXG5Aa2V5ZnJhbWVzIHB1bHNlLW5vdGlmaWNhdGlvbiB7XG4gICAgMCUsIDEwMCUgeyB0cmFuc2Zvcm06IHNjYWxlKDEpOyB9XG4gICAgNTAlIHsgdHJhbnNmb3JtOiBzY2FsZSgxLjEpOyB9XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgSU5GTyBCT1hFU1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5pbmZvLWJveCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBnYXA6IDAuNzVyZW07XG4gICAgcGFkZGluZzogMXJlbTtcbiAgICBiYWNrZ3JvdW5kOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tY29sb3ItaW5mbykgMTAlLCB0cmFuc3BhcmVudCk7XG4gICAgYm9yZGVyOiAxcHggc29saWQgY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLWNvbG9yLWluZm8pIDIwJSwgdHJhbnNwYXJlbnQpO1xuICAgIGJvcmRlci1yYWRpdXM6IDAuNXJlbTtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG4uaW5mby1ib3gtaWNvbiB7XG4gICAgd2lkdGg6IDEuMjVyZW07XG4gICAgaGVpZ2h0OiAxLjI1cmVtO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1pbmZvKTtcbiAgICBmbGV4LXNocmluazogMDtcbiAgICBtYXJnaW4tdG9wOiAwLjEyNXJlbTtcbn1cblxuLmluZm8tYm94LWNvbnRlbnQgaDQge1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dCk7XG4gICAgbWFyZ2luOiAwIDAgMC4yNXJlbSAwO1xufVxuXG4uaW5mby1ib3gtY29udGVudCBwIHtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG4gICAgbWFyZ2luOiAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG59XG5cbi5pbmZvLWJveC1jb250ZW50IHAgKyBwIHtcbiAgICBtYXJnaW4tdG9wOiAwLjI1cmVtO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFRPQVNUUyAoUE9VUiBQTFVTIFRBUkQpXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnRvYXN0LWNvbnRhaW5lciB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogMXJlbTtcbiAgICByaWdodDogMXJlbTtcbiAgICB6LWluZGV4OiAxMDAwO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IDAuNXJlbTtcbiAgICBtYXgtd2lkdGg6IDIwcmVtO1xufVxuXG4udG9hc3Qge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZ2FwOiAwLjc1cmVtO1xuICAgIHBhZGRpbmc6IDAuNzVyZW0gMXJlbTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iYWNrZ3JvdW5kLXBhbmVsKTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXIpO1xuICAgIGJvcmRlci1yYWRpdXM6IDAuNXJlbTtcbiAgICBib3gtc2hhZG93OiAwIDEwcHggMTVweCAtM3B4IHJnYigwIDAgMCAvIDAuMSk7XG4gICAgYW5pbWF0aW9uOiB0b2FzdC1zbGlkZS1pbiAwLjNzIGVhc2Utb3V0O1xufVxuXG4udG9hc3Qtc3VjY2VzcyB7XG4gICAgYm9yZGVyLWxlZnQ6IDRweCBzb2xpZCB2YXIoLS1jb2xvci1zdWNjZXNzKTtcbn1cblxuLnRvYXN0LWRhbmdlciB7XG4gICAgYm9yZGVyLWxlZnQ6IDRweCBzb2xpZCB2YXIoLS1jb2xvci1kYW5nZXIpO1xufVxuXG4udG9hc3Qtd2FybmluZyB7XG4gICAgYm9yZGVyLWxlZnQ6IDRweCBzb2xpZCB2YXIoLS1jb2xvci13YXJuaW5nKTtcbn1cblxuLnRvYXN0LWluZm8ge1xuICAgIGJvcmRlci1sZWZ0OiA0cHggc29saWQgdmFyKC0tY29sb3ItaW5mbyk7XG59XG5cbkBrZXlmcmFtZXMgdG9hc3Qtc2xpZGUtaW4ge1xuICAgIGZyb20ge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgfVxuICAgIHRvIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgIH1cbn1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgTElTVEVTIEQnQUNUSVZJVMOJIFLDiVVUSUxJU0FCTEVTXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmFjdGl2aXR5LWxpc3Qge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IDFyZW07XG59XG5cbi5hY3Rpdml0eS1pdGVtIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGdhcDogMXJlbTtcbiAgICBwYWRkaW5nOiAxcmVtO1xuICAgIGJhY2tncm91bmQ6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1jb2xvci1iYWNrZ3JvdW5kKSA1MCUsIHRyYW5zcGFyZW50KTtcbiAgICBib3JkZXItcmFkaXVzOiAwLjVyZW07XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQ6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1jb2xvci1iYWNrZ3JvdW5kKSA4MCUsIHRyYW5zcGFyZW50KTtcbiAgICB9XG59XG5cbi5hY3Rpdml0eS1pY29uIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgd2lkdGg6IDIuNXJlbTtcbiAgICBoZWlnaHQ6IDIuNXJlbTtcbiAgICBib3JkZXItcmFkaXVzOiAwLjVyZW07XG4gICAgZmxleC1zaHJpbms6IDA7XG59XG5cbi5hY3Rpdml0eS1pY29uLXN1Y2Nlc3Mge1xuICAgIGJhY2tncm91bmQ6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1jb2xvci1zdWNjZXNzKSAxNSUsIHRyYW5zcGFyZW50KTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3Itc3VjY2Vzcyk7XG59XG5cbi5hY3Rpdml0eS1pY29uLWluZm8ge1xuICAgIGJhY2tncm91bmQ6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1jb2xvci1pbmZvKSAxNSUsIHRyYW5zcGFyZW50KTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItaW5mbyk7XG59XG5cbi5hY3Rpdml0eS1pY29uLXdhcm5pbmcge1xuICAgIGJhY2tncm91bmQ6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1jb2xvci13YXJuaW5nKSAxNSUsIHRyYW5zcGFyZW50KTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3Itd2FybmluZyk7XG59XG5cbi5hY3Rpdml0eS1pY29uLWRhbmdlciB7XG4gICAgYmFja2dyb3VuZDogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLWNvbG9yLWRhbmdlcikgMTUlLCB0cmFuc3BhcmVudCk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWRhbmdlcik7XG59XG5cbi5hY3Rpdml0eS1jb250ZW50IHtcbiAgICBmbGV4OiAxO1xufVxuXG4uYWN0aXZpdHktdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dCk7XG4gICAgbWFyZ2luOiAwIDAgMC4yNXJlbSAwO1xufVxuXG4uYWN0aXZpdHktZGVzY3JpcHRpb24ge1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbiAgICBtYXJnaW46IDAgMCAwLjVyZW0gMDtcbiAgICBsaW5lLWhlaWdodDogMS40O1xufVxuXG4uYWN0aXZpdHktdGltZSB7XG4gICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LW11dGVkKTtcbn1cblxuLmFjdGl2aXR5LW1ldGEge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDFyZW07XG4gICAgbWFyZ2luLXRvcDogMC41cmVtO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENBUkRTIERFIFBST0pFVFMgUsOJVVRJTElTQUJMRVNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4ucHJvamVjdC1ncmlkIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZml0LCBtaW5tYXgoMjByZW0sIDFmcikpO1xuICAgIGdhcDogMS41cmVtO1xufVxuXG4ucHJvamVjdC1jYXJkIHtcbiAgICBwYWRkaW5nOiAxLjVyZW07XG4gICAgYmFja2dyb3VuZDogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLWNvbG9yLWJhY2tncm91bmQpIDUwJSwgdHJhbnNwYXJlbnQpO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1saWdodCk7XG4gICAgYm9yZGVyLXJhZGl1czogMC43NXJlbTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycztcblxuICAgICY6aG92ZXIge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTJweCk7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgNHB4IDE1cHggY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLWNvbG9yLXRleHQpIDglLCB0cmFuc3BhcmVudCk7XG4gICAgfVxufVxuXG4ucHJvamVjdC1oZWFkZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG59XG5cbi5wcm9qZWN0LXRpdGxlIHtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dCk7XG4gICAgbWFyZ2luOiAwO1xufVxuXG4ucHJvamVjdC1zdGF0dXMge1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIHBhZGRpbmc6IDAuMjVyZW0gMC43NXJlbTtcbiAgICBib3JkZXItcmFkaXVzOiA5OTk5cHg7XG59XG5cbi5wcm9qZWN0LXN0YXR1cy1wcm9ncmVzcyB7XG4gICAgYmFja2dyb3VuZDogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLWNvbG9yLWluZm8pIDE1JSwgdHJhbnNwYXJlbnQpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1pbmZvKTtcbn1cblxuLnByb2plY3Qtc3RhdHVzLXJldmlldyB7XG4gICAgYmFja2dyb3VuZDogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLWNvbG9yLXdhcm5pbmcpIDE1JSwgdHJhbnNwYXJlbnQpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci13YXJuaW5nKTtcbn1cblxuLnByb2plY3Qtc3RhdHVzLWNvbXBsZXRlZCB7XG4gICAgYmFja2dyb3VuZDogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLWNvbG9yLXN1Y2Nlc3MpIDE1JSwgdHJhbnNwYXJlbnQpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1zdWNjZXNzKTtcbn1cblxuLnByb2plY3Qtc3RhdHVzLWJsb2NrZWQge1xuICAgIGJhY2tncm91bmQ6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1jb2xvci1kYW5nZXIpIDE1JSwgdHJhbnNwYXJlbnQpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1kYW5nZXIpO1xufVxuXG4ucHJvamVjdC1kZXNjcmlwdGlvbiB7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xuICAgIG1hcmdpbjogMCAwIDEuNXJlbSAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG59XG5cbi5wcm9qZWN0LXByb2dyZXNzIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW07XG59XG5cbi5wcm9qZWN0LW1ldGEge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LW11dGVkKTtcbn1cblxuLnByb2plY3QtZGVhZGxpbmUsXG4ucHJvamVjdC10ZWFtIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiAwLjI1cmVtO1xufVxuXG4ucHJvamVjdC1kZWFkbGluZSBpLFxuLnByb2plY3QtdGVhbSBpIHtcbiAgICB3aWR0aDogMC44NzVyZW07XG4gICAgaGVpZ2h0OiAwLjg3NXJlbTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBMSVNURVMgU0lNUExFUyAoUE9VUiBGT1JNVUxBSVJFUywgRVRDLilcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uc2ltcGxlLWxpc3Qge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDA7XG59XG5cbi5zaW1wbGUtbGlzdC1pdGVtIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIHBhZGRpbmc6IDAuNzVyZW0gMXJlbTtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLWxpZ2h0KTtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMnM7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLWNvbG9yLWJhY2tncm91bmQpIDMwJSwgdHJhbnNwYXJlbnQpO1xuICAgIH1cblxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgfVxufVxuXG4uc2ltcGxlLWxpc3QtY29udGVudCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogMC43NXJlbTtcbn1cblxuLnNpbXBsZS1saXN0LWljb24ge1xuICAgIHdpZHRoOiAxLjI1cmVtO1xuICAgIGhlaWdodDogMS4yNXJlbTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xuICAgIGZsZXgtc2hyaW5rOiAwO1xufVxuXG4uc2ltcGxlLWxpc3QtdGV4dCB7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dCk7XG59XG5cbi5zaW1wbGUtbGlzdC1hY3Rpb25zIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiAwLjVyZW07XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgVElNRUxJTkUgKFBPVVIgSElTVE9SSVFVRSwgRVRDLilcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udGltZWxpbmUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nLWxlZnQ6IDEuNXJlbTtcbn1cblxuLnRpbWVsaW5lOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAwLjVyZW07XG4gICAgdG9wOiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICB3aWR0aDogMnB4O1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJvcmRlcik7XG59XG5cbi50aW1lbGluZS1pdGVtIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luLWJvdHRvbTogMnJlbTtcbn1cblxuLnRpbWVsaW5lLWl0ZW06OmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IC0xLjI1cmVtO1xuICAgIHRvcDogMC4yNXJlbTtcbiAgICB3aWR0aDogMC43NXJlbTtcbiAgICBoZWlnaHQ6IDAuNzVyZW07XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGJvcmRlcjogMnB4IHNvbGlkIHZhcigtLWNvbG9yLWJhY2tncm91bmQtcGFuZWwpO1xufVxuXG4udGltZWxpbmUtY29udGVudCB7XG4gICAgcGFkZGluZzogMXJlbTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iYWNrZ3JvdW5kLXBhbmVsKTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXIpO1xuICAgIGJvcmRlci1yYWRpdXM6IDAuNXJlbTtcbn1cblxuLnRpbWVsaW5lLXRpbWUge1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1tdXRlZCk7XG4gICAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xufVxuXG4udGltZWxpbmUtdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dCk7XG4gICAgbWFyZ2luOiAwIDAgMC4yNXJlbSAwO1xufVxuXG4udGltZWxpbmUtZGVzY3JpcHRpb24ge1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbiAgICBtYXJnaW46IDA7XG4gICAgbGluZS1oZWlnaHQ6IDEuNDtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBSRVNQT05TSVZFXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgLnByb2plY3QtZ3JpZCB7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuICAgIH1cblxuICAgIC5hY3Rpdml0eS1pdGVtIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cblxuICAgIC5hY3Rpdml0eS1pY29uIHtcbiAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgIH1cblxuICAgIC50aW1lbGluZSB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMXJlbTtcbiAgICB9XG5cbiAgICAudGltZWxpbmUtaXRlbTo6YmVmb3JlIHtcbiAgICAgICAgbGVmdDogLTAuODc1cmVtO1xuICAgIH1cbn1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgUEFHRVMgUFVCTElRVUVTIChTb2Npw6l0w6ksIENvbnRhY3QsIGV0Yy4pXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBIRVJPIOKAlCBQYWdlIFNvY2nDqXTDqVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5wdWJsaWMtaGVybyB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7XG4gICAgZ2FwOiAzcmVtO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgcGFkZGluZzogM3JlbSAwIDRyZW07XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1saWdodCk7XG59XG5cbi5wdWJsaWMtaGVyby1iYWRnZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDAuNXJlbTtcbiAgICBwYWRkaW5nOiAwLjM3NXJlbSAwLjg3NXJlbTtcbiAgICBiYWNrZ3JvdW5kOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tY29sb3ItYWNjZW50KSAxMiUsIHRyYW5zcGFyZW50KTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItYWNjZW50KTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tY29sb3ItYWNjZW50KSAyNSUsIHRyYW5zcGFyZW50KTtcbiAgICBib3JkZXItcmFkaXVzOiA5OTk5cHg7XG4gICAgZm9udC1zaXplOiAwLjhyZW07XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4wMmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDEuNXJlbTtcblxuICAgIGkgeyB3aWR0aDogMC44NzVyZW07IGhlaWdodDogMC44NzVyZW07IH1cbn1cblxuLnB1YmxpYy1oZXJvLXRpdGxlIHtcbiAgICBmb250LXNpemU6IDIuNzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDgwMDtcbiAgICBsaW5lLWhlaWdodDogMS4xNTtcbiAgICBsZXR0ZXItc3BhY2luZzogLTAuMDNlbTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dCk7XG4gICAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTtcbn1cblxuLnB1YmxpYy1oZXJvLWFjY2VudCB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWFjY2VudCk7XG59XG5cbjpyb290LmRhcmsgLnB1YmxpYy1oZXJvLXRpdGxlIHtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCB2YXIoLS1jb2xvci10ZXh0KSAwJSwgY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLWNvbG9yLXRleHQpIDgwJSwgdmFyKC0tY29sb3ItYWNjZW50KSAyMCUpIDEwMCUpO1xuICAgIGJhY2tncm91bmQtY2xpcDogdGV4dDtcbiAgICAtd2Via2l0LWJhY2tncm91bmQtY2xpcDogdGV4dDtcbiAgICAtd2Via2l0LXRleHQtZmlsbC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbjpyb290LmRhcmsgLnB1YmxpYy1oZXJvLWFjY2VudCB7XG4gICAgLXdlYmtpdC10ZXh0LWZpbGwtY29sb3I6IHZhcigtLWNvbG9yLWFjY2VudCk7XG59XG5cbi5wdWJsaWMtaGVyby1kZXNjIHtcbiAgICBmb250LXNpemU6IDEuMDYyNXJlbTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjc7XG4gICAgbWFyZ2luLWJvdHRvbTogMnJlbTtcbiAgICBtYXgtd2lkdGg6IDM2cmVtO1xufVxuXG4ucHVibGljLWhlcm8tYWN0aW9ucyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBnYXA6IDFyZW07XG4gICAgZmxleC13cmFwOiB3cmFwO1xufVxuXG4vKiBCb3V0b24gb3V0bGluZSBibGFuYyAoc3VyIGZvbmQgY29sb3LDqSkgKi9cbi5idG4tb3V0bGluZS13aGl0ZSB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyOiAycHggc29saWQgY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLWNvbG9yLXByaW1hcnkpIDQwJSwgdHJhbnNwYXJlbnQpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcblxuICAgICY6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tY29sb3ItcHJpbWFyeSkgOCUsIHRyYW5zcGFyZW50KTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbiAgICB9XG59XG5cbjpyb290LmRhcmsgLmJ0bi1vdXRsaW5lLXdoaXRlIHtcbiAgICBib3JkZXItY29sb3I6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1jb2xvci1ib3JkZXIpIDgwJSwgdHJhbnNwYXJlbnQpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0KTtcblxuICAgICY6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiBjb2xvci1taXgoaW4gc3JnYiwgd2hpdGUgOCUsIHRyYW5zcGFyZW50KTtcbiAgICB9XG59XG5cbi8qIFN0YXRzIGdyaWQgZGFucyBsZSBoZXJvICovXG4ucHVibGljLWhlcm8tdmlzdWFsIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi5wdWJsaWMtaGVyby1zdGF0LWdyaWQge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyO1xuICAgIGdhcDogMS41cmVtO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogMjhyZW07XG59XG5cbi5wdWJsaWMtaGVyby1zdGF0IHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iYWNrZ3JvdW5kLXBhbmVsKTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXIpO1xuICAgIGJvcmRlci1yYWRpdXM6IDFyZW07XG4gICAgcGFkZGluZzogMS41cmVtO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBib3gtc2hhZG93OiAwIDRweCAyMHB4IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1jb2xvci10ZXh0KSA2JSwgdHJhbnNwYXJlbnQpO1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjJzO1xuXG4gICAgJjpob3ZlciB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtM3B4KTsgfVxufVxuXG46cm9vdC5kYXJrIC5wdWJsaWMtaGVyby1zdGF0IHtcbiAgICBiYWNrZ3JvdW5kOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tY29sb3ItYmFja2dyb3VuZC1wYW5lbCkgOTAlLCB0cmFuc3BhcmVudCk7XG4gICAgYmFja2Ryb3AtZmlsdGVyOiBibHVyKDEwcHgpO1xuICAgIGJvcmRlci1jb2xvcjogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLWNvbG9yLWJvcmRlcikgNjAlLCB0cmFuc3BhcmVudCk7XG4gICAgYm94LXNoYWRvdzogMCA4cHggMzJweCBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tY29sb3ItcHJpbWFyeSkgMTAlLCB0cmFuc3BhcmVudCk7XG59XG5cbi5wdWJsaWMtaGVyby1zdGF0LW51bWJlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1zaXplOiAycmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA4MDA7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWFjY2VudCk7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAzZW07XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgbWFyZ2luLWJvdHRvbTogMC4zNzVyZW07XG59XG5cbi5wdWJsaWMtaGVyby1zdGF0LWxhYmVsIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXNpemU6IDAuOHJlbTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjM7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgU0VDVElPTlMgQ09NTVVORVNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4ucHVibGljLXNlY3Rpb24ge1xuICAgIHBhZGRpbmc6IDNyZW0gMDtcbiAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xufVxuXG4ucHVibGljLXNlY3Rpb24tYWx0IHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iYWNrZ3JvdW5kLXBhbmVsKTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItbGlnaHQpO1xuICAgIGJvcmRlci1yYWRpdXM6IDEuNXJlbTtcbiAgICBwYWRkaW5nOiAzcmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDJyZW07XG59XG5cbjpyb290LmRhcmsgLnB1YmxpYy1zZWN0aW9uLWFsdCB7XG4gICAgYmFja2dyb3VuZDogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLWNvbG9yLWJhY2tncm91bmQtcGFuZWwpIDgwJSwgdHJhbnNwYXJlbnQpO1xuICAgIGJhY2tkcm9wLWZpbHRlcjogYmx1cigxMHB4KTtcbiAgICBib3JkZXItY29sb3I6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1jb2xvci1ib3JkZXIpIDUwJSwgdHJhbnNwYXJlbnQpO1xufVxuXG4ucHVibGljLXNlY3Rpb24taGVhZGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbWFyZ2luLWJvdHRvbTogM3JlbTtcbn1cblxuLnB1YmxpYy1zZWN0aW9uLXRhZyB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDAuMzc1cmVtO1xuICAgIHBhZGRpbmc6IDAuMjVyZW0gMC43NXJlbTtcbiAgICBiYWNrZ3JvdW5kOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tY29sb3ItcHJpbWFyeSkgMTAlLCB0cmFuc3BhcmVudCk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xuICAgIGJvcmRlci1yYWRpdXM6IDk5OTlweDtcbiAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjA4ZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcblxuICAgIGkgeyB3aWR0aDogMC44cmVtOyBoZWlnaHQ6IDAuOHJlbTsgfVxufVxuXG46cm9vdC5kYXJrIC5wdWJsaWMtc2VjdGlvbi10YWcge1xuICAgIGJhY2tncm91bmQ6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1jb2xvci1hY2NlbnQpIDEyJSwgdHJhbnNwYXJlbnQpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1hY2NlbnQpO1xufVxuXG4ucHVibGljLXNlY3Rpb24tdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0KTtcbiAgICBsZXR0ZXItc3BhY2luZzogLTAuMDI1ZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMC43NXJlbTtcbn1cblxuLnB1YmxpYy1zZWN0aW9uLXN1YnRpdGxlIHtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbiAgICBsaW5lLWhlaWdodDogMS42O1xuICAgIG1heC13aWR0aDogNDJyZW07XG4gICAgbWFyZ2luLWlubGluZTogYXV0bztcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDQVJEUyDigJQgU2VydmljZXMgLyBBdmFudGFnZXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4ucHVibGljLWNhcmRzLWdyaWQge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maXQsIG1pbm1heCgxOHJlbSwgMWZyKSk7XG4gICAgZ2FwOiAxLjVyZW07XG59XG5cbi5wdWJsaWMtY2FyZCB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmFja2dyb3VuZC1wYW5lbCk7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyKTtcbiAgICBib3JkZXItcmFkaXVzOiAxcmVtO1xuICAgIHBhZGRpbmc6IDEuNzVyZW07XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMnMsIGJveC1zaGFkb3cgMC4ycztcblxuICAgICY6aG92ZXIge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTNweCk7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMTJweCAzMHB4IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1jb2xvci10ZXh0KSA4JSwgdHJhbnNwYXJlbnQpO1xuICAgIH1cbn1cblxuOnJvb3QuZGFyayAucHVibGljLWNhcmQge1xuICAgIGJhY2tncm91bmQ6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1jb2xvci1iYWNrZ3JvdW5kLXBhbmVsKSA5MCUsIHRyYW5zcGFyZW50KTtcbiAgICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoMTBweCk7XG4gICAgYm9yZGVyLWNvbG9yOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tY29sb3ItYm9yZGVyKSA2MCUsIHRyYW5zcGFyZW50KTtcblxuICAgICY6aG92ZXIge1xuICAgICAgICBib3gtc2hhZG93OiAwIDEycHggMzBweCBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tY29sb3ItcHJpbWFyeSkgMTIlLCB0cmFuc3BhcmVudCk7XG4gICAgfVxufVxuXG4ucHVibGljLWNhcmQtaWNvbiB7XG4gICAgd2lkdGg6IDNyZW07XG4gICAgaGVpZ2h0OiAzcmVtO1xuICAgIGJvcmRlci1yYWRpdXM6IDAuNzVyZW07XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIG1hcmdpbi1ib3R0b206IDEuMjVyZW07XG5cbiAgICBpIHsgd2lkdGg6IDEuNXJlbTsgaGVpZ2h0OiAxLjVyZW07IH1cbn1cblxuLnB1YmxpYy1jYXJkLWljb24tcHJpbWFyeSB7XG4gICAgYmFja2dyb3VuZDogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLWNvbG9yLXByaW1hcnkpIDEyJSwgdHJhbnNwYXJlbnQpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbn1cblxuLnB1YmxpYy1jYXJkLWljb24tc3VjY2VzcyB7XG4gICAgYmFja2dyb3VuZDogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLWNvbG9yLXN1Y2Nlc3MpIDEyJSwgdHJhbnNwYXJlbnQpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1zdWNjZXNzKTtcbn1cblxuLnB1YmxpYy1jYXJkLWljb24tYWNjZW50IHtcbiAgICBiYWNrZ3JvdW5kOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tY29sb3ItYWNjZW50KSAxMiUsIHRyYW5zcGFyZW50KTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItYWNjZW50KTtcbn1cblxuLnB1YmxpYy1jYXJkLWljb24td2FybmluZyB7XG4gICAgYmFja2dyb3VuZDogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLWNvbG9yLXdhcm5pbmcpIDEyJSwgdHJhbnNwYXJlbnQpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci13YXJuaW5nKTtcbn1cblxuLnB1YmxpYy1jYXJkLWljb24taW5mbyB7XG4gICAgYmFja2dyb3VuZDogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLWNvbG9yLWluZm8pIDEyJSwgdHJhbnNwYXJlbnQpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1pbmZvKTtcbn1cblxuLnB1YmxpYy1jYXJkLXRpdGxlIHtcbiAgICBmb250LXNpemU6IDEuMDYyNXJlbTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0KTtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjYyNXJlbTtcbn1cblxuLnB1YmxpYy1jYXJkLWRlc2Mge1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbiAgICBsaW5lLWhlaWdodDogMS42O1xuICAgIG1hcmdpbjogMDtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBWQUxFVVJTXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnB1YmxpYy12YWx1ZXMtZ3JpZCB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpdCwgbWlubWF4KDIwcmVtLCAxZnIpKTtcbiAgICBnYXA6IDJyZW07XG59XG5cbi5wdWJsaWMtdmFsdWUtaXRlbSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBnYXA6IDEuMjVyZW07XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG59XG5cbi5wdWJsaWMtdmFsdWUtaWNvbiB7XG4gICAgd2lkdGg6IDIuNXJlbTtcbiAgICBoZWlnaHQ6IDIuNXJlbTtcbiAgICBib3JkZXItcmFkaXVzOiAwLjVyZW07XG4gICAgYmFja2dyb3VuZDogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLWNvbG9yLWFjY2VudCkgMTIlLCB0cmFuc3BhcmVudCk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWFjY2VudCk7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuXG4gICAgaSB7IHdpZHRoOiAxLjI1cmVtOyBoZWlnaHQ6IDEuMjVyZW07IH1cbn1cblxuLnB1YmxpYy12YWx1ZS10aXRsZSB7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQpO1xuICAgIG1hcmdpbjogMCAwIDAuMzc1cmVtIDA7XG59XG5cbi5wdWJsaWMtdmFsdWUtZGVzYyB7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjY7XG4gICAgbWFyZ2luOiAwO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENUQSDigJQgQXBwZWwgw6AgbCdhY3Rpb25cbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4ucHVibGljLWN0YSB7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgdmFyKC0tY29sb3ItcHJpbWFyeSkgMCUsIGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1jb2xvci1wcmltYXJ5KSA4MCUsIHZhcigtLWNvbG9yLWFjY2VudCkgMjAlKSAxMDAlKTtcbiAgICBib3JkZXItcmFkaXVzOiAxLjVyZW07XG4gICAgcGFkZGluZzogNHJlbSAycmVtO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBtYXJnaW46IDJyZW0gMCAzcmVtO1xufVxuXG4ucHVibGljLWN0YS10aXRsZSB7XG4gICAgZm9udC1zaXplOiAycmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMjVlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjc1cmVtO1xufVxuXG4ucHVibGljLWN0YS1kZXNjIHtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgY29sb3I6IGNvbG9yLW1peChpbiBzcmdiLCB3aGl0ZSA3NSUsIHRyYW5zcGFyZW50KTtcbiAgICBsaW5lLWhlaWdodDogMS42O1xuICAgIG1heC13aWR0aDogMzhyZW07XG4gICAgbWFyZ2luOiAwIGF1dG8gMnJlbTtcbn1cblxuLmJ0bi1hY2NlbnQge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWFjY2VudCk7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIGJvcmRlcjogbm9uZTtcblxuICAgICY6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1hY2NlbnQtZGFyayk7XG4gICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICB9XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgUEFHRSBDT05UQUNUXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnB1YmxpYy1wYWdlLWhlYWRlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHBhZGRpbmc6IDNyZW0gMCAyLjVyZW07XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1saWdodCk7XG4gICAgbWFyZ2luLWJvdHRvbTogM3JlbTtcbn1cblxuLnB1YmxpYy1wYWdlLXRpdGxlIHtcbiAgICBmb250LXNpemU6IDIuMjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDgwMDtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dCk7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAzZW07XG4gICAgbWFyZ2luOiAwLjc1cmVtIDAgMC43NXJlbTtcbn1cblxuLnB1YmxpYy1wYWdlLXN1YnRpdGxlIHtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbiAgICBsaW5lLWhlaWdodDogMS42O1xuICAgIG1heC13aWR0aDogNDJyZW07XG4gICAgbWFyZ2luLWlubGluZTogYXV0bztcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFBBR0UgQ09OVEFDVCDigJQgTGF5b3V0IHByaW5jaXBhbFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5wdWJsaWMtY29udGFjdC1sYXlvdXQge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMjJyZW07XG4gICAgZ2FwOiAycmVtO1xuICAgIGFsaWduLWl0ZW1zOiBzdGFydDtcbiAgICBtYXJnaW4tYm90dG9tOiAzcmVtO1xufVxuXG4vKiBDb2xvbm5lIGdhdWNoZSA6IGZvcm11bGFpcmUgKyBtYXAgKi9cbi5wdWJsaWMtY29udGFjdC1sZWZ0IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiAxLjVyZW07XG59XG5cbi8qIENvbG9ubmUgZHJvaXRlIDogY29vcmRvbm7DqWVzICsgYWNjw6hzICovXG4ucHVibGljLWNvbnRhY3QtcmlnaHQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IDEuMjVyZW07XG4gICAgcG9zaXRpb246IHN0aWNreTtcbiAgICB0b3A6IDVyZW07IC8qIGNvbGxlIHNvdXMgbGUgaGVhZGVyIHN0aWNreSAqL1xufVxuXG4vKiBUaXRyZSBkdSBmb3JtdWxhaXJlICovXG4ucHVibGljLWZvcm0tdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0KTtcbiAgICBtYXJnaW46IDAgMCAxLjc1cmVtIDA7XG4gICAgcGFkZGluZy1ib3R0b206IDFyZW07XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1saWdodCk7XG59XG5cbi8qIExpZ25lIDIgY29sb25uZXMgKHByw6lub20gLyBub20pICovXG4ucHVibGljLWZvcm0tcm93IHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmcjtcbiAgICBnYXA6IDFyZW07XG59XG5cbi5wdWJsaWMtY29udGFjdC1mb3JtIC5mb3JtLWdyb3VwIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtO1xufVxuXG4ucHVibGljLWNvbnRhY3QtZm9ybSAuZm9ybS1ncm91cDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4uZm9ybS10ZXh0YXJlYSB7XG4gICAgcmVzaXplOiB2ZXJ0aWNhbDtcbiAgICBtaW4taGVpZ2h0OiA4cmVtO1xufVxuXG4uZm9ybS1zZWxlY3Qge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLmZvcm0tcmVxdWlyZWQge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1kYW5nZXIpO1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDQVJURSBNQVAgKGRhbnMgbGEgY29sb25uZSBnYXVjaGUpXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnB1YmxpYy1tYXAtY2FyZCB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmFja2dyb3VuZC1wYW5lbCk7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyKTtcbiAgICBib3JkZXItcmFkaXVzOiAwLjc1cmVtO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgYm94LXNoYWRvdzogMCA0cHggMjBweCBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tY29sb3ItdGV4dCkgNiUsIHRyYW5zcGFyZW50KTtcbn1cblxuOnJvb3QuZGFyayAucHVibGljLW1hcC1jYXJkIHtcbiAgICBiYWNrZ3JvdW5kOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tY29sb3ItYmFja2dyb3VuZC1wYW5lbCkgOTAlLCB0cmFuc3BhcmVudCk7XG4gICAgYm9yZGVyLWNvbG9yOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tY29sb3ItYm9yZGVyKSA2MCUsIHRyYW5zcGFyZW50KTtcbiAgICBib3gtc2hhZG93OiAwIDhweCAzMnB4IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1jb2xvci1wcmltYXJ5KSA4JSwgdHJhbnNwYXJlbnQpO1xufVxuXG4ucHVibGljLW1hcC10aXRsZSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogMC41cmVtO1xuICAgIGZvbnQtc2l6ZTogMC45cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQpO1xuICAgIHBhZGRpbmc6IDFyZW0gMS4yNXJlbTtcbiAgICBtYXJnaW46IDA7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1saWdodCk7XG4gICAgYmFja2dyb3VuZDogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLWNvbG9yLWJhY2tncm91bmQpIDUwJSwgdHJhbnNwYXJlbnQpO1xuXG4gICAgaSB7IHdpZHRoOiAxcmVtOyBoZWlnaHQ6IDFyZW07IGNvbG9yOiB2YXIoLS1jb2xvci1hY2NlbnQpOyBmbGV4LXNocmluazogMDsgfVxufVxuXG4ucHVibGljLW1hcC13cmFwcGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBsaW5lLWhlaWdodDogMDsgLyogU3VwcHJpbWUgbCdlc3BhY2Ugc291cyBsJ2lmcmFtZSAqL1xuXG4gICAgaWZyYW1lIHsgZGlzcGxheTogYmxvY2s7IH1cbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDT09SRE9OTsOJRVNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4ucHVibGljLWNvbnRhY3QtbGlzdCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuXG4ucHVibGljLWNvbnRhY3QtaXRlbSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICBnYXA6IDAuODc1cmVtO1xuICAgIHBhZGRpbmc6IDAuNzVyZW0gMC41cmVtO1xuICAgIGJvcmRlci1yYWRpdXM6IDAuNXJlbTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQpO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4xNXM7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1saWdodCk7XG5cbiAgICAmOmxhc3QtY2hpbGQgeyBib3JkZXItYm90dG9tOiBub25lOyB9XG5cbiAgICAmOmlzKGEpOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLWNvbG9yLXByaW1hcnkpIDYlLCB0cmFuc3BhcmVudCk7XG4gICAgfVxufVxuXG4ucHVibGljLWNvbnRhY3QtaXRlbS1pY29uIHtcbiAgICB3aWR0aDogMnJlbTtcbiAgICBoZWlnaHQ6IDJyZW07XG4gICAgYm9yZGVyLXJhZGl1czogMC41cmVtO1xuICAgIGJhY2tncm91bmQ6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1jb2xvci1wcmltYXJ5KSAxMCUsIHRyYW5zcGFyZW50KTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuXG4gICAgaSB7IHdpZHRoOiAwLjg3NXJlbTsgaGVpZ2h0OiAwLjg3NXJlbTsgfVxufVxuXG4ucHVibGljLWNvbnRhY3QtaXRlbS1sYWJlbCB7XG4gICAgZm9udC1zaXplOiAwLjdyZW07XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbXV0ZWQtYWNjZXNzaWJsZSwgdmFyKC0tY29sb3ItdGV4dC1tdXRlZCkpO1xuICAgIG1hcmdpbjogMCAwIDAuMTVyZW0gMDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMDZlbTtcbn1cblxuLnB1YmxpYy1jb250YWN0LWl0ZW0tdmFsdWUge1xuICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0KTtcbiAgICBtYXJnaW46IDA7XG4gICAgbGluZS1oZWlnaHQ6IDEuNDU7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQkxPQyBBQ0PDiFMgKHRyYW5zcG9ydHMpXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnB1YmxpYy1hY2Nlc3MtbGlzdCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogMDtcbn1cblxuLnB1YmxpYy1hY2Nlc3MtaXRlbSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICBnYXA6IDFyZW07XG4gICAgcGFkZGluZzogMC44NzVyZW0gMDtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLWxpZ2h0KTtcblxuICAgICY6bGFzdC1jaGlsZCB7IGJvcmRlci1ib3R0b206IG5vbmU7IH1cbn1cblxuLnB1YmxpYy1hY2Nlc3MtaWNvbiB7XG4gICAgd2lkdGg6IDIuMjVyZW07XG4gICAgaGVpZ2h0OiAyLjI1cmVtO1xuICAgIGJvcmRlci1yYWRpdXM6IDAuNXJlbTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgZmxleC1zaHJpbms6IDA7XG5cbiAgICBpIHsgd2lkdGg6IDFyZW07IGhlaWdodDogMXJlbTsgfVxufVxuXG4ucHVibGljLWFjY2Vzcy1pY29uLWJ1cyB7XG4gICAgYmFja2dyb3VuZDogY29sb3ItbWl4KGluIHNyZ2IsICNmOTczMTYgMTIlLCB0cmFuc3BhcmVudCk7XG4gICAgY29sb3I6ICNmOTczMTY7XG59XG5cbi5wdWJsaWMtYWNjZXNzLWljb24tbWV0cm8ge1xuICAgIGJhY2tncm91bmQ6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1jb2xvci1wcmltYXJ5KSAxMiUsIHRyYW5zcGFyZW50KTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG59XG5cbi5wdWJsaWMtYWNjZXNzLWljb24tcmVyIHtcbiAgICBiYWNrZ3JvdW5kOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tY29sb3Itc3VjY2VzcykgMTIlLCB0cmFuc3BhcmVudCk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXN1Y2Nlc3MpO1xufVxuXG4ucHVibGljLWFjY2Vzcy1pY29uLWNhciB7XG4gICAgYmFja2dyb3VuZDogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLWNvbG9yLXRleHQtc2Vjb25kYXJ5KSAxMiUsIHRyYW5zcGFyZW50KTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xufVxuXG4ucHVibGljLWFjY2Vzcy1tb2RlIHtcbiAgICBmb250LXNpemU6IDAuOHJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMDZlbTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dCk7XG4gICAgbWFyZ2luOiAwIDAgMC4yNXJlbSAwO1xufVxuXG4ucHVibGljLWFjY2Vzcy1kZXRhaWwge1xuICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICBtYXJnaW46IDA7XG5cbiAgICBzdHJvbmcgeyBjb2xvcjogdmFyKC0tY29sb3ItdGV4dCk7IGZvbnQtd2VpZ2h0OiA2MDA7IH1cbiAgICBlbSB7IGZvbnQtc3R5bGU6IG5vcm1hbDsgY29sb3I6IHZhcigtLWNvbG9yLXRleHQpOyB9XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ0FSVEUgR09PR0xFIE1BUFNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4ucHVibGljLW1hcC1zZWN0aW9uIHtcbiAgICBtYXJnaW46IDJyZW0gMCAzcmVtO1xufVxuXG4ucHVibGljLW1hcC10aXRsZSB7XG4gICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQpO1xuICAgIG1hcmdpbjogMCAwIDEuMjVyZW0gMDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiAwLjVyZW07XG59XG5cbi5wdWJsaWMtbWFwLXdyYXBwZXIge1xuICAgIGJvcmRlci1yYWRpdXM6IDAuNzVyZW07XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXIpO1xuICAgIGJveC1zaGFkb3c6IDAgNHB4IDIwcHggY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLWNvbG9yLXRleHQpIDglLCB0cmFuc3BhcmVudCk7XG59XG5cbjpyb290LmRhcmsgLnB1YmxpYy1tYXAtd3JhcHBlciB7XG4gICAgYm9yZGVyLWNvbG9yOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tY29sb3ItYm9yZGVyKSA2MCUsIHRyYW5zcGFyZW50KTtcbiAgICBib3gtc2hhZG93OiAwIDhweCAzMnB4IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1jb2xvci1wcmltYXJ5KSAxMCUsIHRyYW5zcGFyZW50KTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBSRVNQT05TSVZFXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyog4pSA4pSAIFRhYmxldHRlIHBheXNhZ2UgKOKJpCAxMDI0cHgpIOKUgOKUgCAqL1xuQG1lZGlhIChtYXgtd2lkdGg6IDEwMjRweCkge1xuICAgIC5wdWJsaWMtaGVybyB7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuICAgICAgICBnYXA6IDJyZW07XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG5cbiAgICAucHVibGljLWhlcm8tZGVzYyB7IG1hcmdpbi1pbmxpbmU6IGF1dG87IH1cbiAgICAucHVibGljLWhlcm8tYWN0aW9ucyB7IGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gICAgLnB1YmxpYy1oZXJvLXZpc3VhbCB7IGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG5cbiAgICAucHVibGljLWNvbnRhY3QtbGF5b3V0IHtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG4gICAgfVxuXG4gICAgLyogU2lkZWJhciBwYXNzZSBlbiAyIGNvbG9ubmVzIGPDtHRlIMOgIGPDtHRlICovXG4gICAgLnB1YmxpYy1jb250YWN0LXJpZ2h0IHtcbiAgICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyO1xuICAgIH1cbn1cblxuLyog4pSA4pSAIFRhYmxldHRlIHBvcnRyYWl0ICjiiaQgNzY4cHgpIOKUgOKUgCAqL1xuQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgLnB1YmxpYy1oZXJvIHtcbiAgICAgICAgcGFkZGluZzogMnJlbSAwIDNyZW07XG4gICAgfVxuXG4gICAgLnB1YmxpYy1oZXJvLXRpdGxlIHsgZm9udC1zaXplOiAyLjI1cmVtOyB9XG5cbiAgICAucHVibGljLXNlY3Rpb24tdGl0bGUgeyBmb250LXNpemU6IDEuNjI1cmVtOyB9XG5cbiAgICAucHVibGljLXNlY3Rpb24tYWx0IHtcbiAgICAgICAgcGFkZGluZzogMi41cmVtIDEuNXJlbTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMXJlbTtcbiAgICB9XG5cbiAgICAucHVibGljLXBhZ2UtaGVhZGVyIHtcbiAgICAgICAgcGFkZGluZzogMnJlbSAwIDJyZW07XG4gICAgfVxuXG4gICAgLnB1YmxpYy1jdGEge1xuICAgICAgICBwYWRkaW5nOiAzcmVtIDEuNXJlbTtcbiAgICB9XG59XG5cbi8qIOKUgOKUgCBNb2JpbGUgKOKJpCA2NDBweCkg4pSA4pSAICovXG5AbWVkaWEgKG1heC13aWR0aDogNjQwcHgpIHtcbiAgICAucHVibGljLWhlcm8geyBwYWRkaW5nOiAxLjVyZW0gMCAycmVtOyB9XG4gICAgLnB1YmxpYy1oZXJvLXRpdGxlIHsgZm9udC1zaXplOiAxLjg3NXJlbTsgfVxuICAgIC5wdWJsaWMtaGVyby1zdGF0LWdyaWQge1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAucHVibGljLXNlY3Rpb24tdGl0bGUgeyBmb250LXNpemU6IDEuMzc1cmVtOyB9XG4gICAgLnB1YmxpYy1zZWN0aW9uLXN1YnRpdGxlIHsgZm9udC1zaXplOiAwLjkzNzVyZW07IH1cblxuICAgIC5wdWJsaWMtY2FyZHMtZ3JpZCB7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyOyB9XG4gICAgLnB1YmxpYy12YWx1ZXMtZ3JpZCB7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyOyB9XG4gICAgLnB1YmxpYy1mb3JtLXJvdyB7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyOyB9XG5cbiAgICAucHVibGljLXNlY3Rpb24tYWx0IHsgcGFkZGluZzogMnJlbSAxLjI1cmVtOyB9XG4gICAgLnB1YmxpYy1jdGEgeyBwYWRkaW5nOiAyLjVyZW0gMS4yNXJlbTsgfVxuICAgIC5wdWJsaWMtY3RhLXRpdGxlIHsgZm9udC1zaXplOiAxLjVyZW07IH1cblxuICAgIC5wdWJsaWMtY29udGFjdC1yaWdodCB7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuICAgIH1cblxuICAgIC5wdWJsaWMtcGFnZS1oZWFkZXIgeyBwYWRkaW5nOiAxLjVyZW0gMCAxLjVyZW07IH1cbiAgICAucHVibGljLXBhZ2UtdGl0bGUgeyBmb250LXNpemU6IDEuNzVyZW07IH1cbn1cblxuLyog4pSA4pSAIFRyw6hzIHBldGl0cyDDqWNyYW5zICjiiaQgNDgwcHgpIOKUgOKUgCAqL1xuQG1lZGlhIChtYXgtd2lkdGg6IDQ4MHB4KSB7XG4gICAgLnB1YmxpYy1oZXJvLXRpdGxlIHsgZm9udC1zaXplOiAxLjYyNXJlbTsgfVxuICAgIC5wdWJsaWMtaGVyby1zdGF0IHtcbiAgICAgICAgcGFkZGluZzogMXJlbTtcbiAgICB9XG4gICAgLnB1YmxpYy1oZXJvLXN0YXQtbnVtYmVyIHsgZm9udC1zaXplOiAxLjYyNXJlbTsgfVxuICAgIC5wdWJsaWMtaGVybyB7IHBhZGRpbmc6IDEuMjVyZW0gMCAxLjc1cmVtOyB9XG5cbiAgICAucHVibGljLXNlY3Rpb24tdGl0bGUgeyBmb250LXNpemU6IDEuMjVyZW07IH1cbiAgICAucHVibGljLWN0YS10aXRsZSB7IGZvbnQtc2l6ZTogMS4yNXJlbTsgfVxuICAgIC5wdWJsaWMtY3RhIHsgYm9yZGVyLXJhZGl1czogMXJlbTsgfVxuXG4gICAgLnB1YmxpYy1zZWN0aW9uLWFsdCB7XG4gICAgICAgIHBhZGRpbmc6IDEuNXJlbSAxcmVtO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwLjc1cmVtO1xuICAgIH1cbn1cblxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9*/