/*!****************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** 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/home.scss ***!
  \****************************************************************************************************************************************************************************************************************************************************************************/
@charset "UTF-8";
.smart-links-section {
  padding: 6rem 0;
  background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
}
.smart-links-section .section-header {
  text-align: left;
  margin-bottom: 6rem;
}
.smart-links-section .section-header h2 {
  font-size: 2rem;
  font-weight: 200;
  color: #1e293b;
  margin-bottom: 0.75rem;
  margin-left: 0;
}
.smart-links-section .section-header .lead {
  font-size: 1.125rem;
  color: #64748b;
  max-width: 700px;
  margin: 0;
  margin-left: 0;
}

.smart-link-card {
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 16px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04), 0 1px 2px rgba(0, 0, 0, 0.02);
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  height: 100%;
  cursor: pointer;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  text-align: left;
  padding: 3rem 2rem;
  text-decoration: none;
  color: inherit;
  position: relative;
  overflow: hidden;
}
.smart-link-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.1), 0 4px 8px rgba(0, 0, 0, 0.05);
  border-color: #cbd5e1;
}
.smart-link-card:focus {
  outline: none;
  box-shadow: 0 0 0 3px rgba(25, 118, 210, 0.25);
  border-color: #1976d2;
}
.smart-link-card:focus-visible {
  outline: 2px solid #1976d2;
  outline-offset: 2px;
}
.smart-link-card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(135deg, rgba(25, 118, 210, 0.02) 0%, rgba(25, 118, 210, 0.05) 100%);
  opacity: 0;
  transition: opacity 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  pointer-events: none;
}
.smart-link-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 40px rgba(25, 118, 210, 0.15), 0 4px 8px rgba(25, 118, 210, 0.08);
  border-color: #1976d2;
}
.smart-link-card:hover::before {
  opacity: 1;
}
.smart-link-card:hover .smart-link-icon-inline {
  color: #1976d2;
  transform: scale(1.1);
}
.smart-link-card:hover .smart-link-cta {
  color: #1976d2;
}
.smart-link-card:hover .smart-link-cta i {
  transform: translateX(4px);
}
.smart-link-card:focus {
  outline: none;
  box-shadow: 0 0 0 3px rgba(25, 118, 210, 0.25);
  border-color: #1976d2;
}
.smart-link-card:focus-visible {
  outline: 2px solid #1976d2;
  outline-offset: 2px;
}

.smart-link-icon {
  width: 56px;
  height: 56px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, #e3f2fd 0%, #bbdefb 100%);
  border-radius: 10px;
  margin-bottom: 1.25rem;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  position: relative;
  z-index: 1;
}
.smart-link-icon i {
  font-size: 1.75rem;
  color: #1976d2;
  transition: color 0.3s ease;
}

.smart-link-title {
  font-size: 1.25rem;
  font-weight: 200;
  color: #1e293b;
  margin-bottom: 0.75rem;
  line-height: 1.4;
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.smart-link-icon-inline {
  font-size: 1.125rem;
  color: #64748b;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  flex-shrink: 0;
}

.smart-link-description {
  font-size: 0.9375rem;
  color: #64748b;
  line-height: 1.6;
  margin-bottom: 1.25rem;
  flex-grow: 1;
  position: relative;
  z-index: 1;
  text-align: left;
}

.smart-link-cta {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.9375rem;
  font-weight: 600;
  color: #1e293b;
  transition: color 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  position: relative;
  z-index: 1;
}
.smart-link-cta i {
  font-size: 1rem;
  transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

@media (max-width: 991px) {
  .smart-links-section {
    padding: 3rem 0;
  }
  .smart-links-section .section-header {
    margin-bottom: 2rem;
    text-align: center;
    /* keep centered on tablet and below */
  }
  .smart-links-section .section-header h2 {
    font-size: 1.75rem;
  }
  .smart-links-section .section-header .lead {
    font-size: 1rem;
    margin: 0 auto;
    /* center the smaller subtitle on small screens */
  }
  .smart-link-card {
    padding: 1.5rem 1.25rem;
  }
}
@media (max-width: 767px) {
  .smart-links-section {
    padding: 2.5rem 0;
  }
  .smart-links-section .section-header h2 {
    font-size: 1.5rem;
  }
  .smart-link-card {
    padding: 1.5rem;
  }
  .smart-link-icon {
    width: 48px;
    height: 48px;
  }
  .smart-link-icon i {
    font-size: 1.5rem;
  }
  .smart-link-title {
    font-size: 1.125rem;
  }
}
.hero-section {
  background: linear-gradient(135deg, #F4F7FB 0%, #EAF0F8 100%);
  padding: 80px 0 80px;
  /* Remove explicit top margin — rely on global `main { padding-top }` for header offset */
  margin-top: 0;
  min-height: 70vh;
  display: flex;
  align-items: center;
  color: #1e293b;
  position: relative;
  overflow: hidden;
  /* Eurostat mini-chart block */
}
.hero-section::after {
  content: "";
  position: absolute;
  inset: 0;
  background-image: url(/build/images/modern-building.06fe4903.png);
  background-repeat: no-repeat;
  background-position: right 10% center;
  background-size: clamp(1000px, 62vw, 1500px) auto;
  filter: saturate(0.98) contrast(0.98) brightness(1.03);
  opacity: 0.78;
  pointer-events: none;
  z-index: 1;
  /* Fade ефект на дясната граница */
  mask-image: linear-gradient(to left, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.3) 2%, rgb(0, 0, 0) 8%);
  -webkit-mask-image: linear-gradient(to left, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.3) 2%, rgb(0, 0, 0) 8%);
}
.hero-section::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: linear-gradient(90deg, rgba(238, 243, 248, 0) 0%, rgba(238, 243, 248, 0) 74%, rgba(238, 243, 248, 0.35) 82%, rgba(238, 243, 248, 0.78) 92%, rgb(238, 243, 248) 100%), linear-gradient(90deg, rgb(238, 243, 248) 0%, rgb(238, 243, 248) 36%, rgba(238, 243, 248, 0.88) 52%, rgba(238, 243, 248, 0.45) 65%, rgba(238, 243, 248, 0.08) 78%, rgba(238, 243, 248, 0) 92%), radial-gradient(70% 60% at 75% 35%, rgba(0, 0, 0, 0.05) 0%, rgba(0, 0, 0, 0) 60%);
  background-repeat: no-repeat, no-repeat;
  background-size: 100% 100%, 100% 100%;
  background-position: center center, center center;
  z-index: 2;
  pointer-events: none;
}
.hero-section .hero-inner {
  position: relative;
  z-index: 3;
}
.hero-section .hero-layout-2col {
  display: grid;
  grid-template-columns: 1fr 1.2fr;
  align-items: center;
  gap: 64px;
}
.hero-section .hero-content-block {
  text-align: left;
  max-width: 100%;
}
.hero-section .hero-eurostat {
  max-width: 100%;
  margin: 2rem 0 0;
  padding: 1.5rem 0 1rem;
  background: transparent;
  border: none;
  box-shadow: none;
}
.hero-section .hero-eurostat-header {
  font-size: 1.1rem;
  color: rgba(255, 255, 255, 0.9);
  letter-spacing: 0.3px;
  text-align: center;
  margin-bottom: 1.5rem;
  font-weight: 300;
}
.hero-section .hero-eurostat-canvas-wrapper {
  position: relative;
  height: 250px;
  overflow: hidden;
  background: rgba(255, 255, 255, 0.03);
  border-radius: 8px;
  border: 1px solid rgba(255, 255, 255, 0.1);
  backdrop-filter: blur(10px);
  padding: 1rem;
}
.hero-section .hero-eurostat-canvas-wrapper canvas {
  position: absolute;
  top: 1rem;
  left: 1rem;
  width: calc(100% - 2rem) !important;
  height: calc(100% - 2rem) !important;
}
.hero-section .hero-source-note {
  font-size: 0.85rem;
  color: rgba(255, 255, 255, 0.7);
  margin-top: 1rem;
  text-align: center;
}

html[dir=rtl] .hero-section::after {
  inset: 0 auto 0 0;
  width: min(72vw, 1200px);
  background-position: left -4rem center;
  background-size: clamp(1150px, 76vw, 1700px) auto;
  transform: scaleX(-1);
  transform-origin: center;
  opacity: 0.9;
  mask-image: linear-gradient(to right, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.12) 3%, rgba(0, 0, 0, 0.92) 14%, rgb(0, 0, 0) 100%);
  -webkit-mask-image: linear-gradient(to right, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.12) 3%, rgba(0, 0, 0, 0.92) 14%, rgb(0, 0, 0) 100%);
}

html[dir=rtl] .hero-section::before {
  background-image: linear-gradient(270deg, rgba(238, 243, 248, 0) 0%, rgba(238, 243, 248, 0) 58%, rgba(238, 243, 248, 0.12) 70%, rgba(238, 243, 248, 0.42) 82%, rgba(238, 243, 248, 0.82) 92%, rgb(238, 243, 248) 100%), linear-gradient(270deg, rgb(238, 243, 248) 0%, rgba(238, 243, 248, 0.96) 22%, rgba(238, 243, 248, 0.7) 38%, rgba(238, 243, 248, 0.26) 54%, rgba(238, 243, 248, 0.04) 66%, rgba(238, 243, 248, 0) 80%), radial-gradient(78% 68% at 22% 40%, rgba(0, 0, 0, 0.035) 0%, rgba(0, 0, 0, 0) 58%);
}

@media (max-width: 991.98px) {
  .hero-section {
    margin-top: 0 !important;
    padding-top: 48px !important;
    min-height: auto;
  }
}
/* Magic Mouse Scroll Indicator */
.scroll-indicator {
  position: absolute;
  bottom: 2.5rem;
  left: 50%;
  transform: translateX(-50%);
  z-index: 10;
  text-align: center;
  cursor: pointer;
  transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}
.scroll-indicator:hover {
  transform: translateX(-50%) translateY(-8px) scale(1.1);
}
.scroll-indicator:hover .scroll-text {
  opacity: 1;
  transform: translateY(0);
}
.scroll-indicator:hover .magic-mouse {
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.4);
}
.scroll-indicator:hover .magic-mouse::before {
  opacity: 1;
  animation-duration: 1.2s;
}
.scroll-indicator .scroll-text {
  font-size: 0.75rem;
  font-weight: 400;
  color: rgba(255, 255, 255, 0.7);
  text-transform: uppercase;
  letter-spacing: 2px;
  margin-bottom: 1.5rem;
  opacity: 0.6;
  transform: translateY(10px);
  transition: all 0.3s ease;
}
.scroll-indicator .magic-mouse {
  width: 28px;
  height: 48px;
  border: 2px solid rgba(255, 255, 255, 0.4);
  border-radius: 20px;
  position: relative;
  margin: 0 auto;
  background: rgba(255, 255, 255, 0.05);
  backdrop-filter: blur(10px);
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.2);
  transition: all 0.4s ease;
}
.scroll-indicator .magic-mouse::before {
  content: "";
  position: absolute;
  top: 8px;
  left: 50%;
  transform: translateX(-50%);
  width: 3px;
  height: 8px;
  background: rgba(255, 255, 255, 0.8);
  border-radius: 2px;
  opacity: 0.7;
  animation: mouseScroll 2s infinite ease-in-out;
}
.scroll-indicator .magic-mouse::after {
  content: "";
  position: absolute;
  bottom: -15px;
  left: 50%;
  transform: translateX(-50%);
  width: 1px;
  height: 12px;
  background: linear-gradient(to bottom, rgba(255, 255, 255, 0.6), transparent);
  animation: scrollLine 2s infinite ease-in-out;
}

@keyframes mouseScroll {
  0% {
    opacity: 0.7;
    transform: translateX(-50%) translateY(0);
  }
  50% {
    opacity: 1;
    transform: translateX(-50%) translateY(12px);
  }
  100% {
    opacity: 0.3;
    transform: translateX(-50%) translateY(20px);
  }
}
@keyframes scrollLine {
  0% {
    opacity: 0;
    height: 8px;
  }
  50% {
    opacity: 0.8;
    height: 15px;
  }
  100% {
    opacity: 0;
    height: 20px;
  }
}
@keyframes heroFadeInUp {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
/* ========================================
   Hero Left Column
   ======================================== */
.hero-left {
  text-align: left;
  max-width: 560px;
  position: relative;
  /* Фин overlay за подобряване на контраста на текста */
}
.hero-left::before {
  content: "";
  position: absolute;
  top: -32px;
  left: -32px;
  right: -32px;
  bottom: -32px;
  background: linear-gradient(120deg, rgba(255, 255, 255, 0.85) 0%, rgba(255, 255, 255, 0.65) 40%, rgba(255, 255, 255, 0.35) 70%, rgba(255, 255, 255, 0) 100%);
  border-radius: 24px;
  pointer-events: none;
  z-index: -1;
  backdrop-filter: blur(8px);
}

.hero-title {
  font-size: clamp(32px, 3.5vw, 52px);
  font-weight: 500;
  line-height: 1.15;
  letter-spacing: -0.02em;
  margin: 0 0 8px 0;
  color: #0f172a;
}

.hero-subtitle {
  font-size: clamp(16px, 1.8vw, 20px);
  line-height: 1.5;
  margin: 0 0 12px 0;
  color: #64748b;
  font-weight: 500;
}

.hero-description {
  font-size: 16px;
  line-height: 1.6;
  margin: 0 0 24px 0;
  color: #64748b;
  font-weight: 400;
}

.hero-features {
  display: flex;
  flex-wrap: wrap;
  gap: 12px 16px;
  margin: 0 0 24px;
  align-items: center;
}
.hero-features .feature-item {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 14px;
  color: #64748b;
}
.hero-features .feature-item i {
  font-size: 16px;
  color: #1976d2;
}
.hero-features .feature-separator {
  opacity: 0.3;
  font-size: 12px;
  color: #94a3b8;
}

.hero-trust-bar {
  display: flex;
  flex-wrap: wrap;
  gap: 1.5rem 2rem;
  margin: 0 0 2rem;
  padding: 1.5rem 0;
  border-top: 1px solid rgba(226, 232, 240, 0.5);
  border-bottom: 1px solid rgba(226, 232, 240, 0.5);
}
.hero-trust-bar .trust-item {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  color: #64748b;
  font-weight: 500;
}
.hero-trust-bar .trust-item i {
  font-size: 18px;
  color: #1976d2;
  opacity: 0.8;
}
@media (max-width: 768px) {
  .hero-trust-bar {
    gap: 1rem;
    padding: 1rem 0;
  }
  .hero-trust-bar .trust-item {
    font-size: 12px;
  }
  .hero-trust-bar .trust-item i {
    font-size: 16px;
  }
}

/* AI Search Bar */
.hero-ai-search {
  margin: 0 0 20px 0;
}

.ai-search-shell {
  display: flex;
  align-items: stretch;
  gap: 8px;
  padding: 6px 6px 6px 20px;
  border-radius: 50px;
  border: 1px solid #cbd5e1;
  background: white;
  box-shadow: 0 2px 12px rgba(15, 23, 42, 0.08);
  transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
  height: 56px;
}
.ai-search-shell:focus-within {
  border-color: #1976d2;
  box-shadow: 0 4px 20px rgba(25, 118, 210, 0.15);
  transform: translateY(-1px);
}

.ai-search-input {
  flex: 1;
  border: 0;
  background: transparent;
  color: #0f172a;
  outline: none;
  font-size: 15px;
  padding: 0 4px;
  line-height: 1.4;
  display: flex;
  align-items: center;
}
.ai-search-input::placeholder {
  color: #94a3b8;
}

.ai-search-button {
  border: 0;
  border-radius: 50px;
  padding: 0 28px;
  font-size: 15px;
  font-weight: 600;
  white-space: nowrap;
  background: #1976d2;
  color: white;
  cursor: pointer;
  transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  height: 44px;
  box-shadow: 0 2px 12px rgba(25, 118, 210, 0.2);
}
.ai-search-button:hover {
  background: #1565c0;
  box-shadow: 0 4px 16px rgba(25, 118, 210, 0.35);
  transform: translateY(-1px);
}
.ai-search-button:active {
  transform: translateY(0);
}
.ai-search-button:focus-visible {
  outline: 2px solid #1976d2;
  outline-offset: 2px;
}

.ai-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 12px 0 0;
}

.ai-chip {
  font-size: 13px;
  padding: 6px 14px;
  border-radius: 20px;
  border: 1px solid #e2e8f0;
  background: white;
  color: #475569;
  cursor: pointer;
  transition: all 0.2s ease;
}
.ai-chip:hover {
  background: #f8fafc;
  border-color: #cbd5e1;
  color: #1e293b;
}
.ai-chip:focus-visible {
  outline: 2px solid #1976d2;
  outline-offset: 2px;
}

.hero-cta-row {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-top: 24px;
}

.hero-cta-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 28px;
  height: 48px;
  font-size: 15px;
  font-weight: 500;
  color: #1e293b;
  border: 1.5px solid #cbd5e1;
  border-radius: 50px;
  text-decoration: none;
  transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
  background: white;
  box-shadow: 0 2px 12px rgba(15, 23, 42, 0.06);
}
.hero-cta-link:hover {
  background: #f8fafc;
  border-color: #94a3b8;
  color: #0f172a;
  box-shadow: 0 4px 16px rgba(15, 23, 42, 0.12);
  transform: translateY(-1px);
}
.hero-cta-link:active {
  transform: translateY(0);
}
.hero-cta-link:focus-visible {
  outline: 2px solid #1976d2;
  outline-offset: 2px;
}

.hero-open-assistant {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  height: 48px;
  padding: 0 20px;
  font-size: 14px;
  color: #1976d2;
  text-decoration: none;
  transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
  font-weight: 500;
  border-radius: 50px;
}
.hero-open-assistant:hover {
  color: #1565c0;
  background: rgba(25, 118, 210, 0.08);
}
.hero-open-assistant i {
  font-size: 12px;
  transition: transform 0.25s ease;
}
.hero-open-assistant:hover i {
  transform: translateX(3px);
}

/* ========================================
   Hero Right Column
   ======================================== */
.hero-right {
  display: flex;
  align-items: center;
  justify-content: center;
  pointer-events: none;
}

.hero-visual {
  max-width: 520px;
  width: 100%;
  height: auto;
  object-fit: contain;
  filter: drop-shadow(0 20px 40px rgba(0, 0, 0, 0.12));
}

@keyframes floatGentle {
  0%, 100% {
    transform: translateY(0px);
  }
  50% {
    transform: translateY(-12px);
  }
}
/* ========================================
   Hero Responsive Breakpoints
   ======================================== */
@media (max-width: 991.98px) {
  .hero-section {
    padding: 60px 0 60px;
  }
  .hero-section::after {
    background-position: right 16% center;
    background-size: clamp(820px, 70vw, 1200px) auto;
    opacity: 0.7;
    filter: saturate(0.98) contrast(0.96) brightness(1.03) blur(0.35px);
    /* Запазване на fade ефекта на tablet */
    mask-image: linear-gradient(to left, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.25) 3%, rgb(0, 0, 0) 10%);
    -webkit-mask-image: linear-gradient(to left, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.25) 3%, rgb(0, 0, 0) 10%);
  }
  .hero-section::before {
    background-image: linear-gradient(90deg, rgb(238, 243, 248) 0%, rgb(238, 243, 248) 36%, rgba(238, 243, 248, 0.9) 50%, rgba(238, 243, 248, 0.4) 70%, rgba(238, 243, 248, 0.05) 90%, rgba(238, 243, 248, 0) 100%), radial-gradient(70% 60% at 75% 35%, rgba(0, 0, 0, 0.05) 0%, rgba(0, 0, 0, 0) 60%);
  }
  .hero-section .hero-layout-2col {
    grid-template-columns: 1fr;
    gap: 48px;
  }
  .hero-section .hero-inner {
    padding: 0 32px;
  }
  .hero-section .hero-left {
    max-width: 100%;
    /* Намаляване на overlay padding на tablet */
  }
  .hero-section .hero-left::before {
    top: -24px;
    left: -24px;
    right: -24px;
    bottom: -24px;
  }
}
@media (max-width: 575.98px) {
  .hero-section {
    /* Extra bottom padding creates the reveal canvas for the building */
    padding: 48px 0 92px;
    /* ::before: opaque over text, dissolves through content into building zone */
  }
  .hero-section::after {
    left: 0;
    right: 0;
    width: 100%;
    /* Anchor to bottom so building peeks into the lower portion of the hero */
    background-position: 38% bottom;
    background-size: 200% auto;
    opacity: 0.42;
    filter: saturate(0.88) contrast(0.88) brightness(1.08) blur(0.5px);
    /* Reveal from bottom upward — fully visible at base, fades out by ~60% height */
    mask-image: linear-gradient(to top, rgba(0, 0, 0, 0.85) 0%, rgba(0, 0, 0, 0.62) 14%, rgba(0, 0, 0, 0.3) 30%, rgba(0, 0, 0, 0.06) 46%, rgba(0, 0, 0, 0) 58%);
    -webkit-mask-image: linear-gradient(to top, rgba(0, 0, 0, 0.85) 0%, rgba(0, 0, 0, 0.62) 14%, rgba(0, 0, 0, 0.3) 30%, rgba(0, 0, 0, 0.06) 46%, rgba(0, 0, 0, 0) 58%);
  }
  .hero-section::before {
    background-image: linear-gradient(180deg, rgba(238, 243, 248, 0.97) 0%, rgba(238, 243, 248, 0.93) 22%, rgba(238, 243, 248, 0.82) 38%, rgba(238, 243, 248, 0.56) 54%, rgba(238, 243, 248, 0.26) 68%, rgba(238, 243, 248, 0.07) 80%, rgba(238, 243, 248, 0) 92%), radial-gradient(70% 60% at 70% 25%, rgba(0, 0, 0, 0.04) 0%, rgba(0, 0, 0, 0) 60%);
  }
  .hero-section .hero-inner {
    padding: 0 20px;
  }
  .hero-section .hero-layout-2col {
    gap: 32px;
  }
  .hero-section .hero-left {
    /* Намаляване на overlay на mobile */
  }
  .hero-section .hero-left::before {
    top: -16px;
    left: -16px;
    right: -16px;
    bottom: -16px;
    /* Feather layer: reinforces legibility at top, fades rapidly below content midpoint */
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.52) 0%, rgba(255, 255, 255, 0.44) 36%, rgba(255, 255, 255, 0.2) 58%, rgba(255, 255, 255, 0.05) 74%, rgba(255, 255, 255, 0) 88%);
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    border-radius: 0;
  }
  .hero-section .hero-title {
    font-size: clamp(28px, 7vw, 40px);
  }
  .hero-section .hero-subtitle {
    font-size: 16px;
  }
  .hero-section .ai-search-shell {
    flex-direction: column;
    align-items: stretch;
    padding: 12px;
    border-radius: 20px;
    height: auto;
    gap: 10px;
  }
  .hero-section .ai-search-input {
    padding: 12px 16px;
    min-height: 44px;
  }
  .hero-section .ai-search-button {
    width: 100%;
    justify-content: center;
    border-radius: 50px;
    height: 48px;
  }
  .hero-section .hero-cta-row {
    flex-direction: column;
    align-items: stretch;
    gap: 12px;
  }
  .hero-section .hero-cta-link {
    text-align: center;
    width: 100%;
  }
  .hero-section .hero-open-assistant {
    width: 100%;
  }
  .hero-section .hero-visual {
    max-width: 280px;
  }
}
/* Section header improvements */
.section-header {
  text-align: left;
  margin-bottom: 3rem;
  position: relative;
}
.section-header h2 {
  font-size: 2.5rem;
  font-weight: 200;
  color: #1e293b;
  margin-bottom: 0.8rem;
  position: relative;
  letter-spacing: -0.02em;
  text-align: left;
  /* FORCE REMOVE ALL H2 UNDERLINES */
}
.section-header h2::after, .section-header h2::before {
  display: none !important;
  content: none !important;
  background: none !important;
  border: none !important;
  border-bottom: none !important;
  text-decoration: none !important;
}
@media (max-width: 768px) {
  .section-header {
    text-align: center;
    margin-bottom: 2rem;
  }
  .section-header h2 {
    font-size: 2rem;
  }
}

/* Hero responsive improvements */
@media (max-width: 768px) {
  .hero-section {
    /* Do not re-impose min-height — 991.98px removed it, keep it content-driven */
    min-height: auto;
    padding: 5rem 0 4rem;
  }
  .hero-section .hero-content {
    max-width: 100%;
  }
  .hero-section .hero-ai-search-bar {
    margin-top: 2rem;
  }
  .hero-section .scroll-indicator {
    bottom: 1rem;
  }
  .hero-section .scroll-indicator .scroll-text {
    font-size: 0.7rem;
    margin-bottom: 0.8rem;
  }
}
@media (max-width: 480px) {
  .hero-section {
    /* Do not re-impose min-height over the 575.98px block */
    min-height: auto;
    padding: 4rem 0 3rem;
  }
  .hero-section .hero-ai-search-bar {
    margin-top: 1.5rem;
  }
  .hero-section .ai-suggested-queries {
    gap: 0.4rem;
  }
  .hero-section .suggested-query-chip {
    font-size: 0.8rem;
    padding: 0.4rem 0.8rem;
  }
  .hero-section .scroll-indicator .scroll-text {
    display: none;
  }
}
/* GLOBAL H2 UNDERLINE REMOVAL */
h2::after,
h2::before {
  display: none !important;
  content: none !important;
  background: none !important;
  border: none !important;
  border-bottom: none !important;
  text-decoration: none !important;
}

/* Platform Stats Section */
.platform-stats {
  /* match horizontal spacing of other sections */
  padding: 4rem 1.5rem;
  background: linear-gradient(180deg, #f8fafc 0%, #ffffff 100%);
  position: relative;
  /* Responsive adjustments to keep horizontal spacing consistent on small screens */
}
.platform-stats .stat-item {
  text-align: center;
  /* increase left/right padding to be consistent with other cards */
  padding: 2rem 2rem;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  max-width: 380px;
  margin: 0 auto;
}
.platform-stats .stat-item:hover {
  transform: translateY(-5px);
}
.platform-stats .stat-number {
  font-size: 3.5rem;
  font-weight: 700;
  color: #0f172a;
  line-height: 1;
  margin-bottom: 0.75rem;
  letter-spacing: -0.02em;
}
@media (max-width: 768px) {
  .platform-stats .stat-number {
    font-size: 3rem;
  }
}
@media (max-width: 576px) {
  .platform-stats .stat-number {
    font-size: 2.5rem;
  }
}
.platform-stats .stat-label {
  font-size: 1.1rem;
  color: #64748b;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}
@media (max-width: 768px) {
  .platform-stats .stat-label {
    font-size: 1rem;
  }
}
@media (max-width: 768px) {
  .platform-stats {
    padding: 4rem 0;
  }
  .platform-stats .stat-item {
    padding: 1.5rem 1rem;
    max-width: none;
  }
}

/* How It Works Section */
.how-it-works {
  padding: 6rem 0;
  background: #ffffff;
}
.how-it-works .how-card {
  background: white;
  border-radius: 16px;
  border: 2px solid #e2e8f0;
  padding: 3rem 2rem 2.5rem;
  text-align: center;
  box-shadow: 0 2px 16px rgba(0, 0, 0, 0.04);
  transition: all 0.35s cubic-bezier(0.4, 0, 0.2, 1);
  position: relative;
  height: 100%;
  display: flex;
  flex-direction: column;
}
.how-it-works .how-card:hover {
  transform: translateY(-8px);
  border-color: #1976d2;
  box-shadow: 0 12px 40px rgba(25, 118, 210, 0.15);
}
.how-it-works .step-badge {
  position: absolute;
  top: 1.25rem;
  left: 1.25rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 32px;
  height: 32px;
  padding: 0 0.75rem;
  background: linear-gradient(135deg, #1976d2 0%, #1565c0 100%);
  color: white;
  border-radius: 16px;
  font-size: 0.875rem;
  font-weight: 200;
  box-shadow: 0 2px 8px rgba(25, 118, 210, 0.3);
  transition: all 0.3s ease;
}
.how-it-works .how-card:hover .step-badge {
  transform: scale(1.05);
  box-shadow: 0 4px 12px rgba(25, 118, 210, 0.4);
}
.how-it-works .step-icon {
  font-size: 3rem;
  color: #475569;
  margin: 0 auto 1.5rem;
  transition: all 0.35s cubic-bezier(0.4, 0, 0.2, 1);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 80px;
  height: 80px;
  background: linear-gradient(135deg, #f1f5f9 0%, #e2e8f0 100%);
  border-radius: 16px;
}
.how-it-works .step-icon i {
  display: inline-block;
  transition: transform 0.3s ease;
  line-height: 1;
}
.how-it-works .how-card:hover .step-icon {
  color: #1976d2;
  background: linear-gradient(135deg, #e3f2fd 0%, #bbdefb 100%);
  transform: scale(1.05);
}
.how-it-works .how-card:hover .step-icon i {
  transform: scale(1.1);
}
.how-it-works h3 {
  font-size: 1.25rem;
  font-weight: 600;
  line-height: 1.4;
  color: #1e293b;
  margin-bottom: 0.75rem;
}
.how-it-works p {
  font-size: 0.9375rem;
  line-height: 1.6;
  color: #64748b;
  margin-bottom: 0;
  flex: 1;
  min-height: 3.2em;
}
@media (max-width: 768px) {
  .how-it-works {
    padding: 4rem 0;
  }
  .how-it-works .how-card {
    padding: 2.5rem 1.5rem 2rem;
  }
  .how-it-works .step-badge {
    top: 1rem;
    left: 1rem;
    min-width: 28px;
    height: 28px;
    font-size: 0.75rem;
    padding: 0 0.625rem;
  }
  .how-it-works .step-icon {
    width: 64px;
    height: 64px;
    font-size: 2.5rem;
  }
  .how-it-works h3 {
    font-size: 1.125rem;
  }
  .how-it-works p {
    font-size: 0.875rem;
    min-height: auto;
  }
}

.why-propelia {
  padding: 6rem 0;
  background: #f8fafc;
}
.why-propelia .section-header {
  text-align: center;
  margin-bottom: 4rem;
}
.why-propelia .section-header h2 {
  font-size: 2.5rem;
  font-weight: 200;
  color: #0f172a;
  margin-bottom: 1rem;
}
@media (max-width: 768px) {
  .why-propelia .section-header h2 {
    font-size: 2rem;
  }
}
.why-propelia .section-header .lead {
  font-size: 1.25rem;
  color: #64748b;
}
.why-propelia .feature-card {
  background: white;
  border: 2px solid #e2e8f0;
  border-radius: 16px;
  padding: 3rem 2rem 2.5rem;
  text-align: center;
  height: 100%;
  display: flex;
  flex-direction: column;
  transition: all 0.35s cubic-bezier(0.4, 0, 0.2, 1);
  box-shadow: 0 2px 16px rgba(0, 0, 0, 0.04);
}
.why-propelia .feature-card:hover {
  border-color: #1976d2;
  transform: translateY(-8px);
  box-shadow: 0 12px 40px rgba(25, 118, 210, 0.15);
}
.why-propelia .feature-card .feature-icon {
  width: 80px;
  height: 80px;
  margin: 0 auto 1.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 16px;
  background: linear-gradient(135deg, #f1f5f9 0%, #e2e8f0 100%);
  transition: all 0.35s cubic-bezier(0.4, 0, 0.2, 1);
}
.why-propelia .feature-card .feature-icon i {
  font-size: 2.5rem;
  color: #475569;
  transition: transform 0.3s ease;
  line-height: 1;
}
.why-propelia .feature-card:hover .feature-icon {
  background: linear-gradient(135deg, #e3f2fd 0%, #bbdefb 100%);
  transform: scale(1.05);
}
.why-propelia .feature-card:hover .feature-icon i {
  color: #1976d2;
}
.why-propelia .feature-card h3 {
  font-size: 1.25rem;
  font-weight: 600;
  line-height: 1.4;
  color: #1e293b;
  margin-bottom: 0.75rem;
}
.why-propelia .feature-card p {
  font-size: 0.9375rem;
  color: #64748b;
  margin-bottom: 0;
  line-height: 1.6;
  flex: 1;
  min-height: 3.2em;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
@media (max-width: 768px) {
  .why-propelia {
    padding: 4rem 0;
  }
  .why-propelia .section-header {
    margin-bottom: 3rem;
  }
  .why-propelia .feature-card {
    padding: 2.5rem 1.5rem 2rem;
  }
  .why-propelia .feature-card .feature-icon {
    width: 64px;
    height: 64px;
  }
  .why-propelia .feature-card .feature-icon i {
    font-size: 2rem;
  }
  .why-propelia .feature-card h3 {
    font-size: 1.125rem;
  }
  .why-propelia .feature-card p {
    font-size: 0.875rem;
    min-height: auto;
  }
}

.target-audience {
  padding: 6rem 0;
  background: linear-gradient(180deg, #fafbfc 0%, #ffffff 100%);
  position: relative;
  /* Subtle top separator */
}
.target-audience::before {
  content: "";
  position: absolute;
  top: 0;
  left: 10%;
  right: 10%;
  height: 1px;
  background: linear-gradient(90deg, transparent, #e2e8f0 20%, #cbd5e1 50%, #e2e8f0 80%, transparent);
  opacity: 0.6;
}
.target-audience .section-header {
  text-align: center;
  margin-bottom: 4rem;
}
.target-audience .section-header h2 {
  font-size: 2.5rem;
  font-weight: 200;
  color: #0f172a;
  margin-bottom: 1rem;
}
@media (max-width: 768px) {
  .target-audience .section-header h2 {
    font-size: 2rem;
  }
}
.target-audience .section-header .lead {
  font-size: 1.25rem;
  color: #64748b;
}
.target-audience .audience-card {
  background: white;
  border: 2px solid #e2e8f0;
  border-radius: 16px;
  padding: 3rem 2rem;
  text-align: center;
  height: 100%;
  display: flex;
  flex-direction: column;
  transition: all 0.35s cubic-bezier(0.4, 0, 0.2, 1);
  box-shadow: 0 2px 16px rgba(0, 0, 0, 0.04);
}
.target-audience .audience-card:hover {
  transform: translateY(-8px);
  border-color: #1976d2;
  background: #ffffff;
  box-shadow: 0 12px 40px rgba(25, 118, 210, 0.15);
}
.target-audience .audience-card .audience-icon {
  width: 100px;
  height: 100px;
  margin: 0 auto 2rem;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: linear-gradient(135deg, #f8fafc 0%, #e2e8f0 100%);
  transition: all 0.35s cubic-bezier(0.4, 0, 0.2, 1);
}
.target-audience .audience-card .audience-icon i {
  font-size: 3rem;
  color: #475569;
  transition: all 0.3s ease;
}
.target-audience .audience-card:hover .audience-icon {
  background: linear-gradient(135deg, #e3f2fd 0%, #bbdefb 100%);
  transform: scale(1.05);
}
.target-audience .audience-card:hover .audience-icon i {
  color: #1976d2;
}
.target-audience .audience-card h3 {
  font-size: 1.5rem;
  font-weight: 600;
  color: #0f172a;
  margin-bottom: 1rem;
}
.target-audience .audience-card p {
  font-size: 1rem;
  color: #64748b;
  margin-bottom: 2rem;
  line-height: 1.6;
  flex-grow: 1;
}
.target-audience .audience-card .btn {
  margin-top: auto;
}
@media (max-width: 768px) {
  .target-audience {
    padding: 4rem 0;
  }
  .target-audience .section-header {
    margin-bottom: 3rem;
  }
  .target-audience .audience-card {
    padding: 2.5rem 1.5rem;
    margin-bottom: 2rem;
  }
}

.property-types {
  padding: 6rem 0;
  background: linear-gradient(180deg, #f8fafc 0%, #ffffff 100%);
  position: relative;
  margin-top: -2rem;
}
.property-types::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, #cbd5e1, transparent);
  opacity: 0.5;
}
.property-types::after {
  content: "";
  position: absolute;
  top: -2rem;
  left: 0;
  right: 0;
  height: 2rem;
  background: linear-gradient(180deg, transparent, #f8fafc);
  pointer-events: none;
}
@media (max-width: 768px) {
  .property-types {
    padding: 4rem 0;
  }
}

.type-card {
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 16px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04), 0 1px 2px rgba(0, 0, 0, 0.02);
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  height: 100%;
  cursor: pointer;
  text-align: center;
  padding: 3rem 2rem;
}
.type-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.1), 0 4px 8px rgba(0, 0, 0, 0.05);
  border-color: #cbd5e1;
}
.type-card:focus {
  outline: none;
  box-shadow: 0 0 0 3px rgba(25, 118, 210, 0.25);
  border-color: #1976d2;
}
.type-card:focus-visible {
  outline: 2px solid #1976d2;
  outline-offset: 2px;
}
.type-card:hover {
  transform: translateY(-8px);
  border-color: #1976d2;
  box-shadow: 0 12px 40px rgba(25, 118, 210, 0.15), 0 4px 8px rgba(25, 118, 210, 0.08);
}
.type-card:hover .type-icon {
  color: #1976d2;
  background: linear-gradient(135deg, #e3f2fd 0%, #bbdefb 100%);
  transform: scale(1.05);
}
.type-card:hover .property-type-icon-inline {
  color: #1976d2;
  transform: scale(1.1);
}
.type-card h3 {
  font-size: 1.25rem;
  font-weight: 200;
  line-height: 1.4;
  margin-bottom: 0.75rem;
  color: #1e293b;
}
.type-card p {
  font-size: 0.9375rem;
  line-height: 1.6;
  margin-bottom: 1.25rem;
  color: #64748b;
  min-height: 3.2em;
}
@media (max-width: 768px) {
  .type-card {
    padding: 3rem 1.5rem;
  }
  .type-card h3 {
    font-size: 1.125rem;
  }
  .type-card p {
    font-size: 0.875rem;
    min-height: auto;
  }
}

.property-type-title {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
}

.property-type-icon-inline {
  font-size: 1.125rem;
  color: #64748b;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  flex-shrink: 0;
}

.type-icon {
  font-size: 3rem;
  color: #475569;
  margin-bottom: 1.5rem;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 80px;
  height: 80px;
  background: linear-gradient(135deg, #f1f5f9 0%, #e2e8f0 100%);
  border-radius: 16px;
}
.type-icon i {
  font-weight: 400;
  line-height: 1;
  stroke-width: 1.5px;
}

.type-card:hover .type-icon {
  color: #1976d2;
  background: linear-gradient(135deg, #e3f2fd 0%, #bbdefb 100%);
  transform: scale(1.05);
}

@media (max-width: 768px) {
  .type-icon {
    width: 64px;
    height: 64px;
    font-size: 2.5rem;
    margin-bottom: 1.25rem;
  }
}
.featured-properties,
.latest-properties {
  padding: 6rem 0;
  background: #ffffff;
  position: relative;
  /* Subtle top separator for visual breathing */
  /* Grid container instead of carousel */
}
.featured-properties::before,
.latest-properties::before {
  content: "";
  position: absolute;
  top: 0;
  left: 10%;
  right: 10%;
  height: 1px;
  background: linear-gradient(90deg, transparent, #e2e8f0 20%, #cbd5e1 50%, #e2e8f0 80%, transparent);
  opacity: 0.6;
}
.featured-properties .section-header,
.latest-properties .section-header {
  text-align: center;
  margin-bottom: 4rem;
}
.featured-properties .section-header h2,
.latest-properties .section-header h2 {
  font-size: 2.5rem;
  font-weight: 200;
  color: #0f172a;
  margin-bottom: 1rem;
}
@media (max-width: 768px) {
  .featured-properties .section-header h2,
  .latest-properties .section-header h2 {
    font-size: 2rem;
  }
}
.featured-properties .section-header .lead,
.latest-properties .section-header .lead {
  font-size: 1.25rem;
  color: #64748b;
}
.featured-properties .property-carousel,
.latest-properties .property-carousel {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2rem;
  position: static;
  padding: 0;
}
@media (max-width: 992px) {
  .featured-properties .property-carousel,
  .latest-properties .property-carousel {
    grid-template-columns: repeat(2, 1fr);
    gap: 1.5rem;
  }
}
@media (max-width: 640px) {
  .featured-properties .property-carousel,
  .latest-properties .property-carousel {
    grid-template-columns: 1fr;
    gap: 1.5rem;
  }
}

/* Property carousel track - removed, now using grid */
.property-carousel-track {
  display: contents; /* Allows grid items to be direct children */
}

/* Property carousel item - now just a grid item wrapper */
.property-carousel-item {
  display: flex;
  align-items: stretch;
}
.property-carousel-item > .card,
.property-carousel-item > .vip-property-card {
  display: flex;
  flex-direction: column;
  height: 100%;
  width: 100%;
}

@media (max-width: 992px) {
  .property-carousel-item {
    flex-basis: calc(50% - 0.75rem);
  }
  .property-image,
  .vip-property-image,
  .property-card .card-img-top,
  .vip-property-card img,
  .featured-properties .property-card .card-img-top,
  .latest-properties .property-card .card-img-top {
    height: 200px; /* aspect-ratio запазва 16:9 пропорцията */
  }
}
@media (max-width: 640px) {
  .property-carousel {
    padding: 0 1.5rem;
  }
  .property-carousel-item {
    flex-basis: 100%;
  }
  .property-image,
  .vip-property-image,
  .property-card .card-img-top,
  .vip-property-card img,
  .featured-properties .property-card .card-img-top,
  .latest-properties .property-card .card-img-top {
    height: 150px; /* aspect-ratio запазва 16:9 пропорцията на малки екрани */
  }
}
/* Carousel navigation - hidden for grid layout */
.carousel-nav {
  display: none; /* Grid doesn't need navigation arrows */
}

.property-card {
  height: 100%;
  background: white;
  border: 2px solid #e2e8f0;
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 2px 16px rgba(0, 0, 0, 0.04);
  transition: all 0.35s cubic-bezier(0.4, 0, 0.2, 1);
  position: relative;
  display: flex;
  flex-direction: column;
}
.property-card:hover {
  transform: translateY(-8px);
  border-color: #1976d2;
  box-shadow: 0 12px 40px rgba(25, 118, 210, 0.15);
}
.property-card .card-body {
  display: flex;
  flex-direction: column;
  padding: 1.5rem;
  flex: 1;
}
.property-card .card-title {
  font-size: 1.125rem;
  font-weight: 600;
  line-height: 1.3;
  color: #1e293b;
  margin-bottom: 0.75rem;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  min-height: 2.6em;
}
.property-card .card-text {
  font-size: 0.875rem;
  color: #64748b;
  margin-bottom: 1rem;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.property-card .card-text i {
  color: #1976d2;
  margin-right: 0.25rem;
}
.property-card .btn-industrial {
  margin-top: auto;
}

.property-image,
.vip-property-image,
.property-card .card-img-top,
.vip-property-card img {
  aspect-ratio: 16/9; /* модерен контрол на пропорции */
  width: 100%;
  height: 250px; /* fallback за стари браузъри */
  display: block;
  object-fit: cover;
  transition: transform 0.5s ease;
}

.property-card:hover .property-image,
.property-card:hover .card-img-top {
  transform: scale(1.05);
}

/* Property features grid */
.property-features {
  list-style: none;
  padding: 0;
  margin: 0 0 1.5rem;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.5rem;
  font-size: 0.875rem;
  color: #64748b;
}

.property-feature {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  padding: 0.5rem;
  background: #f8fafc;
  border-radius: 8px;
}
.property-feature i {
  color: #1976d2;
  font-size: 0.9rem;
}

.cta-section {
  padding: 5rem 0;
  background: linear-gradient(135deg, #0f172a 0%, #1e293b 50%, #334155 100%);
  color: white;
  text-align: center;
  position: relative;
}
.cta-section::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: repeating-linear-gradient(90deg, transparent, transparent 80px, rgba(255, 255, 255, 0.02) 80px, rgba(255, 255, 255, 0.02) 81px);
  pointer-events: none;
}
.cta-section::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 200px;
  height: 200px;
  background: radial-gradient(circle, rgba(25, 118, 210, 0.1) 0%, transparent 70%);
  border-radius: 50%;
  pointer-events: none;
}
.cta-section h2 {
  font-weight: 200;
  font-size: 2.8rem;
  margin-bottom: 1.5rem;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
}
@media (max-width: 768px) {
  .cta-section h2 {
    font-size: 2.2rem;
  }
}
.cta-section p {
  font-size: 1.2rem;
  opacity: 0.9;
  max-width: 650px;
  margin: 0 auto 2.5rem;
  line-height: 1.7;
}
.cta-section .btn {
  background: #34495e;
  border: 2px solid #34495e;
  color: white;
  padding: 1rem 2.5rem;
  border-radius: 0;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.8px;
  transition: all 0.3s ease;
  position: relative;
  overflow: hidden;
}
.cta-section .btn::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(255, 255, 255, 0.1);
  /* use transform for animation instead of changing left to avoid layout reflow/overflow */
  transform: translateX(-100%);
  transition: transform 0.28s cubic-bezier(0.4, 0, 0.2, 1);
  z-index: 1;
}
.cta-section .btn:hover {
  background: transparent;
  color: #34495e;
  transform: translateY(-2px);
  box-shadow: 0 8px 25px rgba(52, 73, 94, 0.3);
}
.cta-section .btn:hover::before {
  transform: translateX(0);
}

.vip-property-section {
  padding: 6rem 0;
  background: #ffffff;
  position: relative;
  /* Subtle top separator for consistency */
  /* Grid container like Featured/Latest */
}
.vip-property-section::before {
  content: "";
  position: absolute;
  top: 0;
  left: 10%;
  right: 10%;
  height: 1px;
  background: linear-gradient(90deg, transparent, #e2e8f0 20%, #cbd5e1 50%, #e2e8f0 80%, transparent);
  opacity: 0.6;
}
.vip-property-section .section-header {
  text-align: center;
  margin-bottom: 4rem;
}
.vip-property-section .section-header h2 {
  font-size: 2.5rem;
  font-weight: 200;
  color: #0f172a;
  margin-bottom: 1rem;
}
@media (max-width: 768px) {
  .vip-property-section .section-header h2 {
    font-size: 2rem;
  }
}
.vip-property-section .section-header h2 i {
  margin-right: 0.5rem;
  color: #1976d2;
}
.vip-property-section .section-header .lead {
  font-size: 1.25rem;
  color: #64748b;
}
.vip-property-section .property-carousel {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2rem;
  position: static;
  padding: 0;
}
@media (max-width: 992px) {
  .vip-property-section .property-carousel {
    grid-template-columns: repeat(2, 1fr);
    gap: 1.5rem;
  }
}
@media (max-width: 640px) {
  .vip-property-section .property-carousel {
    grid-template-columns: 1fr;
    gap: 1.5rem;
  }
}

.vip-property-card {
  background: white;
  border: 2px solid #e2e8f0;
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 2px 16px rgba(0, 0, 0, 0.04);
  transition: all 0.3s ease;
  position: relative;
  display: flex;
  flex-direction: column;
  height: 100%;
}
.vip-property-card:hover {
  border-color: #cbd5e1;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
}
.vip-property-card::after {
  content: "Premium";
  position: absolute;
  top: 1rem;
  right: 1rem;
  background: linear-gradient(135deg, #1976d2 0%, #1565c0 100%);
  color: white;
  padding: 0.4rem 1rem;
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1px;
  border-radius: 20px;
  z-index: 10;
  box-shadow: 0 2px 8px rgba(25, 118, 210, 0.3);
}

.vip-property-image {
  aspect-ratio: 16/9;
  width: 100%;
  height: 250px;
  display: block;
  object-fit: cover;
  transition: none;
}

@media (max-width: 992px) {
  .vip-property-image {
    height: 200px;
  }
}
@media (max-width: 640px) {
  .vip-property-image {
    height: 150px;
  }
}
.vip-property-details {
  padding: 1.5rem;
  display: flex;
  flex-direction: column;
  flex: 1;
}

.vip-property-title {
  font-size: 1.125rem;
  margin-bottom: 0.75rem;
  color: #1e293b;
  font-weight: 600;
  line-height: 1.3;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  min-height: 2.6em;
}

.vip-property-info {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.5rem;
  margin-bottom: 1.5rem;
}

.vip-property-info p {
  margin: 0;
  display: flex;
  align-items: center;
  color: #64748b;
  font-size: 0.875rem;
  padding: 0.5rem;
  background: #f8fafc;
  border-radius: 8px;
}

.vip-property-info i {
  margin-right: 0.5rem;
  color: #1976d2;
  width: 16px;
}

.vip-property-price {
  font-size: 1.4rem;
  font-weight: 600;
  color: #059669;
  margin-bottom: 1rem;
}
.vip-property-price i {
  margin-right: 0.3rem;
}

.vip-property-status {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.8rem;
  margin-bottom: 1.5rem;
  text-transform: uppercase;
  font-weight: 500;
  letter-spacing: 0.5px;
}
.vip-property-status i {
  font-size: 0.6rem;
}

.status-available {
  color: #059669;
}
.status-available i {
  color: #059669;
}

.status-reserved {
  color: #d97706;
}
.status-reserved i {
  color: #d97706;
}

.status-sold {
  color: #dc2626;
}
.status-sold i {
  color: #dc2626;
}

.status-auction {
  /* Neutral status color */
  color: var(--pc-text);
}
.status-auction i {
  color: var(--pc-text);
}

.status-rented {
  color: #0891b2;
}
.status-rented i {
  color: #0891b2;
}

/* Industrial Design Utilities */
.section-header {
  position: relative;
  margin-bottom: 4rem;
  text-align: left;
}
.section-header h2 {
  font-size: 2.5rem;
  font-weight: 200;
  color: #1e293b;
  margin-bottom: 0.8rem;
  position: relative;
  letter-spacing: -0.02em;
  text-align: left;
}
.section-header p {
  color: #64748b;
  font-size: 1.1rem;
  margin: 0;
  line-height: 1.6;
  max-width: 600px;
  text-align: left;
}

/* ========================================
   GLOBAL BUTTON SYSTEM (Hero-based)
   ======================================== */
/* Primary Button - Solid Blue (Main CTA) */
.btn-primary,
.btn-industrial.btn-primary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 28px;
  height: 44px;
  font-size: 15px;
  font-weight: 500;
  color: white;
  background: #1976d2;
  border: 2px solid #1976d2;
  border-radius: 50px;
  text-decoration: none;
  text-transform: none;
  letter-spacing: normal;
  transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
  box-shadow: 0 2px 12px rgba(25, 118, 210, 0.2);
  cursor: pointer;
}
.btn-primary:hover,
.btn-industrial.btn-primary:hover {
  background: #1565c0;
  border-color: #1565c0;
  color: white;
  box-shadow: 0 4px 16px rgba(25, 118, 210, 0.3);
  transform: translateY(-2px);
}
.btn-primary:active,
.btn-industrial.btn-primary:active {
  transform: translateY(0);
}
.btn-primary:focus-visible,
.btn-industrial.btn-primary:focus-visible {
  outline: 2px solid #1976d2;
  outline-offset: 2px;
}

/* Secondary Button - Outline/Ghost (Secondary CTA) */
.btn-secondary,
.btn-outline-primary,
.btn-industrial {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 28px;
  height: 44px;
  font-size: 15px;
  font-weight: 500;
  color: #1e293b;
  background: white;
  border: 2px solid #cbd5e1;
  border-radius: 50px;
  text-decoration: none;
  text-transform: none;
  letter-spacing: normal;
  transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
  box-shadow: 0 2px 12px rgba(15, 23, 42, 0.06);
  cursor: pointer;
  position: relative;
  overflow: hidden;
}
.btn-secondary::before,
.btn-outline-primary::before,
.btn-industrial::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #1976d2;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  z-index: -1; /* put the fill behind the button content to prevent covering text */
}
.btn-secondary span,
.btn-secondary i,
.btn-outline-primary span,
.btn-outline-primary i,
.btn-industrial span,
.btn-industrial i {
  position: relative;
  z-index: 1;
}
.btn-secondary:hover,
.btn-outline-primary:hover,
.btn-industrial:hover {
  border-color: #1976d2;
  color: white !important; /* ensure color is visible even if other selectors try to override */
  box-shadow: 0 4px 16px rgba(25, 118, 210, 0.25);
  transform: translateY(-2px);
}
.btn-secondary:hover::before,
.btn-outline-primary:hover::before,
.btn-industrial:hover::before {
  transform: scaleX(1);
}
.btn-secondary:active,
.btn-outline-primary:active,
.btn-industrial:active {
  transform: translateY(0);
}
.btn-secondary:focus-visible,
.btn-outline-primary:focus-visible,
.btn-industrial:focus-visible {
  outline: 2px solid #1976d2;
  outline-offset: 2px;
}

/* Hero CTA - Inherits from global primary button system */
.hero-cta {
  /* Base styles from .btn-primary */
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 32px;
  height: 48px;
  font-size: 16px;
  font-weight: 600;
  color: white;
  background: #1976d2;
  border: 2px solid #1976d2;
  border-radius: 50px;
  text-decoration: none;
  box-shadow: 0 4px 16px rgba(25, 118, 210, 0.25);
  transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
  opacity: 0;
  transform: translateY(30px);
  animation: heroFadeInUp 1s ease-out 0.9s forwards;
}
.hero-cta::before {
  display: none !important;
}
.hero-cta:hover {
  color: white;
  background: #1565c0;
  border-color: #1565c0;
  box-shadow: 0 8px 24px rgba(25, 118, 210, 0.35);
  transform: translateY(-3px);
}
.hero-cta:active {
  transform: translateY(-1px);
  box-shadow: 0 4px 16px rgba(25, 118, 210, 0.25);
}
.hero-cta:focus-visible {
  outline: 3px solid rgba(255, 255, 255, 0.8);
  outline-offset: 3px;
  box-shadow: 0 12px 35px rgba(0, 0, 0, 0.25);
}

/* Typography improvements */
.text-industrial {
  color: #1e293b;
  font-weight: 300;
}

.text-accent {
  color: #34495e;
}

.text-muted-industrial {
  color: #64748b;
}

/* Blog-specific rounding for consistency with homepage */
.blog-page {
  /* Make industrial buttons rounded inside blog pages (read more, back button) */
  /* Larger, prominent back button in sidebar */
}
.blog-page .blog-card {
  border-radius: 14px;
  overflow: hidden;
  box-shadow: 0 6px 22px rgba(11, 22, 37, 0.06);
}
.blog-page .btn-industrial {
  border-radius: 28px;
  padding: 0.6rem 1.6rem;
}
.blog-page .blog-sidebar .btn-industrial.btn-lg {
  border-radius: 28px;
  padding: 0.9rem 2.2rem;
}

/* Allow interactive hovers inside Premium section and align card behaviour with other sections */
/* Note: we intentionally keep badges visible, but allow interactive states for buttons and cards */
/* VIP cards share same hover lift and shadow as regular property cards */
.vip-property-card {
  background: white;
  border: 2px solid #e2e8f0;
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 2px 16px rgba(0, 0, 0, 0.04);
  transition: all 0.35s cubic-bezier(0.4, 0, 0.2, 1);
  position: relative;
  display: flex;
  flex-direction: column;
  height: 100%;
}
.vip-property-card:hover {
  transform: translateY(-8px);
  border-color: #1976d2;
  box-shadow: 0 12px 40px rgba(25, 118, 210, 0.15);
}

/* Badge styles */
.badge-industrial {
  display: inline-flex;
  align-items: center;
  background: linear-gradient(135deg, #1976d2 0%, #1565c0 100%);
  color: white;
  padding: 0.5rem 1rem;
  font-size: 0.8125rem;
  font-weight: 200;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  border-radius: 20px;
  box-shadow: 0 2px 8px rgba(25, 118, 210, 0.2);
  transition: all 0.3s ease;
}

.type-card:hover .badge-industrial {
  box-shadow: 0 4px 12px rgba(25, 118, 210, 0.3);
  transform: translateY(-2px);
}

/* Card hover effects */
.hover-lift {
  transition: transform 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
.hover-lift:hover {
  transform: translateY(-4px);
}

/* Geometric patterns */
.pattern-dots {
  position: relative;
}
.pattern-dots::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-image: radial-gradient(circle, rgba(25, 118, 210, 0.1) 1px, transparent 1px);
  background-size: 20px 20px;
  pointer-events: none;
}

/* Scroll-triggered animations and UX improvements */
.fade-in-up {
  opacity: 0;
  transform: translateY(30px);
  animation: fadeInUp 0.8s ease-out forwards;
}

@keyframes fadeInUp {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes float {
  0%, 100% {
    transform: rotate(45deg) translateY(0px);
  }
  50% {
    transform: rotate(45deg) translateY(-20px);
  }
}
/* Staggered animation delays for sections */
.hero-section .fade-in-up:nth-child(1) {
  animation-delay: 0.1s;
}
.hero-section .fade-in-up:nth-child(2) {
  animation-delay: 0.2s;
}
.hero-section .fade-in-up:nth-child(3) {
  animation-delay: 0.3s;
}

.property-types-section .type-card {
  opacity: 0;
  transform: translateY(20px);
  animation: fadeInUp 0.6s ease-out forwards;
}
.property-types-section .type-card:nth-child(1) {
  animation-delay: 0.1s;
}
.property-types-section .type-card:nth-child(2) {
  animation-delay: 0.2s;
}
.property-types-section .type-card:nth-child(3) {
  animation-delay: 0.3s;
}

/* Enhanced loading states */
.skeleton-loader {
  background: linear-gradient(90deg, #f0f0f0 25%, #e0e0e0 50%, #f0f0f0 75%);
  background-size: 200% 100%;
  animation: loading 1.5s infinite;
}

@keyframes loading {
  0% {
    background-position: -200% 0;
  }
  100% {
    background-position: 200% 0;
  }
}
footer {
  background: linear-gradient(135deg, #1e293b 0%, #0f172a 100%);
  color: white;
  position: relative;
}
footer::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(25, 118, 210, 0.5), transparent);
}

/* Performance optimizations */
.lazy-image {
  opacity: 0;
  transition: opacity 0.3s ease;
}
.lazy-image.loaded {
  opacity: 1;
}

/* Print styles */
@media print {
  .navbar,
  .cookie-consent,
  .btn,
  footer {
    display: none !important;
  }
  .hero-section {
    background: none !important;
    color: black !important;
  }
  .property-card {
    border: 1px solid #ccc !important;
    box-shadow: none !important;
  }
}
/* High performance animations */
@supports (backdrop-filter: blur(10px)) {
  .glass-effect {
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
    background: rgba(255, 255, 255, 0.1);
  }
}
/* Final responsive adjustments */
@media (max-width: 480px) {
  .hero-title {
    font-size: 2.2rem;
  }
  .section-header h2 {
    font-size: 1.6rem;
  }
  .property-grid {
    grid-template-columns: 1fr;
    gap: 1rem;
  }
  .contact-buttons {
    flex-direction: column;
  }
}
/* Homepage rounded design adjustments */
.hero-section + .property-types .type-card,
.featured-properties .type-card,
.latest-properties .type-card,
.property-types .type-card {
  border-radius: 14px;
  overflow: hidden;
}

/* Property cards rounding and image clipping */
.featured-properties .property-card,
.latest-properties .property-card {
  border-radius: 14px;
  overflow: hidden;
}

.featured-properties .property-card .card-img-top,
.latest-properties .property-card .card-img-top {
  height: 250px;
  width: 100%;
  display: block;
  object-fit: cover;
  border-top-left-radius: 14px;
  border-top-right-radius: 14px;
}

/* Property features small badges */
.featured-properties .property-feature,
.latest-properties .property-feature {
  border-radius: 8px;
}

/* Featured/Latest Properties - Use global button system */
.featured-properties .btn.btn-industrial,
.latest-properties .btn.btn-industrial {
  /* Already inherits from .btn-industrial global styles */
  /* border-radius: 12px (from global) */
  /* height: 44px (from global) */
  width: 100%;
  justify-content: center;
}

/* Slightly softer shadow on rounded cards */
.featured-properties .property-card,
.latest-properties .property-card,
.type-card {
  box-shadow: 0 6px 22px rgba(0, 0, 0, 0.09);
}

/* Make sure layout gaps remain consistent on mobile */
@media (max-width: 768px) {
  .featured-properties .property-card,
  .latest-properties .property-card {
    border-radius: 12px;
  }
}
/* VIP property card rounding */
.vip-property-section .vip-property-card {
  border-radius: 14px;
  overflow: hidden;
  box-shadow: 0 8px 28px rgba(0, 0, 0, 0.09);
  background: #fff;
}

.vip-property-section .vip-property-image {
  width: 100%;
  display: block;
  height: 250px;
  object-fit: cover;
  border-top-left-radius: 14px;
  border-top-right-radius: 14px;
}

.vip-property-section .vip-property-details {
  padding: 1rem 1.25rem 1.25rem;
}

.vip-property-section .btn.btn-industrial {
  /* Inherits from global .btn-industrial */
  /* border-radius: 12px, height: 44px, hover: #1976d2 */
  width: 100%;
  justify-content: center;
}

@media (max-width: 992px) {
  .vip-property-section .vip-property-image {
    height: 200px;
  }
}
/* Ensure VIP buttons always show text when filled */
.vip-property-section .btn.btn-industrial:hover,
.vip-property-section .btn.btn-industrial:focus {
  color: white !important;
}

@media (max-width: 768px) {
  .vip-property-section .vip-property-card {
    border-radius: 12px;
  }
  .vip-property-section .vip-property-image {
    height: 150px;
    border-top-left-radius: 12px;
    border-top-right-radius: 12px;
  }
}
/* ========================================
   AI Chat Offcanvas Styles
   Minimal Professional Design - matches HOME/PROPERTIES/BLOG/FAQ
   NO chat bubbles - professional advisor style
   ======================================== */
#heroAiOffcanvas {
  width: 450px;
  max-width: 100vw;
}
@media (max-width: 768px) {
  #heroAiOffcanvas {
    width: min(100vw, 430px);
  }
}
@media (max-width: 575.98px) {
  #heroAiOffcanvas {
    width: 100vw;
    height: 100dvh;
    max-width: 100vw;
    border-radius: 0;
  }
}
#heroAiOffcanvas .offcanvas-header {
  border-bottom: 1px solid #e9ecef;
  padding: 1.25rem 1.5rem;
  background: #fff;
}
@media (max-width: 575.98px) {
  #heroAiOffcanvas .offcanvas-header {
    padding: 1rem;
  }
}
#heroAiOffcanvas .offcanvas-header .offcanvas-title {
  font-size: 1.125rem;
  font-weight: 600;
  color: #212529;
}
@media (max-width: 575.98px) {
  #heroAiOffcanvas .offcanvas-header .offcanvas-title {
    font-size: 1rem;
  }
}
#heroAiOffcanvas .offcanvas-header .ai-chat-title {
  display: inline-flex;
  align-items: center;
  min-width: 0;
  gap: 0.45rem;
  margin: 0;
  line-height: 1.2;
}
#heroAiOffcanvas .offcanvas-header .ai-chat-title span:first-child {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
#heroAiOffcanvas .offcanvas-body {
  padding: 0;
  background: #f8f9fa;
  min-height: 0;
  overflow: hidden;
}

.ai-chat-status-dot {
  flex: 0 0 auto;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #ced4da;
  display: inline-block;
  transform: translateY(1px);
}
.ai-chat-status-dot.online {
  background: #1976d2;
}

#heroAiOffcanvas.show .ai-agent-status-dot.online {
  animation: aiAgentPulse 1.8s ease-in-out infinite;
}

@keyframes aiAgentPulse {
  0% {
    box-shadow: 0 0 0 0 rgba(25, 118, 210, 0.34);
  }
  70% {
    box-shadow: 0 0 0 7px rgba(25, 118, 210, 0);
  }
  100% {
    box-shadow: 0 0 0 0 rgba(25, 118, 210, 0);
  }
}
/* ==================== Messages Container ==================== */
/* Clean content area like FAQ/Blog - NO chat bubbles */
.ai-chat-messages {
  position: relative;
  min-height: 280px;
  max-height: 750px;
  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;
  white-space: pre-line;
  /* 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;
}
.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: #adb5bd;
  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;
}

.ai-property-results {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  margin-top: 0.875rem;
}

.ai-property-skeletons {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  margin-top: 0.875rem;
}

.ai-property-skeleton {
  display: grid;
  grid-template-columns: 96px minmax(0, 1fr);
  gap: 0.85rem;
  padding: 0.75rem;
  background: rgba(255, 255, 255, 0.82);
  border: 1px solid #e9ecef;
  border-radius: 8px;
  box-shadow: 0 1px 3px rgba(33, 37, 41, 0.04);
}

.ai-skeleton-body {
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-width: 0;
}

.ai-skeleton-thumb,
.ai-skeleton-line,
.ai-skeleton-pill {
  overflow: hidden;
  background: linear-gradient(90deg, rgba(233, 236, 239, 0.72), rgba(248, 249, 250, 0.95), rgba(233, 236, 239, 0.72));
  background-size: 200% 100%;
  animation: aiSkeletonPulse 1.15s ease-in-out infinite;
}

.ai-skeleton-thumb {
  aspect-ratio: 1/1;
  border-radius: 6px;
}

.ai-skeleton-line {
  height: 0.65rem;
  margin-bottom: 0.55rem;
  border-radius: 50rem;
}
.ai-skeleton-line--wide {
  width: 86%;
}
.ai-skeleton-line--medium {
  width: 68%;
}
.ai-skeleton-line--short {
  width: 48%;
}

.ai-skeleton-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
  margin-top: 0.25rem;
}

.ai-skeleton-pill {
  width: 3.2rem;
  height: 1.25rem;
  border-radius: 50rem;
}

.ai-response-reveal {
  opacity: 0;
  transform: translateY(6px);
  animation: aiResponseReveal 180ms ease-out forwards;
}

.ai-card-reveal {
  opacity: 0;
  transform: translateY(8px);
  animation: aiCardReveal 200ms ease-out forwards;
}

.ai-skeleton-exit {
  opacity: 0;
  transform: translateY(4px);
  transition: opacity 120ms ease-out, transform 120ms ease-out;
}

@keyframes aiSkeletonPulse {
  0% {
    background-position: 200% 0;
  }
  100% {
    background-position: -200% 0;
  }
}
@keyframes aiResponseReveal {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes aiCardReveal {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.ai-property-card {
  display: grid;
  grid-template-columns: 112px minmax(0, 1fr);
  gap: 0.85rem;
  padding: 0.75rem;
  background: #fff;
  border: 1px solid #e9ecef;
  border-radius: 8px;
  color: inherit;
  text-decoration: none;
  box-shadow: 0 1px 3px rgba(33, 37, 41, 0.06);
  transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}
.ai-property-card:hover, .ai-property-card:focus {
  border-color: rgba(25, 118, 210, 0.35);
  box-shadow: 0 8px 24px rgba(33, 37, 41, 0.1);
  color: inherit;
  text-decoration: none;
  transform: translateY(-1px);
}
.ai-property-card:focus-visible {
  outline: 2px solid #1976d2;
  outline-offset: 2px;
}

.ai-property-card__image {
  aspect-ratio: 1/1;
  border-radius: 6px;
  background: #e9ecef;
  overflow: hidden;
}
.ai-property-card__image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.ai-property-card__body {
  min-width: 0;
}

.ai-property-card__eyebrow {
  margin-bottom: 0.25rem;
  color: #adb5bd;
  font-size: 0.6875rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.3;
  text-transform: uppercase;
}

.ai-property-card__title {
  display: -webkit-box;
  margin: 0 0 0.35rem;
  overflow: hidden;
  color: #212529;
  font-size: 0.9375rem;
  font-weight: 700;
  line-height: 1.3;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.ai-property-card__description {
  display: -webkit-box;
  margin: 0 0 0.625rem;
  overflow: hidden;
  color: #6c757d;
  font-size: 0.8125rem;
  line-height: 1.45;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.ai-property-card__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.375rem;
}
.ai-property-card__meta span {
  max-width: 100%;
  padding: 0.25rem 0.5rem;
  overflow: hidden;
  background: #f8f9fa;
  border: 1px solid #e9ecef;
  border-radius: 50rem;
  color: #495057;
  font-size: 0.75rem;
  font-weight: 600;
  line-height: 1.2;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.ai-property-card__reason {
  margin-top: 0.625rem;
  color: #adb5bd;
  font-size: 0.75rem;
  line-height: 1.45;
}

.ai-property-card__lead-action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-top: 0.75rem;
  padding: 0.42rem 0.75rem;
  background: rgba(25, 118, 210, 0.08);
  border: 1px solid rgba(25, 118, 210, 0.18);
  border-radius: 50rem;
  color: #1976d2;
  font-size: 0.75rem;
  font-weight: 700;
  line-height: 1.2;
  cursor: pointer;
  transition: background 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}
.ai-property-card__lead-action:hover, .ai-property-card__lead-action:focus {
  background: rgba(25, 118, 210, 0.12);
  border-color: rgba(25, 118, 210, 0.32);
  transform: translateY(-1px);
}
.ai-property-card__lead-action:focus-visible {
  outline: 2px solid #1976d2;
  outline-offset: 2px;
}

.ai-lead-form-card,
.ai-lead-property-choices {
  margin-top: 0.875rem;
  padding: 0.875rem;
  background: #fff;
  border: 1px solid #e9ecef;
  border-radius: 10px;
  box-shadow: 0 4px 16px rgba(33, 37, 41, 0.07);
}

.ai-lead-form__title {
  margin: 0 0 0.35rem;
  color: #212529;
  font-size: 0.95rem;
  font-weight: 700;
}

.ai-lead-form__property {
  margin: 0 0 0.75rem;
  color: #adb5bd;
  font-size: 0.78rem;
  line-height: 1.35;
}

.ai-lead-field {
  display: block;
  margin-bottom: 0.625rem;
}
.ai-lead-field span {
  display: block;
  margin-bottom: 0.25rem;
  color: #6c757d;
  font-size: 0.75rem;
  font-weight: 700;
}

.ai-lead-input {
  width: 100%;
  padding: 0.625rem 0.7rem;
  background: #fff;
  border: 1px solid #dee2e6;
  border-radius: 8px;
  color: #212529;
  font: inherit;
  font-size: 0.875rem;
  line-height: 1.35;
}
.ai-lead-input:focus {
  border-color: #1976d2;
  box-shadow: 0 0 0 0.16rem rgba(25, 118, 210, 0.14);
  outline: none;
}

.ai-lead-honeypot {
  position: absolute;
  left: -9999px;
  width: 1px;
  height: 1px;
  opacity: 0;
  pointer-events: none;
}

.ai-lead-form__error {
  min-height: 1rem;
  margin: 0.25rem 0 0.625rem;
  color: #dc3545;
  font-size: 0.78rem;
  line-height: 1.35;
}

.ai-lead-form__actions,
.ai-lead-property-choices {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.ai-lead-submit,
.ai-lead-cancel,
.ai-lead-property-choice {
  min-height: 36px;
  padding: 0.5rem 0.85rem;
  border-radius: 50rem;
  font-size: 0.82rem;
  font-weight: 700;
  line-height: 1.2;
  cursor: pointer;
}

.ai-lead-submit {
  background: #1976d2;
  border: 1px solid #1976d2;
  color: #fff;
}
.ai-lead-submit:disabled {
  opacity: 0.65;
  cursor: wait;
}

.ai-lead-cancel,
.ai-lead-property-choice {
  background: #fff;
  border: 1px solid #dee2e6;
  color: #495057;
}

.ai-suggestion-chips {
  margin-top: 0.875rem;
}

.ai-suggestion-chip {
  min-height: 38px;
}

@media (prefers-reduced-motion: reduce) {
  .ai-response-reveal,
  .ai-card-reveal,
  .ai-agent-status-dot {
    opacity: 1;
    transform: none;
    animation: none;
  }
  .ai-skeleton-thumb,
  .ai-skeleton-line,
  .ai-skeleton-pill {
    animation: none;
  }
}
/* ==================== Input Area ==================== */
/* Clean consultation field style like FAQ search */
.ai-chat-input-wrapper {
  padding: 1rem 1.5rem;
  background: #fff;
  border-top: 1px solid #e9ecef;
}

.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;
  line-height: 1.5;
  font-family: inherit;
  resize: none;
  min-height: 48px;
  max-height: 120px;
  transition: all 0.2s ease;
  outline: none;
  overflow-y: auto;
  /* Minimal scrollbar */
  -ms-overflow-style: none;
  scrollbar-width: none;
}
.ai-chat-input::placeholder {
  color: #adb5bd;
}
.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;
}

/* Offcanvas: ensure the input stays at the bottom of the panel */
.offcanvas .offcanvas-body {
  display: flex;
  flex-direction: column;
  height: 100%;
  min-height: 0;
}

.offcanvas .ai-chat-messages {
  flex: 1 1 auto;
  min-height: 120px;
  max-height: none;
  overflow: auto;
}

.offcanvas .ai-chat-input-wrapper {
  margin-top: auto;
  padding-bottom: 1rem;
}

.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 i {
  font-size: 1rem;
}
.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: #adb5bd;
  cursor: not-allowed;
  opacity: 0.4;
}

/* Responsive adjustments */
@media (max-width: 768px) {
  .ai-chat-header {
    margin-bottom: 1rem;
  }
  .ai-chat-header h3 {
    font-size: 1rem;
  }
  .ai-chat-header i.bi-robot {
    font-size: 1.2rem;
  }
  .ai-chat-status-dot {
    width: 8px;
    height: 8px;
  }
  .ai-chat-messages {
    min-height: 220px;
    max-height: none;
    padding: 0.875rem;
  }
  .ai-chat-message {
    font-size: 0.9rem;
    padding: 0.75rem 1rem;
    max-width: 100%;
  }
  .ai-property-card {
    grid-template-columns: 88px minmax(0, 1fr);
    gap: 0.625rem;
    padding: 0.625rem;
    width: 100%;
    box-sizing: border-box;
  }
  .ai-property-skeleton {
    grid-template-columns: 88px minmax(0, 1fr);
    gap: 0.625rem;
    padding: 0.625rem;
    width: 100%;
    box-sizing: border-box;
  }
  .ai-property-card__image,
  .ai-skeleton-thumb {
    width: 88px;
    min-width: 88px;
  }
  .ai-property-card__title {
    font-size: 0.875rem;
    line-height: 1.25;
  }
  .ai-property-card__description {
    margin-bottom: 0.5rem;
    font-size: 0.78125rem;
    line-height: 1.35;
    -webkit-line-clamp: 2;
  }
  .ai-property-card__meta {
    gap: 0.25rem;
  }
  .ai-property-card__meta span {
    font-size: 0.6875rem;
  }
  .ai-suggestion-chips {
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-right: 0;
    margin-left: 0;
    padding: 0.125rem 0 0.25rem;
    overflow: visible;
  }
  .ai-suggestion-chip {
    flex: 0 1 auto;
    max-width: 100%;
    min-height: 36px;
    white-space: normal;
    text-align: left;
    line-height: 1.25;
  }
  .ai-chat-input-wrapper {
    flex: 0 0 auto;
    padding: 0.75rem 0.875rem;
    position: sticky;
    bottom: 0;
    z-index: 2;
  }
  .ai-chat-input {
    font-size: 0.9rem;
    padding: 0.75rem 0.875rem;
    min-height: 44px;
  }
  .ai-chat-send {
    min-height: 36px;
    font-size: 0.9rem;
  }
}
@media (max-width: 575.98px) {
  #heroAiOffcanvas .offcanvas-body {
    height: calc(100dvh - 65px);
  }
  .offcanvas .ai-chat-messages {
    min-height: 0;
    padding: 0.875rem;
    padding-bottom: 1rem;
  }
  .ai-chat-message {
    margin-bottom: 1rem;
  }
  .ai-chat-message.user {
    padding: 0.75rem 0.875rem;
  }
  .ai-property-results,
  .ai-property-skeletons {
    width: 100%;
    gap: 0.625rem;
  }
  .ai-chat-input-container {
    border-radius: 10px;
  }
}
@media (max-width: 360px) {
  .ai-property-card,
  .ai-property-skeleton {
    grid-template-columns: 1fr;
  }
  .ai-property-card__image,
  .ai-skeleton-thumb {
    width: 100%;
    min-width: 0;
  }
  .ai-property-card__image {
    aspect-ratio: 16/9;
  }
}
/* ========================================
   VIP CAROUSEL - MODERN DESIGN
   ======================================== */
.vip-carousel-wrapper {
  position: relative;
  overflow: hidden;
  padding: 0 0 60px;
}

.vip-carousel-track {
  display: flex;
  gap: 24px;
  transition: transform 0.7s cubic-bezier(0.4, 0, 0.2, 1);
  will-change: transform;
}
@media (max-width: 992px) {
  .vip-carousel-track {
    gap: 20px;
  }
}
@media (max-width: 640px) {
  .vip-carousel-track {
    gap: 16px;
  }
}

.vip-carousel-slide {
  flex: 0 0 calc(33.333% - 16px);
  min-width: 0;
}
@media (max-width: 992px) {
  .vip-carousel-slide {
    flex: 0 0 calc(50% - 10px);
  }
}
@media (max-width: 640px) {
  .vip-carousel-slide {
    flex: 0 0 100%;
  }
}

/* VIP Property Card - Premium Modern Design */
.vip-property-card {
  background: linear-gradient(145deg, #ffffff 0%, #fafbfc 100%);
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.06);
  transition: all 0.5s cubic-bezier(0.34, 1.56, 0.64, 1);
  position: relative;
  height: 100%;
  display: flex;
  flex-direction: column;
}
.vip-property-card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: linear-gradient(90deg, #FFD700 0%, #FFA500 50%, #FFD700 100%);
  transform: scaleX(0);
  transition: transform 0.5s ease;
}
.vip-property-card:hover {
  transform: translateY(-12px) scale(1.02);
  box-shadow: 0 20px 60px rgba(255, 215, 0, 0.25), 0 8px 30px rgba(0, 0, 0, 0.12);
}
.vip-property-card:hover::before {
  transform: scaleX(1);
}
.vip-property-card:hover .vip-property-image {
  transform: scale(1.1);
}
.vip-property-card:hover .vip-badge {
  transform: scale(1.1) rotate(5deg);
}
.vip-property-card:hover .btn-vip {
  background: linear-gradient(135deg, #FFD700 0%, #FFA500 100%);
  transform: translateX(5px);
}

.vip-card-image-wrapper {
  position: relative;
  overflow: hidden;
  height: 260px;
  background: linear-gradient(135deg, #f0f0f0 0%, #e0e0e0 100%);
}
@media (max-width: 992px) {
  .vip-card-image-wrapper {
    height: 220px;
  }
}
@media (max-width: 640px) {
  .vip-card-image-wrapper {
    height: 200px;
  }
}

.vip-property-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.6s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.vip-badge {
  position: absolute;
  top: 16px;
  right: 16px;
  background: linear-gradient(135deg, #FFD700 0%, #FFA500 100%);
  color: #1a1a1a;
  padding: 8px 16px;
  border-radius: 50px;
  font-size: 0.75rem;
  font-weight: 200;
  letter-spacing: 1px;
  text-transform: uppercase;
  display: flex;
  align-items: center;
  gap: 6px;
  box-shadow: 0 4px 15px rgba(255, 215, 0, 0.4);
  transition: all 0.3s ease;
  z-index: 100;
}
.vip-badge i {
  font-size: 0.9rem;
  animation: starPulse 2s ease-in-out infinite;
}

@keyframes starPulse {
  0%, 100% {
    transform: scale(1);
    filter: brightness(1);
  }
  50% {
    transform: scale(1.2);
    filter: brightness(1.3);
  }
}
.vip-property-details {
  padding: 24px;
  display: flex;
  flex-direction: column;
  flex-grow: 1;
}

.vip-property-title {
  font-size: 1.25rem;
  font-weight: 600;
  color: #1a1a1a;
  margin: 0 0 16px;
  line-height: 1.4;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.vip-property-info {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-bottom: 20px;
}

.info-item {
  display: flex;
  align-items: center;
  gap: 10px;
  color: #64748b;
  font-size: 0.9rem;
}
.info-item i {
  color: #1976d2;
  font-size: 1rem;
  flex-shrink: 0;
}
.info-item span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.vip-property-footer {
  margin-top: auto;
  padding-top: 20px;
  border-top: 1px solid #e2e8f0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

/* Ensure price stays on a single line and the CTA doesn't push it */
.vip-property-price {
  display: flex;
  flex-direction: column;
  gap: 4px;
  flex: 1 1 auto; /* allow price section to take remaining space */
  min-width: 0; /* enable children to truncate/ellipsis if needed */
}
.vip-property-price .price-label {
  font-size: 0.75rem;
  color: #94a3b8;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  font-weight: 600;
}
.vip-property-price .price-value {
  font-size: 1.5rem;
  font-weight: 700;
  background: #1976d2;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  white-space: nowrap; /* prevent price from breaking into two lines */
  overflow: hidden;
  text-overflow: ellipsis;
  display: inline-block;
}

/* CTA button: don't stretch, keep fixed size and visible */
.vip-property-section .btn.btn-industrial {
  flex: 0 0 auto;
  min-width: 120px; /* ensures reasonable clickable area */
  max-width: 40%;
}

/* Mobile: stack with full width button */
@media (max-width: 640px) {
  .vip-property-footer {
    flex-direction: column;
    align-items: stretch;
    gap: 12px;
  }
  .vip-property-section .btn.btn-industrial {
    width: 100%;
    max-width: 100%;
  }
}
.btn-vip {
  background: linear-gradient(135deg, #1a1a1a 0%, #2d2d2d 100%);
  color: white;
  padding: 12px 24px;
  border-radius: 50px;
  font-size: 0.9rem;
  font-weight: 600;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  border: none;
  white-space: nowrap;
}
.btn-vip i {
  font-size: 1rem;
  transition: transform 0.3s ease;
}
.btn-vip:hover {
  color: white;
}
.btn-vip:hover i {
  transform: translateX(3px);
}

/* Pagination Dots - Modern Elegant Design */
.vip-carousel-dots {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 12px;
  margin-top: 40px;
  padding: 16px 0;
}

.vip-dot {
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: #cbd5e1;
  border: none;
  padding: 0;
  cursor: pointer;
  transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
  position: relative;
}
.vip-dot::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) scale(0);
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: rgba(255, 215, 0, 0.2);
  transition: transform 0.3s ease;
}
.vip-dot:hover {
  background: #94a3b8;
  transform: scale(1.2);
}
.vip-dot:hover::after {
  transform: translate(-50%, -50%) scale(1);
}
.vip-dot.active {
  width: 40px;
  border-radius: 6px;
  background: #1976d2;
  box-shadow: 0 4px 12px rgba(255, 215, 0, 0.4);
}
.vip-dot:focus-visible {
  outline: 2px solid #FFD700;
  outline-offset: 3px;
}

/* Responsive Adjustments */
@media (max-width: 992px) {
  .vip-property-title {
    font-size: 1.1rem;
  }
  .vip-property-price .price-value {
    font-size: 1.3rem;
  }
  .btn-vip {
    padding: 10px 20px;
    font-size: 0.85rem;
  }
}
@media (max-width: 640px) {
  .vip-carousel-wrapper {
    padding: 0 0 50px;
  }
  .vip-property-details {
    padding: 20px;
  }
  .vip-property-title {
    font-size: 1rem;
    margin-bottom: 12px;
  }
  .info-item {
    font-size: 0.85rem;
  }
  .vip-property-footer {
    flex-direction: column;
    align-items: stretch;
    gap: 12px;
  }
  .btn-vip {
    width: 100%;
    justify-content: center;
  }
  .vip-carousel-dots {
    gap: 10px;
    margin-top: 30px;
  }
  .vip-dot {
    width: 10px;
    height: 10px;
  }
  .vip-dot.active {
    width: 32px;
  }
}
.home-explore {
  background: linear-gradient(180deg, #f8f9fb 0%, #f1f3f7 100%);
  padding: 64px 0;
  border-top: 1px solid rgba(0, 0, 0, 0.06);
  position: relative;
}
@media (max-width: 768px) {
  .home-explore {
    padding: 48px 0;
  }
}
.home-explore .container {
  max-width: 1140px;
  margin: 0 auto;
  padding: 0 15px;
}

.home-explore__header {
  margin-bottom: 48px;
  max-width: 640px;
}
@media (max-width: 768px) {
  .home-explore__header {
    margin-bottom: 36px;
  }
}

.home-explore__title {
  font-size: 32px;
  font-weight: 200;
  color: #1e293b;
  margin-bottom: 12px;
  letter-spacing: -0.02em;
}
@media (max-width: 768px) {
  .home-explore__title {
    font-size: 26px;
  }
}

.home-explore__subtitle {
  font-size: 16px;
  color: #64748b;
  line-height: 1.6;
  margin: 0;
}
@media (max-width: 768px) {
  .home-explore__subtitle {
    font-size: 15px;
  }
}

.home-explore__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  margin-bottom: 40px;
}
@media (max-width: 992px) {
  .home-explore__grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 576px) {
  .home-explore__grid {
    grid-template-columns: 1fr;
  }
}

.home-explore__item {
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding: 20px 22px;
  background: #ffffff;
  border: 1px solid rgba(16, 24, 40, 0.06);
  border-radius: 14px;
  text-decoration: none;
  transition: box-shadow 0.18s ease, transform 0.18s ease;
  position: relative;
}
.home-explore__item:hover {
  background: #ffffff;
  border-color: rgba(16, 24, 40, 0.08);
  box-shadow: 0 6px 20px rgba(16, 24, 40, 0.04);
  transform: translateY(-2px);
}
.home-explore__item:hover .home-explore__item-title {
  color: #0f172a;
  /* keep no underline for parity with original */
}
.home-explore__item:hover .home-explore__item-arrow {
  /* keep static position; only increase visibility */
  opacity: 0.9;
}
.home-explore__item:focus {
  outline: none;
  box-shadow: 0 0 0 4px rgba(16, 24, 40, 0.03);
}
.home-explore__item:active {
  transform: translateY(0);
}

.home-explore__item-title {
  font-size: 15px;
  font-weight: 200;
  color: #1e293b;
  transition: all 0.2s ease;
}

.home-explore__item-desc {
  font-size: 14px;
  color: #64748b;
  line-height: 1.5;
}

.home-explore__item-arrow {
  position: absolute;
  right: 20px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 16px;
  color: #94a3b8;
  opacity: 0.6;
  transition: opacity 0.12s ease;
  pointer-events: none;
}

/* Prevent hover on parent from moving/animating the arrow */
.home-explore__item:hover .home-explore__item-arrow,
.home-explore__item:focus-within .home-explore__item-arrow {
  transform: translateY(-50%) !important;
  opacity: 0.9 !important;
  transition: opacity 0.12s ease !important;
}

.home-explore__cta {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  flex-wrap: wrap;
  padding-top: 24px;
  border-top: 1px solid rgba(0, 0, 0, 0.06);
  margin-top: 16px;
}
@media (max-width: 576px) {
  .home-explore__cta {
    flex-direction: column;
    gap: 12px;
    text-align: center;
  }
}

.home-explore__cta-text {
  font-size: 15px;
  color: #475569;
}
@media (max-width: 576px) {
  .home-explore__cta-text {
    width: 100%;
  }
}

.home-explore__cta-link {
  font-size: 0.9375rem;
  font-weight: 500;
  color: #1976d2;
  text-decoration: none;
  transition: all 0.2s ease;
}
.home-explore__cta-link:hover {
  color: #2563eb;
  text-decoration: underline;
  text-decoration-thickness: 2px;
  text-underline-offset: 3px;
}
.home-explore__cta-link:focus {
  outline: 2px solid #1976d2;
  outline-offset: 2px;
  border-radius: 4px;
}

.home-explore__cta-sep {
  color: #cbd5e1;
  font-size: 18px;
  margin: 0 4px;
}
@media (max-width: 576px) {
  .home-explore__cta-sep {
    display: none;
  }
}

/* ========================================================================
   DISABLE ALL HOVER EFFECTS IN FEATURED/LATEST/CTA SECTIONS
   ======================================================================== */
/* Force overflow hidden to prevent image expansion outside card boundaries */
.featured-properties .property-card,
.latest-properties .property-card,
.cta-section .property-card,
.featured-properties .hover-lift,
.latest-properties .hover-lift,
.cta-section .hover-lift {
  overflow: hidden !important;
  transition: none !important;
}

/* Disable hover-lift card movement */
.featured-properties .property-card:hover,
.latest-properties .property-card:hover,
.cta-section .property-card:hover,
.featured-properties .hover-lift:hover,
.latest-properties .hover-lift:hover,
.cta-section .hover-lift:hover {
  transform: none !important;
  border-color: #e2e8f0;
  box-shadow: 0 2px 16px rgba(0, 0, 0, 0.04);
}

/* Disable image scale/zoom effect */
.featured-properties .property-card:hover .property-image,
.featured-properties .property-card:hover .card-img-top,
.latest-properties .property-card:hover .property-image,
.latest-properties .property-card:hover .card-img-top,
.cta-section .property-card:hover .property-image,
.cta-section .property-card:hover .card-img-top {
  transform: none !important;
}

/* Ensure button text stays white on hover (allow normal hover animation) */
.featured-properties .btn.btn-industrial:hover,
.latest-properties .btn.btn-industrial:hover,
.cta-section .btn.btn-industrial:hover {
  color: white !important;
}

/* Ensure button text and icon stay white on hover */
.featured-properties .btn.btn-industrial:hover span,
.featured-properties .btn.btn-industrial:hover i,
.latest-properties .btn.btn-industrial:hover span,
.latest-properties .btn.btn-industrial:hover i,
.cta-section .btn.btn-industrial:hover span,
.cta-section .btn.btn-industrial:hover i {
  color: white !important;
}

/* Additional defensive rules to prevent horizontal overflow / visual artifacts */
.featured-properties,
.latest-properties,
.featured-properties .property-carousel,
.latest-properties .property-carousel,
.featured-properties .property-carousel-track,
.latest-properties .property-carousel-track {
  overflow-x: hidden !important;
}

.property-carousel-item,
.property-card,
.property-card .card-img-top,
.property-card .property-image {
  min-width: 0 !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

/*# sourceMappingURL=data:application/json;charset=utf-8;base64,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O0VBakJNO0lBQ0k7SUFDQTtFQW1CVjtFQWhCTTtJQUNJO0VBa0JWO0VBZk07SUFDSTtFQWlCVjtBQUNGO0FBYkE7QUFDQTtFQUNJO0VBQ0E7RUFDQTtBQWVKO0FBYkk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0FBY1I7QUFiUTtFQUVJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQWNaO0FBVkk7RUExQko7SUEyQlE7SUFDQTtFQWFOO0VBWE07SUFDSTtFQWFWO0FBQ0Y7O0FBVEE7QUFDQTtFQUNJO0lBQ0k7SUFDQTtJQUNBO0VBWU47RUFWTTtJQUNJO0VBWVY7RUFUTTtJQUNJO0VBV1Y7RUFSTTtJQUNJO0VBVVY7RUFSVTtJQUNJO0lBQ0E7RUFVZDtBQUNGO0FBTEE7RUFDSTtJQUNJO0lBQ0E7SUFDQTtFQU9OO0VBTE07SUFDSTtFQU9WO0VBSk07SUFDSTtFQU1WO0VBSE07SUFDSTtJQUNBO0VBS1Y7RUFGTTtJQUNJO0VBSVY7QUFDRjtBQUFBO0FBQ0E7O0VBRUk7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FBRUo7O0FBQ0E7QUFDQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBNENBO0FBekNKO0FBREk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUFHUjtBQURRO0VBQ0k7QUFHWjtBQUNJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FBQ1I7QUFDUTtFQVJKO0lBU1E7RUFFVjtBQUNGO0FBQVE7RUFaSjtJQWFRO0VBR1Y7QUFDRjtBQUFJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQUVSO0FBQVE7RUFQSjtJQVFRO0VBR1Y7QUFDRjtBQUNJO0VBakRKO0lBa0RRO0VBRU47RUFBTTtJQUNJO0lBQ0E7RUFFVjtBQUNGOztBQUVBO0FBQ0E7RUFDSTtFQUNBO0FBQ0o7QUFDSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUFDUjtBQUNRO0VBQ0k7RUFDQTtFQUNBO0FBQ1o7QUFHSTtFQUNJ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STtBQTlNSjs7QUFpTkE7Ozs7RUFJSTtFQUNBO0VBQ0E7QUE5TUosQyIsInNvdXJjZXMiOlsid2VicGFjazovL3Byb3BlbGlhLy4vYXNzZXRzL3N0eWxlcy9ob21lLnNjc3MiLCJ3ZWJwYWNrOi8vcHJvcGVsaWEvLi9hc3NldHMvc3R5bGVzL2NvbXBvbmVudHMvX3NtYXJ0LWxpbmtzLnNjc3MiLCJ3ZWJwYWNrOi8vcHJvcGVsaWEvLi9hc3NldHMvc3R5bGVzL2NvbXBvbmVudHMvX2hvbWUtdG9rZW5zLnNjc3MiLCJ3ZWJwYWNrOi8vcHJvcGVsaWEvLi9hc3NldHMvc3R5bGVzL192YXJpYWJsZXMuc2NzcyJdLCJzb3VyY2VzQ29udGVudCI6WyJAY2hhcnNldCBcIlVURi04XCI7XG4uc21hcnQtbGlua3Mtc2VjdGlvbiB7XG4gIHBhZGRpbmc6IDZyZW0gMDtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgI2ZmZmZmZiAwJSwgI2Y4ZmFmYyAxMDAlKTtcbn1cbi5zbWFydC1saW5rcy1zZWN0aW9uIC5zZWN0aW9uLWhlYWRlciB7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIG1hcmdpbi1ib3R0b206IDZyZW07XG59XG4uc21hcnQtbGlua3Mtc2VjdGlvbiAuc2VjdGlvbi1oZWFkZXIgaDIge1xuICBmb250LXNpemU6IDJyZW07XG4gIGZvbnQtd2VpZ2h0OiAyMDA7XG4gIGNvbG9yOiAjMWUyOTNiO1xuICBtYXJnaW4tYm90dG9tOiAwLjc1cmVtO1xuICBtYXJnaW4tbGVmdDogMDtcbn1cbi5zbWFydC1saW5rcy1zZWN0aW9uIC5zZWN0aW9uLWhlYWRlciAubGVhZCB7XG4gIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gIGNvbG9yOiAjNjQ3NDhiO1xuICBtYXgtd2lkdGg6IDcwMHB4O1xuICBtYXJnaW46IDA7XG4gIG1hcmdpbi1sZWZ0OiAwO1xufVxuXG4uc21hcnQtbGluay1jYXJkIHtcbiAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgYm9yZGVyOiAxcHggc29saWQgI2UyZThmMDtcbiAgYm9yZGVyLXJhZGl1czogMTZweDtcbiAgYm94LXNoYWRvdzogMCAycHggOHB4IHJnYmEoMCwgMCwgMCwgMC4wNCksIDAgMXB4IDJweCByZ2JhKDAsIDAsIDAsIDAuMDIpO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIsIDEpO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIHBhZGRpbmc6IDNyZW0gMnJlbTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBjb2xvcjogaW5oZXJpdDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuLnNtYXJ0LWxpbmstY2FyZDpob3ZlciB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNHB4KTtcbiAgYm94LXNoYWRvdzogMCA4cHggMjRweCByZ2JhKDAsIDAsIDAsIDAuMSksIDAgNHB4IDhweCByZ2JhKDAsIDAsIDAsIDAuMDUpO1xuICBib3JkZXItY29sb3I6ICNjYmQ1ZTE7XG59XG4uc21hcnQtbGluay1jYXJkOmZvY3VzIHtcbiAgb3V0bGluZTogbm9uZTtcbiAgYm94LXNoYWRvdzogMCAwIDAgM3B4IHJnYmEoMjUsIDExOCwgMjEwLCAwLjI1KTtcbiAgYm9yZGVyLWNvbG9yOiAjMTk3NmQyO1xufVxuLnNtYXJ0LWxpbmstY2FyZDpmb2N1cy12aXNpYmxlIHtcbiAgb3V0bGluZTogMnB4IHNvbGlkICMxOTc2ZDI7XG4gIG91dGxpbmUtb2Zmc2V0OiAycHg7XG59XG4uc21hcnQtbGluay1jYXJkOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgcmdiYSgyNSwgMTE4LCAyMTAsIDAuMDIpIDAlLCByZ2JhKDI1LCAxMTgsIDIxMCwgMC4wNSkgMTAwJSk7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIsIDEpO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cbi5zbWFydC1saW5rLWNhcmQ6aG92ZXIge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTRweCk7XG4gIGJveC1zaGFkb3c6IDAgMTJweCA0MHB4IHJnYmEoMjUsIDExOCwgMjEwLCAwLjE1KSwgMCA0cHggOHB4IHJnYmEoMjUsIDExOCwgMjEwLCAwLjA4KTtcbiAgYm9yZGVyLWNvbG9yOiAjMTk3NmQyO1xufVxuLnNtYXJ0LWxpbmstY2FyZDpob3Zlcjo6YmVmb3JlIHtcbiAgb3BhY2l0eTogMTtcbn1cbi5zbWFydC1saW5rLWNhcmQ6aG92ZXIgLnNtYXJ0LWxpbmstaWNvbi1pbmxpbmUge1xuICBjb2xvcjogIzE5NzZkMjtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLjEpO1xufVxuLnNtYXJ0LWxpbmstY2FyZDpob3ZlciAuc21hcnQtbGluay1jdGEge1xuICBjb2xvcjogIzE5NzZkMjtcbn1cbi5zbWFydC1saW5rLWNhcmQ6aG92ZXIgLnNtYXJ0LWxpbmstY3RhIGkge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNHB4KTtcbn1cbi5zbWFydC1saW5rLWNhcmQ6Zm9jdXMge1xuICBvdXRsaW5lOiBub25lO1xuICBib3gtc2hhZG93OiAwIDAgMCAzcHggcmdiYSgyNSwgMTE4LCAyMTAsIDAuMjUpO1xuICBib3JkZXItY29sb3I6ICMxOTc2ZDI7XG59XG4uc21hcnQtbGluay1jYXJkOmZvY3VzLXZpc2libGUge1xuICBvdXRsaW5lOiAycHggc29saWQgIzE5NzZkMjtcbiAgb3V0bGluZS1vZmZzZXQ6IDJweDtcbn1cblxuLnNtYXJ0LWxpbmstaWNvbiB7XG4gIHdpZHRoOiA1NnB4O1xuICBoZWlnaHQ6IDU2cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCAjZTNmMmZkIDAlLCAjYmJkZWZiIDEwMCUpO1xuICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIsIDEpO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDE7XG59XG4uc21hcnQtbGluay1pY29uIGkge1xuICBmb250LXNpemU6IDEuNzVyZW07XG4gIGNvbG9yOiAjMTk3NmQyO1xuICB0cmFuc2l0aW9uOiBjb2xvciAwLjNzIGVhc2U7XG59XG5cbi5zbWFydC1saW5rLXRpdGxlIHtcbiAgZm9udC1zaXplOiAxLjI1cmVtO1xuICBmb250LXdlaWdodDogMjAwO1xuICBjb2xvcjogIzFlMjkzYjtcbiAgbWFyZ2luLWJvdHRvbTogMC43NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDAuNXJlbTtcbn1cblxuLnNtYXJ0LWxpbmstaWNvbi1pbmxpbmUge1xuICBmb250LXNpemU6IDEuMTI1cmVtO1xuICBjb2xvcjogIzY0NzQ4YjtcbiAgdHJhbnNpdGlvbjogYWxsIDAuM3MgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKTtcbiAgZmxleC1zaHJpbms6IDA7XG59XG5cbi5zbWFydC1saW5rLWRlc2NyaXB0aW9uIHtcbiAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gIGNvbG9yOiAjNjQ3NDhiO1xuICBsaW5lLWhlaWdodDogMS42O1xuICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtO1xuICBmbGV4LWdyb3c6IDE7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMTtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbn1cblxuLnNtYXJ0LWxpbmstY3RhIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiAwLjVyZW07XG4gIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICBmb250LXdlaWdodDogNjAwO1xuICBjb2xvcjogIzFlMjkzYjtcbiAgdHJhbnNpdGlvbjogY29sb3IgMC4zcyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIsIDEpO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDE7XG59XG4uc21hcnQtbGluay1jdGEgaSB7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3MgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKTtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDk5MXB4KSB7XG4gIC5zbWFydC1saW5rcy1zZWN0aW9uIHtcbiAgICBwYWRkaW5nOiAzcmVtIDA7XG4gIH1cbiAgLnNtYXJ0LWxpbmtzLXNlY3Rpb24gLnNlY3Rpb24taGVhZGVyIHtcbiAgICBtYXJnaW4tYm90dG9tOiAycmVtO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAvKiBrZWVwIGNlbnRlcmVkIG9uIHRhYmxldCBhbmQgYmVsb3cgKi9cbiAgfVxuICAuc21hcnQtbGlua3Mtc2VjdGlvbiAuc2VjdGlvbi1oZWFkZXIgaDIge1xuICAgIGZvbnQtc2l6ZTogMS43NXJlbTtcbiAgfVxuICAuc21hcnQtbGlua3Mtc2VjdGlvbiAuc2VjdGlvbi1oZWFkZXIgLmxlYWQge1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICAvKiBjZW50ZXIgdGhlIHNtYWxsZXIgc3VidGl0bGUgb24gc21hbGwgc2NyZWVucyAqL1xuICB9XG4gIC5zbWFydC1saW5rLWNhcmQge1xuICAgIHBhZGRpbmc6IDEuNXJlbSAxLjI1cmVtO1xuICB9XG59XG5AbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLnNtYXJ0LWxpbmtzLXNlY3Rpb24ge1xuICAgIHBhZGRpbmc6IDIuNXJlbSAwO1xuICB9XG4gIC5zbWFydC1saW5rcy1zZWN0aW9uIC5zZWN0aW9uLWhlYWRlciBoMiB7XG4gICAgZm9udC1zaXplOiAxLjVyZW07XG4gIH1cbiAgLnNtYXJ0LWxpbmstY2FyZCB7XG4gICAgcGFkZGluZzogMS41cmVtO1xuICB9XG4gIC5zbWFydC1saW5rLWljb24ge1xuICAgIHdpZHRoOiA0OHB4O1xuICAgIGhlaWdodDogNDhweDtcbiAgfVxuICAuc21hcnQtbGluay1pY29uIGkge1xuICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICB9XG4gIC5zbWFydC1saW5rLXRpdGxlIHtcbiAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICB9XG59XG4uaGVyby1zZWN0aW9uIHtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgI0Y0RjdGQiAwJSwgI0VBRjBGOCAxMDAlKTtcbiAgcGFkZGluZzogODBweCAwIDgwcHg7XG4gIC8qIFJlbW92ZSBleHBsaWNpdCB0b3AgbWFyZ2luIOKAlCByZWx5IG9uIGdsb2JhbCBgbWFpbiB7IHBhZGRpbmctdG9wIH1gIGZvciBoZWFkZXIgb2Zmc2V0ICovXG4gIG1hcmdpbi10b3A6IDA7XG4gIG1pbi1oZWlnaHQ6IDcwdmg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGNvbG9yOiAjMWUyOTNiO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIC8qIEV1cm9zdGF0IG1pbmktY2hhcnQgYmxvY2sgKi9cbn1cbi5oZXJvLXNlY3Rpb246OmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBpbnNldDogMDtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vLi4vcHVibGljL2ltYWdlcy9tb2Rlcm4tYnVpbGRpbmcucG5nXCIpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCAxMCUgY2VudGVyO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNsYW1wKDEwMDBweCwgNjJ2dywgMTUwMHB4KSBhdXRvO1xuICBmaWx0ZXI6IHNhdHVyYXRlKDAuOTgpIGNvbnRyYXN0KDAuOTgpIGJyaWdodG5lc3MoMS4wMyk7XG4gIG9wYWNpdHk6IDAuNzg7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB6LWluZGV4OiAxO1xuICAvKiBGYWRlINC10YTQtdC60YIg0L3QsCDQtNGP0YHQvdCw0YLQsCDQs9GA0LDQvdC40YbQsCAqL1xuICBtYXNrLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gbGVmdCwgcmdiYSgwLCAwLCAwLCAwKSAwJSwgcmdiYSgwLCAwLCAwLCAwLjMpIDIlLCByZ2IoMCwgMCwgMCkgOCUpO1xuICAtd2Via2l0LW1hc2staW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBsZWZ0LCByZ2JhKDAsIDAsIDAsIDApIDAlLCByZ2JhKDAsIDAsIDAsIDAuMykgMiUsIHJnYigwLCAwLCAwKSA4JSk7XG59XG4uaGVyby1zZWN0aW9uOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGluc2V0OiAwO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoOTBkZWcsIHJnYmEoMjM4LCAyNDMsIDI0OCwgMCkgMCUsIHJnYmEoMjM4LCAyNDMsIDI0OCwgMCkgNzQlLCByZ2JhKDIzOCwgMjQzLCAyNDgsIDAuMzUpIDgyJSwgcmdiYSgyMzgsIDI0MywgMjQ4LCAwLjc4KSA5MiUsIHJnYigyMzgsIDI0MywgMjQ4KSAxMDAlKSwgbGluZWFyLWdyYWRpZW50KDkwZGVnLCByZ2IoMjM4LCAyNDMsIDI0OCkgMCUsIHJnYigyMzgsIDI0MywgMjQ4KSAzNiUsIHJnYmEoMjM4LCAyNDMsIDI0OCwgMC44OCkgNTIlLCByZ2JhKDIzOCwgMjQzLCAyNDgsIDAuNDUpIDY1JSwgcmdiYSgyMzgsIDI0MywgMjQ4LCAwLjA4KSA3OCUsIHJnYmEoMjM4LCAyNDMsIDI0OCwgMCkgOTIlKSwgcmFkaWFsLWdyYWRpZW50KDcwJSA2MCUgYXQgNzUlIDM1JSwgcmdiYSgwLCAwLCAwLCAwLjA1KSAwJSwgcmdiYSgwLCAwLCAwLCAwKSA2MCUpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0LCBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogMTAwJSAxMDAlLCAxMDAlIDEwMCU7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXIsIGNlbnRlciBjZW50ZXI7XG4gIHotaW5kZXg6IDI7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuLmhlcm8tc2VjdGlvbiAuaGVyby1pbm5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMztcbn1cbi5oZXJvLXNlY3Rpb24gLmhlcm8tbGF5b3V0LTJjb2wge1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxLjJmcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiA2NHB4O1xufVxuLmhlcm8tc2VjdGlvbiAuaGVyby1jb250ZW50LWJsb2NrIHtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgbWF4LXdpZHRoOiAxMDAlO1xufVxuLmhlcm8tc2VjdGlvbiAuaGVyby1ldXJvc3RhdCB7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgbWFyZ2luOiAycmVtIDAgMDtcbiAgcGFkZGluZzogMS41cmVtIDAgMXJlbTtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogbm9uZTtcbiAgYm94LXNoYWRvdzogbm9uZTtcbn1cbi5oZXJvLXNlY3Rpb24gLmhlcm8tZXVyb3N0YXQtaGVhZGVyIHtcbiAgZm9udC1zaXplOiAxLjFyZW07XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOSk7XG4gIGxldHRlci1zcGFjaW5nOiAwLjNweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBtYXJnaW4tYm90dG9tOiAxLjVyZW07XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG59XG4uaGVyby1zZWN0aW9uIC5oZXJvLWV1cm9zdGF0LWNhbnZhcy13cmFwcGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDI1MHB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDMpO1xuICBib3JkZXItcmFkaXVzOiA4cHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xKTtcbiAgYmFja2Ryb3AtZmlsdGVyOiBibHVyKDEwcHgpO1xuICBwYWRkaW5nOiAxcmVtO1xufVxuLmhlcm8tc2VjdGlvbiAuaGVyby1ldXJvc3RhdC1jYW52YXMtd3JhcHBlciBjYW52YXMge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMXJlbTtcbiAgbGVmdDogMXJlbTtcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDJyZW0pICFpbXBvcnRhbnQ7XG4gIGhlaWdodDogY2FsYygxMDAlIC0gMnJlbSkgIWltcG9ydGFudDtcbn1cbi5oZXJvLXNlY3Rpb24gLmhlcm8tc291cmNlLW5vdGUge1xuICBmb250LXNpemU6IDAuODVyZW07XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNyk7XG4gIG1hcmdpbi10b3A6IDFyZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuaHRtbFtkaXI9cnRsXSAuaGVyby1zZWN0aW9uOjphZnRlciB7XG4gIGluc2V0OiAwIGF1dG8gMCAwO1xuICB3aWR0aDogbWluKDcydncsIDEyMDBweCk7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGxlZnQgLTRyZW0gY2VudGVyO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNsYW1wKDExNTBweCwgNzZ2dywgMTcwMHB4KSBhdXRvO1xuICB0cmFuc2Zvcm06IHNjYWxlWCgtMSk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgb3BhY2l0eTogMC45O1xuICBtYXNrLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsIHJnYmEoMCwgMCwgMCwgMCkgMCUsIHJnYmEoMCwgMCwgMCwgMC4xMikgMyUsIHJnYmEoMCwgMCwgMCwgMC45MikgMTQlLCByZ2IoMCwgMCwgMCkgMTAwJSk7XG4gIC13ZWJraXQtbWFzay1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCByZ2JhKDAsIDAsIDAsIDApIDAlLCByZ2JhKDAsIDAsIDAsIDAuMTIpIDMlLCByZ2JhKDAsIDAsIDAsIDAuOTIpIDE0JSwgcmdiKDAsIDAsIDApIDEwMCUpO1xufVxuXG5odG1sW2Rpcj1ydGxdIC5oZXJvLXNlY3Rpb246OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgyNzBkZWcsIHJnYmEoMjM4LCAyNDMsIDI0OCwgMCkgMCUsIHJnYmEoMjM4LCAyNDMsIDI0OCwgMCkgNTglLCByZ2JhKDIzOCwgMjQzLCAyNDgsIDAuMTIpIDcwJSwgcmdiYSgyMzgsIDI0MywgMjQ4LCAwLjQyKSA4MiUsIHJnYmEoMjM4LCAyNDMsIDI0OCwgMC44MikgOTIlLCByZ2IoMjM4LCAyNDMsIDI0OCkgMTAwJSksIGxpbmVhci1ncmFkaWVudCgyNzBkZWcsIHJnYigyMzgsIDI0MywgMjQ4KSAwJSwgcmdiYSgyMzgsIDI0MywgMjQ4LCAwLjk2KSAyMiUsIHJnYmEoMjM4LCAyNDMsIDI0OCwgMC43KSAzOCUsIHJnYmEoMjM4LCAyNDMsIDI0OCwgMC4yNikgNTQlLCByZ2JhKDIzOCwgMjQzLCAyNDgsIDAuMDQpIDY2JSwgcmdiYSgyMzgsIDI0MywgMjQ4LCAwKSA4MCUpLCByYWRpYWwtZ3JhZGllbnQoNzglIDY4JSBhdCAyMiUgNDAlLCByZ2JhKDAsIDAsIDAsIDAuMDM1KSAwJSwgcmdiYSgwLCAwLCAwLCAwKSA1OCUpO1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogOTkxLjk4cHgpIHtcbiAgLmhlcm8tc2VjdGlvbiB7XG4gICAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctdG9wOiA0OHB4ICFpbXBvcnRhbnQ7XG4gICAgbWluLWhlaWdodDogYXV0bztcbiAgfVxufVxuLyogTWFnaWMgTW91c2UgU2Nyb2xsIEluZGljYXRvciAqL1xuLnNjcm9sbC1pbmRpY2F0b3Ige1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogMi41cmVtO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgei1pbmRleDogMTA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0cmFuc2l0aW9uOiBhbGwgMC40cyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIsIDEpO1xufVxuLnNjcm9sbC1pbmRpY2F0b3I6aG92ZXIge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgdHJhbnNsYXRlWSgtOHB4KSBzY2FsZSgxLjEpO1xufVxuLnNjcm9sbC1pbmRpY2F0b3I6aG92ZXIgLnNjcm9sbC10ZXh0IHtcbiAgb3BhY2l0eTogMTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xufVxuLnNjcm9sbC1pbmRpY2F0b3I6aG92ZXIgLm1hZ2ljLW1vdXNlIHtcbiAgYm94LXNoYWRvdzogMCAyMHB4IDQwcHggcmdiYSgwLCAwLCAwLCAwLjQpO1xufVxuLnNjcm9sbC1pbmRpY2F0b3I6aG92ZXIgLm1hZ2ljLW1vdXNlOjpiZWZvcmUge1xuICBvcGFjaXR5OiAxO1xuICBhbmltYXRpb24tZHVyYXRpb246IDEuMnM7XG59XG4uc2Nyb2xsLWluZGljYXRvciAuc2Nyb2xsLXRleHQge1xuICBmb250LXNpemU6IDAuNzVyZW07XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNyk7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGxldHRlci1zcGFjaW5nOiAycHg7XG4gIG1hcmdpbi1ib3R0b206IDEuNXJlbTtcbiAgb3BhY2l0eTogMC42O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTBweCk7XG4gIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7XG59XG4uc2Nyb2xsLWluZGljYXRvciAubWFnaWMtbW91c2Uge1xuICB3aWR0aDogMjhweDtcbiAgaGVpZ2h0OiA0OHB4O1xuICBib3JkZXI6IDJweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNCk7XG4gIGJvcmRlci1yYWRpdXM6IDIwcHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wNSk7XG4gIGJhY2tkcm9wLWZpbHRlcjogYmx1cigxMHB4KTtcbiAgYm94LXNoYWRvdzogMCA4cHggMjVweCByZ2JhKDAsIDAsIDAsIDAuMik7XG4gIHRyYW5zaXRpb246IGFsbCAwLjRzIGVhc2U7XG59XG4uc2Nyb2xsLWluZGljYXRvciAubWFnaWMtbW91c2U6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA4cHg7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICB3aWR0aDogM3B4O1xuICBoZWlnaHQ6IDhweDtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjgpO1xuICBib3JkZXItcmFkaXVzOiAycHg7XG4gIG9wYWNpdHk6IDAuNztcbiAgYW5pbWF0aW9uOiBtb3VzZVNjcm9sbCAycyBpbmZpbml0ZSBlYXNlLWluLW91dDtcbn1cbi5zY3JvbGwtaW5kaWNhdG9yIC5tYWdpYy1tb3VzZTo6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogLTE1cHg7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICB3aWR0aDogMXB4O1xuICBoZWlnaHQ6IDEycHg7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC42KSwgdHJhbnNwYXJlbnQpO1xuICBhbmltYXRpb246IHNjcm9sbExpbmUgMnMgaW5maW5pdGUgZWFzZS1pbi1vdXQ7XG59XG5cbkBrZXlmcmFtZXMgbW91c2VTY3JvbGwge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMC43O1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVZKDApO1xuICB9XG4gIDUwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgdHJhbnNsYXRlWSgxMnB4KTtcbiAgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwLjM7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHRyYW5zbGF0ZVkoMjBweCk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgc2Nyb2xsTGluZSB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIGhlaWdodDogOHB4O1xuICB9XG4gIDUwJSB7XG4gICAgb3BhY2l0eTogMC44O1xuICAgIGhlaWdodDogMTVweDtcbiAgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIGhlaWdodDogMjBweDtcbiAgfVxufVxuQGtleWZyYW1lcyBoZXJvRmFkZUluVXAge1xuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gIH1cbn1cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEhlcm8gTGVmdCBDb2x1bW5cbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5oZXJvLWxlZnQge1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBtYXgtd2lkdGg6IDU2MHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIC8qINCk0LjQvSBvdmVybGF5INC30LAg0L/QvtC00L7QsdGA0Y/QstCw0L3QtSDQvdCwINC60L7QvdGC0YDQsNGB0YLQsCDQvdCwINGC0LXQutGB0YLQsCAqL1xufVxuLmhlcm8tbGVmdDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IC0zMnB4O1xuICBsZWZ0OiAtMzJweDtcbiAgcmlnaHQ6IC0zMnB4O1xuICBib3R0b206IC0zMnB4O1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTIwZGVnLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuODUpIDAlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNjUpIDQwJSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjM1KSA3MCUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMCkgMTAwJSk7XG4gIGJvcmRlci1yYWRpdXM6IDI0cHg7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB6LWluZGV4OiAtMTtcbiAgYmFja2Ryb3AtZmlsdGVyOiBibHVyKDhweCk7XG59XG5cbi5oZXJvLXRpdGxlIHtcbiAgZm9udC1zaXplOiBjbGFtcCgzMnB4LCAzLjV2dywgNTJweCk7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjE1O1xuICBsZXR0ZXItc3BhY2luZzogLTAuMDJlbTtcbiAgbWFyZ2luOiAwIDAgOHB4IDA7XG4gIGNvbG9yOiAjMGYxNzJhO1xufVxuXG4uaGVyby1zdWJ0aXRsZSB7XG4gIGZvbnQtc2l6ZTogY2xhbXAoMTZweCwgMS44dncsIDIwcHgpO1xuICBsaW5lLWhlaWdodDogMS41O1xuICBtYXJnaW46IDAgMCAxMnB4IDA7XG4gIGNvbG9yOiAjNjQ3NDhiO1xuICBmb250LXdlaWdodDogNTAwO1xufVxuXG4uaGVyby1kZXNjcmlwdGlvbiB7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgbWFyZ2luOiAwIDAgMjRweCAwO1xuICBjb2xvcjogIzY0NzQ4YjtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cblxuLmhlcm8tZmVhdHVyZXMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGdhcDogMTJweCAxNnB4O1xuICBtYXJnaW46IDAgMCAyNHB4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuLmhlcm8tZmVhdHVyZXMgLmZlYXR1cmUtaXRlbSB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDZweDtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBjb2xvcjogIzY0NzQ4Yjtcbn1cbi5oZXJvLWZlYXR1cmVzIC5mZWF0dXJlLWl0ZW0gaSB7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgY29sb3I6ICMxOTc2ZDI7XG59XG4uaGVyby1mZWF0dXJlcyAuZmVhdHVyZS1zZXBhcmF0b3Ige1xuICBvcGFjaXR5OiAwLjM7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgY29sb3I6ICM5NGEzYjg7XG59XG5cbi5oZXJvLXRydXN0LWJhciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgZ2FwOiAxLjVyZW0gMnJlbTtcbiAgbWFyZ2luOiAwIDAgMnJlbTtcbiAgcGFkZGluZzogMS41cmVtIDA7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKDIyNiwgMjMyLCAyNDAsIDAuNSk7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDIyNiwgMjMyLCAyNDAsIDAuNSk7XG59XG4uaGVyby10cnVzdC1iYXIgLnRydXN0LWl0ZW0ge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiA4cHg7XG4gIGZvbnQtc2l6ZTogMTNweDtcbiAgY29sb3I6ICM2NDc0OGI7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG59XG4uaGVyby10cnVzdC1iYXIgLnRydXN0LWl0ZW0gaSB7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgY29sb3I6ICMxOTc2ZDI7XG4gIG9wYWNpdHk6IDAuODtcbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAuaGVyby10cnVzdC1iYXIge1xuICAgIGdhcDogMXJlbTtcbiAgICBwYWRkaW5nOiAxcmVtIDA7XG4gIH1cbiAgLmhlcm8tdHJ1c3QtYmFyIC50cnVzdC1pdGVtIHtcbiAgICBmb250LXNpemU6IDEycHg7XG4gIH1cbiAgLmhlcm8tdHJ1c3QtYmFyIC50cnVzdC1pdGVtIGkge1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgfVxufVxuXG4vKiBBSSBTZWFyY2ggQmFyICovXG4uaGVyby1haS1zZWFyY2gge1xuICBtYXJnaW46IDAgMCAyMHB4IDA7XG59XG5cbi5haS1zZWFyY2gtc2hlbGwge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgZ2FwOiA4cHg7XG4gIHBhZGRpbmc6IDZweCA2cHggNnB4IDIwcHg7XG4gIGJvcmRlci1yYWRpdXM6IDUwcHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjYmQ1ZTE7XG4gIGJhY2tncm91bmQ6IHdoaXRlO1xuICBib3gtc2hhZG93OiAwIDJweCAxMnB4IHJnYmEoMTUsIDIzLCA0MiwgMC4wOCk7XG4gIHRyYW5zaXRpb246IGFsbCAwLjI1cyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIsIDEpO1xuICBoZWlnaHQ6IDU2cHg7XG59XG4uYWktc2VhcmNoLXNoZWxsOmZvY3VzLXdpdGhpbiB7XG4gIGJvcmRlci1jb2xvcjogIzE5NzZkMjtcbiAgYm94LXNoYWRvdzogMCA0cHggMjBweCByZ2JhKDI1LCAxMTgsIDIxMCwgMC4xNSk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMXB4KTtcbn1cblxuLmFpLXNlYXJjaC1pbnB1dCB7XG4gIGZsZXg6IDE7XG4gIGJvcmRlcjogMDtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiAjMGYxNzJhO1xuICBvdXRsaW5lOiBub25lO1xuICBmb250LXNpemU6IDE1cHg7XG4gIHBhZGRpbmc6IDAgNHB4O1xuICBsaW5lLWhlaWdodDogMS40O1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuLmFpLXNlYXJjaC1pbnB1dDo6cGxhY2Vob2xkZXIge1xuICBjb2xvcjogIzk0YTNiODtcbn1cblxuLmFpLXNlYXJjaC1idXR0b24ge1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDUwcHg7XG4gIHBhZGRpbmc6IDAgMjhweDtcbiAgZm9udC1zaXplOiAxNXB4O1xuICBmb250LXdlaWdodDogNjAwO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBiYWNrZ3JvdW5kOiAjMTk3NmQyO1xuICBjb2xvcjogd2hpdGU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMjVzIGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSk7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgZ2FwOiA2cHg7XG4gIGhlaWdodDogNDRweDtcbiAgYm94LXNoYWRvdzogMCAycHggMTJweCByZ2JhKDI1LCAxMTgsIDIxMCwgMC4yKTtcbn1cbi5haS1zZWFyY2gtYnV0dG9uOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogIzE1NjVjMDtcbiAgYm94LXNoYWRvdzogMCA0cHggMTZweCByZ2JhKDI1LCAxMTgsIDIxMCwgMC4zNSk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMXB4KTtcbn1cbi5haS1zZWFyY2gtYnV0dG9uOmFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbn1cbi5haS1zZWFyY2gtYnV0dG9uOmZvY3VzLXZpc2libGUge1xuICBvdXRsaW5lOiAycHggc29saWQgIzE5NzZkMjtcbiAgb3V0bGluZS1vZmZzZXQ6IDJweDtcbn1cblxuLmFpLWNoaXBzIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBnYXA6IDhweDtcbiAgbWFyZ2luOiAxMnB4IDAgMDtcbn1cblxuLmFpLWNoaXAge1xuICBmb250LXNpemU6IDEzcHg7XG4gIHBhZGRpbmc6IDZweCAxNHB4O1xuICBib3JkZXItcmFkaXVzOiAyMHB4O1xuICBib3JkZXI6IDFweCBzb2xpZCAjZTJlOGYwO1xuICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgY29sb3I6ICM0NzU1Njk7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcbn1cbi5haS1jaGlwOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogI2Y4ZmFmYztcbiAgYm9yZGVyLWNvbG9yOiAjY2JkNWUxO1xuICBjb2xvcjogIzFlMjkzYjtcbn1cbi5haS1jaGlwOmZvY3VzLXZpc2libGUge1xuICBvdXRsaW5lOiAycHggc29saWQgIzE5NzZkMjtcbiAgb3V0bGluZS1vZmZzZXQ6IDJweDtcbn1cblxuLmhlcm8tY3RhLXJvdyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogMTZweDtcbiAgbWFyZ2luLXRvcDogMjRweDtcbn1cblxuLmhlcm8tY3RhLWxpbmsge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHBhZGRpbmc6IDAgMjhweDtcbiAgaGVpZ2h0OiA0OHB4O1xuICBmb250LXNpemU6IDE1cHg7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGNvbG9yOiAjMWUyOTNiO1xuICBib3JkZXI6IDEuNXB4IHNvbGlkICNjYmQ1ZTE7XG4gIGJvcmRlci1yYWRpdXM6IDUwcHg7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMjVzIGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSk7XG4gIGJhY2tncm91bmQ6IHdoaXRlO1xuICBib3gtc2hhZG93OiAwIDJweCAxMnB4IHJnYmEoMTUsIDIzLCA0MiwgMC4wNik7XG59XG4uaGVyby1jdGEtbGluazpob3ZlciB7XG4gIGJhY2tncm91bmQ6ICNmOGZhZmM7XG4gIGJvcmRlci1jb2xvcjogIzk0YTNiODtcbiAgY29sb3I6ICMwZjE3MmE7XG4gIGJveC1zaGFkb3c6IDAgNHB4IDE2cHggcmdiYSgxNSwgMjMsIDQyLCAwLjEyKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xcHgpO1xufVxuLmhlcm8tY3RhLWxpbms6YWN0aXZlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xufVxuLmhlcm8tY3RhLWxpbms6Zm9jdXMtdmlzaWJsZSB7XG4gIG91dGxpbmU6IDJweCBzb2xpZCAjMTk3NmQyO1xuICBvdXRsaW5lLW9mZnNldDogMnB4O1xufVxuXG4uaGVyby1vcGVuLWFzc2lzdGFudCB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgZ2FwOiA2cHg7XG4gIGhlaWdodDogNDhweDtcbiAgcGFkZGluZzogMCAyMHB4O1xuICBmb250LXNpemU6IDE0cHg7XG4gIGNvbG9yOiAjMTk3NmQyO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRyYW5zaXRpb246IGFsbCAwLjI1cyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIsIDEpO1xuICBmb250LXdlaWdodDogNTAwO1xuICBib3JkZXItcmFkaXVzOiA1MHB4O1xufVxuLmhlcm8tb3Blbi1hc3Npc3RhbnQ6aG92ZXIge1xuICBjb2xvcjogIzE1NjVjMDtcbiAgYmFja2dyb3VuZDogcmdiYSgyNSwgMTE4LCAyMTAsIDAuMDgpO1xufVxuLmhlcm8tb3Blbi1hc3Npc3RhbnQgaSB7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMjVzIGVhc2U7XG59XG4uaGVyby1vcGVuLWFzc2lzdGFudDpob3ZlciBpIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDNweCk7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEhlcm8gUmlnaHQgQ29sdW1uXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uaGVyby1yaWdodCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuLmhlcm8tdmlzdWFsIHtcbiAgbWF4LXdpZHRoOiA1MjBweDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbiAgb2JqZWN0LWZpdDogY29udGFpbjtcbiAgZmlsdGVyOiBkcm9wLXNoYWRvdygwIDIwcHggNDBweCByZ2JhKDAsIDAsIDAsIDAuMTIpKTtcbn1cblxuQGtleWZyYW1lcyBmbG9hdEdlbnRsZSB7XG4gIDAlLCAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMHB4KTtcbiAgfVxuICA1MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTJweCk7XG4gIH1cbn1cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEhlcm8gUmVzcG9uc2l2ZSBCcmVha3BvaW50c1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuQG1lZGlhIChtYXgtd2lkdGg6IDk5MS45OHB4KSB7XG4gIC5oZXJvLXNlY3Rpb24ge1xuICAgIHBhZGRpbmc6IDYwcHggMCA2MHB4O1xuICB9XG4gIC5oZXJvLXNlY3Rpb246OmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCAxNiUgY2VudGVyO1xuICAgIGJhY2tncm91bmQtc2l6ZTogY2xhbXAoODIwcHgsIDcwdncsIDEyMDBweCkgYXV0bztcbiAgICBvcGFjaXR5OiAwLjc7XG4gICAgZmlsdGVyOiBzYXR1cmF0ZSgwLjk4KSBjb250cmFzdCgwLjk2KSBicmlnaHRuZXNzKDEuMDMpIGJsdXIoMC4zNXB4KTtcbiAgICAvKiDQl9Cw0L/QsNC30LLQsNC90LUg0L3QsCBmYWRlINC10YTQtdC60YLQsCDQvdCwIHRhYmxldCAqL1xuICAgIG1hc2staW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBsZWZ0LCByZ2JhKDAsIDAsIDAsIDApIDAlLCByZ2JhKDAsIDAsIDAsIDAuMjUpIDMlLCByZ2IoMCwgMCwgMCkgMTAlKTtcbiAgICAtd2Via2l0LW1hc2staW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBsZWZ0LCByZ2JhKDAsIDAsIDAsIDApIDAlLCByZ2JhKDAsIDAsIDAsIDAuMjUpIDMlLCByZ2IoMCwgMCwgMCkgMTAlKTtcbiAgfVxuICAuaGVyby1zZWN0aW9uOjpiZWZvcmUge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgcmdiKDIzOCwgMjQzLCAyNDgpIDAlLCByZ2IoMjM4LCAyNDMsIDI0OCkgMzYlLCByZ2JhKDIzOCwgMjQzLCAyNDgsIDAuOSkgNTAlLCByZ2JhKDIzOCwgMjQzLCAyNDgsIDAuNCkgNzAlLCByZ2JhKDIzOCwgMjQzLCAyNDgsIDAuMDUpIDkwJSwgcmdiYSgyMzgsIDI0MywgMjQ4LCAwKSAxMDAlKSwgcmFkaWFsLWdyYWRpZW50KDcwJSA2MCUgYXQgNzUlIDM1JSwgcmdiYSgwLCAwLCAwLCAwLjA1KSAwJSwgcmdiYSgwLCAwLCAwLCAwKSA2MCUpO1xuICB9XG4gIC5oZXJvLXNlY3Rpb24gLmhlcm8tbGF5b3V0LTJjb2wge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuICAgIGdhcDogNDhweDtcbiAgfVxuICAuaGVyby1zZWN0aW9uIC5oZXJvLWlubmVyIHtcbiAgICBwYWRkaW5nOiAwIDMycHg7XG4gIH1cbiAgLmhlcm8tc2VjdGlvbiAuaGVyby1sZWZ0IHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgLyog0J3QsNC80LDQu9GP0LLQsNC90LUg0L3QsCBvdmVybGF5IHBhZGRpbmcg0L3QsCB0YWJsZXQgKi9cbiAgfVxuICAuaGVyby1zZWN0aW9uIC5oZXJvLWxlZnQ6OmJlZm9yZSB7XG4gICAgdG9wOiAtMjRweDtcbiAgICBsZWZ0OiAtMjRweDtcbiAgICByaWdodDogLTI0cHg7XG4gICAgYm90dG9tOiAtMjRweDtcbiAgfVxufVxuQG1lZGlhIChtYXgtd2lkdGg6IDU3NS45OHB4KSB7XG4gIC5oZXJvLXNlY3Rpb24ge1xuICAgIC8qIEV4dHJhIGJvdHRvbSBwYWRkaW5nIGNyZWF0ZXMgdGhlIHJldmVhbCBjYW52YXMgZm9yIHRoZSBidWlsZGluZyAqL1xuICAgIHBhZGRpbmc6IDQ4cHggMCA5MnB4O1xuICAgIC8qIDo6YmVmb3JlOiBvcGFxdWUgb3ZlciB0ZXh0LCBkaXNzb2x2ZXMgdGhyb3VnaCBjb250ZW50IGludG8gYnVpbGRpbmcgem9uZSAqL1xuICB9XG4gIC5oZXJvLXNlY3Rpb246OmFmdGVyIHtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIC8qIEFuY2hvciB0byBib3R0b20gc28gYnVpbGRpbmcgcGVla3MgaW50byB0aGUgbG93ZXIgcG9ydGlvbiBvZiB0aGUgaGVybyAqL1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDM4JSBib3R0b207XG4gICAgYmFja2dyb3VuZC1zaXplOiAyMDAlIGF1dG87XG4gICAgb3BhY2l0eTogMC40MjtcbiAgICBmaWx0ZXI6IHNhdHVyYXRlKDAuODgpIGNvbnRyYXN0KDAuODgpIGJyaWdodG5lc3MoMS4wOCkgYmx1cigwLjVweCk7XG4gICAgLyogUmV2ZWFsIGZyb20gYm90dG9tIHVwd2FyZCDigJQgZnVsbHkgdmlzaWJsZSBhdCBiYXNlLCBmYWRlcyBvdXQgYnkgfjYwJSBoZWlnaHQgKi9cbiAgICBtYXNrLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gdG9wLCByZ2JhKDAsIDAsIDAsIDAuODUpIDAlLCByZ2JhKDAsIDAsIDAsIDAuNjIpIDE0JSwgcmdiYSgwLCAwLCAwLCAwLjMpIDMwJSwgcmdiYSgwLCAwLCAwLCAwLjA2KSA0NiUsIHJnYmEoMCwgMCwgMCwgMCkgNTglKTtcbiAgICAtd2Via2l0LW1hc2staW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byB0b3AsIHJnYmEoMCwgMCwgMCwgMC44NSkgMCUsIHJnYmEoMCwgMCwgMCwgMC42MikgMTQlLCByZ2JhKDAsIDAsIDAsIDAuMykgMzAlLCByZ2JhKDAsIDAsIDAsIDAuMDYpIDQ2JSwgcmdiYSgwLCAwLCAwLCAwKSA1OCUpO1xuICB9XG4gIC5oZXJvLXNlY3Rpb246OmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgcmdiYSgyMzgsIDI0MywgMjQ4LCAwLjk3KSAwJSwgcmdiYSgyMzgsIDI0MywgMjQ4LCAwLjkzKSAyMiUsIHJnYmEoMjM4LCAyNDMsIDI0OCwgMC44MikgMzglLCByZ2JhKDIzOCwgMjQzLCAyNDgsIDAuNTYpIDU0JSwgcmdiYSgyMzgsIDI0MywgMjQ4LCAwLjI2KSA2OCUsIHJnYmEoMjM4LCAyNDMsIDI0OCwgMC4wNykgODAlLCByZ2JhKDIzOCwgMjQzLCAyNDgsIDApIDkyJSksIHJhZGlhbC1ncmFkaWVudCg3MCUgNjAlIGF0IDcwJSAyNSUsIHJnYmEoMCwgMCwgMCwgMC4wNCkgMCUsIHJnYmEoMCwgMCwgMCwgMCkgNjAlKTtcbiAgfVxuICAuaGVyby1zZWN0aW9uIC5oZXJvLWlubmVyIHtcbiAgICBwYWRkaW5nOiAwIDIwcHg7XG4gIH1cbiAgLmhlcm8tc2VjdGlvbiAuaGVyby1sYXlvdXQtMmNvbCB7XG4gICAgZ2FwOiAzMnB4O1xuICB9XG4gIC5oZXJvLXNlY3Rpb24gLmhlcm8tbGVmdCB7XG4gICAgLyog0J3QsNC80LDQu9GP0LLQsNC90LUg0L3QsCBvdmVybGF5INC90LAgbW9iaWxlICovXG4gIH1cbiAgLmhlcm8tc2VjdGlvbiAuaGVyby1sZWZ0OjpiZWZvcmUge1xuICAgIHRvcDogLTE2cHg7XG4gICAgbGVmdDogLTE2cHg7XG4gICAgcmlnaHQ6IC0xNnB4O1xuICAgIGJvdHRvbTogLTE2cHg7XG4gICAgLyogRmVhdGhlciBsYXllcjogcmVpbmZvcmNlcyBsZWdpYmlsaXR5IGF0IHRvcCwgZmFkZXMgcmFwaWRseSBiZWxvdyBjb250ZW50IG1pZHBvaW50ICovXG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUyKSAwJSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjQ0KSAzNiUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yKSA1OCUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wNSkgNzQlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDApIDg4JSk7XG4gICAgYmFja2Ryb3AtZmlsdGVyOiBub25lO1xuICAgIC13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOiBub25lO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gIH1cbiAgLmhlcm8tc2VjdGlvbiAuaGVyby10aXRsZSB7XG4gICAgZm9udC1zaXplOiBjbGFtcCgyOHB4LCA3dncsIDQwcHgpO1xuICB9XG4gIC5oZXJvLXNlY3Rpb24gLmhlcm8tc3VidGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgfVxuICAuaGVyby1zZWN0aW9uIC5haS1zZWFyY2gtc2hlbGwge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgcGFkZGluZzogMTJweDtcbiAgICBib3JkZXItcmFkaXVzOiAyMHB4O1xuICAgIGhlaWdodDogYXV0bztcbiAgICBnYXA6IDEwcHg7XG4gIH1cbiAgLmhlcm8tc2VjdGlvbiAuYWktc2VhcmNoLWlucHV0IHtcbiAgICBwYWRkaW5nOiAxMnB4IDE2cHg7XG4gICAgbWluLWhlaWdodDogNDRweDtcbiAgfVxuICAuaGVyby1zZWN0aW9uIC5haS1zZWFyY2gtYnV0dG9uIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBib3JkZXItcmFkaXVzOiA1MHB4O1xuICAgIGhlaWdodDogNDhweDtcbiAgfVxuICAuaGVyby1zZWN0aW9uIC5oZXJvLWN0YS1yb3cge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgZ2FwOiAxMnB4O1xuICB9XG4gIC5oZXJvLXNlY3Rpb24gLmhlcm8tY3RhLWxpbmsge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuICAuaGVyby1zZWN0aW9uIC5oZXJvLW9wZW4tYXNzaXN0YW50IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuICAuaGVyby1zZWN0aW9uIC5oZXJvLXZpc3VhbCB7XG4gICAgbWF4LXdpZHRoOiAyODBweDtcbiAgfVxufVxuLyogU2VjdGlvbiBoZWFkZXIgaW1wcm92ZW1lbnRzICovXG4uc2VjdGlvbi1oZWFkZXIge1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBtYXJnaW4tYm90dG9tOiAzcmVtO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4uc2VjdGlvbi1oZWFkZXIgaDIge1xuICBmb250LXNpemU6IDIuNXJlbTtcbiAgZm9udC13ZWlnaHQ6IDIwMDtcbiAgY29sb3I6ICMxZTI5M2I7XG4gIG1hcmdpbi1ib3R0b206IDAuOHJlbTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZXR0ZXItc3BhY2luZzogLTAuMDJlbTtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgLyogRk9SQ0UgUkVNT1ZFIEFMTCBIMiBVTkRFUkxJTkVTICovXG59XG4uc2VjdGlvbi1oZWFkZXIgaDI6OmFmdGVyLCAuc2VjdGlvbi1oZWFkZXIgaDI6OmJlZm9yZSB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgY29udGVudDogbm9uZSAhaW1wb3J0YW50O1xuICBiYWNrZ3JvdW5kOiBub25lICFpbXBvcnRhbnQ7XG4gIGJvcmRlcjogbm9uZSAhaW1wb3J0YW50O1xuICBib3JkZXItYm90dG9tOiBub25lICFpbXBvcnRhbnQ7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZSAhaW1wb3J0YW50O1xufVxuQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gIC5zZWN0aW9uLWhlYWRlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG1hcmdpbi1ib3R0b206IDJyZW07XG4gIH1cbiAgLnNlY3Rpb24taGVhZGVyIGgyIHtcbiAgICBmb250LXNpemU6IDJyZW07XG4gIH1cbn1cblxuLyogSGVybyByZXNwb25zaXZlIGltcHJvdmVtZW50cyAqL1xuQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gIC5oZXJvLXNlY3Rpb24ge1xuICAgIC8qIERvIG5vdCByZS1pbXBvc2UgbWluLWhlaWdodCDigJQgOTkxLjk4cHggcmVtb3ZlZCBpdCwga2VlcCBpdCBjb250ZW50LWRyaXZlbiAqL1xuICAgIG1pbi1oZWlnaHQ6IGF1dG87XG4gICAgcGFkZGluZzogNXJlbSAwIDRyZW07XG4gIH1cbiAgLmhlcm8tc2VjdGlvbiAuaGVyby1jb250ZW50IHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gIH1cbiAgLmhlcm8tc2VjdGlvbiAuaGVyby1haS1zZWFyY2gtYmFyIHtcbiAgICBtYXJnaW4tdG9wOiAycmVtO1xuICB9XG4gIC5oZXJvLXNlY3Rpb24gLnNjcm9sbC1pbmRpY2F0b3Ige1xuICAgIGJvdHRvbTogMXJlbTtcbiAgfVxuICAuaGVyby1zZWN0aW9uIC5zY3JvbGwtaW5kaWNhdG9yIC5zY3JvbGwtdGV4dCB7XG4gICAgZm9udC1zaXplOiAwLjdyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMC44cmVtO1xuICB9XG59XG5AbWVkaWEgKG1heC13aWR0aDogNDgwcHgpIHtcbiAgLmhlcm8tc2VjdGlvbiB7XG4gICAgLyogRG8gbm90IHJlLWltcG9zZSBtaW4taGVpZ2h0IG92ZXIgdGhlIDU3NS45OHB4IGJsb2NrICovXG4gICAgbWluLWhlaWdodDogYXV0bztcbiAgICBwYWRkaW5nOiA0cmVtIDAgM3JlbTtcbiAgfVxuICAuaGVyby1zZWN0aW9uIC5oZXJvLWFpLXNlYXJjaC1iYXIge1xuICAgIG1hcmdpbi10b3A6IDEuNXJlbTtcbiAgfVxuICAuaGVyby1zZWN0aW9uIC5haS1zdWdnZXN0ZWQtcXVlcmllcyB7XG4gICAgZ2FwOiAwLjRyZW07XG4gIH1cbiAgLmhlcm8tc2VjdGlvbiAuc3VnZ2VzdGVkLXF1ZXJ5LWNoaXAge1xuICAgIGZvbnQtc2l6ZTogMC44cmVtO1xuICAgIHBhZGRpbmc6IDAuNHJlbSAwLjhyZW07XG4gIH1cbiAgLmhlcm8tc2VjdGlvbiAuc2Nyb2xsLWluZGljYXRvciAuc2Nyb2xsLXRleHQge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cbi8qIEdMT0JBTCBIMiBVTkRFUkxJTkUgUkVNT1ZBTCAqL1xuaDI6OmFmdGVyLFxuaDI6OmJlZm9yZSB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgY29udGVudDogbm9uZSAhaW1wb3J0YW50O1xuICBiYWNrZ3JvdW5kOiBub25lICFpbXBvcnRhbnQ7XG4gIGJvcmRlcjogbm9uZSAhaW1wb3J0YW50O1xuICBib3JkZXItYm90dG9tOiBub25lICFpbXBvcnRhbnQ7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4vKiBQbGF0Zm9ybSBTdGF0cyBTZWN0aW9uICovXG4ucGxhdGZvcm0tc3RhdHMge1xuICAvKiBtYXRjaCBob3Jpem9udGFsIHNwYWNpbmcgb2Ygb3RoZXIgc2VjdGlvbnMgKi9cbiAgcGFkZGluZzogNHJlbSAxLjVyZW07XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsICNmOGZhZmMgMCUsICNmZmZmZmYgMTAwJSk7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgLyogUmVzcG9uc2l2ZSBhZGp1c3RtZW50cyB0byBrZWVwIGhvcml6b250YWwgc3BhY2luZyBjb25zaXN0ZW50IG9uIHNtYWxsIHNjcmVlbnMgKi9cbn1cbi5wbGF0Zm9ybS1zdGF0cyAuc3RhdC1pdGVtIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAvKiBpbmNyZWFzZSBsZWZ0L3JpZ2h0IHBhZGRpbmcgdG8gYmUgY29uc2lzdGVudCB3aXRoIG90aGVyIGNhcmRzICovXG4gIHBhZGRpbmc6IDJyZW0gMnJlbTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3MgZWFzZSwgYm94LXNoYWRvdyAwLjNzIGVhc2U7XG4gIG1heC13aWR0aDogMzgwcHg7XG4gIG1hcmdpbjogMCBhdXRvO1xufVxuLnBsYXRmb3JtLXN0YXRzIC5zdGF0LWl0ZW06aG92ZXIge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTVweCk7XG59XG4ucGxhdGZvcm0tc3RhdHMgLnN0YXQtbnVtYmVyIHtcbiAgZm9udC1zaXplOiAzLjVyZW07XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGNvbG9yOiAjMGYxNzJhO1xuICBsaW5lLWhlaWdodDogMTtcbiAgbWFyZ2luLWJvdHRvbTogMC43NXJlbTtcbiAgbGV0dGVyLXNwYWNpbmc6IC0wLjAyZW07XG59XG5AbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgLnBsYXRmb3JtLXN0YXRzIC5zdGF0LW51bWJlciB7XG4gICAgZm9udC1zaXplOiAzcmVtO1xuICB9XG59XG5AbWVkaWEgKG1heC13aWR0aDogNTc2cHgpIHtcbiAgLnBsYXRmb3JtLXN0YXRzIC5zdGF0LW51bWJlciB7XG4gICAgZm9udC1zaXplOiAyLjVyZW07XG4gIH1cbn1cbi5wbGF0Zm9ybS1zdGF0cyAuc3RhdC1sYWJlbCB7XG4gIGZvbnQtc2l6ZTogMS4xcmVtO1xuICBjb2xvcjogIzY0NzQ4YjtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMDVlbTtcbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAucGxhdGZvcm0tc3RhdHMgLnN0YXQtbGFiZWwge1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgfVxufVxuQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gIC5wbGF0Zm9ybS1zdGF0cyB7XG4gICAgcGFkZGluZzogNHJlbSAwO1xuICB9XG4gIC5wbGF0Zm9ybS1zdGF0cyAuc3RhdC1pdGVtIHtcbiAgICBwYWRkaW5nOiAxLjVyZW0gMXJlbTtcbiAgICBtYXgtd2lkdGg6IG5vbmU7XG4gIH1cbn1cblxuLyogSG93IEl0IFdvcmtzIFNlY3Rpb24gKi9cbi5ob3ctaXQtd29ya3Mge1xuICBwYWRkaW5nOiA2cmVtIDA7XG4gIGJhY2tncm91bmQ6ICNmZmZmZmY7XG59XG4uaG93LWl0LXdvcmtzIC5ob3ctY2FyZCB7XG4gIGJhY2tncm91bmQ6IHdoaXRlO1xuICBib3JkZXItcmFkaXVzOiAxNnB4O1xuICBib3JkZXI6IDJweCBzb2xpZCAjZTJlOGYwO1xuICBwYWRkaW5nOiAzcmVtIDJyZW0gMi41cmVtO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJveC1zaGFkb3c6IDAgMnB4IDE2cHggcmdiYSgwLCAwLCAwLCAwLjA0KTtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMzVzIGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSk7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuLmhvdy1pdC13b3JrcyAuaG93LWNhcmQ6aG92ZXIge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLThweCk7XG4gIGJvcmRlci1jb2xvcjogIzE5NzZkMjtcbiAgYm94LXNoYWRvdzogMCAxMnB4IDQwcHggcmdiYSgyNSwgMTE4LCAyMTAsIDAuMTUpO1xufVxuLmhvdy1pdC13b3JrcyAuc3RlcC1iYWRnZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAxLjI1cmVtO1xuICBsZWZ0OiAxLjI1cmVtO1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIG1pbi13aWR0aDogMzJweDtcbiAgaGVpZ2h0OiAzMnB4O1xuICBwYWRkaW5nOiAwIDAuNzVyZW07XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsICMxOTc2ZDIgMCUsICMxNTY1YzAgMTAwJSk7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgYm9yZGVyLXJhZGl1czogMTZweDtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgZm9udC13ZWlnaHQ6IDIwMDtcbiAgYm94LXNoYWRvdzogMCAycHggOHB4IHJnYmEoMjUsIDExOCwgMjEwLCAwLjMpO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlO1xufVxuLmhvdy1pdC13b3JrcyAuaG93LWNhcmQ6aG92ZXIgLnN0ZXAtYmFkZ2Uge1xuICB0cmFuc2Zvcm06IHNjYWxlKDEuMDUpO1xuICBib3gtc2hhZG93OiAwIDRweCAxMnB4IHJnYmEoMjUsIDExOCwgMjEwLCAwLjQpO1xufVxuLmhvdy1pdC13b3JrcyAuc3RlcC1pY29uIHtcbiAgZm9udC1zaXplOiAzcmVtO1xuICBjb2xvcjogIzQ3NTU2OTtcbiAgbWFyZ2luOiAwIGF1dG8gMS41cmVtO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4zNXMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKTtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB3aWR0aDogODBweDtcbiAgaGVpZ2h0OiA4MHB4O1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCAjZjFmNWY5IDAlLCAjZTJlOGYwIDEwMCUpO1xuICBib3JkZXItcmFkaXVzOiAxNnB4O1xufVxuLmhvdy1pdC13b3JrcyAuc3RlcC1pY29uIGkge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzIGVhc2U7XG4gIGxpbmUtaGVpZ2h0OiAxO1xufVxuLmhvdy1pdC13b3JrcyAuaG93LWNhcmQ6aG92ZXIgLnN0ZXAtaWNvbiB7XG4gIGNvbG9yOiAjMTk3NmQyO1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCAjZTNmMmZkIDAlLCAjYmJkZWZiIDEwMCUpO1xuICB0cmFuc2Zvcm06IHNjYWxlKDEuMDUpO1xufVxuLmhvdy1pdC13b3JrcyAuaG93LWNhcmQ6aG92ZXIgLnN0ZXAtaWNvbiBpIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLjEpO1xufVxuLmhvdy1pdC13b3JrcyBoMyB7XG4gIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgY29sb3I6ICMxZTI5M2I7XG4gIG1hcmdpbi1ib3R0b206IDAuNzVyZW07XG59XG4uaG93LWl0LXdvcmtzIHAge1xuICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgY29sb3I6ICM2NDc0OGI7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGZsZXg6IDE7XG4gIG1pbi1oZWlnaHQ6IDMuMmVtO1xufVxuQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gIC5ob3ctaXQtd29ya3Mge1xuICAgIHBhZGRpbmc6IDRyZW0gMDtcbiAgfVxuICAuaG93LWl0LXdvcmtzIC5ob3ctY2FyZCB7XG4gICAgcGFkZGluZzogMi41cmVtIDEuNXJlbSAycmVtO1xuICB9XG4gIC5ob3ctaXQtd29ya3MgLnN0ZXAtYmFkZ2Uge1xuICAgIHRvcDogMXJlbTtcbiAgICBsZWZ0OiAxcmVtO1xuICAgIG1pbi13aWR0aDogMjhweDtcbiAgICBoZWlnaHQ6IDI4cHg7XG4gICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgIHBhZGRpbmc6IDAgMC42MjVyZW07XG4gIH1cbiAgLmhvdy1pdC13b3JrcyAuc3RlcC1pY29uIHtcbiAgICB3aWR0aDogNjRweDtcbiAgICBoZWlnaHQ6IDY0cHg7XG4gICAgZm9udC1zaXplOiAyLjVyZW07XG4gIH1cbiAgLmhvdy1pdC13b3JrcyBoMyB7XG4gICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgfVxuICAuaG93LWl0LXdvcmtzIHAge1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgbWluLWhlaWdodDogYXV0bztcbiAgfVxufVxuXG4ud2h5LXByb3BlbGlhIHtcbiAgcGFkZGluZzogNnJlbSAwO1xuICBiYWNrZ3JvdW5kOiAjZjhmYWZjO1xufVxuLndoeS1wcm9wZWxpYSAuc2VjdGlvbi1oZWFkZXIge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIG1hcmdpbi1ib3R0b206IDRyZW07XG59XG4ud2h5LXByb3BlbGlhIC5zZWN0aW9uLWhlYWRlciBoMiB7XG4gIGZvbnQtc2l6ZTogMi41cmVtO1xuICBmb250LXdlaWdodDogMjAwO1xuICBjb2xvcjogIzBmMTcyYTtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAud2h5LXByb3BlbGlhIC5zZWN0aW9uLWhlYWRlciBoMiB7XG4gICAgZm9udC1zaXplOiAycmVtO1xuICB9XG59XG4ud2h5LXByb3BlbGlhIC5zZWN0aW9uLWhlYWRlciAubGVhZCB7XG4gIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgY29sb3I6ICM2NDc0OGI7XG59XG4ud2h5LXByb3BlbGlhIC5mZWF0dXJlLWNhcmQge1xuICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgYm9yZGVyOiAycHggc29saWQgI2UyZThmMDtcbiAgYm9yZGVyLXJhZGl1czogMTZweDtcbiAgcGFkZGluZzogM3JlbSAycmVtIDIuNXJlbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIHRyYW5zaXRpb246IGFsbCAwLjM1cyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIsIDEpO1xuICBib3gtc2hhZG93OiAwIDJweCAxNnB4IHJnYmEoMCwgMCwgMCwgMC4wNCk7XG59XG4ud2h5LXByb3BlbGlhIC5mZWF0dXJlLWNhcmQ6aG92ZXIge1xuICBib3JkZXItY29sb3I6ICMxOTc2ZDI7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtOHB4KTtcbiAgYm94LXNoYWRvdzogMCAxMnB4IDQwcHggcmdiYSgyNSwgMTE4LCAyMTAsIDAuMTUpO1xufVxuLndoeS1wcm9wZWxpYSAuZmVhdHVyZS1jYXJkIC5mZWF0dXJlLWljb24ge1xuICB3aWR0aDogODBweDtcbiAgaGVpZ2h0OiA4MHB4O1xuICBtYXJnaW46IDAgYXV0byAxLjVyZW07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBib3JkZXItcmFkaXVzOiAxNnB4O1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCAjZjFmNWY5IDAlLCAjZTJlOGYwIDEwMCUpO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4zNXMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKTtcbn1cbi53aHktcHJvcGVsaWEgLmZlYXR1cmUtY2FyZCAuZmVhdHVyZS1pY29uIGkge1xuICBmb250LXNpemU6IDIuNXJlbTtcbiAgY29sb3I6ICM0NzU1Njk7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzIGVhc2U7XG4gIGxpbmUtaGVpZ2h0OiAxO1xufVxuLndoeS1wcm9wZWxpYSAuZmVhdHVyZS1jYXJkOmhvdmVyIC5mZWF0dXJlLWljb24ge1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCAjZTNmMmZkIDAlLCAjYmJkZWZiIDEwMCUpO1xuICB0cmFuc2Zvcm06IHNjYWxlKDEuMDUpO1xufVxuLndoeS1wcm9wZWxpYSAuZmVhdHVyZS1jYXJkOmhvdmVyIC5mZWF0dXJlLWljb24gaSB7XG4gIGNvbG9yOiAjMTk3NmQyO1xufVxuLndoeS1wcm9wZWxpYSAuZmVhdHVyZS1jYXJkIGgzIHtcbiAgZm9udC1zaXplOiAxLjI1cmVtO1xuICBmb250LXdlaWdodDogNjAwO1xuICBsaW5lLWhlaWdodDogMS40O1xuICBjb2xvcjogIzFlMjkzYjtcbiAgbWFyZ2luLWJvdHRvbTogMC43NXJlbTtcbn1cbi53aHktcHJvcGVsaWEgLmZlYXR1cmUtY2FyZCBwIHtcbiAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gIGNvbG9yOiAjNjQ3NDhiO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBsaW5lLWhlaWdodDogMS42O1xuICBmbGV4OiAxO1xuICBtaW4taGVpZ2h0OiAzLjJlbTtcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gIC13ZWJraXQtbGluZS1jbGFtcDogMjtcbiAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAud2h5LXByb3BlbGlhIHtcbiAgICBwYWRkaW5nOiA0cmVtIDA7XG4gIH1cbiAgLndoeS1wcm9wZWxpYSAuc2VjdGlvbi1oZWFkZXIge1xuICAgIG1hcmdpbi1ib3R0b206IDNyZW07XG4gIH1cbiAgLndoeS1wcm9wZWxpYSAuZmVhdHVyZS1jYXJkIHtcbiAgICBwYWRkaW5nOiAyLjVyZW0gMS41cmVtIDJyZW07XG4gIH1cbiAgLndoeS1wcm9wZWxpYSAuZmVhdHVyZS1jYXJkIC5mZWF0dXJlLWljb24ge1xuICAgIHdpZHRoOiA2NHB4O1xuICAgIGhlaWdodDogNjRweDtcbiAgfVxuICAud2h5LXByb3BlbGlhIC5mZWF0dXJlLWNhcmQgLmZlYXR1cmUtaWNvbiBpIHtcbiAgICBmb250LXNpemU6IDJyZW07XG4gIH1cbiAgLndoeS1wcm9wZWxpYSAuZmVhdHVyZS1jYXJkIGgzIHtcbiAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICB9XG4gIC53aHktcHJvcGVsaWEgLmZlYXR1cmUtY2FyZCBwIHtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIG1pbi1oZWlnaHQ6IGF1dG87XG4gIH1cbn1cblxuLnRhcmdldC1hdWRpZW5jZSB7XG4gIHBhZGRpbmc6IDZyZW0gMDtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgI2ZhZmJmYyAwJSwgI2ZmZmZmZiAxMDAlKTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAvKiBTdWJ0bGUgdG9wIHNlcGFyYXRvciAqL1xufVxuLnRhcmdldC1hdWRpZW5jZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDEwJTtcbiAgcmlnaHQ6IDEwJTtcbiAgaGVpZ2h0OiAxcHg7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgdHJhbnNwYXJlbnQsICNlMmU4ZjAgMjAlLCAjY2JkNWUxIDUwJSwgI2UyZThmMCA4MCUsIHRyYW5zcGFyZW50KTtcbiAgb3BhY2l0eTogMC42O1xufVxuLnRhcmdldC1hdWRpZW5jZSAuc2VjdGlvbi1oZWFkZXIge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIG1hcmdpbi1ib3R0b206IDRyZW07XG59XG4udGFyZ2V0LWF1ZGllbmNlIC5zZWN0aW9uLWhlYWRlciBoMiB7XG4gIGZvbnQtc2l6ZTogMi41cmVtO1xuICBmb250LXdlaWdodDogMjAwO1xuICBjb2xvcjogIzBmMTcyYTtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAudGFyZ2V0LWF1ZGllbmNlIC5zZWN0aW9uLWhlYWRlciBoMiB7XG4gICAgZm9udC1zaXplOiAycmVtO1xuICB9XG59XG4udGFyZ2V0LWF1ZGllbmNlIC5zZWN0aW9uLWhlYWRlciAubGVhZCB7XG4gIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgY29sb3I6ICM2NDc0OGI7XG59XG4udGFyZ2V0LWF1ZGllbmNlIC5hdWRpZW5jZS1jYXJkIHtcbiAgYmFja2dyb3VuZDogd2hpdGU7XG4gIGJvcmRlcjogMnB4IHNvbGlkICNlMmU4ZjA7XG4gIGJvcmRlci1yYWRpdXM6IDE2cHg7XG4gIHBhZGRpbmc6IDNyZW0gMnJlbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIHRyYW5zaXRpb246IGFsbCAwLjM1cyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIsIDEpO1xuICBib3gtc2hhZG93OiAwIDJweCAxNnB4IHJnYmEoMCwgMCwgMCwgMC4wNCk7XG59XG4udGFyZ2V0LWF1ZGllbmNlIC5hdWRpZW5jZS1jYXJkOmhvdmVyIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC04cHgpO1xuICBib3JkZXItY29sb3I6ICMxOTc2ZDI7XG4gIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gIGJveC1zaGFkb3c6IDAgMTJweCA0MHB4IHJnYmEoMjUsIDExOCwgMjEwLCAwLjE1KTtcbn1cbi50YXJnZXQtYXVkaWVuY2UgLmF1ZGllbmNlLWNhcmQgLmF1ZGllbmNlLWljb24ge1xuICB3aWR0aDogMTAwcHg7XG4gIGhlaWdodDogMTAwcHg7XG4gIG1hcmdpbjogMCBhdXRvIDJyZW07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsICNmOGZhZmMgMCUsICNlMmU4ZjAgMTAwJSk7XG4gIHRyYW5zaXRpb246IGFsbCAwLjM1cyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIsIDEpO1xufVxuLnRhcmdldC1hdWRpZW5jZSAuYXVkaWVuY2UtY2FyZCAuYXVkaWVuY2UtaWNvbiBpIHtcbiAgZm9udC1zaXplOiAzcmVtO1xuICBjb2xvcjogIzQ3NTU2OTtcbiAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTtcbn1cbi50YXJnZXQtYXVkaWVuY2UgLmF1ZGllbmNlLWNhcmQ6aG92ZXIgLmF1ZGllbmNlLWljb24ge1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCAjZTNmMmZkIDAlLCAjYmJkZWZiIDEwMCUpO1xuICB0cmFuc2Zvcm06IHNjYWxlKDEuMDUpO1xufVxuLnRhcmdldC1hdWRpZW5jZSAuYXVkaWVuY2UtY2FyZDpob3ZlciAuYXVkaWVuY2UtaWNvbiBpIHtcbiAgY29sb3I6ICMxOTc2ZDI7XG59XG4udGFyZ2V0LWF1ZGllbmNlIC5hdWRpZW5jZS1jYXJkIGgzIHtcbiAgZm9udC1zaXplOiAxLjVyZW07XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGNvbG9yOiAjMGYxNzJhO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xufVxuLnRhcmdldC1hdWRpZW5jZSAuYXVkaWVuY2UtY2FyZCBwIHtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBjb2xvcjogIzY0NzQ4YjtcbiAgbWFyZ2luLWJvdHRvbTogMnJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgZmxleC1ncm93OiAxO1xufVxuLnRhcmdldC1hdWRpZW5jZSAuYXVkaWVuY2UtY2FyZCAuYnRuIHtcbiAgbWFyZ2luLXRvcDogYXV0bztcbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAudGFyZ2V0LWF1ZGllbmNlIHtcbiAgICBwYWRkaW5nOiA0cmVtIDA7XG4gIH1cbiAgLnRhcmdldC1hdWRpZW5jZSAuc2VjdGlvbi1oZWFkZXIge1xuICAgIG1hcmdpbi1ib3R0b206IDNyZW07XG4gIH1cbiAgLnRhcmdldC1hdWRpZW5jZSAuYXVkaWVuY2UtY2FyZCB7XG4gICAgcGFkZGluZzogMi41cmVtIDEuNXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAycmVtO1xuICB9XG59XG5cbi5wcm9wZXJ0eS10eXBlcyB7XG4gIHBhZGRpbmc6IDZyZW0gMDtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgI2Y4ZmFmYyAwJSwgI2ZmZmZmZiAxMDAlKTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tdG9wOiAtMnJlbTtcbn1cbi5wcm9wZXJ0eS10eXBlczo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICBoZWlnaHQ6IDFweDtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDkwZGVnLCB0cmFuc3BhcmVudCwgI2NiZDVlMSwgdHJhbnNwYXJlbnQpO1xuICBvcGFjaXR5OiAwLjU7XG59XG4ucHJvcGVydHktdHlwZXM6OmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IC0ycmVtO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgaGVpZ2h0OiAycmVtO1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCB0cmFuc3BhcmVudCwgI2Y4ZmFmYyk7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gIC5wcm9wZXJ0eS10eXBlcyB7XG4gICAgcGFkZGluZzogNHJlbSAwO1xuICB9XG59XG5cbi50eXBlLWNhcmQge1xuICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZTJlOGYwO1xuICBib3JkZXItcmFkaXVzOiAxNnB4O1xuICBib3gtc2hhZG93OiAwIDJweCA4cHggcmdiYSgwLCAwLCAwLCAwLjA0KSwgMCAxcHggMnB4IHJnYmEoMCwgMCwgMCwgMC4wMik7XG4gIHRyYW5zaXRpb246IGFsbCAwLjNzIGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSk7XG4gIGhlaWdodDogMTAwJTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBhZGRpbmc6IDNyZW0gMnJlbTtcbn1cbi50eXBlLWNhcmQ6aG92ZXIge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTRweCk7XG4gIGJveC1zaGFkb3c6IDAgOHB4IDI0cHggcmdiYSgwLCAwLCAwLCAwLjEpLCAwIDRweCA4cHggcmdiYSgwLCAwLCAwLCAwLjA1KTtcbiAgYm9yZGVyLWNvbG9yOiAjY2JkNWUxO1xufVxuLnR5cGUtY2FyZDpmb2N1cyB7XG4gIG91dGxpbmU6IG5vbmU7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDNweCByZ2JhKDI1LCAxMTgsIDIxMCwgMC4yNSk7XG4gIGJvcmRlci1jb2xvcjogIzE5NzZkMjtcbn1cbi50eXBlLWNhcmQ6Zm9jdXMtdmlzaWJsZSB7XG4gIG91dGxpbmU6IDJweCBzb2xpZCAjMTk3NmQyO1xuICBvdXRsaW5lLW9mZnNldDogMnB4O1xufVxuLnR5cGUtY2FyZDpob3ZlciB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtOHB4KTtcbiAgYm9yZGVyLWNvbG9yOiAjMTk3NmQyO1xuICBib3gtc2hhZG93OiAwIDEycHggNDBweCByZ2JhKDI1LCAxMTgsIDIxMCwgMC4xNSksIDAgNHB4IDhweCByZ2JhKDI1LCAxMTgsIDIxMCwgMC4wOCk7XG59XG4udHlwZS1jYXJkOmhvdmVyIC50eXBlLWljb24ge1xuICBjb2xvcjogIzE5NzZkMjtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgI2UzZjJmZCAwJSwgI2JiZGVmYiAxMDAlKTtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLjA1KTtcbn1cbi50eXBlLWNhcmQ6aG92ZXIgLnByb3BlcnR5LXR5cGUtaWNvbi1pbmxpbmUge1xuICBjb2xvcjogIzE5NzZkMjtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLjEpO1xufVxuLnR5cGUtY2FyZCBoMyB7XG4gIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgZm9udC13ZWlnaHQ6IDIwMDtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgbWFyZ2luLWJvdHRvbTogMC43NXJlbTtcbiAgY29sb3I6ICMxZTI5M2I7XG59XG4udHlwZS1jYXJkIHAge1xuICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTtcbiAgY29sb3I6ICM2NDc0OGI7XG4gIG1pbi1oZWlnaHQ6IDMuMmVtO1xufVxuQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gIC50eXBlLWNhcmQge1xuICAgIHBhZGRpbmc6IDNyZW0gMS41cmVtO1xuICB9XG4gIC50eXBlLWNhcmQgaDMge1xuICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gIH1cbiAgLnR5cGUtY2FyZCBwIHtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIG1pbi1oZWlnaHQ6IGF1dG87XG4gIH1cbn1cblxuLnByb3BlcnR5LXR5cGUtdGl0bGUge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgZ2FwOiAwLjVyZW07XG59XG5cbi5wcm9wZXJ0eS10eXBlLWljb24taW5saW5lIHtcbiAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgY29sb3I6ICM2NDc0OGI7XG4gIHRyYW5zaXRpb246IGFsbCAwLjNzIGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSk7XG4gIGZsZXgtc2hyaW5rOiAwO1xufVxuXG4udHlwZS1pY29uIHtcbiAgZm9udC1zaXplOiAzcmVtO1xuICBjb2xvcjogIzQ3NTU2OTtcbiAgbWFyZ2luLWJvdHRvbTogMS41cmVtO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIsIDEpO1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHdpZHRoOiA4MHB4O1xuICBoZWlnaHQ6IDgwcHg7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsICNmMWY1ZjkgMCUsICNlMmU4ZjAgMTAwJSk7XG4gIGJvcmRlci1yYWRpdXM6IDE2cHg7XG59XG4udHlwZS1pY29uIGkge1xuICBmb250LXdlaWdodDogNDAwO1xuICBsaW5lLWhlaWdodDogMTtcbiAgc3Ryb2tlLXdpZHRoOiAxLjVweDtcbn1cblxuLnR5cGUtY2FyZDpob3ZlciAudHlwZS1pY29uIHtcbiAgY29sb3I6ICMxOTc2ZDI7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsICNlM2YyZmQgMCUsICNiYmRlZmIgMTAwJSk7XG4gIHRyYW5zZm9ybTogc2NhbGUoMS4wNSk7XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAudHlwZS1pY29uIHtcbiAgICB3aWR0aDogNjRweDtcbiAgICBoZWlnaHQ6IDY0cHg7XG4gICAgZm9udC1zaXplOiAyLjVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTtcbiAgfVxufVxuLmZlYXR1cmVkLXByb3BlcnRpZXMsXG4ubGF0ZXN0LXByb3BlcnRpZXMge1xuICBwYWRkaW5nOiA2cmVtIDA7XG4gIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgLyogU3VidGxlIHRvcCBzZXBhcmF0b3IgZm9yIHZpc3VhbCBicmVhdGhpbmcgKi9cbiAgLyogR3JpZCBjb250YWluZXIgaW5zdGVhZCBvZiBjYXJvdXNlbCAqL1xufVxuLmZlYXR1cmVkLXByb3BlcnRpZXM6OmJlZm9yZSxcbi5sYXRlc3QtcHJvcGVydGllczo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDEwJTtcbiAgcmlnaHQ6IDEwJTtcbiAgaGVpZ2h0OiAxcHg7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgdHJhbnNwYXJlbnQsICNlMmU4ZjAgMjAlLCAjY2JkNWUxIDUwJSwgI2UyZThmMCA4MCUsIHRyYW5zcGFyZW50KTtcbiAgb3BhY2l0eTogMC42O1xufVxuLmZlYXR1cmVkLXByb3BlcnRpZXMgLnNlY3Rpb24taGVhZGVyLFxuLmxhdGVzdC1wcm9wZXJ0aWVzIC5zZWN0aW9uLWhlYWRlciB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbWFyZ2luLWJvdHRvbTogNHJlbTtcbn1cbi5mZWF0dXJlZC1wcm9wZXJ0aWVzIC5zZWN0aW9uLWhlYWRlciBoMixcbi5sYXRlc3QtcHJvcGVydGllcyAuc2VjdGlvbi1oZWFkZXIgaDIge1xuICBmb250LXNpemU6IDIuNXJlbTtcbiAgZm9udC13ZWlnaHQ6IDIwMDtcbiAgY29sb3I6ICMwZjE3MmE7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG59XG5AbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgLmZlYXR1cmVkLXByb3BlcnRpZXMgLnNlY3Rpb24taGVhZGVyIGgyLFxuICAubGF0ZXN0LXByb3BlcnRpZXMgLnNlY3Rpb24taGVhZGVyIGgyIHtcbiAgICBmb250LXNpemU6IDJyZW07XG4gIH1cbn1cbi5mZWF0dXJlZC1wcm9wZXJ0aWVzIC5zZWN0aW9uLWhlYWRlciAubGVhZCxcbi5sYXRlc3QtcHJvcGVydGllcyAuc2VjdGlvbi1oZWFkZXIgLmxlYWQge1xuICBmb250LXNpemU6IDEuMjVyZW07XG4gIGNvbG9yOiAjNjQ3NDhiO1xufVxuLmZlYXR1cmVkLXByb3BlcnRpZXMgLnByb3BlcnR5LWNhcm91c2VsLFxuLmxhdGVzdC1wcm9wZXJ0aWVzIC5wcm9wZXJ0eS1jYXJvdXNlbCB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDMsIDFmcik7XG4gIGdhcDogMnJlbTtcbiAgcG9zaXRpb246IHN0YXRpYztcbiAgcGFkZGluZzogMDtcbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA5OTJweCkge1xuICAuZmVhdHVyZWQtcHJvcGVydGllcyAucHJvcGVydHktY2Fyb3VzZWwsXG4gIC5sYXRlc3QtcHJvcGVydGllcyAucHJvcGVydHktY2Fyb3VzZWwge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7XG4gICAgZ2FwOiAxLjVyZW07XG4gIH1cbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA2NDBweCkge1xuICAuZmVhdHVyZWQtcHJvcGVydGllcyAucHJvcGVydHktY2Fyb3VzZWwsXG4gIC5sYXRlc3QtcHJvcGVydGllcyAucHJvcGVydHktY2Fyb3VzZWwge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuICAgIGdhcDogMS41cmVtO1xuICB9XG59XG5cbi8qIFByb3BlcnR5IGNhcm91c2VsIHRyYWNrIC0gcmVtb3ZlZCwgbm93IHVzaW5nIGdyaWQgKi9cbi5wcm9wZXJ0eS1jYXJvdXNlbC10cmFjayB7XG4gIGRpc3BsYXk6IGNvbnRlbnRzOyAvKiBBbGxvd3MgZ3JpZCBpdGVtcyB0byBiZSBkaXJlY3QgY2hpbGRyZW4gKi9cbn1cblxuLyogUHJvcGVydHkgY2Fyb3VzZWwgaXRlbSAtIG5vdyBqdXN0IGEgZ3JpZCBpdGVtIHdyYXBwZXIgKi9cbi5wcm9wZXJ0eS1jYXJvdXNlbC1pdGVtIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG59XG4ucHJvcGVydHktY2Fyb3VzZWwtaXRlbSA+IC5jYXJkLFxuLnByb3BlcnR5LWNhcm91c2VsLWl0ZW0gPiAudmlwLXByb3BlcnR5LWNhcmQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogOTkycHgpIHtcbiAgLnByb3BlcnR5LWNhcm91c2VsLWl0ZW0ge1xuICAgIGZsZXgtYmFzaXM6IGNhbGMoNTAlIC0gMC43NXJlbSk7XG4gIH1cbiAgLnByb3BlcnR5LWltYWdlLFxuICAudmlwLXByb3BlcnR5LWltYWdlLFxuICAucHJvcGVydHktY2FyZCAuY2FyZC1pbWctdG9wLFxuICAudmlwLXByb3BlcnR5LWNhcmQgaW1nLFxuICAuZmVhdHVyZWQtcHJvcGVydGllcyAucHJvcGVydHktY2FyZCAuY2FyZC1pbWctdG9wLFxuICAubGF0ZXN0LXByb3BlcnRpZXMgLnByb3BlcnR5LWNhcmQgLmNhcmQtaW1nLXRvcCB7XG4gICAgaGVpZ2h0OiAyMDBweDsgLyogYXNwZWN0LXJhdGlvINC30LDQv9Cw0LfQstCwIDE2Ojkg0L/RgNC+0L/QvtGA0YbQuNGP0YLQsCAqL1xuICB9XG59XG5AbWVkaWEgKG1heC13aWR0aDogNjQwcHgpIHtcbiAgLnByb3BlcnR5LWNhcm91c2VsIHtcbiAgICBwYWRkaW5nOiAwIDEuNXJlbTtcbiAgfVxuICAucHJvcGVydHktY2Fyb3VzZWwtaXRlbSB7XG4gICAgZmxleC1iYXNpczogMTAwJTtcbiAgfVxuICAucHJvcGVydHktaW1hZ2UsXG4gIC52aXAtcHJvcGVydHktaW1hZ2UsXG4gIC5wcm9wZXJ0eS1jYXJkIC5jYXJkLWltZy10b3AsXG4gIC52aXAtcHJvcGVydHktY2FyZCBpbWcsXG4gIC5mZWF0dXJlZC1wcm9wZXJ0aWVzIC5wcm9wZXJ0eS1jYXJkIC5jYXJkLWltZy10b3AsXG4gIC5sYXRlc3QtcHJvcGVydGllcyAucHJvcGVydHktY2FyZCAuY2FyZC1pbWctdG9wIHtcbiAgICBoZWlnaHQ6IDE1MHB4OyAvKiBhc3BlY3QtcmF0aW8g0LfQsNC/0LDQt9Cy0LAgMTY6OSDQv9GA0L7Qv9C+0YDRhtC40Y/RgtCwINC90LAg0LzQsNC70LrQuCDQtdC60YDQsNC90LggKi9cbiAgfVxufVxuLyogQ2Fyb3VzZWwgbmF2aWdhdGlvbiAtIGhpZGRlbiBmb3IgZ3JpZCBsYXlvdXQgKi9cbi5jYXJvdXNlbC1uYXYge1xuICBkaXNwbGF5OiBub25lOyAvKiBHcmlkIGRvZXNuJ3QgbmVlZCBuYXZpZ2F0aW9uIGFycm93cyAqL1xufVxuXG4ucHJvcGVydHktY2FyZCB7XG4gIGhlaWdodDogMTAwJTtcbiAgYmFja2dyb3VuZDogd2hpdGU7XG4gIGJvcmRlcjogMnB4IHNvbGlkICNlMmU4ZjA7XG4gIGJvcmRlci1yYWRpdXM6IDE2cHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGJveC1zaGFkb3c6IDAgMnB4IDE2cHggcmdiYSgwLCAwLCAwLCAwLjA0KTtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMzVzIGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSk7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbn1cbi5wcm9wZXJ0eS1jYXJkOmhvdmVyIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC04cHgpO1xuICBib3JkZXItY29sb3I6ICMxOTc2ZDI7XG4gIGJveC1zaGFkb3c6IDAgMTJweCA0MHB4IHJnYmEoMjUsIDExOCwgMjEwLCAwLjE1KTtcbn1cbi5wcm9wZXJ0eS1jYXJkIC5jYXJkLWJvZHkge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBwYWRkaW5nOiAxLjVyZW07XG4gIGZsZXg6IDE7XG59XG4ucHJvcGVydHktY2FyZCAuY2FyZC10aXRsZSB7XG4gIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjM7XG4gIGNvbG9yOiAjMWUyOTNiO1xuICBtYXJnaW4tYm90dG9tOiAwLjc1cmVtO1xuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgLXdlYmtpdC1saW5lLWNsYW1wOiAyO1xuICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBtaW4taGVpZ2h0OiAyLjZlbTtcbn1cbi5wcm9wZXJ0eS1jYXJkIC5jYXJkLXRleHQge1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBjb2xvcjogIzY0NzQ4YjtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG59XG4ucHJvcGVydHktY2FyZCAuY2FyZC10ZXh0IGkge1xuICBjb2xvcjogIzE5NzZkMjtcbiAgbWFyZ2luLXJpZ2h0OiAwLjI1cmVtO1xufVxuLnByb3BlcnR5LWNhcmQgLmJ0bi1pbmR1c3RyaWFsIHtcbiAgbWFyZ2luLXRvcDogYXV0bztcbn1cblxuLnByb3BlcnR5LWltYWdlLFxuLnZpcC1wcm9wZXJ0eS1pbWFnZSxcbi5wcm9wZXJ0eS1jYXJkIC5jYXJkLWltZy10b3AsXG4udmlwLXByb3BlcnR5LWNhcmQgaW1nIHtcbiAgYXNwZWN0LXJhdGlvOiAxNi85OyAvKiDQvNC+0LTQtdGA0LXQvSDQutC+0L3RgtGA0L7QuyDQvdCwINC/0YDQvtC/0L7RgNGG0LjQuCAqL1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAyNTBweDsgLyogZmFsbGJhY2sg0LfQsCDRgdGC0LDRgNC4INCx0YDQsNGD0LfRitGA0LggKi9cbiAgZGlzcGxheTogYmxvY2s7XG4gIG9iamVjdC1maXQ6IGNvdmVyO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC41cyBlYXNlO1xufVxuXG4ucHJvcGVydHktY2FyZDpob3ZlciAucHJvcGVydHktaW1hZ2UsXG4ucHJvcGVydHktY2FyZDpob3ZlciAuY2FyZC1pbWctdG9wIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLjA1KTtcbn1cblxuLyogUHJvcGVydHkgZmVhdHVyZXMgZ3JpZCAqL1xuLnByb3BlcnR5LWZlYXR1cmVzIHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwIDAgMS41cmVtO1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7XG4gIGdhcDogMC41cmVtO1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBjb2xvcjogIzY0NzQ4Yjtcbn1cblxuLnByb3BlcnR5LWZlYXR1cmUge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDAuNHJlbTtcbiAgcGFkZGluZzogMC41cmVtO1xuICBiYWNrZ3JvdW5kOiAjZjhmYWZjO1xuICBib3JkZXItcmFkaXVzOiA4cHg7XG59XG4ucHJvcGVydHktZmVhdHVyZSBpIHtcbiAgY29sb3I6ICMxOTc2ZDI7XG4gIGZvbnQtc2l6ZTogMC45cmVtO1xufVxuXG4uY3RhLXNlY3Rpb24ge1xuICBwYWRkaW5nOiA1cmVtIDA7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsICMwZjE3MmEgMCUsICMxZTI5M2IgNTAlLCAjMzM0MTU1IDEwMCUpO1xuICBjb2xvcjogd2hpdGU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuLmN0YS1zZWN0aW9uOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgYmFja2dyb3VuZDogcmVwZWF0aW5nLWxpbmVhci1ncmFkaWVudCg5MGRlZywgdHJhbnNwYXJlbnQsIHRyYW5zcGFyZW50IDgwcHgsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wMikgODBweCwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjAyKSA4MXB4KTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG4uY3RhLXNlY3Rpb246OmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgd2lkdGg6IDIwMHB4O1xuICBoZWlnaHQ6IDIwMHB4O1xuICBiYWNrZ3JvdW5kOiByYWRpYWwtZ3JhZGllbnQoY2lyY2xlLCByZ2JhKDI1LCAxMTgsIDIxMCwgMC4xKSAwJSwgdHJhbnNwYXJlbnQgNzAlKTtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cbi5jdGEtc2VjdGlvbiBoMiB7XG4gIGZvbnQtd2VpZ2h0OiAyMDA7XG4gIGZvbnQtc2l6ZTogMi44cmVtO1xuICBtYXJnaW4tYm90dG9tOiAxLjVyZW07XG4gIHRleHQtc2hhZG93OiAwIDJweCA0cHggcmdiYSgwLCAwLCAwLCAwLjMpO1xufVxuQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gIC5jdGEtc2VjdGlvbiBoMiB7XG4gICAgZm9udC1zaXplOiAyLjJyZW07XG4gIH1cbn1cbi5jdGEtc2VjdGlvbiBwIHtcbiAgZm9udC1zaXplOiAxLjJyZW07XG4gIG9wYWNpdHk6IDAuOTtcbiAgbWF4LXdpZHRoOiA2NTBweDtcbiAgbWFyZ2luOiAwIGF1dG8gMi41cmVtO1xuICBsaW5lLWhlaWdodDogMS43O1xufVxuLmN0YS1zZWN0aW9uIC5idG4ge1xuICBiYWNrZ3JvdW5kOiAjMzQ0OTVlO1xuICBib3JkZXI6IDJweCBzb2xpZCAjMzQ0OTVlO1xuICBjb2xvcjogd2hpdGU7XG4gIHBhZGRpbmc6IDFyZW0gMi41cmVtO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBmb250LXdlaWdodDogNTAwO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBsZXR0ZXItc3BhY2luZzogMC44cHg7XG4gIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cbi5jdGEtc2VjdGlvbiAuYnRuOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEpO1xuICAvKiB1c2UgdHJhbnNmb3JtIGZvciBhbmltYXRpb24gaW5zdGVhZCBvZiBjaGFuZ2luZyBsZWZ0IHRvIGF2b2lkIGxheW91dCByZWZsb3cvb3ZlcmZsb3cgKi9cbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMjhzIGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSk7XG4gIHotaW5kZXg6IDE7XG59XG4uY3RhLXNlY3Rpb24gLmJ0bjpob3ZlciB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogIzM0NDk1ZTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0ycHgpO1xuICBib3gtc2hhZG93OiAwIDhweCAyNXB4IHJnYmEoNTIsIDczLCA5NCwgMC4zKTtcbn1cbi5jdGEtc2VjdGlvbiAuYnRuOmhvdmVyOjpiZWZvcmUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG59XG5cbi52aXAtcHJvcGVydHktc2VjdGlvbiB7XG4gIHBhZGRpbmc6IDZyZW0gMDtcbiAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAvKiBTdWJ0bGUgdG9wIHNlcGFyYXRvciBmb3IgY29uc2lzdGVuY3kgKi9cbiAgLyogR3JpZCBjb250YWluZXIgbGlrZSBGZWF0dXJlZC9MYXRlc3QgKi9cbn1cbi52aXAtcHJvcGVydHktc2VjdGlvbjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDEwJTtcbiAgcmlnaHQ6IDEwJTtcbiAgaGVpZ2h0OiAxcHg7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgdHJhbnNwYXJlbnQsICNlMmU4ZjAgMjAlLCAjY2JkNWUxIDUwJSwgI2UyZThmMCA4MCUsIHRyYW5zcGFyZW50KTtcbiAgb3BhY2l0eTogMC42O1xufVxuLnZpcC1wcm9wZXJ0eS1zZWN0aW9uIC5zZWN0aW9uLWhlYWRlciB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbWFyZ2luLWJvdHRvbTogNHJlbTtcbn1cbi52aXAtcHJvcGVydHktc2VjdGlvbiAuc2VjdGlvbi1oZWFkZXIgaDIge1xuICBmb250LXNpemU6IDIuNXJlbTtcbiAgZm9udC13ZWlnaHQ6IDIwMDtcbiAgY29sb3I6ICMwZjE3MmE7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG59XG5AbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgLnZpcC1wcm9wZXJ0eS1zZWN0aW9uIC5zZWN0aW9uLWhlYWRlciBoMiB7XG4gICAgZm9udC1zaXplOiAycmVtO1xuICB9XG59XG4udmlwLXByb3BlcnR5LXNlY3Rpb24gLnNlY3Rpb24taGVhZGVyIGgyIGkge1xuICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTtcbiAgY29sb3I6ICMxOTc2ZDI7XG59XG4udmlwLXByb3BlcnR5LXNlY3Rpb24gLnNlY3Rpb24taGVhZGVyIC5sZWFkIHtcbiAgZm9udC1zaXplOiAxLjI1cmVtO1xuICBjb2xvcjogIzY0NzQ4Yjtcbn1cbi52aXAtcHJvcGVydHktc2VjdGlvbiAucHJvcGVydHktY2Fyb3VzZWwge1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLCAxZnIpO1xuICBnYXA6IDJyZW07XG4gIHBvc2l0aW9uOiBzdGF0aWM7XG4gIHBhZGRpbmc6IDA7XG59XG5AbWVkaWEgKG1heC13aWR0aDogOTkycHgpIHtcbiAgLnZpcC1wcm9wZXJ0eS1zZWN0aW9uIC5wcm9wZXJ0eS1jYXJvdXNlbCB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTtcbiAgICBnYXA6IDEuNXJlbTtcbiAgfVxufVxuQG1lZGlhIChtYXgtd2lkdGg6IDY0MHB4KSB7XG4gIC52aXAtcHJvcGVydHktc2VjdGlvbiAucHJvcGVydHktY2Fyb3VzZWwge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuICAgIGdhcDogMS41cmVtO1xuICB9XG59XG5cbi52aXAtcHJvcGVydHktY2FyZCB7XG4gIGJhY2tncm91bmQ6IHdoaXRlO1xuICBib3JkZXI6IDJweCBzb2xpZCAjZTJlOGYwO1xuICBib3JkZXItcmFkaXVzOiAxNnB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBib3gtc2hhZG93OiAwIDJweCAxNnB4IHJnYmEoMCwgMCwgMCwgMC4wNCk7XG4gIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuLnZpcC1wcm9wZXJ0eS1jYXJkOmhvdmVyIHtcbiAgYm9yZGVyLWNvbG9yOiAjY2JkNWUxO1xuICBib3gtc2hhZG93OiAwIDRweCAyMHB4IHJnYmEoMCwgMCwgMCwgMC4wOCk7XG59XG4udmlwLXByb3BlcnR5LWNhcmQ6OmFmdGVyIHtcbiAgY29udGVudDogXCJQcmVtaXVtXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAxcmVtO1xuICByaWdodDogMXJlbTtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgIzE5NzZkMiAwJSwgIzE1NjVjMCAxMDAlKTtcbiAgY29sb3I6IHdoaXRlO1xuICBwYWRkaW5nOiAwLjRyZW0gMXJlbTtcbiAgZm9udC1zaXplOiAwLjc1cmVtO1xuICBmb250LXdlaWdodDogNzAwO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBsZXR0ZXItc3BhY2luZzogMXB4O1xuICBib3JkZXItcmFkaXVzOiAyMHB4O1xuICB6LWluZGV4OiAxMDtcbiAgYm94LXNoYWRvdzogMCAycHggOHB4IHJnYmEoMjUsIDExOCwgMjEwLCAwLjMpO1xufVxuXG4udmlwLXByb3BlcnR5LWltYWdlIHtcbiAgYXNwZWN0LXJhdGlvOiAxNi85O1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAyNTBweDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG9iamVjdC1maXQ6IGNvdmVyO1xuICB0cmFuc2l0aW9uOiBub25lO1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogOTkycHgpIHtcbiAgLnZpcC1wcm9wZXJ0eS1pbWFnZSB7XG4gICAgaGVpZ2h0OiAyMDBweDtcbiAgfVxufVxuQG1lZGlhIChtYXgtd2lkdGg6IDY0MHB4KSB7XG4gIC52aXAtcHJvcGVydHktaW1hZ2Uge1xuICAgIGhlaWdodDogMTUwcHg7XG4gIH1cbn1cbi52aXAtcHJvcGVydHktZGV0YWlscyB7XG4gIHBhZGRpbmc6IDEuNXJlbTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZmxleDogMTtcbn1cblxuLnZpcC1wcm9wZXJ0eS10aXRsZSB7XG4gIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gIG1hcmdpbi1ib3R0b206IDAuNzVyZW07XG4gIGNvbG9yOiAjMWUyOTNiO1xuICBmb250LXdlaWdodDogNjAwO1xuICBsaW5lLWhlaWdodDogMS4zO1xuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgLXdlYmtpdC1saW5lLWNsYW1wOiAyO1xuICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBtaW4taGVpZ2h0OiAyLjZlbTtcbn1cblxuLnZpcC1wcm9wZXJ0eS1pbmZvIHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyO1xuICBnYXA6IDAuNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMS41cmVtO1xufVxuXG4udmlwLXByb3BlcnR5LWluZm8gcCB7XG4gIG1hcmdpbjogMDtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgY29sb3I6ICM2NDc0OGI7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIHBhZGRpbmc6IDAuNXJlbTtcbiAgYmFja2dyb3VuZDogI2Y4ZmFmYztcbiAgYm9yZGVyLXJhZGl1czogOHB4O1xufVxuXG4udmlwLXByb3BlcnR5LWluZm8gaSB7XG4gIG1hcmdpbi1yaWdodDogMC41cmVtO1xuICBjb2xvcjogIzE5NzZkMjtcbiAgd2lkdGg6IDE2cHg7XG59XG5cbi52aXAtcHJvcGVydHktcHJpY2Uge1xuICBmb250LXNpemU6IDEuNHJlbTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgY29sb3I6ICMwNTk2Njk7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG59XG4udmlwLXByb3BlcnR5LXByaWNlIGkge1xuICBtYXJnaW4tcmlnaHQ6IDAuM3JlbTtcbn1cblxuLnZpcC1wcm9wZXJ0eS1zdGF0dXMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDAuNXJlbTtcbiAgZm9udC1zaXplOiAwLjhyZW07XG4gIG1hcmdpbi1ib3R0b206IDEuNXJlbTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuNXB4O1xufVxuLnZpcC1wcm9wZXJ0eS1zdGF0dXMgaSB7XG4gIGZvbnQtc2l6ZTogMC42cmVtO1xufVxuXG4uc3RhdHVzLWF2YWlsYWJsZSB7XG4gIGNvbG9yOiAjMDU5NjY5O1xufVxuLnN0YXR1cy1hdmFpbGFibGUgaSB7XG4gIGNvbG9yOiAjMDU5NjY5O1xufVxuXG4uc3RhdHVzLXJlc2VydmVkIHtcbiAgY29sb3I6ICNkOTc3MDY7XG59XG4uc3RhdHVzLXJlc2VydmVkIGkge1xuICBjb2xvcjogI2Q5NzcwNjtcbn1cblxuLnN0YXR1cy1zb2xkIHtcbiAgY29sb3I6ICNkYzI2MjY7XG59XG4uc3RhdHVzLXNvbGQgaSB7XG4gIGNvbG9yOiAjZGMyNjI2O1xufVxuXG4uc3RhdHVzLWF1Y3Rpb24ge1xuICAvKiBOZXV0cmFsIHN0YXR1cyBjb2xvciAqL1xuICBjb2xvcjogdmFyKC0tcGMtdGV4dCk7XG59XG4uc3RhdHVzLWF1Y3Rpb24gaSB7XG4gIGNvbG9yOiB2YXIoLS1wYy10ZXh0KTtcbn1cblxuLnN0YXR1cy1yZW50ZWQge1xuICBjb2xvcjogIzA4OTFiMjtcbn1cbi5zdGF0dXMtcmVudGVkIGkge1xuICBjb2xvcjogIzA4OTFiMjtcbn1cblxuLyogSW5kdXN0cmlhbCBEZXNpZ24gVXRpbGl0aWVzICovXG4uc2VjdGlvbi1oZWFkZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi1ib3R0b206IDRyZW07XG4gIHRleHQtYWxpZ246IGxlZnQ7XG59XG4uc2VjdGlvbi1oZWFkZXIgaDIge1xuICBmb250LXNpemU6IDIuNXJlbTtcbiAgZm9udC13ZWlnaHQ6IDIwMDtcbiAgY29sb3I6ICMxZTI5M2I7XG4gIG1hcmdpbi1ib3R0b206IDAuOHJlbTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZXR0ZXItc3BhY2luZzogLTAuMDJlbTtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbn1cbi5zZWN0aW9uLWhlYWRlciBwIHtcbiAgY29sb3I6ICM2NDc0OGI7XG4gIGZvbnQtc2l6ZTogMS4xcmVtO1xuICBtYXJnaW46IDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjY7XG4gIG1heC13aWR0aDogNjAwcHg7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEdMT0JBTCBCVVRUT04gU1lTVEVNIChIZXJvLWJhc2VkKVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogUHJpbWFyeSBCdXR0b24gLSBTb2xpZCBCbHVlIChNYWluIENUQSkgKi9cbi5idG4tcHJpbWFyeSxcbi5idG4taW5kdXN0cmlhbC5idG4tcHJpbWFyeSB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgcGFkZGluZzogMCAyOHB4O1xuICBoZWlnaHQ6IDQ0cHg7XG4gIGZvbnQtc2l6ZTogMTVweDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgY29sb3I6IHdoaXRlO1xuICBiYWNrZ3JvdW5kOiAjMTk3NmQyO1xuICBib3JkZXI6IDJweCBzb2xpZCAjMTk3NmQyO1xuICBib3JkZXItcmFkaXVzOiA1MHB4O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICBsZXR0ZXItc3BhY2luZzogbm9ybWFsO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4yNXMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKTtcbiAgYm94LXNoYWRvdzogMCAycHggMTJweCByZ2JhKDI1LCAxMTgsIDIxMCwgMC4yKTtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuLmJ0bi1wcmltYXJ5OmhvdmVyLFxuLmJ0bi1pbmR1c3RyaWFsLmJ0bi1wcmltYXJ5OmhvdmVyIHtcbiAgYmFja2dyb3VuZDogIzE1NjVjMDtcbiAgYm9yZGVyLWNvbG9yOiAjMTU2NWMwO1xuICBjb2xvcjogd2hpdGU7XG4gIGJveC1zaGFkb3c6IDAgNHB4IDE2cHggcmdiYSgyNSwgMTE4LCAyMTAsIDAuMyk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMnB4KTtcbn1cbi5idG4tcHJpbWFyeTphY3RpdmUsXG4uYnRuLWluZHVzdHJpYWwuYnRuLXByaW1hcnk6YWN0aXZlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xufVxuLmJ0bi1wcmltYXJ5OmZvY3VzLXZpc2libGUsXG4uYnRuLWluZHVzdHJpYWwuYnRuLXByaW1hcnk6Zm9jdXMtdmlzaWJsZSB7XG4gIG91dGxpbmU6IDJweCBzb2xpZCAjMTk3NmQyO1xuICBvdXRsaW5lLW9mZnNldDogMnB4O1xufVxuXG4vKiBTZWNvbmRhcnkgQnV0dG9uIC0gT3V0bGluZS9HaG9zdCAoU2Vjb25kYXJ5IENUQSkgKi9cbi5idG4tc2Vjb25kYXJ5LFxuLmJ0bi1vdXRsaW5lLXByaW1hcnksXG4uYnRuLWluZHVzdHJpYWwge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHBhZGRpbmc6IDAgMjhweDtcbiAgaGVpZ2h0OiA0NHB4O1xuICBmb250LXNpemU6IDE1cHg7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGNvbG9yOiAjMWUyOTNiO1xuICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgYm9yZGVyOiAycHggc29saWQgI2NiZDVlMTtcbiAgYm9yZGVyLXJhZGl1czogNTBweDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMjVzIGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSk7XG4gIGJveC1zaGFkb3c6IDAgMnB4IDEycHggcmdiYSgxNSwgMjMsIDQyLCAwLjA2KTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG4uYnRuLXNlY29uZGFyeTo6YmVmb3JlLFxuLmJ0bi1vdXRsaW5lLXByaW1hcnk6OmJlZm9yZSxcbi5idG4taW5kdXN0cmlhbDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJhY2tncm91bmQ6ICMxOTc2ZDI7XG4gIHRyYW5zZm9ybTogc2NhbGVYKDApO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0O1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIsIDEpO1xuICB6LWluZGV4OiAtMTsgLyogcHV0IHRoZSBmaWxsIGJlaGluZCB0aGUgYnV0dG9uIGNvbnRlbnQgdG8gcHJldmVudCBjb3ZlcmluZyB0ZXh0ICovXG59XG4uYnRuLXNlY29uZGFyeSBzcGFuLFxuLmJ0bi1zZWNvbmRhcnkgaSxcbi5idG4tb3V0bGluZS1wcmltYXJ5IHNwYW4sXG4uYnRuLW91dGxpbmUtcHJpbWFyeSBpLFxuLmJ0bi1pbmR1c3RyaWFsIHNwYW4sXG4uYnRuLWluZHVzdHJpYWwgaSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMTtcbn1cbi5idG4tc2Vjb25kYXJ5OmhvdmVyLFxuLmJ0bi1vdXRsaW5lLXByaW1hcnk6aG92ZXIsXG4uYnRuLWluZHVzdHJpYWw6aG92ZXIge1xuICBib3JkZXItY29sb3I6ICMxOTc2ZDI7XG4gIGNvbG9yOiB3aGl0ZSAhaW1wb3J0YW50OyAvKiBlbnN1cmUgY29sb3IgaXMgdmlzaWJsZSBldmVuIGlmIG90aGVyIHNlbGVjdG9ycyB0cnkgdG8gb3ZlcnJpZGUgKi9cbiAgYm94LXNoYWRvdzogMCA0cHggMTZweCByZ2JhKDI1LCAxMTgsIDIxMCwgMC4yNSk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMnB4KTtcbn1cbi5idG4tc2Vjb25kYXJ5OmhvdmVyOjpiZWZvcmUsXG4uYnRuLW91dGxpbmUtcHJpbWFyeTpob3Zlcjo6YmVmb3JlLFxuLmJ0bi1pbmR1c3RyaWFsOmhvdmVyOjpiZWZvcmUge1xuICB0cmFuc2Zvcm06IHNjYWxlWCgxKTtcbn1cbi5idG4tc2Vjb25kYXJ5OmFjdGl2ZSxcbi5idG4tb3V0bGluZS1wcmltYXJ5OmFjdGl2ZSxcbi5idG4taW5kdXN0cmlhbDphY3RpdmUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG59XG4uYnRuLXNlY29uZGFyeTpmb2N1cy12aXNpYmxlLFxuLmJ0bi1vdXRsaW5lLXByaW1hcnk6Zm9jdXMtdmlzaWJsZSxcbi5idG4taW5kdXN0cmlhbDpmb2N1cy12aXNpYmxlIHtcbiAgb3V0bGluZTogMnB4IHNvbGlkICMxOTc2ZDI7XG4gIG91dGxpbmUtb2Zmc2V0OiAycHg7XG59XG5cbi8qIEhlcm8gQ1RBIC0gSW5oZXJpdHMgZnJvbSBnbG9iYWwgcHJpbWFyeSBidXR0b24gc3lzdGVtICovXG4uaGVyby1jdGEge1xuICAvKiBCYXNlIHN0eWxlcyBmcm9tIC5idG4tcHJpbWFyeSAqL1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHBhZGRpbmc6IDAgMzJweDtcbiAgaGVpZ2h0OiA0OHB4O1xuICBmb250LXNpemU6IDE2cHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgYmFja2dyb3VuZDogIzE5NzZkMjtcbiAgYm9yZGVyOiAycHggc29saWQgIzE5NzZkMjtcbiAgYm9yZGVyLXJhZGl1czogNTBweDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBib3gtc2hhZG93OiAwIDRweCAxNnB4IHJnYmEoMjUsIDExOCwgMjEwLCAwLjI1KTtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMjVzIGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSk7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgzMHB4KTtcbiAgYW5pbWF0aW9uOiBoZXJvRmFkZUluVXAgMXMgZWFzZS1vdXQgMC45cyBmb3J3YXJkcztcbn1cbi5oZXJvLWN0YTo6YmVmb3JlIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuLmhlcm8tY3RhOmhvdmVyIHtcbiAgY29sb3I6IHdoaXRlO1xuICBiYWNrZ3JvdW5kOiAjMTU2NWMwO1xuICBib3JkZXItY29sb3I6ICMxNTY1YzA7XG4gIGJveC1zaGFkb3c6IDAgOHB4IDI0cHggcmdiYSgyNSwgMTE4LCAyMTAsIDAuMzUpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTNweCk7XG59XG4uaGVyby1jdGE6YWN0aXZlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xcHgpO1xuICBib3gtc2hhZG93OiAwIDRweCAxNnB4IHJnYmEoMjUsIDExOCwgMjEwLCAwLjI1KTtcbn1cbi5oZXJvLWN0YTpmb2N1cy12aXNpYmxlIHtcbiAgb3V0bGluZTogM3B4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC44KTtcbiAgb3V0bGluZS1vZmZzZXQ6IDNweDtcbiAgYm94LXNoYWRvdzogMCAxMnB4IDM1cHggcmdiYSgwLCAwLCAwLCAwLjI1KTtcbn1cblxuLyogVHlwb2dyYXBoeSBpbXByb3ZlbWVudHMgKi9cbi50ZXh0LWluZHVzdHJpYWwge1xuICBjb2xvcjogIzFlMjkzYjtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbn1cblxuLnRleHQtYWNjZW50IHtcbiAgY29sb3I6ICMzNDQ5NWU7XG59XG5cbi50ZXh0LW11dGVkLWluZHVzdHJpYWwge1xuICBjb2xvcjogIzY0NzQ4Yjtcbn1cblxuLyogQmxvZy1zcGVjaWZpYyByb3VuZGluZyBmb3IgY29uc2lzdGVuY3kgd2l0aCBob21lcGFnZSAqL1xuLmJsb2ctcGFnZSB7XG4gIC8qIE1ha2UgaW5kdXN0cmlhbCBidXR0b25zIHJvdW5kZWQgaW5zaWRlIGJsb2cgcGFnZXMgKHJlYWQgbW9yZSwgYmFjayBidXR0b24pICovXG4gIC8qIExhcmdlciwgcHJvbWluZW50IGJhY2sgYnV0dG9uIGluIHNpZGViYXIgKi9cbn1cbi5ibG9nLXBhZ2UgLmJsb2ctY2FyZCB7XG4gIGJvcmRlci1yYWRpdXM6IDE0cHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGJveC1zaGFkb3c6IDAgNnB4IDIycHggcmdiYSgxMSwgMjIsIDM3LCAwLjA2KTtcbn1cbi5ibG9nLXBhZ2UgLmJ0bi1pbmR1c3RyaWFsIHtcbiAgYm9yZGVyLXJhZGl1czogMjhweDtcbiAgcGFkZGluZzogMC42cmVtIDEuNnJlbTtcbn1cbi5ibG9nLXBhZ2UgLmJsb2ctc2lkZWJhciAuYnRuLWluZHVzdHJpYWwuYnRuLWxnIHtcbiAgYm9yZGVyLXJhZGl1czogMjhweDtcbiAgcGFkZGluZzogMC45cmVtIDIuMnJlbTtcbn1cblxuLyogQWxsb3cgaW50ZXJhY3RpdmUgaG92ZXJzIGluc2lkZSBQcmVtaXVtIHNlY3Rpb24gYW5kIGFsaWduIGNhcmQgYmVoYXZpb3VyIHdpdGggb3RoZXIgc2VjdGlvbnMgKi9cbi8qIE5vdGU6IHdlIGludGVudGlvbmFsbHkga2VlcCBiYWRnZXMgdmlzaWJsZSwgYnV0IGFsbG93IGludGVyYWN0aXZlIHN0YXRlcyBmb3IgYnV0dG9ucyBhbmQgY2FyZHMgKi9cbi8qIFZJUCBjYXJkcyBzaGFyZSBzYW1lIGhvdmVyIGxpZnQgYW5kIHNoYWRvdyBhcyByZWd1bGFyIHByb3BlcnR5IGNhcmRzICovXG4udmlwLXByb3BlcnR5LWNhcmQge1xuICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgYm9yZGVyOiAycHggc29saWQgI2UyZThmMDtcbiAgYm9yZGVyLXJhZGl1czogMTZweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYm94LXNoYWRvdzogMCAycHggMTZweCByZ2JhKDAsIDAsIDAsIDAuMDQpO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4zNXMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBoZWlnaHQ6IDEwMCU7XG59XG4udmlwLXByb3BlcnR5LWNhcmQ6aG92ZXIge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLThweCk7XG4gIGJvcmRlci1jb2xvcjogIzE5NzZkMjtcbiAgYm94LXNoYWRvdzogMCAxMnB4IDQwcHggcmdiYSgyNSwgMTE4LCAyMTAsIDAuMTUpO1xufVxuXG4vKiBCYWRnZSBzdHlsZXMgKi9cbi5iYWRnZS1pbmR1c3RyaWFsIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsICMxOTc2ZDIgMCUsICMxNTY1YzAgMTAwJSk7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgcGFkZGluZzogMC41cmVtIDFyZW07XG4gIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICBmb250LXdlaWdodDogMjAwO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBsZXR0ZXItc3BhY2luZzogMC41cHg7XG4gIGJvcmRlci1yYWRpdXM6IDIwcHg7XG4gIGJveC1zaGFkb3c6IDAgMnB4IDhweCByZ2JhKDI1LCAxMTgsIDIxMCwgMC4yKTtcbiAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTtcbn1cblxuLnR5cGUtY2FyZDpob3ZlciAuYmFkZ2UtaW5kdXN0cmlhbCB7XG4gIGJveC1zaGFkb3c6IDAgNHB4IDEycHggcmdiYSgyNSwgMTE4LCAyMTAsIDAuMyk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMnB4KTtcbn1cblxuLyogQ2FyZCBob3ZlciBlZmZlY3RzICovXG4uaG92ZXItbGlmdCB7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzIGN1YmljLWJlemllcigwLjI1LCAwLjQ2LCAwLjQ1LCAwLjk0KTtcbn1cbi5ob3Zlci1saWZ0OmhvdmVyIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC00cHgpO1xufVxuXG4vKiBHZW9tZXRyaWMgcGF0dGVybnMgKi9cbi5wYXR0ZXJuLWRvdHMge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4ucGF0dGVybi1kb3RzOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgYmFja2dyb3VuZC1pbWFnZTogcmFkaWFsLWdyYWRpZW50KGNpcmNsZSwgcmdiYSgyNSwgMTE4LCAyMTAsIDAuMSkgMXB4LCB0cmFuc3BhcmVudCAxcHgpO1xuICBiYWNrZ3JvdW5kLXNpemU6IDIwcHggMjBweDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbi8qIFNjcm9sbC10cmlnZ2VyZWQgYW5pbWF0aW9ucyBhbmQgVVggaW1wcm92ZW1lbnRzICovXG4uZmFkZS1pbi11cCB7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgzMHB4KTtcbiAgYW5pbWF0aW9uOiBmYWRlSW5VcCAwLjhzIGVhc2Utb3V0IGZvcndhcmRzO1xufVxuXG5Aa2V5ZnJhbWVzIGZhZGVJblVwIHtcbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICB9XG59XG5Aa2V5ZnJhbWVzIGZsb2F0IHtcbiAgMCUsIDEwMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKSB0cmFuc2xhdGVZKDBweCk7XG4gIH1cbiAgNTAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZykgdHJhbnNsYXRlWSgtMjBweCk7XG4gIH1cbn1cbi8qIFN0YWdnZXJlZCBhbmltYXRpb24gZGVsYXlzIGZvciBzZWN0aW9ucyAqL1xuLmhlcm8tc2VjdGlvbiAuZmFkZS1pbi11cDpudGgtY2hpbGQoMSkge1xuICBhbmltYXRpb24tZGVsYXk6IDAuMXM7XG59XG4uaGVyby1zZWN0aW9uIC5mYWRlLWluLXVwOm50aC1jaGlsZCgyKSB7XG4gIGFuaW1hdGlvbi1kZWxheTogMC4ycztcbn1cbi5oZXJvLXNlY3Rpb24gLmZhZGUtaW4tdXA6bnRoLWNoaWxkKDMpIHtcbiAgYW5pbWF0aW9uLWRlbGF5OiAwLjNzO1xufVxuXG4ucHJvcGVydHktdHlwZXMtc2VjdGlvbiAudHlwZS1jYXJkIHtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIwcHgpO1xuICBhbmltYXRpb246IGZhZGVJblVwIDAuNnMgZWFzZS1vdXQgZm9yd2FyZHM7XG59XG4ucHJvcGVydHktdHlwZXMtc2VjdGlvbiAudHlwZS1jYXJkOm50aC1jaGlsZCgxKSB7XG4gIGFuaW1hdGlvbi1kZWxheTogMC4xcztcbn1cbi5wcm9wZXJ0eS10eXBlcy1zZWN0aW9uIC50eXBlLWNhcmQ6bnRoLWNoaWxkKDIpIHtcbiAgYW5pbWF0aW9uLWRlbGF5OiAwLjJzO1xufVxuLnByb3BlcnR5LXR5cGVzLXNlY3Rpb24gLnR5cGUtY2FyZDpudGgtY2hpbGQoMykge1xuICBhbmltYXRpb24tZGVsYXk6IDAuM3M7XG59XG5cbi8qIEVuaGFuY2VkIGxvYWRpbmcgc3RhdGVzICovXG4uc2tlbGV0b24tbG9hZGVyIHtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDkwZGVnLCAjZjBmMGYwIDI1JSwgI2UwZTBlMCA1MCUsICNmMGYwZjAgNzUlKTtcbiAgYmFja2dyb3VuZC1zaXplOiAyMDAlIDEwMCU7XG4gIGFuaW1hdGlvbjogbG9hZGluZyAxLjVzIGluZmluaXRlO1xufVxuXG5Aa2V5ZnJhbWVzIGxvYWRpbmcge1xuICAwJSB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTIwMCUgMDtcbiAgfVxuICAxMDAlIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAyMDAlIDA7XG4gIH1cbn1cbmZvb3RlciB7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsICMxZTI5M2IgMCUsICMwZjE3MmEgMTAwJSk7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuZm9vdGVyOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIGhlaWdodDogMXB4O1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoOTBkZWcsIHRyYW5zcGFyZW50LCByZ2JhKDI1LCAxMTgsIDIxMCwgMC41KSwgdHJhbnNwYXJlbnQpO1xufVxuXG4vKiBQZXJmb3JtYW5jZSBvcHRpbWl6YXRpb25zICovXG4ubGF6eS1pbWFnZSB7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBlYXNlO1xufVxuLmxhenktaW1hZ2UubG9hZGVkIHtcbiAgb3BhY2l0eTogMTtcbn1cblxuLyogUHJpbnQgc3R5bGVzICovXG5AbWVkaWEgcHJpbnQge1xuICAubmF2YmFyLFxuICAuY29va2llLWNvbnNlbnQsXG4gIC5idG4sXG4gIGZvb3RlciB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG4gIC5oZXJvLXNlY3Rpb24ge1xuICAgIGJhY2tncm91bmQ6IG5vbmUgIWltcG9ydGFudDtcbiAgICBjb2xvcjogYmxhY2sgIWltcG9ydGFudDtcbiAgfVxuICAucHJvcGVydHktY2FyZCB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2NjYyAhaW1wb3J0YW50O1xuICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuLyogSGlnaCBwZXJmb3JtYW5jZSBhbmltYXRpb25zICovXG5Ac3VwcG9ydHMgKGJhY2tkcm9wLWZpbHRlcjogYmx1cigxMHB4KSkge1xuICAuZ2xhc3MtZWZmZWN0IHtcbiAgICAtd2Via2l0LWJhY2tkcm9wLWZpbHRlcjogYmx1cigxMHB4KTtcbiAgICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoMTBweCk7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEpO1xuICB9XG59XG4vKiBGaW5hbCByZXNwb25zaXZlIGFkanVzdG1lbnRzICovXG5AbWVkaWEgKG1heC13aWR0aDogNDgwcHgpIHtcbiAgLmhlcm8tdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMi4ycmVtO1xuICB9XG4gIC5zZWN0aW9uLWhlYWRlciBoMiB7XG4gICAgZm9udC1zaXplOiAxLjZyZW07XG4gIH1cbiAgLnByb3BlcnR5LWdyaWQge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuICAgIGdhcDogMXJlbTtcbiAgfVxuICAuY29udGFjdC1idXR0b25zIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICB9XG59XG4vKiBIb21lcGFnZSByb3VuZGVkIGRlc2lnbiBhZGp1c3RtZW50cyAqL1xuLmhlcm8tc2VjdGlvbiArIC5wcm9wZXJ0eS10eXBlcyAudHlwZS1jYXJkLFxuLmZlYXR1cmVkLXByb3BlcnRpZXMgLnR5cGUtY2FyZCxcbi5sYXRlc3QtcHJvcGVydGllcyAudHlwZS1jYXJkLFxuLnByb3BlcnR5LXR5cGVzIC50eXBlLWNhcmQge1xuICBib3JkZXItcmFkaXVzOiAxNHB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4vKiBQcm9wZXJ0eSBjYXJkcyByb3VuZGluZyBhbmQgaW1hZ2UgY2xpcHBpbmcgKi9cbi5mZWF0dXJlZC1wcm9wZXJ0aWVzIC5wcm9wZXJ0eS1jYXJkLFxuLmxhdGVzdC1wcm9wZXJ0aWVzIC5wcm9wZXJ0eS1jYXJkIHtcbiAgYm9yZGVyLXJhZGl1czogMTRweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLmZlYXR1cmVkLXByb3BlcnRpZXMgLnByb3BlcnR5LWNhcmQgLmNhcmQtaW1nLXRvcCxcbi5sYXRlc3QtcHJvcGVydGllcyAucHJvcGVydHktY2FyZCAuY2FyZC1pbWctdG9wIHtcbiAgaGVpZ2h0OiAyNTBweDtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMTRweDtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDE0cHg7XG59XG5cbi8qIFByb3BlcnR5IGZlYXR1cmVzIHNtYWxsIGJhZGdlcyAqL1xuLmZlYXR1cmVkLXByb3BlcnRpZXMgLnByb3BlcnR5LWZlYXR1cmUsXG4ubGF0ZXN0LXByb3BlcnRpZXMgLnByb3BlcnR5LWZlYXR1cmUge1xuICBib3JkZXItcmFkaXVzOiA4cHg7XG59XG5cbi8qIEZlYXR1cmVkL0xhdGVzdCBQcm9wZXJ0aWVzIC0gVXNlIGdsb2JhbCBidXR0b24gc3lzdGVtICovXG4uZmVhdHVyZWQtcHJvcGVydGllcyAuYnRuLmJ0bi1pbmR1c3RyaWFsLFxuLmxhdGVzdC1wcm9wZXJ0aWVzIC5idG4uYnRuLWluZHVzdHJpYWwge1xuICAvKiBBbHJlYWR5IGluaGVyaXRzIGZyb20gLmJ0bi1pbmR1c3RyaWFsIGdsb2JhbCBzdHlsZXMgKi9cbiAgLyogYm9yZGVyLXJhZGl1czogMTJweCAoZnJvbSBnbG9iYWwpICovXG4gIC8qIGhlaWdodDogNDRweCAoZnJvbSBnbG9iYWwpICovXG4gIHdpZHRoOiAxMDAlO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLyogU2xpZ2h0bHkgc29mdGVyIHNoYWRvdyBvbiByb3VuZGVkIGNhcmRzICovXG4uZmVhdHVyZWQtcHJvcGVydGllcyAucHJvcGVydHktY2FyZCxcbi5sYXRlc3QtcHJvcGVydGllcyAucHJvcGVydHktY2FyZCxcbi50eXBlLWNhcmQge1xuICBib3gtc2hhZG93OiAwIDZweCAyMnB4IHJnYmEoMCwgMCwgMCwgMC4wOSk7XG59XG5cbi8qIE1ha2Ugc3VyZSBsYXlvdXQgZ2FwcyByZW1haW4gY29uc2lzdGVudCBvbiBtb2JpbGUgKi9cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAuZmVhdHVyZWQtcHJvcGVydGllcyAucHJvcGVydHktY2FyZCxcbiAgLmxhdGVzdC1wcm9wZXJ0aWVzIC5wcm9wZXJ0eS1jYXJkIHtcbiAgICBib3JkZXItcmFkaXVzOiAxMnB4O1xuICB9XG59XG4vKiBWSVAgcHJvcGVydHkgY2FyZCByb3VuZGluZyAqL1xuLnZpcC1wcm9wZXJ0eS1zZWN0aW9uIC52aXAtcHJvcGVydHktY2FyZCB7XG4gIGJvcmRlci1yYWRpdXM6IDE0cHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGJveC1zaGFkb3c6IDAgOHB4IDI4cHggcmdiYSgwLCAwLCAwLCAwLjA5KTtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbn1cblxuLnZpcC1wcm9wZXJ0eS1zZWN0aW9uIC52aXAtcHJvcGVydHktaW1hZ2Uge1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGhlaWdodDogMjUwcHg7XG4gIG9iamVjdC1maXQ6IGNvdmVyO1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAxNHB4O1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMTRweDtcbn1cblxuLnZpcC1wcm9wZXJ0eS1zZWN0aW9uIC52aXAtcHJvcGVydHktZGV0YWlscyB7XG4gIHBhZGRpbmc6IDFyZW0gMS4yNXJlbSAxLjI1cmVtO1xufVxuXG4udmlwLXByb3BlcnR5LXNlY3Rpb24gLmJ0bi5idG4taW5kdXN0cmlhbCB7XG4gIC8qIEluaGVyaXRzIGZyb20gZ2xvYmFsIC5idG4taW5kdXN0cmlhbCAqL1xuICAvKiBib3JkZXItcmFkaXVzOiAxMnB4LCBoZWlnaHQ6IDQ0cHgsIGhvdmVyOiAjMTk3NmQyICovXG4gIHdpZHRoOiAxMDAlO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDk5MnB4KSB7XG4gIC52aXAtcHJvcGVydHktc2VjdGlvbiAudmlwLXByb3BlcnR5LWltYWdlIHtcbiAgICBoZWlnaHQ6IDIwMHB4O1xuICB9XG59XG4vKiBFbnN1cmUgVklQIGJ1dHRvbnMgYWx3YXlzIHNob3cgdGV4dCB3aGVuIGZpbGxlZCAqL1xuLnZpcC1wcm9wZXJ0eS1zZWN0aW9uIC5idG4uYnRuLWluZHVzdHJpYWw6aG92ZXIsXG4udmlwLXByb3BlcnR5LXNlY3Rpb24gLmJ0bi5idG4taW5kdXN0cmlhbDpmb2N1cyB7XG4gIGNvbG9yOiB3aGl0ZSAhaW1wb3J0YW50O1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgLnZpcC1wcm9wZXJ0eS1zZWN0aW9uIC52aXAtcHJvcGVydHktY2FyZCB7XG4gICAgYm9yZGVyLXJhZGl1czogMTJweDtcbiAgfVxuICAudmlwLXByb3BlcnR5LXNlY3Rpb24gLnZpcC1wcm9wZXJ0eS1pbWFnZSB7XG4gICAgaGVpZ2h0OiAxNTBweDtcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAxMnB4O1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAxMnB4O1xuICB9XG59XG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBBSSBDaGF0IE9mZmNhbnZhcyBTdHlsZXNcbiAgIE1pbmltYWwgUHJvZmVzc2lvbmFsIERlc2lnbiAtIG1hdGNoZXMgSE9NRS9QUk9QRVJUSUVTL0JMT0cvRkFRXG4gICBOTyBjaGF0IGJ1YmJsZXMgLSBwcm9mZXNzaW9uYWwgYWR2aXNvciBzdHlsZVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuI2hlcm9BaU9mZmNhbnZhcyB7XG4gIHdpZHRoOiA0NTBweDtcbiAgbWF4LXdpZHRoOiAxMDB2dztcbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAjaGVyb0FpT2ZmY2FudmFzIHtcbiAgICB3aWR0aDogbWluKDEwMHZ3LCA0MzBweCk7XG4gIH1cbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA1NzUuOThweCkge1xuICAjaGVyb0FpT2ZmY2FudmFzIHtcbiAgICB3aWR0aDogMTAwdnc7XG4gICAgaGVpZ2h0OiAxMDBkdmg7XG4gICAgbWF4LXdpZHRoOiAxMDB2dztcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICB9XG59XG4jaGVyb0FpT2ZmY2FudmFzIC5vZmZjYW52YXMtaGVhZGVyIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlOWVjZWY7XG4gIHBhZGRpbmc6IDEuMjVyZW0gMS41cmVtO1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xufVxuQG1lZGlhIChtYXgtd2lkdGg6IDU3NS45OHB4KSB7XG4gICNoZXJvQWlPZmZjYW52YXMgLm9mZmNhbnZhcy1oZWFkZXIge1xuICAgIHBhZGRpbmc6IDFyZW07XG4gIH1cbn1cbiNoZXJvQWlPZmZjYW52YXMgLm9mZmNhbnZhcy1oZWFkZXIgLm9mZmNhbnZhcy10aXRsZSB7XG4gIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGNvbG9yOiAjMjEyNTI5O1xufVxuQG1lZGlhIChtYXgtd2lkdGg6IDU3NS45OHB4KSB7XG4gICNoZXJvQWlPZmZjYW52YXMgLm9mZmNhbnZhcy1oZWFkZXIgLm9mZmNhbnZhcy10aXRsZSB7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICB9XG59XG4jaGVyb0FpT2ZmY2FudmFzIC5vZmZjYW52YXMtaGVhZGVyIC5haS1jaGF0LXRpdGxlIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIG1pbi13aWR0aDogMDtcbiAgZ2FwOiAwLjQ1cmVtO1xuICBtYXJnaW46IDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjI7XG59XG4jaGVyb0FpT2ZmY2FudmFzIC5vZmZjYW52YXMtaGVhZGVyIC5haS1jaGF0LXRpdGxlIHNwYW46Zmlyc3QtY2hpbGQge1xuICBtaW4td2lkdGg6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuI2hlcm9BaU9mZmNhbnZhcyAub2ZmY2FudmFzLWJvZHkge1xuICBwYWRkaW5nOiAwO1xuICBiYWNrZ3JvdW5kOiAjZjhmOWZhO1xuICBtaW4taGVpZ2h0OiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4uYWktY2hhdC1zdGF0dXMtZG90IHtcbiAgZmxleDogMCAwIGF1dG87XG4gIHdpZHRoOiA3cHg7XG4gIGhlaWdodDogN3B4O1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGJhY2tncm91bmQ6ICNjZWQ0ZGE7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDFweCk7XG59XG4uYWktY2hhdC1zdGF0dXMtZG90Lm9ubGluZSB7XG4gIGJhY2tncm91bmQ6ICMxOTc2ZDI7XG59XG5cbiNoZXJvQWlPZmZjYW52YXMuc2hvdyAuYWktYWdlbnQtc3RhdHVzLWRvdC5vbmxpbmUge1xuICBhbmltYXRpb246IGFpQWdlbnRQdWxzZSAxLjhzIGVhc2UtaW4tb3V0IGluZmluaXRlO1xufVxuXG5Aa2V5ZnJhbWVzIGFpQWdlbnRQdWxzZSB7XG4gIDAlIHtcbiAgICBib3gtc2hhZG93OiAwIDAgMCAwIHJnYmEoMjUsIDExOCwgMjEwLCAwLjM0KTtcbiAgfVxuICA3MCUge1xuICAgIGJveC1zaGFkb3c6IDAgMCAwIDdweCByZ2JhKDI1LCAxMTgsIDIxMCwgMCk7XG4gIH1cbiAgMTAwJSB7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgMCByZ2JhKDI1LCAxMTgsIDIxMCwgMCk7XG4gIH1cbn1cbi8qID09PT09PT09PT09PT09PT09PT09IE1lc3NhZ2VzIENvbnRhaW5lciA9PT09PT09PT09PT09PT09PT09PSAqL1xuLyogQ2xlYW4gY29udGVudCBhcmVhIGxpa2UgRkFRL0Jsb2cgLSBOTyBjaGF0IGJ1YmJsZXMgKi9cbi5haS1jaGF0LW1lc3NhZ2VzIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtaW4taGVpZ2h0OiAyODBweDtcbiAgbWF4LWhlaWdodDogNzUwcHg7XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIHBhZGRpbmc6IDEuNXJlbTtcbiAgYmFja2dyb3VuZDogI2Y4ZjlmYTtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlOWVjZWY7XG4gIC8qIE1pbmltYWwgc2Nyb2xsYmFyICovXG59XG4uYWktY2hhdC1tZXNzYWdlczo6LXdlYmtpdC1zY3JvbGxiYXIge1xuICB3aWR0aDogNHB4O1xufVxuLmFpLWNoYXQtbWVzc2FnZXM6Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNrIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG59XG4uYWktY2hhdC1tZXNzYWdlczo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIge1xuICBiYWNrZ3JvdW5kOiAjZGVlMmU2O1xuICBib3JkZXItcmFkaXVzOiA1MHJlbTtcbn1cbi5haS1jaGF0LW1lc3NhZ2VzOjotd2Via2l0LXNjcm9sbGJhci10aHVtYjpob3ZlciB7XG4gIGJhY2tncm91bmQ6ICNjZWQ0ZGE7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09IE1lc3NhZ2UgQmxvY2tzID09PT09PT09PT09PT09PT09PT09ICovXG4vKiBGbGF0IGNvbnRlbnQgYmxvY2tzIGxpa2UgQmxvZyBhcnRpY2xlcyAtIE5PIGJ1YmJsZXMgKi9cbi5haS1jaGF0LW1lc3NhZ2Uge1xuICBtYXJnaW4tYm90dG9tOiAxLjVyZW07XG4gIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICBsaW5lLWhlaWdodDogMS43O1xuICBjb2xvcjogIzQ5NTA1NztcbiAgd2hpdGUtc3BhY2U6IHByZS1saW5lO1xuICAvKiBVc2VyIHF1ZXJ5IC0gbWluaW1hbCBzdHlsZSAqL1xuICAvKiBCb3QgcmVzcG9uc2UgLSBjbGVhbiB0ZXh0IGxpa2UgYmxvZyBjb250ZW50ICovXG59XG4uYWktY2hhdC1tZXNzYWdlOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuLmFpLWNoYXQtbWVzc2FnZS51c2VyIHtcbiAgcGFkZGluZzogMXJlbSAxLjI1cmVtO1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBib3JkZXItbGVmdDogMnB4IHNvbGlkICMxOTc2ZDI7XG4gIGJvcmRlci1yYWRpdXM6IDAuMzc1cmVtO1xuICBjb2xvcjogIzIxMjUyOTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbn1cbi5haS1jaGF0LW1lc3NhZ2UuYm90IHtcbiAgcGFkZGluZzogMDtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiAjNDk1MDU3O1xufVxuLmFpLWNoYXQtbWVzc2FnZS5ib3QgcCB7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG59XG4uYWktY2hhdC1tZXNzYWdlLmJvdCBwOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuLmFpLWNoYXQtbWVzc2FnZS5ib3Qgc3Ryb25nLCAuYWktY2hhdC1tZXNzYWdlLmJvdCBiIHtcbiAgY29sb3I6ICMyMTI1Mjk7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG59XG4uYWktY2hhdC1tZXNzYWdlLmJvdCBhIHtcbiAgY29sb3I6ICMxOTc2ZDI7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdHJhbnNpdGlvbjogY29sb3IgMC4ycyBlYXNlO1xufVxuLmFpLWNoYXQtbWVzc2FnZS5ib3QgYTpob3ZlciB7XG4gIGNvbG9yOiByZ2IoMTkuNTc0NDY4MDg1MSwgOTIuMzkxNDg5MzYxNywgMTY0LjQyNTUzMTkxNDkpO1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cbi5haS1jaGF0LW1lc3NhZ2UuYm90IHVsLCAuYWktY2hhdC1tZXNzYWdlLmJvdCBvbCB7XG4gIG1hcmdpbjogMC43NXJlbSAwO1xuICBwYWRkaW5nLWxlZnQ6IDEuNXJlbTtcbn1cbi5haS1jaGF0LW1lc3NhZ2UuYm90IHVsIGxpLCAuYWktY2hhdC1tZXNzYWdlLmJvdCBvbCBsaSB7XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT0gTG9hZGluZyBTdGF0ZSA9PT09PT09PT09PT09PT09PT09PSAqL1xuLyogTWluaW1hbCB0ZXh0LWJhc2VkIGxvYWRpbmcgLSBOTyBmYW5jeSBhbmltYXRpb25zICovXG4uYWktY2hhdC10eXBpbmcge1xuICBwYWRkaW5nOiAwLjVyZW0gMDtcbiAgY29sb3I6ICNhZGI1YmQ7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogMC41cmVtO1xufVxuLmFpLWNoYXQtdHlwaW5nIC5kb3Qge1xuICB3aWR0aDogNHB4O1xuICBoZWlnaHQ6IDRweDtcbiAgYmFja2dyb3VuZDogI2NlZDRkYTtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBhbmltYXRpb246IHNpbXBsZVB1bHNlIDEuNXMgZWFzZS1pbi1vdXQgaW5maW5pdGU7XG59XG4uYWktY2hhdC10eXBpbmcgLmRvdDpudGgtY2hpbGQoMikge1xuICBhbmltYXRpb24tZGVsYXk6IDAuMnM7XG59XG4uYWktY2hhdC10eXBpbmcgLmRvdDpudGgtY2hpbGQoMykge1xuICBhbmltYXRpb24tZGVsYXk6IDAuNHM7XG59XG5cbkBrZXlmcmFtZXMgc2ltcGxlUHVsc2Uge1xuICAwJSwgMTAwJSB7XG4gICAgb3BhY2l0eTogMC4zO1xuICB9XG4gIDUwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuLyogPT09PT09PT09PT09PT09PT09PT0gU3VnZ2VzdGlvbnMgPT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIE1pbmltYWwgcGlsbHMgbGlrZSBGQVEgY2F0ZWdvcmllcyAqL1xuLmFpLWNoYXQtc3VnZ2VzdGlvbnMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGdhcDogMC41cmVtO1xuICBtYXJnaW4tdG9wOiAxcmVtO1xufVxuLmFpLWNoYXQtc3VnZ2VzdGlvbnMgLmFpLXN1Z2dlc3Rpb24tYnRuIHtcbiAgcGFkZGluZzogMC41cmVtIDFyZW07XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IDFweCBzb2xpZCAjZGVlMmU2O1xuICBib3JkZXItcmFkaXVzOiA1MHJlbTtcbiAgY29sb3I6ICM0OTUwNTc7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcbn1cbi5haS1jaGF0LXN1Z2dlc3Rpb25zIC5haS1zdWdnZXN0aW9uLWJ0bjpob3ZlciB7XG4gIGJhY2tncm91bmQ6ICNmOGY5ZmE7XG4gIGJvcmRlci1jb2xvcjogIzE5NzZkMjtcbiAgY29sb3I6ICMxOTc2ZDI7XG59XG5cbi5haS1wcm9wZXJ0eS1yZXN1bHRzIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiAwLjc1cmVtO1xuICBtYXJnaW4tdG9wOiAwLjg3NXJlbTtcbn1cblxuLmFpLXByb3BlcnR5LXNrZWxldG9ucyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGdhcDogMC43NXJlbTtcbiAgbWFyZ2luLXRvcDogMC44NzVyZW07XG59XG5cbi5haS1wcm9wZXJ0eS1za2VsZXRvbiB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogOTZweCBtaW5tYXgoMCwgMWZyKTtcbiAgZ2FwOiAwLjg1cmVtO1xuICBwYWRkaW5nOiAwLjc1cmVtO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuODIpO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZTllY2VmO1xuICBib3JkZXItcmFkaXVzOiA4cHg7XG4gIGJveC1zaGFkb3c6IDAgMXB4IDNweCByZ2JhKDMzLCAzNywgNDEsIDAuMDQpO1xufVxuXG4uYWktc2tlbGV0b24tYm9keSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBtaW4td2lkdGg6IDA7XG59XG5cbi5haS1za2VsZXRvbi10aHVtYixcbi5haS1za2VsZXRvbi1saW5lLFxuLmFpLXNrZWxldG9uLXBpbGwge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoOTBkZWcsIHJnYmEoMjMzLCAyMzYsIDIzOSwgMC43MiksIHJnYmEoMjQ4LCAyNDksIDI1MCwgMC45NSksIHJnYmEoMjMzLCAyMzYsIDIzOSwgMC43MikpO1xuICBiYWNrZ3JvdW5kLXNpemU6IDIwMCUgMTAwJTtcbiAgYW5pbWF0aW9uOiBhaVNrZWxldG9uUHVsc2UgMS4xNXMgZWFzZS1pbi1vdXQgaW5maW5pdGU7XG59XG5cbi5haS1za2VsZXRvbi10aHVtYiB7XG4gIGFzcGVjdC1yYXRpbzogMS8xO1xuICBib3JkZXItcmFkaXVzOiA2cHg7XG59XG5cbi5haS1za2VsZXRvbi1saW5lIHtcbiAgaGVpZ2h0OiAwLjY1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAwLjU1cmVtO1xuICBib3JkZXItcmFkaXVzOiA1MHJlbTtcbn1cbi5haS1za2VsZXRvbi1saW5lLS13aWRlIHtcbiAgd2lkdGg6IDg2JTtcbn1cbi5haS1za2VsZXRvbi1saW5lLS1tZWRpdW0ge1xuICB3aWR0aDogNjglO1xufVxuLmFpLXNrZWxldG9uLWxpbmUtLXNob3J0IHtcbiAgd2lkdGg6IDQ4JTtcbn1cblxuLmFpLXNrZWxldG9uLXBpbGxzIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBnYXA6IDAuMzVyZW07XG4gIG1hcmdpbi10b3A6IDAuMjVyZW07XG59XG5cbi5haS1za2VsZXRvbi1waWxsIHtcbiAgd2lkdGg6IDMuMnJlbTtcbiAgaGVpZ2h0OiAxLjI1cmVtO1xuICBib3JkZXItcmFkaXVzOiA1MHJlbTtcbn1cblxuLmFpLXJlc3BvbnNlLXJldmVhbCB7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg2cHgpO1xuICBhbmltYXRpb246IGFpUmVzcG9uc2VSZXZlYWwgMTgwbXMgZWFzZS1vdXQgZm9yd2FyZHM7XG59XG5cbi5haS1jYXJkLXJldmVhbCB7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg4cHgpO1xuICBhbmltYXRpb246IGFpQ2FyZFJldmVhbCAyMDBtcyBlYXNlLW91dCBmb3J3YXJkcztcbn1cblxuLmFpLXNrZWxldG9uLWV4aXQge1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNHB4KTtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAxMjBtcyBlYXNlLW91dCwgdHJhbnNmb3JtIDEyMG1zIGVhc2Utb3V0O1xufVxuXG5Aa2V5ZnJhbWVzIGFpU2tlbGV0b25QdWxzZSB7XG4gIDAlIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAyMDAlIDA7XG4gIH1cbiAgMTAwJSB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTIwMCUgMDtcbiAgfVxufVxuQGtleWZyYW1lcyBhaVJlc3BvbnNlUmV2ZWFsIHtcbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICB9XG59XG5Aa2V5ZnJhbWVzIGFpQ2FyZFJldmVhbCB7XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgfVxufVxuLmFpLXByb3BlcnR5LWNhcmQge1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDExMnB4IG1pbm1heCgwLCAxZnIpO1xuICBnYXA6IDAuODVyZW07XG4gIHBhZGRpbmc6IDAuNzVyZW07XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNlOWVjZWY7XG4gIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgYm94LXNoYWRvdzogMCAxcHggM3B4IHJnYmEoMzMsIDM3LCA0MSwgMC4wNik7XG4gIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjJzIGVhc2UsIGJveC1zaGFkb3cgMC4ycyBlYXNlLCB0cmFuc2Zvcm0gMC4ycyBlYXNlO1xufVxuLmFpLXByb3BlcnR5LWNhcmQ6aG92ZXIsIC5haS1wcm9wZXJ0eS1jYXJkOmZvY3VzIHtcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKDI1LCAxMTgsIDIxMCwgMC4zNSk7XG4gIGJveC1zaGFkb3c6IDAgOHB4IDI0cHggcmdiYSgzMywgMzcsIDQxLCAwLjEpO1xuICBjb2xvcjogaW5oZXJpdDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTFweCk7XG59XG4uYWktcHJvcGVydHktY2FyZDpmb2N1cy12aXNpYmxlIHtcbiAgb3V0bGluZTogMnB4IHNvbGlkICMxOTc2ZDI7XG4gIG91dGxpbmUtb2Zmc2V0OiAycHg7XG59XG5cbi5haS1wcm9wZXJ0eS1jYXJkX19pbWFnZSB7XG4gIGFzcGVjdC1yYXRpbzogMS8xO1xuICBib3JkZXItcmFkaXVzOiA2cHg7XG4gIGJhY2tncm91bmQ6ICNlOWVjZWY7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG4uYWktcHJvcGVydHktY2FyZF9faW1hZ2UgaW1nIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG9iamVjdC1maXQ6IGNvdmVyO1xufVxuXG4uYWktcHJvcGVydHktY2FyZF9fYm9keSB7XG4gIG1pbi13aWR0aDogMDtcbn1cblxuLmFpLXByb3BlcnR5LWNhcmRfX2V5ZWJyb3cge1xuICBtYXJnaW4tYm90dG9tOiAwLjI1cmVtO1xuICBjb2xvcjogI2FkYjViZDtcbiAgZm9udC1zaXplOiAwLjY4NzVyZW07XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGxldHRlci1zcGFjaW5nOiAwLjA0ZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjM7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbi5haS1wcm9wZXJ0eS1jYXJkX190aXRsZSB7XG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICBtYXJnaW46IDAgMCAwLjM1cmVtO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBjb2xvcjogIzIxMjUyOTtcbiAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjM7XG4gIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XG4gIC13ZWJraXQtbGluZS1jbGFtcDogMjtcbn1cblxuLmFpLXByb3BlcnR5LWNhcmRfX2Rlc2NyaXB0aW9uIHtcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gIG1hcmdpbjogMCAwIDAuNjI1cmVtO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBjb2xvcjogIzZjNzU3ZDtcbiAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjQ1O1xuICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuICAtd2Via2l0LWxpbmUtY2xhbXA6IDI7XG59XG5cbi5haS1wcm9wZXJ0eS1jYXJkX19tZXRhIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBnYXA6IDAuMzc1cmVtO1xufVxuLmFpLXByb3BlcnR5LWNhcmRfX21ldGEgc3BhbiB7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgcGFkZGluZzogMC4yNXJlbSAwLjVyZW07XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGJhY2tncm91bmQ6ICNmOGY5ZmE7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNlOWVjZWY7XG4gIGJvcmRlci1yYWRpdXM6IDUwcmVtO1xuICBjb2xvcjogIzQ5NTA1NztcbiAgZm9udC1zaXplOiAwLjc1cmVtO1xuICBmb250LXdlaWdodDogNjAwO1xuICBsaW5lLWhlaWdodDogMS4yO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLmFpLXByb3BlcnR5LWNhcmRfX3JlYXNvbiB7XG4gIG1hcmdpbi10b3A6IDAuNjI1cmVtO1xuICBjb2xvcjogI2FkYjViZDtcbiAgZm9udC1zaXplOiAwLjc1cmVtO1xuICBsaW5lLWhlaWdodDogMS40NTtcbn1cblxuLmFpLXByb3BlcnR5LWNhcmRfX2xlYWQtYWN0aW9uIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBtYXJnaW4tdG9wOiAwLjc1cmVtO1xuICBwYWRkaW5nOiAwLjQycmVtIDAuNzVyZW07XG4gIGJhY2tncm91bmQ6IHJnYmEoMjUsIDExOCwgMjEwLCAwLjA4KTtcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyNSwgMTE4LCAyMTAsIDAuMTgpO1xuICBib3JkZXItcmFkaXVzOiA1MHJlbTtcbiAgY29sb3I6ICMxOTc2ZDI7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMnMgZWFzZSwgYm9yZGVyLWNvbG9yIDAuMnMgZWFzZSwgdHJhbnNmb3JtIDAuMnMgZWFzZTtcbn1cbi5haS1wcm9wZXJ0eS1jYXJkX19sZWFkLWFjdGlvbjpob3ZlciwgLmFpLXByb3BlcnR5LWNhcmRfX2xlYWQtYWN0aW9uOmZvY3VzIHtcbiAgYmFja2dyb3VuZDogcmdiYSgyNSwgMTE4LCAyMTAsIDAuMTIpO1xuICBib3JkZXItY29sb3I6IHJnYmEoMjUsIDExOCwgMjEwLCAwLjMyKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xcHgpO1xufVxuLmFpLXByb3BlcnR5LWNhcmRfX2xlYWQtYWN0aW9uOmZvY3VzLXZpc2libGUge1xuICBvdXRsaW5lOiAycHggc29saWQgIzE5NzZkMjtcbiAgb3V0bGluZS1vZmZzZXQ6IDJweDtcbn1cblxuLmFpLWxlYWQtZm9ybS1jYXJkLFxuLmFpLWxlYWQtcHJvcGVydHktY2hvaWNlcyB7XG4gIG1hcmdpbi10b3A6IDAuODc1cmVtO1xuICBwYWRkaW5nOiAwLjg3NXJlbTtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgYm9yZGVyOiAxcHggc29saWQgI2U5ZWNlZjtcbiAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgYm94LXNoYWRvdzogMCA0cHggMTZweCByZ2JhKDMzLCAzNywgNDEsIDAuMDcpO1xufVxuXG4uYWktbGVhZC1mb3JtX190aXRsZSB7XG4gIG1hcmdpbjogMCAwIDAuMzVyZW07XG4gIGNvbG9yOiAjMjEyNTI5O1xuICBmb250LXNpemU6IDAuOTVyZW07XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG59XG5cbi5haS1sZWFkLWZvcm1fX3Byb3BlcnR5IHtcbiAgbWFyZ2luOiAwIDAgMC43NXJlbTtcbiAgY29sb3I6ICNhZGI1YmQ7XG4gIGZvbnQtc2l6ZTogMC43OHJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMzU7XG59XG5cbi5haS1sZWFkLWZpZWxkIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi1ib3R0b206IDAuNjI1cmVtO1xufVxuLmFpLWxlYWQtZmllbGQgc3BhbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tYm90dG9tOiAwLjI1cmVtO1xuICBjb2xvcjogIzZjNzU3ZDtcbiAgZm9udC1zaXplOiAwLjc1cmVtO1xuICBmb250LXdlaWdodDogNzAwO1xufVxuXG4uYWktbGVhZC1pbnB1dCB7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAwLjYyNXJlbSAwLjdyZW07XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNkZWUyZTY7XG4gIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgY29sb3I6ICMyMTI1Mjk7XG4gIGZvbnQ6IGluaGVyaXQ7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjM1O1xufVxuLmFpLWxlYWQtaW5wdXQ6Zm9jdXMge1xuICBib3JkZXItY29sb3I6ICMxOTc2ZDI7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDAuMTZyZW0gcmdiYSgyNSwgMTE4LCAyMTAsIDAuMTQpO1xuICBvdXRsaW5lOiBub25lO1xufVxuXG4uYWktbGVhZC1ob25leXBvdCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogLTk5OTlweDtcbiAgd2lkdGg6IDFweDtcbiAgaGVpZ2h0OiAxcHg7XG4gIG9wYWNpdHk6IDA7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG4uYWktbGVhZC1mb3JtX19lcnJvciB7XG4gIG1pbi1oZWlnaHQ6IDFyZW07XG4gIG1hcmdpbjogMC4yNXJlbSAwIDAuNjI1cmVtO1xuICBjb2xvcjogI2RjMzU0NTtcbiAgZm9udC1zaXplOiAwLjc4cmVtO1xuICBsaW5lLWhlaWdodDogMS4zNTtcbn1cblxuLmFpLWxlYWQtZm9ybV9fYWN0aW9ucyxcbi5haS1sZWFkLXByb3BlcnR5LWNob2ljZXMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGdhcDogMC41cmVtO1xufVxuXG4uYWktbGVhZC1zdWJtaXQsXG4uYWktbGVhZC1jYW5jZWwsXG4uYWktbGVhZC1wcm9wZXJ0eS1jaG9pY2Uge1xuICBtaW4taGVpZ2h0OiAzNnB4O1xuICBwYWRkaW5nOiAwLjVyZW0gMC44NXJlbTtcbiAgYm9yZGVyLXJhZGl1czogNTByZW07XG4gIGZvbnQtc2l6ZTogMC44MnJlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4uYWktbGVhZC1zdWJtaXQge1xuICBiYWNrZ3JvdW5kOiAjMTk3NmQyO1xuICBib3JkZXI6IDFweCBzb2xpZCAjMTk3NmQyO1xuICBjb2xvcjogI2ZmZjtcbn1cbi5haS1sZWFkLXN1Ym1pdDpkaXNhYmxlZCB7XG4gIG9wYWNpdHk6IDAuNjU7XG4gIGN1cnNvcjogd2FpdDtcbn1cblxuLmFpLWxlYWQtY2FuY2VsLFxuLmFpLWxlYWQtcHJvcGVydHktY2hvaWNlIHtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgYm9yZGVyOiAxcHggc29saWQgI2RlZTJlNjtcbiAgY29sb3I6ICM0OTUwNTc7XG59XG5cbi5haS1zdWdnZXN0aW9uLWNoaXBzIHtcbiAgbWFyZ2luLXRvcDogMC44NzVyZW07XG59XG5cbi5haS1zdWdnZXN0aW9uLWNoaXAge1xuICBtaW4taGVpZ2h0OiAzOHB4O1xufVxuXG5AbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuICAuYWktcmVzcG9uc2UtcmV2ZWFsLFxuICAuYWktY2FyZC1yZXZlYWwsXG4gIC5haS1hZ2VudC1zdGF0dXMtZG90IHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICBhbmltYXRpb246IG5vbmU7XG4gIH1cbiAgLmFpLXNrZWxldG9uLXRodW1iLFxuICAuYWktc2tlbGV0b24tbGluZSxcbiAgLmFpLXNrZWxldG9uLXBpbGwge1xuICAgIGFuaW1hdGlvbjogbm9uZTtcbiAgfVxufVxuLyogPT09PT09PT09PT09PT09PT09PT0gSW5wdXQgQXJlYSA9PT09PT09PT09PT09PT09PT09PSAqL1xuLyogQ2xlYW4gY29uc3VsdGF0aW9uIGZpZWxkIHN0eWxlIGxpa2UgRkFRIHNlYXJjaCAqL1xuLmFpLWNoYXQtaW5wdXQtd3JhcHBlciB7XG4gIHBhZGRpbmc6IDFyZW0gMS41cmVtO1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI2U5ZWNlZjtcbn1cblxuLmFpLWNoYXQtaW5wdXQtY29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZGVlMmU2O1xuICBib3JkZXItcmFkaXVzOiAwLjM3NXJlbTtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcbn1cbi5haS1jaGF0LWlucHV0LWNvbnRhaW5lcjpmb2N1cy13aXRoaW4ge1xuICBib3JkZXItY29sb3I6ICMxOTc2ZDI7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDAuMnJlbSByZ2JhKDI1LCAxMTgsIDIxMCwgMC4xNSk7XG59XG5cbi5haS1jaGF0LWlucHV0IHtcbiAgZmxleDogMTtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogbm9uZTtcbiAgcGFkZGluZzogMC43NXJlbSAxcmVtO1xuICBjb2xvcjogIzIxMjUyOTtcbiAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICByZXNpemU6IG5vbmU7XG4gIG1pbi1oZWlnaHQ6IDQ4cHg7XG4gIG1heC1oZWlnaHQ6IDEyMHB4O1xuICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xuICBvdXRsaW5lOiBub25lO1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICAvKiBNaW5pbWFsIHNjcm9sbGJhciAqL1xuICAtbXMtb3ZlcmZsb3ctc3R5bGU6IG5vbmU7XG4gIHNjcm9sbGJhci13aWR0aDogbm9uZTtcbn1cbi5haS1jaGF0LWlucHV0OjpwbGFjZWhvbGRlciB7XG4gIGNvbG9yOiAjYWRiNWJkO1xufVxuLmFpLWNoYXQtaW5wdXQ6Zm9jdXMge1xuICBvdXRsaW5lOiBub25lO1xufVxuLmFpLWNoYXQtaW5wdXQ6ZGlzYWJsZWQge1xuICBiYWNrZ3JvdW5kOiAjZjhmOWZhO1xuICBvcGFjaXR5OiAwLjY7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG59XG4uYWktY2hhdC1pbnB1dDo6LXdlYmtpdC1zY3JvbGxiYXIge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4vKiBPZmZjYW52YXM6IGVuc3VyZSB0aGUgaW5wdXQgc3RheXMgYXQgdGhlIGJvdHRvbSBvZiB0aGUgcGFuZWwgKi9cbi5vZmZjYW52YXMgLm9mZmNhbnZhcy1ib2R5IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgaGVpZ2h0OiAxMDAlO1xuICBtaW4taGVpZ2h0OiAwO1xufVxuXG4ub2ZmY2FudmFzIC5haS1jaGF0LW1lc3NhZ2VzIHtcbiAgZmxleDogMSAxIGF1dG87XG4gIG1pbi1oZWlnaHQ6IDEyMHB4O1xuICBtYXgtaGVpZ2h0OiBub25lO1xuICBvdmVyZmxvdzogYXV0bztcbn1cblxuLm9mZmNhbnZhcyAuYWktY2hhdC1pbnB1dC13cmFwcGVyIHtcbiAgbWFyZ2luLXRvcDogYXV0bztcbiAgcGFkZGluZy1ib3R0b206IDFyZW07XG59XG5cbi5haS1jaGF0LXNlbmQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAwLjVyZW07XG4gIHdpZHRoOiAzNnB4O1xuICBoZWlnaHQ6IDM2cHg7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgYmFja2dyb3VuZDogIzE5NzZkMjtcbiAgYm9yZGVyOiBub25lO1xuICBjb2xvcjogI2ZmZjtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcbiAgb3BhY2l0eTogMDtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICB0cmFuc2Zvcm06IHNjYWxlKDAuOCk7XG59XG4uYWktY2hhdC1zZW5kLnNob3cge1xuICBvcGFjaXR5OiAxO1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xufVxuLmFpLWNoYXQtc2VuZCBpIHtcbiAgZm9udC1zaXplOiAxcmVtO1xufVxuLmFpLWNoYXQtc2VuZDpob3Zlcjpub3QoOmRpc2FibGVkKSB7XG4gIGJhY2tncm91bmQ6IHJnYigyMC42NTk1NzQ0NjgxLCA5Ny41MTMxOTE0ODk0LCAxNzMuNTQwNDI1NTMxOSk7XG4gIHRyYW5zZm9ybTogc2NhbGUoMS4wNSk7XG59XG4uYWktY2hhdC1zZW5kOmFjdGl2ZTpub3QoOmRpc2FibGVkKSB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMC45NSk7XG59XG4uYWktY2hhdC1zZW5kOmRpc2FibGVkIHtcbiAgYmFja2dyb3VuZDogI2RlZTJlNjtcbiAgY29sb3I6ICNhZGI1YmQ7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gIG9wYWNpdHk6IDAuNDtcbn1cblxuLyogUmVzcG9uc2l2ZSBhZGp1c3RtZW50cyAqL1xuQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gIC5haS1jaGF0LWhlYWRlciB7XG4gICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgfVxuICAuYWktY2hhdC1oZWFkZXIgaDMge1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgfVxuICAuYWktY2hhdC1oZWFkZXIgaS5iaS1yb2JvdCB7XG4gICAgZm9udC1zaXplOiAxLjJyZW07XG4gIH1cbiAgLmFpLWNoYXQtc3RhdHVzLWRvdCB7XG4gICAgd2lkdGg6IDhweDtcbiAgICBoZWlnaHQ6IDhweDtcbiAgfVxuICAuYWktY2hhdC1tZXNzYWdlcyB7XG4gICAgbWluLWhlaWdodDogMjIwcHg7XG4gICAgbWF4LWhlaWdodDogbm9uZTtcbiAgICBwYWRkaW5nOiAwLjg3NXJlbTtcbiAgfVxuICAuYWktY2hhdC1tZXNzYWdlIHtcbiAgICBmb250LXNpemU6IDAuOXJlbTtcbiAgICBwYWRkaW5nOiAwLjc1cmVtIDFyZW07XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG4gIC5haS1wcm9wZXJ0eS1jYXJkIHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDg4cHggbWlubWF4KDAsIDFmcik7XG4gICAgZ2FwOiAwLjYyNXJlbTtcbiAgICBwYWRkaW5nOiAwLjYyNXJlbTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB9XG4gIC5haS1wcm9wZXJ0eS1za2VsZXRvbiB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiA4OHB4IG1pbm1heCgwLCAxZnIpO1xuICAgIGdhcDogMC42MjVyZW07XG4gICAgcGFkZGluZzogMC42MjVyZW07XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgfVxuICAuYWktcHJvcGVydHktY2FyZF9faW1hZ2UsXG4gIC5haS1za2VsZXRvbi10aHVtYiB7XG4gICAgd2lkdGg6IDg4cHg7XG4gICAgbWluLXdpZHRoOiA4OHB4O1xuICB9XG4gIC5haS1wcm9wZXJ0eS1jYXJkX190aXRsZSB7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS4yNTtcbiAgfVxuICAuYWktcHJvcGVydHktY2FyZF9fZGVzY3JpcHRpb24ge1xuICAgIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbiAgICBmb250LXNpemU6IDAuNzgxMjVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMzU7XG4gICAgLXdlYmtpdC1saW5lLWNsYW1wOiAyO1xuICB9XG4gIC5haS1wcm9wZXJ0eS1jYXJkX19tZXRhIHtcbiAgICBnYXA6IDAuMjVyZW07XG4gIH1cbiAgLmFpLXByb3BlcnR5LWNhcmRfX21ldGEgc3BhbiB7XG4gICAgZm9udC1zaXplOiAwLjY4NzVyZW07XG4gIH1cbiAgLmFpLXN1Z2dlc3Rpb24tY2hpcHMge1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBnYXA6IDAuNXJlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgcGFkZGluZzogMC4xMjVyZW0gMCAwLjI1cmVtO1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICB9XG4gIC5haS1zdWdnZXN0aW9uLWNoaXAge1xuICAgIGZsZXg6IDAgMSBhdXRvO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBtaW4taGVpZ2h0OiAzNnB4O1xuICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBsaW5lLWhlaWdodDogMS4yNTtcbiAgfVxuICAuYWktY2hhdC1pbnB1dC13cmFwcGVyIHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICBwYWRkaW5nOiAwLjc1cmVtIDAuODc1cmVtO1xuICAgIHBvc2l0aW9uOiBzdGlja3k7XG4gICAgYm90dG9tOiAwO1xuICAgIHotaW5kZXg6IDI7XG4gIH1cbiAgLmFpLWNoYXQtaW5wdXQge1xuICAgIGZvbnQtc2l6ZTogMC45cmVtO1xuICAgIHBhZGRpbmc6IDAuNzVyZW0gMC44NzVyZW07XG4gICAgbWluLWhlaWdodDogNDRweDtcbiAgfVxuICAuYWktY2hhdC1zZW5kIHtcbiAgICBtaW4taGVpZ2h0OiAzNnB4O1xuICAgIGZvbnQtc2l6ZTogMC45cmVtO1xuICB9XG59XG5AbWVkaWEgKG1heC13aWR0aDogNTc1Ljk4cHgpIHtcbiAgI2hlcm9BaU9mZmNhbnZhcyAub2ZmY2FudmFzLWJvZHkge1xuICAgIGhlaWdodDogY2FsYygxMDBkdmggLSA2NXB4KTtcbiAgfVxuICAub2ZmY2FudmFzIC5haS1jaGF0LW1lc3NhZ2VzIHtcbiAgICBtaW4taGVpZ2h0OiAwO1xuICAgIHBhZGRpbmc6IDAuODc1cmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAxcmVtO1xuICB9XG4gIC5haS1jaGF0LW1lc3NhZ2Uge1xuICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIH1cbiAgLmFpLWNoYXQtbWVzc2FnZS51c2VyIHtcbiAgICBwYWRkaW5nOiAwLjc1cmVtIDAuODc1cmVtO1xuICB9XG4gIC5haS1wcm9wZXJ0eS1yZXN1bHRzLFxuICAuYWktcHJvcGVydHktc2tlbGV0b25zIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBnYXA6IDAuNjI1cmVtO1xuICB9XG4gIC5haS1jaGF0LWlucHV0LWNvbnRhaW5lciB7XG4gICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgfVxufVxuQG1lZGlhIChtYXgtd2lkdGg6IDM2MHB4KSB7XG4gIC5haS1wcm9wZXJ0eS1jYXJkLFxuICAuYWktcHJvcGVydHktc2tlbGV0b24ge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuICB9XG4gIC5haS1wcm9wZXJ0eS1jYXJkX19pbWFnZSxcbiAgLmFpLXNrZWxldG9uLXRodW1iIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtaW4td2lkdGg6IDA7XG4gIH1cbiAgLmFpLXByb3BlcnR5LWNhcmRfX2ltYWdlIHtcbiAgICBhc3BlY3QtcmF0aW86IDE2Lzk7XG4gIH1cbn1cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFZJUCBDQVJPVVNFTCAtIE1PREVSTiBERVNJR05cbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi52aXAtY2Fyb3VzZWwtd3JhcHBlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcGFkZGluZzogMCAwIDYwcHg7XG59XG5cbi52aXAtY2Fyb3VzZWwtdHJhY2sge1xuICBkaXNwbGF5OiBmbGV4O1xuICBnYXA6IDI0cHg7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjdzIGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSk7XG4gIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm07XG59XG5AbWVkaWEgKG1heC13aWR0aDogOTkycHgpIHtcbiAgLnZpcC1jYXJvdXNlbC10cmFjayB7XG4gICAgZ2FwOiAyMHB4O1xuICB9XG59XG5AbWVkaWEgKG1heC13aWR0aDogNjQwcHgpIHtcbiAgLnZpcC1jYXJvdXNlbC10cmFjayB7XG4gICAgZ2FwOiAxNnB4O1xuICB9XG59XG5cbi52aXAtY2Fyb3VzZWwtc2xpZGUge1xuICBmbGV4OiAwIDAgY2FsYygzMy4zMzMlIC0gMTZweCk7XG4gIG1pbi13aWR0aDogMDtcbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA5OTJweCkge1xuICAudmlwLWNhcm91c2VsLXNsaWRlIHtcbiAgICBmbGV4OiAwIDAgY2FsYyg1MCUgLSAxMHB4KTtcbiAgfVxufVxuQG1lZGlhIChtYXgtd2lkdGg6IDY0MHB4KSB7XG4gIC52aXAtY2Fyb3VzZWwtc2xpZGUge1xuICAgIGZsZXg6IDAgMCAxMDAlO1xuICB9XG59XG5cbi8qIFZJUCBQcm9wZXJ0eSBDYXJkIC0gUHJlbWl1bSBNb2Rlcm4gRGVzaWduICovXG4udmlwLXByb3BlcnR5LWNhcmQge1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTQ1ZGVnLCAjZmZmZmZmIDAlLCAjZmFmYmZjIDEwMCUpO1xuICBib3JkZXItcmFkaXVzOiAyMHB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBib3gtc2hhZG93OiAwIDRweCAyMHB4IHJnYmEoMCwgMCwgMCwgMC4wNik7XG4gIHRyYW5zaXRpb246IGFsbCAwLjVzIGN1YmljLWJlemllcigwLjM0LCAxLjU2LCAwLjY0LCAxKTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG4udmlwLXByb3BlcnR5LWNhcmQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgaGVpZ2h0OiAzcHg7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgI0ZGRDcwMCAwJSwgI0ZGQTUwMCA1MCUsICNGRkQ3MDAgMTAwJSk7XG4gIHRyYW5zZm9ybTogc2NhbGVYKDApO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC41cyBlYXNlO1xufVxuLnZpcC1wcm9wZXJ0eS1jYXJkOmhvdmVyIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMnB4KSBzY2FsZSgxLjAyKTtcbiAgYm94LXNoYWRvdzogMCAyMHB4IDYwcHggcmdiYSgyNTUsIDIxNSwgMCwgMC4yNSksIDAgOHB4IDMwcHggcmdiYSgwLCAwLCAwLCAwLjEyKTtcbn1cbi52aXAtcHJvcGVydHktY2FyZDpob3Zlcjo6YmVmb3JlIHtcbiAgdHJhbnNmb3JtOiBzY2FsZVgoMSk7XG59XG4udmlwLXByb3BlcnR5LWNhcmQ6aG92ZXIgLnZpcC1wcm9wZXJ0eS1pbWFnZSB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMS4xKTtcbn1cbi52aXAtcHJvcGVydHktY2FyZDpob3ZlciAudmlwLWJhZGdlIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLjEpIHJvdGF0ZSg1ZGVnKTtcbn1cbi52aXAtcHJvcGVydHktY2FyZDpob3ZlciAuYnRuLXZpcCB7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsICNGRkQ3MDAgMCUsICNGRkE1MDAgMTAwJSk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg1cHgpO1xufVxuXG4udmlwLWNhcmQtaW1hZ2Utd3JhcHBlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgaGVpZ2h0OiAyNjBweDtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgI2YwZjBmMCAwJSwgI2UwZTBlMCAxMDAlKTtcbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA5OTJweCkge1xuICAudmlwLWNhcmQtaW1hZ2Utd3JhcHBlciB7XG4gICAgaGVpZ2h0OiAyMjBweDtcbiAgfVxufVxuQG1lZGlhIChtYXgtd2lkdGg6IDY0MHB4KSB7XG4gIC52aXAtY2FyZC1pbWFnZS13cmFwcGVyIHtcbiAgICBoZWlnaHQ6IDIwMHB4O1xuICB9XG59XG5cbi52aXAtcHJvcGVydHktaW1hZ2Uge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNnMgY3ViaWMtYmV6aWVyKDAuMzQsIDEuNTYsIDAuNjQsIDEpO1xufVxuXG4udmlwLWJhZGdlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDE2cHg7XG4gIHJpZ2h0OiAxNnB4O1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCAjRkZENzAwIDAlLCAjRkZBNTAwIDEwMCUpO1xuICBjb2xvcjogIzFhMWExYTtcbiAgcGFkZGluZzogOHB4IDE2cHg7XG4gIGJvcmRlci1yYWRpdXM6IDUwcHg7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgZm9udC13ZWlnaHQ6IDIwMDtcbiAgbGV0dGVyLXNwYWNpbmc6IDFweDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiA2cHg7XG4gIGJveC1zaGFkb3c6IDAgNHB4IDE1cHggcmdiYSgyNTUsIDIxNSwgMCwgMC40KTtcbiAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTtcbiAgei1pbmRleDogMTAwO1xufVxuLnZpcC1iYWRnZSBpIHtcbiAgZm9udC1zaXplOiAwLjlyZW07XG4gIGFuaW1hdGlvbjogc3RhclB1bHNlIDJzIGVhc2UtaW4tb3V0IGluZmluaXRlO1xufVxuXG5Aa2V5ZnJhbWVzIHN0YXJQdWxzZSB7XG4gIDAlLCAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIGZpbHRlcjogYnJpZ2h0bmVzcygxKTtcbiAgfVxuICA1MCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4yKTtcbiAgICBmaWx0ZXI6IGJyaWdodG5lc3MoMS4zKTtcbiAgfVxufVxuLnZpcC1wcm9wZXJ0eS1kZXRhaWxzIHtcbiAgcGFkZGluZzogMjRweDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZmxleC1ncm93OiAxO1xufVxuXG4udmlwLXByb3BlcnR5LXRpdGxlIHtcbiAgZm9udC1zaXplOiAxLjI1cmVtO1xuICBmb250LXdlaWdodDogNjAwO1xuICBjb2xvcjogIzFhMWExYTtcbiAgbWFyZ2luOiAwIDAgMTZweDtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gIC13ZWJraXQtbGluZS1jbGFtcDogMjtcbiAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLnZpcC1wcm9wZXJ0eS1pbmZvIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiAxMHB4O1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xufVxuXG4uaW5mby1pdGVtIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiAxMHB4O1xuICBjb2xvcjogIzY0NzQ4YjtcbiAgZm9udC1zaXplOiAwLjlyZW07XG59XG4uaW5mby1pdGVtIGkge1xuICBjb2xvcjogIzE5NzZkMjtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBmbGV4LXNocmluazogMDtcbn1cbi5pbmZvLWl0ZW0gc3BhbiB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4udmlwLXByb3BlcnR5LWZvb3RlciB7XG4gIG1hcmdpbi10b3A6IGF1dG87XG4gIHBhZGRpbmctdG9wOiAyMHB4O1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI2UyZThmMDtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBnYXA6IDE2cHg7XG59XG5cbi8qIEVuc3VyZSBwcmljZSBzdGF5cyBvbiBhIHNpbmdsZSBsaW5lIGFuZCB0aGUgQ1RBIGRvZXNuJ3QgcHVzaCBpdCAqL1xuLnZpcC1wcm9wZXJ0eS1wcmljZSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGdhcDogNHB4O1xuICBmbGV4OiAxIDEgYXV0bzsgLyogYWxsb3cgcHJpY2Ugc2VjdGlvbiB0byB0YWtlIHJlbWFpbmluZyBzcGFjZSAqL1xuICBtaW4td2lkdGg6IDA7IC8qIGVuYWJsZSBjaGlsZHJlbiB0byB0cnVuY2F0ZS9lbGxpcHNpcyBpZiBuZWVkZWQgKi9cbn1cbi52aXAtcHJvcGVydHktcHJpY2UgLnByaWNlLWxhYmVsIHtcbiAgZm9udC1zaXplOiAwLjc1cmVtO1xuICBjb2xvcjogIzk0YTNiODtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuNXB4O1xuICBmb250LXdlaWdodDogNjAwO1xufVxuLnZpcC1wcm9wZXJ0eS1wcmljZSAucHJpY2UtdmFsdWUge1xuICBmb250LXNpemU6IDEuNXJlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgYmFja2dyb3VuZDogIzE5NzZkMjtcbiAgLXdlYmtpdC1iYWNrZ3JvdW5kLWNsaXA6IHRleHQ7XG4gIC13ZWJraXQtdGV4dC1maWxsLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYmFja2dyb3VuZC1jbGlwOiB0ZXh0O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwOyAvKiBwcmV2ZW50IHByaWNlIGZyb20gYnJlYWtpbmcgaW50byB0d28gbGluZXMgKi9cbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuLyogQ1RBIGJ1dHRvbjogZG9uJ3Qgc3RyZXRjaCwga2VlcCBmaXhlZCBzaXplIGFuZCB2aXNpYmxlICovXG4udmlwLXByb3BlcnR5LXNlY3Rpb24gLmJ0bi5idG4taW5kdXN0cmlhbCB7XG4gIGZsZXg6IDAgMCBhdXRvO1xuICBtaW4td2lkdGg6IDEyMHB4OyAvKiBlbnN1cmVzIHJlYXNvbmFibGUgY2xpY2thYmxlIGFyZWEgKi9cbiAgbWF4LXdpZHRoOiA0MCU7XG59XG5cbi8qIE1vYmlsZTogc3RhY2sgd2l0aCBmdWxsIHdpZHRoIGJ1dHRvbiAqL1xuQG1lZGlhIChtYXgtd2lkdGg6IDY0MHB4KSB7XG4gIC52aXAtcHJvcGVydHktZm9vdGVyIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgIGdhcDogMTJweDtcbiAgfVxuICAudmlwLXByb3BlcnR5LXNlY3Rpb24gLmJ0bi5idG4taW5kdXN0cmlhbCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG59XG4uYnRuLXZpcCB7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsICMxYTFhMWEgMCUsICMyZDJkMmQgMTAwJSk7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgcGFkZGluZzogMTJweCAyNHB4O1xuICBib3JkZXItcmFkaXVzOiA1MHB4O1xuICBmb250LXNpemU6IDAuOXJlbTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiA4cHg7XG4gIHRyYW5zaXRpb246IGFsbCAwLjNzIGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSk7XG4gIGJvcmRlcjogbm9uZTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cbi5idG4tdmlwIGkge1xuICBmb250LXNpemU6IDFyZW07XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzIGVhc2U7XG59XG4uYnRuLXZpcDpob3ZlciB7XG4gIGNvbG9yOiB3aGl0ZTtcbn1cbi5idG4tdmlwOmhvdmVyIGkge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoM3B4KTtcbn1cblxuLyogUGFnaW5hdGlvbiBEb3RzIC0gTW9kZXJuIEVsZWdhbnQgRGVzaWduICovXG4udmlwLWNhcm91c2VsLWRvdHMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiAxMnB4O1xuICBtYXJnaW4tdG9wOiA0MHB4O1xuICBwYWRkaW5nOiAxNnB4IDA7XG59XG5cbi52aXAtZG90IHtcbiAgd2lkdGg6IDEycHg7XG4gIGhlaWdodDogMTJweDtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBiYWNrZ3JvdW5kOiAjY2JkNWUxO1xuICBib3JkZXI6IG5vbmU7XG4gIHBhZGRpbmc6IDA7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdHJhbnNpdGlvbjogYWxsIDAuNHMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuLnZpcC1kb3Q6OmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSBzY2FsZSgwKTtcbiAgd2lkdGg6IDI0cHg7XG4gIGhlaWdodDogMjRweDtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjE1LCAwLCAwLjIpO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcyBlYXNlO1xufVxuLnZpcC1kb3Q6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiAjOTRhM2I4O1xuICB0cmFuc2Zvcm06IHNjYWxlKDEuMik7XG59XG4udmlwLWRvdDpob3Zlcjo6YWZ0ZXIge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSBzY2FsZSgxKTtcbn1cbi52aXAtZG90LmFjdGl2ZSB7XG4gIHdpZHRoOiA0MHB4O1xuICBib3JkZXItcmFkaXVzOiA2cHg7XG4gIGJhY2tncm91bmQ6ICMxOTc2ZDI7XG4gIGJveC1zaGFkb3c6IDAgNHB4IDEycHggcmdiYSgyNTUsIDIxNSwgMCwgMC40KTtcbn1cbi52aXAtZG90OmZvY3VzLXZpc2libGUge1xuICBvdXRsaW5lOiAycHggc29saWQgI0ZGRDcwMDtcbiAgb3V0bGluZS1vZmZzZXQ6IDNweDtcbn1cblxuLyogUmVzcG9uc2l2ZSBBZGp1c3RtZW50cyAqL1xuQG1lZGlhIChtYXgtd2lkdGg6IDk5MnB4KSB7XG4gIC52aXAtcHJvcGVydHktdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMS4xcmVtO1xuICB9XG4gIC52aXAtcHJvcGVydHktcHJpY2UgLnByaWNlLXZhbHVlIHtcbiAgICBmb250LXNpemU6IDEuM3JlbTtcbiAgfVxuICAuYnRuLXZpcCB7XG4gICAgcGFkZGluZzogMTBweCAyMHB4O1xuICAgIGZvbnQtc2l6ZTogMC44NXJlbTtcbiAgfVxufVxuQG1lZGlhIChtYXgtd2lkdGg6IDY0MHB4KSB7XG4gIC52aXAtY2Fyb3VzZWwtd3JhcHBlciB7XG4gICAgcGFkZGluZzogMCAwIDUwcHg7XG4gIH1cbiAgLnZpcC1wcm9wZXJ0eS1kZXRhaWxzIHtcbiAgICBwYWRkaW5nOiAyMHB4O1xuICB9XG4gIC52aXAtcHJvcGVydHktdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAxMnB4O1xuICB9XG4gIC5pbmZvLWl0ZW0ge1xuICAgIGZvbnQtc2l6ZTogMC44NXJlbTtcbiAgfVxuICAudmlwLXByb3BlcnR5LWZvb3RlciB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICBnYXA6IDEycHg7XG4gIH1cbiAgLmJ0bi12aXAge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB9XG4gIC52aXAtY2Fyb3VzZWwtZG90cyB7XG4gICAgZ2FwOiAxMHB4O1xuICAgIG1hcmdpbi10b3A6IDMwcHg7XG4gIH1cbiAgLnZpcC1kb3Qge1xuICAgIHdpZHRoOiAxMHB4O1xuICAgIGhlaWdodDogMTBweDtcbiAgfVxuICAudmlwLWRvdC5hY3RpdmUge1xuICAgIHdpZHRoOiAzMnB4O1xuICB9XG59XG4uaG9tZS1leHBsb3JlIHtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgI2Y4ZjlmYiAwJSwgI2YxZjNmNyAxMDAlKTtcbiAgcGFkZGluZzogNjRweCAwO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgcmdiYSgwLCAwLCAwLCAwLjA2KTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gIC5ob21lLWV4cGxvcmUge1xuICAgIHBhZGRpbmc6IDQ4cHggMDtcbiAgfVxufVxuLmhvbWUtZXhwbG9yZSAuY29udGFpbmVyIHtcbiAgbWF4LXdpZHRoOiAxMTQwcHg7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBwYWRkaW5nOiAwIDE1cHg7XG59XG5cbi5ob21lLWV4cGxvcmVfX2hlYWRlciB7XG4gIG1hcmdpbi1ib3R0b206IDQ4cHg7XG4gIG1heC13aWR0aDogNjQwcHg7XG59XG5AbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgLmhvbWUtZXhwbG9yZV9faGVhZGVyIHtcbiAgICBtYXJnaW4tYm90dG9tOiAzNnB4O1xuICB9XG59XG5cbi5ob21lLWV4cGxvcmVfX3RpdGxlIHtcbiAgZm9udC1zaXplOiAzMnB4O1xuICBmb250LXdlaWdodDogMjAwO1xuICBjb2xvcjogIzFlMjkzYjtcbiAgbWFyZ2luLWJvdHRvbTogMTJweDtcbiAgbGV0dGVyLXNwYWNpbmc6IC0wLjAyZW07XG59XG5AbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgLmhvbWUtZXhwbG9yZV9fdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMjZweDtcbiAgfVxufVxuXG4uaG9tZS1leHBsb3JlX19zdWJ0aXRsZSB7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgY29sb3I6ICM2NDc0OGI7XG4gIGxpbmUtaGVpZ2h0OiAxLjY7XG4gIG1hcmdpbjogMDtcbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAuaG9tZS1leHBsb3JlX19zdWJ0aXRsZSB7XG4gICAgZm9udC1zaXplOiAxNXB4O1xuICB9XG59XG5cbi5ob21lLWV4cGxvcmVfX2dyaWQge1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLCAxZnIpO1xuICBnYXA6IDIwcHg7XG4gIG1hcmdpbi1ib3R0b206IDQwcHg7XG59XG5AbWVkaWEgKG1heC13aWR0aDogOTkycHgpIHtcbiAgLmhvbWUtZXhwbG9yZV9fZ3JpZCB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTtcbiAgfVxufVxuQG1lZGlhIChtYXgtd2lkdGg6IDU3NnB4KSB7XG4gIC5ob21lLWV4cGxvcmVfX2dyaWQge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuICB9XG59XG5cbi5ob21lLWV4cGxvcmVfX2l0ZW0ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBnYXA6IDZweDtcbiAgcGFkZGluZzogMjBweCAyMnB4O1xuICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDE2LCAyNCwgNDAsIDAuMDYpO1xuICBib3JkZXItcmFkaXVzOiAxNHB4O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC4xOHMgZWFzZSwgdHJhbnNmb3JtIDAuMThzIGVhc2U7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbi5ob21lLWV4cGxvcmVfX2l0ZW06aG92ZXIge1xuICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICBib3JkZXItY29sb3I6IHJnYmEoMTYsIDI0LCA0MCwgMC4wOCk7XG4gIGJveC1zaGFkb3c6IDAgNnB4IDIwcHggcmdiYSgxNiwgMjQsIDQwLCAwLjA0KTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0ycHgpO1xufVxuLmhvbWUtZXhwbG9yZV9faXRlbTpob3ZlciAuaG9tZS1leHBsb3JlX19pdGVtLXRpdGxlIHtcbiAgY29sb3I6ICMwZjE3MmE7XG4gIC8qIGtlZXAgbm8gdW5kZXJsaW5lIGZvciBwYXJpdHkgd2l0aCBvcmlnaW5hbCAqL1xufVxuLmhvbWUtZXhwbG9yZV9faXRlbTpob3ZlciAuaG9tZS1leHBsb3JlX19pdGVtLWFycm93IHtcbiAgLyoga2VlcCBzdGF0aWMgcG9zaXRpb247IG9ubHkgaW5jcmVhc2UgdmlzaWJpbGl0eSAqL1xuICBvcGFjaXR5OiAwLjk7XG59XG4uaG9tZS1leHBsb3JlX19pdGVtOmZvY3VzIHtcbiAgb3V0bGluZTogbm9uZTtcbiAgYm94LXNoYWRvdzogMCAwIDAgNHB4IHJnYmEoMTYsIDI0LCA0MCwgMC4wMyk7XG59XG4uaG9tZS1leHBsb3JlX19pdGVtOmFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbn1cblxuLmhvbWUtZXhwbG9yZV9faXRlbS10aXRsZSB7XG4gIGZvbnQtc2l6ZTogMTVweDtcbiAgZm9udC13ZWlnaHQ6IDIwMDtcbiAgY29sb3I6ICMxZTI5M2I7XG4gIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XG59XG5cbi5ob21lLWV4cGxvcmVfX2l0ZW0tZGVzYyB7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgY29sb3I6ICM2NDc0OGI7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG59XG5cbi5ob21lLWV4cGxvcmVfX2l0ZW0tYXJyb3cge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAyMHB4O1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICBmb250LXNpemU6IDE2cHg7XG4gIGNvbG9yOiAjOTRhM2I4O1xuICBvcGFjaXR5OiAwLjY7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4xMnMgZWFzZTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbi8qIFByZXZlbnQgaG92ZXIgb24gcGFyZW50IGZyb20gbW92aW5nL2FuaW1hdGluZyB0aGUgYXJyb3cgKi9cbi5ob21lLWV4cGxvcmVfX2l0ZW06aG92ZXIgLmhvbWUtZXhwbG9yZV9faXRlbS1hcnJvdyxcbi5ob21lLWV4cGxvcmVfX2l0ZW06Zm9jdXMtd2l0aGluIC5ob21lLWV4cGxvcmVfX2l0ZW0tYXJyb3cge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSkgIWltcG9ydGFudDtcbiAgb3BhY2l0eTogMC45ICFpbXBvcnRhbnQ7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4xMnMgZWFzZSAhaW1wb3J0YW50O1xufVxuXG4uaG9tZS1leHBsb3JlX19jdGEge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgZ2FwOiA4cHg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgcGFkZGluZy10b3A6IDI0cHg7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDAuMDYpO1xuICBtYXJnaW4tdG9wOiAxNnB4O1xufVxuQG1lZGlhIChtYXgtd2lkdGg6IDU3NnB4KSB7XG4gIC5ob21lLWV4cGxvcmVfX2N0YSB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IDEycHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG59XG5cbi5ob21lLWV4cGxvcmVfX2N0YS10ZXh0IHtcbiAgZm9udC1zaXplOiAxNXB4O1xuICBjb2xvcjogIzQ3NTU2OTtcbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA1NzZweCkge1xuICAuaG9tZS1leHBsb3JlX19jdGEtdGV4dCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cblxuLmhvbWUtZXhwbG9yZV9fY3RhLWxpbmsge1xuICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgY29sb3I6ICMxOTc2ZDI7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcbn1cbi5ob21lLWV4cGxvcmVfX2N0YS1saW5rOmhvdmVyIHtcbiAgY29sb3I6ICMyNTYzZWI7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICB0ZXh0LWRlY29yYXRpb24tdGhpY2tuZXNzOiAycHg7XG4gIHRleHQtdW5kZXJsaW5lLW9mZnNldDogM3B4O1xufVxuLmhvbWUtZXhwbG9yZV9fY3RhLWxpbms6Zm9jdXMge1xuICBvdXRsaW5lOiAycHggc29saWQgIzE5NzZkMjtcbiAgb3V0bGluZS1vZmZzZXQ6IDJweDtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xufVxuXG4uaG9tZS1leHBsb3JlX19jdGEtc2VwIHtcbiAgY29sb3I6ICNjYmQ1ZTE7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgbWFyZ2luOiAwIDRweDtcbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA1NzZweCkge1xuICAuaG9tZS1leHBsb3JlX19jdGEtc2VwIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgRElTQUJMRSBBTEwgSE9WRVIgRUZGRUNUUyBJTiBGRUFUVVJFRC9MQVRFU1QvQ1RBIFNFQ1RJT05TXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIEZvcmNlIG92ZXJmbG93IGhpZGRlbiB0byBwcmV2ZW50IGltYWdlIGV4cGFuc2lvbiBvdXRzaWRlIGNhcmQgYm91bmRhcmllcyAqL1xuLmZlYXR1cmVkLXByb3BlcnRpZXMgLnByb3BlcnR5LWNhcmQsXG4ubGF0ZXN0LXByb3BlcnRpZXMgLnByb3BlcnR5LWNhcmQsXG4uY3RhLXNlY3Rpb24gLnByb3BlcnR5LWNhcmQsXG4uZmVhdHVyZWQtcHJvcGVydGllcyAuaG92ZXItbGlmdCxcbi5sYXRlc3QtcHJvcGVydGllcyAuaG92ZXItbGlmdCxcbi5jdGEtc2VjdGlvbiAuaG92ZXItbGlmdCB7XG4gIG92ZXJmbG93OiBoaWRkZW4gIWltcG9ydGFudDtcbiAgdHJhbnNpdGlvbjogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4vKiBEaXNhYmxlIGhvdmVyLWxpZnQgY2FyZCBtb3ZlbWVudCAqL1xuLmZlYXR1cmVkLXByb3BlcnRpZXMgLnByb3BlcnR5LWNhcmQ6aG92ZXIsXG4ubGF0ZXN0LXByb3BlcnRpZXMgLnByb3BlcnR5LWNhcmQ6aG92ZXIsXG4uY3RhLXNlY3Rpb24gLnByb3BlcnR5LWNhcmQ6aG92ZXIsXG4uZmVhdHVyZWQtcHJvcGVydGllcyAuaG92ZXItbGlmdDpob3Zlcixcbi5sYXRlc3QtcHJvcGVydGllcyAuaG92ZXItbGlmdDpob3Zlcixcbi5jdGEtc2VjdGlvbiAuaG92ZXItbGlmdDpob3ZlciB7XG4gIHRyYW5zZm9ybTogbm9uZSAhaW1wb3J0YW50O1xuICBib3JkZXItY29sb3I6ICNlMmU4ZjA7XG4gIGJveC1zaGFkb3c6IDAgMnB4IDE2cHggcmdiYSgwLCAwLCAwLCAwLjA0KTtcbn1cblxuLyogRGlzYWJsZSBpbWFnZSBzY2FsZS96b29tIGVmZmVjdCAqL1xuLmZlYXR1cmVkLXByb3BlcnRpZXMgLnByb3BlcnR5LWNhcmQ6aG92ZXIgLnByb3BlcnR5LWltYWdlLFxuLmZlYXR1cmVkLXByb3BlcnRpZXMgLnByb3BlcnR5LWNhcmQ6aG92ZXIgLmNhcmQtaW1nLXRvcCxcbi5sYXRlc3QtcHJvcGVydGllcyAucHJvcGVydHktY2FyZDpob3ZlciAucHJvcGVydHktaW1hZ2UsXG4ubGF0ZXN0LXByb3BlcnRpZXMgLnByb3BlcnR5LWNhcmQ6aG92ZXIgLmNhcmQtaW1nLXRvcCxcbi5jdGEtc2VjdGlvbiAucHJvcGVydHktY2FyZDpob3ZlciAucHJvcGVydHktaW1hZ2UsXG4uY3RhLXNlY3Rpb24gLnByb3BlcnR5LWNhcmQ6aG92ZXIgLmNhcmQtaW1nLXRvcCB7XG4gIHRyYW5zZm9ybTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4vKiBFbnN1cmUgYnV0dG9uIHRleHQgc3RheXMgd2hpdGUgb24gaG92ZXIgKGFsbG93IG5vcm1hbCBob3ZlciBhbmltYXRpb24pICovXG4uZmVhdHVyZWQtcHJvcGVydGllcyAuYnRuLmJ0bi1pbmR1c3RyaWFsOmhvdmVyLFxuLmxhdGVzdC1wcm9wZXJ0aWVzIC5idG4uYnRuLWluZHVzdHJpYWw6aG92ZXIsXG4uY3RhLXNlY3Rpb24gLmJ0bi5idG4taW5kdXN0cmlhbDpob3ZlciB7XG4gIGNvbG9yOiB3aGl0ZSAhaW1wb3J0YW50O1xufVxuXG4vKiBFbnN1cmUgYnV0dG9uIHRleHQgYW5kIGljb24gc3RheSB3aGl0ZSBvbiBob3ZlciAqL1xuLmZlYXR1cmVkLXByb3BlcnRpZXMgLmJ0bi5idG4taW5kdXN0cmlhbDpob3ZlciBzcGFuLFxuLmZlYXR1cmVkLXByb3BlcnRpZXMgLmJ0bi5idG4taW5kdXN0cmlhbDpob3ZlciBpLFxuLmxhdGVzdC1wcm9wZXJ0aWVzIC5idG4uYnRuLWluZHVzdHJpYWw6aG92ZXIgc3Bhbixcbi5sYXRlc3QtcHJvcGVydGllcyAuYnRuLmJ0bi1pbmR1c3RyaWFsOmhvdmVyIGksXG4uY3RhLXNlY3Rpb24gLmJ0bi5idG4taW5kdXN0cmlhbDpob3ZlciBzcGFuLFxuLmN0YS1zZWN0aW9uIC5idG4uYnRuLWluZHVzdHJpYWw6aG92ZXIgaSB7XG4gIGNvbG9yOiB3aGl0ZSAhaW1wb3J0YW50O1xufVxuXG4vKiBBZGRpdGlvbmFsIGRlZmVuc2l2ZSBydWxlcyB0byBwcmV2ZW50IGhvcml6b250YWwgb3ZlcmZsb3cgLyB2aXN1YWwgYXJ0aWZhY3RzICovXG4uZmVhdHVyZWQtcHJvcGVydGllcyxcbi5sYXRlc3QtcHJvcGVydGllcyxcbi5mZWF0dXJlZC1wcm9wZXJ0aWVzIC5wcm9wZXJ0eS1jYXJvdXNlbCxcbi5sYXRlc3QtcHJvcGVydGllcyAucHJvcGVydHktY2Fyb3VzZWwsXG4uZmVhdHVyZWQtcHJvcGVydGllcyAucHJvcGVydHktY2Fyb3VzZWwtdHJhY2ssXG4ubGF0ZXN0LXByb3BlcnRpZXMgLnByb3BlcnR5LWNhcm91c2VsLXRyYWNrIHtcbiAgb3ZlcmZsb3cteDogaGlkZGVuICFpbXBvcnRhbnQ7XG59XG5cbi5wcm9wZXJ0eS1jYXJvdXNlbC1pdGVtLFxuLnByb3BlcnR5LWNhcmQsXG4ucHJvcGVydHktY2FyZCAuY2FyZC1pbWctdG9wLFxuLnByb3BlcnR5LWNhcmQgLnByb3BlcnR5LWltYWdlIHtcbiAgbWluLXdpZHRoOiAwICFpbXBvcnRhbnQ7XG4gIG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94ICFpbXBvcnRhbnQ7XG59Il0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9*/