/* css/gallery.css */
:root {
  --bg-primary: #0f172a;
  --bg-secondary: #1e293b;
  --accent-primary: #7dd3fc;
  --accent-muted: #38bdf8;
  --color-success: #4ade80;
  --color-danger: #f87171;
  --kodak-yellow: #fcd34d;
  --kodak-red: #f1f5f9;
  --film-border: #475569;
  --paper-cream: #1e293b;
  --paper-aged: #0f172a;
  --font-mono:
    "JetBrains Mono",
    "SF Mono",
    monospace;
  --font-display:
    "Inter",
    -apple-system,
    BlinkMacSystemFont,
    sans-serif;
  --spacing-xs: 4px;
  --spacing-sm: 8px;
  --spacing-md: 12px;
  --spacing-lg: 16px;
  --spacing-xl: 24px;
  --touch-target-min: 44px;
}
* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}
html,
body {
  overflow-x: clip;
  width: 100%;
  max-width: 100vw;
  position: relative;
}
.no-select {
  -webkit-user-select: none;
  user-select: none;
}
.app-shell {
  position: fixed;
  inset: 0;
  height: 100vh;
  height: 100dvh;
  background: var(--bg-primary);
  color: var(--accent-primary);
  display: flex;
  flex-direction: column;
  overflow: hidden;
  font-family: var(--font-mono);
  font-size: 11px;
  padding-left: env(safe-area-inset-left);
  padding-right: env(safe-area-inset-right);
  padding-bottom: env(safe-area-inset-bottom);
}
.app-shell.sidebar-hidden .sidebar {
  display: none;
}
.header-bar {
  background: var(--bg-secondary);
  border-bottom: 1px solid var(--film-border);
  padding: 6px 12px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-shrink: 0;
}
.header-brand {
  font-family: var(--font-display);
  font-size: 16px;
  letter-spacing: 0;
  font-weight: 600;
  color: var(--accent-primary);
  text-shadow: none;
}
.header-status {
  display: flex;
  align-items: center;
  gap: 12px;
  font-size: 10px;
}
.rec-indicator {
  display: flex;
  align-items: center;
  gap: 4px;
  color: var(--color-danger);
}
.rec-dot {
  width: 8px;
  height: 8px;
  background: var(--color-danger);
  border-radius: 50%;
}
.rec-dot.active {
  animation: blink-rec 1s infinite;
}
.rec-indicator.inactive {
  color: var(--accent-muted);
}
.rec-indicator.inactive .rec-dot {
  background: var(--accent-muted);
}
@keyframes blink-rec {
  0%, 100% {
    opacity: 1;
  }
  50% {
    opacity: 0.3;
  }
}
.stage {
  flex: 1;
  min-height: 0;
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  background: var(--bg-primary);
  padding: var(--spacing-sm);
  overflow: hidden;
}
.stage .nav-controls {
  width: 100%;
  border-top: none;
  border-bottom: 2px solid #3a3632;
}
.stage .hero-wrapper {
  flex: 1;
  min-height: 0;
  width: 100%;
}
.hero-wrapper {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  max-width: calc(100% - 16px);
  max-height: calc(100% - 16px);
  background: var(--film-border);
  padding: 4px;
  box-shadow: inset 0 0 30px rgba(0, 0, 0, 0.5), 0 0 20px rgba(255, 176, 0, 0.1);
}
.stage img.hero,
.stage video.hero {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}
.tap-zone {
  position: absolute;
  top: 0;
  bottom: 0;
  width: 25%;
  z-index: 50;
  cursor: pointer;
  touch-action: manipulation;
  -webkit-tap-highlight-color: transparent;
}
.tap-zone.prev {
  left: 0;
}
.tap-zone.next {
  right: 0;
}
.tap-zone:active {
  background: rgba(255, 176, 0, 0.1);
}
.date-stamp {
  position: absolute;
  bottom: 12px;
  right: 12px;
  font-family: var(--font-display);
  font-size: 14px;
  color: var(--kodak-red);
  background: rgba(255, 215, 0, 0.9);
  padding: 2px 8px;
  letter-spacing: 1px;
}
.frame-counter {
  position: absolute;
  top: 8px;
  left: 8px;
  font-family: var(--font-display);
  font-size: 12px;
  color: var(--accent-primary);
  background: rgba(0, 0, 0, 0.7);
  padding: 2px 6px;
  letter-spacing: 2px;
}
.banner {
  position: absolute;
  top: 8px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 100;
  background: var(--color-danger);
  color: white;
  padding: 4px 16px;
  font-family: var(--font-display);
  font-size: 14px;
  letter-spacing: 2px;
  text-transform: uppercase;
  animation: flash-banner 2s infinite;
}
@keyframes flash-banner {
  0%, 100% {
    opacity: 1;
  }
  50% {
    opacity: 0.7;
  }
}
.active-filters-bar {
  position: absolute;
  bottom: 6px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 100;
  display: flex;
  align-items: center;
  gap: 6px;
  font-family: var(--font-display);
  font-size: 11px;
  white-space: nowrap;
}
.filter-pill {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 3px 8px;
  border-radius: 3px;
  background: rgba(40, 40, 40, 0.9);
  border: 1px solid var(--border-primary);
  color: var(--text-primary);
}
.filter-pill.person-pill {
  border-color: var(--accent-primary);
  color: var(--accent-primary);
}
.filter-pill.location-pill {
  border-color: #6a9fb5;
  color: #6a9fb5;
}
.filter-pill.camera-pill {
  border-color: #b59f6a;
  color: #b59f6a;
}
.filter-pill.media-pill {
  border-color: #8a6ab5;
  color: #8a6ab5;
}
.filter-pill.rating-pill {
  border-color: #b5a530;
  color: #b5a530;
}
.pill-clear {
  background: none;
  border: none;
  color: inherit;
  font-size: 14px;
  line-height: 1;
  cursor: pointer;
  padding: 0 2px;
  opacity: 0.6;
}
.pill-clear:hover {
  opacity: 1;
}
.pill-download {
  color: #f0c060;
  text-decoration: none;
  font-weight: bold;
  font-size: 10px;
  padding: 1px 4px;
  border: 1px solid #f0c060;
  border-radius: 2px;
}
.pill-download:hover {
  background: #f0c060;
  color: #0a0a0a;
}
.filter-count {
  color: var(--text-secondary);
  font-size: 10px;
  padding-left: 4px;
  border-left: 1px solid var(--border-primary);
}
.sidebar {
  background: var(--bg-secondary);
  border-top: 2px solid #3a3632;
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  height: 160px;
  padding-bottom: 45px;
}
.sidebar.hidden {
  display: none;
}
.strip-header {
  background: var(--film-border);
  padding: 4px 8px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 9px;
  color: var(--accent-muted);
  text-transform: uppercase;
  letter-spacing: 1px;
  border-bottom: 1px solid #3a3632;
}
.scroll-wrapper {
  flex: 1;
  overflow-x: auto;
  overflow-y: hidden;
  background: var(--film-border);
  -webkit-overflow-scrolling: touch;
}
.grid {
  display: flex;
  gap: 2px;
  padding: 4px 16px;
  height: 100%;
}
.scroll-wrapper::before,
.scroll-wrapper::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  width: 14px;
  background: repeating-linear-gradient(180deg, var(--film-border) 0px, var(--film-border) 6px, #0a0806 6px, #0a0806 12px);
  z-index: 10;
}
.thumb {
  flex-shrink: 0;
  width: 70px;
  height: 100%;
  position: relative;
  cursor: pointer;
  touch-action: manipulation;
  background: #1a1410;
  padding: 2px;
  opacity: 0.6;
}
.thumb.active {
  opacity: 1;
  outline: 2px solid var(--accent-primary);
  outline-offset: 1px;
}
.thumb picture {
  display: contents;
}
.thumb img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  background: #0a0806;
  image-orientation: from-image;
}
.thumb::after {
  content: attr(data-frame);
  position: absolute;
  bottom: 1px;
  right: 2px;
  font-size: 8px;
  color: var(--kodak-red);
  font-family: var(--font-display);
}
.nav-controls {
  background: linear-gradient(180deg, #2a2622 0%, #1a1612 100%);
  border-top: 2px solid #3a3632;
  padding: 6px 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  height: 48px;
  position: relative;
  z-index: 150;
}
.nav-btn {
  background: var(--bg-secondary);
  border: 1px solid var(--film-border);
  color: var(--accent-primary);
  font-family: var(--font-display);
  font-size: 14px;
  font-weight: 500;
  padding: 6px 10px;
  cursor: pointer;
  touch-action: manipulation;
  min-width: 36px;
  text-align: center;
  text-decoration: none;
  display: inline-block;
  border-radius: 4px;
  transition: background 0.15s ease;
}
.nav-btn:active {
  border-color: #1a1612;
  border-top-color: #4a4642;
  border-left-color: #4a4642;
  background: linear-gradient(180deg, #1a1612 0%, #2a2622 50%, #3a3632 100%);
}
.nav-btn.active {
  color: var(--color-success);
  text-shadow: 0 0 8px var(--color-success);
}
.nav-btn.icon-btn {
  display: none;
}
.nav-spacer {
  display: none;
}
.date-display {
  background: #1a0a00;
  border: 3px inset #3a2a1a;
  padding: 4px 12px;
  cursor: pointer;
  min-width: 100px;
  text-align: center;
}
.date-text {
  font-family: var(--font-display);
  font-size: 14px;
  color: var(--accent-primary);
  text-shadow: 0 0 8px var(--accent-primary);
  letter-spacing: 1px;
  display: block;
}
.date-detail {
  font-family: var(--font-mono);
  font-size: 10px;
  color: var(--accent-muted);
  margin-top: 2px;
}
.search-container {
  display: none;
  position: relative;
}
.search-container.active {
  display: flex;
  align-items: center;
}
.search-input {
  background: var(--bg-primary);
  border: 2px solid var(--accent-primary);
  color: var(--accent-primary);
  font-family: var(--font-display);
  font-size: 14px;
  padding: 4px 8px;
  width: 150px;
  outline: none;
}
.search-input::placeholder {
  color: rgba(255, 176, 0, 0.5);
}
.search-input:focus {
  border-color: var(--color-success);
  box-shadow: 0 0 8px rgba(51, 255, 51, 0.3);
}
.search-results-count {
  color: var(--accent-primary);
  font-family: var(--font-display);
  font-size: 12px;
  margin-left: 4px;
  opacity: 0.7;
}
.search-banner {
  background: linear-gradient(180deg, #2a2622 0%, #1a1612 100%);
  border: 1px solid var(--accent-primary);
  padding: 4px 12px;
  margin: 4px 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-family: var(--font-display);
  color: var(--accent-primary);
  font-size: 14px;
}
.search-banner button {
  background: none;
  border: 1px solid var(--accent-primary);
  color: var(--accent-primary);
  font-family: var(--font-display);
  font-size: 12px;
  padding: 2px 8px;
  cursor: pointer;
  margin-left: 8px;
}
.search-banner button:hover {
  background: rgba(255, 176, 0, 0.2);
}
.date-select {
  background: #1a0a00;
  border: 3px inset #3a2a1a;
  padding: 8px 12px;
  color: var(--accent-primary);
  font-family: var(--font-display);
  font-size: 18px;
  text-shadow: 0 0 8px var(--accent-primary);
  cursor: pointer;
  min-width: 140px;
  text-align: center;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}
.date-select option {
  background: #1a0a00;
  color: var(--accent-primary);
  font-size: 16px;
  padding: 8px;
}
.meta-display {
  display: none;
  background: linear-gradient(180deg, #e8e0d0 0%, #d0c8b8 100%);
  border: 1px solid #a09080;
  padding: 8px 10px;
  color: #1a1a1a;
  font-size: 9px;
  position: relative;
}
.meta-display::before {
  content: "PHOTO DATA";
  position: absolute;
  top: -8px;
  left: 8px;
  background: #d0c8b8;
  padding: 0 4px;
  font-size: 8px;
  color: #666;
  letter-spacing: 1px;
}
.meta-row {
  display: flex;
  justify-content: space-between;
  gap: 8px;
  padding: 2px 0;
  border-bottom: 1px dotted #a09080;
}
.meta-row:last-child {
  border-bottom: none;
}
.meta-val {
  font-weight: bold;
  color: var(--kodak-red);
  font-family: var(--font-display);
}
.meta-id {
  color: #333;
}
.desktop-exposure {
  display: none;
  margin-top: 6px;
}
.meta-tags,
.meta-objects {
  margin-top: 6px;
  flex-wrap: wrap;
}
.meta-tags-val,
.meta-objects-val {
  font-size: 8px;
  line-height: 1.4;
}
.meta-people-val {
  font-size: 8px;
  line-height: 1.4;
}
.meta-person-link {
  color: #8080ff;
  text-decoration: none;
}
.meta-person-link:hover {
  color: #aaa0ff;
  text-decoration: underline;
}
.meta-scene {
  margin-top: 6px;
  flex-direction: column;
  align-items: flex-start;
}
.meta-scene > span:first-child {
  margin-bottom: 2px;
}
.meta-scene-val {
  font-size: 8px;
  line-height: 1.3;
  max-width: 100%;
  white-space: normal;
  word-wrap: break-word;
}
.download-panel {
  display: none;
  padding: 8px;
  background: var(--bg-secondary);
  border-top: 1px solid #3a3632;
}
.download-btn {
  display: block;
  width: 100%;
  text-align: center;
  background: var(--kodak-yellow);
  color: var(--kodak-red);
  font-family: var(--font-display);
  font-size: 14px;
  font-weight: bold;
  padding: 10px;
  text-transform: uppercase;
  letter-spacing: 2px;
  text-decoration: none;
  border: 2px solid var(--kodak-red);
}
.download-btn:active {
  background: var(--kodak-red);
  color: var(--kodak-yellow);
}
.share-panel {
  display: none;
  padding: 8px;
  background: var(--bg-secondary);
  border-top: 1px solid #3a3632;
}
.share-btn {
  display: block;
  width: 100%;
  text-align: center;
  background: #2a4a2a;
  color: #60f060;
  font-family: var(--font-display);
  font-size: 14px;
  font-weight: bold;
  padding: 10px;
  text-transform: uppercase;
  letter-spacing: 2px;
  border: 2px solid #60f060;
  cursor: pointer;
}
.share-btn:hover {
  background: #3a5a3a;
}
.share-btn:active {
  background: #60f060;
  color: #2a4a2a;
}
.delete-btn {
  background: #4a2a2a;
  color: #f06060;
  border-color: #f06060;
  margin-top: 4px;
}
.delete-btn:hover {
  background: #5a3a3a;
}
.delete-btn:active {
  background: #f06060;
  color: #4a2a2a;
}
.share-modal-overlay {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.85);
  z-index: 600;
}
.share-modal {
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 90%;
  max-width: 450px;
  background: #1a1a1a;
  border: 2px solid #60f060;
  z-index: 601;
  font-family: var(--font-display);
}
.share-modal-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 12px 16px;
  background: #2a4a2a;
  color: #60f060;
  font-size: 16px;
  letter-spacing: 2px;
}
.share-modal-header button {
  background: transparent;
  border: 1px solid #60f060;
  color: #60f060;
  padding: 4px 10px;
  cursor: pointer;
  font-family: var(--font-display);
}
.share-modal-header button:hover {
  background: #60f060;
  color: #1a1a1a;
}
.share-modal-content {
  padding: 20px;
}
.share-description {
  color: #aaa;
  font-size: 14px;
  margin-bottom: 16px;
  line-height: 1.5;
}
.share-url-container {
  display: flex;
  gap: 8px;
  margin-bottom: 8px;
}
.share-url-input {
  flex: 1;
  background: #0a0a0a;
  border: 1px solid #444;
  color: #f0c060;
  padding: 10px 12px;
  font-family:
    "SF Mono",
    Monaco,
    monospace;
  font-size: 12px;
}
.copy-btn {
  background: #f0c060;
  color: #1a1a1a;
  border: none;
  padding: 10px 16px;
  font-family: var(--font-display);
  font-size: 14px;
  font-weight: bold;
  cursor: pointer;
  letter-spacing: 1px;
}
.copy-btn:hover {
  background: #ffd080;
}
.copy-btn.copied {
  background: #60f060;
}
.share-copy-feedback {
  color: #60f060;
  font-size: 12px;
  min-height: 18px;
  margin-bottom: 12px;
}
.share-section-label {
  color: #666;
  font-size: 11px;
  letter-spacing: 1px;
  margin-bottom: 8px;
  margin-top: 8px;
}
.share-email-form {
  margin-bottom: 8px;
}
.share-email-container {
  display: flex;
  gap: 8px;
}
.share-email-input {
  flex: 1;
  background: #0a0a0a;
  border: 1px solid #444;
  color: #fff;
  padding: 10px 12px;
  font-family:
    -apple-system,
    BlinkMacSystemFont,
    sans-serif;
  font-size: 14px;
}
.share-email-input::placeholder {
  color: #666;
}
.share-email-input:focus {
  outline: none;
  border-color: #60f060;
}
.send-btn {
  background: #60f060;
  color: #1a1a1a;
  border: none;
  padding: 10px 20px;
  font-family: var(--font-display);
  font-size: 14px;
  font-weight: bold;
  cursor: pointer;
  letter-spacing: 1px;
  min-width: 70px;
}
.send-btn:hover {
  background: #80ff80;
}
.send-btn:disabled {
  background: #444;
  color: #888;
  cursor: not-allowed;
}
.share-email-feedback {
  font-size: 12px;
  margin-top: 8px;
  margin-bottom: 8px;
}
.share-email-feedback.success {
  color: #60f060;
}
.share-email-feedback.error {
  color: #ff6b6b;
}
.share-note {
  color: #666;
  font-size: 12px;
  text-align: center;
}
.assign-person-btn {
  background: #2a2a4a !important;
  border-color: #6060f0 !important;
  color: #6060f0 !important;
}
.assign-person-btn:hover {
  background: #6060f0 !important;
  color: #1a1a1a !important;
}
.assign-person-modal {
  max-height: 80vh;
  display: flex;
  flex-direction: column;
}
.assign-person-modal .share-modal-header {
  background: #2a2a4a;
  color: #8080ff;
}
.assign-person-modal .share-modal-header button {
  border-color: #8080ff;
  color: #8080ff;
}
.assign-person-modal .share-modal-header button:hover {
  background: #8080ff;
  color: #1a1a1a;
}
.assign-person-modal .share-modal-content {
  display: flex;
  flex-direction: column;
  overflow: hidden;
  flex: 1;
}
.assign-person-search {
  margin-bottom: 12px;
}
.assign-person-list {
  overflow-y: auto;
  max-height: 400px;
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.assign-person-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 8px 12px;
  background: #222;
  border: 1px solid #333;
  border-radius: 4px;
}
.assign-person-item:hover {
  border-color: #555;
}
.assign-person-item.already-assigned {
  opacity: 0.6;
}
.assign-person-info {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.assign-person-name {
  color: #e0e0e0;
  font-size: 14px;
}
.assign-person-count {
  color: #666;
  font-size: 11px;
}
.assign-person-action {
  background: #2a2a4a;
  border: 1px solid #6060f0;
  color: #6060f0;
  padding: 4px 12px;
  cursor: pointer;
  font-family: var(--font-display);
  font-size: 12px;
  letter-spacing: 1px;
}
.assign-person-action:hover {
  background: #6060f0;
  color: #fff;
}
.assign-person-badge {
  color: #4ade80;
  font-size: 11px;
  letter-spacing: 1px;
  font-weight: 600;
}
.info-modal {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.95);
  z-index: 500;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
}
.info-content {
  max-width: 400px;
  width: 100%;
  background: var(--paper-cream);
  color: #1a1a1a;
  padding: 20px;
  font-family:
    "Courier Prime",
    "Courier New",
    monospace;
  border: 3px double #1a1a1a;
  max-height: 90vh;
  overflow-y: auto;
}
.info-header {
  border-bottom: 2px solid #1a1a1a;
  padding-bottom: 10px;
  margin-bottom: 15px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.info-title {
  font-family: "Times New Roman", serif;
  font-size: 18px;
  font-weight: bold;
  text-transform: uppercase;
  letter-spacing: 3px;
}
.close-btn {
  background: #1a1a1a;
  border: none;
  color: var(--paper-cream);
  padding: 5px 10px;
  font-family: var(--font-display);
  font-size: 12px;
  cursor: pointer;
}
.info-text {
  font-size: 12px;
  line-height: 1.6;
  margin-bottom: 15px;
}
.shortcut-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 11px;
}
.shortcut-table td {
  padding: 6px 0;
  border-bottom: 1px dotted #999;
}
.shortcut-key {
  background: #1a1a1a;
  color: var(--paper-cream);
  padding: 2px 6px;
  font-family: var(--font-display);
  font-size: 12px;
}
.desktop-only {
  display: none;
}
.date-picker {
  position: fixed;
  top: 80px;
  left: 50%;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #2a2622 0%, #1a1612 100%);
  border: 3px solid var(--accent-primary);
  padding: 12px;
  z-index: 300;
  font-family: var(--font-display);
}
.date-picker select {
  background: #1a0a00;
  border: 2px inset #3a2a1a;
  color: var(--accent-primary);
  padding: 8px;
  font-size: 14px;
  font-family: var(--font-display);
  width: 200px;
}
.date-picker select option {
  background: #1a0a00;
  color: var(--accent-primary);
  padding: 4px;
}
.date-picker-btns {
  display: flex;
  gap: 8px;
  margin-top: 10px;
}
.date-picker-btns button {
  flex: 1;
  background: var(--accent-primary);
  border: none;
  color: var(--bg-primary);
  padding: 8px;
  font-family: inherit;
  font-size: 14px;
  font-weight: bold;
  cursor: pointer;
}
.face-container {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.face-box {
  position: absolute;
  border: 2px solid var(--color-success);
  background: rgba(51, 255, 51, 0.1);
  cursor: pointer;
  pointer-events: auto;
}
.face-box .face-label {
  position: absolute;
  bottom: -16px;
  left: 50%;
  transform: translateX(-50%);
  background: var(--bg-primary);
  color: var(--color-success);
  font-family: var(--font-display);
  font-size: 10px;
  padding: 1px 6px;
  white-space: nowrap;
  opacity: 0;
}
.face-box:active .face-label {
  opacity: 1;
}
.object-container {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.object-box {
  position: absolute;
  border: 2px solid var(--accent-primary);
  background: rgba(255, 176, 0, 0.15);
  cursor: pointer;
  pointer-events: auto;
}
.object-box .object-label {
  position: absolute;
  bottom: -18px;
  left: 50%;
  transform: translateX(-50%);
  background: var(--bg-primary);
  color: var(--accent-primary);
  font-family: var(--font-display);
  font-size: 10px;
  padding: 2px 6px;
  white-space: nowrap;
  opacity: 0;
  max-width: 150px;
  overflow: hidden;
  text-overflow: ellipsis;
}
.object-box:hover .object-label,
.object-box:active .object-label {
  opacity: 1;
}
.video-container,
.video-player-wrapper {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 9;
  background: #000;
}
.video-container video,
.video-player-wrapper video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;
  background: #000;
}
.vcr-controls {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  background: linear-gradient(transparent, rgba(0, 0, 0, 0.8));
  padding: 40px 15px 15px;
  display: flex;
  align-items: center;
  gap: 12px;
  font-family: var(--font-display);
  opacity: 0;
  transition: opacity 0.3s;
  z-index: 10;
}
.video-container:hover .vcr-controls,
.video-container.controls-visible .vcr-controls,
.video-player-wrapper:hover .vcr-controls,
.video-player-wrapper.controls-visible .vcr-controls {
  opacity: 1;
}
.vcr-btn {
  background: transparent;
  border: 2px solid var(--accent-primary);
  color: var(--accent-primary);
  padding: 6px 12px;
  font-family: var(--font-display);
  font-size: 14px;
  cursor: pointer;
  text-shadow: 0 0 5px var(--accent-primary);
}
.vcr-btn:hover {
  background: var(--accent-primary);
  color: var(--bg-primary);
}
.vcr-btn.active {
  background: var(--color-success);
  border-color: var(--color-success);
  color: var(--bg-primary);
  text-shadow: none;
}
.vcr-play,
.vcr-mute,
.vcr-fullscreen {
  background: none;
  border: none;
  color: var(--accent-primary);
  font-size: 20px;
  cursor: pointer;
  padding: 6px;
  min-width: 36px;
  min-height: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-shadow: 0 0 5px var(--accent-primary);
  transition: color 0.2s;
}
.vcr-play:hover,
.vcr-mute:hover,
.vcr-fullscreen:hover {
  color: #fff;
}
.vcr-quality {
  font-family: "IBM Plex Mono", monospace;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.5px;
  padding: 2px 8px;
  border-radius: 3px;
  cursor: pointer;
  user-select: none;
  -webkit-tap-highlight-color: transparent;
  background: rgba(0, 0, 0, 0.6);
  color: var(--accent-primary);
  border: 1px solid rgba(255, 176, 0, 0.3);
  transition: all 0.2s;
  white-space: nowrap;
}
.vcr-quality:hover {
  background: rgba(0, 0, 0, 0.8);
  border-color: var(--accent-primary);
}
.vcr-quality[data-hdr=true] {
  color: #00e5ff;
  border-color: rgba(0, 229, 255, 0.4);
  text-shadow: 0 0 6px rgba(0, 229, 255, 0.5);
}
.vcr-quality[data-mode=hdr] {
  background: rgba(0, 60, 80, 0.6);
}
.vcr-quality[data-mode=sdr] {
  background: rgba(80, 60, 0, 0.6);
}
.stage:has(.video-player-wrapper) {
  padding: 0;
}
.stage .hero-wrapper:has(.video-player-wrapper) {
  padding: 0;
  background: #000;
  box-shadow: none;
  max-height: none;
  border: none;
}
.stage .video-player-wrapper {
  position: absolute;
  inset: 0;
  aspect-ratio: unset;
}
.video-player-wrapper:fullscreen {
  background: #000;
}
.video-player-wrapper:fullscreen video {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.video-player-wrapper:fullscreen .vcr-controls {
  opacity: 0;
  transition: opacity 0.3s;
}
.video-player-wrapper:fullscreen:hover .vcr-controls,
.video-player-wrapper:fullscreen.controls-visible .vcr-controls {
  opacity: 1;
}
.vcr-timeline {
  flex: 1;
  height: 8px;
  background: var(--bg-secondary);
  border: 1px solid var(--accent-muted);
  cursor: pointer;
  position: relative;
}
.vcr-timeline-progress {
  height: 100%;
  background: var(--accent-primary);
  box-shadow: 0 0 8px var(--accent-primary);
  width: 0%;
  transition: width 0.1s linear;
}
.vcr-timeline-handle {
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 12px;
  height: 12px;
  background: var(--accent-primary);
  border: 2px solid var(--bg-primary);
  box-shadow: 0 0 8px var(--accent-primary);
}
.vcr-time {
  color: var(--accent-primary);
  font-size: 14px;
  min-width: 90px;
  text-align: center;
  text-shadow: 0 0 5px var(--accent-primary);
  letter-spacing: 1px;
}
.vcr-volume {
  display: flex;
  align-items: center;
  gap: 6px;
}
.vcr-volume-slider {
  width: 60px;
  height: 6px;
  background: var(--bg-secondary);
  border: 1px solid var(--accent-muted);
  appearance: none;
  cursor: pointer;
}
.vcr-volume-slider::-webkit-slider-thumb {
  appearance: none;
  width: 10px;
  height: 14px;
  background: var(--accent-primary);
  border: 1px solid var(--bg-primary);
  box-shadow: 0 0 5px var(--accent-primary);
  cursor: pointer;
}
.vcr-muted-indicator {
  position: absolute;
  top: 15px;
  right: 15px;
  background: rgba(0, 0, 0, 0.7);
  border: 2px solid var(--color-danger);
  color: var(--color-danger);
  padding: 5px 10px;
  font-family: var(--font-display);
  font-size: 12px;
  text-shadow: 0 0 5px var(--color-danger);
  z-index: 10;
  cursor: pointer;
  animation: blink 1s ease-in-out infinite;
}
@keyframes blink {
  0%, 100% {
    opacity: 1;
  }
  50% {
    opacity: 0.5;
  }
}
.vcr-waveform {
  position: absolute;
  bottom: 70px;
  left: 15px;
  right: 15px;
  height: 30px;
  display: flex;
  align-items: flex-end;
  gap: 2px;
  opacity: 0;
  transition: opacity 0.3s;
}
.video-container:hover .vcr-waveform,
.video-container.controls-visible .vcr-waveform,
.video-player-wrapper:hover .vcr-waveform,
.video-player-wrapper.controls-visible .vcr-waveform {
  opacity: 0.7;
}
.vcr-waveform-bar {
  flex: 1;
  background: var(--color-success);
  box-shadow: 0 0 4px var(--color-success);
  min-height: 2px;
  transition: height 0.05s;
}
.vcr-rec {
  position: absolute;
  top: 15px;
  left: 15px;
  display: flex;
  align-items: center;
  gap: 8px;
  color: var(--color-danger);
  font-family: var(--font-display);
  font-size: 14px;
  text-shadow: 0 0 8px var(--color-danger);
  z-index: 10;
}
.vcr-rec-dot {
  width: 10px;
  height: 10px;
  background: var(--color-danger);
  border-radius: 50%;
  box-shadow: 0 0 8px var(--color-danger);
  animation: blink 1s ease-in-out infinite;
}
.vcr-timestamp {
  position: absolute;
  top: 15px;
  left: 50%;
  transform: translateX(-50%);
  color: var(--accent-primary);
  font-family: var(--font-display);
  font-size: 14px;
  text-shadow: 0 0 5px var(--accent-primary);
  background: rgba(0, 0, 0, 0.5);
  padding: 3px 8px;
  z-index: 10;
}
.video-touch-area {
  position: absolute;
  inset: 0;
  z-index: 5;
  cursor: pointer;
}
.video-play-overlay {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(0, 0, 0, 0.3);
  z-index: 6;
  cursor: pointer;
}
.video-play-overlay .play-icon {
  width: 80px;
  height: 80px;
  border: 4px solid var(--accent-primary);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--accent-primary);
  font-size: 40px;
  text-shadow: 0 0 20px var(--accent-primary);
  box-shadow: 0 0 30px rgba(255, 176, 0, 0.3);
}
.video-play-overlay:hover .play-icon {
  background: var(--accent-primary);
  color: var(--bg-primary);
  text-shadow: none;
}
.sidebar-toggle {
  position: fixed;
  bottom: 60px;
  right: 10px;
  z-index: 150;
  background: var(--accent-primary);
  border: 2px solid var(--bg-primary);
  color: var(--bg-primary);
  padding: 8px 12px;
  font-family: var(--font-display);
  font-size: 12px;
  cursor: pointer;
}
.pin-screen {
  position: fixed;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background: var(--bg-primary);
  z-index: 1000;
  padding: 20px;
}
.pin-screen h1 {
  font-family: var(--font-display);
  font-size: 18px;
  color: var(--accent-muted);
  letter-spacing: 4px;
  margin-bottom: 30px;
}
.pin-screen h2 {
  font-family: var(--font-display);
  font-size: 24px;
  color: var(--accent-primary);
  letter-spacing: 3px;
  margin-bottom: 25px;
  text-shadow: 0 0 10px var(--accent-primary);
}
.pin-screen form {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 15px;
}
.pin-screen input {
  background: #1a0a00;
  border: 3px inset #3a2a1a;
  color: var(--accent-primary);
  padding: 16px;
  font-size: 32px;
  font-family: var(--font-display);
  text-align: center;
  letter-spacing: 10px;
  width: 220px;
}
.pin-screen .submit-btn {
  background: linear-gradient(180deg, #3a3632 0%, #2a2622 50%, #1a1612 100%);
  border: 3px solid var(--accent-primary);
  color: var(--accent-primary);
  font-family: var(--font-display);
  font-size: 20px;
  padding: 12px 40px;
  cursor: pointer;
  letter-spacing: 2px;
  text-shadow: 0 0 8px var(--accent-primary);
}
.pin-screen .submit-btn:active {
  background: linear-gradient(180deg, #1a1612 0%, #2a2622 50%, #3a3632 100%);
}
.pin-screen .error {
  color: var(--color-danger);
  margin-top: 10px;
  font-family: var(--font-display);
  font-size: 18px;
}
.pin-screen .hint {
  color: var(--accent-muted);
  margin-top: 25px;
  font-size: 14px;
  font-family: var(--font-display);
}
.contact-sheet-toggle {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  background: linear-gradient(180deg, #2a2622 0%, #1a1612 100%);
  border-top: 2px solid var(--accent-primary);
  padding: 8px;
  text-align: center;
  cursor: pointer;
  z-index: 100;
}
.contact-sheet-toggle span {
  color: var(--accent-primary);
  font-family: var(--font-display);
  font-size: 16px;
}
.contact-sheet {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  height: 70vh;
  background: var(--bg-primary);
  border-top: 3px solid var(--accent-primary);
  z-index: 200;
  display: flex;
  flex-direction: column;
  animation: slideUp 0.2s ease-out;
}
@keyframes slideUp {
  from {
    transform: translateY(100%);
  }
  to {
    transform: translateY(0);
  }
}
.contact-sheet-header {
  background: linear-gradient(180deg, #2a2622 0%, #1a1612 100%);
  padding: 10px 15px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-bottom: 2px solid #3a3632;
}
.contact-sheet-header span {
  color: var(--accent-primary);
  font-family: var(--font-display);
  font-size: 16px;
}
.contact-sheet-header button {
  background: none;
  border: 2px solid var(--accent-primary);
  color: var(--accent-primary);
  font-family: var(--font-display);
  font-size: 14px;
  padding: 4px 12px;
  cursor: pointer;
}
.contact-sheet-grid {
  flex: 1;
  overflow-y: auto;
  padding: 10px;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
}
.contact-sheet-grid picture {
  display: contents;
}
.contact-sheet-grid img {
  width: 100%;
  aspect-ratio: 1;
  object-fit: cover;
  cursor: pointer;
  border: 2px solid transparent;
  image-orientation: from-image;
}
.contact-sheet-grid img.selected {
  border-color: var(--accent-primary);
  box-shadow: 0 0 10px var(--accent-primary);
}
.contact-sheet-grid a {
  position: relative;
  display: block;
}
.contact-sheet-grid a::after {
  content: attr(data-frame);
  position: absolute;
  bottom: 2px;
  right: 4px;
  font-size: 10px;
  color: var(--kodak-red);
  font-family: var(--font-display);
  text-shadow: 0 0 3px rgba(0, 0, 0, 0.8);
  pointer-events: none;
}
.contact-sheet-overlay {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.7);
  z-index: 150;
}
.mobile-meta {
  background: linear-gradient(180deg, rgba(30, 25, 20, 0.95) 0%, rgba(20, 15, 10, 0.95) 100%);
  border: 1px solid var(--accent-muted);
  border-radius: 2px;
  padding: 6px 10px;
  margin: 4px 8px 0;
  font-family: var(--font-mono);
  color: var(--accent-primary);
  font-size: 13px;
  line-height: 1.3;
  cursor: pointer;
}
.mobile-meta-label {
  display: block;
  font-size: 14px;
  color: var(--accent-muted);
  letter-spacing: 1px;
}
.mobile-meta-body {
  margin-top: 4px;
}
.mobile-meta.collapsed .mobile-meta-body {
  display: none;
}
.mobile-meta-row {
  display: flex;
  justify-content: space-between;
  padding: 1px 0;
  border-bottom: 1px dotted rgba(153, 102, 0, 0.3);
}
.mobile-meta-row:last-child {
  border-bottom: none;
}
.mobile-meta-key {
  color: var(--accent-muted);
  font-size: 13px;
  letter-spacing: 1px;
  flex-shrink: 0;
  margin-right: 8px;
}
.mobile-meta-val {
  color: #c0b090;
  font-size: 15px;
  text-align: right;
}
.mobile-meta-scene .mobile-meta-val {
  text-align: left;
  font-size: 13px;
  line-height: 1.3;
  max-width: 80%;
  word-wrap: break-word;
}
@media (min-width: 768px) {
  .contact-sheet-toggle {
    display: none;
  }
  .contact-sheet {
    display: none;
  }
  .contact-sheet-overlay {
    display: none;
  }
  .mobile-meta {
    display: none;
  }
  .sidebar {
    padding-bottom: 0;
  }
  .app-shell {
    flex-direction: row;
  }
  .header-bar {
    display: none;
  }
  .stage {
    padding: 20px;
    justify-content: center;
  }
  .stage .nav-controls {
    order: 10 !important;
    border-top: 2px solid #3a3632;
    border-bottom: none;
  }
  .stage .hero-wrapper {
    flex: 1;
    min-height: 0;
  }
  .stage img.hero,
  .stage video.hero {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: contain;
  }
  .sidebar {
    width: 300px;
    height: 100%;
    border-top: none;
    border-left: 2px solid #3a3632;
    flex-direction: column;
  }
  .scroll-wrapper {
    overflow-y: auto;
    overflow-x: hidden;
    flex: 1;
  }
  .grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 3px;
    padding: 8px;
    height: auto;
  }
  .thumb {
    width: auto;
    height: auto;
    aspect-ratio: 1;
  }
  .nav-controls {
    flex-wrap: wrap;
    height: auto;
    padding: 10px;
    gap: 6px;
  }
  .nav-btn {
    padding: 8px 12px;
    font-size: 14px;
  }
  .nav-btn.icon-btn {
    display: block;
  }
  .nav-spacer {
    display: block;
    flex: 1;
  }
  .meta-display {
    display: block;
  }
  .desktop-exposure {
    display: block;
  }
  .download-panel {
    display: block;
  }
  .share-panel {
    display: block;
  }
  .desktop-only {
    display: block;
  }
  .date-display {
    min-width: 120px;
    padding: 6px 16px;
  }
  .date-text {
    font-size: 16px;
  }
}
@media (min-width: 768px) and (max-width: 1199px) {
  .stage {
    padding: 10px;
  }
  .sidebar {
    width: 220px;
  }
  .grid {
    gap: 2px;
    padding: 4px;
  }
  .thumb {
    border-width: 1px;
  }
  .nav-controls {
    padding: 4px 6px;
    gap: 3px;
    flex-wrap: wrap;
  }
  .nav-btn {
    padding: 6px 8px;
    font-size: 12px;
    min-width: 32px;
  }
  .date-select {
    font-size: 13px;
    padding: 4px 6px;
    min-width: 100px;
    max-width: 160px;
  }
  .location-select,
  .camera-select,
  .rating-select,
  .media-type-select {
    font-size: 11px;
    padding: 3px 4px;
    max-width: 120px;
  }
  .meta-display {
    font-size: 10px;
    padding: 6px 8px;
  }
  .meta-label {
    font-size: 9px;
  }
  .meta-value {
    font-size: 11px;
  }
  .download-panel,
  .share-panel {
    padding: 6px 8px;
    font-size: 11px;
  }
  .date-display {
    min-width: 80px;
    padding: 4px 8px;
  }
  .date-text {
    font-size: 13px;
  }
  .date-detail {
    font-size: 10px;
  }
  .frame-counter {
    font-size: 12px;
    padding: 2px 6px;
  }
  .hero-rating .star {
    font-size: 16px;
    padding: 2px;
  }
  .strip-header {
    font-size: 11px;
    padding: 4px 8px;
  }
  .sidebar .strip-header .strip-name {
    font-size: 11px;
  }
  .sidebar .strip-header .strip-count {
    font-size: 10px;
  }
  .nav-btn,
  .date-select,
  .location-select,
  .camera-select,
  .rating-select,
  .media-type-select {
    min-height: 36px;
  }
}
@media (min-width: 1200px) {
  .sidebar {
    width: 360px;
  }
  .grid {
    grid-template-columns: repeat(3, 1fr);
  }
  .stage {
    padding: 30px;
  }
  .meta-tags-val,
  .meta-objects-val,
  .meta-people-val {
    font-size: 14px;
    line-height: 1.5;
  }
  .meta-scene-val {
    font-size: 14px;
    line-height: 1.4;
  }
}
@media (orientation: landscape) and (max-height: 500px) {
  .app-shell {
    flex-direction: row;
  }
  .header-bar {
    display: none;
  }
  .sidebar {
    width: 130px;
    height: 100%;
    border-top: none;
    border-left: 2px solid #3a3632;
  }
  .scroll-wrapper {
    overflow-y: auto;
    overflow-x: hidden;
  }
  .grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 2px;
    padding: 4px;
    height: auto;
  }
  .thumb {
    width: auto;
    height: auto;
    aspect-ratio: 1;
  }
  .strip-header {
    display: none;
  }
  .meta-display {
    display: none;
  }
  .download-panel {
    display: none;
  }
  .hero-wrapper:has(.video-player-wrapper) {
    max-width: 100%;
    max-height: 100%;
    margin: 0;
  }
  .nav-controls {
    padding: 4px;
    gap: 2px;
    height: 40px;
  }
  .nav-btn {
    padding: 4px 8px;
    font-size: 12px;
    min-width: 28px;
  }
  .date-display {
    padding: 2px 8px;
    min-width: 80px;
  }
  .date-text {
    font-size: 12px;
  }
  .date-detail {
    display: none;
  }
}
@media (max-width: 400px) {
  .header-bar {
    padding: 8px 12px;
  }
  .header-brand {
    font-size: 16px;
  }
  .header-status {
    font-size: 14px;
    gap: 8px;
  }
  .nav-controls {
    padding: 6px 6px;
    gap: 3px;
    overflow-x: auto;
    overflow-y: hidden;
    flex-wrap: nowrap;
    -webkit-overflow-scrolling: touch;
  }
  .nav-btn {
    font-size: 16px;
    padding: 8px 10px;
    min-width: 40px;
    flex-shrink: 0;
  }
  .date-select {
    min-width: auto;
    max-width: 140px;
    font-size: 14px;
    padding: 6px 8px;
    flex-shrink: 1;
    min-width: 0;
  }
  .location-select,
  .camera-select,
  .rating-select,
  .media-type-select {
    flex-shrink: 1;
    min-width: 0;
    max-width: 100px;
    font-size: 11px;
    padding: 2px 3px;
  }
  .date-display {
    padding: 8px 12px;
  }
  .date-text {
    font-size: 16px;
  }
  .date-detail {
    font-size: 12px;
  }
  .date-stamp {
    font-size: 14px;
    padding: 4px 10px;
  }
  .frame-counter {
    font-size: 12px;
    padding: 3px 8px;
  }
  .hero-wrapper {
    max-width: 100%;
  }
  .face-box,
  .object-box {
    min-width: 44px;
    min-height: 44px;
  }
}
@media (max-width: 320px) {
  .nav-btn {
    font-size: 16px;
    padding: 8px 10px;
    min-width: 40px;
  }
  .date-text {
    font-size: 14px;
  }
  .date-detail {
    display: none;
  }
}
@media (hover: none) and (pointer: coarse) {
  .face-box .face-label {
    opacity: 1;
  }
  .object-box .object-label {
    opacity: 1;
  }
  .vcr-controls {
    opacity: 1;
  }
  .vcr-btn {
    padding: 10px 16px;
    font-size: 18px;
    min-width: 44px;
    min-height: 44px;
  }
  .vcr-mute,
  .vcr-fullscreen {
    min-width: 44px;
    min-height: 44px;
    font-size: 20px;
  }
  .vcr-timeline {
    height: 14px;
  }
  .vcr-timeline-handle {
    width: 18px;
    height: 18px;
  }
  .vcr-muted-indicator {
    font-size: 14px;
    padding: 8px 14px;
  }
  .vcr-waveform {
    opacity: 0.7;
  }
}
.meta-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  cursor: pointer;
  padding: 8px 12px;
  background: rgba(0, 0, 0, 0.3);
  border-bottom: 1px solid var(--accent-muted);
}
.meta-header:hover {
  background: rgba(0, 0, 0, 0.5);
}
.meta-toggle {
  color: var(--accent-primary);
  font-size: 12px;
}
.meta-display.collapsed {
}
.meta-display.collapsed .meta-row,
.meta-display.collapsed .desktop-exposure {
  display: none;
}
.load-more-container {
  flex-shrink: 0;
  padding: 8px;
  background: var(--film-border);
  text-align: center;
  border-top: 1px solid var(--accent-muted);
}
.load-more-btn {
  width: 100%;
  padding: 10px 16px;
  background: var(--accent-primary);
  border: 2px solid var(--bg-primary);
  color: var(--bg-primary);
  font-family: var(--font-mono);
  font-size: 14px;
  font-weight: bold;
  cursor: pointer;
  transition: all 0.2s;
}
.load-more-btn:hover {
  background: var(--bg-primary);
  color: var(--accent-primary);
  border-color: var(--accent-primary);
}
@media (max-width: 450px) and (min-height: 800px) {
  .header-bar {
    padding: 4px 10px;
  }
  .header-brand {
    font-size: 14px;
    letter-spacing: 2px;
  }
  .header-status {
    font-size: 9px;
    gap: 8px;
  }
  .stage {
    flex: 1;
    min-height: 50vh;
  }
  .sidebar {
    max-height: 35vh;
  }
  .grid {
    grid-template-columns: repeat(4, 1fr);
    gap: 2px;
  }
  .thumb {
    aspect-ratio: 1;
  }
  .nav-controls {
    padding: 6px 8px;
    gap: 4px;
  }
  .nav-btn {
    font-size: 14px;
    padding: 8px 10px;
    min-height: 40px;
  }
  .date-display {
    padding: 6px 10px;
  }
  .date-text {
    font-size: 13px;
  }
  .date-detail {
    font-size: 10px;
  }
  .rating-select,
  .media-type-select {
    display: none;
  }
}
@media (max-width: 420px) and (min-aspect-ratio: 19/9) {
  .header-bar {
    padding: 3px 8px;
  }
  .header-brand {
    font-size: 13px;
  }
  .grid {
    grid-template-columns: repeat(5, 1fr);
    gap: 1px;
  }
  .sidebar {
    max-height: 30vh;
  }
  .strip-header {
    padding: 4px 8px;
    font-size: 9px;
  }
}
@media (max-width: 500px) and (orientation: landscape) and (max-height: 400px) {
  .app-shell {
    flex-direction: row;
  }
  .header-bar {
    display: none;
  }
  .sidebar {
    width: 100px;
    height: 100%;
    border-top: none;
    border-left: 2px solid #3a3632;
    order: -1;
  }
  .grid {
    grid-template-columns: 1fr;
    gap: 1px;
    padding: 2px;
  }
  .thumb {
    aspect-ratio: 16/9;
  }
  .strip-header {
    display: none;
  }
  .nav-controls {
    position: absolute;
    bottom: 4px;
    left: 50%;
    transform: translateX(-50%);
    padding: 2px 4px;
    gap: 2px;
    background: rgba(0, 0, 0, 0.7);
    border-radius: 4px;
  }
  .nav-btn {
    padding: 4px 8px;
    font-size: 11px;
    min-width: 24px;
    min-height: 28px;
  }
  .date-display {
    padding: 2px 6px;
    min-width: 70px;
  }
  .date-text {
    font-size: 11px;
  }
  .date-detail {
    display: none;
  }
}
.stream-indicator {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  color: var(--color-danger, #ff0040);
  font-family: var(--font-mono);
  font-size: 12px;
  padding: 2px 8px;
  background: rgba(255, 0, 64, 0.15);
  border: 1px solid var(--color-danger);
  border-radius: 2px;
}
.stream-dot {
  width: 8px;
  height: 8px;
  background: var(--color-danger, #ff0040);
  border-radius: 50%;
  animation: stream-pulse 1.5s infinite;
}
@keyframes stream-pulse {
  0%, 100% {
    opacity: 1;
    box-shadow: 0 0 4px var(--color-danger);
  }
  50% {
    opacity: 0.5;
    box-shadow: 0 0 8px var(--color-danger);
  }
}
.stream-hero-iframe {
  width: 100%;
  height: 100%;
  border: none;
  display: block;
}
.stream-hero-badge {
  position: absolute;
  top: 12px;
  left: 12px;
  z-index: 10;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 4px 12px;
  background: rgba(255, 0, 64, 0.85);
  color: #fff;
  font-family: var(--font-mono);
  font-size: 13px;
  font-weight: bold;
  border-radius: 20px;
  letter-spacing: 0.5px;
}
@media (min-width: 768px) {
  .stream-indicator {
    font-size: 14px;
    padding: 4px 12px;
  }
}
.gallery-device-badge {
  position: fixed;
  top: 8px;
  left: 50%;
  transform: translateX(-50%);
  background: rgba(0, 0, 0, 0.85);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  border: 1px solid var(--accent-muted, #3a2a00);
  border-radius: 4px;
  padding: 4px 10px;
  font-family: var(--font-mono, "IBM Plex Mono", monospace);
  font-size: 10px;
  color: var(--accent-primary, #ffb000);
  z-index: 50;
  max-width: calc(100vw - 20px);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  opacity: 0.6;
  transition: opacity 0.2s;
  pointer-events: none;
}
.gallery-device-badge:hover {
  opacity: 1;
}
.theme-modern .gallery-device-badge {
  background: rgba(255, 255, 255, 0.9);
  border-color: #e5e7eb;
  color: #6b7280;
}
@media (max-width: 600px) {
  .gallery-device-badge {
    top: 4px;
    font-size: 8px;
    padding: 3px 6px;
    max-width: 90vw;
  }
}
@media (max-height: 500px) and (orientation: landscape) {
  .gallery-device-badge {
    top: 4px;
    font-size: 8px;
    padding: 2px 6px;
  }
}
.editor-pane {
  border-top: 1px solid var(--accent-muted, #665500);
  background: var(--bg-primary, #0a0a0a);
  font-family: var(--font-mono);
  padding: 6px 10px;
  flex-shrink: 0;
}
.editor-bar {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}
.editor-header {
  display: flex;
  align-items: center;
  gap: 8px;
  color: var(--accent-primary, #ffb000);
  font-size: 13px;
  white-space: nowrap;
}
.editor-dirty.active {
  color: var(--color-success, #00ff41);
  font-size: 11px;
}
.editor-tabs {
  display: flex;
  gap: 2px;
}
.editor-tab {
  padding: 2px 8px;
  font-family: var(--font-mono);
  font-size: 12px;
  border: 1px solid var(--accent-muted, #665500);
  background: transparent;
  color: var(--accent-muted, #665500);
  cursor: pointer;
}
.editor-tab.active {
  background: var(--accent-muted, #665500);
  color: var(--bg-primary, #0a0a0a);
}
.editor-sliders {
  display: flex;
  gap: 8px;
  flex: 1;
  align-items: center;
  flex-wrap: wrap;
}
.editor-slider-group {
  display: flex;
  align-items: center;
  gap: 4px;
  min-width: 120px;
  flex: 1;
}
.editor-slider-label {
  color: var(--accent-muted, #665500);
  font-size: 11px;
  text-transform: uppercase;
  min-width: 28px;
}
.editor-slider-value {
  color: var(--accent-primary, #ffb000);
  font-size: 11px;
  font-variant-numeric: tabular-nums;
  min-width: 32px;
  text-align: right;
}
.editor-slider {
  flex: 1;
  accent-color: var(--accent-primary, #ffb000);
  height: 4px;
  background: var(--bg-secondary, #1a1a1a);
  appearance: none;
  -webkit-appearance: none;
  min-width: 60px;
}
.editor-slider::-webkit-slider-thumb {
  appearance: none;
  width: 12px;
  height: 12px;
  background: var(--accent-primary, #ffb000);
  border-radius: 50%;
  cursor: pointer;
}
.editor-actions {
  display: flex;
  gap: 4px;
}
.editor-btn {
  padding: 3px 10px;
  font-family: var(--font-mono);
  font-size: 13px;
  border: 1px solid var(--accent-muted, #665500);
  background: var(--bg-secondary, #1a1a1a);
  cursor: pointer;
}
.editor-btn-save {
  color: var(--color-success, #00ff41);
  border-color: var(--color-success, #00ff41);
}
.editor-btn-save:disabled {
  opacity: 0.3;
  cursor: default;
}
.editor-btn-reset {
  color: var(--accent-primary, #ffb000);
}
.editor-crop-info {
  display: flex;
  align-items: center;
  gap: 8px;
  flex: 1;
}
.editor-crop-hint {
  color: var(--accent-muted, #665500);
  font-size: 12px;
}
.editor-crop-values {
  color: var(--accent-primary, #ffb000);
  font-size: 12px;
  font-family: var(--font-mono);
}
@media (max-width: 768px) {
  .editor-bar {
    flex-direction: column;
    align-items: stretch;
  }
  .editor-sliders {
    flex-direction: column;
  }
  .editor-slider-group {
    min-width: 100%;
  }
}
.crop-overlay {
  position: absolute;
  inset: 0;
  z-index: 15;
  pointer-events: auto;
}
.crop-mask {
  position: absolute;
  background: rgba(0, 0, 0, 0.5);
  pointer-events: none;
}
.crop-region {
  position: absolute;
  border: 2px dashed var(--accent-primary, #ffb000);
  cursor: move;
}
.crop-handle {
  position: absolute;
  width: 10px;
  height: 10px;
  background: var(--accent-primary, #ffb000);
  border: 1px solid var(--bg-primary, #0a0a0a);
}
.editor-crop-aspects {
  display: flex;
  gap: 4px;
  margin: 4px 0;
}
.editor-aspect-btn {
  background: rgba(255, 176, 0, 0.1);
  border: 1px solid rgba(255, 176, 0, 0.3);
  color: rgba(255, 176, 0, 0.6);
  font-size: 10px;
  padding: 2px 6px;
  cursor: pointer;
  font-family: var(--font-mono, monospace);
  letter-spacing: 0.5px;
}
.editor-aspect-btn.active {
  background: rgba(255, 176, 0, 0.25);
  border-color: var(--accent-primary, #ffb000);
  color: var(--accent-primary, #ffb000);
}
.editor-aspect-btn:hover {
  border-color: var(--accent-primary, #ffb000);
}
.editor-slider-group.active {
  background: rgba(255, 176, 0, 0.08);
  border-radius: 3px;
  outline: 1px solid rgba(255, 176, 0, 0.25);
}
.editor-slider-value {
  cursor: pointer;
}
.editor-slider-value:hover {
  text-decoration: underline;
}
.editor-slider-input {
  width: 48px;
  font-family: var(--font-mono);
  font-size: 11px;
  color: var(--accent-primary, #ffb000);
  background: var(--bg-secondary, #1a1a1a);
  border: 1px solid var(--accent-primary, #ffb000);
  text-align: right;
  padding: 0 2px;
  outline: none;
  -moz-appearance: textfield;
}
.editor-slider-input::-webkit-inner-spin-button,
.editor-slider-input::-webkit-outer-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
.hero-rating {
  position: absolute;
  bottom: 36px;
  left: 12px;
  z-index: 10;
  font-size: 20px;
  cursor: pointer;
  user-select: none;
}
.hero-rating .star {
  color: rgba(255, 255, 255, 0.3);
  transition: color 0.1s;
}
.hero-rating .star.filled {
  color: #ffb000;
  text-shadow: 0 0 4px rgba(255, 176, 0, 0.5);
}
.hero-rating .star:hover {
  color: #ffb000;
}
.portfolio-badge {
  display: inline-block;
  margin-left: 8px;
  padding: 1px 6px;
  font-family: var(--font-mono);
  font-size: 13px;
  font-weight: 600;
  border: 1px solid rgba(255, 255, 255, 0.3);
  border-radius: 3px;
  color: rgba(255, 255, 255, 0.4);
  cursor: pointer;
  vertical-align: middle;
}
.portfolio-badge.active {
  background: #0a84ff;
  color: #fff;
  border-color: #0a84ff;
}
.portfolio-badge:hover {
  border-color: #0a84ff;
  color: #0a84ff;
}
.rating-select,
.media-type-select,
.camera-select,
.location-select {
  font-family: var(--font-mono);
  font-size: 12px;
  background: var(--bg-secondary, #1a1a1a);
  color: var(--accent-primary, #ffb000);
  border: 1px solid var(--accent-muted, #665500);
  padding: 2px 4px;
  cursor: pointer;
}
.theme-modern .editor-pane,
.theme-modern-dark .editor-pane {
  border-top: 1px solid rgba(255, 255, 255, 0.1);
  background: rgba(0, 0, 0, 0.85);
  font-family:
    -apple-system,
    system-ui,
    sans-serif;
}
.theme-modern .editor-header,
.theme-modern-dark .editor-header {
  color: #fff;
}
.theme-modern .editor-tab,
.theme-modern-dark .editor-tab {
  border-color: rgba(255, 255, 255, 0.2);
  color: rgba(255, 255, 255, 0.5);
  font-family:
    -apple-system,
    system-ui,
    sans-serif;
  border-radius: 4px;
}
.theme-modern .editor-tab.active,
.theme-modern-dark .editor-tab.active {
  background: rgba(255, 255, 255, 0.15);
  color: #fff;
}
.theme-modern .editor-slider-label,
.theme-modern-dark .editor-slider-label {
  color: rgba(255, 255, 255, 0.5);
}
.theme-modern .editor-slider-value,
.theme-modern-dark .editor-slider-value {
  color: #fff;
}
.theme-modern .editor-slider,
.theme-modern-dark .editor-slider {
  accent-color: #3b82f6;
  background: rgba(255, 255, 255, 0.1);
}
.theme-modern .editor-slider::-webkit-slider-thumb,
.theme-modern-dark .editor-slider::-webkit-slider-thumb {
  background: #3b82f6;
}
.theme-modern .editor-btn,
.theme-modern-dark .editor-btn {
  border-color: rgba(255, 255, 255, 0.2);
  background: rgba(255, 255, 255, 0.05);
  font-family:
    -apple-system,
    system-ui,
    sans-serif;
  border-radius: 4px;
}
.theme-modern .editor-btn-save,
.theme-modern-dark .editor-btn-save {
  color: #22c55e;
  border-color: #22c55e;
}
.theme-modern .editor-btn-reset,
.theme-modern-dark .editor-btn-reset {
  color: rgba(255, 255, 255, 0.7);
}
.theme-modern .editor-crop-hint,
.theme-modern-dark .editor-crop-hint {
  color: rgba(255, 255, 255, 0.5);
  font-family:
    -apple-system,
    system-ui,
    sans-serif;
}
.theme-modern .editor-crop-values,
.theme-modern-dark .editor-crop-values {
  color: #fff;
  font-family:
    -apple-system,
    system-ui,
    sans-serif;
}
.theme-modern .editor-dirty.active,
.theme-modern-dark .editor-dirty.active {
  color: #22c55e;
}
.theme-modern .crop-region,
.theme-modern-dark .crop-region {
  border-color: #3b82f6;
}
.theme-modern .crop-handle,
.theme-modern-dark .crop-handle {
  background: #3b82f6;
}
.theme-modern .rating-select,
.theme-modern-dark .rating-select,
.theme-modern .media-type-select,
.theme-modern-dark .media-type-select {
  font-family:
    -apple-system,
    system-ui,
    sans-serif;
  background: rgba(0, 0, 0, 0.3);
  color: #fff;
  border-color: rgba(255, 255, 255, 0.2);
  border-radius: 4px;
}
.feed-layout {
  width: 100%;
  min-height: 100vh;
  background: #000;
  color: #fff;
  font-family:
    -apple-system,
    BlinkMacSystemFont,
    "Segoe UI",
    system-ui,
    sans-serif;
}
.feed-header {
  position: sticky;
  top: 0;
  z-index: 100;
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 48px;
  padding: 0 12px;
  background: rgba(0, 0, 0, 0.92);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}
.feed-header-left {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
}
.feed-site-name {
  font-size: 15px;
  font-weight: 700;
  letter-spacing: 0.5px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.feed-person-badge {
  font-size: 11px;
  padding: 2px 6px;
  background: rgba(255, 255, 255, 0.12);
  border-radius: 4px;
  white-space: nowrap;
}
.feed-header-right {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
}
.feed-live-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #ff3b30;
  animation: feed-pulse 1.5s ease-in-out infinite;
}
@keyframes feed-pulse {
  0%, 100% {
    opacity: 1;
  }
  50% {
    opacity: 0.3;
  }
}
.feed-count {
  font-size: 12px;
  color: rgba(255, 255, 255, 0.5);
  font-variant-numeric: tabular-nums;
}
.feed-menu-btn {
  background: none;
  border: none;
  color: #fff;
  font-size: 20px;
  padding: 4px 8px;
  cursor: pointer;
  line-height: 1;
}
.feed-filter-drawer {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.25s ease-out;
  background: rgba(0, 0, 0, 0.95);
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}
.feed-filter-drawer.open {
  max-height: 300px;
  transition: max-height 0.3s ease-in;
}
.feed-filter-row {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 12px;
}
.feed-filter-form {
  flex: 1;
  display: contents;
}
.feed-filter-select {
  flex: 1;
  background: #1a1a1a;
  color: #e0e0e0;
  border: 1px solid rgba(255, 255, 255, 0.25);
  border-radius: 6px;
  padding: 8px 10px;
  font-size: 13px;
  font-family: inherit;
  -webkit-appearance: auto;
  appearance: auto;
}
.feed-filter-select option {
  background: #1a1a1a;
  color: #e0e0e0;
}
.feed-filter-btn {
  background: rgba(255, 255, 255, 0.08);
  color: rgba(255, 255, 255, 0.7);
  border: 1px solid rgba(255, 255, 255, 0.15);
  border-radius: 6px;
  padding: 8px 12px;
  font-size: 12px;
  font-weight: 600;
  cursor: pointer;
  white-space: nowrap;
  text-decoration: none;
  font-family: inherit;
}
.feed-filter-btn.active {
  background: rgba(255, 255, 255, 0.15);
  color: #fff;
}
.feed-filter-person {
  font-size: 13px;
  color: rgba(255, 255, 255, 0.7);
}
.feed-banner {
  text-align: center;
  padding: 8px 12px;
  font-size: 12px;
  background: rgba(255, 165, 0, 0.15);
  color: #ffa500;
  letter-spacing: 0.5px;
}
.feed {
  padding: 4px 0;
}
.feed-empty {
  text-align: center;
  padding: 60px 20px;
  color: rgba(255, 255, 255, 0.3);
  font-size: 15px;
}
.feed-card {
  margin-bottom: 2px;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}
.feed-card-media {
  position: relative;
  width: 100%;
  background: #111;
}
.feed-card-media img,
.feed-card-media video {
  display: block;
  width: 100%;
  height: auto;
}
.feed-card-video::-webkit-media-controls {
  display: none !important;
}
.feed-card-video::-webkit-media-controls-start-playback-button {
  display: none !important;
  -webkit-appearance: none;
}
.feed-card-video::-webkit-media-controls-overlay-play-button {
  display: none !important;
}
.feed-card-media img {
  object-fit: contain;
  max-height: 80vh;
  background: #111;
}
.feed-card-video-badge {
  display: none;
}
.feed-card-play {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 68px;
  height: 68px;
  background: rgba(0, 0, 0, 0.6);
  border: 2.5px solid rgba(255, 255, 255, 0.7);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  pointer-events: none;
  backdrop-filter: blur(8px);
  transition: opacity 0.3s;
  z-index: 3;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.5);
}
.feed-card-play::after {
  content: "";
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 14px 0 14px 24px;
  border-color: transparent transparent transparent #fff;
  margin-left: 5px;
  filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.3));
}
.feed-card-media video[data-playing=true] ~ .feed-card-play {
  opacity: 0;
}
.feed-card-badges {
  position: absolute;
  top: 8px;
  right: 8px;
  display: flex;
  gap: 4px;
}
.feed-badge {
  background: rgba(0, 0, 0, 0.65);
  color: #fff;
  font-size: 10px;
  font-weight: 700;
  padding: 2px 6px;
  border-radius: 3px;
  letter-spacing: 0.5px;
  backdrop-filter: blur(4px);
}
.feed-badge-video {
  background: rgba(0, 0, 0, 0.65);
}
.feed-badge-hdr {
  background: rgba(180, 120, 0, 0.8);
  color: #fff;
}
.feed-badge-raw {
  background: rgba(0, 100, 180, 0.8);
  color: #fff;
}
.feed-badge-10bit {
  background: rgba(100, 0, 160, 0.75);
  color: #fff;
}
.feed-card-meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 6px 12px 10px;
  background: #000;
}
.feed-card-date {
  font-size: 12px;
  color: rgba(255, 255, 255, 0.45);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.feed-card-actions {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-shrink: 0;
}
.feed-card-rating {
  font-size: 11px;
  color: #ffd700;
}
.feed-card-dl {
  color: rgba(255, 255, 255, 0.4);
  text-decoration: none;
  font-size: 16px;
  font-weight: 700;
  padding: 4px;
}
.feed-sentinel {
  text-align: center;
  padding: 24px 0 48px;
}
.feed-loading {
  font-size: 13px;
  color: rgba(255, 255, 255, 0.3);
  letter-spacing: 1px;
}
.feed-layout:has(.feed-lightbox) {
  overflow: hidden;
  height: 100vh;
  height: 100dvh;
}
.feed-lightbox {
  position: fixed;
  inset: 0;
  z-index: 200;
  background: #000;
  display: flex;
  flex-direction: column;
  overscroll-behavior: contain;
  touch-action: none;
}
.feed-lightbox-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 12px;
  height: 44px;
  min-height: 44px;
  flex-shrink: 0;
  background: rgba(0, 0, 0, 0.8);
  z-index: 2;
}
.feed-lightbox-close {
  background: none;
  border: none;
  color: #fff;
  font-size: 22px;
  padding: 4px 8px;
  cursor: pointer;
}
.feed-lightbox-counter {
  font-size: 13px;
  color: rgba(255, 255, 255, 0.5);
  font-variant-numeric: tabular-nums;
}
.feed-lightbox-dl {
  color: #fff;
  text-decoration: none;
  font-size: 18px;
  font-weight: 700;
  padding: 4px 8px;
}
.feed-lightbox-media {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  overflow: hidden;
  min-height: 0;
}
.feed-lightbox-content {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
  transform-origin: center center;
}
.feed-lightbox-nav {
  position: absolute;
  top: 0;
  bottom: 0;
  width: 72px;
  background: none;
  border: none;
  color: rgba(255, 255, 255, 0.4);
  font-size: 40px;
  cursor: pointer;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  -webkit-tap-highlight-color: transparent;
}
.feed-lightbox-prev {
  left: 0;
}
.feed-lightbox-next {
  right: 0;
}
.feed-lightbox-nav:active {
  color: #fff;
}
.feed-lightbox-info {
  flex-shrink: 0;
  padding: 12px 16px;
  padding-bottom: max(16px, env(safe-area-inset-bottom));
  background: rgba(0, 0, 0, 0.85);
  max-height: 40vh;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}
.feed-lightbox-date {
  font-size: 13px;
  color: rgba(255, 255, 255, 0.7);
  margin-bottom: 4px;
}
.feed-lightbox-venue {
  font-size: 12px;
  color: rgba(255, 255, 255, 0.45);
  margin-bottom: 4px;
}
.feed-lightbox-exif {
  font-size: 11px;
  color: rgba(255, 255, 255, 0.35);
  font-variant-numeric: tabular-nums;
  margin-bottom: 4px;
}
.feed-lightbox-desc {
  font-size: 12px;
  color: rgba(255, 255, 255, 0.5);
  line-height: 1.4;
  margin-bottom: 6px;
}
.feed-lightbox-rating {
  display: flex;
  gap: 4px;
  margin-bottom: 8px;
}
.feed-lightbox-star {
  background: none;
  border: none;
  color: rgba(255, 255, 255, 0.25);
  font-size: 24px;
  padding: 6px;
  cursor: pointer;
  min-width: 36px;
  min-height: 36px;
  -webkit-tap-highlight-color: transparent;
}
.feed-lightbox-star.filled {
  color: #ffd700;
}
.feed-lightbox-admin {
  display: flex;
  gap: 8px;
  margin-top: 4px;
}
.feed-lightbox-admin-btn {
  background: rgba(255, 255, 255, 0.08);
  color: rgba(255, 255, 255, 0.6);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 6px;
  padding: 10px 16px;
  font-size: 11px;
  font-weight: 600;
  cursor: pointer;
  letter-spacing: 0.5px;
  font-family: inherit;
  min-height: 40px;
  -webkit-tap-highlight-color: transparent;
}
.feed-lightbox-delete {
  color: #ff4444;
  border-color: rgba(255, 68, 68, 0.2);
}
.feed-confirm-active {
  background: #ff4444;
  color: #000;
  border-color: #ff4444;
  animation: pulse-delete 0.6s ease-in-out infinite alternate;
}
@keyframes pulse-delete {
  from {
    opacity: 0.8;
  }
  to {
    opacity: 1;
  }
}
.feed-layout {
  padding-top: env(safe-area-inset-top);
  padding-left: env(safe-area-inset-left);
  padding-right: env(safe-area-inset-right);
}
.feed-layout.theme-modern .feed-header,
.feed-layout.theme-modern .feed-filter-drawer,
.feed-layout.theme-modern .feed-card-meta {
  background: rgba(255, 255, 255, 0.97);
  color: #222;
}
.feed-layout.theme-modern {
  background: #fafafa;
}
.feed-layout.theme-modern .feed-header {
  background: #fff;
  border-bottom: 1px solid #e0e0e0;
}
.feed-layout.theme-modern .feed-site-name {
  color: #222;
}
.feed-layout.theme-modern .feed-count {
  color: rgba(0, 0, 0, 0.4);
}
.feed-layout.theme-modern .feed-menu-btn {
  color: #222;
}
.feed-layout.theme-modern .feed-card-date {
  color: rgba(0, 0, 0, 0.5);
}
.feed-layout.theme-modern .feed-card-dl {
  color: rgba(0, 0, 0, 0.4);
}
.feed-layout.theme-modern .feed {
  background: #fafafa;
}
.feed-layout.theme-modern .feed-card {
  background: #fff;
}
.feed-layout.theme-modern .feed-card-media {
  background: #f0f0f0;
}
.feed-layout.theme-modern .feed-filter-drawer {
  background: #f5f5f5;
  border-bottom: 1px solid #e0e0e0;
}
.feed-layout.theme-modern .feed-filter-select {
  background: #fff;
  color: #222;
  border-color: rgba(0, 0, 0, 0.15);
}
.feed-layout.theme-modern .feed-filter-select option {
  background: #fff;
  color: #222;
}
.feed-layout.theme-modern .feed-filter-btn {
  background: #fff;
  color: rgba(0, 0, 0, 0.6);
  border-color: rgba(0, 0, 0, 0.15);
}
.feed-layout.theme-modern .feed-loading {
  color: rgba(0, 0, 0, 0.4);
}
.feed-layout.theme-modern .feed-search-bar {
  background: #f5f5f5;
  border-bottom: 1px solid #e0e0e0;
}
.feed-layout.theme-modern .feed-search-input {
  background: #fff;
  color: #222;
  border-color: rgba(0, 0, 0, 0.15);
}
.feed-layout.theme-modern .feed-search-input::placeholder {
  color: rgba(0, 0, 0, 0.35);
}
.feed-layout.theme-modern .feed-search-close {
  color: rgba(0, 0, 0, 0.5);
}
.feed-layout.theme-modern .feed-search-results {
  background: rgba(0, 100, 255, 0.08);
  color: #1a73e8;
}
.feed-layout.theme-modern .feed-search-clear {
  color: #1a73e8;
}
.feed-layout.theme-modern .feed-search-btn {
  color: #222;
}
.feed-search-btn {
  background: none;
  border: none;
  color: #fff;
  font-size: 18px;
  padding: 4px 6px;
  cursor: pointer;
  line-height: 1;
}
.feed-search-bar {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 12px;
  background: rgba(0, 0, 0, 0.95);
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}
.feed-search-input {
  width: 100%;
  padding: 8px 12px;
  font-size: 14px;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.15);
  border-radius: 6px;
  color: #fff;
  outline: none;
}
.feed-search-input::placeholder {
  color: rgba(255, 255, 255, 0.35);
}
.feed-search-input:focus {
  border-color: rgba(255, 255, 255, 0.3);
  background: rgba(255, 255, 255, 0.12);
}
.feed-search-close {
  background: none;
  border: none;
  color: rgba(255, 255, 255, 0.5);
  font-size: 18px;
  padding: 4px 8px;
  cursor: pointer;
  line-height: 1;
}
.feed-search-results {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 6px 12px;
  font-size: 12px;
  background: rgba(100, 200, 255, 0.1);
  color: rgba(255, 255, 255, 0.7);
  letter-spacing: 0.3px;
}
.feed-search-clear {
  background: none;
  border: none;
  color: rgba(255, 255, 255, 0.5);
  font-size: 12px;
  cursor: pointer;
  padding: 2px 6px;
}
@media (max-width: 768px) {
  .app-shell {
    display: none !important;
  }
  .feed-layout {
    display: block !important;
  }
}
.nsfw-badge-none,
.nsfw-badge-unknown {
  color: var(--color-success);
}
.nsfw-badge-suggestive {
  color: #fbbf24;
}
.nsfw-badge-partial {
  color: #f97316;
}
.nsfw-badge-full,
.nsfw-badge-explicit {
  color: var(--color-danger);
}
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}
.nsfw-blur picture img,
.nsfw-blur > img {
  filter: blur(20px);
  transition: filter 0.3s ease;
}
.nsfw-overlay {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  background: rgba(0, 0, 0, 0.3);
  z-index: 2;
}
.nsfw-overlay span {
  color: #fff;
  font-size: 12px;
  text-transform: uppercase;
  padding: 4px 12px;
  background: rgba(0, 0, 0, 0.6);
  border-radius: 4px;
  letter-spacing: 0.5px;
}
.model-portfolio {
  min-height: 100vh;
  background: #111;
  color: #f0f0f0;
  padding: 24px 16px;
}
.model-portfolio__header {
  text-align: center;
  margin-bottom: 32px;
  padding: 32px 16px;
}
.model-portfolio__name {
  font-size: 2rem;
  font-weight: 300;
  letter-spacing: 2px;
  margin: 0 0 8px 0;
  text-transform: uppercase;
}
.model-portfolio__count {
  font-size: 14px;
  color: #999;
  margin: 0 0 16px 0;
}
.model-portfolio__actions {
  display: flex;
  gap: 12px;
  justify-content: center;
  flex-wrap: wrap;
}
.model-portfolio__cta {
  display: inline-block;
  padding: 10px 28px;
  background: #e94560;
  color: #fff;
  text-decoration: none;
  border-radius: 4px;
  font-size: 14px;
  letter-spacing: 0.5px;
  transition: background 0.2s;
}
.model-portfolio__cta:hover {
  background: #ff6b6b;
}
.model-portfolio__cta--secondary {
  background: transparent;
  border: 1px solid #555;
  color: #ccc;
}
.model-portfolio__cta--secondary:hover {
  background: rgba(255, 255, 255, 0.05);
  border-color: #888;
}
.model-portfolio__badge {
  display: inline-block;
  padding: 6px 16px;
  background: rgba(76, 175, 80, 0.15);
  color: #4caf50;
  border: 1px solid rgba(76, 175, 80, 0.3);
  border-radius: 20px;
  font-size: 0.85rem;
  font-weight: 600;
  letter-spacing: 0.5px;
}
.model-portfolio__grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 8px;
  max-width: 1400px;
  margin: 0 auto;
}
.model-portfolio__item {
  position: relative;
  overflow: hidden;
  border-radius: 4px;
  aspect-ratio: 3/2;
  background: #1a1a1a;
  cursor: pointer;
  pointer-events: auto;
}
.model-portfolio__item:hover {
  opacity: 0.85;
}
.model-portfolio__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  -webkit-user-drag: none;
  user-select: none;
  pointer-events: none;
}
.model-portfolio__empty {
  text-align: center;
  padding: 80px 24px;
  color: #666;
  font-size: 16px;
}
@media (max-width: 600px) {
  .model-portfolio__grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 4px;
  }
  .model-portfolio__name {
    font-size: 1.4rem;
  }
  .model-portfolio__header {
    padding: 16px;
    margin-bottom: 16px;
  }
}
.portfolio-lightbox {
  position: fixed;
  inset: 0;
  z-index: 1000;
  display: flex;
  align-items: center;
  justify-content: center;
}
.portfolio-lightbox__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.95);
  cursor: pointer;
}
.portfolio-lightbox__media {
  position: relative;
  max-width: 90vw;
  max-height: 90vh;
  cursor: default;
}
.portfolio-lightbox__img {
  max-width: 90vw;
  max-height: 90vh;
  object-fit: contain;
  user-select: none;
  -webkit-user-drag: none;
  pointer-events: none;
}
.portfolio-lightbox__close {
  position: absolute;
  top: 16px;
  right: 20px;
  background: none;
  border: none;
  color: #fff;
  font-size: 36px;
  cursor: pointer;
  z-index: 1001;
  opacity: 0.7;
  transition: opacity 0.2s;
  line-height: 1;
}
.portfolio-lightbox__close:hover {
  opacity: 1;
}
.portfolio-lightbox__prev,
.portfolio-lightbox__next {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background: rgba(0, 0, 0, 0.5);
  border: none;
  color: #fff;
  font-size: 48px;
  padding: 8px 16px;
  cursor: pointer;
  z-index: 1001;
  opacity: 0.6;
  transition: opacity 0.2s;
  border-radius: 4px;
  line-height: 1;
}
.portfolio-lightbox__prev {
  left: 12px;
}
.portfolio-lightbox__next {
  right: 12px;
}
.portfolio-lightbox__prev:hover,
.portfolio-lightbox__next:hover {
  opacity: 1;
}
.portfolio-lightbox__counter {
  position: absolute;
  bottom: 16px;
  left: 50%;
  transform: translateX(-50%);
  background: rgba(0, 0, 0, 0.6);
  color: #ccc;
  padding: 4px 14px;
  border-radius: 12px;
  font-size: 13px;
  z-index: 1001;
}
.nsfw-overlay--lightbox {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(0, 0, 0, 0.7);
  backdrop-filter: blur(30px);
  z-index: 5;
  cursor: pointer;
  border-radius: 4px;
}
.nsfw-revealed .nsfw-overlay--lightbox {
  display: none;
}
@media (max-width: 600px) {
  .portfolio-lightbox__prev,
  .portfolio-lightbox__next {
    font-size: 32px;
    padding: 6px 10px;
  }
  .portfolio-lightbox__prev {
    left: 4px;
  }
  .portfolio-lightbox__next {
    right: 4px;
  }
  .model-portfolio__actions {
    flex-direction: column;
    align-items: center;
  }
}

/* css/theme_modern.css */
.theme-modern,
.app-shell.theme-modern {
  --bg-primary: #ffffff;
  --bg-secondary: #f8f9fa;
  --accent-primary: #2563eb;
  --accent-muted: #93c5fd;
  --color-success: #22c55e;
  --color-danger: #ef4444;
  --kodak-yellow: #fbbf24;
  --kodak-red: #1f2937;
  --film-border: #e5e7eb;
  --paper-cream: #ffffff;
  --paper-aged: #f3f4f6;
  --font-mono:
    "JetBrains Mono",
    "SF Mono",
    monospace;
  --font-display:
    "Inter",
    -apple-system,
    BlinkMacSystemFont,
    sans-serif;
}
.theme-modern .app-shell::before {
  display: none;
}
.theme-modern .header-brand {
  text-shadow: none;
  color: #1f2937;
  letter-spacing: 0;
  font-weight: 600;
}
.theme-modern .date-text {
  text-shadow: none;
}
.theme-modern .nav-btn {
  text-shadow: none;
}
.theme-modern .app-shell {
  background: var(--bg-primary);
  color: #1f2937;
  font-family: var(--font-display);
  font-size: 14px;
}
.theme-modern .header-bar {
  background: #ffffff;
  border-bottom: 1px solid #e5e7eb;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
}
.theme-modern .rec-indicator {
  color: #6b7280;
}
.theme-modern .rec-indicator.inactive {
  color: #9ca3af;
}
.theme-modern .rec-dot {
  background: #22c55e;
}
.theme-modern .rec-indicator.inactive .rec-dot {
  background: #d1d5db;
}
.theme-modern .nav-controls {
  background: #ffffff;
  border-top: 1px solid #e5e7eb;
  border-bottom: none;
}
.theme-modern .nav-btn {
  background: #f3f4f6;
  border: 1px solid #e5e7eb;
  border-radius: 6px;
  color: #374151;
  font-family: var(--font-display);
  font-weight: 500;
  transition: all 0.15s ease;
}
.theme-modern .nav-btn:hover {
  background: #e5e7eb;
  border-color: #d1d5db;
}
.theme-modern .nav-btn:active {
  background: #d1d5db;
}
.theme-modern .nav-btn.active {
  background: var(--accent-primary);
  border-color: var(--accent-primary);
  color: #ffffff;
}
.theme-modern .date-display {
  background: #f9fafb;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
}
.theme-modern .date-text {
  color: #1f2937;
  font-weight: 600;
}
.theme-modern .date-detail {
  color: #6b7280;
}
.theme-modern .date-select {
  background: #f9fafb;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  color: #1f2937;
  font-family: var(--font-display);
}
.theme-modern .sidebar {
  background: #f9fafb;
  border-top: 1px solid #e5e7eb;
  border-left: 1px solid #e5e7eb;
}
.theme-modern .strip-header {
  background: #ffffff;
  border-bottom: 1px solid #e5e7eb;
  color: #6b7280;
}
.theme-modern .scroll-wrapper {
  background: #f9fafb;
}
.theme-modern .scroll-wrapper::before,
.theme-modern .scroll-wrapper::after {
  display: none;
}
.theme-modern .thumb {
  background: #ffffff;
  border-radius: 4px;
  padding: 0;
  opacity: 0.8;
  transition: all 0.15s ease;
}
.theme-modern .thumb:hover {
  opacity: 1;
}
.theme-modern .thumb.active {
  opacity: 1;
  outline: 2px solid var(--accent-primary);
  outline-offset: 2px;
  border-radius: 4px;
}
.theme-modern .thumb::after {
  display: none;
}
.theme-modern .stage {
  background: #f3f4f6;
}
.theme-modern .hero-wrapper {
  background: transparent;
  padding: 0;
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
  border-radius: 8px;
  overflow: hidden;
}
.theme-modern .date-stamp {
  display: none;
}
.theme-modern .frame-counter {
  display: none;
}
.theme-modern .banner {
  background: var(--accent-primary);
  color: #ffffff;
  border-radius: 20px;
  animation: none;
  font-family: var(--font-display);
  font-weight: 500;
}
.theme-modern .filter-banner {
  background: #22c55e;
  color: #ffffff;
  border-radius: 20px;
  font-family: var(--font-display);
}
.theme-modern .filter-banner button {
  background: rgba(255, 255, 255, 0.2);
  color: #ffffff;
  border-radius: 4px;
}
.theme-modern .meta-display {
  background: #ffffff;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  color: #374151;
}
.theme-modern .meta-display::before {
  background: #ffffff;
  color: #6b7280;
}
.theme-modern .meta-row {
  border-bottom: 1px solid #f3f4f6;
}
.theme-modern .meta-val {
  color: #1e40af;
  font-family: var(--font-display);
  font-weight: 400;
  font-size: 15px;
}
.theme-modern .meta-val a {
  color: #2563eb;
  font-weight: 400;
}
.theme-modern .desktop-exposure {
  font-size: 15px;
  color: #374151;
  font-weight: 400;
}
.theme-modern .tag-list {
  color: #4b5563;
  font-weight: 400;
  font-size: 14px;
  line-height: 1.6;
}
.theme-modern .description-text {
  color: #4b5563;
  font-weight: 400;
  font-size: 15px;
  line-height: 1.6;
}
.theme-modern .download-panel {
  background: #ffffff;
  border-top: 1px solid #e5e7eb;
}
.theme-modern .download-btn {
  background: var(--accent-primary);
  color: #ffffff;
  border: none;
  border-radius: 8px;
  font-family: var(--font-display);
  font-weight: 600;
  transition: all 0.15s ease;
}
.theme-modern .download-btn:hover {
  background: #1d4ed8;
}
.theme-modern .share-panel {
  background: #ffffff;
  border-top: 1px solid #e5e7eb;
}
.theme-modern .share-btn {
  background: #22c55e;
  color: #ffffff;
  border: none;
  border-radius: 8px;
  font-family: var(--font-display);
  font-weight: 600;
}
.theme-modern .share-btn:hover {
  background: #16a34a;
}
.theme-modern .info-modal {
  background: rgba(0, 0, 0, 0.5);
}
.theme-modern .info-content {
  background: #ffffff;
  border: none;
  border-radius: 12px;
  box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
  font-family: var(--font-display);
}
.theme-modern .info-header {
  border-bottom: 1px solid #e5e7eb;
}
.theme-modern .info-title {
  font-family: var(--font-display);
  font-weight: 600;
  letter-spacing: 0;
}
.theme-modern .close-btn {
  background: #f3f4f6;
  color: #374151;
  border-radius: 6px;
  font-family: var(--font-display);
}
.theme-modern .shortcut-key {
  background: #f3f4f6;
  color: #374151;
  border-radius: 4px;
  font-family: var(--font-mono);
}
.theme-modern .face-box {
  border: 2px solid #22c55e;
  background: rgba(34, 197, 94, 0.1);
  border-radius: 4px;
}
.theme-modern .face-box .face-label {
  background: #22c55e;
  color: #ffffff;
  border-radius: 4px;
  font-family: var(--font-display);
}
.theme-modern .object-box {
  border: 2px solid var(--accent-primary);
  background: rgba(37, 99, 235, 0.1);
  border-radius: 4px;
}
.theme-modern .object-box .object-label {
  background: var(--accent-primary);
  color: #ffffff;
  border-radius: 4px;
  font-family: var(--font-display);
}
.theme-modern .contact-sheet-toggle {
  background: #ffffff;
  border-top: 1px solid #e5e7eb;
}
.theme-modern .contact-sheet-toggle span {
  color: #374151;
  font-family: var(--font-display);
}
.theme-modern .contact-sheet {
  background: #ffffff;
  border-top: 1px solid #e5e7eb;
  border-radius: 16px 16px 0 0;
}
.theme-modern .contact-sheet-header {
  background: #f9fafb;
  border-bottom: 1px solid #e5e7eb;
}
.theme-modern .contact-sheet-header span {
  color: #374151;
  font-family: var(--font-display);
}
.theme-modern .contact-sheet-header button {
  background: #f3f4f6;
  border: 1px solid #e5e7eb;
  color: #374151;
  border-radius: 6px;
  font-family: var(--font-display);
}
.theme-modern .contact-sheet-grid img {
  border-radius: 4px;
}
.theme-modern .contact-sheet-grid img.selected {
  border-color: var(--accent-primary);
  box-shadow: 0 0 0 2px var(--accent-primary);
}
.theme-modern .pin-screen {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
}
.theme-modern .pin-screen h1 {
  color: rgba(255, 255, 255, 0.7);
  font-family: var(--font-display);
  letter-spacing: 0;
}
.theme-modern .pin-screen h2 {
  color: #ffffff;
  text-shadow: none;
  font-family: var(--font-display);
  letter-spacing: 0;
}
.theme-modern .pin-screen input {
  background: rgba(255, 255, 255, 0.9);
  border: none;
  border-radius: 12px;
  color: #1f2937;
  font-family: var(--font-mono);
}
.theme-modern .pin-screen .submit-btn {
  background: #ffffff;
  border: none;
  border-radius: 8px;
  color: #7c3aed;
  font-family: var(--font-display);
  font-weight: 600;
  text-shadow: none;
}
.theme-modern .pin-screen .error {
  color: #fecaca;
  font-family: var(--font-display);
}
.theme-modern .pin-screen .hint {
  color: rgba(255, 255, 255, 0.7);
  font-family: var(--font-display);
}
.theme-modern .search-input {
  background: #ffffff;
  border: 1px solid #e5e7eb;
  border-radius: 6px;
  color: #1f2937;
  font-family: var(--font-display);
}
.theme-modern .search-input:focus {
  border-color: var(--accent-primary);
  box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.1);
}
.theme-modern .search-input::placeholder {
  color: #9ca3af;
}
.theme-modern .search-results-count {
  color: #6b7280;
  font-family: var(--font-display);
}
.theme-modern-dark,
.app-shell.theme-modern-dark {
  --bg-primary: #0f172a;
  --bg-secondary: #1e293b;
  --accent-primary: #7dd3fc;
  --accent-muted: #38bdf8;
  --color-success: #4ade80;
  --color-danger: #f87171;
  --kodak-yellow: #fcd34d;
  --kodak-red: #f1f5f9;
  --film-border: #475569;
  --paper-cream: #1e293b;
  --paper-aged: #0f172a;
  --font-mono:
    "JetBrains Mono",
    "SF Mono",
    monospace;
  --font-display:
    "Inter",
    -apple-system,
    BlinkMacSystemFont,
    sans-serif;
}
.theme-modern-dark .app-shell::before {
  display: none;
}
.theme-modern-dark .header-brand {
  text-shadow: none;
  color: #f1f5f9;
  letter-spacing: 0;
  font-weight: 600;
}
.theme-modern-dark .date-text {
  text-shadow: none;
}
.theme-modern-dark .nav-btn {
  text-shadow: none;
}
.theme-modern-dark .app-shell {
  background: var(--bg-primary);
  color: #e2e8f0;
  font-family: var(--font-display);
  font-size: 14px;
}
.theme-modern-dark .header-bar {
  background: #1e293b;
  border-bottom: 1px solid #334155;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);
}
.theme-modern-dark .rec-indicator {
  color: #94a3b8;
}
.theme-modern-dark .rec-indicator.inactive {
  color: #64748b;
}
.theme-modern-dark .rec-dot {
  background: #22c55e;
}
.theme-modern-dark .rec-indicator.inactive .rec-dot {
  background: #475569;
}
.theme-modern-dark .nav-controls {
  background: #1e293b;
  border-top: 1px solid #334155;
  border-bottom: none;
}
.theme-modern-dark .nav-btn {
  background: #334155;
  border: 1px solid #475569;
  border-radius: 6px;
  color: #e2e8f0;
  font-family: var(--font-display);
  font-weight: 500;
  transition: all 0.15s ease;
}
.theme-modern-dark .nav-btn:hover {
  background: #475569;
  border-color: #64748b;
}
.theme-modern-dark .nav-btn:active {
  background: #64748b;
}
.theme-modern-dark .nav-btn.active {
  background: var(--accent-primary);
  border-color: var(--accent-primary);
  color: #0f172a;
}
.theme-modern-dark .date-display {
  background: #1e293b;
  border: 1px solid #334155;
  border-radius: 8px;
}
.theme-modern-dark .date-text {
  color: #f1f5f9;
  font-weight: 500;
  font-size: 18px;
}
.theme-modern-dark .date-detail {
  color: #94a3b8;
  font-size: 14px;
}
.theme-modern-dark .date-select {
  background: #1e293b;
  border: 1px solid #334155;
  border-radius: 8px;
  color: #f1f5f9;
  font-family: var(--font-display);
  font-size: 16px;
}
.theme-modern-dark .sidebar {
  background: #1e293b;
  border-top: 1px solid #334155;
  border-left: 1px solid #334155;
}
.theme-modern-dark .strip-header {
  background: #0f172a;
  border-bottom: 1px solid #334155;
  color: #94a3b8;
}
.theme-modern-dark .scroll-wrapper {
  background: #1e293b;
}
.theme-modern-dark .scroll-wrapper::before,
.theme-modern-dark .scroll-wrapper::after {
  display: none;
}
.theme-modern-dark .thumb {
  background: #334155;
  border-radius: 4px;
  padding: 0;
  opacity: 0.8;
  transition: all 0.15s ease;
}
.theme-modern-dark .thumb:hover {
  opacity: 1;
}
.theme-modern-dark .thumb.active {
  opacity: 1;
  outline: 2px solid var(--accent-primary);
  outline-offset: 2px;
  border-radius: 4px;
}
.theme-modern-dark .thumb::after {
  display: none;
}
.theme-modern-dark .stage {
  background: #0f172a;
}
.theme-modern-dark .hero-wrapper {
  background: transparent;
  padding: 0;
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.4);
  border-radius: 8px;
  overflow: hidden;
}
.theme-modern-dark .date-stamp {
  display: none;
}
.theme-modern-dark .frame-counter {
  display: none;
}
.theme-modern-dark .banner {
  background: var(--accent-primary);
  color: #0f172a;
  border-radius: 20px;
  animation: none;
  font-family: var(--font-display);
  font-weight: 500;
}
.theme-modern-dark .filter-banner {
  background: #22c55e;
  color: #ffffff;
  border-radius: 20px;
  font-family: var(--font-display);
}
.theme-modern-dark .filter-banner button {
  background: rgba(255, 255, 255, 0.2);
  color: #ffffff;
  border-radius: 4px;
}
.theme-modern-dark .meta-display {
  background: #1e293b;
  border: 1px solid #334155;
  border-radius: 8px;
  color: #94a3b8;
  font-weight: 400;
  font-size: 15px;
}
.theme-modern-dark .meta-display::before {
  background: #1e293b;
  color: #64748b;
  font-weight: 500;
  font-size: 12px;
}
.theme-modern-dark .meta-row {
  border-bottom: 1px solid #334155;
  padding: 8px 12px;
}
.theme-modern-dark .meta-label {
  color: #64748b;
  font-weight: 400;
  font-size: 13px;
}
.theme-modern-dark .meta-val {
  color: #e2e8f0;
  font-family: var(--font-display);
  font-weight: 400;
  font-size: 15px;
}
.theme-modern-dark .meta-val a {
  color: var(--accent-primary);
  font-weight: 400;
}
.theme-modern-dark .desktop-exposure {
  font-size: 15px;
  color: #e2e8f0;
  font-weight: 400;
}
.theme-modern-dark .tag-list {
  color: #cbd5e1;
  font-weight: 400;
  font-size: 14px;
  line-height: 1.6;
}
.theme-modern-dark .description-text {
  color: #cbd5e1;
  font-weight: 400;
  font-size: 15px;
  line-height: 1.6;
}
.theme-modern-dark .download-panel {
  background: #1e293b;
  border-top: 1px solid #334155;
}
.theme-modern-dark .download-btn {
  background: var(--accent-primary);
  color: #0f172a;
  border: none;
  border-radius: 8px;
  font-family: var(--font-display);
  font-weight: 600;
  transition: all 0.15s ease;
}
.theme-modern-dark .download-btn:hover {
  background: #38bdf8;
}
.theme-modern-dark .share-panel {
  background: #1e293b;
  border-top: 1px solid #334155;
}
.theme-modern-dark .share-btn {
  background: #22c55e;
  color: #ffffff;
  border: none;
  border-radius: 8px;
  font-family: var(--font-display);
  font-weight: 600;
}
.theme-modern-dark .share-btn:hover {
  background: #16a34a;
}
.theme-modern-dark .info-modal {
  background: rgba(0, 0, 0, 0.7);
}
.theme-modern-dark .info-content {
  background: #1e293b;
  border: 1px solid #334155;
  border-radius: 12px;
  box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.5);
  font-family: var(--font-display);
  color: #e2e8f0;
}
.theme-modern-dark .info-header {
  border-bottom: 1px solid #334155;
}
.theme-modern-dark .info-title {
  font-family: var(--font-display);
  font-weight: 600;
  letter-spacing: 0;
  color: #f1f5f9;
}
.theme-modern-dark .close-btn {
  background: #334155;
  color: #e2e8f0;
  border-radius: 6px;
  font-family: var(--font-display);
}
.theme-modern-dark .shortcut-key {
  background: #334155;
  color: #e2e8f0;
  border-radius: 4px;
  font-family: var(--font-mono);
}
.theme-modern-dark .face-box {
  border: 2px solid #22c55e;
  background: rgba(34, 197, 94, 0.15);
  border-radius: 4px;
}
.theme-modern-dark .face-box .face-label {
  background: #22c55e;
  color: #ffffff;
  border-radius: 4px;
  font-family: var(--font-display);
}
.theme-modern-dark .object-box {
  border: 2px solid var(--accent-primary);
  background: rgba(125, 211, 252, 0.15);
  border-radius: 4px;
}
.theme-modern-dark .object-box .object-label {
  background: var(--accent-primary);
  color: #0f172a;
  border-radius: 4px;
  font-family: var(--font-display);
}
.theme-modern-dark .contact-sheet-toggle {
  background: #1e293b;
  border-top: 1px solid #334155;
}
.theme-modern-dark .contact-sheet-toggle span {
  color: #e2e8f0;
  font-family: var(--font-display);
}
.theme-modern-dark .contact-sheet {
  background: #1e293b;
  border-top: 1px solid #334155;
  border-radius: 16px 16px 0 0;
}
.theme-modern-dark .contact-sheet-header {
  background: #0f172a;
  border-bottom: 1px solid #334155;
}
.theme-modern-dark .contact-sheet-header span {
  color: #e2e8f0;
  font-family: var(--font-display);
}
.theme-modern-dark .contact-sheet-header button {
  background: #334155;
  border: 1px solid #475569;
  color: #e2e8f0;
  border-radius: 6px;
  font-family: var(--font-display);
}
.theme-modern-dark .contact-sheet-grid img {
  border-radius: 4px;
}
.theme-modern-dark .contact-sheet-grid img.selected {
  border-color: var(--accent-primary);
  box-shadow: 0 0 0 2px var(--accent-primary);
}
.theme-modern-dark .pin-screen {
  background:
    radial-gradient(ellipse at 20% 0%, rgba(56, 189, 248, 0.15) 0%, transparent 50%),
    radial-gradient(ellipse at 80% 100%, rgba(139, 92, 246, 0.15) 0%, transparent 50%),
    linear-gradient(180deg, #0c1222 0%, #0f172a 50%, #1e1b4b 100%);
  overflow: hidden;
}
.theme-modern-dark .pin-screen::before {
  content: "";
  position: absolute;
  top: -50%;
  left: -50%;
  width: 200%;
  height: 200%;
  background: radial-gradient(circle at 30% 30%, rgba(56, 189, 248, 0.08) 0%, transparent 40%), radial-gradient(circle at 70% 70%, rgba(167, 139, 250, 0.08) 0%, transparent 40%);
  animation: pinScreenGlow 20s ease-in-out infinite;
  pointer-events: none;
}
@keyframes pinScreenGlow {
  0%, 100% {
    transform: translate(0, 0) rotate(0deg);
  }
  25% {
    transform: translate(2%, 2%) rotate(5deg);
  }
  50% {
    transform: translate(-1%, 3%) rotate(-3deg);
  }
  75% {
    transform: translate(3%, -2%) rotate(2deg);
  }
}
.theme-modern-dark .pin-screen form {
  background: rgba(255, 255, 255, 0.03);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 24px;
  padding: 48px 40px;
  box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.5), 0 0 0 1px rgba(255, 255, 255, 0.05) inset;
  position: relative;
  z-index: 1;
}
.theme-modern-dark .pin-screen h1 {
  color: rgba(255, 255, 255, 0.5);
  font-family: var(--font-display);
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 3px;
  text-transform: uppercase;
  margin-bottom: 8px;
}
.theme-modern-dark .pin-screen h2 {
  color: #ffffff;
  text-shadow: none;
  font-family: var(--font-display);
  font-size: 28px;
  font-weight: 600;
  letter-spacing: -0.5px;
  margin-bottom: 40px;
}
.theme-modern-dark .pin-screen h2::before {
  content: "\25c8";
  display: block;
  font-size: 48px;
  margin-bottom: 16px;
  background: linear-gradient(135deg, #38bdf8 0%, #a78bfa 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}
.theme-modern-dark .pin-screen input {
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 16px;
  color: #ffffff;
  font-family: var(--font-mono);
  font-size: 28px;
  padding: 20px 24px;
  width: 240px;
  text-align: center;
  letter-spacing: 12px;
  transition: all 0.2s ease;
}
.theme-modern-dark .pin-screen input::placeholder {
  color: rgba(255, 255, 255, 0.2);
  letter-spacing: 8px;
}
.theme-modern-dark .pin-screen input:focus {
  outline: none;
  border-color: rgba(56, 189, 248, 0.5);
  box-shadow: 0 0 0 4px rgba(56, 189, 248, 0.1), 0 0 30px rgba(56, 189, 248, 0.1);
  background: rgba(255, 255, 255, 0.08);
}
.theme-modern-dark .pin-screen .submit-btn {
  background: linear-gradient(135deg, #38bdf8 0%, #818cf8 100%);
  border: none;
  border-radius: 12px;
  color: #ffffff;
  font-family: var(--font-display);
  font-size: 15px;
  font-weight: 600;
  letter-spacing: 1px;
  padding: 16px 48px;
  text-shadow: none;
  cursor: pointer;
  transition: all 0.2s ease;
  box-shadow: 0 4px 15px rgba(56, 189, 248, 0.3), 0 0 0 1px rgba(255, 255, 255, 0.1) inset;
}
.theme-modern-dark .pin-screen .submit-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 25px rgba(56, 189, 248, 0.4), 0 0 0 1px rgba(255, 255, 255, 0.15) inset;
}
.theme-modern-dark .pin-screen .submit-btn:active {
  transform: translateY(0);
  box-shadow: 0 2px 10px rgba(56, 189, 248, 0.3), 0 0 0 1px rgba(255, 255, 255, 0.1) inset;
}
.theme-modern-dark .pin-screen .error {
  color: #f87171;
  font-family: var(--font-display);
  font-size: 14px;
  margin-top: 16px;
  padding: 12px 20px;
  background: rgba(239, 68, 68, 0.1);
  border-radius: 8px;
  border: 1px solid rgba(239, 68, 68, 0.2);
}
.theme-modern-dark .pin-screen .hint {
  color: rgba(255, 255, 255, 0.4);
  font-family: var(--font-display);
  font-size: 12px;
  letter-spacing: 2px;
  text-transform: uppercase;
  margin-top: 32px;
}
.theme-modern-dark .search-input {
  background: #334155;
  border: 1px solid #475569;
  border-radius: 6px;
  color: #f1f5f9;
  font-family: var(--font-display);
}
.theme-modern-dark .search-input:focus {
  border-color: var(--accent-primary);
  box-shadow: 0 0 0 3px rgba(125, 211, 252, 0.25);
}
.theme-modern-dark .search-input::placeholder {
  color: #64748b;
}
.theme-modern-dark .search-results-count {
  color: #94a3b8;
  font-family: var(--font-display);
}
.theme-modern .admin-page {
  min-height: 100vh;
  background: #f8fafc;
  color: #1f2937;
  font-family: var(--font-display);
  font-size: 14px;
}
.theme-modern .admin-nav {
  background: #ffffff;
  border-bottom: 1px solid #e5e7eb;
  padding: 0 20px;
  display: flex;
  align-items: center;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
}
.theme-modern .admin-nav-brand {
  font-size: 16px;
  font-weight: 600;
  padding: 16px 20px 16px 0;
  border-right: 1px solid #e5e7eb;
  margin-right: 10px;
  color: #2563eb;
  text-decoration: none;
}
.theme-modern .admin-nav-item {
  padding: 16px 16px;
  color: #6b7280;
  text-decoration: none;
  border-bottom: 3px solid transparent;
  font-weight: 500;
  transition: all 0.15s ease;
}
.theme-modern .admin-nav-item:hover {
  background: #f3f4f6;
  color: #374151;
}
.theme-modern .admin-nav-item.active {
  color: #2563eb;
  border-bottom-color: #2563eb;
  background: #eff6ff;
}
.theme-modern .admin-nav-spacer {
  flex-grow: 1;
}
.theme-modern .admin-nav-back {
  padding: 10px 15px;
  color: #6b7280;
  text-decoration: none;
  font-size: 13px;
}
.theme-modern .admin-nav-back:hover {
  color: #2563eb;
}
.theme-modern .admin-content {
  padding: 24px;
  max-width: 1400px;
  margin: 0 auto;
}
.theme-modern .admin-title {
  font-size: 24px;
  font-weight: 600;
  color: #1f2937;
  margin-bottom: 24px;
}
.theme-modern .admin-section {
  background: #ffffff;
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  padding: 20px;
  margin-bottom: 20px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
}
.theme-modern .admin-section h2 {
  font-size: 16px;
  font-weight: 600;
  color: #374151;
  margin-bottom: 16px;
  padding-bottom: 12px;
  border-bottom: 1px solid #f3f4f6;
}
.theme-modern .admin-btn {
  font-family: var(--font-display);
  font-size: 14px;
  font-weight: 500;
  padding: 10px 20px;
  border-radius: 8px;
  cursor: pointer;
  transition: all 0.15s ease;
  border: none;
}
.theme-modern .admin-btn-primary {
  background: #2563eb;
  color: #ffffff;
}
.theme-modern .admin-btn-primary:hover {
  background: #1d4ed8;
}
.theme-modern .admin-btn-secondary {
  background: #f3f4f6;
  color: #374151;
  border: 1px solid #e5e7eb;
}
.theme-modern .admin-btn-secondary:hover {
  background: #e5e7eb;
}
.theme-modern .admin-btn-danger {
  background: #fef2f2;
  color: #dc2626;
  border: 1px solid #fecaca;
}
.theme-modern .admin-btn-danger:hover {
  background: #fee2e2;
}
.theme-modern .admin-btn-success {
  background: #22c55e;
  color: #ffffff;
}
.theme-modern .admin-btn-success:hover {
  background: #16a34a;
}
.theme-modern .admin-input,
.theme-modern .admin-select,
.theme-modern .admin-textarea {
  font-family: var(--font-display);
  font-size: 14px;
  background: #ffffff;
  color: #1f2937;
  border: 1px solid #d1d5db;
  border-radius: 8px;
  padding: 10px 14px;
  width: 100%;
  transition: all 0.15s ease;
}
.theme-modern .admin-input:focus,
.theme-modern .admin-select:focus,
.theme-modern .admin-textarea:focus {
  outline: none;
  border-color: #2563eb;
  box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.1);
}
.theme-modern .admin-input::placeholder {
  color: #9ca3af;
}
.theme-modern .admin-stats-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 16px;
  margin-bottom: 24px;
}
.theme-modern .admin-stat-card {
  background: #ffffff;
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  padding: 20px;
  text-align: center;
}
.theme-modern .admin-stat-value {
  font-size: 32px;
  font-weight: 600;
  color: #2563eb;
  margin-bottom: 4px;
}
.theme-modern .admin-stat-label {
  font-size: 13px;
  color: #6b7280;
}
.theme-modern .admin-table {
  width: 100%;
  border-collapse: collapse;
}
.theme-modern .admin-table th,
.theme-modern .admin-table td {
  padding: 12px 16px;
  text-align: left;
  border-bottom: 1px solid #f3f4f6;
}
.theme-modern .admin-table th {
  background: #f9fafb;
  color: #6b7280;
  font-weight: 500;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}
.theme-modern .admin-table tr:hover {
  background: #f9fafb;
}
.theme-modern .admin-modal-overlay {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.5);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1000;
}
.theme-modern .admin-modal {
  background: #ffffff;
  border-radius: 16px;
  padding: 24px;
  max-width: 600px;
  width: 90%;
  max-height: 90vh;
  overflow-y: auto;
  box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
}
.theme-modern .admin-modal-title {
  font-size: 18px;
  font-weight: 600;
  color: #1f2937;
  margin-bottom: 20px;
  padding-bottom: 16px;
  border-bottom: 1px solid #e5e7eb;
}
.theme-modern .admin-badge {
  display: inline-block;
  padding: 4px 10px;
  border-radius: 6px;
  font-size: 12px;
  font-weight: 500;
}
.theme-modern .admin-badge-success {
  background: #dcfce7;
  color: #166534;
}
.theme-modern .admin-badge-warning {
  background: #fef3c7;
  color: #92400e;
}
.theme-modern .admin-badge-danger {
  background: #fee2e2;
  color: #dc2626;
}
.theme-modern .admin-badge-info {
  background: #dbeafe;
  color: #1e40af;
}
.theme-modern .admin-pin-screen {
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
}
.theme-modern .admin-pin-card {
  background: rgba(255, 255, 255, 0.95);
  border-radius: 20px;
  padding: 48px 40px;
  text-align: center;
  box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
  max-width: 400px;
  width: 90%;
}
.theme-modern .admin-pin-title {
  font-size: 24px;
  font-weight: 600;
  color: #1f2937;
  margin-bottom: 8px;
}
.theme-modern .admin-pin-subtitle {
  color: #6b7280;
  font-size: 14px;
  margin-bottom: 32px;
}
.theme-modern .admin-pin-input {
  font-family: var(--font-mono);
  font-size: 24px;
  text-align: center;
  background: #f3f4f6;
  border: 2px solid #e5e7eb;
  border-radius: 12px;
  padding: 16px 24px;
  width: 200px;
  letter-spacing: 8px;
  color: #1f2937;
  transition: all 0.15s ease;
}
.theme-modern .admin-pin-input:focus {
  outline: none;
  border-color: #2563eb;
  box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.1);
}
.theme-modern .admin-pin-error {
  color: #dc2626;
  font-size: 14px;
  margin-top: 16px;
}
.theme-modern-dark .admin-page {
  min-height: 100vh;
  background: #0f172a;
  color: #e2e8f0;
  font-family: var(--font-display);
  font-size: 14px;
}
.theme-modern-dark .admin-nav {
  background: #1e293b;
  border-bottom: 1px solid #334155;
  padding: 0 20px;
  display: flex;
  align-items: center;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);
}
.theme-modern-dark .admin-nav-brand {
  font-size: 16px;
  font-weight: 600;
  padding: 16px 20px 16px 0;
  border-right: 1px solid #334155;
  margin-right: 10px;
  color: #7dd3fc;
  text-decoration: none;
}
.theme-modern-dark .admin-nav-item {
  padding: 16px 16px;
  color: #94a3b8;
  text-decoration: none;
  border-bottom: 3px solid transparent;
  font-weight: 500;
  transition: all 0.15s ease;
}
.theme-modern-dark .admin-nav-item:hover {
  background: #334155;
  color: #e2e8f0;
}
.theme-modern-dark .admin-nav-item.active {
  color: #7dd3fc;
  border-bottom-color: #7dd3fc;
  background: rgba(125, 211, 252, 0.1);
}
.theme-modern-dark .admin-nav-spacer {
  flex-grow: 1;
}
.theme-modern-dark .admin-nav-back {
  padding: 10px 15px;
  color: #94a3b8;
  text-decoration: none;
  font-size: 13px;
}
.theme-modern-dark .admin-nav-back:hover {
  color: #7dd3fc;
}
.theme-modern-dark .admin-content {
  padding: 24px;
  max-width: 1400px;
  margin: 0 auto;
}
.theme-modern-dark .admin-title {
  font-size: 24px;
  font-weight: 600;
  color: #f1f5f9;
  margin-bottom: 24px;
}
.theme-modern-dark .admin-section {
  background: #1e293b;
  border: 1px solid #334155;
  border-radius: 12px;
  padding: 20px;
  margin-bottom: 20px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);
}
.theme-modern-dark .admin-section h2 {
  font-size: 16px;
  font-weight: 600;
  color: #e2e8f0;
  margin-bottom: 16px;
  padding-bottom: 12px;
  border-bottom: 1px solid #334155;
}
.theme-modern-dark .admin-btn {
  font-family: var(--font-display);
  font-size: 14px;
  font-weight: 500;
  padding: 10px 20px;
  border-radius: 8px;
  cursor: pointer;
  transition: all 0.15s ease;
  border: none;
}
.theme-modern-dark .admin-btn-primary {
  background: #7dd3fc;
  color: #0f172a;
}
.theme-modern-dark .admin-btn-primary:hover {
  background: #38bdf8;
}
.theme-modern-dark .admin-btn-secondary {
  background: #334155;
  color: #e2e8f0;
  border: 1px solid #475569;
}
.theme-modern-dark .admin-btn-secondary:hover {
  background: #475569;
}
.theme-modern-dark .admin-btn-danger {
  background: rgba(239, 68, 68, 0.1);
  color: #f87171;
  border: 1px solid rgba(239, 68, 68, 0.3);
}
.theme-modern-dark .admin-btn-danger:hover {
  background: rgba(239, 68, 68, 0.2);
}
.theme-modern-dark .admin-btn-success {
  background: #22c55e;
  color: #ffffff;
}
.theme-modern-dark .admin-btn-success:hover {
  background: #16a34a;
}
.theme-modern-dark .admin-input,
.theme-modern-dark .admin-select,
.theme-modern-dark .admin-textarea {
  font-family: var(--font-display);
  font-size: 14px;
  background: #0f172a;
  color: #e2e8f0;
  border: 1px solid #475569;
  border-radius: 8px;
  padding: 10px 14px;
  width: 100%;
  transition: all 0.15s ease;
}
.theme-modern-dark .admin-input:focus,
.theme-modern-dark .admin-select:focus,
.theme-modern-dark .admin-textarea:focus {
  outline: none;
  border-color: #7dd3fc;
  box-shadow: 0 0 0 3px rgba(125, 211, 252, 0.15);
}
.theme-modern-dark .admin-input::placeholder {
  color: #64748b;
}
.theme-modern-dark .admin-stats-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 16px;
  margin-bottom: 24px;
}
.theme-modern-dark .admin-stat-card {
  background: #1e293b;
  border: 1px solid #334155;
  border-radius: 12px;
  padding: 20px;
  text-align: center;
}
.theme-modern-dark .admin-stat-value {
  font-size: 32px;
  font-weight: 600;
  color: #7dd3fc;
  margin-bottom: 4px;
}
.theme-modern-dark .admin-stat-label {
  font-size: 13px;
  color: #94a3b8;
}
.theme-modern-dark .admin-table {
  width: 100%;
  border-collapse: collapse;
}
.theme-modern-dark .admin-table th,
.theme-modern-dark .admin-table td {
  padding: 12px 16px;
  text-align: left;
  border-bottom: 1px solid #334155;
}
.theme-modern-dark .admin-table th {
  background: #0f172a;
  color: #94a3b8;
  font-weight: 500;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}
.theme-modern-dark .admin-table tr:hover {
  background: rgba(125, 211, 252, 0.05);
}
.theme-modern-dark .admin-modal-overlay {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.7);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1000;
}
.theme-modern-dark .admin-modal {
  background: #1e293b;
  border: 1px solid #334155;
  border-radius: 16px;
  padding: 24px;
  max-width: 600px;
  width: 90%;
  max-height: 90vh;
  overflow-y: auto;
  box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.5);
}
.theme-modern-dark .admin-modal-title {
  font-size: 18px;
  font-weight: 600;
  color: #f1f5f9;
  margin-bottom: 20px;
  padding-bottom: 16px;
  border-bottom: 1px solid #334155;
}
.theme-modern-dark .admin-badge {
  display: inline-block;
  padding: 4px 10px;
  border-radius: 6px;
  font-size: 12px;
  font-weight: 500;
}
.theme-modern-dark .admin-badge-success {
  background: rgba(34, 197, 94, 0.15);
  color: #4ade80;
}
.theme-modern-dark .admin-badge-warning {
  background: rgba(251, 191, 36, 0.15);
  color: #fcd34d;
}
.theme-modern-dark .admin-badge-danger {
  background: rgba(239, 68, 68, 0.15);
  color: #f87171;
}
.theme-modern-dark .admin-badge-info {
  background: rgba(125, 211, 252, 0.15);
  color: #7dd3fc;
}
.theme-modern-dark .admin-pin-screen {
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  background:
    radial-gradient(ellipse at 20% 0%, rgba(56, 189, 248, 0.15) 0%, transparent 50%),
    radial-gradient(ellipse at 80% 100%, rgba(139, 92, 246, 0.15) 0%, transparent 50%),
    linear-gradient(180deg, #0c1222 0%, #0f172a 50%, #1e1b4b 100%);
  overflow: hidden;
}
.theme-modern-dark .admin-pin-screen::before {
  content: "";
  position: absolute;
  top: -50%;
  left: -50%;
  width: 200%;
  height: 200%;
  background: radial-gradient(circle at 30% 30%, rgba(56, 189, 248, 0.08) 0%, transparent 40%), radial-gradient(circle at 70% 70%, rgba(167, 139, 250, 0.08) 0%, transparent 40%);
  animation: pinScreenGlow 20s ease-in-out infinite;
  pointer-events: none;
}
.theme-modern-dark .admin-pin-card {
  background: rgba(255, 255, 255, 0.03);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 24px;
  padding: 48px 40px;
  text-align: center;
  box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.5), 0 0 0 1px rgba(255, 255, 255, 0.05) inset;
  position: relative;
  z-index: 1;
  max-width: 400px;
  width: 90%;
}
.theme-modern-dark .admin-pin-title {
  font-size: 24px;
  font-weight: 600;
  color: #ffffff;
  margin-bottom: 8px;
}
.theme-modern-dark .admin-pin-subtitle {
  color: rgba(255, 255, 255, 0.5);
  font-size: 14px;
  margin-bottom: 32px;
}
.theme-modern-dark .admin-pin-input {
  font-family: var(--font-mono);
  font-size: 24px;
  text-align: center;
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 16px;
  padding: 16px 24px;
  width: 220px;
  letter-spacing: 8px;
  color: #ffffff;
  transition: all 0.15s ease;
}
.theme-modern-dark .admin-pin-input:focus {
  outline: none;
  border-color: rgba(56, 189, 248, 0.5);
  box-shadow: 0 0 0 4px rgba(56, 189, 248, 0.1), 0 0 30px rgba(56, 189, 248, 0.1);
  background: rgba(255, 255, 255, 0.08);
}
.theme-modern-dark .admin-pin-input::placeholder {
  color: rgba(255, 255, 255, 0.2);
}
.theme-modern-dark .admin-pin-error {
  color: #f87171;
  font-size: 14px;
  margin-top: 16px;
  padding: 12px 20px;
  background: rgba(239, 68, 68, 0.1);
  border-radius: 8px;
  border: 1px solid rgba(239, 68, 68, 0.2);
}
.theme-modern-dark .cluster-stats-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 12px;
  margin-bottom: 20px;
}
.theme-modern-dark .cluster-stat-card {
  background: #0f172a;
  border: 1px solid #334155;
  border-radius: 8px;
  padding: 16px;
  text-align: center;
}
.theme-modern-dark .cluster-stat-value {
  font-size: 28px;
  font-weight: 600;
  color: #7dd3fc;
  margin-bottom: 4px;
}
.theme-modern-dark .cluster-stat-label {
  font-size: 12px;
  color: #64748b;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}
.theme-modern-dark .worker-card {
  background: #0f172a;
  border: 1px solid #334155;
  border-radius: 8px;
  padding: 16px;
  margin-bottom: 12px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
}
.theme-modern-dark .worker-card.online {
  border-color: #22c55e;
  border-left: 4px solid #22c55e;
}
.theme-modern-dark .worker-card.offline {
  border-color: #f87171;
  border-left: 4px solid #f87171;
  opacity: 0.7;
}
.theme-modern-dark .worker-card.unknown {
  border-color: #fcd34d;
  border-left: 4px solid #fcd34d;
}
.theme-modern-dark .worker-info {
  flex: 1;
}
.theme-modern-dark .worker-info h3 {
  font-size: 16px;
  font-weight: 600;
  color: #f1f5f9;
  margin-bottom: 4px;
}
.theme-modern-dark .worker-meta {
  font-size: 13px;
  color: #94a3b8;
}
.theme-modern-dark .status-badge {
  display: inline-block;
  padding: 6px 12px;
  border-radius: 6px;
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}
.theme-modern-dark .status-badge.online {
  background: rgba(34, 197, 94, 0.15);
  color: #4ade80;
}
.theme-modern-dark .status-badge.offline {
  background: rgba(248, 113, 113, 0.15);
  color: #f87171;
}
.theme-modern-dark .status-badge.unknown {
  background: rgba(252, 211, 77, 0.15);
  color: #fcd34d;
}
.theme-modern-dark .capabilities {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
  margin-top: 8px;
}
.theme-modern-dark .capability-tag {
  background: rgba(125, 211, 252, 0.1);
  border: 1px solid rgba(125, 211, 252, 0.3);
  color: #7dd3fc;
  padding: 3px 8px;
  border-radius: 4px;
  font-size: 11px;
  font-weight: 500;
}
.theme-modern-dark .recommendation-box {
  background: rgba(251, 191, 36, 0.05);
  border: 1px solid rgba(251, 191, 36, 0.2);
  border-radius: 8px;
  padding: 16px;
  margin-top: 16px;
}
.theme-modern-dark .recommendation-box h3 {
  color: #fcd34d;
  font-size: 14px;
  font-weight: 600;
  margin-bottom: 12px;
}
.theme-modern-dark .feature-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 8px;
}
.theme-modern-dark .feature-row {
  display: flex;
  justify-content: space-between;
  padding: 8px 12px;
  background: rgba(0, 0, 0, 0.2);
  border-radius: 4px;
}
.theme-modern-dark .feature-status.recommended {
  color: #4ade80;
}
.theme-modern-dark .feature-status.possible {
  color: #fcd34d;
}
.theme-modern-dark .feature-status.not_recommended {
  color: #f87171;
}
.theme-modern-dark .add-worker-form {
  display: flex;
  gap: 8px;
  margin-top: 16px;
  flex-wrap: wrap;
}
.theme-modern-dark .add-worker-form input {
  background: #0f172a;
  border: 1px solid #475569;
  border-radius: 6px;
  color: #e2e8f0;
  padding: 10px 14px;
  font-size: 14px;
}
.theme-modern-dark .add-worker-form input:focus {
  outline: none;
  border-color: #7dd3fc;
  box-shadow: 0 0 0 2px rgba(125, 211, 252, 0.15);
}
.theme-modern-dark .add-worker-form button {
  background: #7dd3fc;
  color: #0f172a;
  border: none;
  border-radius: 6px;
  padding: 10px 20px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.15s ease;
}
.theme-modern-dark .add-worker-form button:hover {
  background: #38bdf8;
}
.theme-modern-dark .remove-btn {
  background: rgba(239, 68, 68, 0.1);
  color: #f87171;
  border: 1px solid rgba(239, 68, 68, 0.3);
  border-radius: 6px;
  padding: 6px 12px;
  cursor: pointer;
  font-size: 12px;
  font-weight: 500;
  transition: all 0.15s ease;
}
.theme-modern-dark .remove-btn:hover {
  background: rgba(239, 68, 68, 0.2);
}
.theme-modern-dark .cluster-header-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 24px;
  flex-wrap: wrap;
  gap: 16px;
}
.theme-modern-dark .cluster-header-row h1 {
  font-size: 24px;
  font-weight: 600;
  color: #f1f5f9;
  margin: 0;
}
.theme-modern-dark .refresh-btn {
  background: #334155;
  color: #e2e8f0;
  border: 1px solid #475569;
  border-radius: 6px;
  padding: 8px 16px;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.15s ease;
}
.theme-modern-dark .refresh-btn:hover {
  background: #475569;
}
.theme-modern-dark .last-refresh {
  font-size: 13px;
  color: #64748b;
  margin-left: 12px;
}
.theme-modern-dark .cluster-loading {
  text-align: center;
  padding: 60px 20px;
  color: #94a3b8;
  font-size: 16px;
}
.theme-modern-dark .cluster-loading::after {
  content: "";
  display: inline-block;
  width: 20px;
  height: 20px;
  border: 2px solid #475569;
  border-top-color: #7dd3fc;
  border-radius: 50%;
  animation: spin 1s linear infinite;
  margin-left: 12px;
  vertical-align: middle;
}
@keyframes spin {
  to {
    transform: rotate(360deg);
  }
}
.theme-modern-dark .event-card {
  background: #1e293b;
  border: 1px solid #334155;
  padding: 20px;
  margin-bottom: 12px;
  border-radius: 8px;
  transition: border-color 0.15s ease;
}
.theme-modern-dark .event-card:hover {
  border-color: #7dd3fc;
}
.theme-modern-dark .event-card.exclusive {
  border-left: 3px solid #f87171;
}
.theme-modern-dark .event-card.hidden {
  opacity: 0.6;
}
.theme-modern-dark .event-name {
  font-size: 16px;
  font-weight: 600;
  color: #f1f5f9;
  cursor: pointer;
}
.theme-modern-dark .event-name:hover {
  color: #7dd3fc;
}
.theme-modern-dark .event-dates {
  font-size: 13px;
  color: #94a3b8;
  margin-bottom: 8px;
}
.theme-modern-dark .event-description {
  font-size: 13px;
  color: #cbd5e1;
  margin-bottom: 8px;
}
.theme-modern-dark .event-badge {
  display: inline-block;
  padding: 2px 8px;
  font-size: 11px;
  font-weight: 500;
  border-radius: 4px;
  margin-left: 8px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}
.theme-modern-dark .event-badge-exclusive {
  background: rgba(248, 113, 113, 0.2);
  color: #f87171;
  border: 1px solid rgba(248, 113, 113, 0.3);
}
.theme-modern-dark .event-badge-hidden {
  background: rgba(148, 163, 184, 0.2);
  color: #94a3b8;
  border: 1px solid rgba(148, 163, 184, 0.3);
}
.theme-modern-dark .event-badge-pin {
  background: rgba(45, 212, 191, 0.2);
  color: #2dd4bf;
  border: 1px solid rgba(45, 212, 191, 0.3);
}
.theme-modern-dark .event-input {
  background: #0f172a;
  border: 1px solid #334155;
  color: #f1f5f9;
  padding: 10px 14px;
  width: 100%;
  font-size: 14px;
  border-radius: 6px;
  transition: border-color 0.15s ease;
}
.theme-modern-dark .event-input:focus {
  border-color: #7dd3fc;
  outline: none;
}
.theme-modern-dark .event-input::placeholder {
  color: #64748b;
}
.theme-modern-dark .event-label {
  display: block;
  font-size: 12px;
  font-weight: 500;
  color: #94a3b8;
  margin-bottom: 6px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}
.theme-modern-dark .event-actions {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-left: 16px;
}
.theme-modern-dark .event-btn {
  padding: 6px 12px;
  font-size: 12px;
  font-weight: 500;
  border-radius: 6px;
  cursor: pointer;
  transition: all 0.15s ease;
  white-space: nowrap;
}
.theme-modern-dark .event-btn-view {
  background: rgba(125, 211, 252, 0.1);
  color: #7dd3fc;
  border: 1px solid rgba(125, 211, 252, 0.3);
}
.theme-modern-dark .event-btn-view:hover {
  background: rgba(125, 211, 252, 0.2);
}
.theme-modern-dark .event-btn-toggle {
  background: transparent;
  color: #94a3b8;
  border: 1px solid #475569;
}
.theme-modern-dark .event-btn-toggle:hover {
  background: #334155;
  color: #f1f5f9;
}
.theme-modern-dark .event-btn-toggle.active {
  background: rgba(248, 113, 113, 0.1);
  color: #f87171;
  border-color: rgba(248, 113, 113, 0.3);
}
.theme-modern-dark .event-btn-delete {
  background: rgba(239, 68, 68, 0.1);
  color: #f87171;
  border: 1px solid rgba(239, 68, 68, 0.3);
}
.theme-modern-dark .event-btn-delete:hover {
  background: rgba(239, 68, 68, 0.2);
}
.theme-modern-dark .event-create-form {
  background: #1e293b;
  border: 1px solid #334155;
  border-radius: 8px;
  padding: 24px;
  margin-bottom: 24px;
}
.theme-modern-dark .event-create-form h3 {
  margin: 0 0 20px 0;
  font-size: 16px;
  font-weight: 600;
  color: #f1f5f9;
}
.theme-modern-dark .event-form-grid {
  display: grid;
  gap: 16px;
}
.theme-modern-dark .event-form-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}
.theme-modern-dark .event-form-actions {
  display: flex;
  gap: 12px;
  margin-top: 16px;
}
.theme-modern-dark .events-help-overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.7);
  z-index: 999;
}
.theme-modern-dark .events-help-modal {
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background: #1e293b;
  border: 1px solid #334155;
  border-radius: 12px;
  padding: 24px;
  max-width: 500px;
  max-height: 80vh;
  overflow-y: auto;
  z-index: 1000;
  box-shadow: 0 4px 30px rgba(0, 0, 0, 0.5);
}
.theme-modern-dark .events-help-modal h2 {
  margin: 0 0 16px 0;
  font-size: 18px;
  font-weight: 600;
  color: #f1f5f9;
}
.theme-modern-dark .events-help-modal h3 {
  font-size: 14px;
  font-weight: 600;
  color: #e2e8f0;
  margin: 20px 0 8px 0;
}
.theme-modern-dark .events-help-modal p,
.theme-modern-dark .events-help-modal li {
  font-size: 13px;
  color: #94a3b8;
  line-height: 1.6;
}
.theme-modern-dark .events-help-modal ul {
  padding-left: 20px;
  margin: 0;
}
.theme-modern-dark .events-empty {
  text-align: center;
  padding: 60px 20px;
  color: #64748b;
}
.theme-modern-dark .events-empty p {
  margin: 8px 0;
}
.theme-modern-dark .events-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 24px;
}
.theme-modern-dark .events-count {
  color: #94a3b8;
  font-size: 14px;
}
.admin-page {
  --admin-bg: #0f172a;
  --admin-surface: #1e293b;
  --admin-surface-elevated: #334155;
  --admin-border: #475569;
  --admin-text: #e2e8f0;
  --admin-text-muted: #94a3b8;
  --admin-text-dim: #64748b;
  --admin-accent-primary: #7dd3fc;
  --admin-accent-secondary: #4ade80;
  --admin-accent-tertiary: #fbbf24;
  --admin-accent-danger: #f87171;
  --admin-accent-primary-bg: rgba(125, 211, 252, 0.1);
  --admin-accent-secondary-bg: rgba(74, 222, 128, 0.1);
  --admin-accent-tertiary-bg: rgba(251, 191, 36, 0.1);
  --admin-accent-danger-bg: rgba(248, 113, 113, 0.1);
}
.admin-section--primary {
  background: var(--admin-surface);
  border: 1px solid var(--admin-border);
  border-left: 3px solid var(--admin-accent-primary);
  border-radius: 8px;
  padding: 20px;
  margin-bottom: 20px;
}
.admin-section--secondary {
  background: var(--admin-surface);
  border: 1px solid var(--admin-border);
  border-left: 3px solid var(--admin-accent-secondary);
  border-radius: 8px;
  padding: 20px;
  margin-bottom: 20px;
}
.admin-section--tertiary {
  background: var(--admin-surface);
  border: 1px solid var(--admin-border);
  border-left: 3px solid var(--admin-accent-tertiary);
  border-radius: 8px;
  padding: 20px;
  margin-bottom: 20px;
}
.admin-section--danger {
  background: var(--admin-surface);
  border: 1px solid var(--admin-accent-danger);
  border-left: 3px solid var(--admin-accent-danger);
  border-radius: 8px;
  padding: 20px;
  margin-bottom: 20px;
}
.admin-section--neutral {
  background: var(--admin-surface);
  border: 1px solid var(--admin-border);
  border-radius: 8px;
  padding: 20px;
  margin-bottom: 20px;
}
.admin-section__header {
  font-size: 14px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin-bottom: 16px;
  padding-bottom: 12px;
  border-bottom: 1px solid var(--admin-border);
}
.admin-section--primary .admin-section__header {
  color: var(--admin-accent-primary);
}
.admin-section--secondary .admin-section__header {
  color: var(--admin-accent-secondary);
}
.admin-section--tertiary .admin-section__header {
  color: var(--admin-accent-tertiary);
}
.admin-section--danger .admin-section__header {
  color: var(--admin-accent-danger);
}
.admin-section__desc {
  font-size: 12px;
  color: var(--admin-text-muted);
  margin: 8px 0 16px 0;
  line-height: 1.5;
}
.admin-btn--primary {
  background: var(--admin-accent-primary);
  color: var(--admin-bg);
  border: none;
  padding: 10px 20px;
  border-radius: 6px;
  font-size: 13px;
  font-weight: 500;
  cursor: pointer;
  transition: background 0.15s ease;
}
.admin-btn--primary:hover {
  background: #38bdf8;
}
.admin-btn--secondary {
  background: var(--admin-surface-elevated);
  color: var(--admin-text);
  border: 1px solid var(--admin-border);
  padding: 10px 20px;
  border-radius: 6px;
  font-size: 13px;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.15s ease;
}
.admin-btn--secondary:hover {
  background: #475569;
  border-color: #64748b;
}
.admin-btn--success {
  background: var(--admin-accent-secondary);
  color: var(--admin-bg);
  border: none;
  padding: 10px 20px;
  border-radius: 6px;
  font-size: 13px;
  font-weight: 500;
  cursor: pointer;
}
.admin-btn--success:hover {
  background: #22c55e;
}
.admin-btn--warning {
  background: var(--admin-accent-tertiary-bg);
  color: var(--admin-accent-tertiary);
  border: 1px solid var(--admin-accent-tertiary);
  padding: 10px 20px;
  border-radius: 6px;
  font-size: 13px;
  font-weight: 500;
  cursor: pointer;
}
.admin-btn--warning:hover {
  background: rgba(251, 191, 36, 0.2);
}
.admin-btn--danger {
  background: var(--admin-accent-danger-bg);
  color: var(--admin-accent-danger);
  border: 1px solid rgba(248, 113, 113, 0.3);
  padding: 10px 20px;
  border-radius: 6px;
  font-size: 13px;
  font-weight: 500;
  cursor: pointer;
}
.admin-btn--danger:hover {
  background: rgba(248, 113, 113, 0.2);
}
.admin-btn--toggle {
  background: var(--admin-surface);
  color: var(--admin-text-muted);
  border: 1px solid var(--admin-border);
  padding: 10px 20px;
  border-radius: 6px;
  font-size: 13px;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
.admin-btn--toggle.active {
  background: var(--admin-accent-secondary-bg);
  color: var(--admin-accent-secondary);
  border-color: var(--admin-accent-secondary);
}
.admin-btn--toggle.active-warning {
  background: var(--admin-accent-tertiary-bg);
  color: var(--admin-accent-tertiary);
  border-color: var(--admin-accent-tertiary);
}
.admin-btn--toggle.active-danger {
  background: var(--admin-accent-danger-bg);
  color: var(--admin-accent-danger);
  border-color: var(--admin-accent-danger);
}
.admin-status-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--admin-text-dim);
}
.admin-status-dot.active {
  background: var(--admin-accent-secondary);
}
.admin-status-dot.warning {
  background: var(--admin-accent-tertiary);
  animation: pulse 1s infinite;
}
.admin-status-dot.danger {
  background: var(--admin-accent-danger);
  animation: pulse 1s infinite;
}
@keyframes pulse {
  0%, 100% {
    opacity: 1;
  }
  50% {
    opacity: 0.5;
  }
}
.admin-theme-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 8px;
}
@media (max-width: 768px) {
  .admin-theme-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
.admin-theme-btn {
  padding: 12px 8px;
  border-radius: 6px;
  font-size: 11px;
  font-weight: 500;
  text-align: center;
  cursor: pointer;
  border: 2px solid transparent;
  transition: all 0.15s ease;
  background: var(--admin-surface);
  color: var(--admin-text);
}
.admin-theme-btn:hover {
  border-color: var(--admin-border);
}
.admin-theme-btn.selected {
  border-color: var(--admin-accent-primary);
  box-shadow: 0 0 12px rgba(125, 211, 252, 0.3);
}
.admin-theme-btn[data-theme=kodak] {
  background: #fbbf24;
  color: #dc2626;
}
.admin-theme-btn[data-theme=fuji] {
  background: #006b3c;
  color: #fff;
}
.admin-theme-btn[data-theme=polaroid] {
  background: #f5f5f5;
  color: #333;
}
.admin-theme-btn[data-theme=noir] {
  background: #000;
  color: #fff;
}
.admin-theme-btn[data-theme=playboy] {
  background: #000;
  color: #d4af37;
}
.admin-theme-btn[data-theme=penthouse] {
  background: #1a1a2e;
  color: #c9a227;
}
.admin-theme-btn[data-theme=hustler] {
  background: #8b0000;
  color: #ffd700;
}
.admin-theme-btn[data-theme=instagram] {
  background: linear-gradient(45deg, #f09433, #e6683c, #dc2743, #cc2366, #bc1888);
  color: #fff;
}
.admin-theme-btn[data-theme=web1] {
  background: #c0c0c0;
  color: #000080;
}
.admin-theme-btn[data-theme=ww2] {
  background: #2d2a1f;
  color: #d4c9a8;
}
.admin-stats-row {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 12px;
  margin: 16px 0;
}
@media (max-width: 768px) {
  .admin-stats-row {
    grid-template-columns: repeat(2, 1fr);
  }
}
.admin-stat {
  background: var(--admin-bg);
  border: 1px solid var(--admin-border);
  border-radius: 6px;
  padding: 12px;
  text-align: center;
}
.admin-stat__label {
  font-size: 10px;
  color: var(--admin-text-dim);
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin-bottom: 4px;
}
.admin-stat__value {
  font-size: 20px;
  font-weight: 600;
  color: var(--admin-accent-primary);
}
.admin-stat__value.success {
  color: var(--admin-accent-secondary);
}
.admin-stat__value.warning {
  color: var(--admin-accent-tertiary);
}
.admin-stat__value.danger {
  color: var(--admin-accent-danger);
}
.admin-page {
  font-size: 14px;
  line-height: 1.5;
}
.admin-text-xs {
  font-size: 12px;
}
.admin-text-sm {
  font-size: 13px;
}
.admin-text-base {
  font-size: 14px;
}
.admin-text-lg {
  font-size: 16px;
}
.admin-text-xl {
  font-size: 18px;
}
.admin-text-muted {
  color: var(--admin-text-muted);
}
.admin-text-dim {
  color: var(--admin-text-dim);
}
.admin-input {
  background: var(--admin-bg);
  border: 1px solid var(--admin-border);
  border-radius: 6px;
  padding: 10px 14px;
  font-size: 14px;
  color: var(--admin-text);
  width: 100%;
}
.admin-input:focus {
  outline: none;
  border-color: var(--admin-accent-primary);
  box-shadow: 0 0 0 3px var(--admin-accent-primary-bg);
}
.admin-input::placeholder {
  color: var(--admin-text-dim);
}
.admin-label {
  display: block;
  font-size: 12px;
  color: var(--admin-text-muted);
  margin-bottom: 6px;
  text-transform: uppercase;
  letter-spacing: 0.3px;
}
.admin-btn-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
}
@media (max-width: 768px) {
  .admin-btn-grid {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 768px) {
  .admin-page {
    font-size: 16px;
  }
  .admin-section__header {
    font-size: 15px;
  }
  .admin-btn--primary,
  .admin-btn--secondary,
  .admin-btn--toggle {
    padding: 14px 20px;
    font-size: 15px;
    min-height: 48px;
  }
  .admin-input {
    padding: 14px;
    font-size: 16px;
    min-height: 48px;
  }
  .admin-nav,
  .theme-modern .admin-nav,
  .theme-modern-dark .admin-nav {
    flex-wrap: wrap !important;
    padding: 8px !important;
    height: auto !important;
    gap: 2px;
    width: 100% !important;
    max-width: 100vw !important;
    overflow-x: hidden !important;
    box-sizing: border-box;
  }
  .admin-nav-brand,
  .theme-modern .admin-nav-brand,
  .theme-modern-dark .admin-nav-brand {
    width: 100% !important;
    text-align: center;
    padding: 8px !important;
    margin: 0 !important;
    border-right: none !important;
    border-bottom: 1px solid rgba(128, 128, 128, 0.2);
    box-sizing: border-box;
  }
  .admin-nav-item,
  .theme-modern .admin-nav-item,
  .theme-modern-dark .admin-nav-item {
    padding: 6px 8px !important;
    min-height: 40px;
    font-size: 11px !important;
    flex: 0 0 auto;
    white-space: nowrap;
  }
  .admin-nav-spacer,
  .theme-modern .admin-nav-spacer,
  .theme-modern-dark .admin-nav-spacer {
    display: none !important;
  }
  .admin-nav-back,
  .theme-modern .admin-nav-back,
  .theme-modern-dark .admin-nav-back {
    width: 100% !important;
    text-align: center;
    margin-top: 4px;
    padding: 8px !important;
    box-sizing: border-box;
  }
  .admin-page,
  body {
    max-width: 100vw !important;
    overflow-x: hidden !important;
  }
  .admin-content,
  .theme-modern .admin-content,
  .theme-modern-dark .admin-content {
    padding: 8px !important;
    max-width: 100% !important;
  }
  .admin-section {
    padding: 12px;
    margin: 8px 0;
  }
  .admin-stats-grid,
  .cluster-stats-grid,
  .admin-button-group {
    grid-template-columns: 1fr !important;
  }
  .admin-image-grid {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 8px;
  }
  .admin-table-wrapper {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  .vhs-controls {
    flex-direction: column;
    gap: 8px;
  }
  .vhs-control {
    min-height: 44px;
    width: 100%;
  }
  .led-display {
    font-size: 11px;
    padding: 4px 8px;
  }
  .floppy-grid {
    grid-template-columns: 1fr !important;
  }
}
.flex-1 {
  flex: 1;
}

/* css/ai_collab.css */
.hn-page {
  background: #0a0a0f;
  min-height: 100vh;
  font-family:
    "Share Tech Mono",
    "Courier New",
    monospace;
  font-size: 11pt;
  color: #00ff88;
  position: relative;
  overflow-x: hidden;
}
.hn-page::before {
  content: "";
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: repeating-linear-gradient(0deg, rgba(0, 0, 0, 0.1) 0px, rgba(0, 0, 0, 0.1) 1px, transparent 1px, transparent 2px);
  pointer-events: none;
  z-index: 1000;
}
.hn-content {
  max-width: 100%;
  margin: 0;
  padding: 15px 20px;
  position: relative;
}
.hn-header {
  background: linear-gradient(180deg, #1a1a2e 0%, #0f0f1a 100%);
  padding: 8px 20px;
  display: flex;
  align-items: center;
  gap: 20px;
  border-bottom: 2px solid #00ff88;
  box-shadow: 0 0 20px rgba(0, 255, 136, 0.3);
}
.hn-logo {
  font-family: "VT323", monospace;
  font-size: 24pt;
  color: #00ff88;
  text-shadow: 0 0 10px #00ff88, 0 0 20px #00ff88;
  letter-spacing: 3px;
}
.hn-nav {
  display: flex;
  gap: 5px;
  flex: 1;
}
.hn-nav a,
.hn-tab {
  color: #00aa66;
  text-decoration: none;
  cursor: pointer;
  padding: 6px 12px;
  border: 1px solid #00aa66;
  text-transform: uppercase;
  font-size: 9pt;
  letter-spacing: 1px;
  transition: all 0.2s;
}
.hn-tab.active {
  background: #00ff88;
  color: #000;
  box-shadow: 0 0 10px #00ff88;
}
.hn-tab:hover {
  background: rgba(0, 255, 136, 0.2);
  border-color: #00ff88;
  color: #00ff88;
}
.hn-user {
  color: #ff6600;
  text-transform: uppercase;
  font-size: 9pt;
}
.hn-clock-bar {
  background: linear-gradient(90deg, rgba(0, 255, 136, 0.1) 0%, transparent 50%, rgba(0, 170, 255, 0.1) 100%);
  padding: 10px 20px;
  margin-bottom: 15px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  border: 1px solid #333;
  border-left: 3px solid #00ff88;
}
.hn-clock {
  font-family: "VT323", monospace;
  font-size: 20pt;
  color: #00ff88;
  text-shadow: 0 0 10px #00ff88;
  letter-spacing: 2px;
}
.hn-tz-select {
  background: #111;
  border: 1px solid #00aa66;
  padding: 5px 10px;
  font-size: 9pt;
  color: #00ff88;
  cursor: pointer;
  font-family: "Share Tech Mono", monospace;
}
.hn-tz-select:hover {
  border-color: #00ff88;
  box-shadow: 0 0 10px rgba(0, 255, 136, 0.3);
}
.hn-tz-select:focus {
  outline: none;
  border-color: #00ff88;
}
.hn-stats {
  background: rgba(0, 0, 0, 0.3);
  padding: 10px 15px;
  margin-bottom: 15px;
  display: flex;
  gap: 20px;
  flex-wrap: wrap;
  font-size: 10pt;
  color: #666;
  border: 1px solid #222;
}
.hn-stat {
  display: flex;
  gap: 6px;
  align-items: center;
  cursor: pointer;
  padding: 4px 10px;
  transition: all 0.2s;
}
.hn-stat:hover {
  background: rgba(0, 255, 136, 0.1);
}
.hn-stat.active {
  background: rgba(0, 255, 136, 0.2);
  border: 1px solid #00ff88;
}
.hn-stat-label {
  color: #555;
  text-transform: uppercase;
  font-size: 8pt;
  letter-spacing: 1px;
}
.hn-stat-val {
  font-family: "VT323", monospace;
  font-size: 14pt;
}
.hn-stat-val.claude {
  color: #00aaff;
  text-shadow: 0 0 5px #00aaff;
}
.hn-stat-val.gemini {
  color: #00ff88;
  text-shadow: 0 0 5px #00ff88;
}
.hn-stat-val.kimi {
  color: #aa55ff;
  text-shadow: 0 0 5px #aa55ff;
}
.hn-stat-val.gpt {
  color: #ff8800;
  text-shadow: 0 0 5px #ff8800;
}
.hn-cycle {
  background: linear-gradient(90deg, #1a1a2e, #0f0f1a);
  border: 1px solid #00ff88;
  padding: 12px 20px;
  margin-bottom: 20px;
  display: flex;
  align-items: center;
  gap: 15px;
  box-shadow: 0 0 20px rgba(0, 255, 136, 0.2);
}
.hn-cycle.waiting {
  border-color: #ffaa00;
  box-shadow: 0 0 20px rgba(255, 170, 0, 0.2);
}
.hn-cycle-icon {
  font-size: 18pt;
}
.hn-cycle-text {
  flex: 1;
  font-size: 10pt;
  color: #888;
}
.hn-cycle-text strong {
  color: #ffaa00;
}
.hn-cycle-btn {
  background: transparent;
  color: #00ff88;
  border: 2px solid #00ff88;
  padding: 10px 20px;
  cursor: pointer;
  font-size: 10pt;
  font-family: "VT323", monospace;
  letter-spacing: 2px;
  text-transform: uppercase;
  transition: all 0.2s;
}
.hn-cycle-btn:hover {
  background: #00ff88;
  color: #000;
  box-shadow: 0 0 20px #00ff88;
}
.hn-cycle-btn.reset {
  border-color: #ff4444;
  color: #ff4444;
}
.hn-cycle-btn.reset:hover {
  background: #ff4444;
  color: #000;
}
.hn-cycle-btn.trigger {
  border-color: #00ff88;
  color: #00ff88;
  animation: button-pulse 2s ease-in-out infinite;
}
@keyframes button-pulse {
  0%, 100% {
    box-shadow: 0 0 5px #00ff88;
  }
  50% {
    box-shadow: 0 0 20px #00ff88, 0 0 30px #00ff88;
  }
}
.hn-cycle-btn.trigger:hover {
  background: #00ff88;
  color: #000;
  animation: none;
}
.hn-tabs {
  border-bottom: 1px solid #e0e0d8;
  margin-bottom: 10px;
  display: flex;
  gap: 0;
}
.hn-tab-btn {
  background: none;
  border: none;
  border-bottom: 2px solid transparent;
  padding: 8px 16px;
  cursor: pointer;
  font-size: 10pt;
  color: #666;
}
.hn-tab-btn:hover {
  color: #000;
}
.hn-tab-btn.active {
  border-bottom-color: #ff6600;
  color: #000;
  font-weight: bold;
}
.hn-thread {
  background: rgba(0, 0, 0, 0.3);
  border: 1px solid #333;
  max-height: 60vh;
  overflow-y: auto;
}
.hn-thread::-webkit-scrollbar {
  width: 8px;
}
.hn-thread::-webkit-scrollbar-track {
  background: #111;
}
.hn-thread::-webkit-scrollbar-thumb {
  background: #00ff88;
  border-radius: 0;
}
.hn-msg {
  border-bottom: 1px solid #222;
  padding: 12px 15px;
  background: transparent;
  transition: all 0.2s;
  border-left: 3px solid transparent;
}
.hn-msg:hover {
  background: rgba(0, 255, 136, 0.05);
}
.hn-msg:has(.hn-msg-author.claude) {
  border-left-color: #00aaff;
}
.hn-msg:has(.hn-msg-author.gemini) {
  border-left-color: #00ff88;
}
.hn-msg:has(.hn-msg-author.gpt) {
  border-left-color: #ff8800;
}
.hn-msg:has(.hn-msg-author.kimi) {
  border-left-color: #aa55ff;
}
.hn-msg-header {
  display: flex;
  gap: 10px;
  align-items: center;
  font-size: 9pt;
  color: #666;
  margin-bottom: 6px;
}
.hn-msg-author {
  font-family: "VT323", monospace;
  font-size: 14pt;
  letter-spacing: 1px;
}
.hn-msg-author.claude {
  color: #00aaff;
  text-shadow: 0 0 5px #00aaff;
}
.hn-msg-author.gemini {
  color: #00ff88;
  text-shadow: 0 0 5px #00ff88;
}
.hn-msg-author.kimi {
  color: #aa55ff;
  text-shadow: 0 0 5px #aa55ff;
}
.hn-msg-author.gpt {
  color: #ff8800;
  text-shadow: 0 0 5px #ff8800;
}
.hn-msg-to {
  color: #555;
}
.hn-msg-time {
  color: #444;
  margin-left: auto;
}
.hn-msg-subject {
  color: #00ff88;
  font-size: 11pt;
  margin-bottom: 4px;
}
.hn-msg-subject a {
  color: #00ff88;
  text-decoration: none;
}
.hn-msg-subject a:hover {
  text-shadow: 0 0 5px #00ff88;
}
.hn-msg-body {
  font-size: 10pt;
  color: #888;
  line-height: 1.5;
  max-height: 3em;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: pre-wrap;
  margin-top: 4px;
}
.hn-msg-body.expanded {
  max-height: none;
  overflow: visible;
  color: #aaa;
}
.hn-msg-toggle {
  font-size: 9pt;
  color: #00aa66;
  cursor: pointer;
  margin-top: 6px;
  display: inline-block;
  padding: 2px 8px;
  border: 1px solid #00aa66;
}
.hn-msg-toggle:hover {
  background: #00aa66;
  color: #000;
}
.hn-proposals {
  background: rgba(0, 0, 0, 0.3);
  border: 1px solid #333;
}
.hn-prop {
  display: flex;
  gap: 15px;
  padding: 10px 15px;
  border-bottom: 1px solid #222;
  align-items: center;
  transition: all 0.2s;
}
.hn-prop:last-child {
  border-bottom: none;
}
.hn-prop-status {
  font-size: 8pt;
  padding: 4px 8px;
  text-transform: uppercase;
  font-family: "VT323", monospace;
  letter-spacing: 1px;
  border: 1px solid;
}
.hn-prop-status.approved {
  border-color: #00ff88;
  color: #00ff88;
}
.hn-prop-status.ready {
  border-color: #ffaa00;
  color: #ffaa00;
}
.hn-prop-status.draft {
  border-color: #666;
  color: #666;
}
.hn-prop-status.in {
  border-color: #00aaff;
  color: #00aaff;
  animation: pulse 1s ease-in-out infinite;
}
.hn-prop-name {
  flex: 1;
  font-size: 10pt;
  color: #00ff88;
}
.hn-prop-priority {
  font-size: 9pt;
  color: #ff8800;
}
.hn-prop-date {
  font-size: 9pt;
  color: #555;
}
.hn-prop:hover {
  background: rgba(0, 255, 136, 0.1);
  border-left: 3px solid #00ff88;
}
.hn-prop-viewer {
  background: rgba(0, 0, 0, 0.5);
  border: 1px solid #00ff88;
}
.hn-prop-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 12px 15px;
  background: linear-gradient(90deg, rgba(0, 255, 136, 0.2), transparent);
  border-bottom: 1px solid #00ff88;
}
.hn-prop-title {
  font-family: "VT323", monospace;
  font-size: 16pt;
  color: #00ff88;
  text-shadow: 0 0 10px #00ff88;
}
.hn-prop-close {
  color: #ff4444;
  cursor: pointer;
  font-size: 10pt;
  padding: 5px 10px;
  border: 1px solid #ff4444;
}
.hn-prop-close:hover {
  background: #ff4444;
  color: #000;
}
.hn-prop-content {
  padding: 15px;
  font-family: "Share Tech Mono", monospace;
  font-size: 10pt;
  white-space: pre-wrap;
  max-height: 500px;
  overflow-y: auto;
  line-height: 1.6;
  color: #888;
  background: #0a0a0f;
}
.hn-todos {
  background: #fff;
  border: 1px solid #e0e0d8;
}
.hn-todo {
  display: flex;
  gap: 8px;
  padding: 6px 10px;
  border-bottom: 1px solid #f0f0e8;
  font-size: 9pt;
}
.hn-todo:last-child {
  border-bottom: none;
}
.hn-todo-check {
  color: #888;
}
.hn-todo-text {
  flex: 1;
  color: #444;
}
.hn-todo-src {
  font-size: 8pt;
  color: #999;
}
.hn-empty {
  padding: 30px;
  text-align: center;
  color: #444;
  font-size: 10pt;
  border: 1px dashed #333;
}
.hn-pin-form {
  max-width: 400px;
  margin: 100px auto;
  background: linear-gradient(135deg, #1a1a2e 0%, #0d0d15 100%);
  border: 2px solid #00ff88;
  padding: 40px;
  box-shadow: 0 0 50px rgba(0, 255, 136, 0.3);
}
.hn-pin-form h2 {
  font-family: "VT323", monospace;
  font-size: 28pt;
  margin: 0 0 10px 0;
  color: #00ff88;
  text-shadow: 0 0 20px #00ff88;
  text-align: center;
  letter-spacing: 3px;
}
.hn-pin-form p {
  color: #666;
  text-align: center;
  margin-bottom: 20px;
}
.hn-pin-form input {
  width: 100%;
  padding: 15px;
  margin: 15px 0;
  border: 2px solid #333;
  background: #0a0a0f;
  color: #00ff88;
  font-size: 18pt;
  font-family: "VT323", monospace;
  text-align: center;
  letter-spacing: 5px;
}
.hn-pin-form input:focus {
  outline: none;
  border-color: #00ff88;
  box-shadow: 0 0 20px rgba(0, 255, 136, 0.3);
}
.hn-pin-form button {
  width: 100%;
  background: transparent;
  color: #00ff88;
  border: 2px solid #00ff88;
  padding: 15px;
  cursor: pointer;
  font-size: 14pt;
  font-family: "VT323", monospace;
  letter-spacing: 3px;
  text-transform: uppercase;
  transition: all 0.2s;
}
.hn-pin-form button:hover {
  background: #00ff88;
  color: #000;
  box-shadow: 0 0 30px #00ff88;
}
.hn-filter-banner {
  padding: 8px 10px;
  background: #fff3cd;
  border: 1px solid #ffc107;
  margin-bottom: 10px;
  font-size: 9pt;
}
.hn-filter-clear {
  color: #ff6600;
  cursor: pointer;
  margin-left: 10px;
}
.hn-filter-clear:hover {
  text-decoration: underline;
}
.hn-sync-cards {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 12px;
  margin-bottom: 15px;
  max-width: 900px;
}
.hn-sync-card {
  background: linear-gradient(135deg, #1a1a2e 0%, #0d0d15 100%);
  border: 2px solid #333;
  padding: 15px 18px;
  cursor: pointer;
  transition: all 0.3s ease;
  position: relative;
  overflow: hidden;
  min-height: 100px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.hn-sync-card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 15px;
  height: 15px;
  border-top: 2px solid;
  border-left: 2px solid;
  border-color: inherit;
}
.hn-sync-card::after {
  content: "";
  position: absolute;
  bottom: 0;
  right: 0;
  width: 15px;
  height: 15px;
  border-bottom: 2px solid;
  border-right: 2px solid;
  border-color: inherit;
}
.hn-sync-card:hover {
  transform: scale(1.02);
}
.hn-sync-card:nth-child(1) {
  border-color: #00aaff;
}
.hn-sync-card:nth-child(1):hover,
.hn-sync-card:nth-child(1).behind {
  box-shadow: 0 0 30px rgba(0, 170, 255, 0.5), inset 0 0 30px rgba(0, 170, 255, 0.1);
}
.hn-sync-card:nth-child(1) .hn-sync-bot {
  color: #00aaff;
  text-shadow: 0 0 10px #00aaff;
}
.hn-sync-card:nth-child(2) {
  border-color: #00ff88;
}
.hn-sync-card:nth-child(2):hover,
.hn-sync-card:nth-child(2).behind {
  box-shadow: 0 0 30px rgba(0, 255, 136, 0.5), inset 0 0 30px rgba(0, 255, 136, 0.1);
}
.hn-sync-card:nth-child(2) .hn-sync-bot {
  color: #00ff88;
  text-shadow: 0 0 10px #00ff88;
}
.hn-sync-card:nth-child(3) {
  border-color: #ff8800;
}
.hn-sync-card:nth-child(3):hover,
.hn-sync-card:nth-child(3).behind {
  box-shadow: 0 0 30px rgba(255, 136, 0, 0.5), inset 0 0 30px rgba(255, 136, 0, 0.1);
}
.hn-sync-card:nth-child(3) .hn-sync-bot {
  color: #ff8800;
  text-shadow: 0 0 10px #ff8800;
}
.hn-sync-card:nth-child(4) {
  border-color: #aa55ff;
}
.hn-sync-card:nth-child(4):hover,
.hn-sync-card:nth-child(4).behind {
  box-shadow: 0 0 30px rgba(170, 85, 255, 0.5), inset 0 0 30px rgba(170, 85, 255, 0.1);
}
.hn-sync-card:nth-child(4) .hn-sync-bot {
  color: #aa55ff;
  text-shadow: 0 0 10px #aa55ff;
}
.hn-sync-card.behind {
  animation: pulse-glow 2s ease-in-out infinite;
}
@keyframes pulse-glow {
  0%, 100% {
    opacity: 1;
  }
  50% {
    opacity: 0.7;
  }
}
.hn-sync-bot {
  font-family: "VT323", monospace;
  font-size: 18pt;
  margin-bottom: 6px;
  letter-spacing: 2px;
}
.hn-sync-status {
  font-size: 11pt;
  margin-bottom: 4px;
}
.hn-sync-status.synced {
  color: #00ff88;
}
.hn-sync-status.behind {
  color: #ffaa00;
}
.hn-sync-status.offline {
  color: #ff4444;
}
.hn-sync-time {
  font-size: 9pt;
  color: #888;
}
.hn-sync-from {
  font-size: 9pt;
  color: #aaa;
  margin-top: 4px;
}
.hn-modal-overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.5);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1000;
}
.hn-modal {
  background: #fff;
  border: 1px solid #ccc;
  border-radius: 4px;
  max-width: 500px;
  width: 90%;
  max-height: 80vh;
  overflow: auto;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.2);
}
.hn-modal-header {
  background: #ff6600;
  color: #fff;
  padding: 10px 15px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-weight: bold;
}
.hn-modal-close {
  background: none;
  border: none;
  color: #fff;
  font-size: 20px;
  cursor: pointer;
  padding: 0 5px;
}
.hn-modal-close:hover {
  color: #000;
}
.hn-modal-body {
  padding: 15px;
}
.hn-modal-body p {
  margin: 0 0 10px 0;
  font-size: 10pt;
}
.hn-unread-list {
  background: #f6f6ef;
  border: 1px solid #e0e0d8;
  padding: 8px;
  margin: 10px 0;
}
.hn-unread-item {
  display: flex;
  justify-content: space-between;
  padding: 4px 0;
  font-size: 9pt;
  border-bottom: 1px solid #e0e0d8;
}
.hn-unread-item:last-child {
  border-bottom: none;
}
.hn-unread-file {
  font-family: monospace;
  color: #333;
}
.hn-unread-count {
  color: #d97706;
  font-weight: bold;
}
.hn-catchup-prompt {
  margin-top: 15px;
}
.hn-catchup-prompt label {
  display: block;
  font-size: 9pt;
  color: #666;
  margin-bottom: 5px;
}
.hn-catchup-prompt textarea {
  width: 100%;
  min-height: 120px;
  font-family: monospace;
  font-size: 9pt;
  padding: 8px;
  border: 1px solid #ccc;
  background: #f9f9f9;
  resize: vertical;
}
.hn-catchup-prompt button {
  margin-top: 8px;
  background: #ff6600;
  color: #fff;
  border: none;
  padding: 8px 16px;
  cursor: pointer;
  font-size: 9pt;
}
.hn-catchup-prompt button:hover {
  background: #e55c00;
}
.hn-sync-detail {
  color: #888;
  font-size: 9pt;
}
.hn-warning-banner {
  background: #fef2f2;
  border: 1px solid #ef4444;
  border-left: 4px solid #ef4444;
  padding: 10px 15px;
  margin-bottom: 10px;
  font-size: 9pt;
  color: #991b1b;
}
.hn-warning-banner strong {
  color: #dc2626;
}
.hn-warning-banner ul {
  margin: 5px 0 5px 20px;
  padding: 0;
}
.hn-warning-banner li {
  margin: 2px 0;
}
.hn-warning-banner small {
  color: #666;
  font-style: italic;
}
@media (max-width: 767px) {
  .hn-sync-cards {
    flex-direction: column;
  }
  .hn-sync-card {
    min-width: auto;
    width: 100%;
  }
  .hn-stats {
    flex-direction: column;
    gap: 8px;
  }
  .hn-header {
    flex-wrap: wrap;
    padding: 8px 10px;
  }
  .hn-nav {
    flex-wrap: wrap;
    width: 100%;
    justify-content: flex-start;
    gap: 4px;
  }
  .hn-tabs {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  .hn-cycle {
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
  }
  .hn-cycle-btn {
    width: 100%;
    text-align: center;
  }
  .hn-modal {
    width: 95%;
    margin: 10px;
    max-height: 90vh;
  }
  .hn-clock-bar {
    flex-direction: column;
    align-items: flex-start;
    gap: 6px;
  }
  .hn-msg-header {
    flex-direction: column;
    gap: 2px;
  }
  .hn-tab-btn,
  .hn-cycle-btn,
  .hn-stat,
  .hn-sync-card,
  .hn-tab {
    min-height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
    -webkit-tap-highlight-color: transparent;
  }
  .hn-page {
    font-size: 11pt;
  }
  .hn-msg-body {
    font-size: 10pt;
  }
  .hn-pin-form {
    max-width: none;
    margin: 20px 10px;
  }
  .hn-prop {
    flex-direction: column;
    align-items: flex-start;
    gap: 4px;
  }
  .hn-prop-name {
    font-size: 10pt;
  }
  .hn-todo {
    flex-direction: column;
    align-items: flex-start;
  }
}
@media (min-width: 768px) {
  .hn-sync-cards {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
  }
  .hn-sync-card {
    min-width: 140px;
    flex: 1;
  }
  .hn-page {
    font-size: 10pt;
  }
}
.hn-gpt-heartbeat {
  margin-top: 4px;
  font-size: 9pt;
  padding: 2px 6px;
  background: rgba(249, 115, 22, 0.15);
  border-radius: 3px;
}
.gpt-countdown {
  color: #f97316;
  font-family: monospace;
}
.gpt-processing {
  color: #22c55e;
  animation: pulse 1s infinite;
}
.gpt-stopped {
  color: #6b7280;
}
.gpt-unknown {
  color: #ff6600;
}
@keyframes pulse {
  0%, 100% {
    opacity: 1;
  }
  50% {
    opacity: 0.5;
  }
}
.hn-conversation-view {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(5, 5, 10, 0.98);
  border: none;
  z-index: 900;
  display: flex;
  flex-direction: column;
}
.hn-conv-header {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 15px 20px;
  background: linear-gradient(90deg, rgba(0, 255, 136, 0.15), rgba(0, 170, 255, 0.15));
  border-bottom: 2px solid #00ff88;
  flex-shrink: 0;
}
.hn-conv-title {
  font-family: "VT323", monospace;
  font-size: 16pt;
  color: #00ff88;
  text-shadow: 0 0 10px #00ff88;
  letter-spacing: 2px;
}
.hn-conv-float-close {
  position: fixed;
  bottom: 30px;
  right: 30px;
  background: linear-gradient(135deg, #1a1a2e, #0d0d15);
  border: 2px solid #ff4444;
  color: #ff4444;
  padding: 15px 25px;
  cursor: pointer;
  font-family: "VT323", monospace;
  font-size: 14pt;
  letter-spacing: 2px;
  z-index: 1001;
  box-shadow: 0 0 30px rgba(255, 68, 68, 0.5);
  transition: all 0.2s;
}
.hn-conv-float-close:hover {
  background: #ff4444;
  color: #000;
  transform: scale(1.05);
  box-shadow: 0 0 40px #ff4444;
}
.hn-msg-thread-link {
  cursor: pointer;
  opacity: 0.6;
  transition: all 0.2s;
  padding: 4px 10px;
  margin-left: auto;
  font-size: 9pt;
  border: 1px solid #00aa66;
  color: #00aa66;
}
.hn-msg-thread-link:hover {
  opacity: 1;
  background: #00aa66;
  color: #000;
}
.hn-conv-messages {
  padding: 20px 40px;
  flex: 1;
  overflow-y: auto;
  max-width: 1200px;
  margin: 0 auto;
  width: 100%;
}
.hn-msg-conv {
  position: relative;
  margin: 15px 0;
  padding: 15px;
  background: rgba(0, 0, 0, 0.3);
  border: 1px solid #333;
}
.hn-msg-conv.from-claude {
  border-left: 4px solid #00aaff;
  background: rgba(0, 170, 255, 0.05);
}
.hn-msg-conv.from-gemini {
  border-left: 4px solid #00ff88;
  background: rgba(0, 255, 136, 0.05);
}
.hn-msg-conv.from-gpt {
  border-left: 4px solid #ff8800;
  background: rgba(255, 136, 0, 0.05);
}
.hn-msg-conv.from-kimi {
  border-left: 4px solid #aa55ff;
  background: rgba(170, 85, 255, 0.05);
}
.hn-msg-conv .hn-msg-header {
  margin-bottom: 10px;
  padding-bottom: 8px;
  border-bottom: 1px solid #333;
}
.hn-msg-conv .hn-msg-body {
  max-height: none;
  overflow: visible;
  white-space: pre-wrap;
  font-family: "Share Tech Mono", monospace;
  font-size: 11pt;
  line-height: 1.7;
  color: #bbb;
}
.hn-msg-conv .hn-msg-subject {
  font-family: "VT323", monospace;
  font-size: 14pt;
  color: #00ff88;
  text-shadow: 0 0 5px rgba(0, 255, 136, 0.5);
  margin-bottom: 8px;
}

/* css/admin.css */
:root {
  --admin-bg: #1a1a2e;
  --admin-bg-alt: #16213e;
  --admin-surface: #1f2937;
  --admin-surface-hover: #374151;
  --admin-border: #374151;
  --admin-accent: #e94560;
  --admin-accent-hover: #ff6b6b;
  --admin-primary: #3b82f6;
  --admin-primary-hover: #60a5fa;
  --admin-text: #f3f4f6;
  --admin-text-muted: #9ca3af;
  --admin-text-dim: #6b7280;
  --admin-success: #10b981;
  --admin-success-bg: rgba(16, 185, 129, 0.1);
  --admin-warning: #f59e0b;
  --admin-warning-bg: rgba(245, 158, 11, 0.1);
  --admin-error: #ef4444;
  --admin-error-bg: rgba(239, 68, 68, 0.1);
  --admin-info: #3b82f6;
  --admin-info-bg: rgba(59, 130, 246, 0.1);
  --space-1: 0.25rem;
  --space-2: 0.5rem;
  --space-3: 0.75rem;
  --space-4: 1rem;
  --space-5: 1.25rem;
  --space-6: 1.5rem;
  --space-8: 2rem;
  --space-10: 2.5rem;
  --space-12: 3rem;
  --admin-font:
    -apple-system,
    BlinkMacSystemFont,
    "Segoe UI",
    Roboto,
    "Helvetica Neue",
    Arial,
    sans-serif;
  --admin-font-mono:
    "SF Mono",
    "Monaco",
    "Inconsolata",
    "Fira Code",
    monospace;
  --admin-text-xs: 0.75rem;
  --admin-text-sm: 0.875rem;
  --admin-text-base: 1rem;
  --admin-text-lg: 1.125rem;
  --admin-text-xl: 1.25rem;
  --admin-text-2xl: 1.5rem;
  --admin-text-3xl: 1.875rem;
  --admin-radius: 8px;
  --admin-radius-sm: 4px;
  --admin-radius-lg: 12px;
  --admin-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.3), 0 2px 4px -1px rgba(0, 0, 0, 0.2);
  --admin-shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.3), 0 4px 6px -2px rgba(0, 0, 0, 0.2);
  --admin-transition: 150ms ease-in-out;
}
.admin-layout {
  min-height: 100vh;
  min-height: 100dvh;
  background: var(--admin-bg);
  color: var(--admin-text);
  font-family: var(--admin-font);
  font-size: var(--admin-text-base);
  line-height: 1.5;
  padding-left: env(safe-area-inset-left);
  padding-right: env(safe-area-inset-right);
  padding-bottom: env(safe-area-inset-bottom);
}
.admin-layout * {
  box-sizing: border-box;
}
.admin-nav {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  padding: var(--space-3) var(--space-4);
  background: var(--admin-bg-alt);
  border-bottom: 1px solid var(--admin-border);
  position: sticky;
  top: 0;
  z-index: 1000;
}
.admin-nav-brand {
  font-weight: 700;
  font-size: var(--admin-text-lg);
  color: var(--admin-accent);
  text-decoration: none;
  padding: var(--space-2) var(--space-3);
  margin-right: var(--space-4);
}
.admin-nav-brand:hover {
  color: var(--admin-accent-hover);
}
.admin-nav-dropdown {
  position: relative;
}
.admin-nav-dropdown-trigger {
  display: flex;
  align-items: center;
  gap: var(--space-1);
  padding: var(--space-2) var(--space-3);
  color: var(--admin-text-muted);
  background: transparent;
  border: none;
  border-radius: var(--admin-radius-sm);
  cursor: pointer;
  font-size: var(--admin-text-sm);
  font-family: inherit;
  transition: all var(--admin-transition);
}
.admin-nav-dropdown-trigger:hover,
.admin-nav-dropdown-trigger.active {
  color: var(--admin-text);
  background: var(--admin-surface);
}
.admin-nav-dropdown-trigger::after {
  content: "";
  border: 4px solid transparent;
  border-top-color: currentColor;
  margin-top: 2px;
}
.admin-nav-dropdown-menu {
  position: absolute;
  top: 100%;
  left: 0;
  min-width: 180px;
  background: var(--admin-surface);
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius);
  box-shadow: var(--admin-shadow-lg);
  padding: var(--space-2) 0;
  opacity: 0;
  visibility: hidden;
  transform: translateY(-8px);
  transition: all var(--admin-transition);
  z-index: 9999;
}
.admin-nav-dropdown:hover .admin-nav-dropdown-menu {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}
.admin-nav-dropdown-item {
  display: flex;
  flex-direction: column;
  padding: var(--space-2) var(--space-4);
  color: var(--admin-text-muted);
  text-decoration: none;
  font-size: var(--admin-text-sm);
  transition: all var(--admin-transition);
}
.admin-nav-dropdown-item:hover {
  color: var(--admin-text);
  background: var(--admin-surface-hover);
}
.admin-nav-dropdown-item.active {
  color: var(--admin-accent);
  background: var(--admin-surface-hover);
}
.admin-nav-item {
  padding: var(--space-2) var(--space-3);
  color: var(--admin-text-muted);
  text-decoration: none;
  border-radius: var(--admin-radius-sm);
  font-size: var(--admin-text-sm);
  transition: all var(--admin-transition);
}
.admin-nav-item:hover {
  color: var(--admin-text);
  background: var(--admin-surface);
}
.admin-nav-item.active {
  color: var(--admin-accent);
  background: var(--admin-surface);
}
.admin-nav-spacer {
  flex: 1;
}
.admin-nav-back {
  padding: var(--space-2) var(--space-3);
  color: var(--admin-text-dim);
  text-decoration: none;
  font-size: var(--admin-text-sm);
  transition: color var(--admin-transition);
}
.admin-nav-back:hover {
  color: var(--admin-text);
}
.admin-nav-left {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  flex: 1;
  flex-wrap: wrap;
}
.admin-nav-center {
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
}
.admin-nav-right {
  display: flex;
  align-items: center;
  gap: var(--space-2);
}
.admin-nav-top {
  display: contents;
}
.admin-nav-toggle-input {
  display: none;
}
.admin-nav-hamburger {
  display: none;
}
.admin-nav-body {
  display: contents;
}
@media (max-width: 767px) {
  .admin-nav {
    flex-wrap: wrap;
    padding: var(--space-2) var(--space-3);
    gap: 0;
  }
  .admin-nav-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
  }
  .admin-nav-hamburger {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: stretch;
    gap: 5px;
    min-width: 28px;
    width: 28px;
    height: 28px;
    cursor: pointer;
    padding: 4px;
    flex-shrink: 0;
  }
  .admin-nav-hamburger span {
    display: block;
    height: 2px;
    background: #e5e7eb;
    border-radius: 1px;
    transition: all 0.25s ease;
  }
  .admin-nav-toggle-input:checked ~ .admin-nav-top .admin-nav-hamburger span:nth-child(1) {
    transform: rotate(45deg) translate(5px, 5px);
  }
  .admin-nav-toggle-input:checked ~ .admin-nav-top .admin-nav-hamburger span:nth-child(2) {
    opacity: 0;
  }
  .admin-nav-toggle-input:checked ~ .admin-nav-top .admin-nav-hamburger span:nth-child(3) {
    transform: rotate(-45deg) translate(5px, -5px);
  }
  .admin-nav-body {
    display: none;
    width: 100%;
    flex-direction: column;
    gap: var(--space-1);
    padding-top: var(--space-2);
    border-top: 1px solid var(--admin-border);
    margin-top: var(--space-2);
  }
  .admin-nav-toggle-input:checked ~ .admin-nav-body {
    display: flex;
  }
  .admin-nav-left {
    flex-direction: column;
    gap: 0;
    align-items: stretch;
  }
  .admin-nav-right {
    flex-direction: row;
    justify-content: space-between;
    border-top: 1px solid var(--admin-border);
    padding-top: var(--space-2);
    margin-top: var(--space-2);
  }
  .admin-nav-dropdown-trigger {
    display: none;
  }
  .admin-nav-dropdown-menu {
    position: static;
    opacity: 1;
    visibility: visible;
    transform: none;
    background: transparent;
    border: none;
    box-shadow: none;
    padding: 0;
    display: flex;
    flex-direction: column;
  }
  .admin-nav-dropdown-item {
    padding: var(--space-2) var(--space-3);
    border-radius: var(--admin-radius-sm);
  }
  .admin-nav-dropdown-item:hover {
    background: var(--admin-surface);
  }
}
.admin-nav-caret {
  font-size: 0.7em;
  opacity: 0.7;
  margin-left: var(--space-1);
}
.admin-nav-dropdown-icon {
  display: inline;
  margin-right: var(--space-2);
}
.admin-nav-dropdown-desc {
  display: block;
  font-size: var(--admin-text-xs);
  color: var(--admin-text-dim);
  margin-top: var(--space-1);
  padding-left: calc(var(--space-4) + 4px);
}
.admin-nav-dropdown-item:hover .admin-nav-dropdown-desc {
  color: var(--admin-text-muted);
}
.admin-nav-logout {
  color: var(--admin-text-dim);
  padding: var(--space-2) var(--space-3);
  text-decoration: none;
  font-size: var(--admin-text-sm);
  border-radius: var(--admin-radius-sm);
  transition: all var(--admin-transition);
}
.admin-nav-logout:hover {
  color: var(--admin-error);
  background: var(--admin-error-bg);
}
.admin-main {
  padding: var(--space-6);
  max-width: 1600px;
  margin: 0 auto;
}
.admin-content {
  padding: var(--space-6);
  max-width: 1600px;
  margin: 0 auto;
}
.admin-header {
  margin-bottom: var(--space-6);
}
.admin-title {
  font-size: var(--admin-text-2xl);
  font-weight: 700;
  color: var(--admin-text);
  margin: 0 0 var(--space-2) 0;
}
.admin-subtitle {
  font-size: var(--admin-text-base);
  color: var(--admin-text-muted);
  margin: 0;
}
.admin-grid {
  display: grid;
  gap: var(--space-4);
}
.admin-grid-2 {
  grid-template-columns: repeat(2, 1fr);
}
.admin-grid-3 {
  grid-template-columns: repeat(3, 1fr);
}
.admin-grid-4 {
  grid-template-columns: repeat(4, 1fr);
}
.admin-flex {
  display: flex;
  gap: var(--space-4);
}
.admin-flex-col {
  flex-direction: column;
}
.admin-flex-wrap {
  flex-wrap: wrap;
}
.admin-flex-1 {
  flex: 1;
}
.admin-card {
  background: var(--admin-surface);
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius);
  box-shadow: var(--admin-shadow);
  overflow: hidden;
}
.admin-card-header {
  padding: var(--space-4);
  border-bottom: 1px solid var(--admin-border);
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.admin-card-title {
  font-size: var(--admin-text-lg);
  font-weight: 600;
  color: var(--admin-text);
  margin: 0;
}
.admin-card-body {
  padding: var(--space-4);
}
.admin-card-footer {
  padding: var(--space-3) var(--space-4);
  border-top: 1px solid var(--admin-border);
  background: var(--admin-bg-alt);
}
.admin-stats-grid {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: var(--space-4);
  margin-bottom: var(--space-6);
}
.admin-stat-card {
  background: var(--admin-surface);
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius);
  padding: var(--space-4);
  text-align: center;
  text-decoration: none;
  display: block;
  transition: all var(--admin-transition);
}
.admin-stat-card:hover {
  border-color: var(--admin-primary);
  background: var(--admin-bg-alt);
  transform: translateY(-2px);
  box-shadow: var(--admin-shadow);
}
.admin-stat-card:hover .admin-stat-value {
  color: var(--admin-primary);
}
.admin-stat-value {
  font-size: var(--admin-text-3xl);
  font-weight: 700;
  color: var(--admin-text);
  line-height: 1.2;
  transition: color var(--admin-transition);
}
.admin-stat-label {
  font-size: var(--admin-text-sm);
  color: var(--admin-text-muted);
  margin-top: var(--space-1);
}
.admin-stat-card.success {
  border-left: 4px solid var(--admin-success);
}
.admin-stat-card.warning {
  border-left: 4px solid var(--admin-warning);
}
.admin-stat-card.error {
  border-left: 4px solid var(--admin-error);
}
.admin-stat-card.info {
  border-left: 4px solid var(--admin-info);
}
.admin-stat-card.streaming-live,
.admin-card.streaming-live {
  border-left: 4px solid #ff4040;
  animation: streaming-pulse 2s infinite;
}
@keyframes streaming-pulse {
  0%, 100% {
    background: var(--admin-surface);
  }
  50% {
    background: rgba(255, 64, 64, 0.1);
  }
}
.admin-table {
  width: 100%;
  border-collapse: collapse;
  font-size: var(--admin-text-sm);
}
.admin-table th,
.admin-table td {
  padding: var(--space-3) var(--space-4);
  text-align: left;
  border-bottom: 1px solid var(--admin-border);
}
.admin-table th {
  font-weight: 600;
  color: var(--admin-text-muted);
  background: var(--admin-bg-alt);
  text-transform: uppercase;
  font-size: var(--admin-text-xs);
  letter-spacing: 0.05em;
}
.admin-table tbody tr:hover {
  background: var(--admin-surface-hover);
}
.admin-table tbody tr:last-child td {
  border-bottom: none;
}
.admin-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-2);
  padding: var(--space-2) var(--space-4);
  font-size: var(--admin-text-sm);
  font-weight: 500;
  font-family: inherit;
  border-radius: var(--admin-radius-sm);
  border: 1px solid transparent;
  cursor: pointer;
  transition: all var(--admin-transition);
  text-decoration: none;
}
.admin-btn:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}
.admin-btn-primary {
  background: var(--admin-primary);
  color: white;
}
.admin-btn-primary:hover:not(:disabled) {
  background: var(--admin-primary-hover);
}
.admin-btn-accent {
  background: var(--admin-accent);
  color: white;
}
.admin-btn-accent:hover:not(:disabled) {
  background: var(--admin-accent-hover);
}
.admin-btn-secondary {
  background: var(--admin-surface);
  color: var(--admin-text);
  border-color: var(--admin-border);
}
.admin-btn-secondary:hover:not(:disabled) {
  background: var(--admin-surface-hover);
}
.admin-btn-danger {
  background: var(--admin-error);
  color: white;
}
.admin-btn-danger:hover:not(:disabled) {
  background: #dc2626;
}
.admin-btn-sm {
  padding: var(--space-1) var(--space-2);
  font-size: var(--admin-text-xs);
}
.admin-btn-lg {
  padding: var(--space-3) var(--space-6);
  font-size: var(--admin-text-base);
}
.admin-btn-success {
  background: var(--admin-success);
  border-color: var(--admin-success);
  color: white;
}
.admin-btn-success:hover:not(:disabled) {
  background: #16a34a;
}
.admin-btn-info {
  background: var(--admin-info);
  border-color: var(--admin-info);
  color: white;
}
.admin-btn-info:hover:not(:disabled) {
  background: #7c3aed;
}
.admin-btn-warning {
  background: var(--admin-warning);
  border-color: var(--admin-warning);
  color: #1f2937;
}
.admin-btn-warning:hover:not(:disabled) {
  background: #d97706;
}
.admin-form-group {
  margin-bottom: var(--space-4);
}
.admin-label {
  display: block;
  font-size: var(--admin-text-sm);
  font-weight: 500;
  color: var(--admin-text);
  margin-bottom: var(--space-2);
}
.admin-input,
.admin-select,
.admin-textarea {
  width: 100%;
  padding: var(--space-2) var(--space-3);
  font-size: var(--admin-text-base);
  font-family: inherit;
  color: var(--admin-text);
  background: var(--admin-bg);
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius-sm);
  transition: border-color var(--admin-transition), box-shadow var(--admin-transition);
}
.admin-input:focus,
.admin-select:focus,
.admin-textarea:focus {
  outline: none;
  border-color: var(--admin-primary);
  box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.2);
}
.admin-input::placeholder {
  color: var(--admin-text-dim);
}
.admin-textarea {
  min-height: 100px;
  resize: vertical;
}
.admin-badge {
  display: inline-flex;
  align-items: center;
  padding: var(--space-1) var(--space-2);
  font-size: var(--admin-text-xs);
  font-weight: 500;
  border-radius: 9999px;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}
.admin-badge-success {
  background: var(--admin-success-bg);
  color: var(--admin-success);
}
.admin-badge-warning {
  background: var(--admin-warning-bg);
  color: var(--admin-warning);
}
.admin-badge-error {
  background: var(--admin-error-bg);
  color: var(--admin-error);
}
.admin-badge-info {
  background: var(--admin-info-bg);
  color: var(--admin-info);
}
.admin-badge-neutral {
  background: var(--admin-surface);
  color: var(--admin-text-muted);
}
.admin-alert {
  padding: var(--space-3) var(--space-4);
  border-radius: var(--admin-radius);
  margin-bottom: var(--space-4);
  display: flex;
  align-items: flex-start;
  gap: var(--space-3);
}
.admin-alert-success {
  background: var(--admin-success-bg);
  border: 1px solid var(--admin-success);
  color: var(--admin-success);
}
.admin-alert-warning {
  background: var(--admin-warning-bg);
  border: 1px solid var(--admin-warning);
  color: var(--admin-warning);
}
.admin-alert-error {
  background: var(--admin-error-bg);
  border: 1px solid var(--admin-error);
  color: var(--admin-error);
}
.admin-alert-info {
  background: var(--admin-info-bg);
  border: 1px solid var(--admin-info);
  color: var(--admin-info);
}
.admin-empty {
  text-align: center;
  padding: var(--space-12) var(--space-4);
  color: var(--admin-text-muted);
}
.admin-empty-icon {
  font-size: 3rem;
  margin-bottom: var(--space-4);
  opacity: 0.5;
}
.admin-empty-title {
  font-size: var(--admin-text-lg);
  font-weight: 600;
  color: var(--admin-text);
  margin-bottom: var(--space-2);
}
.admin-empty-description {
  font-size: var(--admin-text-sm);
  margin-bottom: var(--space-4);
}
.admin-loading {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: var(--space-8);
}
.admin-spinner {
  width: 32px;
  height: 32px;
  border: 3px solid var(--admin-border);
  border-top-color: var(--admin-primary);
  border-radius: 50%;
  animation: admin-spin 0.8s linear infinite;
}
@keyframes admin-spin {
  to {
    transform: rotate(360deg);
  }
}
.admin-text-muted {
  color: var(--admin-text-muted);
}
.admin-text-success {
  color: var(--admin-success);
}
.admin-text-warning {
  color: var(--admin-warning);
}
.admin-text-error {
  color: var(--admin-error);
}
.admin-text-info {
  color: var(--admin-info);
}
.admin-text-accent {
  color: var(--admin-accent);
}
.admin-text-sm {
  font-size: var(--admin-text-sm);
}
.admin-text-xs {
  font-size: var(--admin-text-xs);
}
.admin-text-lg {
  font-size: var(--admin-text-lg);
}
.admin-font-mono {
  font-family: var(--admin-font-mono);
}
.admin-font-bold {
  font-weight: 700;
}
.admin-mt-2 {
  margin-top: var(--space-2);
}
.admin-mt-4 {
  margin-top: var(--space-4);
}
.admin-mb-2 {
  margin-bottom: var(--space-2);
}
.admin-mb-4 {
  margin-bottom: var(--space-4);
}
.admin-p-4 {
  padding: var(--space-4);
}
.admin-p-6 {
  padding: var(--space-6);
}
.admin-hidden {
  display: none !important;
}
.admin-text-dim {
  color: var(--admin-text-dim);
}
.admin-code {
  background: rgba(0, 0, 0, 0.2);
  padding: 2px 6px;
  border-radius: var(--admin-radius-sm);
  font-family: var(--admin-font-mono);
  font-size: var(--admin-text-sm);
}
.admin-card-link {
  display: block;
  text-decoration: none;
  color: inherit;
  transition: all var(--admin-transition);
}
.admin-card-link:hover {
  transform: translateY(-2px);
  border-color: var(--admin-primary);
  box-shadow: var(--admin-shadow-lg);
}
.admin-card-link h3 {
  margin: 0 0 var(--space-2) 0;
  color: var(--admin-text);
}
.admin-card-link p {
  margin: 0;
}
.admin-btn-block {
  display: block;
  width: 100%;
}
.admin-badge-lg {
  font-size: var(--admin-text-lg);
  padding: var(--space-3) var(--space-6);
}
.admin-dashboard-grid {
  display: grid;
  grid-template-columns: 1fr 380px;
  gap: var(--space-6);
  margin-top: var(--space-4);
}
.admin-dashboard-main {
  min-width: 0;
}
.admin-dashboard-sidebar {
  min-width: 0;
}
@media (max-width: 1400px) {
  .admin-stats-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media (max-width: 1024px) {
  .admin-stats-grid {
    grid-template-columns: repeat(3, 1fr);
  }
  .admin-dashboard-grid {
    grid-template-columns: 1fr;
  }
  .admin-grid-4 {
    grid-template-columns: repeat(2, 1fr);
  }
  .admin-grid-3 {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 768px) {
  .admin-layout {
    min-height: 100dvh;
  }
  .admin-main {
    overflow-x: hidden;
    max-width: 100vw;
  }
}
@media (min-width: 481px) and (max-width: 768px) {
  .admin-nav {
    flex-wrap: nowrap;
    padding: var(--space-1) var(--space-2);
    gap: var(--space-1);
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }
  .admin-nav::-webkit-scrollbar {
    display: none;
  }
  .admin-nav-left {
    display: flex;
    align-items: center;
    gap: var(--space-1);
    flex: 1;
    min-width: 0;
  }
  .admin-nav-right {
    display: flex;
    align-items: center;
    gap: var(--space-1);
    flex-shrink: 0;
  }
  .admin-nav-brand {
    font-size: var(--admin-text-sm);
    padding: var(--space-1) var(--space-2);
    margin-right: var(--space-1);
    flex-shrink: 0;
  }
  .admin-nav-dropdown,
  .admin-nav-item {
    flex-shrink: 0;
  }
  .admin-nav-dropdown-trigger,
  .admin-nav-item {
    font-size: 11px;
    padding: var(--space-1) var(--space-2);
    min-height: 36px;
    white-space: nowrap;
  }
  .admin-nav-caret {
    display: none;
  }
  .admin-nav-spacer {
    display: none;
  }
  .admin-nav-dropdown-desc {
    display: none;
  }
  .admin-nav-back,
  .admin-nav-logout {
    font-size: 11px;
    padding: var(--space-1) var(--space-2);
  }
  .admin-nav-dropdown-trigger {
    display: none;
  }
  .admin-nav-dropdown-menu {
    position: static;
    display: flex;
    opacity: 1;
    visibility: visible;
    transform: none;
    background: transparent;
    border: none;
    box-shadow: none;
    padding: 0;
    min-width: auto;
  }
  .admin-nav-dropdown-item {
    padding: var(--space-1) var(--space-2);
    font-size: 11px;
    white-space: nowrap;
  }
  .admin-main {
    padding: var(--space-2);
  }
  .admin-content {
    padding: var(--space-2);
  }
  .admin-stats-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: var(--space-2);
  }
  .admin-grid-2,
  .admin-grid-3,
  .admin-grid-4 {
    grid-template-columns: 1fr;
  }
  .admin-flex:not(.admin-flex-col) {
    flex-direction: column;
  }
  .admin-table-wrapper {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  .admin-btn {
    min-height: 44px;
    padding: var(--space-2) var(--space-3);
  }
  .admin-header h1,
  .admin-title {
    font-size: var(--admin-text-lg);
  }
  .admin-subtitle {
    font-size: var(--admin-text-xs);
  }
  .admin-stat-card {
    padding: var(--space-2);
  }
  .admin-stat-value {
    font-size: var(--admin-text-lg);
  }
  .admin-stat-label {
    font-size: 10px;
  }
  .admin-section-title {
    font-size: var(--admin-text-sm);
    margin-bottom: var(--space-2);
  }
  .admin-grid-3 {
    grid-template-columns: repeat(2, 1fr);
    gap: var(--space-2);
  }
  .admin-card {
    padding: var(--space-3);
  }
  .admin-card h3 {
    font-size: var(--admin-text-sm);
  }
  .admin-card p {
    font-size: var(--admin-text-xs);
  }
}
@media (max-width: 480px) {
  .admin-stats-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .admin-grid-3 {
    grid-template-columns: 1fr;
  }
  .admin-nav-dropdown-trigger,
  .admin-nav-item {
    font-size: 10px;
    padding: 6px 8px;
    min-height: 32px;
  }
  .admin-nav-brand {
    font-size: 12px;
    padding: 6px 8px;
  }
}
@media (max-height: 500px) and (orientation: landscape) {
  .admin-nav {
    padding: 4px var(--space-2);
  }
  .admin-nav-dropdown-trigger,
  .admin-nav-item {
    min-height: 28px;
    padding: 4px 8px;
    font-size: 11px;
  }
  .admin-nav-brand {
    font-size: 12px;
    padding: 4px 8px;
  }
  .admin-main {
    padding: var(--space-2);
  }
  .admin-stats-grid {
    grid-template-columns: repeat(6, 1fr);
    gap: var(--space-2);
  }
  .admin-stat-card {
    padding: var(--space-2);
  }
  .admin-stat-value {
    font-size: var(--admin-text-base);
  }
  .admin-stat-label {
    font-size: 9px;
  }
}
@media (max-width: 450px) and (min-height: 800px) {
  .admin-stats-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .admin-grid-3 {
    grid-template-columns: 1fr;
  }
  .admin-section {
    margin-bottom: var(--space-4);
  }
}
.admin-stat-value {
  font-size: var(--admin-text-2xl);
}
} .fallback-mode-selector {
  display: flex;
  align-items: center;
  gap: var(--space-2);
}
.admin-label-inline {
  font-size: var(--admin-text-sm);
  color: var(--admin-text-muted);
  white-space: nowrap;
}
.admin-select {
  padding: var(--space-2) var(--space-3);
  padding-right: var(--space-6);
  font-size: var(--admin-text-sm);
  background: var(--admin-surface);
  color: var(--admin-text);
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius-sm);
  cursor: pointer;
  appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%239ca3af' d='M3 4l3 3 3-3'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 8px center;
}
.admin-select:hover {
  border-color: var(--admin-primary);
}
.admin-select:focus {
  outline: none;
  border-color: var(--admin-primary);
  box-shadow: 0 0 0 2px rgba(59, 130, 246, 0.2);
}
.admin-select-warning {
  border-color: var(--admin-warning);
  background-color: rgba(245, 158, 11, 0.1);
}
.admin-select-danger {
  border-color: var(--admin-error);
  background-color: rgba(239, 68, 68, 0.1);
}
.admin-select-info {
  border-color: var(--admin-info);
  background-color: rgba(59, 130, 246, 0.1);
}
.worker-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
  gap: var(--space-4);
}
.worker-card {
  background: var(--admin-bg);
  border: 1px solid var(--admin-border);
  border-radius: var(--radius-lg);
  padding: var(--space-4);
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.worker-card.worker-online {
  border-left: 3px solid #22c55e;
}
.worker-card.worker-offline {
  border-left: 3px solid #ef4444;
  opacity: 0.8;
}
.worker-card:hover {
  border-color: var(--admin-border-active);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
}
.worker-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: var(--space-3);
}
.worker-identity {
  display: flex;
  align-items: center;
  gap: var(--space-2);
}
.worker-status-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  flex-shrink: 0;
}
.worker-status-dot.online {
  background: #22c55e;
  box-shadow: 0 0 6px rgba(34, 197, 94, 0.6);
}
.worker-status-dot.offline {
  background: #ef4444;
}
.worker-name {
  font-weight: 600;
  font-size: 15px;
  color: var(--admin-text);
}
.worker-meta {
  display: flex;
  align-items: center;
  gap: var(--space-2);
}
.worker-source {
  font-size: 10px;
  font-weight: 500;
  color: var(--admin-text-muted);
  background: var(--admin-bg-subtle);
  padding: 2px 6px;
  border-radius: var(--radius-sm);
  text-transform: uppercase;
  letter-spacing: 0.5px;
}
.worker-latency {
  font-size: 11px;
  color: #22c55e;
  font-weight: 500;
  font-family: var(--font-mono);
}
.worker-specs {
  margin-bottom: var(--space-3);
  padding: var(--space-2) var(--space-3);
  background: var(--admin-bg-subtle);
  border-radius: var(--radius-md);
}
.worker-spec-main {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  margin-bottom: 4px;
}
.spec-icon {
  color: #22c55e;
  font-size: 12px;
}
.spec-value {
  font-size: 13px;
  font-weight: 500;
  color: var(--admin-text);
  flex: 1;
}
.spec-vram {
  font-size: 12px;
  font-weight: 600;
  color: #60a5fa;
  background: rgba(96, 165, 250, 0.15);
  padding: 2px 6px;
  border-radius: var(--radius-sm);
  font-family: var(--font-mono);
}
.worker-endpoint {
  font-size: 11px;
  color: var(--admin-text-muted);
  font-family: var(--font-mono);
}
.worker-caps {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  margin-bottom: var(--space-3);
}
.cap-badge {
  font-size: 10px;
  font-weight: 500;
  padding: 3px 8px;
  border-radius: var(--radius-sm);
  text-transform: lowercase;
  letter-spacing: 0.3px;
}
.cap-vision {
  background: rgba(139, 92, 246, 0.2);
  color: #a78bfa;
  border: 1px solid rgba(139, 92, 246, 0.3);
}
.cap-llm {
  background: rgba(34, 197, 94, 0.15);
  color: #4ade80;
  border: 1px solid rgba(34, 197, 94, 0.3);
}
.cap-other {
  background: rgba(148, 163, 184, 0.15);
  color: #94a3b8;
  border: 1px solid rgba(148, 163, 184, 0.3);
}
.worker-error {
  font-size: 11px;
  color: #fca5a5;
  background: rgba(239, 68, 68, 0.15);
  border: 1px solid rgba(239, 68, 68, 0.3);
  padding: var(--space-2) var(--space-3);
  border-radius: var(--radius-md);
  font-family: var(--font-mono);
  margin-bottom: var(--space-3);
}
.worker-actions {
  padding-top: var(--space-3);
  border-top: 1px solid var(--admin-border);
}
@media (max-width: 768px) {
  .worker-grid {
    grid-template-columns: 1fr;
  }
  .worker-card {
    padding: var(--space-3);
  }
}
.cap-toggle {
  font-size: 10px;
  font-weight: 500;
  padding: 4px 10px;
  border-radius: var(--radius-sm);
  text-transform: lowercase;
  letter-spacing: 0.3px;
  border: none;
  cursor: pointer;
  transition: all 0.15s ease;
}
.cap-toggle:hover {
  transform: scale(1.05);
}
.cap-toggle.cap-disabled {
  opacity: 0.4;
  text-decoration: line-through;
}
.cap-toggle.cap-vision {
  background: rgba(139, 92, 246, 0.2);
  color: #a78bfa;
}
.cap-toggle.cap-vision:hover {
  background: rgba(139, 92, 246, 0.35);
}
.cap-toggle.cap-llm {
  background: rgba(34, 197, 94, 0.15);
  color: #4ade80;
}
.cap-toggle.cap-llm:hover {
  background: rgba(34, 197, 94, 0.3);
}
.cap-toggle.cap-other {
  background: rgba(148, 163, 184, 0.15);
  color: #94a3b8;
}
.cap-toggle.cap-other:hover {
  background: rgba(148, 163, 184, 0.3);
}
.worker-error-box {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  margin-bottom: var(--space-3);
}
.worker-error-box .worker-error {
  flex: 1;
  margin-bottom: 0;
}
.worker-retry-btn {
  background: rgba(239, 68, 68, 0.2);
  color: #fca5a5;
  border: 1px solid rgba(239, 68, 68, 0.3);
  padding: 4px 10px;
  border-radius: var(--radius-sm);
  font-size: 11px;
  cursor: pointer;
  transition: all 0.15s ease;
  white-space: nowrap;
}
.worker-retry-btn:hover {
  background: rgba(239, 68, 68, 0.35);
  color: #fff;
}
.worker-actions {
  display: flex;
  gap: var(--space-2);
  padding-top: var(--space-3);
  border-top: 1px solid var(--admin-border);
  flex-wrap: wrap;
}
.worker-toggle-btn,
.worker-test-btn,
.worker-remove-btn {
  font-size: 11px;
  padding: 6px 12px;
  border-radius: var(--radius-sm);
  cursor: pointer;
  transition: all 0.15s ease;
  border: 1px solid transparent;
}
.worker-toggle-btn {
  background: rgba(34, 197, 94, 0.15);
  color: #4ade80;
  border-color: rgba(34, 197, 94, 0.3);
}
.worker-toggle-btn:hover {
  background: rgba(34, 197, 94, 0.3);
}
.worker-toggle-btn.disabled {
  background: rgba(251, 191, 36, 0.15);
  color: #fbbf24;
  border-color: rgba(251, 191, 36, 0.3);
}
.worker-test-btn {
  background: rgba(96, 165, 250, 0.15);
  color: #60a5fa;
  border-color: rgba(96, 165, 250, 0.3);
}
.worker-test-btn:hover {
  background: rgba(96, 165, 250, 0.3);
}
.worker-remove-btn {
  background: rgba(239, 68, 68, 0.1);
  color: #f87171;
  border-color: rgba(239, 68, 68, 0.2);
}
.worker-remove-btn:hover {
  background: rgba(239, 68, 68, 0.25);
}
.capability-legend {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-4);
  padding: var(--space-3) var(--space-4);
  background: var(--admin-surface);
  border-radius: var(--admin-radius);
  margin-bottom: var(--space-4);
  font-size: 12px;
}
.legend-item {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  color: var(--admin-text-muted);
}
.legend-item .cap-badge {
  font-size: 9px;
  padding: 2px 6px;
}
@media (max-width: 768px) {
  .capability-legend {
    flex-direction: column;
    gap: var(--space-2);
  }
}
.worker-section-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: var(--space-3);
}
.worker-refresh-btn {
  background: var(--admin-surface);
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius);
  color: var(--admin-text-muted);
  padding: 8px 20px;
  font-size: 16px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.15s ease;
  min-height: 44px;
}
.worker-refresh-btn:hover {
  background: var(--admin-surface-hover);
  color: var(--admin-text);
  border-color: var(--admin-primary);
}
.worker-cards {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
  max-width: 800px;
}
.worker-card {
  background: var(--admin-bg);
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius-lg);
  padding: var(--space-5, 1.5rem);
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.worker-card--online {
  border-left: 5px solid #22c55e;
}
.worker-card--offline {
  border-left: 5px solid #ef4444;
  opacity: 0.85;
}
.worker-card:hover {
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.25);
}
.worker-card__header {
  display: flex;
  align-items: center;
  gap: var(--space-3);
  flex-wrap: wrap;
  margin-bottom: var(--space-3);
}
.worker-status-dot {
  width: 14px;
  height: 14px;
  border-radius: 50%;
  flex-shrink: 0;
}
.worker-status-dot.online {
  background: #22c55e;
  box-shadow: 0 0 10px rgba(34, 197, 94, 0.6);
}
.worker-status-dot.offline {
  background: #ef4444;
  box-shadow: 0 0 6px rgba(239, 68, 68, 0.4);
}
.worker-status-dot-sm {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  flex-shrink: 0;
}
.worker-status-dot-sm.online {
  background: #22c55e;
}
.worker-status-dot-sm.offline {
  background: #ef4444;
}
.worker-card__location {
  font-weight: 700;
  font-size: 26px;
  color: var(--admin-text);
}
.worker-card__gpu-name {
  font-size: 20px;
  font-weight: 600;
  color: #60a5fa;
}
.worker-card__host {
  font-size: 16px;
  color: var(--admin-text-dim);
  font-family: var(--admin-font-mono);
  margin-left: auto;
}
.worker-service {
  background: var(--admin-surface);
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius);
  padding: var(--space-4);
  margin-bottom: var(--space-3);
  transition: border-color 0.15s ease;
}
.worker-service--online {
  border-left: 3px solid #22c55e;
}
.worker-service--offline {
  border-left: 3px solid #ef4444;
  opacity: 0.7;
}
.worker-service__header {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  margin-bottom: var(--space-2);
  flex-wrap: wrap;
}
.worker-service__port {
  font-family: var(--admin-font-mono);
  font-size: 18px;
  font-weight: 600;
  color: var(--admin-text);
}
.worker-service__latency {
  font-size: 16px;
  color: #22c55e;
  font-family: var(--admin-font-mono);
}
.worker-service__actions {
  display: flex;
  gap: 8px;
  margin-left: auto;
}
.worker-action-btn {
  min-width: 48px;
  min-height: 44px;
  padding: 8px 16px;
  border-radius: var(--admin-radius);
  border: 1px solid var(--admin-border);
  background: var(--admin-bg);
  color: var(--admin-text-muted);
  cursor: pointer;
  font-size: 14px;
  font-weight: 600;
  transition: all 0.15s ease;
}
.worker-action-btn:hover {
  background: var(--admin-surface-hover);
  color: var(--admin-text);
  border-color: var(--admin-primary);
}
.worker-action-btn--paused {
  color: #fbbf24;
  border-color: rgba(251, 191, 36, 0.3);
}
.worker-action-btn--danger:hover {
  background: rgba(239, 68, 68, 0.2);
  color: #f87171;
  border-color: rgba(239, 68, 68, 0.5);
}
.worker-service__error {
  font-size: 14px;
  color: #fca5a5;
  background: rgba(239, 68, 68, 0.1);
  padding: 8px 12px;
  border-radius: var(--admin-radius-sm);
  margin-bottom: var(--space-3);
  font-family: var(--admin-font-mono);
}
.worker-models {
  margin: var(--space-3) 0;
  padding: var(--space-3) 0;
  border-top: 1px solid var(--admin-border);
}
.worker-models__title {
  font-size: 14px;
  font-weight: 700;
  color: var(--admin-text-muted);
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin-bottom: var(--space-2);
}
.worker-model-item {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  padding: 8px 0;
}
.worker-model-item__indicator {
  font-size: 20px;
  width: 24px;
  text-align: center;
  flex-shrink: 0;
}
.worker-model-item--loaded .worker-model-item__indicator {
  color: #22c55e;
}
.worker-model-item--unloaded .worker-model-item__indicator {
  color: var(--admin-text-dim);
}
.worker-model-item__name {
  font-size: 18px;
  font-weight: 500;
  color: var(--admin-text);
  flex: 1;
}
.worker-model-item--unloaded .worker-model-item__name {
  color: var(--admin-text-muted);
}
.worker-model-item__note {
  font-size: 14px;
  color: var(--admin-text-dim);
  font-style: italic;
}
.worker-model-btn {
  min-width: 80px;
  min-height: 38px;
  padding: 6px 16px;
  border-radius: var(--admin-radius);
  border: 1px solid var(--admin-border);
  cursor: pointer;
  font-size: 14px;
  font-weight: 700;
  transition: all 0.15s ease;
}
.worker-model-btn--load {
  background: rgba(34, 197, 94, 0.1);
  color: #4ade80;
  border-color: rgba(34, 197, 94, 0.3);
}
.worker-model-btn--load:hover {
  background: rgba(34, 197, 94, 0.25);
  border-color: rgba(34, 197, 94, 0.5);
}
.worker-model-btn--unload {
  background: rgba(239, 68, 68, 0.1);
  color: #fca5a5;
  border-color: rgba(239, 68, 68, 0.3);
}
.worker-model-btn--unload:hover {
  background: rgba(239, 68, 68, 0.25);
  border-color: rgba(239, 68, 68, 0.5);
}
.worker-vram {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  margin: var(--space-2) 0;
}
.worker-vram__label {
  font-size: 14px;
  color: var(--admin-text-muted);
  font-family: var(--admin-font-mono);
  white-space: nowrap;
  min-width: 180px;
}
.worker-vram__bar {
  flex: 1;
  height: 24px;
  background: rgba(255, 255, 255, 0.05);
  border-radius: var(--admin-radius-sm);
  overflow: hidden;
  border: 1px solid var(--admin-border);
}
.worker-vram__fill {
  height: 100%;
  background: #60a5fa;
  border-radius: var(--admin-radius-sm);
  transition: width 0.3s ease;
}
.worker-vram__fill--med {
  background: #fbbf24;
}
.worker-vram__fill--high {
  background: #ef4444;
}
.worker-vram__pct {
  font-size: 16px;
  font-weight: 700;
  color: var(--admin-text);
  font-family: var(--admin-font-mono);
  min-width: 48px;
  text-align: right;
}
.worker-gpu-util {
  font-size: 14px;
  color: var(--admin-text-muted);
  font-family: var(--admin-font-mono);
  margin-bottom: var(--space-2);
}
.worker-caps {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: var(--space-2);
  padding-top: var(--space-2);
  border-top: 1px solid var(--admin-border);
}
.worker-cap-tag {
  font-size: 14px;
  font-weight: 500;
  padding: 4px 12px;
  border-radius: var(--admin-radius-sm);
  text-transform: lowercase;
  cursor: pointer;
  border: 1px solid transparent;
  transition: all 0.15s ease;
  background: rgba(139, 92, 246, 0.15);
  color: #a78bfa;
  min-height: 32px;
}
.worker-cap-tag:hover {
  transform: scale(1.05);
  border-color: rgba(139, 92, 246, 0.4);
}
.worker-cap-tag--disabled {
  opacity: 0.4;
  text-decoration: line-through;
}
.worker-quick-actions {
  display: flex;
  gap: var(--space-3);
  margin-top: var(--space-4);
  max-width: 800px;
}
.worker-quick-btn {
  flex: 1;
  min-height: 52px;
  padding: 12px 24px;
  border-radius: var(--admin-radius-lg);
  border: 2px solid var(--admin-border);
  cursor: pointer;
  font-size: 18px;
  font-weight: 700;
  transition: all 0.15s ease;
}
.worker-quick-btn--danger {
  background: rgba(239, 68, 68, 0.1);
  color: #fca5a5;
  border-color: rgba(239, 68, 68, 0.3);
}
.worker-quick-btn--danger:hover {
  background: rgba(239, 68, 68, 0.25);
  border-color: rgba(239, 68, 68, 0.5);
}
.worker-quick-btn--primary {
  background: rgba(34, 197, 94, 0.1);
  color: #4ade80;
  border-color: rgba(34, 197, 94, 0.3);
}
.worker-quick-btn--primary:hover {
  background: rgba(34, 197, 94, 0.25);
  border-color: rgba(34, 197, 94, 0.5);
}
@media (max-width: 768px) {
  .worker-card__header {
    flex-direction: column;
    align-items: flex-start;
  }
  .worker-card__host {
    margin-left: 0;
  }
  .worker-card__location {
    font-size: 22px;
  }
  .worker-card__gpu-name {
    font-size: 18px;
  }
  .worker-vram {
    flex-direction: column;
    align-items: stretch;
  }
  .worker-vram__label {
    min-width: unset;
  }
  .worker-quick-actions {
    flex-direction: column;
  }
}
.admin-section--primary {
  background: var(--admin-surface);
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius);
  padding: var(--space-4);
  margin-bottom: var(--space-4);
}
.admin-section--secondary {
  background: var(--admin-bg);
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius);
  padding: var(--space-4);
  margin-bottom: var(--space-4);
}
.admin-section--tertiary {
  background: rgba(250, 204, 21, 0.05);
  border: 1px solid rgba(250, 204, 21, 0.3);
  border-radius: var(--admin-radius);
  padding: var(--space-4);
  margin-bottom: var(--space-4);
}
.admin-section--danger {
  background: rgba(239, 68, 68, 0.05);
  border: 1px solid rgba(239, 68, 68, 0.3);
  border-radius: var(--admin-radius);
  padding: var(--space-4);
  margin-bottom: var(--space-4);
}
.admin-section--neutral {
  background: var(--admin-bg-alt);
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius);
  padding: var(--space-4);
  margin-bottom: var(--space-4);
}
.admin-section__header {
  font-size: var(--admin-text-sm);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--admin-text);
  padding-bottom: var(--space-2);
  border-bottom: 1px solid var(--admin-border);
  margin-bottom: var(--space-3);
}
.admin-section__desc {
  font-size: var(--admin-text-sm);
  color: var(--admin-text-muted);
  margin: 0 0 var(--space-3) 0;
  line-height: 1.5;
}
.admin-btn--toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-2);
  padding: var(--space-3) var(--space-4);
  font-size: var(--admin-text-sm);
  font-weight: 500;
  font-family: inherit;
  border-radius: var(--admin-radius-sm);
  border: 1px solid var(--admin-border);
  background: var(--admin-surface);
  color: var(--admin-text-muted);
  cursor: pointer;
  transition: all var(--admin-transition);
}
.admin-btn--toggle:hover {
  background: var(--admin-surface-hover);
  color: var(--admin-text);
}
.admin-btn--toggle.active {
  background: var(--admin-primary);
  border-color: var(--admin-primary);
  color: white;
}
.admin-status-dot {
  display: inline-block;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  margin-right: var(--space-2);
  background: var(--admin-text-dim);
}
.admin-status-dot.on {
  background: var(--admin-success);
  box-shadow: 0 0 6px rgba(16, 185, 129, 0.6);
}
.admin-status-dot.warning {
  background: var(--admin-warning);
  box-shadow: 0 0 6px rgba(245, 158, 11, 0.6);
  animation: admin-blink 1s infinite;
}
.admin-status-dot.danger {
  background: var(--admin-error);
  box-shadow: 0 0 6px rgba(239, 68, 68, 0.6);
  animation: admin-blink 1s infinite;
}
@keyframes admin-blink {
  0%, 100% {
    opacity: 1;
  }
  50% {
    opacity: 0.4;
  }
}
.admin-ctrl-btn {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
  padding: var(--space-3) var(--space-4);
  font-size: var(--admin-text-sm);
  font-weight: 500;
  font-family: inherit;
  border-radius: var(--admin-radius-sm);
  border: 1px solid var(--admin-border);
  background: var(--admin-surface);
  color: var(--admin-text);
  cursor: pointer;
  transition: all var(--admin-transition);
  width: 100%;
}
.admin-ctrl-btn:hover {
  background: var(--admin-surface-hover);
}
.admin-ctrl-btn.on-success {
  background: rgba(16, 185, 129, 0.15);
  border-color: var(--admin-success);
  color: var(--admin-success);
}
.admin-ctrl-btn.on-danger {
  background: rgba(239, 68, 68, 0.15);
  border-color: var(--admin-error);
  color: var(--admin-error);
}
.admin-ctrl-btn.on-warning {
  background: rgba(250, 204, 21, 0.15);
  border-color: var(--admin-warning);
  color: var(--admin-warning);
}
.admin-stats-row {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--space-3);
  padding: var(--space-3);
  background: var(--admin-bg);
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius-sm);
  margin-top: var(--space-3);
}
.admin-stats-row__item {
  text-align: center;
}
.admin-stats-row__label {
  font-size: var(--admin-text-xs);
  color: var(--admin-text-dim);
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin-bottom: var(--space-1);
}
.admin-stats-row__value {
  font-size: var(--admin-text-lg);
  font-weight: 700;
  color: var(--admin-text);
  font-family: var(--admin-font-mono);
}
.admin-stats-row__value.warning {
  color: var(--admin-warning);
}
.admin-stats-row__value.success {
  color: var(--admin-success);
}
.admin-stats-row__value.danger {
  color: var(--admin-error);
}
.admin-image-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(100px, 1fr));
  gap: var(--space-2);
}
.admin-image-cell {
  position: relative;
  aspect-ratio: 1;
  cursor: pointer;
  border-radius: var(--admin-radius-sm);
  overflow: hidden;
  border: 2px solid transparent;
  transition: all var(--admin-transition);
}
.admin-image-cell:hover {
  border-color: var(--admin-primary);
}
.admin-image-cell img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.admin-image-cell.hidden {
  opacity: 0.3;
}
.admin-image-cell.delete-mode {
  background: rgba(239, 68, 68, 0.2);
}
.admin-image-cell.delete-mode:hover {
  border-color: var(--admin-error);
}
.admin-image-cell__actions {
  position: absolute;
  top: var(--space-1);
  right: var(--space-1);
  left: var(--space-1);
  display: flex;
  justify-content: space-between;
  gap: var(--space-1);
}
.admin-image-btn {
  padding: 2px 6px;
  font-size: 9px;
  font-family: var(--admin-font-mono);
  border-radius: 2px;
  border: 1px solid;
  cursor: pointer;
  transition: all var(--admin-transition);
}
.admin-image-btn--visible {
  background: rgba(16, 185, 129, 0.9);
  border-color: var(--admin-success);
  color: white;
}
.admin-image-btn--hidden {
  background: rgba(239, 68, 68, 0.9);
  border-color: var(--admin-error);
  color: white;
}
.admin-image-btn--share {
  background: rgba(59, 130, 246, 0.9);
  border-color: var(--admin-primary);
  color: white;
}
.admin-image-cell__delete-overlay {
  position: absolute;
  inset: 0;
  background: rgba(239, 68, 68, 0.4);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 24px;
}
.admin-image-cell__hidden-banner {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  background: rgba(239, 68, 68, 0.85);
  color: white;
  font-size: 8px;
  text-align: center;
  padding: 2px;
  font-family: var(--admin-font-mono);
}
.admin-form-inline {
  display: flex;
  gap: var(--space-2);
  align-items: stretch;
}
.admin-form-inline .admin-input {
  flex: 1;
}
.admin-syntax-help {
  font-size: var(--admin-text-xs);
  color: var(--admin-text-dim);
  font-family: var(--admin-font-mono);
  line-height: 1.8;
  margin-top: var(--space-2);
}
.admin-syntax-help code {
  background: rgba(59, 130, 246, 0.1);
  color: var(--admin-primary);
  padding: 1px 4px;
  border-radius: 2px;
}
.admin-share-table {
  width: 100%;
  border-collapse: collapse;
  font-size: var(--admin-text-xs);
  font-family: var(--admin-font-mono);
}
.admin-share-table th {
  background: var(--admin-bg-alt);
  color: var(--admin-text-muted);
  padding: var(--space-2) var(--space-3);
  text-align: left;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  border-bottom: 1px solid var(--admin-border);
}
.admin-share-table td {
  padding: var(--space-2) var(--space-3);
  border-bottom: 1px solid var(--admin-border);
  color: var(--admin-text-muted);
}
.admin-share-table tr.expired {
  opacity: 0.4;
}
.admin-date-pins-table {
  width: 100%;
  border-collapse: collapse;
  font-size: var(--admin-text-sm);
}
.admin-date-pins-table th {
  background: var(--admin-bg-alt);
  color: var(--admin-text-muted);
  padding: var(--space-2) var(--space-3);
  text-align: left;
  font-weight: 500;
  border-bottom: 1px solid var(--admin-border);
}
.admin-date-pins-table td {
  padding: var(--space-2) var(--space-3);
  border-bottom: 1px solid var(--admin-border);
}
.admin-date-pins-table tr.disabled {
  opacity: 0.5;
}
@media (max-width: 768px) {
  .admin-stats-row {
    grid-template-columns: repeat(2, 1fr);
  }
  .admin-form-inline {
    flex-direction: column;
  }
  .admin-image-grid {
    grid-template-columns: repeat(auto-fill, minmax(80px, 1fr));
  }
}
.admin-header-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: var(--space-4);
}
.admin-header-controls {
  display: flex;
  gap: var(--space-3);
  align-items: center;
}
.admin-pagination {
  display: flex;
  align-items: center;
  gap: var(--space-2);
}
.person-card {
  background: var(--admin-surface);
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius);
  box-shadow: var(--admin-shadow);
  overflow: hidden;
}
.people-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--space-2);
}
@media (min-width: 480px) {
  .people-grid {
    grid-template-columns: repeat(auto-fill, minmax(150px, 180px));
    gap: var(--space-3);
  }
}
@media (min-width: 768px) {
  .people-grid {
    grid-template-columns: repeat(auto-fill, minmax(200px, 240px));
    gap: var(--space-4);
  }
}
.person-card__thumb {
  position: relative;
  width: 100%;
  padding-top: 100%;
  background: var(--admin-bg);
  overflow: hidden;
}
.person-card__thumb-link {
  position: absolute;
  inset: 0;
  display: block;
  overflow: hidden;
}
.person-card__thumb-img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.person-card__thumb-placeholder {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 32px;
  opacity: 0.3;
}
@media (min-width: 480px) {
  .person-card__thumb-placeholder {
    font-size: 48px;
  }
}
.person-card__badge {
  position: absolute;
  top: var(--space-1);
  font-size: 10px;
  padding: 2px 4px;
}
@media (min-width: 480px) {
  .person-card__badge {
    top: var(--space-2);
    font-size: inherit;
    padding: revert;
  }
}
.person-card__badge--left {
  left: var(--space-1);
}
@media (min-width: 480px) {
  .person-card__badge--left {
    left: var(--space-2);
  }
}
.person-card__badge--right {
  right: var(--space-1);
}
@media (min-width: 480px) {
  .person-card__badge--right {
    right: var(--space-2);
  }
}
.person-card__body {
  padding: var(--space-2);
}
@media (min-width: 480px) {
  .person-card__body {
    padding: var(--space-3);
  }
}
.person-card__name {
  font-weight: 500;
  font-size: 13px;
  color: var(--admin-text);
  margin-bottom: var(--space-1);
  cursor: text;
  min-height: 20px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
@media (min-width: 480px) {
  .person-card__name {
    font-size: inherit;
    margin-bottom: var(--space-2);
    min-height: 24px;
  }
}
.person-card__name-input {
  width: 100%;
  font-weight: 500;
  font-size: 13px;
}
@media (min-width: 480px) {
  .person-card__name-input {
    font-size: inherit;
  }
}
.person-card__meta {
  font-size: 11px;
  color: var(--admin-text-muted);
  margin-bottom: var(--space-2);
}
@media (min-width: 480px) {
  .person-card__meta {
    font-size: var(--admin-text-sm);
    margin-bottom: var(--space-3);
  }
}
.person-card__unverified {
  display: inline-block;
  margin-left: 8px;
  padding: 2px 6px;
  background: var(--admin-warning, #f59e0b);
  color: #000;
  font-size: 10px;
  font-weight: 600;
  border-radius: 4px;
  cursor: help;
}
.person-card__actions {
  display: flex;
  gap: var(--space-1);
  flex-wrap: wrap;
}
@media (min-width: 480px) {
  .person-card__actions {
    gap: var(--space-2);
  }
}
.person-card__actions .admin-btn {
  padding: 4px 8px;
  font-size: 10px;
}
@media (min-width: 480px) {
  .person-card__actions .admin-btn {
    padding: var(--space-1) var(--space-2);
    font-size: var(--admin-text-xs);
  }
}
.person-card__pin-form {
  display: inline-flex;
  margin: 0;
}
.person-card__pin-input {
  width: 40px;
  padding: 2px 4px;
  font-size: 10px;
  border-radius: var(--admin-radius-sm) 0 0 var(--admin-radius-sm);
}
@media (min-width: 480px) {
  .person-card__pin-input {
    width: 50px;
    padding: var(--space-1) var(--space-2);
    font-size: var(--admin-text-xs);
  }
}
.person-card__pin-btn {
  border-radius: 0 var(--admin-radius-sm) var(--admin-radius-sm) 0;
  padding: 2px 6px;
  font-size: 10px;
}
@media (min-width: 480px) {
  .person-card__pin-btn {
    padding: var(--space-1) var(--space-2);
    font-size: var(--admin-text-xs);
  }
}
.people-tabs {
  display: flex;
  gap: var(--space-1);
  margin-bottom: var(--space-3);
  border-bottom: 1px solid var(--admin-border);
  padding-bottom: var(--space-1);
}
.people-tab {
  padding: var(--space-2) var(--space-3);
  background: transparent;
  border: none;
  color: var(--admin-text-muted);
  font-size: 13px;
  font-weight: 500;
  cursor: pointer;
  border-bottom: 2px solid transparent;
  transition: color 0.15s, border-color 0.15s;
}
.people-tab:hover {
  color: var(--admin-text);
}
.people-tab--active {
  color: var(--admin-text);
  border-bottom-color: var(--admin-primary, #3b82f6);
}
.people-tab__badge {
  display: inline-block;
  min-width: 18px;
  padding: 1px 6px;
  margin-left: 6px;
  background: var(--admin-warning, #f59e0b);
  color: #000;
  font-size: 11px;
  font-weight: 700;
  border-radius: 9px;
  text-align: center;
  line-height: 1.4;
}
.person-card__expand-indicator {
  position: absolute;
  bottom: var(--space-1);
  right: var(--space-1);
  font-size: 10px;
  color: rgba(255, 255, 255, 0.7);
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6);
  pointer-events: none;
}
.person-card--expanded {
  grid-column: span 2;
}
@media (max-width: 479px) {
  .person-card--expanded {
    grid-column: 1 / -1;
  }
}
@media (min-width: 1920px) {
  .person-card--expanded {
    grid-column: span 3;
  }
}
.person-card__face-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 3px;
  padding: var(--space-2);
  background: var(--admin-bg);
  border-top: 1px solid var(--admin-border);
}
@media (min-width: 480px) {
  .person-card__face-grid {
    grid-template-columns: repeat(4, 1fr);
    gap: 4px;
  }
}
@media (min-width: 768px) {
  .person-card__face-grid {
    grid-template-columns: repeat(6, 1fr);
  }
}
@media (min-width: 1920px) {
  .person-card__face-grid {
    grid-template-columns: repeat(8, 1fr);
  }
}
.person-card__face-empty {
  grid-column: 1 / -1;
  padding: var(--space-4);
  text-align: center;
  color: var(--admin-text-muted);
  font-size: 12px;
}
.person-card__face-crop-wrap {
  position: relative;
  width: 100%;
  padding-top: 100%;
  overflow: hidden;
  border-radius: var(--admin-radius-sm);
  background: var(--admin-surface);
}
.person-card__face-crop {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.person-card__face-actions {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  display: flex;
  gap: 2px;
  padding: 2px;
  background: linear-gradient(transparent, rgba(0, 0, 0, 0.7));
  opacity: 0;
  transition: opacity 0.15s;
}
.person-card__face-crop-wrap:hover .person-card__face-actions {
  opacity: 1;
}
@media (hover: none) {
  .person-card__face-actions {
    opacity: 1;
  }
}
.person-card__face-btn {
  flex: 1;
  padding: 3px 0;
  border: none;
  border-radius: 3px;
  font-size: 11px;
  font-weight: 700;
  cursor: pointer;
  text-align: center;
  line-height: 1;
}
.person-card__face-btn--wrong {
  background: var(--admin-warning, #f59e0b);
  color: #000;
}
.person-card__face-btn--wrong:hover {
  background: #d97706;
}
.person-card__face-btn--delete {
  background: var(--admin-danger, #ef4444);
  color: #fff;
}
.person-card__face-btn--delete:hover {
  background: #dc2626;
}
@media (min-width: 1920px) {
  .people-grid {
    grid-template-columns: repeat(auto-fill, minmax(220px, 280px));
  }
}
@media (min-width: 2560px) {
  .people-grid {
    grid-template-columns: repeat(auto-fill, minmax(240px, 300px));
    max-width: 3200px;
  }
}
.admin-empty-large {
  text-align: center;
  padding: var(--space-12) var(--space-4);
}
.admin-empty-large__icon {
  font-size: 48px;
  margin-bottom: var(--space-4);
  opacity: 0.3;
}
.admin-actions-bar {
  display: flex;
  align-items: center;
  gap: var(--space-3);
  margin-bottom: var(--space-4);
  flex-wrap: wrap;
}
.admin-stream-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: var(--space-4);
}
.admin-stream-panel__title {
  font-size: 14px;
  color: var(--admin-text-dim);
  margin-bottom: var(--space-3);
  text-transform: uppercase;
  font-weight: 500;
  letter-spacing: 0.5px;
}
.admin-stream-status-list {
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
}
.admin-stream-status-row {
  display: flex;
  justify-content: space-between;
}
.admin-stream-status--live {
  color: #22c55e;
  font-weight: 600;
}
.admin-stream-status--offline {
  color: #888;
  font-weight: 600;
}
.admin-stream-config-list {
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
  font-size: var(--admin-text-sm);
}
.admin-stream-config-url {
  font-family: var(--admin-font-mono);
  word-break: break-all;
  color: var(--admin-accent);
  font-size: var(--admin-text-xs);
}
.admin-test-result {
  padding: var(--space-2) var(--space-3);
  border-radius: var(--admin-radius-sm);
  font-size: var(--admin-text-sm);
}
.admin-test-result--success {
  background: rgba(34, 197, 94, 0.15);
  border: 1px solid rgba(34, 197, 94, 0.3);
}
.admin-test-result--error {
  background: rgba(239, 68, 68, 0.15);
  border: 1px solid rgba(239, 68, 68, 0.3);
}
.admin-test-result__title {
  font-weight: 600;
  margin-bottom: var(--space-1);
}
.admin-test-result__title--success {
  color: #4ade80;
}
.admin-test-result__title--error {
  color: #f87171;
}
.admin-test-result__info {
  color: var(--admin-text-dim);
  font-family: var(--admin-font-mono);
  font-size: var(--admin-text-xs);
}
.admin-stream-not-configured {
  text-align: center;
  padding: var(--space-10) var(--space-4);
  color: var(--admin-text-dim);
}
.admin-stream-not-configured__title {
  font-size: var(--admin-text-lg);
  margin-bottom: var(--space-3);
}
.admin-stream-not-configured__hint {
  font-size: var(--admin-text-sm);
}
.admin-guide-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: var(--space-6);
}
.admin-guide-step__title {
  font-size: 14px;
  color: var(--admin-accent);
  margin-bottom: var(--space-2);
}
.admin-guide-step__desc {
  font-size: var(--admin-text-sm);
  color: var(--admin-text-muted);
  line-height: 1.5;
}
.admin-section-title--flex {
  display: flex;
  align-items: center;
  gap: var(--space-3);
}
.admin-modal-overlay {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.8);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1000;
}
.admin-modal {
  max-width: 600px;
  width: 90%;
  max-height: 85vh;
  overflow-y: auto;
}
.admin-modal--sm {
  max-width: 400px;
}
.admin-modal--lg {
  max-width: 800px;
}
.admin-modal__header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: var(--space-4);
}
.admin-modal__title {
  margin: 0;
  font-size: var(--admin-text-xl);
  font-weight: 600;
}
.admin-modal__close {
  font-size: 24px;
  line-height: 1;
}
.admin-progress {
  margin-bottom: var(--space-4);
}
.admin-progress__header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: var(--space-2);
}
.admin-progress__bar {
  background: var(--admin-bg);
  border-radius: var(--admin-radius-sm);
  height: 8px;
  overflow: hidden;
}
.admin-progress__fill {
  background: var(--admin-success);
  height: 100%;
  transition: width 0.3s;
}
.admin-progress__status {
  font-size: var(--admin-text-xs);
  color: var(--admin-text-dim);
  margin-top: var(--space-2);
}
.admin-code-block {
  display: block;
  background: #0a0a0a;
  padding: var(--space-3);
  border-radius: var(--admin-radius-sm);
  font-size: var(--admin-text-xs);
  font-family: var(--admin-font-mono);
  overflow-x: auto;
  white-space: pre-wrap;
  word-wrap: break-word;
}
.admin-log-viewer {
  background: #0a0a0a;
  padding: var(--space-3);
  max-height: 200px;
  overflow-y: auto;
  margin-bottom: var(--space-4);
  border-radius: var(--admin-radius-sm);
}
.admin-log-viewer pre {
  margin: 0;
  font-size: var(--admin-text-xs);
  color: var(--admin-text-dim);
  white-space: pre-wrap;
  word-wrap: break-word;
}
.admin-details {
  margin-top: var(--space-4);
}
.admin-details__summary {
  cursor: pointer;
  font-weight: 500;
  color: var(--admin-text);
  margin-bottom: var(--space-3);
}
.admin-details__content {
  background: var(--admin-bg);
  padding: var(--space-4);
  border-radius: var(--admin-radius);
}
.admin-step {
  margin-bottom: var(--space-4);
}
.admin-step:last-child {
  margin-bottom: 0;
}
.admin-step__label {
  font-size: var(--admin-text-xs);
  text-transform: uppercase;
  color: var(--admin-text-dim);
  display: block;
  margin-bottom: var(--space-1);
}
.admin-empty-card {
  text-align: center;
  padding: var(--space-10);
}
.admin-host-header {
  display: flex;
  align-items: center;
  gap: var(--space-4);
  margin-bottom: var(--space-4);
  flex-wrap: wrap;
}
.admin-host-name {
  font-size: 18px;
  font-weight: 600;
}
.admin-host-alias {
  font-size: 14px;
  color: var(--admin-text-dim);
}
.admin-stat-value--live {
  color: #ff4040;
}
.admin-card--accent {
  border-color: var(--admin-accent);
}
.admin-card--accent h3 {
  color: var(--admin-accent);
}
.admin-flex-gap-sm {
  display: flex;
  gap: var(--space-2);
}
.admin-flex-gap-md {
  display: flex;
  gap: var(--space-3);
}
.admin-flex-gap-lg {
  display: flex;
  gap: var(--space-4);
}
.admin-flex-col-gap-sm {
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
}
.admin-flex-col-gap-md {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
}
.admin-tier-header {
  display: flex;
  align-items: center;
  gap: var(--space-4);
  flex-wrap: wrap;
}
.admin-tier-hostname {
  font-size: 15px;
  font-weight: 500;
  color: var(--admin-text);
}
.admin-badge--community {
  background: rgba(148, 163, 184, 0.15);
  color: #94a3b8;
}
.admin-badge--pro {
  background: rgba(96, 165, 250, 0.15);
  color: #60a5fa;
}
.admin-badge--studio {
  background: rgba(139, 92, 246, 0.15);
  color: #a78bfa;
}
.admin-badge--enterprise {
  background: rgba(250, 204, 21, 0.15);
  color: #facc15;
}
.admin-features-toggle {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.15);
  border-radius: var(--admin-radius-sm);
  padding: var(--space-2) var(--space-3);
  color: var(--admin-text);
  cursor: pointer;
  font-size: var(--admin-text-sm);
  font-family: inherit;
  transition: all var(--admin-transition);
  width: fit-content;
}
.admin-features-toggle:hover {
  background: rgba(255, 255, 255, 0.1);
}
.admin-features-toggle__count {
  color: var(--admin-accent);
  font-weight: 600;
}
.admin-features-toggle__caret {
  font-size: 10px;
  opacity: 0.7;
}
.admin-features-panel {
  padding: var(--space-4);
  background: rgba(0, 0, 0, 0.3);
  border-radius: var(--admin-radius);
  border: 1px solid rgba(255, 255, 255, 0.05);
  margin-bottom: var(--space-4);
}
.admin-tier-group {
  margin-bottom: var(--space-4);
}
.admin-tier-group:last-child {
  margin-bottom: 0;
}
.admin-tier-group__label {
  font-size: var(--admin-text-xs);
  text-transform: uppercase;
  margin-bottom: var(--space-2);
  font-weight: 600;
  letter-spacing: 0.5px;
}
.admin-tier-group__label--community {
  color: #94a3b8;
}
.admin-tier-group__label--pro {
  color: #60a5fa;
}
.admin-tier-group__label--studio {
  color: #a78bfa;
}
.admin-tier-group__label--enterprise {
  color: #facc15;
}
.admin-tier-group__badges {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-1);
}
.admin-feature-badge {
  font-size: var(--admin-text-xs);
  padding: var(--space-1) var(--space-2);
  border-radius: var(--admin-radius-sm);
}
.admin-feature-badge--enabled {
  background: rgba(34, 197, 94, 0.15);
  color: #4ade80;
  border: 1px solid rgba(34, 197, 94, 0.3);
}
.admin-feature-badge--disabled {
  background: rgba(100, 100, 100, 0.15);
  color: #888;
  border: 1px solid rgba(100, 100, 100, 0.2);
}
.admin-host-stats {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
  gap: var(--space-4);
}
.admin-host-stat__label {
  font-size: var(--admin-text-xs);
  text-transform: uppercase;
  margin-bottom: var(--space-1);
  color: var(--admin-text-dim);
}
.admin-host-stat__value {
  font-weight: 500;
  color: var(--admin-text);
}
.admin-host-stat__sub {
  font-size: var(--admin-text-xs);
  color: var(--admin-text-dim);
}
.admin-card--padded {
  padding: var(--space-4);
}
.admin-quick-actions {
  display: flex;
  gap: var(--space-3);
  flex-wrap: wrap;
}
.admin-card--network {
  margin-bottom: var(--space-3);
}
.admin-card--network .admin-stat-label {
  margin-bottom: var(--space-1);
}
.admin-network-status {
  font-size: var(--admin-text-sm);
  margin-bottom: var(--space-3);
  color: var(--admin-text-dim);
}
.admin-connection-info {
  font-size: var(--admin-text-sm);
}
.admin-section-desc {
  margin-bottom: var(--space-3);
  font-size: var(--admin-text-sm);
  color: var(--admin-text-muted);
}
.review-layout {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
}
@media (min-width: 900px) {
  .review-layout {
    flex-direction: row;
  }
}
.review-main {
  flex: 1;
  min-width: 0;
}
.review-sidebar {
  width: 100%;
}
@media (min-width: 900px) {
  .review-sidebar {
    width: 280px;
    flex-shrink: 0;
    position: sticky;
    top: 56px;
    max-height: calc(100vh - 64px);
    overflow-y: auto;
    align-self: flex-start;
  }
}
.review-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 3px;
}
@media (min-width: 500px) {
  .review-grid {
    grid-template-columns: repeat(4, 1fr);
    gap: 4px;
  }
}
@media (min-width: 768px) {
  .review-grid {
    grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
    gap: var(--space-2);
  }
}
@media (min-width: 1200px) {
  .review-grid {
    grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
    gap: var(--space-3);
  }
}
@media (min-width: 1920px) {
  .review-grid {
    grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
  }
}
.review-card {
  position: relative;
  background: var(--admin-surface);
  border: 1px solid var(--admin-border);
  border-radius: 4px;
  transition: border-color var(--admin-transition);
}
@media (min-width: 768px) {
  .review-card {
    border-width: 2px;
    border-radius: var(--admin-radius-sm);
  }
}
.review-card--green {
  border-color: var(--admin-success);
}
.review-card--lime {
  border-color: #84cc16;
}
.review-card--yellow {
  border-color: var(--admin-warning);
}
.review-card--red {
  border-color: var(--admin-error);
}
.review-card__image {
  position: relative;
  width: 100%;
  height: 120px;
  cursor: pointer;
  overflow: hidden;
  background: var(--admin-bg);
}
@media (min-width: 600px) {
  .review-card__image {
    height: 150px;
  }
}
@media (min-width: 900px) {
  .review-card__image {
    height: 180px;
  }
}
@media (min-width: 1200px) {
  .review-card__image {
    height: 200px;
  }
}
@media (min-width: 1920px) {
  .review-card__image {
    height: 240px;
  }
}
.review-card__image img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  background: var(--admin-bg);
}
.review-face-box {
  position: absolute;
  border: 2px solid rgba(255, 255, 0, 0.9);
  box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.5);
  pointer-events: none;
}
.review-card__face-crop {
  position: relative;
  width: 100%;
  height: 120px;
  cursor: pointer;
  overflow: hidden;
  background: var(--admin-bg);
}
@media (min-width: 600px) {
  .review-card__face-crop {
    height: 150px;
  }
}
@media (min-width: 900px) {
  .review-card__face-crop {
    height: 180px;
  }
}
@media (min-width: 1200px) {
  .review-card__face-crop {
    height: 200px;
  }
}
@media (min-width: 1920px) {
  .review-card__face-crop {
    height: 240px;
  }
}
.review-card__face-crop img {
  position: absolute;
}
.review-card__dist-bar {
  height: 3px;
}
.review-card__dist-bar--green {
  background: var(--admin-success);
}
.review-card__dist-bar--lime {
  background: #84cc16;
}
.review-card__dist-bar--yellow {
  background: var(--admin-warning);
}
.review-card__dist-bar--red {
  background: var(--admin-error);
}
.review-card__info {
  padding: var(--space-2);
  background: var(--admin-bg-alt);
}
@media (min-width: 600px) {
  .review-card__info {
    padding: var(--space-1) var(--space-2);
  }
}
.review-card__distance {
  font-size: 10px;
  font-family: var(--admin-font-mono);
  margin-bottom: var(--space-1);
}
.review-card__distance--green {
  color: var(--admin-success);
}
.review-card__distance--lime {
  color: #84cc16;
}
.review-card__distance--yellow {
  color: var(--admin-warning);
}
.review-card__distance--red {
  color: var(--admin-error);
}
.review-card__actions {
  display: flex;
  gap: 3px;
  flex-wrap: wrap;
}
.review-card__btn {
  flex: 1;
  min-width: 0;
  padding: 4px 4px;
  font-size: 9px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  text-align: center;
  border-radius: var(--admin-radius-sm);
  border: none;
  cursor: pointer;
  font-weight: 500;
  transition: all var(--admin-transition);
}
@media (min-width: 600px) {
  .review-card__btn {
    padding: 4px 5px;
    font-size: 10px;
  }
}
@media (min-width: 1200px) {
  .review-card__btn {
    padding: 5px 6px;
    font-size: 10px;
  }
}
@media (min-width: 1920px) {
  .review-card__btn {
    padding: 6px 10px;
    font-size: 11px;
  }
}
.review-card__btn--move {
  background: var(--admin-info);
  color: white;
}
.review-card__btn--move:hover {
  background: #2563eb;
}
.review-card__btn--wrong {
  background: var(--admin-error);
  color: white;
}
.review-card__btn--wrong:hover {
  background: #dc2626;
}
.review-card__btn--not-face {
  background: #ff6600;
  color: white;
}
.review-card__btn--not-face:hover {
  background: #e55a00;
}
.review-card__btn--assign {
  background: var(--admin-success);
  color: white;
}
.review-card__btn--assign:hover {
  background: #16a34a;
}
.review-card__btn--cancel {
  background: #6b7280;
  color: white;
}
.review-card__btn--cancel:hover {
  background: #4b5563;
}
.review-category {
  margin-bottom: var(--space-4);
}
.review-category__header {
  display: flex;
  align-items: center;
  gap: var(--space-3);
  margin-bottom: var(--space-3);
  padding-bottom: var(--space-2);
  border-bottom: 1px solid var(--admin-border);
}
.review-category__label {
  font-size: var(--admin-text-xs);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  padding: var(--space-1) var(--space-2);
  background: var(--admin-surface);
  border-radius: var(--admin-radius-sm);
}
.review-category__count {
  font-size: var(--admin-text-xs);
  color: var(--admin-text-dim);
}
.review-instructions {
  padding: var(--space-3);
  background: var(--admin-surface);
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius);
  margin-bottom: var(--space-4);
  font-size: var(--admin-text-sm);
}
.review-instructions__legend {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-3);
  margin-top: var(--space-2);
}
.review-instructions__item {
  display: flex;
  align-items: center;
  gap: var(--space-1);
  font-size: var(--admin-text-xs);
}
.review-instructions__dot {
  width: 12px;
  height: 12px;
  border-radius: 2px;
}
.review-instructions__dot--green {
  background: var(--admin-success);
}
.review-instructions__dot--lime {
  background: #84cc16;
}
.review-instructions__dot--yellow {
  background: var(--admin-warning);
}
.review-instructions__dot--red {
  background: var(--admin-error);
}
.review-panel {
  background: var(--admin-surface);
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius);
  padding: var(--space-4);
  font-size: 14px;
}
.review-panel__title {
  font-size: 14px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin-bottom: var(--space-4);
  padding-bottom: var(--space-2);
  border-bottom: 1px solid var(--admin-border);
}
.review-panel__section {
  margin-bottom: var(--space-4);
}
.review-panel__section:last-child {
  margin-bottom: 0;
}
.review-panel__label {
  font-size: 13px;
  font-weight: 500;
  text-transform: uppercase;
  color: var(--admin-text-dim);
  margin-bottom: var(--space-2);
}
.review-pin-section {
  padding: var(--space-3);
  border-radius: var(--admin-radius-sm);
  border: 1px solid var(--admin-border);
}
.review-pin-section--active {
  border-color: #8b5cf6;
  background: rgba(139, 92, 246, 0.1);
}
.review-pin-section__badge {
  font-size: 9px;
  padding: 2px 6px;
  background: #8b5cf6;
  color: white;
  border-radius: 2px;
  margin-left: var(--space-2);
}
.review-stats {
  padding: var(--space-3);
  background: var(--admin-bg);
  border-radius: var(--admin-radius-sm);
  font-size: var(--admin-text-xs);
  font-family: var(--admin-font-mono);
  line-height: 1.6;
}
.review-blacklist-list {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-top: 8px;
  max-height: 300px;
  overflow-y: auto;
}
.nsfw-person-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 4px;
  max-height: 400px;
  overflow-y: auto;
  margin-bottom: 8px;
}
.nsfw-person-grid__item {
  position: relative;
}
.nsfw-person-grid__item img {
  width: 100%;
  aspect-ratio: 1;
  object-fit: cover;
  border-radius: 3px;
  display: block;
}
.nsfw-person-grid__actions {
  display: flex;
  gap: 1px;
  margin-top: 2px;
}
.nsfw-quick-btn {
  flex: 1;
  border: 1px solid #444;
  background: #1a1a2e;
  color: #aaa;
  font-size: 9px;
  padding: 2px 0;
  cursor: pointer;
  border-radius: 2px;
  line-height: 1;
}
.nsfw-quick-btn:hover {
  background: #2a2a4e;
}
.nsfw-quick-btn.active {
  background: #333366;
  border-color: #6666cc;
  font-weight: bold;
}
.review-blacklist-card {
  display: flex;
  gap: 8px;
  background: var(--admin-bg);
  border: 1px solid rgba(239, 68, 68, 0.3);
  border-radius: var(--admin-radius-sm);
  padding: 6px;
}
.review-blacklist-card__image {
  position: relative;
  width: 60px;
  height: 60px;
  flex-shrink: 0;
  overflow: hidden;
  border-radius: var(--admin-radius-sm);
  background: var(--admin-bg-alt);
}
.review-blacklist-card__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0.8;
}
.review-blacklist-card__image:hover img {
  opacity: 1;
}
.review-blacklist-card__box {
  position: absolute;
  border: 2px solid #ef4444;
  background: rgba(239, 68, 68, 0.15);
  pointer-events: none;
}
.review-blacklist-card__placeholder {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--admin-text-muted);
  font-size: 9px;
  text-align: center;
}
.review-blacklist-card__actions {
  display: flex;
  flex-direction: column;
  gap: 4px;
  justify-content: center;
}
.review-blacklist-card__btn {
  padding: 4px 8px;
  border: none;
  border-radius: var(--admin-radius-sm);
  cursor: pointer;
  font-size: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: opacity 0.15s;
  white-space: nowrap;
}
.review-blacklist-card__btn:hover {
  opacity: 0.8;
}
.review-blacklist-card__btn--restore {
  background: var(--admin-success);
  color: white;
}
.review-blacklist-card__btn--delete {
  background: var(--admin-error);
  color: white;
}
.review-toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 16px;
  padding: 8px 12px;
  margin-bottom: 12px;
  background: var(--admin-surface);
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius-sm);
}
.review-toolbar__group {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 4px;
}
.review-toolbar__label {
  font-size: 13px;
  font-weight: 500;
  color: var(--admin-text-dim);
  text-transform: uppercase;
  letter-spacing: 0.3px;
  margin-right: 2px;
}
.review-toolbar__badge {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  padding: 4px 10px;
  font-size: 13px;
  border: 1px solid var(--admin-border);
  border-radius: 3px;
  background: var(--admin-bg);
  cursor: pointer;
  transition: all 0.15s;
  font-family: inherit;
  line-height: 1.2;
}
.review-toolbar__badge:hover {
  border-color: var(--admin-accent);
}
.review-toolbar__badge--active {
  background: var(--admin-accent);
  color: white;
  border-color: var(--admin-accent);
}
.review-toolbar__count {
  font-weight: 600;
}
.review-toolbar__input {
  padding: 3px 8px;
  font-size: 12px;
  border: 1px solid var(--admin-border);
  border-radius: 3px;
  background: var(--admin-bg);
  color: var(--admin-text);
  width: 120px;
}
.review-filter-bar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px 12px;
  padding: 8px 12px;
  margin-bottom: 12px;
  background: var(--admin-card-bg);
  border: 1px solid var(--admin-border);
  border-radius: 6px;
}
.review-filter-bar__group {
  display: flex;
  align-items: center;
  gap: 4px;
}
.review-filter-bar__label {
  font-size: 12px;
  font-weight: 500;
  color: var(--admin-text-dim);
  text-transform: uppercase;
  letter-spacing: 0.3px;
  white-space: nowrap;
}
.review-filter-bar__select {
  padding: 3px 6px;
  font-size: 12px;
  border: 1px solid var(--admin-border);
  border-radius: 3px;
  background: var(--admin-bg);
  color: var(--admin-text);
  max-width: 180px;
  cursor: pointer;
}
.review-filter-bar__select:focus {
  border-color: var(--admin-accent);
  outline: none;
}
.review-filter-bar__clear {
  padding: 3px 10px;
  font-size: 12px;
  border: 1px solid var(--admin-warning);
  border-radius: 3px;
  background: transparent;
  color: var(--admin-warning);
  cursor: pointer;
}
.review-filter-bar__clear:hover {
  background: var(--admin-warning);
  color: white;
}
.review-filter-bar__count {
  font-size: 12px;
  color: var(--admin-text-dim);
  font-style: italic;
}
.review-filter-bar__toggle {
  margin-left: auto;
  padding: 3px 10px;
  font-size: 12px;
  border: 1px solid var(--admin-border);
  border-radius: 3px;
  background: transparent;
  color: var(--admin-text-dim);
  cursor: pointer;
}
.review-filter-bar__toggle--active {
  color: var(--admin-accent);
  border-color: var(--admin-accent);
}
.review-filter-bar__toggle:hover {
  border-color: var(--admin-accent);
}
.review-nsfw-strip {
  margin-bottom: 12px;
  padding: 8px 12px;
  background: var(--admin-surface);
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius-sm);
}
.review-nsfw-strip__header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 8px;
}
.review-danger-zone {
  padding: var(--space-3);
  border: 1px solid #ff6600;
  border-radius: var(--admin-radius-sm);
  background: rgba(255, 102, 0, 0.1);
}
.review-danger-zone__title {
  font-size: var(--admin-text-xs);
  font-weight: 600;
  color: #ff6600;
  margin-bottom: var(--space-2);
}
.review-danger-zone__desc {
  font-size: var(--admin-text-xs);
  color: var(--admin-text-dim);
  margin-bottom: var(--space-3);
  line-height: 1.4;
}
.review-danger-details__summary {
  cursor: pointer;
  font-size: 12px;
  font-weight: 500;
  color: #ff6600;
  padding: 6px 0;
  list-style: none;
}
.review-danger-details__summary::-webkit-details-marker {
  display: none;
}
.review-danger-details__summary::before {
  content: "\25b8  ";
}
.review-danger-details[open] > .review-danger-details__summary::before {
  content: "\25be  ";
}
.review-bottom-toolbar {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-3);
  padding: var(--space-4) var(--space-2);
  margin-top: var(--space-4);
  border-top: 1px solid var(--admin-border);
  flex-wrap: wrap;
}
.review-unified-header {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 12px;
  padding: 8px 12px;
  margin-bottom: 8px;
  background: var(--admin-surface);
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius-sm);
}
.review-unified-header__left {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
}
.review-unified-header__back {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border-radius: var(--admin-radius-sm);
  background: var(--admin-bg);
  color: var(--admin-text);
  text-decoration: none;
  font-size: 16px;
  flex-shrink: 0;
}
.review-unified-header__back:hover {
  background: var(--admin-border);
}
.review-unified-header__info {
  display: flex;
  flex-direction: column;
  min-width: 0;
}
.review-unified-header__name {
  font-weight: 600;
  font-size: 15px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.review-unified-header__stats {
  font-size: 11px;
  color: var(--admin-text-dim);
  font-family: var(--admin-font-mono);
}
.review-legend-dots {
  display: flex;
  align-items: center;
  gap: 4px;
  flex-shrink: 0;
}
.review-legend-dots__dot {
  width: 8px;
  height: 8px;
  border-radius: 2px;
}
.review-legend-dots__dot--green {
  background: var(--admin-success);
}
.review-legend-dots__dot--lime {
  background: #84cc16;
}
.review-legend-dots__dot--yellow {
  background: var(--admin-warning);
}
.review-legend-dots__dot--red {
  background: var(--admin-error);
}
.review-unified-header__tabs {
  display: flex;
  gap: 2px;
  background: var(--admin-bg);
  border-radius: 6px;
  padding: 2px;
}
.review-unified-header__tab {
  padding: 4px 10px;
  font-size: 12px;
  font-weight: 500;
  border: none;
  border-radius: 4px;
  background: transparent;
  color: var(--admin-text-dim);
  cursor: pointer;
  transition: all 0.15s;
  white-space: nowrap;
}
.review-unified-header__tab:hover {
  color: var(--admin-text);
  background: var(--admin-surface);
}
.review-unified-header__tab--active {
  background: var(--admin-accent);
  color: white;
}
.review-unified-header__tab-count {
  font-size: 10px;
  opacity: 0.8;
  font-family: var(--admin-font-mono);
}
.review-unified-header__controls {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 4px;
  margin-left: auto;
}
.review-unified-header__sort {
  display: flex;
  align-items: center;
}
.review-unified-header__btn {
  padding: 4px 10px;
  font-size: 12px;
  border: 1px solid var(--admin-border);
  border-radius: 4px;
  background: transparent;
  color: var(--admin-text-dim);
  cursor: pointer;
  transition: all 0.15s;
  white-space: nowrap;
  font-family: inherit;
}
.review-unified-header__btn:hover {
  border-color: var(--admin-accent);
  color: var(--admin-text);
}
.review-unified-header__btn--active {
  color: var(--admin-accent);
  border-color: var(--admin-accent);
}
.review-unified-header__btn--verify {
  background: var(--admin-success);
  color: white;
  border-color: var(--admin-success);
}
.review-unified-header__btn--verify:hover {
  background: #16a34a;
}
.review-unified-header__btn:disabled {
  opacity: 0.3;
  cursor: default;
}
.review-unified-header__view-toggle {
  display: flex;
  gap: 1px;
  background: var(--admin-bg);
  border-radius: 4px;
  padding: 1px;
}
.review-unified-header__view-btn {
  padding: 3px 8px;
  font-size: 11px;
  border: none;
  border-radius: 3px;
  background: transparent;
  color: var(--admin-text-dim);
  cursor: pointer;
  transition: all 0.15s;
  font-family: inherit;
}
.review-unified-header__view-btn:hover {
  color: var(--admin-text);
}
.review-unified-header__view-btn--active {
  background: var(--admin-accent);
  color: white;
}
.review-filter-drawer {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 16px;
  padding: 10px 12px;
  margin-bottom: 8px;
  background: var(--admin-surface);
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius-sm);
  animation: review-drawer-open 0.15s ease-out;
}
@keyframes review-drawer-open {
  from {
    opacity: 0;
    max-height: 0;
    padding-top: 0;
    padding-bottom: 0;
  }
  to {
    opacity: 1;
    max-height: 200px;
  }
}
.review-filter-drawer__filters {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px 12px;
  width: 100%;
}
.review-filter-drawer__group {
  display: flex;
  align-items: center;
  gap: 4px;
}
.review-filter-drawer__label {
  font-size: 12px;
  font-weight: 500;
  color: var(--admin-text-dim);
  text-transform: uppercase;
  letter-spacing: 0.3px;
  white-space: nowrap;
}
.review-filter-drawer__nsfw {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 4px;
  width: 100%;
}
.review-filter-drawer__portfolio {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 4px;
  width: 100%;
}
.review-nsfw-badge {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 5px 12px;
  font-size: 14px;
  border: 2px solid;
  border-radius: 12px;
  cursor: pointer;
  transition: all 0.15s;
  font-family: inherit;
  line-height: 1.2;
}
.review-nsfw-badge:hover {
  opacity: 0.85;
}
.review-nsfw-badge--active {
  box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.15);
}
.review-nsfw-badge__count {
  font-weight: 700;
  font-size: 15px;
}
.review-date-group {
  margin-bottom: 4px;
}
.review-date-group__header {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 8px 12px;
  background: var(--admin-surface);
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius-sm);
  cursor: pointer;
  position: sticky;
  top: 48px;
  z-index: 10;
  list-style: none;
  user-select: none;
}
.review-date-group__header::-webkit-details-marker {
  display: none;
}
.review-date-group__header::before {
  content: "\25be  ";
  font-size: 12px;
  color: var(--admin-text-dim);
}
.review-date-group:not([open]) > .review-date-group__header::before {
  content: "\25b8  ";
}
.review-date-group__label {
  font-size: 13px;
  font-weight: 600;
}
.review-date-group__count {
  font-size: 11px;
  color: var(--admin-text-dim);
  margin-left: auto;
  font-family: var(--admin-font-mono);
}
.review-date-group > .review-grid {
  margin-top: 4px;
  margin-bottom: 8px;
}
.review-card__overlay {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  display: flex;
  justify-content: center;
  gap: 4px;
  padding: 4px;
  background: linear-gradient(transparent, rgba(0, 0, 0, 0.7));
  opacity: 0;
  transition: opacity 0.15s;
  z-index: 4;
}
.review-card:hover .review-card__overlay {
  opacity: 1;
}
.review-card__action-icon {
  width: 28px;
  height: 28px;
  border: none;
  border-radius: 4px;
  cursor: pointer;
  font-size: 16px;
  font-weight: bold;
  color: white;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: transform 0.1s;
}
.review-card__action-icon:hover {
  transform: scale(1.15);
}
.review-card__action-icon--reassign {
  background: var(--admin-info);
}
.review-card__action-icon--wrong {
  background: var(--admin-error);
}
.review-card__action-icon--not-face {
  background: #ff6600;
}
.nsfw-person-grid--wide {
  grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
  max-height: 400px;
}
.review-shot-modal {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.9);
  z-index: 200;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: var(--space-4);
}
.review-shot-modal__content {
  max-width: 95vw;
  max-height: 95vh;
  position: relative;
}
.review-shot-modal__image {
  max-width: 90vw;
  max-height: 70vh;
  display: block;
  border-radius: var(--admin-radius-sm);
}
@media (min-width: 600px) {
  .review-shot-modal__image {
    max-width: 85vw;
    max-height: 80vh;
  }
}
.review-shot-modal__close {
  position: absolute;
  top: -40px;
  right: 0;
}
.review-shot-modal__controls {
  display: flex;
  gap: var(--space-2);
  align-items: center;
  flex-wrap: wrap;
  margin-bottom: var(--space-2);
}
.review-shot-modal__info {
  margin-top: var(--space-3);
  padding: var(--space-3);
  background: var(--admin-surface);
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius-sm);
  font-size: var(--admin-text-sm);
  font-family: var(--admin-font-mono);
}
.review-modal-face-box {
  position: absolute;
  border: 3px solid;
  z-index: 10;
}
[data-draw-mode=true] .review-modal-face-box {
  pointer-events: none;
}
.review-modal-face-box--current {
  border-color: var(--admin-success);
}
.review-modal-face-box--other {
  border-color: var(--admin-warning);
}
.review-modal-face-box--moving {
  border-color: #00bfff;
  border-style: dashed;
  box-shadow: 0 0 10px rgba(0, 191, 255, 0.5);
  cursor: move !important;
  z-index: 20;
}
.face-box-resize-handle {
  position: absolute;
  width: 16px !important;
  height: 16px !important;
  background: #00bfff !important;
  border: 2px solid white !important;
  border-radius: 3px !important;
  z-index: 25 !important;
  box-shadow: 0 0 4px rgba(0, 0, 0, 0.5);
  transition: transform 0.1s ease;
}
.face-box-resize-handle:hover {
  transform: scale(1.3);
  background: #00ff88 !important;
}
.review-modal-face-box__label {
  position: absolute;
  bottom: 100%;
  left: 0;
  padding: 2px 6px;
  font-size: 10px;
  white-space: nowrap;
}
.review-modal-face-box__label--current {
  background: var(--admin-success);
  color: white;
}
.review-modal-face-box__label--other {
  background: var(--admin-warning);
  color: #1f2937;
}
.review-modal-face-box__actions {
  position: absolute;
  top: 100%;
  left: 0;
  display: flex;
  gap: 2px;
  margin-top: 2px;
}
.review-modal-blacklist-box {
  position: absolute;
  border: 3px dashed var(--admin-text-muted);
  background: rgba(128, 128, 128, 0.2);
  z-index: 5;
  pointer-events: none;
}
.review-modal-blacklist-box__label {
  position: absolute;
  bottom: 100%;
  left: 0;
  padding: 2px 6px;
  font-size: 10px;
  white-space: nowrap;
  background: var(--admin-text-muted);
  color: white;
}
.admin-device-badge {
  position: fixed;
  bottom: var(--space-2);
  right: var(--space-2);
  background: rgba(0, 0, 0, 0.75);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius);
  padding: 4px 8px;
  font-family: var(--admin-font-mono);
  font-size: 9px;
  color: var(--admin-text-dim);
  z-index: 99;
  max-width: calc(100vw - 20px);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  opacity: 0.7;
  transition: opacity 0.2s;
}
.admin-device-badge:hover {
  opacity: 1;
}
.admin-device-badge span {
  letter-spacing: 0.01em;
}
@media (max-width: 600px) {
  .admin-device-badge {
    bottom: 4px;
    right: 4px;
    font-size: 8px;
    padding: 3px 6px;
    max-width: 200px;
  }
}
@media (max-height: 500px) and (orientation: landscape) {
  .admin-device-badge {
    bottom: 4px;
    font-size: 8px;
    padding: 2px 6px;
  }
}
.admin-help-section {
  margin-bottom: var(--space-4);
  padding-bottom: var(--space-4);
  border-bottom: 1px solid var(--admin-border);
}
.admin-help-section:last-child {
  border-bottom: none;
  margin-bottom: 0;
  padding-bottom: 0;
}
.admin-help-section__title {
  font-size: var(--admin-text-sm);
  font-weight: 600;
  color: var(--admin-text);
  margin-bottom: var(--space-2);
  text-transform: uppercase;
  letter-spacing: 0.05em;
}
.admin-help-list {
  margin: 0;
  padding: 0 0 0 var(--space-4);
  list-style: disc;
}
.admin-help-list li {
  margin-bottom: var(--space-1);
  color: var(--admin-text-muted);
  font-size: var(--admin-text-sm);
}
.admin-pin-screen {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-height: 70vh;
}
.admin-pin-card {
  text-align: center;
  min-width: 320px;
}
.admin-pin-input {
  text-align: center;
  letter-spacing: 8px;
}
.admin-pin-display {
  letter-spacing: 4px;
}
.admin-panels {
  display: flex;
  flex-direction: column;
  gap: var(--space-6);
}
.admin-card--warning {
  border-color: var(--admin-warning);
  background: rgba(245, 158, 11, 0.05);
}
.admin-card--danger {
  border-color: var(--admin-error);
  background: rgba(239, 68, 68, 0.05);
}
.admin-live-status {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: var(--admin-text-xs);
  font-family: var(--admin-font-mono);
}
.admin-date-pin-form {
  background: rgba(0, 0, 0, 0.2);
  border: 1px solid var(--admin-border);
  padding: var(--space-4);
  border-radius: var(--admin-radius-sm);
  margin-top: var(--space-4);
}
.admin-date-pin-grid {
  display: grid;
  grid-template-columns: 1fr 1fr 120px 1fr auto;
  gap: var(--space-3);
  align-items: end;
}
@media (max-width: 900px) {
  .admin-date-pin-grid {
    grid-template-columns: 1fr 1fr;
  }
}
@media (max-width: 600px) {
  .admin-date-pin-grid {
    grid-template-columns: 1fr;
  }
}
.admin-btn-toggle-group {
  display: flex;
  gap: 0;
}
.admin-btn--toggle {
  flex: 1;
  padding: var(--space-3) var(--space-4);
  background: var(--admin-surface);
  border: 1px solid var(--admin-border);
  color: var(--admin-text-muted);
  font-family: var(--admin-font-mono);
  font-size: var(--admin-text-sm);
  cursor: pointer;
  transition: all var(--admin-transition);
}
.admin-btn--toggle:first-child {
  border-radius: var(--admin-radius-sm) 0 0 var(--admin-radius-sm);
}
.admin-btn--toggle:last-child {
  border-radius: 0 var(--admin-radius-sm) var(--admin-radius-sm) 0;
  border-left: none;
}
.admin-btn--toggle:hover {
  background: var(--admin-surface-hover);
}
.admin-btn--toggle.active {
  background: var(--admin-primary);
  border-color: var(--admin-primary);
  color: white;
}
.admin-share-expiry {
  display: flex;
  align-items: center;
  gap: var(--space-3);
  flex-wrap: wrap;
}
.admin-input--inline {
  width: auto;
  min-width: 120px;
}
.admin-share-link-created {
  padding: var(--space-2);
}
.admin-share-link-created__header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: var(--space-2);
}
.admin-share-link-url {
  background: rgba(0, 0, 0, 0.2);
  padding: var(--space-3);
  border-radius: var(--admin-radius-sm);
  word-break: break-all;
}
.admin-share-link-url code {
  color: var(--admin-success);
  font-size: var(--admin-text-sm);
}
.admin-share-thumb {
  width: 30px;
  height: 30px;
  object-fit: cover;
  vertical-align: middle;
  margin-left: var(--space-2);
  border-radius: var(--admin-radius-sm);
}
.admin-share-views-row {
  background: rgba(59, 130, 246, 0.05);
}
.admin-share-views {
  padding: var(--space-4);
}
.admin-share-views__header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: var(--space-3);
}
.admin-table--compact {
  font-size: var(--admin-text-xs);
}
.admin-table--compact th,
.admin-table--compact td {
  padding: var(--space-2);
}
.admin-table--nested {
  font-size: 0.7rem;
  margin-top: var(--space-2);
}
.admin-table--nested th,
.admin-table--nested td {
  padding: var(--space-1) var(--space-2);
}
.admin-row-disabled {
  opacity: 0.4;
}
.admin-empty-state {
  text-align: center;
  padding: var(--space-6);
  color: var(--admin-text-dim);
  font-family: var(--admin-font-mono);
  font-size: var(--admin-text-sm);
}
.admin-image-nav {
  display: flex;
  align-items: center;
  gap: var(--space-4);
  flex-wrap: wrap;
  margin-bottom: var(--space-4);
}
.admin-inline-form {
  display: inline-flex;
}
.admin-input-page {
  width: 60px;
  text-align: center;
}
.admin-input-id {
  width: 100px;
}
.admin-divider-v {
  width: 1px;
  height: 30px;
  background: var(--admin-border);
}
.admin-btn-close {
  background: transparent;
  border: none;
  color: var(--admin-text-muted);
  cursor: pointer;
  font-size: var(--admin-text-lg);
  padding: var(--space-1);
  line-height: 1;
}
.admin-btn-close:hover {
  color: var(--admin-text);
}
.admin-btn-group {
  display: flex;
  gap: var(--space-2);
  justify-content: center;
}
.admin-btn-xs {
  padding: 2px 6px;
  font-size: 0.65rem;
}
.admin-footer {
  display: flex;
  justify-content: space-between;
  margin-top: var(--space-6);
  padding-top: var(--space-4);
  border-top: 1px solid var(--admin-border);
}
.admin-self-end {
  align-self: flex-end;
}
.admin-gap-2 {
  gap: var(--space-2);
}
.admin-gap-3 {
  gap: var(--space-3);
}
.admin-items-center {
  align-items: center;
}
.admin-text-warning {
  color: var(--admin-warning);
}
.admin-modal--lg {
  max-width: 700px;
}
.admin-tier-badge {
  font-size: var(--admin-text-xs);
  font-weight: 600;
  padding: 4px 12px;
  border-radius: 12px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}
.admin-tier-badge.tier-lite {
  background: rgba(148, 163, 184, 0.2);
  color: #94a3b8;
}
.admin-tier-badge.tier-pro {
  background: rgba(59, 130, 246, 0.2);
  color: #60a5fa;
}
.admin-tier-badge.tier-advanced {
  background: rgba(168, 85, 247, 0.2);
  color: #a855f7;
}
.admin-tier-badge.tier-developer {
  background: rgba(239, 68, 68, 0.2);
  color: #f87171;
}
.modes-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
  gap: var(--space-4);
}
.mode-card {
  background: var(--admin-bg);
  border: 2px solid var(--admin-border);
  border-radius: var(--admin-radius-lg);
  padding: var(--space-4);
  cursor: pointer;
  transition: all var(--admin-transition);
  position: relative;
}
.mode-card:hover {
  border-color: var(--admin-primary);
  background: var(--admin-bg-alt);
  transform: translateY(-2px);
}
.mode-card--selected {
  border-color: var(--admin-accent);
  background: rgba(233, 69, 96, 0.1);
}
.mode-card--selected:hover {
  border-color: var(--admin-accent-hover);
}
.mode-card__icon {
  font-size: 32px;
  margin-bottom: var(--space-2);
}
.mode-card__name {
  font-size: var(--admin-text-lg);
  font-weight: 600;
  color: var(--admin-text);
  margin: 0 0 var(--space-2) 0;
}
.mode-card__desc {
  font-size: var(--admin-text-sm);
  color: var(--admin-text-muted);
  margin: 0 0 var(--space-3) 0;
  line-height: 1.4;
}
.mode-card__tier {
  font-size: var(--admin-text-xs);
  color: var(--admin-text-dim);
}
.mode-card__selected-badge {
  position: absolute;
  top: var(--space-2);
  right: var(--space-2);
  font-size: 10px;
  font-weight: 600;
  background: var(--admin-accent);
  color: white;
  padding: 2px 8px;
  border-radius: 10px;
  text-transform: uppercase;
}
.feature-groups {
  display: flex;
  flex-direction: column;
  gap: var(--space-6);
}
.feature-group {
  padding-bottom: var(--space-4);
  border-bottom: 1px solid var(--admin-border);
}
.feature-group:last-child {
  border-bottom: none;
  padding-bottom: 0;
}
.feature-group__title {
  font-size: var(--admin-text-base);
  font-weight: 600;
  color: var(--admin-text);
  margin: 0 0 var(--space-1) 0;
}
.feature-group__desc {
  font-size: var(--admin-text-sm);
  color: var(--admin-text-muted);
  margin: 0 0 var(--space-3) 0;
}
.feature-list {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: var(--space-2);
}
.feature-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: var(--space-2) var(--space-3);
  background: var(--admin-bg);
  border-radius: var(--admin-radius-sm);
  border: 1px solid transparent;
  transition: all var(--admin-transition);
}
.feature-item:hover {
  background: var(--admin-surface-hover);
}
.feature-item--enabled {
  border-color: rgba(16, 185, 129, 0.3);
  background: rgba(16, 185, 129, 0.05);
}
.feature-item--locked {
  opacity: 0.5;
  cursor: not-allowed;
}
.feature-item__label {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  cursor: pointer;
}
.feature-item--locked .feature-item__label {
  cursor: not-allowed;
}
.feature-item__label input[type=checkbox] {
  width: 16px;
  height: 16px;
  accent-color: var(--admin-success);
  cursor: pointer;
}
.feature-item--locked .feature-item__label input[type=checkbox] {
  cursor: not-allowed;
}
.feature-item__name {
  font-size: var(--admin-text-sm);
  color: var(--admin-text);
}
.feature-status-badge {
  font-size: 10px;
  font-weight: 500;
  padding: 2px 8px;
  border-radius: 10px;
  white-space: nowrap;
}
.feature-status-badge.status-enabled {
  background: rgba(16, 185, 129, 0.2);
  color: #10b981;
}
.feature-status-badge.status-optional {
  background: rgba(59, 130, 246, 0.2);
  color: #60a5fa;
}
.feature-status-badge.status-optional-enabled {
  background: rgba(59, 130, 246, 0.3);
  color: #93c5fd;
}
.feature-status-badge.status-disabled {
  background: rgba(148, 163, 184, 0.15);
  color: #94a3b8;
}
.feature-status-badge.status-overridden {
  background: rgba(245, 158, 11, 0.2);
  color: #f59e0b;
}
.feature-status-badge.status-locked {
  background: rgba(239, 68, 68, 0.15);
  color: #f87171;
}
.admin-card--warning {
  border-left: 3px solid var(--admin-warning);
}
.overrides-list {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-2);
}
.override-item {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  padding: var(--space-2) var(--space-3);
  background: var(--admin-bg);
  border-radius: var(--admin-radius-sm);
  font-size: var(--admin-text-sm);
}
.override-item__feature {
  color: var(--admin-text);
}
.override-item__value {
  font-weight: 500;
}
.override-item__value.override-enabled {
  color: var(--admin-success);
}
.override-item__value.override-disabled {
  color: var(--admin-error);
}
.admin-actions {
  padding: var(--space-4) 0;
}
.modes-help-overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.6);
  z-index: 1000;
}
.modes-help-modal {
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background: var(--admin-surface);
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius-lg);
  padding: var(--space-6);
  max-width: 500px;
  width: 90%;
  max-height: 80vh;
  overflow-y: auto;
  z-index: 1001;
}
.modes-help-modal h2 {
  font-size: var(--admin-text-xl);
  color: var(--admin-text);
  margin: 0 0 var(--space-4) 0;
}
.modes-help-modal h3 {
  font-size: var(--admin-text-base);
  color: var(--admin-text);
  margin: var(--space-4) 0 var(--space-2) 0;
}
.modes-help-modal p {
  font-size: var(--admin-text-sm);
  color: var(--admin-text-muted);
  margin: 0 0 var(--space-2) 0;
  line-height: 1.5;
}
.modes-help-modal ul {
  margin: 0 0 var(--space-3) 0;
  padding-left: var(--space-4);
}
.modes-help-modal li {
  font-size: var(--admin-text-sm);
  color: var(--admin-text-muted);
  margin-bottom: var(--space-1);
  line-height: 1.4;
}
@media (max-width: 768px) {
  .modes-grid {
    grid-template-columns: 1fr;
  }
  .feature-list {
    grid-template-columns: 1fr;
  }
  .mode-card {
    padding: var(--space-3);
  }
  .mode-card__icon {
    font-size: 24px;
  }
}
@media (max-width: 480px) {
  .admin-tier-badge {
    font-size: 9px;
    padding: 3px 8px;
  }
  .feature-item {
    flex-direction: column;
    align-items: flex-start;
    gap: var(--space-1);
  }
  .feature-status-badge {
    font-size: 9px;
  }
}
.processing-status {
  margin-bottom: var(--space-4);
}
.processing-status__header {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  margin-bottom: var(--space-3);
}
.processing-status__indicator {
  color: var(--admin-success);
  font-size: 1.25rem;
  animation: pulse 1s ease-in-out infinite;
}
.processing-status__indicator--idle {
  color: var(--admin-text-dim);
  animation: none;
}
@keyframes pulse {
  0%, 100% {
    opacity: 1;
  }
  50% {
    opacity: 0.5;
  }
}
.processing-status__label {
  font-weight: 600;
  font-size: 0.875rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}
.processing-status--active .processing-status__label {
  color: var(--admin-success);
}
.processing-status--idle .processing-status__label {
  color: var(--admin-text-dim);
}
.processing-progress {
  display: flex;
  align-items: center;
  gap: var(--space-3);
  margin-bottom: var(--space-4);
}
.processing-progress__bar {
  flex: 1;
  height: 8px;
  background: var(--admin-surface);
  border-radius: 4px;
  overflow: hidden;
}
.processing-progress__fill {
  height: 100%;
  background: linear-gradient(90deg, var(--admin-success), #34d399);
  border-radius: 4px;
  transition: width 0.3s ease;
}
.processing-progress__text {
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--admin-success);
  min-width: 40px;
  text-align: right;
}
.processing-stats {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(80px, 1fr));
  gap: var(--space-3);
  margin-bottom: var(--space-4);
}
.processing-stat {
  text-align: center;
  padding: var(--space-2);
  background: var(--admin-surface);
  border-radius: 6px;
}
.processing-stat__value {
  font-size: 1.25rem;
  font-weight: 700;
  color: var(--admin-text);
}
.processing-stat__label {
  font-size: 0.75rem;
  color: var(--admin-text-muted);
  text-transform: uppercase;
  letter-spacing: 0.05em;
}
.processing-current {
  font-size: 0.8rem;
  color: var(--admin-text-muted);
  margin-bottom: var(--space-3);
  padding: var(--space-2);
  background: var(--admin-surface);
  border-radius: 4px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.processing-current__label {
  color: var(--admin-text-dim);
  margin-right: var(--space-2);
}
.processing-current__file {
  font-family: monospace;
  color: var(--admin-text);
}
.processing-errors {
  color: var(--admin-error);
  font-size: 0.875rem;
  margin-bottom: var(--space-3);
}
.processing-actions {
  display: flex;
  gap: var(--space-3);
  flex-wrap: wrap;
  margin-top: var(--space-4);
  padding-top: var(--space-4);
  border-top: 1px solid var(--admin-border);
}
.processing-actions .admin-btn {
  flex: 1;
  min-width: 150px;
}
.processing-status-bar {
  display: flex;
  align-items: center;
  gap: var(--space-4);
  margin-bottom: var(--space-4);
  padding-bottom: var(--space-3);
  border-bottom: 1px solid var(--admin-border);
}
.processing-indicator {
  font-weight: 600;
  font-size: 0.875rem;
}
.processing-indicator--active {
  color: var(--admin-success);
  animation: pulse 1s ease-in-out infinite;
}
.processing-indicator--idle {
  color: var(--admin-text-dim);
}
.processing-queue,
.processing-rate {
  font-size: 0.8rem;
  color: var(--admin-text-muted);
}
.processing-log {
  max-height: 400px;
  overflow-y: auto;
  font-family: monospace;
  font-size: 0.8rem;
}
.processing-log__entry {
  display: flex;
  align-items: center;
  gap: var(--space-3);
  padding: var(--space-2) var(--space-3);
  border-bottom: 1px solid var(--admin-border);
}
.processing-log__entry:hover {
  background: var(--admin-surface);
}
.processing-log__entry--error {
  background: var(--admin-error-bg);
}
.processing-log__status {
  width: 1.5rem;
  text-align: center;
}
.processing-log__entry:not(.processing-log__entry--error) .processing-log__status {
  color: var(--admin-success);
}
.processing-log__entry--error .processing-log__status {
  color: var(--admin-error);
}
.processing-log__filename {
  flex: 1;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: var(--admin-text);
}
.processing-log__time {
  color: var(--admin-text-dim);
  min-width: 50px;
  text-align: right;
}
.processing-log__empty {
  padding: var(--space-4);
  text-align: center;
  color: var(--admin-text-dim);
}
.doc-pins-container {
  max-width: 1200px;
  margin: 0 auto;
  padding: var(--space-5);
  color: var(--admin-text);
}
.doc-pins-header h1 {
  margin: 0;
  font-size: var(--admin-text-2xl);
  color: var(--admin-text);
}
.doc-pins-actions {
  margin: var(--space-5) 0;
  display: flex;
  gap: var(--space-3);
}
.doc-pins-btn-primary {
  background: var(--admin-primary);
  color: #fff;
  border: none;
  padding: var(--space-3) var(--space-5);
  cursor: pointer;
  font-size: var(--admin-text-sm);
  border-radius: var(--admin-radius);
  transition: background var(--admin-transition);
}
.doc-pins-btn-primary:hover {
  background: var(--admin-primary-hover);
}
.doc-pins-btn-secondary {
  background: transparent;
  color: var(--admin-text-muted);
  border: 1px solid var(--admin-border);
  padding: var(--space-3) var(--space-5);
  cursor: pointer;
  font-size: var(--admin-text-sm);
  border-radius: var(--admin-radius);
  text-decoration: none;
  transition: background var(--admin-transition);
}
.doc-pins-btn-secondary:hover {
  background: var(--admin-surface-hover);
}
.doc-pins-btn-sm {
  background: transparent;
  color: var(--admin-text-muted);
  border: 1px solid var(--admin-border);
  padding: var(--space-1) var(--space-2);
  cursor: pointer;
  font-size: var(--admin-text-xs);
  border-radius: var(--admin-radius);
  margin-right: var(--space-1);
  transition: background var(--admin-transition);
}
.doc-pins-btn-sm:hover {
  background: var(--admin-surface-hover);
}
.doc-pins-btn-danger {
  border-color: var(--admin-error);
  color: var(--admin-error);
}
.doc-pins-btn-danger:hover {
  background: var(--admin-error-bg);
}
.doc-pins-table-wrap {
  overflow-x: auto;
}
.doc-pins-table {
  width: 100%;
  border-collapse: collapse;
  background: var(--admin-surface);
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius);
}
.doc-pins-table th,
.doc-pins-table td {
  padding: var(--space-3);
  text-align: left;
  border-bottom: 1px solid var(--admin-border);
}
.doc-pins-table th {
  background: var(--admin-bg);
  font-weight: 500;
  text-transform: uppercase;
  font-size: var(--admin-text-xs);
  letter-spacing: 0.05em;
  color: var(--admin-text-muted);
}
.doc-pins-disabled-row {
  opacity: 0.5;
}
.doc-pins-value code {
  background: var(--admin-bg);
  padding: var(--space-1) var(--space-2);
  border-radius: var(--admin-radius);
  font-size: var(--admin-text-sm);
  letter-spacing: 0.15em;
  color: var(--admin-accent);
}
.doc-pins-paths-cell {
  max-width: 200px;
}
.doc-pins-path-tag {
  display: inline-block;
  background: var(--admin-info-bg);
  color: var(--admin-info);
  padding: 2px var(--space-2);
  margin: 2px;
  border-radius: var(--admin-radius);
  font-size: var(--admin-text-xs);
}
.doc-pins-numeric {
  text-align: right;
}
.doc-pins-never {
  opacity: 0.5;
}
.doc-pins-expired {
  color: var(--admin-error);
}
.doc-pins-status-badge {
  display: inline-block;
  padding: 3px var(--space-2);
  border-radius: var(--admin-radius);
  font-size: var(--admin-text-xs);
  text-transform: uppercase;
  font-weight: 500;
}
.doc-pins-status-active {
  background: var(--admin-success);
  color: #000;
}
.doc-pins-status-disabled {
  background: var(--admin-text-dim);
  color: #fff;
}
.doc-pins-status-expired {
  background: var(--admin-error);
  color: #fff;
}
.doc-pins-actions-cell {
  white-space: nowrap;
}
.doc-pins-empty {
  padding: var(--space-8);
  text-align: center;
  color: var(--admin-text-dim);
}
.doc-pins-legacy-note {
  margin-top: var(--space-6);
  padding: var(--space-5);
  background: var(--admin-surface);
  border: 1px solid var(--admin-border);
  border-left: 3px solid var(--admin-text-dim);
  border-radius: var(--admin-radius);
}
.doc-pins-legacy-note h3 {
  margin: 0 0 var(--space-3) 0;
  font-size: var(--admin-text-sm);
  color: var(--admin-text);
}
.doc-pins-legacy-note p {
  margin: var(--space-1) 0;
  color: var(--admin-text-muted);
}
.doc-pins-legacy-note ul {
  margin: var(--space-3) 0;
  padding-left: var(--space-5);
  color: var(--admin-text-muted);
}
.doc-pins-legacy-note code {
  background: var(--admin-bg);
  padding: 2px var(--space-2);
  border-radius: var(--admin-radius);
  color: var(--admin-accent);
}
.doc-pins-modal-overlay {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.8);
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 1000;
}
.doc-pins-modal {
  background: var(--admin-surface);
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius-lg);
  padding: var(--space-6);
  max-width: 500px;
  width: 90%;
  box-shadow: var(--admin-shadow-lg);
}
.doc-pins-modal h2 {
  margin: 0 0 var(--space-5) 0;
  font-size: var(--admin-text-xl);
  color: var(--admin-text);
}
.doc-pins-form-group {
  margin-bottom: var(--space-5);
}
.doc-pins-form-group label {
  display: block;
  margin-bottom: var(--space-2);
  font-size: var(--admin-text-xs);
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--admin-text-muted);
}
.doc-pins-form-group input[type=text],
.doc-pins-form-group select {
  width: 100%;
  background: var(--admin-bg);
  border: 1px solid var(--admin-border);
  color: var(--admin-text);
  padding: var(--space-3);
  font-size: var(--admin-text-sm);
  border-radius: var(--admin-radius);
  transition: border-color var(--admin-transition);
}
.doc-pins-form-group input:focus,
.doc-pins-form-group select:focus {
  outline: none;
  border-color: var(--admin-primary);
  box-shadow: 0 0 0 2px rgba(59, 130, 246, 0.2);
}
.doc-pins-input-row {
  display: flex;
  gap: var(--space-3);
}
.doc-pins-input-row input {
  flex: 1;
}
.doc-pins-checkbox-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--space-3);
}
.doc-pins-checkbox-label {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  cursor: pointer;
  font-size: var(--admin-text-sm);
  color: var(--admin-text);
}
.doc-pins-checkbox-label input {
  accent-color: var(--admin-primary);
}
.doc-pins-modal-actions {
  display: flex;
  gap: var(--space-3);
  margin-top: var(--space-6);
}
.admin-login-container {
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: var(--space-4);
  background: var(--admin-bg);
}
.admin-login-card {
  width: 100%;
  max-width: 400px;
  background: var(--admin-surface);
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius-lg);
  box-shadow: var(--admin-shadow-lg);
  padding: var(--space-8);
}
.admin-login-header {
  text-align: center;
  margin-bottom: var(--space-6);
}
.admin-login-title {
  font-size: var(--admin-text-2xl);
  font-weight: 700;
  color: var(--admin-accent);
  margin: 0 0 var(--space-2) 0;
}
.admin-login-subtitle {
  font-size: var(--admin-text-base);
  color: var(--admin-text-muted);
  margin: 0;
}
.admin-login-input {
  width: 100%;
  padding: var(--space-4);
  font-size: var(--admin-text-xl);
  text-align: center;
  letter-spacing: 0.5em;
  background: var(--admin-bg);
  border: 2px solid var(--admin-border);
  border-radius: var(--admin-radius);
  color: var(--admin-text);
  transition: border-color var(--admin-transition);
}
.admin-login-input:focus {
  outline: none;
  border-color: var(--admin-primary);
}
.admin-login-input:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}
.admin-login-btn {
  width: 100%;
  margin-top: var(--space-4);
}
.admin-login-footer {
  text-align: center;
  margin-top: var(--space-6);
}
.admin-login-footer a {
  text-decoration: none;
}
.admin-login-footer a:hover {
  color: var(--admin-text);
}
.lq-header-row {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}
.lq-clock {
  text-align: right;
  flex-shrink: 0;
}
.lq-clock-time {
  display: block;
  font-size: 2rem;
  font-weight: 700;
  color: var(--admin-text);
  font-variant-numeric: tabular-nums;
  line-height: 1;
}
.lq-clock-date {
  display: block;
  font-size: 0.85rem;
  color: var(--admin-text-muted);
  margin-top: 2px;
}
.lq-stats-grid {
  grid-template-columns: repeat(4, 1fr);
}
.lq-pipeline-bars {
  display: flex;
  gap: 6px;
}
.lq-pipeline-stage {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.lq-pipeline-bar-wrap {
  width: 100%;
  height: 80px;
  display: flex;
  align-items: flex-end;
}
.lq-pipeline-bar {
  width: 100%;
  min-height: 4px;
  border-radius: 4px 4px 0 0;
  transition: height 0.3s ease;
}
.lq-pipeline-label {
  font-size: 0.7rem;
  color: var(--admin-text-muted);
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin-top: 6px;
}
.lq-pipeline-count {
  font-size: 1.1rem;
  font-weight: 600;
  color: var(--admin-text);
}
.lq-table {
  width: 100%;
}
.lq-tc-cell {
  font-family: monospace;
  font-weight: 600;
}
.lq-film-cell {
  font-size: 0.85rem;
}
.lq-status-badge {
  display: inline-block;
  padding: 2px 10px;
  border-radius: 4px;
  font-size: 0.75rem;
  font-weight: 600;
  background: color-mix(in srgb, var(--badge-color) 15%, transparent);
  color: var(--badge-color);
}
.lq-age-overdue {
  color: var(--admin-error);
  font-weight: 600;
}
.lq-age-warning {
  color: var(--admin-warning);
}
.lq-age-ok {
  color: var(--admin-success);
}
.lq-qc-pass {
  color: var(--admin-success);
  font-weight: 600;
}
.lq-qc-fail {
  color: var(--admin-error);
  font-weight: 600;
}
.lq-delivery-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 10px 0;
  border-bottom: 1px solid var(--admin-border);
}
.lq-delivery-row:last-child {
  border-bottom: none;
}
.lq-delivery-info {
  display: flex;
  align-items: center;
  gap: 10px;
}
.lq-delivery-name {
  font-weight: 600;
}
.lq-delivery-complete {
  color: var(--admin-success);
}
.lq-delivery-progress {
  color: var(--admin-warning);
}
.lq-delivery-opened {
  color: var(--admin-info);
}
.lq-empty-state {
  text-align: center;
  color: var(--admin-text-muted);
  padding: 24px;
}
@media (max-width: 768px) {
  .lq-stats-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .lq-header-row {
    flex-direction: column;
    gap: 8px;
  }
  .lq-clock {
    text-align: left;
  }
  .lq-clock-time {
    font-size: 1.5rem;
  }
  .lq-delivery-row {
    flex-direction: column;
    align-items: flex-start;
    gap: 4px;
  }
}
@media (min-width: 1600px) {
  .lq-clock-time {
    font-size: 3rem;
  }
  .lq-clock-date {
    font-size: 1.1rem;
  }
  .lq-pipeline-count {
    font-size: 1.5rem;
  }
  .lq-pipeline-label {
    font-size: 0.85rem;
  }
  .lq-pipeline-bar-wrap {
    height: 120px;
  }
  .lq-table {
    font-size: 1.1rem;
  }
  .lq-table th,
  .lq-table td {
    padding: 12px 16px;
  }
  .lq-delivery-row {
    padding: 14px 0;
    font-size: 1.05rem;
  }
}
.review-toolbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: var(--space-3);
  margin-bottom: var(--space-4);
  flex-wrap: wrap;
}
.review-filters {
  display: flex;
  gap: var(--space-1);
}
.review-filter-btn {
  background: var(--admin-surface);
  border: 1px solid var(--admin-border);
  color: var(--admin-text);
  padding: 6px 14px;
  border-radius: var(--admin-radius-sm);
  cursor: pointer;
  font-size: 0.85rem;
  transition: all var(--admin-transition);
}
.review-filter-btn:hover {
  background: var(--admin-border);
}
.review-filter-btn.active {
  background: var(--admin-accent);
  color: var(--admin-bg);
  border-color: var(--admin-accent);
}
.review-batch-btn {
  background: var(--admin-success);
  color: #000;
  border: none;
  padding: 8px 16px;
  border-radius: var(--admin-radius-sm);
  cursor: pointer;
  font-size: 0.85rem;
  font-weight: 600;
}
.review-batch-btn:hover {
  opacity: 0.9;
}
.lab-review .review-sidebar {
  width: 280px;
  flex-shrink: 0;
  overflow-y: auto;
  max-height: 80vh;
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
}
@media (max-width: 768px) {
  .lab-review .review-sidebar {
    width: 100%;
    max-height: 200px;
    flex-direction: row;
    overflow-x: auto;
    overflow-y: hidden;
  }
  .lab-review .review-sidebar .review-card {
    min-width: 160px;
    flex-shrink: 0;
  }
}
.review-card {
  background: var(--admin-surface);
  border: 2px solid var(--admin-border);
  border-radius: var(--admin-radius-sm);
  padding: var(--space-2) var(--space-3);
  cursor: pointer;
  transition: border-color var(--admin-transition);
}
.review-card:hover {
  border-color: var(--admin-accent);
}
.review-card.selected {
  border-color: var(--admin-accent);
  background: rgba(99, 102, 241, 0.1);
}
.review-card-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 4px;
}
.review-card-id {
  font-weight: 700;
  font-size: 0.9rem;
}
.review-card-filename {
  font-size: 0.8rem;
  color: var(--admin-muted);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.review-card-meta {
  font-size: 0.75rem;
  color: var(--admin-muted);
  display: flex;
  justify-content: space-between;
  margin-top: 4px;
}
.review-card-status {
  text-transform: uppercase;
  font-weight: 600;
  font-size: 0.7rem;
}
.review-qc-badge {
  font-size: 0.75rem;
  font-weight: 700;
  padding: 2px 8px;
  border-radius: 10px;
}
.review-qc-good {
  background: var(--admin-success);
  color: #000;
}
.review-qc-ok {
  background: var(--admin-warning);
  color: #000;
}
.review-qc-bad {
  background: var(--admin-error);
  color: #fff;
}
.review-detail {
  flex: 1;
  min-width: 0;
}
.review-no-selection,
.review-empty {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 300px;
  color: var(--admin-muted);
  font-size: 1.1rem;
}
.review-compare {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--space-3);
  margin-bottom: var(--space-4);
}
@media (max-width: 600px) {
  .review-compare {
    grid-template-columns: 1fr;
  }
}
.review-compare-panel {
  background: var(--admin-surface);
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius-sm);
  overflow: hidden;
}
.review-compare-label {
  padding: var(--space-2) var(--space-3);
  font-size: 0.85rem;
  font-weight: 700;
  text-transform: uppercase;
  border-bottom: 1px solid var(--admin-border);
  margin: 0;
}
.review-preview-img {
  width: 100%;
  display: block;
  max-height: 400px;
  object-fit: contain;
  background: #000;
}
.review-no-preview {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 200px;
  color: var(--admin-muted);
  background: var(--admin-bg);
}
.review-section {
  background: var(--admin-surface);
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius-sm);
  padding: var(--space-3);
  margin-bottom: var(--space-3);
}
.review-section h3 {
  margin: 0 0 var(--space-2) 0;
  font-size: 0.9rem;
  text-transform: uppercase;
  color: var(--admin-muted);
}
.review-scores-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(120px, 1fr));
  gap: var(--space-2);
}
.review-score-item {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.review-score-label {
  font-size: 0.75rem;
  color: var(--admin-muted);
  text-transform: uppercase;
}
.review-score-value {
  font-size: 1.1rem;
  font-weight: 700;
}
.review-corrections-list {
  display: flex;
  flex-direction: column;
  gap: var(--space-1);
}
.review-correction-item {
  font-size: 0.85rem;
  padding: 4px 0;
  border-bottom: 1px solid var(--admin-border);
}
.review-correction-item:last-child {
  border-bottom: none;
}
.review-actions {
  display: flex;
  gap: var(--space-2);
  padding: var(--space-3);
  background: var(--admin-surface);
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius-sm);
  position: sticky;
  bottom: 0;
  flex-wrap: wrap;
}
.review-action-btn {
  padding: 10px 20px;
  border: none;
  border-radius: var(--admin-radius-sm);
  cursor: pointer;
  font-weight: 600;
  font-size: 0.9rem;
  transition: opacity var(--admin-transition);
}
.review-action-btn:hover {
  opacity: 0.85;
}
.review-btn-approve {
  background: var(--admin-success);
  color: #000;
  flex: 1;
}
.review-btn-approve-only {
  background: var(--admin-surface);
  color: var(--admin-success);
  border: 2px solid var(--admin-success);
}
.review-btn-reject {
  background: var(--admin-error);
  color: #fff;
}
.review-btn-reprocess {
  background: var(--admin-surface);
  color: var(--admin-warning);
  border: 2px solid var(--admin-warning);
}
.progress-tracker {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  margin: var(--space-4) 0 var(--space-6) 0;
  padding: var(--space-4) var(--space-3);
  background: var(--admin-surface);
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius, 8px);
  overflow-x: auto;
  position: relative;
}
.progress-step {
  display: flex;
  flex-direction: column;
  align-items: center;
  flex: 1;
  position: relative;
  min-width: 70px;
}
.progress-step::before {
  content: "";
  position: absolute;
  top: 14px;
  left: -50%;
  width: 100%;
  height: 3px;
  background: var(--admin-border);
  z-index: 0;
}
.progress-step:first-child::before {
  display: none;
}
.progress-step.completed::before {
  background: var(--admin-success);
}
.progress-step.current::before {
  background: linear-gradient(90deg, var(--admin-success) 50%, var(--admin-border) 50%);
}
.progress-dot {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: var(--admin-bg);
  border: 3px solid var(--admin-border);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1;
  position: relative;
  font-size: 12px;
}
.progress-step.completed .progress-dot {
  background: var(--admin-success);
  border-color: var(--admin-success);
  color: #000;
}
.progress-step.current .progress-dot {
  background: var(--admin-primary);
  border-color: var(--admin-primary);
  color: #fff;
  box-shadow: 0 0 0 4px rgba(59, 130, 246, 0.25);
  animation: progress-pulse 2s ease-in-out infinite;
}
.progress-step.cancelled .progress-dot {
  background: var(--admin-error);
  border-color: var(--admin-error);
  color: #fff;
}
@keyframes progress-pulse {
  0%, 100% {
    box-shadow: 0 0 0 4px rgba(59, 130, 246, 0.25);
  }
  50% {
    box-shadow: 0 0 0 8px rgba(59, 130, 246, 0.1);
  }
}
.progress-label {
  margin-top: var(--space-2);
  font-size: 0.7rem;
  color: var(--admin-text-dim);
  text-align: center;
  line-height: 1.2;
  white-space: nowrap;
}
.progress-step.completed .progress-label {
  color: var(--admin-success);
}
.progress-step.current .progress-label {
  color: var(--admin-primary);
  font-weight: 600;
}
@media (max-width: 640px) {
  .progress-tracker {
    padding: var(--space-3) var(--space-2);
  }
  .progress-step {
    min-width: 55px;
  }
  .progress-label {
    font-size: 0.6rem;
  }
  .progress-dot {
    width: 22px;
    height: 22px;
    font-size: 10px;
  }
}
.fleet-refresh-btn {
  background: var(--accent);
  color: #fff;
  border: none;
  padding: 4px 12px;
  border-radius: 4px;
  cursor: pointer;
  font-size: 0.75rem;
  margin-left: 8px;
}
.fleet-ticker {
  display: flex;
  align-items: center;
  background: #0d1117;
  border: 1px solid #1f2937;
  border-radius: 6px;
  margin-bottom: var(--space-4);
  overflow: hidden;
  height: 36px;
}
.fleet-ticker-clear {
  border-color: #16a34a33;
}
.fleet-ticker-ok {
  color: #22c55e;
  font-size: 0.8rem;
  padding: 0 16px;
  white-space: nowrap;
  width: 100%;
  text-align: center;
}
.fleet-ticker-count {
  display: flex;
  gap: 6px;
  padding: 0 12px;
  flex-shrink: 0;
  border-right: 1px solid #1f2937;
  height: 100%;
  align-items: center;
}
.fleet-ticker-crit-badge {
  background: #991b1b;
  color: #fca5a5;
  padding: 2px 8px;
  border-radius: 10px;
  font-size: 0.65rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  white-space: nowrap;
  animation: fleet-pulse-critical 1.5s ease-in-out infinite;
}
.fleet-ticker-warn-badge {
  background: #713f12;
  color: #fcd34d;
  padding: 2px 8px;
  border-radius: 10px;
  font-size: 0.65rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  white-space: nowrap;
}
.fleet-ticker-track {
  flex: 1;
  overflow: hidden;
  position: relative;
  height: 100%;
}
.fleet-ticker-scroll {
  display: flex;
  align-items: center;
  gap: 32px;
  height: 100%;
  white-space: nowrap;
  padding: 0 16px;
}
.fleet-ticker-animate {
  animation: ticker-scroll 30s linear infinite;
}
.fleet-ticker-track:hover .fleet-ticker-animate {
  animation-play-state: paused;
}
@keyframes ticker-scroll {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-50%);
  }
}
.fleet-ticker-item {
  font-size: 0.8rem;
  white-space: nowrap;
  flex-shrink: 0;
  cursor: pointer;
  padding: 3px 10px;
  border-radius: 4px;
  transition: background 0.15s;
}
.fleet-ticker-item:hover {
  background: rgba(255, 255, 255, 0.08);
}
.fleet-ticker-item strong {
  font-weight: 700;
}
.fleet-ticker-critical {
  color: #f87171;
  animation: fleet-ticker-pulse 2s ease-in-out infinite;
}
.fleet-ticker-critical strong {
  color: #fca5a5;
}
.fleet-ticker-critical:hover {
  background: rgba(239, 68, 68, 0.15);
}
@keyframes fleet-ticker-pulse {
  0%, 100% {
    opacity: 1;
  }
  50% {
    opacity: 0.6;
  }
}
.fleet-ticker-warning {
  color: #fbbf24;
}
.fleet-ticker-warning strong {
  color: #fcd34d;
}
.fleet-ticker-warning:hover {
  background: rgba(251, 191, 36, 0.1);
}
.fleet-alerts {
  margin-bottom: var(--space-4);
}
.fleet-alert {
  padding: 8px 12px;
  border-radius: 6px;
  margin-bottom: 4px;
  font-size: 0.85rem;
}
.fleet-alert-warning {
  background: rgba(255, 193, 7, 0.15);
  border-left: 3px solid #ffc107;
  color: #ffc107;
}
.fleet-alert-critical {
  background: rgba(244, 67, 54, 0.15);
  border-left: 3px solid #f44336;
  color: #f44336;
}
.fleet-tags {
  display: flex;
  gap: 6px;
  margin-bottom: var(--space-4);
  flex-wrap: wrap;
}
.fleet-tag {
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.15);
  color: rgba(255, 255, 255, 0.7);
  padding: 4px 10px;
  border-radius: 12px;
  font-size: 0.75rem;
  cursor: pointer;
}
.fleet-tag-active {
  background: var(--accent);
  color: #fff;
  border-color: var(--accent);
}
.fleet-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(340px, 100%), 1fr));
  gap: var(--space-4);
}
.fleet-card {
  background: var(--surface);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 12px;
  padding: var(--space-4);
  transition: border-color 0.2s;
}
.fleet-card.fleet-status-online {
  border-left: 3px solid #4caf50;
}
.fleet-card.fleet-status-error {
  border-left: 3px solid #f44336;
}
.fleet-card.fleet-status-offline {
  border-left: 3px solid #666;
  opacity: 0.6;
}
.fleet-card-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 2px;
}
.fleet-card-header h3 {
  margin: 0;
  font-size: 1rem;
  color: #fff;
}
.fleet-status-badge {
  font-size: 0.7rem;
  padding: 2px 8px;
  border-radius: 8px;
  text-transform: uppercase;
  font-weight: 600;
}
.fleet-status-badge.fleet-status-online {
  background: rgba(76, 175, 80, 0.2);
  color: #4caf50;
}
.fleet-status-badge.fleet-status-error {
  background: rgba(244, 67, 54, 0.2);
  color: #f44336;
}
.fleet-status-badge.fleet-status-offline {
  background: rgba(102, 102, 102, 0.2);
  color: #999;
}
.fleet-card-hostname {
  font-size: 0.75rem;
  color: rgba(255, 255, 255, 0.4);
  font-family: monospace;
  margin-bottom: 6px;
  display: flex;
  gap: 8px;
  align-items: baseline;
}
.fleet-card-mobo {
  font-size: 0.65rem;
  color: rgba(255, 255, 255, 0.25);
}
.fleet-card-tags {
  display: flex;
  gap: 4px;
  margin-bottom: 8px;
}
.fleet-card-tag {
  font-size: 0.65rem;
  padding: 1px 6px;
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.06);
  color: rgba(255, 255, 255, 0.5);
}
.fleet-metric {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 6px;
  font-size: 0.8rem;
}
.fleet-metric-label {
  width: 40px;
  color: rgba(255, 255, 255, 0.5);
  font-size: 0.7rem;
  text-transform: uppercase;
  flex-shrink: 0;
}
.fleet-metric-bar-wrap {
  flex: 1;
  height: 6px;
  background: rgba(255, 255, 255, 0.08);
  border-radius: 3px;
  overflow: hidden;
}
.fleet-metric-bar {
  height: 100%;
  border-radius: 3px;
  transition: width 0.5s ease;
}
.fleet-metric-bar.fleet-ok {
  background: #4caf50;
}
.fleet-metric-bar.fleet-warn {
  background: #ffc107;
}
.fleet-metric-bar.fleet-crit {
  background: #f44336;
}
.fleet-metric-value {
  font-family: monospace;
  font-size: 0.8rem;
  color: rgba(255, 255, 255, 0.8);
  min-width: 80px;
  text-align: right;
}
.fleet-ok {
  color: #4caf50;
}
.fleet-warn {
  color: #ffc107;
}
.fleet-crit {
  color: #f44336;
}
.fleet-section-label {
  font-size: 0.7rem;
  color: rgba(255, 255, 255, 0.4);
  text-transform: uppercase;
  margin-top: 10px;
  margin-bottom: 4px;
  letter-spacing: 0.5px;
}
.fleet-gpu {
  margin-bottom: 6px;
  padding: 4px 8px;
  background: rgba(255, 255, 255, 0.03);
  border-radius: 6px;
}
.fleet-gpu-name {
  font-size: 0.75rem;
  color: rgba(255, 255, 255, 0.6);
  margin-bottom: 2px;
}
.fleet-gpu-stats {
  display: flex;
  gap: 10px;
  font-size: 0.75rem;
  font-family: monospace;
  color: rgba(255, 255, 255, 0.7);
}
.fleet-ups {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  font-size: 0.75rem;
  font-family: monospace;
  color: rgba(255, 255, 255, 0.7);
  padding: 4px 8px;
  background: rgba(255, 255, 255, 0.03);
  border-radius: 6px;
}
.fleet-ups-name {
  font-weight: 600;
  color: rgba(255, 255, 255, 0.9);
  min-width: 3em;
}
.fleet-ups-watts {
  color: var(--accent);
  font-weight: 600;
}
.fleet-ups-total {
  font-size: 0.8rem;
  font-family: monospace;
  padding: 4px 8px;
  color: var(--accent);
}
.fleet-power-card {
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 8px;
  padding: 16px 20px;
  margin-bottom: 20px;
}
.fleet-power-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 12px;
}
.fleet-power-header h2 {
  font-size: 1.1rem;
  font-weight: 600;
  margin: 0;
}
.fleet-power-realtime {
  display: flex;
  gap: 24px;
  margin-bottom: 16px;
}
.fleet-power-stat {
  display: flex;
  flex-direction: column;
}
.fleet-power-label {
  font-size: 0.7rem;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.5);
}
.fleet-power-value {
  font-size: 1.4rem;
  font-family: monospace;
  font-weight: 700;
  color: rgba(255, 255, 255, 0.9);
}
.fleet-power-total {
  color: var(--accent);
}
.fleet-power-monthly {
  border-top: 1px solid rgba(255, 255, 255, 0.08);
  padding-top: 12px;
}
.fleet-power-billing {
  display: flex;
  flex-direction: column;
  gap: 4px;
  font-family: monospace;
  font-size: 0.8rem;
}
.fleet-power-row {
  display: flex;
  gap: 16px;
  padding: 4px 0;
}
.fleet-power-row span:first-child {
  flex: 1;
}
.fleet-power-row span:nth-child(2) {
  width: 100px;
  text-align: right;
}
.fleet-power-row span:nth-child(3) {
  width: 80px;
  text-align: right;
}
.fleet-power-row-total {
  border-top: 1px solid rgba(255, 255, 255, 0.1);
  padding-top: 6px;
  font-weight: 600;
}
.fleet-power-row-header {
  font-weight: 600;
  font-size: 0.7rem;
  text-transform: uppercase;
  opacity: 0.6;
}
.fleet-power-node {
  font-size: 0.75rem;
  font-family: monospace;
  padding: 4px 8px;
  margin-top: 2px;
  border-top: 1px solid rgba(255, 255, 255, 0.06);
}
.fleet-power-node-draw {
  display: flex;
  gap: 8px;
  align-items: center;
}
.fleet-power-node-draw .fleet-power-label {
  opacity: 0.5;
}
.fleet-power-cost-rate {
  color: var(--accent);
  font-size: 0.7rem;
  margin-left: auto;
}
.fleet-power-node-mtd {
  font-size: 0.7rem;
  opacity: 0.7;
  padding-top: 2px;
}
.fleet-power-nodes {
  margin-top: 10px;
}
.fleet-power-hero {
  display: flex;
  align-items: center;
  gap: 32px;
  margin-bottom: 14px;
}
.fleet-power-hero-stat {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.fleet-power-hero-value {
  font-size: 2rem;
  font-family: monospace;
  font-weight: 800;
  color: var(--accent);
  line-height: 1;
}
.fleet-power-hero-label {
  font-size: 0.65rem;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.45);
  margin-top: 2px;
}
.fleet-power-hero-breakdown {
  display: flex;
  flex-direction: column;
  gap: 2px;
  font-family: monospace;
  font-size: 0.8rem;
  color: rgba(255, 255, 255, 0.7);
}
.fleet-power-hero-breakdown div {
  display: flex;
  gap: 8px;
  align-items: center;
}
.fleet-power-sub-label {
  font-size: 0.65rem;
  text-transform: uppercase;
  opacity: 0.5;
  width: 35px;
}
.fleet-power-daily {
  color: var(--accent);
  font-weight: 600;
}
.fleet-power-billing-compact {
  display: flex;
  flex-direction: column;
  gap: 2px;
  font-family: monospace;
  font-size: 0.78rem;
  margin-top: 6px;
}
.fleet-power-billing-row {
  display: flex;
  gap: 12px;
  padding: 2px 0;
}
.fleet-power-billing-label {
  width: 70px;
  color: rgba(255, 255, 255, 0.5);
  font-size: 0.7rem;
  text-transform: uppercase;
}
.fleet-power-billing-kwh {
  margin-left: auto;
  color: rgba(255, 255, 255, 0.4);
  font-size: 0.72rem;
}
.fleet-power-billing-total {
  border-top: 1px solid rgba(255, 255, 255, 0.1);
  padding-top: 4px;
  margin-top: 2px;
}
.fleet-power-billing-projected {
  opacity: 0.5;
  font-style: italic;
}
.fleet-power-help-btn {
  background: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.2);
  color: rgba(255, 255, 255, 0.5);
  border-radius: 50%;
  width: 20px;
  height: 20px;
  font-size: 0.7rem;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  flex-shrink: 0;
}
.fleet-power-help-btn:hover {
  background: rgba(255, 255, 255, 0.2);
  color: #fff;
}
.fleet-power-help {
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 6px;
  padding: 10px 12px;
  font-size: 0.7rem;
  color: rgba(255, 255, 255, 0.6);
  line-height: 1.5;
  margin-bottom: 8px;
}
.fleet-power-nodes-v2 {
  margin-top: 12px;
}
.fleet-pn-row {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 3px 0;
  font-family: monospace;
  font-size: 0.75rem;
  color: rgba(255, 255, 255, 0.75);
}
.fleet-pn-name {
  width: 52px;
  flex-shrink: 0;
  color: rgba(255, 255, 255, 0.55);
  font-size: 0.7rem;
  text-overflow: ellipsis;
  overflow: hidden;
  white-space: nowrap;
}
.fleet-pn-bar-wrap {
  flex: 1;
  height: 10px;
  background: rgba(255, 255, 255, 0.06);
  border-radius: 3px;
  overflow: hidden;
}
.fleet-pn-bar {
  height: 100%;
  background: var(--accent);
  border-radius: 3px;
  transition: width 0.4s ease;
  min-width: 2px;
}
.fleet-pn-bar-hot {
  background: #e05252;
}
.fleet-pn-watts {
  width: 48px;
  text-align: right;
  flex-shrink: 0;
  font-weight: 600;
}
.fleet-pn-daily {
  width: 55px;
  text-align: right;
  flex-shrink: 0;
  color: rgba(255, 255, 255, 0.45);
  font-size: 0.7rem;
}
.fleet-pn-mtd {
  width: 50px;
  text-align: right;
  flex-shrink: 0;
  color: var(--accent);
  font-size: 0.7rem;
}
.fleet-gpu-card {
  background: var(--admin-surface);
  border: 1px solid var(--admin-border);
  border-radius: 8px;
  padding: 16px;
  margin-bottom: 16px;
}
.fleet-gpu-hero {
  display: flex;
  align-items: center;
  gap: 24px;
  margin-bottom: 12px;
}
.fleet-gpu-hero-stat {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.fleet-gpu-grid {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.fleet-gpu-row {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 3px 0;
  font-family: monospace;
  font-size: 0.75rem;
  color: rgba(255, 255, 255, 0.75);
}
.fleet-gpu-node {
  width: 50px;
  flex-shrink: 0;
  color: rgba(255, 255, 255, 0.55);
  font-size: 0.7rem;
  text-overflow: ellipsis;
  overflow: hidden;
  white-space: nowrap;
}
.fleet-gpu-bar-wrap {
  flex: 1;
  height: 10px;
  background: rgba(255, 255, 255, 0.06);
  border-radius: 3px;
  overflow: hidden;
  min-width: 40px;
}
.fleet-gpu-bar {
  height: 100%;
  background: #10b981;
  border-radius: 3px;
  transition: width 0.4s ease;
  min-width: 2px;
}
.fleet-gpu-bar-hot {
  background: #e05252;
}
.fleet-gpu-util {
  width: 32px;
  text-align: right;
  flex-shrink: 0;
  font-weight: 600;
}
.fleet-gpu-vram {
  width: 52px;
  text-align: right;
  flex-shrink: 0;
  color: rgba(255, 255, 255, 0.5);
  font-size: 0.7rem;
}
.fleet-gpu-temp {
  width: 28px;
  text-align: right;
  flex-shrink: 0;
  color: rgba(255, 255, 255, 0.5);
  font-size: 0.7rem;
}
.fleet-gpu-watts {
  width: 38px;
  text-align: right;
  flex-shrink: 0;
  color: rgba(255, 255, 255, 0.5);
  font-size: 0.7rem;
}
.fleet-gpu-hot .fleet-gpu-util {
  color: #e05252;
}
.fleet-gpu-warm .fleet-gpu-util {
  color: #10b981;
}
.fleet-gpu-idle .fleet-gpu-util {
  color: rgba(255, 255, 255, 0.3);
}
.fleet-gpu-idle .fleet-gpu-bar {
  background: rgba(255, 255, 255, 0.08);
}
.fleet-nvme {
  font-size: 0.75rem;
  font-family: monospace;
}
.fleet-nvme-drive {
  display: flex;
  gap: 10px;
  padding: 2px 8px;
  color: rgba(255, 255, 255, 0.7);
}
.fleet-hdd-size {
  color: rgba(255, 255, 255, 0.4);
  font-size: 0.7rem;
}
.fleet-hdd-hours {
  color: rgba(255, 255, 255, 0.35);
  font-size: 0.7rem;
}
.fleet-iowait {
  font-size: 0.7rem;
  font-family: monospace;
  padding: 1px 5px;
  border-radius: 3px;
  background: rgba(255, 193, 7, 0.12);
}
.fleet-nvme-model {
  color: rgba(255, 255, 255, 0.4);
  font-size: 0.65rem;
  max-width: 120px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.fleet-nvme-hours {
  color: rgba(255, 255, 255, 0.35);
  font-size: 0.7rem;
}
.fleet-lvm {
  font-size: 0.75rem;
  font-family: monospace;
  padding: 0 8px;
}
.fleet-lvm-vol {
  display: flex;
  gap: 10px;
  padding: 2px 0;
  color: rgba(255, 255, 255, 0.7);
}
.fleet-lvm-pv {
  display: flex;
  gap: 10px;
  padding: 1px 0;
  color: rgba(255, 255, 255, 0.4);
  font-size: 0.7rem;
}
.fleet-services {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
}
.fleet-svc {
  font-size: 0.65rem;
  padding: 2px 6px;
  border-radius: 4px;
  font-family: monospace;
}
.fleet-svc-active {
  background: rgba(76, 175, 80, 0.15);
  color: #4caf50;
}
.fleet-svc-inactive {
  background: rgba(244, 67, 54, 0.1);
  color: #f44336;
}
.fleet-ports {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
}
.fleet-port {
  font-size: 0.65rem;
  padding: 2px 6px;
  border-radius: 4px;
  font-family: monospace;
  background: rgba(33, 150, 243, 0.12);
  color: #64b5f6;
}
.fleet-boot {
  font-size: 0.7rem;
  color: rgba(255, 255, 255, 0.3);
  margin-top: 8px;
  font-family: monospace;
}
.fleet-error {
  padding: 12px;
  color: #f44336;
  font-size: 0.85rem;
  text-align: center;
  word-break: break-word;
  overflow-wrap: break-word;
}
.fleet-error-offline {
  color: #888;
  font-size: 0.75rem;
}
.fleet-empty {
  text-align: center;
  padding: 48px 24px;
  color: rgba(255, 255, 255, 0.4);
}
.fleet-empty a {
  color: var(--accent);
}
.fleet-temp {
  margin-left: 8px;
  font-size: 0.75rem;
}
.fleet-card-router {
  border-left: 3px solid #2196f3;
}
.fleet-card-router.fleet-status-online {
  border-left-color: #2196f3;
}
.fleet-router-system {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  padding: 8px 0;
  font-size: 0.8rem;
  color: rgba(255, 255, 255, 0.7);
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
  margin-bottom: 8px;
}
.fleet-router-wans {
  display: flex;
  flex-direction: column;
  gap: 4px;
  margin-bottom: 8px;
}
.fleet-router-wan {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 0.82rem;
  font-family: monospace;
  padding: 4px 8px;
  background: rgba(255, 255, 255, 0.03);
  border-radius: 4px;
}
.fleet-router-wan-label {
  font-weight: 600;
  min-width: 110px;
  color: rgba(255, 255, 255, 0.6);
}
.fleet-router-wan-mode {
  font-size: 0.78rem;
  color: rgba(255, 255, 255, 0.5);
  padding: 2px 8px;
}
.fleet-router-stats {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin-bottom: 8px;
}
.fleet-router-stat-row {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 0.8rem;
}
.fleet-router-stat-row > span:first-child {
  min-width: 70px;
  color: rgba(255, 255, 255, 0.5);
}
.fleet-router-fwd {
  display: flex;
  flex-direction: column;
  gap: 2px;
  margin-bottom: 8px;
}
.fleet-router-fwd-rule {
  display: flex;
  gap: 8px;
  font-size: 0.75rem;
  font-family: monospace;
  color: rgba(255, 255, 255, 0.5);
  padding: 2px 8px;
}
.fleet-router-fwd-name {
  color: rgba(255, 255, 255, 0.7);
  font-weight: 600;
  min-width: 40px;
}
.fleet-router-traffic {
  display: flex;
  flex-direction: column;
  gap: 2px;
  margin-bottom: 8px;
}
.fleet-router-traffic-row {
  display: flex;
  gap: 12px;
  font-size: 0.78rem;
  font-family: monospace;
  padding: 2px 8px;
}
.fleet-router-traffic-iface {
  min-width: 40px;
  color: rgba(255, 255, 255, 0.6);
  font-weight: 600;
}
.fleet-router-throughput {
  color: #4fc3f7;
  font-size: 0.7rem;
  margin-left: auto;
}
.fleet-grid-controls {
  display: flex;
  gap: 8px;
  margin-bottom: 8px;
}
.fleet-collapse-btn {
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.12);
  color: #aaa;
  font-size: 0.7rem;
  padding: 3px 10px;
  border-radius: 6px;
  cursor: pointer;
}
.fleet-collapse-btn:hover {
  background: rgba(255, 255, 255, 0.12);
  color: #fff;
}
.fleet-collapse-chevron {
  font-size: 0.65rem;
  margin-right: 4px;
  opacity: 0.5;
  display: inline-block;
  width: 12px;
}
.fleet-card-collapsed {
  padding: 6px var(--space-4);
}
.fleet-card-collapsed .fleet-card-header {
  margin-bottom: 0;
}
.fleet-warning-icon {
  background: rgba(251, 191, 36, 0.25);
  color: #fbbf24;
  border: 1px solid rgba(251, 191, 36, 0.4);
  width: 22px;
  height: 22px;
  border-radius: 50%;
  font-size: 0.75rem;
  font-weight: 800;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  padding: 0;
  line-height: 1;
  transition: transform 0.15s, background 0.15s;
}
.fleet-warning-icon:hover {
  background: rgba(251, 191, 36, 0.4);
  transform: scale(1.15);
}
.fleet-warning-critical {
  background: rgba(239, 68, 68, 0.3);
  color: #f87171;
  border-color: rgba(239, 68, 68, 0.5);
  animation: fleet-pulse-critical 1.5s ease-in-out infinite;
}
.fleet-warning-critical:hover {
  background: rgba(239, 68, 68, 0.5);
}
@keyframes fleet-pulse-critical {
  0%, 100% {
    box-shadow: 0 0 0 0 rgba(239, 68, 68, 0.4);
  }
  50% {
    box-shadow: 0 0 8px 3px rgba(239, 68, 68, 0.6);
  }
}
.fleet-card-highlight {
  outline: 2px solid #60a5fa !important;
  outline-offset: 2px;
  animation: fleet-highlight-fade 2s ease-out forwards;
}
@keyframes fleet-highlight-fade {
  0% {
    outline-color: #60a5fa;
  }
  70% {
    outline-color: #60a5fa;
  }
  100% {
    outline-color: transparent;
  }
}
.fleet-card-actions {
  display: flex;
  align-items: center;
  gap: 6px;
}
.fleet-detail-btn {
  background: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.2);
  color: #aaa;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  font-size: 0.7rem;
  font-weight: 700;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  line-height: 1;
}
.fleet-detail-btn:hover {
  background: rgba(255, 255, 255, 0.2);
  color: #fff;
}
.fleet-modal-overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.7);
  z-index: 1000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
}
.fleet-modal {
  background: #1a1a2e;
  border: 1px solid rgba(255, 255, 255, 0.15);
  border-radius: 12px;
  width: 100%;
  max-width: 600px;
  max-height: 85vh;
  overflow-y: auto;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.5);
}
.fleet-modal-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 16px 20px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
  position: sticky;
  top: 0;
  background: #1a1a2e;
  z-index: 1;
}
.fleet-modal-header h2 {
  margin: 0;
  font-size: 1.2rem;
  color: #fff;
}
.fleet-modal-close {
  background: none;
  border: none;
  color: #888;
  font-size: 1.1rem;
  cursor: pointer;
  padding: 4px 8px;
}
.fleet-modal-close:hover {
  color: #fff;
}
.fleet-modal-body {
  padding: 20px;
}
.fleet-detail-section {
  margin-bottom: 20px;
}
.fleet-detail-section h3 {
  font-size: 0.85rem;
  color: #888;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin: 0 0 8px 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
  padding-bottom: 4px;
}
.fleet-detail-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.85rem;
}
.fleet-detail-table td {
  padding: 4px 8px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.04);
}
.fleet-detail-table td:first-child {
  color: #888;
  width: 40%;
  white-space: nowrap;
}
.fleet-detail-table td:last-child {
  color: #ddd;
  word-break: break-all;
}
.fleet-detail-actions {
  margin-top: 20px;
  text-align: center;
}
.fleet-scan-btn {
  background: var(--accent, #4fc3f7);
  color: #000;
  border: none;
  padding: 10px 24px;
  border-radius: 6px;
  font-size: 0.9rem;
  font-weight: 600;
  cursor: pointer;
}
.fleet-scan-btn:hover {
  filter: brightness(1.1);
}
.fleet-scan-btn:disabled {
  opacity: 0.5;
  cursor: wait;
}
.fleet-detail-pre {
  background: rgba(0, 0, 0, 0.3);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 4px;
  padding: 8px 10px;
  font-size: 0.75rem;
  color: #ccc;
  overflow-x: auto;
  white-space: pre-wrap;
  word-break: break-word;
  overflow-wrap: break-word;
  margin: 0;
  line-height: 1.5;
}
.fleet-wan-card {
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 8px;
  padding: 16px 20px;
  margin-bottom: 20px;
}
.fleet-wan-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 12px;
}
.fleet-wan-header h2 {
  font-size: 1.1rem;
  font-weight: 600;
  margin: 0;
}
.fleet-wan-ip {
  font-family: monospace;
  font-size: 1.2rem;
  font-weight: 700;
  padding: 4px 12px;
  border-radius: 4px;
  background: rgba(0, 0, 0, 0.3);
}
.fleet-wan-pending {
  padding: 8px 12px;
  border-radius: 4px;
  margin-bottom: 8px;
  background: rgba(255, 193, 7, 0.1);
  border: 1px solid rgba(255, 193, 7, 0.3);
}
.fleet-wan-meta {
  display: flex;
  gap: 16px;
  font-size: 0.8rem;
  color: rgba(255, 255, 255, 0.5);
  margin-bottom: 8px;
}
.fleet-wan-dns {
  margin-top: 8px;
  font-size: 0.8rem;
}
.fleet-wan-dns-row {
  display: flex;
  justify-content: space-between;
  padding: 3px 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.05);
}
.fleet-wan-dns-name {
  color: rgba(255, 255, 255, 0.6);
}
.fleet-wan-dns-ip {
  font-family: monospace;
  font-weight: 500;
}
.fleet-wan-cf-alerts {
  margin-top: 12px;
}
.fleet-wan-cf-alert {
  display: flex;
  justify-content: space-between;
  padding: 4px 0;
  font-size: 0.8rem;
}
.fleet-wan-error {
  margin-top: 8px;
  padding: 6px 10px;
  border-radius: 4px;
  font-size: 0.8rem;
  background: rgba(239, 68, 68, 0.1);
  border: 1px solid rgba(239, 68, 68, 0.3);
}
@media (max-width: 640px) {
  .fleet-grid {
    grid-template-columns: 1fr;
    gap: var(--space-2);
  }
  .fleet-card {
    padding: var(--space-2) var(--space-3);
    border-radius: 8px;
  }
  .fleet-gpu-stats {
    flex-wrap: wrap;
    gap: 6px;
  }
  .fleet-wan-card {
    padding: 10px 12px;
  }
  .fleet-wan-ip {
    font-size: 0.9rem;
    padding: 3px 8px;
  }
  .fleet-wan-meta {
    flex-wrap: wrap;
    gap: 8px;
  }
  .fleet-wan-dns-name {
    font-size: 0.7rem;
    overflow: hidden;
    text-overflow: ellipsis;
  }
  .fleet-metric-value {
    min-width: 0;
    font-size: 0.72rem;
  }
  .fleet-nvme-drive {
    gap: 6px;
    padding: 2px 4px;
  }
}
.admin-breadcrumbs {
  padding: 8px 16px;
  font-size: 13px;
  color: var(--admin-text-muted);
  border-bottom: 1px solid var(--admin-border);
  background: var(--admin-bg);
}
.admin-breadcrumbs a {
  color: var(--admin-accent);
  text-decoration: none;
}
.admin-breadcrumbs a:hover {
  text-decoration: underline;
}
.admin-breadcrumb-sep {
  margin: 0 6px;
  opacity: 0.5;
}
.person-card__portfolio {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
  margin-top: 4px;
  padding-top: 4px;
  border-top: 1px solid var(--admin-border);
  font-size: 12px;
}
.person-card__portfolio-link {
  color: var(--admin-accent);
  text-decoration: none;
  font-size: 11px;
}
.person-card__portfolio-link:hover {
  text-decoration: underline;
}
.person-card__slug-input {
  width: 120px;
  padding: 2px 6px;
  font-size: 11px;
}
.person-card__nsfw-select {
  padding: 2px 4px;
  font-size: 11px;
  background: var(--admin-surface);
  color: var(--admin-text);
  border: 1px solid var(--admin-border);
  border-radius: var(--radius-sm, 4px);
}
.nsfw-review {
  max-width: 1400px;
  margin: 0 auto;
  padding: 20px;
}
.nsfw-review__tabs {
  display: flex;
  gap: 4px;
  margin-bottom: 16px;
  flex-wrap: wrap;
}
.nsfw-review__tab {
  padding: 8px 16px;
  background: var(--admin-surface);
  border: 1px solid var(--admin-border);
  border-radius: var(--radius-md, 6px);
  color: var(--admin-text-muted);
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
}
.nsfw-review__tab:hover {
  background: var(--admin-surface-hover, #2a2a4e);
  color: var(--admin-text);
}
.nsfw-review__tab--active {
  background: var(--admin-accent, #6c5ce7);
  color: #fff;
  border-color: var(--admin-accent, #6c5ce7);
}
.nsfw-review__tab-count {
  background: rgba(255, 255, 255, 0.15);
  padding: 2px 8px;
  border-radius: 10px;
  font-size: 11px;
  font-weight: 600;
}
.nsfw-review__tab--active .nsfw-review__tab-count {
  background: rgba(255, 255, 255, 0.25);
}
.nsfw-review__toolbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 16px;
  font-size: 13px;
  color: var(--admin-text-muted);
}
.nsfw-review__actions {
  display: flex;
  gap: 8px;
}
.nsfw-review__btn {
  padding: 6px 14px;
  background: var(--admin-surface);
  border: 1px solid var(--admin-border);
  border-radius: var(--radius-sm, 4px);
  color: var(--admin-text);
  cursor: pointer;
  font-size: 12px;
}
.nsfw-review__btn:hover:not(:disabled) {
  background: var(--admin-surface-hover, #2a2a4e);
}
.nsfw-review__btn:disabled {
  opacity: 0.4;
  cursor: not-allowed;
}
.nsfw-review__btn--bulk {
  background: #e74c3c;
  border-color: #c0392b;
  color: #fff;
}
.nsfw-review__btn--bulk:hover {
  background: #c0392b;
}
.nsfw-review__layout {
  display: grid;
  grid-template-columns: 1fr 360px;
  gap: 20px;
}
@media (max-width: 900px) {
  .nsfw-review__layout {
    grid-template-columns: 1fr;
  }
}
.nsfw-review__grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(100px, 1fr));
  gap: 6px;
}
.nsfw-review__thumb {
  aspect-ratio: 1;
  overflow: hidden;
  border-radius: var(--radius-sm, 4px);
  border: 2px solid transparent;
  cursor: pointer;
  position: relative;
}
.nsfw-review__thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.nsfw-review__thumb:hover {
  border-color: var(--admin-accent, #6c5ce7);
}
.nsfw-review__thumb--selected {
  border-color: #f39c12;
  box-shadow: 0 0 0 2px rgba(243, 156, 18, 0.4);
}
.nsfw-review__thumb-id {
  position: absolute;
  bottom: 2px;
  right: 4px;
  font-size: 9px;
  color: rgba(255, 255, 255, 0.7);
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.8);
}
.nsfw-review__empty {
  grid-column: 1 / -1;
  text-align: center;
  padding: 60px 20px;
  color: var(--admin-text-muted);
  font-size: 14px;
}
.nsfw-review__preview {
  position: sticky;
  top: 80px;
  background: var(--admin-card-bg, #16213e);
  border: 1px solid var(--admin-border);
  border-radius: var(--radius-lg, 8px);
  padding: 16px;
}
.nsfw-review__preview-img {
  margin-bottom: 12px;
  border-radius: var(--radius-md, 6px);
  overflow: hidden;
}
.nsfw-review__preview-img img {
  width: 100%;
  height: auto;
  display: block;
}
.nsfw-review__preview-info {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 8px;
}
.nsfw-review__preview-id {
  font-size: 12px;
  color: var(--admin-text-muted);
}
.nsfw-review__level {
  padding: 3px 10px;
  border-radius: 12px;
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
}
.nsfw-review__level--none {
  background: #27ae60;
  color: #fff;
}
.nsfw-review__level--suggestive {
  background: #f39c12;
  color: #fff;
}
.nsfw-review__level--partial {
  background: #e67e22;
  color: #fff;
}
.nsfw-review__level--full {
  background: #e74c3c;
  color: #fff;
}
.nsfw-review__level--explicit {
  background: #8e44ad;
  color: #fff;
}
.nsfw-review__level--unknown {
  background: #7f8c8d;
  color: #fff;
}
.nsfw-review__preview-desc {
  font-size: 12px;
  color: var(--admin-text-muted);
  margin-bottom: 12px;
  line-height: 1.4;
}
.nsfw-review__classify-btns {
  display: flex;
  gap: 4px;
  flex-wrap: wrap;
  margin-bottom: 12px;
}
.nsfw-review__classify-btn {
  flex: 1;
  min-width: 60px;
  padding: 8px 4px;
  border: 1px solid var(--admin-border);
  border-radius: var(--radius-sm, 4px);
  background: var(--admin-surface);
  color: var(--admin-text);
  cursor: pointer;
  font-size: 11px;
  text-align: center;
  text-transform: capitalize;
}
.nsfw-review__classify-btn:hover:not(:disabled) {
  border-color: var(--admin-accent, #6c5ce7);
}
.nsfw-review__classify-btn--current {
  opacity: 0.3;
  cursor: not-allowed;
}
.nsfw-review__classify-btn--none:hover:not(:disabled) {
  border-color: #27ae60;
}
.nsfw-review__classify-btn--suggestive:hover:not(:disabled) {
  border-color: #f39c12;
}
.nsfw-review__classify-btn--partial:hover:not(:disabled) {
  border-color: #e67e22;
}
.nsfw-review__classify-btn--full:hover:not(:disabled) {
  border-color: #e74c3c;
}
.nsfw-review__classify-btn--explicit:hover:not(:disabled) {
  border-color: #8e44ad;
}
.nsfw-review__classify-key {
  display: inline-block;
  background: rgba(255, 255, 255, 0.1);
  padding: 1px 5px;
  border-radius: 3px;
  font-size: 10px;
  margin-right: 2px;
  font-family: monospace;
}
.nsfw-review__shortcuts {
  font-size: 11px;
  color: var(--admin-text-muted);
  text-align: center;
}
.nsfw-review__shortcuts kbd {
  background: rgba(255, 255, 255, 0.1);
  padding: 1px 5px;
  border-radius: 3px;
  font-family: monospace;
  font-size: 10px;
}
.review-card--hidden {
  opacity: 0.45;
}
.review-card--hidden:hover {
  opacity: 0.7;
}
.review-card__hidden-badge {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background: rgba(0, 0, 0, 0.7);
  color: var(--admin-warning);
  font-size: 11px;
  font-weight: bold;
  padding: 2px 8px;
  border-radius: 3px;
  letter-spacing: 1px;
  pointer-events: none;
}
.review-card__hide-btn {
  position: absolute;
  top: 4px;
  right: 4px;
  z-index: 5;
  background: rgba(0, 0, 0, 0.6);
  border: none;
  border-radius: 4px;
  padding: 2px 6px;
  font-size: 14px;
  line-height: 1;
  cursor: pointer;
  opacity: 0;
  transition: opacity 0.15s;
}
.review-card:hover .review-card__hide-btn,
.review-card__hide-btn--active {
  opacity: 1;
}
.review-card__hide-btn--active {
  background: rgba(245, 158, 11, 0.3);
}
.review-card__checkbox {
  position: absolute;
  top: 6px;
  left: 6px;
  z-index: 5;
  width: 22px;
  height: 22px;
  border: 2px solid rgba(255, 255, 255, 0.6);
  border-radius: 4px;
  background: rgba(0, 0, 0, 0.4);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  color: white;
  pointer-events: none;
}
.review-card__checkbox--checked {
  background: var(--admin-primary);
  border-color: var(--admin-primary);
}
.review-card--selected {
  outline: 3px solid var(--admin-primary);
  outline-offset: -3px;
}
.review-bulk-bar {
  position: sticky;
  bottom: 0;
  z-index: 20;
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 10px 16px;
  background: var(--admin-surface);
  border-top: 2px solid var(--admin-primary);
  border-radius: 8px 8px 0 0;
  box-shadow: 0 -4px 12px rgba(0, 0, 0, 0.3);
}
.review-bulk-bar__count {
  font-weight: bold;
  color: var(--admin-text);
  font-size: 13px;
  margin-right: auto;
}
.review-collapse-details {
  width: 100%;
}
.review-collapse-details__summary {
  cursor: pointer;
  font-size: 13px;
  font-weight: 600;
  color: var(--admin-text);
  padding: 4px 0;
  list-style: none;
  display: flex;
  align-items: center;
  gap: 6px;
}
.review-collapse-details__summary::-webkit-details-marker {
  display: none;
}
.review-collapse-details__summary::before {
  content: "\25b8";
  font-size: 11px;
  color: var(--admin-text-muted);
  transition: transform 0.15s;
}
.review-collapse-details[open] > .review-collapse-details__summary::before {
  transform: rotate(90deg);
}
.pa-container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 1rem;
}
.pa-header {
  display: flex;
  align-items: baseline;
  gap: 1rem;
  margin-bottom: 1.5rem;
}
.pa-header h1 {
  font-size: 1.5rem;
  color: var(--admin-text);
  margin: 0;
}
.pa-month-label {
  color: var(--admin-text-muted);
  font-size: 0.9rem;
}
.pa-hero {
  background: var(--admin-surface);
  border: 1px solid var(--admin-border);
  border-radius: 8px;
  padding: 1.5rem;
  margin-bottom: 1.5rem;
}
.pa-hero-row {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
}
.pa-hero-item {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}
.pa-hero-label {
  font-size: 0.75rem;
  color: var(--admin-text-muted);
  text-transform: uppercase;
  letter-spacing: 0.05em;
}
.pa-hero-value {
  font-size: 1.75rem;
  font-weight: 700;
}
.pa-hero-sub {
  font-size: 0.72rem;
  color: var(--admin-text-muted);
  margin-top: 0.15rem;
}
.pa-revenue {
  color: #10b981;
}
.pa-cost {
  color: #f59e0b;
}
.pa-profit {
  color: #60a5fa;
}
.pa-loss {
  color: #ef4444;
}
.pa-bar-bg {
  height: 6px;
  background: #1a1a2e;
  border-radius: 3px;
  overflow: hidden;
  margin-top: 0.25rem;
}
.pa-bar {
  height: 100%;
  border-radius: 3px;
  transition: width 0.5s ease;
}
.pa-bar-revenue {
  background: #10b981;
}
.pa-bar-cost {
  background: #f59e0b;
}
.pa-bar-profit {
  background: #60a5fa;
}
.pa-margin-badge {
  display: inline-block;
  margin-top: 1rem;
  padding: 0.25rem 0.75rem;
  background: rgba(96, 165, 250, 0.15);
  color: #60a5fa;
  border-radius: 999px;
  font-size: 0.85rem;
  font-weight: 600;
}
.pa-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1rem;
}
.pa-card {
  background: var(--admin-surface);
  border: 1px solid var(--admin-border);
  border-radius: 8px;
  padding: 1rem;
}
.pa-card-subtitle {
  font-size: 0.72rem;
  color: var(--admin-text-muted);
  margin: -0.3rem 0 0.5rem 0;
}
.pa-card h2 {
  font-size: 1rem;
  color: var(--admin-text);
  margin: 0 0 0.75rem 0;
}
.pa-card h3 {
  font-size: 0.85rem;
  color: var(--admin-text-muted);
  margin: 0 0 0.5rem 0;
}
.pa-card-full {
  grid-column: 1 / -1;
}
.pa-card-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 0.75rem;
}
.pa-card-header h2 {
  margin-bottom: 0;
}
.pa-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.85rem;
}
.pa-table th {
  text-align: left;
  color: var(--admin-text-muted);
  font-weight: 500;
  padding: 0.4rem 0.5rem;
  border-bottom: 1px solid var(--admin-border);
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.03em;
}
.pa-table td {
  padding: 0.4rem 0.5rem;
  border-bottom: 1px solid rgba(55, 65, 81, 0.4);
  color: var(--admin-text);
}
.pa-table-total td {
  border-top: 2px solid var(--admin-border);
  font-weight: 600;
}
.pa-empty {
  color: var(--admin-text-dim) !important;
  text-align: center;
  font-style: italic;
}
.pa-breakdown {
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
}
.pa-breakdown-row {
  display: flex;
  justify-content: space-between;
  font-size: 0.85rem;
  color: var(--admin-text);
  padding: 0.2rem 0;
}
.pa-breakdown-total {
  border-top: 1px solid var(--admin-border);
  padding-top: 0.5rem;
  margin-top: 0.25rem;
}
.pa-gpu-stats {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1rem;
  text-align: center;
  padding: 0.5rem 0;
}
.pa-gpu-stat-val {
  display: block;
  font-size: 1.5rem;
  font-weight: 700;
}
.pa-gpu-stat-label {
  font-size: 0.75rem;
  color: var(--admin-text-muted);
}
.pa-gpu-note {
  text-align: center;
  font-size: 0.8rem;
  color: var(--admin-text-dim);
  margin-top: 0.5rem;
}
.pa-status-received {
  color: #10b981;
  background: rgba(16, 185, 129, 0.1);
  padding: 2px 8px;
  border-radius: 4px;
  font-size: 0.75rem;
}
.pa-status-pending {
  color: #f59e0b;
  background: rgba(245, 158, 11, 0.1);
  padding: 2px 8px;
  border-radius: 4px;
  font-size: 0.75rem;
}
.pa-status-invoiced {
  color: #60a5fa;
  background: rgba(96, 165, 250, 0.1);
  padding: 2px 8px;
  border-radius: 4px;
  font-size: 0.75rem;
}
.pa-btn {
  background: var(--admin-surface-hover);
  color: var(--admin-text);
  border: 1px solid var(--admin-border);
  padding: 0.35rem 0.75rem;
  border-radius: 4px;
  cursor: pointer;
  font-size: 0.8rem;
}
.pa-btn:hover {
  background: #4b5563;
}
.pa-btn-primary {
  background: var(--admin-primary);
  border-color: var(--admin-primary);
}
.pa-btn-primary:hover {
  background: var(--admin-primary-hover);
}
.pa-btn-sm {
  background: transparent;
  color: var(--admin-text-muted);
  border: none;
  padding: 2px 6px;
  cursor: pointer;
  font-size: 0.75rem;
}
.pa-btn-sm:hover {
  color: var(--admin-text);
}
.pa-btn-danger:hover {
  color: #ef4444;
}
.pa-fetch-result {
  color: #a3e635;
  font-size: 0.85rem;
  margin-right: 0.5rem;
}
.pa-revenue-form {
  background: var(--admin-bg-alt);
  border: 1px solid var(--admin-border);
  border-radius: 6px;
  padding: 1rem;
  margin-bottom: 1rem;
}
.pa-form-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0.75rem;
}
.pa-form-wide {
  grid-column: span 2;
}
.pa-revenue-form label {
  display: block;
  font-size: 0.7rem;
  color: var(--admin-text-muted);
  text-transform: uppercase;
  margin-bottom: 0.2rem;
}
.pa-revenue-form input,
.pa-revenue-form select {
  width: 100%;
  padding: 0.4rem;
  background: var(--admin-surface);
  border: 1px solid var(--admin-border);
  border-radius: 4px;
  color: var(--admin-text);
  font-size: 0.85rem;
}
.pa-form-actions {
  display: flex;
  gap: 0.5rem;
  margin-top: 0.75rem;
}
.pa-bill-hero {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1rem;
  margin-bottom: 1rem;
}
.pa-bill-stat {
  display: flex;
  flex-direction: column;
}
.pa-bill-val {
  font-size: 1.3rem;
  font-weight: 700;
  color: var(--admin-text);
}
.pa-bill-label {
  font-size: 0.75rem;
  color: var(--admin-text-muted);
}
.pa-bill-detail {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.5rem;
  margin-bottom: 1rem;
}
.pa-bill-bars {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}
.pa-bill-bar-row {
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
}
.pa-bill-bar-label {
  font-size: 0.7rem;
  color: var(--admin-text-muted);
  text-transform: uppercase;
}
.pa-bill-bar-track {
  height: 8px;
  background: rgba(255, 255, 255, 0.06);
  border-radius: 4px;
  overflow: hidden;
}
.pa-bill-bar-fill {
  height: 100%;
  border-radius: 4px;
}
.pa-bill-bar-peak {
  background: #f59e0b;
}
.pa-bill-bar-offpeak {
  background: #10b981;
}
.pa-bill-bar-val {
  font-size: 0.8rem;
  color: var(--admin-text);
}
.pa-bill-breakdown {
  display: flex;
  flex-direction: column;
  gap: 0.3rem;
}
.pa-bill-history {
  margin-top: 1rem;
  padding-top: 1rem;
  border-top: 1px solid var(--admin-border);
}
.pa-bill-history-label {
  display: block;
  font-size: 0.7rem;
  color: var(--admin-text-muted);
  text-transform: uppercase;
  letter-spacing: 0.03em;
  margin-bottom: 0.5rem;
}
.pa-bill-chart {
  display: flex;
  align-items: flex-end;
  gap: 3px;
  height: 80px;
}
.pa-bill-chart-bar {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  height: 100%;
  justify-content: flex-end;
}
.pa-bill-chart-fill {
  width: 100%;
  background: #3b82f6;
  border-radius: 2px 2px 0 0;
  min-height: 2px;
  transition: height 0.3s;
}
.pa-bill-chart-bar:last-child .pa-bill-chart-fill {
  background: #f59e0b;
}
.pa-bill-chart-val {
  font-size: 0.6rem;
  color: var(--admin-text-muted);
  margin-top: 2px;
}
.pa-bill-chart-mo {
  font-size: 0.55rem;
  color: var(--admin-text-dim);
}
.pa-bill-note {
  margin-top: 0.75rem;
  font-size: 0.75rem;
  color: var(--admin-text-dim);
  font-style: italic;
}
.pa-bill-table-wrap {
  margin-top: 1.5rem;
  border-top: 1px solid var(--admin-border);
  padding-top: 1rem;
}
.pa-bill-table {
  font-size: 0.8rem;
}
.pa-bill-table th {
  font-size: 0.7rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}
.pa-bill-row-dim td {
  opacity: 0.5;
}
.pa-bill-modal-overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.7);
  z-index: 1000;
  display: flex;
  align-items: center;
  justify-content: center;
}
.pa-bill-modal {
  background: var(--admin-card-bg, #1a1a2e);
  border: 1px solid var(--admin-border);
  border-radius: 8px;
  padding: 1.5rem;
  width: 90%;
  max-width: 600px;
  max-height: 90vh;
  overflow-y: auto;
}
.pa-bill-modal h2 {
  margin: 0 0 1rem 0;
  font-size: 1.1rem;
}
.pa-bill-form .pa-form-grid {
  grid-template-columns: 1fr 1fr;
}
.pa-bill-file-drop {
  border: 1px dashed var(--admin-border);
  border-radius: 4px;
  padding: 0.5rem;
  min-height: 40px;
}
.pa-bill-file-drop input[type=file] {
  width: 100%;
  font-size: 0.8rem;
}
.pa-bill-file-entry {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.8rem;
  margin-top: 0.25rem;
}
.pa-bill-file-entry button {
  background: none;
  border: none;
  color: var(--admin-danger, #ff4444);
  cursor: pointer;
  font-size: 1rem;
  flex-shrink: 0;
}
.pa-bill-file-name {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  max-width: 150px;
}
.pa-bill-file-progress {
  flex: 1;
  height: 4px;
  background: rgba(255, 255, 255, 0.1);
  border-radius: 2px;
  overflow: hidden;
}
.pa-bill-file-progress-bar {
  height: 100%;
  background: var(--admin-accent, #4ecdc4);
  transition: width 0.3s;
}
.pa-bill-file-error {
  color: var(--admin-danger, #ff4444);
  font-size: 0.75rem;
  margin-top: 0.25rem;
}
.pa-bill-file-ok {
  color: var(--admin-accent, #4ecdc4);
  font-size: 0.75rem;
  font-weight: 600;
}
.pa-bill-file-done {
  padding: 0.25rem 0;
}
.pa-bill-modal-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 1rem;
}
.pa-bill-modal-header h2 {
  margin: 0;
}
.pa-bill-modal-close {
  background: none;
  border: none;
  color: var(--admin-text-dim);
  font-size: 1.5rem;
  cursor: pointer;
  padding: 0 0.25rem;
  line-height: 1;
}
.pa-bill-modal-close:hover {
  color: #fff;
}
.pa-node-bars {
  display: flex;
  flex-direction: column;
  gap: 3px;
}
.pa-node-row {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 3px 0;
  font-family: monospace;
  font-size: 0.78rem;
  color: rgba(255, 255, 255, 0.8);
}
.pa-node-name {
  width: 52px;
  flex-shrink: 0;
  color: var(--admin-text-muted);
  font-size: 0.72rem;
  text-overflow: ellipsis;
  overflow: hidden;
  white-space: nowrap;
}
.pa-node-bar-wrap {
  flex: 1;
  height: 12px;
  background: rgba(255, 255, 255, 0.06);
  border-radius: 4px;
  overflow: hidden;
}
.pa-node-bar {
  height: 100%;
  background: #3b82f6;
  border-radius: 4px;
  transition: width 0.4s ease;
  min-width: 2px;
}
.pa-node-bar-hot {
  background: #f59e0b;
}
.pa-node-bar-total {
  background: var(--admin-primary, #3b82f6);
  opacity: 0.6;
}
.pa-node-watts {
  width: 50px;
  text-align: right;
  flex-shrink: 0;
  font-weight: 600;
  color: rgba(255, 255, 255, 0.9);
}
.pa-node-daily {
  width: 55px;
  text-align: right;
  flex-shrink: 0;
  color: var(--admin-text-muted);
  font-size: 0.7rem;
}
.pa-node-mtd {
  width: 52px;
  text-align: right;
  flex-shrink: 0;
  color: #10b981;
  font-size: 0.72rem;
  font-weight: 600;
}
.pa-node-total {
  border-top: 1px solid var(--admin-border);
  padding-top: 6px;
  margin-top: 4px;
}
.pa-node-total .pa-node-name {
  font-weight: 600;
  color: rgba(255, 255, 255, 0.9);
}
.pa-trend-rows {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.pa-trend-row {
  display: flex;
  align-items: center;
  gap: 10px;
}
.pa-trend-month {
  width: 32px;
  flex-shrink: 0;
  font-size: 0.72rem;
  font-family: monospace;
  color: var(--admin-text-muted);
  text-transform: uppercase;
}
.pa-trend-bars {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.pa-trend-bar-wrap {
  height: 8px;
  background: rgba(255, 255, 255, 0.04);
  border-radius: 4px;
  overflow: hidden;
}
.pa-trend-bar {
  height: 100%;
  border-radius: 4px;
  transition: width 0.4s ease;
  min-width: 2px;
}
.pa-trend-bar-revenue {
  background: #10b981;
}
.pa-trend-bar-cost {
  background: #f59e0b;
}
.pa-trend-vals {
  display: flex;
  gap: 8px;
  font-family: monospace;
  font-size: 0.72rem;
  flex-shrink: 0;
  width: 160px;
  justify-content: flex-end;
}
.pa-pie-row {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1rem;
  margin-bottom: 1rem;
  max-width: 100%;
  overflow: hidden;
}
.pa-pie-card {
  background: var(--admin-surface);
  border: 1px solid var(--admin-border);
  border-radius: 8px;
  padding: 0.75rem;
  min-width: 0;
  overflow: hidden;
}
.pa-pie-card h3 {
  font-size: 0.85rem;
  color: var(--admin-text);
  margin: 0 0 0.5rem 0;
}
.pa-pie-wrap {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}
.pa-pie-svg-wrap {
  position: relative;
  width: 100px;
  height: 100px;
  flex-shrink: 0;
}
.pa-pie-svg {
  width: 100%;
  height: 100%;
  transform: rotate(-90deg);
}
.pa-pie-center {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-size: 0.75rem;
  font-weight: 700;
  color: var(--admin-text);
  font-family: monospace;
}
.pa-pie-legend {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
  min-width: 0;
}
.pa-pie-legend-item {
  display: flex;
  align-items: center;
  gap: 0.35rem;
  font-size: 0.72rem;
  color: var(--admin-text-muted);
}
.pa-pie-legend-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  flex-shrink: 0;
}
.pa-pie-legend-label {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.pa-pie-legend-val {
  font-family: monospace;
  color: var(--admin-text);
  margin-left: auto;
}
@media (max-width: 480px) {
  .pa-pie-row {
    grid-template-columns: 1fr;
  }
}
.pa-complete-banner {
  background: linear-gradient(135deg, rgba(16, 185, 129, 0.08), rgba(139, 92, 246, 0.06));
  border: 1px solid rgba(16, 185, 129, 0.25);
  border-radius: 10px;
  padding: 1.25rem 1.5rem;
  margin-bottom: 1rem;
}
.pa-complete-header h2 {
  font-size: 1.1rem;
  color: var(--admin-text);
  margin: 0 0 0.3rem 0;
}
.pa-complete-badge {
  font-size: 0.78rem;
  color: #10b981;
  font-weight: 500;
}
.pa-complete-stats {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.5rem;
}
.pa-complete-stat {
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
}
.pa-complete-val {
  font-size: 1.5rem;
  font-weight: 700;
  font-family: monospace;
  letter-spacing: -0.5px;
}
.pa-complete-label {
  font-size: 0.72rem;
  color: var(--admin-text-muted);
  text-transform: uppercase;
  letter-spacing: 0.5px;
}
.pa-period-tabs {
  display: flex;
  gap: 0.25rem;
  flex-shrink: 0;
}
.pa-period-tab {
  padding: 0.35rem 0.7rem;
  border: 1px solid var(--admin-border);
  border-radius: 6px;
  background: transparent;
  color: var(--admin-text-muted);
  font-size: 0.72rem;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.15s;
}
.pa-period-tab:hover {
  border-color: var(--admin-primary);
  color: var(--admin-text);
}
.pa-period-tab.active {
  background: var(--admin-primary);
  border-color: var(--admin-primary);
  color: #fff;
}
.pa-complete-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 1rem;
  flex-wrap: wrap;
}
.pa-pl-section {
  margin-bottom: 1rem;
}
.pa-pl-table-wrap {
  overflow-x: auto;
  margin-top: 0.5rem;
}
.pa-pl-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.82rem;
}
.pa-pl-table th {
  font-size: 0.7rem;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: var(--admin-text-muted);
  border-bottom: 2px solid var(--admin-border);
  padding: 0.5rem 0.6rem;
  white-space: nowrap;
}
.pa-pl-table td {
  padding: 0.4rem 0.6rem;
  border-bottom: 1px solid var(--admin-border);
  white-space: nowrap;
}
.pa-pl-table .pa-num-col {
  text-align: right;
  font-family: monospace;
  font-size: 0.8rem;
}
.pa-pl-month {
  font-weight: 600;
}
.pa-pl-complete {
  background: rgba(16, 185, 129, 0.04);
}
.pa-pl-partial {
  opacity: 0.7;
}
.pa-pl-totals {
  background: var(--admin-surface);
  border-top: 2px solid var(--admin-border);
}
.pa-pl-totals td {
  padding: 0.6rem;
  border-bottom: none;
}
.pa-dim {
  color: var(--admin-text-muted);
  opacity: 0.5;
}
.pa-doc-link {
  display: inline-block;
  padding: 1px 5px;
  border-radius: 3px;
  background: var(--admin-primary);
  color: #fff;
  font-size: 0.65rem;
  font-weight: 700;
  text-decoration: none;
  margin-right: 2px;
}
.pa-doc-link:hover {
  opacity: 0.8;
}
.pa-pl-docs {
  white-space: nowrap;
}
.pa-pl-legend {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.5rem 0.6rem;
  font-size: 0.7rem;
  color: var(--admin-text-muted);
}
.pa-pl-legend sup {
  font-size: 0.65rem;
}
.pa-pl-legend .pa-doc-link {
  cursor: default;
}
.pa-pl-legend-sep {
  opacity: 0.4;
}
.pa-pl-table sup {
  font-size: 0.6rem;
}
.pa-src-verified {
  color: #10b981;
  font-weight: 700;
}
.pa-src-chase {
  color: #f59e0b;
  font-weight: 700;
}
.pa-future-card {
  border: 2px dashed var(--admin-border);
  background: transparent;
  text-align: center;
  padding: 2rem;
  color: var(--admin-text-muted);
}
.pa-future-card h3 {
  margin: 0 0 0.5rem 0;
  font-size: 0.9rem;
  color: var(--admin-text);
}
.pa-future-card p {
  font-size: 0.8rem;
  margin: 0;
}
@media (max-width: 768px) {
  .pa-pie-row {
    grid-template-columns: repeat(2, 1fr);
    gap: 0.75rem;
  }
  .pa-pie-svg-wrap {
    width: 100px;
    height: 100px;
  }
  .pa-pie-center {
    font-size: 0.65rem;
  }
  .pa-complete-stats {
    grid-template-columns: repeat(2, 1fr);
    gap: 1rem;
  }
  .pa-complete-val {
    font-size: 1.2rem;
  }
  .pa-pl-table {
    font-size: 0.75rem;
  }
  .pa-pl-table .pa-num-col {
    font-size: 0.72rem;
  }
  .pa-container {
    padding: 0.5rem;
    max-width: 100vw;
    overflow-x: hidden;
    box-sizing: border-box;
  }
  .pa-header {
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-bottom: 1rem;
  }
  .pa-header h1 {
    font-size: 1.2rem;
  }
  .pa-hero {
    padding: 1rem;
  }
  .pa-hero-row {
    grid-template-columns: 1fr;
    gap: 1rem;
  }
  .pa-hero-value {
    font-size: 1.3rem;
  }
  .pa-grid {
    grid-template-columns: 1fr;
    gap: 0.75rem;
  }
  .pa-card {
    padding: 0.75rem;
    overflow: hidden;
  }
  .pa-form-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .pa-gpu-stats {
    grid-template-columns: repeat(3, 1fr);
    gap: 0.5rem;
  }
  .pa-gpu-stat-val {
    font-size: 1.1rem;
  }
  .pa-bill-hero {
    grid-template-columns: 1fr;
  }
  .pa-bill-detail {
    grid-template-columns: 1fr;
  }
  .pa-bill-val {
    font-size: 1.1rem;
  }
  .pa-bill-chart {
    height: 60px;
  }
  .pa-bill-chart-val {
    font-size: 0.5rem;
  }
  .pa-bill-chart-mo {
    font-size: 0.45rem;
  }
  .pa-breakdown-row {
    font-size: 0.78rem;
  }
  .pa-node-daily {
    display: none;
  }
  .pa-node-mtd {
    width: 44px;
    font-size: 0.65rem;
  }
  .pa-node-watts {
    width: 44px;
    font-size: 0.72rem;
  }
  .pa-node-name {
    width: 38px;
    font-size: 0.65rem;
  }
  .pa-trend-vals {
    width: auto;
    min-width: 0;
    font-size: 0.62rem;
    gap: 4px;
  }
  .pa-trend-month {
    width: 26px;
    font-size: 0.65rem;
  }
  .pa-table {
    font-size: 0.75rem;
  }
  .pa-table th {
    font-size: 0.65rem;
    padding: 0.3rem;
  }
  .pa-table td {
    padding: 0.3rem;
  }
}
.fleet-clickable {
  cursor: pointer;
}
.fleet-clickable:hover {
  background: rgba(255, 255, 255, 0.05);
  border-radius: 4px;
}
.fleet-section-label.fleet-clickable:hover {
  color: #4fc3f7;
}
.fleet-log-overlay {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.6);
  z-index: 1100;
  display: flex;
  justify-content: flex-end;
}
.fleet-log-panel {
  width: min(700px, 90vw);
  height: 100vh;
  background: #1a1a2e;
  border-left: 1px solid rgba(255, 255, 255, 0.1);
  display: flex;
  flex-direction: column;
  box-shadow: -4px 0 20px rgba(0, 0, 0, 0.5);
}
.fleet-log-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 16px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
  background: rgba(0, 0, 0, 0.2);
}
.fleet-log-header h3 {
  margin: 0;
  font-size: 0.95rem;
  color: #e0e0e0;
}
.fleet-log-body {
  flex: 1;
  overflow: auto;
  padding: 12px 16px;
}
.fleet-log-pre {
  background: rgba(0, 0, 0, 0.4);
  border: 1px solid rgba(255, 255, 255, 0.06);
  border-radius: 4px;
  padding: 12px;
  font-family:
    "JetBrains Mono",
    "Fira Code",
    monospace;
  font-size: 0.75rem;
  color: #b0b0b0;
  white-space: pre-wrap;
  word-break: break-word;
  overflow-wrap: break-word;
  line-height: 1.5;
  margin: 0;
  min-height: 200px;
}
.fleet-log-loading {
  color: #888;
  font-style: italic;
  padding: 20px;
  text-align: center;
}
@media (max-width: 600px) {
  .fleet-log-panel {
    width: 100vw;
  }
}
.sb-container {
  max-width: 1400px;
  margin: 0 auto;
  padding: 16px;
}
.sb-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 16px;
}
.sb-header h1 {
  color: #f0f0f0;
  font-size: 1.5rem;
  margin: 0;
}
.sb-header-links {
  display: flex;
  gap: 8px;
}
.sb-header-link {
  color: #60a5fa;
  font-size: 0.8rem;
  text-decoration: none;
  border: 1px solid #374151;
  padding: 4px 10px;
  border-radius: 4px;
}
.sb-header-link:hover {
  background: #1f2937;
}
.sb-overview {
  display: flex;
  gap: 12px;
  margin-bottom: 20px;
  flex-wrap: wrap;
}
.sb-stat {
  background: #1a1a2e;
  border: 1px solid #2d2d44;
  border-radius: 8px;
  padding: 16px 24px;
  display: flex;
  flex-direction: column;
  align-items: center;
  min-width: 100px;
}
.sb-stat-value {
  font-size: 2rem;
  font-weight: 700;
  color: #8b5cf6;
}
.sb-stat-label {
  font-size: 0.75rem;
  color: #9ca3af;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin-top: 4px;
}
.sb-stat-shards {
  flex-direction: row;
  gap: 8px;
  flex-wrap: wrap;
  justify-content: center;
  padding: 12px 16px;
}
.sb-shard-badge {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 4px 10px;
  border-radius: 12px;
  font-size: 0.75rem;
  font-weight: 600;
  color: #fff;
}
.sb-shard-count {
  opacity: 0.8;
  font-weight: 400;
}
.sb-nodes {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-bottom: 20px;
}
.sb-node-card {
  background: #111827;
  border: 1px solid #1f2937;
  border-radius: 8px;
  overflow: hidden;
}
.sb-node-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 16px;
  background: #1a1a2e;
  border-bottom: 1px solid #2d2d44;
}
.sb-node-header h3 {
  color: #e5e7eb;
  font-size: 1rem;
  margin: 0;
  font-family: monospace;
}
.sb-node-badges {
  display: flex;
  gap: 8px;
  align-items: center;
}
.sb-bot-count {
  color: #9ca3af;
  font-size: 0.75rem;
}
.sb-launcher-badge {
  display: inline-block;
  padding: 2px 8px;
  border-radius: 10px;
  font-size: 0.65rem;
  font-weight: 700;
  color: #fff;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}
.sb-project-count {
  color: #60a5fa;
  font-size: 0.75rem;
}
.sb-bot-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.8rem;
}
.sb-bot-table thead th {
  background: #0d1117;
  color: #6b7280;
  font-weight: 600;
  text-transform: uppercase;
  font-size: 0.65rem;
  padding: 6px 10px;
  text-align: left;
  letter-spacing: 0.05em;
}
.sb-bot-table tbody td {
  padding: 8px 10px;
  color: #d1d5db;
  border-top: 1px solid #1f2937;
}
.sb-bot-gpu {
  display: inline-block;
  background: #374151;
  color: #e5e7eb;
  padding: 2px 8px;
  border-radius: 4px;
  font-family: monospace;
  font-size: 0.75rem;
  font-weight: 600;
}
.sb-bot-shard {
  display: inline-block;
  padding: 2px 10px;
  border-radius: 10px;
  font-size: 0.7rem;
  font-weight: 600;
  color: #fff;
}
.sb-mono {
  font-family: monospace;
  font-size: 0.75rem;
  color: #9ca3af;
}
.sb-no-bots {
  padding: 16px;
  color: #6b7280;
  font-style: italic;
  text-align: center;
}
.sb-storage {
  padding: 8px 16px 10px;
  border-top: 1px solid #1f2937;
  background: #0d1117;
}
.sb-storage-bar-wrap {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 6px;
}
.sb-storage-bar {
  flex: 1;
  height: 6px;
  background: #1e293b;
  border-radius: 3px;
  overflow: hidden;
  display: flex;
}
.sb-bar-seg {
  height: 100%;
  min-width: 2px;
  transition: width 0.5s ease;
}
.sb-bar-other {
  background: linear-gradient(90deg, #475569, #334155);
}
.sb-bar-hf {
  background: linear-gradient(90deg, #f59e0b, #d97706);
}
.sb-bar-comfy {
  background: linear-gradient(90deg, #8b5cf6, #7c3aed);
}
.sb-storage-pct {
  font-size: 0.65rem;
  color: #6b7280;
  font-family: monospace;
  min-width: 35px;
  text-align: right;
}
.sb-storage-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.sb-storage-chip {
  font-size: 0.6rem;
  padding: 1px 6px;
  border-radius: 8px;
  font-family: monospace;
  font-weight: 600;
  letter-spacing: 0.3px;
}
.sb-chip-free {
  background: #064e3b;
  color: #6ee7b7;
}
.sb-chip-hf {
  background: #78350f;
  color: #fcd34d;
}
.sb-chip-comfy {
  background: #3b0764;
  color: #c4b5fd;
}
.sb-chip-nas {
  background: #1e3a5f;
  color: #93c5fd;
}
.sb-node-errors {
  padding: 8px 16px;
  border-top: 1px solid #1f2937;
}
.sb-error-badge {
  background: #7f1d1d;
  color: #fca5a5;
  padding: 2px 8px;
  border-radius: 10px;
  font-size: 0.65rem;
  font-weight: 600;
}
.sb-empty {
  text-align: center;
  color: #6b7280;
  padding: 40px;
  font-style: italic;
}
.sb-grid-section {
  margin-bottom: 20px;
}
.sb-grid-section h2 {
  color: #e5e7eb;
  font-size: 1.1rem;
  margin: 0 0 12px 0;
}
.sb-gpu-grid {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.8rem;
}
.sb-gpu-grid thead th {
  background: #1a1a2e;
  color: #6b7280;
  font-weight: 600;
  text-transform: uppercase;
  font-size: 0.65rem;
  padding: 8px 12px;
  text-align: center;
  letter-spacing: 0.05em;
  border: 1px solid #2d2d44;
}
.sb-gpu-grid tbody td {
  border: 1px solid #1f2937;
  padding: 8px 12px;
  text-align: center;
}
.sb-grid-node {
  font-family: monospace;
  color: #e5e7eb;
  font-weight: 600;
  text-align: left !important;
  background: #0d1117;
}
.sb-grid-active {
  background: #1a1a2e;
}
.sb-grid-empty {
  background: #111827;
}
.sb-grid-none {
  background: #0d1117;
  color: #374151;
}
.sb-grid-shard {
  display: inline-block;
  padding: 2px 10px;
  border-radius: 10px;
  font-size: 0.7rem;
  font-weight: 600;
  color: #fff;
}
.sb-grid-idle {
  color: #4b5563;
  font-style: italic;
  font-size: 0.75rem;
}
.sb-errors-section {
  margin-bottom: 20px;
}
.sb-errors-toggle {
  background: #1a1a2e;
  border: 1px solid #7f1d1d;
  color: #fca5a5;
  padding: 8px 16px;
  border-radius: 6px;
  cursor: pointer;
  font-size: 0.85rem;
  width: 100%;
  text-align: left;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.sb-errors-toggle:hover {
  background: #1f1f33;
}
.sb-caret {
  font-size: 0.75rem;
}
.sb-error-log {
  background: #0d1117;
  border: 1px solid #1f2937;
  border-top: none;
  border-radius: 0 0 6px 6px;
  padding: 12px;
  max-height: 300px;
  overflow-y: auto;
}
.sb-error-line {
  font-family: monospace;
  font-size: 0.75rem;
  color: #fca5a5;
  padding: 2px 0;
  word-break: break-all;
}
.sb-error-badges {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
  margin-bottom: 8px;
}
.sb-error-cat-badge {
  font-size: 0.65rem;
  padding: 2px 8px;
  border-radius: 10px;
  color: #fff;
  font-weight: 600;
}
.sb-error-highlighted {
  background: rgba(255, 255, 255, 0.03);
  border-left: 2px solid;
  padding-left: 8px;
}
.sb-error-cat-tag {
  font-size: 0.6rem;
  font-weight: 700;
  margin-right: 6px;
  text-transform: uppercase;
}
.sb-error-window {
  font-size: 0.6rem;
  color: #666;
  margin-left: 4px;
}
.sb-stat-breakdown {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
}
.sb-mini-badge {
  font-size: 0.6rem;
  padding: 1px 6px;
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.1);
  color: #999;
}
.fleet-log-summary {
  display: flex;
  gap: 8px;
  margin-bottom: 12px;
  flex-wrap: wrap;
}
.fleet-log-badge-crit {
  background: #ef4444;
  color: #fff;
  font-size: 0.65rem;
  padding: 2px 8px;
  border-radius: 10px;
  font-weight: 600;
}
.fleet-log-badge-warn {
  background: #f59e0b;
  color: #000;
  font-size: 0.65rem;
  padding: 2px 8px;
  border-radius: 10px;
  font-weight: 600;
}
.fleet-log-badge-info {
  background: rgba(255, 255, 255, 0.1);
  color: #999;
  font-size: 0.65rem;
  padding: 2px 8px;
  border-radius: 10px;
}
.fleet-log-lines {
  font-family: monospace;
  font-size: 0.75rem;
  max-height: 600px;
  overflow-y: auto;
}
.fleet-log-line {
  padding: 2px 0;
  word-break: break-all;
  border-left: 2px solid transparent;
  padding-left: 8px;
}
.fleet-log-critical {
  color: #fca5a5;
  border-left-color: #ef4444;
  background: rgba(239, 68, 68, 0.05);
}
.fleet-log-warning {
  color: #fde68a;
  border-left-color: #f59e0b;
  background: rgba(245, 158, 11, 0.05);
}
.fleet-log-info {
  color: #9ca3af;
}
.fleet-log-header {
  color: #60a5fa;
  font-weight: 600;
  margin-top: 8px;
}
@media (max-width: 768px) {
  .sb-overview {
    flex-direction: column;
  }
  .sb-stat {
    flex-direction: row;
    justify-content: space-between;
    padding: 12px 16px;
  }
  .sb-stat-value {
    font-size: 1.5rem;
  }
  .sb-bot-table {
    font-size: 0.7rem;
  }
  .sb-bot-table thead th,
  .sb-bot-table tbody td {
    padding: 4px 6px;
  }
  .sb-gpu-grid {
    font-size: 0.7rem;
  }
  .sb-node-header {
    flex-direction: column;
    gap: 8px;
    align-items: flex-start;
  }
}

/* css/blog.css */
.blog-layout {
  min-height: 100vh;
  background: #f8fafc;
  color: #1e293b;
  font-family:
    "Inter",
    system-ui,
    -apple-system,
    sans-serif;
}
.blog-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 24px 32px;
  max-width: 1200px;
  margin: 0 auto;
  border-bottom: 1px solid #e2e8f0;
}
.blog-header-title {
  font-size: 18px;
  font-weight: 600;
  color: #0f172a;
  margin: 0;
}
.blog-home {
  color: #64748b;
  text-decoration: none;
  font-size: 14px;
  font-weight: 500;
  transition: color 0.15s;
}
.blog-home:hover {
  color: #0f172a;
}
.blog-back {
  color: #64748b;
  text-decoration: none;
  font-size: 14px;
  font-weight: 500;
  transition: color 0.15s;
}
.blog-back:hover {
  color: #0f172a;
}
.blog-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
  gap: 24px;
  padding: 32px;
  max-width: 1200px;
  margin: 0 auto;
}
.blog-card {
  display: block;
  text-decoration: none;
  color: inherit;
  background: #fff;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06);
  transition: box-shadow 0.2s, transform 0.2s;
}
.blog-card:hover {
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
  transform: translateY(-2px);
}
.blog-card-cover {
  aspect-ratio: 16 / 9;
  overflow: hidden;
  background: #e2e8f0;
}
.blog-card-cover img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.blog-card-body {
  padding: 20px;
}
.blog-card-body h2 {
  font-size: 18px;
  font-weight: 600;
  color: #0f172a;
  margin: 0 0 8px 0;
  line-height: 1.4;
}
.blog-card-body time {
  display: block;
  font-size: 13px;
  color: #94a3b8;
  margin-bottom: 8px;
}
.blog-card-body p {
  font-size: 14px;
  color: #64748b;
  margin: 0;
  line-height: 1.6;
}
.blog-post {
  max-width: 720px;
  margin: 0 auto;
  padding: 48px 32px;
}
.blog-post-title {
  font-size: 36px;
  font-weight: 700;
  color: #0f172a;
  margin: 0 0 12px 0;
  line-height: 1.2;
  letter-spacing: -0.02em;
}
.blog-post-date {
  display: block;
  font-size: 14px;
  color: #94a3b8;
  margin-bottom: 32px;
}
.blog-post-body {
  font-size: 17px;
  line-height: 1.8;
  color: #334155;
}
.blog-post-body h1,
.blog-post-body h2,
.blog-post-body h3,
.blog-post-body h4 {
  color: #0f172a;
  margin-top: 2em;
  margin-bottom: 0.5em;
  line-height: 1.3;
}
.blog-post-body h2 {
  font-size: 24px;
  border-bottom: 1px solid #e2e8f0;
  padding-bottom: 8px;
}
.blog-post-body h3 {
  font-size: 20px;
}
.blog-post-body p {
  margin-bottom: 1.2em;
}
.blog-post-body a {
  color: #2563eb;
  text-decoration: underline;
  text-underline-offset: 2px;
}
.blog-post-body a:hover {
  color: #1d4ed8;
}
.blog-post-body blockquote {
  border-left: 3px solid #cbd5e1;
  margin: 1.5em 0;
  padding: 0.5em 1.5em;
  color: #64748b;
  font-style: italic;
}
.blog-post-body code {
  font-family: "JetBrains Mono", monospace;
  font-size: 0.9em;
  background: #f1f5f9;
  padding: 2px 6px;
  border-radius: 4px;
  color: #475569;
}
.blog-post-body pre {
  background: #1e293b;
  color: #e2e8f0;
  padding: 16px 20px;
  border-radius: 8px;
  overflow-x: auto;
  margin: 1.5em 0;
}
.blog-post-body pre code {
  background: none;
  padding: 0;
  color: inherit;
}
.blog-post-body ul,
.blog-post-body ol {
  padding-left: 1.5em;
  margin-bottom: 1.2em;
}
.blog-post-body li {
  margin-bottom: 0.4em;
}
.blog-post-body img {
  max-width: 100%;
  height: auto;
  border-radius: 8px;
  margin: 1em 0;
}
.blog-shot {
  margin: 2em 0;
  text-align: center;
}
.blog-shot img {
  max-width: 100%;
  height: auto;
  border-radius: 8px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}
.blog-gallery-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(100px, 1fr));
  gap: 8px;
  margin: 2em 0;
}
.blog-gallery-thumb {
  display: block;
  aspect-ratio: 1;
  overflow: hidden;
  border-radius: 6px;
}
.blog-gallery-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.2s;
}
.blog-gallery-thumb:hover img {
  transform: scale(1.05);
}
.blog-footer {
  text-align: center;
  padding: 32px;
  color: #94a3b8;
  font-size: 14px;
  border-top: 1px solid #e2e8f0;
  max-width: 720px;
  margin: 0 auto;
}
.blog-footer a {
  color: #64748b;
  text-decoration: none;
}
.blog-footer a:hover {
  color: #0f172a;
}
.site-index {
  min-height: 100vh;
  background: #f8fafc;
  color: #1e293b;
  font-family:
    "Inter",
    system-ui,
    -apple-system,
    sans-serif;
}
.site-index-header {
  max-width: 1000px;
  margin: 0 auto;
  padding: 48px 32px 24px;
}
.site-index-header h1 {
  font-size: 28px;
  font-weight: 700;
  margin: 0 0 8px 0;
}
.site-index-subtitle {
  font-size: 14px;
  color: #64748b;
  margin: 0;
}
.site-index-content {
  max-width: 1000px;
  margin: 0 auto;
  padding: 0 32px 48px;
}
.site-index-section {
  margin-bottom: 32px;
}
.site-index-section h2 {
  font-size: 14px;
  font-weight: 600;
  color: #94a3b8;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin-bottom: 12px;
  padding-bottom: 8px;
  border-bottom: 1px solid #e2e8f0;
}
.site-index-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: 12px;
}
.site-index-card {
  display: block;
  text-decoration: none;
  color: inherit;
  background: #fff;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  padding: 16px;
  transition: border-color 0.15s, box-shadow 0.15s;
}
.site-index-card:hover {
  border-color: #94a3b8;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
}
.site-index-card.admin {
  border-left: 3px solid #7dd3fc;
}
.site-index-card h3 {
  font-size: 15px;
  font-weight: 600;
  margin: 0 0 4px 0;
  color: #0f172a;
}
.site-index-card p {
  font-size: 13px;
  color: #64748b;
  margin: 0;
  line-height: 1.4;
}
.site-index-footer {
  text-align: center;
  padding: 32px;
  color: #94a3b8;
  font-size: 13px;
}
.site-index-footer a {
  color: #64748b;
  text-decoration: none;
  font-weight: 500;
}
.site-index-footer a:hover {
  color: #0f172a;
}
@media (max-width: 768px) {
  .site-index-header {
    padding: 32px 20px 16px;
  }
  .site-index-content {
    padding: 0 20px 32px;
  }
  .site-index-grid {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 768px) {
  .blog-header {
    padding: 16px 20px;
  }
  .blog-grid {
    grid-template-columns: 1fr;
    padding: 20px;
    gap: 16px;
  }
  .blog-post {
    padding: 32px 20px;
  }
  .blog-post-title {
    font-size: 28px;
  }
  .blog-post-body {
    font-size: 16px;
  }
  .blog-gallery-grid {
    grid-template-columns: repeat(auto-fill, minmax(80px, 1fr));
  }
}

/* css/theme_minimal.css */
.portfolio-layout {
  min-height: 100vh;
  background: #fafafa;
  color: #1a1a1a;
  font-family:
    "Inter",
    system-ui,
    -apple-system,
    sans-serif;
}
.portfolio-nav {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 24px 48px;
  max-width: 1400px;
  margin: 0 auto;
}
.portfolio-nav-brand {
  font-size: 15px;
  font-weight: 600;
  color: #1a1a1a;
  text-decoration: none;
  letter-spacing: 0.02em;
  text-transform: uppercase;
}
.portfolio-nav-links {
  display: flex;
  gap: 24px;
}
.portfolio-nav-link {
  font-size: 13px;
  color: #888;
  text-decoration: none;
  font-weight: 500;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  transition: color 0.15s;
}
.portfolio-nav-link:hover,
.portfolio-nav-link.active {
  color: #1a1a1a;
}
.portfolio-main {
  max-width: 1400px;
  margin: 0 auto;
  padding: 0 48px 48px;
}
.portfolio-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}
.portfolio-item {
  overflow: hidden;
  background: #f0f0f0;
}
.portfolio-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  aspect-ratio: 4 / 5;
  display: block;
  transition: opacity 0.3s;
}
.portfolio-item:hover img {
  opacity: 0.9;
}
.portfolio-empty {
  text-align: center;
  color: #999;
  padding: 80px 0;
  font-size: 15px;
}
.portfolio-project-header {
  margin-bottom: 32px;
}
.portfolio-project-header h1 {
  font-size: 24px;
  font-weight: 600;
  margin: 0 0 8px 0;
}
.portfolio-project-header p {
  font-size: 15px;
  color: #666;
  margin: 0;
  max-width: 600px;
}
.portfolio-about {
  max-width: 800px;
  margin: 0 auto;
  padding: 48px 0;
}
.portfolio-hero {
  margin-bottom: 40px;
}
.portfolio-hero img {
  width: 100%;
  max-height: 600px;
  object-fit: cover;
  display: block;
}
.portfolio-about-text {
  font-size: 17px;
  line-height: 1.8;
  color: #333;
}
.portfolio-about-text h1 {
  font-size: 28px;
  font-weight: 600;
  margin-bottom: 16px;
}
.portfolio-about-text p {
  margin-bottom: 1.2em;
}
.portfolio-contact {
  max-width: 600px;
  margin: 0 auto;
  padding: 48px 0;
}
.portfolio-contact h1 {
  font-size: 28px;
  font-weight: 600;
  margin-bottom: 24px;
}
.portfolio-contact p {
  font-size: 15px;
  line-height: 1.8;
  color: #333;
  margin-bottom: 8px;
}
.portfolio-contact a {
  color: #1a1a1a;
  text-decoration: underline;
  text-underline-offset: 2px;
}
.portfolio-services {
  margin-top: 40px;
  padding-top: 40px;
  border-top: 1px solid #e5e5e5;
}
.portfolio-services h2 {
  font-size: 20px;
  font-weight: 600;
  margin-bottom: 16px;
}
.portfolio-social {
  display: flex;
  gap: 20px;
  margin-top: 32px;
  flex-wrap: wrap;
}
.portfolio-social-link {
  font-size: 13px;
  color: #888;
  letter-spacing: 0.02em;
}
.portfolio-footer {
  text-align: center;
  padding: 48px;
  color: #bbb;
  font-size: 12px;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}
@media (max-width: 1024px) {
  .portfolio-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
  }
  .portfolio-nav {
    padding: 20px 24px;
  }
  .portfolio-main {
    padding: 0 24px 24px;
  }
}
@media (max-width: 768px) {
  .portfolio-nav {
    flex-direction: column;
    gap: 16px;
    padding: 20px;
    text-align: center;
  }
  .portfolio-nav-links {
    gap: 16px;
    flex-wrap: wrap;
    justify-content: center;
  }
  .portfolio-grid {
    grid-template-columns: 1fr;
    gap: 8px;
  }
  .portfolio-main {
    padding: 0 16px 16px;
  }
  .portfolio-about {
    padding: 24px 0;
  }
  .portfolio-contact {
    padding: 24px 0;
  }
}

/* css/call.css */
.call-page {
  position: fixed;
  inset: 0;
  background: #000;
  z-index: 9999;
  overflow: hidden;
}
.call-remote-video {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.call-local-video {
  position: absolute;
  bottom: 80px;
  right: 16px;
  width: 200px;
  height: 150px;
  object-fit: cover;
  border-radius: 12px;
  border: 2px solid rgba(255, 255, 255, 0.3);
  z-index: 10;
  background: #111;
}
@media (max-width: 600px) {
  .call-local-video {
    width: 120px;
    height: 90px;
    bottom: 90px;
    right: 12px;
  }
}
.call-overlay {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(0, 0, 0, 0.85);
  z-index: 20;
}
.call-waiting,
.call-ended {
  text-align: center;
  color: #fff;
  max-width: 500px;
  padding: 24px;
}
.call-waiting h2,
.call-ended h2 {
  font-family: var(--font-mono, "JetBrains Mono", monospace);
  font-size: 24px;
  margin-bottom: 16px;
  letter-spacing: 0.5px;
}
.call-share-label {
  color: #888;
  font-size: 14px;
  margin-bottom: 8px;
}
.call-share-url {
  display: flex;
  align-items: center;
  gap: 8px;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.15);
  border-radius: 8px;
  padding: 10px 14px;
  margin-bottom: 16px;
}
.call-share-url code {
  flex: 1;
  font-family: var(--font-mono, monospace);
  font-size: 14px;
  color: #4fc3f7;
  word-break: break-all;
}
.call-copy-btn {
  background: rgba(255, 255, 255, 0.12);
  color: #fff;
  border: 1px solid rgba(255, 255, 255, 0.2);
  padding: 6px 14px;
  border-radius: 6px;
  cursor: pointer;
  font-size: 13px;
  font-family: var(--font-mono, monospace);
  white-space: nowrap;
  transition: background 0.15s;
}
.call-copy-btn:hover {
  background: rgba(255, 255, 255, 0.2);
}
.call-hint {
  color: #666;
  font-size: 13px;
}
.call-new-btn,
.call-home-btn {
  display: inline-block;
  padding: 10px 24px;
  margin: 8px;
  border-radius: 8px;
  text-decoration: none;
  font-family: var(--font-mono, monospace);
  font-size: 14px;
  transition: background 0.15s;
}
.call-new-btn {
  background: #4fc3f7;
  color: #000;
}
.call-new-btn:hover {
  background: #81d4fa;
}
.call-home-btn {
  background: rgba(255, 255, 255, 0.1);
  color: #fff;
  border: 1px solid rgba(255, 255, 255, 0.2);
}
.call-home-btn:hover {
  background: rgba(255, 255, 255, 0.2);
}
.call-toolbar {
  position: absolute;
  bottom: 20px;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  gap: 12px;
  padding: 10px 20px;
  background: rgba(30, 30, 30, 0.85);
  backdrop-filter: blur(10px);
  border-radius: 40px;
  z-index: 30;
}
.call-toolbar.hidden {
  display: none;
}
.call-btn {
  width: 52px;
  height: 52px;
  border-radius: 50%;
  border: none;
  background: rgba(255, 255, 255, 0.15);
  color: #fff;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--font-mono, monospace);
  font-size: 11px;
  font-weight: bold;
  letter-spacing: 0.5px;
  transition: background 0.15s;
}
.call-btn:hover {
  background: rgba(255, 255, 255, 0.25);
}
.call-btn.muted {
  background: rgba(255, 60, 60, 0.3);
  color: #ff6b6b;
}
.call-btn-hangup {
  background: #e53935;
  color: #fff;
}
.call-btn-hangup:hover {
  background: #f44336;
}
@media (max-width: 600px) {
  .call-toolbar {
    bottom: 12px;
    gap: 10px;
    padding: 8px 16px;
  }
  .call-btn {
    width: 46px;
    height: 46px;
    font-size: 10px;
  }
}
.call-ring-animation {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 80px;
  margin: 16px 0;
  position: relative;
}
.call-ring-circle {
  position: absolute;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  border: 2px solid #4fc3f7;
  animation: callRing 2s ease-out infinite;
  opacity: 0;
}
.call-ring-circle:nth-child(2) {
  animation-delay: 0.6s;
}
.call-ring-circle:nth-child(3) {
  animation-delay: 1.2s;
}
@keyframes callRing {
  0% {
    width: 40px;
    height: 40px;
    opacity: 0.8;
  }
  100% {
    width: 120px;
    height: 120px;
    opacity: 0;
  }
}
.call-stats {
  position: absolute;
  top: 12px;
  left: 12px;
  background: rgba(0, 0, 0, 0.8);
  backdrop-filter: blur(8px);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 8px;
  padding: 10px 14px;
  z-index: 35;
  pointer-events: none;
  font-family: var(--font-mono, "JetBrains Mono", monospace);
  font-size: 11px;
  line-height: 1.6;
  color: #ccc;
  min-width: 220px;
  max-width: 300px;
}
.call-stats-header {
  color: #4fc3f7;
  font-size: 10px;
  font-weight: bold;
  letter-spacing: 1.5px;
  margin-bottom: 6px;
  padding-bottom: 4px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}
#call-stats-body .stat-section {
  color: #888;
  font-size: 9px;
  font-weight: bold;
  letter-spacing: 1px;
  margin-top: 8px;
  margin-bottom: 2px;
}
#call-stats-body .stat-section:first-child {
  margin-top: 0;
}
.stat-value {
  color: #fff;
}
.stat-good {
  color: #4caf50;
}
.stat-warn {
  color: #ffc107;
}
.stat-bad {
  color: #f44336;
}
.stat-dim {
  color: #666;
  font-size: 10px;
}
.call-btn.stats-active {
  background: rgba(79, 195, 247, 0.3);
  color: #4fc3f7;
}
@media (max-width: 600px) {
  .call-stats {
    font-size: 10px;
    padding: 8px 10px;
    min-width: 180px;
  }
}
.call-lobby-list {
  display: flex;
  flex-direction: column;
  gap: 10px;
  width: 100%;
  max-width: 440px;
  margin-top: 16px;
}
.call-lobby-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(79, 195, 247, 0.3);
  border-radius: 10px;
  padding: 14px 16px;
  animation: lobbySlideIn 0.3s ease-out;
}
.call-lobby-info {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.call-lobby-caller {
  display: flex;
  align-items: center;
  gap: 8px;
  color: #fff;
  font-size: 15px;
  font-weight: 500;
}
.call-lobby-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #4caf50;
  animation: lobbyPulse 1.5s ease-in-out infinite;
}
.call-lobby-meta {
  display: flex;
  gap: 12px;
  color: #666;
  font-size: 12px;
  font-family: var(--font-mono, monospace);
}
.call-lobby-actions {
  display: flex;
  gap: 6px;
}
@keyframes lobbySlideIn {
  from {
    opacity: 0;
    transform: translateY(-10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes lobbyPulse {
  0%, 100% {
    opacity: 1;
  }
  50% {
    opacity: 0.4;
  }
}
@media (max-width: 600px) {
  .call-lobby-card {
    flex-direction: column;
    gap: 10px;
    align-items: stretch;
  }
  .call-lobby-actions {
    justify-content: stretch;
  }
  .call-lobby-actions button {
    flex: 1;
  }
}

/* css/app.css */
.alert {
  position: fixed;
  top: 16px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 9999;
  padding: 10px 20px;
  margin: 0;
  border: none;
  border-radius: 8px;
  font-family:
    -apple-system,
    BlinkMacSystemFont,
    "Segoe UI",
    Roboto,
    sans-serif;
  font-size: 13px;
  font-weight: 500;
  cursor: pointer;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
  animation: toast-in 4s ease-out forwards;
  max-width: 90vw;
}
.alert-info {
  color: #fff;
  background: #22c55e;
}
.alert-warning {
  color: #fff;
  background: #f59e0b;
}
.alert-danger {
  color: #fff;
  background: #ef4444;
}
.alert p {
  margin-bottom: 0;
}
.alert:empty {
  display: none;
}
@keyframes toast-in {
  0% {
    opacity: 0;
    transform: translateX(-50%) translateY(-12px);
  }
  8% {
    opacity: 1;
    transform: translateX(-50%) translateY(0);
  }
  75% {
    opacity: 1;
    transform: translateX(-50%) translateY(0);
  }
  100% {
    opacity: 0;
    transform: translateX(-50%) translateY(-12px);
    pointer-events: none;
  }
}
.invalid-feedback {
  color: #a94442;
  display: block;
  margin: -1rem 0 2rem;
}
.phx-no-feedback.invalid-feedback,
.phx-no-feedback .invalid-feedback {
  display: none;
}
.phx-click-loading {
  opacity: 0.5;
  transition: opacity 1s ease-out;
}
.phx-disconnected {
  cursor: wait;
}
.phx-disconnected * {
  pointer-events: none;
}
.phx-modal {
  opacity: 1 !important;
  position: fixed;
  z-index: 1;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  overflow: auto;
  background-color: rgb(0, 0, 0);
  background-color: rgba(0, 0, 0, 0.4);
}
.phx-modal-content {
  background-color: #fefefe;
  margin: 15vh auto;
  padding: 20px;
  border: 1px solid #888;
  width: 80%;
}
.phx-modal-close {
  color: #aaa;
  float: right;
  font-size: 28px;
  font-weight: bold;
}
.phx-modal-close:hover,
.phx-modal-close:focus {
  color: black;
  text-decoration: none;
  cursor: pointer;
}
/*# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vYXNzZXRzL2Nzcy9nYWxsZXJ5LmNzcyIsICIuLi8uLi8uLi9hc3NldHMvY3NzL3RoZW1lX21vZGVybi5jc3MiLCAiLi4vLi4vLi4vYXNzZXRzL2Nzcy9haV9jb2xsYWIuY3NzIiwgIi4uLy4uLy4uL2Fzc2V0cy9jc3MvYWRtaW4uY3NzIiwgIi4uLy4uLy4uL2Fzc2V0cy9jc3MvYmxvZy5jc3MiLCAiLi4vLi4vLi4vYXNzZXRzL2Nzcy90aGVtZV9taW5pbWFsLmNzcyIsICIuLi8uLi8uLi9hc3NldHMvY3NzL2NhbGwuY3NzIiwgIi4uLy4uLy4uL2Fzc2V0cy9jc3MvYXBwLmNzcyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICogU0NBTkVYIEdBTExFUlkgLSBNYWluIEdhbGxlcnkgU3R5bGVzaGVldFxuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAqXG4gKiBQcmltYXJ5IHN0eWxlc2hlZXQgZm9yIHRoZSBTY2FuZXggcGhvdG9ncmFwaHkgZ2FsbGVyeS4gQ292ZXJzIHRoZSBmdWxsXG4gKiBnYWxsZXJ5IGV4cGVyaWVuY2U6IGhlcm8gaW1hZ2UgZGlzcGxheSwgdGh1bWJuYWlsIHNpZGViYXIsIG5hdmlnYXRpb24sXG4gKiBmYWNlL29iamVjdCBkZXRlY3Rpb24gb3ZlcmxheXMsIHZpZGVvIHBsYXllciwgbW9kYWxzLCBhbmQgbW9iaWxlIGZlZWQuXG4gKlxuICogT3JpZ2luYWxseSBleHRyYWN0ZWQgZnJvbSBpbmxpbmUgc3R5bGVzIGluIGhvbWVwYWdlX2xpdmUuaHRtbC5oZWV4LlxuICpcbiAqIFRIRU1FIFNZU1RFTTpcbiAqIC0gRGVmYXVsdCB0aGVtZTogZGFyayBzbGF0ZSAoVGFpbHdpbmQgU2xhdGUgcGFsZXR0ZSkgd2l0aCBtb25vc3BhY2UgdHlwZVxuICogLSBNb2Rlcm4gdGhlbWU6IG92ZXJyaWRkZW4gdmlhIGJvZHkgY2xhc3MgLnRoZW1lLW1vZGVybiAoc2VlIHRoZW1lX21vZGVybi5jc3MpXG4gKiAtIE1vZGVybiBkYXJrOiAudGhlbWUtbW9kZXJuLWRhcmsgdmFyaWFudCBmb3IgZGFyay1tb2RlIG1vZGVyblxuICogLSBBbGwgY29sb3JzIGRlZmluZWQgYXMgQ1NTIGN1c3RvbSBwcm9wZXJ0aWVzIGluIDpyb290IGZvciBlYXN5IHN3YXBwaW5nXG4gKiAtIFRoZW1lLXNwZWNpZmljIG92ZXJyaWRlcyBsaXZlIGF0IHRoZSBib3R0b20gb2YgdGhpcyBmaWxlIChlZGl0b3IsIGZlZWQpXG4gKiAgIGFuZCBpbiBzZXBhcmF0ZSB0aGVtZSBmaWxlcyAoYXNzZXRzL2Nzcy90aGVtZV9tb2Rlcm4uY3NzKVxuICpcbiAqIFJFU1BPTlNJVkUgQlJFQUtQT0lOVFMgKG1vYmlsZS1maXJzdCk6XG4gKiAtIEJhc2Ugc3R5bGVzOiAgICAgICAgICBNb2JpbGUgKDwgNzY4cHgpIFx1MjAxNCB2ZXJ0aWNhbCBzdGFjaywgdG91Y2gtb3B0aW1pemVkXG4gKiAtIG1pbi13aWR0aDogNzY4cHg6ICAgICBUYWJsZXQvRGVza3RvcCBcdTIwMTQgaG9yaXpvbnRhbCBsYXlvdXQsIHNpZGViYXIgb24gbGVmdFxuICogLSA3NjhweCAtIDExOTlweDogICAgICAgVGFibGV0IFx1MjAxNCBjb21wYWN0IHNpZGViYXIgKDIyMHB4KSwgdGlnaHRlciBzcGFjaW5nXG4gKiAtIG1pbi13aWR0aDogMTIwMHB4OiAgICBMYXJnZSBEZXNrdG9wIFx1MjAxNCB3aWRlciBzaWRlYmFyICgzNjBweCksIDMtY29sIGdyaWRcbiAqIC0gbWF4LXdpZHRoOiA0MDBweDogICAgIFNtYWxsIHBob25lcyBcdTIwMTQgbGFyZ2VyIHRvdWNoIHRhcmdldHMsIHNjcm9sbGFibGUgbmF2XG4gKiAtIG1heC13aWR0aDogMzIwcHg6ICAgICBWZXJ5IHNtYWxsIHNjcmVlbnMgXHUyMDE0IGV4dHJhIGNvbXBhY3RcbiAqIC0gbGFuZHNjYXBlICsgc2hvcnQ6ICAgIFBob25lIGxhbmRzY2FwZSBcdTIwMTQgc2lkZWJhciBiZWNvbWVzIG5hcnJvdyByaWdodCBzdHJpcFxuICogLSBGb2xkYWJsZSBkZXZpY2VzOiAgICAgUmF6ci9aIEZsaXAgb3B0aW1pemF0aW9ucyBmb3IgMjE6OSsgc2NyZWVuc1xuICogLSAoaG92ZXI6IG5vbmUpOiAgICAgICAgVG91Y2ggZGV2aWNlcyBcdTIwMTQgYWx3YXlzLXZpc2libGUgbGFiZWxzLCBsYXJnZXIgdGFyZ2V0c1xuICpcbiAqIExBWU9VVCBNT0RFUzpcbiAqIC0gRGVza3RvcDogYXBwLXNoZWxsIChmaXhlZCB2aWV3cG9ydCkgd2l0aCBoZXJvICsgc2lkZWJhciBzaWRlLWJ5LXNpZGVcbiAqIC0gTW9iaWxlOiBhcHAtc2hlbGwgKGZpeGVkIHZpZXdwb3J0KSB3aXRoIGhlcm8gc3RhY2tlZCBhYm92ZSB0aHVtYm5haWxzXG4gKiAtIE1vYmlsZSBGZWVkOiBmZWVkLWxheW91dCAobmF0dXJhbCBzY3JvbGwsIEluc3RhZ3JhbS1zdHlsZSBjYXJkcykgXHUyMDE0IHNlZVxuICogICBzZWN0aW9uIGF0IGJvdHRvbS4gQWN0aXZhdGVkIHdoZW4gQG1vYmlsZV9mZWVkIGlzIHRydWUgaW4gTGl2ZVZpZXcuXG4gKiAgIEF0IDw9NzY4cHgsIC5hcHAtc2hlbGwgaXMgaGlkZGVuIGFuZCAuZmVlZC1sYXlvdXQgaXMgc2hvd24uXG4gKlxuICogU0VDVElPTlMgKHVwZGF0ZWQpOlxuICogIDEuIENTUyBWYXJpYWJsZXMgKFRoZW1lIENvbG9ycywgRm9udHMsIFNwYWNpbmcpXG4gKiAgMi4gUmVzZXQgJiBCYXNlIFN0eWxlc1xuICogIDMuIEFwcCBTaGVsbCAoTWFpbiBMYXlvdXQgQ29udGFpbmVyKVxuICogIDQuIEhlYWRlciBCYXJcbiAqICA1LiBNYWluIFN0YWdlIChIZXJvIEltYWdlIERpc3BsYXkpXG4gKiAgNi4gU2lkZWJhciAoVGh1bWJuYWlsIFN0cmlwIC8gRmlsbSBSb2xsKVxuICogIDcuIE5hdmlnYXRpb24gQ29udHJvbHMgKFZDUiBUcmFuc3BvcnQpXG4gKiAgOC4gU2VhcmNoIEludGVyZmFjZVxuICogIDkuIERhdGUgU2VsZWN0IERyb3Bkb3duXG4gKiAxMC4gTWV0YSBEaXNwbGF5IChGbG9wcHkgRGlzayBMYWJlbCBcdTIwMTQgRVhJRi90YWdzL3NjZW5lKVxuICogMTEuIERvd25sb2FkIFBhbmVsXG4gKiAxMi4gU2hhcmUgUGFuZWwgJiBNb2RhbCAoQWRtaW4pXG4gKiAxMy4gSW5mbyBNb2RhbCAoTmV3c3BhcGVyIFN0eWxlKVxuICogMTQuIERhdGUgUGlja2VyIE1vZGFsXG4gKiAxNS4gRmFjZSBEZXRlY3Rpb24gT3ZlcmxheXNcbiAqIDE2LiBPYmplY3QgRGV0ZWN0aW9uIE92ZXJsYXlzXG4gKiAxNy4gVmlkZW8gUGxheWVyIChWQ1IgU3R5bGUgKyBITFMpXG4gKiAxOC4gU2lkZWJhciBUb2dnbGUgQnV0dG9uXG4gKiAxOS4gUElOIFNjcmVlbiAoQXV0aGVudGljYXRpb24pXG4gKiAyMC4gQ29udGFjdCBTaGVldCAoUHVsbC1VcCBQYW5lbClcbiAqIDIxLiBSZXNwb25zaXZlOiBUYWJsZXRzICYgRGVza3RvcCAoNzY4cHgrKVxuICogMjFiLiBSZXNwb25zaXZlOiBUYWJsZXQgKDc2OHB4IC0gMTE5OXB4KVxuICogMjIuIFJlc3BvbnNpdmU6IExhcmdlIERlc2t0b3AgKDEyMDBweCspXG4gKiAyMy4gUmVzcG9uc2l2ZTogTGFuZHNjYXBlIFBob25lc1xuICogMjQuIFJlc3BvbnNpdmU6IFNtYWxsL05hcnJvdyBTY3JlZW5zICg0MDBweC0pXG4gKiAyNS4gUmVzcG9uc2l2ZTogVmVyeSBTbWFsbCBTY3JlZW5zICgzMjBweC0pXG4gKiAyNi4gVG91Y2ggRGV2aWNlIE92ZXJyaWRlc1xuICogMjcuIE1ldGEgUGFuZWwgVG9nZ2xlIC8gRm9sZGFibGUgU2NyZWVuc1xuICogMjguIExvYWQgTW9yZSBCdXR0b25cbiAqIDI5LiBMaXZlIFN0cmVhbWluZ1xuICogMzAuIERldmljZSBJbmZvIEJhZGdlXG4gKiAzMS4gSW5saW5lIEltYWdlIEVkaXRvclxuICogMzIuIE1vYmlsZSBGZWVkIExheW91dCAoSW5zdGFncmFtLXN0eWxlKVxuICogMzMuIE5TRlcgQ29udGVudCAvIEJsdXIgU3lzdGVtXG4gKiAzNC4gTW9kZWwgUG9ydGZvbGlvIFBhZ2VcbiAqIDM1LiBBY2Nlc3NpYmlsaXR5IChSZWR1Y2VkIE1vdGlvbilcbiAqXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICovXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAxLiBDU1MgVkFSSUFCTEVTIC0gU2VtYW50aWMgVGhlbWUgQ29sb3JzICYgRm9udHNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgIFRoZXNlIHZhcmlhYmxlcyBkZWZpbmUgdGhlIGRlZmF1bHQgZGFyayB0aGVtZSAoVGFpbHdpbmQgU2xhdGUgcGFsZXR0ZSkuXG4gICBUaGUgdGhlbWUgc3lzdGVtIHdvcmtzIHZpYSBib2R5LWNsYXNzIENTUyBzY29waW5nOlxuICAgLSBEZWZhdWx0IChubyBjbGFzcyk6IGRhcmsgc2xhdGUgd2l0aCBTa3kgYWNjZW50IGNvbG9yc1xuICAgLSAudGhlbWUtbW9kZXJuOiBjbGVhbiB3aGl0ZS9ibHVlIChvdmVycmlkZXMgaW4gdGhlbWVfbW9kZXJuLmNzcylcbiAgIC0gLnRoZW1lLW1vZGVybi1kYXJrOiBkYXJrIHZhcmlhbnQgb2YgbW9kZXJuIChvdmVycmlkZXMgaW5saW5lIGJlbG93KVxuXG4gICBDb2xvciBuYW1pbmcgY29udmVudGlvbjpcbiAgIC0gYmctKiAgICAgIDogQmFja2dyb3VuZCBjb2xvcnMgKHByaW1hcnkgPSBkYXJrZXN0LCBzZWNvbmRhcnkgPSBwYW5lbHMpXG4gICAtIGFjY2VudC0qICA6IEJyYW5kL2FjY2VudCBjb2xvcnMgKHByaW1hcnkgPSBicmlnaHQsIG11dGVkID0gZGltbWVyKVxuICAgLSBjb2xvci0qICAgOiBTZW1hbnRpYyBzdGF0ZSBjb2xvcnMgKHN1Y2Nlc3MgPSBncmVlbiwgZGFuZ2VyID0gcmVkKVxuICAgLSBrb2Rhay0qICAgOiBBY2NlbnQgY29sb3JzIChsZWdhY3kgbmFtaW5nIGZyb20gZmlsbSBjYW1lcmEgYWVzdGhldGljKVxuICAgLSBmaWxtLSogICAgOiBCb3JkZXIvc3VyZmFjZSBjb2xvcnMgKGRhcmsgYm9yZGVycyBiZXR3ZWVuIHBhbmVscylcbiAgIC0gcGFwZXItKiAgIDogQWx0IHN1cmZhY2UgY29sb3JzICh1c2VkIGluIGluZm8gbW9kYWwsIG1ldGEgZGlzcGxheSlcblxuICAgVG8gYWRkIGEgbmV3IHRoZW1lOiBjcmVhdGUgYSBuZXcgQ1NTIGZpbGUgdGhhdCBvdmVycmlkZXMgdGhlc2UgdmFyaWFibGVzXG4gICB1bmRlciBhIGJvZHkgY2xhc3Mgc2VsZWN0b3IgKGUuZy4sIC50aGVtZS1kYXJrcm9vbSB7IC0tYmctcHJpbWFyeTogIzAwMDsgfSkuXG4qL1xuXG4vKiBGb250cyBsb2FkZWQgdmlhIDxsaW5rPiBpbiByb290Lmh0bWwuaGVleCB3aXRoIGZvbnQtZGlzcGxheTogc3dhcCBmb3Igbm9uLWJsb2NraW5nIHJlbmRlci5cbiAgIEpldEJyYWlucyBNb25vID0gVUkgY2hyb21lIChuYXYsIGxhYmVscywgYmFkZ2VzKS5cbiAgIEludGVyID0gZGlzcGxheSB0ZXh0ICh0aXRsZXMsIGJ1dHRvbnMsIGRhdGUgc3RhbXBzKS4gKi9cblxuOnJvb3Qge1xuICAvKiA9PT0gQmFja2dyb3VuZCBDb2xvcnMgKFRhaWx3aW5kIFNsYXRlKSA9PT0gKi9cbiAgLS1iZy1wcmltYXJ5OiAjMGYxNzJhOyAgICAgICAgLyogRGVlcCBkYXJrIChTbGF0ZSA5MDApIFx1MjAxNCBtYWluIHN0YWdlLCBtb2RhbHMgKi9cbiAgLS1iZy1zZWNvbmRhcnk6ICMxZTI5M2I7ICAgICAgLyogUGFuZWwgYmFja2dyb3VuZCAoU2xhdGUgODAwKSBcdTIwMTQgc2lkZWJhciwgaGVhZGVyICovXG5cbiAgLyogPT09IEFjY2VudCBDb2xvcnMgKFRhaWx3aW5kIFNreSkgPT09ICovXG4gIC0tYWNjZW50LXByaW1hcnk6ICM3ZGQzZmM7ICAgIC8qIFNreSAzMDAgXHUyMDE0IGJyaWdodCBhY2NlbnQgZm9yIHRleHQsIGJvcmRlcnMsIGhpZ2hsaWdodHMgKi9cbiAgLS1hY2NlbnQtbXV0ZWQ6ICMzOGJkZjg7ICAgICAgLyogU2t5IDQwMCBcdTIwMTQgZGltbWVyIGFjY2VudCBmb3Igc2Vjb25kYXJ5IHRleHQsIGluYWN0aXZlICovXG5cbiAgLyogPT09IFNlbWFudGljIFN0YXRlIENvbG9ycyA9PT0gKi9cbiAgLS1jb2xvci1zdWNjZXNzOiAjNGFkZTgwOyAgICAgLyogR3JlZW4gNDAwIFx1MjAxNCBmYWNlIGJveGVzLCBzYXZlIGNvbmZpcm1hdGlvbnMgKi9cbiAgLS1jb2xvci1kYW5nZXI6ICNmODcxNzE7ICAgICAgLyogUmVkIDQwMCBcdTIwMTQgUkVDIGluZGljYXRvciwgZGVsZXRlLCBlcnJvcnMgKi9cblxuICAvKiA9PT0gRmlsbSBDYW1lcmEgQWNjZW50IENvbG9ycyAobGVnYWN5IG5hbWluZywgc3RpbGwgdXNlZCkgPT09ICovXG4gIC0ta29kYWsteWVsbG93OiAjZmNkMzRkOyAgICAgIC8qIEFtYmVyIDMwMCBcdTIwMTQgZG93bmxvYWQgYnV0dG9uIGJhY2tncm91bmQgKi9cbiAgLS1rb2Rhay1yZWQ6ICNmMWY1Zjk7ICAgICAgICAgLyogU2xhdGUgMTAwIFx1MjAxNCBOT1RFOiBub3QgcmVkLCBpdCBpcyBicmlnaHQgdGV4dCBjb2xvciAqL1xuXG4gIC8qID09PSBTdXJmYWNlIENvbG9ycyA9PT0gKi9cbiAgLS1maWxtLWJvcmRlcjogIzQ3NTU2OTsgICAgICAgLyogU2xhdGUgNjAwIFx1MjAxNCBib3JkZXJzIGJldHdlZW4gcGFuZWxzLCBmaWxtIHN0cmlwIGJnICovXG5cbiAgLyogPT09IEFsdCBTdXJmYWNlIENvbG9ycyAoaW5mby9tZXRhIHBhbmVscykgPT09ICovXG4gIC0tcGFwZXItY3JlYW06ICMxZTI5M2I7ICAgICAgIC8qIFNsYXRlIDgwMCBcdTIwMTQgaW5mbyBtb2RhbCBiZywgbWV0YSBkaXNwbGF5IGJnICovXG4gIC0tcGFwZXItYWdlZDogIzBmMTcyYTsgICAgICAgIC8qIFNsYXRlIDkwMCBcdTIwMTQgaW5mbyBtb2RhbCBhbHQgYmcgKi9cblxuICAvKiA9PT0gVHlwb2dyYXBoeSA9PT0gKi9cbiAgLS1mb250LW1vbm86ICdKZXRCcmFpbnMgTW9ubycsICdTRiBNb25vJywgbW9ub3NwYWNlO1xuICAtLWZvbnQtZGlzcGxheTogJ0ludGVyJywgLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBzYW5zLXNlcmlmO1xuXG4gIC8qID09PSBTcGFjaW5nIFNjYWxlIChjb25zaXN0ZW50IGdhcHMvcGFkZGluZykgPT09ICovXG4gIC0tc3BhY2luZy14czogNHB4O1xuICAtLXNwYWNpbmctc206IDhweDtcbiAgLS1zcGFjaW5nLW1kOiAxMnB4O1xuICAtLXNwYWNpbmctbGc6IDE2cHg7XG4gIC0tc3BhY2luZy14bDogMjRweDtcblxuICAvKiA9PT0gVG91Y2ggVGFyZ2V0cyAoV0NBRyAyLjEgQUFBKSA9PT0gKi9cbiAgLS10b3VjaC10YXJnZXQtbWluOiA0NHB4OyAgIC8qIE1pbmltdW0gNDR4NDRweCBmb3IgYWxsIGludGVyYWN0aXZlIGVsZW1lbnRzICovXG59XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIDIuIFJFU0VUICYgQkFTRSBTVFlMRVNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4qL1xuXG4qIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xufVxuXG4vKiBQcmV2ZW50IGhvcml6b250YWwgb3ZlcmZsb3cgb24gZm9sZGFibGUvdW51c3VhbCBhc3BlY3QgcmF0aW8gZGV2aWNlcyAqL1xuLyogVXNpbmcgY2xpcCBpbnN0ZWFkIG9mIGhpZGRlbiB0byBhdm9pZCBicmVha2luZyBwb3NpdGlvbjpzdGlja3kgKi9cbmh0bWwsIGJvZHkge1xuICBvdmVyZmxvdy14OiBjbGlwO1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiAxMDB2dztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4vKiBQcmV2ZW50IHRleHQgc2VsZWN0aW9uIG9uIFVJIGVsZW1lbnRzIChidXQgYWxsb3cgb24gY29udGVudCkgKi9cbi5uby1zZWxlY3Qge1xuICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbn1cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgMy4gQVBQIFNIRUxMIC0gTWFpbiBMYXlvdXQgQ29udGFpbmVyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gICBUaGUgYXBwIHNoZWxsIGlzIGEgZml4ZWQsIGZ1bGwtdmlld3BvcnQgY29udGFpbmVyIHVzaW5nIGZsZXhib3guXG4gICBMYXlvdXQ6IEhlYWRlciAtPiBTdGFnZSAoaGVybykgLT4gU2lkZWJhciAodGh1bWJuYWlscylcblxuICAgT24gbW9iaWxlOiB2ZXJ0aWNhbCBzdGFja1xuICAgT24gZGVza3RvcDogc2lkZWJhciBtb3ZlcyB0byBsZWZ0IHNpZGVcbiovXG5cbi5hcHAtc2hlbGwge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGluc2V0OiAwOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIEZpbGxzIGVudGlyZSB2aWV3cG9ydCAqL1xuICAvKiBVc2UgZHluYW1pYyB2aWV3cG9ydCBoZWlnaHQgdG8gaGFuZGxlIG1vYmlsZSBicm93c2VyIGNocm9tZSAqL1xuICBoZWlnaHQ6IDEwMHZoO1xuICBoZWlnaHQ6IDEwMGR2aDtcbiAgYmFja2dyb3VuZDogdmFyKC0tYmctcHJpbWFyeSk7XG4gIGNvbG9yOiB2YXIoLS1hY2NlbnQtcHJpbWFyeSk7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LW1vbm8pO1xuICBmb250LXNpemU6IDExcHg7ICAgICAgICAgICAgICAgICAgICAgICAvKiBCYXNlIHNpemUgZm9yIG1vYmlsZSAqL1xuICAvKiBTYWZlIGFyZWEgaW5zZXRzIGZvciBub3RjaGVkL2ZvbGRhYmxlIGRldmljZXMgKi9cbiAgcGFkZGluZy1sZWZ0OiBlbnYoc2FmZS1hcmVhLWluc2V0LWxlZnQpO1xuICBwYWRkaW5nLXJpZ2h0OiBlbnYoc2FmZS1hcmVhLWluc2V0LXJpZ2h0KTtcbiAgcGFkZGluZy1ib3R0b206IGVudihzYWZlLWFyZWEtaW5zZXQtYm90dG9tKTtcbn1cblxuLyogVGVybWluYWwgc2NhbmxpbmVzIGFyY2hpdmVkIHRvIGFzc2V0cy9jc3MvYXJjaGl2ZS90aGVtZV90ZXJtaW5hbC5jc3MgKi9cblxuLyogU3RhdGU6IHNpZGViYXIgaGlkZGVuICovXG4uYXBwLXNoZWxsLnNpZGViYXItaGlkZGVuIC5zaWRlYmFyIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgNC4gSEVBREVSIEJBUlxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAgVG9wIGJhciBzaG93aW5nOlxuICAgLSBCcmFuZCBuYW1lIChsZWZ0KVxuICAgLSBTdGF0dXMgaW5kaWNhdG9yczogTElWRS9SRUMsIGZyYW1lIGNvdW50IChyaWdodClcbiovXG5cbi5oZWFkZXItYmFyIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tYmctc2Vjb25kYXJ5KTtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWZpbG0tYm9yZGVyKTtcbiAgcGFkZGluZzogNnB4IDEycHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZmxleC1zaHJpbms6IDA7XG59XG5cbi5oZWFkZXItYnJhbmQge1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1kaXNwbGF5KTtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBsZXR0ZXItc3BhY2luZzogMDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgY29sb3I6IHZhcigtLWFjY2VudC1wcmltYXJ5KTtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG59XG5cbi5oZWFkZXItc3RhdHVzIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiAxMnB4O1xuICBmb250LXNpemU6IDEwcHg7XG59XG5cbi8qIFJlY29yZGluZyBpbmRpY2F0b3IgKHJlZCBkb3QgKyBcIkxJVkVcIiBvciBcIlJFQ1wiKSAqL1xuLnJlYy1pbmRpY2F0b3Ige1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDRweDtcbiAgY29sb3I6IHZhcigtLWNvbG9yLWRhbmdlcik7XG59XG5cbi5yZWMtZG90IHtcbiAgd2lkdGg6IDhweDtcbiAgaGVpZ2h0OiA4cHg7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWRhbmdlcik7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbn1cblxuLnJlYy1kb3QuYWN0aXZlIHtcbiAgYW5pbWF0aW9uOiBibGluay1yZWMgMXMgaW5maW5pdGU7XG59XG5cbi5yZWMtaW5kaWNhdG9yLmluYWN0aXZlIHtcbiAgY29sb3I6IHZhcigtLWFjY2VudC1tdXRlZCk7XG59XG5cbi5yZWMtaW5kaWNhdG9yLmluYWN0aXZlIC5yZWMtZG90IHtcbiAgYmFja2dyb3VuZDogdmFyKC0tYWNjZW50LW11dGVkKTtcbn1cblxuQGtleWZyYW1lcyBibGluay1yZWMge1xuICAwJSwgMTAwJSB7IG9wYWNpdHk6IDE7IH1cbiAgNTAlIHsgb3BhY2l0eTogMC4zOyB9XG59XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIDUuIE1BSU4gU1RBR0UgLSBIZXJvIEltYWdlIERpc3BsYXlcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgIENlbnRlciBhcmVhIHdoZXJlIHRoZSBzZWxlY3RlZCBwaG90byBpcyBkaXNwbGF5ZWQuXG4gICBDb250YWluczpcbiAgIC0gSGVybyBpbWFnZSB3cmFwcGVyIChmaWxtIGZyYW1lIGVmZmVjdClcbiAgIC0gVGFwIHpvbmVzIGZvciBwcmV2L25leHQgbmF2aWdhdGlvblxuICAgLSBEYXRlIHN0YW1wIG92ZXJsYXkgKEtvZGFrIHN0eWxlKVxuICAgLSBGcmFtZSBjb3VudGVyXG4gICAtIEJyb2FkY2FzdCBiYW5uZXJcbiAgIC0gUGVyc29uIGZpbHRlciBiYW5uZXJcbiovXG5cbi5zdGFnZSB7XG4gIGZsZXg6IDE7XG4gIG1pbi1oZWlnaHQ6IDA7ICAgICAgICAgICAgICAgICAgICAgICAgIC8qIEFsbG93IHNocmlua2luZyBpbiBmbGV4Ym94ICovXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1iZy1wcmltYXJ5KTtcbiAgcGFkZGluZzogdmFyKC0tc3BhY2luZy1zbSk7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi8qIE1vYmlsZTogbmF2IGF0IHRvcCwgYm9yZGVyIG9uIGJvdHRvbSAqL1xuLnN0YWdlIC5uYXYtY29udHJvbHMge1xuICB3aWR0aDogMTAwJTtcbiAgYm9yZGVyLXRvcDogbm9uZTtcbiAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICMzYTM2MzI7XG59XG5cbi5zdGFnZSAuaGVyby13cmFwcGVyIHtcbiAgZmxleDogMTtcbiAgbWluLWhlaWdodDogMDtcbiAgd2lkdGg6IDEwMCU7ICAvKiBUYWtlIGZ1bGwgd2lkdGggb2Ygc3RhZ2UgKi9cbn1cblxuLyogRmlsbSBGcmFtZSBCb3JkZXJcbiAgIENyZWF0ZXMgYSBmcmFtZSBhcm91bmQgdGhlIGhlcm8gaW1hZ2UgbGlrZSBhIGZpbG0gbmVnYXRpdmVcbiovXG4uaGVyby13cmFwcGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTsgIC8qIEZpbGwgYXZhaWxhYmxlIHNwYWNlICovXG4gIG1heC13aWR0aDogY2FsYygxMDAlIC0gMTZweCk7XG4gIG1heC1oZWlnaHQ6IGNhbGMoMTAwJSAtIDE2cHgpO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1maWxtLWJvcmRlcik7XG4gIHBhZGRpbmc6IDRweDtcbiAgYm94LXNoYWRvdzpcbiAgICBpbnNldCAwIDAgMzBweCByZ2JhKDAsMCwwLDAuNSksICAgICAgIC8qIElubmVyIHNoYWRvdyAqL1xuICAgIDAgMCAyMHB4IHJnYmEoMjU1LCAxNzYsIDAsIDAuMSk7ICAgICAgIC8qIE91dGVyIGdsb3cgKi9cbn1cblxuLyogSGVybyBJbWFnZSAtIGFic29sdXRlbHkgcG9zaXRpb25lZCBzbyBwb3J0cmFpdCBpbWFnZXMgZG9uJ3Qgb3ZlcmZsb3cgdGhlIHdyYXBwZXIuXG4gICBvYmplY3QtZml0OiBjb250YWluIGxldHRlcmJveGVzIGJvdGggb3JpZW50YXRpb25zIHdpdGhvdXQgYW55IGNyb3BwaW5nLiAqL1xuLnN0YWdlIGltZy5oZXJvLFxuLnN0YWdlIHZpZGVvLmhlcm8ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgb2JqZWN0LWZpdDogY29udGFpbjsgIC8qIEZpdCBpbWFnZSB3aXRoaW4sIG1haW50YWluaW5nIGFzcGVjdCByYXRpbyAqL1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLyogVGFwIFpvbmVzIGZvciBOYXZpZ2F0aW9uXG4gICBJbnZpc2libGUgYXJlYXMgb24gbGVmdC9yaWdodCBzaWRlcyBmb3IgcHJldi9uZXh0IG5hdmlnYXRpb25cbiovXG4udGFwLXpvbmUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgYm90dG9tOiAwO1xuICB3aWR0aDogMjUlO1xuICB6LWluZGV4OiA1MDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0b3VjaC1hY3Rpb246IG1hbmlwdWxhdGlvbjtcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLnRhcC16b25lLnByZXYgeyBsZWZ0OiAwOyB9XG4udGFwLXpvbmUubmV4dCB7IHJpZ2h0OiAwOyB9XG4udGFwLXpvbmU6YWN0aXZlIHsgYmFja2dyb3VuZDogcmdiYSgyNTUsIDE3NiwgMCwgMC4xKTsgfVxuXG4vKiBEYXRlIFN0YW1wIChLb2RhayBzdHlsZSwgYm90dG9tLXJpZ2h0IG9mIGltYWdlKSAqL1xuLmRhdGUtc3RhbXAge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogMTJweDtcbiAgcmlnaHQ6IDEycHg7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWRpc3BsYXkpO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGNvbG9yOiB2YXIoLS1rb2Rhay1yZWQpO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjE1LCAwLCAwLjkpO1xuICBwYWRkaW5nOiAycHggOHB4O1xuICBsZXR0ZXItc3BhY2luZzogMXB4O1xufVxuXG4vKiBGcmFtZSBDb3VudGVyICh0b3AtbGVmdCkgKi9cbi5mcmFtZS1jb3VudGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDhweDtcbiAgbGVmdDogOHB4O1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1kaXNwbGF5KTtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBjb2xvcjogdmFyKC0tYWNjZW50LXByaW1hcnkpO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNyk7XG4gIHBhZGRpbmc6IDJweCA2cHg7XG4gIGxldHRlci1zcGFjaW5nOiAycHg7XG59XG5cbi8qIEJyb2FkY2FzdCBCYW5uZXIgKGNlbnRlcmVkLCB0b3ApICovXG4uYmFubmVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDhweDtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gIHotaW5kZXg6IDEwMDtcbiAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItZGFuZ2VyKTtcbiAgY29sb3I6IHdoaXRlO1xuICBwYWRkaW5nOiA0cHggMTZweDtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZGlzcGxheSk7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgbGV0dGVyLXNwYWNpbmc6IDJweDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgYW5pbWF0aW9uOiBmbGFzaC1iYW5uZXIgMnMgaW5maW5pdGU7XG59XG5cbkBrZXlmcmFtZXMgZmxhc2gtYmFubmVyIHtcbiAgMCUsIDEwMCUgeyBvcGFjaXR5OiAxOyB9XG4gIDUwJSB7IG9wYWNpdHk6IDAuNzsgfVxufVxuXG4vKiBBY3RpdmUgRmlsdGVycyBCYXIgXHUyMDE0IHBvc2l0aW9uZWQgYXQgYm90dG9tIGNlbnRlciBvZiB0aGUgaGVybyBpbWFnZS5cbiAgIFNob3dzIGNvbXBhY3QgcGlsbCBiYWRnZXMgZm9yIGVhY2ggYWN0aXZlIGZpbHRlciAocGVyc29uLCBsb2NhdGlvbiwgY2FtZXJhLCBldGMuKVxuICAgRWFjaCBwaWxsIGhhcyBhIGNvbG9yLWNvZGVkIGJvcmRlciArIHRleHQgYW5kIGFuIFwieFwiIGNsZWFyIGJ1dHRvbi4gKi9cbi5hY3RpdmUtZmlsdGVycy1iYXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogNnB4O1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgei1pbmRleDogMTAwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDZweDtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZGlzcGxheSk7XG4gIGZvbnQtc2l6ZTogMTFweDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLyogQmFzZSBwaWxsIHN0eWxlOiBkYXJrIHRyYW5zbHVjZW50IGJhY2tncm91bmQgd2l0aCBjb2xvcmVkIGJvcmRlciAqL1xuLmZpbHRlci1waWxsIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogNHB4O1xuICBwYWRkaW5nOiAzcHggOHB4O1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIGJhY2tncm91bmQ6IHJnYmEoNDAsIDQwLCA0MCwgMC45KTtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYm9yZGVyLXByaW1hcnkpO1xuICBjb2xvcjogdmFyKC0tdGV4dC1wcmltYXJ5KTtcbn1cblxuLyogRmlsdGVyIHBpbGwgY29sb3IgY29kaW5nIGJ5IHR5cGUgXHUyMDE0IGVhY2ggZmlsdGVyIGNhdGVnb3J5IGhhcyBhIGRpc3RpbmN0IGNvbG9yXG4gICBzbyB1c2VycyBjYW4gcXVpY2tseSBpZGVudGlmeSB3aGljaCBmaWx0ZXJzIGFyZSBhY3RpdmUgYXQgYSBnbGFuY2UuXG4gICBTa3kgYmx1ZSA9IHBlcnNvbiwgdGVhbCA9IGxvY2F0aW9uLCBnb2xkID0gY2FtZXJhLCBwdXJwbGUgPSBtZWRpYSB0eXBlLCBvbGl2ZSA9IHJhdGluZyAqL1xuLmZpbHRlci1waWxsLnBlcnNvbi1waWxsIHsgYm9yZGVyLWNvbG9yOiB2YXIoLS1hY2NlbnQtcHJpbWFyeSk7IGNvbG9yOiB2YXIoLS1hY2NlbnQtcHJpbWFyeSk7IH1cbi5maWx0ZXItcGlsbC5sb2NhdGlvbi1waWxsIHsgYm9yZGVyLWNvbG9yOiAjNmE5ZmI1OyBjb2xvcjogIzZhOWZiNTsgfVxuLmZpbHRlci1waWxsLmNhbWVyYS1waWxsIHsgYm9yZGVyLWNvbG9yOiAjYjU5ZjZhOyBjb2xvcjogI2I1OWY2YTsgfVxuLmZpbHRlci1waWxsLm1lZGlhLXBpbGwgeyBib3JkZXItY29sb3I6ICM4YTZhYjU7IGNvbG9yOiAjOGE2YWI1OyB9XG4uZmlsdGVyLXBpbGwucmF0aW5nLXBpbGwgeyBib3JkZXItY29sb3I6ICNiNWE1MzA7IGNvbG9yOiAjYjVhNTMwOyB9XG5cbi5waWxsLWNsZWFyIHtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgYm9yZGVyOiBub25lO1xuICBjb2xvcjogaW5oZXJpdDtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBsaW5lLWhlaWdodDogMTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBwYWRkaW5nOiAwIDJweDtcbiAgb3BhY2l0eTogMC42O1xufVxuLnBpbGwtY2xlYXI6aG92ZXIgeyBvcGFjaXR5OiAxOyB9XG5cbi5waWxsLWRvd25sb2FkIHtcbiAgY29sb3I6ICNmMGMwNjA7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGZvbnQtc2l6ZTogMTBweDtcbiAgcGFkZGluZzogMXB4IDRweDtcbiAgYm9yZGVyOiAxcHggc29saWQgI2YwYzA2MDtcbiAgYm9yZGVyLXJhZGl1czogMnB4O1xufVxuLnBpbGwtZG93bmxvYWQ6aG92ZXIgeyBiYWNrZ3JvdW5kOiAjZjBjMDYwOyBjb2xvcjogIzBhMGEwYTsgfVxuXG4uZmlsdGVyLWNvdW50IHtcbiAgY29sb3I6IHZhcigtLXRleHQtc2Vjb25kYXJ5KTtcbiAgZm9udC1zaXplOiAxMHB4O1xuICBwYWRkaW5nLWxlZnQ6IDRweDtcbiAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCB2YXIoLS1ib3JkZXItcHJpbWFyeSk7XG59XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIDYuIFNJREVCQVIgLSBUaHVtYm5haWwgU3RyaXAgKEZpbG0gUm9sbClcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgIEhvcml6b250YWwgc2Nyb2xsaW5nIHN0cmlwIG9mIHRodW1ibmFpbCBpbWFnZXMuXG4gICBTdHlsZWQgbGlrZSBhIGZpbG0gcm9sbCB3aXRoIHNwcm9ja2V0IGhvbGVzIG9uIGVkZ2VzLlxuKi9cblxuLnNpZGViYXIge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1iZy1zZWNvbmRhcnkpO1xuICBib3JkZXItdG9wOiAycHggc29saWQgIzNhMzYzMjtcbiAgZmxleC1zaHJpbms6IDA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGhlaWdodDogMTYwcHg7XG4gIHBhZGRpbmctYm90dG9tOiA0NXB4OyAgICAgICAgICAgICAgICAgIC8qIFNwYWNlIGZvciBjb250YWN0IHNoZWV0IHRvZ2dsZSAqL1xufVxuXG4uc2lkZWJhci5oaWRkZW4ge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4vKiBGaWxtIFN0cmlwIEhlYWRlciAoc2hvd3MgZnJhbWUgY291bnQpICovXG4uc3RyaXAtaGVhZGVyIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tZmlsbS1ib3JkZXIpO1xuICBwYWRkaW5nOiA0cHggOHB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGZvbnQtc2l6ZTogOXB4O1xuICBjb2xvcjogdmFyKC0tYWNjZW50LW11dGVkKTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgbGV0dGVyLXNwYWNpbmc6IDFweDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICMzYTM2MzI7XG59XG5cbi8qIFRodW1ibmFpbCBTY3JvbGwgQXJlYSAqL1xuLnNjcm9sbC13cmFwcGVyIHtcbiAgZmxleDogMTtcbiAgb3ZlcmZsb3cteDogYXV0bztcbiAgb3ZlcmZsb3cteTogaGlkZGVuO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1maWxtLWJvcmRlcik7XG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDsgICAgIC8qIFNtb290aCBzY3JvbGwgb24gaU9TICovXG59XG5cbi5ncmlkIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZ2FwOiAycHg7XG4gIHBhZGRpbmc6IDRweCAxNnB4O1xuICBoZWlnaHQ6IDEwMCU7XG59XG5cbi8qIEZpbG0gU3Byb2NrZXQgRWZmZWN0IChkZWNvcmF0aXZlIGhvbGVzIG9uIHNpZGVzKVxuICAgTm90ZTogVGhpcyB1c2VzIGFic29sdXRlIHBvc2l0aW9uaW5nIHNvIG5lZWRzIHBhcmVudCB0byBiZSByZWxhdGl2ZVxuKi9cbi5zY3JvbGwtd3JhcHBlcjo6YmVmb3JlLFxuLnNjcm9sbC13cmFwcGVyOjphZnRlciB7XG4gIGNvbnRlbnQ6ICcnO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgYm90dG9tOiAwO1xuICB3aWR0aDogMTRweDtcbiAgYmFja2dyb3VuZDogcmVwZWF0aW5nLWxpbmVhci1ncmFkaWVudChcbiAgICAxODBkZWcsXG4gICAgdmFyKC0tZmlsbS1ib3JkZXIpIDBweCxcbiAgICB2YXIoLS1maWxtLWJvcmRlcikgNnB4LFxuICAgICMwYTA4MDYgNnB4LFxuICAgICMwYTA4MDYgMTJweFxuICApO1xuICB6LWluZGV4OiAxMDtcbn1cblxuLyogSW5kaXZpZHVhbCBUaHVtYm5haWwgKi9cbi50aHVtYiB7XG4gIGZsZXgtc2hyaW5rOiAwO1xuICB3aWR0aDogNzBweDtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdG91Y2gtYWN0aW9uOiBtYW5pcHVsYXRpb247XG4gIGJhY2tncm91bmQ6ICMxYTE0MTA7XG4gIHBhZGRpbmc6IDJweDtcbiAgb3BhY2l0eTogMC42O1xufVxuXG4udGh1bWIuYWN0aXZlIHtcbiAgb3BhY2l0eTogMTtcbiAgb3V0bGluZTogMnB4IHNvbGlkIHZhcigtLWFjY2VudC1wcmltYXJ5KTtcbiAgb3V0bGluZS1vZmZzZXQ6IDFweDtcbn1cblxuLnRodW1iIHBpY3R1cmUge1xuICBkaXNwbGF5OiBjb250ZW50czsgICAgICAgICAgICAgICAgICAgICAgIC8qIFBpY3R1cmUgZG9lc24ndCBhZmZlY3QgbGF5b3V0ICovXG59XG5cbi50aHVtYiBpbWcge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvYmplY3QtZml0OiBjb250YWluO1xuICBiYWNrZ3JvdW5kOiAjMGEwODA2O1xuICBpbWFnZS1vcmllbnRhdGlvbjogZnJvbS1pbWFnZTsgIC8qIFJlc3BlY3QgRVhJRiBvcmllbnRhdGlvbiAqL1xufVxuXG4vKiBGcmFtZSBOdW1iZXIgb24gVGh1bWJuYWlsIChib3R0b20tcmlnaHQpICovXG4udGh1bWI6OmFmdGVyIHtcbiAgY29udGVudDogYXR0cihkYXRhLWZyYW1lKTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDFweDtcbiAgcmlnaHQ6IDJweDtcbiAgZm9udC1zaXplOiA4cHg7XG4gIGNvbG9yOiB2YXIoLS1rb2Rhay1yZWQpO1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1kaXNwbGF5KTtcbn1cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgNy4gTkFWSUdBVElPTiBDT05UUk9MUyAtIFZDUiBUcmFuc3BvcnQgQnV0dG9uc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAgQm90dG9tIGNvbnRyb2wgYmFyIHdpdGg6XG4gICAtIFByZXYvTmV4dCBhcnJvd3NcbiAgIC0gRGF0ZSBwaWNrZXJcbiAgIC0gU29ydCB0b2dnbGVcbiAgIC0gSWNvbiBidXR0b25zIChpbmZvLCBmYWNlcywgc2VhcmNoLCBldGMuKVxuKi9cblxuLm5hdi1jb250cm9scyB7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsICMyYTI2MjIgMCUsICMxYTE2MTIgMTAwJSk7XG4gIGJvcmRlci10b3A6IDJweCBzb2xpZCAjM2EzNjMyO1xuICBwYWRkaW5nOiA2cHggMTBweDtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGdhcDogNHB4O1xuICBoZWlnaHQ6IDQ4cHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMTUwO1xufVxuXG4vKiBOYXZpZ2F0aW9uIEJ1dHRvbiAqL1xuLm5hdi1idG4ge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1iZy1zZWNvbmRhcnkpO1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1maWxtLWJvcmRlcik7XG4gIGNvbG9yOiB2YXIoLS1hY2NlbnQtcHJpbWFyeSk7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWRpc3BsYXkpO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIHBhZGRpbmc6IDZweCAxMHB4O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRvdWNoLWFjdGlvbjogbWFuaXB1bGF0aW9uO1xuICBtaW4td2lkdGg6IDM2cHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjE1cyBlYXNlO1xufVxuXG4vKiBCdXR0b24gcHJlc3MgZWZmZWN0IChpbnZlcnRlZCBiZXZlbCkgKi9cbi5uYXYtYnRuOmFjdGl2ZSB7XG4gIGJvcmRlci1jb2xvcjogIzFhMTYxMjtcbiAgYm9yZGVyLXRvcC1jb2xvcjogIzRhNDY0MjtcbiAgYm9yZGVyLWxlZnQtY29sb3I6ICM0YTQ2NDI7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsICMxYTE2MTIgMCUsICMyYTI2MjIgNTAlLCAjM2EzNjMyIDEwMCUpO1xufVxuXG4vKiBBY3RpdmUgc3RhdGUgKGdyZWVuIGdsb3cpICovXG4ubmF2LWJ0bi5hY3RpdmUge1xuICBjb2xvcjogdmFyKC0tY29sb3Itc3VjY2Vzcyk7XG4gIHRleHQtc2hhZG93OiAwIDAgOHB4IHZhcigtLWNvbG9yLXN1Y2Nlc3MpO1xufVxuXG4vKiBJY29uIGJ1dHRvbnMgLSBoaWRkZW4gb24gbW9iaWxlIGJ5IGRlZmF1bHQgKi9cbi5uYXYtYnRuLmljb24tYnRuIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLm5hdi1zcGFjZXIge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4vKiBEYXRlIERpc3BsYXkgKExFRC1zdHlsZSkgKi9cbi5kYXRlLWRpc3BsYXkge1xuICBiYWNrZ3JvdW5kOiAjMWEwYTAwO1xuICBib3JkZXI6IDNweCBpbnNldCAjM2EyYTFhO1xuICBwYWRkaW5nOiA0cHggMTJweDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBtaW4td2lkdGg6IDEwMHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5kYXRlLXRleHQge1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1kaXNwbGF5KTtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBjb2xvcjogdmFyKC0tYWNjZW50LXByaW1hcnkpO1xuICB0ZXh0LXNoYWRvdzogMCAwIDhweCB2YXIoLS1hY2NlbnQtcHJpbWFyeSk7XG4gIGxldHRlci1zcGFjaW5nOiAxcHg7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4uZGF0ZS1kZXRhaWwge1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1tb25vKTtcbiAgZm9udC1zaXplOiAxMHB4O1xuICBjb2xvcjogdmFyKC0tYWNjZW50LW11dGVkKTtcbiAgbWFyZ2luLXRvcDogMnB4O1xufVxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICA4LiBTRUFSQ0ggSU5URVJGQUNFXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuKi9cblxuLnNlYXJjaC1jb250YWluZXIge1xuICBkaXNwbGF5OiBub25lO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5zZWFyY2gtY29udGFpbmVyLmFjdGl2ZSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi5zZWFyY2gtaW5wdXQge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1iZy1wcmltYXJ5KTtcbiAgYm9yZGVyOiAycHggc29saWQgdmFyKC0tYWNjZW50LXByaW1hcnkpO1xuICBjb2xvcjogdmFyKC0tYWNjZW50LXByaW1hcnkpO1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1kaXNwbGF5KTtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBwYWRkaW5nOiA0cHggOHB4O1xuICB3aWR0aDogMTUwcHg7XG4gIG91dGxpbmU6IG5vbmU7XG59XG5cbi5zZWFyY2gtaW5wdXQ6OnBsYWNlaG9sZGVyIHtcbiAgY29sb3I6IHJnYmEoMjU1LCAxNzYsIDAsIDAuNSk7XG59XG5cbi5zZWFyY2gtaW5wdXQ6Zm9jdXMge1xuICBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLXN1Y2Nlc3MpO1xuICBib3gtc2hhZG93OiAwIDAgOHB4IHJnYmEoNTEsIDI1NSwgNTEsIDAuMyk7XG59XG5cbi5zZWFyY2gtcmVzdWx0cy1jb3VudCB7XG4gIGNvbG9yOiB2YXIoLS1hY2NlbnQtcHJpbWFyeSk7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWRpc3BsYXkpO1xuICBmb250LXNpemU6IDEycHg7XG4gIG1hcmdpbi1sZWZ0OiA0cHg7XG4gIG9wYWNpdHk6IDAuNztcbn1cblxuLnNlYXJjaC1iYW5uZXIge1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCAjMmEyNjIyIDAlLCAjMWExNjEyIDEwMCUpO1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1hY2NlbnQtcHJpbWFyeSk7XG4gIHBhZGRpbmc6IDRweCAxMnB4O1xuICBtYXJnaW46IDRweCAwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWRpc3BsYXkpO1xuICBjb2xvcjogdmFyKC0tYWNjZW50LXByaW1hcnkpO1xuICBmb250LXNpemU6IDE0cHg7XG59XG5cbi5zZWFyY2gtYmFubmVyIGJ1dHRvbiB7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWFjY2VudC1wcmltYXJ5KTtcbiAgY29sb3I6IHZhcigtLWFjY2VudC1wcmltYXJ5KTtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZGlzcGxheSk7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgcGFkZGluZzogMnB4IDhweDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBtYXJnaW4tbGVmdDogOHB4O1xufVxuXG4uc2VhcmNoLWJhbm5lciBidXR0b246aG92ZXIge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMTc2LCAwLCAwLjIpO1xufVxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICA5LiBEQVRFIFNFTEVDVCBEUk9QRE9XTlxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAgRGlyZWN0IGRhdGUgbmF2aWdhdGlvbiBkcm9wZG93biBzdHlsZWQgbGlrZSBMRUQgZGlzcGxheS5cbiAgIFJlcGxhY2VzIHRoZSBkYXRlIHBpY2tlciBtb2RhbCBvbiBzbWFsbGVyIHNjcmVlbnMuXG4qL1xuXG4uZGF0ZS1zZWxlY3Qge1xuICBiYWNrZ3JvdW5kOiAjMWEwYTAwO1xuICBib3JkZXI6IDNweCBpbnNldCAjM2EyYTFhO1xuICBwYWRkaW5nOiA4cHggMTJweDtcbiAgY29sb3I6IHZhcigtLWFjY2VudC1wcmltYXJ5KTtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZGlzcGxheSk7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgdGV4dC1zaGFkb3c6IDAgMCA4cHggdmFyKC0tYWNjZW50LXByaW1hcnkpO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIG1pbi13aWR0aDogMTQwcHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG59XG5cbi5kYXRlLXNlbGVjdCBvcHRpb24ge1xuICBiYWNrZ3JvdW5kOiAjMWEwYTAwO1xuICBjb2xvcjogdmFyKC0tYWNjZW50LXByaW1hcnkpO1xuICBmb250LXNpemU6IDE2cHg7XG4gIHBhZGRpbmc6IDhweDtcbn1cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgMTAuIE1FVEEgRElTUExBWSAtIEZsb3BweSBEaXNrIExhYmVsIFN0eWxlXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gICBTaG93cyBFWElGIGRhdGEsIHRhZ3MsIGFuZCBzY2VuZSBkZXNjcmlwdGlvbi5cbiAgIFN0eWxlZCBsaWtlIGFuIG9sZCAzLjVcIiBmbG9wcHkgZGlzayBsYWJlbC5cbiAgIEhpZGRlbiBvbiBtb2JpbGUsIHNob3duIG9uIGRlc2t0b3Agc2lkZWJhci5cbiovXG5cbi5tZXRhLWRpc3BsYXkge1xuICBkaXNwbGF5OiBub25lOyAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIEhpZGRlbiBvbiBtb2JpbGUgKi9cbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgI2U4ZTBkMCAwJSwgI2QwYzhiOCAxMDAlKTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2EwOTA4MDtcbiAgcGFkZGluZzogOHB4IDEwcHg7XG4gIGNvbG9yOiAjMWExYTFhO1xuICBmb250LXNpemU6IDlweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4vKiBcIlBIT1RPIERBVEFcIiBsYWJlbCBhdCB0b3AtbGVmdCAqL1xuLm1ldGEtZGlzcGxheTo6YmVmb3JlIHtcbiAgY29udGVudDogJ1BIT1RPIERBVEEnO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogLThweDtcbiAgbGVmdDogOHB4O1xuICBiYWNrZ3JvdW5kOiAjZDBjOGI4O1xuICBwYWRkaW5nOiAwIDRweDtcbiAgZm9udC1zaXplOiA4cHg7XG4gIGNvbG9yOiAjNjY2O1xuICBsZXR0ZXItc3BhY2luZzogMXB4O1xufVxuXG4ubWV0YS1yb3cge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGdhcDogOHB4O1xuICBwYWRkaW5nOiAycHggMDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IGRvdHRlZCAjYTA5MDgwO1xufVxuXG4ubWV0YS1yb3c6bGFzdC1jaGlsZCB7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7XG59XG5cbi5tZXRhLXZhbCB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjb2xvcjogdmFyKC0ta29kYWstcmVkKTtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZGlzcGxheSk7XG59XG5cbi5tZXRhLWlkIHtcbiAgY29sb3I6ICMzMzM7XG59XG5cbi8qIERlc2t0b3Atb25seSBleHBvc3VyZSBkYXRhICovXG4uZGVza3RvcC1leHBvc3VyZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIG1hcmdpbi10b3A6IDZweDtcbn1cblxuLyogQ0xJUCB0YWdzIGFuZCBzY2VuZSBkZXNjcmlwdGlvbiAqL1xuLm1ldGEtdGFncyxcbi5tZXRhLW9iamVjdHMge1xuICBtYXJnaW4tdG9wOiA2cHg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbn1cblxuLm1ldGEtdGFncy12YWwsXG4ubWV0YS1vYmplY3RzLXZhbCB7XG4gIGZvbnQtc2l6ZTogOHB4O1xuICBsaW5lLWhlaWdodDogMS40O1xufVxuXG4ubWV0YS1wZW9wbGUtdmFsIHtcbiAgZm9udC1zaXplOiA4cHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XG59XG4ubWV0YS1wZXJzb24tbGluayB7XG4gIGNvbG9yOiAjODA4MGZmO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG4ubWV0YS1wZXJzb24tbGluazpob3ZlciB7XG4gIGNvbG9yOiAjYWFhMGZmO1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cblxuLm1ldGEtc2NlbmUge1xuICBtYXJnaW4tdG9wOiA2cHg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xufVxuXG4ubWV0YS1zY2VuZSA+IHNwYW46Zmlyc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAycHg7XG59XG5cbi5tZXRhLXNjZW5lLXZhbCB7XG4gIGZvbnQtc2l6ZTogOHB4O1xuICBsaW5lLWhlaWdodDogMS4zO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbn1cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgMTEuIERPV05MT0FEIFBBTkVMIC0gRmlsbSBDYW5pc3RlciBTdHlsZVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAgS29kYWstc3R5bGVkIGRvd25sb2FkIGJ1dHRvbi5cbiAgIEhpZGRlbiBvbiBtb2JpbGUsIHNob3duIGluIGRlc2t0b3Agc2lkZWJhci5cbiovXG5cbi5kb3dubG9hZC1wYW5lbCB7XG4gIGRpc3BsYXk6IG5vbmU7ICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogSGlkZGVuIG9uIG1vYmlsZSAqL1xuICBwYWRkaW5nOiA4cHg7XG4gIGJhY2tncm91bmQ6IHZhcigtLWJnLXNlY29uZGFyeSk7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjM2EzNjMyO1xufVxuXG4uZG93bmxvYWQtYnRuIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJhY2tncm91bmQ6IHZhcigtLWtvZGFrLXllbGxvdyk7XG4gIGNvbG9yOiB2YXIoLS1rb2Rhay1yZWQpO1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1kaXNwbGF5KTtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgcGFkZGluZzogMTBweDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgbGV0dGVyLXNwYWNpbmc6IDJweDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBib3JkZXI6IDJweCBzb2xpZCB2YXIoLS1rb2Rhay1yZWQpO1xufVxuXG4uZG93bmxvYWQtYnRuOmFjdGl2ZSB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWtvZGFrLXJlZCk7XG4gIGNvbG9yOiB2YXIoLS1rb2Rhay15ZWxsb3cpO1xufVxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAxMi4gU0hBUkUgUEFORUwgJiBNT0RBTCAtIEFkbWluIEZlYXR1cmVcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgIEFsbG93cyBhZG1pbiB0byBzaGFyZSBhIGRpcmVjdCBwdXJjaGFzZSBsaW5rIHdpdGggcGhvdG8gc3ViamVjdHMuXG4gICBHcmVlbiBjb2xvciBzY2hlbWUgKGRpc3Rpbmd1aXNoZXMgZnJvbSBhbWJlci9rb2RhayBwYWxldHRlKS5cbiovXG5cbi5zaGFyZS1wYW5lbCB7XG4gIGRpc3BsYXk6IG5vbmU7ICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogSGlkZGVuIG9uIG1vYmlsZSAqL1xuICBwYWRkaW5nOiA4cHg7XG4gIGJhY2tncm91bmQ6IHZhcigtLWJnLXNlY29uZGFyeSk7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjM2EzNjMyO1xufVxuXG4uc2hhcmUtYnRuIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJhY2tncm91bmQ6ICMyYTRhMmE7XG4gIGNvbG9yOiAjNjBmMDYwO1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1kaXNwbGF5KTtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgcGFkZGluZzogMTBweDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgbGV0dGVyLXNwYWNpbmc6IDJweDtcbiAgYm9yZGVyOiAycHggc29saWQgIzYwZjA2MDtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4uc2hhcmUtYnRuOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogIzNhNWEzYTtcbn1cblxuLnNoYXJlLWJ0bjphY3RpdmUge1xuICBiYWNrZ3JvdW5kOiAjNjBmMDYwO1xuICBjb2xvcjogIzJhNGEyYTtcbn1cblxuLmRlbGV0ZS1idG4ge1xuICBiYWNrZ3JvdW5kOiAjNGEyYTJhO1xuICBjb2xvcjogI2YwNjA2MDtcbiAgYm9yZGVyLWNvbG9yOiAjZjA2MDYwO1xuICBtYXJnaW4tdG9wOiA0cHg7XG59XG5cbi5kZWxldGUtYnRuOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogIzVhM2EzYTtcbn1cblxuLmRlbGV0ZS1idG46YWN0aXZlIHtcbiAgYmFja2dyb3VuZDogI2YwNjA2MDtcbiAgY29sb3I6ICM0YTJhMmE7XG59XG5cbi8qIE1vZGFsIE92ZXJsYXkgKGRhcmtlbnMgYmFja2dyb3VuZCkgKi9cbi5zaGFyZS1tb2RhbC1vdmVybGF5IHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBpbnNldDogMDtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjg1KTtcbiAgei1pbmRleDogNjAwO1xufVxuXG4vKiBNb2RhbCBDb250YWluZXIgKi9cbi5zaGFyZS1tb2RhbCB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gIHdpZHRoOiA5MCU7XG4gIG1heC13aWR0aDogNDUwcHg7XG4gIGJhY2tncm91bmQ6ICMxYTFhMWE7XG4gIGJvcmRlcjogMnB4IHNvbGlkICM2MGYwNjA7XG4gIHotaW5kZXg6IDYwMTtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZGlzcGxheSk7XG59XG5cbi5zaGFyZS1tb2RhbC1oZWFkZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBhZGRpbmc6IDEycHggMTZweDtcbiAgYmFja2dyb3VuZDogIzJhNGEyYTtcbiAgY29sb3I6ICM2MGYwNjA7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgbGV0dGVyLXNwYWNpbmc6IDJweDtcbn1cblxuLnNoYXJlLW1vZGFsLWhlYWRlciBidXR0b24ge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiAxcHggc29saWQgIzYwZjA2MDtcbiAgY29sb3I6ICM2MGYwNjA7XG4gIHBhZGRpbmc6IDRweCAxMHB4O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWRpc3BsYXkpO1xufVxuXG4uc2hhcmUtbW9kYWwtaGVhZGVyIGJ1dHRvbjpob3ZlciB7XG4gIGJhY2tncm91bmQ6ICM2MGYwNjA7XG4gIGNvbG9yOiAjMWExYTFhO1xufVxuXG4uc2hhcmUtbW9kYWwtY29udGVudCB7XG4gIHBhZGRpbmc6IDIwcHg7XG59XG5cbi5zaGFyZS1kZXNjcmlwdGlvbiB7XG4gIGNvbG9yOiAjYWFhO1xuICBmb250LXNpemU6IDE0cHg7XG4gIG1hcmdpbi1ib3R0b206IDE2cHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG59XG5cbi8qIFVSTCBDb3B5IFNlY3Rpb24gKi9cbi5zaGFyZS11cmwtY29udGFpbmVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZ2FwOiA4cHg7XG4gIG1hcmdpbi1ib3R0b206IDhweDtcbn1cblxuLnNoYXJlLXVybC1pbnB1dCB7XG4gIGZsZXg6IDE7XG4gIGJhY2tncm91bmQ6ICMwYTBhMGE7XG4gIGJvcmRlcjogMXB4IHNvbGlkICM0NDQ7XG4gIGNvbG9yOiAjZjBjMDYwO1xuICBwYWRkaW5nOiAxMHB4IDEycHg7XG4gIGZvbnQtZmFtaWx5OiAnU0YgTW9ubycsIE1vbmFjbywgbW9ub3NwYWNlO1xuICBmb250LXNpemU6IDEycHg7XG59XG5cbi5jb3B5LWJ0biB7XG4gIGJhY2tncm91bmQ6ICNmMGMwNjA7XG4gIGNvbG9yOiAjMWExYTFhO1xuICBib3JkZXI6IG5vbmU7XG4gIHBhZGRpbmc6IDEwcHggMTZweDtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZGlzcGxheSk7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgbGV0dGVyLXNwYWNpbmc6IDFweDtcbn1cblxuLmNvcHktYnRuOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogI2ZmZDA4MDtcbn1cblxuLmNvcHktYnRuLmNvcGllZCB7XG4gIGJhY2tncm91bmQ6ICM2MGYwNjA7XG59XG5cbi5zaGFyZS1jb3B5LWZlZWRiYWNrIHtcbiAgY29sb3I6ICM2MGYwNjA7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgbWluLWhlaWdodDogMThweDtcbiAgbWFyZ2luLWJvdHRvbTogMTJweDtcbn1cblxuLyogRW1haWwgU2VjdGlvbiAqL1xuLnNoYXJlLXNlY3Rpb24tbGFiZWwge1xuICBjb2xvcjogIzY2NjtcbiAgZm9udC1zaXplOiAxMXB4O1xuICBsZXR0ZXItc3BhY2luZzogMXB4O1xuICBtYXJnaW4tYm90dG9tOiA4cHg7XG4gIG1hcmdpbi10b3A6IDhweDtcbn1cblxuLnNoYXJlLWVtYWlsLWZvcm0ge1xuICBtYXJnaW4tYm90dG9tOiA4cHg7XG59XG5cbi5zaGFyZS1lbWFpbC1jb250YWluZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBnYXA6IDhweDtcbn1cblxuLnNoYXJlLWVtYWlsLWlucHV0IHtcbiAgZmxleDogMTtcbiAgYmFja2dyb3VuZDogIzBhMGEwYTtcbiAgYm9yZGVyOiAxcHggc29saWQgIzQ0NDtcbiAgY29sb3I6ICNmZmY7XG4gIHBhZGRpbmc6IDEwcHggMTJweDtcbiAgZm9udC1mYW1pbHk6IC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAxNHB4O1xufVxuXG4uc2hhcmUtZW1haWwtaW5wdXQ6OnBsYWNlaG9sZGVyIHtcbiAgY29sb3I6ICM2NjY7XG59XG5cbi5zaGFyZS1lbWFpbC1pbnB1dDpmb2N1cyB7XG4gIG91dGxpbmU6IG5vbmU7XG4gIGJvcmRlci1jb2xvcjogIzYwZjA2MDtcbn1cblxuLnNlbmQtYnRuIHtcbiAgYmFja2dyb3VuZDogIzYwZjA2MDtcbiAgY29sb3I6ICMxYTFhMWE7XG4gIGJvcmRlcjogbm9uZTtcbiAgcGFkZGluZzogMTBweCAyMHB4O1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1kaXNwbGF5KTtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBsZXR0ZXItc3BhY2luZzogMXB4O1xuICBtaW4td2lkdGg6IDcwcHg7XG59XG5cbi5zZW5kLWJ0bjpob3ZlciB7XG4gIGJhY2tncm91bmQ6ICM4MGZmODA7XG59XG5cbi5zZW5kLWJ0bjpkaXNhYmxlZCB7XG4gIGJhY2tncm91bmQ6ICM0NDQ7XG4gIGNvbG9yOiAjODg4O1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xufVxuXG4uc2hhcmUtZW1haWwtZmVlZGJhY2sge1xuICBmb250LXNpemU6IDEycHg7XG4gIG1hcmdpbi10b3A6IDhweDtcbiAgbWFyZ2luLWJvdHRvbTogOHB4O1xufVxuXG4uc2hhcmUtZW1haWwtZmVlZGJhY2suc3VjY2VzcyB7XG4gIGNvbG9yOiAjNjBmMDYwO1xufVxuXG4uc2hhcmUtZW1haWwtZmVlZGJhY2suZXJyb3Ige1xuICBjb2xvcjogI2ZmNmI2Yjtcbn1cblxuLnNoYXJlLW5vdGUge1xuICBjb2xvcjogIzY2NjtcbiAgZm9udC1zaXplOiAxMnB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi8qIEFzc2lnbiB0byBQZXJzb24gYnV0dG9uIChuZXh0IHRvIHNoYXJlKSAqL1xuLmFzc2lnbi1wZXJzb24tYnRuIHtcbiAgYmFja2dyb3VuZDogIzJhMmE0YSAhaW1wb3J0YW50O1xuICBib3JkZXItY29sb3I6ICM2MDYwZjAgIWltcG9ydGFudDtcbiAgY29sb3I6ICM2MDYwZjAgIWltcG9ydGFudDtcbn1cbi5hc3NpZ24tcGVyc29uLWJ0bjpob3ZlciB7XG4gIGJhY2tncm91bmQ6ICM2MDYwZjAgIWltcG9ydGFudDtcbiAgY29sb3I6ICMxYTFhMWEgIWltcG9ydGFudDtcbn1cblxuLyogQXNzaWduIHRvIFBlcnNvbiBNb2RhbCAqL1xuLmFzc2lnbi1wZXJzb24tbW9kYWwge1xuICBtYXgtaGVpZ2h0OiA4MHZoO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuLmFzc2lnbi1wZXJzb24tbW9kYWwgLnNoYXJlLW1vZGFsLWhlYWRlciB7XG4gIGJhY2tncm91bmQ6ICMyYTJhNGE7XG4gIGNvbG9yOiAjODA4MGZmO1xufVxuLmFzc2lnbi1wZXJzb24tbW9kYWwgLnNoYXJlLW1vZGFsLWhlYWRlciBidXR0b24ge1xuICBib3JkZXItY29sb3I6ICM4MDgwZmY7XG4gIGNvbG9yOiAjODA4MGZmO1xufVxuLmFzc2lnbi1wZXJzb24tbW9kYWwgLnNoYXJlLW1vZGFsLWhlYWRlciBidXR0b246aG92ZXIge1xuICBiYWNrZ3JvdW5kOiAjODA4MGZmO1xuICBjb2xvcjogIzFhMWExYTtcbn1cbi5hc3NpZ24tcGVyc29uLW1vZGFsIC5zaGFyZS1tb2RhbC1jb250ZW50IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgZmxleDogMTtcbn1cbi5hc3NpZ24tcGVyc29uLXNlYXJjaCB7XG4gIG1hcmdpbi1ib3R0b206IDEycHg7XG59XG4uYXNzaWduLXBlcnNvbi1saXN0IHtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgbWF4LWhlaWdodDogNDAwcHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGdhcDogNHB4O1xufVxuLmFzc2lnbi1wZXJzb24taXRlbSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcGFkZGluZzogOHB4IDEycHg7XG4gIGJhY2tncm91bmQ6ICMyMjI7XG4gIGJvcmRlcjogMXB4IHNvbGlkICMzMzM7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbn1cbi5hc3NpZ24tcGVyc29uLWl0ZW06aG92ZXIge1xuICBib3JkZXItY29sb3I6ICM1NTU7XG59XG4uYXNzaWduLXBlcnNvbi1pdGVtLmFscmVhZHktYXNzaWduZWQge1xuICBvcGFjaXR5OiAwLjY7XG59XG4uYXNzaWduLXBlcnNvbi1pbmZvIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiAycHg7XG59XG4uYXNzaWduLXBlcnNvbi1uYW1lIHtcbiAgY29sb3I6ICNlMGUwZTA7XG4gIGZvbnQtc2l6ZTogMTRweDtcbn1cbi5hc3NpZ24tcGVyc29uLWNvdW50IHtcbiAgY29sb3I6ICM2NjY7XG4gIGZvbnQtc2l6ZTogMTFweDtcbn1cbi5hc3NpZ24tcGVyc29uLWFjdGlvbiB7XG4gIGJhY2tncm91bmQ6ICMyYTJhNGE7XG4gIGJvcmRlcjogMXB4IHNvbGlkICM2MDYwZjA7XG4gIGNvbG9yOiAjNjA2MGYwO1xuICBwYWRkaW5nOiA0cHggMTJweDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1kaXNwbGF5KTtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBsZXR0ZXItc3BhY2luZzogMXB4O1xufVxuLmFzc2lnbi1wZXJzb24tYWN0aW9uOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogIzYwNjBmMDtcbiAgY29sb3I6ICNmZmY7XG59XG4uYXNzaWduLXBlcnNvbi1iYWRnZSB7XG4gIGNvbG9yOiAjNGFkZTgwO1xuICBmb250LXNpemU6IDExcHg7XG4gIGxldHRlci1zcGFjaW5nOiAxcHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG59XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIDEzLiBJTkZPIE1PREFMIC0gTmV3c3BhcGVyIFN0eWxlXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gICBGdWxsLXNjcmVlbiBpbmZvIG92ZXJsYXkgc2hvd2luZzpcbiAgIC0gU2l0ZSBpbmZvL2Jpb1xuICAgLSBLZXlib2FyZCBzaG9ydGN1dHMgKGRlc2t0b3ApXG5cbiAgIFN0eWxlZCBsaWtlIGEgdmludGFnZSBuZXdzcGFwZXIgY2xpcHBpbmcuXG4qL1xuXG4uaW5mby1tb2RhbCB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgaW5zZXQ6IDA7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC45NSk7XG4gIHotaW5kZXg6IDUwMDtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHBhZGRpbmc6IDIwcHg7XG59XG5cbi5pbmZvLWNvbnRlbnQge1xuICBtYXgtd2lkdGg6IDQwMHB4O1xuICB3aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZDogdmFyKC0tcGFwZXItY3JlYW0pO1xuICBjb2xvcjogIzFhMWExYTtcbiAgcGFkZGluZzogMjBweDtcbiAgZm9udC1mYW1pbHk6ICdDb3VyaWVyIFByaW1lJywgJ0NvdXJpZXIgTmV3JywgbW9ub3NwYWNlO1xuICBib3JkZXI6IDNweCBkb3VibGUgIzFhMWExYTtcbiAgbWF4LWhlaWdodDogOTB2aDtcbiAgb3ZlcmZsb3cteTogYXV0bztcbn1cblxuLmluZm8taGVhZGVyIHtcbiAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICMxYTFhMWE7XG4gIHBhZGRpbmctYm90dG9tOiAxMHB4O1xuICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi5pbmZvLXRpdGxlIHtcbiAgZm9udC1mYW1pbHk6ICdUaW1lcyBOZXcgUm9tYW4nLCBzZXJpZjtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgbGV0dGVyLXNwYWNpbmc6IDNweDtcbn1cblxuLmNsb3NlLWJ0biB7XG4gIGJhY2tncm91bmQ6ICMxYTFhMWE7XG4gIGJvcmRlcjogbm9uZTtcbiAgY29sb3I6IHZhcigtLXBhcGVyLWNyZWFtKTtcbiAgcGFkZGluZzogNXB4IDEwcHg7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWRpc3BsYXkpO1xuICBmb250LXNpemU6IDEycHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLmluZm8tdGV4dCB7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgbWFyZ2luLWJvdHRvbTogMTVweDtcbn1cblxuLyogS2V5Ym9hcmQgU2hvcnRjdXQgVGFibGUgKi9cbi5zaG9ydGN1dC10YWJsZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICBmb250LXNpemU6IDExcHg7XG59XG5cbi5zaG9ydGN1dC10YWJsZSB0ZCB7XG4gIHBhZGRpbmc6IDZweCAwO1xuICBib3JkZXItYm90dG9tOiAxcHggZG90dGVkICM5OTk7XG59XG5cbi5zaG9ydGN1dC1rZXkge1xuICBiYWNrZ3JvdW5kOiAjMWExYTFhO1xuICBjb2xvcjogdmFyKC0tcGFwZXItY3JlYW0pO1xuICBwYWRkaW5nOiAycHggNnB4O1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1kaXNwbGF5KTtcbiAgZm9udC1zaXplOiAxMnB4O1xufVxuXG4vKiBEZXNrdG9wLW9ubHkgY29udGVudCAoa2V5Ym9hcmQgc2hvcnRjdXRzLCBldGMpICovXG4uZGVza3RvcC1vbmx5IHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgMTQuIERBVEUgUElDS0VSIE1PREFMXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gICBQb3AtdXAgY2FsZW5kYXIgZm9yIGRpcmVjdCBkYXRlIHNlbGVjdGlvbi5cbiAgIFVzZXMgdGVybWluYWwgYW1iZXIgY29sb3Igc2NoZW1lLlxuKi9cblxuLmRhdGUtcGlja2VyIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDgwcHg7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCAjMmEyNjIyIDAlLCAjMWExNjEyIDEwMCUpO1xuICBib3JkZXI6IDNweCBzb2xpZCB2YXIoLS1hY2NlbnQtcHJpbWFyeSk7XG4gIHBhZGRpbmc6IDEycHg7XG4gIHotaW5kZXg6IDMwMDtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZGlzcGxheSk7XG59XG5cbi5kYXRlLXBpY2tlciBzZWxlY3Qge1xuICBiYWNrZ3JvdW5kOiAjMWEwYTAwO1xuICBib3JkZXI6IDJweCBpbnNldCAjM2EyYTFhO1xuICBjb2xvcjogdmFyKC0tYWNjZW50LXByaW1hcnkpO1xuICBwYWRkaW5nOiA4cHg7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZGlzcGxheSk7XG4gIHdpZHRoOiAyMDBweDtcbn1cblxuLmRhdGUtcGlja2VyIHNlbGVjdCBvcHRpb24ge1xuICBiYWNrZ3JvdW5kOiAjMWEwYTAwO1xuICBjb2xvcjogdmFyKC0tYWNjZW50LXByaW1hcnkpO1xuICBwYWRkaW5nOiA0cHg7XG59XG5cbi5kYXRlLXBpY2tlci1idG5zIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZ2FwOiA4cHg7XG4gIG1hcmdpbi10b3A6IDEwcHg7XG59XG5cbi5kYXRlLXBpY2tlci1idG5zIGJ1dHRvbiB7XG4gIGZsZXg6IDE7XG4gIGJhY2tncm91bmQ6IHZhcigtLWFjY2VudC1wcmltYXJ5KTtcbiAgYm9yZGVyOiBub25lO1xuICBjb2xvcjogdmFyKC0tYmctcHJpbWFyeSk7XG4gIHBhZGRpbmc6IDhweDtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgMTUuIEZBQ0UgREVURUNUSU9OIE9WRVJMQVlTXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gICBHcmVlbiBib3VuZGluZyBib3hlcyBhcm91bmQgZGV0ZWN0ZWQgZmFjZXMuXG4gICBDbGlja2luZyBuYXZpZ2F0ZXMgdG8gb3RoZXIgcGhvdG9zIG9mIHRoYXQgcGVyc29uLlxuICAgTGFiZWxzIGhpZGRlbiBieSBkZWZhdWx0LCBzaG93biBvbiBob3Zlci90YXAuXG4qL1xuXG4uZmFjZS1jb250YWluZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGluc2V0OiAwO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTsgICAgICAgICAgICAgICAgICAgIC8qIENsaWNrIHRocm91Z2ggdG8gaW1hZ2UgKi9cbn1cblxuLmZhY2UtYm94IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3JkZXI6IDJweCBzb2xpZCB2YXIoLS1jb2xvci1zdWNjZXNzKTtcbiAgYmFja2dyb3VuZDogcmdiYSg1MSwgMjU1LCA1MSwgMC4xKTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBwb2ludGVyLWV2ZW50czogYXV0bzsgICAgICAgICAgICAgICAgICAgIC8qIEJveGVzIEFSRSBjbGlja2FibGUgKi9cbn1cblxuLmZhY2UtYm94IC5mYWNlLWxhYmVsIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IC0xNnB4O1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgYmFja2dyb3VuZDogdmFyKC0tYmctcHJpbWFyeSk7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci1zdWNjZXNzKTtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZGlzcGxheSk7XG4gIGZvbnQtc2l6ZTogMTBweDtcbiAgcGFkZGluZzogMXB4IDZweDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgb3BhY2l0eTogMDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBIaWRkZW4gYnkgZGVmYXVsdCAqL1xufVxuXG4uZmFjZS1ib3g6YWN0aXZlIC5mYWNlLWxhYmVsIHtcbiAgb3BhY2l0eTogMTtcbn1cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgMTYuIE9CSkVDVCBERVRFQ1RJT04gT1ZFUkxBWVNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgIEFtYmVyIGJvdW5kaW5nIGJveGVzIGFyb3VuZCBkZXRlY3RlZCBvYmplY3RzIChjYXJzLCBhbmltYWxzLCBldGMpLlxuICAgQ2xpY2tpbmcgbmF2aWdhdGVzIHRvIG90aGVyIHBob3RvcyB3aXRoIHNhbWUgb2JqZWN0IHR5cGUuXG4gICBTYW1lIHBhdHRlcm4gYXMgZmFjZSBib3hlcyBidXQgZGlmZmVyZW50IGNvbG9yLlxuKi9cblxuLm9iamVjdC1jb250YWluZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGluc2V0OiAwO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuLm9iamVjdC1ib3gge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvcmRlcjogMnB4IHNvbGlkIHZhcigtLWFjY2VudC1wcmltYXJ5KTtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDE3NiwgMCwgMC4xNSk7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgcG9pbnRlci1ldmVudHM6IGF1dG87XG59XG5cbi5vYmplY3QtYm94IC5vYmplY3QtbGFiZWwge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogLTE4cHg7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1iZy1wcmltYXJ5KTtcbiAgY29sb3I6IHZhcigtLWFjY2VudC1wcmltYXJ5KTtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZGlzcGxheSk7XG4gIGZvbnQtc2l6ZTogMTBweDtcbiAgcGFkZGluZzogMnB4IDZweDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgb3BhY2l0eTogMDtcbiAgbWF4LXdpZHRoOiAxNTBweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG59XG5cbi5vYmplY3QtYm94OmhvdmVyIC5vYmplY3QtbGFiZWwsXG4ub2JqZWN0LWJveDphY3RpdmUgLm9iamVjdC1sYWJlbCB7XG4gIG9wYWNpdHk6IDE7XG59XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIDE3LiBWSURFTyBQTEFZRVIgLSBWQ1IgU3R5bGVcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgIEZ1bGwgQ1JUL1ZDUiBhZXN0aGV0aWMgZm9yIHZpZGVvIHBsYXliYWNrOlxuICAgLSBQaG9zcGhvciBnbG93IGVmZmVjdFxuICAgLSBWQ1IgdHJhbnNwb3J0IGNvbnRyb2xzIChwbGF5LCBwYXVzZSwgc2NydWJiZXIpXG4gICAtIFRpbWUgZGlzcGxheVxuICAgLSBWb2x1bWUgc2xpZGVyXG4gICAtIE11dGUgaW5kaWNhdG9yXG4gICAtIEF1ZGlvIHdhdmVmb3JtIHZpc3VhbGl6YXRpb25cbiovXG5cbi52aWRlby1jb250YWluZXIsXG4udmlkZW8tcGxheWVyLXdyYXBwZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xuICBhc3BlY3QtcmF0aW86IDE2IC8gOTtcbiAgYmFja2dyb3VuZDogIzAwMDtcbn1cblxuLnZpZGVvLWNvbnRhaW5lciB2aWRlbyxcbi52aWRlby1wbGF5ZXItd3JhcHBlciB2aWRlbyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgaW5zZXQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG9iamVjdC1maXQ6IGNvbnRhaW47XG4gIGJhY2tncm91bmQ6ICMwMDA7XG59XG5cbi8qIFBob3NwaG9yIGdsb3cgcmVtb3ZlZCBmcm9tIHZpZGVvIFx1MjAxNCBpdCBkZXNhdHVyYXRlcyBIRFIgY29udGVudCAqL1xuXG4vKiBWQ1IgQ29udHJvbCBCYXIgKGJvdHRvbSBncmFkaWVudCkgKi9cbi52Y3ItY29udHJvbHMge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0cmFuc3BhcmVudCwgcmdiYSgwLDAsMCwwLjgpKTtcbiAgcGFkZGluZzogNDBweCAxNXB4IDE1cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogMTJweDtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZGlzcGxheSk7XG4gIG9wYWNpdHk6IDA7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogSGlkZGVuIHVudGlsIGhvdmVyICovXG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcztcbiAgei1pbmRleDogMTA7XG59XG5cbi52aWRlby1jb250YWluZXI6aG92ZXIgLnZjci1jb250cm9scyxcbi52aWRlby1jb250YWluZXIuY29udHJvbHMtdmlzaWJsZSAudmNyLWNvbnRyb2xzLFxuLnZpZGVvLXBsYXllci13cmFwcGVyOmhvdmVyIC52Y3ItY29udHJvbHMsXG4udmlkZW8tcGxheWVyLXdyYXBwZXIuY29udHJvbHMtdmlzaWJsZSAudmNyLWNvbnRyb2xzIHtcbiAgb3BhY2l0eTogMTtcbn1cblxuLyogVkNSIFRyYW5zcG9ydCBCdXR0b24gKi9cbi52Y3ItYnRuIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogMnB4IHNvbGlkIHZhcigtLWFjY2VudC1wcmltYXJ5KTtcbiAgY29sb3I6IHZhcigtLWFjY2VudC1wcmltYXJ5KTtcbiAgcGFkZGluZzogNnB4IDEycHg7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWRpc3BsYXkpO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdGV4dC1zaGFkb3c6IDAgMCA1cHggdmFyKC0tYWNjZW50LXByaW1hcnkpO1xufVxuXG4udmNyLWJ0bjpob3ZlciB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWFjY2VudC1wcmltYXJ5KTtcbiAgY29sb3I6IHZhcigtLWJnLXByaW1hcnkpO1xufVxuXG4udmNyLWJ0bi5hY3RpdmUge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1zdWNjZXNzKTtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1zdWNjZXNzKTtcbiAgY29sb3I6IHZhcigtLWJnLXByaW1hcnkpO1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbn1cblxuLyogVkNSIGlubGluZSBjb250cm9sIGJ1dHRvbnMgKHBsYXksIG11dGUsIGZ1bGxzY3JlZW4pICovXG4udmNyLXBsYXksIC52Y3ItbXV0ZSwgLnZjci1mdWxsc2NyZWVuIHtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgYm9yZGVyOiBub25lO1xuICBjb2xvcjogdmFyKC0tYWNjZW50LXByaW1hcnkpO1xuICBmb250LXNpemU6IDIwcHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgcGFkZGluZzogNnB4O1xuICBtaW4td2lkdGg6IDM2cHg7XG4gIG1pbi1oZWlnaHQ6IDM2cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB0ZXh0LXNoYWRvdzogMCAwIDVweCB2YXIoLS1hY2NlbnQtcHJpbWFyeSk7XG4gIHRyYW5zaXRpb246IGNvbG9yIDAuMnM7XG59XG5cbi52Y3ItcGxheTpob3ZlciwgLnZjci1tdXRlOmhvdmVyLCAudmNyLWZ1bGxzY3JlZW46aG92ZXIge1xuICBjb2xvcjogI2ZmZjtcbn1cblxuLyogUXVhbGl0eSBiYWRnZSBcdTIwMTQgc2hvd3MgY3VycmVudCByZXNvbHV0aW9uICsgSERSL1NEUiBzdGF0dXMuXG4gICBUYXBwYWJsZSB0byBjeWNsZSB0aHJvdWdoIGF2YWlsYWJsZSBxdWFsaXR5IG9wdGlvbnM6XG4gICBBVVRPIChBQlIpIFx1MjE5MiA0SyBIRFIgXHUyMTkyIDRLIFx1MjE5MiAxMDgwcCBIRFIgXHUyMTkyIDEwODBwIFx1MjE5MiA3MjBwIFx1MjE5MiA0ODBwIFx1MjE5MiBBVVRPXG4gICBDb2xvci1jb2RlZDogY3lhbiBnbG93IGZvciBIRFIsIGFtYmVyIGZvciBTRFIsIGRhcmsgYmcgZm9yIGF1dG8uXG4gICBkYXRhLWhkcj1cInRydWVcIiAgXHUyMTkyIGN5YW4gdGV4dCArIGJvcmRlciAoSERSIGFjdGl2ZSlcbiAgIGRhdGEtbW9kZT1cImhkclwiICBcdTIxOTIgZGFyayBjeWFuIGJhY2tncm91bmQgKHVzZXIgZm9yY2VkIEhEUilcbiAgIGRhdGEtbW9kZT1cInNkclwiICBcdTIxOTIgZGFyayBhbWJlciBiYWNrZ3JvdW5kICh1c2VyIGZvcmNlZCBTRFIpICovXG4udmNyLXF1YWxpdHkge1xuICBmb250LWZhbWlseTogJ0lCTSBQbGV4IE1vbm8nLCBtb25vc3BhY2U7XG4gIGZvbnQtc2l6ZTogMTFweDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuNXB4O1xuICBwYWRkaW5nOiAycHggOHB4O1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC42KTtcbiAgY29sb3I6IHZhcigtLWFjY2VudC1wcmltYXJ5KTtcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyNTUsIDE3NiwgMCwgMC4zKTtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMnM7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG4udmNyLXF1YWxpdHk6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuOCk7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tYWNjZW50LXByaW1hcnkpO1xufVxuLnZjci1xdWFsaXR5W2RhdGEtaGRyPVwidHJ1ZVwiXSB7XG4gIGNvbG9yOiAjMDBlNWZmO1xuICBib3JkZXItY29sb3I6IHJnYmEoMCwgMjI5LCAyNTUsIDAuNCk7XG4gIHRleHQtc2hhZG93OiAwIDAgNnB4IHJnYmEoMCwgMjI5LCAyNTUsIDAuNSk7XG59XG4udmNyLXF1YWxpdHlbZGF0YS1tb2RlPVwiaGRyXCJdIHtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCA2MCwgODAsIDAuNik7XG59XG4udmNyLXF1YWxpdHlbZGF0YS1tb2RlPVwic2RyXCJdIHtcbiAgYmFja2dyb3VuZDogcmdiYSg4MCwgNjAsIDAsIDAuNik7XG59XG5cbi8qIFZpZGVvOiBzdGFnZSBkcm9wcyBwYWRkaW5nIHNvIHZpZGVvIGZpbGxzIGVkZ2UtdG8tZWRnZSAqL1xuLnN0YWdlOmhhcygudmlkZW8tcGxheWVyLXdyYXBwZXIpIHtcbiAgcGFkZGluZzogMDtcbn1cblxuLyogVmlkZW8gcGxheWVyIHdyYXBwZXI6IHN0cmlwIGZpbG0gYm9yZGVyLCBmaWxsIHN0YWdlIGxpa2UgaW1hZ2VzIGRvICovXG4uc3RhZ2UgLmhlcm8td3JhcHBlcjpoYXMoLnZpZGVvLXBsYXllci13cmFwcGVyKSB7XG4gIHBhZGRpbmc6IDA7XG4gIGJhY2tncm91bmQ6ICMwMDA7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIG1heC1oZWlnaHQ6IG5vbmU7XG4gIGJvcmRlcjogbm9uZTtcbn1cblxuLyogVmlkZW8gd3JhcHBlciBmaWxscyBoZXJvLXdyYXBwZXIgdmlhIGFic29sdXRlIHBvc2l0aW9uaW5nIChidWxsZXRwcm9vZikgKi9cbi5zdGFnZSAudmlkZW8tcGxheWVyLXdyYXBwZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGluc2V0OiAwO1xuICBhc3BlY3QtcmF0aW86IHVuc2V0O1xufVxuXG4vKiBGdWxsc2NyZWVuIG1vZGUgc3R5bGVzICovXG4udmlkZW8tcGxheWVyLXdyYXBwZXI6ZnVsbHNjcmVlbiB7XG4gIGJhY2tncm91bmQ6ICMwMDA7XG59XG5cbi52aWRlby1wbGF5ZXItd3JhcHBlcjpmdWxsc2NyZWVuIHZpZGVvIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgb2JqZWN0LWZpdDogY29udGFpbjtcbn1cblxuLnZpZGVvLXBsYXllci13cmFwcGVyOmZ1bGxzY3JlZW4gLnZjci1jb250cm9scyB7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcztcbn1cblxuLnZpZGVvLXBsYXllci13cmFwcGVyOmZ1bGxzY3JlZW46aG92ZXIgLnZjci1jb250cm9scyxcbi52aWRlby1wbGF5ZXItd3JhcHBlcjpmdWxsc2NyZWVuLmNvbnRyb2xzLXZpc2libGUgLnZjci1jb250cm9scyB7XG4gIG9wYWNpdHk6IDE7XG59XG5cbi8qIFRpbWVsaW5lIFNjcnViYmVyICovXG4udmNyLXRpbWVsaW5lIHtcbiAgZmxleDogMTtcbiAgaGVpZ2h0OiA4cHg7XG4gIGJhY2tncm91bmQ6IHZhcigtLWJnLXNlY29uZGFyeSk7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWFjY2VudC1tdXRlZCk7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4udmNyLXRpbWVsaW5lLXByb2dyZXNzIHtcbiAgaGVpZ2h0OiAxMDAlO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1hY2NlbnQtcHJpbWFyeSk7XG4gIGJveC1zaGFkb3c6IDAgMCA4cHggdmFyKC0tYWNjZW50LXByaW1hcnkpO1xuICB3aWR0aDogMCU7XG4gIHRyYW5zaXRpb246IHdpZHRoIDAuMXMgbGluZWFyO1xufVxuXG4udmNyLXRpbWVsaW5lLWhhbmRsZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICB3aWR0aDogMTJweDtcbiAgaGVpZ2h0OiAxMnB4O1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1hY2NlbnQtcHJpbWFyeSk7XG4gIGJvcmRlcjogMnB4IHNvbGlkIHZhcigtLWJnLXByaW1hcnkpO1xuICBib3gtc2hhZG93OiAwIDAgOHB4IHZhcigtLWFjY2VudC1wcmltYXJ5KTtcbn1cblxuLyogVGltZSBEaXNwbGF5ICovXG4udmNyLXRpbWUge1xuICBjb2xvcjogdmFyKC0tYWNjZW50LXByaW1hcnkpO1xuICBmb250LXNpemU6IDE0cHg7XG4gIG1pbi13aWR0aDogOTBweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0ZXh0LXNoYWRvdzogMCAwIDVweCB2YXIoLS1hY2NlbnQtcHJpbWFyeSk7XG4gIGxldHRlci1zcGFjaW5nOiAxcHg7XG59XG5cbi8qIFZvbHVtZSBDb250cm9sICovXG4udmNyLXZvbHVtZSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogNnB4O1xufVxuXG4udmNyLXZvbHVtZS1zbGlkZXIge1xuICB3aWR0aDogNjBweDtcbiAgaGVpZ2h0OiA2cHg7XG4gIGJhY2tncm91bmQ6IHZhcigtLWJnLXNlY29uZGFyeSk7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWFjY2VudC1tdXRlZCk7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLnZjci12b2x1bWUtc2xpZGVyOjotd2Via2l0LXNsaWRlci10aHVtYiB7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIHdpZHRoOiAxMHB4O1xuICBoZWlnaHQ6IDE0cHg7XG4gIGJhY2tncm91bmQ6IHZhcigtLWFjY2VudC1wcmltYXJ5KTtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYmctcHJpbWFyeSk7XG4gIGJveC1zaGFkb3c6IDAgMCA1cHggdmFyKC0tYWNjZW50LXByaW1hcnkpO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi8qIE11dGUgSW5kaWNhdG9yIChmbGFzaGluZyByZWQpICovXG4udmNyLW11dGVkLWluZGljYXRvciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAxNXB4O1xuICByaWdodDogMTVweDtcbiAgYmFja2dyb3VuZDogcmdiYSgwLDAsMCwwLjcpO1xuICBib3JkZXI6IDJweCBzb2xpZCB2YXIoLS1jb2xvci1kYW5nZXIpO1xuICBjb2xvcjogdmFyKC0tY29sb3ItZGFuZ2VyKTtcbiAgcGFkZGluZzogNXB4IDEwcHg7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWRpc3BsYXkpO1xuICBmb250LXNpemU6IDEycHg7XG4gIHRleHQtc2hhZG93OiAwIDAgNXB4IHZhcigtLWNvbG9yLWRhbmdlcik7XG4gIHotaW5kZXg6IDEwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGFuaW1hdGlvbjogYmxpbmsgMXMgZWFzZS1pbi1vdXQgaW5maW5pdGU7XG59XG5cbkBrZXlmcmFtZXMgYmxpbmsge1xuICAwJSwgMTAwJSB7IG9wYWNpdHk6IDE7IH1cbiAgNTAlIHsgb3BhY2l0eTogMC41OyB9XG59XG5cbi8qIEF1ZGlvIFdhdmVmb3JtIFZpc3VhbGl6YXRpb24gKi9cbi52Y3Itd2F2ZWZvcm0ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogNzBweDtcbiAgbGVmdDogMTVweDtcbiAgcmlnaHQ6IDE1cHg7XG4gIGhlaWdodDogMzBweDtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICBnYXA6IDJweDtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzO1xufVxuXG4udmlkZW8tY29udGFpbmVyOmhvdmVyIC52Y3Itd2F2ZWZvcm0sXG4udmlkZW8tY29udGFpbmVyLmNvbnRyb2xzLXZpc2libGUgLnZjci13YXZlZm9ybSxcbi52aWRlby1wbGF5ZXItd3JhcHBlcjpob3ZlciAudmNyLXdhdmVmb3JtLFxuLnZpZGVvLXBsYXllci13cmFwcGVyLmNvbnRyb2xzLXZpc2libGUgLnZjci13YXZlZm9ybSB7XG4gIG9wYWNpdHk6IDAuNztcbn1cblxuLnZjci13YXZlZm9ybS1iYXIge1xuICBmbGV4OiAxO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1zdWNjZXNzKTtcbiAgYm94LXNoYWRvdzogMCAwIDRweCB2YXIoLS1jb2xvci1zdWNjZXNzKTtcbiAgbWluLWhlaWdodDogMnB4O1xuICB0cmFuc2l0aW9uOiBoZWlnaHQgMC4wNXM7XG59XG5cbi8qIFJlY29yZGluZyBJbmRpY2F0b3IgKGxpdmUgc3RyZWFtcykgKi9cbi52Y3ItcmVjIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDE1cHg7XG4gIGxlZnQ6IDE1cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogOHB4O1xuICBjb2xvcjogdmFyKC0tY29sb3ItZGFuZ2VyKTtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZGlzcGxheSk7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgdGV4dC1zaGFkb3c6IDAgMCA4cHggdmFyKC0tY29sb3ItZGFuZ2VyKTtcbiAgei1pbmRleDogMTA7XG59XG5cbi52Y3ItcmVjLWRvdCB7XG4gIHdpZHRoOiAxMHB4O1xuICBoZWlnaHQ6IDEwcHg7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWRhbmdlcik7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgYm94LXNoYWRvdzogMCAwIDhweCB2YXIoLS1jb2xvci1kYW5nZXIpO1xuICBhbmltYXRpb246IGJsaW5rIDFzIGVhc2UtaW4tb3V0IGluZmluaXRlO1xufVxuXG4vKiBUaW1lc3RhbXAgT3ZlcmxheSAqL1xuLnZjci10aW1lc3RhbXAge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMTVweDtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gIGNvbG9yOiB2YXIoLS1hY2NlbnQtcHJpbWFyeSk7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWRpc3BsYXkpO1xuICBmb250LXNpemU6IDE0cHg7XG4gIHRleHQtc2hhZG93OiAwIDAgNXB4IHZhcigtLWFjY2VudC1wcmltYXJ5KTtcbiAgYmFja2dyb3VuZDogcmdiYSgwLDAsMCwwLjUpO1xuICBwYWRkaW5nOiAzcHggOHB4O1xuICB6LWluZGV4OiAxMDtcbn1cblxuLyogTW9iaWxlIFRvdWNoIEFyZWEgKi9cbi52aWRlby10b3VjaC1hcmVhIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBpbnNldDogMDtcbiAgei1pbmRleDogNTtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4vKiBCaWcgUGxheSBCdXR0b24gT3ZlcmxheSAqL1xuLnZpZGVvLXBsYXktb3ZlcmxheSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgaW5zZXQ6IDA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsMCwwLDAuMyk7XG4gIHotaW5kZXg6IDY7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLnZpZGVvLXBsYXktb3ZlcmxheSAucGxheS1pY29uIHtcbiAgd2lkdGg6IDgwcHg7XG4gIGhlaWdodDogODBweDtcbiAgYm9yZGVyOiA0cHggc29saWQgdmFyKC0tYWNjZW50LXByaW1hcnkpO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBjb2xvcjogdmFyKC0tYWNjZW50LXByaW1hcnkpO1xuICBmb250LXNpemU6IDQwcHg7XG4gIHRleHQtc2hhZG93OiAwIDAgMjBweCB2YXIoLS1hY2NlbnQtcHJpbWFyeSk7XG4gIGJveC1zaGFkb3c6IDAgMCAzMHB4IHJnYmEoMjU1LCAxNzYsIDAsIDAuMyk7XG59XG5cbi52aWRlby1wbGF5LW92ZXJsYXk6aG92ZXIgLnBsYXktaWNvbiB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWFjY2VudC1wcmltYXJ5KTtcbiAgY29sb3I6IHZhcigtLWJnLXByaW1hcnkpO1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbn1cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgMTguIFNJREVCQVIgVE9HR0xFIEJVVFRPTlxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAgRml4ZWQgYnV0dG9uIHRvIHNob3cvaGlkZSB0aGUgdGh1bWJuYWlsIHNpZGViYXIuXG4qL1xuXG4uc2lkZWJhci10b2dnbGUge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGJvdHRvbTogNjBweDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogQWJvdmUgbmF2LWNvbnRyb2xzICovXG4gIHJpZ2h0OiAxMHB4O1xuICB6LWluZGV4OiAxNTA7XG4gIGJhY2tncm91bmQ6IHZhcigtLWFjY2VudC1wcmltYXJ5KTtcbiAgYm9yZGVyOiAycHggc29saWQgdmFyKC0tYmctcHJpbWFyeSk7XG4gIGNvbG9yOiB2YXIoLS1iZy1wcmltYXJ5KTtcbiAgcGFkZGluZzogOHB4IDEycHg7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWRpc3BsYXkpO1xuICBmb250LXNpemU6IDEycHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgMTkuIFBJTiBTQ1JFRU4gLSBBdXRoZW50aWNhdGlvbiBPdmVybGF5XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gICBGdWxsLXNjcmVlbiBQSU4gZW50cnkgZm9yIHByb3RlY3RlZCBnYWxsZXJpZXMuXG4gICBMRUQtc3R5bGUgaW5wdXQgZmllbGQgd2l0aCBWQ1IgYnV0dG9uLlxuKi9cblxuLnBpbi1zY3JlZW4ge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGluc2V0OiAwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYmFja2dyb3VuZDogdmFyKC0tYmctcHJpbWFyeSk7XG4gIHotaW5kZXg6IDEwMDA7XG4gIHBhZGRpbmc6IDIwcHg7XG59XG5cbi5waW4tc2NyZWVuIGgxIHtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZGlzcGxheSk7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgY29sb3I6IHZhcigtLWFjY2VudC1tdXRlZCk7XG4gIGxldHRlci1zcGFjaW5nOiA0cHg7XG4gIG1hcmdpbi1ib3R0b206IDMwcHg7XG59XG5cbi5waW4tc2NyZWVuIGgyIHtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZGlzcGxheSk7XG4gIGZvbnQtc2l6ZTogMjRweDtcbiAgY29sb3I6IHZhcigtLWFjY2VudC1wcmltYXJ5KTtcbiAgbGV0dGVyLXNwYWNpbmc6IDNweDtcbiAgbWFyZ2luLWJvdHRvbTogMjVweDtcbiAgdGV4dC1zaGFkb3c6IDAgMCAxMHB4IHZhcigtLWFjY2VudC1wcmltYXJ5KTtcbn1cblxuLnBpbi1zY3JlZW4gZm9ybSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogMTVweDtcbn1cblxuLnBpbi1zY3JlZW4gaW5wdXQge1xuICBiYWNrZ3JvdW5kOiAjMWEwYTAwO1xuICBib3JkZXI6IDNweCBpbnNldCAjM2EyYTFhO1xuICBjb2xvcjogdmFyKC0tYWNjZW50LXByaW1hcnkpO1xuICBwYWRkaW5nOiAxNnB4O1xuICBmb250LXNpemU6IDMycHg7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWRpc3BsYXkpO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGxldHRlci1zcGFjaW5nOiAxMHB4O1xuICB3aWR0aDogMjIwcHg7XG59XG5cbi5waW4tc2NyZWVuIC5zdWJtaXQtYnRuIHtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgIzNhMzYzMiAwJSwgIzJhMjYyMiA1MCUsICMxYTE2MTIgMTAwJSk7XG4gIGJvcmRlcjogM3B4IHNvbGlkIHZhcigtLWFjY2VudC1wcmltYXJ5KTtcbiAgY29sb3I6IHZhcigtLWFjY2VudC1wcmltYXJ5KTtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZGlzcGxheSk7XG4gIGZvbnQtc2l6ZTogMjBweDtcbiAgcGFkZGluZzogMTJweCA0MHB4O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGxldHRlci1zcGFjaW5nOiAycHg7XG4gIHRleHQtc2hhZG93OiAwIDAgOHB4IHZhcigtLWFjY2VudC1wcmltYXJ5KTtcbn1cblxuLnBpbi1zY3JlZW4gLnN1Ym1pdC1idG46YWN0aXZlIHtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgIzFhMTYxMiAwJSwgIzJhMjYyMiA1MCUsICMzYTM2MzIgMTAwJSk7XG59XG5cbi5waW4tc2NyZWVuIC5lcnJvciB7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci1kYW5nZXIpO1xuICBtYXJnaW4tdG9wOiAxMHB4O1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1kaXNwbGF5KTtcbiAgZm9udC1zaXplOiAxOHB4O1xufVxuXG4ucGluLXNjcmVlbiAuaGludCB7XG4gIGNvbG9yOiB2YXIoLS1hY2NlbnQtbXV0ZWQpO1xuICBtYXJnaW4tdG9wOiAyNXB4O1xuICBmb250LXNpemU6IDE0cHg7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWRpc3BsYXkpO1xufVxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAyMC4gQ09OVEFDVCBTSEVFVCAtIFB1bGwtVXAgVGh1bWJuYWlsIFBhbmVsIChNb2JpbGUpXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gICBGdWxsLWhlaWdodCBwYW5lbCB3aXRoIGdyaWQgb2YgYWxsIHRodW1ibmFpbHMuXG4gICBTbGlkZXMgdXAgZnJvbSBib3R0b20gb24gbW9iaWxlIGRldmljZXMuXG4gICBIaWRkZW4gb24gdGFibGV0cy9kZXNrdG9wICh0aGV5IGhhdmUgc2lkZWJhcikuXG4qL1xuXG4vKiBUb2dnbGUgQmFyIGF0IEJvdHRvbSAqL1xuLmNvbnRhY3Qtc2hlZXQtdG9nZ2xlIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCAjMmEyNjIyIDAlLCAjMWExNjEyIDEwMCUpO1xuICBib3JkZXItdG9wOiAycHggc29saWQgdmFyKC0tYWNjZW50LXByaW1hcnkpO1xuICBwYWRkaW5nOiA4cHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB6LWluZGV4OiAxMDA7XG59XG5cbi5jb250YWN0LXNoZWV0LXRvZ2dsZSBzcGFuIHtcbiAgY29sb3I6IHZhcigtLWFjY2VudC1wcmltYXJ5KTtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZGlzcGxheSk7XG4gIGZvbnQtc2l6ZTogMTZweDtcbn1cblxuLyogVGhlIFBhbmVsIEl0c2VsZiAqL1xuLmNvbnRhY3Qtc2hlZXQge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIGhlaWdodDogNzB2aDtcbiAgYmFja2dyb3VuZDogdmFyKC0tYmctcHJpbWFyeSk7XG4gIGJvcmRlci10b3A6IDNweCBzb2xpZCB2YXIoLS1hY2NlbnQtcHJpbWFyeSk7XG4gIHotaW5kZXg6IDIwMDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYW5pbWF0aW9uOiBzbGlkZVVwIDAuMnMgZWFzZS1vdXQ7XG59XG5cbkBrZXlmcmFtZXMgc2xpZGVVcCB7XG4gIGZyb20geyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwJSk7IH1cbiAgdG8geyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH1cbn1cblxuLmNvbnRhY3Qtc2hlZXQtaGVhZGVyIHtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgIzJhMjYyMiAwJSwgIzFhMTYxMiAxMDAlKTtcbiAgcGFkZGluZzogMTBweCAxNXB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjM2EzNjMyO1xufVxuXG4uY29udGFjdC1zaGVldC1oZWFkZXIgc3BhbiB7XG4gIGNvbG9yOiB2YXIoLS1hY2NlbnQtcHJpbWFyeSk7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWRpc3BsYXkpO1xuICBmb250LXNpemU6IDE2cHg7XG59XG5cbi5jb250YWN0LXNoZWV0LWhlYWRlciBidXR0b24ge1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBib3JkZXI6IDJweCBzb2xpZCB2YXIoLS1hY2NlbnQtcHJpbWFyeSk7XG4gIGNvbG9yOiB2YXIoLS1hY2NlbnQtcHJpbWFyeSk7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWRpc3BsYXkpO1xuICBmb250LXNpemU6IDE0cHg7XG4gIHBhZGRpbmc6IDRweCAxMnB4O1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi8qIFRodW1ibmFpbCBHcmlkICovXG4uY29udGFjdC1zaGVldC1ncmlkIHtcbiAgZmxleDogMTtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgcGFkZGluZzogMTBweDtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMywgMWZyKTtcbiAgZ2FwOiA4cHg7XG59XG5cbi5jb250YWN0LXNoZWV0LWdyaWQgcGljdHVyZSB7XG4gIGRpc3BsYXk6IGNvbnRlbnRzOyAgICAgICAgICAgICAgICAgICAgICAgLyogUGljdHVyZSBkb2Vzbid0IGFmZmVjdCBsYXlvdXQgKi9cbn1cblxuLmNvbnRhY3Qtc2hlZXQtZ3JpZCBpbWcge1xuICB3aWR0aDogMTAwJTtcbiAgYXNwZWN0LXJhdGlvOiAxO1xuICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBib3JkZXI6IDJweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgaW1hZ2Utb3JpZW50YXRpb246IGZyb20taW1hZ2U7ICAvKiBSZXNwZWN0IEVYSUYgb3JpZW50YXRpb24gKi9cbn1cblxuLmNvbnRhY3Qtc2hlZXQtZ3JpZCBpbWcuc2VsZWN0ZWQge1xuICBib3JkZXItY29sb3I6IHZhcigtLWFjY2VudC1wcmltYXJ5KTtcbiAgYm94LXNoYWRvdzogMCAwIDEwcHggdmFyKC0tYWNjZW50LXByaW1hcnkpO1xufVxuXG4vKiBGcmFtZSBudW1iZXIgb3ZlcmxheSBvbiBjb250YWN0IHNoZWV0IHRpbGVzICovXG4uY29udGFjdC1zaGVldC1ncmlkIGEge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4uY29udGFjdC1zaGVldC1ncmlkIGE6OmFmdGVyIHtcbiAgY29udGVudDogYXR0cihkYXRhLWZyYW1lKTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDJweDtcbiAgcmlnaHQ6IDRweDtcbiAgZm9udC1zaXplOiAxMHB4O1xuICBjb2xvcjogdmFyKC0ta29kYWstcmVkKTtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZGlzcGxheSk7XG4gIHRleHQtc2hhZG93OiAwIDAgM3B4IHJnYmEoMCwgMCwgMCwgMC44KTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbi8qIE92ZXJsYXkgKGRhcmtlbnMgYmFja2dyb3VuZCB3aGVuIHNoZWV0IGlzIG9wZW4pICovXG4uY29udGFjdC1zaGVldC1vdmVybGF5IHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBpbnNldDogMDtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjcpO1xuICB6LWluZGV4OiAxNTA7XG59XG5cbi8qIE1vYmlsZSBNZXRhIFBhbmVsXG4gICBTaG93cyBkYXRlLCBleHBvc3VyZSwgc2NlbmUgZGVzY3JpcHRpb24gYmVsb3cgaGVybyBvbiBtb2JpbGUuXG4gICBIaWRkZW4gb24gZGVza3RvcCB3aGVyZSB0aGUgc2lkZWJhciBtZXRhLWRpc3BsYXkgc2hvd3MgaXQuXG4qL1xuLm1vYmlsZS1tZXRhIHtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgcmdiYSgzMCwgMjUsIDIwLCAwLjk1KSAwJSwgcmdiYSgyMCwgMTUsIDEwLCAwLjk1KSAxMDAlKTtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYWNjZW50LW11dGVkKTtcbiAgYm9yZGVyLXJhZGl1czogMnB4O1xuICBwYWRkaW5nOiA2cHggMTBweDtcbiAgbWFyZ2luOiA0cHggOHB4IDA7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LW1vbm8pO1xuICBjb2xvcjogdmFyKC0tYWNjZW50LXByaW1hcnkpO1xuICBmb250LXNpemU6IDEzcHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjM7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLm1vYmlsZS1tZXRhLWxhYmVsIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgY29sb3I6IHZhcigtLWFjY2VudC1tdXRlZCk7XG4gIGxldHRlci1zcGFjaW5nOiAxcHg7XG59XG5cbi5tb2JpbGUtbWV0YS1ib2R5IHtcbiAgbWFyZ2luLXRvcDogNHB4O1xufVxuXG4ubW9iaWxlLW1ldGEuY29sbGFwc2VkIC5tb2JpbGUtbWV0YS1ib2R5IHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLm1vYmlsZS1tZXRhLXJvdyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgcGFkZGluZzogMXB4IDA7XG4gIGJvcmRlci1ib3R0b206IDFweCBkb3R0ZWQgcmdiYSgxNTMsIDEwMiwgMCwgMC4zKTtcbn1cblxuLm1vYmlsZS1tZXRhLXJvdzpsYXN0LWNoaWxkIHtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbn1cblxuLm1vYmlsZS1tZXRhLWtleSB7XG4gIGNvbG9yOiB2YXIoLS1hY2NlbnQtbXV0ZWQpO1xuICBmb250LXNpemU6IDEzcHg7XG4gIGxldHRlci1zcGFjaW5nOiAxcHg7XG4gIGZsZXgtc2hyaW5rOiAwO1xuICBtYXJnaW4tcmlnaHQ6IDhweDtcbn1cblxuLm1vYmlsZS1tZXRhLXZhbCB7XG4gIGNvbG9yOiAjYzBiMDkwO1xuICBmb250LXNpemU6IDE1cHg7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuXG4ubW9iaWxlLW1ldGEtc2NlbmUgLm1vYmlsZS1tZXRhLXZhbCB7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIGZvbnQtc2l6ZTogMTNweDtcbiAgbGluZS1oZWlnaHQ6IDEuMztcbiAgbWF4LXdpZHRoOiA4MCU7XG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIDIxLiBSRVNQT05TSVZFIC0gVGFibGV0cyAmIERlc2t0b3AgKDc2OHB4KylcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgIEJSRUFLUE9JTlQ6IDc2OHB4IFx1MjAxNCB0aGUgcHJpbWFyeSBtb2JpbGUtdG8tZGVza3RvcCB0cmFuc2l0aW9uLlxuICAgVGhpcyBpcyBhbHNvIHRoZSBicmVha3BvaW50IHVzZWQgYnkgYXBwLmpzIHRvIHN3aXRjaCBiZXR3ZWVuXG4gICBtb2JpbGUgZmVlZCBsYXlvdXQgKEBtb2JpbGVfZmVlZCkgYW5kIGRlc2t0b3AgYXBwLXNoZWxsIGxheW91dC5cblxuICAgTWFqb3IgbGF5b3V0IGNoYW5nZXMgYXQgdGhpcyBicmVha3BvaW50OlxuICAgLSBmbGV4LWRpcmVjdGlvbjogY29sdW1uIFx1MjE5MiByb3cgKHZlcnRpY2FsIHN0YWNrIFx1MjE5MiBob3Jpem9udGFsIHNwbGl0KVxuICAgLSBIZWFkZXIgYmFyIGhpZGRlbiAoYnJhbmQvc3RhdHVzIG1vdmVzIHRvIHNpZGViYXIpXG4gICAtIFNpZGViYXI6IGhvcml6b250YWwgdGh1bWJuYWlsIHN0cmlwIFx1MjE5MiB2ZXJ0aWNhbCBzY3JvbGxpbmcgcGFuZWwgKDMwMHB4KVxuICAgLSBUaHVtYm5haWxzOiAxLXJvdyBob3Jpem9udGFsIGZpbG1zdHJpcCBcdTIxOTIgMi1jb2x1bW4gdmVydGljYWwgZ3JpZFxuICAgLSBDb250YWN0IHNoZWV0ICYgbW9iaWxlIG1ldGEgcGFuZWwgaGlkZGVuIChkZXNrdG9wIGhhcyBzaWRlYmFyIHBhbmVscylcbiAgIC0gTmF2aWdhdGlvbiBpY29uIGJ1dHRvbnMgcmV2ZWFsZWQgKGhpZGRlbiBvbiBtb2JpbGUgdG8gc2F2ZSBzcGFjZSlcbiAgIC0gTWV0YSBkaXNwbGF5LCBkb3dubG9hZCBwYW5lbCwgc2hhcmUgcGFuZWwgYWxsIHNob3duXG4gICAtIE5hdiBjb250cm9scyBtb3ZlIGZyb20gdG9wIG9mIHN0YWdlIHRvIGJvdHRvbSAob3JkZXI6IDEwKVxuKi9cblxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC8qIEhpZGUgbW9iaWxlLW9ubHkgZWxlbWVudHMgKi9cbiAgLmNvbnRhY3Qtc2hlZXQtdG9nZ2xlIHsgZGlzcGxheTogbm9uZTsgfVxuICAuY29udGFjdC1zaGVldCB7IGRpc3BsYXk6IG5vbmU7IH1cbiAgLmNvbnRhY3Qtc2hlZXQtb3ZlcmxheSB7IGRpc3BsYXk6IG5vbmU7IH1cbiAgLm1vYmlsZS1tZXRhIHsgZGlzcGxheTogbm9uZTsgfSAgICAgICAgICAgLyogVXNlIHNpZGViYXIgbWV0YS1kaXNwbGF5IGluc3RlYWQgKi9cbiAgLnNpZGViYXIgeyBwYWRkaW5nLWJvdHRvbTogMDsgfSAgICAgICAgICAvKiBSZW1vdmUgbW9iaWxlIHBhZGRpbmcgKi9cblxuICAvKiBIb3Jpem9udGFsIGxheW91dCAqL1xuICAuYXBwLXNoZWxsIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICB9XG5cbiAgLmhlYWRlci1iYXIge1xuICAgIGRpc3BsYXk6IG5vbmU7ICAgICAgICAgICAgICAgICAgICAgICAgIC8qIFVzZSBzaWRlYmFyIGluZm8gaW5zdGVhZCAqL1xuICB9XG5cbiAgLnN0YWdlIHtcbiAgICBwYWRkaW5nOiAyMHB4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB9XG5cbiAgLyogTmF2IGNvbnRyb2xzIGF0IGJvdHRvbSBvbiBkZXNrdG9wICovXG4gIC5zdGFnZSAubmF2LWNvbnRyb2xzIHtcbiAgICBvcmRlcjogMTAgIWltcG9ydGFudDtcbiAgICBib3JkZXItdG9wOiAycHggc29saWQgIzNhMzYzMjtcbiAgICBib3JkZXItYm90dG9tOiBub25lO1xuICB9XG5cbiAgLnN0YWdlIC5oZXJvLXdyYXBwZXIge1xuICAgIGZsZXg6IDE7XG4gICAgbWluLWhlaWdodDogMDtcbiAgfVxuXG4gIC5zdGFnZSBpbWcuaGVybyxcbiAgLnN0YWdlIHZpZGVvLmhlcm8ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgb2JqZWN0LWZpdDogY29udGFpbjtcbiAgfVxuXG4gIC8qIFNpZGViYXI6IGZpeGVkIHdpZHRoLCB2ZXJ0aWNhbCBzY3JvbGwgKi9cbiAgLnNpZGViYXIge1xuICAgIHdpZHRoOiAzMDBweDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYm9yZGVyLXRvcDogbm9uZTtcbiAgICBib3JkZXItbGVmdDogMnB4IHNvbGlkICMzYTM2MzI7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgfVxuXG4gIC5zY3JvbGwtd3JhcHBlciB7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICBvdmVyZmxvdy14OiBoaWRkZW47XG4gICAgZmxleDogMTtcbiAgfVxuXG4gIC8qIFRodW1ibmFpbCBncmlkICgyIGNvbHVtbnMpICovXG4gIC5ncmlkIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7XG4gICAgZ2FwOiAzcHg7XG4gICAgcGFkZGluZzogOHB4O1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxuXG4gIC50aHVtYiB7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIGFzcGVjdC1yYXRpbzogMTtcbiAgfVxuXG4gIC8qIE5hdiBjb250cm9scyB3cmFwICovXG4gIC5uYXYtY29udHJvbHMge1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgcGFkZGluZzogMTBweDtcbiAgICBnYXA6IDZweDtcbiAgfVxuXG4gIC5uYXYtYnRuIHtcbiAgICBwYWRkaW5nOiA4cHggMTJweDtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gIH1cblxuICAubmF2LWJ0bi5pY29uLWJ0biB7XG4gICAgZGlzcGxheTogYmxvY2s7ICAgICAgICAgICAgICAgICAgICAgICAgLyogU2hvdyBpY29uIGJ1dHRvbnMgb24gZGVza3RvcCAqL1xuICB9XG5cbiAgLm5hdi1zcGFjZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZsZXg6IDE7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIFB1c2ggcmlnaHQtc2lkZSBidXR0b25zICovXG4gIH1cblxuICAvKiBTaG93IGRlc2t0b3Atb25seSBwYW5lbHMgKi9cbiAgLm1ldGEtZGlzcGxheSB7IGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5kZXNrdG9wLWV4cG9zdXJlIHsgZGlzcGxheTogYmxvY2s7IH1cbiAgLmRvd25sb2FkLXBhbmVsIHsgZGlzcGxheTogYmxvY2s7IH1cbiAgLnNoYXJlLXBhbmVsIHsgZGlzcGxheTogYmxvY2s7IH1cbiAgLmRlc2t0b3Atb25seSB7IGRpc3BsYXk6IGJsb2NrOyB9XG5cbiAgLyogTGFyZ2VyIGRhdGUgZGlzcGxheSAqL1xuICAuZGF0ZS1kaXNwbGF5IHtcbiAgICBtaW4td2lkdGg6IDEyMHB4O1xuICAgIHBhZGRpbmc6IDZweCAxNnB4O1xuICB9XG5cbiAgLmRhdGUtdGV4dCB7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICB9XG59XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIDIxYi4gUkVTUE9OU0lWRSAtIFRhYmxldCAoNzY4cHggLSAxMTk5cHgpXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gICBCUkVBS1BPSU5UOiA3NjhweCB0byAxMTk5cHggXHUyMDE0IGJldHdlZW4gbW9iaWxlIGFuZCBsYXJnZSBkZXNrdG9wLlxuICAgVGFyZ2V0cyBpUGFkIHBvcnRyYWl0LCBpUGFkIGxhbmRzY2FwZSwgYW5kIHNtYWxsIGxhcHRvcHMuXG5cbiAgIEluaGVyaXRzIHRoZSBkZXNrdG9wIGhvcml6b250YWwgbGF5b3V0IGZyb20gNzY4cHgrIGFib3ZlLCB0aGVuXG4gICB0aWdodGVucyBldmVyeXRoaW5nIGZvciB0aGUgc21hbGxlciB2aWV3cG9ydDpcbiAgIC0gU2lkZWJhciBuYXJyb3dlZDogMzAwcHggXHUyMTkyIDIyMHB4XG4gICAtIFN0YWdlIHBhZGRpbmcgcmVkdWNlZDogMjBweCBcdTIxOTIgMTBweFxuICAgLSBOYXYgYnV0dG9ucywgZGF0ZSBkaXNwbGF5cywgZHJvcGRvd25zIGFsbCBzaXplZCBkb3duXG4gICAtIEZpbHRlciBkcm9wZG93bnMgZ2V0IG1heC13aWR0aCBjYXBzIHRvIHByZXZlbnQgb3ZlcmZsb3dcbiAgIC0gVG91Y2ggdGFyZ2V0cyBtYWludGFpbmVkIGF0IG1pbiAzNnB4IChjbG9zZSB0byBXQ0FHIDQ0cHgpXG4gICAtIE1ldGEgZGlzcGxheSBmb250IHNpemVzIHJlZHVjZWQgZm9yIHRoZSBuYXJyb3dlciBzaWRlYmFyXG4qL1xuXG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWF4LXdpZHRoOiAxMTk5cHgpIHtcbiAgLnN0YWdlIHtcbiAgICBwYWRkaW5nOiAxMHB4O1xuICB9XG5cbiAgLyogTmFycm93ZXIgc2lkZWJhciBvbiB0YWJsZXQgKi9cbiAgLnNpZGViYXIge1xuICAgIHdpZHRoOiAyMjBweDtcbiAgfVxuXG4gIC8qIENvbXBhY3QgdGh1bWJuYWlsIGdyaWQgKi9cbiAgLmdyaWQge1xuICAgIGdhcDogMnB4O1xuICAgIHBhZGRpbmc6IDRweDtcbiAgfVxuXG4gIC50aHVtYiB7XG4gICAgYm9yZGVyLXdpZHRoOiAxcHg7XG4gIH1cblxuICAvKiBUaWdodGVyIG5hdiBjb250cm9scyAtIGFsbCBjb250cm9scyB2aXNpYmxlLCBjb21wYWN0IHNpemluZyAqL1xuICAubmF2LWNvbnRyb2xzIHtcbiAgICBwYWRkaW5nOiA0cHggNnB4O1xuICAgIGdhcDogM3B4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgfVxuXG4gIC5uYXYtYnRuIHtcbiAgICBwYWRkaW5nOiA2cHggOHB4O1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBtaW4td2lkdGg6IDMycHg7XG4gIH1cblxuICAvKiBDb21wYWN0IGFsbCBmaWx0ZXIgZHJvcGRvd25zIGZvciB0YWJsZXQgKi9cbiAgLmRhdGUtc2VsZWN0IHtcbiAgICBmb250LXNpemU6IDEzcHg7XG4gICAgcGFkZGluZzogNHB4IDZweDtcbiAgICBtaW4td2lkdGg6IDEwMHB4O1xuICAgIG1heC13aWR0aDogMTYwcHg7XG4gIH1cblxuICAubG9jYXRpb24tc2VsZWN0LFxuICAuY2FtZXJhLXNlbGVjdCxcbiAgLnJhdGluZy1zZWxlY3QsXG4gIC5tZWRpYS10eXBlLXNlbGVjdCB7XG4gICAgZm9udC1zaXplOiAxMXB4O1xuICAgIHBhZGRpbmc6IDNweCA0cHg7XG4gICAgbWF4LXdpZHRoOiAxMjBweDtcbiAgfVxuXG4gIC8qIFNtYWxsZXIgbWV0YSBkaXNwbGF5ICovXG4gIC5tZXRhLWRpc3BsYXkge1xuICAgIGZvbnQtc2l6ZTogMTBweDtcbiAgICBwYWRkaW5nOiA2cHggOHB4O1xuICB9XG5cbiAgLm1ldGEtbGFiZWwge1xuICAgIGZvbnQtc2l6ZTogOXB4O1xuICB9XG5cbiAgLm1ldGEtdmFsdWUge1xuICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgfVxuXG4gIC8qIENvbXBhY3QgZG93bmxvYWQvc2hhcmUgcGFuZWxzICovXG4gIC5kb3dubG9hZC1wYW5lbCxcbiAgLnNoYXJlLXBhbmVsIHtcbiAgICBwYWRkaW5nOiA2cHggOHB4O1xuICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgfVxuXG4gIC8qIFNtYWxsZXIgZGF0ZSBkaXNwbGF5ICovXG4gIC5kYXRlLWRpc3BsYXkge1xuICAgIG1pbi13aWR0aDogODBweDtcbiAgICBwYWRkaW5nOiA0cHggOHB4O1xuICB9XG5cbiAgLmRhdGUtdGV4dCB7XG4gICAgZm9udC1zaXplOiAxM3B4O1xuICB9XG5cbiAgLmRhdGUtZGV0YWlsIHtcbiAgICBmb250LXNpemU6IDEwcHg7XG4gIH1cblxuICAvKiBDb21wYWN0IGZyYW1lIGNvdW50ZXIgKi9cbiAgLmZyYW1lLWNvdW50ZXIge1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBwYWRkaW5nOiAycHggNnB4O1xuICB9XG5cbiAgLyogSGVybyByYXRpbmcgc3RhcnMgKi9cbiAgLmhlcm8tcmF0aW5nIC5zdGFyIHtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgcGFkZGluZzogMnB4O1xuICB9XG5cbiAgLyogU3RyaXAgaGVhZGVyICovXG4gIC5zdHJpcC1oZWFkZXIge1xuICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICBwYWRkaW5nOiA0cHggOHB4O1xuICB9XG5cbiAgLyogU2lkZWJhciBzdHJpcCBuYW1lICovXG4gIC5zaWRlYmFyIC5zdHJpcC1oZWFkZXIgLnN0cmlwLW5hbWUge1xuICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgfVxuXG4gIC5zaWRlYmFyIC5zdHJpcC1oZWFkZXIgLnN0cmlwLWNvdW50IHtcbiAgICBmb250LXNpemU6IDEwcHg7XG4gIH1cblxuICAvKiBFbnN1cmUgdG91Y2ggdGFyZ2V0cyBhcmUgYXQgbGVhc3QgMzZweCAqL1xuICAubmF2LWJ0bixcbiAgLmRhdGUtc2VsZWN0LFxuICAubG9jYXRpb24tc2VsZWN0LFxuICAuY2FtZXJhLXNlbGVjdCxcbiAgLnJhdGluZy1zZWxlY3QsXG4gIC5tZWRpYS10eXBlLXNlbGVjdCB7XG4gICAgbWluLWhlaWdodDogMzZweDtcbiAgfVxufVxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAyMi4gUkVTUE9OU0lWRSAtIExhcmdlIERlc2t0b3AgKDEyMDBweCspXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gICBCUkVBS1BPSU5UOiAxMjAwcHggXHUyMDE0IGxhcmdlIG1vbml0b3JzLCBleHRlcm5hbCBkaXNwbGF5cy5cbiAgIEFkZGl0aW9uYWwgcmVmaW5lbWVudHMgYmV5b25kIHRoZSA3NjhweCBkZXNrdG9wIGxheW91dDpcbiAgIC0gU2lkZWJhciB3aWRlbmVkOiAzMDBweCBcdTIxOTIgMzYwcHggKG1vcmUgcm9vbSBmb3IgbWV0YWRhdGEpXG4gICAtIFRodW1ibmFpbCBncmlkOiAyIGNvbHVtbnMgXHUyMTkyIDMgY29sdW1uc1xuICAgLSBTdGFnZSBwYWRkaW5nIGluY3JlYXNlZDogMjBweCBcdTIxOTIgMzBweCAobW9yZSBicmVhdGhpbmcgcm9vbSlcbiAgIC0gTWV0YWRhdGEgdGV4dCBlbmxhcmdlZCBmb3IgcmVhZGFiaWxpdHkgb24gbGFyZ2Ugc2NyZWVuc1xuKi9cblxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAuc2lkZWJhciB7XG4gICAgd2lkdGg6IDM2MHB4O1xuICB9XG5cbiAgLmdyaWQge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDMsIDFmcik7ICAvKiAzIGNvbHVtbnMgYXQgdGhpcyB3aWR0aCAqL1xuICB9XG5cbiAgLnN0YWdlIHtcbiAgICBwYWRkaW5nOiAzMHB4O1xuICB9XG5cbiAgLyogTGFyZ2VyIHRleHQgZm9yIG1ldGFkYXRhICovXG4gIC5tZXRhLXRhZ3MtdmFsLFxuICAubWV0YS1vYmplY3RzLXZhbCxcbiAgLm1ldGEtcGVvcGxlLXZhbCB7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIH1cblxuICAubWV0YS1zY2VuZS12YWwge1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBsaW5lLWhlaWdodDogMS40O1xuICB9XG59XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIDIzLiBSRVNQT05TSVZFIC0gTGFuZHNjYXBlIFBob25lc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAgU3BlY2lhbCBoYW5kbGluZyBmb3IgcGhvbmVzIHJvdGF0ZWQgdG8gbGFuZHNjYXBlLlxuICAgU2lkZWJhciBiZWNvbWVzIG5hcnJvdyB2ZXJ0aWNhbCBzdHJpcCBvbiByaWdodC5cbiovXG5cbkBtZWRpYSAob3JpZW50YXRpb246IGxhbmRzY2FwZSkgYW5kIChtYXgtaGVpZ2h0OiA1MDBweCkge1xuICAuYXBwLXNoZWxsIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICB9XG5cbiAgLmhlYWRlci1iYXIge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAuc2lkZWJhciB7XG4gICAgd2lkdGg6IDEzMHB4O1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBib3JkZXItdG9wOiBub25lO1xuICAgIGJvcmRlci1sZWZ0OiAycHggc29saWQgIzNhMzYzMjtcbiAgfVxuXG4gIC5zY3JvbGwtd3JhcHBlciB7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICBvdmVyZmxvdy14OiBoaWRkZW47XG4gIH1cblxuICAuZ3JpZCB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjsgICAgICAgICAgICAvKiBTaW5nbGUgY29sdW1uICovXG4gICAgZ2FwOiAycHg7XG4gICAgcGFkZGluZzogNHB4O1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxuXG4gIC50aHVtYiB7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIGFzcGVjdC1yYXRpbzogMTtcbiAgfVxuXG4gIC5zdHJpcC1oZWFkZXIgeyBkaXNwbGF5OiBub25lOyB9XG4gIC5tZXRhLWRpc3BsYXkgeyBkaXNwbGF5OiBub25lOyB9XG4gIC5kb3dubG9hZC1wYW5lbCB7IGRpc3BsYXk6IG5vbmU7IH1cblxuICAvKiBWaWRlbyBmaWxscyBzdGFnZSBlZGdlLXRvLWVkZ2UgaW4gbGFuZHNjYXBlICovXG4gIC5oZXJvLXdyYXBwZXI6aGFzKC52aWRlby1wbGF5ZXItd3JhcHBlcikge1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgIG1hcmdpbjogMDtcbiAgfVxuXG4gIC5uYXYtY29udHJvbHMge1xuICAgIHBhZGRpbmc6IDRweDtcbiAgICBnYXA6IDJweDtcbiAgICBoZWlnaHQ6IDQwcHg7XG4gIH1cblxuICAubmF2LWJ0biB7XG4gICAgcGFkZGluZzogNHB4IDhweDtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgbWluLXdpZHRoOiAyOHB4O1xuICB9XG5cbiAgLmRhdGUtZGlzcGxheSB7XG4gICAgcGFkZGluZzogMnB4IDhweDtcbiAgICBtaW4td2lkdGg6IDgwcHg7XG4gIH1cblxuICAuZGF0ZS10ZXh0IHtcbiAgICBmb250LXNpemU6IDEycHg7XG4gIH1cblxuICAuZGF0ZS1kZXRhaWwge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgMjQuIFJFU1BPTlNJVkUgLSBTbWFsbC9OYXJyb3cgU2NyZWVucyAoNDAwcHggYW5kIGJlbG93KVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAgRm9yIGZvbGRhYmxlcyAobGlrZSBSYXpyKSBhbmQgc21hbGwgcGhvbmVzLlxuICAgSW5jcmVhc2VzIHRvdWNoIHRhcmdldHMgYW5kIGZvbnQgc2l6ZXMgZm9yIGJldHRlciB1c2FiaWxpdHkuXG4qL1xuXG5AbWVkaWEgKG1heC13aWR0aDogNDAwcHgpIHtcbiAgLmhlYWRlci1iYXIge1xuICAgIHBhZGRpbmc6IDhweCAxMnB4O1xuICB9XG5cbiAgLmhlYWRlci1icmFuZCB7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICB9XG5cbiAgLmhlYWRlci1zdGF0dXMge1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBnYXA6IDhweDtcbiAgfVxuXG4gIC5uYXYtY29udHJvbHMge1xuICAgIHBhZGRpbmc6IDZweCA2cHg7XG4gICAgZ2FwOiAzcHg7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICBvdmVyZmxvdy15OiBoaWRkZW47XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICB9XG5cbiAgLm5hdi1idG4ge1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBwYWRkaW5nOiA4cHggMTBweDtcbiAgICBtaW4td2lkdGg6IDQwcHg7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gIH1cblxuICAvKiBEcm9wZG93bnMgc2hyaW5rIGdyYWNlZnVsbHkgb24gbmFycm93IHNjcmVlbnMgKi9cbiAgLmRhdGUtc2VsZWN0IHtcbiAgICBtaW4td2lkdGg6IGF1dG87XG4gICAgbWF4LXdpZHRoOiAxNDBweDtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgcGFkZGluZzogNnB4IDhweDtcbiAgICBmbGV4LXNocmluazogMTtcbiAgICBtaW4td2lkdGg6IDA7XG4gIH1cblxuICAubG9jYXRpb24tc2VsZWN0LFxuICAuY2FtZXJhLXNlbGVjdCxcbiAgLnJhdGluZy1zZWxlY3QsXG4gIC5tZWRpYS10eXBlLXNlbGVjdCB7XG4gICAgZmxleC1zaHJpbms6IDE7XG4gICAgbWluLXdpZHRoOiAwO1xuICAgIG1heC13aWR0aDogMTAwcHg7XG4gICAgZm9udC1zaXplOiAxMXB4O1xuICAgIHBhZGRpbmc6IDJweCAzcHg7XG4gIH1cblxuICAuZGF0ZS1kaXNwbGF5IHtcbiAgICBwYWRkaW5nOiA4cHggMTJweDtcbiAgfVxuXG4gIC5kYXRlLXRleHQge1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgfVxuXG4gIC5kYXRlLWRldGFpbCB7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICB9XG5cbiAgLmRhdGUtc3RhbXAge1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBwYWRkaW5nOiA0cHggMTBweDtcbiAgfVxuXG4gIC5mcmFtZS1jb3VudGVyIHtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgcGFkZGluZzogM3B4IDhweDtcbiAgfVxuXG4gIC8qIEVuc3VyZSBoZXJvIGRvZXNuJ3Qgb3ZlcmZsb3cgdmlld3BvcnQgKi9cbiAgLmhlcm8td3JhcHBlciB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG5cbiAgLyogTGFyZ2VyIHRvdWNoIHRhcmdldHMgZm9yIG92ZXJsYXlzICovXG4gIC5mYWNlLWJveCxcbiAgLm9iamVjdC1ib3gge1xuICAgIG1pbi13aWR0aDogNDRweDtcbiAgICBtaW4taGVpZ2h0OiA0NHB4O1xuICB9XG59XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIDI1LiBSRVNQT05TSVZFIC0gVmVyeSBTbWFsbCBTY3JlZW5zICgzMjBweCBhbmQgYmVsb3cpXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gICBFeHRyYSBjb21wYWN0IGxheW91dCBmb3IgdmVyeSBuYXJyb3cgZGV2aWNlcy5cbiovXG5cbkBtZWRpYSAobWF4LXdpZHRoOiAzMjBweCkge1xuICAubmF2LWJ0biB7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIHBhZGRpbmc6IDhweCAxMHB4O1xuICAgIG1pbi13aWR0aDogNDBweDtcbiAgfVxuXG4gIC5kYXRlLXRleHQge1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgfVxuXG4gIC5kYXRlLWRldGFpbCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAyNi4gVE9VQ0ggREVWSUNFIE9WRVJSSURFU1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAgT24gdG91Y2ggZGV2aWNlcyAobm8gaG92ZXIgY2FwYWJpbGl0eSk6XG4gICAtIExhYmVscyBhcmUgYWx3YXlzIHZpc2libGUgKGNhbid0IGhvdmVyIHRvIHJldmVhbClcbiovXG5cbkBtZWRpYSAoaG92ZXI6IG5vbmUpIGFuZCAocG9pbnRlcjogY29hcnNlKSB7XG4gIC5mYWNlLWJveCAuZmFjZS1sYWJlbCB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIC5vYmplY3QtYm94IC5vYmplY3QtbGFiZWwge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICAvKiBWaWRlbzogYWx3YXlzIHNob3cgY29udHJvbHMgb24gdG91Y2ggKGNhbid0IGhvdmVyKSAqL1xuICAudmNyLWNvbnRyb2xzIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgLyogTGFyZ2VyIHRhcCB0YXJnZXRzIGZvciB2aWRlbyBjb250cm9scyAqL1xuICAudmNyLWJ0biB7XG4gICAgcGFkZGluZzogMTBweCAxNnB4O1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICBtaW4td2lkdGg6IDQ0cHg7XG4gICAgbWluLWhlaWdodDogNDRweDtcbiAgfVxuXG4gIC52Y3ItbXV0ZSwgLnZjci1mdWxsc2NyZWVuIHtcbiAgICBtaW4td2lkdGg6IDQ0cHg7XG4gICAgbWluLWhlaWdodDogNDRweDtcbiAgICBmb250LXNpemU6IDIwcHg7XG4gIH1cblxuICAvKiBNYWtlIHRpbWVsaW5lIHRhbGxlciBmb3IgZWFzaWVyIHNjcnViYmluZyAqL1xuICAudmNyLXRpbWVsaW5lIHtcbiAgICBoZWlnaHQ6IDE0cHg7XG4gIH1cblxuICAudmNyLXRpbWVsaW5lLWhhbmRsZSB7XG4gICAgd2lkdGg6IDE4cHg7XG4gICAgaGVpZ2h0OiAxOHB4O1xuICB9XG5cbiAgLyogTW9yZSBwcm9taW5lbnQgbXV0ZSBpbmRpY2F0b3IgKi9cbiAgLnZjci1tdXRlZC1pbmRpY2F0b3Ige1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBwYWRkaW5nOiA4cHggMTRweDtcbiAgfVxuXG4gIC8qIFdhdmVmb3JtIGFsd2F5cyB2aXNpYmxlIHdoZW4gcGxheWluZyAqL1xuICAudmNyLXdhdmVmb3JtIHtcbiAgICBvcGFjaXR5OiAwLjc7XG4gIH1cbn1cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgMjcuIE1FVEEgUEFORUwgVE9HR0xFXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuKi9cblxuLm1ldGEtaGVhZGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHBhZGRpbmc6IDhweCAxMnB4O1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMyk7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1hY2NlbnQtbXV0ZWQpO1xufVxuXG4ubWV0YS1oZWFkZXI6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNSk7XG59XG5cbi5tZXRhLXRvZ2dsZSB7XG4gIGNvbG9yOiB2YXIoLS1hY2NlbnQtcHJpbWFyeSk7XG4gIGZvbnQtc2l6ZTogMTJweDtcbn1cblxuLm1ldGEtZGlzcGxheS5jb2xsYXBzZWQge1xuICAvKiBXaGVuIGNvbGxhcHNlZCwganVzdCBzaG93IHRoZSBoZWFkZXIgKi9cbn1cblxuLm1ldGEtZGlzcGxheS5jb2xsYXBzZWQgLm1ldGEtcm93LFxuLm1ldGEtZGlzcGxheS5jb2xsYXBzZWQgLmRlc2t0b3AtZXhwb3N1cmUge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgMjguIExPQUQgTU9SRSBCVVRUT05cbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4qL1xuXG4vKiBMb2FkIG1vcmUgYnV0dG9uIC0gYWx3YXlzIHZpc2libGUgYXQgYm90dG9tIG9mIHNpZGViYXIgKi9cbi5sb2FkLW1vcmUtY29udGFpbmVyIHtcbiAgZmxleC1zaHJpbms6IDA7XG4gIHBhZGRpbmc6IDhweDtcbiAgYmFja2dyb3VuZDogdmFyKC0tZmlsbS1ib3JkZXIpO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1hY2NlbnQtbXV0ZWQpO1xufVxuXG4ubG9hZC1tb3JlLWJ0biB7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAxMHB4IDE2cHg7XG4gIGJhY2tncm91bmQ6IHZhcigtLWFjY2VudC1wcmltYXJ5KTtcbiAgYm9yZGVyOiAycHggc29saWQgdmFyKC0tYmctcHJpbWFyeSk7XG4gIGNvbG9yOiB2YXIoLS1iZy1wcmltYXJ5KTtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtbW9ubyk7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMnM7XG59XG5cbi5sb2FkLW1vcmUtYnRuOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tYmctcHJpbWFyeSk7XG4gIGNvbG9yOiB2YXIoLS1hY2NlbnQtcHJpbWFyeSk7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tYWNjZW50LXByaW1hcnkpO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgMjcuIEZPTERBQkxFL1RBTEwgU0NSRUVOUyAoUmF6ciwgWiBGbGlwLCBldGMuKVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAgRm9sZGFibGUgcGhvbmVzIHdoZW4gdW5mb2xkZWQgaGF2ZSB2ZXJ5IHRhbGwsIG5hcnJvdyBzY3JlZW5zLlxuICAgUmF6ciAyMDI0OiAyNjQweDEwODAgKGlubmVyKSwgfjQxMlx1MDBENzkxNSBDU1MgcGl4ZWxzXG5cbiAgIEtleSBvcHRpbWl6YXRpb25zOlxuICAgLSBNb3JlIHZlcnRpY2FsIHRodW1ibmFpbHMgdmlzaWJsZVxuICAgLSBDb21wYWN0IGhlYWRlciB0byBtYXhpbWl6ZSBzdGFnZSBhcmVhXG4gICAtIE9wdGltaXplZCBmb3IgMjE6OSsgYXNwZWN0IHJhdGlvc1xuKi9cblxuLyogVGFsbCBuYXJyb3cgcG9ydHJhaXQgc2NyZWVucyAoZm9sZGFibGVzIHVuZm9sZGVkKSAqL1xuQG1lZGlhIChtYXgtd2lkdGg6IDQ1MHB4KSBhbmQgKG1pbi1oZWlnaHQ6IDgwMHB4KSB7XG4gIC5oZWFkZXItYmFyIHtcbiAgICBwYWRkaW5nOiA0cHggMTBweDtcbiAgfVxuXG4gIC5oZWFkZXItYnJhbmQge1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBsZXR0ZXItc3BhY2luZzogMnB4O1xuICB9XG5cbiAgLmhlYWRlci1zdGF0dXMge1xuICAgIGZvbnQtc2l6ZTogOXB4O1xuICAgIGdhcDogOHB4O1xuICB9XG5cbiAgLyogTWF4aW1pemUgaGVybyBpbWFnZSBhcmVhICovXG4gIC5zdGFnZSB7XG4gICAgZmxleDogMTtcbiAgICBtaW4taGVpZ2h0OiA1MHZoO1xuICB9XG5cbiAgLyogTW9yZSB0aHVtYm5haWxzIHZpc2libGUgaW4gc3RyaXAgKi9cbiAgLnNpZGViYXIge1xuICAgIG1heC1oZWlnaHQ6IDM1dmg7XG4gIH1cblxuICAuZ3JpZCB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNCwgMWZyKTtcbiAgICBnYXA6IDJweDtcbiAgfVxuXG4gIC50aHVtYiB7XG4gICAgYXNwZWN0LXJhdGlvOiAxO1xuICB9XG5cbiAgLyogQ29tcGFjdCBuYXYgZm9yIG1vcmUgc2NyZWVuIHNwYWNlICovXG4gIC5uYXYtY29udHJvbHMge1xuICAgIHBhZGRpbmc6IDZweCA4cHg7XG4gICAgZ2FwOiA0cHg7XG4gIH1cblxuICAubmF2LWJ0biB7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIHBhZGRpbmc6IDhweCAxMHB4O1xuICAgIG1pbi1oZWlnaHQ6IDQwcHg7XG4gIH1cblxuICAuZGF0ZS1kaXNwbGF5IHtcbiAgICBwYWRkaW5nOiA2cHggMTBweDtcbiAgfVxuXG4gIC5kYXRlLXRleHQge1xuICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgfVxuXG4gIC5kYXRlLWRldGFpbCB7XG4gICAgZm9udC1zaXplOiAxMHB4O1xuICB9XG5cbiAgLyogSGlkZSBhZG1pbi1vbmx5IGZpbHRlciBkcm9wZG93bnMgb24gbmFycm93IG1vYmlsZSBcdTIwMTQgdXNlIFVSTCBwYXJhbXMgaW5zdGVhZCAqL1xuICAucmF0aW5nLXNlbGVjdCwgLm1lZGlhLXR5cGUtc2VsZWN0IHsgZGlzcGxheTogbm9uZTsgfVxufVxuXG4vKiBWZXJ5IHRhbGwgc2NyZWVucyAoMjA6OSBhbmQgdGFsbGVyIGFzcGVjdCByYXRpb3MpICovXG5AbWVkaWEgKG1heC13aWR0aDogNDIwcHgpIGFuZCAobWluLWFzcGVjdC1yYXRpbzogMTkvOSkge1xuICAvKiBFdmVuIG1vcmUgY29tcGFjdCBoZWFkZXIgKi9cbiAgLmhlYWRlci1iYXIge1xuICAgIHBhZGRpbmc6IDNweCA4cHg7XG4gIH1cblxuICAuaGVhZGVyLWJyYW5kIHtcbiAgICBmb250LXNpemU6IDEzcHg7XG4gIH1cblxuICAvKiA1LWNvbHVtbiBncmlkIGZvciBtb3JlIHRodW1ibmFpbHMgKi9cbiAgLmdyaWQge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDUsIDFmcik7XG4gICAgZ2FwOiAxcHg7XG4gIH1cblxuICAvKiBTbWFsbGVyIHN0cmlwIHRvIG1heGltaXplIHN0YWdlICovXG4gIC5zaWRlYmFyIHtcbiAgICBtYXgtaGVpZ2h0OiAzMHZoO1xuICB9XG5cbiAgLnN0cmlwLWhlYWRlciB7XG4gICAgcGFkZGluZzogNHB4IDhweDtcbiAgICBmb250LXNpemU6IDlweDtcbiAgfVxufVxuXG4vKiBGb2xkYWJsZSBsYW5kc2NhcGUgKG91dGVyIHNjcmVlbiBvciBmb2xkZWQgdmlld2luZykgKi9cbkBtZWRpYSAobWF4LXdpZHRoOiA1MDBweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSBhbmQgKG1heC1oZWlnaHQ6IDQwMHB4KSB7XG4gIC5hcHAtc2hlbGwge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIH1cblxuICAuaGVhZGVyLWJhciB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC8qIFNpZGViYXIgb24gbGVmdCAqL1xuICAuc2lkZWJhciB7XG4gICAgd2lkdGg6IDEwMHB4O1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBib3JkZXItdG9wOiBub25lO1xuICAgIGJvcmRlci1sZWZ0OiAycHggc29saWQgIzNhMzYzMjtcbiAgICBvcmRlcjogLTE7XG4gIH1cblxuICAuZ3JpZCB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG4gICAgZ2FwOiAxcHg7XG4gICAgcGFkZGluZzogMnB4O1xuICB9XG5cbiAgLnRodW1iIHtcbiAgICBhc3BlY3QtcmF0aW86IDE2Lzk7XG4gIH1cblxuICAuc3RyaXAtaGVhZGVyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgLyogTWluaW1hbCBuYXYgKi9cbiAgLm5hdi1jb250cm9scyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogNHB4O1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgcGFkZGluZzogMnB4IDRweDtcbiAgICBnYXA6IDJweDtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNyk7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICB9XG5cbiAgLm5hdi1idG4ge1xuICAgIHBhZGRpbmc6IDRweCA4cHg7XG4gICAgZm9udC1zaXplOiAxMXB4O1xuICAgIG1pbi13aWR0aDogMjRweDtcbiAgICBtaW4taGVpZ2h0OiAyOHB4O1xuICB9XG5cbiAgLmRhdGUtZGlzcGxheSB7XG4gICAgcGFkZGluZzogMnB4IDZweDtcbiAgICBtaW4td2lkdGg6IDcwcHg7XG4gIH1cblxuICAuZGF0ZS10ZXh0IHtcbiAgICBmb250LXNpemU6IDExcHg7XG4gIH1cblxuICAuZGF0ZS1kZXRhaWwge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgMjkuIExJVkUgU1RSRUFNSU5HXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gICBTdHJlYW0gaW5kaWNhdG9yIGJhZGdlIGFuZCB2aWRlbyBlbWJlZCBmb3IgTWVkaWFNVFggaW50ZWdyYXRpb24uXG4gICBTaG93cyB3aGVuIHNpdGUgaGFzIGFjdGl2ZSB2aWRlbyBzdHJlYW0uXG4qL1xuXG4vKiBTdHJlYW0gaW5kaWNhdG9yIGJhZGdlIChzaG93biBpbiBoZWFkZXIgd2hlbiBzdHJlYW1pbmcpICovXG4uc3RyZWFtLWluZGljYXRvciB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDRweDtcbiAgY29sb3I6IHZhcigtLWNvbG9yLWRhbmdlciwgI2ZmMDA0MCk7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LW1vbm8pO1xuICBmb250LXNpemU6IDEycHg7XG4gIHBhZGRpbmc6IDJweCA4cHg7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAwLCA2NCwgMC4xNSk7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWRhbmdlcik7XG4gIGJvcmRlci1yYWRpdXM6IDJweDtcbn1cblxuLnN0cmVhbS1kb3Qge1xuICB3aWR0aDogOHB4O1xuICBoZWlnaHQ6IDhweDtcbiAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItZGFuZ2VyLCAjZmYwMDQwKTtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBhbmltYXRpb246IHN0cmVhbS1wdWxzZSAxLjVzIGluZmluaXRlO1xufVxuXG5Aa2V5ZnJhbWVzIHN0cmVhbS1wdWxzZSB7XG4gIDAlLCAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIGJveC1zaGFkb3c6IDAgMCA0cHggdmFyKC0tY29sb3ItZGFuZ2VyKTtcbiAgfVxuICA1MCUge1xuICAgIG9wYWNpdHk6IDAuNTtcbiAgICBib3gtc2hhZG93OiAwIDAgOHB4IHZhcigtLWNvbG9yLWRhbmdlcik7XG4gIH1cbn1cblxuLyogU3RyZWFtIGhlcm86IGlmcmFtZSBmaWxscyBoZXJvLXdyYXBwZXIgd2hlbiBsaXZlICovXG4uc3RyZWFtLWhlcm8taWZyYW1lIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgYm9yZGVyOiBub25lO1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLyogTElWRSBiYWRnZSBvdmVybGF5IG9uIHN0cmVhbSBoZXJvICovXG4uc3RyZWFtLWhlcm8tYmFkZ2Uge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMTJweDtcbiAgbGVmdDogMTJweDtcbiAgei1pbmRleDogMTA7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDZweDtcbiAgcGFkZGluZzogNHB4IDEycHg7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAwLCA2NCwgMC44NSk7XG4gIGNvbG9yOiAjZmZmO1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1tb25vKTtcbiAgZm9udC1zaXplOiAxM3B4O1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgYm9yZGVyLXJhZGl1czogMjBweDtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuNXB4O1xufVxuXG4vKiBEZXNrdG9wOiBTdHJlYW0gaW5kaWNhdG9yIGFkanVzdG1lbnRzICovXG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLnN0cmVhbS1pbmRpY2F0b3Ige1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBwYWRkaW5nOiA0cHggMTJweDtcbiAgfVxufVxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBERVZJQ0UgSU5GTyBCQURHRSAoZGVidWdnaW5nL3Rlc3RpbmcpXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uZ2FsbGVyeS1kZXZpY2UtYmFkZ2Uge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogOHB4O1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTsgIC8qIENlbnRlciBob3Jpem9udGFsbHkgKi9cbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjg1KTtcbiAgYmFja2Ryb3AtZmlsdGVyOiBibHVyKDhweCk7XG4gIC13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOiBibHVyKDhweCk7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWFjY2VudC1tdXRlZCwgIzNhMmEwMCk7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgcGFkZGluZzogNHB4IDEwcHg7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LW1vbm8sICdJQk0gUGxleCBNb25vJywgbW9ub3NwYWNlKTtcbiAgZm9udC1zaXplOiAxMHB4O1xuICBjb2xvcjogdmFyKC0tYWNjZW50LXByaW1hcnksICNmZmIwMDApO1xuICB6LWluZGV4OiA1MDsgIC8qIEJlbG93IG1vZGFscyAod2hpY2ggYXJlIHR5cGljYWxseSAxMDArKSAqL1xuICBtYXgtd2lkdGg6IGNhbGMoMTAwdncgLSAyMHB4KTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIG9wYWNpdHk6IDAuNjtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuLmdhbGxlcnktZGV2aWNlLWJhZGdlOmhvdmVyIHtcbiAgb3BhY2l0eTogMTtcbn1cblxuLyogTW9kZXJuIHRoZW1lIG92ZXJyaWRlICovXG4udGhlbWUtbW9kZXJuIC5nYWxsZXJ5LWRldmljZS1iYWRnZSB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45KTtcbiAgYm9yZGVyLWNvbG9yOiAjZTVlN2ViO1xuICBjb2xvcjogIzZiNzI4MDtcbn1cblxuLyogTW9iaWxlIC0gc21hbGxlciAqL1xuQG1lZGlhIChtYXgtd2lkdGg6IDYwMHB4KSB7XG4gIC5nYWxsZXJ5LWRldmljZS1iYWRnZSB7XG4gICAgdG9wOiA0cHg7XG4gICAgZm9udC1zaXplOiA4cHg7XG4gICAgcGFkZGluZzogM3B4IDZweDtcbiAgICBtYXgtd2lkdGg6IDkwdnc7XG4gIH1cbn1cblxuLyogTGFuZHNjYXBlIC0gc21hbGxlciAqL1xuQG1lZGlhIChtYXgtaGVpZ2h0OiA1MDBweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSB7XG4gIC5nYWxsZXJ5LWRldmljZS1iYWRnZSB7XG4gICAgdG9wOiA0cHg7XG4gICAgZm9udC1zaXplOiA4cHg7XG4gICAgcGFkZGluZzogMnB4IDZweDtcbiAgfVxufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgSU5MSU5FIElNQUdFIEVESVRPUlxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyogRWRpdG9yIFBhbmUgKGJvdHRvbSBwYW5lbCBiZWxvdyBoZXJvIGltYWdlKSAqL1xuLmVkaXRvci1wYW5lIHtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWFjY2VudC1tdXRlZCwgIzY2NTUwMCk7XG4gIGJhY2tncm91bmQ6IHZhcigtLWJnLXByaW1hcnksICMwYTBhMGEpO1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1tb25vKTtcbiAgcGFkZGluZzogNnB4IDEwcHg7XG4gIGZsZXgtc2hyaW5rOiAwO1xufVxuLmVkaXRvci1iYXIgeyBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBnYXA6IDEycHg7IGZsZXgtd3JhcDogd3JhcDsgfVxuLmVkaXRvci1oZWFkZXIgeyBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBnYXA6IDhweDtcbiAgY29sb3I6IHZhcigtLWFjY2VudC1wcmltYXJ5LCAjZmZiMDAwKTsgZm9udC1zaXplOiAxM3B4OyB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG4uZWRpdG9yLWRpcnR5LmFjdGl2ZSB7IGNvbG9yOiB2YXIoLS1jb2xvci1zdWNjZXNzLCAjMDBmZjQxKTsgZm9udC1zaXplOiAxMXB4OyB9XG4uZWRpdG9yLXRhYnMgeyBkaXNwbGF5OiBmbGV4OyBnYXA6IDJweDsgfVxuLmVkaXRvci10YWIgeyBwYWRkaW5nOiAycHggOHB4OyBmb250LWZhbWlseTogdmFyKC0tZm9udC1tb25vKTsgZm9udC1zaXplOiAxMnB4O1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1hY2NlbnQtbXV0ZWQsICM2NjU1MDApOyBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6IHZhcigtLWFjY2VudC1tdXRlZCwgIzY2NTUwMCk7IGN1cnNvcjogcG9pbnRlcjsgfVxuLmVkaXRvci10YWIuYWN0aXZlIHsgYmFja2dyb3VuZDogdmFyKC0tYWNjZW50LW11dGVkLCAjNjY1NTAwKTsgY29sb3I6IHZhcigtLWJnLXByaW1hcnksICMwYTBhMGEpOyB9XG5cbi8qIFNsaWRlcnMgcm93ICovXG4uZWRpdG9yLXNsaWRlcnMgeyBkaXNwbGF5OiBmbGV4OyBnYXA6IDhweDsgZmxleDogMTsgYWxpZ24taXRlbXM6IGNlbnRlcjsgZmxleC13cmFwOiB3cmFwOyB9XG4uZWRpdG9yLXNsaWRlci1ncm91cCB7IGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGdhcDogNHB4OyBtaW4td2lkdGg6IDEyMHB4OyBmbGV4OiAxOyB9XG4uZWRpdG9yLXNsaWRlci1sYWJlbCB7IGNvbG9yOiB2YXIoLS1hY2NlbnQtbXV0ZWQsICM2NjU1MDApOyBmb250LXNpemU6IDExcHg7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IG1pbi13aWR0aDogMjhweDsgfVxuLmVkaXRvci1zbGlkZXItdmFsdWUgeyBjb2xvcjogdmFyKC0tYWNjZW50LXByaW1hcnksICNmZmIwMDApOyBmb250LXNpemU6IDExcHg7XG4gIGZvbnQtdmFyaWFudC1udW1lcmljOiB0YWJ1bGFyLW51bXM7IG1pbi13aWR0aDogMzJweDsgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbi5lZGl0b3Itc2xpZGVyIHsgZmxleDogMTsgYWNjZW50LWNvbG9yOiB2YXIoLS1hY2NlbnQtcHJpbWFyeSwgI2ZmYjAwMCk7IGhlaWdodDogNHB4O1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1iZy1zZWNvbmRhcnksICMxYTFhMWEpOyBhcHBlYXJhbmNlOiBub25lOyAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7IG1pbi13aWR0aDogNjBweDsgfVxuLmVkaXRvci1zbGlkZXI6Oi13ZWJraXQtc2xpZGVyLXRodW1iIHsgYXBwZWFyYW5jZTogbm9uZTsgd2lkdGg6IDEycHg7IGhlaWdodDogMTJweDtcbiAgYmFja2dyb3VuZDogdmFyKC0tYWNjZW50LXByaW1hcnksICNmZmIwMDApOyBib3JkZXItcmFkaXVzOiA1MCU7IGN1cnNvcjogcG9pbnRlcjsgfVxuXG4uZWRpdG9yLWFjdGlvbnMgeyBkaXNwbGF5OiBmbGV4OyBnYXA6IDRweDsgfVxuLmVkaXRvci1idG4geyBwYWRkaW5nOiAzcHggMTBweDsgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtbW9ubyk7IGZvbnQtc2l6ZTogMTNweDtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYWNjZW50LW11dGVkLCAjNjY1NTAwKTsgYmFja2dyb3VuZDogdmFyKC0tYmctc2Vjb25kYXJ5LCAjMWExYTFhKTtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG4uZWRpdG9yLWJ0bi1zYXZlIHsgY29sb3I6IHZhcigtLWNvbG9yLXN1Y2Nlc3MsICMwMGZmNDEpOyBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLXN1Y2Nlc3MsICMwMGZmNDEpOyB9XG4uZWRpdG9yLWJ0bi1zYXZlOmRpc2FibGVkIHsgb3BhY2l0eTogMC4zOyBjdXJzb3I6IGRlZmF1bHQ7IH1cbi5lZGl0b3ItYnRuLXJlc2V0IHsgY29sb3I6IHZhcigtLWFjY2VudC1wcmltYXJ5LCAjZmZiMDAwKTsgfVxuXG4uZWRpdG9yLWNyb3AtaW5mbyB7IGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGdhcDogOHB4OyBmbGV4OiAxOyB9XG4uZWRpdG9yLWNyb3AtaGludCB7IGNvbG9yOiB2YXIoLS1hY2NlbnQtbXV0ZWQsICM2NjU1MDApOyBmb250LXNpemU6IDEycHg7IH1cbi5lZGl0b3ItY3JvcC12YWx1ZXMgeyBjb2xvcjogdmFyKC0tYWNjZW50LXByaW1hcnksICNmZmIwMDApOyBmb250LXNpemU6IDEycHg7IGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LW1vbm8pOyB9XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAuZWRpdG9yLWJhciB7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IGFsaWduLWl0ZW1zOiBzdHJldGNoOyB9XG4gIC5lZGl0b3Itc2xpZGVycyB7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgLmVkaXRvci1zbGlkZXItZ3JvdXAgeyBtaW4td2lkdGg6IDEwMCU7IH1cbn1cblxuLyogQ3JvcCBPdmVybGF5ICovXG4uY3JvcC1vdmVybGF5IHsgcG9zaXRpb246IGFic29sdXRlOyBpbnNldDogMDsgei1pbmRleDogMTU7IHBvaW50ZXItZXZlbnRzOiBhdXRvOyB9XG4uY3JvcC1tYXNrIHsgcG9zaXRpb246IGFic29sdXRlOyBiYWNrZ3JvdW5kOiByZ2JhKDAsMCwwLDAuNSk7IHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG4uY3JvcC1yZWdpb24geyBwb3NpdGlvbjogYWJzb2x1dGU7IGJvcmRlcjogMnB4IGRhc2hlZCB2YXIoLS1hY2NlbnQtcHJpbWFyeSwgI2ZmYjAwMCk7IGN1cnNvcjogbW92ZTsgfVxuLmNyb3AtaGFuZGxlIHsgcG9zaXRpb246IGFic29sdXRlOyB3aWR0aDogMTBweDsgaGVpZ2h0OiAxMHB4O1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1hY2NlbnQtcHJpbWFyeSwgI2ZmYjAwMCk7IGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJnLXByaW1hcnksICMwYTBhMGEpOyB9XG5cbi8qIEFzcGVjdCByYXRpbyBidXR0b25zICovXG4uZWRpdG9yLWNyb3AtYXNwZWN0cyB7IGRpc3BsYXk6IGZsZXg7IGdhcDogNHB4OyBtYXJnaW46IDRweCAwOyB9XG4uZWRpdG9yLWFzcGVjdC1idG4ge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMTc2LCAwLCAwLjEpOyBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDI1NSwgMTc2LCAwLCAwLjMpO1xuICBjb2xvcjogcmdiYSgyNTUsIDE3NiwgMCwgMC42KTsgZm9udC1zaXplOiAxMHB4OyBwYWRkaW5nOiAycHggNnB4OyBjdXJzb3I6IHBvaW50ZXI7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LW1vbm8sIG1vbm9zcGFjZSk7IGxldHRlci1zcGFjaW5nOiAwLjVweDtcbn1cbi5lZGl0b3ItYXNwZWN0LWJ0bi5hY3RpdmUge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMTc2LCAwLCAwLjI1KTsgYm9yZGVyLWNvbG9yOiB2YXIoLS1hY2NlbnQtcHJpbWFyeSwgI2ZmYjAwMCk7XG4gIGNvbG9yOiB2YXIoLS1hY2NlbnQtcHJpbWFyeSwgI2ZmYjAwMCk7XG59XG4uZWRpdG9yLWFzcGVjdC1idG46aG92ZXIgeyBib3JkZXItY29sb3I6IHZhcigtLWFjY2VudC1wcmltYXJ5LCAjZmZiMDAwKTsgfVxuXG4vKiBBY3RpdmUgc2xpZGVyIGdyb3VwIGhpZ2hsaWdodCAqL1xuLmVkaXRvci1zbGlkZXItZ3JvdXAuYWN0aXZlIHtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDE3NiwgMCwgMC4wOCk7XG4gIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgb3V0bGluZTogMXB4IHNvbGlkIHJnYmEoMjU1LCAxNzYsIDAsIDAuMjUpO1xufVxuXG4vKiBDbGljay10by10eXBlIHZhbHVlIGlucHV0ICovXG4uZWRpdG9yLXNsaWRlci12YWx1ZSB7IGN1cnNvcjogcG9pbnRlcjsgfVxuLmVkaXRvci1zbGlkZXItdmFsdWU6aG92ZXIgeyB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuXG4uZWRpdG9yLXNsaWRlci1pbnB1dCB7XG4gIHdpZHRoOiA0OHB4O1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1tb25vKTtcbiAgZm9udC1zaXplOiAxMXB4O1xuICBjb2xvcjogdmFyKC0tYWNjZW50LXByaW1hcnksICNmZmIwMDApO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1iZy1zZWNvbmRhcnksICMxYTFhMWEpO1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1hY2NlbnQtcHJpbWFyeSwgI2ZmYjAwMCk7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xuICBwYWRkaW5nOiAwIDJweDtcbiAgb3V0bGluZTogbm9uZTtcbiAgLW1vei1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7XG59XG4uZWRpdG9yLXNsaWRlci1pbnB1dDo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcbi5lZGl0b3Itc2xpZGVyLWlucHV0Ojotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICBtYXJnaW46IDA7XG59XG5cbi8qIFN0YXIgUmF0aW5nICovXG4uaGVyby1yYXRpbmcgeyBwb3NpdGlvbjogYWJzb2x1dGU7IGJvdHRvbTogMzZweDsgbGVmdDogMTJweDsgei1pbmRleDogMTA7XG4gIGZvbnQtc2l6ZTogMjBweDsgY3Vyc29yOiBwb2ludGVyOyB1c2VyLXNlbGVjdDogbm9uZTsgfVxuLmhlcm8tcmF0aW5nIC5zdGFyIHsgY29sb3I6IHJnYmEoMjU1LDI1NSwyNTUsMC4zKTsgdHJhbnNpdGlvbjogY29sb3IgMC4xczsgfVxuLmhlcm8tcmF0aW5nIC5zdGFyLmZpbGxlZCB7IGNvbG9yOiAjZmZiMDAwOyB0ZXh0LXNoYWRvdzogMCAwIDRweCByZ2JhKDI1NSwxNzYsMCwwLjUpOyB9XG4uaGVyby1yYXRpbmcgLnN0YXI6aG92ZXIgeyBjb2xvcjogI2ZmYjAwMDsgfVxuLnBvcnRmb2xpby1iYWRnZSB7IGRpc3BsYXk6IGlubGluZS1ibG9jazsgbWFyZ2luLWxlZnQ6IDhweDsgcGFkZGluZzogMXB4IDZweDtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtbW9ubyk7IGZvbnQtc2l6ZTogMTNweDsgZm9udC13ZWlnaHQ6IDYwMDtcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwwLjMpOyBib3JkZXItcmFkaXVzOiAzcHg7XG4gIGNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LDAuNCk7IGN1cnNvcjogcG9pbnRlcjsgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuLnBvcnRmb2xpby1iYWRnZS5hY3RpdmUgeyBiYWNrZ3JvdW5kOiAjMGE4NGZmOyBjb2xvcjogI2ZmZjsgYm9yZGVyLWNvbG9yOiAjMGE4NGZmOyB9XG4ucG9ydGZvbGlvLWJhZGdlOmhvdmVyIHsgYm9yZGVyLWNvbG9yOiAjMGE4NGZmOyBjb2xvcjogIzBhODRmZjsgfVxuXG4vKiBOYXYgYmFyIGZpbHRlciBkcm9wZG93bnMgKi9cbi5yYXRpbmctc2VsZWN0LCAubWVkaWEtdHlwZS1zZWxlY3QsIC5jYW1lcmEtc2VsZWN0LCAubG9jYXRpb24tc2VsZWN0IHsgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtbW9ubyk7IGZvbnQtc2l6ZTogMTJweDtcbiAgYmFja2dyb3VuZDogdmFyKC0tYmctc2Vjb25kYXJ5LCAjMWExYTFhKTsgY29sb3I6IHZhcigtLWFjY2VudC1wcmltYXJ5LCAjZmZiMDAwKTtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYWNjZW50LW11dGVkLCAjNjY1NTAwKTsgcGFkZGluZzogMnB4IDRweDsgY3Vyc29yOiBwb2ludGVyOyB9XG5cbi8qIE1vZGVybiB0aGVtZSBvdmVycmlkZXMgKi9cbi50aGVtZS1tb2Rlcm4gLmVkaXRvci1wYW5lLFxuLnRoZW1lLW1vZGVybi1kYXJrIC5lZGl0b3ItcGFuZSB7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKDI1NSwyNTUsMjU1LDAuMSk7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwwLDAsMC44NSk7XG4gIGZvbnQtZmFtaWx5OiAtYXBwbGUtc3lzdGVtLCBzeXN0ZW0tdWksIHNhbnMtc2VyaWY7XG59XG4udGhlbWUtbW9kZXJuIC5lZGl0b3ItaGVhZGVyLFxuLnRoZW1lLW1vZGVybi1kYXJrIC5lZGl0b3ItaGVhZGVyIHsgY29sb3I6ICNmZmY7IH1cbi50aGVtZS1tb2Rlcm4gLmVkaXRvci10YWIsXG4udGhlbWUtbW9kZXJuLWRhcmsgLmVkaXRvci10YWIgeyBib3JkZXItY29sb3I6IHJnYmEoMjU1LDI1NSwyNTUsMC4yKTsgY29sb3I6IHJnYmEoMjU1LDI1NSwyNTUsMC41KTtcbiAgZm9udC1mYW1pbHk6IC1hcHBsZS1zeXN0ZW0sIHN5c3RlbS11aSwgc2Fucy1zZXJpZjsgYm9yZGVyLXJhZGl1czogNHB4OyB9XG4udGhlbWUtbW9kZXJuIC5lZGl0b3ItdGFiLmFjdGl2ZSxcbi50aGVtZS1tb2Rlcm4tZGFyayAuZWRpdG9yLXRhYi5hY3RpdmUgeyBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwyNTUsMjU1LDAuMTUpOyBjb2xvcjogI2ZmZjsgfVxuLnRoZW1lLW1vZGVybiAuZWRpdG9yLXNsaWRlci1sYWJlbCxcbi50aGVtZS1tb2Rlcm4tZGFyayAuZWRpdG9yLXNsaWRlci1sYWJlbCB7IGNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LDAuNSk7IH1cbi50aGVtZS1tb2Rlcm4gLmVkaXRvci1zbGlkZXItdmFsdWUsXG4udGhlbWUtbW9kZXJuLWRhcmsgLmVkaXRvci1zbGlkZXItdmFsdWUgeyBjb2xvcjogI2ZmZjsgfVxuLnRoZW1lLW1vZGVybiAuZWRpdG9yLXNsaWRlcixcbi50aGVtZS1tb2Rlcm4tZGFyayAuZWRpdG9yLXNsaWRlciB7IGFjY2VudC1jb2xvcjogIzNiODJmNjsgYmFja2dyb3VuZDogcmdiYSgyNTUsMjU1LDI1NSwwLjEpOyB9XG4udGhlbWUtbW9kZXJuIC5lZGl0b3Itc2xpZGVyOjotd2Via2l0LXNsaWRlci10aHVtYixcbi50aGVtZS1tb2Rlcm4tZGFyayAuZWRpdG9yLXNsaWRlcjo6LXdlYmtpdC1zbGlkZXItdGh1bWIgeyBiYWNrZ3JvdW5kOiAjM2I4MmY2OyB9XG4udGhlbWUtbW9kZXJuIC5lZGl0b3ItYnRuLFxuLnRoZW1lLW1vZGVybi1kYXJrIC5lZGl0b3ItYnRuIHsgYm9yZGVyLWNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LDAuMik7IGJhY2tncm91bmQ6IHJnYmEoMjU1LDI1NSwyNTUsMC4wNSk7XG4gIGZvbnQtZmFtaWx5OiAtYXBwbGUtc3lzdGVtLCBzeXN0ZW0tdWksIHNhbnMtc2VyaWY7IGJvcmRlci1yYWRpdXM6IDRweDsgfVxuLnRoZW1lLW1vZGVybiAuZWRpdG9yLWJ0bi1zYXZlLFxuLnRoZW1lLW1vZGVybi1kYXJrIC5lZGl0b3ItYnRuLXNhdmUgeyBjb2xvcjogIzIyYzU1ZTsgYm9yZGVyLWNvbG9yOiAjMjJjNTVlOyB9XG4udGhlbWUtbW9kZXJuIC5lZGl0b3ItYnRuLXJlc2V0LFxuLnRoZW1lLW1vZGVybi1kYXJrIC5lZGl0b3ItYnRuLXJlc2V0IHsgY29sb3I6IHJnYmEoMjU1LDI1NSwyNTUsMC43KTsgfVxuLnRoZW1lLW1vZGVybiAuZWRpdG9yLWNyb3AtaGludCxcbi50aGVtZS1tb2Rlcm4tZGFyayAuZWRpdG9yLWNyb3AtaGludCB7IGNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LDAuNSk7XG4gIGZvbnQtZmFtaWx5OiAtYXBwbGUtc3lzdGVtLCBzeXN0ZW0tdWksIHNhbnMtc2VyaWY7IH1cbi50aGVtZS1tb2Rlcm4gLmVkaXRvci1jcm9wLXZhbHVlcyxcbi50aGVtZS1tb2Rlcm4tZGFyayAuZWRpdG9yLWNyb3AtdmFsdWVzIHsgY29sb3I6ICNmZmY7XG4gIGZvbnQtZmFtaWx5OiAtYXBwbGUtc3lzdGVtLCBzeXN0ZW0tdWksIHNhbnMtc2VyaWY7IH1cbi50aGVtZS1tb2Rlcm4gLmVkaXRvci1kaXJ0eS5hY3RpdmUsXG4udGhlbWUtbW9kZXJuLWRhcmsgLmVkaXRvci1kaXJ0eS5hY3RpdmUgeyBjb2xvcjogIzIyYzU1ZTsgfVxuLnRoZW1lLW1vZGVybiAuY3JvcC1yZWdpb24sXG4udGhlbWUtbW9kZXJuLWRhcmsgLmNyb3AtcmVnaW9uIHsgYm9yZGVyLWNvbG9yOiAjM2I4MmY2OyB9XG4udGhlbWUtbW9kZXJuIC5jcm9wLWhhbmRsZSxcbi50aGVtZS1tb2Rlcm4tZGFyayAuY3JvcC1oYW5kbGUgeyBiYWNrZ3JvdW5kOiAjM2I4MmY2OyB9XG4udGhlbWUtbW9kZXJuIC5yYXRpbmctc2VsZWN0LFxuLnRoZW1lLW1vZGVybi1kYXJrIC5yYXRpbmctc2VsZWN0LFxuLnRoZW1lLW1vZGVybiAubWVkaWEtdHlwZS1zZWxlY3QsXG4udGhlbWUtbW9kZXJuLWRhcmsgLm1lZGlhLXR5cGUtc2VsZWN0IHtcbiAgZm9udC1mYW1pbHk6IC1hcHBsZS1zeXN0ZW0sIHN5c3RlbS11aSwgc2Fucy1zZXJpZjtcbiAgYmFja2dyb3VuZDogcmdiYSgwLDAsMCwwLjMpOyBjb2xvcjogI2ZmZjsgYm9yZGVyLWNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LDAuMik7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIE1PQklMRSBGRUVEIExBWU9VVCAoSW5zdGFncmFtLXN0eWxlIHNjcm9sbGluZyBmb3IgPD0gNzY4cHgpXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQSBjb21wbGV0ZWx5IHNlcGFyYXRlIGxheW91dCBzeXN0ZW0gZm9yIG1vYmlsZSB1c2Vycy4gSW5zdGVhZCBvZiB0aGUgZml4ZWRcbiAgIGFwcC1zaGVsbCB3aXRoIGhlcm8gKyBzaWRlYmFyLCB0aGlzIHByb3ZpZGVzIGEgdmVydGljYWxseSBzY3JvbGxpbmcgZmVlZFxuICAgb2YgcGhvdG8gY2FyZHMgXHUyMDE0IHNpbWlsYXIgdG8gSW5zdGFncmFtIG9yIEdvb2dsZSBQaG90b3MuXG5cbiAgIEFjdGl2YXRpb246IExpdmVWaWV3IHNldHMgQG1vYmlsZV9mZWVkID0gdHJ1ZSB3aGVuIHdpbmRvd193aWR0aCA8PSA3NjguXG4gICBUaGUgQ1NTIGF0IHRoZSBib3R0b20gb2YgdGhpcyBmaWxlIGhpZGVzIC5hcHAtc2hlbGwgYW5kIHNob3dzIC5mZWVkLWxheW91dFxuICAgYXQgPD03NjhweCB0byBwcmV2ZW50IGZsYXNoIG9mIHdyb25nIGxheW91dCBiZWZvcmUgTGl2ZVNvY2tldCBjb25uZWN0cy5cblxuICAgS2V5IGNvbXBvbmVudHM6XG4gICAtIC5mZWVkLWhlYWRlcjogICAgU3RpY2t5IHRvcCBiYXIgKHNpdGUgbmFtZSwgZmlsdGVycywgc2VhcmNoKVxuICAgLSAuZmVlZC1jYXJkOiAgICAgIEluZGl2aWR1YWwgcGhvdG8vdmlkZW8gY2FyZCB3aXRoIG1lZGlhICsgbWV0YWRhdGFcbiAgIC0gLmZlZWQtbGlnaHRib3g6ICBGdWxsLXNjcmVlbiBpbWFnZSB2aWV3ZXIgd2l0aCBzd2lwZSArIHBpbmNoLXpvb21cbiAgIC0gLmZlZWQtc2VudGluZWw6ICBJbnRlcnNlY3Rpb25PYnNlcnZlciB0YXJnZXQgZm9yIGluZmluaXRlIHNjcm9sbFxuXG4gICBUaGVtZSBzdXBwb3J0OiAuZmVlZC1sYXlvdXQudGhlbWUtbW9kZXJuIG92ZXJyaWRlcyBjb2xvcnMgdG8gd2hpdGUvYmx1ZS5cbiAgIERlc2t0b3AgaXMgY29tcGxldGVseSB1bmFmZmVjdGVkIFx1MjAxNCBhbGwgZmVlZCBDU1MgaXMgYWRkaXRpdmUuXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKiAtLS0gRmVlZCBMYXlvdXQgQ29udGFpbmVyIC0tLSAqL1xuLmZlZWQtbGF5b3V0IHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1pbi1oZWlnaHQ6IDEwMHZoO1xuICBiYWNrZ3JvdW5kOiAjMDAwO1xuICBjb2xvcjogI2ZmZjtcbiAgZm9udC1mYW1pbHk6IC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgJ1NlZ29lIFVJJywgc3lzdGVtLXVpLCBzYW5zLXNlcmlmO1xufVxuXG4vKiAtLS0gU3RpY2t5IEhlYWRlciAtLS0gKi9cbi5mZWVkLWhlYWRlciB7XG4gIHBvc2l0aW9uOiBzdGlja3k7XG4gIHRvcDogMDtcbiAgei1pbmRleDogMTAwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGhlaWdodDogNDhweDtcbiAgcGFkZGluZzogMCAxMnB4O1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuOTIpO1xuICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoMTJweCk7XG4gIC13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOiBibHVyKDEycHgpO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA4KTtcbn1cblxuLmZlZWQtaGVhZGVyLWxlZnQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDhweDtcbiAgbWluLXdpZHRoOiAwO1xufVxuXG4uZmVlZC1zaXRlLW5hbWUge1xuICBmb250LXNpemU6IDE1cHg7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGxldHRlci1zcGFjaW5nOiAwLjVweDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG59XG5cbi5mZWVkLXBlcnNvbi1iYWRnZSB7XG4gIGZvbnQtc2l6ZTogMTFweDtcbiAgcGFkZGluZzogMnB4IDZweDtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEyKTtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4uZmVlZC1oZWFkZXItcmlnaHQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDhweDtcbiAgZmxleC1zaHJpbms6IDA7XG59XG5cbi5mZWVkLWxpdmUtZG90IHtcbiAgd2lkdGg6IDZweDtcbiAgaGVpZ2h0OiA2cHg7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgYmFja2dyb3VuZDogI2ZmM2IzMDtcbiAgYW5pbWF0aW9uOiBmZWVkLXB1bHNlIDEuNXMgZWFzZS1pbi1vdXQgaW5maW5pdGU7XG59XG5cbkBrZXlmcmFtZXMgZmVlZC1wdWxzZSB7XG4gIDAlLCAxMDAlIHsgb3BhY2l0eTogMTsgfVxuICA1MCUgeyBvcGFjaXR5OiAwLjM7IH1cbn1cblxuLmZlZWQtY291bnQge1xuICBmb250LXNpemU6IDEycHg7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7XG4gIGZvbnQtdmFyaWFudC1udW1lcmljOiB0YWJ1bGFyLW51bXM7XG59XG5cbi5mZWVkLW1lbnUtYnRuIHtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgYm9yZGVyOiBub25lO1xuICBjb2xvcjogI2ZmZjtcbiAgZm9udC1zaXplOiAyMHB4O1xuICBwYWRkaW5nOiA0cHggOHB4O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGxpbmUtaGVpZ2h0OiAxO1xufVxuXG4vKiAtLS0gRmlsdGVyIERyYXdlciAtLS0gKi9cbi5mZWVkLWZpbHRlci1kcmF3ZXIge1xuICBtYXgtaGVpZ2h0OiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0IDAuMjVzIGVhc2Utb3V0O1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuOTUpO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA2KTtcbn1cblxuLmZlZWQtZmlsdGVyLWRyYXdlci5vcGVuIHtcbiAgbWF4LWhlaWdodDogMzAwcHg7XG4gIHRyYW5zaXRpb246IG1heC1oZWlnaHQgMC4zcyBlYXNlLWluO1xufVxuXG4uZmVlZC1maWx0ZXItcm93IHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiA4cHg7XG4gIHBhZGRpbmc6IDhweCAxMnB4O1xufVxuXG4uZmVlZC1maWx0ZXItZm9ybSB7XG4gIGZsZXg6IDE7XG4gIGRpc3BsYXk6IGNvbnRlbnRzO1xufVxuXG4uZmVlZC1maWx0ZXItc2VsZWN0IHtcbiAgZmxleDogMTtcbiAgYmFja2dyb3VuZDogIzFhMWExYTtcbiAgY29sb3I6ICNlMGUwZTA7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yNSk7XG4gIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgcGFkZGluZzogOHB4IDEwcHg7XG4gIGZvbnQtc2l6ZTogMTNweDtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYXV0bztcbiAgYXBwZWFyYW5jZTogYXV0bztcbn1cblxuLmZlZWQtZmlsdGVyLXNlbGVjdCBvcHRpb24ge1xuICBiYWNrZ3JvdW5kOiAjMWExYTFhO1xuICBjb2xvcjogI2UwZTBlMDtcbn1cblxuLmZlZWQtZmlsdGVyLWJ0biB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wOCk7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNyk7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xNSk7XG4gIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgcGFkZGluZzogOHB4IDEycHg7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xufVxuXG4uZmVlZC1maWx0ZXItYnRuLmFjdGl2ZSB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xNSk7XG4gIGNvbG9yOiAjZmZmO1xufVxuXG4uZmVlZC1maWx0ZXItcGVyc29uIHtcbiAgZm9udC1zaXplOiAxM3B4O1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcpO1xufVxuXG4vKiAtLS0gRmVlZCBCYW5uZXIgLS0tICovXG4uZmVlZC1iYW5uZXIge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBhZGRpbmc6IDhweCAxMnB4O1xuICBmb250LXNpemU6IDEycHg7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAxNjUsIDAsIDAuMTUpO1xuICBjb2xvcjogI2ZmYTUwMDtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuNXB4O1xufVxuXG4vKiAtLS0gRmVlZCBDYXJkcyAtLS0gKi9cbi5mZWVkIHtcbiAgcGFkZGluZzogNHB4IDA7XG59XG5cbi5mZWVkLWVtcHR5IHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBwYWRkaW5nOiA2MHB4IDIwcHg7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMyk7XG4gIGZvbnQtc2l6ZTogMTVweDtcbn1cblxuLmZlZWQtY2FyZCB7XG4gIG1hcmdpbi1ib3R0b206IDJweDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4uZmVlZC1jYXJkLW1lZGlhIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZDogIzExMTtcbn1cblxuLmZlZWQtY2FyZC1tZWRpYSBpbWcsXG4uZmVlZC1jYXJkLW1lZGlhIHZpZGVvIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbi8qIEhpZGUgbmF0aXZlIGJyb3dzZXIgcGxheSBidXR0b24gb3ZlcmxheSBvbiBmZWVkIGNhcmQgdmlkZW9zICovXG4uZmVlZC1jYXJkLXZpZGVvOjotd2Via2l0LW1lZGlhLWNvbnRyb2xzIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuLmZlZWQtY2FyZC12aWRlbzo6LXdlYmtpdC1tZWRpYS1jb250cm9scy1zdGFydC1wbGF5YmFjay1idXR0b24ge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbn1cbi5mZWVkLWNhcmQtdmlkZW86Oi13ZWJraXQtbWVkaWEtY29udHJvbHMtb3ZlcmxheS1wbGF5LWJ1dHRvbiB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLmZlZWQtY2FyZC1tZWRpYSBpbWcge1xuICAvKiBOYXR1cmFsIGFzcGVjdCByYXRpbyBcdTIwMTQgbm8gY3JvcCwgbm8gZml4ZWQgaGVpZ2h0ICovXG4gIG9iamVjdC1maXQ6IGNvbnRhaW47XG4gIG1heC1oZWlnaHQ6IDgwdmg7XG4gIGJhY2tncm91bmQ6ICMxMTE7XG59XG5cbi5mZWVkLWNhcmQtdmlkZW8tYmFkZ2UgeyBkaXNwbGF5OiBub25lOyB9IC8qIFJlcGxhY2VkIGJ5IC5mZWVkLWNhcmQtYmFkZ2VzICovXG5cbi8qIFBsYXkgYnV0dG9uIG92ZXJsYXkgZm9yIHZpZGVvIGNhcmRzICovXG4uZmVlZC1jYXJkLXBsYXkge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICB3aWR0aDogNjhweDtcbiAgaGVpZ2h0OiA2OHB4O1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNik7XG4gIGJvcmRlcjogMi41cHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcpO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgYmFja2Ryb3AtZmlsdGVyOiBibHVyKDhweCk7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcztcbiAgei1pbmRleDogMztcbiAgYm94LXNoYWRvdzogMCAycHggMTJweCByZ2JhKDAsIDAsIDAsIDAuNSk7XG59XG4uZmVlZC1jYXJkLXBsYXk6OmFmdGVyIHtcbiAgY29udGVudDogJyc7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBib3JkZXItd2lkdGg6IDE0cHggMCAxNHB4IDI0cHg7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgI2ZmZjtcbiAgbWFyZ2luLWxlZnQ6IDVweDtcbiAgZmlsdGVyOiBkcm9wLXNoYWRvdygwIDFweCAycHggcmdiYSgwLCAwLCAwLCAwLjMpKTtcbn1cbi8qIEhpZGUgcGxheSBvdmVybGF5IHdoZW4gdmlkZW8gaXMgYWN0dWFsbHkgcGxheWluZyAqL1xuLmZlZWQtY2FyZC1tZWRpYSB2aWRlb1tkYXRhLXBsYXlpbmc9XCJ0cnVlXCJdIH4gLmZlZWQtY2FyZC1wbGF5IHtcbiAgb3BhY2l0eTogMDtcbn1cblxuLmZlZWQtY2FyZC1iYWRnZXMge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogOHB4O1xuICByaWdodDogOHB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBnYXA6IDRweDtcbn1cblxuLmZlZWQtYmFkZ2Uge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNjUpO1xuICBjb2xvcjogI2ZmZjtcbiAgZm9udC1zaXplOiAxMHB4O1xuICBmb250LXdlaWdodDogNzAwO1xuICBwYWRkaW5nOiAycHggNnB4O1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIGxldHRlci1zcGFjaW5nOiAwLjVweDtcbiAgYmFja2Ryb3AtZmlsdGVyOiBibHVyKDRweCk7XG59XG5cbi5mZWVkLWJhZGdlLXZpZGVvIHsgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjY1KTsgfVxuLmZlZWQtYmFkZ2UtaGRyIHsgYmFja2dyb3VuZDogcmdiYSgxODAsIDEyMCwgMCwgMC44KTsgY29sb3I6ICNmZmY7IH1cbi5mZWVkLWJhZGdlLXJhdyB7IGJhY2tncm91bmQ6IHJnYmEoMCwgMTAwLCAxODAsIDAuOCk7IGNvbG9yOiAjZmZmOyB9XG4uZmVlZC1iYWRnZS0xMGJpdCB7IGJhY2tncm91bmQ6IHJnYmEoMTAwLCAwLCAxNjAsIDAuNzUpOyBjb2xvcjogI2ZmZjsgfVxuXG4uZmVlZC1jYXJkLW1ldGEge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIHBhZGRpbmc6IDZweCAxMnB4IDEwcHg7XG4gIGJhY2tncm91bmQ6ICMwMDA7XG59XG5cbi5mZWVkLWNhcmQtZGF0ZSB7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC40NSk7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xufVxuXG4uZmVlZC1jYXJkLWFjdGlvbnMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDEycHg7XG4gIGZsZXgtc2hyaW5rOiAwO1xufVxuXG4uZmVlZC1jYXJkLXJhdGluZyB7XG4gIGZvbnQtc2l6ZTogMTFweDtcbiAgY29sb3I6ICNmZmQ3MDA7XG59XG5cbi5mZWVkLWNhcmQtZGwge1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjQpO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgcGFkZGluZzogNHB4O1xufVxuXG4vKiAtLS0gSW5maW5pdGUgU2Nyb2xsIFNlbnRpbmVsIC0tLSAqL1xuLmZlZWQtc2VudGluZWwge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBhZGRpbmc6IDI0cHggMCA0OHB4O1xufVxuXG4uZmVlZC1sb2FkaW5nIHtcbiAgZm9udC1zaXplOiAxM3B4O1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjMpO1xuICBsZXR0ZXItc3BhY2luZzogMXB4O1xufVxuXG4vKiAtLS0gTGlnaHRib3ggU2Nyb2xsIExvY2sgLS0tICovXG4uZmVlZC1sYXlvdXQ6aGFzKC5mZWVkLWxpZ2h0Ym94KSB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGhlaWdodDogMTAwdmg7XG4gIGhlaWdodDogMTAwZHZoO1xufVxuXG4vKiAtLS0gTGlnaHRib3ggTW9kYWwgLS0tICovXG4uZmVlZC1saWdodGJveCB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgaW5zZXQ6IDA7XG4gIHotaW5kZXg6IDIwMDtcbiAgYmFja2dyb3VuZDogIzAwMDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgb3ZlcnNjcm9sbC1iZWhhdmlvcjogY29udGFpbjtcbiAgLyogQWxsb3cgdG91Y2ggZ2VzdHVyZXMgXHUyMDE0IHBpbmNoLXpvb20gaGFuZGxlZCBieSBMaWdodGJveFN3aXBlIGhvb2sgKi9cbiAgdG91Y2gtYWN0aW9uOiBub25lO1xufVxuXG4uZmVlZC1saWdodGJveC1oZWFkZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIHBhZGRpbmc6IDAgMTJweDtcbiAgaGVpZ2h0OiA0NHB4O1xuICBtaW4taGVpZ2h0OiA0NHB4O1xuICBmbGV4LXNocmluazogMDtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjgpO1xuICB6LWluZGV4OiAyO1xufVxuXG4uZmVlZC1saWdodGJveC1jbG9zZSB7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlcjogbm9uZTtcbiAgY29sb3I6ICNmZmY7XG4gIGZvbnQtc2l6ZTogMjJweDtcbiAgcGFkZGluZzogNHB4IDhweDtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4uZmVlZC1saWdodGJveC1jb3VudGVyIHtcbiAgZm9udC1zaXplOiAxM3B4O1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpO1xuICBmb250LXZhcmlhbnQtbnVtZXJpYzogdGFidWxhci1udW1zO1xufVxuXG4uZmVlZC1saWdodGJveC1kbCB7XG4gIGNvbG9yOiAjZmZmO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgcGFkZGluZzogNHB4IDhweDtcbn1cblxuLmZlZWQtbGlnaHRib3gtbWVkaWEge1xuICBmbGV4OiAxO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBtaW4taGVpZ2h0OiAwO1xufVxuXG4uZmVlZC1saWdodGJveC1jb250ZW50IHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtYXgtaGVpZ2h0OiAxMDAlO1xuICBvYmplY3QtZml0OiBjb250YWluO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgY2VudGVyO1xufVxuXG4uZmVlZC1saWdodGJveC1uYXYge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgYm90dG9tOiAwO1xuICB3aWR0aDogNzJweDtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgYm9yZGVyOiBub25lO1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjQpO1xuICBmb250LXNpemU6IDQwcHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgei1pbmRleDogMjtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi5mZWVkLWxpZ2h0Ym94LXByZXYgeyBsZWZ0OiAwOyB9XG4uZmVlZC1saWdodGJveC1uZXh0IHsgcmlnaHQ6IDA7IH1cblxuLmZlZWQtbGlnaHRib3gtbmF2OmFjdGl2ZSB7XG4gIGNvbG9yOiAjZmZmO1xufVxuXG4uZmVlZC1saWdodGJveC1pbmZvIHtcbiAgZmxleC1zaHJpbms6IDA7XG4gIHBhZGRpbmc6IDEycHggMTZweDtcbiAgcGFkZGluZy1ib3R0b206IG1heCgxNnB4LCBlbnYoc2FmZS1hcmVhLWluc2V0LWJvdHRvbSkpO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuODUpO1xuICBtYXgtaGVpZ2h0OiA0MHZoO1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG59XG5cbi5mZWVkLWxpZ2h0Ym94LWRhdGUge1xuICBmb250LXNpemU6IDEzcHg7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNyk7XG4gIG1hcmdpbi1ib3R0b206IDRweDtcbn1cblxuLmZlZWQtbGlnaHRib3gtdmVudWUge1xuICBmb250LXNpemU6IDEycHg7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNDUpO1xuICBtYXJnaW4tYm90dG9tOiA0cHg7XG59XG5cbi5mZWVkLWxpZ2h0Ym94LWV4aWYge1xuICBmb250LXNpemU6IDExcHg7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMzUpO1xuICBmb250LXZhcmlhbnQtbnVtZXJpYzogdGFidWxhci1udW1zO1xuICBtYXJnaW4tYm90dG9tOiA0cHg7XG59XG5cbi5mZWVkLWxpZ2h0Ym94LWRlc2Mge1xuICBmb250LXNpemU6IDEycHg7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gIG1hcmdpbi1ib3R0b206IDZweDtcbn1cblxuLmZlZWQtbGlnaHRib3gtcmF0aW5nIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZ2FwOiA0cHg7XG4gIG1hcmdpbi1ib3R0b206IDhweDtcbn1cblxuLmZlZWQtbGlnaHRib3gtc3RhciB7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlcjogbm9uZTtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yNSk7XG4gIGZvbnQtc2l6ZTogMjRweDtcbiAgcGFkZGluZzogNnB4O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIG1pbi13aWR0aDogMzZweDtcbiAgbWluLWhlaWdodDogMzZweDtcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLmZlZWQtbGlnaHRib3gtc3Rhci5maWxsZWQge1xuICBjb2xvcjogI2ZmZDcwMDtcbn1cblxuLmZlZWQtbGlnaHRib3gtYWRtaW4ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBnYXA6IDhweDtcbiAgbWFyZ2luLXRvcDogNHB4O1xufVxuXG4uZmVlZC1saWdodGJveC1hZG1pbi1idG4ge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDgpO1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjYpO1xuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTIpO1xuICBib3JkZXItcmFkaXVzOiA2cHg7XG4gIHBhZGRpbmc6IDEwcHggMTZweDtcbiAgZm9udC1zaXplOiAxMXB4O1xuICBmb250LXdlaWdodDogNjAwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGxldHRlci1zcGFjaW5nOiAwLjVweDtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIG1pbi1oZWlnaHQ6IDQwcHg7XG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi5mZWVkLWxpZ2h0Ym94LWRlbGV0ZSB7XG4gIGNvbG9yOiAjZmY0NDQ0O1xuICBib3JkZXItY29sb3I6IHJnYmEoMjU1LCA2OCwgNjgsIDAuMik7XG59XG5cbi5mZWVkLWNvbmZpcm0tYWN0aXZlIHtcbiAgYmFja2dyb3VuZDogI2ZmNDQ0NDtcbiAgY29sb3I6ICMwMDA7XG4gIGJvcmRlci1jb2xvcjogI2ZmNDQ0NDtcbiAgYW5pbWF0aW9uOiBwdWxzZS1kZWxldGUgMC42cyBlYXNlLWluLW91dCBpbmZpbml0ZSBhbHRlcm5hdGU7XG59XG5cbkBrZXlmcmFtZXMgcHVsc2UtZGVsZXRlIHtcbiAgZnJvbSB7IG9wYWNpdHk6IDAuODsgfVxuICB0byB7IG9wYWNpdHk6IDE7IH1cbn1cblxuLyogLS0tIEZlZWQgbGF5b3V0IHNhZmUgYXJlYSBmb3IgaVBob25lIG5vdGNoIC0tLSAqL1xuLmZlZWQtbGF5b3V0IHtcbiAgcGFkZGluZy10b3A6IGVudihzYWZlLWFyZWEtaW5zZXQtdG9wKTtcbiAgcGFkZGluZy1sZWZ0OiBlbnYoc2FmZS1hcmVhLWluc2V0LWxlZnQpO1xuICBwYWRkaW5nLXJpZ2h0OiBlbnYoc2FmZS1hcmVhLWluc2V0LXJpZ2h0KTtcbn1cblxuLyogLS0tIFRoZW1lIHN1cHBvcnQgZm9yIGZlZWQgLS0tICovXG4uZmVlZC1sYXlvdXQudGhlbWUtbW9kZXJuIC5mZWVkLWhlYWRlcixcbi5mZWVkLWxheW91dC50aGVtZS1tb2Rlcm4gLmZlZWQtZmlsdGVyLWRyYXdlcixcbi5mZWVkLWxheW91dC50aGVtZS1tb2Rlcm4gLmZlZWQtY2FyZC1tZXRhIHtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjk3KTtcbiAgY29sb3I6ICMyMjI7XG59XG5cbi5mZWVkLWxheW91dC50aGVtZS1tb2Rlcm4geyBiYWNrZ3JvdW5kOiAjZmFmYWZhOyB9XG4uZmVlZC1sYXlvdXQudGhlbWUtbW9kZXJuIC5mZWVkLWhlYWRlciB7IGJhY2tncm91bmQ6ICNmZmY7IGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZTBlMGUwOyB9XG4uZmVlZC1sYXlvdXQudGhlbWUtbW9kZXJuIC5mZWVkLXNpdGUtbmFtZSB7IGNvbG9yOiAjMjIyOyB9XG4uZmVlZC1sYXlvdXQudGhlbWUtbW9kZXJuIC5mZWVkLWNvdW50IHsgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC40KTsgfVxuLmZlZWQtbGF5b3V0LnRoZW1lLW1vZGVybiAuZmVlZC1tZW51LWJ0biB7IGNvbG9yOiAjMjIyOyB9XG4uZmVlZC1sYXlvdXQudGhlbWUtbW9kZXJuIC5mZWVkLWNhcmQtZGF0ZSB7IGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNSk7IH1cbi5mZWVkLWxheW91dC50aGVtZS1tb2Rlcm4gLmZlZWQtY2FyZC1kbCB7IGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNCk7IH1cbi5mZWVkLWxheW91dC50aGVtZS1tb2Rlcm4gLmZlZWQgeyBiYWNrZ3JvdW5kOiAjZmFmYWZhOyB9XG4uZmVlZC1sYXlvdXQudGhlbWUtbW9kZXJuIC5mZWVkLWNhcmQgeyBiYWNrZ3JvdW5kOiAjZmZmOyB9XG4uZmVlZC1sYXlvdXQudGhlbWUtbW9kZXJuIC5mZWVkLWNhcmQtbWVkaWEgeyBiYWNrZ3JvdW5kOiAjZjBmMGYwOyB9XG4uZmVlZC1sYXlvdXQudGhlbWUtbW9kZXJuIC5mZWVkLWZpbHRlci1kcmF3ZXIgeyBiYWNrZ3JvdW5kOiAjZjVmNWY1OyBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2UwZTBlMDsgfVxuLmZlZWQtbGF5b3V0LnRoZW1lLW1vZGVybiAuZmVlZC1maWx0ZXItc2VsZWN0IHtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgY29sb3I6ICMyMjI7XG4gIGJvcmRlci1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjE1KTtcbn1cbi5mZWVkLWxheW91dC50aGVtZS1tb2Rlcm4gLmZlZWQtZmlsdGVyLXNlbGVjdCBvcHRpb24ge1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBjb2xvcjogIzIyMjtcbn1cbi5mZWVkLWxheW91dC50aGVtZS1tb2Rlcm4gLmZlZWQtZmlsdGVyLWJ0biB7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNik7XG4gIGJvcmRlci1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjE1KTtcbn1cbi5mZWVkLWxheW91dC50aGVtZS1tb2Rlcm4gLmZlZWQtbG9hZGluZyB7IGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNCk7IH1cbi5mZWVkLWxheW91dC50aGVtZS1tb2Rlcm4gLmZlZWQtc2VhcmNoLWJhciB7IGJhY2tncm91bmQ6ICNmNWY1ZjU7IGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZTBlMGUwOyB9XG4uZmVlZC1sYXlvdXQudGhlbWUtbW9kZXJuIC5mZWVkLXNlYXJjaC1pbnB1dCB7IGJhY2tncm91bmQ6ICNmZmY7IGNvbG9yOiAjMjIyOyBib3JkZXItY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4xNSk7IH1cbi5mZWVkLWxheW91dC50aGVtZS1tb2Rlcm4gLmZlZWQtc2VhcmNoLWlucHV0OjpwbGFjZWhvbGRlciB7IGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMzUpOyB9XG4uZmVlZC1sYXlvdXQudGhlbWUtbW9kZXJuIC5mZWVkLXNlYXJjaC1jbG9zZSB7IGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNSk7IH1cbi5mZWVkLWxheW91dC50aGVtZS1tb2Rlcm4gLmZlZWQtc2VhcmNoLXJlc3VsdHMgeyBiYWNrZ3JvdW5kOiByZ2JhKDAsIDEwMCwgMjU1LCAwLjA4KTsgY29sb3I6ICMxYTczZTg7IH1cbi5mZWVkLWxheW91dC50aGVtZS1tb2Rlcm4gLmZlZWQtc2VhcmNoLWNsZWFyIHsgY29sb3I6ICMxYTczZTg7IH1cbi5mZWVkLWxheW91dC50aGVtZS1tb2Rlcm4gLmZlZWQtc2VhcmNoLWJ0biB7IGNvbG9yOiAjMjIyOyB9XG5cbi8qIC0tLSBNb2JpbGUgRmVlZCBTZWFyY2ggLS0tICovXG4uZmVlZC1zZWFyY2gtYnRuIHtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgYm9yZGVyOiBub25lO1xuICBjb2xvcjogI2ZmZjtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBwYWRkaW5nOiA0cHggNnB4O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGxpbmUtaGVpZ2h0OiAxO1xufVxuXG4uZmVlZC1zZWFyY2gtYmFyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiA4cHg7XG4gIHBhZGRpbmc6IDhweCAxMnB4O1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuOTUpO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA2KTtcbn1cblxuLmZlZWQtc2VhcmNoLWlucHV0IHtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDhweCAxMnB4O1xuICBmb250LXNpemU6IDE0cHg7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wOCk7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xNSk7XG4gIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgY29sb3I6ICNmZmY7XG4gIG91dGxpbmU6IG5vbmU7XG59XG5cbi5mZWVkLXNlYXJjaC1pbnB1dDo6cGxhY2Vob2xkZXIge1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjM1KTtcbn1cblxuLmZlZWQtc2VhcmNoLWlucHV0OmZvY3VzIHtcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMyk7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xMik7XG59XG5cbi5mZWVkLXNlYXJjaC1jbG9zZSB7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlcjogbm9uZTtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBwYWRkaW5nOiA0cHggOHB4O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGxpbmUtaGVpZ2h0OiAxO1xufVxuXG4uZmVlZC1zZWFyY2gtcmVzdWx0cyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcGFkZGluZzogNnB4IDEycHg7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgYmFja2dyb3VuZDogcmdiYSgxMDAsIDIwMCwgMjU1LCAwLjEpO1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcpO1xuICBsZXR0ZXItc3BhY2luZzogMC4zcHg7XG59XG5cbi5mZWVkLXNlYXJjaC1jbGVhciB7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlcjogbm9uZTtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHBhZGRpbmc6IDJweCA2cHg7XG59XG5cbi8qIC0tLSBEZWFkIFJlbmRlciBGaXg6IEhpZGUgZGVza3RvcCBzaGVsbCBvbiBtb2JpbGUgYmVmb3JlIExpdmVTb2NrZXQgY29ubmVjdHMgLS0tICovXG5AbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgLmFwcC1zaGVsbCB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuICAuZmVlZC1sYXlvdXQgeyBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAyMC4gTlNGVyBDT05URU5UIEJBREdFU1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiovXG5cbi5uc2Z3LWJhZGdlLW5vbmUsIC5uc2Z3LWJhZGdlLXVua25vd24geyBjb2xvcjogdmFyKC0tY29sb3Itc3VjY2Vzcyk7IH1cbi5uc2Z3LWJhZGdlLXN1Z2dlc3RpdmUgeyBjb2xvcjogI2ZiYmYyNDsgfVxuLm5zZnctYmFkZ2UtcGFydGlhbCB7IGNvbG9yOiAjZjk3MzE2OyB9XG4ubnNmdy1iYWRnZS1mdWxsLCAubnNmdy1iYWRnZS1leHBsaWNpdCB7IGNvbG9yOiB2YXIoLS1jb2xvci1kYW5nZXIpOyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAyMS4gQUNDRVNTSUJJTElUWSAtIFJlZHVjZWQgTW90aW9uXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuKi9cblxuQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbiAgKiwgKjo6YmVmb3JlLCAqOjphZnRlciB7XG4gICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjAxbXMgIWltcG9ydGFudDtcbiAgICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiAxICFpbXBvcnRhbnQ7XG4gICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4wMW1zICFpbXBvcnRhbnQ7XG4gICAgc2Nyb2xsLWJlaGF2aW9yOiBhdXRvICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIDIwLiBOU0ZXIEJMVVIgU1lTVEVNXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4ubnNmdy1ibHVyIHBpY3R1cmUgaW1nLFxuLm5zZnctYmx1ciA+IGltZyB7XG4gIGZpbHRlcjogYmx1cigyMHB4KTtcbiAgdHJhbnNpdGlvbjogZmlsdGVyIDAuM3MgZWFzZTtcbn1cblxuLm5zZnctb3ZlcmxheSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgaW5zZXQ6IDA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4zKTtcbiAgei1pbmRleDogMjtcbn1cblxuLm5zZnctb3ZlcmxheSBzcGFuIHtcbiAgY29sb3I6ICNmZmY7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgcGFkZGluZzogNHB4IDEycHg7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC42KTtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICBsZXR0ZXItc3BhY2luZzogMC41cHg7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAyMS4gTU9ERUwgUE9SVEZPTElPIFBBR0VcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5tb2RlbC1wb3J0Zm9saW8ge1xuICBtaW4taGVpZ2h0OiAxMDB2aDtcbiAgYmFja2dyb3VuZDogIzExMTtcbiAgY29sb3I6ICNmMGYwZjA7XG4gIHBhZGRpbmc6IDI0cHggMTZweDtcbn1cblxuLm1vZGVsLXBvcnRmb2xpb19faGVhZGVyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBtYXJnaW4tYm90dG9tOiAzMnB4O1xuICBwYWRkaW5nOiAzMnB4IDE2cHg7XG59XG5cbi5tb2RlbC1wb3J0Zm9saW9fX25hbWUge1xuICBmb250LXNpemU6IDJyZW07XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIGxldHRlci1zcGFjaW5nOiAycHg7XG4gIG1hcmdpbjogMCAwIDhweCAwO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuXG4ubW9kZWwtcG9ydGZvbGlvX19jb3VudCB7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgY29sb3I6ICM5OTk7XG4gIG1hcmdpbjogMCAwIDE2cHggMDtcbn1cblxuLm1vZGVsLXBvcnRmb2xpb19fYWN0aW9ucyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGdhcDogMTJweDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGZsZXgtd3JhcDogd3JhcDtcbn1cblxuLm1vZGVsLXBvcnRmb2xpb19fY3RhIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nOiAxMHB4IDI4cHg7XG4gIGJhY2tncm91bmQ6ICNlOTQ1NjA7XG4gIGNvbG9yOiAjZmZmO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBsZXR0ZXItc3BhY2luZzogMC41cHg7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4ycztcbn1cblxuLm1vZGVsLXBvcnRmb2xpb19fY3RhOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogI2ZmNmI2Yjtcbn1cblxuLm1vZGVsLXBvcnRmb2xpb19fY3RhLS1zZWNvbmRhcnkge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiAxcHggc29saWQgIzU1NTtcbiAgY29sb3I6ICNjY2M7XG59XG5cbi5tb2RlbC1wb3J0Zm9saW9fX2N0YS0tc2Vjb25kYXJ5OmhvdmVyIHtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsMjU1LDI1NSwwLjA1KTtcbiAgYm9yZGVyLWNvbG9yOiAjODg4O1xufVxuXG4ubW9kZWwtcG9ydGZvbGlvX19iYWRnZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZzogNnB4IDE2cHg7XG4gIGJhY2tncm91bmQ6IHJnYmEoNzYsMTc1LDgwLDAuMTUpO1xuICBjb2xvcjogIzRjYWY1MDtcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSg3NiwxNzUsODAsMC4zKTtcbiAgYm9yZGVyLXJhZGl1czogMjBweDtcbiAgZm9udC1zaXplOiAwLjg1cmVtO1xuICBmb250LXdlaWdodDogNjAwO1xuICBsZXR0ZXItc3BhY2luZzogMC41cHg7XG59XG5cbi5tb2RlbC1wb3J0Zm9saW9fX2dyaWQge1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpbGwsIG1pbm1heCgyODBweCwgMWZyKSk7XG4gIGdhcDogOHB4O1xuICBtYXgtd2lkdGg6IDE0MDBweDtcbiAgbWFyZ2luOiAwIGF1dG87XG59XG5cbi5tb2RlbC1wb3J0Zm9saW9fX2l0ZW0ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgYXNwZWN0LXJhdGlvOiAzLzI7XG4gIGJhY2tncm91bmQ6ICMxYTFhMWE7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgcG9pbnRlci1ldmVudHM6IGF1dG87XG59XG5cbi5tb2RlbC1wb3J0Zm9saW9fX2l0ZW06aG92ZXIge1xuICBvcGFjaXR5OiAwLjg1O1xufVxuXG4ubW9kZWwtcG9ydGZvbGlvX19pbWcge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIC13ZWJraXQtdXNlci1kcmFnOiBub25lO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbi5tb2RlbC1wb3J0Zm9saW9fX2VtcHR5IHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBwYWRkaW5nOiA4MHB4IDI0cHg7XG4gIGNvbG9yOiAjNjY2O1xuICBmb250LXNpemU6IDE2cHg7XG59XG5cbi8qIFJlc3BvbnNpdmU6IHNtYWxsZXIgZ3JpZCBvbiBtb2JpbGUgKi9cbkBtZWRpYSAobWF4LXdpZHRoOiA2MDBweCkge1xuICAubW9kZWwtcG9ydGZvbGlvX19ncmlkIHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpO1xuICAgIGdhcDogNHB4O1xuICB9XG4gIC5tb2RlbC1wb3J0Zm9saW9fX25hbWUge1xuICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICB9XG4gIC5tb2RlbC1wb3J0Zm9saW9fX2hlYWRlciB7XG4gICAgcGFkZGluZzogMTZweDtcbiAgICBtYXJnaW4tYm90dG9tOiAxNnB4O1xuICB9XG59XG5cbi8qIFBvcnRmb2xpbyBMaWdodGJveCAqL1xuLnBvcnRmb2xpby1saWdodGJveCB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgaW5zZXQ6IDA7XG4gIHotaW5kZXg6IDEwMDA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4ucG9ydGZvbGlvLWxpZ2h0Ym94X19iYWNrZHJvcCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgaW5zZXQ6IDA7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwwLDAsMC45NSk7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLnBvcnRmb2xpby1saWdodGJveF9fbWVkaWEge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1heC13aWR0aDogOTB2dztcbiAgbWF4LWhlaWdodDogOTB2aDtcbiAgY3Vyc29yOiBkZWZhdWx0O1xufVxuXG4ucG9ydGZvbGlvLWxpZ2h0Ym94X19pbWcge1xuICBtYXgtd2lkdGg6IDkwdnc7XG4gIG1heC1oZWlnaHQ6IDkwdmg7XG4gIG9iamVjdC1maXQ6IGNvbnRhaW47XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICAtd2Via2l0LXVzZXItZHJhZzogbm9uZTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbi5wb3J0Zm9saW8tbGlnaHRib3hfX2Nsb3NlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDE2cHg7XG4gIHJpZ2h0OiAyMHB4O1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBib3JkZXI6IG5vbmU7XG4gIGNvbG9yOiAjZmZmO1xuICBmb250LXNpemU6IDM2cHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgei1pbmRleDogMTAwMTtcbiAgb3BhY2l0eTogMC43O1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnM7XG4gIGxpbmUtaGVpZ2h0OiAxO1xufVxuXG4ucG9ydGZvbGlvLWxpZ2h0Ym94X19jbG9zZTpob3ZlciB7XG4gIG9wYWNpdHk6IDE7XG59XG5cbi5wb3J0Zm9saW8tbGlnaHRib3hfX3ByZXYsXG4ucG9ydGZvbGlvLWxpZ2h0Ym94X19uZXh0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsMCwwLDAuNSk7XG4gIGJvcmRlcjogbm9uZTtcbiAgY29sb3I6ICNmZmY7XG4gIGZvbnQtc2l6ZTogNDhweDtcbiAgcGFkZGluZzogOHB4IDE2cHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgei1pbmRleDogMTAwMTtcbiAgb3BhY2l0eTogMC42O1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnM7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgbGluZS1oZWlnaHQ6IDE7XG59XG5cbi5wb3J0Zm9saW8tbGlnaHRib3hfX3ByZXYgeyBsZWZ0OiAxMnB4OyB9XG4ucG9ydGZvbGlvLWxpZ2h0Ym94X19uZXh0IHsgcmlnaHQ6IDEycHg7IH1cblxuLnBvcnRmb2xpby1saWdodGJveF9fcHJldjpob3Zlcixcbi5wb3J0Zm9saW8tbGlnaHRib3hfX25leHQ6aG92ZXIge1xuICBvcGFjaXR5OiAxO1xufVxuXG4ucG9ydGZvbGlvLWxpZ2h0Ym94X19jb3VudGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDE2cHg7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsMCwwLDAuNik7XG4gIGNvbG9yOiAjY2NjO1xuICBwYWRkaW5nOiA0cHggMTRweDtcbiAgYm9yZGVyLXJhZGl1czogMTJweDtcbiAgZm9udC1zaXplOiAxM3B4O1xuICB6LWluZGV4OiAxMDAxO1xufVxuXG4vKiBOU0ZXIG92ZXJsYXkgaW4gbGlnaHRib3ggKi9cbi5uc2Z3LW92ZXJsYXktLWxpZ2h0Ym94IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBpbnNldDogMDtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwwLDAsMC43KTtcbiAgYmFja2Ryb3AtZmlsdGVyOiBibHVyKDMwcHgpO1xuICB6LWluZGV4OiA1O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbn1cblxuLm5zZnctcmV2ZWFsZWQgLm5zZnctb3ZlcmxheS0tbGlnaHRib3ggeyBkaXNwbGF5OiBub25lOyB9XG5cbi8qIE1vYmlsZSBhZGp1c3RtZW50cyBmb3IgbGlnaHRib3ggKi9cbkBtZWRpYSAobWF4LXdpZHRoOiA2MDBweCkge1xuICAucG9ydGZvbGlvLWxpZ2h0Ym94X19wcmV2LFxuICAucG9ydGZvbGlvLWxpZ2h0Ym94X19uZXh0IHtcbiAgICBmb250LXNpemU6IDMycHg7XG4gICAgcGFkZGluZzogNnB4IDEwcHg7XG4gIH1cbiAgLnBvcnRmb2xpby1saWdodGJveF9fcHJldiB7IGxlZnQ6IDRweDsgfVxuICAucG9ydGZvbGlvLWxpZ2h0Ym94X19uZXh0IHsgcmlnaHQ6IDRweDsgfVxuXG4gIC5tb2RlbC1wb3J0Zm9saW9fX2FjdGlvbnMge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgfVxufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgRU5EIE9GIEdBTExFUlkgU1RZTEVTXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gICBGb3IgY3VzdG9taXphdGlvbiwgZWRpdCBjdXN0b20uY3NzIChub3QgdGhpcyBmaWxlKS5cbiAgIFNlZSBkb2NzL0NTU19BUkNISVRFQ1RVUkUubWQgZm9yIGd1aWRhbmNlLlxuKi9cbiIsICIvKipcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gKiBTQ0FORVggR0FMTEVSWSAtIE1vZGVybiBUaGVtZVxuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAqXG4gKiBBIGNsZWFuLCBtaW5pbWFsIHRoZW1lIGZvciBhIGNvbnRlbXBvcmFyeSBsb29rLlxuICogQXBwbHkgYnkgYWRkaW5nIGNsYXNzPVwidGhlbWUtbW9kZXJuXCIgdG8gPGJvZHk+XG4gKlxuICogVGhpcyBvdmVycmlkZXMgdGhlIGRlZmF1bHQgdGVybWluYWwvVkNSIGFlc3RoZXRpYyB3aXRoOlxuICogLSBDbGVhbiB3aGl0ZXMgYW5kIGdyYXlzXG4gKiAtIFN1YnRsZSBzaGFkb3dzIGluc3RlYWQgb2YgZ2xvd3NcbiAqIC0gU2Fucy1zZXJpZiB0eXBvZ3JhcGh5XG4gKiAtIE1pbmltYWwgdmlzdWFsIG5vaXNlIChubyBzY2FubGluZXMpXG4gKlxuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAqL1xuXG4vKiBGb250cyBsb2FkZWQgdmlhIDxsaW5rPiBpbiByb290Lmh0bWwuaGVleCB3aXRoIGZvbnQtZGlzcGxheTogc3dhcCBmb3Igbm9uLWJsb2NraW5nIHJlbmRlciAqL1xuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgTW9kZXJuIFRoZW1lIFZhcmlhYmxlc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiovXG5cbi50aGVtZS1tb2Rlcm4sXG4uYXBwLXNoZWxsLnRoZW1lLW1vZGVybiB7XG4gIC8qID09PSBCYWNrZ3JvdW5kIENvbG9ycyA9PT0gKi9cbiAgLS1iZy1wcmltYXJ5OiAjZmZmZmZmOyAgICAgICAgIC8qIFdoaXRlIGJhY2tncm91bmQgKi9cbiAgLS1iZy1zZWNvbmRhcnk6ICNmOGY5ZmE7ICAgICAgICAgIC8qIExpZ2h0IGdyYXkgcGFuZWxzICovXG4gIC0tYWNjZW50LXByaW1hcnk6ICMyNTYzZWI7ICAgICAgICAgLyogQmx1ZSBhY2NlbnQgKHdhcyBhbWJlcikgKi9cbiAgLS1hY2NlbnQtbXV0ZWQ6ICM5M2M1ZmQ7ICAgICAvKiBMaWdodCBibHVlIGZvciBpbmFjdGl2ZSAqL1xuICAtLWNvbG9yLXN1Y2Nlc3M6ICMyMmM1NWU7ICAgICAgICAgLyogU3VjY2VzcyBncmVlbiAqL1xuICAtLWNvbG9yLWRhbmdlcjogI2VmNDQ0NDsgICAgICAgICAgIC8qIEFsZXJ0IHJlZCAqL1xuXG4gIC8qID09PSBBY2NlbnQgQ29sb3JzID09PSAqL1xuICAtLWtvZGFrLXllbGxvdzogI2ZiYmYyNDsgICAgICAvKiBXYXJtIHllbGxvdyBhY2NlbnQgKi9cbiAgLS1rb2Rhay1yZWQ6ICMxZjI5Mzc7ICAgICAgICAgLyogRGFyayB0ZXh0ICh3YXMgcmVkKSAqL1xuXG4gIC8qID09PSBTdXJmYWNlIENvbG9ycyA9PT0gKi9cbiAgLS1maWxtLWJvcmRlcjogI2U1ZTdlYjsgICAgICAgLyogTGlnaHQgYm9yZGVyICovXG4gIC0tcGFwZXItY3JlYW06ICNmZmZmZmY7ICAgICAgIC8qIFdoaXRlICovXG4gIC0tcGFwZXItYWdlZDogI2YzZjRmNjsgICAgICAgIC8qIExpZ2h0IGdyYXkgKi9cblxuICAvKiA9PT0gVHlwb2dyYXBoeSA9PT0gKi9cbiAgLS1mb250LW1vbm86ICdKZXRCcmFpbnMgTW9ubycsICdTRiBNb25vJywgbW9ub3NwYWNlO1xuICAtLWZvbnQtZGlzcGxheTogJ0ludGVyJywgLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBzYW5zLXNlcmlmO1xufVxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBSZW1vdmUgQ1JUL1ZIUyBFZmZlY3RzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuKi9cblxuLyogTm8gc2NhbmxpbmVzICovXG4udGhlbWUtbW9kZXJuIC5hcHAtc2hlbGw6OmJlZm9yZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qIENsZWFuIHNoYWRvd3MgaW5zdGVhZCBvZiBnbG93cyAqL1xuLnRoZW1lLW1vZGVybiAuaGVhZGVyLWJyYW5kIHtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG4gIGNvbG9yOiAjMWYyOTM3O1xuICBsZXR0ZXItc3BhY2luZzogMDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbn1cblxuLnRoZW1lLW1vZGVybiAuZGF0ZS10ZXh0IHtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG59XG5cbi50aGVtZS1tb2Rlcm4gLm5hdi1idG4ge1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbn1cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgTW9kZXJuIEFwcCBTaGVsbFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiovXG5cbi50aGVtZS1tb2Rlcm4gLmFwcC1zaGVsbCB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWJnLXByaW1hcnkpO1xuICBjb2xvcjogIzFmMjkzNztcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZGlzcGxheSk7XG4gIGZvbnQtc2l6ZTogMTRweDtcbn1cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgTW9kZXJuIEhlYWRlclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiovXG5cbi50aGVtZS1tb2Rlcm4gLmhlYWRlci1iYXIge1xuICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2U1ZTdlYjtcbiAgYm94LXNoYWRvdzogMCAxcHggM3B4IHJnYmEoMCwgMCwgMCwgMC4wNSk7XG59XG5cbi50aGVtZS1tb2Rlcm4gLnJlYy1pbmRpY2F0b3Ige1xuICBjb2xvcjogIzZiNzI4MDtcbn1cblxuLnRoZW1lLW1vZGVybiAucmVjLWluZGljYXRvci5pbmFjdGl2ZSB7XG4gIGNvbG9yOiAjOWNhM2FmO1xufVxuXG4udGhlbWUtbW9kZXJuIC5yZWMtZG90IHtcbiAgYmFja2dyb3VuZDogIzIyYzU1ZTtcbn1cblxuLnRoZW1lLW1vZGVybiAucmVjLWluZGljYXRvci5pbmFjdGl2ZSAucmVjLWRvdCB7XG4gIGJhY2tncm91bmQ6ICNkMWQ1ZGI7XG59XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIE1vZGVybiBOYXZpZ2F0aW9uXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuKi9cblxuLnRoZW1lLW1vZGVybiAubmF2LWNvbnRyb2xzIHtcbiAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNlNWU3ZWI7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7XG59XG5cbi50aGVtZS1tb2Rlcm4gLm5hdi1idG4ge1xuICBiYWNrZ3JvdW5kOiAjZjNmNGY2O1xuICBib3JkZXI6IDFweCBzb2xpZCAjZTVlN2ViO1xuICBib3JkZXItcmFkaXVzOiA2cHg7XG4gIGNvbG9yOiAjMzc0MTUxO1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1kaXNwbGF5KTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2U7XG59XG5cbi50aGVtZS1tb2Rlcm4gLm5hdi1idG46aG92ZXIge1xuICBiYWNrZ3JvdW5kOiAjZTVlN2ViO1xuICBib3JkZXItY29sb3I6ICNkMWQ1ZGI7XG59XG5cbi50aGVtZS1tb2Rlcm4gLm5hdi1idG46YWN0aXZlIHtcbiAgYmFja2dyb3VuZDogI2QxZDVkYjtcbn1cblxuLnRoZW1lLW1vZGVybiAubmF2LWJ0bi5hY3RpdmUge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1hY2NlbnQtcHJpbWFyeSk7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tYWNjZW50LXByaW1hcnkpO1xuICBjb2xvcjogI2ZmZmZmZjtcbn1cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgTW9kZXJuIERhdGUgRGlzcGxheVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiovXG5cbi50aGVtZS1tb2Rlcm4gLmRhdGUtZGlzcGxheSB7XG4gIGJhY2tncm91bmQ6ICNmOWZhZmI7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNlNWU3ZWI7XG4gIGJvcmRlci1yYWRpdXM6IDhweDtcbn1cblxuLnRoZW1lLW1vZGVybiAuZGF0ZS10ZXh0IHtcbiAgY29sb3I6ICMxZjI5Mzc7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG59XG5cbi50aGVtZS1tb2Rlcm4gLmRhdGUtZGV0YWlsIHtcbiAgY29sb3I6ICM2YjcyODA7XG59XG5cbi50aGVtZS1tb2Rlcm4gLmRhdGUtc2VsZWN0IHtcbiAgYmFja2dyb3VuZDogI2Y5ZmFmYjtcbiAgYm9yZGVyOiAxcHggc29saWQgI2U1ZTdlYjtcbiAgYm9yZGVyLXJhZGl1czogOHB4O1xuICBjb2xvcjogIzFmMjkzNztcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZGlzcGxheSk7XG59XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIE1vZGVybiBTaWRlYmFyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuKi9cblxuLnRoZW1lLW1vZGVybiAuc2lkZWJhciB7XG4gIGJhY2tncm91bmQ6ICNmOWZhZmI7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZTVlN2ViO1xuICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNlNWU3ZWI7XG59XG5cbi50aGVtZS1tb2Rlcm4gLnN0cmlwLWhlYWRlciB7XG4gIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZTVlN2ViO1xuICBjb2xvcjogIzZiNzI4MDtcbn1cblxuLnRoZW1lLW1vZGVybiAuc2Nyb2xsLXdyYXBwZXIge1xuICBiYWNrZ3JvdW5kOiAjZjlmYWZiO1xufVxuXG4vKiBObyBmaWxtIHNwcm9ja2V0IGVmZmVjdCAqL1xuLnRoZW1lLW1vZGVybiAuc2Nyb2xsLXdyYXBwZXI6OmJlZm9yZSxcbi50aGVtZS1tb2Rlcm4gLnNjcm9sbC13cmFwcGVyOjphZnRlciB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi50aGVtZS1tb2Rlcm4gLnRodW1iIHtcbiAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICBwYWRkaW5nOiAwO1xuICBvcGFjaXR5OiAwLjg7XG4gIHRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlO1xufVxuXG4udGhlbWUtbW9kZXJuIC50aHVtYjpob3ZlciB7XG4gIG9wYWNpdHk6IDE7XG59XG5cbi50aGVtZS1tb2Rlcm4gLnRodW1iLmFjdGl2ZSB7XG4gIG9wYWNpdHk6IDE7XG4gIG91dGxpbmU6IDJweCBzb2xpZCB2YXIoLS1hY2NlbnQtcHJpbWFyeSk7XG4gIG91dGxpbmUtb2Zmc2V0OiAycHg7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbn1cblxuLyogTm8gZnJhbWUgbnVtYmVycyAqL1xuLnRoZW1lLW1vZGVybiAudGh1bWI6OmFmdGVyIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgTW9kZXJuIEhlcm8vU3RhZ2VcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4qL1xuXG4udGhlbWUtbW9kZXJuIC5zdGFnZSB7XG4gIGJhY2tncm91bmQ6ICNmM2Y0ZjY7XG59XG5cbi50aGVtZS1tb2Rlcm4gLmhlcm8td3JhcHBlciB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBwYWRkaW5nOiAwO1xuICBib3gtc2hhZG93OiAwIDRweCA2cHggLTFweCByZ2JhKDAsIDAsIDAsIDAuMSk7XG4gIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLyogTm8gZGF0ZSBzdGFtcCBvdmVybGF5ICovXG4udGhlbWUtbW9kZXJuIC5kYXRlLXN0YW1wIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLyogTm8gZnJhbWUgY291bnRlciAqL1xuLnRoZW1lLW1vZGVybiAuZnJhbWUtY291bnRlciB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIE1vZGVybiBCYW5uZXJzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuKi9cblxuLnRoZW1lLW1vZGVybiAuYmFubmVyIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tYWNjZW50LXByaW1hcnkpO1xuICBjb2xvcjogI2ZmZmZmZjtcbiAgYm9yZGVyLXJhZGl1czogMjBweDtcbiAgYW5pbWF0aW9uOiBub25lO1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1kaXNwbGF5KTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbn1cblxuLnRoZW1lLW1vZGVybiAuZmlsdGVyLWJhbm5lciB7XG4gIGJhY2tncm91bmQ6ICMyMmM1NWU7XG4gIGNvbG9yOiAjZmZmZmZmO1xuICBib3JkZXItcmFkaXVzOiAyMHB4O1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1kaXNwbGF5KTtcbn1cblxuLnRoZW1lLW1vZGVybiAuZmlsdGVyLWJhbm5lciBidXR0b24ge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMik7XG4gIGNvbG9yOiAjZmZmZmZmO1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG59XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIE1vZGVybiBNZXRhIERpc3BsYXlcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4qL1xuXG4udGhlbWUtbW9kZXJuIC5tZXRhLWRpc3BsYXkge1xuICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZTVlN2ViO1xuICBib3JkZXItcmFkaXVzOiA4cHg7XG4gIGNvbG9yOiAjMzc0MTUxO1xufVxuXG4udGhlbWUtbW9kZXJuIC5tZXRhLWRpc3BsYXk6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gIGNvbG9yOiAjNmI3MjgwO1xufVxuXG4udGhlbWUtbW9kZXJuIC5tZXRhLXJvdyB7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZjNmNGY2O1xufVxuXG4udGhlbWUtbW9kZXJuIC5tZXRhLXZhbCB7XG4gIGNvbG9yOiAjMWU0MGFmOyAgLyogQmx1ZSA4MDAgZm9yIGxpZ2h0IHRoZW1lICovXG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWRpc3BsYXkpO1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LXNpemU6IDE1cHg7XG59XG5cbi50aGVtZS1tb2Rlcm4gLm1ldGEtdmFsIGEge1xuICBjb2xvcjogIzI1NjNlYjsgIC8qIEJsdWUgNjAwICovXG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG5cbi8qIEV4cG9zdXJlIGRhdGEgLSBjb25zaXN0ZW50IHNpemluZyAqL1xuLnRoZW1lLW1vZGVybiAuZGVza3RvcC1leHBvc3VyZSB7XG4gIGZvbnQtc2l6ZTogMTVweDtcbiAgY29sb3I6ICMzNzQxNTE7ICAvKiBHcmF5IDcwMCAqL1xuICBmb250LXdlaWdodDogNDAwO1xufVxuXG4vKiBUYWdzIGFuZCBkZXNjcmlwdGlvbiAtIHJlYWRhYmxlICovXG4udGhlbWUtbW9kZXJuIC50YWctbGlzdCB7XG4gIGNvbG9yOiAjNGI1NTYzOyAgLyogR3JheSA2MDAgKi9cbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBsaW5lLWhlaWdodDogMS42O1xufVxuXG4udGhlbWUtbW9kZXJuIC5kZXNjcmlwdGlvbi10ZXh0IHtcbiAgY29sb3I6ICM0YjU1NjM7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtc2l6ZTogMTVweDtcbiAgbGluZS1oZWlnaHQ6IDEuNjtcbn1cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgTW9kZXJuIERvd25sb2FkICYgU2hhcmVcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4qL1xuXG4udGhlbWUtbW9kZXJuIC5kb3dubG9hZC1wYW5lbCB7XG4gIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZTVlN2ViO1xufVxuXG4udGhlbWUtbW9kZXJuIC5kb3dubG9hZC1idG4ge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1hY2NlbnQtcHJpbWFyeSk7XG4gIGNvbG9yOiAjZmZmZmZmO1xuICBib3JkZXI6IG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZGlzcGxheSk7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIHRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlO1xufVxuXG4udGhlbWUtbW9kZXJuIC5kb3dubG9hZC1idG46aG92ZXIge1xuICBiYWNrZ3JvdW5kOiAjMWQ0ZWQ4O1xufVxuXG4udGhlbWUtbW9kZXJuIC5zaGFyZS1wYW5lbCB7XG4gIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZTVlN2ViO1xufVxuXG4udGhlbWUtbW9kZXJuIC5zaGFyZS1idG4ge1xuICBiYWNrZ3JvdW5kOiAjMjJjNTVlO1xuICBjb2xvcjogI2ZmZmZmZjtcbiAgYm9yZGVyOiBub25lO1xuICBib3JkZXItcmFkaXVzOiA4cHg7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWRpc3BsYXkpO1xuICBmb250LXdlaWdodDogNjAwO1xufVxuXG4udGhlbWUtbW9kZXJuIC5zaGFyZS1idG46aG92ZXIge1xuICBiYWNrZ3JvdW5kOiAjMTZhMzRhO1xufVxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBNb2Rlcm4gTW9kYWxzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuKi9cblxuLnRoZW1lLW1vZGVybiAuaW5mby1tb2RhbCB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC41KTtcbn1cblxuLnRoZW1lLW1vZGVybiAuaW5mby1jb250ZW50IHtcbiAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgYm9yZGVyOiBub25lO1xuICBib3JkZXItcmFkaXVzOiAxMnB4O1xuICBib3gtc2hhZG93OiAwIDI1cHggNTBweCAtMTJweCByZ2JhKDAsIDAsIDAsIDAuMjUpO1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1kaXNwbGF5KTtcbn1cblxuLnRoZW1lLW1vZGVybiAuaW5mby1oZWFkZXIge1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2U1ZTdlYjtcbn1cblxuLnRoZW1lLW1vZGVybiAuaW5mby10aXRsZSB7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWRpc3BsYXkpO1xuICBmb250LXdlaWdodDogNjAwO1xuICBsZXR0ZXItc3BhY2luZzogMDtcbn1cblxuLnRoZW1lLW1vZGVybiAuY2xvc2UtYnRuIHtcbiAgYmFja2dyb3VuZDogI2YzZjRmNjtcbiAgY29sb3I6ICMzNzQxNTE7XG4gIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZGlzcGxheSk7XG59XG5cbi50aGVtZS1tb2Rlcm4gLnNob3J0Y3V0LWtleSB7XG4gIGJhY2tncm91bmQ6ICNmM2Y0ZjY7XG4gIGNvbG9yOiAjMzc0MTUxO1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LW1vbm8pO1xufVxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBNb2Rlcm4gRmFjZS9PYmplY3QgT3ZlcmxheXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4qL1xuXG4udGhlbWUtbW9kZXJuIC5mYWNlLWJveCB7XG4gIGJvcmRlcjogMnB4IHNvbGlkICMyMmM1NWU7XG4gIGJhY2tncm91bmQ6IHJnYmEoMzQsIDE5NywgOTQsIDAuMSk7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbn1cblxuLnRoZW1lLW1vZGVybiAuZmFjZS1ib3ggLmZhY2UtbGFiZWwge1xuICBiYWNrZ3JvdW5kOiAjMjJjNTVlO1xuICBjb2xvcjogI2ZmZmZmZjtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1kaXNwbGF5KTtcbn1cblxuLnRoZW1lLW1vZGVybiAub2JqZWN0LWJveCB7XG4gIGJvcmRlcjogMnB4IHNvbGlkIHZhcigtLWFjY2VudC1wcmltYXJ5KTtcbiAgYmFja2dyb3VuZDogcmdiYSgzNywgOTksIDIzNSwgMC4xKTtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xufVxuXG4udGhlbWUtbW9kZXJuIC5vYmplY3QtYm94IC5vYmplY3QtbGFiZWwge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1hY2NlbnQtcHJpbWFyeSk7XG4gIGNvbG9yOiAjZmZmZmZmO1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWRpc3BsYXkpO1xufVxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBNb2Rlcm4gQ29udGFjdCBTaGVldFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiovXG5cbi50aGVtZS1tb2Rlcm4gLmNvbnRhY3Qtc2hlZXQtdG9nZ2xlIHtcbiAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNlNWU3ZWI7XG59XG5cbi50aGVtZS1tb2Rlcm4gLmNvbnRhY3Qtc2hlZXQtdG9nZ2xlIHNwYW4ge1xuICBjb2xvcjogIzM3NDE1MTtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZGlzcGxheSk7XG59XG5cbi50aGVtZS1tb2Rlcm4gLmNvbnRhY3Qtc2hlZXQge1xuICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI2U1ZTdlYjtcbiAgYm9yZGVyLXJhZGl1czogMTZweCAxNnB4IDAgMDtcbn1cblxuLnRoZW1lLW1vZGVybiAuY29udGFjdC1zaGVldC1oZWFkZXIge1xuICBiYWNrZ3JvdW5kOiAjZjlmYWZiO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2U1ZTdlYjtcbn1cblxuLnRoZW1lLW1vZGVybiAuY29udGFjdC1zaGVldC1oZWFkZXIgc3BhbiB7XG4gIGNvbG9yOiAjMzc0MTUxO1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1kaXNwbGF5KTtcbn1cblxuLnRoZW1lLW1vZGVybiAuY29udGFjdC1zaGVldC1oZWFkZXIgYnV0dG9uIHtcbiAgYmFja2dyb3VuZDogI2YzZjRmNjtcbiAgYm9yZGVyOiAxcHggc29saWQgI2U1ZTdlYjtcbiAgY29sb3I6ICMzNzQxNTE7XG4gIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZGlzcGxheSk7XG59XG5cbi50aGVtZS1tb2Rlcm4gLmNvbnRhY3Qtc2hlZXQtZ3JpZCBpbWcge1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG59XG5cbi50aGVtZS1tb2Rlcm4gLmNvbnRhY3Qtc2hlZXQtZ3JpZCBpbWcuc2VsZWN0ZWQge1xuICBib3JkZXItY29sb3I6IHZhcigtLWFjY2VudC1wcmltYXJ5KTtcbiAgYm94LXNoYWRvdzogMCAwIDAgMnB4IHZhcigtLWFjY2VudC1wcmltYXJ5KTtcbn1cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgTW9kZXJuIFBJTiBTY3JlZW5cbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4qL1xuXG4udGhlbWUtbW9kZXJuIC5waW4tc2NyZWVuIHtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgIzY2N2VlYSAwJSwgIzc2NGJhMiAxMDAlKTtcbn1cblxuLnRoZW1lLW1vZGVybiAucGluLXNjcmVlbiBoMSB7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNyk7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWRpc3BsYXkpO1xuICBsZXR0ZXItc3BhY2luZzogMDtcbn1cblxuLnRoZW1lLW1vZGVybiAucGluLXNjcmVlbiBoMiB7XG4gIGNvbG9yOiAjZmZmZmZmO1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZGlzcGxheSk7XG4gIGxldHRlci1zcGFjaW5nOiAwO1xufVxuXG4udGhlbWUtbW9kZXJuIC5waW4tc2NyZWVuIGlucHV0IHtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjkpO1xuICBib3JkZXI6IG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6IDEycHg7XG4gIGNvbG9yOiAjMWYyOTM3O1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1tb25vKTtcbn1cblxuLnRoZW1lLW1vZGVybiAucGluLXNjcmVlbiAuc3VibWl0LWJ0biB7XG4gIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gIGJvcmRlcjogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogOHB4O1xuICBjb2xvcjogIzdjM2FlZDtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZGlzcGxheSk7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIHRleHQtc2hhZG93OiBub25lO1xufVxuXG4udGhlbWUtbW9kZXJuIC5waW4tc2NyZWVuIC5lcnJvciB7XG4gIGNvbG9yOiAjZmVjYWNhO1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1kaXNwbGF5KTtcbn1cblxuLnRoZW1lLW1vZGVybiAucGluLXNjcmVlbiAuaGludCB7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNyk7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWRpc3BsYXkpO1xufVxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBNb2Rlcm4gU2VhcmNoXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuKi9cblxuLnRoZW1lLW1vZGVybiAuc2VhcmNoLWlucHV0IHtcbiAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgYm9yZGVyOiAxcHggc29saWQgI2U1ZTdlYjtcbiAgYm9yZGVyLXJhZGl1czogNnB4O1xuICBjb2xvcjogIzFmMjkzNztcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZGlzcGxheSk7XG59XG5cbi50aGVtZS1tb2Rlcm4gLnNlYXJjaC1pbnB1dDpmb2N1cyB7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tYWNjZW50LXByaW1hcnkpO1xuICBib3gtc2hhZG93OiAwIDAgMCAzcHggcmdiYSgzNywgOTksIDIzNSwgMC4xKTtcbn1cblxuLnRoZW1lLW1vZGVybiAuc2VhcmNoLWlucHV0OjpwbGFjZWhvbGRlciB7XG4gIGNvbG9yOiAjOWNhM2FmO1xufVxuXG4udGhlbWUtbW9kZXJuIC5zZWFyY2gtcmVzdWx0cy1jb3VudCB7XG4gIGNvbG9yOiAjNmI3MjgwO1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1kaXNwbGF5KTtcbn1cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgTU9ERVJOIERBUksgVEhFTUVcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBTYW1lIGNsZWFuIGFlc3RoZXRpYyBhcyBtb2Rlcm4tbGlnaHQsIGJ1dCB3aXRoIGRhcmsgYmFja2dyb3VuZHMuXG4gICBBcHBseSB3aXRoIGNsYXNzPVwidGhlbWUtbW9kZXJuLWRhcmtcIiBvbiBib2R5LlxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiovXG5cbi50aGVtZS1tb2Rlcm4tZGFyayxcbi5hcHAtc2hlbGwudGhlbWUtbW9kZXJuLWRhcmsge1xuICAvKiA9PT0gQmFja2dyb3VuZCBDb2xvcnMgPT09ICovXG4gIC0tYmctcHJpbWFyeTogIzBmMTcyYTsgICAgICAgICAgIC8qIFNsYXRlIDkwMCAtIGRlZXAgZGFyayAqL1xuICAtLWJnLXNlY29uZGFyeTogIzFlMjkzYjsgICAgICAgICAgICAvKiBTbGF0ZSA4MDAgLSBwYW5lbHMgKi9cbiAgLS1hY2NlbnQtcHJpbWFyeTogIzdkZDNmYzsgICAgICAgICAgIC8qIFNreSAzMDAgLSBicmlnaHQgYWNjZW50IChoaWdoIGNvbnRyYXN0KSAqL1xuICAtLWFjY2VudC1tdXRlZDogIzM4YmRmODsgICAgICAgLyogU2t5IDQwMCAtIHNsaWdodGx5IGRpbW1lciAqL1xuICAtLWNvbG9yLXN1Y2Nlc3M6ICM0YWRlODA7ICAgICAgICAgICAvKiBHcmVlbiA0MDAgLSBicmlnaHRlciBmb3IgZGFyayBiZyAqL1xuICAtLWNvbG9yLWRhbmdlcjogI2Y4NzE3MTsgICAgICAgICAgICAgLyogUmVkIDQwMCAtIGJyaWdodGVyIGZvciBkYXJrIGJnICovXG5cbiAgLyogPT09IEFjY2VudCBDb2xvcnMgPT09ICovXG4gIC0ta29kYWsteWVsbG93OiAjZmNkMzRkOyAgICAgICAgLyogQW1iZXIgMzAwIC0gYnJpZ2h0ZXIgeWVsbG93ICovXG4gIC0ta29kYWstcmVkOiAjZjFmNWY5OyAgICAgICAgICAgLyogU2xhdGUgMTAwIC0gYnJpZ2h0ZXIgdGV4dCAqL1xuXG4gIC8qID09PSBTdXJmYWNlIENvbG9ycyA9PT0gKi9cbiAgLS1maWxtLWJvcmRlcjogIzQ3NTU2OTsgICAgICAgICAvKiBTbGF0ZSA2MDAgLSBicmlnaHRlciBib3JkZXJzICovXG4gIC0tcGFwZXItY3JlYW06ICMxZTI5M2I7ICAgICAgICAgLyogU2xhdGUgODAwICovXG4gIC0tcGFwZXItYWdlZDogIzBmMTcyYTsgICAgICAgICAgLyogU2xhdGUgOTAwICovXG5cbiAgLyogPT09IFR5cG9ncmFwaHkgPT09ICovXG4gIC0tZm9udC1tb25vOiAnSmV0QnJhaW5zIE1vbm8nLCAnU0YgTW9ubycsIG1vbm9zcGFjZTtcbiAgLS1mb250LWRpc3BsYXk6ICdJbnRlcicsIC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgc2Fucy1zZXJpZjtcbn1cblxuLyogTm8gc2NhbmxpbmVzIGluIGRhcmsgbW9kZSBlaXRoZXIgKi9cbi50aGVtZS1tb2Rlcm4tZGFyayAuYXBwLXNoZWxsOjpiZWZvcmUge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4udGhlbWUtbW9kZXJuLWRhcmsgLmhlYWRlci1icmFuZCB7XG4gIHRleHQtc2hhZG93OiBub25lO1xuICBjb2xvcjogI2YxZjVmOTtcbiAgbGV0dGVyLXNwYWNpbmc6IDA7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG59XG5cbi50aGVtZS1tb2Rlcm4tZGFyayAuZGF0ZS10ZXh0IHtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG59XG5cbi50aGVtZS1tb2Rlcm4tZGFyayAubmF2LWJ0biB7XG4gIHRleHQtc2hhZG93OiBub25lO1xufVxuXG4vKiA9PT0gRGFyayBBcHAgU2hlbGwgPT09ICovXG4udGhlbWUtbW9kZXJuLWRhcmsgLmFwcC1zaGVsbCB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWJnLXByaW1hcnkpO1xuICBjb2xvcjogI2UyZThmMDtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZGlzcGxheSk7XG4gIGZvbnQtc2l6ZTogMTRweDtcbn1cblxuLyogPT09IERhcmsgSGVhZGVyID09PSAqL1xuLnRoZW1lLW1vZGVybi1kYXJrIC5oZWFkZXItYmFyIHtcbiAgYmFja2dyb3VuZDogIzFlMjkzYjtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICMzMzQxNTU7XG4gIGJveC1zaGFkb3c6IDAgMXB4IDNweCByZ2JhKDAsIDAsIDAsIDAuMyk7XG59XG5cbi50aGVtZS1tb2Rlcm4tZGFyayAucmVjLWluZGljYXRvciB7XG4gIGNvbG9yOiAjOTRhM2I4O1xufVxuXG4udGhlbWUtbW9kZXJuLWRhcmsgLnJlYy1pbmRpY2F0b3IuaW5hY3RpdmUge1xuICBjb2xvcjogIzY0NzQ4Yjtcbn1cblxuLnRoZW1lLW1vZGVybi1kYXJrIC5yZWMtZG90IHtcbiAgYmFja2dyb3VuZDogIzIyYzU1ZTtcbn1cblxuLnRoZW1lLW1vZGVybi1kYXJrIC5yZWMtaW5kaWNhdG9yLmluYWN0aXZlIC5yZWMtZG90IHtcbiAgYmFja2dyb3VuZDogIzQ3NTU2OTtcbn1cblxuLyogPT09IERhcmsgTmF2aWdhdGlvbiA9PT0gKi9cbi50aGVtZS1tb2Rlcm4tZGFyayAubmF2LWNvbnRyb2xzIHtcbiAgYmFja2dyb3VuZDogIzFlMjkzYjtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICMzMzQxNTU7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7XG59XG5cbi50aGVtZS1tb2Rlcm4tZGFyayAubmF2LWJ0biB7XG4gIGJhY2tncm91bmQ6ICMzMzQxNTU7XG4gIGJvcmRlcjogMXB4IHNvbGlkICM0NzU1Njk7XG4gIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgY29sb3I6ICNlMmU4ZjA7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWRpc3BsYXkpO1xuICBmb250LXdlaWdodDogNTAwO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZTtcbn1cblxuLnRoZW1lLW1vZGVybi1kYXJrIC5uYXYtYnRuOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogIzQ3NTU2OTtcbiAgYm9yZGVyLWNvbG9yOiAjNjQ3NDhiO1xufVxuXG4udGhlbWUtbW9kZXJuLWRhcmsgLm5hdi1idG46YWN0aXZlIHtcbiAgYmFja2dyb3VuZDogIzY0NzQ4Yjtcbn1cblxuLnRoZW1lLW1vZGVybi1kYXJrIC5uYXYtYnRuLmFjdGl2ZSB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWFjY2VudC1wcmltYXJ5KTtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1hY2NlbnQtcHJpbWFyeSk7XG4gIGNvbG9yOiAjMGYxNzJhOyAgLyogRGFyayB0ZXh0IG9uIGJyaWdodCBjeWFuICovXG59XG5cbi8qID09PSBEYXJrIERhdGUgRGlzcGxheSA9PT0gKi9cbi50aGVtZS1tb2Rlcm4tZGFyayAuZGF0ZS1kaXNwbGF5IHtcbiAgYmFja2dyb3VuZDogIzFlMjkzYjtcbiAgYm9yZGVyOiAxcHggc29saWQgIzMzNDE1NTtcbiAgYm9yZGVyLXJhZGl1czogOHB4O1xufVxuXG4udGhlbWUtbW9kZXJuLWRhcmsgLmRhdGUtdGV4dCB7XG4gIGNvbG9yOiAjZjFmNWY5O1xuICBmb250LXdlaWdodDogNTAwO1xuICBmb250LXNpemU6IDE4cHg7ICAvKiBMYXJnZXIgZGF0ZSB0ZXh0ICovXG59XG5cbi50aGVtZS1tb2Rlcm4tZGFyayAuZGF0ZS1kZXRhaWwge1xuICBjb2xvcjogIzk0YTNiODtcbiAgZm9udC1zaXplOiAxNHB4O1xufVxuXG4udGhlbWUtbW9kZXJuLWRhcmsgLmRhdGUtc2VsZWN0IHtcbiAgYmFja2dyb3VuZDogIzFlMjkzYjtcbiAgYm9yZGVyOiAxcHggc29saWQgIzMzNDE1NTtcbiAgYm9yZGVyLXJhZGl1czogOHB4O1xuICBjb2xvcjogI2YxZjVmOTtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZGlzcGxheSk7XG4gIGZvbnQtc2l6ZTogMTZweDsgIC8qIExhcmdlciBkcm9wZG93biAqL1xufVxuXG4vKiA9PT0gRGFyayBTaWRlYmFyID09PSAqL1xuLnRoZW1lLW1vZGVybi1kYXJrIC5zaWRlYmFyIHtcbiAgYmFja2dyb3VuZDogIzFlMjkzYjtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICMzMzQxNTU7XG4gIGJvcmRlci1sZWZ0OiAxcHggc29saWQgIzMzNDE1NTtcbn1cblxuLnRoZW1lLW1vZGVybi1kYXJrIC5zdHJpcC1oZWFkZXIge1xuICBiYWNrZ3JvdW5kOiAjMGYxNzJhO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzMzNDE1NTtcbiAgY29sb3I6ICM5NGEzYjg7XG59XG5cbi50aGVtZS1tb2Rlcm4tZGFyayAuc2Nyb2xsLXdyYXBwZXIge1xuICBiYWNrZ3JvdW5kOiAjMWUyOTNiO1xufVxuXG4udGhlbWUtbW9kZXJuLWRhcmsgLnNjcm9sbC13cmFwcGVyOjpiZWZvcmUsXG4udGhlbWUtbW9kZXJuLWRhcmsgLnNjcm9sbC13cmFwcGVyOjphZnRlciB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi50aGVtZS1tb2Rlcm4tZGFyayAudGh1bWIge1xuICBiYWNrZ3JvdW5kOiAjMzM0MTU1O1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIHBhZGRpbmc6IDA7XG4gIG9wYWNpdHk6IDAuODtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2U7XG59XG5cbi50aGVtZS1tb2Rlcm4tZGFyayAudGh1bWI6aG92ZXIge1xuICBvcGFjaXR5OiAxO1xufVxuXG4udGhlbWUtbW9kZXJuLWRhcmsgLnRodW1iLmFjdGl2ZSB7XG4gIG9wYWNpdHk6IDE7XG4gIG91dGxpbmU6IDJweCBzb2xpZCB2YXIoLS1hY2NlbnQtcHJpbWFyeSk7XG4gIG91dGxpbmUtb2Zmc2V0OiAycHg7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbn1cblxuLnRoZW1lLW1vZGVybi1kYXJrIC50aHVtYjo6YWZ0ZXIge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4vKiA9PT0gRGFyayBIZXJvL1N0YWdlID09PSAqL1xuLnRoZW1lLW1vZGVybi1kYXJrIC5zdGFnZSB7XG4gIGJhY2tncm91bmQ6ICMwZjE3MmE7XG59XG5cbi50aGVtZS1tb2Rlcm4tZGFyayAuaGVyby13cmFwcGVyIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIHBhZGRpbmc6IDA7XG4gIGJveC1zaGFkb3c6IDAgNHB4IDZweCAtMXB4IHJnYmEoMCwgMCwgMCwgMC40KTtcbiAgYm9yZGVyLXJhZGl1czogOHB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4udGhlbWUtbW9kZXJuLWRhcmsgLmRhdGUtc3RhbXAge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4udGhlbWUtbW9kZXJuLWRhcmsgLmZyYW1lLWNvdW50ZXIge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4vKiA9PT0gRGFyayBCYW5uZXJzID09PSAqL1xuLnRoZW1lLW1vZGVybi1kYXJrIC5iYW5uZXIge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1hY2NlbnQtcHJpbWFyeSk7XG4gIGNvbG9yOiAjMGYxNzJhOyAgLyogRGFyayB0ZXh0IG9uIGJyaWdodCBjeWFuICovXG4gIGJvcmRlci1yYWRpdXM6IDIwcHg7XG4gIGFuaW1hdGlvbjogbm9uZTtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZGlzcGxheSk7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG59XG5cbi50aGVtZS1tb2Rlcm4tZGFyayAuZmlsdGVyLWJhbm5lciB7XG4gIGJhY2tncm91bmQ6ICMyMmM1NWU7XG4gIGNvbG9yOiAjZmZmZmZmO1xuICBib3JkZXItcmFkaXVzOiAyMHB4O1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1kaXNwbGF5KTtcbn1cblxuLnRoZW1lLW1vZGVybi1kYXJrIC5maWx0ZXItYmFubmVyIGJ1dHRvbiB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yKTtcbiAgY29sb3I6ICNmZmZmZmY7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbn1cblxuLyogPT09IERhcmsgTWV0YSBEaXNwbGF5ID09PSAqL1xuLnRoZW1lLW1vZGVybi1kYXJrIC5tZXRhLWRpc3BsYXkge1xuICBiYWNrZ3JvdW5kOiAjMWUyOTNiO1xuICBib3JkZXI6IDFweCBzb2xpZCAjMzM0MTU1O1xuICBib3JkZXItcmFkaXVzOiA4cHg7XG4gIGNvbG9yOiAjOTRhM2I4OyAgLyogU29mdGVyIGdyYXkgZm9yIGxhYmVscyAqL1xuICBmb250LXdlaWdodDogNDAwOyAgLyogTm9ybWFsIHdlaWdodCAqL1xuICBmb250LXNpemU6IDE1cHg7ICAvKiBTbGlnaHRseSBsYXJnZXIgYmFzZSAqL1xufVxuXG4udGhlbWUtbW9kZXJuLWRhcmsgLm1ldGEtZGlzcGxheTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZDogIzFlMjkzYjtcbiAgY29sb3I6ICM2NDc0OGI7ICAvKiBTdWJ0bGUgaGVhZGVyICovXG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGZvbnQtc2l6ZTogMTJweDtcbn1cblxuLnRoZW1lLW1vZGVybi1kYXJrIC5tZXRhLXJvdyB7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjMzM0MTU1O1xuICBwYWRkaW5nOiA4cHggMTJweDsgIC8qIE1vcmUgcGFkZGluZyBmb3IgcmVhZGFiaWxpdHkgKi9cbn1cblxuLnRoZW1lLW1vZGVybi1kYXJrIC5tZXRhLWxhYmVsIHtcbiAgY29sb3I6ICM2NDc0OGI7ICAvKiBEaW0gbGFiZWxzICovXG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtc2l6ZTogMTNweDtcbn1cblxuLnRoZW1lLW1vZGVybi1kYXJrIC5tZXRhLXZhbCB7XG4gIGNvbG9yOiAjZTJlOGYwOyAgLyogU2xhdGUgMjAwIC0gYnJpZ2h0ZXIgZm9yIHJlYWRhYmlsaXR5ICovXG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWRpc3BsYXkpOyAgLyogVXNlIHNhbnMtc2VyaWYsIG5vdCBtb25vICovXG4gIGZvbnQtd2VpZ2h0OiA0MDA7ICAvKiBOb3JtYWwsIG5vdCBib2xkICovXG4gIGZvbnQtc2l6ZTogMTVweDtcbn1cblxuLnRoZW1lLW1vZGVybi1kYXJrIC5tZXRhLXZhbCBhIHtcbiAgY29sb3I6IHZhcigtLWFjY2VudC1wcmltYXJ5KTsgIC8qIExpbmtzIHN0YXkgY3lhbiAqL1xuICBmb250LXdlaWdodDogNDAwO1xufVxuXG4vKiBFeHBvc3VyZSBkYXRhIC0gbGFyZ2VyIGFuZCBjbGVhcmVyICovXG4udGhlbWUtbW9kZXJuLWRhcmsgLmRlc2t0b3AtZXhwb3N1cmUge1xuICBmb250LXNpemU6IDE1cHg7XG4gIGNvbG9yOiAjZTJlOGYwO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuXG4vKiBUYWdzIGFuZCBkZXNjcmlwdGlvbiAtIHJlYWRhYmxlICovXG4udGhlbWUtbW9kZXJuLWRhcmsgLnRhZy1saXN0IHtcbiAgY29sb3I6ICNjYmQ1ZTE7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgbGluZS1oZWlnaHQ6IDEuNjtcbn1cblxuLnRoZW1lLW1vZGVybi1kYXJrIC5kZXNjcmlwdGlvbi10ZXh0IHtcbiAgY29sb3I6ICNjYmQ1ZTE7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtc2l6ZTogMTVweDtcbiAgbGluZS1oZWlnaHQ6IDEuNjtcbn1cblxuLyogPT09IERhcmsgRG93bmxvYWQgJiBTaGFyZSA9PT0gKi9cbi50aGVtZS1tb2Rlcm4tZGFyayAuZG93bmxvYWQtcGFuZWwge1xuICBiYWNrZ3JvdW5kOiAjMWUyOTNiO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgIzMzNDE1NTtcbn1cblxuLnRoZW1lLW1vZGVybi1kYXJrIC5kb3dubG9hZC1idG4ge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1hY2NlbnQtcHJpbWFyeSk7XG4gIGNvbG9yOiAjMGYxNzJhOyAgLyogRGFyayB0ZXh0IG9uIGJyaWdodCBjeWFuICovXG4gIGJvcmRlcjogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogOHB4O1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1kaXNwbGF5KTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2U7XG59XG5cbi50aGVtZS1tb2Rlcm4tZGFyayAuZG93bmxvYWQtYnRuOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogIzM4YmRmODsgIC8qIFNreSA0MDAgLSBzbGlnaHRseSBkYXJrZXIgb24gaG92ZXIgKi9cbn1cblxuLnRoZW1lLW1vZGVybi1kYXJrIC5zaGFyZS1wYW5lbCB7XG4gIGJhY2tncm91bmQ6ICMxZTI5M2I7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjMzM0MTU1O1xufVxuXG4udGhlbWUtbW9kZXJuLWRhcmsgLnNoYXJlLWJ0biB7XG4gIGJhY2tncm91bmQ6ICMyMmM1NWU7XG4gIGNvbG9yOiAjZmZmZmZmO1xuICBib3JkZXI6IG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZGlzcGxheSk7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG59XG5cbi50aGVtZS1tb2Rlcm4tZGFyayAuc2hhcmUtYnRuOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogIzE2YTM0YTtcbn1cblxuLyogPT09IERhcmsgTW9kYWxzID09PSAqL1xuLnRoZW1lLW1vZGVybi1kYXJrIC5pbmZvLW1vZGFsIHtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjcpO1xufVxuXG4udGhlbWUtbW9kZXJuLWRhcmsgLmluZm8tY29udGVudCB7XG4gIGJhY2tncm91bmQ6ICMxZTI5M2I7XG4gIGJvcmRlcjogMXB4IHNvbGlkICMzMzQxNTU7XG4gIGJvcmRlci1yYWRpdXM6IDEycHg7XG4gIGJveC1zaGFkb3c6IDAgMjVweCA1MHB4IC0xMnB4IHJnYmEoMCwgMCwgMCwgMC41KTtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZGlzcGxheSk7XG4gIGNvbG9yOiAjZTJlOGYwO1xufVxuXG4udGhlbWUtbW9kZXJuLWRhcmsgLmluZm8taGVhZGVyIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICMzMzQxNTU7XG59XG5cbi50aGVtZS1tb2Rlcm4tZGFyayAuaW5mby10aXRsZSB7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWRpc3BsYXkpO1xuICBmb250LXdlaWdodDogNjAwO1xuICBsZXR0ZXItc3BhY2luZzogMDtcbiAgY29sb3I6ICNmMWY1Zjk7XG59XG5cbi50aGVtZS1tb2Rlcm4tZGFyayAuY2xvc2UtYnRuIHtcbiAgYmFja2dyb3VuZDogIzMzNDE1NTtcbiAgY29sb3I6ICNlMmU4ZjA7XG4gIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZGlzcGxheSk7XG59XG5cbi50aGVtZS1tb2Rlcm4tZGFyayAuc2hvcnRjdXQta2V5IHtcbiAgYmFja2dyb3VuZDogIzMzNDE1NTtcbiAgY29sb3I6ICNlMmU4ZjA7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtbW9ubyk7XG59XG5cbi8qID09PSBEYXJrIEZhY2UvT2JqZWN0IE92ZXJsYXlzID09PSAqL1xuLnRoZW1lLW1vZGVybi1kYXJrIC5mYWNlLWJveCB7XG4gIGJvcmRlcjogMnB4IHNvbGlkICMyMmM1NWU7XG4gIGJhY2tncm91bmQ6IHJnYmEoMzQsIDE5NywgOTQsIDAuMTUpO1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG59XG5cbi50aGVtZS1tb2Rlcm4tZGFyayAuZmFjZS1ib3ggLmZhY2UtbGFiZWwge1xuICBiYWNrZ3JvdW5kOiAjMjJjNTVlO1xuICBjb2xvcjogI2ZmZmZmZjtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1kaXNwbGF5KTtcbn1cblxuLnRoZW1lLW1vZGVybi1kYXJrIC5vYmplY3QtYm94IHtcbiAgYm9yZGVyOiAycHggc29saWQgdmFyKC0tYWNjZW50LXByaW1hcnkpO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDEyNSwgMjExLCAyNTIsIDAuMTUpOyAgLyogU2t5IDMwMCB3aXRoIGFscGhhICovXG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbn1cblxuLnRoZW1lLW1vZGVybi1kYXJrIC5vYmplY3QtYm94IC5vYmplY3QtbGFiZWwge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1hY2NlbnQtcHJpbWFyeSk7XG4gIGNvbG9yOiAjMGYxNzJhOyAgLyogRGFyayB0ZXh0IG9uIGJyaWdodCBjeWFuICovXG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZGlzcGxheSk7XG59XG5cbi8qID09PSBEYXJrIENvbnRhY3QgU2hlZXQgPT09ICovXG4udGhlbWUtbW9kZXJuLWRhcmsgLmNvbnRhY3Qtc2hlZXQtdG9nZ2xlIHtcbiAgYmFja2dyb3VuZDogIzFlMjkzYjtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICMzMzQxNTU7XG59XG5cbi50aGVtZS1tb2Rlcm4tZGFyayAuY29udGFjdC1zaGVldC10b2dnbGUgc3BhbiB7XG4gIGNvbG9yOiAjZTJlOGYwO1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1kaXNwbGF5KTtcbn1cblxuLnRoZW1lLW1vZGVybi1kYXJrIC5jb250YWN0LXNoZWV0IHtcbiAgYmFja2dyb3VuZDogIzFlMjkzYjtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICMzMzQxNTU7XG4gIGJvcmRlci1yYWRpdXM6IDE2cHggMTZweCAwIDA7XG59XG5cbi50aGVtZS1tb2Rlcm4tZGFyayAuY29udGFjdC1zaGVldC1oZWFkZXIge1xuICBiYWNrZ3JvdW5kOiAjMGYxNzJhO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzMzNDE1NTtcbn1cblxuLnRoZW1lLW1vZGVybi1kYXJrIC5jb250YWN0LXNoZWV0LWhlYWRlciBzcGFuIHtcbiAgY29sb3I6ICNlMmU4ZjA7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWRpc3BsYXkpO1xufVxuXG4udGhlbWUtbW9kZXJuLWRhcmsgLmNvbnRhY3Qtc2hlZXQtaGVhZGVyIGJ1dHRvbiB7XG4gIGJhY2tncm91bmQ6ICMzMzQxNTU7XG4gIGJvcmRlcjogMXB4IHNvbGlkICM0NzU1Njk7XG4gIGNvbG9yOiAjZTJlOGYwO1xuICBib3JkZXItcmFkaXVzOiA2cHg7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWRpc3BsYXkpO1xufVxuXG4udGhlbWUtbW9kZXJuLWRhcmsgLmNvbnRhY3Qtc2hlZXQtZ3JpZCBpbWcge1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG59XG5cbi50aGVtZS1tb2Rlcm4tZGFyayAuY29udGFjdC1zaGVldC1ncmlkIGltZy5zZWxlY3RlZCB7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tYWNjZW50LXByaW1hcnkpO1xuICBib3gtc2hhZG93OiAwIDAgMCAycHggdmFyKC0tYWNjZW50LXByaW1hcnkpO1xufVxuXG4vKiA9PT0gRGFyayBQSU4gU2NyZWVuIC0gU2xlZWsgJiBTb3BoaXN0aWNhdGVkID09PSAqL1xuLnRoZW1lLW1vZGVybi1kYXJrIC5waW4tc2NyZWVuIHtcbiAgYmFja2dyb3VuZDpcbiAgICByYWRpYWwtZ3JhZGllbnQoZWxsaXBzZSBhdCAyMCUgMCUsIHJnYmEoNTYsIDE4OSwgMjQ4LCAwLjE1KSAwJSwgdHJhbnNwYXJlbnQgNTAlKSxcbiAgICByYWRpYWwtZ3JhZGllbnQoZWxsaXBzZSBhdCA4MCUgMTAwJSwgcmdiYSgxMzksIDkyLCAyNDYsIDAuMTUpIDAlLCB0cmFuc3BhcmVudCA1MCUpLFxuICAgIGxpbmVhci1ncmFkaWVudCgxODBkZWcsICMwYzEyMjIgMCUsICMwZjE3MmEgNTAlLCAjMWUxYjRiIDEwMCUpO1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4vKiBBbmltYXRlZCBncmFkaWVudCBvcmJzICovXG4udGhlbWUtbW9kZXJuLWRhcmsgLnBpbi1zY3JlZW46OmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICcnO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogLTUwJTtcbiAgbGVmdDogLTUwJTtcbiAgd2lkdGg6IDIwMCU7XG4gIGhlaWdodDogMjAwJTtcbiAgYmFja2dyb3VuZDpcbiAgICByYWRpYWwtZ3JhZGllbnQoY2lyY2xlIGF0IDMwJSAzMCUsIHJnYmEoNTYsIDE4OSwgMjQ4LCAwLjA4KSAwJSwgdHJhbnNwYXJlbnQgNDAlKSxcbiAgICByYWRpYWwtZ3JhZGllbnQoY2lyY2xlIGF0IDcwJSA3MCUsIHJnYmEoMTY3LCAxMzksIDI1MCwgMC4wOCkgMCUsIHRyYW5zcGFyZW50IDQwJSk7XG4gIGFuaW1hdGlvbjogcGluU2NyZWVuR2xvdyAyMHMgZWFzZS1pbi1vdXQgaW5maW5pdGU7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG5Aa2V5ZnJhbWVzIHBpblNjcmVlbkdsb3cge1xuICAwJSwgMTAwJSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApIHJvdGF0ZSgwZGVnKTsgfVxuICAyNSUgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgyJSwgMiUpIHJvdGF0ZSg1ZGVnKTsgfVxuICA1MCUgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtMSUsIDMlKSByb3RhdGUoLTNkZWcpOyB9XG4gIDc1JSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlKDMlLCAtMiUpIHJvdGF0ZSgyZGVnKTsgfVxufVxuXG4vKiBHbGFzcyBjYXJkIGNvbnRhaW5lciAqL1xuLnRoZW1lLW1vZGVybi1kYXJrIC5waW4tc2NyZWVuIGZvcm0ge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDMpO1xuICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoMjBweCk7XG4gIC13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOiBibHVyKDIwcHgpO1xuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDgpO1xuICBib3JkZXItcmFkaXVzOiAyNHB4O1xuICBwYWRkaW5nOiA0OHB4IDQwcHg7XG4gIGJveC1zaGFkb3c6XG4gICAgMCAyNXB4IDUwcHggLTEycHggcmdiYSgwLCAwLCAwLCAwLjUpLFxuICAgIDAgMCAwIDFweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDUpIGluc2V0O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDE7XG59XG5cbi50aGVtZS1tb2Rlcm4tZGFyayAucGluLXNjcmVlbiBoMSB7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWRpc3BsYXkpO1xuICBmb250LXNpemU6IDEzcHg7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGxldHRlci1zcGFjaW5nOiAzcHg7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIG1hcmdpbi1ib3R0b206IDhweDtcbn1cblxuLnRoZW1lLW1vZGVybi1kYXJrIC5waW4tc2NyZWVuIGgyIHtcbiAgY29sb3I6ICNmZmZmZmY7XG4gIHRleHQtc2hhZG93OiBub25lO1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1kaXNwbGF5KTtcbiAgZm9udC1zaXplOiAyOHB4O1xuICBmb250LXdlaWdodDogNjAwO1xuICBsZXR0ZXItc3BhY2luZzogLTAuNXB4O1xuICBtYXJnaW4tYm90dG9tOiA0MHB4O1xufVxuXG4vKiBMb2NrIGljb24gYmVmb3JlIHRpdGxlICovXG4udGhlbWUtbW9kZXJuLWRhcmsgLnBpbi1zY3JlZW4gaDI6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICdcdTI1QzgnO1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiA0OHB4O1xuICBtYXJnaW4tYm90dG9tOiAxNnB4O1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCAjMzhiZGY4IDAlLCAjYTc4YmZhIDEwMCUpO1xuICAtd2Via2l0LWJhY2tncm91bmQtY2xpcDogdGV4dDtcbiAgLXdlYmtpdC10ZXh0LWZpbGwtY29sb3I6IHRyYW5zcGFyZW50O1xuICBiYWNrZ3JvdW5kLWNsaXA6IHRleHQ7XG59XG5cbi50aGVtZS1tb2Rlcm4tZGFyayAucGluLXNjcmVlbiBpbnB1dCB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wNSk7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xKTtcbiAgYm9yZGVyLXJhZGl1czogMTZweDtcbiAgY29sb3I6ICNmZmZmZmY7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LW1vbm8pO1xuICBmb250LXNpemU6IDI4cHg7XG4gIHBhZGRpbmc6IDIwcHggMjRweDtcbiAgd2lkdGg6IDI0MHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGxldHRlci1zcGFjaW5nOiAxMnB4O1xuICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xufVxuXG4udGhlbWUtbW9kZXJuLWRhcmsgLnBpbi1zY3JlZW4gaW5wdXQ6OnBsYWNlaG9sZGVyIHtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yKTtcbiAgbGV0dGVyLXNwYWNpbmc6IDhweDtcbn1cblxuLnRoZW1lLW1vZGVybi1kYXJrIC5waW4tc2NyZWVuIGlucHV0OmZvY3VzIHtcbiAgb3V0bGluZTogbm9uZTtcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKDU2LCAxODksIDI0OCwgMC41KTtcbiAgYm94LXNoYWRvdzpcbiAgICAwIDAgMCA0cHggcmdiYSg1NiwgMTg5LCAyNDgsIDAuMSksXG4gICAgMCAwIDMwcHggcmdiYSg1NiwgMTg5LCAyNDgsIDAuMSk7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wOCk7XG59XG5cbi50aGVtZS1tb2Rlcm4tZGFyayAucGluLXNjcmVlbiAuc3VibWl0LWJ0biB7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsICMzOGJkZjggMCUsICM4MThjZjggMTAwJSk7XG4gIGJvcmRlcjogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogMTJweDtcbiAgY29sb3I6ICNmZmZmZmY7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWRpc3BsYXkpO1xuICBmb250LXNpemU6IDE1cHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGxldHRlci1zcGFjaW5nOiAxcHg7XG4gIHBhZGRpbmc6IDE2cHggNDhweDtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcbiAgYm94LXNoYWRvdzpcbiAgICAwIDRweCAxNXB4IHJnYmEoNTYsIDE4OSwgMjQ4LCAwLjMpLFxuICAgIDAgMCAwIDFweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMSkgaW5zZXQ7XG59XG5cbi50aGVtZS1tb2Rlcm4tZGFyayAucGluLXNjcmVlbiAuc3VibWl0LWJ0bjpob3ZlciB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMnB4KTtcbiAgYm94LXNoYWRvdzpcbiAgICAwIDhweCAyNXB4IHJnYmEoNTYsIDE4OSwgMjQ4LCAwLjQpLFxuICAgIDAgMCAwIDFweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTUpIGluc2V0O1xufVxuXG4udGhlbWUtbW9kZXJuLWRhcmsgLnBpbi1zY3JlZW4gLnN1Ym1pdC1idG46YWN0aXZlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICBib3gtc2hhZG93OlxuICAgIDAgMnB4IDEwcHggcmdiYSg1NiwgMTg5LCAyNDgsIDAuMyksXG4gICAgMCAwIDAgMXB4IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xKSBpbnNldDtcbn1cblxuLnRoZW1lLW1vZGVybi1kYXJrIC5waW4tc2NyZWVuIC5lcnJvciB7XG4gIGNvbG9yOiAjZjg3MTcxO1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1kaXNwbGF5KTtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBtYXJnaW4tdG9wOiAxNnB4O1xuICBwYWRkaW5nOiAxMnB4IDIwcHg7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjM5LCA2OCwgNjgsIDAuMSk7XG4gIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyMzksIDY4LCA2OCwgMC4yKTtcbn1cblxuLnRoZW1lLW1vZGVybi1kYXJrIC5waW4tc2NyZWVuIC5oaW50IHtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC40KTtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZGlzcGxheSk7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgbGV0dGVyLXNwYWNpbmc6IDJweDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgbWFyZ2luLXRvcDogMzJweDtcbn1cblxuLyogPT09IERhcmsgU2VhcmNoID09PSAqL1xuLnRoZW1lLW1vZGVybi1kYXJrIC5zZWFyY2gtaW5wdXQge1xuICBiYWNrZ3JvdW5kOiAjMzM0MTU1O1xuICBib3JkZXI6IDFweCBzb2xpZCAjNDc1NTY5O1xuICBib3JkZXItcmFkaXVzOiA2cHg7XG4gIGNvbG9yOiAjZjFmNWY5O1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1kaXNwbGF5KTtcbn1cblxuLnRoZW1lLW1vZGVybi1kYXJrIC5zZWFyY2gtaW5wdXQ6Zm9jdXMge1xuICBib3JkZXItY29sb3I6IHZhcigtLWFjY2VudC1wcmltYXJ5KTtcbiAgYm94LXNoYWRvdzogMCAwIDAgM3B4IHJnYmEoMTI1LCAyMTEsIDI1MiwgMC4yNSk7ICAvKiBTa3kgMzAwIGdsb3cgKi9cbn1cblxuLnRoZW1lLW1vZGVybi1kYXJrIC5zZWFyY2gtaW5wdXQ6OnBsYWNlaG9sZGVyIHtcbiAgY29sb3I6ICM2NDc0OGI7XG59XG5cbi50aGVtZS1tb2Rlcm4tZGFyayAuc2VhcmNoLXJlc3VsdHMtY291bnQge1xuICBjb2xvcjogIzk0YTNiODtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZGlzcGxheSk7XG59XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEFETUlOIFBBR0UgU1RZTEVTIC0gTW9kZXJuIFRoZW1lIChMaWdodClcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb25zaXN0ZW50IHN0eWxpbmcgZm9yIGFsbCBhZG1pbiBwYWdlczpcbiAgIC9zZWNyZXRhZG1pbiwgL3NlY3JldGFkbWluL2dhbGxlcnksIC9zZWNyZXRhZG1pbi9jbHVzdGVyLCAvc2VjcmV0YWRtaW4vbm9kZXMsXG4gICAvc2VjcmV0YWRtaW4vcGVvcGxlLCAvc2VjcmV0YWRtaW4vZXZlbnRzLCAvc3VwZXJhZG1pbiwgL3VwbG9hZCwgL2NsYWltLCAvYXVkaXRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4qL1xuXG4vKiBBZG1pbiBwYWdlIHdyYXBwZXIgKi9cbi50aGVtZS1tb2Rlcm4gLmFkbWluLXBhZ2Uge1xuICBtaW4taGVpZ2h0OiAxMDB2aDtcbiAgYmFja2dyb3VuZDogI2Y4ZmFmYztcbiAgY29sb3I6ICMxZjI5Mzc7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWRpc3BsYXkpO1xuICBmb250LXNpemU6IDE0cHg7XG59XG5cbi8qIEFkbWluIE5hdmlnYXRpb24gQmFyICovXG4udGhlbWUtbW9kZXJuIC5hZG1pbi1uYXYge1xuICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2U1ZTdlYjtcbiAgcGFkZGluZzogMCAyMHB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBib3gtc2hhZG93OiAwIDFweCAzcHggcmdiYSgwLCAwLCAwLCAwLjA1KTtcbn1cblxuLnRoZW1lLW1vZGVybiAuYWRtaW4tbmF2LWJyYW5kIHtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBmb250LXdlaWdodDogNjAwO1xuICBwYWRkaW5nOiAxNnB4IDIwcHggMTZweCAwO1xuICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjZTVlN2ViO1xuICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gIGNvbG9yOiAjMjU2M2ViO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi50aGVtZS1tb2Rlcm4gLmFkbWluLW5hdi1pdGVtIHtcbiAgcGFkZGluZzogMTZweCAxNnB4O1xuICBjb2xvcjogIzZiNzI4MDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBib3JkZXItYm90dG9tOiAzcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIHRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlO1xufVxuXG4udGhlbWUtbW9kZXJuIC5hZG1pbi1uYXYtaXRlbTpob3ZlciB7XG4gIGJhY2tncm91bmQ6ICNmM2Y0ZjY7XG4gIGNvbG9yOiAjMzc0MTUxO1xufVxuXG4udGhlbWUtbW9kZXJuIC5hZG1pbi1uYXYtaXRlbS5hY3RpdmUge1xuICBjb2xvcjogIzI1NjNlYjtcbiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogIzI1NjNlYjtcbiAgYmFja2dyb3VuZDogI2VmZjZmZjtcbn1cblxuLnRoZW1lLW1vZGVybiAuYWRtaW4tbmF2LXNwYWNlciB7XG4gIGZsZXgtZ3JvdzogMTtcbn1cblxuLnRoZW1lLW1vZGVybiAuYWRtaW4tbmF2LWJhY2sge1xuICBwYWRkaW5nOiAxMHB4IDE1cHg7XG4gIGNvbG9yOiAjNmI3MjgwO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGZvbnQtc2l6ZTogMTNweDtcbn1cblxuLnRoZW1lLW1vZGVybiAuYWRtaW4tbmF2LWJhY2s6aG92ZXIge1xuICBjb2xvcjogIzI1NjNlYjtcbn1cblxuLyogQWRtaW4gQ29udGVudCBBcmVhICovXG4udGhlbWUtbW9kZXJuIC5hZG1pbi1jb250ZW50IHtcbiAgcGFkZGluZzogMjRweDtcbiAgbWF4LXdpZHRoOiAxNDAwcHg7XG4gIG1hcmdpbjogMCBhdXRvO1xufVxuXG4vKiBBZG1pbiBQYWdlIFRpdGxlICovXG4udGhlbWUtbW9kZXJuIC5hZG1pbi10aXRsZSB7XG4gIGZvbnQtc2l6ZTogMjRweDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgY29sb3I6ICMxZjI5Mzc7XG4gIG1hcmdpbi1ib3R0b206IDI0cHg7XG59XG5cbi8qIEFkbWluIFNlY3Rpb25zL0NhcmRzICovXG4udGhlbWUtbW9kZXJuIC5hZG1pbi1zZWN0aW9uIHtcbiAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgYm9yZGVyOiAxcHggc29saWQgI2U1ZTdlYjtcbiAgYm9yZGVyLXJhZGl1czogMTJweDtcbiAgcGFkZGluZzogMjBweDtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgYm94LXNoYWRvdzogMCAxcHggM3B4IHJnYmEoMCwgMCwgMCwgMC4wNSk7XG59XG5cbi50aGVtZS1tb2Rlcm4gLmFkbWluLXNlY3Rpb24gaDIge1xuICBmb250LXNpemU6IDE2cHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGNvbG9yOiAjMzc0MTUxO1xuICBtYXJnaW4tYm90dG9tOiAxNnB4O1xuICBwYWRkaW5nLWJvdHRvbTogMTJweDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNmM2Y0ZjY7XG59XG5cbi8qIEFkbWluIEJ1dHRvbnMgKi9cbi50aGVtZS1tb2Rlcm4gLmFkbWluLWJ0biB7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWRpc3BsYXkpO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIHBhZGRpbmc6IDEwcHggMjBweDtcbiAgYm9yZGVyLXJhZGl1czogOHB4O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlO1xuICBib3JkZXI6IG5vbmU7XG59XG5cbi50aGVtZS1tb2Rlcm4gLmFkbWluLWJ0bi1wcmltYXJ5IHtcbiAgYmFja2dyb3VuZDogIzI1NjNlYjtcbiAgY29sb3I6ICNmZmZmZmY7XG59XG5cbi50aGVtZS1tb2Rlcm4gLmFkbWluLWJ0bi1wcmltYXJ5OmhvdmVyIHtcbiAgYmFja2dyb3VuZDogIzFkNGVkODtcbn1cblxuLnRoZW1lLW1vZGVybiAuYWRtaW4tYnRuLXNlY29uZGFyeSB7XG4gIGJhY2tncm91bmQ6ICNmM2Y0ZjY7XG4gIGNvbG9yOiAjMzc0MTUxO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZTVlN2ViO1xufVxuXG4udGhlbWUtbW9kZXJuIC5hZG1pbi1idG4tc2Vjb25kYXJ5OmhvdmVyIHtcbiAgYmFja2dyb3VuZDogI2U1ZTdlYjtcbn1cblxuLnRoZW1lLW1vZGVybiAuYWRtaW4tYnRuLWRhbmdlciB7XG4gIGJhY2tncm91bmQ6ICNmZWYyZjI7XG4gIGNvbG9yOiAjZGMyNjI2O1xuICBib3JkZXI6IDFweCBzb2xpZCAjZmVjYWNhO1xufVxuXG4udGhlbWUtbW9kZXJuIC5hZG1pbi1idG4tZGFuZ2VyOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogI2ZlZTJlMjtcbn1cblxuLnRoZW1lLW1vZGVybiAuYWRtaW4tYnRuLXN1Y2Nlc3Mge1xuICBiYWNrZ3JvdW5kOiAjMjJjNTVlO1xuICBjb2xvcjogI2ZmZmZmZjtcbn1cblxuLnRoZW1lLW1vZGVybiAuYWRtaW4tYnRuLXN1Y2Nlc3M6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiAjMTZhMzRhO1xufVxuXG4vKiBBZG1pbiBGb3JtIEVsZW1lbnRzICovXG4udGhlbWUtbW9kZXJuIC5hZG1pbi1pbnB1dCxcbi50aGVtZS1tb2Rlcm4gLmFkbWluLXNlbGVjdCxcbi50aGVtZS1tb2Rlcm4gLmFkbWluLXRleHRhcmVhIHtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZGlzcGxheSk7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgY29sb3I6ICMxZjI5Mzc7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNkMWQ1ZGI7XG4gIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgcGFkZGluZzogMTBweCAxNHB4O1xuICB3aWR0aDogMTAwJTtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2U7XG59XG5cbi50aGVtZS1tb2Rlcm4gLmFkbWluLWlucHV0OmZvY3VzLFxuLnRoZW1lLW1vZGVybiAuYWRtaW4tc2VsZWN0OmZvY3VzLFxuLnRoZW1lLW1vZGVybiAuYWRtaW4tdGV4dGFyZWE6Zm9jdXMge1xuICBvdXRsaW5lOiBub25lO1xuICBib3JkZXItY29sb3I6ICMyNTYzZWI7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDNweCByZ2JhKDM3LCA5OSwgMjM1LCAwLjEpO1xufVxuXG4udGhlbWUtbW9kZXJuIC5hZG1pbi1pbnB1dDo6cGxhY2Vob2xkZXIge1xuICBjb2xvcjogIzljYTNhZjtcbn1cblxuLyogQWRtaW4gU3RhdHMgR3JpZCAqL1xuLnRoZW1lLW1vZGVybiAuYWRtaW4tc3RhdHMtZ3JpZCB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZml0LCBtaW5tYXgoMTgwcHgsIDFmcikpO1xuICBnYXA6IDE2cHg7XG4gIG1hcmdpbi1ib3R0b206IDI0cHg7XG59XG5cbi50aGVtZS1tb2Rlcm4gLmFkbWluLXN0YXQtY2FyZCB7XG4gIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNlNWU3ZWI7XG4gIGJvcmRlci1yYWRpdXM6IDEycHg7XG4gIHBhZGRpbmc6IDIwcHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLnRoZW1lLW1vZGVybiAuYWRtaW4tc3RhdC12YWx1ZSB7XG4gIGZvbnQtc2l6ZTogMzJweDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgY29sb3I6ICMyNTYzZWI7XG4gIG1hcmdpbi1ib3R0b206IDRweDtcbn1cblxuLnRoZW1lLW1vZGVybiAuYWRtaW4tc3RhdC1sYWJlbCB7XG4gIGZvbnQtc2l6ZTogMTNweDtcbiAgY29sb3I6ICM2YjcyODA7XG59XG5cbi8qIEFkbWluIFRhYmxlcyAqL1xuLnRoZW1lLW1vZGVybiAuYWRtaW4tdGFibGUge1xuICB3aWR0aDogMTAwJTtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbn1cblxuLnRoZW1lLW1vZGVybiAuYWRtaW4tdGFibGUgdGgsXG4udGhlbWUtbW9kZXJuIC5hZG1pbi10YWJsZSB0ZCB7XG4gIHBhZGRpbmc6IDEycHggMTZweDtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNmM2Y0ZjY7XG59XG5cbi50aGVtZS1tb2Rlcm4gLmFkbWluLXRhYmxlIHRoIHtcbiAgYmFja2dyb3VuZDogI2Y5ZmFmYjtcbiAgY29sb3I6ICM2YjcyODA7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuNXB4O1xufVxuXG4udGhlbWUtbW9kZXJuIC5hZG1pbi10YWJsZSB0cjpob3ZlciB7XG4gIGJhY2tncm91bmQ6ICNmOWZhZmI7XG59XG5cbi8qIEFkbWluIE1vZGFscyAqL1xuLnRoZW1lLW1vZGVybiAuYWRtaW4tbW9kYWwtb3ZlcmxheSB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgaW5zZXQ6IDA7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC41KTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHotaW5kZXg6IDEwMDA7XG59XG5cbi50aGVtZS1tb2Rlcm4gLmFkbWluLW1vZGFsIHtcbiAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgYm9yZGVyLXJhZGl1czogMTZweDtcbiAgcGFkZGluZzogMjRweDtcbiAgbWF4LXdpZHRoOiA2MDBweDtcbiAgd2lkdGg6IDkwJTtcbiAgbWF4LWhlaWdodDogOTB2aDtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgYm94LXNoYWRvdzogMCAyNXB4IDUwcHggLTEycHggcmdiYSgwLCAwLCAwLCAwLjI1KTtcbn1cblxuLnRoZW1lLW1vZGVybiAuYWRtaW4tbW9kYWwtdGl0bGUge1xuICBmb250LXNpemU6IDE4cHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGNvbG9yOiAjMWYyOTM3O1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICBwYWRkaW5nLWJvdHRvbTogMTZweDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlNWU3ZWI7XG59XG5cbi8qIEFkbWluIEJhZGdlcy9UYWdzICovXG4udGhlbWUtbW9kZXJuIC5hZG1pbi1iYWRnZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZzogNHB4IDEwcHg7XG4gIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBmb250LXdlaWdodDogNTAwO1xufVxuXG4udGhlbWUtbW9kZXJuIC5hZG1pbi1iYWRnZS1zdWNjZXNzIHtcbiAgYmFja2dyb3VuZDogI2RjZmNlNztcbiAgY29sb3I6ICMxNjY1MzQ7XG59XG5cbi50aGVtZS1tb2Rlcm4gLmFkbWluLWJhZGdlLXdhcm5pbmcge1xuICBiYWNrZ3JvdW5kOiAjZmVmM2M3O1xuICBjb2xvcjogIzkyNDAwZTtcbn1cblxuLnRoZW1lLW1vZGVybiAuYWRtaW4tYmFkZ2UtZGFuZ2VyIHtcbiAgYmFja2dyb3VuZDogI2ZlZTJlMjtcbiAgY29sb3I6ICNkYzI2MjY7XG59XG5cbi50aGVtZS1tb2Rlcm4gLmFkbWluLWJhZGdlLWluZm8ge1xuICBiYWNrZ3JvdW5kOiAjZGJlYWZlO1xuICBjb2xvcjogIzFlNDBhZjtcbn1cblxuLyogQWRtaW4gUElOIFNjcmVlbiAoc3RhbmRhbG9uZSBwYWdlcyBsaWtlIC91cGxvYWQsIGFkbWluIGxvZ2luKSAqL1xuLnRoZW1lLW1vZGVybiAuYWRtaW4tcGluLXNjcmVlbiB7XG4gIG1pbi1oZWlnaHQ6IDEwMHZoO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgIzY2N2VlYSAwJSwgIzc2NGJhMiAxMDAlKTtcbn1cblxuLnRoZW1lLW1vZGVybiAuYWRtaW4tcGluLWNhcmQge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOTUpO1xuICBib3JkZXItcmFkaXVzOiAyMHB4O1xuICBwYWRkaW5nOiA0OHB4IDQwcHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYm94LXNoYWRvdzogMCAyNXB4IDUwcHggLTEycHggcmdiYSgwLCAwLCAwLCAwLjI1KTtcbiAgbWF4LXdpZHRoOiA0MDBweDtcbiAgd2lkdGg6IDkwJTtcbn1cblxuLnRoZW1lLW1vZGVybiAuYWRtaW4tcGluLXRpdGxlIHtcbiAgZm9udC1zaXplOiAyNHB4O1xuICBmb250LXdlaWdodDogNjAwO1xuICBjb2xvcjogIzFmMjkzNztcbiAgbWFyZ2luLWJvdHRvbTogOHB4O1xufVxuXG4udGhlbWUtbW9kZXJuIC5hZG1pbi1waW4tc3VidGl0bGUge1xuICBjb2xvcjogIzZiNzI4MDtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBtYXJnaW4tYm90dG9tOiAzMnB4O1xufVxuXG4udGhlbWUtbW9kZXJuIC5hZG1pbi1waW4taW5wdXQge1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1tb25vKTtcbiAgZm9udC1zaXplOiAyNHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJhY2tncm91bmQ6ICNmM2Y0ZjY7XG4gIGJvcmRlcjogMnB4IHNvbGlkICNlNWU3ZWI7XG4gIGJvcmRlci1yYWRpdXM6IDEycHg7XG4gIHBhZGRpbmc6IDE2cHggMjRweDtcbiAgd2lkdGg6IDIwMHB4O1xuICBsZXR0ZXItc3BhY2luZzogOHB4O1xuICBjb2xvcjogIzFmMjkzNztcbiAgdHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2U7XG59XG5cbi50aGVtZS1tb2Rlcm4gLmFkbWluLXBpbi1pbnB1dDpmb2N1cyB7XG4gIG91dGxpbmU6IG5vbmU7XG4gIGJvcmRlci1jb2xvcjogIzI1NjNlYjtcbiAgYm94LXNoYWRvdzogMCAwIDAgM3B4IHJnYmEoMzcsIDk5LCAyMzUsIDAuMSk7XG59XG5cbi50aGVtZS1tb2Rlcm4gLmFkbWluLXBpbi1lcnJvciB7XG4gIGNvbG9yOiAjZGMyNjI2O1xuICBmb250LXNpemU6IDE0cHg7XG4gIG1hcmdpbi10b3A6IDE2cHg7XG59XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEFETUlOIFBBR0UgU1RZTEVTIC0gTW9kZXJuIERhcmsgVGhlbWVcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4qL1xuXG4vKiBBZG1pbiBwYWdlIHdyYXBwZXIgLSBkYXJrICovXG4udGhlbWUtbW9kZXJuLWRhcmsgLmFkbWluLXBhZ2Uge1xuICBtaW4taGVpZ2h0OiAxMDB2aDtcbiAgYmFja2dyb3VuZDogIzBmMTcyYTtcbiAgY29sb3I6ICNlMmU4ZjA7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWRpc3BsYXkpO1xuICBmb250LXNpemU6IDE0cHg7XG59XG5cbi8qIEFkbWluIE5hdmlnYXRpb24gQmFyIC0gZGFyayAqL1xuLnRoZW1lLW1vZGVybi1kYXJrIC5hZG1pbi1uYXYge1xuICBiYWNrZ3JvdW5kOiAjMWUyOTNiO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzMzNDE1NTtcbiAgcGFkZGluZzogMCAyMHB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBib3gtc2hhZG93OiAwIDFweCAzcHggcmdiYSgwLCAwLCAwLCAwLjMpO1xufVxuXG4udGhlbWUtbW9kZXJuLWRhcmsgLmFkbWluLW5hdi1icmFuZCB7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgcGFkZGluZzogMTZweCAyMHB4IDE2cHggMDtcbiAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgIzMzNDE1NTtcbiAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICBjb2xvcjogIzdkZDNmYztcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4udGhlbWUtbW9kZXJuLWRhcmsgLmFkbWluLW5hdi1pdGVtIHtcbiAgcGFkZGluZzogMTZweCAxNnB4O1xuICBjb2xvcjogIzk0YTNiODtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBib3JkZXItYm90dG9tOiAzcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIHRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlO1xufVxuXG4udGhlbWUtbW9kZXJuLWRhcmsgLmFkbWluLW5hdi1pdGVtOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogIzMzNDE1NTtcbiAgY29sb3I6ICNlMmU4ZjA7XG59XG5cbi50aGVtZS1tb2Rlcm4tZGFyayAuYWRtaW4tbmF2LWl0ZW0uYWN0aXZlIHtcbiAgY29sb3I6ICM3ZGQzZmM7XG4gIGJvcmRlci1ib3R0b20tY29sb3I6ICM3ZGQzZmM7XG4gIGJhY2tncm91bmQ6IHJnYmEoMTI1LCAyMTEsIDI1MiwgMC4xKTtcbn1cblxuLnRoZW1lLW1vZGVybi1kYXJrIC5hZG1pbi1uYXYtc3BhY2VyIHtcbiAgZmxleC1ncm93OiAxO1xufVxuXG4udGhlbWUtbW9kZXJuLWRhcmsgLmFkbWluLW5hdi1iYWNrIHtcbiAgcGFkZGluZzogMTBweCAxNXB4O1xuICBjb2xvcjogIzk0YTNiODtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBmb250LXNpemU6IDEzcHg7XG59XG5cbi50aGVtZS1tb2Rlcm4tZGFyayAuYWRtaW4tbmF2LWJhY2s6aG92ZXIge1xuICBjb2xvcjogIzdkZDNmYztcbn1cblxuLyogQWRtaW4gQ29udGVudCBBcmVhIC0gZGFyayAqL1xuLnRoZW1lLW1vZGVybi1kYXJrIC5hZG1pbi1jb250ZW50IHtcbiAgcGFkZGluZzogMjRweDtcbiAgbWF4LXdpZHRoOiAxNDAwcHg7XG4gIG1hcmdpbjogMCBhdXRvO1xufVxuXG4vKiBBZG1pbiBQYWdlIFRpdGxlIC0gZGFyayAqL1xuLnRoZW1lLW1vZGVybi1kYXJrIC5hZG1pbi10aXRsZSB7XG4gIGZvbnQtc2l6ZTogMjRweDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgY29sb3I6ICNmMWY1Zjk7XG4gIG1hcmdpbi1ib3R0b206IDI0cHg7XG59XG5cbi8qIEFkbWluIFNlY3Rpb25zL0NhcmRzIC0gZGFyayAqL1xuLnRoZW1lLW1vZGVybi1kYXJrIC5hZG1pbi1zZWN0aW9uIHtcbiAgYmFja2dyb3VuZDogIzFlMjkzYjtcbiAgYm9yZGVyOiAxcHggc29saWQgIzMzNDE1NTtcbiAgYm9yZGVyLXJhZGl1czogMTJweDtcbiAgcGFkZGluZzogMjBweDtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgYm94LXNoYWRvdzogMCAxcHggM3B4IHJnYmEoMCwgMCwgMCwgMC4zKTtcbn1cblxuLnRoZW1lLW1vZGVybi1kYXJrIC5hZG1pbi1zZWN0aW9uIGgyIHtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBmb250LXdlaWdodDogNjAwO1xuICBjb2xvcjogI2UyZThmMDtcbiAgbWFyZ2luLWJvdHRvbTogMTZweDtcbiAgcGFkZGluZy1ib3R0b206IDEycHg7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjMzM0MTU1O1xufVxuXG4vKiBBZG1pbiBCdXR0b25zIC0gZGFyayAqL1xuLnRoZW1lLW1vZGVybi1kYXJrIC5hZG1pbi1idG4ge1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1kaXNwbGF5KTtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBmb250LXdlaWdodDogNTAwO1xuICBwYWRkaW5nOiAxMHB4IDIwcHg7XG4gIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZTtcbiAgYm9yZGVyOiBub25lO1xufVxuXG4udGhlbWUtbW9kZXJuLWRhcmsgLmFkbWluLWJ0bi1wcmltYXJ5IHtcbiAgYmFja2dyb3VuZDogIzdkZDNmYztcbiAgY29sb3I6ICMwZjE3MmE7XG59XG5cbi50aGVtZS1tb2Rlcm4tZGFyayAuYWRtaW4tYnRuLXByaW1hcnk6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiAjMzhiZGY4O1xufVxuXG4udGhlbWUtbW9kZXJuLWRhcmsgLmFkbWluLWJ0bi1zZWNvbmRhcnkge1xuICBiYWNrZ3JvdW5kOiAjMzM0MTU1O1xuICBjb2xvcjogI2UyZThmMDtcbiAgYm9yZGVyOiAxcHggc29saWQgIzQ3NTU2OTtcbn1cblxuLnRoZW1lLW1vZGVybi1kYXJrIC5hZG1pbi1idG4tc2Vjb25kYXJ5OmhvdmVyIHtcbiAgYmFja2dyb3VuZDogIzQ3NTU2OTtcbn1cblxuLnRoZW1lLW1vZGVybi1kYXJrIC5hZG1pbi1idG4tZGFuZ2VyIHtcbiAgYmFja2dyb3VuZDogcmdiYSgyMzksIDY4LCA2OCwgMC4xKTtcbiAgY29sb3I6ICNmODcxNzE7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjM5LCA2OCwgNjgsIDAuMyk7XG59XG5cbi50aGVtZS1tb2Rlcm4tZGFyayAuYWRtaW4tYnRuLWRhbmdlcjpob3ZlciB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjM5LCA2OCwgNjgsIDAuMik7XG59XG5cbi50aGVtZS1tb2Rlcm4tZGFyayAuYWRtaW4tYnRuLXN1Y2Nlc3Mge1xuICBiYWNrZ3JvdW5kOiAjMjJjNTVlO1xuICBjb2xvcjogI2ZmZmZmZjtcbn1cblxuLnRoZW1lLW1vZGVybi1kYXJrIC5hZG1pbi1idG4tc3VjY2Vzczpob3ZlciB7XG4gIGJhY2tncm91bmQ6ICMxNmEzNGE7XG59XG5cbi8qIEFkbWluIEZvcm0gRWxlbWVudHMgLSBkYXJrICovXG4udGhlbWUtbW9kZXJuLWRhcmsgLmFkbWluLWlucHV0LFxuLnRoZW1lLW1vZGVybi1kYXJrIC5hZG1pbi1zZWxlY3QsXG4udGhlbWUtbW9kZXJuLWRhcmsgLmFkbWluLXRleHRhcmVhIHtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZGlzcGxheSk7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgYmFja2dyb3VuZDogIzBmMTcyYTtcbiAgY29sb3I6ICNlMmU4ZjA7XG4gIGJvcmRlcjogMXB4IHNvbGlkICM0NzU1Njk7XG4gIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgcGFkZGluZzogMTBweCAxNHB4O1xuICB3aWR0aDogMTAwJTtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2U7XG59XG5cbi50aGVtZS1tb2Rlcm4tZGFyayAuYWRtaW4taW5wdXQ6Zm9jdXMsXG4udGhlbWUtbW9kZXJuLWRhcmsgLmFkbWluLXNlbGVjdDpmb2N1cyxcbi50aGVtZS1tb2Rlcm4tZGFyayAuYWRtaW4tdGV4dGFyZWE6Zm9jdXMge1xuICBvdXRsaW5lOiBub25lO1xuICBib3JkZXItY29sb3I6ICM3ZGQzZmM7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDNweCByZ2JhKDEyNSwgMjExLCAyNTIsIDAuMTUpO1xufVxuXG4udGhlbWUtbW9kZXJuLWRhcmsgLmFkbWluLWlucHV0OjpwbGFjZWhvbGRlciB7XG4gIGNvbG9yOiAjNjQ3NDhiO1xufVxuXG4vKiBBZG1pbiBTdGF0cyBHcmlkIC0gZGFyayAqL1xuLnRoZW1lLW1vZGVybi1kYXJrIC5hZG1pbi1zdGF0cy1ncmlkIHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maXQsIG1pbm1heCgxODBweCwgMWZyKSk7XG4gIGdhcDogMTZweDtcbiAgbWFyZ2luLWJvdHRvbTogMjRweDtcbn1cblxuLnRoZW1lLW1vZGVybi1kYXJrIC5hZG1pbi1zdGF0LWNhcmQge1xuICBiYWNrZ3JvdW5kOiAjMWUyOTNiO1xuICBib3JkZXI6IDFweCBzb2xpZCAjMzM0MTU1O1xuICBib3JkZXItcmFkaXVzOiAxMnB4O1xuICBwYWRkaW5nOiAyMHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi50aGVtZS1tb2Rlcm4tZGFyayAuYWRtaW4tc3RhdC12YWx1ZSB7XG4gIGZvbnQtc2l6ZTogMzJweDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgY29sb3I6ICM3ZGQzZmM7XG4gIG1hcmdpbi1ib3R0b206IDRweDtcbn1cblxuLnRoZW1lLW1vZGVybi1kYXJrIC5hZG1pbi1zdGF0LWxhYmVsIHtcbiAgZm9udC1zaXplOiAxM3B4O1xuICBjb2xvcjogIzk0YTNiODtcbn1cblxuLyogQWRtaW4gVGFibGVzIC0gZGFyayAqL1xuLnRoZW1lLW1vZGVybi1kYXJrIC5hZG1pbi10YWJsZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xufVxuXG4udGhlbWUtbW9kZXJuLWRhcmsgLmFkbWluLXRhYmxlIHRoLFxuLnRoZW1lLW1vZGVybi1kYXJrIC5hZG1pbi10YWJsZSB0ZCB7XG4gIHBhZGRpbmc6IDEycHggMTZweDtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICMzMzQxNTU7XG59XG5cbi50aGVtZS1tb2Rlcm4tZGFyayAuYWRtaW4tdGFibGUgdGgge1xuICBiYWNrZ3JvdW5kOiAjMGYxNzJhO1xuICBjb2xvcjogIzk0YTNiODtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgZm9udC1zaXplOiAxMnB4O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBsZXR0ZXItc3BhY2luZzogMC41cHg7XG59XG5cbi50aGVtZS1tb2Rlcm4tZGFyayAuYWRtaW4tdGFibGUgdHI6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDEyNSwgMjExLCAyNTIsIDAuMDUpO1xufVxuXG4vKiBBZG1pbiBNb2RhbHMgLSBkYXJrICovXG4udGhlbWUtbW9kZXJuLWRhcmsgLmFkbWluLW1vZGFsLW92ZXJsYXkge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGluc2V0OiAwO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNyk7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB6LWluZGV4OiAxMDAwO1xufVxuXG4udGhlbWUtbW9kZXJuLWRhcmsgLmFkbWluLW1vZGFsIHtcbiAgYmFja2dyb3VuZDogIzFlMjkzYjtcbiAgYm9yZGVyOiAxcHggc29saWQgIzMzNDE1NTtcbiAgYm9yZGVyLXJhZGl1czogMTZweDtcbiAgcGFkZGluZzogMjRweDtcbiAgbWF4LXdpZHRoOiA2MDBweDtcbiAgd2lkdGg6IDkwJTtcbiAgbWF4LWhlaWdodDogOTB2aDtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgYm94LXNoYWRvdzogMCAyNXB4IDUwcHggLTEycHggcmdiYSgwLCAwLCAwLCAwLjUpO1xufVxuXG4udGhlbWUtbW9kZXJuLWRhcmsgLmFkbWluLW1vZGFsLXRpdGxlIHtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBmb250LXdlaWdodDogNjAwO1xuICBjb2xvcjogI2YxZjVmOTtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgcGFkZGluZy1ib3R0b206IDE2cHg7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjMzM0MTU1O1xufVxuXG4vKiBBZG1pbiBCYWRnZXMvVGFncyAtIGRhcmsgKi9cbi50aGVtZS1tb2Rlcm4tZGFyayAuYWRtaW4tYmFkZ2Uge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmc6IDRweCAxMHB4O1xuICBib3JkZXItcmFkaXVzOiA2cHg7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbn1cblxuLnRoZW1lLW1vZGVybi1kYXJrIC5hZG1pbi1iYWRnZS1zdWNjZXNzIHtcbiAgYmFja2dyb3VuZDogcmdiYSgzNCwgMTk3LCA5NCwgMC4xNSk7XG4gIGNvbG9yOiAjNGFkZTgwO1xufVxuXG4udGhlbWUtbW9kZXJuLWRhcmsgLmFkbWluLWJhZGdlLXdhcm5pbmcge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1MSwgMTkxLCAzNiwgMC4xNSk7XG4gIGNvbG9yOiAjZmNkMzRkO1xufVxuXG4udGhlbWUtbW9kZXJuLWRhcmsgLmFkbWluLWJhZGdlLWRhbmdlciB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjM5LCA2OCwgNjgsIDAuMTUpO1xuICBjb2xvcjogI2Y4NzE3MTtcbn1cblxuLnRoZW1lLW1vZGVybi1kYXJrIC5hZG1pbi1iYWRnZS1pbmZvIHtcbiAgYmFja2dyb3VuZDogcmdiYSgxMjUsIDIxMSwgMjUyLCAwLjE1KTtcbiAgY29sb3I6ICM3ZGQzZmM7XG59XG5cbi8qIEFkbWluIFBJTiBTY3JlZW4gLSBkYXJrIChzbGVlayBnbGFzcyBtb3JwaGlzbSkgKi9cbi50aGVtZS1tb2Rlcm4tZGFyayAuYWRtaW4tcGluLXNjcmVlbiB7XG4gIG1pbi1oZWlnaHQ6IDEwMHZoO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYmFja2dyb3VuZDpcbiAgICByYWRpYWwtZ3JhZGllbnQoZWxsaXBzZSBhdCAyMCUgMCUsIHJnYmEoNTYsIDE4OSwgMjQ4LCAwLjE1KSAwJSwgdHJhbnNwYXJlbnQgNTAlKSxcbiAgICByYWRpYWwtZ3JhZGllbnQoZWxsaXBzZSBhdCA4MCUgMTAwJSwgcmdiYSgxMzksIDkyLCAyNDYsIDAuMTUpIDAlLCB0cmFuc3BhcmVudCA1MCUpLFxuICAgIGxpbmVhci1ncmFkaWVudCgxODBkZWcsICMwYzEyMjIgMCUsICMwZjE3MmEgNTAlLCAjMWUxYjRiIDEwMCUpO1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4udGhlbWUtbW9kZXJuLWRhcmsgLmFkbWluLXBpbi1zY3JlZW46OmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICcnO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogLTUwJTtcbiAgbGVmdDogLTUwJTtcbiAgd2lkdGg6IDIwMCU7XG4gIGhlaWdodDogMjAwJTtcbiAgYmFja2dyb3VuZDpcbiAgICByYWRpYWwtZ3JhZGllbnQoY2lyY2xlIGF0IDMwJSAzMCUsIHJnYmEoNTYsIDE4OSwgMjQ4LCAwLjA4KSAwJSwgdHJhbnNwYXJlbnQgNDAlKSxcbiAgICByYWRpYWwtZ3JhZGllbnQoY2lyY2xlIGF0IDcwJSA3MCUsIHJnYmEoMTY3LCAxMzksIDI1MCwgMC4wOCkgMCUsIHRyYW5zcGFyZW50IDQwJSk7XG4gIGFuaW1hdGlvbjogcGluU2NyZWVuR2xvdyAyMHMgZWFzZS1pbi1vdXQgaW5maW5pdGU7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG4udGhlbWUtbW9kZXJuLWRhcmsgLmFkbWluLXBpbi1jYXJkIHtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjAzKTtcbiAgYmFja2Ryb3AtZmlsdGVyOiBibHVyKDIwcHgpO1xuICAtd2Via2l0LWJhY2tkcm9wLWZpbHRlcjogYmx1cigyMHB4KTtcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA4KTtcbiAgYm9yZGVyLXJhZGl1czogMjRweDtcbiAgcGFkZGluZzogNDhweCA0MHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJveC1zaGFkb3c6XG4gICAgMCAyNXB4IDUwcHggLTEycHggcmdiYSgwLCAwLCAwLCAwLjUpLFxuICAgIDAgMCAwIDFweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDUpIGluc2V0O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDE7XG4gIG1heC13aWR0aDogNDAwcHg7XG4gIHdpZHRoOiA5MCU7XG59XG5cbi50aGVtZS1tb2Rlcm4tZGFyayAuYWRtaW4tcGluLXRpdGxlIHtcbiAgZm9udC1zaXplOiAyNHB4O1xuICBmb250LXdlaWdodDogNjAwO1xuICBjb2xvcjogI2ZmZmZmZjtcbiAgbWFyZ2luLWJvdHRvbTogOHB4O1xufVxuXG4udGhlbWUtbW9kZXJuLWRhcmsgLmFkbWluLXBpbi1zdWJ0aXRsZSB7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgbWFyZ2luLWJvdHRvbTogMzJweDtcbn1cblxuLnRoZW1lLW1vZGVybi1kYXJrIC5hZG1pbi1waW4taW5wdXQge1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1tb25vKTtcbiAgZm9udC1zaXplOiAyNHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wNSk7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xKTtcbiAgYm9yZGVyLXJhZGl1czogMTZweDtcbiAgcGFkZGluZzogMTZweCAyNHB4O1xuICB3aWR0aDogMjIwcHg7XG4gIGxldHRlci1zcGFjaW5nOiA4cHg7XG4gIGNvbG9yOiAjZmZmZmZmO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZTtcbn1cblxuLnRoZW1lLW1vZGVybi1kYXJrIC5hZG1pbi1waW4taW5wdXQ6Zm9jdXMge1xuICBvdXRsaW5lOiBub25lO1xuICBib3JkZXItY29sb3I6IHJnYmEoNTYsIDE4OSwgMjQ4LCAwLjUpO1xuICBib3gtc2hhZG93OlxuICAgIDAgMCAwIDRweCByZ2JhKDU2LCAxODksIDI0OCwgMC4xKSxcbiAgICAwIDAgMzBweCByZ2JhKDU2LCAxODksIDI0OCwgMC4xKTtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA4KTtcbn1cblxuLnRoZW1lLW1vZGVybi1kYXJrIC5hZG1pbi1waW4taW5wdXQ6OnBsYWNlaG9sZGVyIHtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yKTtcbn1cblxuLnRoZW1lLW1vZGVybi1kYXJrIC5hZG1pbi1waW4tZXJyb3Ige1xuICBjb2xvcjogI2Y4NzE3MTtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBtYXJnaW4tdG9wOiAxNnB4O1xuICBwYWRkaW5nOiAxMnB4IDIwcHg7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjM5LCA2OCwgNjgsIDAuMSk7XG4gIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyMzksIDY4LCA2OCwgMC4yKTtcbn1cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgR1BVIENMVVNURVIgUEFHRSBTVFlMRVNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBTcGVjaWZpYyBzdHlsZXMgZm9yIC9zZWNyZXRhZG1pbi9jbHVzdGVyIEdQVSBtb25pdG9yaW5nIGRhc2hib2FyZC5cbiAgIFVzZXMgYWRtaW4tKiBiYXNlIGNsYXNzZXMgd2l0aCBjbHVzdGVyLSogZXh0ZW5zaW9ucy5cbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4qL1xuXG4vKiBDbHVzdGVyIHN0YXRzIGdyaWQgLSBzaW1pbGFyIHRvIGFkbWluLXN0YXRzLWdyaWQgYnV0IHdpdGggbW9yZSBjb2x1bW5zICovXG4udGhlbWUtbW9kZXJuLWRhcmsgLmNsdXN0ZXItc3RhdHMtZ3JpZCB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZml0LCBtaW5tYXgoMTUwcHgsIDFmcikpO1xuICBnYXA6IDEycHg7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG59XG5cbi50aGVtZS1tb2Rlcm4tZGFyayAuY2x1c3Rlci1zdGF0LWNhcmQge1xuICBiYWNrZ3JvdW5kOiAjMGYxNzJhO1xuICBib3JkZXI6IDFweCBzb2xpZCAjMzM0MTU1O1xuICBib3JkZXItcmFkaXVzOiA4cHg7XG4gIHBhZGRpbmc6IDE2cHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLnRoZW1lLW1vZGVybi1kYXJrIC5jbHVzdGVyLXN0YXQtdmFsdWUge1xuICBmb250LXNpemU6IDI4cHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGNvbG9yOiAjN2RkM2ZjO1xuICBtYXJnaW4tYm90dG9tOiA0cHg7XG59XG5cbi50aGVtZS1tb2Rlcm4tZGFyayAuY2x1c3Rlci1zdGF0LWxhYmVsIHtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBjb2xvcjogIzY0NzQ4YjtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuNXB4O1xufVxuXG4vKiBXb3JrZXIgY2FyZHMgKi9cbi50aGVtZS1tb2Rlcm4tZGFyayAud29ya2VyLWNhcmQge1xuICBiYWNrZ3JvdW5kOiAjMGYxNzJhO1xuICBib3JkZXI6IDFweCBzb2xpZCAjMzM0MTU1O1xuICBib3JkZXItcmFkaXVzOiA4cHg7XG4gIHBhZGRpbmc6IDE2cHg7XG4gIG1hcmdpbi1ib3R0b206IDEycHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiAxNnB4O1xufVxuXG4udGhlbWUtbW9kZXJuLWRhcmsgLndvcmtlci1jYXJkLm9ubGluZSB7XG4gIGJvcmRlci1jb2xvcjogIzIyYzU1ZTtcbiAgYm9yZGVyLWxlZnQ6IDRweCBzb2xpZCAjMjJjNTVlO1xufVxuXG4udGhlbWUtbW9kZXJuLWRhcmsgLndvcmtlci1jYXJkLm9mZmxpbmUge1xuICBib3JkZXItY29sb3I6ICNmODcxNzE7XG4gIGJvcmRlci1sZWZ0OiA0cHggc29saWQgI2Y4NzE3MTtcbiAgb3BhY2l0eTogMC43O1xufVxuXG4udGhlbWUtbW9kZXJuLWRhcmsgLndvcmtlci1jYXJkLnVua25vd24ge1xuICBib3JkZXItY29sb3I6ICNmY2QzNGQ7XG4gIGJvcmRlci1sZWZ0OiA0cHggc29saWQgI2ZjZDM0ZDtcbn1cblxuLnRoZW1lLW1vZGVybi1kYXJrIC53b3JrZXItaW5mbyB7XG4gIGZsZXg6IDE7XG59XG5cbi50aGVtZS1tb2Rlcm4tZGFyayAud29ya2VyLWluZm8gaDMge1xuICBmb250LXNpemU6IDE2cHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGNvbG9yOiAjZjFmNWY5O1xuICBtYXJnaW4tYm90dG9tOiA0cHg7XG59XG5cbi50aGVtZS1tb2Rlcm4tZGFyayAud29ya2VyLW1ldGEge1xuICBmb250LXNpemU6IDEzcHg7XG4gIGNvbG9yOiAjOTRhM2I4O1xufVxuXG4vKiBTdGF0dXMgYmFkZ2VzICovXG4udGhlbWUtbW9kZXJuLWRhcmsgLnN0YXR1cy1iYWRnZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZzogNnB4IDEycHg7XG4gIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBmb250LXdlaWdodDogNjAwO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBsZXR0ZXItc3BhY2luZzogMC41cHg7XG59XG5cbi50aGVtZS1tb2Rlcm4tZGFyayAuc3RhdHVzLWJhZGdlLm9ubGluZSB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMzQsIDE5NywgOTQsIDAuMTUpO1xuICBjb2xvcjogIzRhZGU4MDtcbn1cblxuLnRoZW1lLW1vZGVybi1kYXJrIC5zdGF0dXMtYmFkZ2Uub2ZmbGluZSB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjQ4LCAxMTMsIDExMywgMC4xNSk7XG4gIGNvbG9yOiAjZjg3MTcxO1xufVxuXG4udGhlbWUtbW9kZXJuLWRhcmsgLnN0YXR1cy1iYWRnZS51bmtub3duIHtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTIsIDIxMSwgNzcsIDAuMTUpO1xuICBjb2xvcjogI2ZjZDM0ZDtcbn1cblxuLyogQ2FwYWJpbGl0eSB0YWdzICovXG4udGhlbWUtbW9kZXJuLWRhcmsgLmNhcGFiaWxpdGllcyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGdhcDogNnB4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIG1hcmdpbi10b3A6IDhweDtcbn1cblxuLnRoZW1lLW1vZGVybi1kYXJrIC5jYXBhYmlsaXR5LXRhZyB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMTI1LCAyMTEsIDI1MiwgMC4xKTtcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgxMjUsIDIxMSwgMjUyLCAwLjMpO1xuICBjb2xvcjogIzdkZDNmYztcbiAgcGFkZGluZzogM3B4IDhweDtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICBmb250LXNpemU6IDExcHg7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG59XG5cbi8qIEZlYXR1cmUgcmVjb21tZW5kYXRpb25zICovXG4udGhlbWUtbW9kZXJuLWRhcmsgLnJlY29tbWVuZGF0aW9uLWJveCB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjUxLCAxOTEsIDM2LCAwLjA1KTtcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyNTEsIDE5MSwgMzYsIDAuMik7XG4gIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgcGFkZGluZzogMTZweDtcbiAgbWFyZ2luLXRvcDogMTZweDtcbn1cblxuLnRoZW1lLW1vZGVybi1kYXJrIC5yZWNvbW1lbmRhdGlvbi1ib3ggaDMge1xuICBjb2xvcjogI2ZjZDM0ZDtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBmb250LXdlaWdodDogNjAwO1xuICBtYXJnaW4tYm90dG9tOiAxMnB4O1xufVxuXG4udGhlbWUtbW9kZXJuLWRhcmsgLmZlYXR1cmUtZ3JpZCB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZml0LCBtaW5tYXgoMjUwcHgsIDFmcikpO1xuICBnYXA6IDhweDtcbn1cblxuLnRoZW1lLW1vZGVybi1kYXJrIC5mZWF0dXJlLXJvdyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgcGFkZGluZzogOHB4IDEycHg7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4yKTtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xufVxuXG4udGhlbWUtbW9kZXJuLWRhcmsgLmZlYXR1cmUtc3RhdHVzLnJlY29tbWVuZGVkIHsgY29sb3I6ICM0YWRlODA7IH1cbi50aGVtZS1tb2Rlcm4tZGFyayAuZmVhdHVyZS1zdGF0dXMucG9zc2libGUgeyBjb2xvcjogI2ZjZDM0ZDsgfVxuLnRoZW1lLW1vZGVybi1kYXJrIC5mZWF0dXJlLXN0YXR1cy5ub3RfcmVjb21tZW5kZWQgeyBjb2xvcjogI2Y4NzE3MTsgfVxuXG4vKiBBZGQgd29ya2VyIGZvcm0gKi9cbi50aGVtZS1tb2Rlcm4tZGFyayAuYWRkLXdvcmtlci1mb3JtIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZ2FwOiA4cHg7XG4gIG1hcmdpbi10b3A6IDE2cHg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbn1cblxuLnRoZW1lLW1vZGVybi1kYXJrIC5hZGQtd29ya2VyLWZvcm0gaW5wdXQge1xuICBiYWNrZ3JvdW5kOiAjMGYxNzJhO1xuICBib3JkZXI6IDFweCBzb2xpZCAjNDc1NTY5O1xuICBib3JkZXItcmFkaXVzOiA2cHg7XG4gIGNvbG9yOiAjZTJlOGYwO1xuICBwYWRkaW5nOiAxMHB4IDE0cHg7XG4gIGZvbnQtc2l6ZTogMTRweDtcbn1cblxuLnRoZW1lLW1vZGVybi1kYXJrIC5hZGQtd29ya2VyLWZvcm0gaW5wdXQ6Zm9jdXMge1xuICBvdXRsaW5lOiBub25lO1xuICBib3JkZXItY29sb3I6ICM3ZGQzZmM7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDJweCByZ2JhKDEyNSwgMjExLCAyNTIsIDAuMTUpO1xufVxuXG4udGhlbWUtbW9kZXJuLWRhcmsgLmFkZC13b3JrZXItZm9ybSBidXR0b24ge1xuICBiYWNrZ3JvdW5kOiAjN2RkM2ZjO1xuICBjb2xvcjogIzBmMTcyYTtcbiAgYm9yZGVyOiBub25lO1xuICBib3JkZXItcmFkaXVzOiA2cHg7XG4gIHBhZGRpbmc6IDEwcHggMjBweDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZTtcbn1cblxuLnRoZW1lLW1vZGVybi1kYXJrIC5hZGQtd29ya2VyLWZvcm0gYnV0dG9uOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogIzM4YmRmODtcbn1cblxuLyogUmVtb3ZlIHdvcmtlciBidXR0b24gKi9cbi50aGVtZS1tb2Rlcm4tZGFyayAucmVtb3ZlLWJ0biB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjM5LCA2OCwgNjgsIDAuMSk7XG4gIGNvbG9yOiAjZjg3MTcxO1xuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDIzOSwgNjgsIDY4LCAwLjMpO1xuICBib3JkZXItcmFkaXVzOiA2cHg7XG4gIHBhZGRpbmc6IDZweCAxMnB4O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2U7XG59XG5cbi50aGVtZS1tb2Rlcm4tZGFyayAucmVtb3ZlLWJ0bjpob3ZlciB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjM5LCA2OCwgNjgsIDAuMik7XG59XG5cbi8qIEhlYWRlciByb3cgd2l0aCByZWZyZXNoICovXG4udGhlbWUtbW9kZXJuLWRhcmsgLmNsdXN0ZXItaGVhZGVyLXJvdyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgbWFyZ2luLWJvdHRvbTogMjRweDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBnYXA6IDE2cHg7XG59XG5cbi50aGVtZS1tb2Rlcm4tZGFyayAuY2x1c3Rlci1oZWFkZXItcm93IGgxIHtcbiAgZm9udC1zaXplOiAyNHB4O1xuICBmb250LXdlaWdodDogNjAwO1xuICBjb2xvcjogI2YxZjVmOTtcbiAgbWFyZ2luOiAwO1xufVxuXG4udGhlbWUtbW9kZXJuLWRhcmsgLnJlZnJlc2gtYnRuIHtcbiAgYmFja2dyb3VuZDogIzMzNDE1NTtcbiAgY29sb3I6ICNlMmU4ZjA7XG4gIGJvcmRlcjogMXB4IHNvbGlkICM0NzU1Njk7XG4gIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgcGFkZGluZzogOHB4IDE2cHg7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2U7XG59XG5cbi50aGVtZS1tb2Rlcm4tZGFyayAucmVmcmVzaC1idG46aG92ZXIge1xuICBiYWNrZ3JvdW5kOiAjNDc1NTY5O1xufVxuXG4udGhlbWUtbW9kZXJuLWRhcmsgLmxhc3QtcmVmcmVzaCB7XG4gIGZvbnQtc2l6ZTogMTNweDtcbiAgY29sb3I6ICM2NDc0OGI7XG4gIG1hcmdpbi1sZWZ0OiAxMnB4O1xufVxuXG4vKiBMb2FkaW5nIHN0YXRlICovXG4udGhlbWUtbW9kZXJuLWRhcmsgLmNsdXN0ZXItbG9hZGluZyB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcGFkZGluZzogNjBweCAyMHB4O1xuICBjb2xvcjogIzk0YTNiODtcbiAgZm9udC1zaXplOiAxNnB4O1xufVxuXG4udGhlbWUtbW9kZXJuLWRhcmsgLmNsdXN0ZXItbG9hZGluZzo6YWZ0ZXIge1xuICBjb250ZW50OiAnJztcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMjBweDtcbiAgaGVpZ2h0OiAyMHB4O1xuICBib3JkZXI6IDJweCBzb2xpZCAjNDc1NTY5O1xuICBib3JkZXItdG9wLWNvbG9yOiAjN2RkM2ZjO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGFuaW1hdGlvbjogc3BpbiAxcyBsaW5lYXIgaW5maW5pdGU7XG4gIG1hcmdpbi1sZWZ0OiAxMnB4O1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG5Aa2V5ZnJhbWVzIHNwaW4ge1xuICB0byB7IHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7IH1cbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEVWRU5UUyBQQUdFIFNUWUxFU1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyogRXZlbnQgY2FyZCAqL1xuLnRoZW1lLW1vZGVybi1kYXJrIC5ldmVudC1jYXJkIHtcbiAgYmFja2dyb3VuZDogIzFlMjkzYjtcbiAgYm9yZGVyOiAxcHggc29saWQgIzMzNDE1NTtcbiAgcGFkZGluZzogMjBweDtcbiAgbWFyZ2luLWJvdHRvbTogMTJweDtcbiAgYm9yZGVyLXJhZGl1czogOHB4O1xuICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC4xNXMgZWFzZTtcbn1cblxuLnRoZW1lLW1vZGVybi1kYXJrIC5ldmVudC1jYXJkOmhvdmVyIHtcbiAgYm9yZGVyLWNvbG9yOiAjN2RkM2ZjO1xufVxuXG4udGhlbWUtbW9kZXJuLWRhcmsgLmV2ZW50LWNhcmQuZXhjbHVzaXZlIHtcbiAgYm9yZGVyLWxlZnQ6IDNweCBzb2xpZCAjZjg3MTcxO1xufVxuXG4udGhlbWUtbW9kZXJuLWRhcmsgLmV2ZW50LWNhcmQuaGlkZGVuIHtcbiAgb3BhY2l0eTogMC42O1xufVxuXG4vKiBFdmVudCBuYW1lICovXG4udGhlbWUtbW9kZXJuLWRhcmsgLmV2ZW50LW5hbWUge1xuICBmb250LXNpemU6IDE2cHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGNvbG9yOiAjZjFmNWY5O1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi50aGVtZS1tb2Rlcm4tZGFyayAuZXZlbnQtbmFtZTpob3ZlciB7XG4gIGNvbG9yOiAjN2RkM2ZjO1xufVxuXG4vKiBFdmVudCBkYXRlIHJhbmdlICovXG4udGhlbWUtbW9kZXJuLWRhcmsgLmV2ZW50LWRhdGVzIHtcbiAgZm9udC1zaXplOiAxM3B4O1xuICBjb2xvcjogIzk0YTNiODtcbiAgbWFyZ2luLWJvdHRvbTogOHB4O1xufVxuXG4vKiBFdmVudCBkZXNjcmlwdGlvbiAqL1xuLnRoZW1lLW1vZGVybi1kYXJrIC5ldmVudC1kZXNjcmlwdGlvbiB7XG4gIGZvbnQtc2l6ZTogMTNweDtcbiAgY29sb3I6ICNjYmQ1ZTE7XG4gIG1hcmdpbi1ib3R0b206IDhweDtcbn1cblxuLyogRXZlbnQgYmFkZ2VzICovXG4udGhlbWUtbW9kZXJuLWRhcmsgLmV2ZW50LWJhZGdlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nOiAycHggOHB4O1xuICBmb250LXNpemU6IDExcHg7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgbWFyZ2luLWxlZnQ6IDhweDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuNXB4O1xufVxuXG4udGhlbWUtbW9kZXJuLWRhcmsgLmV2ZW50LWJhZGdlLWV4Y2x1c2l2ZSB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjQ4LCAxMTMsIDExMywgMC4yKTtcbiAgY29sb3I6ICNmODcxNzE7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjQ4LCAxMTMsIDExMywgMC4zKTtcbn1cblxuLnRoZW1lLW1vZGVybi1kYXJrIC5ldmVudC1iYWRnZS1oaWRkZW4ge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDE0OCwgMTYzLCAxODQsIDAuMik7XG4gIGNvbG9yOiAjOTRhM2I4O1xuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDE0OCwgMTYzLCAxODQsIDAuMyk7XG59XG5cbi50aGVtZS1tb2Rlcm4tZGFyayAuZXZlbnQtYmFkZ2UtcGluIHtcbiAgYmFja2dyb3VuZDogcmdiYSg0NSwgMjEyLCAxOTEsIDAuMik7XG4gIGNvbG9yOiAjMmRkNGJmO1xuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDQ1LCAyMTIsIDE5MSwgMC4zKTtcbn1cblxuLyogRXZlbnQgZm9ybSBpbnB1dHMgKi9cbi50aGVtZS1tb2Rlcm4tZGFyayAuZXZlbnQtaW5wdXQge1xuICBiYWNrZ3JvdW5kOiAjMGYxNzJhO1xuICBib3JkZXI6IDFweCBzb2xpZCAjMzM0MTU1O1xuICBjb2xvcjogI2YxZjVmOTtcbiAgcGFkZGluZzogMTBweCAxNHB4O1xuICB3aWR0aDogMTAwJTtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBib3JkZXItcmFkaXVzOiA2cHg7XG4gIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjE1cyBlYXNlO1xufVxuXG4udGhlbWUtbW9kZXJuLWRhcmsgLmV2ZW50LWlucHV0OmZvY3VzIHtcbiAgYm9yZGVyLWNvbG9yOiAjN2RkM2ZjO1xuICBvdXRsaW5lOiBub25lO1xufVxuXG4udGhlbWUtbW9kZXJuLWRhcmsgLmV2ZW50LWlucHV0OjpwbGFjZWhvbGRlciB7XG4gIGNvbG9yOiAjNjQ3NDhiO1xufVxuXG4vKiBFdmVudCBmb3JtIGxhYmVscyAqL1xuLnRoZW1lLW1vZGVybi1kYXJrIC5ldmVudC1sYWJlbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6IDEycHg7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGNvbG9yOiAjOTRhM2I4O1xuICBtYXJnaW4tYm90dG9tOiA2cHg7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGxldHRlci1zcGFjaW5nOiAwLjVweDtcbn1cblxuLyogRXZlbnQgYWN0aW9uIGJ1dHRvbnMgKi9cbi50aGVtZS1tb2Rlcm4tZGFyayAuZXZlbnQtYWN0aW9ucyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGdhcDogOHB4O1xuICBtYXJnaW4tbGVmdDogMTZweDtcbn1cblxuLnRoZW1lLW1vZGVybi1kYXJrIC5ldmVudC1idG4ge1xuICBwYWRkaW5nOiA2cHggMTJweDtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBmb250LXdlaWdodDogNTAwO1xuICBib3JkZXItcmFkaXVzOiA2cHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2U7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi50aGVtZS1tb2Rlcm4tZGFyayAuZXZlbnQtYnRuLXZpZXcge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDEyNSwgMjExLCAyNTIsIDAuMSk7XG4gIGNvbG9yOiAjN2RkM2ZjO1xuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDEyNSwgMjExLCAyNTIsIDAuMyk7XG59XG5cbi50aGVtZS1tb2Rlcm4tZGFyayAuZXZlbnQtYnRuLXZpZXc6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDEyNSwgMjExLCAyNTIsIDAuMik7XG59XG5cbi50aGVtZS1tb2Rlcm4tZGFyayAuZXZlbnQtYnRuLXRvZ2dsZSB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogIzk0YTNiODtcbiAgYm9yZGVyOiAxcHggc29saWQgIzQ3NTU2OTtcbn1cblxuLnRoZW1lLW1vZGVybi1kYXJrIC5ldmVudC1idG4tdG9nZ2xlOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogIzMzNDE1NTtcbiAgY29sb3I6ICNmMWY1Zjk7XG59XG5cbi50aGVtZS1tb2Rlcm4tZGFyayAuZXZlbnQtYnRuLXRvZ2dsZS5hY3RpdmUge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI0OCwgMTEzLCAxMTMsIDAuMSk7XG4gIGNvbG9yOiAjZjg3MTcxO1xuICBib3JkZXItY29sb3I6IHJnYmEoMjQ4LCAxMTMsIDExMywgMC4zKTtcbn1cblxuLnRoZW1lLW1vZGVybi1kYXJrIC5ldmVudC1idG4tZGVsZXRlIHtcbiAgYmFja2dyb3VuZDogcmdiYSgyMzksIDY4LCA2OCwgMC4xKTtcbiAgY29sb3I6ICNmODcxNzE7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjM5LCA2OCwgNjgsIDAuMyk7XG59XG5cbi50aGVtZS1tb2Rlcm4tZGFyayAuZXZlbnQtYnRuLWRlbGV0ZTpob3ZlciB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjM5LCA2OCwgNjgsIDAuMik7XG59XG5cbi8qIENyZWF0ZSBldmVudCBmb3JtICovXG4udGhlbWUtbW9kZXJuLWRhcmsgLmV2ZW50LWNyZWF0ZS1mb3JtIHtcbiAgYmFja2dyb3VuZDogIzFlMjkzYjtcbiAgYm9yZGVyOiAxcHggc29saWQgIzMzNDE1NTtcbiAgYm9yZGVyLXJhZGl1czogOHB4O1xuICBwYWRkaW5nOiAyNHB4O1xuICBtYXJnaW4tYm90dG9tOiAyNHB4O1xufVxuXG4udGhlbWUtbW9kZXJuLWRhcmsgLmV2ZW50LWNyZWF0ZS1mb3JtIGgzIHtcbiAgbWFyZ2luOiAwIDAgMjBweCAwO1xuICBmb250LXNpemU6IDE2cHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGNvbG9yOiAjZjFmNWY5O1xufVxuXG4udGhlbWUtbW9kZXJuLWRhcmsgLmV2ZW50LWZvcm0tZ3JpZCB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdhcDogMTZweDtcbn1cblxuLnRoZW1lLW1vZGVybi1kYXJrIC5ldmVudC1mb3JtLXJvdyB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmcjtcbiAgZ2FwOiAxNnB4O1xufVxuXG4udGhlbWUtbW9kZXJuLWRhcmsgLmV2ZW50LWZvcm0tYWN0aW9ucyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGdhcDogMTJweDtcbiAgbWFyZ2luLXRvcDogMTZweDtcbn1cblxuLyogSGVscCBtb2RhbCAqL1xuLnRoZW1lLW1vZGVybi1kYXJrIC5ldmVudHMtaGVscC1vdmVybGF5IHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC43KTtcbiAgei1pbmRleDogOTk5O1xufVxuXG4udGhlbWUtbW9kZXJuLWRhcmsgLmV2ZW50cy1oZWxwLW1vZGFsIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgYmFja2dyb3VuZDogIzFlMjkzYjtcbiAgYm9yZGVyOiAxcHggc29saWQgIzMzNDE1NTtcbiAgYm9yZGVyLXJhZGl1czogMTJweDtcbiAgcGFkZGluZzogMjRweDtcbiAgbWF4LXdpZHRoOiA1MDBweDtcbiAgbWF4LWhlaWdodDogODB2aDtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgei1pbmRleDogMTAwMDtcbiAgYm94LXNoYWRvdzogMCA0cHggMzBweCByZ2JhKDAsIDAsIDAsIDAuNSk7XG59XG5cbi50aGVtZS1tb2Rlcm4tZGFyayAuZXZlbnRzLWhlbHAtbW9kYWwgaDIge1xuICBtYXJnaW46IDAgMCAxNnB4IDA7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgY29sb3I6ICNmMWY1Zjk7XG59XG5cbi50aGVtZS1tb2Rlcm4tZGFyayAuZXZlbnRzLWhlbHAtbW9kYWwgaDMge1xuICBmb250LXNpemU6IDE0cHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGNvbG9yOiAjZTJlOGYwO1xuICBtYXJnaW46IDIwcHggMCA4cHggMDtcbn1cblxuLnRoZW1lLW1vZGVybi1kYXJrIC5ldmVudHMtaGVscC1tb2RhbCBwLFxuLnRoZW1lLW1vZGVybi1kYXJrIC5ldmVudHMtaGVscC1tb2RhbCBsaSB7XG4gIGZvbnQtc2l6ZTogMTNweDtcbiAgY29sb3I6ICM5NGEzYjg7XG4gIGxpbmUtaGVpZ2h0OiAxLjY7XG59XG5cbi50aGVtZS1tb2Rlcm4tZGFyayAuZXZlbnRzLWhlbHAtbW9kYWwgdWwge1xuICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gIG1hcmdpbjogMDtcbn1cblxuLyogRW1wdHkgc3RhdGUgKi9cbi50aGVtZS1tb2Rlcm4tZGFyayAuZXZlbnRzLWVtcHR5IHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBwYWRkaW5nOiA2MHB4IDIwcHg7XG4gIGNvbG9yOiAjNjQ3NDhiO1xufVxuXG4udGhlbWUtbW9kZXJuLWRhcmsgLmV2ZW50cy1lbXB0eSBwIHtcbiAgbWFyZ2luOiA4cHggMDtcbn1cblxuLyogRXZlbnQgaGVhZGVyICovXG4udGhlbWUtbW9kZXJuLWRhcmsgLmV2ZW50cy1oZWFkZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIG1hcmdpbi1ib3R0b206IDI0cHg7XG59XG5cbi50aGVtZS1tb2Rlcm4tZGFyayAuZXZlbnRzLWNvdW50IHtcbiAgY29sb3I6ICM5NGEzYjg7XG4gIGZvbnQtc2l6ZTogMTRweDtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEFETUlOIEdBTExFUlkgVU5JRklFRCBERVNJR04gU1lTVEVNXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29uc29saWRhdGVzIHRoZSByYWluYm93IGJvcmRlciBjaGFvcyBpbnRvIGEgY29oZXNpdmUgMy1jb2xvciBoaWVyYXJjaHkuXG4gICBSZXBsYWNlcyBpbmxpbmUgc3R5bGVzIGluIGFkbWluX2xpdmUuaHRtbC5oZWV4IHdpdGggcHJvcGVyIENTUyBjbGFzc2VzLlxuXG4gICBDb2xvciBQYWxldHRlOlxuICAgLSBQcmltYXJ5IChDeWFuKTogIzdkZDNmYyAtIE1haW4gY29udHJvbHMsIGFjdGl2ZSBzdGF0ZXNcbiAgIC0gU2Vjb25kYXJ5IChHcmVlbik6ICM0YWRlODAgLSBTdWNjZXNzIHN0YXRlcywgY29uZmlybWF0aW9uc1xuICAgLSBUZXJ0aWFyeSAoQW1iZXIpOiAjZmJiZjI0IC0gV2FybmluZ3MsIHNwZWNpYWwgbW9kZXNcbiAgIC0gRGFuZ2VyIChSZWQpOiAjZjg3MTcxIC0gRGVzdHJ1Y3RpdmUgYWN0aW9uc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiovXG5cbi8qIEFkbWluIENvbG9yIFZhcmlhYmxlcyAqL1xuLmFkbWluLXBhZ2Uge1xuICAtLWFkbWluLWJnOiAjMGYxNzJhO1xuICAtLWFkbWluLXN1cmZhY2U6ICMxZTI5M2I7XG4gIC0tYWRtaW4tc3VyZmFjZS1lbGV2YXRlZDogIzMzNDE1NTtcbiAgLS1hZG1pbi1ib3JkZXI6ICM0NzU1Njk7XG4gIC0tYWRtaW4tdGV4dDogI2UyZThmMDtcbiAgLS1hZG1pbi10ZXh0LW11dGVkOiAjOTRhM2I4O1xuICAtLWFkbWluLXRleHQtZGltOiAjNjQ3NDhiO1xuXG4gIC8qIEFjY2VudCBDb2xvcnMgLSAzLWNvbG9yIGhpZXJhcmNoeSAqL1xuICAtLWFkbWluLWFjY2VudC1wcmltYXJ5OiAjN2RkM2ZjOyAgICAvKiBDeWFuIC0gbWFpbiBhY3Rpb25zICovXG4gIC0tYWRtaW4tYWNjZW50LXNlY29uZGFyeTogIzRhZGU4MDsgIC8qIEdyZWVuIC0gc3VjY2Vzcy9hY3RpdmUgKi9cbiAgLS1hZG1pbi1hY2NlbnQtdGVydGlhcnk6ICNmYmJmMjQ7ICAgLyogQW1iZXIgLSB3YXJuaW5ncy9zcGVjaWFsICovXG4gIC0tYWRtaW4tYWNjZW50LWRhbmdlcjogI2Y4NzE3MTsgICAgIC8qIFJlZCAtIGRlc3RydWN0aXZlICovXG5cbiAgLyogQWNjZW50IEJhY2tncm91bmRzICgxMCUgb3BhY2l0eSkgKi9cbiAgLS1hZG1pbi1hY2NlbnQtcHJpbWFyeS1iZzogcmdiYSgxMjUsIDIxMSwgMjUyLCAwLjEpO1xuICAtLWFkbWluLWFjY2VudC1zZWNvbmRhcnktYmc6IHJnYmEoNzQsIDIyMiwgMTI4LCAwLjEpO1xuICAtLWFkbWluLWFjY2VudC10ZXJ0aWFyeS1iZzogcmdiYSgyNTEsIDE5MSwgMzYsIDAuMSk7XG4gIC0tYWRtaW4tYWNjZW50LWRhbmdlci1iZzogcmdiYSgyNDgsIDExMywgMTEzLCAwLjEpO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQWRtaW4gU2VjdGlvbiBDYXJkcyAtIFVuaWZpZWQgQm9yZGVyIEhpZXJhcmNoeVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiovXG5cbi5hZG1pbi1zZWN0aW9uLS1wcmltYXJ5IHtcbiAgYmFja2dyb3VuZDogdmFyKC0tYWRtaW4tc3VyZmFjZSk7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWFkbWluLWJvcmRlcik7XG4gIGJvcmRlci1sZWZ0OiAzcHggc29saWQgdmFyKC0tYWRtaW4tYWNjZW50LXByaW1hcnkpO1xuICBib3JkZXItcmFkaXVzOiA4cHg7XG4gIHBhZGRpbmc6IDIwcHg7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG59XG5cbi5hZG1pbi1zZWN0aW9uLS1zZWNvbmRhcnkge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1hZG1pbi1zdXJmYWNlKTtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYWRtaW4tYm9yZGVyKTtcbiAgYm9yZGVyLWxlZnQ6IDNweCBzb2xpZCB2YXIoLS1hZG1pbi1hY2NlbnQtc2Vjb25kYXJ5KTtcbiAgYm9yZGVyLXJhZGl1czogOHB4O1xuICBwYWRkaW5nOiAyMHB4O1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xufVxuXG4uYWRtaW4tc2VjdGlvbi0tdGVydGlhcnkge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1hZG1pbi1zdXJmYWNlKTtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYWRtaW4tYm9yZGVyKTtcbiAgYm9yZGVyLWxlZnQ6IDNweCBzb2xpZCB2YXIoLS1hZG1pbi1hY2NlbnQtdGVydGlhcnkpO1xuICBib3JkZXItcmFkaXVzOiA4cHg7XG4gIHBhZGRpbmc6IDIwcHg7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG59XG5cbi5hZG1pbi1zZWN0aW9uLS1kYW5nZXIge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1hZG1pbi1zdXJmYWNlKTtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYWRtaW4tYWNjZW50LWRhbmdlcik7XG4gIGJvcmRlci1sZWZ0OiAzcHggc29saWQgdmFyKC0tYWRtaW4tYWNjZW50LWRhbmdlcik7XG4gIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgcGFkZGluZzogMjBweDtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbn1cblxuLmFkbWluLXNlY3Rpb24tLW5ldXRyYWwge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1hZG1pbi1zdXJmYWNlKTtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYWRtaW4tYm9yZGVyKTtcbiAgYm9yZGVyLXJhZGl1czogOHB4O1xuICBwYWRkaW5nOiAyMHB4O1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xufVxuXG4vKiBTZWN0aW9uIEhlYWRlcnMgKi9cbi5hZG1pbi1zZWN0aW9uX19oZWFkZXIge1xuICBmb250LXNpemU6IDE0cHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGxldHRlci1zcGFjaW5nOiAwLjVweDtcbiAgbWFyZ2luLWJvdHRvbTogMTZweDtcbiAgcGFkZGluZy1ib3R0b206IDEycHg7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1hZG1pbi1ib3JkZXIpO1xufVxuXG4uYWRtaW4tc2VjdGlvbi0tcHJpbWFyeSAuYWRtaW4tc2VjdGlvbl9faGVhZGVyIHtcbiAgY29sb3I6IHZhcigtLWFkbWluLWFjY2VudC1wcmltYXJ5KTtcbn1cblxuLmFkbWluLXNlY3Rpb24tLXNlY29uZGFyeSAuYWRtaW4tc2VjdGlvbl9faGVhZGVyIHtcbiAgY29sb3I6IHZhcigtLWFkbWluLWFjY2VudC1zZWNvbmRhcnkpO1xufVxuXG4uYWRtaW4tc2VjdGlvbi0tdGVydGlhcnkgLmFkbWluLXNlY3Rpb25fX2hlYWRlciB7XG4gIGNvbG9yOiB2YXIoLS1hZG1pbi1hY2NlbnQtdGVydGlhcnkpO1xufVxuXG4uYWRtaW4tc2VjdGlvbi0tZGFuZ2VyIC5hZG1pbi1zZWN0aW9uX19oZWFkZXIge1xuICBjb2xvcjogdmFyKC0tYWRtaW4tYWNjZW50LWRhbmdlcik7XG59XG5cbi8qIFNlY3Rpb24gRGVzY3JpcHRpb24gKi9cbi5hZG1pbi1zZWN0aW9uX19kZXNjIHtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBjb2xvcjogdmFyKC0tYWRtaW4tdGV4dC1tdXRlZCk7XG4gIG1hcmdpbjogOHB4IDAgMTZweCAwO1xuICBsaW5lLWhlaWdodDogMS41O1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQWRtaW4gQnV0dG9ucyAtIFVuaWZpZWQgU3R5bGluZ1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiovXG5cbi5hZG1pbi1idG4tLXByaW1hcnkge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1hZG1pbi1hY2NlbnQtcHJpbWFyeSk7XG4gIGNvbG9yOiB2YXIoLS1hZG1pbi1iZyk7XG4gIGJvcmRlcjogbm9uZTtcbiAgcGFkZGluZzogMTBweCAyMHB4O1xuICBib3JkZXItcmFkaXVzOiA2cHg7XG4gIGZvbnQtc2l6ZTogMTNweDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMTVzIGVhc2U7XG59XG5cbi5hZG1pbi1idG4tLXByaW1hcnk6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiAjMzhiZGY4O1xufVxuXG4uYWRtaW4tYnRuLS1zZWNvbmRhcnkge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1hZG1pbi1zdXJmYWNlLWVsZXZhdGVkKTtcbiAgY29sb3I6IHZhcigtLWFkbWluLXRleHQpO1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1hZG1pbi1ib3JkZXIpO1xuICBwYWRkaW5nOiAxMHB4IDIwcHg7XG4gIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgZm9udC1zaXplOiAxM3B4O1xuICBmb250LXdlaWdodDogNTAwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlO1xufVxuXG4uYWRtaW4tYnRuLS1zZWNvbmRhcnk6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiAjNDc1NTY5O1xuICBib3JkZXItY29sb3I6ICM2NDc0OGI7XG59XG5cbi5hZG1pbi1idG4tLXN1Y2Nlc3Mge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1hZG1pbi1hY2NlbnQtc2Vjb25kYXJ5KTtcbiAgY29sb3I6IHZhcigtLWFkbWluLWJnKTtcbiAgYm9yZGVyOiBub25lO1xuICBwYWRkaW5nOiAxMHB4IDIwcHg7XG4gIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgZm9udC1zaXplOiAxM3B4O1xuICBmb250LXdlaWdodDogNTAwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5hZG1pbi1idG4tLXN1Y2Nlc3M6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiAjMjJjNTVlO1xufVxuXG4uYWRtaW4tYnRuLS13YXJuaW5nIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tYWRtaW4tYWNjZW50LXRlcnRpYXJ5LWJnKTtcbiAgY29sb3I6IHZhcigtLWFkbWluLWFjY2VudC10ZXJ0aWFyeSk7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWFkbWluLWFjY2VudC10ZXJ0aWFyeSk7XG4gIHBhZGRpbmc6IDEwcHggMjBweDtcbiAgYm9yZGVyLXJhZGl1czogNnB4O1xuICBmb250LXNpemU6IDEzcHg7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLmFkbWluLWJ0bi0td2FybmluZzpob3ZlciB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjUxLCAxOTEsIDM2LCAwLjIpO1xufVxuXG4uYWRtaW4tYnRuLS1kYW5nZXIge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1hZG1pbi1hY2NlbnQtZGFuZ2VyLWJnKTtcbiAgY29sb3I6IHZhcigtLWFkbWluLWFjY2VudC1kYW5nZXIpO1xuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDI0OCwgMTEzLCAxMTMsIDAuMyk7XG4gIHBhZGRpbmc6IDEwcHggMjBweDtcbiAgYm9yZGVyLXJhZGl1czogNnB4O1xuICBmb250LXNpemU6IDEzcHg7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLmFkbWluLWJ0bi0tZGFuZ2VyOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogcmdiYSgyNDgsIDExMywgMTEzLCAwLjIpO1xufVxuXG4vKiBUb2dnbGUgYnV0dG9uIGFjdGl2ZSBzdGF0ZXMgKi9cbi5hZG1pbi1idG4tLXRvZ2dsZSB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWFkbWluLXN1cmZhY2UpO1xuICBjb2xvcjogdmFyKC0tYWRtaW4tdGV4dC1tdXRlZCk7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWFkbWluLWJvcmRlcik7XG4gIHBhZGRpbmc6IDEwcHggMjBweDtcbiAgYm9yZGVyLXJhZGl1czogNnB4O1xuICBmb250LXNpemU6IDEzcHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogOHB4O1xufVxuXG4uYWRtaW4tYnRuLS10b2dnbGUuYWN0aXZlIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tYWRtaW4tYWNjZW50LXNlY29uZGFyeS1iZyk7XG4gIGNvbG9yOiB2YXIoLS1hZG1pbi1hY2NlbnQtc2Vjb25kYXJ5KTtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1hZG1pbi1hY2NlbnQtc2Vjb25kYXJ5KTtcbn1cblxuLmFkbWluLWJ0bi0tdG9nZ2xlLmFjdGl2ZS13YXJuaW5nIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tYWRtaW4tYWNjZW50LXRlcnRpYXJ5LWJnKTtcbiAgY29sb3I6IHZhcigtLWFkbWluLWFjY2VudC10ZXJ0aWFyeSk7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tYWRtaW4tYWNjZW50LXRlcnRpYXJ5KTtcbn1cblxuLmFkbWluLWJ0bi0tdG9nZ2xlLmFjdGl2ZS1kYW5nZXIge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1hZG1pbi1hY2NlbnQtZGFuZ2VyLWJnKTtcbiAgY29sb3I6IHZhcigtLWFkbWluLWFjY2VudC1kYW5nZXIpO1xuICBib3JkZXItY29sb3I6IHZhcigtLWFkbWluLWFjY2VudC1kYW5nZXIpO1xufVxuXG4vKiBTdGF0dXMgaW5kaWNhdG9yIGRvdCAqL1xuLmFkbWluLXN0YXR1cy1kb3Qge1xuICB3aWR0aDogOHB4O1xuICBoZWlnaHQ6IDhweDtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1hZG1pbi10ZXh0LWRpbSk7XG59XG5cbi5hZG1pbi1zdGF0dXMtZG90LmFjdGl2ZSB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWFkbWluLWFjY2VudC1zZWNvbmRhcnkpO1xufVxuXG4uYWRtaW4tc3RhdHVzLWRvdC53YXJuaW5nIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tYWRtaW4tYWNjZW50LXRlcnRpYXJ5KTtcbiAgYW5pbWF0aW9uOiBwdWxzZSAxcyBpbmZpbml0ZTtcbn1cblxuLmFkbWluLXN0YXR1cy1kb3QuZGFuZ2VyIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tYWRtaW4tYWNjZW50LWRhbmdlcik7XG4gIGFuaW1hdGlvbjogcHVsc2UgMXMgaW5maW5pdGU7XG59XG5cbkBrZXlmcmFtZXMgcHVsc2Uge1xuICAwJSwgMTAwJSB7IG9wYWNpdHk6IDE7IH1cbiAgNTAlIHsgb3BhY2l0eTogMC41OyB9XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBUaGVtZSBTZWxlY3RvciBCdXR0b25zIC0gVW5pZmllZCBHcmlkXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuKi9cblxuLmFkbWluLXRoZW1lLWdyaWQge1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg0LCAxZnIpO1xuICBnYXA6IDhweDtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gIC5hZG1pbi10aGVtZS1ncmlkIHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpO1xuICB9XG59XG5cbi5hZG1pbi10aGVtZS1idG4ge1xuICBwYWRkaW5nOiAxMnB4IDhweDtcbiAgYm9yZGVyLXJhZGl1czogNnB4O1xuICBmb250LXNpemU6IDExcHg7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBib3JkZXI6IDJweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2U7XG4gIGJhY2tncm91bmQ6IHZhcigtLWFkbWluLXN1cmZhY2UpO1xuICBjb2xvcjogdmFyKC0tYWRtaW4tdGV4dCk7XG59XG5cbi5hZG1pbi10aGVtZS1idG46aG92ZXIge1xuICBib3JkZXItY29sb3I6IHZhcigtLWFkbWluLWJvcmRlcik7XG59XG5cbi5hZG1pbi10aGVtZS1idG4uc2VsZWN0ZWQge1xuICBib3JkZXItY29sb3I6IHZhcigtLWFkbWluLWFjY2VudC1wcmltYXJ5KTtcbiAgYm94LXNoYWRvdzogMCAwIDEycHggcmdiYSgxMjUsIDIxMSwgMjUyLCAwLjMpO1xufVxuXG4vKiBUaGVtZS1zcGVjaWZpYyBjb2xvcnMgKGFwcGxpZWQgdmlhIGRhdGEgYXR0cmlidXRlIG9yIGlubGluZSkgKi9cbi5hZG1pbi10aGVtZS1idG5bZGF0YS10aGVtZT1cImtvZGFrXCJdIHsgYmFja2dyb3VuZDogI2ZiYmYyNDsgY29sb3I6ICNkYzI2MjY7IH1cbi5hZG1pbi10aGVtZS1idG5bZGF0YS10aGVtZT1cImZ1amlcIl0geyBiYWNrZ3JvdW5kOiAjMDA2YjNjOyBjb2xvcjogI2ZmZjsgfVxuLmFkbWluLXRoZW1lLWJ0bltkYXRhLXRoZW1lPVwicG9sYXJvaWRcIl0geyBiYWNrZ3JvdW5kOiAjZjVmNWY1OyBjb2xvcjogIzMzMzsgfVxuLmFkbWluLXRoZW1lLWJ0bltkYXRhLXRoZW1lPVwibm9pclwiXSB7IGJhY2tncm91bmQ6ICMwMDA7IGNvbG9yOiAjZmZmOyB9XG4uYWRtaW4tdGhlbWUtYnRuW2RhdGEtdGhlbWU9XCJwbGF5Ym95XCJdIHsgYmFja2dyb3VuZDogIzAwMDsgY29sb3I6ICNkNGFmMzc7IH1cbi5hZG1pbi10aGVtZS1idG5bZGF0YS10aGVtZT1cInBlbnRob3VzZVwiXSB7IGJhY2tncm91bmQ6ICMxYTFhMmU7IGNvbG9yOiAjYzlhMjI3OyB9XG4uYWRtaW4tdGhlbWUtYnRuW2RhdGEtdGhlbWU9XCJodXN0bGVyXCJdIHsgYmFja2dyb3VuZDogIzhiMDAwMDsgY29sb3I6ICNmZmQ3MDA7IH1cbi5hZG1pbi10aGVtZS1idG5bZGF0YS10aGVtZT1cImluc3RhZ3JhbVwiXSB7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg0NWRlZywgI2YwOTQzMywgI2U2NjgzYywgI2RjMjc0MywgI2NjMjM2NiwgI2JjMTg4OCk7XG4gIGNvbG9yOiAjZmZmO1xufVxuLmFkbWluLXRoZW1lLWJ0bltkYXRhLXRoZW1lPVwid2ViMVwiXSB7IGJhY2tncm91bmQ6ICNjMGMwYzA7IGNvbG9yOiAjMDAwMDgwOyB9XG4uYWRtaW4tdGhlbWUtYnRuW2RhdGEtdGhlbWU9XCJ3dzJcIl0geyBiYWNrZ3JvdW5kOiAjMmQyYTFmOyBjb2xvcjogI2Q0YzlhODsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQWRtaW4gU3RhdHMgR3JpZFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiovXG5cbi5hZG1pbi1zdGF0cy1yb3cge1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg0LCAxZnIpO1xuICBnYXA6IDEycHg7XG4gIG1hcmdpbjogMTZweCAwO1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgLmFkbWluLXN0YXRzLXJvdyB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTtcbiAgfVxufVxuXG4uYWRtaW4tc3RhdCB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWFkbWluLWJnKTtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYWRtaW4tYm9yZGVyKTtcbiAgYm9yZGVyLXJhZGl1czogNnB4O1xuICBwYWRkaW5nOiAxMnB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5hZG1pbi1zdGF0X19sYWJlbCB7XG4gIGZvbnQtc2l6ZTogMTBweDtcbiAgY29sb3I6IHZhcigtLWFkbWluLXRleHQtZGltKTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuNXB4O1xuICBtYXJnaW4tYm90dG9tOiA0cHg7XG59XG5cbi5hZG1pbi1zdGF0X192YWx1ZSB7XG4gIGZvbnQtc2l6ZTogMjBweDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgY29sb3I6IHZhcigtLWFkbWluLWFjY2VudC1wcmltYXJ5KTtcbn1cblxuLmFkbWluLXN0YXRfX3ZhbHVlLnN1Y2Nlc3MgeyBjb2xvcjogdmFyKC0tYWRtaW4tYWNjZW50LXNlY29uZGFyeSk7IH1cbi5hZG1pbi1zdGF0X192YWx1ZS53YXJuaW5nIHsgY29sb3I6IHZhcigtLWFkbWluLWFjY2VudC10ZXJ0aWFyeSk7IH1cbi5hZG1pbi1zdGF0X192YWx1ZS5kYW5nZXIgeyBjb2xvcjogdmFyKC0tYWRtaW4tYWNjZW50LWRhbmdlcik7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEFkbWluIFR5cG9ncmFwaHkgU2NhbGVcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBNaW5pbXVtIDEycHggZm9yIHJlYWRhYmlsaXR5LiBCYXNlIDE0cHguXG4qL1xuXG4uYWRtaW4tcGFnZSB7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbn1cblxuLmFkbWluLXRleHQteHMgeyBmb250LXNpemU6IDEycHg7IH0gIC8qIE1pbmltdW0gKi9cbi5hZG1pbi10ZXh0LXNtIHsgZm9udC1zaXplOiAxM3B4OyB9XG4uYWRtaW4tdGV4dC1iYXNlIHsgZm9udC1zaXplOiAxNHB4OyB9XG4uYWRtaW4tdGV4dC1sZyB7IGZvbnQtc2l6ZTogMTZweDsgfVxuLmFkbWluLXRleHQteGwgeyBmb250LXNpemU6IDE4cHg7IH1cblxuLmFkbWluLXRleHQtbXV0ZWQgeyBjb2xvcjogdmFyKC0tYWRtaW4tdGV4dC1tdXRlZCk7IH1cbi5hZG1pbi10ZXh0LWRpbSB7IGNvbG9yOiB2YXIoLS1hZG1pbi10ZXh0LWRpbSk7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEFkbWluIEZvcm1zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuKi9cblxuLmFkbWluLWlucHV0IHtcbiAgYmFja2dyb3VuZDogdmFyKC0tYWRtaW4tYmcpO1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1hZG1pbi1ib3JkZXIpO1xuICBib3JkZXItcmFkaXVzOiA2cHg7XG4gIHBhZGRpbmc6IDEwcHggMTRweDtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBjb2xvcjogdmFyKC0tYWRtaW4tdGV4dCk7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uYWRtaW4taW5wdXQ6Zm9jdXMge1xuICBvdXRsaW5lOiBub25lO1xuICBib3JkZXItY29sb3I6IHZhcigtLWFkbWluLWFjY2VudC1wcmltYXJ5KTtcbiAgYm94LXNoYWRvdzogMCAwIDAgM3B4IHZhcigtLWFkbWluLWFjY2VudC1wcmltYXJ5LWJnKTtcbn1cblxuLmFkbWluLWlucHV0OjpwbGFjZWhvbGRlciB7XG4gIGNvbG9yOiB2YXIoLS1hZG1pbi10ZXh0LWRpbSk7XG59XG5cbi5hZG1pbi1sYWJlbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6IDEycHg7XG4gIGNvbG9yOiB2YXIoLS1hZG1pbi10ZXh0LW11dGVkKTtcbiAgbWFyZ2luLWJvdHRvbTogNnB4O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBsZXR0ZXItc3BhY2luZzogMC4zcHg7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBBZG1pbiBCdXR0b24gR3JpZCAoMy1jb2wgbGF5b3V0IGZvciBjb250cm9scylcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4qL1xuXG4uYWRtaW4tYnRuLWdyaWQge1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLCAxZnIpO1xuICBnYXA6IDEycHg7XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAuYWRtaW4tYnRuLWdyaWQge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuICB9XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBNb2JpbGUgUmVzcG9uc2l2ZSBBZGp1c3RtZW50cyAocGVyIEdlbWluaSBkZXNpZ24gcmV2aWV3KVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiovXG5cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAuYWRtaW4tcGFnZSB7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICB9XG5cbiAgLmFkbWluLXNlY3Rpb25fX2hlYWRlciB7XG4gICAgZm9udC1zaXplOiAxNXB4O1xuICB9XG5cbiAgLmFkbWluLWJ0bi0tcHJpbWFyeSxcbiAgLmFkbWluLWJ0bi0tc2Vjb25kYXJ5LFxuICAuYWRtaW4tYnRuLS10b2dnbGUge1xuICAgIHBhZGRpbmc6IDE0cHggMjBweDtcbiAgICBmb250LXNpemU6IDE1cHg7XG4gICAgbWluLWhlaWdodDogNDhweDtcbiAgfVxuXG4gIC5hZG1pbi1pbnB1dCB7XG4gICAgcGFkZGluZzogMTRweDtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgbWluLWhlaWdodDogNDhweDtcbiAgfVxuXG4gIC8qIEFkbWluIG5hdjogd3JhcCBhbmQgc3RhY2sgb24gbW9iaWxlICovXG4gIC5hZG1pbi1uYXYsXG4gIC50aGVtZS1tb2Rlcm4gLmFkbWluLW5hdixcbiAgLnRoZW1lLW1vZGVybi1kYXJrIC5hZG1pbi1uYXYge1xuICAgIGZsZXgtd3JhcDogd3JhcCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmc6IDhweCAhaW1wb3J0YW50O1xuICAgIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgIGdhcDogMnB4O1xuICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgbWF4LXdpZHRoOiAxMDB2dyAhaW1wb3J0YW50O1xuICAgIG92ZXJmbG93LXg6IGhpZGRlbiAhaW1wb3J0YW50O1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIH1cblxuICAuYWRtaW4tbmF2LWJyYW5kLFxuICAudGhlbWUtbW9kZXJuIC5hZG1pbi1uYXYtYnJhbmQsXG4gIC50aGVtZS1tb2Rlcm4tZGFyayAuYWRtaW4tbmF2LWJyYW5kIHtcbiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwYWRkaW5nOiA4cHggIWltcG9ydGFudDtcbiAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgICBib3JkZXItcmlnaHQ6IG5vbmUgIWltcG9ydGFudDtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgxMjgsMTI4LDEyOCwwLjIpO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIH1cblxuICAuYWRtaW4tbmF2LWl0ZW0sXG4gIC50aGVtZS1tb2Rlcm4gLmFkbWluLW5hdi1pdGVtLFxuICAudGhlbWUtbW9kZXJuLWRhcmsgLmFkbWluLW5hdi1pdGVtIHtcbiAgICBwYWRkaW5nOiA2cHggOHB4ICFpbXBvcnRhbnQ7XG4gICAgbWluLWhlaWdodDogNDBweDtcbiAgICBmb250LXNpemU6IDExcHggIWltcG9ydGFudDtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB9XG5cbiAgLmFkbWluLW5hdi1zcGFjZXIsXG4gIC50aGVtZS1tb2Rlcm4gLmFkbWluLW5hdi1zcGFjZXIsXG4gIC50aGVtZS1tb2Rlcm4tZGFyayAuYWRtaW4tbmF2LXNwYWNlciB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmFkbWluLW5hdi1iYWNrLFxuICAudGhlbWUtbW9kZXJuIC5hZG1pbi1uYXYtYmFjayxcbiAgLnRoZW1lLW1vZGVybi1kYXJrIC5hZG1pbi1uYXYtYmFjayB7XG4gICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbWFyZ2luLXRvcDogNHB4O1xuICAgIHBhZGRpbmc6IDhweCAhaW1wb3J0YW50O1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIH1cblxuICAvKiBQcmV2ZW50IGhvcml6b250YWwgb3ZlcmZsb3cgKi9cbiAgLmFkbWluLXBhZ2UsXG4gIGJvZHkge1xuICAgIG1heC13aWR0aDogMTAwdncgIWltcG9ydGFudDtcbiAgICBvdmVyZmxvdy14OiBoaWRkZW4gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5hZG1pbi1jb250ZW50LFxuICAudGhlbWUtbW9kZXJuIC5hZG1pbi1jb250ZW50LFxuICAudGhlbWUtbW9kZXJuLWRhcmsgLmFkbWluLWNvbnRlbnQge1xuICAgIHBhZGRpbmc6IDhweCAhaW1wb3J0YW50O1xuICAgIG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLyogU2VjdGlvbnM6IGZ1bGwgd2lkdGgsIGxlc3MgcGFkZGluZyAqL1xuICAuYWRtaW4tc2VjdGlvbiB7XG4gICAgcGFkZGluZzogMTJweDtcbiAgICBtYXJnaW46IDhweCAwO1xuICB9XG5cbiAgLyogR3JpZHM6IHNpbmdsZSBjb2x1bW4gKi9cbiAgLmFkbWluLXN0YXRzLWdyaWQsXG4gIC5jbHVzdGVyLXN0YXRzLWdyaWQsXG4gIC5hZG1pbi1idXR0b24tZ3JvdXAge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyICFpbXBvcnRhbnQ7XG4gIH1cblxuICAvKiBJbWFnZSBncmlkOiAyIGNvbHVtbnMgb24gbW9iaWxlICovXG4gIC5hZG1pbi1pbWFnZS1ncmlkIHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpICFpbXBvcnRhbnQ7XG4gICAgZ2FwOiA4cHg7XG4gIH1cblxuICAvKiBUYWJsZXM6IGhvcml6b250YWwgc2Nyb2xsICovXG4gIC5hZG1pbi10YWJsZS13cmFwcGVyIHtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgfVxuXG4gIC8qIFZIUyBjb250cm9sczogc3RhY2sgKi9cbiAgLnZocy1jb250cm9scyB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IDhweDtcbiAgfVxuXG4gIC52aHMtY29udHJvbCB7XG4gICAgbWluLWhlaWdodDogNDRweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gIC8qIExFRCBkaXNwbGF5czogc21hbGxlciBvbiBtb2JpbGUgKi9cbiAgLmxlZC1kaXNwbGF5IHtcbiAgICBmb250LXNpemU6IDExcHg7XG4gICAgcGFkZGluZzogNHB4IDhweDtcbiAgfVxuXG4gIC8qIEZsb3BweSBsYWJlbHM6IHN0YWNrICovXG4gIC5mbG9wcHktZ3JpZCB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgIWltcG9ydGFudDtcbiAgfVxufVxuXG4vKiBVdGlsaXR5OiBmbGV4LTEgKi9cbi5mbGV4LTEgeyBmbGV4OiAxOyB9XG4iLCAiLyogQUkgQ29sbGFiIERhc2hib2FyZCAtIDkwcyBTY2ktRmkgTWVnYSBDb21wdXRlciAqL1xuLyogVGhpbms6IFdPUFIsIEp1cmFzc2ljIFBhcmssIFRoZSBNYXRyaXggKi9cblxuLyogRm9udHMgbG9hZGVkIHZpYSA8bGluaz4gaW4gcm9vdC5odG1sLmhlZXggXHUyMDE0IG5vIGR1cGxpY2F0ZSBAaW1wb3J0IG5lZWRlZCAqL1xuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogUGFnZSBMYXlvdXQgLSBEYXJrIFRlcm1pbmFsICovXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uaG4tcGFnZSB7XG4gIGJhY2tncm91bmQ6ICMwYTBhMGY7XG4gIG1pbi1oZWlnaHQ6IDEwMHZoO1xuICBmb250LWZhbWlseTogJ1NoYXJlIFRlY2ggTW9ubycsICdDb3VyaWVyIE5ldycsIG1vbm9zcGFjZTtcbiAgZm9udC1zaXplOiAxMXB0O1xuICBjb2xvcjogIzAwZmY4ODtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdy14OiBoaWRkZW47XG59XG5cbi8qIFNjYW5saW5lIG92ZXJsYXkgZWZmZWN0ICovXG4uaG4tcGFnZTo6YmVmb3JlIHtcbiAgY29udGVudDogJyc7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBiYWNrZ3JvdW5kOiByZXBlYXRpbmctbGluZWFyLWdyYWRpZW50KFxuICAgIDBkZWcsXG4gICAgcmdiYSgwLDAsMCwwLjEpIDBweCxcbiAgICByZ2JhKDAsMCwwLDAuMSkgMXB4LFxuICAgIHRyYW5zcGFyZW50IDFweCxcbiAgICB0cmFuc3BhcmVudCAycHhcbiAgKTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIHotaW5kZXg6IDEwMDA7XG59XG5cbi5obi1jb250ZW50IHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDE1cHggMjBweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogSGVhZGVyICYgTmF2aWdhdGlvbiAtIFNjaS1GaSBUZXJtaW5hbCAqL1xuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmhuLWhlYWRlciB7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsICMxYTFhMmUgMCUsICMwZjBmMWEgMTAwJSk7XG4gIHBhZGRpbmc6IDhweCAyMHB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDIwcHg7XG4gIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjMDBmZjg4O1xuICBib3gtc2hhZG93OiAwIDAgMjBweCByZ2JhKDAsMjU1LDEzNiwwLjMpO1xufVxuXG4uaG4tbG9nbyB7XG4gIGZvbnQtZmFtaWx5OiAnVlQzMjMnLCBtb25vc3BhY2U7XG4gIGZvbnQtc2l6ZTogMjRwdDtcbiAgY29sb3I6ICMwMGZmODg7XG4gIHRleHQtc2hhZG93OiAwIDAgMTBweCAjMDBmZjg4LCAwIDAgMjBweCAjMDBmZjg4O1xuICBsZXR0ZXItc3BhY2luZzogM3B4O1xufVxuXG4uaG4tbmF2IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZ2FwOiA1cHg7XG4gIGZsZXg6IDE7XG59XG5cbi5obi1uYXYgYSxcbi5obi10YWIge1xuICBjb2xvcjogIzAwYWE2NjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHBhZGRpbmc6IDZweCAxMnB4O1xuICBib3JkZXI6IDFweCBzb2xpZCAjMDBhYTY2O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBmb250LXNpemU6IDlwdDtcbiAgbGV0dGVyLXNwYWNpbmc6IDFweDtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMnM7XG59XG5cbi5obi10YWIuYWN0aXZlIHtcbiAgYmFja2dyb3VuZDogIzAwZmY4ODtcbiAgY29sb3I6ICMwMDA7XG4gIGJveC1zaGFkb3c6IDAgMCAxMHB4ICMwMGZmODg7XG59XG5cbi5obi10YWI6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsMjU1LDEzNiwwLjIpO1xuICBib3JkZXItY29sb3I6ICMwMGZmODg7XG4gIGNvbG9yOiAjMDBmZjg4O1xufVxuXG4uaG4tdXNlciB7XG4gIGNvbG9yOiAjZmY2NjAwO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBmb250LXNpemU6IDlwdDtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIENsb2NrIEJhciAtIFN5c3RlbSBTdGF0dXMgKi9cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5obi1jbG9jay1iYXIge1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoOTBkZWcsIHJnYmEoMCwyNTUsMTM2LDAuMSkgMCUsIHRyYW5zcGFyZW50IDUwJSwgcmdiYSgwLDE3MCwyNTUsMC4xKSAxMDAlKTtcbiAgcGFkZGluZzogMTBweCAyMHB4O1xuICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGJvcmRlcjogMXB4IHNvbGlkICMzMzM7XG4gIGJvcmRlci1sZWZ0OiAzcHggc29saWQgIzAwZmY4ODtcbn1cblxuLmhuLWNsb2NrIHtcbiAgZm9udC1mYW1pbHk6ICdWVDMyMycsIG1vbm9zcGFjZTtcbiAgZm9udC1zaXplOiAyMHB0O1xuICBjb2xvcjogIzAwZmY4ODtcbiAgdGV4dC1zaGFkb3c6IDAgMCAxMHB4ICMwMGZmODg7XG4gIGxldHRlci1zcGFjaW5nOiAycHg7XG59XG5cbi5obi10ei1zZWxlY3Qge1xuICBiYWNrZ3JvdW5kOiAjMTExO1xuICBib3JkZXI6IDFweCBzb2xpZCAjMDBhYTY2O1xuICBwYWRkaW5nOiA1cHggMTBweDtcbiAgZm9udC1zaXplOiA5cHQ7XG4gIGNvbG9yOiAjMDBmZjg4O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGZvbnQtZmFtaWx5OiAnU2hhcmUgVGVjaCBNb25vJywgbW9ub3NwYWNlO1xufVxuXG4uaG4tdHotc2VsZWN0OmhvdmVyIHtcbiAgYm9yZGVyLWNvbG9yOiAjMDBmZjg4O1xuICBib3gtc2hhZG93OiAwIDAgMTBweCByZ2JhKDAsMjU1LDEzNiwwLjMpO1xufVxuXG4uaG4tdHotc2VsZWN0OmZvY3VzIHtcbiAgb3V0bGluZTogbm9uZTtcbiAgYm9yZGVyLWNvbG9yOiAjMDBmZjg4O1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogU3RhdHMgQmFyIC0gU3lzdGVtIE1ldHJpY3MgKi9cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5obi1zdGF0cyB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwwLDAsMC4zKTtcbiAgcGFkZGluZzogMTBweCAxNXB4O1xuICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBnYXA6IDIwcHg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgZm9udC1zaXplOiAxMHB0O1xuICBjb2xvcjogIzY2NjtcbiAgYm9yZGVyOiAxcHggc29saWQgIzIyMjtcbn1cblxuLmhuLXN0YXQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBnYXA6IDZweDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBwYWRkaW5nOiA0cHggMTBweDtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMnM7XG59XG5cbi5obi1zdGF0OmhvdmVyIHtcbiAgYmFja2dyb3VuZDogcmdiYSgwLDI1NSwxMzYsMC4xKTtcbn1cblxuLmhuLXN0YXQuYWN0aXZlIHtcbiAgYmFja2dyb3VuZDogcmdiYSgwLDI1NSwxMzYsMC4yKTtcbiAgYm9yZGVyOiAxcHggc29saWQgIzAwZmY4ODtcbn1cblxuLmhuLXN0YXQtbGFiZWwge1xuICBjb2xvcjogIzU1NTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZm9udC1zaXplOiA4cHQ7XG4gIGxldHRlci1zcGFjaW5nOiAxcHg7XG59XG5cbi5obi1zdGF0LXZhbCB7XG4gIGZvbnQtZmFtaWx5OiAnVlQzMjMnLCBtb25vc3BhY2U7XG4gIGZvbnQtc2l6ZTogMTRwdDtcbn1cblxuLmhuLXN0YXQtdmFsLmNsYXVkZSB7XG4gIGNvbG9yOiAjMDBhYWZmO1xuICB0ZXh0LXNoYWRvdzogMCAwIDVweCAjMDBhYWZmO1xufVxuXG4uaG4tc3RhdC12YWwuZ2VtaW5pIHtcbiAgY29sb3I6ICMwMGZmODg7XG4gIHRleHQtc2hhZG93OiAwIDAgNXB4ICMwMGZmODg7XG59XG5cbi5obi1zdGF0LXZhbC5raW1pIHtcbiAgY29sb3I6ICNhYTU1ZmY7XG4gIHRleHQtc2hhZG93OiAwIDAgNXB4ICNhYTU1ZmY7XG59XG5cbi5obi1zdGF0LXZhbC5ncHQge1xuICBjb2xvcjogI2ZmODgwMDtcbiAgdGV4dC1zaGFkb3c6IDAgMCA1cHggI2ZmODgwMDtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIEN5Y2xlIFN0YXR1cyBCYW5uZXIgLSBDb21tYW5kIENvbnNvbGUgKi9cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5obi1jeWNsZSB7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgIzFhMWEyZSwgIzBmMGYxYSk7XG4gIGJvcmRlcjogMXB4IHNvbGlkICMwMGZmODg7XG4gIHBhZGRpbmc6IDEycHggMjBweDtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiAxNXB4O1xuICBib3gtc2hhZG93OiAwIDAgMjBweCByZ2JhKDAsMjU1LDEzNiwwLjIpO1xufVxuXG4uaG4tY3ljbGUud2FpdGluZyB7XG4gIGJvcmRlci1jb2xvcjogI2ZmYWEwMDtcbiAgYm94LXNoYWRvdzogMCAwIDIwcHggcmdiYSgyNTUsMTcwLDAsMC4yKTtcbn1cblxuLmhuLWN5Y2xlLWljb24ge1xuICBmb250LXNpemU6IDE4cHQ7XG59XG5cbi5obi1jeWNsZS10ZXh0IHtcbiAgZmxleDogMTtcbiAgZm9udC1zaXplOiAxMHB0O1xuICBjb2xvcjogIzg4ODtcbn1cblxuLmhuLWN5Y2xlLXRleHQgc3Ryb25nIHtcbiAgY29sb3I6ICNmZmFhMDA7XG59XG5cbi5obi1jeWNsZS1idG4ge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6ICMwMGZmODg7XG4gIGJvcmRlcjogMnB4IHNvbGlkICMwMGZmODg7XG4gIHBhZGRpbmc6IDEwcHggMjBweDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBmb250LXNpemU6IDEwcHQ7XG4gIGZvbnQtZmFtaWx5OiAnVlQzMjMnLCBtb25vc3BhY2U7XG4gIGxldHRlci1zcGFjaW5nOiAycHg7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIHRyYW5zaXRpb246IGFsbCAwLjJzO1xufVxuXG4uaG4tY3ljbGUtYnRuOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogIzAwZmY4ODtcbiAgY29sb3I6ICMwMDA7XG4gIGJveC1zaGFkb3c6IDAgMCAyMHB4ICMwMGZmODg7XG59XG5cbi5obi1jeWNsZS1idG4ucmVzZXQge1xuICBib3JkZXItY29sb3I6ICNmZjQ0NDQ7XG4gIGNvbG9yOiAjZmY0NDQ0O1xufVxuXG4uaG4tY3ljbGUtYnRuLnJlc2V0OmhvdmVyIHtcbiAgYmFja2dyb3VuZDogI2ZmNDQ0NDtcbiAgY29sb3I6ICMwMDA7XG59XG5cbi5obi1jeWNsZS1idG4udHJpZ2dlciB7XG4gIGJvcmRlci1jb2xvcjogIzAwZmY4ODtcbiAgY29sb3I6ICMwMGZmODg7XG4gIGFuaW1hdGlvbjogYnV0dG9uLXB1bHNlIDJzIGVhc2UtaW4tb3V0IGluZmluaXRlO1xufVxuXG5Aa2V5ZnJhbWVzIGJ1dHRvbi1wdWxzZSB7XG4gIDAlLCAxMDAlIHsgYm94LXNoYWRvdzogMCAwIDVweCAjMDBmZjg4OyB9XG4gIDUwJSB7IGJveC1zaGFkb3c6IDAgMCAyMHB4ICMwMGZmODgsIDAgMCAzMHB4ICMwMGZmODg7IH1cbn1cblxuLmhuLWN5Y2xlLWJ0bi50cmlnZ2VyOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogIzAwZmY4ODtcbiAgY29sb3I6ICMwMDA7XG4gIGFuaW1hdGlvbjogbm9uZTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIFRhYnMgKi9cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5obi10YWJzIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlMGUwZDg7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGdhcDogMDtcbn1cblxuLmhuLXRhYi1idG4ge1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBib3JkZXI6IG5vbmU7XG4gIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgcGFkZGluZzogOHB4IDE2cHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZm9udC1zaXplOiAxMHB0O1xuICBjb2xvcjogIzY2Njtcbn1cblxuLmhuLXRhYi1idG46aG92ZXIge1xuICBjb2xvcjogIzAwMDtcbn1cblxuLmhuLXRhYi1idG4uYWN0aXZlIHtcbiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogI2ZmNjYwMDtcbiAgY29sb3I6ICMwMDA7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogVGhyZWFkIFZpZXcgLSBSZXRybyBUZXJtaW5hbCBFbWFpbCAqL1xuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmhuLXRocmVhZCB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwwLDAsMC4zKTtcbiAgYm9yZGVyOiAxcHggc29saWQgIzMzMztcbiAgbWF4LWhlaWdodDogNjB2aDtcbiAgb3ZlcmZsb3cteTogYXV0bztcbn1cblxuLyogQ3VzdG9tIHNjcm9sbGJhciAqL1xuLmhuLXRocmVhZDo6LXdlYmtpdC1zY3JvbGxiYXIge1xuICB3aWR0aDogOHB4O1xufVxuLmhuLXRocmVhZDo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2sge1xuICBiYWNrZ3JvdW5kOiAjMTExO1xufVxuLmhuLXRocmVhZDo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIge1xuICBiYWNrZ3JvdW5kOiAjMDBmZjg4O1xuICBib3JkZXItcmFkaXVzOiAwO1xufVxuXG4uaG4tbXNnIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICMyMjI7XG4gIHBhZGRpbmc6IDEycHggMTVweDtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIHRyYW5zaXRpb246IGFsbCAwLjJzO1xuICBib3JkZXItbGVmdDogM3B4IHNvbGlkIHRyYW5zcGFyZW50O1xufVxuXG4uaG4tbXNnOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogcmdiYSgwLDI1NSwxMzYsMC4wNSk7XG59XG5cbi8qIENvbG9yLWNvZGVkIGxlZnQgYm9yZGVyIGJ5IHNlbmRlciAqL1xuLmhuLW1zZzpoYXMoLmhuLW1zZy1hdXRob3IuY2xhdWRlKSB7IGJvcmRlci1sZWZ0LWNvbG9yOiAjMDBhYWZmOyB9XG4uaG4tbXNnOmhhcyguaG4tbXNnLWF1dGhvci5nZW1pbmkpIHsgYm9yZGVyLWxlZnQtY29sb3I6ICMwMGZmODg7IH1cbi5obi1tc2c6aGFzKC5obi1tc2ctYXV0aG9yLmdwdCkgeyBib3JkZXItbGVmdC1jb2xvcjogI2ZmODgwMDsgfVxuLmhuLW1zZzpoYXMoLmhuLW1zZy1hdXRob3Iua2ltaSkgeyBib3JkZXItbGVmdC1jb2xvcjogI2FhNTVmZjsgfVxuXG4uaG4tbXNnLWhlYWRlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGdhcDogMTBweDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZm9udC1zaXplOiA5cHQ7XG4gIGNvbG9yOiAjNjY2O1xuICBtYXJnaW4tYm90dG9tOiA2cHg7XG59XG5cbi5obi1tc2ctYXV0aG9yIHtcbiAgZm9udC1mYW1pbHk6ICdWVDMyMycsIG1vbm9zcGFjZTtcbiAgZm9udC1zaXplOiAxNHB0O1xuICBsZXR0ZXItc3BhY2luZzogMXB4O1xufVxuXG4uaG4tbXNnLWF1dGhvci5jbGF1ZGUge1xuICBjb2xvcjogIzAwYWFmZjtcbiAgdGV4dC1zaGFkb3c6IDAgMCA1cHggIzAwYWFmZjtcbn1cblxuLmhuLW1zZy1hdXRob3IuZ2VtaW5pIHtcbiAgY29sb3I6ICMwMGZmODg7XG4gIHRleHQtc2hhZG93OiAwIDAgNXB4ICMwMGZmODg7XG59XG5cbi5obi1tc2ctYXV0aG9yLmtpbWkge1xuICBjb2xvcjogI2FhNTVmZjtcbiAgdGV4dC1zaGFkb3c6IDAgMCA1cHggI2FhNTVmZjtcbn1cblxuLmhuLW1zZy1hdXRob3IuZ3B0IHtcbiAgY29sb3I6ICNmZjg4MDA7XG4gIHRleHQtc2hhZG93OiAwIDAgNXB4ICNmZjg4MDA7XG59XG5cbi5obi1tc2ctdG8ge1xuICBjb2xvcjogIzU1NTtcbn1cblxuLmhuLW1zZy10aW1lIHtcbiAgY29sb3I6ICM0NDQ7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xufVxuXG4uaG4tbXNnLXN1YmplY3Qge1xuICBjb2xvcjogIzAwZmY4ODtcbiAgZm9udC1zaXplOiAxMXB0O1xuICBtYXJnaW4tYm90dG9tOiA0cHg7XG59XG5cbi5obi1tc2ctc3ViamVjdCBhIHtcbiAgY29sb3I6ICMwMGZmODg7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLmhuLW1zZy1zdWJqZWN0IGE6aG92ZXIge1xuICB0ZXh0LXNoYWRvdzogMCAwIDVweCAjMDBmZjg4O1xufVxuXG4uaG4tbXNnLWJvZHkge1xuICBmb250LXNpemU6IDEwcHQ7XG4gIGNvbG9yOiAjODg4O1xuICBsaW5lLWhlaWdodDogMS41O1xuICBtYXgtaGVpZ2h0OiAzZW07XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICB3aGl0ZS1zcGFjZTogcHJlLXdyYXA7XG4gIG1hcmdpbi10b3A6IDRweDtcbn1cblxuLmhuLW1zZy1ib2R5LmV4cGFuZGVkIHtcbiAgbWF4LWhlaWdodDogbm9uZTtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIGNvbG9yOiAjYWFhO1xufVxuXG4uaG4tbXNnLXRvZ2dsZSB7XG4gIGZvbnQtc2l6ZTogOXB0O1xuICBjb2xvcjogIzAwYWE2NjtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBtYXJnaW4tdG9wOiA2cHg7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZzogMnB4IDhweDtcbiAgYm9yZGVyOiAxcHggc29saWQgIzAwYWE2Njtcbn1cblxuLmhuLW1zZy10b2dnbGU6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiAjMDBhYTY2O1xuICBjb2xvcjogIzAwMDtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIFByb3Bvc2FscyBMaXN0IC0gRmlsZSBCcm93c2VyICovXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uaG4tcHJvcG9zYWxzIHtcbiAgYmFja2dyb3VuZDogcmdiYSgwLDAsMCwwLjMpO1xuICBib3JkZXI6IDFweCBzb2xpZCAjMzMzO1xufVxuXG4uaG4tcHJvcCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGdhcDogMTVweDtcbiAgcGFkZGluZzogMTBweCAxNXB4O1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzIyMjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMnM7XG59XG5cbi5obi1wcm9wOmxhc3QtY2hpbGQge1xuICBib3JkZXItYm90dG9tOiBub25lO1xufVxuXG4uaG4tcHJvcC1zdGF0dXMge1xuICBmb250LXNpemU6IDhwdDtcbiAgcGFkZGluZzogNHB4IDhweDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZm9udC1mYW1pbHk6ICdWVDMyMycsIG1vbm9zcGFjZTtcbiAgbGV0dGVyLXNwYWNpbmc6IDFweDtcbiAgYm9yZGVyOiAxcHggc29saWQ7XG59XG5cbi5obi1wcm9wLXN0YXR1cy5hcHByb3ZlZCB7XG4gIGJvcmRlci1jb2xvcjogIzAwZmY4ODtcbiAgY29sb3I6ICMwMGZmODg7XG59XG5cbi5obi1wcm9wLXN0YXR1cy5yZWFkeSB7XG4gIGJvcmRlci1jb2xvcjogI2ZmYWEwMDtcbiAgY29sb3I6ICNmZmFhMDA7XG59XG5cbi5obi1wcm9wLXN0YXR1cy5kcmFmdCB7XG4gIGJvcmRlci1jb2xvcjogIzY2NjtcbiAgY29sb3I6ICM2NjY7XG59XG5cbi5obi1wcm9wLXN0YXR1cy5pbiB7XG4gIGJvcmRlci1jb2xvcjogIzAwYWFmZjtcbiAgY29sb3I6ICMwMGFhZmY7XG4gIGFuaW1hdGlvbjogcHVsc2UgMXMgZWFzZS1pbi1vdXQgaW5maW5pdGU7XG59XG5cbi5obi1wcm9wLW5hbWUge1xuICBmbGV4OiAxO1xuICBmb250LXNpemU6IDEwcHQ7XG4gIGNvbG9yOiAjMDBmZjg4O1xufVxuXG4uaG4tcHJvcC1wcmlvcml0eSB7XG4gIGZvbnQtc2l6ZTogOXB0O1xuICBjb2xvcjogI2ZmODgwMDtcbn1cblxuLmhuLXByb3AtZGF0ZSB7XG4gIGZvbnQtc2l6ZTogOXB0O1xuICBjb2xvcjogIzU1NTtcbn1cblxuLmhuLXByb3A6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsMjU1LDEzNiwwLjEpO1xuICBib3JkZXItbGVmdDogM3B4IHNvbGlkICMwMGZmODg7XG59XG5cbi5obi1wcm9wLXZpZXdlciB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwwLDAsMC41KTtcbiAgYm9yZGVyOiAxcHggc29saWQgIzAwZmY4ODtcbn1cblxuLmhuLXByb3AtaGVhZGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwYWRkaW5nOiAxMnB4IDE1cHg7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgcmdiYSgwLDI1NSwxMzYsMC4yKSwgdHJhbnNwYXJlbnQpO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzAwZmY4ODtcbn1cblxuLmhuLXByb3AtdGl0bGUge1xuICBmb250LWZhbWlseTogJ1ZUMzIzJywgbW9ub3NwYWNlO1xuICBmb250LXNpemU6IDE2cHQ7XG4gIGNvbG9yOiAjMDBmZjg4O1xuICB0ZXh0LXNoYWRvdzogMCAwIDEwcHggIzAwZmY4ODtcbn1cblxuLmhuLXByb3AtY2xvc2Uge1xuICBjb2xvcjogI2ZmNDQ0NDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBmb250LXNpemU6IDEwcHQ7XG4gIHBhZGRpbmc6IDVweCAxMHB4O1xuICBib3JkZXI6IDFweCBzb2xpZCAjZmY0NDQ0O1xufVxuXG4uaG4tcHJvcC1jbG9zZTpob3ZlciB7XG4gIGJhY2tncm91bmQ6ICNmZjQ0NDQ7XG4gIGNvbG9yOiAjMDAwO1xufVxuXG4uaG4tcHJvcC1jb250ZW50IHtcbiAgcGFkZGluZzogMTVweDtcbiAgZm9udC1mYW1pbHk6ICdTaGFyZSBUZWNoIE1vbm8nLCBtb25vc3BhY2U7XG4gIGZvbnQtc2l6ZTogMTBwdDtcbiAgd2hpdGUtc3BhY2U6IHByZS13cmFwO1xuICBtYXgtaGVpZ2h0OiA1MDBweDtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgY29sb3I6ICM4ODg7XG4gIGJhY2tncm91bmQ6ICMwYTBhMGY7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiBUT0RPcyAqL1xuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmhuLXRvZG9zIHtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgYm9yZGVyOiAxcHggc29saWQgI2UwZTBkODtcbn1cblxuLmhuLXRvZG8ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBnYXA6IDhweDtcbiAgcGFkZGluZzogNnB4IDEwcHg7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZjBmMGU4O1xuICBmb250LXNpemU6IDlwdDtcbn1cblxuLmhuLXRvZG86bGFzdC1jaGlsZCB7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7XG59XG5cbi5obi10b2RvLWNoZWNrIHtcbiAgY29sb3I6ICM4ODg7XG59XG5cbi5obi10b2RvLXRleHQge1xuICBmbGV4OiAxO1xuICBjb2xvcjogIzQ0NDtcbn1cblxuLmhuLXRvZG8tc3JjIHtcbiAgZm9udC1zaXplOiA4cHQ7XG4gIGNvbG9yOiAjOTk5O1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogRW1wdHkgU3RhdGUgKi9cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5obi1lbXB0eSB7XG4gIHBhZGRpbmc6IDMwcHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgY29sb3I6ICM0NDQ7XG4gIGZvbnQtc2l6ZTogMTBwdDtcbiAgYm9yZGVyOiAxcHggZGFzaGVkICMzMzM7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiBQSU4gRm9ybSAtIEFjY2VzcyBUZXJtaW5hbCAqL1xuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmhuLXBpbi1mb3JtIHtcbiAgbWF4LXdpZHRoOiA0MDBweDtcbiAgbWFyZ2luOiAxMDBweCBhdXRvO1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCAjMWExYTJlIDAlLCAjMGQwZDE1IDEwMCUpO1xuICBib3JkZXI6IDJweCBzb2xpZCAjMDBmZjg4O1xuICBwYWRkaW5nOiA0MHB4O1xuICBib3gtc2hhZG93OiAwIDAgNTBweCByZ2JhKDAsMjU1LDEzNiwwLjMpO1xufVxuXG4uaG4tcGluLWZvcm0gaDIge1xuICBmb250LWZhbWlseTogJ1ZUMzIzJywgbW9ub3NwYWNlO1xuICBmb250LXNpemU6IDI4cHQ7XG4gIG1hcmdpbjogMCAwIDEwcHggMDtcbiAgY29sb3I6ICMwMGZmODg7XG4gIHRleHQtc2hhZG93OiAwIDAgMjBweCAjMDBmZjg4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGxldHRlci1zcGFjaW5nOiAzcHg7XG59XG5cbi5obi1waW4tZm9ybSBwIHtcbiAgY29sb3I6ICM2NjY7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbn1cblxuLmhuLXBpbi1mb3JtIGlucHV0IHtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDE1cHg7XG4gIG1hcmdpbjogMTVweCAwO1xuICBib3JkZXI6IDJweCBzb2xpZCAjMzMzO1xuICBiYWNrZ3JvdW5kOiAjMGEwYTBmO1xuICBjb2xvcjogIzAwZmY4ODtcbiAgZm9udC1zaXplOiAxOHB0O1xuICBmb250LWZhbWlseTogJ1ZUMzIzJywgbW9ub3NwYWNlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGxldHRlci1zcGFjaW5nOiA1cHg7XG59XG5cbi5obi1waW4tZm9ybSBpbnB1dDpmb2N1cyB7XG4gIG91dGxpbmU6IG5vbmU7XG4gIGJvcmRlci1jb2xvcjogIzAwZmY4ODtcbiAgYm94LXNoYWRvdzogMCAwIDIwcHggcmdiYSgwLDI1NSwxMzYsMC4zKTtcbn1cblxuLmhuLXBpbi1mb3JtIGJ1dHRvbiB7XG4gIHdpZHRoOiAxMDAlO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6ICMwMGZmODg7XG4gIGJvcmRlcjogMnB4IHNvbGlkICMwMGZmODg7XG4gIHBhZGRpbmc6IDE1cHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZm9udC1zaXplOiAxNHB0O1xuICBmb250LWZhbWlseTogJ1ZUMzIzJywgbW9ub3NwYWNlO1xuICBsZXR0ZXItc3BhY2luZzogM3B4O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4ycztcbn1cblxuLmhuLXBpbi1mb3JtIGJ1dHRvbjpob3ZlciB7XG4gIGJhY2tncm91bmQ6ICMwMGZmODg7XG4gIGNvbG9yOiAjMDAwO1xuICBib3gtc2hhZG93OiAwIDAgMzBweCAjMDBmZjg4O1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogRmlsdGVyIEJhbm5lciAqL1xuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmhuLWZpbHRlci1iYW5uZXIge1xuICBwYWRkaW5nOiA4cHggMTBweDtcbiAgYmFja2dyb3VuZDogI2ZmZjNjZDtcbiAgYm9yZGVyOiAxcHggc29saWQgI2ZmYzEwNztcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgZm9udC1zaXplOiA5cHQ7XG59XG5cbi5obi1maWx0ZXItY2xlYXIge1xuICBjb2xvcjogI2ZmNjYwMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBtYXJnaW4tbGVmdDogMTBweDtcbn1cblxuLmhuLWZpbHRlci1jbGVhcjpob3ZlciB7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogU3luYyBTdGF0dXMgQ2FyZHMgLSBTcXVhcmUgQm90IFBhbmVscyAqL1xuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmhuLXN5bmMtY2FyZHMge1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg0LCAxZnIpO1xuICBnYXA6IDEycHg7XG4gIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gIG1heC13aWR0aDogOTAwcHg7XG59XG5cbi5obi1zeW5jLWNhcmQge1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCAjMWExYTJlIDAlLCAjMGQwZDE1IDEwMCUpO1xuICBib3JkZXI6IDJweCBzb2xpZCAjMzMzO1xuICBwYWRkaW5nOiAxNXB4IDE4cHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBtaW4taGVpZ2h0OiAxMDBweDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xufVxuXG4vKiBBbmltYXRlZCBjb3JuZXIgYWNjZW50cyAqL1xuLmhuLXN5bmMtY2FyZDo6YmVmb3JlIHtcbiAgY29udGVudDogJyc7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTVweDtcbiAgaGVpZ2h0OiAxNXB4O1xuICBib3JkZXItdG9wOiAycHggc29saWQ7XG4gIGJvcmRlci1sZWZ0OiAycHggc29saWQ7XG4gIGJvcmRlci1jb2xvcjogaW5oZXJpdDtcbn1cblxuLmhuLXN5bmMtY2FyZDo6YWZ0ZXIge1xuICBjb250ZW50OiAnJztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDA7XG4gIHJpZ2h0OiAwO1xuICB3aWR0aDogMTVweDtcbiAgaGVpZ2h0OiAxNXB4O1xuICBib3JkZXItYm90dG9tOiAycHggc29saWQ7XG4gIGJvcmRlci1yaWdodDogMnB4IHNvbGlkO1xuICBib3JkZXItY29sb3I6IGluaGVyaXQ7XG59XG5cbi5obi1zeW5jLWNhcmQ6aG92ZXIge1xuICB0cmFuc2Zvcm06IHNjYWxlKDEuMDIpO1xufVxuXG4vKiBDbGF1ZGUgLSBFbGVjdHJpYyBCbHVlICovXG4uaG4tc3luYy1jYXJkOm50aC1jaGlsZCgxKSB7XG4gIGJvcmRlci1jb2xvcjogIzAwYWFmZjtcbn1cbi5obi1zeW5jLWNhcmQ6bnRoLWNoaWxkKDEpOmhvdmVyLFxuLmhuLXN5bmMtY2FyZDpudGgtY2hpbGQoMSkuYmVoaW5kIHtcbiAgYm94LXNoYWRvdzogMCAwIDMwcHggcmdiYSgwLDE3MCwyNTUsMC41KSwgaW5zZXQgMCAwIDMwcHggcmdiYSgwLDE3MCwyNTUsMC4xKTtcbn1cbi5obi1zeW5jLWNhcmQ6bnRoLWNoaWxkKDEpIC5obi1zeW5jLWJvdCB7XG4gIGNvbG9yOiAjMDBhYWZmO1xuICB0ZXh0LXNoYWRvdzogMCAwIDEwcHggIzAwYWFmZjtcbn1cblxuLyogR2VtaW5pIC0gTWF0cml4IEdyZWVuICovXG4uaG4tc3luYy1jYXJkOm50aC1jaGlsZCgyKSB7XG4gIGJvcmRlci1jb2xvcjogIzAwZmY4ODtcbn1cbi5obi1zeW5jLWNhcmQ6bnRoLWNoaWxkKDIpOmhvdmVyLFxuLmhuLXN5bmMtY2FyZDpudGgtY2hpbGQoMikuYmVoaW5kIHtcbiAgYm94LXNoYWRvdzogMCAwIDMwcHggcmdiYSgwLDI1NSwxMzYsMC41KSwgaW5zZXQgMCAwIDMwcHggcmdiYSgwLDI1NSwxMzYsMC4xKTtcbn1cbi5obi1zeW5jLWNhcmQ6bnRoLWNoaWxkKDIpIC5obi1zeW5jLWJvdCB7XG4gIGNvbG9yOiAjMDBmZjg4O1xuICB0ZXh0LXNoYWRvdzogMCAwIDEwcHggIzAwZmY4ODtcbn1cblxuLyogR1BUIC0gT3JhbmdlICovXG4uaG4tc3luYy1jYXJkOm50aC1jaGlsZCgzKSB7XG4gIGJvcmRlci1jb2xvcjogI2ZmODgwMDtcbn1cbi5obi1zeW5jLWNhcmQ6bnRoLWNoaWxkKDMpOmhvdmVyLFxuLmhuLXN5bmMtY2FyZDpudGgtY2hpbGQoMykuYmVoaW5kIHtcbiAgYm94LXNoYWRvdzogMCAwIDMwcHggcmdiYSgyNTUsMTM2LDAsMC41KSwgaW5zZXQgMCAwIDMwcHggcmdiYSgyNTUsMTM2LDAsMC4xKTtcbn1cbi5obi1zeW5jLWNhcmQ6bnRoLWNoaWxkKDMpIC5obi1zeW5jLWJvdCB7XG4gIGNvbG9yOiAjZmY4ODAwO1xuICB0ZXh0LXNoYWRvdzogMCAwIDEwcHggI2ZmODgwMDtcbn1cblxuLyogS2ltaSAtIFB1cnBsZSAqL1xuLmhuLXN5bmMtY2FyZDpudGgtY2hpbGQoNCkge1xuICBib3JkZXItY29sb3I6ICNhYTU1ZmY7XG59XG4uaG4tc3luYy1jYXJkOm50aC1jaGlsZCg0KTpob3Zlcixcbi5obi1zeW5jLWNhcmQ6bnRoLWNoaWxkKDQpLmJlaGluZCB7XG4gIGJveC1zaGFkb3c6IDAgMCAzMHB4IHJnYmEoMTcwLDg1LDI1NSwwLjUpLCBpbnNldCAwIDAgMzBweCByZ2JhKDE3MCw4NSwyNTUsMC4xKTtcbn1cbi5obi1zeW5jLWNhcmQ6bnRoLWNoaWxkKDQpIC5obi1zeW5jLWJvdCB7XG4gIGNvbG9yOiAjYWE1NWZmO1xuICB0ZXh0LXNoYWRvdzogMCAwIDEwcHggI2FhNTVmZjtcbn1cblxuLyogUHVsc2luZyBhbmltYXRpb24gZm9yIGNhcmRzIHdpdGggdW5yZWFkICovXG4uaG4tc3luYy1jYXJkLmJlaGluZCB7XG4gIGFuaW1hdGlvbjogcHVsc2UtZ2xvdyAycyBlYXNlLWluLW91dCBpbmZpbml0ZTtcbn1cblxuQGtleWZyYW1lcyBwdWxzZS1nbG93IHtcbiAgMCUsIDEwMCUgeyBvcGFjaXR5OiAxOyB9XG4gIDUwJSB7IG9wYWNpdHk6IDAuNzsgfVxufVxuXG4uaG4tc3luYy1ib3Qge1xuICBmb250LWZhbWlseTogJ1ZUMzIzJywgbW9ub3NwYWNlO1xuICBmb250LXNpemU6IDE4cHQ7XG4gIG1hcmdpbi1ib3R0b206IDZweDtcbiAgbGV0dGVyLXNwYWNpbmc6IDJweDtcbn1cblxuLmhuLXN5bmMtc3RhdHVzIHtcbiAgZm9udC1zaXplOiAxMXB0O1xuICBtYXJnaW4tYm90dG9tOiA0cHg7XG59XG5cbi5obi1zeW5jLXN0YXR1cy5zeW5jZWQge1xuICBjb2xvcjogIzAwZmY4ODtcbn1cblxuLmhuLXN5bmMtc3RhdHVzLmJlaGluZCB7XG4gIGNvbG9yOiAjZmZhYTAwO1xufVxuXG4uaG4tc3luYy1zdGF0dXMub2ZmbGluZSB7XG4gIGNvbG9yOiAjZmY0NDQ0O1xufVxuXG4uaG4tc3luYy10aW1lIHtcbiAgZm9udC1zaXplOiA5cHQ7XG4gIGNvbG9yOiAjODg4O1xufVxuXG4uaG4tc3luYy1mcm9tIHtcbiAgZm9udC1zaXplOiA5cHQ7XG4gIGNvbG9yOiAjYWFhO1xuICBtYXJnaW4tdG9wOiA0cHg7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiBDYXRjaC11cCBNb2RhbCAqL1xuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmhuLW1vZGFsLW92ZXJsYXkge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgYmFja2dyb3VuZDogcmdiYSgwLDAsMCwwLjUpO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgei1pbmRleDogMTAwMDtcbn1cblxuLmhuLW1vZGFsIHtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgYm9yZGVyOiAxcHggc29saWQgI2NjYztcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICBtYXgtd2lkdGg6IDUwMHB4O1xuICB3aWR0aDogOTAlO1xuICBtYXgtaGVpZ2h0OiA4MHZoO1xuICBvdmVyZmxvdzogYXV0bztcbiAgYm94LXNoYWRvdzogMCA0cHggMjBweCByZ2JhKDAsMCwwLDAuMik7XG59XG5cbi5obi1tb2RhbC1oZWFkZXIge1xuICBiYWNrZ3JvdW5kOiAjZmY2NjAwO1xuICBjb2xvcjogI2ZmZjtcbiAgcGFkZGluZzogMTBweCAxNXB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4uaG4tbW9kYWwtY2xvc2Uge1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBib3JkZXI6IG5vbmU7XG4gIGNvbG9yOiAjZmZmO1xuICBmb250LXNpemU6IDIwcHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgcGFkZGluZzogMCA1cHg7XG59XG5cbi5obi1tb2RhbC1jbG9zZTpob3ZlciB7XG4gIGNvbG9yOiAjMDAwO1xufVxuXG4uaG4tbW9kYWwtYm9keSB7XG4gIHBhZGRpbmc6IDE1cHg7XG59XG5cbi5obi1tb2RhbC1ib2R5IHAge1xuICBtYXJnaW46IDAgMCAxMHB4IDA7XG4gIGZvbnQtc2l6ZTogMTBwdDtcbn1cblxuLmhuLXVucmVhZC1saXN0IHtcbiAgYmFja2dyb3VuZDogI2Y2ZjZlZjtcbiAgYm9yZGVyOiAxcHggc29saWQgI2UwZTBkODtcbiAgcGFkZGluZzogOHB4O1xuICBtYXJnaW46IDEwcHggMDtcbn1cblxuLmhuLXVucmVhZC1pdGVtIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBwYWRkaW5nOiA0cHggMDtcbiAgZm9udC1zaXplOiA5cHQ7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZTBlMGQ4O1xufVxuXG4uaG4tdW5yZWFkLWl0ZW06bGFzdC1jaGlsZCB7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7XG59XG5cbi5obi11bnJlYWQtZmlsZSB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2U7XG4gIGNvbG9yOiAjMzMzO1xufVxuXG4uaG4tdW5yZWFkLWNvdW50IHtcbiAgY29sb3I6ICNkOTc3MDY7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4uaG4tY2F0Y2h1cC1wcm9tcHQge1xuICBtYXJnaW4tdG9wOiAxNXB4O1xufVxuXG4uaG4tY2F0Y2h1cC1wcm9tcHQgbGFiZWwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiA5cHQ7XG4gIGNvbG9yOiAjNjY2O1xuICBtYXJnaW4tYm90dG9tOiA1cHg7XG59XG5cbi5obi1jYXRjaHVwLXByb21wdCB0ZXh0YXJlYSB7XG4gIHdpZHRoOiAxMDAlO1xuICBtaW4taGVpZ2h0OiAxMjBweDtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZTtcbiAgZm9udC1zaXplOiA5cHQ7XG4gIHBhZGRpbmc6IDhweDtcbiAgYm9yZGVyOiAxcHggc29saWQgI2NjYztcbiAgYmFja2dyb3VuZDogI2Y5ZjlmOTtcbiAgcmVzaXplOiB2ZXJ0aWNhbDtcbn1cblxuLmhuLWNhdGNodXAtcHJvbXB0IGJ1dHRvbiB7XG4gIG1hcmdpbi10b3A6IDhweDtcbiAgYmFja2dyb3VuZDogI2ZmNjYwMDtcbiAgY29sb3I6ICNmZmY7XG4gIGJvcmRlcjogbm9uZTtcbiAgcGFkZGluZzogOHB4IDE2cHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZm9udC1zaXplOiA5cHQ7XG59XG5cbi5obi1jYXRjaHVwLXByb21wdCBidXR0b246aG92ZXIge1xuICBiYWNrZ3JvdW5kOiAjZTU1YzAwO1xufVxuXG4uaG4tc3luYy1kZXRhaWwge1xuICBjb2xvcjogIzg4ODtcbiAgZm9udC1zaXplOiA5cHQ7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiBXYXJuaW5nIEJhbm5lciAqL1xuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmhuLXdhcm5pbmctYmFubmVyIHtcbiAgYmFja2dyb3VuZDogI2ZlZjJmMjtcbiAgYm9yZGVyOiAxcHggc29saWQgI2VmNDQ0NDtcbiAgYm9yZGVyLWxlZnQ6IDRweCBzb2xpZCAjZWY0NDQ0O1xuICBwYWRkaW5nOiAxMHB4IDE1cHg7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gIGZvbnQtc2l6ZTogOXB0O1xuICBjb2xvcjogIzk5MWIxYjtcbn1cblxuLmhuLXdhcm5pbmctYmFubmVyIHN0cm9uZyB7XG4gIGNvbG9yOiAjZGMyNjI2O1xufVxuXG4uaG4td2FybmluZy1iYW5uZXIgdWwge1xuICBtYXJnaW46IDVweCAwIDVweCAyMHB4O1xuICBwYWRkaW5nOiAwO1xufVxuXG4uaG4td2FybmluZy1iYW5uZXIgbGkge1xuICBtYXJnaW46IDJweCAwO1xufVxuXG4uaG4td2FybmluZy1iYW5uZXIgc21hbGwge1xuICBjb2xvcjogIzY2NjtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogTW9iaWxlIFJlc3BvbnNpdmUgKHBlciBHZW1pbmkgZGVzaWduIHJldmlldykgKi9cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qIC0tLSBCYXNlIE1vYmlsZSBTdHlsZXMgKDwgNzY4cHgpIC0tLSAqL1xuXG5AbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLyogRm9yY2Ugc2luZ2xlLWNvbHVtbiBsYXlvdXQgZm9yIGFsbCBncmlkcyAqL1xuICAuaG4tc3luYy1jYXJkcyB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgfVxuXG4gIC5obi1zeW5jLWNhcmQge1xuICAgIG1pbi13aWR0aDogYXV0bztcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gIC8qIFN0YXRzIHdyYXAgdmVydGljYWxseSAqL1xuICAuaG4tc3RhdHMge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiA4cHg7XG4gIH1cblxuICAvKiBIZWFkZXIgd3JhcHMgb24gbW9iaWxlICovXG4gIC5obi1oZWFkZXIge1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBwYWRkaW5nOiA4cHggMTBweDtcbiAgfVxuXG4gIC5obi1uYXYge1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgZ2FwOiA0cHg7XG4gIH1cblxuICAvKiBUYWJzIHNjcm9sbCBob3Jpem9udGFsbHkgKi9cbiAgLmhuLXRhYnMge1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICB9XG5cbiAgLyogQ3ljbGUgYmFubmVyIHN0YWNrcyAqL1xuICAuaG4tY3ljbGUge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgZ2FwOiA4cHg7XG4gIH1cblxuICAuaG4tY3ljbGUtYnRuIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cblxuICAvKiBNb2RhbCB0YWtlcyBtb3JlIHNjcmVlbiAqL1xuICAuaG4tbW9kYWwge1xuICAgIHdpZHRoOiA5NSU7XG4gICAgbWFyZ2luOiAxMHB4O1xuICAgIG1heC1oZWlnaHQ6IDkwdmg7XG4gIH1cblxuICAvKiBDbG9jayBiYXIgc3RhY2tzICovXG4gIC5obi1jbG9jay1iYXIge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgZ2FwOiA2cHg7XG4gIH1cblxuICAvKiBNZXNzYWdlIGhlYWRlcnMgd3JhcCBiZXR0ZXIgKi9cbiAgLmhuLW1zZy1oZWFkZXIge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiAycHg7XG4gIH1cblxuICAvKiBUb3VjaCB0YXJnZXQgaW1wcm92ZW1lbnRzICovXG4gIC5obi10YWItYnRuLFxuICAuaG4tY3ljbGUtYnRuLFxuICAuaG4tc3RhdCxcbiAgLmhuLXN5bmMtY2FyZCxcbiAgLmhuLXRhYiB7XG4gICAgbWluLWhlaWdodDogNDRweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgfVxuXG4gIC8qIEluY3JlYXNlIGJhc2UgZm9udCBmb3IgcmVhZGFiaWxpdHkgKi9cbiAgLmhuLXBhZ2Uge1xuICAgIGZvbnQtc2l6ZTogMTFwdDtcbiAgfVxuXG4gIC5obi1tc2ctYm9keSB7XG4gICAgZm9udC1zaXplOiAxMHB0O1xuICB9XG5cbiAgLyogUElOIGZvcm0gZnVsbCB3aWR0aCAqL1xuICAuaG4tcGluLWZvcm0ge1xuICAgIG1heC13aWR0aDogbm9uZTtcbiAgICBtYXJnaW46IDIwcHggMTBweDtcbiAgfVxuXG4gIC8qIFByb3Bvc2FscyBsaXN0IHJlYWRhYmxlICovXG4gIC5obi1wcm9wIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgIGdhcDogNHB4O1xuICB9XG5cbiAgLmhuLXByb3AtbmFtZSB7XG4gICAgZm9udC1zaXplOiAxMHB0O1xuICB9XG5cbiAgLyogVE9ET3MgcmVhZGFibGUgKi9cbiAgLmhuLXRvZG8ge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIH1cbn1cblxuLyogLS0tIERlc2t0b3AgQnJlYWtwb2ludCAobWluLXdpZHRoOiA3NjhweCkgLS0tICovXG5cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAvKiBSZS1pbnRyb2R1Y2UgbXVsdGktY29sdW1uIGxheW91dHMgKi9cbiAgLmhuLXN5bmMtY2FyZHMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gIH1cblxuICAuaG4tc3luYy1jYXJkIHtcbiAgICBtaW4td2lkdGg6IDE0MHB4O1xuICAgIGZsZXg6IDE7XG4gIH1cblxuICAvKiBSZXN0b3JlIGRlc2t0b3AgZm9udCBzaXplcyAqL1xuICAuaG4tcGFnZSB7XG4gICAgZm9udC1zaXplOiAxMHB0O1xuICB9XG59XG5cbi8qIC0tLSBHUFQgSGVhcnRiZWF0IENvdW50ZG93biAtLS0gKi9cblxuLmhuLWdwdC1oZWFydGJlYXQge1xuICBtYXJnaW4tdG9wOiA0cHg7XG4gIGZvbnQtc2l6ZTogOXB0O1xuICBwYWRkaW5nOiAycHggNnB4O1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI0OSwgMTE1LCAyMiwgMC4xNSk7XG4gIGJvcmRlci1yYWRpdXM6IDNweDtcbn1cblxuLmdwdC1jb3VudGRvd24ge1xuICBjb2xvcjogI2Y5NzMxNjtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZTtcbn1cblxuLmdwdC1wcm9jZXNzaW5nIHtcbiAgY29sb3I6ICMyMmM1NWU7XG4gIGFuaW1hdGlvbjogcHVsc2UgMXMgaW5maW5pdGU7XG59XG5cbi5ncHQtc3RvcHBlZCB7XG4gIGNvbG9yOiAjNmI3MjgwO1xufVxuXG4uZ3B0LXVua25vd24ge1xuICBjb2xvcjogI2ZmNjYwMDtcbn1cblxuQGtleWZyYW1lcyBwdWxzZSB7XG4gIDAlLCAxMDAlIHsgb3BhY2l0eTogMTsgfVxuICA1MCUgeyBvcGFjaXR5OiAwLjU7IH1cbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIENvbnZlcnNhdGlvbiBUaHJlYWQgVmlldyAtIEZ1bGwgU2NyZWVuIE92ZXJsYXkgKi9cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5obi1jb252ZXJzYXRpb24tdmlldyB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDUsNSwxMCwwLjk4KTtcbiAgYm9yZGVyOiBub25lO1xuICB6LWluZGV4OiA5MDA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG5cbi5obi1jb252LWhlYWRlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwYWRkaW5nOiAxNXB4IDIwcHg7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgcmdiYSgwLDI1NSwxMzYsMC4xNSksIHJnYmEoMCwxNzAsMjU1LDAuMTUpKTtcbiAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICMwMGZmODg7XG4gIGZsZXgtc2hyaW5rOiAwO1xufVxuXG4uaG4tY29udi10aXRsZSB7XG4gIGZvbnQtZmFtaWx5OiAnVlQzMjMnLCBtb25vc3BhY2U7XG4gIGZvbnQtc2l6ZTogMTZwdDtcbiAgY29sb3I6ICMwMGZmODg7XG4gIHRleHQtc2hhZG93OiAwIDAgMTBweCAjMDBmZjg4O1xuICBsZXR0ZXItc3BhY2luZzogMnB4O1xufVxuXG4vKiBIZWFkZXIgY2xvc2UgYnV0dG9uIHJlbW92ZWQgLSB1c2luZyBmbG9hdGluZyBidXR0b24gb25seSAqL1xuXG4vKiBGbG9hdGluZyBjbG9zZSBidXR0b24gLSBhbHdheXMgdmlzaWJsZSAqL1xuLmhuLWNvbnYtZmxvYXQtY2xvc2Uge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGJvdHRvbTogMzBweDtcbiAgcmlnaHQ6IDMwcHg7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsICMxYTFhMmUsICMwZDBkMTUpO1xuICBib3JkZXI6IDJweCBzb2xpZCAjZmY0NDQ0O1xuICBjb2xvcjogI2ZmNDQ0NDtcbiAgcGFkZGluZzogMTVweCAyNXB4O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGZvbnQtZmFtaWx5OiAnVlQzMjMnLCBtb25vc3BhY2U7XG4gIGZvbnQtc2l6ZTogMTRwdDtcbiAgbGV0dGVyLXNwYWNpbmc6IDJweDtcbiAgei1pbmRleDogMTAwMTtcbiAgYm94LXNoYWRvdzogMCAwIDMwcHggcmdiYSgyNTUsNjgsNjgsMC41KTtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMnM7XG59XG5cbi5obi1jb252LWZsb2F0LWNsb3NlOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogI2ZmNDQ0NDtcbiAgY29sb3I6ICMwMDA7XG4gIHRyYW5zZm9ybTogc2NhbGUoMS4wNSk7XG4gIGJveC1zaGFkb3c6IDAgMCA0MHB4ICNmZjQ0NDQ7XG59XG5cbi8qIFRocmVhZCBsaW5rIGJ1dHRvbiBvbiBtZXNzYWdlcyAqL1xuLmhuLW1zZy10aHJlYWQtbGluayB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgb3BhY2l0eTogMC42O1xuICB0cmFuc2l0aW9uOiBhbGwgMC4ycztcbiAgcGFkZGluZzogNHB4IDEwcHg7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBmb250LXNpemU6IDlwdDtcbiAgYm9yZGVyOiAxcHggc29saWQgIzAwYWE2NjtcbiAgY29sb3I6ICMwMGFhNjY7XG59XG5cbi5obi1tc2ctdGhyZWFkLWxpbms6aG92ZXIge1xuICBvcGFjaXR5OiAxO1xuICBiYWNrZ3JvdW5kOiAjMDBhYTY2O1xuICBjb2xvcjogIzAwMDtcbn1cblxuLyogQ29udmVyc2F0aW9uIHZpZXcgbWVzc2FnZXMgLSBzY3JvbGxhYmxlIGFyZWEgKi9cbi5obi1jb252LW1lc3NhZ2VzIHtcbiAgcGFkZGluZzogMjBweCA0MHB4O1xuICBmbGV4OiAxO1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICBtYXgtd2lkdGg6IDEyMDBweDtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uaG4tbXNnLWNvbnYge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbjogMTVweCAwO1xuICBwYWRkaW5nOiAxNXB4O1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsMCwwLDAuMyk7XG4gIGJvcmRlcjogMXB4IHNvbGlkICMzMzM7XG59XG5cbi8qIENvbG9yLWNvZGVkIGJ5IHNlbmRlciAqL1xuLmhuLW1zZy1jb252LmZyb20tY2xhdWRlIHtcbiAgYm9yZGVyLWxlZnQ6IDRweCBzb2xpZCAjMDBhYWZmO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsMTcwLDI1NSwwLjA1KTtcbn1cblxuLmhuLW1zZy1jb252LmZyb20tZ2VtaW5pIHtcbiAgYm9yZGVyLWxlZnQ6IDRweCBzb2xpZCAjMDBmZjg4O1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsMjU1LDEzNiwwLjA1KTtcbn1cblxuLmhuLW1zZy1jb252LmZyb20tZ3B0IHtcbiAgYm9yZGVyLWxlZnQ6IDRweCBzb2xpZCAjZmY4ODAwO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwxMzYsMCwwLjA1KTtcbn1cblxuLmhuLW1zZy1jb252LmZyb20ta2ltaSB7XG4gIGJvcmRlci1sZWZ0OiA0cHggc29saWQgI2FhNTVmZjtcbiAgYmFja2dyb3VuZDogcmdiYSgxNzAsODUsMjU1LDAuMDUpO1xufVxuXG4vKiBDb252ZXJzYXRpb24gbWVzc2FnZSBoZWFkZXIgKi9cbi5obi1tc2ctY29udiAuaG4tbXNnLWhlYWRlciB7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gIHBhZGRpbmctYm90dG9tOiA4cHg7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjMzMzO1xufVxuXG4vKiBDb252ZXJzYXRpb24gdmlldyBzaG93cyBmdWxsIGJvZHkgd2l0aCBiZXR0ZXIgc3R5bGluZyAqL1xuLmhuLW1zZy1jb252IC5obi1tc2ctYm9keSB7XG4gIG1heC1oZWlnaHQ6IG5vbmU7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICB3aGl0ZS1zcGFjZTogcHJlLXdyYXA7XG4gIGZvbnQtZmFtaWx5OiAnU2hhcmUgVGVjaCBNb25vJywgbW9ub3NwYWNlO1xuICBmb250LXNpemU6IDExcHQ7XG4gIGxpbmUtaGVpZ2h0OiAxLjc7XG4gIGNvbG9yOiAjYmJiO1xufVxuXG4uaG4tbXNnLWNvbnYgLmhuLW1zZy1zdWJqZWN0IHtcbiAgZm9udC1mYW1pbHk6ICdWVDMyMycsIG1vbm9zcGFjZTtcbiAgZm9udC1zaXplOiAxNHB0O1xuICBjb2xvcjogIzAwZmY4ODtcbiAgdGV4dC1zaGFkb3c6IDAgMCA1cHggcmdiYSgwLDI1NSwxMzYsMC41KTtcbiAgbWFyZ2luLWJvdHRvbTogOHB4O1xufVxuIiwgIi8qXG4gKiBTY2FuZXggQWRtaW4gUG9ydGFsIERlc2lnbiBTeXN0ZW1cbiAqXG4gKiBQZXIgR2VtaW5pJ3MgZGVzaWduIGRlY2lzaW9ucyAoMjAyNi0wMS0yOSk6XG4gKiAtIERhcmsgdGhlbWUgb25seSAoIzFhMWEyZSlcbiAqIC0gRHJvcGRvd24gbmF2IGdyb3Vwc1xuICogLSBDYXJkLWJhc2VkIGxheW91dHNcbiAqIC0gU3RhY2tlZCBuYXYgb24gbW9iaWxlIChmbGV4LXdyYXApXG4gKi9cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIDEuIENTUyBWQVJJQUJMRVNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbjpyb290IHtcbiAgLyogQ29sb3JzIC0gRGFyayBUaGVtZSAqL1xuICAtLWFkbWluLWJnOiAjMWExYTJlO1xuICAtLWFkbWluLWJnLWFsdDogIzE2MjEzZTtcbiAgLS1hZG1pbi1zdXJmYWNlOiAjMWYyOTM3O1xuICAtLWFkbWluLXN1cmZhY2UtaG92ZXI6ICMzNzQxNTE7XG4gIC0tYWRtaW4tYm9yZGVyOiAjMzc0MTUxO1xuXG4gIC8qIEFjY2VudCBDb2xvcnMgKi9cbiAgLS1hZG1pbi1hY2NlbnQ6ICNlOTQ1NjA7XG4gIC0tYWRtaW4tYWNjZW50LWhvdmVyOiAjZmY2YjZiO1xuICAtLWFkbWluLXByaW1hcnk6ICMzYjgyZjY7XG4gIC0tYWRtaW4tcHJpbWFyeS1ob3ZlcjogIzYwYTVmYTtcblxuICAvKiBUZXh0IENvbG9ycyAqL1xuICAtLWFkbWluLXRleHQ6ICNmM2Y0ZjY7XG4gIC0tYWRtaW4tdGV4dC1tdXRlZDogIzljYTNhZjtcbiAgLS1hZG1pbi10ZXh0LWRpbTogIzZiNzI4MDtcblxuICAvKiBTdGF0dXMgQ29sb3JzICovXG4gIC0tYWRtaW4tc3VjY2VzczogIzEwYjk4MTtcbiAgLS1hZG1pbi1zdWNjZXNzLWJnOiByZ2JhKDE2LCAxODUsIDEyOSwgMC4xKTtcbiAgLS1hZG1pbi13YXJuaW5nOiAjZjU5ZTBiO1xuICAtLWFkbWluLXdhcm5pbmctYmc6IHJnYmEoMjQ1LCAxNTgsIDExLCAwLjEpO1xuICAtLWFkbWluLWVycm9yOiAjZWY0NDQ0O1xuICAtLWFkbWluLWVycm9yLWJnOiByZ2JhKDIzOSwgNjgsIDY4LCAwLjEpO1xuICAtLWFkbWluLWluZm86ICMzYjgyZjY7XG4gIC0tYWRtaW4taW5mby1iZzogcmdiYSg1OSwgMTMwLCAyNDYsIDAuMSk7XG5cbiAgLyogU3BhY2luZyBTY2FsZSAqL1xuICAtLXNwYWNlLTE6IDAuMjVyZW07XG4gIC0tc3BhY2UtMjogMC41cmVtO1xuICAtLXNwYWNlLTM6IDAuNzVyZW07XG4gIC0tc3BhY2UtNDogMXJlbTtcbiAgLS1zcGFjZS01OiAxLjI1cmVtO1xuICAtLXNwYWNlLTY6IDEuNXJlbTtcbiAgLS1zcGFjZS04OiAycmVtO1xuICAtLXNwYWNlLTEwOiAyLjVyZW07XG4gIC0tc3BhY2UtMTI6IDNyZW07XG5cbiAgLyogVHlwb2dyYXBoeSAqL1xuICAtLWFkbWluLWZvbnQ6IC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgJ1NlZ29lIFVJJywgUm9ib3RvLCAnSGVsdmV0aWNhIE5ldWUnLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgLS1hZG1pbi1mb250LW1vbm86ICdTRiBNb25vJywgJ01vbmFjbycsICdJbmNvbnNvbGF0YScsICdGaXJhIENvZGUnLCBtb25vc3BhY2U7XG4gIC0tYWRtaW4tdGV4dC14czogMC43NXJlbTtcbiAgLS1hZG1pbi10ZXh0LXNtOiAwLjg3NXJlbTtcbiAgLS1hZG1pbi10ZXh0LWJhc2U6IDFyZW07XG4gIC0tYWRtaW4tdGV4dC1sZzogMS4xMjVyZW07XG4gIC0tYWRtaW4tdGV4dC14bDogMS4yNXJlbTtcbiAgLS1hZG1pbi10ZXh0LTJ4bDogMS41cmVtO1xuICAtLWFkbWluLXRleHQtM3hsOiAxLjg3NXJlbTtcblxuICAvKiBFZmZlY3RzICovXG4gIC0tYWRtaW4tcmFkaXVzOiA4cHg7XG4gIC0tYWRtaW4tcmFkaXVzLXNtOiA0cHg7XG4gIC0tYWRtaW4tcmFkaXVzLWxnOiAxMnB4O1xuICAtLWFkbWluLXNoYWRvdzogMCA0cHggNnB4IC0xcHggcmdiYSgwLCAwLCAwLCAwLjMpLCAwIDJweCA0cHggLTFweCByZ2JhKDAsIDAsIDAsIDAuMik7XG4gIC0tYWRtaW4tc2hhZG93LWxnOiAwIDEwcHggMTVweCAtM3B4IHJnYmEoMCwgMCwgMCwgMC4zKSwgMCA0cHggNnB4IC0ycHggcmdiYSgwLCAwLCAwLCAwLjIpO1xuICAtLWFkbWluLXRyYW5zaXRpb246IDE1MG1zIGVhc2UtaW4tb3V0O1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgMi4gQkFTRSBTVFlMRVNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5hZG1pbi1sYXlvdXQge1xuICBtaW4taGVpZ2h0OiAxMDB2aDtcbiAgbWluLWhlaWdodDogMTAwZHZoOyAvKiBEeW5hbWljIHZpZXdwb3J0IGhlaWdodCAtIGFjY291bnRzIGZvciBicm93c2VyIGNocm9tZSAqL1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1hZG1pbi1iZyk7XG4gIGNvbG9yOiB2YXIoLS1hZG1pbi10ZXh0KTtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWFkbWluLWZvbnQpO1xuICBmb250LXNpemU6IHZhcigtLWFkbWluLXRleHQtYmFzZSk7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIC8qIFNhZmUgYXJlYSBpbnNldHMgZm9yIG5vdGNoZWQvZm9sZGFibGUgZGV2aWNlcyAqL1xuICBwYWRkaW5nLWxlZnQ6IGVudihzYWZlLWFyZWEtaW5zZXQtbGVmdCk7XG4gIHBhZGRpbmctcmlnaHQ6IGVudihzYWZlLWFyZWEtaW5zZXQtcmlnaHQpO1xuICBwYWRkaW5nLWJvdHRvbTogZW52KHNhZmUtYXJlYS1pbnNldC1ib3R0b20pO1xufVxuXG4uYWRtaW4tbGF5b3V0ICoge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgMy4gTkFWSUdBVElPTlxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmFkbWluLW5hdiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogdmFyKC0tc3BhY2UtMik7XG4gIHBhZGRpbmc6IHZhcigtLXNwYWNlLTMpIHZhcigtLXNwYWNlLTQpO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1hZG1pbi1iZy1hbHQpO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYWRtaW4tYm9yZGVyKTtcbiAgcG9zaXRpb246IHN0aWNreTtcbiAgdG9wOiAwO1xuICB6LWluZGV4OiAxMDAwO1xufVxuXG4uYWRtaW4tbmF2LWJyYW5kIHtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgZm9udC1zaXplOiB2YXIoLS1hZG1pbi10ZXh0LWxnKTtcbiAgY29sb3I6IHZhcigtLWFkbWluLWFjY2VudCk7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgcGFkZGluZzogdmFyKC0tc3BhY2UtMikgdmFyKC0tc3BhY2UtMyk7XG4gIG1hcmdpbi1yaWdodDogdmFyKC0tc3BhY2UtNCk7XG59XG5cbi5hZG1pbi1uYXYtYnJhbmQ6aG92ZXIge1xuICBjb2xvcjogdmFyKC0tYWRtaW4tYWNjZW50LWhvdmVyKTtcbn1cblxuLyogRHJvcGRvd24gQ29udGFpbmVyICovXG4uYWRtaW4tbmF2LWRyb3Bkb3duIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uYWRtaW4tbmF2LWRyb3Bkb3duLXRyaWdnZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IHZhcigtLXNwYWNlLTEpO1xuICBwYWRkaW5nOiB2YXIoLS1zcGFjZS0yKSB2YXIoLS1zcGFjZS0zKTtcbiAgY29sb3I6IHZhcigtLWFkbWluLXRleHQtbXV0ZWQpO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiBub25lO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1hZG1pbi1yYWRpdXMtc20pO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGZvbnQtc2l6ZTogdmFyKC0tYWRtaW4tdGV4dC1zbSk7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICB0cmFuc2l0aW9uOiBhbGwgdmFyKC0tYWRtaW4tdHJhbnNpdGlvbik7XG59XG5cbi5hZG1pbi1uYXYtZHJvcGRvd24tdHJpZ2dlcjpob3Zlcixcbi5hZG1pbi1uYXYtZHJvcGRvd24tdHJpZ2dlci5hY3RpdmUge1xuICBjb2xvcjogdmFyKC0tYWRtaW4tdGV4dCk7XG4gIGJhY2tncm91bmQ6IHZhcigtLWFkbWluLXN1cmZhY2UpO1xufVxuXG4uYWRtaW4tbmF2LWRyb3Bkb3duLXRyaWdnZXI6OmFmdGVyIHtcbiAgY29udGVudDogJyc7XG4gIGJvcmRlcjogNHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItdG9wLWNvbG9yOiBjdXJyZW50Q29sb3I7XG4gIG1hcmdpbi10b3A6IDJweDtcbn1cblxuLmFkbWluLW5hdi1kcm9wZG93bi1tZW51IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDEwMCU7XG4gIGxlZnQ6IDA7XG4gIG1pbi13aWR0aDogMTgwcHg7XG4gIGJhY2tncm91bmQ6IHZhcigtLWFkbWluLXN1cmZhY2UpO1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1hZG1pbi1ib3JkZXIpO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1hZG1pbi1yYWRpdXMpO1xuICBib3gtc2hhZG93OiB2YXIoLS1hZG1pbi1zaGFkb3ctbGcpO1xuICBwYWRkaW5nOiB2YXIoLS1zcGFjZS0yKSAwO1xuICBvcGFjaXR5OiAwO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtOHB4KTtcbiAgdHJhbnNpdGlvbjogYWxsIHZhcigtLWFkbWluLXRyYW5zaXRpb24pO1xuICB6LWluZGV4OiA5OTk5O1xufVxuXG4uYWRtaW4tbmF2LWRyb3Bkb3duOmhvdmVyIC5hZG1pbi1uYXYtZHJvcGRvd24tbWVudSB7XG4gIG9wYWNpdHk6IDE7XG4gIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbn1cblxuLmFkbWluLW5hdi1kcm9wZG93bi1pdGVtIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgcGFkZGluZzogdmFyKC0tc3BhY2UtMikgdmFyKC0tc3BhY2UtNCk7XG4gIGNvbG9yOiB2YXIoLS1hZG1pbi10ZXh0LW11dGVkKTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBmb250LXNpemU6IHZhcigtLWFkbWluLXRleHQtc20pO1xuICB0cmFuc2l0aW9uOiBhbGwgdmFyKC0tYWRtaW4tdHJhbnNpdGlvbik7XG59XG5cbi5hZG1pbi1uYXYtZHJvcGRvd24taXRlbTpob3ZlciB7XG4gIGNvbG9yOiB2YXIoLS1hZG1pbi10ZXh0KTtcbiAgYmFja2dyb3VuZDogdmFyKC0tYWRtaW4tc3VyZmFjZS1ob3Zlcik7XG59XG5cbi5hZG1pbi1uYXYtZHJvcGRvd24taXRlbS5hY3RpdmUge1xuICBjb2xvcjogdmFyKC0tYWRtaW4tYWNjZW50KTtcbiAgYmFja2dyb3VuZDogdmFyKC0tYWRtaW4tc3VyZmFjZS1ob3Zlcik7XG59XG5cbi8qIFNpbXBsZSBOYXYgSXRlbXMgKG5vbi1kcm9wZG93bikgKi9cbi5hZG1pbi1uYXYtaXRlbSB7XG4gIHBhZGRpbmc6IHZhcigtLXNwYWNlLTIpIHZhcigtLXNwYWNlLTMpO1xuICBjb2xvcjogdmFyKC0tYWRtaW4tdGV4dC1tdXRlZCk7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tYWRtaW4tcmFkaXVzLXNtKTtcbiAgZm9udC1zaXplOiB2YXIoLS1hZG1pbi10ZXh0LXNtKTtcbiAgdHJhbnNpdGlvbjogYWxsIHZhcigtLWFkbWluLXRyYW5zaXRpb24pO1xufVxuXG4uYWRtaW4tbmF2LWl0ZW06aG92ZXIge1xuICBjb2xvcjogdmFyKC0tYWRtaW4tdGV4dCk7XG4gIGJhY2tncm91bmQ6IHZhcigtLWFkbWluLXN1cmZhY2UpO1xufVxuXG4uYWRtaW4tbmF2LWl0ZW0uYWN0aXZlIHtcbiAgY29sb3I6IHZhcigtLWFkbWluLWFjY2VudCk7XG4gIGJhY2tncm91bmQ6IHZhcigtLWFkbWluLXN1cmZhY2UpO1xufVxuXG4uYWRtaW4tbmF2LXNwYWNlciB7XG4gIGZsZXg6IDE7XG59XG5cbi5hZG1pbi1uYXYtYmFjayB7XG4gIHBhZGRpbmc6IHZhcigtLXNwYWNlLTIpIHZhcigtLXNwYWNlLTMpO1xuICBjb2xvcjogdmFyKC0tYWRtaW4tdGV4dC1kaW0pO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGZvbnQtc2l6ZTogdmFyKC0tYWRtaW4tdGV4dC1zbSk7XG4gIHRyYW5zaXRpb246IGNvbG9yIHZhcigtLWFkbWluLXRyYW5zaXRpb24pO1xufVxuXG4uYWRtaW4tbmF2LWJhY2s6aG92ZXIge1xuICBjb2xvcjogdmFyKC0tYWRtaW4tdGV4dCk7XG59XG5cbi8qIE5hdiBMYXlvdXQgKi9cbi5hZG1pbi1uYXYtbGVmdCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogdmFyKC0tc3BhY2UtMik7XG4gIGZsZXg6IDE7XG4gIGZsZXgtd3JhcDogd3JhcDtcbn1cblxuLmFkbWluLW5hdi1jZW50ZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgZmxleDogMCAwIGF1dG87XG59XG5cbi5hZG1pbi1uYXYtcmlnaHQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IHZhcigtLXNwYWNlLTIpO1xufVxuXG4vKiBOYXYgVG9wIEJhciAoYnJhbmQgKyBoYW1idXJnZXIpICovXG4uYWRtaW4tbmF2LXRvcCB7XG4gIGRpc3BsYXk6IGNvbnRlbnRzOyAvKiB0cmFuc3BhcmVudCBvbiBkZXNrdG9wICovXG59XG5cbi8qIEhhbWJ1cmdlciB0b2dnbGUgXHUyMDE0IGhpZGRlbiBjaGVja2JveCBkcml2ZXMgdGhlIG1lbnUgKi9cbi5hZG1pbi1uYXYtdG9nZ2xlLWlucHV0IHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi5hZG1pbi1uYXYtaGFtYnVyZ2VyIHtcbiAgZGlzcGxheTogbm9uZTsgLyogaGlkZGVuIG9uIGRlc2t0b3AgKi9cbn1cblxuLyogTmF2IEJvZHkgXHUyMDE0IHdyYXBzIGxlZnQgKyByaWdodCBzZWN0aW9ucyAqL1xuLmFkbWluLW5hdi1ib2R5IHtcbiAgZGlzcGxheTogY29udGVudHM7IC8qIHRyYW5zcGFyZW50IG9uIGRlc2t0b3AsIGZsZXggY29sdW1uIG9uIG1vYmlsZSAqL1xufVxuXG4vKiA9PT09PSBNb2JpbGUgTmF2IENvbGxhcHNlICg8NzY4cHgpID09PT09ICovXG5AbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLmFkbWluLW5hdiB7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLTIpIHZhcigtLXNwYWNlLTMpO1xuICAgIGdhcDogMDtcbiAgfVxuXG4gIC5hZG1pbi1uYXYtdG9wIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgLmFkbWluLW5hdi1oYW1idXJnZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICBnYXA6IDVweDtcbiAgICBtaW4td2lkdGg6IDI4cHg7XG4gICAgd2lkdGg6IDI4cHg7XG4gICAgaGVpZ2h0OiAyOHB4O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBwYWRkaW5nOiA0cHg7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gIH1cbiAgLmFkbWluLW5hdi1oYW1idXJnZXIgc3BhbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiAycHg7XG4gICAgYmFja2dyb3VuZDogI2U1ZTdlYjtcbiAgICBib3JkZXItcmFkaXVzOiAxcHg7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMjVzIGVhc2U7XG4gIH1cblxuICAvKiBBbmltYXRlIHRvIFggd2hlbiBvcGVuIChjaGVja2JveCBpcyBzaWJsaW5nIG9mIC5hZG1pbi1uYXYtdG9wKSAqL1xuICAuYWRtaW4tbmF2LXRvZ2dsZS1pbnB1dDpjaGVja2VkIH4gLmFkbWluLW5hdi10b3AgLmFkbWluLW5hdi1oYW1idXJnZXIgc3BhbjpudGgtY2hpbGQoMSkge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKSB0cmFuc2xhdGUoNXB4LCA1cHgpO1xuICB9XG4gIC5hZG1pbi1uYXYtdG9nZ2xlLWlucHV0OmNoZWNrZWQgfiAuYWRtaW4tbmF2LXRvcCAuYWRtaW4tbmF2LWhhbWJ1cmdlciBzcGFuOm50aC1jaGlsZCgyKSB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuICAuYWRtaW4tbmF2LXRvZ2dsZS1pbnB1dDpjaGVja2VkIH4gLmFkbWluLW5hdi10b3AgLmFkbWluLW5hdi1oYW1idXJnZXIgc3BhbjpudGgtY2hpbGQoMykge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZykgdHJhbnNsYXRlKDVweCwgLTVweCk7XG4gIH1cblxuICAvKiBOYXYgYm9keSBoaWRkZW4gYnkgZGVmYXVsdCBvbiBtb2JpbGUgKi9cbiAgLmFkbWluLW5hdi1ib2R5IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS0xKTtcbiAgICBwYWRkaW5nLXRvcDogdmFyKC0tc3BhY2UtMik7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWFkbWluLWJvcmRlcik7XG4gICAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2UtMik7XG4gIH1cbiAgLmFkbWluLW5hdi10b2dnbGUtaW5wdXQ6Y2hlY2tlZCB+IC5hZG1pbi1uYXYtYm9keSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgfVxuXG4gIC5hZG1pbi1uYXYtbGVmdCB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IDA7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gIH1cblxuICAuYWRtaW4tbmF2LXJpZ2h0IHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tYWRtaW4tYm9yZGVyKTtcbiAgICBwYWRkaW5nLXRvcDogdmFyKC0tc3BhY2UtMik7XG4gICAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2UtMik7XG4gIH1cblxuICAvKiBGbGF0dGVuIGRyb3Bkb3ducyBvbiBtb2JpbGUgXHUyMDE0IG5vIGhvdmVyLCBzaG93IGFsbCBpdGVtcyBpbmxpbmUgKi9cbiAgLmFkbWluLW5hdi1kcm9wZG93bi10cmlnZ2VyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIC5hZG1pbi1uYXYtZHJvcGRvd24tbWVudSB7XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgICBvcGFjaXR5OiAxO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICB9XG4gIC5hZG1pbi1uYXYtZHJvcGRvd24taXRlbSB7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2UtMikgdmFyKC0tc3BhY2UtMyk7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYWRtaW4tcmFkaXVzLXNtKTtcbiAgfVxuICAuYWRtaW4tbmF2LWRyb3Bkb3duLWl0ZW06aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWFkbWluLXN1cmZhY2UpO1xuICB9XG59XG5cbi8qIE5hdiBDYXJldCAqL1xuLmFkbWluLW5hdi1jYXJldCB7XG4gIGZvbnQtc2l6ZTogMC43ZW07XG4gIG9wYWNpdHk6IDAuNztcbiAgbWFyZ2luLWxlZnQ6IHZhcigtLXNwYWNlLTEpO1xufVxuXG4vKiBFbmhhbmNlZCBEcm9wZG93biBJdGVtcyAobWVyZ2VkIHdpdGggYmFzZSBkZWZpbml0aW9uIGFib3ZlKSAqL1xuXG4uYWRtaW4tbmF2LWRyb3Bkb3duLWljb24ge1xuICBkaXNwbGF5OiBpbmxpbmU7XG4gIG1hcmdpbi1yaWdodDogdmFyKC0tc3BhY2UtMik7XG59XG5cbi5hZG1pbi1uYXYtZHJvcGRvd24tZGVzYyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6IHZhcigtLWFkbWluLXRleHQteHMpO1xuICBjb2xvcjogdmFyKC0tYWRtaW4tdGV4dC1kaW0pO1xuICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjZS0xKTtcbiAgcGFkZGluZy1sZWZ0OiBjYWxjKHZhcigtLXNwYWNlLTQpICsgNHB4KTtcbn1cblxuLmFkbWluLW5hdi1kcm9wZG93bi1pdGVtOmhvdmVyIC5hZG1pbi1uYXYtZHJvcGRvd24tZGVzYyB7XG4gIGNvbG9yOiB2YXIoLS1hZG1pbi10ZXh0LW11dGVkKTtcbn1cblxuLyogTG9nb3V0IExpbmsgKi9cbi5hZG1pbi1uYXYtbG9nb3V0IHtcbiAgY29sb3I6IHZhcigtLWFkbWluLXRleHQtZGltKTtcbiAgcGFkZGluZzogdmFyKC0tc3BhY2UtMikgdmFyKC0tc3BhY2UtMyk7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgZm9udC1zaXplOiB2YXIoLS1hZG1pbi10ZXh0LXNtKTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tYWRtaW4tcmFkaXVzLXNtKTtcbiAgdHJhbnNpdGlvbjogYWxsIHZhcigtLWFkbWluLXRyYW5zaXRpb24pO1xufVxuXG4uYWRtaW4tbmF2LWxvZ291dDpob3ZlciB7XG4gIGNvbG9yOiB2YXIoLS1hZG1pbi1lcnJvcik7XG4gIGJhY2tncm91bmQ6IHZhcigtLWFkbWluLWVycm9yLWJnKTtcbn1cblxuLyogTWFpbiBDb250ZW50IEFyZWEgKi9cbi5hZG1pbi1tYWluIHtcbiAgcGFkZGluZzogdmFyKC0tc3BhY2UtNik7XG4gIG1heC13aWR0aDogMTYwMHB4O1xuICBtYXJnaW46IDAgYXV0bztcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIDQuIExBWU9VVFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmFkbWluLWNvbnRlbnQge1xuICBwYWRkaW5nOiB2YXIoLS1zcGFjZS02KTtcbiAgbWF4LXdpZHRoOiAxNjAwcHg7XG4gIG1hcmdpbjogMCBhdXRvO1xufVxuXG4uYWRtaW4taGVhZGVyIHtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UtNik7XG59XG5cbi5hZG1pbi10aXRsZSB7XG4gIGZvbnQtc2l6ZTogdmFyKC0tYWRtaW4tdGV4dC0yeGwpO1xuICBmb250LXdlaWdodDogNzAwO1xuICBjb2xvcjogdmFyKC0tYWRtaW4tdGV4dCk7XG4gIG1hcmdpbjogMCAwIHZhcigtLXNwYWNlLTIpIDA7XG59XG5cbi5hZG1pbi1zdWJ0aXRsZSB7XG4gIGZvbnQtc2l6ZTogdmFyKC0tYWRtaW4tdGV4dC1iYXNlKTtcbiAgY29sb3I6IHZhcigtLWFkbWluLXRleHQtbXV0ZWQpO1xuICBtYXJnaW46IDA7XG59XG5cbi5hZG1pbi1ncmlkIHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ2FwOiB2YXIoLS1zcGFjZS00KTtcbn1cblxuLmFkbWluLWdyaWQtMiB7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7IH1cbi5hZG1pbi1ncmlkLTMgeyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLCAxZnIpOyB9XG4uYWRtaW4tZ3JpZC00IHsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNCwgMWZyKTsgfVxuXG4uYWRtaW4tZmxleCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGdhcDogdmFyKC0tc3BhY2UtNCk7XG59XG5cbi5hZG1pbi1mbGV4LWNvbCB7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG5cbi5hZG1pbi1mbGV4LXdyYXAge1xuICBmbGV4LXdyYXA6IHdyYXA7XG59XG5cbi5hZG1pbi1mbGV4LTEgeyBmbGV4OiAxOyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICA1LiBDQVJEU1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmFkbWluLWNhcmQge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1hZG1pbi1zdXJmYWNlKTtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYWRtaW4tYm9yZGVyKTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tYWRtaW4tcmFkaXVzKTtcbiAgYm94LXNoYWRvdzogdmFyKC0tYWRtaW4tc2hhZG93KTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLmFkbWluLWNhcmQtaGVhZGVyIHtcbiAgcGFkZGluZzogdmFyKC0tc3BhY2UtNCk7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1hZG1pbi1ib3JkZXIpO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG59XG5cbi5hZG1pbi1jYXJkLXRpdGxlIHtcbiAgZm9udC1zaXplOiB2YXIoLS1hZG1pbi10ZXh0LWxnKTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgY29sb3I6IHZhcigtLWFkbWluLXRleHQpO1xuICBtYXJnaW46IDA7XG59XG5cbi5hZG1pbi1jYXJkLWJvZHkge1xuICBwYWRkaW5nOiB2YXIoLS1zcGFjZS00KTtcbn1cblxuLmFkbWluLWNhcmQtZm9vdGVyIHtcbiAgcGFkZGluZzogdmFyKC0tc3BhY2UtMykgdmFyKC0tc3BhY2UtNCk7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1hZG1pbi1ib3JkZXIpO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1hZG1pbi1iZy1hbHQpO1xufVxuXG4vKiBTdGF0cyBHcmlkIC0gcmVzcG9uc2l2ZSA2LWNvbHVtbiBsYXlvdXQgKi9cbi5hZG1pbi1zdGF0cy1ncmlkIHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNiwgMWZyKTtcbiAgZ2FwOiB2YXIoLS1zcGFjZS00KTtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UtNik7XG59XG5cbi8qIFN0YXQgQ2FyZHMgKi9cbi5hZG1pbi1zdGF0LWNhcmQge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1hZG1pbi1zdXJmYWNlKTtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYWRtaW4tYm9yZGVyKTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tYWRtaW4tcmFkaXVzKTtcbiAgcGFkZGluZzogdmFyKC0tc3BhY2UtNCk7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBkaXNwbGF5OiBibG9jaztcbiAgdHJhbnNpdGlvbjogYWxsIHZhcigtLWFkbWluLXRyYW5zaXRpb24pO1xufVxuXG4uYWRtaW4tc3RhdC1jYXJkOmhvdmVyIHtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1hZG1pbi1wcmltYXJ5KTtcbiAgYmFja2dyb3VuZDogdmFyKC0tYWRtaW4tYmctYWx0KTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0ycHgpO1xuICBib3gtc2hhZG93OiB2YXIoLS1hZG1pbi1zaGFkb3cpO1xufVxuXG4uYWRtaW4tc3RhdC1jYXJkOmhvdmVyIC5hZG1pbi1zdGF0LXZhbHVlIHtcbiAgY29sb3I6IHZhcigtLWFkbWluLXByaW1hcnkpO1xufVxuXG4uYWRtaW4tc3RhdC12YWx1ZSB7XG4gIGZvbnQtc2l6ZTogdmFyKC0tYWRtaW4tdGV4dC0zeGwpO1xuICBmb250LXdlaWdodDogNzAwO1xuICBjb2xvcjogdmFyKC0tYWRtaW4tdGV4dCk7XG4gIGxpbmUtaGVpZ2h0OiAxLjI7XG4gIHRyYW5zaXRpb246IGNvbG9yIHZhcigtLWFkbWluLXRyYW5zaXRpb24pO1xufVxuXG4uYWRtaW4tc3RhdC1sYWJlbCB7XG4gIGZvbnQtc2l6ZTogdmFyKC0tYWRtaW4tdGV4dC1zbSk7XG4gIGNvbG9yOiB2YXIoLS1hZG1pbi10ZXh0LW11dGVkKTtcbiAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2UtMSk7XG59XG5cbi5hZG1pbi1zdGF0LWNhcmQuc3VjY2VzcyB7IGJvcmRlci1sZWZ0OiA0cHggc29saWQgdmFyKC0tYWRtaW4tc3VjY2Vzcyk7IH1cbi5hZG1pbi1zdGF0LWNhcmQud2FybmluZyB7IGJvcmRlci1sZWZ0OiA0cHggc29saWQgdmFyKC0tYWRtaW4td2FybmluZyk7IH1cbi5hZG1pbi1zdGF0LWNhcmQuZXJyb3IgeyBib3JkZXItbGVmdDogNHB4IHNvbGlkIHZhcigtLWFkbWluLWVycm9yKTsgfVxuLmFkbWluLXN0YXQtY2FyZC5pbmZvIHsgYm9yZGVyLWxlZnQ6IDRweCBzb2xpZCB2YXIoLS1hZG1pbi1pbmZvKTsgfVxuXG4vKiBMaXZlIHN0cmVhbWluZyBpbmRpY2F0b3IgKi9cbi5hZG1pbi1zdGF0LWNhcmQuc3RyZWFtaW5nLWxpdmUsXG4uYWRtaW4tY2FyZC5zdHJlYW1pbmctbGl2ZSB7XG4gIGJvcmRlci1sZWZ0OiA0cHggc29saWQgI2ZmNDA0MDtcbiAgYW5pbWF0aW9uOiBzdHJlYW1pbmctcHVsc2UgMnMgaW5maW5pdGU7XG59XG5cbkBrZXlmcmFtZXMgc3RyZWFtaW5nLXB1bHNlIHtcbiAgMCUsIDEwMCUgeyBiYWNrZ3JvdW5kOiB2YXIoLS1hZG1pbi1zdXJmYWNlKTsgfVxuICA1MCUgeyBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgNjQsIDY0LCAwLjEpOyB9XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICA2LiBUQUJMRVNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5hZG1pbi10YWJsZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICBmb250LXNpemU6IHZhcigtLWFkbWluLXRleHQtc20pO1xufVxuXG4uYWRtaW4tdGFibGUgdGgsXG4uYWRtaW4tdGFibGUgdGQge1xuICBwYWRkaW5nOiB2YXIoLS1zcGFjZS0zKSB2YXIoLS1zcGFjZS00KTtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWFkbWluLWJvcmRlcik7XG59XG5cbi5hZG1pbi10YWJsZSB0aCB7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGNvbG9yOiB2YXIoLS1hZG1pbi10ZXh0LW11dGVkKTtcbiAgYmFja2dyb3VuZDogdmFyKC0tYWRtaW4tYmctYWx0KTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZm9udC1zaXplOiB2YXIoLS1hZG1pbi10ZXh0LXhzKTtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMDVlbTtcbn1cblxuLmFkbWluLXRhYmxlIHRib2R5IHRyOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tYWRtaW4tc3VyZmFjZS1ob3Zlcik7XG59XG5cbi5hZG1pbi10YWJsZSB0Ym9keSB0cjpsYXN0LWNoaWxkIHRkIHtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIDcuIEJVVFRPTlNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5hZG1pbi1idG4ge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGdhcDogdmFyKC0tc3BhY2UtMik7XG4gIHBhZGRpbmc6IHZhcigtLXNwYWNlLTIpIHZhcigtLXNwYWNlLTQpO1xuICBmb250LXNpemU6IHZhcigtLWFkbWluLXRleHQtc20pO1xuICBmb250LXdlaWdodDogNTAwO1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tYWRtaW4tcmFkaXVzLXNtKTtcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdHJhbnNpdGlvbjogYWxsIHZhcigtLWFkbWluLXRyYW5zaXRpb24pO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi5hZG1pbi1idG46ZGlzYWJsZWQge1xuICBvcGFjaXR5OiAwLjU7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG59XG5cbi5hZG1pbi1idG4tcHJpbWFyeSB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWFkbWluLXByaW1hcnkpO1xuICBjb2xvcjogd2hpdGU7XG59XG5cbi5hZG1pbi1idG4tcHJpbWFyeTpob3Zlcjpub3QoOmRpc2FibGVkKSB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWFkbWluLXByaW1hcnktaG92ZXIpO1xufVxuXG4uYWRtaW4tYnRuLWFjY2VudCB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWFkbWluLWFjY2VudCk7XG4gIGNvbG9yOiB3aGl0ZTtcbn1cblxuLmFkbWluLWJ0bi1hY2NlbnQ6aG92ZXI6bm90KDpkaXNhYmxlZCkge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1hZG1pbi1hY2NlbnQtaG92ZXIpO1xufVxuXG4uYWRtaW4tYnRuLXNlY29uZGFyeSB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWFkbWluLXN1cmZhY2UpO1xuICBjb2xvcjogdmFyKC0tYWRtaW4tdGV4dCk7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tYWRtaW4tYm9yZGVyKTtcbn1cblxuLmFkbWluLWJ0bi1zZWNvbmRhcnk6aG92ZXI6bm90KDpkaXNhYmxlZCkge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1hZG1pbi1zdXJmYWNlLWhvdmVyKTtcbn1cblxuLmFkbWluLWJ0bi1kYW5nZXIge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1hZG1pbi1lcnJvcik7XG4gIGNvbG9yOiB3aGl0ZTtcbn1cblxuLmFkbWluLWJ0bi1kYW5nZXI6aG92ZXI6bm90KDpkaXNhYmxlZCkge1xuICBiYWNrZ3JvdW5kOiAjZGMyNjI2O1xufVxuXG4uYWRtaW4tYnRuLXNtIHtcbiAgcGFkZGluZzogdmFyKC0tc3BhY2UtMSkgdmFyKC0tc3BhY2UtMik7XG4gIGZvbnQtc2l6ZTogdmFyKC0tYWRtaW4tdGV4dC14cyk7XG59XG5cbi5hZG1pbi1idG4tbGcge1xuICBwYWRkaW5nOiB2YXIoLS1zcGFjZS0zKSB2YXIoLS1zcGFjZS02KTtcbiAgZm9udC1zaXplOiB2YXIoLS1hZG1pbi10ZXh0LWJhc2UpO1xufVxuXG4uYWRtaW4tYnRuLXN1Y2Nlc3Mge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1hZG1pbi1zdWNjZXNzKTtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1hZG1pbi1zdWNjZXNzKTtcbiAgY29sb3I6IHdoaXRlO1xufVxuXG4uYWRtaW4tYnRuLXN1Y2Nlc3M6aG92ZXI6bm90KDpkaXNhYmxlZCkge1xuICBiYWNrZ3JvdW5kOiAjMTZhMzRhO1xufVxuXG4uYWRtaW4tYnRuLWluZm8ge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1hZG1pbi1pbmZvKTtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1hZG1pbi1pbmZvKTtcbiAgY29sb3I6IHdoaXRlO1xufVxuXG4uYWRtaW4tYnRuLWluZm86aG92ZXI6bm90KDpkaXNhYmxlZCkge1xuICBiYWNrZ3JvdW5kOiAjN2MzYWVkO1xufVxuXG4uYWRtaW4tYnRuLXdhcm5pbmcge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1hZG1pbi13YXJuaW5nKTtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1hZG1pbi13YXJuaW5nKTtcbiAgY29sb3I6ICMxZjI5Mzc7XG59XG5cbi5hZG1pbi1idG4td2FybmluZzpob3Zlcjpub3QoOmRpc2FibGVkKSB7XG4gIGJhY2tncm91bmQ6ICNkOTc3MDY7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICA4LiBGT1JNU1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmFkbWluLWZvcm0tZ3JvdXAge1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS00KTtcbn1cblxuLmFkbWluLWxhYmVsIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogdmFyKC0tYWRtaW4tdGV4dC1zbSk7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGNvbG9yOiB2YXIoLS1hZG1pbi10ZXh0KTtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UtMik7XG59XG5cbi5hZG1pbi1pbnB1dCxcbi5hZG1pbi1zZWxlY3QsXG4uYWRtaW4tdGV4dGFyZWEge1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogdmFyKC0tc3BhY2UtMikgdmFyKC0tc3BhY2UtMyk7XG4gIGZvbnQtc2l6ZTogdmFyKC0tYWRtaW4tdGV4dC1iYXNlKTtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIGNvbG9yOiB2YXIoLS1hZG1pbi10ZXh0KTtcbiAgYmFja2dyb3VuZDogdmFyKC0tYWRtaW4tYmcpO1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1hZG1pbi1ib3JkZXIpO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1hZG1pbi1yYWRpdXMtc20pO1xuICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgdmFyKC0tYWRtaW4tdHJhbnNpdGlvbiksIGJveC1zaGFkb3cgdmFyKC0tYWRtaW4tdHJhbnNpdGlvbik7XG59XG5cbi5hZG1pbi1pbnB1dDpmb2N1cyxcbi5hZG1pbi1zZWxlY3Q6Zm9jdXMsXG4uYWRtaW4tdGV4dGFyZWE6Zm9jdXMge1xuICBvdXRsaW5lOiBub25lO1xuICBib3JkZXItY29sb3I6IHZhcigtLWFkbWluLXByaW1hcnkpO1xuICBib3gtc2hhZG93OiAwIDAgMCAzcHggcmdiYSg1OSwgMTMwLCAyNDYsIDAuMik7XG59XG5cbi5hZG1pbi1pbnB1dDo6cGxhY2Vob2xkZXIge1xuICBjb2xvcjogdmFyKC0tYWRtaW4tdGV4dC1kaW0pO1xufVxuXG4uYWRtaW4tdGV4dGFyZWEge1xuICBtaW4taGVpZ2h0OiAxMDBweDtcbiAgcmVzaXplOiB2ZXJ0aWNhbDtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIDkuIEJBREdFU1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmFkbWluLWJhZGdlIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBhZGRpbmc6IHZhcigtLXNwYWNlLTEpIHZhcigtLXNwYWNlLTIpO1xuICBmb250LXNpemU6IHZhcigtLWFkbWluLXRleHQteHMpO1xuICBmb250LXdlaWdodDogNTAwO1xuICBib3JkZXItcmFkaXVzOiA5OTk5cHg7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGxldHRlci1zcGFjaW5nOiAwLjA1ZW07XG59XG5cbi5hZG1pbi1iYWRnZS1zdWNjZXNzIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tYWRtaW4tc3VjY2Vzcy1iZyk7XG4gIGNvbG9yOiB2YXIoLS1hZG1pbi1zdWNjZXNzKTtcbn1cblxuLmFkbWluLWJhZGdlLXdhcm5pbmcge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1hZG1pbi13YXJuaW5nLWJnKTtcbiAgY29sb3I6IHZhcigtLWFkbWluLXdhcm5pbmcpO1xufVxuXG4uYWRtaW4tYmFkZ2UtZXJyb3Ige1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1hZG1pbi1lcnJvci1iZyk7XG4gIGNvbG9yOiB2YXIoLS1hZG1pbi1lcnJvcik7XG59XG5cbi5hZG1pbi1iYWRnZS1pbmZvIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tYWRtaW4taW5mby1iZyk7XG4gIGNvbG9yOiB2YXIoLS1hZG1pbi1pbmZvKTtcbn1cblxuLmFkbWluLWJhZGdlLW5ldXRyYWwge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1hZG1pbi1zdXJmYWNlKTtcbiAgY29sb3I6IHZhcigtLWFkbWluLXRleHQtbXV0ZWQpO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgMTAuIEFMRVJUUyAvIEZMQVNIIE1FU1NBR0VTXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uYWRtaW4tYWxlcnQge1xuICBwYWRkaW5nOiB2YXIoLS1zcGFjZS0zKSB2YXIoLS1zcGFjZS00KTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tYWRtaW4tcmFkaXVzKTtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UtNCk7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICBnYXA6IHZhcigtLXNwYWNlLTMpO1xufVxuXG4uYWRtaW4tYWxlcnQtc3VjY2VzcyB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWFkbWluLXN1Y2Nlc3MtYmcpO1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1hZG1pbi1zdWNjZXNzKTtcbiAgY29sb3I6IHZhcigtLWFkbWluLXN1Y2Nlc3MpO1xufVxuXG4uYWRtaW4tYWxlcnQtd2FybmluZyB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWFkbWluLXdhcm5pbmctYmcpO1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1hZG1pbi13YXJuaW5nKTtcbiAgY29sb3I6IHZhcigtLWFkbWluLXdhcm5pbmcpO1xufVxuXG4uYWRtaW4tYWxlcnQtZXJyb3Ige1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1hZG1pbi1lcnJvci1iZyk7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWFkbWluLWVycm9yKTtcbiAgY29sb3I6IHZhcigtLWFkbWluLWVycm9yKTtcbn1cblxuLmFkbWluLWFsZXJ0LWluZm8ge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1hZG1pbi1pbmZvLWJnKTtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYWRtaW4taW5mbyk7XG4gIGNvbG9yOiB2YXIoLS1hZG1pbi1pbmZvKTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIDExLiBFTVBUWSBTVEFURVNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5hZG1pbi1lbXB0eSB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcGFkZGluZzogdmFyKC0tc3BhY2UtMTIpIHZhcigtLXNwYWNlLTQpO1xuICBjb2xvcjogdmFyKC0tYWRtaW4tdGV4dC1tdXRlZCk7XG59XG5cbi5hZG1pbi1lbXB0eS1pY29uIHtcbiAgZm9udC1zaXplOiAzcmVtO1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS00KTtcbiAgb3BhY2l0eTogMC41O1xufVxuXG4uYWRtaW4tZW1wdHktdGl0bGUge1xuICBmb250LXNpemU6IHZhcigtLWFkbWluLXRleHQtbGcpO1xuICBmb250LXdlaWdodDogNjAwO1xuICBjb2xvcjogdmFyKC0tYWRtaW4tdGV4dCk7XG4gIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlLTIpO1xufVxuXG4uYWRtaW4tZW1wdHktZGVzY3JpcHRpb24ge1xuICBmb250LXNpemU6IHZhcigtLWFkbWluLXRleHQtc20pO1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS00KTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIDEyLiBMT0FESU5HIFNUQVRFU1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmFkbWluLWxvYWRpbmcge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgcGFkZGluZzogdmFyKC0tc3BhY2UtOCk7XG59XG5cbi5hZG1pbi1zcGlubmVyIHtcbiAgd2lkdGg6IDMycHg7XG4gIGhlaWdodDogMzJweDtcbiAgYm9yZGVyOiAzcHggc29saWQgdmFyKC0tYWRtaW4tYm9yZGVyKTtcbiAgYm9yZGVyLXRvcC1jb2xvcjogdmFyKC0tYWRtaW4tcHJpbWFyeSk7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgYW5pbWF0aW9uOiBhZG1pbi1zcGluIDAuOHMgbGluZWFyIGluZmluaXRlO1xufVxuXG5Aa2V5ZnJhbWVzIGFkbWluLXNwaW4ge1xuICB0byB7IHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7IH1cbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIDEzLiBVVElMSVRJRVNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5hZG1pbi10ZXh0LW11dGVkIHsgY29sb3I6IHZhcigtLWFkbWluLXRleHQtbXV0ZWQpOyB9XG4uYWRtaW4tdGV4dC1zdWNjZXNzIHsgY29sb3I6IHZhcigtLWFkbWluLXN1Y2Nlc3MpOyB9XG4uYWRtaW4tdGV4dC13YXJuaW5nIHsgY29sb3I6IHZhcigtLWFkbWluLXdhcm5pbmcpOyB9XG4uYWRtaW4tdGV4dC1lcnJvciB7IGNvbG9yOiB2YXIoLS1hZG1pbi1lcnJvcik7IH1cbi5hZG1pbi10ZXh0LWluZm8geyBjb2xvcjogdmFyKC0tYWRtaW4taW5mbyk7IH1cbi5hZG1pbi10ZXh0LWFjY2VudCB7IGNvbG9yOiB2YXIoLS1hZG1pbi1hY2NlbnQpOyB9XG5cbi5hZG1pbi10ZXh0LXNtIHsgZm9udC1zaXplOiB2YXIoLS1hZG1pbi10ZXh0LXNtKTsgfVxuLmFkbWluLXRleHQteHMgeyBmb250LXNpemU6IHZhcigtLWFkbWluLXRleHQteHMpOyB9XG4uYWRtaW4tdGV4dC1sZyB7IGZvbnQtc2l6ZTogdmFyKC0tYWRtaW4tdGV4dC1sZyk7IH1cblxuLmFkbWluLWZvbnQtbW9ubyB7IGZvbnQtZmFtaWx5OiB2YXIoLS1hZG1pbi1mb250LW1vbm8pOyB9XG4uYWRtaW4tZm9udC1ib2xkIHsgZm9udC13ZWlnaHQ6IDcwMDsgfVxuXG4uYWRtaW4tbXQtMiB7IG1hcmdpbi10b3A6IHZhcigtLXNwYWNlLTIpOyB9XG4uYWRtaW4tbXQtNCB7IG1hcmdpbi10b3A6IHZhcigtLXNwYWNlLTQpOyB9XG4uYWRtaW4tbWItMiB7IG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlLTIpOyB9XG4uYWRtaW4tbWItNCB7IG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlLTQpOyB9XG5cbi5hZG1pbi1wLTQgeyBwYWRkaW5nOiB2YXIoLS1zcGFjZS00KTsgfVxuLmFkbWluLXAtNiB7IHBhZGRpbmc6IHZhcigtLXNwYWNlLTYpOyB9XG5cbi5hZG1pbi1oaWRkZW4geyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuLyogVGV4dCB1dGlsaXRpZXMgKi9cbi5hZG1pbi10ZXh0LWRpbSB7IGNvbG9yOiB2YXIoLS1hZG1pbi10ZXh0LWRpbSk7IH1cblxuLyogQ29kZSBpbmxpbmUgKi9cbi5hZG1pbi1jb2RlIHtcbiAgYmFja2dyb3VuZDogcmdiYSgwLDAsMCwwLjIpO1xuICBwYWRkaW5nOiAycHggNnB4O1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1hZG1pbi1yYWRpdXMtc20pO1xuICBmb250LWZhbWlseTogdmFyKC0tYWRtaW4tZm9udC1tb25vKTtcbiAgZm9udC1zaXplOiB2YXIoLS1hZG1pbi10ZXh0LXNtKTtcbn1cblxuLyogQ2FyZCBsaW5rIHZhcmlhbnQgKi9cbi5hZG1pbi1jYXJkLWxpbmsge1xuICBkaXNwbGF5OiBibG9jaztcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBjb2xvcjogaW5oZXJpdDtcbiAgdHJhbnNpdGlvbjogYWxsIHZhcigtLWFkbWluLXRyYW5zaXRpb24pO1xufVxuXG4uYWRtaW4tY2FyZC1saW5rOmhvdmVyIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0ycHgpO1xuICBib3JkZXItY29sb3I6IHZhcigtLWFkbWluLXByaW1hcnkpO1xuICBib3gtc2hhZG93OiB2YXIoLS1hZG1pbi1zaGFkb3ctbGcpO1xufVxuXG4uYWRtaW4tY2FyZC1saW5rIGgzIHtcbiAgbWFyZ2luOiAwIDAgdmFyKC0tc3BhY2UtMikgMDtcbiAgY29sb3I6IHZhcigtLWFkbWluLXRleHQpO1xufVxuXG4uYWRtaW4tY2FyZC1saW5rIHAge1xuICBtYXJnaW46IDA7XG59XG5cbi8qIEJ1dHRvbiBibG9jayB2YXJpYW50ICovXG4uYWRtaW4tYnRuLWJsb2NrIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4vKiBCYWRnZSBzaXplIHZhcmlhbnRzICovXG4uYWRtaW4tYmFkZ2UtbGcge1xuICBmb250LXNpemU6IHZhcigtLWFkbWluLXRleHQtbGcpO1xuICBwYWRkaW5nOiB2YXIoLS1zcGFjZS0zKSB2YXIoLS1zcGFjZS02KTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIDEzLiBEQVNIQk9BUkQgTEFZT1VUXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uYWRtaW4tZGFzaGJvYXJkLWdyaWQge1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAzODBweDtcbiAgZ2FwOiB2YXIoLS1zcGFjZS02KTtcbiAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2UtNCk7XG59XG5cbi5hZG1pbi1kYXNoYm9hcmQtbWFpbiB7XG4gIG1pbi13aWR0aDogMDtcbn1cblxuLmFkbWluLWRhc2hib2FyZC1zaWRlYmFyIHtcbiAgbWluLXdpZHRoOiAwO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgMTQuIFJFU1BPTlNJVkVcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbkBtZWRpYSAobWF4LXdpZHRoOiAxNDAwcHgpIHtcbiAgLmFkbWluLXN0YXRzLWdyaWQgeyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLCAxZnIpOyB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiAxMDI0cHgpIHtcbiAgLmFkbWluLXN0YXRzLWdyaWQgeyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLCAxZnIpOyB9XG4gIC5hZG1pbi1kYXNoYm9hcmQtZ3JpZCB7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyOyB9XG4gIC5hZG1pbi1ncmlkLTQgeyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpOyB9XG4gIC5hZG1pbi1ncmlkLTMgeyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpOyB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAvKiBVc2UgZHluYW1pYyB2aWV3cG9ydCBoZWlnaHQgdG8gYWNjb3VudCBmb3IgYnJvd3NlciBjaHJvbWUgKi9cbiAgLmFkbWluLWxheW91dCB7XG4gICAgbWluLWhlaWdodDogMTAwZHZoO1xuICB9XG5cbiAgLyogUHJldmVudCBhbnkgcGFnZS1sZXZlbCBob3Jpem9udGFsIG92ZXJmbG93ICovXG4gIC5hZG1pbi1tYWluIHtcbiAgICBvdmVyZmxvdy14OiBoaWRkZW47XG4gICAgbWF4LXdpZHRoOiAxMDB2dztcbiAgfVxufVxuXG4vKiBUYWJsZXQtaXNoOiBjb21wYWN0IGhvcml6b250YWwgc2Nyb2xsaW5nIG5hdiAoNDgxLTc2OHB4KSAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDQ4MXB4KSBhbmQgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgLyogQ29tcGFjdCBob3Jpem9udGFsIG5hdiAtIHNpbmdsZSByb3cgd2l0aCBzY3JvbGwgb3ZlcmZsb3cgKi9cbiAgLmFkbWluLW5hdiB7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2UtMSkgdmFyKC0tc3BhY2UtMik7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS0xKTtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgICBzY3JvbGxiYXItd2lkdGg6IG5vbmU7XG4gIH1cblxuICAuYWRtaW4tbmF2Ojotd2Via2l0LXNjcm9sbGJhciB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC5hZG1pbi1uYXYtbGVmdCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogdmFyKC0tc3BhY2UtMSk7XG4gICAgZmxleDogMTtcbiAgICBtaW4td2lkdGg6IDA7XG4gIH1cblxuICAuYWRtaW4tbmF2LXJpZ2h0IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS0xKTtcbiAgICBmbGV4LXNocmluazogMDtcbiAgfVxuXG4gIC5hZG1pbi1uYXYtYnJhbmQge1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tYWRtaW4tdGV4dC1zbSk7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2UtMSkgdmFyKC0tc3BhY2UtMik7XG4gICAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1zcGFjZS0xKTtcbiAgICBmbGV4LXNocmluazogMDtcbiAgfVxuXG4gIC8qIENvbXBhY3QgbmF2IGl0ZW1zIC0gaWNvbi1saWtlICovXG4gIC5hZG1pbi1uYXYtZHJvcGRvd24sXG4gIC5hZG1pbi1uYXYtaXRlbSB7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gIH1cblxuICAuYWRtaW4tbmF2LWRyb3Bkb3duLXRyaWdnZXIsXG4gIC5hZG1pbi1uYXYtaXRlbSB7XG4gICAgZm9udC1zaXplOiAxMXB4O1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLTEpIHZhcigtLXNwYWNlLTIpO1xuICAgIG1pbi1oZWlnaHQ6IDM2cHg7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgfVxuXG4gIC8qIEhpZGUgZHJvcGRvd24gY2FyZXQgdGV4dCBvbiBtb2JpbGUgKi9cbiAgLmFkbWluLW5hdi1jYXJldCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC5hZG1pbi1uYXYtc3BhY2VyIHsgZGlzcGxheTogbm9uZTsgfVxuICAuYWRtaW4tbmF2LWRyb3Bkb3duLWRlc2MgeyBkaXNwbGF5OiBub25lOyB9XG5cbiAgLyogQmFjayBsaW5rIGNvbXBhY3QgKi9cbiAgLmFkbWluLW5hdi1iYWNrLFxuICAuYWRtaW4tbmF2LWxvZ291dCB7XG4gICAgZm9udC1zaXplOiAxMXB4O1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLTEpIHZhcigtLXNwYWNlLTIpO1xuICB9XG5cbiAgLyogVGFibGV0OiBIaWRlIGRyb3Bkb3duIHRyaWdnZXJzLCBzaG93IG1lbnUgaXRlbXMgZGlyZWN0bHkgKi9cbiAgLmFkbWluLW5hdi1kcm9wZG93bi10cmlnZ2VyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgLmFkbWluLW5hdi1kcm9wZG93bi1tZW51IHtcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgb3BhY2l0eTogMTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1pbi13aWR0aDogYXV0bztcbiAgfVxuXG4gIC5hZG1pbi1uYXYtZHJvcGRvd24taXRlbSB7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2UtMSkgdmFyKC0tc3BhY2UtMik7XG4gICAgZm9udC1zaXplOiAxMXB4O1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIH1cblxuICAvKiBDb250ZW50IGFkanVzdG1lbnRzICovXG4gIC5hZG1pbi1tYWluIHtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS0yKTtcbiAgfVxuXG4gIC5hZG1pbi1jb250ZW50IHtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS0yKTtcbiAgfVxuXG4gIC5hZG1pbi1zdGF0cy1ncmlkIHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpO1xuICAgIGdhcDogdmFyKC0tc3BhY2UtMik7XG4gIH1cblxuICAuYWRtaW4tZ3JpZC0yLFxuICAuYWRtaW4tZ3JpZC0zLFxuICAuYWRtaW4tZ3JpZC00IHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcbiAgfVxuXG4gIC5hZG1pbi1mbGV4Om5vdCguYWRtaW4tZmxleC1jb2wpIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICB9XG5cbiAgLyogVGFibGUgc2Nyb2xscyAqL1xuICAuYWRtaW4tdGFibGUtd3JhcHBlciB7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gIH1cblxuICAvKiBUb3VjaC1mcmllbmRseSB0YXJnZXRzICovXG4gIC5hZG1pbi1idG4ge1xuICAgIG1pbi1oZWlnaHQ6IDQ0cHg7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2UtMikgdmFyKC0tc3BhY2UtMyk7XG4gIH1cblxuICAvKiBDb21wYWN0IGhlYWRlcnMgKi9cbiAgLmFkbWluLWhlYWRlciBoMSxcbiAgLmFkbWluLXRpdGxlIHtcbiAgICBmb250LXNpemU6IHZhcigtLWFkbWluLXRleHQtbGcpO1xuICB9XG5cbiAgLmFkbWluLXN1YnRpdGxlIHtcbiAgICBmb250LXNpemU6IHZhcigtLWFkbWluLXRleHQteHMpO1xuICB9XG5cbiAgLyogQ29tcGFjdCBzdGF0IGNhcmRzICovXG4gIC5hZG1pbi1zdGF0LWNhcmQge1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLTIpO1xuICB9XG5cbiAgLmFkbWluLXN0YXQtdmFsdWUge1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tYWRtaW4tdGV4dC1sZyk7XG4gIH1cblxuICAuYWRtaW4tc3RhdC1sYWJlbCB7XG4gICAgZm9udC1zaXplOiAxMHB4O1xuICB9XG5cbiAgLyogQ29tcGFjdCBzZWN0aW9uIHRpdGxlcyAqL1xuICAuYWRtaW4tc2VjdGlvbi10aXRsZSB7XG4gICAgZm9udC1zaXplOiB2YXIoLS1hZG1pbi10ZXh0LXNtKTtcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS0yKTtcbiAgfVxuXG4gIC8qIFF1aWNrIGFjY2VzcyBncmlkIC0gMiBjb2x1bW5zIG9uIHRhYmxldCAqL1xuICAuYWRtaW4tZ3JpZC0zIHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpO1xuICAgIGdhcDogdmFyKC0tc3BhY2UtMik7XG4gIH1cblxuICAuYWRtaW4tY2FyZCB7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2UtMyk7XG4gIH1cblxuICAuYWRtaW4tY2FyZCBoMyB7XG4gICAgZm9udC1zaXplOiB2YXIoLS1hZG1pbi10ZXh0LXNtKTtcbiAgfVxuXG4gIC5hZG1pbi1jYXJkIHAge1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tYWRtaW4tdGV4dC14cyk7XG4gIH1cbn1cblxuLyogTmFycm93IHBob25lcyAoUmF6ciBmb2xkZWQsIGlQaG9uZSBtaW5pLCBldGMpICovXG5AbWVkaWEgKG1heC13aWR0aDogNDgwcHgpIHtcbiAgLmFkbWluLXN0YXRzLWdyaWQge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7XG4gIH1cblxuICAuYWRtaW4tZ3JpZC0zIHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcbiAgfVxuXG4gIC8qIEV2ZW4gbW9yZSBjb21wYWN0IG5hdiAqL1xuICAuYWRtaW4tbmF2LWRyb3Bkb3duLXRyaWdnZXIsXG4gIC5hZG1pbi1uYXYtaXRlbSB7XG4gICAgZm9udC1zaXplOiAxMHB4O1xuICAgIHBhZGRpbmc6IDZweCA4cHg7XG4gICAgbWluLWhlaWdodDogMzJweDtcbiAgfVxuXG4gIC5hZG1pbi1uYXYtYnJhbmQge1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBwYWRkaW5nOiA2cHggOHB4O1xuICB9XG59XG5cbi8qIExhbmRzY2FwZSBtb2RlIG9uIG1vYmlsZSAtIG1heGltaXplIGhvcml6b250YWwgc3BhY2UgKi9cbkBtZWRpYSAobWF4LWhlaWdodDogNTAwcHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSkge1xuICAuYWRtaW4tbmF2IHtcbiAgICBwYWRkaW5nOiA0cHggdmFyKC0tc3BhY2UtMik7XG4gIH1cblxuICAuYWRtaW4tbmF2LWRyb3Bkb3duLXRyaWdnZXIsXG4gIC5hZG1pbi1uYXYtaXRlbSB7XG4gICAgbWluLWhlaWdodDogMjhweDtcbiAgICBwYWRkaW5nOiA0cHggOHB4O1xuICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgfVxuXG4gIC5hZG1pbi1uYXYtYnJhbmQge1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBwYWRkaW5nOiA0cHggOHB4O1xuICB9XG5cbiAgLmFkbWluLW1haW4ge1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLTIpO1xuICB9XG5cbiAgLyogU3RhdHMgaW4gcm93IGZvciBsYW5kc2NhcGUgKi9cbiAgLmFkbWluLXN0YXRzLWdyaWQge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDYsIDFmcik7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS0yKTtcbiAgfVxuXG4gIC5hZG1pbi1zdGF0LWNhcmQge1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLTIpO1xuICB9XG5cbiAgLmFkbWluLXN0YXQtdmFsdWUge1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tYWRtaW4tdGV4dC1iYXNlKTtcbiAgfVxuXG4gIC5hZG1pbi1zdGF0LWxhYmVsIHtcbiAgICBmb250LXNpemU6IDlweDtcbiAgfVxufVxuXG4vKiBGb2xkYWJsZSB0YWxsIHNjcmVlbnMgKFJhenIgdW5mb2xkZWQ6IH40MDBweCB3aWRlLCB2ZXJ5IHRhbGwpICovXG5AbWVkaWEgKG1heC13aWR0aDogNDUwcHgpIGFuZCAobWluLWhlaWdodDogODAwcHgpIHtcbiAgLmFkbWluLXN0YXRzLWdyaWQge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7XG4gIH1cblxuICAuYWRtaW4tZ3JpZC0zIHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcbiAgfVxuXG4gIC8qIE1vcmUgdmVydGljYWwgYnJlYXRoaW5nIHJvb20gKi9cbiAgLmFkbWluLXNlY3Rpb24ge1xuICAgIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlLTQpO1xuICB9XG59XG5cbiAgLmFkbWluLXN0YXQtdmFsdWUge1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tYWRtaW4tdGV4dC0yeGwpO1xuICB9XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBGQUxMQkFDSyBNT0RFIFNFTEVDVE9SXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uZmFsbGJhY2stbW9kZS1zZWxlY3RvciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogdmFyKC0tc3BhY2UtMik7XG59XG5cbi5hZG1pbi1sYWJlbC1pbmxpbmUge1xuICBmb250LXNpemU6IHZhcigtLWFkbWluLXRleHQtc20pO1xuICBjb2xvcjogdmFyKC0tYWRtaW4tdGV4dC1tdXRlZCk7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi5hZG1pbi1zZWxlY3Qge1xuICBwYWRkaW5nOiB2YXIoLS1zcGFjZS0yKSB2YXIoLS1zcGFjZS0zKTtcbiAgcGFkZGluZy1yaWdodDogdmFyKC0tc3BhY2UtNik7XG4gIGZvbnQtc2l6ZTogdmFyKC0tYWRtaW4tdGV4dC1zbSk7XG4gIGJhY2tncm91bmQ6IHZhcigtLWFkbWluLXN1cmZhY2UpO1xuICBjb2xvcjogdmFyKC0tYWRtaW4tdGV4dCk7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWFkbWluLWJvcmRlcik7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLWFkbWluLXJhZGl1cy1zbSk7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScxMicgaGVpZ2h0PScxMicgdmlld0JveD0nMCAwIDEyIDEyJyUzRSUzQ3BhdGggZmlsbD0nJTIzOWNhM2FmJyBkPSdNMyA0bDMgMyAzLTMnLyUzRSUzQy9zdmclM0VcIik7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IDhweCBjZW50ZXI7XG59XG5cbi5hZG1pbi1zZWxlY3Q6aG92ZXIge1xuICBib3JkZXItY29sb3I6IHZhcigtLWFkbWluLXByaW1hcnkpO1xufVxuXG4uYWRtaW4tc2VsZWN0OmZvY3VzIHtcbiAgb3V0bGluZTogbm9uZTtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1hZG1pbi1wcmltYXJ5KTtcbiAgYm94LXNoYWRvdzogMCAwIDAgMnB4IHJnYmEoNTksIDEzMCwgMjQ2LCAwLjIpO1xufVxuXG4uYWRtaW4tc2VsZWN0LXdhcm5pbmcge1xuICBib3JkZXItY29sb3I6IHZhcigtLWFkbWluLXdhcm5pbmcpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI0NSwgMTU4LCAxMSwgMC4xKTtcbn1cblxuLmFkbWluLXNlbGVjdC1kYW5nZXIge1xuICBib3JkZXItY29sb3I6IHZhcigtLWFkbWluLWVycm9yKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMzksIDY4LCA2OCwgMC4xKTtcbn1cblxuLmFkbWluLXNlbGVjdC1pbmZvIHtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1hZG1pbi1pbmZvKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg1OSwgMTMwLCAyNDYsIDAuMSk7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBHUFUgV09SS0VSUyAtIENvbXBhY3QgQ2FyZCBMYXlvdXRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi53b3JrZXItZ3JpZCB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZmlsbCwgbWlubWF4KDMyMHB4LCAxZnIpKTtcbiAgZ2FwOiB2YXIoLS1zcGFjZS00KTtcbn1cblxuLndvcmtlci1jYXJkIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tYWRtaW4tYmcpO1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1hZG1pbi1ib3JkZXIpO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbGcpO1xuICBwYWRkaW5nOiB2YXIoLS1zcGFjZS00KTtcbiAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuMTVzIGVhc2UsIGJveC1zaGFkb3cgMC4xNXMgZWFzZTtcbn1cblxuLndvcmtlci1jYXJkLndvcmtlci1vbmxpbmUge1xuICBib3JkZXItbGVmdDogM3B4IHNvbGlkICMyMmM1NWU7XG59XG5cbi53b3JrZXItY2FyZC53b3JrZXItb2ZmbGluZSB7XG4gIGJvcmRlci1sZWZ0OiAzcHggc29saWQgI2VmNDQ0NDtcbiAgb3BhY2l0eTogMC44O1xufVxuXG4ud29ya2VyLWNhcmQ6aG92ZXIge1xuICBib3JkZXItY29sb3I6IHZhcigtLWFkbWluLWJvcmRlci1hY3RpdmUpO1xuICBib3gtc2hhZG93OiAwIDJweCA4cHggcmdiYSgwLCAwLCAwLCAwLjE1KTtcbn1cblxuLyogSGVhZGVyOiBOYW1lICsgU3RhdHVzIGRvdCArIE1ldGEgKi9cbi53b3JrZXItaGVhZGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS0zKTtcbn1cblxuLndvcmtlci1pZGVudGl0eSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogdmFyKC0tc3BhY2UtMik7XG59XG5cbi53b3JrZXItc3RhdHVzLWRvdCB7XG4gIHdpZHRoOiA4cHg7XG4gIGhlaWdodDogOHB4O1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGZsZXgtc2hyaW5rOiAwO1xufVxuXG4ud29ya2VyLXN0YXR1cy1kb3Qub25saW5lIHtcbiAgYmFja2dyb3VuZDogIzIyYzU1ZTtcbiAgYm94LXNoYWRvdzogMCAwIDZweCByZ2JhKDM0LCAxOTcsIDk0LCAwLjYpO1xufVxuXG4ud29ya2VyLXN0YXR1cy1kb3Qub2ZmbGluZSB7XG4gIGJhY2tncm91bmQ6ICNlZjQ0NDQ7XG59XG5cbi53b3JrZXItbmFtZSB7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGZvbnQtc2l6ZTogMTVweDtcbiAgY29sb3I6IHZhcigtLWFkbWluLXRleHQpO1xufVxuXG4ud29ya2VyLW1ldGEge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IHZhcigtLXNwYWNlLTIpO1xufVxuXG4ud29ya2VyLXNvdXJjZSB7XG4gIGZvbnQtc2l6ZTogMTBweDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgY29sb3I6IHZhcigtLWFkbWluLXRleHQtbXV0ZWQpO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1hZG1pbi1iZy1zdWJ0bGUpO1xuICBwYWRkaW5nOiAycHggNnB4O1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtc20pO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBsZXR0ZXItc3BhY2luZzogMC41cHg7XG59XG5cbi53b3JrZXItbGF0ZW5jeSB7XG4gIGZvbnQtc2l6ZTogMTFweDtcbiAgY29sb3I6ICMyMmM1NWU7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LW1vbm8pO1xufVxuXG4vKiBTcGVjczogR1BVICsgVlJBTSArIEVuZHBvaW50IGluIG9uZSBjb21wYWN0IGFyZWEgKi9cbi53b3JrZXItc3BlY3Mge1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS0zKTtcbiAgcGFkZGluZzogdmFyKC0tc3BhY2UtMikgdmFyKC0tc3BhY2UtMyk7XG4gIGJhY2tncm91bmQ6IHZhcigtLWFkbWluLWJnLXN1YnRsZSk7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1tZCk7XG59XG5cbi53b3JrZXItc3BlYy1tYWluIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiB2YXIoLS1zcGFjZS0yKTtcbiAgbWFyZ2luLWJvdHRvbTogNHB4O1xufVxuXG4uc3BlYy1pY29uIHtcbiAgY29sb3I6ICMyMmM1NWU7XG4gIGZvbnQtc2l6ZTogMTJweDtcbn1cblxuLnNwZWMtdmFsdWUge1xuICBmb250LXNpemU6IDEzcHg7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGNvbG9yOiB2YXIoLS1hZG1pbi10ZXh0KTtcbiAgZmxleDogMTtcbn1cblxuLnNwZWMtdnJhbSB7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgY29sb3I6ICM2MGE1ZmE7XG4gIGJhY2tncm91bmQ6IHJnYmEoOTYsIDE2NSwgMjUwLCAwLjE1KTtcbiAgcGFkZGluZzogMnB4IDZweDtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXNtKTtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtbW9ubyk7XG59XG5cbi53b3JrZXItZW5kcG9pbnQge1xuICBmb250LXNpemU6IDExcHg7XG4gIGNvbG9yOiB2YXIoLS1hZG1pbi10ZXh0LW11dGVkKTtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtbW9ubyk7XG59XG5cbi8qIENhcGFiaWxpdGllczogQ29tcGFjdCBjb2xvci1jb2RlZCBiYWRnZXMgKi9cbi53b3JrZXItY2FwcyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgZ2FwOiA0cHg7XG4gIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlLTMpO1xufVxuXG4uY2FwLWJhZGdlIHtcbiAgZm9udC1zaXplOiAxMHB4O1xuICBmb250LXdlaWdodDogNTAwO1xuICBwYWRkaW5nOiAzcHggOHB4O1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtc20pO1xuICB0ZXh0LXRyYW5zZm9ybTogbG93ZXJjYXNlO1xuICBsZXR0ZXItc3BhY2luZzogMC4zcHg7XG59XG5cbi8qIFZpc2lvbiBjYXBhYmlsaXRpZXM6IGZhY2VzLCBjbGlwLCBwb3NlICovXG4uY2FwLXZpc2lvbiB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMTM5LCA5MiwgMjQ2LCAwLjIpO1xuICBjb2xvcjogI2E3OGJmYTtcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgxMzksIDkyLCAyNDYsIDAuMyk7XG59XG5cbi8qIExMTSBjYXBhYmlsaXRpZXM6IHNjZW5lIGFuYWx5c2lzLCBjYXB0aW9ucyAqL1xuLmNhcC1sbG0ge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDM0LCAxOTcsIDk0LCAwLjE1KTtcbiAgY29sb3I6ICM0YWRlODA7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMzQsIDE5NywgOTQsIDAuMyk7XG59XG5cbi8qIE90aGVyIGNhcGFiaWxpdGllcyAqL1xuLmNhcC1vdGhlciB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMTQ4LCAxNjMsIDE4NCwgMC4xNSk7XG4gIGNvbG9yOiAjOTRhM2I4O1xuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDE0OCwgMTYzLCAxODQsIDAuMyk7XG59XG5cbi8qIEVycm9yIGRpc3BsYXkgKi9cbi53b3JrZXItZXJyb3Ige1xuICBmb250LXNpemU6IDExcHg7XG4gIGNvbG9yOiAjZmNhNWE1O1xuICBiYWNrZ3JvdW5kOiByZ2JhKDIzOSwgNjgsIDY4LCAwLjE1KTtcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyMzksIDY4LCA2OCwgMC4zKTtcbiAgcGFkZGluZzogdmFyKC0tc3BhY2UtMikgdmFyKC0tc3BhY2UtMyk7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1tZCk7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LW1vbm8pO1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS0zKTtcbn1cblxuLyogQWN0aW9ucyAqL1xuLndvcmtlci1hY3Rpb25zIHtcbiAgcGFkZGluZy10b3A6IHZhcigtLXNwYWNlLTMpO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tYWRtaW4tYm9yZGVyKTtcbn1cblxuLyogUmVzcG9uc2l2ZSAqL1xuQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gIC53b3JrZXItZ3JpZCB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG4gIH1cblxuICAud29ya2VyLWNhcmQge1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLTMpO1xuICB9XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBHUFUgV09SS0VSUyAtIEludGVyYWN0aXZlIEVsZW1lbnRzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKiBDYXBhYmlsaXR5IHRvZ2dsZXMgaW5zdGVhZCBvZiBzdGF0aWMgYmFkZ2VzICovXG4uY2FwLXRvZ2dsZSB7XG4gIGZvbnQtc2l6ZTogMTBweDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgcGFkZGluZzogNHB4IDEwcHg7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zbSk7XG4gIHRleHQtdHJhbnNmb3JtOiBsb3dlcmNhc2U7XG4gIGxldHRlci1zcGFjaW5nOiAwLjNweDtcbiAgYm9yZGVyOiBub25lO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlO1xufVxuXG4uY2FwLXRvZ2dsZTpob3ZlciB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMS4wNSk7XG59XG5cbi5jYXAtdG9nZ2xlLmNhcC1kaXNhYmxlZCB7XG4gIG9wYWNpdHk6IDAuNDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBsaW5lLXRocm91Z2g7XG59XG5cbi5jYXAtdG9nZ2xlLmNhcC12aXNpb24ge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDEzOSwgOTIsIDI0NiwgMC4yKTtcbiAgY29sb3I6ICNhNzhiZmE7XG59XG5cbi5jYXAtdG9nZ2xlLmNhcC12aXNpb246aG92ZXIge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDEzOSwgOTIsIDI0NiwgMC4zNSk7XG59XG5cbi5jYXAtdG9nZ2xlLmNhcC1sbG0ge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDM0LCAxOTcsIDk0LCAwLjE1KTtcbiAgY29sb3I6ICM0YWRlODA7XG59XG5cbi5jYXAtdG9nZ2xlLmNhcC1sbG06aG92ZXIge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDM0LCAxOTcsIDk0LCAwLjMpO1xufVxuXG4uY2FwLXRvZ2dsZS5jYXAtb3RoZXIge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDE0OCwgMTYzLCAxODQsIDAuMTUpO1xuICBjb2xvcjogIzk0YTNiODtcbn1cblxuLmNhcC10b2dnbGUuY2FwLW90aGVyOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogcmdiYSgxNDgsIDE2MywgMTg0LCAwLjMpO1xufVxuXG4vKiBFcnJvciBib3ggd2l0aCByZXRyeSAqL1xuLndvcmtlci1lcnJvci1ib3gge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IHZhcigtLXNwYWNlLTIpO1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS0zKTtcbn1cblxuLndvcmtlci1lcnJvci1ib3ggLndvcmtlci1lcnJvciB7XG4gIGZsZXg6IDE7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi53b3JrZXItcmV0cnktYnRuIHtcbiAgYmFja2dyb3VuZDogcmdiYSgyMzksIDY4LCA2OCwgMC4yKTtcbiAgY29sb3I6ICNmY2E1YTU7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjM5LCA2OCwgNjgsIDAuMyk7XG4gIHBhZGRpbmc6IDRweCAxMHB4O1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtc20pO1xuICBmb250LXNpemU6IDExcHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2U7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi53b3JrZXItcmV0cnktYnRuOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogcmdiYSgyMzksIDY4LCA2OCwgMC4zNSk7XG4gIGNvbG9yOiAjZmZmO1xufVxuXG4vKiBXb3JrZXIgYWN0aW9uIGJ1dHRvbnMgKi9cbi53b3JrZXItYWN0aW9ucyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGdhcDogdmFyKC0tc3BhY2UtMik7XG4gIHBhZGRpbmctdG9wOiB2YXIoLS1zcGFjZS0zKTtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWFkbWluLWJvcmRlcik7XG4gIGZsZXgtd3JhcDogd3JhcDtcbn1cblxuLndvcmtlci10b2dnbGUtYnRuLFxuLndvcmtlci10ZXN0LWJ0bixcbi53b3JrZXItcmVtb3ZlLWJ0biB7XG4gIGZvbnQtc2l6ZTogMTFweDtcbiAgcGFkZGluZzogNnB4IDEycHg7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zbSk7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2U7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xufVxuXG4ud29ya2VyLXRvZ2dsZS1idG4ge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDM0LCAxOTcsIDk0LCAwLjE1KTtcbiAgY29sb3I6ICM0YWRlODA7XG4gIGJvcmRlci1jb2xvcjogcmdiYSgzNCwgMTk3LCA5NCwgMC4zKTtcbn1cblxuLndvcmtlci10b2dnbGUtYnRuOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogcmdiYSgzNCwgMTk3LCA5NCwgMC4zKTtcbn1cblxuLndvcmtlci10b2dnbGUtYnRuLmRpc2FibGVkIHtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTEsIDE5MSwgMzYsIDAuMTUpO1xuICBjb2xvcjogI2ZiYmYyNDtcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKDI1MSwgMTkxLCAzNiwgMC4zKTtcbn1cblxuLndvcmtlci10ZXN0LWJ0biB7XG4gIGJhY2tncm91bmQ6IHJnYmEoOTYsIDE2NSwgMjUwLCAwLjE1KTtcbiAgY29sb3I6ICM2MGE1ZmE7XG4gIGJvcmRlci1jb2xvcjogcmdiYSg5NiwgMTY1LCAyNTAsIDAuMyk7XG59XG5cbi53b3JrZXItdGVzdC1idG46aG92ZXIge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDk2LCAxNjUsIDI1MCwgMC4zKTtcbn1cblxuLndvcmtlci1yZW1vdmUtYnRuIHtcbiAgYmFja2dyb3VuZDogcmdiYSgyMzksIDY4LCA2OCwgMC4xKTtcbiAgY29sb3I6ICNmODcxNzE7XG4gIGJvcmRlci1jb2xvcjogcmdiYSgyMzksIDY4LCA2OCwgMC4yKTtcbn1cblxuLndvcmtlci1yZW1vdmUtYnRuOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogcmdiYSgyMzksIDY4LCA2OCwgMC4yNSk7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBHUFUgQ0xVU1RFUiAtIEdyb3VwZWQgYnkgUGh5c2ljYWwgR1BVXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKiBDYXBhYmlsaXR5IExlZ2VuZCAqL1xuLmNhcGFiaWxpdHktbGVnZW5kIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBnYXA6IHZhcigtLXNwYWNlLTQpO1xuICBwYWRkaW5nOiB2YXIoLS1zcGFjZS0zKSB2YXIoLS1zcGFjZS00KTtcbiAgYmFja2dyb3VuZDogdmFyKC0tYWRtaW4tc3VyZmFjZSk7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLWFkbWluLXJhZGl1cyk7XG4gIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlLTQpO1xuICBmb250LXNpemU6IDEycHg7XG59XG5cbi5sZWdlbmQtaXRlbSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogdmFyKC0tc3BhY2UtMik7XG4gIGNvbG9yOiB2YXIoLS1hZG1pbi10ZXh0LW11dGVkKTtcbn1cblxuLmxlZ2VuZC1pdGVtIC5jYXAtYmFkZ2Uge1xuICBmb250LXNpemU6IDlweDtcbiAgcGFkZGluZzogMnB4IDZweDtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gIC5jYXBhYmlsaXR5LWxlZ2VuZCB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IHZhcigtLXNwYWNlLTIpO1xuICB9XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBHUFUgV09SS0VSUyBcdTIwMTQgU2luZ2xlLWNvbHVtbiwgbGFyZ2UtZm9udCByZWRlc2lnblxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyogU2VjdGlvbiBoZWFkZXIgd2l0aCBpbmxpbmUgcmVmcmVzaCAqL1xuLndvcmtlci1zZWN0aW9uLWhlYWRlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UtMyk7XG59XG5cbi53b3JrZXItcmVmcmVzaC1idG4ge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1hZG1pbi1zdXJmYWNlKTtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYWRtaW4tYm9yZGVyKTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tYWRtaW4tcmFkaXVzKTtcbiAgY29sb3I6IHZhcigtLWFkbWluLXRleHQtbXV0ZWQpO1xuICBwYWRkaW5nOiA4cHggMjBweDtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBmb250LXdlaWdodDogNjAwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlO1xuICBtaW4taGVpZ2h0OiA0NHB4O1xufVxuXG4ud29ya2VyLXJlZnJlc2gtYnRuOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tYWRtaW4tc3VyZmFjZS1ob3Zlcik7XG4gIGNvbG9yOiB2YXIoLS1hZG1pbi10ZXh0KTtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1hZG1pbi1wcmltYXJ5KTtcbn1cblxuLyogQ2FyZHMgY29udGFpbmVyIFx1MjAxNCBzaW5nbGUgY29sdW1uLCBjZW50ZXJlZCAqL1xuLndvcmtlci1jYXJkcyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGdhcDogdmFyKC0tc3BhY2UtNCk7XG4gIG1heC13aWR0aDogODAwcHg7XG59XG5cbi8qIEluZGl2aWR1YWwgd29ya2VyIGNhcmQgKi9cbi53b3JrZXItY2FyZCB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWFkbWluLWJnKTtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYWRtaW4tYm9yZGVyKTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tYWRtaW4tcmFkaXVzLWxnKTtcbiAgcGFkZGluZzogdmFyKC0tc3BhY2UtNSwgMS41cmVtKTtcbiAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuMTVzIGVhc2UsIGJveC1zaGFkb3cgMC4xNXMgZWFzZTtcbn1cblxuLndvcmtlci1jYXJkLS1vbmxpbmUge1xuICBib3JkZXItbGVmdDogNXB4IHNvbGlkICMyMmM1NWU7XG59XG5cbi53b3JrZXItY2FyZC0tb2ZmbGluZSB7XG4gIGJvcmRlci1sZWZ0OiA1cHggc29saWQgI2VmNDQ0NDtcbiAgb3BhY2l0eTogMC44NTtcbn1cblxuLndvcmtlci1jYXJkOmhvdmVyIHtcbiAgYm94LXNoYWRvdzogMCA0cHggMTZweCByZ2JhKDAsIDAsIDAsIDAuMjUpO1xufVxuXG4vKiBDYXJkIGhlYWRlciBcdTIwMTQgR1BVIGlkZW50aXR5LCBiaWdnZXN0IHRleHQgKi9cbi53b3JrZXItY2FyZF9faGVhZGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiB2YXIoLS1zcGFjZS0zKTtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS0zKTtcbn1cblxuLndvcmtlci1zdGF0dXMtZG90IHtcbiAgd2lkdGg6IDE0cHg7XG4gIGhlaWdodDogMTRweDtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBmbGV4LXNocmluazogMDtcbn1cblxuLndvcmtlci1zdGF0dXMtZG90Lm9ubGluZSB7XG4gIGJhY2tncm91bmQ6ICMyMmM1NWU7XG4gIGJveC1zaGFkb3c6IDAgMCAxMHB4IHJnYmEoMzQsIDE5NywgOTQsIDAuNik7XG59XG5cbi53b3JrZXItc3RhdHVzLWRvdC5vZmZsaW5lIHtcbiAgYmFja2dyb3VuZDogI2VmNDQ0NDtcbiAgYm94LXNoYWRvdzogMCAwIDZweCByZ2JhKDIzOSwgNjgsIDY4LCAwLjQpO1xufVxuXG4ud29ya2VyLXN0YXR1cy1kb3Qtc20ge1xuICB3aWR0aDogMTBweDtcbiAgaGVpZ2h0OiAxMHB4O1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGZsZXgtc2hyaW5rOiAwO1xufVxuXG4ud29ya2VyLXN0YXR1cy1kb3Qtc20ub25saW5lIHtcbiAgYmFja2dyb3VuZDogIzIyYzU1ZTtcbn1cblxuLndvcmtlci1zdGF0dXMtZG90LXNtLm9mZmxpbmUge1xuICBiYWNrZ3JvdW5kOiAjZWY0NDQ0O1xufVxuXG4ud29ya2VyLWNhcmRfX2xvY2F0aW9uIHtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgZm9udC1zaXplOiAyNnB4O1xuICBjb2xvcjogdmFyKC0tYWRtaW4tdGV4dCk7XG59XG5cbi53b3JrZXItY2FyZF9fZ3B1LW5hbWUge1xuICBmb250LXNpemU6IDIwcHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGNvbG9yOiAjNjBhNWZhO1xufVxuXG4ud29ya2VyLWNhcmRfX2hvc3Qge1xuICBmb250LXNpemU6IDE2cHg7XG4gIGNvbG9yOiB2YXIoLS1hZG1pbi10ZXh0LWRpbSk7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1hZG1pbi1mb250LW1vbm8pO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbn1cblxuLyogU2VydmljZSB3aXRoaW4gYSBHUFUgY2FyZCAqL1xuLndvcmtlci1zZXJ2aWNlIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tYWRtaW4tc3VyZmFjZSk7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWFkbWluLWJvcmRlcik7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLWFkbWluLXJhZGl1cyk7XG4gIHBhZGRpbmc6IHZhcigtLXNwYWNlLTQpO1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS0zKTtcbiAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuMTVzIGVhc2U7XG59XG5cbi53b3JrZXItc2VydmljZS0tb25saW5lIHtcbiAgYm9yZGVyLWxlZnQ6IDNweCBzb2xpZCAjMjJjNTVlO1xufVxuXG4ud29ya2VyLXNlcnZpY2UtLW9mZmxpbmUge1xuICBib3JkZXItbGVmdDogM3B4IHNvbGlkICNlZjQ0NDQ7XG4gIG9wYWNpdHk6IDAuNztcbn1cblxuLndvcmtlci1zZXJ2aWNlX19oZWFkZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IHZhcigtLXNwYWNlLTIpO1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS0yKTtcbiAgZmxleC13cmFwOiB3cmFwO1xufVxuXG4ud29ya2VyLXNlcnZpY2VfX3BvcnQge1xuICBmb250LWZhbWlseTogdmFyKC0tYWRtaW4tZm9udC1tb25vKTtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBmb250LXdlaWdodDogNjAwO1xuICBjb2xvcjogdmFyKC0tYWRtaW4tdGV4dCk7XG59XG5cbi53b3JrZXItc2VydmljZV9fbGF0ZW5jeSB7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgY29sb3I6ICMyMmM1NWU7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1hZG1pbi1mb250LW1vbm8pO1xufVxuXG4ud29ya2VyLXNlcnZpY2VfX2FjdGlvbnMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBnYXA6IDhweDtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG59XG5cbi8qIEFjdGlvbiBidXR0b25zIFx1MjAxNCA0NHB4IG1pbiB0YXAgdGFyZ2V0ICovXG4ud29ya2VyLWFjdGlvbi1idG4ge1xuICBtaW4td2lkdGg6IDQ4cHg7XG4gIG1pbi1oZWlnaHQ6IDQ0cHg7XG4gIHBhZGRpbmc6IDhweCAxNnB4O1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1hZG1pbi1yYWRpdXMpO1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1hZG1pbi1ib3JkZXIpO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1hZG1pbi1iZyk7XG4gIGNvbG9yOiB2YXIoLS1hZG1pbi10ZXh0LW11dGVkKTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIHRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlO1xufVxuXG4ud29ya2VyLWFjdGlvbi1idG46aG92ZXIge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1hZG1pbi1zdXJmYWNlLWhvdmVyKTtcbiAgY29sb3I6IHZhcigtLWFkbWluLXRleHQpO1xuICBib3JkZXItY29sb3I6IHZhcigtLWFkbWluLXByaW1hcnkpO1xufVxuXG4ud29ya2VyLWFjdGlvbi1idG4tLXBhdXNlZCB7XG4gIGNvbG9yOiAjZmJiZjI0O1xuICBib3JkZXItY29sb3I6IHJnYmEoMjUxLCAxOTEsIDM2LCAwLjMpO1xufVxuXG4ud29ya2VyLWFjdGlvbi1idG4tLWRhbmdlcjpob3ZlciB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjM5LCA2OCwgNjgsIDAuMik7XG4gIGNvbG9yOiAjZjg3MTcxO1xuICBib3JkZXItY29sb3I6IHJnYmEoMjM5LCA2OCwgNjgsIDAuNSk7XG59XG5cbi8qIEVycm9yICovXG4ud29ya2VyLXNlcnZpY2VfX2Vycm9yIHtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBjb2xvcjogI2ZjYTVhNTtcbiAgYmFja2dyb3VuZDogcmdiYSgyMzksIDY4LCA2OCwgMC4xKTtcbiAgcGFkZGluZzogOHB4IDEycHg7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLWFkbWluLXJhZGl1cy1zbSk7XG4gIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlLTMpO1xuICBmb250LWZhbWlseTogdmFyKC0tYWRtaW4tZm9udC1tb25vKTtcbn1cblxuLyogTW9kZWxzIHNlY3Rpb24gXHUyMDE0IHRoZSBtYWluIGF0dHJhY3Rpb24gKi9cbi53b3JrZXItbW9kZWxzIHtcbiAgbWFyZ2luOiB2YXIoLS1zcGFjZS0zKSAwO1xuICBwYWRkaW5nOiB2YXIoLS1zcGFjZS0zKSAwO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tYWRtaW4tYm9yZGVyKTtcbn1cblxuLndvcmtlci1tb2RlbHNfX3RpdGxlIHtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBmb250LXdlaWdodDogNzAwO1xuICBjb2xvcjogdmFyKC0tYWRtaW4tdGV4dC1tdXRlZCk7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGxldHRlci1zcGFjaW5nOiAwLjA1ZW07XG4gIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlLTIpO1xufVxuXG4ud29ya2VyLW1vZGVsLWl0ZW0ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IHZhcigtLXNwYWNlLTIpO1xuICBwYWRkaW5nOiA4cHggMDtcbn1cblxuLndvcmtlci1tb2RlbC1pdGVtX19pbmRpY2F0b3Ige1xuICBmb250LXNpemU6IDIwcHg7XG4gIHdpZHRoOiAyNHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGZsZXgtc2hyaW5rOiAwO1xufVxuXG4ud29ya2VyLW1vZGVsLWl0ZW0tLWxvYWRlZCAud29ya2VyLW1vZGVsLWl0ZW1fX2luZGljYXRvciB7XG4gIGNvbG9yOiAjMjJjNTVlO1xufVxuXG4ud29ya2VyLW1vZGVsLWl0ZW0tLXVubG9hZGVkIC53b3JrZXItbW9kZWwtaXRlbV9faW5kaWNhdG9yIHtcbiAgY29sb3I6IHZhcigtLWFkbWluLXRleHQtZGltKTtcbn1cblxuLndvcmtlci1tb2RlbC1pdGVtX19uYW1lIHtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBmb250LXdlaWdodDogNTAwO1xuICBjb2xvcjogdmFyKC0tYWRtaW4tdGV4dCk7XG4gIGZsZXg6IDE7XG59XG5cbi53b3JrZXItbW9kZWwtaXRlbS0tdW5sb2FkZWQgLndvcmtlci1tb2RlbC1pdGVtX19uYW1lIHtcbiAgY29sb3I6IHZhcigtLWFkbWluLXRleHQtbXV0ZWQpO1xufVxuXG4ud29ya2VyLW1vZGVsLWl0ZW1fX25vdGUge1xuICBmb250LXNpemU6IDE0cHg7XG4gIGNvbG9yOiB2YXIoLS1hZG1pbi10ZXh0LWRpbSk7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cblxuLyogTW9kZWwgbG9hZC91bmxvYWQgYnV0dG9ucyAqL1xuLndvcmtlci1tb2RlbC1idG4ge1xuICBtaW4td2lkdGg6IDgwcHg7XG4gIG1pbi1oZWlnaHQ6IDM4cHg7XG4gIHBhZGRpbmc6IDZweCAxNnB4O1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1hZG1pbi1yYWRpdXMpO1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1hZG1pbi1ib3JkZXIpO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2U7XG59XG5cbi53b3JrZXItbW9kZWwtYnRuLS1sb2FkIHtcbiAgYmFja2dyb3VuZDogcmdiYSgzNCwgMTk3LCA5NCwgMC4xKTtcbiAgY29sb3I6ICM0YWRlODA7XG4gIGJvcmRlci1jb2xvcjogcmdiYSgzNCwgMTk3LCA5NCwgMC4zKTtcbn1cblxuLndvcmtlci1tb2RlbC1idG4tLWxvYWQ6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDM0LCAxOTcsIDk0LCAwLjI1KTtcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKDM0LCAxOTcsIDk0LCAwLjUpO1xufVxuXG4ud29ya2VyLW1vZGVsLWJ0bi0tdW5sb2FkIHtcbiAgYmFja2dyb3VuZDogcmdiYSgyMzksIDY4LCA2OCwgMC4xKTtcbiAgY29sb3I6ICNmY2E1YTU7XG4gIGJvcmRlci1jb2xvcjogcmdiYSgyMzksIDY4LCA2OCwgMC4zKTtcbn1cblxuLndvcmtlci1tb2RlbC1idG4tLXVubG9hZDpob3ZlciB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjM5LCA2OCwgNjgsIDAuMjUpO1xuICBib3JkZXItY29sb3I6IHJnYmEoMjM5LCA2OCwgNjgsIDAuNSk7XG59XG5cbi8qIFZSQU0gYmFyICovXG4ud29ya2VyLXZyYW0ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IHZhcigtLXNwYWNlLTIpO1xuICBtYXJnaW46IHZhcigtLXNwYWNlLTIpIDA7XG59XG5cbi53b3JrZXItdnJhbV9fbGFiZWwge1xuICBmb250LXNpemU6IDE0cHg7XG4gIGNvbG9yOiB2YXIoLS1hZG1pbi10ZXh0LW11dGVkKTtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWFkbWluLWZvbnQtbW9ubyk7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIG1pbi13aWR0aDogMTgwcHg7XG59XG5cbi53b3JrZXItdnJhbV9fYmFyIHtcbiAgZmxleDogMTtcbiAgaGVpZ2h0OiAyNHB4O1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDUpO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1hZG1pbi1yYWRpdXMtc20pO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1hZG1pbi1ib3JkZXIpO1xufVxuXG4ud29ya2VyLXZyYW1fX2ZpbGwge1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJhY2tncm91bmQ6ICM2MGE1ZmE7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLWFkbWluLXJhZGl1cy1zbSk7XG4gIHRyYW5zaXRpb246IHdpZHRoIDAuM3MgZWFzZTtcbn1cblxuLndvcmtlci12cmFtX19maWxsLS1tZWQge1xuICBiYWNrZ3JvdW5kOiAjZmJiZjI0O1xufVxuXG4ud29ya2VyLXZyYW1fX2ZpbGwtLWhpZ2gge1xuICBiYWNrZ3JvdW5kOiAjZWY0NDQ0O1xufVxuXG4ud29ya2VyLXZyYW1fX3BjdCB7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgY29sb3I6IHZhcigtLWFkbWluLXRleHQpO1xuICBmb250LWZhbWlseTogdmFyKC0tYWRtaW4tZm9udC1tb25vKTtcbiAgbWluLXdpZHRoOiA0OHB4O1xuICB0ZXh0LWFsaWduOiByaWdodDtcbn1cblxuLyogR1BVIHV0aWxpemF0aW9uICovXG4ud29ya2VyLWdwdS11dGlsIHtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBjb2xvcjogdmFyKC0tYWRtaW4tdGV4dC1tdXRlZCk7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1hZG1pbi1mb250LW1vbm8pO1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS0yKTtcbn1cblxuLyogQ2FwYWJpbGl0aWVzIFx1MjAxNCBjb21wYWN0IHJvdyAqL1xuLndvcmtlci1jYXBzIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBnYXA6IDZweDtcbiAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2UtMik7XG4gIHBhZGRpbmctdG9wOiB2YXIoLS1zcGFjZS0yKTtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWFkbWluLWJvcmRlcik7XG59XG5cbi53b3JrZXItY2FwLXRhZyB7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgcGFkZGluZzogNHB4IDEycHg7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLWFkbWluLXJhZGl1cy1zbSk7XG4gIHRleHQtdHJhbnNmb3JtOiBsb3dlcmNhc2U7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIHRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDEzOSwgOTIsIDI0NiwgMC4xNSk7XG4gIGNvbG9yOiAjYTc4YmZhO1xuICBtaW4taGVpZ2h0OiAzMnB4O1xufVxuXG4ud29ya2VyLWNhcC10YWc6aG92ZXIge1xuICB0cmFuc2Zvcm06IHNjYWxlKDEuMDUpO1xuICBib3JkZXItY29sb3I6IHJnYmEoMTM5LCA5MiwgMjQ2LCAwLjQpO1xufVxuXG4ud29ya2VyLWNhcC10YWctLWRpc2FibGVkIHtcbiAgb3BhY2l0eTogMC40O1xuICB0ZXh0LWRlY29yYXRpb246IGxpbmUtdGhyb3VnaDtcbn1cblxuLyogUXVpY2sgQWN0aW9ucyBcdTIwMTQgbGFyZ2UgYm90dG9tIGJhciAqL1xuLndvcmtlci1xdWljay1hY3Rpb25zIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZ2FwOiB2YXIoLS1zcGFjZS0zKTtcbiAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2UtNCk7XG4gIG1heC13aWR0aDogODAwcHg7XG59XG5cbi53b3JrZXItcXVpY2stYnRuIHtcbiAgZmxleDogMTtcbiAgbWluLWhlaWdodDogNTJweDtcbiAgcGFkZGluZzogMTJweCAyNHB4O1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1hZG1pbi1yYWRpdXMtbGcpO1xuICBib3JkZXI6IDJweCBzb2xpZCB2YXIoLS1hZG1pbi1ib3JkZXIpO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2U7XG59XG5cbi53b3JrZXItcXVpY2stYnRuLS1kYW5nZXIge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDIzOSwgNjgsIDY4LCAwLjEpO1xuICBjb2xvcjogI2ZjYTVhNTtcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKDIzOSwgNjgsIDY4LCAwLjMpO1xufVxuXG4ud29ya2VyLXF1aWNrLWJ0bi0tZGFuZ2VyOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogcmdiYSgyMzksIDY4LCA2OCwgMC4yNSk7XG4gIGJvcmRlci1jb2xvcjogcmdiYSgyMzksIDY4LCA2OCwgMC41KTtcbn1cblxuLndvcmtlci1xdWljay1idG4tLXByaW1hcnkge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDM0LCAxOTcsIDk0LCAwLjEpO1xuICBjb2xvcjogIzRhZGU4MDtcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKDM0LCAxOTcsIDk0LCAwLjMpO1xufVxuXG4ud29ya2VyLXF1aWNrLWJ0bi0tcHJpbWFyeTpob3ZlciB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMzQsIDE5NywgOTQsIDAuMjUpO1xuICBib3JkZXItY29sb3I6IHJnYmEoMzQsIDE5NywgOTQsIDAuNSk7XG59XG5cbi8qIFJlc3BvbnNpdmUgKi9cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAud29ya2VyLWNhcmRfX2hlYWRlciB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgfVxuXG4gIC53b3JrZXItY2FyZF9faG9zdCB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cblxuICAud29ya2VyLWNhcmRfX2xvY2F0aW9uIHtcbiAgICBmb250LXNpemU6IDIycHg7XG4gIH1cblxuICAud29ya2VyLWNhcmRfX2dwdS1uYW1lIHtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gIH1cblxuICAud29ya2VyLXZyYW0ge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gIH1cblxuICAud29ya2VyLXZyYW1fX2xhYmVsIHtcbiAgICBtaW4td2lkdGg6IHVuc2V0O1xuICB9XG5cbiAgLndvcmtlci1xdWljay1hY3Rpb25zIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICB9XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBBRE1JTiBHQUxMRVJZIFBBR0UgLSBTZWN0aW9ucyAmIENvbnRyb2xzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKiBTZWN0aW9uIHZhcmlhbnRzIGZvciBnYWxsZXJ5IGFkbWluIHBhbmVscyAqL1xuLmFkbWluLXNlY3Rpb24tLXByaW1hcnkge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1hZG1pbi1zdXJmYWNlKTtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYWRtaW4tYm9yZGVyKTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tYWRtaW4tcmFkaXVzKTtcbiAgcGFkZGluZzogdmFyKC0tc3BhY2UtNCk7XG4gIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlLTQpO1xufVxuXG4uYWRtaW4tc2VjdGlvbi0tc2Vjb25kYXJ5IHtcbiAgYmFja2dyb3VuZDogdmFyKC0tYWRtaW4tYmcpO1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1hZG1pbi1ib3JkZXIpO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1hZG1pbi1yYWRpdXMpO1xuICBwYWRkaW5nOiB2YXIoLS1zcGFjZS00KTtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UtNCk7XG59XG5cbi5hZG1pbi1zZWN0aW9uLS10ZXJ0aWFyeSB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjUwLCAyMDQsIDIxLCAwLjA1KTtcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyNTAsIDIwNCwgMjEsIDAuMyk7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLWFkbWluLXJhZGl1cyk7XG4gIHBhZGRpbmc6IHZhcigtLXNwYWNlLTQpO1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS00KTtcbn1cblxuLmFkbWluLXNlY3Rpb24tLWRhbmdlciB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjM5LCA2OCwgNjgsIDAuMDUpO1xuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDIzOSwgNjgsIDY4LCAwLjMpO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1hZG1pbi1yYWRpdXMpO1xuICBwYWRkaW5nOiB2YXIoLS1zcGFjZS00KTtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UtNCk7XG59XG5cbi5hZG1pbi1zZWN0aW9uLS1uZXV0cmFsIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tYWRtaW4tYmctYWx0KTtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYWRtaW4tYm9yZGVyKTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tYWRtaW4tcmFkaXVzKTtcbiAgcGFkZGluZzogdmFyKC0tc3BhY2UtNCk7XG4gIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlLTQpO1xufVxuXG4uYWRtaW4tc2VjdGlvbl9faGVhZGVyIHtcbiAgZm9udC1zaXplOiB2YXIoLS1hZG1pbi10ZXh0LXNtKTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMDVlbTtcbiAgY29sb3I6IHZhcigtLWFkbWluLXRleHQpO1xuICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tc3BhY2UtMik7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1hZG1pbi1ib3JkZXIpO1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS0zKTtcbn1cblxuLmFkbWluLXNlY3Rpb25fX2Rlc2Mge1xuICBmb250LXNpemU6IHZhcigtLWFkbWluLXRleHQtc20pO1xuICBjb2xvcjogdmFyKC0tYWRtaW4tdGV4dC1tdXRlZCk7XG4gIG1hcmdpbjogMCAwIHZhcigtLXNwYWNlLTMpIDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG59XG5cbi8qIFRvZ2dsZSBidXR0b25zIChPTi9PRkYgc3RhdGVzKSAqL1xuLmFkbWluLWJ0bi0tdG9nZ2xlIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBnYXA6IHZhcigtLXNwYWNlLTIpO1xuICBwYWRkaW5nOiB2YXIoLS1zcGFjZS0zKSB2YXIoLS1zcGFjZS00KTtcbiAgZm9udC1zaXplOiB2YXIoLS1hZG1pbi10ZXh0LXNtKTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLWFkbWluLXJhZGl1cy1zbSk7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWFkbWluLWJvcmRlcik7XG4gIGJhY2tncm91bmQ6IHZhcigtLWFkbWluLXN1cmZhY2UpO1xuICBjb2xvcjogdmFyKC0tYWRtaW4tdGV4dC1tdXRlZCk7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdHJhbnNpdGlvbjogYWxsIHZhcigtLWFkbWluLXRyYW5zaXRpb24pO1xufVxuXG4uYWRtaW4tYnRuLS10b2dnbGU6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1hZG1pbi1zdXJmYWNlLWhvdmVyKTtcbiAgY29sb3I6IHZhcigtLWFkbWluLXRleHQpO1xufVxuXG4uYWRtaW4tYnRuLS10b2dnbGUuYWN0aXZlIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tYWRtaW4tcHJpbWFyeSk7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tYWRtaW4tcHJpbWFyeSk7XG4gIGNvbG9yOiB3aGl0ZTtcbn1cblxuLyogU3RhdHVzIGluZGljYXRvciBkb3RzICovXG4uYWRtaW4tc3RhdHVzLWRvdCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDhweDtcbiAgaGVpZ2h0OiA4cHg7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1zcGFjZS0yKTtcbiAgYmFja2dyb3VuZDogdmFyKC0tYWRtaW4tdGV4dC1kaW0pO1xufVxuXG4uYWRtaW4tc3RhdHVzLWRvdC5vbiB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWFkbWluLXN1Y2Nlc3MpO1xuICBib3gtc2hhZG93OiAwIDAgNnB4IHJnYmEoMTYsIDE4NSwgMTI5LCAwLjYpO1xufVxuXG4uYWRtaW4tc3RhdHVzLWRvdC53YXJuaW5nIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tYWRtaW4td2FybmluZyk7XG4gIGJveC1zaGFkb3c6IDAgMCA2cHggcmdiYSgyNDUsIDE1OCwgMTEsIDAuNik7XG4gIGFuaW1hdGlvbjogYWRtaW4tYmxpbmsgMXMgaW5maW5pdGU7XG59XG5cbi5hZG1pbi1zdGF0dXMtZG90LmRhbmdlciB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWFkbWluLWVycm9yKTtcbiAgYm94LXNoYWRvdzogMCAwIDZweCByZ2JhKDIzOSwgNjgsIDY4LCAwLjYpO1xuICBhbmltYXRpb246IGFkbWluLWJsaW5rIDFzIGluZmluaXRlO1xufVxuXG5Aa2V5ZnJhbWVzIGFkbWluLWJsaW5rIHtcbiAgMCUsIDEwMCUgeyBvcGFjaXR5OiAxOyB9XG4gIDUwJSB7IG9wYWNpdHk6IDAuNDsgfVxufVxuXG4vKiBDb250cm9sIGJ1dHRvbnMgd2l0aCBzdGF0ZSB2YXJpYW50cyAqL1xuLmFkbWluLWN0cmwtYnRuIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogdmFyKC0tc3BhY2UtMik7XG4gIHBhZGRpbmc6IHZhcigtLXNwYWNlLTMpIHZhcigtLXNwYWNlLTQpO1xuICBmb250LXNpemU6IHZhcigtLWFkbWluLXRleHQtc20pO1xuICBmb250LXdlaWdodDogNTAwO1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tYWRtaW4tcmFkaXVzLXNtKTtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYWRtaW4tYm9yZGVyKTtcbiAgYmFja2dyb3VuZDogdmFyKC0tYWRtaW4tc3VyZmFjZSk7XG4gIGNvbG9yOiB2YXIoLS1hZG1pbi10ZXh0KTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0cmFuc2l0aW9uOiBhbGwgdmFyKC0tYWRtaW4tdHJhbnNpdGlvbik7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uYWRtaW4tY3RybC1idG46aG92ZXIge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1hZG1pbi1zdXJmYWNlLWhvdmVyKTtcbn1cblxuLmFkbWluLWN0cmwtYnRuLm9uLXN1Y2Nlc3Mge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDE2LCAxODUsIDEyOSwgMC4xNSk7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tYWRtaW4tc3VjY2Vzcyk7XG4gIGNvbG9yOiB2YXIoLS1hZG1pbi1zdWNjZXNzKTtcbn1cblxuLmFkbWluLWN0cmwtYnRuLm9uLWRhbmdlciB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjM5LCA2OCwgNjgsIDAuMTUpO1xuICBib3JkZXItY29sb3I6IHZhcigtLWFkbWluLWVycm9yKTtcbiAgY29sb3I6IHZhcigtLWFkbWluLWVycm9yKTtcbn1cblxuLmFkbWluLWN0cmwtYnRuLm9uLXdhcm5pbmcge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1MCwgMjA0LCAyMSwgMC4xNSk7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tYWRtaW4td2FybmluZyk7XG4gIGNvbG9yOiB2YXIoLS1hZG1pbi13YXJuaW5nKTtcbn1cblxuLyogU3RhdHMgZGlzcGxheSByb3cgKi9cbi5hZG1pbi1zdGF0cy1yb3cge1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg0LCAxZnIpO1xuICBnYXA6IHZhcigtLXNwYWNlLTMpO1xuICBwYWRkaW5nOiB2YXIoLS1zcGFjZS0zKTtcbiAgYmFja2dyb3VuZDogdmFyKC0tYWRtaW4tYmcpO1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1hZG1pbi1ib3JkZXIpO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1hZG1pbi1yYWRpdXMtc20pO1xuICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjZS0zKTtcbn1cblxuLmFkbWluLXN0YXRzLXJvd19faXRlbSB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLmFkbWluLXN0YXRzLXJvd19fbGFiZWwge1xuICBmb250LXNpemU6IHZhcigtLWFkbWluLXRleHQteHMpO1xuICBjb2xvcjogdmFyKC0tYWRtaW4tdGV4dC1kaW0pO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBsZXR0ZXItc3BhY2luZzogMC4wNWVtO1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS0xKTtcbn1cblxuLmFkbWluLXN0YXRzLXJvd19fdmFsdWUge1xuICBmb250LXNpemU6IHZhcigtLWFkbWluLXRleHQtbGcpO1xuICBmb250LXdlaWdodDogNzAwO1xuICBjb2xvcjogdmFyKC0tYWRtaW4tdGV4dCk7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1hZG1pbi1mb250LW1vbm8pO1xufVxuXG4uYWRtaW4tc3RhdHMtcm93X192YWx1ZS53YXJuaW5nIHsgY29sb3I6IHZhcigtLWFkbWluLXdhcm5pbmcpOyB9XG4uYWRtaW4tc3RhdHMtcm93X192YWx1ZS5zdWNjZXNzIHsgY29sb3I6IHZhcigtLWFkbWluLXN1Y2Nlc3MpOyB9XG4uYWRtaW4tc3RhdHMtcm93X192YWx1ZS5kYW5nZXIgeyBjb2xvcjogdmFyKC0tYWRtaW4tZXJyb3IpOyB9XG5cbi8qIEltYWdlIG1hbmFnZW1lbnQgZ3JpZCAqL1xuLmFkbWluLWltYWdlLWdyaWQge1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpbGwsIG1pbm1heCgxMDBweCwgMWZyKSk7XG4gIGdhcDogdmFyKC0tc3BhY2UtMik7XG59XG5cbi5hZG1pbi1pbWFnZS1jZWxsIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBhc3BlY3QtcmF0aW86IDE7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tYWRtaW4tcmFkaXVzLXNtKTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYm9yZGVyOiAycHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIHRyYW5zaXRpb246IGFsbCB2YXIoLS1hZG1pbi10cmFuc2l0aW9uKTtcbn1cblxuLmFkbWluLWltYWdlLWNlbGw6aG92ZXIge1xuICBib3JkZXItY29sb3I6IHZhcigtLWFkbWluLXByaW1hcnkpO1xufVxuXG4uYWRtaW4taW1hZ2UtY2VsbCBpbWcge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5hZG1pbi1pbWFnZS1jZWxsLmhpZGRlbiB7XG4gIG9wYWNpdHk6IDAuMztcbn1cblxuLmFkbWluLWltYWdlLWNlbGwuZGVsZXRlLW1vZGUge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDIzOSwgNjgsIDY4LCAwLjIpO1xufVxuXG4uYWRtaW4taW1hZ2UtY2VsbC5kZWxldGUtbW9kZTpob3ZlciB7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tYWRtaW4tZXJyb3IpO1xufVxuXG4vKiBJbWFnZSBjZWxsIG92ZXJsYXkgYnV0dG9ucyAqL1xuLmFkbWluLWltYWdlLWNlbGxfX2FjdGlvbnMge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogdmFyKC0tc3BhY2UtMSk7XG4gIHJpZ2h0OiB2YXIoLS1zcGFjZS0xKTtcbiAgbGVmdDogdmFyKC0tc3BhY2UtMSk7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgZ2FwOiB2YXIoLS1zcGFjZS0xKTtcbn1cblxuLmFkbWluLWltYWdlLWJ0biB7XG4gIHBhZGRpbmc6IDJweCA2cHg7XG4gIGZvbnQtc2l6ZTogOXB4O1xuICBmb250LWZhbWlseTogdmFyKC0tYWRtaW4tZm9udC1tb25vKTtcbiAgYm9yZGVyLXJhZGl1czogMnB4O1xuICBib3JkZXI6IDFweCBzb2xpZDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0cmFuc2l0aW9uOiBhbGwgdmFyKC0tYWRtaW4tdHJhbnNpdGlvbik7XG59XG5cbi5hZG1pbi1pbWFnZS1idG4tLXZpc2libGUge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDE2LCAxODUsIDEyOSwgMC45KTtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1hZG1pbi1zdWNjZXNzKTtcbiAgY29sb3I6IHdoaXRlO1xufVxuXG4uYWRtaW4taW1hZ2UtYnRuLS1oaWRkZW4ge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDIzOSwgNjgsIDY4LCAwLjkpO1xuICBib3JkZXItY29sb3I6IHZhcigtLWFkbWluLWVycm9yKTtcbiAgY29sb3I6IHdoaXRlO1xufVxuXG4uYWRtaW4taW1hZ2UtYnRuLS1zaGFyZSB7XG4gIGJhY2tncm91bmQ6IHJnYmEoNTksIDEzMCwgMjQ2LCAwLjkpO1xuICBib3JkZXItY29sb3I6IHZhcigtLWFkbWluLXByaW1hcnkpO1xuICBjb2xvcjogd2hpdGU7XG59XG5cbi8qIERlbGV0ZSBvdmVybGF5ICovXG4uYWRtaW4taW1hZ2UtY2VsbF9fZGVsZXRlLW92ZXJsYXkge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGluc2V0OiAwO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDIzOSwgNjgsIDY4LCAwLjQpO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgZm9udC1zaXplOiAyNHB4O1xufVxuXG4vKiBIaWRkZW4gZnJvbSBwdWJsaWMgYmFubmVyICovXG4uYWRtaW4taW1hZ2UtY2VsbF9faGlkZGVuLWJhbm5lciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgYmFja2dyb3VuZDogcmdiYSgyMzksIDY4LCA2OCwgMC44NSk7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgZm9udC1zaXplOiA4cHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcGFkZGluZzogMnB4O1xuICBmb250LWZhbWlseTogdmFyKC0tYWRtaW4tZm9udC1tb25vKTtcbn1cblxuLyogRm9ybSBpbnB1dHMgc3R5bGVkIGZvciBnYWxsZXJ5IGFkbWluICovXG4uYWRtaW4tZm9ybS1pbmxpbmUge1xuICBkaXNwbGF5OiBmbGV4O1xuICBnYXA6IHZhcigtLXNwYWNlLTIpO1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbn1cblxuLmFkbWluLWZvcm0taW5saW5lIC5hZG1pbi1pbnB1dCB7XG4gIGZsZXg6IDE7XG59XG5cbi8qIFF1ZXJ5IHN5bnRheCBoZWxwZXIgKi9cbi5hZG1pbi1zeW50YXgtaGVscCB7XG4gIGZvbnQtc2l6ZTogdmFyKC0tYWRtaW4tdGV4dC14cyk7XG4gIGNvbG9yOiB2YXIoLS1hZG1pbi10ZXh0LWRpbSk7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1hZG1pbi1mb250LW1vbm8pO1xuICBsaW5lLWhlaWdodDogMS44O1xuICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjZS0yKTtcbn1cblxuLmFkbWluLXN5bnRheC1oZWxwIGNvZGUge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDU5LCAxMzAsIDI0NiwgMC4xKTtcbiAgY29sb3I6IHZhcigtLWFkbWluLXByaW1hcnkpO1xuICBwYWRkaW5nOiAxcHggNHB4O1xuICBib3JkZXItcmFkaXVzOiAycHg7XG59XG5cbi8qIFNoYXJlIGxpbmtzIHRhYmxlIGltcHJvdmVtZW50cyAqL1xuLmFkbWluLXNoYXJlLXRhYmxlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gIGZvbnQtc2l6ZTogdmFyKC0tYWRtaW4tdGV4dC14cyk7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1hZG1pbi1mb250LW1vbm8pO1xufVxuXG4uYWRtaW4tc2hhcmUtdGFibGUgdGgge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1hZG1pbi1iZy1hbHQpO1xuICBjb2xvcjogdmFyKC0tYWRtaW4tdGV4dC1tdXRlZCk7XG4gIHBhZGRpbmc6IHZhcigtLXNwYWNlLTIpIHZhcigtLXNwYWNlLTMpO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBmb250LXdlaWdodDogNTAwO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBsZXR0ZXItc3BhY2luZzogMC4wNWVtO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYWRtaW4tYm9yZGVyKTtcbn1cblxuLmFkbWluLXNoYXJlLXRhYmxlIHRkIHtcbiAgcGFkZGluZzogdmFyKC0tc3BhY2UtMikgdmFyKC0tc3BhY2UtMyk7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1hZG1pbi1ib3JkZXIpO1xuICBjb2xvcjogdmFyKC0tYWRtaW4tdGV4dC1tdXRlZCk7XG59XG5cbi5hZG1pbi1zaGFyZS10YWJsZSB0ci5leHBpcmVkIHtcbiAgb3BhY2l0eTogMC40O1xufVxuXG4vKiBEYXRlIFBJTiB0YWJsZSAqL1xuLmFkbWluLWRhdGUtcGlucy10YWJsZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICBmb250LXNpemU6IHZhcigtLWFkbWluLXRleHQtc20pO1xufVxuXG4uYWRtaW4tZGF0ZS1waW5zLXRhYmxlIHRoIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tYWRtaW4tYmctYWx0KTtcbiAgY29sb3I6IHZhcigtLWFkbWluLXRleHQtbXV0ZWQpO1xuICBwYWRkaW5nOiB2YXIoLS1zcGFjZS0yKSB2YXIoLS1zcGFjZS0zKTtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWFkbWluLWJvcmRlcik7XG59XG5cbi5hZG1pbi1kYXRlLXBpbnMtdGFibGUgdGQge1xuICBwYWRkaW5nOiB2YXIoLS1zcGFjZS0yKSB2YXIoLS1zcGFjZS0zKTtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWFkbWluLWJvcmRlcik7XG59XG5cbi5hZG1pbi1kYXRlLXBpbnMtdGFibGUgdHIuZGlzYWJsZWQge1xuICBvcGFjaXR5OiAwLjU7XG59XG5cbi8qIFJlc3BvbnNpdmUgYWRqdXN0bWVudHMgZm9yIGdhbGxlcnkgYWRtaW4gKi9cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAuYWRtaW4tc3RhdHMtcm93IHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpO1xuICB9XG5cbiAgLmFkbWluLWZvcm0taW5saW5lIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICB9XG5cbiAgLmFkbWluLWltYWdlLWdyaWQge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZmlsbCwgbWlubWF4KDgwcHgsIDFmcikpO1xuICB9XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBQRU9QTEUgUEFHRSAtIEZhY2UgR3JpZCBDYXJkc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyogSGVhZGVyIHdpdGggdGl0bGUgKyBjb250cm9scyBvbiBzYW1lIGxpbmUgKi9cbi5hZG1pbi1oZWFkZXItcm93IHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGdhcDogdmFyKC0tc3BhY2UtNCk7XG59XG5cbi5hZG1pbi1oZWFkZXItY29udHJvbHMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBnYXA6IHZhcigtLXNwYWNlLTMpO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4uYWRtaW4tcGFnaW5hdGlvbiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogdmFyKC0tc3BhY2UtMik7XG59XG5cbi8qIFBlcnNvbiBjYXJkIC0gbm8gcGFkZGluZywgbGV0IHNlY3Rpb25zIGRlZmluZSB0aGVpciBvd24gKi9cbi5wZXJzb24tY2FyZCB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWFkbWluLXN1cmZhY2UpO1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1hZG1pbi1ib3JkZXIpO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1hZG1pbi1yYWRpdXMpO1xuICBib3gtc2hhZG93OiB2YXIoLS1hZG1pbi1zaGFkb3cpO1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4vKiBQZW9wbGUgZ3JpZDogbW9iaWxlLWZpcnN0LCAyIGNvbHVtbnMgb24gbmFycm93IHNjcmVlbnMgKi9cbi5wZW9wbGUtZ3JpZCB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7XG4gIGdhcDogdmFyKC0tc3BhY2UtMik7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA0ODBweCkge1xuICAucGVvcGxlLWdyaWQge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZmlsbCwgbWlubWF4KDE1MHB4LCAxODBweCkpO1xuICAgIGdhcDogdmFyKC0tc3BhY2UtMyk7XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5wZW9wbGUtZ3JpZCB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maWxsLCBtaW5tYXgoMjAwcHgsIDI0MHB4KSk7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS00KTtcbiAgfVxufVxuXG4vKiBGYWNlIHRodW1ibmFpbCAtIHNxdWFyZSBhc3BlY3QgcmF0aW8gY29udGFpbmVyICovXG4ucGVyc29uLWNhcmRfX3RodW1iIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZy10b3A6IDEwMCU7IC8qIFNxdWFyZSBhc3BlY3QgcmF0aW8gKi9cbiAgYmFja2dyb3VuZDogdmFyKC0tYWRtaW4tYmcpO1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4ucGVyc29uLWNhcmRfX3RodW1iLWxpbmsge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGluc2V0OiAwO1xuICBkaXNwbGF5OiBibG9jaztcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLnBlcnNvbi1jYXJkX190aHVtYi1pbWcge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGluc2V0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgLyogb2JqZWN0LXBvc2l0aW9uIHNldCB2aWEgaW5saW5lIHN0eWxlIHRvIGNlbnRlciBvbiBmYWNlICovXG59XG5cbi5wZXJzb24tY2FyZF9fdGh1bWItcGxhY2Vob2xkZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGluc2V0OiAwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgZm9udC1zaXplOiAzMnB4O1xuICBvcGFjaXR5OiAwLjM7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA0ODBweCkge1xuICAucGVyc29uLWNhcmRfX3RodW1iLXBsYWNlaG9sZGVyIHtcbiAgICBmb250LXNpemU6IDQ4cHg7XG4gIH1cbn1cblxuLyogQmFkZ2VzIHBvc2l0aW9uZWQgb24gdGh1bWJuYWlsICovXG4ucGVyc29uLWNhcmRfX2JhZGdlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IHZhcigtLXNwYWNlLTEpO1xuICBmb250LXNpemU6IDEwcHg7XG4gIHBhZGRpbmc6IDJweCA0cHg7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA0ODBweCkge1xuICAucGVyc29uLWNhcmRfX2JhZGdlIHtcbiAgICB0b3A6IHZhcigtLXNwYWNlLTIpO1xuICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgICBwYWRkaW5nOiByZXZlcnQ7XG4gIH1cbn1cblxuLnBlcnNvbi1jYXJkX19iYWRnZS0tbGVmdCB7XG4gIGxlZnQ6IHZhcigtLXNwYWNlLTEpO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNDgwcHgpIHtcbiAgLnBlcnNvbi1jYXJkX19iYWRnZS0tbGVmdCB7XG4gICAgbGVmdDogdmFyKC0tc3BhY2UtMik7XG4gIH1cbn1cblxuLnBlcnNvbi1jYXJkX19iYWRnZS0tcmlnaHQge1xuICByaWdodDogdmFyKC0tc3BhY2UtMSk7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA0ODBweCkge1xuICAucGVyc29uLWNhcmRfX2JhZGdlLS1yaWdodCB7XG4gICAgcmlnaHQ6IHZhcigtLXNwYWNlLTIpO1xuICB9XG59XG5cbi8qIENhcmQgYm9keSB3aXRoIGluZm8gYW5kIGFjdGlvbnMgKi9cbi5wZXJzb24tY2FyZF9fYm9keSB7XG4gIHBhZGRpbmc6IHZhcigtLXNwYWNlLTIpO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNDgwcHgpIHtcbiAgLnBlcnNvbi1jYXJkX19ib2R5IHtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS0zKTtcbiAgfVxufVxuXG4ucGVyc29uLWNhcmRfX25hbWUge1xuICBmb250LXdlaWdodDogNTAwO1xuICBmb250LXNpemU6IDEzcHg7XG4gIGNvbG9yOiB2YXIoLS1hZG1pbi10ZXh0KTtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UtMSk7XG4gIGN1cnNvcjogdGV4dDtcbiAgbWluLWhlaWdodDogMjBweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA0ODBweCkge1xuICAucGVyc29uLWNhcmRfX25hbWUge1xuICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS0yKTtcbiAgICBtaW4taGVpZ2h0OiAyNHB4O1xuICB9XG59XG5cbi5wZXJzb24tY2FyZF9fbmFtZS1pbnB1dCB7XG4gIHdpZHRoOiAxMDAlO1xuICBmb250LXdlaWdodDogNTAwO1xuICBmb250LXNpemU6IDEzcHg7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA0ODBweCkge1xuICAucGVyc29uLWNhcmRfX25hbWUtaW5wdXQge1xuICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgfVxufVxuXG4ucGVyc29uLWNhcmRfX21ldGEge1xuICBmb250LXNpemU6IDExcHg7XG4gIGNvbG9yOiB2YXIoLS1hZG1pbi10ZXh0LW11dGVkKTtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UtMik7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA0ODBweCkge1xuICAucGVyc29uLWNhcmRfX21ldGEge1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tYWRtaW4tdGV4dC1zbSk7XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UtMyk7XG4gIH1cbn1cblxuLnBlcnNvbi1jYXJkX191bnZlcmlmaWVkIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW4tbGVmdDogOHB4O1xuICBwYWRkaW5nOiAycHggNnB4O1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1hZG1pbi13YXJuaW5nLCAjZjU5ZTBiKTtcbiAgY29sb3I6ICMwMDA7XG4gIGZvbnQtc2l6ZTogMTBweDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICBjdXJzb3I6IGhlbHA7XG59XG5cbi5wZXJzb24tY2FyZF9fYWN0aW9ucyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGdhcDogdmFyKC0tc3BhY2UtMSk7XG4gIGZsZXgtd3JhcDogd3JhcDtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDQ4MHB4KSB7XG4gIC5wZXJzb24tY2FyZF9fYWN0aW9ucyB7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS0yKTtcbiAgfVxufVxuXG4vKiBTbWFsbGVyIGJ1dHRvbnMgb24gbW9iaWxlICovXG4ucGVyc29uLWNhcmRfX2FjdGlvbnMgLmFkbWluLWJ0biB7XG4gIHBhZGRpbmc6IDRweCA4cHg7XG4gIGZvbnQtc2l6ZTogMTBweDtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDQ4MHB4KSB7XG4gIC5wZXJzb24tY2FyZF9fYWN0aW9ucyAuYWRtaW4tYnRuIHtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS0xKSB2YXIoLS1zcGFjZS0yKTtcbiAgICBmb250LXNpemU6IHZhcigtLWFkbWluLXRleHQteHMpO1xuICB9XG59XG5cbi8qIElubGluZSBQSU4gZm9ybSAqL1xuLnBlcnNvbi1jYXJkX19waW4tZm9ybSB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBtYXJnaW46IDA7XG59XG5cbi5wZXJzb24tY2FyZF9fcGluLWlucHV0IHtcbiAgd2lkdGg6IDQwcHg7XG4gIHBhZGRpbmc6IDJweCA0cHg7XG4gIGZvbnQtc2l6ZTogMTBweDtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tYWRtaW4tcmFkaXVzLXNtKSAwIDAgdmFyKC0tYWRtaW4tcmFkaXVzLXNtKTtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDQ4MHB4KSB7XG4gIC5wZXJzb24tY2FyZF9fcGluLWlucHV0IHtcbiAgICB3aWR0aDogNTBweDtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS0xKSB2YXIoLS1zcGFjZS0yKTtcbiAgICBmb250LXNpemU6IHZhcigtLWFkbWluLXRleHQteHMpO1xuICB9XG59XG5cbi5wZXJzb24tY2FyZF9fcGluLWJ0biB7XG4gIGJvcmRlci1yYWRpdXM6IDAgdmFyKC0tYWRtaW4tcmFkaXVzLXNtKSB2YXIoLS1hZG1pbi1yYWRpdXMtc20pIDA7XG4gIHBhZGRpbmc6IDJweCA2cHg7XG4gIGZvbnQtc2l6ZTogMTBweDtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDQ4MHB4KSB7XG4gIC5wZXJzb24tY2FyZF9fcGluLWJ0biB7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2UtMSkgdmFyKC0tc3BhY2UtMik7XG4gICAgZm9udC1zaXplOiB2YXIoLS1hZG1pbi10ZXh0LXhzKTtcbiAgfVxufVxuXG4vKiAtLS0gUGVvcGxlIFRhYnMgLS0tICovXG4ucGVvcGxlLXRhYnMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBnYXA6IHZhcigtLXNwYWNlLTEpO1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS0zKTtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWFkbWluLWJvcmRlcik7XG4gIHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjZS0xKTtcbn1cblxuLnBlb3BsZS10YWIge1xuICBwYWRkaW5nOiB2YXIoLS1zcGFjZS0yKSB2YXIoLS1zcGFjZS0zKTtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogbm9uZTtcbiAgY29sb3I6IHZhcigtLWFkbWluLXRleHQtbXV0ZWQpO1xuICBmb250LXNpemU6IDEzcHg7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICB0cmFuc2l0aW9uOiBjb2xvciAwLjE1cywgYm9yZGVyLWNvbG9yIDAuMTVzO1xufVxuXG4ucGVvcGxlLXRhYjpob3ZlciB7XG4gIGNvbG9yOiB2YXIoLS1hZG1pbi10ZXh0KTtcbn1cblxuLnBlb3BsZS10YWItLWFjdGl2ZSB7XG4gIGNvbG9yOiB2YXIoLS1hZG1pbi10ZXh0KTtcbiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdmFyKC0tYWRtaW4tcHJpbWFyeSwgIzNiODJmNik7XG59XG5cbi5wZW9wbGUtdGFiX19iYWRnZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWluLXdpZHRoOiAxOHB4O1xuICBwYWRkaW5nOiAxcHggNnB4O1xuICBtYXJnaW4tbGVmdDogNnB4O1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1hZG1pbi13YXJuaW5nLCAjZjU5ZTBiKTtcbiAgY29sb3I6ICMwMDA7XG4gIGZvbnQtc2l6ZTogMTFweDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgYm9yZGVyLXJhZGl1czogOXB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XG59XG5cbi8qIC0tLSBFeHBhbmQvQ29sbGFwc2UgSW5kaWNhdG9yIC0tLSAqL1xuLnBlcnNvbi1jYXJkX19leHBhbmQtaW5kaWNhdG9yIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IHZhcigtLXNwYWNlLTEpO1xuICByaWdodDogdmFyKC0tc3BhY2UtMSk7XG4gIGZvbnQtc2l6ZTogMTBweDtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KTtcbiAgdGV4dC1zaGFkb3c6IDAgMXB4IDJweCByZ2JhKDAsIDAsIDAsIDAuNik7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG4vKiAtLS0gRXhwYW5kZWQgUGVyc29uIENhcmQgLS0tICovXG4ucGVyc29uLWNhcmQtLWV4cGFuZGVkIHtcbiAgZ3JpZC1jb2x1bW46IHNwYW4gMjtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDQ3OXB4KSB7XG4gIC5wZXJzb24tY2FyZC0tZXhwYW5kZWQge1xuICAgIGdyaWQtY29sdW1uOiAxIC8gLTE7IC8qIEZ1bGwgd2lkdGggb24gbW9iaWxlICovXG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDE5MjBweCkge1xuICAucGVyc29uLWNhcmQtLWV4cGFuZGVkIHtcbiAgICBncmlkLWNvbHVtbjogc3BhbiAzO1xuICB9XG59XG5cbi8qIC0tLSBGYWNlIEdyaWQgKGluc2lkZSBleHBhbmRlZCBjYXJkKSAtLS0gKi9cbi5wZXJzb24tY2FyZF9fZmFjZS1ncmlkIHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMywgMWZyKTtcbiAgZ2FwOiAzcHg7XG4gIHBhZGRpbmc6IHZhcigtLXNwYWNlLTIpO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1hZG1pbi1iZyk7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1hZG1pbi1ib3JkZXIpO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNDgwcHgpIHtcbiAgLnBlcnNvbi1jYXJkX19mYWNlLWdyaWQge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDQsIDFmcik7XG4gICAgZ2FwOiA0cHg7XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5wZXJzb24tY2FyZF9fZmFjZS1ncmlkIHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg2LCAxZnIpO1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiAxOTIwcHgpIHtcbiAgLnBlcnNvbi1jYXJkX19mYWNlLWdyaWQge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDgsIDFmcik7XG4gIH1cbn1cblxuLnBlcnNvbi1jYXJkX19mYWNlLWVtcHR5IHtcbiAgZ3JpZC1jb2x1bW46IDEgLyAtMTtcbiAgcGFkZGluZzogdmFyKC0tc3BhY2UtNCk7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgY29sb3I6IHZhcigtLWFkbWluLXRleHQtbXV0ZWQpO1xuICBmb250LXNpemU6IDEycHg7XG59XG5cbi8qIC0tLSBGYWNlIENyb3AgVGh1bWJuYWlscyAtLS0gKi9cbi5wZXJzb24tY2FyZF9fZmFjZS1jcm9wLXdyYXAge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nLXRvcDogMTAwJTsgLyogU3F1YXJlICovXG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLWFkbWluLXJhZGl1cy1zbSk7XG4gIGJhY2tncm91bmQ6IHZhcigtLWFkbWluLXN1cmZhY2UpO1xufVxuXG4ucGVyc29uLWNhcmRfX2ZhY2UtY3JvcCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgaW5zZXQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG9iamVjdC1maXQ6IGNvdmVyO1xufVxuXG4vKiAtLS0gRmFjZSBBY3Rpb24gQnV0dG9ucyAoVyAvIFggb3ZlcmxheSkgLS0tICovXG4ucGVyc29uLWNhcmRfX2ZhY2UtYWN0aW9ucyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgZGlzcGxheTogZmxleDtcbiAgZ2FwOiAycHg7XG4gIHBhZGRpbmc6IDJweDtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRyYW5zcGFyZW50LCByZ2JhKDAsIDAsIDAsIDAuNykpO1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMTVzO1xufVxuXG4ucGVyc29uLWNhcmRfX2ZhY2UtY3JvcC13cmFwOmhvdmVyIC5wZXJzb24tY2FyZF9fZmFjZS1hY3Rpb25zIHtcbiAgb3BhY2l0eTogMTtcbn1cblxuLyogQWx3YXlzIHZpc2libGUgb24gdG91Y2ggZGV2aWNlcyAqL1xuQG1lZGlhIChob3Zlcjogbm9uZSkge1xuICAucGVyc29uLWNhcmRfX2ZhY2UtYWN0aW9ucyB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG4ucGVyc29uLWNhcmRfX2ZhY2UtYnRuIHtcbiAgZmxleDogMTtcbiAgcGFkZGluZzogM3B4IDA7XG4gIGJvcmRlcjogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xuICBmb250LXNpemU6IDExcHg7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBsaW5lLWhlaWdodDogMTtcbn1cblxuLnBlcnNvbi1jYXJkX19mYWNlLWJ0bi0td3Jvbmcge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1hZG1pbi13YXJuaW5nLCAjZjU5ZTBiKTtcbiAgY29sb3I6ICMwMDA7XG59XG5cbi5wZXJzb24tY2FyZF9fZmFjZS1idG4tLXdyb25nOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogI2Q5NzcwNjtcbn1cblxuLnBlcnNvbi1jYXJkX19mYWNlLWJ0bi0tZGVsZXRlIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tYWRtaW4tZGFuZ2VyLCAjZWY0NDQ0KTtcbiAgY29sb3I6ICNmZmY7XG59XG5cbi5wZXJzb24tY2FyZF9fZmFjZS1idG4tLWRlbGV0ZTpob3ZlciB7XG4gIGJhY2tncm91bmQ6ICNkYzI2MjY7XG59XG5cbi8qIC0tLSA0SyAvIFVsdHJhLXdpZGUgQnJlYWtwb2ludHMgZm9yIFBlb3BsZSBHcmlkIC0tLSAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDE5MjBweCkge1xuICAucGVvcGxlLWdyaWQge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZmlsbCwgbWlubWF4KDIyMHB4LCAyODBweCkpO1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiAyNTYwcHgpIHtcbiAgLnBlb3BsZS1ncmlkIHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpbGwsIG1pbm1heCgyNDBweCwgMzAwcHgpKTtcbiAgICBtYXgtd2lkdGg6IDMyMDBweDtcbiAgfVxufVxuXG4vKiBFbXB0eSBzdGF0ZSBmb3IgcGVvcGxlIHBhZ2UgKi9cbi5hZG1pbi1lbXB0eS1sYXJnZSB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcGFkZGluZzogdmFyKC0tc3BhY2UtMTIpIHZhcigtLXNwYWNlLTQpO1xufVxuXG4uYWRtaW4tZW1wdHktbGFyZ2VfX2ljb24ge1xuICBmb250LXNpemU6IDQ4cHg7XG4gIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlLTQpO1xuICBvcGFjaXR5OiAwLjM7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBBQ1RJT05TIEJBUlxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmFkbWluLWFjdGlvbnMtYmFyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiB2YXIoLS1zcGFjZS0zKTtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UtNCk7XG4gIGZsZXgtd3JhcDogd3JhcDtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFNUUkVBTUlORyBQQUdFIC0gU3RhdHVzICYgQ29uZmlnIFBhbmVsc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmFkbWluLXN0cmVhbS1ncmlkIHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maXQsIG1pbm1heCgyODBweCwgMWZyKSk7XG4gIGdhcDogdmFyKC0tc3BhY2UtNCk7XG59XG5cbi5hZG1pbi1zdHJlYW0tcGFuZWxfX3RpdGxlIHtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBjb2xvcjogdmFyKC0tYWRtaW4tdGV4dC1kaW0pO1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS0zKTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuNXB4O1xufVxuXG4uYWRtaW4tc3RyZWFtLXN0YXR1cy1saXN0IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiB2YXIoLS1zcGFjZS0yKTtcbn1cblxuLmFkbWluLXN0cmVhbS1zdGF0dXMtcm93IHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xufVxuXG4uYWRtaW4tc3RyZWFtLXN0YXR1cy0tbGl2ZSB7XG4gIGNvbG9yOiAjMjJjNTVlO1xuICBmb250LXdlaWdodDogNjAwO1xufVxuXG4uYWRtaW4tc3RyZWFtLXN0YXR1cy0tb2ZmbGluZSB7XG4gIGNvbG9yOiAjODg4O1xuICBmb250LXdlaWdodDogNjAwO1xufVxuXG4uYWRtaW4tc3RyZWFtLWNvbmZpZy1saXN0IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiB2YXIoLS1zcGFjZS0yKTtcbiAgZm9udC1zaXplOiB2YXIoLS1hZG1pbi10ZXh0LXNtKTtcbn1cblxuLmFkbWluLXN0cmVhbS1jb25maWctdXJsIHtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWFkbWluLWZvbnQtbW9ubyk7XG4gIHdvcmQtYnJlYWs6IGJyZWFrLWFsbDtcbiAgY29sb3I6IHZhcigtLWFkbWluLWFjY2VudCk7XG4gIGZvbnQtc2l6ZTogdmFyKC0tYWRtaW4tdGV4dC14cyk7XG59XG5cbi8qIFRlc3QgcmVzdWx0IGJveCAqL1xuLmFkbWluLXRlc3QtcmVzdWx0IHtcbiAgcGFkZGluZzogdmFyKC0tc3BhY2UtMikgdmFyKC0tc3BhY2UtMyk7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLWFkbWluLXJhZGl1cy1zbSk7XG4gIGZvbnQtc2l6ZTogdmFyKC0tYWRtaW4tdGV4dC1zbSk7XG59XG5cbi5hZG1pbi10ZXN0LXJlc3VsdC0tc3VjY2VzcyB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMzQsIDE5NywgOTQsIDAuMTUpO1xuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDM0LCAxOTcsIDk0LCAwLjMpO1xufVxuXG4uYWRtaW4tdGVzdC1yZXN1bHQtLWVycm9yIHtcbiAgYmFja2dyb3VuZDogcmdiYSgyMzksIDY4LCA2OCwgMC4xNSk7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjM5LCA2OCwgNjgsIDAuMyk7XG59XG5cbi5hZG1pbi10ZXN0LXJlc3VsdF9fdGl0bGUge1xuICBmb250LXdlaWdodDogNjAwO1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS0xKTtcbn1cblxuLmFkbWluLXRlc3QtcmVzdWx0X190aXRsZS0tc3VjY2VzcyB7XG4gIGNvbG9yOiAjNGFkZTgwO1xufVxuXG4uYWRtaW4tdGVzdC1yZXN1bHRfX3RpdGxlLS1lcnJvciB7XG4gIGNvbG9yOiAjZjg3MTcxO1xufVxuXG4uYWRtaW4tdGVzdC1yZXN1bHRfX2luZm8ge1xuICBjb2xvcjogdmFyKC0tYWRtaW4tdGV4dC1kaW0pO1xuICBmb250LWZhbWlseTogdmFyKC0tYWRtaW4tZm9udC1tb25vKTtcbiAgZm9udC1zaXplOiB2YXIoLS1hZG1pbi10ZXh0LXhzKTtcbn1cblxuLyogTm90IGNvbmZpZ3VyZWQgc3RhdGUgKi9cbi5hZG1pbi1zdHJlYW0tbm90LWNvbmZpZ3VyZWQge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBhZGRpbmc6IHZhcigtLXNwYWNlLTEwKSB2YXIoLS1zcGFjZS00KTtcbiAgY29sb3I6IHZhcigtLWFkbWluLXRleHQtZGltKTtcbn1cblxuLmFkbWluLXN0cmVhbS1ub3QtY29uZmlndXJlZF9fdGl0bGUge1xuICBmb250LXNpemU6IHZhcigtLWFkbWluLXRleHQtbGcpO1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS0zKTtcbn1cblxuLmFkbWluLXN0cmVhbS1ub3QtY29uZmlndXJlZF9faGludCB7XG4gIGZvbnQtc2l6ZTogdmFyKC0tYWRtaW4tdGV4dC1zbSk7XG59XG5cbi8qIFNldHVwIGd1aWRlICovXG4uYWRtaW4tZ3VpZGUtZ3JpZCB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZml0LCBtaW5tYXgoMzAwcHgsIDFmcikpO1xuICBnYXA6IHZhcigtLXNwYWNlLTYpO1xufVxuXG4uYWRtaW4tZ3VpZGUtc3RlcF9fdGl0bGUge1xuICBmb250LXNpemU6IDE0cHg7XG4gIGNvbG9yOiB2YXIoLS1hZG1pbi1hY2NlbnQpO1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS0yKTtcbn1cblxuLmFkbWluLWd1aWRlLXN0ZXBfX2Rlc2Mge1xuICBmb250LXNpemU6IHZhcigtLWFkbWluLXRleHQtc20pO1xuICBjb2xvcjogdmFyKC0tYWRtaW4tdGV4dC1tdXRlZCk7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG59XG5cbi8qIFNlY3Rpb24gdGl0bGUgd2l0aCBpbmxpbmUgZWxlbWVudHMgKi9cbi5hZG1pbi1zZWN0aW9uLXRpdGxlLS1mbGV4IHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiB2YXIoLS1zcGFjZS0zKTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIE1PREFMU1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmFkbWluLW1vZGFsLW92ZXJsYXkge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGluc2V0OiAwO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuOCk7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB6LWluZGV4OiAxMDAwO1xufVxuXG4uYWRtaW4tbW9kYWwge1xuICBtYXgtd2lkdGg6IDYwMHB4O1xuICB3aWR0aDogOTAlO1xuICBtYXgtaGVpZ2h0OiA4NXZoO1xuICBvdmVyZmxvdy15OiBhdXRvO1xufVxuXG4uYWRtaW4tbW9kYWwtLXNtIHtcbiAgbWF4LXdpZHRoOiA0MDBweDtcbn1cblxuLmFkbWluLW1vZGFsLS1sZyB7XG4gIG1heC13aWR0aDogODAwcHg7XG59XG5cbi5hZG1pbi1tb2RhbF9faGVhZGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS00KTtcbn1cblxuLmFkbWluLW1vZGFsX190aXRsZSB7XG4gIG1hcmdpbjogMDtcbiAgZm9udC1zaXplOiB2YXIoLS1hZG1pbi10ZXh0LXhsKTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbn1cblxuLmFkbWluLW1vZGFsX19jbG9zZSB7XG4gIGZvbnQtc2l6ZTogMjRweDtcbiAgbGluZS1oZWlnaHQ6IDE7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBQUk9HUkVTUyBCQVJTXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uYWRtaW4tcHJvZ3Jlc3Mge1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS00KTtcbn1cblxuLmFkbWluLXByb2dyZXNzX19oZWFkZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlLTIpO1xufVxuXG4uYWRtaW4tcHJvZ3Jlc3NfX2JhciB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWFkbWluLWJnKTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tYWRtaW4tcmFkaXVzLXNtKTtcbiAgaGVpZ2h0OiA4cHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5hZG1pbi1wcm9ncmVzc19fZmlsbCB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWFkbWluLXN1Y2Nlc3MpO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHRyYW5zaXRpb246IHdpZHRoIDAuM3M7XG59XG5cbi5hZG1pbi1wcm9ncmVzc19fc3RhdHVzIHtcbiAgZm9udC1zaXplOiB2YXIoLS1hZG1pbi10ZXh0LXhzKTtcbiAgY29sb3I6IHZhcigtLWFkbWluLXRleHQtZGltKTtcbiAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2UtMik7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDT0RFIEJMT0NLUyAmIExPRyBWSUVXRVJTXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uYWRtaW4tY29kZS1ibG9jayB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBiYWNrZ3JvdW5kOiAjMGEwYTBhO1xuICBwYWRkaW5nOiB2YXIoLS1zcGFjZS0zKTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tYWRtaW4tcmFkaXVzLXNtKTtcbiAgZm9udC1zaXplOiB2YXIoLS1hZG1pbi10ZXh0LXhzKTtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWFkbWluLWZvbnQtbW9ubyk7XG4gIG92ZXJmbG93LXg6IGF1dG87XG4gIHdoaXRlLXNwYWNlOiBwcmUtd3JhcDtcbiAgd29yZC13cmFwOiBicmVhay13b3JkO1xufVxuXG4uYWRtaW4tbG9nLXZpZXdlciB7XG4gIGJhY2tncm91bmQ6ICMwYTBhMGE7XG4gIHBhZGRpbmc6IHZhcigtLXNwYWNlLTMpO1xuICBtYXgtaGVpZ2h0OiAyMDBweDtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UtNCk7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLWFkbWluLXJhZGl1cy1zbSk7XG59XG5cbi5hZG1pbi1sb2ctdmlld2VyIHByZSB7XG4gIG1hcmdpbjogMDtcbiAgZm9udC1zaXplOiB2YXIoLS1hZG1pbi10ZXh0LXhzKTtcbiAgY29sb3I6IHZhcigtLWFkbWluLXRleHQtZGltKTtcbiAgd2hpdGUtc3BhY2U6IHByZS13cmFwO1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBERVRBSUxTL0FDQ09SRElPTlxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmFkbWluLWRldGFpbHMge1xuICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjZS00KTtcbn1cblxuLmFkbWluLWRldGFpbHNfX3N1bW1hcnkge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGNvbG9yOiB2YXIoLS1hZG1pbi10ZXh0KTtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UtMyk7XG59XG5cbi5hZG1pbi1kZXRhaWxzX19jb250ZW50IHtcbiAgYmFja2dyb3VuZDogdmFyKC0tYWRtaW4tYmcpO1xuICBwYWRkaW5nOiB2YXIoLS1zcGFjZS00KTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tYWRtaW4tcmFkaXVzKTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIElOU1RSVUNUSU9OIFNURVBTXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uYWRtaW4tc3RlcCB7XG4gIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlLTQpO1xufVxuXG4uYWRtaW4tc3RlcDpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLmFkbWluLXN0ZXBfX2xhYmVsIHtcbiAgZm9udC1zaXplOiB2YXIoLS1hZG1pbi10ZXh0LXhzKTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgY29sb3I6IHZhcigtLWFkbWluLXRleHQtZGltKTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlLTEpO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgRU1QVFkgU1RBVEVTXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uYWRtaW4tZW1wdHktY2FyZCB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcGFkZGluZzogdmFyKC0tc3BhY2UtMTApO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgSE9TVCBJTkZPIEhFQURFUiAoYmFkZ2UgKyBob3N0bmFtZSlcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5hZG1pbi1ob3N0LWhlYWRlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogdmFyKC0tc3BhY2UtNCk7XG4gIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlLTQpO1xuICBmbGV4LXdyYXA6IHdyYXA7XG59XG5cbi5hZG1pbi1ob3N0LW5hbWUge1xuICBmb250LXNpemU6IDE4cHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG59XG5cbi5hZG1pbi1ob3N0LWFsaWFzIHtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBjb2xvcjogdmFyKC0tYWRtaW4tdGV4dC1kaW0pO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQURNSU4gSFVCIC0gRGFzaGJvYXJkIFNwZWNpZmljIENvbXBvbmVudHNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qIExpdmUgc3RyZWFtaW5nIGluZGljYXRvciAtIHJlZCBjb2xvciBmb3IgbGl2ZSBzdGF0dXMgKi9cbi5hZG1pbi1zdGF0LXZhbHVlLS1saXZlIHtcbiAgY29sb3I6ICNmZjQwNDA7XG59XG5cbi8qIENhcmQgd2l0aCBhY2NlbnQgYm9yZGVyIChlLmcuLCBBSSBDb2xsYWIpICovXG4uYWRtaW4tY2FyZC0tYWNjZW50IHtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1hZG1pbi1hY2NlbnQpO1xufVxuXG4uYWRtaW4tY2FyZC0tYWNjZW50IGgzIHtcbiAgY29sb3I6IHZhcigtLWFkbWluLWFjY2VudCk7XG59XG5cbi8qIEZsZXggbGF5b3V0cyB3aXRoIGdhcHMgKi9cbi5hZG1pbi1mbGV4LWdhcC1zbSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGdhcDogdmFyKC0tc3BhY2UtMik7XG59XG5cbi5hZG1pbi1mbGV4LWdhcC1tZCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGdhcDogdmFyKC0tc3BhY2UtMyk7XG59XG5cbi5hZG1pbi1mbGV4LWdhcC1sZyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGdhcDogdmFyKC0tc3BhY2UtNCk7XG59XG5cbi5hZG1pbi1mbGV4LWNvbC1nYXAtc20ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBnYXA6IHZhcigtLXNwYWNlLTIpO1xufVxuXG4uYWRtaW4tZmxleC1jb2wtZ2FwLW1kIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiB2YXIoLS1zcGFjZS0zKTtcbn1cblxuLyogSG9zdCB0aWVyIGJhZGdlIGFyZWEgKi9cbi5hZG1pbi10aWVyLWhlYWRlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogdmFyKC0tc3BhY2UtNCk7XG4gIGZsZXgtd3JhcDogd3JhcDtcbn1cblxuLmFkbWluLXRpZXItaG9zdG5hbWUge1xuICBmb250LXNpemU6IDE1cHg7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGNvbG9yOiB2YXIoLS1hZG1pbi10ZXh0KTtcbn1cblxuLyogVGllciBiYWRnZSBjb2xvciB2YXJpYW50cyAqL1xuLmFkbWluLWJhZGdlLS1jb21tdW5pdHkge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDE0OCwgMTYzLCAxODQsIDAuMTUpO1xuICBjb2xvcjogIzk0YTNiODtcbn1cblxuLmFkbWluLWJhZGdlLS1wcm8ge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDk2LCAxNjUsIDI1MCwgMC4xNSk7XG4gIGNvbG9yOiAjNjBhNWZhO1xufVxuXG4uYWRtaW4tYmFkZ2UtLXN0dWRpbyB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMTM5LCA5MiwgMjQ2LCAwLjE1KTtcbiAgY29sb3I6ICNhNzhiZmE7XG59XG5cbi5hZG1pbi1iYWRnZS0tZW50ZXJwcmlzZSB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjUwLCAyMDQsIDIxLCAwLjE1KTtcbiAgY29sb3I6ICNmYWNjMTU7XG59XG5cbi8qIEZlYXR1cmVzIHRvZ2dsZSBidXR0b24gKi9cbi5hZG1pbi1mZWF0dXJlcy10b2dnbGUge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiB2YXIoLS1zcGFjZS0yKTtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA1KTtcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE1KTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tYWRtaW4tcmFkaXVzLXNtKTtcbiAgcGFkZGluZzogdmFyKC0tc3BhY2UtMikgdmFyKC0tc3BhY2UtMyk7XG4gIGNvbG9yOiB2YXIoLS1hZG1pbi10ZXh0KTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBmb250LXNpemU6IHZhcigtLWFkbWluLXRleHQtc20pO1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgdHJhbnNpdGlvbjogYWxsIHZhcigtLWFkbWluLXRyYW5zaXRpb24pO1xuICB3aWR0aDogZml0LWNvbnRlbnQ7XG59XG5cbi5hZG1pbi1mZWF0dXJlcy10b2dnbGU6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMSk7XG59XG5cbi5hZG1pbi1mZWF0dXJlcy10b2dnbGVfX2NvdW50IHtcbiAgY29sb3I6IHZhcigtLWFkbWluLWFjY2VudCk7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG59XG5cbi5hZG1pbi1mZWF0dXJlcy10b2dnbGVfX2NhcmV0IHtcbiAgZm9udC1zaXplOiAxMHB4O1xuICBvcGFjaXR5OiAwLjc7XG59XG5cbi8qIEZlYXR1cmVzIHBhbmVsICovXG4uYWRtaW4tZmVhdHVyZXMtcGFuZWwge1xuICBwYWRkaW5nOiB2YXIoLS1zcGFjZS00KTtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjMpO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1hZG1pbi1yYWRpdXMpO1xuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDUpO1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS00KTtcbn1cblxuLyogVGllciBncm91cCB3aXRoaW4gZmVhdHVyZXMgcGFuZWwgKi9cbi5hZG1pbi10aWVyLWdyb3VwIHtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UtNCk7XG59XG5cbi5hZG1pbi10aWVyLWdyb3VwOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4uYWRtaW4tdGllci1ncm91cF9fbGFiZWwge1xuICBmb250LXNpemU6IHZhcigtLWFkbWluLXRleHQteHMpO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS0yKTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuNXB4O1xufVxuXG4uYWRtaW4tdGllci1ncm91cF9fbGFiZWwtLWNvbW11bml0eSB7IGNvbG9yOiAjOTRhM2I4OyB9XG4uYWRtaW4tdGllci1ncm91cF9fbGFiZWwtLXBybyB7IGNvbG9yOiAjNjBhNWZhOyB9XG4uYWRtaW4tdGllci1ncm91cF9fbGFiZWwtLXN0dWRpbyB7IGNvbG9yOiAjYTc4YmZhOyB9XG4uYWRtaW4tdGllci1ncm91cF9fbGFiZWwtLWVudGVycHJpc2UgeyBjb2xvcjogI2ZhY2MxNTsgfVxuXG4uYWRtaW4tdGllci1ncm91cF9fYmFkZ2VzIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBnYXA6IHZhcigtLXNwYWNlLTEpO1xufVxuXG4vKiBGZWF0dXJlIGJhZGdlICovXG4uYWRtaW4tZmVhdHVyZS1iYWRnZSB7XG4gIGZvbnQtc2l6ZTogdmFyKC0tYWRtaW4tdGV4dC14cyk7XG4gIHBhZGRpbmc6IHZhcigtLXNwYWNlLTEpIHZhcigtLXNwYWNlLTIpO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1hZG1pbi1yYWRpdXMtc20pO1xufVxuXG4uYWRtaW4tZmVhdHVyZS1iYWRnZS0tZW5hYmxlZCB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMzQsIDE5NywgOTQsIDAuMTUpO1xuICBjb2xvcjogIzRhZGU4MDtcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgzNCwgMTk3LCA5NCwgMC4zKTtcbn1cblxuLmFkbWluLWZlYXR1cmUtYmFkZ2UtLWRpc2FibGVkIHtcbiAgYmFja2dyb3VuZDogcmdiYSgxMDAsIDEwMCwgMTAwLCAwLjE1KTtcbiAgY29sb3I6ICM4ODg7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMTAwLCAxMDAsIDEwMCwgMC4yKTtcbn1cblxuLyogSG9zdCBzeXN0ZW0gc3RhdHMgZ3JpZCAqL1xuLmFkbWluLWhvc3Qtc3RhdHMge1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpdCwgbWlubWF4KDEyMHB4LCAxZnIpKTtcbiAgZ2FwOiB2YXIoLS1zcGFjZS00KTtcbn1cblxuLmFkbWluLWhvc3Qtc3RhdF9fbGFiZWwge1xuICBmb250LXNpemU6IHZhcigtLWFkbWluLXRleHQteHMpO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS0xKTtcbiAgY29sb3I6IHZhcigtLWFkbWluLXRleHQtZGltKTtcbn1cblxuLmFkbWluLWhvc3Qtc3RhdF9fdmFsdWUge1xuICBmb250LXdlaWdodDogNTAwO1xuICBjb2xvcjogdmFyKC0tYWRtaW4tdGV4dCk7XG59XG5cbi5hZG1pbi1ob3N0LXN0YXRfX3N1YiB7XG4gIGZvbnQtc2l6ZTogdmFyKC0tYWRtaW4tdGV4dC14cyk7XG4gIGNvbG9yOiB2YXIoLS1hZG1pbi10ZXh0LWRpbSk7XG59XG5cbi8qIENhcmQgcGFkZGluZyB1dGlsaXR5ICovXG4uYWRtaW4tY2FyZC0tcGFkZGVkIHtcbiAgcGFkZGluZzogdmFyKC0tc3BhY2UtNCk7XG59XG5cbi8qIFF1aWNrIGFjdGlvbnMgY2FyZCBsYXlvdXQgKi9cbi5hZG1pbi1xdWljay1hY3Rpb25zIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZ2FwOiB2YXIoLS1zcGFjZS0zKTtcbiAgZmxleC13cmFwOiB3cmFwO1xufVxuXG4vKiBOZXR3b3JrIGRpYWdub3N0aWNzIGNhcmQgc3BhY2luZyAqL1xuLmFkbWluLWNhcmQtLW5ldHdvcmsge1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS0zKTtcbn1cblxuLmFkbWluLWNhcmQtLW5ldHdvcmsgLmFkbWluLXN0YXQtbGFiZWwge1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS0xKTtcbn1cblxuLmFkbWluLW5ldHdvcmstc3RhdHVzIHtcbiAgZm9udC1zaXplOiB2YXIoLS1hZG1pbi10ZXh0LXNtKTtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UtMyk7XG4gIGNvbG9yOiB2YXIoLS1hZG1pbi10ZXh0LWRpbSk7XG59XG5cbi8qIENvbm5lY3Rpb24gaW5mbyBjYXJkICovXG4uYWRtaW4tY29ubmVjdGlvbi1pbmZvIHtcbiAgZm9udC1zaXplOiB2YXIoLS1hZG1pbi10ZXh0LXNtKTtcbn1cblxuLyogTXV0ZWQgc3VidGl0bGUvZGVzY3JpcHRpb24gaW4gc2VjdGlvbiAqL1xuLmFkbWluLXNlY3Rpb24tZGVzYyB7XG4gIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlLTMpO1xuICBmb250LXNpemU6IHZhcigtLWFkbWluLXRleHQtc20pO1xuICBjb2xvcjogdmFyKC0tYWRtaW4tdGV4dC1tdXRlZCk7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBQRVJTT04gUkVWSUVXIFBBR0VcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qIE1haW4gbGF5b3V0ICovXG4ucmV2aWV3LWxheW91dCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGdhcDogdmFyKC0tc3BhY2UtNCk7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA5MDBweCkge1xuICAucmV2aWV3LWxheW91dCB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgfVxufVxuXG4ucmV2aWV3LW1haW4ge1xuICBmbGV4OiAxO1xuICBtaW4td2lkdGg6IDA7XG59XG5cbi5yZXZpZXctc2lkZWJhciB7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogOTAwcHgpIHtcbiAgLnJldmlldy1zaWRlYmFyIHtcbiAgICB3aWR0aDogMjgwcHg7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gICAgcG9zaXRpb246IHN0aWNreTtcbiAgICB0b3A6IDU2cHg7IC8qIGJlbG93IHN0aWNreSBhZG1pbi1uYXYgKi9cbiAgICBtYXgtaGVpZ2h0OiBjYWxjKDEwMHZoIC0gNjRweCk7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0O1xuICB9XG59XG5cbi8qIEZhY2UgZ3JpZCAqL1xuLnJldmlldy1ncmlkIHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMywgMWZyKTtcbiAgZ2FwOiAzcHg7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA1MDBweCkge1xuICAucmV2aWV3LWdyaWQge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDQsIDFmcik7XG4gICAgZ2FwOiA0cHg7XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5yZXZpZXctZ3JpZCB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maWxsLCBtaW5tYXgoMTUwcHgsIDFmcikpO1xuICAgIGdhcDogdmFyKC0tc3BhY2UtMik7XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAucmV2aWV3LWdyaWQge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZmlsbCwgbWlubWF4KDI0MHB4LCAxZnIpKTtcbiAgICBnYXA6IHZhcigtLXNwYWNlLTMpO1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiAxOTIwcHgpIHtcbiAgLnJldmlldy1ncmlkIHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpbGwsIG1pbm1heCgyNTBweCwgMWZyKSk7XG4gIH1cbn1cblxuLyogRmFjZSBjYXJkICovXG4ucmV2aWV3LWNhcmQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJhY2tncm91bmQ6IHZhcigtLWFkbWluLXN1cmZhY2UpO1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1hZG1pbi1ib3JkZXIpO1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciB2YXIoLS1hZG1pbi10cmFuc2l0aW9uKTtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5yZXZpZXctY2FyZCB7XG4gICAgYm9yZGVyLXdpZHRoOiAycHg7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYWRtaW4tcmFkaXVzLXNtKTtcbiAgfVxufVxuXG4ucmV2aWV3LWNhcmQtLWdyZWVuIHsgYm9yZGVyLWNvbG9yOiB2YXIoLS1hZG1pbi1zdWNjZXNzKTsgfVxuLnJldmlldy1jYXJkLS1saW1lIHsgYm9yZGVyLWNvbG9yOiAjODRjYzE2OyB9XG4ucmV2aWV3LWNhcmQtLXllbGxvdyB7IGJvcmRlci1jb2xvcjogdmFyKC0tYWRtaW4td2FybmluZyk7IH1cbi5yZXZpZXctY2FyZC0tcmVkIHsgYm9yZGVyLWNvbG9yOiB2YXIoLS1hZG1pbi1lcnJvcik7IH1cblxuLnJldmlldy1jYXJkX19pbWFnZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTIwcHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYmFja2dyb3VuZDogdmFyKC0tYWRtaW4tYmcpO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNjAwcHgpIHtcbiAgLnJldmlldy1jYXJkX19pbWFnZSB7XG4gICAgaGVpZ2h0OiAxNTBweDtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogOTAwcHgpIHtcbiAgLnJldmlldy1jYXJkX19pbWFnZSB7XG4gICAgaGVpZ2h0OiAxODBweDtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC5yZXZpZXctY2FyZF9faW1hZ2Uge1xuICAgIGhlaWdodDogMjAwcHg7XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDE5MjBweCkge1xuICAucmV2aWV3LWNhcmRfX2ltYWdlIHtcbiAgICBoZWlnaHQ6IDI0MHB4O1xuICB9XG59XG5cbi5yZXZpZXctY2FyZF9faW1hZ2UgaW1nIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgb2JqZWN0LWZpdDogY29udGFpbjsgIC8qIFVzZSBjb250YWluIHRvIHByZXNlcnZlIGFzcGVjdCByYXRpbyAtIGZhY2UgYm94ZXMgYWxpZ24gY29ycmVjdGx5ICovXG4gIGJhY2tncm91bmQ6IHZhcigtLWFkbWluLWJnKTtcbn1cblxuLyogRmFjZSBib3ggb3ZlcmxheSAtIHBvc2l0aW9uZWQgcmVsYXRpdmUgdG8gaW1hZ2UsIG5lZWRzIEpTIGhvb2sgdG8gYWRqdXN0IGZvciBvYmplY3QtZml0ICovXG4ucmV2aWV3LWZhY2UtYm94IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3JkZXI6IDJweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAwLCAwLjkpO1xuICBib3gtc2hhZG93OiAwIDAgMCAxcHggcmdiYSgwLCAwLCAwLCAwLjUpO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgLyogV2lsbCBiZSByZXBvc2l0aW9uZWQgYnkgRmFjZUJveEFsaWduIGhvb2sgdG8gYWNjb3VudCBmb3Igb2JqZWN0LWZpdDpjb250YWluIG9mZnNldCAqL1xufVxuXG4vKiBGYWNlLWNlbnRlcmVkIHRodW1ibmFpbCBjcm9wIC0gc2hvd3MganVzdCB0aGUgZmFjZSBhcmVhICovXG4ucmV2aWV3LWNhcmRfX2ZhY2UtY3JvcCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTIwcHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYmFja2dyb3VuZDogdmFyKC0tYWRtaW4tYmcpO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNjAwcHgpIHtcbiAgLnJldmlldy1jYXJkX19mYWNlLWNyb3AgeyBoZWlnaHQ6IDE1MHB4OyB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA5MDBweCkge1xuICAucmV2aWV3LWNhcmRfX2ZhY2UtY3JvcCB7IGhlaWdodDogMTgwcHg7IH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAucmV2aWV3LWNhcmRfX2ZhY2UtY3JvcCB7IGhlaWdodDogMjAwcHg7IH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDE5MjBweCkge1xuICAucmV2aWV3LWNhcmRfX2ZhY2UtY3JvcCB7IGhlaWdodDogMjQwcHg7IH1cbn1cblxuLnJldmlldy1jYXJkX19mYWNlLWNyb3AgaW1nIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICAvKiBUcmFuc2Zvcm0gb3JpZ2luIGFuZCBwb3NpdGlvbiBzZXQgdmlhIGlubGluZSBzdHlsZXMgdG8gY2VudGVyIG9uIGZhY2UgKi9cbn1cblxuLyogRGlzdGFuY2UgaW5kaWNhdG9yIGJhciAqL1xuLnJldmlldy1jYXJkX19kaXN0LWJhciB7XG4gIGhlaWdodDogM3B4O1xufVxuXG4ucmV2aWV3LWNhcmRfX2Rpc3QtYmFyLS1ncmVlbiB7IGJhY2tncm91bmQ6IHZhcigtLWFkbWluLXN1Y2Nlc3MpOyB9XG4ucmV2aWV3LWNhcmRfX2Rpc3QtYmFyLS1saW1lIHsgYmFja2dyb3VuZDogIzg0Y2MxNjsgfVxuLnJldmlldy1jYXJkX19kaXN0LWJhci0teWVsbG93IHsgYmFja2dyb3VuZDogdmFyKC0tYWRtaW4td2FybmluZyk7IH1cbi5yZXZpZXctY2FyZF9fZGlzdC1iYXItLXJlZCB7IGJhY2tncm91bmQ6IHZhcigtLWFkbWluLWVycm9yKTsgfVxuXG4vKiBDYXJkIGluZm8gc2VjdGlvbiAqL1xuLnJldmlldy1jYXJkX19pbmZvIHtcbiAgcGFkZGluZzogdmFyKC0tc3BhY2UtMik7XG4gIGJhY2tncm91bmQ6IHZhcigtLWFkbWluLWJnLWFsdCk7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA2MDBweCkge1xuICAucmV2aWV3LWNhcmRfX2luZm8ge1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLTEpIHZhcigtLXNwYWNlLTIpO1xuICB9XG59XG5cbi5yZXZpZXctY2FyZF9fZGlzdGFuY2Uge1xuICBmb250LXNpemU6IDEwcHg7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1hZG1pbi1mb250LW1vbm8pO1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS0xKTtcbn1cblxuLnJldmlldy1jYXJkX19kaXN0YW5jZS0tZ3JlZW4geyBjb2xvcjogdmFyKC0tYWRtaW4tc3VjY2Vzcyk7IH1cbi5yZXZpZXctY2FyZF9fZGlzdGFuY2UtLWxpbWUgeyBjb2xvcjogIzg0Y2MxNjsgfVxuLnJldmlldy1jYXJkX19kaXN0YW5jZS0teWVsbG93IHsgY29sb3I6IHZhcigtLWFkbWluLXdhcm5pbmcpOyB9XG4ucmV2aWV3LWNhcmRfX2Rpc3RhbmNlLS1yZWQgeyBjb2xvcjogdmFyKC0tYWRtaW4tZXJyb3IpOyB9XG5cbi8qIENhcmQgYWN0aW9uIGJ1dHRvbnMgKi9cbi5yZXZpZXctY2FyZF9fYWN0aW9ucyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGdhcDogM3B4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG59XG5cbi5yZXZpZXctY2FyZF9fYnRuIHtcbiAgZmxleDogMTtcbiAgbWluLXdpZHRoOiAwO1xuICBwYWRkaW5nOiA0cHggNHB4O1xuICBmb250LXNpemU6IDlweDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tYWRtaW4tcmFkaXVzLXNtKTtcbiAgYm9yZGVyOiBub25lO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIHRyYW5zaXRpb246IGFsbCB2YXIoLS1hZG1pbi10cmFuc2l0aW9uKTtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDYwMHB4KSB7XG4gIC5yZXZpZXctY2FyZF9fYnRuIHtcbiAgICBwYWRkaW5nOiA0cHggNXB4O1xuICAgIGZvbnQtc2l6ZTogMTBweDtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC5yZXZpZXctY2FyZF9fYnRuIHtcbiAgICBwYWRkaW5nOiA1cHggNnB4O1xuICAgIGZvbnQtc2l6ZTogMTBweDtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTkyMHB4KSB7XG4gIC5yZXZpZXctY2FyZF9fYnRuIHtcbiAgICBwYWRkaW5nOiA2cHggMTBweDtcbiAgICBmb250LXNpemU6IDExcHg7XG4gIH1cbn1cblxuLnJldmlldy1jYXJkX19idG4tLW1vdmUge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1hZG1pbi1pbmZvKTtcbiAgY29sb3I6IHdoaXRlO1xufVxuXG4ucmV2aWV3LWNhcmRfX2J0bi0tbW92ZTpob3ZlciB7XG4gIGJhY2tncm91bmQ6ICMyNTYzZWI7XG59XG5cbi5yZXZpZXctY2FyZF9fYnRuLS13cm9uZyB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWFkbWluLWVycm9yKTtcbiAgY29sb3I6IHdoaXRlO1xufVxuXG4ucmV2aWV3LWNhcmRfX2J0bi0td3Jvbmc6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiAjZGMyNjI2O1xufVxuXG4ucmV2aWV3LWNhcmRfX2J0bi0tbm90LWZhY2Uge1xuICBiYWNrZ3JvdW5kOiAjZmY2NjAwO1xuICBjb2xvcjogd2hpdGU7XG59XG5cbi5yZXZpZXctY2FyZF9fYnRuLS1ub3QtZmFjZTpob3ZlciB7XG4gIGJhY2tncm91bmQ6ICNlNTVhMDA7XG59XG5cbi5yZXZpZXctY2FyZF9fYnRuLS1hc3NpZ24ge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1hZG1pbi1zdWNjZXNzKTtcbiAgY29sb3I6IHdoaXRlO1xufVxuXG4ucmV2aWV3LWNhcmRfX2J0bi0tYXNzaWduOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogIzE2YTM0YTtcbn1cblxuLnJldmlldy1jYXJkX19idG4tLWNhbmNlbCB7XG4gIGJhY2tncm91bmQ6ICM2YjcyODA7XG4gIGNvbG9yOiB3aGl0ZTtcbn1cblxuLnJldmlldy1jYXJkX19idG4tLWNhbmNlbDpob3ZlciB7XG4gIGJhY2tncm91bmQ6ICM0YjU1NjM7XG59XG5cbi8qIENhdGVnb3J5IGhlYWRlciBmb3IgY29udGV4dCB2aWV3ICovXG4ucmV2aWV3LWNhdGVnb3J5IHtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UtNCk7XG59XG5cbi5yZXZpZXctY2F0ZWdvcnlfX2hlYWRlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogdmFyKC0tc3BhY2UtMyk7XG4gIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlLTMpO1xuICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tc3BhY2UtMik7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1hZG1pbi1ib3JkZXIpO1xufVxuXG4ucmV2aWV3LWNhdGVnb3J5X19sYWJlbCB7XG4gIGZvbnQtc2l6ZTogdmFyKC0tYWRtaW4tdGV4dC14cyk7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGxldHRlci1zcGFjaW5nOiAwLjVweDtcbiAgcGFkZGluZzogdmFyKC0tc3BhY2UtMSkgdmFyKC0tc3BhY2UtMik7XG4gIGJhY2tncm91bmQ6IHZhcigtLWFkbWluLXN1cmZhY2UpO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1hZG1pbi1yYWRpdXMtc20pO1xufVxuXG4ucmV2aWV3LWNhdGVnb3J5X19jb3VudCB7XG4gIGZvbnQtc2l6ZTogdmFyKC0tYWRtaW4tdGV4dC14cyk7XG4gIGNvbG9yOiB2YXIoLS1hZG1pbi10ZXh0LWRpbSk7XG59XG5cbi8qIEluc3RydWN0aW9ucyBiYW5uZXIgKi9cbi5yZXZpZXctaW5zdHJ1Y3Rpb25zIHtcbiAgcGFkZGluZzogdmFyKC0tc3BhY2UtMyk7XG4gIGJhY2tncm91bmQ6IHZhcigtLWFkbWluLXN1cmZhY2UpO1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1hZG1pbi1ib3JkZXIpO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1hZG1pbi1yYWRpdXMpO1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS00KTtcbiAgZm9udC1zaXplOiB2YXIoLS1hZG1pbi10ZXh0LXNtKTtcbn1cblxuLnJldmlldy1pbnN0cnVjdGlvbnNfX2xlZ2VuZCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgZ2FwOiB2YXIoLS1zcGFjZS0zKTtcbiAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2UtMik7XG59XG5cbi5yZXZpZXctaW5zdHJ1Y3Rpb25zX19pdGVtIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiB2YXIoLS1zcGFjZS0xKTtcbiAgZm9udC1zaXplOiB2YXIoLS1hZG1pbi10ZXh0LXhzKTtcbn1cblxuLnJldmlldy1pbnN0cnVjdGlvbnNfX2RvdCB7XG4gIHdpZHRoOiAxMnB4O1xuICBoZWlnaHQ6IDEycHg7XG4gIGJvcmRlci1yYWRpdXM6IDJweDtcbn1cblxuLnJldmlldy1pbnN0cnVjdGlvbnNfX2RvdC0tZ3JlZW4geyBiYWNrZ3JvdW5kOiB2YXIoLS1hZG1pbi1zdWNjZXNzKTsgfVxuLnJldmlldy1pbnN0cnVjdGlvbnNfX2RvdC0tbGltZSB7IGJhY2tncm91bmQ6ICM4NGNjMTY7IH1cbi5yZXZpZXctaW5zdHJ1Y3Rpb25zX19kb3QtLXllbGxvdyB7IGJhY2tncm91bmQ6IHZhcigtLWFkbWluLXdhcm5pbmcpOyB9XG4ucmV2aWV3LWluc3RydWN0aW9uc19fZG90LS1yZWQgeyBiYWNrZ3JvdW5kOiB2YXIoLS1hZG1pbi1lcnJvcik7IH1cblxuLyogU2lkZWJhciBjb250cm9sIHBhbmVsICovXG4ucmV2aWV3LXBhbmVsIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tYWRtaW4tc3VyZmFjZSk7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWFkbWluLWJvcmRlcik7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLWFkbWluLXJhZGl1cyk7XG4gIHBhZGRpbmc6IHZhcigtLXNwYWNlLTQpO1xuICBmb250LXNpemU6IDE0cHg7XG59XG5cbi5yZXZpZXctcGFuZWxfX3RpdGxlIHtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBmb250LXdlaWdodDogNjAwO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBsZXR0ZXItc3BhY2luZzogMC41cHg7XG4gIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlLTQpO1xuICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tc3BhY2UtMik7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1hZG1pbi1ib3JkZXIpO1xufVxuXG4ucmV2aWV3LXBhbmVsX19zZWN0aW9uIHtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UtNCk7XG59XG5cbi5yZXZpZXctcGFuZWxfX3NlY3Rpb246bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi5yZXZpZXctcGFuZWxfX2xhYmVsIHtcbiAgZm9udC1zaXplOiAxM3B4O1xuICBmb250LXdlaWdodDogNTAwO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBjb2xvcjogdmFyKC0tYWRtaW4tdGV4dC1kaW0pO1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS0yKTtcbn1cblxuLyogUElOIHByb3RlY3Rpb24gc2VjdGlvbiAqL1xuLnJldmlldy1waW4tc2VjdGlvbiB7XG4gIHBhZGRpbmc6IHZhcigtLXNwYWNlLTMpO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1hZG1pbi1yYWRpdXMtc20pO1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1hZG1pbi1ib3JkZXIpO1xufVxuXG4ucmV2aWV3LXBpbi1zZWN0aW9uLS1hY3RpdmUge1xuICBib3JkZXItY29sb3I6ICM4YjVjZjY7XG4gIGJhY2tncm91bmQ6IHJnYmEoMTM5LCA5MiwgMjQ2LCAwLjEpO1xufVxuXG4ucmV2aWV3LXBpbi1zZWN0aW9uX19iYWRnZSB7XG4gIGZvbnQtc2l6ZTogOXB4O1xuICBwYWRkaW5nOiAycHggNnB4O1xuICBiYWNrZ3JvdW5kOiAjOGI1Y2Y2O1xuICBjb2xvcjogd2hpdGU7XG4gIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgbWFyZ2luLWxlZnQ6IHZhcigtLXNwYWNlLTIpO1xufVxuXG4vKiBTdGF0cyBib3ggKi9cbi5yZXZpZXctc3RhdHMge1xuICBwYWRkaW5nOiB2YXIoLS1zcGFjZS0zKTtcbiAgYmFja2dyb3VuZDogdmFyKC0tYWRtaW4tYmcpO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1hZG1pbi1yYWRpdXMtc20pO1xuICBmb250LXNpemU6IHZhcigtLWFkbWluLXRleHQteHMpO1xuICBmb250LWZhbWlseTogdmFyKC0tYWRtaW4tZm9udC1tb25vKTtcbiAgbGluZS1oZWlnaHQ6IDEuNjtcbn1cblxuLyogUGVyc29uIGJsYWNrbGlzdCBsaXN0IChpbiBzaWRlYmFyKSAqL1xuLnJldmlldy1ibGFja2xpc3QtbGlzdCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGdhcDogOHB4O1xuICBtYXJnaW4tdG9wOiA4cHg7XG4gIG1heC1oZWlnaHQ6IDMwMHB4O1xuICBvdmVyZmxvdy15OiBhdXRvO1xufVxuXG4vKiBOdWRpdHkgcmV2aWV3IGdyaWQgaW4gcGVyc29uIHNpZGViYXIgKi9cbi5uc2Z3LXBlcnNvbi1ncmlkIHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMywgMWZyKTtcbiAgZ2FwOiA0cHg7XG4gIG1heC1oZWlnaHQ6IDQwMHB4O1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICBtYXJnaW4tYm90dG9tOiA4cHg7XG59XG5cbi5uc2Z3LXBlcnNvbi1ncmlkX19pdGVtIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4ubnNmdy1wZXJzb24tZ3JpZF9faXRlbSBpbWcge1xuICB3aWR0aDogMTAwJTtcbiAgYXNwZWN0LXJhdGlvOiAxO1xuICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLm5zZnctcGVyc29uLWdyaWRfX2FjdGlvbnMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBnYXA6IDFweDtcbiAgbWFyZ2luLXRvcDogMnB4O1xufVxuXG4ubnNmdy1xdWljay1idG4ge1xuICBmbGV4OiAxO1xuICBib3JkZXI6IDFweCBzb2xpZCAjNDQ0O1xuICBiYWNrZ3JvdW5kOiAjMWExYTJlO1xuICBjb2xvcjogI2FhYTtcbiAgZm9udC1zaXplOiA5cHg7XG4gIHBhZGRpbmc6IDJweCAwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgbGluZS1oZWlnaHQ6IDE7XG59XG5cbi5uc2Z3LXF1aWNrLWJ0bjpob3ZlciB7XG4gIGJhY2tncm91bmQ6ICMyYTJhNGU7XG59XG5cbi5uc2Z3LXF1aWNrLWJ0bi5hY3RpdmUge1xuICBiYWNrZ3JvdW5kOiAjMzMzMzY2O1xuICBib3JkZXItY29sb3I6ICM2NjY2Y2M7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4ucmV2aWV3LWJsYWNrbGlzdC1jYXJkIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZ2FwOiA4cHg7XG4gIGJhY2tncm91bmQ6IHZhcigtLWFkbWluLWJnKTtcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyMzksIDY4LCA2OCwgMC4zKTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tYWRtaW4tcmFkaXVzLXNtKTtcbiAgcGFkZGluZzogNnB4O1xufVxuXG4ucmV2aWV3LWJsYWNrbGlzdC1jYXJkX19pbWFnZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDYwcHg7XG4gIGhlaWdodDogNjBweDtcbiAgZmxleC1zaHJpbms6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLWFkbWluLXJhZGl1cy1zbSk7XG4gIGJhY2tncm91bmQ6IHZhcigtLWFkbWluLWJnLWFsdCk7XG59XG5cbi5yZXZpZXctYmxhY2tsaXN0LWNhcmRfX2ltYWdlIGltZyB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG9iamVjdC1maXQ6IGNvdmVyO1xuICBvcGFjaXR5OiAwLjg7XG59XG5cbi5yZXZpZXctYmxhY2tsaXN0LWNhcmRfX2ltYWdlOmhvdmVyIGltZyB7XG4gIG9wYWNpdHk6IDE7XG59XG5cbi5yZXZpZXctYmxhY2tsaXN0LWNhcmRfX2JveCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm9yZGVyOiAycHggc29saWQgI2VmNDQ0NDtcbiAgYmFja2dyb3VuZDogcmdiYSgyMzksIDY4LCA2OCwgMC4xNSk7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG4ucmV2aWV3LWJsYWNrbGlzdC1jYXJkX19wbGFjZWhvbGRlciB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBjb2xvcjogdmFyKC0tYWRtaW4tdGV4dC1tdXRlZCk7XG4gIGZvbnQtc2l6ZTogOXB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5yZXZpZXctYmxhY2tsaXN0LWNhcmRfX2FjdGlvbnMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBnYXA6IDRweDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi5yZXZpZXctYmxhY2tsaXN0LWNhcmRfX2J0biB7XG4gIHBhZGRpbmc6IDRweCA4cHg7XG4gIGJvcmRlcjogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tYWRtaW4tcmFkaXVzLXNtKTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBmb250LXNpemU6IDEwcHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMTVzO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4ucmV2aWV3LWJsYWNrbGlzdC1jYXJkX19idG46aG92ZXIge1xuICBvcGFjaXR5OiAwLjg7XG59XG5cbi5yZXZpZXctYmxhY2tsaXN0LWNhcmRfX2J0bi0tcmVzdG9yZSB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWFkbWluLXN1Y2Nlc3MpO1xuICBjb2xvcjogd2hpdGU7XG59XG5cbi5yZXZpZXctYmxhY2tsaXN0LWNhcmRfX2J0bi0tZGVsZXRlIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tYWRtaW4tZXJyb3IpO1xuICBjb2xvcjogd2hpdGU7XG59XG5cbi8qIFJldmlldyB0b29sYmFyIFx1MjAxNCBmdWxsLXdpZHRoIHN0cmlwIGJldHdlZW4gdGFicyBhbmQgZ3JpZCAqL1xuLnJldmlldy10b29sYmFyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDhweCAxNnB4O1xuICBwYWRkaW5nOiA4cHggMTJweDtcbiAgbWFyZ2luLWJvdHRvbTogMTJweDtcbiAgYmFja2dyb3VuZDogdmFyKC0tYWRtaW4tc3VyZmFjZSk7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWFkbWluLWJvcmRlcik7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLWFkbWluLXJhZGl1cy1zbSk7XG59XG5cbi5yZXZpZXctdG9vbGJhcl9fZ3JvdXAge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogNHB4O1xufVxuXG4ucmV2aWV3LXRvb2xiYXJfX2xhYmVsIHtcbiAgZm9udC1zaXplOiAxM3B4O1xuICBmb250LXdlaWdodDogNTAwO1xuICBjb2xvcjogdmFyKC0tYWRtaW4tdGV4dC1kaW0pO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBsZXR0ZXItc3BhY2luZzogMC4zcHg7XG4gIG1hcmdpbi1yaWdodDogMnB4O1xufVxuXG4ucmV2aWV3LXRvb2xiYXJfX2JhZGdlIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogM3B4O1xuICBwYWRkaW5nOiA0cHggMTBweDtcbiAgZm9udC1zaXplOiAxM3B4O1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1hZG1pbi1ib3JkZXIpO1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIGJhY2tncm91bmQ6IHZhcigtLWFkbWluLWJnKTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4xNXM7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBsaW5lLWhlaWdodDogMS4yO1xufVxuXG4ucmV2aWV3LXRvb2xiYXJfX2JhZGdlOmhvdmVyIHtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1hZG1pbi1hY2NlbnQpO1xufVxuXG4ucmV2aWV3LXRvb2xiYXJfX2JhZGdlLS1hY3RpdmUge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1hZG1pbi1hY2NlbnQpO1xuICBjb2xvcjogd2hpdGU7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tYWRtaW4tYWNjZW50KTtcbn1cblxuLnJldmlldy10b29sYmFyX19jb3VudCB7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG59XG5cbi5yZXZpZXctdG9vbGJhcl9faW5wdXQge1xuICBwYWRkaW5nOiAzcHggOHB4O1xuICBmb250LXNpemU6IDEycHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWFkbWluLWJvcmRlcik7XG4gIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgYmFja2dyb3VuZDogdmFyKC0tYWRtaW4tYmcpO1xuICBjb2xvcjogdmFyKC0tYWRtaW4tdGV4dCk7XG4gIHdpZHRoOiAxMjBweDtcbn1cblxuLyogU29ydCAmIEZpbHRlciB0b29sYmFyIGZvciBwZXJzb24gcmV2aWV3ICovXG4ucmV2aWV3LWZpbHRlci1iYXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogNnB4IDEycHg7XG4gIHBhZGRpbmc6IDhweCAxMnB4O1xuICBtYXJnaW4tYm90dG9tOiAxMnB4O1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1hZG1pbi1jYXJkLWJnKTtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYWRtaW4tYm9yZGVyKTtcbiAgYm9yZGVyLXJhZGl1czogNnB4O1xufVxuXG4ucmV2aWV3LWZpbHRlci1iYXJfX2dyb3VwIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiA0cHg7XG59XG5cbi5yZXZpZXctZmlsdGVyLWJhcl9fbGFiZWwge1xuICBmb250LXNpemU6IDEycHg7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGNvbG9yOiB2YXIoLS1hZG1pbi10ZXh0LWRpbSk7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGxldHRlci1zcGFjaW5nOiAwLjNweDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLnJldmlldy1maWx0ZXItYmFyX19zZWxlY3Qge1xuICBwYWRkaW5nOiAzcHggNnB4O1xuICBmb250LXNpemU6IDEycHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWFkbWluLWJvcmRlcik7XG4gIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgYmFja2dyb3VuZDogdmFyKC0tYWRtaW4tYmcpO1xuICBjb2xvcjogdmFyKC0tYWRtaW4tdGV4dCk7XG4gIG1heC13aWR0aDogMTgwcHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLnJldmlldy1maWx0ZXItYmFyX19zZWxlY3Q6Zm9jdXMge1xuICBib3JkZXItY29sb3I6IHZhcigtLWFkbWluLWFjY2VudCk7XG4gIG91dGxpbmU6IG5vbmU7XG59XG5cbi5yZXZpZXctZmlsdGVyLWJhcl9fY2xlYXIge1xuICBwYWRkaW5nOiAzcHggMTBweDtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1hZG1pbi13YXJuaW5nKTtcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6IHZhcigtLWFkbWluLXdhcm5pbmcpO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5yZXZpZXctZmlsdGVyLWJhcl9fY2xlYXI6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1hZG1pbi13YXJuaW5nKTtcbiAgY29sb3I6IHdoaXRlO1xufVxuXG4ucmV2aWV3LWZpbHRlci1iYXJfX2NvdW50IHtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBjb2xvcjogdmFyKC0tYWRtaW4tdGV4dC1kaW0pO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG5cbi5yZXZpZXctZmlsdGVyLWJhcl9fdG9nZ2xlIHtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIHBhZGRpbmc6IDNweCAxMHB4O1xuICBmb250LXNpemU6IDEycHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWFkbWluLWJvcmRlcik7XG4gIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiB2YXIoLS1hZG1pbi10ZXh0LWRpbSk7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLnJldmlldy1maWx0ZXItYmFyX190b2dnbGUtLWFjdGl2ZSB7XG4gIGNvbG9yOiB2YXIoLS1hZG1pbi1hY2NlbnQpO1xuICBib3JkZXItY29sb3I6IHZhcigtLWFkbWluLWFjY2VudCk7XG59XG5cbi5yZXZpZXctZmlsdGVyLWJhcl9fdG9nZ2xlOmhvdmVyIHtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1hZG1pbi1hY2NlbnQpO1xufVxuXG4vKiBOU0ZXIHJldmlldyBzdHJpcCBcdTIwMTQgZnVsbCB3aWR0aCBiZWxvdyB0b29sYmFyICovXG4ucmV2aWV3LW5zZnctc3RyaXAge1xuICBtYXJnaW4tYm90dG9tOiAxMnB4O1xuICBwYWRkaW5nOiA4cHggMTJweDtcbiAgYmFja2dyb3VuZDogdmFyKC0tYWRtaW4tc3VyZmFjZSk7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWFkbWluLWJvcmRlcik7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLWFkbWluLXJhZGl1cy1zbSk7XG59XG5cbi5yZXZpZXctbnNmdy1zdHJpcF9faGVhZGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBtYXJnaW4tYm90dG9tOiA4cHg7XG59XG5cbi8qIFdpZGUgTlNGVyBncmlkIGZvciBtYWluIGNvbnRlbnQgYXJlYSBcdTIwMTQgb3ZlcnJpZGRlbiBiZWxvdyB3aXRoIF9tZCBzaXplcyAqL1xuXG4vKiBEYW5nZXIgem9uZSAqL1xuLnJldmlldy1kYW5nZXItem9uZSB7XG4gIHBhZGRpbmc6IHZhcigtLXNwYWNlLTMpO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZmY2NjAwO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1hZG1pbi1yYWRpdXMtc20pO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMTAyLCAwLCAwLjEpO1xufVxuXG4ucmV2aWV3LWRhbmdlci16b25lX190aXRsZSB7XG4gIGZvbnQtc2l6ZTogdmFyKC0tYWRtaW4tdGV4dC14cyk7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGNvbG9yOiAjZmY2NjAwO1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS0yKTtcbn1cblxuLnJldmlldy1kYW5nZXItem9uZV9fZGVzYyB7XG4gIGZvbnQtc2l6ZTogdmFyKC0tYWRtaW4tdGV4dC14cyk7XG4gIGNvbG9yOiB2YXIoLS1hZG1pbi10ZXh0LWRpbSk7XG4gIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlLTMpO1xuICBsaW5lLWhlaWdodDogMS40O1xufVxuXG4vKiBEYW5nZXIgem9uZSBjb2xsYXBzZWQgZGV0YWlscyAqL1xuLnJldmlldy1kYW5nZXItZGV0YWlsc19fc3VtbWFyeSB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBmb250LXdlaWdodDogNTAwO1xuICBjb2xvcjogI2ZmNjYwMDtcbiAgcGFkZGluZzogNnB4IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG5cbi5yZXZpZXctZGFuZ2VyLWRldGFpbHNfX3N1bW1hcnk6Oi13ZWJraXQtZGV0YWlscy1tYXJrZXIgeyBkaXNwbGF5OiBub25lOyB9XG4ucmV2aWV3LWRhbmdlci1kZXRhaWxzX19zdW1tYXJ5OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlx1MjVCOCBcIjtcbn1cbi5yZXZpZXctZGFuZ2VyLWRldGFpbHNbb3Blbl0gPiAucmV2aWV3LWRhbmdlci1kZXRhaWxzX19zdW1tYXJ5OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlx1MjVCRSBcIjtcbn1cblxuLyogQm90dG9tIHRvb2xiYXIgXHUyMDE0IGR1cGxpY2F0ZWQgY29udHJvbHMgYWZ0ZXIgZmFjZSBncmlkICovXG4ucmV2aWV3LWJvdHRvbS10b29sYmFyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGdhcDogdmFyKC0tc3BhY2UtMyk7XG4gIHBhZGRpbmc6IHZhcigtLXNwYWNlLTQpIHZhcigtLXNwYWNlLTIpO1xuICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjZS00KTtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWFkbWluLWJvcmRlcik7XG4gIGZsZXgtd3JhcDogd3JhcDtcbn1cblxuLyogPT09PT0gVU5JRklFRCBIRUFERVIgKHBlcnNvbiByZXZpZXcgcmVkZXNpZ24pID09PT09ICovXG4ucmV2aWV3LXVuaWZpZWQtaGVhZGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDhweCAxMnB4O1xuICBwYWRkaW5nOiA4cHggMTJweDtcbiAgbWFyZ2luLWJvdHRvbTogOHB4O1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1hZG1pbi1zdXJmYWNlKTtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYWRtaW4tYm9yZGVyKTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tYWRtaW4tcmFkaXVzLXNtKTtcbn1cblxuLnJldmlldy11bmlmaWVkLWhlYWRlcl9fbGVmdCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogOHB4O1xuICBtaW4td2lkdGg6IDA7XG59XG5cbi5yZXZpZXctdW5pZmllZC1oZWFkZXJfX2JhY2sge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHdpZHRoOiAzMnB4O1xuICBoZWlnaHQ6IDMycHg7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLWFkbWluLXJhZGl1cy1zbSk7XG4gIGJhY2tncm91bmQ6IHZhcigtLWFkbWluLWJnKTtcbiAgY29sb3I6IHZhcigtLWFkbWluLXRleHQpO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgZmxleC1zaHJpbms6IDA7XG59XG5cbi5yZXZpZXctdW5pZmllZC1oZWFkZXJfX2JhY2s6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1hZG1pbi1ib3JkZXIpO1xufVxuXG4ucmV2aWV3LXVuaWZpZWQtaGVhZGVyX19pbmZvIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgbWluLXdpZHRoOiAwO1xufVxuXG4ucmV2aWV3LXVuaWZpZWQtaGVhZGVyX19uYW1lIHtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgZm9udC1zaXplOiAxNXB4O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbn1cblxuLnJldmlldy11bmlmaWVkLWhlYWRlcl9fc3RhdHMge1xuICBmb250LXNpemU6IDExcHg7XG4gIGNvbG9yOiB2YXIoLS1hZG1pbi10ZXh0LWRpbSk7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1hZG1pbi1mb250LW1vbm8pO1xufVxuXG4vKiBJbmxpbmUgbGVnZW5kIGRvdHMgKi9cbi5yZXZpZXctbGVnZW5kLWRvdHMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDRweDtcbiAgZmxleC1zaHJpbms6IDA7XG59XG5cbi5yZXZpZXctbGVnZW5kLWRvdHNfX2RvdCB7XG4gIHdpZHRoOiA4cHg7XG4gIGhlaWdodDogOHB4O1xuICBib3JkZXItcmFkaXVzOiAycHg7XG59XG5cbi5yZXZpZXctbGVnZW5kLWRvdHNfX2RvdC0tZ3JlZW4geyBiYWNrZ3JvdW5kOiB2YXIoLS1hZG1pbi1zdWNjZXNzKTsgfVxuLnJldmlldy1sZWdlbmQtZG90c19fZG90LS1saW1lIHsgYmFja2dyb3VuZDogIzg0Y2MxNjsgfVxuLnJldmlldy1sZWdlbmQtZG90c19fZG90LS15ZWxsb3cgeyBiYWNrZ3JvdW5kOiB2YXIoLS1hZG1pbi13YXJuaW5nKTsgfVxuLnJldmlldy1sZWdlbmQtZG90c19fZG90LS1yZWQgeyBiYWNrZ3JvdW5kOiB2YXIoLS1hZG1pbi1lcnJvcik7IH1cblxuLyogVGFicyBpbiB1bmlmaWVkIGhlYWRlciAqL1xuLnJldmlldy11bmlmaWVkLWhlYWRlcl9fdGFicyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGdhcDogMnB4O1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1hZG1pbi1iZyk7XG4gIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgcGFkZGluZzogMnB4O1xufVxuXG4ucmV2aWV3LXVuaWZpZWQtaGVhZGVyX190YWIge1xuICBwYWRkaW5nOiA0cHggMTBweDtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBmb250LXdlaWdodDogNTAwO1xuICBib3JkZXI6IG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiB2YXIoLS1hZG1pbi10ZXh0LWRpbSk7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMTVzO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4ucmV2aWV3LXVuaWZpZWQtaGVhZGVyX190YWI6aG92ZXIge1xuICBjb2xvcjogdmFyKC0tYWRtaW4tdGV4dCk7XG4gIGJhY2tncm91bmQ6IHZhcigtLWFkbWluLXN1cmZhY2UpO1xufVxuXG4ucmV2aWV3LXVuaWZpZWQtaGVhZGVyX190YWItLWFjdGl2ZSB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWFkbWluLWFjY2VudCk7XG4gIGNvbG9yOiB3aGl0ZTtcbn1cblxuLnJldmlldy11bmlmaWVkLWhlYWRlcl9fdGFiLWNvdW50IHtcbiAgZm9udC1zaXplOiAxMHB4O1xuICBvcGFjaXR5OiAwLjg7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1hZG1pbi1mb250LW1vbm8pO1xufVxuXG4vKiBDb250cm9scyBpbiB1bmlmaWVkIGhlYWRlciAqL1xuLnJldmlldy11bmlmaWVkLWhlYWRlcl9fY29udHJvbHMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogNHB4O1xuICBtYXJnaW4tbGVmdDogYXV0bztcbn1cblxuLnJldmlldy11bmlmaWVkLWhlYWRlcl9fc29ydCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi5yZXZpZXctdW5pZmllZC1oZWFkZXJfX2J0biB7XG4gIHBhZGRpbmc6IDRweCAxMHB4O1xuICBmb250LXNpemU6IDEycHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWFkbWluLWJvcmRlcik7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiB2YXIoLS1hZG1pbi10ZXh0LWRpbSk7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMTVzO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbn1cblxuLnJldmlldy11bmlmaWVkLWhlYWRlcl9fYnRuOmhvdmVyIHtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1hZG1pbi1hY2NlbnQpO1xuICBjb2xvcjogdmFyKC0tYWRtaW4tdGV4dCk7XG59XG5cbi5yZXZpZXctdW5pZmllZC1oZWFkZXJfX2J0bi0tYWN0aXZlIHtcbiAgY29sb3I6IHZhcigtLWFkbWluLWFjY2VudCk7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tYWRtaW4tYWNjZW50KTtcbn1cblxuLnJldmlldy11bmlmaWVkLWhlYWRlcl9fYnRuLS12ZXJpZnkge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1hZG1pbi1zdWNjZXNzKTtcbiAgY29sb3I6IHdoaXRlO1xuICBib3JkZXItY29sb3I6IHZhcigtLWFkbWluLXN1Y2Nlc3MpO1xufVxuXG4ucmV2aWV3LXVuaWZpZWQtaGVhZGVyX19idG4tLXZlcmlmeTpob3ZlciB7XG4gIGJhY2tncm91bmQ6ICMxNmEzNGE7XG59XG5cbi5yZXZpZXctdW5pZmllZC1oZWFkZXJfX2J0bjpkaXNhYmxlZCB7XG4gIG9wYWNpdHk6IDAuMztcbiAgY3Vyc29yOiBkZWZhdWx0O1xufVxuXG4vKiAzLXdheSB2aWV3IG1vZGUgdG9nZ2xlICovXG4ucmV2aWV3LXVuaWZpZWQtaGVhZGVyX192aWV3LXRvZ2dsZSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGdhcDogMXB4O1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1hZG1pbi1iZyk7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgcGFkZGluZzogMXB4O1xufVxuXG4ucmV2aWV3LXVuaWZpZWQtaGVhZGVyX192aWV3LWJ0biB7XG4gIHBhZGRpbmc6IDNweCA4cHg7XG4gIGZvbnQtc2l6ZTogMTFweDtcbiAgYm9yZGVyOiBub25lO1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogdmFyKC0tYWRtaW4tdGV4dC1kaW0pO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRyYW5zaXRpb246IGFsbCAwLjE1cztcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG59XG5cbi5yZXZpZXctdW5pZmllZC1oZWFkZXJfX3ZpZXctYnRuOmhvdmVyIHtcbiAgY29sb3I6IHZhcigtLWFkbWluLXRleHQpO1xufVxuXG4ucmV2aWV3LXVuaWZpZWQtaGVhZGVyX192aWV3LWJ0bi0tYWN0aXZlIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tYWRtaW4tYWNjZW50KTtcbiAgY29sb3I6IHdoaXRlO1xufVxuXG4vKiA9PT09PSBDT0xMQVBTSUJMRSBGSUxURVIgRFJBV0VSID09PT09ICovXG4ucmV2aWV3LWZpbHRlci1kcmF3ZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGdhcDogOHB4IDE2cHg7XG4gIHBhZGRpbmc6IDEwcHggMTJweDtcbiAgbWFyZ2luLWJvdHRvbTogOHB4O1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1hZG1pbi1zdXJmYWNlKTtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYWRtaW4tYm9yZGVyKTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tYWRtaW4tcmFkaXVzLXNtKTtcbiAgYW5pbWF0aW9uOiByZXZpZXctZHJhd2VyLW9wZW4gMC4xNXMgZWFzZS1vdXQ7XG59XG5cbkBrZXlmcmFtZXMgcmV2aWV3LWRyYXdlci1vcGVuIHtcbiAgZnJvbSB7IG9wYWNpdHk6IDA7IG1heC1oZWlnaHQ6IDA7IHBhZGRpbmctdG9wOiAwOyBwYWRkaW5nLWJvdHRvbTogMDsgfVxuICB0byB7IG9wYWNpdHk6IDE7IG1heC1oZWlnaHQ6IDIwMHB4OyB9XG59XG5cbi5yZXZpZXctZmlsdGVyLWRyYXdlcl9fZmlsdGVycyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiA2cHggMTJweDtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5yZXZpZXctZmlsdGVyLWRyYXdlcl9fZ3JvdXAge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDRweDtcbn1cblxuLnJldmlldy1maWx0ZXItZHJhd2VyX19sYWJlbCB7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgY29sb3I6IHZhcigtLWFkbWluLXRleHQtZGltKTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuM3B4O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4ucmV2aWV3LWZpbHRlci1kcmF3ZXJfX25zZncge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogNHB4O1xuICB3aWR0aDogMTAwJTtcbn1cblxuLnJldmlldy1maWx0ZXItZHJhd2VyX19wb3J0Zm9saW8ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogNHB4O1xuICB3aWR0aDogMTAwJTtcbn1cblxuLyogPT09PT0gTlNGVyBCQURHRSBQSUxMUyA9PT09PSAqL1xuLnJldmlldy1uc2Z3LWJhZGdlIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogNHB4O1xuICBwYWRkaW5nOiA1cHggMTJweDtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBib3JkZXI6IDJweCBzb2xpZDtcbiAgYm9yZGVyLXJhZGl1czogMTJweDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4xNXM7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBsaW5lLWhlaWdodDogMS4yO1xufVxuXG4ucmV2aWV3LW5zZnctYmFkZ2U6aG92ZXIge1xuICBvcGFjaXR5OiAwLjg1O1xufVxuXG4ucmV2aWV3LW5zZnctYmFkZ2UtLWFjdGl2ZSB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDJweCByZ2JhKDI1NSwyNTUsMjU1LDAuMTUpO1xufVxuXG4ucmV2aWV3LW5zZnctYmFkZ2VfX2NvdW50IHtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgZm9udC1zaXplOiAxNXB4O1xufVxuXG4vKiA9PT09PSBEQVRFLVNUQUNLRUQgVklFVyA9PT09PSAqL1xuLnJldmlldy1kYXRlLWdyb3VwIHtcbiAgbWFyZ2luLWJvdHRvbTogNHB4O1xufVxuXG4ucmV2aWV3LWRhdGUtZ3JvdXBfX2hlYWRlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogMTJweDtcbiAgcGFkZGluZzogOHB4IDEycHg7XG4gIGJhY2tncm91bmQ6IHZhcigtLWFkbWluLXN1cmZhY2UpO1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1hZG1pbi1ib3JkZXIpO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1hZG1pbi1yYWRpdXMtc20pO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHBvc2l0aW9uOiBzdGlja3k7XG4gIHRvcDogNDhweDtcbiAgei1pbmRleDogMTA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIHVzZXItc2VsZWN0OiBub25lO1xufVxuXG4ucmV2aWV3LWRhdGUtZ3JvdXBfX2hlYWRlcjo6LXdlYmtpdC1kZXRhaWxzLW1hcmtlciB7IGRpc3BsYXk6IG5vbmU7IH1cblxuLnJldmlldy1kYXRlLWdyb3VwX19oZWFkZXI6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXHUyNUJFIFwiO1xuICBmb250LXNpemU6IDEycHg7XG4gIGNvbG9yOiB2YXIoLS1hZG1pbi10ZXh0LWRpbSk7XG59XG5cbi5yZXZpZXctZGF0ZS1ncm91cDpub3QoW29wZW5dKSA+IC5yZXZpZXctZGF0ZS1ncm91cF9faGVhZGVyOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlx1MjVCOCBcIjtcbn1cblxuLnJldmlldy1kYXRlLWdyb3VwX19sYWJlbCB7XG4gIGZvbnQtc2l6ZTogMTNweDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbn1cblxuLnJldmlldy1kYXRlLWdyb3VwX19jb3VudCB7XG4gIGZvbnQtc2l6ZTogMTFweDtcbiAgY29sb3I6IHZhcigtLWFkbWluLXRleHQtZGltKTtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1hZG1pbi1mb250LW1vbm8pO1xufVxuXG4ucmV2aWV3LWRhdGUtZ3JvdXAgPiAucmV2aWV3LWdyaWQge1xuICBtYXJnaW4tdG9wOiA0cHg7XG4gIG1hcmdpbi1ib3R0b206IDhweDtcbn1cblxuLyogPT09PT0gQ0FSRCBIT1ZFUiBPVkVSTEFZIChyZXBsYWNlcyBhbHdheXMtdmlzaWJsZSBhY3Rpb24gYnV0dG9ucykgPT09PT0gKi9cbi5yZXZpZXctY2FyZF9fb3ZlcmxheSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGdhcDogNHB4O1xuICBwYWRkaW5nOiA0cHg7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0cmFuc3BhcmVudCwgcmdiYSgwLDAsMCwwLjcpKTtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjE1cztcbiAgei1pbmRleDogNDtcbn1cblxuLnJldmlldy1jYXJkOmhvdmVyIC5yZXZpZXctY2FyZF9fb3ZlcmxheSB7XG4gIG9wYWNpdHk6IDE7XG59XG5cbi5yZXZpZXctY2FyZF9fYWN0aW9uLWljb24ge1xuICB3aWR0aDogMjhweDtcbiAgaGVpZ2h0OiAyOHB4O1xuICBib3JkZXI6IG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBmb250LXNpemU6IDE2cHg7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjb2xvcjogd2hpdGU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4xcztcbn1cblxuLnJldmlldy1jYXJkX19hY3Rpb24taWNvbjpob3ZlciB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMS4xNSk7XG59XG5cbi5yZXZpZXctY2FyZF9fYWN0aW9uLWljb24tLXJlYXNzaWduIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tYWRtaW4taW5mbyk7XG59XG5cbi5yZXZpZXctY2FyZF9fYWN0aW9uLWljb24tLXdyb25nIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tYWRtaW4tZXJyb3IpO1xufVxuXG4ucmV2aWV3LWNhcmRfX2FjdGlvbi1pY29uLS1ub3QtZmFjZSB7XG4gIGJhY2tncm91bmQ6ICNmZjY2MDA7XG59XG5cbi8qIFdpZGVyIE5TRlcgZ3JpZCBmb3IgX21kIHRodW1ibmFpbHMgKi9cbi5uc2Z3LXBlcnNvbi1ncmlkLS13aWRlIHtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maWxsLCBtaW5tYXgoMTYwcHgsIDFmcikpO1xuICBtYXgtaGVpZ2h0OiA0MDBweDtcbn1cblxuLyogU2hvdCBtb2RhbCAqL1xuLnJldmlldy1zaG90LW1vZGFsIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBpbnNldDogMDtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjkpO1xuICB6LWluZGV4OiAyMDA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBwYWRkaW5nOiB2YXIoLS1zcGFjZS00KTtcbn1cblxuLnJldmlldy1zaG90LW1vZGFsX19jb250ZW50IHtcbiAgbWF4LXdpZHRoOiA5NXZ3O1xuICBtYXgtaGVpZ2h0OiA5NXZoO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5yZXZpZXctc2hvdC1tb2RhbF9faW1hZ2Uge1xuICBtYXgtd2lkdGg6IDkwdnc7XG4gIG1heC1oZWlnaHQ6IDcwdmg7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1hZG1pbi1yYWRpdXMtc20pO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNjAwcHgpIHtcbiAgLnJldmlldy1zaG90LW1vZGFsX19pbWFnZSB7XG4gICAgbWF4LXdpZHRoOiA4NXZ3O1xuICAgIG1heC1oZWlnaHQ6IDgwdmg7XG4gIH1cbn1cblxuLnJldmlldy1zaG90LW1vZGFsX19jbG9zZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAtNDBweDtcbiAgcmlnaHQ6IDA7XG59XG5cbi5yZXZpZXctc2hvdC1tb2RhbF9fY29udHJvbHMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBnYXA6IHZhcigtLXNwYWNlLTIpO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlLTIpO1xufVxuXG4ucmV2aWV3LXNob3QtbW9kYWxfX2luZm8ge1xuICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjZS0zKTtcbiAgcGFkZGluZzogdmFyKC0tc3BhY2UtMyk7XG4gIGJhY2tncm91bmQ6IHZhcigtLWFkbWluLXN1cmZhY2UpO1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1hZG1pbi1ib3JkZXIpO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1hZG1pbi1yYWRpdXMtc20pO1xuICBmb250LXNpemU6IHZhcigtLWFkbWluLXRleHQtc20pO1xuICBmb250LWZhbWlseTogdmFyKC0tYWRtaW4tZm9udC1tb25vKTtcbn1cblxuLyogRmFjZSBib3ggaW4gbW9kYWwgKHBvc2l0aW9uIHNldCBkeW5hbWljYWxseSkgKi9cbi5yZXZpZXctbW9kYWwtZmFjZS1ib3gge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvcmRlcjogM3B4IHNvbGlkO1xuICB6LWluZGV4OiAxMDtcbn1cblxuLyogRGlzYWJsZSBmYWNlIGJveCBpbnRlcmFjdGlvbnMgd2hlbiBkcmF3IG1vZGUgaXMgYWN0aXZlICovXG5bZGF0YS1kcmF3LW1vZGU9XCJ0cnVlXCJdIC5yZXZpZXctbW9kYWwtZmFjZS1ib3gge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuLnJldmlldy1tb2RhbC1mYWNlLWJveC0tY3VycmVudCB7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tYWRtaW4tc3VjY2Vzcyk7XG59XG5cbi5yZXZpZXctbW9kYWwtZmFjZS1ib3gtLW90aGVyIHtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1hZG1pbi13YXJuaW5nKTtcbn1cblxuLnJldmlldy1tb2RhbC1mYWNlLWJveC0tbW92aW5nIHtcbiAgYm9yZGVyLWNvbG9yOiAjMDBiZmZmO1xuICBib3JkZXItc3R5bGU6IGRhc2hlZDtcbiAgYm94LXNoYWRvdzogMCAwIDEwcHggcmdiYSgwLCAxOTEsIDI1NSwgMC41KTtcbiAgY3Vyc29yOiBtb3ZlICFpbXBvcnRhbnQ7XG4gIHotaW5kZXg6IDIwO1xufVxuXG4vKiBSZXNpemUgaGFuZGxlcyBmb3IgZmFjZSBib3hlcyAtIG1ha2UgdGhlbSBtb3JlIHZpc2libGUgKi9cbi5mYWNlLWJveC1yZXNpemUtaGFuZGxlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMTZweCAhaW1wb3J0YW50O1xuICBoZWlnaHQ6IDE2cHggIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZDogIzAwYmZmZiAhaW1wb3J0YW50O1xuICBib3JkZXI6IDJweCBzb2xpZCB3aGl0ZSAhaW1wb3J0YW50O1xuICBib3JkZXItcmFkaXVzOiAzcHggIWltcG9ydGFudDtcbiAgei1pbmRleDogMjUgIWltcG9ydGFudDtcbiAgYm94LXNoYWRvdzogMCAwIDRweCByZ2JhKDAsIDAsIDAsIDAuNSk7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjFzIGVhc2U7XG59XG5cbi5mYWNlLWJveC1yZXNpemUtaGFuZGxlOmhvdmVyIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLjMpO1xuICBiYWNrZ3JvdW5kOiAjMDBmZjg4ICFpbXBvcnRhbnQ7XG59XG5cbi5yZXZpZXctbW9kYWwtZmFjZS1ib3hfX2xhYmVsIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDEwMCU7XG4gIGxlZnQ6IDA7XG4gIHBhZGRpbmc6IDJweCA2cHg7XG4gIGZvbnQtc2l6ZTogMTBweDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLnJldmlldy1tb2RhbC1mYWNlLWJveF9fbGFiZWwtLWN1cnJlbnQge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1hZG1pbi1zdWNjZXNzKTtcbiAgY29sb3I6IHdoaXRlO1xufVxuXG4ucmV2aWV3LW1vZGFsLWZhY2UtYm94X19sYWJlbC0tb3RoZXIge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1hZG1pbi13YXJuaW5nKTtcbiAgY29sb3I6ICMxZjI5Mzc7XG59XG5cbi5yZXZpZXctbW9kYWwtZmFjZS1ib3hfX2FjdGlvbnMge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMTAwJTtcbiAgbGVmdDogMDtcbiAgZGlzcGxheTogZmxleDtcbiAgZ2FwOiAycHg7XG4gIG1hcmdpbi10b3A6IDJweDtcbn1cblxuLyogQmxhY2tsaXN0ZWQgcmVnaW9uIG92ZXJsYXkgKGRhc2hlZCBncmF5IGJveCkgKi9cbi5yZXZpZXctbW9kYWwtYmxhY2tsaXN0LWJveCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm9yZGVyOiAzcHggZGFzaGVkIHZhcigtLWFkbWluLXRleHQtbXV0ZWQpO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDEyOCwgMTI4LCAxMjgsIDAuMik7XG4gIHotaW5kZXg6IDU7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG4ucmV2aWV3LW1vZGFsLWJsYWNrbGlzdC1ib3hfX2xhYmVsIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDEwMCU7XG4gIGxlZnQ6IDA7XG4gIHBhZGRpbmc6IDJweCA2cHg7XG4gIGZvbnQtc2l6ZTogMTBweDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgYmFja2dyb3VuZDogdmFyKC0tYWRtaW4tdGV4dC1tdXRlZCk7XG4gIGNvbG9yOiB3aGl0ZTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIERFVklDRSBJTkZPIEJBREdFIC0gRmxvYXRpbmcgZGVidWcgaW5mbyAodG9wLXJpZ2h0IHRvIGF2b2lkIGJvdHRvbSBnZXN0dXJlcylcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5hZG1pbi1kZXZpY2UtYmFkZ2Uge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGJvdHRvbTogdmFyKC0tc3BhY2UtMik7ICAvKiBNb3ZlIHRvIGJvdHRvbSB0byBhdm9pZCBuYXYgb3ZlcmxhcCAqL1xuICByaWdodDogdmFyKC0tc3BhY2UtMik7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC43NSk7XG4gIGJhY2tkcm9wLWZpbHRlcjogYmx1cig4cHgpO1xuICAtd2Via2l0LWJhY2tkcm9wLWZpbHRlcjogYmx1cig4cHgpO1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1hZG1pbi1ib3JkZXIpO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1hZG1pbi1yYWRpdXMpO1xuICBwYWRkaW5nOiA0cHggOHB4O1xuICBmb250LWZhbWlseTogdmFyKC0tYWRtaW4tZm9udC1tb25vKTtcbiAgZm9udC1zaXplOiA5cHg7XG4gIGNvbG9yOiB2YXIoLS1hZG1pbi10ZXh0LWRpbSk7XG4gIHotaW5kZXg6IDk5O1xuICBtYXgtd2lkdGg6IGNhbGMoMTAwdncgLSAyMHB4KTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIG9wYWNpdHk6IDAuNztcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzO1xufVxuXG4uYWRtaW4tZGV2aWNlLWJhZGdlOmhvdmVyIHtcbiAgb3BhY2l0eTogMTtcbn1cblxuLmFkbWluLWRldmljZS1iYWRnZSBzcGFuIHtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMDFlbTtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDYwMHB4KSB7XG4gIC5hZG1pbi1kZXZpY2UtYmFkZ2Uge1xuICAgIGJvdHRvbTogNHB4O1xuICAgIHJpZ2h0OiA0cHg7XG4gICAgZm9udC1zaXplOiA4cHg7XG4gICAgcGFkZGluZzogM3B4IDZweDtcbiAgICBtYXgtd2lkdGg6IDIwMHB4O1xuICB9XG59XG5cbi8qIExhbmRzY2FwZSAtIHR1Y2sgaW50byBjb3JuZXIgKi9cbkBtZWRpYSAobWF4LWhlaWdodDogNTAwcHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSkge1xuICAuYWRtaW4tZGV2aWNlLWJhZGdlIHtcbiAgICBib3R0b206IDRweDtcbiAgICBmb250LXNpemU6IDhweDtcbiAgICBwYWRkaW5nOiAycHggNnB4O1xuICB9XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBHQUxMRVJZIEFETUlOIFBBR0UgU1RZTEVTXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKiBIZWxwIE1vZGFsIFNlY3Rpb25zICovXG4uYWRtaW4taGVscC1zZWN0aW9uIHtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UtNCk7XG4gIHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjZS00KTtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWFkbWluLWJvcmRlcik7XG59XG5cbi5hZG1pbi1oZWxwLXNlY3Rpb246bGFzdC1jaGlsZCB7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIHBhZGRpbmctYm90dG9tOiAwO1xufVxuXG4uYWRtaW4taGVscC1zZWN0aW9uX190aXRsZSB7XG4gIGZvbnQtc2l6ZTogdmFyKC0tYWRtaW4tdGV4dC1zbSk7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGNvbG9yOiB2YXIoLS1hZG1pbi10ZXh0KTtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UtMik7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGxldHRlci1zcGFjaW5nOiAwLjA1ZW07XG59XG5cbi5hZG1pbi1oZWxwLWxpc3Qge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDAgMCAwIHZhcigtLXNwYWNlLTQpO1xuICBsaXN0LXN0eWxlOiBkaXNjO1xufVxuXG4uYWRtaW4taGVscC1saXN0IGxpIHtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UtMSk7XG4gIGNvbG9yOiB2YXIoLS1hZG1pbi10ZXh0LW11dGVkKTtcbiAgZm9udC1zaXplOiB2YXIoLS1hZG1pbi10ZXh0LXNtKTtcbn1cblxuLyogUElOIEVudHJ5IFNjcmVlbiAqL1xuLmFkbWluLXBpbi1zY3JlZW4ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgbWluLWhlaWdodDogNzB2aDtcbn1cblxuLmFkbWluLXBpbi1jYXJkIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBtaW4td2lkdGg6IDMyMHB4O1xufVxuXG4uYWRtaW4tcGluLWlucHV0IHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBsZXR0ZXItc3BhY2luZzogOHB4O1xufVxuXG4uYWRtaW4tcGluLWRpc3BsYXkge1xuICBsZXR0ZXItc3BhY2luZzogNHB4O1xufVxuXG4vKiBBZG1pbiBwYW5lbHMgY29udGFpbmVyICovXG4uYWRtaW4tcGFuZWxzIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiB2YXIoLS1zcGFjZS02KTtcbn1cblxuLyogQ2FyZCBzdGF0ZSBtb2RpZmllcnMgKi9cbi5hZG1pbi1jYXJkLS13YXJuaW5nIHtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1hZG1pbi13YXJuaW5nKTtcbiAgYmFja2dyb3VuZDogcmdiYSgyNDUsIDE1OCwgMTEsIDAuMDUpO1xufVxuXG4uYWRtaW4tY2FyZC0tZGFuZ2VyIHtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1hZG1pbi1lcnJvcik7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjM5LCA2OCwgNjgsIDAuMDUpO1xufVxuXG4vKiBMaXZlIG1vZGUgc3RhdHVzIGRpc3BsYXkgKi9cbi5hZG1pbi1saXZlLXN0YXR1cyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBmb250LXNpemU6IHZhcigtLWFkbWluLXRleHQteHMpO1xuICBmb250LWZhbWlseTogdmFyKC0tYWRtaW4tZm9udC1tb25vKTtcbn1cblxuLyogRGF0ZSBQSU4gRm9ybSAqL1xuLmFkbWluLWRhdGUtcGluLWZvcm0ge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMik7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWFkbWluLWJvcmRlcik7XG4gIHBhZGRpbmc6IHZhcigtLXNwYWNlLTQpO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1hZG1pbi1yYWRpdXMtc20pO1xuICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjZS00KTtcbn1cblxuLmFkbWluLWRhdGUtcGluLWdyaWQge1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnIgMTIwcHggMWZyIGF1dG87XG4gIGdhcDogdmFyKC0tc3BhY2UtMyk7XG4gIGFsaWduLWl0ZW1zOiBlbmQ7XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA5MDBweCkge1xuICAuYWRtaW4tZGF0ZS1waW4tZ3JpZCB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyO1xuICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA2MDBweCkge1xuICAuYWRtaW4tZGF0ZS1waW4tZ3JpZCB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG4gIH1cbn1cblxuLyogVG9nZ2xlIGJ1dHRvbiBncm91cCAqL1xuLmFkbWluLWJ0bi10b2dnbGUtZ3JvdXAge1xuICBkaXNwbGF5OiBmbGV4O1xuICBnYXA6IDA7XG59XG5cbi5hZG1pbi1idG4tLXRvZ2dsZSB7XG4gIGZsZXg6IDE7XG4gIHBhZGRpbmc6IHZhcigtLXNwYWNlLTMpIHZhcigtLXNwYWNlLTQpO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1hZG1pbi1zdXJmYWNlKTtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYWRtaW4tYm9yZGVyKTtcbiAgY29sb3I6IHZhcigtLWFkbWluLXRleHQtbXV0ZWQpO1xuICBmb250LWZhbWlseTogdmFyKC0tYWRtaW4tZm9udC1tb25vKTtcbiAgZm9udC1zaXplOiB2YXIoLS1hZG1pbi10ZXh0LXNtKTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0cmFuc2l0aW9uOiBhbGwgdmFyKC0tYWRtaW4tdHJhbnNpdGlvbik7XG59XG5cbi5hZG1pbi1idG4tLXRvZ2dsZTpmaXJzdC1jaGlsZCB7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLWFkbWluLXJhZGl1cy1zbSkgMCAwIHZhcigtLWFkbWluLXJhZGl1cy1zbSk7XG59XG5cbi5hZG1pbi1idG4tLXRvZ2dsZTpsYXN0LWNoaWxkIHtcbiAgYm9yZGVyLXJhZGl1czogMCB2YXIoLS1hZG1pbi1yYWRpdXMtc20pIHZhcigtLWFkbWluLXJhZGl1cy1zbSkgMDtcbiAgYm9yZGVyLWxlZnQ6IG5vbmU7XG59XG5cbi5hZG1pbi1idG4tLXRvZ2dsZTpob3ZlciB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWFkbWluLXN1cmZhY2UtaG92ZXIpO1xufVxuXG4uYWRtaW4tYnRuLS10b2dnbGUuYWN0aXZlIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tYWRtaW4tcHJpbWFyeSk7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tYWRtaW4tcHJpbWFyeSk7XG4gIGNvbG9yOiB3aGl0ZTtcbn1cblxuLyogU2hhcmUgTGlua3MgRXhwaXJ5ICovXG4uYWRtaW4tc2hhcmUtZXhwaXJ5IHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiB2YXIoLS1zcGFjZS0zKTtcbiAgZmxleC13cmFwOiB3cmFwO1xufVxuXG4uYWRtaW4taW5wdXQtLWlubGluZSB7XG4gIHdpZHRoOiBhdXRvO1xuICBtaW4td2lkdGg6IDEyMHB4O1xufVxuXG4vKiBTaGFyZSBsaW5rIGNyZWF0ZWQgYWxlcnQgKi9cbi5hZG1pbi1zaGFyZS1saW5rLWNyZWF0ZWQge1xuICBwYWRkaW5nOiB2YXIoLS1zcGFjZS0yKTtcbn1cblxuLmFkbWluLXNoYXJlLWxpbmstY3JlYXRlZF9faGVhZGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS0yKTtcbn1cblxuLmFkbWluLXNoYXJlLWxpbmstdXJsIHtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjIpO1xuICBwYWRkaW5nOiB2YXIoLS1zcGFjZS0zKTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tYWRtaW4tcmFkaXVzLXNtKTtcbiAgd29yZC1icmVhazogYnJlYWstYWxsO1xufVxuXG4uYWRtaW4tc2hhcmUtbGluay11cmwgY29kZSB7XG4gIGNvbG9yOiB2YXIoLS1hZG1pbi1zdWNjZXNzKTtcbiAgZm9udC1zaXplOiB2YXIoLS1hZG1pbi10ZXh0LXNtKTtcbn1cblxuLyogU2hhcmUgbGluayB0aHVtYm5haWwgKi9cbi5hZG1pbi1zaGFyZS10aHVtYiB7XG4gIHdpZHRoOiAzMHB4O1xuICBoZWlnaHQ6IDMwcHg7XG4gIG9iamVjdC1maXQ6IGNvdmVyO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBtYXJnaW4tbGVmdDogdmFyKC0tc3BhY2UtMik7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLWFkbWluLXJhZGl1cy1zbSk7XG59XG5cbi8qIFNoYXJlIHZpZXdzIGV4cGFuZGVkIHJvdyAqL1xuLmFkbWluLXNoYXJlLXZpZXdzLXJvdyB7XG4gIGJhY2tncm91bmQ6IHJnYmEoNTksIDEzMCwgMjQ2LCAwLjA1KTtcbn1cblxuLmFkbWluLXNoYXJlLXZpZXdzIHtcbiAgcGFkZGluZzogdmFyKC0tc3BhY2UtNCk7XG59XG5cbi5hZG1pbi1zaGFyZS12aWV3c19faGVhZGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS0zKTtcbn1cblxuLyogVGFibGUgdmFyaWFudHMgKi9cbi5hZG1pbi10YWJsZS0tY29tcGFjdCB7XG4gIGZvbnQtc2l6ZTogdmFyKC0tYWRtaW4tdGV4dC14cyk7XG59XG5cbi5hZG1pbi10YWJsZS0tY29tcGFjdCB0aCxcbi5hZG1pbi10YWJsZS0tY29tcGFjdCB0ZCB7XG4gIHBhZGRpbmc6IHZhcigtLXNwYWNlLTIpO1xufVxuXG4uYWRtaW4tdGFibGUtLW5lc3RlZCB7XG4gIGZvbnQtc2l6ZTogMC43cmVtO1xuICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjZS0yKTtcbn1cblxuLmFkbWluLXRhYmxlLS1uZXN0ZWQgdGgsXG4uYWRtaW4tdGFibGUtLW5lc3RlZCB0ZCB7XG4gIHBhZGRpbmc6IHZhcigtLXNwYWNlLTEpIHZhcigtLXNwYWNlLTIpO1xufVxuXG4vKiBEaXNhYmxlZCByb3cgc3RhdGUgKi9cbi5hZG1pbi1yb3ctZGlzYWJsZWQge1xuICBvcGFjaXR5OiAwLjQ7XG59XG5cbi8qIEVtcHR5IHN0YXRlICovXG4uYWRtaW4tZW1wdHktc3RhdGUge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBhZGRpbmc6IHZhcigtLXNwYWNlLTYpO1xuICBjb2xvcjogdmFyKC0tYWRtaW4tdGV4dC1kaW0pO1xuICBmb250LWZhbWlseTogdmFyKC0tYWRtaW4tZm9udC1tb25vKTtcbiAgZm9udC1zaXplOiB2YXIoLS1hZG1pbi10ZXh0LXNtKTtcbn1cblxuLyogSW1hZ2UgbmF2aWdhdGlvbiBiYXIgKi9cbi5hZG1pbi1pbWFnZS1uYXYge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IHZhcigtLXNwYWNlLTQpO1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlLTQpO1xufVxuXG4uYWRtaW4taW5saW5lLWZvcm0ge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbn1cblxuLmFkbWluLWlucHV0LXBhZ2Uge1xuICB3aWR0aDogNjBweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uYWRtaW4taW5wdXQtaWQge1xuICB3aWR0aDogMTAwcHg7XG59XG5cbi8qIFZlcnRpY2FsIGRpdmlkZXIgKi9cbi5hZG1pbi1kaXZpZGVyLXYge1xuICB3aWR0aDogMXB4O1xuICBoZWlnaHQ6IDMwcHg7XG4gIGJhY2tncm91bmQ6IHZhcigtLWFkbWluLWJvcmRlcik7XG59XG5cbi8qIENsb3NlIGJ1dHRvbiAobWluaW1hbCkgKi9cbi5hZG1pbi1idG4tY2xvc2Uge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiBub25lO1xuICBjb2xvcjogdmFyKC0tYWRtaW4tdGV4dC1tdXRlZCk7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZm9udC1zaXplOiB2YXIoLS1hZG1pbi10ZXh0LWxnKTtcbiAgcGFkZGluZzogdmFyKC0tc3BhY2UtMSk7XG4gIGxpbmUtaGVpZ2h0OiAxO1xufVxuXG4uYWRtaW4tYnRuLWNsb3NlOmhvdmVyIHtcbiAgY29sb3I6IHZhcigtLWFkbWluLXRleHQpO1xufVxuXG4vKiBCdXR0b24gZ3JvdXAgKi9cbi5hZG1pbi1idG4tZ3JvdXAge1xuICBkaXNwbGF5OiBmbGV4O1xuICBnYXA6IHZhcigtLXNwYWNlLTIpO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLyogRXh0cmEgc21hbGwgYnV0dG9uICovXG4uYWRtaW4tYnRuLXhzIHtcbiAgcGFkZGluZzogMnB4IDZweDtcbiAgZm9udC1zaXplOiAwLjY1cmVtO1xufVxuXG4vKiBGb290ZXIgKi9cbi5hZG1pbi1mb290ZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIG1hcmdpbi10b3A6IHZhcigtLXNwYWNlLTYpO1xuICBwYWRkaW5nLXRvcDogdmFyKC0tc3BhY2UtNCk7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1hZG1pbi1ib3JkZXIpO1xufVxuXG4vKiBVdGlsaXR5OiBzZWxmLWVuZCAoYWxpZ24tc2VsZjogZmxleC1lbmQpICovXG4uYWRtaW4tc2VsZi1lbmQge1xuICBhbGlnbi1zZWxmOiBmbGV4LWVuZDtcbn1cblxuLyogVXRpbGl0eTogZ2FwIHZhcmlhbnRzICovXG4uYWRtaW4tZ2FwLTIge1xuICBnYXA6IHZhcigtLXNwYWNlLTIpO1xufVxuXG4uYWRtaW4tZ2FwLTMge1xuICBnYXA6IHZhcigtLXNwYWNlLTMpO1xufVxuXG4vKiBVdGlsaXR5OiBhbGlnbi1pdGVtcyBjZW50ZXIgKi9cbi5hZG1pbi1pdGVtcy1jZW50ZXIge1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4vKiBVdGlsaXR5OiB0ZXh0IHdhcm5pbmcgY29sb3IgKi9cbi5hZG1pbi10ZXh0LXdhcm5pbmcge1xuICBjb2xvcjogdmFyKC0tYWRtaW4td2FybmluZyk7XG59XG5cbi8qIE1vZGFsIHNpemUgdmFyaWFudCAqL1xuLmFkbWluLW1vZGFsLS1sZyB7XG4gIG1heC13aWR0aDogNzAwcHg7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBERVBMT1lNRU5UIE1PREVTIFBBR0VcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qIFRpZXIgYmFkZ2UgaW4gaGVhZGVyICovXG4uYWRtaW4tdGllci1iYWRnZSB7XG4gIGZvbnQtc2l6ZTogdmFyKC0tYWRtaW4tdGV4dC14cyk7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIHBhZGRpbmc6IDRweCAxMnB4O1xuICBib3JkZXItcmFkaXVzOiAxMnB4O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBsZXR0ZXItc3BhY2luZzogMC41cHg7XG59XG5cbi5hZG1pbi10aWVyLWJhZGdlLnRpZXItbGl0ZSB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMTQ4LCAxNjMsIDE4NCwgMC4yKTtcbiAgY29sb3I6ICM5NGEzYjg7XG59XG5cbi5hZG1pbi10aWVyLWJhZGdlLnRpZXItcHJvIHtcbiAgYmFja2dyb3VuZDogcmdiYSg1OSwgMTMwLCAyNDYsIDAuMik7XG4gIGNvbG9yOiAjNjBhNWZhO1xufVxuXG4uYWRtaW4tdGllci1iYWRnZS50aWVyLWFkdmFuY2VkIHtcbiAgYmFja2dyb3VuZDogcmdiYSgxNjgsIDg1LCAyNDcsIDAuMik7XG4gIGNvbG9yOiAjYTg1NWY3O1xufVxuXG4uYWRtaW4tdGllci1iYWRnZS50aWVyLWRldmVsb3BlciB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjM5LCA2OCwgNjgsIDAuMik7XG4gIGNvbG9yOiAjZjg3MTcxO1xufVxuXG4vKiBNb2RlIHNlbGVjdG9yIGdyaWQgKi9cbi5tb2Rlcy1ncmlkIHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maWxsLCBtaW5tYXgoMjQwcHgsIDFmcikpO1xuICBnYXA6IHZhcigtLXNwYWNlLTQpO1xufVxuXG4vKiBNb2RlIGNhcmQgKi9cbi5tb2RlLWNhcmQge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1hZG1pbi1iZyk7XG4gIGJvcmRlcjogMnB4IHNvbGlkIHZhcigtLWFkbWluLWJvcmRlcik7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLWFkbWluLXJhZGl1cy1sZyk7XG4gIHBhZGRpbmc6IHZhcigtLXNwYWNlLTQpO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRyYW5zaXRpb246IGFsbCB2YXIoLS1hZG1pbi10cmFuc2l0aW9uKTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4ubW9kZS1jYXJkOmhvdmVyIHtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1hZG1pbi1wcmltYXJ5KTtcbiAgYmFja2dyb3VuZDogdmFyKC0tYWRtaW4tYmctYWx0KTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0ycHgpO1xufVxuXG4ubW9kZS1jYXJkLS1zZWxlY3RlZCB7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tYWRtaW4tYWNjZW50KTtcbiAgYmFja2dyb3VuZDogcmdiYSgyMzMsIDY5LCA5NiwgMC4xKTtcbn1cblxuLm1vZGUtY2FyZC0tc2VsZWN0ZWQ6aG92ZXIge1xuICBib3JkZXItY29sb3I6IHZhcigtLWFkbWluLWFjY2VudC1ob3Zlcik7XG59XG5cbi5tb2RlLWNhcmRfX2ljb24ge1xuICBmb250LXNpemU6IDMycHg7XG4gIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlLTIpO1xufVxuXG4ubW9kZS1jYXJkX19uYW1lIHtcbiAgZm9udC1zaXplOiB2YXIoLS1hZG1pbi10ZXh0LWxnKTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgY29sb3I6IHZhcigtLWFkbWluLXRleHQpO1xuICBtYXJnaW46IDAgMCB2YXIoLS1zcGFjZS0yKSAwO1xufVxuXG4ubW9kZS1jYXJkX19kZXNjIHtcbiAgZm9udC1zaXplOiB2YXIoLS1hZG1pbi10ZXh0LXNtKTtcbiAgY29sb3I6IHZhcigtLWFkbWluLXRleHQtbXV0ZWQpO1xuICBtYXJnaW46IDAgMCB2YXIoLS1zcGFjZS0zKSAwO1xuICBsaW5lLWhlaWdodDogMS40O1xufVxuXG4ubW9kZS1jYXJkX190aWVyIHtcbiAgZm9udC1zaXplOiB2YXIoLS1hZG1pbi10ZXh0LXhzKTtcbiAgY29sb3I6IHZhcigtLWFkbWluLXRleHQtZGltKTtcbn1cblxuLm1vZGUtY2FyZF9fc2VsZWN0ZWQtYmFkZ2Uge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogdmFyKC0tc3BhY2UtMik7XG4gIHJpZ2h0OiB2YXIoLS1zcGFjZS0yKTtcbiAgZm9udC1zaXplOiAxMHB4O1xuICBmb250LXdlaWdodDogNjAwO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1hZG1pbi1hY2NlbnQpO1xuICBjb2xvcjogd2hpdGU7XG4gIHBhZGRpbmc6IDJweCA4cHg7XG4gIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbi8qIEZlYXR1cmUgZ3JvdXBzICovXG4uZmVhdHVyZS1ncm91cHMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBnYXA6IHZhcigtLXNwYWNlLTYpO1xufVxuXG4uZmVhdHVyZS1ncm91cCB7XG4gIHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjZS00KTtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWFkbWluLWJvcmRlcik7XG59XG5cbi5mZWF0dXJlLWdyb3VwOmxhc3QtY2hpbGQge1xuICBib3JkZXItYm90dG9tOiBub25lO1xuICBwYWRkaW5nLWJvdHRvbTogMDtcbn1cblxuLmZlYXR1cmUtZ3JvdXBfX3RpdGxlIHtcbiAgZm9udC1zaXplOiB2YXIoLS1hZG1pbi10ZXh0LWJhc2UpO1xuICBmb250LXdlaWdodDogNjAwO1xuICBjb2xvcjogdmFyKC0tYWRtaW4tdGV4dCk7XG4gIG1hcmdpbjogMCAwIHZhcigtLXNwYWNlLTEpIDA7XG59XG5cbi5mZWF0dXJlLWdyb3VwX19kZXNjIHtcbiAgZm9udC1zaXplOiB2YXIoLS1hZG1pbi10ZXh0LXNtKTtcbiAgY29sb3I6IHZhcigtLWFkbWluLXRleHQtbXV0ZWQpO1xuICBtYXJnaW46IDAgMCB2YXIoLS1zcGFjZS0zKSAwO1xufVxuXG4vKiBGZWF0dXJlIGxpc3QgKi9cbi5mZWF0dXJlLWxpc3Qge1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpbGwsIG1pbm1heCgyODBweCwgMWZyKSk7XG4gIGdhcDogdmFyKC0tc3BhY2UtMik7XG59XG5cbi8qIEZlYXR1cmUgaXRlbSAqL1xuLmZlYXR1cmUtaXRlbSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgcGFkZGluZzogdmFyKC0tc3BhY2UtMikgdmFyKC0tc3BhY2UtMyk7XG4gIGJhY2tncm91bmQ6IHZhcigtLWFkbWluLWJnKTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tYWRtaW4tcmFkaXVzLXNtKTtcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIHRyYW5zaXRpb246IGFsbCB2YXIoLS1hZG1pbi10cmFuc2l0aW9uKTtcbn1cblxuLmZlYXR1cmUtaXRlbTpob3ZlciB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWFkbWluLXN1cmZhY2UtaG92ZXIpO1xufVxuXG4uZmVhdHVyZS1pdGVtLS1lbmFibGVkIHtcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKDE2LCAxODUsIDEyOSwgMC4zKTtcbiAgYmFja2dyb3VuZDogcmdiYSgxNiwgMTg1LCAxMjksIDAuMDUpO1xufVxuXG4uZmVhdHVyZS1pdGVtLS1sb2NrZWQge1xuICBvcGFjaXR5OiAwLjU7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG59XG5cbi5mZWF0dXJlLWl0ZW1fX2xhYmVsIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiB2YXIoLS1zcGFjZS0yKTtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4uZmVhdHVyZS1pdGVtLS1sb2NrZWQgLmZlYXR1cmUtaXRlbV9fbGFiZWwge1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xufVxuXG4uZmVhdHVyZS1pdGVtX19sYWJlbCBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xuICB3aWR0aDogMTZweDtcbiAgaGVpZ2h0OiAxNnB4O1xuICBhY2NlbnQtY29sb3I6IHZhcigtLWFkbWluLXN1Y2Nlc3MpO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5mZWF0dXJlLWl0ZW0tLWxvY2tlZCAuZmVhdHVyZS1pdGVtX19sYWJlbCBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xufVxuXG4uZmVhdHVyZS1pdGVtX19uYW1lIHtcbiAgZm9udC1zaXplOiB2YXIoLS1hZG1pbi10ZXh0LXNtKTtcbiAgY29sb3I6IHZhcigtLWFkbWluLXRleHQpO1xufVxuXG4vKiBGZWF0dXJlIHN0YXR1cyBiYWRnZXMgKi9cbi5mZWF0dXJlLXN0YXR1cy1iYWRnZSB7XG4gIGZvbnQtc2l6ZTogMTBweDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgcGFkZGluZzogMnB4IDhweDtcbiAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLmZlYXR1cmUtc3RhdHVzLWJhZGdlLnN0YXR1cy1lbmFibGVkIHtcbiAgYmFja2dyb3VuZDogcmdiYSgxNiwgMTg1LCAxMjksIDAuMik7XG4gIGNvbG9yOiAjMTBiOTgxO1xufVxuXG4uZmVhdHVyZS1zdGF0dXMtYmFkZ2Uuc3RhdHVzLW9wdGlvbmFsIHtcbiAgYmFja2dyb3VuZDogcmdiYSg1OSwgMTMwLCAyNDYsIDAuMik7XG4gIGNvbG9yOiAjNjBhNWZhO1xufVxuXG4uZmVhdHVyZS1zdGF0dXMtYmFkZ2Uuc3RhdHVzLW9wdGlvbmFsLWVuYWJsZWQge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDU5LCAxMzAsIDI0NiwgMC4zKTtcbiAgY29sb3I6ICM5M2M1ZmQ7XG59XG5cbi5mZWF0dXJlLXN0YXR1cy1iYWRnZS5zdGF0dXMtZGlzYWJsZWQge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDE0OCwgMTYzLCAxODQsIDAuMTUpO1xuICBjb2xvcjogIzk0YTNiODtcbn1cblxuLmZlYXR1cmUtc3RhdHVzLWJhZGdlLnN0YXR1cy1vdmVycmlkZGVuIHtcbiAgYmFja2dyb3VuZDogcmdiYSgyNDUsIDE1OCwgMTEsIDAuMik7XG4gIGNvbG9yOiAjZjU5ZTBiO1xufVxuXG4uZmVhdHVyZS1zdGF0dXMtYmFkZ2Uuc3RhdHVzLWxvY2tlZCB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjM5LCA2OCwgNjgsIDAuMTUpO1xuICBjb2xvcjogI2Y4NzE3MTtcbn1cblxuLyogT3ZlcnJpZGVzIHN1bW1hcnkgKi9cbi5hZG1pbi1jYXJkLS13YXJuaW5nIHtcbiAgYm9yZGVyLWxlZnQ6IDNweCBzb2xpZCB2YXIoLS1hZG1pbi13YXJuaW5nKTtcbn1cblxuLm92ZXJyaWRlcy1saXN0IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBnYXA6IHZhcigtLXNwYWNlLTIpO1xufVxuXG4ub3ZlcnJpZGUtaXRlbSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogdmFyKC0tc3BhY2UtMik7XG4gIHBhZGRpbmc6IHZhcigtLXNwYWNlLTIpIHZhcigtLXNwYWNlLTMpO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1hZG1pbi1iZyk7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLWFkbWluLXJhZGl1cy1zbSk7XG4gIGZvbnQtc2l6ZTogdmFyKC0tYWRtaW4tdGV4dC1zbSk7XG59XG5cbi5vdmVycmlkZS1pdGVtX19mZWF0dXJlIHtcbiAgY29sb3I6IHZhcigtLWFkbWluLXRleHQpO1xufVxuXG4ub3ZlcnJpZGUtaXRlbV9fdmFsdWUge1xuICBmb250LXdlaWdodDogNTAwO1xufVxuXG4ub3ZlcnJpZGUtaXRlbV9fdmFsdWUub3ZlcnJpZGUtZW5hYmxlZCB7XG4gIGNvbG9yOiB2YXIoLS1hZG1pbi1zdWNjZXNzKTtcbn1cblxuLm92ZXJyaWRlLWl0ZW1fX3ZhbHVlLm92ZXJyaWRlLWRpc2FibGVkIHtcbiAgY29sb3I6IHZhcigtLWFkbWluLWVycm9yKTtcbn1cblxuLyogQWRtaW4gYWN0aW9ucyByb3cgKi9cbi5hZG1pbi1hY3Rpb25zIHtcbiAgcGFkZGluZzogdmFyKC0tc3BhY2UtNCkgMDtcbn1cblxuLyogSGVscCBtb2RhbCBmb3IgbW9kZXMgcGFnZSAqL1xuLm1vZGVzLWhlbHAtb3ZlcmxheSB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNik7XG4gIHotaW5kZXg6IDEwMDA7XG59XG5cbi5tb2Rlcy1oZWxwLW1vZGFsIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgYmFja2dyb3VuZDogdmFyKC0tYWRtaW4tc3VyZmFjZSk7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWFkbWluLWJvcmRlcik7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLWFkbWluLXJhZGl1cy1sZyk7XG4gIHBhZGRpbmc6IHZhcigtLXNwYWNlLTYpO1xuICBtYXgtd2lkdGg6IDUwMHB4O1xuICB3aWR0aDogOTAlO1xuICBtYXgtaGVpZ2h0OiA4MHZoO1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICB6LWluZGV4OiAxMDAxO1xufVxuXG4ubW9kZXMtaGVscC1tb2RhbCBoMiB7XG4gIGZvbnQtc2l6ZTogdmFyKC0tYWRtaW4tdGV4dC14bCk7XG4gIGNvbG9yOiB2YXIoLS1hZG1pbi10ZXh0KTtcbiAgbWFyZ2luOiAwIDAgdmFyKC0tc3BhY2UtNCkgMDtcbn1cblxuLm1vZGVzLWhlbHAtbW9kYWwgaDMge1xuICBmb250LXNpemU6IHZhcigtLWFkbWluLXRleHQtYmFzZSk7XG4gIGNvbG9yOiB2YXIoLS1hZG1pbi10ZXh0KTtcbiAgbWFyZ2luOiB2YXIoLS1zcGFjZS00KSAwIHZhcigtLXNwYWNlLTIpIDA7XG59XG5cbi5tb2Rlcy1oZWxwLW1vZGFsIHAge1xuICBmb250LXNpemU6IHZhcigtLWFkbWluLXRleHQtc20pO1xuICBjb2xvcjogdmFyKC0tYWRtaW4tdGV4dC1tdXRlZCk7XG4gIG1hcmdpbjogMCAwIHZhcigtLXNwYWNlLTIpIDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG59XG5cbi5tb2Rlcy1oZWxwLW1vZGFsIHVsIHtcbiAgbWFyZ2luOiAwIDAgdmFyKC0tc3BhY2UtMykgMDtcbiAgcGFkZGluZy1sZWZ0OiB2YXIoLS1zcGFjZS00KTtcbn1cblxuLm1vZGVzLWhlbHAtbW9kYWwgbGkge1xuICBmb250LXNpemU6IHZhcigtLWFkbWluLXRleHQtc20pO1xuICBjb2xvcjogdmFyKC0tYWRtaW4tdGV4dC1tdXRlZCk7XG4gIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlLTEpO1xuICBsaW5lLWhlaWdodDogMS40O1xufVxuXG4vKiBSZXNwb25zaXZlIG1vZGVzICovXG5AbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgLm1vZGVzLWdyaWQge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuICB9XG5cbiAgLmZlYXR1cmUtbGlzdCB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG4gIH1cblxuICAubW9kZS1jYXJkIHtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS0zKTtcbiAgfVxuXG4gIC5tb2RlLWNhcmRfX2ljb24ge1xuICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNDgwcHgpIHtcbiAgLmFkbWluLXRpZXItYmFkZ2Uge1xuICAgIGZvbnQtc2l6ZTogOXB4O1xuICAgIHBhZGRpbmc6IDNweCA4cHg7XG4gIH1cblxuICAuZmVhdHVyZS1pdGVtIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgIGdhcDogdmFyKC0tc3BhY2UtMSk7XG4gIH1cblxuICAuZmVhdHVyZS1zdGF0dXMtYmFkZ2Uge1xuICAgIGZvbnQtc2l6ZTogOXB4O1xuICB9XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBQUk9DRVNTSU5HIFFVRVVFIFNUQVRVU1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnByb2Nlc3Npbmctc3RhdHVzIHtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UtNCk7XG59XG5cbi5wcm9jZXNzaW5nLXN0YXR1c19faGVhZGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiB2YXIoLS1zcGFjZS0yKTtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UtMyk7XG59XG5cbi5wcm9jZXNzaW5nLXN0YXR1c19faW5kaWNhdG9yIHtcbiAgY29sb3I6IHZhcigtLWFkbWluLXN1Y2Nlc3MpO1xuICBmb250LXNpemU6IDEuMjVyZW07XG4gIGFuaW1hdGlvbjogcHVsc2UgMXMgZWFzZS1pbi1vdXQgaW5maW5pdGU7XG59XG5cbi5wcm9jZXNzaW5nLXN0YXR1c19faW5kaWNhdG9yLS1pZGxlIHtcbiAgY29sb3I6IHZhcigtLWFkbWluLXRleHQtZGltKTtcbiAgYW5pbWF0aW9uOiBub25lO1xufVxuXG5Aa2V5ZnJhbWVzIHB1bHNlIHtcbiAgMCUsIDEwMCUgeyBvcGFjaXR5OiAxOyB9XG4gIDUwJSB7IG9wYWNpdHk6IDAuNTsgfVxufVxuXG4ucHJvY2Vzc2luZy1zdGF0dXNfX2xhYmVsIHtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMDVlbTtcbn1cblxuLnByb2Nlc3Npbmctc3RhdHVzLS1hY3RpdmUgLnByb2Nlc3Npbmctc3RhdHVzX19sYWJlbCB7XG4gIGNvbG9yOiB2YXIoLS1hZG1pbi1zdWNjZXNzKTtcbn1cblxuLnByb2Nlc3Npbmctc3RhdHVzLS1pZGxlIC5wcm9jZXNzaW5nLXN0YXR1c19fbGFiZWwge1xuICBjb2xvcjogdmFyKC0tYWRtaW4tdGV4dC1kaW0pO1xufVxuXG4vKiBQcm9ncmVzcyBCYXIgKi9cbi5wcm9jZXNzaW5nLXByb2dyZXNzIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiB2YXIoLS1zcGFjZS0zKTtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UtNCk7XG59XG5cbi5wcm9jZXNzaW5nLXByb2dyZXNzX19iYXIge1xuICBmbGV4OiAxO1xuICBoZWlnaHQ6IDhweDtcbiAgYmFja2dyb3VuZDogdmFyKC0tYWRtaW4tc3VyZmFjZSk7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLnByb2Nlc3NpbmctcHJvZ3Jlc3NfX2ZpbGwge1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgdmFyKC0tYWRtaW4tc3VjY2VzcyksICMzNGQzOTkpO1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIHRyYW5zaXRpb246IHdpZHRoIDAuM3MgZWFzZTtcbn1cblxuLnByb2Nlc3NpbmctcHJvZ3Jlc3NfX3RleHQge1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBmb250LXdlaWdodDogNjAwO1xuICBjb2xvcjogdmFyKC0tYWRtaW4tc3VjY2Vzcyk7XG4gIG1pbi13aWR0aDogNDBweDtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG59XG5cbi8qIFN0YXRzIEdyaWQgKi9cbi5wcm9jZXNzaW5nLXN0YXRzIHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maXQsIG1pbm1heCg4MHB4LCAxZnIpKTtcbiAgZ2FwOiB2YXIoLS1zcGFjZS0zKTtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UtNCk7XG59XG5cbi5wcm9jZXNzaW5nLXN0YXQge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBhZGRpbmc6IHZhcigtLXNwYWNlLTIpO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1hZG1pbi1zdXJmYWNlKTtcbiAgYm9yZGVyLXJhZGl1czogNnB4O1xufVxuXG4ucHJvY2Vzc2luZy1zdGF0X192YWx1ZSB7XG4gIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgY29sb3I6IHZhcigtLWFkbWluLXRleHQpO1xufVxuXG4ucHJvY2Vzc2luZy1zdGF0X19sYWJlbCB7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgY29sb3I6IHZhcigtLWFkbWluLXRleHQtbXV0ZWQpO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBsZXR0ZXItc3BhY2luZzogMC4wNWVtO1xufVxuXG4vKiBDdXJyZW50IEZpbGUgKi9cbi5wcm9jZXNzaW5nLWN1cnJlbnQge1xuICBmb250LXNpemU6IDAuOHJlbTtcbiAgY29sb3I6IHZhcigtLWFkbWluLXRleHQtbXV0ZWQpO1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS0zKTtcbiAgcGFkZGluZzogdmFyKC0tc3BhY2UtMik7XG4gIGJhY2tncm91bmQ6IHZhcigtLWFkbWluLXN1cmZhY2UpO1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4ucHJvY2Vzc2luZy1jdXJyZW50X19sYWJlbCB7XG4gIGNvbG9yOiB2YXIoLS1hZG1pbi10ZXh0LWRpbSk7XG4gIG1hcmdpbi1yaWdodDogdmFyKC0tc3BhY2UtMik7XG59XG5cbi5wcm9jZXNzaW5nLWN1cnJlbnRfX2ZpbGUge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlO1xuICBjb2xvcjogdmFyKC0tYWRtaW4tdGV4dCk7XG59XG5cbi8qIEVycm9ycyAqL1xuLnByb2Nlc3NpbmctZXJyb3JzIHtcbiAgY29sb3I6IHZhcigtLWFkbWluLWVycm9yKTtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UtMyk7XG59XG5cbi8qIEFjdGlvbnMgKi9cbi5wcm9jZXNzaW5nLWFjdGlvbnMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBnYXA6IHZhcigtLXNwYWNlLTMpO1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIG1hcmdpbi10b3A6IHZhcigtLXNwYWNlLTQpO1xuICBwYWRkaW5nLXRvcDogdmFyKC0tc3BhY2UtNCk7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1hZG1pbi1ib3JkZXIpO1xufVxuXG4ucHJvY2Vzc2luZy1hY3Rpb25zIC5hZG1pbi1idG4ge1xuICBmbGV4OiAxO1xuICBtaW4td2lkdGg6IDE1MHB4O1xufVxuXG4vKiBQcm9jZXNzaW5nIFN0YXR1cyBCYXIgKi9cbi5wcm9jZXNzaW5nLXN0YXR1cy1iYXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IHZhcigtLXNwYWNlLTQpO1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS00KTtcbiAgcGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNlLTMpO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYWRtaW4tYm9yZGVyKTtcbn1cblxuLnByb2Nlc3NpbmctaW5kaWNhdG9yIHtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbn1cblxuLnByb2Nlc3NpbmctaW5kaWNhdG9yLS1hY3RpdmUge1xuICBjb2xvcjogdmFyKC0tYWRtaW4tc3VjY2Vzcyk7XG4gIGFuaW1hdGlvbjogcHVsc2UgMXMgZWFzZS1pbi1vdXQgaW5maW5pdGU7XG59XG5cbi5wcm9jZXNzaW5nLWluZGljYXRvci0taWRsZSB7XG4gIGNvbG9yOiB2YXIoLS1hZG1pbi10ZXh0LWRpbSk7XG59XG5cbi5wcm9jZXNzaW5nLXF1ZXVlLFxuLnByb2Nlc3NpbmctcmF0ZSB7XG4gIGZvbnQtc2l6ZTogMC44cmVtO1xuICBjb2xvcjogdmFyKC0tYWRtaW4tdGV4dC1tdXRlZCk7XG59XG5cbi8qIFByb2Nlc3NpbmcgTG9nICovXG4ucHJvY2Vzc2luZy1sb2cge1xuICBtYXgtaGVpZ2h0OiA0MDBweDtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZTtcbiAgZm9udC1zaXplOiAwLjhyZW07XG59XG5cbi5wcm9jZXNzaW5nLWxvZ19fZW50cnkge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IHZhcigtLXNwYWNlLTMpO1xuICBwYWRkaW5nOiB2YXIoLS1zcGFjZS0yKSB2YXIoLS1zcGFjZS0zKTtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWFkbWluLWJvcmRlcik7XG59XG5cbi5wcm9jZXNzaW5nLWxvZ19fZW50cnk6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1hZG1pbi1zdXJmYWNlKTtcbn1cblxuLnByb2Nlc3NpbmctbG9nX19lbnRyeS0tZXJyb3Ige1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1hZG1pbi1lcnJvci1iZyk7XG59XG5cbi5wcm9jZXNzaW5nLWxvZ19fc3RhdHVzIHtcbiAgd2lkdGg6IDEuNXJlbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4ucHJvY2Vzc2luZy1sb2dfX2VudHJ5Om5vdCgucHJvY2Vzc2luZy1sb2dfX2VudHJ5LS1lcnJvcikgLnByb2Nlc3NpbmctbG9nX19zdGF0dXMge1xuICBjb2xvcjogdmFyKC0tYWRtaW4tc3VjY2Vzcyk7XG59XG5cbi5wcm9jZXNzaW5nLWxvZ19fZW50cnktLWVycm9yIC5wcm9jZXNzaW5nLWxvZ19fc3RhdHVzIHtcbiAgY29sb3I6IHZhcigtLWFkbWluLWVycm9yKTtcbn1cblxuLnByb2Nlc3NpbmctbG9nX19maWxlbmFtZSB7XG4gIGZsZXg6IDE7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBjb2xvcjogdmFyKC0tYWRtaW4tdGV4dCk7XG59XG5cbi5wcm9jZXNzaW5nLWxvZ19fdGltZSB7XG4gIGNvbG9yOiB2YXIoLS1hZG1pbi10ZXh0LWRpbSk7XG4gIG1pbi13aWR0aDogNTBweDtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG59XG5cbi5wcm9jZXNzaW5nLWxvZ19fZW1wdHkge1xuICBwYWRkaW5nOiB2YXIoLS1zcGFjZS00KTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjb2xvcjogdmFyKC0tYWRtaW4tdGV4dC1kaW0pO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgRG9jIFBpbnMgUGFnZVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmRvYy1waW5zLWNvbnRhaW5lciB7XG4gIG1heC13aWR0aDogMTIwMHB4O1xuICBtYXJnaW46IDAgYXV0bztcbiAgcGFkZGluZzogdmFyKC0tc3BhY2UtNSk7XG4gIGNvbG9yOiB2YXIoLS1hZG1pbi10ZXh0KTtcbn1cblxuLmRvYy1waW5zLWhlYWRlciBoMSB7XG4gIG1hcmdpbjogMDtcbiAgZm9udC1zaXplOiB2YXIoLS1hZG1pbi10ZXh0LTJ4bCk7XG4gIGNvbG9yOiB2YXIoLS1hZG1pbi10ZXh0KTtcbn1cblxuLmRvYy1waW5zLWFjdGlvbnMge1xuICBtYXJnaW46IHZhcigtLXNwYWNlLTUpIDA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGdhcDogdmFyKC0tc3BhY2UtMyk7XG59XG5cbi5kb2MtcGlucy1idG4tcHJpbWFyeSB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWFkbWluLXByaW1hcnkpO1xuICBjb2xvcjogI2ZmZjtcbiAgYm9yZGVyOiBub25lO1xuICBwYWRkaW5nOiB2YXIoLS1zcGFjZS0zKSB2YXIoLS1zcGFjZS01KTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBmb250LXNpemU6IHZhcigtLWFkbWluLXRleHQtc20pO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1hZG1pbi1yYWRpdXMpO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIHZhcigtLWFkbWluLXRyYW5zaXRpb24pO1xufVxuLmRvYy1waW5zLWJ0bi1wcmltYXJ5OmhvdmVyIHsgYmFja2dyb3VuZDogdmFyKC0tYWRtaW4tcHJpbWFyeS1ob3Zlcik7IH1cblxuLmRvYy1waW5zLWJ0bi1zZWNvbmRhcnkge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6IHZhcigtLWFkbWluLXRleHQtbXV0ZWQpO1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1hZG1pbi1ib3JkZXIpO1xuICBwYWRkaW5nOiB2YXIoLS1zcGFjZS0zKSB2YXIoLS1zcGFjZS01KTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBmb250LXNpemU6IHZhcigtLWFkbWluLXRleHQtc20pO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1hZG1pbi1yYWRpdXMpO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQgdmFyKC0tYWRtaW4tdHJhbnNpdGlvbik7XG59XG4uZG9jLXBpbnMtYnRuLXNlY29uZGFyeTpob3ZlciB7IGJhY2tncm91bmQ6IHZhcigtLWFkbWluLXN1cmZhY2UtaG92ZXIpOyB9XG5cbi5kb2MtcGlucy1idG4tc20ge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6IHZhcigtLWFkbWluLXRleHQtbXV0ZWQpO1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1hZG1pbi1ib3JkZXIpO1xuICBwYWRkaW5nOiB2YXIoLS1zcGFjZS0xKSB2YXIoLS1zcGFjZS0yKTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBmb250LXNpemU6IHZhcigtLWFkbWluLXRleHQteHMpO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1hZG1pbi1yYWRpdXMpO1xuICBtYXJnaW4tcmlnaHQ6IHZhcigtLXNwYWNlLTEpO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIHZhcigtLWFkbWluLXRyYW5zaXRpb24pO1xufVxuLmRvYy1waW5zLWJ0bi1zbTpob3ZlciB7IGJhY2tncm91bmQ6IHZhcigtLWFkbWluLXN1cmZhY2UtaG92ZXIpOyB9XG5cbi5kb2MtcGlucy1idG4tZGFuZ2VyIHtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1hZG1pbi1lcnJvcik7XG4gIGNvbG9yOiB2YXIoLS1hZG1pbi1lcnJvcik7XG59XG4uZG9jLXBpbnMtYnRuLWRhbmdlcjpob3ZlciB7IGJhY2tncm91bmQ6IHZhcigtLWFkbWluLWVycm9yLWJnKTsgfVxuXG4vKiBUYWJsZSAqL1xuLmRvYy1waW5zLXRhYmxlLXdyYXAge1xuICBvdmVyZmxvdy14OiBhdXRvO1xufVxuXG4uZG9jLXBpbnMtdGFibGUge1xuICB3aWR0aDogMTAwJTtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgYmFja2dyb3VuZDogdmFyKC0tYWRtaW4tc3VyZmFjZSk7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWFkbWluLWJvcmRlcik7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLWFkbWluLXJhZGl1cyk7XG59XG5cbi5kb2MtcGlucy10YWJsZSB0aCxcbi5kb2MtcGlucy10YWJsZSB0ZCB7XG4gIHBhZGRpbmc6IHZhcigtLXNwYWNlLTMpO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYWRtaW4tYm9yZGVyKTtcbn1cblxuLmRvYy1waW5zLXRhYmxlIHRoIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tYWRtaW4tYmcpO1xuICBmb250LXdlaWdodDogNTAwO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBmb250LXNpemU6IHZhcigtLWFkbWluLXRleHQteHMpO1xuICBsZXR0ZXItc3BhY2luZzogMC4wNWVtO1xuICBjb2xvcjogdmFyKC0tYWRtaW4tdGV4dC1tdXRlZCk7XG59XG5cbi5kb2MtcGlucy1kaXNhYmxlZC1yb3cgeyBvcGFjaXR5OiAwLjU7IH1cblxuLmRvYy1waW5zLXZhbHVlIGNvZGUge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1hZG1pbi1iZyk7XG4gIHBhZGRpbmc6IHZhcigtLXNwYWNlLTEpIHZhcigtLXNwYWNlLTIpO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1hZG1pbi1yYWRpdXMpO1xuICBmb250LXNpemU6IHZhcigtLWFkbWluLXRleHQtc20pO1xuICBsZXR0ZXItc3BhY2luZzogMC4xNWVtO1xuICBjb2xvcjogdmFyKC0tYWRtaW4tYWNjZW50KTtcbn1cblxuLmRvYy1waW5zLXBhdGhzLWNlbGwge1xuICBtYXgtd2lkdGg6IDIwMHB4O1xufVxuXG4uZG9jLXBpbnMtcGF0aC10YWcge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGJhY2tncm91bmQ6IHZhcigtLWFkbWluLWluZm8tYmcpO1xuICBjb2xvcjogdmFyKC0tYWRtaW4taW5mbyk7XG4gIHBhZGRpbmc6IDJweCB2YXIoLS1zcGFjZS0yKTtcbiAgbWFyZ2luOiAycHg7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLWFkbWluLXJhZGl1cyk7XG4gIGZvbnQtc2l6ZTogdmFyKC0tYWRtaW4tdGV4dC14cyk7XG59XG5cbi5kb2MtcGlucy1udW1lcmljIHsgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbi5kb2MtcGlucy1uZXZlciB7IG9wYWNpdHk6IDAuNTsgfVxuLmRvYy1waW5zLWV4cGlyZWQgeyBjb2xvcjogdmFyKC0tYWRtaW4tZXJyb3IpOyB9XG5cbi5kb2MtcGlucy1zdGF0dXMtYmFkZ2Uge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmc6IDNweCB2YXIoLS1zcGFjZS0yKTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tYWRtaW4tcmFkaXVzKTtcbiAgZm9udC1zaXplOiB2YXIoLS1hZG1pbi10ZXh0LXhzKTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbn1cblxuLmRvYy1waW5zLXN0YXR1cy1hY3RpdmUge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1hZG1pbi1zdWNjZXNzKTtcbiAgY29sb3I6ICMwMDA7XG59XG5cbi5kb2MtcGlucy1zdGF0dXMtZGlzYWJsZWQge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1hZG1pbi10ZXh0LWRpbSk7XG4gIGNvbG9yOiAjZmZmO1xufVxuXG4uZG9jLXBpbnMtc3RhdHVzLWV4cGlyZWQge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1hZG1pbi1lcnJvcik7XG4gIGNvbG9yOiAjZmZmO1xufVxuXG4uZG9jLXBpbnMtYWN0aW9ucy1jZWxsIHsgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxuXG4uZG9jLXBpbnMtZW1wdHkge1xuICBwYWRkaW5nOiB2YXIoLS1zcGFjZS04KTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjb2xvcjogdmFyKC0tYWRtaW4tdGV4dC1kaW0pO1xufVxuXG4vKiBMZWdhY3kgbm90ZSAqL1xuLmRvYy1waW5zLWxlZ2FjeS1ub3RlIHtcbiAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2UtNik7XG4gIHBhZGRpbmc6IHZhcigtLXNwYWNlLTUpO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1hZG1pbi1zdXJmYWNlKTtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYWRtaW4tYm9yZGVyKTtcbiAgYm9yZGVyLWxlZnQ6IDNweCBzb2xpZCB2YXIoLS1hZG1pbi10ZXh0LWRpbSk7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLWFkbWluLXJhZGl1cyk7XG59XG5cbi5kb2MtcGlucy1sZWdhY3ktbm90ZSBoMyB7XG4gIG1hcmdpbjogMCAwIHZhcigtLXNwYWNlLTMpIDA7XG4gIGZvbnQtc2l6ZTogdmFyKC0tYWRtaW4tdGV4dC1zbSk7XG4gIGNvbG9yOiB2YXIoLS1hZG1pbi10ZXh0KTtcbn1cblxuLmRvYy1waW5zLWxlZ2FjeS1ub3RlIHAge1xuICBtYXJnaW46IHZhcigtLXNwYWNlLTEpIDA7XG4gIGNvbG9yOiB2YXIoLS1hZG1pbi10ZXh0LW11dGVkKTtcbn1cblxuLmRvYy1waW5zLWxlZ2FjeS1ub3RlIHVsIHtcbiAgbWFyZ2luOiB2YXIoLS1zcGFjZS0zKSAwO1xuICBwYWRkaW5nLWxlZnQ6IHZhcigtLXNwYWNlLTUpO1xuICBjb2xvcjogdmFyKC0tYWRtaW4tdGV4dC1tdXRlZCk7XG59XG5cbi5kb2MtcGlucy1sZWdhY3ktbm90ZSBjb2RlIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tYWRtaW4tYmcpO1xuICBwYWRkaW5nOiAycHggdmFyKC0tc3BhY2UtMik7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLWFkbWluLXJhZGl1cyk7XG4gIGNvbG9yOiB2YXIoLS1hZG1pbi1hY2NlbnQpO1xufVxuXG4vKiBNb2RhbCAqL1xuLmRvYy1waW5zLW1vZGFsLW92ZXJsYXkge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGluc2V0OiAwO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuOCk7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB6LWluZGV4OiAxMDAwO1xufVxuXG4uZG9jLXBpbnMtbW9kYWwge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1hZG1pbi1zdXJmYWNlKTtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYWRtaW4tYm9yZGVyKTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tYWRtaW4tcmFkaXVzLWxnKTtcbiAgcGFkZGluZzogdmFyKC0tc3BhY2UtNik7XG4gIG1heC13aWR0aDogNTAwcHg7XG4gIHdpZHRoOiA5MCU7XG4gIGJveC1zaGFkb3c6IHZhcigtLWFkbWluLXNoYWRvdy1sZyk7XG59XG5cbi5kb2MtcGlucy1tb2RhbCBoMiB7XG4gIG1hcmdpbjogMCAwIHZhcigtLXNwYWNlLTUpIDA7XG4gIGZvbnQtc2l6ZTogdmFyKC0tYWRtaW4tdGV4dC14bCk7XG4gIGNvbG9yOiB2YXIoLS1hZG1pbi10ZXh0KTtcbn1cblxuLmRvYy1waW5zLWZvcm0tZ3JvdXAge1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS01KTtcbn1cblxuLmRvYy1waW5zLWZvcm0tZ3JvdXAgbGFiZWwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UtMik7XG4gIGZvbnQtc2l6ZTogdmFyKC0tYWRtaW4tdGV4dC14cyk7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGxldHRlci1zcGFjaW5nOiAwLjA1ZW07XG4gIGNvbG9yOiB2YXIoLS1hZG1pbi10ZXh0LW11dGVkKTtcbn1cblxuLmRvYy1waW5zLWZvcm0tZ3JvdXAgaW5wdXRbdHlwZT1cInRleHRcIl0sXG4uZG9jLXBpbnMtZm9ybS1ncm91cCBzZWxlY3Qge1xuICB3aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZDogdmFyKC0tYWRtaW4tYmcpO1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1hZG1pbi1ib3JkZXIpO1xuICBjb2xvcjogdmFyKC0tYWRtaW4tdGV4dCk7XG4gIHBhZGRpbmc6IHZhcigtLXNwYWNlLTMpO1xuICBmb250LXNpemU6IHZhcigtLWFkbWluLXRleHQtc20pO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1hZG1pbi1yYWRpdXMpO1xuICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgdmFyKC0tYWRtaW4tdHJhbnNpdGlvbik7XG59XG5cbi5kb2MtcGlucy1mb3JtLWdyb3VwIGlucHV0OmZvY3VzLFxuLmRvYy1waW5zLWZvcm0tZ3JvdXAgc2VsZWN0OmZvY3VzIHtcbiAgb3V0bGluZTogbm9uZTtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1hZG1pbi1wcmltYXJ5KTtcbiAgYm94LXNoYWRvdzogMCAwIDAgMnB4IHJnYmEoNTksIDEzMCwgMjQ2LCAwLjIpO1xufVxuXG4uZG9jLXBpbnMtaW5wdXQtcm93IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZ2FwOiB2YXIoLS1zcGFjZS0zKTtcbn1cblxuLmRvYy1waW5zLWlucHV0LXJvdyBpbnB1dCB7IGZsZXg6IDE7IH1cblxuLmRvYy1waW5zLWNoZWNrYm94LWdyaWQge1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpO1xuICBnYXA6IHZhcigtLXNwYWNlLTMpO1xufVxuXG4uZG9jLXBpbnMtY2hlY2tib3gtbGFiZWwge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IHZhcigtLXNwYWNlLTIpO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGZvbnQtc2l6ZTogdmFyKC0tYWRtaW4tdGV4dC1zbSk7XG4gIGNvbG9yOiB2YXIoLS1hZG1pbi10ZXh0KTtcbn1cblxuLmRvYy1waW5zLWNoZWNrYm94LWxhYmVsIGlucHV0IHtcbiAgYWNjZW50LWNvbG9yOiB2YXIoLS1hZG1pbi1wcmltYXJ5KTtcbn1cblxuLmRvYy1waW5zLW1vZGFsLWFjdGlvbnMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBnYXA6IHZhcigtLXNwYWNlLTMpO1xuICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjZS02KTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEFkbWluIExvZ2luIFBhZ2VcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5hZG1pbi1sb2dpbi1jb250YWluZXIge1xuICBtaW4taGVpZ2h0OiAxMDB2aDtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHBhZGRpbmc6IHZhcigtLXNwYWNlLTQpO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1hZG1pbi1iZyk7XG59XG5cbi5hZG1pbi1sb2dpbi1jYXJkIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogNDAwcHg7XG4gIGJhY2tncm91bmQ6IHZhcigtLWFkbWluLXN1cmZhY2UpO1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1hZG1pbi1ib3JkZXIpO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1hZG1pbi1yYWRpdXMtbGcpO1xuICBib3gtc2hhZG93OiB2YXIoLS1hZG1pbi1zaGFkb3ctbGcpO1xuICBwYWRkaW5nOiB2YXIoLS1zcGFjZS04KTtcbn1cblxuLmFkbWluLWxvZ2luLWhlYWRlciB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UtNik7XG59XG5cbi5hZG1pbi1sb2dpbi10aXRsZSB7XG4gIGZvbnQtc2l6ZTogdmFyKC0tYWRtaW4tdGV4dC0yeGwpO1xuICBmb250LXdlaWdodDogNzAwO1xuICBjb2xvcjogdmFyKC0tYWRtaW4tYWNjZW50KTtcbiAgbWFyZ2luOiAwIDAgdmFyKC0tc3BhY2UtMikgMDtcbn1cblxuLmFkbWluLWxvZ2luLXN1YnRpdGxlIHtcbiAgZm9udC1zaXplOiB2YXIoLS1hZG1pbi10ZXh0LWJhc2UpO1xuICBjb2xvcjogdmFyKC0tYWRtaW4tdGV4dC1tdXRlZCk7XG4gIG1hcmdpbjogMDtcbn1cblxuLmFkbWluLWxvZ2luLWlucHV0IHtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IHZhcigtLXNwYWNlLTQpO1xuICBmb250LXNpemU6IHZhcigtLWFkbWluLXRleHQteGwpO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGxldHRlci1zcGFjaW5nOiAwLjVlbTtcbiAgYmFja2dyb3VuZDogdmFyKC0tYWRtaW4tYmcpO1xuICBib3JkZXI6IDJweCBzb2xpZCB2YXIoLS1hZG1pbi1ib3JkZXIpO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1hZG1pbi1yYWRpdXMpO1xuICBjb2xvcjogdmFyKC0tYWRtaW4tdGV4dCk7XG4gIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciB2YXIoLS1hZG1pbi10cmFuc2l0aW9uKTtcbn1cblxuLmFkbWluLWxvZ2luLWlucHV0OmZvY3VzIHtcbiAgb3V0bGluZTogbm9uZTtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1hZG1pbi1wcmltYXJ5KTtcbn1cblxuLmFkbWluLWxvZ2luLWlucHV0OmRpc2FibGVkIHtcbiAgb3BhY2l0eTogMC41O1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xufVxuXG4uYWRtaW4tbG9naW4tYnRuIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi10b3A6IHZhcigtLXNwYWNlLTQpO1xufVxuXG4uYWRtaW4tbG9naW4tZm9vdGVyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjZS02KTtcbn1cblxuLmFkbWluLWxvZ2luLWZvb3RlciBhIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4uYWRtaW4tbG9naW4tZm9vdGVyIGE6aG92ZXIge1xuICBjb2xvcjogdmFyKC0tYWRtaW4tdGV4dCk7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBMQUIgUVVFVUUgREFTSEJPQVJEIFx1MjAxNCBUVi93YWxsIGRpc3BsYXkgb3B0aW1pemVkXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKiBIZWFkZXIgcm93OiB0aXRsZSBsZWZ0LCBjbG9jayByaWdodCAqL1xuLmxxLWhlYWRlci1yb3cge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xufVxuXG4vKiBMaXZlIGNsb2NrICovXG4ubHEtY2xvY2sge1xuICB0ZXh0LWFsaWduOiByaWdodDtcbiAgZmxleC1zaHJpbms6IDA7XG59XG5cbi5scS1jbG9jay10aW1lIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogMnJlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgY29sb3I6IHZhcigtLWFkbWluLXRleHQpO1xuICBmb250LXZhcmlhbnQtbnVtZXJpYzogdGFidWxhci1udW1zO1xuICBsaW5lLWhlaWdodDogMTtcbn1cblxuLmxxLWNsb2NrLWRhdGUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiAwLjg1cmVtO1xuICBjb2xvcjogdmFyKC0tYWRtaW4tdGV4dC1tdXRlZCk7XG4gIG1hcmdpbi10b3A6IDJweDtcbn1cblxuLyogU3RhdHMgZ3JpZDogNCBjb2x1bW5zICovXG4ubHEtc3RhdHMtZ3JpZCB7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDQsIDFmcik7XG59XG5cbi8qIFBpcGVsaW5lIHZpc3VhbGl6YXRpb24gKi9cbi5scS1waXBlbGluZS1iYXJzIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZ2FwOiA2cHg7XG59XG5cbi5scS1waXBlbGluZS1zdGFnZSB7XG4gIGZsZXg6IDE7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi5scS1waXBlbGluZS1iYXItd3JhcCB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDgwcHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbn1cblxuLmxxLXBpcGVsaW5lLWJhciB7XG4gIHdpZHRoOiAxMDAlO1xuICBtaW4taGVpZ2h0OiA0cHg7XG4gIGJvcmRlci1yYWRpdXM6IDRweCA0cHggMCAwO1xuICB0cmFuc2l0aW9uOiBoZWlnaHQgMC4zcyBlYXNlO1xufVxuXG4ubHEtcGlwZWxpbmUtbGFiZWwge1xuICBmb250LXNpemU6IDAuN3JlbTtcbiAgY29sb3I6IHZhcigtLWFkbWluLXRleHQtbXV0ZWQpO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBsZXR0ZXItc3BhY2luZzogMC4wNWVtO1xuICBtYXJnaW4tdG9wOiA2cHg7XG59XG5cbi5scS1waXBlbGluZS1jb3VudCB7XG4gIGZvbnQtc2l6ZTogMS4xcmVtO1xuICBmb250LXdlaWdodDogNjAwO1xuICBjb2xvcjogdmFyKC0tYWRtaW4tdGV4dCk7XG59XG5cbi8qIE9yZGVyIHRhYmxlICovXG4ubHEtdGFibGUgeyB3aWR0aDogMTAwJTsgfVxuXG4ubHEtdGMtY2VsbCB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2U7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG59XG5cbi5scS1maWxtLWNlbGwge1xuICBmb250LXNpemU6IDAuODVyZW07XG59XG5cbi5scS1zdGF0dXMtYmFkZ2Uge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmc6IDJweCAxMHB4O1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgYmFja2dyb3VuZDogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLWJhZGdlLWNvbG9yKSAxNSUsIHRyYW5zcGFyZW50KTtcbiAgY29sb3I6IHZhcigtLWJhZGdlLWNvbG9yKTtcbn1cblxuLyogQWdlIGNvbG9ycyAqL1xuLmxxLWFnZS1vdmVyZHVlIHsgY29sb3I6IHZhcigtLWFkbWluLWVycm9yKTsgZm9udC13ZWlnaHQ6IDYwMDsgfVxuLmxxLWFnZS13YXJuaW5nIHsgY29sb3I6IHZhcigtLWFkbWluLXdhcm5pbmcpOyB9XG4ubHEtYWdlLW9rIHsgY29sb3I6IHZhcigtLWFkbWluLXN1Y2Nlc3MpOyB9XG5cbi8qIFFDIHN0YXR1cyAqL1xuLmxxLXFjLXBhc3MgeyBjb2xvcjogdmFyKC0tYWRtaW4tc3VjY2Vzcyk7IGZvbnQtd2VpZ2h0OiA2MDA7IH1cbi5scS1xYy1mYWlsIHsgY29sb3I6IHZhcigtLWFkbWluLWVycm9yKTsgZm9udC13ZWlnaHQ6IDYwMDsgfVxuXG4vKiBEZWxpdmVyeSByb3dzICovXG4ubHEtZGVsaXZlcnktcm93IHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwYWRkaW5nOiAxMHB4IDA7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1hZG1pbi1ib3JkZXIpO1xufVxuXG4ubHEtZGVsaXZlcnktcm93Omxhc3QtY2hpbGQgeyBib3JkZXItYm90dG9tOiBub25lOyB9XG5cbi5scS1kZWxpdmVyeS1pbmZvIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiAxMHB4O1xufVxuXG4ubHEtZGVsaXZlcnktbmFtZSB7IGZvbnQtd2VpZ2h0OiA2MDA7IH1cblxuLmxxLWRlbGl2ZXJ5LWNvbXBsZXRlIHsgY29sb3I6IHZhcigtLWFkbWluLXN1Y2Nlc3MpOyB9XG4ubHEtZGVsaXZlcnktcHJvZ3Jlc3MgeyBjb2xvcjogdmFyKC0tYWRtaW4td2FybmluZyk7IH1cbi5scS1kZWxpdmVyeS1vcGVuZWQgeyBjb2xvcjogdmFyKC0tYWRtaW4taW5mbyk7IH1cblxuLyogRW1wdHkgc3RhdGUgKi9cbi5scS1lbXB0eS1zdGF0ZSB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgY29sb3I6IHZhcigtLWFkbWluLXRleHQtbXV0ZWQpO1xuICBwYWRkaW5nOiAyNHB4O1xufVxuXG4vKiAtLS0gTW9iaWxlOiBzdGFjayBzdGF0cyAtLS0gKi9cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAubHEtc3RhdHMtZ3JpZCB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTtcbiAgfVxuXG4gIC5scS1oZWFkZXItcm93IHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogOHB4O1xuICB9XG5cbiAgLmxxLWNsb2NrIHsgdGV4dC1hbGlnbjogbGVmdDsgfVxuXG4gIC5scS1jbG9jay10aW1lIHsgZm9udC1zaXplOiAxLjVyZW07IH1cblxuICAubHEtZGVsaXZlcnktcm93IHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgIGdhcDogNHB4O1xuICB9XG59XG5cbi8qIC0tLSBUViAvIGxhcmdlIGRpc3BsYXkgbW9kZSAoZnVsbHNjcmVlbiBvciB2ZXJ5IGxhcmdlIHZpZXdwb3J0KSAtLS0gKi9cbkBtZWRpYSAobWluLXdpZHRoOiAxNjAwcHgpIHtcbiAgLmxxLWNsb2NrLXRpbWUgeyBmb250LXNpemU6IDNyZW07IH1cbiAgLmxxLWNsb2NrLWRhdGUgeyBmb250LXNpemU6IDEuMXJlbTsgfVxuXG4gIC5scS1waXBlbGluZS1jb3VudCB7IGZvbnQtc2l6ZTogMS41cmVtOyB9XG4gIC5scS1waXBlbGluZS1sYWJlbCB7IGZvbnQtc2l6ZTogMC44NXJlbTsgfVxuICAubHEtcGlwZWxpbmUtYmFyLXdyYXAgeyBoZWlnaHQ6IDEyMHB4OyB9XG5cbiAgLmxxLXRhYmxlIHsgZm9udC1zaXplOiAxLjFyZW07IH1cbiAgLmxxLXRhYmxlIHRoLCAubHEtdGFibGUgdGQgeyBwYWRkaW5nOiAxMnB4IDE2cHg7IH1cblxuICAubHEtZGVsaXZlcnktcm93IHsgcGFkZGluZzogMTRweCAwOyBmb250LXNpemU6IDEuMDVyZW07IH1cbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIExhYiBTY2FuIFJldmlldyBVSVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnJldmlldy10b29sYmFyIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IHZhcigtLXNwYWNlLTMpO1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS00KTtcbiAgZmxleC13cmFwOiB3cmFwO1xufVxuXG4ucmV2aWV3LWZpbHRlcnMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBnYXA6IHZhcigtLXNwYWNlLTEpO1xufVxuXG4ucmV2aWV3LWZpbHRlci1idG4ge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1hZG1pbi1zdXJmYWNlKTtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYWRtaW4tYm9yZGVyKTtcbiAgY29sb3I6IHZhcigtLWFkbWluLXRleHQpO1xuICBwYWRkaW5nOiA2cHggMTRweDtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tYWRtaW4tcmFkaXVzLXNtKTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBmb250LXNpemU6IDAuODVyZW07XG4gIHRyYW5zaXRpb246IGFsbCB2YXIoLS1hZG1pbi10cmFuc2l0aW9uKTtcbn1cblxuLnJldmlldy1maWx0ZXItYnRuOmhvdmVyIHsgYmFja2dyb3VuZDogdmFyKC0tYWRtaW4tYm9yZGVyKTsgfVxuLnJldmlldy1maWx0ZXItYnRuLmFjdGl2ZSB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWFkbWluLWFjY2VudCk7XG4gIGNvbG9yOiB2YXIoLS1hZG1pbi1iZyk7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tYWRtaW4tYWNjZW50KTtcbn1cblxuLnJldmlldy1iYXRjaC1idG4ge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1hZG1pbi1zdWNjZXNzKTtcbiAgY29sb3I6ICMwMDA7XG4gIGJvcmRlcjogbm9uZTtcbiAgcGFkZGluZzogOHB4IDE2cHg7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLWFkbWluLXJhZGl1cy1zbSk7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZm9udC1zaXplOiAwLjg1cmVtO1xuICBmb250LXdlaWdodDogNjAwO1xufVxuXG4ucmV2aWV3LWJhdGNoLWJ0bjpob3ZlciB7IG9wYWNpdHk6IDAuOTsgfVxuXG4vKiBMYWIgcmV2aWV3OiBzaWRlYmFyIHNjYW4gbGlzdCAoc2NvcGVkIHRvIGxhYiBjb250ZXh0KSAqL1xuLmxhYi1yZXZpZXcgLnJldmlldy1zaWRlYmFyIHtcbiAgd2lkdGg6IDI4MHB4O1xuICBmbGV4LXNocmluazogMDtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgbWF4LWhlaWdodDogODB2aDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiB2YXIoLS1zcGFjZS0yKTtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gIC5sYWItcmV2aWV3IC5yZXZpZXctc2lkZWJhciB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LWhlaWdodDogMjAwcHg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgIG92ZXJmbG93LXk6IGhpZGRlbjtcbiAgfVxuICAubGFiLXJldmlldyAucmV2aWV3LXNpZGViYXIgLnJldmlldy1jYXJkIHsgbWluLXdpZHRoOiAxNjBweDsgZmxleC1zaHJpbms6IDA7IH1cbn1cblxuLnJldmlldy1jYXJkIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tYWRtaW4tc3VyZmFjZSk7XG4gIGJvcmRlcjogMnB4IHNvbGlkIHZhcigtLWFkbWluLWJvcmRlcik7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLWFkbWluLXJhZGl1cy1zbSk7XG4gIHBhZGRpbmc6IHZhcigtLXNwYWNlLTIpIHZhcigtLXNwYWNlLTMpO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciB2YXIoLS1hZG1pbi10cmFuc2l0aW9uKTtcbn1cblxuLnJldmlldy1jYXJkOmhvdmVyIHsgYm9yZGVyLWNvbG9yOiB2YXIoLS1hZG1pbi1hY2NlbnQpOyB9XG4ucmV2aWV3LWNhcmQuc2VsZWN0ZWQgeyBib3JkZXItY29sb3I6IHZhcigtLWFkbWluLWFjY2VudCk7IGJhY2tncm91bmQ6IHJnYmEoOTksIDEwMiwgMjQxLCAwLjEpOyB9XG5cbi5yZXZpZXctY2FyZC1oZWFkZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIG1hcmdpbi1ib3R0b206IDRweDtcbn1cblxuLnJldmlldy1jYXJkLWlkIHsgZm9udC13ZWlnaHQ6IDcwMDsgZm9udC1zaXplOiAwLjlyZW07IH1cblxuLnJldmlldy1jYXJkLWZpbGVuYW1lIHtcbiAgZm9udC1zaXplOiAwLjhyZW07XG4gIGNvbG9yOiB2YXIoLS1hZG1pbi1tdXRlZCk7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4ucmV2aWV3LWNhcmQtbWV0YSB7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgY29sb3I6IHZhcigtLWFkbWluLW11dGVkKTtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBtYXJnaW4tdG9wOiA0cHg7XG59XG5cbi5yZXZpZXctY2FyZC1zdGF0dXMge1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBmb250LXdlaWdodDogNjAwO1xuICBmb250LXNpemU6IDAuN3JlbTtcbn1cblxuLyogUUMgYmFkZ2UgKi9cbi5yZXZpZXctcWMtYmFkZ2Uge1xuICBmb250LXNpemU6IDAuNzVyZW07XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIHBhZGRpbmc6IDJweCA4cHg7XG4gIGJvcmRlci1yYWRpdXM6IDEwcHg7XG59XG5cbi5yZXZpZXctcWMtZ29vZCB7IGJhY2tncm91bmQ6IHZhcigtLWFkbWluLXN1Y2Nlc3MpOyBjb2xvcjogIzAwMDsgfVxuLnJldmlldy1xYy1vayB7IGJhY2tncm91bmQ6IHZhcigtLWFkbWluLXdhcm5pbmcpOyBjb2xvcjogIzAwMDsgfVxuLnJldmlldy1xYy1iYWQgeyBiYWNrZ3JvdW5kOiB2YXIoLS1hZG1pbi1lcnJvcik7IGNvbG9yOiAjZmZmOyB9XG5cbi8qIERldGFpbCBwYW5lbCAqL1xuLnJldmlldy1kZXRhaWwge1xuICBmbGV4OiAxO1xuICBtaW4td2lkdGg6IDA7XG59XG5cbi5yZXZpZXctbm8tc2VsZWN0aW9uLCAucmV2aWV3LWVtcHR5IHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIG1pbi1oZWlnaHQ6IDMwMHB4O1xuICBjb2xvcjogdmFyKC0tYWRtaW4tbXV0ZWQpO1xuICBmb250LXNpemU6IDEuMXJlbTtcbn1cblxuLyogQmVmb3JlL0FmdGVyIGNvbXBhcmlzb24gKi9cbi5yZXZpZXctY29tcGFyZSB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmcjtcbiAgZ2FwOiB2YXIoLS1zcGFjZS0zKTtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UtNCk7XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA2MDBweCkge1xuICAucmV2aWV3LWNvbXBhcmUgeyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjsgfVxufVxuXG4ucmV2aWV3LWNvbXBhcmUtcGFuZWwge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1hZG1pbi1zdXJmYWNlKTtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYWRtaW4tYm9yZGVyKTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tYWRtaW4tcmFkaXVzLXNtKTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLnJldmlldy1jb21wYXJlLWxhYmVsIHtcbiAgcGFkZGluZzogdmFyKC0tc3BhY2UtMikgdmFyKC0tc3BhY2UtMyk7XG4gIGZvbnQtc2l6ZTogMC44NXJlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWFkbWluLWJvcmRlcik7XG4gIG1hcmdpbjogMDtcbn1cblxuLnJldmlldy1wcmV2aWV3LWltZyB7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWF4LWhlaWdodDogNDAwcHg7XG4gIG9iamVjdC1maXQ6IGNvbnRhaW47XG4gIGJhY2tncm91bmQ6ICMwMDA7XG59XG5cbi5yZXZpZXctbm8tcHJldmlldyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBoZWlnaHQ6IDIwMHB4O1xuICBjb2xvcjogdmFyKC0tYWRtaW4tbXV0ZWQpO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1hZG1pbi1iZyk7XG59XG5cbi8qIFFDIFNjb3JlcyBncmlkICovXG4ucmV2aWV3LXNlY3Rpb24ge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1hZG1pbi1zdXJmYWNlKTtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYWRtaW4tYm9yZGVyKTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tYWRtaW4tcmFkaXVzLXNtKTtcbiAgcGFkZGluZzogdmFyKC0tc3BhY2UtMyk7XG4gIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlLTMpO1xufVxuXG4ucmV2aWV3LXNlY3Rpb24gaDMge1xuICBtYXJnaW46IDAgMCB2YXIoLS1zcGFjZS0yKSAwO1xuICBmb250LXNpemU6IDAuOXJlbTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgY29sb3I6IHZhcigtLWFkbWluLW11dGVkKTtcbn1cblxuLnJldmlldy1zY29yZXMtZ3JpZCB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZmlsbCwgbWlubWF4KDEyMHB4LCAxZnIpKTtcbiAgZ2FwOiB2YXIoLS1zcGFjZS0yKTtcbn1cblxuLnJldmlldy1zY29yZS1pdGVtIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiAycHg7XG59XG5cbi5yZXZpZXctc2NvcmUtbGFiZWwge1xuICBmb250LXNpemU6IDAuNzVyZW07XG4gIGNvbG9yOiB2YXIoLS1hZG1pbi1tdXRlZCk7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbi5yZXZpZXctc2NvcmUtdmFsdWUge1xuICBmb250LXNpemU6IDEuMXJlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbn1cblxuLyogQ29ycmVjdGlvbnMgbGlzdCAqL1xuLnJldmlldy1jb3JyZWN0aW9ucy1saXN0IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiB2YXIoLS1zcGFjZS0xKTtcbn1cblxuLnJldmlldy1jb3JyZWN0aW9uLWl0ZW0ge1xuICBmb250LXNpemU6IDAuODVyZW07XG4gIHBhZGRpbmc6IDRweCAwO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYWRtaW4tYm9yZGVyKTtcbn1cblxuLnJldmlldy1jb3JyZWN0aW9uLWl0ZW06bGFzdC1jaGlsZCB7IGJvcmRlci1ib3R0b206IG5vbmU7IH1cblxuLyogQWN0aW9uIGJ1dHRvbnMgKi9cbi5yZXZpZXctYWN0aW9ucyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGdhcDogdmFyKC0tc3BhY2UtMik7XG4gIHBhZGRpbmc6IHZhcigtLXNwYWNlLTMpO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1hZG1pbi1zdXJmYWNlKTtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYWRtaW4tYm9yZGVyKTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tYWRtaW4tcmFkaXVzLXNtKTtcbiAgcG9zaXRpb246IHN0aWNreTtcbiAgYm90dG9tOiAwO1xuICBmbGV4LXdyYXA6IHdyYXA7XG59XG5cbi5yZXZpZXctYWN0aW9uLWJ0biB7XG4gIHBhZGRpbmc6IDEwcHggMjBweDtcbiAgYm9yZGVyOiBub25lO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1hZG1pbi1yYWRpdXMtc20pO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGZvbnQtc2l6ZTogMC45cmVtO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IHZhcigtLWFkbWluLXRyYW5zaXRpb24pO1xufVxuXG4ucmV2aWV3LWFjdGlvbi1idG46aG92ZXIgeyBvcGFjaXR5OiAwLjg1OyB9XG5cbi5yZXZpZXctYnRuLWFwcHJvdmUge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1hZG1pbi1zdWNjZXNzKTtcbiAgY29sb3I6ICMwMDA7XG4gIGZsZXg6IDE7XG59XG5cbi5yZXZpZXctYnRuLWFwcHJvdmUtb25seSB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWFkbWluLXN1cmZhY2UpO1xuICBjb2xvcjogdmFyKC0tYWRtaW4tc3VjY2Vzcyk7XG4gIGJvcmRlcjogMnB4IHNvbGlkIHZhcigtLWFkbWluLXN1Y2Nlc3MpO1xufVxuXG4ucmV2aWV3LWJ0bi1yZWplY3Qge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1hZG1pbi1lcnJvcik7XG4gIGNvbG9yOiAjZmZmO1xufVxuXG4ucmV2aWV3LWJ0bi1yZXByb2Nlc3Mge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1hZG1pbi1zdXJmYWNlKTtcbiAgY29sb3I6IHZhcigtLWFkbWluLXdhcm5pbmcpO1xuICBib3JkZXI6IDJweCBzb2xpZCB2YXIoLS1hZG1pbi13YXJuaW5nKTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIE9SREVSIFBST0dSRVNTIFRSQUNLRVJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5wcm9ncmVzcy10cmFja2VyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgbWFyZ2luOiB2YXIoLS1zcGFjZS00KSAwIHZhcigtLXNwYWNlLTYpIDA7XG4gIHBhZGRpbmc6IHZhcigtLXNwYWNlLTQpIHZhcigtLXNwYWNlLTMpO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1hZG1pbi1zdXJmYWNlKTtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYWRtaW4tYm9yZGVyKTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tYWRtaW4tcmFkaXVzLCA4cHgpO1xuICBvdmVyZmxvdy14OiBhdXRvO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5wcm9ncmVzcy1zdGVwIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZmxleDogMTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtaW4td2lkdGg6IDcwcHg7XG59XG5cbi5wcm9ncmVzcy1zdGVwOjpiZWZvcmUge1xuICBjb250ZW50OiAnJztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDE0cHg7XG4gIGxlZnQ6IC01MCU7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDNweDtcbiAgYmFja2dyb3VuZDogdmFyKC0tYWRtaW4tYm9yZGVyKTtcbiAgei1pbmRleDogMDtcbn1cblxuLnByb2dyZXNzLXN0ZXA6Zmlyc3QtY2hpbGQ6OmJlZm9yZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5wcm9ncmVzcy1zdGVwLmNvbXBsZXRlZDo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tYWRtaW4tc3VjY2Vzcyk7XG59XG5cbi5wcm9ncmVzcy1zdGVwLmN1cnJlbnQ6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgdmFyKC0tYWRtaW4tc3VjY2VzcykgNTAlLCB2YXIoLS1hZG1pbi1ib3JkZXIpIDUwJSk7XG59XG5cbi5wcm9ncmVzcy1kb3Qge1xuICB3aWR0aDogMjhweDtcbiAgaGVpZ2h0OiAyOHB4O1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGJhY2tncm91bmQ6IHZhcigtLWFkbWluLWJnKTtcbiAgYm9yZGVyOiAzcHggc29saWQgdmFyKC0tYWRtaW4tYm9yZGVyKTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHotaW5kZXg6IDE7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZm9udC1zaXplOiAxMnB4O1xufVxuXG4ucHJvZ3Jlc3Mtc3RlcC5jb21wbGV0ZWQgLnByb2dyZXNzLWRvdCB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWFkbWluLXN1Y2Nlc3MpO1xuICBib3JkZXItY29sb3I6IHZhcigtLWFkbWluLXN1Y2Nlc3MpO1xuICBjb2xvcjogIzAwMDtcbn1cblxuLnByb2dyZXNzLXN0ZXAuY3VycmVudCAucHJvZ3Jlc3MtZG90IHtcbiAgYmFja2dyb3VuZDogdmFyKC0tYWRtaW4tcHJpbWFyeSk7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tYWRtaW4tcHJpbWFyeSk7XG4gIGNvbG9yOiAjZmZmO1xuICBib3gtc2hhZG93OiAwIDAgMCA0cHggcmdiYSg1OSwgMTMwLCAyNDYsIDAuMjUpO1xuICBhbmltYXRpb246IHByb2dyZXNzLXB1bHNlIDJzIGVhc2UtaW4tb3V0IGluZmluaXRlO1xufVxuXG4ucHJvZ3Jlc3Mtc3RlcC5jYW5jZWxsZWQgLnByb2dyZXNzLWRvdCB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWFkbWluLWVycm9yKTtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1hZG1pbi1lcnJvcik7XG4gIGNvbG9yOiAjZmZmO1xufVxuXG5Aa2V5ZnJhbWVzIHByb2dyZXNzLXB1bHNlIHtcbiAgMCUsIDEwMCUgeyBib3gtc2hhZG93OiAwIDAgMCA0cHggcmdiYSg1OSwgMTMwLCAyNDYsIDAuMjUpOyB9XG4gIDUwJSB7IGJveC1zaGFkb3c6IDAgMCAwIDhweCByZ2JhKDU5LCAxMzAsIDI0NiwgMC4xKTsgfVxufVxuXG4ucHJvZ3Jlc3MtbGFiZWwge1xuICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjZS0yKTtcbiAgZm9udC1zaXplOiAwLjdyZW07XG4gIGNvbG9yOiB2YXIoLS1hZG1pbi10ZXh0LWRpbSk7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLnByb2dyZXNzLXN0ZXAuY29tcGxldGVkIC5wcm9ncmVzcy1sYWJlbCB7XG4gIGNvbG9yOiB2YXIoLS1hZG1pbi1zdWNjZXNzKTtcbn1cblxuLnByb2dyZXNzLXN0ZXAuY3VycmVudCAucHJvZ3Jlc3MtbGFiZWwge1xuICBjb2xvcjogdmFyKC0tYWRtaW4tcHJpbWFyeSk7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA2NDBweCkge1xuICAucHJvZ3Jlc3MtdHJhY2tlciB7IHBhZGRpbmc6IHZhcigtLXNwYWNlLTMpIHZhcigtLXNwYWNlLTIpOyB9XG4gIC5wcm9ncmVzcy1zdGVwIHsgbWluLXdpZHRoOiA1NXB4OyB9XG4gIC5wcm9ncmVzcy1sYWJlbCB7IGZvbnQtc2l6ZTogMC42cmVtOyB9XG4gIC5wcm9ncmVzcy1kb3QgeyB3aWR0aDogMjJweDsgaGVpZ2h0OiAyMnB4OyBmb250LXNpemU6IDEwcHg7IH1cbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEZMRUVUIE1PTklUT1IgREFTSEJPQVJEXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uZmxlZXQtcmVmcmVzaC1idG4ge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1hY2NlbnQpO1xuICBjb2xvcjogI2ZmZjtcbiAgYm9yZGVyOiBub25lO1xuICBwYWRkaW5nOiA0cHggMTJweDtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgbWFyZ2luLWxlZnQ6IDhweDtcbn1cblxuLyogRmxlZXQgQWxlcnQgVGlja2VyICovXG4uZmxlZXQtdGlja2VyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgYmFja2dyb3VuZDogIzBkMTExNztcbiAgYm9yZGVyOiAxcHggc29saWQgIzFmMjkzNztcbiAgYm9yZGVyLXJhZGl1czogNnB4O1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS00KTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgaGVpZ2h0OiAzNnB4O1xufVxuXG4uZmxlZXQtdGlja2VyLWNsZWFyIHtcbiAgYm9yZGVyLWNvbG9yOiAjMTZhMzRhMzM7XG59XG5cbi5mbGVldC10aWNrZXItb2sge1xuICBjb2xvcjogIzIyYzU1ZTtcbiAgZm9udC1zaXplOiAwLjhyZW07XG4gIHBhZGRpbmc6IDAgMTZweDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgd2lkdGg6IDEwMCU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLmZsZWV0LXRpY2tlci1jb3VudCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGdhcDogNnB4O1xuICBwYWRkaW5nOiAwIDEycHg7XG4gIGZsZXgtc2hyaW5rOiAwO1xuICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjMWYyOTM3O1xuICBoZWlnaHQ6IDEwMCU7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi5mbGVldC10aWNrZXItY3JpdC1iYWRnZSB7XG4gIGJhY2tncm91bmQ6ICM5OTFiMWI7XG4gIGNvbG9yOiAjZmNhNWE1O1xuICBwYWRkaW5nOiAycHggOHB4O1xuICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICBmb250LXNpemU6IDAuNjVyZW07XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGxldHRlci1zcGFjaW5nOiAwLjA1ZW07XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGFuaW1hdGlvbjogZmxlZXQtcHVsc2UtY3JpdGljYWwgMS41cyBlYXNlLWluLW91dCBpbmZpbml0ZTtcbn1cblxuLmZsZWV0LXRpY2tlci13YXJuLWJhZGdlIHtcbiAgYmFja2dyb3VuZDogIzcxM2YxMjtcbiAgY29sb3I6ICNmY2QzNGQ7XG4gIHBhZGRpbmc6IDJweCA4cHg7XG4gIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gIGZvbnQtc2l6ZTogMC42NXJlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMDVlbTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLmZsZWV0LXRpY2tlci10cmFjayB7XG4gIGZsZXg6IDE7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuXG4uZmxlZXQtdGlja2VyLXNjcm9sbCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogMzJweDtcbiAgaGVpZ2h0OiAxMDAlO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBwYWRkaW5nOiAwIDE2cHg7XG59XG5cbi5mbGVldC10aWNrZXItYW5pbWF0ZSB7XG4gIGFuaW1hdGlvbjogdGlja2VyLXNjcm9sbCAzMHMgbGluZWFyIGluZmluaXRlO1xufVxuXG4uZmxlZXQtdGlja2VyLXRyYWNrOmhvdmVyIC5mbGVldC10aWNrZXItYW5pbWF0ZSB7XG4gIGFuaW1hdGlvbi1wbGF5LXN0YXRlOiBwYXVzZWQ7XG59XG5cbkBrZXlmcmFtZXMgdGlja2VyLXNjcm9sbCB7XG4gIDAlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOyB9XG4gIDEwMCUgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7IH1cbn1cblxuLmZsZWV0LXRpY2tlci1pdGVtIHtcbiAgZm9udC1zaXplOiAwLjhyZW07XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGZsZXgtc2hyaW5rOiAwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHBhZGRpbmc6IDNweCAxMHB4O1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4xNXM7XG59XG5cbi5mbGVldC10aWNrZXItaXRlbTpob3ZlciB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wOCk7XG59XG5cbi5mbGVldC10aWNrZXItaXRlbSBzdHJvbmcge1xuICBmb250LXdlaWdodDogNzAwO1xufVxuXG4uZmxlZXQtdGlja2VyLWNyaXRpY2FsIHtcbiAgY29sb3I6ICNmODcxNzE7XG4gIGFuaW1hdGlvbjogZmxlZXQtdGlja2VyLXB1bHNlIDJzIGVhc2UtaW4tb3V0IGluZmluaXRlO1xufVxuXG4uZmxlZXQtdGlja2VyLWNyaXRpY2FsIHN0cm9uZyB7XG4gIGNvbG9yOiAjZmNhNWE1O1xufVxuXG4uZmxlZXQtdGlja2VyLWNyaXRpY2FsOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogcmdiYSgyMzksIDY4LCA2OCwgMC4xNSk7XG59XG5cbkBrZXlmcmFtZXMgZmxlZXQtdGlja2VyLXB1bHNlIHtcbiAgMCUsIDEwMCUgeyBvcGFjaXR5OiAxOyB9XG4gIDUwJSB7IG9wYWNpdHk6IDAuNjsgfVxufVxuXG4uZmxlZXQtdGlja2VyLXdhcm5pbmcge1xuICBjb2xvcjogI2ZiYmYyNDtcbn1cblxuLmZsZWV0LXRpY2tlci13YXJuaW5nIHN0cm9uZyB7XG4gIGNvbG9yOiAjZmNkMzRkO1xufVxuXG4uZmxlZXQtdGlja2VyLXdhcm5pbmc6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1MSwgMTkxLCAzNiwgMC4xKTtcbn1cblxuLyogTGVnYWN5IGFsZXJ0IGNsYXNzZXMga2VwdCBmb3IgYW55IHJlbWFpbmluZyByZWZlcmVuY2VzICovXG4uZmxlZXQtYWxlcnRzIHtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UtNCk7XG59XG5cbi5mbGVldC1hbGVydCB7XG4gIHBhZGRpbmc6IDhweCAxMnB4O1xuICBib3JkZXItcmFkaXVzOiA2cHg7XG4gIG1hcmdpbi1ib3R0b206IDRweDtcbiAgZm9udC1zaXplOiAwLjg1cmVtO1xufVxuXG4uZmxlZXQtYWxlcnQtd2FybmluZyB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAxOTMsIDcsIDAuMTUpO1xuICBib3JkZXItbGVmdDogM3B4IHNvbGlkICNmZmMxMDc7XG4gIGNvbG9yOiAjZmZjMTA3O1xufVxuXG4uZmxlZXQtYWxlcnQtY3JpdGljYWwge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI0NCwgNjcsIDU0LCAwLjE1KTtcbiAgYm9yZGVyLWxlZnQ6IDNweCBzb2xpZCAjZjQ0MzM2O1xuICBjb2xvcjogI2Y0NDMzNjtcbn1cblxuLmZsZWV0LXRhZ3Mge1xuICBkaXNwbGF5OiBmbGV4O1xuICBnYXA6IDZweDtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UtNCk7XG4gIGZsZXgtd3JhcDogd3JhcDtcbn1cblxuLmZsZWV0LXRhZyB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LDI1NSwyNTUsMC4wOCk7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsMC4xNSk7XG4gIGNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LDAuNyk7XG4gIHBhZGRpbmc6IDRweCAxMHB4O1xuICBib3JkZXItcmFkaXVzOiAxMnB4O1xuICBmb250LXNpemU6IDAuNzVyZW07XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLmZsZWV0LXRhZy1hY3RpdmUge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1hY2NlbnQpO1xuICBjb2xvcjogI2ZmZjtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1hY2NlbnQpO1xufVxuXG4uZmxlZXQtZ3JpZCB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZmlsbCwgbWlubWF4KG1pbigzNDBweCwgMTAwJSksIDFmcikpO1xuICBnYXA6IHZhcigtLXNwYWNlLTQpO1xufVxuXG4uZmxlZXQtY2FyZCB7XG4gIGJhY2tncm91bmQ6IHZhcigtLXN1cmZhY2UpO1xuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDI1NSwyNTUsMjU1LDAuMDgpO1xuICBib3JkZXItcmFkaXVzOiAxMnB4O1xuICBwYWRkaW5nOiB2YXIoLS1zcGFjZS00KTtcbiAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuMnM7XG59XG5cbi5mbGVldC1jYXJkLmZsZWV0LXN0YXR1cy1vbmxpbmUge1xuICBib3JkZXItbGVmdDogM3B4IHNvbGlkICM0Y2FmNTA7XG59XG5cbi5mbGVldC1jYXJkLmZsZWV0LXN0YXR1cy1lcnJvciB7XG4gIGJvcmRlci1sZWZ0OiAzcHggc29saWQgI2Y0NDMzNjtcbn1cblxuLmZsZWV0LWNhcmQuZmxlZXQtc3RhdHVzLW9mZmxpbmUge1xuICBib3JkZXItbGVmdDogM3B4IHNvbGlkICM2NjY7XG4gIG9wYWNpdHk6IDAuNjtcbn1cblxuLmZsZWV0LWNhcmQtaGVhZGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBtYXJnaW4tYm90dG9tOiAycHg7XG59XG5cbi5mbGVldC1jYXJkLWhlYWRlciBoMyB7XG4gIG1hcmdpbjogMDtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBjb2xvcjogI2ZmZjtcbn1cblxuLmZsZWV0LXN0YXR1cy1iYWRnZSB7XG4gIGZvbnQtc2l6ZTogMC43cmVtO1xuICBwYWRkaW5nOiAycHggOHB4O1xuICBib3JkZXItcmFkaXVzOiA4cHg7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG59XG5cbi5mbGVldC1zdGF0dXMtYmFkZ2UuZmxlZXQtc3RhdHVzLW9ubGluZSB7IGJhY2tncm91bmQ6IHJnYmEoNzYsMTc1LDgwLDAuMik7IGNvbG9yOiAjNGNhZjUwOyB9XG4uZmxlZXQtc3RhdHVzLWJhZGdlLmZsZWV0LXN0YXR1cy1lcnJvciB7IGJhY2tncm91bmQ6IHJnYmEoMjQ0LDY3LDU0LDAuMik7IGNvbG9yOiAjZjQ0MzM2OyB9XG4uZmxlZXQtc3RhdHVzLWJhZGdlLmZsZWV0LXN0YXR1cy1vZmZsaW5lIHsgYmFja2dyb3VuZDogcmdiYSgxMDIsMTAyLDEwMiwwLjIpOyBjb2xvcjogIzk5OTsgfVxuXG4uZmxlZXQtY2FyZC1ob3N0bmFtZSB7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgY29sb3I6IHJnYmEoMjU1LDI1NSwyNTUsMC40KTtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZTtcbiAgbWFyZ2luLWJvdHRvbTogNnB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBnYXA6IDhweDtcbiAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xufVxuLmZsZWV0LWNhcmQtbW9ibyB7XG4gIGZvbnQtc2l6ZTogMC42NXJlbTtcbiAgY29sb3I6IHJnYmEoMjU1LDI1NSwyNTUsMC4yNSk7XG59XG5cbi5mbGVldC1jYXJkLXRhZ3Mge1xuICBkaXNwbGF5OiBmbGV4O1xuICBnYXA6IDRweDtcbiAgbWFyZ2luLWJvdHRvbTogOHB4O1xufVxuXG4uZmxlZXQtY2FyZC10YWcge1xuICBmb250LXNpemU6IDAuNjVyZW07XG4gIHBhZGRpbmc6IDFweCA2cHg7XG4gIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsMjU1LDI1NSwwLjA2KTtcbiAgY29sb3I6IHJnYmEoMjU1LDI1NSwyNTUsMC41KTtcbn1cblxuLmZsZWV0LW1ldHJpYyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogOHB4O1xuICBtYXJnaW4tYm90dG9tOiA2cHg7XG4gIGZvbnQtc2l6ZTogMC44cmVtO1xufVxuXG4uZmxlZXQtbWV0cmljLWxhYmVsIHtcbiAgd2lkdGg6IDQwcHg7XG4gIGNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LDAuNSk7XG4gIGZvbnQtc2l6ZTogMC43cmVtO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBmbGV4LXNocmluazogMDtcbn1cblxuLmZsZWV0LW1ldHJpYy1iYXItd3JhcCB7XG4gIGZsZXg6IDE7XG4gIGhlaWdodDogNnB4O1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwyNTUsMjU1LDAuMDgpO1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5mbGVldC1tZXRyaWMtYmFyIHtcbiAgaGVpZ2h0OiAxMDAlO1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIHRyYW5zaXRpb246IHdpZHRoIDAuNXMgZWFzZTtcbn1cblxuLmZsZWV0LW1ldHJpYy1iYXIuZmxlZXQtb2sgeyBiYWNrZ3JvdW5kOiAjNGNhZjUwOyB9XG4uZmxlZXQtbWV0cmljLWJhci5mbGVldC13YXJuIHsgYmFja2dyb3VuZDogI2ZmYzEwNzsgfVxuLmZsZWV0LW1ldHJpYy1iYXIuZmxlZXQtY3JpdCB7IGJhY2tncm91bmQ6ICNmNDQzMzY7IH1cblxuLmZsZWV0LW1ldHJpYy12YWx1ZSB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2U7XG4gIGZvbnQtc2l6ZTogMC44cmVtO1xuICBjb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwwLjgpO1xuICBtaW4td2lkdGg6IDgwcHg7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuXG4uZmxlZXQtb2sgeyBjb2xvcjogIzRjYWY1MDsgfVxuLmZsZWV0LXdhcm4geyBjb2xvcjogI2ZmYzEwNzsgfVxuLmZsZWV0LWNyaXQgeyBjb2xvcjogI2Y0NDMzNjsgfVxuXG4uZmxlZXQtc2VjdGlvbi1sYWJlbCB7XG4gIGZvbnQtc2l6ZTogMC43cmVtO1xuICBjb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwwLjQpO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBtYXJnaW4tdG9wOiAxMHB4O1xuICBtYXJnaW4tYm90dG9tOiA0cHg7XG4gIGxldHRlci1zcGFjaW5nOiAwLjVweDtcbn1cblxuLmZsZWV0LWdwdSB7XG4gIG1hcmdpbi1ib3R0b206IDZweDtcbiAgcGFkZGluZzogNHB4IDhweDtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsMjU1LDI1NSwwLjAzKTtcbiAgYm9yZGVyLXJhZGl1czogNnB4O1xufVxuXG4uZmxlZXQtZ3B1LW5hbWUge1xuICBmb250LXNpemU6IDAuNzVyZW07XG4gIGNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LDAuNik7XG4gIG1hcmdpbi1ib3R0b206IDJweDtcbn1cblxuLmZsZWV0LWdwdS1zdGF0cyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGdhcDogMTBweDtcbiAgZm9udC1zaXplOiAwLjc1cmVtO1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlO1xuICBjb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwwLjcpO1xufVxuXG4uZmxlZXQtdXBzIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBnYXA6IDhweDtcbiAgZm9udC1zaXplOiAwLjc1cmVtO1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlO1xuICBjb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwwLjcpO1xuICBwYWRkaW5nOiA0cHggOHB4O1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwyNTUsMjU1LDAuMDMpO1xuICBib3JkZXItcmFkaXVzOiA2cHg7XG59XG4uZmxlZXQtdXBzLW5hbWUgeyBmb250LXdlaWdodDogNjAwOyBjb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwwLjkpOyBtaW4td2lkdGg6IDNlbTsgfVxuLmZsZWV0LXVwcy13YXR0cyB7IGNvbG9yOiB2YXIoLS1hY2NlbnQpOyBmb250LXdlaWdodDogNjAwOyB9XG4uZmxlZXQtdXBzLXRvdGFsIHsgZm9udC1zaXplOiAwLjhyZW07IGZvbnQtZmFtaWx5OiBtb25vc3BhY2U7IHBhZGRpbmc6IDRweCA4cHg7IGNvbG9yOiB2YXIoLS1hY2NlbnQpOyB9XG5cbi8qIC0tLSBQb3dlciAmIENvc3QgQ2FyZCAtLS0gKi9cbi5mbGVldC1wb3dlci1jYXJkIHtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsMjU1LDI1NSwwLjA0KTtcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwwLjEpO1xuICBib3JkZXItcmFkaXVzOiA4cHg7XG4gIHBhZGRpbmc6IDE2cHggMjBweDtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbn1cbi5mbGVldC1wb3dlci1oZWFkZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIG1hcmdpbi1ib3R0b206IDEycHg7XG59XG4uZmxlZXQtcG93ZXItaGVhZGVyIGgyIHsgZm9udC1zaXplOiAxLjFyZW07IGZvbnQtd2VpZ2h0OiA2MDA7IG1hcmdpbjogMDsgfVxuLmZsZWV0LXBvd2VyLXJlYWx0aW1lIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZ2FwOiAyNHB4O1xuICBtYXJnaW4tYm90dG9tOiAxNnB4O1xufVxuLmZsZWV0LXBvd2VyLXN0YXQgeyBkaXNwbGF5OiBmbGV4OyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4uZmxlZXQtcG93ZXItbGFiZWwgeyBmb250LXNpemU6IDAuN3JlbTsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgY29sb3I6IHJnYmEoMjU1LDI1NSwyNTUsMC41KTsgfVxuLmZsZWV0LXBvd2VyLXZhbHVlIHsgZm9udC1zaXplOiAxLjRyZW07IGZvbnQtZmFtaWx5OiBtb25vc3BhY2U7IGZvbnQtd2VpZ2h0OiA3MDA7IGNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LDAuOSk7IH1cbi5mbGVldC1wb3dlci10b3RhbCB7IGNvbG9yOiB2YXIoLS1hY2NlbnQpOyB9XG4uZmxlZXQtcG93ZXItbW9udGhseSB7IGJvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKDI1NSwyNTUsMjU1LDAuMDgpOyBwYWRkaW5nLXRvcDogMTJweDsgfVxuLmZsZWV0LXBvd2VyLWJpbGxpbmcgeyBkaXNwbGF5OiBmbGV4OyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyBnYXA6IDRweDsgZm9udC1mYW1pbHk6IG1vbm9zcGFjZTsgZm9udC1zaXplOiAwLjhyZW07IH1cbi5mbGVldC1wb3dlci1yb3cgeyBkaXNwbGF5OiBmbGV4OyBnYXA6IDE2cHg7IHBhZGRpbmc6IDRweCAwOyB9XG4uZmxlZXQtcG93ZXItcm93IHNwYW46Zmlyc3QtY2hpbGQgeyBmbGV4OiAxOyB9XG4uZmxlZXQtcG93ZXItcm93IHNwYW46bnRoLWNoaWxkKDIpIHsgd2lkdGg6IDEwMHB4OyB0ZXh0LWFsaWduOiByaWdodDsgfVxuLmZsZWV0LXBvd2VyLXJvdyBzcGFuOm50aC1jaGlsZCgzKSB7IHdpZHRoOiA4MHB4OyB0ZXh0LWFsaWduOiByaWdodDsgfVxuLmZsZWV0LXBvd2VyLXJvdy10b3RhbCB7IGJvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKDI1NSwyNTUsMjU1LDAuMSk7IHBhZGRpbmctdG9wOiA2cHg7IGZvbnQtd2VpZ2h0OiA2MDA7IH1cbi5mbGVldC1wb3dlci1yb3ctaGVhZGVyIHsgZm9udC13ZWlnaHQ6IDYwMDsgZm9udC1zaXplOiAwLjdyZW07IHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IG9wYWNpdHk6IDAuNjsgfVxuXG4vKiBQZXItbm9kZSBwb3dlciBjb3N0IG9uIGNhcmRzICovXG4uZmxlZXQtcG93ZXItbm9kZSB7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZTtcbiAgcGFkZGluZzogNHB4IDhweDtcbiAgbWFyZ2luLXRvcDogMnB4O1xuICBib3JkZXItdG9wOiAxcHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwwLjA2KTtcbn1cbi5mbGVldC1wb3dlci1ub2RlLWRyYXcge1xuICBkaXNwbGF5OiBmbGV4O1xuICBnYXA6IDhweDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cbi5mbGVldC1wb3dlci1ub2RlLWRyYXcgLmZsZWV0LXBvd2VyLWxhYmVsIHsgb3BhY2l0eTogMC41OyB9XG4uZmxlZXQtcG93ZXItY29zdC1yYXRlIHtcbiAgY29sb3I6IHZhcigtLWFjY2VudCk7XG4gIGZvbnQtc2l6ZTogMC43cmVtO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbn1cbi5mbGVldC1wb3dlci1ub2RlLW10ZCB7XG4gIGZvbnQtc2l6ZTogMC43cmVtO1xuICBvcGFjaXR5OiAwLjc7XG4gIHBhZGRpbmctdG9wOiAycHg7XG59XG5cbi5mbGVldC1wb3dlci1ub2RlcyB7IG1hcmdpbi10b3A6IDEwcHg7IH1cblxuLyogSGVybyBiaWcgbnVtYmVycyAqL1xuLmZsZWV0LXBvd2VyLWhlcm8ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDMycHg7XG4gIG1hcmdpbi1ib3R0b206IDE0cHg7XG59XG4uZmxlZXQtcG93ZXItaGVyby1zdGF0IHsgZGlzcGxheTogZmxleDsgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuLmZsZWV0LXBvd2VyLWhlcm8tdmFsdWUge1xuICBmb250LXNpemU6IDJyZW07XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2U7XG4gIGZvbnQtd2VpZ2h0OiA4MDA7XG4gIGNvbG9yOiB2YXIoLS1hY2NlbnQpO1xuICBsaW5lLWhlaWdodDogMTtcbn1cbi5mbGVldC1wb3dlci1oZXJvLWxhYmVsIHtcbiAgZm9udC1zaXplOiAwLjY1cmVtO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBjb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwwLjQ1KTtcbiAgbWFyZ2luLXRvcDogMnB4O1xufVxuLmZsZWV0LXBvd2VyLWhlcm8tYnJlYWtkb3duIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiAycHg7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2U7XG4gIGZvbnQtc2l6ZTogMC44cmVtO1xuICBjb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwwLjcpO1xufVxuLmZsZWV0LXBvd2VyLWhlcm8tYnJlYWtkb3duIGRpdiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGdhcDogOHB4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuLmZsZWV0LXBvd2VyLXN1Yi1sYWJlbCB7XG4gIGZvbnQtc2l6ZTogMC42NXJlbTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgb3BhY2l0eTogMC41O1xuICB3aWR0aDogMzVweDtcbn1cbi5mbGVldC1wb3dlci1kYWlseSB7IGNvbG9yOiB2YXIoLS1hY2NlbnQpOyBmb250LXdlaWdodDogNjAwOyB9XG5cbi8qIENvbXBhY3QgYmlsbGluZyBzdW1tYXJ5ICovXG4uZmxlZXQtcG93ZXItYmlsbGluZy1jb21wYWN0IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiAycHg7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2U7XG4gIGZvbnQtc2l6ZTogMC43OHJlbTtcbiAgbWFyZ2luLXRvcDogNnB4O1xufVxuLmZsZWV0LXBvd2VyLWJpbGxpbmctcm93IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZ2FwOiAxMnB4O1xuICBwYWRkaW5nOiAycHggMDtcbn1cbi5mbGVldC1wb3dlci1iaWxsaW5nLWxhYmVsIHtcbiAgd2lkdGg6IDcwcHg7XG4gIGNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LDAuNSk7XG4gIGZvbnQtc2l6ZTogMC43cmVtO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuLmZsZWV0LXBvd2VyLWJpbGxpbmcta3doIHtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIGNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LDAuNCk7XG4gIGZvbnQtc2l6ZTogMC43MnJlbTtcbn1cbi5mbGVldC1wb3dlci1iaWxsaW5nLXRvdGFsIHtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsMC4xKTtcbiAgcGFkZGluZy10b3A6IDRweDtcbiAgbWFyZ2luLXRvcDogMnB4O1xufVxuLmZsZWV0LXBvd2VyLWJpbGxpbmctcHJvamVjdGVkIHtcbiAgb3BhY2l0eTogMC41O1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG4uZmxlZXQtcG93ZXItaGVscC1idG4ge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwyNTUsMjU1LDAuMSk7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsMC4yKTtcbiAgY29sb3I6IHJnYmEoMjU1LDI1NSwyNTUsMC41KTtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICB3aWR0aDogMjBweDtcbiAgaGVpZ2h0OiAyMHB4O1xuICBmb250LXNpemU6IDAuN3JlbTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgcGFkZGluZzogMDtcbiAgZmxleC1zaHJpbms6IDA7XG59XG4uZmxlZXQtcG93ZXItaGVscC1idG46aG92ZXIge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwyNTUsMjU1LDAuMik7XG4gIGNvbG9yOiAjZmZmO1xufVxuLmZsZWV0LXBvd2VyLWhlbHAge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwyNTUsMjU1LDAuMDUpO1xuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDI1NSwyNTUsMjU1LDAuMSk7XG4gIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgcGFkZGluZzogMTBweCAxMnB4O1xuICBmb250LXNpemU6IDAuN3JlbTtcbiAgY29sb3I6IHJnYmEoMjU1LDI1NSwyNTUsMC42KTtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgbWFyZ2luLWJvdHRvbTogOHB4O1xufVxuXG4vKiBQZXItbm9kZSBicmVha2Rvd24gd2l0aCBiYXJzICovXG4uZmxlZXQtcG93ZXItbm9kZXMtdjIgeyBtYXJnaW4tdG9wOiAxMnB4OyB9XG4uZmxlZXQtcG4tcm93IHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiA4cHg7XG4gIHBhZGRpbmc6IDNweCAwO1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlO1xuICBmb250LXNpemU6IDAuNzVyZW07XG4gIGNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LDAuNzUpO1xufVxuLmZsZWV0LXBuLW5hbWUge1xuICB3aWR0aDogNTJweDtcbiAgZmxleC1zaHJpbms6IDA7XG4gIGNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LDAuNTUpO1xuICBmb250LXNpemU6IDAuN3JlbTtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG4uZmxlZXQtcG4tYmFyLXdyYXAge1xuICBmbGV4OiAxO1xuICBoZWlnaHQ6IDEwcHg7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LDI1NSwyNTUsMC4wNik7XG4gIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cbi5mbGVldC1wbi1iYXIge1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJhY2tncm91bmQ6IHZhcigtLWFjY2VudCk7XG4gIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgdHJhbnNpdGlvbjogd2lkdGggMC40cyBlYXNlO1xuICBtaW4td2lkdGg6IDJweDtcbn1cbi5mbGVldC1wbi1iYXItaG90IHsgYmFja2dyb3VuZDogI2UwNTI1MjsgfVxuLmZsZWV0LXBuLXdhdHRzIHtcbiAgd2lkdGg6IDQ4cHg7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xuICBmbGV4LXNocmluazogMDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbn1cbi5mbGVldC1wbi1kYWlseSB7XG4gIHdpZHRoOiA1NXB4O1xuICB0ZXh0LWFsaWduOiByaWdodDtcbiAgZmxleC1zaHJpbms6IDA7XG4gIGNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LDAuNDUpO1xuICBmb250LXNpemU6IDAuN3JlbTtcbn1cbi5mbGVldC1wbi1tdGQge1xuICB3aWR0aDogNTBweDtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIGZsZXgtc2hyaW5rOiAwO1xuICBjb2xvcjogdmFyKC0tYWNjZW50KTtcbiAgZm9udC1zaXplOiAwLjdyZW07XG59XG5cbi8qIEdQVSBGbGVldCBTdW1tYXJ5IENhcmQgKi9cbi5mbGVldC1ncHUtY2FyZCB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWFkbWluLXN1cmZhY2UpO1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1hZG1pbi1ib3JkZXIpO1xuICBib3JkZXItcmFkaXVzOiA4cHg7XG4gIHBhZGRpbmc6IDE2cHg7XG4gIG1hcmdpbi1ib3R0b206IDE2cHg7XG59XG4uZmxlZXQtZ3B1LWhlcm8ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDI0cHg7XG4gIG1hcmdpbi1ib3R0b206IDEycHg7XG59XG4uZmxlZXQtZ3B1LWhlcm8tc3RhdCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG4uZmxlZXQtZ3B1LWdyaWQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBnYXA6IDJweDtcbn1cbi5mbGVldC1ncHUtcm93IHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiA2cHg7XG4gIHBhZGRpbmc6IDNweCAwO1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlO1xuICBmb250LXNpemU6IDAuNzVyZW07XG4gIGNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LDAuNzUpO1xufVxuLmZsZWV0LWdwdS1ub2RlIHtcbiAgd2lkdGg6IDUwcHg7XG4gIGZsZXgtc2hyaW5rOiAwO1xuICBjb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwwLjU1KTtcbiAgZm9udC1zaXplOiAwLjdyZW07XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuLmZsZWV0LWdwdS1iYXItd3JhcCB7XG4gIGZsZXg6IDE7XG4gIGhlaWdodDogMTBweDtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsMjU1LDI1NSwwLjA2KTtcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBtaW4td2lkdGg6IDQwcHg7XG59XG4uZmxlZXQtZ3B1LWJhciB7XG4gIGhlaWdodDogMTAwJTtcbiAgYmFja2dyb3VuZDogIzEwYjk4MTtcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xuICB0cmFuc2l0aW9uOiB3aWR0aCAwLjRzIGVhc2U7XG4gIG1pbi13aWR0aDogMnB4O1xufVxuLmZsZWV0LWdwdS1iYXItaG90IHsgYmFja2dyb3VuZDogI2UwNTI1MjsgfVxuLmZsZWV0LWdwdS11dGlsIHtcbiAgd2lkdGg6IDMycHg7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xuICBmbGV4LXNocmluazogMDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbn1cbi5mbGVldC1ncHUtdnJhbSB7XG4gIHdpZHRoOiA1MnB4O1xuICB0ZXh0LWFsaWduOiByaWdodDtcbiAgZmxleC1zaHJpbms6IDA7XG4gIGNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LDAuNSk7XG4gIGZvbnQtc2l6ZTogMC43cmVtO1xufVxuLmZsZWV0LWdwdS10ZW1wIHtcbiAgd2lkdGg6IDI4cHg7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xuICBmbGV4LXNocmluazogMDtcbiAgY29sb3I6IHJnYmEoMjU1LDI1NSwyNTUsMC41KTtcbiAgZm9udC1zaXplOiAwLjdyZW07XG59XG4uZmxlZXQtZ3B1LXdhdHRzIHtcbiAgd2lkdGg6IDM4cHg7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xuICBmbGV4LXNocmluazogMDtcbiAgY29sb3I6IHJnYmEoMjU1LDI1NSwyNTUsMC41KTtcbiAgZm9udC1zaXplOiAwLjdyZW07XG59XG4uZmxlZXQtZ3B1LWhvdCAuZmxlZXQtZ3B1LXV0aWwgeyBjb2xvcjogI2UwNTI1MjsgfVxuLmZsZWV0LWdwdS13YXJtIC5mbGVldC1ncHUtdXRpbCB7IGNvbG9yOiAjMTBiOTgxOyB9XG4uZmxlZXQtZ3B1LWlkbGUgLmZsZWV0LWdwdS11dGlsIHsgY29sb3I6IHJnYmEoMjU1LDI1NSwyNTUsMC4zKTsgfVxuLmZsZWV0LWdwdS1pZGxlIC5mbGVldC1ncHUtYmFyIHsgYmFja2dyb3VuZDogcmdiYSgyNTUsMjU1LDI1NSwwLjA4KTsgfVxuXG4uZmxlZXQtbnZtZSB7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZTtcbn1cblxuLmZsZWV0LW52bWUtZHJpdmUge1xuICBkaXNwbGF5OiBmbGV4O1xuICBnYXA6IDEwcHg7XG4gIHBhZGRpbmc6IDJweCA4cHg7XG4gIGNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LDAuNyk7XG59XG4uZmxlZXQtaGRkLXNpemUge1xuICBjb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwwLjQpO1xuICBmb250LXNpemU6IDAuN3JlbTtcbn1cbi5mbGVldC1oZGQtaG91cnMge1xuICBjb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwwLjM1KTtcbiAgZm9udC1zaXplOiAwLjdyZW07XG59XG5cbi5mbGVldC1pb3dhaXQge1xuICBmb250LXNpemU6IDAuN3JlbTtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZTtcbiAgcGFkZGluZzogMXB4IDVweDtcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwxOTMsNywwLjEyKTtcbn1cblxuLmZsZWV0LW52bWUtbW9kZWwge1xuICBjb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwwLjQpO1xuICBmb250LXNpemU6IDAuNjVyZW07XG4gIG1heC13aWR0aDogMTIwcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4uZmxlZXQtbnZtZS1ob3VycyB7XG4gIGNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LDAuMzUpO1xuICBmb250LXNpemU6IDAuN3JlbTtcbn1cblxuLmZsZWV0LWx2bSB7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZTtcbiAgcGFkZGluZzogMCA4cHg7XG59XG5cbi5mbGVldC1sdm0tdm9sIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZ2FwOiAxMHB4O1xuICBwYWRkaW5nOiAycHggMDtcbiAgY29sb3I6IHJnYmEoMjU1LDI1NSwyNTUsMC43KTtcbn1cblxuLmZsZWV0LWx2bS1wdiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGdhcDogMTBweDtcbiAgcGFkZGluZzogMXB4IDA7XG4gIGNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LDAuNCk7XG4gIGZvbnQtc2l6ZTogMC43cmVtO1xufVxuXG4uZmxlZXQtc2VydmljZXMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGdhcDogNHB4O1xufVxuXG4uZmxlZXQtc3ZjIHtcbiAgZm9udC1zaXplOiAwLjY1cmVtO1xuICBwYWRkaW5nOiAycHggNnB4O1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2U7XG59XG5cbi5mbGVldC1zdmMtYWN0aXZlIHtcbiAgYmFja2dyb3VuZDogcmdiYSg3NiwxNzUsODAsMC4xNSk7XG4gIGNvbG9yOiAjNGNhZjUwO1xufVxuXG4uZmxlZXQtc3ZjLWluYWN0aXZlIHtcbiAgYmFja2dyb3VuZDogcmdiYSgyNDQsNjcsNTQsMC4xKTtcbiAgY29sb3I6ICNmNDQzMzY7XG59XG5cbi5mbGVldC1wb3J0cyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgZ2FwOiA0cHg7XG59XG5cbi5mbGVldC1wb3J0IHtcbiAgZm9udC1zaXplOiAwLjY1cmVtO1xuICBwYWRkaW5nOiAycHggNnB4O1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2U7XG4gIGJhY2tncm91bmQ6IHJnYmEoMzMsMTUwLDI0MywwLjEyKTtcbiAgY29sb3I6ICM2NGI1ZjY7XG59XG5cbi5mbGVldC1ib290IHtcbiAgZm9udC1zaXplOiAwLjdyZW07XG4gIGNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LDAuMyk7XG4gIG1hcmdpbi10b3A6IDhweDtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZTtcbn1cblxuLmZsZWV0LWVycm9yIHtcbiAgcGFkZGluZzogMTJweDtcbiAgY29sb3I6ICNmNDQzMzY7XG4gIGZvbnQtc2l6ZTogMC44NXJlbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3b3JkLWJyZWFrOiBicmVhay13b3JkO1xuICBvdmVyZmxvdy13cmFwOiBicmVhay13b3JkO1xufVxuXG4uZmxlZXQtZXJyb3Itb2ZmbGluZSB7XG4gIGNvbG9yOiAjODg4O1xuICBmb250LXNpemU6IDAuNzVyZW07XG59XG5cbi5mbGVldC1lbXB0eSB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcGFkZGluZzogNDhweCAyNHB4O1xuICBjb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwwLjQpO1xufVxuXG4uZmxlZXQtZW1wdHkgYSB7XG4gIGNvbG9yOiB2YXIoLS1hY2NlbnQpO1xufVxuXG4uZmxlZXQtdGVtcCB7XG4gIG1hcmdpbi1sZWZ0OiA4cHg7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbn1cblxuLyogLS0tIFJvdXRlciBDYXJkIC0tLSAqL1xuLmZsZWV0LWNhcmQtcm91dGVyIHtcbiAgYm9yZGVyLWxlZnQ6IDNweCBzb2xpZCAjMjE5NmYzO1xufVxuLmZsZWV0LWNhcmQtcm91dGVyLmZsZWV0LXN0YXR1cy1vbmxpbmUge1xuICBib3JkZXItbGVmdC1jb2xvcjogIzIxOTZmMztcbn1cblxuLmZsZWV0LXJvdXRlci1zeXN0ZW0ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGdhcDogMTJweDtcbiAgcGFkZGluZzogOHB4IDA7XG4gIGZvbnQtc2l6ZTogMC44cmVtO1xuICBjb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwwLjcpO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwwLjA2KTtcbiAgbWFyZ2luLWJvdHRvbTogOHB4O1xufVxuXG4uZmxlZXQtcm91dGVyLXdhbnMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBnYXA6IDRweDtcbiAgbWFyZ2luLWJvdHRvbTogOHB4O1xufVxuXG4uZmxlZXQtcm91dGVyLXdhbiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogMTBweDtcbiAgZm9udC1zaXplOiAwLjgycmVtO1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlO1xuICBwYWRkaW5nOiA0cHggOHB4O1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwyNTUsMjU1LDAuMDMpO1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG59XG5cbi5mbGVldC1yb3V0ZXItd2FuLWxhYmVsIHtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbWluLXdpZHRoOiAxMTBweDtcbiAgY29sb3I6IHJnYmEoMjU1LDI1NSwyNTUsMC42KTtcbn1cblxuLmZsZWV0LXJvdXRlci13YW4tbW9kZSB7XG4gIGZvbnQtc2l6ZTogMC43OHJlbTtcbiAgY29sb3I6IHJnYmEoMjU1LDI1NSwyNTUsMC41KTtcbiAgcGFkZGluZzogMnB4IDhweDtcbn1cblxuLmZsZWV0LXJvdXRlci1zdGF0cyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGdhcDogNnB4O1xuICBtYXJnaW4tYm90dG9tOiA4cHg7XG59XG5cbi5mbGVldC1yb3V0ZXItc3RhdC1yb3cge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDhweDtcbiAgZm9udC1zaXplOiAwLjhyZW07XG59XG5cbi5mbGVldC1yb3V0ZXItc3RhdC1yb3cgPiBzcGFuOmZpcnN0LWNoaWxkIHtcbiAgbWluLXdpZHRoOiA3MHB4O1xuICBjb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwwLjUpO1xufVxuXG4uZmxlZXQtcm91dGVyLWZ3ZCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGdhcDogMnB4O1xuICBtYXJnaW4tYm90dG9tOiA4cHg7XG59XG5cbi5mbGVldC1yb3V0ZXItZndkLXJ1bGUge1xuICBkaXNwbGF5OiBmbGV4O1xuICBnYXA6IDhweDtcbiAgZm9udC1zaXplOiAwLjc1cmVtO1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlO1xuICBjb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwwLjUpO1xuICBwYWRkaW5nOiAycHggOHB4O1xufVxuXG4uZmxlZXQtcm91dGVyLWZ3ZC1uYW1lIHtcbiAgY29sb3I6IHJnYmEoMjU1LDI1NSwyNTUsMC43KTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbWluLXdpZHRoOiA0MHB4O1xufVxuXG4uZmxlZXQtcm91dGVyLXRyYWZmaWMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBnYXA6IDJweDtcbiAgbWFyZ2luLWJvdHRvbTogOHB4O1xufVxuXG4uZmxlZXQtcm91dGVyLXRyYWZmaWMtcm93IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZ2FwOiAxMnB4O1xuICBmb250LXNpemU6IDAuNzhyZW07XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2U7XG4gIHBhZGRpbmc6IDJweCA4cHg7XG59XG5cbi5mbGVldC1yb3V0ZXItdHJhZmZpYy1pZmFjZSB7XG4gIG1pbi13aWR0aDogNDBweDtcbiAgY29sb3I6IHJnYmEoMjU1LDI1NSwyNTUsMC42KTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbn1cbi5mbGVldC1yb3V0ZXItdGhyb3VnaHB1dCB7XG4gIGNvbG9yOiAjNGZjM2Y3O1xuICBmb250LXNpemU6IDAuN3JlbTtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG59XG5cbi8qIC0tLSBDb2xsYXBzaWJsZSBOb2RlIENhcmRzIC0tLSAqL1xuLmZsZWV0LWdyaWQtY29udHJvbHMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBnYXA6IDhweDtcbiAgbWFyZ2luLWJvdHRvbTogOHB4O1xufVxuXG4uZmxlZXQtY29sbGFwc2UtYnRuIHtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsMjU1LDI1NSwwLjA2KTtcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwwLjEyKTtcbiAgY29sb3I6ICNhYWE7XG4gIGZvbnQtc2l6ZTogMC43cmVtO1xuICBwYWRkaW5nOiAzcHggMTBweDtcbiAgYm9yZGVyLXJhZGl1czogNnB4O1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5mbGVldC1jb2xsYXBzZS1idG46aG92ZXIge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwyNTUsMjU1LDAuMTIpO1xuICBjb2xvcjogI2ZmZjtcbn1cblxuLmZsZWV0LWNvbGxhcHNlLWNoZXZyb24ge1xuICBmb250LXNpemU6IDAuNjVyZW07XG4gIG1hcmdpbi1yaWdodDogNHB4O1xuICBvcGFjaXR5OiAwLjU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDEycHg7XG59XG5cbi5mbGVldC1jYXJkLWNvbGxhcHNlZCB7XG4gIHBhZGRpbmc6IDZweCB2YXIoLS1zcGFjZS00KTtcbn1cblxuLmZsZWV0LWNhcmQtY29sbGFwc2VkIC5mbGVldC1jYXJkLWhlYWRlciB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi5mbGVldC13YXJuaW5nLWljb24ge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1MSwgMTkxLCAzNiwgMC4yNSk7XG4gIGNvbG9yOiAjZmJiZjI0O1xuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDI1MSwgMTkxLCAzNiwgMC40KTtcbiAgd2lkdGg6IDIycHg7XG4gIGhlaWdodDogMjJweDtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBmb250LXNpemU6IDAuNzVyZW07XG4gIGZvbnQtd2VpZ2h0OiA4MDA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHBhZGRpbmc6IDA7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4xNXMsIGJhY2tncm91bmQgMC4xNXM7XG59XG5cbi5mbGVldC13YXJuaW5nLWljb246aG92ZXIge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1MSwgMTkxLCAzNiwgMC40KTtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLjE1KTtcbn1cblxuLmZsZWV0LXdhcm5pbmctY3JpdGljYWwge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDIzOSwgNjgsIDY4LCAwLjMpO1xuICBjb2xvcjogI2Y4NzE3MTtcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKDIzOSwgNjgsIDY4LCAwLjUpO1xuICBhbmltYXRpb246IGZsZWV0LXB1bHNlLWNyaXRpY2FsIDEuNXMgZWFzZS1pbi1vdXQgaW5maW5pdGU7XG59XG5cbi5mbGVldC13YXJuaW5nLWNyaXRpY2FsOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogcmdiYSgyMzksIDY4LCA2OCwgMC41KTtcbn1cblxuQGtleWZyYW1lcyBmbGVldC1wdWxzZS1jcml0aWNhbCB7XG4gIDAlLCAxMDAlIHsgYm94LXNoYWRvdzogMCAwIDAgMCByZ2JhKDIzOSwgNjgsIDY4LCAwLjQpOyB9XG4gIDUwJSB7IGJveC1zaGFkb3c6IDAgMCA4cHggM3B4IHJnYmEoMjM5LCA2OCwgNjgsIDAuNik7IH1cbn1cblxuLyogSGlnaGxpZ2h0IGZsYXNoIHdoZW4gc2Nyb2xsZWQgdG8gZnJvbSB0aWNrZXIgKi9cbi5mbGVldC1jYXJkLWhpZ2hsaWdodCB7XG4gIG91dGxpbmU6IDJweCBzb2xpZCAjNjBhNWZhICFpbXBvcnRhbnQ7XG4gIG91dGxpbmUtb2Zmc2V0OiAycHg7XG4gIGFuaW1hdGlvbjogZmxlZXQtaGlnaGxpZ2h0LWZhZGUgMnMgZWFzZS1vdXQgZm9yd2FyZHM7XG59XG5cbkBrZXlmcmFtZXMgZmxlZXQtaGlnaGxpZ2h0LWZhZGUge1xuICAwJSB7IG91dGxpbmUtY29sb3I6ICM2MGE1ZmE7IH1cbiAgNzAlIHsgb3V0bGluZS1jb2xvcjogIzYwYTVmYTsgfVxuICAxMDAlIHsgb3V0bGluZS1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbn1cblxuLyogLS0tIE5vZGUgRGV0YWlsIE1vZGFsIC0tLSAqL1xuLmZsZWV0LWNhcmQtYWN0aW9ucyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogNnB4O1xufVxuXG4uZmxlZXQtZGV0YWlsLWJ0biB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LDI1NSwyNTUsMC4xKTtcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwwLjIpO1xuICBjb2xvcjogI2FhYTtcbiAgd2lkdGg6IDIycHg7XG4gIGhlaWdodDogMjJweDtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBmb250LXNpemU6IDAuN3JlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgcGFkZGluZzogMDtcbiAgbGluZS1oZWlnaHQ6IDE7XG59XG5cbi5mbGVldC1kZXRhaWwtYnRuOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsMjU1LDI1NSwwLjIpO1xuICBjb2xvcjogI2ZmZjtcbn1cblxuLmZsZWV0LW1vZGFsLW92ZXJsYXkge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgYmFja2dyb3VuZDogcmdiYSgwLDAsMCwwLjcpO1xuICB6LWluZGV4OiAxMDAwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgcGFkZGluZzogMjBweDtcbn1cblxuLmZsZWV0LW1vZGFsIHtcbiAgYmFja2dyb3VuZDogIzFhMWEyZTtcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwwLjE1KTtcbiAgYm9yZGVyLXJhZGl1czogMTJweDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogNjAwcHg7XG4gIG1heC1oZWlnaHQ6IDg1dmg7XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIGJveC1zaGFkb3c6IDAgMjBweCA2MHB4IHJnYmEoMCwwLDAsMC41KTtcbn1cblxuLmZsZWV0LW1vZGFsLWhlYWRlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcGFkZGluZzogMTZweCAyMHB4O1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwwLjEpO1xuICBwb3NpdGlvbjogc3RpY2t5O1xuICB0b3A6IDA7XG4gIGJhY2tncm91bmQ6ICMxYTFhMmU7XG4gIHotaW5kZXg6IDE7XG59XG5cbi5mbGVldC1tb2RhbC1oZWFkZXIgaDIge1xuICBtYXJnaW46IDA7XG4gIGZvbnQtc2l6ZTogMS4ycmVtO1xuICBjb2xvcjogI2ZmZjtcbn1cblxuLmZsZWV0LW1vZGFsLWNsb3NlIHtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgYm9yZGVyOiBub25lO1xuICBjb2xvcjogIzg4ODtcbiAgZm9udC1zaXplOiAxLjFyZW07XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgcGFkZGluZzogNHB4IDhweDtcbn1cblxuLmZsZWV0LW1vZGFsLWNsb3NlOmhvdmVyIHtcbiAgY29sb3I6ICNmZmY7XG59XG5cbi5mbGVldC1tb2RhbC1ib2R5IHtcbiAgcGFkZGluZzogMjBweDtcbn1cblxuLmZsZWV0LWRldGFpbC1zZWN0aW9uIHtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbn1cblxuLmZsZWV0LWRldGFpbC1zZWN0aW9uIGgzIHtcbiAgZm9udC1zaXplOiAwLjg1cmVtO1xuICBjb2xvcjogIzg4ODtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMDVlbTtcbiAgbWFyZ2luOiAwIDAgOHB4IDA7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDI1NSwyNTUsMjU1LDAuMDYpO1xuICBwYWRkaW5nLWJvdHRvbTogNHB4O1xufVxuXG4uZmxlZXQtZGV0YWlsLXRhYmxlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gIGZvbnQtc2l6ZTogMC44NXJlbTtcbn1cblxuLmZsZWV0LWRldGFpbC10YWJsZSB0ZCB7XG4gIHBhZGRpbmc6IDRweCA4cHg7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDI1NSwyNTUsMjU1LDAuMDQpO1xufVxuXG4uZmxlZXQtZGV0YWlsLXRhYmxlIHRkOmZpcnN0LWNoaWxkIHtcbiAgY29sb3I6ICM4ODg7XG4gIHdpZHRoOiA0MCU7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi5mbGVldC1kZXRhaWwtdGFibGUgdGQ6bGFzdC1jaGlsZCB7XG4gIGNvbG9yOiAjZGRkO1xuICB3b3JkLWJyZWFrOiBicmVhay1hbGw7XG59XG5cbi5mbGVldC1kZXRhaWwtYWN0aW9ucyB7XG4gIG1hcmdpbi10b3A6IDIwcHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLmZsZWV0LXNjYW4tYnRuIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tYWNjZW50LCAjNGZjM2Y3KTtcbiAgY29sb3I6ICMwMDA7XG4gIGJvcmRlcjogbm9uZTtcbiAgcGFkZGluZzogMTBweCAyNHB4O1xuICBib3JkZXItcmFkaXVzOiA2cHg7XG4gIGZvbnQtc2l6ZTogMC45cmVtO1xuICBmb250LXdlaWdodDogNjAwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5mbGVldC1zY2FuLWJ0bjpob3ZlciB7XG4gIGZpbHRlcjogYnJpZ2h0bmVzcygxLjEpO1xufVxuXG4uZmxlZXQtc2Nhbi1idG46ZGlzYWJsZWQge1xuICBvcGFjaXR5OiAwLjU7XG4gIGN1cnNvcjogd2FpdDtcbn1cblxuLmZsZWV0LWRldGFpbC1wcmUge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsMCwwLDAuMyk7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsMC4wOCk7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgcGFkZGluZzogOHB4IDEwcHg7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgY29sb3I6ICNjY2M7XG4gIG92ZXJmbG93LXg6IGF1dG87XG4gIHdoaXRlLXNwYWNlOiBwcmUtd3JhcDtcbiAgd29yZC1icmVhazogYnJlYWstd29yZDtcbiAgb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDtcbiAgbWFyZ2luOiAwO1xuICBsaW5lLWhlaWdodDogMS41O1xufVxuXG4vKiAtLS0gV0FOIE1vbml0b3IgQ2FyZCAtLS0gKi9cbi5mbGVldC13YW4tY2FyZCB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LDI1NSwyNTUsMC4wNCk7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsMC4xKTtcbiAgYm9yZGVyLXJhZGl1czogOHB4O1xuICBwYWRkaW5nOiAxNnB4IDIwcHg7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG59XG5cbi5mbGVldC13YW4taGVhZGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBtYXJnaW4tYm90dG9tOiAxMnB4O1xufVxuXG4uZmxlZXQtd2FuLWhlYWRlciBoMiB7XG4gIGZvbnQtc2l6ZTogMS4xcmVtO1xuICBmb250LXdlaWdodDogNjAwO1xuICBtYXJnaW46IDA7XG59XG5cbi5mbGVldC13YW4taXAge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlO1xuICBmb250LXNpemU6IDEuMnJlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgcGFkZGluZzogNHB4IDEycHg7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgYmFja2dyb3VuZDogcmdiYSgwLDAsMCwwLjMpO1xufVxuXG4uZmxlZXQtd2FuLXBlbmRpbmcge1xuICBwYWRkaW5nOiA4cHggMTJweDtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICBtYXJnaW4tYm90dG9tOiA4cHg7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAxOTMsIDcsIDAuMSk7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjU1LCAxOTMsIDcsIDAuMyk7XG59XG5cbi5mbGVldC13YW4tbWV0YSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGdhcDogMTZweDtcbiAgZm9udC1zaXplOiAwLjhyZW07XG4gIGNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LDAuNSk7XG4gIG1hcmdpbi1ib3R0b206IDhweDtcbn1cblxuLmZsZWV0LXdhbi1kbnMge1xuICBtYXJnaW4tdG9wOiA4cHg7XG4gIGZvbnQtc2l6ZTogMC44cmVtO1xufVxuXG4uZmxlZXQtd2FuLWRucy1yb3cge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIHBhZGRpbmc6IDNweCAwO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwwLjA1KTtcbn1cblxuLmZsZWV0LXdhbi1kbnMtbmFtZSB7XG4gIGNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LDAuNik7XG59XG5cbi5mbGVldC13YW4tZG5zLWlwIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbn1cblxuLmZsZWV0LXdhbi1jZi1hbGVydHMge1xuICBtYXJnaW4tdG9wOiAxMnB4O1xufVxuXG4uZmxlZXQtd2FuLWNmLWFsZXJ0IHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBwYWRkaW5nOiA0cHggMDtcbiAgZm9udC1zaXplOiAwLjhyZW07XG59XG5cbi5mbGVldC13YW4tZXJyb3Ige1xuICBtYXJnaW4tdG9wOiA4cHg7XG4gIHBhZGRpbmc6IDZweCAxMHB4O1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIGZvbnQtc2l6ZTogMC44cmVtO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDIzOSwgNjgsIDY4LCAwLjEpO1xuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDIzOSwgNjgsIDY4LCAwLjMpO1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNjQwcHgpIHtcbiAgLmZsZWV0LWdyaWQge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuICAgIGdhcDogdmFyKC0tc3BhY2UtMik7XG4gIH1cbiAgLmZsZWV0LWNhcmQge1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLTIpIHZhcigtLXNwYWNlLTMpO1xuICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgfVxuICAuZmxlZXQtZ3B1LXN0YXRzIHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgZ2FwOiA2cHg7XG4gIH1cbiAgLmZsZWV0LXdhbi1jYXJkIHtcbiAgICBwYWRkaW5nOiAxMHB4IDEycHg7XG4gIH1cbiAgLmZsZWV0LXdhbi1pcCB7XG4gICAgZm9udC1zaXplOiAwLjlyZW07XG4gICAgcGFkZGluZzogM3B4IDhweDtcbiAgfVxuICAuZmxlZXQtd2FuLW1ldGEge1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBnYXA6IDhweDtcbiAgfVxuICAuZmxlZXQtd2FuLWRucy1uYW1lIHtcbiAgICBmb250LXNpemU6IDAuN3JlbTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICB9XG4gIC5mbGVldC1tZXRyaWMtdmFsdWUge1xuICAgIG1pbi13aWR0aDogMDtcbiAgICBmb250LXNpemU6IDAuNzJyZW07XG4gIH1cbiAgLmZsZWV0LW52bWUtZHJpdmUge1xuICAgIGdhcDogNnB4O1xuICAgIHBhZGRpbmc6IDJweCA0cHg7XG4gIH1cbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEFETUlOIEJSRUFEQ1JVTUJTXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uYWRtaW4tYnJlYWRjcnVtYnMge1xuICBwYWRkaW5nOiA4cHggMTZweDtcbiAgZm9udC1zaXplOiAxM3B4O1xuICBjb2xvcjogdmFyKC0tYWRtaW4tdGV4dC1tdXRlZCk7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1hZG1pbi1ib3JkZXIpO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1hZG1pbi1iZyk7XG59XG4uYWRtaW4tYnJlYWRjcnVtYnMgYSB7XG4gIGNvbG9yOiB2YXIoLS1hZG1pbi1hY2NlbnQpO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG4uYWRtaW4tYnJlYWRjcnVtYnMgYTpob3ZlciB7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuLmFkbWluLWJyZWFkY3J1bWItc2VwIHtcbiAgbWFyZ2luOiAwIDZweDtcbiAgb3BhY2l0eTogMC41O1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgUE9SVEZPTElPIENPTlRST0xTIChQZW9wbGUgUGFnZSlcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5wZXJzb24tY2FyZF9fcG9ydGZvbGlvIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiA2cHg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgbWFyZ2luLXRvcDogNHB4O1xuICBwYWRkaW5nLXRvcDogNHB4O1xuICBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tYWRtaW4tYm9yZGVyKTtcbiAgZm9udC1zaXplOiAxMnB4O1xufVxuLnBlcnNvbi1jYXJkX19wb3J0Zm9saW8tbGluayB7XG4gIGNvbG9yOiB2YXIoLS1hZG1pbi1hY2NlbnQpO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGZvbnQtc2l6ZTogMTFweDtcbn1cbi5wZXJzb24tY2FyZF9fcG9ydGZvbGlvLWxpbms6aG92ZXIge1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cbi5wZXJzb24tY2FyZF9fc2x1Zy1pbnB1dCB7XG4gIHdpZHRoOiAxMjBweDtcbiAgcGFkZGluZzogMnB4IDZweDtcbiAgZm9udC1zaXplOiAxMXB4O1xufVxuLnBlcnNvbi1jYXJkX19uc2Z3LXNlbGVjdCB7XG4gIHBhZGRpbmc6IDJweCA0cHg7XG4gIGZvbnQtc2l6ZTogMTFweDtcbiAgYmFja2dyb3VuZDogdmFyKC0tYWRtaW4tc3VyZmFjZSk7XG4gIGNvbG9yOiB2YXIoLS1hZG1pbi10ZXh0KTtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYWRtaW4tYm9yZGVyKTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXNtLCA0cHgpO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIE5TRlcgUmV2aWV3IFBhZ2VcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4ubnNmdy1yZXZpZXcge1xuICBtYXgtd2lkdGg6IDE0MDBweDtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIHBhZGRpbmc6IDIwcHg7XG59XG5cbi5uc2Z3LXJldmlld19fdGFicyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGdhcDogNHB4O1xuICBtYXJnaW4tYm90dG9tOiAxNnB4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG59XG5cbi5uc2Z3LXJldmlld19fdGFiIHtcbiAgcGFkZGluZzogOHB4IDE2cHg7XG4gIGJhY2tncm91bmQ6IHZhcigtLWFkbWluLXN1cmZhY2UpO1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1hZG1pbi1ib3JkZXIpO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbWQsIDZweCk7XG4gIGNvbG9yOiB2YXIoLS1hZG1pbi10ZXh0LW11dGVkKTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDhweDtcbiAgZm9udC1zaXplOiAxM3B4O1xufVxuXG4ubnNmdy1yZXZpZXdfX3RhYjpob3ZlciB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWFkbWluLXN1cmZhY2UtaG92ZXIsICMyYTJhNGUpO1xuICBjb2xvcjogdmFyKC0tYWRtaW4tdGV4dCk7XG59XG5cbi5uc2Z3LXJldmlld19fdGFiLS1hY3RpdmUge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1hZG1pbi1hY2NlbnQsICM2YzVjZTcpO1xuICBjb2xvcjogI2ZmZjtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1hZG1pbi1hY2NlbnQsICM2YzVjZTcpO1xufVxuXG4ubnNmdy1yZXZpZXdfX3RhYi1jb3VudCB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LDI1NSwyNTUsMC4xNSk7XG4gIHBhZGRpbmc6IDJweCA4cHg7XG4gIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gIGZvbnQtc2l6ZTogMTFweDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbn1cblxuLm5zZnctcmV2aWV3X190YWItLWFjdGl2ZSAubnNmdy1yZXZpZXdfX3RhYi1jb3VudCB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LDI1NSwyNTUsMC4yNSk7XG59XG5cbi5uc2Z3LXJldmlld19fdG9vbGJhciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgbWFyZ2luLWJvdHRvbTogMTZweDtcbiAgZm9udC1zaXplOiAxM3B4O1xuICBjb2xvcjogdmFyKC0tYWRtaW4tdGV4dC1tdXRlZCk7XG59XG5cbi5uc2Z3LXJldmlld19fYWN0aW9ucyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGdhcDogOHB4O1xufVxuXG4ubnNmdy1yZXZpZXdfX2J0biB7XG4gIHBhZGRpbmc6IDZweCAxNHB4O1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1hZG1pbi1zdXJmYWNlKTtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYWRtaW4tYm9yZGVyKTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXNtLCA0cHgpO1xuICBjb2xvcjogdmFyKC0tYWRtaW4tdGV4dCk7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZm9udC1zaXplOiAxMnB4O1xufVxuXG4ubnNmdy1yZXZpZXdfX2J0bjpob3Zlcjpub3QoOmRpc2FibGVkKSB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWFkbWluLXN1cmZhY2UtaG92ZXIsICMyYTJhNGUpO1xufVxuXG4ubnNmdy1yZXZpZXdfX2J0bjpkaXNhYmxlZCB7XG4gIG9wYWNpdHk6IDAuNDtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbn1cblxuLm5zZnctcmV2aWV3X19idG4tLWJ1bGsge1xuICBiYWNrZ3JvdW5kOiAjZTc0YzNjO1xuICBib3JkZXItY29sb3I6ICNjMDM5MmI7XG4gIGNvbG9yOiAjZmZmO1xufVxuXG4ubnNmdy1yZXZpZXdfX2J0bi0tYnVsazpob3ZlciB7XG4gIGJhY2tncm91bmQ6ICNjMDM5MmI7XG59XG5cbi5uc2Z3LXJldmlld19fbGF5b3V0IHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMzYwcHg7XG4gIGdhcDogMjBweDtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDkwMHB4KSB7XG4gIC5uc2Z3LXJldmlld19fbGF5b3V0IHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcbiAgfVxufVxuXG4ubnNmdy1yZXZpZXdfX2dyaWQge1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpbGwsIG1pbm1heCgxMDBweCwgMWZyKSk7XG4gIGdhcDogNnB4O1xufVxuXG4ubnNmdy1yZXZpZXdfX3RodW1iIHtcbiAgYXNwZWN0LXJhdGlvOiAxO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtc20sIDRweCk7XG4gIGJvcmRlcjogMnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLm5zZnctcmV2aWV3X190aHVtYiBpbWcge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvYmplY3QtZml0OiBjb3Zlcjtcbn1cblxuLm5zZnctcmV2aWV3X190aHVtYjpob3ZlciB7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tYWRtaW4tYWNjZW50LCAjNmM1Y2U3KTtcbn1cblxuLm5zZnctcmV2aWV3X190aHVtYi0tc2VsZWN0ZWQge1xuICBib3JkZXItY29sb3I6ICNmMzljMTI7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDJweCByZ2JhKDI0MywgMTU2LCAxOCwgMC40KTtcbn1cblxuLm5zZnctcmV2aWV3X190aHVtYi1pZCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAycHg7XG4gIHJpZ2h0OiA0cHg7XG4gIGZvbnQtc2l6ZTogOXB4O1xuICBjb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwwLjcpO1xuICB0ZXh0LXNoYWRvdzogMCAxcHggMnB4IHJnYmEoMCwwLDAsMC44KTtcbn1cblxuLm5zZnctcmV2aWV3X19lbXB0eSB7XG4gIGdyaWQtY29sdW1uOiAxIC8gLTE7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcGFkZGluZzogNjBweCAyMHB4O1xuICBjb2xvcjogdmFyKC0tYWRtaW4tdGV4dC1tdXRlZCk7XG4gIGZvbnQtc2l6ZTogMTRweDtcbn1cblxuLyogUHJldmlldyBwYW5lbCAqL1xuLm5zZnctcmV2aWV3X19wcmV2aWV3IHtcbiAgcG9zaXRpb246IHN0aWNreTtcbiAgdG9wOiA4MHB4O1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1hZG1pbi1jYXJkLWJnLCAjMTYyMTNlKTtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYWRtaW4tYm9yZGVyKTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLWxnLCA4cHgpO1xuICBwYWRkaW5nOiAxNnB4O1xufVxuXG4ubnNmdy1yZXZpZXdfX3ByZXZpZXctaW1nIHtcbiAgbWFyZ2luLWJvdHRvbTogMTJweDtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLW1kLCA2cHgpO1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4ubnNmdy1yZXZpZXdfX3ByZXZpZXctaW1nIGltZyB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4ubnNmdy1yZXZpZXdfX3ByZXZpZXctaW5mbyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgbWFyZ2luLWJvdHRvbTogOHB4O1xufVxuXG4ubnNmdy1yZXZpZXdfX3ByZXZpZXctaWQge1xuICBmb250LXNpemU6IDEycHg7XG4gIGNvbG9yOiB2YXIoLS1hZG1pbi10ZXh0LW11dGVkKTtcbn1cblxuLm5zZnctcmV2aWV3X19sZXZlbCB7XG4gIHBhZGRpbmc6IDNweCAxMHB4O1xuICBib3JkZXItcmFkaXVzOiAxMnB4O1xuICBmb250LXNpemU6IDExcHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbi5uc2Z3LXJldmlld19fbGV2ZWwtLW5vbmUgeyBiYWNrZ3JvdW5kOiAjMjdhZTYwOyBjb2xvcjogI2ZmZjsgfVxuLm5zZnctcmV2aWV3X19sZXZlbC0tc3VnZ2VzdGl2ZSB7IGJhY2tncm91bmQ6ICNmMzljMTI7IGNvbG9yOiAjZmZmOyB9XG4ubnNmdy1yZXZpZXdfX2xldmVsLS1wYXJ0aWFsIHsgYmFja2dyb3VuZDogI2U2N2UyMjsgY29sb3I6ICNmZmY7IH1cbi5uc2Z3LXJldmlld19fbGV2ZWwtLWZ1bGwgeyBiYWNrZ3JvdW5kOiAjZTc0YzNjOyBjb2xvcjogI2ZmZjsgfVxuLm5zZnctcmV2aWV3X19sZXZlbC0tZXhwbGljaXQgeyBiYWNrZ3JvdW5kOiAjOGU0NGFkOyBjb2xvcjogI2ZmZjsgfVxuLm5zZnctcmV2aWV3X19sZXZlbC0tdW5rbm93biB7IGJhY2tncm91bmQ6ICM3ZjhjOGQ7IGNvbG9yOiAjZmZmOyB9XG5cbi5uc2Z3LXJldmlld19fcHJldmlldy1kZXNjIHtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBjb2xvcjogdmFyKC0tYWRtaW4tdGV4dC1tdXRlZCk7XG4gIG1hcmdpbi1ib3R0b206IDEycHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XG59XG5cbi5uc2Z3LXJldmlld19fY2xhc3NpZnktYnRucyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGdhcDogNHB4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIG1hcmdpbi1ib3R0b206IDEycHg7XG59XG5cbi5uc2Z3LXJldmlld19fY2xhc3NpZnktYnRuIHtcbiAgZmxleDogMTtcbiAgbWluLXdpZHRoOiA2MHB4O1xuICBwYWRkaW5nOiA4cHggNHB4O1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1hZG1pbi1ib3JkZXIpO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtc20sIDRweCk7XG4gIGJhY2tncm91bmQ6IHZhcigtLWFkbWluLXN1cmZhY2UpO1xuICBjb2xvcjogdmFyKC0tYWRtaW4tdGV4dCk7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZm9udC1zaXplOiAxMXB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xufVxuXG4ubnNmdy1yZXZpZXdfX2NsYXNzaWZ5LWJ0bjpob3Zlcjpub3QoOmRpc2FibGVkKSB7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tYWRtaW4tYWNjZW50LCAjNmM1Y2U3KTtcbn1cblxuLm5zZnctcmV2aWV3X19jbGFzc2lmeS1idG4tLWN1cnJlbnQge1xuICBvcGFjaXR5OiAwLjM7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG59XG5cbi5uc2Z3LXJldmlld19fY2xhc3NpZnktYnRuLS1ub25lOmhvdmVyOm5vdCg6ZGlzYWJsZWQpIHsgYm9yZGVyLWNvbG9yOiAjMjdhZTYwOyB9XG4ubnNmdy1yZXZpZXdfX2NsYXNzaWZ5LWJ0bi0tc3VnZ2VzdGl2ZTpob3Zlcjpub3QoOmRpc2FibGVkKSB7IGJvcmRlci1jb2xvcjogI2YzOWMxMjsgfVxuLm5zZnctcmV2aWV3X19jbGFzc2lmeS1idG4tLXBhcnRpYWw6aG92ZXI6bm90KDpkaXNhYmxlZCkgeyBib3JkZXItY29sb3I6ICNlNjdlMjI7IH1cbi5uc2Z3LXJldmlld19fY2xhc3NpZnktYnRuLS1mdWxsOmhvdmVyOm5vdCg6ZGlzYWJsZWQpIHsgYm9yZGVyLWNvbG9yOiAjZTc0YzNjOyB9XG4ubnNmdy1yZXZpZXdfX2NsYXNzaWZ5LWJ0bi0tZXhwbGljaXQ6aG92ZXI6bm90KDpkaXNhYmxlZCkgeyBib3JkZXItY29sb3I6ICM4ZTQ0YWQ7IH1cblxuLm5zZnctcmV2aWV3X19jbGFzc2lmeS1rZXkge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LDI1NSwyNTUsMC4xKTtcbiAgcGFkZGluZzogMXB4IDVweDtcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xuICBmb250LXNpemU6IDEwcHg7XG4gIG1hcmdpbi1yaWdodDogMnB4O1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlO1xufVxuXG4ubnNmdy1yZXZpZXdfX3Nob3J0Y3V0cyB7XG4gIGZvbnQtc2l6ZTogMTFweDtcbiAgY29sb3I6IHZhcigtLWFkbWluLXRleHQtbXV0ZWQpO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5uc2Z3LXJldmlld19fc2hvcnRjdXRzIGtiZCB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LDI1NSwyNTUsMC4xKTtcbiAgcGFkZGluZzogMXB4IDVweDtcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlO1xuICBmb250LXNpemU6IDEwcHg7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBQRVJTT04gUkVWSUVXOiBRdWljay1IaWRlLCBTZWxlY3QsIEJ1bGsgQmFyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKiBIaWRkZW4gc2hvdCBvdmVybGF5ICovXG4ucmV2aWV3LWNhcmQtLWhpZGRlbiB7XG4gIG9wYWNpdHk6IDAuNDU7XG59XG4ucmV2aWV3LWNhcmQtLWhpZGRlbjpob3ZlciB7XG4gIG9wYWNpdHk6IDAuNztcbn1cblxuLnJldmlldy1jYXJkX19oaWRkZW4tYmFkZ2Uge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsMCwwLDAuNyk7XG4gIGNvbG9yOiB2YXIoLS1hZG1pbi13YXJuaW5nKTtcbiAgZm9udC1zaXplOiAxMXB4O1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgcGFkZGluZzogMnB4IDhweDtcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xuICBsZXR0ZXItc3BhY2luZzogMXB4O1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuLyogSGlkZSBidXR0b24gb24gY2FyZCAodG9wLXJpZ2h0IGNvcm5lcikgKi9cbi5yZXZpZXctY2FyZF9faGlkZS1idG4ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNHB4O1xuICByaWdodDogNHB4O1xuICB6LWluZGV4OiA1O1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsMCwwLDAuNik7XG4gIGJvcmRlcjogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICBwYWRkaW5nOiAycHggNnB4O1xuICBmb250LXNpemU6IDE0cHg7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4xNXM7XG59XG4ucmV2aWV3LWNhcmQ6aG92ZXIgLnJldmlldy1jYXJkX19oaWRlLWJ0bixcbi5yZXZpZXctY2FyZF9faGlkZS1idG4tLWFjdGl2ZSB7XG4gIG9wYWNpdHk6IDE7XG59XG4ucmV2aWV3LWNhcmRfX2hpZGUtYnRuLS1hY3RpdmUge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI0NSwgMTU4LCAxMSwgMC4zKTtcbn1cblxuLyogU2VsZWN0aW9uIGNoZWNrYm94IG92ZXJsYXkgKHRvcC1sZWZ0IGNvcm5lcikgKi9cbi5yZXZpZXctY2FyZF9fY2hlY2tib3gge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNnB4O1xuICBsZWZ0OiA2cHg7XG4gIHotaW5kZXg6IDU7XG4gIHdpZHRoOiAyMnB4O1xuICBoZWlnaHQ6IDIycHg7XG4gIGJvcmRlcjogMnB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsMC42KTtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsMCwwLDAuNCk7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG4ucmV2aWV3LWNhcmRfX2NoZWNrYm94LS1jaGVja2VkIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tYWRtaW4tcHJpbWFyeSk7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tYWRtaW4tcHJpbWFyeSk7XG59XG5cbi8qIFNlbGVjdGVkIGNhcmQgaGlnaGxpZ2h0ICovXG4ucmV2aWV3LWNhcmQtLXNlbGVjdGVkIHtcbiAgb3V0bGluZTogM3B4IHNvbGlkIHZhcigtLWFkbWluLXByaW1hcnkpO1xuICBvdXRsaW5lLW9mZnNldDogLTNweDtcbn1cblxuLyogQnVsayBhY3Rpb24gYmFyIChzdGlja3kgYm90dG9tKSAqL1xuLnJldmlldy1idWxrLWJhciB7XG4gIHBvc2l0aW9uOiBzdGlja3k7XG4gIGJvdHRvbTogMDtcbiAgei1pbmRleDogMjA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogMTJweDtcbiAgcGFkZGluZzogMTBweCAxNnB4O1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1hZG1pbi1zdXJmYWNlKTtcbiAgYm9yZGVyLXRvcDogMnB4IHNvbGlkIHZhcigtLWFkbWluLXByaW1hcnkpO1xuICBib3JkZXItcmFkaXVzOiA4cHggOHB4IDAgMDtcbiAgYm94LXNoYWRvdzogMCAtNHB4IDEycHggcmdiYSgwLDAsMCwwLjMpO1xufVxuXG4ucmV2aWV3LWJ1bGstYmFyX19jb3VudCB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjb2xvcjogdmFyKC0tYWRtaW4tdGV4dCk7XG4gIGZvbnQtc2l6ZTogMTNweDtcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xufVxuXG4vKiBDb2xsYXBzaWJsZSBzaWRlYmFyIGRldGFpbHMgKi9cbi5yZXZpZXctY29sbGFwc2UtZGV0YWlscyB7XG4gIHdpZHRoOiAxMDAlO1xufVxuLnJldmlldy1jb2xsYXBzZS1kZXRhaWxzX19zdW1tYXJ5IHtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBmb250LXNpemU6IDEzcHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGNvbG9yOiB2YXIoLS1hZG1pbi10ZXh0KTtcbiAgcGFkZGluZzogNHB4IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogNnB4O1xufVxuLnJldmlldy1jb2xsYXBzZS1kZXRhaWxzX19zdW1tYXJ5Ojotd2Via2l0LWRldGFpbHMtbWFya2VyIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi5yZXZpZXctY29sbGFwc2UtZGV0YWlsc19fc3VtbWFyeTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcdTI1QjhcIjtcbiAgZm9udC1zaXplOiAxMXB4O1xuICBjb2xvcjogdmFyKC0tYWRtaW4tdGV4dC1tdXRlZCk7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjE1cztcbn1cbi5yZXZpZXctY29sbGFwc2UtZGV0YWlsc1tvcGVuXSA+IC5yZXZpZXctY29sbGFwc2UtZGV0YWlsc19fc3VtbWFyeTo6YmVmb3JlIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgUE9XRVIgQU5BTFlUSUNTIFBBR0VcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5wYS1jb250YWluZXIge1xuICBtYXgtd2lkdGg6IDEyMDBweDtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIHBhZGRpbmc6IDFyZW07XG59XG5cbi5wYS1oZWFkZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XG4gIGdhcDogMXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMS41cmVtO1xufVxuLnBhLWhlYWRlciBoMSB7XG4gIGZvbnQtc2l6ZTogMS41cmVtO1xuICBjb2xvcjogdmFyKC0tYWRtaW4tdGV4dCk7XG4gIG1hcmdpbjogMDtcbn1cbi5wYS1tb250aC1sYWJlbCB7XG4gIGNvbG9yOiB2YXIoLS1hZG1pbi10ZXh0LW11dGVkKTtcbiAgZm9udC1zaXplOiAwLjlyZW07XG59XG5cbi8qIEhlcm8gcHJvZml0IHN1bW1hcnkgKi9cbi5wYS1oZXJvIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tYWRtaW4tc3VyZmFjZSk7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWFkbWluLWJvcmRlcik7XG4gIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgcGFkZGluZzogMS41cmVtO1xuICBtYXJnaW4tYm90dG9tOiAxLjVyZW07XG59XG4ucGEtaGVyby1yb3cge1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLCAxZnIpO1xuICBnYXA6IDEuNXJlbTtcbn1cbi5wYS1oZXJvLWl0ZW0ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBnYXA6IDAuMjVyZW07XG59XG4ucGEtaGVyby1sYWJlbCB7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgY29sb3I6IHZhcigtLWFkbWluLXRleHQtbXV0ZWQpO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBsZXR0ZXItc3BhY2luZzogMC4wNWVtO1xufVxuLnBhLWhlcm8tdmFsdWUge1xuICBmb250LXNpemU6IDEuNzVyZW07XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG59XG4ucGEtaGVyby1zdWIge1xuICBmb250LXNpemU6IDAuNzJyZW07XG4gIGNvbG9yOiB2YXIoLS1hZG1pbi10ZXh0LW11dGVkKTtcbiAgbWFyZ2luLXRvcDogMC4xNXJlbTtcbn1cbi5wYS1yZXZlbnVlIHsgY29sb3I6ICMxMGI5ODE7IH1cbi5wYS1jb3N0IHsgY29sb3I6ICNmNTllMGI7IH1cbi5wYS1wcm9maXQgeyBjb2xvcjogIzYwYTVmYTsgfVxuLnBhLWxvc3MgeyBjb2xvcjogI2VmNDQ0NDsgfVxuXG4ucGEtYmFyLWJnIHtcbiAgaGVpZ2h0OiA2cHg7XG4gIGJhY2tncm91bmQ6ICMxYTFhMmU7XG4gIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgbWFyZ2luLXRvcDogMC4yNXJlbTtcbn1cbi5wYS1iYXIge1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgdHJhbnNpdGlvbjogd2lkdGggMC41cyBlYXNlO1xufVxuLnBhLWJhci1yZXZlbnVlIHsgYmFja2dyb3VuZDogIzEwYjk4MTsgfVxuLnBhLWJhci1jb3N0IHsgYmFja2dyb3VuZDogI2Y1OWUwYjsgfVxuLnBhLWJhci1wcm9maXQgeyBiYWNrZ3JvdW5kOiAjNjBhNWZhOyB9XG5cbi5wYS1tYXJnaW4tYmFkZ2Uge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi10b3A6IDFyZW07XG4gIHBhZGRpbmc6IDAuMjVyZW0gMC43NXJlbTtcbiAgYmFja2dyb3VuZDogcmdiYSg5NiwgMTY1LCAyNTAsIDAuMTUpO1xuICBjb2xvcjogIzYwYTVmYTtcbiAgYm9yZGVyLXJhZGl1czogOTk5cHg7XG4gIGZvbnQtc2l6ZTogMC44NXJlbTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbn1cblxuLyogR3JpZCBvZiBjYXJkcyAqL1xuLnBhLWdyaWQge1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpO1xuICBnYXA6IDFyZW07XG59XG4ucGEtY2FyZCB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWFkbWluLXN1cmZhY2UpO1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1hZG1pbi1ib3JkZXIpO1xuICBib3JkZXItcmFkaXVzOiA4cHg7XG4gIHBhZGRpbmc6IDFyZW07XG59XG4ucGEtY2FyZC1zdWJ0aXRsZSB7XG4gIGZvbnQtc2l6ZTogMC43MnJlbTtcbiAgY29sb3I6IHZhcigtLWFkbWluLXRleHQtbXV0ZWQpO1xuICBtYXJnaW46IC0wLjNyZW0gMCAwLjVyZW0gMDtcbn1cbi5wYS1jYXJkIGgyIHtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBjb2xvcjogdmFyKC0tYWRtaW4tdGV4dCk7XG4gIG1hcmdpbjogMCAwIDAuNzVyZW0gMDtcbn1cbi5wYS1jYXJkIGgzIHtcbiAgZm9udC1zaXplOiAwLjg1cmVtO1xuICBjb2xvcjogdmFyKC0tYWRtaW4tdGV4dC1tdXRlZCk7XG4gIG1hcmdpbjogMCAwIDAuNXJlbSAwO1xufVxuLnBhLWNhcmQtZnVsbCB7XG4gIGdyaWQtY29sdW1uOiAxIC8gLTE7XG59XG4ucGEtY2FyZC1oZWFkZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIG1hcmdpbi1ib3R0b206IDAuNzVyZW07XG59XG4ucGEtY2FyZC1oZWFkZXIgaDIgeyBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi8qIFRhYmxlcyAqL1xuLnBhLXRhYmxlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gIGZvbnQtc2l6ZTogMC44NXJlbTtcbn1cbi5wYS10YWJsZSB0aCB7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIGNvbG9yOiB2YXIoLS1hZG1pbi10ZXh0LW11dGVkKTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgcGFkZGluZzogMC40cmVtIDAuNXJlbTtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWFkbWluLWJvcmRlcik7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMDNlbTtcbn1cbi5wYS10YWJsZSB0ZCB7XG4gIHBhZGRpbmc6IDAuNHJlbSAwLjVyZW07XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDU1LCA2NSwgODEsIDAuNCk7XG4gIGNvbG9yOiB2YXIoLS1hZG1pbi10ZXh0KTtcbn1cbi5wYS10YWJsZS10b3RhbCB0ZCB7XG4gIGJvcmRlci10b3A6IDJweCBzb2xpZCB2YXIoLS1hZG1pbi1ib3JkZXIpO1xuICBmb250LXdlaWdodDogNjAwO1xufVxuLnBhLWVtcHR5IHtcbiAgY29sb3I6IHZhcigtLWFkbWluLXRleHQtZGltKSAhaW1wb3J0YW50O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cblxuLyogUmV2ZW51ZSBicmVha2Rvd24gKi9cbi5wYS1icmVha2Rvd24ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBnYXA6IDAuNHJlbTtcbn1cbi5wYS1icmVha2Rvd24tcm93IHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBmb250LXNpemU6IDAuODVyZW07XG4gIGNvbG9yOiB2YXIoLS1hZG1pbi10ZXh0KTtcbiAgcGFkZGluZzogMC4ycmVtIDA7XG59XG4ucGEtYnJlYWtkb3duLXRvdGFsIHtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWFkbWluLWJvcmRlcik7XG4gIHBhZGRpbmctdG9wOiAwLjVyZW07XG4gIG1hcmdpbi10b3A6IDAuMjVyZW07XG59XG5cbi8qIEdQVSBzdGF0cyAqL1xuLnBhLWdwdS1zdGF0cyB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDMsIDFmcik7XG4gIGdhcDogMXJlbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBwYWRkaW5nOiAwLjVyZW0gMDtcbn1cbi5wYS1ncHUtc3RhdC12YWwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiAxLjVyZW07XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG59XG4ucGEtZ3B1LXN0YXQtbGFiZWwge1xuICBmb250LXNpemU6IDAuNzVyZW07XG4gIGNvbG9yOiB2YXIoLS1hZG1pbi10ZXh0LW11dGVkKTtcbn1cbi5wYS1ncHUtbm90ZSB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZm9udC1zaXplOiAwLjhyZW07XG4gIGNvbG9yOiB2YXIoLS1hZG1pbi10ZXh0LWRpbSk7XG4gIG1hcmdpbi10b3A6IDAuNXJlbTtcbn1cblxuLyogU3RhdHVzIGJhZGdlcyAqL1xuLnBhLXN0YXR1cy1yZWNlaXZlZCB7XG4gIGNvbG9yOiAjMTBiOTgxO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDE2LCAxODUsIDEyOSwgMC4xKTtcbiAgcGFkZGluZzogMnB4IDhweDtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICBmb250LXNpemU6IDAuNzVyZW07XG59XG4ucGEtc3RhdHVzLXBlbmRpbmcge1xuICBjb2xvcjogI2Y1OWUwYjtcbiAgYmFja2dyb3VuZDogcmdiYSgyNDUsIDE1OCwgMTEsIDAuMSk7XG4gIHBhZGRpbmc6IDJweCA4cHg7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgZm9udC1zaXplOiAwLjc1cmVtO1xufVxuLnBhLXN0YXR1cy1pbnZvaWNlZCB7XG4gIGNvbG9yOiAjNjBhNWZhO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDk2LCAxNjUsIDI1MCwgMC4xKTtcbiAgcGFkZGluZzogMnB4IDhweDtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICBmb250LXNpemU6IDAuNzVyZW07XG59XG5cbi8qIEJ1dHRvbnMgKi9cbi5wYS1idG4ge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1hZG1pbi1zdXJmYWNlLWhvdmVyKTtcbiAgY29sb3I6IHZhcigtLWFkbWluLXRleHQpO1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1hZG1pbi1ib3JkZXIpO1xuICBwYWRkaW5nOiAwLjM1cmVtIDAuNzVyZW07XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBmb250LXNpemU6IDAuOHJlbTtcbn1cbi5wYS1idG46aG92ZXIgeyBiYWNrZ3JvdW5kOiAjNGI1NTYzOyB9XG4ucGEtYnRuLXByaW1hcnkge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1hZG1pbi1wcmltYXJ5KTtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1hZG1pbi1wcmltYXJ5KTtcbn1cbi5wYS1idG4tcHJpbWFyeTpob3ZlciB7IGJhY2tncm91bmQ6IHZhcigtLWFkbWluLXByaW1hcnktaG92ZXIpOyB9XG4ucGEtYnRuLXNtIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiB2YXIoLS1hZG1pbi10ZXh0LW11dGVkKTtcbiAgYm9yZGVyOiBub25lO1xuICBwYWRkaW5nOiAycHggNnB4O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbn1cbi5wYS1idG4tc206aG92ZXIgeyBjb2xvcjogdmFyKC0tYWRtaW4tdGV4dCk7IH1cbi5wYS1idG4tZGFuZ2VyOmhvdmVyIHsgY29sb3I6ICNlZjQ0NDQ7IH1cbi5wYS1mZXRjaC1yZXN1bHQgeyBjb2xvcjogI2EzZTYzNTsgZm9udC1zaXplOiAwLjg1cmVtOyBtYXJnaW4tcmlnaHQ6IDAuNXJlbTsgfVxuXG4vKiBSZXZlbnVlIGZvcm0gKi9cbi5wYS1yZXZlbnVlLWZvcm0ge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1hZG1pbi1iZy1hbHQpO1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1hZG1pbi1ib3JkZXIpO1xuICBib3JkZXItcmFkaXVzOiA2cHg7XG4gIHBhZGRpbmc6IDFyZW07XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG59XG4ucGEtZm9ybS1ncmlkIHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNCwgMWZyKTtcbiAgZ2FwOiAwLjc1cmVtO1xufVxuLnBhLWZvcm0td2lkZSB7XG4gIGdyaWQtY29sdW1uOiBzcGFuIDI7XG59XG4ucGEtcmV2ZW51ZS1mb3JtIGxhYmVsIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogMC43cmVtO1xuICBjb2xvcjogdmFyKC0tYWRtaW4tdGV4dC1tdXRlZCk7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIG1hcmdpbi1ib3R0b206IDAuMnJlbTtcbn1cbi5wYS1yZXZlbnVlLWZvcm0gaW5wdXQsXG4ucGEtcmV2ZW51ZS1mb3JtIHNlbGVjdCB7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAwLjRyZW07XG4gIGJhY2tncm91bmQ6IHZhcigtLWFkbWluLXN1cmZhY2UpO1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1hZG1pbi1ib3JkZXIpO1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIGNvbG9yOiB2YXIoLS1hZG1pbi10ZXh0KTtcbiAgZm9udC1zaXplOiAwLjg1cmVtO1xufVxuLnBhLWZvcm0tYWN0aW9ucyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGdhcDogMC41cmVtO1xuICBtYXJnaW4tdG9wOiAwLjc1cmVtO1xufVxuXG4vKiBQU0VHIEJpbGwgQ2FyZCAqL1xuLnBhLWJpbGwtaGVybyB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDMsIDFmcik7XG4gIGdhcDogMXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbn1cbi5wYS1iaWxsLXN0YXQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuLnBhLWJpbGwtdmFsIHtcbiAgZm9udC1zaXplOiAxLjNyZW07XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGNvbG9yOiB2YXIoLS1hZG1pbi10ZXh0KTtcbn1cbi5wYS1iaWxsLWxhYmVsIHtcbiAgZm9udC1zaXplOiAwLjc1cmVtO1xuICBjb2xvcjogdmFyKC0tYWRtaW4tdGV4dC1tdXRlZCk7XG59XG4ucGEtYmlsbC1kZXRhaWwge1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7XG4gIGdhcDogMS41cmVtO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xufVxuLnBhLWJpbGwtYmFycyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGdhcDogMC43NXJlbTtcbn1cbi5wYS1iaWxsLWJhci1yb3cge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBnYXA6IDAuMnJlbTtcbn1cbi5wYS1iaWxsLWJhci1sYWJlbCB7XG4gIGZvbnQtc2l6ZTogMC43cmVtO1xuICBjb2xvcjogdmFyKC0tYWRtaW4tdGV4dC1tdXRlZCk7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG4ucGEtYmlsbC1iYXItdHJhY2sge1xuICBoZWlnaHQ6IDhweDtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsMjU1LDI1NSwwLjA2KTtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuLnBhLWJpbGwtYmFyLWZpbGwge1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbn1cbi5wYS1iaWxsLWJhci1wZWFrIHsgYmFja2dyb3VuZDogI2Y1OWUwYjsgfVxuLnBhLWJpbGwtYmFyLW9mZnBlYWsgeyBiYWNrZ3JvdW5kOiAjMTBiOTgxOyB9XG4ucGEtYmlsbC1iYXItdmFsIHtcbiAgZm9udC1zaXplOiAwLjhyZW07XG4gIGNvbG9yOiB2YXIoLS1hZG1pbi10ZXh0KTtcbn1cbi5wYS1iaWxsLWJyZWFrZG93biB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGdhcDogMC4zcmVtO1xufVxuXG4vKiBCaWxsIGhpc3Rvcnkgc3BhcmtsaW5lIGNoYXJ0ICovXG4ucGEtYmlsbC1oaXN0b3J5IHtcbiAgbWFyZ2luLXRvcDogMXJlbTtcbiAgcGFkZGluZy10b3A6IDFyZW07XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1hZG1pbi1ib3JkZXIpO1xufVxuLnBhLWJpbGwtaGlzdG9yeS1sYWJlbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6IDAuN3JlbTtcbiAgY29sb3I6IHZhcigtLWFkbWluLXRleHQtbXV0ZWQpO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBsZXR0ZXItc3BhY2luZzogMC4wM2VtO1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG59XG4ucGEtYmlsbC1jaGFydCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgZ2FwOiAzcHg7XG4gIGhlaWdodDogODBweDtcbn1cbi5wYS1iaWxsLWNoYXJ0LWJhciB7XG4gIGZsZXg6IDE7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGhlaWdodDogMTAwJTtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbn1cbi5wYS1iaWxsLWNoYXJ0LWZpbGwge1xuICB3aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZDogIzNiODJmNjtcbiAgYm9yZGVyLXJhZGl1czogMnB4IDJweCAwIDA7XG4gIG1pbi1oZWlnaHQ6IDJweDtcbiAgdHJhbnNpdGlvbjogaGVpZ2h0IDAuM3M7XG59XG4ucGEtYmlsbC1jaGFydC1iYXI6bGFzdC1jaGlsZCAucGEtYmlsbC1jaGFydC1maWxsIHtcbiAgYmFja2dyb3VuZDogI2Y1OWUwYjtcbn1cbi5wYS1iaWxsLWNoYXJ0LXZhbCB7XG4gIGZvbnQtc2l6ZTogMC42cmVtO1xuICBjb2xvcjogdmFyKC0tYWRtaW4tdGV4dC1tdXRlZCk7XG4gIG1hcmdpbi10b3A6IDJweDtcbn1cbi5wYS1iaWxsLWNoYXJ0LW1vIHtcbiAgZm9udC1zaXplOiAwLjU1cmVtO1xuICBjb2xvcjogdmFyKC0tYWRtaW4tdGV4dC1kaW0pO1xufVxuLnBhLWJpbGwtbm90ZSB7XG4gIG1hcmdpbi10b3A6IDAuNzVyZW07XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgY29sb3I6IHZhcigtLWFkbWluLXRleHQtZGltKTtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xufVxuXG4vKiBCaWxsIEhpc3RvcnkgVGFibGUgKi9cbi5wYS1iaWxsLXRhYmxlLXdyYXAge1xuICBtYXJnaW4tdG9wOiAxLjVyZW07XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1hZG1pbi1ib3JkZXIpO1xuICBwYWRkaW5nLXRvcDogMXJlbTtcbn1cbi5wYS1iaWxsLXRhYmxlIHtcbiAgZm9udC1zaXplOiAwLjhyZW07XG59XG4ucGEtYmlsbC10YWJsZSB0aCB7XG4gIGZvbnQtc2l6ZTogMC43cmVtO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBsZXR0ZXItc3BhY2luZzogMC4wNWVtO1xufVxuLnBhLWJpbGwtcm93LWRpbSB0ZCB7XG4gIG9wYWNpdHk6IDAuNTtcbn1cblxuLyogQmlsbCBVcGxvYWQgTW9kYWwgKi9cbi5wYS1iaWxsLW1vZGFsLW92ZXJsYXkge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDsgbGVmdDogMDsgcmlnaHQ6IDA7IGJvdHRvbTogMDtcbiAgYmFja2dyb3VuZDogcmdiYSgwLDAsMCwwLjcpO1xuICB6LWluZGV4OiAxMDAwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cbi5wYS1iaWxsLW1vZGFsIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tYWRtaW4tY2FyZC1iZywgIzFhMWEyZSk7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWFkbWluLWJvcmRlcik7XG4gIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgcGFkZGluZzogMS41cmVtO1xuICB3aWR0aDogOTAlO1xuICBtYXgtd2lkdGg6IDYwMHB4O1xuICBtYXgtaGVpZ2h0OiA5MHZoO1xuICBvdmVyZmxvdy15OiBhdXRvO1xufVxuLnBhLWJpbGwtbW9kYWwgaDIge1xuICBtYXJnaW46IDAgMCAxcmVtIDA7XG4gIGZvbnQtc2l6ZTogMS4xcmVtO1xufVxuLnBhLWJpbGwtZm9ybSAucGEtZm9ybS1ncmlkIHtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyO1xufVxuLnBhLWJpbGwtZmlsZS1kcm9wIHtcbiAgYm9yZGVyOiAxcHggZGFzaGVkIHZhcigtLWFkbWluLWJvcmRlcik7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgcGFkZGluZzogMC41cmVtO1xuICBtaW4taGVpZ2h0OiA0MHB4O1xufVxuLnBhLWJpbGwtZmlsZS1kcm9wIGlucHV0W3R5cGU9XCJmaWxlXCJdIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGZvbnQtc2l6ZTogMC44cmVtO1xufVxuLnBhLWJpbGwtZmlsZS1lbnRyeSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogMC41cmVtO1xuICBmb250LXNpemU6IDAuOHJlbTtcbiAgbWFyZ2luLXRvcDogMC4yNXJlbTtcbn1cbi5wYS1iaWxsLWZpbGUtZW50cnkgYnV0dG9uIHtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgYm9yZGVyOiBub25lO1xuICBjb2xvcjogdmFyKC0tYWRtaW4tZGFuZ2VyLCAjZmY0NDQ0KTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBmb250LXNpemU6IDFyZW07XG4gIGZsZXgtc2hyaW5rOiAwO1xufVxuLnBhLWJpbGwtZmlsZS1uYW1lIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIG1heC13aWR0aDogMTUwcHg7XG59XG4ucGEtYmlsbC1maWxlLXByb2dyZXNzIHtcbiAgZmxleDogMTtcbiAgaGVpZ2h0OiA0cHg7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LDI1NSwyNTUsMC4xKTtcbiAgYm9yZGVyLXJhZGl1czogMnB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuLnBhLWJpbGwtZmlsZS1wcm9ncmVzcy1iYXIge1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJhY2tncm91bmQ6IHZhcigtLWFkbWluLWFjY2VudCwgIzRlY2RjNCk7XG4gIHRyYW5zaXRpb246IHdpZHRoIDAuM3M7XG59XG4ucGEtYmlsbC1maWxlLWVycm9yIHtcbiAgY29sb3I6IHZhcigtLWFkbWluLWRhbmdlciwgI2ZmNDQ0NCk7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgbWFyZ2luLXRvcDogMC4yNXJlbTtcbn1cbi5wYS1iaWxsLWZpbGUtb2sge1xuICBjb2xvcjogdmFyKC0tYWRtaW4tYWNjZW50LCAjNGVjZGM0KTtcbiAgZm9udC1zaXplOiAwLjc1cmVtO1xuICBmb250LXdlaWdodDogNjAwO1xufVxuLnBhLWJpbGwtZmlsZS1kb25lIHtcbiAgcGFkZGluZzogMC4yNXJlbSAwO1xufVxuLnBhLWJpbGwtbW9kYWwtaGVhZGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xufVxuLnBhLWJpbGwtbW9kYWwtaGVhZGVyIGgyIHtcbiAgbWFyZ2luOiAwO1xufVxuLnBhLWJpbGwtbW9kYWwtY2xvc2Uge1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBib3JkZXI6IG5vbmU7XG4gIGNvbG9yOiB2YXIoLS1hZG1pbi10ZXh0LWRpbSk7XG4gIGZvbnQtc2l6ZTogMS41cmVtO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHBhZGRpbmc6IDAgMC4yNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7XG59XG4ucGEtYmlsbC1tb2RhbC1jbG9zZTpob3ZlciB7XG4gIGNvbG9yOiAjZmZmO1xufVxuXG4vKiBQZXItTm9kZSBQb3dlciBCYXJzICovXG4ucGEtbm9kZS1iYXJzIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiAzcHg7XG59XG4ucGEtbm9kZS1yb3cge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDhweDtcbiAgcGFkZGluZzogM3B4IDA7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2U7XG4gIGZvbnQtc2l6ZTogMC43OHJlbTtcbiAgY29sb3I6IHJnYmEoMjU1LDI1NSwyNTUsMC44KTtcbn1cbi5wYS1ub2RlLW5hbWUge1xuICB3aWR0aDogNTJweDtcbiAgZmxleC1zaHJpbms6IDA7XG4gIGNvbG9yOiB2YXIoLS1hZG1pbi10ZXh0LW11dGVkKTtcbiAgZm9udC1zaXplOiAwLjcycmVtO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cbi5wYS1ub2RlLWJhci13cmFwIHtcbiAgZmxleDogMTtcbiAgaGVpZ2h0OiAxMnB4O1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwyNTUsMjU1LDAuMDYpO1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG4ucGEtbm9kZS1iYXIge1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJhY2tncm91bmQ6ICMzYjgyZjY7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgdHJhbnNpdGlvbjogd2lkdGggMC40cyBlYXNlO1xuICBtaW4td2lkdGg6IDJweDtcbn1cbi5wYS1ub2RlLWJhci1ob3QgeyBiYWNrZ3JvdW5kOiAjZjU5ZTBiOyB9XG4ucGEtbm9kZS1iYXItdG90YWwgeyBiYWNrZ3JvdW5kOiB2YXIoLS1hZG1pbi1wcmltYXJ5LCAjM2I4MmY2KTsgb3BhY2l0eTogMC42OyB9XG4ucGEtbm9kZS13YXR0cyB7XG4gIHdpZHRoOiA1MHB4O1xuICB0ZXh0LWFsaWduOiByaWdodDtcbiAgZmxleC1zaHJpbms6IDA7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LDAuOSk7XG59XG4ucGEtbm9kZS1kYWlseSB7XG4gIHdpZHRoOiA1NXB4O1xuICB0ZXh0LWFsaWduOiByaWdodDtcbiAgZmxleC1zaHJpbms6IDA7XG4gIGNvbG9yOiB2YXIoLS1hZG1pbi10ZXh0LW11dGVkKTtcbiAgZm9udC1zaXplOiAwLjdyZW07XG59XG4ucGEtbm9kZS1tdGQge1xuICB3aWR0aDogNTJweDtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIGZsZXgtc2hyaW5rOiAwO1xuICBjb2xvcjogIzEwYjk4MTtcbiAgZm9udC1zaXplOiAwLjcycmVtO1xuICBmb250LXdlaWdodDogNjAwO1xufVxuLnBhLW5vZGUtdG90YWwge1xuICBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tYWRtaW4tYm9yZGVyKTtcbiAgcGFkZGluZy10b3A6IDZweDtcbiAgbWFyZ2luLXRvcDogNHB4O1xufVxuLnBhLW5vZGUtdG90YWwgLnBhLW5vZGUtbmFtZSB7IGZvbnQtd2VpZ2h0OiA2MDA7IGNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LDAuOSk7IH1cblxuLyogTW9udGhseSBUcmVuZCBCYXJzICovXG4ucGEtdHJlbmQtcm93cyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGdhcDogNnB4O1xufVxuLnBhLXRyZW5kLXJvdyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogMTBweDtcbn1cbi5wYS10cmVuZC1tb250aCB7XG4gIHdpZHRoOiAzMnB4O1xuICBmbGV4LXNocmluazogMDtcbiAgZm9udC1zaXplOiAwLjcycmVtO1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlO1xuICBjb2xvcjogdmFyKC0tYWRtaW4tdGV4dC1tdXRlZCk7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG4ucGEtdHJlbmQtYmFycyB7XG4gIGZsZXg6IDE7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGdhcDogMnB4O1xufVxuLnBhLXRyZW5kLWJhci13cmFwIHtcbiAgaGVpZ2h0OiA4cHg7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LDI1NSwyNTUsMC4wNCk7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cbi5wYS10cmVuZC1iYXIge1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgdHJhbnNpdGlvbjogd2lkdGggMC40cyBlYXNlO1xuICBtaW4td2lkdGg6IDJweDtcbn1cbi5wYS10cmVuZC1iYXItcmV2ZW51ZSB7IGJhY2tncm91bmQ6ICMxMGI5ODE7IH1cbi5wYS10cmVuZC1iYXItY29zdCB7IGJhY2tncm91bmQ6ICNmNTllMGI7IH1cbi5wYS10cmVuZC12YWxzIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZ2FwOiA4cHg7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2U7XG4gIGZvbnQtc2l6ZTogMC43MnJlbTtcbiAgZmxleC1zaHJpbms6IDA7XG4gIHdpZHRoOiAxNjBweDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbn1cblxuLyogUGllIGNoYXJ0IHJvdyAqL1xuLnBhLXBpZS1yb3cge1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg0LCAxZnIpO1xuICBnYXA6IDFyZW07XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIG1heC13aWR0aDogMTAwJTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cbi5wYS1waWUtY2FyZCB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWFkbWluLXN1cmZhY2UpO1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1hZG1pbi1ib3JkZXIpO1xuICBib3JkZXItcmFkaXVzOiA4cHg7XG4gIHBhZGRpbmc6IDAuNzVyZW07XG4gIG1pbi13aWR0aDogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cbi5wYS1waWUtY2FyZCBoMyB7XG4gIGZvbnQtc2l6ZTogMC44NXJlbTtcbiAgY29sb3I6IHZhcigtLWFkbWluLXRleHQpO1xuICBtYXJnaW46IDAgMCAwLjVyZW0gMDtcbn1cbi5wYS1waWUtd3JhcCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogMC43NXJlbTtcbn1cbi5wYS1waWUtc3ZnLXdyYXAge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDBweDtcbiAgaGVpZ2h0OiAxMDBweDtcbiAgZmxleC1zaHJpbms6IDA7XG59XG4ucGEtcGllLXN2ZyB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7XG59XG4ucGEtcGllLWNlbnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgY29sb3I6IHZhcigtLWFkbWluLXRleHQpO1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlO1xufVxuLnBhLXBpZS1sZWdlbmQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBnYXA6IDAuMzVyZW07XG4gIG1pbi13aWR0aDogMDtcbn1cbi5wYS1waWUtbGVnZW5kLWl0ZW0ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDAuMzVyZW07XG4gIGZvbnQtc2l6ZTogMC43MnJlbTtcbiAgY29sb3I6IHZhcigtLWFkbWluLXRleHQtbXV0ZWQpO1xufVxuLnBhLXBpZS1sZWdlbmQtZG90IHtcbiAgd2lkdGg6IDhweDtcbiAgaGVpZ2h0OiA4cHg7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgZmxleC1zaHJpbms6IDA7XG59XG4ucGEtcGllLWxlZ2VuZC1sYWJlbCB7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xufVxuLnBhLXBpZS1sZWdlbmQtdmFsIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZTtcbiAgY29sb3I6IHZhcigtLWFkbWluLXRleHQpO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA0ODBweCkge1xuICAucGEtcGllLXJvdyB7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyOyB9XG59XG5cbi8qIENvbXBsZXRlIERhdGEgUGVyaW9kIEJhbm5lciAqL1xuLnBhLWNvbXBsZXRlLWJhbm5lciB7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHJnYmEoMTYsIDE4NSwgMTI5LCAwLjA4KSwgcmdiYSgxMzksIDkyLCAyNDYsIDAuMDYpKTtcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgxNiwgMTg1LCAxMjksIDAuMjUpO1xuICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICBwYWRkaW5nOiAxLjI1cmVtIDEuNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbn1cbi5wYS1jb21wbGV0ZS1oZWFkZXIgaDIge1xuICBmb250LXNpemU6IDEuMXJlbTtcbiAgY29sb3I6IHZhcigtLWFkbWluLXRleHQpO1xuICBtYXJnaW46IDAgMCAwLjNyZW0gMDtcbn1cbi5wYS1jb21wbGV0ZS1iYWRnZSB7XG4gIGZvbnQtc2l6ZTogMC43OHJlbTtcbiAgY29sb3I6ICMxMGI5ODE7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG59XG4ucGEtY29tcGxldGUtc3RhdHMge1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg0LCAxZnIpO1xuICBnYXA6IDEuNXJlbTtcbn1cbi5wYS1jb21wbGV0ZS1zdGF0IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiAwLjJyZW07XG59XG4ucGEtY29tcGxldGUtdmFsIHtcbiAgZm9udC1zaXplOiAxLjVyZW07XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2U7XG4gIGxldHRlci1zcGFjaW5nOiAtMC41cHg7XG59XG4ucGEtY29tcGxldGUtbGFiZWwge1xuICBmb250LXNpemU6IDAuNzJyZW07XG4gIGNvbG9yOiB2YXIoLS1hZG1pbi10ZXh0LW11dGVkKTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuNXB4O1xufVxuXG4vKiBQZXJpb2QgZmlsdGVyIHRhYnMgKi9cbi5wYS1wZXJpb2QtdGFicyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGdhcDogMC4yNXJlbTtcbiAgZmxleC1zaHJpbms6IDA7XG59XG4ucGEtcGVyaW9kLXRhYiB7XG4gIHBhZGRpbmc6IDAuMzVyZW0gMC43cmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1hZG1pbi1ib3JkZXIpO1xuICBib3JkZXItcmFkaXVzOiA2cHg7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogdmFyKC0tYWRtaW4tdGV4dC1tdXRlZCk7XG4gIGZvbnQtc2l6ZTogMC43MnJlbTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4xNXM7XG59XG4ucGEtcGVyaW9kLXRhYjpob3ZlciB7IGJvcmRlci1jb2xvcjogdmFyKC0tYWRtaW4tcHJpbWFyeSk7IGNvbG9yOiB2YXIoLS1hZG1pbi10ZXh0KTsgfVxuLnBhLXBlcmlvZC10YWIuYWN0aXZlIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tYWRtaW4tcHJpbWFyeSk7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tYWRtaW4tcHJpbWFyeSk7XG4gIGNvbG9yOiAjZmZmO1xufVxuLnBhLWNvbXBsZXRlLWhlYWRlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIGdhcDogMXJlbTtcbiAgZmxleC13cmFwOiB3cmFwO1xufVxuXG4vKiBNb250aGx5IFAmTCBUYWJsZSAqL1xuLnBhLXBsLXNlY3Rpb24geyBtYXJnaW4tYm90dG9tOiAxcmVtOyB9XG4ucGEtcGwtdGFibGUtd3JhcCB7XG4gIG92ZXJmbG93LXg6IGF1dG87XG4gIG1hcmdpbi10b3A6IDAuNXJlbTtcbn1cbi5wYS1wbC10YWJsZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICBmb250LXNpemU6IDAuODJyZW07XG59XG4ucGEtcGwtdGFibGUgdGgge1xuICBmb250LXNpemU6IDAuN3JlbTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuNXB4O1xuICBjb2xvcjogdmFyKC0tYWRtaW4tdGV4dC1tdXRlZCk7XG4gIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCB2YXIoLS1hZG1pbi1ib3JkZXIpO1xuICBwYWRkaW5nOiAwLjVyZW0gMC42cmVtO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuLnBhLXBsLXRhYmxlIHRkIHtcbiAgcGFkZGluZzogMC40cmVtIDAuNnJlbTtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWFkbWluLWJvcmRlcik7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG4ucGEtcGwtdGFibGUgLnBhLW51bS1jb2wge1xuICB0ZXh0LWFsaWduOiByaWdodDtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZTtcbiAgZm9udC1zaXplOiAwLjhyZW07XG59XG4ucGEtcGwtbW9udGgge1xuICBmb250LXdlaWdodDogNjAwO1xufVxuLnBhLXBsLWNvbXBsZXRlIHtcbiAgYmFja2dyb3VuZDogcmdiYSgxNiwgMTg1LCAxMjksIDAuMDQpO1xufVxuLnBhLXBsLXBhcnRpYWwge1xuICBvcGFjaXR5OiAwLjc7XG59XG4ucGEtcGwtdG90YWxzIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tYWRtaW4tc3VyZmFjZSk7XG4gIGJvcmRlci10b3A6IDJweCBzb2xpZCB2YXIoLS1hZG1pbi1ib3JkZXIpO1xufVxuLnBhLXBsLXRvdGFscyB0ZCB7XG4gIHBhZGRpbmc6IDAuNnJlbTtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbn1cbi5wYS1kaW0ge1xuICBjb2xvcjogdmFyKC0tYWRtaW4tdGV4dC1tdXRlZCk7XG4gIG9wYWNpdHk6IDAuNTtcbn1cbi5wYS1kb2MtbGluayB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZzogMXB4IDVweDtcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1hZG1pbi1wcmltYXJ5KTtcbiAgY29sb3I6ICNmZmY7XG4gIGZvbnQtc2l6ZTogMC42NXJlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBtYXJnaW4tcmlnaHQ6IDJweDtcbn1cbi5wYS1kb2MtbGluazpob3ZlciB7IG9wYWNpdHk6IDAuODsgfVxuLnBhLXBsLWRvY3MgeyB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG4ucGEtcGwtbGVnZW5kIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiAwLjVyZW07XG4gIHBhZGRpbmc6IDAuNXJlbSAwLjZyZW07XG4gIGZvbnQtc2l6ZTogMC43cmVtO1xuICBjb2xvcjogdmFyKC0tYWRtaW4tdGV4dC1tdXRlZCk7XG59XG4ucGEtcGwtbGVnZW5kIHN1cCB7IGZvbnQtc2l6ZTogMC42NXJlbTsgfVxuLnBhLXBsLWxlZ2VuZCAucGEtZG9jLWxpbmsgeyBjdXJzb3I6IGRlZmF1bHQ7IH1cbi5wYS1wbC1sZWdlbmQtc2VwIHsgb3BhY2l0eTogMC40OyB9XG4ucGEtcGwtdGFibGUgc3VwIHsgZm9udC1zaXplOiAwLjZyZW07IH1cbi5wYS1zcmMtdmVyaWZpZWQgeyBjb2xvcjogIzEwYjk4MTsgZm9udC13ZWlnaHQ6IDcwMDsgfVxuLnBhLXNyYy1jaGFzZSB7IGNvbG9yOiAjZjU5ZTBiOyBmb250LXdlaWdodDogNzAwOyB9XG5cbi8qIEVxdWlwbWVudCByZWNlaXB0cyBwbGFjZWhvbGRlciAqL1xuLnBhLWZ1dHVyZS1jYXJkIHtcbiAgYm9yZGVyOiAycHggZGFzaGVkIHZhcigtLWFkbWluLWJvcmRlcik7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBhZGRpbmc6IDJyZW07XG4gIGNvbG9yOiB2YXIoLS1hZG1pbi10ZXh0LW11dGVkKTtcbn1cbi5wYS1mdXR1cmUtY2FyZCBoMyB7XG4gIG1hcmdpbjogMCAwIDAuNXJlbSAwO1xuICBmb250LXNpemU6IDAuOXJlbTtcbiAgY29sb3I6IHZhcigtLWFkbWluLXRleHQpO1xufVxuLnBhLWZ1dHVyZS1jYXJkIHAge1xuICBmb250LXNpemU6IDAuOHJlbTtcbiAgbWFyZ2luOiAwO1xufVxuXG4vKiBNb2JpbGUgcmVzcG9uc2l2ZSAqL1xuQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gIC5wYS1waWUtcm93IHsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTsgZ2FwOiAwLjc1cmVtOyB9XG4gIC5wYS1waWUtc3ZnLXdyYXAgeyB3aWR0aDogMTAwcHg7IGhlaWdodDogMTAwcHg7IH1cbiAgLnBhLXBpZS1jZW50ZXIgeyBmb250LXNpemU6IDAuNjVyZW07IH1cbiAgLnBhLWNvbXBsZXRlLXN0YXRzIHsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTsgZ2FwOiAxcmVtOyB9XG4gIC5wYS1jb21wbGV0ZS12YWwgeyBmb250LXNpemU6IDEuMnJlbTsgfVxuICAucGEtcGwtdGFibGUgeyBmb250LXNpemU6IDAuNzVyZW07IH1cbiAgLnBhLXBsLXRhYmxlIC5wYS1udW0tY29sIHsgZm9udC1zaXplOiAwLjcycmVtOyB9XG4gIC5wYS1jb250YWluZXIgeyBwYWRkaW5nOiAwLjVyZW07IG1heC13aWR0aDogMTAwdnc7IG92ZXJmbG93LXg6IGhpZGRlbjsgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxuICAucGEtaGVhZGVyIHsgZmxleC13cmFwOiB3cmFwOyBnYXA6IDAuNXJlbTsgbWFyZ2luLWJvdHRvbTogMXJlbTsgfVxuICAucGEtaGVhZGVyIGgxIHsgZm9udC1zaXplOiAxLjJyZW07IH1cbiAgLnBhLWhlcm8geyBwYWRkaW5nOiAxcmVtOyB9XG4gIC5wYS1oZXJvLXJvdyB7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyOyBnYXA6IDFyZW07IH1cbiAgLnBhLWhlcm8tdmFsdWUgeyBmb250LXNpemU6IDEuM3JlbTsgfVxuICAucGEtZ3JpZCB7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyOyBnYXA6IDAuNzVyZW07IH1cbiAgLnBhLWNhcmQgeyBwYWRkaW5nOiAwLjc1cmVtOyBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIC5wYS1mb3JtLWdyaWQgeyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpOyB9XG4gIC5wYS1ncHUtc3RhdHMgeyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLCAxZnIpOyBnYXA6IDAuNXJlbTsgfVxuICAucGEtZ3B1LXN0YXQtdmFsIHsgZm9udC1zaXplOiAxLjFyZW07IH1cbiAgLnBhLWJpbGwtaGVybyB7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyOyB9XG4gIC5wYS1iaWxsLWRldGFpbCB7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyOyB9XG4gIC5wYS1iaWxsLXZhbCB7IGZvbnQtc2l6ZTogMS4xcmVtOyB9XG4gIC5wYS1iaWxsLWNoYXJ0IHsgaGVpZ2h0OiA2MHB4OyB9XG4gIC5wYS1iaWxsLWNoYXJ0LXZhbCB7IGZvbnQtc2l6ZTogMC41cmVtOyB9XG4gIC5wYS1iaWxsLWNoYXJ0LW1vIHsgZm9udC1zaXplOiAwLjQ1cmVtOyB9XG4gIC5wYS1icmVha2Rvd24tcm93IHsgZm9udC1zaXplOiAwLjc4cmVtOyB9XG4gIC5wYS1ub2RlLWRhaWx5IHsgZGlzcGxheTogbm9uZTsgfVxuICAucGEtbm9kZS1tdGQgeyB3aWR0aDogNDRweDsgZm9udC1zaXplOiAwLjY1cmVtOyB9XG4gIC5wYS1ub2RlLXdhdHRzIHsgd2lkdGg6IDQ0cHg7IGZvbnQtc2l6ZTogMC43MnJlbTsgfVxuICAucGEtbm9kZS1uYW1lIHsgd2lkdGg6IDM4cHg7IGZvbnQtc2l6ZTogMC42NXJlbTsgfVxuICAucGEtdHJlbmQtdmFscyB7IHdpZHRoOiBhdXRvOyBtaW4td2lkdGg6IDA7IGZvbnQtc2l6ZTogMC42MnJlbTsgZ2FwOiA0cHg7IH1cbiAgLnBhLXRyZW5kLW1vbnRoIHsgd2lkdGg6IDI2cHg7IGZvbnQtc2l6ZTogMC42NXJlbTsgfVxuICAucGEtdGFibGUgeyBmb250LXNpemU6IDAuNzVyZW07IH1cbiAgLnBhLXRhYmxlIHRoIHsgZm9udC1zaXplOiAwLjY1cmVtOyBwYWRkaW5nOiAwLjNyZW07IH1cbiAgLnBhLXRhYmxlIHRkIHsgcGFkZGluZzogMC4zcmVtOyB9XG59XG5cbi8qIC0tLSBGbGVldCBMb2cgUGFuZWwgLS0tICovXG4uZmxlZXQtY2xpY2thYmxlIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuLmZsZWV0LWNsaWNrYWJsZTpob3ZlciB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LDI1NSwyNTUsMC4wNSk7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbn1cbi5mbGVldC1zZWN0aW9uLWxhYmVsLmZsZWV0LWNsaWNrYWJsZTpob3ZlciB7XG4gIGNvbG9yOiAjNGZjM2Y3O1xufVxuXG4uZmxlZXQtbG9nLW92ZXJsYXkge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGluc2V0OiAwO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsMCwwLDAuNik7XG4gIHotaW5kZXg6IDExMDA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG59XG5cbi5mbGVldC1sb2ctcGFuZWwge1xuICB3aWR0aDogbWluKDcwMHB4LCA5MHZ3KTtcbiAgaGVpZ2h0OiAxMDB2aDtcbiAgYmFja2dyb3VuZDogIzFhMWEyZTtcbiAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCByZ2JhKDI1NSwyNTUsMjU1LDAuMSk7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGJveC1zaGFkb3c6IC00cHggMCAyMHB4IHJnYmEoMCwwLDAsMC41KTtcbn1cblxuLmZsZWV0LWxvZy1oZWFkZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIHBhZGRpbmc6IDEycHggMTZweDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsMC4xKTtcbiAgYmFja2dyb3VuZDogcmdiYSgwLDAsMCwwLjIpO1xufVxuXG4uZmxlZXQtbG9nLWhlYWRlciBoMyB7XG4gIG1hcmdpbjogMDtcbiAgZm9udC1zaXplOiAwLjk1cmVtO1xuICBjb2xvcjogI2UwZTBlMDtcbn1cblxuLmZsZWV0LWxvZy1ib2R5IHtcbiAgZmxleDogMTtcbiAgb3ZlcmZsb3c6IGF1dG87XG4gIHBhZGRpbmc6IDEycHggMTZweDtcbn1cblxuLmZsZWV0LWxvZy1wcmUge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsMCwwLDAuNCk7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsMC4wNik7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgcGFkZGluZzogMTJweDtcbiAgZm9udC1mYW1pbHk6ICdKZXRCcmFpbnMgTW9ubycsICdGaXJhIENvZGUnLCBtb25vc3BhY2U7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgY29sb3I6ICNiMGIwYjA7XG4gIHdoaXRlLXNwYWNlOiBwcmUtd3JhcDtcbiAgd29yZC1icmVhazogYnJlYWstd29yZDtcbiAgb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgbWFyZ2luOiAwO1xuICBtaW4taGVpZ2h0OiAyMDBweDtcbn1cblxuLmZsZWV0LWxvZy1sb2FkaW5nIHtcbiAgY29sb3I6ICM4ODg7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgcGFkZGluZzogMjBweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNjAwcHgpIHtcbiAgLmZsZWV0LWxvZy1wYW5lbCB7XG4gICAgd2lkdGg6IDEwMHZ3O1xuICB9XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFNUQUJMRUJPVCBEQVNIQk9BUkRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnNiLWNvbnRhaW5lciB7XG4gIG1heC13aWR0aDogMTQwMHB4O1xuICBtYXJnaW46IDAgYXV0bztcbiAgcGFkZGluZzogMTZweDtcbn1cblxuLnNiLWhlYWRlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgbWFyZ2luLWJvdHRvbTogMTZweDtcbn1cblxuLnNiLWhlYWRlciBoMSB7XG4gIGNvbG9yOiAjZjBmMGYwO1xuICBmb250LXNpemU6IDEuNXJlbTtcbiAgbWFyZ2luOiAwO1xufVxuXG4uc2ItaGVhZGVyLWxpbmtzIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZ2FwOiA4cHg7XG59XG5cbi5zYi1oZWFkZXItbGluayB7XG4gIGNvbG9yOiAjNjBhNWZhO1xuICBmb250LXNpemU6IDAuOHJlbTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBib3JkZXI6IDFweCBzb2xpZCAjMzc0MTUxO1xuICBwYWRkaW5nOiA0cHggMTBweDtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xufVxuXG4uc2ItaGVhZGVyLWxpbms6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiAjMWYyOTM3O1xufVxuXG4vKiBPdmVydmlldyBoZXJvIHN0YXRzICovXG4uc2Itb3ZlcnZpZXcge1xuICBkaXNwbGF5OiBmbGV4O1xuICBnYXA6IDEycHg7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbn1cblxuLnNiLXN0YXQge1xuICBiYWNrZ3JvdW5kOiAjMWExYTJlO1xuICBib3JkZXI6IDFweCBzb2xpZCAjMmQyZDQ0O1xuICBib3JkZXItcmFkaXVzOiA4cHg7XG4gIHBhZGRpbmc6IDE2cHggMjRweDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgbWluLXdpZHRoOiAxMDBweDtcbn1cblxuLnNiLXN0YXQtdmFsdWUge1xuICBmb250LXNpemU6IDJyZW07XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGNvbG9yOiAjOGI1Y2Y2O1xufVxuXG4uc2Itc3RhdC1sYWJlbCB7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgY29sb3I6ICM5Y2EzYWY7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGxldHRlci1zcGFjaW5nOiAwLjA1ZW07XG4gIG1hcmdpbi10b3A6IDRweDtcbn1cblxuLnNiLXN0YXQtc2hhcmRzIHtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgZ2FwOiA4cHg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHBhZGRpbmc6IDEycHggMTZweDtcbn1cblxuLnNiLXNoYXJkLWJhZGdlIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogNHB4O1xuICBwYWRkaW5nOiA0cHggMTBweDtcbiAgYm9yZGVyLXJhZGl1czogMTJweDtcbiAgZm9udC1zaXplOiAwLjc1cmVtO1xuICBmb250LXdlaWdodDogNjAwO1xuICBjb2xvcjogI2ZmZjtcbn1cblxuLnNiLXNoYXJkLWNvdW50IHtcbiAgb3BhY2l0eTogMC44O1xuICBmb250LXdlaWdodDogNDAwO1xufVxuXG4vKiBOb2RlIGNhcmRzICovXG4uc2Itbm9kZXMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBnYXA6IDEycHg7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG59XG5cbi5zYi1ub2RlLWNhcmQge1xuICBiYWNrZ3JvdW5kOiAjMTExODI3O1xuICBib3JkZXI6IDFweCBzb2xpZCAjMWYyOTM3O1xuICBib3JkZXItcmFkaXVzOiA4cHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5zYi1ub2RlLWhlYWRlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgcGFkZGluZzogMTJweCAxNnB4O1xuICBiYWNrZ3JvdW5kOiAjMWExYTJlO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzJkMmQ0NDtcbn1cblxuLnNiLW5vZGUtaGVhZGVyIGgzIHtcbiAgY29sb3I6ICNlNWU3ZWI7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgbWFyZ2luOiAwO1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlO1xufVxuXG4uc2Itbm9kZS1iYWRnZXMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBnYXA6IDhweDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLnNiLWJvdC1jb3VudCB7XG4gIGNvbG9yOiAjOWNhM2FmO1xuICBmb250LXNpemU6IDAuNzVyZW07XG59XG5cbi5zYi1sYXVuY2hlci1iYWRnZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZzogMnB4IDhweDtcbiAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgZm9udC1zaXplOiAwLjY1cmVtO1xuICBmb250LXdlaWdodDogNzAwO1xuICBjb2xvcjogI2ZmZjtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMDVlbTtcbn1cblxuLnNiLXByb2plY3QtY291bnQge1xuICBjb2xvcjogIzYwYTVmYTtcbiAgZm9udC1zaXplOiAwLjc1cmVtO1xufVxuXG4vKiBCb3QgdGFibGUgKi9cbi5zYi1ib3QtdGFibGUge1xuICB3aWR0aDogMTAwJTtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgZm9udC1zaXplOiAwLjhyZW07XG59XG5cbi5zYi1ib3QtdGFibGUgdGhlYWQgdGgge1xuICBiYWNrZ3JvdW5kOiAjMGQxMTE3O1xuICBjb2xvcjogIzZiNzI4MDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZm9udC1zaXplOiAwLjY1cmVtO1xuICBwYWRkaW5nOiA2cHggMTBweDtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMDVlbTtcbn1cblxuLnNiLWJvdC10YWJsZSB0Ym9keSB0ZCB7XG4gIHBhZGRpbmc6IDhweCAxMHB4O1xuICBjb2xvcjogI2QxZDVkYjtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICMxZjI5Mzc7XG59XG5cbi5zYi1ib3QtZ3B1IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBiYWNrZ3JvdW5kOiAjMzc0MTUxO1xuICBjb2xvcjogI2U1ZTdlYjtcbiAgcGFkZGluZzogMnB4IDhweDtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlO1xuICBmb250LXNpemU6IDAuNzVyZW07XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG59XG5cbi5zYi1ib3Qtc2hhcmQge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmc6IDJweCAxMHB4O1xuICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICBmb250LXNpemU6IDAuN3JlbTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgY29sb3I6ICNmZmY7XG59XG5cbi5zYi1tb25vIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZTtcbiAgZm9udC1zaXplOiAwLjc1cmVtO1xuICBjb2xvcjogIzljYTNhZjtcbn1cblxuLnNiLW5vLWJvdHMge1xuICBwYWRkaW5nOiAxNnB4O1xuICBjb2xvcjogIzZiNzI4MDtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5zYi1zdG9yYWdlIHtcbiAgcGFkZGluZzogOHB4IDE2cHggMTBweDtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICMxZjI5Mzc7XG4gIGJhY2tncm91bmQ6ICMwZDExMTc7XG59XG4uc2Itc3RvcmFnZS1iYXItd3JhcCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogOHB4O1xuICBtYXJnaW4tYm90dG9tOiA2cHg7XG59XG4uc2Itc3RvcmFnZS1iYXIge1xuICBmbGV4OiAxO1xuICBoZWlnaHQ6IDZweDtcbiAgYmFja2dyb3VuZDogIzFlMjkzYjtcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBkaXNwbGF5OiBmbGV4O1xufVxuLnNiLWJhci1zZWcge1xuICBoZWlnaHQ6IDEwMCU7XG4gIG1pbi13aWR0aDogMnB4O1xuICB0cmFuc2l0aW9uOiB3aWR0aCAwLjVzIGVhc2U7XG59XG4uc2ItYmFyLW90aGVyIHsgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDkwZGVnLCAjNDc1NTY5LCAjMzM0MTU1KTsgfVxuLnNiLWJhci1oZiB7IGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgI2Y1OWUwYiwgI2Q5NzcwNik7IH1cbi5zYi1iYXItY29tZnkgeyBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoOTBkZWcsICM4YjVjZjYsICM3YzNhZWQpOyB9XG4uc2Itc3RvcmFnZS1wY3Qge1xuICBmb250LXNpemU6IDAuNjVyZW07XG4gIGNvbG9yOiAjNmI3MjgwO1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlO1xuICBtaW4td2lkdGg6IDM1cHg7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuLnNiLXN0b3JhZ2UtbGVnZW5kIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBnYXA6IDZweDtcbn1cbi5zYi1zdG9yYWdlLWNoaXAge1xuICBmb250LXNpemU6IDAuNnJlbTtcbiAgcGFkZGluZzogMXB4IDZweDtcbiAgYm9yZGVyLXJhZGl1czogOHB4O1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlO1xuICBmb250LXdlaWdodDogNjAwO1xuICBsZXR0ZXItc3BhY2luZzogMC4zcHg7XG59XG4uc2ItY2hpcC1mcmVlIHsgYmFja2dyb3VuZDogIzA2NGUzYjsgY29sb3I6ICM2ZWU3Yjc7IH1cbi5zYi1jaGlwLWhmIHsgYmFja2dyb3VuZDogIzc4MzUwZjsgY29sb3I6ICNmY2QzNGQ7IH1cbi5zYi1jaGlwLWNvbWZ5IHsgYmFja2dyb3VuZDogIzNiMDc2NDsgY29sb3I6ICNjNGI1ZmQ7IH1cbi5zYi1jaGlwLW5hcyB7IGJhY2tncm91bmQ6ICMxZTNhNWY7IGNvbG9yOiAjOTNjNWZkOyB9XG5cbi5zYi1ub2RlLWVycm9ycyB7XG4gIHBhZGRpbmc6IDhweCAxNnB4O1xuICBib3JkZXItdG9wOiAxcHggc29saWQgIzFmMjkzNztcbn1cblxuLnNiLWVycm9yLWJhZGdlIHtcbiAgYmFja2dyb3VuZDogIzdmMWQxZDtcbiAgY29sb3I6ICNmY2E1YTU7XG4gIHBhZGRpbmc6IDJweCA4cHg7XG4gIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gIGZvbnQtc2l6ZTogMC42NXJlbTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbn1cblxuLnNiLWVtcHR5IHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjb2xvcjogIzZiNzI4MDtcbiAgcGFkZGluZzogNDBweDtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xufVxuXG4vKiBHUFUgQWxsb2NhdGlvbiBHcmlkICovXG4uc2ItZ3JpZC1zZWN0aW9uIHtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbn1cblxuLnNiLWdyaWQtc2VjdGlvbiBoMiB7XG4gIGNvbG9yOiAjZTVlN2ViO1xuICBmb250LXNpemU6IDEuMXJlbTtcbiAgbWFyZ2luOiAwIDAgMTJweCAwO1xufVxuXG4uc2ItZ3B1LWdyaWQge1xuICB3aWR0aDogMTAwJTtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgZm9udC1zaXplOiAwLjhyZW07XG59XG5cbi5zYi1ncHUtZ3JpZCB0aGVhZCB0aCB7XG4gIGJhY2tncm91bmQ6ICMxYTFhMmU7XG4gIGNvbG9yOiAjNmI3MjgwO1xuICBmb250LXdlaWdodDogNjAwO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBmb250LXNpemU6IDAuNjVyZW07XG4gIHBhZGRpbmc6IDhweCAxMnB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGxldHRlci1zcGFjaW5nOiAwLjA1ZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkICMyZDJkNDQ7XG59XG5cbi5zYi1ncHUtZ3JpZCB0Ym9keSB0ZCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICMxZjI5Mzc7XG4gIHBhZGRpbmc6IDhweCAxMnB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5zYi1ncmlkLW5vZGUge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlO1xuICBjb2xvcjogI2U1ZTdlYjtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50O1xuICBiYWNrZ3JvdW5kOiAjMGQxMTE3O1xufVxuXG4uc2ItZ3JpZC1hY3RpdmUge1xuICBiYWNrZ3JvdW5kOiAjMWExYTJlO1xufVxuXG4uc2ItZ3JpZC1lbXB0eSB7XG4gIGJhY2tncm91bmQ6ICMxMTE4Mjc7XG59XG5cbi5zYi1ncmlkLW5vbmUge1xuICBiYWNrZ3JvdW5kOiAjMGQxMTE3O1xuICBjb2xvcjogIzM3NDE1MTtcbn1cblxuLnNiLWdyaWQtc2hhcmQge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmc6IDJweCAxMHB4O1xuICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICBmb250LXNpemU6IDAuN3JlbTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgY29sb3I6ICNmZmY7XG59XG5cbi5zYi1ncmlkLWlkbGUge1xuICBjb2xvcjogIzRiNTU2MztcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBmb250LXNpemU6IDAuNzVyZW07XG59XG5cbi8qIEVycm9ycyBzZWN0aW9uICovXG4uc2ItZXJyb3JzLXNlY3Rpb24ge1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xufVxuXG4uc2ItZXJyb3JzLXRvZ2dsZSB7XG4gIGJhY2tncm91bmQ6ICMxYTFhMmU7XG4gIGJvcmRlcjogMXB4IHNvbGlkICM3ZjFkMWQ7XG4gIGNvbG9yOiAjZmNhNWE1O1xuICBwYWRkaW5nOiA4cHggMTZweDtcbiAgYm9yZGVyLXJhZGl1czogNnB4O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGZvbnQtc2l6ZTogMC44NXJlbTtcbiAgd2lkdGg6IDEwMCU7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLnNiLWVycm9ycy10b2dnbGU6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiAjMWYxZjMzO1xufVxuXG4uc2ItY2FyZXQge1xuICBmb250LXNpemU6IDAuNzVyZW07XG59XG5cbi5zYi1lcnJvci1sb2cge1xuICBiYWNrZ3JvdW5kOiAjMGQxMTE3O1xuICBib3JkZXI6IDFweCBzb2xpZCAjMWYyOTM3O1xuICBib3JkZXItdG9wOiBub25lO1xuICBib3JkZXItcmFkaXVzOiAwIDAgNnB4IDZweDtcbiAgcGFkZGluZzogMTJweDtcbiAgbWF4LWhlaWdodDogMzAwcHg7XG4gIG92ZXJmbG93LXk6IGF1dG87XG59XG5cbi5zYi1lcnJvci1saW5lIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZTtcbiAgZm9udC1zaXplOiAwLjc1cmVtO1xuICBjb2xvcjogI2ZjYTVhNTtcbiAgcGFkZGluZzogMnB4IDA7XG4gIHdvcmQtYnJlYWs6IGJyZWFrLWFsbDtcbn1cblxuLnNiLWVycm9yLWJhZGdlcyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGdhcDogNnB4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIG1hcmdpbi1ib3R0b206IDhweDtcbn1cblxuLnNiLWVycm9yLWNhdC1iYWRnZSB7XG4gIGZvbnQtc2l6ZTogMC42NXJlbTtcbiAgcGFkZGluZzogMnB4IDhweDtcbiAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgY29sb3I6ICNmZmY7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG59XG5cbi5zYi1lcnJvci1oaWdobGlnaHRlZCB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wMyk7XG4gIGJvcmRlci1sZWZ0OiAycHggc29saWQ7XG4gIHBhZGRpbmctbGVmdDogOHB4O1xufVxuXG4uc2ItZXJyb3ItY2F0LXRhZyB7XG4gIGZvbnQtc2l6ZTogMC42cmVtO1xuICBmb250LXdlaWdodDogNzAwO1xuICBtYXJnaW4tcmlnaHQ6IDZweDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuLnNiLWVycm9yLXdpbmRvdyB7XG4gIGZvbnQtc2l6ZTogMC42cmVtO1xuICBjb2xvcjogIzY2NjtcbiAgbWFyZ2luLWxlZnQ6IDRweDtcbn1cblxuLnNiLXN0YXQtYnJlYWtkb3duIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZ2FwOiA2cHg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbn1cblxuLnNiLW1pbmktYmFkZ2Uge1xuICBmb250LXNpemU6IDAuNnJlbTtcbiAgcGFkZGluZzogMXB4IDZweDtcbiAgYm9yZGVyLXJhZGl1czogOHB4O1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMSk7XG4gIGNvbG9yOiAjOTk5O1xufVxuXG4vKiBGbGVldCBsb2cgcGFuZWwgc2V2ZXJpdHkgKi9cbi5mbGVldC1sb2ctc3VtbWFyeSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGdhcDogOHB4O1xuICBtYXJnaW4tYm90dG9tOiAxMnB4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG59XG5cbi5mbGVldC1sb2ctYmFkZ2UtY3JpdCB7XG4gIGJhY2tncm91bmQ6ICNlZjQ0NDQ7XG4gIGNvbG9yOiAjZmZmO1xuICBmb250LXNpemU6IDAuNjVyZW07XG4gIHBhZGRpbmc6IDJweCA4cHg7XG4gIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG59XG5cbi5mbGVldC1sb2ctYmFkZ2Utd2FybiB7XG4gIGJhY2tncm91bmQ6ICNmNTllMGI7XG4gIGNvbG9yOiAjMDAwO1xuICBmb250LXNpemU6IDAuNjVyZW07XG4gIHBhZGRpbmc6IDJweCA4cHg7XG4gIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG59XG5cbi5mbGVldC1sb2ctYmFkZ2UtaW5mbyB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xKTtcbiAgY29sb3I6ICM5OTk7XG4gIGZvbnQtc2l6ZTogMC42NXJlbTtcbiAgcGFkZGluZzogMnB4IDhweDtcbiAgYm9yZGVyLXJhZGl1czogMTBweDtcbn1cblxuLmZsZWV0LWxvZy1saW5lcyB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2U7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgbWF4LWhlaWdodDogNjAwcHg7XG4gIG92ZXJmbG93LXk6IGF1dG87XG59XG5cbi5mbGVldC1sb2ctbGluZSB7XG4gIHBhZGRpbmc6IDJweCAwO1xuICB3b3JkLWJyZWFrOiBicmVhay1hbGw7XG4gIGJvcmRlci1sZWZ0OiAycHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIHBhZGRpbmctbGVmdDogOHB4O1xufVxuXG4uZmxlZXQtbG9nLWNyaXRpY2FsIHtcbiAgY29sb3I6ICNmY2E1YTU7XG4gIGJvcmRlci1sZWZ0LWNvbG9yOiAjZWY0NDQ0O1xuICBiYWNrZ3JvdW5kOiByZ2JhKDIzOSwgNjgsIDY4LCAwLjA1KTtcbn1cblxuLmZsZWV0LWxvZy13YXJuaW5nIHtcbiAgY29sb3I6ICNmZGU2OGE7XG4gIGJvcmRlci1sZWZ0LWNvbG9yOiAjZjU5ZTBiO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI0NSwgMTU4LCAxMSwgMC4wNSk7XG59XG5cbi5mbGVldC1sb2ctaW5mbyB7XG4gIGNvbG9yOiAjOWNhM2FmO1xufVxuXG4uZmxlZXQtbG9nLWhlYWRlciB7XG4gIGNvbG9yOiAjNjBhNWZhO1xuICBmb250LXdlaWdodDogNjAwO1xuICBtYXJnaW4tdG9wOiA4cHg7XG59XG5cbi8qIE1vYmlsZSByZXNwb25zaXZlICovXG5AbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgLnNiLW92ZXJ2aWV3IHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICB9XG5cbiAgLnNiLXN0YXQge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIHBhZGRpbmc6IDEycHggMTZweDtcbiAgfVxuXG4gIC5zYi1zdGF0LXZhbHVlIHtcbiAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgfVxuXG4gIC5zYi1ib3QtdGFibGUge1xuICAgIGZvbnQtc2l6ZTogMC43cmVtO1xuICB9XG5cbiAgLnNiLWJvdC10YWJsZSB0aGVhZCB0aCxcbiAgLnNiLWJvdC10YWJsZSB0Ym9keSB0ZCB7XG4gICAgcGFkZGluZzogNHB4IDZweDtcbiAgfVxuXG4gIC5zYi1ncHUtZ3JpZCB7XG4gICAgZm9udC1zaXplOiAwLjdyZW07XG4gIH1cblxuICAuc2Itbm9kZS1oZWFkZXIge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiA4cHg7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIH1cbn1cbiIsICIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQmxvZyBTdHlsZXMgXHUyMDE0IENsZWFuLCBtb2Rlcm4gdHlwb2dyYXBoeSBmb3IgYmxvZyBwYWdlc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmJsb2ctbGF5b3V0IHtcbiAgbWluLWhlaWdodDogMTAwdmg7XG4gIGJhY2tncm91bmQ6ICNmOGZhZmM7XG4gIGNvbG9yOiAjMWUyOTNiO1xuICBmb250LWZhbWlseTogJ0ludGVyJywgc3lzdGVtLXVpLCAtYXBwbGUtc3lzdGVtLCBzYW5zLXNlcmlmO1xufVxuXG4vKiBIZWFkZXIgKi9cbi5ibG9nLWhlYWRlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcGFkZGluZzogMjRweCAzMnB4O1xuICBtYXgtd2lkdGg6IDEyMDBweDtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZTJlOGYwO1xufVxuXG4uYmxvZy1oZWFkZXItdGl0bGUge1xuICBmb250LXNpemU6IDE4cHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGNvbG9yOiAjMGYxNzJhO1xuICBtYXJnaW46IDA7XG59XG5cbi5ibG9nLWhvbWUge1xuICBjb2xvcjogIzY0NzQ4YjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIHRyYW5zaXRpb246IGNvbG9yIDAuMTVzO1xufVxuXG4uYmxvZy1ob21lOmhvdmVyIHtcbiAgY29sb3I6ICMwZjE3MmE7XG59XG5cbi5ibG9nLWJhY2sge1xuICBjb2xvcjogIzY0NzQ4YjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIHRyYW5zaXRpb246IGNvbG9yIDAuMTVzO1xufVxuXG4uYmxvZy1iYWNrOmhvdmVyIHtcbiAgY29sb3I6ICMwZjE3MmE7XG59XG5cbi8qIEJsb2cgR3JpZCAoSW5kZXggUGFnZSkgKi9cbi5ibG9nLWdyaWQge1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpbGwsIG1pbm1heCgzMjBweCwgMWZyKSk7XG4gIGdhcDogMjRweDtcbiAgcGFkZGluZzogMzJweDtcbiAgbWF4LXdpZHRoOiAxMjAwcHg7XG4gIG1hcmdpbjogMCBhdXRvO1xufVxuXG4vKiBCbG9nIENhcmQgKi9cbi5ibG9nLWNhcmQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBjb2xvcjogaW5oZXJpdDtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgYm9yZGVyLXJhZGl1czogMTJweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYm94LXNoYWRvdzogMCAxcHggM3B4IHJnYmEoMCwgMCwgMCwgMC4wNik7XG4gIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC4ycywgdHJhbnNmb3JtIDAuMnM7XG59XG5cbi5ibG9nLWNhcmQ6aG92ZXIge1xuICBib3gtc2hhZG93OiAwIDRweCAxMnB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0ycHgpO1xufVxuXG4uYmxvZy1jYXJkLWNvdmVyIHtcbiAgYXNwZWN0LXJhdGlvOiAxNiAvIDk7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGJhY2tncm91bmQ6ICNlMmU4ZjA7XG59XG5cbi5ibG9nLWNhcmQtY292ZXIgaW1nIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgb2JqZWN0LWZpdDogY292ZXI7XG59XG5cbi5ibG9nLWNhcmQtYm9keSB7XG4gIHBhZGRpbmc6IDIwcHg7XG59XG5cbi5ibG9nLWNhcmQtYm9keSBoMiB7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgY29sb3I6ICMwZjE3MmE7XG4gIG1hcmdpbjogMCAwIDhweCAwO1xuICBsaW5lLWhlaWdodDogMS40O1xufVxuXG4uYmxvZy1jYXJkLWJvZHkgdGltZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6IDEzcHg7XG4gIGNvbG9yOiAjOTRhM2I4O1xuICBtYXJnaW4tYm90dG9tOiA4cHg7XG59XG5cbi5ibG9nLWNhcmQtYm9keSBwIHtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBjb2xvcjogIzY0NzQ4YjtcbiAgbWFyZ2luOiAwO1xuICBsaW5lLWhlaWdodDogMS42O1xufVxuXG4vKiBCbG9nIFBvc3QgKFNob3cgUGFnZSkgKi9cbi5ibG9nLXBvc3Qge1xuICBtYXgtd2lkdGg6IDcyMHB4O1xuICBtYXJnaW46IDAgYXV0bztcbiAgcGFkZGluZzogNDhweCAzMnB4O1xufVxuXG4uYmxvZy1wb3N0LXRpdGxlIHtcbiAgZm9udC1zaXplOiAzNnB4O1xuICBmb250LXdlaWdodDogNzAwO1xuICBjb2xvcjogIzBmMTcyYTtcbiAgbWFyZ2luOiAwIDAgMTJweCAwO1xuICBsaW5lLWhlaWdodDogMS4yO1xuICBsZXR0ZXItc3BhY2luZzogLTAuMDJlbTtcbn1cblxuLmJsb2ctcG9zdC1kYXRlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgY29sb3I6ICM5NGEzYjg7XG4gIG1hcmdpbi1ib3R0b206IDMycHg7XG59XG5cbi8qIEJsb2cgUG9zdCBCb2R5IFx1MjAxNCBNYXJrZG93bi1yZW5kZXJlZCBjb250ZW50ICovXG4uYmxvZy1wb3N0LWJvZHkge1xuICBmb250LXNpemU6IDE3cHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjg7XG4gIGNvbG9yOiAjMzM0MTU1O1xufVxuXG4uYmxvZy1wb3N0LWJvZHkgaDEsXG4uYmxvZy1wb3N0LWJvZHkgaDIsXG4uYmxvZy1wb3N0LWJvZHkgaDMsXG4uYmxvZy1wb3N0LWJvZHkgaDQge1xuICBjb2xvcjogIzBmMTcyYTtcbiAgbWFyZ2luLXRvcDogMmVtO1xuICBtYXJnaW4tYm90dG9tOiAwLjVlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMztcbn1cblxuLmJsb2ctcG9zdC1ib2R5IGgyIHtcbiAgZm9udC1zaXplOiAyNHB4O1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2UyZThmMDtcbiAgcGFkZGluZy1ib3R0b206IDhweDtcbn1cblxuLmJsb2ctcG9zdC1ib2R5IGgzIHtcbiAgZm9udC1zaXplOiAyMHB4O1xufVxuXG4uYmxvZy1wb3N0LWJvZHkgcCB7XG4gIG1hcmdpbi1ib3R0b206IDEuMmVtO1xufVxuXG4uYmxvZy1wb3N0LWJvZHkgYSB7XG4gIGNvbG9yOiAjMjU2M2ViO1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgdGV4dC11bmRlcmxpbmUtb2Zmc2V0OiAycHg7XG59XG5cbi5ibG9nLXBvc3QtYm9keSBhOmhvdmVyIHtcbiAgY29sb3I6ICMxZDRlZDg7XG59XG5cbi5ibG9nLXBvc3QtYm9keSBibG9ja3F1b3RlIHtcbiAgYm9yZGVyLWxlZnQ6IDNweCBzb2xpZCAjY2JkNWUxO1xuICBtYXJnaW46IDEuNWVtIDA7XG4gIHBhZGRpbmc6IDAuNWVtIDEuNWVtO1xuICBjb2xvcjogIzY0NzQ4YjtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xufVxuXG4uYmxvZy1wb3N0LWJvZHkgY29kZSB7XG4gIGZvbnQtZmFtaWx5OiAnSmV0QnJhaW5zIE1vbm8nLCBtb25vc3BhY2U7XG4gIGZvbnQtc2l6ZTogMC45ZW07XG4gIGJhY2tncm91bmQ6ICNmMWY1Zjk7XG4gIHBhZGRpbmc6IDJweCA2cHg7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgY29sb3I6ICM0NzU1Njk7XG59XG5cbi5ibG9nLXBvc3QtYm9keSBwcmUge1xuICBiYWNrZ3JvdW5kOiAjMWUyOTNiO1xuICBjb2xvcjogI2UyZThmMDtcbiAgcGFkZGluZzogMTZweCAyMHB4O1xuICBib3JkZXItcmFkaXVzOiA4cHg7XG4gIG92ZXJmbG93LXg6IGF1dG87XG4gIG1hcmdpbjogMS41ZW0gMDtcbn1cblxuLmJsb2ctcG9zdC1ib2R5IHByZSBjb2RlIHtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgcGFkZGluZzogMDtcbiAgY29sb3I6IGluaGVyaXQ7XG59XG5cbi5ibG9nLXBvc3QtYm9keSB1bCxcbi5ibG9nLXBvc3QtYm9keSBvbCB7XG4gIHBhZGRpbmctbGVmdDogMS41ZW07XG4gIG1hcmdpbi1ib3R0b206IDEuMmVtO1xufVxuXG4uYmxvZy1wb3N0LWJvZHkgbGkge1xuICBtYXJnaW4tYm90dG9tOiAwLjRlbTtcbn1cblxuLmJsb2ctcG9zdC1ib2R5IGltZyB7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvO1xuICBib3JkZXItcmFkaXVzOiA4cHg7XG4gIG1hcmdpbjogMWVtIDA7XG59XG5cbi8qIFNob3QgU2hvcnRjb2RlIFx1MjAxNCBFbWJlZGRlZCBwaG90b3MgKi9cbi5ibG9nLXNob3Qge1xuICBtYXJnaW46IDJlbSAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5ibG9nLXNob3QgaW1nIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG4gIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgYm94LXNoYWRvdzogMCAycHggOHB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbn1cblxuLyogR2FsbGVyeSBTaG9ydGNvZGUgXHUyMDE0IEdyaWQgb2YgdGh1bWJuYWlscyAqL1xuLmJsb2ctZ2FsbGVyeS1ncmlkIHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maWxsLCBtaW5tYXgoMTAwcHgsIDFmcikpO1xuICBnYXA6IDhweDtcbiAgbWFyZ2luOiAyZW0gMDtcbn1cblxuLmJsb2ctZ2FsbGVyeS10aHVtYiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBhc3BlY3QtcmF0aW86IDE7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGJvcmRlci1yYWRpdXM6IDZweDtcbn1cblxuLmJsb2ctZ2FsbGVyeS10aHVtYiBpbWcge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMnM7XG59XG5cbi5ibG9nLWdhbGxlcnktdGh1bWI6aG92ZXIgaW1nIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLjA1KTtcbn1cblxuLyogRm9vdGVyICovXG4uYmxvZy1mb290ZXIge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBhZGRpbmc6IDMycHg7XG4gIGNvbG9yOiAjOTRhM2I4O1xuICBmb250LXNpemU6IDE0cHg7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZTJlOGYwO1xuICBtYXgtd2lkdGg6IDcyMHB4O1xuICBtYXJnaW46IDAgYXV0bztcbn1cblxuLmJsb2ctZm9vdGVyIGEge1xuICBjb2xvcjogIzY0NzQ4YjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4uYmxvZy1mb290ZXIgYTpob3ZlciB7XG4gIGNvbG9yOiAjMGYxNzJhO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgU2l0ZSBJbmRleCBcdTIwMTQgTmF2aWdhdGlvbiBwYWdlIGxpc3RpbmcgYWxsIGF2YWlsYWJsZSBwYWdlc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnNpdGUtaW5kZXgge1xuICBtaW4taGVpZ2h0OiAxMDB2aDtcbiAgYmFja2dyb3VuZDogI2Y4ZmFmYztcbiAgY29sb3I6ICMxZTI5M2I7XG4gIGZvbnQtZmFtaWx5OiAnSW50ZXInLCBzeXN0ZW0tdWksIC1hcHBsZS1zeXN0ZW0sIHNhbnMtc2VyaWY7XG59XG5cbi5zaXRlLWluZGV4LWhlYWRlciB7XG4gIG1heC13aWR0aDogMTAwMHB4O1xuICBtYXJnaW46IDAgYXV0bztcbiAgcGFkZGluZzogNDhweCAzMnB4IDI0cHg7XG59XG5cbi5zaXRlLWluZGV4LWhlYWRlciBoMSB7XG4gIGZvbnQtc2l6ZTogMjhweDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgbWFyZ2luOiAwIDAgOHB4IDA7XG59XG5cbi5zaXRlLWluZGV4LXN1YnRpdGxlIHtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBjb2xvcjogIzY0NzQ4YjtcbiAgbWFyZ2luOiAwO1xufVxuXG4uc2l0ZS1pbmRleC1jb250ZW50IHtcbiAgbWF4LXdpZHRoOiAxMDAwcHg7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBwYWRkaW5nOiAwIDMycHggNDhweDtcbn1cblxuLnNpdGUtaW5kZXgtc2VjdGlvbiB7XG4gIG1hcmdpbi1ib3R0b206IDMycHg7XG59XG5cbi5zaXRlLWluZGV4LXNlY3Rpb24gaDIge1xuICBmb250LXNpemU6IDE0cHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGNvbG9yOiAjOTRhM2I4O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBsZXR0ZXItc3BhY2luZzogMC4wNWVtO1xuICBtYXJnaW4tYm90dG9tOiAxMnB4O1xuICBwYWRkaW5nLWJvdHRvbTogOHB4O1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2UyZThmMDtcbn1cblxuLnNpdGUtaW5kZXgtZ3JpZCB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZmlsbCwgbWlubWF4KDIyMHB4LCAxZnIpKTtcbiAgZ2FwOiAxMnB4O1xufVxuXG4uc2l0ZS1pbmRleC1jYXJkIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNlMmU4ZjA7XG4gIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgcGFkZGluZzogMTZweDtcbiAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuMTVzLCBib3gtc2hhZG93IDAuMTVzO1xufVxuXG4uc2l0ZS1pbmRleC1jYXJkOmhvdmVyIHtcbiAgYm9yZGVyLWNvbG9yOiAjOTRhM2I4O1xuICBib3gtc2hhZG93OiAwIDJweCA4cHggcmdiYSgwLCAwLCAwLCAwLjA2KTtcbn1cblxuLnNpdGUtaW5kZXgtY2FyZC5hZG1pbiB7XG4gIGJvcmRlci1sZWZ0OiAzcHggc29saWQgIzdkZDNmYztcbn1cblxuLnNpdGUtaW5kZXgtY2FyZCBoMyB7XG4gIGZvbnQtc2l6ZTogMTVweDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbWFyZ2luOiAwIDAgNHB4IDA7XG4gIGNvbG9yOiAjMGYxNzJhO1xufVxuXG4uc2l0ZS1pbmRleC1jYXJkIHAge1xuICBmb250LXNpemU6IDEzcHg7XG4gIGNvbG9yOiAjNjQ3NDhiO1xuICBtYXJnaW46IDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XG59XG5cbi5zaXRlLWluZGV4LWZvb3RlciB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcGFkZGluZzogMzJweDtcbiAgY29sb3I6ICM5NGEzYjg7XG4gIGZvbnQtc2l6ZTogMTNweDtcbn1cblxuLnNpdGUtaW5kZXgtZm9vdGVyIGEge1xuICBjb2xvcjogIzY0NzQ4YjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBmb250LXdlaWdodDogNTAwO1xufVxuXG4uc2l0ZS1pbmRleC1mb290ZXIgYTpob3ZlciB7XG4gIGNvbG9yOiAjMGYxNzJhO1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgLnNpdGUtaW5kZXgtaGVhZGVyIHsgcGFkZGluZzogMzJweCAyMHB4IDE2cHg7IH1cbiAgLnNpdGUtaW5kZXgtY29udGVudCB7IHBhZGRpbmc6IDAgMjBweCAzMnB4OyB9XG4gIC5zaXRlLWluZGV4LWdyaWQgeyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjsgfVxufVxuXG4vKiBSZXNwb25zaXZlICovXG5AbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgLmJsb2ctaGVhZGVyIHtcbiAgICBwYWRkaW5nOiAxNnB4IDIwcHg7XG4gIH1cblxuICAuYmxvZy1ncmlkIHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcbiAgICBwYWRkaW5nOiAyMHB4O1xuICAgIGdhcDogMTZweDtcbiAgfVxuXG4gIC5ibG9nLXBvc3Qge1xuICAgIHBhZGRpbmc6IDMycHggMjBweDtcbiAgfVxuXG4gIC5ibG9nLXBvc3QtdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMjhweDtcbiAgfVxuXG4gIC5ibG9nLXBvc3QtYm9keSB7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICB9XG5cbiAgLmJsb2ctZ2FsbGVyeS1ncmlkIHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpbGwsIG1pbm1heCg4MHB4LCAxZnIpKTtcbiAgfVxufVxuIiwgIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBNaW5pbWFsIFBvcnRmb2xpbyBUaGVtZSBcdTIwMTQgQ2xlYW4sIHdoaXRlc3BhY2UtaGVhdnkgZGVzaWduIGZvciA0eDUuY2FtZXJhXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4ucG9ydGZvbGlvLWxheW91dCB7XG4gIG1pbi1oZWlnaHQ6IDEwMHZoO1xuICBiYWNrZ3JvdW5kOiAjZmFmYWZhO1xuICBjb2xvcjogIzFhMWExYTtcbiAgZm9udC1mYW1pbHk6ICdJbnRlcicsIHN5c3RlbS11aSwgLWFwcGxlLXN5c3RlbSwgc2Fucy1zZXJpZjtcbn1cblxuLyogTmF2aWdhdGlvbiAqL1xuLnBvcnRmb2xpby1uYXYge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBhZGRpbmc6IDI0cHggNDhweDtcbiAgbWF4LXdpZHRoOiAxNDAwcHg7XG4gIG1hcmdpbjogMCBhdXRvO1xufVxuXG4ucG9ydGZvbGlvLW5hdi1icmFuZCB7XG4gIGZvbnQtc2l6ZTogMTVweDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgY29sb3I6ICMxYTFhMWE7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMDJlbTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuLnBvcnRmb2xpby1uYXYtbGlua3Mge1xuICBkaXNwbGF5OiBmbGV4O1xuICBnYXA6IDI0cHg7XG59XG5cbi5wb3J0Zm9saW8tbmF2LWxpbmsge1xuICBmb250LXNpemU6IDEzcHg7XG4gIGNvbG9yOiAjODg4O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGxldHRlci1zcGFjaW5nOiAwLjAyZW07XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIHRyYW5zaXRpb246IGNvbG9yIDAuMTVzO1xufVxuXG4ucG9ydGZvbGlvLW5hdi1saW5rOmhvdmVyLFxuLnBvcnRmb2xpby1uYXYtbGluay5hY3RpdmUge1xuICBjb2xvcjogIzFhMWExYTtcbn1cblxuLyogTWFpbiBDb250ZW50ICovXG4ucG9ydGZvbGlvLW1haW4ge1xuICBtYXgtd2lkdGg6IDE0MDBweDtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIHBhZGRpbmc6IDAgNDhweCA0OHB4O1xufVxuXG4vKiBQaG90byBHcmlkICovXG4ucG9ydGZvbGlvLWdyaWQge1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLCAxZnIpO1xuICBnYXA6IDE2cHg7XG59XG5cbi5wb3J0Zm9saW8taXRlbSB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGJhY2tncm91bmQ6ICNmMGYwZjA7XG59XG5cbi5wb3J0Zm9saW8taXRlbSBpbWcge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgYXNwZWN0LXJhdGlvOiA0IC8gNTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcztcbn1cblxuLnBvcnRmb2xpby1pdGVtOmhvdmVyIGltZyB7XG4gIG9wYWNpdHk6IDAuOTtcbn1cblxuLnBvcnRmb2xpby1lbXB0eSB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgY29sb3I6ICM5OTk7XG4gIHBhZGRpbmc6IDgwcHggMDtcbiAgZm9udC1zaXplOiAxNXB4O1xufVxuXG4vKiBQcm9qZWN0IEhlYWRlciAqL1xuLnBvcnRmb2xpby1wcm9qZWN0LWhlYWRlciB7XG4gIG1hcmdpbi1ib3R0b206IDMycHg7XG59XG5cbi5wb3J0Zm9saW8tcHJvamVjdC1oZWFkZXIgaDEge1xuICBmb250LXNpemU6IDI0cHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIG1hcmdpbjogMCAwIDhweCAwO1xufVxuXG4ucG9ydGZvbGlvLXByb2plY3QtaGVhZGVyIHAge1xuICBmb250LXNpemU6IDE1cHg7XG4gIGNvbG9yOiAjNjY2O1xuICBtYXJnaW46IDA7XG4gIG1heC13aWR0aDogNjAwcHg7XG59XG5cbi8qIEFib3V0IFBhZ2UgKi9cbi5wb3J0Zm9saW8tYWJvdXQge1xuICBtYXgtd2lkdGg6IDgwMHB4O1xuICBtYXJnaW46IDAgYXV0bztcbiAgcGFkZGluZzogNDhweCAwO1xufVxuXG4ucG9ydGZvbGlvLWhlcm8ge1xuICBtYXJnaW4tYm90dG9tOiA0MHB4O1xufVxuXG4ucG9ydGZvbGlvLWhlcm8gaW1nIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC1oZWlnaHQ6IDYwMHB4O1xuICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5wb3J0Zm9saW8tYWJvdXQtdGV4dCB7XG4gIGZvbnQtc2l6ZTogMTdweDtcbiAgbGluZS1oZWlnaHQ6IDEuODtcbiAgY29sb3I6ICMzMzM7XG59XG5cbi5wb3J0Zm9saW8tYWJvdXQtdGV4dCBoMSB7XG4gIGZvbnQtc2l6ZTogMjhweDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbWFyZ2luLWJvdHRvbTogMTZweDtcbn1cblxuLnBvcnRmb2xpby1hYm91dC10ZXh0IHAge1xuICBtYXJnaW4tYm90dG9tOiAxLjJlbTtcbn1cblxuLyogQ29udGFjdCBQYWdlICovXG4ucG9ydGZvbGlvLWNvbnRhY3Qge1xuICBtYXgtd2lkdGg6IDYwMHB4O1xuICBtYXJnaW46IDAgYXV0bztcbiAgcGFkZGluZzogNDhweCAwO1xufVxuXG4ucG9ydGZvbGlvLWNvbnRhY3QgaDEge1xuICBmb250LXNpemU6IDI4cHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIG1hcmdpbi1ib3R0b206IDI0cHg7XG59XG5cbi5wb3J0Zm9saW8tY29udGFjdCBwIHtcbiAgZm9udC1zaXplOiAxNXB4O1xuICBsaW5lLWhlaWdodDogMS44O1xuICBjb2xvcjogIzMzMztcbiAgbWFyZ2luLWJvdHRvbTogOHB4O1xufVxuXG4ucG9ydGZvbGlvLWNvbnRhY3QgYSB7XG4gIGNvbG9yOiAjMWExYTFhO1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgdGV4dC11bmRlcmxpbmUtb2Zmc2V0OiAycHg7XG59XG5cbi5wb3J0Zm9saW8tc2VydmljZXMge1xuICBtYXJnaW4tdG9wOiA0MHB4O1xuICBwYWRkaW5nLXRvcDogNDBweDtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNlNWU1ZTU7XG59XG5cbi5wb3J0Zm9saW8tc2VydmljZXMgaDIge1xuICBmb250LXNpemU6IDIwcHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIG1hcmdpbi1ib3R0b206IDE2cHg7XG59XG5cbi8qIFNvY2lhbCBMaW5rcyAqL1xuLnBvcnRmb2xpby1zb2NpYWwge1xuICBkaXNwbGF5OiBmbGV4O1xuICBnYXA6IDIwcHg7XG4gIG1hcmdpbi10b3A6IDMycHg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbn1cblxuLnBvcnRmb2xpby1zb2NpYWwtbGluayB7XG4gIGZvbnQtc2l6ZTogMTNweDtcbiAgY29sb3I6ICM4ODg7XG4gIGxldHRlci1zcGFjaW5nOiAwLjAyZW07XG59XG5cbi8qIEZvb3RlciAqL1xuLnBvcnRmb2xpby1mb290ZXIge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBhZGRpbmc6IDQ4cHg7XG4gIGNvbG9yOiAjYmJiO1xuICBmb250LXNpemU6IDEycHg7XG4gIGxldHRlci1zcGFjaW5nOiAwLjA1ZW07XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbi8qIFJlc3BvbnNpdmUgKi9cbkBtZWRpYSAobWF4LXdpZHRoOiAxMDI0cHgpIHtcbiAgLnBvcnRmb2xpby1ncmlkIHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpO1xuICAgIGdhcDogMTJweDtcbiAgfVxuXG4gIC5wb3J0Zm9saW8tbmF2IHtcbiAgICBwYWRkaW5nOiAyMHB4IDI0cHg7XG4gIH1cblxuICAucG9ydGZvbGlvLW1haW4ge1xuICAgIHBhZGRpbmc6IDAgMjRweCAyNHB4O1xuICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAucG9ydGZvbGlvLW5hdiB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IDE2cHg7XG4gICAgcGFkZGluZzogMjBweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cblxuICAucG9ydGZvbGlvLW5hdi1saW5rcyB7XG4gICAgZ2FwOiAxNnB4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgfVxuXG4gIC5wb3J0Zm9saW8tZ3JpZCB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG4gICAgZ2FwOiA4cHg7XG4gIH1cblxuICAucG9ydGZvbGlvLW1haW4ge1xuICAgIHBhZGRpbmc6IDAgMTZweCAxNnB4O1xuICB9XG5cbiAgLnBvcnRmb2xpby1hYm91dCB7XG4gICAgcGFkZGluZzogMjRweCAwO1xuICB9XG5cbiAgLnBvcnRmb2xpby1jb250YWN0IHtcbiAgICBwYWRkaW5nOiAyNHB4IDA7XG4gIH1cbn1cbiIsICIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgVklERU8gQ0FMTCBQQUdFIC0gRnVsbC1zY3JlZW4gV2ViUlRDIDE6MSBjYWxsc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmNhbGwtcGFnZSB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgaW5zZXQ6IDA7XG4gIGJhY2tncm91bmQ6ICMwMDA7XG4gIHotaW5kZXg6IDk5OTk7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi8qIFJlbW90ZSB2aWRlbyBmaWxscyBlbnRpcmUgdmlld3BvcnQgKi9cbi5jYWxsLXJlbW90ZS12aWRlbyB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG9iamVjdC1maXQ6IGNvdmVyO1xufVxuXG4vKiBMb2NhbCB2aWRlbyBQSVAgKGJvdHRvbS1yaWdodCBjb3JuZXIpICovXG4uY2FsbC1sb2NhbC12aWRlbyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiA4MHB4O1xuICByaWdodDogMTZweDtcbiAgd2lkdGg6IDIwMHB4O1xuICBoZWlnaHQ6IDE1MHB4O1xuICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgYm9yZGVyLXJhZGl1czogMTJweDtcbiAgYm9yZGVyOiAycHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjMpO1xuICB6LWluZGV4OiAxMDtcbiAgYmFja2dyb3VuZDogIzExMTtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDYwMHB4KSB7XG4gIC5jYWxsLWxvY2FsLXZpZGVvIHtcbiAgICB3aWR0aDogMTIwcHg7XG4gICAgaGVpZ2h0OiA5MHB4O1xuICAgIGJvdHRvbTogOTBweDtcbiAgICByaWdodDogMTJweDtcbiAgfVxufVxuXG4vKiBTdGF0ZSBvdmVybGF5cyAod2FpdGluZywgZW5kZWQpICovXG4uY2FsbC1vdmVybGF5IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBpbnNldDogMDtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC44NSk7XG4gIHotaW5kZXg6IDIwO1xufVxuXG4uY2FsbC13YWl0aW5nLFxuLmNhbGwtZW5kZWQge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGNvbG9yOiAjZmZmO1xuICBtYXgtd2lkdGg6IDUwMHB4O1xuICBwYWRkaW5nOiAyNHB4O1xufVxuXG4uY2FsbC13YWl0aW5nIGgyLFxuLmNhbGwtZW5kZWQgaDIge1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1tb25vLCAnSmV0QnJhaW5zIE1vbm8nLCBtb25vc3BhY2UpO1xuICBmb250LXNpemU6IDI0cHg7XG4gIG1hcmdpbi1ib3R0b206IDE2cHg7XG4gIGxldHRlci1zcGFjaW5nOiAwLjVweDtcbn1cblxuLmNhbGwtc2hhcmUtbGFiZWwge1xuICBjb2xvcjogIzg4ODtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBtYXJnaW4tYm90dG9tOiA4cHg7XG59XG5cbi5jYWxsLXNoYXJlLXVybCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogOHB4O1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDgpO1xuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTUpO1xuICBib3JkZXItcmFkaXVzOiA4cHg7XG4gIHBhZGRpbmc6IDEwcHggMTRweDtcbiAgbWFyZ2luLWJvdHRvbTogMTZweDtcbn1cblxuLmNhbGwtc2hhcmUtdXJsIGNvZGUge1xuICBmbGV4OiAxO1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1tb25vLCBtb25vc3BhY2UpO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGNvbG9yOiAjNGZjM2Y3O1xuICB3b3JkLWJyZWFrOiBicmVhay1hbGw7XG59XG5cbi5jYWxsLWNvcHktYnRuIHtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEyKTtcbiAgY29sb3I6ICNmZmY7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yKTtcbiAgcGFkZGluZzogNnB4IDE0cHg7XG4gIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBmb250LXNpemU6IDEzcHg7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LW1vbm8sIG1vbm9zcGFjZSk7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4xNXM7XG59XG4uY2FsbC1jb3B5LWJ0bjpob3ZlciB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yKTtcbn1cblxuLmNhbGwtaGludCB7XG4gIGNvbG9yOiAjNjY2O1xuICBmb250LXNpemU6IDEzcHg7XG59XG5cbi5jYWxsLW5ldy1idG4sXG4uY2FsbC1ob21lLWJ0biB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZzogMTBweCAyNHB4O1xuICBtYXJnaW46IDhweDtcbiAgYm9yZGVyLXJhZGl1czogOHB4O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LW1vbm8sIG1vbm9zcGFjZSk7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjE1cztcbn1cblxuLmNhbGwtbmV3LWJ0biB7XG4gIGJhY2tncm91bmQ6ICM0ZmMzZjc7XG4gIGNvbG9yOiAjMDAwO1xufVxuLmNhbGwtbmV3LWJ0bjpob3ZlciB7IGJhY2tncm91bmQ6ICM4MWQ0ZmE7IH1cblxuLmNhbGwtaG9tZS1idG4ge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMSk7XG4gIGNvbG9yOiAjZmZmO1xuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMik7XG59XG4uY2FsbC1ob21lLWJ0bjpob3ZlciB7IGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yKTsgfVxuXG4vKiBCb3R0b20gdG9vbGJhciAobWljLCBjYW1lcmEsIGhhbmd1cCkgKi9cbi5jYWxsLXRvb2xiYXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogMjBweDtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGdhcDogMTJweDtcbiAgcGFkZGluZzogMTBweCAyMHB4O1xuICBiYWNrZ3JvdW5kOiByZ2JhKDMwLCAzMCwgMzAsIDAuODUpO1xuICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoMTBweCk7XG4gIGJvcmRlci1yYWRpdXM6IDQwcHg7XG4gIHotaW5kZXg6IDMwO1xufVxuXG4uY2FsbC10b29sYmFyLmhpZGRlbiB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5jYWxsLWJ0biB7XG4gIHdpZHRoOiA1MnB4O1xuICBoZWlnaHQ6IDUycHg7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgYm9yZGVyOiBub25lO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTUpO1xuICBjb2xvcjogI2ZmZjtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtbW9ubywgbW9ub3NwYWNlKTtcbiAgZm9udC1zaXplOiAxMXB4O1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuNXB4O1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMTVzO1xufVxuLmNhbGwtYnRuOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjI1KTtcbn1cblxuLmNhbGwtYnRuLm11dGVkIHtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDYwLCA2MCwgMC4zKTtcbiAgY29sb3I6ICNmZjZiNmI7XG59XG5cbi5jYWxsLWJ0bi1oYW5ndXAge1xuICBiYWNrZ3JvdW5kOiAjZTUzOTM1O1xuICBjb2xvcjogI2ZmZjtcbn1cbi5jYWxsLWJ0bi1oYW5ndXA6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiAjZjQ0MzM2O1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNjAwcHgpIHtcbiAgLmNhbGwtdG9vbGJhciB7XG4gICAgYm90dG9tOiAxMnB4O1xuICAgIGdhcDogMTBweDtcbiAgICBwYWRkaW5nOiA4cHggMTZweDtcbiAgfVxuICAuY2FsbC1idG4ge1xuICAgIHdpZHRoOiA0NnB4O1xuICAgIGhlaWdodDogNDZweDtcbiAgICBmb250LXNpemU6IDEwcHg7XG4gIH1cbn1cblxuLyogUmluZ2luZyBhbmltYXRpb24gLSBleHBhbmRpbmcgY2lyY2xlcyAqL1xuLmNhbGwtcmluZy1hbmltYXRpb24ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgaGVpZ2h0OiA4MHB4O1xuICBtYXJnaW46IDE2cHggMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uY2FsbC1yaW5nLWNpcmNsZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDQwcHg7XG4gIGhlaWdodDogNDBweDtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBib3JkZXI6IDJweCBzb2xpZCAjNGZjM2Y3O1xuICBhbmltYXRpb246IGNhbGxSaW5nIDJzIGVhc2Utb3V0IGluZmluaXRlO1xuICBvcGFjaXR5OiAwO1xufVxuXG4uY2FsbC1yaW5nLWNpcmNsZTpudGgtY2hpbGQoMikgeyBhbmltYXRpb24tZGVsYXk6IDAuNnM7IH1cbi5jYWxsLXJpbmctY2lyY2xlOm50aC1jaGlsZCgzKSB7IGFuaW1hdGlvbi1kZWxheTogMS4yczsgfVxuXG5Aa2V5ZnJhbWVzIGNhbGxSaW5nIHtcbiAgMCUgeyB3aWR0aDogNDBweDsgaGVpZ2h0OiA0MHB4OyBvcGFjaXR5OiAwLjg7IH1cbiAgMTAwJSB7IHdpZHRoOiAxMjBweDsgaGVpZ2h0OiAxMjBweDsgb3BhY2l0eTogMDsgfVxufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgU1RBVFMgRk9SIE5FUkRTIC0gV2ViUlRDIGRpYWdub3N0aWMgb3ZlcmxheVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmNhbGwtc3RhdHMge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMTJweDtcbiAgbGVmdDogMTJweDtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjgpO1xuICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoOHB4KTtcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEpO1xuICBib3JkZXItcmFkaXVzOiA4cHg7XG4gIHBhZGRpbmc6IDEwcHggMTRweDtcbiAgei1pbmRleDogMzU7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1tb25vLCAnSmV0QnJhaW5zIE1vbm8nLCBtb25vc3BhY2UpO1xuICBmb250LXNpemU6IDExcHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjY7XG4gIGNvbG9yOiAjY2NjO1xuICBtaW4td2lkdGg6IDIyMHB4O1xuICBtYXgtd2lkdGg6IDMwMHB4O1xufVxuXG4uY2FsbC1zdGF0cy1oZWFkZXIge1xuICBjb2xvcjogIzRmYzNmNztcbiAgZm9udC1zaXplOiAxMHB4O1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgbGV0dGVyLXNwYWNpbmc6IDEuNXB4O1xuICBtYXJnaW4tYm90dG9tOiA2cHg7XG4gIHBhZGRpbmctYm90dG9tOiA0cHg7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMSk7XG59XG5cbiNjYWxsLXN0YXRzLWJvZHkgLnN0YXQtc2VjdGlvbiB7XG4gIGNvbG9yOiAjODg4O1xuICBmb250LXNpemU6IDlweDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGxldHRlci1zcGFjaW5nOiAxcHg7XG4gIG1hcmdpbi10b3A6IDhweDtcbiAgbWFyZ2luLWJvdHRvbTogMnB4O1xufVxuXG4jY2FsbC1zdGF0cy1ib2R5IC5zdGF0LXNlY3Rpb246Zmlyc3QtY2hpbGQge1xuICBtYXJnaW4tdG9wOiAwO1xufVxuXG4uc3RhdC12YWx1ZSB7IGNvbG9yOiAjZmZmOyB9XG4uc3RhdC1nb29kIHsgY29sb3I6ICM0Y2FmNTA7IH1cbi5zdGF0LXdhcm4geyBjb2xvcjogI2ZmYzEwNzsgfVxuLnN0YXQtYmFkIHsgY29sb3I6ICNmNDQzMzY7IH1cbi5zdGF0LWRpbSB7IGNvbG9yOiAjNjY2OyBmb250LXNpemU6IDEwcHg7IH1cblxuLmNhbGwtYnRuLnN0YXRzLWFjdGl2ZSB7XG4gIGJhY2tncm91bmQ6IHJnYmEoNzksIDE5NSwgMjQ3LCAwLjMpO1xuICBjb2xvcjogIzRmYzNmNztcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDYwMHB4KSB7XG4gIC5jYWxsLXN0YXRzIHtcbiAgICBmb250LXNpemU6IDEwcHg7XG4gICAgcGFkZGluZzogOHB4IDEwcHg7XG4gICAgbWluLXdpZHRoOiAxODBweDtcbiAgfVxufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQURNSU4gQ0FMTCBMT0JCWSAtIFBlcnNpc3RlbnQgaW5jb21pbmcgY2FsbCBsaXN0XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uY2FsbC1sb2JieS1saXN0IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiAxMHB4O1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiA0NDBweDtcbiAgbWFyZ2luLXRvcDogMTZweDtcbn1cblxuLmNhbGwtbG9iYnktY2FyZCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA2KTtcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSg3OSwgMTk1LCAyNDcsIDAuMyk7XG4gIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gIHBhZGRpbmc6IDE0cHggMTZweDtcbiAgYW5pbWF0aW9uOiBsb2JieVNsaWRlSW4gMC4zcyBlYXNlLW91dDtcbn1cblxuLmNhbGwtbG9iYnktaW5mbyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGdhcDogNHB4O1xufVxuXG4uY2FsbC1sb2JieS1jYWxsZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDhweDtcbiAgY29sb3I6ICNmZmY7XG4gIGZvbnQtc2l6ZTogMTVweDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbn1cblxuLmNhbGwtbG9iYnktZG90IHtcbiAgd2lkdGg6IDhweDtcbiAgaGVpZ2h0OiA4cHg7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgYmFja2dyb3VuZDogIzRjYWY1MDtcbiAgYW5pbWF0aW9uOiBsb2JieVB1bHNlIDEuNXMgZWFzZS1pbi1vdXQgaW5maW5pdGU7XG59XG5cbi5jYWxsLWxvYmJ5LW1ldGEge1xuICBkaXNwbGF5OiBmbGV4O1xuICBnYXA6IDEycHg7XG4gIGNvbG9yOiAjNjY2O1xuICBmb250LXNpemU6IDEycHg7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LW1vbm8sIG1vbm9zcGFjZSk7XG59XG5cbi5jYWxsLWxvYmJ5LWFjdGlvbnMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBnYXA6IDZweDtcbn1cblxuQGtleWZyYW1lcyBsb2JieVNsaWRlSW4ge1xuICBmcm9tIHsgb3BhY2l0eTogMDsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMHB4KTsgfVxuICB0byB7IG9wYWNpdHk6IDE7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfVxufVxuXG5Aa2V5ZnJhbWVzIGxvYmJ5UHVsc2Uge1xuICAwJSwgMTAwJSB7IG9wYWNpdHk6IDE7IH1cbiAgNTAlIHsgb3BhY2l0eTogMC40OyB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA2MDBweCkge1xuICAuY2FsbC1sb2JieS1jYXJkIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogMTBweDtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgfVxuICAuY2FsbC1sb2JieS1hY3Rpb25zIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHN0cmV0Y2g7XG4gIH1cbiAgLmNhbGwtbG9iYnktYWN0aW9ucyBidXR0b24ge1xuICAgIGZsZXg6IDE7XG4gIH1cbn1cbiIsICIvKiBUaGlzIGZpbGUgaXMgZm9yIHlvdXIgbWFpbiBhcHBsaWNhdGlvbiBDU1MgKi9cbi8qIEFsbCBDU1MgaXMgYnVuZGxlZCB2aWEgZXNidWlsZCAtIGltcG9ydGVkIGluIGFwcC5qcyAqL1xuQGltcG9ydCBcIi4vZ2FsbGVyeS5jc3NcIjtcbkBpbXBvcnQgXCIuL3RoZW1lX21vZGVybi5jc3NcIjtcbkBpbXBvcnQgXCIuL2FpX2NvbGxhYi5jc3NcIjtcbkBpbXBvcnQgXCIuL2FkbWluLmNzc1wiO1xuQGltcG9ydCBcIi4vYmxvZy5jc3NcIjtcbkBpbXBvcnQgXCIuL3RoZW1lX21pbmltYWwuY3NzXCI7XG5AaW1wb3J0IFwiLi9jYWxsLmNzc1wiO1xuXG4vKiBUb2FzdCBub3RpZmljYXRpb25zICovXG4uYWxlcnQge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMTZweDtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gIHotaW5kZXg6IDk5OTk7XG4gIHBhZGRpbmc6IDEwcHggMjBweDtcbiAgbWFyZ2luOiAwO1xuICBib3JkZXI6IG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgZm9udC1mYW1pbHk6IC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgXCJTZWdvZSBVSVwiLCBSb2JvdG8sIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMTNweDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBib3gtc2hhZG93OiAwIDRweCAxMnB4IHJnYmEoMCwgMCwgMCwgMC4zKTtcbiAgYW5pbWF0aW9uOiB0b2FzdC1pbiA0cyBlYXNlLW91dCBmb3J3YXJkcztcbiAgbWF4LXdpZHRoOiA5MHZ3O1xufVxuLmFsZXJ0LWluZm8ge1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZDogIzIyYzU1ZTtcbn1cbi5hbGVydC13YXJuaW5nIHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQ6ICNmNTllMGI7XG59XG4uYWxlcnQtZGFuZ2VyIHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQ6ICNlZjQ0NDQ7XG59XG4uYWxlcnQgcCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG4uYWxlcnQ6ZW1wdHkge1xuICBkaXNwbGF5OiBub25lO1xufVxuQGtleWZyYW1lcyB0b2FzdC1pbiB7XG4gIDAlIHsgb3BhY2l0eTogMDsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHRyYW5zbGF0ZVkoLTEycHgpOyB9XG4gIDglIHsgb3BhY2l0eTogMTsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHRyYW5zbGF0ZVkoMCk7IH1cbiAgNzUlIHsgb3BhY2l0eTogMTsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHRyYW5zbGF0ZVkoMCk7IH1cbiAgMTAwJSB7IG9wYWNpdHk6IDA7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVZKC0xMnB4KTsgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cbn1cbi5pbnZhbGlkLWZlZWRiYWNrIHtcbiAgY29sb3I6ICNhOTQ0NDI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IC0xcmVtIDAgMnJlbTtcbn1cblxuLyogTGl2ZVZpZXcgc3BlY2lmaWMgY2xhc3NlcyBmb3IgeW91ciBjdXN0b21pemF0aW9uICovXG4ucGh4LW5vLWZlZWRiYWNrLmludmFsaWQtZmVlZGJhY2ssXG4ucGh4LW5vLWZlZWRiYWNrIC5pbnZhbGlkLWZlZWRiYWNrIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLnBoeC1jbGljay1sb2FkaW5nIHtcbiAgb3BhY2l0eTogMC41O1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDFzIGVhc2Utb3V0O1xufVxuXG4ucGh4LWRpc2Nvbm5lY3RlZHtcbiAgY3Vyc29yOiB3YWl0O1xufVxuLnBoeC1kaXNjb25uZWN0ZWQgKntcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbi5waHgtbW9kYWwge1xuICBvcGFjaXR5OiAxIWltcG9ydGFudDtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB6LWluZGV4OiAxO1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG92ZXJmbG93OiBhdXRvO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMCwwLDApO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsMCwwLDAuNCk7XG59XG5cbi5waHgtbW9kYWwtY29udGVudCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7XG4gIG1hcmdpbjogMTV2aCBhdXRvO1xuICBwYWRkaW5nOiAyMHB4O1xuICBib3JkZXI6IDFweCBzb2xpZCAjODg4O1xuICB3aWR0aDogODAlO1xufVxuXG4ucGh4LW1vZGFsLWNsb3NlIHtcbiAgY29sb3I6ICNhYWE7XG4gIGZsb2F0OiByaWdodDtcbiAgZm9udC1zaXplOiAyOHB4O1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuLnBoeC1tb2RhbC1jbG9zZTpob3Zlcixcbi5waHgtbW9kYWwtY2xvc2U6Zm9jdXMge1xuICBjb2xvcjogYmxhY2s7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuIl0sCiAgIm1hcHBpbmdzIjogIjtBQXdHQTtBQUVFO0FBQ0E7QUFHQTtBQUNBO0FBR0E7QUFDQTtBQUdBO0FBQ0E7QUFHQTtBQUdBO0FBQ0E7QUFHQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFBQTtBQVNGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFLRjtBQUFBO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUFBO0FBZUY7QUFDRTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQUE7QUFNRjtBQUNFO0FBQUE7QUFhRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBSUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBR0Y7QUFBQTtBQUNhO0FBQUE7QUFBQTtBQUNMO0FBQUE7QUFBQTtBQWtCUjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQU1GO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBT0Y7QUFBQTtBQUVFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFNRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQWlCO0FBQUE7QUFDakI7QUFBaUI7QUFBQTtBQUNqQjtBQUFtQjtBQUFBO0FBR25CO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBSUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFBQTtBQUNhO0FBQUE7QUFBQTtBQUNMO0FBQUE7QUFBQTtBQU1SO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBSUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFNRjtBQUEyQjtBQUFxQztBQUFBO0FBQ2hFO0FBQTZCO0FBQXVCO0FBQUE7QUFDcEQ7QUFBMkI7QUFBdUI7QUFBQTtBQUNsRDtBQUEwQjtBQUF1QjtBQUFBO0FBQ2pEO0FBQTJCO0FBQXVCO0FBQUE7QUFFbEQ7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUFvQjtBQUFBO0FBRXBCO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQXVCO0FBQXFCO0FBQUE7QUFFNUM7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBWUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBSUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBSUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFNRjtBQUFBO0FBRUU7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBT0E7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFlRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBSUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBSUY7QUFDRTtBQUNBO0FBQUE7QUFJRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQVNGO0FBQ0U7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQVlGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQWFGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFBQTtBQUlGO0FBQUE7QUFFRTtBQUNBO0FBQUE7QUFHRjtBQUFBO0FBRUU7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBWUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFZRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUFBO0FBSUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBSUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFBQTtBQUVGO0FBQ0U7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQWVGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUlGO0FBQ0U7QUFBQTtBQVlGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFhRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQWFGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFBQTtBQUVFO0FBQUE7QUFpQkY7QUFBQTtBQUVFO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUFBO0FBRUU7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFNRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUFBO0FBQUE7QUFBQTtBQUlFO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBSUY7QUFBQTtBQUFBO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQUE7QUFBQTtBQUNFO0FBQUE7QUFVRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFBQTtBQUVGO0FBQ0U7QUFBQTtBQUlGO0FBQ0U7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBSUY7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUlGO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFBQTtBQUdGO0FBQUE7QUFFRTtBQUFBO0FBSUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBSUY7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUFBO0FBQ2E7QUFBQTtBQUFBO0FBQ0w7QUFBQTtBQUFBO0FBSVI7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFBQTtBQUFBO0FBQUE7QUFJRTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBV0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFZRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFjRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBSUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUFBO0FBQ1M7QUFBQTtBQUFBO0FBQ0Y7QUFBQTtBQUFBO0FBR1A7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUFBO0FBSUY7QUFDRTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBSUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBT0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFzQkY7QUFFRTtBQUF3QjtBQUFBO0FBQ3hCO0FBQWlCO0FBQUE7QUFDakI7QUFBeUI7QUFBQTtBQUN6QjtBQUFlO0FBQUE7QUFDZjtBQUFXO0FBQUE7QUFHWDtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFBQTtBQUdGO0FBQUE7QUFFRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFJRjtBQUFnQjtBQUFBO0FBQ2hCO0FBQW9CO0FBQUE7QUFDcEI7QUFBa0I7QUFBQTtBQUNsQjtBQUFlO0FBQUE7QUFDZjtBQUFnQjtBQUFBO0FBR2hCO0FBQ0U7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBQUE7QUFzQko7QUFDRTtBQUNFO0FBQUE7QUFJRjtBQUNFO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBSUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFBQTtBQUFBO0FBQUE7QUFJRTtBQUNBO0FBQ0E7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBSUY7QUFBQTtBQUVFO0FBQ0E7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBSUY7QUFDRTtBQUNBO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUFBO0FBSUY7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBSUY7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBTUU7QUFBQTtBQUFBO0FBaUJKO0FBQ0U7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBSUY7QUFBQTtBQUFBO0FBR0U7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFBQTtBQWFKO0FBQ0U7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUFnQjtBQUFBO0FBQ2hCO0FBQWdCO0FBQUE7QUFDaEI7QUFBa0I7QUFBQTtBQUdsQjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUFBO0FBYUo7QUFDRTtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFBQTtBQUFBO0FBQUE7QUFJRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUFBO0FBSUY7QUFDRTtBQUFBO0FBSUY7QUFBQTtBQUVFO0FBQ0E7QUFBQTtBQUFBO0FBWUo7QUFDRTtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBQUE7QUFhSjtBQUNFO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUlGO0FBQ0U7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQUE7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUlGO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUFBO0FBSUY7QUFDRTtBQUNBO0FBQUE7QUFJRjtBQUNFO0FBQUE7QUFBQTtBQVVKO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUFBO0FBR0Y7QUFBQTtBQUlBO0FBQUE7QUFFRTtBQUFBO0FBU0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBaUJGO0FBQ0U7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUFBO0FBSUY7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFJRjtBQUFBO0FBQXFDO0FBQUE7QUFBQTtBQUl2QztBQUVFO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUFBO0FBSUY7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFBQTtBQUtKO0FBQ0U7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBSUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBSUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUFBO0FBY0o7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUFBO0FBRUk7QUFDQTtBQUFBO0FBQUE7QUFHQTtBQUNBO0FBQUE7QUFBQTtBQUtKO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFJRjtBQUNFO0FBQ0U7QUFDQTtBQUFBO0FBQUE7QUFTSjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBSUY7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUlGO0FBQ0U7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFLSjtBQUNFO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQVNKO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFBYztBQUFlO0FBQXFCO0FBQVc7QUFBQTtBQUM3RDtBQUFpQjtBQUFlO0FBQXFCO0FBQ25EO0FBQXVDO0FBQWlCO0FBQUE7QUFDMUQ7QUFBdUI7QUFBc0M7QUFBQTtBQUM3RDtBQUFlO0FBQWU7QUFBQTtBQUM5QjtBQUFjO0FBQWtCO0FBQStCO0FBQzdEO0FBQWdEO0FBQ2hEO0FBQXFDO0FBQUE7QUFDdkM7QUFBcUI7QUFBMEM7QUFBQTtBQUcvRDtBQUFrQjtBQUFlO0FBQVU7QUFBUztBQUFxQjtBQUFBO0FBQ3pFO0FBQXVCO0FBQWU7QUFBcUI7QUFBVTtBQUFrQjtBQUFBO0FBQ3ZGO0FBQXVCO0FBQXFDO0FBQzFEO0FBQTJCO0FBQUE7QUFDN0I7QUFBdUI7QUFBdUM7QUFDNUQ7QUFBb0M7QUFBaUI7QUFBQTtBQUN2RDtBQUFpQjtBQUFTO0FBQThDO0FBQ3RFO0FBQTBDO0FBQWtCO0FBQTBCO0FBQUE7QUFDeEY7QUFBdUM7QUFBa0I7QUFBYTtBQUNwRTtBQUE0QztBQUFvQjtBQUFBO0FBRWxFO0FBQWtCO0FBQWU7QUFBQTtBQUNqQztBQUFjO0FBQW1CO0FBQStCO0FBQzlEO0FBQWdEO0FBQ2hEO0FBQUE7QUFDRjtBQUFtQjtBQUFzQztBQUFBO0FBQ3pEO0FBQTRCO0FBQWM7QUFBQTtBQUMxQztBQUFvQjtBQUFBO0FBRXBCO0FBQW9CO0FBQWU7QUFBcUI7QUFBVTtBQUFBO0FBQ2xFO0FBQW9CO0FBQXFDO0FBQUE7QUFDekQ7QUFBc0I7QUFBdUM7QUFBaUI7QUFBQTtBQUU5RTtBQUNFO0FBQWM7QUFBd0I7QUFBQTtBQUN0QztBQUFrQjtBQUFBO0FBQ2xCO0FBQXVCO0FBQUE7QUFBQTtBQUl6QjtBQUFnQjtBQUFvQjtBQUFVO0FBQWE7QUFBQTtBQUMzRDtBQUFhO0FBQW9CO0FBQTZCO0FBQUE7QUFDOUQ7QUFBZTtBQUFvQjtBQUFtRDtBQUFBO0FBQ3RGO0FBQWU7QUFBb0I7QUFBYTtBQUM5QztBQUE0QztBQUFBO0FBRzlDO0FBQXVCO0FBQWU7QUFBVTtBQUFBO0FBQ2hEO0FBQ0U7QUFBb0M7QUFDcEM7QUFBK0I7QUFBaUI7QUFBa0I7QUFDbEU7QUFBMEM7QUFBQTtBQUU1QztBQUNFO0FBQXFDO0FBQ3JDO0FBQUE7QUFFRjtBQUEyQjtBQUFBO0FBRzNCO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFJRjtBQUF1QjtBQUFBO0FBQ3ZCO0FBQTZCO0FBQUE7QUFFN0I7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFBQTtBQUVFO0FBQ0E7QUFBQTtBQUlGO0FBQWU7QUFBb0I7QUFBYztBQUFZO0FBQzNEO0FBQWlCO0FBQWlCO0FBQUE7QUFDcEM7QUFBcUI7QUFBOEI7QUFBQTtBQUNuRDtBQUE0QjtBQUFnQjtBQUFBO0FBQzVDO0FBQTJCO0FBQUE7QUFDM0I7QUFBbUI7QUFBdUI7QUFBa0I7QUFDMUQ7QUFBK0I7QUFBaUI7QUFDaEQ7QUFBeUM7QUFDekM7QUFBOEI7QUFBaUI7QUFBQTtBQUNqRDtBQUEwQjtBQUFxQjtBQUFhO0FBQUE7QUFDNUQ7QUFBeUI7QUFBdUI7QUFBQTtBQUdoRDtBQUFBO0FBQUE7QUFBQTtBQUF1RTtBQUErQjtBQUNwRztBQUEwQztBQUMxQztBQUFnRDtBQUFrQjtBQUFBO0FBR3BFO0FBQUE7QUFFRTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUVGO0FBQUE7QUFDb0M7QUFBQTtBQUNwQztBQUFBO0FBQ2lDO0FBQXFDO0FBQ3BFO0FBQUE7QUFBQTtBQUFBO0FBQW1EO0FBQUE7QUFDckQ7QUFBQTtBQUN3QztBQUFvQztBQUFBO0FBQzVFO0FBQUE7QUFDMEM7QUFBQTtBQUMxQztBQUFBO0FBQzBDO0FBQUE7QUFDMUM7QUFBQTtBQUNvQztBQUF1QjtBQUFBO0FBQzNEO0FBQUE7QUFDMEQ7QUFBQTtBQUMxRDtBQUFBO0FBQ2lDO0FBQXFDO0FBQ3BFO0FBQUE7QUFBQTtBQUFBO0FBQW1EO0FBQUE7QUFDckQ7QUFBQTtBQUNzQztBQUFnQjtBQUFBO0FBQ3REO0FBQUE7QUFDdUM7QUFBQTtBQUN2QztBQUFBO0FBQ3VDO0FBQ3JDO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDRjtBQUFBO0FBQ3lDO0FBQ3ZDO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDRjtBQUFBO0FBQzBDO0FBQUE7QUFDMUM7QUFBQTtBQUNrQztBQUFBO0FBQ2xDO0FBQUE7QUFDa0M7QUFBQTtBQUNsQztBQUFBO0FBQUE7QUFBQTtBQUlFO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFBNkI7QUFBYTtBQUMxQztBQUFBO0FBeUJGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQUE7QUFDYTtBQUFBO0FBQUE7QUFDTDtBQUFBO0FBQUE7QUFHUjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBSUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBSUY7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUFBO0FBRUU7QUFDQTtBQUNBO0FBQUE7QUFJRjtBQUNFO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFBQTtBQUdGO0FBRUU7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUF5QjtBQUFBO0FBR3pCO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUFvQjtBQUFBO0FBQ3BCO0FBQWtCO0FBQW9DO0FBQUE7QUFDdEQ7QUFBa0I7QUFBb0M7QUFBQTtBQUN0RDtBQUFvQjtBQUFxQztBQUFBO0FBRXpEO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBSUY7QUFDRTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBSUY7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQXNCO0FBQUE7QUFDdEI7QUFBc0I7QUFBQTtBQUV0QjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQUE7QUFDUztBQUFBO0FBQUE7QUFDRjtBQUFBO0FBQUE7QUFJUDtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBSUY7QUFBQTtBQUFBO0FBR0U7QUFDQTtBQUFBO0FBR0Y7QUFBNEI7QUFBQTtBQUM1QjtBQUF5QztBQUFrQjtBQUFBO0FBQzNEO0FBQTRDO0FBQUE7QUFDNUM7QUFBd0M7QUFBQTtBQUN4QztBQUEyQztBQUFBO0FBQzNDO0FBQTRDO0FBQUE7QUFDNUM7QUFBMEM7QUFBQTtBQUMxQztBQUFrQztBQUFBO0FBQ2xDO0FBQXVDO0FBQUE7QUFDdkM7QUFBNkM7QUFBQTtBQUM3QztBQUFnRDtBQUFxQjtBQUFBO0FBQ3JFO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUEwQztBQUFBO0FBQzFDO0FBQTZDO0FBQXFCO0FBQUE7QUFDbEU7QUFBK0M7QUFBa0I7QUFBYTtBQUFBO0FBQzlFO0FBQTREO0FBQUE7QUFDNUQ7QUFBK0M7QUFBQTtBQUMvQztBQUFpRDtBQUFxQztBQUFBO0FBQ3RGO0FBQStDO0FBQUE7QUFDL0M7QUFBNkM7QUFBQTtBQUc3QztBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUlGO0FBQ0U7QUFBYTtBQUFBO0FBQ2I7QUFBZTtBQUFBO0FBQUE7QUFRakI7QUFBQTtBQUF3QztBQUFBO0FBQ3hDO0FBQXlCO0FBQUE7QUFDekI7QUFBc0I7QUFBQTtBQUN0QjtBQUFBO0FBQXlDO0FBQUE7QUFPekM7QUFDRTtBQUFBO0FBQUE7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFRSjtBQUFBO0FBRUU7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFPRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUlGO0FBQ0U7QUFDRTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFBQTtBQUFBO0FBS0o7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBR0Y7QUFBQTtBQUVFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQTRCO0FBQUE7QUFDNUI7QUFBNEI7QUFBQTtBQUU1QjtBQUFBO0FBRUU7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQXlDO0FBQUE7QUFHekM7QUFDRTtBQUFBO0FBRUU7QUFDQTtBQUFBO0FBRUY7QUFBNEI7QUFBQTtBQUM1QjtBQUE0QjtBQUFBO0FBRTVCO0FBQ0U7QUFDQTtBQUFBO0FBQUE7OztBQ3RwSUo7QUFBQTtBQUdFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFHQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQVVGO0FBQ0U7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQVNGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQVNGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFTRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBU0Y7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFTRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUlGO0FBQUE7QUFFRTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFJRjtBQUNFO0FBQUE7QUFTRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUlGO0FBQ0U7QUFBQTtBQUlGO0FBQ0U7QUFBQTtBQVNGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBU0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFTRjtBQUNFO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQVNGO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQVNGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBU0Y7QUFDRTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFBQTtBQVNGO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFTRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFZRjtBQUFBO0FBR0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUdBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBSUY7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBSUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBSUY7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBR0Y7QUFBQTtBQUVFO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUlGO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBSUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBSUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBSUY7QUFDRTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFJRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBSUY7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUFBO0FBSUY7QUFDRTtBQUFBO0FBQUE7QUFBQTtBQUlBO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUFBO0FBR0Y7QUFBQTtBQUNhO0FBQUE7QUFBQTtBQUNMO0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFBQTtBQUlSO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUdBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFLRjtBQUNFO0FBQ0E7QUFBQTtBQUtGO0FBQ0U7QUFDQTtBQUFBO0FBS0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBSUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUFBO0FBY0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBSUY7QUFBQTtBQUFBO0FBR0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUFBO0FBQUE7QUFHRTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFBQTtBQUdGO0FBQUE7QUFFRTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUFBO0FBSUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQVVGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBSUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBSUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBSUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUlGO0FBQUE7QUFBQTtBQUdFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFBQTtBQUFBO0FBR0U7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUFBO0FBSUY7QUFDRTtBQUNBO0FBQUE7QUFHRjtBQUFBO0FBRUU7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBSUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUFBO0FBSUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBSUE7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFHQTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBYUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFBaUQ7QUFBQTtBQUNqRDtBQUE4QztBQUFBO0FBQzlDO0FBQXFEO0FBQUE7QUFHckQ7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBSUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFBQTtBQUNPO0FBQUE7QUFBQTtBQVFQO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBSUY7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBSUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQUE7QUFFRTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUFBO0FBSUY7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUFBO0FBa0JGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFRRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFRRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBSUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBSUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFBQTtBQUdGO0FBQUE7QUFDYTtBQUFBO0FBQUE7QUFDTDtBQUFBO0FBQUE7QUFRUjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNFO0FBQUE7QUFBQTtBQUlKO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUFBO0FBSUY7QUFBdUM7QUFBcUI7QUFBQTtBQUM1RDtBQUFzQztBQUFxQjtBQUFBO0FBQzNEO0FBQTBDO0FBQXFCO0FBQUE7QUFDL0Q7QUFBc0M7QUFBa0I7QUFBQTtBQUN4RDtBQUF5QztBQUFrQjtBQUFBO0FBQzNEO0FBQTJDO0FBQXFCO0FBQUE7QUFDaEU7QUFBeUM7QUFBcUI7QUFBQTtBQUM5RDtBQUNFO0FBQ0E7QUFBQTtBQUVGO0FBQXNDO0FBQXFCO0FBQUE7QUFDM0Q7QUFBcUM7QUFBcUI7QUFBQTtBQU8xRDtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0U7QUFBQTtBQUFBO0FBSUo7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUE2QjtBQUFBO0FBQzdCO0FBQTZCO0FBQUE7QUFDN0I7QUFBNEI7QUFBQTtBQVE1QjtBQUNFO0FBQ0E7QUFBQTtBQUdGO0FBQWlCO0FBQUE7QUFDakI7QUFBaUI7QUFBQTtBQUNqQjtBQUFtQjtBQUFBO0FBQ25CO0FBQWlCO0FBQUE7QUFDakI7QUFBaUI7QUFBQTtBQUVqQjtBQUFvQjtBQUFBO0FBQ3BCO0FBQWtCO0FBQUE7QUFPbEI7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFRRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNFO0FBQUE7QUFBQTtBQVNKO0FBQ0U7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBR0Y7QUFBQTtBQUFBO0FBR0U7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBSUY7QUFBQTtBQUFBO0FBR0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFBQTtBQUFBO0FBR0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQUE7QUFBQTtBQUdFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQUE7QUFBQTtBQUdFO0FBQUE7QUFHRjtBQUFBO0FBQUE7QUFHRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFJRjtBQUFBO0FBRUU7QUFDQTtBQUFBO0FBR0Y7QUFBQTtBQUFBO0FBR0U7QUFDQTtBQUFBO0FBSUY7QUFDRTtBQUNBO0FBQUE7QUFJRjtBQUFBO0FBQUE7QUFHRTtBQUFBO0FBSUY7QUFDRTtBQUNBO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFBQTtBQUlGO0FBQ0U7QUFBQTtBQUFBO0FBS0o7QUFBVTtBQUFBOzs7QUM5Z0dWO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFPQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFPRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUFBO0FBRUU7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFPRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFBQTtBQU9GO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUFBO0FBT0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUFBO0FBQ2E7QUFBQTtBQUFBO0FBQ0w7QUFBQTtBQUFBO0FBR1I7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQU9GO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFPRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFJRjtBQUNFO0FBQUE7QUFFRjtBQUNFO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBSUY7QUFBcUM7QUFBQTtBQUNyQztBQUFxQztBQUFBO0FBQ3JDO0FBQWtDO0FBQUE7QUFDbEM7QUFBbUM7QUFBQTtBQUVuQztBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFBQTtBQU9GO0FBQ0U7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBT0Y7QUFDRTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFPRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQU9GO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQU9GO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQU9GO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUlGO0FBQ0U7QUFBQTtBQUVGO0FBQUE7QUFFRTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQUE7QUFJRjtBQUNFO0FBQUE7QUFFRjtBQUFBO0FBRUU7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUFBO0FBSUY7QUFDRTtBQUFBO0FBRUY7QUFBQTtBQUVFO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFBQTtBQUlGO0FBQ0U7QUFBQTtBQUVGO0FBQUE7QUFFRTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQUE7QUFJRjtBQUNFO0FBQUE7QUFHRjtBQUFBO0FBQ2E7QUFBQTtBQUFBO0FBQ0w7QUFBQTtBQUFBO0FBR1I7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFPRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFPRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUFBO0FBU0Y7QUFFRTtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUFBO0FBSUY7QUFDRTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBSUY7QUFDRTtBQUNBO0FBQUE7QUFJRjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBS0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBSUY7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBSUY7QUFDRTtBQUNBO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBSUY7QUFDRTtBQUNBO0FBQUE7QUFBQTtBQU1KO0FBRUU7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUFBO0FBSUY7QUFDRTtBQUFBO0FBQUE7QUFNSjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFHRjtBQUFBO0FBQ2E7QUFBQTtBQUFBO0FBQ0w7QUFBQTtBQUFBO0FBT1I7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFNRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUFBO0FBSUY7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBOzs7QUNoekNGO0FBRUU7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBT0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBT0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFJRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFBQTtBQUVFO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBSUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBSUY7QUFDRTtBQUFBO0FBSUY7QUFDRTtBQUFBO0FBRUY7QUFDRTtBQUFBO0FBSUY7QUFDRTtBQUFBO0FBSUY7QUFDRTtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUlGO0FBQ0U7QUFBQTtBQUVGO0FBQ0U7QUFBQTtBQUVGO0FBQ0U7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUlGO0FBQ0U7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUFBO0FBQUE7QUFLSjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBS0Y7QUFDRTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFPRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUFBO0FBR0Y7QUFBZ0I7QUFBQTtBQUNoQjtBQUFnQjtBQUFBO0FBQ2hCO0FBQWdCO0FBQUE7QUFFaEI7QUFDRTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFHRjtBQUFnQjtBQUFBO0FBTWhCO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBSUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBSUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUEyQjtBQUFBO0FBQzNCO0FBQTJCO0FBQUE7QUFDM0I7QUFBeUI7QUFBQTtBQUN6QjtBQUF3QjtBQUFBO0FBR3hCO0FBQUE7QUFFRTtBQUNBO0FBQUE7QUFHRjtBQUFBO0FBQ2E7QUFBQTtBQUFBO0FBQ0w7QUFBQTtBQUFBO0FBT1I7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQUE7QUFFRTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFPRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBT0Y7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUFBO0FBQUE7QUFHRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQUE7QUFBQTtBQUdFO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFPRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFPRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQU9GO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFPRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFBQTtBQUNPO0FBQUE7QUFBQTtBQU9QO0FBQW9CO0FBQUE7QUFDcEI7QUFBc0I7QUFBQTtBQUN0QjtBQUFzQjtBQUFBO0FBQ3RCO0FBQW9CO0FBQUE7QUFDcEI7QUFBbUI7QUFBQTtBQUNuQjtBQUFxQjtBQUFBO0FBRXJCO0FBQWlCO0FBQUE7QUFDakI7QUFBaUI7QUFBQTtBQUNqQjtBQUFpQjtBQUFBO0FBRWpCO0FBQW1CO0FBQUE7QUFDbkI7QUFBbUI7QUFBQTtBQUVuQjtBQUFjO0FBQUE7QUFDZDtBQUFjO0FBQUE7QUFDZDtBQUFjO0FBQUE7QUFDZDtBQUFjO0FBQUE7QUFFZDtBQUFhO0FBQUE7QUFDYjtBQUFhO0FBQUE7QUFFYjtBQUFnQjtBQUFBO0FBR2hCO0FBQWtCO0FBQUE7QUFHbEI7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUFBO0FBT0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBT0Y7QUFDRTtBQUFvQjtBQUFBO0FBQUE7QUFHdEI7QUFDRTtBQUFvQjtBQUFBO0FBQ3BCO0FBQXdCO0FBQUE7QUFDeEI7QUFBZ0I7QUFBQTtBQUNoQjtBQUFnQjtBQUFBO0FBQUE7QUFHbEI7QUFFRTtBQUNFO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFBQTtBQUFBO0FBS0o7QUFFRTtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFJRjtBQUFBO0FBRUU7QUFBQTtBQUdGO0FBQUE7QUFFRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBSUY7QUFDRTtBQUFBO0FBR0Y7QUFBb0I7QUFBQTtBQUNwQjtBQUEyQjtBQUFBO0FBRzNCO0FBQUE7QUFFRTtBQUNBO0FBQUE7QUFJRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBSUY7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFHRjtBQUFBO0FBQUE7QUFHRTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBSUY7QUFDRTtBQUNBO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFBQTtBQUlGO0FBQUE7QUFFRTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBSUY7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBSUY7QUFDRTtBQUNBO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUFBO0FBS0o7QUFDRTtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFJRjtBQUFBO0FBRUU7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFBQTtBQUFBO0FBS0o7QUFDRTtBQUNFO0FBQUE7QUFHRjtBQUFBO0FBRUU7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBQUE7QUFLSjtBQUNFO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUlGO0FBQ0U7QUFBQTtBQUFBO0FBSUY7QUFDRTtBQUFBO0FBRUo7QUFPRTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFBQTtBQU9GO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBSUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBSUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBSUY7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBSUY7QUFDRTtBQUNBO0FBQUE7QUFJRjtBQUNFO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUFBO0FBU0o7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBSUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQUE7QUFBQTtBQUdFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQVFGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0U7QUFDQTtBQUFBO0FBQUE7QUFTSjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBSUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBSUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBSUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBSUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBSUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFJRjtBQUNFO0FBQ0U7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFBQTtBQVNKO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBSUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUFBO0FBQ2E7QUFBQTtBQUFBO0FBQ0w7QUFBQTtBQUFBO0FBSVI7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFBa0M7QUFBQTtBQUNsQztBQUFrQztBQUFBO0FBQ2xDO0FBQWlDO0FBQUE7QUFHakM7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFJRjtBQUNFO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUFBO0FBU0o7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBSUY7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDRTtBQUNBO0FBQUE7QUFBQTtBQUlKO0FBQ0U7QUFDRTtBQUNBO0FBQUE7QUFBQTtBQUtKO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0U7QUFBQTtBQUFBO0FBS0o7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFJSjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQ0U7QUFBQTtBQUFBO0FBSUo7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUNFO0FBQUE7QUFBQTtBQUtKO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFDRTtBQUFBO0FBQUE7QUFJSjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFJSjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNFO0FBQUE7QUFBQTtBQUlKO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0U7QUFDQTtBQUFBO0FBQUE7QUFJSjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDRTtBQUFBO0FBQUE7QUFLSjtBQUNFO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDRTtBQUNBO0FBQUE7QUFBQTtBQUtKO0FBQ0U7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFJSjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNFO0FBQ0E7QUFBQTtBQUFBO0FBS0o7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUlGO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFDRTtBQUFBO0FBQUE7QUFJSjtBQUNFO0FBQ0U7QUFBQTtBQUFBO0FBS0o7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDRTtBQUNBO0FBQUE7QUFBQTtBQUlKO0FBQ0U7QUFDRTtBQUFBO0FBQUE7QUFJSjtBQUNFO0FBQ0U7QUFBQTtBQUFBO0FBSUo7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFJRjtBQUNFO0FBQ0U7QUFBQTtBQUFBO0FBSUo7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFJRjtBQUNFO0FBQ0U7QUFBQTtBQUFBO0FBSUo7QUFDRTtBQUNFO0FBQ0E7QUFBQTtBQUFBO0FBS0o7QUFDRTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBT0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFPRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFPRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFPRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQU9GO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFPRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBT0Y7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFPRjtBQUNFO0FBQ0E7QUFBQTtBQU9GO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFBQTtBQVFGO0FBQ0U7QUFBQTtBQUlGO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBSUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUFBO0FBSUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBSUY7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUFzQztBQUFBO0FBQ3RDO0FBQWdDO0FBQUE7QUFDaEM7QUFBbUM7QUFBQTtBQUNuQztBQUF1QztBQUFBO0FBRXZDO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFBQTtBQUlGO0FBQ0U7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFJRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBSUY7QUFDRTtBQUFBO0FBSUY7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQVFGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0U7QUFBQTtBQUFBO0FBSUo7QUFDRTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBS0o7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDRTtBQUNBO0FBQUE7QUFBQTtBQUlKO0FBQ0U7QUFDRTtBQUNBO0FBQUE7QUFBQTtBQUlKO0FBQ0U7QUFDRTtBQUNBO0FBQUE7QUFBQTtBQUlKO0FBQ0U7QUFDRTtBQUFBO0FBQUE7QUFLSjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDRTtBQUNBO0FBQUE7QUFBQTtBQUlKO0FBQXNCO0FBQUE7QUFDdEI7QUFBcUI7QUFBQTtBQUNyQjtBQUF1QjtBQUFBO0FBQ3ZCO0FBQW9CO0FBQUE7QUFFcEI7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDRTtBQUFBO0FBQUE7QUFJSjtBQUNFO0FBQ0U7QUFBQTtBQUFBO0FBSUo7QUFDRTtBQUNFO0FBQUE7QUFBQTtBQUlKO0FBQ0U7QUFDRTtBQUFBO0FBQUE7QUFJSjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFLRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUEwQjtBQUFBO0FBQUE7QUFHNUI7QUFDRTtBQUEwQjtBQUFBO0FBQUE7QUFHNUI7QUFDRTtBQUEwQjtBQUFBO0FBQUE7QUFHNUI7QUFDRTtBQUEwQjtBQUFBO0FBQUE7QUFHNUI7QUFDRTtBQUFBO0FBS0Y7QUFDRTtBQUFBO0FBR0Y7QUFBZ0M7QUFBQTtBQUNoQztBQUErQjtBQUFBO0FBQy9CO0FBQWlDO0FBQUE7QUFDakM7QUFBOEI7QUFBQTtBQUc5QjtBQUNFO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDRTtBQUFBO0FBQUE7QUFJSjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFBZ0M7QUFBQTtBQUNoQztBQUErQjtBQUFBO0FBQy9CO0FBQWlDO0FBQUE7QUFDakM7QUFBOEI7QUFBQTtBQUc5QjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNFO0FBQ0E7QUFBQTtBQUFBO0FBSUo7QUFDRTtBQUNFO0FBQ0E7QUFBQTtBQUFBO0FBSUo7QUFDRTtBQUNFO0FBQ0E7QUFBQTtBQUFBO0FBSUo7QUFDRTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUlGO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFBbUM7QUFBQTtBQUNuQztBQUFrQztBQUFBO0FBQ2xDO0FBQW9DO0FBQUE7QUFDcEM7QUFBaUM7QUFBQTtBQUdqQztBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBSUY7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBSUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBTUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBSUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQTBEO0FBQUE7QUFDMUQ7QUFDRTtBQUFBO0FBRUY7QUFDRTtBQUFBO0FBSUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBSUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQWtDO0FBQUE7QUFDbEM7QUFBaUM7QUFBQTtBQUNqQztBQUFtQztBQUFBO0FBQ25DO0FBQWdDO0FBQUE7QUFHaEM7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUFBO0FBSUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFBQTtBQUNTO0FBQVk7QUFBZTtBQUFnQjtBQUFBO0FBQUE7QUFDN0M7QUFBWTtBQUFBO0FBQUE7QUFHbkI7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUFBO0FBSUY7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFBcUQ7QUFBQTtBQUVyRDtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBSUY7QUFDRTtBQUNBO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0U7QUFDQTtBQUFBO0FBQUE7QUFJSjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBSUY7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBT0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBS0o7QUFDRTtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFTSjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUFBO0FBSUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDRTtBQUFBO0FBQUE7QUFJSjtBQUNFO0FBQ0U7QUFBQTtBQUFBO0FBS0o7QUFDRTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBSUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFJRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFJRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFJRjtBQUNFO0FBQUE7QUFHRjtBQUFBO0FBRUU7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUFBO0FBR0Y7QUFBQTtBQUVFO0FBQUE7QUFJRjtBQUNFO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBSUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBSUY7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUFBO0FBSUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFJRjtBQUNFO0FBQUE7QUFJRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFJRjtBQUNFO0FBQUE7QUFJRjtBQUNFO0FBQUE7QUFJRjtBQUNFO0FBQUE7QUFRRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBSUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUFBO0FBSUY7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUlGO0FBQ0U7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFJRjtBQUNFO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUFBO0FBSUo7QUFDRTtBQUNFO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFBQTtBQVFKO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFBQTtBQUdGO0FBQUE7QUFDYTtBQUFBO0FBQUE7QUFDTDtBQUFBO0FBQUE7QUFHUjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBSUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUFBO0FBSUY7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBR0Y7QUFBQTtBQUVFO0FBQ0E7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBT0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQThCO0FBQUE7QUFFOUI7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQWdDO0FBQUE7QUFFaEM7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQXlCO0FBQUE7QUFFekI7QUFDRTtBQUNBO0FBQUE7QUFFRjtBQUE2QjtBQUFBO0FBRzdCO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFBQTtBQUVFO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQXlCO0FBQUE7QUFFekI7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQW9CO0FBQUE7QUFDcEI7QUFBa0I7QUFBQTtBQUNsQjtBQUFvQjtBQUFBO0FBRXBCO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFHRjtBQUF5QjtBQUFBO0FBRXpCO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFBQTtBQUVFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQUE7QUFFRTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUFBO0FBR0Y7QUFBNEI7QUFBQTtBQUU1QjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFPRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFRRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBSUY7QUFDRTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBSUY7QUFDRTtBQUFBO0FBSUY7QUFDRTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFJRjtBQUFZO0FBQUE7QUFFWjtBQUNFO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUlGO0FBQWtCO0FBQTJCO0FBQUE7QUFDN0M7QUFBa0I7QUFBQTtBQUNsQjtBQUFhO0FBQUE7QUFHYjtBQUFjO0FBQTZCO0FBQUE7QUFDM0M7QUFBYztBQUEyQjtBQUFBO0FBR3pDO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFBOEI7QUFBQTtBQUU5QjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFBb0I7QUFBQTtBQUVwQjtBQUF3QjtBQUFBO0FBQ3hCO0FBQXdCO0FBQUE7QUFDeEI7QUFBc0I7QUFBQTtBQUd0QjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBSUY7QUFDRTtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFBQTtBQUdGO0FBQVk7QUFBQTtBQUVaO0FBQWlCO0FBQUE7QUFFakI7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBS0o7QUFDRTtBQUFpQjtBQUFBO0FBQ2pCO0FBQWlCO0FBQUE7QUFFakI7QUFBcUI7QUFBQTtBQUNyQjtBQUFxQjtBQUFBO0FBQ3JCO0FBQXdCO0FBQUE7QUFFeEI7QUFBWTtBQUFBO0FBQ1o7QUFBQTtBQUE2QjtBQUFBO0FBRTdCO0FBQW1CO0FBQWlCO0FBQUE7QUFBQTtBQU90QztBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQTJCO0FBQUE7QUFDM0I7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFBMEI7QUFBQTtBQUcxQjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFBMkM7QUFBa0I7QUFBQTtBQUFBO0FBRy9EO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUFxQjtBQUFBO0FBQ3JCO0FBQXdCO0FBQW1DO0FBQUE7QUFFM0Q7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFBa0I7QUFBa0I7QUFBQTtBQUVwQztBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQWtCO0FBQWtDO0FBQUE7QUFDcEQ7QUFBZ0I7QUFBa0M7QUFBQTtBQUNsRDtBQUFpQjtBQUFnQztBQUFBO0FBR2pEO0FBQ0U7QUFDQTtBQUFBO0FBR0Y7QUFBQTtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBSUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUFrQjtBQUFBO0FBQUE7QUFHcEI7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQXFDO0FBQUE7QUFHckM7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQTJCO0FBQUE7QUFFM0I7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFPRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUFBO0FBQ2E7QUFBQTtBQUFBO0FBQ0w7QUFBQTtBQUFBO0FBR1I7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUFvQjtBQUFBO0FBQ3BCO0FBQWlCO0FBQUE7QUFDakI7QUFBa0I7QUFBQTtBQUNsQjtBQUFnQjtBQUFhO0FBQWM7QUFBQTtBQUFBO0FBTzdDO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBSUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUdGO0FBQUE7QUFDTztBQUFBO0FBQUE7QUFDRTtBQUFBO0FBQUE7QUFHVDtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUdGO0FBQUE7QUFDYTtBQUFBO0FBQUE7QUFDTDtBQUFBO0FBQUE7QUFHUjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFJRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQTBDO0FBQWlDO0FBQUE7QUFDM0U7QUFBeUM7QUFBaUM7QUFBQTtBQUMxRTtBQUEyQztBQUFtQztBQUFBO0FBRTlFO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQTZCO0FBQUE7QUFDN0I7QUFBK0I7QUFBQTtBQUMvQjtBQUErQjtBQUFBO0FBRS9CO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFBWTtBQUFBO0FBQ1o7QUFBYztBQUFBO0FBQ2Q7QUFBYztBQUFBO0FBRWQ7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUFrQjtBQUFrQjtBQUE4QjtBQUFBO0FBQ2xFO0FBQW1CO0FBQXNCO0FBQUE7QUFDekM7QUFBbUI7QUFBbUI7QUFBd0I7QUFBa0I7QUFBQTtBQUdoRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQXlCO0FBQW1CO0FBQWtCO0FBQUE7QUFDOUQ7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQW9CO0FBQWU7QUFBQTtBQUNuQztBQUFxQjtBQUFtQjtBQUEyQjtBQUFBO0FBQ25FO0FBQXFCO0FBQW1CO0FBQXdCO0FBQWtCO0FBQUE7QUFDbEY7QUFBcUI7QUFBQTtBQUNyQjtBQUF1QjtBQUE4QztBQUFBO0FBQ3JFO0FBQXVCO0FBQWU7QUFBd0I7QUFBVTtBQUF3QjtBQUFBO0FBQ2hHO0FBQW1CO0FBQWU7QUFBVztBQUFBO0FBQzdDO0FBQW9DO0FBQUE7QUFDcEM7QUFBcUM7QUFBYztBQUFBO0FBQ25EO0FBQXFDO0FBQWE7QUFBQTtBQUNsRDtBQUF5QjtBQUE2QztBQUFrQjtBQUFBO0FBQ3hGO0FBQTBCO0FBQWtCO0FBQW1CO0FBQTJCO0FBQUE7QUFHMUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFBNEM7QUFBQTtBQUM1QztBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQXFCO0FBQUE7QUFHckI7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFBeUI7QUFBZTtBQUF3QjtBQUFBO0FBQ2hFO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUFxQjtBQUFzQjtBQUFBO0FBRzNDO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFJRjtBQUF3QjtBQUFBO0FBQ3hCO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUFvQjtBQUFBO0FBQ3BCO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFBcUI7QUFBQTtBQUNyQjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUFpQztBQUFBO0FBQ2pDO0FBQWtDO0FBQUE7QUFDbEM7QUFBa0M7QUFBQTtBQUNsQztBQUFpQztBQUFBO0FBRWpDO0FBQ0U7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFBQTtBQUlGO0FBQ0U7QUFBQTtBQUVGO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBSUY7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFHRjtBQUFBO0FBQ2E7QUFBQTtBQUFBO0FBQ0w7QUFBQTtBQUFBO0FBSVI7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQUE7QUFDTztBQUFBO0FBQUE7QUFDQztBQUFBO0FBQUE7QUFDQztBQUFBO0FBQUE7QUFJVDtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBSUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDRTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUFBO0FBQUE7QUFRSjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQUE7QUFPRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQU9GO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0U7QUFBQTtBQUFBO0FBSUo7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFBNEI7QUFBcUI7QUFBQTtBQUNqRDtBQUFrQztBQUFxQjtBQUFBO0FBQ3ZEO0FBQStCO0FBQXFCO0FBQUE7QUFDcEQ7QUFBNEI7QUFBcUI7QUFBQTtBQUNqRDtBQUFnQztBQUFxQjtBQUFBO0FBQ3JEO0FBQStCO0FBQXFCO0FBQUE7QUFFcEQ7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFBQTtBQUdGO0FBQXdEO0FBQUE7QUFDeEQ7QUFBOEQ7QUFBQTtBQUM5RDtBQUEyRDtBQUFBO0FBQzNEO0FBQXdEO0FBQUE7QUFDeEQ7QUFBNEQ7QUFBQTtBQUU1RDtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFRRjtBQUNFO0FBQUE7QUFFRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBSUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFBQTtBQUVFO0FBQUE7QUFFRjtBQUNFO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBSUY7QUFDRTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFBQTtBQU9GO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFBYztBQUFBO0FBQ2Q7QUFBVztBQUFBO0FBQ1g7QUFBYTtBQUFBO0FBQ2I7QUFBVztBQUFBO0FBRVg7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFBa0I7QUFBQTtBQUNsQjtBQUFlO0FBQUE7QUFDZjtBQUFpQjtBQUFBO0FBRWpCO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBSUY7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQXFCO0FBQUE7QUFHckI7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQWdCO0FBQUE7QUFDaEI7QUFDRTtBQUNBO0FBQUE7QUFFRjtBQUF3QjtBQUFBO0FBQ3hCO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUFtQjtBQUFBO0FBQ25CO0FBQXVCO0FBQUE7QUFDdkI7QUFBbUI7QUFBZ0I7QUFBb0I7QUFBQTtBQUd2RDtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQUE7QUFFRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQUE7QUFFRjtBQUFvQjtBQUFBO0FBQ3BCO0FBQXVCO0FBQUE7QUFDdkI7QUFDRTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBSUY7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUFRO0FBQVM7QUFBVTtBQUMzQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFBbUI7QUFBQTtBQUNuQjtBQUFxQjtBQUEyQztBQUFBO0FBQ2hFO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQStCO0FBQWtCO0FBQUE7QUFHakQ7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFBd0I7QUFBQTtBQUN4QjtBQUFxQjtBQUFBO0FBQ3JCO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUFjO0FBQUE7QUFBQTtBQUloQjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQXVCO0FBQW9DO0FBQUE7QUFDM0Q7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBSUY7QUFBaUI7QUFBQTtBQUNqQjtBQUNFO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFBQTtBQUVGO0FBQ0U7QUFBQTtBQUVGO0FBQ0U7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUFxQjtBQUFBO0FBQ3JCO0FBQWM7QUFBQTtBQUNkO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUFvQjtBQUFBO0FBQ3BCO0FBQTZCO0FBQUE7QUFDN0I7QUFBb0I7QUFBQTtBQUNwQjtBQUFtQjtBQUFBO0FBQ25CO0FBQW1CO0FBQWdCO0FBQUE7QUFDbkM7QUFBZ0I7QUFBZ0I7QUFBQTtBQUdoQztBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFBQTtBQUlGO0FBQ0U7QUFBYztBQUF1QztBQUFBO0FBQ3JEO0FBQW1CO0FBQWM7QUFBQTtBQUNqQztBQUFpQjtBQUFBO0FBQ2pCO0FBQXFCO0FBQXVDO0FBQUE7QUFDNUQ7QUFBbUI7QUFBQTtBQUNuQjtBQUFlO0FBQUE7QUFDZjtBQUEyQjtBQUFBO0FBQzNCO0FBQWdCO0FBQWlCO0FBQWtCO0FBQW9CO0FBQUE7QUFDdkU7QUFBYTtBQUFpQjtBQUFhO0FBQUE7QUFDM0M7QUFBZ0I7QUFBQTtBQUNoQjtBQUFXO0FBQUE7QUFDWDtBQUFlO0FBQTRCO0FBQUE7QUFDM0M7QUFBaUI7QUFBQTtBQUNqQjtBQUFXO0FBQTRCO0FBQUE7QUFDdkM7QUFBVztBQUFrQjtBQUFBO0FBQzdCO0FBQWdCO0FBQUE7QUFDaEI7QUFBZ0I7QUFBdUM7QUFBQTtBQUN2RDtBQUFtQjtBQUFBO0FBQ25CO0FBQWdCO0FBQUE7QUFDaEI7QUFBa0I7QUFBQTtBQUNsQjtBQUFlO0FBQUE7QUFDZjtBQUFpQjtBQUFBO0FBQ2pCO0FBQXFCO0FBQUE7QUFDckI7QUFBb0I7QUFBQTtBQUNwQjtBQUFvQjtBQUFBO0FBQ3BCO0FBQWlCO0FBQUE7QUFDakI7QUFBZTtBQUFhO0FBQUE7QUFDNUI7QUFBaUI7QUFBYTtBQUFBO0FBQzlCO0FBQWdCO0FBQWE7QUFBQTtBQUM3QjtBQUFpQjtBQUFhO0FBQWM7QUFBb0I7QUFBQTtBQUNoRTtBQUFrQjtBQUFhO0FBQUE7QUFDL0I7QUFBWTtBQUFBO0FBQ1o7QUFBZTtBQUFvQjtBQUFBO0FBQ25DO0FBQWU7QUFBQTtBQUFBO0FBSWpCO0FBQ0U7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDRTtBQUFBO0FBQUE7QUFRSjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUFBO0FBSUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQWdCO0FBQUE7QUFDaEI7QUFBYTtBQUFBO0FBQ2I7QUFBZ0I7QUFBQTtBQUNoQjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFBZ0I7QUFBcUI7QUFBQTtBQUNyQztBQUFjO0FBQXFCO0FBQUE7QUFDbkM7QUFBaUI7QUFBcUI7QUFBQTtBQUN0QztBQUFlO0FBQXFCO0FBQUE7QUFFcEM7QUFDRTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBSUY7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUlGO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBSUY7QUFDRTtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBR0Y7QUFBQTtBQUVFO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBQUE7OztBQ3QrVEo7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBSUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBSUY7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFBQTtBQUFBO0FBQUE7QUFJRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQUE7QUFFRTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBT0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQXFCO0FBQUE7QUFDckI7QUFBc0I7QUFBQTtBQUN0QjtBQUFtQjtBQUFBO0FBQUE7QUFJckI7QUFDRTtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBQUE7OztBQ3hhSjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUFBO0FBRUU7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBSUY7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBSUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFJRjtBQUNFO0FBQ0U7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBQUE7QUFJSjtBQUNFO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUFBOzs7QUNuUEo7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBSUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUtKO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQUE7QUFFRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFBQTtBQUVFO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUFBO0FBR0Y7QUFBQTtBQUVFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUFBO0FBRUY7QUFBc0I7QUFBQTtBQUV0QjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFBdUI7QUFBQTtBQUd2QjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBS0o7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQWlDO0FBQUE7QUFDakM7QUFBaUM7QUFBQTtBQUVqQztBQUFBO0FBQ087QUFBYTtBQUFjO0FBQUE7QUFBQTtBQUN6QjtBQUFjO0FBQWU7QUFBQTtBQUFBO0FBT3RDO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFHRjtBQUFjO0FBQUE7QUFDZDtBQUFhO0FBQUE7QUFDYjtBQUFhO0FBQUE7QUFDYjtBQUFZO0FBQUE7QUFDWjtBQUFZO0FBQWE7QUFBQTtBQUV6QjtBQUNFO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBUUo7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFHRjtBQUFBO0FBQ1M7QUFBWTtBQUFBO0FBQUE7QUFDZDtBQUFZO0FBQUE7QUFBQTtBQUduQjtBQUFBO0FBQ2E7QUFBQTtBQUFBO0FBQ0w7QUFBQTtBQUFBO0FBR1I7QUFDRTtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUFBO0FBRUY7QUFDRTtBQUFBO0FBQUE7OztBQ2hYSjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUFBO0FBRUY7QUFDRTtBQUFBO0FBRUY7QUFBQTtBQUNPO0FBQVk7QUFBQTtBQUFBO0FBQ1o7QUFBWTtBQUFBO0FBQUE7QUFDWDtBQUFZO0FBQUE7QUFBQTtBQUNYO0FBQVk7QUFBK0M7QUFBQTtBQUFBO0FBRXBFO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFJRjtBQUFBO0FBRUU7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBRUY7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUFBO0FBRUU7QUFDQTtBQUNBO0FBQUE7IiwKICAibmFtZXMiOiBbXQp9Cg== */
