/*!****************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[1]!./node_modules/resolve-url-loader/index.js??ruleSet[1].rules[4].oneOf[1].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[3]!./assets/styles/property-ai-chat.scss ***!
  \****************************************************************************************************************************************************************************************************************************************************************************************/
@charset "UTF-8";
.properties-list {
  position: relative;
  min-height: 200px;
  transition: all 0.5s cubic-bezier(0.4, 0, 0.2, 1);
}
.properties-list.is-loading .row, .properties-list.is-loading .pagination-container {
  opacity: 0.35;
  filter: blur(2px) grayscale(0.4);
  pointer-events: none;
  transition: all 0.6s cubic-bezier(0.4, 0, 0.2, 1);
}

.results-loading-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: radial-gradient(circle at center, rgba(255, 255, 255, 0.98) 0%, rgba(255, 255, 255, 0.85) 30%, rgba(255, 255, 255, 0.4) 60%, transparent 85%);
  backdrop-filter: blur(8px) saturate(120%);
  -webkit-backdrop-filter: blur(8px) saturate(120%);
  z-index: 50;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.6s cubic-bezier(0.4, 0, 0.2, 1), visibility 0.6s cubic-bezier(0.4, 0, 0.2, 1);
}
.results-loading-overlay:not([hidden]), .results-loading-overlay.active {
  opacity: 1;
  visibility: visible;
  display: flex !important;
}

.modern-loader-dots {
  display: flex;
  gap: 12px;
  justify-content: center;
  margin-bottom: 2rem;
}
.modern-loader-dots .dot {
  width: 6px;
  height: 6px;
  background: linear-gradient(135deg, var(--bs-primary, #1976d2) 0%, var(--bs-info, #0dcaf0) 100%);
  border-radius: 50%;
  opacity: 0.4;
  animation: elegant-pulse 1.8s cubic-bezier(0.4, 0, 0.6, 1) infinite;
  box-shadow: 0 0 8px rgba(13, 110, 253, 0.2);
}
.modern-loader-dots .dot:nth-child(1) {
  animation-delay: 0s;
}
.modern-loader-dots .dot:nth-child(2) {
  animation-delay: 0.3s;
}
.modern-loader-dots .dot:nth-child(3) {
  animation-delay: 0.6s;
}

@keyframes elegant-pulse {
  0%, 100% {
    transform: scale(0.7) translateY(0);
    opacity: 0.3;
  }
  50% {
    transform: scale(1.2) translateY(-4px);
    opacity: 1;
  }
}
.loading-text {
  font-weight: 200;
  font-size: 0.75rem;
  color: rgba(108, 117, 125, 0.7);
  text-transform: uppercase;
  letter-spacing: 3px;
  animation: text-fade 2.5s ease-in-out infinite;
}

@keyframes text-fade {
  0%, 100% {
    opacity: 0.4;
  }
  50% {
    opacity: 0.8;
  }
}
@media (max-width: 768px) {
  .loading-text {
    font-size: 0.7rem;
    letter-spacing: 2px;
  }
  .modern-loader-dots {
    gap: 10px;
  }
  .modern-loader-dots .dot {
    width: 5px;
    height: 5px;
  }
}
.property-empty-state {
  padding-top: 3rem;
  padding-bottom: 3rem;
  color: #495057;
}
.property-empty-state-inner {
  max-width: 480px;
  margin: 0 auto;
}
.property-empty-state .property-empty-title {
  font-weight: 300;
  font-size: 1.5rem;
  color: #495057;
  letter-spacing: 0.5px;
  margin-bottom: 0.75rem;
}
.property-empty-state .property-empty-suggestion {
  font-weight: 300;
  font-size: 0.95rem;
  line-height: 1.6;
  color: #6c757d;
  margin-bottom: 1rem;
}
.property-empty-state .clear-filters-link {
  display: inline-block;
  font-weight: 400;
  font-size: 0.9rem;
  color: var(--bs-primary, #1976d2);
  text-decoration: none;
  border-bottom: 1px solid transparent;
  padding-bottom: 2px;
  transition: all 0.2s ease;
}
.property-empty-state .clear-filters-link:hover,
.property-empty-state .clear-filters-link:focus {
  color: var(--bs-dark, #212529);
  border-bottom-color: var(--bs-primary, #1976d2);
  text-decoration: none;
  outline: none;
}

/* AI empty state styles (minimalist) */
.ai-empty-state {
  background: transparent;
  border: none;
  box-shadow: none;
  max-width: 720px;
  margin: 2rem auto;
  padding: 2.5rem 1.5rem;
  text-align: center;
}
.ai-empty-state .empty-state-icon {
  margin-bottom: 1rem;
  color: rgba(108, 117, 125, 0.35);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
}
.ai-empty-state .empty-state-title {
  font-weight: 300;
  font-size: 1.25rem;
  color: #343a40;
  margin-bottom: 0.5rem;
}
.ai-empty-state .empty-state-text {
  color: #6c757d;
  font-weight: 300;
  margin-bottom: 1rem;
}
.ai-empty-state .empty-state-actions {
  display: flex;
  justify-content: center;
  align-items: center;
}
.ai-empty-state .clear-filters-link {
  color: var(--bs-primary, #1976d2);
  text-decoration: none;
  font-weight: 400;
  font-size: 0.95rem;
  border-bottom: 1px solid transparent;
  padding-bottom: 2px;
  transition: all 0.2s ease;
}
.ai-empty-state .clear-filters-link:hover,
.ai-empty-state .clear-filters-link:focus {
  color: var(--bs-dark, #212529);
  border-bottom-color: var(--bs-primary, #1976d2);
  text-decoration: none;
}

/* ========================================
   Propelia agent - Minimal Professional Design
   Matches HOME/PROPERTIES/BLOG/FAQ consistency
   NO chat bubbles - professional advisor style
   ======================================== */
/* ==================== AI Filter Container ==================== */
.property-ai-chat {
  background: #fff;
  border: 1px solid #e9ecef;
  border-radius: 0.5rem;
  overflow: hidden;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06);
  transition: box-shadow 0.2s ease;
}
.property-ai-chat:hover {
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}

/* ==================== AI Filter Toggle Button ==================== */
.ai-filter-toggle {
  background: transparent;
  border: 1px solid #dee2e6;
  color: #495057;
  border-radius: 0.375rem;
  padding: 0.625rem 1rem;
  font-weight: 500;
  font-size: 0.875rem;
  transition: all 0.2s ease;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.ai-filter-toggle:hover {
  background: #f8f9fa;
  border-color: #1976d2;
  color: #1976d2;
}
.ai-filter-toggle i.bi-robot {
  font-size: 1rem;
  color: #1976d2;
}
.ai-filter-toggle.active {
  background: rgba(25, 118, 210, 0.08);
  color: #1976d2;
  border-color: #1976d2;
}
.ai-filter-toggle.active i.bi-robot {
  color: #1976d2;
}

.ai-filter-status-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #ced4da;
  display: inline-block;
}
.ai-filter-status-dot.online {
  background: #1976d2;
}

/* ==================== AI Filter Section ==================== */
.ai-filter-section {
  background: transparent;
  padding: 0;
  transition: all 0.2s ease;
}
.ai-filter-section .property-filter-section {
  background: #fff;
  padding: 2rem;
  border-radius: 0.5rem;
  border: 1px solid #e9ecef;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06);
}

/* ==================== Messages Container ==================== */
/* Clean content area like FAQ/Blog - NO chat bubbles */
.ai-chat-messages {
  position: relative;
  min-height: 280px;
  max-height: 400px;
  overflow-y: auto;
  padding: 1.5rem;
  background: #f8f9fa;
  border-bottom: 1px solid #e9ecef;
  /* Minimal scrollbar */
}
.ai-chat-messages::-webkit-scrollbar {
  width: 4px;
}
.ai-chat-messages::-webkit-scrollbar-track {
  background: transparent;
}
.ai-chat-messages::-webkit-scrollbar-thumb {
  background: #dee2e6;
  border-radius: 50rem;
}
.ai-chat-messages::-webkit-scrollbar-thumb:hover {
  background: #ced4da;
}

/* ==================== Message Blocks ==================== */
/* Flat content blocks like Blog articles - NO bubbles */
.ai-chat-message {
  margin-bottom: 1.5rem;
  font-size: 0.9375rem;
  line-height: 1.7;
  color: #495057;
  /* User query - minimal style */
  /* Bot response - clean text like blog content */
}
.ai-chat-message:last-child {
  margin-bottom: 0;
}
.ai-chat-message.user {
  padding: 1rem 1.25rem;
  background: #fff;
  border-left: 2px solid #1976d2;
  border-radius: 0.375rem;
  color: #212529;
  font-weight: 500;
  margin-bottom: 1rem;
}
.ai-chat-message.bot {
  padding: 0;
  background: transparent;
  color: #495057;
  /* Typography matching Blog */
}
.ai-chat-message.bot p {
  margin-bottom: 1rem;
}
.ai-chat-message.bot p:last-child {
  margin-bottom: 0;
}
.ai-chat-message.bot strong,
.ai-chat-message.bot b {
  color: #212529;
  font-weight: 600;
}
.ai-chat-message.bot a {
  color: #1976d2;
  text-decoration: none;
  transition: color 0.2s ease;
}
.ai-chat-message.bot a:hover {
  color: rgb(19.5744680851, 92.3914893617, 164.4255319149);
  text-decoration: underline;
}
.ai-chat-message.bot ul,
.ai-chat-message.bot ol {
  margin: 0.75rem 0;
  padding-left: 1.5rem;
}
.ai-chat-message.bot ul li,
.ai-chat-message.bot ol li {
  margin-bottom: 0.5rem;
}

/* ==================== Loading State ==================== */
/* Minimal text-based loading - NO fancy animations */
.ai-chat-typing {
  padding: 0.5rem 0;
  color: #212529;
  font-size: 0.875rem;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.ai-chat-typing .dot {
  width: 4px;
  height: 4px;
  background: #ced4da;
  border-radius: 50%;
  animation: simplePulse 1.5s ease-in-out infinite;
}
.ai-chat-typing .dot:nth-child(2) {
  animation-delay: 0.2s;
}
.ai-chat-typing .dot:nth-child(3) {
  animation-delay: 0.4s;
}

@keyframes simplePulse {
  0%, 100% {
    opacity: 0.3;
  }
  50% {
    opacity: 1;
  }
}
/* ==================== Suggestions ==================== */
/* Minimal pills like FAQ categories */
.ai-chat-suggestions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-top: 1rem;
}
.ai-chat-suggestions .ai-suggestion-btn {
  padding: 0.5rem 1rem;
  background: transparent;
  border: 1px solid #dee2e6;
  border-radius: 50rem;
  color: #495057;
  font-size: 0.875rem;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.2s ease;
}
.ai-chat-suggestions .ai-suggestion-btn:hover {
  background: #f8f9fa;
  border-color: #1976d2;
  color: #1976d2;
}

/* ==================== Input Area ==================== */
/* Consultation field style - like FAQ search */
.ai-chat-input-wrapper {
  padding: 1.5rem;
  background: #fff;
}

.ai-chat-input-container {
  position: relative;
  display: flex;
  align-items: center;
  background: #fff;
  border: 1px solid #dee2e6;
  border-radius: 0.375rem;
  transition: all 0.2s ease;
}
.ai-chat-input-container:focus-within {
  border-color: #1976d2;
  box-shadow: 0 0 0 0.2rem rgba(25, 118, 210, 0.15);
}

.ai-chat-input {
  flex: 1;
  background: transparent;
  border: none;
  padding: 0.75rem 1rem;
  color: #212529;
  font-size: 0.9375rem;
  font-family: inherit;
  line-height: 1.5;
  outline: none;
  resize: none;
  min-height: 48px;
  max-height: 120px;
  transition: all 0.2s ease;
  /* Hide scrollbar */
  -ms-overflow-style: none;
  scrollbar-width: none;
}
.ai-chat-input::placeholder {
  color: #212529;
}
.ai-chat-input:focus {
  outline: none;
}
.ai-chat-input:disabled {
  background: #f8f9fa;
  opacity: 0.6;
  cursor: not-allowed;
}
.ai-chat-input::-webkit-scrollbar {
  display: none;
}

.ai-chat-send {
  position: absolute;
  right: 0.5rem;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: #1976d2;
  border: none;
  color: #fff;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.2s ease;
  opacity: 0;
  visibility: hidden;
  transform: scale(0.8);
}
.ai-chat-send.show {
  opacity: 1;
  visibility: visible;
  transform: scale(1);
}
.ai-chat-send:hover:not(:disabled) {
  background: rgb(20.6595744681, 97.5131914894, 173.5404255319);
  transform: scale(1.05);
}
.ai-chat-send:active:not(:disabled) {
  transform: scale(0.95);
}
.ai-chat-send:disabled {
  background: #dee2e6;
  color: #212529;
  cursor: not-allowed;
  opacity: 0.4;
}
.ai-chat-send i {
  font-size: 1rem;
}

/* ==================== Apply Filters Button ==================== */
.ai-apply-filters-btn {
  display: inline-block;
  margin-top: 1rem;
  padding: 0.625rem 1.25rem;
  background: #1976d2;
  border: none;
  border-radius: 0.375rem;
  color: #fff;
  font-size: 0.875rem;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.2s ease;
}
.ai-apply-filters-btn:hover {
  background: rgb(20.6595744681, 97.5131914894, 173.5404255319);
}

/* ==================== AI Filtering Visual Feedback ==================== */
/* AI Match Badge on property cards */
.ai-match-badge {
  position: absolute;
  top: 0.5rem;
  right: 0.5rem;
  background: linear-gradient(135deg, #1976d2 0%, #764ba2 100%);
  color: #fff;
  padding: 0.375rem 0.75rem;
  border-radius: 1rem;
  font-size: 0.75rem;
  font-weight: 600;
  display: flex;
  align-items: center;
  gap: 0.25rem;
  box-shadow: 0 2px 8px rgba(25, 118, 210, 0.3);
  z-index: 5;
  animation: aiMatchBadgeFadeIn 0.4s ease;
}
.ai-match-badge i {
  font-size: 0.875rem;
}

@keyframes aiMatchBadgeFadeIn {
  from {
    opacity: 0;
    transform: translateY(-10px) scale(0.8);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}
/* AI Filtered Property Card Highlighting */
.property-card.ai-filtered {
  border: 2px solid #1976d2 !important;
  box-shadow: 0 4px 16px rgba(25, 118, 210, 0.15) !important;
  position: relative;
}
.property-card.ai-filtered::before {
  content: "";
  position: absolute;
  top: -2px;
  left: -2px;
  right: -2px;
  bottom: -2px;
  background: linear-gradient(135deg, #1976d2 0%, #764ba2 100%);
  opacity: 0.1;
  border-radius: inherit;
  pointer-events: none;
  z-index: 0;
}

/* AI Filter Banner - Premium Compact Design V3 */
.ai-filter-banner {
  background: rgba(255, 255, 255, 0.95);
  border: 1px solid rgba(222, 226, 230, 0.5);
  border-radius: 8px;
  padding: 10px 16px;
  margin: 0 auto 20px;
  max-width: 1300px;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
  animation: slideDown 0.25s ease-out;
  transition: box-shadow 0.2s ease, background 0.2s ease;
}
.ai-filter-banner:hover {
  background: #fff;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.06);
}
@media (max-width: 768px) {
  .ai-filter-banner {
    padding: 8px 12px;
    margin: 0 0.5rem 16px;
    border-radius: 6px;
  }
}

.ai-filter-banner__content {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
}
@media (max-width: 768px) {
  .ai-filter-banner__content {
    flex-wrap: wrap;
    gap: 10px;
  }
}

.ai-filter-banner__left {
  display: flex;
  align-items: center;
  gap: 10px;
  flex: 1;
  min-width: 0;
}
@media (max-width: 768px) {
  .ai-filter-banner__left {
    gap: 8px;
    flex-wrap: wrap;
  }
}

.ai-filter-banner__pill {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 3px 8px;
  background: linear-gradient(135deg, rgba(25, 118, 210, 0.08) 0%, rgba(25, 118, 210, 0.12) 100%);
  border: 1px solid rgba(25, 118, 210, 0.15);
  border-radius: 4px;
  color: rgb(22.2872340426, 105.1957446809, 187.2127659574);
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.02em;
  flex-shrink: 0;
  text-transform: uppercase;
  line-height: 1.2;
}
.ai-filter-banner__pill i {
  font-size: 0.8125rem;
  margin-top: -1px;
}
@media (max-width: 768px) {
  .ai-filter-banner__pill {
    padding: 2px 6px;
    font-size: 0.6875rem;
  }
  .ai-filter-banner__pill i {
    font-size: 0.75rem;
  }
}

.ai-filter-banner__query {
  font-weight: 500;
  font-size: 0.875rem;
  color: #343a40;
  line-height: 1.3;
  flex: 1;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
@media (max-width: 768px) {
  .ai-filter-banner__query {
    font-size: 0.8125rem;
    flex-basis: 100%;
    order: 3;
  }
}

.ai-filter-banner__count {
  display: inline-flex;
  align-items: center;
  background: rgba(248, 249, 250, 0.4);
  border: 1px solid #e9ecef;
  padding: 3px 10px;
  border-radius: 12px;
  font-size: 0.75rem;
  font-weight: 600;
  color: #495057;
  white-space: nowrap;
  flex-shrink: 0;
  line-height: 1.2;
}
@media (max-width: 768px) {
  .ai-filter-banner__count {
    font-size: 0.6875rem;
    padding: 2px 8px;
  }
}

.ai-filter-banner__actions {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
}
@media (max-width: 768px) {
  .ai-filter-banner__actions {
    gap: 6px;
  }
}
.ai-filter-banner__actions .btn {
  padding: 6px 12px;
  font-size: 0.875rem;
  line-height: 1.3;
  border-radius: 6px;
  transition: all 0.2s ease;
}
.ai-filter-banner__actions .btn i {
  font-size: 1rem;
}
@media (max-width: 768px) {
  .ai-filter-banner__actions .btn {
    padding: 5px 10px;
    font-size: 0.8125rem;
  }
  .ai-filter-banner__actions .btn i {
    font-size: 0.9375rem;
  }
}
.ai-filter-banner__actions .btn-ghost {
  background: transparent;
  border: none;
  color: #6c757d;
  padding: 6px 10px;
}
.ai-filter-banner__actions .btn-ghost:hover {
  background: rgba(25, 118, 210, 0.08);
  color: #1976d2;
}
@media (max-width: 768px) {
  .ai-filter-banner__actions .btn-ghost {
    padding: 5px 8px;
  }
}
.ai-filter-banner__actions .btn-outline-secondary {
  background: transparent;
  border: 1px solid #dee2e6;
  color: #495057;
  font-weight: 500;
}
.ai-filter-banner__actions .btn-outline-secondary:hover {
  background: rgba(248, 249, 250, 0.5);
  border-color: #ced4da;
  color: #212529;
}

/* Mini icon-only buttons for history controls */
.ai-filter-history {
  display: flex;
  align-items: center;
  gap: 4px;
  margin-right: 6px;
  padding-right: 8px;
  border-right: 1px solid rgba(222, 226, 230, 0.5);
}

.btn-icon-mini {
  background: transparent;
  border: none;
  color: #adb5bd;
  padding: 4px;
  border-radius: 4px;
  cursor: pointer;
  transition: all 0.15s ease;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
}
.btn-icon-mini i {
  font-size: 0.875rem;
}
.btn-icon-mini:hover:not(:disabled) {
  background: rgba(25, 118, 210, 0.08);
  color: #1976d2;
}
.btn-icon-mini:disabled {
  opacity: 0.3;
  cursor: not-allowed;
}
@media (max-width: 768px) {
  .btn-icon-mini {
    padding: 3px;
  }
  .btn-icon-mini i {
    font-size: 0.8125rem;
  }
}

@keyframes slideDown {
  from {
    opacity: 0;
    transform: translateY(-8px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
/* Legacy button styles - kept for backward compatibility if needed elsewhere */
.ai-filter-clear-btn {
  background: #fff;
  border: 1px solid #dee2e6;
  color: #495057;
  padding: 0.5rem 0.875rem;
  border-radius: 0.375rem;
  font-size: 0.8125rem;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.2s ease;
  display: flex;
  align-items: center;
  gap: 0.375rem;
  white-space: nowrap;
}
.ai-filter-clear-btn:hover {
  background: #f8f9fa;
  border-color: #ced4da;
  color: #212529;
  transform: translateY(-1px);
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.06);
}
.ai-filter-clear-btn:active {
  transform: translateY(0);
}
.ai-filter-clear-btn:focus-visible {
  outline: 2px solid #1976d2;
  outline-offset: 2px;
}
.ai-filter-clear-btn i {
  font-size: 0.75rem;
}
@media (max-width: 768px) {
  .ai-filter-clear-btn {
    width: 100%;
    justify-content: center;
    padding: 0.5rem 0.875rem;
    font-size: 0.75rem;
  }
}

/* AI Filter Action Buttons - Premium UX with Clear Hierarchy */
.ai-filter-actions {
  display: flex;
  gap: 12px;
  align-items: center;
  margin-top: 1rem;
  padding: 0 1rem;
  animation: fadeIn 0.3s ease;
}
.ai-filter-actions__primary {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  padding: 0.625rem 1.25rem;
  font-size: 0.9375rem;
  font-weight: 500;
  transition: all 0.2s ease;
}
.ai-filter-actions__primary i {
  font-size: 1rem;
}
.ai-filter-actions__primary:hover {
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(25, 118, 210, 0.3);
}
.ai-filter-actions__primary:active {
  transform: translateY(0);
}
.ai-filter-actions__secondary {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  gap: 0.375rem;
  padding: 0.625rem 1rem;
  font-size: 0.875rem;
  font-weight: 400;
  background: transparent;
  border: 1px solid rgba(0, 0, 0, 0.15);
  color: #495057;
  transition: all 0.2s ease;
}
.ai-filter-actions__secondary i {
  font-size: 0.875rem;
}
.ai-filter-actions__secondary:hover {
  background: rgba(0, 0, 0, 0.02);
  border-color: rgba(0, 0, 0, 0.25);
  color: #212529;
}
.ai-filter-actions__secondary:active {
  background: rgba(0, 0, 0, 0.05);
}
.ai-filter-actions.is-loading .ai-filter-actions__primary {
  pointer-events: none;
  opacity: 0.7;
}
.ai-filter-actions.is-loading .ai-filter-actions__primary .ai-filter-actions__label {
  display: none;
}
.ai-filter-actions.is-loading .ai-filter-actions__spinner {
  display: inline-block;
}
.ai-filter-actions__spinner {
  display: none;
  width: 14px;
  height: 14px;
  border: 2px solid rgba(255, 255, 255, 0.3);
  border-top-color: white;
  border-radius: 50%;
  animation: spin 0.6s linear infinite;
}

@keyframes spin {
  to {
    transform: rotate(360deg);
  }
}
@media (max-width: 640px) {
  .ai-filter-actions {
    flex-direction: column;
    align-items: stretch;
    gap: 10px;
  }
  .ai-filter-actions__primary, .ai-filter-actions__secondary {
    width: 100%;
    justify-content: center;
  }
}
@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
/* ==================== AI Active Filter Pills ==================== */
.ai-active-filters-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  padding: 1rem 0;
  margin: 0 auto;
  max-width: 1200px;
  animation: fadeIn 0.3s ease;
}

.ai-filter-pill {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  background: #fff;
  border: 1px solid #dee2e6;
  border-radius: 0.375rem;
  padding: 0.5rem 0.75rem;
  font-size: 0.875rem;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
  transition: all 0.2s ease;
}
.ai-filter-pill:hover {
  border-color: #1976d2;
  box-shadow: 0 2px 6px rgba(25, 118, 210, 0.15);
}
.ai-filter-pill .ai-pill-label {
  font-weight: 600;
  color: #495057;
}
.ai-filter-pill .ai-pill-value {
  color: #212529;
  font-weight: 500;
}
.ai-filter-pill .ai-pill-remove {
  background: transparent;
  border: none;
  color: #212529;
  padding: 0.125rem;
  margin-left: 0.25rem;
  cursor: pointer;
  border-radius: 50%;
  width: 20px;
  height: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.2s ease;
}
.ai-filter-pill .ai-pill-remove:hover {
  background: #f8f9fa;
  color: #dc3545;
}
.ai-filter-pill .ai-pill-remove i {
  font-size: 0.875rem;
}

/* ==================== Responsive ==================== */
@media (max-width: 768px) {
  .ai-chat-messages {
    min-height: 240px;
    max-height: 320px;
    padding: 1rem;
  }
  .ai-chat-message {
    font-size: 0.875rem;
  }
  .ai-chat-message.user {
    padding: 0.875rem 1rem;
  }
  .ai-chat-input-wrapper {
    padding: 1rem;
  }
  .ai-chat-input {
    font-size: 0.875rem;
    padding: 0.625rem 0.875rem;
    min-height: 44px;
  }
  .ai-chat-send {
    padding: 0.625rem 1.25rem;
    min-height: 44px;
    font-size: 0.875rem;
  }
}
@media (max-width: 480px) {
  .filter-toggle-container .d-flex {
    flex-direction: column;
    gap: 0.5rem !important;
  }
  .filter-toggle-container .d-flex .filter-toggle,
  .filter-toggle-container .d-flex .ai-filter-toggle {
    width: 100%;
    justify-content: center;
  }
  .ai-chat-input-container {
    flex-direction: column;
  }
  .ai-chat-input-container .ai-chat-send {
    width: 100%;
  }
}
/* ========================================
   SPRINT 4: ADVANCED UX FEATURES
   ======================================== */
/* Share Feedback Toast */
.ai-share-feedback {
  position: fixed;
  bottom: 20px;
  right: 20px;
  background: #212529;
  color: #fff;
  padding: 12px 20px;
  border-radius: 0.375rem;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
  z-index: 9999;
  opacity: 0;
  transform: translateY(20px);
  transition: all 0.3s ease;
  font-size: 0.875rem;
  font-weight: 500;
}
.ai-share-feedback.show {
  opacity: 1;
  transform: translateY(0);
}

/* Filter Presets */
.ai-filter-presets {
  padding: 1rem;
  border-bottom: 1px solid #e9ecef;
}
.ai-filter-presets h4 {
  font-size: 0.875rem;
  font-weight: 600;
  color: #495057;
  margin-bottom: 0.75rem;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.presets-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
  gap: 0.5rem;
}

.preset-button {
  background: #fff;
  border: 1px solid #dee2e6;
  border-radius: 0.375rem;
  padding: 0.75rem 0.5rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.5rem;
  cursor: pointer;
  transition: all 0.2s ease;
  font-size: 0.8125rem;
  color: #495057;
}
.preset-button:hover {
  background: #f8f9fa;
  border-color: #1976d2;
  color: #1976d2;
  transform: translateY(-2px);
  box-shadow: 0 2px 8px rgba(25, 118, 210, 0.15);
}
.preset-button:active {
  transform: translateY(0);
}
.preset-button .preset-icon {
  font-size: 1.5rem;
  line-height: 1;
}
.preset-button .preset-name {
  font-weight: 500;
  text-align: center;
  line-height: 1.2;
}

/* Saved Searches */
.ai-saved-searches {
  padding: 1rem;
  border-bottom: 1px solid #e9ecef;
}
.ai-saved-searches h4 {
  font-size: 0.875rem;
  font-weight: 600;
  color: #495057;
  margin-bottom: 0.75rem;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.saved-searches-list {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.saved-search-item {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.75rem;
  background: #f8f9fa;
  border: 1px solid #e9ecef;
  border-radius: 0.375rem;
  cursor: pointer;
  transition: all 0.2s ease;
}
.saved-search-item:hover {
  background: #fff;
  border-color: #1976d2;
  box-shadow: 0 2px 6px rgba(25, 118, 210, 0.1);
}
.saved-search-item:hover .saved-search-query {
  color: #1976d2;
}
.saved-search-item .saved-search-content {
  flex: 1;
  min-width: 0;
}
.saved-search-item .saved-search-query {
  font-size: 0.8125rem;
  font-weight: 500;
  color: #343a40;
  margin-bottom: 0.25rem;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  transition: color 0.2s ease;
}
.saved-search-item .saved-search-meta {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  font-size: 0.75rem;
  color: #6c757d;
}
.saved-search-item .saved-search-count {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
}
.saved-search-item .saved-search-count::before {
  content: "•";
}
.saved-search-item .saved-search-delete {
  flex-shrink: 0;
  width: 24px;
  height: 24px;
  border: none;
  background: transparent;
  color: #ced4da;
  font-size: 1.25rem;
  line-height: 1;
  cursor: pointer;
  transition: all 0.2s ease;
  border-radius: 0.25rem;
  display: flex;
  align-items: center;
  justify-content: center;
}
.saved-search-item .saved-search-delete:hover {
  background: #dc3545;
  color: #fff;
}

/* Responsive adjustments */
@media (max-width: 768px) {
  .presets-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 480px) {
  .presets-grid {
    grid-template-columns: 1fr;
  }
}
/* AI Share Menu */
.ai-share-menu {
  position: fixed;
  background: #fff;
  border: 1px solid #e9ecef;
  border-radius: 10px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1), 0 2px 4px rgba(0, 0, 0, 0.06);
  padding: 0.375rem 0;
  min-width: 180px;
  z-index: 9999;
  animation: slideDownFade 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}
@keyframes slideDownFade {
  from {
    opacity: 0;
    transform: translateY(-8px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.share-option {
  width: 100%;
  background: transparent;
  border: none;
  padding: 0.625rem 1rem;
  display: flex;
  align-items: center;
  gap: 0.75rem;
  cursor: pointer;
  transition: background 0.15s ease;
  font-size: 0.875rem;
  color: #495057;
  text-align: left;
  font-weight: 500;
}
.share-option:hover {
  background: #f8f9fa;
  color: #1976d2;
}
.share-option:hover i {
  color: #1976d2;
}
.share-option i {
  font-size: 1.125rem;
  color: #6c757d;
  transition: color 0.15s ease;
  width: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.share-option span {
  flex: 1;
}

/* Share Feedback */
.ai-share-feedback {
  position: fixed;
  bottom: 24px;
  left: 50%;
  transform: translateX(-50%) translateY(100px);
  background: #212529;
  color: #fff;
  padding: 0.75rem 1.25rem;
  border-radius: 8px;
  font-size: 0.875rem;
  font-weight: 500;
  z-index: 10000;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
  opacity: 0;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
.ai-share-feedback.show {
  opacity: 1;
  transform: translateX(-50%) translateY(0);
}

/* ========================================
   UX IMPROVEMENTS STYLES
   ======================================== */
/* Loading Overlay */
.ai-loading-overlay {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(255, 255, 255, 0.95);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 100;
  backdrop-filter: blur(4px);
  animation: fadeIn 0.3s ease;
}

.ai-loading-content {
  text-align: center;
  padding: 2rem;
}

.ai-loading-spinner {
  width: 48px;
  height: 48px;
  border: 4px solid #e9ecef;
  border-top-color: #1976d2;
  border-radius: 50%;
  animation: spin 0.8s linear infinite;
  margin: 0 auto 1rem;
}

.ai-loading-text {
  color: #495057;
  font-size: 0.9375rem;
  font-weight: 500;
  margin: 0;
}

/* Empty State - Premium Clean Design */
.ai-empty-state {
  grid-column: 1/-1;
  text-align: center;
  padding: 3rem 2rem;
  background: #fff;
  border: 1px solid #e9ecef;
  border-radius: 0.5rem;
  margin: 2rem auto;
  max-width: 720px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06);
}

.empty-state-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 56px;
  height: 56px;
  margin: 0 auto 1.5rem;
  color: #ced4da;
}
.empty-state-icon svg {
  width: 48px;
  height: 48px;
}

.empty-state-title {
  font-size: 1.5rem;
  font-weight: 600;
  color: #212529;
  margin-bottom: 0.75rem;
  line-height: 1.3;
}

.empty-state-text {
  font-size: 0.9375rem;
  color: #6c757d;
  margin: 0 auto 2rem;
  max-width: 60ch;
  line-height: 1.6;
}

.empty-state-suggestions {
  margin-bottom: 2rem;
}

.suggestions-label {
  font-size: 0.875rem;
  font-weight: 500;
  color: #495057;
  margin-bottom: 0.75rem;
}

.suggestion-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  justify-content: center;
  align-items: center;
}

.suggestion-chip {
  display: inline-flex;
  align-items: center;
  background: transparent;
  border: 1px solid #dee2e6;
  border-radius: 50rem;
  padding: 0.5rem 1rem;
  color: #495057;
  font-size: 0.875rem;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.2s ease;
  white-space: nowrap;
}
.suggestion-chip:hover {
  background: #f8f9fa;
  border-color: #1976d2;
  color: #1976d2;
  transform: translateY(-1px);
}

.empty-state-actions {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.75rem;
}

.clear-filter-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
}
.clear-filter-btn i {
  font-size: 1rem;
}

.btn-link-secondary {
  color: #6c757d;
  font-size: 0.875rem;
  text-decoration: none;
  transition: color 0.2s ease;
}
.btn-link-secondary:hover {
  color: #1976d2;
  text-decoration: underline;
}

@media (max-width: 768px) {
  .ai-empty-state {
    padding: 2rem 1.5rem;
    margin: 1rem;
  }
  .empty-state-title {
    font-size: 1.25rem;
  }
  .suggestion-chips {
    flex-direction: column;
  }
  .suggestion-chips .suggestion-chip {
    width: 100%;
    justify-content: center;
  }
}
/* Quick Refine */
.ai-quick-refine {
  margin-top: 0.75rem;
  padding-top: 0.75rem;
  border-top: 1px solid #e9ecef;
}

.refine-label {
  font-size: 0.8125rem;
  font-weight: 600;
  color: #495057;
  margin-bottom: 0.5rem;
}

.refine-buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.refine-btn {
  background: #fff;
  border: 1px solid #dee2e6;
  border-radius: 0.25rem;
  padding: 0.5rem 0.75rem;
  font-size: 0.8125rem;
  color: #495057;
  cursor: pointer;
  transition: all 0.2s ease;
  white-space: nowrap;
}

.refine-btn:hover {
  background: #1976d2;
  border-color: #1976d2;
  color: #fff;
  transform: translateY(-1px);
}

/* Location Selector Popup */
.location-selector-popup {
  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: 10000;
}

.location-popup-content {
  background: #fff;
  border-radius: 0.5rem;
  padding: 2rem;
  max-width: 500px;
  width: 90%;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.2);
}

.location-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0.75rem;
  margin-bottom: 1.5rem;
}

.location-option {
  background: #f8f9fa;
  border: 2px solid #dee2e6;
  border-radius: 0.375rem;
  padding: 1rem;
  font-size: 0.9375rem;
  font-weight: 500;
  color: #495057;
  cursor: pointer;
  transition: all 0.2s ease;
}

.location-option:hover {
  background: #1976d2;
  border-color: #1976d2;
  color: #fff;
  transform: scale(1.05);
}

.close-popup {
  width: 100%;
  background: #e9ecef;
  border: none;
  border-radius: 0.375rem;
  padding: 0.75rem;
  font-size: 0.9375rem;
  font-weight: 500;
  color: #495057;
  cursor: pointer;
  transition: all 0.2s ease;
}

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