/* src/main/frontend/css/badges.css */
.badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 18px;
  height: 18px;
  padding: 0 var(--space-xs);
  border-radius: var(--border-radius-full);
  line-height: var(--line-height-none);
  background-color: var(--color-text-primary);
  color: var(--color-text-inverse);
  box-sizing: border-box;
}
.button .badge {
  margin-left: calc(-1 * var(--space-xs));
}
.button--primary .badge {
  background-color: var(--color-bg-surface);
  color: var(--color-text-primary);
}
.member-role-badge {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2xs);
  padding: var(--border-width-sm) var(--space-xs);
  border-radius: var(--border-radius-xs);
  font-size: var(--font-size-2xs);
  font-weight: var(--font-weight-bold);
  text-transform: uppercase;
  letter-spacing: 0.03em;
  line-height: var(--line-height-tight);
  border: var(--border-width-sm) solid transparent;
}
.member-role-badge--admin {
  background: var(--color-error-bg);
  border-color: var(--color-error-border);
  color: var(--color-error-text);
}
.member-role-badge--mod {
  background: var(--color-info-bg);
  border-color: var(--color-info-border);
  color: var(--color-info-text);
}
.member-role-badge--captain {
  background: var(--color-warning-bg);
  border-color: var(--color-warning-border);
  color: var(--color-warning-text);
}
.member-role-badge--student,
.member-role-badge--student-mod {
  background: var(--color-team-bg);
  border-color: var(--color-team-border);
  color: var(--color-team-text-dark);
}
.member-role-badge--member {
  background: var(--color-bg-card);
  border-color: var(--color-border-subtle);
  color: var(--color-text-secondary);
}
.status-badge {
  display: inline-flex;
  align-items: center;
  gap: var(--space-sm);
  padding: var(--space-2xs) var(--space-sm);
  border-radius: var(--border-radius-sm);
  border: var(--border-width-sm) solid currentColor;
  background: transparent;
  font-size: var(--font-size-xs);
  font-weight: var(--font-weight-bold);
  letter-spacing: 0.2px;
  line-height: var(--line-height-none);
}
.status-badge i {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: inherit;
  flex-shrink: 0;
}
.status-badge i::before {
  font-family: "Font Awesome 6 Free", "Font Awesome 5 Free";
  font-weight: 900;
}
.status-value {
  text-transform: capitalize;
  font-weight: var(--font-weight-bold);
}
.status-success,
.status-green {
  color: var(--color-success);
}
.status-success i::before,
.status-green i::before {
  content: "\f00c";
}
.status-warning {
  color: var(--color-warning);
}
.status-warning i::before {
  content: "\f071";
}
.status-unknown,
.status-gray {
  color: var(--color-text-secondary);
}
.status-unknown i::before,
.status-gray i::before {
  content: "\f05a";
}
.status-processing {
  color: var(--color-primary);
}
.status-processing i::before {
  content: "\f1ce";
}
.status-open {
  color: var(--color-success);
}
.status-open i::before {
  content: "\f3c1";
}
.status-closed {
  color: var(--color-error);
}
.status-closed i::before {
  content: "\f023";
}
.status-official i::before {
  content: "\f00c";
}
.status-online i::before {
  content: "\f0ac";
}
.status-live {
  color: var(--color-error);
}
.status-live i::before {
  content: "\f001";
}
.status-active {
  color: var(--color-success);
}
.status-active i::before {
  content: "\f00c";
}
.status-inactive {
  color: var(--color-text-secondary);
}
.status-inactive i::before {
  content: "\f05e";
}
.status-sponsored i::before {
  content: "\f1cd";
}
.status-banned {
  color: var(--color-error);
}
.status-banned i::before {
  content: "\f05e";
}
.status-admin,
.status-moderator,
.status-student,
.status-student-moderator,
.status-captain,
.status-user,
.status-team,
.status-country,
.status-joined,
.status-sponsored,
.status-online,
.status-official {
  color: var(--color-text-secondary);
}
.status-admin i::before {
  content: "\f4fe";
}
.status-moderator i::before {
  content: "\f508";
}
.status-student i::before {
  content: "\f19d";
}
.status-student-moderator i::before {
  content: "\f508";
}
.status-captain i::before {
  content: "\f4fe";
}
.status-user i::before {
  content: "\f007";
}
.status-team i::before {
  content: "\f0c0";
}
.status-country i::before {
  content: "\f024";
}
.status-joined i::before {
  content: "\f073";
}
.status-joined .status-value {
  text-transform: none;
}
a.status-badge,
a.status-badge:link,
a.status-badge:visited {
  text-decoration: none;
  cursor: pointer;
}
a.status-badge:hover,
a.status-badge:active {
  text-decoration: none;
  opacity: 0.85;
}
.status-badge:is(.status-admin, .status-moderator, .status-student, .status-student-moderator, .status-captain, .status-user, .status-team, .status-country, .status-joined, .status-sponsored, .status-online, .status-official):is(:link, :visited, :hover, :active) {
  color: var(--color-text-secondary);
}
.cooling-air-stock {
  color: var(--color-text-secondary);
}
.cooling-air-stock i::before {
  content: "\f72e";
}
.cooling-air-custom {
  color: var(--color-success);
}
.cooling-air-custom i::before {
  content: "\f72e";
}
.cooling-water-custom {
  color: var(--color-primary);
}
.cooling-water-custom i::before {
  content: "\f043";
}
.cooling-aio-water {
  color: var(--color-accent);
}
.cooling-aio-water i::before {
  content: "\f043";
}
.cooling-water-chilled-cold {
  color: var(--color-primary);
}
.cooling-water-chilled-cold i::before {
  content: "\f2dc";
}
.cooling-dry-ice {
  color: var(--color-text-secondary);
}
.cooling-dry-ice i::before {
  content: "\f1b2";
}
.cooling-single-stage-phase-change {
  color: var(--color-primary);
}
.cooling-single-stage-phase-change i::before {
  content: "\f2dc";
}
.cooling-cascade-phase-change {
  color: var(--color-primary);
}
.cooling-cascade-phase-change i::before {
  content: "\f2dc";
}
.cooling-liquid-nitrogen {
  color: var(--color-link-hover);
}
.cooling-liquid-nitrogen i::before {
  content: "\f0c3";
}
.cooling-liquid-helium {
  color: var(--color-text-secondary);
}
.cooling-liquid-helium i::before {
  content: "\f7a6";
}
.league-elite {
  color: var(--color-warning);
}
.league-elite i::before {
  content: "\f521";
}
.league-extreme {
  color: var(--color-error);
}
.league-extreme i::before {
  content: "\f06d";
}
.league-apprentice {
  color: var(--color-link-hover);
}
.league-apprentice i::before {
  content: "\f0d0";
}
.league-enthusiast {
  color: var(--color-primary);
}
.league-enthusiast i::before {
  content: "\f0e7";
}
.league-novice {
  color: var(--color-success);
}
.league-novice i::before {
  content: "\f4d8";
}
.league-rookie {
  color: var(--color-text-secondary);
}
.league-rookie i::before {
  content: "\f19d";
}
.ref-review {
  color: var(--color-primary);
}
.ref-review i::before {
  content: "\f1e5";
}
.ref-news,
.ref-press,
.ref-roundup,
.ref-static-content {
  color: var(--color-text-secondary);
}
.ref-news i::before,
.ref-press i::before,
.ref-roundup i::before,
.ref-static-content i::before {
  content: "\f1ea";
}
.ref-discussion {
  color: var(--color-primary);
}
.ref-discussion i::before {
  content: "\f086";
}
.ref-rule {
  color: var(--color-warning);
}
.ref-rule i::before {
  content: "\f06a";
}
.ref-esports {
  color: var(--color-error);
}
.ref-esports i::before {
  content: "\f2db";
}
.partner-icon {
  color: var(--color-warning-star);
  font-size: var(--font-size-xs);
  margin-right: var(--space-2xs);
  vertical-align: middle;
}
a:is(:hover, :focus, :active) .partner-icon {
  color: var(--color-warning-star);
}

/* src/main/frontend/css/comment.css */
.comment-widget {
  display: flex;
  flex-direction: column;
}
.comments-title {
  font-weight: var(--font-weight-bold);
  color: var(--color-text-heading);
  margin-bottom: var(--space-lg);
}
.submitter-quote-card {
  background-color: var(--color-text-inverse);
  border-left: var(--border-width-lg) solid var(--color-primary);
  border-radius: var(--border-radius-xs);
  padding: var(--space-md) var(--space-lg);
  margin-bottom: var(--space-lg);
}
.quote-header {
  display: flex;
  gap: var(--space-sm);
  margin-bottom: var(--space-sm);
}
.quote-author {
  font-weight: var(--font-weight-bold);
  color: var(--color-primary);
  text-decoration: none;
}
.quote-author:hover {
  text-decoration: underline;
}
.quote-action {
  color: var(--color-text-secondary);
}
.quote-body {
  margin: 0;
  font-style: italic;
  color: var(--color-text-heading);
}
.quote-icon {
  color: var(--color-text-muted);
  margin-right: var(--space-sm);
}
.comments-thread {
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
  margin-bottom: var(--space-md);
}
.comment-card {
  display: flex;
  gap: var(--space-md);
  background-color: var(--color-text-inverse);
  border: var(--border-width-sm) solid var(--color-border-subtle);
  border-radius: var(--border-radius-sm);
  padding: var(--space-md) var(--space-lg);
  transition: background-color var(--transition-base), border-color var(--transition-base);
}
.comment-card--new {
  animation: comment-highlight 1.5s ease-out;
}
@keyframes comment-highlight {
  0% {
    background-color: var(--color-info-bg);
    border-color: var(--color-info-border);
  }
  100% {
    background-color: var(--color-text-inverse);
    border-color: var(--color-border-subtle);
  }
}
.comment-card__avatar-link {
  flex-shrink: 0;
}
.comment-card__avatar {
  width: 36px;
  height: 36px;
  border-radius: var(--border-radius-circle);
  object-fit: cover;
}
.comment-card__body {
  flex: 1;
  min-width: 0;
}
.comment-card__header {
  display: flex;
  align-items: center;
  gap: var(--space-md);
  margin-bottom: var(--space-sm);
}
.comment-card__author {
  color: var(--color-primary);
  text-decoration: none;
}
.comment-card__author:hover {
  text-decoration: underline;
}
.comment-card__timestamp {
  color: var(--color-text-secondary);
}
.comment-card__text {
  color: var(--color-text-heading);
  word-break: break-word;
}
.comment-card__text img {
  max-width: 100%;
  height: auto;
  display: block;
  margin: var(--space-md) 0;
  border-radius: var(--border-radius-xs);
}
.comment-form-box {
  margin-top: var(--space-sm);
}
.comment-form {
  display: flex;
  flex-direction: column;
  gap: var(--space-xs);
}
.comment-composer {
  position: relative;
  display: flex;
  align-items: flex-end;
  gap: var(--space-sm);
  background-color: var(--color-bg-surface);
  border: var(--border-width-sm) solid var(--color-border-subtle);
  border-radius: 22px;
  padding: var(--space-xs) var(--space-xs) var(--space-xs) var(--space-sm);
  box-shadow: var(--shadow-sm);
  transition: border-color var(--transition-fast), box-shadow var(--transition-fast);
}
.comment-composer__emoji-btn {
  flex-shrink: 0;
  width: 36px;
  height: 36px;
  border-radius: var(--border-radius-circle);
  border: none;
  background: transparent;
  color: var(--color-text-secondary);
  font-size: var(--font-size-lg);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: background-color var(--transition-fast), color var(--transition-fast);
}
.comment-composer__emoji-btn:hover,
.comment-composer__emoji-btn.is-active {
  background-color: var(--color-bg-hover);
  color: var(--color-primary);
}
.comment-emoji-picker {
  position: absolute;
  bottom: calc(100% + var(--space-xs));
  left: 0;
  z-index: 50;
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 4px;
  padding: var(--space-sm);
  background-color: var(--color-bg-surface);
  border: var(--border-width-sm) solid var(--color-border-subtle);
  border-radius: var(--border-radius-md);
  box-shadow: var(--shadow-lg);
}
.comment-emoji-picker[hidden] {
  display: none;
}
.comment-emoji-picker__item {
  width: 34px;
  height: 34px;
  border: none;
  border-radius: var(--border-radius-xs);
  background: transparent;
  font-size: 1.25rem;
  line-height: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: background-color var(--transition-fast), transform var(--transition-fast);
}
.comment-emoji-picker__item:hover {
  background-color: var(--color-bg-hover);
  transform: scale(1.15);
}
.comment-composer:focus-within {
  border-color: var(--color-primary);
  box-shadow: 0 0 0 3px rgba(2, 132, 199, 0.14);
}
.comment-composer--guest {
  align-items: center;
  padding: var(--space-md) var(--space-lg);
  background-color: var(--color-bg-card);
}
.comment-composer__guest-icon {
  color: var(--color-text-muted);
}
.comment-form__textarea {
  flex: 1;
  min-width: 0;
  width: 100%;
  min-height: 24px;
  max-height: 140px;
  padding: 6px 0;
  margin: 0;
  border: none;
  border-radius: 0;
  background: transparent;
  color: var(--color-text-heading);
  font-family: inherit;
  font-size: var(--font-size-sm);
  line-height: var(--line-height-normal);
  resize: none;
  overflow-y: auto;
  box-sizing: border-box;
  cursor: text;
}
.comment-form__textarea::placeholder {
  color: var(--color-text-muted);
}
.comment-form__textarea:focus {
  outline: none;
  border: none;
  box-shadow: none;
}
.comment-composer__send {
  flex-shrink: 0;
  width: 36px;
  height: 36px;
  border-radius: var(--border-radius-circle);
  border: none;
  background-color: var(--color-primary);
  color: var(--color-text-white);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition:
    background-color var(--transition-fast),
    transform var(--transition-fast),
    opacity var(--transition-fast);
}
.comment-composer__send:hover:not(:disabled) {
  background-color: var(--color-primary-hover);
  transform: scale(1.04);
}
.comment-composer__send:active:not(:disabled) {
  transform: scale(0.96);
}
.comment-composer__send:disabled,
.comment-composer__send.is-submitting {
  opacity: 0.45;
  cursor: default;
  transform: none;
}
.comment-composer__hint {
  font-size: var(--font-size-2xs);
  color: var(--color-text-muted);
  padding: 0 var(--space-md);
}
.comment-composer__hint kbd {
  font-family: var(--font-mono);
  font-size: var(--font-size-3xs);
  background-color: var(--color-bg-surface);
  border: var(--border-width-sm) solid var(--color-border-subtle);
  border-radius: var(--border-radius-xs);
  padding: 1px 4px;
  color: var(--color-text-secondary);
}
.comment-form__login-notice {
  color: var(--color-text-secondary);
  font-style: italic;
}

/* src/main/frontend/css/navigation.css */
.navigation {
  display: flex;
  flex-direction: row;
  width: 100%;
  background: var(--color-bg-dark);
  text-transform: capitalize;
}
.nav {
  position: relative;
  display: flex;
  width: 100%;
  font-family: var(--font-heading);
}
.nav__dropdown {
  position: relative;
}
.nav__dropdown-menu {
  position: absolute;
  top: calc(100% + 8px);
  right: 0;
  min-width: 200px;
  padding: var(--space-sm) 0;
  background: var(--color-bg-surface);
  border: var(--border-width-sm) solid var(--color-border-light);
  border-radius: var(--border-radius);
  box-shadow: var(--shadow-md);
  overflow: hidden;
  z-index: var(--z-index-dropdown);
  opacity: 0;
  visibility: hidden;
  transform: translateY(-6px);
  pointer-events: none;
  transition:
    opacity var(--transition-base),
    transform var(--transition-base),
    visibility var(--transition-base);
}
.nav__dropdown--open .nav__dropdown-menu {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
  pointer-events: auto;
}
.nav__dropdown-header {
  padding: var(--space-md) var(--space-lg);
  border-bottom: var(--border-width-sm) solid var(--color-border-light);
  background: var(--color-bg-hover);
}
.nav__dropdown-user {
  display: block;
  font-weight: var(--font-weight-bold);
  color: var(--color-text-primary);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.nav__dropdown-item,
.nav__dropdown-item:visited {
  display: flex;
  align-items: center;
  gap: var(--space-sm);
  padding: var(--space-md) var(--space-lg);
  color: var(--color-text-primary);
  text-decoration: none;
  transition: background var(--transition-fast), color var(--transition-fast);
}
.nav__dropdown-item:is(:hover, :focus-visible, :active) {
  background: var(--color-bg-hover);
  color: var(--color-text-primary);
  text-decoration: none;
}
.nav__dropdown-item i {
  width: 16px;
  text-align: center;
  color: var(--color-text-secondary);
  transition: color var(--transition-fast);
}
.nav__dropdown-item:is(:hover, :focus-visible) i {
  color: var(--color-text-primary);
}
.nav__dropdown-divider {
  height: 1px;
  background: var(--color-border-light);
  margin: var(--space-xs) 0;
}
.nav__dropdown-item--logout,
.nav__dropdown-item--logout:visited {
  color: var(--color-error);
}
.nav__dropdown-item--logout i {
  color: var(--color-error);
}
.nav__dropdown-item--logout:is(:hover, :focus-visible, :active) {
  background: var(--color-error-bg);
  color: var(--color-error-text);
}
.nav__dropdown-item--logout:is(:hover, :focus-visible) i {
  color: var(--color-error-text);
}
.nav__overlay {
  display: none;
  position: fixed;
  inset: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(3, 6, 23, 0.7);
  backdrop-filter: blur(2px);
  z-index: var(--z-index-backdrop);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity var(--transition-base), visibility var(--transition-base);
}
.nav__drawer {
  width: 100%;
}
.nav__drawer-header {
  display: none;
  align-items: center;
  justify-content: space-between;
  padding: var(--space-lg);
  border-bottom: var(--border-width-sm) solid rgba(255, 255, 255, 0.1);
}
.nav__drawer-title {
  color: var(--color-text-white);
  text-transform: uppercase;
  letter-spacing: 0.5px;
}
.nav__close {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  background: transparent;
  border: none;
  border-radius: var(--border-radius-sm);
  color: var(--color-text-inverse);
  cursor: pointer;
  transition: background var(--transition-base), color var(--transition-base);
}
.nav__close:is(:hover, :focus-visible) {
  background: rgba(255, 255, 255, 0.1);
  color: var(--color-text-white);
}
.nav__list {
  list-style: none;
  margin: 0;
  padding: 0;
}
.nav__item {
  position: relative;
}
.nav__link,
.nav__link:link,
.nav__link:visited {
  display: flex;
  align-items: center;
  padding: var(--space-md) var(--space-lg);
  color: var(--color-text-muted);
  font-weight: var(--font-weight-bold);
  letter-spacing: 0.3px;
  text-decoration: none;
  white-space: nowrap;
  transition: background var(--transition-base), color var(--transition-base);
}
.nav__link:is(:hover, :focus-visible, :active) {
  background: var(--color-bg-hover-dark);
  color: var(--color-text-white);
  text-decoration: none;
}
.nav__link-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
}
.nav__sub-toggle {
  display: none;
}
.nav__sub {
  list-style: none;
  margin: 0;
  padding: 0;
}
.nav__sub-link,
.nav__sub-link:link,
.nav__sub-link:visited {
  display: block;
  padding: var(--space-md) var(--space-lg);
  color: var(--color-text-primary);
  text-decoration: none;
  transition: background var(--transition-fast), color var(--transition-fast);
}
.nav__sub-link:is(:hover, :focus-visible, :active) {
  background: var(--color-bg-hover-dark);
  color: var(--color-text-inverse);
  text-decoration: none;
}
.nav__item--cta {
  display: flex;
  align-items: center;
}
.nav__link--cta {
  gap: var(--space-sm);
}
.nav__link--cta i {
  color: var(--color-accent);
  transition: color var(--transition-base);
}
.nav__link--cta:is(:hover, :focus-visible) i {
  color: var(--color-highlight);
}
@media screen and (min-width: 1201px) {
  .nav__list {
    display: flex;
    align-items: center;
    flex-direction: row;
    flex-wrap: nowrap;
    width: 100%;
  }
  .nav__item--cta {
    margin-left: auto;
  }
  .nav__item--has-sub > .nav__link-row > .nav__link::after {
    content: "";
    display: inline-block;
    margin-left: var(--space-sm);
    vertical-align: middle;
    border-top: var(--border-width-lg) solid var(--color-accent);
    border-right: var(--border-width-lg) solid transparent;
    border-left: var(--border-width-lg) solid transparent;
    transition: transform var(--transition-base), border-top-color var(--transition-base);
  }
  .nav__item--has-sub:is(:hover, :focus-within) > .nav__link-row > .nav__link::after {
    transform: rotate(180deg);
    border-top-color: var(--color-highlight);
  }
  .nav__sub {
    position: absolute;
    top: 100%;
    left: 0;
    min-width: 240px;
    padding: var(--space-sm) 0;
    background: var(--color-bg-surface);
    border: var(--border-width-sm) solid var(--color-border-light);
    border-radius: 0 0 var(--border-radius-sm) var(--border-radius-sm);
    box-shadow: var(--shadow-lg);
    z-index: var(--z-index-dropdown);
    opacity: 0;
    visibility: hidden;
    transform: translateY(6px);
    pointer-events: none;
    transition:
      opacity var(--transition-base),
      transform var(--transition-base),
      visibility var(--transition-base);
  }
  .nav__sub::before {
    content: "";
    position: absolute;
    top: -6px;
    left: 0;
    right: 0;
    height: 6px;
  }
  .nav__item--has-sub:is(:hover, :focus-within) > .nav__sub {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
    pointer-events: auto;
  }
  .header,
  .navigation {
    grid-column: 1 / -1;
  }
  .header {
    display: block;
    width: 100%;
  }
  .header__top-bar {
    display: grid;
    grid-template-columns: auto minmax(280px, 1fr) auto auto;
    gap: var(--space-md) var(--space-xl);
    align-items: center;
    padding: var(--space-sm) var(--space-lg);
    box-sizing: border-box;
    width: 100%;
  }
  .header .logo-wrapper {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: var(--space-sm);
    position: relative;
    z-index: 1000;
    white-space: nowrap;
  }
  .header .patreon {
    font-size: var(--font-size-3xl);
  }
  .header .patreon a,
  .header .patreon a:link,
  .header .patreon a:visited {
    color: var(--color-bg-dark);
    text-decoration: none;
    transition: color var(--transition-fast);
  }
  .header .patreon a:is(:hover, :focus-visible, :active) {
    color: var(--color-link);
  }
  .header .global-search-wrapper {
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .header .partner-wrapper {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: var(--space-sm);
    justify-content: center;
    color: var(--color-text-muted);
    font-family: var(--font-heading);
    font-size: var(--font-size-xs);
    white-space: nowrap;
  }
  .header .partner-wrapper .platinum-partner img {
    height: var(--partner-logo-height);
    max-height: 28px;
    display: block;
  }
  .header .account-wrapper {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: flex-end;
    justify-self: end;
    font-size: var(--font-size-sm);
    color: var(--color-text-muted);
    font-family: var(--font-heading);
    margin-left: auto;
  }
  .header .account-wrapper .grid {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: var(--space-xs);
    text-align: center;
  }
  .header .account-wrapper .grid i {
    font-size: var(--header-icon-size);
    line-height: 1;
    min-height: 20px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }
  .header .account-wrapper .grid .header-avatar-img--desktop {
    width: 20px;
    height: 20px;
    border-radius: var(--border-radius-circle);
    object-fit: cover;
    display: block;
    border: 1px solid rgba(255, 255, 255, 0.25);
    box-sizing: border-box;
  }
  .header .account {
    display: flex;
    align-items: center;
    list-style: none;
    margin: 0;
    padding: 0;
    gap: var(--space-2xs);
  }
  .header .account li {
    color: var(--color-text-muted);
    padding: var(--space-s) var(--space-sm);
  }
  .header .account a,
  .header .account a:link,
  .header .account a:visited {
    color: var(--color-text-muted);
    text-decoration: none;
    transition: color var(--transition-fast);
  }
  .header .account a:hover,
  .header .account a:active {
    color: var(--color-text-white);
    text-decoration: none;
  }
}
@media screen and (max-width: 1200px) {
  .navigation {
    display: contents;
  }
  .nav__overlay {
    display: block;
  }
  .nav--open .nav__overlay {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
  }
  .nav__drawer {
    position: fixed;
    top: 0;
    left: 0;
    width: 320px;
    max-width: 85vw;
    height: 100%;
    display: flex;
    flex-direction: column;
    background: var(--color-bg-dark);
    z-index: var(--z-index-drawer);
    overflow-y: auto;
    overflow-x: hidden;
    box-shadow: none;
    transform: translateX(-100%);
    will-change: transform;
    transition: transform var(--transition-smooth);
  }
  .nav--open .nav__drawer {
    transform: translateX(0);
  }
  .nav__drawer-header {
    display: flex;
  }
  .nav__list {
    display: flex;
    flex-direction: column;
    width: 100%;
    padding: var(--space-sm) 0 var(--space-2xl) 0;
  }
  .nav__link-row {
    border-bottom: var(--border-width-sm) solid rgba(255, 255, 255, 0.05);
  }
  .nav__link,
  .nav__link:link,
  .nav__link:visited {
    flex: 1;
    padding: var(--space-lg);
  }
  .nav__link-row:is(:hover, :focus-within),
  .nav__link:is(:hover, :focus-visible) {
    background: rgba(255, 255, 255, 0.08);
    color: var(--color-text-white);
  }
  .nav__sub-toggle {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    background: transparent;
    border: none;
    color: var(--color-accent);
    cursor: pointer;
    transition: background var(--transition-base), color var(--transition-base);
  }
  .nav__sub-toggle:is(:hover, :focus-visible) {
    background: rgba(255, 255, 255, 0.12);
    color: var(--color-highlight);
  }
  .nav__item--open .nav__sub-toggle i {
    transform: rotate(180deg);
    color: var(--color-highlight);
  }
  .nav__sub {
    display: none;
    padding: var(--space-xs) 0;
    background: rgba(0, 0, 0, 0.2);
  }
  .nav__item--open .nav__sub {
    display: block;
  }
  .nav__sub-link,
  .nav__sub-link:link,
  .nav__sub-link:visited {
    padding: var(--space-md) var(--space-lg) var(--space-md) var(--space-2xl);
    color: var(--color-text-inverse);
  }
  .nav__sub-link:is(:hover, :focus-visible, :active) {
    background: rgba(255, 255, 255, 0.12);
    color: var(--color-text-white);
  }
  .nav__link--cta {
    justify-content: center;
    text-align: center;
    width: 100%;
  }
  .header {
    position: sticky;
    top: 0;
    z-index: 900;
    background: var(--color-bg-dark);
    display: flex;
    flex-direction: column;
    width: 100%;
    padding: 0;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.25);
  }
  .header__top-bar {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    padding: var(--space-xs) var(--space-md);
    width: 100%;
    box-sizing: border-box;
    min-height: 52px;
  }
  .header .logo-wrapper {
    display: flex;
    align-items: center;
  }
  .header .logo img {
    height: 28px;
    width: auto;
    display: block;
  }
  .header__mobile-actions {
    display: flex;
    align-items: center;
    gap: var(--space-xs);
  }
  .header__action-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    padding: 0;
    background: rgba(255, 255, 255, 0.08);
    border: var(--border-width-sm) solid rgba(255, 255, 255, 0.15);
    border-radius: var(--border-radius-circle);
    color: var(--color-text-inverse);
    cursor: pointer;
    user-select: none;
    transition:
      background var(--transition-base),
      border-color var(--transition-base),
      color var(--transition-base);
  }
  .header__action-btn:is(:hover, :focus-visible),
  .nav__dropdown--open .header__action-btn--account {
    background: rgba(255, 255, 255, 0.18);
    border-color: rgba(255, 255, 255, 0.35);
    color: var(--color-text-white);
  }
  .header__action-btn:focus-visible {
    outline: 2px solid var(--color-accent);
    outline-offset: 2px;
  }
  .header__action-btn i {
    font-size: var(--font-size-base);
    line-height: 1;
  }
  .header-avatar-img {
    width: 32px;
    height: 32px;
    border-radius: var(--border-radius-circle);
    object-fit: cover;
    display: block;
  }
  .partner-wrapper--mobile {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    text-align: center;
    gap: var(--space-xs) var(--space-sm);
    width: 100%;
    box-sizing: border-box;
    padding: 6px var(--space-md);
    background: rgba(0, 0, 0, 0.25);
    border-top: var(--border-width-sm) solid rgba(255, 255, 255, 0.08);
    font-family: var(--font-heading);
    font-size: var(--font-size-2xs);
    color: var(--color-text-muted);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    overflow: hidden;
    max-height: 48px;
    opacity: 1;
    transform: translateY(0);
    transition:
      max-height 0.28s cubic-bezier(0.4, 0, 0.2, 1),
      opacity 0.22s ease,
      padding 0.28s cubic-bezier(0.4, 0, 0.2, 1),
      transform 0.28s cubic-bezier(0.4, 0, 0.2, 1),
      border-top-width 0.28s ease;
  }
  .partner-wrapper--mobile .platinum-partner img {
    height: 20px;
    width: auto;
    display: block;
  }
  .header--partner-hidden .partner-wrapper--mobile {
    max-height: 0;
    opacity: 0;
    padding-top: 0;
    padding-bottom: 0;
    border-top-width: 0;
    transform: translateY(-8px);
    pointer-events: none;
  }
}

/* src/main/frontend/css/search.css */
html.search-open,
body.search-open {
  overflow: hidden;
  overflow-x: hidden;
  overscroll-behavior: none;
  touch-action: none;
}
.global-search-backdrop {
  display: none;
  position: fixed;
  inset: 0;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(3, 6, 23, 0.75);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
  z-index: var(--z-index-backdrop);
  overscroll-behavior: none;
  touch-action: none;
}
.global-search,
.global-search-wrapper {
  position: relative;
}
.global-search-button {
  font-size: var(--font-size-lg);
}
.global-search-autocomplete {
  font-size: var(--font-size-sm);
  background: var(--color-bg-navy);
  border-radius: 0 0 var(--border-radius) var(--border-radius);
  box-shadow: var(--shadow-lg);
  overflow: hidden;
}
.global-search-autocomplete-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: var(--space-sm) var(--space-md);
  background: var(--color-bg-navy);
  border-bottom: var(--border-width-sm) solid rgba(255, 255, 255, 0.08);
  color: var(--color-text-muted);
}
.global-search-header-tools {
  display: flex;
  align-items: center;
  gap: var(--space-sm);
}
.global-search-spinner {
  display: inline-flex;
  align-items: center;
  color: var(--color-accent);
}
.global-search-content {
  box-sizing: border-box;
  padding: var(--space-sm) var(--space-md) var(--space-xl);
  background-color: var(--color-bg-dark);
}
.global-search-content .category-header {
  box-sizing: border-box;
  display: flex;
  align-items: center;
  gap: var(--space-sm);
  width: 100%;
  padding: var(--space-sm) var(--space-md);
  background: rgba(255, 255, 255, 0.08);
  border-radius: var(--border-radius-sm);
  color: var(--color-border-dashed);
  font-weight: var(--font-weight-bold);
  letter-spacing: 0.05em;
  text-transform: uppercase;
}
.global-search-content .category-header i {
  color: var(--color-highlight);
}
.global-search-content .category-badge {
  margin-left: auto;
  padding: var(--space-2xs) var(--space-sm);
  background: rgba(255, 255, 255, 0.15);
  border-radius: var(--border-radius-full);
  color: var(--color-text-white);
}
.global-search-content .search-item-list {
  box-sizing: border-box;
  width: 100%;
  list-style: none;
  padding: 0;
  margin: var(--space-xs) 0 0;
}
.global-search-content .search-item {
  box-sizing: border-box;
  width: 100%;
  border-bottom: var(--border-width-sm) solid rgba(255, 255, 255, 0.06);
}
.global-search-content .search-item:last-child {
  border-bottom: none;
}
.global-search-content .item-link,
.global-search-content .item-link:link,
.global-search-content .item-link:visited {
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  min-width: 0;
  min-height: 25px;
  padding: var(--space-md);
  color: var(--color-text-inverse);
  text-decoration: none;
  border-radius: var(--border-radius-xs);
  transition:
    background-color var(--transition-fast),
    color var(--transition-fast),
    transform var(--transition-fast);
  overflow: hidden;
}
.global-search-content .item-name {
  flex: 1;
  min-width: 0;
  overflow-wrap: anywhere;
  word-break: break-word;
}
.global-search-content .item-link:hover,
.global-search-content .item-link:focus,
.global-search-content .item-link:active,
.global-search-content .item-link.is-active {
  background-color: rgba(255, 255, 255, 0.12);
  color: var(--color-text-white);
  outline: none;
}
.global-search-content .item-arrow {
  flex-shrink: 0;
  margin-left: var(--space-sm);
  color: var(--color-text-secondary);
  transition: color var(--transition-fast), transform var(--transition-fast);
}
.global-search-content .item-link:is(:hover, :focus, :active, .is-active) .item-arrow {
  color: var(--color-accent);
  transform: translateX(3px);
}
.global-search-content .search-empty-state,
.global-search-content .search-prompt-state {
  box-sizing: border-box;
  width: 100%;
  padding: 40px var(--space-lg);
  text-align: center;
  color: var(--color-text-muted);
}
.global-search-content .empty-icon,
.global-search-content .prompt-icon {
  margin-bottom: var(--space-md);
  color: var(--color-text-secondary);
}
.global-search-content .prompt-icon {
  color: var(--color-highlight);
}
.global-search-content .empty-title,
.global-search-content .prompt-title {
  margin-bottom: var(--space-sm);
  color: var(--color-text-inverse);
  font-size: var(--font-size-lg);
  font-weight: var(--font-weight-bold);
}
.global-search-content .empty-subtitle,
.global-search-content .prompt-subtitle {
  box-sizing: border-box;
  display: block;
  max-width: 320px;
  width: 100%;
  margin: 0 auto;
  font-size: var(--font-size-sm);
  line-height: var(--line-height-normal);
}
@media screen and (min-width: 1201px) {
  .global-search {
    display: flex;
    align-items: center;
    position: relative;
    margin: 0;
  }
  .global-search-input-group {
    display: flex;
    align-items: center;
  }
  .global-search input[type=text],
  .global-search input[type=search],
  .global-search-input,
  .global-search button[type=submit],
  .global-search-button {
    position: relative;
    z-index: 1000;
    height: 40px;
    box-sizing: border-box;
  }
  .global-search input[type=text],
  .global-search input[type=search],
  .global-search-input {
    width: 280px;
    padding: 0 var(--space-lg);
    border: var(--border-width-md) solid var(--color-bg-dark);
    border-right: none;
    border-radius: var(--border-radius-full) 0 0 var(--border-radius-full);
    background-color: var(--color-bg-dark);
    color: var(--color-text-white);
    outline: none;
    transition:
      width var(--transition-base),
      border-color var(--transition-base),
      background-color var(--transition-base);
  }
  .global-search input[type=text]::placeholder,
  .global-search input[type=search]::placeholder,
  .global-search-input::placeholder {
    color: var(--color-text-muted);
  }
  .global-search input[type=text]:focus,
  .global-search input[type=search]:focus,
  .global-search-input:focus {
    width: 380px;
    border-color: rgba(56, 189, 248, 0.5);
    background-color: rgba(255, 255, 255, 0.1);
  }
  .global-search button[type=submit],
  .global-search-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    padding: 0 var(--space-lg) 0 var(--space-md);
    margin: 0;
    border: var(--border-width-md) solid var(--color-bg-dark);
    border-left: none;
    border-radius: 0 var(--border-radius-full) var(--border-radius-full) 0;
    background-color: var(--color-bg-dark);
    color: var(--color-text-muted);
    font-size: var(--font-size-lg);
    cursor: pointer;
    outline: none;
    box-shadow: none;
    vertical-align: top;
    transition:
      background-color var(--transition-base),
      border-color var(--transition-base),
      color var(--transition-base);
  }
  .global-search:hover .global-search-input,
  .global-search:hover .global-search-button {
    border-color: rgba(255, 255, 255, 0.2);
  }
  .global-search button[type=submit]:hover,
  .global-search-button:hover,
  .global-search button[type=submit]:focus-visible,
  .global-search-button:focus-visible {
    background-color: var(--color-bg-hover-dark);
    border-color: rgba(56, 189, 248, 0.5);
    color: var(--color-accent);
  }
  .global-search:focus-within .global-search-input {
    border-color: rgba(56, 189, 248, 0.5);
  }
  .global-search:focus-within .global-search-button {
    border-color: rgba(56, 189, 248, 0.5);
    background-color: rgba(255, 255, 255, 0.1);
    color: var(--color-accent);
  }
  .global-search-autocomplete-wrapper {
    display: none;
    position: fixed;
    top: 75px;
    left: 50%;
    transform: translateX(-50%);
    width: 900px;
    max-width: 92vw;
    z-index: var(--z-index-modal);
    border-radius: var(--border-radius);
    border: var(--border-width-sm) solid rgba(255, 255, 255, 0.12);
    box-shadow: var(--shadow-xl);
    overflow: hidden;
  }
  .global-search-autocomplete-header {
    padding: var(--space-md) var(--space-lg);
    background-color: var(--color-bg-dark);
    border-bottom: var(--border-width-sm) solid var(--color-border-light);
    color: var(--color-text-inverse);
  }
  .global-search-desktop-action {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
  }
  .global-search-autocomplete-header .button,
  .global-search-desktop-action .button {
    padding: var(--space-xs) var(--space-sm);
    border: none;
    background: transparent;
    color: var(--color-text-white);
    cursor: pointer;
    outline: none;
    box-shadow: none;
    transition: color var(--transition-base), transform var(--transition-base);
  }
  .global-search-autocomplete-header .button:hover,
  .global-search-desktop-action .button:hover {
    background: transparent;
    color: var(--color-text-primary);
  }
  .global-search-content .search-results-container {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: var(--space-lg);
    align-items: start;
    max-height: 70vh;
    overflow-y: auto;
  }
  .global-search-content .search-category-group {
    width: 100%;
    box-sizing: border-box;
  }
}
@media screen and (max-width: 1200px) {
  .global-search-autocomplete-wrapper {
    display: none;
    position: fixed;
    inset: 0;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    transform: none;
    width: 100%;
    max-width: 100%;
    height: 100%;
    height: 100dvh;
    border: none;
    border-radius: 0;
    box-shadow: none;
    z-index: var(--z-index-modal);
    background: var(--color-bg-navy);
    box-sizing: border-box;
    overflow-x: hidden;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;
    overscroll-behavior-x: none;
    touch-action: pan-y;
  }
  .global-search-autocomplete {
    display: flex;
    flex-direction: column;
    min-height: 100%;
    min-height: 100dvh;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    background: var(--color-bg-navy);
    overflow-x: hidden;
    touch-action: pan-y;
  }
  .global-search-autocomplete-header {
    position: sticky;
    top: 0;
    z-index: var(--z-index-sticky-header);
    padding: max(var(--space-md), env(safe-area-inset-top, 12px)) max(var(--space-md), env(safe-area-inset-right, 12px)) var(--space-md) max(var(--space-md), env(safe-area-inset-left, 12px));
    background: var(--color-bg-navy);
    border-bottom: var(--border-width-sm) solid rgba(255, 255, 255, 0.1);
    box-sizing: border-box;
    width: 100%;
    max-width: 100%;
  }
  .global-search-mobile-action {
    display: flex;
    align-items: center;
    gap: var(--space-sm);
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
  }
  .global-search-mobile-action .button {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 44px;
    min-height: 44px;
    padding: 0;
    border: none;
    background: transparent;
    color: var(--color-text-muted);
    cursor: pointer;
    flex-shrink: 0;
  }
  .global-search-mobile-action .button:active {
    color: var(--color-accent);
  }
  .global-search-mobile-action .global-search-spinner {
    color: var(--color-accent);
    margin-right: var(--space-xs);
    flex-shrink: 0;
  }
  .global-search-mobile-action input.input {
    flex: 1;
    min-width: 0;
    min-height: 44px;
    padding: 0 var(--space-lg);
    border: var(--border-width-sm) solid var(--color-border-dark);
    border-radius: var(--border-radius);
    background: var(--color-bg-navy);
    color: var(--color-text-inverse);
    font-size: 16px;
    outline: none;
    box-sizing: border-box;
    -webkit-appearance: none;
    appearance: none;
  }
  .global-search-mobile-action input.input:focus {
    border-color: var(--color-accent);
  }
  .global-search-content {
    flex: 1;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    overflow-x: hidden;
    padding: var(--space-md) max(var(--space-md), env(safe-area-inset-right, 12px)) max(var(--space-2xl), env(safe-area-inset-bottom, 32px)) max(var(--space-md), env(safe-area-inset-left, 12px));
    touch-action: pan-y;
  }
  .global-search-content .search-results-container {
    display: flex;
    flex-direction: column;
    gap: var(--space-md);
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    overflow-x: hidden;
  }
  .global-search-content .search-category-group {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    overflow-x: hidden;
  }
}

/* src/main/frontend/css/share.css */
.share-widget {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2xs);
}
.share-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  padding: 0;
  background-color: var(--color-bg-surface);
  border: var(--border-width-sm) solid var(--color-border-subtle);
  border-radius: var(--border-radius-sm);
  color: var(--color-text-secondary);
  font-size: var(--font-size-sm);
  line-height: 1;
  cursor: pointer;
  transition:
    color var(--transition-fast),
    border-color var(--transition-fast),
    background-color var(--transition-fast);
}
.share-btn:hover {
  color: var(--color-primary);
  border-color: var(--color-primary);
  background-color: var(--color-bg-hover);
}
.share-btn.is-copied {
  color: var(--color-success);
  border-color: var(--color-success-border);
  background-color: var(--color-success-bg);
}

/* src/main/frontend/css/vote.css */
.vote-cell {
  position: relative;
  white-space: nowrap;
}
.vote-cell .vote-pill {
  font-size: var(--font-size-sm);
}
.vote-widget {
  position: relative;
  display: inline-flex;
  align-items: center;
}
.vote-pill {
  display: inline-flex;
  align-items: center;
  background-color: var(--color-bg-surface);
  border: var(--border-width-sm) solid var(--color-border-dark);
  border-radius: var(--border-radius-lg);
  padding: var(--space-2xs) var(--space-xs);
  font-size: var(--font-size-xs);
  line-height: var(--line-height-none);
  box-shadow: var(--shadow-sm);
  transition: border-color var(--transition-fast);
}
.vote-pill:hover {
  border-color: var(--color-highlight);
}
.vote-pill__btn {
  background: none;
  border: none;
  padding: var(--space-xs) var(--space-sm);
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: var(--space-xs);
  color: var(--color-text-primary);
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
  text-decoration: none;
  transition: color var(--transition-fast);
}
.vote-pill__btn:hover {
  color: var(--color-highlight);
  text-decoration: none;
}
.vote-pill__action.has-voted {
  color: var(--color-highlight);
}
.vote-pill__action--disabled {
  opacity: 0.6;
  cursor: pointer;
}
.vote-pill__divider {
  width: 1px;
  height: 14px;
  background-color: var(--color-border-light);
  margin: 0 1px;
}
.vote-pill__count {
  font-weight: var(--font-weight-bold);
}
.vote-pill__caret {
  font-size: var(--font-size-3xs);
  opacity: 0.7;
}
.vote-dropdown-menu {
  position: fixed;
  min-width: 180px;
  max-width: 240px;
  max-height: 220px;
  overflow-y: auto;
  font-size: var(--font-size-xs);
  background-color: var(--color-bg-surface);
  border: var(--border-width-sm) solid var(--color-border-dark);
  border-radius: var(--border-radius);
  box-shadow: var(--shadow-md);
  z-index: var(--z-index-dropdown);
  text-align: left;
}
.vote-popover-header {
  padding: var(--space-sm) var(--space-md);
  font-weight: var(--font-weight-bold);
  border-bottom: var(--border-width-sm) solid var(--color-border-light);
  display: flex;
  align-items: center;
  gap: var(--space-sm);
}
.vote-popover-list {
  list-style: none;
  margin: 0;
  padding: var(--space-xs) 0;
}
.vote-popover-item {
  padding: 0;
}
.vote-user-link {
  display: flex;
  align-items: center;
  gap: var(--space-sm);
  padding: var(--space-sm) var(--space-md);
  color: var(--color-text-primary);
  text-decoration: none;
  transition: background-color var(--transition-fast), color var(--transition-fast);
}
.vote-user-link:hover {
  background-color: var(--color-bg-hover);
  color: var(--color-highlight);
  text-decoration: none;
}
.vote-user-avatar {
  width: 20px;
  height: 20px;
  border-radius: var(--border-radius-circle);
  object-fit: cover;
  flex-shrink: 0;
}
.vote-popover-empty,
.vote-loading,
.vote-popover-error {
  padding: var(--space-md);
  color: var(--color-text-muted);
  text-align: center;
}

/* src/main/frontend/css/youtube.css */
.youtube-placeholder {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: var(--space-xs);
  padding: var(--space-md);
  background:
    radial-gradient(
      circle at center,
      var(--color-bg-dark) 0%,
      var(--color-bg-navy) 100%);
  color: var(--color-text-inverse);
  font-family: var(--font-base);
  text-align: center;
  cursor: pointer;
  box-sizing: border-box;
  transition: transform var(--transition-fast), box-shadow var(--transition-fast);
}
.youtube-placeholder:hover {
  box-shadow: var(--shadow-md);
}
.youtube-placeholder__icon {
  font-size: 3rem;
  line-height: 1;
  color: var(--color-error);
  transition: transform var(--transition-fast), color var(--transition-fast);
}
.youtube-placeholder:hover .youtube-placeholder__icon {
  transform: scale(1.1);
}
.youtube-placeholder__title {
  font-family: var(--font-heading);
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-bold);
  color: var(--color-text-white);
}
.youtube-placeholder__notice {
  font-size: var(--font-size-xs);
  color: var(--color-text-inverse-muted);
  max-width: 260px;
  line-height: var(--line-height-snug);
}

/* src/main/frontend/css/style.css */
:root {
  --color-bg-gradient-start: #5091DD;
  --color-bg-gradient-end: #030617;
  --color-bg-main: #F4F7F8;
  --color-bg-surface: #FFFFFF;
  --color-bg-card: #f8fafc;
  --color-bg-hover: #f1f5f9;
  --color-bg-hover-dark: #36454F;
  --color-bg-dark: #36454F;
  --color-bg-navy: #030617;
  --color-text-primary: #36454F;
  --color-text-heading: #0f172a;
  --color-text-secondary: #64748b;
  --color-text-muted: #94a3b8;
  --color-text-inverse: #F4F7F8;
  --color-text-inverse-muted: #DCDCDC;
  --color-text-white: #ffffff;
  --color-border-light: #E5E5E5;
  --color-border-subtle: #e2e8f0;
  --color-border-dashed: #cbd5e1;
  --color-border-standard: lightgray;
  --color-border-dark: #36454F;
  --border-width-sm: 1px;
  --border-width-md: 2px;
  --border-width-lg: 4px;
  --border-width-xl: 5px;
  --border-radius-xs: 4px;
  --border-radius-sm: 6px;
  --border-radius: 8px;
  --border-radius-lg: 16px;
  --border-radius-full: 9999px;
  --border-radius-circle: 50%;
  --color-primary: #0284c7;
  --color-primary-hover: #0369a1;
  --color-accent: #38bdf8;
  --color-highlight: #60a5fa;
  --color-link: #1d4ed8;
  --color-link-hover: #1e40af;
  --color-link-underline: rgba(29, 78, 216, 0.35);
  --color-success: #16a34a;
  --color-success-bg: #f0fdf4;
  --color-success-border: #bbf7d0;
  --color-success-text: #166534;
  --color-warning: #d97706;
  --color-warning-bg: #fffbeb;
  --color-warning-border: #fde68a;
  --color-warning-text: #92400e;
  --color-warning-star: #eab308;
  --color-error: #dc2626;
  --color-error-bg: #fef2f2;
  --color-error-border: #fecaca;
  --color-error-text: #991b1b;
  --color-info-bg: #eff6ff;
  --color-info-border: #bfdbfe;
  --color-info-text: #1e40af;
  --color-team: #7c3aed;
  --color-team-bg: #f5f3ff;
  --color-team-border: #ddd6fe;
  --color-team-text: #7c3aed;
  --color-team-text-dark: #5b21b6;
  --color-pos-first: #FFD700;
  --color-pos-second: #C0C0C0;
  --color-pos-third: #CD7F32;
  --color-pos-four-five: #AABFC9;
  --pos-marker-width: 4px;
  --rank-pos-min-width: 26px;
  --avatar-size-sm: 22px;
  --header-icon-size: 15px;
  --partner-logo-height: 30px;
  --space-2xs: 2px;
  --space-xs: 4px;
  --space-s: 6px;
  --space-sm: 8px;
  --space-md: 12px;
  --space-lg: 16px;
  --space-xl: 24px;
  --space-2xl: 32px;
  --font-heading:
    "PillGothic300mgBold",
    "Lucida Grande",
    Helvetica,
    Arial,
    sans-serif;
  --font-base: Arial, sans-serif;
  --font-mono:
    ui-monospace,
    SFMono-Regular,
    Menlo,
    Monaco,
    Consolas,
    monospace;
  --font-size-3xs: 0.625rem;
  --font-size-2xs: 0.6875rem;
  --font-size-xs: 0.75rem;
  --font-size-sm: 0.8125rem;
  --font-size-md: 0.875rem;
  --font-size-base: 1rem;
  --font-size-lg: 1.125rem;
  --font-size-xl: 1.25rem;
  --font-size-2xl: 1.5rem;
  --font-size-3xl: 1.875rem;
  --font-weight-normal: 400;
  --font-weight-medium: 500;
  --font-weight-semibold: 600;
  --font-weight-bold: 700;
  --font-weight-extrabold: 800;
  --line-height-none: 1;
  --line-height-tight: 1.25;
  --line-height-normal: 1.5;
  --shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.1);
  --shadow-md: 0 4px 12px rgba(0, 0, 0, 0.12);
  --shadow-lg: 0 10px 25px -5px rgba(0, 0, 0, 0.3);
  --shadow-xl: 0 25px 60px rgba(0, 0, 0, 0.5);
  --transition-fast: 0.15s ease;
  --transition-base: 0.2s ease;
  --transition-smooth: 0.35s cubic-bezier(0.4, 0, 0.2, 1);
  --layout-max-width: 2000px;
  --sidebar-min-width: 260px;
  --modal-width-sm: 480px;
  --modal-width-md: 600px;
  --modal-width-lg: 800px;
  --modal-width-xl: 1200px;
  --z-index-table-sticky: 2;
  --z-index-table-sticky-head: 3;
  --z-index-sticky-header: 10;
  --z-index-loading-overlay: 20;
  --z-index-dropdown: 500;
  --z-index-backdrop: 990;
  --z-index-drawer: 1000;
  --z-index-modal: 1050;
}
html {
  font-family: var(--font-base);
  background:
    radial-gradient(
      ellipse at bottom,
      var(--color-bg-gradient-start) 0%,
      var(--color-bg-gradient-end) 100%) no-repeat fixed;
  color: var(--color-text-primary);
}
body {
  font-size: var(--font-size-base);
  display: grid;
  margin: 0;
  overflow-wrap: break-word;
  word-break: break-word;
}
p {
  margin: var(--space-xs) 0;
}
h1,
h2,
h3,
h4,
h5 {
  font-family: var(--font-heading);
  color: var(--color-text-primary);
  margin: var(--space-lg) 0 var(--space-md) 0;
}
.footer h1,
.footer h2,
.footer h3,
.footer h4,
.footer h5 {
  color: var(--color-text-inverse);
}
a,
a:link,
a:visited {
  color: var(--color-link);
  text-decoration: none;
}
a:hover,
a:active {
  color: var(--color-link-hover);
  text-decoration: underline;
}
.font-bold {
  font-weight: var(--font-weight-bold);
}
.font-muted {
  color: var(--color-text-primary);
}
.text-center {
  text-align: center;
}
.hidden {
  display: none !important;
}
input[type=submit],
input[type=file],
select {
  background-color: var(--color-bg-surface);
}
textarea,
input[type=password],
input[type=text],
input[type=email] {
  background-color: var(--color-bg-surface);
}
textarea,
input[type=submit],
input[type=file],
input[type=password],
input[type=text],
input[type=email],
select {
  border: var(--border-width-md) solid var(--color-border-light);
  border-radius: var(--border-radius);
  color: var(--color-text-primary);
  cursor: pointer;
  padding: var(--space-sm) var(--space-md);
}
input[type=checkbox] {
  margin: 0;
}
table {
  font-size: var(--font-size-sm);
  border-collapse: separate;
  border-spacing: 0;
  background: var(--color-bg-surface);
  width: 100%;
  border-radius: var(--border-radius);
  border: var(--border-width-sm) solid var(--color-border-light);
  overflow: hidden;
}
table thead {
  font-family: var(--font-heading);
  color: var(--color-bg-surface);
  text-transform: none;
}
table thead tr th,
table thead tr td {
  padding: var(--space-md) var(--space-lg);
  color: var(--color-text-white);
  background: var(--color-bg-dark);
  white-space: nowrap;
  text-align: left;
  border-bottom: var(--border-width-sm) solid var(--color-border-light);
  font-weight: var(--font-weight-bold);
}
table thead a,
table thead a:is(:link, :visited, :hover, :active, :focus, :focus-visible) {
  color: var(--color-text-inverse);
  text-decoration-color: currentColor;
}
table tbody tr th,
table tbody tr td {
  padding: var(--space-sm) var(--space-md);
  white-space: nowrap;
  color: var(--color-text-primary);
  border-bottom: var(--border-width-sm) solid var(--color-border-light);
  text-align: left;
}
table tbody tr:last-child td {
  border-bottom: none;
}
table tbody tr:hover {
  background-color: var(--color-bg-hover);
  transition: background-color var(--transition-fast);
}
table tbody tr:nth-child(odd) {
  background-color: var(--color-bg-hover);
}
.sticky-table {
  overflow-x: auto;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  overscroll-behavior-x: contain;
}
.sticky-table table {
  overflow: visible;
}
.sticky-table table thead tr:first-child th:first-child,
.sticky-table table thead tr:first-child td:first-child {
  border-top-left-radius: calc(var(--border-radius) - var(--border-width-sm));
}
.sticky-table table thead tr:first-child th:last-child,
.sticky-table table thead tr:first-child td:last-child {
  border-top-right-radius: calc(var(--border-radius) - var(--border-width-sm));
}
.sticky-table table tbody tr:last-child th:first-child,
.sticky-table table tbody tr:last-child td:first-child {
  border-bottom-left-radius: calc(var(--border-radius) - var(--border-width-sm));
}
.sticky-table table tbody tr:last-child th:last-child,
.sticky-table table tbody tr:last-child td:last-child {
  border-bottom-right-radius: calc(var(--border-radius) - var(--border-width-sm));
}
.sticky-table--compare table thead h3 {
  color: var(--color-text-inverse);
  margin: var(--space-xs);
}
.sticky-table--compare table td {
  background-color: var(--color-bg-surface);
}
.sticky-table--compare table tbody tr td:nth-child(even) {
  background-color: var(--color-bg-hover);
}
.sticky-table--compare table thead tr th {
  background-color: var(--color-bg-dark);
  color: var(--color-text-white);
  border-right: var(--border-width-sm) solid var(--color-border-light);
}
.sticky-table table thead th.sticky-col,
.sticky-table table thead td.sticky-col,
.sticky-table--compare table thead th.sticky-col {
  position: -webkit-sticky;
  position: sticky;
  left: 0;
  z-index: var(--z-index-table-sticky-head);
  background-color: var(--color-bg-dark);
  background-clip: padding-box;
  box-shadow: 2px 0 5px rgba(0, 0, 0, 0.08);
}
.sticky-table table tbody th.sticky-col,
.sticky-table table tbody td.sticky-col,
.sticky-table--compare table tbody th.sticky-col {
  position: -webkit-sticky;
  position: sticky;
  left: 0;
  z-index: var(--z-index-table-sticky);
  background-color: var(--color-bg-surface);
  background-clip: padding-box;
  box-shadow: 2px 0 5px rgba(0, 0, 0, 0.08);
}
.sticky-table table tbody tr:hover th.sticky-col,
.sticky-table table tbody tr:hover td.sticky-col {
  background-color: var(--color-bg-hover);
}
body.waiting,
body.waiting * {
  cursor: wait;
}
.table-navigation {
  display: flex;
  justify-content: center;
  margin-top: var(--space-md);
}
.table-navigation .pagination {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  align-items: center;
}
.table-navigation .pagination li:not(:last-child) {
  margin-right: var(--space-xs);
}
.table-navigation .pagination .button {
  min-width: 32px;
  height: 32px;
  padding: 0 var(--space-xs);
  border-radius: var(--border-radius);
  border: var(--border-width-sm) solid var(--color-border-light);
  background-color: var(--color-bg-surface);
  color: var(--color-text-primary);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: background-color var(--transition-fast), color var(--transition-fast);
}
.table-navigation .pagination .button.button--primary,
.table-navigation .pagination .button.focus {
  background-color: var(--color-text-primary);
  color: var(--color-text-white);
  border-color: var(--color-text-primary);
}
.table-navigation .pagination .button:not(.button--primary):not(.focus):hover {
  background-color: var(--color-bg-hover);
}
.table-avatar-wrapper {
  display: flex;
  align-items: center;
  gap: var(--space-md);
}
.table-avatar-wrapper img {
  width: 30px;
  height: 30px;
  border-radius: var(--border-radius-circle);
}
.table-avatar-wrapper .participant {
  width: 130px;
  overflow: hidden;
  text-overflow: ellipsis;
}
.table-avatar-wrapper--followers {
  background: var(--color-bg-surface);
  border: var(--border-width-sm) solid var(--color-border-light);
  border-radius: var(--border-radius);
  padding: var(--space-xs) var(--space-sm);
  box-sizing: border-box;
  transition: background-color var(--transition-fast), border-color var(--transition-fast);
}
.table-avatar-wrapper--followers:hover {
  background: var(--color-bg-hover);
  border-color: var(--color-border-standard);
}
.table-first-pos {
  border-left: var(--border-width-xl) solid var(--color-pos-first);
}
.table-second-pos {
  border-left: var(--border-width-xl) solid var(--color-pos-second);
}
.table-third-pos {
  border-left: var(--border-width-xl) solid var(--color-pos-third);
}
.table-pos {
  border-left: var(--border-width-xl) solid var(--color-pos-four-five);
}
.scrollable-table-wrapper {
  max-height: 200px;
  overflow-y: auto;
  overflow-x: auto;
  border: var(--border-width-sm) solid var(--color-border-light);
  border-radius: var(--border-radius);
  background: var(--color-bg-surface);
}
.scrollable-table-wrapper table {
  border: none;
  border-radius: 0;
  margin: 0;
  overflow: visible;
}
.scrollable-table-wrapper table thead tr th,
.scrollable-table-wrapper table thead tr td {
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  z-index: 10;
  background: var(--color-bg-dark);
}
.main-area {
  display: grid;
  gap: var(--space-lg);
  background: var(--color-bg-main);
  overflow: auto;
  min-height: 900px;
  padding: var(--space-lg) 0;
  align-content: start;
  background-image:
    radial-gradient(
      ellipse 65% 55% at 50% 55%,
      rgba(190, 225, 255, 0.7) 0%,
      rgba(215, 235, 255, 0.35) 45%,
      rgba(255, 255, 255, 0) 75%);
  background-repeat: no-repeat;
  min-width: 0;
}
.side-area {
  font-size: var(--font-size-sm);
  background: var(--color-bg-main);
  padding: var(--space-lg) 0;
  min-width: 0;
  box-sizing: border-box;
}
.side-area h1,
.side-area h2,
.side-area h3 {
  font-size: var(--font-size-lg);
  margin: var(--space-sm) 0 var(--space-xs) 0;
  line-height: var(--line-height-tight);
}
.side-area--tree {
  background: var(--color-bg-surface);
}
.footer {
  background: var(--color-bg-hover-dark);
  font-weight: var(--font-weight-bold);
  color: var(--color-text-inverse);
}
.footer a,
.footer a:link,
.footer a:visited {
  color: var(--color-text-inverse);
}
.footer a:is(:hover, :focus-visible, :active) {
  color: var(--color-text-white);
  text-decoration: underline;
}
.content {
  display: grid;
  grid-template-columns: 20px minmax(0, 1fr) 20px;
  row-gap: var(--space-sm);
  font-size: var(--font-size-sm);
}
.content > * {
  grid-column: 2;
}
.content > .flex-row--world-records {
  grid-column: 1/-1;
}
.sub-content {
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
}
.hero-banner {
  width: 100%;
  box-sizing: border-box;
  background:
    linear-gradient(
      135deg,
      #030617 0%,
      #1e3a5f 100%);
  border-radius: var(--border-radius);
  padding: var(--space-lg) var(--space-md);
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.hero-body {
  display: flex;
  flex-direction: column;
  gap: var(--space-xs);
}
.hero-title {
  font-weight: var(--font-weight-bold);
  color: var(--color-text-inverse);
  margin: 0;
}
.hero-subtitle {
  color: var(--color-text-inverse);
  margin: 0;
}
.hardware-hero-section {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-lg);
  margin-bottom: var(--space-xl);
}
.hardware-hero-image-card {
  flex: 1 1 300px;
  max-width: 100%;
  background: var(--color-bg-surface);
  border: var(--border-width-sm) solid var(--color-border-subtle);
  border-radius: var(--border-radius);
  padding: var(--space-lg);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: var(--space-md);
  box-sizing: border-box;
}
.hardware-benchmark-image-wrapper {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  flex: 1;
}
.hardware-benchmark-image-wrapper img {
  max-width: 100%;
  max-height: 220px;
  height: auto;
  object-fit: contain;
}
.hardware-affiliate-actions {
  width: 100%;
  display: flex;
  justify-content: center;
  margin-top: auto;
}
.button--amazon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  background: #ff9900;
  color: #111111;
  font-weight: 600;
  font-size: 0.875rem;
  padding: 8px 18px;
  border-radius: var(--border-radius);
  border: 1px solid #e68a00;
  text-decoration: none;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.08);
  transition:
    background-color 0.15s ease,
    transform 0.1s ease,
    box-shadow 0.15s ease;
}
.button--amazon:hover {
  background: #f08c00;
  color: #000000;
  text-decoration: none;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.15);
  transform: translateY(-1px);
}
.button--amazon:active {
  transform: translateY(0);
  box-shadow: none;
}
.button--amazon i {
  font-size: 1.15rem;
}
.hardware-hero-stats-grid {
  flex: 2 1 320px;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: var(--space-md);
}
.hardware-hero-stat-card {
  background: var(--color-bg-surface);
  border: var(--border-width-sm) solid var(--color-border-subtle);
  border-radius: var(--border-radius);
  padding: var(--space-lg);
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  box-sizing: border-box;
}
.hardware-hero-stat-card h3 {
  font-size: var(--font-size-xl);
  font-weight: var(--font-weight-bold);
  color: var(--color-text-heading);
  margin: 0 0 var(--space-xs) 0;
  text-align: center;
}
.hardware-sub-label {
  color: var(--color-text-secondary);
  margin: 0 0 var(--space-sm) 0;
  text-align: center;
}
.hardware-stat-label {
  color: var(--color-text-secondary);
  margin: 0;
  text-align: center;
}
.hardware-family-link {
  color: var(--color-link);
  text-decoration: none;
  margin-top: var(--space-sm);
  text-align: center;
}
.hardware-family-link:hover {
  color: var(--color-link-hover);
  text-decoration: underline;
  text-underline-offset: 2px;
}
.hardware-tab-menu {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: var(--space-sm);
  margin-top: var(--space-sm);
  width: 100%;
}
.hardware-tab-menu .button {
  flex: 1 1 auto;
  text-align: center;
  padding: var(--space-sm) var(--space-md);
}
.image-modal {
  display: none;
  position: fixed;
  z-index: 1;
  padding: 50px 0 0 0;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  overflow: auto;
  background-color: rgb(0, 0, 0);
  background-color: rgba(0, 0, 0, 0.9);
}
.image-modal-content {
  margin: auto auto;
  display: block;
  max-width: 80%;
  max-height: 90%;
}
.image-wrapper {
  width: 100%;
  overflow: hidden;
}
.image {
  max-width: 100%;
  height: auto;
  display: block;
}
.benchmark-image-wrapper {
  background: black;
  border-radius: var(--border-radius);
  align-content: center;
}
.benchmark-image-wrapper img {
  border: var(--border-width-sm) solid var(--color-border-light);
  border-radius: var(--border-radius);
  width: 100%;
  max-width: 400px;
}
.list--stages {
  display: flex;
  flex-direction: column;
  gap: var(--space-xs);
  margin: 0;
  padding: 0;
  list-style: none;
}
.list li.stage-info {
  display: flex;
  flex-direction: column;
  gap: var(--space-xs);
  padding: var(--space-xs) 0;
  border-bottom: var(--border-width-sm) solid var(--color-border-light);
  box-sizing: border-box;
}
.list li.stage-info:last-child {
  border-bottom: none;
}
.stage-info-main {
  display: flex;
  flex-direction: column;
  gap: var(--space-xs);
  min-width: 0;
  width: 100%;
}
.stage-info-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-xs);
  width: 100%;
}
.stage-number {
  display: inline-flex;
  align-items: center;
  gap: var(--space-xs);
  font-family: var(--font-mono);
  font-size: var(--font-size-xs);
  font-weight: var(--font-weight-bold);
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--color-text-heading);
  background-color: var(--color-border-subtle);
  padding: var(--space-2xs) var(--space-sm);
  border-radius: var(--border-radius-xs);
  border: var(--border-width-sm) solid transparent;
  flex-shrink: 0;
}
.stage-number i {
  font-size: var(--font-size-2xs);
}
.stage-number--running {
  background-color: var(--color-success-bg);
  color: var(--color-success-text);
  border-color: var(--color-success-border);
}
.stage-number--running i {
  color: var(--color-success);
}
.stage-number--closed {
  background-color: var(--color-error-bg);
  color: var(--color-error-text);
  border-color: var(--color-error-border);
}
.stage-number--closed i {
  color: var(--color-error);
}
.stage-number--upcoming {
  background-color: var(--color-border-subtle);
  color: var(--color-text-secondary);
  border-color: var(--color-border-dashed);
}
.stage-number--upcoming i {
  color: var(--color-text-secondary);
}
.stage-info .stage-link {
  font-weight: var(--font-weight-semibold);
  display: inline-flex;
  align-items: baseline;
  gap: var(--space-sm);
  width: 100%;
  min-width: 0;
  white-space: normal;
  word-break: break-word;
  overflow-wrap: break-word;
  line-height: var(--line-height-tight);
}
.stage-info .stage-link span {
  min-width: 0;
  word-break: break-word;
  overflow-wrap: break-word;
}
.stage-info.active {
  background-color: var(--color-info-bg);
}
.stage-info.active .stage-link {
  font-weight: var(--font-weight-bold);
}
.stage-info .stage-link i {
  font-size: var(--font-size-xs);
  color: var(--color-text-muted);
  flex-shrink: 0;
}
.stage-info .stage-link:hover i {
  color: var(--color-link-hover);
}
.stage-info-meta {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: var(--space-xs) var(--space-md);
  font-size: var(--font-size-sm);
  color: var(--color-text-secondary);
}
.stage-meta-item {
  display: inline-flex;
  align-items: center;
  gap: var(--space-xs);
}
.stage-meta-rank {
  font-weight: var(--font-weight-bold);
  color: var(--color-text-primary);
}
.stage-meta-rank .fa-trophy {
  color: var(--color-warning);
  margin-right: var(--space-xs);
}
.stage-meta-rank.rank--gold .fa-trophy {
  color: var(--color-warning-star);
}
.stage-meta-rank.rank--silver .fa-trophy {
  color: var(--color-text-muted);
}
.stage-meta-rank.rank--bronze .fa-trophy {
  color: var(--color-warning);
}
.stage-info .text-muted .fa-trophy {
  color: var(--color-border-dashed);
  margin-right: var(--space-xs);
}
.stage-meta-score {
  font-family: var(--font-mono);
  font-variant-numeric: tabular-nums;
  font-weight: var(--font-weight-semibold);
  color: var(--color-text-primary);
}
.stage-info .text-muted {
  color: var(--color-text-muted);
}
.stage-info .score-link {
  font-family: var(--font-mono);
  font-variant-numeric: tabular-nums;
  font-weight: var(--font-weight-semibold);
}
.stage-info .target-icon {
  color: var(--color-error);
  margin-right: var(--space-xs);
}
.grid-box {
  display: grid;
  gap: var(--space-md);
}
.grid-box--submit-hardware {
  grid-template-columns: auto auto;
}
.grid-box--submit-hardware > div {
  display: flex;
  flex-direction: column;
}
.grid-box--submit-hardware img {
  max-width: 120px;
  max-height: 120px;
  object-fit: contain;
  margin: 0 auto;
  border-radius: var(--border-radius);
  border: var(--border-width-sm) solid var(--color-border-light);
}
.wall-submission-card {
  display: flex;
  flex-direction: column;
  border: var(--border-width-sm) solid var(--color-border-light);
  border-radius: var(--border-radius);
  background: var(--color-bg-surface);
  overflow: hidden;
  gap: 0;
  margin-bottom: var(--space-sm);
  transition: border-color var(--transition-fast), box-shadow var(--transition-fast);
}
.wall-submission-card:hover {
  border-color: var(--color-border-standard);
}
.grid-box--achievement,
.grid-box--partner {
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
}
.grid-box--highlight-submission,
.grid-box--submission-hardware {
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
}
.grid-box--compo,
.grid-box--profile,
.grid-box--submission-ranking {
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
}
.grid-box--benchmarks,
.grid-box--hardware-overview,
.grid-box--league-info,
.grid-box--news,
.grid-box--search {
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
}
.grid-box--profile-account-settings {
  grid-template-columns: repeat(auto-fit, minmax(min(280px, 100%), 500px));
}
.card,
.grid-box-card {
  display: flex;
  flex-direction: column;
  padding: var(--space-md);
  border-radius: var(--border-radius);
  background: var(--color-bg-surface);
  border: var(--border-width-sm) solid var(--color-border-light);
  font-size: var(--font-size-sm);
  min-width: 0;
}
.card__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-md);
  margin-bottom: var(--space-md);
}
.card__title,
.card-title {
  margin: 0;
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-bold);
  color: var(--color-text-primary);
}
.card > :is(h2, h3):first-child,
.grid-box-card > :is(h2, h3):first-child,
.card__body > :is(h2, h3):first-child,
.card-body > :is(h2, h3):first-child {
  margin-top: 0;
  margin-bottom: var(--space-md);
  font-size: var(--font-size-lg);
  line-height: var(--line-height-tight);
  display: flex;
  align-items: center;
  gap: var(--space-sm);
}
.card > :is(h2, h3):last-child,
.grid-box-card > :is(h2, h3):last-child,
.card__body > :is(h2, h3):last-child,
.card-body > :is(h2, h3):last-child {
  margin-bottom: 0;
}
.grid-box-card--benchmark-stats > :is(h2, h3):first-child {
  justify-content: center;
}
.card__body,
.card-body {
  flex: 1;
  min-width: 0;
}
.card__footer {
  display: flex;
  align-items: center;
  gap: var(--space-md);
  margin-top: var(--space-md);
  padding-top: var(--space-md);
  border-top: var(--border-width-sm) solid var(--color-border-subtle);
}
.grid-box-card--submit-hardware {
  flex-direction: column;
  flex: 1;
}
.grid-box-card--description {
  flex-direction: column;
  white-space: pre-line;
  overflow-wrap: break-word;
}
.card--sidebar-ranking,
.grid-box-card--sidebar-ranking,
.grid-box-card.grid-box-card--sidebar-ranking {
  position: relative;
  flex-direction: column;
  gap: var(--space-md);
  background: transparent;
  border: none;
  padding: 0;
  min-width: 0;
  overflow: hidden;
  box-sizing: border-box;
}
.grid-box-card--news {
  background: var(--color-bg-hover);
  position: relative;
  cursor: pointer;
  transition:
    transform var(--transition-base),
    box-shadow var(--transition-base),
    background-color var(--transition-base);
}
.grid-box-card--news .flex-row--news-footer a::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
}
.grid-box-card--news {
  flex-direction: column;
  text-align: left;
}
.grid-box-card--achievement {
  flex-direction: column;
  text-align: center;
}
.grid-box-card--benchmark-stats,
.grid-box-card--partner {
  flex-direction: column;
  text-align: center;
  justify-content: center;
  align-content: center;
}
.grid-box-card--benchmark-stats h4 {
  text-transform: uppercase;
  font-size: var(--font-size-xs);
  font-weight: var(--font-weight-medium);
  letter-spacing: 0.04em;
  color: var(--color-text-secondary);
  margin: 0;
}
.stat-status {
  color: var(--color-warning);
}
.grid-box-card--news:hover {
  background-color: var(--color-bg-hover);
  box-shadow: var(--shadow-md);
  transform: translateY(-2px);
}
.wall-card__body {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: var(--space-sm) var(--space-lg);
  padding: var(--space-sm) var(--space-md);
  flex-wrap: wrap;
  min-width: 0;
}
.wall-card__rankings {
  border-top: var(--border-width-sm) solid var(--color-border-light);
  background: var(--color-bg-subtle);
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--space-md);
  padding: var(--space-sm) var(--space-md);
  min-width: 0;
}
.wall-card__rankings .grid-spec {
  width: 100%;
  min-width: 0;
}
.wall-card__rankings .grid-spec-row {
  overflow: visible;
  border-bottom: none;
  padding: 0;
}
.wall-card__date {
  color: var(--color-text-secondary);
  font-size: var(--font-size-xs);
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
  flex-shrink: 0;
}
.wall-card__user {
  flex-shrink: 0;
}
.wall-card__user a {
  font-weight: var(--font-weight-semibold);
}
.wall-card__benchmark a {
  font-weight: var(--font-weight-semibold);
}
.wall-card__hardware {
  font-size: var(--font-size-xs);
  color: var(--color-text-primary);
}
.wall-card__cores {
  color: var(--color-text-secondary);
  font-size: var(--font-size-xs);
  background: var(--color-bg-alt);
  padding: var(--space-3xs) var(--space-2xs);
  border-radius: var(--border-radius-sm);
  white-space: nowrap;
  flex-shrink: 0;
}
.wall-card__cooling {
  flex-shrink: 0;
}
.wall-card__score {
  margin-left: auto;
  font-weight: var(--font-weight-bold);
  font-size: var(--font-size-base);
  white-space: nowrap;
  flex-shrink: 0;
}
.grid-box-card--benchmarks {
  flex-direction: column;
  padding: 0;
  border-radius: 0;
  background: none;
  border: 0;
}
.grid-box-card--benchmarks,
.grid-box-card--compo,
.grid-box-card--hardware-overview,
.grid-box-card--highlight-submission,
.grid-box-card--league-info,
.grid-box-card--login,
.grid-box-card--profile,
.grid-box-card--register,
.grid-box-card--reset-password,
.grid-box-card--search,
.grid-box-card--submission-hardware,
.grid-box-card--top-filter {
  flex-direction: column;
}
.card--competition,
.grid-box-card--compo {
  min-width: 0;
}
.card--competition .card-body,
.card--competition .card__body,
.grid-box-card--compo .card-body {
  min-width: 0;
  width: 100%;
  display: flex;
  flex-direction: column;
  flex: 1;
}
.card--competition .ranking-empty-card,
.grid-box-card--compo .ranking-empty-card {
  flex: 1;
}
.grid-box-card--highlight-submission {
  background: var(--color-bg-surface);
  flex-direction: column;
}
.card--hardware-header {
  gap: var(--space-md);
  margin-bottom: var(--space-lg);
}
.card--hardware-header .card__header {
  flex-wrap: wrap;
  gap: var(--space-sm);
  padding-bottom: var(--space-sm);
  border-bottom: var(--border-width-sm) solid var(--color-border-light);
  margin-bottom: 0;
}
.card--hardware-header .card__title {
  font-size: var(--font-size-xl);
  display: flex;
  align-items: center;
  gap: var(--space-sm);
}
.hardware-icon {
  color: var(--color-text-primary);
  font-size: var(--font-size-lg);
}
.hardware-header__badges {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-xs);
}
.hardware-header__badge {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2xs);
  padding: var(--space-2xs) var(--space-sm);
  border-radius: var(--border-radius-full);
  background: var(--color-bg-card);
  border: var(--border-width-sm) solid var(--color-border-light);
  color: var(--color-text-secondary);
  font-size: var(--font-size-xs);
  font-weight: var(--font-weight-medium);
  line-height: var(--line-height-normal);
}
.card--hardware-header .hardware-hero-stats-grid {
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: var(--space-sm);
}
.card--hardware-header .hardware-hero-stat-card {
  background: var(--color-bg-card);
  border-color: var(--color-border-light);
  padding: var(--space-md);
}
.card--hardware-header .hardware-hero-stat-card h3 {
  font-size: var(--font-size-2xl);
  line-height: var(--line-height-none);
  margin-bottom: var(--space-2xs);
}
.card--hardware-header .hardware-hero-stat-card .hardware-stat-label {
  font-size: var(--font-size-xs);
  font-weight: var(--font-weight-medium);
  text-transform: uppercase;
  letter-spacing: 0.04em;
}
.card--hardware-header .grid-spec {
  margin-top: var(--space-md);
}
.grid-box--benchmarks {
  align-items: start;
}
.grid-box--benchmarks .card__title {
  display: flex;
  align-items: center;
  gap: var(--space-sm);
  font-size: var(--font-size-md);
}
.benchmark-overview-column {
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
  min-width: 0;
}
.grid-spec {
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
  margin: 0;
  padding: 0;
  width: 100%;
}
.grid-spec-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: var(--space-md);
  padding: var(--space-xs) 0;
  overflow: auto;
  border-bottom: var(--border-width-sm) solid var(--color-border-light);
}
.grid-spec-row .table-avatar-wrapper > a {
  font-size: var(--font-size-lg);
}
.grid-spec-row--stacked {
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-xs);
  border-bottom: var(--border-width-sm) solid var(--color-border-light);
}
.grid-spec-row:last-child {
  border-bottom: none;
}
.grid-spec-row .attribute {
  display: block;
  color: var(--color-text-primary);
  flex-shrink: 0;
}
.grid-spec-row .attribute-nowrap {
  white-space: nowrap;
}
.grid-spec-row--stacked .attribute {
  color: var(--color-text-secondary);
  margin-bottom: var(--space-2xs);
}
.grid-spec-row .value {
  display: block;
  color: var(--color-text-primary);
}
.grid-spec-row--stacked .value {
  text-align: left;
  width: 100%;
  margin: 0;
}
.grid-spec-row .button {
  padding: var(--space-xs) var(--space-sm);
  font-size: var(--font-size-sm);
  line-height: var(--line-height-tight);
}
.card-actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-xs) var(--space-sm);
  margin-top: var(--space-2xl);
  padding-top: var(--space-lg);
  border-top: var(--border-width-sm) solid var(--color-border-light);
}
.card-actions .button {
  padding: var(--space-xs) var(--space-sm);
  font-size: var(--font-size-sm);
  gap: var(--space-xs);
}
.modal-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background-color: rgba(0, 0, 0, 0.6);
  z-index: var(--z-index-modal);
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity var(--transition-smooth), visibility var(--transition-smooth);
}
.modal-overlay.is-open {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}
.modal-dialog {
  background: var(--color-bg-main);
  width: 90%;
  max-width: 1200px;
  max-height: 85vh;
  border-radius: var(--border-radius);
  display: flex;
  flex-direction: column;
  overflow: hidden;
  box-shadow: var(--shadow-md);
}
.modal-dialog--result-history {
  max-width: var(--modal-width-md);
}
.modal-dialog--result-moderation {
  max-width: var(--modal-width-lg);
}
.modal-dialog--social {
  max-width: var(--modal-width-sm);
}
.modal-dialog__header,
.modal-header {
  padding: var(--space-sm) var(--space-lg);
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-bottom: var(--border-width-sm) solid var(--color-border-light);
}
.modal-dialog__body,
.modal-body {
  padding: var(--space-md);
  overflow-y: auto;
  flex-grow: 1;
}
.modal-dialog__footer,
.modal-footer {
  padding: var(--space-md) var(--space-lg);
  border-top: var(--border-width-sm) solid var(--color-border-light);
  text-align: right;
}
ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
.list {
  display: grid;
  gap: var(--space-md);
}
.list li {
  padding: var(--space-md) 0;
  border-bottom: var(--border-width-sm) solid var(--color-border-light);
}
.list li:last-child {
  border-bottom: none;
}
.list--scrollable {
  max-height: 160px;
  overflow-y: auto;
  padding-right: var(--space-xs);
}
.profile-banner-wrapper {
  position: relative;
  width: 100%;
}
.profile-banner-wrapper.has-banner .profile-banner img {
  width: 100%;
  aspect-ratio: 6 / 1;
  min-height: 120px;
  object-fit: cover;
  object-position: center;
  display: block;
  border-radius: var(--border-radius-xs);
}
.profile-banner-wrapper.has-banner .avatar-wrapper {
  position: absolute;
  bottom: 12px;
  left: 20px;
  z-index: 2;
}
.profile-banner-wrapper.has-banner .avatar {
  width: 120px;
  height: 120px;
  border-radius: var(--border-radius-circle);
  border: var(--border-width-md) solid var(--color-text-white);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.7);
  object-fit: cover;
  display: block;
}
.profile-banner-wrapper.no-banner .avatar-wrapper {
  position: static;
}
.profile-banner-wrapper.no-banner .avatar {
  width: 120px;
  height: 120px;
  border-radius: var(--border-radius-circle);
  object-fit: cover;
  display: block;
}
.side-area .content.executor ul,
.terms-and-conditions .content ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
.side-area .content.executor ul li {
  padding: var(--space-xs) 0;
}
.filter .list,
.filter ul {
  list-style: none;
  padding: 0;
  margin: 0;
}
.filter .list li,
.filter ul li {
  padding: var(--space-xs) 0;
}
.filter .filter-key {
  margin-bottom: var(--space-xs);
  font-weight: var(--font-weight-bold);
}
.filter .ranking-filter {
  display: flex;
  flex-wrap: wrap;
  overflow-x: visible;
  white-space: normal;
  gap: var(--space-sm);
  padding: var(--space-xs) 0 var(--space-sm) 0;
  margin-bottom: var(--space-md);
}
.filter-chips-bar {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: var(--space-xs);
  padding: var(--space-xs) var(--space-sm);
  background: var(--color-bg-surface);
  border-radius: var(--border-radius);
  border: var(--border-width-sm) solid var(--color-border-light);
  margin-top: var(--space-xs);
}
.filter-chips-list {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: var(--space-sm);
}
.filter-chip {
  display: inline-flex;
  align-items: center;
  gap: var(--space-sm);
  padding: var(--space-2xs) var(--space-sm);
  background: var(--color-bg-main);
  border: var(--border-width-sm) solid var(--color-border-light);
  border-radius: var(--border-radius-lg);
  color: var(--color-text-main);
  line-height: var(--line-height-normal);
}
.filter-chip-label {
  white-space: nowrap;
}
.filter-chip-remove {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: transparent;
  border: none;
  color: var(--color-text-muted);
  line-height: var(--line-height-none);
  padding: 0;
  margin: 0;
  cursor: pointer;
  border-radius: var(--border-radius-circle);
  width: 16px;
  height: 16px;
}
.filter-chip-remove:hover {
  color: var(--color-error);
  background: var(--color-error-bg);
}
.filter-chip-clear-all {
  background: transparent;
  border: none;
  color: var(--color-text-secondary);
  cursor: pointer;
  padding: var(--space-2xs) var(--space-sm);
  text-decoration: underline;
  line-height: var(--line-height-normal);
}
.filter-chip-clear-all:hover {
  color: var(--color-error);
}
.hardware-chips-list {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-xs);
  align-items: center;
  width: 100%;
}
.hardware-chip {
  display: inline-flex;
  align-items: center;
  padding: var(--space-2xs) var(--space-sm);
  background: var(--color-bg-main);
  border: var(--border-width-sm) solid var(--color-border-light);
  border-radius: var(--border-radius-lg);
  color: var(--color-text-primary);
  text-decoration: none;
  font-size: var(--font-size-xs);
  line-height: var(--line-height-normal);
  transition:
    background-color var(--transition-fast),
    border-color var(--transition-fast),
    color var(--transition-fast);
}
.hardware-chip:hover,
.hardware-chip:focus-visible {
  background: var(--color-bg-hover);
  border-color: var(--color-border-standard);
  color: var(--color-text-primary);
  text-decoration: none;
}
.hardware-chips-scroll {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-xs);
  max-height: 220px;
  overflow-y: auto;
  padding: var(--space-xs) 0;
  width: 100%;
  -webkit-overflow-scrolling: touch;
}
.hardware-expand-details {
  width: 100%;
  margin-top: var(--space-xs);
}
.hardware-expand-summary {
  display: inline-flex;
  align-items: center;
  gap: var(--space-xs);
  padding: var(--space-2xs) var(--space-sm);
  font-size: var(--font-size-xs);
  font-weight: var(--font-weight-medium);
  color: var(--color-text-primary);
  background: var(--color-bg-surface);
  border: var(--border-width-sm) solid var(--color-border-subtle);
  border-radius: var(--border-radius-lg);
  cursor: pointer;
  list-style: none;
  user-select: none;
  transition: background-color var(--transition-fast), border-color var(--transition-fast);
}
.hardware-expand-summary::-webkit-details-marker,
.hardware-expand-summary::marker {
  display: none;
}
.hardware-expand-summary:hover,
.hardware-expand-summary:focus-visible {
  background: var(--color-bg-hover);
  border-color: var(--color-border-standard);
}
.hardware-expand-summary .fa-chevron-down {
  color: var(--color-text-primary);
  font-size: var(--font-size-2xs);
  transition: transform var(--transition-fast);
}
.hardware-expand-details[open] > .hardware-expand-summary .fa-chevron-down {
  transform: rotate(180deg);
}
.hardware-expand-details .expand-text-less {
  display: none;
}
.hardware-expand-details[open] .expand-text-more {
  display: none;
}
.hardware-expand-details[open] .expand-text-less {
  display: inline;
}
.badge--count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 var(--space-xs);
  border-radius: var(--border-radius-full);
  background: var(--color-bg-hover);
  color: var(--color-text-secondary);
  border: var(--border-width-sm) solid var(--color-border-light);
  font-size: var(--font-size-2xs);
  font-weight: var(--font-weight-bold);
  min-width: 18px;
  height: 18px;
  line-height: var(--line-height-none);
  margin-left: var(--space-2xs);
}
.progressbar {
  border: var(--border-width-sm) solid var(--color-border-standard);
  margin: var(--space-xs) auto;
  width: 100px;
  height: 5px;
}
.progressbar > div {
  background: green;
  height: 100%;
  width: 100%;
}
.submission-suggestions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: var(--space-md);
  background-color: var(--color-info-bg);
  border: var(--border-width-sm) solid var(--color-info-border);
  border-left: var(--border-width-lg) solid var(--color-primary);
  padding: var(--space-md) var(--space-lg);
  border-radius: var(--border-radius-sm);
  max-width: 100%;
  box-sizing: border-box;
  overflow: auto;
}
.submission-suggestion {
  display: flex;
  align-items: center;
  gap: var(--space-sm);
  color: var(--color-primary-hover);
  min-width: 0;
}
.button.btn-participate .contest-name {
  font-weight: var(--font-weight-bold);
}
.button.btn-participate .stage-name {
  opacity: 0.9;
  font-weight: var(--font-weight-bold);
}
.submission-score-card {
  display: flex;
  gap: var(--space-sm);
  align-items: center;
  padding: 0 var(--space-md);
  max-width: 100%;
  box-sizing: border-box;
  font-family: var(--font-heading);
  margin-bottom: var(--space-md);
  font-size: var(--font-size-3xl);
}
.submission-score-card .avatar-wrapper {
  flex-shrink: 0;
}
.submission-score-card .avatar-wrapper a {
  text-decoration: none;
}
.submission-score-card .avatar {
  width: 120px;
  height: 120px;
  border-radius: var(--border-radius-circle);
  object-fit: cover;
  display: block;
}
.submission-score-card .score-details {
  display: flex;
  gap: var(--space-sm);
  flex-direction: column;
}
.submission-score-card .score-details-row {
  display: flex;
  gap: var(--space-sm);
  flex-direction: row;
  align-items: center;
}
.submission-score-card .user-info {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: var(--space-sm);
}
.submission-score-card .score-label,
.submission-score-card .connector-text {
  color: gray;
  font-style: italic;
}
.submission-score-card .temp-wrapper {
  display: inline-flex;
  align-items: center;
  background-color: var(--color-text-inverse);
  padding: var(--space-2xs) var(--space-sm);
  border-radius: var(--border-radius-xs);
  color: var(--color-text-secondary);
}
.submission-sub-score {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-sm) var(--space-md);
  margin-top: var(--space-sm);
  padding: var(--space-sm) var(--space-md);
  background-color: var(--color-text-inverse);
  border: var(--border-width-sm) solid var(--color-border-subtle);
  border-radius: var(--border-radius-sm);
  box-sizing: border-box;
}
.submission-sub-score .sub-score-item {
  display: inline-flex;
  align-items: center;
  gap: var(--space-xs);
}
.submission-sub-score .sub-score-name {
  color: var(--color-text-secondary);
  font-weight: var(--font-weight-bold);
}
.submission-sub-score .sub-score-name::after {
  content: ":";
}
.submission-sub-score .sub-score-val {
  font-weight: var(--font-weight-bold);
  color: var(--color-text-heading);
}
.form-row {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-sm);
  width: 100%;
  margin-bottom: var(--space-md);
}
.form-row.form-actions {
  display: flex;
  justify-content: flex-end;
  gap: var(--space-md);
  margin-top: var(--space-md);
}
.form-row.form-modal-actions {
  display: flex;
  justify-content: flex-end;
  gap: var(--space-md);
}
.form-group {
  display: flex;
  flex-direction: column;
  gap: var(--space-xs);
  flex: 1 1 auto;
  min-width: 0;
}
.form-group--benchmark {
  max-width: 400px;
}
.form-group--narrow,
.form-group--file-upload {
  max-width: 480px;
}
.form-group--row {
  flex-direction: row;
  align-items: center;
  flex-wrap: wrap;
}
.form-group--row > label {
  width: 100%;
}
.form-group--row > input {
  flex: 1;
}
.form-group-checkbox {
  display: flex;
  align-items: center;
  margin-top: var(--space-sm);
}
.form-group label {
  color: var(--color-text-primary);
}
.form-group-checkbox label {
  display: inline-flex;
  align-items: center;
  gap: var(--space-md);
  cursor: pointer;
  user-select: none;
  color: var(--color-text-primary);
}
.form-group-checkbox input[type=checkbox] {
  width: 20px;
  height: 20px;
  cursor: pointer;
  accent-color: var(--color-text-primary);
}
.form-group-checkbox input[type=checkbox].field-error {
  outline: 2px solid var(--color-error);
  outline-offset: 1px;
  border-color: var(--color-error);
}
.form-group-checkbox.has-error,
.form-group-checkbox.field-error {
  padding: var(--space-xs, 0.5rem);
  border: var(--border-width-sm) solid var(--color-error);
  border-radius: var(--border-radius-sm);
  background-color: var(--color-error-bg, rgba(220, 38, 38, 0.03));
}
.form-group-checkbox .binding-error {
  color: var(--color-error);
}
.form-group.has-error label {
  color: var(--color-error);
}
.form-group.has-error input {
  border-color: var(--color-error);
  background-color: var(--color-error-bg);
}
.form-filter {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: var(--space-xs);
}
#ranking_filter {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: var(--space-md) var(--space-lg);
  margin-bottom: var(--space-md);
}
#ranking_filter .form-group {
  display: flex;
  flex-direction: column;
  gap: var(--space-xs);
  flex: 0 1 auto;
  max-width: 100%;
}
.form-input-search-wrapper {
  position: relative;
  width: 100%;
}
.form-input-search-wrapper .search-icon {
  position: absolute;
  left: 12px;
  top: 50%;
  transform: translateY(-50%);
  color: var(--color-text-muted);
}
.form-input-search-wrapper input {
  width: 100%;
  padding-left: 36px;
  box-sizing: border-box;
}
.form-input-with-unit {
  display: flex;
  align-items: center;
  border: var(--border-width-md) solid var(--color-border-light);
  border-radius: var(--border-radius);
  padding-right: var(--space-md);
}
.form-input-with-unit .form-input {
  border: none;
  flex: 1;
  outline: none;
}
.form-input.field-error {
  border: var(--border-width-md) solid var(--color-error);
}
.form-input-with-unit .form-input.field-error {
  border: none;
}
.form-input-with-unit .field-error {
  border: none;
  outline: none;
}
.form-unit-suffix {
  color: var(--color-text-secondary);
  white-space: nowrap;
  user-select: none;
}
.form-input-with-unit.field-error {
  border: var(--border-width-md) solid var(--color-error);
}
.binding-error {
  color: var(--color-error);
}
.banner-image {
  margin: var(--space-sm) 0;
}
.banner-image img {
  width: 100%;
  height: auto;
  min-height: 100px;
  border-radius: var(--border-radius);
  display: block;
}
.competition-leader,
.timer,
.stages-sidebar-grid {
  display: flex;
  flex-direction: column;
  width: 100%;
}
.grid-box-card--stages,
.grid-box-card--leader,
.card--timer {
  background-color: var(--color-bg-main);
}
.stages-sidebar-grid .stage-info {
  padding: var(--space-xs) var(--space-sm);
  border-radius: var(--border-radius-xs);
  border-bottom-color: transparent;
}
.stages-sidebar-grid .stage-info.active {
  background-color: transparent;
}
.stages-sidebar-grid .stage-number {
  background-color: var(--color-border-subtle);
  border-color: transparent;
  color: var(--color-text-primary);
}
.stages-sidebar-grid .stage-number i {
  color: inherit;
}
.stages-sidebar-grid h2 {
  margin: 0 0 var(--space-md) 0;
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-bold);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--color-text-secondary);
  display: flex;
  align-items: center;
  gap: var(--space-sm);
  border-bottom: var(--border-width-sm) solid var(--color-border-subtle);
  padding-bottom: var(--space-sm);
}
.text-gold {
  color: var(--color-warning);
  filter: drop-shadow(0 0 4px rgba(245, 158, 11, 0.3));
}
.text-crimson {
  color: var(--color-error);
}
.text-amber {
  color: var(--color-warning);
}
.text-slate {
  color: var(--color-text-muted);
}
.competition-leader__header,
.timer__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-sm);
  margin-bottom: var(--space-md);
}
.competition-leader__header h2,
.timer__header h2 {
  margin: 0;
  display: flex;
  align-items: center;
  gap: var(--space-sm);
}
.competition-leader__hero {
  display: flex;
  align-items: center;
  gap: var(--space-md);
  padding-bottom: var(--space-md);
  margin-bottom: var(--space-md);
  border-bottom: var(--border-width-sm) solid var(--color-border-subtle);
}
.competition-leader__avatar-wrap {
  position: relative;
  flex-shrink: 0;
  display: inline-flex;
}
.competition-leader__avatar {
  width: 52px;
  height: 52px;
  border-radius: var(--border-radius-circle);
  object-fit: cover;
  border: var(--border-width-md) solid var(--color-warning-star);
  box-shadow: 0 0 10px rgba(234, 179, 8, 0.25);
}
.competition-leader__pos-pill {
  position: absolute;
  bottom: -2px;
  right: -4px;
  background: var(--color-warning-star);
  color: var(--color-text-heading);
  font-size: var(--font-size-2xs);
  font-weight: var(--font-weight-extrabold);
  font-family: var(--font-mono);
  padding: var(--space-2xs) var(--space-xs);
  border-radius: var(--border-radius-full);
  border: var(--border-width-sm) solid var(--color-text-white);
  line-height: var(--line-height-none);
  box-shadow: var(--shadow-sm);
}
.competition-leader__details {
  display: flex;
  flex-direction: column;
  gap: var(--space-xs);
  min-width: 0;
}
.competition-leader__identity {
  display: flex;
  align-items: center;
  gap: var(--space-sm);
  flex-wrap: wrap;
}
.competition-leader__name {
  font-size: var(--font-size-lg);
  font-weight: var(--font-weight-bold);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.competition-leader__subtext {
  display: flex;
  align-items: center;
  gap: var(--space-sm);
  font-size: var(--font-size-xs);
  color: var(--color-text-secondary);
  font-weight: var(--font-weight-medium);
}
.competition-leader__subtext i {
  font-size: var(--font-size-xs);
  color: var(--color-text-muted);
}
.competition-leader__stats {
  width: 100%;
}
.competition-leader__stat-box {
  background: var(--color-bg-main);
  border: var(--border-width-sm) solid var(--color-border-subtle);
  border-radius: var(--border-radius);
  padding: var(--space-md) var(--space-lg);
  display: flex;
  flex-direction: column;
  gap: var(--space-xs);
}
.competition-leader__stat-label {
  font-size: var(--font-size-xs);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--color-text-secondary);
  font-weight: var(--font-weight-semibold);
}
.competition-leader__stat-val {
  font-family: var(--font-mono);
  font-variant-numeric: tabular-nums;
  font-size: var(--font-size-xl);
  font-weight: var(--font-weight-extrabold);
  color: var(--color-text-heading);
  letter-spacing: 0.02em;
}
.competition-leader__stat-val small {
  font-size: var(--font-size-xs);
  font-weight: var(--font-weight-semibold);
  color: var(--color-text-secondary);
  margin-left: var(--space-2xs);
  text-transform: uppercase;
}
.timer__clock {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--space-sm);
}
.timer__tile {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background: var(--color-text-heading);
  border: var(--border-width-sm) solid var(--color-border-dark);
  border-radius: var(--border-radius);
  padding: var(--space-md) var(--space-xs) var(--space-sm);
  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.25);
  min-width: 0;
}
.timer__count {
  color: var(--color-text-inverse);
  font-family: var(--font-mono);
  font-variant-numeric: tabular-nums;
  font-size: var(--font-size-xl);
  font-weight: var(--font-weight-extrabold);
  line-height: var(--line-height-tight);
  letter-spacing: 0.02em;
}
.timer__unit {
  text-transform: uppercase;
  text-align: center;
  color: var(--color-text-secondary);
  font-size: var(--font-size-2xs);
  font-weight: var(--font-weight-bold);
  letter-spacing: 0.08em;
  margin-top: var(--space-xs);
}
.timer__clock--closed .timer__tile {
  background: var(--color-bg-main);
  border: var(--border-width-sm) solid var(--color-border-subtle);
  box-shadow: none;
}
.timer__clock--closed .timer__count {
  color: var(--color-text-muted);
}
.timer__clock--closed .timer__unit {
  color: var(--color-text-muted);
}
.timer__meta {
  margin-top: var(--space-md);
  padding-top: var(--space-xs);
  border-top: var(--border-width-sm) solid var(--color-border-subtle);
  display: flex;
  align-items: center;
  gap: var(--space-sm);
  font-size: var(--font-size-xs);
  color: var(--color-text-secondary);
}
.timer__meta i {
  color: var(--color-text-muted);
  font-size: var(--font-size-sm);
  flex-shrink: 0;
}
.timer__meta strong {
  color: var(--color-text-heading);
  font-weight: var(--font-weight-semibold);
}
.competition-leader__empty {
  display: flex;
  align-items: center;
  gap: var(--space-md);
  padding: var(--space-lg);
  background: var(--color-bg-main);
  border: var(--border-width-sm) dashed var(--color-border-dashed);
  border-radius: var(--border-radius);
  width: 100%;
  box-sizing: border-box;
}
.competition-leader__empty-icon {
  font-size: var(--font-size-2xl);
  color: var(--color-border-dashed);
  flex-shrink: 0;
}
.competition-leader__empty-details {
  display: flex;
  flex-direction: column;
  gap: var(--space-2xs);
  min-width: 0;
}
.competition-leader__empty-title {
  font-size: var(--font-size-md);
  font-weight: var(--font-weight-bold);
  color: var(--color-text-heading);
  letter-spacing: 0.04em;
  text-transform: uppercase;
}
.competition-leader__empty-subtitle {
  font-family: var(--font-mono);
  font-variant-numeric: tabular-nums;
  font-size: var(--font-size-sm);
  color: var(--color-text-secondary);
  letter-spacing: 0.02em;
}
.ranking-empty-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  gap: var(--space-md);
  padding: var(--space-xl) var(--space-lg);
  background: var(--color-bg-card);
  border: var(--border-width-sm) dashed var(--color-border-dashed);
  border-radius: var(--border-radius);
  box-sizing: border-box;
  width: 100%;
}
.ranking-empty-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 52px;
  height: 52px;
  border-radius: var(--border-radius-circle);
  background: var(--color-bg-surface);
  border: var(--border-width-sm) solid var(--color-border-subtle);
  color: var(--color-text-muted);
  font-size: var(--font-size-2xl);
  flex-shrink: 0;
  box-shadow: var(--shadow-sm);
}
.ranking-empty-icon--upcoming {
  border-color: rgba(2, 132, 199, 0.2);
}
.ranking-empty-icon--open {
  color: var(--color-warning-star);
  background: rgba(234, 179, 8, 0.08);
  border-color: rgba(234, 179, 8, 0.2);
}
.ranking-empty-icon--comments {
  border-color: rgba(99, 102, 241, 0.2);
}
.ranking-empty-content {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: var(--space-xs);
  min-width: 0;
}
.ranking-empty-title {
  margin: 0;
  font-size: var(--font-size-lg);
  font-weight: var(--font-weight-bold);
  color: var(--color-text-heading);
  letter-spacing: 0.01em;
}
.ranking-empty-subtitle {
  margin: 0;
  font-size: var(--font-size-md);
  color: var(--color-text-secondary);
  line-height: var(--line-height-normal);
}
.ranking-empty-subtitle strong {
  color: var(--color-text-heading);
  font-weight: var(--font-weight-semibold);
}
.season-points-list {
  display: flex;
  flex-direction: column;
  gap: var(--space-xs);
  width: 100%;
}
.season-points-item {
  display: flex;
  align-items: center;
  gap: var(--space-sm);
  padding: var(--space-xs) var(--space-sm);
  background: var(--color-bg-surface);
  border: var(--border-width-sm) solid var(--color-border-subtle);
  border-left: var(--border-width-lg) solid transparent;
  border-radius: var(--border-radius);
  transition: background-color var(--transition-fast), border-color var(--transition-fast);
  min-height: 48px;
  box-sizing: border-box;
}
.season-points-item:hover {
  background-color: var(--color-bg-hover);
  border-color: var(--color-border-standard);
}
.season-points-item--gold {
  border-left-color: var(--color-warning-star);
}
.season-points-item--silver {
  border-left-color: var(--color-text-muted);
}
.season-points-item--bronze {
  border-left-color: var(--color-warning);
}
.season-points-item__rank {
  font-family: var(--font-mono);
  font-size: var(--font-size-xs);
  font-weight: var(--font-weight-bold);
  color: var(--color-text-secondary);
  min-width: 36px;
  display: flex;
  align-items: center;
  gap: var(--space-2xs);
  flex-shrink: 0;
}
.season-points-item__rank--gold {
  color: var(--color-warning);
}
.season-points-item__rank--gold .fa-trophy {
  color: var(--color-warning-star);
  filter: drop-shadow(0 0 3px rgba(245, 158, 11, 0.4));
}
.season-points-item__rank--silver {
  color: var(--color-text-secondary);
}
.season-points-item__rank--silver .fa-trophy {
  color: var(--color-text-muted);
}
.season-points-item__rank--bronze {
  color: var(--color-warning);
}
.season-points-item__competitor {
  display: flex;
  align-items: center;
  gap: var(--space-sm);
  min-width: 0;
  flex: 1;
}
.season-points-item__avatar {
  width: 32px;
  height: 32px;
  border-radius: var(--border-radius-circle);
  object-fit: cover;
  flex-shrink: 0;
}
.season-points-item__avatar-flag {
  display: inline-flex;
  align-items: center;
  flex-shrink: 0;
}
.season-points-item__info {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}
.season-points-item__name {
  font-size: var(--font-size-sm);
  font-weight: var(--font-weight-bold);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.season-points-item__subtext {
  font-size: var(--font-size-xs);
  color: var(--color-text-secondary);
  display: flex;
  align-items: center;
  gap: var(--space-xs);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.season-points-item__sub-avatar {
  width: 16px;
  height: 16px;
  border-radius: var(--border-radius-circle);
  object-fit: cover;
  flex-shrink: 0;
}
.season-points-item__participants {
  font-size: var(--font-size-2xs);
  color: var(--color-text-secondary);
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-2xs);
}
.season-points-item__points {
  display: flex;
  align-items: baseline;
  gap: var(--space-2xs);
  background: var(--color-bg-main);
  border: var(--border-width-sm) solid var(--color-border-subtle);
  padding: var(--space-2xs) var(--space-sm);
  border-radius: var(--border-radius-xs);
  flex-shrink: 0;
  margin-left: auto;
}
.season-points-item__points-val {
  font-family: var(--font-mono);
  font-variant-numeric: tabular-nums;
  font-size: var(--font-size-sm);
  font-weight: var(--font-weight-extrabold);
  color: var(--color-text-heading);
}
.season-points-item__points-unit {
  font-size: var(--font-size-2xs);
  font-weight: var(--font-weight-semibold);
  color: var(--color-text-secondary);
  text-transform: uppercase;
}
.season-points-list__empty {
  display: flex;
  align-items: center;
  gap: var(--space-sm);
  padding: var(--space-lg);
  background: var(--color-bg-main);
  border: var(--border-width-sm) dashed var(--color-border-dashed);
  border-radius: var(--border-radius);
  color: var(--color-text-secondary);
  font-size: var(--font-size-sm);
  justify-content: center;
}
.compo-back-link,
.compo-back-link:link,
.compo-back-link:visited {
  display: inline-flex;
  align-items: center;
  gap: var(--space-xs);
  width: fit-content;
  color: var(--color-text-secondary);
  font-size: var(--font-size-sm);
  font-weight: var(--font-weight-medium);
  text-decoration: none;
  line-height: var(--line-height-normal);
  transition: color var(--transition-fast);
  padding: var(--space-xs) 0;
}
.compo-back-link:hover,
.compo-back-link:active,
.compo-back-link:focus-visible {
  color: var(--color-primary);
  text-decoration: none;
}
.compo-back-link i {
  font-size: var(--font-size-xs);
  flex-shrink: 0;
  transition: transform var(--transition-fast);
}
.compo-back-link:hover i,
.compo-back-link:focus-visible i {
  transform: translateX(-3px);
}
.compo-back-link + h2 {
  margin-top: 0;
}
.compo-scoreboard-cards {
  display: flex;
  flex-direction: column;
  gap: 0;
  width: 100%;
  background: var(--color-bg-surface);
  border: var(--border-width-sm) solid var(--color-border-subtle);
  border-radius: var(--border-radius);
  overflow: hidden;
}
.compo-scoreboard-header {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: var(--space-sm);
  padding: var(--space-sm) var(--space-md);
  background: var(--color-bg-dark);
  border-bottom: var(--border-width-sm) solid var(--color-border-light);
  border-left: var(--pos-marker-width) solid transparent;
  color: var(--color-text-white);
  font-size: var(--font-size-xs);
  font-weight: var(--font-weight-bold);
  text-transform: uppercase;
  letter-spacing: 0.04em;
  min-width: 0;
}
.compo-scoreboard-header__rank {
  display: inline-flex;
  align-items: center;
  min-width: 24px;
  font-variant-numeric: tabular-nums;
  color: var(--color-text-white);
  flex-shrink: 0;
}
.compo-scoreboard-header__content {
  display: flex;
  align-items: center;
  gap: var(--space-sm);
  justify-content: space-between;
  flex: 1;
  min-width: 0;
}
.compo-scoreboard-header__participant {
  flex: 1;
  min-width: 0;
}
.compo-scoreboard-header__total {
  flex-shrink: 0;
  text-align: right;
}
.compo-scoreboard-card {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: var(--space-sm);
  padding: var(--space-sm) var(--space-md);
  background: var(--color-bg-surface);
  border: none;
  border-bottom: var(--border-width-sm) solid var(--color-border-subtle);
  border-left: var(--pos-marker-width) solid var(--color-pos-four-five);
  border-radius: 0;
  transition: background-color var(--transition-fast), border-left-color var(--transition-fast);
}
.compo-scoreboard-card:last-child {
  border-bottom: none;
}
.compo-scoreboard-card:hover {
  background: var(--color-bg-hover);
}
.compo-scoreboard-card--first {
  border-left-color: var(--color-pos-first);
}
.compo-scoreboard-card--second {
  border-left-color: var(--color-pos-second);
}
.compo-scoreboard-card--third {
  border-left-color: var(--color-pos-third);
}
.compo-scoreboard-card__rank {
  display: inline-flex;
  align-items: center;
  min-width: 24px;
  height: 28px;
  font-size: var(--font-size-xs);
  font-weight: var(--font-weight-bold);
  color: var(--color-text-muted);
  font-variant-numeric: tabular-nums;
  flex-shrink: 0;
}
.compo-scoreboard-card__rank--first {
  color: var(--color-pos-first);
}
.compo-scoreboard-card__rank--second {
  color: var(--color-pos-second);
}
.compo-scoreboard-card__rank--third {
  color: var(--color-pos-third);
}
.compo-scoreboard-card__content {
  display: flex;
  flex-direction: column;
  gap: var(--space-2xs);
  flex: 1;
  min-width: 0;
}
.compo-scoreboard-card__header {
  display: flex;
  align-items: center;
  gap: var(--space-sm);
  justify-content: space-between;
}
.compo-scoreboard-card__participant {
  display: flex;
  align-items: center;
  gap: var(--space-sm);
  flex: 1;
  min-width: 0;
}
.compo-scoreboard-card__participant .country_flags {
  width: var(--space-md);
  height: var(--space-md);
  background-size: var(--space-md);
  flex-shrink: 0;
}
.compo-scoreboard-card__avatar {
  width: 28px;
  height: 28px;
  border-radius: var(--border-radius-circle);
  flex-shrink: 0;
  object-fit: cover;
}
.compo-scoreboard-card__name {
  min-width: 0;
  max-width: 100%;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  font-weight: var(--font-weight-bold);
  font-size: var(--font-size-sm);
}
.compo-scoreboard-card__total {
  display: flex;
  align-items: baseline;
  gap: var(--space-2xs);
  text-align: right;
  flex-shrink: 0;
}
.compo-scoreboard-card__total-value {
  font-size: var(--font-size-md);
  font-weight: var(--font-weight-bold);
  color: var(--color-text-heading);
  font-variant-numeric: tabular-nums;
}
.compo-scoreboard-card__total-unit {
  font-size: var(--font-size-2xs);
  font-weight: var(--font-weight-semibold);
  color: var(--color-text-secondary);
  text-transform: uppercase;
}
.compo-scoreboard-card__cups {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-sm);
  padding-top: var(--space-sm);
  border-top: var(--border-width-sm) solid var(--color-border-subtle);
}
.compo-scoreboard-cup {
  display: inline-flex;
  align-items: center;
  gap: var(--space-xs);
  padding: var(--space-3xs) var(--space-xs);
  background: var(--color-bg-main);
  border: var(--border-width-sm) solid var(--color-border-subtle);
  border-radius: var(--border-radius-sm);
  text-decoration: none;
  font-size: var(--font-size-2xs);
  line-height: var(--line-height-tight);
  transition: background-color var(--transition-fast), border-color var(--transition-fast);
}
.compo-scoreboard-cup:hover {
  background: var(--color-bg-hover);
  border-color: var(--color-border-standard);
}
.compo-scoreboard-cup--scored {
  background: var(--color-bg-card);
}
.compo-scoreboard-cup__label {
  font-weight: var(--font-weight-semibold);
  font-size: var(--font-size-2xs);
  letter-spacing: 0.3px;
  white-space: nowrap;
}
.compo-scoreboard-cup__stage-result {
  display: flex;
  align-items: baseline;
  gap: var(--space-2xs);
  white-space: nowrap;
}
.compo-scoreboard-cup__score {
  font-weight: var(--font-weight-semibold);
  font-size: var(--font-size-2xs);
  white-space: nowrap;
}
.compo-scoreboard-cup__points {
  color: var(--color-text-muted);
  font-size: var(--font-size-2xs);
  white-space: nowrap;
}
.compo-scoreboard-cup--scored .compo-scoreboard-cup__points {
  color: var(--color-text-primary);
  font-weight: var(--font-weight-bold);
}
.submission-score,
.compo-stage-score {
  display: inline-flex;
  align-items: center;
  gap: var(--space-xs);
  font-size: var(--font-size-sm);
  font-weight: var(--font-weight-bold);
  font-variant-numeric: tabular-nums;
  letter-spacing: 0.02em;
}
.submission-score i,
.compo-stage-score i {
  color: var(--color-primary);
  font-size: var(--font-size-xs);
  transition: color var(--transition-fast);
}
a.submission-score:hover i,
a.compo-stage-score:hover i {
  color: var(--color-link-hover);
}
.compo-stage-card__points-label {
  font-size: var(--font-size-2xs);
  font-weight: var(--font-weight-normal);
  color: var(--color-text-muted);
  text-transform: uppercase;
  letter-spacing: 0.04em;
  margin-left: var(--space-3xs);
}
.compo-stage-card__images {
  display: flex;
  align-items: center;
  gap: var(--space-xs);
  flex-wrap: wrap;
}
.compo-stage-card__thumb-link {
  display: block;
  line-height: 0;
  border-radius: var(--border-radius-xs);
  overflow: hidden;
  border: var(--border-width-sm) solid var(--color-border-subtle);
  transition: border-color var(--transition-fast), transform var(--transition-fast);
}
.compo-stage-card__thumb-link:hover {
  border-color: var(--color-primary);
  transform: scale(1.05);
}
.compo-stage-card__thumb {
  height: 36px;
  width: auto;
  object-fit: cover;
  display: block;
}
.stage-submissions-list {
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
  width: 100%;
}
.stage-submission-card {
  display: flex;
  flex-direction: column;
  gap: var(--space-xs);
  padding: var(--space-sm) var(--space-md);
  background: var(--color-bg-surface);
  border: var(--border-width-sm) solid var(--color-border-subtle);
  border-radius: var(--border-radius);
  transition: background-color var(--transition-fast), border-color var(--transition-fast);
}
.stage-submission-card:hover {
  background: var(--color-bg-hover);
  border-color: var(--color-border-standard);
}
.stage-submission-card__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-sm);
  flex-wrap: wrap;
}
.stage-submission-card__participants {
  display: flex;
  align-items: center;
  gap: var(--space-sm);
  flex-wrap: wrap;
  min-width: 0;
}
.stage-submission-card__participant {
  display: inline-flex;
  align-items: center;
  gap: var(--space-xs);
  min-width: 0;
}
.stage-submission-card__avatar {
  width: 24px;
  height: 24px;
  border-radius: var(--border-radius-circle);
  flex-shrink: 0;
  object-fit: cover;
}
.stage-submission-card__name {
  font-weight: var(--font-weight-semibold);
  font-size: var(--font-size-sm);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.stage-submission-card__meta {
  display: flex;
  align-items: center;
  gap: var(--space-md);
  flex-wrap: wrap;
  padding-top: var(--space-2xs);
  border-top: var(--border-width-sm) solid var(--color-border-subtle);
}
.stage-submission-card__hardware {
  display: inline-flex;
  align-items: center;
  gap: var(--space-xs);
  font-size: var(--font-size-xs);
  color: var(--color-text-secondary);
  word-break: break-word;
}
.today-submissions-wrapper.sticky-table,
.benchmark-ranking-wrapper.sticky-table,
.benchmark-first-spots-wrapper.sticky-table,
.benchmark-overview-wrapper.sticky-table {
  overflow-x: auto;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  overscroll-behavior-x: contain;
  scrollbar-width: thin;
  scrollbar-color: var(--color-border-standard) transparent;
  padding-bottom: var(--space-2xs);
}
.today-submissions-wrapper::-webkit-scrollbar,
.benchmark-ranking-wrapper::-webkit-scrollbar,
.benchmark-first-spots-wrapper::-webkit-scrollbar,
.benchmark-overview-wrapper::-webkit-scrollbar {
  height: 6px;
}
.today-submissions-wrapper::-webkit-scrollbar-track,
.benchmark-ranking-wrapper::-webkit-scrollbar-track,
.benchmark-first-spots-wrapper::-webkit-scrollbar-track,
.benchmark-overview-wrapper::-webkit-scrollbar-track {
  background: transparent;
}
.today-submissions-wrapper::-webkit-scrollbar-thumb,
.benchmark-ranking-wrapper::-webkit-scrollbar-thumb,
.benchmark-first-spots-wrapper::-webkit-scrollbar-thumb,
.benchmark-overview-wrapper::-webkit-scrollbar-thumb {
  background: var(--color-border-standard);
  border-radius: var(--border-radius-xs);
}
.today-submissions-wrapper::-webkit-scrollbar-thumb:hover,
.benchmark-ranking-wrapper::-webkit-scrollbar-thumb:hover,
.benchmark-first-spots-wrapper::-webkit-scrollbar-thumb:hover,
.benchmark-overview-wrapper::-webkit-scrollbar-thumb:hover {
  background: var(--color-text-secondary);
}
.today-submissions-table,
.benchmark-ranking-table,
.xtu-analyze-table,
.benchmark-overview-table,
.benchmark-first-spots-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  background: var(--color-bg-surface);
  border: var(--border-width-sm) solid var(--color-border-light);
  border-radius: var(--border-radius);
  overflow: hidden;
  white-space: nowrap;
}
.today-submissions-table thead tr th,
.benchmark-ranking-table thead tr th,
.xtu-analyze-table thead tr th,
.benchmark-overview-table thead tr th,
.benchmark-first-spots-table thead tr th {
  padding: var(--space-sm) var(--space-md);
  color: var(--color-text-white);
  background: var(--color-bg-dark);
  white-space: nowrap;
  text-align: left;
  border-bottom: var(--border-width-sm) solid var(--color-border-light);
  font-weight: var(--font-weight-bold);
  font-size: var(--font-size-xs);
  text-transform: uppercase;
  letter-spacing: 0.04em;
  vertical-align: middle;
}
.today-submissions-table thead tr th.col-rank,
.benchmark-ranking-table thead tr th.col-rank {
  width: 44px;
  text-align: center;
}
.today-submissions-table thead tr th.col-date,
.xtu-analyze-table thead tr th.col-date {
  width: 105px;
  text-align: left;
}
.today-submissions-table thead tr th.col-score,
.benchmark-ranking-table thead tr th.col-score,
.xtu-analyze-table thead tr th.col-score,
.benchmark-first-spots-table thead tr th.col-score {
  text-align: left;
}
.today-submissions-table thead tr th.col-cooling,
.today-submissions-table thead tr th.col-subspecs,
.benchmark-ranking-table thead tr th.col-cooling,
.xtu-analyze-table thead tr th.col-cooling,
.xtu-analyze-table thead tr th.col-motherboard,
.benchmark-first-spots-table thead tr th.col-cooling {
  text-align: left;
}
.today-submissions-table thead tr th.col-actions,
.today-submissions-table thead tr th.col-subs,
.xtu-analyze-table thead tr th.col-actions,
.benchmark-first-spots-table thead tr th.col-actions {
  text-align: right;
}
.today-submissions-table thead tr th.col-career-rank,
.today-submissions-table thead tr th.col-members,
.today-submissions-table thead tr th.col-status {
  text-align: center;
}
.today-submissions-table thead tr th.col-career-points {
  text-align: right;
}
.today-submissions-table tbody tr,
.benchmark-ranking-table tbody tr,
.xtu-analyze-table tbody tr,
.benchmark-overview-table tbody tr,
.benchmark-first-spots-table tbody tr {
  transition: background-color var(--transition-fast);
}
.today-submissions-table tbody tr:hover,
.benchmark-ranking-table tbody tr:hover,
.xtu-analyze-table tbody tr:hover,
.benchmark-overview-table tbody tr:hover,
.benchmark-first-spots-table tbody tr:hover {
  background-color: var(--color-bg-hover);
}
.today-submissions-table tbody tr td,
.benchmark-ranking-table tbody tr td,
.xtu-analyze-table tbody tr td,
.benchmark-overview-table tbody tr td,
.benchmark-first-spots-table tbody tr td {
  padding: var(--space-xs) var(--space-md);
  white-space: nowrap;
  color: var(--color-text-primary);
  border-bottom: var(--border-width-sm) solid var(--color-border-light);
  text-align: left;
  vertical-align: middle;
}
.today-submissions-table tbody tr:last-child td,
.benchmark-ranking-table tbody tr:last-child td,
.xtu-analyze-table tbody tr:last-child td,
.benchmark-overview-table tbody tr:last-child td,
.benchmark-first-spots-table tbody tr:last-child td {
  border-bottom: none;
}
.today-submissions-table tbody tr td.col-rank,
.benchmark-ranking-table tbody tr td.col-rank {
  width: 44px;
  text-align: center;
}
.benchmark-ranking-table tbody tr.table-first-pos td.col-rank {
  color: var(--color-pos-first);
}
.benchmark-ranking-table tbody tr.table-second-pos td.col-rank {
  color: var(--color-pos-second);
}
.benchmark-ranking-table tbody tr.table-third-pos td.col-rank {
  color: var(--color-pos-third);
}
.today-submissions-table tbody tr td.col-date,
.xtu-analyze-table tbody tr td.col-date {
  width: 105px;
  text-align: left;
}
.today-submissions-table tbody tr td.col-score,
.benchmark-ranking-table tbody tr td.col-score,
.xtu-analyze-table tbody tr td.col-score,
.benchmark-first-spots-table tbody tr td.col-score {
  text-align: left;
}
.today-submissions-table tbody tr td.col-score a,
.hw-records-table tbody tr td.col-score a,
.benchmark-ranking-table tbody tr td.col-score a,
.xtu-analyze-table tbody tr td.col-score a,
.benchmark-first-spots-table tbody tr td.col-score a {
  font-weight: var(--font-weight-semibold);
  font-variant-numeric: tabular-nums;
}
.today-submissions-table tbody tr td.col-cooling,
.benchmark-ranking-table tbody tr td.col-cooling,
.today-submissions-table tbody tr td.col-subspecs,
.xtu-analyze-table tbody tr td.col-cooling,
.xtu-analyze-table tbody tr td.col-motherboard,
.benchmark-first-spots-table tbody tr td.col-cooling {
  text-align: left;
  white-space: nowrap;
}
.today-submissions-table tbody tr td.col-subspecs .today-submission-card__subspecs {
  display: inline-flex;
  align-items: center;
  gap: var(--space-xs);
  flex-wrap: nowrap;
}
.today-submissions-table tbody tr td.col-career-rank,
.today-submissions-table tbody tr td.col-members,
.today-submissions-table tbody tr td.col-status {
  text-align: center;
}
.today-submissions-table tbody tr td.col-career-points {
  text-align: right;
}
.today-submissions-table thead tr th.col-type,
.today-submissions-table tbody tr td.col-type {
  text-align: right;
}
.today-submissions-table tbody tr td.col-actions,
.today-submissions-table tbody tr td.col-subs,
.xtu-analyze-table tbody tr td.col-actions {
  text-align: right;
}
.xtu-analyze-table thead tr th.col-clock,
.xtu-analyze-table tbody tr td.col-clock {
  text-align: right;
  white-space: nowrap;
}
.xtu-analyze-table tbody tr.is-active {
  background-color: var(--color-info-bg);
}
.today-submissions-table tbody tr td.col-subs .gpu-card__subs-badge,
.today-submissions-table tbody tr td.col-subs .cpu-card__subs-badge,
.today-submissions-table tbody tr td.col-subs .mb-card__subs-badge,
.today-submissions-table tbody tr td.col-subs .mem-card__subs-badge,
.today-submissions-table tbody tr td.col-subs .disk-card__subs-badge,
.today-submissions-table tbody tr td.col-subs .psu-card__subs-badge {
  margin-left: auto;
}
.today-submissions-table tbody tr td .cpu-card__spec,
.today-submissions-table tbody tr td .gpu-card__spec,
.today-submissions-table tbody tr td .mb-card__spec,
.today-submissions-table tbody tr td .mem-card__spec,
.today-submissions-table tbody tr td .psu-card__spec,
.today-submissions-table tbody tr td .disk-card__spec {
  margin-right: var(--space-2xs);
}
.today-submissions-table tbody tr td .cpu-card__spec:last-child,
.today-submissions-table tbody tr td .gpu-card__spec:last-child,
.today-submissions-table tbody tr td .mb-card__spec:last-child,
.today-submissions-table tbody tr td .mem-card__spec:last-child,
.today-submissions-table tbody tr td .psu-card__spec:last-child,
.today-submissions-table tbody tr td .disk-card__spec:last-child {
  margin-right: 0;
}
.today-submissions-table .col-actions .today-submission-card__actions,
.benchmark-first-spots-table .col-actions .today-submission-card__actions {
  display: inline-flex;
  align-items: center;
  gap: var(--space-xs);
  justify-content: flex-end;
  margin-left: 0;
}
.benchmark-overview-table thead tr th.col-beta,
.benchmark-overview-table tbody tr td.col-beta {
  width: 48px;
  text-align: center;
}
.benchmark-overview-table thead tr th.col-os,
.benchmark-overview-table tbody tr td.col-os {
  width: 72px;
  text-align: center;
}
.benchmark-overview-table tbody tr td.col-os i {
  margin: 0 var(--space-3xs);
  font-size: var(--font-size-sm);
  color: var(--color-text-secondary);
}
.benchmark-overview-table thead tr th.col-glp,
.benchmark-overview-table tbody tr td.col-glp,
.benchmark-overview-table thead tr th.col-hwp,
.benchmark-overview-table tbody tr td.col-hwp {
  width: 52px;
  text-align: center;
}
.benchmark-overview-table thead tr th.col-links,
.benchmark-overview-table tbody tr td.col-links {
  width: 80px;
  text-align: center;
}
.benchmark-overview-table tbody tr td.col-links .flex-row--benchmark-links {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-xs);
  flex-wrap: nowrap;
}
.benchmark-overview-table tbody tr td.col-links .flex-row--benchmark-links a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.benchmark-rule-link {
  display: inline-flex;
  align-items: center;
  gap: var(--space-3xs);
  font-size: var(--font-size-xs);
}
.benchmark-overview-table tbody tr td.empty-state {
  text-align: center;
  color: var(--color-text-secondary);
  padding: var(--space-md);
}
.team-cups-table thead tr th.col-trophy {
  width: 90px;
  text-align: center;
}
.team-cups-table tbody tr td.col-trophy {
  text-align: center;
}
.team-points-table thead tr th.col-points,
.team-points-table tbody tr td.col-points {
  text-align: right;
  white-space: nowrap;
}
.team-points-table thead tr th.col-metric,
.team-points-table tbody tr td.col-metric {
  text-align: left;
  white-space: nowrap;
  width: 110px;
}
.team-points-table thead tr th.col-league,
.team-points-table tbody tr td.col-league {
  width: 130px;
}
.team-members-table thead tr th.col-user,
.team-members-table tbody tr td.col-user {
  text-align: left;
}
.team-members-table thead tr th.col-role,
.team-members-table tbody tr td.col-role {
  width: 120px;
  text-align: left;
}
.team-members-table thead tr th.col-league,
.team-members-table tbody tr td.col-league {
  width: 140px;
  text-align: left;
}
.team-members-table thead tr th.col-joined,
.team-members-table tbody tr td.col-joined {
  width: 140px;
  text-align: left;
  white-space: nowrap;
}
.team-members-table thead tr th.col-visit,
.team-members-table tbody tr td.col-visit {
  width: 140px;
  text-align: left;
  white-space: nowrap;
}
.team-members-table thead tr th.col-actions,
.team-members-table tbody tr td.col-actions {
  width: 90px;
  text-align: right;
}
.team-members-table .col-actions .button {
  padding: var(--space-2xs) var(--space-xs);
  font-size: var(--font-size-xs);
  border-radius: var(--border-radius-xs);
}
.team-member-date {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2xs);
  font-size: var(--font-size-xs);
  color: var(--color-text-secondary);
}
.team-member-date i {
  font-size: var(--font-size-2xs);
  color: var(--color-text-muted);
  flex-shrink: 0;
}
.team-member-date__label {
  display: none;
}
.team-requests-table thead tr th.col-user,
.team-requests-table tbody tr td.col-user {
  text-align: left;
}
.team-requests-table thead tr th.col-team,
.team-requests-table tbody tr td.col-team {
  text-align: left;
  min-width: 140px;
}
.team-requests-table thead tr th.col-league,
.team-requests-table tbody tr td.col-league {
  width: 140px;
  text-align: left;
}
.team-requests-table thead tr th.col-joined,
.team-requests-table tbody tr td.col-joined {
  width: 140px;
  text-align: left;
  white-space: nowrap;
}
.team-requests-table thead tr th.col-visit,
.team-requests-table tbody tr td.col-visit {
  width: 140px;
  text-align: left;
  white-space: nowrap;
}
.team-requests-table thead tr th.col-actions,
.team-requests-table tbody tr td.col-actions {
  width: 90px;
  text-align: right;
}
.team-requests-table .col-actions .button {
  padding: var(--space-2xs) var(--space-xs);
  font-size: var(--font-size-xs);
  border-radius: var(--border-radius-xs);
}
.team-requests-action {
  margin-bottom: var(--space-md);
}
.today-submission-card__rank,
.member-card__rank,
.team-card__rank {
  font-size: var(--font-size-xs);
  font-weight: var(--font-weight-bold);
  color: var(--color-text-muted);
  flex-shrink: 0;
}
.today-submission-card__date {
  font-size: var(--font-size-xs);
  font-weight: var(--font-weight-medium);
  color: var(--color-text-muted);
  white-space: nowrap;
}
.today-submission-card__benchmark-link {
  font-weight: var(--font-weight-bold);
  font-size: var(--font-size-sm);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  display: inline-block;
  max-width: 100%;
  vertical-align: middle;
}
.today-submission-card__version {
  font-weight: var(--font-weight-normal);
  font-size: var(--font-size-xs);
  color: var(--color-text-secondary);
}
.today-submission-card__hardware {
  display: inline-flex;
  align-items: center;
  gap: var(--space-xs);
  font-size: var(--font-size-xs);
  font-weight: var(--font-weight-medium);
  white-space: nowrap;
}
.today-submission-card__clock {
  font-weight: var(--font-weight-normal);
  font-size: var(--font-size-xs);
  color: var(--color-text-secondary);
  white-space: nowrap;
}
.today-submission-card__subspecs {
  display: flex;
  align-items: center;
  gap: var(--space-xs);
  flex-wrap: wrap;
  font-size: var(--font-size-xs);
}
.today-submission-card__subspec {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2xs);
  padding: var(--border-width-sm) var(--space-xs);
  background: var(--color-bg-card);
  border: var(--border-width-sm) solid var(--color-border-subtle);
  border-radius: var(--border-radius-xs);
  color: var(--color-text-secondary);
  text-decoration: none;
  font-size: var(--font-size-xs);
  transition:
    color var(--transition-fast),
    border-color var(--transition-fast),
    background-color var(--transition-fast);
  word-break: break-word;
}
.today-submission-card__subspec:hover {
  color: var(--color-link);
  border-color: var(--color-border-standard);
  background: var(--color-bg-hover);
}
.today-submission-card__subspec i {
  font-size: var(--font-size-2xs);
  color: var(--color-text-muted);
  flex-shrink: 0;
}
.today-submission-card__participant {
  display: inline-flex;
  align-items: center;
  gap: var(--space-xs);
  white-space: nowrap;
}
.today-submission-card__avatar {
  width: 22px;
  height: 22px;
  border-radius: var(--border-radius-circle);
  border: var(--border-width-sm) solid var(--color-border-subtle);
  flex-shrink: 0;
  object-fit: cover;
}
.today-submission-card__name {
  font-weight: var(--font-weight-semibold);
  font-size: var(--font-size-xs);
  white-space: nowrap;
}
.today-submission-card__participant .country_flags {
  width: var(--space-md);
  height: var(--space-md);
  background-size: var(--space-md);
  flex-shrink: 0;
}
.today-submission-card__actions {
  display: inline-flex;
  align-items: center;
  gap: var(--space-xs);
  white-space: nowrap;
}
.today-submission-card__points {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2xs);
  white-space: nowrap;
}
.today-submission-card__points:empty {
  display: none;
}
.today-submission-card__point,
.hw-records-table__point {
  display: inline-flex;
  align-items: baseline;
  gap: var(--space-2xs);
  padding: var(--space-2xs) var(--space-xs);
  background: transparent;
  border: var(--border-width-sm) solid var(--color-text-secondary);
  border-radius: var(--border-radius-xs);
  color: var(--color-text-secondary);
  font-size: var(--font-size-xs);
  font-variant-numeric: tabular-nums;
  line-height: var(--line-height-none);
  text-decoration: none;
  flex-shrink: 0;
}
.today-submission-card__point:hover,
.hw-records-table__point:hover {
  text-decoration: none;
  color: var(--color-text-secondary);
}
.today-submission-card__point-value,
.hw-records-table__point-value {
  font-weight: var(--font-weight-bold);
  font-variant-numeric: tabular-nums;
  color: inherit;
}
.today-submission-card__point-label,
.hw-records-table__point-label {
  font-size: var(--font-size-3xs);
  font-weight: var(--font-weight-extrabold);
  letter-spacing: 0.05em;
  color: inherit;
  text-transform: uppercase;
}
.today-submission-card__point--wr {
  background: var(--color-warning-bg);
  border-color: var(--color-warning-border);
}
.today-submission-card__point--wr .today-submission-card__point-label {
  color: var(--color-warning);
}
.today-submission-card__point--wr .today-submission-card__point-value {
  color: var(--color-warning-text);
}
.today-submission-card__point--empty {
  opacity: 0.45;
}
.today-submission-card__comments {
  display: inline-flex;
  align-items: center;
  gap: var(--space-xs);
  padding: var(--space-2xs);
  color: var(--color-text-secondary);
  text-decoration: none;
  font-size: var(--font-size-2xs);
  font-weight: var(--font-weight-semibold);
  border-radius: var(--border-radius-xs);
  transition: color var(--transition-fast), background-color var(--transition-fast);
}
.today-submission-card__comments:hover {
  color: var(--color-link);
  background: var(--color-bg-hover);
}
.today-submission-card__comments i {
  font-size: var(--font-size-2xs);
}
.today-submission-card__vote {
  display: inline-flex;
  align-items: center;
}
.ranking-highlight-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--space-md);
  margin-bottom: var(--space-md);
}
.ranking-highlight-card {
  background: var(--color-bg-surface);
  border: var(--border-width-sm) solid var(--color-border-light);
  border-radius: var(--border-radius);
  padding: var(--space-sm) var(--space-md);
  display: flex;
  flex-direction: column;
  gap: var(--space-xs);
  box-shadow: var(--shadow-sm);
  font-size: var(--font-size-sm);
  color: var(--color-text-primary);
}
.ranking-highlight-card__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-xs);
}
.ranking-highlight-card__title {
  font-weight: var(--font-weight-semibold);
}
.ranking-highlight-card__body {
  display: flex;
  flex-direction: column;
  gap: var(--space-s);
}
.ranking-highlight-card__score-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-sm);
  flex-wrap: wrap;
}
.ranking-highlight-card__score {
  font-weight: var(--font-weight-semibold);
  font-variant-numeric: tabular-nums;
}
.ranking-highlight-card__meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-xs);
  flex-wrap: wrap;
}
.ranking-highlight-card__hardware {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2xs);
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.today-submission-card__cores,
.ranking-highlight-card__cores {
  font-weight: var(--font-weight-bold);
  flex-shrink: 0;
}
.ranking-highlight-card__points {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2xs);
  margin-left: auto;
}
.ranking-highlight-card__empty {
  display: flex;
  align-items: center;
  gap: var(--space-xs);
  padding: var(--space-xs) 0;
}
.benchmark-ranking-table thead tr th.col-benchmark {
  text-align: center;
  width: 60px;
}
.benchmark-ranking-table tbody tr td.col-benchmark {
  text-align: center;
  font-weight: var(--font-weight-medium);
}
.benchmark-first-spots-table thead tr th.col-benchmark,
.benchmark-first-spots-table tbody tr td.col-benchmark {
  width: 80px;
  text-align: left;
}
.benchmark-ranking-table thead tr th.col-points,
.benchmark-ranking-table tbody tr td.col-points {
  text-align: right;
}
.library-table-wrapper.sticky-table {
  overflow-x: auto;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  overscroll-behavior-x: contain;
}
.library-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  background: var(--color-bg-surface);
  border: var(--border-width-sm) solid var(--color-border-light);
  border-radius: var(--border-radius);
  overflow: hidden;
  white-space: nowrap;
}
.library-table thead tr th {
  padding: var(--space-sm) var(--space-md);
  color: var(--color-text-white);
  background: var(--color-bg-dark);
  white-space: nowrap;
  text-align: left;
  border-bottom: var(--border-width-sm) solid var(--color-border-light);
  font-weight: var(--font-weight-bold);
  font-size: var(--font-size-xs);
  text-transform: uppercase;
  letter-spacing: 0.04em;
  vertical-align: middle;
}
.library-table thead tr th.col-subs,
.library-table tbody tr td.col-subs {
  text-align: right;
}
.library-card__subs-label {
  display: none;
}
.library-table tbody tr {
  transition: background-color var(--transition-fast);
}
.library-table tbody tr:hover {
  background-color: var(--color-bg-hover);
}
.library-table tbody tr td {
  padding: var(--space-xs) var(--space-md);
  white-space: nowrap;
  color: var(--color-text-primary);
  border-bottom: var(--border-width-sm) solid var(--color-border-light);
  text-align: left;
  vertical-align: middle;
}
.library-table tbody tr:last-child td {
  border-bottom: none;
}
.library-table tbody tr td.col-model a {
  font-weight: var(--font-weight-semibold);
}
.xtu-profiles-table-wrapper.sticky-table,
.xtu-analyze-table-wrapper.sticky-table {
  overflow-x: auto;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  overscroll-behavior-x: contain;
}
.xtu-profiles-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  background: var(--color-bg-surface);
  border: var(--border-width-sm) solid var(--color-border-light);
  border-radius: var(--border-radius);
  overflow: hidden;
  white-space: nowrap;
}
.xtu-profiles-table thead tr th {
  padding: var(--space-sm) var(--space-md);
  color: var(--color-text-white);
  background: var(--color-bg-dark);
  white-space: nowrap;
  text-align: left;
  border-bottom: var(--border-width-sm) solid var(--color-border-light);
  font-weight: var(--font-weight-bold);
  font-size: var(--font-size-xs);
  text-transform: uppercase;
  letter-spacing: 0.04em;
  vertical-align: middle;
}
.xtu-profiles-table thead tr th.col-actions,
.xtu-profiles-table tbody tr td.col-actions {
  text-align: right;
}
.xtu-profiles-table tbody tr {
  transition: background-color var(--transition-fast);
}
.xtu-profiles-table tbody tr:hover {
  background-color: var(--color-bg-hover);
}
.xtu-profiles-table tbody tr td {
  padding: var(--space-xs) var(--space-md);
  white-space: nowrap;
  color: var(--color-text-primary);
  border-bottom: var(--border-width-sm) solid var(--color-border-light);
  text-align: left;
  vertical-align: middle;
}
.xtu-profiles-table tbody tr:last-child td {
  border-bottom: none;
}
.xtu-profiles-table tbody tr td.col-score a {
  font-weight: var(--font-weight-semibold);
}
.ranking-log-table-wrapper.sticky-table {
  overflow-x: auto;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  overscroll-behavior-x: contain;
}
.ranking-log-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  background: var(--color-bg-surface);
  border: var(--border-width-sm) solid var(--color-border-light);
  border-radius: var(--border-radius);
  overflow: hidden;
  white-space: nowrap;
}
.ranking-log-table thead tr th {
  padding: var(--space-sm) var(--space-md);
  color: var(--color-text-white);
  background: var(--color-bg-dark);
  white-space: nowrap;
  text-align: left;
  border-bottom: var(--border-width-sm) solid var(--color-border-light);
  font-weight: var(--font-weight-bold);
  font-size: var(--font-size-xs);
  text-transform: uppercase;
  letter-spacing: 0.04em;
  vertical-align: middle;
}
.ranking-log-table thead tr th.col-score,
.ranking-log-table tbody tr td.col-score,
.ranking-log-table thead tr th.col-points,
.ranking-log-table tbody tr td.col-points {
  text-align: right;
}
.ranking-log-table tbody tr {
  transition: background-color var(--transition-fast);
}
.ranking-log-table tbody tr:hover {
  background-color: var(--color-bg-hover);
}
.ranking-log-table tbody tr td {
  padding: var(--space-xs) var(--space-md);
  white-space: nowrap;
  color: var(--color-text-primary);
  border-bottom: var(--border-width-sm) solid var(--color-border-light);
  text-align: left;
  vertical-align: middle;
}
.ranking-log-table tbody tr:last-child td {
  border-bottom: none;
}
.ranking-log-table tbody tr td.col-score a {
  font-weight: var(--font-weight-semibold);
}
.user-points-table-wrapper.sticky-table {
  overflow-x: auto;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  overscroll-behavior-x: contain;
  scrollbar-width: thin;
  scrollbar-color: var(--color-border-standard) transparent;
  padding-bottom: var(--space-2xs);
}
.user-points-table-wrapper::-webkit-scrollbar {
  height: 6px;
}
.user-points-table-wrapper::-webkit-scrollbar-track {
  background: transparent;
}
.user-points-table-wrapper::-webkit-scrollbar-thumb {
  background: var(--color-border-standard);
  border-radius: var(--border-radius-xs);
}
.user-points-table-wrapper::-webkit-scrollbar-thumb:hover {
  background: var(--color-text-secondary);
}
.user-points-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  background: var(--color-bg-surface);
  border: var(--border-width-sm) solid var(--color-border-light);
  border-radius: var(--border-radius);
  overflow: hidden;
  white-space: nowrap;
}
.user-points-table thead tr th {
  padding: var(--space-sm) var(--space-md);
  color: var(--color-text-white);
  background: var(--color-bg-dark);
  white-space: nowrap;
  text-align: left;
  border-bottom: var(--border-width-sm) solid var(--color-border-light);
  font-weight: var(--font-weight-bold);
  font-size: var(--font-size-xs);
  text-transform: uppercase;
  letter-spacing: 0.04em;
  vertical-align: middle;
}
.user-points-table thead tr th.col-rank {
  width: 70px;
  text-align: center;
}
.user-points-table thead tr th.col-points {
  text-align: right;
  width: 100px;
}
.user-points-table thead tr th.col-date {
  text-align: right;
  width: 110px;
}
.user-points-table thead tr th.col-score {
  text-align: left;
}
.user-points-table thead tr th.col-cooling {
  text-align: left;
}
.user-points-table thead tr th.col-level {
  text-align: center;
  width: 80px;
}
.user-points-table tbody tr {
  transition: background-color var(--transition-fast);
}
.user-points-table tbody tr:hover {
  background-color: var(--color-bg-hover);
}
.user-points-table tbody tr td {
  padding: var(--space-xs) var(--space-md);
  white-space: nowrap;
  color: var(--color-text-primary);
  border-bottom: var(--border-width-sm) solid var(--color-border-light);
  text-align: left;
  vertical-align: middle;
}
.user-points-table tbody tr:last-child td {
  border-bottom: none;
}
.user-points-table tbody tr td.col-rank {
  text-align: center;
  font-weight: var(--font-weight-bold);
  white-space: nowrap;
}
.user-points-table tbody tr td.col-score a {
  font-weight: var(--font-weight-semibold);
  font-variant-numeric: tabular-nums;
}
.user-points-table tbody tr td.col-points {
  text-align: right;
  font-weight: var(--font-weight-semibold);
  font-variant-numeric: tabular-nums;
  color: var(--color-text-primary);
}
.user-points-table tbody tr td.col-date {
  text-align: right;
  font-size: var(--font-size-xs);
  color: var(--color-text-secondary);
}
.user-points-table tbody tr td.col-level {
  text-align: center;
}
.competitions-table-wrapper.sticky-table {
  overflow-x: auto;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  overscroll-behavior-x: contain;
  scrollbar-width: thin;
  scrollbar-color: var(--color-border-standard) transparent;
  padding-bottom: var(--space-2xs);
}
.competitions-table-wrapper::-webkit-scrollbar {
  height: 6px;
}
.competitions-table-wrapper::-webkit-scrollbar-track {
  background: transparent;
}
.competitions-table-wrapper::-webkit-scrollbar-thumb {
  background: var(--color-border-standard);
  border-radius: var(--border-radius-xs);
}
.competitions-table-wrapper::-webkit-scrollbar-thumb:hover {
  background: var(--color-text-secondary);
}
.competitions-overview-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  background: var(--color-bg-surface);
  border: var(--border-width-sm) solid var(--color-border-light);
  border-radius: var(--border-radius);
  overflow: hidden;
  white-space: nowrap;
}
.competitions-overview-table thead tr th {
  padding: var(--space-sm) var(--space-md);
  color: var(--color-text-white);
  background: var(--color-bg-dark);
  white-space: nowrap;
  text-align: left;
  border-bottom: var(--border-width-sm) solid var(--color-border-light);
  font-weight: var(--font-weight-bold);
  font-size: var(--font-size-xs);
  text-transform: uppercase;
  letter-spacing: 0.04em;
  vertical-align: middle;
}
.competitions-overview-table thead tr th.col-competition {
  width: auto;
}
.competitions-overview-table thead tr th.col-level,
.competitions-overview-table tbody tr td.col-level {
  width: 90px;
  text-align: center;
}
.competitions-overview-table thead tr th.col-stages,
.competitions-overview-table tbody tr td.col-stages {
  width: 80px;
  text-align: center;
}
.competitions-overview-table thead tr th.col-opens,
.competitions-overview-table tbody tr td.col-opens,
.competitions-overview-table thead tr th.col-closes,
.competitions-overview-table tbody tr td.col-closes {
  width: 175px;
  font-size: var(--font-size-xs);
  color: var(--color-text-secondary);
}
.competitions-overview-table thead tr th.col-winner,
.competitions-overview-table tbody tr td.col-winner {
  width: 220px;
}
.competitions-overview-table tbody tr {
  transition: background-color var(--transition-fast);
}
.competitions-overview-table tbody tr:hover {
  background-color: var(--color-bg-hover);
}
.competitions-overview-table tbody tr td {
  padding: var(--space-xs) var(--space-md);
  white-space: nowrap;
  color: var(--color-text-primary);
  border-bottom: var(--border-width-sm) solid var(--color-border-light);
  text-align: left;
  vertical-align: middle;
}
.competitions-overview-table tbody tr:last-child td {
  border-bottom: none;
}
.competitions-overview-table tbody tr td.col-competition a.competitions-table__name-link {
  font-weight: var(--font-weight-semibold);
  font-size: var(--font-size-sm);
}
.competitions-table__level {
  display: inline-block;
  padding: var(--space-3xs) var(--space-xs);
  font-size: var(--font-size-xs);
  font-weight: var(--font-weight-semibold);
  background-color: var(--color-bg-hover);
  color: var(--color-text-secondary);
  border: var(--border-width-sm) solid var(--color-border-subtle);
  border-radius: var(--border-radius-xs);
  white-space: nowrap;
}
.competitions-table__stages-label,
.competitions-table__date-label {
  display: none;
}
.competitions-table__stages-count {
  font-weight: var(--font-weight-semibold);
}
.competitions-table__winner {
  display: inline-flex;
  align-items: center;
  gap: var(--space-xs);
  white-space: nowrap;
}
.competitions-table__winner .gold-trophy {
  font-size: var(--font-size-xs);
  flex-shrink: 0;
}
.career-ranking-wrapper.sticky-table {
  overflow-x: auto;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  overscroll-behavior-x: contain;
  scrollbar-width: thin;
  scrollbar-color: var(--color-border-standard) transparent;
  padding-bottom: var(--space-2xs);
}
.career-ranking-wrapper::-webkit-scrollbar {
  height: 6px;
}
.career-ranking-wrapper::-webkit-scrollbar-track {
  background: transparent;
}
.career-ranking-wrapper::-webkit-scrollbar-thumb {
  background: var(--color-border-standard);
  border-radius: var(--border-radius-xs);
}
.career-ranking-wrapper::-webkit-scrollbar-thumb:hover {
  background: var(--color-text-secondary);
}
.career-ranking-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  background: var(--color-bg-surface);
  border: var(--border-width-sm) solid var(--color-border-light);
  border-radius: var(--border-radius);
  overflow: hidden;
  white-space: nowrap;
}
.career-ranking-table thead tr th {
  padding: var(--space-sm) var(--space-md);
  color: var(--color-text-white);
  background: var(--color-bg-dark);
  white-space: nowrap;
  text-align: left;
  border-bottom: var(--border-width-sm) solid var(--color-border-light);
  font-weight: var(--font-weight-bold);
  font-size: var(--font-size-xs);
  text-transform: uppercase;
  letter-spacing: 0.04em;
  vertical-align: middle;
}
.career-ranking-table thead tr th.col-rank {
  width: 60px;
  text-align: center;
}
.career-ranking-table thead tr th.col-user {
  width: auto;
}
.career-ranking-table thead tr th.col-team {
  width: auto;
}
.career-ranking-table thead tr th.col-points,
.career-ranking-table thead tr th.col-glp,
.career-ranking-table thead tr th.col-hwp {
  width: 110px;
  text-align: right;
}
.career-ranking-table tbody tr {
  transition: background-color var(--transition-fast);
}
.career-ranking-table tbody tr:hover {
  background-color: var(--color-bg-hover);
}
.career-ranking-table tbody tr td {
  padding: var(--space-xs) var(--space-md);
  white-space: nowrap;
  color: var(--color-text-primary);
  border-bottom: var(--border-width-sm) solid var(--color-border-light);
  text-align: left;
  vertical-align: middle;
}
.career-ranking-table tbody tr:last-child td {
  border-bottom: none;
}
.career-ranking-table tbody tr td.col-rank {
  text-align: center;
  font-weight: var(--font-weight-bold);
  color: var(--color-text-secondary);
  font-size: var(--font-size-xs);
  border-left: var(--border-width-xl) solid var(--color-pos-other);
}
.career-ranking-table tbody tr.table-first-pos td.col-rank {
  border-left-color: var(--color-pos-first);
  color: var(--color-pos-first);
}
.career-ranking-table tbody tr.table-second-pos td.col-rank {
  border-left-color: var(--color-pos-second);
  color: var(--color-pos-second);
}
.career-ranking-table tbody tr.table-third-pos td.col-rank {
  border-left-color: var(--color-pos-third);
  color: var(--color-pos-third);
}
.career-ranking-table tbody tr td.col-points,
.career-ranking-table tbody tr td.col-glp,
.career-ranking-table tbody tr td.col-hwp {
  text-align: right;
  font-variant-numeric: tabular-nums;
}
.career-ranking-table tbody tr td.col-points {
  font-weight: var(--font-weight-bold);
  color: var(--color-text-heading);
}
.career-ranking-card__points-label {
  display: none;
}
.team-career-ranking-wrapper.sticky-table {
  overflow-x: auto;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  overscroll-behavior-x: contain;
  scrollbar-width: thin;
  scrollbar-color: var(--color-border-standard) transparent;
  padding-bottom: var(--space-2xs);
}
.team-career-ranking-wrapper::-webkit-scrollbar {
  height: 6px;
}
.team-career-ranking-wrapper::-webkit-scrollbar-track {
  background: transparent;
}
.team-career-ranking-wrapper::-webkit-scrollbar-thumb {
  background: var(--color-border-standard);
  border-radius: var(--border-radius-xs);
}
.team-career-ranking-wrapper::-webkit-scrollbar-thumb:hover {
  background: var(--color-text-secondary);
}
.team-career-ranking-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  background: var(--color-bg-surface);
  border: var(--border-width-sm) solid var(--color-border-light);
  border-radius: var(--border-radius);
  overflow: hidden;
  white-space: nowrap;
}
.team-career-ranking-table thead tr th {
  padding: var(--space-sm) var(--space-md);
  color: var(--color-text-white);
  background: var(--color-bg-dark);
  white-space: nowrap;
  text-align: left;
  border-bottom: var(--border-width-sm) solid var(--color-border-light);
  font-weight: var(--font-weight-bold);
  font-size: var(--font-size-xs);
  text-transform: uppercase;
  letter-spacing: 0.04em;
  vertical-align: middle;
}
.team-career-ranking-table thead tr th.col-rank {
  width: 60px;
  text-align: center;
}
.team-career-ranking-table thead tr th.col-team {
  width: auto;
}
.team-career-ranking-table thead tr th.col-points,
.team-career-ranking-table thead tr th.col-glp,
.team-career-ranking-table thead tr th.col-hwp,
.team-career-ranking-table thead tr th.col-gltpp,
.team-career-ranking-table thead tr th.col-hwtpp,
.team-career-ranking-table thead tr th.col-cp,
.team-career-ranking-table thead tr th.col-members {
  width: 90px;
  text-align: right;
}
.team-career-ranking-table tbody tr {
  transition: background-color var(--transition-fast);
}
.team-career-ranking-table tbody tr:hover {
  background-color: var(--color-bg-hover);
}
.team-career-ranking-table tbody tr td {
  padding: var(--space-xs) var(--space-md);
  white-space: nowrap;
  color: var(--color-text-primary);
  border-bottom: var(--border-width-sm) solid var(--color-border-light);
  text-align: left;
  vertical-align: middle;
}
.team-career-ranking-table tbody tr:last-child td {
  border-bottom: none;
}
.team-career-ranking-table tbody tr td.col-rank {
  text-align: center;
  font-weight: var(--font-weight-bold);
  color: var(--color-text-secondary);
  font-size: var(--font-size-xs);
  border-left: var(--border-width-xl) solid var(--color-pos-other);
}
.team-career-ranking-table tbody tr.table-first-pos td.col-rank {
  border-left-color: var(--color-pos-first);
  color: var(--color-pos-first);
}
.team-career-ranking-table tbody tr.table-second-pos td.col-rank {
  border-left-color: var(--color-pos-second);
  color: var(--color-pos-second);
}
.team-career-ranking-table tbody tr.table-third-pos td.col-rank {
  border-left-color: var(--color-pos-third);
  color: var(--color-pos-third);
}
.team-career-ranking-table tbody tr td.col-points,
.team-career-ranking-table tbody tr td.col-glp,
.team-career-ranking-table tbody tr td.col-hwp,
.team-career-ranking-table tbody tr td.col-gltpp,
.team-career-ranking-table tbody tr td.col-hwtpp,
.team-career-ranking-table tbody tr td.col-cp,
.team-career-ranking-table tbody tr td.col-members {
  text-align: right;
  font-variant-numeric: tabular-nums;
}
.team-career-ranking-table tbody tr td.col-points {
  font-weight: var(--font-weight-bold);
  color: var(--color-text-heading);
}
.team-ranking-card__points-label,
.team-ranking-card__members-label {
  display: none;
}
.season-ranking-wrapper.sticky-table {
  overflow-x: auto;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  overscroll-behavior-x: contain;
  scrollbar-width: thin;
  scrollbar-color: var(--color-border-standard) transparent;
  padding-bottom: var(--space-2xs);
}
.season-ranking-wrapper::-webkit-scrollbar {
  height: 6px;
}
.season-ranking-wrapper::-webkit-scrollbar-track {
  background: transparent;
}
.season-ranking-wrapper::-webkit-scrollbar-thumb {
  background: var(--color-border-standard);
  border-radius: var(--border-radius-xs);
}
.season-ranking-wrapper::-webkit-scrollbar-thumb:hover {
  background: var(--color-text-secondary);
}
.season-ranking-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  background: var(--color-bg-surface);
  border: var(--border-width-sm) solid var(--color-border-light);
  border-radius: var(--border-radius);
  overflow: hidden;
  white-space: nowrap;
}
.season-ranking-table thead tr th {
  padding: var(--space-sm) var(--space-md);
  color: var(--color-text-white);
  background: var(--color-bg-dark);
  white-space: nowrap;
  text-align: left;
  border-bottom: var(--border-width-sm) solid var(--color-border-light);
  font-weight: var(--font-weight-bold);
  font-size: var(--font-size-xs);
  text-transform: uppercase;
  letter-spacing: 0.04em;
  vertical-align: middle;
}
.season-ranking-table thead tr th.col-rank {
  width: 60px;
  text-align: center;
}
.season-ranking-table thead tr th.col-user {
  width: auto;
}
.season-ranking-table thead tr th.col-team {
  width: auto;
}
.season-ranking-table thead tr th.col-points,
.season-ranking-table thead tr th.col-glp,
.season-ranking-table thead tr th.col-hwp,
.season-ranking-table thead tr th.col-cp {
  width: 110px;
  text-align: right;
}
.season-ranking-table tbody tr {
  transition: background-color var(--transition-fast);
}
.season-ranking-table tbody tr:hover {
  background-color: var(--color-bg-hover);
}
.season-ranking-table tbody tr td {
  padding: var(--space-xs) var(--space-md);
  white-space: nowrap;
  color: var(--color-text-primary);
  border-bottom: var(--border-width-sm) solid var(--color-border-light);
  text-align: left;
  vertical-align: middle;
}
.season-ranking-table tbody tr:last-child td {
  border-bottom: none;
}
.season-ranking-table tbody tr td.col-rank {
  text-align: center;
  font-weight: var(--font-weight-bold);
  color: var(--color-text-secondary);
  font-size: var(--font-size-xs);
  border-left: var(--border-width-xl) solid var(--color-pos-other);
}
.season-ranking-table tbody tr.table-first-pos td.col-rank {
  border-left-color: var(--color-pos-first);
  color: var(--color-pos-first);
}
.season-ranking-table tbody tr.table-second-pos td.col-rank {
  border-left-color: var(--color-pos-second);
  color: var(--color-pos-second);
}
.season-ranking-table tbody tr.table-third-pos td.col-rank {
  border-left-color: var(--color-pos-third);
  color: var(--color-pos-third);
}
.season-ranking-table tbody tr td.col-points,
.season-ranking-table tbody tr td.col-glp,
.season-ranking-table tbody tr td.col-hwp,
.season-ranking-table tbody tr td.col-cp {
  text-align: right;
  font-variant-numeric: tabular-nums;
}
.season-ranking-table tbody tr td.col-points {
  font-weight: var(--font-weight-bold);
  color: var(--color-text-heading);
}
.season-ranking-card__points-label {
  display: none;
}
.team-season-ranking-wrapper.sticky-table {
  overflow-x: auto;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  overscroll-behavior-x: contain;
  scrollbar-width: thin;
  scrollbar-color: var(--color-border-standard) transparent;
  padding-bottom: var(--space-2xs);
}
.team-season-ranking-wrapper::-webkit-scrollbar {
  height: 6px;
}
.team-season-ranking-wrapper::-webkit-scrollbar-track {
  background: transparent;
}
.team-season-ranking-wrapper::-webkit-scrollbar-thumb {
  background: var(--color-border-standard);
  border-radius: var(--border-radius-xs);
}
.team-season-ranking-wrapper::-webkit-scrollbar-thumb:hover {
  background: var(--color-text-secondary);
}
.team-season-ranking-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  background: var(--color-bg-surface);
  border: var(--border-width-sm) solid var(--color-border-light);
  border-radius: var(--border-radius);
  overflow: hidden;
  white-space: nowrap;
}
.team-season-ranking-table thead tr th {
  padding: var(--space-sm) var(--space-md);
  color: var(--color-text-white);
  background: var(--color-bg-dark);
  white-space: nowrap;
  text-align: left;
  border-bottom: var(--border-width-sm) solid var(--color-border-light);
  font-weight: var(--font-weight-bold);
  font-size: var(--font-size-xs);
  text-transform: uppercase;
  letter-spacing: 0.04em;
  vertical-align: middle;
}
.team-season-ranking-table thead tr th.col-rank {
  width: 60px;
  text-align: center;
}
.team-season-ranking-table thead tr th.col-team {
  width: auto;
}
.team-season-ranking-table thead tr th.col-points,
.team-season-ranking-table thead tr th.col-glp,
.team-season-ranking-table thead tr th.col-hwp,
.team-season-ranking-table thead tr th.col-gltpp,
.team-season-ranking-table thead tr th.col-hwtpp,
.team-season-ranking-table thead tr th.col-cp,
.team-season-ranking-table thead tr th.col-members {
  width: 90px;
  text-align: right;
}
.team-season-ranking-table tbody tr {
  transition: background-color var(--transition-fast);
}
.team-season-ranking-table tbody tr:hover {
  background-color: var(--color-bg-hover);
}
.team-season-ranking-table tbody tr td {
  padding: var(--space-xs) var(--space-md);
  white-space: nowrap;
  color: var(--color-text-primary);
  border-bottom: var(--border-width-sm) solid var(--color-border-light);
  text-align: left;
  vertical-align: middle;
}
.team-season-ranking-table tbody tr:last-child td {
  border-bottom: none;
}
.team-season-ranking-table tbody tr td.col-rank {
  text-align: center;
  font-weight: var(--font-weight-bold);
  color: var(--color-text-secondary);
  font-size: var(--font-size-xs);
  border-left: var(--border-width-xl) solid var(--color-pos-other);
}
.team-season-ranking-table tbody tr.table-first-pos td.col-rank {
  border-left-color: var(--color-pos-first);
  color: var(--color-pos-first);
}
.team-season-ranking-table tbody tr.table-second-pos td.col-rank {
  border-left-color: var(--color-pos-second);
  color: var(--color-pos-second);
}
.team-season-ranking-table tbody tr.table-third-pos td.col-rank {
  border-left-color: var(--color-pos-third);
  color: var(--color-pos-third);
}
.team-season-ranking-table tbody tr td.col-points,
.team-season-ranking-table tbody tr td.col-glp,
.team-season-ranking-table tbody tr td.col-hwp,
.team-season-ranking-table tbody tr td.col-gltpp,
.team-season-ranking-table tbody tr td.col-hwtpp,
.team-season-ranking-table tbody tr td.col-cp,
.team-season-ranking-table tbody tr td.col-members {
  text-align: right;
  font-variant-numeric: tabular-nums;
}
.team-season-ranking-table tbody tr td.col-points {
  font-weight: var(--font-weight-bold);
  color: var(--color-text-heading);
}
.team-season-ranking-card__points-label,
.team-season-ranking-card__members-label {
  display: none;
}
.country-league-ranking-wrapper.sticky-table {
  overflow-x: auto;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  overscroll-behavior-x: contain;
  scrollbar-width: thin;
  scrollbar-color: var(--color-border-standard) transparent;
  padding-bottom: var(--space-2xs);
}
.country-league-ranking-wrapper::-webkit-scrollbar {
  height: 6px;
}
.country-league-ranking-wrapper::-webkit-scrollbar-track {
  background: transparent;
}
.country-league-ranking-wrapper::-webkit-scrollbar-thumb {
  background: var(--color-border-standard);
  border-radius: var(--border-radius-xs);
}
.country-league-ranking-wrapper::-webkit-scrollbar-thumb:hover {
  background: var(--color-text-secondary);
}
.country-league-ranking-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  background: var(--color-bg-surface);
  border: var(--border-width-sm) solid var(--color-border-light);
  border-radius: var(--border-radius);
  overflow: hidden;
  white-space: nowrap;
}
.country-league-ranking-table thead tr th {
  padding: var(--space-sm) var(--space-md);
  color: var(--color-text-white);
  background: var(--color-bg-dark);
  white-space: nowrap;
  text-align: left;
  border-bottom: var(--border-width-sm) solid var(--color-border-light);
  font-weight: var(--font-weight-bold);
  font-size: var(--font-size-xs);
  text-transform: uppercase;
  letter-spacing: 0.04em;
  vertical-align: middle;
}
.country-league-ranking-table thead tr th.col-rank {
  width: 60px;
  text-align: center;
}
.country-league-ranking-table thead tr th.col-country {
  width: auto;
}
.country-league-ranking-table thead tr th.col-points,
.country-league-ranking-table thead tr th.col-glp,
.country-league-ranking-table thead tr th.col-hwp,
.country-league-ranking-table thead tr th.col-cp,
.country-league-ranking-table thead tr th.col-members {
  width: 90px;
  text-align: right;
}
.country-league-ranking-table tbody tr {
  transition: background-color var(--transition-fast);
}
.country-league-ranking-table tbody tr:hover {
  background-color: var(--color-bg-hover);
}
.country-league-ranking-table tbody tr td {
  padding: var(--space-xs) var(--space-md);
  white-space: nowrap;
  color: var(--color-text-primary);
  border-bottom: var(--border-width-sm) solid var(--color-border-light);
  text-align: left;
  vertical-align: middle;
}
.country-league-ranking-table tbody tr:last-child td {
  border-bottom: none;
}
.country-league-ranking-table tbody tr td.col-rank {
  text-align: center;
  font-weight: var(--font-weight-bold);
  color: var(--color-text-secondary);
  font-size: var(--font-size-xs);
  border-left: var(--border-width-xl) solid var(--color-pos-other);
}
.country-league-ranking-table tbody tr.table-first-pos td.col-rank {
  border-left-color: var(--color-pos-first);
  color: var(--color-pos-first);
}
.country-league-ranking-table tbody tr.table-second-pos td.col-rank {
  border-left-color: var(--color-pos-second);
  color: var(--color-pos-second);
}
.country-league-ranking-table tbody tr.table-third-pos td.col-rank {
  border-left-color: var(--color-pos-third);
  color: var(--color-pos-third);
}
.country-league-ranking-table tbody tr td.col-points,
.country-league-ranking-table tbody tr td.col-glp,
.country-league-ranking-table tbody tr td.col-hwp,
.country-league-ranking-table tbody tr td.col-cp,
.country-league-ranking-table tbody tr td.col-members {
  text-align: right;
  font-variant-numeric: tabular-nums;
}
.country-league-ranking-table tbody tr td.col-points {
  font-weight: var(--font-weight-bold);
  color: var(--color-text-heading);
}
.country-league-ranking-card__points-label,
.country-league-ranking-card__members-label {
  display: none;
}
.global-masters-wrapper.sticky-table {
  overflow-x: auto;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  overscroll-behavior-x: contain;
  scrollbar-width: thin;
  scrollbar-color: var(--color-border-standard) transparent;
  padding-bottom: var(--space-2xs);
}
.global-masters-wrapper::-webkit-scrollbar {
  height: 6px;
}
.global-masters-wrapper::-webkit-scrollbar-track {
  background: transparent;
}
.global-masters-wrapper::-webkit-scrollbar-thumb {
  background: var(--color-border-standard);
  border-radius: var(--border-radius-xs);
}
.global-masters-wrapper::-webkit-scrollbar-thumb:hover {
  background: var(--color-text-secondary);
}
.global-masters-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  background: var(--color-bg-surface);
  border: var(--border-width-sm) solid var(--color-border-light);
  border-radius: var(--border-radius);
  overflow: hidden;
  white-space: nowrap;
}
.global-masters-table thead tr th {
  padding: var(--space-sm) var(--space-md);
  color: var(--color-text-white);
  background: var(--color-bg-dark);
  white-space: nowrap;
  text-align: left;
  border-bottom: var(--border-width-sm) solid var(--color-border-light);
  font-weight: var(--font-weight-bold);
  font-size: var(--font-size-xs);
  text-transform: uppercase;
  letter-spacing: 0.04em;
  vertical-align: middle;
}
.global-masters-table thead tr th.col-rank {
  width: 60px;
  text-align: center;
}
.global-masters-table thead tr th.col-user {
  width: auto;
}
.global-masters-table thead tr th.col-team {
  width: auto;
}
.global-masters-table thead tr th.col-points,
.global-masters-table thead tr th.col-wrp,
.global-masters-table thead tr th.col-glp {
  width: 110px;
  text-align: right;
}
.global-masters-table tbody tr {
  transition: background-color var(--transition-fast);
}
.global-masters-table tbody tr:hover {
  background-color: var(--color-bg-hover);
}
.global-masters-table tbody tr td {
  padding: var(--space-xs) var(--space-md);
  white-space: nowrap;
  color: var(--color-text-primary);
  border-bottom: var(--border-width-sm) solid var(--color-border-light);
  text-align: left;
  vertical-align: middle;
}
.global-masters-table tbody tr:last-child td {
  border-bottom: none;
}
.global-masters-table tbody tr td.col-rank {
  text-align: center;
  font-weight: var(--font-weight-bold);
  color: var(--color-text-secondary);
  font-size: var(--font-size-xs);
}
.global-masters-table tbody tr.table-first-pos td.col-rank {
  color: var(--color-pos-first);
}
.global-masters-table tbody tr.table-second-pos td.col-rank {
  color: var(--color-pos-second);
}
.global-masters-table tbody tr.table-third-pos td.col-rank {
  color: var(--color-pos-third);
}
.global-masters-table tbody tr td.col-points,
.global-masters-table tbody tr td.col-wrp,
.global-masters-table tbody tr td.col-glp {
  text-align: right;
  font-variant-numeric: tabular-nums;
}
.global-masters-table tbody tr td.col-points {
  font-weight: var(--font-weight-bold);
  color: var(--color-text-heading);
}
.global-masters-card__points-label {
  display: none;
}
.hardware-masters-wrapper.sticky-table {
  overflow-x: auto;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  overscroll-behavior-x: contain;
  scrollbar-width: thin;
  scrollbar-color: var(--color-border-standard) transparent;
  padding-bottom: var(--space-2xs);
}
.hardware-masters-wrapper::-webkit-scrollbar {
  height: 6px;
}
.hardware-masters-wrapper::-webkit-scrollbar-track {
  background: transparent;
}
.hardware-masters-wrapper::-webkit-scrollbar-thumb {
  background: var(--color-border-standard);
  border-radius: var(--border-radius-xs);
}
.hardware-masters-wrapper::-webkit-scrollbar-thumb:hover {
  background: var(--color-text-secondary);
}
.hardware-masters-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  background: var(--color-bg-surface);
  border: var(--border-width-sm) solid var(--color-border-light);
  border-radius: var(--border-radius);
  overflow: hidden;
  white-space: nowrap;
}
.hardware-masters-table thead tr th {
  padding: var(--space-sm) var(--space-md);
  color: var(--color-text-white);
  background: var(--color-bg-dark);
  white-space: nowrap;
  text-align: left;
  border-bottom: var(--border-width-sm) solid var(--color-border-light);
  font-weight: var(--font-weight-bold);
  font-size: var(--font-size-xs);
  text-transform: uppercase;
  letter-spacing: 0.04em;
  vertical-align: middle;
}
.hardware-masters-table thead tr th.col-rank {
  width: 60px;
  text-align: center;
}
.hardware-masters-table thead tr th.col-user {
  width: auto;
}
.hardware-masters-table thead tr th.col-team {
  width: auto;
}
.hardware-masters-table thead tr th.col-points,
.hardware-masters-table thead tr th.col-2dp,
.hardware-masters-table thead tr th.col-3dp {
  width: 110px;
  text-align: right;
}
.hardware-masters-table tbody tr {
  transition: background-color var(--transition-fast);
}
.hardware-masters-table tbody tr:hover {
  background-color: var(--color-bg-hover);
}
.hardware-masters-table tbody tr td {
  padding: var(--space-xs) var(--space-md);
  white-space: nowrap;
  color: var(--color-text-primary);
  border-bottom: var(--border-width-sm) solid var(--color-border-light);
  text-align: left;
  vertical-align: middle;
}
.hardware-masters-table tbody tr:last-child td {
  border-bottom: none;
}
.hardware-masters-table tbody tr td.col-rank {
  text-align: center;
  font-weight: var(--font-weight-bold);
  color: var(--color-text-secondary);
  font-size: var(--font-size-xs);
}
.hardware-masters-table tbody tr.table-first-pos td.col-rank {
  color: var(--color-pos-first);
}
.hardware-masters-table tbody tr.table-second-pos td.col-rank {
  color: var(--color-pos-second);
}
.hardware-masters-table tbody tr.table-third-pos td.col-rank {
  color: var(--color-pos-third);
}
.hardware-masters-table tbody tr td.col-points,
.hardware-masters-table tbody tr td.col-2dp,
.hardware-masters-table tbody tr td.col-3dp {
  text-align: right;
  font-variant-numeric: tabular-nums;
}
.hardware-masters-table tbody tr td.col-points {
  font-weight: var(--font-weight-bold);
  color: var(--color-text-heading);
}
.hardware-masters-card__points-label {
  display: none;
}
.compo-stage-wrapper {
  overflow-x: auto;
}
.compo-stage-wrapper::-webkit-scrollbar {
  height: 6px;
}
.compo-stage-wrapper::-webkit-scrollbar-track {
  background: var(--color-bg-subtle);
}
.compo-stage-wrapper::-webkit-scrollbar-thumb {
  background: var(--color-border-standard);
  border-radius: var(--border-radius-xs);
}
.compo-stage-wrapper::-webkit-scrollbar-thumb:hover {
  background: var(--color-text-secondary);
}
.compo-stage-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  background: var(--color-bg-surface);
  border: var(--border-width-sm) solid var(--color-border-light);
  border-radius: var(--border-radius);
  overflow: hidden;
  white-space: nowrap;
}
.compo-stage-table thead tr th {
  padding: var(--space-sm) var(--space-md);
  color: var(--color-text-white);
  background: var(--color-bg-dark);
  white-space: nowrap;
  text-align: left;
  border-bottom: var(--border-width-sm) solid var(--color-border-light);
  font-weight: var(--font-weight-bold);
  font-size: var(--font-size-xs);
  text-transform: uppercase;
  letter-spacing: 0.04em;
  vertical-align: middle;
}
.compo-stage-table thead tr th.col-rank {
  width: 60px;
  text-align: center;
}
.compo-stage-table thead tr th.col-competitor {
  width: auto;
}
.compo-stage-table thead tr th.col-score {
  width: 200px;
}
.compo-stage-table thead tr th.col-points {
  width: 120px;
  text-align: right;
}
.compo-stage-table thead tr th.col-submissions {
  width: 200px;
}
.compo-stage-table tbody tr {
  transition: background-color var(--transition-fast);
}
.compo-stage-table tbody tr:hover {
  background-color: var(--color-bg-hover);
}
.compo-stage-table tbody tr td {
  padding: var(--space-xs) var(--space-md);
  white-space: nowrap;
  color: var(--color-text-primary);
  border-bottom: var(--border-width-sm) solid var(--color-border-light);
  text-align: left;
  vertical-align: middle;
}
.compo-stage-table tbody tr:last-child td {
  border-bottom: none;
}
.compo-stage-table tbody tr td.col-rank {
  text-align: center;
  font-weight: var(--font-weight-bold);
  color: var(--color-text-muted);
  font-size: var(--font-size-xs);
  font-variant-numeric: tabular-nums;
}
.compo-stage-table tbody tr.table-first-pos td.col-rank {
  color: var(--color-pos-first);
}
.compo-stage-table tbody tr.table-second-pos td.col-rank {
  color: var(--color-pos-second);
}
.compo-stage-table tbody tr.table-third-pos td.col-rank {
  color: var(--color-pos-third);
}
.compo-stage-table tbody tr td.col-competitor .today-submission-card__participant {
  display: inline-flex;
  align-items: center;
  gap: var(--space-xs);
}
.compo-stage-table tbody tr td.col-score {
  white-space: nowrap;
}
.compo-stage-table tbody tr td.col-points {
  text-align: right;
  font-weight: var(--font-weight-bold);
  color: var(--color-text-heading);
  font-variant-numeric: tabular-nums;
}
.compo-stage-table tbody tr td.col-submissions {
  vertical-align: middle;
}
@media screen and (max-width: 1200px) {
  .today-submissions-wrapper.sticky-table,
  .benchmark-ranking-wrapper.sticky-table,
  .member-table-wrapper.sticky-table,
  .team-table-wrapper.sticky-table,
  .team-cups-wrapper.sticky-table,
  .team-points-wrapper.sticky-table,
  .team-members-wrapper.sticky-table,
  .team-requests-wrapper.sticky-table,
  .gpu-table-wrapper.sticky-table,
  .cpu-table-wrapper.sticky-table,
  .mb-table-wrapper.sticky-table,
  .mem-table-wrapper.sticky-table,
  .cooling-table-wrapper.sticky-table,
  .psu-table-wrapper.sticky-table,
  .disk-table-wrapper.sticky-table,
  .hw-records-table-wrapper.sticky-table,
  .library-table-wrapper.sticky-table,
  .xtu-profiles-table-wrapper.sticky-table,
  .xtu-analyze-table-wrapper.sticky-table,
  .ranking-log-table-wrapper.sticky-table,
  .user-points-table-wrapper.sticky-table,
  .competitions-table-wrapper.sticky-table,
  .career-ranking-wrapper.sticky-table,
  .team-career-ranking-wrapper.sticky-table,
  .season-ranking-wrapper.sticky-table,
  .team-season-ranking-wrapper.sticky-table,
  .country-league-ranking-wrapper.sticky-table,
  .global-masters-wrapper.sticky-table,
  .hardware-masters-wrapper.sticky-table,
  .compo-stage-wrapper.sticky-table {
    overflow-x: visible;
  }
  .today-submissions-table {
    display: block;
    width: 100%;
    background: transparent;
    border: none;
  }
  .today-submissions-table thead {
    display: none;
  }
  .today-submissions-table tbody {
    display: block;
    width: 100%;
    background: var(--color-bg-surface);
    border: var(--border-width-sm) solid var(--color-border-subtle);
    border-radius: var(--border-radius);
    overflow: hidden;
  }
  .today-submissions-table tbody tr {
    display: grid;
    grid-template-columns: 1fr auto;
    grid-template-rows: auto;
    align-items: center;
    gap: var(--space-2xs);
    padding: var(--space-sm) var(--space-md);
    background: var(--color-bg-surface);
    border: none;
    border-bottom: var(--border-width-sm) solid var(--color-border-subtle);
    border-left: var(--pos-marker-width) solid transparent;
    border-radius: 0;
    margin-bottom: 0;
    white-space: normal;
    transition: background-color var(--transition-fast), border-left-color var(--transition-fast);
  }
  .today-submissions-table tbody tr:last-child {
    border-bottom: none;
  }
  .today-submissions-table tbody tr:hover {
    background-color: var(--color-bg-hover);
    border-left-color: var(--color-primary);
  }
  .today-submissions-table tbody tr td {
    display: block;
    padding: 0;
    border: none;
    background: transparent;
    white-space: normal;
  }
  .benchmark-overview-table {
    display: table;
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    background: var(--color-bg-surface);
    border: var(--border-width-sm) solid var(--color-border-light);
  }
  .benchmark-overview-table thead {
    display: table-header-group;
  }
  .benchmark-overview-table thead tr {
    display: table-row;
  }
  .benchmark-overview-table thead tr th {
    display: table-cell;
    padding: var(--space-xs) var(--space-md);
    vertical-align: middle;
  }
  .benchmark-overview-table tbody {
    display: table-row-group;
    width: auto;
    background: transparent;
    border: none;
  }
  .benchmark-overview-table tbody tr {
    display: table-row;
    background: transparent;
    border: none;
    border-radius: 0;
    margin-bottom: 0;
    padding: 0;
  }
  .benchmark-overview-table tbody tr:hover {
    background-color: var(--color-bg-hover);
    border-color: transparent;
    box-shadow: none;
  }
  .benchmark-overview-table tbody tr td {
    display: table-cell;
    padding: var(--space-xs) var(--space-md);
    border-bottom: var(--border-width-sm) solid var(--color-border-light);
    background: transparent;
    white-space: nowrap;
    vertical-align: middle;
  }
  .benchmark-overview-table tbody tr:last-child td {
    border-bottom: none;
  }
  .today-submissions-table.has-rank tbody tr {
    grid-template-columns: auto 1fr auto;
  }
  .today-submissions-wrapper .today-submissions-table tbody tr td.col-rank {
    order: 1;
    width: auto;
    display: inline-flex;
    align-items: center;
  }
  .today-submissions-wrapper .today-submissions-table tbody tr td.col-date {
    order: 1;
    grid-column: 1 / -1;
    width: 100%;
    display: flex;
    align-items: center;
    font-size: var(--font-size-xs);
    color: var(--color-text-secondary);
  }
  .today-submissions-wrapper .today-submissions-table tbody tr td.col-benchmark {
    order: 2;
    grid-column: 1;
    min-width: 0;
    overflow: hidden;
    padding-right: var(--space-xs);
  }
  .today-submissions-wrapper .today-submissions-table.has-rank tbody tr td.col-benchmark {
    grid-column: 2;
  }
  .today-submissions-wrapper .today-submissions-table tbody tr td.col-score {
    order: 3;
    grid-column: -2 / -1;
    justify-self: end;
    text-align: right;
  }
  .today-submissions-wrapper .today-submissions-table tbody tr td.col-score a {
    font-weight: var(--font-weight-semibold);
  }
  .today-submissions-wrapper .today-submissions-table tbody tr td.col-hardware {
    order: 4;
    grid-column: 1;
    min-width: 0;
    padding: var(--space-2xs) 0;
    padding-right: var(--space-xs);
    display: flex;
    align-items: center;
  }
  .today-submissions-wrapper .today-submissions-table.has-rank tbody tr td.col-hardware {
    grid-column: 2;
  }
  .today-submissions-wrapper .today-submissions-table tbody tr td.col-hardware:empty {
    display: none;
  }
  .today-submissions-wrapper .today-submissions-table tbody tr td.col-hardware .today-submission-card__hardware {
    max-width: 100%;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    display: inline-flex;
    align-items: center;
  }
  .today-submissions-wrapper .today-submissions-table tbody tr td.col-hardware .today-submission-card__hardware span:not(.today-submission-card__cores):not(.ranking-highlight-card__cores):not(.today-submission-card__clock) {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    min-width: 0;
  }
  .today-submissions-wrapper .today-submissions-table tbody tr td.col-hardware .today-submission-card__clock {
    flex-shrink: 0;
    white-space: nowrap;
  }
  .today-submissions-wrapper .today-submissions-table tbody tr td.col-user {
    order: 5;
    grid-column: -2 / -1;
    justify-self: end;
    text-align: right;
    min-width: 0;
    padding: var(--space-2xs) 0;
    display: flex;
    align-items: center;
    justify-content: flex-end;
  }
  .today-submissions-wrapper .today-submissions-table tbody tr td.col-user .today-submission-card__participant {
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    gap: var(--space-xs);
    max-width: 100%;
    min-width: 0;
  }
  .today-submissions-wrapper .today-submissions-table tbody tr td.col-user .today-submission-card__name {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    display: inline-block;
    vertical-align: middle;
    max-width: 140px;
  }
  .today-submissions-wrapper .today-submissions-table tbody tr td.col-points {
    order: 6;
    grid-column: 1;
    justify-self: start;
    align-self: center;
    display: inline-flex;
    align-items: center;
    padding-right: var(--space-xs);
  }
  .today-submissions-wrapper .today-submissions-table.has-rank tbody tr td.col-points {
    grid-column: 2;
  }
  .today-submissions-wrapper .today-submissions-table tbody tr td.col-points:empty {
    display: none;
  }
  .today-submission-card__point,
  .hw-records-table__point {
    border: none;
    padding: 0;
    background: transparent;
  }
  .today-submission-card__point--wr {
    background: transparent;
  }
  .today-submission-card__points {
    gap: var(--space-xs);
  }
  .today-submissions-wrapper .today-submissions-table tbody tr td.col-actions {
    order: 7;
    grid-column: -2 / -1;
    justify-self: end;
    text-align: right;
    align-self: center;
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
  }
  .today-submissions-wrapper .today-submissions-table tbody tr td.col-actions .today-submission-card__actions {
    margin-left: 0;
    display: inline-flex;
    align-items: center;
    gap: var(--space-xs);
  }
  .today-submissions-wrapper .today-submissions-table tbody tr td.col-actions .vote-pill,
  .today-submission-card__vote .vote-pill {
    padding: 0;
    height: 22px;
    font-size: var(--font-size-2xs);
    border: var(--border-width-sm) solid var(--color-border-subtle);
    border-radius: var(--border-radius-full);
    box-shadow: none;
    background-color: var(--color-bg-surface);
    line-height: var(--line-height-none);
  }
  .today-submissions-wrapper .today-submissions-table tbody tr td.col-actions .vote-pill:hover,
  .today-submission-card__vote .vote-pill:hover {
    border-color: var(--color-border-standard);
  }
  .today-submissions-wrapper .today-submissions-table tbody tr td.col-actions .vote-pill__btn,
  .today-submission-card__vote .vote-pill__btn {
    padding: 0 var(--space-s);
    font-size: var(--font-size-2xs);
    gap: var(--space-2xs);
    color: var(--color-text-secondary);
    line-height: 20px;
    height: 100%;
  }
  .today-submissions-wrapper .today-submissions-table tbody tr td.col-actions .vote-pill__btn:hover,
  .today-submission-card__vote .vote-pill__btn:hover {
    color: var(--color-link);
  }
  .today-submissions-wrapper .today-submissions-table tbody tr td.col-actions .vote-pill__action.has-voted,
  .today-submission-card__vote .vote-pill__action.has-voted {
    color: var(--color-link);
  }
  .today-submissions-wrapper .today-submissions-table tbody tr td.col-actions .vote-pill__btn i,
  .today-submission-card__vote .vote-pill__btn i {
    font-size: var(--font-size-2xs);
  }
  .today-submissions-wrapper .today-submissions-table tbody tr td.col-actions .vote-pill__divider,
  .today-submission-card__vote .vote-pill__divider {
    height: 10px;
    background-color: var(--color-border-subtle);
    margin: 0;
  }
  .today-submissions-wrapper .today-submissions-table tbody tr td.col-actions .vote-pill__count,
  .today-submission-card__vote .vote-pill__count {
    font-size: var(--font-size-2xs);
    font-weight: var(--font-weight-semibold);
    font-variant-numeric: tabular-nums;
  }
  .today-submissions-wrapper .today-submissions-table tbody tr td.col-actions .vote-pill__caret,
  .today-submission-card__vote .vote-pill__caret {
    font-size: 7px;
    opacity: 0.6;
  }
  .today-submissions-wrapper .today-submissions-table tbody tr td.col-cooling {
    order: 6;
    grid-column: -2 / -1;
    justify-self: end;
    min-width: 0;
    padding: var(--space-2xs) 0;
    white-space: nowrap;
    display: inline-flex;
    align-items: center;
  }
  .status-badge {
    border: none;
    background: transparent;
    padding: 0;
    gap: var(--space-xs);
    letter-spacing: normal;
    line-height: var(--line-height-tight);
    flex-shrink: 0;
    white-space: nowrap;
  }
  .status-badge i {
    font-size: var(--font-size-xs);
  }
  .status-badge .status-value {
    color: var(--color-text-secondary);
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
  }
  .stage-number,
  .stage-number--running,
  .stage-number--closed,
  .stage-number--upcoming {
    background: transparent;
    background-color: transparent;
    border: none;
    border-color: transparent;
    border-radius: 0;
    padding: 0;
  }
  .today-submissions-wrapper .today-submissions-table tbody tr td.col-cooling:empty {
    display: none;
  }
  .today-submissions-wrapper .today-submissions-table tbody tr td.col-subspecs {
    order: 8;
    grid-column: 1 / -1;
    padding: var(--space-2xs) 0;
  }
  .today-submissions-wrapper .today-submissions-table tbody tr td.col-subspecs:empty {
    display: none;
  }
  .today-submissions-wrapper .today-submissions-table tbody tr td.col-subspecs .today-submission-card__subspecs {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-xs);
  }
  .today-submissions-wrapper .hall-of-fame-table tbody tr,
  .today-submissions-wrapper .hall-of-fame-table.has-rank tbody tr,
  .today-submissions-wrapper .today-submissions-table.hall-of-fame-table tbody tr,
  .today-submissions-wrapper .today-submissions-table.has-rank.hall-of-fame-table tbody tr {
    display: grid !important;
    grid-template-columns: auto minmax(0, 1fr) auto !important;
    grid-template-rows: auto auto !important;
    gap: var(--space-2xs) var(--space-sm);
    padding: var(--space-sm) var(--space-md);
    align-items: center;
  }
  .today-submissions-wrapper .hall-of-fame-table tbody tr td,
  .today-submissions-wrapper .today-submissions-table.hall-of-fame-table tbody tr td,
  .today-submissions-wrapper .today-submissions-table.has-rank.hall-of-fame-table tbody tr td {
    order: unset !important;
    padding: 0 !important;
  }
  .today-submissions-wrapper .hall-of-fame-table tbody tr.table-first-pos,
  .today-submissions-wrapper .hall-of-fame-table.has-rank tbody tr.table-first-pos,
  .today-submissions-wrapper .today-submissions-table.hall-of-fame-table tbody tr.table-first-pos,
  .today-submissions-wrapper .today-submissions-table.has-rank.hall-of-fame-table tbody tr.table-first-pos,
  .today-submissions-wrapper .hall-of-fame-table.has-rank tbody tr:nth-child(1) {
    border-left-color: var(--color-pos-first) !important;
  }
  .today-submissions-wrapper .hall-of-fame-table tbody tr.table-second-pos,
  .today-submissions-wrapper .hall-of-fame-table.has-rank tbody tr.table-second-pos,
  .today-submissions-wrapper .today-submissions-table.hall-of-fame-table tbody tr.table-second-pos,
  .today-submissions-wrapper .today-submissions-table.has-rank.hall-of-fame-table tbody tr.table-second-pos,
  .today-submissions-wrapper .hall-of-fame-table.has-rank tbody tr:nth-child(2) {
    border-left-color: var(--color-pos-second) !important;
  }
  .today-submissions-wrapper .hall-of-fame-table tbody tr.table-third-pos,
  .today-submissions-wrapper .hall-of-fame-table.has-rank tbody tr.table-third-pos,
  .today-submissions-wrapper .today-submissions-table.hall-of-fame-table tbody tr.table-third-pos,
  .today-submissions-wrapper .today-submissions-table.has-rank.hall-of-fame-table tbody tr.table-third-pos,
  .today-submissions-wrapper .hall-of-fame-table.has-rank tbody tr:nth-child(3) {
    border-left-color: var(--color-pos-third) !important;
  }
  .today-submissions-wrapper .hall-of-fame-table tbody tr td.col-rank,
  .today-submissions-wrapper .hall-of-fame-table.has-rank tbody tr td.col-rank,
  .today-submissions-wrapper .today-submissions-table.hall-of-fame-table tbody tr td.col-rank,
  .today-submissions-wrapper .today-submissions-table.has-rank.hall-of-fame-table tbody tr td.col-rank,
  .today-submissions-wrapper .hall-of-fame-table tbody tr td.col-date,
  .today-submissions-wrapper .today-submissions-table.hall-of-fame-table tbody tr td.col-date {
    grid-column: 1 !important;
    grid-row: 1 !important;
    align-self: center;
    justify-self: start;
    width: auto;
    display: inline-flex;
    align-items: center;
    padding: 0 var(--space-xs) 0 0 !important;
  }
  .today-submissions-wrapper .hall-of-fame-table tbody tr td.col-rank .today-submission-card__rank {
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-bold);
    color: var(--color-text-primary);
    min-width: 28px;
    text-align: center;
  }
  .today-submissions-wrapper .hall-of-fame-table tbody tr td.col-score,
  .today-submissions-wrapper .hall-of-fame-table.has-rank tbody tr td.col-score,
  .today-submissions-wrapper .today-submissions-table.hall-of-fame-table tbody tr td.col-score,
  .today-submissions-wrapper .today-submissions-table.has-rank.hall-of-fame-table tbody tr td.col-score {
    grid-column: 2 !important;
    grid-row: 1 !important;
    justify-self: start !important;
    align-self: center;
    text-align: left !important;
    min-width: 0;
    padding: 0 !important;
    display: inline-flex;
    align-items: center;
  }
  .today-submissions-wrapper .hall-of-fame-table tbody tr td.col-score a {
    font-weight: var(--font-weight-bold);
    font-size: var(--font-size-sm);
    white-space: nowrap;
  }
  .today-submissions-wrapper .hall-of-fame-table tbody tr td.col-hardware,
  .today-submissions-wrapper .hall-of-fame-table.has-rank tbody tr td.col-hardware,
  .today-submissions-wrapper .today-submissions-table.hall-of-fame-table tbody tr td.col-hardware,
  .today-submissions-wrapper .today-submissions-table.has-rank.hall-of-fame-table tbody tr td.col-hardware {
    grid-column: 3 !important;
    grid-row: 1 !important;
    justify-self: end !important;
    align-self: center;
    text-align: right !important;
    min-width: 0;
    padding: 0 !important;
    padding-right: 0 !important;
    display: flex !important;
    align-items: center;
    justify-content: flex-end !important;
  }
  .today-submissions-wrapper .hall-of-fame-table tbody tr td.col-hardware .today-submission-card__hardware {
    max-width: 180px;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
  }
  .today-submissions-wrapper .hall-of-fame-table tbody tr td.col-hardware .today-submission-card__hardware span:not(.today-submission-card__clock) {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    min-width: 0;
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--color-text-primary);
  }
  .today-submissions-wrapper .hall-of-fame-table tbody tr td.col-cooling,
  .today-submissions-wrapper .hall-of-fame-table.has-rank tbody tr td.col-cooling,
  .today-submissions-wrapper .today-submissions-table.hall-of-fame-table tbody tr td.col-cooling,
  .today-submissions-wrapper .today-submissions-table.has-rank.hall-of-fame-table tbody tr td.col-cooling {
    grid-column: 2 !important;
    grid-row: 2 !important;
    justify-self: start !important;
    align-self: center;
    min-width: 0;
    padding: 0 !important;
    display: inline-flex;
    align-items: center;
    white-space: nowrap;
  }
  .today-submissions-wrapper .hall-of-fame-table tbody tr td.col-user,
  .today-submissions-wrapper .hall-of-fame-table.has-rank tbody tr td.col-user,
  .today-submissions-wrapper .today-submissions-table.hall-of-fame-table tbody tr td.col-user,
  .today-submissions-wrapper .today-submissions-table.has-rank.hall-of-fame-table tbody tr td.col-user {
    grid-column: 3 !important;
    grid-row: 2 !important;
    justify-self: end !important;
    align-self: center;
    text-align: right !important;
    min-width: 0;
    padding: 0 !important;
    display: flex !important;
    align-items: center;
    justify-content: flex-end !important;
  }
  .today-submissions-wrapper .hall-of-fame-table tbody tr td.col-user .today-submission-card__participant {
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    gap: var(--space-xs);
    max-width: 100%;
    min-width: 0;
  }
  .today-submissions-wrapper .hall-of-fame-table tbody tr td.col-user .today-submission-card__avatar {
    width: 18px;
    height: 18px;
    border-radius: var(--border-radius-full);
    object-fit: cover;
    flex-shrink: 0;
  }
  .today-submissions-wrapper .hall-of-fame-table tbody tr td.col-user .country_flags {
    flex-shrink: 0;
  }
  .today-submissions-wrapper .hall-of-fame-table tbody tr td.col-user .today-submission-card__name {
    max-width: 130px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
  }
  .today-submissions-wrapper .hall-of-fame-table tbody tr td.col-subspecs,
  .today-submissions-wrapper .hall-of-fame-table tbody tr td.col-actions,
  .today-submissions-wrapper .today-submissions-table.hall-of-fame-table tbody tr td.col-subspecs,
  .today-submissions-wrapper .today-submissions-table.hall-of-fame-table tbody tr td.col-actions {
    display: none !important;
  }
  .library-table,
  .library-table tbody {
    display: flex;
    flex-direction: column;
    gap: var(--space-xs);
    border: none;
    background: transparent;
  }
  .library-table thead {
    display: none;
  }
  .library-table tbody tr {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: var(--space-2xs) var(--space-sm);
    padding: var(--space-sm) var(--space-md);
    background: var(--color-bg-surface);
    border: var(--border-width-sm) solid var(--color-border-subtle);
    border-radius: var(--border-radius);
    align-items: center;
    transition: background-color var(--transition-fast), border-color var(--transition-fast);
  }
  .library-table tbody tr:hover {
    background-color: var(--color-bg-hover);
    border-color: var(--color-border-standard);
  }
  .library-table tbody tr td {
    display: block;
    padding: 0;
    border: none;
    background: transparent;
    white-space: normal;
  }
  .library-table tbody tr td.col-manufacturer {
    order: 1;
    text-align: left;
    font-weight: var(--font-weight-bold);
    color: var(--color-text-primary);
  }
  .library-table tbody tr td.col-model {
    order: 2;
    text-align: right;
    justify-self: end;
    font-weight: var(--font-weight-semibold);
    color: var(--color-text-heading);
  }
  .library-table tbody tr td.col-product {
    order: 3;
    text-align: left;
    font-size: var(--font-size-xs);
    color: var(--color-text-secondary);
  }
  .library-table tbody tr td.col-product:empty {
    display: none;
  }
  .library-table tbody tr td.col-socket {
    order: 4;
    text-align: right;
    justify-self: end;
    font-size: var(--font-size-xs);
    color: var(--color-text-secondary);
  }
  .library-table tbody tr td.col-socket:empty {
    display: none;
  }
  .library-table tbody tr td.col-subs {
    order: 5;
    grid-column: 1 / -1;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-top: var(--space-s);
    border-top: var(--border-width-sm) solid var(--color-border-subtle);
    margin-top: var(--space-2xs);
  }
  .library-card__subs-label {
    display: inline-block;
    font-size: var(--font-size-xs);
    color: var(--color-text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.04em;
  }
  .library-table tbody tr td.col-subs a {
    font-weight: var(--font-weight-semibold);
  }
  .xtu-profiles-table,
  .xtu-profiles-table tbody {
    display: flex;
    flex-direction: column;
    gap: var(--space-xs);
    border: none;
    background: transparent;
  }
  .xtu-profiles-table thead {
    display: none;
  }
  .xtu-profiles-table tbody tr {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: var(--space-2xs) var(--space-sm);
    padding: var(--space-sm) var(--space-md);
    background: var(--color-bg-surface);
    border: var(--border-width-sm) solid var(--color-border-subtle);
    border-radius: var(--border-radius);
    align-items: center;
    transition: background-color var(--transition-fast), border-color var(--transition-fast);
  }
  .xtu-profiles-table tbody tr:hover {
    background-color: var(--color-bg-hover);
    border-color: var(--color-border-standard);
  }
  .xtu-profiles-table tbody tr td {
    display: block;
    padding: 0;
    border: none;
    background: transparent;
    white-space: normal;
  }
  .xtu-profiles-table tbody tr td.col-date {
    order: 1;
    text-align: left;
    font-size: var(--font-size-xs);
    color: var(--color-text-secondary);
  }
  .xtu-profiles-table tbody tr td.col-score {
    order: 2;
    text-align: right;
    justify-self: end;
    font-weight: var(--font-weight-bold);
    color: var(--color-text-primary);
  }
  .xtu-profiles-table tbody tr td.col-score a {
    font-weight: var(--font-weight-bold);
  }
  .xtu-profiles-table tbody tr td.col-processor {
    order: 3;
    text-align: left;
    font-weight: var(--font-weight-semibold);
    color: var(--color-text-primary);
  }
  .xtu-profiles-table tbody tr td.col-socket {
    order: 4;
    text-align: right;
    justify-self: end;
    font-size: var(--font-size-xs);
    color: var(--color-text-secondary);
  }
  .xtu-profiles-table tbody tr td.col-socket:empty {
    display: none;
  }
  .xtu-profiles-table tbody tr td.col-clock,
  .xtu-profiles-table tbody tr td.col-motherboard {
    display: none !important;
  }
  .xtu-profiles-table tbody tr td.col-actions {
    order: 5;
    grid-column: 1 / -1;
    display: flex;
    justify-content: flex-end;
    align-items: center;
    padding-top: var(--space-s);
    border-top: var(--border-width-sm) solid var(--color-border-subtle);
    margin-top: var(--space-2xs);
  }
  .xtu-profiles-table tbody tr td.col-actions:empty {
    display: none;
  }
  .xtu-profiles-table tbody tr td.col-actions a {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-bold);
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--color-link);
    padding: var(--space-2xs) var(--space-sm);
    border: var(--border-width-sm) solid var(--color-border-subtle);
    border-radius: var(--border-radius-xs);
    background: var(--color-bg-card);
    transition: background-color var(--transition-fast), border-color var(--transition-fast);
  }
  .xtu-profiles-table tbody tr td.col-actions a:hover {
    background-color: var(--color-bg-hover);
    border-color: var(--color-primary);
    text-decoration: none;
  }
  .xtu-analyze-table,
  .xtu-analyze-table tbody {
    display: flex;
    flex-direction: column;
    gap: var(--space-xs);
    border: none;
    background: transparent;
  }
  .xtu-analyze-table thead {
    display: none;
  }
  .xtu-analyze-table tbody tr {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: var(--space-2xs) var(--space-sm);
    padding: var(--space-sm) var(--space-md);
    background: var(--color-bg-surface);
    border: var(--border-width-sm) solid var(--color-border-subtle);
    border-left: var(--pos-marker-width) solid transparent;
    border-radius: var(--border-radius);
    align-items: center;
    transition: background-color var(--transition-fast), border-color var(--transition-fast);
  }
  .xtu-analyze-table tbody tr:hover {
    background-color: var(--color-bg-hover);
    border-color: var(--color-border-standard);
  }
  .xtu-analyze-table tbody tr.is-active {
    background-color: var(--color-info-bg);
    border-left-color: var(--color-primary);
    border-color: var(--color-primary);
  }
  .xtu-analyze-table tbody tr td {
    display: block;
    padding: 0;
    border: none;
    background: transparent;
    white-space: normal;
  }
  .xtu-analyze-table tbody tr td.col-date {
    order: 1;
    text-align: left;
    font-size: var(--font-size-xs);
    color: var(--color-text-secondary);
    white-space: nowrap;
  }
  .xtu-analyze-table tbody tr td.col-score {
    order: 2;
    text-align: right;
    justify-self: end;
    font-weight: var(--font-weight-bold);
  }
  .xtu-analyze-table tbody tr td.col-score a {
    font-weight: var(--font-weight-bold);
  }
  .xtu-analyze-table tbody tr td.col-user {
    order: 3;
    min-width: 0;
  }
  .xtu-analyze-table tbody tr td.col-user .today-submission-card__participant {
    max-width: 100%;
    overflow: hidden;
  }
  .xtu-analyze-table tbody tr td.col-user .today-submission-card__name {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .xtu-analyze-table tbody tr td.col-clock {
    order: 4;
    text-align: right;
    justify-self: end;
    font-size: var(--font-size-xs);
    color: var(--color-text-secondary);
    white-space: nowrap;
  }
  .xtu-analyze-table tbody tr td.col-clock:empty {
    display: none;
  }
  .xtu-analyze-table tbody tr td.col-motherboard {
    order: 5;
    grid-column: 1 / -1;
    font-size: var(--font-size-xs);
    color: var(--color-text-secondary);
    padding: var(--space-2xs) 0 0;
  }
  .xtu-analyze-table tbody tr td.col-motherboard:empty {
    display: none;
  }
  .xtu-analyze-table tbody tr td.col-cooling {
    order: 6;
    grid-column: 1 / -1;
    padding: var(--space-2xs) 0;
  }
  .xtu-analyze-table tbody tr td.col-cooling:empty {
    display: none;
  }
  .xtu-analyze-table tbody tr td.col-points {
    order: 7;
    justify-self: start;
    display: flex;
    align-items: center;
    padding-top: var(--space-2xs);
  }
  .xtu-analyze-table tbody tr td.col-points:empty {
    display: none;
  }
  .xtu-analyze-table tbody tr td.col-actions {
    order: 8;
    justify-self: end;
    display: flex;
    align-items: center;
    padding-top: var(--space-2xs);
  }
  .competitions-overview-table,
  .competitions-overview-table tbody {
    display: flex;
    flex-direction: column;
    gap: var(--space-xs);
    border: none;
    background: transparent;
  }
  .competitions-overview-table thead {
    display: none;
  }
  .competitions-overview-table tbody tr {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: var(--space-2xs) var(--space-sm);
    padding: var(--space-sm) var(--space-md);
    background: var(--color-bg-surface);
    border: var(--border-width-sm) solid var(--color-border-subtle);
    border-radius: var(--border-radius);
    align-items: center;
    transition: background-color var(--transition-fast), border-color var(--transition-fast);
  }
  .competitions-overview-table tbody tr:hover {
    background-color: var(--color-bg-hover);
    border-color: var(--color-border-standard);
  }
  .competitions-overview-table tbody tr td {
    display: block;
    padding: 0;
    border: none;
    background: transparent;
    white-space: normal;
  }
  .competitions-overview-table tbody tr td.col-competition {
    order: 1;
    grid-column: 1 / -1;
    min-width: 0;
    width: 100%;
  }
  .competitions-overview-table tbody tr td.col-competition a.competitions-table__name-link {
    font-size: var(--font-size-base);
    font-weight: var(--font-weight-bold);
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
  }
  .competitions-overview-table tbody tr td.col-level {
    order: 2;
    grid-column: 1;
    text-align: left;
    justify-self: start;
    width: auto;
  }
  .competitions-overview-table tbody tr td.col-level:empty {
    display: none;
  }
  .competitions-overview-table tbody tr td.col-stages {
    order: 3;
    grid-column: 2;
    text-align: right;
    justify-self: end;
    width: auto;
    font-size: var(--font-size-xs);
    color: var(--color-text-secondary);
  }
  .competitions-table__stages-label {
    display: inline;
  }
  .competitions-overview-table tbody tr td.col-opens {
    order: 4;
    grid-column: 1 / -1;
    text-align: left;
    width: 100%;
    font-size: var(--font-size-xs);
    color: var(--color-text-secondary);
  }
  .competitions-overview-table tbody tr td.col-closes {
    order: 5;
    grid-column: 1 / -1;
    text-align: left;
    justify-self: start;
    width: 100%;
    font-size: var(--font-size-xs);
    color: var(--color-text-secondary);
  }
  .competitions-table__date-label {
    display: inline;
    color: var(--color-text-muted);
  }
  .competitions-overview-table tbody tr td.col-winner {
    order: 6;
    grid-column: 1 / -1;
    width: 100%;
    padding-top: var(--space-xs);
    border-top: var(--border-width-sm) dashed var(--color-border-subtle);
    margin-top: var(--space-2xs);
  }
  .competitions-overview-table tbody tr td.col-winner:empty {
    display: none;
  }
  .career-ranking-table {
    display: block;
    width: 100%;
    background: transparent;
    border: none;
  }
  .career-ranking-table thead {
    display: none !important;
  }
  .career-ranking-table tbody {
    display: block;
    width: 100%;
    background: var(--color-bg-surface);
    border: var(--border-width-sm) solid var(--color-border-subtle);
    border-radius: var(--border-radius);
    overflow: hidden;
  }
  .career-ranking-table tbody tr {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1fr);
    grid-template-rows: auto auto;
    gap: var(--space-2xs) var(--space-sm);
    padding: var(--space-sm) var(--space-md);
    margin-bottom: 0;
    border: none;
    border-bottom: var(--border-width-sm) solid var(--color-border-subtle);
    border-left: var(--pos-marker-width) solid transparent;
    border-radius: 0;
    background: var(--color-bg-surface);
    align-items: center;
    transition: background-color var(--transition-fast), border-left-color var(--transition-fast);
  }
  .career-ranking-table tbody tr:last-child {
    border-bottom: none;
  }
  .career-ranking-table tbody tr:hover {
    background-color: var(--color-bg-hover);
  }
  .career-ranking-table tbody tr.table-first-pos {
    border-left-color: var(--color-pos-first);
  }
  .career-ranking-table tbody tr.table-second-pos {
    border-left-color: var(--color-pos-second);
  }
  .career-ranking-table tbody tr.table-third-pos {
    border-left-color: var(--color-pos-third);
  }
  .career-ranking-table tbody tr td {
    display: block;
    padding: 0;
    border: none;
    background: transparent;
    white-space: normal;
  }
  .career-ranking-table tbody tr td.col-rank,
  .career-ranking-table tbody tr.table-first-pos td.col-rank,
  .career-ranking-table tbody tr.table-second-pos td.col-rank,
  .career-ranking-table tbody tr.table-third-pos td.col-rank {
    grid-column: 1;
    grid-row: 1;
    align-self: center;
    justify-self: start;
    width: auto;
    border-left: none;
    color: var(--color-text-primary);
    display: inline-flex;
    align-items: center;
    padding: 0 var(--space-xs) 0 0;
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-bold);
    min-width: 28px;
    text-align: center;
  }
  .career-ranking-table tbody tr td.col-user {
    grid-column: 2 / 4;
    grid-row: 1;
    align-self: center;
    justify-self: start;
    min-width: 0;
    padding: 0;
  }
  .career-ranking-table tbody tr td.col-user .today-submission-card__participant {
    display: inline-flex;
    align-items: center;
    gap: var(--space-xs);
    max-width: 100%;
    min-width: 0;
  }
  .career-ranking-table tbody tr td.col-user .today-submission-card__avatar {
    width: 20px;
    height: 20px;
    border-radius: var(--border-radius-full);
    object-fit: cover;
    flex-shrink: 0;
  }
  .career-ranking-table tbody tr td.col-user .today-submission-card__name {
    max-width: 130px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
  }
  .career-ranking-table tbody tr td.col-team {
    grid-column: 4;
    grid-row: 1;
    align-self: center;
    justify-self: end;
    text-align: right;
    min-width: 0;
    padding: 0;
  }
  .career-ranking-table tbody tr td.col-team .today-submission-card__participant {
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    gap: var(--space-xs);
    max-width: 100%;
    min-width: 0;
  }
  .career-ranking-table tbody tr td.col-team .today-submission-card__avatar {
    width: 18px;
    height: 18px;
    border-radius: var(--border-radius-full);
    object-fit: cover;
    flex-shrink: 0;
  }
  .career-ranking-table tbody tr td.col-team .today-submission-card__name {
    max-width: 110px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: var(--font-size-xs);
  }
  .career-ranking-table tbody tr td.col-team:empty {
    display: none;
  }
  .career-ranking-table tbody tr td.col-points {
    grid-column: 2;
    grid-row: 2;
    align-self: center;
    justify-self: start;
    text-align: left;
    font-weight: var(--font-weight-bold);
    color: var(--color-text-primary);
    font-size: var(--font-size-xs);
    white-space: nowrap;
    padding: 0;
  }
  .career-ranking-table tbody tr td.col-glp {
    grid-column: 3;
    grid-row: 2;
    align-self: center;
    justify-self: center;
    text-align: center;
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--color-text-secondary);
    white-space: nowrap;
    padding: 0;
  }
  .career-ranking-table tbody tr td.col-hwp {
    grid-column: 4;
    grid-row: 2;
    align-self: center;
    justify-self: end;
    text-align: right;
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--color-text-secondary);
    white-space: nowrap;
    padding: 0;
  }
  .career-ranking-card__points-label {
    display: inline;
    color: var(--color-text-muted);
    font-size: var(--font-size-2xs);
    text-transform: uppercase;
    letter-spacing: 0.04em;
    margin-left: var(--space-3xs);
  }
  .team-career-ranking-table {
    display: block;
    width: 100%;
    background: transparent;
    border: none;
  }
  .team-career-ranking-table thead {
    display: none !important;
  }
  .team-career-ranking-table tbody {
    display: block;
    width: 100%;
    background: var(--color-bg-surface);
    border: var(--border-width-sm) solid var(--color-border-subtle);
    border-radius: var(--border-radius);
    overflow: hidden;
  }
  .team-career-ranking-table tbody tr {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    grid-template-rows: auto auto;
    gap: var(--space-2xs) var(--space-sm);
    padding: var(--space-sm) var(--space-md);
    margin-bottom: 0;
    border: none;
    border-bottom: var(--border-width-sm) solid var(--color-border-subtle);
    border-left: var(--pos-marker-width) solid transparent;
    border-radius: 0;
    background: var(--color-bg-surface);
    align-items: center;
    transition: background-color var(--transition-fast), border-left-color var(--transition-fast);
  }
  .team-career-ranking-table tbody tr:last-child {
    border-bottom: none;
  }
  .team-career-ranking-table tbody tr:hover {
    background-color: var(--color-bg-hover);
  }
  .team-career-ranking-table tbody tr.table-first-pos {
    border-left-color: var(--color-pos-first);
  }
  .team-career-ranking-table tbody tr.table-second-pos {
    border-left-color: var(--color-pos-second);
  }
  .team-career-ranking-table tbody tr.table-third-pos {
    border-left-color: var(--color-pos-third);
  }
  .team-career-ranking-table tbody tr td {
    display: block;
    padding: 0;
    border: none;
    background: transparent;
    white-space: normal;
  }
  .team-career-ranking-table tbody tr td.col-rank,
  .team-career-ranking-table tbody tr.table-first-pos td.col-rank,
  .team-career-ranking-table tbody tr.table-second-pos td.col-rank,
  .team-career-ranking-table tbody tr.table-third-pos td.col-rank {
    grid-column: 1;
    grid-row: 1;
    align-self: center;
    justify-self: start;
    width: auto;
    border-left: none;
    color: var(--color-text-primary);
    display: inline-flex;
    align-items: center;
    padding: 0 var(--space-xs) 0 0;
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-bold);
    min-width: 28px;
    text-align: center;
  }
  .team-career-ranking-table tbody tr td.col-team {
    grid-column: 2;
    grid-row: 1;
    align-self: center;
    justify-self: start;
    min-width: 0;
    padding: 0;
  }
  .team-career-ranking-table tbody tr td.col-team .today-submission-card__participant {
    display: inline-flex;
    align-items: center;
    gap: var(--space-xs);
    max-width: 100%;
    min-width: 0;
  }
  .team-career-ranking-table tbody tr td.col-team .today-submission-card__avatar {
    width: 20px;
    height: 20px;
    border-radius: var(--border-radius-full);
    object-fit: cover;
    flex-shrink: 0;
  }
  .team-career-ranking-table tbody tr td.col-team .country_flags {
    flex-shrink: 0;
  }
  .team-career-ranking-table tbody tr td.col-team .today-submission-card__name {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    min-width: 0;
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
  }
  .team-career-ranking-table tbody tr td.col-points {
    grid-column: 3;
    grid-row: 1;
    align-self: center;
    justify-self: end;
    text-align: right;
    font-weight: var(--font-weight-bold);
    color: var(--color-text-heading);
    font-size: var(--font-size-xs);
    white-space: nowrap;
    padding: 0;
  }
  .team-career-ranking-table tbody tr td.col-points .team-ranking-card__points-label {
    display: inline;
    color: var(--color-text-muted);
    font-size: var(--font-size-2xs);
    text-transform: uppercase;
    letter-spacing: 0.04em;
    margin-left: var(--space-3xs);
  }
  .team-career-ranking-table tbody tr td.col-members {
    grid-column: 2 / -1;
    grid-row: 2;
    align-self: center;
    justify-self: start;
    font-size: var(--font-size-xs);
    color: var(--color-text-secondary);
    padding: 0;
  }
  .team-career-ranking-table tbody tr td.col-members:empty {
    display: none;
  }
  .team-ranking-card__members-label {
    display: inline;
    color: var(--color-text-muted);
    font-size: var(--font-size-2xs);
    text-transform: lowercase;
    letter-spacing: 0.02em;
    margin-left: var(--space-3xs);
  }
  .team-career-ranking-table tbody tr td.col-glp,
  .team-career-ranking-table tbody tr td.col-hwp,
  .team-career-ranking-table tbody tr td.col-gltpp,
  .team-career-ranking-table tbody tr td.col-hwtpp,
  .team-career-ranking-table tbody tr td.col-cp {
    display: none !important;
  }
  .season-ranking-table {
    display: block;
    width: 100%;
    background: transparent;
    border: none;
  }
  .season-ranking-table thead {
    display: none !important;
  }
  .season-ranking-table tbody {
    display: block;
    width: 100%;
    background: var(--color-bg-surface);
    border: var(--border-width-sm) solid var(--color-border-subtle);
    border-radius: var(--border-radius);
    overflow: hidden;
  }
  .season-ranking-table tbody tr {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    grid-template-rows: auto auto;
    gap: var(--space-2xs) var(--space-sm);
    padding: var(--space-sm) var(--space-md);
    margin-bottom: 0;
    border: none;
    border-bottom: var(--border-width-sm) solid var(--color-border-subtle);
    border-left: var(--pos-marker-width) solid transparent;
    border-radius: 0;
    background: var(--color-bg-surface);
    align-items: center;
    transition: background-color var(--transition-fast), border-left-color var(--transition-fast);
  }
  .season-ranking-table tbody tr:last-child {
    border-bottom: none;
  }
  .season-ranking-table tbody tr:hover {
    background-color: var(--color-bg-hover);
  }
  .season-ranking-table tbody tr.table-first-pos {
    border-left-color: var(--color-pos-first);
  }
  .season-ranking-table tbody tr.table-second-pos {
    border-left-color: var(--color-pos-second);
  }
  .season-ranking-table tbody tr.table-third-pos {
    border-left-color: var(--color-pos-third);
  }
  .season-ranking-table tbody tr td {
    display: block;
    padding: 0;
    border: none;
    background: transparent;
    white-space: normal;
  }
  .season-ranking-table tbody tr td.col-rank,
  .season-ranking-table tbody tr.table-first-pos td.col-rank,
  .season-ranking-table tbody tr.table-second-pos td.col-rank,
  .season-ranking-table tbody tr.table-third-pos td.col-rank {
    grid-column: 1;
    grid-row: 1;
    align-self: center;
    justify-self: start;
    width: auto;
    border-left: none;
    color: var(--color-text-primary);
    display: inline-flex;
    align-items: center;
    padding: 0 var(--space-xs) 0 0;
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-bold);
    min-width: 28px;
    text-align: center;
  }
  .season-ranking-table tbody tr td.col-user {
    grid-column: 2;
    grid-row: 1;
    align-self: center;
    justify-self: start;
    min-width: 0;
    padding: 0;
  }
  .season-ranking-table tbody tr td.col-user .today-submission-card__participant {
    display: inline-flex;
    align-items: center;
    gap: var(--space-xs);
    max-width: 100%;
    min-width: 0;
  }
  .season-ranking-table tbody tr td.col-user .today-submission-card__avatar {
    width: 20px;
    height: 20px;
    border-radius: var(--border-radius-full);
    object-fit: cover;
    flex-shrink: 0;
  }
  .season-ranking-table tbody tr td.col-user .country_flags {
    flex-shrink: 0;
  }
  .season-ranking-table tbody tr td.col-user .today-submission-card__name {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    min-width: 0;
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
  }
  .season-ranking-table tbody tr td.col-team {
    grid-column: 3;
    grid-row: 1;
    align-self: center;
    justify-self: end;
    text-align: right;
    min-width: 0;
    padding: 0;
  }
  .season-ranking-table tbody tr td.col-team .today-submission-card__participant {
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    gap: var(--space-xs);
    max-width: 100%;
    min-width: 0;
  }
  .season-ranking-table tbody tr td.col-team .today-submission-card__avatar {
    width: 18px;
    height: 18px;
    border-radius: var(--border-radius-full);
    object-fit: cover;
    flex-shrink: 0;
  }
  .season-ranking-table tbody tr td.col-team .country_flags {
    flex-shrink: 0;
  }
  .season-ranking-table tbody tr td.col-team .today-submission-card__name {
    max-width: 120px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: var(--font-size-xs);
  }
  .season-ranking-table tbody tr td.col-team:empty {
    display: none;
  }
  .season-ranking-table tbody tr td.col-points {
    grid-column: 2 / -1;
    grid-row: 2;
    align-self: center;
    justify-self: start;
    text-align: left;
    font-weight: var(--font-weight-bold);
    color: var(--color-text-primary);
    font-size: var(--font-size-xs);
    white-space: nowrap;
    padding: 0;
  }
  .season-ranking-card__points-label {
    display: inline;
    color: var(--color-text-muted);
    font-size: var(--font-size-2xs);
    text-transform: uppercase;
    letter-spacing: 0.04em;
    margin-left: var(--space-3xs);
  }
  .season-ranking-table tbody tr td.col-glp,
  .season-ranking-table tbody tr td.col-hwp,
  .season-ranking-table tbody tr td.col-cp {
    display: none !important;
  }
  .team-season-ranking-table {
    display: block;
    width: 100%;
    background: transparent;
    border: none;
  }
  .team-season-ranking-table thead {
    display: none !important;
  }
  .team-season-ranking-table tbody {
    display: block;
    width: 100%;
    background: var(--color-bg-surface);
    border: var(--border-width-sm) solid var(--color-border-subtle);
    border-radius: var(--border-radius);
    overflow: hidden;
  }
  .team-season-ranking-table tbody tr {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    grid-template-rows: auto auto;
    gap: var(--space-2xs) var(--space-sm);
    padding: var(--space-sm) var(--space-md);
    margin-bottom: 0;
    border: none;
    border-bottom: var(--border-width-sm) solid var(--color-border-subtle);
    border-left: var(--pos-marker-width) solid transparent;
    border-radius: 0;
    background: var(--color-bg-surface);
    align-items: center;
    transition: background-color var(--transition-fast), border-left-color var(--transition-fast);
  }
  .team-season-ranking-table tbody tr:last-child {
    border-bottom: none;
  }
  .team-season-ranking-table tbody tr:hover {
    background-color: var(--color-bg-hover);
  }
  .team-season-ranking-table tbody tr.table-first-pos {
    border-left-color: var(--color-pos-first);
  }
  .team-season-ranking-table tbody tr.table-second-pos {
    border-left-color: var(--color-pos-second);
  }
  .team-season-ranking-table tbody tr.table-third-pos {
    border-left-color: var(--color-pos-third);
  }
  .team-season-ranking-table tbody tr td {
    display: block;
    padding: 0;
    border: none;
    background: transparent;
    white-space: normal;
  }
  .team-season-ranking-table tbody tr td.col-rank,
  .team-season-ranking-table tbody tr.table-first-pos td.col-rank,
  .team-season-ranking-table tbody tr.table-second-pos td.col-rank,
  .team-season-ranking-table tbody tr.table-third-pos td.col-rank {
    grid-column: 1;
    grid-row: 1;
    align-self: center;
    justify-self: start;
    width: auto;
    border-left: none;
    color: var(--color-text-primary);
    display: inline-flex;
    align-items: center;
    padding: 0 var(--space-xs) 0 0;
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-bold);
    min-width: 28px;
    text-align: center;
  }
  .team-season-ranking-table tbody tr td.col-team {
    grid-column: 2;
    grid-row: 1;
    align-self: center;
    justify-self: start;
    min-width: 0;
    padding: 0;
  }
  .team-season-ranking-table tbody tr td.col-team .today-submission-card__participant {
    display: inline-flex;
    align-items: center;
    gap: var(--space-xs);
    max-width: 100%;
    min-width: 0;
  }
  .team-season-ranking-table tbody tr td.col-team .today-submission-card__avatar {
    width: 20px;
    height: 20px;
    border-radius: var(--border-radius-full);
    object-fit: cover;
    flex-shrink: 0;
  }
  .team-season-ranking-table tbody tr td.col-team .country_flags {
    flex-shrink: 0;
  }
  .team-season-ranking-table tbody tr td.col-team .today-submission-card__name {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    min-width: 0;
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
  }
  .team-season-ranking-table tbody tr td.col-points {
    grid-column: 3;
    grid-row: 1;
    align-self: center;
    justify-self: end;
    text-align: right;
    font-weight: var(--font-weight-bold);
    color: var(--color-text-heading);
    font-size: var(--font-size-xs);
    white-space: nowrap;
    padding: 0;
  }
  .team-season-ranking-table tbody tr td.col-points .team-season-ranking-card__points-label {
    display: inline;
    color: var(--color-text-muted);
    font-size: var(--font-size-2xs);
    text-transform: uppercase;
    letter-spacing: 0.04em;
    margin-left: var(--space-3xs);
  }
  .team-season-ranking-table tbody tr td.col-members {
    grid-column: 2 / -1;
    grid-row: 2;
    align-self: center;
    justify-self: start;
    font-size: var(--font-size-xs);
    color: var(--color-text-secondary);
    padding: 0;
  }
  .team-season-ranking-table tbody tr td.col-members:empty {
    display: none;
  }
  .team-season-ranking-card__members-label {
    display: inline;
    color: var(--color-text-muted);
    font-size: var(--font-size-2xs);
    text-transform: lowercase;
    letter-spacing: 0.02em;
    margin-left: var(--space-3xs);
  }
  .team-season-ranking-table tbody tr td.col-glp,
  .team-season-ranking-table tbody tr td.col-hwp,
  .team-season-ranking-table tbody tr td.col-gltpp,
  .team-season-ranking-table tbody tr td.col-hwtpp,
  .team-season-ranking-table tbody tr td.col-cp {
    display: none !important;
  }
  .country-league-ranking-table {
    display: block;
    width: 100%;
    background: transparent;
    border: none;
  }
  .country-league-ranking-table thead {
    display: none !important;
  }
  .country-league-ranking-table tbody {
    display: block;
    width: 100%;
    background: var(--color-bg-surface);
    border: var(--border-width-sm) solid var(--color-border-subtle);
    border-radius: var(--border-radius);
    overflow: hidden;
  }
  .country-league-ranking-table tbody tr {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    grid-template-rows: auto auto;
    gap: var(--space-2xs) var(--space-sm);
    padding: var(--space-sm) var(--space-md);
    margin-bottom: 0;
    border: none;
    border-bottom: var(--border-width-sm) solid var(--color-border-subtle);
    border-left: var(--pos-marker-width) solid transparent;
    border-radius: 0;
    background: var(--color-bg-surface);
    align-items: center;
    transition: background-color var(--transition-fast), border-left-color var(--transition-fast);
  }
  .country-league-ranking-table tbody tr:last-child {
    border-bottom: none;
  }
  .country-league-ranking-table tbody tr:hover {
    background-color: var(--color-bg-hover);
  }
  .country-league-ranking-table tbody tr.table-first-pos {
    border-left-color: var(--color-pos-first);
  }
  .country-league-ranking-table tbody tr.table-second-pos {
    border-left-color: var(--color-pos-second);
  }
  .country-league-ranking-table tbody tr.table-third-pos {
    border-left-color: var(--color-pos-third);
  }
  .country-league-ranking-table tbody tr td {
    display: block;
    padding: 0;
    border: none;
    background: transparent;
    white-space: normal;
  }
  .country-league-ranking-table tbody tr td.col-rank,
  .country-league-ranking-table tbody tr.table-first-pos td.col-rank,
  .country-league-ranking-table tbody tr.table-second-pos td.col-rank,
  .country-league-ranking-table tbody tr.table-third-pos td.col-rank {
    grid-column: 1;
    grid-row: 1;
    align-self: center;
    justify-self: start;
    width: auto;
    border-left: none;
    color: var(--color-text-primary);
    display: inline-flex;
    align-items: center;
    padding: 0 var(--space-xs) 0 0;
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-bold);
    min-width: 28px;
    text-align: center;
  }
  .country-league-ranking-table tbody tr td.col-country {
    grid-column: 2;
    grid-row: 1;
    align-self: center;
    justify-self: start;
    min-width: 0;
    padding: 0;
  }
  .country-league-ranking-table tbody tr td.col-country .today-submission-card__participant {
    display: inline-flex;
    align-items: center;
    gap: var(--space-xs);
    max-width: 100%;
    min-width: 0;
  }
  .country-league-ranking-table tbody tr td.col-country .country_flags {
    flex-shrink: 0;
  }
  .country-league-ranking-table tbody tr td.col-country .today-submission-card__name {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    min-width: 0;
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
  }
  .country-league-ranking-table tbody tr td.col-points {
    grid-column: 3;
    grid-row: 1;
    align-self: center;
    justify-self: end;
    text-align: right;
    font-weight: var(--font-weight-bold);
    color: var(--color-text-heading);
    font-size: var(--font-size-xs);
    white-space: nowrap;
    padding: 0;
  }
  .country-league-ranking-table tbody tr td.col-points .country-league-ranking-card__points-label {
    display: inline;
    color: var(--color-text-muted);
    font-size: var(--font-size-2xs);
    text-transform: uppercase;
    letter-spacing: 0.04em;
    margin-left: var(--space-3xs);
  }
  .country-league-ranking-table tbody tr td.col-members {
    grid-column: 2 / -1;
    grid-row: 2;
    align-self: center;
    justify-self: start;
    font-size: var(--font-size-xs);
    color: var(--color-text-secondary);
    padding: 0;
  }
  .country-league-ranking-table tbody tr td.col-members:empty {
    display: none;
  }
  .country-league-ranking-card__members-label {
    display: inline;
    color: var(--color-text-muted);
    font-size: var(--font-size-2xs);
    text-transform: lowercase;
    letter-spacing: 0.02em;
    margin-left: var(--space-3xs);
  }
  .country-league-ranking-table tbody tr td.col-glp,
  .country-league-ranking-table tbody tr td.col-hwp,
  .country-league-ranking-table tbody tr td.col-cp {
    display: none !important;
  }
  .global-masters-table {
    display: block;
    width: 100%;
    background: transparent;
    border: none;
  }
  .global-masters-table thead {
    display: none !important;
  }
  .global-masters-table tbody {
    display: block;
    width: 100%;
    background: var(--color-bg-surface);
    border: var(--border-width-sm) solid var(--color-border-subtle);
    border-radius: var(--border-radius);
    overflow: hidden;
  }
  .global-masters-table tbody tr {
    display: grid;
    grid-template-columns: auto minmax(0, 1.2fr) minmax(0, 1fr) minmax(0, 1fr);
    grid-template-rows: auto auto;
    gap: var(--space-2xs) var(--space-sm);
    padding: var(--space-sm) var(--space-md);
    margin-bottom: 0;
    border: none;
    border-bottom: var(--border-width-sm) solid var(--color-border-subtle);
    border-left: var(--pos-marker-width) solid transparent;
    border-radius: 0;
    background: var(--color-bg-surface);
    align-items: center;
    transition: background-color var(--transition-fast), border-left-color var(--transition-fast);
  }
  .global-masters-table tbody tr:last-child {
    border-bottom: none;
  }
  .global-masters-table tbody tr:hover {
    background-color: var(--color-bg-hover);
  }
  .global-masters-table tbody tr.table-first-pos {
    border-left-color: var(--color-pos-first);
  }
  .global-masters-table tbody tr.table-second-pos {
    border-left-color: var(--color-pos-second);
  }
  .global-masters-table tbody tr.table-third-pos {
    border-left-color: var(--color-pos-third);
  }
  .global-masters-table tbody tr td {
    display: block;
    padding: 0;
    border: none;
    background: transparent;
    white-space: normal;
  }
  .global-masters-table tbody tr td.col-rank,
  .global-masters-table tbody tr.table-first-pos td.col-rank,
  .global-masters-table tbody tr.table-second-pos td.col-rank,
  .global-masters-table tbody tr.table-third-pos td.col-rank {
    grid-column: 1;
    grid-row: 1;
    align-self: center;
    justify-self: start;
    width: auto;
    border-left: none;
    color: var(--color-text-primary);
    display: inline-flex;
    align-items: center;
    padding: 0 var(--space-xs) 0 0;
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-bold);
    min-width: 28px;
    text-align: center;
  }
  .global-masters-table tbody tr td.col-user {
    grid-column: 2 / 4;
    grid-row: 1;
    align-self: center;
    justify-self: start;
    min-width: 0;
    padding: 0;
  }
  .global-masters-table tbody tr td.col-user .today-submission-card__participant {
    display: inline-flex;
    align-items: center;
    gap: var(--space-xs);
    max-width: 100%;
    min-width: 0;
  }
  .global-masters-table tbody tr td.col-user .today-submission-card__avatar {
    width: 20px;
    height: 20px;
    border-radius: var(--border-radius-full);
    object-fit: cover;
    flex-shrink: 0;
  }
  .global-masters-table tbody tr td.col-user .country_flags {
    flex-shrink: 0;
  }
  .global-masters-table tbody tr td.col-user .today-submission-card__name {
    max-width: 130px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
  }
  .global-masters-table tbody tr td.col-team {
    grid-column: 4;
    grid-row: 1;
    align-self: center;
    justify-self: end;
    text-align: right;
    min-width: 0;
    padding: 0;
  }
  .global-masters-table tbody tr td.col-team .today-submission-card__participant {
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    gap: var(--space-xs);
    max-width: 100%;
    min-width: 0;
  }
  .global-masters-table tbody tr td.col-team .today-submission-card__avatar {
    width: 18px;
    height: 18px;
    border-radius: var(--border-radius-full);
    object-fit: cover;
    flex-shrink: 0;
  }
  .global-masters-table tbody tr td.col-team .country_flags {
    flex-shrink: 0;
  }
  .global-masters-table tbody tr td.col-team .today-submission-card__name {
    max-width: 110px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: var(--font-size-xs);
  }
  .global-masters-table tbody tr td.col-team:empty {
    display: none;
  }
  .global-masters-table tbody tr td.col-points {
    grid-column: 2;
    grid-row: 2;
    align-self: center;
    justify-self: start;
    text-align: left;
    font-weight: var(--font-weight-bold);
    color: var(--color-text-primary);
    font-size: var(--font-size-xs);
    white-space: nowrap;
    padding: 0;
  }
  .global-masters-table tbody tr td.col-wrp {
    grid-column: 3;
    grid-row: 2;
    align-self: center;
    justify-self: center;
    text-align: center;
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--color-text-secondary);
    white-space: nowrap;
    padding: 0;
  }
  .global-masters-table tbody tr td.col-glp {
    grid-column: 4;
    grid-row: 2;
    align-self: center;
    justify-self: end;
    text-align: right;
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--color-text-secondary);
    white-space: nowrap;
    padding: 0;
  }
  .global-masters-card__points-label {
    display: inline;
    color: var(--color-text-muted);
    font-size: var(--font-size-2xs);
    text-transform: uppercase;
    letter-spacing: 0.04em;
    margin-left: var(--space-3xs);
  }
  .hardware-masters-table {
    display: block;
    width: 100%;
    background: transparent;
    border: none;
  }
  .hardware-masters-table thead {
    display: none !important;
  }
  .hardware-masters-table tbody {
    display: block;
    width: 100%;
    background: var(--color-bg-surface);
    border: var(--border-width-sm) solid var(--color-border-subtle);
    border-radius: var(--border-radius);
    overflow: hidden;
  }
  .hardware-masters-table tbody tr {
    display: grid;
    grid-template-columns: auto minmax(0, 1.2fr) minmax(0, 1fr) minmax(0, 1fr);
    grid-template-rows: auto auto;
    gap: var(--space-2xs) var(--space-sm);
    padding: var(--space-sm) var(--space-md);
    margin-bottom: 0;
    border: none;
    border-bottom: var(--border-width-sm) solid var(--color-border-subtle);
    border-left: var(--pos-marker-width) solid transparent;
    border-radius: 0;
    background: var(--color-bg-surface);
    align-items: center;
    transition: background-color var(--transition-fast), border-left-color var(--transition-fast);
  }
  .hardware-masters-table tbody tr:last-child {
    border-bottom: none;
  }
  .hardware-masters-table tbody tr:hover {
    background-color: var(--color-bg-hover);
  }
  .hardware-masters-table tbody tr.table-first-pos {
    border-left-color: var(--color-pos-first);
  }
  .hardware-masters-table tbody tr.table-second-pos {
    border-left-color: var(--color-pos-second);
  }
  .hardware-masters-table tbody tr.table-third-pos {
    border-left-color: var(--color-pos-third);
  }
  .hardware-masters-table tbody tr td {
    display: block;
    padding: 0;
    border: none;
    background: transparent;
    white-space: normal;
  }
  .hardware-masters-table tbody tr td.col-rank,
  .hardware-masters-table tbody tr.table-first-pos td.col-rank,
  .hardware-masters-table tbody tr.table-second-pos td.col-rank,
  .hardware-masters-table tbody tr.table-third-pos td.col-rank {
    grid-column: 1;
    grid-row: 1;
    align-self: center;
    justify-self: start;
    width: auto;
    border-left: none;
    color: var(--color-text-primary);
    display: inline-flex;
    align-items: center;
    padding: 0 var(--space-xs) 0 0;
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-bold);
    min-width: 28px;
    text-align: center;
  }
  .hardware-masters-table tbody tr td.col-user {
    grid-column: 2 / 4;
    grid-row: 1;
    align-self: center;
    justify-self: start;
    min-width: 0;
    padding: 0;
  }
  .hardware-masters-table tbody tr td.col-user .today-submission-card__participant {
    display: inline-flex;
    align-items: center;
    gap: var(--space-xs);
    max-width: 100%;
    min-width: 0;
  }
  .hardware-masters-table tbody tr td.col-user .today-submission-card__avatar {
    width: 20px;
    height: 20px;
    border-radius: var(--border-radius-full);
    object-fit: cover;
    flex-shrink: 0;
  }
  .hardware-masters-table tbody tr td.col-user .country_flags {
    flex-shrink: 0;
  }
  .hardware-masters-table tbody tr td.col-user .today-submission-card__name {
    max-width: 130px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
  }
  .hardware-masters-table tbody tr td.col-team {
    grid-column: 4;
    grid-row: 1;
    align-self: center;
    justify-self: end;
    text-align: right;
    min-width: 0;
    padding: 0;
  }
  .hardware-masters-table tbody tr td.col-team .today-submission-card__participant {
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    gap: var(--space-xs);
    max-width: 100%;
    min-width: 0;
  }
  .hardware-masters-table tbody tr td.col-team .today-submission-card__avatar {
    width: 18px;
    height: 18px;
    border-radius: var(--border-radius-full);
    object-fit: cover;
    flex-shrink: 0;
  }
  .hardware-masters-table tbody tr td.col-team .country_flags {
    flex-shrink: 0;
  }
  .hardware-masters-table tbody tr td.col-team .today-submission-card__name {
    max-width: 110px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: var(--font-size-xs);
  }
  .hardware-masters-table tbody tr td.col-team:empty {
    display: none;
  }
  .hardware-masters-table tbody tr td.col-points {
    grid-column: 2;
    grid-row: 2;
    align-self: center;
    justify-self: start;
    text-align: left;
    font-weight: var(--font-weight-bold);
    color: var(--color-text-primary);
    font-size: var(--font-size-xs);
    white-space: nowrap;
    padding: 0;
  }
  .hardware-masters-table tbody tr td.col-2dp {
    grid-column: 3;
    grid-row: 2;
    align-self: center;
    justify-self: center;
    text-align: center;
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--color-text-secondary);
    white-space: nowrap;
    padding: 0;
  }
  .hardware-masters-table tbody tr td.col-3dp {
    grid-column: 4;
    grid-row: 2;
    align-self: center;
    justify-self: end;
    text-align: right;
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--color-text-secondary);
    white-space: nowrap;
    padding: 0;
  }
  .hardware-masters-card__points-label {
    display: inline;
    color: var(--color-text-muted);
    font-size: var(--font-size-2xs);
    text-transform: uppercase;
    letter-spacing: 0.04em;
    margin-left: var(--space-3xs);
  }
  .compo-stage-table {
    display: block;
    width: 100%;
    background: var(--color-bg-surface);
    border: var(--border-width-sm) solid var(--color-border-subtle);
    border-radius: var(--border-radius);
    overflow: hidden;
  }
  .compo-stage-table thead {
    display: block;
    width: 100%;
    background: var(--color-bg-dark);
    border-bottom: var(--border-width-sm) solid var(--color-border-light);
  }
  .compo-stage-table thead tr {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    column-gap: var(--space-sm);
    padding: var(--space-sm) var(--space-md);
    border-left: var(--pos-marker-width) solid transparent;
    align-items: center;
    background: transparent;
  }
  .compo-stage-table thead tr th {
    background: transparent;
    border: none;
    padding: 0;
    color: var(--color-text-white);
    font-size: var(--font-size-2xs);
    font-weight: var(--font-weight-bold);
    text-transform: uppercase;
    letter-spacing: 0.04em;
    white-space: nowrap;
  }
  .compo-stage-table thead tr th.col-rank {
    grid-column: 1;
    min-width: 20px;
    width: auto;
    text-align: left;
    font-variant-numeric: tabular-nums;
  }
  .compo-stage-table thead tr th.col-competitor {
    grid-column: 2;
    width: auto;
    text-align: left;
    min-width: 0;
  }
  .compo-stage-table thead tr th.col-points {
    grid-column: 3;
    width: auto;
    text-align: right;
    justify-self: end;
  }
  .compo-stage-table thead tr th.col-score,
  .compo-stage-table thead tr th.col-submissions {
    display: none;
  }
  .compo-stage-table tbody {
    display: block;
    width: 100%;
    background: transparent;
    border: none;
    border-radius: 0;
    overflow: visible;
  }
  .compo-stage-table tbody tr {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    row-gap: var(--space-2xs);
    column-gap: var(--space-sm);
    padding: var(--space-sm) var(--space-md);
    margin-bottom: 0;
    border: none;
    border-bottom: var(--border-width-sm) solid var(--color-border-subtle);
    border-left: var(--pos-marker-width) solid transparent;
    border-radius: 0;
    background: var(--color-bg-surface);
    align-items: center;
    transition: background-color var(--transition-fast), border-left-color var(--transition-fast);
  }
  .compo-stage-table tbody tr:last-child {
    border-bottom: none;
  }
  .compo-stage-table tbody tr:hover {
    background-color: var(--color-bg-hover);
  }
  .compo-stage-table tbody tr.table-first-pos {
    border-left-color: var(--color-pos-first);
  }
  .compo-stage-table tbody tr.table-second-pos {
    border-left-color: var(--color-pos-second);
  }
  .compo-stage-table tbody tr.table-third-pos {
    border-left-color: var(--color-pos-third);
  }
  .compo-stage-table tbody tr.table-pos {
    border-left-color: var(--color-pos-four-five);
  }
  .compo-stage-table tbody tr td {
    display: block;
    padding: 0;
    border: none;
    background: transparent;
    white-space: normal;
  }
  .compo-stage-table tbody tr td.col-rank,
  .compo-stage-table tbody tr.table-first-pos td.col-rank,
  .compo-stage-table tbody tr.table-second-pos td.col-rank,
  .compo-stage-table tbody tr.table-third-pos td.col-rank {
    grid-column: 1;
    grid-row: 1;
    align-self: center;
    justify-self: start;
    width: auto;
    border-left: none;
    color: var(--color-text-muted);
    display: inline-flex;
    align-items: center;
    padding: 0;
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-bold);
    min-width: 24px;
    font-variant-numeric: tabular-nums;
    text-align: left;
  }
  .compo-stage-table tbody tr.table-first-pos td.col-rank {
    color: var(--color-pos-first);
  }
  .compo-stage-table tbody tr.table-second-pos td.col-rank {
    color: var(--color-pos-second);
  }
  .compo-stage-table tbody tr.table-third-pos td.col-rank {
    color: var(--color-pos-third);
  }
  .compo-stage-table tbody tr td.col-competitor {
    grid-column: 2;
    grid-row: 1;
    align-self: center;
    justify-self: start;
    min-width: 0;
    padding: 0;
  }
  .compo-stage-table tbody tr td.col-competitor .today-submission-card__participant {
    display: inline-flex;
    align-items: center;
    gap: var(--space-xs);
    max-width: 100%;
    min-width: 0;
  }
  .compo-stage-table tbody tr td.col-competitor .today-submission-card__name {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .compo-stage-table tbody tr td.col-points {
    grid-column: 3;
    grid-row: 1;
    align-self: center;
    justify-self: end;
    text-align: right;
    font-weight: var(--font-weight-bold);
    color: var(--color-text-heading);
    font-size: var(--font-size-sm);
    white-space: nowrap;
    padding: 0;
  }
  .compo-stage-table tbody tr td.col-score {
    grid-column: 2 / -1;
    grid-row: 2;
    align-self: center;
    justify-self: start;
    text-align: left;
    padding: 0;
    min-width: 0;
  }
  .compo-stage-table tbody tr td.col-submissions {
    grid-column: 2 / -1;
    grid-row: 3;
    align-self: center;
    justify-self: start;
    padding: 0;
    min-width: 0;
  }
  .compo-stage-table tbody tr td.col-submissions:empty,
  .compo-stage-table tbody tr td.col-submissions--empty {
    display: none;
  }
  .compo-scoreboard-header {
    padding: var(--space-sm) var(--space-md);
    gap: var(--space-xs);
    font-size: var(--font-size-2xs);
  }
  .compo-scoreboard-header__rank {
    min-width: 20px;
  }
  .compo-scoreboard-header__content {
    gap: var(--space-xs);
  }
  .compo-scoreboard-card {
    padding: var(--space-sm) var(--space-md);
    gap: var(--space-xs);
  }
  .compo-scoreboard-card__rank {
    min-width: 20px;
    height: 22px;
    font-size: var(--font-size-xs);
  }
  .compo-scoreboard-card__content {
    gap: var(--space-2xs);
  }
  .compo-scoreboard-card__header {
    gap: var(--space-xs);
  }
  .compo-scoreboard-card__participant {
    gap: var(--space-xs);
  }
  .compo-scoreboard-card__participant .country_flags {
    width: var(--space-sm);
    height: var(--space-sm);
    background-size: var(--space-sm);
  }
  .compo-scoreboard-card__avatar {
    width: 22px;
    height: 22px;
  }
  .compo-scoreboard-card__name {
    font-size: var(--font-size-xs);
  }
  .compo-scoreboard-card__total-value {
    font-size: var(--font-size-sm);
  }
  .compo-scoreboard-card__cups {
    display: flex;
    flex-wrap: nowrap;
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    -ms-overflow-style: none;
    gap: var(--space-sm);
    padding-top: var(--space-sm);
    padding-bottom: 2px;
  }
  .compo-scoreboard-card__cups::-webkit-scrollbar {
    display: none;
  }
  .compo-scoreboard-cup {
    flex-shrink: 0;
    padding: 2px 6px;
    gap: var(--space-2xs);
    font-size: var(--font-size-2xs);
  }
  .compo-scoreboard-cup__label {
    font-size: var(--font-size-2xs);
  }
  .compo-scoreboard-cup__score {
    font-size: var(--font-size-2xs);
  }
  .compo-scoreboard-cup__points {
    font-size: var(--font-size-2xs);
  }
  .ranking-log-table,
  .ranking-log-table tbody {
    display: flex;
    flex-direction: column;
    gap: var(--space-xs);
    border: none;
    background: transparent;
  }
  .ranking-log-table thead {
    display: none;
  }
  .ranking-log-table tbody tr {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: var(--space-2xs) var(--space-sm);
    padding: var(--space-sm) var(--space-md);
    background: var(--color-bg-surface);
    border: var(--border-width-sm) solid var(--color-border-subtle);
    border-radius: var(--border-radius);
    align-items: center;
    transition: background-color var(--transition-fast), border-color var(--transition-fast);
  }
  .ranking-log-table tbody tr:hover {
    background-color: var(--color-bg-hover);
    border-color: var(--color-border-standard);
  }
  .ranking-log-table tbody tr td {
    display: block;
    padding: 0;
    border: none;
    background: transparent;
    white-space: normal;
  }
  .ranking-log-table tbody tr td.col-user,
  .ranking-log-table tbody tr td.col-ranking,
  .ranking-log-table tbody tr td.col-cooling {
    display: none !important;
  }
  .ranking-log-table tbody tr td.col-date {
    order: 1;
    text-align: left;
    font-size: var(--font-size-xs);
    color: var(--color-text-secondary);
  }
  .ranking-log-table tbody tr td.col-score {
    order: 2;
    text-align: right;
    justify-self: end;
    font-weight: var(--font-weight-bold);
    color: var(--color-text-primary);
  }
  .ranking-log-table tbody tr td.col-score a {
    font-weight: var(--font-weight-bold);
  }
  .ranking-log-table tbody tr td.col-benchmark {
    order: 3;
    text-align: left;
    font-weight: var(--font-weight-semibold);
    color: var(--color-text-primary);
  }
  .ranking-log-table tbody tr td.col-hardware {
    order: 4;
    text-align: right;
    justify-self: end;
    font-size: var(--font-size-xs);
    color: var(--color-text-secondary);
  }
  .ranking-log-table tbody tr td.col-hardware .ranking-log-cores {
    margin-left: var(--space-2xs);
    color: var(--color-text-tertiary);
  }
  .ranking-log-table tbody tr td.col-rank {
    order: 5;
    text-align: left;
    padding-top: var(--space-s);
    border-top: var(--border-width-sm) solid var(--color-border-subtle);
    margin-top: var(--space-2xs);
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-semibold);
    color: var(--color-text-primary);
  }
  .ranking-log-table tbody tr td.col-points {
    order: 6;
    text-align: right;
    justify-self: end;
    padding-top: var(--space-s);
    border-top: var(--border-width-sm) solid var(--color-border-subtle);
    margin-top: var(--space-2xs);
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-bold);
    color: var(--color-brand);
  }
  .ranking-log-table tbody tr td.col-points:empty {
    display: none;
  }
  .user-points-table,
  .user-points-table tbody {
    display: flex;
    flex-direction: column;
    gap: var(--space-xs);
    border: none;
    background: transparent;
  }
  .user-points-table thead {
    display: none;
  }
  .user-points-table tbody tr {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: var(--space-2xs) var(--space-sm);
    padding: var(--space-sm) var(--space-md);
    background: var(--color-bg-surface);
    border: var(--border-width-sm) solid var(--color-border-subtle);
    border-radius: var(--border-radius);
    align-items: center;
    transition: background-color var(--transition-fast), border-color var(--transition-fast);
  }
  .user-points-table tbody tr:hover {
    background-color: var(--color-bg-hover);
    border-color: var(--color-border-standard);
  }
  .user-points-table tbody tr td {
    display: block;
    padding: 0;
    border: none;
    background: transparent;
    white-space: normal;
  }
  .user-points-table tbody tr td.col-benchmark {
    order: 1;
    min-width: 0;
    font-weight: var(--font-weight-semibold);
  }
  .user-points-table tbody tr td.col-score {
    order: 2;
    text-align: right;
    justify-self: end;
  }
  .user-points-table tbody tr td.col-hardware {
    order: 3;
    grid-column: 1 / -1;
    font-size: var(--font-size-xs);
    color: var(--color-text-secondary);
  }
  .user-points-table tbody tr td.col-hardware:empty {
    display: none;
  }
  .user-points-table tbody tr td.col-cooling {
    order: 4;
    grid-column: 1 / -1;
  }
  .user-points-table tbody tr td.col-cooling:empty {
    display: none;
  }
  .user-points-table tbody tr td.col-date {
    display: none;
  }
  .user-points-table tbody tr td.col-rank {
    order: 5;
    text-align: left;
    padding-top: var(--space-s);
    border-top: var(--border-width-sm) solid var(--color-border-subtle);
    margin-top: var(--space-2xs);
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-semibold);
    color: var(--color-text-primary);
    display: inline-flex;
    align-items: center;
    gap: var(--space-2xs);
  }
  .user-points-table tbody tr td.col-points {
    order: 6;
    text-align: right;
    justify-self: end;
    padding-top: var(--space-s);
    border-top: var(--border-width-sm) solid var(--color-border-subtle);
    margin-top: var(--space-2xs);
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-bold);
    color: var(--color-brand);
  }
  .user-points-table--competition tbody tr td.col-competition {
    order: 1;
    min-width: 0;
    font-weight: var(--font-weight-semibold);
  }
  .user-points-table--competition tbody tr td.col-level {
    order: 2;
    text-align: right;
    justify-self: end;
    font-size: var(--font-size-xs);
    color: var(--color-text-secondary);
  }
  .user-points-table--competition tbody tr td.col-date {
    order: 3;
    grid-column: 1 / -1;
    text-align: left;
    font-size: var(--font-size-xs);
    color: var(--color-text-secondary);
  }
  .ranking-highlight-grid {
    grid-template-columns: 1fr;
    gap: var(--space-xs);
  }
  .wall-submission-card {
    display: flex;
    flex-direction: column;
    overflow: hidden;
    margin-bottom: var(--space-sm);
    border: var(--border-width-sm) solid var(--color-border-subtle);
  }
  .wall-card__body {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: var(--space-xs) var(--space-sm);
    padding: var(--space-sm) var(--space-md);
    align-items: center;
    white-space: normal;
  }
  .wall-card__user {
    order: 1;
    grid-column: 1;
    min-width: 0;
  }
  .wall-card__score {
    order: 2;
    grid-column: 2;
    margin-left: 0;
    text-align: right;
    justify-self: end;
    font-size: var(--font-size-md);
    font-weight: var(--font-weight-bold);
  }
  .wall-card__benchmark {
    order: 3;
    grid-column: 1 / -1;
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-semibold);
    word-break: break-word;
  }
  .wall-card__hardware {
    order: 4;
    grid-column: 1;
    font-size: var(--font-size-xs);
    color: var(--color-text-secondary);
    word-break: break-word;
    min-width: 0;
  }
  .wall-card__date {
    order: 5;
    grid-column: 2;
    text-align: right;
    justify-self: end;
    font-size: var(--font-size-xs);
    white-space: nowrap;
    align-self: start;
  }
  .wall-card__cores {
    order: 6;
    grid-column: 1;
    align-self: center;
    width: fit-content;
    background: transparent;
    padding: 0;
    border-radius: 0;
  }
  .wall-card__cooling {
    order: 7;
    grid-column: 2;
    justify-self: end;
  }
  .wall-card__cooling:empty {
    display: none;
  }
  .wall-card__rankings {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(130px, 1fr));
    gap: var(--space-xs);
    padding: var(--space-xs) var(--space-md);
    background: var(--color-bg-subtle);
    border-top: var(--border-width-sm) solid var(--color-border-subtle);
    white-space: normal;
  }
  .wall-card__rankings .grid-spec {
    width: 100%;
    min-width: 0;
  }
  .wall-card__rankings .grid-spec-row {
    padding: var(--space-2xs) 0;
    border-bottom: none;
    overflow: visible;
  }
  .wall-card__rankings .attribute {
    font-size: var(--font-size-xs);
    color: var(--color-text-secondary);
    white-space: normal;
    word-break: break-word;
  }
  .wall-card__rankings .value {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-semibold);
    color: var(--color-text-primary);
    white-space: normal;
    word-break: break-word;
  }
  @media screen and (max-width: 480px) {
    .wall-card__rankings {
      grid-template-columns: 1fr;
      gap: var(--space-2xs);
    }
    .wall-card__rankings .grid-spec-row--stacked {
      flex-direction: row;
      justify-content: space-between;
      align-items: center;
    }
    .wall-card__rankings .value {
      text-align: right;
      width: auto;
    }
  }
  .benchmark-ranking-table {
    display: block;
    width: 100%;
    background: transparent;
    border: none;
  }
  .benchmark-ranking-table thead {
    display: none !important;
  }
  .benchmark-ranking-table tbody {
    display: block;
    width: 100%;
    background: var(--color-bg-surface);
    border: var(--border-width-sm) solid var(--color-border-subtle);
    border-radius: var(--border-radius);
    overflow: hidden;
  }
  .benchmark-ranking-table tbody tr {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    grid-template-rows: auto auto auto;
    gap: var(--space-2xs) var(--space-sm);
    padding: var(--space-sm) var(--space-md);
    margin-bottom: 0;
    border: none;
    border-bottom: var(--border-width-sm) solid var(--color-border-subtle);
    border-left: var(--pos-marker-width) solid transparent;
    border-radius: 0;
    background: var(--color-bg-surface);
    align-items: center;
    transition: background-color var(--transition-fast), border-left-color var(--transition-fast);
  }
  .benchmark-ranking-table tbody tr:last-child {
    border-bottom: none;
  }
  .benchmark-ranking-table tbody tr:hover {
    background-color: var(--color-bg-hover);
  }
  .benchmark-ranking-table tbody tr.table-first-pos {
    border-left-color: var(--color-pos-first);
  }
  .benchmark-ranking-table tbody tr.table-second-pos {
    border-left-color: var(--color-pos-second);
  }
  .benchmark-ranking-table tbody tr.table-third-pos {
    border-left-color: var(--color-pos-third);
  }
  .benchmark-ranking-table tbody tr td {
    display: block;
    padding: 0;
    border: none;
    background: transparent;
    white-space: normal;
  }
  .benchmark-ranking-table tbody tr td.col-rank,
  .benchmark-ranking-table tbody tr.table-first-pos td.col-rank,
  .benchmark-ranking-table tbody tr.table-second-pos td.col-rank,
  .benchmark-ranking-table tbody tr.table-third-pos td.col-rank {
    grid-column: 1;
    grid-row: 1;
    align-self: center;
    justify-self: start;
    width: auto;
    border-left: none;
    color: var(--color-text-primary);
    display: inline-flex;
    align-items: center;
    padding: 0 var(--space-xs) 0 0;
  }
  .benchmark-ranking-table tbody tr td.col-rank .today-submission-card__rank {
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-bold);
    color: var(--color-text-primary);
    min-width: 28px;
    text-align: center;
  }
  .benchmark-ranking-table tbody tr td.col-score {
    grid-column: 2;
    grid-row: 1;
    justify-self: start;
    text-align: left;
    padding: 0;
    min-width: 0;
  }
  .benchmark-ranking-table tbody tr td.col-score a {
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-bold);
  }
  .benchmark-ranking-table tbody tr td.col-user {
    grid-column: 3;
    grid-row: 1;
    justify-self: end;
    text-align: right;
    min-width: 0;
    padding: 0;
  }
  .benchmark-ranking-table tbody tr td.col-user .today-submission-card__participant {
    justify-content: flex-end;
    max-width: 100%;
    min-width: 0;
  }
  .benchmark-ranking-table tbody tr td.col-user .today-submission-card__name {
    max-width: 140px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .benchmark-ranking-table tbody tr td.col-hardware {
    grid-column: 2 / 4;
    grid-row: 2;
    min-width: 0;
    padding: 0;
  }
  .benchmark-ranking-table tbody tr td.col-hardware .today-submission-card__hardware {
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    display: inline-flex;
    align-items: center;
    gap: var(--space-xs);
  }
  .benchmark-ranking-table tbody tr td.col-hardware .today-submission-card__hardware span:not(.today-submission-card__cores):not(.ranking-highlight-card__cores):not(.today-submission-card__clock) {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .benchmark-ranking-table tbody tr td.col-hardware .today-submission-card__clock {
    flex-shrink: 0;
    white-space: nowrap;
  }
  .ranking-highlight-card__meta .today-submission-card__clock {
    display: none !important;
  }
  .benchmark-ranking-table tbody tr td.col-cooling {
    grid-column: 2;
    grid-row: 3;
    justify-self: start;
    align-self: center;
    min-width: 0;
    padding: 0;
    display: inline-flex;
    align-items: center;
  }
  .benchmark-ranking-table tbody tr td.col-cooling:empty {
    display: none;
  }
  .benchmark-ranking-table tbody tr td.col-points {
    grid-column: 3;
    grid-row: 3;
    justify-self: end;
    align-self: center;
    padding: 0;
    text-align: right;
  }
  .benchmark-ranking-table tbody tr td.col-points:empty {
    display: none;
  }
  .benchmark-ranking-table tbody tr td.col-benchmark {
    display: none !important;
  }
  .benchmark-first-spots-table {
    display: block;
    width: 100%;
    background: transparent;
    border: none;
  }
  .benchmark-first-spots-table thead {
    display: none !important;
  }
  .benchmark-first-spots-table tbody {
    display: block;
    width: 100%;
    background: var(--color-bg-surface);
    border: var(--border-width-sm) solid var(--color-border-subtle);
    border-radius: var(--border-radius);
    overflow: hidden;
  }
  .benchmark-first-spots-table tbody tr {
    display: grid;
    grid-template-columns: auto auto minmax(0, 1fr) auto;
    grid-template-rows: auto auto;
    gap: var(--space-2xs) var(--space-sm);
    padding: var(--space-sm) var(--space-md);
    margin-bottom: 0;
    border: none;
    border-bottom: var(--border-width-sm) solid var(--color-border-subtle);
    border-left: var(--pos-marker-width) solid transparent;
    border-radius: 0;
    background: var(--color-bg-surface);
    align-items: center;
    transition: background-color var(--transition-fast), border-left-color var(--transition-fast);
  }
  .benchmark-first-spots-table tbody tr:last-child {
    border-bottom: none;
  }
  .benchmark-first-spots-table tbody tr:hover {
    background-color: var(--color-bg-hover);
    border-left-color: var(--color-primary);
  }
  .benchmark-first-spots-table tbody tr td {
    display: block;
    padding: 0;
    border: none;
    background: transparent;
    white-space: normal;
  }
  .benchmark-first-spots-table tbody tr td.col-benchmark {
    grid-column: 1;
    grid-row: 1;
    align-self: center;
    justify-self: start;
    width: auto;
    padding: 0;
    white-space: nowrap;
  }
  .benchmark-first-spots-table tbody tr td.col-benchmark .today-submission-card__benchmark-link {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-bold);
    white-space: nowrap;
  }
  .benchmark-first-spots-table tbody tr td.col-score {
    grid-column: 2;
    grid-row: 1;
    align-self: center;
    justify-self: start;
    text-align: left;
    padding: 0;
    white-space: nowrap;
  }
  .benchmark-first-spots-table tbody tr td.col-score a {
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-bold);
  }
  .benchmark-first-spots-table tbody tr td.col-hardware {
    grid-column: 3 / -1;
    grid-row: 1;
    align-self: center;
    min-width: 0;
    padding: 0;
  }
  .benchmark-first-spots-table tbody tr td.col-hardware .today-submission-card__hardware {
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    display: inline-flex;
    align-items: center;
    gap: var(--space-xs);
    font-size: var(--font-size-xs);
  }
  .benchmark-first-spots-table tbody tr td.col-hardware .today-submission-card__hardware span:not(.today-submission-card__clock) {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .benchmark-first-spots-table tbody tr td.col-hardware .today-submission-card__clock {
    flex-shrink: 0;
    white-space: nowrap;
    font-size: var(--font-size-xs);
    color: var(--color-text-muted);
  }
  .benchmark-first-spots-table tbody tr td.col-user {
    grid-column: 1 / 3;
    grid-row: 2;
    align-self: center;
    justify-self: start;
    min-width: 0;
    padding: 0;
  }
  .benchmark-first-spots-table tbody tr td.col-user .today-submission-card__participant {
    display: inline-flex;
    align-items: center;
    gap: var(--space-xs);
    max-width: 100%;
    min-width: 0;
  }
  .benchmark-first-spots-table tbody tr td.col-user .today-submission-card__avatar {
    width: 18px;
    height: 18px;
    border-radius: var(--border-radius-full);
    object-fit: cover;
    flex-shrink: 0;
  }
  .benchmark-first-spots-table tbody tr td.col-user .today-submission-card__name {
    max-width: 120px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
  }
  .benchmark-first-spots-table tbody tr td.col-cooling {
    grid-column: 3;
    grid-row: 2;
    align-self: center;
    justify-self: start;
    min-width: 0;
    padding: 0;
    display: inline-flex;
    align-items: center;
  }
  .benchmark-first-spots-table tbody tr td.col-cooling:empty {
    display: none;
  }
  .benchmark-first-spots-table tbody tr td.col-actions {
    grid-column: 4;
    grid-row: 2;
    align-self: center;
    justify-self: end;
    padding: 0;
    text-align: right;
  }
  .benchmark-first-spots-table tbody tr td.col-actions .today-submission-card__actions {
    display: flex;
    justify-content: flex-end;
    align-items: center;
  }
  .member-table tbody tr {
    grid-template-columns: 1fr auto;
  }
  .member-table tbody tr td.col-rank,
  .member-table tbody tr td.col-roles {
    display: none !important;
  }
  .member-table tbody tr td.col-user {
    order: 1;
    grid-column: 1;
    grid-row: 1;
    justify-self: start;
    align-self: center;
    min-width: 0;
    padding-right: var(--space-xs);
  }
  .member-table tbody tr td.col-user .member-card__name {
    max-width: 140px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    display: inline-block;
    vertical-align: middle;
  }
  .member-table tbody tr td.col-team {
    order: 2;
    grid-column: 2;
    grid-row: 1;
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    justify-self: end;
    align-self: center;
    min-width: 0;
    text-align: right;
  }
  .member-table tbody tr td.col-team:empty {
    display: none;
  }
  .member-table tbody tr td.col-team .member-card__team {
    max-width: min(160px, 45vw);
  }
  .member-table tbody tr td.col-league {
    order: 3;
    grid-column: 1;
    grid-row: 2;
    display: inline-flex;
    align-items: center;
    justify-self: start;
    align-self: center;
    min-width: 0;
    padding: var(--space-2xs) 0;
    padding-right: var(--space-xs);
  }
  .member-table tbody tr td.col-league:empty {
    display: none;
  }
  .member-table tbody tr td.col-joined {
    order: 4;
    grid-column: 2;
    grid-row: 2;
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    justify-self: end;
    align-self: center;
    white-space: nowrap;
    flex-shrink: 0;
    padding: var(--space-2xs) 0;
    text-align: right;
  }
  .member-table tbody tr td.col-joined:empty {
    display: none;
  }
  .member-table tbody tr td.col-career-rank {
    order: 5;
    grid-column: 1;
    grid-row: 3;
    display: inline-flex;
    align-items: center;
    justify-self: start;
    align-self: center;
    text-align: left;
    padding: var(--space-2xs) 0;
    padding-right: var(--space-xs);
  }
  .member-table tbody tr td.col-career-rank:empty {
    display: none;
  }
  .member-table tbody tr td.col-career-points {
    order: 6;
    grid-column: 2;
    grid-row: 3;
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    justify-self: end;
    align-self: center;
    padding: var(--space-2xs) 0;
    text-align: right;
  }
  .member-table tbody tr td.col-career-points:empty {
    display: none;
  }
  .member-table tbody tr td.col-actions {
    order: 7;
    grid-column: 1 / -1;
    grid-row: 4;
    justify-self: end;
    align-self: center;
    padding-top: var(--space-2xs);
  }
  .member-table tbody tr td.col-actions:empty {
    display: none;
  }
  .team-table tbody tr {
    grid-template-columns: 1fr auto;
  }
  .team-table tbody tr td.col-rank,
  .team-table tbody tr td.col-captains {
    display: none !important;
  }
  .team-table tbody tr td.col-team {
    grid-column: 1 / -1;
    grid-row: 1;
    min-width: 0;
    padding-bottom: var(--space-xs);
  }
  .team-table tbody tr td.col-members {
    grid-column: 1;
    grid-row: 2;
    display: inline-flex;
    align-items: center;
    justify-self: start;
    align-self: center;
    padding: var(--space-2xs) 0;
  }
  .team-table tbody tr td.col-members:empty {
    display: none;
  }
  .team-table tbody tr td.col-status {
    grid-column: 2;
    grid-row: 2;
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    justify-self: end;
    align-self: center;
    padding: var(--space-2xs) 0;
    text-align: right;
  }
  .team-table tbody tr td.col-status:empty {
    display: none;
  }
  .search-submissions-table tbody tr,
  .team-submissions-table tbody tr {
    grid-template-columns: minmax(0, 1fr) auto;
  }
  .today-submissions-wrapper .search-submissions-table tbody tr td.col-rank,
  .today-submissions-wrapper .team-submissions-table tbody tr td.col-rank {
    display: none !important;
  }
  .today-submissions-wrapper .search-submissions-table tbody tr td.col-benchmark,
  .today-submissions-wrapper .team-submissions-table tbody tr td.col-benchmark {
    order: 1;
    grid-column: 1;
    grid-row: 1;
    justify-self: start;
    align-self: center;
    min-width: 0;
    overflow: hidden;
    padding-right: var(--space-xs);
  }
  .today-submissions-wrapper .search-submissions-table tbody tr td.col-score,
  .today-submissions-wrapper .team-submissions-table tbody tr td.col-score {
    order: 2;
    grid-column: 2;
    grid-row: 1;
    justify-self: end;
    align-self: center;
    text-align: right;
  }
  .today-submissions-wrapper .search-submissions-table tbody tr td.col-hardware,
  .today-submissions-wrapper .team-submissions-table tbody tr td.col-hardware {
    order: 3;
    grid-column: 1;
    grid-row: 2;
    justify-self: stretch;
    align-self: center;
    min-width: 0;
    max-width: 100%;
    overflow: hidden;
    padding: var(--space-2xs) 0;
    padding-right: var(--space-xs);
    display: flex;
    align-items: center;
  }
  .today-submissions-wrapper .search-submissions-table tbody tr td.col-cooling,
  .today-submissions-wrapper .team-submissions-table tbody tr td.col-cooling {
    order: 4;
    grid-column: 2;
    grid-row: 2;
    justify-self: end;
    align-self: center;
    min-width: 0;
    padding: var(--space-2xs) 0;
    white-space: nowrap;
    display: inline-flex;
    align-items: center;
    flex-shrink: 0;
  }
  .today-submissions-wrapper .search-submissions-table tbody tr td.col-user,
  .today-submissions-wrapper .team-submissions-table tbody tr td.col-user {
    order: 5;
    grid-column: 1;
    grid-row: 3;
    justify-self: start;
    align-self: center;
    text-align: left;
    min-width: 0;
    padding: var(--space-2xs) 0;
    padding-right: var(--space-xs);
    display: flex;
    align-items: center;
    justify-content: flex-start;
  }
  .today-submissions-wrapper .search-submissions-table tbody tr td.col-user .today-submission-card__participant,
  .today-submissions-wrapper .team-submissions-table tbody tr td.col-user .today-submission-card__participant {
    justify-content: flex-start;
    display: inline-flex;
    align-items: center;
    gap: var(--space-xs);
    max-width: 100%;
    min-width: 0;
  }
  .today-submissions-wrapper .search-submissions-table tbody tr td.col-user .today-submission-card__name,
  .today-submissions-wrapper .team-submissions-table tbody tr td.col-user .today-submission-card__name {
    max-width: 160px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    display: inline-block;
    vertical-align: middle;
  }
  .today-submissions-wrapper .search-submissions-table tbody tr td.col-points,
  .today-submissions-wrapper .team-submissions-table tbody tr td.col-points {
    order: 6;
    grid-column: 2;
    grid-row: 3;
    justify-self: end;
    align-self: center;
    text-align: right;
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    padding-right: 0;
  }
  .today-submissions-wrapper .search-submissions-table tbody tr td.col-points:empty,
  .today-submissions-wrapper .team-submissions-table tbody tr td.col-points:empty {
    display: none;
  }
  .today-submissions-wrapper .search-submissions-table tbody tr td.col-points .today-submission-card__points,
  .today-submissions-wrapper .team-submissions-table tbody tr td.col-points .today-submission-card__points {
    justify-content: flex-end;
  }
  .team-cups-table tbody tr {
    display: grid;
    grid-template-columns: auto repeat(4, 1fr);
    grid-template-rows: auto auto;
    gap: var(--space-2xs) var(--space-sm);
    align-items: center;
  }
  .team-cups-table tbody tr.table-first-pos {
    border-left-color: var(--color-pos-first);
  }
  .team-cups-table tbody tr.table-second-pos {
    border-left-color: var(--color-pos-second);
  }
  .team-cups-table tbody tr.table-third-pos {
    border-left-color: var(--color-pos-third);
  }
  .team-cups-table tbody tr td.col-rank {
    grid-column: 1;
    grid-row: 1;
    align-self: center;
    justify-self: start;
    display: inline-flex;
    align-items: center;
  }
  .team-cups-table tbody tr td.col-rank .today-submission-card__rank {
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-bold);
    color: var(--color-text-secondary);
    min-width: 24px;
    text-align: left;
  }
  .team-cups-table tbody tr td.col-user {
    grid-column: 2 / -1;
    grid-row: 1;
    display: inline-flex;
    align-items: center;
    min-width: 0;
  }
  .team-cups-table tbody tr td.col-user .today-submission-card__participant {
    min-width: 0;
  }
  .team-cups-table tbody tr td.col-user .today-submission-card__name {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .team-cups-table tbody tr td.col-trophy {
    display: inline-flex;
    align-items: center;
    background: transparent;
    border: none;
    padding: 0;
    width: auto;
    text-align: left;
  }
  .team-cups-table tbody tr td.col-trophy--gold {
    grid-column: 2;
    grid-row: 2;
    justify-self: start;
  }
  .team-cups-table tbody tr td.col-trophy--silver {
    grid-column: 3;
    grid-row: 2;
    justify-self: center;
  }
  .team-cups-table tbody tr td.col-trophy--bronze {
    grid-column: 4;
    grid-row: 2;
    justify-self: center;
  }
  .team-cups-table tbody tr td.col-trophy--medals {
    grid-column: 5;
    grid-row: 2;
    justify-self: end;
    justify-content: flex-end;
    margin-left: auto;
    text-align: right;
  }
  .team-points-table tbody tr {
    display: grid;
    grid-template-columns: auto 1fr auto;
    grid-template-rows: auto auto;
    gap: var(--space-2xs) var(--space-sm);
    align-items: center;
  }
  .team-points-table tbody tr.table-first-pos {
    border-left-color: var(--color-pos-first);
  }
  .team-points-table tbody tr.table-second-pos {
    border-left-color: var(--color-pos-second);
  }
  .team-points-table tbody tr.table-third-pos {
    border-left-color: var(--color-pos-third);
  }
  .team-points-table tbody tr td.col-rank {
    grid-column: 1;
    grid-row: 1;
    align-self: center;
    justify-self: start;
    display: inline-flex;
    align-items: center;
  }
  .team-points-table tbody tr td.col-rank .today-submission-card__rank {
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-bold);
    color: var(--color-text-secondary);
    min-width: 24px;
    text-align: left;
  }
  .team-points-table tbody tr td.col-user {
    grid-column: 2 / -1;
    grid-row: 1;
    display: inline-flex;
    align-items: center;
    min-width: 0;
  }
  .team-points-table tbody tr td.col-user .today-submission-card__participant {
    min-width: 0;
  }
  .team-points-table tbody tr td.col-user .today-submission-card__name {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .team-points-table tbody tr td.col-points {
    grid-column: 2;
    grid-row: 2;
    display: inline-flex;
    align-items: center;
    justify-self: start;
    width: auto;
    text-align: left;
  }
  .team-points-table tbody tr td.col-league {
    grid-column: 3;
    grid-row: 2;
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    justify-self: end;
    width: auto;
    margin-left: auto;
    text-align: right;
  }
  .team-points-table tbody tr td.col-league:empty {
    display: none;
  }
  .team-points-table tbody tr td.col-metric {
    display: none;
  }
  .team-members-table tbody tr {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--space-2xs) var(--space-sm);
  }
  .team-members-table tbody tr td.col-user {
    order: 1;
    display: inline-flex;
    align-items: center;
    flex: 1 1 auto;
    min-width: 0;
    margin-bottom: var(--space-2xs);
  }
  .team-members-table tbody tr td.col-league {
    order: 2;
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    flex: 0 0 auto;
    margin-left: auto;
    margin-bottom: var(--space-2xs);
    text-align: right;
  }
  .team-members-table tbody tr td.col-league:empty {
    display: none;
  }
  .team-members-table tbody tr td.col-role {
    display: none;
  }
  .team-members-table tbody tr td.col-joined {
    order: 3;
    display: inline-flex;
    align-items: center;
    justify-content: flex-start;
    flex: 0 0 calc(50% - (var(--space-sm) / 2));
    width: calc(50% - (var(--space-sm) / 2));
    text-align: left;
  }
  .team-members-table tbody tr td.col-joined:empty {
    display: none;
  }
  .team-members-table tbody tr td.col-visit {
    order: 4;
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    flex: 0 0 calc(50% - (var(--space-sm) / 2));
    width: calc(50% - (var(--space-sm) / 2));
    margin-left: auto;
    text-align: right;
  }
  .team-members-table tbody tr td.col-visit:empty {
    display: none;
  }
  .team-members-table tbody tr td.col-actions {
    order: 5;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex: 1 1 100%;
    width: 100%;
    padding-top: var(--space-xs);
    border-top: var(--border-width-sm) solid var(--color-border-subtle);
    margin-top: var(--space-2xs);
  }
  .team-members-table tbody tr td.col-actions:empty {
    display: none;
  }
  .team-member-date__label {
    display: inline;
  }
  .team-requests-table tbody tr {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--space-2xs) var(--space-sm);
  }
  .team-requests-table tbody tr td.col-user {
    order: 1;
    display: inline-flex;
    align-items: center;
    flex: 1 1 auto;
    min-width: 0;
    margin-bottom: var(--space-2xs);
  }
  .team-requests-table tbody tr td.col-league {
    order: 2;
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    flex: 0 0 auto;
    margin-left: auto;
    margin-bottom: var(--space-2xs);
    text-align: right;
  }
  .team-requests-table tbody tr td.col-league:empty {
    display: none;
  }
  .team-requests-table tbody tr td.col-team {
    display: none;
  }
  .team-requests-table tbody tr td.col-joined {
    order: 3;
    display: inline-flex;
    align-items: center;
    justify-content: flex-start;
    flex: 0 0 calc(50% - (var(--space-sm) / 2));
    width: calc(50% - (var(--space-sm) / 2));
    text-align: left;
  }
  .team-requests-table tbody tr td.col-joined:empty {
    display: none;
  }
  .team-requests-table tbody tr td.col-visit {
    order: 4;
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    flex: 0 0 calc(50% - (var(--space-sm) / 2));
    width: calc(50% - (var(--space-sm) / 2));
    margin-left: auto;
    text-align: right;
  }
  .team-requests-table tbody tr td.col-visit:empty {
    display: none;
  }
  .team-requests-table tbody tr td.col-actions {
    order: 5;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex: 1 1 100%;
    width: 100%;
    padding-top: var(--space-xs);
    border-top: var(--border-width-sm) solid var(--color-border-subtle);
    margin-top: var(--space-2xs);
  }
  .team-requests-table tbody tr td.col-actions:empty {
    display: none;
  }
  .gpu-table tbody tr td.col-model,
  .cpu-table tbody tr td.col-model,
  .mb-table tbody tr td.col-model,
  .mem-table tbody tr td.col-model,
  .cooling-table tbody tr td.col-model,
  .psu-table tbody tr td.col-model,
  .disk-table tbody tr td.col-model {
    grid-column: 1;
    grid-row: 1;
    min-width: 0;
  }
  .gpu-table tbody tr td.col-subs,
  .cpu-table tbody tr td.col-subs,
  .mb-table tbody tr td.col-subs,
  .mem-table tbody tr td.col-subs,
  .cooling-table tbody tr td.col-type,
  .psu-table tbody tr td.col-subs,
  .disk-table tbody tr td.col-subs {
    grid-column: 2;
    grid-row: 1;
    justify-self: end;
  }
  .gpu-table tbody tr td.col-subs:empty,
  .cpu-table tbody tr td.col-subs:empty,
  .mb-table tbody tr td.col-subs:empty,
  .mem-table tbody tr td.col-subs:empty,
  .cooling-table tbody tr td.col-type:empty,
  .psu-table tbody tr td.col-subs:empty,
  .disk-table tbody tr td.col-subs:empty {
    display: none;
  }
  .gpu-table tbody tr td.col-clock {
    grid-column: 1;
    grid-row: 2;
  }
  .gpu-table tbody tr td.col-core {
    grid-column: 2;
    grid-row: 2;
    justify-self: end;
  }
  .gpu-table tbody tr td.col-memory {
    grid-column: 1 / -1;
    grid-row: 3;
  }
  .gpu-table tbody tr td.col-clock:empty,
  .gpu-table tbody tr td.col-core:empty,
  .gpu-table tbody tr td.col-memory:empty {
    display: none;
  }
  .cpu-table tbody tr td.col-clock {
    grid-column: 1;
    grid-row: 2;
  }
  .cpu-table tbody tr td.col-cores {
    grid-column: 2;
    grid-row: 2;
    justify-self: end;
  }
  .cpu-table tbody tr td.col-arch {
    grid-column: 1 / -1;
    grid-row: 3;
  }
  .cpu-table tbody tr td.col-clock:empty,
  .cpu-table tbody tr td.col-cores:empty,
  .cpu-table tbody tr td.col-arch:empty {
    display: none;
  }
  .mb-table tbody tr td.col-chipset {
    grid-column: 1;
    grid-row: 2;
  }
  .mb-table tbody tr td.col-launch {
    grid-column: 2;
    grid-row: 2;
    justify-self: end;
  }
  .mb-table tbody tr td.col-chipset:empty,
  .mb-table tbody tr td.col-launch:empty {
    display: none;
  }
  .mem-table tbody tr td.col-clock {
    grid-column: 1;
    grid-row: 2;
  }
  .mem-table tbody tr td.col-release {
    grid-column: 2;
    grid-row: 2;
    justify-self: end;
  }
  .mem-table tbody tr td.col-clock:empty,
  .mem-table tbody tr td.col-release:empty {
    display: none;
  }
  .psu-table tbody tr td.col-watt {
    grid-column: 1;
    grid-row: 2;
  }
  .psu-table tbody tr td.col-release {
    grid-column: 2;
    grid-row: 2;
    justify-self: end;
  }
  .psu-table tbody tr td.col-watt:empty,
  .psu-table tbody tr td.col-release:empty {
    display: none;
  }
  .disk-table tbody tr td.col-controller {
    grid-column: 1;
    grid-row: 2;
  }
  .disk-table tbody tr td.col-capacity {
    grid-column: 1 / -1;
    grid-row: 3;
  }
  .disk-table tbody tr td.col-controller:empty,
  .disk-table tbody tr td.col-capacity:empty {
    display: none;
  }
  .hw-records-table tbody tr {
    grid-template-columns: minmax(0, 1fr) auto auto minmax(0, 1fr);
    row-gap: var(--space-2xs);
  }
  .hw-records-table tbody tr td.col-benchmark {
    grid-column: 1 / 4;
    grid-row: 1;
    min-width: 0;
    overflow: hidden;
    padding-right: var(--space-xs);
    align-self: center;
  }
  .hw-records-table tbody tr td.col-benchmark .hw-records-table__benchmark {
    max-width: 100%;
    min-width: 0;
  }
  .hw-records-table tbody tr td.col-benchmark .today-submission-card__benchmark-link {
    display: inline-flex;
    align-items: center;
    max-width: 100%;
    min-width: 0;
    overflow: hidden;
  }
  .hw-records-table tbody tr td.col-benchmark .today-submission-card__benchmark-link span:first-child {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    min-width: 0;
  }
  .hw-records-table tbody tr td.col-benchmark .today-submission-card__version {
    flex-shrink: 0;
    white-space: nowrap;
  }
  .hw-records-table tbody tr td.col-score {
    grid-column: 4;
    grid-row: 1;
    justify-self: end;
    align-self: center;
    text-align: right;
    white-space: nowrap;
  }
  .hw-records-table tbody tr td.col-score a,
  .hw-records-table .hw-records-table__context-score {
    font-weight: var(--font-weight-semibold);
  }
  .hw-records-table tbody tr td.col-user {
    grid-column: 1;
    grid-row: 2;
    min-width: 0;
    overflow: hidden;
    align-self: center;
    padding-right: var(--space-xs);
  }
  .hw-records-table tbody tr td.col-user .today-submission-card__participant {
    display: inline-flex;
    align-items: center;
    gap: var(--space-xs);
    max-width: 100%;
    min-width: 0;
  }
  .hw-records-table tbody tr td.col-user .today-submission-card__name {
    max-width: 120px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    display: inline-block;
    vertical-align: middle;
  }
  .hw-records-table tbody tr td.col-date {
    grid-column: 2 / 4;
    grid-row: 2;
    justify-self: center;
    align-self: center;
    white-space: nowrap;
    padding: 0 var(--space-xs);
  }
  .hw-records-table tbody tr td.col-points {
    grid-column: 4;
    grid-row: 2;
    justify-self: end;
    align-self: center;
    display: inline-flex;
    align-items: center;
    white-space: nowrap;
  }
  .hw-records-table tbody tr td.col-user:empty,
  .hw-records-table tbody tr td.col-points:empty,
  .hw-records-table tbody tr td.col-date:empty {
    display: none;
  }
  .hw-records-table tbody tr.hw-rec--no-context td.col-team-record,
  .hw-records-table tbody tr.hw-rec--no-context td.col-user-record {
    display: none;
  }
  .hw-records-table tbody tr td.col-team-record,
  .hw-records-table tbody tr td.col-user-record {
    grid-row: 3;
    min-width: 0;
    overflow: hidden;
    padding-top: var(--space-xs);
    margin-top: var(--space-2xs);
    border-top: var(--border-width-sm) solid var(--color-border-subtle);
  }
  .hw-records-table tbody tr td.col-team-record {
    grid-column: 1 / 3;
    padding-right: var(--space-xs);
  }
  .hw-records-table tbody tr td.col-user-record {
    grid-column: 3 / 5;
    padding-left: var(--space-xs);
    border-left: var(--border-width-sm) solid var(--color-border-subtle);
  }
  .hw-records-table tbody tr td.col-team-record .hw-records-table__context-box,
  .hw-records-table tbody tr td.col-user-record .hw-records-table__context-box {
    display: flex;
    align-items: center;
    gap: var(--space-2xs);
    font-size: var(--font-size-xs);
    width: 100%;
    min-width: 0;
    overflow: hidden;
    white-space: nowrap;
  }
  .hw-records-table tbody tr td.col-team-record .hw-records-table__context-label,
  .hw-records-table tbody tr td.col-user-record .hw-records-table__context-label {
    display: inline-flex;
    align-items: center;
    font-size: var(--font-size-xs);
    color: var(--color-text-secondary);
    flex-shrink: 0;
  }
  .hw-records-table tbody tr td.col-team-record .hw-records-table__rank-pill,
  .hw-records-table tbody tr td.col-user-record .hw-records-table__rank-pill {
    flex-shrink: 0;
  }
  .hw-records-table tbody tr td.col-team-record .hw-records-table__context-score,
  .hw-records-table tbody tr td.col-user-record .hw-records-table__context-score {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    min-width: 0;
  }
  .hw-records-table tbody tr td.col-user-record .hw-records-table__point {
    margin-left: auto;
    flex-shrink: 0;
  }
}
.member-card__user {
  display: inline-flex;
  align-items: center;
  gap: var(--space-xs);
  min-width: 0;
}
.member-card__avatar {
  width: var(--space-xl);
  height: var(--space-xl);
  border-radius: var(--border-radius-circle);
  border: var(--border-width-sm) solid var(--color-border-subtle);
  flex-shrink: 0;
  object-fit: cover;
}
.member-card__name {
  font-weight: var(--font-weight-bold);
  font-size: var(--font-size-md);
  letter-spacing: -0.01em;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.member-card__user .country_flags {
  width: var(--space-md);
  height: var(--space-md);
  background-size: var(--space-md);
  flex-shrink: 0;
}
.member-card__roles {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2xs);
  flex-wrap: wrap;
}
.member-card__header-actions {
  display: flex;
  align-items: center;
  gap: var(--space-sm);
  flex-wrap: wrap;
  margin-left: auto;
}
.member-card__impersonate-form {
  display: inline-flex;
  margin: 0;
}
.member-card__impersonate-btn {
  display: inline-flex;
  align-items: center;
  gap: var(--space-xs);
  padding: var(--border-width-sm) var(--space-sm);
  font-size: var(--font-size-xs);
  border-radius: var(--border-radius-xs);
  cursor: pointer;
}
.member-card__team {
  display: inline-flex;
  align-items: center;
  gap: var(--space-xs);
  font-size: var(--font-size-xs);
  font-weight: var(--font-weight-medium);
  min-width: 0;
}
.member-card__team span {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  min-width: 0;
}
.member-card__team-avatar {
  width: var(--space-lg);
  height: var(--space-lg);
  border-radius: var(--border-radius-circle);
  border: var(--border-width-sm) solid var(--color-border-subtle);
  object-fit: cover;
  flex-shrink: 0;
}
.member-card__team--none {
  color: var(--color-text-muted);
}
.member-card__team--none i {
  color: var(--color-text-muted);
  font-size: var(--font-size-2xs);
  flex-shrink: 0;
}
.member-card__subspec {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2xs);
  padding: var(--border-width-sm) var(--space-xs);
  background: var(--color-bg-card);
  border: var(--border-width-sm) solid var(--color-border-subtle);
  border-radius: var(--border-radius-xs);
  color: var(--color-text-secondary);
  font-size: var(--font-size-xs);
  line-height: var(--line-height-tight);
}
.member-card__subspec i {
  font-size: var(--font-size-2xs);
  color: var(--color-text-muted);
  flex-shrink: 0;
}
.member-card__stat {
  display: inline-flex;
  align-items: center;
  padding: var(--space-2xs) var(--space-xs);
  background: var(--color-bg-card);
  border: var(--border-width-sm) solid var(--color-border-subtle);
  border-radius: var(--border-radius-xs);
  font-size: var(--font-size-xs);
  font-weight: var(--font-weight-bold);
  color: var(--color-text-heading);
  font-variant-numeric: tabular-nums;
  line-height: var(--line-height-tight);
  white-space: nowrap;
}
.member-card__points-score {
  display: inline-flex;
  align-items: center;
  gap: var(--space-xs);
  padding: var(--space-2xs) var(--space-xs);
  border: var(--border-width-sm) solid var(--color-border-subtle);
  border-radius: var(--border-radius-xs);
  font-size: var(--font-size-sm);
  font-weight: var(--font-weight-bold);
  color: var(--color-text-heading);
  font-variant-numeric: tabular-nums;
  letter-spacing: 0.02em;
  white-space: nowrap;
}
.member-card__points-score i {
  color: var(--color-primary);
  font-size: var(--font-size-xs);
}
.member-card__points-label {
  font-size: var(--font-size-2xs);
  font-weight: var(--font-weight-bold);
  color: var(--color-text-muted);
  text-transform: uppercase;
  letter-spacing: 0.03em;
}
.team-card__identity {
  display: inline-flex;
  align-items: center;
  gap: var(--space-xs);
  flex-wrap: wrap;
  min-width: 0;
}
.team-card__avatar {
  width: var(--space-xl);
  height: var(--space-xl);
  border-radius: var(--border-radius-circle);
  border: var(--border-width-sm) solid var(--color-border-subtle);
  flex-shrink: 0;
  object-fit: cover;
}
.team-card__name {
  font-weight: var(--font-weight-bold);
  font-size: var(--font-size-md);
  letter-spacing: -0.01em;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.team-card__identity .country_flags {
  width: var(--space-md);
  height: var(--space-md);
  background-size: var(--space-md);
  flex-shrink: 0;
}
.team-card__captains-list {
  display: inline-flex;
  align-items: center;
  gap: var(--space-xs);
  flex-wrap: wrap;
}
.team-card__captain {
  display: inline-flex;
  align-items: center;
  gap: var(--space-xs);
  padding: var(--border-width-sm) var(--space-xs);
  background: var(--color-bg-card);
  border: var(--border-width-sm) solid var(--color-border-subtle);
  border-radius: var(--border-radius-xs);
  color: var(--color-text-primary);
  text-decoration: none;
  font-size: var(--font-size-xs);
  font-weight: var(--font-weight-medium);
  transition:
    color var(--transition-fast),
    border-color var(--transition-fast),
    background-color var(--transition-fast);
}
.team-card__captain:hover {
  color: var(--color-link);
  border-color: var(--color-border-standard);
  background: var(--color-bg-hover);
}
.team-card__captain-avatar {
  width: var(--space-lg);
  height: var(--space-lg);
  border-radius: var(--border-radius-circle);
  border: var(--border-width-sm) solid var(--color-border-subtle);
  object-fit: cover;
  flex-shrink: 0;
}
.team-card__members-badge {
  display: inline-flex;
  align-items: center;
  gap: var(--space-xs);
  padding: var(--space-2xs) var(--space-xs);
  border: var(--border-width-sm) solid var(--color-border-subtle);
  border-radius: var(--border-radius-xs);
  font-size: var(--font-size-sm);
  font-weight: var(--font-weight-bold);
  color: var(--color-text-heading);
  font-variant-numeric: tabular-nums;
  letter-spacing: 0.02em;
  white-space: nowrap;
}
.team-card__members-badge i {
  color: var(--color-primary);
  font-size: var(--font-size-xs);
}
.team-card__members-label {
  font-size: var(--font-size-2xs);
  font-weight: var(--font-weight-bold);
  color: var(--color-text-muted);
  text-transform: uppercase;
  letter-spacing: 0.03em;
}
.cpu-card__identity,
.gpu-card__identity,
.mb-card__identity,
.mem-card__identity,
.disk-card__identity,
.psu-card__identity,
.cooling-card__identity {
  display: inline-flex;
  align-items: center;
  gap: var(--space-xs);
  flex-wrap: wrap;
  min-width: 0;
}
.cpu-card__name,
.gpu-card__name,
.mb-card__name,
.mem-card__name,
.disk-card__name,
.psu-card__name,
.cooling-card__name {
  font-weight: var(--font-weight-bold);
  font-size: var(--font-size-md);
  letter-spacing: -0.01em;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.cpu-card__manufacturer,
.gpu-card__manufacturer,
.cpu-card__socket,
.mb-card__manufacturer,
.mb-card__socket,
.mem-card__manufacturer,
.mem-card__type,
.disk-card__manufacturer,
.disk-card__type,
.psu-card__manufacturer,
.cooling-card__manufacturer,
.cooling-card__type {
  display: inline-flex;
  align-items: center;
  padding: var(--space-2xs) var(--space-xs);
  background: var(--color-bg-card);
  border: var(--border-width-sm) solid var(--color-border-subtle);
  border-radius: var(--border-radius-xs);
  color: var(--color-text-secondary);
  font-size: var(--font-size-xs);
  font-weight: var(--font-weight-medium);
  text-decoration: none;
  line-height: var(--line-height-tight);
  transition:
    color var(--transition-fast),
    border-color var(--transition-fast),
    background-color var(--transition-fast);
}
.cpu-card__socket:hover,
.mb-card__socket:hover,
.mem-card__manufacturer:hover,
.mem-card__type:hover,
.disk-card__manufacturer:hover,
.disk-card__type:hover,
.psu-card__manufacturer:hover,
.cooling-card__manufacturer:hover,
.cooling-card__type:hover {
  color: var(--color-link);
  border-color: var(--color-border-standard);
  background: var(--color-bg-hover);
}
.disk-card__partner-logo,
.psu-card__partner-logo,
.cooling-card__partner-logo {
  display: inline-flex;
  align-items: center;
  height: 18px;
}
.disk-card__partner-logo img,
.psu-card__partner-logo img,
.cooling-card__partner-logo img {
  height: 16px;
  width: auto;
  object-fit: contain;
  display: block;
}
.cpu-card__subs-badge,
.gpu-card__subs-badge,
.mb-card__subs-badge,
.mem-card__subs-badge,
.disk-card__subs-badge,
.psu-card__subs-badge {
  display: inline-flex;
  align-items: center;
  gap: var(--space-xs);
  padding: var(--space-2xs) var(--space-xs);
  border: var(--border-width-sm) solid var(--color-border-subtle);
  border-radius: var(--border-radius-xs);
  font-size: var(--font-size-sm);
  font-weight: var(--font-weight-bold);
  color: var(--color-text-heading);
  font-variant-numeric: tabular-nums;
  letter-spacing: 0.02em;
}
.cpu-card__subs-badge i,
.gpu-card__subs-badge i,
.mb-card__subs-badge i,
.mem-card__subs-badge i,
.disk-card__subs-badge i,
.psu-card__subs-badge i {
  color: var(--color-primary);
  font-size: var(--font-size-xs);
}
.cpu-card__subs-label,
.gpu-card__subs-label,
.mb-card__subs-label,
.mem-card__subs-label,
.disk-card__subs-label,
.psu-card__subs-label {
  font-size: var(--font-size-2xs);
  font-weight: var(--font-weight-bold);
  color: var(--color-text-muted);
  text-transform: uppercase;
  letter-spacing: 0.03em;
}
.cpu-card__spec,
.gpu-card__spec,
.mb-card__spec,
.mem-card__spec,
.disk-card__spec,
.psu-card__spec {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2xs);
  padding: var(--border-width-sm) var(--space-xs);
  background: var(--color-bg-card);
  border: var(--border-width-sm) solid var(--color-border-subtle);
  border-radius: var(--border-radius-xs);
  color: var(--color-text-secondary);
  font-size: var(--font-size-xs);
  line-height: var(--line-height-tight);
}
.cpu-card__spec i,
.gpu-card__spec i,
.mb-card__spec i,
.mem-card__spec i,
.disk-card__spec i,
.psu-card__spec i {
  font-size: var(--font-size-2xs);
  color: var(--color-text-muted);
  flex-shrink: 0;
}
.cpu-card__spec-value,
.gpu-card__spec-value,
.mb-card__spec-value,
.mem-card__spec-value,
.disk-card__spec-value,
.psu-card__spec-value {
  color: var(--color-text-primary);
  font-weight: var(--font-weight-medium);
}
.cpu-card__spec--clock .cpu-card__spec-value,
.gpu-card__spec--clock .gpu-card__spec-value,
.mem-card__spec--clock .mem-card__spec-value {
  font-family: var(--font-mono);
}
.hw-records-table {
  width: 100%;
}
.hw-records-table thead tr th.col-benchmark {
  width: 22%;
  text-align: left;
}
.hw-records-table thead tr th.col-score {
  text-align: left;
}
.hw-records-table thead tr th.col-user {
  text-align: left;
}
.hw-records-table thead tr th.col-date,
.hw-records-table tbody tr td.col-date {
  text-align: left;
  width: auto;
  white-space: nowrap;
}
.hw-records-table thead tr th.col-points {
  text-align: left;
}
.hw-records-table thead tr th.col-team-record,
.hw-records-table thead tr th.col-user-record {
  width: 15%;
  text-align: left;
}
.hw-records-table tbody tr td.col-benchmark,
.hw-records-table tbody tr td.col-score,
.hw-records-table tbody tr td.col-user,
.hw-records-table tbody tr td.col-date,
.hw-records-table tbody tr td.col-points,
.hw-records-table tbody tr td.col-team-record,
.hw-records-table tbody tr td.col-user-record {
  vertical-align: middle;
}
.hw-records-table__benchmark {
  display: inline-flex;
  align-items: center;
  gap: var(--space-xs);
  min-width: 0;
}
.hw-records-table__date {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2xs);
  color: var(--color-text-muted);
  font-size: var(--font-size-xs);
  flex-shrink: 0;
  white-space: nowrap;
}
.hw-records-table__date i {
  font-size: var(--font-size-2xs);
}
.hw-records-table__no-record {
  display: inline-flex;
  align-items: center;
  padding: var(--space-2xs) var(--space-xs);
  background: var(--color-bg-card);
  border: var(--border-width-sm) solid var(--color-border-subtle);
  border-radius: var(--border-radius-xs);
  color: var(--color-text-muted);
  font-size: var(--font-size-xs);
  font-style: italic;
}
.hw-records-table__context-box {
  display: inline-flex;
  align-items: center;
  gap: var(--space-xs);
  white-space: nowrap;
}
.hw-records-table__context-label {
  display: none;
  align-items: center;
  gap: var(--space-2xs);
  color: var(--color-text-muted);
  font-weight: var(--font-weight-medium);
  font-size: var(--font-size-2xs);
  text-transform: uppercase;
  letter-spacing: 0.02em;
}
.hw-records-table__rank-pill {
  display: inline-flex;
  align-items: center;
  font-weight: var(--font-weight-semibold);
  font-size: var(--font-size-xs);
  color: var(--color-text-secondary);
  white-space: nowrap;
}
.hw-records-table__context-score {
  font-weight: var(--font-weight-semibold);
  font-variant-numeric: tabular-nums;
}
.hw-records-table__context-none {
  color: var(--color-text-muted);
  font-style: italic;
  font-size: var(--font-size-xs);
}
.flex-row {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-md);
  align-items: center;
}
.flex-row--achievement-action {
  justify-content: flex-end;
  margin-bottom: var(--space-md);
}
.flex-row--additional-images {
  align-items: flex-end;
}
.flex-row--world-records {
  flex-wrap: nowrap;
  overflow: auto;
  background: var(--color-bg-alt);
  padding: var(--space-md);
}
.flex-row--table-compare-header {
  justify-content: space-between;
  flex-wrap: nowrap;
}
.sticky-table--compare .remove-btn {
  background: transparent;
  border: none;
  color: var(--font-color-muted, var(--color-text-muted));
  font-size: var(--font-size-xl);
  font-weight: var(--font-weight-bold);
  line-height: var(--line-height-none);
  padding: 0 var(--space-xs);
  cursor: pointer;
  border-radius: var(--border-radius-sm);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: color var(--transition-fast), background-color var(--transition-fast);
}
.sticky-table--compare .remove-btn:hover {
  color: var(--color-text-white);
  background-color: var(--color-error);
}
.chart-wrapper {
  width: 100%;
  overflow: hidden;
}
.empty-message {
  margin: 0;
  padding: var(--space-sm) 0;
  color: var(--font-color-muted, var(--color-text-secondary));
  font-size: var(--font-size-md);
}
.flex-row--news-header {
  justify-content: space-between;
  padding: var(--space-md);
  font-weight: var(--font-weight-bold);
}
.flex-row--news-footer {
  justify-content: flex-start;
  padding: var(--space-md);
  font-family: var(--font-heading);
  font-size: var(--font-size-lg);
  font-weight: var(--font-weight-bold);
  line-height: var(--line-height-tight);
}
.flex-row--wall {
  gap: var(--space-md);
  padding: var(--space-md) 0;
}
.flex-row--wall-social {
  justify-content: space-between;
  align-items: center;
  gap: var(--space-md);
  padding: var(--space-xs) 0;
  margin-bottom: var(--space-sm);
}
.flex-row--badges {
  gap: var(--space-sm);
  padding: var(--space-xs) 0;
  align-items: center;
}
.modal-member-list {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-lg);
  align-items: center;
}
.flex-row--info {
  gap: var(--space-md) var(--space-lg);
  padding: var(--space-md);
  background: var(--color-bg-surface);
  border: var(--border-width-sm) solid var(--color-border-light);
  border-radius: var(--border-radius);
  color: var(--color-text-primary);
  justify-content: space-between;
  align-items: center;
}
.flex-row-group {
  display: flex;
  align-items: center;
  gap: var(--space-md);
}
.flex-row-item {
  display: inline-flex;
  align-items: center;
  gap: var(--space-md);
}
.flex-row-item--world-record {
  flex-direction: column;
  min-width: 400px;
  padding: var(--space-md);
  border-radius: var(--border-radius);
  background: var(--color-bg-surface);
  border: var(--border-width-sm) solid var(--color-border-light);
  width: 100%;
}
.alert {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: var(--space-md);
  padding: var(--space-md) var(--space-lg);
  border-radius: var(--border-radius);
  border: var(--border-width-sm) solid transparent;
  font-size: var(--font-size-md);
  line-height: var(--line-height-normal);
  width: 100%;
  margin-bottom: var(--space-md);
  box-sizing: border-box;
}
.alert > div {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: var(--space-xs);
}
.alert p {
  margin: 0;
}
.alert a {
  color: inherit;
  text-decoration: underline;
  font-weight: var(--font-weight-bold);
}
.form-row > .alert {
  margin-bottom: 0;
}
.alert i {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: var(--font-size-lg);
  line-height: var(--line-height-normal);
  flex-shrink: 0;
}
.alert i::before {
  font-family: "Font Awesome 6 Free", "Font Awesome 5 Free";
  font-weight: 900;
}
.alert-warning {
  color: var(--color-warning-text);
  background-color: var(--color-warning-bg);
  border-color: var(--color-warning-border);
}
.alert-warning i::before {
  content: "\f071";
}
.alert-danger {
  color: var(--color-error-text);
  background-color: var(--color-error-bg);
  border-color: var(--color-error-border);
}
.alert-danger i::before {
  content: "\f06a";
}
.alert-info {
  color: var(--color-link-hover);
  background-color: var(--color-info-bg);
  border-color: var(--color-info-border);
}
.alert-info i::before {
  content: "\f05a";
}
.screenshot-box {
  display: flex;
  gap: var(--space-sm);
  overflow: auto;
  width: 100%;
}
.screenshot-box a {
  text-decoration: none;
}
.screenshot-box img {
  border-radius: var(--border-radius-xs);
}
.screenshot-box--highlight-submission img {
  height: 100px;
}
.screenshot-box--submission img {
  height: 250px;
}
.screenshot-box--submission iframe,
.screenshot-box--submission .youtube-placeholder {
  height: 250px;
  aspect-ratio: 16 / 9;
  border: 0;
  border-radius: var(--border-radius-xs);
  flex-shrink: 0;
}
.screenshot-box--news {
  display: flex;
  justify-content: center;
  overflow: hidden;
  height: 200px;
  border-radius: var(--border-radius-xs);
}
.screenshot-box--news img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.rich-text-content {
  color: var(--color-text-heading);
}
.rich-text-content h1,
.rich-text-content h2,
.rich-text-content h3,
.rich-text-content h4 {
  color: var(--color-text-heading);
  font-weight: var(--font-weight-bold);
  margin-top: var(--space-lg);
  margin-bottom: var(--space-sm);
  line-height: var(--line-height-tight);
}
.rich-text-content strong,
.rich-text-content b {
  color: var(--color-text-heading);
  font-weight: var(--font-weight-bold);
}
.rich-text-content p {
  margin-top: 0;
  margin-bottom: var(--space-md);
}
.rich-text-content ul,
.rich-text-content ol {
  padding-left: 1.25rem;
  margin-top: var(--space-sm);
  margin-bottom: var(--space-md);
}
.rich-text-content li {
  margin-bottom: 0.35rem;
}
.rich-text-content a {
  color: var(--color-link);
  text-decoration: underline;
  text-decoration-color: var(--color-link-underline);
  text-underline-offset: 3px;
  transition: color var(--transition-fast), text-decoration-color var(--transition-fast);
}
.rich-text-content a:hover {
  color: var(--color-link-hover);
  text-decoration-color: currentColor;
}
.rich-text-content code,
.rich-text-content pre {
  background: var(--color-bg-hover);
  padding: 0.2rem 0.4rem;
  border-radius: var(--border-radius);
  font-family: var(--font-mono);
  color: var(--color-text-heading);
}
.rich-text-content img {
  width: 100%;
  max-width: 600px;
  border-radius: var(--border-radius);
}
.rich-text-content table {
  display: block;
  width: 100%;
  max-width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  border-collapse: collapse;
  margin-top: var(--space-lg);
  margin-bottom: var(--space-lg);
}
.rich-text-content th,
.rich-text-content td {
  padding: var(--space-sm) var(--space-md);
  border: var(--border-width-sm) solid var(--color-border-light);
  text-align: left;
}
.rich-text-content th {
  background-color: var(--color-bg-hover);
  font-weight: var(--font-weight-bold);
  color: var(--color-text-primary);
}
.rich-text-content tr:hover td {
  background-color: var(--color-bg-hover);
}
.rich-text-content iframe {
  width: 100%;
  max-width: 600px;
  aspect-ratio: 16 / 9;
  display: block;
  margin-top: var(--space-lg);
  margin-bottom: var(--space-lg);
  border: none;
  border-radius: var(--border-radius);
}
.faint {
  opacity: 0.2;
}
.reset-password .content .grid input[type=password],
.reset-password .content .grid input[type=text] {
  width: 100%;
  box-sizing: border-box;
  display: inline-block;
}
.reset-password .content .grid .row {
  width: 100%;
}
.side-area .content .grid {
  display: grid;
  grid-template-columns: auto;
  grid-gap: var(--space-sm);
}
.side-area-ranking-grid {
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
  width: 100%;
  min-width: 0;
}
.side-area-ranking-grid > *:not(:last-child),
.card--sidebar-ranking .side-area--league-ranking-grid-row:not(:last-child),
.grid-box-card--sidebar-ranking .side-area--league-ranking-grid-row:not(:last-child) {
  padding-bottom: var(--space-xs);
  border-bottom: var(--border-width-sm) solid var(--color-border-light);
}
.side-area--league-ranking-grid-row {
  display: grid;
  grid-template-columns: var(--pos-marker-width) minmax(var(--rank-pos-min-width), auto) minmax(0, 1fr) auto;
  grid-gap: var(--space-xs);
  align-items: center;
  width: 100%;
  min-width: 0;
  box-sizing: border-box;
  padding: var(--space-xs) 0;
  transition: background-color var(--transition-fast);
}
.side-area--league-ranking-grid-row:hover {
  background-color: var(--color-text-inverse);
}
.side-area--league-ranking-grid-row .pos-marker {
  grid-column: 1;
  width: var(--pos-marker-width);
  height: 100%;
  min-height: var(--avatar-size-sm);
  align-self: stretch;
  border-radius: var(--border-radius-xs);
}
.side-area--league-ranking-grid-row .pos {
  grid-column: 2;
  min-width: var(--rank-pos-min-width);
  display: block;
  text-align: left;
  justify-self: start;
  font-size: var(--font-size-xs);
  font-weight: var(--font-weight-bold);
  line-height: var(--line-height-tight);
  padding: 0;
  margin: 0;
  background: none;
  border: none;
  white-space: nowrap;
  color: var(--color-text-secondary);
}
.side-area--league-ranking-grid-row .pos::before {
  content: "#";
  margin-right: 0.1em;
  opacity: 0.85;
}
.side-area--league-ranking-grid-row .name {
  grid-column: 3;
  min-width: 0;
  width: 100%;
  overflow: hidden;
}
.side-area--league-ranking-grid-row .table-avatar-wrapper {
  display: flex;
  align-items: center;
  gap: var(--space-xs);
  min-width: 0;
  width: 100%;
}
.side-area--league-ranking-grid-row .table-avatar-wrapper img {
  width: var(--avatar-size-sm);
  height: var(--avatar-size-sm);
  border-radius: var(--border-radius-circle);
  flex-shrink: 0;
  object-fit: cover;
}
.side-area--league-ranking-grid-row .table-avatar-wrapper .country_flags,
.side-area-wr-ranking-grid .table-avatar-wrapper .country_flags {
  width: var(--avatar-size-sm);
  height: var(--avatar-size-sm);
  background-size: var(--avatar-size-sm);
  flex-shrink: 0;
}
.side-area--league-ranking-grid-row .table-avatar-wrapper a {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  display: block;
  font-size: var(--font-size-sm);
  font-weight: var(--font-weight-medium);
}
.side-area--league-ranking-grid-row .points {
  grid-column: 4;
  width: auto;
  min-width: 0;
  white-space: nowrap;
  font-size: var(--font-size-xs);
  color: var(--color-text-secondary);
  font-weight: var(--font-weight-bold);
  text-align: right;
  justify-self: end;
}
.side-area-wr-ranking-grid {
  display: grid;
  grid-template-columns: var(--pos-marker-width) minmax(0, 1fr);
  grid-template-rows: auto auto auto auto;
  grid-gap: var(--space-2xs) var(--space-sm);
  align-items: start;
  justify-items: left;
  width: 100%;
  min-width: 0;
  box-sizing: border-box;
  padding: var(--space-xs) 0;
  transition: background-color var(--transition-fast);
}
.card--sidebar-ranking .side-area-wr-ranking-grid:not(:last-child),
.grid-box-card--sidebar-ranking .side-area-wr-ranking-grid:not(:last-child) {
  padding-bottom: var(--space-xs);
  border-bottom: var(--border-width-sm) solid var(--color-border-light);
}
.side-area-wr-ranking-grid:hover {
  background-color: var(--color-text-inverse);
}
.side-area-wr-ranking-grid .pos-marker {
  grid-column: 1;
  grid-row: 1 / -1;
  width: var(--pos-marker-width);
  height: 100%;
  align-self: stretch;
  border-radius: var(--border-radius-xs);
}
.side-area-wr-ranking-grid .pos {
  grid-column: 2;
  grid-row: 1;
  display: block;
  text-align: left;
  justify-self: start;
  font-size: var(--font-size-xs);
  font-weight: var(--font-weight-bold);
  line-height: var(--line-height-tight);
  padding: 0;
  margin: 0;
  background: none;
  border: none;
  white-space: nowrap;
  color: var(--color-text-secondary);
}
.side-area-wr-ranking-grid .pos::before {
  content: "#";
  margin-right: 0.1em;
  opacity: 0.85;
}
.side-area-wr-ranking-grid .name {
  grid-column: 2;
  grid-row: 2;
  min-width: 0;
  width: 100%;
  overflow: hidden;
}
.side-area-wr-ranking-grid .table-avatar-wrapper {
  display: flex;
  align-items: center;
  gap: var(--space-xs);
  min-width: 0;
  width: 100%;
}
.side-area-wr-ranking-grid .table-avatar-wrapper img {
  width: var(--avatar-size-sm);
  height: var(--avatar-size-sm);
  border-radius: var(--border-radius-circle);
  flex-shrink: 0;
  object-fit: cover;
}
.side-area-wr-ranking-grid .hardware {
  grid-column: 2;
  grid-row: 3;
  width: 100%;
  min-width: 0;
  white-space: normal;
  word-break: break-word;
  overflow-wrap: break-word;
  font-size: var(--font-size-xs);
  color: var(--color-text-secondary);
  line-height: var(--line-height-tight);
}
.side-area-wr-ranking-grid .hardware a {
  word-break: break-word;
  overflow-wrap: break-word;
}
.side-area-wr-ranking-grid .score {
  grid-column: 2;
  grid-row: 4;
  width: 100%;
  min-width: 0;
  font-weight: var(--font-weight-bold);
  font-size: var(--font-size-sm);
  text-align: left;
  justify-self: start;
}
.side-area .tab-menu {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-2xs);
  border-bottom: var(--border-width-sm) solid var(--color-border-light);
  margin-bottom: var(--space-md);
}
.side-area .tab-menu .button {
  padding: var(--space-xs) var(--space-s);
  font-size: var(--font-size-xs);
  font-weight: var(--font-weight-medium);
  white-space: nowrap;
}
.side-area .tab-menu .button.focus,
.side-area .tab-menu .button.active {
  font-weight: var(--font-weight-bold);
}
#careerrankinghof,
#rankinghof,
#team_rankinghof {
  width: 100%;
  min-width: 0;
}
.reset-password .content .grid {
  display: grid;
  grid-template-columns: auto;
  grid-template-rows: auto;
  grid-gap: var(--space-sm);
  align-items: center;
  justify-items: center;
  width: 30%;
  margin: auto;
  min-width: 320px;
}
.reset-password .content .grid .action {
  justify-self: end;
}
.grid-box-card--login,
.grid-box-card--register,
.grid-box-card--reset-password {
  max-width: 350px;
  width: 100%;
  margin: var(--space-xl) auto;
  gap: var(--space-md);
  text-align: center;
}
.grid-box-card--login > p,
.grid-box-card--register > p,
.grid-box-card--reset-password > p {
  color: var(--color-text-secondary);
  margin: 0;
}
.grid-box-card--login > p a,
.grid-box-card--register > p a,
.grid-box-card--reset-password > p a {
  color: inherit;
  text-decoration: underline;
}
.grid-box-card--login form,
.grid-box-card--register form,
.grid-box-card--reset-password form {
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
  text-align: left;
}
.grid-box-card--login form button[type=submit],
.grid-box-card--register form button[type=submit],
.grid-box-card--reset-password form button[type=submit] {
  width: 100%;
}
.grid-box-card--register .recaptcha-wrapper,
.grid-box-card--reset-password .recaptcha-wrapper {
  display: flex;
  justify-content: center;
  width: 100%;
  overflow-x: auto;
}
.form-label-row {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  width: 100%;
}
.form-input-password-wrapper {
  position: relative;
  width: 100%;
  display: flex;
  align-items: center;
}
.form-input-password-wrapper .form-input,
.form-input-password-wrapper input {
  width: 100%;
  padding-right: 42px;
  box-sizing: border-box;
}
.password-toggle-btn {
  position: absolute;
  right: 8px;
  background: transparent;
  border: none;
  padding: var(--space-sm);
  cursor: pointer;
  color: var(--color-text-muted);
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.password-toggle-btn:hover {
  color: var(--color-text-primary);
}
.login-footer {
  text-align: center;
  color: var(--color-text-secondary);
  padding-top: var(--space-md);
  border-top: var(--border-width-sm) solid var(--color-border-light);
}
.footer .content .info {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
  font-family: var(--font-heading);
}
.footer .info ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
.footer .system-info {
  text-align: center;
  font-family: var(--font-heading);
}
.footer .partner-info {
  text-align: center;
}
.footer .content .partner-info {
  margin: var(--space-lg) 0;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  gap: var(--space-lg);
}
.footer .content .partner-info .partner-box {
  height: 70px;
  display: flex;
  justify-content: center;
  align-items: center;
}
.main-area.hw-data {
  position: relative;
  z-index: 1;
}
.hardware-overview .content-type-2 .manufacturer-grid,
.main-area.hw-data .content .manufacturer-grid {
  display: flex;
  align-items: center;
  gap: var(--space-xs);
}
.main-area.hw-data .content .manufacturer-grid .manufacturer-headline-grid-cell {
  height: 40px;
  display: flex;
  gap: var(--space-xs);
  align-items: center;
}
.main-area.hw-data .content .manufacturer-grid .manufacturer-headline-grid-cell img {
  height: 40px;
  width: auto;
  display: block;
  object-fit: contain;
}
@keyframes loading {
  from {
    background-color: rgba(0, 0, 0, 0.5);
  }
  to {
    background-color: rgba(0, 0, 0, 0.4);
  }
}
.gold {
  background-color: var(--color-pos-first);
}
.silver {
  background-color: var(--color-border-light);
}
.bronze {
  background-color: var(--color-pos-third);
}
.medal {
  background-color: var(--color-pos-four-five);
}
.nomedal {
  background-color: var(--color-pos-four-five);
}
.gold-trophy {
  color: var(--color-pos-first);
}
.silver-trophy {
  color: var(--color-pos-second);
}
.bronze-trophy {
  color: var(--color-pos-third);
}
.medal-trophy {
  color: var(--color-pos-four-five);
}
.trophy-count {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2xs);
  font-size: var(--font-size-xs);
  font-weight: var(--font-weight-semibold);
  color: var(--color-text-primary);
  white-space: nowrap;
}
.trophy-count--empty {
  opacity: 0.4;
  color: var(--color-text-muted);
}
@keyframes shimmer {
  0% {
    background-position: 200% 0;
  }
  100% {
    background-position: -200% 0;
  }
}
.is-loading {
  position: relative;
  overflow: hidden;
  pointer-events: none;
}
.is-loading::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background:
    linear-gradient(
      90deg,
      rgba(232, 238, 241, 0) 0%,
      rgba(255, 255, 255, 0.6) 50%,
      rgba(232, 238, 241, 0) 100%);
  background-size: 200% 100%;
  animation: shimmer 1.5s infinite;
  z-index: 2;
}
@keyframes shimmer {
  0% {
    background-position: 200% 0;
  }
  100% {
    background-position: -200% 0;
  }
}
.button {
  font-family: var(--font-heading);
  background-color: var(--color-bg-surface);
  border: var(--border-width-sm) solid var(--color-border-light);
  border-radius: var(--border-radius-lg);
  color: var(--color-text-primary);
  cursor: pointer;
  padding: var(--space-sm) var(--space-md);
  text-align: center;
  user-select: none;
  -webkit-user-select: none;
  touch-action: manipulation;
  white-space: nowrap;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-md);
}
.button--info-row {
  padding: var(--space-sm) var(--space-md);
  gap: var(--space-xs);
  height: auto;
}
.button--modal-header-close {
  background: transparent;
  border: none;
}
.button--modal-header-close:hover {
  opacity: 0.7;
}
.button--modal-header-close:focus {
  outline: none;
}
.button--primary {
  background-color: var(--color-text-primary);
  color: var(--color-text-white);
  border-color: var(--color-text-primary);
}
.button--primary:hover {
  opacity: 0.9;
}
.button--image {
  background: transparent;
  border: none;
  padding: 0;
  margin: 0;
  font: inherit;
  color: inherit;
  cursor: pointer;
  display: block;
  width: 100%;
}
.button--danger {
  color: var(--color-error);
  border-color: var(--color-error-border);
  background-color: var(--color-error-bg);
}
.button--danger:hover {
  background-color: var(--color-bg-hover);
  border-color: var(--color-border-light);
  color: var(--color-text-primary);
}
.button--100 {
  width: 100%;
}
.active,
.button:hover {
  border-color: var(--color-bg-hover-dark);
  box-shadow: var(--shadow-sm);
  background: lightgray;
  text-decoration: none;
}
.focus,
.button:focus {
  border-color: var(--color-primary);
  color: var(--color-text-white);
  outline: none;
  background: var(--color-bg-hover-dark);
}
.button:disabled,
.button.disabled {
  opacity: 0.5;
  cursor: not-allowed;
  pointer-events: none;
  box-shadow: none;
}
.info-message {
  background: var(--color-info-bg);
  padding: var(--space-md);
  border-radius: var(--border-radius);
}
.warn-message {
  background-color: var(--color-warning-bg);
  border: var(--border-width-sm) solid var(--color-warning-border);
  color: var(--color-warning-text);
  padding: var(--space-md);
  border-radius: var(--border-radius);
}
.error-message {
  background: var(--color-error);
  padding: var(--space-md);
  border-radius: var(--border-radius);
  color: var(--color-text-inverse);
}
.error-message a,
.info-message a,
.warn-message a {
  color: inherit;
  text-decoration: underline;
  font-weight: var(--font-weight-bold);
}
.form-input {
  border: var(--border-width-md) solid var(--color-border-light);
  border-radius: var(--border-radius);
  background-color: var(--color-bg-surface);
  color: var(--color-text-primary);
  padding: var(--space-sm) var(--space-md);
  box-sizing: border-box;
}
input[type=checkbox].field-error {
  outline: var(--border-width-md) solid var(--color-error);
  background-color: var(--color-bg-surface);
}
.field-error {
  border: var(--border-width-md) solid var(--color-error);
  background-color: var(--color-bg-surface);
}
.ui-widget {
  font-family: var(--font-base);
}
.ui-widget-content {
  border: var(--border-width-sm) solid var(--color-border-light);
  border-radius: 0;
  background: var(--color-bg-main);
  color: var(--color-text-primary);
}
.ui-widget-content a,
.ui-widget-content a:link,
.ui-widget-content a:hover,
.ui-widget-content a:visited,
.ui-widget-content a:active {
  color: var(--color-text-primary);
}
.ui-widget-content a:hover {
  text-decoration: underline;
}
.ui-state-hover,
.ui-widget-content .ui-state-hover,
.ui-widget-header .ui-state-hover,
.ui-state-focus,
.ui-widget-content .ui-state-focus,
.ui-widget-header .ui-state-focus {
  border: none;
  background: var(--color-bg-main);
}
.ui-state-hover,
.ui-widget-content a.ui-state-hover,
.ui-widget-header .ui-state-hover,
.ui-state-focus,
.ui-widget-content .ui-state-focus,
.ui-widget-header .ui-state-focus {
  border: none;
  background: var(--color-bg-main);
}
.ui-menu .ui-menu-item a.ui-state-hover {
  margin: 0;
}
.result-status-comment .content .event-container,
.reporting-overview .content .sticky-table .event-container {
  background-color: var(--color-bg-card);
  border-left: var(--border-width-lg) solid var(--color-primary);
  padding: var(--space-md) var(--space-lg);
  margin: var(--space-xs) 0;
  max-height: 160px;
  overflow-y: auto;
}
.result-status-comment .content .event-container::-webkit-scrollbar,
.reporting-overview .content .sticky-table .event-container::-webkit-scrollbar {
  width: 6px;
}
.result-status-comment .content .event-container::-webkit-scrollbar-track,
.reporting-overview .content .sticky-table .event-container::-webkit-scrollbar-track {
  background: var(--color-bg-hover);
}
.result-status-comment .content .event-container::-webkit-scrollbar-thumb,
.reporting-overview .content .sticky-table .event-container::-webkit-scrollbar-thumb {
  background: var(--color-border-dashed);
  border-radius: var(--border-radius-xs);
}
.result-status-comment .content .event-container::-webkit-scrollbar-thumb:hover,
.reporting-overview .content .sticky-table .event-container::-webkit-scrollbar-thumb:hover {
  background: var(--color-text-secondary);
}
.result-status-comment .content .event-timeline,
.reporting-overview .content .sticky-table .event-timeline {
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
}
.result-status-comment .content .event-item,
.reporting-overview .content .sticky-table .event-item {
  display: flex;
  align-items: flex-start;
}
.result-status-comment .content .event-icon,
.reporting-overview .content .sticky-table .event-icon {
  color: var(--color-text-muted);
  margin-right: var(--space-md);
  font-weight: var(--font-weight-bold);
}
.result-status-comment .content .event-meta,
.reporting-overview .content .sticky-table .event-meta {
  min-width: 220px;
  white-space: nowrap;
  flex-shrink: 0;
  color: var(--color-text-secondary);
  font-family: var(--font-mono);
}
.result-status-comment .content .event-user,
.reporting-overview .content .sticky-table .event-user {
  min-width: 140px;
  white-space: nowrap;
  flex-shrink: 0;
  font-weight: var(--font-weight-bold);
  color: var(--color-text-primary);
  margin-right: var(--space-md);
}
.result-status-comment .content .event-desc,
.reporting-overview .content .sticky-table .event-desc {
  color: var(--color-text-primary);
  flex: 1 1 auto;
  min-width: 0;
  white-space: normal;
  overflow-wrap: anywhere;
}
.reporting-overview .content .sticky-table thead tr th.col-benchmark,
.reporting-overview .content .sticky-table tbody tr td.col-benchmark,
.reporting-overview .content .sticky-table thead tr th.col-score,
.reporting-overview .content .sticky-table tbody tr td.col-score,
.reporting-overview .content .sticky-table tbody tr td.col-action {
  white-space: nowrap;
}
.reporting-overview .content .sticky-table .nested-row td {
  padding: 0;
  border-bottom: var(--border-width-md) solid var(--color-border-light);
}
.reporting-overview .content .search-group-mobile {
  width: 100%;
}
.reporting-overview .content .search-input-wrapper {
  position: relative;
  display: flex;
  width: 100%;
  max-width: 400px;
}
.reporting-overview .content .search-input-wrapper input[type=text] {
  width: 100%;
  padding-right: 90px;
  box-sizing: border-box;
}
.reporting-overview .content .search-input-wrapper button {
  position: absolute;
  right: 2px;
  top: 2px;
  bottom: 2px;
  border-radius: 0 var(--border-radius-xs) var(--border-radius-xs) 0;
  cursor: pointer;
}
.tab-menu {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: var(--space-xs);
  border-bottom: var(--border-width-sm) solid var(--color-border-light);
  margin-bottom: var(--space-md);
}
.tab-menu--hardware {
  margin-bottom: var(--space-md);
}
.tab-menu > * {
  flex: 0 0 auto;
}
.tab-menu select {
  margin-bottom: var(--space-xs);
}
.filter.tab-menu {
  border-bottom: none;
  margin-bottom: 0;
}
.tab-menu .button {
  background: transparent;
  border: none;
  border-radius: 0;
  border-bottom: var(--border-width-md) solid transparent;
  margin-bottom: -1px;
  color: var(--color-text-primary);
  font-weight: var(--font-weight-medium);
  padding: var(--space-sm) var(--space-md);
  gap: var(--space-sm);
  box-shadow: none;
  transition: color var(--transition-fast), border-color var(--transition-fast);
}
.tab-menu .button:hover {
  background: transparent;
  border-color: var(--color-border-standard);
  color: var(--color-link);
  box-shadow: none;
}
.tab-menu .button:focus {
  outline: none;
  box-shadow: none;
  background: transparent;
  color: var(--color-text-primary);
}
.tab-menu .button.focus,
.tab-menu .button.active,
.tab-menu .button.focus:hover,
.tab-menu .button.active:hover,
.tab-menu .button.focus:focus,
.tab-menu .button.active:focus {
  background: transparent;
  border-color: var(--color-link);
  color: var(--color-link);
  font-weight: var(--font-weight-bold);
  box-shadow: none;
}
.tab-menu .button:focus-visible {
  outline: 2px solid var(--color-highlight);
  outline-offset: -2px;
}
.tab-menu .table-navigation {
  margin-left: auto;
  margin-top: 0;
  margin-bottom: var(--space-xs);
}
.flex-row > .table-navigation {
  margin-left: auto;
  margin-top: 0;
}
.sidebar-title {
  color: var(--color-text-heading);
  margin-bottom: var(--space-md);
}
.sidebar-empty {
  color: var(--color-text-secondary);
  font-style: italic;
}
.wr-ranking-card {
  display: flex;
  flex-direction: column;
  background: transparent;
  border: none;
  border-radius: var(--border-radius-sm);
  overflow: hidden;
}
.wr-ranking-card .wr-ranking-row:not(:last-child) {
  padding-bottom: var(--space-xs);
  border-bottom: var(--border-width-sm) solid var(--color-border-light);
}
.wr-ranking-row {
  display: grid;
  grid-template-columns: var(--pos-marker-width) minmax(0, 1fr);
  grid-template-rows: auto auto auto;
  grid-gap: var(--space-2xs) var(--space-sm);
  align-items: start;
  position: relative;
  padding: var(--space-sm) var(--space-md) var(--space-sm) 0;
  border-bottom: var(--border-width-sm) solid var(--color-border-subtle);
  transition: background-color var(--transition-fast);
}
.wr-ranking-row:last-child {
  border-bottom: none;
}
.wr-ranking-row:hover {
  background-color: var(--color-text-inverse);
}
.wr-ranking-row.is-active {
  background-color: var(--color-info-bg);
}
.pos-marker {
  width: var(--pos-marker-width);
  align-self: stretch;
  flex-shrink: 0;
}
.wr-ranking-row .pos-marker {
  grid-column: 1;
  grid-row: 1 / -1;
  width: var(--pos-marker-width);
  height: 100%;
  align-self: stretch;
}
.pos-marker.gold {
  background-color: var(--color-warning-star);
}
.pos-marker.silver {
  background-color: var(--color-text-muted);
}
.pos-marker.bronze {
  background-color: var(--color-warning);
}
.pos-marker.medal {
  background-color: var(--color-pos-four-five);
}
.pos-marker.nomedal {
  background-color: var(--color-pos-four-five);
}
.rank-pos {
  color: var(--color-text-secondary);
  text-align: center;
  flex-shrink: 0;
}
.wr-ranking-row .rank-pos {
  grid-column: 2;
  grid-row: 1;
  display: block;
  text-align: left;
  justify-self: start;
  font-size: var(--font-size-xs);
  font-weight: var(--font-weight-bold);
  line-height: var(--line-height-tight);
  padding: 0;
  margin: 0;
  background: none;
  border: none;
  white-space: nowrap;
}
.wr-ranking-row .rank-pos::before {
  content: "#";
  margin-right: 0.1em;
  opacity: 0.85;
}
.rank-content {
  display: flex;
  flex-direction: column;
  min-width: 0;
  flex: 1;
  gap: var(--space-2xs);
}
.wr-ranking-row .rank-content {
  grid-column: 2;
  grid-row: 2;
}
.wr-ranking-row .rank-score {
  grid-column: 2;
  grid-row: 3;
  font-weight: var(--font-weight-bold);
  font-size: var(--font-size-sm);
  text-align: left;
}
.rank-label {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2xs);
  font-size: var(--font-size-2xs);
  font-weight: var(--font-weight-bold);
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--color-text-muted);
}
.rank-label i {
  font-size: var(--font-size-2xs);
  color: var(--color-primary);
}
.rank-user-line {
  display: flex;
  align-items: center;
  gap: var(--space-sm);
  min-width: 0;
}
.rank-avatar {
  width: 20px;
  height: 20px;
  border-radius: var(--border-radius-circle);
  object-fit: cover;
  flex-shrink: 0;
}
.rank-username {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.rank-hardware-line {
  white-space: normal;
  word-break: break-word;
  overflow-wrap: break-word;
  font-size: var(--font-size-xs);
  color: var(--color-text-secondary);
  line-height: var(--line-height-tight);
}
.rank-clock {
  color: var(--color-text-secondary);
}
.rank-score {
  flex-shrink: 0;
  text-align: left;
}
.history-meta {
  display: flex;
  gap: var(--space-sm);
  color: var(--color-text-muted);
  font-weight: var(--font-weight-bold);
  margin-bottom: var(--space-2xs);
}
.history-meta::after {
  content: "";
}
.history-user {
  color: var(--color-accent);
}
.history-desc {
  display: flex;
  align-items: flex-start;
  gap: var(--space-sm);
}
.history-icon {
  color: var(--color-text-secondary);
  margin-top: var(--space-2xs);
}
.hw-tree-list,
.hw-tree-sublist {
  list-style: none;
  margin: 0;
  padding: 0;
}
.hw-tree-sublist {
  padding-left: var(--space-md);
  border-left: var(--border-width-sm) solid var(--color-border-light);
  margin-left: var(--space-sm);
}
.hw-tree-summary {
  display: list-item;
  cursor: pointer;
  border-radius: var(--border-radius);
}
.hw-tree-summary::-webkit-details-marker {
  display: none;
}
.hw-tree-summary::marker {
  content: "";
  display: none;
}
.hw-tree-summary-content {
  display: flex;
  align-items: center;
  gap: var(--space-sm);
  padding: var(--space-sm) var(--space-md);
}
.hw-tree-summary-content .hw-tree-link {
  display: inline;
  padding: 0;
  background: transparent;
  color: inherit;
  flex: 1;
}
.hw-tree-summary-content .hw-tree-label {
  flex: 1;
}
.hw-tree-summary-content::before {
  content: "\f054";
  font-family: "Font Awesome 6 Free", "FontAwesome";
  color: var(--color-text-muted);
  transition: transform var(--transition-base);
}
.hw-tree-branch[open] > .hw-tree-summary .hw-tree-summary-content::before {
  transform: rotate(90deg);
  color: var(--color-text-primary);
}
.hw-tree-link {
  display: block;
  padding: var(--space-sm) var(--space-md);
  color: var(--color-text-primary);
  text-decoration: none;
  border-radius: var(--border-radius);
}
.hw-tree-summary:not(.is-active):hover,
.hw-tree-link:not(.is-active):hover {
  background: var(--color-bg-hover);
  color: var(--color-text-primary);
}
.hw-tree-summary-content .hw-tree-link:hover {
  background: transparent;
}
.hw-tree-link.is-active,
.hw-tree-summary.is-active {
  background: var(--color-bg-hover-dark);
  font-weight: var(--font-weight-bold);
}
.hw-tree-link.is-active:is(:link, :visited, :hover, :focus, :active),
.hw-tree-summary.is-active,
.hw-tree-summary.is-active .hw-tree-link:is(:link, :visited, :hover, :focus, :active),
.hw-tree-summary.is-active .hw-tree-label,
.hw-tree-summary.is-active .hw-tree-summary-content::before {
  color: var(--color-text-inverse);
  text-decoration: none;
}
@media screen and (min-width: 1201px) {
  .header,
  .navigation,
  .footer {
    grid-column: 1 / -1;
  }
  body.one-column {
    grid-template-columns: auto;
    grid-template-rows: auto auto 1fr auto;
    max-width: var(--layout-max-width);
    margin: auto;
  }
  body.left-sidebar {
    grid-template-columns: minmax(var(--sidebar-min-width), 1fr) minmax(0, 3fr);
    grid-template-rows: auto auto 1fr auto;
    max-width: var(--layout-max-width);
    margin: auto;
  }
  body.right-sidebar {
    grid-template-columns: minmax(0, 3fr) minmax(var(--sidebar-min-width), 1fr);
    grid-template-rows: auto auto 1fr auto;
    max-width: var(--layout-max-width);
    margin: auto;
  }
  .nodesktop {
    display: none !important;
  }
}
@media screen and (max-width: 1200px) {
  body.left-sidebar,
  body.right-sidebar {
    grid-template-columns: 1fr;
  }
  .nomobile {
    display: none !important;
  }
  .content {
    grid-template-columns: 10px minmax(0, 1fr) 10px;
  }
  .side-area {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    z-index: var(--z-index-drawer);
    transform: translateY(100%);
    transition: transform var(--transition-smooth);
    overflow-y: auto;
    box-sizing: border-box;
  }
  .side-area.is-open {
    transform: translateY(0);
  }
  .side-area .content {
    padding: 0 var(--space-lg) var(--space-2xl) var(--space-lg);
  }
  .side-area .content .hw-tree {
    height: calc(100vh - 70px);
    overflow-y: auto;
  }
  .hw-tree-summary-content,
  .hw-tree-link {
    padding: var(--space-md);
  }
  .sidebar-mobile-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: -webkit-sticky;
    position: sticky;
    top: 0;
    z-index: var(--z-index-sticky-header);
    padding: var(--space-xs);
    background: var(--color-bg-alt);
    color: var(--color-text-primary);
    border-bottom: var(--border-width-md) solid var(--color-primary);
    margin: 0 -15px var(--space-lg) -15px;
    text-transform: uppercase;
    font-family: var(--font-heading);
  }
  .modal-overlay,
  .modal-overlay--fullscreen-mobile {
    padding: 0;
    align-items: stretch;
    justify-content: stretch;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    height: 100%;
    height: 100dvh;
  }
  .modal-dialog,
  .modal-dialog--fullscreen-mobile {
    position: fixed;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    width: 100%;
    max-width: none;
    height: 100%;
    height: 100dvh;
    max-height: 100dvh;
    border-radius: 0;
    box-shadow: none;
    margin: 0;
    overflow: hidden;
    transform: translateY(100%);
    transition: transform var(--transition-smooth);
    will-change: transform;
    display: flex;
    flex-direction: column;
  }
  .modal-overlay.is-open .modal-dialog,
  .modal-overlay--fullscreen-mobile.is-open .modal-dialog--fullscreen-mobile {
    transform: translateY(0);
  }
  .modal-dialog__header,
  .modal-dialog .modal-header,
  .modal-dialog--fullscreen-mobile .modal-header {
    flex-shrink: 0;
    background: var(--color-bg-main);
    border-bottom: var(--border-width-sm) solid var(--color-border-light);
    padding: max(10px, env(safe-area-inset-top, 10px)) max(15px, env(safe-area-inset-right, 15px)) 10px max(15px, env(safe-area-inset-left, 15px));
  }
  .modal-dialog__body,
  .modal-dialog .modal-body,
  .modal-dialog--fullscreen-mobile .modal-body {
    flex: 1 1 0;
    min-height: 0;
    overflow-y: auto;
    overscroll-behavior-y: contain;
    -webkit-overflow-scrolling: touch;
    padding: 15px max(15px, env(safe-area-inset-right, 15px)) 15px max(15px, env(safe-area-inset-left, 15px));
  }
  .modal-dialog__footer,
  .modal-dialog .modal-footer,
  .modal-dialog--fullscreen-mobile .modal-footer {
    flex-shrink: 0;
    background: var(--color-bg-main);
    border-top: var(--border-width-sm) solid var(--color-border-light);
    padding: 12px max(15px, env(safe-area-inset-right, 15px)) max(12px, env(safe-area-inset-bottom, 12px)) max(15px, env(safe-area-inset-left, 15px));
  }
  .modal-dialog .form-modal-actions,
  .modal-dialog--fullscreen-mobile .form-modal-actions {
    display: flex;
    gap: var(--space-md);
    justify-content: flex-end;
    align-items: center;
    margin: 0;
  }
  .modal-dialog__footer .button,
  .modal-dialog .modal-footer .button,
  .modal-dialog--fullscreen-mobile .form-modal-actions .button {
    min-height: 44px;
  }
  @media (prefers-reduced-motion: reduce) {
    .modal-dialog,
    .modal-dialog.modal-dialog--fullscreen-mobile {
      transition: none;
    }
  }
  .filter .ranking-filter {
    flex-wrap: nowrap;
    overflow-x: auto;
    white-space: nowrap;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }
  .filter .ranking-filter::-webkit-scrollbar {
    display: none;
  }
  .tab-menu {
    flex-wrap: nowrap;
    overflow-x: auto;
    white-space: nowrap;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    padding: 0;
  }
  .tab-menu::-webkit-scrollbar {
    display: none;
  }
  .hero-banner {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    gap: var(--space-lg);
  }
  .grid-box--submit-hardware {
    grid-template-columns: auto;
  }
  .submission-score-card {
    flex-direction: column;
    align-items: flex-start;
  }
  .submission-score-card .score-details {
    flex-wrap: wrap;
  }
  .submission-score-card .score-details-row {
    flex-wrap: wrap;
  }
  .flex-row--info,
  .flex-row--badges {
    flex-wrap: nowrap;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }
  .flex-row--info {
    margin: var(--space-md) 0;
  }
  .flex-row--info::-webkit-scrollbar,
  .flex-row--badges::-webkit-scrollbar {
    display: none;
  }
  .flex-row--info > *,
  .flex-row--badges > * {
    flex-shrink: 0;
  }
  .profile-banner-wrapper.has-banner .avatar {
    width: 60px;
    height: 60px;
  }
  .profile-banner-wrapper.has-banner .avatar-wrapper {
    bottom: 10px;
    left: 12px;
  }
  .reporting-overview .content .sticky-table table,
  .reporting-overview .content .sticky-table tbody,
  .reporting-overview .content .sticky-table td {
    display: block;
    width: 100%;
    box-sizing: border-box;
  }
  .reporting-overview .content .sticky-table thead {
    display: none;
  }
  .reporting-overview .content .sticky-table tbody tr {
    display: flex;
    flex-direction: column;
    width: 100%;
    box-sizing: border-box;
    background: var(--color-bg-surface);
    border: var(--border-width-sm) solid var(--color-border-standard);
    border-radius: var(--border-radius-sm);
    margin-bottom: var(--space-md);
    padding: var(--space-md);
    box-shadow: var(--shadow-sm);
  }
  .reporting-overview .content .sticky-table tbody tr:nth-child(odd) td,
  .reporting-overview .content .sticky-table tbody tr:nth-child(even) td {
    background-color: transparent;
  }
  .reporting-overview .content .sticky-table tbody tr td {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: var(--space-sm) 0;
    border-bottom: var(--border-width-sm) dashed var(--color-border-light);
    white-space: normal;
  }
  .reporting-overview .content .sticky-table tbody tr td:last-child {
    border-bottom: none;
  }
  .reporting-overview .content .sticky-table tbody tr td[data-label]::before {
    content: attr(data-label);
    font-family: var(--font-heading);
    color: var(--color-text-primary);
    text-transform: uppercase;
    padding-right: var(--space-md);
    white-space: nowrap;
    flex-shrink: 0;
  }
  .reporting-overview .content .sticky-table tbody tr.nested-row {
    margin-top: calc(-1 * var(--space-md) + 2px);
    border-top: none;
    border-top-left-radius: 0;
    border-top-right-radius: 0;
    background: var(--color-bg-card);
    padding-top: var(--space-xs);
  }
  .reporting-overview .content .sticky-table tbody tr.nested-row td {
    padding: 0;
    border-bottom: none;
  }
  .reporting-overview .content .sticky-table tbody tr td.col-benchmark {
    order: 1;
    white-space: normal;
    text-align: right;
  }
  .reporting-overview .content .sticky-table tbody tr td.col-score {
    order: 2;
    font-weight: var(--font-weight-bold);
    color: var(--color-text-primary);
    white-space: nowrap;
  }
  .reporting-overview .content .sticky-table tbody tr td.col-user {
    order: 3;
  }
  .reporting-overview .content .sticky-table tbody tr td.col-hardware {
    order: 4;
    border-top: none;
    padding-top: var(--space-2xs);
    color: var(--color-text-secondary);
  }
  .reporting-overview .content .sticky-table tbody tr td.col-reason {
    order: 5;
  }
  .reporting-overview .content .sticky-table tbody tr td.col-action {
    order: 6;
    white-space: nowrap;
  }
  .result-status-comment .content .event-container,
  .reporting-overview .content .sticky-table .event-container {
    max-height: 200px;
    margin-top: var(--space-sm);
    padding: var(--space-sm) var(--space-md);
    border-left: var(--border-width-md) solid var(--color-text-primary);
  }
  .reporting-overview .content .sticky-table .event-container {
    width: 100%;
  }
  .result-status-comment .content .event-item,
  .reporting-overview .content .sticky-table .event-item {
    flex-direction: column;
    align-items: flex-start;
    gap: var(--space-2xs);
    padding-bottom: var(--space-sm);
    border-bottom: var(--border-width-sm) solid var(--color-bg-hover-dark);
  }
  .reporting-overview .content .sticky-table .event-item:last-child {
    border-bottom: none;
    padding-bottom: 0;
  }
  .reporting-overview .content .sticky-table .event-meta,
  .reporting-overview .content .sticky-table .event-user {
    min-width: unset;
  }
  .reporting-overview .content .search-input-wrapper {
    max-width: 100%;
  }
  .form-filter {
    flex-direction: row;
    flex-wrap: wrap;
    overflow-x: visible;
    overflow-y: visible;
    gap: var(--space-xs);
  }
  .form-filter > * {
    flex-shrink: 0;
    scroll-snap-align: none;
  }
  .modal-body .form-filter {
    flex-wrap: wrap;
    overflow-x: visible;
  }
  .modal-body .form-filter > * {
    scroll-snap-align: none;
  }
  .modal-body #ranking_filter {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: flex-start;
    gap: var(--space-md) var(--space-lg);
    margin-bottom: 0;
  }
  .filter-chips-bar {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    overflow-x: visible;
    overflow-y: visible;
    gap: var(--space-xs);
  }
  .filter-chips-bar > * {
    flex-shrink: 0;
  }
  .filter-chips-list {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-xs);
  }
  .filter-chips-list > * {
    flex-shrink: 0;
  }
}
/*# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vZnJvbnRlbmQvY3NzL2JhZGdlcy5jc3MiLCAiLi4vLi4vLi4vLi4vZnJvbnRlbmQvY3NzL2NvbW1lbnQuY3NzIiwgIi4uLy4uLy4uLy4uL2Zyb250ZW5kL2Nzcy9uYXZpZ2F0aW9uLmNzcyIsICIuLi8uLi8uLi8uLi9mcm9udGVuZC9jc3Mvc2VhcmNoLmNzcyIsICIuLi8uLi8uLi8uLi9mcm9udGVuZC9jc3Mvc2hhcmUuY3NzIiwgIi4uLy4uLy4uLy4uL2Zyb250ZW5kL2Nzcy92b3RlLmNzcyIsICIuLi8uLi8uLi8uLi9mcm9udGVuZC9jc3MveW91dHViZS5jc3MiLCAiLi4vLi4vLi4vLi4vZnJvbnRlbmQvY3NzL3N0eWxlLmNzcyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgSFdCT1QgQmFkZ2UgU3lzdGVtIChiYWRnZXMuY3NzKVxuICAgQ29udGFpbnMgZ2VuZXJpYyBiYWRnZSwgbWVtYmVyIHJvbGUgYmFkZ2VzLCBhbmQgc3RhdHVzL2Nvb2xpbmcvbGVhZ3VlIGJhZGdlc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKiBHZW5lcmljIEJhZGdlICovXG4uYmFkZ2Uge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgbWluLXdpZHRoOiAxOHB4O1xuICAgIGhlaWdodDogMThweDtcbiAgICBwYWRkaW5nOiAwIHZhcigtLXNwYWNlLXhzKTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLWZ1bGwpO1xuICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC1ub25lKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXByaW1hcnkpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LWludmVyc2UpO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbi5idXR0b24gLmJhZGdlIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygtMSAqIHZhcigtLXNwYWNlLXhzKSk7XG59XG5cbi5idXR0b24tLXByaW1hcnkgLmJhZGdlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iZy1zdXJmYWNlKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1wcmltYXJ5KTtcbn1cblxuLyogTWVtYmVyIFJvbGUgQmFkZ2VzICovXG4ubWVtYmVyLXJvbGUtYmFkZ2Uge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS0yeHMpO1xuICAgIHBhZGRpbmc6IHZhcigtLWJvcmRlci13aWR0aC1zbSkgdmFyKC0tc3BhY2UteHMpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMteHMpO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLTJ4cyk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMDNlbTtcbiAgICBsaW5lLWhlaWdodDogdmFyKC0tbGluZS1oZWlnaHQtdGlnaHQpO1xuICAgIGJvcmRlcjogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB0cmFuc3BhcmVudDtcbn1cblxuLm1lbWJlci1yb2xlLWJhZGdlLS1hZG1pbiB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItZXJyb3ItYmcpO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItZXJyb3ItYm9yZGVyKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItZXJyb3ItdGV4dCk7XG59XG5cbi5tZW1iZXItcm9sZS1iYWRnZS0tbW9kIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1pbmZvLWJnKTtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLWluZm8tYm9yZGVyKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItaW5mby10ZXh0KTtcbn1cblxuLm1lbWJlci1yb2xlLWJhZGdlLS1jYXB0YWluIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci13YXJuaW5nLWJnKTtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLXdhcm5pbmctYm9yZGVyKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3Itd2FybmluZy10ZXh0KTtcbn1cblxuLm1lbWJlci1yb2xlLWJhZGdlLS1zdHVkZW50LFxuLm1lbWJlci1yb2xlLWJhZGdlLS1zdHVkZW50LW1vZCB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItdGVhbS1iZyk7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci10ZWFtLWJvcmRlcik7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRlYW0tdGV4dC1kYXJrKTtcbn1cblxuLm1lbWJlci1yb2xlLWJhZGdlLS1tZW1iZXIge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLWNhcmQpO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItYm9yZGVyLXN1YnRsZSk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbn1cblxuLyogU3RhdHVzIEJhZGdlIFN5c3RlbSAqL1xuLnN0YXR1cy1iYWRnZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IHZhcigtLXNwYWNlLXNtKTtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS0yeHMpIHZhcigtLXNwYWNlLXNtKTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLXNtKTtcbiAgICBib3JkZXI6IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgY3VycmVudENvbG9yO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXhzKTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMnB4O1xuICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC1ub25lKTtcbn1cblxuLnN0YXR1cy1iYWRnZSBpIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIGZsZXgtc2hyaW5rOiAwO1xufVxuXG4uc3RhdHVzLWJhZGdlIGk6OmJlZm9yZSB7XG4gICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIDYgRnJlZVwiLCBcIkZvbnQgQXdlc29tZSA1IEZyZWVcIjtcbiAgICBmb250LXdlaWdodDogOTAwO1xufVxuXG4uc3RhdHVzLXZhbHVlIHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG59XG5cbi5zdGF0dXMtc3VjY2Vzcyxcbi5zdGF0dXMtZ3JlZW4ge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1zdWNjZXNzKTtcbn1cbi5zdGF0dXMtc3VjY2VzcyBpOjpiZWZvcmUsXG4uc3RhdHVzLWdyZWVuIGk6OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGYwMGNcIjsgLyogZmEtY2hlY2sgKi9cbn1cblxuLnN0YXR1cy13YXJuaW5nIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3Itd2FybmluZyk7XG59XG4uc3RhdHVzLXdhcm5pbmcgaTo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZjA3MVwiOyAvKiBmYS10cmlhbmdsZS1leGNsYW1hdGlvbiAqL1xufVxuXG4uc3RhdHVzLXVua25vd24sXG4uc3RhdHVzLWdyYXkge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG59XG4uc3RhdHVzLXVua25vd24gaTo6YmVmb3JlLFxuLnN0YXR1cy1ncmF5IGk6OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGYwNWFcIjsgLyogZmEtY2lyY2xlLWluZm8gKi9cbn1cblxuLnN0YXR1cy1wcm9jZXNzaW5nIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG59XG4uc3RhdHVzLXByb2Nlc3NpbmcgaTo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZjFjZVwiOyAvKiBmYS1jaXJjbGUtbm90Y2ggKi9cbn1cblxuLnN0YXR1cy1vcGVuIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3Itc3VjY2Vzcyk7XG59XG4uc3RhdHVzLW9wZW4gaTo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZjNjMVwiOyAvKiBmYS1sb2NrLW9wZW4gKi9cbn1cblxuLnN0YXR1cy1jbG9zZWQge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1lcnJvcik7XG59XG4uc3RhdHVzLWNsb3NlZCBpOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxmMDIzXCI7IC8qIGZhLWxvY2sgKi9cbn1cblxuLnN0YXR1cy1vZmZpY2lhbCBpOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxmMDBjXCI7IC8qIGZhLWNoZWNrICovXG59XG5cbi5zdGF0dXMtb25saW5lIGk6OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGYwYWNcIjsgLyogZmEtZ2xvYmUgKi9cbn1cblxuLnN0YXR1cy1saXZlIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItZXJyb3IpO1xufVxuLnN0YXR1cy1saXZlIGk6OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGYwMDFcIjsgLyogZmEtdG93ZXItYnJvYWRjYXN0ICovXG59XG5cbi5zdGF0dXMtYWN0aXZlIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3Itc3VjY2Vzcyk7XG59XG4uc3RhdHVzLWFjdGl2ZSBpOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxmMDBjXCI7IC8qIGZhLWNoZWNrICovXG59XG5cbi5zdGF0dXMtaW5hY3RpdmUge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG59XG4uc3RhdHVzLWluYWN0aXZlIGk6OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGYwNWVcIjsgLyogZmEtYmFuICovXG59XG5cbi5zdGF0dXMtc3BvbnNvcmVkIGk6OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGYxY2RcIjsgLyogZmEtbGlmZS1yaW5nICovXG59XG5cbi5zdGF0dXMtYmFubmVkIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItZXJyb3IpO1xufVxuLnN0YXR1cy1iYW5uZWQgaTo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZjA1ZVwiOyAvKiBmYS1iYW4gKi9cbn1cblxuLnN0YXR1cy1hZG1pbixcbi5zdGF0dXMtbW9kZXJhdG9yLFxuLnN0YXR1cy1zdHVkZW50LFxuLnN0YXR1cy1zdHVkZW50LW1vZGVyYXRvcixcbi5zdGF0dXMtY2FwdGFpbixcbi5zdGF0dXMtdXNlcixcbi5zdGF0dXMtdGVhbSxcbi5zdGF0dXMtY291bnRyeSxcbi5zdGF0dXMtam9pbmVkLFxuLnN0YXR1cy1zcG9uc29yZWQsXG4uc3RhdHVzLW9ubGluZSxcbi5zdGF0dXMtb2ZmaWNpYWwge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG59XG5cbi5zdGF0dXMtYWRtaW4gaTo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZjRmZVwiOyAvKiBmYS11c2VyLWdlYXIgKi9cbn1cblxuLnN0YXR1cy1tb2RlcmF0b3IgaTo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZjUwOFwiOyAvKiBmYS11c2VyLXRpZSAqL1xufVxuXG4uc3RhdHVzLXN0dWRlbnQgaTo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZjE5ZFwiOyAvKiBmYS1ncmFkdWF0aW9uLWNhcCAqL1xufVxuXG4uc3RhdHVzLXN0dWRlbnQtbW9kZXJhdG9yIGk6OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGY1MDhcIjsgLyogZmEtdXNlci10aWUgKi9cbn1cblxuLnN0YXR1cy1jYXB0YWluIGk6OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGY0ZmVcIjsgLyogZmEtdXNlci1nZWFyICovXG59XG5cbi5zdGF0dXMtdXNlciBpOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxmMDA3XCI7IC8qIGZhLXVzZXIgKi9cbn1cblxuLnN0YXR1cy10ZWFtIGk6OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGYwYzBcIjsgLyogZmEtdXNlcnMgKi9cbn1cblxuLnN0YXR1cy1jb3VudHJ5IGk6OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGYwMjRcIjsgLyogZmEtZmxhZyAqL1xufVxuXG4uc3RhdHVzLWpvaW5lZCBpOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxmMDczXCI7IC8qIGZhLWNhbGVuZGFyICovXG59XG5cbi5zdGF0dXMtam9pbmVkIC5zdGF0dXMtdmFsdWUge1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xufVxuXG5hLnN0YXR1cy1iYWRnZSxcbmEuc3RhdHVzLWJhZGdlOmxpbmssXG5hLnN0YXR1cy1iYWRnZTp2aXNpdGVkIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xufVxuYS5zdGF0dXMtYmFkZ2U6aG92ZXIsXG5hLnN0YXR1cy1iYWRnZTphY3RpdmUge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBvcGFjaXR5OiAwLjg1O1xufVxuXG4uc3RhdHVzLWJhZGdlOmlzKFxuICAgIC5zdGF0dXMtYWRtaW4sXG4gICAgLnN0YXR1cy1tb2RlcmF0b3IsXG4gICAgLnN0YXR1cy1zdHVkZW50LFxuICAgIC5zdGF0dXMtc3R1ZGVudC1tb2RlcmF0b3IsXG4gICAgLnN0YXR1cy1jYXB0YWluLFxuICAgIC5zdGF0dXMtdXNlcixcbiAgICAuc3RhdHVzLXRlYW0sXG4gICAgLnN0YXR1cy1jb3VudHJ5LFxuICAgIC5zdGF0dXMtam9pbmVkLFxuICAgIC5zdGF0dXMtc3BvbnNvcmVkLFxuICAgIC5zdGF0dXMtb25saW5lLFxuICAgIC5zdGF0dXMtb2ZmaWNpYWxcbik6aXMoOmxpbmssIDp2aXNpdGVkLCA6aG92ZXIsIDphY3RpdmUpIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xufVxuXG4vKiBDb29saW5nIEJhZGdlcyAqL1xuLmNvb2xpbmctYWlyLXN0b2NrIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xufVxuLmNvb2xpbmctYWlyLXN0b2NrIGk6OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmNzJlXCI7IH0gLyogZmEtZmFuICovXG5cbi5jb29saW5nLWFpci1jdXN0b20ge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1zdWNjZXNzKTtcbn1cbi5jb29saW5nLWFpci1jdXN0b20gaTo6YmVmb3JlIHsgY29udGVudDogXCJcXGY3MmVcIjsgfSAvKiBmYS1mYW4gKi9cblxuLmNvb2xpbmctd2F0ZXItY3VzdG9tIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG59XG4uY29vbGluZy13YXRlci1jdXN0b20gaTo6YmVmb3JlIHsgY29udGVudDogXCJcXGYwNDNcIjsgfSAvKiBmYS1kcm9wbGV0ICovXG5cbi5jb29saW5nLWFpby13YXRlciB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWFjY2VudCk7XG59XG4uY29vbGluZy1haW8td2F0ZXIgaTo6YmVmb3JlIHsgY29udGVudDogXCJcXGYwNDNcIjsgfSAvKiBmYS1kcm9wbGV0ICovXG5cbi5jb29saW5nLXdhdGVyLWNoaWxsZWQtY29sZCB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xufVxuLmNvb2xpbmctd2F0ZXItY2hpbGxlZC1jb2xkIGk6OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMmRjXCI7IH0gLyogZmEtc25vd2ZsYWtlICovXG5cbi5jb29saW5nLWRyeS1pY2Uge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG59XG4uY29vbGluZy1kcnktaWNlIGk6OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMWIyXCI7IH0gLyogZmEtY3ViZSAqL1xuXG4uY29vbGluZy1zaW5nbGUtc3RhZ2UtcGhhc2UtY2hhbmdlIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG59XG4uY29vbGluZy1zaW5nbGUtc3RhZ2UtcGhhc2UtY2hhbmdlIGk6OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMmRjXCI7IH0gLyogZmEtc25vd2ZsYWtlICovXG5cbi5jb29saW5nLWNhc2NhZGUtcGhhc2UtY2hhbmdlIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG59XG4uY29vbGluZy1jYXNjYWRlLXBoYXNlLWNoYW5nZSBpOjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjJkY1wiOyB9IC8qIGZhLXNub3dmbGFrZSAqL1xuXG4uY29vbGluZy1saXF1aWQtbml0cm9nZW4ge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1saW5rLWhvdmVyKTtcbn1cbi5jb29saW5nLWxpcXVpZC1uaXRyb2dlbiBpOjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjBjM1wiOyB9IC8qIGZhLWZsYXNrICovXG5cbi5jb29saW5nLWxpcXVpZC1oZWxpdW0ge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG59XG4uY29vbGluZy1saXF1aWQtaGVsaXVtIGk6OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmN2E2XCI7IH0gLyogZmEtYXRvbSAqL1xuXG4vKiBMZWFndWUgQmFkZ2VzICovXG4ubGVhZ3VlLWVsaXRlIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3Itd2FybmluZyk7XG59XG4ubGVhZ3VlLWVsaXRlIGk6OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmNTIxXCI7IH0gLyogZmEtY3Jvd24gKi9cblxuLmxlYWd1ZS1leHRyZW1lIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItZXJyb3IpO1xufVxuLmxlYWd1ZS1leHRyZW1lIGk6OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMDZkXCI7IH0gLyogZmEtZmlyZSAqL1xuXG4ubGVhZ3VlLWFwcHJlbnRpY2Uge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1saW5rLWhvdmVyKTtcbn1cbi5sZWFndWUtYXBwcmVudGljZSBpOjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjBkMFwiOyB9IC8qIGZhLW1hZ2ljICovXG5cbi5sZWFndWUtZW50aHVzaWFzdCB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xufVxuLmxlYWd1ZS1lbnRodXNpYXN0IGk6OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMGU3XCI7IH0gLyogZmEtYm9sdCAqL1xuXG4ubGVhZ3VlLW5vdmljZSB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXN1Y2Nlc3MpO1xufVxuLmxlYWd1ZS1ub3ZpY2UgaTo6YmVmb3JlIHsgY29udGVudDogXCJcXGY0ZDhcIjsgfSAvKiBmYS1zZWVkbGluZyAqL1xuXG4ubGVhZ3VlLXJvb2tpZSB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbn1cbi5sZWFndWUtcm9va2llIGk6OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTlkXCI7IH0gLyogZmEtZ3JhZHVhdGlvbi1jYXAgKi9cblxuLyogUmVmZXJlbmNlIEJhZGdlcyAqL1xuLnJlZi1yZXZpZXcge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbn1cbi5yZWYtcmV2aWV3IGk6OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMWU1XCI7IH0gLyogZmEtYmlub2N1bGFycyAqL1xuXG4ucmVmLW5ld3MsXG4ucmVmLXByZXNzLFxuLnJlZi1yb3VuZHVwLFxuLnJlZi1zdGF0aWMtY29udGVudCB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbn1cbi5yZWYtbmV3cyBpOjpiZWZvcmUsXG4ucmVmLXByZXNzIGk6OmJlZm9yZSxcbi5yZWYtcm91bmR1cCBpOjpiZWZvcmUsXG4ucmVmLXN0YXRpYy1jb250ZW50IGk6OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMWVhXCI7IH0gLyogZmEtbmV3c3BhcGVyICovXG5cbi5yZWYtZGlzY3Vzc2lvbiB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xufVxuLnJlZi1kaXNjdXNzaW9uIGk6OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMDg2XCI7IH0gLyogZmEtY29tbWVudHMgKi9cblxuLnJlZi1ydWxlIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3Itd2FybmluZyk7XG59XG4ucmVmLXJ1bGUgaTo6YmVmb3JlIHsgY29udGVudDogXCJcXGYwNmFcIjsgfSAvKiBmYS1jaXJjbGUtZXhjbGFtYXRpb24gKi9cblxuLnJlZi1lc3BvcnRzIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItZXJyb3IpO1xufVxuLnJlZi1lc3BvcnRzIGk6OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMmRiXCI7IH0gLyogZmEtbWljcm9jaGlwICovXG5cbi8qIFBhcnRuZXIgSGFyZHdhcmUgSW5kaWNhdG9yICovXG4ucGFydG5lci1pY29uIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3Itd2FybmluZy1zdGFyKTtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14cyk7XG4gICAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1zcGFjZS0yeHMpO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cbmE6aXMoOmhvdmVyLCA6Zm9jdXMsIDphY3RpdmUpIC5wYXJ0bmVyLWljb24ge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci13YXJuaW5nLXN0YXIpO1xufVxuIiwgIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAqIEhXQk9UIENvbW1lbnQgQ29tcG9uZW50IChjb21tZW50LmNzcylcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmNvbW1lbnQtd2lkZ2V0IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG5cbi5jb21tZW50cy10aXRsZSB7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LWhlYWRpbmcpO1xuICAgIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlLWxnKTtcbn1cblxuLnN1Ym1pdHRlci1xdW90ZS1jYXJkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LWludmVyc2UpO1xuICAgIGJvcmRlci1sZWZ0OiB2YXIoLS1ib3JkZXItd2lkdGgtbGcpIHNvbGlkIHZhcigtLWNvbG9yLXByaW1hcnkpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMteHMpO1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLW1kKSB2YXIoLS1zcGFjZS1sZyk7XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UtbGcpO1xufVxuXG4ucXVvdGUtaGVhZGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGdhcDogdmFyKC0tc3BhY2Utc20pO1xuICAgIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlLXNtKTtcbn1cblxuLnF1b3RlLWF1dGhvciB7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi5xdW90ZS1hdXRob3I6aG92ZXIge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuXG4ucXVvdGUtYWN0aW9uIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xufVxuXG4ucXVvdGUtYm9keSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1oZWFkaW5nKTtcbn1cblxuLnF1b3RlLWljb24ge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LW11dGVkKTtcbiAgICBtYXJnaW4tcmlnaHQ6IHZhcigtLXNwYWNlLXNtKTtcbn1cblxuLmNvbW1lbnRzLXRocmVhZCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogdmFyKC0tc3BhY2UtbWQpO1xuICAgIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlLW1kKTtcbn1cblxuLmNvbW1lbnQtY2FyZCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBnYXA6IHZhcigtLXNwYWNlLW1kKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LWludmVyc2UpO1xuICAgIGJvcmRlcjogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItc3VidGxlKTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLXNtKTtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS1tZCkgdmFyKC0tc3BhY2UtbGcpO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1iYXNlKSwgYm9yZGVyLWNvbG9yIHZhcigtLXRyYW5zaXRpb24tYmFzZSk7XG59XG5cbi5jb21tZW50LWNhcmQtLW5ldyB7XG4gICAgYW5pbWF0aW9uOiBjb21tZW50LWhpZ2hsaWdodCAxLjVzIGVhc2Utb3V0O1xufVxuXG5Aa2V5ZnJhbWVzIGNvbW1lbnQtaGlnaGxpZ2h0IHtcbiAgICAwJSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWluZm8tYmcpO1xuICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLWluZm8tYm9yZGVyKTtcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXRleHQtaW52ZXJzZSk7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItYm9yZGVyLXN1YnRsZSk7XG4gICAgfVxufVxuXG4uY29tbWVudC1jYXJkX19hdmF0YXItbGluayB7XG4gICAgZmxleC1zaHJpbms6IDA7XG59XG5cbi5jb21tZW50LWNhcmRfX2F2YXRhciB7XG4gICAgd2lkdGg6IDM2cHg7XG4gICAgaGVpZ2h0OiAzNnB4O1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtY2lyY2xlKTtcbiAgICBvYmplY3QtZml0OiBjb3Zlcjtcbn1cblxuLmNvbW1lbnQtY2FyZF9fYm9keSB7XG4gICAgZmxleDogMTtcbiAgICBtaW4td2lkdGg6IDA7XG59XG5cbi5jb21tZW50LWNhcmRfX2hlYWRlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogdmFyKC0tc3BhY2UtbWQpO1xuICAgIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlLXNtKTtcbn1cblxuLmNvbW1lbnQtY2FyZF9fYXV0aG9yIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4uY29tbWVudC1jYXJkX19hdXRob3I6aG92ZXIge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuXG4uY29tbWVudC1jYXJkX190aW1lc3RhbXAge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG59XG5cbi5jb21tZW50LWNhcmRfX3RleHQge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LWhlYWRpbmcpO1xuICAgIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7XG59XG5cbi5jb21tZW50LWNhcmRfX3RleHQgaW1nIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogdmFyKC0tc3BhY2UtbWQpIDA7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy14cyk7XG59XG5cbi8qIERpc2NvcmQgLyBXaGF0c0FwcCBTdHlsZSBDb21tZW50IENvbXBvc2VyICovXG4uY29tbWVudC1mb3JtLWJveCB7XG4gICAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2Utc20pO1xufVxuXG4uY29tbWVudC1mb3JtIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS14cyk7XG59XG5cbi5jb21tZW50LWNvbXBvc2VyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS1zbSk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmctc3VyZmFjZSk7XG4gICAgYm9yZGVyOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1zdWJ0bGUpO1xuICAgIGJvcmRlci1yYWRpdXM6IDIycHg7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2UteHMpIHZhcigtLXNwYWNlLXhzKSB2YXIoLS1zcGFjZS14cykgdmFyKC0tc3BhY2Utc20pO1xuICAgIGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdy1zbSk7XG4gICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCksIGJveC1zaGFkb3cgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KTtcbn1cblxuLmNvbW1lbnQtY29tcG9zZXJfX2Vtb2ppLWJ0biB7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gICAgd2lkdGg6IDM2cHg7XG4gICAgaGVpZ2h0OiAzNnB4O1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtY2lyY2xlKTtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1sZyk7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpLCBjb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpO1xufVxuXG4uY29tbWVudC1jb21wb3Nlcl9fZW1vamktYnRuOmhvdmVyLFxuLmNvbW1lbnQtY29tcG9zZXJfX2Vtb2ppLWJ0bi5pcy1hY3RpdmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJnLWhvdmVyKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG59XG5cbi5jb21tZW50LWVtb2ppLXBpY2tlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogY2FsYygxMDAlICsgdmFyKC0tc3BhY2UteHMpKTtcbiAgICBsZWZ0OiAwO1xuICAgIHotaW5kZXg6IDUwO1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNiwgMWZyKTtcbiAgICBnYXA6IDRweDtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS1zbSk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmctc3VyZmFjZSk7XG4gICAgYm9yZGVyOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1zdWJ0bGUpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtbWQpO1xuICAgIGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdy1sZyk7XG59XG5cbi5jb21tZW50LWVtb2ppLXBpY2tlcltoaWRkZW5dIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG4uY29tbWVudC1lbW9qaS1waWNrZXJfX2l0ZW0ge1xuICAgIHdpZHRoOiAzNHB4O1xuICAgIGhlaWdodDogMzRweDtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy14cyk7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KSwgdHJhbnNmb3JtIHZhcigtLXRyYW5zaXRpb24tZmFzdCk7XG59XG5cbi5jb21tZW50LWVtb2ppLXBpY2tlcl9faXRlbTpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmctaG92ZXIpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xNSk7XG59XG5cbi5jb21tZW50LWNvbXBvc2VyOmZvY3VzLXdpdGhpbiB7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbiAgICBib3gtc2hhZG93OiAwIDAgMCAzcHggcmdiYSgyLCAxMzIsIDE5OSwgMC4xNCk7XG59XG5cbi5jb21tZW50LWNvbXBvc2VyLS1ndWVzdCB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS1tZCkgdmFyKC0tc3BhY2UtbGcpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJnLWNhcmQpO1xufVxuXG4uY29tbWVudC1jb21wb3Nlcl9fZ3Vlc3QtaWNvbiB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbXV0ZWQpO1xufVxuXG4uY29tbWVudC1mb3JtX190ZXh0YXJlYSB7XG4gICAgZmxleDogMTtcbiAgICBtaW4td2lkdGg6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWluLWhlaWdodDogMjRweDtcbiAgICBtYXgtaGVpZ2h0OiAxNDBweDtcbiAgICBwYWRkaW5nOiA2cHggMDtcbiAgICBtYXJnaW46IDA7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtaGVhZGluZyk7XG4gICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtc20pO1xuICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC1ub3JtYWwpO1xuICAgIHJlc2l6ZTogbm9uZTtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgY3Vyc29yOiB0ZXh0O1xufVxuXG4uY29tbWVudC1mb3JtX190ZXh0YXJlYTo6cGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LW11dGVkKTtcbn1cblxuLmNvbW1lbnQtZm9ybV9fdGV4dGFyZWE6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG59XG5cbi5jb21tZW50LWNvbXBvc2VyX19zZW5kIHtcbiAgICBmbGV4LXNocmluazogMDtcbiAgICB3aWR0aDogMzZweDtcbiAgICBoZWlnaHQ6IDM2cHg7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1jaXJjbGUpO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC13aGl0ZSk7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpLCB0cmFuc2Zvcm0gdmFyKC0tdHJhbnNpdGlvbi1mYXN0KSwgb3BhY2l0eSB2YXIoLS10cmFuc2l0aW9uLWZhc3QpO1xufVxuXG4uY29tbWVudC1jb21wb3Nlcl9fc2VuZDpob3Zlcjpub3QoOmRpc2FibGVkKSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS1ob3Zlcik7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjA0KTtcbn1cblxuLmNvbW1lbnQtY29tcG9zZXJfX3NlbmQ6YWN0aXZlOm5vdCg6ZGlzYWJsZWQpIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOTYpO1xufVxuXG4uY29tbWVudC1jb21wb3Nlcl9fc2VuZDpkaXNhYmxlZCxcbi5jb21tZW50LWNvbXBvc2VyX19zZW5kLmlzLXN1Ym1pdHRpbmcge1xuICAgIG9wYWNpdHk6IDAuNDU7XG4gICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbn1cblxuLmNvbW1lbnQtY29tcG9zZXJfX2hpbnQge1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLTJ4cyk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbXV0ZWQpO1xuICAgIHBhZGRpbmc6IDAgdmFyKC0tc3BhY2UtbWQpO1xufVxuXG4uY29tbWVudC1jb21wb3Nlcl9faGludCBrYmQge1xuICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LW1vbm8pO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLTN4cyk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmctc3VyZmFjZSk7XG4gICAgYm9yZGVyOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1zdWJ0bGUpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMteHMpO1xuICAgIHBhZGRpbmc6IDFweCA0cHg7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbn1cblxuLmNvbW1lbnQtZm9ybV9fbG9naW4tbm90aWNlIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cbiIsICIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBIV0JPVCBOYXZpZ2F0aW9uIENvbXBvbmVudCAobmF2aWdhdGlvbi5jc3MpXG4gICBQYWlyZWQgd2l0aCB0YWdzL25hdmlnYXRpb24uanRlXG4gICBDb250YWlucyBiYXNlLCBkZXNrdG9wIChAbWVkaWEgbWluLXdpZHRoOiAxMjAxcHgpLCBhbmQgbW9iaWxlIChAbWVkaWEgbWF4LXdpZHRoOiAxMjAwcHgpIHN0eWxlc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAxLiBCYXNlIE5hdmlnYXRpb24gJiBNb2JpbGUgQmFyXG4gICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4ubmF2aWdhdGlvbiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLWRhcmspO1xuICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xufVxuXG4ubmF2IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1oZWFkaW5nKTtcbn1cblxuLyogQWNjb3VudCBEcm9wZG93biAqL1xuLm5hdl9fZHJvcGRvd24ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLm5hdl9fZHJvcGRvd24tbWVudSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogY2FsYygxMDAlICsgOHB4KTtcbiAgICByaWdodDogMDtcbiAgICBtaW4td2lkdGg6IDIwMHB4O1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLXNtKSAwO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLXN1cmZhY2UpO1xuICAgIGJvcmRlcjogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItbGlnaHQpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpO1xuICAgIGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdy1tZCk7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB6LWluZGV4OiB2YXIoLS16LWluZGV4LWRyb3Bkb3duKTtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTZweCk7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSB2YXIoLS10cmFuc2l0aW9uLWJhc2UpLCB0cmFuc2Zvcm0gdmFyKC0tdHJhbnNpdGlvbi1iYXNlKSwgdmlzaWJpbGl0eSB2YXIoLS10cmFuc2l0aW9uLWJhc2UpO1xufVxuXG4ubmF2X19kcm9wZG93bi0tb3BlbiAubmF2X19kcm9wZG93bi1tZW51IHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xufVxuXG4ubmF2X19kcm9wZG93bi1oZWFkZXIge1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLW1kKSB2YXIoLS1zcGFjZS1sZyk7XG4gICAgYm9yZGVyLWJvdHRvbTogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItbGlnaHQpO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLWhvdmVyKTtcbn1cblxuLm5hdl9fZHJvcGRvd24tdXNlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXByaW1hcnkpO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLm5hdl9fZHJvcGRvd24taXRlbSxcbi5uYXZfX2Ryb3Bkb3duLWl0ZW06dmlzaXRlZCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogdmFyKC0tc3BhY2Utc20pO1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLW1kKSB2YXIoLS1zcGFjZS1sZyk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtcHJpbWFyeSk7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KSwgY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KTtcbn1cblxuLm5hdl9fZHJvcGRvd24taXRlbTppcyg6aG92ZXIsIDpmb2N1cy12aXNpYmxlLCA6YWN0aXZlKSB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctaG92ZXIpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXByaW1hcnkpO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLm5hdl9fZHJvcGRvd24taXRlbSBpIHtcbiAgICB3aWR0aDogMTZweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpO1xufVxuXG4ubmF2X19kcm9wZG93bi1pdGVtOmlzKDpob3ZlciwgOmZvY3VzLXZpc2libGUpIGkge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXByaW1hcnkpO1xufVxuXG4ubmF2X19kcm9wZG93bi1kaXZpZGVyIHtcbiAgICBoZWlnaHQ6IDFweDtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1ib3JkZXItbGlnaHQpO1xuICAgIG1hcmdpbjogdmFyKC0tc3BhY2UteHMpIDA7XG59XG5cbi5uYXZfX2Ryb3Bkb3duLWl0ZW0tLWxvZ291dCxcbi5uYXZfX2Ryb3Bkb3duLWl0ZW0tLWxvZ291dDp2aXNpdGVkIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItZXJyb3IpO1xufVxuXG4ubmF2X19kcm9wZG93bi1pdGVtLS1sb2dvdXQgaSB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWVycm9yKTtcbn1cblxuLm5hdl9fZHJvcGRvd24taXRlbS0tbG9nb3V0OmlzKDpob3ZlciwgOmZvY3VzLXZpc2libGUsIDphY3RpdmUpIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1lcnJvci1iZyk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWVycm9yLXRleHQpO1xufVxuXG4ubmF2X19kcm9wZG93bi1pdGVtLS1sb2dvdXQ6aXMoOmhvdmVyLCA6Zm9jdXMtdmlzaWJsZSkgaSB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWVycm9yLXRleHQpO1xufVxuXG4ubmF2X19vdmVybGF5IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICBpbnNldDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgzLCA2LCAyMywgMC43KTtcbiAgICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoMnB4KTtcbiAgICB6LWluZGV4OiB2YXIoLS16LWluZGV4LWJhY2tkcm9wKTtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IHZhcigtLXRyYW5zaXRpb24tYmFzZSksIHZpc2liaWxpdHkgdmFyKC0tdHJhbnNpdGlvbi1iYXNlKTtcbn1cblxuLm5hdl9fZHJhd2VyIHtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuLm5hdl9fZHJhd2VyLWhlYWRlciB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS1sZyk7XG4gICAgYm9yZGVyLWJvdHRvbTogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMSk7XG59XG5cbi5uYXZfX2RyYXdlci10aXRsZSB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtd2hpdGUpO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuNXB4O1xufVxuXG4ubmF2X19jbG9zZSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHdpZHRoOiA0MHB4O1xuICAgIGhlaWdodDogNDBweDtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1zbSk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtaW52ZXJzZSk7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgdmFyKC0tdHJhbnNpdGlvbi1iYXNlKSwgY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1iYXNlKTtcbn1cblxuLm5hdl9fY2xvc2U6aXMoOmhvdmVyLCA6Zm9jdXMtdmlzaWJsZSkge1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC13aGl0ZSk7XG59XG5cbi5uYXZfX2xpc3Qge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG59XG5cbi5uYXZfX2l0ZW0ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLm5hdl9fbGluayxcbi5uYXZfX2xpbms6bGluayxcbi5uYXZfX2xpbms6dmlzaXRlZCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLW1kKSB2YXIoLS1zcGFjZS1sZyk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbXV0ZWQpO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4zcHg7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCB2YXIoLS10cmFuc2l0aW9uLWJhc2UpLCBjb2xvciB2YXIoLS10cmFuc2l0aW9uLWJhc2UpO1xufVxuXG4ubmF2X19saW5rOmlzKDpob3ZlciwgOmZvY3VzLXZpc2libGUsIDphY3RpdmUpIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy1ob3Zlci1kYXJrKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC13aGl0ZSk7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4ubmF2X19saW5rLXJvdyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuLm5hdl9fc3ViLXRvZ2dsZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuLm5hdl9fc3ViIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xufVxuXG4ubmF2X19zdWItbGluayxcbi5uYXZfX3N1Yi1saW5rOmxpbmssXG4ubmF2X19zdWItbGluazp2aXNpdGVkIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS1tZCkgdmFyKC0tc3BhY2UtbGcpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXByaW1hcnkpO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIHZhcigtLXRyYW5zaXRpb24tZmFzdCksIGNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCk7XG59XG5cbi5uYXZfX3N1Yi1saW5rOmlzKDpob3ZlciwgOmZvY3VzLXZpc2libGUsIDphY3RpdmUpIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy1ob3Zlci1kYXJrKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1pbnZlcnNlKTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi8qIFN1Ym1pdCBTY29yZSBMaW5rICovXG4ubmF2X19pdGVtLS1jdGEge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLm5hdl9fbGluay0tY3RhIHtcbiAgICBnYXA6IHZhcigtLXNwYWNlLXNtKTtcbn1cblxuLm5hdl9fbGluay0tY3RhIGkge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1hY2NlbnQpO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIHZhcigtLXRyYW5zaXRpb24tYmFzZSk7XG59XG5cbi5uYXZfX2xpbmstLWN0YTppcyg6aG92ZXIsIDpmb2N1cy12aXNpYmxlKSBpIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItaGlnaGxpZ2h0KTtcbn1cblxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAyLiBEZXNrdG9wIE5hdmlnYXRpb24gKG1pbi13aWR0aDogMTIwMXB4KVxuICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwMXB4KSB7XG4gICAgLm5hdl9fbGlzdCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAubmF2X19pdGVtLS1jdGEge1xuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICB9XG5cbiAgICAubmF2X19pdGVtLS1oYXMtc3ViID4gLm5hdl9fbGluay1yb3cgPiAubmF2X19saW5rOjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgbWFyZ2luLWxlZnQ6IHZhcigtLXNwYWNlLXNtKTtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgYm9yZGVyLXRvcDogdmFyKC0tYm9yZGVyLXdpZHRoLWxnKSBzb2xpZCB2YXIoLS1jb2xvci1hY2NlbnQpO1xuICAgICAgICBib3JkZXItcmlnaHQ6IHZhcigtLWJvcmRlci13aWR0aC1sZykgc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlci1sZWZ0OiB2YXIoLS1ib3JkZXItd2lkdGgtbGcpIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gdmFyKC0tdHJhbnNpdGlvbi1iYXNlKSwgYm9yZGVyLXRvcC1jb2xvciB2YXIoLS10cmFuc2l0aW9uLWJhc2UpO1xuICAgIH1cblxuICAgIC5uYXZfX2l0ZW0tLWhhcy1zdWI6aXMoOmhvdmVyLCA6Zm9jdXMtd2l0aGluKSA+IC5uYXZfX2xpbmstcm93ID4gLm5hdl9fbGluazo6YWZ0ZXIge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICAgICAgICBib3JkZXItdG9wLWNvbG9yOiB2YXIoLS1jb2xvci1oaWdobGlnaHQpO1xuICAgIH1cblxuICAgIC5uYXZfX3N1YiB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAxMDAlO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBtaW4td2lkdGg6IDI0MHB4O1xuICAgICAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS1zbSkgMDtcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctc3VyZmFjZSk7XG4gICAgICAgIGJvcmRlcjogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItbGlnaHQpO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwIDAgdmFyKC0tYm9yZGVyLXJhZGl1cy1zbSkgdmFyKC0tYm9yZGVyLXJhZGl1cy1zbSk7XG4gICAgICAgIGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdy1sZyk7XG4gICAgICAgIHotaW5kZXg6IHZhcigtLXotaW5kZXgtZHJvcGRvd24pO1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg2cHgpO1xuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSB2YXIoLS10cmFuc2l0aW9uLWJhc2UpLCB0cmFuc2Zvcm0gdmFyKC0tdHJhbnNpdGlvbi1iYXNlKSwgdmlzaWJpbGl0eSB2YXIoLS10cmFuc2l0aW9uLWJhc2UpO1xuICAgIH1cblxuICAgIC8qIEhvdmVyIGJyaWRnZSBwcmV2ZW50aW5nIGN1cnNvciBkcm9wcyAqL1xuICAgIC5uYXZfX3N1Yjo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IC02cHg7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBoZWlnaHQ6IDZweDtcbiAgICB9XG5cbiAgICAubmF2X19pdGVtLS1oYXMtc3ViOmlzKDpob3ZlciwgOmZvY3VzLXdpdGhpbikgPiAubmF2X19zdWIge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuICAgIH1cblxuICAgIC8qIERlc2t0b3AgSGVhZGVyICYgTmF2aWdhdGlvbiBCYXIgKi9cbiAgICAuaGVhZGVyLFxuICAgIC5uYXZpZ2F0aW9uIHtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDEgLyAtMTtcbiAgICB9XG5cbiAgICAuaGVhZGVyIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIC5oZWFkZXJfX3RvcC1iYXIge1xuICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IGF1dG8gbWlubWF4KDI4MHB4LCAxZnIpIGF1dG8gYXV0bztcbiAgICAgICAgZ2FwOiB2YXIoLS1zcGFjZS1tZCkgdmFyKC0tc3BhY2UteGwpO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS1zbSkgdmFyKC0tc3BhY2UtbGcpO1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAuaGVhZGVyIC5sb2dvLXdyYXBwZXIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBnYXA6IHZhcigtLXNwYWNlLXNtKTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB6LWluZGV4OiAxMDAwO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIH1cblxuICAgIC5oZWFkZXIgLnBhdHJlb24ge1xuICAgICAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS0zeGwpO1xuICAgIH1cblxuICAgIC5oZWFkZXIgLnBhdHJlb24gYSxcbiAgICAuaGVhZGVyIC5wYXRyZW9uIGE6bGluayxcbiAgICAuaGVhZGVyIC5wYXRyZW9uIGE6dmlzaXRlZCB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1iZy1kYXJrKTtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpO1xuICAgIH1cblxuICAgIC5oZWFkZXIgLnBhdHJlb24gYTppcyg6aG92ZXIsIDpmb2N1cy12aXNpYmxlLCA6YWN0aXZlKSB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1saW5rKTtcbiAgICB9XG5cbiAgICAuaGVhZGVyIC5nbG9iYWwtc2VhcmNoLXdyYXBwZXIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB9XG5cbiAgICAuaGVhZGVyIC5wYXJ0bmVyLXdyYXBwZXIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBnYXA6IHZhcigtLXNwYWNlLXNtKTtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LW11dGVkKTtcbiAgICAgICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtaGVhZGluZyk7XG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXhzKTtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB9XG5cbiAgICAuaGVhZGVyIC5wYXJ0bmVyLXdyYXBwZXIgLnBsYXRpbnVtLXBhcnRuZXIgaW1nIHtcbiAgICAgICAgaGVpZ2h0OiB2YXIoLS1wYXJ0bmVyLWxvZ28taGVpZ2h0KTtcbiAgICAgICAgbWF4LWhlaWdodDogMjhweDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgLmhlYWRlciAuYWNjb3VudC13cmFwcGVyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgICAganVzdGlmeS1zZWxmOiBlbmQ7XG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXNtKTtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbXV0ZWQpO1xuICAgICAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1oZWFkaW5nKTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgfVxuXG4gICAgLmhlYWRlciAuYWNjb3VudC13cmFwcGVyIC5ncmlkIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGdhcDogdmFyKC0tc3BhY2UteHMpO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgLmhlYWRlciAuYWNjb3VudC13cmFwcGVyIC5ncmlkIGkge1xuICAgICAgICBmb250LXNpemU6IHZhcigtLWhlYWRlci1pY29uLXNpemUpO1xuICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgbWluLWhlaWdodDogMjBweDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIH1cblxuICAgIC5oZWFkZXIgLmFjY291bnQtd3JhcHBlciAuZ3JpZCAuaGVhZGVyLWF2YXRhci1pbWctLWRlc2t0b3Age1xuICAgICAgICB3aWR0aDogMjBweDtcbiAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLWNpcmNsZSk7XG4gICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjI1KTtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB9XG5cbiAgICAuaGVhZGVyIC5hY2NvdW50IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBnYXA6IHZhcigtLXNwYWNlLTJ4cyk7XG4gICAgfVxuXG4gICAgLmhlYWRlciAuYWNjb3VudCBsaSB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LW11dGVkKTtcbiAgICAgICAgcGFkZGluZzogdmFyKC0tc3BhY2UtcykgdmFyKC0tc3BhY2Utc20pO1xuICAgIH1cblxuICAgIC5oZWFkZXIgLmFjY291bnQgYSxcbiAgICAuaGVhZGVyIC5hY2NvdW50IGE6bGluayxcbiAgICAuaGVhZGVyIC5hY2NvdW50IGE6dmlzaXRlZCB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LW11dGVkKTtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpO1xuICAgIH1cblxuICAgIC5oZWFkZXIgLmFjY291bnQgYTpob3ZlcixcbiAgICAuaGVhZGVyIC5hY2NvdW50IGE6YWN0aXZlIHtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtd2hpdGUpO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgfVxufVxuXG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgIDMuIE1vYmlsZSBOYXZpZ2F0aW9uIERyYXdlciAobWF4LXdpZHRoOiAxMjAwcHgpXG4gICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMjAwcHgpIHtcbiAgICAubmF2aWdhdGlvbiB7XG4gICAgICAgIGRpc3BsYXk6IGNvbnRlbnRzO1xuICAgIH1cblxuICAgIC5uYXZfX292ZXJsYXkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICAubmF2LS1vcGVuIC5uYXZfX292ZXJsYXkge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgICB9XG5cbiAgICAubmF2X19kcmF3ZXIge1xuICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgd2lkdGg6IDMyMHB4O1xuICAgICAgICBtYXgtd2lkdGg6IDg1dnc7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctZGFyayk7XG4gICAgICAgIHotaW5kZXg6IHZhcigtLXotaW5kZXgtZHJhd2VyKTtcbiAgICAgICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICAgICAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpO1xuICAgICAgICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtO1xuICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gdmFyKC0tdHJhbnNpdGlvbi1zbW9vdGgpO1xuICAgIH1cblxuICAgIC5uYXYtLW9wZW4gLm5hdl9fZHJhd2VyIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgIH1cblxuICAgIC5uYXZfX2RyYXdlci1oZWFkZXIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgIH1cblxuICAgIC5uYXZfX2xpc3Qge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgcGFkZGluZzogdmFyKC0tc3BhY2Utc20pIDAgdmFyKC0tc3BhY2UtMnhsKSAwO1xuICAgIH1cblxuICAgIC5uYXZfX2xpbmstcm93IHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDUpO1xuICAgIH1cblxuICAgIC5uYXZfX2xpbmssXG4gICAgLm5hdl9fbGluazpsaW5rLFxuICAgIC5uYXZfX2xpbms6dmlzaXRlZCB7XG4gICAgICAgIGZsZXg6IDE7XG4gICAgICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLWxnKTtcbiAgICB9XG5cbiAgICAubmF2X19saW5rLXJvdzppcyg6aG92ZXIsIDpmb2N1cy13aXRoaW4pLFxuICAgIC5uYXZfX2xpbms6aXMoOmhvdmVyLCA6Zm9jdXMtdmlzaWJsZSkge1xuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDgpO1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC13aGl0ZSk7XG4gICAgfVxuXG4gICAgLm5hdl9fc3ViLXRvZ2dsZSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICB3aWR0aDogNDhweDtcbiAgICAgICAgaGVpZ2h0OiA0OHB4O1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItYWNjZW50KTtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIHZhcigtLXRyYW5zaXRpb24tYmFzZSksIGNvbG9yIHZhcigtLXRyYW5zaXRpb24tYmFzZSk7XG4gICAgfVxuXG4gICAgLm5hdl9fc3ViLXRvZ2dsZTppcyg6aG92ZXIsIDpmb2N1cy12aXNpYmxlKSB7XG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xMik7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1oaWdobGlnaHQpO1xuICAgIH1cblxuICAgIC5uYXZfX2l0ZW0tLW9wZW4gLm5hdl9fc3ViLXRvZ2dsZSBpIHtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWhpZ2hsaWdodCk7XG4gICAgfVxuXG4gICAgLm5hdl9fc3ViIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgcGFkZGluZzogdmFyKC0tc3BhY2UteHMpIDA7XG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4yKTtcbiAgICB9XG5cbiAgICAubmF2X19pdGVtLS1vcGVuIC5uYXZfX3N1YiB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgIC5uYXZfX3N1Yi1saW5rLFxuICAgIC5uYXZfX3N1Yi1saW5rOmxpbmssXG4gICAgLm5hdl9fc3ViLWxpbms6dmlzaXRlZCB7XG4gICAgICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLW1kKSB2YXIoLS1zcGFjZS1sZykgdmFyKC0tc3BhY2UtbWQpIHZhcigtLXNwYWNlLTJ4bCk7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LWludmVyc2UpO1xuICAgIH1cblxuICAgIC5uYXZfX3N1Yi1saW5rOmlzKDpob3ZlciwgOmZvY3VzLXZpc2libGUsIDphY3RpdmUpIHtcbiAgICAgICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEyKTtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtd2hpdGUpO1xuICAgIH1cblxuICAgIC5uYXZfX2xpbmstLWN0YSB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIC8qIE1vYmlsZSBIZWFkZXIgJiBTbWFydCBTdGlja3kgUGFydG5lciBSb3cgKi9cbiAgICAuaGVhZGVyIHtcbiAgICAgICAgcG9zaXRpb246IHN0aWNreTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICB6LWluZGV4OiA5MDA7XG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLWRhcmspO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgYm94LXNoYWRvdzogMCAycHggOHB4IHJnYmEoMCwgMCwgMCwgMC4yNSk7XG4gICAgfVxuXG4gICAgLmhlYWRlcl9fdG9wLWJhciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgcGFkZGluZzogdmFyKC0tc3BhY2UteHMpIHZhcigtLXNwYWNlLW1kKTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDUycHg7XG4gICAgfVxuXG4gICAgLmhlYWRlciAubG9nby13cmFwcGVyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB9XG5cbiAgICAuaGVhZGVyIC5sb2dvIGltZyB7XG4gICAgICAgIGhlaWdodDogMjhweDtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgIC5oZWFkZXJfX21vYmlsZS1hY3Rpb25zIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZ2FwOiB2YXIoLS1zcGFjZS14cyk7XG4gICAgfVxuXG4gICAgLmhlYWRlcl9fYWN0aW9uLWJ0biB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgd2lkdGg6IDQwcHg7XG4gICAgICAgIGhlaWdodDogNDBweDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA4KTtcbiAgICAgICAgYm9yZGVyOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xNSk7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtY2lyY2xlKTtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtaW52ZXJzZSk7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgdmFyKC0tdHJhbnNpdGlvbi1iYXNlKSwgYm9yZGVyLWNvbG9yIHZhcigtLXRyYW5zaXRpb24tYmFzZSksIGNvbG9yIHZhcigtLXRyYW5zaXRpb24tYmFzZSk7XG4gICAgfVxuXG4gICAgLmhlYWRlcl9fYWN0aW9uLWJ0bjppcyg6aG92ZXIsIDpmb2N1cy12aXNpYmxlKSxcbiAgICAubmF2X19kcm9wZG93bi0tb3BlbiAuaGVhZGVyX19hY3Rpb24tYnRuLS1hY2NvdW50IHtcbiAgICAgICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE4KTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMzUpO1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC13aGl0ZSk7XG4gICAgfVxuXG4gICAgLmhlYWRlcl9fYWN0aW9uLWJ0bjpmb2N1cy12aXNpYmxlIHtcbiAgICAgICAgb3V0bGluZTogMnB4IHNvbGlkIHZhcigtLWNvbG9yLWFjY2VudCk7XG4gICAgICAgIG91dGxpbmUtb2Zmc2V0OiAycHg7XG4gICAgfVxuXG4gICAgLmhlYWRlcl9fYWN0aW9uLWJ0biBpIHtcbiAgICAgICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtYmFzZSk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIH1cblxuICAgIC5oZWFkZXItYXZhdGFyLWltZyB7XG4gICAgICAgIHdpZHRoOiAzMnB4O1xuICAgICAgICBoZWlnaHQ6IDMycHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtY2lyY2xlKTtcbiAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgIC5wYXJ0bmVyLXdyYXBwZXItLW1vYmlsZSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGdhcDogdmFyKC0tc3BhY2UteHMpIHZhcigtLXNwYWNlLXNtKTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIHBhZGRpbmc6IDZweCB2YXIoLS1zcGFjZS1tZCk7XG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4yNSk7XG4gICAgICAgIGJvcmRlci10b3A6IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA4KTtcbiAgICAgICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtaGVhZGluZyk7XG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLTJ4cyk7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LW11dGVkKTtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMDVlbTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgbWF4LWhlaWdodDogNDhweDtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgICAgICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0IDAuMjhzIGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSksXG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHkgMC4yMnMgZWFzZSxcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZyAwLjI4cyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIsIDEpLFxuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm0gMC4yOHMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKSxcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXRvcC13aWR0aCAwLjI4cyBlYXNlO1xuICAgIH1cblxuICAgIC5wYXJ0bmVyLXdyYXBwZXItLW1vYmlsZSAucGxhdGludW0tcGFydG5lciBpbWcge1xuICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICAuaGVhZGVyLS1wYXJ0bmVyLWhpZGRlbiAucGFydG5lci13cmFwcGVyLS1tb2JpbGUge1xuICAgICAgICBtYXgtaGVpZ2h0OiAwO1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICAgIGJvcmRlci10b3Atd2lkdGg6IDA7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtOHB4KTtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgfVxufVxuIiwgIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEhXQk9UIEdsb2JhbCBTZWFyY2ggQ29tcG9uZW50IChzZWFyY2guY3NzKVxuICAgUGFpcmVkIHdpdGggdGFncy9zZWFyY2htb2RhbC5qdGUgYW5kIG1vZHVsZXMvc2VhcmNoLnRzXG4gICBDb250YWlucyBiYXNlLCBkZXNrdG9wIChAbWVkaWEgbWluLXdpZHRoOiAxMjAxcHgpLCBhbmQgbW9iaWxlIChAbWVkaWEgbWF4LXdpZHRoOiAxMjAwcHgpIHN0eWxlc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAxLiBCYXNlICYgQmFja2Ryb3AgLyBTY3JvbGwgTG9jayBTdHlsZXNcbiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbmh0bWwuc2VhcmNoLW9wZW4sXG5ib2R5LnNlYXJjaC1vcGVuIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgICBvdmVyc2Nyb2xsLWJlaGF2aW9yOiBub25lO1xuICAgIHRvdWNoLWFjdGlvbjogbm9uZTtcbn1cblxuLmdsb2JhbC1zZWFyY2gtYmFja2Ryb3Age1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIGluc2V0OiAwO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgzLCA2LCAyMywgMC43NSk7XG4gICAgYmFja2Ryb3AtZmlsdGVyOiBibHVyKDRweCk7XG4gICAgLXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI6IGJsdXIoNHB4KTtcbiAgICB6LWluZGV4OiB2YXIoLS16LWluZGV4LWJhY2tkcm9wKTtcbiAgICBvdmVyc2Nyb2xsLWJlaGF2aW9yOiBub25lO1xuICAgIHRvdWNoLWFjdGlvbjogbm9uZTtcbn1cblxuLmdsb2JhbC1zZWFyY2gsXG4uZ2xvYmFsLXNlYXJjaC13cmFwcGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5nbG9iYWwtc2VhcmNoLWJ1dHRvbiB7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtbGcpO1xufVxuXG4uZ2xvYmFsLXNlYXJjaC1hdXRvY29tcGxldGUge1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXNtKTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy1uYXZ5KTtcbiAgICBib3JkZXItcmFkaXVzOiAwIDAgdmFyKC0tYm9yZGVyLXJhZGl1cykgdmFyKC0tYm9yZGVyLXJhZGl1cyk7XG4gICAgYm94LXNoYWRvdzogdmFyKC0tc2hhZG93LWxnKTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4uZ2xvYmFsLXNlYXJjaC1hdXRvY29tcGxldGUtaGVhZGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLXNtKSB2YXIoLS1zcGFjZS1tZCk7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctbmF2eSk7XG4gICAgYm9yZGVyLWJvdHRvbTogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDgpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LW11dGVkKTtcbn1cblxuLmdsb2JhbC1zZWFyY2gtaGVhZGVyLXRvb2xzIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS1zbSk7XG59XG5cbi5nbG9iYWwtc2VhcmNoLXNwaW5uZXIge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWFjY2VudCk7XG59XG5cbi5nbG9iYWwtc2VhcmNoLWNvbnRlbnQge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2Utc20pIHZhcigtLXNwYWNlLW1kKSB2YXIoLS1zcGFjZS14bCk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmctZGFyayk7XG59XG5cbi5nbG9iYWwtc2VhcmNoLWNvbnRlbnQgLmNhdGVnb3J5LWhlYWRlciB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS1zbSk7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2Utc20pIHZhcigtLXNwYWNlLW1kKTtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDgpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtc20pO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1ib3JkZXItZGFzaGVkKTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMDVlbTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuXG4uZ2xvYmFsLXNlYXJjaC1jb250ZW50IC5jYXRlZ29yeS1oZWFkZXIgaSB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWhpZ2hsaWdodCk7XG59XG5cbi5nbG9iYWwtc2VhcmNoLWNvbnRlbnQgLmNhdGVnb3J5LWJhZGdlIHtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS0yeHMpIHZhcigtLXNwYWNlLXNtKTtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTUpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtZnVsbCk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtd2hpdGUpO1xufVxuXG4uZ2xvYmFsLXNlYXJjaC1jb250ZW50IC5zZWFyY2gtaXRlbS1saXN0IHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IHZhcigtLXNwYWNlLXhzKSAwIDA7XG59XG5cbi5nbG9iYWwtc2VhcmNoLWNvbnRlbnQgLnNlYXJjaC1pdGVtIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJvcmRlci1ib3R0b206IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA2KTtcbn1cblxuLmdsb2JhbC1zZWFyY2gtY29udGVudCAuc2VhcmNoLWl0ZW06bGFzdC1jaGlsZCB7XG4gICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbn1cblxuLmdsb2JhbC1zZWFyY2gtY29udGVudCAuaXRlbS1saW5rLFxuLmdsb2JhbC1zZWFyY2gtY29udGVudCAuaXRlbS1saW5rOmxpbmssXG4uZ2xvYmFsLXNlYXJjaC1jb250ZW50IC5pdGVtLWxpbms6dmlzaXRlZCB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1pbi13aWR0aDogMDtcbiAgICBtaW4taGVpZ2h0OiAyNXB4O1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLW1kKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1pbnZlcnNlKTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy14cyk7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpLCBjb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpLCB0cmFuc2Zvcm0gdmFyKC0tdHJhbnNpdGlvbi1mYXN0KTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4uZ2xvYmFsLXNlYXJjaC1jb250ZW50IC5pdGVtLW5hbWUge1xuICAgIGZsZXg6IDE7XG4gICAgbWluLXdpZHRoOiAwO1xuICAgIG92ZXJmbG93LXdyYXA6IGFueXdoZXJlO1xuICAgIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7XG59XG5cbi5nbG9iYWwtc2VhcmNoLWNvbnRlbnQgLml0ZW0tbGluazpob3Zlcixcbi5nbG9iYWwtc2VhcmNoLWNvbnRlbnQgLml0ZW0tbGluazpmb2N1cyxcbi5nbG9iYWwtc2VhcmNoLWNvbnRlbnQgLml0ZW0tbGluazphY3RpdmUsXG4uZ2xvYmFsLXNlYXJjaC1jb250ZW50IC5pdGVtLWxpbmsuaXMtYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTIpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXdoaXRlKTtcbiAgICBvdXRsaW5lOiBub25lO1xufVxuXG4uZ2xvYmFsLXNlYXJjaC1jb250ZW50IC5pdGVtLWFycm93IHtcbiAgICBmbGV4LXNocmluazogMDtcbiAgICBtYXJnaW4tbGVmdDogdmFyKC0tc3BhY2Utc20pO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KSwgdHJhbnNmb3JtIHZhcigtLXRyYW5zaXRpb24tZmFzdCk7XG59XG5cbi5nbG9iYWwtc2VhcmNoLWNvbnRlbnQgLml0ZW0tbGluazppcyg6aG92ZXIsIDpmb2N1cywgOmFjdGl2ZSwgLmlzLWFjdGl2ZSkgLml0ZW0tYXJyb3cge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1hY2NlbnQpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgzcHgpO1xufVxuXG4uZ2xvYmFsLXNlYXJjaC1jb250ZW50IC5zZWFyY2gtZW1wdHktc3RhdGUsXG4uZ2xvYmFsLXNlYXJjaC1jb250ZW50IC5zZWFyY2gtcHJvbXB0LXN0YXRlIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmc6IDQwcHggdmFyKC0tc3BhY2UtbGcpO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1tdXRlZCk7XG59XG5cbi5nbG9iYWwtc2VhcmNoLWNvbnRlbnQgLmVtcHR5LWljb24sXG4uZ2xvYmFsLXNlYXJjaC1jb250ZW50IC5wcm9tcHQtaWNvbiB7XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UtbWQpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG59XG5cbi5nbG9iYWwtc2VhcmNoLWNvbnRlbnQgLnByb21wdC1pY29uIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItaGlnaGxpZ2h0KTtcbn1cblxuLmdsb2JhbC1zZWFyY2gtY29udGVudCAuZW1wdHktdGl0bGUsXG4uZ2xvYmFsLXNlYXJjaC1jb250ZW50IC5wcm9tcHQtdGl0bGUge1xuICAgIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlLXNtKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1pbnZlcnNlKTtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1sZyk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xufVxuXG4uZ2xvYmFsLXNlYXJjaC1jb250ZW50IC5lbXB0eS1zdWJ0aXRsZSxcbi5nbG9iYWwtc2VhcmNoLWNvbnRlbnQgLnByb21wdC1zdWJ0aXRsZSB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXgtd2lkdGg6IDMyMHB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXNtKTtcbiAgICBsaW5lLWhlaWdodDogdmFyKC0tbGluZS1oZWlnaHQtbm9ybWFsKTtcbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgMi4gRGVza3RvcCBTZWFyY2ggKG1pbi13aWR0aDogMTIwMXB4KVxuICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwMXB4KSB7XG4gICAgLmdsb2JhbC1zZWFyY2gge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICB9XG5cbiAgICAuZ2xvYmFsLXNlYXJjaC1pbnB1dC1ncm91cCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgLmdsb2JhbC1zZWFyY2ggaW5wdXRbdHlwZT1cInRleHRcIl0sXG4gICAgLmdsb2JhbC1zZWFyY2ggaW5wdXRbdHlwZT1cInNlYXJjaFwiXSxcbiAgICAuZ2xvYmFsLXNlYXJjaC1pbnB1dCxcbiAgICAuZ2xvYmFsLXNlYXJjaCBidXR0b25bdHlwZT1cInN1Ym1pdFwiXSxcbiAgICAuZ2xvYmFsLXNlYXJjaC1idXR0b24ge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHotaW5kZXg6IDEwMDA7XG4gICAgICAgIGhlaWdodDogNDBweDtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB9XG5cbiAgICAuZ2xvYmFsLXNlYXJjaCBpbnB1dFt0eXBlPVwidGV4dFwiXSxcbiAgICAuZ2xvYmFsLXNlYXJjaCBpbnB1dFt0eXBlPVwic2VhcmNoXCJdLFxuICAgIC5nbG9iYWwtc2VhcmNoLWlucHV0IHtcbiAgICAgICAgd2lkdGg6IDI4MHB4O1xuICAgICAgICBwYWRkaW5nOiAwIHZhcigtLXNwYWNlLWxnKTtcbiAgICAgICAgYm9yZGVyOiB2YXIoLS1ib3JkZXItd2lkdGgtbWQpIHNvbGlkIHZhcigtLWNvbG9yLWJnLWRhcmspO1xuICAgICAgICBib3JkZXItcmlnaHQ6IG5vbmU7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtZnVsbCkgMCAwIHZhcigtLWJvcmRlci1yYWRpdXMtZnVsbCk7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJnLWRhcmspO1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC13aGl0ZSk7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgIHRyYW5zaXRpb246IHdpZHRoIHZhcigtLXRyYW5zaXRpb24tYmFzZSksIGJvcmRlci1jb2xvciB2YXIoLS10cmFuc2l0aW9uLWJhc2UpLCBiYWNrZ3JvdW5kLWNvbG9yIHZhcigtLXRyYW5zaXRpb24tYmFzZSk7XG4gICAgfVxuXG4gICAgLmdsb2JhbC1zZWFyY2ggaW5wdXRbdHlwZT1cInRleHRcIl06OnBsYWNlaG9sZGVyLFxuICAgIC5nbG9iYWwtc2VhcmNoIGlucHV0W3R5cGU9XCJzZWFyY2hcIl06OnBsYWNlaG9sZGVyLFxuICAgIC5nbG9iYWwtc2VhcmNoLWlucHV0OjpwbGFjZWhvbGRlciB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LW11dGVkKTtcbiAgICB9XG5cbiAgICAuZ2xvYmFsLXNlYXJjaCBpbnB1dFt0eXBlPVwidGV4dFwiXTpmb2N1cyxcbiAgICAuZ2xvYmFsLXNlYXJjaCBpbnB1dFt0eXBlPVwic2VhcmNoXCJdOmZvY3VzLFxuICAgIC5nbG9iYWwtc2VhcmNoLWlucHV0OmZvY3VzIHtcbiAgICAgICAgd2lkdGg6IDM4MHB4O1xuICAgICAgICBib3JkZXItY29sb3I6IHJnYmEoNTYsIDE4OSwgMjQ4LCAwLjUpO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMSk7XG4gICAgfVxuXG4gICAgLmdsb2JhbC1zZWFyY2ggYnV0dG9uW3R5cGU9XCJzdWJtaXRcIl0sXG4gICAgLmdsb2JhbC1zZWFyY2gtYnV0dG9uIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICB3aWR0aDogNDRweDtcbiAgICAgICAgcGFkZGluZzogMCB2YXIoLS1zcGFjZS1sZykgMCB2YXIoLS1zcGFjZS1tZCk7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgYm9yZGVyOiB2YXIoLS1ib3JkZXItd2lkdGgtbWQpIHNvbGlkIHZhcigtLWNvbG9yLWJnLWRhcmspO1xuICAgICAgICBib3JkZXItbGVmdDogbm9uZTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMCB2YXIoLS1ib3JkZXItcmFkaXVzLWZ1bGwpIHZhcigtLWJvcmRlci1yYWRpdXMtZnVsbCkgMDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmctZGFyayk7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LW11dGVkKTtcbiAgICAgICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtbGcpO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1iYXNlKSwgYm9yZGVyLWNvbG9yIHZhcigtLXRyYW5zaXRpb24tYmFzZSksIGNvbG9yIHZhcigtLXRyYW5zaXRpb24tYmFzZSk7XG4gICAgfVxuXG4gICAgLmdsb2JhbC1zZWFyY2g6aG92ZXIgLmdsb2JhbC1zZWFyY2gtaW5wdXQsXG4gICAgLmdsb2JhbC1zZWFyY2g6aG92ZXIgLmdsb2JhbC1zZWFyY2gtYnV0dG9uIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMik7XG4gICAgfVxuXG4gICAgLmdsb2JhbC1zZWFyY2ggYnV0dG9uW3R5cGU9XCJzdWJtaXRcIl06aG92ZXIsXG4gICAgLmdsb2JhbC1zZWFyY2gtYnV0dG9uOmhvdmVyLFxuICAgIC5nbG9iYWwtc2VhcmNoIGJ1dHRvblt0eXBlPVwic3VibWl0XCJdOmZvY3VzLXZpc2libGUsXG4gICAgLmdsb2JhbC1zZWFyY2gtYnV0dG9uOmZvY3VzLXZpc2libGUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iZy1ob3Zlci1kYXJrKTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDU2LCAxODksIDI0OCwgMC41KTtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWFjY2VudCk7XG4gICAgfVxuXG4gICAgLmdsb2JhbC1zZWFyY2g6Zm9jdXMtd2l0aGluIC5nbG9iYWwtc2VhcmNoLWlucHV0IHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDU2LCAxODksIDI0OCwgMC41KTtcbiAgICB9XG5cbiAgICAuZ2xvYmFsLXNlYXJjaDpmb2N1cy13aXRoaW4gLmdsb2JhbC1zZWFyY2gtYnV0dG9uIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDU2LCAxODksIDI0OCwgMC41KTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEpO1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItYWNjZW50KTtcbiAgICB9XG5cbiAgICAuZ2xvYmFsLXNlYXJjaC1hdXRvY29tcGxldGUtd3JhcHBlciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgICAgdG9wOiA3NXB4O1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICAgICAgd2lkdGg6IDkwMHB4O1xuICAgICAgICBtYXgtd2lkdGg6IDkydnc7XG4gICAgICAgIHotaW5kZXg6IHZhcigtLXotaW5kZXgtbW9kYWwpO1xuICAgICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKTtcbiAgICAgICAgYm9yZGVyOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xMik7XG4gICAgICAgIGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdy14bCk7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgfVxuXG4gICAgLmdsb2JhbC1zZWFyY2gtYXV0b2NvbXBsZXRlLWhlYWRlciB7XG4gICAgICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLW1kKSB2YXIoLS1zcGFjZS1sZyk7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJnLWRhcmspO1xuICAgICAgICBib3JkZXItYm90dG9tOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1saWdodCk7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LWludmVyc2UpO1xuICAgIH1cblxuICAgIC5nbG9iYWwtc2VhcmNoLWRlc2t0b3AtYWN0aW9uIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAuZ2xvYmFsLXNlYXJjaC1hdXRvY29tcGxldGUtaGVhZGVyIC5idXR0b24sXG4gICAgLmdsb2JhbC1zZWFyY2gtZGVza3RvcC1hY3Rpb24gLmJ1dHRvbiB7XG4gICAgICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLXhzKSB2YXIoLS1zcGFjZS1zbSk7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXdoaXRlKTtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciB2YXIoLS10cmFuc2l0aW9uLWJhc2UpLCB0cmFuc2Zvcm0gdmFyKC0tdHJhbnNpdGlvbi1iYXNlKTtcbiAgICB9XG5cbiAgICAuZ2xvYmFsLXNlYXJjaC1hdXRvY29tcGxldGUtaGVhZGVyIC5idXR0b246aG92ZXIsXG4gICAgLmdsb2JhbC1zZWFyY2gtZGVza3RvcC1hY3Rpb24gLmJ1dHRvbjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1wcmltYXJ5KTtcbiAgICB9XG5cbiAgICAuZ2xvYmFsLXNlYXJjaC1jb250ZW50IC5zZWFyY2gtcmVzdWx0cy1jb250YWluZXIge1xuICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpdCwgbWlubWF4KDI4MHB4LCAxZnIpKTtcbiAgICAgICAgZ2FwOiB2YXIoLS1zcGFjZS1sZyk7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBzdGFydDtcbiAgICAgICAgbWF4LWhlaWdodDogNzB2aDtcbiAgICAgICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICB9XG5cbiAgICAuZ2xvYmFsLXNlYXJjaC1jb250ZW50IC5zZWFyY2gtY2F0ZWdvcnktZ3JvdXAge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB9XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgIDMuIE1vYmlsZSBTZWFyY2ggTW9kYWwgKG1heC13aWR0aDogMTIwMHB4KVxuICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gICAgLmdsb2JhbC1zZWFyY2gtYXV0b2NvbXBsZXRlLXdyYXBwZXIge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICAgIGluc2V0OiAwO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMGR2aDtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICB6LWluZGV4OiB2YXIoLS16LWluZGV4LW1vZGFsKTtcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctbmF2eSk7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgICAgICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICAgICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAgICAgICBvdmVyc2Nyb2xsLWJlaGF2aW9yOiBjb250YWluO1xuICAgICAgICBvdmVyc2Nyb2xsLWJlaGF2aW9yLXg6IG5vbmU7XG4gICAgICAgIHRvdWNoLWFjdGlvbjogcGFuLXk7XG4gICAgfVxuXG4gICAgLmdsb2JhbC1zZWFyY2gtYXV0b2NvbXBsZXRlIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgbWluLWhlaWdodDogMTAwJTtcbiAgICAgICAgbWluLWhlaWdodDogMTAwZHZoO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy1uYXZ5KTtcbiAgICAgICAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICAgICAgICB0b3VjaC1hY3Rpb246IHBhbi15O1xuICAgIH1cblxuICAgIC5nbG9iYWwtc2VhcmNoLWF1dG9jb21wbGV0ZS1oZWFkZXIge1xuICAgICAgICBwb3NpdGlvbjogc3RpY2t5O1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHotaW5kZXg6IHZhcigtLXotaW5kZXgtc3RpY2t5LWhlYWRlcik7XG4gICAgICAgIHBhZGRpbmc6IG1heCh2YXIoLS1zcGFjZS1tZCksIGVudihzYWZlLWFyZWEtaW5zZXQtdG9wLCAxMnB4KSkgbWF4KHZhcigtLXNwYWNlLW1kKSwgZW52KHNhZmUtYXJlYS1pbnNldC1yaWdodCwgMTJweCkpIHZhcigtLXNwYWNlLW1kKSBtYXgodmFyKC0tc3BhY2UtbWQpLCBlbnYoc2FmZS1hcmVhLWluc2V0LWxlZnQsIDEycHgpKTtcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctbmF2eSk7XG4gICAgICAgIGJvcmRlci1ib3R0b206IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEpO1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIC5nbG9iYWwtc2VhcmNoLW1vYmlsZS1hY3Rpb24ge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBnYXA6IHZhcigtLXNwYWNlLXNtKTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB9XG5cbiAgICAuZ2xvYmFsLXNlYXJjaC1tb2JpbGUtYWN0aW9uIC5idXR0b24ge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgbWluLXdpZHRoOiA0NHB4O1xuICAgICAgICBtaW4taGVpZ2h0OiA0NHB4O1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1tdXRlZCk7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgfVxuXG4gICAgLmdsb2JhbC1zZWFyY2gtbW9iaWxlLWFjdGlvbiAuYnV0dG9uOmFjdGl2ZSB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1hY2NlbnQpO1xuICAgIH1cblxuICAgIC5nbG9iYWwtc2VhcmNoLW1vYmlsZS1hY3Rpb24gLmdsb2JhbC1zZWFyY2gtc3Bpbm5lciB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1hY2NlbnQpO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IHZhcigtLXNwYWNlLXhzKTtcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgfVxuXG4gICAgLmdsb2JhbC1zZWFyY2gtbW9iaWxlLWFjdGlvbiBpbnB1dC5pbnB1dCB7XG4gICAgICAgIGZsZXg6IDE7XG4gICAgICAgIG1pbi13aWR0aDogMDtcbiAgICAgICAgbWluLWhlaWdodDogNDRweDtcbiAgICAgICAgcGFkZGluZzogMCB2YXIoLS1zcGFjZS1sZyk7XG4gICAgICAgIGJvcmRlcjogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItZGFyayk7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpO1xuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy1uYXZ5KTtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtaW52ZXJzZSk7XG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgICAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgIH1cblxuICAgIC5nbG9iYWwtc2VhcmNoLW1vYmlsZS1hY3Rpb24gaW5wdXQuaW5wdXQ6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLWFjY2VudCk7XG4gICAgfVxuXG4gICAgLmdsb2JhbC1zZWFyY2gtY29udGVudCB7XG4gICAgICAgIGZsZXg6IDE7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgICAgICAgcGFkZGluZzogdmFyKC0tc3BhY2UtbWQpIG1heCh2YXIoLS1zcGFjZS1tZCksIGVudihzYWZlLWFyZWEtaW5zZXQtcmlnaHQsIDEycHgpKSBtYXgodmFyKC0tc3BhY2UtMnhsKSwgZW52KHNhZmUtYXJlYS1pbnNldC1ib3R0b20sIDMycHgpKSBtYXgodmFyKC0tc3BhY2UtbWQpLCBlbnYoc2FmZS1hcmVhLWluc2V0LWxlZnQsIDEycHgpKTtcbiAgICAgICAgdG91Y2gtYWN0aW9uOiBwYW4teTtcbiAgICB9XG5cbiAgICAuZ2xvYmFsLXNlYXJjaC1jb250ZW50IC5zZWFyY2gtcmVzdWx0cy1jb250YWluZXIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBnYXA6IHZhcigtLXNwYWNlLW1kKTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICAgIH1cblxuICAgIC5nbG9iYWwtc2VhcmNoLWNvbnRlbnQgLnNlYXJjaC1jYXRlZ29yeS1ncm91cCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgICB9XG59XG4iLCAiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgSFdCT1QgU29jaWFsIFNoYXJlIENvbXBvbmVudCAoc2hhcmUuY3NzKVxuICAgUGFpcmVkIHdpdGggd2ViL3NyYy9tYWluL2Zyb250ZW5kL21vZHVsZXMvc2hhcmUudHNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnNoYXJlLXdpZGdldCB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IHZhcigtLXNwYWNlLTJ4cyk7XG59XG5cbi5zaGFyZS1idG4ge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgd2lkdGg6IDMwcHg7XG4gICAgaGVpZ2h0OiAzMHB4O1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmctc3VyZmFjZSk7XG4gICAgYm9yZGVyOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1zdWJ0bGUpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtc20pO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtc20pO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpLCBib3JkZXItY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KSwgYmFja2dyb3VuZC1jb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpO1xufVxuXG4uc2hhcmUtYnRuOmhvdmVyIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iZy1ob3Zlcik7XG59XG5cbi5zaGFyZS1idG4uaXMtY29waWVkIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3Itc3VjY2Vzcyk7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1zdWNjZXNzLWJvcmRlcik7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3Itc3VjY2Vzcy1iZyk7XG59XG4iLCAiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgSFdCT1QgVm90ZSBDb21wb25lbnQgJiBWb3RlcnMgUG9wb3ZlciAodm90ZS5jc3MpXG4gICBQYWlyZWQgd2l0aCB3ZWIvc3JjL21haW4vZnJvbnRlbmQvbW9kdWxlcy92b3RlLnRzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qIFZvdGUgV2lkZ2V0ICYgUG9wb3ZlciAqL1xuLnZvdGUtY2VsbCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi52b3RlLWNlbGwgLnZvdGUtcGlsbCB7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtc20pO1xufVxuXG4udm90ZS13aWRnZXQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4udm90ZS1waWxsIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJnLXN1cmZhY2UpO1xuICAgIGJvcmRlcjogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItZGFyayk7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1sZyk7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2UtMnhzKSB2YXIoLS1zcGFjZS14cyk7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteHMpO1xuICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC1ub25lKTtcbiAgICBib3gtc2hhZG93OiB2YXIoLS1zaGFkb3ctc20pO1xuICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpO1xufVxuXG4udm90ZS1waWxsOmhvdmVyIHtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLWhpZ2hsaWdodCk7XG59XG5cbi52b3RlLXBpbGxfX2J0biB7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2UteHMpIHZhcigtLXNwYWNlLXNtKTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IHZhcigtLXNwYWNlLXhzKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1wcmltYXJ5KTtcbiAgICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCk7XG59XG5cbi52b3RlLXBpbGxfX2J0bjpob3ZlciB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWhpZ2hsaWdodCk7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4udm90ZS1waWxsX19hY3Rpb24uaGFzLXZvdGVkIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItaGlnaGxpZ2h0KTtcbn1cblxuLnZvdGUtcGlsbF9fYWN0aW9uLS1kaXNhYmxlZCB7XG4gICAgb3BhY2l0eTogMC42O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLnZvdGUtcGlsbF9fZGl2aWRlciB7XG4gICAgd2lkdGg6IDFweDtcbiAgICBoZWlnaHQ6IDE0cHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYm9yZGVyLWxpZ2h0KTtcbiAgICBtYXJnaW46IDAgMXB4O1xufVxuXG4udm90ZS1waWxsX19jb3VudCB7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xufVxuXG4udm90ZS1waWxsX19jYXJldCB7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtM3hzKTtcbiAgICBvcGFjaXR5OiAwLjc7XG59XG5cbi8qIERyb3Bkb3duIFBvcG92ZXIgKi9cbi52b3RlLWRyb3Bkb3duLW1lbnUge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICBtaW4td2lkdGg6IDE4MHB4O1xuICAgIG1heC13aWR0aDogMjQwcHg7XG4gICAgbWF4LWhlaWdodDogMjIwcHg7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14cyk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmctc3VyZmFjZSk7XG4gICAgYm9yZGVyOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1kYXJrKTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKTtcbiAgICBib3gtc2hhZG93OiB2YXIoLS1zaGFkb3ctbWQpO1xuICAgIHotaW5kZXg6IHZhcigtLXotaW5kZXgtZHJvcGRvd24pO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbi52b3RlLXBvcG92ZXItaGVhZGVyIHtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS1zbSkgdmFyKC0tc3BhY2UtbWQpO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICBib3JkZXItYm90dG9tOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1saWdodCk7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogdmFyKC0tc3BhY2Utc20pO1xufVxuXG4udm90ZS1wb3BvdmVyLWxpc3Qge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLXhzKSAwO1xufVxuXG4udm90ZS1wb3BvdmVyLWl0ZW0ge1xuICAgIHBhZGRpbmc6IDA7XG59XG5cbi52b3RlLXVzZXItbGluayB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogdmFyKC0tc3BhY2Utc20pO1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLXNtKSB2YXIoLS1zcGFjZS1tZCk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtcHJpbWFyeSk7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KSwgY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KTtcbn1cblxuLnZvdGUtdXNlci1saW5rOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iZy1ob3Zlcik7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWhpZ2hsaWdodCk7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4udm90ZS11c2VyLWF2YXRhciB7XG4gICAgd2lkdGg6IDIwcHg7XG4gICAgaGVpZ2h0OiAyMHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtY2lyY2xlKTtcbiAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICBmbGV4LXNocmluazogMDtcbn1cblxuLnZvdGUtcG9wb3Zlci1lbXB0eSxcbi52b3RlLWxvYWRpbmcsXG4udm90ZS1wb3BvdmVyLWVycm9yIHtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS1tZCk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbXV0ZWQpO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbiIsICIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBIV0JPVCBZb3VUdWJlIENsaWNrLXRvLUxvYWQgUGxhY2Vob2xkZXIgKHlvdXR1YmUuY3NzKVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4ueW91dHViZS1wbGFjZWhvbGRlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS14cyk7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2UtbWQpO1xuICAgIGJhY2tncm91bmQ6IHJhZGlhbC1ncmFkaWVudChjaXJjbGUgYXQgY2VudGVyLCB2YXIoLS1jb2xvci1iZy1kYXJrKSAwJSwgdmFyKC0tY29sb3ItYmctbmF2eSkgMTAwJSk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtaW52ZXJzZSk7XG4gICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtYmFzZSk7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSB2YXIoLS10cmFuc2l0aW9uLWZhc3QpLCBib3gtc2hhZG93IHZhcigtLXRyYW5zaXRpb24tZmFzdCk7XG59XG5cbi55b3V0dWJlLXBsYWNlaG9sZGVyOmhvdmVyIHtcbiAgICBib3gtc2hhZG93OiB2YXIoLS1zaGFkb3ctbWQpO1xufVxuXG4ueW91dHViZS1wbGFjZWhvbGRlcl9faWNvbiB7XG4gICAgZm9udC1zaXplOiAzcmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1lcnJvcik7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIHZhcigtLXRyYW5zaXRpb24tZmFzdCksIGNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCk7XG59XG5cbi55b3V0dWJlLXBsYWNlaG9sZGVyOmhvdmVyIC55b3V0dWJlLXBsYWNlaG9sZGVyX19pY29uIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMSk7XG59XG5cbi55b3V0dWJlLXBsYWNlaG9sZGVyX190aXRsZSB7XG4gICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtaGVhZGluZyk7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtYmFzZSk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXdoaXRlKTtcbn1cblxuLnlvdXR1YmUtcGxhY2Vob2xkZXJfX25vdGljZSB7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteHMpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LWludmVyc2UtbXV0ZWQpO1xuICAgIG1heC13aWR0aDogMjYwcHg7XG4gICAgbGluZS1oZWlnaHQ6IHZhcigtLWxpbmUtaGVpZ2h0LXNudWcpO1xufVxuIiwgIkBpbXBvcnQgXCIuL2JhZGdlcy5jc3NcIjtcbkBpbXBvcnQgXCIuL2NvbW1lbnQuY3NzXCI7XG5AaW1wb3J0IFwiLi9uYXZpZ2F0aW9uLmNzc1wiO1xuQGltcG9ydCBcIi4vc2VhcmNoLmNzc1wiO1xuQGltcG9ydCBcIi4vc2hhcmUuY3NzXCI7XG5AaW1wb3J0IFwiLi92b3RlLmNzc1wiO1xuQGltcG9ydCBcIi4veW91dHViZS5jc3NcIjtcblxuOnJvb3Qge1xuICAgIC8qIEJhY2tncm91bmRzICYgU3VyZmFjZXMgKi9cbiAgICAtLWNvbG9yLWJnLWdyYWRpZW50LXN0YXJ0OiAjNTA5MUREO1xuICAgIC0tY29sb3ItYmctZ3JhZGllbnQtZW5kOiAjMDMwNjE3O1xuICAgIC0tY29sb3ItYmctbWFpbjogI0Y0RjdGODtcbiAgICAtLWNvbG9yLWJnLXN1cmZhY2U6ICNGRkZGRkY7XG4gICAgLS1jb2xvci1iZy1jYXJkOiAjZjhmYWZjO1xuICAgIC0tY29sb3ItYmctaG92ZXI6ICNmMWY1Zjk7XG4gICAgLS1jb2xvci1iZy1ob3Zlci1kYXJrOiAjMzY0NTRGO1xuICAgIC0tY29sb3ItYmctZGFyazogIzM2NDU0RjtcbiAgICAtLWNvbG9yLWJnLW5hdnk6ICMwMzA2MTc7XG5cbiAgICAvKiBUZXh0ICYgVHlwb2dyYXBoeSBDb2xvcnMgKi9cbiAgICAtLWNvbG9yLXRleHQtcHJpbWFyeTogIzM2NDU0RjtcbiAgICAtLWNvbG9yLXRleHQtaGVhZGluZzogIzBmMTcyYTtcbiAgICAtLWNvbG9yLXRleHQtc2Vjb25kYXJ5OiAjNjQ3NDhiO1xuICAgIC0tY29sb3ItdGV4dC1tdXRlZDogIzk0YTNiODtcbiAgICAtLWNvbG9yLXRleHQtaW52ZXJzZTogI0Y0RjdGODtcbiAgICAtLWNvbG9yLXRleHQtaW52ZXJzZS1tdXRlZDogI0RDRENEQztcbiAgICAtLWNvbG9yLXRleHQtd2hpdGU6ICNmZmZmZmY7XG5cbiAgICAvKiBCb3JkZXJzICovXG4gICAgLS1jb2xvci1ib3JkZXItbGlnaHQ6ICNFNUU1RTU7XG4gICAgLS1jb2xvci1ib3JkZXItc3VidGxlOiAjZTJlOGYwO1xuICAgIC0tY29sb3ItYm9yZGVyLWRhc2hlZDogI2NiZDVlMTtcbiAgICAtLWNvbG9yLWJvcmRlci1zdGFuZGFyZDogbGlnaHRncmF5O1xuICAgIC0tY29sb3ItYm9yZGVyLWRhcms6ICMzNjQ1NEY7XG4gICAgLS1ib3JkZXItd2lkdGgtc206IDFweDtcbiAgICAtLWJvcmRlci13aWR0aC1tZDogMnB4O1xuICAgIC0tYm9yZGVyLXdpZHRoLWxnOiA0cHg7XG4gICAgLS1ib3JkZXItd2lkdGgteGw6IDVweDtcbiAgICAtLWJvcmRlci1yYWRpdXMteHM6IDRweDtcbiAgICAtLWJvcmRlci1yYWRpdXMtc206IDZweDtcbiAgICAtLWJvcmRlci1yYWRpdXM6IDhweDtcbiAgICAtLWJvcmRlci1yYWRpdXMtbGc6IDE2cHg7XG4gICAgLS1ib3JkZXItcmFkaXVzLWZ1bGw6IDk5OTlweDtcbiAgICAtLWJvcmRlci1yYWRpdXMtY2lyY2xlOiA1MCU7XG5cbiAgICAvKiBCcmFuZCwgQWN0aW9ucyAmIEhpZ2hsaWdodHMgKi9cbiAgICAtLWNvbG9yLXByaW1hcnk6ICMwMjg0Yzc7XG4gICAgLS1jb2xvci1wcmltYXJ5LWhvdmVyOiAjMDM2OWExO1xuICAgIC0tY29sb3ItYWNjZW50OiAjMzhiZGY4O1xuICAgIC0tY29sb3ItaGlnaGxpZ2h0OiAjNjBhNWZhO1xuXG4gICAgLyogTGlua3MgKi9cbiAgICAtLWNvbG9yLWxpbms6ICMxZDRlZDg7XG4gICAgLS1jb2xvci1saW5rLWhvdmVyOiAjMWU0MGFmO1xuICAgIC0tY29sb3ItbGluay11bmRlcmxpbmU6IHJnYmEoMjksIDc4LCAyMTYsIDAuMzUpO1xuXG4gICAgLyogU3RhdHVzOiBTdWNjZXNzIChHcmVlbikgKi9cbiAgICAtLWNvbG9yLXN1Y2Nlc3M6ICMxNmEzNGE7XG4gICAgLS1jb2xvci1zdWNjZXNzLWJnOiAjZjBmZGY0O1xuICAgIC0tY29sb3Itc3VjY2Vzcy1ib3JkZXI6ICNiYmY3ZDA7XG4gICAgLS1jb2xvci1zdWNjZXNzLXRleHQ6ICMxNjY1MzQ7XG5cbiAgICAvKiBTdGF0dXM6IFdhcm5pbmcgLyBQZW5kaW5nIChBbWJlcikgKi9cbiAgICAtLWNvbG9yLXdhcm5pbmc6ICNkOTc3MDY7XG4gICAgLS1jb2xvci13YXJuaW5nLWJnOiAjZmZmYmViO1xuICAgIC0tY29sb3Itd2FybmluZy1ib3JkZXI6ICNmZGU2OGE7XG4gICAgLS1jb2xvci13YXJuaW5nLXRleHQ6ICM5MjQwMGU7XG4gICAgLS1jb2xvci13YXJuaW5nLXN0YXI6ICNlYWIzMDg7XG5cbiAgICAvKiBTdGF0dXM6IERhbmdlciAvIEVycm9yIChSZWQpICovXG4gICAgLS1jb2xvci1lcnJvcjogI2RjMjYyNjtcbiAgICAtLWNvbG9yLWVycm9yLWJnOiAjZmVmMmYyO1xuICAgIC0tY29sb3ItZXJyb3ItYm9yZGVyOiAjZmVjYWNhO1xuICAgIC0tY29sb3ItZXJyb3ItdGV4dDogIzk5MWIxYjtcblxuICAgIC8qIFN0YXR1czogSW5mbyAoQmx1ZSkgKi9cbiAgICAtLWNvbG9yLWluZm8tYmc6ICNlZmY2ZmY7XG4gICAgLS1jb2xvci1pbmZvLWJvcmRlcjogI2JmZGJmZTtcbiAgICAtLWNvbG9yLWluZm8tdGV4dDogIzFlNDBhZjtcblxuICAgIC8qIFN0YXR1czogVGVhbSAoUHVycGxlKSAqL1xuICAgIC0tY29sb3ItdGVhbTogIzdjM2FlZDtcbiAgICAtLWNvbG9yLXRlYW0tYmc6ICNmNWYzZmY7XG4gICAgLS1jb2xvci10ZWFtLWJvcmRlcjogI2RkZDZmZTtcbiAgICAtLWNvbG9yLXRlYW0tdGV4dDogIzdjM2FlZDtcbiAgICAtLWNvbG9yLXRlYW0tdGV4dC1kYXJrOiAjNWIyMWI2O1xuXG4gICAgLyogUmFua2luZ3MgLyBNZWRhbHMgKi9cbiAgICAtLWNvbG9yLXBvcy1maXJzdDogI0ZGRDcwMDtcbiAgICAtLWNvbG9yLXBvcy1zZWNvbmQ6ICNDMEMwQzA7XG4gICAgLS1jb2xvci1wb3MtdGhpcmQ6ICNDRDdGMzI7XG4gICAgLS1jb2xvci1wb3MtZm91ci1maXZlOiAjQUFCRkM5O1xuICAgIC0tcG9zLW1hcmtlci13aWR0aDogNHB4O1xuICAgIC0tcmFuay1wb3MtbWluLXdpZHRoOiAyNnB4O1xuXG4gICAgLyogQ29tcG9uZW50IFNpemVzICovXG4gICAgLS1hdmF0YXItc2l6ZS1zbTogMjJweDtcbiAgICAtLWhlYWRlci1pY29uLXNpemU6IDE1cHg7XG4gICAgLS1wYXJ0bmVyLWxvZ28taGVpZ2h0OiAzMHB4O1xuXG4gICAgLyogU3BhY2luZyAqL1xuICAgIC0tc3BhY2UtMnhzOiAycHg7XG4gICAgLS1zcGFjZS14czogIDRweDtcbiAgICAtLXNwYWNlLXM6ICAgNnB4O1xuICAgIC0tc3BhY2Utc206ICA4cHg7XG4gICAgLS1zcGFjZS1tZDogMTJweDtcbiAgICAtLXNwYWNlLWxnOiAxNnB4O1xuICAgIC0tc3BhY2UteGw6IDI0cHg7XG4gICAgLS1zcGFjZS0yeGw6IDMycHg7XG5cbiAgICAvKiBGb250ICovXG4gICAgLS1mb250LWhlYWRpbmc6IFwiUGlsbEdvdGhpYzMwMG1nQm9sZFwiLCBcIkx1Y2lkYSBHcmFuZGVcIiwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgICAtLWZvbnQtYmFzZTogQXJpYWwsIHNhbnMtc2VyaWY7XG4gICAgLS1mb250LW1vbm86IHVpLW1vbm9zcGFjZSwgU0ZNb25vLVJlZ3VsYXIsIE1lbmxvLCBNb25hY28sIENvbnNvbGFzLCBtb25vc3BhY2U7XG4gICAgLS1mb250LXNpemUtM3hzOiAgMC42MjVyZW07XG4gICAgLS1mb250LXNpemUtMnhzOiAgMC42ODc1cmVtO1xuICAgIC0tZm9udC1zaXplLXhzOiAgIDAuNzVyZW07XG4gICAgLS1mb250LXNpemUtc206ICAgMC44MTI1cmVtO1xuICAgIC0tZm9udC1zaXplLW1kOiAgIDAuODc1cmVtO1xuICAgIC0tZm9udC1zaXplLWJhc2U6IDFyZW07XG4gICAgLS1mb250LXNpemUtbGc6ICAgMS4xMjVyZW07XG4gICAgLS1mb250LXNpemUteGw6ICAgMS4yNXJlbTtcbiAgICAtLWZvbnQtc2l6ZS0yeGw6ICAxLjVyZW07XG4gICAgLS1mb250LXNpemUtM3hsOiAgMS44NzVyZW07XG4gICAgLS1mb250LXdlaWdodC1ub3JtYWw6ICAgIDQwMDtcbiAgICAtLWZvbnQtd2VpZ2h0LW1lZGl1bTogICAgNTAwO1xuICAgIC0tZm9udC13ZWlnaHQtc2VtaWJvbGQ6ICA2MDA7XG4gICAgLS1mb250LXdlaWdodC1ib2xkOiAgICAgIDcwMDtcbiAgICAtLWZvbnQtd2VpZ2h0LWV4dHJhYm9sZDogODAwO1xuXG4gICAgLyogTGluZSBIZWlnaHQgKi9cbiAgICAtLWxpbmUtaGVpZ2h0LW5vbmU6ICAgMTtcbiAgICAtLWxpbmUtaGVpZ2h0LXRpZ2h0OiAgMS4yNTtcbiAgICAtLWxpbmUtaGVpZ2h0LW5vcm1hbDogMS41O1xuXG5cbiAgICAvKiBFbGV2YXRpb24gLyBTaGFkb3dzICovXG4gICAgLS1zaGFkb3ctc206IDAgMXB4IDNweCByZ2JhKDAsIDAsIDAsIDAuMSk7XG4gICAgLS1zaGFkb3ctbWQ6IDAgNHB4IDEycHggcmdiYSgwLCAwLCAwLCAwLjEyKTtcbiAgICAtLXNoYWRvdy1sZzogMCAxMHB4IDI1cHggLTVweCByZ2JhKDAsIDAsIDAsIDAuMyk7XG4gICAgLS1zaGFkb3cteGw6IDAgMjVweCA2MHB4IHJnYmEoMCwgMCwgMCwgMC41KTtcblxuICAgIC8qIFRyYW5zaXRpb25zICYgTW90aW9uICovXG4gICAgLS10cmFuc2l0aW9uLWZhc3Q6ICAgMC4xNXMgZWFzZTtcbiAgICAtLXRyYW5zaXRpb24tYmFzZTogICAwLjJzIGVhc2U7XG4gICAgLS10cmFuc2l0aW9uLXNtb290aDogMC4zNXMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKTtcblxuICAgIC8qIExheW91dCBEaW1lbnNpb25zICovXG4gICAgLS1sYXlvdXQtbWF4LXdpZHRoOiAyMDAwcHg7XG4gICAgLS1zaWRlYmFyLW1pbi13aWR0aDogMjYwcHg7XG5cbiAgICAvKiBNb2RhbCAvIERpYWxvZyBXaWR0aHMgKi9cbiAgICAtLW1vZGFsLXdpZHRoLXNtOiA0ODBweDtcbiAgICAtLW1vZGFsLXdpZHRoLW1kOiA2MDBweDtcbiAgICAtLW1vZGFsLXdpZHRoLWxnOiA4MDBweDtcbiAgICAtLW1vZGFsLXdpZHRoLXhsOiAxMjAwcHg7XG5cbiAgICAvKiBTdGFja2luZyBDb250ZXh0ICh6LWluZGV4KSAqL1xuICAgIC0tei1pbmRleC10YWJsZS1zdGlja3k6IDI7ICAgICAgICAgIC8qIHRib2R5IHN0aWNreSBjb2x1bW5zICovXG4gICAgLS16LWluZGV4LXRhYmxlLXN0aWNreS1oZWFkOiAzOyAgICAgLyogdGhlYWQgc3RpY2t5IGNvbHVtbnMgKi9cbiAgICAtLXotaW5kZXgtc3RpY2t5LWhlYWRlcjogMTA7ICAgICAgICAvKiBJbi1wYWdlIHN0aWNreSBoZWFkZXJzICovXG4gICAgLS16LWluZGV4LWxvYWRpbmctb3ZlcmxheTogMjA7ICAgICAgLyogSW4tcGFnZS9jb21wb25lbnQgbG9hZGVycyAqL1xuICAgIC0tei1pbmRleC1kcm9wZG93bjogNTAwOyAgICAgICAgICAgIC8qIE1lbnVzIGFuZCBmbHlvdXRzICovXG4gICAgLS16LWluZGV4LWJhY2tkcm9wOiA5OTA7ICAgICAgICAgICAgLyogRGltbWVyIG92ZXJsYXlzICovXG4gICAgLS16LWluZGV4LWRyYXdlcjogMTAwMDsgICAgICAgICAgICAgLyogT2ZmLWNhbnZhcyBuYXZpZ2F0aW9uICYgc2lkZWJhcnMgKi9cbiAgICAtLXotaW5kZXgtbW9kYWw6IDEwNTA7ICAgICAgICAgICAgICAvKiBTZWFyY2ggbW9kYWwgJiBkaWFsb2dzICovXG59XG5cbmh0bWwge1xuICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWJhc2UpO1xuICAgIGJhY2tncm91bmQ6IHJhZGlhbC1ncmFkaWVudChlbGxpcHNlIGF0IGJvdHRvbSwgdmFyKC0tY29sb3ItYmctZ3JhZGllbnQtc3RhcnQpIDAlLCB2YXIoLS1jb2xvci1iZy1ncmFkaWVudC1lbmQpIDEwMCUpIG5vLXJlcGVhdCBmaXhlZDtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1wcmltYXJ5KTtcbn1cblxuYm9keSB7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtYmFzZSk7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBtYXJnaW46IDA7XG4gICAgb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDtcbiAgICB3b3JkLWJyZWFrOiBicmVhay13b3JkO1xufVxuXG5wIHtcbiAgICBtYXJnaW46IHZhcigtLXNwYWNlLXhzKSAwO1xufVxuXG5oMSwgaDIsIGgzLCBoNCwgaDUge1xuICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWhlYWRpbmcpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXByaW1hcnkpO1xuICAgIG1hcmdpbjogdmFyKC0tc3BhY2UtbGcpIDAgdmFyKC0tc3BhY2UtbWQpIDA7XG59XG5cbi5mb290ZXIgaDEsIC5mb290ZXIgaDIsIC5mb290ZXIgaDMsIC5mb290ZXIgaDQsXG4uZm9vdGVyIGg1IHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1pbnZlcnNlKTtcbn1cblxuYSwgYTpsaW5rLCBhOnZpc2l0ZWQge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1saW5rKTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbmE6aG92ZXIsIGE6YWN0aXZlIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItbGluay1ob3Zlcik7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG5cblxuLmZvbnQtYm9sZCB7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xufVxuXG4uZm9udC1tdXRlZCB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtcHJpbWFyeSk7XG59XG5cblxuLnRleHQtY2VudGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5oaWRkZW4ge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuXG5pbnB1dFt0eXBlPXN1Ym1pdF0sXG5pbnB1dFt0eXBlPWZpbGVdLFxuc2VsZWN0IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iZy1zdXJmYWNlKTtcbn1cblxudGV4dGFyZWEsXG5pbnB1dFt0eXBlPXBhc3N3b3JkXSxcbmlucHV0W3R5cGU9dGV4dF0sXG5pbnB1dFt0eXBlPWVtYWlsXSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmctc3VyZmFjZSk7XG59XG5cbnRleHRhcmVhLFxuaW5wdXRbdHlwZT1zdWJtaXRdLFxuaW5wdXRbdHlwZT1maWxlXSxcbmlucHV0W3R5cGU9cGFzc3dvcmRdLFxuaW5wdXRbdHlwZT10ZXh0XSxcbmlucHV0W3R5cGU9ZW1haWxdLFxuc2VsZWN0IHtcbiAgICBib3JkZXI6IHZhcigtLWJvcmRlci13aWR0aC1tZCkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLWxpZ2h0KTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1wcmltYXJ5KTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2Utc20pIHZhcigtLXNwYWNlLW1kKTtcbn1cblxuaW5wdXRbdHlwZT1jaGVja2JveF0ge1xuICAgIG1hcmdpbjogMDtcbn1cblxuLyogVGFibGUgKi9cbnRhYmxlIHtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1zbSk7XG4gICAgYm9yZGVyLWNvbGxhcHNlOiBzZXBhcmF0ZTtcbiAgICBib3JkZXItc3BhY2luZzogMDtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy1zdXJmYWNlKTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKTtcbiAgICBib3JkZXI6IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLWxpZ2h0KTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG50YWJsZSB0aGVhZCB7XG4gICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtaGVhZGluZyk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWJnLXN1cmZhY2UpO1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xufVxuXG50YWJsZSB0aGVhZCB0ciB0aCxcbnRhYmxlIHRoZWFkIHRyIHRkIHtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS1tZCkgdmFyKC0tc3BhY2UtbGcpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXdoaXRlKTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy1kYXJrKTtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgYm9yZGVyLWJvdHRvbTogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItbGlnaHQpO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbn1cblxudGFibGUgdGhlYWQgYSxcbnRhYmxlIHRoZWFkIGE6aXMoOmxpbmssIDp2aXNpdGVkLCA6aG92ZXIsIDphY3RpdmUsIDpmb2N1cywgOmZvY3VzLXZpc2libGUpIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1pbnZlcnNlKTtcbiAgICB0ZXh0LWRlY29yYXRpb24tY29sb3I6IGN1cnJlbnRDb2xvcjtcbn1cblxudGFibGUgdGJvZHkgdHIgdGgsXG50YWJsZSB0Ym9keSB0ciB0ZCB7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2Utc20pIHZhcigtLXNwYWNlLW1kKTtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXByaW1hcnkpO1xuICAgIGJvcmRlci1ib3R0b206IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLWxpZ2h0KTtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG50YWJsZSB0Ym9keSB0cjpsYXN0LWNoaWxkIHRkIHtcbiAgICBib3JkZXItYm90dG9tOiBub25lO1xufVxuXG50YWJsZSB0Ym9keSB0cjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmctaG92ZXIpO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KTtcbn1cblxudGFibGUgdGJvZHkgdHI6bnRoLWNoaWxkKG9kZCkge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJnLWhvdmVyKTtcbn1cblxuLnN0aWNreS10YWJsZSB7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgbWluLXdpZHRoOiAwO1xuICAgIG92ZXJzY3JvbGwtYmVoYXZpb3IteDogY29udGFpbjtcbn1cblxuLnN0aWNreS10YWJsZSB0YWJsZSB7XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG59XG5cbi5zdGlja3ktdGFibGUgdGFibGUgdGhlYWQgdHI6Zmlyc3QtY2hpbGQgdGg6Zmlyc3QtY2hpbGQsXG4uc3RpY2t5LXRhYmxlIHRhYmxlIHRoZWFkIHRyOmZpcnN0LWNoaWxkIHRkOmZpcnN0LWNoaWxkIHtcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiBjYWxjKHZhcigtLWJvcmRlci1yYWRpdXMpIC0gdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSk7XG59XG5cbi5zdGlja3ktdGFibGUgdGFibGUgdGhlYWQgdHI6Zmlyc3QtY2hpbGQgdGg6bGFzdC1jaGlsZCxcbi5zdGlja3ktdGFibGUgdGFibGUgdGhlYWQgdHI6Zmlyc3QtY2hpbGQgdGQ6bGFzdC1jaGlsZCB7XG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IGNhbGModmFyKC0tYm9yZGVyLXJhZGl1cykgLSB2YXIoLS1ib3JkZXItd2lkdGgtc20pKTtcbn1cblxuLnN0aWNreS10YWJsZSB0YWJsZSB0Ym9keSB0cjpsYXN0LWNoaWxkIHRoOmZpcnN0LWNoaWxkLFxuLnN0aWNreS10YWJsZSB0YWJsZSB0Ym9keSB0cjpsYXN0LWNoaWxkIHRkOmZpcnN0LWNoaWxkIHtcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiBjYWxjKHZhcigtLWJvcmRlci1yYWRpdXMpIC0gdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSk7XG59XG5cbi5zdGlja3ktdGFibGUgdGFibGUgdGJvZHkgdHI6bGFzdC1jaGlsZCB0aDpsYXN0LWNoaWxkLFxuLnN0aWNreS10YWJsZSB0YWJsZSB0Ym9keSB0cjpsYXN0LWNoaWxkIHRkOmxhc3QtY2hpbGQge1xuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiBjYWxjKHZhcigtLWJvcmRlci1yYWRpdXMpIC0gdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSk7XG59XG5cbi5zdGlja3ktdGFibGUtLWNvbXBhcmUgdGFibGUgdGhlYWQgaDMgIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1pbnZlcnNlKTtcbiAgICBtYXJnaW46IHZhcigtLXNwYWNlLXhzKTtcbn1cblxuLnN0aWNreS10YWJsZS0tY29tcGFyZSB0YWJsZSB0ZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmctc3VyZmFjZSk7XG59XG5cbi5zdGlja3ktdGFibGUtLWNvbXBhcmUgdGFibGUgdGJvZHkgdHIgdGQ6bnRoLWNoaWxkKGV2ZW4pIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iZy1ob3Zlcik7XG59XG5cbi5zdGlja3ktdGFibGUtLWNvbXBhcmUgdGFibGUgdGhlYWQgdHIgdGgge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJnLWRhcmspO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXdoaXRlKTtcbiAgICBib3JkZXItcmlnaHQ6IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLWxpZ2h0KTtcbn1cblxuLnN0aWNreS10YWJsZSB0YWJsZSB0aGVhZCB0aC5zdGlja3ktY29sLFxuLnN0aWNreS10YWJsZSB0YWJsZSB0aGVhZCB0ZC5zdGlja3ktY29sLFxuLnN0aWNreS10YWJsZS0tY29tcGFyZSB0YWJsZSB0aGVhZCB0aC5zdGlja3ktY29sIHtcbiAgICBwb3NpdGlvbjogLXdlYmtpdC1zdGlja3k7XG4gICAgcG9zaXRpb246IHN0aWNreTtcbiAgICBsZWZ0OiAwO1xuICAgIHotaW5kZXg6IHZhcigtLXotaW5kZXgtdGFibGUtc3RpY2t5LWhlYWQpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJnLWRhcmspO1xuICAgIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gICAgYm94LXNoYWRvdzogMnB4IDAgNXB4IHJnYmEoMCwgMCwgMCwgMC4wOCk7XG59XG5cbi5zdGlja3ktdGFibGUgdGFibGUgdGJvZHkgdGguc3RpY2t5LWNvbCxcbi5zdGlja3ktdGFibGUgdGFibGUgdGJvZHkgdGQuc3RpY2t5LWNvbCxcbi5zdGlja3ktdGFibGUtLWNvbXBhcmUgdGFibGUgdGJvZHkgdGguc3RpY2t5LWNvbCB7XG4gICAgcG9zaXRpb246IC13ZWJraXQtc3RpY2t5O1xuICAgIHBvc2l0aW9uOiBzdGlja3k7XG4gICAgbGVmdDogMDtcbiAgICB6LWluZGV4OiB2YXIoLS16LWluZGV4LXRhYmxlLXN0aWNreSk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmctc3VyZmFjZSk7XG4gICAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgICBib3gtc2hhZG93OiAycHggMCA1cHggcmdiYSgwLCAwLCAwLCAwLjA4KTtcbn1cblxuLnN0aWNreS10YWJsZSB0YWJsZSB0Ym9keSB0cjpob3ZlciB0aC5zdGlja3ktY29sLFxuLnN0aWNreS10YWJsZSB0YWJsZSB0Ym9keSB0cjpob3ZlciB0ZC5zdGlja3ktY29sIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iZy1ob3Zlcik7XG59XG5cbmJvZHkud2FpdGluZyxcbmJvZHkud2FpdGluZyAqIHtcbiAgICBjdXJzb3I6IHdhaXQ7XG59XG5cbi50YWJsZS1uYXZpZ2F0aW9uIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIG1hcmdpbi10b3A6IHZhcigtLXNwYWNlLW1kKTtcbn1cblxuLnRhYmxlLW5hdmlnYXRpb24gLnBhZ2luYXRpb24ge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4udGFibGUtbmF2aWdhdGlvbiAucGFnaW5hdGlvbiBsaTpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICBtYXJnaW4tcmlnaHQ6IHZhcigtLXNwYWNlLXhzKTtcbn1cblxuLnRhYmxlLW5hdmlnYXRpb24gLnBhZ2luYXRpb24gLmJ1dHRvbiB7XG4gICAgbWluLXdpZHRoOiAzMnB4O1xuICAgIGhlaWdodDogMzJweDtcbiAgICBwYWRkaW5nOiAwIHZhcigtLXNwYWNlLXhzKTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKTtcbiAgICBib3JkZXI6IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLWxpZ2h0KTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iZy1zdXJmYWNlKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1wcmltYXJ5KTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KSwgY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KTtcbn1cblxuLnRhYmxlLW5hdmlnYXRpb24gLnBhZ2luYXRpb24gLmJ1dHRvbi5idXR0b24tLXByaW1hcnksXG4udGFibGUtbmF2aWdhdGlvbiAucGFnaW5hdGlvbiAuYnV0dG9uLmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXByaW1hcnkpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXdoaXRlKTtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLXRleHQtcHJpbWFyeSk7XG59XG5cbi50YWJsZS1uYXZpZ2F0aW9uIC5wYWdpbmF0aW9uIC5idXR0b246bm90KC5idXR0b24tLXByaW1hcnkpOm5vdCguZm9jdXMpOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iZy1ob3Zlcik7XG59XG5cbi50YWJsZS1hdmF0YXItd3JhcHBlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogdmFyKC0tc3BhY2UtbWQpO1xufVxuXG4udGFibGUtYXZhdGFyLXdyYXBwZXIgaW1nIHtcbiAgICB3aWR0aDogMzBweDtcbiAgICBoZWlnaHQ6IDMwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1jaXJjbGUpO1xufVxuXG4udGFibGUtYXZhdGFyLXdyYXBwZXIgLnBhcnRpY2lwYW50IHtcbiAgICB3aWR0aDogMTMwcHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbn1cblxuLnRhYmxlLWF2YXRhci13cmFwcGVyLS1mb2xsb3dlcnMge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLXN1cmZhY2UpO1xuICAgIGJvcmRlcjogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItbGlnaHQpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpO1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLXhzKSB2YXIoLS1zcGFjZS1zbSk7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCksIGJvcmRlci1jb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpO1xufVxuXG4udGFibGUtYXZhdGFyLXdyYXBwZXItLWZvbGxvd2Vyczpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctaG92ZXIpO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItYm9yZGVyLXN0YW5kYXJkKTtcbn1cblxuLnRhYmxlLWZpcnN0LXBvcyB7XG4gICAgYm9yZGVyLWxlZnQ6IHZhcigtLWJvcmRlci13aWR0aC14bCkgc29saWQgdmFyKC0tY29sb3ItcG9zLWZpcnN0KTtcbn1cblxuLnRhYmxlLXNlY29uZC1wb3Mge1xuICAgIGJvcmRlci1sZWZ0OiB2YXIoLS1ib3JkZXItd2lkdGgteGwpIHNvbGlkIHZhcigtLWNvbG9yLXBvcy1zZWNvbmQpO1xufVxuXG4udGFibGUtdGhpcmQtcG9zIHtcbiAgICBib3JkZXItbGVmdDogdmFyKC0tYm9yZGVyLXdpZHRoLXhsKSBzb2xpZCB2YXIoLS1jb2xvci1wb3MtdGhpcmQpO1xufVxuXG4udGFibGUtcG9zIHtcbiAgICBib3JkZXItbGVmdDogdmFyKC0tYm9yZGVyLXdpZHRoLXhsKSBzb2xpZCB2YXIoLS1jb2xvci1wb3MtZm91ci1maXZlKTtcbn1cblxuLnNjcm9sbGFibGUtdGFibGUtd3JhcHBlciB7XG4gICAgbWF4LWhlaWdodDogMjAwcHg7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgIGJvcmRlcjogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItbGlnaHQpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLXN1cmZhY2UpO1xufVxuXG4uc2Nyb2xsYWJsZS10YWJsZS13cmFwcGVyIHRhYmxlIHtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBtYXJnaW46IDA7XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG59XG5cbi5zY3JvbGxhYmxlLXRhYmxlLXdyYXBwZXIgdGFibGUgdGhlYWQgdHIgdGgsXG4uc2Nyb2xsYWJsZS10YWJsZS13cmFwcGVyIHRhYmxlIHRoZWFkIHRyIHRkIHtcbiAgICBwb3NpdGlvbjogLXdlYmtpdC1zdGlja3k7XG4gICAgcG9zaXRpb246IHN0aWNreTtcbiAgICB0b3A6IDA7XG4gICAgei1pbmRleDogMTA7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctZGFyayk7XG59XG5cbi5tYWluLWFyZWEge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS1sZykgO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLW1haW4pO1xuICAgIG92ZXJmbG93OiBhdXRvO1xuICAgIG1pbi1oZWlnaHQ6IDkwMHB4O1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLWxnKSAwO1xuICAgIGFsaWduLWNvbnRlbnQ6IHN0YXJ0O1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHJhZGlhbC1ncmFkaWVudCggZWxsaXBzZSA2NSUgNTUlIGF0IDUwJSA1NSUsIHJnYmEoMTkwLCAyMjUsIDI1NSwgMC43KSAwJSwgcmdiYSgyMTUsIDIzNSwgMjU1LCAwLjM1KSA0NSUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMCkgNzUlICk7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBtaW4td2lkdGg6IDA7XG59XG5cbi5zaWRlLWFyZWEge1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXNtKTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy1tYWluKTtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS1sZykgMDtcbiAgICBtaW4td2lkdGg6IDA7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cblxuLnNpZGUtYXJlYSBoMSxcbi5zaWRlLWFyZWEgaDIsXG4uc2lkZS1hcmVhIGgzIHtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1sZyk7XG4gICAgbWFyZ2luOiB2YXIoLS1zcGFjZS1zbSkgMCB2YXIoLS1zcGFjZS14cykgMDtcbiAgICBsaW5lLWhlaWdodDogdmFyKC0tbGluZS1oZWlnaHQtdGlnaHQpO1xufVxuXG4uc2lkZS1hcmVhLS10cmVlIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy1zdXJmYWNlKTtcbn1cblxuLmZvb3RlciB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctaG92ZXItZGFyayk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LWludmVyc2UpO1xufVxuXG4uZm9vdGVyIGEsXG4uZm9vdGVyIGE6bGluayxcbi5mb290ZXIgYTp2aXNpdGVkIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1pbnZlcnNlKTtcbn1cblxuLmZvb3RlciBhOmlzKDpob3ZlciwgOmZvY3VzLXZpc2libGUsIDphY3RpdmUpIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC13aGl0ZSk7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG5cbi8qIENvbnRlbnQgd3JhcHBlciAqL1xuLmNvbnRlbnQge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAyMHB4IG1pbm1heCgwLCAxZnIpIDIwcHg7XG4gICAgcm93LWdhcDogdmFyKC0tc3BhY2Utc20pO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXNtKTtcbn1cblxuLmNvbnRlbnQgPiAqIHtcbiAgICBncmlkLWNvbHVtbjogMjtcbn1cblxuLmNvbnRlbnQgPiAuZmxleC1yb3ctLXdvcmxkLXJlY29yZHMge1xuICAgIGdyaWQtY29sdW1uOiAxLy0xO1xufVxuXG4uc3ViLWNvbnRlbnQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IHZhcigtLXNwYWNlLXNtKTtcbn1cblxuLyogaGVybyBiYW5uZXIgKi9cbi5oZXJvLWJhbm5lciB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCAjMDMwNjE3IDAlLCAjMWUzYTVmIDEwMCUpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpO1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLWxnKSB2YXIoLS1zcGFjZS1tZCk7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLmhlcm8tYm9keSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogdmFyKC0tc3BhY2UteHMpO1xufVxuXG4uaGVyby10aXRsZSB7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LWludmVyc2UpO1xuICAgIG1hcmdpbjogMDtcbn1cblxuLmhlcm8tc3VidGl0bGUge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LWludmVyc2UpO1xuICAgIG1hcmdpbjogMDtcbn1cblxuLyogSGFyZHdhcmUgaGVybyBzY3Rpb24gKi9cbi5oYXJkd2FyZS1oZXJvLXNlY3Rpb24ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGdhcDogdmFyKC0tc3BhY2UtbGcpO1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS14bCk7XG59XG5cbi5oYXJkd2FyZS1oZXJvLWltYWdlLWNhcmQge1xuICBmbGV4OiAxIDEgMzAwcHg7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctc3VyZmFjZSk7XG4gIGJvcmRlcjogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItc3VidGxlKTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cyk7XG4gIHBhZGRpbmc6IHZhcigtLXNwYWNlLWxnKTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGdhcDogdmFyKC0tc3BhY2UtbWQpO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG4uaGFyZHdhcmUtYmVuY2htYXJrLWltYWdlLXdyYXBwZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgd2lkdGg6IDEwMCU7XG4gIGZsZXg6IDE7XG59XG5cbi5oYXJkd2FyZS1iZW5jaG1hcmstaW1hZ2Utd3JhcHBlciBpbWcge1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG1heC1oZWlnaHQ6IDIyMHB4O1xuICBoZWlnaHQ6IGF1dG87XG4gIG9iamVjdC1maXQ6IGNvbnRhaW47XG59XG5cbi5oYXJkd2FyZS1hZmZpbGlhdGUtYWN0aW9ucyB7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgbWFyZ2luLXRvcDogYXV0bztcbn1cblxuLmJ1dHRvbi0tYW1hem9uIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBnYXA6IDhweDtcbiAgYmFja2dyb3VuZDogI2ZmOTkwMDtcbiAgY29sb3I6ICMxMTExMTE7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIHBhZGRpbmc6IDhweCAxOHB4O1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2U2OGEwMDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBib3gtc2hhZG93OiAwIDFweCAycHggcmdiYSgwLCAwLCAwLCAwLjA4KTtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjE1cyBlYXNlLCB0cmFuc2Zvcm0gMC4xcyBlYXNlLCBib3gtc2hhZG93IDAuMTVzIGVhc2U7XG59XG5cbi5idXR0b24tLWFtYXpvbjpob3ZlciB7XG4gIGJhY2tncm91bmQ6ICNmMDhjMDA7XG4gIGNvbG9yOiAjMDAwMDAwO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGJveC1zaGFkb3c6IDAgMnB4IDRweCByZ2JhKDAsIDAsIDAsIDAuMTUpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTFweCk7XG59XG5cbi5idXR0b24tLWFtYXpvbjphY3RpdmUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG59XG5cbi5idXR0b24tLWFtYXpvbiBpIHtcbiAgZm9udC1zaXplOiAxLjE1cmVtO1xufVxuXG4uaGFyZHdhcmUtaGVyby1zdGF0cy1ncmlkIHtcbiAgZmxleDogMiAxIDMyMHB4O1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpdCwgbWlubWF4KDIyMHB4LCAxZnIpKTtcbiAgZ2FwOiB2YXIoLS1zcGFjZS1tZCk7XG59XG5cbi5oYXJkd2FyZS1oZXJvLXN0YXQtY2FyZCB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLXN1cmZhY2UpO1xuICBib3JkZXI6IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLXN1YnRsZSk7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpO1xuICBwYWRkaW5nOiB2YXIoLS1zcGFjZS1sZyk7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbi5oYXJkd2FyZS1oZXJvLXN0YXQtY2FyZCBoMyB7XG4gIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXhsKTtcbiAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1oZWFkaW5nKTtcbiAgbWFyZ2luOiAwIDAgdmFyKC0tc3BhY2UteHMpIDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLmhhcmR3YXJlLXN1Yi1sYWJlbCB7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG4gIG1hcmdpbjogMCAwIHZhcigtLXNwYWNlLXNtKSAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5oYXJkd2FyZS1zdGF0LWxhYmVsIHtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbiAgbWFyZ2luOiAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5oYXJkd2FyZS1mYW1pbHktbGluayB7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci1saW5rKTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjZS1zbSk7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLmhhcmR3YXJlLWZhbWlseS1saW5rOmhvdmVyIHtcbiAgY29sb3I6IHZhcigtLWNvbG9yLWxpbmstaG92ZXIpO1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgdGV4dC11bmRlcmxpbmUtb2Zmc2V0OiAycHg7XG59XG5cbi5oYXJkd2FyZS10YWItbWVudSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGdhcDogdmFyKC0tc3BhY2Utc20pO1xuICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjZS1zbSk7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uaGFyZHdhcmUtdGFiLW1lbnUgLmJ1dHRvbiB7XG4gIGZsZXg6IDEgMSBhdXRvO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBhZGRpbmc6IHZhcigtLXNwYWNlLXNtKSB2YXIoLS1zcGFjZS1tZCk7XG59XG5cbi5pbWFnZS1tb2RhbCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgei1pbmRleDogMTtcbiAgICBwYWRkaW5nOiA1MHB4IDAgMCAwO1xuICAgIGxlZnQ6IDA7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBvdmVyZmxvdzogYXV0bztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMCwgMCwgMCk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjkpO1xufVxuXG4uaW1hZ2UtbW9kYWwtY29udGVudCB7XG4gICAgbWFyZ2luOiBhdXRvIGF1dG87XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWF4LXdpZHRoOiA4MCU7XG4gICAgbWF4LWhlaWdodDogOTAlO1xufVxuXG4vKiBpbWFnZSAqL1xuLmltYWdlLXdyYXBwZXIge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5pbWFnZSB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBkaXNwbGF5OiBibG9jaztcbn1cblxuLmJlbmNobWFyay1pbWFnZS13cmFwcGVyIHtcbiAgICBiYWNrZ3JvdW5kOiBibGFjaztcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKTtcbiAgICBhbGlnbi1jb250ZW50OiBjZW50ZXI7XG59XG5cbi5iZW5jaG1hcmstaW1hZ2Utd3JhcHBlciBpbWcge1xuICAgIGJvcmRlcjogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItbGlnaHQpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogNDAwcHg7XG59XG5cbi8qIENvbXBvIHN0YWdlIGluZm8gY2FyZCAqL1xuLmxpc3QtLXN0YWdlcyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogdmFyKC0tc3BhY2UteHMpO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG5cbi5saXN0IGxpLnN0YWdlLWluZm8ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IHZhcigtLXNwYWNlLXhzKTtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS14cykgMDtcbiAgICBib3JkZXItYm90dG9tOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1saWdodCk7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cblxuLmxpc3QgbGkuc3RhZ2UtaW5mbzpsYXN0LWNoaWxkIHtcbiAgICBib3JkZXItYm90dG9tOiBub25lO1xufVxuXG4uc3RhZ2UtaW5mby1tYWluIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS14cyk7XG4gICAgbWluLXdpZHRoOiAwO1xuICAgIHdpZHRoOiAxMDAlO1xufVxuXG4uc3RhZ2UtaW5mby1oZWFkZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS14cyk7XG4gICAgd2lkdGg6IDEwMCU7XG59XG5cbi5zdGFnZS1udW1iZXIge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS14cyk7XG4gICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtbW9ubyk7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteHMpO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjA1ZW07XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtaGVhZGluZyk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYm9yZGVyLXN1YnRsZSk7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2UtMnhzKSB2YXIoLS1zcGFjZS1zbSk7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy14cyk7XG4gICAgYm9yZGVyOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGZsZXgtc2hyaW5rOiAwO1xufVxuXG4uc3RhZ2UtbnVtYmVyIGkge1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLTJ4cyk7XG59XG5cbi5zdGFnZS1udW1iZXItLXJ1bm5pbmcge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXN1Y2Nlc3MtYmcpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1zdWNjZXNzLXRleHQpO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3Itc3VjY2Vzcy1ib3JkZXIpO1xufVxuXG4uc3RhZ2UtbnVtYmVyLS1ydW5uaW5nIGkge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1zdWNjZXNzKTtcbn1cblxuLnN0YWdlLW51bWJlci0tY2xvc2VkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1lcnJvci1iZyk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWVycm9yLXRleHQpO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItZXJyb3ItYm9yZGVyKTtcbn1cblxuLnN0YWdlLW51bWJlci0tY2xvc2VkIGkge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1lcnJvcik7XG59XG5cbi5zdGFnZS1udW1iZXItLXVwY29taW5nIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1ib3JkZXItc3VidGxlKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItYm9yZGVyLWRhc2hlZCk7XG59XG5cbi5zdGFnZS1udW1iZXItLXVwY29taW5nIGkge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG59XG5cblxuLnN0YWdlLWluZm8gLnN0YWdlLWxpbmsge1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1zZW1pYm9sZCk7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xuICAgIGdhcDogdmFyKC0tc3BhY2Utc20pO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1pbi13aWR0aDogMDtcbiAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICAgIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7XG4gICAgb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDtcbiAgICBsaW5lLWhlaWdodDogdmFyKC0tbGluZS1oZWlnaHQtdGlnaHQpO1xufVxuXG4uc3RhZ2UtaW5mbyAuc3RhZ2UtbGluayBzcGFuIHtcbiAgICBtaW4td2lkdGg6IDA7XG4gICAgd29yZC1icmVhazogYnJlYWstd29yZDtcbiAgICBvdmVyZmxvdy13cmFwOiBicmVhay13b3JkO1xufVxuXG4uc3RhZ2UtaW5mby5hY3RpdmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWluZm8tYmcpO1xufVxuXG4uc3RhZ2UtaW5mby5hY3RpdmUgLnN0YWdlLWxpbmsge1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbn1cblxuLnN0YWdlLWluZm8gLnN0YWdlLWxpbmsgaSB7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteHMpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LW11dGVkKTtcbiAgICBmbGV4LXNocmluazogMDtcbn1cblxuLnN0YWdlLWluZm8gLnN0YWdlLWxpbms6aG92ZXIgaSB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWxpbmstaG92ZXIpO1xufVxuXG4uc3RhZ2UtaW5mby1tZXRhIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGdhcDogdmFyKC0tc3BhY2UteHMpIHZhcigtLXNwYWNlLW1kKTtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1zbSk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbn1cblxuLnN0YWdlLW1ldGEtaXRlbSB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IHZhcigtLXNwYWNlLXhzKTtcbn1cblxuLnN0YWdlLW1ldGEtcmFuayB7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXByaW1hcnkpO1xufVxuXG4uc3RhZ2UtbWV0YS1yYW5rIC5mYS10cm9waHkge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci13YXJuaW5nKTtcbiAgICBtYXJnaW4tcmlnaHQ6IHZhcigtLXNwYWNlLXhzKTtcbn1cblxuLnN0YWdlLW1ldGEtcmFuay5yYW5rLS1nb2xkIC5mYS10cm9waHkge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci13YXJuaW5nLXN0YXIpO1xufVxuXG4uc3RhZ2UtbWV0YS1yYW5rLnJhbmstLXNpbHZlciAuZmEtdHJvcGh5IHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1tdXRlZCk7XG59XG5cbi5zdGFnZS1tZXRhLXJhbmsucmFuay0tYnJvbnplIC5mYS10cm9waHkge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci13YXJuaW5nKTtcbn1cblxuLnN0YWdlLWluZm8gLnRleHQtbXV0ZWQgLmZhLXRyb3BoeSB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWJvcmRlci1kYXNoZWQpO1xuICAgIG1hcmdpbi1yaWdodDogdmFyKC0tc3BhY2UteHMpO1xufVxuXG4uc3RhZ2UtbWV0YS1zY29yZSB7XG4gICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtbW9ubyk7XG4gICAgZm9udC12YXJpYW50LW51bWVyaWM6IHRhYnVsYXItbnVtcztcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtc2VtaWJvbGQpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXByaW1hcnkpO1xufVxuXG4uc3RhZ2UtaW5mbyAudGV4dC1tdXRlZCB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbXV0ZWQpO1xufVxuXG4uc3RhZ2UtaW5mbyAuc2NvcmUtbGluayB7XG4gICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtbW9ubyk7XG4gICAgZm9udC12YXJpYW50LW51bWVyaWM6IHRhYnVsYXItbnVtcztcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtc2VtaWJvbGQpO1xufVxuXG4uc3RhZ2UtaW5mbyAudGFyZ2V0LWljb24ge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1lcnJvcik7XG4gICAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1zcGFjZS14cyk7XG59XG5cbi8qIEdyaWQgYm94ZXMgKi9cbi5ncmlkLWJveCB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBnYXA6IHZhcigtLXNwYWNlLW1kKTtcbn1cblxuLmdyaWQtYm94LS1zdWJtaXQtaGFyZHdhcmUge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogYXV0byBhdXRvO1xufVxuXG4uZ3JpZC1ib3gtLXN1Ym1pdC1oYXJkd2FyZSA+IGRpdiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuXG4uZ3JpZC1ib3gtLXN1Ym1pdC1oYXJkd2FyZSBpbWcge1xuICAgIG1heC13aWR0aDogMTIwcHg7XG4gICAgbWF4LWhlaWdodDogMTIwcHg7XG4gICAgb2JqZWN0LWZpdDogY29udGFpbjtcbiAgICBtYXJnaW46IDAgYXV0bztcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cyk7XG5cdGJvcmRlcjogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItbGlnaHQpO1xufVxuXG4ud2FsbC1zdWJtaXNzaW9uLWNhcmQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBib3JkZXI6IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLWxpZ2h0KTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy1zdXJmYWNlKTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGdhcDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS1zbSk7XG4gICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCksIGJveC1zaGFkb3cgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KTtcbn1cblxuLndhbGwtc3VibWlzc2lvbi1jYXJkOmhvdmVyIHtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLWJvcmRlci1zdGFuZGFyZCk7XG59XG5cbi5ncmlkLWJveC0tYWNoaWV2ZW1lbnQsXG4uZ3JpZC1ib3gtLXBhcnRuZXIge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZml0LCBtaW5tYXgoMTgwcHgsIDFmcikpO1xufVxuXG4uZ3JpZC1ib3gtLWhpZ2hsaWdodC1zdWJtaXNzaW9uLFxuLmdyaWQtYm94LS1zdWJtaXNzaW9uLWhhcmR3YXJlIHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpdCwgbWlubWF4KDIwMHB4LCAxZnIpKTtcbn1cblxuLmdyaWQtYm94LS1jb21wbyxcbi5ncmlkLWJveC0tcHJvZmlsZSxcbi5ncmlkLWJveC0tc3VibWlzc2lvbi1yYW5raW5nIHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpdCwgbWlubWF4KDI1MHB4LCAxZnIpKTtcbn1cblxuLmdyaWQtYm94LS1iZW5jaG1hcmtzLFxuLmdyaWQtYm94LS1oYXJkd2FyZS1vdmVydmlldyxcbi5ncmlkLWJveC0tbGVhZ3VlLWluZm8sXG4uZ3JpZC1ib3gtLW5ld3MsXG4uZ3JpZC1ib3gtLXNlYXJjaCB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maXQsIG1pbm1heCgzMDBweCwgMWZyKSk7XG59XG5cbi5ncmlkLWJveC0tcHJvZmlsZS1hY2NvdW50LXNldHRpbmdzIHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpdCwgbWlubWF4KG1pbigyODBweCwgMTAwJSksIDUwMHB4KSk7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBHZW5lcmljIENhcmQgU3VyZmFjZSBQcmltaXRpdmVcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uY2FyZCxcbi5ncmlkLWJveC1jYXJkIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2UtbWQpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLXN1cmZhY2UpO1xuICAgIGJvcmRlcjogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItbGlnaHQpO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXNtKTtcbiAgICBtaW4td2lkdGg6IDA7XG59XG5cbi8qIENhcmQgRWxlbWVudHMgKi9cbi5jYXJkX19oZWFkZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS1tZCk7XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UtbWQpO1xufVxuXG4uY2FyZF9fdGl0bGUsXG4uY2FyZC10aXRsZSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLWJhc2UpO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1wcmltYXJ5KTtcbn1cblxuLmNhcmQgPiA6aXMoaDIsIGgzKTpmaXJzdC1jaGlsZCxcbi5ncmlkLWJveC1jYXJkID4gOmlzKGgyLCBoMyk6Zmlyc3QtY2hpbGQsXG4uY2FyZF9fYm9keSA+IDppcyhoMiwgaDMpOmZpcnN0LWNoaWxkLFxuLmNhcmQtYm9keSA+IDppcyhoMiwgaDMpOmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlLW1kKTtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1sZyk7XG4gICAgbGluZS1oZWlnaHQ6IHZhcigtLWxpbmUtaGVpZ2h0LXRpZ2h0KTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS1zbSk7XG59XG5cbi5jYXJkID4gOmlzKGgyLCBoMyk6bGFzdC1jaGlsZCxcbi5ncmlkLWJveC1jYXJkID4gOmlzKGgyLCBoMyk6bGFzdC1jaGlsZCxcbi5jYXJkX19ib2R5ID4gOmlzKGgyLCBoMyk6bGFzdC1jaGlsZCxcbi5jYXJkLWJvZHkgPiA6aXMoaDIsIGgzKTpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4uZ3JpZC1ib3gtY2FyZC0tYmVuY2htYXJrLXN0YXRzID4gOmlzKGgyLCBoMyk6Zmlyc3QtY2hpbGQge1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4uY2FyZF9fYm9keSxcbi5jYXJkLWJvZHkge1xuICAgIGZsZXg6IDE7XG4gICAgbWluLXdpZHRoOiAwO1xufVxuXG4uY2FyZF9fZm9vdGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS1tZCk7XG4gICAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2UtbWQpO1xuICAgIHBhZGRpbmctdG9wOiB2YXIoLS1zcGFjZS1tZCk7XG4gICAgYm9yZGVyLXRvcDogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItc3VidGxlKTtcbn1cblxuLmdyaWQtYm94LWNhcmQtLXN1Ym1pdC1oYXJkd2FyZSB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBmbGV4OiAxO1xufVxuXG5cbi5ncmlkLWJveC1jYXJkLS1kZXNjcmlwdGlvbiB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICB3aGl0ZS1zcGFjZTogcHJlLWxpbmU7XG4gICAgb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDtcbn1cblxuLmNhcmQtLXNpZGViYXItcmFua2luZyxcbi5ncmlkLWJveC1jYXJkLS1zaWRlYmFyLXJhbmtpbmcsXG4uZ3JpZC1ib3gtY2FyZC5ncmlkLWJveC1jYXJkLS1zaWRlYmFyLXJhbmtpbmcge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogdmFyKC0tc3BhY2UtbWQpO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1pbi13aWR0aDogMDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbi5ncmlkLWJveC1jYXJkLS1uZXdzIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy1ob3Zlcik7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gdmFyKC0tdHJhbnNpdGlvbi1iYXNlKSwgYm94LXNoYWRvdyB2YXIoLS10cmFuc2l0aW9uLWJhc2UpLCBiYWNrZ3JvdW5kLWNvbG9yIHZhcigtLXRyYW5zaXRpb24tYmFzZSk7XG59XG5cbi5ncmlkLWJveC1jYXJkLS1uZXdzIC5mbGV4LXJvdy0tbmV3cy1mb290ZXIgYTo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGluc2V0OiAwO1xuICAgIHotaW5kZXg6IDE7XG59XG5cbi5ncmlkLWJveC1jYXJkLS1uZXdzIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbi5ncmlkLWJveC1jYXJkLS1hY2hpZXZlbWVudCB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5ncmlkLWJveC1jYXJkLS1iZW5jaG1hcmstc3RhdHMsXG4uZ3JpZC1ib3gtY2FyZC0tcGFydG5lciB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24tY29udGVudDogY2VudGVyO1xufVxuXG4uZ3JpZC1ib3gtY2FyZC0tYmVuY2htYXJrLXN0YXRzIGg0IHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXhzKTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtbWVkaXVtKTtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4wNGVtO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG4gICAgbWFyZ2luOiAwO1xufVxuXG4uc3RhdC1zdGF0dXMge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci13YXJuaW5nKTtcbn1cblxuLmdyaWQtYm94LWNhcmQtLW5ld3M6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJnLWhvdmVyKTtcbiAgICBib3gtc2hhZG93OiB2YXIoLS1zaGFkb3ctbWQpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMnB4KTtcbn1cblxuLyogV2FsbCBTdWJtaXNzaW9uIENhcmQgKFVzZXIgUHJvZmlsZSAmIFRlYW0gV2FsbCkgKi9cbi53YWxsLWNhcmRfX2JvZHkge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogdmFyKC0tc3BhY2Utc20pIHZhcigtLXNwYWNlLWxnKTtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS1zbSkgdmFyKC0tc3BhY2UtbWQpO1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBtaW4td2lkdGg6IDA7XG59XG5cbi53YWxsLWNhcmRfX3JhbmtpbmdzIHtcbiAgICBib3JkZXItdG9wOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1saWdodCk7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctc3VidGxlKTtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDMsIDFmcik7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS1tZCk7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2Utc20pIHZhcigtLXNwYWNlLW1kKTtcbiAgICBtaW4td2lkdGg6IDA7XG59XG5cbi53YWxsLWNhcmRfX3JhbmtpbmdzIC5ncmlkLXNwZWMge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1pbi13aWR0aDogMDtcbn1cblxuLndhbGwtY2FyZF9fcmFua2luZ3MgLmdyaWQtc3BlYy1yb3cge1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgcGFkZGluZzogMDtcbn1cblxuLndhbGwtY2FyZF9fZGF0ZSB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14cyk7XG4gICAgZm9udC12YXJpYW50LW51bWVyaWM6IHRhYnVsYXItbnVtcztcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIGZsZXgtc2hyaW5rOiAwO1xufVxuXG4ud2FsbC1jYXJkX191c2VyIHtcbiAgICBmbGV4LXNocmluazogMDtcbn1cblxuLndhbGwtY2FyZF9fdXNlciBhIHtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtc2VtaWJvbGQpO1xufVxuXG4ud2FsbC1jYXJkX19iZW5jaG1hcmsgYSB7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LXNlbWlib2xkKTtcbn1cblxuLndhbGwtY2FyZF9faGFyZHdhcmUge1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXhzKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1wcmltYXJ5KTtcbn1cblxuLndhbGwtY2FyZF9fY29yZXMge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteHMpO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLWFsdCk7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2UtM3hzKSB2YXIoLS1zcGFjZS0yeHMpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtc20pO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgZmxleC1zaHJpbms6IDA7XG59XG5cbi53YWxsLWNhcmRfX2Nvb2xpbmcge1xuICAgIGZsZXgtc2hyaW5rOiAwO1xufVxuXG4ud2FsbC1jYXJkX19zY29yZSB7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLWJhc2UpO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgZmxleC1zaHJpbms6IDA7XG59XG5cbi5ncmlkLWJveC1jYXJkLS1iZW5jaG1hcmtzIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIGJvcmRlcjogMDtcbn1cblxuLmdyaWQtYm94LWNhcmQtLWJlbmNobWFya3MsXG4uZ3JpZC1ib3gtY2FyZC0tY29tcG8sXG4uZ3JpZC1ib3gtY2FyZC0taGFyZHdhcmUtb3ZlcnZpZXcsXG4uZ3JpZC1ib3gtY2FyZC0taGlnaGxpZ2h0LXN1Ym1pc3Npb24sXG4uZ3JpZC1ib3gtY2FyZC0tbGVhZ3VlLWluZm8sXG4uZ3JpZC1ib3gtY2FyZC0tbG9naW4sXG4uZ3JpZC1ib3gtY2FyZC0tcHJvZmlsZSxcbi5ncmlkLWJveC1jYXJkLS1yZWdpc3Rlcixcbi5ncmlkLWJveC1jYXJkLS1yZXNldC1wYXNzd29yZCxcbi5ncmlkLWJveC1jYXJkLS1zZWFyY2gsXG4uZ3JpZC1ib3gtY2FyZC0tc3VibWlzc2lvbi1oYXJkd2FyZSxcbi5ncmlkLWJveC1jYXJkLS10b3AtZmlsdGVyIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuXG4uY2FyZC0tY29tcGV0aXRpb24sXG4uZ3JpZC1ib3gtY2FyZC0tY29tcG8ge1xuICAgIG1pbi13aWR0aDogMDtcbn1cblxuLmNhcmQtLWNvbXBldGl0aW9uIC5jYXJkLWJvZHksXG4uY2FyZC0tY29tcGV0aXRpb24gLmNhcmRfX2JvZHksXG4uZ3JpZC1ib3gtY2FyZC0tY29tcG8gLmNhcmQtYm9keSB7XG4gICAgbWluLXdpZHRoOiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBmbGV4OiAxO1xufVxuXG4uY2FyZC0tY29tcGV0aXRpb24gLnJhbmtpbmctZW1wdHktY2FyZCxcbi5ncmlkLWJveC1jYXJkLS1jb21wbyAucmFua2luZy1lbXB0eS1jYXJkIHtcbiAgICBmbGV4OiAxO1xufVxuXG4uZ3JpZC1ib3gtY2FyZC0taGlnaGxpZ2h0LXN1Ym1pc3Npb24ge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLXN1cmZhY2UpO1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG5cbi8qIEhhcmR3YXJlIEhlYWRlciBDYXJkICovXG4uY2FyZC0taGFyZHdhcmUtaGVhZGVyIHtcbiAgICBnYXA6IHZhcigtLXNwYWNlLW1kKTtcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS1sZyk7XG59XG5cbi5jYXJkLS1oYXJkd2FyZS1oZWFkZXIgLmNhcmRfX2hlYWRlciB7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGdhcDogdmFyKC0tc3BhY2Utc20pO1xuICAgIHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjZS1zbSk7XG4gICAgYm9yZGVyLWJvdHRvbTogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItbGlnaHQpO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi5jYXJkLS1oYXJkd2FyZS1oZWFkZXIgLmNhcmRfX3RpdGxlIHtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14bCk7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogdmFyKC0tc3BhY2Utc20pO1xufVxuXG4uaGFyZHdhcmUtaWNvbiB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtcHJpbWFyeSk7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtbGcpO1xufVxuXG4uaGFyZHdhcmUtaGVhZGVyX19iYWRnZXMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS14cyk7XG59XG5cbi5oYXJkd2FyZS1oZWFkZXJfX2JhZGdlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogdmFyKC0tc3BhY2UtMnhzKTtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS0yeHMpIHZhcigtLXNwYWNlLXNtKTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLWZ1bGwpO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLWNhcmQpO1xuICAgIGJvcmRlcjogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItbGlnaHQpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteHMpO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1tZWRpdW0pO1xuICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC1ub3JtYWwpO1xufVxuXG4uY2FyZC0taGFyZHdhcmUtaGVhZGVyIC5oYXJkd2FyZS1oZXJvLXN0YXRzLWdyaWQge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZml0LCBtaW5tYXgoMTgwcHgsIDFmcikpO1xuICAgIGdhcDogdmFyKC0tc3BhY2Utc20pO1xufVxuXG4uY2FyZC0taGFyZHdhcmUtaGVhZGVyIC5oYXJkd2FyZS1oZXJvLXN0YXQtY2FyZCB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctY2FyZCk7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1ib3JkZXItbGlnaHQpO1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLW1kKTtcbn1cblxuLmNhcmQtLWhhcmR3YXJlLWhlYWRlciAuaGFyZHdhcmUtaGVyby1zdGF0LWNhcmQgaDMge1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLTJ4bCk7XG4gICAgbGluZS1oZWlnaHQ6IHZhcigtLWxpbmUtaGVpZ2h0LW5vbmUpO1xuICAgIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlLTJ4cyk7XG59XG5cbi5jYXJkLS1oYXJkd2FyZS1oZWFkZXIgLmhhcmR3YXJlLWhlcm8tc3RhdC1jYXJkIC5oYXJkd2FyZS1zdGF0LWxhYmVsIHtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14cyk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LW1lZGl1bSk7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4wNGVtO1xufVxuXG4uY2FyZC0taGFyZHdhcmUtaGVhZGVyIC5ncmlkLXNwZWMge1xuICAgIG1hcmdpbi10b3A6IHZhcigtLXNwYWNlLW1kKTtcbn1cblxuLyogQmVuY2htYXJrIE92ZXJ2aWV3ICovXG4uZ3JpZC1ib3gtLWJlbmNobWFya3Mge1xuICAgIGFsaWduLWl0ZW1zOiBzdGFydDtcbn1cblxuLmdyaWQtYm94LS1iZW5jaG1hcmtzIC5jYXJkX190aXRsZSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogdmFyKC0tc3BhY2Utc20pO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLW1kKTtcbn1cblxuLmJlbmNobWFyay1vdmVydmlldy1jb2x1bW4ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IHZhcigtLXNwYWNlLW1kKTtcbiAgICBtaW4td2lkdGg6IDA7XG59XG5cbi8qIFNwZWMgKi9cbi5ncmlkLXNwZWMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IHZhcigtLXNwYWNlLXNtKTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuLmdyaWQtc3BlYy1yb3cge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS1tZCk7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2UteHMpIDA7XG4gICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgYm9yZGVyLWJvdHRvbTogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItbGlnaHQpO1xufVxuXG4uZ3JpZC1zcGVjLXJvdyAudGFibGUtYXZhdGFyLXdyYXBwZXIgPiBhIHtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1sZyk7XG59XG5cbi5ncmlkLXNwZWMtcm93LS1zdGFja2VkIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgIGdhcDogdmFyKC0tc3BhY2UteHMpO1xuICAgIGJvcmRlci1ib3R0b206IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLWxpZ2h0KTtcbn1cblxuLmdyaWQtc3BlYy1yb3c6bGFzdC1jaGlsZCB7XG4gICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbn1cblxuLmdyaWQtc3BlYy1yb3cgLmF0dHJpYnV0ZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtcHJpbWFyeSk7XG4gICAgZmxleC1zaHJpbms6IDA7XG59XG5cbi5ncmlkLXNwZWMtcm93IC5hdHRyaWJ1dGUtbm93cmFwIHtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4uZ3JpZC1zcGVjLXJvdy0tc3RhY2tlZCAuYXR0cmlidXRlIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xuICAgIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlLTJ4cyk7XG59XG5cbi5ncmlkLXNwZWMtcm93IC52YWx1ZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtcHJpbWFyeSk7XG59XG5cbi5ncmlkLXNwZWMtcm93LS1zdGFja2VkIC52YWx1ZSB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW46IDA7XG59XG5cbi5ncmlkLXNwZWMtcm93IC5idXR0b24ge1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLXhzKSB2YXIoLS1zcGFjZS1zbSk7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtc20pO1xuICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC10aWdodCk7XG59XG5cbi5jYXJkLWFjdGlvbnMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGdhcDogdmFyKC0tc3BhY2UteHMpIHZhcigtLXNwYWNlLXNtKTtcbiAgICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjZS0yeGwpO1xuICAgIHBhZGRpbmctdG9wOiB2YXIoLS1zcGFjZS1sZyk7XG4gICAgYm9yZGVyLXRvcDogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItbGlnaHQpO1xufVxuXG4uY2FyZC1hY3Rpb25zIC5idXR0b24ge1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLXhzKSB2YXIoLS1zcGFjZS1zbSk7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtc20pO1xuICAgIGdhcDogdmFyKC0tc3BhY2UteHMpO1xufVxuXG4vKiBNb2RhbCBvdmVybGF5ICovXG4ubW9kYWwtb3ZlcmxheSB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDB2dztcbiAgICBoZWlnaHQ6IDEwMHZoO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC42KTtcbiAgICB6LWluZGV4OiB2YXIoLS16LWluZGV4LW1vZGFsKTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgb3BhY2l0eTogMDtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSB2YXIoLS10cmFuc2l0aW9uLXNtb290aCksIHZpc2liaWxpdHkgdmFyKC0tdHJhbnNpdGlvbi1zbW9vdGgpO1xufVxuXG4ubW9kYWwtb3ZlcmxheS5pcy1vcGVuIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgcG9pbnRlci1ldmVudHM6IGF1dG87XG59XG5cbi5tb2RhbC1kaWFsb2cge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLW1haW4pO1xuICAgIHdpZHRoOiA5MCU7XG4gICAgbWF4LXdpZHRoOiAxMjAwcHg7XG4gICAgbWF4LWhlaWdodDogODV2aDtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBib3gtc2hhZG93OiB2YXIoLS1zaGFkb3ctbWQpO1xufVxuXG4ubW9kYWwtZGlhbG9nLS1yZXN1bHQtaGlzdG9yeSB7XG4gICAgbWF4LXdpZHRoOiB2YXIoLS1tb2RhbC13aWR0aC1tZCk7XG59XG5cbi5tb2RhbC1kaWFsb2ctLXJlc3VsdC1tb2RlcmF0aW9uIHtcbiAgICBtYXgtd2lkdGg6IHZhcigtLW1vZGFsLXdpZHRoLWxnKTtcbn1cblxuLm1vZGFsLWRpYWxvZy0tc29jaWFsIHtcbiAgICBtYXgtd2lkdGg6IHZhcigtLW1vZGFsLXdpZHRoLXNtKTtcbn1cblxuLm1vZGFsLWRpYWxvZ19faGVhZGVyLFxuLm1vZGFsLWhlYWRlciB7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2Utc20pIHZhcigtLXNwYWNlLWxnKTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGJvcmRlci1ib3R0b206IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLWxpZ2h0KTtcbn1cblxuLm1vZGFsLWRpYWxvZ19fYm9keSxcbi5tb2RhbC1ib2R5IHtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS1tZCk7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICBmbGV4LWdyb3c6IDE7XG59XG5cbi5tb2RhbC1kaWFsb2dfX2Zvb3Rlcixcbi5tb2RhbC1mb290ZXIge1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLW1kKSB2YXIoLS1zcGFjZS1sZyk7XG4gICAgYm9yZGVyLXRvcDogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItbGlnaHQpO1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuXG4vKiBMaXN0ICovXG51bCB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbn1cblxuLmxpc3Qge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS1tZCk7XG59XG5cbi5saXN0IGxpIHtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS1tZCkgMDtcbiAgICBib3JkZXItYm90dG9tOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1saWdodCk7XG59XG5cbi5saXN0IGxpOmxhc3QtY2hpbGQge1xuICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG59XG5cbi5saXN0LS1zY3JvbGxhYmxlIHtcbiAgICBtYXgtaGVpZ2h0OiAxNjBweDtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIHBhZGRpbmctcmlnaHQ6IHZhcigtLXNwYWNlLXhzKTtcbn1cblxuLyogUHJvZmlsZSBiYW5uZXIgKi9cbi5wcm9maWxlLWJhbm5lci13cmFwcGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDEwMCU7XG59XG5cbi5wcm9maWxlLWJhbm5lci13cmFwcGVyLmhhcy1iYW5uZXIgLnByb2ZpbGUtYmFubmVyIGltZyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYXNwZWN0LXJhdGlvOiA2IC8gMTtcbiAgICBtaW4taGVpZ2h0OiAxMjBweDtcbiAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICBvYmplY3QtcG9zaXRpb246IGNlbnRlcjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLXhzKTtcbn1cblxuLnByb2ZpbGUtYmFubmVyLXdyYXBwZXIuaGFzLWJhbm5lciAuYXZhdGFyLXdyYXBwZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IDEycHg7XG4gICAgbGVmdDogMjBweDtcbiAgICB6LWluZGV4OiAyO1xufVxuXG4ucHJvZmlsZS1iYW5uZXItd3JhcHBlci5oYXMtYmFubmVyIC5hdmF0YXIge1xuICAgIHdpZHRoOiAxMjBweDtcbiAgICBoZWlnaHQ6IDEyMHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtY2lyY2xlKTtcbiAgICBib3JkZXI6IHZhcigtLWJvcmRlci13aWR0aC1tZCkgc29saWQgdmFyKC0tY29sb3ItdGV4dC13aGl0ZSk7XG4gICAgYm94LXNoYWRvdzogMCAycHggOHB4IHJnYmEoMCwgMCwgMCwgMC43KTtcbiAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICBkaXNwbGF5OiBibG9jaztcbn1cblxuLnByb2ZpbGUtYmFubmVyLXdyYXBwZXIubm8tYmFubmVyIC5hdmF0YXItd3JhcHBlciB7XG4gICAgcG9zaXRpb246IHN0YXRpYztcbn1cblxuLnByb2ZpbGUtYmFubmVyLXdyYXBwZXIubm8tYmFubmVyIC5hdmF0YXIge1xuICAgIHdpZHRoOiAxMjBweDtcbiAgICBoZWlnaHQ6IDEyMHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtY2lyY2xlKTtcbiAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICBkaXNwbGF5OiBibG9jaztcbn1cblxuLnNpZGUtYXJlYSAuY29udGVudC5leGVjdXRvciB1bCxcbi50ZXJtcy1hbmQtY29uZGl0aW9ucyAuY29udGVudCB1bCB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbn1cblxuLnNpZGUtYXJlYSAuY29udGVudC5leGVjdXRvciB1bCBsaSB7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2UteHMpIDA7XG59XG5cbi8qIFN0YXJ0IGZpbHRlciBzZXR0aW5ncyAqL1xuXG4uZmlsdGVyIC5saXN0LFxuLmZpbHRlciB1bCB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogMDtcbn1cblxuLmZpbHRlciAubGlzdCBsaSxcbi5maWx0ZXIgdWwgbGkge1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLXhzKSAwO1xufVxuXG4uZmlsdGVyIC5maWx0ZXIta2V5IHtcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS14cyk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xufVxuXG4uZmlsdGVyIC5yYW5raW5nLWZpbHRlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgb3ZlcmZsb3cteDogdmlzaWJsZTtcbiAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICAgIGdhcDogdmFyKC0tc3BhY2Utc20pO1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLXhzKSAwIHZhcigtLXNwYWNlLXNtKSAwO1xuICAgIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlLW1kKTtcbn1cblxuXG4vKiBBY3RpdmUgRmlsdGVyIENoaXBzICovXG4uZmlsdGVyLWNoaXBzLWJhciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBnYXA6IHZhcigtLXNwYWNlLXhzKTtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS14cykgdmFyKC0tc3BhY2Utc20pO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLXN1cmZhY2UpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpO1xuICAgIGJvcmRlcjogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItbGlnaHQpO1xuICAgIG1hcmdpbi10b3A6IHZhcigtLXNwYWNlLXhzKTtcbn1cblxuLmZpbHRlci1jaGlwcy1saXN0IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGdhcDogdmFyKC0tc3BhY2Utc20pO1xufVxuXG4uZmlsdGVyLWNoaXAge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS1zbSk7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2UtMnhzKSB2YXIoLS1zcGFjZS1zbSk7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctbWFpbik7XG4gICAgYm9yZGVyOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1saWdodCk7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1sZyk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbWFpbik7XG4gICAgbGluZS1oZWlnaHQ6IHZhcigtLWxpbmUtaGVpZ2h0LW5vcm1hbCk7XG59XG5cbi5maWx0ZXItY2hpcC1sYWJlbCB7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLmZpbHRlci1jaGlwLXJlbW92ZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbXV0ZWQpO1xuICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC1ub25lKTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogMDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1jaXJjbGUpO1xuICAgIHdpZHRoOiAxNnB4O1xuICAgIGhlaWdodDogMTZweDtcbn1cblxuLmZpbHRlci1jaGlwLXJlbW92ZTpob3ZlciB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWVycm9yKTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1lcnJvci1iZyk7XG59XG5cbi5maWx0ZXItY2hpcC1jbGVhci1hbGwge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS0yeHMpIHZhcigtLXNwYWNlLXNtKTtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICBsaW5lLWhlaWdodDogdmFyKC0tbGluZS1oZWlnaHQtbm9ybWFsKTtcbn1cblxuLmZpbHRlci1jaGlwLWNsZWFyLWFsbDpob3ZlciB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWVycm9yKTtcbn1cblxuLyogSGFyZHdhcmUgTGlua3MgLyBDaGlwIENsb3VkICovXG4uaGFyZHdhcmUtY2hpcHMtbGlzdCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS14cyk7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuLmhhcmR3YXJlLWNoaXAge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2UtMnhzKSB2YXIoLS1zcGFjZS1zbSk7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctbWFpbik7XG4gICAgYm9yZGVyOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1saWdodCk7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1sZyk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtcHJpbWFyeSk7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXhzKTtcbiAgICBsaW5lLWhlaWdodDogdmFyKC0tbGluZS1oZWlnaHQtbm9ybWFsKTtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCksIGJvcmRlci1jb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpLCBjb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpO1xufVxuXG4uaGFyZHdhcmUtY2hpcDpob3Zlcixcbi5oYXJkd2FyZS1jaGlwOmZvY3VzLXZpc2libGUge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLWhvdmVyKTtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLWJvcmRlci1zdGFuZGFyZCk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtcHJpbWFyeSk7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4uaGFyZHdhcmUtY2hpcHMtc2Nyb2xsIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBnYXA6IHZhcigtLXNwYWNlLXhzKTtcbiAgICBtYXgtaGVpZ2h0OiAyMjBweDtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLXhzKSAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbn1cblxuLmhhcmR3YXJlLWV4cGFuZC1kZXRhaWxzIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjZS14cyk7XG59XG5cbi5oYXJkd2FyZS1leHBhbmQtc3VtbWFyeSB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IHZhcigtLXNwYWNlLXhzKTtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS0yeHMpIHZhcigtLXNwYWNlLXNtKTtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14cyk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LW1lZGl1bSk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtcHJpbWFyeSk7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctc3VyZmFjZSk7XG4gICAgYm9yZGVyOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1zdWJ0bGUpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtbGcpO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KSwgYm9yZGVyLWNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCk7XG59XG5cbi5oYXJkd2FyZS1leHBhbmQtc3VtbWFyeTo6LXdlYmtpdC1kZXRhaWxzLW1hcmtlcixcbi5oYXJkd2FyZS1leHBhbmQtc3VtbWFyeTo6bWFya2VyIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG4uaGFyZHdhcmUtZXhwYW5kLXN1bW1hcnk6aG92ZXIsXG4uaGFyZHdhcmUtZXhwYW5kLXN1bW1hcnk6Zm9jdXMtdmlzaWJsZSB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctaG92ZXIpO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItYm9yZGVyLXN0YW5kYXJkKTtcbn1cblxuLmhhcmR3YXJlLWV4cGFuZC1zdW1tYXJ5IC5mYS1jaGV2cm9uLWRvd24ge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXByaW1hcnkpO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLTJ4cyk7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIHZhcigtLXRyYW5zaXRpb24tZmFzdCk7XG59XG5cbi5oYXJkd2FyZS1leHBhbmQtZGV0YWlsc1tvcGVuXSA+IC5oYXJkd2FyZS1leHBhbmQtc3VtbWFyeSAuZmEtY2hldnJvbi1kb3duIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xufVxuXG4uaGFyZHdhcmUtZXhwYW5kLWRldGFpbHMgLmV4cGFuZC10ZXh0LWxlc3Mge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5oYXJkd2FyZS1leHBhbmQtZGV0YWlsc1tvcGVuXSAuZXhwYW5kLXRleHQtbW9yZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuLmhhcmR3YXJlLWV4cGFuZC1kZXRhaWxzW29wZW5dIC5leHBhbmQtdGV4dC1sZXNzIHtcbiAgICBkaXNwbGF5OiBpbmxpbmU7XG59XG5cbi5iYWRnZS0tY291bnQge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgcGFkZGluZzogMCB2YXIoLS1zcGFjZS14cyk7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1mdWxsKTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy1ob3Zlcik7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbiAgICBib3JkZXI6IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLWxpZ2h0KTtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS0yeHMpO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICBtaW4td2lkdGg6IDE4cHg7XG4gICAgaGVpZ2h0OiAxOHB4O1xuICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC1ub25lKTtcbiAgICBtYXJnaW4tbGVmdDogdmFyKC0tc3BhY2UtMnhzKTtcbn1cblxuLyogUHJvZ3Jlc3MgKi9cbi5wcm9ncmVzc2JhciB7XG4gICAgYm9yZGVyOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1zdGFuZGFyZCk7XG4gICAgbWFyZ2luOiB2YXIoLS1zcGFjZS14cykgYXV0bztcbiAgICB3aWR0aDogMTAwcHg7XG4gICAgaGVpZ2h0OiA1cHg7XG59XG5cbi5wcm9ncmVzc2JhciA+IGRpdiB7XG4gICAgYmFja2dyb3VuZDogZ3JlZW47XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHdpZHRoOiAxMDAlO1xufVxuXG5cbi8qIFN1Ym1pc3Npb24gc3VnZ2VzdGlvbnMgKi9cbi5zdWJtaXNzaW9uLXN1Z2dlc3Rpb25zIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBnYXA6IHZhcigtLXNwYWNlLW1kKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1pbmZvLWJnKTtcbiAgICBib3JkZXI6IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItaW5mby1ib3JkZXIpO1xuICAgIGJvcmRlci1sZWZ0OiB2YXIoLS1ib3JkZXItd2lkdGgtbGcpIHNvbGlkIHZhcigtLWNvbG9yLXByaW1hcnkpO1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLW1kKSB2YXIoLS1zcGFjZS1sZyk7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1zbSk7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgb3ZlcmZsb3c6IGF1dG87XG59XG5cbi5zdWJtaXNzaW9uLXN1Z2dlc3Rpb24ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IHZhcigtLXNwYWNlLXNtKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS1ob3Zlcik7XG4gICAgbWluLXdpZHRoOiAwO1xufVxuXG4uYnV0dG9uLmJ0bi1wYXJ0aWNpcGF0ZSAuY29udGVzdC1uYW1lIHtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG59XG5cbi5idXR0b24uYnRuLXBhcnRpY2lwYXRlIC5zdGFnZS1uYW1lIHtcbiAgICBvcGFjaXR5OiAwLjk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xufVxuXG4vKiBTdWJtaXNzaW9uIHNjb3JlICovXG4uc3VibWlzc2lvbi1zY29yZS1jYXJkIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGdhcDogdmFyKC0tc3BhY2Utc20pO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgcGFkZGluZzogMCB2YXIoLS1zcGFjZS1tZCk7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtaGVhZGluZyk7XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UtbWQpO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLTN4bCk7XG59XG5cbi5zdWJtaXNzaW9uLXNjb3JlLWNhcmQgLmF2YXRhci13cmFwcGVyIHtcbiAgICBmbGV4LXNocmluazogMDtcbn1cblxuLnN1Ym1pc3Npb24tc2NvcmUtY2FyZCAuYXZhdGFyLXdyYXBwZXIgYSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4uc3VibWlzc2lvbi1zY29yZS1jYXJkIC5hdmF0YXIge1xuICAgIHdpZHRoOiAxMjBweDtcbiAgICBoZWlnaHQ6IDEyMHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtY2lyY2xlKTtcbiAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICBkaXNwbGF5OiBibG9jaztcbn1cblxuLnN1Ym1pc3Npb24tc2NvcmUtY2FyZCAuc2NvcmUtZGV0YWlscyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBnYXA6IHZhcigtLXNwYWNlLXNtKTtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuXG4uc3VibWlzc2lvbi1zY29yZS1jYXJkIC5zY29yZS1kZXRhaWxzLXJvdyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBnYXA6IHZhcigtLXNwYWNlLXNtKTtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi5zdWJtaXNzaW9uLXNjb3JlLWNhcmQgLnVzZXItaW5mbyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS1zbSk7XG59XG5cbi5zdWJtaXNzaW9uLXNjb3JlLWNhcmQgLnNjb3JlLWxhYmVsLFxuLnN1Ym1pc3Npb24tc2NvcmUtY2FyZCAuY29ubmVjdG9yLXRleHQge1xuICAgIGNvbG9yOiBncmF5O1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cblxuLnN1Ym1pc3Npb24tc2NvcmUtY2FyZCAudGVtcC13cmFwcGVyIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXRleHQtaW52ZXJzZSk7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2UtMnhzKSB2YXIoLS1zcGFjZS1zbSk7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy14cyk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbn1cblxuLyogU3VibWlzc2lvbiBzdWIgc2NvcmUgKi9cbi5zdWJtaXNzaW9uLXN1Yi1zY29yZSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS1zbSkgdmFyKC0tc3BhY2UtbWQpO1xuICAgIG1hcmdpbi10b3A6IHZhcigtLXNwYWNlLXNtKTtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS1zbSkgdmFyKC0tc3BhY2UtbWQpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXRleHQtaW52ZXJzZSk7XG4gICAgYm9yZGVyOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1zdWJ0bGUpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtc20pO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbi5zdWJtaXNzaW9uLXN1Yi1zY29yZSAuc3ViLXNjb3JlLWl0ZW0ge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS14cyk7XG59XG5cbi5zdWJtaXNzaW9uLXN1Yi1zY29yZSAuc3ViLXNjb3JlLW5hbWUge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xufVxuXG4uc3VibWlzc2lvbi1zdWItc2NvcmUgLnN1Yi1zY29yZS1uYW1lOjphZnRlciB7XG4gICAgY29udGVudDogXCI6XCI7XG59XG5cbi5zdWJtaXNzaW9uLXN1Yi1zY29yZSAuc3ViLXNjb3JlLXZhbCB7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LWhlYWRpbmcpO1xufVxuXG4vKiBGb3JtICovXG4uZm9ybS1yb3cge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGdhcDogdmFyKC0tc3BhY2Utc20pO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlLW1kKTtcbn1cblxuLmZvcm0tcm93LmZvcm0tYWN0aW9ucyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgIGdhcDogdmFyKC0tc3BhY2UtbWQpO1xuICAgIG1hcmdpbi10b3A6IHZhcigtLXNwYWNlLW1kKTtcbn1cblxuLmZvcm0tcm93LmZvcm0tbW9kYWwtYWN0aW9ucyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgIGdhcDogdmFyKC0tc3BhY2UtbWQpO1xufVxuXG4uZm9ybS1ncm91cCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogdmFyKC0tc3BhY2UteHMpO1xuICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgIG1pbi13aWR0aDogMDtcbn1cblxuLmZvcm0tZ3JvdXAtLWJlbmNobWFyayB7XG4gICAgbWF4LXdpZHRoOiA0MDBweDtcbn1cblxuLmZvcm0tZ3JvdXAtLW5hcnJvdyxcbi5mb3JtLWdyb3VwLS1maWxlLXVwbG9hZCB7XG4gICAgbWF4LXdpZHRoOiA0ODBweDtcbn1cblxuLmZvcm0tZ3JvdXAtLXJvdyB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbn1cblxuLmZvcm0tZ3JvdXAtLXJvdyA+IGxhYmVsIHtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuLmZvcm0tZ3JvdXAtLXJvdyA+IGlucHV0IHtcbiAgICBmbGV4OiAxO1xufVxuXG4uZm9ybS1ncm91cC1jaGVja2JveCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIG1hcmdpbi10b3A6IHZhcigtLXNwYWNlLXNtKTtcbn1cblxuLmZvcm0tZ3JvdXAgbGFiZWwge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXByaW1hcnkpO1xufVxuXG4uZm9ybS1ncm91cC1jaGVja2JveCBsYWJlbCB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IHZhcigtLXNwYWNlLW1kKTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtcHJpbWFyeSk7XG59XG5cbi5mb3JtLWdyb3VwLWNoZWNrYm94IGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSB7XG4gICAgd2lkdGg6IDIwcHg7XG4gICAgaGVpZ2h0OiAyMHB4O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBhY2NlbnQtY29sb3I6IHZhcigtLWNvbG9yLXRleHQtcHJpbWFyeSk7XG59XG5cbi5mb3JtLWdyb3VwLWNoZWNrYm94IGlucHV0W3R5cGU9XCJjaGVja2JveFwiXS5maWVsZC1lcnJvciB7XG4gICAgb3V0bGluZTogMnB4IHNvbGlkIHZhcigtLWNvbG9yLWVycm9yKTtcbiAgICBvdXRsaW5lLW9mZnNldDogMXB4O1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItZXJyb3IpO1xufVxuXG4uZm9ybS1ncm91cC1jaGVja2JveC5oYXMtZXJyb3IsXG4uZm9ybS1ncm91cC1jaGVja2JveC5maWVsZC1lcnJvciB7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2UteHMsIDAuNXJlbSk7XG4gICAgYm9yZGVyOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWVycm9yKTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLXNtKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1lcnJvci1iZywgcmdiYSgyMjAsIDM4LCAzOCwgMC4wMykpO1xufVxuXG4uZm9ybS1ncm91cC1jaGVja2JveCAuYmluZGluZy1lcnJvciB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWVycm9yKTtcbn1cblxuLmZvcm0tZ3JvdXAuaGFzLWVycm9yIGxhYmVsIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItZXJyb3IpO1xufVxuXG4uZm9ybS1ncm91cC5oYXMtZXJyb3IgaW5wdXQge1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItZXJyb3IpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWVycm9yLWJnKTtcbn1cblxuLmZvcm0tZmlsdGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGdhcDogdmFyKC0tc3BhY2UteHMpO1xufVxuXG4jcmFua2luZ19maWx0ZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS1tZCkgdmFyKC0tc3BhY2UtbGcpO1xuICAgIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlLW1kKTtcbn1cblxuI3JhbmtpbmdfZmlsdGVyIC5mb3JtLWdyb3VwIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS14cyk7XG4gICAgZmxleDogMCAxIGF1dG87XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xufVxuXG4uZm9ybS1pbnB1dC1zZWFyY2gtd3JhcHBlciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAxMDAlO1xufVxuXG4uZm9ybS1pbnB1dC1zZWFyY2gtd3JhcHBlciAuc2VhcmNoLWljb24ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAxMnB4O1xuICAgIHRvcDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1tdXRlZCk7XG59XG5cbi5mb3JtLWlucHV0LXNlYXJjaC13cmFwcGVyIGlucHV0IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nLWxlZnQ6IDM2cHg7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cblxuLmZvcm0taW5wdXQtd2l0aC11bml0IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgYm9yZGVyOiB2YXIoLS1ib3JkZXItd2lkdGgtbWQpIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1saWdodCk7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cyk7XG4gICAgcGFkZGluZy1yaWdodDogdmFyKC0tc3BhY2UtbWQpO1xufVxuXG4uZm9ybS1pbnB1dC13aXRoLXVuaXQgLmZvcm0taW5wdXQge1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBmbGV4OiAxO1xuICAgIG91dGxpbmU6IG5vbmU7XG59XG5cbi5mb3JtLWlucHV0LmZpZWxkLWVycm9yIHtcbiAgICBib3JkZXI6IHZhcigtLWJvcmRlci13aWR0aC1tZCkgIHNvbGlkIHZhcigtLWNvbG9yLWVycm9yKTtcbn1cblxuLmZvcm0taW5wdXQtd2l0aC11bml0IC5mb3JtLWlucHV0LmZpZWxkLWVycm9yIHtcbiAgICBib3JkZXI6IG5vbmU7XG59XG5cbi5mb3JtLWlucHV0LXdpdGgtdW5pdCAuZmllbGQtZXJyb3Ige1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBvdXRsaW5lOiBub25lO1xufVxuXG4uZm9ybS11bml0LXN1ZmZpeCB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xufVxuXG4uZm9ybS1pbnB1dC13aXRoLXVuaXQuZmllbGQtZXJyb3Ige1xuICAgIGJvcmRlcjogdmFyKC0tYm9yZGVyLXdpZHRoLW1kKSBzb2xpZCB2YXIoLS1jb2xvci1lcnJvcik7XG59XG5cbi5iaW5kaW5nLWVycm9yIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItZXJyb3IpO1xufVxuXG4uYmFubmVyLWltYWdlIHtcbiAgICBtYXJnaW46IHZhcigtLXNwYWNlLXNtKSAwO1xufVxuXG4uYmFubmVyLWltYWdlIGltZyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG1pbi1oZWlnaHQ6IDEwMHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xufVxuXG5cbi8qIENvbXBvIHNpZGViYXIgY2FyZHMgLSBMaWdodCBUZWNobmljYWwgKi9cbi5jb21wZXRpdGlvbi1sZWFkZXIsXG4udGltZXIsXG4uc3RhZ2VzLXNpZGViYXItZ3JpZCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIHdpZHRoOiAxMDAlO1xufVxuXG4uZ3JpZC1ib3gtY2FyZC0tc3RhZ2VzLFxuLmdyaWQtYm94LWNhcmQtLWxlYWRlcixcbi5jYXJkLS10aW1lciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmctbWFpbik7XG59XG5cbi5zdGFnZXMtc2lkZWJhci1ncmlkIC5zdGFnZS1pbmZvIHtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS14cykgdmFyKC0tc3BhY2Utc20pO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMteHMpO1xuICAgIGJvcmRlci1ib3R0b20tY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4uc3RhZ2VzLXNpZGViYXItZ3JpZCAuc3RhZ2UtaW5mby5hY3RpdmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4uc3RhZ2VzLXNpZGViYXItZ3JpZCAuc3RhZ2UtbnVtYmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1ib3JkZXItc3VidGxlKTtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXByaW1hcnkpO1xufVxuXG4uc3RhZ2VzLXNpZGViYXItZ3JpZCAuc3RhZ2UtbnVtYmVyIGkge1xuICAgIGNvbG9yOiBpbmhlcml0O1xufVxuXG4uc3RhZ2VzLXNpZGViYXItZ3JpZCBoMiB7XG4gICAgbWFyZ2luOiAwIDAgdmFyKC0tc3BhY2UtbWQpIDA7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtYmFzZSk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMDhlbTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IHZhcigtLXNwYWNlLXNtKTtcbiAgICBib3JkZXItYm90dG9tOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1zdWJ0bGUpO1xuICAgIHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjZS1zbSk7XG59XG5cbi50ZXh0LWdvbGQge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci13YXJuaW5nKTtcbiAgICBmaWx0ZXI6IGRyb3Atc2hhZG93KDAgMCA0cHggcmdiYSgyNDUsIDE1OCwgMTEsIDAuMykpO1xufVxuXG4udGV4dC1jcmltc29uIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItZXJyb3IpO1xufVxuXG4udGV4dC1hbWJlciB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXdhcm5pbmcpO1xufVxuXG4udGV4dC1zbGF0ZSB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbXV0ZWQpO1xufVxuXG4vKiBTcG90bGlnaHQgQ2FyZHMgKExlYWRlciAmIFRpbWVyKSAqL1xuLmNvbXBldGl0aW9uLWxlYWRlcl9faGVhZGVyLFxuLnRpbWVyX19oZWFkZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS1zbSk7XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UtbWQpO1xufVxuXG4uY29tcGV0aXRpb24tbGVhZGVyX19oZWFkZXIgaDIsXG4udGltZXJfX2hlYWRlciBoMiB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IHZhcigtLXNwYWNlLXNtKTtcbn1cblxuXG4uY29tcGV0aXRpb24tbGVhZGVyX19oZXJvIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS1tZCk7XG4gICAgcGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNlLW1kKTtcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS1tZCk7XG4gICAgYm9yZGVyLWJvdHRvbTogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItc3VidGxlKTtcbn1cblxuLmNvbXBldGl0aW9uLWxlYWRlcl9fYXZhdGFyLXdyYXAge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmbGV4LXNocmluazogMDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbn1cblxuLmNvbXBldGl0aW9uLWxlYWRlcl9fYXZhdGFyIHtcbiAgICB3aWR0aDogNTJweDtcbiAgICBoZWlnaHQ6IDUycHg7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1jaXJjbGUpO1xuICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgIGJvcmRlcjogdmFyKC0tYm9yZGVyLXdpZHRoLW1kKSBzb2xpZCB2YXIoLS1jb2xvci13YXJuaW5nLXN0YXIpO1xuICAgIGJveC1zaGFkb3c6IDAgMCAxMHB4IHJnYmEoMjM0LCAxNzksIDgsIDAuMjUpO1xufVxuXG4uY29tcGV0aXRpb24tbGVhZGVyX19wb3MtcGlsbCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogLTJweDtcbiAgICByaWdodDogLTRweDtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci13YXJuaW5nLXN0YXIpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LWhlYWRpbmcpO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLTJ4cyk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWV4dHJhYm9sZCk7XG4gICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtbW9ubyk7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2UtMnhzKSB2YXIoLS1zcGFjZS14cyk7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1mdWxsKTtcbiAgICBib3JkZXI6IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItdGV4dC13aGl0ZSk7XG4gICAgbGluZS1oZWlnaHQ6IHZhcigtLWxpbmUtaGVpZ2h0LW5vbmUpO1xuICAgIGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdy1zbSk7XG59XG5cbi5jb21wZXRpdGlvbi1sZWFkZXJfX2RldGFpbHMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IHZhcigtLXNwYWNlLXhzKTtcbiAgICBtaW4td2lkdGg6IDA7XG59XG5cbi5jb21wZXRpdGlvbi1sZWFkZXJfX2lkZW50aXR5IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS1zbSk7XG4gICAgZmxleC13cmFwOiB3cmFwO1xufVxuXG4uY29tcGV0aXRpb24tbGVhZGVyX19uYW1lIHtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1sZyk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLmNvbXBldGl0aW9uLWxlYWRlcl9fc3VidGV4dCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogdmFyKC0tc3BhY2Utc20pO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXhzKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1tZWRpdW0pO1xufVxuXG4uY29tcGV0aXRpb24tbGVhZGVyX19zdWJ0ZXh0IGkge1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXhzKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1tdXRlZCk7XG59XG5cbi5jb21wZXRpdGlvbi1sZWFkZXJfX3N0YXRzIHtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuLmNvbXBldGl0aW9uLWxlYWRlcl9fc3RhdC1ib3gge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLW1haW4pO1xuICAgIGJvcmRlcjogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItc3VidGxlKTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKTtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS1tZCkgdmFyKC0tc3BhY2UtbGcpO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IHZhcigtLXNwYWNlLXhzKTtcbn1cblxuLmNvbXBldGl0aW9uLWxlYWRlcl9fc3RhdC1sYWJlbCB7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteHMpO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMDZlbTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1zZW1pYm9sZCk7XG59XG5cbi5jb21wZXRpdGlvbi1sZWFkZXJfX3N0YXQtdmFsIHtcbiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1tb25vKTtcbiAgICBmb250LXZhcmlhbnQtbnVtZXJpYzogdGFidWxhci1udW1zO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXhsKTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtZXh0cmFib2xkKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1oZWFkaW5nKTtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4wMmVtO1xufVxuXG4uY29tcGV0aXRpb24tbGVhZGVyX19zdGF0LXZhbCBzbWFsbCB7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteHMpO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1zZW1pYm9sZCk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbiAgICBtYXJnaW4tbGVmdDogdmFyKC0tc3BhY2UtMnhzKTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuXG4udGltZXJfX2Nsb2NrIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDQsIDFmcik7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS1zbSk7XG59XG5cbi50aW1lcl9fdGlsZSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItdGV4dC1oZWFkaW5nKTtcbiAgICBib3JkZXI6IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLWRhcmspO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpO1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLW1kKSB2YXIoLS1zcGFjZS14cykgdmFyKC0tc3BhY2Utc20pO1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDJweCByZ2JhKDAsIDAsIDAsIDAuMjUpO1xuICAgIG1pbi13aWR0aDogMDtcbn1cblxuLnRpbWVyX19jb3VudCB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtaW52ZXJzZSk7XG4gICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtbW9ubyk7XG4gICAgZm9udC12YXJpYW50LW51bWVyaWM6IHRhYnVsYXItbnVtcztcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14bCk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWV4dHJhYm9sZCk7XG4gICAgbGluZS1oZWlnaHQ6IHZhcigtLWxpbmUtaGVpZ2h0LXRpZ2h0KTtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4wMmVtO1xufVxuXG4udGltZXJfX3VuaXQge1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtMnhzKTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMDhlbTtcbiAgICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjZS14cyk7XG59XG5cbi50aW1lcl9fY2xvY2stLWNsb3NlZCAudGltZXJfX3RpbGUge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLW1haW4pO1xuICAgIGJvcmRlcjogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItc3VidGxlKTtcbiAgICBib3gtc2hhZG93OiBub25lO1xufVxuXG4udGltZXJfX2Nsb2NrLS1jbG9zZWQgLnRpbWVyX19jb3VudCB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbXV0ZWQpO1xufVxuXG4udGltZXJfX2Nsb2NrLS1jbG9zZWQgLnRpbWVyX191bml0IHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1tdXRlZCk7XG59XG5cbi50aW1lcl9fbWV0YSB7XG4gICAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2UtbWQpO1xuICAgIHBhZGRpbmctdG9wOiB2YXIoLS1zcGFjZS14cyk7XG4gICAgYm9yZGVyLXRvcDogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItc3VidGxlKTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS1zbSk7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteHMpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG59XG5cbi50aW1lcl9fbWV0YSBpIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1tdXRlZCk7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtc20pO1xuICAgIGZsZXgtc2hyaW5rOiAwO1xufVxuXG4udGltZXJfX21ldGEgc3Ryb25nIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1oZWFkaW5nKTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtc2VtaWJvbGQpO1xufVxuXG4uY29tcGV0aXRpb24tbGVhZGVyX19lbXB0eSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogdmFyKC0tc3BhY2UtbWQpO1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLWxnKTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy1tYWluKTtcbiAgICBib3JkZXI6IHZhcigtLWJvcmRlci13aWR0aC1zbSkgZGFzaGVkIHZhcigtLWNvbG9yLWJvcmRlci1kYXNoZWQpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbi5jb21wZXRpdGlvbi1sZWFkZXJfX2VtcHR5LWljb24ge1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLTJ4bCk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWJvcmRlci1kYXNoZWQpO1xuICAgIGZsZXgtc2hyaW5rOiAwO1xufVxuXG4uY29tcGV0aXRpb24tbGVhZGVyX19lbXB0eS1kZXRhaWxzIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS0yeHMpO1xuICAgIG1pbi13aWR0aDogMDtcbn1cblxuLmNvbXBldGl0aW9uLWxlYWRlcl9fZW1wdHktdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLW1kKTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtaGVhZGluZyk7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMDRlbTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuXG4uY29tcGV0aXRpb24tbGVhZGVyX19lbXB0eS1zdWJ0aXRsZSB7XG4gICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtbW9ubyk7XG4gICAgZm9udC12YXJpYW50LW51bWVyaWM6IHRhYnVsYXItbnVtcztcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1zbSk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4wMmVtO1xufVxuXG4vKiBSYW5raW5nIEVtcHR5IFN0YXRlIENhcmQgKi9cbi5yYW5raW5nLWVtcHR5LWNhcmQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBnYXA6IHZhcigtLXNwYWNlLW1kKTtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS14bCkgdmFyKC0tc3BhY2UtbGcpO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLWNhcmQpO1xuICAgIGJvcmRlcjogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBkYXNoZWQgdmFyKC0tY29sb3ItYm9yZGVyLWRhc2hlZCk7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cyk7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuLnJhbmtpbmctZW1wdHktaWNvbiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHdpZHRoOiA1MnB4O1xuICAgIGhlaWdodDogNTJweDtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLWNpcmNsZSk7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctc3VyZmFjZSk7XG4gICAgYm9yZGVyOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1zdWJ0bGUpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LW11dGVkKTtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS0yeGwpO1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdy1zbSk7XG59XG5cbi5yYW5raW5nLWVtcHR5LWljb24tLXVwY29taW5nIHtcbiAgICBib3JkZXItY29sb3I6IHJnYmEoMiwgMTMyLCAxOTksIDAuMik7XG59XG5cbi5yYW5raW5nLWVtcHR5LWljb24tLW9wZW4ge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci13YXJuaW5nLXN0YXIpO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMjM0LCAxNzksIDgsIDAuMDgpO1xuICAgIGJvcmRlci1jb2xvcjogcmdiYSgyMzQsIDE3OSwgOCwgMC4yKTtcbn1cblxuLnJhbmtpbmctZW1wdHktaWNvbi0tY29tbWVudHMge1xuICAgIGJvcmRlci1jb2xvcjogcmdiYSg5OSwgMTAyLCAyNDEsIDAuMik7XG59XG5cbi5yYW5raW5nLWVtcHR5LWNvbnRlbnQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBnYXA6IHZhcigtLXNwYWNlLXhzKTtcbiAgICBtaW4td2lkdGg6IDA7XG59XG5cbi5yYW5raW5nLWVtcHR5LXRpdGxlIHtcbiAgICBtYXJnaW46IDA7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtbGcpO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1oZWFkaW5nKTtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4wMWVtO1xufVxuXG4ucmFua2luZy1lbXB0eS1zdWJ0aXRsZSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLW1kKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xuICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC1ub3JtYWwpO1xufVxuXG4ucmFua2luZy1lbXB0eS1zdWJ0aXRsZSBzdHJvbmcge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LWhlYWRpbmcpO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1zZW1pYm9sZCk7XG59XG5cbi8qIFNlYXNvbiBQb2ludHMgTGVhZGVyYm9hcmQgTGlzdCAoTW9kYWwpICovXG4uc2Vhc29uLXBvaW50cy1saXN0IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS14cyk7XG4gICAgd2lkdGg6IDEwMCU7XG59XG5cbi5zZWFzb24tcG9pbnRzLWl0ZW0ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IHZhcigtLXNwYWNlLXNtKTtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS14cykgdmFyKC0tc3BhY2Utc20pO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLXN1cmZhY2UpO1xuICAgIGJvcmRlcjogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItc3VidGxlKTtcbiAgICBib3JkZXItbGVmdDogdmFyKC0tYm9yZGVyLXdpZHRoLWxnKSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKTtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCksIGJvcmRlci1jb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpO1xuICAgIG1pbi1oZWlnaHQ6IDQ4cHg7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cblxuLnNlYXNvbi1wb2ludHMtaXRlbTpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmctaG92ZXIpO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItYm9yZGVyLXN0YW5kYXJkKTtcbn1cblxuLnNlYXNvbi1wb2ludHMtaXRlbS0tZ29sZCB7XG4gICAgYm9yZGVyLWxlZnQtY29sb3I6IHZhcigtLWNvbG9yLXdhcm5pbmctc3Rhcik7XG59XG5cbi5zZWFzb24tcG9pbnRzLWl0ZW0tLXNpbHZlciB7XG4gICAgYm9yZGVyLWxlZnQtY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbXV0ZWQpO1xufVxuXG4uc2Vhc29uLXBvaW50cy1pdGVtLS1icm9uemUge1xuICAgIGJvcmRlci1sZWZ0LWNvbG9yOiB2YXIoLS1jb2xvci13YXJuaW5nKTtcbn1cblxuLnNlYXNvbi1wb2ludHMtaXRlbV9fcmFuayB7XG4gICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtbW9ubyk7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteHMpO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xuICAgIG1pbi13aWR0aDogMzZweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS0yeHMpO1xuICAgIGZsZXgtc2hyaW5rOiAwO1xufVxuXG4uc2Vhc29uLXBvaW50cy1pdGVtX19yYW5rLS1nb2xkIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3Itd2FybmluZyk7XG59XG5cbi5zZWFzb24tcG9pbnRzLWl0ZW1fX3JhbmstLWdvbGQgLmZhLXRyb3BoeSB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXdhcm5pbmctc3Rhcik7XG4gICAgZmlsdGVyOiBkcm9wLXNoYWRvdygwIDAgM3B4IHJnYmEoMjQ1LCAxNTgsIDExLCAwLjQpKTtcbn1cblxuLnNlYXNvbi1wb2ludHMtaXRlbV9fcmFuay0tc2lsdmVyIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xufVxuXG4uc2Vhc29uLXBvaW50cy1pdGVtX19yYW5rLS1zaWx2ZXIgLmZhLXRyb3BoeSB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbXV0ZWQpO1xufVxuXG4uc2Vhc29uLXBvaW50cy1pdGVtX19yYW5rLS1icm9uemUge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci13YXJuaW5nKTtcbn1cblxuLnNlYXNvbi1wb2ludHMtaXRlbV9fY29tcGV0aXRvciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogdmFyKC0tc3BhY2Utc20pO1xuICAgIG1pbi13aWR0aDogMDtcbiAgICBmbGV4OiAxO1xufVxuXG4uc2Vhc29uLXBvaW50cy1pdGVtX19hdmF0YXIge1xuICAgIHdpZHRoOiAzMnB4O1xuICAgIGhlaWdodDogMzJweDtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLWNpcmNsZSk7XG4gICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgZmxleC1zaHJpbms6IDA7XG59XG5cbi5zZWFzb24tcG9pbnRzLWl0ZW1fX2F2YXRhci1mbGFnIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGZsZXgtc2hyaW5rOiAwO1xufVxuXG4uc2Vhc29uLXBvaW50cy1pdGVtX19pbmZvIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiAycHg7XG4gICAgbWluLXdpZHRoOiAwO1xufVxuXG4uc2Vhc29uLXBvaW50cy1pdGVtX19uYW1lIHtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1zbSk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLnNlYXNvbi1wb2ludHMtaXRlbV9fc3VidGV4dCB7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteHMpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogdmFyKC0tc3BhY2UteHMpO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLnNlYXNvbi1wb2ludHMtaXRlbV9fc3ViLWF2YXRhciB7XG4gICAgd2lkdGg6IDE2cHg7XG4gICAgaGVpZ2h0OiAxNnB4O1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtY2lyY2xlKTtcbiAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICBmbGV4LXNocmluazogMDtcbn1cblxuLnNlYXNvbi1wb2ludHMtaXRlbV9fcGFydGljaXBhbnRzIHtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS0yeHMpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IHZhcigtLXNwYWNlLTJ4cyk7XG59XG5cbi5zZWFzb24tcG9pbnRzLWl0ZW1fX3BvaW50cyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS0yeHMpO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLW1haW4pO1xuICAgIGJvcmRlcjogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItc3VidGxlKTtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS0yeHMpIHZhcigtLXNwYWNlLXNtKTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLXhzKTtcbiAgICBmbGV4LXNocmluazogMDtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbn1cblxuLnNlYXNvbi1wb2ludHMtaXRlbV9fcG9pbnRzLXZhbCB7XG4gICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtbW9ubyk7XG4gICAgZm9udC12YXJpYW50LW51bWVyaWM6IHRhYnVsYXItbnVtcztcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1zbSk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWV4dHJhYm9sZCk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtaGVhZGluZyk7XG59XG5cbi5zZWFzb24tcG9pbnRzLWl0ZW1fX3BvaW50cy11bml0IHtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS0yeHMpO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1zZW1pYm9sZCk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuXG4uc2Vhc29uLXBvaW50cy1saXN0X19lbXB0eSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogdmFyKC0tc3BhY2Utc20pO1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLWxnKTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy1tYWluKTtcbiAgICBib3JkZXI6IHZhcigtLWJvcmRlci13aWR0aC1zbSkgZGFzaGVkIHZhcigtLWNvbG9yLWJvcmRlci1kYXNoZWQpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtc20pO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4vKiBDb21wZXRpdGlvbiBCYWNrIExpbmsgKi9cbi5jb21wby1iYWNrLWxpbmssXG4uY29tcG8tYmFjay1saW5rOmxpbmssXG4uY29tcG8tYmFjay1saW5rOnZpc2l0ZWQge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS14cyk7XG4gICAgd2lkdGg6IGZpdC1jb250ZW50O1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtc20pO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1tZWRpdW0pO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBsaW5lLWhlaWdodDogdmFyKC0tbGluZS1oZWlnaHQtbm9ybWFsKTtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpO1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLXhzKSAwO1xufVxuXG4uY29tcG8tYmFjay1saW5rOmhvdmVyLFxuLmNvbXBvLWJhY2stbGluazphY3RpdmUsXG4uY29tcG8tYmFjay1saW5rOmZvY3VzLXZpc2libGUge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi5jb21wby1iYWNrLWxpbmsgaSB7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteHMpO1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSB2YXIoLS10cmFuc2l0aW9uLWZhc3QpO1xufVxuXG4uY29tcG8tYmFjay1saW5rOmhvdmVyIGksXG4uY29tcG8tYmFjay1saW5rOmZvY3VzLXZpc2libGUgaSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0zcHgpO1xufVxuXG4uY29tcG8tYmFjay1saW5rICsgaDIge1xuICAgIG1hcmdpbi10b3A6IDA7XG59XG5cbi8qIENvbXBldGl0aW9uIFNjb3JlYm9hcmQgQ2FyZHMgKi9cbi5jb21wby1zY29yZWJvYXJkLWNhcmRzIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLXN1cmZhY2UpO1xuICAgIGJvcmRlcjogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItc3VidGxlKTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4uY29tcG8tc2NvcmVib2FyZC1oZWFkZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogdmFyKC0tc3BhY2Utc20pO1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLXNtKSB2YXIoLS1zcGFjZS1tZCk7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctZGFyayk7XG4gICAgYm9yZGVyLWJvdHRvbTogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItbGlnaHQpO1xuICAgIGJvcmRlci1sZWZ0OiB2YXIoLS1wb3MtbWFya2VyLXdpZHRoKSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC13aGl0ZSk7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteHMpO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjA0ZW07XG4gICAgbWluLXdpZHRoOiAwO1xufVxuXG4uY29tcG8tc2NvcmVib2FyZC1oZWFkZXJfX3Jhbmsge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgbWluLXdpZHRoOiAyNHB4O1xuICAgIGZvbnQtdmFyaWFudC1udW1lcmljOiB0YWJ1bGFyLW51bXM7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtd2hpdGUpO1xuICAgIGZsZXgtc2hyaW5rOiAwO1xufVxuXG4uY29tcG8tc2NvcmVib2FyZC1oZWFkZXJfX2NvbnRlbnQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IHZhcigtLXNwYWNlLXNtKTtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgZmxleDogMTtcbiAgICBtaW4td2lkdGg6IDA7XG59XG5cbi5jb21wby1zY29yZWJvYXJkLWhlYWRlcl9fcGFydGljaXBhbnQge1xuICAgIGZsZXg6IDE7XG4gICAgbWluLXdpZHRoOiAwO1xufVxuXG4uY29tcG8tc2NvcmVib2FyZC1oZWFkZXJfX3RvdGFsIHtcbiAgICBmbGV4LXNocmluazogMDtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbn1cblxuLmNvbXBvLXNjb3JlYm9hcmQtY2FyZCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgIGdhcDogdmFyKC0tc3BhY2Utc20pO1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLXNtKSB2YXIoLS1zcGFjZS1tZCk7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctc3VyZmFjZSk7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJvcmRlci1ib3R0b206IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLXN1YnRsZSk7XG4gICAgYm9yZGVyLWxlZnQ6IHZhcigtLXBvcy1tYXJrZXItd2lkdGgpIHNvbGlkIHZhcigtLWNvbG9yLXBvcy1mb3VyLWZpdmUpO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpLCBib3JkZXItbGVmdC1jb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpO1xufVxuXG4uY29tcG8tc2NvcmVib2FyZC1jYXJkOmxhc3QtY2hpbGQge1xuICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG59XG5cbi5jb21wby1zY29yZWJvYXJkLWNhcmQ6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLWhvdmVyKTtcbn1cblxuLmNvbXBvLXNjb3JlYm9hcmQtY2FyZC0tZmlyc3Qge1xuICAgIGJvcmRlci1sZWZ0LWNvbG9yOiB2YXIoLS1jb2xvci1wb3MtZmlyc3QpO1xufVxuXG4uY29tcG8tc2NvcmVib2FyZC1jYXJkLS1zZWNvbmQge1xuICAgIGJvcmRlci1sZWZ0LWNvbG9yOiB2YXIoLS1jb2xvci1wb3Mtc2Vjb25kKTtcbn1cblxuLmNvbXBvLXNjb3JlYm9hcmQtY2FyZC0tdGhpcmQge1xuICAgIGJvcmRlci1sZWZ0LWNvbG9yOiB2YXIoLS1jb2xvci1wb3MtdGhpcmQpO1xufVxuXG4uY29tcG8tc2NvcmVib2FyZC1jYXJkX19yYW5rIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIG1pbi13aWR0aDogMjRweDtcbiAgICBoZWlnaHQ6IDI4cHg7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteHMpO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1tdXRlZCk7XG4gICAgZm9udC12YXJpYW50LW51bWVyaWM6IHRhYnVsYXItbnVtcztcbiAgICBmbGV4LXNocmluazogMDtcbn1cblxuLmNvbXBvLXNjb3JlYm9hcmQtY2FyZF9fcmFuay0tZmlyc3Qge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1wb3MtZmlyc3QpO1xufVxuXG4uY29tcG8tc2NvcmVib2FyZC1jYXJkX19yYW5rLS1zZWNvbmQge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1wb3Mtc2Vjb25kKTtcbn1cblxuLmNvbXBvLXNjb3JlYm9hcmQtY2FyZF9fcmFuay0tdGhpcmQge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1wb3MtdGhpcmQpO1xufVxuXG4uY29tcG8tc2NvcmVib2FyZC1jYXJkX19jb250ZW50IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS0yeHMpO1xuICAgIGZsZXg6IDE7XG4gICAgbWluLXdpZHRoOiAwO1xufVxuXG4uY29tcG8tc2NvcmVib2FyZC1jYXJkX19oZWFkZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IHZhcigtLXNwYWNlLXNtKTtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG59XG5cbi5jb21wby1zY29yZWJvYXJkLWNhcmRfX3BhcnRpY2lwYW50IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS1zbSk7XG4gICAgZmxleDogMTtcbiAgICBtaW4td2lkdGg6IDA7XG59XG5cbi5jb21wby1zY29yZWJvYXJkLWNhcmRfX3BhcnRpY2lwYW50IC5jb3VudHJ5X2ZsYWdzIHtcbiAgICB3aWR0aDogdmFyKC0tc3BhY2UtbWQpO1xuICAgIGhlaWdodDogdmFyKC0tc3BhY2UtbWQpO1xuICAgIGJhY2tncm91bmQtc2l6ZTogdmFyKC0tc3BhY2UtbWQpO1xuICAgIGZsZXgtc2hyaW5rOiAwO1xufVxuXG4uY29tcG8tc2NvcmVib2FyZC1jYXJkX19hdmF0YXIge1xuICAgIHdpZHRoOiAyOHB4O1xuICAgIGhlaWdodDogMjhweDtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLWNpcmNsZSk7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gICAgb2JqZWN0LWZpdDogY292ZXI7XG59XG5cbi5jb21wby1zY29yZWJvYXJkLWNhcmRfX25hbWUge1xuICAgIG1pbi13aWR0aDogMDtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1zbSk7XG59XG5cbi5jb21wby1zY29yZWJvYXJkLWNhcmRfX3RvdGFsIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcbiAgICBnYXA6IHZhcigtLXNwYWNlLTJ4cyk7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgZmxleC1zaHJpbms6IDA7XG59XG5cbi5jb21wby1zY29yZWJvYXJkLWNhcmRfX3RvdGFsLXZhbHVlIHtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1tZCk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LWhlYWRpbmcpO1xuICAgIGZvbnQtdmFyaWFudC1udW1lcmljOiB0YWJ1bGFyLW51bXM7XG59XG5cbi5jb21wby1zY29yZWJvYXJkLWNhcmRfX3RvdGFsLXVuaXQge1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLTJ4cyk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LXNlbWlib2xkKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbi5jb21wby1zY29yZWJvYXJkLWNhcmRfX2N1cHMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGdhcDogdmFyKC0tc3BhY2Utc20pO1xuICAgIHBhZGRpbmctdG9wOiB2YXIoLS1zcGFjZS1zbSk7XG4gICAgYm9yZGVyLXRvcDogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItc3VidGxlKTtcbn1cblxuLmNvbXBvLXNjb3JlYm9hcmQtY3VwIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogdmFyKC0tc3BhY2UteHMpO1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLTN4cykgdmFyKC0tc3BhY2UteHMpO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLW1haW4pO1xuICAgIGJvcmRlcjogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItc3VidGxlKTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLXNtKTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtMnhzKTtcbiAgICBsaW5lLWhlaWdodDogdmFyKC0tbGluZS1oZWlnaHQtdGlnaHQpO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KSwgYm9yZGVyLWNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCk7XG59XG5cbi5jb21wby1zY29yZWJvYXJkLWN1cDpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctaG92ZXIpO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItYm9yZGVyLXN0YW5kYXJkKTtcbn1cblxuLmNvbXBvLXNjb3JlYm9hcmQtY3VwLS1zY29yZWQge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLWNhcmQpO1xufVxuXG4uY29tcG8tc2NvcmVib2FyZC1jdXBfX2xhYmVsIHtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtc2VtaWJvbGQpO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLTJ4cyk7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuM3B4O1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi5jb21wby1zY29yZWJvYXJkLWN1cF9fc3RhZ2UtcmVzdWx0IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcbiAgICBnYXA6IHZhcigtLXNwYWNlLTJ4cyk7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLmNvbXBvLXNjb3JlYm9hcmQtY3VwX19zY29yZSB7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LXNlbWlib2xkKTtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS0yeHMpO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi5jb21wby1zY29yZWJvYXJkLWN1cF9fcG9pbnRzIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1tdXRlZCk7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtMnhzKTtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4uY29tcG8tc2NvcmVib2FyZC1jdXAtLXNjb3JlZCAuY29tcG8tc2NvcmVib2FyZC1jdXBfX3BvaW50cyB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtcHJpbWFyeSk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xufVxuXG4uc3VibWlzc2lvbi1zY29yZSxcbi5jb21wby1zdGFnZS1zY29yZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IHZhcigtLXNwYWNlLXhzKTtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1zbSk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgIGZvbnQtdmFyaWFudC1udW1lcmljOiB0YWJ1bGFyLW51bXM7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMDJlbTtcbn1cblxuLnN1Ym1pc3Npb24tc2NvcmUgaSxcbi5jb21wby1zdGFnZS1zY29yZSBpIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteHMpO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCk7XG59XG5cbmEuc3VibWlzc2lvbi1zY29yZTpob3ZlciBpLFxuYS5jb21wby1zdGFnZS1zY29yZTpob3ZlciBpIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItbGluay1ob3Zlcik7XG59XG5cbi5jb21wby1zdGFnZS1jYXJkX19wb2ludHMtbGFiZWwge1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLTJ4cyk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LW5vcm1hbCk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbXV0ZWQpO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMDRlbTtcbiAgICBtYXJnaW4tbGVmdDogdmFyKC0tc3BhY2UtM3hzKTtcbn1cblxuLmNvbXBvLXN0YWdlLWNhcmRfX2ltYWdlcyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogdmFyKC0tc3BhY2UteHMpO1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbn1cblxuLmNvbXBvLXN0YWdlLWNhcmRfX3RodW1iLWxpbmsge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMteHMpO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgYm9yZGVyOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1zdWJ0bGUpO1xuICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpLCB0cmFuc2Zvcm0gdmFyKC0tdHJhbnNpdGlvbi1mYXN0KTtcbn1cblxuLmNvbXBvLXN0YWdlLWNhcmRfX3RodW1iLWxpbms6aG92ZXIge1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjA1KTtcbn1cblxuLmNvbXBvLXN0YWdlLWNhcmRfX3RodW1iIHtcbiAgICBoZWlnaHQ6IDM2cHg7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8qIFN0YWdlIFN1Ym1pc3Npb25zIExpc3QgJiBDYXJkcyAqL1xuLnN0YWdlLXN1Ym1pc3Npb25zLWxpc3Qge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IHZhcigtLXNwYWNlLXNtKTtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuLnN0YWdlLXN1Ym1pc3Npb24tY2FyZCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogdmFyKC0tc3BhY2UteHMpO1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLXNtKSB2YXIoLS1zcGFjZS1tZCk7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctc3VyZmFjZSk7XG4gICAgYm9yZGVyOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1zdWJ0bGUpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KSwgYm9yZGVyLWNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCk7XG59XG5cbi5zdGFnZS1zdWJtaXNzaW9uLWNhcmQ6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLWhvdmVyKTtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLWJvcmRlci1zdGFuZGFyZCk7XG59XG5cbi5zdGFnZS1zdWJtaXNzaW9uLWNhcmRfX2hlYWRlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBnYXA6IHZhcigtLXNwYWNlLXNtKTtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG59XG5cbi5zdGFnZS1zdWJtaXNzaW9uLWNhcmRfX3BhcnRpY2lwYW50cyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogdmFyKC0tc3BhY2Utc20pO1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBtaW4td2lkdGg6IDA7XG59XG5cbi5zdGFnZS1zdWJtaXNzaW9uLWNhcmRfX3BhcnRpY2lwYW50IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogdmFyKC0tc3BhY2UteHMpO1xuICAgIG1pbi13aWR0aDogMDtcbn1cblxuLnN0YWdlLXN1Ym1pc3Npb24tY2FyZF9fYXZhdGFyIHtcbiAgICB3aWR0aDogMjRweDtcbiAgICBoZWlnaHQ6IDI0cHg7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1jaXJjbGUpO1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIG9iamVjdC1maXQ6IGNvdmVyO1xufVxuXG4uc3RhZ2Utc3VibWlzc2lvbi1jYXJkX19uYW1lIHtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtc2VtaWJvbGQpO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXNtKTtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG59XG5cbi5zdGFnZS1zdWJtaXNzaW9uLWNhcmRfX21ldGEge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IHZhcigtLXNwYWNlLW1kKTtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgcGFkZGluZy10b3A6IHZhcigtLXNwYWNlLTJ4cyk7XG4gICAgYm9yZGVyLXRvcDogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItc3VidGxlKTtcbn1cblxuLnN0YWdlLXN1Ym1pc3Npb24tY2FyZF9faGFyZHdhcmUge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS14cyk7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteHMpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG4gICAgd29yZC1icmVhazogYnJlYWstd29yZDtcbn1cblxuLyogVG9kYXkgU3VibWlzc2lvbnMgVGFibGUgJiBSZXNwb25zaXZlIENhcmRzICovXG4udG9kYXktc3VibWlzc2lvbnMtd3JhcHBlci5zdGlja3ktdGFibGUsXG4uYmVuY2htYXJrLXJhbmtpbmctd3JhcHBlci5zdGlja3ktdGFibGUsXG4uYmVuY2htYXJrLWZpcnN0LXNwb3RzLXdyYXBwZXIuc3RpY2t5LXRhYmxlLFxuLmJlbmNobWFyay1vdmVydmlldy13cmFwcGVyLnN0aWNreS10YWJsZSB7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgbWluLXdpZHRoOiAwO1xuICAgIG92ZXJzY3JvbGwtYmVoYXZpb3IteDogY29udGFpbjtcbiAgICBzY3JvbGxiYXItd2lkdGg6IHRoaW47XG4gICAgc2Nyb2xsYmFyLWNvbG9yOiB2YXIoLS1jb2xvci1ib3JkZXItc3RhbmRhcmQpIHRyYW5zcGFyZW50O1xuICAgIHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjZS0yeHMpO1xufVxuXG4udG9kYXktc3VibWlzc2lvbnMtd3JhcHBlcjo6LXdlYmtpdC1zY3JvbGxiYXIsXG4uYmVuY2htYXJrLXJhbmtpbmctd3JhcHBlcjo6LXdlYmtpdC1zY3JvbGxiYXIsXG4uYmVuY2htYXJrLWZpcnN0LXNwb3RzLXdyYXBwZXI6Oi13ZWJraXQtc2Nyb2xsYmFyLFxuLmJlbmNobWFyay1vdmVydmlldy13cmFwcGVyOjotd2Via2l0LXNjcm9sbGJhciB7XG4gICAgaGVpZ2h0OiA2cHg7XG59XG5cbi50b2RheS1zdWJtaXNzaW9ucy13cmFwcGVyOjotd2Via2l0LXNjcm9sbGJhci10cmFjayxcbi5iZW5jaG1hcmstcmFua2luZy13cmFwcGVyOjotd2Via2l0LXNjcm9sbGJhci10cmFjayxcbi5iZW5jaG1hcmstZmlyc3Qtc3BvdHMtd3JhcHBlcjo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2ssXG4uYmVuY2htYXJrLW92ZXJ2aWV3LXdyYXBwZXI6Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNrIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbn1cblxuLnRvZGF5LXN1Ym1pc3Npb25zLXdyYXBwZXI6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iLFxuLmJlbmNobWFyay1yYW5raW5nLXdyYXBwZXI6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iLFxuLmJlbmNobWFyay1maXJzdC1zcG90cy13cmFwcGVyOjotd2Via2l0LXNjcm9sbGJhci10aHVtYixcbi5iZW5jaG1hcmstb3ZlcnZpZXctd3JhcHBlcjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJvcmRlci1zdGFuZGFyZCk7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy14cyk7XG59XG5cbi50b2RheS1zdWJtaXNzaW9ucy13cmFwcGVyOjotd2Via2l0LXNjcm9sbGJhci10aHVtYjpob3Zlcixcbi5iZW5jaG1hcmstcmFua2luZy13cmFwcGVyOjotd2Via2l0LXNjcm9sbGJhci10aHVtYjpob3Zlcixcbi5iZW5jaG1hcmstZmlyc3Qtc3BvdHMtd3JhcHBlcjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWI6aG92ZXIsXG4uYmVuY2htYXJrLW92ZXJ2aWV3LXdyYXBwZXI6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG59XG5cbi50b2RheS1zdWJtaXNzaW9ucy10YWJsZSxcbi5iZW5jaG1hcmstcmFua2luZy10YWJsZSxcbi54dHUtYW5hbHl6ZS10YWJsZSxcbi5iZW5jaG1hcmstb3ZlcnZpZXctdGFibGUsXG4uYmVuY2htYXJrLWZpcnN0LXNwb3RzLXRhYmxlIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBib3JkZXItY29sbGFwc2U6IHNlcGFyYXRlO1xuICAgIGJvcmRlci1zcGFjaW5nOiAwO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLXN1cmZhY2UpO1xuICAgIGJvcmRlcjogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItbGlnaHQpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLnRvZGF5LXN1Ym1pc3Npb25zLXRhYmxlIHRoZWFkIHRyIHRoLFxuLmJlbmNobWFyay1yYW5raW5nLXRhYmxlIHRoZWFkIHRyIHRoLFxuLnh0dS1hbmFseXplLXRhYmxlIHRoZWFkIHRyIHRoLFxuLmJlbmNobWFyay1vdmVydmlldy10YWJsZSB0aGVhZCB0ciB0aCxcbi5iZW5jaG1hcmstZmlyc3Qtc3BvdHMtdGFibGUgdGhlYWQgdHIgdGgge1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLXNtKSB2YXIoLS1zcGFjZS1tZCk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtd2hpdGUpO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLWRhcmspO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBib3JkZXItYm90dG9tOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1saWdodCk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXhzKTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjA0ZW07XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuLnRvZGF5LXN1Ym1pc3Npb25zLXRhYmxlIHRoZWFkIHRyIHRoLmNvbC1yYW5rLFxuLmJlbmNobWFyay1yYW5raW5nLXRhYmxlIHRoZWFkIHRyIHRoLmNvbC1yYW5rIHtcbiAgICB3aWR0aDogNDRweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi50b2RheS1zdWJtaXNzaW9ucy10YWJsZSB0aGVhZCB0ciB0aC5jb2wtZGF0ZSxcbi54dHUtYW5hbHl6ZS10YWJsZSB0aGVhZCB0ciB0aC5jb2wtZGF0ZSB7XG4gICAgd2lkdGg6IDEwNXB4O1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbi50b2RheS1zdWJtaXNzaW9ucy10YWJsZSB0aGVhZCB0ciB0aC5jb2wtc2NvcmUsXG4uYmVuY2htYXJrLXJhbmtpbmctdGFibGUgdGhlYWQgdHIgdGguY29sLXNjb3JlLFxuLnh0dS1hbmFseXplLXRhYmxlIHRoZWFkIHRyIHRoLmNvbC1zY29yZSxcbi5iZW5jaG1hcmstZmlyc3Qtc3BvdHMtdGFibGUgdGhlYWQgdHIgdGguY29sLXNjb3JlIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG4udG9kYXktc3VibWlzc2lvbnMtdGFibGUgdGhlYWQgdHIgdGguY29sLWNvb2xpbmcsXG4udG9kYXktc3VibWlzc2lvbnMtdGFibGUgdGhlYWQgdHIgdGguY29sLXN1YnNwZWNzLFxuLmJlbmNobWFyay1yYW5raW5nLXRhYmxlIHRoZWFkIHRyIHRoLmNvbC1jb29saW5nLFxuLnh0dS1hbmFseXplLXRhYmxlIHRoZWFkIHRyIHRoLmNvbC1jb29saW5nLFxuLnh0dS1hbmFseXplLXRhYmxlIHRoZWFkIHRyIHRoLmNvbC1tb3RoZXJib2FyZCxcbi5iZW5jaG1hcmstZmlyc3Qtc3BvdHMtdGFibGUgdGhlYWQgdHIgdGguY29sLWNvb2xpbmcge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbi50b2RheS1zdWJtaXNzaW9ucy10YWJsZSB0aGVhZCB0ciB0aC5jb2wtYWN0aW9ucyxcbi50b2RheS1zdWJtaXNzaW9ucy10YWJsZSB0aGVhZCB0ciB0aC5jb2wtc3Vicyxcbi54dHUtYW5hbHl6ZS10YWJsZSB0aGVhZCB0ciB0aC5jb2wtYWN0aW9ucyxcbi5iZW5jaG1hcmstZmlyc3Qtc3BvdHMtdGFibGUgdGhlYWQgdHIgdGguY29sLWFjdGlvbnMge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuXG4udG9kYXktc3VibWlzc2lvbnMtdGFibGUgdGhlYWQgdHIgdGguY29sLWNhcmVlci1yYW5rLFxuLnRvZGF5LXN1Ym1pc3Npb25zLXRhYmxlIHRoZWFkIHRyIHRoLmNvbC1tZW1iZXJzLFxuLnRvZGF5LXN1Ym1pc3Npb25zLXRhYmxlIHRoZWFkIHRyIHRoLmNvbC1zdGF0dXMge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLnRvZGF5LXN1Ym1pc3Npb25zLXRhYmxlIHRoZWFkIHRyIHRoLmNvbC1jYXJlZXItcG9pbnRzIHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbn1cblxuLnRvZGF5LXN1Ym1pc3Npb25zLXRhYmxlIHRib2R5IHRyLFxuLmJlbmNobWFyay1yYW5raW5nLXRhYmxlIHRib2R5IHRyLFxuLnh0dS1hbmFseXplLXRhYmxlIHRib2R5IHRyLFxuLmJlbmNobWFyay1vdmVydmlldy10YWJsZSB0Ym9keSB0cixcbi5iZW5jaG1hcmstZmlyc3Qtc3BvdHMtdGFibGUgdGJvZHkgdHIge1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KTtcbn1cblxuLnRvZGF5LXN1Ym1pc3Npb25zLXRhYmxlIHRib2R5IHRyOmhvdmVyLFxuLmJlbmNobWFyay1yYW5raW5nLXRhYmxlIHRib2R5IHRyOmhvdmVyLFxuLnh0dS1hbmFseXplLXRhYmxlIHRib2R5IHRyOmhvdmVyLFxuLmJlbmNobWFyay1vdmVydmlldy10YWJsZSB0Ym9keSB0cjpob3Zlcixcbi5iZW5jaG1hcmstZmlyc3Qtc3BvdHMtdGFibGUgdGJvZHkgdHI6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJnLWhvdmVyKTtcbn1cblxuLnRvZGF5LXN1Ym1pc3Npb25zLXRhYmxlIHRib2R5IHRyIHRkLFxuLmJlbmNobWFyay1yYW5raW5nLXRhYmxlIHRib2R5IHRyIHRkLFxuLnh0dS1hbmFseXplLXRhYmxlIHRib2R5IHRyIHRkLFxuLmJlbmNobWFyay1vdmVydmlldy10YWJsZSB0Ym9keSB0ciB0ZCxcbi5iZW5jaG1hcmstZmlyc3Qtc3BvdHMtdGFibGUgdGJvZHkgdHIgdGQge1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLXhzKSB2YXIoLS1zcGFjZS1tZCk7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1wcmltYXJ5KTtcbiAgICBib3JkZXItYm90dG9tOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1saWdodCk7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG4udG9kYXktc3VibWlzc2lvbnMtdGFibGUgdGJvZHkgdHI6bGFzdC1jaGlsZCB0ZCxcbi5iZW5jaG1hcmstcmFua2luZy10YWJsZSB0Ym9keSB0cjpsYXN0LWNoaWxkIHRkLFxuLnh0dS1hbmFseXplLXRhYmxlIHRib2R5IHRyOmxhc3QtY2hpbGQgdGQsXG4uYmVuY2htYXJrLW92ZXJ2aWV3LXRhYmxlIHRib2R5IHRyOmxhc3QtY2hpbGQgdGQsXG4uYmVuY2htYXJrLWZpcnN0LXNwb3RzLXRhYmxlIHRib2R5IHRyOmxhc3QtY2hpbGQgdGQge1xuICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG59XG5cbi50b2RheS1zdWJtaXNzaW9ucy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtcmFuayxcbi5iZW5jaG1hcmstcmFua2luZy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtcmFuayB7XG4gICAgd2lkdGg6IDQ0cHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uYmVuY2htYXJrLXJhbmtpbmctdGFibGUgdGJvZHkgdHIudGFibGUtZmlyc3QtcG9zIHRkLmNvbC1yYW5rIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItcG9zLWZpcnN0KTtcbn1cblxuLmJlbmNobWFyay1yYW5raW5nLXRhYmxlIHRib2R5IHRyLnRhYmxlLXNlY29uZC1wb3MgdGQuY29sLXJhbmsge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1wb3Mtc2Vjb25kKTtcbn1cblxuLmJlbmNobWFyay1yYW5raW5nLXRhYmxlIHRib2R5IHRyLnRhYmxlLXRoaXJkLXBvcyB0ZC5jb2wtcmFuayB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXBvcy10aGlyZCk7XG59XG5cbi50b2RheS1zdWJtaXNzaW9ucy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtZGF0ZSxcbi54dHUtYW5hbHl6ZS10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtZGF0ZSB7XG4gICAgd2lkdGg6IDEwNXB4O1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbi50b2RheS1zdWJtaXNzaW9ucy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtc2NvcmUsXG4uYmVuY2htYXJrLXJhbmtpbmctdGFibGUgdGJvZHkgdHIgdGQuY29sLXNjb3JlLFxuLnh0dS1hbmFseXplLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1zY29yZSxcbi5iZW5jaG1hcmstZmlyc3Qtc3BvdHMtdGFibGUgdGJvZHkgdHIgdGQuY29sLXNjb3JlIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG4udG9kYXktc3VibWlzc2lvbnMtdGFibGUgdGJvZHkgdHIgdGQuY29sLXNjb3JlIGEsXG4uaHctcmVjb3Jkcy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtc2NvcmUgYSxcbi5iZW5jaG1hcmstcmFua2luZy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtc2NvcmUgYSxcbi54dHUtYW5hbHl6ZS10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtc2NvcmUgYSxcbi5iZW5jaG1hcmstZmlyc3Qtc3BvdHMtdGFibGUgdGJvZHkgdHIgdGQuY29sLXNjb3JlIGEge1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1zZW1pYm9sZCk7XG4gICAgZm9udC12YXJpYW50LW51bWVyaWM6IHRhYnVsYXItbnVtcztcbn1cblxuLnRvZGF5LXN1Ym1pc3Npb25zLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1jb29saW5nLFxuLmJlbmNobWFyay1yYW5raW5nLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1jb29saW5nLFxuLnRvZGF5LXN1Ym1pc3Npb25zLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1zdWJzcGVjcyxcbi54dHUtYW5hbHl6ZS10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtY29vbGluZyxcbi54dHUtYW5hbHl6ZS10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtbW90aGVyYm9hcmQsXG4uYmVuY2htYXJrLWZpcnN0LXNwb3RzLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1jb29saW5nIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi50b2RheS1zdWJtaXNzaW9ucy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtc3Vic3BlY3MgLnRvZGF5LXN1Ym1pc3Npb24tY2FyZF9fc3Vic3BlY3Mge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS14cyk7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG59XG5cbi50b2RheS1zdWJtaXNzaW9ucy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtY2FyZWVyLXJhbmssXG4udG9kYXktc3VibWlzc2lvbnMtdGFibGUgdGJvZHkgdHIgdGQuY29sLW1lbWJlcnMsXG4udG9kYXktc3VibWlzc2lvbnMtdGFibGUgdGJvZHkgdHIgdGQuY29sLXN0YXR1cyB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4udG9kYXktc3VibWlzc2lvbnMtdGFibGUgdGJvZHkgdHIgdGQuY29sLWNhcmVlci1wb2ludHMge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuXG4udG9kYXktc3VibWlzc2lvbnMtdGFibGUgdGhlYWQgdHIgdGguY29sLXR5cGUsXG4udG9kYXktc3VibWlzc2lvbnMtdGFibGUgdGJvZHkgdHIgdGQuY29sLXR5cGUge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuXG4udG9kYXktc3VibWlzc2lvbnMtdGFibGUgdGJvZHkgdHIgdGQuY29sLWFjdGlvbnMsXG4udG9kYXktc3VibWlzc2lvbnMtdGFibGUgdGJvZHkgdHIgdGQuY29sLXN1YnMsXG4ueHR1LWFuYWx5emUtdGFibGUgdGJvZHkgdHIgdGQuY29sLWFjdGlvbnMge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuXG4ueHR1LWFuYWx5emUtdGFibGUgdGhlYWQgdHIgdGguY29sLWNsb2NrLFxuLnh0dS1hbmFseXplLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1jbG9jayB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLnh0dS1hbmFseXplLXRhYmxlIHRib2R5IHRyLmlzLWFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItaW5mby1iZyk7XG59XG5cbi50b2RheS1zdWJtaXNzaW9ucy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtc3VicyAuZ3B1LWNhcmRfX3N1YnMtYmFkZ2UsXG4udG9kYXktc3VibWlzc2lvbnMtdGFibGUgdGJvZHkgdHIgdGQuY29sLXN1YnMgLmNwdS1jYXJkX19zdWJzLWJhZGdlLFxuLnRvZGF5LXN1Ym1pc3Npb25zLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1zdWJzIC5tYi1jYXJkX19zdWJzLWJhZGdlLFxuLnRvZGF5LXN1Ym1pc3Npb25zLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1zdWJzIC5tZW0tY2FyZF9fc3Vicy1iYWRnZSxcbi50b2RheS1zdWJtaXNzaW9ucy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtc3VicyAuZGlzay1jYXJkX19zdWJzLWJhZGdlLFxuLnRvZGF5LXN1Ym1pc3Npb25zLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1zdWJzIC5wc3UtY2FyZF9fc3Vicy1iYWRnZSB7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG59XG5cbi50b2RheS1zdWJtaXNzaW9ucy10YWJsZSB0Ym9keSB0ciB0ZCAuY3B1LWNhcmRfX3NwZWMsXG4udG9kYXktc3VibWlzc2lvbnMtdGFibGUgdGJvZHkgdHIgdGQgLmdwdS1jYXJkX19zcGVjLFxuLnRvZGF5LXN1Ym1pc3Npb25zLXRhYmxlIHRib2R5IHRyIHRkIC5tYi1jYXJkX19zcGVjLFxuLnRvZGF5LXN1Ym1pc3Npb25zLXRhYmxlIHRib2R5IHRyIHRkIC5tZW0tY2FyZF9fc3BlYyxcbi50b2RheS1zdWJtaXNzaW9ucy10YWJsZSB0Ym9keSB0ciB0ZCAucHN1LWNhcmRfX3NwZWMsXG4udG9kYXktc3VibWlzc2lvbnMtdGFibGUgdGJvZHkgdHIgdGQgLmRpc2stY2FyZF9fc3BlYyB7XG4gICAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1zcGFjZS0yeHMpO1xufVxuXG4udG9kYXktc3VibWlzc2lvbnMtdGFibGUgdGJvZHkgdHIgdGQgLmNwdS1jYXJkX19zcGVjOmxhc3QtY2hpbGQsXG4udG9kYXktc3VibWlzc2lvbnMtdGFibGUgdGJvZHkgdHIgdGQgLmdwdS1jYXJkX19zcGVjOmxhc3QtY2hpbGQsXG4udG9kYXktc3VibWlzc2lvbnMtdGFibGUgdGJvZHkgdHIgdGQgLm1iLWNhcmRfX3NwZWM6bGFzdC1jaGlsZCxcbi50b2RheS1zdWJtaXNzaW9ucy10YWJsZSB0Ym9keSB0ciB0ZCAubWVtLWNhcmRfX3NwZWM6bGFzdC1jaGlsZCxcbi50b2RheS1zdWJtaXNzaW9ucy10YWJsZSB0Ym9keSB0ciB0ZCAucHN1LWNhcmRfX3NwZWM6bGFzdC1jaGlsZCxcbi50b2RheS1zdWJtaXNzaW9ucy10YWJsZSB0Ym9keSB0ciB0ZCAuZGlzay1jYXJkX19zcGVjOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbn1cblxuLnRvZGF5LXN1Ym1pc3Npb25zLXRhYmxlIC5jb2wtYWN0aW9ucyAudG9kYXktc3VibWlzc2lvbi1jYXJkX19hY3Rpb25zLFxuLmJlbmNobWFyay1maXJzdC1zcG90cy10YWJsZSAuY29sLWFjdGlvbnMgLnRvZGF5LXN1Ym1pc3Npb24tY2FyZF9fYWN0aW9ucyB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IHZhcigtLXNwYWNlLXhzKTtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xufVxuXG4vKiBCZW5jaG1hcmsgT3ZlcnZpZXcgJiBSdWxlcyBUYWJsZXMgKi9cbi5iZW5jaG1hcmstb3ZlcnZpZXctdGFibGUgdGhlYWQgdHIgdGguY29sLWJldGEsXG4uYmVuY2htYXJrLW92ZXJ2aWV3LXRhYmxlIHRib2R5IHRyIHRkLmNvbC1iZXRhIHtcbiAgICB3aWR0aDogNDhweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5iZW5jaG1hcmstb3ZlcnZpZXctdGFibGUgdGhlYWQgdHIgdGguY29sLW9zLFxuLmJlbmNobWFyay1vdmVydmlldy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtb3Mge1xuICAgIHdpZHRoOiA3MnB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLmJlbmNobWFyay1vdmVydmlldy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtb3MgaSB7XG4gICAgbWFyZ2luOiAwIHZhcigtLXNwYWNlLTN4cyk7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtc20pO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG59XG5cbi5iZW5jaG1hcmstb3ZlcnZpZXctdGFibGUgdGhlYWQgdHIgdGguY29sLWdscCxcbi5iZW5jaG1hcmstb3ZlcnZpZXctdGFibGUgdGJvZHkgdHIgdGQuY29sLWdscCxcbi5iZW5jaG1hcmstb3ZlcnZpZXctdGFibGUgdGhlYWQgdHIgdGguY29sLWh3cCxcbi5iZW5jaG1hcmstb3ZlcnZpZXctdGFibGUgdGJvZHkgdHIgdGQuY29sLWh3cCB7XG4gICAgd2lkdGg6IDUycHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uYmVuY2htYXJrLW92ZXJ2aWV3LXRhYmxlIHRoZWFkIHRyIHRoLmNvbC1saW5rcyxcbi5iZW5jaG1hcmstb3ZlcnZpZXctdGFibGUgdGJvZHkgdHIgdGQuY29sLWxpbmtzIHtcbiAgICB3aWR0aDogODBweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5iZW5jaG1hcmstb3ZlcnZpZXctdGFibGUgdGJvZHkgdHIgdGQuY29sLWxpbmtzIC5mbGV4LXJvdy0tYmVuY2htYXJrLWxpbmtzIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGdhcDogdmFyKC0tc3BhY2UteHMpO1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xufVxuXG4uYmVuY2htYXJrLW92ZXJ2aWV3LXRhYmxlIHRib2R5IHRyIHRkLmNvbC1saW5rcyAuZmxleC1yb3ctLWJlbmNobWFyay1saW5rcyBhIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4uYmVuY2htYXJrLXJ1bGUtbGluayB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IHZhcigtLXNwYWNlLTN4cyk7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteHMpO1xufVxuXG4uYmVuY2htYXJrLW92ZXJ2aWV3LXRhYmxlIHRib2R5IHRyIHRkLmVtcHR5LXN0YXRlIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS1tZCk7XG59XG5cbi8qIFRlYW0gQ3VwcyBhbmQgTWVkYWxzIFRhYmxlICovXG4udGVhbS1jdXBzLXRhYmxlIHRoZWFkIHRyIHRoLmNvbC10cm9waHkge1xuICAgIHdpZHRoOiA5MHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLnRlYW0tY3Vwcy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtdHJvcGh5IHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi8qIFRlYW0gUG9pbnRzIENvbnRyaWJ1dGlvbiBUYWJsZSAqL1xuLnRlYW0tcG9pbnRzLXRhYmxlIHRoZWFkIHRyIHRoLmNvbC1wb2ludHMsXG4udGVhbS1wb2ludHMtdGFibGUgdGJvZHkgdHIgdGQuY29sLXBvaW50cyB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLnRlYW0tcG9pbnRzLXRhYmxlIHRoZWFkIHRyIHRoLmNvbC1tZXRyaWMsXG4udGVhbS1wb2ludHMtdGFibGUgdGJvZHkgdHIgdGQuY29sLW1ldHJpYyB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIHdpZHRoOiAxMTBweDtcbn1cblxuLnRlYW0tcG9pbnRzLXRhYmxlIHRoZWFkIHRyIHRoLmNvbC1sZWFndWUsXG4udGVhbS1wb2ludHMtdGFibGUgdGJvZHkgdHIgdGQuY29sLWxlYWd1ZSB7XG4gICAgd2lkdGg6IDEzMHB4O1xufVxuXG4vKiBUZWFtIE1lbWJlcnMgVGFibGUgKi9cbi50ZWFtLW1lbWJlcnMtdGFibGUgdGhlYWQgdHIgdGguY29sLXVzZXIsXG4udGVhbS1tZW1iZXJzLXRhYmxlIHRib2R5IHRyIHRkLmNvbC11c2VyIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG4udGVhbS1tZW1iZXJzLXRhYmxlIHRoZWFkIHRyIHRoLmNvbC1yb2xlLFxuLnRlYW0tbWVtYmVycy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtcm9sZSB7XG4gICAgd2lkdGg6IDEyMHB4O1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbi50ZWFtLW1lbWJlcnMtdGFibGUgdGhlYWQgdHIgdGguY29sLWxlYWd1ZSxcbi50ZWFtLW1lbWJlcnMtdGFibGUgdGJvZHkgdHIgdGQuY29sLWxlYWd1ZSB7XG4gICAgd2lkdGg6IDE0MHB4O1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbi50ZWFtLW1lbWJlcnMtdGFibGUgdGhlYWQgdHIgdGguY29sLWpvaW5lZCxcbi50ZWFtLW1lbWJlcnMtdGFibGUgdGJvZHkgdHIgdGQuY29sLWpvaW5lZCB7XG4gICAgd2lkdGg6IDE0MHB4O1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLnRlYW0tbWVtYmVycy10YWJsZSB0aGVhZCB0ciB0aC5jb2wtdmlzaXQsXG4udGVhbS1tZW1iZXJzLXRhYmxlIHRib2R5IHRyIHRkLmNvbC12aXNpdCB7XG4gICAgd2lkdGg6IDE0MHB4O1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLnRlYW0tbWVtYmVycy10YWJsZSB0aGVhZCB0ciB0aC5jb2wtYWN0aW9ucyxcbi50ZWFtLW1lbWJlcnMtdGFibGUgdGJvZHkgdHIgdGQuY29sLWFjdGlvbnMge1xuICAgIHdpZHRoOiA5MHB4O1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuXG4udGVhbS1tZW1iZXJzLXRhYmxlIC5jb2wtYWN0aW9ucyAuYnV0dG9uIHtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS0yeHMpIHZhcigtLXNwYWNlLXhzKTtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14cyk7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy14cyk7XG59XG5cbi50ZWFtLW1lbWJlci1kYXRlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogdmFyKC0tc3BhY2UtMnhzKTtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14cyk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbn1cblxuLnRlYW0tbWVtYmVyLWRhdGUgaSB7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtMnhzKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1tdXRlZCk7XG4gICAgZmxleC1zaHJpbms6IDA7XG59XG5cbi50ZWFtLW1lbWJlci1kYXRlX19sYWJlbCB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuLyogVGVhbSBSZXF1ZXN0cyBUYWJsZSAqL1xuLnRlYW0tcmVxdWVzdHMtdGFibGUgdGhlYWQgdHIgdGguY29sLXVzZXIsXG4udGVhbS1yZXF1ZXN0cy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtdXNlciB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbn1cblxuLnRlYW0tcmVxdWVzdHMtdGFibGUgdGhlYWQgdHIgdGguY29sLXRlYW0sXG4udGVhbS1yZXF1ZXN0cy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtdGVhbSB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBtaW4td2lkdGg6IDE0MHB4O1xufVxuXG4udGVhbS1yZXF1ZXN0cy10YWJsZSB0aGVhZCB0ciB0aC5jb2wtbGVhZ3VlLFxuLnRlYW0tcmVxdWVzdHMtdGFibGUgdGJvZHkgdHIgdGQuY29sLWxlYWd1ZSB7XG4gICAgd2lkdGg6IDE0MHB4O1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbi50ZWFtLXJlcXVlc3RzLXRhYmxlIHRoZWFkIHRyIHRoLmNvbC1qb2luZWQsXG4udGVhbS1yZXF1ZXN0cy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtam9pbmVkIHtcbiAgICB3aWR0aDogMTQwcHg7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4udGVhbS1yZXF1ZXN0cy10YWJsZSB0aGVhZCB0ciB0aC5jb2wtdmlzaXQsXG4udGVhbS1yZXF1ZXN0cy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtdmlzaXQge1xuICAgIHdpZHRoOiAxNDBweDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi50ZWFtLXJlcXVlc3RzLXRhYmxlIHRoZWFkIHRyIHRoLmNvbC1hY3Rpb25zLFxuLnRlYW0tcmVxdWVzdHMtdGFibGUgdGJvZHkgdHIgdGQuY29sLWFjdGlvbnMge1xuICAgIHdpZHRoOiA5MHB4O1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuXG4udGVhbS1yZXF1ZXN0cy10YWJsZSAuY29sLWFjdGlvbnMgLmJ1dHRvbiB7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2UtMnhzKSB2YXIoLS1zcGFjZS14cyk7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteHMpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMteHMpO1xufVxuXG4udGVhbS1yZXF1ZXN0cy1hY3Rpb24ge1xuICAgIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlLW1kKTtcbn1cblxuLyogU3ViLWNvbXBvbmVudHMgaW5zaWRlIGNlbGxzIGFuZCBjYXJkcyAqL1xuLnRvZGF5LXN1Ym1pc3Npb24tY2FyZF9fcmFuayxcbi5tZW1iZXItY2FyZF9fcmFuayxcbi50ZWFtLWNhcmRfX3Jhbmsge1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXhzKTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbXV0ZWQpO1xuICAgIGZsZXgtc2hyaW5rOiAwO1xufVxuXG4udG9kYXktc3VibWlzc2lvbi1jYXJkX19kYXRlIHtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14cyk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LW1lZGl1bSk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbXV0ZWQpO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi50b2RheS1zdWJtaXNzaW9uLWNhcmRfX2JlbmNobWFyay1saW5rIHtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtc20pO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cbi50b2RheS1zdWJtaXNzaW9uLWNhcmRfX3ZlcnNpb24ge1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ub3JtYWwpO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXhzKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xufVxuXG4udG9kYXktc3VibWlzc2lvbi1jYXJkX19oYXJkd2FyZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IHZhcigtLXNwYWNlLXhzKTtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14cyk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LW1lZGl1bSk7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLnRvZGF5LXN1Ym1pc3Npb24tY2FyZF9fY2xvY2sge1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ub3JtYWwpO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXhzKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi50b2RheS1zdWJtaXNzaW9uLWNhcmRfX3N1YnNwZWNzIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS14cyk7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXhzKTtcbn1cblxuLnRvZGF5LXN1Ym1pc3Npb24tY2FyZF9fc3Vic3BlYyB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IHZhcigtLXNwYWNlLTJ4cyk7XG4gICAgcGFkZGluZzogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSB2YXIoLS1zcGFjZS14cyk7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctY2FyZCk7XG4gICAgYm9yZGVyOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1zdWJ0bGUpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMteHMpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXhzKTtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpLCBib3JkZXItY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KSwgYmFja2dyb3VuZC1jb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpO1xuICAgIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7XG59XG5cbi50b2RheS1zdWJtaXNzaW9uLWNhcmRfX3N1YnNwZWM6aG92ZXIge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1saW5rKTtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLWJvcmRlci1zdGFuZGFyZCk7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctaG92ZXIpO1xufVxuXG4udG9kYXktc3VibWlzc2lvbi1jYXJkX19zdWJzcGVjIGkge1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLTJ4cyk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbXV0ZWQpO1xuICAgIGZsZXgtc2hyaW5rOiAwO1xufVxuXG4udG9kYXktc3VibWlzc2lvbi1jYXJkX19wYXJ0aWNpcGFudCB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IHZhcigtLXNwYWNlLXhzKTtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4udG9kYXktc3VibWlzc2lvbi1jYXJkX19hdmF0YXIge1xuICAgIHdpZHRoOiAyMnB4O1xuICAgIGhlaWdodDogMjJweDtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLWNpcmNsZSk7XG4gICAgYm9yZGVyOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1zdWJ0bGUpO1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIG9iamVjdC1maXQ6IGNvdmVyO1xufVxuXG4udG9kYXktc3VibWlzc2lvbi1jYXJkX19uYW1lIHtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtc2VtaWJvbGQpO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXhzKTtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4udG9kYXktc3VibWlzc2lvbi1jYXJkX19wYXJ0aWNpcGFudCAuY291bnRyeV9mbGFncyB7XG4gICAgd2lkdGg6IHZhcigtLXNwYWNlLW1kKTtcbiAgICBoZWlnaHQ6IHZhcigtLXNwYWNlLW1kKTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IHZhcigtLXNwYWNlLW1kKTtcbiAgICBmbGV4LXNocmluazogMDtcbn1cblxuLnRvZGF5LXN1Ym1pc3Npb24tY2FyZF9fYWN0aW9ucyB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IHZhcigtLXNwYWNlLXhzKTtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4udG9kYXktc3VibWlzc2lvbi1jYXJkX19wb2ludHMge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS0yeHMpO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi50b2RheS1zdWJtaXNzaW9uLWNhcmRfX3BvaW50czplbXB0eSB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuLnRvZGF5LXN1Ym1pc3Npb24tY2FyZF9fcG9pbnQsXG4uaHctcmVjb3Jkcy10YWJsZV9fcG9pbnQge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcbiAgICBnYXA6IHZhcigtLXNwYWNlLTJ4cyk7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2UtMnhzKSB2YXIoLS1zcGFjZS14cyk7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLXhzKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXhzKTtcbiAgICBmb250LXZhcmlhbnQtbnVtZXJpYzogdGFidWxhci1udW1zO1xuICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC1ub25lKTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgZmxleC1zaHJpbms6IDA7XG59XG5cbi50b2RheS1zdWJtaXNzaW9uLWNhcmRfX3BvaW50OmhvdmVyLFxuLmh3LXJlY29yZHMtdGFibGVfX3BvaW50OmhvdmVyIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbn1cblxuLnRvZGF5LXN1Ym1pc3Npb24tY2FyZF9fcG9pbnQtdmFsdWUsXG4uaHctcmVjb3Jkcy10YWJsZV9fcG9pbnQtdmFsdWUge1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICBmb250LXZhcmlhbnQtbnVtZXJpYzogdGFidWxhci1udW1zO1xuICAgIGNvbG9yOiBpbmhlcml0O1xufVxuXG4udG9kYXktc3VibWlzc2lvbi1jYXJkX19wb2ludC1sYWJlbCxcbi5ody1yZWNvcmRzLXRhYmxlX19wb2ludC1sYWJlbCB7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtM3hzKTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtZXh0cmFib2xkKTtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4wNWVtO1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbi8qIENvbXBldGl0aXZlIExlYWd1ZSBQb2ludCBCYWRnZXMgKi9cbi50b2RheS1zdWJtaXNzaW9uLWNhcmRfX3BvaW50LS13ciB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3Itd2FybmluZy1iZyk7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci13YXJuaW5nLWJvcmRlcik7XG59XG4udG9kYXktc3VibWlzc2lvbi1jYXJkX19wb2ludC0td3IgLnRvZGF5LXN1Ym1pc3Npb24tY2FyZF9fcG9pbnQtbGFiZWwge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci13YXJuaW5nKTtcbn1cbi50b2RheS1zdWJtaXNzaW9uLWNhcmRfX3BvaW50LS13ciAudG9kYXktc3VibWlzc2lvbi1jYXJkX19wb2ludC12YWx1ZSB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXdhcm5pbmctdGV4dCk7XG59XG5cbi50b2RheS1zdWJtaXNzaW9uLWNhcmRfX3BvaW50LS1lbXB0eSB7XG4gICAgb3BhY2l0eTogMC40NTtcbn1cblxuLnRvZGF5LXN1Ym1pc3Npb24tY2FyZF9fY29tbWVudHMge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS14cyk7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2UtMnhzKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS0yeHMpO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1zZW1pYm9sZCk7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy14cyk7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KSwgYmFja2dyb3VuZC1jb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpO1xufVxuXG4udG9kYXktc3VibWlzc2lvbi1jYXJkX19jb21tZW50czpob3ZlciB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWxpbmspO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLWhvdmVyKTtcbn1cblxuLnRvZGF5LXN1Ym1pc3Npb24tY2FyZF9fY29tbWVudHMgaSB7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtMnhzKTtcbn1cblxuLnRvZGF5LXN1Ym1pc3Npb24tY2FyZF9fdm90ZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLyogUGVyc29uYWwgJiBUZWFtIEJlbmNobWFyayBTdW1tYXJ5IEhpZ2hsaWdodCBDYXJkcyAqL1xuLnJhbmtpbmctaGlnaGxpZ2h0LWdyaWQge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTtcbiAgICBnYXA6IHZhcigtLXNwYWNlLW1kKTtcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS1tZCk7XG59XG5cbi5yYW5raW5nLWhpZ2hsaWdodC1jYXJkIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy1zdXJmYWNlKTtcbiAgICBib3JkZXI6IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLWxpZ2h0KTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKTtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS1zbSkgdmFyKC0tc3BhY2UtbWQpO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IHZhcigtLXNwYWNlLXhzKTtcbiAgICBib3gtc2hhZG93OiB2YXIoLS1zaGFkb3ctc20pO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXNtKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1wcmltYXJ5KTtcbn1cblxuLnJhbmtpbmctaGlnaGxpZ2h0LWNhcmRfX2hlYWRlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBnYXA6IHZhcigtLXNwYWNlLXhzKTtcbn1cblxuLnJhbmtpbmctaGlnaGxpZ2h0LWNhcmRfX3RpdGxlIHtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtc2VtaWJvbGQpO1xufVxuXG4ucmFua2luZy1oaWdobGlnaHQtY2FyZF9fYm9keSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogdmFyKC0tc3BhY2Utcyk7XG59XG5cbi5yYW5raW5nLWhpZ2hsaWdodC1jYXJkX19zY29yZS1yb3cge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS1zbSk7XG4gICAgZmxleC13cmFwOiB3cmFwO1xufVxuXG4ucmFua2luZy1oaWdobGlnaHQtY2FyZF9fc2NvcmUge1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1zZW1pYm9sZCk7XG4gICAgZm9udC12YXJpYW50LW51bWVyaWM6IHRhYnVsYXItbnVtcztcbn1cblxuLnJhbmtpbmctaGlnaGxpZ2h0LWNhcmRfX21ldGEge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS14cyk7XG4gICAgZmxleC13cmFwOiB3cmFwO1xufVxuXG4ucmFua2luZy1oaWdobGlnaHQtY2FyZF9faGFyZHdhcmUge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS0yeHMpO1xuICAgIG1pbi13aWR0aDogMDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi50b2RheS1zdWJtaXNzaW9uLWNhcmRfX2NvcmVzLFxuLnJhbmtpbmctaGlnaGxpZ2h0LWNhcmRfX2NvcmVzIHtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgZmxleC1zaHJpbms6IDA7XG59XG5cbi5yYW5raW5nLWhpZ2hsaWdodC1jYXJkX19wb2ludHMge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS0yeHMpO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xufVxuXG4ucmFua2luZy1oaWdobGlnaHQtY2FyZF9fZW1wdHkge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IHZhcigtLXNwYWNlLXhzKTtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS14cykgMDtcbn1cblxuLmJlbmNobWFyay1yYW5raW5nLXRhYmxlIHRoZWFkIHRyIHRoLmNvbC1iZW5jaG1hcmsge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB3aWR0aDogNjBweDtcbn1cblxuLmJlbmNobWFyay1yYW5raW5nLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1iZW5jaG1hcmsge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtbWVkaXVtKTtcbn1cblxuLmJlbmNobWFyay1maXJzdC1zcG90cy10YWJsZSB0aGVhZCB0ciB0aC5jb2wtYmVuY2htYXJrLFxuLmJlbmNobWFyay1maXJzdC1zcG90cy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtYmVuY2htYXJrIHtcbiAgICB3aWR0aDogODBweDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG4uYmVuY2htYXJrLXJhbmtpbmctdGFibGUgdGhlYWQgdHIgdGguY29sLXBvaW50cyxcbi5iZW5jaG1hcmstcmFua2luZy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtcG9pbnRzIHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbn1cblxuLyogVXNlciBIYXJkd2FyZSBMaWJyYXJ5IFRhYmxlICovXG4ubGlicmFyeS10YWJsZS13cmFwcGVyLnN0aWNreS10YWJsZSB7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgbWluLXdpZHRoOiAwO1xuICAgIG92ZXJzY3JvbGwtYmVoYXZpb3IteDogY29udGFpbjtcbn1cblxuLmxpYnJhcnktdGFibGUge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJvcmRlci1jb2xsYXBzZTogc2VwYXJhdGU7XG4gICAgYm9yZGVyLXNwYWNpbmc6IDA7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctc3VyZmFjZSk7XG4gICAgYm9yZGVyOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1saWdodCk7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cyk7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4ubGlicmFyeS10YWJsZSB0aGVhZCB0ciB0aCB7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2Utc20pIHZhcigtLXNwYWNlLW1kKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC13aGl0ZSk7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctZGFyayk7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIGJvcmRlci1ib3R0b206IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLWxpZ2h0KTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteHMpO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMDRlbTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG4ubGlicmFyeS10YWJsZSB0aGVhZCB0ciB0aC5jb2wtc3Vicyxcbi5saWJyYXJ5LXRhYmxlIHRib2R5IHRyIHRkLmNvbC1zdWJzIHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbn1cblxuLmxpYnJhcnktY2FyZF9fc3Vicy1sYWJlbCB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuLmxpYnJhcnktdGFibGUgdGJvZHkgdHIge1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KTtcbn1cblxuLmxpYnJhcnktdGFibGUgdGJvZHkgdHI6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJnLWhvdmVyKTtcbn1cblxuLmxpYnJhcnktdGFibGUgdGJvZHkgdHIgdGQge1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLXhzKSB2YXIoLS1zcGFjZS1tZCk7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1wcmltYXJ5KTtcbiAgICBib3JkZXItYm90dG9tOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1saWdodCk7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG4ubGlicmFyeS10YWJsZSB0Ym9keSB0cjpsYXN0LWNoaWxkIHRkIHtcbiAgICBib3JkZXItYm90dG9tOiBub25lO1xufVxuXG4ubGlicmFyeS10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtbW9kZWwgYSB7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LXNlbWlib2xkKTtcbn1cblxuLyogVXNlciBYVFUgUHJvZmlsZXMgVGFibGUgJiBYVFUgQW5hbHl6ZSBUYWJsZSAqL1xuLnh0dS1wcm9maWxlcy10YWJsZS13cmFwcGVyLnN0aWNreS10YWJsZSxcbi54dHUtYW5hbHl6ZS10YWJsZS13cmFwcGVyLnN0aWNreS10YWJsZSB7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgbWluLXdpZHRoOiAwO1xuICAgIG92ZXJzY3JvbGwtYmVoYXZpb3IteDogY29udGFpbjtcbn1cblxuLnh0dS1wcm9maWxlcy10YWJsZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYm9yZGVyLWNvbGxhcHNlOiBzZXBhcmF0ZTtcbiAgICBib3JkZXItc3BhY2luZzogMDtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy1zdXJmYWNlKTtcbiAgICBib3JkZXI6IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLWxpZ2h0KTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi54dHUtcHJvZmlsZXMtdGFibGUgdGhlYWQgdHIgdGgge1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLXNtKSB2YXIoLS1zcGFjZS1tZCk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtd2hpdGUpO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLWRhcmspO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBib3JkZXItYm90dG9tOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1saWdodCk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXhzKTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjA0ZW07XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuLnh0dS1wcm9maWxlcy10YWJsZSB0aGVhZCB0ciB0aC5jb2wtYWN0aW9ucyxcbi54dHUtcHJvZmlsZXMtdGFibGUgdGJvZHkgdHIgdGQuY29sLWFjdGlvbnMge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuXG4ueHR1LXByb2ZpbGVzLXRhYmxlIHRib2R5IHRyIHtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCk7XG59XG5cbi54dHUtcHJvZmlsZXMtdGFibGUgdGJvZHkgdHI6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJnLWhvdmVyKTtcbn1cblxuLnh0dS1wcm9maWxlcy10YWJsZSB0Ym9keSB0ciB0ZCB7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2UteHMpIHZhcigtLXNwYWNlLW1kKTtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXByaW1hcnkpO1xuICAgIGJvcmRlci1ib3R0b206IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLWxpZ2h0KTtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cbi54dHUtcHJvZmlsZXMtdGFibGUgdGJvZHkgdHI6bGFzdC1jaGlsZCB0ZCB7XG4gICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbn1cblxuLnh0dS1wcm9maWxlcy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtc2NvcmUgYSB7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LXNlbWlib2xkKTtcbn1cblxuLyogVXNlciBSYW5raW5nIExvZyBUYWJsZSAqL1xuLnJhbmtpbmctbG9nLXRhYmxlLXdyYXBwZXIuc3RpY2t5LXRhYmxlIHtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBtaW4td2lkdGg6IDA7XG4gICAgb3ZlcnNjcm9sbC1iZWhhdmlvci14OiBjb250YWluO1xufVxuXG4ucmFua2luZy1sb2ctdGFibGUge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJvcmRlci1jb2xsYXBzZTogc2VwYXJhdGU7XG4gICAgYm9yZGVyLXNwYWNpbmc6IDA7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctc3VyZmFjZSk7XG4gICAgYm9yZGVyOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1saWdodCk7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cyk7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4ucmFua2luZy1sb2ctdGFibGUgdGhlYWQgdHIgdGgge1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLXNtKSB2YXIoLS1zcGFjZS1tZCk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtd2hpdGUpO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLWRhcmspO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBib3JkZXItYm90dG9tOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1saWdodCk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXhzKTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjA0ZW07XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuLnJhbmtpbmctbG9nLXRhYmxlIHRoZWFkIHRyIHRoLmNvbC1zY29yZSxcbi5yYW5raW5nLWxvZy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtc2NvcmUsXG4ucmFua2luZy1sb2ctdGFibGUgdGhlYWQgdHIgdGguY29sLXBvaW50cyxcbi5yYW5raW5nLWxvZy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtcG9pbnRzIHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbn1cblxuLnJhbmtpbmctbG9nLXRhYmxlIHRib2R5IHRyIHtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCk7XG59XG5cbi5yYW5raW5nLWxvZy10YWJsZSB0Ym9keSB0cjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmctaG92ZXIpO1xufVxuXG4ucmFua2luZy1sb2ctdGFibGUgdGJvZHkgdHIgdGQge1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLXhzKSB2YXIoLS1zcGFjZS1tZCk7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1wcmltYXJ5KTtcbiAgICBib3JkZXItYm90dG9tOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1saWdodCk7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG4ucmFua2luZy1sb2ctdGFibGUgdGJvZHkgdHI6bGFzdC1jaGlsZCB0ZCB7XG4gICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbn1cblxuLnJhbmtpbmctbG9nLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1zY29yZSBhIHtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtc2VtaWJvbGQpO1xufVxuXG4vKiBVc2VyIFBvaW50cyBUYWJsZSAqL1xuLnVzZXItcG9pbnRzLXRhYmxlLXdyYXBwZXIuc3RpY2t5LXRhYmxlIHtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBtaW4td2lkdGg6IDA7XG4gICAgb3ZlcnNjcm9sbC1iZWhhdmlvci14OiBjb250YWluO1xuICAgIHNjcm9sbGJhci13aWR0aDogdGhpbjtcbiAgICBzY3JvbGxiYXItY29sb3I6IHZhcigtLWNvbG9yLWJvcmRlci1zdGFuZGFyZCkgdHJhbnNwYXJlbnQ7XG4gICAgcGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNlLTJ4cyk7XG59XG5cbi51c2VyLXBvaW50cy10YWJsZS13cmFwcGVyOjotd2Via2l0LXNjcm9sbGJhciB7XG4gICAgaGVpZ2h0OiA2cHg7XG59XG5cbi51c2VyLXBvaW50cy10YWJsZS13cmFwcGVyOjotd2Via2l0LXNjcm9sbGJhci10cmFjayB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG59XG5cbi51c2VyLXBvaW50cy10YWJsZS13cmFwcGVyOjotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYm9yZGVyLXN0YW5kYXJkKTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLXhzKTtcbn1cblxuLnVzZXItcG9pbnRzLXRhYmxlLXdyYXBwZXI6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG59XG5cbi51c2VyLXBvaW50cy10YWJsZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYm9yZGVyLWNvbGxhcHNlOiBzZXBhcmF0ZTtcbiAgICBib3JkZXItc3BhY2luZzogMDtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy1zdXJmYWNlKTtcbiAgICBib3JkZXI6IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLWxpZ2h0KTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi51c2VyLXBvaW50cy10YWJsZSB0aGVhZCB0ciB0aCB7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2Utc20pIHZhcigtLXNwYWNlLW1kKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC13aGl0ZSk7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctZGFyayk7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIGJvcmRlci1ib3R0b206IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLWxpZ2h0KTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteHMpO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMDRlbTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG4udXNlci1wb2ludHMtdGFibGUgdGhlYWQgdHIgdGguY29sLXJhbmsge1xuICAgIHdpZHRoOiA3MHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLnVzZXItcG9pbnRzLXRhYmxlIHRoZWFkIHRyIHRoLmNvbC1wb2ludHMge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIHdpZHRoOiAxMDBweDtcbn1cblxuLnVzZXItcG9pbnRzLXRhYmxlIHRoZWFkIHRyIHRoLmNvbC1kYXRlIHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICB3aWR0aDogMTEwcHg7XG59XG5cbi51c2VyLXBvaW50cy10YWJsZSB0aGVhZCB0ciB0aC5jb2wtc2NvcmUge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbi51c2VyLXBvaW50cy10YWJsZSB0aGVhZCB0ciB0aC5jb2wtY29vbGluZyB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbn1cblxuLnVzZXItcG9pbnRzLXRhYmxlIHRoZWFkIHRyIHRoLmNvbC1sZXZlbCB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHdpZHRoOiA4MHB4O1xufVxuXG4udXNlci1wb2ludHMtdGFibGUgdGJvZHkgdHIge1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KTtcbn1cblxuLnVzZXItcG9pbnRzLXRhYmxlIHRib2R5IHRyOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iZy1ob3Zlcik7XG59XG5cbi51c2VyLXBvaW50cy10YWJsZSB0Ym9keSB0ciB0ZCB7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2UteHMpIHZhcigtLXNwYWNlLW1kKTtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXByaW1hcnkpO1xuICAgIGJvcmRlci1ib3R0b206IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLWxpZ2h0KTtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cbi51c2VyLXBvaW50cy10YWJsZSB0Ym9keSB0cjpsYXN0LWNoaWxkIHRkIHtcbiAgICBib3JkZXItYm90dG9tOiBub25lO1xufVxuXG4udXNlci1wb2ludHMtdGFibGUgdGJvZHkgdHIgdGQuY29sLXJhbmsge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLnVzZXItcG9pbnRzLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1zY29yZSBhIHtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtc2VtaWJvbGQpO1xuICAgIGZvbnQtdmFyaWFudC1udW1lcmljOiB0YWJ1bGFyLW51bXM7XG59XG5cbi51c2VyLXBvaW50cy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtcG9pbnRzIHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtc2VtaWJvbGQpO1xuICAgIGZvbnQtdmFyaWFudC1udW1lcmljOiB0YWJ1bGFyLW51bXM7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtcHJpbWFyeSk7XG59XG5cbi51c2VyLXBvaW50cy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtZGF0ZSB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteHMpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG59XG5cbi51c2VyLXBvaW50cy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtbGV2ZWwge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLyogQ29tcGV0aXRpb24gT3ZlcnZpZXcgVGFibGUgKi9cbi5jb21wZXRpdGlvbnMtdGFibGUtd3JhcHBlci5zdGlja3ktdGFibGUge1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIG1pbi13aWR0aDogMDtcbiAgICBvdmVyc2Nyb2xsLWJlaGF2aW9yLXg6IGNvbnRhaW47XG4gICAgc2Nyb2xsYmFyLXdpZHRoOiB0aGluO1xuICAgIHNjcm9sbGJhci1jb2xvcjogdmFyKC0tY29sb3ItYm9yZGVyLXN0YW5kYXJkKSB0cmFuc3BhcmVudDtcbiAgICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tc3BhY2UtMnhzKTtcbn1cblxuLmNvbXBldGl0aW9ucy10YWJsZS13cmFwcGVyOjotd2Via2l0LXNjcm9sbGJhciB7XG4gICAgaGVpZ2h0OiA2cHg7XG59XG5cbi5jb21wZXRpdGlvbnMtdGFibGUtd3JhcHBlcjo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2sge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xufVxuXG4uY29tcGV0aXRpb25zLXRhYmxlLXdyYXBwZXI6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1ib3JkZXItc3RhbmRhcmQpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMteHMpO1xufVxuXG4uY29tcGV0aXRpb25zLXRhYmxlLXdyYXBwZXI6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG59XG5cbi5jb21wZXRpdGlvbnMtb3ZlcnZpZXctdGFibGUge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJvcmRlci1jb2xsYXBzZTogc2VwYXJhdGU7XG4gICAgYm9yZGVyLXNwYWNpbmc6IDA7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctc3VyZmFjZSk7XG4gICAgYm9yZGVyOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1saWdodCk7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cyk7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4uY29tcGV0aXRpb25zLW92ZXJ2aWV3LXRhYmxlIHRoZWFkIHRyIHRoIHtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS1zbSkgdmFyKC0tc3BhY2UtbWQpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXdoaXRlKTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy1kYXJrKTtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgYm9yZGVyLWJvdHRvbTogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItbGlnaHQpO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14cyk7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4wNGVtO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cbi5jb21wZXRpdGlvbnMtb3ZlcnZpZXctdGFibGUgdGhlYWQgdHIgdGguY29sLWNvbXBldGl0aW9uIHtcbiAgICB3aWR0aDogYXV0bztcbn1cblxuLmNvbXBldGl0aW9ucy1vdmVydmlldy10YWJsZSB0aGVhZCB0ciB0aC5jb2wtbGV2ZWwsXG4uY29tcGV0aXRpb25zLW92ZXJ2aWV3LXRhYmxlIHRib2R5IHRyIHRkLmNvbC1sZXZlbCB7XG4gICAgd2lkdGg6IDkwcHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uY29tcGV0aXRpb25zLW92ZXJ2aWV3LXRhYmxlIHRoZWFkIHRyIHRoLmNvbC1zdGFnZXMsXG4uY29tcGV0aXRpb25zLW92ZXJ2aWV3LXRhYmxlIHRib2R5IHRyIHRkLmNvbC1zdGFnZXMge1xuICAgIHdpZHRoOiA4MHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLmNvbXBldGl0aW9ucy1vdmVydmlldy10YWJsZSB0aGVhZCB0ciB0aC5jb2wtb3BlbnMsXG4uY29tcGV0aXRpb25zLW92ZXJ2aWV3LXRhYmxlIHRib2R5IHRyIHRkLmNvbC1vcGVucyxcbi5jb21wZXRpdGlvbnMtb3ZlcnZpZXctdGFibGUgdGhlYWQgdHIgdGguY29sLWNsb3Nlcyxcbi5jb21wZXRpdGlvbnMtb3ZlcnZpZXctdGFibGUgdGJvZHkgdHIgdGQuY29sLWNsb3NlcyB7XG4gICAgd2lkdGg6IDE3NXB4O1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXhzKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xufVxuXG4uY29tcGV0aXRpb25zLW92ZXJ2aWV3LXRhYmxlIHRoZWFkIHRyIHRoLmNvbC13aW5uZXIsXG4uY29tcGV0aXRpb25zLW92ZXJ2aWV3LXRhYmxlIHRib2R5IHRyIHRkLmNvbC13aW5uZXIge1xuICAgIHdpZHRoOiAyMjBweDtcbn1cblxuLmNvbXBldGl0aW9ucy1vdmVydmlldy10YWJsZSB0Ym9keSB0ciB7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpO1xufVxuXG4uY29tcGV0aXRpb25zLW92ZXJ2aWV3LXRhYmxlIHRib2R5IHRyOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iZy1ob3Zlcik7XG59XG5cbi5jb21wZXRpdGlvbnMtb3ZlcnZpZXctdGFibGUgdGJvZHkgdHIgdGQge1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLXhzKSB2YXIoLS1zcGFjZS1tZCk7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1wcmltYXJ5KTtcbiAgICBib3JkZXItYm90dG9tOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1saWdodCk7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG4uY29tcGV0aXRpb25zLW92ZXJ2aWV3LXRhYmxlIHRib2R5IHRyOmxhc3QtY2hpbGQgdGQge1xuICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG59XG5cbi5jb21wZXRpdGlvbnMtb3ZlcnZpZXctdGFibGUgdGJvZHkgdHIgdGQuY29sLWNvbXBldGl0aW9uIGEuY29tcGV0aXRpb25zLXRhYmxlX19uYW1lLWxpbmsge1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1zZW1pYm9sZCk7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtc20pO1xufVxuXG4uY29tcGV0aXRpb25zLXRhYmxlX19sZXZlbCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLTN4cykgdmFyKC0tc3BhY2UteHMpO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXhzKTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtc2VtaWJvbGQpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJnLWhvdmVyKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xuICAgIGJvcmRlcjogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItc3VidGxlKTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLXhzKTtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4uY29tcGV0aXRpb25zLXRhYmxlX19zdGFnZXMtbGFiZWwsXG4uY29tcGV0aXRpb25zLXRhYmxlX19kYXRlLWxhYmVsIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG4uY29tcGV0aXRpb25zLXRhYmxlX19zdGFnZXMtY291bnQge1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1zZW1pYm9sZCk7XG59XG5cbi5jb21wZXRpdGlvbnMtdGFibGVfX3dpbm5lciB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IHZhcigtLXNwYWNlLXhzKTtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4uY29tcGV0aXRpb25zLXRhYmxlX193aW5uZXIgLmdvbGQtdHJvcGh5IHtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14cyk7XG4gICAgZmxleC1zaHJpbms6IDA7XG59XG5cbi8qIENhcmVlciBXb3JsZCBSYW5raW5nIFRhYmxlICovXG4uY2FyZWVyLXJhbmtpbmctd3JhcHBlci5zdGlja3ktdGFibGUge1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIG1pbi13aWR0aDogMDtcbiAgICBvdmVyc2Nyb2xsLWJlaGF2aW9yLXg6IGNvbnRhaW47XG4gICAgc2Nyb2xsYmFyLXdpZHRoOiB0aGluO1xuICAgIHNjcm9sbGJhci1jb2xvcjogdmFyKC0tY29sb3ItYm9yZGVyLXN0YW5kYXJkKSB0cmFuc3BhcmVudDtcbiAgICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tc3BhY2UtMnhzKTtcbn1cblxuLmNhcmVlci1yYW5raW5nLXdyYXBwZXI6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcbiAgICBoZWlnaHQ6IDZweDtcbn1cblxuLmNhcmVlci1yYW5raW5nLXdyYXBwZXI6Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNrIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbn1cblxuLmNhcmVlci1yYW5raW5nLXdyYXBwZXI6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1ib3JkZXItc3RhbmRhcmQpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMteHMpO1xufVxuXG4uY2FyZWVyLXJhbmtpbmctd3JhcHBlcjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWI6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbn1cblxuLmNhcmVlci1yYW5raW5nLXRhYmxlIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBib3JkZXItY29sbGFwc2U6IHNlcGFyYXRlO1xuICAgIGJvcmRlci1zcGFjaW5nOiAwO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLXN1cmZhY2UpO1xuICAgIGJvcmRlcjogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItbGlnaHQpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLmNhcmVlci1yYW5raW5nLXRhYmxlIHRoZWFkIHRyIHRoIHtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS1zbSkgdmFyKC0tc3BhY2UtbWQpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXdoaXRlKTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy1kYXJrKTtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgYm9yZGVyLWJvdHRvbTogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItbGlnaHQpO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14cyk7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4wNGVtO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cbi5jYXJlZXItcmFua2luZy10YWJsZSB0aGVhZCB0ciB0aC5jb2wtcmFuayB7XG4gICAgd2lkdGg6IDYwcHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uY2FyZWVyLXJhbmtpbmctdGFibGUgdGhlYWQgdHIgdGguY29sLXVzZXIge1xuICAgIHdpZHRoOiBhdXRvO1xufVxuXG4uY2FyZWVyLXJhbmtpbmctdGFibGUgdGhlYWQgdHIgdGguY29sLXRlYW0ge1xuICAgIHdpZHRoOiBhdXRvO1xufVxuXG4uY2FyZWVyLXJhbmtpbmctdGFibGUgdGhlYWQgdHIgdGguY29sLXBvaW50cyxcbi5jYXJlZXItcmFua2luZy10YWJsZSB0aGVhZCB0ciB0aC5jb2wtZ2xwLFxuLmNhcmVlci1yYW5raW5nLXRhYmxlIHRoZWFkIHRyIHRoLmNvbC1od3Age1xuICAgIHdpZHRoOiAxMTBweDtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbn1cblxuLmNhcmVlci1yYW5raW5nLXRhYmxlIHRib2R5IHRyIHtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCk7XG59XG5cbi5jYXJlZXItcmFua2luZy10YWJsZSB0Ym9keSB0cjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmctaG92ZXIpO1xufVxuXG4uY2FyZWVyLXJhbmtpbmctdGFibGUgdGJvZHkgdHIgdGQge1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLXhzKSB2YXIoLS1zcGFjZS1tZCk7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1wcmltYXJ5KTtcbiAgICBib3JkZXItYm90dG9tOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1saWdodCk7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG4uY2FyZWVyLXJhbmtpbmctdGFibGUgdGJvZHkgdHI6bGFzdC1jaGlsZCB0ZCB7XG4gICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbn1cblxuLmNhcmVlci1yYW5raW5nLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1yYW5rIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteHMpO1xuICAgIGJvcmRlci1sZWZ0OiB2YXIoLS1ib3JkZXItd2lkdGgteGwpIHNvbGlkIHZhcigtLWNvbG9yLXBvcy1vdGhlcik7XG59XG5cbi5jYXJlZXItcmFua2luZy10YWJsZSB0Ym9keSB0ci50YWJsZS1maXJzdC1wb3MgdGQuY29sLXJhbmsge1xuICAgIGJvcmRlci1sZWZ0LWNvbG9yOiB2YXIoLS1jb2xvci1wb3MtZmlyc3QpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1wb3MtZmlyc3QpO1xufVxuXG4uY2FyZWVyLXJhbmtpbmctdGFibGUgdGJvZHkgdHIudGFibGUtc2Vjb25kLXBvcyB0ZC5jb2wtcmFuayB7XG4gICAgYm9yZGVyLWxlZnQtY29sb3I6IHZhcigtLWNvbG9yLXBvcy1zZWNvbmQpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1wb3Mtc2Vjb25kKTtcbn1cblxuLmNhcmVlci1yYW5raW5nLXRhYmxlIHRib2R5IHRyLnRhYmxlLXRoaXJkLXBvcyB0ZC5jb2wtcmFuayB7XG4gICAgYm9yZGVyLWxlZnQtY29sb3I6IHZhcigtLWNvbG9yLXBvcy10aGlyZCk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXBvcy10aGlyZCk7XG59XG5cbi5jYXJlZXItcmFua2luZy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtcG9pbnRzLFxuLmNhcmVlci1yYW5raW5nLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1nbHAsXG4uY2FyZWVyLXJhbmtpbmctdGFibGUgdGJvZHkgdHIgdGQuY29sLWh3cCB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgZm9udC12YXJpYW50LW51bWVyaWM6IHRhYnVsYXItbnVtcztcbn1cblxuLmNhcmVlci1yYW5raW5nLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1wb2ludHMge1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1oZWFkaW5nKTtcbn1cblxuLmNhcmVlci1yYW5raW5nLWNhcmRfX3BvaW50cy1sYWJlbCB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuLyogVGVhbSBDYXJlZXIgV29ybGQgUmFua2luZyBUYWJsZSAqL1xuLnRlYW0tY2FyZWVyLXJhbmtpbmctd3JhcHBlci5zdGlja3ktdGFibGUge1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIG1pbi13aWR0aDogMDtcbiAgICBvdmVyc2Nyb2xsLWJlaGF2aW9yLXg6IGNvbnRhaW47XG4gICAgc2Nyb2xsYmFyLXdpZHRoOiB0aGluO1xuICAgIHNjcm9sbGJhci1jb2xvcjogdmFyKC0tY29sb3ItYm9yZGVyLXN0YW5kYXJkKSB0cmFuc3BhcmVudDtcbiAgICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tc3BhY2UtMnhzKTtcbn1cblxuLnRlYW0tY2FyZWVyLXJhbmtpbmctd3JhcHBlcjo6LXdlYmtpdC1zY3JvbGxiYXIge1xuICAgIGhlaWdodDogNnB4O1xufVxuXG4udGVhbS1jYXJlZXItcmFua2luZy13cmFwcGVyOjotd2Via2l0LXNjcm9sbGJhci10cmFjayB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG59XG5cbi50ZWFtLWNhcmVlci1yYW5raW5nLXdyYXBwZXI6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1ib3JkZXItc3RhbmRhcmQpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMteHMpO1xufVxuXG4udGVhbS1jYXJlZXItcmFua2luZy13cmFwcGVyOjotd2Via2l0LXNjcm9sbGJhci10aHVtYjpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xufVxuXG4udGVhbS1jYXJlZXItcmFua2luZy10YWJsZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYm9yZGVyLWNvbGxhcHNlOiBzZXBhcmF0ZTtcbiAgICBib3JkZXItc3BhY2luZzogMDtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy1zdXJmYWNlKTtcbiAgICBib3JkZXI6IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLWxpZ2h0KTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi50ZWFtLWNhcmVlci1yYW5raW5nLXRhYmxlIHRoZWFkIHRyIHRoIHtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS1zbSkgdmFyKC0tc3BhY2UtbWQpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXdoaXRlKTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy1kYXJrKTtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgYm9yZGVyLWJvdHRvbTogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItbGlnaHQpO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14cyk7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4wNGVtO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cbi50ZWFtLWNhcmVlci1yYW5raW5nLXRhYmxlIHRoZWFkIHRyIHRoLmNvbC1yYW5rIHtcbiAgICB3aWR0aDogNjBweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi50ZWFtLWNhcmVlci1yYW5raW5nLXRhYmxlIHRoZWFkIHRyIHRoLmNvbC10ZWFtIHtcbiAgICB3aWR0aDogYXV0bztcbn1cblxuLnRlYW0tY2FyZWVyLXJhbmtpbmctdGFibGUgdGhlYWQgdHIgdGguY29sLXBvaW50cyxcbi50ZWFtLWNhcmVlci1yYW5raW5nLXRhYmxlIHRoZWFkIHRyIHRoLmNvbC1nbHAsXG4udGVhbS1jYXJlZXItcmFua2luZy10YWJsZSB0aGVhZCB0ciB0aC5jb2wtaHdwLFxuLnRlYW0tY2FyZWVyLXJhbmtpbmctdGFibGUgdGhlYWQgdHIgdGguY29sLWdsdHBwLFxuLnRlYW0tY2FyZWVyLXJhbmtpbmctdGFibGUgdGhlYWQgdHIgdGguY29sLWh3dHBwLFxuLnRlYW0tY2FyZWVyLXJhbmtpbmctdGFibGUgdGhlYWQgdHIgdGguY29sLWNwLFxuLnRlYW0tY2FyZWVyLXJhbmtpbmctdGFibGUgdGhlYWQgdHIgdGguY29sLW1lbWJlcnMge1xuICAgIHdpZHRoOiA5MHB4O1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuXG4udGVhbS1jYXJlZXItcmFua2luZy10YWJsZSB0Ym9keSB0ciB7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpO1xufVxuXG4udGVhbS1jYXJlZXItcmFua2luZy10YWJsZSB0Ym9keSB0cjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmctaG92ZXIpO1xufVxuXG4udGVhbS1jYXJlZXItcmFua2luZy10YWJsZSB0Ym9keSB0ciB0ZCB7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2UteHMpIHZhcigtLXNwYWNlLW1kKTtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXByaW1hcnkpO1xuICAgIGJvcmRlci1ib3R0b206IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLWxpZ2h0KTtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cbi50ZWFtLWNhcmVlci1yYW5raW5nLXRhYmxlIHRib2R5IHRyOmxhc3QtY2hpbGQgdGQge1xuICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG59XG5cbi50ZWFtLWNhcmVlci1yYW5raW5nLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1yYW5rIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteHMpO1xuICAgIGJvcmRlci1sZWZ0OiB2YXIoLS1ib3JkZXItd2lkdGgteGwpIHNvbGlkIHZhcigtLWNvbG9yLXBvcy1vdGhlcik7XG59XG5cbi50ZWFtLWNhcmVlci1yYW5raW5nLXRhYmxlIHRib2R5IHRyLnRhYmxlLWZpcnN0LXBvcyB0ZC5jb2wtcmFuayB7XG4gICAgYm9yZGVyLWxlZnQtY29sb3I6IHZhcigtLWNvbG9yLXBvcy1maXJzdCk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXBvcy1maXJzdCk7XG59XG5cbi50ZWFtLWNhcmVlci1yYW5raW5nLXRhYmxlIHRib2R5IHRyLnRhYmxlLXNlY29uZC1wb3MgdGQuY29sLXJhbmsge1xuICAgIGJvcmRlci1sZWZ0LWNvbG9yOiB2YXIoLS1jb2xvci1wb3Mtc2Vjb25kKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItcG9zLXNlY29uZCk7XG59XG5cbi50ZWFtLWNhcmVlci1yYW5raW5nLXRhYmxlIHRib2R5IHRyLnRhYmxlLXRoaXJkLXBvcyB0ZC5jb2wtcmFuayB7XG4gICAgYm9yZGVyLWxlZnQtY29sb3I6IHZhcigtLWNvbG9yLXBvcy10aGlyZCk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXBvcy10aGlyZCk7XG59XG5cbi50ZWFtLWNhcmVlci1yYW5raW5nLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1wb2ludHMsXG4udGVhbS1jYXJlZXItcmFua2luZy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtZ2xwLFxuLnRlYW0tY2FyZWVyLXJhbmtpbmctdGFibGUgdGJvZHkgdHIgdGQuY29sLWh3cCxcbi50ZWFtLWNhcmVlci1yYW5raW5nLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1nbHRwcCxcbi50ZWFtLWNhcmVlci1yYW5raW5nLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1od3RwcCxcbi50ZWFtLWNhcmVlci1yYW5raW5nLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1jcCxcbi50ZWFtLWNhcmVlci1yYW5raW5nLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1tZW1iZXJzIHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICBmb250LXZhcmlhbnQtbnVtZXJpYzogdGFidWxhci1udW1zO1xufVxuXG4udGVhbS1jYXJlZXItcmFua2luZy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtcG9pbnRzIHtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtaGVhZGluZyk7XG59XG5cbi50ZWFtLXJhbmtpbmctY2FyZF9fcG9pbnRzLWxhYmVsLFxuLnRlYW0tcmFua2luZy1jYXJkX19tZW1iZXJzLWxhYmVsIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG4vKiBTZWFzb24gTGVhZ3VlIFJhbmtpbmcgVGFibGUgKi9cbi5zZWFzb24tcmFua2luZy13cmFwcGVyLnN0aWNreS10YWJsZSB7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgbWluLXdpZHRoOiAwO1xuICAgIG92ZXJzY3JvbGwtYmVoYXZpb3IteDogY29udGFpbjtcbiAgICBzY3JvbGxiYXItd2lkdGg6IHRoaW47XG4gICAgc2Nyb2xsYmFyLWNvbG9yOiB2YXIoLS1jb2xvci1ib3JkZXItc3RhbmRhcmQpIHRyYW5zcGFyZW50O1xuICAgIHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjZS0yeHMpO1xufVxuXG4uc2Vhc29uLXJhbmtpbmctd3JhcHBlcjo6LXdlYmtpdC1zY3JvbGxiYXIge1xuICAgIGhlaWdodDogNnB4O1xufVxuXG4uc2Vhc29uLXJhbmtpbmctd3JhcHBlcjo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2sge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xufVxuXG4uc2Vhc29uLXJhbmtpbmctd3JhcHBlcjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJvcmRlci1zdGFuZGFyZCk7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy14cyk7XG59XG5cbi5zZWFzb24tcmFua2luZy13cmFwcGVyOjotd2Via2l0LXNjcm9sbGJhci10aHVtYjpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xufVxuXG4uc2Vhc29uLXJhbmtpbmctdGFibGUge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJvcmRlci1jb2xsYXBzZTogc2VwYXJhdGU7XG4gICAgYm9yZGVyLXNwYWNpbmc6IDA7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctc3VyZmFjZSk7XG4gICAgYm9yZGVyOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1saWdodCk7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cyk7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4uc2Vhc29uLXJhbmtpbmctdGFibGUgdGhlYWQgdHIgdGgge1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLXNtKSB2YXIoLS1zcGFjZS1tZCk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtd2hpdGUpO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLWRhcmspO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBib3JkZXItYm90dG9tOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1saWdodCk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXhzKTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjA0ZW07XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuLnNlYXNvbi1yYW5raW5nLXRhYmxlIHRoZWFkIHRyIHRoLmNvbC1yYW5rIHtcbiAgICB3aWR0aDogNjBweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5zZWFzb24tcmFua2luZy10YWJsZSB0aGVhZCB0ciB0aC5jb2wtdXNlciB7XG4gICAgd2lkdGg6IGF1dG87XG59XG5cbi5zZWFzb24tcmFua2luZy10YWJsZSB0aGVhZCB0ciB0aC5jb2wtdGVhbSB7XG4gICAgd2lkdGg6IGF1dG87XG59XG5cbi5zZWFzb24tcmFua2luZy10YWJsZSB0aGVhZCB0ciB0aC5jb2wtcG9pbnRzLFxuLnNlYXNvbi1yYW5raW5nLXRhYmxlIHRoZWFkIHRyIHRoLmNvbC1nbHAsXG4uc2Vhc29uLXJhbmtpbmctdGFibGUgdGhlYWQgdHIgdGguY29sLWh3cCxcbi5zZWFzb24tcmFua2luZy10YWJsZSB0aGVhZCB0ciB0aC5jb2wtY3Age1xuICAgIHdpZHRoOiAxMTBweDtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbn1cblxuLnNlYXNvbi1yYW5raW5nLXRhYmxlIHRib2R5IHRyIHtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCk7XG59XG5cbi5zZWFzb24tcmFua2luZy10YWJsZSB0Ym9keSB0cjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmctaG92ZXIpO1xufVxuXG4uc2Vhc29uLXJhbmtpbmctdGFibGUgdGJvZHkgdHIgdGQge1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLXhzKSB2YXIoLS1zcGFjZS1tZCk7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1wcmltYXJ5KTtcbiAgICBib3JkZXItYm90dG9tOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1saWdodCk7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG4uc2Vhc29uLXJhbmtpbmctdGFibGUgdGJvZHkgdHI6bGFzdC1jaGlsZCB0ZCB7XG4gICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbn1cblxuLnNlYXNvbi1yYW5raW5nLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1yYW5rIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteHMpO1xuICAgIGJvcmRlci1sZWZ0OiB2YXIoLS1ib3JkZXItd2lkdGgteGwpIHNvbGlkIHZhcigtLWNvbG9yLXBvcy1vdGhlcik7XG59XG5cbi5zZWFzb24tcmFua2luZy10YWJsZSB0Ym9keSB0ci50YWJsZS1maXJzdC1wb3MgdGQuY29sLXJhbmsge1xuICAgIGJvcmRlci1sZWZ0LWNvbG9yOiB2YXIoLS1jb2xvci1wb3MtZmlyc3QpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1wb3MtZmlyc3QpO1xufVxuXG4uc2Vhc29uLXJhbmtpbmctdGFibGUgdGJvZHkgdHIudGFibGUtc2Vjb25kLXBvcyB0ZC5jb2wtcmFuayB7XG4gICAgYm9yZGVyLWxlZnQtY29sb3I6IHZhcigtLWNvbG9yLXBvcy1zZWNvbmQpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1wb3Mtc2Vjb25kKTtcbn1cblxuLnNlYXNvbi1yYW5raW5nLXRhYmxlIHRib2R5IHRyLnRhYmxlLXRoaXJkLXBvcyB0ZC5jb2wtcmFuayB7XG4gICAgYm9yZGVyLWxlZnQtY29sb3I6IHZhcigtLWNvbG9yLXBvcy10aGlyZCk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXBvcy10aGlyZCk7XG59XG5cbi5zZWFzb24tcmFua2luZy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtcG9pbnRzLFxuLnNlYXNvbi1yYW5raW5nLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1nbHAsXG4uc2Vhc29uLXJhbmtpbmctdGFibGUgdGJvZHkgdHIgdGQuY29sLWh3cCxcbi5zZWFzb24tcmFua2luZy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtY3Age1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIGZvbnQtdmFyaWFudC1udW1lcmljOiB0YWJ1bGFyLW51bXM7XG59XG5cbi5zZWFzb24tcmFua2luZy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtcG9pbnRzIHtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtaGVhZGluZyk7XG59XG5cbi5zZWFzb24tcmFua2luZy1jYXJkX19wb2ludHMtbGFiZWwge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qIFRlYW0gU2Vhc29uIExlYWd1ZSBSYW5raW5nIFRhYmxlICovXG4udGVhbS1zZWFzb24tcmFua2luZy13cmFwcGVyLnN0aWNreS10YWJsZSB7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgbWluLXdpZHRoOiAwO1xuICAgIG92ZXJzY3JvbGwtYmVoYXZpb3IteDogY29udGFpbjtcbiAgICBzY3JvbGxiYXItd2lkdGg6IHRoaW47XG4gICAgc2Nyb2xsYmFyLWNvbG9yOiB2YXIoLS1jb2xvci1ib3JkZXItc3RhbmRhcmQpIHRyYW5zcGFyZW50O1xuICAgIHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjZS0yeHMpO1xufVxuXG4udGVhbS1zZWFzb24tcmFua2luZy13cmFwcGVyOjotd2Via2l0LXNjcm9sbGJhciB7XG4gICAgaGVpZ2h0OiA2cHg7XG59XG5cbi50ZWFtLXNlYXNvbi1yYW5raW5nLXdyYXBwZXI6Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNrIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbn1cblxuLnRlYW0tc2Vhc29uLXJhbmtpbmctd3JhcHBlcjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJvcmRlci1zdGFuZGFyZCk7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy14cyk7XG59XG5cbi50ZWFtLXNlYXNvbi1yYW5raW5nLXdyYXBwZXI6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG59XG5cbi50ZWFtLXNlYXNvbi1yYW5raW5nLXRhYmxlIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBib3JkZXItY29sbGFwc2U6IHNlcGFyYXRlO1xuICAgIGJvcmRlci1zcGFjaW5nOiAwO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLXN1cmZhY2UpO1xuICAgIGJvcmRlcjogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItbGlnaHQpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLnRlYW0tc2Vhc29uLXJhbmtpbmctdGFibGUgdGhlYWQgdHIgdGgge1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLXNtKSB2YXIoLS1zcGFjZS1tZCk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtd2hpdGUpO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLWRhcmspO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBib3JkZXItYm90dG9tOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1saWdodCk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXhzKTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjA0ZW07XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuLnRlYW0tc2Vhc29uLXJhbmtpbmctdGFibGUgdGhlYWQgdHIgdGguY29sLXJhbmsge1xuICAgIHdpZHRoOiA2MHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLnRlYW0tc2Vhc29uLXJhbmtpbmctdGFibGUgdGhlYWQgdHIgdGguY29sLXRlYW0ge1xuICAgIHdpZHRoOiBhdXRvO1xufVxuXG4udGVhbS1zZWFzb24tcmFua2luZy10YWJsZSB0aGVhZCB0ciB0aC5jb2wtcG9pbnRzLFxuLnRlYW0tc2Vhc29uLXJhbmtpbmctdGFibGUgdGhlYWQgdHIgdGguY29sLWdscCxcbi50ZWFtLXNlYXNvbi1yYW5raW5nLXRhYmxlIHRoZWFkIHRyIHRoLmNvbC1od3AsXG4udGVhbS1zZWFzb24tcmFua2luZy10YWJsZSB0aGVhZCB0ciB0aC5jb2wtZ2x0cHAsXG4udGVhbS1zZWFzb24tcmFua2luZy10YWJsZSB0aGVhZCB0ciB0aC5jb2wtaHd0cHAsXG4udGVhbS1zZWFzb24tcmFua2luZy10YWJsZSB0aGVhZCB0ciB0aC5jb2wtY3AsXG4udGVhbS1zZWFzb24tcmFua2luZy10YWJsZSB0aGVhZCB0ciB0aC5jb2wtbWVtYmVycyB7XG4gICAgd2lkdGg6IDkwcHg7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG59XG5cbi50ZWFtLXNlYXNvbi1yYW5raW5nLXRhYmxlIHRib2R5IHRyIHtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCk7XG59XG5cbi50ZWFtLXNlYXNvbi1yYW5raW5nLXRhYmxlIHRib2R5IHRyOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iZy1ob3Zlcik7XG59XG5cbi50ZWFtLXNlYXNvbi1yYW5raW5nLXRhYmxlIHRib2R5IHRyIHRkIHtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS14cykgdmFyKC0tc3BhY2UtbWQpO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtcHJpbWFyeSk7XG4gICAgYm9yZGVyLWJvdHRvbTogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItbGlnaHQpO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuLnRlYW0tc2Vhc29uLXJhbmtpbmctdGFibGUgdGJvZHkgdHI6bGFzdC1jaGlsZCB0ZCB7XG4gICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbn1cblxuLnRlYW0tc2Vhc29uLXJhbmtpbmctdGFibGUgdGJvZHkgdHIgdGQuY29sLXJhbmsge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14cyk7XG4gICAgYm9yZGVyLWxlZnQ6IHZhcigtLWJvcmRlci13aWR0aC14bCkgc29saWQgdmFyKC0tY29sb3ItcG9zLW90aGVyKTtcbn1cblxuLnRlYW0tc2Vhc29uLXJhbmtpbmctdGFibGUgdGJvZHkgdHIudGFibGUtZmlyc3QtcG9zIHRkLmNvbC1yYW5rIHtcbiAgICBib3JkZXItbGVmdC1jb2xvcjogdmFyKC0tY29sb3ItcG9zLWZpcnN0KTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItcG9zLWZpcnN0KTtcbn1cblxuLnRlYW0tc2Vhc29uLXJhbmtpbmctdGFibGUgdGJvZHkgdHIudGFibGUtc2Vjb25kLXBvcyB0ZC5jb2wtcmFuayB7XG4gICAgYm9yZGVyLWxlZnQtY29sb3I6IHZhcigtLWNvbG9yLXBvcy1zZWNvbmQpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1wb3Mtc2Vjb25kKTtcbn1cblxuLnRlYW0tc2Vhc29uLXJhbmtpbmctdGFibGUgdGJvZHkgdHIudGFibGUtdGhpcmQtcG9zIHRkLmNvbC1yYW5rIHtcbiAgICBib3JkZXItbGVmdC1jb2xvcjogdmFyKC0tY29sb3ItcG9zLXRoaXJkKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItcG9zLXRoaXJkKTtcbn1cblxuLnRlYW0tc2Vhc29uLXJhbmtpbmctdGFibGUgdGJvZHkgdHIgdGQuY29sLXBvaW50cyxcbi50ZWFtLXNlYXNvbi1yYW5raW5nLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1nbHAsXG4udGVhbS1zZWFzb24tcmFua2luZy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtaHdwLFxuLnRlYW0tc2Vhc29uLXJhbmtpbmctdGFibGUgdGJvZHkgdHIgdGQuY29sLWdsdHBwLFxuLnRlYW0tc2Vhc29uLXJhbmtpbmctdGFibGUgdGJvZHkgdHIgdGQuY29sLWh3dHBwLFxuLnRlYW0tc2Vhc29uLXJhbmtpbmctdGFibGUgdGJvZHkgdHIgdGQuY29sLWNwLFxuLnRlYW0tc2Vhc29uLXJhbmtpbmctdGFibGUgdGJvZHkgdHIgdGQuY29sLW1lbWJlcnMge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIGZvbnQtdmFyaWFudC1udW1lcmljOiB0YWJ1bGFyLW51bXM7XG59XG5cbi50ZWFtLXNlYXNvbi1yYW5raW5nLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1wb2ludHMge1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1oZWFkaW5nKTtcbn1cblxuLnRlYW0tc2Vhc29uLXJhbmtpbmctY2FyZF9fcG9pbnRzLWxhYmVsLFxuLnRlYW0tc2Vhc29uLXJhbmtpbmctY2FyZF9fbWVtYmVycy1sYWJlbCB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuLyogQ291bnRyeSBMZWFndWUgUmFua2luZyBUYWJsZSAqL1xuLmNvdW50cnktbGVhZ3VlLXJhbmtpbmctd3JhcHBlci5zdGlja3ktdGFibGUge1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIG1pbi13aWR0aDogMDtcbiAgICBvdmVyc2Nyb2xsLWJlaGF2aW9yLXg6IGNvbnRhaW47XG4gICAgc2Nyb2xsYmFyLXdpZHRoOiB0aGluO1xuICAgIHNjcm9sbGJhci1jb2xvcjogdmFyKC0tY29sb3ItYm9yZGVyLXN0YW5kYXJkKSB0cmFuc3BhcmVudDtcbiAgICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tc3BhY2UtMnhzKTtcbn1cblxuLmNvdW50cnktbGVhZ3VlLXJhbmtpbmctd3JhcHBlcjo6LXdlYmtpdC1zY3JvbGxiYXIge1xuICAgIGhlaWdodDogNnB4O1xufVxuXG4uY291bnRyeS1sZWFndWUtcmFua2luZy13cmFwcGVyOjotd2Via2l0LXNjcm9sbGJhci10cmFjayB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG59XG5cbi5jb3VudHJ5LWxlYWd1ZS1yYW5raW5nLXdyYXBwZXI6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1ib3JkZXItc3RhbmRhcmQpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMteHMpO1xufVxuXG4uY291bnRyeS1sZWFndWUtcmFua2luZy13cmFwcGVyOjotd2Via2l0LXNjcm9sbGJhci10aHVtYjpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xufVxuXG4uY291bnRyeS1sZWFndWUtcmFua2luZy10YWJsZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYm9yZGVyLWNvbGxhcHNlOiBzZXBhcmF0ZTtcbiAgICBib3JkZXItc3BhY2luZzogMDtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy1zdXJmYWNlKTtcbiAgICBib3JkZXI6IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLWxpZ2h0KTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi5jb3VudHJ5LWxlYWd1ZS1yYW5raW5nLXRhYmxlIHRoZWFkIHRyIHRoIHtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS1zbSkgdmFyKC0tc3BhY2UtbWQpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXdoaXRlKTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy1kYXJrKTtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgYm9yZGVyLWJvdHRvbTogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItbGlnaHQpO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14cyk7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4wNGVtO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cbi5jb3VudHJ5LWxlYWd1ZS1yYW5raW5nLXRhYmxlIHRoZWFkIHRyIHRoLmNvbC1yYW5rIHtcbiAgICB3aWR0aDogNjBweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5jb3VudHJ5LWxlYWd1ZS1yYW5raW5nLXRhYmxlIHRoZWFkIHRyIHRoLmNvbC1jb3VudHJ5IHtcbiAgICB3aWR0aDogYXV0bztcbn1cblxuLmNvdW50cnktbGVhZ3VlLXJhbmtpbmctdGFibGUgdGhlYWQgdHIgdGguY29sLXBvaW50cyxcbi5jb3VudHJ5LWxlYWd1ZS1yYW5raW5nLXRhYmxlIHRoZWFkIHRyIHRoLmNvbC1nbHAsXG4uY291bnRyeS1sZWFndWUtcmFua2luZy10YWJsZSB0aGVhZCB0ciB0aC5jb2wtaHdwLFxuLmNvdW50cnktbGVhZ3VlLXJhbmtpbmctdGFibGUgdGhlYWQgdHIgdGguY29sLWNwLFxuLmNvdW50cnktbGVhZ3VlLXJhbmtpbmctdGFibGUgdGhlYWQgdHIgdGguY29sLW1lbWJlcnMge1xuICAgIHdpZHRoOiA5MHB4O1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuXG4uY291bnRyeS1sZWFndWUtcmFua2luZy10YWJsZSB0Ym9keSB0ciB7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpO1xufVxuXG4uY291bnRyeS1sZWFndWUtcmFua2luZy10YWJsZSB0Ym9keSB0cjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmctaG92ZXIpO1xufVxuXG4uY291bnRyeS1sZWFndWUtcmFua2luZy10YWJsZSB0Ym9keSB0ciB0ZCB7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2UteHMpIHZhcigtLXNwYWNlLW1kKTtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXByaW1hcnkpO1xuICAgIGJvcmRlci1ib3R0b206IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLWxpZ2h0KTtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cbi5jb3VudHJ5LWxlYWd1ZS1yYW5raW5nLXRhYmxlIHRib2R5IHRyOmxhc3QtY2hpbGQgdGQge1xuICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG59XG5cbi5jb3VudHJ5LWxlYWd1ZS1yYW5raW5nLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1yYW5rIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteHMpO1xuICAgIGJvcmRlci1sZWZ0OiB2YXIoLS1ib3JkZXItd2lkdGgteGwpIHNvbGlkIHZhcigtLWNvbG9yLXBvcy1vdGhlcik7XG59XG5cbi5jb3VudHJ5LWxlYWd1ZS1yYW5raW5nLXRhYmxlIHRib2R5IHRyLnRhYmxlLWZpcnN0LXBvcyB0ZC5jb2wtcmFuayB7XG4gICAgYm9yZGVyLWxlZnQtY29sb3I6IHZhcigtLWNvbG9yLXBvcy1maXJzdCk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXBvcy1maXJzdCk7XG59XG5cbi5jb3VudHJ5LWxlYWd1ZS1yYW5raW5nLXRhYmxlIHRib2R5IHRyLnRhYmxlLXNlY29uZC1wb3MgdGQuY29sLXJhbmsge1xuICAgIGJvcmRlci1sZWZ0LWNvbG9yOiB2YXIoLS1jb2xvci1wb3Mtc2Vjb25kKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItcG9zLXNlY29uZCk7XG59XG5cbi5jb3VudHJ5LWxlYWd1ZS1yYW5raW5nLXRhYmxlIHRib2R5IHRyLnRhYmxlLXRoaXJkLXBvcyB0ZC5jb2wtcmFuayB7XG4gICAgYm9yZGVyLWxlZnQtY29sb3I6IHZhcigtLWNvbG9yLXBvcy10aGlyZCk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXBvcy10aGlyZCk7XG59XG5cbi5jb3VudHJ5LWxlYWd1ZS1yYW5raW5nLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1wb2ludHMsXG4uY291bnRyeS1sZWFndWUtcmFua2luZy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtZ2xwLFxuLmNvdW50cnktbGVhZ3VlLXJhbmtpbmctdGFibGUgdGJvZHkgdHIgdGQuY29sLWh3cCxcbi5jb3VudHJ5LWxlYWd1ZS1yYW5raW5nLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1jcCxcbi5jb3VudHJ5LWxlYWd1ZS1yYW5raW5nLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1tZW1iZXJzIHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICBmb250LXZhcmlhbnQtbnVtZXJpYzogdGFidWxhci1udW1zO1xufVxuXG4uY291bnRyeS1sZWFndWUtcmFua2luZy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtcG9pbnRzIHtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtaGVhZGluZyk7XG59XG5cbi5jb3VudHJ5LWxlYWd1ZS1yYW5raW5nLWNhcmRfX3BvaW50cy1sYWJlbCxcbi5jb3VudHJ5LWxlYWd1ZS1yYW5raW5nLWNhcmRfX21lbWJlcnMtbGFiZWwge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qIEdsb2JhbCBNYXN0ZXJzIExlYWd1ZSBSYW5raW5nIFRhYmxlICovXG4uZ2xvYmFsLW1hc3RlcnMtd3JhcHBlci5zdGlja3ktdGFibGUge1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIG1pbi13aWR0aDogMDtcbiAgICBvdmVyc2Nyb2xsLWJlaGF2aW9yLXg6IGNvbnRhaW47XG4gICAgc2Nyb2xsYmFyLXdpZHRoOiB0aGluO1xuICAgIHNjcm9sbGJhci1jb2xvcjogdmFyKC0tY29sb3ItYm9yZGVyLXN0YW5kYXJkKSB0cmFuc3BhcmVudDtcbiAgICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tc3BhY2UtMnhzKTtcbn1cblxuLmdsb2JhbC1tYXN0ZXJzLXdyYXBwZXI6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcbiAgICBoZWlnaHQ6IDZweDtcbn1cblxuLmdsb2JhbC1tYXN0ZXJzLXdyYXBwZXI6Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNrIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbn1cblxuLmdsb2JhbC1tYXN0ZXJzLXdyYXBwZXI6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1ib3JkZXItc3RhbmRhcmQpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMteHMpO1xufVxuXG4uZ2xvYmFsLW1hc3RlcnMtd3JhcHBlcjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWI6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbn1cblxuLmdsb2JhbC1tYXN0ZXJzLXRhYmxlIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBib3JkZXItY29sbGFwc2U6IHNlcGFyYXRlO1xuICAgIGJvcmRlci1zcGFjaW5nOiAwO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLXN1cmZhY2UpO1xuICAgIGJvcmRlcjogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItbGlnaHQpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLmdsb2JhbC1tYXN0ZXJzLXRhYmxlIHRoZWFkIHRyIHRoIHtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS1zbSkgdmFyKC0tc3BhY2UtbWQpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXdoaXRlKTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy1kYXJrKTtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgYm9yZGVyLWJvdHRvbTogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItbGlnaHQpO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14cyk7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4wNGVtO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cbi5nbG9iYWwtbWFzdGVycy10YWJsZSB0aGVhZCB0ciB0aC5jb2wtcmFuayB7XG4gICAgd2lkdGg6IDYwcHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uZ2xvYmFsLW1hc3RlcnMtdGFibGUgdGhlYWQgdHIgdGguY29sLXVzZXIge1xuICAgIHdpZHRoOiBhdXRvO1xufVxuXG4uZ2xvYmFsLW1hc3RlcnMtdGFibGUgdGhlYWQgdHIgdGguY29sLXRlYW0ge1xuICAgIHdpZHRoOiBhdXRvO1xufVxuXG4uZ2xvYmFsLW1hc3RlcnMtdGFibGUgdGhlYWQgdHIgdGguY29sLXBvaW50cyxcbi5nbG9iYWwtbWFzdGVycy10YWJsZSB0aGVhZCB0ciB0aC5jb2wtd3JwLFxuLmdsb2JhbC1tYXN0ZXJzLXRhYmxlIHRoZWFkIHRyIHRoLmNvbC1nbHAge1xuICAgIHdpZHRoOiAxMTBweDtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbn1cblxuLmdsb2JhbC1tYXN0ZXJzLXRhYmxlIHRib2R5IHRyIHtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCk7XG59XG5cbi5nbG9iYWwtbWFzdGVycy10YWJsZSB0Ym9keSB0cjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmctaG92ZXIpO1xufVxuXG4uZ2xvYmFsLW1hc3RlcnMtdGFibGUgdGJvZHkgdHIgdGQge1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLXhzKSB2YXIoLS1zcGFjZS1tZCk7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1wcmltYXJ5KTtcbiAgICBib3JkZXItYm90dG9tOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1saWdodCk7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG4uZ2xvYmFsLW1hc3RlcnMtdGFibGUgdGJvZHkgdHI6bGFzdC1jaGlsZCB0ZCB7XG4gICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbn1cblxuLmdsb2JhbC1tYXN0ZXJzLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1yYW5rIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteHMpO1xufVxuXG4uZ2xvYmFsLW1hc3RlcnMtdGFibGUgdGJvZHkgdHIudGFibGUtZmlyc3QtcG9zIHRkLmNvbC1yYW5rIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItcG9zLWZpcnN0KTtcbn1cblxuLmdsb2JhbC1tYXN0ZXJzLXRhYmxlIHRib2R5IHRyLnRhYmxlLXNlY29uZC1wb3MgdGQuY29sLXJhbmsge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1wb3Mtc2Vjb25kKTtcbn1cblxuLmdsb2JhbC1tYXN0ZXJzLXRhYmxlIHRib2R5IHRyLnRhYmxlLXRoaXJkLXBvcyB0ZC5jb2wtcmFuayB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXBvcy10aGlyZCk7XG59XG5cbi5nbG9iYWwtbWFzdGVycy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtcG9pbnRzLFxuLmdsb2JhbC1tYXN0ZXJzLXRhYmxlIHRib2R5IHRyIHRkLmNvbC13cnAsXG4uZ2xvYmFsLW1hc3RlcnMtdGFibGUgdGJvZHkgdHIgdGQuY29sLWdscCB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgZm9udC12YXJpYW50LW51bWVyaWM6IHRhYnVsYXItbnVtcztcbn1cblxuLmdsb2JhbC1tYXN0ZXJzLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1wb2ludHMge1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1oZWFkaW5nKTtcbn1cblxuLmdsb2JhbC1tYXN0ZXJzLWNhcmRfX3BvaW50cy1sYWJlbCB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuLyogSGFyZHdhcmUgTWFzdGVycyBMZWFndWUgUmFua2luZyBUYWJsZSAqL1xuLmhhcmR3YXJlLW1hc3RlcnMtd3JhcHBlci5zdGlja3ktdGFibGUge1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIG1pbi13aWR0aDogMDtcbiAgICBvdmVyc2Nyb2xsLWJlaGF2aW9yLXg6IGNvbnRhaW47XG4gICAgc2Nyb2xsYmFyLXdpZHRoOiB0aGluO1xuICAgIHNjcm9sbGJhci1jb2xvcjogdmFyKC0tY29sb3ItYm9yZGVyLXN0YW5kYXJkKSB0cmFuc3BhcmVudDtcbiAgICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tc3BhY2UtMnhzKTtcbn1cblxuLmhhcmR3YXJlLW1hc3RlcnMtd3JhcHBlcjo6LXdlYmtpdC1zY3JvbGxiYXIge1xuICAgIGhlaWdodDogNnB4O1xufVxuXG4uaGFyZHdhcmUtbWFzdGVycy13cmFwcGVyOjotd2Via2l0LXNjcm9sbGJhci10cmFjayB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG59XG5cbi5oYXJkd2FyZS1tYXN0ZXJzLXdyYXBwZXI6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1ib3JkZXItc3RhbmRhcmQpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMteHMpO1xufVxuXG4uaGFyZHdhcmUtbWFzdGVycy13cmFwcGVyOjotd2Via2l0LXNjcm9sbGJhci10aHVtYjpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xufVxuXG4uaGFyZHdhcmUtbWFzdGVycy10YWJsZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYm9yZGVyLWNvbGxhcHNlOiBzZXBhcmF0ZTtcbiAgICBib3JkZXItc3BhY2luZzogMDtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy1zdXJmYWNlKTtcbiAgICBib3JkZXI6IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLWxpZ2h0KTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi5oYXJkd2FyZS1tYXN0ZXJzLXRhYmxlIHRoZWFkIHRyIHRoIHtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS1zbSkgdmFyKC0tc3BhY2UtbWQpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXdoaXRlKTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy1kYXJrKTtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgYm9yZGVyLWJvdHRvbTogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItbGlnaHQpO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14cyk7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4wNGVtO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cbi5oYXJkd2FyZS1tYXN0ZXJzLXRhYmxlIHRoZWFkIHRyIHRoLmNvbC1yYW5rIHtcbiAgICB3aWR0aDogNjBweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5oYXJkd2FyZS1tYXN0ZXJzLXRhYmxlIHRoZWFkIHRyIHRoLmNvbC11c2VyIHtcbiAgICB3aWR0aDogYXV0bztcbn1cblxuLmhhcmR3YXJlLW1hc3RlcnMtdGFibGUgdGhlYWQgdHIgdGguY29sLXRlYW0ge1xuICAgIHdpZHRoOiBhdXRvO1xufVxuXG4uaGFyZHdhcmUtbWFzdGVycy10YWJsZSB0aGVhZCB0ciB0aC5jb2wtcG9pbnRzLFxuLmhhcmR3YXJlLW1hc3RlcnMtdGFibGUgdGhlYWQgdHIgdGguY29sLTJkcCxcbi5oYXJkd2FyZS1tYXN0ZXJzLXRhYmxlIHRoZWFkIHRyIHRoLmNvbC0zZHAge1xuICAgIHdpZHRoOiAxMTBweDtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbn1cblxuLmhhcmR3YXJlLW1hc3RlcnMtdGFibGUgdGJvZHkgdHIge1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KTtcbn1cblxuLmhhcmR3YXJlLW1hc3RlcnMtdGFibGUgdGJvZHkgdHI6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJnLWhvdmVyKTtcbn1cblxuLmhhcmR3YXJlLW1hc3RlcnMtdGFibGUgdGJvZHkgdHIgdGQge1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLXhzKSB2YXIoLS1zcGFjZS1tZCk7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1wcmltYXJ5KTtcbiAgICBib3JkZXItYm90dG9tOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1saWdodCk7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG4uaGFyZHdhcmUtbWFzdGVycy10YWJsZSB0Ym9keSB0cjpsYXN0LWNoaWxkIHRkIHtcbiAgICBib3JkZXItYm90dG9tOiBub25lO1xufVxuXG4uaGFyZHdhcmUtbWFzdGVycy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtcmFuayB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXhzKTtcbn1cblxuLmhhcmR3YXJlLW1hc3RlcnMtdGFibGUgdGJvZHkgdHIudGFibGUtZmlyc3QtcG9zIHRkLmNvbC1yYW5rIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItcG9zLWZpcnN0KTtcbn1cblxuLmhhcmR3YXJlLW1hc3RlcnMtdGFibGUgdGJvZHkgdHIudGFibGUtc2Vjb25kLXBvcyB0ZC5jb2wtcmFuayB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXBvcy1zZWNvbmQpO1xufVxuXG4uaGFyZHdhcmUtbWFzdGVycy10YWJsZSB0Ym9keSB0ci50YWJsZS10aGlyZC1wb3MgdGQuY29sLXJhbmsge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1wb3MtdGhpcmQpO1xufVxuXG4uaGFyZHdhcmUtbWFzdGVycy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtcG9pbnRzLFxuLmhhcmR3YXJlLW1hc3RlcnMtdGFibGUgdGJvZHkgdHIgdGQuY29sLTJkcCxcbi5oYXJkd2FyZS1tYXN0ZXJzLXRhYmxlIHRib2R5IHRyIHRkLmNvbC0zZHAge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIGZvbnQtdmFyaWFudC1udW1lcmljOiB0YWJ1bGFyLW51bXM7XG59XG5cbi5oYXJkd2FyZS1tYXN0ZXJzLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1wb2ludHMge1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1oZWFkaW5nKTtcbn1cblxuLmhhcmR3YXJlLW1hc3RlcnMtY2FyZF9fcG9pbnRzLWxhYmVsIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG4uY29tcG8tc3RhZ2Utd3JhcHBlciB7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcbn1cblxuLmNvbXBvLXN0YWdlLXdyYXBwZXI6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcbiAgICBoZWlnaHQ6IDZweDtcbn1cblxuLmNvbXBvLXN0YWdlLXdyYXBwZXI6Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNrIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy1zdWJ0bGUpO1xufVxuXG4uY29tcG8tc3RhZ2Utd3JhcHBlcjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJvcmRlci1zdGFuZGFyZCk7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy14cyk7XG59XG5cbi5jb21wby1zdGFnZS13cmFwcGVyOjotd2Via2l0LXNjcm9sbGJhci10aHVtYjpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xufVxuXG4uY29tcG8tc3RhZ2UtdGFibGUge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJvcmRlci1jb2xsYXBzZTogc2VwYXJhdGU7XG4gICAgYm9yZGVyLXNwYWNpbmc6IDA7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctc3VyZmFjZSk7XG4gICAgYm9yZGVyOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1saWdodCk7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cyk7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4uY29tcG8tc3RhZ2UtdGFibGUgdGhlYWQgdHIgdGgge1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLXNtKSB2YXIoLS1zcGFjZS1tZCk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtd2hpdGUpO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLWRhcmspO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBib3JkZXItYm90dG9tOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1saWdodCk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXhzKTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjA0ZW07XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuLmNvbXBvLXN0YWdlLXRhYmxlIHRoZWFkIHRyIHRoLmNvbC1yYW5rIHtcbiAgICB3aWR0aDogNjBweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5jb21wby1zdGFnZS10YWJsZSB0aGVhZCB0ciB0aC5jb2wtY29tcGV0aXRvciB7XG4gICAgd2lkdGg6IGF1dG87XG59XG5cbi5jb21wby1zdGFnZS10YWJsZSB0aGVhZCB0ciB0aC5jb2wtc2NvcmUge1xuICAgIHdpZHRoOiAyMDBweDtcbn1cblxuLmNvbXBvLXN0YWdlLXRhYmxlIHRoZWFkIHRyIHRoLmNvbC1wb2ludHMge1xuICAgIHdpZHRoOiAxMjBweDtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbn1cblxuLmNvbXBvLXN0YWdlLXRhYmxlIHRoZWFkIHRyIHRoLmNvbC1zdWJtaXNzaW9ucyB7XG4gICAgd2lkdGg6IDIwMHB4O1xufVxuXG4uY29tcG8tc3RhZ2UtdGFibGUgdGJvZHkgdHIge1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KTtcbn1cblxuLmNvbXBvLXN0YWdlLXRhYmxlIHRib2R5IHRyOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iZy1ob3Zlcik7XG59XG5cbi5jb21wby1zdGFnZS10YWJsZSB0Ym9keSB0ciB0ZCB7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2UteHMpIHZhcigtLXNwYWNlLW1kKTtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXByaW1hcnkpO1xuICAgIGJvcmRlci1ib3R0b206IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLWxpZ2h0KTtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cbi5jb21wby1zdGFnZS10YWJsZSB0Ym9keSB0cjpsYXN0LWNoaWxkIHRkIHtcbiAgICBib3JkZXItYm90dG9tOiBub25lO1xufVxuXG4uY29tcG8tc3RhZ2UtdGFibGUgdGJvZHkgdHIgdGQuY29sLXJhbmsge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbXV0ZWQpO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXhzKTtcbiAgICBmb250LXZhcmlhbnQtbnVtZXJpYzogdGFidWxhci1udW1zO1xufVxuXG4uY29tcG8tc3RhZ2UtdGFibGUgdGJvZHkgdHIudGFibGUtZmlyc3QtcG9zIHRkLmNvbC1yYW5rIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItcG9zLWZpcnN0KTtcbn1cblxuLmNvbXBvLXN0YWdlLXRhYmxlIHRib2R5IHRyLnRhYmxlLXNlY29uZC1wb3MgdGQuY29sLXJhbmsge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1wb3Mtc2Vjb25kKTtcbn1cblxuLmNvbXBvLXN0YWdlLXRhYmxlIHRib2R5IHRyLnRhYmxlLXRoaXJkLXBvcyB0ZC5jb2wtcmFuayB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXBvcy10aGlyZCk7XG59XG5cbi5jb21wby1zdGFnZS10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtY29tcGV0aXRvciAudG9kYXktc3VibWlzc2lvbi1jYXJkX19wYXJ0aWNpcGFudCB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IHZhcigtLXNwYWNlLXhzKTtcbn1cblxuLmNvbXBvLXN0YWdlLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1zY29yZSB7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLmNvbXBvLXN0YWdlLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1wb2ludHMge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1oZWFkaW5nKTtcbiAgICBmb250LXZhcmlhbnQtbnVtZXJpYzogdGFidWxhci1udW1zO1xufVxuXG4uY29tcG8tc3RhZ2UtdGFibGUgdGJvZHkgdHIgdGQuY29sLXN1Ym1pc3Npb25zIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgUkVTUE9OU0lWRSBDQVJEIExBWU9VVCAoPD0gMTIwMHB4KVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIC50b2RheS1zdWJtaXNzaW9ucy13cmFwcGVyLnN0aWNreS10YWJsZSxcbiAgICAuYmVuY2htYXJrLXJhbmtpbmctd3JhcHBlci5zdGlja3ktdGFibGUsXG4gICAgLm1lbWJlci10YWJsZS13cmFwcGVyLnN0aWNreS10YWJsZSxcbiAgICAudGVhbS10YWJsZS13cmFwcGVyLnN0aWNreS10YWJsZSxcbiAgICAudGVhbS1jdXBzLXdyYXBwZXIuc3RpY2t5LXRhYmxlLFxuICAgIC50ZWFtLXBvaW50cy13cmFwcGVyLnN0aWNreS10YWJsZSxcbiAgICAudGVhbS1tZW1iZXJzLXdyYXBwZXIuc3RpY2t5LXRhYmxlLFxuICAgIC50ZWFtLXJlcXVlc3RzLXdyYXBwZXIuc3RpY2t5LXRhYmxlLFxuICAgIC5ncHUtdGFibGUtd3JhcHBlci5zdGlja3ktdGFibGUsXG4gICAgLmNwdS10YWJsZS13cmFwcGVyLnN0aWNreS10YWJsZSxcbiAgICAubWItdGFibGUtd3JhcHBlci5zdGlja3ktdGFibGUsXG4gICAgLm1lbS10YWJsZS13cmFwcGVyLnN0aWNreS10YWJsZSxcbiAgICAuY29vbGluZy10YWJsZS13cmFwcGVyLnN0aWNreS10YWJsZSxcbiAgICAucHN1LXRhYmxlLXdyYXBwZXIuc3RpY2t5LXRhYmxlLFxuICAgIC5kaXNrLXRhYmxlLXdyYXBwZXIuc3RpY2t5LXRhYmxlLFxuICAgIC5ody1yZWNvcmRzLXRhYmxlLXdyYXBwZXIuc3RpY2t5LXRhYmxlLFxuICAgIC5saWJyYXJ5LXRhYmxlLXdyYXBwZXIuc3RpY2t5LXRhYmxlLFxuICAgIC54dHUtcHJvZmlsZXMtdGFibGUtd3JhcHBlci5zdGlja3ktdGFibGUsXG4gICAgLnh0dS1hbmFseXplLXRhYmxlLXdyYXBwZXIuc3RpY2t5LXRhYmxlLFxuICAgIC5yYW5raW5nLWxvZy10YWJsZS13cmFwcGVyLnN0aWNreS10YWJsZSxcbiAgICAudXNlci1wb2ludHMtdGFibGUtd3JhcHBlci5zdGlja3ktdGFibGUsXG4gICAgLmNvbXBldGl0aW9ucy10YWJsZS13cmFwcGVyLnN0aWNreS10YWJsZSxcbiAgICAuY2FyZWVyLXJhbmtpbmctd3JhcHBlci5zdGlja3ktdGFibGUsXG4gICAgLnRlYW0tY2FyZWVyLXJhbmtpbmctd3JhcHBlci5zdGlja3ktdGFibGUsXG4gICAgLnNlYXNvbi1yYW5raW5nLXdyYXBwZXIuc3RpY2t5LXRhYmxlLFxuICAgIC50ZWFtLXNlYXNvbi1yYW5raW5nLXdyYXBwZXIuc3RpY2t5LXRhYmxlLFxuICAgIC5jb3VudHJ5LWxlYWd1ZS1yYW5raW5nLXdyYXBwZXIuc3RpY2t5LXRhYmxlLFxuICAgIC5nbG9iYWwtbWFzdGVycy13cmFwcGVyLnN0aWNreS10YWJsZSxcbiAgICAuaGFyZHdhcmUtbWFzdGVycy13cmFwcGVyLnN0aWNreS10YWJsZSxcbiAgICAuY29tcG8tc3RhZ2Utd3JhcHBlci5zdGlja3ktdGFibGUge1xuICAgICAgICBvdmVyZmxvdy14OiB2aXNpYmxlO1xuICAgIH1cblxuICAgIC50b2RheS1zdWJtaXNzaW9ucy10YWJsZSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICB9XG5cbiAgICAudG9kYXktc3VibWlzc2lvbnMtdGFibGUgdGhlYWQge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC50b2RheS1zdWJtaXNzaW9ucy10YWJsZSB0Ym9keSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctc3VyZmFjZSk7XG4gICAgICAgIGJvcmRlcjogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItc3VidGxlKTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cyk7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgfVxuXG4gICAgLnRvZGF5LXN1Ym1pc3Npb25zLXRhYmxlIHRib2R5IHRyIHtcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgYXV0bztcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiBhdXRvO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBnYXA6IHZhcigtLXNwYWNlLTJ4cyk7XG4gICAgICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLXNtKSB2YXIoLS1zcGFjZS1tZCk7XG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLXN1cmZhY2UpO1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIGJvcmRlci1ib3R0b206IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLXN1YnRsZSk7XG4gICAgICAgIGJvcmRlci1sZWZ0OiB2YXIoLS1wb3MtbWFya2VyLXdpZHRoKSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpLCBib3JkZXItbGVmdC1jb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpO1xuICAgIH1cblxuICAgIC50b2RheS1zdWJtaXNzaW9ucy10YWJsZSB0Ym9keSB0cjpsYXN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICB9XG5cbiAgICAudG9kYXktc3VibWlzc2lvbnMtdGFibGUgdGJvZHkgdHI6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iZy1ob3Zlcik7XG4gICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbiAgICB9XG5cbiAgICAudG9kYXktc3VibWlzc2lvbnMtdGFibGUgdGJvZHkgdHIgdGQge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgICB9XG5cbiAgICAvKiBCZW5jaG1hcmsgT3ZlcnZpZXcgVGFibGU6IFByZXNlcnZlIHRhYmxlIGxheW91dCBvbiByZXNwb25zaXZlIHNjcmVlbnMgKi9cbiAgICAuYmVuY2htYXJrLW92ZXJ2aWV3LXRhYmxlIHtcbiAgICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBib3JkZXItY29sbGFwc2U6IHNlcGFyYXRlO1xuICAgICAgICBib3JkZXItc3BhY2luZzogMDtcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctc3VyZmFjZSk7XG4gICAgICAgIGJvcmRlcjogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItbGlnaHQpO1xuICAgIH1cblxuICAgIC5iZW5jaG1hcmstb3ZlcnZpZXctdGFibGUgdGhlYWQge1xuICAgICAgICBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXA7XG4gICAgfVxuXG4gICAgLmJlbmNobWFyay1vdmVydmlldy10YWJsZSB0aGVhZCB0ciB7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlLXJvdztcbiAgICB9XG5cbiAgICAuYmVuY2htYXJrLW92ZXJ2aWV3LXRhYmxlIHRoZWFkIHRyIHRoIHtcbiAgICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgICAgcGFkZGluZzogdmFyKC0tc3BhY2UteHMpIHZhcigtLXNwYWNlLW1kKTtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB9XG5cbiAgICAuYmVuY2htYXJrLW92ZXJ2aWV3LXRhYmxlIHRib2R5IHtcbiAgICAgICAgZGlzcGxheTogdGFibGUtcm93LWdyb3VwO1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICB9XG5cbiAgICAuYmVuY2htYXJrLW92ZXJ2aWV3LXRhYmxlIHRib2R5IHRyIHtcbiAgICAgICAgZGlzcGxheTogdGFibGUtcm93O1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgIH1cblxuICAgIC5iZW5jaG1hcmstb3ZlcnZpZXctdGFibGUgdGJvZHkgdHI6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iZy1ob3Zlcik7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgfVxuXG4gICAgLmJlbmNobWFyay1vdmVydmlldy10YWJsZSB0Ym9keSB0ciB0ZCB7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLXhzKSB2YXIoLS1zcGFjZS1tZCk7XG4gICAgICAgIGJvcmRlci1ib3R0b206IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLWxpZ2h0KTtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgfVxuXG4gICAgLmJlbmNobWFyay1vdmVydmlldy10YWJsZSB0Ym9keSB0cjpsYXN0LWNoaWxkIHRkIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICB9XG5cbiAgICAvKiBTdWJtaXNzaW9ucyBDYXJkIFJvdyBNYXBwaW5nICg8PSAxMjAwcHgpXG4gICAgICAgUm93IDE6IFsgYmVuY2htYXJrIChsZWZ0KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2NvcmUgKHJpZ2h0KSBdXG4gICAgICAgUm93IDI6IFsgaGFyZHdhcmUgKGxlZnQpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVzZXIgKHJpZ2h0KSBdXG4gICAgICAgUm93IDM6IFsgcG9pbnRzIChsZWZ0KSAgICAgICAgICAgICAgICAgICAgIGNvbW1lbnRzIC0gbGlrZXMgKHJpZ2h0KSBdXG4gICAgKi9cbiAgICAudG9kYXktc3VibWlzc2lvbnMtdGFibGUuaGFzLXJhbmsgdGJvZHkgdHIge1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IGF1dG8gMWZyIGF1dG87XG4gICAgfVxuXG4gICAgLnRvZGF5LXN1Ym1pc3Npb25zLXdyYXBwZXIgLnRvZGF5LXN1Ym1pc3Npb25zLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1yYW5rIHtcbiAgICAgICAgb3JkZXI6IDE7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB9XG5cbiAgICAudG9kYXktc3VibWlzc2lvbnMtd3JhcHBlciAudG9kYXktc3VibWlzc2lvbnMtdGFibGUgdGJvZHkgdHIgdGQuY29sLWRhdGUge1xuICAgICAgICBvcmRlcjogMTtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDEgLyAtMTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXhzKTtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbiAgICB9XG5cbiAgICAvKiBSb3cgMTogTGVmdCA9IEJlbmNobWFyaywgUmlnaHQgPSBTY29yZSAqL1xuICAgIC50b2RheS1zdWJtaXNzaW9ucy13cmFwcGVyIC50b2RheS1zdWJtaXNzaW9ucy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtYmVuY2htYXJrIHtcbiAgICAgICAgb3JkZXI6IDI7XG4gICAgICAgIGdyaWQtY29sdW1uOiAxO1xuICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IHZhcigtLXNwYWNlLXhzKTtcbiAgICB9XG5cbiAgICAudG9kYXktc3VibWlzc2lvbnMtd3JhcHBlciAudG9kYXktc3VibWlzc2lvbnMtdGFibGUuaGFzLXJhbmsgdGJvZHkgdHIgdGQuY29sLWJlbmNobWFyayB7XG4gICAgICAgIGdyaWQtY29sdW1uOiAyO1xuICAgIH1cblxuICAgIC50b2RheS1zdWJtaXNzaW9ucy13cmFwcGVyIC50b2RheS1zdWJtaXNzaW9ucy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtc2NvcmUge1xuICAgICAgICBvcmRlcjogMztcbiAgICAgICAgZ3JpZC1jb2x1bW46IC0yIC8gLTE7XG4gICAgICAgIGp1c3RpZnktc2VsZjogZW5kO1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICB9XG5cbiAgICAudG9kYXktc3VibWlzc2lvbnMtd3JhcHBlciAudG9kYXktc3VibWlzc2lvbnMtdGFibGUgdGJvZHkgdHIgdGQuY29sLXNjb3JlIGEge1xuICAgICAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtc2VtaWJvbGQpO1xuICAgIH1cblxuICAgIC8qIFJvdyAyOiBMZWZ0ID0gSGFyZHdhcmUsIFJpZ2h0ID0gVXNlciAqL1xuICAgIC50b2RheS1zdWJtaXNzaW9ucy13cmFwcGVyIC50b2RheS1zdWJtaXNzaW9ucy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtaGFyZHdhcmUge1xuICAgICAgICBvcmRlcjogNDtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDE7XG4gICAgICAgIG1pbi13aWR0aDogMDtcbiAgICAgICAgcGFkZGluZzogdmFyKC0tc3BhY2UtMnhzKSAwO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1zcGFjZS14cyk7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgLnRvZGF5LXN1Ym1pc3Npb25zLXdyYXBwZXIgLnRvZGF5LXN1Ym1pc3Npb25zLXRhYmxlLmhhcy1yYW5rIHRib2R5IHRyIHRkLmNvbC1oYXJkd2FyZSB7XG4gICAgICAgIGdyaWQtY29sdW1uOiAyO1xuICAgIH1cblxuICAgIC50b2RheS1zdWJtaXNzaW9ucy13cmFwcGVyIC50b2RheS1zdWJtaXNzaW9ucy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtaGFyZHdhcmU6ZW1wdHkge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC50b2RheS1zdWJtaXNzaW9ucy13cmFwcGVyIC50b2RheS1zdWJtaXNzaW9ucy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtaGFyZHdhcmUgLnRvZGF5LXN1Ym1pc3Npb24tY2FyZF9faGFyZHdhcmUge1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIG1pbi13aWR0aDogMDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIH1cblxuICAgIC50b2RheS1zdWJtaXNzaW9ucy13cmFwcGVyIC50b2RheS1zdWJtaXNzaW9ucy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtaGFyZHdhcmUgLnRvZGF5LXN1Ym1pc3Npb24tY2FyZF9faGFyZHdhcmUgc3Bhbjpub3QoLnRvZGF5LXN1Ym1pc3Npb24tY2FyZF9fY29yZXMpOm5vdCgucmFua2luZy1oaWdobGlnaHQtY2FyZF9fY29yZXMpOm5vdCgudG9kYXktc3VibWlzc2lvbi1jYXJkX19jbG9jaykge1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgIH1cblxuICAgIC50b2RheS1zdWJtaXNzaW9ucy13cmFwcGVyIC50b2RheS1zdWJtaXNzaW9ucy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtaGFyZHdhcmUgLnRvZGF5LXN1Ym1pc3Npb24tY2FyZF9fY2xvY2sge1xuICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB9XG5cbiAgICAudG9kYXktc3VibWlzc2lvbnMtd3JhcHBlciAudG9kYXktc3VibWlzc2lvbnMtdGFibGUgdGJvZHkgdHIgdGQuY29sLXVzZXIge1xuICAgICAgICBvcmRlcjogNTtcbiAgICAgICAgZ3JpZC1jb2x1bW46IC0yIC8gLTE7XG4gICAgICAgIGp1c3RpZnktc2VsZjogZW5kO1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS0yeHMpIDA7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgfVxuXG4gICAgLnRvZGF5LXN1Ym1pc3Npb25zLXdyYXBwZXIgLnRvZGF5LXN1Ym1pc3Npb25zLXRhYmxlIHRib2R5IHRyIHRkLmNvbC11c2VyIC50b2RheS1zdWJtaXNzaW9uLWNhcmRfX3BhcnRpY2lwYW50IHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgIGdhcDogdmFyKC0tc3BhY2UteHMpO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIG1pbi13aWR0aDogMDtcbiAgICB9XG5cbiAgICAudG9kYXktc3VibWlzc2lvbnMtd3JhcHBlciAudG9kYXktc3VibWlzc2lvbnMtdGFibGUgdGJvZHkgdHIgdGQuY29sLXVzZXIgLnRvZGF5LXN1Ym1pc3Npb24tY2FyZF9fbmFtZSB7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgIG1heC13aWR0aDogMTQwcHg7XG4gICAgfVxuXG4gICAgLyogUm93IDM6IExlZnQgPSBQb2ludHMsIFJpZ2h0ID0gQ29tbWVudHMgJiBMaWtlcyAoQWN0aW9ucykgKi9cbiAgICAudG9kYXktc3VibWlzc2lvbnMtd3JhcHBlciAudG9kYXktc3VibWlzc2lvbnMtdGFibGUgdGJvZHkgdHIgdGQuY29sLXBvaW50cyB7XG4gICAgICAgIG9yZGVyOiA2O1xuICAgICAgICBncmlkLWNvbHVtbjogMTtcbiAgICAgICAganVzdGlmeS1zZWxmOiBzdGFydDtcbiAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgcGFkZGluZy1yaWdodDogdmFyKC0tc3BhY2UteHMpO1xuICAgIH1cblxuICAgIC50b2RheS1zdWJtaXNzaW9ucy13cmFwcGVyIC50b2RheS1zdWJtaXNzaW9ucy10YWJsZS5oYXMtcmFuayB0Ym9keSB0ciB0ZC5jb2wtcG9pbnRzIHtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDI7XG4gICAgfVxuXG4gICAgLnRvZGF5LXN1Ym1pc3Npb25zLXdyYXBwZXIgLnRvZGF5LXN1Ym1pc3Npb25zLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1wb2ludHM6ZW1wdHkge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC50b2RheS1zdWJtaXNzaW9uLWNhcmRfX3BvaW50LFxuICAgIC5ody1yZWNvcmRzLXRhYmxlX19wb2ludCB7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgfVxuXG4gICAgLnRvZGF5LXN1Ym1pc3Npb24tY2FyZF9fcG9pbnQtLXdyIHtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgfVxuXG4gICAgLnRvZGF5LXN1Ym1pc3Npb24tY2FyZF9fcG9pbnRzIHtcbiAgICAgICAgZ2FwOiB2YXIoLS1zcGFjZS14cyk7XG4gICAgfVxuXG4gICAgLnRvZGF5LXN1Ym1pc3Npb25zLXdyYXBwZXIgLnRvZGF5LXN1Ym1pc3Npb25zLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1hY3Rpb25zIHtcbiAgICAgICAgb3JkZXI6IDc7XG4gICAgICAgIGdyaWQtY29sdW1uOiAtMiAvIC0xO1xuICAgICAgICBqdXN0aWZ5LXNlbGY6IGVuZDtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgfVxuXG4gICAgLnRvZGF5LXN1Ym1pc3Npb25zLXdyYXBwZXIgLnRvZGF5LXN1Ym1pc3Npb25zLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1hY3Rpb25zIC50b2RheS1zdWJtaXNzaW9uLWNhcmRfX2FjdGlvbnMge1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGdhcDogdmFyKC0tc3BhY2UteHMpO1xuICAgIH1cblxuICAgIC8qIENvbXBhY3QgTWljcm8tUGlsbCBWb3RlIFdpZGdldCBmb3IgTW9iaWxlIENhcmRzICovXG4gICAgLnRvZGF5LXN1Ym1pc3Npb25zLXdyYXBwZXIgLnRvZGF5LXN1Ym1pc3Npb25zLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1hY3Rpb25zIC52b3RlLXBpbGwsXG4gICAgLnRvZGF5LXN1Ym1pc3Npb24tY2FyZF9fdm90ZSAudm90ZS1waWxsIHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgaGVpZ2h0OiAyMnB4O1xuICAgICAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS0yeHMpO1xuICAgICAgICBib3JkZXI6IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLXN1YnRsZSk7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtZnVsbCk7XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJnLXN1cmZhY2UpO1xuICAgICAgICBsaW5lLWhlaWdodDogdmFyKC0tbGluZS1oZWlnaHQtbm9uZSk7XG4gICAgfVxuXG4gICAgLnRvZGF5LXN1Ym1pc3Npb25zLXdyYXBwZXIgLnRvZGF5LXN1Ym1pc3Npb25zLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1hY3Rpb25zIC52b3RlLXBpbGw6aG92ZXIsXG4gICAgLnRvZGF5LXN1Ym1pc3Npb24tY2FyZF9fdm90ZSAudm90ZS1waWxsOmhvdmVyIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1ib3JkZXItc3RhbmRhcmQpO1xuICAgIH1cblxuICAgIC50b2RheS1zdWJtaXNzaW9ucy13cmFwcGVyIC50b2RheS1zdWJtaXNzaW9ucy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtYWN0aW9ucyAudm90ZS1waWxsX19idG4sXG4gICAgLnRvZGF5LXN1Ym1pc3Npb24tY2FyZF9fdm90ZSAudm90ZS1waWxsX19idG4ge1xuICAgICAgICBwYWRkaW5nOiAwIHZhcigtLXNwYWNlLXMpO1xuICAgICAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS0yeHMpO1xuICAgICAgICBnYXA6IHZhcigtLXNwYWNlLTJ4cyk7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgfVxuXG4gICAgLnRvZGF5LXN1Ym1pc3Npb25zLXdyYXBwZXIgLnRvZGF5LXN1Ym1pc3Npb25zLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1hY3Rpb25zIC52b3RlLXBpbGxfX2J0bjpob3ZlcixcbiAgICAudG9kYXktc3VibWlzc2lvbi1jYXJkX192b3RlIC52b3RlLXBpbGxfX2J0bjpob3ZlciB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1saW5rKTtcbiAgICB9XG5cbiAgICAudG9kYXktc3VibWlzc2lvbnMtd3JhcHBlciAudG9kYXktc3VibWlzc2lvbnMtdGFibGUgdGJvZHkgdHIgdGQuY29sLWFjdGlvbnMgLnZvdGUtcGlsbF9fYWN0aW9uLmhhcy12b3RlZCxcbiAgICAudG9kYXktc3VibWlzc2lvbi1jYXJkX192b3RlIC52b3RlLXBpbGxfX2FjdGlvbi5oYXMtdm90ZWQge1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItbGluayk7XG4gICAgfVxuXG4gICAgLnRvZGF5LXN1Ym1pc3Npb25zLXdyYXBwZXIgLnRvZGF5LXN1Ym1pc3Npb25zLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1hY3Rpb25zIC52b3RlLXBpbGxfX2J0biBpLFxuICAgIC50b2RheS1zdWJtaXNzaW9uLWNhcmRfX3ZvdGUgLnZvdGUtcGlsbF9fYnRuIGkge1xuICAgICAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS0yeHMpO1xuICAgIH1cblxuICAgIC50b2RheS1zdWJtaXNzaW9ucy13cmFwcGVyIC50b2RheS1zdWJtaXNzaW9ucy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtYWN0aW9ucyAudm90ZS1waWxsX19kaXZpZGVyLFxuICAgIC50b2RheS1zdWJtaXNzaW9uLWNhcmRfX3ZvdGUgLnZvdGUtcGlsbF9fZGl2aWRlciB7XG4gICAgICAgIGhlaWdodDogMTBweDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYm9yZGVyLXN1YnRsZSk7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICB9XG5cbiAgICAudG9kYXktc3VibWlzc2lvbnMtd3JhcHBlciAudG9kYXktc3VibWlzc2lvbnMtdGFibGUgdGJvZHkgdHIgdGQuY29sLWFjdGlvbnMgLnZvdGUtcGlsbF9fY291bnQsXG4gICAgLnRvZGF5LXN1Ym1pc3Npb24tY2FyZF9fdm90ZSAudm90ZS1waWxsX19jb3VudCB7XG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLTJ4cyk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1zZW1pYm9sZCk7XG4gICAgICAgIGZvbnQtdmFyaWFudC1udW1lcmljOiB0YWJ1bGFyLW51bXM7XG4gICAgfVxuXG4gICAgLnRvZGF5LXN1Ym1pc3Npb25zLXdyYXBwZXIgLnRvZGF5LXN1Ym1pc3Npb25zLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1hY3Rpb25zIC52b3RlLXBpbGxfX2NhcmV0LFxuICAgIC50b2RheS1zdWJtaXNzaW9uLWNhcmRfX3ZvdGUgLnZvdGUtcGlsbF9fY2FyZXQge1xuICAgICAgICBmb250LXNpemU6IDdweDtcbiAgICAgICAgb3BhY2l0eTogMC42O1xuICAgIH1cblxuICAgIC8qIENvb2xpbmcgJiBTdWJzcGVjcyBQbGFjZW1lbnQgKHdoZW4gcHJlc2VudCkgKi9cbiAgICAudG9kYXktc3VibWlzc2lvbnMtd3JhcHBlciAudG9kYXktc3VibWlzc2lvbnMtdGFibGUgdGJvZHkgdHIgdGQuY29sLWNvb2xpbmcge1xuICAgICAgICBvcmRlcjogNjtcbiAgICAgICAgZ3JpZC1jb2x1bW46IC0yIC8gLTE7XG4gICAgICAgIGp1c3RpZnktc2VsZjogZW5kO1xuICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLTJ4cykgMDtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgLyogQm9yZGVybGVzcyBTdGF0dXMgQmFkZ2VzIG9uIE1vYmlsZSAqL1xuICAgIC5zdGF0dXMtYmFkZ2Uge1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBnYXA6IHZhcigtLXNwYWNlLXhzKTtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IHZhcigtLWxpbmUtaGVpZ2h0LXRpZ2h0KTtcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgfVxuXG4gICAgLnN0YXR1cy1iYWRnZSBpIHtcbiAgICAgICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteHMpO1xuICAgIH1cblxuICAgIC5zdGF0dXMtYmFkZ2UgLnN0YXR1cy12YWx1ZSB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXhzKTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LW1lZGl1bSk7XG4gICAgfVxuXG4gICAgLyogQm9yZGVybGVzcyBTdGFnZSAmIEN1cCBCYWRnZXMgb24gTW9iaWxlICovXG4gICAgLnN0YWdlLW51bWJlcixcbiAgICAuc3RhZ2UtbnVtYmVyLS1ydW5uaW5nLFxuICAgIC5zdGFnZS1udW1iZXItLWNsb3NlZCxcbiAgICAuc3RhZ2UtbnVtYmVyLS11cGNvbWluZyB7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgIH1cblxuICAgIC50b2RheS1zdWJtaXNzaW9ucy13cmFwcGVyIC50b2RheS1zdWJtaXNzaW9ucy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtY29vbGluZzplbXB0eSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLnRvZGF5LXN1Ym1pc3Npb25zLXdyYXBwZXIgLnRvZGF5LXN1Ym1pc3Npb25zLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1zdWJzcGVjcyB7XG4gICAgICAgIG9yZGVyOiA4O1xuICAgICAgICBncmlkLWNvbHVtbjogMSAvIC0xO1xuICAgICAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS0yeHMpIDA7XG4gICAgfVxuXG4gICAgLnRvZGF5LXN1Ym1pc3Npb25zLXdyYXBwZXIgLnRvZGF5LXN1Ym1pc3Npb25zLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1zdWJzcGVjczplbXB0eSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLnRvZGF5LXN1Ym1pc3Npb25zLXdyYXBwZXIgLnRvZGF5LXN1Ym1pc3Npb25zLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1zdWJzcGVjcyAudG9kYXktc3VibWlzc2lvbi1jYXJkX19zdWJzcGVjcyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgZ2FwOiB2YXIoLS1zcGFjZS14cyk7XG4gICAgfVxuXG4gICAgLyogSGFsbCBvZiBGYW1lIC8gUmVjb3JkcyBDYXJkIExheW91dCAoPD0gMTIwMHB4KVxuICAgICAgIFJvdyAxOiBbICNyYW5rIHwgZnJlcXVlbmN5ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhhcmR3YXJlIF1cbiAgICAgICBSb3cgMjogWyAgICAgICB8IGNvb2xpbmcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXNlciBdXG4gICAgKi9cbiAgICAudG9kYXktc3VibWlzc2lvbnMtd3JhcHBlciAuaGFsbC1vZi1mYW1lLXRhYmxlIHRib2R5IHRyLFxuICAgIC50b2RheS1zdWJtaXNzaW9ucy13cmFwcGVyIC5oYWxsLW9mLWZhbWUtdGFibGUuaGFzLXJhbmsgdGJvZHkgdHIsXG4gICAgLnRvZGF5LXN1Ym1pc3Npb25zLXdyYXBwZXIgLnRvZGF5LXN1Ym1pc3Npb25zLXRhYmxlLmhhbGwtb2YtZmFtZS10YWJsZSB0Ym9keSB0cixcbiAgICAudG9kYXktc3VibWlzc2lvbnMtd3JhcHBlciAudG9kYXktc3VibWlzc2lvbnMtdGFibGUuaGFzLXJhbmsuaGFsbC1vZi1mYW1lLXRhYmxlIHRib2R5IHRyIHtcbiAgICAgICAgZGlzcGxheTogZ3JpZCAhaW1wb3J0YW50O1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IGF1dG8gbWlubWF4KDAsIDFmcikgYXV0byAhaW1wb3J0YW50O1xuICAgICAgICBncmlkLXRlbXBsYXRlLXJvd3M6IGF1dG8gYXV0byAhaW1wb3J0YW50O1xuICAgICAgICBnYXA6IHZhcigtLXNwYWNlLTJ4cykgdmFyKC0tc3BhY2Utc20pO1xuICAgICAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS1zbSkgdmFyKC0tc3BhY2UtbWQpO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIH1cblxuICAgIC50b2RheS1zdWJtaXNzaW9ucy13cmFwcGVyIC5oYWxsLW9mLWZhbWUtdGFibGUgdGJvZHkgdHIgdGQsXG4gICAgLnRvZGF5LXN1Ym1pc3Npb25zLXdyYXBwZXIgLnRvZGF5LXN1Ym1pc3Npb25zLXRhYmxlLmhhbGwtb2YtZmFtZS10YWJsZSB0Ym9keSB0ciB0ZCxcbiAgICAudG9kYXktc3VibWlzc2lvbnMtd3JhcHBlciAudG9kYXktc3VibWlzc2lvbnMtdGFibGUuaGFzLXJhbmsuaGFsbC1vZi1mYW1lLXRhYmxlIHRib2R5IHRyIHRkIHtcbiAgICAgICAgb3JkZXI6IHVuc2V0ICFpbXBvcnRhbnQ7XG4gICAgICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAvKiAxc3QsIDJuZCwgM3JkIFBvc2l0aW9uIExlZnQgQm9yZGVyIENvbG9ycyAqL1xuICAgIC50b2RheS1zdWJtaXNzaW9ucy13cmFwcGVyIC5oYWxsLW9mLWZhbWUtdGFibGUgdGJvZHkgdHIudGFibGUtZmlyc3QtcG9zLFxuICAgIC50b2RheS1zdWJtaXNzaW9ucy13cmFwcGVyIC5oYWxsLW9mLWZhbWUtdGFibGUuaGFzLXJhbmsgdGJvZHkgdHIudGFibGUtZmlyc3QtcG9zLFxuICAgIC50b2RheS1zdWJtaXNzaW9ucy13cmFwcGVyIC50b2RheS1zdWJtaXNzaW9ucy10YWJsZS5oYWxsLW9mLWZhbWUtdGFibGUgdGJvZHkgdHIudGFibGUtZmlyc3QtcG9zLFxuICAgIC50b2RheS1zdWJtaXNzaW9ucy13cmFwcGVyIC50b2RheS1zdWJtaXNzaW9ucy10YWJsZS5oYXMtcmFuay5oYWxsLW9mLWZhbWUtdGFibGUgdGJvZHkgdHIudGFibGUtZmlyc3QtcG9zLFxuICAgIC50b2RheS1zdWJtaXNzaW9ucy13cmFwcGVyIC5oYWxsLW9mLWZhbWUtdGFibGUuaGFzLXJhbmsgdGJvZHkgdHI6bnRoLWNoaWxkKDEpIHtcbiAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6IHZhcigtLWNvbG9yLXBvcy1maXJzdCkgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAudG9kYXktc3VibWlzc2lvbnMtd3JhcHBlciAuaGFsbC1vZi1mYW1lLXRhYmxlIHRib2R5IHRyLnRhYmxlLXNlY29uZC1wb3MsXG4gICAgLnRvZGF5LXN1Ym1pc3Npb25zLXdyYXBwZXIgLmhhbGwtb2YtZmFtZS10YWJsZS5oYXMtcmFuayB0Ym9keSB0ci50YWJsZS1zZWNvbmQtcG9zLFxuICAgIC50b2RheS1zdWJtaXNzaW9ucy13cmFwcGVyIC50b2RheS1zdWJtaXNzaW9ucy10YWJsZS5oYWxsLW9mLWZhbWUtdGFibGUgdGJvZHkgdHIudGFibGUtc2Vjb25kLXBvcyxcbiAgICAudG9kYXktc3VibWlzc2lvbnMtd3JhcHBlciAudG9kYXktc3VibWlzc2lvbnMtdGFibGUuaGFzLXJhbmsuaGFsbC1vZi1mYW1lLXRhYmxlIHRib2R5IHRyLnRhYmxlLXNlY29uZC1wb3MsXG4gICAgLnRvZGF5LXN1Ym1pc3Npb25zLXdyYXBwZXIgLmhhbGwtb2YtZmFtZS10YWJsZS5oYXMtcmFuayB0Ym9keSB0cjpudGgtY2hpbGQoMikge1xuICAgICAgICBib3JkZXItbGVmdC1jb2xvcjogdmFyKC0tY29sb3ItcG9zLXNlY29uZCkgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAudG9kYXktc3VibWlzc2lvbnMtd3JhcHBlciAuaGFsbC1vZi1mYW1lLXRhYmxlIHRib2R5IHRyLnRhYmxlLXRoaXJkLXBvcyxcbiAgICAudG9kYXktc3VibWlzc2lvbnMtd3JhcHBlciAuaGFsbC1vZi1mYW1lLXRhYmxlLmhhcy1yYW5rIHRib2R5IHRyLnRhYmxlLXRoaXJkLXBvcyxcbiAgICAudG9kYXktc3VibWlzc2lvbnMtd3JhcHBlciAudG9kYXktc3VibWlzc2lvbnMtdGFibGUuaGFsbC1vZi1mYW1lLXRhYmxlIHRib2R5IHRyLnRhYmxlLXRoaXJkLXBvcyxcbiAgICAudG9kYXktc3VibWlzc2lvbnMtd3JhcHBlciAudG9kYXktc3VibWlzc2lvbnMtdGFibGUuaGFzLXJhbmsuaGFsbC1vZi1mYW1lLXRhYmxlIHRib2R5IHRyLnRhYmxlLXRoaXJkLXBvcyxcbiAgICAudG9kYXktc3VibWlzc2lvbnMtd3JhcHBlciAuaGFsbC1vZi1mYW1lLXRhYmxlLmhhcy1yYW5rIHRib2R5IHRyOm50aC1jaGlsZCgzKSB7XG4gICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiB2YXIoLS1jb2xvci1wb3MtdGhpcmQpICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLyogQ29sIDEsIFJvdyAxOiBSYW5rIC8gRGF0ZSAqL1xuICAgIC50b2RheS1zdWJtaXNzaW9ucy13cmFwcGVyIC5oYWxsLW9mLWZhbWUtdGFibGUgdGJvZHkgdHIgdGQuY29sLXJhbmssXG4gICAgLnRvZGF5LXN1Ym1pc3Npb25zLXdyYXBwZXIgLmhhbGwtb2YtZmFtZS10YWJsZS5oYXMtcmFuayB0Ym9keSB0ciB0ZC5jb2wtcmFuayxcbiAgICAudG9kYXktc3VibWlzc2lvbnMtd3JhcHBlciAudG9kYXktc3VibWlzc2lvbnMtdGFibGUuaGFsbC1vZi1mYW1lLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1yYW5rLFxuICAgIC50b2RheS1zdWJtaXNzaW9ucy13cmFwcGVyIC50b2RheS1zdWJtaXNzaW9ucy10YWJsZS5oYXMtcmFuay5oYWxsLW9mLWZhbWUtdGFibGUgdGJvZHkgdHIgdGQuY29sLXJhbmssXG4gICAgLnRvZGF5LXN1Ym1pc3Npb25zLXdyYXBwZXIgLmhhbGwtb2YtZmFtZS10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtZGF0ZSxcbiAgICAudG9kYXktc3VibWlzc2lvbnMtd3JhcHBlciAudG9kYXktc3VibWlzc2lvbnMtdGFibGUuaGFsbC1vZi1mYW1lLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1kYXRlIHtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDEgIWltcG9ydGFudDtcbiAgICAgICAgZ3JpZC1yb3c6IDEgIWltcG9ydGFudDtcbiAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LXNlbGY6IHN0YXJ0O1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIHBhZGRpbmc6IDAgdmFyKC0tc3BhY2UteHMpIDAgMCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC50b2RheS1zdWJtaXNzaW9ucy13cmFwcGVyIC5oYWxsLW9mLWZhbWUtdGFibGUgdGJvZHkgdHIgdGQuY29sLXJhbmsgLnRvZGF5LXN1Ym1pc3Npb24tY2FyZF9fcmFuayB7XG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXNtKTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1wcmltYXJ5KTtcbiAgICAgICAgbWluLXdpZHRoOiAyOHB4O1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgLyogUm93IDEsIENvbCAyOiBGcmVxdWVuY3kgLyBTY29yZSAqL1xuICAgIC50b2RheS1zdWJtaXNzaW9ucy13cmFwcGVyIC5oYWxsLW9mLWZhbWUtdGFibGUgdGJvZHkgdHIgdGQuY29sLXNjb3JlLFxuICAgIC50b2RheS1zdWJtaXNzaW9ucy13cmFwcGVyIC5oYWxsLW9mLWZhbWUtdGFibGUuaGFzLXJhbmsgdGJvZHkgdHIgdGQuY29sLXNjb3JlLFxuICAgIC50b2RheS1zdWJtaXNzaW9ucy13cmFwcGVyIC50b2RheS1zdWJtaXNzaW9ucy10YWJsZS5oYWxsLW9mLWZhbWUtdGFibGUgdGJvZHkgdHIgdGQuY29sLXNjb3JlLFxuICAgIC50b2RheS1zdWJtaXNzaW9ucy13cmFwcGVyIC50b2RheS1zdWJtaXNzaW9ucy10YWJsZS5oYXMtcmFuay5oYWxsLW9mLWZhbWUtdGFibGUgdGJvZHkgdHIgdGQuY29sLXNjb3JlIHtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDIgIWltcG9ydGFudDtcbiAgICAgICAgZ3JpZC1yb3c6IDEgIWltcG9ydGFudDtcbiAgICAgICAganVzdGlmeS1zZWxmOiBzdGFydCAhaW1wb3J0YW50O1xuICAgICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQgIWltcG9ydGFudDtcbiAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIH1cblxuICAgIC50b2RheS1zdWJtaXNzaW9ucy13cmFwcGVyIC5oYWxsLW9mLWZhbWUtdGFibGUgdGJvZHkgdHIgdGQuY29sLXNjb3JlIGEge1xuICAgICAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXNtKTtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB9XG5cbiAgICAvKiBSb3cgMSwgQ29sIDM6IEhhcmR3YXJlICovXG4gICAgLnRvZGF5LXN1Ym1pc3Npb25zLXdyYXBwZXIgLmhhbGwtb2YtZmFtZS10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtaGFyZHdhcmUsXG4gICAgLnRvZGF5LXN1Ym1pc3Npb25zLXdyYXBwZXIgLmhhbGwtb2YtZmFtZS10YWJsZS5oYXMtcmFuayB0Ym9keSB0ciB0ZC5jb2wtaGFyZHdhcmUsXG4gICAgLnRvZGF5LXN1Ym1pc3Npb25zLXdyYXBwZXIgLnRvZGF5LXN1Ym1pc3Npb25zLXRhYmxlLmhhbGwtb2YtZmFtZS10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtaGFyZHdhcmUsXG4gICAgLnRvZGF5LXN1Ym1pc3Npb25zLXdyYXBwZXIgLnRvZGF5LXN1Ym1pc3Npb25zLXRhYmxlLmhhcy1yYW5rLmhhbGwtb2YtZmFtZS10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtaGFyZHdhcmUge1xuICAgICAgICBncmlkLWNvbHVtbjogMyAhaW1wb3J0YW50O1xuICAgICAgICBncmlkLXJvdzogMSAhaW1wb3J0YW50O1xuICAgICAgICBqdXN0aWZ5LXNlbGY6IGVuZCAhaW1wb3J0YW50O1xuICAgICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0ICFpbXBvcnRhbnQ7XG4gICAgICAgIG1pbi13aWR0aDogMDtcbiAgICAgICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC50b2RheS1zdWJtaXNzaW9ucy13cmFwcGVyIC5oYWxsLW9mLWZhbWUtdGFibGUgdGJvZHkgdHIgdGQuY29sLWhhcmR3YXJlIC50b2RheS1zdWJtaXNzaW9uLWNhcmRfX2hhcmR3YXJlIHtcbiAgICAgICAgbWF4LXdpZHRoOiAxODBweDtcbiAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgfVxuXG4gICAgLnRvZGF5LXN1Ym1pc3Npb25zLXdyYXBwZXIgLmhhbGwtb2YtZmFtZS10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtaGFyZHdhcmUgLnRvZGF5LXN1Ym1pc3Npb24tY2FyZF9faGFyZHdhcmUgc3Bhbjpub3QoLnRvZGF5LXN1Ym1pc3Npb24tY2FyZF9fY2xvY2spIHtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgIG1pbi13aWR0aDogMDtcbiAgICAgICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteHMpO1xuICAgICAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtbWVkaXVtKTtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtcHJpbWFyeSk7XG4gICAgfVxuXG4gICAgLyogUm93IDIsIENvbCAyOiBDb29saW5nICovXG4gICAgLnRvZGF5LXN1Ym1pc3Npb25zLXdyYXBwZXIgLmhhbGwtb2YtZmFtZS10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtY29vbGluZyxcbiAgICAudG9kYXktc3VibWlzc2lvbnMtd3JhcHBlciAuaGFsbC1vZi1mYW1lLXRhYmxlLmhhcy1yYW5rIHRib2R5IHRyIHRkLmNvbC1jb29saW5nLFxuICAgIC50b2RheS1zdWJtaXNzaW9ucy13cmFwcGVyIC50b2RheS1zdWJtaXNzaW9ucy10YWJsZS5oYWxsLW9mLWZhbWUtdGFibGUgdGJvZHkgdHIgdGQuY29sLWNvb2xpbmcsXG4gICAgLnRvZGF5LXN1Ym1pc3Npb25zLXdyYXBwZXIgLnRvZGF5LXN1Ym1pc3Npb25zLXRhYmxlLmhhcy1yYW5rLmhhbGwtb2YtZmFtZS10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtY29vbGluZyB7XG4gICAgICAgIGdyaWQtY29sdW1uOiAyICFpbXBvcnRhbnQ7XG4gICAgICAgIGdyaWQtcm93OiAyICFpbXBvcnRhbnQ7XG4gICAgICAgIGp1c3RpZnktc2VsZjogc3RhcnQgIWltcG9ydGFudDtcbiAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgfVxuXG4gICAgLyogUm93IDIsIENvbCAzOiBVc2VyICovXG4gICAgLnRvZGF5LXN1Ym1pc3Npb25zLXdyYXBwZXIgLmhhbGwtb2YtZmFtZS10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtdXNlcixcbiAgICAudG9kYXktc3VibWlzc2lvbnMtd3JhcHBlciAuaGFsbC1vZi1mYW1lLXRhYmxlLmhhcy1yYW5rIHRib2R5IHRyIHRkLmNvbC11c2VyLFxuICAgIC50b2RheS1zdWJtaXNzaW9ucy13cmFwcGVyIC50b2RheS1zdWJtaXNzaW9ucy10YWJsZS5oYWxsLW9mLWZhbWUtdGFibGUgdGJvZHkgdHIgdGQuY29sLXVzZXIsXG4gICAgLnRvZGF5LXN1Ym1pc3Npb25zLXdyYXBwZXIgLnRvZGF5LXN1Ym1pc3Npb25zLXRhYmxlLmhhcy1yYW5rLmhhbGwtb2YtZmFtZS10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtdXNlciB7XG4gICAgICAgIGdyaWQtY29sdW1uOiAzICFpbXBvcnRhbnQ7XG4gICAgICAgIGdyaWQtcm93OiAyICFpbXBvcnRhbnQ7XG4gICAgICAgIGp1c3RpZnktc2VsZjogZW5kICFpbXBvcnRhbnQ7XG4gICAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQgIWltcG9ydGFudDtcbiAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC50b2RheS1zdWJtaXNzaW9ucy13cmFwcGVyIC5oYWxsLW9mLWZhbWUtdGFibGUgdGJvZHkgdHIgdGQuY29sLXVzZXIgLnRvZGF5LXN1Ym1pc3Npb24tY2FyZF9fcGFydGljaXBhbnQge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgICAgZ2FwOiB2YXIoLS1zcGFjZS14cyk7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgIH1cblxuICAgIC50b2RheS1zdWJtaXNzaW9ucy13cmFwcGVyIC5oYWxsLW9mLWZhbWUtdGFibGUgdGJvZHkgdHIgdGQuY29sLXVzZXIgLnRvZGF5LXN1Ym1pc3Npb24tY2FyZF9fYXZhdGFyIHtcbiAgICAgICAgd2lkdGg6IDE4cHg7XG4gICAgICAgIGhlaWdodDogMThweDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1mdWxsKTtcbiAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIH1cblxuICAgIC50b2RheS1zdWJtaXNzaW9ucy13cmFwcGVyIC5oYWxsLW9mLWZhbWUtdGFibGUgdGJvZHkgdHIgdGQuY29sLXVzZXIgLmNvdW50cnlfZmxhZ3Mge1xuICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICB9XG5cbiAgICAudG9kYXktc3VibWlzc2lvbnMtd3JhcHBlciAuaGFsbC1vZi1mYW1lLXRhYmxlIHRib2R5IHRyIHRkLmNvbC11c2VyIC50b2RheS1zdWJtaXNzaW9uLWNhcmRfX25hbWUge1xuICAgICAgICBtYXgtd2lkdGg6IDEzMHB4O1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteHMpO1xuICAgICAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtbWVkaXVtKTtcbiAgICB9XG5cbiAgICAvKiBIaWRkZW4gY29sdW1ucyBvbiBtb2JpbGUgKi9cbiAgICAudG9kYXktc3VibWlzc2lvbnMtd3JhcHBlciAuaGFsbC1vZi1mYW1lLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1zdWJzcGVjcyxcbiAgICAudG9kYXktc3VibWlzc2lvbnMtd3JhcHBlciAuaGFsbC1vZi1mYW1lLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1hY3Rpb25zLFxuICAgIC50b2RheS1zdWJtaXNzaW9ucy13cmFwcGVyIC50b2RheS1zdWJtaXNzaW9ucy10YWJsZS5oYWxsLW9mLWZhbWUtdGFibGUgdGJvZHkgdHIgdGQuY29sLXN1YnNwZWNzLFxuICAgIC50b2RheS1zdWJtaXNzaW9ucy13cmFwcGVyIC50b2RheS1zdWJtaXNzaW9ucy10YWJsZS5oYWxsLW9mLWZhbWUtdGFibGUgdGJvZHkgdHIgdGQuY29sLWFjdGlvbnMge1xuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLyogVXNlciBIYXJkd2FyZSBMaWJyYXJ5IENhcmQgTGF5b3V0ICg8PSAxMjAwcHgpXG4gICAgICAgfCBNYW51ZmFjdHVyZXIgKGxlZnQpICAgICAgICAgIE1vZGVsIChyaWdodCkgfFxuICAgICAgIHwgUHJvZHVjdC9UeXBlIChsZWZ0KSAgICBDb3JlL1NvY2tldCAocmlnaHQpIHxcbiAgICAgICB8IFNVQk1JU1NJT05TIChsZWZ0KSAgICAgICAgICAgICAgIFggKHJpZ2h0KSB8XG4gICAgKi9cbiAgICAubGlicmFyeS10YWJsZSxcbiAgICAubGlicmFyeS10YWJsZSB0Ym9keSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGdhcDogdmFyKC0tc3BhY2UteHMpO1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIH1cblxuICAgIC5saWJyYXJ5LXRhYmxlIHRoZWFkIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAubGlicmFyeS10YWJsZSB0Ym9keSB0ciB7XG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIGF1dG87XG4gICAgICAgIGdhcDogdmFyKC0tc3BhY2UtMnhzKSB2YXIoLS1zcGFjZS1zbSk7XG4gICAgICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLXNtKSB2YXIoLS1zcGFjZS1tZCk7XG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLXN1cmZhY2UpO1xuICAgICAgICBib3JkZXI6IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLXN1YnRsZSk7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCksIGJvcmRlci1jb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpO1xuICAgIH1cblxuICAgIC5saWJyYXJ5LXRhYmxlIHRib2R5IHRyOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmctaG92ZXIpO1xuICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLWJvcmRlci1zdGFuZGFyZCk7XG4gICAgfVxuXG4gICAgLmxpYnJhcnktdGFibGUgdGJvZHkgdHIgdGQge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgICB9XG5cbiAgICAvKiBSb3cgMTogTGVmdCA9IE1hbnVmYWN0dXJlciwgUmlnaHQgPSBNb2RlbCAqL1xuICAgIC5saWJyYXJ5LXRhYmxlIHRib2R5IHRyIHRkLmNvbC1tYW51ZmFjdHVyZXIge1xuICAgICAgICBvcmRlcjogMTtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1wcmltYXJ5KTtcbiAgICB9XG5cbiAgICAubGlicmFyeS10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtbW9kZWwge1xuICAgICAgICBvcmRlcjogMjtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgIGp1c3RpZnktc2VsZjogZW5kO1xuICAgICAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtc2VtaWJvbGQpO1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1oZWFkaW5nKTtcbiAgICB9XG5cbiAgICAvKiBSb3cgMjogTGVmdCA9IFByb2R1Y3QvVHlwZSwgUmlnaHQgPSBDb3JlL1NvY2tldC9DaGlwc2V0ICovXG4gICAgLmxpYnJhcnktdGFibGUgdGJvZHkgdHIgdGQuY29sLXByb2R1Y3Qge1xuICAgICAgICBvcmRlcjogMztcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteHMpO1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xuICAgIH1cblxuICAgIC5saWJyYXJ5LXRhYmxlIHRib2R5IHRyIHRkLmNvbC1wcm9kdWN0OmVtcHR5IHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAubGlicmFyeS10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtc29ja2V0IHtcbiAgICAgICAgb3JkZXI6IDQ7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICBqdXN0aWZ5LXNlbGY6IGVuZDtcbiAgICAgICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteHMpO1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xuICAgIH1cblxuICAgIC5saWJyYXJ5LXRhYmxlIHRib2R5IHRyIHRkLmNvbC1zb2NrZXQ6ZW1wdHkge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC8qIFJvdyAzOiBMZWZ0ID0gU3VibWlzc2lvbnMgbGFiZWwsIFJpZ2h0ID0gU3VibWlzc2lvbnMgY291bnQgKi9cbiAgICAubGlicmFyeS10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtc3VicyB7XG4gICAgICAgIG9yZGVyOiA1O1xuICAgICAgICBncmlkLWNvbHVtbjogMSAvIC0xO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIHBhZGRpbmctdG9wOiB2YXIoLS1zcGFjZS1zKTtcbiAgICAgICAgYm9yZGVyLXRvcDogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItc3VidGxlKTtcbiAgICAgICAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2UtMnhzKTtcbiAgICB9XG5cbiAgICAubGlicmFyeS1jYXJkX19zdWJzLWxhYmVsIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14cyk7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjA0ZW07XG4gICAgfVxuXG4gICAgLmxpYnJhcnktdGFibGUgdGJvZHkgdHIgdGQuY29sLXN1YnMgYSB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1zZW1pYm9sZCk7XG4gICAgfVxuXG4gICAgLyogVXNlciBYVFUgUHJvZmlsZXMgQ2FyZCBMYXlvdXQgKDw9IDEyMDBweClcbiAgICAgICB8IGRhdGUgICAgICAgICAgICAgICAgICAgICAgIHNjb3JlICAgICAgfFxuICAgICAgIHwgcHJvY2Vzc29yICAgICAgICAgICAgICAgICAgc29ja2V0ICAgICB8XG4gICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbmFseXplICAgIHxcbiAgICAqL1xuICAgIC54dHUtcHJvZmlsZXMtdGFibGUsXG4gICAgLnh0dS1wcm9maWxlcy10YWJsZSB0Ym9keSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGdhcDogdmFyKC0tc3BhY2UteHMpO1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIH1cblxuICAgIC54dHUtcHJvZmlsZXMtdGFibGUgdGhlYWQge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC54dHUtcHJvZmlsZXMtdGFibGUgdGJvZHkgdHIge1xuICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciBhdXRvO1xuICAgICAgICBnYXA6IHZhcigtLXNwYWNlLTJ4cykgdmFyKC0tc3BhY2Utc20pO1xuICAgICAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS1zbSkgdmFyKC0tc3BhY2UtbWQpO1xuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy1zdXJmYWNlKTtcbiAgICAgICAgYm9yZGVyOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1zdWJ0bGUpO1xuICAgICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKTtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpLCBib3JkZXItY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KTtcbiAgICB9XG5cbiAgICAueHR1LXByb2ZpbGVzLXRhYmxlIHRib2R5IHRyOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmctaG92ZXIpO1xuICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLWJvcmRlci1zdGFuZGFyZCk7XG4gICAgfVxuXG4gICAgLnh0dS1wcm9maWxlcy10YWJsZSB0Ym9keSB0ciB0ZCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICAgIH1cblxuICAgIC8qIFJvdyAxOiBMZWZ0ID0gRGF0ZSwgUmlnaHQgPSBTY29yZSAqL1xuICAgIC54dHUtcHJvZmlsZXMtdGFibGUgdGJvZHkgdHIgdGQuY29sLWRhdGUge1xuICAgICAgICBvcmRlcjogMTtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteHMpO1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xuICAgIH1cblxuICAgIC54dHUtcHJvZmlsZXMtdGFibGUgdGJvZHkgdHIgdGQuY29sLXNjb3JlIHtcbiAgICAgICAgb3JkZXI6IDI7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICBqdXN0aWZ5LXNlbGY6IGVuZDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1wcmltYXJ5KTtcbiAgICB9XG5cbiAgICAueHR1LXByb2ZpbGVzLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1zY29yZSBhIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgIH1cblxuICAgIC8qIFJvdyAyOiBMZWZ0ID0gUHJvY2Vzc29yLCBSaWdodCA9IFNvY2tldCAqL1xuICAgIC54dHUtcHJvZmlsZXMtdGFibGUgdGJvZHkgdHIgdGQuY29sLXByb2Nlc3NvciB7XG4gICAgICAgIG9yZGVyOiAzO1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtc2VtaWJvbGQpO1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1wcmltYXJ5KTtcbiAgICB9XG5cbiAgICAueHR1LXByb2ZpbGVzLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1zb2NrZXQge1xuICAgICAgICBvcmRlcjogNDtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgIGp1c3RpZnktc2VsZjogZW5kO1xuICAgICAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14cyk7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG4gICAgfVxuXG4gICAgLnh0dS1wcm9maWxlcy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtc29ja2V0OmVtcHR5IHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAvKiBIaWRlIEZyZXF1ZW5jeSAmIE1vdGhlcmJvYXJkIG9uIG1vYmlsZSBjYXJkICovXG4gICAgLnh0dS1wcm9maWxlcy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtY2xvY2ssXG4gICAgLnh0dS1wcm9maWxlcy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtbW90aGVyYm9hcmQge1xuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLyogUm93IDM6IFJpZ2h0ID0gQW5hbHl6ZSAqL1xuICAgIC54dHUtcHJvZmlsZXMtdGFibGUgdGJvZHkgdHIgdGQuY29sLWFjdGlvbnMge1xuICAgICAgICBvcmRlcjogNTtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDEgLyAtMTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgcGFkZGluZy10b3A6IHZhcigtLXNwYWNlLXMpO1xuICAgICAgICBib3JkZXItdG9wOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1zdWJ0bGUpO1xuICAgICAgICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjZS0yeHMpO1xuICAgIH1cblxuICAgIC54dHUtcHJvZmlsZXMtdGFibGUgdGJvZHkgdHIgdGQuY29sLWFjdGlvbnM6ZW1wdHkge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC54dHUtcHJvZmlsZXMtdGFibGUgdGJvZHkgdHIgdGQuY29sLWFjdGlvbnMgYSB7XG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXhzKTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4wNGVtO1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItbGluayk7XG4gICAgICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLTJ4cykgdmFyKC0tc3BhY2Utc20pO1xuICAgICAgICBib3JkZXI6IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLXN1YnRsZSk7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMteHMpO1xuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy1jYXJkKTtcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpLCBib3JkZXItY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KTtcbiAgICB9XG5cbiAgICAueHR1LXByb2ZpbGVzLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1hY3Rpb25zIGE6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iZy1ob3Zlcik7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB9XG5cbiAgICAvKiBYVFUgQW5hbHl6ZSBOZWlnaGJvcnMgVGFibGUgQ2FyZCBMYXlvdXQgKDw9IDEyMDBweClcbiAgICAgICB8IERhdGUgKGxlZnQpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNjb3JlIChyaWdodCkgfFxuICAgICAgIHwgVXNlciAobGVmdCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ2xvY2sgKHJpZ2h0KSB8XG4gICAgICAgfCBNb3RoZXJib2FyZCAoZnVsbC13aWR0aCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHxcbiAgICAgICB8IENvb2xpbmcgKGZ1bGwtd2lkdGgpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfFxuICAgICAgIHwgUG9pbnRzIChsZWZ0KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZvdGUgKHJpZ2h0KSB8XG4gICAgKi9cbiAgICAueHR1LWFuYWx5emUtdGFibGUsXG4gICAgLnh0dS1hbmFseXplLXRhYmxlIHRib2R5IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgZ2FwOiB2YXIoLS1zcGFjZS14cyk7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgfVxuXG4gICAgLnh0dS1hbmFseXplLXRhYmxlIHRoZWFkIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAueHR1LWFuYWx5emUtdGFibGUgdGJvZHkgdHIge1xuICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciBhdXRvO1xuICAgICAgICBnYXA6IHZhcigtLXNwYWNlLTJ4cykgdmFyKC0tc3BhY2Utc20pO1xuICAgICAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS1zbSkgdmFyKC0tc3BhY2UtbWQpO1xuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy1zdXJmYWNlKTtcbiAgICAgICAgYm9yZGVyOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1zdWJ0bGUpO1xuICAgICAgICBib3JkZXItbGVmdDogdmFyKC0tcG9zLW1hcmtlci13aWR0aCkgc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCksIGJvcmRlci1jb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpO1xuICAgIH1cblxuICAgIC54dHUtYW5hbHl6ZS10YWJsZSB0Ym9keSB0cjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJnLWhvdmVyKTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1ib3JkZXItc3RhbmRhcmQpO1xuICAgIH1cblxuICAgIC54dHUtYW5hbHl6ZS10YWJsZSB0Ym9keSB0ci5pcy1hY3RpdmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1pbmZvLWJnKTtcbiAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xuICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xuICAgIH1cblxuICAgIC54dHUtYW5hbHl6ZS10YWJsZSB0Ym9keSB0ciB0ZCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICAgIH1cblxuICAgIC8qIFJvdyAxOiBMZWZ0ID0gRGF0ZSwgUmlnaHQgPSBTY29yZSAqL1xuICAgIC54dHUtYW5hbHl6ZS10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtZGF0ZSB7XG4gICAgICAgIG9yZGVyOiAxO1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14cyk7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgfVxuXG4gICAgLnh0dS1hbmFseXplLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1zY29yZSB7XG4gICAgICAgIG9yZGVyOiAyO1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAganVzdGlmeS1zZWxmOiBlbmQ7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICB9XG5cbiAgICAueHR1LWFuYWx5emUtdGFibGUgdGJvZHkgdHIgdGQuY29sLXNjb3JlIGEge1xuICAgICAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgfVxuXG4gICAgLyogUm93IDI6IExlZnQgPSBVc2VyLCBSaWdodCA9IENsb2NrICovXG4gICAgLnh0dS1hbmFseXplLXRhYmxlIHRib2R5IHRyIHRkLmNvbC11c2VyIHtcbiAgICAgICAgb3JkZXI6IDM7XG4gICAgICAgIG1pbi13aWR0aDogMDtcbiAgICB9XG5cbiAgICAueHR1LWFuYWx5emUtdGFibGUgdGJvZHkgdHIgdGQuY29sLXVzZXIgLnRvZGF5LXN1Ym1pc3Npb24tY2FyZF9fcGFydGljaXBhbnQge1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgfVxuXG4gICAgLnh0dS1hbmFseXplLXRhYmxlIHRib2R5IHRyIHRkLmNvbC11c2VyIC50b2RheS1zdWJtaXNzaW9uLWNhcmRfX25hbWUge1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB9XG5cbiAgICAueHR1LWFuYWx5emUtdGFibGUgdGJvZHkgdHIgdGQuY29sLWNsb2NrIHtcbiAgICAgICAgb3JkZXI6IDQ7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICBqdXN0aWZ5LXNlbGY6IGVuZDtcbiAgICAgICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteHMpO1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIH1cblxuICAgIC54dHUtYW5hbHl6ZS10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtY2xvY2s6ZW1wdHkge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC8qIFJvdyAzOiBNb3RoZXJib2FyZCAoZnVsbCB3aWR0aCkgKi9cbiAgICAueHR1LWFuYWx5emUtdGFibGUgdGJvZHkgdHIgdGQuY29sLW1vdGhlcmJvYXJkIHtcbiAgICAgICAgb3JkZXI6IDU7XG4gICAgICAgIGdyaWQtY29sdW1uOiAxIC8gLTE7XG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXhzKTtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbiAgICAgICAgcGFkZGluZzogdmFyKC0tc3BhY2UtMnhzKSAwIDA7XG4gICAgfVxuXG4gICAgLnh0dS1hbmFseXplLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1tb3RoZXJib2FyZDplbXB0eSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLyogUm93IDQ6IENvb2xpbmcgKGZ1bGwgd2lkdGgpICovXG4gICAgLnh0dS1hbmFseXplLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1jb29saW5nIHtcbiAgICAgICAgb3JkZXI6IDY7XG4gICAgICAgIGdyaWQtY29sdW1uOiAxIC8gLTE7XG4gICAgICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLTJ4cykgMDtcbiAgICB9XG5cbiAgICAueHR1LWFuYWx5emUtdGFibGUgdGJvZHkgdHIgdGQuY29sLWNvb2xpbmc6ZW1wdHkge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC8qIFJvdyA1OiBMZWZ0ID0gUG9pbnRzLCBSaWdodCA9IEFjdGlvbnMgKFZvdGUpICovXG4gICAgLnh0dS1hbmFseXplLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1wb2ludHMge1xuICAgICAgICBvcmRlcjogNztcbiAgICAgICAganVzdGlmeS1zZWxmOiBzdGFydDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgcGFkZGluZy10b3A6IHZhcigtLXNwYWNlLTJ4cyk7XG4gICAgfVxuXG4gICAgLnh0dS1hbmFseXplLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1wb2ludHM6ZW1wdHkge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC54dHUtYW5hbHl6ZS10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtYWN0aW9ucyB7XG4gICAgICAgIG9yZGVyOiA4O1xuICAgICAgICBqdXN0aWZ5LXNlbGY6IGVuZDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgcGFkZGluZy10b3A6IHZhcigtLXNwYWNlLTJ4cyk7XG4gICAgfVxuXG4gICAgLyogQ29tcGV0aXRpb24gT3ZlcnZpZXcgQ2FyZCBMYXlvdXQgKDw9IDEyMDBweClcbiAgICAgICB8IENvbXBldGl0aW9uIE5hbWUgKGZ1bGwtd2lkdGgpICAgICAgICAgICAgICAgICAgICAgICAgICAgIHxcbiAgICAgICB8IExldmVsIChsZWZ0KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0YWdlcyAocmlnaHQpIHxcbiAgICAgICB8IE9wZW5zOiA8ZGF0ZT4gKGZ1bGwtd2lkdGgpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHxcbiAgICAgICB8IENsb3NlczogPGRhdGU+IChmdWxsLXdpZHRoKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHxcbiAgICAgICB8IFtUcm9waHldIFdpbm5lciAoZnVsbC13aWR0aCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHxcbiAgICAqL1xuICAgIC5jb21wZXRpdGlvbnMtb3ZlcnZpZXctdGFibGUsXG4gICAgLmNvbXBldGl0aW9ucy1vdmVydmlldy10YWJsZSB0Ym9keSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGdhcDogdmFyKC0tc3BhY2UteHMpO1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIH1cblxuICAgIC5jb21wZXRpdGlvbnMtb3ZlcnZpZXctdGFibGUgdGhlYWQge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC5jb21wZXRpdGlvbnMtb3ZlcnZpZXctdGFibGUgdGJvZHkgdHIge1xuICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciBhdXRvO1xuICAgICAgICBnYXA6IHZhcigtLXNwYWNlLTJ4cykgdmFyKC0tc3BhY2Utc20pO1xuICAgICAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS1zbSkgdmFyKC0tc3BhY2UtbWQpO1xuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy1zdXJmYWNlKTtcbiAgICAgICAgYm9yZGVyOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1zdWJ0bGUpO1xuICAgICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKTtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpLCBib3JkZXItY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KTtcbiAgICB9XG5cbiAgICAuY29tcGV0aXRpb25zLW92ZXJ2aWV3LXRhYmxlIHRib2R5IHRyOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmctaG92ZXIpO1xuICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLWJvcmRlci1zdGFuZGFyZCk7XG4gICAgfVxuXG4gICAgLmNvbXBldGl0aW9ucy1vdmVydmlldy10YWJsZSB0Ym9keSB0ciB0ZCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICAgIH1cblxuICAgIC8qIFJvdyAxOiBDb21wZXRpdGlvbiBOYW1lIChmdWxsIHdpZHRoKSAqL1xuICAgIC5jb21wZXRpdGlvbnMtb3ZlcnZpZXctdGFibGUgdGJvZHkgdHIgdGQuY29sLWNvbXBldGl0aW9uIHtcbiAgICAgICAgb3JkZXI6IDE7XG4gICAgICAgIGdyaWQtY29sdW1uOiAxIC8gLTE7XG4gICAgICAgIG1pbi13aWR0aDogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgLmNvbXBldGl0aW9ucy1vdmVydmlldy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtY29tcGV0aXRpb24gYS5jb21wZXRpdGlvbnMtdGFibGVfX25hbWUtbGluayB7XG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLWJhc2UpO1xuICAgICAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICB9XG5cbiAgICAvKiBSb3cgMjogTGVmdCA9IExldmVsLCBSaWdodCA9IFN0YWdlcyAqL1xuICAgIC5jb21wZXRpdGlvbnMtb3ZlcnZpZXctdGFibGUgdGJvZHkgdHIgdGQuY29sLWxldmVsIHtcbiAgICAgICAgb3JkZXI6IDI7XG4gICAgICAgIGdyaWQtY29sdW1uOiAxO1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICBqdXN0aWZ5LXNlbGY6IHN0YXJ0O1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICB9XG5cbiAgICAuY29tcGV0aXRpb25zLW92ZXJ2aWV3LXRhYmxlIHRib2R5IHRyIHRkLmNvbC1sZXZlbDplbXB0eSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLmNvbXBldGl0aW9ucy1vdmVydmlldy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtc3RhZ2VzIHtcbiAgICAgICAgb3JkZXI6IDM7XG4gICAgICAgIGdyaWQtY29sdW1uOiAyO1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAganVzdGlmeS1zZWxmOiBlbmQ7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14cyk7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG4gICAgfVxuXG4gICAgLmNvbXBldGl0aW9ucy10YWJsZV9fc3RhZ2VzLWxhYmVsIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgIH1cblxuICAgIC8qIFJvdyAzOiBPcGVucyBkYXRlIChmdWxsIHdpZHRoKSAqL1xuICAgIC5jb21wZXRpdGlvbnMtb3ZlcnZpZXctdGFibGUgdGJvZHkgdHIgdGQuY29sLW9wZW5zIHtcbiAgICAgICAgb3JkZXI6IDQ7XG4gICAgICAgIGdyaWQtY29sdW1uOiAxIC8gLTE7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14cyk7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG4gICAgfVxuXG4gICAgLyogUm93IDQ6IENsb3NlcyBkYXRlIChmdWxsIHdpZHRoKSAqL1xuICAgIC5jb21wZXRpdGlvbnMtb3ZlcnZpZXctdGFibGUgdGJvZHkgdHIgdGQuY29sLWNsb3NlcyB7XG4gICAgICAgIG9yZGVyOiA1O1xuICAgICAgICBncmlkLWNvbHVtbjogMSAvIC0xO1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICBqdXN0aWZ5LXNlbGY6IHN0YXJ0O1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteHMpO1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xuICAgIH1cblxuICAgIC5jb21wZXRpdGlvbnMtdGFibGVfX2RhdGUtbGFiZWwge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LW11dGVkKTtcbiAgICB9XG5cbiAgICAvKiBSb3cgNTogV2lubmVyIChmdWxsIHdpZHRoKSAqL1xuICAgIC5jb21wZXRpdGlvbnMtb3ZlcnZpZXctdGFibGUgdGJvZHkgdHIgdGQuY29sLXdpbm5lciB7XG4gICAgICAgIG9yZGVyOiA2O1xuICAgICAgICBncmlkLWNvbHVtbjogMSAvIC0xO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgcGFkZGluZy10b3A6IHZhcigtLXNwYWNlLXhzKTtcbiAgICAgICAgYm9yZGVyLXRvcDogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBkYXNoZWQgdmFyKC0tY29sb3ItYm9yZGVyLXN1YnRsZSk7XG4gICAgICAgIG1hcmdpbi10b3A6IHZhcigtLXNwYWNlLTJ4cyk7XG4gICAgfVxuXG4gICAgLmNvbXBldGl0aW9ucy1vdmVydmlldy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtd2lubmVyOmVtcHR5IHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAvKiBDYXJlZXIgV29ybGQgUmFua2luZyBDYXJkIExheW91dCAoPD0gMTIwMHB4KVxuICAgICAgIFJvdyAxOiBbIHJhbmsgIHwgdXNlciAobGVmdCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGVhbSAocmlnaHQpIF1cbiAgICAgICBSb3cgMjogWyAgICAgICB8IHBvaW50cyAobGVmdCkgICAgICAgIGdsIHBvaW50cyAobWlkKSAgICAgaHcgcG9pbnRzIChyaWdodCkgXVxuICAgICovXG4gICAgLmNhcmVlci1yYW5raW5nLXRhYmxlIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgIH1cblxuICAgIC5jYXJlZXItcmFua2luZy10YWJsZSB0aGVhZCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAuY2FyZWVyLXJhbmtpbmctdGFibGUgdGJvZHkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLXN1cmZhY2UpO1xuICAgICAgICBib3JkZXI6IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLXN1YnRsZSk7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIH1cblxuICAgIC5jYXJlZXItcmFua2luZy10YWJsZSB0Ym9keSB0ciB7XG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogYXV0byBtaW5tYXgoMCwgMWZyKSBtaW5tYXgoMCwgMWZyKSBtaW5tYXgoMCwgMWZyKTtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiBhdXRvIGF1dG87XG4gICAgICAgIGdhcDogdmFyKC0tc3BhY2UtMnhzKSB2YXIoLS1zcGFjZS1zbSk7XG4gICAgICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLXNtKSB2YXIoLS1zcGFjZS1tZCk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItc3VidGxlKTtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IHZhcigtLXBvcy1tYXJrZXItd2lkdGgpIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy1zdXJmYWNlKTtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpLCBib3JkZXItbGVmdC1jb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpO1xuICAgIH1cblxuICAgIC5jYXJlZXItcmFua2luZy10YWJsZSB0Ym9keSB0cjpsYXN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICB9XG5cbiAgICAuY2FyZWVyLXJhbmtpbmctdGFibGUgdGJvZHkgdHI6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iZy1ob3Zlcik7XG4gICAgfVxuXG4gICAgLmNhcmVlci1yYW5raW5nLXRhYmxlIHRib2R5IHRyLnRhYmxlLWZpcnN0LXBvcyB7XG4gICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiB2YXIoLS1jb2xvci1wb3MtZmlyc3QpO1xuICAgIH1cblxuICAgIC5jYXJlZXItcmFua2luZy10YWJsZSB0Ym9keSB0ci50YWJsZS1zZWNvbmQtcG9zIHtcbiAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6IHZhcigtLWNvbG9yLXBvcy1zZWNvbmQpO1xuICAgIH1cblxuICAgIC5jYXJlZXItcmFua2luZy10YWJsZSB0Ym9keSB0ci50YWJsZS10aGlyZC1wb3Mge1xuICAgICAgICBib3JkZXItbGVmdC1jb2xvcjogdmFyKC0tY29sb3ItcG9zLXRoaXJkKTtcbiAgICB9XG5cbiAgICAuY2FyZWVyLXJhbmtpbmctdGFibGUgdGJvZHkgdHIgdGQge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgICB9XG5cbiAgICAvKiBDb2wgMSwgUm93IDE6IFJhbmsgKi9cbiAgICAuY2FyZWVyLXJhbmtpbmctdGFibGUgdGJvZHkgdHIgdGQuY29sLXJhbmssXG4gICAgLmNhcmVlci1yYW5raW5nLXRhYmxlIHRib2R5IHRyLnRhYmxlLWZpcnN0LXBvcyB0ZC5jb2wtcmFuayxcbiAgICAuY2FyZWVyLXJhbmtpbmctdGFibGUgdGJvZHkgdHIudGFibGUtc2Vjb25kLXBvcyB0ZC5jb2wtcmFuayxcbiAgICAuY2FyZWVyLXJhbmtpbmctdGFibGUgdGJvZHkgdHIudGFibGUtdGhpcmQtcG9zIHRkLmNvbC1yYW5rIHtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDE7XG4gICAgICAgIGdyaWQtcm93OiAxO1xuICAgICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktc2VsZjogc3RhcnQ7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBib3JkZXItbGVmdDogbm9uZTtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtcHJpbWFyeSk7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBwYWRkaW5nOiAwIHZhcigtLXNwYWNlLXhzKSAwIDA7XG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXNtKTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgICAgICBtaW4td2lkdGg6IDI4cHg7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG5cbiAgICAvKiBSb3cgMSwgQ29sIDItMzogVXNlciAqL1xuICAgIC5jYXJlZXItcmFua2luZy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtdXNlciB7XG4gICAgICAgIGdyaWQtY29sdW1uOiAyIC8gNDtcbiAgICAgICAgZ3JpZC1yb3c6IDE7XG4gICAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1zZWxmOiBzdGFydDtcbiAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgIH1cblxuICAgIC5jYXJlZXItcmFua2luZy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtdXNlciAudG9kYXktc3VibWlzc2lvbi1jYXJkX19wYXJ0aWNpcGFudCB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBnYXA6IHZhcigtLXNwYWNlLXhzKTtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgfVxuXG4gICAgLmNhcmVlci1yYW5raW5nLXRhYmxlIHRib2R5IHRyIHRkLmNvbC11c2VyIC50b2RheS1zdWJtaXNzaW9uLWNhcmRfX2F2YXRhciB7XG4gICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtZnVsbCk7XG4gICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICB9XG5cbiAgICAuY2FyZWVyLXJhbmtpbmctdGFibGUgdGJvZHkgdHIgdGQuY29sLXVzZXIgLnRvZGF5LXN1Ym1pc3Npb24tY2FyZF9fbmFtZSB7XG4gICAgICAgIG1heC13aWR0aDogMTMwcHg7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14cyk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1tZWRpdW0pO1xuICAgIH1cblxuICAgIC8qIFJvdyAxLCBDb2wgNDogVGVhbSAocmlnaHQtYWxpZ25lZCkgKi9cbiAgICAuY2FyZWVyLXJhbmtpbmctdGFibGUgdGJvZHkgdHIgdGQuY29sLXRlYW0ge1xuICAgICAgICBncmlkLWNvbHVtbjogNDtcbiAgICAgICAgZ3JpZC1yb3c6IDE7XG4gICAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1zZWxmOiBlbmQ7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuXG4gICAgLmNhcmVlci1yYW5raW5nLXRhYmxlIHRib2R5IHRyIHRkLmNvbC10ZWFtIC50b2RheS1zdWJtaXNzaW9uLWNhcmRfX3BhcnRpY2lwYW50IHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgIGdhcDogdmFyKC0tc3BhY2UteHMpO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIG1pbi13aWR0aDogMDtcbiAgICB9XG5cbiAgICAuY2FyZWVyLXJhbmtpbmctdGFibGUgdGJvZHkgdHIgdGQuY29sLXRlYW0gLnRvZGF5LXN1Ym1pc3Npb24tY2FyZF9fYXZhdGFyIHtcbiAgICAgICAgd2lkdGg6IDE4cHg7XG4gICAgICAgIGhlaWdodDogMThweDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1mdWxsKTtcbiAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIH1cblxuICAgIC5jYXJlZXItcmFua2luZy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtdGVhbSAudG9kYXktc3VibWlzc2lvbi1jYXJkX19uYW1lIHtcbiAgICAgICAgbWF4LXdpZHRoOiAxMTBweDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXhzKTtcbiAgICB9XG5cbiAgICAuY2FyZWVyLXJhbmtpbmctdGFibGUgdGJvZHkgdHIgdGQuY29sLXRlYW06ZW1wdHkge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC8qIFJvdyAyLCBDb2wgMjogUG9pbnRzICovXG4gICAgLmNhcmVlci1yYW5raW5nLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1wb2ludHMge1xuICAgICAgICBncmlkLWNvbHVtbjogMjtcbiAgICAgICAgZ3JpZC1yb3c6IDI7XG4gICAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1zZWxmOiBzdGFydDtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1wcmltYXJ5KTtcbiAgICAgICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteHMpO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgIH1cblxuICAgIC8qIFJvdyAyLCBDb2wgMzogR0wgUG9pbnRzICovXG4gICAgLmNhcmVlci1yYW5raW5nLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1nbHAge1xuICAgICAgICBncmlkLWNvbHVtbjogMztcbiAgICAgICAgZ3JpZC1yb3c6IDI7XG4gICAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1zZWxmOiBjZW50ZXI7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteHMpO1xuICAgICAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtbWVkaXVtKTtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICB9XG5cbiAgICAvKiBSb3cgMiwgQ29sIDQ6IEhXIFBvaW50cyAqL1xuICAgIC5jYXJlZXItcmFua2luZy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtaHdwIHtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDQ7XG4gICAgICAgIGdyaWQtcm93OiAyO1xuICAgICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktc2VsZjogZW5kO1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteHMpO1xuICAgICAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtbWVkaXVtKTtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICB9XG5cbiAgICAuY2FyZWVyLXJhbmtpbmctY2FyZF9fcG9pbnRzLWxhYmVsIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1tdXRlZCk7XG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLTJ4cyk7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjA0ZW07XG4gICAgICAgIG1hcmdpbi1sZWZ0OiB2YXIoLS1zcGFjZS0zeHMpO1xuICAgIH1cblxuICAgIC8qIFRlYW0gQ2FyZWVyIFdvcmxkIFJhbmtpbmcgQ2FyZCBMYXlvdXQgKDw9IDEyMDBweClcbiAgICAgICBSb3cgMTogWyAjcmFuayB8IFtBdmF0YXJdIFRlYW0gW0ZsYWddICAgICAgICAgICAgICAgICAgICBbUG9pbnRzXSBQVFMgXVxuICAgICAgIFJvdyAyOiBbICAgICAgIHwgW0NvdW50XSBtZW1iZXJzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBdXG4gICAgKi9cbiAgICAudGVhbS1jYXJlZXItcmFua2luZy10YWJsZSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICB9XG5cbiAgICAudGVhbS1jYXJlZXItcmFua2luZy10YWJsZSB0aGVhZCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAudGVhbS1jYXJlZXItcmFua2luZy10YWJsZSB0Ym9keSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctc3VyZmFjZSk7XG4gICAgICAgIGJvcmRlcjogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItc3VidGxlKTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cyk7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgfVxuXG4gICAgLnRlYW0tY2FyZWVyLXJhbmtpbmctdGFibGUgdGJvZHkgdHIge1xuICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IGF1dG8gbWlubWF4KDAsIDFmcikgYXV0bztcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiBhdXRvIGF1dG87XG4gICAgICAgIGdhcDogdmFyKC0tc3BhY2UtMnhzKSB2YXIoLS1zcGFjZS1zbSk7XG4gICAgICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLXNtKSB2YXIoLS1zcGFjZS1tZCk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItc3VidGxlKTtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IHZhcigtLXBvcy1tYXJrZXItd2lkdGgpIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy1zdXJmYWNlKTtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpLCBib3JkZXItbGVmdC1jb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpO1xuICAgIH1cblxuICAgIC50ZWFtLWNhcmVlci1yYW5raW5nLXRhYmxlIHRib2R5IHRyOmxhc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgIH1cblxuICAgIC50ZWFtLWNhcmVlci1yYW5raW5nLXRhYmxlIHRib2R5IHRyOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmctaG92ZXIpO1xuICAgIH1cblxuICAgIC50ZWFtLWNhcmVlci1yYW5raW5nLXRhYmxlIHRib2R5IHRyLnRhYmxlLWZpcnN0LXBvcyB7XG4gICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiB2YXIoLS1jb2xvci1wb3MtZmlyc3QpO1xuICAgIH1cblxuICAgIC50ZWFtLWNhcmVlci1yYW5raW5nLXRhYmxlIHRib2R5IHRyLnRhYmxlLXNlY29uZC1wb3Mge1xuICAgICAgICBib3JkZXItbGVmdC1jb2xvcjogdmFyKC0tY29sb3ItcG9zLXNlY29uZCk7XG4gICAgfVxuXG4gICAgLnRlYW0tY2FyZWVyLXJhbmtpbmctdGFibGUgdGJvZHkgdHIudGFibGUtdGhpcmQtcG9zIHtcbiAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6IHZhcigtLWNvbG9yLXBvcy10aGlyZCk7XG4gICAgfVxuXG4gICAgLnRlYW0tY2FyZWVyLXJhbmtpbmctdGFibGUgdGJvZHkgdHIgdGQge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgICB9XG5cbiAgICAvKiBDb2wgMSwgUm93IDE6IFJhbmsgKi9cbiAgICAudGVhbS1jYXJlZXItcmFua2luZy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtcmFuayxcbiAgICAudGVhbS1jYXJlZXItcmFua2luZy10YWJsZSB0Ym9keSB0ci50YWJsZS1maXJzdC1wb3MgdGQuY29sLXJhbmssXG4gICAgLnRlYW0tY2FyZWVyLXJhbmtpbmctdGFibGUgdGJvZHkgdHIudGFibGUtc2Vjb25kLXBvcyB0ZC5jb2wtcmFuayxcbiAgICAudGVhbS1jYXJlZXItcmFua2luZy10YWJsZSB0Ym9keSB0ci50YWJsZS10aGlyZC1wb3MgdGQuY29sLXJhbmsge1xuICAgICAgICBncmlkLWNvbHVtbjogMTtcbiAgICAgICAgZ3JpZC1yb3c6IDE7XG4gICAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1zZWxmOiBzdGFydDtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIGJvcmRlci1sZWZ0OiBub25lO1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1wcmltYXJ5KTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIHBhZGRpbmc6IDAgdmFyKC0tc3BhY2UteHMpIDAgMDtcbiAgICAgICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtc20pO1xuICAgICAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgICAgIG1pbi13aWR0aDogMjhweDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cblxuICAgIC8qIFJvdyAxLCBDb2wgMjogVGVhbSAqL1xuICAgIC50ZWFtLWNhcmVlci1yYW5raW5nLXRhYmxlIHRib2R5IHRyIHRkLmNvbC10ZWFtIHtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDI7XG4gICAgICAgIGdyaWQtcm93OiAxO1xuICAgICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktc2VsZjogc3RhcnQ7XG4gICAgICAgIG1pbi13aWR0aDogMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICB9XG5cbiAgICAudGVhbS1jYXJlZXItcmFua2luZy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtdGVhbSAudG9kYXktc3VibWlzc2lvbi1jYXJkX19wYXJ0aWNpcGFudCB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBnYXA6IHZhcigtLXNwYWNlLXhzKTtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgfVxuXG4gICAgLnRlYW0tY2FyZWVyLXJhbmtpbmctdGFibGUgdGJvZHkgdHIgdGQuY29sLXRlYW0gLnRvZGF5LXN1Ym1pc3Npb24tY2FyZF9fYXZhdGFyIHtcbiAgICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICAgIGhlaWdodDogMjBweDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1mdWxsKTtcbiAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIH1cblxuICAgIC50ZWFtLWNhcmVlci1yYW5raW5nLXRhYmxlIHRib2R5IHRyIHRkLmNvbC10ZWFtIC5jb3VudHJ5X2ZsYWdzIHtcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgfVxuXG4gICAgLnRlYW0tY2FyZWVyLXJhbmtpbmctdGFibGUgdGJvZHkgdHIgdGQuY29sLXRlYW0gLnRvZGF5LXN1Ym1pc3Npb24tY2FyZF9fbmFtZSB7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXhzKTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LW1lZGl1bSk7XG4gICAgfVxuXG4gICAgLyogUm93IDEsIENvbCAzOiBQb2ludHMgKi9cbiAgICAudGVhbS1jYXJlZXItcmFua2luZy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtcG9pbnRzIHtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDM7XG4gICAgICAgIGdyaWQtcm93OiAxO1xuICAgICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktc2VsZjogZW5kO1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1oZWFkaW5nKTtcbiAgICAgICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteHMpO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgIH1cblxuICAgIC50ZWFtLWNhcmVlci1yYW5raW5nLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1wb2ludHMgLnRlYW0tcmFua2luZy1jYXJkX19wb2ludHMtbGFiZWwge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LW11dGVkKTtcbiAgICAgICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtMnhzKTtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMDRlbTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IHZhcigtLXNwYWNlLTN4cyk7XG4gICAgfVxuXG4gICAgLyogUm93IDIsIENvbCAyOiBNZW1iZXJzICovXG4gICAgLnRlYW0tY2FyZWVyLXJhbmtpbmctdGFibGUgdGJvZHkgdHIgdGQuY29sLW1lbWJlcnMge1xuICAgICAgICBncmlkLWNvbHVtbjogMiAvIC0xO1xuICAgICAgICBncmlkLXJvdzogMjtcbiAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LXNlbGY6IHN0YXJ0O1xuICAgICAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14cyk7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuXG4gICAgLnRlYW0tY2FyZWVyLXJhbmtpbmctdGFibGUgdGJvZHkgdHIgdGQuY29sLW1lbWJlcnM6ZW1wdHkge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC50ZWFtLXJhbmtpbmctY2FyZF9fbWVtYmVycy1sYWJlbCB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbXV0ZWQpO1xuICAgICAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS0yeHMpO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbG93ZXJjYXNlO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4wMmVtO1xuICAgICAgICBtYXJnaW4tbGVmdDogdmFyKC0tc3BhY2UtM3hzKTtcbiAgICB9XG5cbiAgICAvKiBTdWItcG9pbnQgY29sdW1ucyBoaWRkZW4gb24gbW9iaWxlICovXG4gICAgLnRlYW0tY2FyZWVyLXJhbmtpbmctdGFibGUgdGJvZHkgdHIgdGQuY29sLWdscCxcbiAgICAudGVhbS1jYXJlZXItcmFua2luZy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtaHdwLFxuICAgIC50ZWFtLWNhcmVlci1yYW5raW5nLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1nbHRwcCxcbiAgICAudGVhbS1jYXJlZXItcmFua2luZy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtaHd0cHAsXG4gICAgLnRlYW0tY2FyZWVyLXJhbmtpbmctdGFibGUgdGJvZHkgdHIgdGQuY29sLWNwIHtcbiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC8qIFNlYXNvbiBMZWFndWUgUmFua2luZyBDYXJkIExheW91dCAoPD0gMTIwMHB4KVxuICAgICAgIFJvdyAxOiBbICNyYW5rIHwgW0F2YXRhcl0gVXNlciBbRmxhZ10gICAgICAgICAgICAgW0F2YXRhcl0gVGVhbSBdXG4gICAgICAgUm93IDI6IFsgICAgICAgfCBbUG9pbnRzXSBQVFMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF1cbiAgICAqL1xuICAgIC5zZWFzb24tcmFua2luZy10YWJsZSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICB9XG5cbiAgICAuc2Vhc29uLXJhbmtpbmctdGFibGUgdGhlYWQge1xuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLnNlYXNvbi1yYW5raW5nLXRhYmxlIHRib2R5IHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy1zdXJmYWNlKTtcbiAgICAgICAgYm9yZGVyOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1zdWJ0bGUpO1xuICAgICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB9XG5cbiAgICAuc2Vhc29uLXJhbmtpbmctdGFibGUgdGJvZHkgdHIge1xuICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IGF1dG8gbWlubWF4KDAsIDFmcikgYXV0bztcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiBhdXRvIGF1dG87XG4gICAgICAgIGdhcDogdmFyKC0tc3BhY2UtMnhzKSB2YXIoLS1zcGFjZS1zbSk7XG4gICAgICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLXNtKSB2YXIoLS1zcGFjZS1tZCk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItc3VidGxlKTtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IHZhcigtLXBvcy1tYXJrZXItd2lkdGgpIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy1zdXJmYWNlKTtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpLCBib3JkZXItbGVmdC1jb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpO1xuICAgIH1cblxuICAgIC5zZWFzb24tcmFua2luZy10YWJsZSB0Ym9keSB0cjpsYXN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICB9XG5cbiAgICAuc2Vhc29uLXJhbmtpbmctdGFibGUgdGJvZHkgdHI6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iZy1ob3Zlcik7XG4gICAgfVxuXG4gICAgLnNlYXNvbi1yYW5raW5nLXRhYmxlIHRib2R5IHRyLnRhYmxlLWZpcnN0LXBvcyB7XG4gICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiB2YXIoLS1jb2xvci1wb3MtZmlyc3QpO1xuICAgIH1cblxuICAgIC5zZWFzb24tcmFua2luZy10YWJsZSB0Ym9keSB0ci50YWJsZS1zZWNvbmQtcG9zIHtcbiAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6IHZhcigtLWNvbG9yLXBvcy1zZWNvbmQpO1xuICAgIH1cblxuICAgIC5zZWFzb24tcmFua2luZy10YWJsZSB0Ym9keSB0ci50YWJsZS10aGlyZC1wb3Mge1xuICAgICAgICBib3JkZXItbGVmdC1jb2xvcjogdmFyKC0tY29sb3ItcG9zLXRoaXJkKTtcbiAgICB9XG5cbiAgICAuc2Vhc29uLXJhbmtpbmctdGFibGUgdGJvZHkgdHIgdGQge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgICB9XG5cbiAgICAvKiBDb2wgMSwgUm93IDE6IFJhbmsgKi9cbiAgICAuc2Vhc29uLXJhbmtpbmctdGFibGUgdGJvZHkgdHIgdGQuY29sLXJhbmssXG4gICAgLnNlYXNvbi1yYW5raW5nLXRhYmxlIHRib2R5IHRyLnRhYmxlLWZpcnN0LXBvcyB0ZC5jb2wtcmFuayxcbiAgICAuc2Vhc29uLXJhbmtpbmctdGFibGUgdGJvZHkgdHIudGFibGUtc2Vjb25kLXBvcyB0ZC5jb2wtcmFuayxcbiAgICAuc2Vhc29uLXJhbmtpbmctdGFibGUgdGJvZHkgdHIudGFibGUtdGhpcmQtcG9zIHRkLmNvbC1yYW5rIHtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDE7XG4gICAgICAgIGdyaWQtcm93OiAxO1xuICAgICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktc2VsZjogc3RhcnQ7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBib3JkZXItbGVmdDogbm9uZTtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtcHJpbWFyeSk7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBwYWRkaW5nOiAwIHZhcigtLXNwYWNlLXhzKSAwIDA7XG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXNtKTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgICAgICBtaW4td2lkdGg6IDI4cHg7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG5cbiAgICAvKiBSb3cgMSwgQ29sIDI6IFVzZXIgKi9cbiAgICAuc2Vhc29uLXJhbmtpbmctdGFibGUgdGJvZHkgdHIgdGQuY29sLXVzZXIge1xuICAgICAgICBncmlkLWNvbHVtbjogMjtcbiAgICAgICAgZ3JpZC1yb3c6IDE7XG4gICAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1zZWxmOiBzdGFydDtcbiAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgIH1cblxuICAgIC5zZWFzb24tcmFua2luZy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtdXNlciAudG9kYXktc3VibWlzc2lvbi1jYXJkX19wYXJ0aWNpcGFudCB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBnYXA6IHZhcigtLXNwYWNlLXhzKTtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgfVxuXG4gICAgLnNlYXNvbi1yYW5raW5nLXRhYmxlIHRib2R5IHRyIHRkLmNvbC11c2VyIC50b2RheS1zdWJtaXNzaW9uLWNhcmRfX2F2YXRhciB7XG4gICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtZnVsbCk7XG4gICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICB9XG5cbiAgICAuc2Vhc29uLXJhbmtpbmctdGFibGUgdGJvZHkgdHIgdGQuY29sLXVzZXIgLmNvdW50cnlfZmxhZ3Mge1xuICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICB9XG5cbiAgICAuc2Vhc29uLXJhbmtpbmctdGFibGUgdGJvZHkgdHIgdGQuY29sLXVzZXIgLnRvZGF5LXN1Ym1pc3Npb24tY2FyZF9fbmFtZSB7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXhzKTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LW1lZGl1bSk7XG4gICAgfVxuXG4gICAgLyogUm93IDEsIENvbCAzOiBUZWFtIChyaWdodC1hbGlnbmVkKSAqL1xuICAgIC5zZWFzb24tcmFua2luZy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtdGVhbSB7XG4gICAgICAgIGdyaWQtY29sdW1uOiAzO1xuICAgICAgICBncmlkLXJvdzogMTtcbiAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LXNlbGY6IGVuZDtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgIG1pbi13aWR0aDogMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICB9XG5cbiAgICAuc2Vhc29uLXJhbmtpbmctdGFibGUgdGJvZHkgdHIgdGQuY29sLXRlYW0gLnRvZGF5LXN1Ym1pc3Npb24tY2FyZF9fcGFydGljaXBhbnQge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgICAgZ2FwOiB2YXIoLS1zcGFjZS14cyk7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgIH1cblxuICAgIC5zZWFzb24tcmFua2luZy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtdGVhbSAudG9kYXktc3VibWlzc2lvbi1jYXJkX19hdmF0YXIge1xuICAgICAgICB3aWR0aDogMThweDtcbiAgICAgICAgaGVpZ2h0OiAxOHB4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLWZ1bGwpO1xuICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgfVxuXG4gICAgLnNlYXNvbi1yYW5raW5nLXRhYmxlIHRib2R5IHRyIHRkLmNvbC10ZWFtIC5jb3VudHJ5X2ZsYWdzIHtcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgfVxuXG4gICAgLnNlYXNvbi1yYW5raW5nLXRhYmxlIHRib2R5IHRyIHRkLmNvbC10ZWFtIC50b2RheS1zdWJtaXNzaW9uLWNhcmRfX25hbWUge1xuICAgICAgICBtYXgtd2lkdGg6IDEyMHB4O1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteHMpO1xuICAgIH1cblxuICAgIC5zZWFzb24tcmFua2luZy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtdGVhbTplbXB0eSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLyogUm93IDIsIENvbCAyOiBQb2ludHMgKi9cbiAgICAuc2Vhc29uLXJhbmtpbmctdGFibGUgdGJvZHkgdHIgdGQuY29sLXBvaW50cyB7XG4gICAgICAgIGdyaWQtY29sdW1uOiAyIC8gLTE7XG4gICAgICAgIGdyaWQtcm93OiAyO1xuICAgICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktc2VsZjogc3RhcnQ7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtcHJpbWFyeSk7XG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXhzKTtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICB9XG5cbiAgICAuc2Vhc29uLXJhbmtpbmctY2FyZF9fcG9pbnRzLWxhYmVsIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1tdXRlZCk7XG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLTJ4cyk7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjA0ZW07XG4gICAgICAgIG1hcmdpbi1sZWZ0OiB2YXIoLS1zcGFjZS0zeHMpO1xuICAgIH1cblxuICAgIC8qIFN1Yi1wb2ludCBjb2x1bW5zIGhpZGRlbiBvbiBtb2JpbGUgKi9cbiAgICAuc2Vhc29uLXJhbmtpbmctdGFibGUgdGJvZHkgdHIgdGQuY29sLWdscCxcbiAgICAuc2Vhc29uLXJhbmtpbmctdGFibGUgdGJvZHkgdHIgdGQuY29sLWh3cCxcbiAgICAuc2Vhc29uLXJhbmtpbmctdGFibGUgdGJvZHkgdHIgdGQuY29sLWNwIHtcbiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC8qIFRlYW0gU2Vhc29uIExlYWd1ZSBSYW5raW5nIENhcmQgTGF5b3V0ICg8PSAxMjAwcHgpXG4gICAgICAgUm93IDE6IFsgI3JhbmsgfCBbQXZhdGFyXSBUZWFtIFtGbGFnXSAgICAgICAgICAgICAgICAgICAgW1BvaW50c10gUFRTIF1cbiAgICAgICBSb3cgMjogWyAgICAgICB8IFtDb3VudF0gbWVtYmVycyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXVxuICAgICovXG4gICAgLnRlYW0tc2Vhc29uLXJhbmtpbmctdGFibGUge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgfVxuXG4gICAgLnRlYW0tc2Vhc29uLXJhbmtpbmctdGFibGUgdGhlYWQge1xuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLnRlYW0tc2Vhc29uLXJhbmtpbmctdGFibGUgdGJvZHkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLXN1cmZhY2UpO1xuICAgICAgICBib3JkZXI6IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLXN1YnRsZSk7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIH1cblxuICAgIC50ZWFtLXNlYXNvbi1yYW5raW5nLXRhYmxlIHRib2R5IHRyIHtcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBhdXRvIG1pbm1heCgwLCAxZnIpIGF1dG87XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtcm93czogYXV0byBhdXRvO1xuICAgICAgICBnYXA6IHZhcigtLXNwYWNlLTJ4cykgdmFyKC0tc3BhY2Utc20pO1xuICAgICAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS1zbSkgdmFyKC0tc3BhY2UtbWQpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIGJvcmRlci1ib3R0b206IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLXN1YnRsZSk7XG4gICAgICAgIGJvcmRlci1sZWZ0OiB2YXIoLS1wb3MtbWFya2VyLXdpZHRoKSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctc3VyZmFjZSk7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KSwgYm9yZGVyLWxlZnQtY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KTtcbiAgICB9XG5cbiAgICAudGVhbS1zZWFzb24tcmFua2luZy10YWJsZSB0Ym9keSB0cjpsYXN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICB9XG5cbiAgICAudGVhbS1zZWFzb24tcmFua2luZy10YWJsZSB0Ym9keSB0cjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJnLWhvdmVyKTtcbiAgICB9XG5cbiAgICAudGVhbS1zZWFzb24tcmFua2luZy10YWJsZSB0Ym9keSB0ci50YWJsZS1maXJzdC1wb3Mge1xuICAgICAgICBib3JkZXItbGVmdC1jb2xvcjogdmFyKC0tY29sb3ItcG9zLWZpcnN0KTtcbiAgICB9XG5cbiAgICAudGVhbS1zZWFzb24tcmFua2luZy10YWJsZSB0Ym9keSB0ci50YWJsZS1zZWNvbmQtcG9zIHtcbiAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6IHZhcigtLWNvbG9yLXBvcy1zZWNvbmQpO1xuICAgIH1cblxuICAgIC50ZWFtLXNlYXNvbi1yYW5raW5nLXRhYmxlIHRib2R5IHRyLnRhYmxlLXRoaXJkLXBvcyB7XG4gICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiB2YXIoLS1jb2xvci1wb3MtdGhpcmQpO1xuICAgIH1cblxuICAgIC50ZWFtLXNlYXNvbi1yYW5raW5nLXRhYmxlIHRib2R5IHRyIHRkIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gICAgfVxuXG4gICAgLyogQ29sIDEsIFJvdyAxOiBSYW5rICovXG4gICAgLnRlYW0tc2Vhc29uLXJhbmtpbmctdGFibGUgdGJvZHkgdHIgdGQuY29sLXJhbmssXG4gICAgLnRlYW0tc2Vhc29uLXJhbmtpbmctdGFibGUgdGJvZHkgdHIudGFibGUtZmlyc3QtcG9zIHRkLmNvbC1yYW5rLFxuICAgIC50ZWFtLXNlYXNvbi1yYW5raW5nLXRhYmxlIHRib2R5IHRyLnRhYmxlLXNlY29uZC1wb3MgdGQuY29sLXJhbmssXG4gICAgLnRlYW0tc2Vhc29uLXJhbmtpbmctdGFibGUgdGJvZHkgdHIudGFibGUtdGhpcmQtcG9zIHRkLmNvbC1yYW5rIHtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDE7XG4gICAgICAgIGdyaWQtcm93OiAxO1xuICAgICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktc2VsZjogc3RhcnQ7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBib3JkZXItbGVmdDogbm9uZTtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtcHJpbWFyeSk7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBwYWRkaW5nOiAwIHZhcigtLXNwYWNlLXhzKSAwIDA7XG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXNtKTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgICAgICBtaW4td2lkdGg6IDI4cHg7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG5cbiAgICAvKiBSb3cgMSwgQ29sIDI6IFRlYW0gKi9cbiAgICAudGVhbS1zZWFzb24tcmFua2luZy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtdGVhbSB7XG4gICAgICAgIGdyaWQtY29sdW1uOiAyO1xuICAgICAgICBncmlkLXJvdzogMTtcbiAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LXNlbGY6IHN0YXJ0O1xuICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuXG4gICAgLnRlYW0tc2Vhc29uLXJhbmtpbmctdGFibGUgdGJvZHkgdHIgdGQuY29sLXRlYW0gLnRvZGF5LXN1Ym1pc3Npb24tY2FyZF9fcGFydGljaXBhbnQge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZ2FwOiB2YXIoLS1zcGFjZS14cyk7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgIH1cblxuICAgIC50ZWFtLXNlYXNvbi1yYW5raW5nLXRhYmxlIHRib2R5IHRyIHRkLmNvbC10ZWFtIC50b2RheS1zdWJtaXNzaW9uLWNhcmRfX2F2YXRhciB7XG4gICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtZnVsbCk7XG4gICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICB9XG5cbiAgICAudGVhbS1zZWFzb24tcmFua2luZy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtdGVhbSAuY291bnRyeV9mbGFncyB7XG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIH1cblxuICAgIC50ZWFtLXNlYXNvbi1yYW5raW5nLXRhYmxlIHRib2R5IHRyIHRkLmNvbC10ZWFtIC50b2RheS1zdWJtaXNzaW9uLWNhcmRfX25hbWUge1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14cyk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1tZWRpdW0pO1xuICAgIH1cblxuICAgIC8qIFJvdyAxLCBDb2wgMzogUG9pbnRzICovXG4gICAgLnRlYW0tc2Vhc29uLXJhbmtpbmctdGFibGUgdGJvZHkgdHIgdGQuY29sLXBvaW50cyB7XG4gICAgICAgIGdyaWQtY29sdW1uOiAzO1xuICAgICAgICBncmlkLXJvdzogMTtcbiAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LXNlbGY6IGVuZDtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtaGVhZGluZyk7XG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXhzKTtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICB9XG5cbiAgICAudGVhbS1zZWFzb24tcmFua2luZy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtcG9pbnRzIC50ZWFtLXNlYXNvbi1yYW5raW5nLWNhcmRfX3BvaW50cy1sYWJlbCB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbXV0ZWQpO1xuICAgICAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS0yeHMpO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4wNGVtO1xuICAgICAgICBtYXJnaW4tbGVmdDogdmFyKC0tc3BhY2UtM3hzKTtcbiAgICB9XG5cbiAgICAvKiBSb3cgMiwgQ29sIDI6IE1lbWJlcnMgKi9cbiAgICAudGVhbS1zZWFzb24tcmFua2luZy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtbWVtYmVycyB7XG4gICAgICAgIGdyaWQtY29sdW1uOiAyIC8gLTE7XG4gICAgICAgIGdyaWQtcm93OiAyO1xuICAgICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktc2VsZjogc3RhcnQ7XG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXhzKTtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICB9XG5cbiAgICAudGVhbS1zZWFzb24tcmFua2luZy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtbWVtYmVyczplbXB0eSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLnRlYW0tc2Vhc29uLXJhbmtpbmctY2FyZF9fbWVtYmVycy1sYWJlbCB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbXV0ZWQpO1xuICAgICAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS0yeHMpO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbG93ZXJjYXNlO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4wMmVtO1xuICAgICAgICBtYXJnaW4tbGVmdDogdmFyKC0tc3BhY2UtM3hzKTtcbiAgICB9XG5cbiAgICAvKiBTdWItcG9pbnQgY29sdW1ucyBoaWRkZW4gb24gbW9iaWxlICovXG4gICAgLnRlYW0tc2Vhc29uLXJhbmtpbmctdGFibGUgdGJvZHkgdHIgdGQuY29sLWdscCxcbiAgICAudGVhbS1zZWFzb24tcmFua2luZy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtaHdwLFxuICAgIC50ZWFtLXNlYXNvbi1yYW5raW5nLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1nbHRwcCxcbiAgICAudGVhbS1zZWFzb24tcmFua2luZy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtaHd0cHAsXG4gICAgLnRlYW0tc2Vhc29uLXJhbmtpbmctdGFibGUgdGJvZHkgdHIgdGQuY29sLWNwIHtcbiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC8qIENvdW50cnkgTGVhZ3VlIFJhbmtpbmcgQ2FyZCBMYXlvdXQgKDw9IDEyMDBweClcbiAgICAgICBSb3cgMTogWyAjcmFuayB8IFtGbGFnXSBDb3VudHJ5ICAgICAgICAgICAgICAgICAgICAgICAgICBbUG9pbnRzXSBQVFMgXVxuICAgICAgIFJvdyAyOiBbICAgICAgIHwgW0NvdW50XSBtZW1iZXJzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBdXG4gICAgKi9cbiAgICAuY291bnRyeS1sZWFndWUtcmFua2luZy10YWJsZSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICB9XG5cbiAgICAuY291bnRyeS1sZWFndWUtcmFua2luZy10YWJsZSB0aGVhZCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAuY291bnRyeS1sZWFndWUtcmFua2luZy10YWJsZSB0Ym9keSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctc3VyZmFjZSk7XG4gICAgICAgIGJvcmRlcjogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItc3VidGxlKTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cyk7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgfVxuXG4gICAgLmNvdW50cnktbGVhZ3VlLXJhbmtpbmctdGFibGUgdGJvZHkgdHIge1xuICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IGF1dG8gbWlubWF4KDAsIDFmcikgYXV0bztcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiBhdXRvIGF1dG87XG4gICAgICAgIGdhcDogdmFyKC0tc3BhY2UtMnhzKSB2YXIoLS1zcGFjZS1zbSk7XG4gICAgICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLXNtKSB2YXIoLS1zcGFjZS1tZCk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItc3VidGxlKTtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IHZhcigtLXBvcy1tYXJrZXItd2lkdGgpIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy1zdXJmYWNlKTtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpLCBib3JkZXItbGVmdC1jb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpO1xuICAgIH1cblxuICAgIC5jb3VudHJ5LWxlYWd1ZS1yYW5raW5nLXRhYmxlIHRib2R5IHRyOmxhc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgIH1cblxuICAgIC5jb3VudHJ5LWxlYWd1ZS1yYW5raW5nLXRhYmxlIHRib2R5IHRyOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmctaG92ZXIpO1xuICAgIH1cblxuICAgIC5jb3VudHJ5LWxlYWd1ZS1yYW5raW5nLXRhYmxlIHRib2R5IHRyLnRhYmxlLWZpcnN0LXBvcyB7XG4gICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiB2YXIoLS1jb2xvci1wb3MtZmlyc3QpO1xuICAgIH1cblxuICAgIC5jb3VudHJ5LWxlYWd1ZS1yYW5raW5nLXRhYmxlIHRib2R5IHRyLnRhYmxlLXNlY29uZC1wb3Mge1xuICAgICAgICBib3JkZXItbGVmdC1jb2xvcjogdmFyKC0tY29sb3ItcG9zLXNlY29uZCk7XG4gICAgfVxuXG4gICAgLmNvdW50cnktbGVhZ3VlLXJhbmtpbmctdGFibGUgdGJvZHkgdHIudGFibGUtdGhpcmQtcG9zIHtcbiAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6IHZhcigtLWNvbG9yLXBvcy10aGlyZCk7XG4gICAgfVxuXG4gICAgLmNvdW50cnktbGVhZ3VlLXJhbmtpbmctdGFibGUgdGJvZHkgdHIgdGQge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgICB9XG5cbiAgICAvKiBDb2wgMSwgUm93IDE6IFJhbmsgKi9cbiAgICAuY291bnRyeS1sZWFndWUtcmFua2luZy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtcmFuayxcbiAgICAuY291bnRyeS1sZWFndWUtcmFua2luZy10YWJsZSB0Ym9keSB0ci50YWJsZS1maXJzdC1wb3MgdGQuY29sLXJhbmssXG4gICAgLmNvdW50cnktbGVhZ3VlLXJhbmtpbmctdGFibGUgdGJvZHkgdHIudGFibGUtc2Vjb25kLXBvcyB0ZC5jb2wtcmFuayxcbiAgICAuY291bnRyeS1sZWFndWUtcmFua2luZy10YWJsZSB0Ym9keSB0ci50YWJsZS10aGlyZC1wb3MgdGQuY29sLXJhbmsge1xuICAgICAgICBncmlkLWNvbHVtbjogMTtcbiAgICAgICAgZ3JpZC1yb3c6IDE7XG4gICAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1zZWxmOiBzdGFydDtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIGJvcmRlci1sZWZ0OiBub25lO1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1wcmltYXJ5KTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIHBhZGRpbmc6IDAgdmFyKC0tc3BhY2UteHMpIDAgMDtcbiAgICAgICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtc20pO1xuICAgICAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgICAgIG1pbi13aWR0aDogMjhweDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cblxuICAgIC8qIFJvdyAxLCBDb2wgMjogQ291bnRyeSAqL1xuICAgIC5jb3VudHJ5LWxlYWd1ZS1yYW5raW5nLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1jb3VudHJ5IHtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDI7XG4gICAgICAgIGdyaWQtcm93OiAxO1xuICAgICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktc2VsZjogc3RhcnQ7XG4gICAgICAgIG1pbi13aWR0aDogMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICB9XG5cbiAgICAuY291bnRyeS1sZWFndWUtcmFua2luZy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtY291bnRyeSAudG9kYXktc3VibWlzc2lvbi1jYXJkX19wYXJ0aWNpcGFudCB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBnYXA6IHZhcigtLXNwYWNlLXhzKTtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgfVxuXG4gICAgLmNvdW50cnktbGVhZ3VlLXJhbmtpbmctdGFibGUgdGJvZHkgdHIgdGQuY29sLWNvdW50cnkgLmNvdW50cnlfZmxhZ3Mge1xuICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICB9XG5cbiAgICAuY291bnRyeS1sZWFndWUtcmFua2luZy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtY291bnRyeSAudG9kYXktc3VibWlzc2lvbi1jYXJkX19uYW1lIHtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgIG1pbi13aWR0aDogMDtcbiAgICAgICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteHMpO1xuICAgICAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtbWVkaXVtKTtcbiAgICB9XG5cbiAgICAvKiBSb3cgMSwgQ29sIDM6IFBvaW50cyAqL1xuICAgIC5jb3VudHJ5LWxlYWd1ZS1yYW5raW5nLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1wb2ludHMge1xuICAgICAgICBncmlkLWNvbHVtbjogMztcbiAgICAgICAgZ3JpZC1yb3c6IDE7XG4gICAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1zZWxmOiBlbmQ7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LWhlYWRpbmcpO1xuICAgICAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14cyk7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuXG4gICAgLmNvdW50cnktbGVhZ3VlLXJhbmtpbmctdGFibGUgdGJvZHkgdHIgdGQuY29sLXBvaW50cyAuY291bnRyeS1sZWFndWUtcmFua2luZy1jYXJkX19wb2ludHMtbGFiZWwge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LW11dGVkKTtcbiAgICAgICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtMnhzKTtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMDRlbTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IHZhcigtLXNwYWNlLTN4cyk7XG4gICAgfVxuXG4gICAgLyogUm93IDIsIENvbCAyOiBNZW1iZXJzICovXG4gICAgLmNvdW50cnktbGVhZ3VlLXJhbmtpbmctdGFibGUgdGJvZHkgdHIgdGQuY29sLW1lbWJlcnMge1xuICAgICAgICBncmlkLWNvbHVtbjogMiAvIC0xO1xuICAgICAgICBncmlkLXJvdzogMjtcbiAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LXNlbGY6IHN0YXJ0O1xuICAgICAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14cyk7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuXG4gICAgLmNvdW50cnktbGVhZ3VlLXJhbmtpbmctdGFibGUgdGJvZHkgdHIgdGQuY29sLW1lbWJlcnM6ZW1wdHkge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC5jb3VudHJ5LWxlYWd1ZS1yYW5raW5nLWNhcmRfX21lbWJlcnMtbGFiZWwge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LW11dGVkKTtcbiAgICAgICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtMnhzKTtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IGxvd2VyY2FzZTtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMDJlbTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IHZhcigtLXNwYWNlLTN4cyk7XG4gICAgfVxuXG4gICAgLyogU3ViLXBvaW50IGNvbHVtbnMgaGlkZGVuIG9uIG1vYmlsZSAqL1xuICAgIC5jb3VudHJ5LWxlYWd1ZS1yYW5raW5nLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1nbHAsXG4gICAgLmNvdW50cnktbGVhZ3VlLXJhbmtpbmctdGFibGUgdGJvZHkgdHIgdGQuY29sLWh3cCxcbiAgICAuY291bnRyeS1sZWFndWUtcmFua2luZy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtY3Age1xuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLyogR2xvYmFsIE1hc3RlcnMgTGVhZ3VlIFJhbmtpbmcgQ2FyZCBMYXlvdXQgKDw9IDEyMDBweClcbiAgICAgICBSb3cgMTogWyByYW5rICB8IHVzZXIgKGxlZnQpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRlYW0gKHJpZ2h0KSBdXG4gICAgICAgUm93IDI6IFsgICAgICAgfCBwb2ludHMgKGxlZnQpICAgICAgICB3ciBwb2ludHMgKG1pZCkgICAgIGdsIHBvaW50cyAocmlnaHQpIF1cbiAgICAqL1xuICAgIC5nbG9iYWwtbWFzdGVycy10YWJsZSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICB9XG5cbiAgICAuZ2xvYmFsLW1hc3RlcnMtdGFibGUgdGhlYWQge1xuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLmdsb2JhbC1tYXN0ZXJzLXRhYmxlIHRib2R5IHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy1zdXJmYWNlKTtcbiAgICAgICAgYm9yZGVyOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1zdWJ0bGUpO1xuICAgICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB9XG5cbiAgICAuZ2xvYmFsLW1hc3RlcnMtdGFibGUgdGJvZHkgdHIge1xuICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IGF1dG8gbWlubWF4KDAsIDEuMmZyKSBtaW5tYXgoMCwgMWZyKSBtaW5tYXgoMCwgMWZyKTtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiBhdXRvIGF1dG87XG4gICAgICAgIGdhcDogdmFyKC0tc3BhY2UtMnhzKSB2YXIoLS1zcGFjZS1zbSk7XG4gICAgICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLXNtKSB2YXIoLS1zcGFjZS1tZCk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItc3VidGxlKTtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IHZhcigtLXBvcy1tYXJrZXItd2lkdGgpIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy1zdXJmYWNlKTtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpLCBib3JkZXItbGVmdC1jb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpO1xuICAgIH1cblxuICAgIC5nbG9iYWwtbWFzdGVycy10YWJsZSB0Ym9keSB0cjpsYXN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICB9XG5cbiAgICAuZ2xvYmFsLW1hc3RlcnMtdGFibGUgdGJvZHkgdHI6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iZy1ob3Zlcik7XG4gICAgfVxuXG4gICAgLmdsb2JhbC1tYXN0ZXJzLXRhYmxlIHRib2R5IHRyLnRhYmxlLWZpcnN0LXBvcyB7XG4gICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiB2YXIoLS1jb2xvci1wb3MtZmlyc3QpO1xuICAgIH1cblxuICAgIC5nbG9iYWwtbWFzdGVycy10YWJsZSB0Ym9keSB0ci50YWJsZS1zZWNvbmQtcG9zIHtcbiAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6IHZhcigtLWNvbG9yLXBvcy1zZWNvbmQpO1xuICAgIH1cblxuICAgIC5nbG9iYWwtbWFzdGVycy10YWJsZSB0Ym9keSB0ci50YWJsZS10aGlyZC1wb3Mge1xuICAgICAgICBib3JkZXItbGVmdC1jb2xvcjogdmFyKC0tY29sb3ItcG9zLXRoaXJkKTtcbiAgICB9XG5cbiAgICAuZ2xvYmFsLW1hc3RlcnMtdGFibGUgdGJvZHkgdHIgdGQge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgICB9XG5cbiAgICAvKiBDb2wgMSwgUm93IDE6IFJhbmsgKi9cbiAgICAuZ2xvYmFsLW1hc3RlcnMtdGFibGUgdGJvZHkgdHIgdGQuY29sLXJhbmssXG4gICAgLmdsb2JhbC1tYXN0ZXJzLXRhYmxlIHRib2R5IHRyLnRhYmxlLWZpcnN0LXBvcyB0ZC5jb2wtcmFuayxcbiAgICAuZ2xvYmFsLW1hc3RlcnMtdGFibGUgdGJvZHkgdHIudGFibGUtc2Vjb25kLXBvcyB0ZC5jb2wtcmFuayxcbiAgICAuZ2xvYmFsLW1hc3RlcnMtdGFibGUgdGJvZHkgdHIudGFibGUtdGhpcmQtcG9zIHRkLmNvbC1yYW5rIHtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDE7XG4gICAgICAgIGdyaWQtcm93OiAxO1xuICAgICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktc2VsZjogc3RhcnQ7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBib3JkZXItbGVmdDogbm9uZTtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtcHJpbWFyeSk7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBwYWRkaW5nOiAwIHZhcigtLXNwYWNlLXhzKSAwIDA7XG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXNtKTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgICAgICBtaW4td2lkdGg6IDI4cHg7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG5cbiAgICAvKiBSb3cgMSwgQ29sIDItMzogVXNlciAqL1xuICAgIC5nbG9iYWwtbWFzdGVycy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtdXNlciB7XG4gICAgICAgIGdyaWQtY29sdW1uOiAyIC8gNDtcbiAgICAgICAgZ3JpZC1yb3c6IDE7XG4gICAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1zZWxmOiBzdGFydDtcbiAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgIH1cblxuICAgIC5nbG9iYWwtbWFzdGVycy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtdXNlciAudG9kYXktc3VibWlzc2lvbi1jYXJkX19wYXJ0aWNpcGFudCB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBnYXA6IHZhcigtLXNwYWNlLXhzKTtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgfVxuXG4gICAgLmdsb2JhbC1tYXN0ZXJzLXRhYmxlIHRib2R5IHRyIHRkLmNvbC11c2VyIC50b2RheS1zdWJtaXNzaW9uLWNhcmRfX2F2YXRhciB7XG4gICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtZnVsbCk7XG4gICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICB9XG5cbiAgICAuZ2xvYmFsLW1hc3RlcnMtdGFibGUgdGJvZHkgdHIgdGQuY29sLXVzZXIgLmNvdW50cnlfZmxhZ3Mge1xuICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICB9XG5cbiAgICAuZ2xvYmFsLW1hc3RlcnMtdGFibGUgdGJvZHkgdHIgdGQuY29sLXVzZXIgLnRvZGF5LXN1Ym1pc3Npb24tY2FyZF9fbmFtZSB7XG4gICAgICAgIG1heC13aWR0aDogMTMwcHg7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14cyk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1tZWRpdW0pO1xuICAgIH1cblxuICAgIC8qIFJvdyAxLCBDb2wgNDogVGVhbSAocmlnaHQtYWxpZ25lZCkgKi9cbiAgICAuZ2xvYmFsLW1hc3RlcnMtdGFibGUgdGJvZHkgdHIgdGQuY29sLXRlYW0ge1xuICAgICAgICBncmlkLWNvbHVtbjogNDtcbiAgICAgICAgZ3JpZC1yb3c6IDE7XG4gICAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1zZWxmOiBlbmQ7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuXG4gICAgLmdsb2JhbC1tYXN0ZXJzLXRhYmxlIHRib2R5IHRyIHRkLmNvbC10ZWFtIC50b2RheS1zdWJtaXNzaW9uLWNhcmRfX3BhcnRpY2lwYW50IHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgIGdhcDogdmFyKC0tc3BhY2UteHMpO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIG1pbi13aWR0aDogMDtcbiAgICB9XG5cbiAgICAuZ2xvYmFsLW1hc3RlcnMtdGFibGUgdGJvZHkgdHIgdGQuY29sLXRlYW0gLnRvZGF5LXN1Ym1pc3Npb24tY2FyZF9fYXZhdGFyIHtcbiAgICAgICAgd2lkdGg6IDE4cHg7XG4gICAgICAgIGhlaWdodDogMThweDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1mdWxsKTtcbiAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIH1cblxuICAgIC5nbG9iYWwtbWFzdGVycy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtdGVhbSAuY291bnRyeV9mbGFncyB7XG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIH1cblxuICAgIC5nbG9iYWwtbWFzdGVycy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtdGVhbSAudG9kYXktc3VibWlzc2lvbi1jYXJkX19uYW1lIHtcbiAgICAgICAgbWF4LXdpZHRoOiAxMTBweDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXhzKTtcbiAgICB9XG5cbiAgICAuZ2xvYmFsLW1hc3RlcnMtdGFibGUgdGJvZHkgdHIgdGQuY29sLXRlYW06ZW1wdHkge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC8qIFJvdyAyLCBDb2wgMjogUG9pbnRzICovXG4gICAgLmdsb2JhbC1tYXN0ZXJzLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1wb2ludHMge1xuICAgICAgICBncmlkLWNvbHVtbjogMjtcbiAgICAgICAgZ3JpZC1yb3c6IDI7XG4gICAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1zZWxmOiBzdGFydDtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1wcmltYXJ5KTtcbiAgICAgICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteHMpO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgIH1cblxuICAgIC8qIFJvdyAyLCBDb2wgMzogV1IgUG9pbnRzICovXG4gICAgLmdsb2JhbC1tYXN0ZXJzLXRhYmxlIHRib2R5IHRyIHRkLmNvbC13cnAge1xuICAgICAgICBncmlkLWNvbHVtbjogMztcbiAgICAgICAgZ3JpZC1yb3c6IDI7XG4gICAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1zZWxmOiBjZW50ZXI7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteHMpO1xuICAgICAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtbWVkaXVtKTtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICB9XG5cbiAgICAvKiBSb3cgMiwgQ29sIDQ6IEdMIFBvaW50cyAqL1xuICAgIC5nbG9iYWwtbWFzdGVycy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtZ2xwIHtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDQ7XG4gICAgICAgIGdyaWQtcm93OiAyO1xuICAgICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktc2VsZjogZW5kO1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteHMpO1xuICAgICAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtbWVkaXVtKTtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICB9XG5cbiAgICAuZ2xvYmFsLW1hc3RlcnMtY2FyZF9fcG9pbnRzLWxhYmVsIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1tdXRlZCk7XG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLTJ4cyk7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjA0ZW07XG4gICAgICAgIG1hcmdpbi1sZWZ0OiB2YXIoLS1zcGFjZS0zeHMpO1xuICAgIH1cblxuICAgIC8qIEhhcmR3YXJlIE1hc3RlcnMgTGVhZ3VlIFJhbmtpbmcgQ2FyZCBMYXlvdXQgKDw9IDEyMDBweClcbiAgICAgICBSb3cgMTogWyByYW5rICB8IHVzZXIgKGxlZnQpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRlYW0gKHJpZ2h0KSBdXG4gICAgICAgUm93IDI6IFsgICAgICAgfCBod3AgKGxlZnQpICAgICAgICAgICAyZHAgKG1pZCkgICAgICAgICAgICAgICAgICAzZHAgKHJpZ2h0KSBdXG4gICAgKi9cbiAgICAuaGFyZHdhcmUtbWFzdGVycy10YWJsZSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICB9XG5cbiAgICAuaGFyZHdhcmUtbWFzdGVycy10YWJsZSB0aGVhZCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAuaGFyZHdhcmUtbWFzdGVycy10YWJsZSB0Ym9keSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctc3VyZmFjZSk7XG4gICAgICAgIGJvcmRlcjogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItc3VidGxlKTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cyk7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgfVxuXG4gICAgLmhhcmR3YXJlLW1hc3RlcnMtdGFibGUgdGJvZHkgdHIge1xuICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IGF1dG8gbWlubWF4KDAsIDEuMmZyKSBtaW5tYXgoMCwgMWZyKSBtaW5tYXgoMCwgMWZyKTtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiBhdXRvIGF1dG87XG4gICAgICAgIGdhcDogdmFyKC0tc3BhY2UtMnhzKSB2YXIoLS1zcGFjZS1zbSk7XG4gICAgICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLXNtKSB2YXIoLS1zcGFjZS1tZCk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItc3VidGxlKTtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IHZhcigtLXBvcy1tYXJrZXItd2lkdGgpIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy1zdXJmYWNlKTtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpLCBib3JkZXItbGVmdC1jb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpO1xuICAgIH1cblxuICAgIC5oYXJkd2FyZS1tYXN0ZXJzLXRhYmxlIHRib2R5IHRyOmxhc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgIH1cblxuICAgIC5oYXJkd2FyZS1tYXN0ZXJzLXRhYmxlIHRib2R5IHRyOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmctaG92ZXIpO1xuICAgIH1cblxuICAgIC5oYXJkd2FyZS1tYXN0ZXJzLXRhYmxlIHRib2R5IHRyLnRhYmxlLWZpcnN0LXBvcyB7XG4gICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiB2YXIoLS1jb2xvci1wb3MtZmlyc3QpO1xuICAgIH1cblxuICAgIC5oYXJkd2FyZS1tYXN0ZXJzLXRhYmxlIHRib2R5IHRyLnRhYmxlLXNlY29uZC1wb3Mge1xuICAgICAgICBib3JkZXItbGVmdC1jb2xvcjogdmFyKC0tY29sb3ItcG9zLXNlY29uZCk7XG4gICAgfVxuXG4gICAgLmhhcmR3YXJlLW1hc3RlcnMtdGFibGUgdGJvZHkgdHIudGFibGUtdGhpcmQtcG9zIHtcbiAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6IHZhcigtLWNvbG9yLXBvcy10aGlyZCk7XG4gICAgfVxuXG4gICAgLmhhcmR3YXJlLW1hc3RlcnMtdGFibGUgdGJvZHkgdHIgdGQge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgICB9XG5cbiAgICAvKiBDb2wgMSwgUm93IDE6IFJhbmsgKi9cbiAgICAuaGFyZHdhcmUtbWFzdGVycy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtcmFuayxcbiAgICAuaGFyZHdhcmUtbWFzdGVycy10YWJsZSB0Ym9keSB0ci50YWJsZS1maXJzdC1wb3MgdGQuY29sLXJhbmssXG4gICAgLmhhcmR3YXJlLW1hc3RlcnMtdGFibGUgdGJvZHkgdHIudGFibGUtc2Vjb25kLXBvcyB0ZC5jb2wtcmFuayxcbiAgICAuaGFyZHdhcmUtbWFzdGVycy10YWJsZSB0Ym9keSB0ci50YWJsZS10aGlyZC1wb3MgdGQuY29sLXJhbmsge1xuICAgICAgICBncmlkLWNvbHVtbjogMTtcbiAgICAgICAgZ3JpZC1yb3c6IDE7XG4gICAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1zZWxmOiBzdGFydDtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIGJvcmRlci1sZWZ0OiBub25lO1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1wcmltYXJ5KTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIHBhZGRpbmc6IDAgdmFyKC0tc3BhY2UteHMpIDAgMDtcbiAgICAgICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtc20pO1xuICAgICAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgICAgIG1pbi13aWR0aDogMjhweDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cblxuICAgIC8qIFJvdyAxLCBDb2wgMi0zOiBVc2VyICovXG4gICAgLmhhcmR3YXJlLW1hc3RlcnMtdGFibGUgdGJvZHkgdHIgdGQuY29sLXVzZXIge1xuICAgICAgICBncmlkLWNvbHVtbjogMiAvIDQ7XG4gICAgICAgIGdyaWQtcm93OiAxO1xuICAgICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktc2VsZjogc3RhcnQ7XG4gICAgICAgIG1pbi13aWR0aDogMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICB9XG5cbiAgICAuaGFyZHdhcmUtbWFzdGVycy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtdXNlciAudG9kYXktc3VibWlzc2lvbi1jYXJkX19wYXJ0aWNpcGFudCB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBnYXA6IHZhcigtLXNwYWNlLXhzKTtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgfVxuXG4gICAgLmhhcmR3YXJlLW1hc3RlcnMtdGFibGUgdGJvZHkgdHIgdGQuY29sLXVzZXIgLnRvZGF5LXN1Ym1pc3Npb24tY2FyZF9fYXZhdGFyIHtcbiAgICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICAgIGhlaWdodDogMjBweDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1mdWxsKTtcbiAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIH1cblxuICAgIC5oYXJkd2FyZS1tYXN0ZXJzLXRhYmxlIHRib2R5IHRyIHRkLmNvbC11c2VyIC5jb3VudHJ5X2ZsYWdzIHtcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgfVxuXG4gICAgLmhhcmR3YXJlLW1hc3RlcnMtdGFibGUgdGJvZHkgdHIgdGQuY29sLXVzZXIgLnRvZGF5LXN1Ym1pc3Npb24tY2FyZF9fbmFtZSB7XG4gICAgICAgIG1heC13aWR0aDogMTMwcHg7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14cyk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1tZWRpdW0pO1xuICAgIH1cblxuICAgIC8qIFJvdyAxLCBDb2wgNDogVGVhbSAocmlnaHQtYWxpZ25lZCkgKi9cbiAgICAuaGFyZHdhcmUtbWFzdGVycy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtdGVhbSB7XG4gICAgICAgIGdyaWQtY29sdW1uOiA0O1xuICAgICAgICBncmlkLXJvdzogMTtcbiAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LXNlbGY6IGVuZDtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgIG1pbi13aWR0aDogMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICB9XG5cbiAgICAuaGFyZHdhcmUtbWFzdGVycy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtdGVhbSAudG9kYXktc3VibWlzc2lvbi1jYXJkX19wYXJ0aWNpcGFudCB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgICBnYXA6IHZhcigtLXNwYWNlLXhzKTtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgfVxuXG4gICAgLmhhcmR3YXJlLW1hc3RlcnMtdGFibGUgdGJvZHkgdHIgdGQuY29sLXRlYW0gLnRvZGF5LXN1Ym1pc3Npb24tY2FyZF9fYXZhdGFyIHtcbiAgICAgICAgd2lkdGg6IDE4cHg7XG4gICAgICAgIGhlaWdodDogMThweDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1mdWxsKTtcbiAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIH1cblxuICAgIC5oYXJkd2FyZS1tYXN0ZXJzLXRhYmxlIHRib2R5IHRyIHRkLmNvbC10ZWFtIC5jb3VudHJ5X2ZsYWdzIHtcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgfVxuXG4gICAgLmhhcmR3YXJlLW1hc3RlcnMtdGFibGUgdGJvZHkgdHIgdGQuY29sLXRlYW0gLnRvZGF5LXN1Ym1pc3Npb24tY2FyZF9fbmFtZSB7XG4gICAgICAgIG1heC13aWR0aDogMTEwcHg7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14cyk7XG4gICAgfVxuXG4gICAgLmhhcmR3YXJlLW1hc3RlcnMtdGFibGUgdGJvZHkgdHIgdGQuY29sLXRlYW06ZW1wdHkge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC8qIFJvdyAyLCBDb2wgMjogUG9pbnRzICovXG4gICAgLmhhcmR3YXJlLW1hc3RlcnMtdGFibGUgdGJvZHkgdHIgdGQuY29sLXBvaW50cyB7XG4gICAgICAgIGdyaWQtY29sdW1uOiAyO1xuICAgICAgICBncmlkLXJvdzogMjtcbiAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LXNlbGY6IHN0YXJ0O1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXByaW1hcnkpO1xuICAgICAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14cyk7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuXG4gICAgLyogUm93IDIsIENvbCAzOiAyRCBQb2ludHMgKi9cbiAgICAuaGFyZHdhcmUtbWFzdGVycy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtMmRwIHtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDM7XG4gICAgICAgIGdyaWQtcm93OiAyO1xuICAgICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktc2VsZjogY2VudGVyO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXhzKTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LW1lZGl1bSk7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuXG4gICAgLyogUm93IDIsIENvbCA0OiAzRCBQb2ludHMgKi9cbiAgICAuaGFyZHdhcmUtbWFzdGVycy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtM2RwIHtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDQ7XG4gICAgICAgIGdyaWQtcm93OiAyO1xuICAgICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktc2VsZjogZW5kO1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteHMpO1xuICAgICAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtbWVkaXVtKTtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICB9XG5cbiAgICAuaGFyZHdhcmUtbWFzdGVycy1jYXJkX19wb2ludHMtbGFiZWwge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LW11dGVkKTtcbiAgICAgICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtMnhzKTtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMDRlbTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IHZhcigtLXNwYWNlLTN4cyk7XG4gICAgfVxuXG4gICAgLyogQ29tcGV0aXRpb24gU3RhZ2UgUmFua2luZyBDYXJkIExheW91dCAoPD0gMTIwMHB4KVxuICAgICAgIFsgcmFuayB8IGNvbXBldGl0b3IgICAgICAgICAgICAgICAgICAgICBwb2ludHMgXVxuICAgICAgIFsgICAgICB8IHNjb3JlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXVxuICAgICAgIFsgICAgICB8IGltYWdlcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXVxuICAgICovXG4gICAgLmNvbXBvLXN0YWdlLXRhYmxlIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy1zdXJmYWNlKTtcbiAgICAgICAgYm9yZGVyOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1zdWJ0bGUpO1xuICAgICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB9XG5cbiAgICAuY29tcG8tc3RhZ2UtdGFibGUgdGhlYWQge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLWRhcmspO1xuICAgICAgICBib3JkZXItYm90dG9tOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1saWdodCk7XG4gICAgfVxuXG4gICAgLmNvbXBvLXN0YWdlLXRhYmxlIHRoZWFkIHRyIHtcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBhdXRvIG1pbm1heCgwLCAxZnIpIGF1dG87XG4gICAgICAgIGNvbHVtbi1nYXA6IHZhcigtLXNwYWNlLXNtKTtcbiAgICAgICAgcGFkZGluZzogdmFyKC0tc3BhY2Utc20pIHZhcigtLXNwYWNlLW1kKTtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IHZhcigtLXBvcy1tYXJrZXItd2lkdGgpIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICB9XG5cbiAgICAuY29tcG8tc3RhZ2UtdGFibGUgdGhlYWQgdHIgdGgge1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC13aGl0ZSk7XG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLTJ4cyk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMDRlbTtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB9XG5cbiAgICAuY29tcG8tc3RhZ2UtdGFibGUgdGhlYWQgdHIgdGguY29sLXJhbmsge1xuICAgICAgICBncmlkLWNvbHVtbjogMTtcbiAgICAgICAgbWluLXdpZHRoOiAyMHB4O1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgZm9udC12YXJpYW50LW51bWVyaWM6IHRhYnVsYXItbnVtcztcbiAgICB9XG5cbiAgICAuY29tcG8tc3RhZ2UtdGFibGUgdGhlYWQgdHIgdGguY29sLWNvbXBldGl0b3Ige1xuICAgICAgICBncmlkLWNvbHVtbjogMjtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIG1pbi13aWR0aDogMDtcbiAgICB9XG5cbiAgICAuY29tcG8tc3RhZ2UtdGFibGUgdGhlYWQgdHIgdGguY29sLXBvaW50cyB7XG4gICAgICAgIGdyaWQtY29sdW1uOiAzO1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgIGp1c3RpZnktc2VsZjogZW5kO1xuICAgIH1cblxuICAgIC5jb21wby1zdGFnZS10YWJsZSB0aGVhZCB0ciB0aC5jb2wtc2NvcmUsXG4gICAgLmNvbXBvLXN0YWdlLXRhYmxlIHRoZWFkIHRyIHRoLmNvbC1zdWJtaXNzaW9ucyB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLmNvbXBvLXN0YWdlLXRhYmxlIHRib2R5IHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICB9XG5cbiAgICAuY29tcG8tc3RhZ2UtdGFibGUgdGJvZHkgdHIge1xuICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IGF1dG8gbWlubWF4KDAsIDFmcikgYXV0bztcbiAgICAgICAgcm93LWdhcDogdmFyKC0tc3BhY2UtMnhzKTtcbiAgICAgICAgY29sdW1uLWdhcDogdmFyKC0tc3BhY2Utc20pO1xuICAgICAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS1zbSkgdmFyKC0tc3BhY2UtbWQpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIGJvcmRlci1ib3R0b206IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLXN1YnRsZSk7XG4gICAgICAgIGJvcmRlci1sZWZ0OiB2YXIoLS1wb3MtbWFya2VyLXdpZHRoKSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctc3VyZmFjZSk7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KSwgYm9yZGVyLWxlZnQtY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KTtcbiAgICB9XG5cbiAgICAuY29tcG8tc3RhZ2UtdGFibGUgdGJvZHkgdHI6bGFzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgfVxuXG4gICAgLmNvbXBvLXN0YWdlLXRhYmxlIHRib2R5IHRyOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmctaG92ZXIpO1xuICAgIH1cblxuICAgIC5jb21wby1zdGFnZS10YWJsZSB0Ym9keSB0ci50YWJsZS1maXJzdC1wb3Mge1xuICAgICAgICBib3JkZXItbGVmdC1jb2xvcjogdmFyKC0tY29sb3ItcG9zLWZpcnN0KTtcbiAgICB9XG5cbiAgICAuY29tcG8tc3RhZ2UtdGFibGUgdGJvZHkgdHIudGFibGUtc2Vjb25kLXBvcyB7XG4gICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiB2YXIoLS1jb2xvci1wb3Mtc2Vjb25kKTtcbiAgICB9XG5cbiAgICAuY29tcG8tc3RhZ2UtdGFibGUgdGJvZHkgdHIudGFibGUtdGhpcmQtcG9zIHtcbiAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6IHZhcigtLWNvbG9yLXBvcy10aGlyZCk7XG4gICAgfVxuXG4gICAgLmNvbXBvLXN0YWdlLXRhYmxlIHRib2R5IHRyLnRhYmxlLXBvcyB7XG4gICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiB2YXIoLS1jb2xvci1wb3MtZm91ci1maXZlKTtcbiAgICB9XG5cbiAgICAuY29tcG8tc3RhZ2UtdGFibGUgdGJvZHkgdHIgdGQge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgICB9XG5cbiAgICAvKiBDb2wgMSwgUm93IDE6IFJhbmsgKi9cbiAgICAuY29tcG8tc3RhZ2UtdGFibGUgdGJvZHkgdHIgdGQuY29sLXJhbmssXG4gICAgLmNvbXBvLXN0YWdlLXRhYmxlIHRib2R5IHRyLnRhYmxlLWZpcnN0LXBvcyB0ZC5jb2wtcmFuayxcbiAgICAuY29tcG8tc3RhZ2UtdGFibGUgdGJvZHkgdHIudGFibGUtc2Vjb25kLXBvcyB0ZC5jb2wtcmFuayxcbiAgICAuY29tcG8tc3RhZ2UtdGFibGUgdGJvZHkgdHIudGFibGUtdGhpcmQtcG9zIHRkLmNvbC1yYW5rIHtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDE7XG4gICAgICAgIGdyaWQtcm93OiAxO1xuICAgICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktc2VsZjogc3RhcnQ7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBib3JkZXItbGVmdDogbm9uZTtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbXV0ZWQpO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteHMpO1xuICAgICAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgICAgIG1pbi13aWR0aDogMjRweDtcbiAgICAgICAgZm9udC12YXJpYW50LW51bWVyaWM6IHRhYnVsYXItbnVtcztcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB9XG5cbiAgICAuY29tcG8tc3RhZ2UtdGFibGUgdGJvZHkgdHIudGFibGUtZmlyc3QtcG9zIHRkLmNvbC1yYW5rIHtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXBvcy1maXJzdCk7XG4gICAgfVxuXG4gICAgLmNvbXBvLXN0YWdlLXRhYmxlIHRib2R5IHRyLnRhYmxlLXNlY29uZC1wb3MgdGQuY29sLXJhbmsge1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItcG9zLXNlY29uZCk7XG4gICAgfVxuXG4gICAgLmNvbXBvLXN0YWdlLXRhYmxlIHRib2R5IHRyLnRhYmxlLXRoaXJkLXBvcyB0ZC5jb2wtcmFuayB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1wb3MtdGhpcmQpO1xuICAgIH1cblxuICAgIC8qIENvbCAyLCBSb3cgMTogQ29tcGV0aXRvciAqL1xuICAgIC5jb21wby1zdGFnZS10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtY29tcGV0aXRvciB7XG4gICAgICAgIGdyaWQtY29sdW1uOiAyO1xuICAgICAgICBncmlkLXJvdzogMTtcbiAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LXNlbGY6IHN0YXJ0O1xuICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuXG4gICAgLmNvbXBvLXN0YWdlLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1jb21wZXRpdG9yIC50b2RheS1zdWJtaXNzaW9uLWNhcmRfX3BhcnRpY2lwYW50IHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGdhcDogdmFyKC0tc3BhY2UteHMpO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIG1pbi13aWR0aDogMDtcbiAgICB9XG5cbiAgICAuY29tcG8tc3RhZ2UtdGFibGUgdGJvZHkgdHIgdGQuY29sLWNvbXBldGl0b3IgLnRvZGF5LXN1Ym1pc3Npb24tY2FyZF9fbmFtZSB7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIH1cblxuICAgIC8qIENvbCAzLCBSb3cgMTogUG9pbnRzICovXG4gICAgLmNvbXBvLXN0YWdlLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1wb2ludHMge1xuICAgICAgICBncmlkLWNvbHVtbjogMztcbiAgICAgICAgZ3JpZC1yb3c6IDE7XG4gICAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1zZWxmOiBlbmQ7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LWhlYWRpbmcpO1xuICAgICAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1zbSk7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuXG4gICAgLyogQ29sIDItMywgUm93IDI6IFByaW1hcnkgU2NvcmUgKi9cbiAgICAuY29tcG8tc3RhZ2UtdGFibGUgdGJvZHkgdHIgdGQuY29sLXNjb3JlIHtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDIgLyAtMTtcbiAgICAgICAgZ3JpZC1yb3c6IDI7XG4gICAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1zZWxmOiBzdGFydDtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgIH1cblxuICAgIC8qIENvbCAyLTMsIFJvdyAzOiBJbWFnZXMgKi9cbiAgICAuY29tcG8tc3RhZ2UtdGFibGUgdGJvZHkgdHIgdGQuY29sLXN1Ym1pc3Npb25zIHtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDIgLyAtMTtcbiAgICAgICAgZ3JpZC1yb3c6IDM7XG4gICAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1zZWxmOiBzdGFydDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgIH1cblxuICAgIC5jb21wby1zdGFnZS10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtc3VibWlzc2lvbnM6ZW1wdHksXG4gICAgLmNvbXBvLXN0YWdlLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1zdWJtaXNzaW9ucy0tZW1wdHkge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC8qIENvbXBldGl0aW9uIFNjb3JlYm9hcmQgQ2FyZCBMYXlvdXQgKDw9IDEyMDBweClcbiAgICAgICBDb21wYWN0IDItY29sdW1uIGNhcmQgd2l0aCBob3Jpem9udGFsIHNjcm9sbGFibGUgc3RhZ2UvY3VwIHN0cmlwICovXG4gICAgLmNvbXBvLXNjb3JlYm9hcmQtaGVhZGVyIHtcbiAgICAgICAgcGFkZGluZzogdmFyKC0tc3BhY2Utc20pIHZhcigtLXNwYWNlLW1kKTtcbiAgICAgICAgZ2FwOiB2YXIoLS1zcGFjZS14cyk7XG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLTJ4cyk7XG4gICAgfVxuXG4gICAgLmNvbXBvLXNjb3JlYm9hcmQtaGVhZGVyX19yYW5rIHtcbiAgICAgICAgbWluLXdpZHRoOiAyMHB4O1xuICAgIH1cblxuICAgIC5jb21wby1zY29yZWJvYXJkLWhlYWRlcl9fY29udGVudCB7XG4gICAgICAgIGdhcDogdmFyKC0tc3BhY2UteHMpO1xuICAgIH1cblxuICAgIC5jb21wby1zY29yZWJvYXJkLWNhcmQge1xuICAgICAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS1zbSkgdmFyKC0tc3BhY2UtbWQpO1xuICAgICAgICBnYXA6IHZhcigtLXNwYWNlLXhzKTtcbiAgICB9XG5cbiAgICAuY29tcG8tc2NvcmVib2FyZC1jYXJkX19yYW5rIHtcbiAgICAgICAgbWluLXdpZHRoOiAyMHB4O1xuICAgICAgICBoZWlnaHQ6IDIycHg7XG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXhzKTtcbiAgICB9XG5cbiAgICAuY29tcG8tc2NvcmVib2FyZC1jYXJkX19jb250ZW50IHtcbiAgICAgICAgZ2FwOiB2YXIoLS1zcGFjZS0yeHMpO1xuICAgIH1cblxuICAgIC5jb21wby1zY29yZWJvYXJkLWNhcmRfX2hlYWRlciB7XG4gICAgICAgIGdhcDogdmFyKC0tc3BhY2UteHMpO1xuICAgIH1cblxuICAgIC5jb21wby1zY29yZWJvYXJkLWNhcmRfX3BhcnRpY2lwYW50IHtcbiAgICAgICAgZ2FwOiB2YXIoLS1zcGFjZS14cyk7XG4gICAgfVxuXG4gICAgLmNvbXBvLXNjb3JlYm9hcmQtY2FyZF9fcGFydGljaXBhbnQgLmNvdW50cnlfZmxhZ3Mge1xuICAgICAgICB3aWR0aDogdmFyKC0tc3BhY2Utc20pO1xuICAgICAgICBoZWlnaHQ6IHZhcigtLXNwYWNlLXNtKTtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiB2YXIoLS1zcGFjZS1zbSk7XG4gICAgfVxuXG4gICAgLmNvbXBvLXNjb3JlYm9hcmQtY2FyZF9fYXZhdGFyIHtcbiAgICAgICAgd2lkdGg6IDIycHg7XG4gICAgICAgIGhlaWdodDogMjJweDtcbiAgICB9XG5cbiAgICAuY29tcG8tc2NvcmVib2FyZC1jYXJkX19uYW1lIHtcbiAgICAgICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteHMpO1xuICAgIH1cblxuICAgIC5jb21wby1zY29yZWJvYXJkLWNhcmRfX3RvdGFsLXZhbHVlIHtcbiAgICAgICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtc20pO1xuICAgIH1cblxuICAgIC5jb21wby1zY29yZWJvYXJkLWNhcmRfX2N1cHMge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICAgICAgb3ZlcmZsb3cteTogaGlkZGVuO1xuICAgICAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gICAgICAgIHNjcm9sbGJhci13aWR0aDogbm9uZTtcbiAgICAgICAgLW1zLW92ZXJmbG93LXN0eWxlOiBub25lO1xuICAgICAgICBnYXA6IHZhcigtLXNwYWNlLXNtKTtcbiAgICAgICAgcGFkZGluZy10b3A6IHZhcigtLXNwYWNlLXNtKTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDJweDtcbiAgICB9XG5cbiAgICAuY29tcG8tc2NvcmVib2FyZC1jYXJkX19jdXBzOjotd2Via2l0LXNjcm9sbGJhciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLmNvbXBvLXNjb3JlYm9hcmQtY3VwIHtcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICAgIHBhZGRpbmc6IDJweCA2cHg7XG4gICAgICAgIGdhcDogdmFyKC0tc3BhY2UtMnhzKTtcbiAgICAgICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtMnhzKTtcbiAgICB9XG5cbiAgICAuY29tcG8tc2NvcmVib2FyZC1jdXBfX2xhYmVsIHtcbiAgICAgICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtMnhzKTtcbiAgICB9XG5cbiAgICAuY29tcG8tc2NvcmVib2FyZC1jdXBfX3Njb3JlIHtcbiAgICAgICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtMnhzKTtcbiAgICB9XG5cbiAgICAuY29tcG8tc2NvcmVib2FyZC1jdXBfX3BvaW50cyB7XG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLTJ4cyk7XG4gICAgfVxuXG4gICAgLyogVXNlciBSYW5raW5nIExvZyBDYXJkIExheW91dCAoPD0gMTIwMHB4KVxuICAgICAgIHwgZGF0ZSAgICAgICAgICAgICAgICAgICAgICAgc2NvcmUgICAgICB8XG4gICAgICAgfCBiZW5jaG1hcmsgICAgICAgICAgICAgICAgICBoYXJkd2FyZSAgIHxcbiAgICAgICB8IHJhbmsgc2hpZnQgICAgICAgICAgICAgICAgIHBvaW50cyAgICAgfFxuICAgICovXG4gICAgLnJhbmtpbmctbG9nLXRhYmxlLFxuICAgIC5yYW5raW5nLWxvZy10YWJsZSB0Ym9keSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGdhcDogdmFyKC0tc3BhY2UteHMpO1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIH1cblxuICAgIC5yYW5raW5nLWxvZy10YWJsZSB0aGVhZCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLnJhbmtpbmctbG9nLXRhYmxlIHRib2R5IHRyIHtcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgYXV0bztcbiAgICAgICAgZ2FwOiB2YXIoLS1zcGFjZS0yeHMpIHZhcigtLXNwYWNlLXNtKTtcbiAgICAgICAgcGFkZGluZzogdmFyKC0tc3BhY2Utc20pIHZhcigtLXNwYWNlLW1kKTtcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctc3VyZmFjZSk7XG4gICAgICAgIGJvcmRlcjogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItc3VidGxlKTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cyk7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KSwgYm9yZGVyLWNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCk7XG4gICAgfVxuXG4gICAgLnJhbmtpbmctbG9nLXRhYmxlIHRib2R5IHRyOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmctaG92ZXIpO1xuICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLWJvcmRlci1zdGFuZGFyZCk7XG4gICAgfVxuXG4gICAgLnJhbmtpbmctbG9nLXRhYmxlIHRib2R5IHRyIHRkIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gICAgfVxuXG4gICAgLyogSGlkZSBVc2VyLCBSYW5raW5nIGNhdGVnb3J5LCBhbmQgc3RhbmRhbG9uZSBDb29saW5nIG9uIG1vYmlsZSBjYXJkICovXG4gICAgLnJhbmtpbmctbG9nLXRhYmxlIHRib2R5IHRyIHRkLmNvbC11c2VyLFxuICAgIC5yYW5raW5nLWxvZy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtcmFua2luZyxcbiAgICAucmFua2luZy1sb2ctdGFibGUgdGJvZHkgdHIgdGQuY29sLWNvb2xpbmcge1xuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLyogUm93IDE6IExlZnQgPSBEYXRlLCBSaWdodCA9IFNjb3JlICovXG4gICAgLnJhbmtpbmctbG9nLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1kYXRlIHtcbiAgICAgICAgb3JkZXI6IDE7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXhzKTtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbiAgICB9XG5cbiAgICAucmFua2luZy1sb2ctdGFibGUgdGJvZHkgdHIgdGQuY29sLXNjb3JlIHtcbiAgICAgICAgb3JkZXI6IDI7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICBqdXN0aWZ5LXNlbGY6IGVuZDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1wcmltYXJ5KTtcbiAgICB9XG5cbiAgICAucmFua2luZy1sb2ctdGFibGUgdGJvZHkgdHIgdGQuY29sLXNjb3JlIGEge1xuICAgICAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgfVxuXG4gICAgLyogUm93IDI6IExlZnQgPSBCZW5jaG1hcmssIFJpZ2h0ID0gSGFyZHdhcmUgKi9cbiAgICAucmFua2luZy1sb2ctdGFibGUgdGJvZHkgdHIgdGQuY29sLWJlbmNobWFyayB7XG4gICAgICAgIG9yZGVyOiAzO1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtc2VtaWJvbGQpO1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1wcmltYXJ5KTtcbiAgICB9XG5cbiAgICAucmFua2luZy1sb2ctdGFibGUgdGJvZHkgdHIgdGQuY29sLWhhcmR3YXJlIHtcbiAgICAgICAgb3JkZXI6IDQ7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICBqdXN0aWZ5LXNlbGY6IGVuZDtcbiAgICAgICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteHMpO1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xuICAgIH1cblxuICAgIC5yYW5raW5nLWxvZy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtaGFyZHdhcmUgLnJhbmtpbmctbG9nLWNvcmVzIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IHZhcigtLXNwYWNlLTJ4cyk7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXRlcnRpYXJ5KTtcbiAgICB9XG5cbiAgICAvKiBSb3cgMzogTGVmdCA9IFJhbmsgc2hpZnQsIFJpZ2h0ID0gUG9pbnRzIHNoaWZ0ICovXG4gICAgLnJhbmtpbmctbG9nLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1yYW5rIHtcbiAgICAgICAgb3JkZXI6IDU7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIHBhZGRpbmctdG9wOiB2YXIoLS1zcGFjZS1zKTtcbiAgICAgICAgYm9yZGVyLXRvcDogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItc3VidGxlKTtcbiAgICAgICAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2UtMnhzKTtcbiAgICAgICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteHMpO1xuICAgICAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtc2VtaWJvbGQpO1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1wcmltYXJ5KTtcbiAgICB9XG5cbiAgICAucmFua2luZy1sb2ctdGFibGUgdGJvZHkgdHIgdGQuY29sLXBvaW50cyB7XG4gICAgICAgIG9yZGVyOiA2O1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAganVzdGlmeS1zZWxmOiBlbmQ7XG4gICAgICAgIHBhZGRpbmctdG9wOiB2YXIoLS1zcGFjZS1zKTtcbiAgICAgICAgYm9yZGVyLXRvcDogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItc3VidGxlKTtcbiAgICAgICAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2UtMnhzKTtcbiAgICAgICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteHMpO1xuICAgICAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1icmFuZCk7XG4gICAgfVxuXG4gICAgLnJhbmtpbmctbG9nLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1wb2ludHM6ZW1wdHkge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC8qIFVzZXIgUG9pbnRzIFRhYmxlIENhcmQgTGF5b3V0ICg8PSAxMjAwcHgpXG4gICAgICAgQmVuY2htYXJrIENhcmQ6XG4gICAgICAgfCBiZW5jaG1hcmsgICAgICAgICAgICAgICAgICAgICAgc2NvcmUgfFxuICAgICAgIHwgaGFyZHdhcmUgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHxcbiAgICAgICB8IGNvb2xpbmcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8XG4gICAgICAgfCByYW5rICh0cm9waHkvIykgICAgICAgICAgICAgICBwb2ludHMgfFxuICAgICAgIENvbXBldGl0aW9uIENhcmQ6XG4gICAgICAgfCBjb21wZXRpdGlvbiAgICAgICAgICAgICAgICAgICAgbGV2ZWwgfFxuICAgICAgIHwgZGF0ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHxcbiAgICAgICB8IHJhbmsgKHRyb3BoeS8jKSAgICAgICAgICAgICAgIHBvaW50cyB8XG4gICAgKi9cbiAgICAudXNlci1wb2ludHMtdGFibGUsXG4gICAgLnVzZXItcG9pbnRzLXRhYmxlIHRib2R5IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgZ2FwOiB2YXIoLS1zcGFjZS14cyk7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgfVxuXG4gICAgLnVzZXItcG9pbnRzLXRhYmxlIHRoZWFkIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAudXNlci1wb2ludHMtdGFibGUgdGJvZHkgdHIge1xuICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciBhdXRvO1xuICAgICAgICBnYXA6IHZhcigtLXNwYWNlLTJ4cykgdmFyKC0tc3BhY2Utc20pO1xuICAgICAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS1zbSkgdmFyKC0tc3BhY2UtbWQpO1xuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy1zdXJmYWNlKTtcbiAgICAgICAgYm9yZGVyOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1zdWJ0bGUpO1xuICAgICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKTtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpLCBib3JkZXItY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KTtcbiAgICB9XG5cbiAgICAudXNlci1wb2ludHMtdGFibGUgdGJvZHkgdHI6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iZy1ob3Zlcik7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItYm9yZGVyLXN0YW5kYXJkKTtcbiAgICB9XG5cbiAgICAudXNlci1wb2ludHMtdGFibGUgdGJvZHkgdHIgdGQge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgICB9XG5cbiAgICAvKiBCZW5jaG1hcmsgY2FyZCBmaWVsZHMgKi9cbiAgICAudXNlci1wb2ludHMtdGFibGUgdGJvZHkgdHIgdGQuY29sLWJlbmNobWFyayB7XG4gICAgICAgIG9yZGVyOiAxO1xuICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1zZW1pYm9sZCk7XG4gICAgfVxuXG4gICAgLnVzZXItcG9pbnRzLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1zY29yZSB7XG4gICAgICAgIG9yZGVyOiAyO1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAganVzdGlmeS1zZWxmOiBlbmQ7XG4gICAgfVxuXG4gICAgLnVzZXItcG9pbnRzLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1oYXJkd2FyZSB7XG4gICAgICAgIG9yZGVyOiAzO1xuICAgICAgICBncmlkLWNvbHVtbjogMSAvIC0xO1xuICAgICAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14cyk7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG4gICAgfVxuXG4gICAgLnVzZXItcG9pbnRzLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1oYXJkd2FyZTplbXB0eSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLnVzZXItcG9pbnRzLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1jb29saW5nIHtcbiAgICAgICAgb3JkZXI6IDQ7XG4gICAgICAgIGdyaWQtY29sdW1uOiAxIC8gLTE7XG4gICAgfVxuXG4gICAgLnVzZXItcG9pbnRzLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1jb29saW5nOmVtcHR5IHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAudXNlci1wb2ludHMtdGFibGUgdGJvZHkgdHIgdGQuY29sLWRhdGUge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC51c2VyLXBvaW50cy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtcmFuayB7XG4gICAgICAgIG9yZGVyOiA1O1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICBwYWRkaW5nLXRvcDogdmFyKC0tc3BhY2Utcyk7XG4gICAgICAgIGJvcmRlci10b3A6IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLXN1YnRsZSk7XG4gICAgICAgIG1hcmdpbi10b3A6IHZhcigtLXNwYWNlLTJ4cyk7XG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXhzKTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LXNlbWlib2xkKTtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtcHJpbWFyeSk7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBnYXA6IHZhcigtLXNwYWNlLTJ4cyk7XG4gICAgfVxuXG4gICAgLnVzZXItcG9pbnRzLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1wb2ludHMge1xuICAgICAgICBvcmRlcjogNjtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgIGp1c3RpZnktc2VsZjogZW5kO1xuICAgICAgICBwYWRkaW5nLXRvcDogdmFyKC0tc3BhY2Utcyk7XG4gICAgICAgIGJvcmRlci10b3A6IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLXN1YnRsZSk7XG4gICAgICAgIG1hcmdpbi10b3A6IHZhcigtLXNwYWNlLTJ4cyk7XG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXhzKTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItYnJhbmQpO1xuICAgIH1cblxuICAgIC8qIENvbXBldGl0aW9uIGNhcmQgc3BlY2lmaWNzICovXG4gICAgLnVzZXItcG9pbnRzLXRhYmxlLS1jb21wZXRpdGlvbiB0Ym9keSB0ciB0ZC5jb2wtY29tcGV0aXRpb24ge1xuICAgICAgICBvcmRlcjogMTtcbiAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtc2VtaWJvbGQpO1xuICAgIH1cblxuICAgIC51c2VyLXBvaW50cy10YWJsZS0tY29tcGV0aXRpb24gdGJvZHkgdHIgdGQuY29sLWxldmVsIHtcbiAgICAgICAgb3JkZXI6IDI7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICBqdXN0aWZ5LXNlbGY6IGVuZDtcbiAgICAgICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteHMpO1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xuICAgIH1cblxuICAgIC51c2VyLXBvaW50cy10YWJsZS0tY29tcGV0aXRpb24gdGJvZHkgdHIgdGQuY29sLWRhdGUge1xuICAgICAgICBvcmRlcjogMztcbiAgICAgICAgZ3JpZC1jb2x1bW46IDEgLyAtMTtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteHMpO1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xuICAgIH1cblxuICAgIC5yYW5raW5nLWhpZ2hsaWdodC1ncmlkIHtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG4gICAgICAgIGdhcDogdmFyKC0tc3BhY2UteHMpO1xuICAgIH1cblxuICAgIC8qIFVzZXIgUHJvZmlsZSAmIFRlYW0gV2FsbCBSZXNwb25zaXZlIENhcmQgTGF5b3V0ICg8PSAxMjAwcHgpICovXG4gICAgLndhbGwtc3VibWlzc2lvbi1jYXJkIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2Utc20pO1xuICAgICAgICBib3JkZXI6IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLXN1YnRsZSk7XG4gICAgfVxuXG4gICAgLndhbGwtY2FyZF9fYm9keSB7XG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIGF1dG87XG4gICAgICAgIGdhcDogdmFyKC0tc3BhY2UteHMpIHZhcigtLXNwYWNlLXNtKTtcbiAgICAgICAgcGFkZGluZzogdmFyKC0tc3BhY2Utc20pIHZhcigtLXNwYWNlLW1kKTtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgICB9XG5cbiAgICAud2FsbC1jYXJkX191c2VyIHtcbiAgICAgICAgb3JkZXI6IDE7XG4gICAgICAgIGdyaWQtY29sdW1uOiAxO1xuICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgfVxuXG4gICAgLndhbGwtY2FyZF9fc2NvcmUge1xuICAgICAgICBvcmRlcjogMjtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDI7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAganVzdGlmeS1zZWxmOiBlbmQ7XG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLW1kKTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgIH1cblxuICAgIC53YWxsLWNhcmRfX2JlbmNobWFyayB7XG4gICAgICAgIG9yZGVyOiAzO1xuICAgICAgICBncmlkLWNvbHVtbjogMSAvIC0xO1xuICAgICAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1zbSk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1zZW1pYm9sZCk7XG4gICAgICAgIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7XG4gICAgfVxuXG4gICAgLndhbGwtY2FyZF9faGFyZHdhcmUge1xuICAgICAgICBvcmRlcjogNDtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDE7XG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXhzKTtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbiAgICAgICAgd29yZC1icmVhazogYnJlYWstd29yZDtcbiAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgIH1cblxuICAgIC53YWxsLWNhcmRfX2RhdGUge1xuICAgICAgICBvcmRlcjogNTtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDI7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICBqdXN0aWZ5LXNlbGY6IGVuZDtcbiAgICAgICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteHMpO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICBhbGlnbi1zZWxmOiBzdGFydDtcbiAgICB9XG5cbiAgICAud2FsbC1jYXJkX19jb3JlcyB7XG4gICAgICAgIG9yZGVyOiA2O1xuICAgICAgICBncmlkLWNvbHVtbjogMTtcbiAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIH1cblxuICAgIC53YWxsLWNhcmRfX2Nvb2xpbmcge1xuICAgICAgICBvcmRlcjogNztcbiAgICAgICAgZ3JpZC1jb2x1bW46IDI7XG4gICAgICAgIGp1c3RpZnktc2VsZjogZW5kO1xuICAgIH1cblxuICAgIC53YWxsLWNhcmRfX2Nvb2xpbmc6ZW1wdHkge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC53YWxsLWNhcmRfX3JhbmtpbmdzIHtcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maXQsIG1pbm1heCgxMzBweCwgMWZyKSk7XG4gICAgICAgIGdhcDogdmFyKC0tc3BhY2UteHMpO1xuICAgICAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS14cykgdmFyKC0tc3BhY2UtbWQpO1xuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy1zdWJ0bGUpO1xuICAgICAgICBib3JkZXItdG9wOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1zdWJ0bGUpO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICAgIH1cblxuICAgIC53YWxsLWNhcmRfX3JhbmtpbmdzIC5ncmlkLXNwZWMge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgIH1cblxuICAgIC53YWxsLWNhcmRfX3JhbmtpbmdzIC5ncmlkLXNwZWMtcm93IHtcbiAgICAgICAgcGFkZGluZzogdmFyKC0tc3BhY2UtMnhzKSAwO1xuICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICB9XG5cbiAgICAud2FsbC1jYXJkX19yYW5raW5ncyAuYXR0cmlidXRlIHtcbiAgICAgICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteHMpO1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICAgICAgICB3b3JkLWJyZWFrOiBicmVhay13b3JkO1xuICAgIH1cblxuICAgIC53YWxsLWNhcmRfX3JhbmtpbmdzIC52YWx1ZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXhzKTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LXNlbWlib2xkKTtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtcHJpbWFyeSk7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gICAgICAgIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7XG4gICAgfVxuXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDgwcHgpIHtcbiAgICAgICAgLndhbGwtY2FyZF9fcmFua2luZ3Mge1xuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG4gICAgICAgICAgICBnYXA6IHZhcigtLXNwYWNlLTJ4cyk7XG4gICAgICAgIH1cblxuICAgICAgICAud2FsbC1jYXJkX19yYW5raW5ncyAuZ3JpZC1zcGVjLXJvdy0tc3RhY2tlZCB7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgfVxuXG4gICAgICAgIC53YWxsLWNhcmRfX3JhbmtpbmdzIC52YWx1ZSB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyogQmVuY2htYXJrIFJhbmtpbmcgVGFibGUgLSBDYXJkLWJhc2VkIDMtTGluZSBMZWFkZXJib2FyZCAoPD0gMTIwMHB4KVxuICAgICAgIHwgcmFuayB8IHNjb3JlICAgICAgICAgICAgICAgICAgICAgICAgIHVzZXIgICAgfFxuICAgICAgIHwgICAgICB8IGNvcmVzIGhhcmR3YXJlICAgICAgICAgICAgICAgICAgICAgICAgfFxuICAgICAgIHwgICAgICB8IGNvb2xpbmcgICAgICAgICAgICAgICAgICAgICAgIHBvaW50cyAgfFxuICAgICovXG4gICAgLmJlbmNobWFyay1yYW5raW5nLXRhYmxlIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgIH1cblxuICAgIC5iZW5jaG1hcmstcmFua2luZy10YWJsZSB0aGVhZCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAuYmVuY2htYXJrLXJhbmtpbmctdGFibGUgdGJvZHkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLXN1cmZhY2UpO1xuICAgICAgICBib3JkZXI6IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLXN1YnRsZSk7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIH1cblxuICAgIC5iZW5jaG1hcmstcmFua2luZy10YWJsZSB0Ym9keSB0ciB7XG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogYXV0byBtaW5tYXgoMCwgMWZyKSBhdXRvO1xuICAgICAgICBncmlkLXRlbXBsYXRlLXJvd3M6IGF1dG8gYXV0byBhdXRvO1xuICAgICAgICBnYXA6IHZhcigtLXNwYWNlLTJ4cykgdmFyKC0tc3BhY2Utc20pO1xuICAgICAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS1zbSkgdmFyKC0tc3BhY2UtbWQpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIGJvcmRlci1ib3R0b206IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLXN1YnRsZSk7XG4gICAgICAgIGJvcmRlci1sZWZ0OiB2YXIoLS1wb3MtbWFya2VyLXdpZHRoKSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctc3VyZmFjZSk7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KSwgYm9yZGVyLWxlZnQtY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KTtcbiAgICB9XG5cbiAgICAuYmVuY2htYXJrLXJhbmtpbmctdGFibGUgdGJvZHkgdHI6bGFzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgfVxuXG4gICAgLmJlbmNobWFyay1yYW5raW5nLXRhYmxlIHRib2R5IHRyOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmctaG92ZXIpO1xuICAgIH1cblxuICAgIC5iZW5jaG1hcmstcmFua2luZy10YWJsZSB0Ym9keSB0ci50YWJsZS1maXJzdC1wb3Mge1xuICAgICAgICBib3JkZXItbGVmdC1jb2xvcjogdmFyKC0tY29sb3ItcG9zLWZpcnN0KTtcbiAgICB9XG5cbiAgICAuYmVuY2htYXJrLXJhbmtpbmctdGFibGUgdGJvZHkgdHIudGFibGUtc2Vjb25kLXBvcyB7XG4gICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiB2YXIoLS1jb2xvci1wb3Mtc2Vjb25kKTtcbiAgICB9XG5cbiAgICAuYmVuY2htYXJrLXJhbmtpbmctdGFibGUgdGJvZHkgdHIudGFibGUtdGhpcmQtcG9zIHtcbiAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6IHZhcigtLWNvbG9yLXBvcy10aGlyZCk7XG4gICAgfVxuXG4gICAgLmJlbmNobWFyay1yYW5raW5nLXRhYmxlIHRib2R5IHRyIHRkIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gICAgfVxuXG4gICAgLyogQ29sIDEsIFJvdyAxOiBSYW5rICovXG4gICAgLmJlbmNobWFyay1yYW5raW5nLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1yYW5rLFxuICAgIC5iZW5jaG1hcmstcmFua2luZy10YWJsZSB0Ym9keSB0ci50YWJsZS1maXJzdC1wb3MgdGQuY29sLXJhbmssXG4gICAgLmJlbmNobWFyay1yYW5raW5nLXRhYmxlIHRib2R5IHRyLnRhYmxlLXNlY29uZC1wb3MgdGQuY29sLXJhbmssXG4gICAgLmJlbmNobWFyay1yYW5raW5nLXRhYmxlIHRib2R5IHRyLnRhYmxlLXRoaXJkLXBvcyB0ZC5jb2wtcmFuayB7XG4gICAgICAgIGdyaWQtY29sdW1uOiAxO1xuICAgICAgICBncmlkLXJvdzogMTtcbiAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LXNlbGY6IHN0YXJ0O1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgYm9yZGVyLWxlZnQ6IG5vbmU7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXByaW1hcnkpO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgcGFkZGluZzogMCB2YXIoLS1zcGFjZS14cykgMCAwO1xuICAgIH1cblxuICAgIC5iZW5jaG1hcmstcmFua2luZy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtcmFuayAudG9kYXktc3VibWlzc2lvbi1jYXJkX19yYW5rIHtcbiAgICAgICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtc20pO1xuICAgICAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXByaW1hcnkpO1xuICAgICAgICBtaW4td2lkdGg6IDI4cHg7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG5cbiAgICAvKiBSb3cgMSwgQ29sIDI6IFNjb3JlICovXG4gICAgLmJlbmNobWFyay1yYW5raW5nLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1zY29yZSB7XG4gICAgICAgIGdyaWQtY29sdW1uOiAyO1xuICAgICAgICBncmlkLXJvdzogMTtcbiAgICAgICAganVzdGlmeS1zZWxmOiBzdGFydDtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgIH1cblxuICAgIC5iZW5jaG1hcmstcmFua2luZy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtc2NvcmUgYSB7XG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXNtKTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgIH1cblxuICAgIC8qIFJvdyAxLCBDb2wgMzogVXNlciAqL1xuICAgIC5iZW5jaG1hcmstcmFua2luZy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtdXNlciB7XG4gICAgICAgIGdyaWQtY29sdW1uOiAzO1xuICAgICAgICBncmlkLXJvdzogMTtcbiAgICAgICAganVzdGlmeS1zZWxmOiBlbmQ7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuXG4gICAgLmJlbmNobWFyay1yYW5raW5nLXRhYmxlIHRib2R5IHRyIHRkLmNvbC11c2VyIC50b2RheS1zdWJtaXNzaW9uLWNhcmRfX3BhcnRpY2lwYW50IHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgfVxuXG4gICAgLmJlbmNobWFyay1yYW5raW5nLXRhYmxlIHRib2R5IHRyIHRkLmNvbC11c2VyIC50b2RheS1zdWJtaXNzaW9uLWNhcmRfX25hbWUge1xuICAgICAgICBtYXgtd2lkdGg6IDE0MHB4O1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB9XG5cbiAgICAvKiBSb3cgMiwgQ29sIDItMzogQ29yZXMgKyBIYXJkd2FyZSAqL1xuICAgIC5iZW5jaG1hcmstcmFua2luZy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtaGFyZHdhcmUge1xuICAgICAgICBncmlkLWNvbHVtbjogMiAvIDQ7XG4gICAgICAgIGdyaWQtcm93OiAyO1xuICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuXG4gICAgLmJlbmNobWFyay1yYW5raW5nLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1oYXJkd2FyZSAudG9kYXktc3VibWlzc2lvbi1jYXJkX19oYXJkd2FyZSB7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBnYXA6IHZhcigtLXNwYWNlLXhzKTtcbiAgICB9XG5cbiAgICAuYmVuY2htYXJrLXJhbmtpbmctdGFibGUgdGJvZHkgdHIgdGQuY29sLWhhcmR3YXJlIC50b2RheS1zdWJtaXNzaW9uLWNhcmRfX2hhcmR3YXJlIHNwYW46bm90KC50b2RheS1zdWJtaXNzaW9uLWNhcmRfX2NvcmVzKTpub3QoLnJhbmtpbmctaGlnaGxpZ2h0LWNhcmRfX2NvcmVzKTpub3QoLnRvZGF5LXN1Ym1pc3Npb24tY2FyZF9fY2xvY2spIHtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgfVxuXG4gICAgLmJlbmNobWFyay1yYW5raW5nLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1oYXJkd2FyZSAudG9kYXktc3VibWlzc2lvbi1jYXJkX19jbG9jayB7XG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIH1cblxuICAgIC5yYW5raW5nLWhpZ2hsaWdodC1jYXJkX19tZXRhIC50b2RheS1zdWJtaXNzaW9uLWNhcmRfX2Nsb2NrIHtcbiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC8qIFJvdyAzLCBDb2wgMjogQ29vbGluZyAqL1xuICAgIC5iZW5jaG1hcmstcmFua2luZy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtY29vbGluZyB7XG4gICAgICAgIGdyaWQtY29sdW1uOiAyO1xuICAgICAgICBncmlkLXJvdzogMztcbiAgICAgICAganVzdGlmeS1zZWxmOiBzdGFydDtcbiAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIH1cblxuICAgIC5iZW5jaG1hcmstcmFua2luZy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtY29vbGluZzplbXB0eSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLyogUm93IDMsIENvbCAzOiBQb2ludHMgKi9cbiAgICAuYmVuY2htYXJrLXJhbmtpbmctdGFibGUgdGJvZHkgdHIgdGQuY29sLXBvaW50cyB7XG4gICAgICAgIGdyaWQtY29sdW1uOiAzO1xuICAgICAgICBncmlkLXJvdzogMztcbiAgICAgICAganVzdGlmeS1zZWxmOiBlbmQ7XG4gICAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgfVxuXG4gICAgLmJlbmNobWFyay1yYW5raW5nLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1wb2ludHM6ZW1wdHkge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC8qIEhpZGUgRGVkaWNhdGVkIEJlbmNobWFyay9Db3JlcyBDb2x1bW4gb24gTW9iaWxlIChjb3JlcyBhcmUgaW5saW5lZCBpbiBjb2wtaGFyZHdhcmUpICovXG4gICAgLmJlbmNobWFyay1yYW5raW5nLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1iZW5jaG1hcmsge1xuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLyogQmVuY2htYXJrIEZpcnN0IFNwb3RzIFRhYmxlIC0gMi1Sb3cgQ2FyZCBMYXlvdXQgKDw9IDEyMDBweClcbiAgICAgICBSb3cgMTogWyBjb3JlcyAobGVmdCkgICAgc2NvcmUgKGxlZnQpICAgIGhhcmR3YXJlIChyZXN0KSBdXG4gICAgICAgUm93IDI6IFsgdXNlciAobGVmdCkgICAgIGNvb2xpbmcgKG1pZCkgICB2b3RlIChyaWdodCkgICAgXVxuICAgICovXG4gICAgLmJlbmNobWFyay1maXJzdC1zcG90cy10YWJsZSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICB9XG5cbiAgICAuYmVuY2htYXJrLWZpcnN0LXNwb3RzLXRhYmxlIHRoZWFkIHtcbiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5iZW5jaG1hcmstZmlyc3Qtc3BvdHMtdGFibGUgdGJvZHkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLXN1cmZhY2UpO1xuICAgICAgICBib3JkZXI6IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLXN1YnRsZSk7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIH1cblxuICAgIC5iZW5jaG1hcmstZmlyc3Qtc3BvdHMtdGFibGUgdGJvZHkgdHIge1xuICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IGF1dG8gYXV0byBtaW5tYXgoMCwgMWZyKSBhdXRvO1xuICAgICAgICBncmlkLXRlbXBsYXRlLXJvd3M6IGF1dG8gYXV0bztcbiAgICAgICAgZ2FwOiB2YXIoLS1zcGFjZS0yeHMpIHZhcigtLXNwYWNlLXNtKTtcbiAgICAgICAgcGFkZGluZzogdmFyKC0tc3BhY2Utc20pIHZhcigtLXNwYWNlLW1kKTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBib3JkZXItYm90dG9tOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1zdWJ0bGUpO1xuICAgICAgICBib3JkZXItbGVmdDogdmFyKC0tcG9zLW1hcmtlci13aWR0aCkgc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLXN1cmZhY2UpO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCksIGJvcmRlci1sZWZ0LWNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCk7XG4gICAgfVxuXG4gICAgLmJlbmNobWFyay1maXJzdC1zcG90cy10YWJsZSB0Ym9keSB0cjpsYXN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICB9XG5cbiAgICAuYmVuY2htYXJrLWZpcnN0LXNwb3RzLXRhYmxlIHRib2R5IHRyOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmctaG92ZXIpO1xuICAgICAgICBib3JkZXItbGVmdC1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG4gICAgfVxuXG4gICAgLmJlbmNobWFyay1maXJzdC1zcG90cy10YWJsZSB0Ym9keSB0ciB0ZCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICAgIH1cblxuICAgIC8qIFJvdyAxLCBDb2wgMTogQ29yZXMgLyBCZW5jaG1hcmsgY2F0ZWdvcnkgKi9cbiAgICAuYmVuY2htYXJrLWZpcnN0LXNwb3RzLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1iZW5jaG1hcmsge1xuICAgICAgICBncmlkLWNvbHVtbjogMTtcbiAgICAgICAgZ3JpZC1yb3c6IDE7XG4gICAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1zZWxmOiBzdGFydDtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgfVxuXG4gICAgLmJlbmNobWFyay1maXJzdC1zcG90cy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtYmVuY2htYXJrIC50b2RheS1zdWJtaXNzaW9uLWNhcmRfX2JlbmNobWFyay1saW5rIHtcbiAgICAgICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteHMpO1xuICAgICAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgfVxuXG4gICAgLyogUm93IDEsIENvbCAyOiBTY29yZSAqL1xuICAgIC5iZW5jaG1hcmstZmlyc3Qtc3BvdHMtdGFibGUgdGJvZHkgdHIgdGQuY29sLXNjb3JlIHtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDI7XG4gICAgICAgIGdyaWQtcm93OiAxO1xuICAgICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktc2VsZjogc3RhcnQ7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgfVxuXG4gICAgLmJlbmNobWFyay1maXJzdC1zcG90cy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtc2NvcmUgYSB7XG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXNtKTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgIH1cblxuICAgIC8qIFJvdyAxLCBDb2wgMy00OiBIYXJkd2FyZSAoc3BhbnMgdG8gcmlnaHQgZWRnZSkgKi9cbiAgICAuYmVuY2htYXJrLWZpcnN0LXNwb3RzLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1oYXJkd2FyZSB7XG4gICAgICAgIGdyaWQtY29sdW1uOiAzIC8gLTE7XG4gICAgICAgIGdyaWQtcm93OiAxO1xuICAgICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgICAgIG1pbi13aWR0aDogMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICB9XG5cbiAgICAuYmVuY2htYXJrLWZpcnN0LXNwb3RzLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1oYXJkd2FyZSAudG9kYXktc3VibWlzc2lvbi1jYXJkX19oYXJkd2FyZSB7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBnYXA6IHZhcigtLXNwYWNlLXhzKTtcbiAgICAgICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteHMpO1xuICAgIH1cblxuICAgIC5iZW5jaG1hcmstZmlyc3Qtc3BvdHMtdGFibGUgdGJvZHkgdHIgdGQuY29sLWhhcmR3YXJlIC50b2RheS1zdWJtaXNzaW9uLWNhcmRfX2hhcmR3YXJlIHNwYW46bm90KC50b2RheS1zdWJtaXNzaW9uLWNhcmRfX2Nsb2NrKSB7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIH1cblxuICAgIC5iZW5jaG1hcmstZmlyc3Qtc3BvdHMtdGFibGUgdGJvZHkgdHIgdGQuY29sLWhhcmR3YXJlIC50b2RheS1zdWJtaXNzaW9uLWNhcmRfX2Nsb2NrIHtcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXhzKTtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbXV0ZWQpO1xuICAgIH1cblxuICAgIC8qIFJvdyAyLCBDb2wgMS0yOiBVc2VyIChzcGFucyBjb2xzIDEgYW5kIDIpICovXG4gICAgLmJlbmNobWFyay1maXJzdC1zcG90cy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtdXNlciB7XG4gICAgICAgIGdyaWQtY29sdW1uOiAxIC8gMztcbiAgICAgICAgZ3JpZC1yb3c6IDI7XG4gICAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1zZWxmOiBzdGFydDtcbiAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgIH1cblxuICAgIC5iZW5jaG1hcmstZmlyc3Qtc3BvdHMtdGFibGUgdGJvZHkgdHIgdGQuY29sLXVzZXIgLnRvZGF5LXN1Ym1pc3Npb24tY2FyZF9fcGFydGljaXBhbnQge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZ2FwOiB2YXIoLS1zcGFjZS14cyk7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgIH1cblxuICAgIC5iZW5jaG1hcmstZmlyc3Qtc3BvdHMtdGFibGUgdGJvZHkgdHIgdGQuY29sLXVzZXIgLnRvZGF5LXN1Ym1pc3Npb24tY2FyZF9fYXZhdGFyIHtcbiAgICAgICAgd2lkdGg6IDE4cHg7XG4gICAgICAgIGhlaWdodDogMThweDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1mdWxsKTtcbiAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIH1cblxuICAgIC5iZW5jaG1hcmstZmlyc3Qtc3BvdHMtdGFibGUgdGJvZHkgdHIgdGQuY29sLXVzZXIgLnRvZGF5LXN1Ym1pc3Npb24tY2FyZF9fbmFtZSB7XG4gICAgICAgIG1heC13aWR0aDogMTIwcHg7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14cyk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1tZWRpdW0pO1xuICAgIH1cblxuICAgIC8qIFJvdyAyLCBDb2wgMzogQ29vbGluZyBiYWRnZSAqL1xuICAgIC5iZW5jaG1hcmstZmlyc3Qtc3BvdHMtdGFibGUgdGJvZHkgdHIgdGQuY29sLWNvb2xpbmcge1xuICAgICAgICBncmlkLWNvbHVtbjogMztcbiAgICAgICAgZ3JpZC1yb3c6IDI7XG4gICAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1zZWxmOiBzdGFydDtcbiAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB9XG5cbiAgICAuYmVuY2htYXJrLWZpcnN0LXNwb3RzLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1jb29saW5nOmVtcHR5IHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAvKiBSb3cgMiwgQ29sIDQ6IFZvdGUgcGlsbCAocGlubmVkIHRvIHJpZ2h0KSAqL1xuICAgIC5iZW5jaG1hcmstZmlyc3Qtc3BvdHMtdGFibGUgdGJvZHkgdHIgdGQuY29sLWFjdGlvbnMge1xuICAgICAgICBncmlkLWNvbHVtbjogNDtcbiAgICAgICAgZ3JpZC1yb3c6IDI7XG4gICAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1zZWxmOiBlbmQ7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIH1cblxuICAgIC5iZW5jaG1hcmstZmlyc3Qtc3BvdHMtdGFibGUgdGJvZHkgdHIgdGQuY29sLWFjdGlvbnMgLnRvZGF5LXN1Ym1pc3Npb24tY2FyZF9fYWN0aW9ucyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgfVxuXG5cbiAgICAvKiBNZW1iZXIgQ2FyZCBSb3cgTWFwcGluZyAoPD0gMTIwMHB4KVxuICAgICAgIFJvdyAxOiBbIHVzZXIgKGxlZnQpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRlYW0gKHJpZ2h0KSBdXG4gICAgICAgUm93IDI6IFsgbGVhZ3VlIChsZWZ0KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaW5jZSAocmlnaHQpIF1cbiAgICAgICBSb3cgMzogWyByYW5rIChsZWZ0KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9pbnRzIChyaWdodCkgXVxuICAgICovXG4gICAgLm1lbWJlci10YWJsZSB0Ym9keSB0ciB7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIGF1dG87XG4gICAgfVxuXG4gICAgLm1lbWJlci10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtcmFuayxcbiAgICAubWVtYmVyLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1yb2xlcyB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAvKiBSb3cgMTogTGVmdCA9IFVzZXIsIFJpZ2h0ID0gVGVhbSAqL1xuICAgIC5tZW1iZXItdGFibGUgdGJvZHkgdHIgdGQuY29sLXVzZXIge1xuICAgICAgICBvcmRlcjogMTtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDE7XG4gICAgICAgIGdyaWQtcm93OiAxO1xuICAgICAgICBqdXN0aWZ5LXNlbGY6IHN0YXJ0O1xuICAgICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgICAgIG1pbi13aWR0aDogMDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogdmFyKC0tc3BhY2UteHMpO1xuICAgIH1cblxuICAgIC5tZW1iZXItdGFibGUgdGJvZHkgdHIgdGQuY29sLXVzZXIgLm1lbWJlci1jYXJkX19uYW1lIHtcbiAgICAgICAgbWF4LXdpZHRoOiAxNDBweDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB9XG5cbiAgICAubWVtYmVyLXRhYmxlIHRib2R5IHRyIHRkLmNvbC10ZWFtIHtcbiAgICAgICAgb3JkZXI6IDI7XG4gICAgICAgIGdyaWQtY29sdW1uOiAyO1xuICAgICAgICBncmlkLXJvdzogMTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgIGp1c3RpZnktc2VsZjogZW5kO1xuICAgICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgICAgIG1pbi13aWR0aDogMDtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgfVxuXG4gICAgLm1lbWJlci10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtdGVhbTplbXB0eSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLm1lbWJlci10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtdGVhbSAubWVtYmVyLWNhcmRfX3RlYW0ge1xuICAgICAgICBtYXgtd2lkdGg6IG1pbigxNjBweCwgNDV2dyk7XG4gICAgfVxuXG4gICAgLyogUm93IDI6IExlZnQgPSBMZWFndWUsIFJpZ2h0ID0gU2luY2UgKi9cbiAgICAubWVtYmVyLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1sZWFndWUge1xuICAgICAgICBvcmRlcjogMztcbiAgICAgICAgZ3JpZC1jb2x1bW46IDE7XG4gICAgICAgIGdyaWQtcm93OiAyO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1zZWxmOiBzdGFydDtcbiAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLTJ4cykgMDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogdmFyKC0tc3BhY2UteHMpO1xuICAgIH1cblxuICAgIC5tZW1iZXItdGFibGUgdGJvZHkgdHIgdGQuY29sLWxlYWd1ZTplbXB0eSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLm1lbWJlci10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtam9pbmVkIHtcbiAgICAgICAgb3JkZXI6IDQ7XG4gICAgICAgIGdyaWQtY29sdW1uOiAyO1xuICAgICAgICBncmlkLXJvdzogMjtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgIGp1c3RpZnktc2VsZjogZW5kO1xuICAgICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS0yeHMpIDA7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIH1cblxuICAgIC5tZW1iZXItdGFibGUgdGJvZHkgdHIgdGQuY29sLWpvaW5lZDplbXB0eSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLyogUm93IDM6IExlZnQgPSBSYW5rLCBSaWdodCA9IFBvaW50cyAqL1xuICAgIC5tZW1iZXItdGFibGUgdGJvZHkgdHIgdGQuY29sLWNhcmVlci1yYW5rIHtcbiAgICAgICAgb3JkZXI6IDU7XG4gICAgICAgIGdyaWQtY29sdW1uOiAxO1xuICAgICAgICBncmlkLXJvdzogMztcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktc2VsZjogc3RhcnQ7XG4gICAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgcGFkZGluZzogdmFyKC0tc3BhY2UtMnhzKSAwO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1zcGFjZS14cyk7XG4gICAgfVxuXG4gICAgLm1lbWJlci10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtY2FyZWVyLXJhbms6ZW1wdHkge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC5tZW1iZXItdGFibGUgdGJvZHkgdHIgdGQuY29sLWNhcmVlci1wb2ludHMge1xuICAgICAgICBvcmRlcjogNjtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDI7XG4gICAgICAgIGdyaWQtcm93OiAzO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgICAganVzdGlmeS1zZWxmOiBlbmQ7XG4gICAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICAgICAgcGFkZGluZzogdmFyKC0tc3BhY2UtMnhzKSAwO1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICB9XG5cbiAgICAubWVtYmVyLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1jYXJlZXItcG9pbnRzOmVtcHR5IHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAvKiBBY3Rpb25zIChJbXBlcnNvbmF0ZSBmb3IgQWRtaW4pICovXG4gICAgLm1lbWJlci10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtYWN0aW9ucyB7XG4gICAgICAgIG9yZGVyOiA3O1xuICAgICAgICBncmlkLWNvbHVtbjogMSAvIC0xO1xuICAgICAgICBncmlkLXJvdzogNDtcbiAgICAgICAganVzdGlmeS1zZWxmOiBlbmQ7XG4gICAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICAgICAgcGFkZGluZy10b3A6IHZhcigtLXNwYWNlLTJ4cyk7XG4gICAgfVxuXG4gICAgLm1lbWJlci10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtYWN0aW9uczplbXB0eSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLyogVGVhbSBDYXJkIFJvdyBNYXBwaW5nICg8PSAxMjAwcHgpICovXG4gICAgLnRlYW0tdGFibGUgdGJvZHkgdHIge1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciBhdXRvO1xuICAgIH1cblxuICAgIC50ZWFtLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1yYW5rLFxuICAgIC50ZWFtLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1jYXB0YWlucyB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAudGVhbS10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtdGVhbSB7XG4gICAgICAgIGdyaWQtY29sdW1uOiAxIC8gLTE7XG4gICAgICAgIGdyaWQtcm93OiAxO1xuICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjZS14cyk7XG4gICAgfVxuXG4gICAgLnRlYW0tdGFibGUgdGJvZHkgdHIgdGQuY29sLW1lbWJlcnMge1xuICAgICAgICBncmlkLWNvbHVtbjogMTtcbiAgICAgICAgZ3JpZC1yb3c6IDI7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LXNlbGY6IHN0YXJ0O1xuICAgICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLTJ4cykgMDtcbiAgICB9XG5cbiAgICAudGVhbS10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtbWVtYmVyczplbXB0eSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLnRlYW0tdGFibGUgdGJvZHkgdHIgdGQuY29sLXN0YXR1cyB7XG4gICAgICAgIGdyaWQtY29sdW1uOiAyO1xuICAgICAgICBncmlkLXJvdzogMjtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgIGp1c3RpZnktc2VsZjogZW5kO1xuICAgICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLTJ4cykgMDtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgfVxuXG4gICAgLnRlYW0tdGFibGUgdGJvZHkgdHIgdGQuY29sLXN0YXR1czplbXB0eSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLyogU3VibWlzc2lvbnMgQ2FyZCBMYXlvdXQgKDw9IDEyMDBweClcbiAgICAgICBSb3cgMTogWyBiZW5jaG1hcmsgKGxlZnQpICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzY29yZSAocmlnaHQpIF1cbiAgICAgICBSb3cgMjogWyBoYXJkd2FyZSAobGVmdCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29vbGluZyAocmlnaHQpIF1cbiAgICAgICBSb3cgMzogWyB1c2VyIChsZWZ0KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvaW50cyAocmlnaHQpIF1cbiAgICAqL1xuICAgIC5zZWFyY2gtc3VibWlzc2lvbnMtdGFibGUgdGJvZHkgdHIsXG4gICAgLnRlYW0tc3VibWlzc2lvbnMtdGFibGUgdGJvZHkgdHIge1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IG1pbm1heCgwLCAxZnIpIGF1dG87XG4gICAgfVxuXG4gICAgLnRvZGF5LXN1Ym1pc3Npb25zLXdyYXBwZXIgLnNlYXJjaC1zdWJtaXNzaW9ucy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtcmFuayxcbiAgICAudG9kYXktc3VibWlzc2lvbnMtd3JhcHBlciAudGVhbS1zdWJtaXNzaW9ucy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtcmFuayB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAvKiBSb3cgMTogTGVmdCA9IEJlbmNobWFyaywgUmlnaHQgPSBTY29yZSAqL1xuICAgIC50b2RheS1zdWJtaXNzaW9ucy13cmFwcGVyIC5zZWFyY2gtc3VibWlzc2lvbnMtdGFibGUgdGJvZHkgdHIgdGQuY29sLWJlbmNobWFyayxcbiAgICAudG9kYXktc3VibWlzc2lvbnMtd3JhcHBlciAudGVhbS1zdWJtaXNzaW9ucy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtYmVuY2htYXJrIHtcbiAgICAgICAgb3JkZXI6IDE7XG4gICAgICAgIGdyaWQtY29sdW1uOiAxO1xuICAgICAgICBncmlkLXJvdzogMTtcbiAgICAgICAganVzdGlmeS1zZWxmOiBzdGFydDtcbiAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IHZhcigtLXNwYWNlLXhzKTtcbiAgICB9XG5cbiAgICAudG9kYXktc3VibWlzc2lvbnMtd3JhcHBlciAuc2VhcmNoLXN1Ym1pc3Npb25zLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1zY29yZSxcbiAgICAudG9kYXktc3VibWlzc2lvbnMtd3JhcHBlciAudGVhbS1zdWJtaXNzaW9ucy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtc2NvcmUge1xuICAgICAgICBvcmRlcjogMjtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDI7XG4gICAgICAgIGdyaWQtcm93OiAxO1xuICAgICAgICBqdXN0aWZ5LXNlbGY6IGVuZDtcbiAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICB9XG5cbiAgICAvKiBSb3cgMjogTGVmdCA9IEhhcmR3YXJlLCBSaWdodCA9IENvb2xpbmcgKi9cbiAgICAudG9kYXktc3VibWlzc2lvbnMtd3JhcHBlciAuc2VhcmNoLXN1Ym1pc3Npb25zLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1oYXJkd2FyZSxcbiAgICAudG9kYXktc3VibWlzc2lvbnMtd3JhcHBlciAudGVhbS1zdWJtaXNzaW9ucy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtaGFyZHdhcmUge1xuICAgICAgICBvcmRlcjogMztcbiAgICAgICAgZ3JpZC1jb2x1bW46IDE7XG4gICAgICAgIGdyaWQtcm93OiAyO1xuICAgICAgICBqdXN0aWZ5LXNlbGY6IHN0cmV0Y2g7XG4gICAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLTJ4cykgMDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogdmFyKC0tc3BhY2UteHMpO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIH1cblxuICAgIC50b2RheS1zdWJtaXNzaW9ucy13cmFwcGVyIC5zZWFyY2gtc3VibWlzc2lvbnMtdGFibGUgdGJvZHkgdHIgdGQuY29sLWNvb2xpbmcsXG4gICAgLnRvZGF5LXN1Ym1pc3Npb25zLXdyYXBwZXIgLnRlYW0tc3VibWlzc2lvbnMtdGFibGUgdGJvZHkgdHIgdGQuY29sLWNvb2xpbmcge1xuICAgICAgICBvcmRlcjogNDtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDI7XG4gICAgICAgIGdyaWQtcm93OiAyO1xuICAgICAgICBqdXN0aWZ5LXNlbGY6IGVuZDtcbiAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLTJ4cykgMDtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIH1cblxuICAgIC8qIFJvdyAzOiBMZWZ0ID0gVXNlciwgUmlnaHQgPSBQb2ludHMgKi9cbiAgICAudG9kYXktc3VibWlzc2lvbnMtd3JhcHBlciAuc2VhcmNoLXN1Ym1pc3Npb25zLXRhYmxlIHRib2R5IHRyIHRkLmNvbC11c2VyLFxuICAgIC50b2RheS1zdWJtaXNzaW9ucy13cmFwcGVyIC50ZWFtLXN1Ym1pc3Npb25zLXRhYmxlIHRib2R5IHRyIHRkLmNvbC11c2VyIHtcbiAgICAgICAgb3JkZXI6IDU7XG4gICAgICAgIGdyaWQtY29sdW1uOiAxO1xuICAgICAgICBncmlkLXJvdzogMztcbiAgICAgICAganVzdGlmeS1zZWxmOiBzdGFydDtcbiAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLTJ4cykgMDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogdmFyKC0tc3BhY2UteHMpO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgfVxuXG4gICAgLnRvZGF5LXN1Ym1pc3Npb25zLXdyYXBwZXIgLnNlYXJjaC1zdWJtaXNzaW9ucy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtdXNlciAudG9kYXktc3VibWlzc2lvbi1jYXJkX19wYXJ0aWNpcGFudCxcbiAgICAudG9kYXktc3VibWlzc2lvbnMtd3JhcHBlciAudGVhbS1zdWJtaXNzaW9ucy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtdXNlciAudG9kYXktc3VibWlzc2lvbi1jYXJkX19wYXJ0aWNpcGFudCB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGdhcDogdmFyKC0tc3BhY2UteHMpO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIG1pbi13aWR0aDogMDtcbiAgICB9XG5cbiAgICAudG9kYXktc3VibWlzc2lvbnMtd3JhcHBlciAuc2VhcmNoLXN1Ym1pc3Npb25zLXRhYmxlIHRib2R5IHRyIHRkLmNvbC11c2VyIC50b2RheS1zdWJtaXNzaW9uLWNhcmRfX25hbWUsXG4gICAgLnRvZGF5LXN1Ym1pc3Npb25zLXdyYXBwZXIgLnRlYW0tc3VibWlzc2lvbnMtdGFibGUgdGJvZHkgdHIgdGQuY29sLXVzZXIgLnRvZGF5LXN1Ym1pc3Npb24tY2FyZF9fbmFtZSB7XG4gICAgICAgIG1heC13aWR0aDogMTYwcHg7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgfVxuXG4gICAgLnRvZGF5LXN1Ym1pc3Npb25zLXdyYXBwZXIgLnNlYXJjaC1zdWJtaXNzaW9ucy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtcG9pbnRzLFxuICAgIC50b2RheS1zdWJtaXNzaW9ucy13cmFwcGVyIC50ZWFtLXN1Ym1pc3Npb25zLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1wb2ludHMge1xuICAgICAgICBvcmRlcjogNjtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDI7XG4gICAgICAgIGdyaWQtcm93OiAzO1xuICAgICAgICBqdXN0aWZ5LXNlbGY6IGVuZDtcbiAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgfVxuXG4gICAgLnRvZGF5LXN1Ym1pc3Npb25zLXdyYXBwZXIgLnNlYXJjaC1zdWJtaXNzaW9ucy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtcG9pbnRzOmVtcHR5LFxuICAgIC50b2RheS1zdWJtaXNzaW9ucy13cmFwcGVyIC50ZWFtLXN1Ym1pc3Npb25zLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1wb2ludHM6ZW1wdHkge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC50b2RheS1zdWJtaXNzaW9ucy13cmFwcGVyIC5zZWFyY2gtc3VibWlzc2lvbnMtdGFibGUgdGJvZHkgdHIgdGQuY29sLXBvaW50cyAudG9kYXktc3VibWlzc2lvbi1jYXJkX19wb2ludHMsXG4gICAgLnRvZGF5LXN1Ym1pc3Npb25zLXdyYXBwZXIgLnRlYW0tc3VibWlzc2lvbnMtdGFibGUgdGJvZHkgdHIgdGQuY29sLXBvaW50cyAudG9kYXktc3VibWlzc2lvbi1jYXJkX19wb2ludHMge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgIH1cblxuICAgIC8qIFRlYW0gQ3VwcyBhbmQgTWVkYWxzIENhcmQgTGF5b3V0ICg8PSAxMjAwcHgpXG4gICAgICAgfCByYW5rICAgfCB1c2VyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHxcbiAgICAgICB8ICAgICAgICB8IGdvbGQgICAgc2lsdmVyICAgIGJyb256ZSAgICAgICBtZWRhbHMgfFxuICAgICovXG4gICAgLnRlYW0tY3Vwcy10YWJsZSB0Ym9keSB0ciB7XG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogYXV0byByZXBlYXQoNCwgMWZyKTtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiBhdXRvIGF1dG87XG4gICAgICAgIGdhcDogdmFyKC0tc3BhY2UtMnhzKSB2YXIoLS1zcGFjZS1zbSk7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgLnRlYW0tY3Vwcy10YWJsZSB0Ym9keSB0ci50YWJsZS1maXJzdC1wb3Mge1xuICAgICAgICBib3JkZXItbGVmdC1jb2xvcjogdmFyKC0tY29sb3ItcG9zLWZpcnN0KTtcbiAgICB9XG5cbiAgICAudGVhbS1jdXBzLXRhYmxlIHRib2R5IHRyLnRhYmxlLXNlY29uZC1wb3Mge1xuICAgICAgICBib3JkZXItbGVmdC1jb2xvcjogdmFyKC0tY29sb3ItcG9zLXNlY29uZCk7XG4gICAgfVxuXG4gICAgLnRlYW0tY3Vwcy10YWJsZSB0Ym9keSB0ci50YWJsZS10aGlyZC1wb3Mge1xuICAgICAgICBib3JkZXItbGVmdC1jb2xvcjogdmFyKC0tY29sb3ItcG9zLXRoaXJkKTtcbiAgICB9XG5cbiAgICAudGVhbS1jdXBzLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1yYW5rIHtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDE7XG4gICAgICAgIGdyaWQtcm93OiAxO1xuICAgICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktc2VsZjogc3RhcnQ7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIH1cblxuICAgIC50ZWFtLWN1cHMtdGFibGUgdGJvZHkgdHIgdGQuY29sLXJhbmsgLnRvZGF5LXN1Ym1pc3Npb24tY2FyZF9fcmFuayB7XG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXNtKTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xuICAgICAgICBtaW4td2lkdGg6IDI0cHg7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgfVxuXG4gICAgLnRlYW0tY3Vwcy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtdXNlciB7XG4gICAgICAgIGdyaWQtY29sdW1uOiAyIC8gLTE7XG4gICAgICAgIGdyaWQtcm93OiAxO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgIH1cblxuICAgIC50ZWFtLWN1cHMtdGFibGUgdGJvZHkgdHIgdGQuY29sLXVzZXIgLnRvZGF5LXN1Ym1pc3Npb24tY2FyZF9fcGFydGljaXBhbnQge1xuICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgfVxuXG4gICAgLnRlYW0tY3Vwcy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtdXNlciAudG9kYXktc3VibWlzc2lvbi1jYXJkX19uYW1lIHtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgfVxuXG4gICAgLnRlYW0tY3Vwcy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtdHJvcGh5IHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIH1cblxuICAgIC50ZWFtLWN1cHMtdGFibGUgdGJvZHkgdHIgdGQuY29sLXRyb3BoeS0tZ29sZCB7XG4gICAgICAgIGdyaWQtY29sdW1uOiAyO1xuICAgICAgICBncmlkLXJvdzogMjtcbiAgICAgICAganVzdGlmeS1zZWxmOiBzdGFydDtcbiAgICB9XG5cbiAgICAudGVhbS1jdXBzLXRhYmxlIHRib2R5IHRyIHRkLmNvbC10cm9waHktLXNpbHZlciB7XG4gICAgICAgIGdyaWQtY29sdW1uOiAzO1xuICAgICAgICBncmlkLXJvdzogMjtcbiAgICAgICAganVzdGlmeS1zZWxmOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgLnRlYW0tY3Vwcy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtdHJvcGh5LS1icm9uemUge1xuICAgICAgICBncmlkLWNvbHVtbjogNDtcbiAgICAgICAgZ3JpZC1yb3c6IDI7XG4gICAgICAgIGp1c3RpZnktc2VsZjogY2VudGVyO1xuICAgIH1cblxuICAgIC50ZWFtLWN1cHMtdGFibGUgdGJvZHkgdHIgdGQuY29sLXRyb3BoeS0tbWVkYWxzIHtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDU7XG4gICAgICAgIGdyaWQtcm93OiAyO1xuICAgICAgICBqdXN0aWZ5LXNlbGY6IGVuZDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIH1cblxuICAgIC8qIFRlYW0gUG9pbnRzIENvbnRyaWJ1dGlvbiBDYXJkIExheW91dCAoPD0gMTIwMHB4KVxuICAgICAgIHwgcmFuayAgIHwgdXNlciAgICAgICAgICAgICAgICAgICB8XG4gICAgICAgfCAgICAgICAgfCBwb2ludHMgICAgICAgICAgbGVhZ3VlIHxcbiAgICAqL1xuICAgIC50ZWFtLXBvaW50cy10YWJsZSB0Ym9keSB0ciB7XG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogYXV0byAxZnIgYXV0bztcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiBhdXRvIGF1dG87XG4gICAgICAgIGdhcDogdmFyKC0tc3BhY2UtMnhzKSB2YXIoLS1zcGFjZS1zbSk7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgLnRlYW0tcG9pbnRzLXRhYmxlIHRib2R5IHRyLnRhYmxlLWZpcnN0LXBvcyB7XG4gICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiB2YXIoLS1jb2xvci1wb3MtZmlyc3QpO1xuICAgIH1cblxuICAgIC50ZWFtLXBvaW50cy10YWJsZSB0Ym9keSB0ci50YWJsZS1zZWNvbmQtcG9zIHtcbiAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6IHZhcigtLWNvbG9yLXBvcy1zZWNvbmQpO1xuICAgIH1cblxuICAgIC50ZWFtLXBvaW50cy10YWJsZSB0Ym9keSB0ci50YWJsZS10aGlyZC1wb3Mge1xuICAgICAgICBib3JkZXItbGVmdC1jb2xvcjogdmFyKC0tY29sb3ItcG9zLXRoaXJkKTtcbiAgICB9XG5cbiAgICAudGVhbS1wb2ludHMtdGFibGUgdGJvZHkgdHIgdGQuY29sLXJhbmsge1xuICAgICAgICBncmlkLWNvbHVtbjogMTtcbiAgICAgICAgZ3JpZC1yb3c6IDE7XG4gICAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1zZWxmOiBzdGFydDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgLnRlYW0tcG9pbnRzLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1yYW5rIC50b2RheS1zdWJtaXNzaW9uLWNhcmRfX3Jhbmsge1xuICAgICAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1zbSk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbiAgICAgICAgbWluLXdpZHRoOiAyNHB4O1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIH1cblxuICAgIC50ZWFtLXBvaW50cy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtdXNlciB7XG4gICAgICAgIGdyaWQtY29sdW1uOiAyIC8gLTE7XG4gICAgICAgIGdyaWQtcm93OiAxO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgIH1cblxuICAgIC50ZWFtLXBvaW50cy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtdXNlciAudG9kYXktc3VibWlzc2lvbi1jYXJkX19wYXJ0aWNpcGFudCB7XG4gICAgICAgIG1pbi13aWR0aDogMDtcbiAgICB9XG5cbiAgICAudGVhbS1wb2ludHMtdGFibGUgdGJvZHkgdHIgdGQuY29sLXVzZXIgLnRvZGF5LXN1Ym1pc3Npb24tY2FyZF9fbmFtZSB7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIH1cblxuICAgIC50ZWFtLXBvaW50cy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtcG9pbnRzIHtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDI7XG4gICAgICAgIGdyaWQtcm93OiAyO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1zZWxmOiBzdGFydDtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgfVxuXG4gICAgLnRlYW0tcG9pbnRzLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1sZWFndWUge1xuICAgICAgICBncmlkLWNvbHVtbjogMztcbiAgICAgICAgZ3JpZC1yb3c6IDI7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgICBqdXN0aWZ5LXNlbGY6IGVuZDtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICB9XG5cbiAgICAudGVhbS1wb2ludHMtdGFibGUgdGJvZHkgdHIgdGQuY29sLWxlYWd1ZTplbXB0eSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLnRlYW0tcG9pbnRzLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1tZXRyaWMge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC8qIFRlYW0gTWVtYmVycyBDYXJkIExheW91dCAoPD0gMTIwMHB4KVxuICAgICAgIHwgdXNlciAgICAgICAgICAgICAgICAgICAgICAgICBsZWFndWUgfFxuICAgICAgIHwgam9pbmVkICAgICAgICAgICAgICAgICAgICAgIHZpc2l0ZWQgfFxuICAgICAgIHwgYWN0aW9ucyAoYm90dG9tIHJvdykgICAgICAgICAgICAgICAgfFxuICAgICovXG4gICAgLnRlYW0tbWVtYmVycy10YWJsZSB0Ym9keSB0ciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZ2FwOiB2YXIoLS1zcGFjZS0yeHMpIHZhcigtLXNwYWNlLXNtKTtcbiAgICB9XG5cbiAgICAudGVhbS1tZW1iZXJzLXRhYmxlIHRib2R5IHRyIHRkLmNvbC11c2VyIHtcbiAgICAgICAgb3JkZXI6IDE7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBmbGV4OiAxIDEgYXV0bztcbiAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS0yeHMpO1xuICAgIH1cblxuICAgIC50ZWFtLW1lbWJlcnMtdGFibGUgdGJvZHkgdHIgdGQuY29sLWxlYWd1ZSB7XG4gICAgICAgIG9yZGVyOiAyO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS0yeHMpO1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICB9XG5cbiAgICAudGVhbS1tZW1iZXJzLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1sZWFndWU6ZW1wdHkge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC50ZWFtLW1lbWJlcnMtdGFibGUgdGJvZHkgdHIgdGQuY29sLXJvbGUge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC50ZWFtLW1lbWJlcnMtdGFibGUgdGJvZHkgdHIgdGQuY29sLWpvaW5lZCB7XG4gICAgICAgIG9yZGVyOiAzO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgICBmbGV4OiAwIDAgY2FsYyg1MCUgLSAodmFyKC0tc3BhY2Utc20pIC8gMikpO1xuICAgICAgICB3aWR0aDogY2FsYyg1MCUgLSAodmFyKC0tc3BhY2Utc20pIC8gMikpO1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIH1cblxuICAgIC50ZWFtLW1lbWJlcnMtdGFibGUgdGJvZHkgdHIgdGQuY29sLWpvaW5lZDplbXB0eSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLnRlYW0tbWVtYmVycy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtdmlzaXQge1xuICAgICAgICBvcmRlcjogNDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgIGZsZXg6IDAgMCBjYWxjKDUwJSAtICh2YXIoLS1zcGFjZS1zbSkgLyAyKSk7XG4gICAgICAgIHdpZHRoOiBjYWxjKDUwJSAtICh2YXIoLS1zcGFjZS1zbSkgLyAyKSk7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICB9XG5cbiAgICAudGVhbS1tZW1iZXJzLXRhYmxlIHRib2R5IHRyIHRkLmNvbC12aXNpdDplbXB0eSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLnRlYW0tbWVtYmVycy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtYWN0aW9ucyB7XG4gICAgICAgIG9yZGVyOiA1O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgICBmbGV4OiAxIDEgMTAwJTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHBhZGRpbmctdG9wOiB2YXIoLS1zcGFjZS14cyk7XG4gICAgICAgIGJvcmRlci10b3A6IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLXN1YnRsZSk7XG4gICAgICAgIG1hcmdpbi10b3A6IHZhcigtLXNwYWNlLTJ4cyk7XG4gICAgfVxuXG4gICAgLnRlYW0tbWVtYmVycy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtYWN0aW9uczplbXB0eSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLnRlYW0tbWVtYmVyLWRhdGVfX2xhYmVsIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgIH1cblxuICAgIC8qIFRlYW0gUmVxdWVzdHMgQ2FyZCBMYXlvdXQgKDw9IDEyMDBweClcbiAgICAgICB8IHVzZXIgICAgICAgICAgICAgICAgICAgICAgICAgbGVhZ3VlIHxcbiAgICAgICB8IGpvaW5lZCAgICAgICAgICAgICAgICAgICAgICB2aXNpdGVkIHxcbiAgICAgICB8IGFjdGlvbnMgKGJvdHRvbSByb3cpICAgICAgICAgICAgICAgIHxcbiAgICAqL1xuICAgIC50ZWFtLXJlcXVlc3RzLXRhYmxlIHRib2R5IHRyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBnYXA6IHZhcigtLXNwYWNlLTJ4cykgdmFyKC0tc3BhY2Utc20pO1xuICAgIH1cblxuICAgIC50ZWFtLXJlcXVlc3RzLXRhYmxlIHRib2R5IHRyIHRkLmNvbC11c2VyIHtcbiAgICAgICAgb3JkZXI6IDE7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBmbGV4OiAxIDEgYXV0bztcbiAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS0yeHMpO1xuICAgIH1cblxuICAgIC50ZWFtLXJlcXVlc3RzLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1sZWFndWUge1xuICAgICAgICBvcmRlcjogMjtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UtMnhzKTtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgfVxuXG4gICAgLnRlYW0tcmVxdWVzdHMtdGFibGUgdGJvZHkgdHIgdGQuY29sLWxlYWd1ZTplbXB0eSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLnRlYW0tcmVxdWVzdHMtdGFibGUgdGJvZHkgdHIgdGQuY29sLXRlYW0ge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC50ZWFtLXJlcXVlc3RzLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1qb2luZWQge1xuICAgICAgICBvcmRlcjogMztcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgICAgZmxleDogMCAwIGNhbGMoNTAlIC0gKHZhcigtLXNwYWNlLXNtKSAvIDIpKTtcbiAgICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gKHZhcigtLXNwYWNlLXNtKSAvIDIpKTtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB9XG5cbiAgICAudGVhbS1yZXF1ZXN0cy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtam9pbmVkOmVtcHR5IHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAudGVhbS1yZXF1ZXN0cy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtdmlzaXQge1xuICAgICAgICBvcmRlcjogNDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgIGZsZXg6IDAgMCBjYWxjKDUwJSAtICh2YXIoLS1zcGFjZS1zbSkgLyAyKSk7XG4gICAgICAgIHdpZHRoOiBjYWxjKDUwJSAtICh2YXIoLS1zcGFjZS1zbSkgLyAyKSk7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICB9XG5cbiAgICAudGVhbS1yZXF1ZXN0cy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtdmlzaXQ6ZW1wdHkge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC50ZWFtLXJlcXVlc3RzLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1hY3Rpb25zIHtcbiAgICAgICAgb3JkZXI6IDU7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgIGZsZXg6IDEgMSAxMDAlO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgcGFkZGluZy10b3A6IHZhcigtLXNwYWNlLXhzKTtcbiAgICAgICAgYm9yZGVyLXRvcDogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItc3VidGxlKTtcbiAgICAgICAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2UtMnhzKTtcbiAgICB9XG5cbiAgICAudGVhbS1yZXF1ZXN0cy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtYWN0aW9uczplbXB0eSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLyogSGFyZHdhcmUgQ2FyZCBSb3cgTWFwcGluZ3MgKDw9IDEyMDBweCkgKi9cbiAgICAuZ3B1LXRhYmxlIHRib2R5IHRyIHRkLmNvbC1tb2RlbCxcbiAgICAuY3B1LXRhYmxlIHRib2R5IHRyIHRkLmNvbC1tb2RlbCxcbiAgICAubWItdGFibGUgdGJvZHkgdHIgdGQuY29sLW1vZGVsLFxuICAgIC5tZW0tdGFibGUgdGJvZHkgdHIgdGQuY29sLW1vZGVsLFxuICAgIC5jb29saW5nLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1tb2RlbCxcbiAgICAucHN1LXRhYmxlIHRib2R5IHRyIHRkLmNvbC1tb2RlbCxcbiAgICAuZGlzay10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtbW9kZWwge1xuICAgICAgICBncmlkLWNvbHVtbjogMTtcbiAgICAgICAgZ3JpZC1yb3c6IDE7XG4gICAgICAgIG1pbi13aWR0aDogMDtcbiAgICB9XG5cbiAgICAuZ3B1LXRhYmxlIHRib2R5IHRyIHRkLmNvbC1zdWJzLFxuICAgIC5jcHUtdGFibGUgdGJvZHkgdHIgdGQuY29sLXN1YnMsXG4gICAgLm1iLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1zdWJzLFxuICAgIC5tZW0tdGFibGUgdGJvZHkgdHIgdGQuY29sLXN1YnMsXG4gICAgLmNvb2xpbmctdGFibGUgdGJvZHkgdHIgdGQuY29sLXR5cGUsXG4gICAgLnBzdS10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtc3VicyxcbiAgICAuZGlzay10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtc3VicyB7XG4gICAgICAgIGdyaWQtY29sdW1uOiAyO1xuICAgICAgICBncmlkLXJvdzogMTtcbiAgICAgICAganVzdGlmeS1zZWxmOiBlbmQ7XG4gICAgfVxuXG4gICAgLmdwdS10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtc3ViczplbXB0eSxcbiAgICAuY3B1LXRhYmxlIHRib2R5IHRyIHRkLmNvbC1zdWJzOmVtcHR5LFxuICAgIC5tYi10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtc3ViczplbXB0eSxcbiAgICAubWVtLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1zdWJzOmVtcHR5LFxuICAgIC5jb29saW5nLXRhYmxlIHRib2R5IHRyIHRkLmNvbC10eXBlOmVtcHR5LFxuICAgIC5wc3UtdGFibGUgdGJvZHkgdHIgdGQuY29sLXN1YnM6ZW1wdHksXG4gICAgLmRpc2stdGFibGUgdGJvZHkgdHIgdGQuY29sLXN1YnM6ZW1wdHkge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC8qIEdQVSAqL1xuICAgIC5ncHUtdGFibGUgdGJvZHkgdHIgdGQuY29sLWNsb2NrIHtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDE7XG4gICAgICAgIGdyaWQtcm93OiAyO1xuICAgIH1cblxuICAgIC5ncHUtdGFibGUgdGJvZHkgdHIgdGQuY29sLWNvcmUge1xuICAgICAgICBncmlkLWNvbHVtbjogMjtcbiAgICAgICAgZ3JpZC1yb3c6IDI7XG4gICAgICAgIGp1c3RpZnktc2VsZjogZW5kO1xuICAgIH1cblxuICAgIC5ncHUtdGFibGUgdGJvZHkgdHIgdGQuY29sLW1lbW9yeSB7XG4gICAgICAgIGdyaWQtY29sdW1uOiAxIC8gLTE7XG4gICAgICAgIGdyaWQtcm93OiAzO1xuICAgIH1cblxuICAgIC5ncHUtdGFibGUgdGJvZHkgdHIgdGQuY29sLWNsb2NrOmVtcHR5LFxuICAgIC5ncHUtdGFibGUgdGJvZHkgdHIgdGQuY29sLWNvcmU6ZW1wdHksXG4gICAgLmdwdS10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtbWVtb3J5OmVtcHR5IHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAvKiBDUFUgKi9cbiAgICAuY3B1LXRhYmxlIHRib2R5IHRyIHRkLmNvbC1jbG9jayB7XG4gICAgICAgIGdyaWQtY29sdW1uOiAxO1xuICAgICAgICBncmlkLXJvdzogMjtcbiAgICB9XG5cbiAgICAuY3B1LXRhYmxlIHRib2R5IHRyIHRkLmNvbC1jb3JlcyB7XG4gICAgICAgIGdyaWQtY29sdW1uOiAyO1xuICAgICAgICBncmlkLXJvdzogMjtcbiAgICAgICAganVzdGlmeS1zZWxmOiBlbmQ7XG4gICAgfVxuXG4gICAgLmNwdS10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtYXJjaCB7XG4gICAgICAgIGdyaWQtY29sdW1uOiAxIC8gLTE7XG4gICAgICAgIGdyaWQtcm93OiAzO1xuICAgIH1cblxuICAgIC5jcHUtdGFibGUgdGJvZHkgdHIgdGQuY29sLWNsb2NrOmVtcHR5LFxuICAgIC5jcHUtdGFibGUgdGJvZHkgdHIgdGQuY29sLWNvcmVzOmVtcHR5LFxuICAgIC5jcHUtdGFibGUgdGJvZHkgdHIgdGQuY29sLWFyY2g6ZW1wdHkge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC8qIE1vdGhlcmJvYXJkICovXG4gICAgLm1iLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1jaGlwc2V0IHtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDE7XG4gICAgICAgIGdyaWQtcm93OiAyO1xuICAgIH1cblxuICAgIC5tYi10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtbGF1bmNoIHtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDI7XG4gICAgICAgIGdyaWQtcm93OiAyO1xuICAgICAgICBqdXN0aWZ5LXNlbGY6IGVuZDtcbiAgICB9XG5cbiAgICAubWItdGFibGUgdGJvZHkgdHIgdGQuY29sLWNoaXBzZXQ6ZW1wdHksXG4gICAgLm1iLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1sYXVuY2g6ZW1wdHkge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC8qIE1lbW9yeSAqL1xuICAgIC5tZW0tdGFibGUgdGJvZHkgdHIgdGQuY29sLWNsb2NrIHtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDE7XG4gICAgICAgIGdyaWQtcm93OiAyO1xuICAgIH1cblxuICAgIC5tZW0tdGFibGUgdGJvZHkgdHIgdGQuY29sLXJlbGVhc2Uge1xuICAgICAgICBncmlkLWNvbHVtbjogMjtcbiAgICAgICAgZ3JpZC1yb3c6IDI7XG4gICAgICAgIGp1c3RpZnktc2VsZjogZW5kO1xuICAgIH1cblxuICAgIC5tZW0tdGFibGUgdGJvZHkgdHIgdGQuY29sLWNsb2NrOmVtcHR5LFxuICAgIC5tZW0tdGFibGUgdGJvZHkgdHIgdGQuY29sLXJlbGVhc2U6ZW1wdHkge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC8qIFBvd2VyIFN1cHBseSAqL1xuICAgIC5wc3UtdGFibGUgdGJvZHkgdHIgdGQuY29sLXdhdHQge1xuICAgICAgICBncmlkLWNvbHVtbjogMTtcbiAgICAgICAgZ3JpZC1yb3c6IDI7XG4gICAgfVxuXG4gICAgLnBzdS10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtcmVsZWFzZSB7XG4gICAgICAgIGdyaWQtY29sdW1uOiAyO1xuICAgICAgICBncmlkLXJvdzogMjtcbiAgICAgICAganVzdGlmeS1zZWxmOiBlbmQ7XG4gICAgfVxuXG4gICAgLnBzdS10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtd2F0dDplbXB0eSxcbiAgICAucHN1LXRhYmxlIHRib2R5IHRyIHRkLmNvbC1yZWxlYXNlOmVtcHR5IHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAvKiBEaXNrICovXG4gICAgLmRpc2stdGFibGUgdGJvZHkgdHIgdGQuY29sLWNvbnRyb2xsZXIge1xuICAgICAgICBncmlkLWNvbHVtbjogMTtcbiAgICAgICAgZ3JpZC1yb3c6IDI7XG4gICAgfVxuXG4gICAgLmRpc2stdGFibGUgdGJvZHkgdHIgdGQuY29sLWNhcGFjaXR5IHtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDEgLyAtMTtcbiAgICAgICAgZ3JpZC1yb3c6IDM7XG4gICAgfVxuXG4gICAgLmRpc2stdGFibGUgdGJvZHkgdHIgdGQuY29sLWNvbnRyb2xsZXI6ZW1wdHksXG4gICAgLmRpc2stdGFibGUgdGJvZHkgdHIgdGQuY29sLWNhcGFjaXR5OmVtcHR5IHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAvKiBIYXJkd2FyZSBSZWNvcmRzIFRhYmxlICg8PSAxMjAwcHgpXG4gICAgICAgUm93IDE6IFsgYmVuY2htYXJrIChsZWZ0KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2NvcmUgKHJpZ2h0KSBdXG4gICAgICAgUm93IDI6IFsgdXNlciAobGVmdCkgICAgICAgICAgZGF0ZSAoY2VudGVyKSAgICAgICAgICBwb2ludHMgKHJpZ2h0KSBdXG4gICAgICAgUm93IDM6IFsgdGVhbS1yZWNvcmQgKGxlZnQgNTAlKSAgICAgICB1c2VyLXJlY29yZCAocmlnaHQgNTAlKSAgICAgICBdXG4gICAgKi9cbiAgICAuaHctcmVjb3Jkcy10YWJsZSB0Ym9keSB0ciB7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogbWlubWF4KDAsIDFmcikgYXV0byBhdXRvIG1pbm1heCgwLCAxZnIpO1xuICAgICAgICByb3ctZ2FwOiB2YXIoLS1zcGFjZS0yeHMpO1xuICAgIH1cblxuICAgIC8qIFJvdyAxOiBMZWZ0ID0gQmVuY2htYXJrLCBSaWdodCA9IFNjb3JlICovXG4gICAgLmh3LXJlY29yZHMtdGFibGUgdGJvZHkgdHIgdGQuY29sLWJlbmNobWFyayB7XG4gICAgICAgIGdyaWQtY29sdW1uOiAxIC8gNDtcbiAgICAgICAgZ3JpZC1yb3c6IDE7XG4gICAgICAgIG1pbi13aWR0aDogMDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgcGFkZGluZy1yaWdodDogdmFyKC0tc3BhY2UteHMpO1xuICAgICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgLmh3LXJlY29yZHMtdGFibGUgdGJvZHkgdHIgdGQuY29sLWJlbmNobWFyayAuaHctcmVjb3Jkcy10YWJsZV9fYmVuY2htYXJrIHtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgfVxuXG4gICAgLmh3LXJlY29yZHMtdGFibGUgdGJvZHkgdHIgdGQuY29sLWJlbmNobWFyayAudG9kYXktc3VibWlzc2lvbi1jYXJkX19iZW5jaG1hcmstbGluayB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIG1pbi13aWR0aDogMDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB9XG5cbiAgICAuaHctcmVjb3Jkcy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtYmVuY2htYXJrIC50b2RheS1zdWJtaXNzaW9uLWNhcmRfX2JlbmNobWFyay1saW5rIHNwYW46Zmlyc3QtY2hpbGQge1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgIH1cblxuICAgIC5ody1yZWNvcmRzLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1iZW5jaG1hcmsgLnRvZGF5LXN1Ym1pc3Npb24tY2FyZF9fdmVyc2lvbiB7XG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIH1cblxuICAgIC5ody1yZWNvcmRzLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1zY29yZSB7XG4gICAgICAgIGdyaWQtY29sdW1uOiA0O1xuICAgICAgICBncmlkLXJvdzogMTtcbiAgICAgICAganVzdGlmeS1zZWxmOiBlbmQ7XG4gICAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgfVxuXG4gICAgLmh3LXJlY29yZHMtdGFibGUgdGJvZHkgdHIgdGQuY29sLXNjb3JlIGEsXG4gICAgLmh3LXJlY29yZHMtdGFibGUgLmh3LXJlY29yZHMtdGFibGVfX2NvbnRleHQtc2NvcmUge1xuICAgICAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtc2VtaWJvbGQpO1xuICAgIH1cblxuICAgIC8qIFJvdyAyOiBMZWZ0ID0gVXNlciwgQ2VudGVyID0gRGF0ZSwgUmlnaHQgPSBQb2ludHMgKi9cbiAgICAuaHctcmVjb3Jkcy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtdXNlciB7XG4gICAgICAgIGdyaWQtY29sdW1uOiAxO1xuICAgICAgICBncmlkLXJvdzogMjtcbiAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IHZhcigtLXNwYWNlLXhzKTtcbiAgICB9XG5cbiAgICAuaHctcmVjb3Jkcy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtdXNlciAudG9kYXktc3VibWlzc2lvbi1jYXJkX19wYXJ0aWNpcGFudCB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBnYXA6IHZhcigtLXNwYWNlLXhzKTtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgfVxuXG4gICAgLmh3LXJlY29yZHMtdGFibGUgdGJvZHkgdHIgdGQuY29sLXVzZXIgLnRvZGF5LXN1Ym1pc3Npb24tY2FyZF9fbmFtZSB7XG4gICAgICAgIG1heC13aWR0aDogMTIwcHg7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgfVxuXG4gICAgLmh3LXJlY29yZHMtdGFibGUgdGJvZHkgdHIgdGQuY29sLWRhdGUge1xuICAgICAgICBncmlkLWNvbHVtbjogMiAvIDQ7XG4gICAgICAgIGdyaWQtcm93OiAyO1xuICAgICAgICBqdXN0aWZ5LXNlbGY6IGNlbnRlcjtcbiAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICBwYWRkaW5nOiAwIHZhcigtLXNwYWNlLXhzKTtcbiAgICB9XG5cbiAgICAuaHctcmVjb3Jkcy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtcG9pbnRzIHtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDQ7XG4gICAgICAgIGdyaWQtcm93OiAyO1xuICAgICAgICBqdXN0aWZ5LXNlbGY6IGVuZDtcbiAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB9XG5cbiAgICAuaHctcmVjb3Jkcy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtdXNlcjplbXB0eSxcbiAgICAuaHctcmVjb3Jkcy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtcG9pbnRzOmVtcHR5LFxuICAgIC5ody1yZWNvcmRzLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1kYXRlOmVtcHR5IHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAvKiBSb3cgMzogTGVmdCA1MCUgPSBUZWFtIFJlY29yZCwgUmlnaHQgNTAlID0gUGVyc29uYWwgUmVjb3JkIChoaWRkZW4gaWYgbm8gY29udGV4dCByZWNvcmRzIGV4aXN0KSAqL1xuICAgIC5ody1yZWNvcmRzLXRhYmxlIHRib2R5IHRyLmh3LXJlYy0tbm8tY29udGV4dCB0ZC5jb2wtdGVhbS1yZWNvcmQsXG4gICAgLmh3LXJlY29yZHMtdGFibGUgdGJvZHkgdHIuaHctcmVjLS1uby1jb250ZXh0IHRkLmNvbC11c2VyLXJlY29yZCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLmh3LXJlY29yZHMtdGFibGUgdGJvZHkgdHIgdGQuY29sLXRlYW0tcmVjb3JkLFxuICAgIC5ody1yZWNvcmRzLXRhYmxlIHRib2R5IHRyIHRkLmNvbC11c2VyLXJlY29yZCB7XG4gICAgICAgIGdyaWQtcm93OiAzO1xuICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHBhZGRpbmctdG9wOiB2YXIoLS1zcGFjZS14cyk7XG4gICAgICAgIG1hcmdpbi10b3A6IHZhcigtLXNwYWNlLTJ4cyk7XG4gICAgICAgIGJvcmRlci10b3A6IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLXN1YnRsZSk7XG4gICAgfVxuXG4gICAgLmh3LXJlY29yZHMtdGFibGUgdGJvZHkgdHIgdGQuY29sLXRlYW0tcmVjb3JkIHtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDEgLyAzO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1zcGFjZS14cyk7XG4gICAgfVxuXG4gICAgLmh3LXJlY29yZHMtdGFibGUgdGJvZHkgdHIgdGQuY29sLXVzZXItcmVjb3JkIHtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDMgLyA1O1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IHZhcigtLXNwYWNlLXhzKTtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLXN1YnRsZSk7XG4gICAgfVxuXG4gICAgLmh3LXJlY29yZHMtdGFibGUgdGJvZHkgdHIgdGQuY29sLXRlYW0tcmVjb3JkIC5ody1yZWNvcmRzLXRhYmxlX19jb250ZXh0LWJveCxcbiAgICAuaHctcmVjb3Jkcy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtdXNlci1yZWNvcmQgLmh3LXJlY29yZHMtdGFibGVfX2NvbnRleHQtYm94IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZ2FwOiB2YXIoLS1zcGFjZS0yeHMpO1xuICAgICAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14cyk7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgfVxuXG4gICAgLmh3LXJlY29yZHMtdGFibGUgdGJvZHkgdHIgdGQuY29sLXRlYW0tcmVjb3JkIC5ody1yZWNvcmRzLXRhYmxlX19jb250ZXh0LWxhYmVsLFxuICAgIC5ody1yZWNvcmRzLXRhYmxlIHRib2R5IHRyIHRkLmNvbC11c2VyLXJlY29yZCAuaHctcmVjb3Jkcy10YWJsZV9fY29udGV4dC1sYWJlbCB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14cyk7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIH1cblxuICAgIC5ody1yZWNvcmRzLXRhYmxlIHRib2R5IHRyIHRkLmNvbC10ZWFtLXJlY29yZCAuaHctcmVjb3Jkcy10YWJsZV9fcmFuay1waWxsLFxuICAgIC5ody1yZWNvcmRzLXRhYmxlIHRib2R5IHRyIHRkLmNvbC11c2VyLXJlY29yZCAuaHctcmVjb3Jkcy10YWJsZV9fcmFuay1waWxsIHtcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgfVxuXG4gICAgLmh3LXJlY29yZHMtdGFibGUgdGJvZHkgdHIgdGQuY29sLXRlYW0tcmVjb3JkIC5ody1yZWNvcmRzLXRhYmxlX19jb250ZXh0LXNjb3JlLFxuICAgIC5ody1yZWNvcmRzLXRhYmxlIHRib2R5IHRyIHRkLmNvbC11c2VyLXJlY29yZCAuaHctcmVjb3Jkcy10YWJsZV9fY29udGV4dC1zY29yZSB7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgfVxuXG4gICAgLmh3LXJlY29yZHMtdGFibGUgdGJvZHkgdHIgdGQuY29sLXVzZXItcmVjb3JkIC5ody1yZWNvcmRzLXRhYmxlX19wb2ludCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICB9XG59XG4vKiBNZW1iZXIgQ2VsbCBDb21wb25lbnRzICovXG4ubWVtYmVyLWNhcmRfX3VzZXIge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS14cyk7XG4gICAgbWluLXdpZHRoOiAwO1xufVxuXG4ubWVtYmVyLWNhcmRfX2F2YXRhciB7XG4gICAgd2lkdGg6IHZhcigtLXNwYWNlLXhsKTtcbiAgICBoZWlnaHQ6IHZhcigtLXNwYWNlLXhsKTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLWNpcmNsZSk7XG4gICAgYm9yZGVyOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1zdWJ0bGUpO1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIG9iamVjdC1maXQ6IGNvdmVyO1xufVxuXG4ubWVtYmVyLWNhcmRfX25hbWUge1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1tZCk7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAxZW07XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xufVxuXG4ubWVtYmVyLWNhcmRfX3VzZXIgLmNvdW50cnlfZmxhZ3Mge1xuICAgIHdpZHRoOiB2YXIoLS1zcGFjZS1tZCk7XG4gICAgaGVpZ2h0OiB2YXIoLS1zcGFjZS1tZCk7XG4gICAgYmFja2dyb3VuZC1zaXplOiB2YXIoLS1zcGFjZS1tZCk7XG4gICAgZmxleC1zaHJpbms6IDA7XG59XG5cbi5tZW1iZXItY2FyZF9fcm9sZXMge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS0yeHMpO1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbn1cblxuLm1lbWJlci1jYXJkX19oZWFkZXItYWN0aW9ucyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogdmFyKC0tc3BhY2Utc20pO1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbn1cblxuLm1lbWJlci1jYXJkX19pbXBlcnNvbmF0ZS1mb3JtIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBtYXJnaW46IDA7XG59XG5cbi5tZW1iZXItY2FyZF9faW1wZXJzb25hdGUtYnRuIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogdmFyKC0tc3BhY2UteHMpO1xuICAgIHBhZGRpbmc6IHZhcigtLWJvcmRlci13aWR0aC1zbSkgdmFyKC0tc3BhY2Utc20pO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXhzKTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLXhzKTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5tZW1iZXItY2FyZF9fdGVhbSB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IHZhcigtLXNwYWNlLXhzKTtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14cyk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LW1lZGl1bSk7XG4gICAgbWluLXdpZHRoOiAwO1xufVxuXG4ubWVtYmVyLWNhcmRfX3RlYW0gc3BhbiB7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgIG1pbi13aWR0aDogMDtcbn1cblxuLm1lbWJlci1jYXJkX190ZWFtLWF2YXRhciB7XG4gICAgd2lkdGg6IHZhcigtLXNwYWNlLWxnKTtcbiAgICBoZWlnaHQ6IHZhcigtLXNwYWNlLWxnKTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLWNpcmNsZSk7XG4gICAgYm9yZGVyOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1zdWJ0bGUpO1xuICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgIGZsZXgtc2hyaW5rOiAwO1xufVxuXG4ubWVtYmVyLWNhcmRfX3RlYW0tLW5vbmUge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LW11dGVkKTtcbn1cblxuLm1lbWJlci1jYXJkX190ZWFtLS1ub25lIGkge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LW11dGVkKTtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS0yeHMpO1xuICAgIGZsZXgtc2hyaW5rOiAwO1xufVxuXG4ubWVtYmVyLWNhcmRfX3N1YnNwZWMge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS0yeHMpO1xuICAgIHBhZGRpbmc6IHZhcigtLWJvcmRlci13aWR0aC1zbSkgdmFyKC0tc3BhY2UteHMpO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLWNhcmQpO1xuICAgIGJvcmRlcjogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItc3VidGxlKTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLXhzKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXhzKTtcbiAgICBsaW5lLWhlaWdodDogdmFyKC0tbGluZS1oZWlnaHQtdGlnaHQpO1xufVxuXG4ubWVtYmVyLWNhcmRfX3N1YnNwZWMgaSB7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtMnhzKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1tdXRlZCk7XG4gICAgZmxleC1zaHJpbms6IDA7XG59XG5cbi5tZW1iZXItY2FyZF9fc3RhdCB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS0yeHMpIHZhcigtLXNwYWNlLXhzKTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy1jYXJkKTtcbiAgICBib3JkZXI6IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLXN1YnRsZSk7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy14cyk7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteHMpO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1oZWFkaW5nKTtcbiAgICBmb250LXZhcmlhbnQtbnVtZXJpYzogdGFidWxhci1udW1zO1xuICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC10aWdodCk7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLm1lbWJlci1jYXJkX19wb2ludHMtc2NvcmUge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS14cyk7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2UtMnhzKSB2YXIoLS1zcGFjZS14cyk7XG4gICAgYm9yZGVyOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1zdWJ0bGUpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMteHMpO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXNtKTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtaGVhZGluZyk7XG4gICAgZm9udC12YXJpYW50LW51bWVyaWM6IHRhYnVsYXItbnVtcztcbiAgICBsZXR0ZXItc3BhY2luZzogMC4wMmVtO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi5tZW1iZXItY2FyZF9fcG9pbnRzLXNjb3JlIGkge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14cyk7XG59XG5cbi5tZW1iZXItY2FyZF9fcG9pbnRzLWxhYmVsIHtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS0yeHMpO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1tdXRlZCk7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4wM2VtO1xufVxuXG4vKiBUZWFtIENlbGwgQ29tcG9uZW50cyAqL1xuLnRlYW0tY2FyZF9faWRlbnRpdHkge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS14cyk7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIG1pbi13aWR0aDogMDtcbn1cblxuLnRlYW0tY2FyZF9fYXZhdGFyIHtcbiAgICB3aWR0aDogdmFyKC0tc3BhY2UteGwpO1xuICAgIGhlaWdodDogdmFyKC0tc3BhY2UteGwpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtY2lyY2xlKTtcbiAgICBib3JkZXI6IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLXN1YnRsZSk7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gICAgb2JqZWN0LWZpdDogY292ZXI7XG59XG5cbi50ZWFtLWNhcmRfX25hbWUge1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1tZCk7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAxZW07XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xufVxuXG4udGVhbS1jYXJkX19pZGVudGl0eSAuY291bnRyeV9mbGFncyB7XG4gICAgd2lkdGg6IHZhcigtLXNwYWNlLW1kKTtcbiAgICBoZWlnaHQ6IHZhcigtLXNwYWNlLW1kKTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IHZhcigtLXNwYWNlLW1kKTtcbiAgICBmbGV4LXNocmluazogMDtcbn1cblxuLnRlYW0tY2FyZF9fY2FwdGFpbnMtbGlzdCB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IHZhcigtLXNwYWNlLXhzKTtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG59XG5cbi50ZWFtLWNhcmRfX2NhcHRhaW4ge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS14cyk7XG4gICAgcGFkZGluZzogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSB2YXIoLS1zcGFjZS14cyk7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctY2FyZCk7XG4gICAgYm9yZGVyOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1zdWJ0bGUpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMteHMpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXByaW1hcnkpO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14cyk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LW1lZGl1bSk7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KSwgYm9yZGVyLWNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCksIGJhY2tncm91bmQtY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KTtcbn1cblxuLnRlYW0tY2FyZF9fY2FwdGFpbjpob3ZlciB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWxpbmspO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItYm9yZGVyLXN0YW5kYXJkKTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy1ob3Zlcik7XG59XG5cbi50ZWFtLWNhcmRfX2NhcHRhaW4tYXZhdGFyIHtcbiAgICB3aWR0aDogdmFyKC0tc3BhY2UtbGcpO1xuICAgIGhlaWdodDogdmFyKC0tc3BhY2UtbGcpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtY2lyY2xlKTtcbiAgICBib3JkZXI6IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLXN1YnRsZSk7XG4gICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgZmxleC1zaHJpbms6IDA7XG59XG5cbi50ZWFtLWNhcmRfX21lbWJlcnMtYmFkZ2Uge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS14cyk7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2UtMnhzKSB2YXIoLS1zcGFjZS14cyk7XG4gICAgYm9yZGVyOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1zdWJ0bGUpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMteHMpO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXNtKTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtaGVhZGluZyk7XG4gICAgZm9udC12YXJpYW50LW51bWVyaWM6IHRhYnVsYXItbnVtcztcbiAgICBsZXR0ZXItc3BhY2luZzogMC4wMmVtO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi50ZWFtLWNhcmRfX21lbWJlcnMtYmFkZ2UgaSB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXhzKTtcbn1cblxuLnRlYW0tY2FyZF9fbWVtYmVycy1sYWJlbCB7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtMnhzKTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbXV0ZWQpO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMDNlbTtcbn1cblxuLyogSGFyZHdhcmUgSXRlbSBDb21wb25lbnRzIChDUFUsIEdQVSwgTW90aGVyYm9hcmQsIE1lbW9yeSwgRGlzaywgUFNVICYgQ29vbGluZykgKi9cblxuXG4uY3B1LWNhcmRfX2lkZW50aXR5LFxuLmdwdS1jYXJkX19pZGVudGl0eSxcbi5tYi1jYXJkX19pZGVudGl0eSxcbi5tZW0tY2FyZF9faWRlbnRpdHksXG4uZGlzay1jYXJkX19pZGVudGl0eSxcbi5wc3UtY2FyZF9faWRlbnRpdHksXG4uY29vbGluZy1jYXJkX19pZGVudGl0eSB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IHZhcigtLXNwYWNlLXhzKTtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgbWluLXdpZHRoOiAwO1xufVxuXG5cbi5jcHUtY2FyZF9fbmFtZSxcbi5ncHUtY2FyZF9fbmFtZSxcbi5tYi1jYXJkX19uYW1lLFxuLm1lbS1jYXJkX19uYW1lLFxuLmRpc2stY2FyZF9fbmFtZSxcbi5wc3UtY2FyZF9fbmFtZSxcbi5jb29saW5nLWNhcmRfX25hbWUge1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1tZCk7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAxZW07XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xufVxuXG4uY3B1LWNhcmRfX21hbnVmYWN0dXJlcixcbi5ncHUtY2FyZF9fbWFudWZhY3R1cmVyLFxuLmNwdS1jYXJkX19zb2NrZXQsXG4ubWItY2FyZF9fbWFudWZhY3R1cmVyLFxuLm1iLWNhcmRfX3NvY2tldCxcbi5tZW0tY2FyZF9fbWFudWZhY3R1cmVyLFxuLm1lbS1jYXJkX190eXBlLFxuLmRpc2stY2FyZF9fbWFudWZhY3R1cmVyLFxuLmRpc2stY2FyZF9fdHlwZSxcbi5wc3UtY2FyZF9fbWFudWZhY3R1cmVyLFxuLmNvb2xpbmctY2FyZF9fbWFudWZhY3R1cmVyLFxuLmNvb2xpbmctY2FyZF9fdHlwZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS0yeHMpIHZhcigtLXNwYWNlLXhzKTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy1jYXJkKTtcbiAgICBib3JkZXI6IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLXN1YnRsZSk7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy14cyk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14cyk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LW1lZGl1bSk7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC10aWdodCk7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KSwgYm9yZGVyLWNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCksIGJhY2tncm91bmQtY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KTtcbn1cblxuLmNwdS1jYXJkX19zb2NrZXQ6aG92ZXIsXG4ubWItY2FyZF9fc29ja2V0OmhvdmVyLFxuLm1lbS1jYXJkX19tYW51ZmFjdHVyZXI6aG92ZXIsXG4ubWVtLWNhcmRfX3R5cGU6aG92ZXIsXG4uZGlzay1jYXJkX19tYW51ZmFjdHVyZXI6aG92ZXIsXG4uZGlzay1jYXJkX190eXBlOmhvdmVyLFxuLnBzdS1jYXJkX19tYW51ZmFjdHVyZXI6aG92ZXIsXG4uY29vbGluZy1jYXJkX19tYW51ZmFjdHVyZXI6aG92ZXIsXG4uY29vbGluZy1jYXJkX190eXBlOmhvdmVyIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItbGluayk7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1ib3JkZXItc3RhbmRhcmQpO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLWhvdmVyKTtcbn1cblxuLmRpc2stY2FyZF9fcGFydG5lci1sb2dvLFxuLnBzdS1jYXJkX19wYXJ0bmVyLWxvZ28sXG4uY29vbGluZy1jYXJkX19wYXJ0bmVyLWxvZ28ge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgaGVpZ2h0OiAxOHB4O1xufVxuXG4uZGlzay1jYXJkX19wYXJ0bmVyLWxvZ28gaW1nLFxuLnBzdS1jYXJkX19wYXJ0bmVyLWxvZ28gaW1nLFxuLmNvb2xpbmctY2FyZF9fcGFydG5lci1sb2dvIGltZyB7XG4gICAgaGVpZ2h0OiAxNnB4O1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG9iamVjdC1maXQ6IGNvbnRhaW47XG4gICAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5jcHUtY2FyZF9fc3Vicy1iYWRnZSxcbi5ncHUtY2FyZF9fc3Vicy1iYWRnZSxcbi5tYi1jYXJkX19zdWJzLWJhZGdlLFxuLm1lbS1jYXJkX19zdWJzLWJhZGdlLFxuLmRpc2stY2FyZF9fc3Vicy1iYWRnZSxcbi5wc3UtY2FyZF9fc3Vicy1iYWRnZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IHZhcigtLXNwYWNlLXhzKTtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS0yeHMpIHZhcigtLXNwYWNlLXhzKTtcbiAgICBib3JkZXI6IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLXN1YnRsZSk7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy14cyk7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtc20pO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1oZWFkaW5nKTtcbiAgICBmb250LXZhcmlhbnQtbnVtZXJpYzogdGFidWxhci1udW1zO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjAyZW07XG59XG5cbi5jcHUtY2FyZF9fc3Vicy1iYWRnZSBpLFxuLmdwdS1jYXJkX19zdWJzLWJhZGdlIGksXG4ubWItY2FyZF9fc3Vicy1iYWRnZSBpLFxuLm1lbS1jYXJkX19zdWJzLWJhZGdlIGksXG4uZGlzay1jYXJkX19zdWJzLWJhZGdlIGksXG4ucHN1LWNhcmRfX3N1YnMtYmFkZ2UgaSB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXhzKTtcbn1cblxuLmNwdS1jYXJkX19zdWJzLWxhYmVsLFxuLmdwdS1jYXJkX19zdWJzLWxhYmVsLFxuLm1iLWNhcmRfX3N1YnMtbGFiZWwsXG4ubWVtLWNhcmRfX3N1YnMtbGFiZWwsXG4uZGlzay1jYXJkX19zdWJzLWxhYmVsLFxuLnBzdS1jYXJkX19zdWJzLWxhYmVsIHtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS0yeHMpO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1tdXRlZCk7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4wM2VtO1xufVxuXG4uY3B1LWNhcmRfX3NwZWMsXG4uZ3B1LWNhcmRfX3NwZWMsXG4ubWItY2FyZF9fc3BlYyxcbi5tZW0tY2FyZF9fc3BlYyxcbi5kaXNrLWNhcmRfX3NwZWMsXG4ucHN1LWNhcmRfX3NwZWMge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS0yeHMpO1xuICAgIHBhZGRpbmc6IHZhcigtLWJvcmRlci13aWR0aC1zbSkgdmFyKC0tc3BhY2UteHMpO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLWNhcmQpO1xuICAgIGJvcmRlcjogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItc3VidGxlKTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLXhzKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXhzKTtcbiAgICBsaW5lLWhlaWdodDogdmFyKC0tbGluZS1oZWlnaHQtdGlnaHQpO1xufVxuXG4uY3B1LWNhcmRfX3NwZWMgaSxcbi5ncHUtY2FyZF9fc3BlYyBpLFxuLm1iLWNhcmRfX3NwZWMgaSxcbi5tZW0tY2FyZF9fc3BlYyBpLFxuLmRpc2stY2FyZF9fc3BlYyBpLFxuLnBzdS1jYXJkX19zcGVjIGkge1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLTJ4cyk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbXV0ZWQpO1xuICAgIGZsZXgtc2hyaW5rOiAwO1xufVxuXG4uY3B1LWNhcmRfX3NwZWMtdmFsdWUsXG4uZ3B1LWNhcmRfX3NwZWMtdmFsdWUsXG4ubWItY2FyZF9fc3BlYy12YWx1ZSxcbi5tZW0tY2FyZF9fc3BlYy12YWx1ZSxcbi5kaXNrLWNhcmRfX3NwZWMtdmFsdWUsXG4ucHN1LWNhcmRfX3NwZWMtdmFsdWUge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXByaW1hcnkpO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1tZWRpdW0pO1xufVxuXG4uY3B1LWNhcmRfX3NwZWMtLWNsb2NrIC5jcHUtY2FyZF9fc3BlYy12YWx1ZSxcbi5ncHUtY2FyZF9fc3BlYy0tY2xvY2sgLmdwdS1jYXJkX19zcGVjLXZhbHVlLFxuLm1lbS1jYXJkX19zcGVjLS1jbG9jayAubWVtLWNhcmRfX3NwZWMtdmFsdWUge1xuICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LW1vbm8pO1xufVxuXG4vKiBIYXJkd2FyZSBCZW5jaG1hcmsgUmVjb3JkcyAqL1xuLmh3LXJlY29yZHMtdGFibGUge1xuICAgIHdpZHRoOiAxMDAlO1xufVxuXG4uaHctcmVjb3Jkcy10YWJsZSB0aGVhZCB0ciB0aC5jb2wtYmVuY2htYXJrIHtcbiAgICB3aWR0aDogMjIlO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbi5ody1yZWNvcmRzLXRhYmxlIHRoZWFkIHRyIHRoLmNvbC1zY29yZSB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbn1cblxuLmh3LXJlY29yZHMtdGFibGUgdGhlYWQgdHIgdGguY29sLXVzZXIge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbi5ody1yZWNvcmRzLXRhYmxlIHRoZWFkIHRyIHRoLmNvbC1kYXRlLFxuLmh3LXJlY29yZHMtdGFibGUgdGJvZHkgdHIgdGQuY29sLWRhdGUge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLmh3LXJlY29yZHMtdGFibGUgdGhlYWQgdHIgdGguY29sLXBvaW50cyB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbn1cblxuLmh3LXJlY29yZHMtdGFibGUgdGhlYWQgdHIgdGguY29sLXRlYW0tcmVjb3JkLFxuLmh3LXJlY29yZHMtdGFibGUgdGhlYWQgdHIgdGguY29sLXVzZXItcmVjb3JkIHtcbiAgICB3aWR0aDogMTUlO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbi5ody1yZWNvcmRzLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1iZW5jaG1hcmssXG4uaHctcmVjb3Jkcy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtc2NvcmUsXG4uaHctcmVjb3Jkcy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtdXNlcixcbi5ody1yZWNvcmRzLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1kYXRlLFxuLmh3LXJlY29yZHMtdGFibGUgdGJvZHkgdHIgdGQuY29sLXBvaW50cyxcbi5ody1yZWNvcmRzLXRhYmxlIHRib2R5IHRyIHRkLmNvbC10ZWFtLXJlY29yZCxcbi5ody1yZWNvcmRzLXRhYmxlIHRib2R5IHRyIHRkLmNvbC11c2VyLXJlY29yZCB7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuLmh3LXJlY29yZHMtdGFibGVfX2JlbmNobWFyayB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IHZhcigtLXNwYWNlLXhzKTtcbiAgICBtaW4td2lkdGg6IDA7XG59XG5cbi5ody1yZWNvcmRzLXRhYmxlX19kYXRlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogdmFyKC0tc3BhY2UtMnhzKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1tdXRlZCk7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteHMpO1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi5ody1yZWNvcmRzLXRhYmxlX19kYXRlIGkge1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLTJ4cyk7XG59XG5cbi5ody1yZWNvcmRzLXRhYmxlX19uby1yZWNvcmQge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2UtMnhzKSB2YXIoLS1zcGFjZS14cyk7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctY2FyZCk7XG4gICAgYm9yZGVyOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1zdWJ0bGUpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMteHMpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LW11dGVkKTtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14cyk7XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xufVxuXG4uaHctcmVjb3Jkcy10YWJsZV9fY29udGV4dC1ib3gge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS14cyk7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLmh3LXJlY29yZHMtdGFibGVfX2NvbnRleHQtbGFiZWwge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IHZhcigtLXNwYWNlLTJ4cyk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbXV0ZWQpO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1tZWRpdW0pO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLTJ4cyk7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4wMmVtO1xufVxuXG4uaHctcmVjb3Jkcy10YWJsZV9fcmFuay1waWxsIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1zZW1pYm9sZCk7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteHMpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLmh3LXJlY29yZHMtdGFibGVfX2NvbnRleHQtc2NvcmUge1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1zZW1pYm9sZCk7XG4gICAgZm9udC12YXJpYW50LW51bWVyaWM6IHRhYnVsYXItbnVtcztcbn1cblxuLmh3LXJlY29yZHMtdGFibGVfX2NvbnRleHQtbm9uZSB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbXV0ZWQpO1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14cyk7XG59XG5cbi8qIEZsZXggcm93cyAqL1xuLmZsZXgtcm93IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBnYXA6IHZhcigtLXNwYWNlLW1kKTtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4uZmxleC1yb3ctLWFjaGlldmVtZW50LWFjdGlvbiB7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS1tZCk7XG59XG5cbi5mbGV4LXJvdy0tYWRkaXRpb25hbC1pbWFnZXMge1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbn1cblxuLmZsZXgtcm93LS13b3JsZC1yZWNvcmRzIHtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBvdmVyZmxvdzogYXV0bztcblx0YmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctYWx0KTtcblx0cGFkZGluZzogdmFyKC0tc3BhY2UtbWQpO1xufVxuXG4uZmxleC1yb3ctLXRhYmxlLWNvbXBhcmUtaGVhZGVyIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG59XG5cbi5zdGlja3ktdGFibGUtLWNvbXBhcmUgLnJlbW92ZS1idG4ge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBjb2xvcjogdmFyKC0tZm9udC1jb2xvci1tdXRlZCwgdmFyKC0tY29sb3ItdGV4dC1tdXRlZCkpO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXhsKTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgbGluZS1oZWlnaHQ6IHZhcigtLWxpbmUtaGVpZ2h0LW5vbmUpO1xuICAgIHBhZGRpbmc6IDAgdmFyKC0tc3BhY2UteHMpO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLXNtKTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCksIGJhY2tncm91bmQtY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KTtcbn1cblxuLnN0aWNreS10YWJsZS0tY29tcGFyZSAucmVtb3ZlLWJ0bjpob3ZlciB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtd2hpdGUpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWVycm9yKTtcbn1cblxuLmNoYXJ0LXdyYXBwZXIge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5lbXB0eS1tZXNzYWdlIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2Utc20pIDA7XG4gICAgY29sb3I6IHZhcigtLWZvbnQtY29sb3ItbXV0ZWQsIHZhcigtLWNvbG9yLXRleHQtc2Vjb25kYXJ5KSk7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtbWQpO1xufVxuXG4uZmxleC1yb3ctLW5ld3MtaGVhZGVyIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2UtbWQpO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbn1cblxuLmZsZXgtcm93LS1uZXdzLWZvb3RlciB7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLW1kKTtcbiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1oZWFkaW5nKTtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1sZyk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC10aWdodCk7XG59XG5cbi5mbGV4LXJvdy0td2FsbCB7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS1tZCk7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2UtbWQpIDA7XG59XG5cbi5mbGV4LXJvdy0td2FsbC1zb2NpYWwge1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogdmFyKC0tc3BhY2UtbWQpO1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLXhzKSAwO1xuICAgIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlLXNtKTtcbn1cblxuLmZsZXgtcm93LS1iYWRnZXMge1xuICAgIGdhcDogdmFyKC0tc3BhY2Utc20pO1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLXhzKSAwO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi5tb2RhbC1tZW1iZXItbGlzdCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS1sZyk7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLmZsZXgtcm93LS1pbmZvIHtcbiAgICBnYXA6IHZhcigtLXNwYWNlLW1kKSB2YXIoLS1zcGFjZS1sZyk7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2UtbWQpO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLXN1cmZhY2UpO1xuICAgIGJvcmRlcjogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItbGlnaHQpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXByaW1hcnkpO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4uZmxleC1yb3ctZ3JvdXAge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IHZhcigtLXNwYWNlLW1kKTtcbn1cblxuXG4uZmxleC1yb3ctaXRlbSB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IHZhcigtLXNwYWNlLW1kKTtcbn1cblxuLmZsZXgtcm93LWl0ZW0tLXdvcmxkLXJlY29yZCB7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdG1pbi13aWR0aDogNDAwcHg7XG5cdHBhZGRpbmc6IHZhcigtLXNwYWNlLW1kKTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cyk7XG5cdGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLXN1cmZhY2UpO1xuXHRib3JkZXI6IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLWxpZ2h0KTtcblx0d2lkdGg6IDEwMCU7XG59XG5cbi8qIEFsZXJ0cyAvIENhbGxvdXRzICovXG4uYWxlcnQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICBnYXA6IHZhcigtLXNwYWNlLW1kKTtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS1tZCkgdmFyKC0tc3BhY2UtbGcpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpO1xuICAgIGJvcmRlcjogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1tZCk7XG4gICAgbGluZS1oZWlnaHQ6IHZhcigtLWxpbmUtaGVpZ2h0LW5vcm1hbCk7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UtbWQpO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbi5hbGVydCA+IGRpdiB7XG4gICAgZmxleDogMTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS14cyk7XG59XG5cbi5hbGVydCBwIHtcbiAgICBtYXJnaW46IDA7XG59XG5cbi5hbGVydCBhIHtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG59XG5cbi5mb3JtLXJvdyA+IC5hbGVydCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLmFsZXJ0IGkge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtbGcpO1xuICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC1ub3JtYWwpO1xuICAgIGZsZXgtc2hyaW5rOiAwO1xufVxuXG4uYWxlcnQgaTo6YmVmb3JlIHtcbiAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgNiBGcmVlXCIsIFwiRm9udCBBd2Vzb21lIDUgRnJlZVwiO1xuICAgIGZvbnQtd2VpZ2h0OiA5MDA7XG59XG5cbi5hbGVydC13YXJuaW5nIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3Itd2FybmluZy10ZXh0KTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci13YXJuaW5nLWJnKTtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLXdhcm5pbmctYm9yZGVyKTtcbn1cbi5hbGVydC13YXJuaW5nIGk6OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGYwNzFcIjsgLyogZmEtdHJpYW5nbGUtZXhjbGFtYXRpb24gKi9cbn1cblxuLmFsZXJ0LWRhbmdlciB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWVycm9yLXRleHQpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWVycm9yLWJnKTtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLWVycm9yLWJvcmRlcik7XG59XG4uYWxlcnQtZGFuZ2VyIGk6OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGYwNmFcIjsgLyogZmEtY2lyY2xlLWV4Y2xhbWF0aW9uICovXG59XG5cbi5hbGVydC1pbmZvIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItbGluay1ob3Zlcik7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItaW5mby1iZyk7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1pbmZvLWJvcmRlcik7XG59XG4uYWxlcnQtaW5mbyBpOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxmMDVhXCI7IC8qIGZhLWNpcmNsZS1pbmZvICovXG59XG5cbi5zY3JlZW5zaG90LWJveCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBnYXA6IHZhcigtLXNwYWNlLXNtKTtcbiAgICBvdmVyZmxvdzogYXV0bztcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuLnNjcmVlbnNob3QtYm94IGEge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLnNjcmVlbnNob3QtYm94IGltZyB7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy14cyk7XG59XG5cbi5zY3JlZW5zaG90LWJveC0taGlnaGxpZ2h0LXN1Ym1pc3Npb24gaW1nIHtcbiAgICBoZWlnaHQ6IDEwMHB4O1xufVxuXG4uc2NyZWVuc2hvdC1ib3gtLXN1Ym1pc3Npb24gaW1nIHtcbiAgICBoZWlnaHQ6IDI1MHB4O1xufVxuXG4uc2NyZWVuc2hvdC1ib3gtLXN1Ym1pc3Npb24gaWZyYW1lLFxuLnNjcmVlbnNob3QtYm94LS1zdWJtaXNzaW9uIC55b3V0dWJlLXBsYWNlaG9sZGVyIHtcbiAgICBoZWlnaHQ6IDI1MHB4O1xuICAgIGFzcGVjdC1yYXRpbzogMTYgLyA5O1xuICAgIGJvcmRlcjogMDtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLXhzKTtcbiAgICBmbGV4LXNocmluazogMDtcbn1cblxuLnNjcmVlbnNob3QtYm94LS1uZXdzIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgaGVpZ2h0OiAyMDBweDtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLXhzKTtcbn1cblxuLnNjcmVlbnNob3QtYm94LS1uZXdzIGltZyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG9iamVjdC1maXQ6IGNvdmVyO1xufVxuXG4vKiBFZGl0b3IgdGV4dCBhZGRlZCBieSBtb2RlcmF0b3JzICovXG4ucmljaC10ZXh0LWNvbnRlbnQge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LWhlYWRpbmcpO1xufVxuXG4ucmljaC10ZXh0LWNvbnRlbnQgaDEsXG4ucmljaC10ZXh0LWNvbnRlbnQgaDIsXG4ucmljaC10ZXh0LWNvbnRlbnQgaDMsXG4ucmljaC10ZXh0LWNvbnRlbnQgaDQge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LWhlYWRpbmcpO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjZS1sZyk7XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2Utc20pO1xuICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC10aWdodCk7XG59XG5cbi5yaWNoLXRleHQtY29udGVudCBzdHJvbmcsXG4ucmljaC10ZXh0LWNvbnRlbnQgYiB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtaGVhZGluZyk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xufVxuXG4ucmljaC10ZXh0LWNvbnRlbnQgcCB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS1tZCk7XG59XG5cbi5yaWNoLXRleHQtY29udGVudCB1bCxcbi5yaWNoLXRleHQtY29udGVudCBvbCB7XG4gICAgcGFkZGluZy1sZWZ0OiAxLjI1cmVtO1xuICAgIG1hcmdpbi10b3A6IHZhcigtLXNwYWNlLXNtKTtcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS1tZCk7XG59XG5cbi5yaWNoLXRleHQtY29udGVudCBsaSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMC4zNXJlbTtcbn1cblxuLnJpY2gtdGV4dC1jb250ZW50IGEge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1saW5rKTtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICB0ZXh0LWRlY29yYXRpb24tY29sb3I6IHZhcigtLWNvbG9yLWxpbmstdW5kZXJsaW5lKTtcbiAgICB0ZXh0LXVuZGVybGluZS1vZmZzZXQ6IDNweDtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpLCB0ZXh0LWRlY29yYXRpb24tY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KTtcbn1cblxuLnJpY2gtdGV4dC1jb250ZW50IGE6aG92ZXIge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1saW5rLWhvdmVyKTtcbiAgICB0ZXh0LWRlY29yYXRpb24tY29sb3I6IGN1cnJlbnRDb2xvcjtcbn1cblxuLnJpY2gtdGV4dC1jb250ZW50IGNvZGUsXG4ucmljaC10ZXh0LWNvbnRlbnQgcHJlIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy1ob3Zlcik7XG4gICAgcGFkZGluZzogMC4ycmVtIDAuNHJlbTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKTtcbiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1tb25vKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1oZWFkaW5nKTtcbn1cblxuLnJpY2gtdGV4dC1jb250ZW50IGltZyB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDYwMHB4O1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKTtcbn1cblxuLnJpY2gtdGV4dC1jb250ZW50IHRhYmxlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gICAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjZS1sZyk7XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UtbGcpO1xufVxuXG4ucmljaC10ZXh0LWNvbnRlbnQgdGgsXG4ucmljaC10ZXh0LWNvbnRlbnQgdGQge1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLXNtKSB2YXIoLS1zcGFjZS1tZCk7XG4gICAgYm9yZGVyOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1saWdodCk7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbn1cblxuLnJpY2gtdGV4dC1jb250ZW50IHRoIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iZy1ob3Zlcik7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXByaW1hcnkpO1xufVxuXG4ucmljaC10ZXh0LWNvbnRlbnQgdHI6aG92ZXIgdGQge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJnLWhvdmVyKTtcbn1cblxuLnJpY2gtdGV4dC1jb250ZW50IGlmcmFtZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiA2MDBweDtcbiAgICBhc3BlY3QtcmF0aW86IDE2IC8gOTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjZS1sZyk7XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UtbGcpO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKTtcbn1cblxuLmZhaW50IHtcbiAgICBvcGFjaXR5OiAwLjI7XG59XG5cblxuLnJlc2V0LXBhc3N3b3JkIC5jb250ZW50IC5ncmlkIGlucHV0W3R5cGU9cGFzc3dvcmRdLFxuLnJlc2V0LXBhc3N3b3JkIC5jb250ZW50IC5ncmlkIGlucHV0W3R5cGU9dGV4dF0ge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4ucmVzZXQtcGFzc3dvcmQgLmNvbnRlbnQgLmdyaWQgLnJvdyB7XG4gICAgd2lkdGg6IDEwMCU7XG59XG5cbi5zaWRlLWFyZWEgLmNvbnRlbnQgLmdyaWQge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBhdXRvO1xuICAgIGdyaWQtZ2FwOiB2YXIoLS1zcGFjZS1zbSk7XG59XG5cbi5zaWRlLWFyZWEtcmFua2luZy1ncmlkIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS1zbSk7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWluLXdpZHRoOiAwO1xufVxuXG4uc2lkZS1hcmVhLXJhbmtpbmctZ3JpZCA+ICo6bm90KDpsYXN0LWNoaWxkKSxcbi5jYXJkLS1zaWRlYmFyLXJhbmtpbmcgLnNpZGUtYXJlYS0tbGVhZ3VlLXJhbmtpbmctZ3JpZC1yb3c6bm90KDpsYXN0LWNoaWxkKSxcbi5ncmlkLWJveC1jYXJkLS1zaWRlYmFyLXJhbmtpbmcgLnNpZGUtYXJlYS0tbGVhZ3VlLXJhbmtpbmctZ3JpZC1yb3c6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgcGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNlLXhzKTtcbiAgICBib3JkZXItYm90dG9tOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1saWdodCk7XG59XG5cbi5zaWRlLWFyZWEtLWxlYWd1ZS1yYW5raW5nLWdyaWQtcm93IHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogdmFyKC0tcG9zLW1hcmtlci13aWR0aCkgbWlubWF4KHZhcigtLXJhbmstcG9zLW1pbi13aWR0aCksIGF1dG8pIG1pbm1heCgwLCAxZnIpIGF1dG87XG4gICAgZ3JpZC1nYXA6IHZhcigtLXNwYWNlLXhzKTtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1pbi13aWR0aDogMDtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLXhzKSAwO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KTtcbn1cblxuLnNpZGUtYXJlYS0tbGVhZ3VlLXJhbmtpbmctZ3JpZC1yb3c6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXRleHQtaW52ZXJzZSk7XG59XG5cbi5zaWRlLWFyZWEtLWxlYWd1ZS1yYW5raW5nLWdyaWQtcm93IC5wb3MtbWFya2VyIHtcbiAgICBncmlkLWNvbHVtbjogMTtcbiAgICB3aWR0aDogdmFyKC0tcG9zLW1hcmtlci13aWR0aCk7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG1pbi1oZWlnaHQ6IHZhcigtLWF2YXRhci1zaXplLXNtKTtcbiAgICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMteHMpO1xufVxuXG4uc2lkZS1hcmVhLS1sZWFndWUtcmFua2luZy1ncmlkLXJvdyAucG9zIHtcbiAgICBncmlkLWNvbHVtbjogMjtcbiAgICBtaW4td2lkdGg6IHZhcigtLXJhbmstcG9zLW1pbi13aWR0aCk7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBqdXN0aWZ5LXNlbGY6IHN0YXJ0O1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXhzKTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgbGluZS1oZWlnaHQ6IHZhcigtLWxpbmUtaGVpZ2h0LXRpZ2h0KTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogMDtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG59XG5cbi5zaWRlLWFyZWEtLWxlYWd1ZS1yYW5raW5nLWdyaWQtcm93IC5wb3M6OmJlZm9yZSB7XG4gICAgY29udGVudDogXCIjXCI7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjFlbTtcbiAgICBvcGFjaXR5OiAwLjg1O1xufVxuXG4uc2lkZS1hcmVhLS1sZWFndWUtcmFua2luZy1ncmlkLXJvdyAubmFtZSB7XG4gICAgZ3JpZC1jb2x1bW46IDM7XG4gICAgbWluLXdpZHRoOiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5zaWRlLWFyZWEtLWxlYWd1ZS1yYW5raW5nLWdyaWQtcm93IC50YWJsZS1hdmF0YXItd3JhcHBlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogdmFyKC0tc3BhY2UteHMpO1xuICAgIG1pbi13aWR0aDogMDtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuLnNpZGUtYXJlYS0tbGVhZ3VlLXJhbmtpbmctZ3JpZC1yb3cgLnRhYmxlLWF2YXRhci13cmFwcGVyIGltZyB7XG4gICAgd2lkdGg6IHZhcigtLWF2YXRhci1zaXplLXNtKTtcbiAgICBoZWlnaHQ6IHZhcigtLWF2YXRhci1zaXplLXNtKTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLWNpcmNsZSk7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gICAgb2JqZWN0LWZpdDogY292ZXI7XG59XG5cbi5zaWRlLWFyZWEtLWxlYWd1ZS1yYW5raW5nLWdyaWQtcm93IC50YWJsZS1hdmF0YXItd3JhcHBlciAuY291bnRyeV9mbGFncyxcbi5zaWRlLWFyZWEtd3ItcmFua2luZy1ncmlkIC50YWJsZS1hdmF0YXItd3JhcHBlciAuY291bnRyeV9mbGFncyB7XG4gICAgd2lkdGg6IHZhcigtLWF2YXRhci1zaXplLXNtKTtcbiAgICBoZWlnaHQ6IHZhcigtLWF2YXRhci1zaXplLXNtKTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IHZhcigtLWF2YXRhci1zaXplLXNtKTtcbiAgICBmbGV4LXNocmluazogMDtcbn1cblxuLnNpZGUtYXJlYS0tbGVhZ3VlLXJhbmtpbmctZ3JpZC1yb3cgLnRhYmxlLWF2YXRhci13cmFwcGVyIGEge1xuICAgIG1pbi13aWR0aDogMDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtc20pO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1tZWRpdW0pO1xufVxuXG4uc2lkZS1hcmVhLS1sZWFndWUtcmFua2luZy1ncmlkLXJvdyAucG9pbnRzIHtcbiAgICBncmlkLWNvbHVtbjogNDtcbiAgICB3aWR0aDogYXV0bztcbiAgICBtaW4td2lkdGg6IDA7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14cyk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAganVzdGlmeS1zZWxmOiBlbmQ7XG59XG5cbi5zaWRlLWFyZWEtd3ItcmFua2luZy1ncmlkIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogdmFyKC0tcG9zLW1hcmtlci13aWR0aCkgbWlubWF4KDAsIDFmcik7XG4gICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiBhdXRvIGF1dG8gYXV0byBhdXRvO1xuICAgIGdyaWQtZ2FwOiB2YXIoLS1zcGFjZS0yeHMpIHZhcigtLXNwYWNlLXNtKTtcbiAgICBhbGlnbi1pdGVtczogc3RhcnQ7XG4gICAganVzdGlmeS1pdGVtczogbGVmdDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtaW4td2lkdGg6IDA7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS14cykgMDtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCk7XG59XG5cbi5jYXJkLS1zaWRlYmFyLXJhbmtpbmcgLnNpZGUtYXJlYS13ci1yYW5raW5nLWdyaWQ6bm90KDpsYXN0LWNoaWxkKSxcbi5ncmlkLWJveC1jYXJkLS1zaWRlYmFyLXJhbmtpbmcgLnNpZGUtYXJlYS13ci1yYW5raW5nLWdyaWQ6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgcGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNlLXhzKTtcbiAgICBib3JkZXItYm90dG9tOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1saWdodCk7XG59XG5cbi5zaWRlLWFyZWEtd3ItcmFua2luZy1ncmlkOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LWludmVyc2UpO1xufVxuXG4uc2lkZS1hcmVhLXdyLXJhbmtpbmctZ3JpZCAucG9zLW1hcmtlciB7XG4gICAgZ3JpZC1jb2x1bW46IDE7XG4gICAgZ3JpZC1yb3c6IDEgLyAtMTtcbiAgICB3aWR0aDogdmFyKC0tcG9zLW1hcmtlci13aWR0aCk7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy14cyk7XG59XG5cbi5zaWRlLWFyZWEtd3ItcmFua2luZy1ncmlkIC5wb3Mge1xuICAgIGdyaWQtY29sdW1uOiAyO1xuICAgIGdyaWQtcm93OiAxO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAganVzdGlmeS1zZWxmOiBzdGFydDtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14cyk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC10aWdodCk7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDA7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xufVxuXG4uc2lkZS1hcmVhLXdyLXJhbmtpbmctZ3JpZCAucG9zOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiI1wiO1xuICAgIG1hcmdpbi1yaWdodDogMC4xZW07XG4gICAgb3BhY2l0eTogMC44NTtcbn1cblxuLnNpZGUtYXJlYS13ci1yYW5raW5nLWdyaWQgLm5hbWUge1xuICAgIGdyaWQtY29sdW1uOiAyO1xuICAgIGdyaWQtcm93OiAyO1xuICAgIG1pbi13aWR0aDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4uc2lkZS1hcmVhLXdyLXJhbmtpbmctZ3JpZCAudGFibGUtYXZhdGFyLXdyYXBwZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IHZhcigtLXNwYWNlLXhzKTtcbiAgICBtaW4td2lkdGg6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG59XG5cbi5zaWRlLWFyZWEtd3ItcmFua2luZy1ncmlkIC50YWJsZS1hdmF0YXItd3JhcHBlciBpbWcge1xuICAgIHdpZHRoOiB2YXIoLS1hdmF0YXItc2l6ZS1zbSk7XG4gICAgaGVpZ2h0OiB2YXIoLS1hdmF0YXItc2l6ZS1zbSk7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1jaXJjbGUpO1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIG9iamVjdC1maXQ6IGNvdmVyO1xufVxuXG4uc2lkZS1hcmVhLXdyLXJhbmtpbmctZ3JpZCAuaGFyZHdhcmUge1xuICAgIGdyaWQtY29sdW1uOiAyO1xuICAgIGdyaWQtcm93OiAzO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1pbi13aWR0aDogMDtcbiAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICAgIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7XG4gICAgb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14cyk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbiAgICBsaW5lLWhlaWdodDogdmFyKC0tbGluZS1oZWlnaHQtdGlnaHQpO1xufVxuXG4uc2lkZS1hcmVhLXdyLXJhbmtpbmctZ3JpZCAuaGFyZHdhcmUgYSB7XG4gICAgd29yZC1icmVhazogYnJlYWstd29yZDtcbiAgICBvdmVyZmxvdy13cmFwOiBicmVhay13b3JkO1xufVxuXG4uc2lkZS1hcmVhLXdyLXJhbmtpbmctZ3JpZCAuc2NvcmUge1xuICAgIGdyaWQtY29sdW1uOiAyO1xuICAgIGdyaWQtcm93OiA0O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1pbi13aWR0aDogMDtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtc20pO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAganVzdGlmeS1zZWxmOiBzdGFydDtcbn1cblxuLnNpZGUtYXJlYSAudGFiLW1lbnUge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGdhcDogdmFyKC0tc3BhY2UtMnhzKTtcbiAgICBib3JkZXItYm90dG9tOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1saWdodCk7XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UtbWQpO1xufVxuXG4uc2lkZS1hcmVhIC50YWItbWVudSAuYnV0dG9uIHtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS14cykgdmFyKC0tc3BhY2Utcyk7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteHMpO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1tZWRpdW0pO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi5zaWRlLWFyZWEgLnRhYi1tZW51IC5idXR0b24uZm9jdXMsXG4uc2lkZS1hcmVhIC50YWItbWVudSAuYnV0dG9uLmFjdGl2ZSB7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xufVxuXG4jY2FyZWVycmFua2luZ2hvZixcbiNyYW5raW5naG9mLFxuI3RlYW1fcmFua2luZ2hvZiB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWluLXdpZHRoOiAwO1xufVxuXG4ucmVzZXQtcGFzc3dvcmQgLmNvbnRlbnQgLmdyaWQge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBhdXRvO1xuICAgIGdyaWQtdGVtcGxhdGUtcm93czogYXV0bztcbiAgICBncmlkLWdhcDogdmFyKC0tc3BhY2Utc20pO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1pdGVtczogY2VudGVyO1xuICAgIHdpZHRoOiAzMCU7XG4gICAgbWFyZ2luOiBhdXRvO1xuICAgIG1pbi13aWR0aDogMzIwcHg7XG59XG5cbi5yZXNldC1wYXNzd29yZCAuY29udGVudCAuZ3JpZCAuYWN0aW9uIHtcbiAgICBqdXN0aWZ5LXNlbGY6IGVuZDtcbn1cblxuLyogQXV0aCBDYXJkczogTG9naW4sIFJlZ2lzdGVyICYgUmVzZXQgUGFzc3dvcmQgKi9cbi5ncmlkLWJveC1jYXJkLS1sb2dpbixcbi5ncmlkLWJveC1jYXJkLS1yZWdpc3Rlcixcbi5ncmlkLWJveC1jYXJkLS1yZXNldC1wYXNzd29yZCB7XG4gICAgbWF4LXdpZHRoOiAzNTBweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW46IHZhcigtLXNwYWNlLXhsKSBhdXRvO1xuICAgIGdhcDogdmFyKC0tc3BhY2UtbWQpO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLmdyaWQtYm94LWNhcmQtLWxvZ2luID4gcCxcbi5ncmlkLWJveC1jYXJkLS1yZWdpc3RlciA+IHAsXG4uZ3JpZC1ib3gtY2FyZC0tcmVzZXQtcGFzc3dvcmQgPiBwIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xuICAgIG1hcmdpbjogMDtcbn1cblxuLmdyaWQtYm94LWNhcmQtLWxvZ2luID4gcCBhLFxuLmdyaWQtYm94LWNhcmQtLXJlZ2lzdGVyID4gcCBhLFxuLmdyaWQtYm94LWNhcmQtLXJlc2V0LXBhc3N3b3JkID4gcCBhIHtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cblxuLmdyaWQtYm94LWNhcmQtLWxvZ2luIGZvcm0sXG4uZ3JpZC1ib3gtY2FyZC0tcmVnaXN0ZXIgZm9ybSxcbi5ncmlkLWJveC1jYXJkLS1yZXNldC1wYXNzd29yZCBmb3JtIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS1tZCk7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbn1cblxuLmdyaWQtYm94LWNhcmQtLWxvZ2luIGZvcm0gYnV0dG9uW3R5cGU9XCJzdWJtaXRcIl0sXG4uZ3JpZC1ib3gtY2FyZC0tcmVnaXN0ZXIgZm9ybSBidXR0b25bdHlwZT1cInN1Ym1pdFwiXSxcbi5ncmlkLWJveC1jYXJkLS1yZXNldC1wYXNzd29yZCBmb3JtIGJ1dHRvblt0eXBlPVwic3VibWl0XCJdIHtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuLmdyaWQtYm94LWNhcmQtLXJlZ2lzdGVyIC5yZWNhcHRjaGEtd3JhcHBlcixcbi5ncmlkLWJveC1jYXJkLS1yZXNldC1wYXNzd29yZCAucmVjYXB0Y2hhLXdyYXBwZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcbn1cblxuLmZvcm0tbGFiZWwtcm93IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XG4gICAgd2lkdGg6IDEwMCU7XG59XG5cbi5mb3JtLWlucHV0LXBhc3N3b3JkLXdyYXBwZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi5mb3JtLWlucHV0LXBhc3N3b3JkLXdyYXBwZXIgLmZvcm0taW5wdXQsXG4uZm9ybS1pbnB1dC1wYXNzd29yZC13cmFwcGVyIGlucHV0IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nLXJpZ2h0OiA0MnB4O1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbi5wYXNzd29yZC10b2dnbGUtYnRuIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDhweDtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2Utc20pO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1tdXRlZCk7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLnBhc3N3b3JkLXRvZ2dsZS1idG46aG92ZXIge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXByaW1hcnkpO1xufVxuXG4ubG9naW4tZm9vdGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbiAgICBwYWRkaW5nLXRvcDogdmFyKC0tc3BhY2UtbWQpO1xuICAgIGJvcmRlci10b3A6IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLWxpZ2h0KTtcbn1cblxuXG4uZm9vdGVyIC5jb250ZW50IC5pbmZvIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZmlsbCwgbWlubWF4KDMyMHB4LCAxZnIpKTtcbiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1oZWFkaW5nKTtcbn1cblxuLmZvb3RlciAuaW5mbyB1bCB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbn1cblxuLmZvb3RlciAuc3lzdGVtLWluZm8ge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1oZWFkaW5nKTtcbn1cblxuLmZvb3RlciAucGFydG5lci1pbmZvIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5mb290ZXIgLmNvbnRlbnQgLnBhcnRuZXItaW5mbyB7XG4gICAgbWFyZ2luOiB2YXIoLS1zcGFjZS1sZykgMDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS1sZyk7XG59XG5cbi5mb290ZXIgLmNvbnRlbnQgLnBhcnRuZXItaW5mbyAucGFydG5lci1ib3gge1xuICAgIGhlaWdodDogNzBweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi5tYWluLWFyZWEuaHctZGF0YSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDE7XG59XG5cblxuLmhhcmR3YXJlLW92ZXJ2aWV3IC5jb250ZW50LXR5cGUtMiAubWFudWZhY3R1cmVyLWdyaWQsXG4ubWFpbi1hcmVhLmh3LWRhdGEgLmNvbnRlbnQgLm1hbnVmYWN0dXJlci1ncmlkIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS14cyk7XG59XG5cbi5tYWluLWFyZWEuaHctZGF0YSAuY29udGVudCAubWFudWZhY3R1cmVyLWdyaWQgLm1hbnVmYWN0dXJlci1oZWFkbGluZS1ncmlkLWNlbGwge1xuICAgIGhlaWdodDogNDBweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGdhcDogdmFyKC0tc3BhY2UteHMpO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi5tYWluLWFyZWEuaHctZGF0YSAuY29udGVudCAubWFudWZhY3R1cmVyLWdyaWQgLm1hbnVmYWN0dXJlci1oZWFkbGluZS1ncmlkLWNlbGwgaW1nIHtcbiAgICBoZWlnaHQ6IDQwcHg7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgb2JqZWN0LWZpdDogY29udGFpbjtcbn1cblxuQGtleWZyYW1lcyBsb2FkaW5nIHtcbiAgICBmcm9tIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjUpO1xuICAgIH1cbiAgICB0byB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC40KTtcbiAgICB9XG59XG5cbi5nb2xkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1wb3MtZmlyc3QpO1xufVxuXG4uc2lsdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1ib3JkZXItbGlnaHQpO1xufVxuXG4uYnJvbnplIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1wb3MtdGhpcmQpO1xufVxuXG4ubWVkYWwge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXBvcy1mb3VyLWZpdmUpO1xufVxuXG4ubm9tZWRhbCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItcG9zLWZvdXItZml2ZSk7XG59XG5cbi5nb2xkLXRyb3BoeSB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXBvcy1maXJzdCk7XG59XG5cbi5zaWx2ZXItdHJvcGh5IHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItcG9zLXNlY29uZCk7XG59XG5cbi5icm9uemUtdHJvcGh5IHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItcG9zLXRoaXJkKTtcbn1cblxuLm1lZGFsLXRyb3BoeSB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXBvcy1mb3VyLWZpdmUpO1xufVxuXG4udHJvcGh5LWNvdW50IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogdmFyKC0tc3BhY2UtMnhzKTtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14cyk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LXNlbWlib2xkKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1wcmltYXJ5KTtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4udHJvcGh5LWNvdW50LS1lbXB0eSB7XG4gICAgb3BhY2l0eTogMC40O1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LW11dGVkKTtcbn1cblxuQGtleWZyYW1lcyBzaGltbWVyIHtcbiAgICAwJSB7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDIwMCUgMDtcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0yMDAlIDA7XG4gICAgfVxufVxuXG4uaXMtbG9hZGluZyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbi5pcy1sb2FkaW5nOjphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudChcbiAgICAgICAgICAgIDkwZGVnLFxuICAgICAgICAgICAgcmdiYSgyMzIsIDIzOCwgMjQxLCAwKSAwJSxcbiAgICAgICAgICAgIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC42KSA1MCUsXG4gICAgICAgICAgICByZ2JhKDIzMiwgMjM4LCAyNDEsIDApIDEwMCVcbiAgICApO1xuXG4gICAgYmFja2dyb3VuZC1zaXplOiAyMDAlIDEwMCU7XG4gICAgYW5pbWF0aW9uOiBzaGltbWVyIDEuNXMgaW5maW5pdGU7XG4gICAgei1pbmRleDogMjtcbn1cblxuQGtleWZyYW1lcyBzaGltbWVyIHtcbiAgICAwJSB7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDIwMCUgMDtcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0yMDAlIDA7XG4gICAgfVxufVxuXG4uYnV0dG9uIHtcbiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1oZWFkaW5nKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iZy1zdXJmYWNlKTtcbiAgICBib3JkZXI6IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLWxpZ2h0KTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLWxnKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1wcmltYXJ5KTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2Utc20pIHZhcigtLXNwYWNlLW1kKTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgICB0b3VjaC1hY3Rpb246IG1hbmlwdWxhdGlvbjtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGdhcDogdmFyKC0tc3BhY2UtbWQpO1xufVxuXG4uYnV0dG9uLS1pbmZvLXJvdyB7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2Utc20pIHZhcigtLXNwYWNlLW1kKTtcbiAgICBnYXA6IHZhcigtLXNwYWNlLXhzKTtcbiAgICBoZWlnaHQ6IGF1dG87XG59XG5cbi5idXR0b24tLW1vZGFsLWhlYWRlci1jbG9zZSB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyOiBub25lO1xufVxuXG4uYnV0dG9uLS1tb2RhbC1oZWFkZXItY2xvc2U6aG92ZXIge1xuICAgIG9wYWNpdHk6IDAuNztcbn1cblxuLmJ1dHRvbi0tbW9kYWwtaGVhZGVyLWNsb3NlOmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lO1xufVxuXG4uYnV0dG9uLS1wcmltYXJ5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXByaW1hcnkpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXdoaXRlKTtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLXRleHQtcHJpbWFyeSk7XG59XG5cbi5idXR0b24tLXByaW1hcnk6aG92ZXIge1xuICAgIG9wYWNpdHk6IDAuOTtcbn1cblxuLmJ1dHRvbi0taW1hZ2Uge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogMDtcbiAgICBmb250OiBpbmhlcml0O1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuLmJ1dHRvbi0tZGFuZ2VyIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItZXJyb3IpO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItZXJyb3ItYm9yZGVyKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1lcnJvci1iZyk7XG59XG5cbi5idXR0b24tLWRhbmdlcjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmctaG92ZXIpO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItYm9yZGVyLWxpZ2h0KTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1wcmltYXJ5KTtcbn1cblxuLmJ1dHRvbi0tMTAwIHtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuLmFjdGl2ZSxcbi5idXR0b246aG92ZXIge1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItYmctaG92ZXItZGFyayk7XG4gICAgYm94LXNoYWRvdzogdmFyKC0tc2hhZG93LXNtKTtcbiAgICBiYWNrZ3JvdW5kOiBsaWdodGdyYXk7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4uZm9jdXMsXG4uYnV0dG9uOmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXdoaXRlKTtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLWhvdmVyLWRhcmspO1xufVxuXG4uYnV0dG9uOmRpc2FibGVkLFxuLmJ1dHRvbi5kaXNhYmxlZCB7XG4gICAgb3BhY2l0eTogMC41O1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbn1cblxuLmluZm8tbWVzc2FnZSB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItaW5mby1iZyk7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2UtbWQpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpO1xufVxuXG4ud2Fybi1tZXNzYWdlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci13YXJuaW5nLWJnKTtcbiAgICBib3JkZXI6IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3Itd2FybmluZy1ib3JkZXIpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci13YXJuaW5nLXRleHQpO1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLW1kKTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKTtcbn1cblxuLmVycm9yLW1lc3NhZ2Uge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWVycm9yKTtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS1tZCk7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cyk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtaW52ZXJzZSk7XG59XG5cbi5lcnJvci1tZXNzYWdlIGEsXG4uaW5mby1tZXNzYWdlIGEsXG4ud2Fybi1tZXNzYWdlIGEge1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbn1cblxuLmZvcm0taW5wdXQge1xuICAgIGJvcmRlcjogdmFyKC0tYm9yZGVyLXdpZHRoLW1kKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItbGlnaHQpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJnLXN1cmZhY2UpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXByaW1hcnkpO1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLXNtKSB2YXIoLS1zcGFjZS1tZCk7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cblxuaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdLmZpZWxkLWVycm9yIHtcbiAgICBvdXRsaW5lOiB2YXIoLS1ib3JkZXItd2lkdGgtbWQpIHNvbGlkIHZhcigtLWNvbG9yLWVycm9yKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iZy1zdXJmYWNlKTtcbn1cblxuLmZpZWxkLWVycm9yIHtcbiAgICBib3JkZXI6IHZhcigtLWJvcmRlci13aWR0aC1tZCkgc29saWQgdmFyKC0tY29sb3ItZXJyb3IpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJnLXN1cmZhY2UpO1xufVxuXG4vKiBKUXVlcnkgVUkgb3ZlcndyaXRlcyB3aWxsIGJlIHJlbW92ZWQgYXMgc29vbiBhcyB0aGUgZnJhbWV3b3JrIGlzIG5vIGxvbmdlciBuZWVkZWQgKi9cbi51aS13aWRnZXQge1xuICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWJhc2UpO1xufVxuXG4udWktd2lkZ2V0LWNvbnRlbnQge1xuICAgIGJvcmRlcjogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItbGlnaHQpO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctbWFpbik7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtcHJpbWFyeSk7XG59XG5cbi51aS13aWRnZXQtY29udGVudCBhLFxuLnVpLXdpZGdldC1jb250ZW50IGE6bGluayxcbi51aS13aWRnZXQtY29udGVudCBhOmhvdmVyLFxuLnVpLXdpZGdldC1jb250ZW50IGE6dmlzaXRlZCxcbi51aS13aWRnZXQtY29udGVudCBhOmFjdGl2ZSB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtcHJpbWFyeSk7XG59XG5cbi51aS13aWRnZXQtY29udGVudCBhOmhvdmVyIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cblxuLnVpLXN0YXRlLWhvdmVyLFxuLnVpLXdpZGdldC1jb250ZW50IC51aS1zdGF0ZS1ob3Zlcixcbi51aS13aWRnZXQtaGVhZGVyIC51aS1zdGF0ZS1ob3Zlcixcbi51aS1zdGF0ZS1mb2N1cyxcbi51aS13aWRnZXQtY29udGVudCAudWktc3RhdGUtZm9jdXMsXG4udWktd2lkZ2V0LWhlYWRlciAudWktc3RhdGUtZm9jdXMge1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy1tYWluKTtcbn1cblxuLnVpLXN0YXRlLWhvdmVyLFxuLnVpLXdpZGdldC1jb250ZW50IGEudWktc3RhdGUtaG92ZXIsXG4udWktd2lkZ2V0LWhlYWRlciAudWktc3RhdGUtaG92ZXIsXG4udWktc3RhdGUtZm9jdXMsXG4udWktd2lkZ2V0LWNvbnRlbnQgLnVpLXN0YXRlLWZvY3VzLFxuLnVpLXdpZGdldC1oZWFkZXIgLnVpLXN0YXRlLWZvY3VzIHtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctbWFpbik7XG59XG5cbi51aS1tZW51IC51aS1tZW51LWl0ZW0gYS51aS1zdGF0ZS1ob3ZlciB7XG4gICAgbWFyZ2luOiAwO1xufVxuXG4ucmVzdWx0LXN0YXR1cy1jb21tZW50IC5jb250ZW50IC5ldmVudC1jb250YWluZXIsXG4ucmVwb3J0aW5nLW92ZXJ2aWV3IC5jb250ZW50IC5zdGlja3ktdGFibGUgLmV2ZW50LWNvbnRhaW5lciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmctY2FyZCk7XG4gICAgYm9yZGVyLWxlZnQ6IHZhcigtLWJvcmRlci13aWR0aC1sZykgc29saWQgdmFyKC0tY29sb3ItcHJpbWFyeSk7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2UtbWQpIHZhcigtLXNwYWNlLWxnKTtcbiAgICBtYXJnaW46IHZhcigtLXNwYWNlLXhzKSAwO1xuXG4gICAgbWF4LWhlaWdodDogMTYwcHg7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbn1cblxuLnJlc3VsdC1zdGF0dXMtY29tbWVudCAuY29udGVudCAuZXZlbnQtY29udGFpbmVyOjotd2Via2l0LXNjcm9sbGJhcixcbi5yZXBvcnRpbmctb3ZlcnZpZXcgLmNvbnRlbnQgLnN0aWNreS10YWJsZSAuZXZlbnQtY29udGFpbmVyOjotd2Via2l0LXNjcm9sbGJhciB7XG4gICAgd2lkdGg6IDZweDtcbn1cblxuLnJlc3VsdC1zdGF0dXMtY29tbWVudCAuY29udGVudCAuZXZlbnQtY29udGFpbmVyOjotd2Via2l0LXNjcm9sbGJhci10cmFjayxcbi5yZXBvcnRpbmctb3ZlcnZpZXcgLmNvbnRlbnQgLnN0aWNreS10YWJsZSAuZXZlbnQtY29udGFpbmVyOjotd2Via2l0LXNjcm9sbGJhci10cmFjayB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctaG92ZXIpO1xufVxuXG4ucmVzdWx0LXN0YXR1cy1jb21tZW50IC5jb250ZW50IC5ldmVudC1jb250YWluZXI6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iLFxuLnJlcG9ydGluZy1vdmVydmlldyAuY29udGVudCAuc3RpY2t5LXRhYmxlIC5ldmVudC1jb250YWluZXI6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1ib3JkZXItZGFzaGVkKTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLXhzKTtcbn1cblxuLnJlc3VsdC1zdGF0dXMtY29tbWVudCAuY29udGVudCAuZXZlbnQtY29udGFpbmVyOjotd2Via2l0LXNjcm9sbGJhci10aHVtYjpob3Zlcixcbi5yZXBvcnRpbmctb3ZlcnZpZXcgLmNvbnRlbnQgLnN0aWNreS10YWJsZSAuZXZlbnQtY29udGFpbmVyOjotd2Via2l0LXNjcm9sbGJhci10aHVtYjpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xufVxuXG4ucmVzdWx0LXN0YXR1cy1jb21tZW50IC5jb250ZW50IC5ldmVudC10aW1lbGluZSxcbi5yZXBvcnRpbmctb3ZlcnZpZXcgLmNvbnRlbnQgLnN0aWNreS10YWJsZSAuZXZlbnQtdGltZWxpbmUge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IHZhcigtLXNwYWNlLXNtKTtcbn1cblxuLnJlc3VsdC1zdGF0dXMtY29tbWVudCAuY29udGVudCAuZXZlbnQtaXRlbSxcbi5yZXBvcnRpbmctb3ZlcnZpZXcgLmNvbnRlbnQgLnN0aWNreS10YWJsZSAuZXZlbnQtaXRlbSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbn1cblxuLnJlc3VsdC1zdGF0dXMtY29tbWVudCAuY29udGVudCAuZXZlbnQtaWNvbixcbi5yZXBvcnRpbmctb3ZlcnZpZXcgLmNvbnRlbnQgLnN0aWNreS10YWJsZSAuZXZlbnQtaWNvbiB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbXV0ZWQpO1xuICAgIG1hcmdpbi1yaWdodDogdmFyKC0tc3BhY2UtbWQpO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbn1cblxuLnJlc3VsdC1zdGF0dXMtY29tbWVudCAuY29udGVudCAuZXZlbnQtbWV0YSxcbi5yZXBvcnRpbmctb3ZlcnZpZXcgLmNvbnRlbnQgLnN0aWNreS10YWJsZSAuZXZlbnQtbWV0YSB7XG4gICAgbWluLXdpZHRoOiAyMjBweDtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG4gICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtbW9ubyk7XG59XG5cbi5yZXN1bHQtc3RhdHVzLWNvbW1lbnQgLmNvbnRlbnQgLmV2ZW50LXVzZXIsXG4ucmVwb3J0aW5nLW92ZXJ2aWV3IC5jb250ZW50IC5zdGlja3ktdGFibGUgLmV2ZW50LXVzZXIge1xuICAgIG1pbi13aWR0aDogMTQwcHg7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBmbGV4LXNocmluazogMDtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtcHJpbWFyeSk7XG4gICAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1zcGFjZS1tZCk7XG59XG5cbi5yZXN1bHQtc3RhdHVzLWNvbW1lbnQgLmNvbnRlbnQgLmV2ZW50LWRlc2MsXG4ucmVwb3J0aW5nLW92ZXJ2aWV3IC5jb250ZW50IC5zdGlja3ktdGFibGUgLmV2ZW50LWRlc2Mge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXByaW1hcnkpO1xuICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgIG1pbi13aWR0aDogMDtcbiAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICAgIG92ZXJmbG93LXdyYXA6IGFueXdoZXJlO1xufVxuXG4ucmVwb3J0aW5nLW92ZXJ2aWV3IC5jb250ZW50IC5zdGlja3ktdGFibGUgdGhlYWQgdHIgdGguY29sLWJlbmNobWFyayxcbi5yZXBvcnRpbmctb3ZlcnZpZXcgLmNvbnRlbnQgLnN0aWNreS10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtYmVuY2htYXJrLFxuLnJlcG9ydGluZy1vdmVydmlldyAuY29udGVudCAuc3RpY2t5LXRhYmxlIHRoZWFkIHRyIHRoLmNvbC1zY29yZSxcbi5yZXBvcnRpbmctb3ZlcnZpZXcgLmNvbnRlbnQgLnN0aWNreS10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtc2NvcmUsXG4ucmVwb3J0aW5nLW92ZXJ2aWV3IC5jb250ZW50IC5zdGlja3ktdGFibGUgdGJvZHkgdHIgdGQuY29sLWFjdGlvbiB7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLnJlcG9ydGluZy1vdmVydmlldyAuY29udGVudCAuc3RpY2t5LXRhYmxlIC5uZXN0ZWQtcm93IHRkIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGJvcmRlci1ib3R0b206IHZhcigtLWJvcmRlci13aWR0aC1tZCkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLWxpZ2h0KTtcbn1cblxuLnJlcG9ydGluZy1vdmVydmlldyAuY29udGVudCAuc2VhcmNoLWdyb3VwLW1vYmlsZSB7XG4gICAgd2lkdGg6IDEwMCU7XG59XG5cbi5yZXBvcnRpbmctb3ZlcnZpZXcgLmNvbnRlbnQgLnNlYXJjaC1pbnB1dC13cmFwcGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXgtd2lkdGg6IDQwMHB4O1xufVxuXG4ucmVwb3J0aW5nLW92ZXJ2aWV3IC5jb250ZW50IC5zZWFyY2gtaW5wdXQtd3JhcHBlciBpbnB1dFt0eXBlPVwidGV4dFwiXSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZy1yaWdodDogOTBweDtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG4ucmVwb3J0aW5nLW92ZXJ2aWV3IC5jb250ZW50IC5zZWFyY2gtaW5wdXQtd3JhcHBlciBidXR0b24ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMnB4O1xuICAgIHRvcDogMnB4O1xuICAgIGJvdHRvbTogMnB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDAgdmFyKC0tYm9yZGVyLXJhZGl1cy14cykgdmFyKC0tYm9yZGVyLXJhZGl1cy14cykgMDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi8qIFRhYiBtZW51ICovXG4udGFiLW1lbnUge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICBnYXA6IHZhcigtLXNwYWNlLXhzKTtcbiAgICBib3JkZXItYm90dG9tOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1saWdodCk7XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UtbWQpO1xufVxuXG4udGFiLW1lbnUtLWhhcmR3YXJlIHtcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS1tZCk7XG59XG5cbi50YWItbWVudSA+ICoge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xufVxuXG4udGFiLW1lbnUgc2VsZWN0IHtcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS14cyk7XG59XG5cbi5maWx0ZXIudGFiLW1lbnUge1xuICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLnRhYi1tZW51IC5idXR0b24ge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIGJvcmRlci1ib3R0b206IHZhcigtLWJvcmRlci13aWR0aC1tZCkgc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgbWFyZ2luLWJvdHRvbTogLTFweDtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1wcmltYXJ5KTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtbWVkaXVtKTtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS1zbSkgdmFyKC0tc3BhY2UtbWQpO1xuICAgIGdhcDogdmFyKC0tc3BhY2Utc20pO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KSwgYm9yZGVyLWNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCk7XG59XG5cbi50YWItbWVudSAuYnV0dG9uOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLWJvcmRlci1zdGFuZGFyZCk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWxpbmspO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG59XG5cbi50YWItbWVudSAuYnV0dG9uOmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtcHJpbWFyeSk7XG59XG5cbi50YWItbWVudSAuYnV0dG9uLmZvY3VzLFxuLnRhYi1tZW51IC5idXR0b24uYWN0aXZlLFxuLnRhYi1tZW51IC5idXR0b24uZm9jdXM6aG92ZXIsXG4udGFiLW1lbnUgLmJ1dHRvbi5hY3RpdmU6aG92ZXIsXG4udGFiLW1lbnUgLmJ1dHRvbi5mb2N1czpmb2N1cyxcbi50YWItbWVudSAuYnV0dG9uLmFjdGl2ZTpmb2N1cyB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1saW5rKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItbGluayk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG59XG5cbi50YWItbWVudSAuYnV0dG9uOmZvY3VzLXZpc2libGUge1xuICAgIG91dGxpbmU6IDJweCBzb2xpZCB2YXIoLS1jb2xvci1oaWdobGlnaHQpO1xuICAgIG91dGxpbmUtb2Zmc2V0OiAtMnB4O1xufVxuXG4udGFiLW1lbnUgLnRhYmxlLW5hdmlnYXRpb24ge1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UteHMpO1xufVxuXG4uZmxleC1yb3cgPiAudGFibGUtbmF2aWdhdGlvbiB7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXRvcDogMDtcbn1cblxuLyogU2lkZWJhciAqL1xuLnNpZGViYXItdGl0bGUge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LWhlYWRpbmcpO1xuICAgIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlLW1kKTtcbn1cblxuLnNpZGViYXItZW1wdHkge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xufVxuXG4ud3ItcmFua2luZy1jYXJkIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtc20pO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi53ci1yYW5raW5nLWNhcmQgLndyLXJhbmtpbmctcm93Om5vdCg6bGFzdC1jaGlsZCkge1xuICAgIHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjZS14cyk7XG4gICAgYm9yZGVyLWJvdHRvbTogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItbGlnaHQpO1xufVxuXG4ud3ItcmFua2luZy1yb3cge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiB2YXIoLS1wb3MtbWFya2VyLXdpZHRoKSBtaW5tYXgoMCwgMWZyKTtcbiAgICBncmlkLXRlbXBsYXRlLXJvd3M6IGF1dG8gYXV0byBhdXRvO1xuICAgIGdyaWQtZ2FwOiB2YXIoLS1zcGFjZS0yeHMpIHZhcigtLXNwYWNlLXNtKTtcbiAgICBhbGlnbi1pdGVtczogc3RhcnQ7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLXNtKSB2YXIoLS1zcGFjZS1tZCkgdmFyKC0tc3BhY2Utc20pIDA7XG4gICAgYm9yZGVyLWJvdHRvbTogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItc3VidGxlKTtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCk7XG59XG5cbi53ci1yYW5raW5nLXJvdzpsYXN0LWNoaWxkIHtcbiAgICBib3JkZXItYm90dG9tOiBub25lO1xufVxuXG4ud3ItcmFua2luZy1yb3c6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXRleHQtaW52ZXJzZSk7XG59XG5cbi53ci1yYW5raW5nLXJvdy5pcy1hY3RpdmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWluZm8tYmcpO1xufVxuXG4ucG9zLW1hcmtlciB7XG4gICAgd2lkdGg6IHZhcigtLXBvcy1tYXJrZXItd2lkdGgpO1xuICAgIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gICAgZmxleC1zaHJpbms6IDA7XG59XG5cbi53ci1yYW5raW5nLXJvdyAucG9zLW1hcmtlciB7XG4gICAgZ3JpZC1jb2x1bW46IDE7XG4gICAgZ3JpZC1yb3c6IDEgLyAtMTtcbiAgICB3aWR0aDogdmFyKC0tcG9zLW1hcmtlci13aWR0aCk7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG59XG5cbi5wb3MtbWFya2VyLmdvbGQge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXdhcm5pbmctc3Rhcik7XG59XG5cbi5wb3MtbWFya2VyLnNpbHZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItdGV4dC1tdXRlZCk7XG59XG5cbi5wb3MtbWFya2VyLmJyb256ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3Itd2FybmluZyk7XG59XG5cbi5wb3MtbWFya2VyLm1lZGFsIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1wb3MtZm91ci1maXZlKTtcbn1cblxuLnBvcy1tYXJrZXIubm9tZWRhbCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItcG9zLWZvdXItZml2ZSk7XG59XG5cbi5yYW5rLXBvcyB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZmxleC1zaHJpbms6IDA7XG59XG5cbi53ci1yYW5raW5nLXJvdyAucmFuay1wb3Mge1xuICAgIGdyaWQtY29sdW1uOiAyO1xuICAgIGdyaWQtcm93OiAxO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAganVzdGlmeS1zZWxmOiBzdGFydDtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14cyk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC10aWdodCk7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDA7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLndyLXJhbmtpbmctcm93IC5yYW5rLXBvczo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIiNcIjtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuMWVtO1xuICAgIG9wYWNpdHk6IDAuODU7XG59XG5cbi8qIE1haW4gUm93IEluZm8gKi9cbi5yYW5rLWNvbnRlbnQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBtaW4td2lkdGg6IDA7XG4gICAgZmxleDogMTtcbiAgICBnYXA6IHZhcigtLXNwYWNlLTJ4cyk7XG59XG5cbi53ci1yYW5raW5nLXJvdyAucmFuay1jb250ZW50IHtcbiAgICBncmlkLWNvbHVtbjogMjtcbiAgICBncmlkLXJvdzogMjtcbn1cblxuLndyLXJhbmtpbmctcm93IC5yYW5rLXNjb3JlIHtcbiAgICBncmlkLWNvbHVtbjogMjtcbiAgICBncmlkLXJvdzogMztcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtc20pO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbi5yYW5rLWxhYmVsIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogdmFyKC0tc3BhY2UtMnhzKTtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS0yeHMpO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjA1ZW07XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbXV0ZWQpO1xufVxuXG4ucmFuay1sYWJlbCBpIHtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS0yeHMpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbn1cblxuLnJhbmstdXNlci1saW5lIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS1zbSk7XG4gICAgbWluLXdpZHRoOiAwO1xufVxuXG4ucmFuay1hdmF0YXIge1xuICAgIHdpZHRoOiAyMHB4O1xuICAgIGhlaWdodDogMjBweDtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLWNpcmNsZSk7XG4gICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgZmxleC1zaHJpbms6IDA7XG59XG5cbi5yYW5rLXVzZXJuYW1lIHtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG59XG5cbi5yYW5rLWhhcmR3YXJlLWxpbmUge1xuICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gICAgd29yZC1icmVhazogYnJlYWstd29yZDtcbiAgICBvdmVyZmxvdy13cmFwOiBicmVhay13b3JkO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXhzKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xuICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC10aWdodCk7XG59XG5cbi5yYW5rLWNsb2NrIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xufVxuXG4ucmFuay1zY29yZSB7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbn1cblxuLyogUmVzdWx0IGhpc3RvcnkgKi9cbi5oaXN0b3J5LW1ldGEge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS1zbSk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbXV0ZWQpO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS0yeHMpO1xufVxuXG4uaGlzdG9yeS1tZXRhOjphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbn1cblxuLmhpc3RvcnktdXNlciB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWFjY2VudCk7XG59XG5cbi5oaXN0b3J5LWRlc2Mge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS1zbSk7XG59XG5cbi5oaXN0b3J5LWljb24ge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG4gICAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2UtMnhzKTtcbn1cblxuLyogSGFyZHdhcmUgdHJlZSAqL1xuLmh3LXRyZWUtbGlzdCwgXG4uaHctdHJlZS1zdWJsaXN0IHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xufVxuXG4uaHctdHJlZS1zdWJsaXN0IHtcbiAgICBwYWRkaW5nLWxlZnQ6IHZhcigtLXNwYWNlLW1kKTtcbiAgICBib3JkZXItbGVmdDogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItbGlnaHQpO1xuICAgIG1hcmdpbi1sZWZ0OiB2YXIoLS1zcGFjZS1zbSk7XG59XG5cbi5ody10cmVlLXN1bW1hcnkge1xuICAgIGRpc3BsYXk6IGxpc3QtaXRlbTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cyk7XG59XG5cbi5ody10cmVlLXN1bW1hcnk6Oi13ZWJraXQtZGV0YWlscy1tYXJrZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5ody10cmVlLXN1bW1hcnk6Om1hcmtlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG4uaHctdHJlZS1zdW1tYXJ5LWNvbnRlbnQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IHZhcigtLXNwYWNlLXNtKTtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS1zbSkgdmFyKC0tc3BhY2UtbWQpO1xufVxuXG4uaHctdHJlZS1zdW1tYXJ5LWNvbnRlbnQgLmh3LXRyZWUtbGluayB7XG4gICAgZGlzcGxheTogaW5saW5lO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgZmxleDogMTtcbn1cblxuLmh3LXRyZWUtc3VtbWFyeS1jb250ZW50IC5ody10cmVlLWxhYmVsIHtcbiAgICBmbGV4OiAxO1xufVxuXG4uaHctdHJlZS1zdW1tYXJ5LWNvbnRlbnQ6OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGYwNTRcIjtcbiAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgNiBGcmVlXCIsIFwiRm9udEF3ZXNvbWVcIjtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1tdXRlZCk7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIHZhcigtLXRyYW5zaXRpb24tYmFzZSk7XG59XG5cbi5ody10cmVlLWJyYW5jaFtvcGVuXSA+IC5ody10cmVlLXN1bW1hcnkgLmh3LXRyZWUtc3VtbWFyeS1jb250ZW50OjpiZWZvcmUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1wcmltYXJ5KTtcbn1cblxuLmh3LXRyZWUtbGluayB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2Utc20pIHZhcigtLXNwYWNlLW1kKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1wcmltYXJ5KTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cyk7XG59XG5cbi5ody10cmVlLXN1bW1hcnk6bm90KC5pcy1hY3RpdmUpOmhvdmVyLFxuLmh3LXRyZWUtbGluazpub3QoLmlzLWFjdGl2ZSk6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLWhvdmVyKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1wcmltYXJ5KTtcbn1cblxuLmh3LXRyZWUtc3VtbWFyeS1jb250ZW50IC5ody10cmVlLWxpbms6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xufVxuXG4uaHctdHJlZS1saW5rLmlzLWFjdGl2ZSxcbi5ody10cmVlLXN1bW1hcnkuaXMtYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy1ob3Zlci1kYXJrKTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG59XG5cbi5ody10cmVlLWxpbmsuaXMtYWN0aXZlOmlzKDpsaW5rLCA6dmlzaXRlZCwgOmhvdmVyLCA6Zm9jdXMsIDphY3RpdmUpLFxuLmh3LXRyZWUtc3VtbWFyeS5pcy1hY3RpdmUsXG4uaHctdHJlZS1zdW1tYXJ5LmlzLWFjdGl2ZSAuaHctdHJlZS1saW5rOmlzKDpsaW5rLCA6dmlzaXRlZCwgOmhvdmVyLCA6Zm9jdXMsIDphY3RpdmUpLFxuLmh3LXRyZWUtc3VtbWFyeS5pcy1hY3RpdmUgLmh3LXRyZWUtbGFiZWwsXG4uaHctdHJlZS1zdW1tYXJ5LmlzLWFjdGl2ZSAuaHctdHJlZS1zdW1tYXJ5LWNvbnRlbnQ6OmJlZm9yZSB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtaW52ZXJzZSk7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4vKiBEZXNrdG9wIHNldHRpbmdzICovXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjAxcHgpIHtcblxuICAgIC5oZWFkZXIsIC5uYXZpZ2F0aW9uLCAuZm9vdGVyIHtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDEgLyAtMTtcbiAgICB9XG5cbiAgICBib2R5Lm9uZS1jb2x1bW4ge1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IGF1dG87XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtcm93czogYXV0byBhdXRvIDFmciBhdXRvO1xuICAgICAgICBtYXgtd2lkdGg6IHZhcigtLWxheW91dC1tYXgtd2lkdGgpO1xuICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgfVxuXG4gICAgYm9keS5sZWZ0LXNpZGViYXIge1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IG1pbm1heCh2YXIoLS1zaWRlYmFyLW1pbi13aWR0aCksIDFmcikgbWlubWF4KDAsIDNmcik7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtcm93czogYXV0byBhdXRvIDFmciBhdXRvO1xuICAgICAgICBtYXgtd2lkdGg6IHZhcigtLWxheW91dC1tYXgtd2lkdGgpO1xuICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgfVxuXG4gICAgYm9keS5yaWdodC1zaWRlYmFyIHtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBtaW5tYXgoMCwgM2ZyKSBtaW5tYXgodmFyKC0tc2lkZWJhci1taW4td2lkdGgpLCAxZnIpO1xuICAgICAgICBncmlkLXRlbXBsYXRlLXJvd3M6IGF1dG8gYXV0byAxZnIgYXV0bztcbiAgICAgICAgbWF4LXdpZHRoOiB2YXIoLS1sYXlvdXQtbWF4LXdpZHRoKTtcbiAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgIH1cblxuICAgIC5ub2Rlc2t0b3Age1xuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuXG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEyMDBweCkge1xuXG4gICAgYm9keS5sZWZ0LXNpZGViYXIsXG4gICAgYm9keS5yaWdodC1zaWRlYmFyIHtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG4gICAgfVxuXG4gICAgLm5vbW9iaWxlIHtcbiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC8qIENvbnRlbnQgc2V0dGluZ3MgKi9cbiAgICAuY29udGVudCB7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMTBweCBtaW5tYXgoMCwgMWZyKSAxMHB4O1xuICAgIH1cblxuXG4gICAgLnNpZGUtYXJlYSB7XG4gICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB3aWR0aDogMTAwdnc7XG4gICAgICAgIGhlaWdodDogMTAwdmg7XG4gICAgICAgIHotaW5kZXg6IHZhcigtLXotaW5kZXgtZHJhd2VyKTtcblxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwJSk7XG4gICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSB2YXIoLS10cmFuc2l0aW9uLXNtb290aCk7XG4gICAgICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgfVxuXG4gICAgLnNpZGUtYXJlYS5pcy1vcGVuIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgIH1cblxuICAgIC5zaWRlLWFyZWEgLmNvbnRlbnQge1xuICAgICAgICBwYWRkaW5nOiAwIHZhcigtLXNwYWNlLWxnKSB2YXIoLS1zcGFjZS0yeGwpIHZhcigtLXNwYWNlLWxnKTtcbiAgICB9XG5cbiAgICAuc2lkZS1hcmVhIC5jb250ZW50IC5ody10cmVlIHtcbiAgICAgICAgaGVpZ2h0OiBjYWxjKDEwMHZoIC0gNzBweCk7XG4gICAgICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgfVxuXG4gICAgLmh3LXRyZWUtc3VtbWFyeS1jb250ZW50LFxuICAgIC5ody10cmVlLWxpbmsge1xuICAgICAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS1tZCk7XG4gICAgfVxuXG4gICAgLnNpZGViYXItbW9iaWxlLWhlYWRlciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgcG9zaXRpb246IC13ZWJraXQtc3RpY2t5O1xuICAgICAgICBwb3NpdGlvbjogc3RpY2t5O1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHotaW5kZXg6IHZhcigtLXotaW5kZXgtc3RpY2t5LWhlYWRlcik7XG4gICAgICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLXhzKTtcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctYWx0KTtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtcHJpbWFyeSk7XG4gICAgICAgIGJvcmRlci1ib3R0b206IHZhcigtLWJvcmRlci13aWR0aC1tZCkgc29saWQgdmFyKC0tY29sb3ItcHJpbWFyeSk7XG4gICAgICAgIG1hcmdpbjogMCAtMTVweCB2YXIoLS1zcGFjZS1sZykgLTE1cHg7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWhlYWRpbmcpO1xuICAgIH1cblxuICAgIC5tb2RhbC1vdmVybGF5LFxuICAgIC5tb2RhbC1vdmVybGF5LS1mdWxsc2NyZWVuLW1vYmlsZSB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHN0cmV0Y2g7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMGR2aDtcbiAgICB9XG5cbiAgICAubW9kYWwtZGlhbG9nLFxuICAgIC5tb2RhbC1kaWFsb2ctLWZ1bGxzY3JlZW4tbW9iaWxlIHtcbiAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDBkdmg7XG4gICAgICAgIG1heC1oZWlnaHQ6IDEwMGR2aDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMDAlKTtcbiAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIHZhcigtLXRyYW5zaXRpb24tc21vb3RoKTtcbiAgICAgICAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICB9XG5cbiAgICAubW9kYWwtb3ZlcmxheS5pcy1vcGVuIC5tb2RhbC1kaWFsb2csXG4gICAgLm1vZGFsLW92ZXJsYXktLWZ1bGxzY3JlZW4tbW9iaWxlLmlzLW9wZW4gLm1vZGFsLWRpYWxvZy0tZnVsbHNjcmVlbi1tb2JpbGUge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgfVxuXG4gICAgLm1vZGFsLWRpYWxvZ19faGVhZGVyLFxuICAgIC5tb2RhbC1kaWFsb2cgLm1vZGFsLWhlYWRlcixcbiAgICAubW9kYWwtZGlhbG9nLS1mdWxsc2NyZWVuLW1vYmlsZSAubW9kYWwtaGVhZGVyIHtcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLW1haW4pO1xuICAgICAgICBib3JkZXItYm90dG9tOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1saWdodCk7XG4gICAgICAgIHBhZGRpbmc6IG1heCgxMHB4LCBlbnYoc2FmZS1hcmVhLWluc2V0LXRvcCwgMTBweCkpIG1heCgxNXB4LCBlbnYoc2FmZS1hcmVhLWluc2V0LXJpZ2h0LCAxNXB4KSkgMTBweCBtYXgoMTVweCwgZW52KHNhZmUtYXJlYS1pbnNldC1sZWZ0LCAxNXB4KSk7XG4gICAgfVxuXG4gICAgLm1vZGFsLWRpYWxvZ19fYm9keSxcbiAgICAubW9kYWwtZGlhbG9nIC5tb2RhbC1ib2R5LFxuICAgIC5tb2RhbC1kaWFsb2ctLWZ1bGxzY3JlZW4tbW9iaWxlIC5tb2RhbC1ib2R5IHtcbiAgICAgICAgZmxleDogMSAxIDA7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDA7XG4gICAgICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgICAgIG92ZXJzY3JvbGwtYmVoYXZpb3IteTogY29udGFpbjtcbiAgICAgICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAgICAgICBwYWRkaW5nOiAxNXB4IG1heCgxNXB4LCBlbnYoc2FmZS1hcmVhLWluc2V0LXJpZ2h0LCAxNXB4KSkgMTVweCBtYXgoMTVweCwgZW52KHNhZmUtYXJlYS1pbnNldC1sZWZ0LCAxNXB4KSk7XG4gICAgfVxuXG5cbiAgICAubW9kYWwtZGlhbG9nX19mb290ZXIsXG4gICAgLm1vZGFsLWRpYWxvZyAubW9kYWwtZm9vdGVyLFxuICAgIC5tb2RhbC1kaWFsb2ctLWZ1bGxzY3JlZW4tbW9iaWxlIC5tb2RhbC1mb290ZXIge1xuICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctbWFpbik7XG4gICAgICAgIGJvcmRlci10b3A6IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLWxpZ2h0KTtcbiAgICAgICAgcGFkZGluZzogMTJweCBtYXgoMTVweCwgZW52KHNhZmUtYXJlYS1pbnNldC1yaWdodCwgMTVweCkpIG1heCgxMnB4LCBlbnYoc2FmZS1hcmVhLWluc2V0LWJvdHRvbSwgMTJweCkpIG1heCgxNXB4LCBlbnYoc2FmZS1hcmVhLWluc2V0LWxlZnQsIDE1cHgpKTtcbiAgICB9XG5cbiAgICAubW9kYWwtZGlhbG9nIC5mb3JtLW1vZGFsLWFjdGlvbnMsXG4gICAgLm1vZGFsLWRpYWxvZy0tZnVsbHNjcmVlbi1tb2JpbGUgLmZvcm0tbW9kYWwtYWN0aW9ucyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGdhcDogdmFyKC0tc3BhY2UtbWQpO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgfVxuXG4gICAgLm1vZGFsLWRpYWxvZ19fZm9vdGVyIC5idXR0b24sXG4gICAgLm1vZGFsLWRpYWxvZyAubW9kYWwtZm9vdGVyIC5idXR0b24sXG4gICAgLm1vZGFsLWRpYWxvZy0tZnVsbHNjcmVlbi1tb2JpbGUgLmZvcm0tbW9kYWwtYWN0aW9ucyAuYnV0dG9uIHtcbiAgICAgICAgbWluLWhlaWdodDogNDRweDtcbiAgICB9XG5cbiAgICBAbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuICAgICAgICAubW9kYWwtZGlhbG9nLFxuICAgICAgICAubW9kYWwtZGlhbG9nLm1vZGFsLWRpYWxvZy0tZnVsbHNjcmVlbi1tb2JpbGUge1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5maWx0ZXIgLnJhbmtpbmctZmlsdGVyIHtcbiAgICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgICAgICAgc2Nyb2xsYmFyLXdpZHRoOiBub25lO1xuICAgIH1cblxuICAgIC5maWx0ZXIgLnJhbmtpbmctZmlsdGVyOjotd2Via2l0LXNjcm9sbGJhciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLnRhYi1tZW51IHtcbiAgICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgICAgICAgc2Nyb2xsYmFyLXdpZHRoOiBub25lO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgIH1cblxuICAgIC50YWItbWVudTo6LXdlYmtpdC1zY3JvbGxiYXIge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC8qIGhlcm8gYmFubmVyICovXG4gICAgLmhlcm8tYmFubmVyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgICAgZ2FwOiB2YXIoLS1zcGFjZS1sZyk7XG4gICAgfVxuXG4gICAgLyogR3JpZCBib3gqL1xuICAgIC5ncmlkLWJveC0tc3VibWl0LWhhcmR3YXJlIHtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBhdXRvO1xuICAgIH1cblxuICAgIC8qIFN1Ym1pc3Npb24gKi9cbiAgICAuc3VibWlzc2lvbi1zY29yZS1jYXJkIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgfVxuXG4gICAgLnN1Ym1pc3Npb24tc2NvcmUtY2FyZCAuc2NvcmUtZGV0YWlscyB7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICB9XG5cbiAgICAuc3VibWlzc2lvbi1zY29yZS1jYXJkIC5zY29yZS1kZXRhaWxzLXJvdyB7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICB9XG5cbiAgICAvKiBGbGV4IHJvd3MgKi9cbiAgICAuZmxleC1yb3ctLWluZm8sXG4gICAgLmZsZXgtcm93LS1iYWRnZXMge1xuICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICAgICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAgICAgICBzY3JvbGxiYXItd2lkdGg6IG5vbmU7XG4gICAgfVxuXG4gICAgLmZsZXgtcm93LS1pbmZvIHtcbiAgICAgICAgbWFyZ2luOiB2YXIoLS1zcGFjZS1tZCkgMDtcbiAgICB9XG5cbiAgICAuZmxleC1yb3ctLWluZm86Oi13ZWJraXQtc2Nyb2xsYmFyLFxuICAgIC5mbGV4LXJvdy0tYmFkZ2VzOjotd2Via2l0LXNjcm9sbGJhciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLmZsZXgtcm93LS1pbmZvID4gKixcbiAgICAuZmxleC1yb3ctLWJhZGdlcyA+ICoge1xuICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICB9XG5cbiAgICAvKiBQcm9maWxlIGJhbm5lciAqL1xuICAgIC5wcm9maWxlLWJhbm5lci13cmFwcGVyLmhhcy1iYW5uZXIgLmF2YXRhciB7XG4gICAgICAgIHdpZHRoOiA2MHB4O1xuICAgICAgICBoZWlnaHQ6IDYwcHg7XG4gICAgfVxuXG4gICAgLnByb2ZpbGUtYmFubmVyLXdyYXBwZXIuaGFzLWJhbm5lciAuYXZhdGFyLXdyYXBwZXIge1xuICAgICAgICBib3R0b206IDEwcHg7XG4gICAgICAgIGxlZnQ6IDEycHg7XG4gICAgfVxuXG4gICAgLyogUmVwb3J0aW5nICovXG4gICAgLnJlcG9ydGluZy1vdmVydmlldyAuY29udGVudCAuc3RpY2t5LXRhYmxlIHRhYmxlLFxuICAgIC5yZXBvcnRpbmctb3ZlcnZpZXcgLmNvbnRlbnQgLnN0aWNreS10YWJsZSB0Ym9keSxcbiAgICAucmVwb3J0aW5nLW92ZXJ2aWV3IC5jb250ZW50IC5zdGlja3ktdGFibGUgdGQge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgfVxuXG4gICAgLnJlcG9ydGluZy1vdmVydmlldyAuY29udGVudCAuc3RpY2t5LXRhYmxlIHRoZWFkIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAucmVwb3J0aW5nLW92ZXJ2aWV3IC5jb250ZW50IC5zdGlja3ktdGFibGUgdGJvZHkgdHIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctc3VyZmFjZSk7XG4gICAgICAgIGJvcmRlcjogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItc3RhbmRhcmQpO1xuICAgICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLXNtKTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UtbWQpO1xuICAgICAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS1tZCk7XG4gICAgICAgIGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdy1zbSk7XG4gICAgfVxuXG4gICAgLnJlcG9ydGluZy1vdmVydmlldyAuY29udGVudCAuc3RpY2t5LXRhYmxlIHRib2R5IHRyOm50aC1jaGlsZChvZGQpIHRkLFxuICAgIC5yZXBvcnRpbmctb3ZlcnZpZXcgLmNvbnRlbnQgLnN0aWNreS10YWJsZSB0Ym9keSB0cjpudGgtY2hpbGQoZXZlbikgdGQge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB9XG5cbiAgICAucmVwb3J0aW5nLW92ZXJ2aWV3IC5jb250ZW50IC5zdGlja3ktdGFibGUgdGJvZHkgdHIgdGQge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLXNtKSAwO1xuICAgICAgICBib3JkZXItYm90dG9tOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIGRhc2hlZCB2YXIoLS1jb2xvci1ib3JkZXItbGlnaHQpO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICAgIH1cblxuICAgIC5yZXBvcnRpbmctb3ZlcnZpZXcgLmNvbnRlbnQgLnN0aWNreS10YWJsZSB0Ym9keSB0ciB0ZDpsYXN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICB9XG5cbiAgICAucmVwb3J0aW5nLW92ZXJ2aWV3IC5jb250ZW50IC5zdGlja3ktdGFibGUgdGJvZHkgdHIgdGRbZGF0YS1sYWJlbF06OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IGF0dHIoZGF0YS1sYWJlbCk7XG4gICAgICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWhlYWRpbmcpO1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1wcmltYXJ5KTtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgcGFkZGluZy1yaWdodDogdmFyKC0tc3BhY2UtbWQpO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICB9XG5cbiAgICAucmVwb3J0aW5nLW92ZXJ2aWV3IC5jb250ZW50IC5zdGlja3ktdGFibGUgdGJvZHkgdHIubmVzdGVkLXJvdyB7XG4gICAgICAgIG1hcmdpbi10b3A6IGNhbGMoLTEgKiB2YXIoLS1zcGFjZS1tZCkgKyAycHgpO1xuICAgICAgICBib3JkZXItdG9wOiBub25lO1xuICAgICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xuICAgICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctY2FyZCk7XG4gICAgICAgIHBhZGRpbmctdG9wOiB2YXIoLS1zcGFjZS14cyk7XG4gICAgfVxuXG4gICAgLnJlcG9ydGluZy1vdmVydmlldyAuY29udGVudCAuc3RpY2t5LXRhYmxlIHRib2R5IHRyLm5lc3RlZC1yb3cgdGQge1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgIH1cblxuICAgIC5yZXBvcnRpbmctb3ZlcnZpZXcgLmNvbnRlbnQgLnN0aWNreS10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtYmVuY2htYXJrIHtcbiAgICAgICAgb3JkZXI6IDE7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIH1cblxuICAgIC5yZXBvcnRpbmctb3ZlcnZpZXcgLmNvbnRlbnQgLnN0aWNreS10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtc2NvcmUge1xuICAgICAgICBvcmRlcjogMjtcbiAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1wcmltYXJ5KTtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB9XG5cbiAgICAucmVwb3J0aW5nLW92ZXJ2aWV3IC5jb250ZW50IC5zdGlja3ktdGFibGUgdGJvZHkgdHIgdGQuY29sLXVzZXIge1xuICAgICAgICBvcmRlcjogMztcbiAgICB9XG5cbiAgICAucmVwb3J0aW5nLW92ZXJ2aWV3IC5jb250ZW50IC5zdGlja3ktdGFibGUgdGJvZHkgdHIgdGQuY29sLWhhcmR3YXJlIHtcbiAgICAgICAgb3JkZXI6IDQ7XG4gICAgICAgIGJvcmRlci10b3A6IG5vbmU7XG4gICAgICAgIHBhZGRpbmctdG9wOiB2YXIoLS1zcGFjZS0yeHMpO1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xuICAgIH1cblxuICAgIC5yZXBvcnRpbmctb3ZlcnZpZXcgLmNvbnRlbnQgLnN0aWNreS10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtcmVhc29uIHtcbiAgICAgICAgb3JkZXI6IDU7XG4gICAgfVxuXG4gICAgLnJlcG9ydGluZy1vdmVydmlldyAuY29udGVudCAuc3RpY2t5LXRhYmxlIHRib2R5IHRyIHRkLmNvbC1hY3Rpb24ge1xuICAgICAgICBvcmRlcjogNjtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB9XG5cbiAgICAucmVzdWx0LXN0YXR1cy1jb21tZW50IC5jb250ZW50IC5ldmVudC1jb250YWluZXIsXG4gICAgLnJlcG9ydGluZy1vdmVydmlldyAuY29udGVudCAuc3RpY2t5LXRhYmxlIC5ldmVudC1jb250YWluZXIge1xuICAgICAgICBtYXgtaGVpZ2h0OiAyMDBweDtcbiAgICAgICAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2Utc20pO1xuICAgICAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS1zbSkgdmFyKC0tc3BhY2UtbWQpO1xuICAgICAgICBib3JkZXItbGVmdDogdmFyKC0tYm9yZGVyLXdpZHRoLW1kKSBzb2xpZCB2YXIoLS1jb2xvci10ZXh0LXByaW1hcnkpO1xuICAgIH1cblxuICAgIC5yZXBvcnRpbmctb3ZlcnZpZXcgLmNvbnRlbnQgLnN0aWNreS10YWJsZSAuZXZlbnQtY29udGFpbmVyIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgLnJlc3VsdC1zdGF0dXMtY29tbWVudCAuY29udGVudCAuZXZlbnQtaXRlbSxcbiAgICAucmVwb3J0aW5nLW92ZXJ2aWV3IC5jb250ZW50IC5zdGlja3ktdGFibGUgLmV2ZW50LWl0ZW0ge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgICAgZ2FwOiB2YXIoLS1zcGFjZS0yeHMpO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tc3BhY2Utc20pO1xuICAgICAgICBib3JkZXItYm90dG9tOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJnLWhvdmVyLWRhcmspO1xuICAgIH1cblxuICAgIC5yZXBvcnRpbmctb3ZlcnZpZXcgLmNvbnRlbnQgLnN0aWNreS10YWJsZSAuZXZlbnQtaXRlbTpsYXN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgfVxuXG4gICAgLnJlcG9ydGluZy1vdmVydmlldyAuY29udGVudCAuc3RpY2t5LXRhYmxlIC5ldmVudC1tZXRhLFxuICAgIC5yZXBvcnRpbmctb3ZlcnZpZXcgLmNvbnRlbnQgLnN0aWNreS10YWJsZSAuZXZlbnQtdXNlciB7XG4gICAgICAgIG1pbi13aWR0aDogdW5zZXQ7XG4gICAgfVxuXG4gICAgLnJlcG9ydGluZy1vdmVydmlldyAuY29udGVudCAuc2VhcmNoLWlucHV0LXdyYXBwZXIge1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgfVxuXG5cbiAgICAuZm9ybS1maWx0ZXIge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIG92ZXJmbG93LXg6IHZpc2libGU7XG4gICAgICAgIG92ZXJmbG93LXk6IHZpc2libGU7XG4gICAgICAgIGdhcDogdmFyKC0tc3BhY2UteHMpO1xuICAgIH1cblxuICAgIC5mb3JtLWZpbHRlciA+ICoge1xuICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICAgICAgc2Nyb2xsLXNuYXAtYWxpZ246IG5vbmU7XG4gICAgfVxuXG4gICAgLm1vZGFsLWJvZHkgLmZvcm0tZmlsdGVyIHtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICBvdmVyZmxvdy14OiB2aXNpYmxlO1xuICAgIH1cblxuICAgIC5tb2RhbC1ib2R5IC5mb3JtLWZpbHRlciA+ICoge1xuICAgICAgICBzY3JvbGwtc25hcC1hbGlnbjogbm9uZTtcbiAgICB9XG5cbiAgICAubW9kYWwtYm9keSAjcmFua2luZ19maWx0ZXIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgICBnYXA6IHZhcigtLXNwYWNlLW1kKSB2YXIoLS1zcGFjZS1sZyk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuXG4gICAgLmZpbHRlci1jaGlwcy1iYXIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIG92ZXJmbG93LXg6IHZpc2libGU7XG4gICAgICAgIG92ZXJmbG93LXk6IHZpc2libGU7XG4gICAgICAgIGdhcDogdmFyKC0tc3BhY2UteHMpO1xuICAgIH1cblxuICAgIC5maWx0ZXItY2hpcHMtYmFyID4gKiB7XG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIH1cblxuICAgIC5maWx0ZXItY2hpcHMtbGlzdCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgZ2FwOiB2YXIoLS1zcGFjZS14cyk7XG4gICAgfVxuXG4gICAgLmZpbHRlci1jaGlwcy1saXN0ID4gKiB7XG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIH1cbn1cbiJdLAogICJtYXBwaW5ncyI6ICI7QUFNQSxDQUFDO0FBQ0csV0FBUztBQUNULGVBQWE7QUFDYixtQkFBaUI7QUFDakIsYUFBVztBQUNYLFVBQVE7QUFDUixXQUFTLEVBQUUsSUFBSTtBQUNmLGlCQUFlLElBQUk7QUFDbkIsZUFBYSxJQUFJO0FBQ2pCLG9CQUFrQixJQUFJO0FBQ3RCLFNBQU8sSUFBSTtBQUNYLGNBQVk7QUFDaEI7QUFFQSxDQUFDLE9BQU8sQ0FkUDtBQWVHLGVBQWEsS0FBSyxHQUFHLEVBQUUsSUFBSTtBQUMvQjtBQUVBLENBQUMsZ0JBQWdCLENBbEJoQjtBQW1CRyxvQkFBa0IsSUFBSTtBQUN0QixTQUFPLElBQUk7QUFDZjtBQUdBLENBQUM7QUFDRyxXQUFTO0FBQ1QsZUFBYTtBQUNiLE9BQUssSUFBSTtBQUNULFdBQVMsSUFBSSxtQkFBbUIsSUFBSTtBQUNwQyxpQkFBZSxJQUFJO0FBQ25CLGFBQVcsSUFBSTtBQUNmLGVBQWEsSUFBSTtBQUNqQixrQkFBZ0I7QUFDaEIsa0JBQWdCO0FBQ2hCLGVBQWEsSUFBSTtBQUNqQixVQUFRLElBQUksbUJBQW1CLE1BQU07QUFDekM7QUFFQSxDQUFDO0FBQ0csY0FBWSxJQUFJO0FBQ2hCLGdCQUFjLElBQUk7QUFDbEIsU0FBTyxJQUFJO0FBQ2Y7QUFFQSxDQUFDO0FBQ0csY0FBWSxJQUFJO0FBQ2hCLGdCQUFjLElBQUk7QUFDbEIsU0FBTyxJQUFJO0FBQ2Y7QUFFQSxDQUFDO0FBQ0csY0FBWSxJQUFJO0FBQ2hCLGdCQUFjLElBQUk7QUFDbEIsU0FBTyxJQUFJO0FBQ2Y7QUFFQSxDQUFDO0FBQ0QsQ0FBQztBQUNHLGNBQVksSUFB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 */
