@charset "UTF-8";
:root {
  --color-bg: #f7f3ee;
  --color-surface: #ffffff;
  --color-surface-alt: #f2ece4;
  --color-border: #e2d9cf;
  --color-border-light: #efe7de;
  --color-text: #2b241d;
  --color-text-muted: #7e7366;
  --color-primary: #3f6b5b;
  --color-primary-strong: #325648;
  --color-secondary: #9b7b56;
  --color-success: #4f7a68;
  --color-danger: #b85b56;
  --color-warning: #c2a04d;
  --color-info: #6f8aa5;
  --color-overlay: rgba(40, 32, 24, 0.4);
  --color-correct: #4f7a68;
  --color-correct-text: #f7f3ee;
  --color-present: #c2a04d;
  --color-present-text: #3a2a14;
  --color-absent: #d1c8bd;
  --color-absent-text: #695f55;
  --color-absent-border: #c4bbaf;
  --color-key: #e8e1d8;
  --color-key-hover: #ded6cc;
  --space-1: 0.25rem;
  --space-2: 0.5rem;
  --space-3: 0.75rem;
  --space-4: 1rem;
  --space-5: 1.5rem;
  --space-6: 2rem;
  --space-7: 3rem;
  --radius-xs: 4px;
  --radius-sm: 6px;
  --radius-md: 10px;
  --radius-lg: 16px;
  --shadow-soft: 0 10px 30px rgba(58, 46, 33, 0.08);
  --shadow-strong: 0 18px 50px rgba(58, 46, 33, 0.16);
  --font-base: "Source Sans 3", "Helvetica Neue", Arial, sans-serif;
  --font-display: "Fraunces", "Georgia", "Times New Roman", serif;
  --font-size-base: 16px;
  --font-size-sm: 0.9rem;
  --font-size-lg: 1.15rem;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  font-size: var(--font-size-base);
  background-color: var(--color-bg);
  touch-action: manipulation;
}

body {
  margin: 0;
  min-height: 100vh;
  font-family: var(--font-base);
  background-color: var(--color-bg);
  color: var(--color-text);
  line-height: 1.5;
}

body.turbo-native-body {
  padding-bottom: calc(72px + env(safe-area-inset-bottom));
}

h1,
h2,
h3,
h4,
.heading-lg,
.heading-md,
.heading-sm {
  font-family: var(--font-display);
  letter-spacing: 0.01em;
}

body.modal-open {
  overflow: hidden;
}

a {
  color: var(--color-secondary);
  text-decoration: none;
  transition: color 0.2s ease;
}
a:hover {
  color: var(--color-primary);
}

img {
  max-width: 100%;
  display: block;
}

button,
input,
select,
textarea {
  font-family: inherit;
}

.app-container, .container {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 var(--space-4);
}
@media (max-width: 768px) {
  .app-container, .container {
    padding: 0 var(--space-3);
  }
}
@media (max-width: 480px) {
  .app-container, .container {
    padding: 0 var(--space-2);
  }
}

.panel {
  background-color: var(--color-surface);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-soft);
  border: 1px solid var(--color-border);
  padding: var(--space-5);
}

.panel-header {
  margin-bottom: var(--space-4);
  border-bottom: 1px solid var(--color-border-light);
  padding-bottom: var(--space-3);
}

.panel-body {
  padding-top: var(--space-3);
}

.layout-row {
  display: flex;
  flex-direction: row;
}

.layout-col {
  display: flex;
  flex-direction: column;
}

.justify-center {
  justify-content: center;
}

.justify-between {
  justify-content: space-between;
}

.justify-end {
  justify-content: flex-end;
}

.align-center {
  align-items: center;
}

.align-start {
  align-items: flex-start;
}

.align-end {
  align-items: flex-end;
}

.gap-xs {
  gap: var(--space-2);
}

.gap-sm {
  gap: var(--space-3);
}

.gap-md {
  gap: var(--space-4);
}

.gap-lg {
  gap: var(--space-5);
}

.text-center {
  text-align: center;
}

.text-right {
  text-align: right;
}

.text-muted {
  color: var(--color-text-muted);
}

.text-gradient {
  background: linear-gradient(135deg, var(--color-secondary), var(--color-primary));
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.heading-lg {
  font-size: 2rem;
  font-weight: 600;
  margin: 0 0 var(--space-4);
}

.heading-md {
  font-size: 1.4rem;
  font-weight: 600;
  margin: 0 0 var(--space-3);
}

.heading-sm {
  font-size: 1.1rem;
  font-weight: 600;
  margin: 0 0 var(--space-2);
}

.mt-sm {
  margin-top: var(--space-3);
}

.mt-md {
  margin-top: var(--space-4);
}

.mt-lg {
  margin-top: var(--space-6);
}

.mb-sm {
  margin-bottom: var(--space-3);
}

.mb-md {
  margin-bottom: var(--space-4);
}

.mb-lg {
  margin-bottom: var(--space-6);
}

.px-md {
  padding-left: var(--space-4);
  padding-right: var(--space-4);
}

.py-md {
  padding-top: var(--space-4);
  padding-bottom: var(--space-4);
}

@media (max-width: 768px) {
  .hide-mobile {
    display: none !important;
  }
}

.turbo-native-nav {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  height: calc(44px + env(safe-area-inset-top));
  padding: env(safe-area-inset-top) var(--space-4) 0;
  display: flex;
  align-items: center;
  background: transparent;
  z-index: 1100;
  border-bottom: 0;
}

.turbo-native-back {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border: 0;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.92);
  color: var(--color-text);
  box-shadow: 0 6px 18px rgba(35, 28, 22, 0.08);
  font-size: 1.1rem;
  line-height: 1;
  cursor: pointer;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}
.turbo-native-back:active {
  transform: translateY(1px);
}

.turbo-native-help {
  margin-left: auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border: 0;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.92);
  color: var(--color-text);
  box-shadow: 0 6px 18px rgba(35, 28, 22, 0.08);
  cursor: pointer;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}
.turbo-native-help:active {
  transform: translateY(1px);
}

.turbo-native-tabbar {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  padding: 10px 28px calc(12px + env(safe-area-inset-bottom));
  display: flex;
  justify-content: space-around;
  align-items: center;
  gap: var(--space-3);
  background: rgba(255, 255, 255, 0.92);
  border-top: 1px solid rgba(48, 38, 28, 0.08);
  box-shadow: 0 -8px 18px rgba(35, 28, 22, 0.05);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
  transform: translateZ(0);
  will-change: transform;
  z-index: 1100;
}

.turbo-native-tabbar__item {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  font-size: 0.7rem;
  letter-spacing: 0.04em;
  text-transform: none;
  font-weight: 500;
  color: var(--color-text-muted);
  text-decoration: none;
  position: relative;
}

.turbo-native-tabbar__item i {
  font-size: 1.15rem;
}

.turbo-native-tabbar__item.is-active {
  color: var(--color-text);
}

.turbo-native-tabbar__item.is-active::after {
  content: "";
  width: 6px;
  height: 6px;
  border-radius: 999px;
  background: var(--color-secondary);
  position: absolute;
  bottom: -6px;
}

@media (min-width: 769px) {
  .hide-desktop {
    display: none !important;
  }
}

.btn, .btn-outline-primary,
.btn-outline-secondary,
.btn-outline-success,
.btn-outline-danger,
.btn-outline-warning,
.btn-outline-info, .btn-info, .btn-danger, .btn-warning, .btn-success {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-2);
  padding: 0.65rem 1.5rem;
  border-radius: var(--radius-md);
  font-weight: 600;
  border: 1px solid transparent;
  cursor: pointer;
  transition: transform 0.15s ease, box-shadow 0.15s ease, background-color 0.15s ease;
  text-transform: none;
  text-decoration: none;
}
.btn:hover, .btn-outline-primary:hover,
.btn-outline-secondary:hover,
.btn-outline-success:hover,
.btn-outline-danger:hover,
.btn-outline-warning:hover,
.btn-outline-info:hover, .btn-info:hover, .btn-danger:hover, .btn-warning:hover, .btn-success:hover {
  transform: translateY(-1px);
  box-shadow: var(--shadow-soft);
}
.btn:active, .btn-outline-primary:active,
.btn-outline-secondary:active,
.btn-outline-success:active,
.btn-outline-danger:active,
.btn-outline-warning:active,
.btn-outline-info:active, .btn-info:active, .btn-danger:active, .btn-warning:active, .btn-success:active {
  transform: translateY(0);
  box-shadow: none;
}

.btn-primary {
  background: linear-gradient(135deg, var(--color-primary), var(--color-primary-strong));
  color: #ffffff;
  border-color: var(--color-primary-strong);
}

.btn-secondary {
  background: linear-gradient(135deg, var(--color-secondary), #7f6041);
  color: #ffffff;
  border-color: #7f6041;
}

.btn-outline, .btn-outline-primary,
.btn-outline-secondary,
.btn-outline-success,
.btn-outline-danger,
.btn-outline-warning,
.btn-outline-info {
  background: transparent;
  border: 1px solid var(--color-border-light);
  color: var(--color-text);
}
.btn-outline:hover, .btn-outline-primary:hover,
.btn-outline-secondary:hover,
.btn-outline-success:hover,
.btn-outline-danger:hover,
.btn-outline-warning:hover,
.btn-outline-info:hover {
  background-color: var(--color-border-light);
}

.btn-link {
  background: none;
  border: none;
  color: var(--color-secondary);
  padding: 0;
}
.btn-link:hover {
  color: var(--color-primary);
}

.btn-lg {
  padding: 0.9rem 2rem;
  font-size: 1.1rem;
}

.btn-sm {
  padding: 0.45rem 1rem;
  font-size: 0.85rem;
}

.btn-full {
  width: 100%;
}

.alert {
  border-radius: var(--radius-md);
  padding: var(--space-3) var(--space-4);
  margin-bottom: var(--space-3);
  border: 1px solid transparent;
  font-weight: 500;
}

.alert-success {
  background-color: rgba(79, 122, 104, 0.14);
  border-color: rgba(79, 122, 104, 0.35);
  color: #2f4c3e;
}

.alert-danger {
  background-color: rgba(184, 91, 86, 0.14);
  border-color: rgba(184, 91, 86, 0.35);
  color: #6e2f2b;
}

.alert-warning {
  background-color: rgba(194, 160, 77, 0.16);
  border-color: rgba(194, 160, 77, 0.35);
  color: #5b4521;
}

.alert-info {
  background-color: rgba(111, 138, 165, 0.16);
  border-color: rgba(111, 138, 165, 0.35);
  color: #314254;
}

.alert-dismissible {
  position: relative;
  padding-right: 2.5rem;
}

.btn-close {
  position: absolute;
  top: 50%;
  right: 0.9rem;
  transform: translateY(-50%);
  width: 1.1rem;
  height: 1.1rem;
  border: none;
  background: none;
  color: inherit;
  cursor: pointer;
  opacity: 0.8;
}
.btn-close:after {
  content: "✕";
  display: block;
  line-height: 1;
  font-size: 1rem;
}
.btn-close:hover, .btn-close:focus {
  opacity: 1;
}

.form-field {
  margin-bottom: var(--space-4);
}

.form-label {
  display: block;
  margin-bottom: var(--space-2);
  font-weight: 500;
  font-size: 0.95rem;
}

.input, .form-control,
.select,
.form-select,
.textarea {
  width: 100%;
  padding: 0.65rem 0.85rem;
  border-radius: var(--radius-sm);
  border: 1px solid var(--color-border-light);
  background-color: var(--color-surface-alt);
  color: var(--color-text);
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
.input:focus, .form-control:focus,
.select:focus,
.form-select:focus,
.textarea:focus {
  outline: none;
  border-color: var(--color-secondary);
  box-shadow: 0 0 0 2px rgba(155, 123, 86, 0.35);
}

.textarea {
  min-height: 140px;
  resize: vertical;
}

.helper-text {
  font-size: 0.85rem;
  color: var(--color-text-muted);
  margin-top: var(--space-1);
}

.modal {
  position: fixed;
  inset: 0;
  display: none;
  align-items: center;
  justify-content: center;
  padding: var(--space-4);
  z-index: 1000;
}
.modal.is-open {
  display: flex;
}

.modal__backdrop {
  position: absolute;
  inset: 0;
  background-color: var(--color-overlay);
  -webkit-backdrop-filter: blur(4px);
          backdrop-filter: blur(4px);
}

.modal__dialog {
  position: relative;
  background-color: var(--color-surface);
  border-radius: var(--radius-lg);
  border: 1px solid var(--color-border);
  box-shadow: var(--shadow-strong);
  width: min(640px, 95vw);
  max-height: 90vh;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}

.modal__header,
.modal__footer {
  padding: var(--space-4);
  border-bottom: 1px solid var(--color-border-light);
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.modal__footer {
  border-top: 1px solid var(--color-border-light);
  border-bottom: none;
  gap: var(--space-2);
}

.modal__body {
  padding: var(--space-4);
  overflow-y: auto;
}

.modal__close {
  background: none;
  border: none;
  color: var(--color-text-muted);
  font-size: 1.4rem;
  cursor: pointer;
}

.badge {
  display: inline-flex;
  align-items: center;
  padding: 0.2rem 0.6rem;
  border-radius: 999px;
  font-size: 0.75rem;
  background-color: var(--color-border-light);
  color: var(--color-text);
}

.progress {
  width: 100%;
  height: 12px;
  background-color: var(--color-border-light);
  border-radius: 999px;
  overflow: hidden;
}

.progress__bar {
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(135deg, var(--color-secondary), var(--color-primary));
  transition: width 0.4s ease;
}

/* Legacy layout + utility compatibility */
.row {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-3);
}

[class*=col-] {
  flex: 1 0 100%;
}

@media (min-width: 576px) {
  .col-sm-6 {
    flex: 0 0 50%;
    max-width: 50%;
  }
  .col-sm-12 {
    flex: 0 0 100%;
    max-width: 100%;
  }
}
@media (min-width: 768px) {
  .col-md-6 {
    flex: 0 0 50%;
    max-width: 50%;
  }
  .col-md-10 {
    flex: 0 0 83.333%;
    max-width: 83.333%;
  }
  .col-md-12 {
    flex: 0 0 100%;
    max-width: 100%;
  }
}
@media (min-width: 992px) {
  .col-lg-4 {
    flex: 0 0 33.333%;
    max-width: 33.333%;
  }
  .col-lg-6 {
    flex: 0 0 50%;
    max-width: 50%;
  }
  .col-lg-8 {
    flex: 0 0 66.666%;
    max-width: 66.666%;
  }
  .col-lg-12 {
    flex: 0 0 100%;
    max-width: 100%;
  }
}
.d-flex {
  display: flex;
}

.flex-column {
  flex-direction: column;
}

.flex-row {
  flex-direction: row;
}

.justify-content-between {
  justify-content: space-between;
}

.justify-content-center {
  justify-content: center;
}

.align-items-center {
  align-items: center;
}

.align-items-end {
  align-items: flex-end;
}

.align-items-start {
  align-items: flex-start;
}

.mx-auto {
  margin-left: auto;
  margin-right: auto;
}

.w-100 {
  width: 100%;
}

.h-100 {
  height: 100%;
}

.text-center {
  text-align: center;
}

.text-end {
  text-align: right;
}

.mt-2 {
  margin-top: var(--space-2);
}

.mt-3 {
  margin-top: var(--space-3);
}

.mt-4 {
  margin-top: var(--space-4);
}

.mt-5 {
  margin-top: var(--space-6);
}

.mb-2 {
  margin-bottom: var(--space-2);
}

.mb-3 {
  margin-bottom: var(--space-3);
}

.mb-4 {
  margin-bottom: var(--space-4);
}

.mb-5 {
  margin-bottom: var(--space-6);
}

.me-1 {
  margin-right: var(--space-2);
}

.me-2 {
  margin-right: var(--space-3);
}

.me-3 {
  margin-right: var(--space-4);
}

.ms-1 {
  margin-left: var(--space-2);
}

.ms-2 {
  margin-left: var(--space-3);
}

.py-4 {
  padding-top: var(--space-4);
  padding-bottom: var(--space-4);
}

.px-3 {
  padding-left: var(--space-3);
  padding-right: var(--space-3);
}

.g-3 {
  gap: var(--space-3);
}

.g-4 {
  gap: var(--space-4);
}

.card {
  background-color: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-soft);
  margin-bottom: var(--space-4);
}

.card-header {
  padding: var(--space-3) var(--space-4);
  border-bottom: 1px solid var(--color-border-light);
}

.card-body {
  padding: var(--space-4);
}

.card-title {
  margin: 0;
  font-size: 1.25rem;
}

.shadow {
  box-shadow: var(--shadow-soft);
}

.table {
  width: 100%;
  border-collapse: collapse;
  border: 1px solid var(--color-border);
}

.table th,
.table td {
  padding: var(--space-3);
  border-bottom: 1px solid var(--color-border);
  text-align: left;
}

.table-striped tbody tr:nth-child(odd) {
  background-color: #faf7f2;
}

.table-responsive {
  width: 100%;
  overflow-x: auto;
}

.pagination {
  display: flex;
  gap: var(--space-2);
  list-style: none;
  padding: 0;
  justify-content: center;
}

.page-item {
  list-style: none;
}

.page-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.4rem 0.8rem;
  border-radius: var(--radius-sm);
  border: 1px solid var(--color-border-light);
  color: var(--color-text);
  text-decoration: none;
}

.page-item.active .page-link {
  background-color: var(--color-secondary);
  border-color: var(--color-secondary);
  color: #fff;
}

.btn-success {
  background: linear-gradient(135deg, var(--color-success), #3c6253);
  color: #ffffff;
}

.btn-warning {
  background: linear-gradient(135deg, #b18d3f, #8f6a2b);
  color: #ffffff;
}

.btn-danger {
  background: linear-gradient(135deg, var(--color-danger), #994743);
  color: #ffffff;
}

.btn-info {
  background: linear-gradient(135deg, var(--color-info), #56728e);
  color: #ffffff;
}

.btn-outline-primary {
  border-color: var(--color-secondary);
  color: var(--color-secondary);
}

.btn-outline-secondary {
  border-color: var(--color-border-light);
  color: var(--color-text);
}

.btn-outline-success {
  border-color: var(--color-success);
  color: var(--color-success);
}

.btn-outline-danger {
  border-color: var(--color-danger);
  color: var(--color-danger);
}

.btn-outline-warning {
  border-color: var(--color-warning);
  color: var(--color-warning);
}

.btn-outline-info {
  border-color: var(--color-info);
  color: var(--color-info);
}

.btn-outline-secondary:hover {
  background-color: var(--color-border-light);
}

.bg-primary {
  background-color: var(--color-secondary);
}

.bg-success {
  background-color: var(--color-success);
}

.bg-danger {
  background-color: var(--color-danger);
}

.bg-warning {
  background-color: var(--color-warning);
}

.bg-info {
  background-color: var(--color-info);
}

.bg-secondary {
  background-color: var(--color-surface-alt);
}

.text-success {
  color: var(--color-success);
}

.text-danger {
  color: var(--color-danger);
}

.home-page {
  position: relative;
  background: radial-gradient(circle at 18% 12%, rgba(79, 122, 104, 0.2), transparent 45%), radial-gradient(circle at 85% 18%, rgba(194, 160, 77, 0.18), transparent 40%), linear-gradient(180deg, rgba(255, 255, 255, 0.5), transparent 55%), var(--color-bg);
  padding-bottom: calc(var(--space-7) + env(safe-area-inset-bottom));
  overflow: hidden;
}

.home-page::before {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 15% 75%, rgba(63, 107, 91, 0.08), transparent 45%), radial-gradient(circle at 90% 60%, rgba(155, 123, 86, 0.12), transparent 45%);
  pointer-events: none;
}

.home-hero {
  position: relative;
  padding: var(--space-6) 0 var(--space-7);
}

.home-intro {
  display: grid;
  gap: var(--space-2);
  text-align: center;
  margin-bottom: var(--space-5);
}

.home-brand {
  align-self: center;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
  padding: 0.35rem 0.9rem;
  border-radius: 999px;
  font-size: 0.75rem;
  letter-spacing: 0.35em;
  text-transform: uppercase;
  font-weight: 700;
  color: #3b2f22;
  background: rgba(255, 255, 255, 0.7);
  border: 1px solid rgba(63, 107, 91, 0.2);
  box-shadow: var(--shadow-soft);
}

.home-title {
  margin: 0;
  font-size: 2.1rem;
  line-height: 1.1;
  font-weight: 600;
}

.home-subtitle {
  margin: 0;
  color: var(--color-text-muted);
  font-size: 1rem;
}

.games-grid {
  display: grid;
  gap: var(--space-4);
}

.game-tile {
  position: relative;
  display: grid;
  gap: var(--space-3);
  padding: var(--space-4);
  border-radius: calc(var(--radius-lg) + 2px);
  background: rgba(255, 255, 255, 0.92);
  border: 1px solid var(--color-border);
  box-shadow: var(--shadow-soft);
}

.game-tile-top {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: var(--space-3);
  align-items: center;
}

.game-tile-icon {
  width: 58px;
  height: 58px;
  border-radius: 18px;
  display: grid;
  place-items: center;
  font-size: 1.9rem;
  background: rgba(63, 107, 91, 0.12);
  border: 1px solid rgba(63, 107, 91, 0.28);
}

.game-tile-text h2 {
  margin: 0;
  font-size: 1.35rem;
}

.game-tile-text p {
  margin: 0.25rem 0 0;
  color: var(--color-text-muted);
  font-size: 0.92rem;
}

.game-tile-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-2);
}

.game-tile-date {
  font-weight: 600;
  color: var(--color-text-muted);
  font-size: 0.85rem;
}

.game-tile-pill {
  padding: 0.25rem 0.65rem;
  border-radius: 999px;
  font-size: 0.7rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  background: rgba(155, 123, 86, 0.15);
  border: 1px solid rgba(155, 123, 86, 0.35);
  color: #6f5235;
  font-weight: 700;
}

.game-tile-actions {
  display: grid;
  gap: var(--space-2);
}

.home-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.4rem;
  padding: 0.75rem 1.1rem;
  border-radius: 999px;
  font-weight: 700;
  text-decoration: none;
  border: 1px solid transparent;
}

.home-btn.is-primary {
  background: var(--color-primary);
  color: #f7f3ee;
  box-shadow: 0 10px 20px rgba(63, 107, 91, 0.2);
}

.home-btn.is-primary:hover {
  background: var(--color-primary-strong);
  color: #f7f3ee;
}

.home-btn.is-ghost {
  background: rgba(255, 255, 255, 0.7);
  border-color: rgba(155, 123, 86, 0.3);
  color: #6f5235;
}

.home-btn-icon {
  font-size: 1rem;
}

.game-tile.is-upcoming {
  opacity: 0.7;
}

.game-tile:nth-child(1) {
  background: linear-gradient(140deg, rgba(255, 255, 255, 0.98), rgba(220, 239, 232, 0.85));
  border-color: rgba(63, 107, 91, 0.25);
}

.game-tile:nth-child(1) .game-tile-icon {
  background: rgba(63, 107, 91, 0.16);
  border-color: rgba(63, 107, 91, 0.35);
}

.game-tile:nth-child(2) {
  background: linear-gradient(140deg, rgba(255, 255, 255, 0.98), rgba(236, 227, 199, 0.78));
  border-color: rgba(194, 160, 77, 0.25);
}

.game-tile:nth-child(2) .game-tile-icon {
  background: rgba(194, 160, 77, 0.18);
  border-color: rgba(194, 160, 77, 0.35);
}

.game-tile:nth-child(3) {
  background: linear-gradient(140deg, rgba(255, 255, 255, 0.98), rgba(215, 231, 244, 0.8));
  border-color: rgba(111, 138, 165, 0.3);
}

.game-tile:nth-child(3) .game-tile-icon {
  background: rgba(111, 138, 165, 0.18);
  border-color: rgba(111, 138, 165, 0.35);
}

.game-tile:nth-child(4) {
  background: linear-gradient(140deg, rgba(255, 255, 255, 0.98), rgba(235, 220, 210, 0.82));
  border-color: rgba(155, 123, 86, 0.3);
}

.game-tile:nth-child(4) .game-tile-icon {
  background: rgba(155, 123, 86, 0.18);
  border-color: rgba(155, 123, 86, 0.35);
}

@media (min-width: 720px) {
  .home-intro {
    text-align: left;
  }
  .home-brand {
    margin: 0;
  }
  .games-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .game-tile-actions {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (min-width: 1024px) {
  .games-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
@media (prefers-reduced-motion: no-preference) {
  .game-tile {
    animation: home-rise 0.6s ease both;
  }
  .game-tile:nth-child(2) {
    animation-delay: 0.08s;
  }
  .game-tile:nth-child(3) {
    animation-delay: 0.16s;
  }
  .game-tile:nth-child(4) {
    animation-delay: 0.24s;
  }
}
@keyframes home-rise {
  from {
    opacity: 0;
    transform: translateY(16px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.wordle-page {
  padding: var(--space-5) 0 var(--space-7);
}

.wordle-panel {
  max-width: 720px;
  margin: 0 auto;
  padding: var(--space-4);
  background: var(--color-surface);
  border-radius: var(--radius-lg);
  border: 1px solid var(--color-border);
  box-shadow: var(--shadow-soft);
}

.game-message {
  min-height: 36px;
  margin-bottom: var(--space-3);
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 500;
}

.wordle-board {
  display: grid;
  gap: var(--space-2);
  margin: 0 auto var(--space-4);
  max-width: 420px;
}

.wordle-row {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: var(--space-2);
}

.wordle-tile {
  width: 70px;
  height: 70px;
  border-radius: var(--radius-sm);
  border: 2px solid var(--color-border-light);
  display: flex;
  font-size: 2rem;
  font-weight: 700;
  text-transform: uppercase;
  align-items: center;
  justify-content: center;
  background-color: var(--color-surface-alt);
  transition: transform 0.2s ease, background-color 0.2s ease, border-color 0.2s ease;
}
.wordle-tile.is-filled {
  border-color: var(--color-secondary);
}
.wordle-tile.filled-box {
  border-color: var(--color-secondary);
}
.wordle-tile.correct {
  background-color: var(--color-correct);
  color: var(--color-correct-text);
  border-color: var(--color-primary-strong);
}
.wordle-tile.present {
  background-color: var(--color-present);
  color: var(--color-present-text);
  border-color: #b28a44;
}
.wordle-tile.absent {
  background-color: var(--color-absent);
  color: var(--color-absent-text);
  border-color: var(--color-absent-border);
}
.wordle-tile.animating {
  transform: rotateX(90deg);
}
.wordle-tile.reveal {
  transform: rotateX(0);
}

@media (max-width: 520px) {
  .wordle-tile {
    width: 54px;
    height: 54px;
    font-size: 1.6rem;
  }
}
.wordle-keyboard {
  margin-top: var(--space-5);
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
}

.keyboard-row {
  display: flex;
  justify-content: center;
  gap: var(--space-2);
}

.key-button {
  flex: 1;
  max-width: 52px;
  padding: 0.85rem 0.3rem;
  border-radius: var(--radius-sm);
  border: 1px solid var(--color-border);
  background-color: var(--color-key);
  color: var(--color-text);
  font-weight: 600;
  text-transform: uppercase;
  cursor: pointer;
  transition: background-color 0.2s ease, transform 0.1s ease;
  -webkit-tap-highlight-color: transparent;
}
.key-button:hover {
  transform: translateY(-1px);
  background-color: var(--color-key-hover);
}
.key-button.correct {
  background-color: var(--color-correct);
  color: var(--color-correct-text);
  border-color: var(--color-primary-strong);
}
.key-button.present {
  background-color: var(--color-present);
  color: var(--color-present-text);
  border-color: #b28a44;
}
.key-button.absent {
  background-color: var(--color-absent);
  color: var(--color-absent-text);
  border-color: var(--color-absent-border);
}

.key-button--wide {
  flex: 1.4;
  max-width: 84px;
}

.wordle-meta {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: var(--space-3);
  margin-bottom: var(--space-4);
}

.wordle-meta-item {
  display: flex;
  flex-direction: column;
  gap: var(--space-1);
}

.xp-section {
  background: var(--color-surface-alt);
  border-radius: var(--radius-lg);
  padding: var(--space-4);
  border: 1px solid var(--color-border);
  margin-top: var(--space-5);
}

.xp-breakdown-grid {
  display: grid;
  gap: var(--space-3);
}

.xp-breakdown-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: var(--space-3);
  border-radius: var(--radius-md);
  background-color: #f7f2ec;
  border: 1px solid var(--color-border-light);
}

.xp-label {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  font-weight: 500;
}

.xp-value {
  font-weight: 600;
  font-size: 1.1rem;
  color: var(--color-secondary);
}

.xp-total {
  font-size: 1.3rem;
  font-weight: 600;
  color: var(--color-primary);
}

.xp-progress-display {
  margin-top: var(--space-3);
}

.xp-level-meta {
  display: flex;
  justify-content: space-between;
  font-size: 0.9rem;
  color: var(--color-text-muted);
  margin-top: var(--space-2);
}

.modal-xp .xp-breakdown-grid {
  max-height: 60vh;
  overflow-y: auto;
  padding-right: var(--space-2);
}

.game-modal .modal__dialog {
  width: min(720px, 92vw);
}
.game-modal .modal__body {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
}

.game-modal__header {
  align-items: flex-start;
  gap: var(--space-4);
  background: linear-gradient(135deg, #f6efe6, #fdfaf6);
}

.game-modal__title {
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
}

.result-badge {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
  font-family: var(--font-display);
  font-size: 1.4rem;
  letter-spacing: 0.02em;
  color: var(--color-primary-strong);
}

.result-subtitle {
  text-transform: uppercase;
  letter-spacing: 0.16em;
  font-size: 0.7rem;
  color: var(--color-text-muted);
}

.completed-results {
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
  margin-bottom: var(--space-4);
}

.target-word-display {
  font-size: clamp(1.5rem, 4vw, 2rem);
  font-weight: 600;
  letter-spacing: 0.2em;
  background-color: var(--color-surface-alt);
  padding: var(--space-3);
  border-radius: var(--radius-md);
  text-align: center;
}

.summary-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
  gap: var(--space-3);
}

.summary-card {
  background-color: var(--color-surface-alt);
  border: 1px solid var(--color-border-light);
  border-radius: var(--radius-md);
  padding: var(--space-3);
  display: flex;
  flex-direction: column;
  gap: var(--space-1);
  text-align: center;
}

.summary-label {
  font-size: 0.75rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--color-text-muted);
}

.summary-value {
  font-family: var(--font-display);
  font-size: 1.35rem;
  color: var(--color-primary-strong);
}

.keyboard-hint {
  margin-top: var(--space-2);
  font-size: 0.85rem;
  color: var(--color-text-muted);
  text-align: center;
}

.challenges-page {
  padding: var(--space-6) 0 var(--space-7);
}
.challenges-page .challenges-header {
  margin-bottom: var(--space-5);
}
.challenges-page .challenges-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: var(--space-4);
}
.challenges-page .challenges-pagination {
  margin-top: var(--space-5);
}
.challenges-page .challenges-footer {
  margin-top: var(--space-5);
  display: flex;
  justify-content: center;
}
.challenges-page .archive-card {
  height: 100%;
  padding: var(--space-3);
  border-radius: var(--radius-lg);
  border: 1px solid var(--color-border);
  background: var(--color-surface);
  box-shadow: var(--shadow-soft);
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
}
.challenges-page .archive-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-3);
}
.challenges-page .archive-status-emoji {
  font-size: 1.1rem;
  line-height: 1;
}
.challenges-page .wordle-icon-grid-sm {
  display: grid;
  gap: 4px;
}
.challenges-page .icon-row {
  display: grid;
  grid-template-columns: repeat(3, 10px);
  gap: 4px;
}
.challenges-page .icon-letter-box-sm {
  width: 10px;
  height: 10px;
  border-radius: 3px;
  border: 1px solid var(--color-border-light);
  background: var(--color-surface-alt);
}
.challenges-page .icon-letter-box-sm.correct {
  background: var(--color-correct);
  border-color: var(--color-primary-strong);
}
.challenges-page .icon-letter-box-sm.present {
  background: var(--color-present);
  border-color: #b28a44;
}
.challenges-page .icon-letter-box-sm.absent {
  background: var(--color-absent);
  border-color: var(--color-absent-border);
}
.challenges-page .archive-date {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}
.challenges-page .date-day {
  font-size: 1.4rem;
  font-weight: 700;
}
.challenges-page .date-month {
  font-size: 0.7rem;
  color: var(--color-text-muted);
}
.challenges-page .archive-content {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
}
.challenges-page .archive-info {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-2);
}
.challenges-page .archive-weekday {
  font-weight: 600;
}
.challenges-page .completion-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  padding: 0.2rem 0.6rem;
  border-radius: 999px;
  font-size: 0.75rem;
  font-weight: 600;
  background: rgba(88, 151, 110, 0.18);
  color: #2f6b45;
  border: 1px solid rgba(88, 151, 110, 0.4);
}
.challenges-page .completion-badge.is-muted {
  background: rgba(155, 123, 86, 0.15);
  border-color: rgba(155, 123, 86, 0.35);
  color: #6f5235;
}
.challenges-page .recent-games-list {
  display: grid;
  gap: var(--space-3);
}
.challenges-page .recent-game-card {
  padding: var(--space-3);
  border-radius: var(--radius-lg);
  border: 1px solid var(--color-border);
  background: var(--color-surface);
  box-shadow: var(--shadow-soft);
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
}
.challenges-page .recent-game-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--space-3);
}
.challenges-page .recent-game-date {
  margin: 0;
  font-size: 0.9rem;
  color: var(--color-text-muted);
}
.challenges-page .recent-game-label {
  margin: var(--space-1) 0 0;
  font-weight: 600;
}
.challenges-page .recent-game-mode {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  flex-wrap: wrap;
  justify-content: flex-end;
}
.challenges-page .mode-badge {
  display: inline-flex;
  align-items: center;
  padding: 0.2rem 0.6rem;
  border-radius: 999px;
  font-size: 0.75rem;
  font-weight: 600;
  background: rgba(63, 107, 91, 0.12);
  color: #3b6c5a;
  border: 1px solid rgba(63, 107, 91, 0.25);
}
.challenges-page .mode-link {
  font-size: 0.75rem;
  font-weight: 600;
  color: var(--color-primary-strong);
  text-decoration: none;
}
.challenges-page .mode-link:hover {
  text-decoration: underline;
}
.challenges-page .recent-game-stats {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: var(--space-3);
}
.challenges-page .recent-game-stat {
  display: flex;
  flex-direction: column;
  gap: var(--space-1);
}
.challenges-page .recent-game-stat .stat-label {
  font-size: 0.75rem;
  color: var(--color-text-muted);
  text-transform: uppercase;
  letter-spacing: 0.08em;
}
.challenges-page .recent-game-stat .stat-value {
  font-weight: 600;
}

.spelling-bee-page {
  padding: var(--space-5) 0 var(--space-7);
}

.spelling-bee-panel {
  max-width: 880px;
  margin: 0 auto;
  padding: var(--space-5);
  background: var(--color-surface);
  border-radius: var(--radius-lg);
  border: 1px solid var(--color-border);
  box-shadow: var(--shadow-soft);
  display: grid;
  gap: var(--space-4);
}

.bee-header {
  display: grid;
  gap: var(--space-3);
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  align-items: center;
}

.bee-kicker {
  font-size: 0.85rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--color-text-muted);
}

.bee-title {
  font-size: 2.2rem;
  margin: var(--space-1) 0;
}

.bee-subtitle {
  color: var(--color-text-muted);
  margin: 0;
}

.bee-stats {
  display: grid;
  gap: var(--space-3);
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
  background: var(--color-surface-alt);
  padding: var(--space-3);
  border-radius: var(--radius-md);
  border: 1px solid var(--color-border-light);
}

.bee-stat {
  display: grid;
  gap: var(--space-1);
}

.bee-stat-label {
  font-size: 0.8rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--color-text-muted);
}

.bee-stat-value {
  font-size: 1.4rem;
  font-weight: 700;
}

.bee-stat-hint {
  font-size: 0.85rem;
  color: var(--color-text-muted);
}

.bee-message {
  min-height: 32px;
  font-weight: 600;
  text-align: center;
}

.bee-message.message-warning {
  color: var(--color-warning);
}

.bee-message.message-success {
  color: var(--color-success);
}

.bee-current-word {
  font-size: 2rem;
  text-align: center;
  letter-spacing: 0.2em;
  font-weight: 700;
  padding: var(--space-2);
  background: var(--color-surface-alt);
  border-radius: var(--radius-md);
  border: 1px solid var(--color-border-light);
}

.bee-honeycomb {
  display: grid;
  gap: var(--space-2);
  justify-content: center;
}

.bee-row {
  display: flex;
  justify-content: center;
  gap: var(--space-2);
}

.bee-letter {
  width: 86px;
  height: 76px;
  border: none;
  background: #f6e39a;
  color: #362c14;
  font-size: 1.6rem;
  font-weight: 700;
  cursor: pointer;
  clip-path: polygon(25% 6%, 75% 6%, 100% 50%, 75% 94%, 25% 94%, 0 50%);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.bee-letter:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 18px rgba(0, 0, 0, 0.12);
}

.bee-letter.is-center {
  background: #f2b93b;
}

.bee-controls {
  display: flex;
  justify-content: center;
  gap: var(--space-2);
}

.bee-found {
  background: var(--color-surface-alt);
  border-radius: var(--radius-md);
  padding: var(--space-3);
  border: 1px solid var(--color-border-light);
}

.bee-found-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: var(--space-2);
}

.bee-found-count {
  font-weight: 600;
  color: var(--color-text-muted);
}

.bee-found-list {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-2);
}

.bee-found-word {
  padding: 0.3rem 0.6rem;
  background: #fff5d6;
  border-radius: var(--radius-sm);
  font-weight: 600;
  text-transform: uppercase;
  font-size: 0.85rem;
  border: 1px solid #f0dca2;
}

.bee-modal .modal__dialog {
  max-width: 460px;
}

.bee-summary {
  display: grid;
  gap: var(--space-2);
  margin-top: var(--space-3);
}

.bee-summary-label {
  display: block;
  font-size: 0.85rem;
  color: var(--color-text-muted);
}

.bee-summary-value {
  font-size: 1.4rem;
  font-weight: 700;
}

.bee-stats-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap: var(--space-3);
  margin-bottom: var(--space-3);
}

.bee-stat-card {
  padding: var(--space-3);
  border-radius: var(--radius-md);
  border: 1px solid var(--color-border-light);
  background: var(--color-surface-alt);
  display: grid;
  gap: var(--space-2);
}

.bee-stat-number {
  font-size: 2rem;
  font-weight: 700;
}

.recent-games-list {
  display: grid;
  gap: var(--space-3);
}

.recent-game-card {
  padding: var(--space-3);
  border-radius: var(--radius-lg);
  border: 1px solid var(--color-border);
  background: var(--color-surface);
  box-shadow: var(--shadow-soft);
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
}

.recent-game-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--space-3);
}

.recent-game-date {
  margin: 0;
  font-size: 0.9rem;
  color: var(--color-text-muted);
}

.recent-game-label {
  margin: var(--space-1) 0 0;
  font-weight: 600;
}

.recent-game-mode {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  flex-wrap: wrap;
  justify-content: flex-end;
}

.mode-badge {
  display: inline-flex;
  align-items: center;
  padding: 0.2rem 0.6rem;
  border-radius: 999px;
  font-size: 0.75rem;
  font-weight: 600;
  background: rgba(63, 107, 91, 0.12);
  color: #3b6c5a;
  border: 1px solid rgba(63, 107, 91, 0.25);
}

.mode-link {
  font-size: 0.75rem;
  font-weight: 600;
  color: var(--color-primary-strong);
  text-decoration: none;
}

.mode-link:hover {
  text-decoration: underline;
}

.recent-game-stats {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
  gap: var(--space-2);
}

.recent-game-stat {
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
}

.recent-game-stat .stat-label {
  font-size: 0.75rem;
  color: var(--color-text-muted);
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.recent-game-stat .stat-value {
  font-weight: 600;
}

@media (max-width: 640px) {
  .spelling-bee-panel {
    padding: var(--space-4);
  }
  .bee-letter {
    width: 70px;
    height: 62px;
    font-size: 1.3rem;
  }
  .bee-controls {
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
  }
}
.connections-page {
  padding: var(--space-5) 0 var(--space-7);
}

.connections-panel {
  max-width: 960px;
  margin: 0 auto;
  padding: var(--space-5);
  background: var(--color-surface);
  border-radius: var(--radius-lg);
  border: 1px solid var(--color-border);
  box-shadow: var(--shadow-soft);
  display: grid;
  gap: var(--space-4);
}

.connections-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: var(--space-4);
  flex-wrap: wrap;
}

.connections-kicker {
  font-size: 0.85rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--color-text-muted);
}

.connections-title {
  font-size: 2.2rem;
  margin: var(--space-1) 0;
}

.connections-attempts {
  background: var(--color-surface-alt);
  border: 1px solid var(--color-border-light);
  border-radius: var(--radius-md);
  padding: var(--space-2) var(--space-3);
  display: grid;
  gap: var(--space-1);
  text-align: center;
}

.connections-attempts-label {
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: var(--color-text-muted);
}

.connections-attempts-value {
  font-size: 1.6rem;
  font-weight: 700;
}

.connections-message {
  min-height: 28px;
  font-weight: 600;
  text-align: center;
}

.connections-message.message-warning {
  color: var(--color-warning);
}

.connections-message.message-success {
  color: var(--color-success);
}

.connections-message.message-error {
  color: var(--color-danger);
}

.connections-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--space-3);
}

.connections-tile {
  padding: var(--space-3);
  border-radius: var(--radius-md);
  border: 1px solid var(--color-border);
  background: var(--color-surface-alt);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  cursor: pointer;
  transition: transform 0.15s ease, box-shadow 0.15s ease, background-color 0.15s ease;
}

.connections-tile:hover {
  transform: translateY(-1px);
  box-shadow: var(--shadow-soft);
}

.connections-tile.is-selected {
  background: #efe2c6;
  border-color: #c2a04d;
}

.connections-tile.is-shaking {
  animation: connections-shake 0.4s ease;
}

.connections-controls {
  display: flex;
  justify-content: center;
  gap: var(--space-3);
}

.connections-solved-area {
  display: grid;
  gap: var(--space-3);
}

.connections-solved {
  border-radius: var(--radius-md);
  padding: var(--space-3);
  border: 1px solid transparent;
  background: var(--color-surface-alt);
}

.connections-solved-header {
  display: flex;
  justify-content: space-between;
  font-weight: 600;
  margin-bottom: var(--space-2);
}

.connections-category {
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-size: 0.8rem;
}

.connections-difficulty {
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-size: 0.75rem;
  color: var(--color-text-muted);
}

.connections-words {
  font-weight: 600;
  color: var(--color-text-muted);
}

.connections-reveal {
  display: none;
  gap: var(--space-3);
}

.connections-reveal.is-visible {
  display: grid;
}

.connections-reveal-row {
  padding: var(--space-3);
  border-radius: var(--radius-md);
  border: 1px solid transparent;
  background: var(--color-surface-alt);
}

.connections-reveal-header {
  display: flex;
  justify-content: space-between;
  font-weight: 600;
  margin-bottom: var(--space-2);
}

.difficulty-yellow {
  background: rgba(247, 223, 132, 0.4);
  border-color: rgba(194, 160, 77, 0.4);
}

.difficulty-green {
  background: rgba(168, 205, 185, 0.45);
  border-color: rgba(79, 122, 104, 0.4);
}

.difficulty-blue {
  background: rgba(160, 186, 215, 0.45);
  border-color: rgba(111, 138, 165, 0.5);
}

.difficulty-purple {
  background: rgba(196, 175, 214, 0.45);
  border-color: rgba(130, 106, 162, 0.5);
}

@keyframes connections-shake {
  0% {
    transform: translateX(0);
  }
  25% {
    transform: translateX(-4px);
  }
  50% {
    transform: translateX(4px);
  }
  75% {
    transform: translateX(-4px);
  }
  100% {
    transform: translateX(0);
  }
}
.app-header {
  background-color: var(--color-surface);
  border-bottom: 1px solid var(--color-border);
  padding: var(--space-3) 0;
  position: sticky;
  top: 0;
  z-index: 20;
}

.app-nav {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-3);
}

.app-brand {
  font-weight: 700;
  font-size: 1.3rem;
  letter-spacing: 0.08em;
}

.nav-links {
  display: flex;
  gap: var(--space-3);
  flex-wrap: wrap;
}

.nav-link {
  color: var(--color-text-muted);
  text-decoration: none;
  font-weight: 500;
  padding: 0.4rem 0.6rem;
  border-radius: var(--radius-sm);
  transition: color 0.2s ease, background-color 0.2s ease;
}
.nav-link.is-active, .nav-link:hover {
  color: var(--color-text);
  background-color: rgba(255, 255, 255, 0.06);
}

.help-link {
  border: none;
  background: none;
  cursor: pointer;
}

.help-link__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border-radius: 999px;
  border: 1px solid var(--color-border);
  color: var(--color-text);
  font-weight: 700;
  font-size: 0.95rem;
  line-height: 1;
  background: rgba(255, 255, 255, 0.06);
}

.admin-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-5);
  margin-top: var(--space-5);
}

.data-table {
  width: 100%;
  border-collapse: collapse;
  border-radius: var(--radius-lg);
  overflow: hidden;
  border: 1px solid var(--color-border);
  background-color: var(--color-surface);
}

.data-table thead {
  background-color: rgba(255, 255, 255, 0.04);
}

.data-table th,
.data-table td {
  text-align: left;
  padding: var(--space-3);
  border-bottom: 1px solid var(--color-border);
}

.data-table th {
  font-weight: 600;
  font-size: 0.95rem;
  color: var(--color-text-muted);
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.data-table tbody tr:hover {
  background-color: rgba(255, 255, 255, 0.02);
}

.form-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: var(--space-4);
}

.form-group {
  display: flex;
  flex-direction: column;
}

.pager {
  display: flex;
  justify-content: center;
  gap: var(--space-2);
  margin-top: var(--space-4);
}

.pager__link {
  padding: 0.45rem 0.9rem;
  border-radius: var(--radius-sm);
  border: 1px solid var(--color-border-light);
  color: var(--color-text);
  text-decoration: none;
  font-size: 0.9rem;
}
.pager__link.is-active {
  background-color: var(--color-secondary);
  border-color: var(--color-secondary);
  color: white;
}

.auth-card {
  max-width: 440px;
  margin: var(--space-6) auto;
  padding: var(--space-5);
  background-color: var(--color-surface);
  border-radius: var(--radius-lg);
  border: 1px solid var(--color-border);
  box-shadow: var(--shadow-soft);
}

.auth-title {
  margin-bottom: var(--space-4);
  text-align: center;
}

.flash-stack {
  position: fixed;
  top: var(--space-3);
  right: var(--space-3);
  max-width: 320px;
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
  z-index: 999;
}

.help-modal .modal__dialog {
  width: min(680px, 95vw);
}
.help-modal .modal__title {
  font-size: 1.3rem;
  font-weight: 700;
  margin: 0;
}

.help-lead {
  font-size: 1rem;
  margin-bottom: var(--space-3);
  color: var(--color-text);
}

.help-steps {
  margin: 0 0 var(--space-4);
  padding-left: 1.2rem;
  display: grid;
  gap: var(--space-2);
  color: var(--color-text);
}
.help-steps li {
  line-height: 1.5;
}

.help-example {
  background: var(--color-surface-alt);
  border: 1px solid var(--color-border-light);
  border-radius: var(--radius-md);
  padding: var(--space-3);
  display: grid;
  gap: var(--space-2);
}

.help-label {
  font-size: 0.85rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--color-text-muted);
}

.help-caption {
  font-size: 0.9rem;
  color: var(--color-text-muted);
  margin: 0;
}

.help-wordle-row {
  display: grid;
  grid-template-columns: repeat(5, minmax(36px, 48px));
  gap: var(--space-6);
  justify-content: start;
}

.help-bee-demo {
  display: flex;
  justify-content: center;
}

.help-bee-demo .bee-honeycomb {
  gap: var(--space-2);
}

.help-bee-demo .bee-row {
  gap: var(--space-2);
}

.help-bee-demo .bee-letter {
  width: 54px;
  height: 48px;
  font-size: 1rem;
  cursor: default;
  pointer-events: none;
  box-shadow: none;
  transition: none;
}

.help-bee-word {
  font-weight: 700;
  letter-spacing: 0.08em;
}

.help-highlight {
  color: var(--color-secondary);
}

.help-connections-row {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-2);
}

.help-connections-row .connections-tile {
  pointer-events: none;
}

/* PWA-specific styles */
/* Hide browser UI elements when running as PWA */
@media (display-mode: standalone) {
  body {
    /* Ensure full screen experience */
    margin: 0;
    padding: 0;
    overflow-x: hidden;
  }
  /* Hide scrollbars on mobile */
  ::-webkit-scrollbar {
    display: none;
  }
  /* Prevent text selection on buttons */
  .btn, .btn-success, .btn-warning, .btn-danger, .btn-info, .btn-outline-primary,
  .btn-outline-secondary,
  .btn-outline-success,
  .btn-outline-danger,
  .btn-outline-warning,
  .btn-outline-info {
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
  }
}
/* Offline indicator styles */
body.offline {
  position: relative;
}

body.offline::before {
  content: "Sin conexión";
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  background-color: #ff6b6b;
  color: white;
  text-align: center;
  padding: 4px;
  font-size: 12px;
  z-index: 9999;
}

/* PWA mode specific styles */
body.pwa-mode {
  /* Add any PWA-specific styling */
}

/* Better touch targets for mobile */
@media (max-width: 768px) {
  .btn, .btn-success, .btn-warning, .btn-danger, .btn-info, .btn-outline-primary,
  .btn-outline-secondary,
  .btn-outline-success,
  .btn-outline-danger,
  .btn-outline-warning,
  .btn-outline-info {
    min-height: 44px;
    min-width: 44px;
  }
  input, select, textarea {
    font-size: 16px; /* Prevents zoom on iOS */
  }
}
/* Safe area insets for notched devices */
@supports (padding: max(0px)) {
  body {
    padding-left: max(0px, env(safe-area-inset-left));
    padding-right: max(0px, env(safe-area-inset-right));
    padding-top: max(0px, env(safe-area-inset-top));
    padding-bottom: max(0px, env(safe-area-inset-bottom));
  }
}
.policy-page {
  padding: var(--space-6) 0 var(--space-7);
}

.policy-card {
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-soft);
  overflow: hidden;
}

.policy-header {
  padding: var(--space-5) var(--space-5) var(--space-4);
  border-bottom: 1px solid var(--color-border-light);
  background: linear-gradient(180deg, #fbf7f1 0%, #fff 100%);
}

.policy-title {
  font-family: var(--font-display);
  font-size: 2.1rem;
  margin: 0 0 var(--space-2);
}

.policy-meta {
  color: var(--color-text-muted);
  font-size: var(--font-size-sm);
}

.policy-body {
  padding: var(--space-5);
}

.policy-content {
  font-size: 1.05rem;
  line-height: 1.75;
  color: var(--color-text);
}
.policy-content p {
  margin: 0 0 var(--space-3);
}
.policy-content h2 {
  font-family: var(--font-display);
  font-size: 1.4rem;
  margin: var(--space-5) 0 var(--space-2);
}
.policy-content h3 {
  font-family: var(--font-display);
  font-size: 1.15rem;
  margin: var(--space-4) 0 var(--space-2);
}
.policy-content ul {
  margin: 0 0 var(--space-3);
  padding-left: var(--space-5);
}
.policy-content li {
  margin-bottom: var(--space-2);
}
.policy-content strong {
  color: var(--color-text);
}

@media (max-width: 768px) {
  .policy-page {
    padding: var(--space-5) 0 var(--space-6);
  }
  .policy-header,
  .policy-body {
    padding: var(--space-4);
  }
  .policy-title {
    font-size: 1.75rem;
  }
}
.profile-page {
  position: relative;
  background: radial-gradient(circle at 18% 12%, rgba(79, 122, 104, 0.2), transparent 45%), radial-gradient(circle at 85% 18%, rgba(194, 160, 77, 0.18), transparent 40%), linear-gradient(180deg, rgba(255, 255, 255, 0.5), transparent 55%), var(--color-bg);
  padding-bottom: calc(var(--space-7) + env(safe-area-inset-bottom));
  overflow: hidden;
}

.profile-page::before {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 15% 75%, rgba(63, 107, 91, 0.08), transparent 45%), radial-gradient(circle at 90% 60%, rgba(155, 123, 86, 0.12), transparent 45%);
  pointer-events: none;
}

.profile-hero {
  position: relative;
  padding: var(--space-6) 0 var(--space-7);
}

.profile-intro {
  display: grid;
  gap: var(--space-2);
  text-align: center;
  margin-bottom: var(--space-5);
}

.profile-badge {
  align-self: center;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
  padding: 0.35rem 0.9rem;
  border-radius: 999px;
  font-size: 0.7rem;
  letter-spacing: 0.35em;
  text-transform: uppercase;
  font-weight: 700;
  color: #3b2f22;
  background: rgba(255, 255, 255, 0.7);
  border: 1px solid rgba(63, 107, 91, 0.2);
  box-shadow: var(--shadow-soft);
}

.profile-title {
  margin: 0;
  font-size: 2.1rem;
  line-height: 1.1;
  font-weight: 600;
}

.profile-subtitle {
  margin: 0;
  color: var(--color-text-muted);
  font-size: 1rem;
}

.profile-native-header {
  position: relative;
  height: 40px;
}

.native-settings-button {
  position: absolute;
  top: 0;
  right: 0;
  width: 40px;
  height: 40px;
  border-radius: 999px;
  border: 1px solid var(--color-border-light);
  background: var(--color-surface);
  color: var(--color-text);
  display: grid;
  place-items: center;
  box-shadow: var(--shadow-soft);
  cursor: pointer;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.native-settings-button:hover {
  transform: translateY(-1px);
  box-shadow: var(--shadow-strong);
}

.profile-native-subtitle {
  font-size: 1rem;
  line-height: 1.6;
  font-weight: 400;
  color: var(--color-text-muted);
}

.profile-grid {
  display: grid;
  gap: var(--space-4);
}

.profile-card {
  display: grid;
  gap: var(--space-3);
  padding: var(--space-4);
  border-radius: calc(var(--radius-lg) + 2px);
  background: rgba(255, 255, 255, 0.92);
  border: 1px solid var(--color-border);
  box-shadow: var(--shadow-soft);
}

.profile-card-top {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: var(--space-3);
  align-items: center;
}

.profile-icon {
  width: 58px;
  height: 58px;
  border-radius: 18px;
  display: grid;
  place-items: center;
  font-size: 1.9rem;
  background: rgba(63, 107, 91, 0.12);
  border: 1px solid rgba(63, 107, 91, 0.28);
}

.profile-card-text h2 {
  margin: 0;
  font-size: 1.35rem;
}

.profile-card-text p {
  margin: 0.25rem 0 0;
  color: var(--color-text-muted);
  font-size: 0.92rem;
}

.profile-empty {
  display: grid;
  gap: var(--space-2);
  padding: var(--space-3);
  border-radius: var(--radius-md);
  background: rgba(255, 255, 255, 0.7);
  border: 1px dashed rgba(63, 107, 91, 0.2);
}

.profile-empty-text {
  margin: 0;
  font-size: 0.9rem;
  color: var(--color-text-muted);
}

.profile-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.7rem 1rem;
  border-radius: 999px;
  font-weight: 700;
  text-decoration: none;
  background: var(--color-primary);
  color: #f7f3ee;
  width: -moz-fit-content;
  width: fit-content;
}

.profile-btn:hover {
  background: var(--color-primary-strong);
  color: #f7f3ee;
}

.profile-stat-hero {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-3);
  padding: var(--space-3);
  border-radius: var(--radius-md);
  background: rgba(255, 255, 255, 0.7);
  border: 1px solid rgba(63, 107, 91, 0.12);
}

.stat-hero-block {
  display: grid;
  gap: 0.2rem;
}

.stat-hero-label {
  font-size: 0.7rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  font-weight: 700;
  color: var(--color-text-muted);
}

.stat-hero-value {
  font-size: 1.7rem;
  font-weight: 700;
  color: var(--color-text);
  line-height: 1;
}

.stat-hero-unit {
  font-size: 1rem;
  color: var(--color-text-muted);
  margin-left: 0.1rem;
}

.profile-stats-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  -moz-column-gap: var(--space-4);
       column-gap: var(--space-4);
  row-gap: var(--space-4);
}

.profile-stat {
  display: flex;
  flex-direction: column;
  gap: var(--space-1);
}

.profile-stat-label {
  font-size: 0.72rem;
  letter-spacing: 0.04em;
  font-weight: 600;
  text-transform: uppercase;
  color: var(--color-text-muted);
}

.profile-stat-value {
  font-size: 1.05rem;
  font-weight: 600;
  color: var(--color-text);
}

.profile-stat-value.is-large {
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 1;
}

.profile-card:nth-child(1) {
  background: linear-gradient(140deg, rgba(255, 255, 255, 0.98), rgba(220, 239, 232, 0.85));
  border-color: rgba(63, 107, 91, 0.25);
}

.profile-card:nth-child(1) .profile-icon {
  background: rgba(63, 107, 91, 0.16);
  border-color: rgba(63, 107, 91, 0.35);
}

.profile-card:nth-child(2) {
  background: linear-gradient(140deg, rgba(255, 255, 255, 0.98), rgba(236, 227, 199, 0.78));
  border-color: rgba(194, 160, 77, 0.25);
}

.profile-card:nth-child(2) .profile-icon {
  background: rgba(194, 160, 77, 0.18);
  border-color: rgba(194, 160, 77, 0.35);
}

.profile-card:nth-child(3) {
  background: linear-gradient(140deg, rgba(255, 255, 255, 0.98), rgba(215, 231, 244, 0.8));
  border-color: rgba(111, 138, 165, 0.3);
}

.profile-card:nth-child(3) .profile-icon {
  background: rgba(111, 138, 165, 0.18);
  border-color: rgba(111, 138, 165, 0.35);
}

@media (min-width: 720px) {
  .profile-intro {
    text-align: left;
  }
  .profile-badge {
    margin: 0;
  }
  .profile-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (min-width: 1024px) {
  .profile-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
@media (prefers-reduced-motion: no-preference) {
  .profile-card {
    animation: profile-rise 0.6s ease both;
  }
  .profile-card:nth-child(2) {
    animation-delay: 0.08s;
  }
  .profile-card:nth-child(3) {
    animation-delay: 0.16s;
  }
}
@keyframes profile-rise {
  from {
    opacity: 0;
    transform: translateY(16px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/*# sourceMappingURL=data:application/json;base64,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O0FBQ3ZDOztBQUVBO0VBQ0UseUZBQXlGO0VBQ3pGLHNDQUFzQztBQUN4Qzs7QUFFQTtFQUNFLG9DQUFvQztFQUNwQyxzQ0FBc0M7QUFDeEM7O0FBRUE7RUFDRSx3RkFBd0Y7RUFDeEYsc0NBQXNDO0FBQ3hDOztBQUVBO0VBQ0UscUNBQXFDO0VBQ3JDLHVDQUF1QztBQUN6Qzs7QUFFQTtFQUNFO0lBQ0UsZ0JBQWdCO0VBQ2xCO0VBQ0E7SUFDRSxTQUFTO0VBQ1g7RUFDQTtJQUNFLGdEQUFnRDtFQUNsRDtBQUNGO0FBQ0E7RUFDRTtJQUNFLGdEQUFnRDtFQUNsRDtBQUNGO0FBQ0E7RUFDRTtJQUNFLHNDQUFzQztFQUN4QztFQUNBO0lBQ0Usc0JBQXNCO0VBQ3hCO0VBQ0E7SUFDRSxzQkFBc0I7RUFDeEI7QUFDRjtBQUNBO0VBQ0U7SUFDRSxVQUFVO0lBQ1YsMkJBQTJCO0VBQzdCO0VBQ0E7SUFDRSxVQUFVO0lBQ1Ysd0JBQXdCO0VBQzFCO0FBQ0YiLCJmaWxlIjoiYXBwbGljYXRpb24uY3NzIiwic291cmNlc0NvbnRlbnQiOlsiQGNoYXJzZXQgXCJVVEYtOFwiO1xuOnJvb3Qge1xuICAtLWNvbG9yLWJnOiAjZjdmM2VlO1xuICAtLWNvbG9yLXN1cmZhY2U6ICNmZmZmZmY7XG4gIC0tY29sb3Itc3VyZmFjZS1hbHQ6ICNmMmVjZTQ7XG4gIC0tY29sb3ItYm9yZGVyOiAjZTJkOWNmO1xuICAtLWNvbG9yLWJvcmRlci1saWdodDogI2VmZTdkZTtcbiAgLS1jb2xvci10ZXh0OiAjMmIyNDFkO1xuICAtLWNvbG9yLXRleHQtbXV0ZWQ6ICM3ZTczNjY7XG4gIC0tY29sb3ItcHJpbWFyeTogIzNmNmI1YjtcbiAgLS1jb2xvci1wcmltYXJ5LXN0cm9uZzogIzMyNTY0ODtcbiAgLS1jb2xvci1zZWNvbmRhcnk6ICM5YjdiNTY7XG4gIC0tY29sb3Itc3VjY2VzczogIzRmN2E2ODtcbiAgLS1jb2xvci1kYW5nZXI6ICNiODViNTY7XG4gIC0tY29sb3Itd2FybmluZzogI2MyYTA0ZDtcbiAgLS1jb2xvci1pbmZvOiAjNmY4YWE1O1xuICAtLWNvbG9yLW92ZXJsYXk6IHJnYmEoNDAsIDMyLCAyNCwgMC40KTtcbiAgLS1jb2xvci1jb3JyZWN0OiAjNGY3YTY4O1xuICAtLWNvbG9yLWNvcnJlY3QtdGV4dDogI2Y3ZjNlZTtcbiAgLS1jb2xvci1wcmVzZW50OiAjYzJhMDRkO1xuICAtLWNvbG9yLXByZXNlbnQtdGV4dDogIzNhMmExNDtcbiAgLS1jb2xvci1hYnNlbnQ6ICNkMWM4YmQ7XG4gIC0tY29sb3ItYWJzZW50LXRleHQ6ICM2OTVmNTU7XG4gIC0tY29sb3ItYWJzZW50LWJvcmRlcjogI2M0YmJhZjtcbiAgLS1jb2xvci1rZXk6ICNlOGUxZDg7XG4gIC0tY29sb3Ita2V5LWhvdmVyOiAjZGVkNmNjO1xuICAtLXNwYWNlLTE6IDAuMjVyZW07XG4gIC0tc3BhY2UtMjogMC41cmVtO1xuICAtLXNwYWNlLTM6IDAuNzVyZW07XG4gIC0tc3BhY2UtNDogMXJlbTtcbiAgLS1zcGFjZS01OiAxLjVyZW07XG4gIC0tc3BhY2UtNjogMnJlbTtcbiAgLS1zcGFjZS03OiAzcmVtO1xuICAtLXJhZGl1cy14czogNHB4O1xuICAtLXJhZGl1cy1zbTogNnB4O1xuICAtLXJhZGl1cy1tZDogMTBweDtcbiAgLS1yYWRpdXMtbGc6IDE2cHg7XG4gIC0tc2hhZG93LXNvZnQ6IDAgMTBweCAzMHB4IHJnYmEoNTgsIDQ2LCAzMywgMC4wOCk7XG4gIC0tc2hhZG93LXN0cm9uZzogMCAxOHB4IDUwcHggcmdiYSg1OCwgNDYsIDMzLCAwLjE2KTtcbiAgLS1mb250LWJhc2U6IFwiU291cmNlIFNhbnMgM1wiLCBcIkhlbHZldGljYSBOZXVlXCIsIEFyaWFsLCBzYW5zLXNlcmlmO1xuICAtLWZvbnQtZGlzcGxheTogXCJGcmF1bmNlc1wiLCBcIkdlb3JnaWFcIiwgXCJUaW1lcyBOZXcgUm9tYW5cIiwgc2VyaWY7XG4gIC0tZm9udC1zaXplLWJhc2U6IDE2cHg7XG4gIC0tZm9udC1zaXplLXNtOiAwLjlyZW07XG4gIC0tZm9udC1zaXplLWxnOiAxLjE1cmVtO1xufVxuXG4qLFxuKjo6YmVmb3JlLFxuKjo6YWZ0ZXIge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG5odG1sIHtcbiAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtYmFzZSk7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJnKTtcbiAgdG91Y2gtYWN0aW9uOiBtYW5pcHVsYXRpb247XG59XG5cbmJvZHkge1xuICBtYXJnaW46IDA7XG4gIG1pbi1oZWlnaHQ6IDEwMHZoO1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1iYXNlKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmcpO1xuICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dCk7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG59XG5cbmJvZHkudHVyYm8tbmF0aXZlLWJvZHkge1xuICBwYWRkaW5nLWJvdHRvbTogY2FsYyg3MnB4ICsgZW52KHNhZmUtYXJlYS1pbnNldC1ib3R0b20pKTtcbn1cblxuaDEsXG5oMixcbmgzLFxuaDQsXG4uaGVhZGluZy1sZyxcbi5oZWFkaW5nLW1kLFxuLmhlYWRpbmctc20ge1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1kaXNwbGF5KTtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMDFlbTtcbn1cblxuYm9keS5tb2RhbC1vcGVuIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuYSB7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci1zZWNvbmRhcnkpO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRyYW5zaXRpb246IGNvbG9yIDAuMnMgZWFzZTtcbn1cbmE6aG92ZXIge1xuICBjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG59XG5cbmltZyB7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbmJ1dHRvbixcbmlucHV0LFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbn1cblxuLmFwcC1jb250YWluZXIsIC5jb250YWluZXIge1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiAxMjAwcHg7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBwYWRkaW5nOiAwIHZhcigtLXNwYWNlLTQpO1xufVxuQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gIC5hcHAtY29udGFpbmVyLCAuY29udGFpbmVyIHtcbiAgICBwYWRkaW5nOiAwIHZhcigtLXNwYWNlLTMpO1xuICB9XG59XG5AbWVkaWEgKG1heC13aWR0aDogNDgwcHgpIHtcbiAgLmFwcC1jb250YWluZXIsIC5jb250YWluZXIge1xuICAgIHBhZGRpbmc6IDAgdmFyKC0tc3BhY2UtMik7XG4gIH1cbn1cblxuLnBhbmVsIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3Itc3VyZmFjZSk7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1sZyk7XG4gIGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdy1zb2Z0KTtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyKTtcbiAgcGFkZGluZzogdmFyKC0tc3BhY2UtNSk7XG59XG5cbi5wYW5lbC1oZWFkZXIge1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS00KTtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1saWdodCk7XG4gIHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjZS0zKTtcbn1cblxuLnBhbmVsLWJvZHkge1xuICBwYWRkaW5nLXRvcDogdmFyKC0tc3BhY2UtMyk7XG59XG5cbi5sYXlvdXQtcm93IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbn1cblxuLmxheW91dC1jb2wge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuXG4uanVzdGlmeS1jZW50ZXIge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLmp1c3RpZnktYmV0d2VlbiB7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcbn1cblxuLmp1c3RpZnktZW5kIHtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbn1cblxuLmFsaWduLWNlbnRlciB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi5hbGlnbi1zdGFydCB7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xufVxuXG4uYWxpZ24tZW5kIHtcbiAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xufVxuXG4uZ2FwLXhzIHtcbiAgZ2FwOiB2YXIoLS1zcGFjZS0yKTtcbn1cblxuLmdhcC1zbSB7XG4gIGdhcDogdmFyKC0tc3BhY2UtMyk7XG59XG5cbi5nYXAtbWQge1xuICBnYXA6IHZhcigtLXNwYWNlLTQpO1xufVxuXG4uZ2FwLWxnIHtcbiAgZ2FwOiB2YXIoLS1zcGFjZS01KTtcbn1cblxuLnRleHQtY2VudGVyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4udGV4dC1yaWdodCB7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuXG4udGV4dC1tdXRlZCB7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LW11dGVkKTtcbn1cblxuLnRleHQtZ3JhZGllbnQge1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCB2YXIoLS1jb2xvci1zZWNvbmRhcnkpLCB2YXIoLS1jb2xvci1wcmltYXJ5KSk7XG4gIC13ZWJraXQtYmFja2dyb3VuZC1jbGlwOiB0ZXh0O1xuICAtd2Via2l0LXRleHQtZmlsbC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi5oZWFkaW5nLWxnIHtcbiAgZm9udC1zaXplOiAycmVtO1xuICBmb250LXdlaWdodDogNjAwO1xuICBtYXJnaW46IDAgMCB2YXIoLS1zcGFjZS00KTtcbn1cblxuLmhlYWRpbmctbWQge1xuICBmb250LXNpemU6IDEuNHJlbTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbWFyZ2luOiAwIDAgdmFyKC0tc3BhY2UtMyk7XG59XG5cbi5oZWFkaW5nLXNtIHtcbiAgZm9udC1zaXplOiAxLjFyZW07XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIG1hcmdpbjogMCAwIHZhcigtLXNwYWNlLTIpO1xufVxuXG4ubXQtc20ge1xuICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjZS0zKTtcbn1cblxuLm10LW1kIHtcbiAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2UtNCk7XG59XG5cbi5tdC1sZyB7XG4gIG1hcmdpbi10b3A6IHZhcigtLXNwYWNlLTYpO1xufVxuXG4ubWItc20ge1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS0zKTtcbn1cblxuLm1iLW1kIHtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UtNCk7XG59XG5cbi5tYi1sZyB7XG4gIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlLTYpO1xufVxuXG4ucHgtbWQge1xuICBwYWRkaW5nLWxlZnQ6IHZhcigtLXNwYWNlLTQpO1xuICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1zcGFjZS00KTtcbn1cblxuLnB5LW1kIHtcbiAgcGFkZGluZy10b3A6IHZhcigtLXNwYWNlLTQpO1xuICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tc3BhY2UtNCk7XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAuaGlkZS1tb2JpbGUge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4udHVyYm8tbmF0aXZlLW5hdiB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgaGVpZ2h0OiBjYWxjKDQ0cHggKyBlbnYoc2FmZS1hcmVhLWluc2V0LXRvcCkpO1xuICBwYWRkaW5nOiBlbnYoc2FmZS1hcmVhLWluc2V0LXRvcCkgdmFyKC0tc3BhY2UtNCkgMDtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIHotaW5kZXg6IDExMDA7XG4gIGJvcmRlci1ib3R0b206IDA7XG59XG5cbi50dXJiby1uYXRpdmUtYmFjayB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgd2lkdGg6IDQ0cHg7XG4gIGhlaWdodDogNDRweDtcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItcmFkaXVzOiA5OTlweDtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjkyKTtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQpO1xuICBib3gtc2hhZG93OiAwIDZweCAxOHB4IHJnYmEoMzUsIDI4LCAyMiwgMC4wOCk7XG4gIGZvbnQtc2l6ZTogMS4xcmVtO1xuICBsaW5lLWhlaWdodDogMTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoMTJweCk7XG4gIC13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOiBibHVyKDEycHgpO1xufVxuLnR1cmJvLW5hdGl2ZS1iYWNrOmFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxcHgpO1xufVxuXG4udHVyYm8tbmF0aXZlLWhlbHAge1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB3aWR0aDogNDBweDtcbiAgaGVpZ2h0OiA0MHB4O1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDk5OXB4O1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOTIpO1xuICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dCk7XG4gIGJveC1zaGFkb3c6IDAgNnB4IDE4cHggcmdiYSgzNSwgMjgsIDIyLCAwLjA4KTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoMTJweCk7XG4gIC13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOiBibHVyKDEycHgpO1xufVxuLnR1cmJvLW5hdGl2ZS1oZWxwOmFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxcHgpO1xufVxuXG4udHVyYm8tbmF0aXZlLXRhYmJhciB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgcGFkZGluZzogMTBweCAyOHB4IGNhbGMoMTJweCArIGVudihzYWZlLWFyZWEtaW5zZXQtYm90dG9tKSk7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IHZhcigtLXNwYWNlLTMpO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOTIpO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgcmdiYSg0OCwgMzgsIDI4LCAwLjA4KTtcbiAgYm94LXNoYWRvdzogMCAtOHB4IDE4cHggcmdiYSgzNSwgMjgsIDIyLCAwLjA1KTtcbiAgYmFja2Ryb3AtZmlsdGVyOiBibHVyKDE4cHgpO1xuICAtd2Via2l0LWJhY2tkcm9wLWZpbHRlcjogYmx1cigxOHB4KTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApO1xuICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtO1xuICB6LWluZGV4OiAxMTAwO1xufVxuXG4udHVyYm8tbmF0aXZlLXRhYmJhcl9faXRlbSB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDRweDtcbiAgZm9udC1zaXplOiAwLjdyZW07XG4gIGxldHRlci1zcGFjaW5nOiAwLjA0ZW07XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICBmb250LXdlaWdodDogNTAwO1xuICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1tdXRlZCk7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4udHVyYm8tbmF0aXZlLXRhYmJhcl9faXRlbSBpIHtcbiAgZm9udC1zaXplOiAxLjE1cmVtO1xufVxuXG4udHVyYm8tbmF0aXZlLXRhYmJhcl9faXRlbS5pcy1hY3RpdmUge1xuICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dCk7XG59XG5cbi50dXJiby1uYXRpdmUtdGFiYmFyX19pdGVtLmlzLWFjdGl2ZTo6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICB3aWR0aDogNnB4O1xuICBoZWlnaHQ6IDZweDtcbiAgYm9yZGVyLXJhZGl1czogOTk5cHg7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXNlY29uZGFyeSk7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAtNnB4O1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNzY5cHgpIHtcbiAgLmhpZGUtZGVza3RvcCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi5idG4sIC5idG4tb3V0bGluZS1wcmltYXJ5LFxuLmJ0bi1vdXRsaW5lLXNlY29uZGFyeSxcbi5idG4tb3V0bGluZS1zdWNjZXNzLFxuLmJ0bi1vdXRsaW5lLWRhbmdlcixcbi5idG4tb3V0bGluZS13YXJuaW5nLFxuLmJ0bi1vdXRsaW5lLWluZm8sIC5idG4taW5mbywgLmJ0bi1kYW5nZXIsIC5idG4td2FybmluZywgLmJ0bi1zdWNjZXNzIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBnYXA6IHZhcigtLXNwYWNlLTIpO1xuICBwYWRkaW5nOiAwLjY1cmVtIDEuNXJlbTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLW1kKTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMTVzIGVhc2UsIGJveC1zaGFkb3cgMC4xNXMgZWFzZSwgYmFja2dyb3VuZC1jb2xvciAwLjE1cyBlYXNlO1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuLmJ0bjpob3ZlciwgLmJ0bi1vdXRsaW5lLXByaW1hcnk6aG92ZXIsXG4uYnRuLW91dGxpbmUtc2Vjb25kYXJ5OmhvdmVyLFxuLmJ0bi1vdXRsaW5lLXN1Y2Nlc3M6aG92ZXIsXG4uYnRuLW91dGxpbmUtZGFuZ2VyOmhvdmVyLFxuLmJ0bi1vdXRsaW5lLXdhcm5pbmc6aG92ZXIsXG4uYnRuLW91dGxpbmUtaW5mbzpob3ZlciwgLmJ0bi1pbmZvOmhvdmVyLCAuYnRuLWRhbmdlcjpob3ZlciwgLmJ0bi13YXJuaW5nOmhvdmVyLCAuYnRuLXN1Y2Nlc3M6aG92ZXIge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTFweCk7XG4gIGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdy1zb2Z0KTtcbn1cbi5idG46YWN0aXZlLCAuYnRuLW91dGxpbmUtcHJpbWFyeTphY3RpdmUsXG4uYnRuLW91dGxpbmUtc2Vjb25kYXJ5OmFjdGl2ZSxcbi5idG4tb3V0bGluZS1zdWNjZXNzOmFjdGl2ZSxcbi5idG4tb3V0bGluZS1kYW5nZXI6YWN0aXZlLFxuLmJ0bi1vdXRsaW5lLXdhcm5pbmc6YWN0aXZlLFxuLmJ0bi1vdXRsaW5lLWluZm86YWN0aXZlLCAuYnRuLWluZm86YWN0aXZlLCAuYnRuLWRhbmdlcjphY3RpdmUsIC5idG4td2FybmluZzphY3RpdmUsIC5idG4tc3VjY2VzczphY3RpdmUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG59XG5cbi5idG4tcHJpbWFyeSB7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHZhcigtLWNvbG9yLXByaW1hcnkpLCB2YXIoLS1jb2xvci1wcmltYXJ5LXN0cm9uZykpO1xuICBjb2xvcjogI2ZmZmZmZjtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LXN0cm9uZyk7XG59XG5cbi5idG4tc2Vjb25kYXJ5IHtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgdmFyKC0tY29sb3Itc2Vjb25kYXJ5KSwgIzdmNjA0MSk7XG4gIGNvbG9yOiAjZmZmZmZmO1xuICBib3JkZXItY29sb3I6ICM3ZjYwNDE7XG59XG5cbi5idG4tb3V0bGluZSwgLmJ0bi1vdXRsaW5lLXByaW1hcnksXG4uYnRuLW91dGxpbmUtc2Vjb25kYXJ5LFxuLmJ0bi1vdXRsaW5lLXN1Y2Nlc3MsXG4uYnRuLW91dGxpbmUtZGFuZ2VyLFxuLmJ0bi1vdXRsaW5lLXdhcm5pbmcsXG4uYnRuLW91dGxpbmUtaW5mbyB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItbGlnaHQpO1xuICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dCk7XG59XG4uYnRuLW91dGxpbmU6aG92ZXIsIC5idG4tb3V0bGluZS1wcmltYXJ5OmhvdmVyLFxuLmJ0bi1vdXRsaW5lLXNlY29uZGFyeTpob3Zlcixcbi5idG4tb3V0bGluZS1zdWNjZXNzOmhvdmVyLFxuLmJ0bi1vdXRsaW5lLWRhbmdlcjpob3Zlcixcbi5idG4tb3V0bGluZS13YXJuaW5nOmhvdmVyLFxuLmJ0bi1vdXRsaW5lLWluZm86aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1ib3JkZXItbGlnaHQpO1xufVxuXG4uYnRuLWxpbmsge1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBib3JkZXI6IG5vbmU7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci1zZWNvbmRhcnkpO1xuICBwYWRkaW5nOiAwO1xufVxuLmJ0bi1saW5rOmhvdmVyIHtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xufVxuXG4uYnRuLWxnIHtcbiAgcGFkZGluZzogMC45cmVtIDJyZW07XG4gIGZvbnQtc2l6ZTogMS4xcmVtO1xufVxuXG4uYnRuLXNtIHtcbiAgcGFkZGluZzogMC40NXJlbSAxcmVtO1xuICBmb250LXNpemU6IDAuODVyZW07XG59XG5cbi5idG4tZnVsbCB7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uYWxlcnQge1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbWQpO1xuICBwYWRkaW5nOiB2YXIoLS1zcGFjZS0zKSB2YXIoLS1zcGFjZS00KTtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UtMyk7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBmb250LXdlaWdodDogNTAwO1xufVxuXG4uYWxlcnQtc3VjY2VzcyB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoNzksIDEyMiwgMTA0LCAwLjE0KTtcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKDc5LCAxMjIsIDEwNCwgMC4zNSk7XG4gIGNvbG9yOiAjMmY0YzNlO1xufVxuXG4uYWxlcnQtZGFuZ2VyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxODQsIDkxLCA4NiwgMC4xNCk7XG4gIGJvcmRlci1jb2xvcjogcmdiYSgxODQsIDkxLCA4NiwgMC4zNSk7XG4gIGNvbG9yOiAjNmUyZjJiO1xufVxuXG4uYWxlcnQtd2FybmluZyB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTk0LCAxNjAsIDc3LCAwLjE2KTtcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKDE5NCwgMTYwLCA3NywgMC4zNSk7XG4gIGNvbG9yOiAjNWI0NTIxO1xufVxuXG4uYWxlcnQtaW5mbyB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTExLCAxMzgsIDE2NSwgMC4xNik7XG4gIGJvcmRlci1jb2xvcjogcmdiYSgxMTEsIDEzOCwgMTY1LCAwLjM1KTtcbiAgY29sb3I6ICMzMTQyNTQ7XG59XG5cbi5hbGVydC1kaXNtaXNzaWJsZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZy1yaWdodDogMi41cmVtO1xufVxuXG4uYnRuLWNsb3NlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgcmlnaHQ6IDAuOXJlbTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICB3aWR0aDogMS4xcmVtO1xuICBoZWlnaHQ6IDEuMXJlbTtcbiAgYm9yZGVyOiBub25lO1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBjb2xvcjogaW5oZXJpdDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBvcGFjaXR5OiAwLjg7XG59XG4uYnRuLWNsb3NlOmFmdGVyIHtcbiAgY29udGVudDogXCLinJVcIjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBmb250LXNpemU6IDFyZW07XG59XG4uYnRuLWNsb3NlOmhvdmVyLCAuYnRuLWNsb3NlOmZvY3VzIHtcbiAgb3BhY2l0eTogMTtcbn1cblxuLmZvcm0tZmllbGQge1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS00KTtcbn1cblxuLmZvcm0tbGFiZWwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UtMik7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGZvbnQtc2l6ZTogMC45NXJlbTtcbn1cblxuLmlucHV0LCAuZm9ybS1jb250cm9sLFxuLnNlbGVjdCxcbi5mb3JtLXNlbGVjdCxcbi50ZXh0YXJlYSB7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAwLjY1cmVtIDAuODVyZW07XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zbSk7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1saWdodCk7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXN1cmZhY2UtYWx0KTtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQpO1xuICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC4ycyBlYXNlLCBib3gtc2hhZG93IDAuMnMgZWFzZTtcbn1cbi5pbnB1dDpmb2N1cywgLmZvcm0tY29udHJvbDpmb2N1cyxcbi5zZWxlY3Q6Zm9jdXMsXG4uZm9ybS1zZWxlY3Q6Zm9jdXMsXG4udGV4dGFyZWE6Zm9jdXMge1xuICBvdXRsaW5lOiBub25lO1xuICBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLXNlY29uZGFyeSk7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDJweCByZ2JhKDE1NSwgMTIzLCA4NiwgMC4zNSk7XG59XG5cbi50ZXh0YXJlYSB7XG4gIG1pbi1oZWlnaHQ6IDE0MHB4O1xuICByZXNpemU6IHZlcnRpY2FsO1xufVxuXG4uaGVscGVyLXRleHQge1xuICBmb250LXNpemU6IDAuODVyZW07XG4gIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LW11dGVkKTtcbiAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2UtMSk7XG59XG5cbi5tb2RhbCB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgaW5zZXQ6IDA7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBwYWRkaW5nOiB2YXIoLS1zcGFjZS00KTtcbiAgei1pbmRleDogMTAwMDtcbn1cbi5tb2RhbC5pcy1vcGVuIHtcbiAgZGlzcGxheTogZmxleDtcbn1cblxuLm1vZGFsX19iYWNrZHJvcCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgaW5zZXQ6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLW92ZXJsYXkpO1xuICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoNHB4KTtcbn1cblxuLm1vZGFsX19kaWFsb2cge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXN1cmZhY2UpO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbGcpO1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXIpO1xuICBib3gtc2hhZG93OiB2YXIoLS1zaGFkb3ctc3Ryb25nKTtcbiAgd2lkdGg6IG1pbig2NDBweCwgOTV2dyk7XG4gIG1heC1oZWlnaHQ6IDkwdmg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG5cbi5tb2RhbF9faGVhZGVyLFxuLm1vZGFsX19mb290ZXIge1xuICBwYWRkaW5nOiB2YXIoLS1zcGFjZS00KTtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1saWdodCk7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLm1vZGFsX19mb290ZXIge1xuICBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLWxpZ2h0KTtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgZ2FwOiB2YXIoLS1zcGFjZS0yKTtcbn1cblxuLm1vZGFsX19ib2R5IHtcbiAgcGFkZGluZzogdmFyKC0tc3BhY2UtNCk7XG4gIG92ZXJmbG93LXk6IGF1dG87XG59XG5cbi5tb2RhbF9fY2xvc2Uge1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBib3JkZXI6IG5vbmU7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LW11dGVkKTtcbiAgZm9udC1zaXplOiAxLjRyZW07XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLmJhZGdlIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBhZGRpbmc6IDAuMnJlbSAwLjZyZW07XG4gIGJvcmRlci1yYWRpdXM6IDk5OXB4O1xuICBmb250LXNpemU6IDAuNzVyZW07XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJvcmRlci1saWdodCk7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0KTtcbn1cblxuLnByb2dyZXNzIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTJweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYm9yZGVyLWxpZ2h0KTtcbiAgYm9yZGVyLXJhZGl1czogOTk5cHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5wcm9ncmVzc19fYmFyIHtcbiAgaGVpZ2h0OiAxMDAlO1xuICBib3JkZXItcmFkaXVzOiBpbmhlcml0O1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCB2YXIoLS1jb2xvci1zZWNvbmRhcnkpLCB2YXIoLS1jb2xvci1wcmltYXJ5KSk7XG4gIHRyYW5zaXRpb246IHdpZHRoIDAuNHMgZWFzZTtcbn1cblxuLyogTGVnYWN5IGxheW91dCArIHV0aWxpdHkgY29tcGF0aWJpbGl0eSAqL1xuLnJvdyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgZ2FwOiB2YXIoLS1zcGFjZS0zKTtcbn1cblxuW2NsYXNzKj1jb2wtXSB7XG4gIGZsZXg6IDEgMCAxMDAlO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNTc2cHgpIHtcbiAgLmNvbC1zbS02IHtcbiAgICBmbGV4OiAwIDAgNTAlO1xuICAgIG1heC13aWR0aDogNTAlO1xuICB9XG4gIC5jb2wtc20tMTIge1xuICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5jb2wtbWQtNiB7XG4gICAgZmxleDogMCAwIDUwJTtcbiAgICBtYXgtd2lkdGg6IDUwJTtcbiAgfVxuICAuY29sLW1kLTEwIHtcbiAgICBmbGV4OiAwIDAgODMuMzMzJTtcbiAgICBtYXgtd2lkdGg6IDgzLjMzMyU7XG4gIH1cbiAgLmNvbC1tZC0xMiB7XG4gICAgZmxleDogMCAwIDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLmNvbC1sZy00IHtcbiAgICBmbGV4OiAwIDAgMzMuMzMzJTtcbiAgICBtYXgtd2lkdGg6IDMzLjMzMyU7XG4gIH1cbiAgLmNvbC1sZy02IHtcbiAgICBmbGV4OiAwIDAgNTAlO1xuICAgIG1heC13aWR0aDogNTAlO1xuICB9XG4gIC5jb2wtbGctOCB7XG4gICAgZmxleDogMCAwIDY2LjY2NiU7XG4gICAgbWF4LXdpZHRoOiA2Ni42NjYlO1xuICB9XG4gIC5jb2wtbGctMTIge1xuICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgfVxufVxuLmQtZmxleCB7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG5cbi5mbGV4LWNvbHVtbiB7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG5cbi5mbGV4LXJvdyB7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG59XG5cbi5qdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiB7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcbn1cblxuLmp1c3RpZnktY29udGVudC1jZW50ZXIge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLmFsaWduLWl0ZW1zLWNlbnRlciB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi5hbGlnbi1pdGVtcy1lbmQge1xuICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG59XG5cbi5hbGlnbi1pdGVtcy1zdGFydCB7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xufVxuXG4ubXgtYXV0byB7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG59XG5cbi53LTEwMCB7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uaC0xMDAge1xuICBoZWlnaHQ6IDEwMCU7XG59XG5cbi50ZXh0LWNlbnRlciB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLnRleHQtZW5kIHtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG59XG5cbi5tdC0yIHtcbiAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2UtMik7XG59XG5cbi5tdC0zIHtcbiAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2UtMyk7XG59XG5cbi5tdC00IHtcbiAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2UtNCk7XG59XG5cbi5tdC01IHtcbiAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2UtNik7XG59XG5cbi5tYi0yIHtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UtMik7XG59XG5cbi5tYi0zIHtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UtMyk7XG59XG5cbi5tYi00IHtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UtNCk7XG59XG5cbi5tYi01IHtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UtNik7XG59XG5cbi5tZS0xIHtcbiAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1zcGFjZS0yKTtcbn1cblxuLm1lLTIge1xuICBtYXJnaW4tcmlnaHQ6IHZhcigtLXNwYWNlLTMpO1xufVxuXG4ubWUtMyB7XG4gIG1hcmdpbi1yaWdodDogdmFyKC0tc3BhY2UtNCk7XG59XG5cbi5tcy0xIHtcbiAgbWFyZ2luLWxlZnQ6IHZhcigtLXNwYWNlLTIpO1xufVxuXG4ubXMtMiB7XG4gIG1hcmdpbi1sZWZ0OiB2YXIoLS1zcGFjZS0zKTtcbn1cblxuLnB5LTQge1xuICBwYWRkaW5nLXRvcDogdmFyKC0tc3BhY2UtNCk7XG4gIHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjZS00KTtcbn1cblxuLnB4LTMge1xuICBwYWRkaW5nLWxlZnQ6IHZhcigtLXNwYWNlLTMpO1xuICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1zcGFjZS0zKTtcbn1cblxuLmctMyB7XG4gIGdhcDogdmFyKC0tc3BhY2UtMyk7XG59XG5cbi5nLTQge1xuICBnYXA6IHZhcigtLXNwYWNlLTQpO1xufVxuXG4uY2FyZCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXN1cmZhY2UpO1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXIpO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbGcpO1xuICBib3gtc2hhZG93OiB2YXIoLS1zaGFkb3ctc29mdCk7XG4gIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlLTQpO1xufVxuXG4uY2FyZC1oZWFkZXIge1xuICBwYWRkaW5nOiB2YXIoLS1zcGFjZS0zKSB2YXIoLS1zcGFjZS00KTtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1saWdodCk7XG59XG5cbi5jYXJkLWJvZHkge1xuICBwYWRkaW5nOiB2YXIoLS1zcGFjZS00KTtcbn1cblxuLmNhcmQtdGl0bGUge1xuICBtYXJnaW46IDA7XG4gIGZvbnQtc2l6ZTogMS4yNXJlbTtcbn1cblxuLnNoYWRvdyB7XG4gIGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdy1zb2Z0KTtcbn1cblxuLnRhYmxlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlcik7XG59XG5cbi50YWJsZSB0aCxcbi50YWJsZSB0ZCB7XG4gIHBhZGRpbmc6IHZhcigtLXNwYWNlLTMpO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyKTtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbn1cblxuLnRhYmxlLXN0cmlwZWQgdGJvZHkgdHI6bnRoLWNoaWxkKG9kZCkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmFmN2YyO1xufVxuXG4udGFibGUtcmVzcG9uc2l2ZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBvdmVyZmxvdy14OiBhdXRvO1xufVxuXG4ucGFnaW5hdGlvbiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGdhcDogdmFyKC0tc3BhY2UtMik7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIHBhZGRpbmc6IDA7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4ucGFnZS1pdGVtIHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbn1cblxuLnBhZ2UtbGluayB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgcGFkZGluZzogMC40cmVtIDAuOHJlbTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXNtKTtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLWxpZ2h0KTtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQpO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi5wYWdlLWl0ZW0uYWN0aXZlIC5wYWdlLWxpbmsge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1zZWNvbmRhcnkpO1xuICBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLXNlY29uZGFyeSk7XG4gIGNvbG9yOiAjZmZmO1xufVxuXG4uYnRuLXN1Y2Nlc3Mge1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCB2YXIoLS1jb2xvci1zdWNjZXNzKSwgIzNjNjI1Myk7XG4gIGNvbG9yOiAjZmZmZmZmO1xufVxuXG4uYnRuLXdhcm5pbmcge1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCAjYjE4ZDNmLCAjOGY2YTJiKTtcbiAgY29sb3I6ICNmZmZmZmY7XG59XG5cbi5idG4tZGFuZ2VyIHtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgdmFyKC0tY29sb3ItZGFuZ2VyKSwgIzk5NDc0Myk7XG4gIGNvbG9yOiAjZmZmZmZmO1xufVxuXG4uYnRuLWluZm8ge1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCB2YXIoLS1jb2xvci1pbmZvKSwgIzU2NzI4ZSk7XG4gIGNvbG9yOiAjZmZmZmZmO1xufVxuXG4uYnRuLW91dGxpbmUtcHJpbWFyeSB7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3Itc2Vjb25kYXJ5KTtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXNlY29uZGFyeSk7XG59XG5cbi5idG4tb3V0bGluZS1zZWNvbmRhcnkge1xuICBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLWJvcmRlci1saWdodCk7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0KTtcbn1cblxuLmJ0bi1vdXRsaW5lLXN1Y2Nlc3Mge1xuICBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLXN1Y2Nlc3MpO1xuICBjb2xvcjogdmFyKC0tY29sb3Itc3VjY2Vzcyk7XG59XG5cbi5idG4tb3V0bGluZS1kYW5nZXIge1xuICBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLWRhbmdlcik7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci1kYW5nZXIpO1xufVxuXG4uYnRuLW91dGxpbmUtd2FybmluZyB7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3Itd2FybmluZyk7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci13YXJuaW5nKTtcbn1cblxuLmJ0bi1vdXRsaW5lLWluZm8ge1xuICBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLWluZm8pO1xuICBjb2xvcjogdmFyKC0tY29sb3ItaW5mbyk7XG59XG5cbi5idG4tb3V0bGluZS1zZWNvbmRhcnk6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1ib3JkZXItbGlnaHQpO1xufVxuXG4uYmctcHJpbWFyeSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXNlY29uZGFyeSk7XG59XG5cbi5iZy1zdWNjZXNzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3Itc3VjY2Vzcyk7XG59XG5cbi5iZy1kYW5nZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1kYW5nZXIpO1xufVxuXG4uYmctd2FybmluZyB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXdhcm5pbmcpO1xufVxuXG4uYmctaW5mbyB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWluZm8pO1xufVxuXG4uYmctc2Vjb25kYXJ5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3Itc3VyZmFjZS1hbHQpO1xufVxuXG4udGV4dC1zdWNjZXNzIHtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXN1Y2Nlc3MpO1xufVxuXG4udGV4dC1kYW5nZXIge1xuICBjb2xvcjogdmFyKC0tY29sb3ItZGFuZ2VyKTtcbn1cblxuLmhvbWUtcGFnZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYmFja2dyb3VuZDogcmFkaWFsLWdyYWRpZW50KGNpcmNsZSBhdCAxOCUgMTIlLCByZ2JhKDc5LCAxMjIsIDEwNCwgMC4yKSwgdHJhbnNwYXJlbnQgNDUlKSwgcmFkaWFsLWdyYWRpZW50KGNpcmNsZSBhdCA4NSUgMTglLCByZ2JhKDE5NCwgMTYwLCA3NywgMC4xOCksIHRyYW5zcGFyZW50IDQwJSksIGxpbmVhci1ncmFkaWVudCgxODBkZWcsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KSwgdHJhbnNwYXJlbnQgNTUlKSwgdmFyKC0tY29sb3ItYmcpO1xuICBwYWRkaW5nLWJvdHRvbTogY2FsYyh2YXIoLS1zcGFjZS03KSArIGVudihzYWZlLWFyZWEtaW5zZXQtYm90dG9tKSk7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5ob21lLXBhZ2U6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgaW5zZXQ6IDA7XG4gIGJhY2tncm91bmQ6IHJhZGlhbC1ncmFkaWVudChjaXJjbGUgYXQgMTUlIDc1JSwgcmdiYSg2MywgMTA3LCA5MSwgMC4wOCksIHRyYW5zcGFyZW50IDQ1JSksIHJhZGlhbC1ncmFkaWVudChjaXJjbGUgYXQgOTAlIDYwJSwgcmdiYSgxNTUsIDEyMywgODYsIDAuMTIpLCB0cmFuc3BhcmVudCA0NSUpO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuLmhvbWUtaGVybyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZzogdmFyKC0tc3BhY2UtNikgMCB2YXIoLS1zcGFjZS03KTtcbn1cblxuLmhvbWUtaW50cm8ge1xuICBkaXNwbGF5OiBncmlkO1xuICBnYXA6IHZhcigtLXNwYWNlLTIpO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlLTUpO1xufVxuXG4uaG9tZS1icmFuZCB7XG4gIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgd2lkdGg6IGZpdC1jb250ZW50O1xuICBtYXJnaW46IDAgYXV0bztcbiAgcGFkZGluZzogMC4zNXJlbSAwLjlyZW07XG4gIGJvcmRlci1yYWRpdXM6IDk5OXB4O1xuICBmb250LXNpemU6IDAuNzVyZW07XG4gIGxldHRlci1zcGFjaW5nOiAwLjM1ZW07XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGNvbG9yOiAjM2IyZjIyO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNyk7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoNjMsIDEwNywgOTEsIDAuMik7XG4gIGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdy1zb2Z0KTtcbn1cblxuLmhvbWUtdGl0bGUge1xuICBtYXJnaW46IDA7XG4gIGZvbnQtc2l6ZTogMi4xcmVtO1xuICBsaW5lLWhlaWdodDogMS4xO1xuICBmb250LXdlaWdodDogNjAwO1xufVxuXG4uaG9tZS1zdWJ0aXRsZSB7XG4gIG1hcmdpbjogMDtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbXV0ZWQpO1xuICBmb250LXNpemU6IDFyZW07XG59XG5cbi5nYW1lcy1ncmlkIHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ2FwOiB2YXIoLS1zcGFjZS00KTtcbn1cblxuLmdhbWUtdGlsZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ2FwOiB2YXIoLS1zcGFjZS0zKTtcbiAgcGFkZGluZzogdmFyKC0tc3BhY2UtNCk7XG4gIGJvcmRlci1yYWRpdXM6IGNhbGModmFyKC0tcmFkaXVzLWxnKSArIDJweCk7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45Mik7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlcik7XG4gIGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdy1zb2Z0KTtcbn1cblxuLmdhbWUtdGlsZS10b3Age1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IGF1dG8gMWZyO1xuICBnYXA6IHZhcigtLXNwYWNlLTMpO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4uZ2FtZS10aWxlLWljb24ge1xuICB3aWR0aDogNThweDtcbiAgaGVpZ2h0OiA1OHB4O1xuICBib3JkZXItcmFkaXVzOiAxOHB4O1xuICBkaXNwbGF5OiBncmlkO1xuICBwbGFjZS1pdGVtczogY2VudGVyO1xuICBmb250LXNpemU6IDEuOXJlbTtcbiAgYmFja2dyb3VuZDogcmdiYSg2MywgMTA3LCA5MSwgMC4xMik7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoNjMsIDEwNywgOTEsIDAuMjgpO1xufVxuXG4uZ2FtZS10aWxlLXRleHQgaDIge1xuICBtYXJnaW46IDA7XG4gIGZvbnQtc2l6ZTogMS4zNXJlbTtcbn1cblxuLmdhbWUtdGlsZS10ZXh0IHAge1xuICBtYXJnaW46IDAuMjVyZW0gMCAwO1xuICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1tdXRlZCk7XG4gIGZvbnQtc2l6ZTogMC45MnJlbTtcbn1cblxuLmdhbWUtdGlsZS1tZXRhIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IHZhcigtLXNwYWNlLTIpO1xufVxuXG4uZ2FtZS10aWxlLWRhdGUge1xuICBmb250LXdlaWdodDogNjAwO1xuICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1tdXRlZCk7XG4gIGZvbnQtc2l6ZTogMC44NXJlbTtcbn1cblxuLmdhbWUtdGlsZS1waWxsIHtcbiAgcGFkZGluZzogMC4yNXJlbSAwLjY1cmVtO1xuICBib3JkZXItcmFkaXVzOiA5OTlweDtcbiAgZm9udC1zaXplOiAwLjdyZW07XG4gIGxldHRlci1zcGFjaW5nOiAwLjEyZW07XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGJhY2tncm91bmQ6IHJnYmEoMTU1LCAxMjMsIDg2LCAwLjE1KTtcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgxNTUsIDEyMywgODYsIDAuMzUpO1xuICBjb2xvcjogIzZmNTIzNTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbn1cblxuLmdhbWUtdGlsZS1hY3Rpb25zIHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ2FwOiB2YXIoLS1zcGFjZS0yKTtcbn1cblxuLmhvbWUtYnRuIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBnYXA6IDAuNHJlbTtcbiAgcGFkZGluZzogMC43NXJlbSAxLjFyZW07XG4gIGJvcmRlci1yYWRpdXM6IDk5OXB4O1xuICBmb250LXdlaWdodDogNzAwO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xufVxuXG4uaG9tZS1idG4uaXMtcHJpbWFyeSB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xuICBjb2xvcjogI2Y3ZjNlZTtcbiAgYm94LXNoYWRvdzogMCAxMHB4IDIwcHggcmdiYSg2MywgMTA3LCA5MSwgMC4yKTtcbn1cblxuLmhvbWUtYnRuLmlzLXByaW1hcnk6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1wcmltYXJ5LXN0cm9uZyk7XG4gIGNvbG9yOiAjZjdmM2VlO1xufVxuXG4uaG9tZS1idG4uaXMtZ2hvc3Qge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNyk7XG4gIGJvcmRlci1jb2xvcjogcmdiYSgxNTUsIDEyMywgODYsIDAuMyk7XG4gIGNvbG9yOiAjNmY1MjM1O1xufVxuXG4uaG9tZS1idG4taWNvbiB7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbn1cblxuLmdhbWUtdGlsZS5pcy11cGNvbWluZyB7XG4gIG9wYWNpdHk6IDAuNztcbn1cblxuLmdhbWUtdGlsZTpudGgtY2hpbGQoMSkge1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTQwZGVnLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOTgpLCByZ2JhKDIyMCwgMjM5LCAyMzIsIDAuODUpKTtcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKDYzLCAxMDcsIDkxLCAwLjI1KTtcbn1cblxuLmdhbWUtdGlsZTpudGgtY2hpbGQoMSkgLmdhbWUtdGlsZS1pY29uIHtcbiAgYmFja2dyb3VuZDogcmdiYSg2MywgMTA3LCA5MSwgMC4xNik7XG4gIGJvcmRlci1jb2xvcjogcmdiYSg2MywgMTA3LCA5MSwgMC4zNSk7XG59XG5cbi5nYW1lLXRpbGU6bnRoLWNoaWxkKDIpIHtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE0MGRlZywgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjk4KSwgcmdiYSgyMzYsIDIyNywgMTk5LCAwLjc4KSk7XG4gIGJvcmRlci1jb2xvcjogcmdiYSgxOTQsIDE2MCwgNzcsIDAuMjUpO1xufVxuXG4uZ2FtZS10aWxlOm50aC1jaGlsZCgyKSAuZ2FtZS10aWxlLWljb24ge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDE5NCwgMTYwLCA3NywgMC4xOCk7XG4gIGJvcmRlci1jb2xvcjogcmdiYSgxOTQsIDE2MCwgNzcsIDAuMzUpO1xufVxuXG4uZ2FtZS10aWxlOm50aC1jaGlsZCgzKSB7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxNDBkZWcsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45OCksIHJnYmEoMjE1LCAyMzEsIDI0NCwgMC44KSk7XG4gIGJvcmRlci1jb2xvcjogcmdiYSgxMTEsIDEzOCwgMTY1LCAwLjMpO1xufVxuXG4uZ2FtZS10aWxlOm50aC1jaGlsZCgzKSAuZ2FtZS10aWxlLWljb24ge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDExMSwgMTM4LCAxNjUsIDAuMTgpO1xuICBib3JkZXItY29sb3I6IHJnYmEoMTExLCAxMzgsIDE2NSwgMC4zNSk7XG59XG5cbi5nYW1lLXRpbGU6bnRoLWNoaWxkKDQpIHtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE0MGRlZywgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjk4KSwgcmdiYSgyMzUsIDIyMCwgMjEwLCAwLjgyKSk7XG4gIGJvcmRlci1jb2xvcjogcmdiYSgxNTUsIDEyMywgODYsIDAuMyk7XG59XG5cbi5nYW1lLXRpbGU6bnRoLWNoaWxkKDQpIC5nYW1lLXRpbGUtaWNvbiB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMTU1LCAxMjMsIDg2LCAwLjE4KTtcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKDE1NSwgMTIzLCA4NiwgMC4zNSk7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA3MjBweCkge1xuICAuaG9tZS1pbnRybyB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgfVxuICAuaG9tZS1icmFuZCB7XG4gICAgbWFyZ2luOiAwO1xuICB9XG4gIC5nYW1lcy1ncmlkIHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCBtaW5tYXgoMCwgMWZyKSk7XG4gIH1cbiAgLmdhbWUtdGlsZS1hY3Rpb25zIHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCBtaW5tYXgoMCwgMWZyKSk7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgLmdhbWVzLWdyaWQge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDMsIG1pbm1heCgwLCAxZnIpKTtcbiAgfVxufVxuQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiBuby1wcmVmZXJlbmNlKSB7XG4gIC5nYW1lLXRpbGUge1xuICAgIGFuaW1hdGlvbjogaG9tZS1yaXNlIDAuNnMgZWFzZSBib3RoO1xuICB9XG4gIC5nYW1lLXRpbGU6bnRoLWNoaWxkKDIpIHtcbiAgICBhbmltYXRpb24tZGVsYXk6IDAuMDhzO1xuICB9XG4gIC5nYW1lLXRpbGU6bnRoLWNoaWxkKDMpIHtcbiAgICBhbmltYXRpb24tZGVsYXk6IDAuMTZzO1xuICB9XG4gIC5nYW1lLXRpbGU6bnRoLWNoaWxkKDQpIHtcbiAgICBhbmltYXRpb24tZGVsYXk6IDAuMjRzO1xuICB9XG59XG5Aa2V5ZnJhbWVzIGhvbWUtcmlzZSB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDE2cHgpO1xuICB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgfVxufVxuLndvcmRsZS1wYWdlIHtcbiAgcGFkZGluZzogdmFyKC0tc3BhY2UtNSkgMCB2YXIoLS1zcGFjZS03KTtcbn1cblxuLndvcmRsZS1wYW5lbCB7XG4gIG1heC13aWR0aDogNzIwcHg7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBwYWRkaW5nOiB2YXIoLS1zcGFjZS00KTtcbiAgYmFja2dyb3VuZDogdmFyKC0tY29sb3Itc3VyZmFjZSk7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1sZyk7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlcik7XG4gIGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdy1zb2Z0KTtcbn1cblxuLmdhbWUtbWVzc2FnZSB7XG4gIG1pbi1oZWlnaHQ6IDM2cHg7XG4gIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlLTMpO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbn1cblxuLndvcmRsZS1ib2FyZCB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdhcDogdmFyKC0tc3BhY2UtMik7XG4gIG1hcmdpbjogMCBhdXRvIHZhcigtLXNwYWNlLTQpO1xuICBtYXgtd2lkdGg6IDQyMHB4O1xufVxuXG4ud29yZGxlLXJvdyB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDUsIG1pbm1heCgwLCAxZnIpKTtcbiAgZ2FwOiB2YXIoLS1zcGFjZS0yKTtcbn1cblxuLndvcmRsZS10aWxlIHtcbiAgd2lkdGg6IDcwcHg7XG4gIGhlaWdodDogNzBweDtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXNtKTtcbiAgYm9yZGVyOiAycHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLWxpZ2h0KTtcbiAgZGlzcGxheTogZmxleDtcbiAgZm9udC1zaXplOiAycmVtO1xuICBmb250LXdlaWdodDogNzAwO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3Itc3VyZmFjZS1hbHQpO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4ycyBlYXNlLCBiYWNrZ3JvdW5kLWNvbG9yIDAuMnMgZWFzZSwgYm9yZGVyLWNvbG9yIDAuMnMgZWFzZTtcbn1cbi53b3JkbGUtdGlsZS5pcy1maWxsZWQge1xuICBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLXNlY29uZGFyeSk7XG59XG4ud29yZGxlLXRpbGUuZmlsbGVkLWJveCB7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3Itc2Vjb25kYXJ5KTtcbn1cbi53b3JkbGUtdGlsZS5jb3JyZWN0IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItY29ycmVjdCk7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci1jb3JyZWN0LXRleHQpO1xuICBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnktc3Ryb25nKTtcbn1cbi53b3JkbGUtdGlsZS5wcmVzZW50IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItcHJlc2VudCk7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci1wcmVzZW50LXRleHQpO1xuICBib3JkZXItY29sb3I6ICNiMjhhNDQ7XG59XG4ud29yZGxlLXRpbGUuYWJzZW50IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYWJzZW50KTtcbiAgY29sb3I6IHZhcigtLWNvbG9yLWFic2VudC10ZXh0KTtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1hYnNlbnQtYm9yZGVyKTtcbn1cbi53b3JkbGUtdGlsZS5hbmltYXRpbmcge1xuICB0cmFuc2Zvcm06IHJvdGF0ZVgoOTBkZWcpO1xufVxuLndvcmRsZS10aWxlLnJldmVhbCB7XG4gIHRyYW5zZm9ybTogcm90YXRlWCgwKTtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDUyMHB4KSB7XG4gIC53b3JkbGUtdGlsZSB7XG4gICAgd2lkdGg6IDU0cHg7XG4gICAgaGVpZ2h0OiA1NHB4O1xuICAgIGZvbnQtc2l6ZTogMS42cmVtO1xuICB9XG59XG4ud29yZGxlLWtleWJvYXJkIHtcbiAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2UtNSk7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGdhcDogdmFyKC0tc3BhY2UtMik7XG59XG5cbi5rZXlib2FyZC1yb3cge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgZ2FwOiB2YXIoLS1zcGFjZS0yKTtcbn1cblxuLmtleS1idXR0b24ge1xuICBmbGV4OiAxO1xuICBtYXgtd2lkdGg6IDUycHg7XG4gIHBhZGRpbmc6IDAuODVyZW0gMC4zcmVtO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtc20pO1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXIpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1rZXkpO1xuICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dCk7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzIGVhc2UsIHRyYW5zZm9ybSAwLjFzIGVhc2U7XG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG4ua2V5LWJ1dHRvbjpob3ZlciB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMXB4KTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3Ita2V5LWhvdmVyKTtcbn1cbi5rZXktYnV0dG9uLmNvcnJlY3Qge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1jb3JyZWN0KTtcbiAgY29sb3I6IHZhcigtLWNvbG9yLWNvcnJlY3QtdGV4dCk7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS1zdHJvbmcpO1xufVxuLmtleS1idXR0b24ucHJlc2VudCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXByZXNlbnQpO1xuICBjb2xvcjogdmFyKC0tY29sb3ItcHJlc2VudC10ZXh0KTtcbiAgYm9yZGVyLWNvbG9yOiAjYjI4YTQ0O1xufVxuLmtleS1idXR0b24uYWJzZW50IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYWJzZW50KTtcbiAgY29sb3I6IHZhcigtLWNvbG9yLWFic2VudC10ZXh0KTtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1hYnNlbnQtYm9yZGVyKTtcbn1cblxuLmtleS1idXR0b24tLXdpZGUge1xuICBmbGV4OiAxLjQ7XG4gIG1heC13aWR0aDogODRweDtcbn1cblxuLndvcmRsZS1tZXRhIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGdhcDogdmFyKC0tc3BhY2UtMyk7XG4gIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlLTQpO1xufVxuXG4ud29yZGxlLW1ldGEtaXRlbSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGdhcDogdmFyKC0tc3BhY2UtMSk7XG59XG5cbi54cC1zZWN0aW9uIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tY29sb3Itc3VyZmFjZS1hbHQpO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbGcpO1xuICBwYWRkaW5nOiB2YXIoLS1zcGFjZS00KTtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyKTtcbiAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2UtNSk7XG59XG5cbi54cC1icmVha2Rvd24tZ3JpZCB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdhcDogdmFyKC0tc3BhY2UtMyk7XG59XG5cbi54cC1icmVha2Rvd24tcm93IHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBwYWRkaW5nOiB2YXIoLS1zcGFjZS0zKTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLW1kKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y3ZjJlYztcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLWxpZ2h0KTtcbn1cblxuLnhwLWxhYmVsIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiB2YXIoLS1zcGFjZS0yKTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbn1cblxuLnhwLXZhbHVlIHtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgZm9udC1zaXplOiAxLjFyZW07XG4gIGNvbG9yOiB2YXIoLS1jb2xvci1zZWNvbmRhcnkpO1xufVxuXG4ueHAtdG90YWwge1xuICBmb250LXNpemU6IDEuM3JlbTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xufVxuXG4ueHAtcHJvZ3Jlc3MtZGlzcGxheSB7XG4gIG1hcmdpbi10b3A6IHZhcigtLXNwYWNlLTMpO1xufVxuXG4ueHAtbGV2ZWwtbWV0YSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgZm9udC1zaXplOiAwLjlyZW07XG4gIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LW11dGVkKTtcbiAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2UtMik7XG59XG5cbi5tb2RhbC14cCAueHAtYnJlYWtkb3duLWdyaWQge1xuICBtYXgtaGVpZ2h0OiA2MHZoO1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1zcGFjZS0yKTtcbn1cblxuLmdhbWUtbW9kYWwgLm1vZGFsX19kaWFsb2cge1xuICB3aWR0aDogbWluKDcyMHB4LCA5MnZ3KTtcbn1cbi5nYW1lLW1vZGFsIC5tb2RhbF9fYm9keSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGdhcDogdmFyKC0tc3BhY2UtNCk7XG59XG5cbi5nYW1lLW1vZGFsX19oZWFkZXIge1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgZ2FwOiB2YXIoLS1zcGFjZS00KTtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgI2Y2ZWZlNiwgI2ZkZmFmNik7XG59XG5cbi5nYW1lLW1vZGFsX190aXRsZSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGdhcDogdmFyKC0tc3BhY2UtMik7XG59XG5cbi5yZXN1bHQtYmFkZ2Uge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiB2YXIoLS1zcGFjZS0yKTtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZGlzcGxheSk7XG4gIGZvbnQtc2l6ZTogMS40cmVtO1xuICBsZXR0ZXItc3BhY2luZzogMC4wMmVtO1xuICBjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS1zdHJvbmcpO1xufVxuXG4ucmVzdWx0LXN1YnRpdGxlIHtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMTZlbTtcbiAgZm9udC1zaXplOiAwLjdyZW07XG4gIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LW11dGVkKTtcbn1cblxuLmNvbXBsZXRlZC1yZXN1bHRzIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiB2YXIoLS1zcGFjZS0yKTtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UtNCk7XG59XG5cbi50YXJnZXQtd29yZC1kaXNwbGF5IHtcbiAgZm9udC1zaXplOiBjbGFtcCgxLjVyZW0sIDR2dywgMnJlbSk7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGxldHRlci1zcGFjaW5nOiAwLjJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3Itc3VyZmFjZS1hbHQpO1xuICBwYWRkaW5nOiB2YXIoLS1zcGFjZS0zKTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLW1kKTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uc3VtbWFyeS1ncmlkIHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maXQsIG1pbm1heCgxNDBweCwgMWZyKSk7XG4gIGdhcDogdmFyKC0tc3BhY2UtMyk7XG59XG5cbi5zdW1tYXJ5LWNhcmQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1zdXJmYWNlLWFsdCk7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1saWdodCk7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1tZCk7XG4gIHBhZGRpbmc6IHZhcigtLXNwYWNlLTMpO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBnYXA6IHZhcigtLXNwYWNlLTEpO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5zdW1tYXJ5LWxhYmVsIHtcbiAgZm9udC1zaXplOiAwLjc1cmVtO1xuICBsZXR0ZXItc3BhY2luZzogMC4xMmVtO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1tdXRlZCk7XG59XG5cbi5zdW1tYXJ5LXZhbHVlIHtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZGlzcGxheSk7XG4gIGZvbnQtc2l6ZTogMS4zNXJlbTtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnktc3Ryb25nKTtcbn1cblxuLmtleWJvYXJkLWhpbnQge1xuICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjZS0yKTtcbiAgZm9udC1zaXplOiAwLjg1cmVtO1xuICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1tdXRlZCk7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLmNoYWxsZW5nZXMtcGFnZSB7XG4gIHBhZGRpbmc6IHZhcigtLXNwYWNlLTYpIDAgdmFyKC0tc3BhY2UtNyk7XG59XG4uY2hhbGxlbmdlcy1wYWdlIC5jaGFsbGVuZ2VzLWhlYWRlciB7XG4gIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlLTUpO1xufVxuLmNoYWxsZW5nZXMtcGFnZSAuY2hhbGxlbmdlcy1ncmlkIHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maXQsIG1pbm1heCgxODBweCwgMWZyKSk7XG4gIGdhcDogdmFyKC0tc3BhY2UtNCk7XG59XG4uY2hhbGxlbmdlcy1wYWdlIC5jaGFsbGVuZ2VzLXBhZ2luYXRpb24ge1xuICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjZS01KTtcbn1cbi5jaGFsbGVuZ2VzLXBhZ2UgLmNoYWxsZW5nZXMtZm9vdGVyIHtcbiAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2UtNSk7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuLmNoYWxsZW5nZXMtcGFnZSAuYXJjaGl2ZS1jYXJkIHtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwYWRkaW5nOiB2YXIoLS1zcGFjZS0zKTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLWxnKTtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyKTtcbiAgYmFja2dyb3VuZDogdmFyKC0tY29sb3Itc3VyZmFjZSk7XG4gIGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdy1zb2Z0KTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiB2YXIoLS1zcGFjZS0zKTtcbn1cbi5jaGFsbGVuZ2VzLXBhZ2UgLmFyY2hpdmUtaGVhZGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBnYXA6IHZhcigtLXNwYWNlLTMpO1xufVxuLmNoYWxsZW5nZXMtcGFnZSAuYXJjaGl2ZS1zdGF0dXMtZW1vamkge1xuICBmb250LXNpemU6IDEuMXJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7XG59XG4uY2hhbGxlbmdlcy1wYWdlIC53b3JkbGUtaWNvbi1ncmlkLXNtIHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ2FwOiA0cHg7XG59XG4uY2hhbGxlbmdlcy1wYWdlIC5pY29uLXJvdyB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDMsIDEwcHgpO1xuICBnYXA6IDRweDtcbn1cbi5jaGFsbGVuZ2VzLXBhZ2UgLmljb24tbGV0dGVyLWJveC1zbSB7XG4gIHdpZHRoOiAxMHB4O1xuICBoZWlnaHQ6IDEwcHg7XG4gIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLWxpZ2h0KTtcbiAgYmFja2dyb3VuZDogdmFyKC0tY29sb3Itc3VyZmFjZS1hbHQpO1xufVxuLmNoYWxsZW5nZXMtcGFnZSAuaWNvbi1sZXR0ZXItYm94LXNtLmNvcnJlY3Qge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1jb3JyZWN0KTtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LXN0cm9uZyk7XG59XG4uY2hhbGxlbmdlcy1wYWdlIC5pY29uLWxldHRlci1ib3gtc20ucHJlc2VudCB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXByZXNlbnQpO1xuICBib3JkZXItY29sb3I6ICNiMjhhNDQ7XG59XG4uY2hhbGxlbmdlcy1wYWdlIC5pY29uLWxldHRlci1ib3gtc20uYWJzZW50IHtcbiAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYWJzZW50KTtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1hYnNlbnQtYm9yZGVyKTtcbn1cbi5jaGFsbGVuZ2VzLXBhZ2UgLmFyY2hpdmUtZGF0ZSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMDhlbTtcbn1cbi5jaGFsbGVuZ2VzLXBhZ2UgLmRhdGUtZGF5IHtcbiAgZm9udC1zaXplOiAxLjRyZW07XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG59XG4uY2hhbGxlbmdlcy1wYWdlIC5kYXRlLW1vbnRoIHtcbiAgZm9udC1zaXplOiAwLjdyZW07XG4gIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LW11dGVkKTtcbn1cbi5jaGFsbGVuZ2VzLXBhZ2UgLmFyY2hpdmUtY29udGVudCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGdhcDogdmFyKC0tc3BhY2UtMyk7XG59XG4uY2hhbGxlbmdlcy1wYWdlIC5hcmNoaXZlLWluZm8ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGdhcDogdmFyKC0tc3BhY2UtMik7XG59XG4uY2hhbGxlbmdlcy1wYWdlIC5hcmNoaXZlLXdlZWtkYXkge1xuICBmb250LXdlaWdodDogNjAwO1xufVxuLmNoYWxsZW5nZXMtcGFnZSAuY29tcGxldGlvbi1iYWRnZSB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDAuMzVyZW07XG4gIHBhZGRpbmc6IDAuMnJlbSAwLjZyZW07XG4gIGJvcmRlci1yYWRpdXM6IDk5OXB4O1xuICBmb250LXNpemU6IDAuNzVyZW07XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGJhY2tncm91bmQ6IHJnYmEoODgsIDE1MSwgMTEwLCAwLjE4KTtcbiAgY29sb3I6ICMyZjZiNDU7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoODgsIDE1MSwgMTEwLCAwLjQpO1xufVxuLmNoYWxsZW5nZXMtcGFnZSAuY29tcGxldGlvbi1iYWRnZS5pcy1tdXRlZCB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMTU1LCAxMjMsIDg2LCAwLjE1KTtcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKDE1NSwgMTIzLCA4NiwgMC4zNSk7XG4gIGNvbG9yOiAjNmY1MjM1O1xufVxuLmNoYWxsZW5nZXMtcGFnZSAucmVjZW50LWdhbWVzLWxpc3Qge1xuICBkaXNwbGF5OiBncmlkO1xuICBnYXA6IHZhcigtLXNwYWNlLTMpO1xufVxuLmNoYWxsZW5nZXMtcGFnZSAucmVjZW50LWdhbWUtY2FyZCB7XG4gIHBhZGRpbmc6IHZhcigtLXNwYWNlLTMpO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbGcpO1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXIpO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1zdXJmYWNlKTtcbiAgYm94LXNoYWRvdzogdmFyKC0tc2hhZG93LXNvZnQpO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBnYXA6IHZhcigtLXNwYWNlLTMpO1xufVxuLmNoYWxsZW5nZXMtcGFnZSAucmVjZW50LWdhbWUtaGVhZGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgZ2FwOiB2YXIoLS1zcGFjZS0zKTtcbn1cbi5jaGFsbGVuZ2VzLXBhZ2UgLnJlY2VudC1nYW1lLWRhdGUge1xuICBtYXJnaW46IDA7XG4gIGZvbnQtc2l6ZTogMC45cmVtO1xuICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1tdXRlZCk7XG59XG4uY2hhbGxlbmdlcy1wYWdlIC5yZWNlbnQtZ2FtZS1sYWJlbCB7XG4gIG1hcmdpbjogdmFyKC0tc3BhY2UtMSkgMCAwO1xuICBmb250LXdlaWdodDogNjAwO1xufVxuLmNoYWxsZW5nZXMtcGFnZSAucmVjZW50LWdhbWUtbW9kZSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogdmFyKC0tc3BhY2UtMik7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbn1cbi5jaGFsbGVuZ2VzLXBhZ2UgLm1vZGUtYmFkZ2Uge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcGFkZGluZzogMC4ycmVtIDAuNnJlbTtcbiAgYm9yZGVyLXJhZGl1czogOTk5cHg7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgYmFja2dyb3VuZDogcmdiYSg2MywgMTA3LCA5MSwgMC4xMik7XG4gIGNvbG9yOiAjM2I2YzVhO1xuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDYzLCAxMDcsIDkxLCAwLjI1KTtcbn1cbi5jaGFsbGVuZ2VzLXBhZ2UgLm1vZGUtbGluayB7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnktc3Ryb25nKTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuLmNoYWxsZW5nZXMtcGFnZSAubW9kZS1saW5rOmhvdmVyIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG4uY2hhbGxlbmdlcy1wYWdlIC5yZWNlbnQtZ2FtZS1zdGF0cyB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZml0LCBtaW5tYXgoMTUwcHgsIDFmcikpO1xuICBnYXA6IHZhcigtLXNwYWNlLTMpO1xufVxuLmNoYWxsZW5nZXMtcGFnZSAucmVjZW50LWdhbWUtc3RhdCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGdhcDogdmFyKC0tc3BhY2UtMSk7XG59XG4uY2hhbGxlbmdlcy1wYWdlIC5yZWNlbnQtZ2FtZS1zdGF0IC5zdGF0LWxhYmVsIHtcbiAgZm9udC1zaXplOiAwLjc1cmVtO1xuICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1tdXRlZCk7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGxldHRlci1zcGFjaW5nOiAwLjA4ZW07XG59XG4uY2hhbGxlbmdlcy1wYWdlIC5yZWNlbnQtZ2FtZS1zdGF0IC5zdGF0LXZhbHVlIHtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbn1cblxuLnNwZWxsaW5nLWJlZS1wYWdlIHtcbiAgcGFkZGluZzogdmFyKC0tc3BhY2UtNSkgMCB2YXIoLS1zcGFjZS03KTtcbn1cblxuLnNwZWxsaW5nLWJlZS1wYW5lbCB7XG4gIG1heC13aWR0aDogODgwcHg7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBwYWRkaW5nOiB2YXIoLS1zcGFjZS01KTtcbiAgYmFja2dyb3VuZDogdmFyKC0tY29sb3Itc3VyZmFjZSk7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1sZyk7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlcik7XG4gIGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdy1zb2Z0KTtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ2FwOiB2YXIoLS1zcGFjZS00KTtcbn1cblxuLmJlZS1oZWFkZXIge1xuICBkaXNwbGF5OiBncmlkO1xuICBnYXA6IHZhcigtLXNwYWNlLTMpO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpdCwgbWlubWF4KDI0MHB4LCAxZnIpKTtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLmJlZS1raWNrZXIge1xuICBmb250LXNpemU6IDAuODVyZW07XG4gIGxldHRlci1zcGFjaW5nOiAwLjFlbTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbXV0ZWQpO1xufVxuXG4uYmVlLXRpdGxlIHtcbiAgZm9udC1zaXplOiAyLjJyZW07XG4gIG1hcmdpbjogdmFyKC0tc3BhY2UtMSkgMDtcbn1cblxuLmJlZS1zdWJ0aXRsZSB7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LW11dGVkKTtcbiAgbWFyZ2luOiAwO1xufVxuXG4uYmVlLXN0YXRzIHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ2FwOiB2YXIoLS1zcGFjZS0zKTtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maXQsIG1pbm1heCgxNDBweCwgMWZyKSk7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXN1cmZhY2UtYWx0KTtcbiAgcGFkZGluZzogdmFyKC0tc3BhY2UtMyk7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1tZCk7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1saWdodCk7XG59XG5cbi5iZWUtc3RhdCB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdhcDogdmFyKC0tc3BhY2UtMSk7XG59XG5cbi5iZWUtc3RhdC1sYWJlbCB7XG4gIGZvbnQtc2l6ZTogMC44cmVtO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBsZXR0ZXItc3BhY2luZzogMC4wOGVtO1xuICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1tdXRlZCk7XG59XG5cbi5iZWUtc3RhdC12YWx1ZSB7XG4gIGZvbnQtc2l6ZTogMS40cmVtO1xuICBmb250LXdlaWdodDogNzAwO1xufVxuXG4uYmVlLXN0YXQtaGludCB7XG4gIGZvbnQtc2l6ZTogMC44NXJlbTtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbXV0ZWQpO1xufVxuXG4uYmVlLW1lc3NhZ2Uge1xuICBtaW4taGVpZ2h0OiAzMnB4O1xuICBmb250LXdlaWdodDogNjAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5iZWUtbWVzc2FnZS5tZXNzYWdlLXdhcm5pbmcge1xuICBjb2xvcjogdmFyKC0tY29sb3Itd2FybmluZyk7XG59XG5cbi5iZWUtbWVzc2FnZS5tZXNzYWdlLXN1Y2Nlc3Mge1xuICBjb2xvcjogdmFyKC0tY29sb3Itc3VjY2Vzcyk7XG59XG5cbi5iZWUtY3VycmVudC13b3JkIHtcbiAgZm9udC1zaXplOiAycmVtO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGxldHRlci1zcGFjaW5nOiAwLjJlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgcGFkZGluZzogdmFyKC0tc3BhY2UtMik7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXN1cmZhY2UtYWx0KTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLW1kKTtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLWxpZ2h0KTtcbn1cblxuLmJlZS1ob25leWNvbWIge1xuICBkaXNwbGF5OiBncmlkO1xuICBnYXA6IHZhcigtLXNwYWNlLTIpO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLmJlZS1yb3cge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgZ2FwOiB2YXIoLS1zcGFjZS0yKTtcbn1cblxuLmJlZS1sZXR0ZXIge1xuICB3aWR0aDogODZweDtcbiAgaGVpZ2h0OiA3NnB4O1xuICBib3JkZXI6IG5vbmU7XG4gIGJhY2tncm91bmQ6ICNmNmUzOWE7XG4gIGNvbG9yOiAjMzYyYzE0O1xuICBmb250LXNpemU6IDEuNnJlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBjbGlwLXBhdGg6IHBvbHlnb24oMjUlIDYlLCA3NSUgNiUsIDEwMCUgNTAlLCA3NSUgOTQlLCAyNSUgOTQlLCAwIDUwJSk7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjJzIGVhc2UsIGJveC1zaGFkb3cgMC4ycyBlYXNlO1xufVxuXG4uYmVlLWxldHRlcjpob3ZlciB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMnB4KTtcbiAgYm94LXNoYWRvdzogMCA4cHggMThweCByZ2JhKDAsIDAsIDAsIDAuMTIpO1xufVxuXG4uYmVlLWxldHRlci5pcy1jZW50ZXIge1xuICBiYWNrZ3JvdW5kOiAjZjJiOTNiO1xufVxuXG4uYmVlLWNvbnRyb2xzIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGdhcDogdmFyKC0tc3BhY2UtMik7XG59XG5cbi5iZWUtZm91bmQge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1zdXJmYWNlLWFsdCk7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1tZCk7XG4gIHBhZGRpbmc6IHZhcigtLXNwYWNlLTMpO1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItbGlnaHQpO1xufVxuXG4uYmVlLWZvdW5kLWhlYWRlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UtMik7XG59XG5cbi5iZWUtZm91bmQtY291bnQge1xuICBmb250LXdlaWdodDogNjAwO1xuICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1tdXRlZCk7XG59XG5cbi5iZWUtZm91bmQtbGlzdCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgZ2FwOiB2YXIoLS1zcGFjZS0yKTtcbn1cblxuLmJlZS1mb3VuZC13b3JkIHtcbiAgcGFkZGluZzogMC4zcmVtIDAuNnJlbTtcbiAgYmFja2dyb3VuZDogI2ZmZjVkNjtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXNtKTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZm9udC1zaXplOiAwLjg1cmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZjBkY2EyO1xufVxuXG4uYmVlLW1vZGFsIC5tb2RhbF9fZGlhbG9nIHtcbiAgbWF4LXdpZHRoOiA0NjBweDtcbn1cblxuLmJlZS1zdW1tYXJ5IHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ2FwOiB2YXIoLS1zcGFjZS0yKTtcbiAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2UtMyk7XG59XG5cbi5iZWUtc3VtbWFyeS1sYWJlbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6IDAuODVyZW07XG4gIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LW11dGVkKTtcbn1cblxuLmJlZS1zdW1tYXJ5LXZhbHVlIHtcbiAgZm9udC1zaXplOiAxLjRyZW07XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG59XG5cbi5iZWUtc3RhdHMtZ3JpZCB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZml0LCBtaW5tYXgoMTYwcHgsIDFmcikpO1xuICBnYXA6IHZhcigtLXNwYWNlLTMpO1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS0zKTtcbn1cblxuLmJlZS1zdGF0LWNhcmQge1xuICBwYWRkaW5nOiB2YXIoLS1zcGFjZS0zKTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLW1kKTtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLWxpZ2h0KTtcbiAgYmFja2dyb3VuZDogdmFyKC0tY29sb3Itc3VyZmFjZS1hbHQpO1xuICBkaXNwbGF5OiBncmlkO1xuICBnYXA6IHZhcigtLXNwYWNlLTIpO1xufVxuXG4uYmVlLXN0YXQtbnVtYmVyIHtcbiAgZm9udC1zaXplOiAycmVtO1xuICBmb250LXdlaWdodDogNzAwO1xufVxuXG4ucmVjZW50LWdhbWVzLWxpc3Qge1xuICBkaXNwbGF5OiBncmlkO1xuICBnYXA6IHZhcigtLXNwYWNlLTMpO1xufVxuXG4ucmVjZW50LWdhbWUtY2FyZCB7XG4gIHBhZGRpbmc6IHZhcigtLXNwYWNlLTMpO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbGcpO1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXIpO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1zdXJmYWNlKTtcbiAgYm94LXNoYWRvdzogdmFyKC0tc2hhZG93LXNvZnQpO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBnYXA6IHZhcigtLXNwYWNlLTMpO1xufVxuXG4ucmVjZW50LWdhbWUtaGVhZGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgZ2FwOiB2YXIoLS1zcGFjZS0zKTtcbn1cblxuLnJlY2VudC1nYW1lLWRhdGUge1xuICBtYXJnaW46IDA7XG4gIGZvbnQtc2l6ZTogMC45cmVtO1xuICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1tdXRlZCk7XG59XG5cbi5yZWNlbnQtZ2FtZS1sYWJlbCB7XG4gIG1hcmdpbjogdmFyKC0tc3BhY2UtMSkgMCAwO1xuICBmb250LXdlaWdodDogNjAwO1xufVxuXG4ucmVjZW50LWdhbWUtbW9kZSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogdmFyKC0tc3BhY2UtMik7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbn1cblxuLm1vZGUtYmFkZ2Uge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcGFkZGluZzogMC4ycmVtIDAuNnJlbTtcbiAgYm9yZGVyLXJhZGl1czogOTk5cHg7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgYmFja2dyb3VuZDogcmdiYSg2MywgMTA3LCA5MSwgMC4xMik7XG4gIGNvbG9yOiAjM2I2YzVhO1xuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDYzLCAxMDcsIDkxLCAwLjI1KTtcbn1cblxuLm1vZGUtbGluayB7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnktc3Ryb25nKTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4ubW9kZS1saW5rOmhvdmVyIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG5cbi5yZWNlbnQtZ2FtZS1zdGF0cyB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZml0LCBtaW5tYXgoMTIwcHgsIDFmcikpO1xuICBnYXA6IHZhcigtLXNwYWNlLTIpO1xufVxuXG4ucmVjZW50LWdhbWUtc3RhdCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGdhcDogMC4ycmVtO1xufVxuXG4ucmVjZW50LWdhbWUtc3RhdCAuc3RhdC1sYWJlbCB7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbXV0ZWQpO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBsZXR0ZXItc3BhY2luZzogMC4wOGVtO1xufVxuXG4ucmVjZW50LWdhbWUtc3RhdCAuc3RhdC12YWx1ZSB7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA2NDBweCkge1xuICAuc3BlbGxpbmctYmVlLXBhbmVsIHtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS00KTtcbiAgfVxuICAuYmVlLWxldHRlciB7XG4gICAgd2lkdGg6IDcwcHg7XG4gICAgaGVpZ2h0OiA2MnB4O1xuICAgIGZvbnQtc2l6ZTogMS4zcmVtO1xuICB9XG4gIC5iZWUtY29udHJvbHMge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB9XG59XG4uY29ubmVjdGlvbnMtcGFnZSB7XG4gIHBhZGRpbmc6IHZhcigtLXNwYWNlLTUpIDAgdmFyKC0tc3BhY2UtNyk7XG59XG5cbi5jb25uZWN0aW9ucy1wYW5lbCB7XG4gIG1heC13aWR0aDogOTYwcHg7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBwYWRkaW5nOiB2YXIoLS1zcGFjZS01KTtcbiAgYmFja2dyb3VuZDogdmFyKC0tY29sb3Itc3VyZmFjZSk7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1sZyk7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlcik7XG4gIGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdy1zb2Z0KTtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ2FwOiB2YXIoLS1zcGFjZS00KTtcbn1cblxuLmNvbm5lY3Rpb25zLWhlYWRlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiB2YXIoLS1zcGFjZS00KTtcbiAgZmxleC13cmFwOiB3cmFwO1xufVxuXG4uY29ubmVjdGlvbnMta2lja2VyIHtcbiAgZm9udC1zaXplOiAwLjg1cmVtO1xuICBsZXR0ZXItc3BhY2luZzogMC4xZW07XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LW11dGVkKTtcbn1cblxuLmNvbm5lY3Rpb25zLXRpdGxlIHtcbiAgZm9udC1zaXplOiAyLjJyZW07XG4gIG1hcmdpbjogdmFyKC0tc3BhY2UtMSkgMDtcbn1cblxuLmNvbm5lY3Rpb25zLWF0dGVtcHRzIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tY29sb3Itc3VyZmFjZS1hbHQpO1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItbGlnaHQpO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbWQpO1xuICBwYWRkaW5nOiB2YXIoLS1zcGFjZS0yKSB2YXIoLS1zcGFjZS0zKTtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ2FwOiB2YXIoLS1zcGFjZS0xKTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uY29ubmVjdGlvbnMtYXR0ZW1wdHMtbGFiZWwge1xuICBmb250LXNpemU6IDAuNzVyZW07XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGxldHRlci1zcGFjaW5nOiAwLjEyZW07XG4gIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LW11dGVkKTtcbn1cblxuLmNvbm5lY3Rpb25zLWF0dGVtcHRzLXZhbHVlIHtcbiAgZm9udC1zaXplOiAxLjZyZW07XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG59XG5cbi5jb25uZWN0aW9ucy1tZXNzYWdlIHtcbiAgbWluLWhlaWdodDogMjhweDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uY29ubmVjdGlvbnMtbWVzc2FnZS5tZXNzYWdlLXdhcm5pbmcge1xuICBjb2xvcjogdmFyKC0tY29sb3Itd2FybmluZyk7XG59XG5cbi5jb25uZWN0aW9ucy1tZXNzYWdlLm1lc3NhZ2Utc3VjY2VzcyB7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci1zdWNjZXNzKTtcbn1cblxuLmNvbm5lY3Rpb25zLW1lc3NhZ2UubWVzc2FnZS1lcnJvciB7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci1kYW5nZXIpO1xufVxuXG4uY29ubmVjdGlvbnMtZ3JpZCB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDQsIG1pbm1heCgwLCAxZnIpKTtcbiAgZ2FwOiB2YXIoLS1zcGFjZS0zKTtcbn1cblxuLmNvbm5lY3Rpb25zLXRpbGUge1xuICBwYWRkaW5nOiB2YXIoLS1zcGFjZS0zKTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLW1kKTtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyKTtcbiAgYmFja2dyb3VuZDogdmFyKC0tY29sb3Itc3VyZmFjZS1hbHQpO1xuICBmb250LXdlaWdodDogNjAwO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBsZXR0ZXItc3BhY2luZzogMC4wNGVtO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjE1cyBlYXNlLCBib3gtc2hhZG93IDAuMTVzIGVhc2UsIGJhY2tncm91bmQtY29sb3IgMC4xNXMgZWFzZTtcbn1cblxuLmNvbm5lY3Rpb25zLXRpbGU6aG92ZXIge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTFweCk7XG4gIGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdy1zb2Z0KTtcbn1cblxuLmNvbm5lY3Rpb25zLXRpbGUuaXMtc2VsZWN0ZWQge1xuICBiYWNrZ3JvdW5kOiAjZWZlMmM2O1xuICBib3JkZXItY29sb3I6ICNjMmEwNGQ7XG59XG5cbi5jb25uZWN0aW9ucy10aWxlLmlzLXNoYWtpbmcge1xuICBhbmltYXRpb246IGNvbm5lY3Rpb25zLXNoYWtlIDAuNHMgZWFzZTtcbn1cblxuLmNvbm5lY3Rpb25zLWNvbnRyb2xzIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGdhcDogdmFyKC0tc3BhY2UtMyk7XG59XG5cbi5jb25uZWN0aW9ucy1zb2x2ZWQtYXJlYSB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdhcDogdmFyKC0tc3BhY2UtMyk7XG59XG5cbi5jb25uZWN0aW9ucy1zb2x2ZWQge1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbWQpO1xuICBwYWRkaW5nOiB2YXIoLS1zcGFjZS0zKTtcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXN1cmZhY2UtYWx0KTtcbn1cblxuLmNvbm5lY3Rpb25zLXNvbHZlZC1oZWFkZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlLTIpO1xufVxuXG4uY29ubmVjdGlvbnMtY2F0ZWdvcnkge1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBsZXR0ZXItc3BhY2luZzogMC4wOGVtO1xuICBmb250LXNpemU6IDAuOHJlbTtcbn1cblxuLmNvbm5lY3Rpb25zLWRpZmZpY3VsdHkge1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBsZXR0ZXItc3BhY2luZzogMC4wOGVtO1xuICBmb250LXNpemU6IDAuNzVyZW07XG4gIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LW11dGVkKTtcbn1cblxuLmNvbm5lY3Rpb25zLXdvcmRzIHtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbXV0ZWQpO1xufVxuXG4uY29ubmVjdGlvbnMtcmV2ZWFsIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgZ2FwOiB2YXIoLS1zcGFjZS0zKTtcbn1cblxuLmNvbm5lY3Rpb25zLXJldmVhbC5pcy12aXNpYmxlIHtcbiAgZGlzcGxheTogZ3JpZDtcbn1cblxuLmNvbm5lY3Rpb25zLXJldmVhbC1yb3cge1xuICBwYWRkaW5nOiB2YXIoLS1zcGFjZS0zKTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLW1kKTtcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXN1cmZhY2UtYWx0KTtcbn1cblxuLmNvbm5lY3Rpb25zLXJldmVhbC1oZWFkZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlLTIpO1xufVxuXG4uZGlmZmljdWx0eS15ZWxsb3cge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI0NywgMjIzLCAxMzIsIDAuNCk7XG4gIGJvcmRlci1jb2xvcjogcmdiYSgxOTQsIDE2MCwgNzcsIDAuNCk7XG59XG5cbi5kaWZmaWN1bHR5LWdyZWVuIHtcbiAgYmFja2dyb3VuZDogcmdiYSgxNjgsIDIwNSwgMTg1LCAwLjQ1KTtcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKDc5LCAxMjIsIDEwNCwgMC40KTtcbn1cblxuLmRpZmZpY3VsdHktYmx1ZSB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMTYwLCAxODYsIDIxNSwgMC40NSk7XG4gIGJvcmRlci1jb2xvcjogcmdiYSgxMTEsIDEzOCwgMTY1LCAwLjUpO1xufVxuXG4uZGlmZmljdWx0eS1wdXJwbGUge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDE5NiwgMTc1LCAyMTQsIDAuNDUpO1xuICBib3JkZXItY29sb3I6IHJnYmEoMTMwLCAxMDYsIDE2MiwgMC41KTtcbn1cblxuQGtleWZyYW1lcyBjb25uZWN0aW9ucy1zaGFrZSB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gIH1cbiAgMjUlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTRweCk7XG4gIH1cbiAgNTAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNHB4KTtcbiAgfVxuICA3NSUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNHB4KTtcbiAgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gIH1cbn1cbi5hcHAtaGVhZGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3Itc3VyZmFjZSk7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXIpO1xuICBwYWRkaW5nOiB2YXIoLS1zcGFjZS0zKSAwO1xuICBwb3NpdGlvbjogc3RpY2t5O1xuICB0b3A6IDA7XG4gIHotaW5kZXg6IDIwO1xufVxuXG4uYXBwLW5hdiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgZ2FwOiB2YXIoLS1zcGFjZS0zKTtcbn1cblxuLmFwcC1icmFuZCB7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGZvbnQtc2l6ZTogMS4zcmVtO1xuICBsZXR0ZXItc3BhY2luZzogMC4wOGVtO1xufVxuXG4ubmF2LWxpbmtzIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZ2FwOiB2YXIoLS1zcGFjZS0zKTtcbiAgZmxleC13cmFwOiB3cmFwO1xufVxuXG4ubmF2LWxpbmsge1xuICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1tdXRlZCk7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgcGFkZGluZzogMC40cmVtIDAuNnJlbTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXNtKTtcbiAgdHJhbnNpdGlvbjogY29sb3IgMC4ycyBlYXNlLCBiYWNrZ3JvdW5kLWNvbG9yIDAuMnMgZWFzZTtcbn1cbi5uYXYtbGluay5pcy1hY3RpdmUsIC5uYXYtbGluazpob3ZlciB7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0KTtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA2KTtcbn1cblxuLmhlbHAtbGluayB7XG4gIGJvcmRlcjogbm9uZTtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4uaGVscC1saW5rX19pY29uIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB3aWR0aDogMjhweDtcbiAgaGVpZ2h0OiAyOHB4O1xuICBib3JkZXItcmFkaXVzOiA5OTlweDtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyKTtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQpO1xuICBmb250LXdlaWdodDogNzAwO1xuICBmb250LXNpemU6IDAuOTVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDYpO1xufVxuXG4uYWRtaW4tZ3JpZCB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogbWlubWF4KDAsIDFmcik7XG4gIGdhcDogdmFyKC0tc3BhY2UtNSk7XG4gIG1hcmdpbi10b3A6IHZhcigtLXNwYWNlLTUpO1xufVxuXG4uZGF0YS10YWJsZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbGcpO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXIpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1zdXJmYWNlKTtcbn1cblxuLmRhdGEtdGFibGUgdGhlYWQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDQpO1xufVxuXG4uZGF0YS10YWJsZSB0aCxcbi5kYXRhLXRhYmxlIHRkIHtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgcGFkZGluZzogdmFyKC0tc3BhY2UtMyk7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXIpO1xufVxuXG4uZGF0YS10YWJsZSB0aCB7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGZvbnQtc2l6ZTogMC45NXJlbTtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbXV0ZWQpO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBsZXR0ZXItc3BhY2luZzogMC4wOGVtO1xufVxuXG4uZGF0YS10YWJsZSB0Ym9keSB0cjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wMik7XG59XG5cbi5mb3JtLWdyaWQge1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpdCwgbWlubWF4KDI2MHB4LCAxZnIpKTtcbiAgZ2FwOiB2YXIoLS1zcGFjZS00KTtcbn1cblxuLmZvcm0tZ3JvdXAge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuXG4ucGFnZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgZ2FwOiB2YXIoLS1zcGFjZS0yKTtcbiAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2UtNCk7XG59XG5cbi5wYWdlcl9fbGluayB7XG4gIHBhZGRpbmc6IDAuNDVyZW0gMC45cmVtO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtc20pO1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItbGlnaHQpO1xuICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dCk7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgZm9udC1zaXplOiAwLjlyZW07XG59XG4ucGFnZXJfX2xpbmsuaXMtYWN0aXZlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3Itc2Vjb25kYXJ5KTtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1zZWNvbmRhcnkpO1xuICBjb2xvcjogd2hpdGU7XG59XG5cbi5hdXRoLWNhcmQge1xuICBtYXgtd2lkdGg6IDQ0MHB4O1xuICBtYXJnaW46IHZhcigtLXNwYWNlLTYpIGF1dG87XG4gIHBhZGRpbmc6IHZhcigtLXNwYWNlLTUpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1zdXJmYWNlKTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLWxnKTtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyKTtcbiAgYm94LXNoYWRvdzogdmFyKC0tc2hhZG93LXNvZnQpO1xufVxuXG4uYXV0aC10aXRsZSB7XG4gIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlLTQpO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5mbGFzaC1zdGFjayB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiB2YXIoLS1zcGFjZS0zKTtcbiAgcmlnaHQ6IHZhcigtLXNwYWNlLTMpO1xuICBtYXgtd2lkdGg6IDMyMHB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBnYXA6IHZhcigtLXNwYWNlLTIpO1xuICB6LWluZGV4OiA5OTk7XG59XG5cbi5oZWxwLW1vZGFsIC5tb2RhbF9fZGlhbG9nIHtcbiAgd2lkdGg6IG1pbig2ODBweCwgOTV2dyk7XG59XG4uaGVscC1tb2RhbCAubW9kYWxfX3RpdGxlIHtcbiAgZm9udC1zaXplOiAxLjNyZW07XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIG1hcmdpbjogMDtcbn1cblxuLmhlbHAtbGVhZCB7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UtMyk7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0KTtcbn1cblxuLmhlbHAtc3RlcHMge1xuICBtYXJnaW46IDAgMCB2YXIoLS1zcGFjZS00KTtcbiAgcGFkZGluZy1sZWZ0OiAxLjJyZW07XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdhcDogdmFyKC0tc3BhY2UtMik7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0KTtcbn1cbi5oZWxwLXN0ZXBzIGxpIHtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbn1cblxuLmhlbHAtZXhhbXBsZSB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXN1cmZhY2UtYWx0KTtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLWxpZ2h0KTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLW1kKTtcbiAgcGFkZGluZzogdmFyKC0tc3BhY2UtMyk7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdhcDogdmFyKC0tc3BhY2UtMik7XG59XG5cbi5oZWxwLWxhYmVsIHtcbiAgZm9udC1zaXplOiAwLjg1cmVtO1xuICBsZXR0ZXItc3BhY2luZzogMC4wOGVtO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1tdXRlZCk7XG59XG5cbi5oZWxwLWNhcHRpb24ge1xuICBmb250LXNpemU6IDAuOXJlbTtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbXV0ZWQpO1xuICBtYXJnaW46IDA7XG59XG5cbi5oZWxwLXdvcmRsZS1yb3cge1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg1LCBtaW5tYXgoMzZweCwgNDhweCkpO1xuICBnYXA6IHZhcigtLXNwYWNlLTYpO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHN0YXJ0O1xufVxuXG4uaGVscC1iZWUtZGVtbyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4uaGVscC1iZWUtZGVtbyAuYmVlLWhvbmV5Y29tYiB7XG4gIGdhcDogdmFyKC0tc3BhY2UtMik7XG59XG5cbi5oZWxwLWJlZS1kZW1vIC5iZWUtcm93IHtcbiAgZ2FwOiB2YXIoLS1zcGFjZS0yKTtcbn1cblxuLmhlbHAtYmVlLWRlbW8gLmJlZS1sZXR0ZXIge1xuICB3aWR0aDogNTRweDtcbiAgaGVpZ2h0OiA0OHB4O1xuICBmb250LXNpemU6IDFyZW07XG4gIGN1cnNvcjogZGVmYXVsdDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIHRyYW5zaXRpb246IG5vbmU7XG59XG5cbi5oZWxwLWJlZS13b3JkIHtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMDhlbTtcbn1cblxuLmhlbHAtaGlnaGxpZ2h0IHtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXNlY29uZGFyeSk7XG59XG5cbi5oZWxwLWNvbm5lY3Rpb25zLXJvdyB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIG1pbm1heCgwLCAxZnIpKTtcbiAgZ2FwOiB2YXIoLS1zcGFjZS0yKTtcbn1cblxuLmhlbHAtY29ubmVjdGlvbnMtcm93IC5jb25uZWN0aW9ucy10aWxlIHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbi8qIFBXQS1zcGVjaWZpYyBzdHlsZXMgKi9cbi8qIEhpZGUgYnJvd3NlciBVSSBlbGVtZW50cyB3aGVuIHJ1bm5pbmcgYXMgUFdBICovXG5AbWVkaWEgKGRpc3BsYXktbW9kZTogc3RhbmRhbG9uZSkge1xuICBib2R5IHtcbiAgICAvKiBFbnN1cmUgZnVsbCBzY3JlZW4gZXhwZXJpZW5jZSAqL1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgfVxuICAvKiBIaWRlIHNjcm9sbGJhcnMgb24gbW9iaWxlICovXG4gIDo6LXdlYmtpdC1zY3JvbGxiYXIge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgLyogUHJldmVudCB0ZXh0IHNlbGVjdGlvbiBvbiBidXR0b25zICovXG4gIC5idG4sIC5idG4tc3VjY2VzcywgLmJ0bi13YXJuaW5nLCAuYnRuLWRhbmdlciwgLmJ0bi1pbmZvLCAuYnRuLW91dGxpbmUtcHJpbWFyeSxcbiAgLmJ0bi1vdXRsaW5lLXNlY29uZGFyeSxcbiAgLmJ0bi1vdXRsaW5lLXN1Y2Nlc3MsXG4gIC5idG4tb3V0bGluZS1kYW5nZXIsXG4gIC5idG4tb3V0bGluZS13YXJuaW5nLFxuICAuYnRuLW91dGxpbmUtaW5mbyB7XG4gICAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICAgIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgfVxufVxuLyogT2ZmbGluZSBpbmRpY2F0b3Igc3R5bGVzICovXG5ib2R5Lm9mZmxpbmUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbmJvZHkub2ZmbGluZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJTaW4gY29uZXhpw7NuXCI7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmNmI2YjtcbiAgY29sb3I6IHdoaXRlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBhZGRpbmc6IDRweDtcbiAgZm9udC1zaXplOiAxMnB4O1xuICB6LWluZGV4OiA5OTk5O1xufVxuXG4vKiBQV0EgbW9kZSBzcGVjaWZpYyBzdHlsZXMgKi9cbmJvZHkucHdhLW1vZGUge1xuICAvKiBBZGQgYW55IFBXQS1zcGVjaWZpYyBzdHlsaW5nICovXG59XG5cbi8qIEJldHRlciB0b3VjaCB0YXJnZXRzIGZvciBtb2JpbGUgKi9cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAuYnRuLCAuYnRuLXN1Y2Nlc3MsIC5idG4td2FybmluZywgLmJ0bi1kYW5nZXIsIC5idG4taW5mbywgLmJ0bi1vdXRsaW5lLXByaW1hcnksXG4gIC5idG4tb3V0bGluZS1zZWNvbmRhcnksXG4gIC5idG4tb3V0bGluZS1zdWNjZXNzLFxuICAuYnRuLW91dGxpbmUtZGFuZ2VyLFxuICAuYnRuLW91dGxpbmUtd2FybmluZyxcbiAgLmJ0bi1vdXRsaW5lLWluZm8ge1xuICAgIG1pbi1oZWlnaHQ6IDQ0cHg7XG4gICAgbWluLXdpZHRoOiA0NHB4O1xuICB9XG4gIGlucHV0LCBzZWxlY3QsIHRleHRhcmVhIHtcbiAgICBmb250LXNpemU6IDE2cHg7IC8qIFByZXZlbnRzIHpvb20gb24gaU9TICovXG4gIH1cbn1cbi8qIFNhZmUgYXJlYSBpbnNldHMgZm9yIG5vdGNoZWQgZGV2aWNlcyAqL1xuQHN1cHBvcnRzIChwYWRkaW5nOiBtYXgoMHB4KSkge1xuICBib2R5IHtcbiAgICBwYWRkaW5nLWxlZnQ6IG1heCgwcHgsIGVudihzYWZlLWFyZWEtaW5zZXQtbGVmdCkpO1xuICAgIHBhZGRpbmctcmlnaHQ6IG1heCgwcHgsIGVudihzYWZlLWFyZWEtaW5zZXQtcmlnaHQpKTtcbiAgICBwYWRkaW5nLXRvcDogbWF4KDBweCwgZW52KHNhZmUtYXJlYS1pbnNldC10b3ApKTtcbiAgICBwYWRkaW5nLWJvdHRvbTogbWF4KDBweCwgZW52KHNhZmUtYXJlYS1pbnNldC1ib3R0b20pKTtcbiAgfVxufVxuLnBvbGljeS1wYWdlIHtcbiAgcGFkZGluZzogdmFyKC0tc3BhY2UtNikgMCB2YXIoLS1zcGFjZS03KTtcbn1cblxuLnBvbGljeS1jYXJkIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tY29sb3Itc3VyZmFjZSk7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlcik7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1sZyk7XG4gIGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdy1zb2Z0KTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLnBvbGljeS1oZWFkZXIge1xuICBwYWRkaW5nOiB2YXIoLS1zcGFjZS01KSB2YXIoLS1zcGFjZS01KSB2YXIoLS1zcGFjZS00KTtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1saWdodCk7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsICNmYmY3ZjEgMCUsICNmZmYgMTAwJSk7XG59XG5cbi5wb2xpY3ktdGl0bGUge1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1kaXNwbGF5KTtcbiAgZm9udC1zaXplOiAyLjFyZW07XG4gIG1hcmdpbjogMCAwIHZhcigtLXNwYWNlLTIpO1xufVxuXG4ucG9saWN5LW1ldGEge1xuICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1tdXRlZCk7XG4gIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXNtKTtcbn1cblxuLnBvbGljeS1ib2R5IHtcbiAgcGFkZGluZzogdmFyKC0tc3BhY2UtNSk7XG59XG5cbi5wb2xpY3ktY29udGVudCB7XG4gIGZvbnQtc2l6ZTogMS4wNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNzU7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0KTtcbn1cbi5wb2xpY3ktY29udGVudCBwIHtcbiAgbWFyZ2luOiAwIDAgdmFyKC0tc3BhY2UtMyk7XG59XG4ucG9saWN5LWNvbnRlbnQgaDIge1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1kaXNwbGF5KTtcbiAgZm9udC1zaXplOiAxLjRyZW07XG4gIG1hcmdpbjogdmFyKC0tc3BhY2UtNSkgMCB2YXIoLS1zcGFjZS0yKTtcbn1cbi5wb2xpY3ktY29udGVudCBoMyB7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWRpc3BsYXkpO1xuICBmb250LXNpemU6IDEuMTVyZW07XG4gIG1hcmdpbjogdmFyKC0tc3BhY2UtNCkgMCB2YXIoLS1zcGFjZS0yKTtcbn1cbi5wb2xpY3ktY29udGVudCB1bCB7XG4gIG1hcmdpbjogMCAwIHZhcigtLXNwYWNlLTMpO1xuICBwYWRkaW5nLWxlZnQ6IHZhcigtLXNwYWNlLTUpO1xufVxuLnBvbGljeS1jb250ZW50IGxpIHtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UtMik7XG59XG4ucG9saWN5LWNvbnRlbnQgc3Ryb25nIHtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQpO1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgLnBvbGljeS1wYWdlIHtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS01KSAwIHZhcigtLXNwYWNlLTYpO1xuICB9XG4gIC5wb2xpY3ktaGVhZGVyLFxuICAucG9saWN5LWJvZHkge1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLTQpO1xuICB9XG4gIC5wb2xpY3ktdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMS43NXJlbTtcbiAgfVxufVxuLnByb2ZpbGUtcGFnZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYmFja2dyb3VuZDogcmFkaWFsLWdyYWRpZW50KGNpcmNsZSBhdCAxOCUgMTIlLCByZ2JhKDc5LCAxMjIsIDEwNCwgMC4yKSwgdHJhbnNwYXJlbnQgNDUlKSwgcmFkaWFsLWdyYWRpZW50KGNpcmNsZSBhdCA4NSUgMTglLCByZ2JhKDE5NCwgMTYwLCA3NywgMC4xOCksIHRyYW5zcGFyZW50IDQwJSksIGxpbmVhci1ncmFkaWVudCgxODBkZWcsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KSwgdHJhbnNwYXJlbnQgNTUlKSwgdmFyKC0tY29sb3ItYmcpO1xuICBwYWRkaW5nLWJvdHRvbTogY2FsYyh2YXIoLS1zcGFjZS03KSArIGVudihzYWZlLWFyZWEtaW5zZXQtYm90dG9tKSk7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5wcm9maWxlLXBhZ2U6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgaW5zZXQ6IDA7XG4gIGJhY2tncm91bmQ6IHJhZGlhbC1ncmFkaWVudChjaXJjbGUgYXQgMTUlIDc1JSwgcmdiYSg2MywgMTA3LCA5MSwgMC4wOCksIHRyYW5zcGFyZW50IDQ1JSksIHJhZGlhbC1ncmFkaWVudChjaXJjbGUgYXQgOTAlIDYwJSwgcmdiYSgxNTUsIDEyMywgODYsIDAuMTIpLCB0cmFuc3BhcmVudCA0NSUpO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuLnByb2ZpbGUtaGVybyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZzogdmFyKC0tc3BhY2UtNikgMCB2YXIoLS1zcGFjZS03KTtcbn1cblxuLnByb2ZpbGUtaW50cm8ge1xuICBkaXNwbGF5OiBncmlkO1xuICBnYXA6IHZhcigtLXNwYWNlLTIpO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlLTUpO1xufVxuXG4ucHJvZmlsZS1iYWRnZSB7XG4gIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgd2lkdGg6IGZpdC1jb250ZW50O1xuICBtYXJnaW46IDAgYXV0bztcbiAgcGFkZGluZzogMC4zNXJlbSAwLjlyZW07XG4gIGJvcmRlci1yYWRpdXM6IDk5OXB4O1xuICBmb250LXNpemU6IDAuN3JlbTtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMzVlbTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgY29sb3I6ICMzYjJmMjI7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KTtcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSg2MywgMTA3LCA5MSwgMC4yKTtcbiAgYm94LXNoYWRvdzogdmFyKC0tc2hhZG93LXNvZnQpO1xufVxuXG4ucHJvZmlsZS10aXRsZSB7XG4gIG1hcmdpbjogMDtcbiAgZm9udC1zaXplOiAyLjFyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjE7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG59XG5cbi5wcm9maWxlLXN1YnRpdGxlIHtcbiAgbWFyZ2luOiAwO1xuICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1tdXRlZCk7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbn1cblxuLnByb2ZpbGUtbmF0aXZlLWhlYWRlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiA0MHB4O1xufVxuXG4ubmF0aXZlLXNldHRpbmdzLWJ1dHRvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgd2lkdGg6IDQwcHg7XG4gIGhlaWdodDogNDBweDtcbiAgYm9yZGVyLXJhZGl1czogOTk5cHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1saWdodCk7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXN1cmZhY2UpO1xuICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dCk7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIHBsYWNlLWl0ZW1zOiBjZW50ZXI7XG4gIGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdy1zb2Z0KTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4ycyBlYXNlLCBib3gtc2hhZG93IDAuMnMgZWFzZTtcbn1cblxuLm5hdGl2ZS1zZXR0aW5ncy1idXR0b246aG92ZXIge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTFweCk7XG4gIGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdy1zdHJvbmcpO1xufVxuXG4ucHJvZmlsZS1uYXRpdmUtc3VidGl0bGUge1xuICBmb250LXNpemU6IDFyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjY7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LW11dGVkKTtcbn1cblxuLnByb2ZpbGUtZ3JpZCB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdhcDogdmFyKC0tc3BhY2UtNCk7XG59XG5cbi5wcm9maWxlLWNhcmQge1xuICBkaXNwbGF5OiBncmlkO1xuICBnYXA6IHZhcigtLXNwYWNlLTMpO1xuICBwYWRkaW5nOiB2YXIoLS1zcGFjZS00KTtcbiAgYm9yZGVyLXJhZGl1czogY2FsYyh2YXIoLS1yYWRpdXMtbGcpICsgMnB4KTtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjkyKTtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyKTtcbiAgYm94LXNoYWRvdzogdmFyKC0tc2hhZG93LXNvZnQpO1xufVxuXG4ucHJvZmlsZS1jYXJkLXRvcCB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogYXV0byAxZnI7XG4gIGdhcDogdmFyKC0tc3BhY2UtMyk7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi5wcm9maWxlLWljb24ge1xuICB3aWR0aDogNThweDtcbiAgaGVpZ2h0OiA1OHB4O1xuICBib3JkZXItcmFkaXVzOiAxOHB4O1xuICBkaXNwbGF5OiBncmlkO1xuICBwbGFjZS1pdGVtczogY2VudGVyO1xuICBmb250LXNpemU6IDEuOXJlbTtcbiAgYmFja2dyb3VuZDogcmdiYSg2MywgMTA3LCA5MSwgMC4xMik7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoNjMsIDEwNywgOTEsIDAuMjgpO1xufVxuXG4ucHJvZmlsZS1jYXJkLXRleHQgaDIge1xuICBtYXJnaW46IDA7XG4gIGZvbnQtc2l6ZTogMS4zNXJlbTtcbn1cblxuLnByb2ZpbGUtY2FyZC10ZXh0IHAge1xuICBtYXJnaW46IDAuMjVyZW0gMCAwO1xuICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1tdXRlZCk7XG4gIGZvbnQtc2l6ZTogMC45MnJlbTtcbn1cblxuLnByb2ZpbGUtZW1wdHkge1xuICBkaXNwbGF5OiBncmlkO1xuICBnYXA6IHZhcigtLXNwYWNlLTIpO1xuICBwYWRkaW5nOiB2YXIoLS1zcGFjZS0zKTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLW1kKTtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcpO1xuICBib3JkZXI6IDFweCBkYXNoZWQgcmdiYSg2MywgMTA3LCA5MSwgMC4yKTtcbn1cblxuLnByb2ZpbGUtZW1wdHktdGV4dCB7XG4gIG1hcmdpbjogMDtcbiAgZm9udC1zaXplOiAwLjlyZW07XG4gIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LW11dGVkKTtcbn1cblxuLnByb2ZpbGUtYnRuIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBwYWRkaW5nOiAwLjdyZW0gMXJlbTtcbiAgYm9yZGVyLXJhZGl1czogOTk5cHg7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG4gIGNvbG9yOiAjZjdmM2VlO1xuICB3aWR0aDogZml0LWNvbnRlbnQ7XG59XG5cbi5wcm9maWxlLWJ0bjpob3ZlciB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXByaW1hcnktc3Ryb25nKTtcbiAgY29sb3I6ICNmN2YzZWU7XG59XG5cbi5wcm9maWxlLXN0YXQtaGVybyB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIG1pbm1heCgwLCAxZnIpKTtcbiAgZ2FwOiB2YXIoLS1zcGFjZS0zKTtcbiAgcGFkZGluZzogdmFyKC0tc3BhY2UtMyk7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1tZCk7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KTtcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSg2MywgMTA3LCA5MSwgMC4xMik7XG59XG5cbi5zdGF0LWhlcm8tYmxvY2sge1xuICBkaXNwbGF5OiBncmlkO1xuICBnYXA6IDAuMnJlbTtcbn1cblxuLnN0YXQtaGVyby1sYWJlbCB7XG4gIGZvbnQtc2l6ZTogMC43cmVtO1xuICBsZXR0ZXItc3BhY2luZzogMC4xMmVtO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBmb250LXdlaWdodDogNzAwO1xuICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1tdXRlZCk7XG59XG5cbi5zdGF0LWhlcm8tdmFsdWUge1xuICBmb250LXNpemU6IDEuN3JlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQpO1xuICBsaW5lLWhlaWdodDogMTtcbn1cblxuLnN0YXQtaGVyby11bml0IHtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1tdXRlZCk7XG4gIG1hcmdpbi1sZWZ0OiAwLjFyZW07XG59XG5cbi5wcm9maWxlLXN0YXRzLWdyaWQge1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCBtaW5tYXgoMCwgMWZyKSk7XG4gIGNvbHVtbi1nYXA6IHZhcigtLXNwYWNlLTQpO1xuICByb3ctZ2FwOiB2YXIoLS1zcGFjZS00KTtcbn1cblxuLnByb2ZpbGUtc3RhdCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGdhcDogdmFyKC0tc3BhY2UtMSk7XG59XG5cbi5wcm9maWxlLXN0YXQtbGFiZWwge1xuICBmb250LXNpemU6IDAuNzJyZW07XG4gIGxldHRlci1zcGFjaW5nOiAwLjA0ZW07XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LW11dGVkKTtcbn1cblxuLnByb2ZpbGUtc3RhdC12YWx1ZSB7XG4gIGZvbnQtc2l6ZTogMS4wNXJlbTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQpO1xufVxuXG4ucHJvZmlsZS1zdGF0LXZhbHVlLmlzLWxhcmdlIHtcbiAgZm9udC1zaXplOiAxLjRyZW07XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGxpbmUtaGVpZ2h0OiAxO1xufVxuXG4ucHJvZmlsZS1jYXJkOm50aC1jaGlsZCgxKSB7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxNDBkZWcsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45OCksIHJnYmEoMjIwLCAyMzksIDIzMiwgMC44NSkpO1xuICBib3JkZXItY29sb3I6IHJnYmEoNjMsIDEwNywgOTEsIDAuMjUpO1xufVxuXG4ucHJvZmlsZS1jYXJkOm50aC1jaGlsZCgxKSAucHJvZmlsZS1pY29uIHtcbiAgYmFja2dyb3VuZDogcmdiYSg2MywgMTA3LCA5MSwgMC4xNik7XG4gIGJvcmRlci1jb2xvcjogcmdiYSg2MywgMTA3LCA5MSwgMC4zNSk7XG59XG5cbi5wcm9maWxlLWNhcmQ6bnRoLWNoaWxkKDIpIHtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE0MGRlZywgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjk4KSwgcmdiYSgyMzYsIDIyNywgMTk5LCAwLjc4KSk7XG4gIGJvcmRlci1jb2xvcjogcmdiYSgxOTQsIDE2MCwgNzcsIDAuMjUpO1xufVxuXG4ucHJvZmlsZS1jYXJkOm50aC1jaGlsZCgyKSAucHJvZmlsZS1pY29uIHtcbiAgYmFja2dyb3VuZDogcmdiYSgxOTQsIDE2MCwgNzcsIDAuMTgpO1xuICBib3JkZXItY29sb3I6IHJnYmEoMTk0LCAxNjAsIDc3LCAwLjM1KTtcbn1cblxuLnByb2ZpbGUtY2FyZDpudGgtY2hpbGQoMykge1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTQwZGVnLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOTgpLCByZ2JhKDIxNSwgMjMxLCAyNDQsIDAuOCkpO1xuICBib3JkZXItY29sb3I6IHJnYmEoMTExLCAxMzgsIDE2NSwgMC4zKTtcbn1cblxuLnByb2ZpbGUtY2FyZDpudGgtY2hpbGQoMykgLnByb2ZpbGUtaWNvbiB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMTExLCAxMzgsIDE2NSwgMC4xOCk7XG4gIGJvcmRlci1jb2xvcjogcmdiYSgxMTEsIDEzOCwgMTY1LCAwLjM1KTtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDcyMHB4KSB7XG4gIC5wcm9maWxlLWludHJvIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB9XG4gIC5wcm9maWxlLWJhZGdlIHtcbiAgICBtYXJnaW46IDA7XG4gIH1cbiAgLnByb2ZpbGUtZ3JpZCB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgbWlubWF4KDAsIDFmcikpO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gIC5wcm9maWxlLWdyaWQge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDMsIG1pbm1heCgwLCAxZnIpKTtcbiAgfVxufVxuQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiBuby1wcmVmZXJlbmNlKSB7XG4gIC5wcm9maWxlLWNhcmQge1xuICAgIGFuaW1hdGlvbjogcHJvZmlsZS1yaXNlIDAuNnMgZWFzZSBib3RoO1xuICB9XG4gIC5wcm9maWxlLWNhcmQ6bnRoLWNoaWxkKDIpIHtcbiAgICBhbmltYXRpb24tZGVsYXk6IDAuMDhzO1xuICB9XG4gIC5wcm9maWxlLWNhcmQ6bnRoLWNoaWxkKDMpIHtcbiAgICBhbmltYXRpb24tZGVsYXk6IDAuMTZzO1xuICB9XG59XG5Aa2V5ZnJhbWVzIHByb2ZpbGUtcmlzZSB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDE2cHgpO1xuICB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgfVxufVxuIl19 */