/*!**************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/styles/app.css ***!
  \**************************************************************************************************************/

/*!***************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** 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/app.scss ***!
  \***************************************************************************************************************************************************************************************************************************************************************************/
.hero-section {
  position: relative;
  height: 100vh;
  min-height: 600px;
  overflow: hidden;
  background-attachment: fixed;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  background-image: url(/build/images/hero-image.e9e35389.jpg) !important;
}

.hero-overlay {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(135deg, rgba(45, 45, 45, 0.95) 0%, rgba(70, 70, 70, 0.85) 100%);
  z-index: 1;
}

.hero-content {
  position: relative;
  z-index: 2;
  animation: fadeInUp 1s ease-out;
}

.hero-title {
  font-size: 3.5rem;
  font-weight: 700;
  margin-bottom: 1.5rem;
  animation: slideInLeft 1s ease-out;
  color: #ffffff;
}

.hero-subtitle {
  font-size: 1.5rem;
  margin-bottom: 2rem;
  animation: slideInRight 1s ease-out;
  color: #ffffff;
}

.hero-buttons {
  animation: fadeInUp 1s ease-out 0.5s backwards;
}

.hero-buttons .btn-primary {
  background-color: #ef0050;
  border-color: #ef0050;
}

.hero-buttons .btn-primary:hover {
  background-color: #ff7300;
  border-color: #ff7300;
}

.hero-buttons .btn-outline-light {
  border-color: #ffffff;
}

.hero-buttons .btn-outline-light:hover {
  background-color: #ffffff;
  color: #2d2d2d;
}

@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes slideInLeft {
  from {
    opacity: 0;
    transform: translateX(-50px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}
@keyframes slideInRight {
  from {
    opacity: 0;
    transform: translateX(50px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}
.scroll-indicator {
  position: absolute;
  bottom: 5rem;
  left: 50%;
  transform: translateX(-50%);
  z-index: 2;
  animation: bounce 2s infinite;
}

@keyframes bounce {
  0%, 20%, 50%, 80%, 100% {
    transform: translateY(0);
  }
  40% {
    transform: translateY(-20px);
  }
  60% {
    transform: translateY(-10px);
  }
}
@media (max-width: 768px) {
  .hero-title {
    font-size: 2.5rem;
  }
  .hero-subtitle {
    font-size: 1.2rem;
  }
}
@font-face {
  font-family: "Aller";
  src: url(/build/fonts/aller-regular.009705f1.ttf) format("truetype");
  font-weight: normal;
  font-style: normal;
}
@font-face {
  font-family: "Aller";
  src: url(/build/fonts/aller-bold.db7f24b3.ttf) format("truetype");
  font-weight: bold;
  font-style: normal;
}
@font-face {
  font-family: "Aller";
  src: url(/build/fonts/aller-light.f789f09a.ttf) format("truetype");
  font-weight: 300;
  font-style: normal;
}
:root {
  --primary-orange: #ff6b00;
  --primary-purple: #9b00d8;
}

body {
  font-family: "Aller", sans-serif;
  margin: 0;
  padding: 0;
  background-color: #ffffff;
  color: #333333;
  padding-top: 80px;
}

.gradient-bg {
  background: linear-gradient(135deg, var(--primary-orange), var(--primary-purple));
}

.card {
  background: rgba(255, 255, 255, 0.95);
  border-radius: 15px;
  padding: 2rem;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08);
  transition: transform 0.3s ease;
}
.card:hover {
  transform: translateY(-5px);
}

.btn {
  padding: 12px 24px;
  border-radius: 25px;
  border: none;
  font-weight: bold;
  cursor: pointer;
  transition: all 0.3s ease;
}
.btn-primary {
  background: var(--primary-orange);
  color: white;
}
.btn-primary:hover {
  background: rgb(204, 85.6, 0);
  transform: translateY(-2px);
}

.navbar {
  padding: 1rem 2rem;
  background: rgba(255, 255, 255, 0.98);
  backdrop-filter: blur(10px);
  position: fixed;
  width: 100%;
  top: 0;
  z-index: 1000;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
  transition: all 0.3s ease;
}
.navbar.scrolled {
  padding: 0.5rem 2rem;
  background: rgba(255, 255, 255, 0.98);
  box-shadow: 0 2px 15px rgba(0, 0, 0, 0.1);
}
.navbar .navbar-brand {
  padding: 0;
  position: relative;
}
.navbar .navbar-nav {
  gap: 1.5rem;
}
.navbar .nav-link {
  color: #333333;
  text-decoration: none;
  font-weight: 500;
  font-size: 1.1rem;
  transition: all 0.3s ease;
  position: relative;
}
.navbar .nav-link:not(.contact-btn):after {
  content: "";
  position: absolute;
  width: 0;
  height: 2px;
  bottom: -5px;
  left: 0;
  background: var(--primary-orange);
  transition: width 0.3s ease;
}
.navbar .nav-link:not(.contact-btn):hover:after {
  width: 100%;
}
.navbar .nav-link.contact-btn {
  background: var(--primary-orange);
  color: white;
  padding: 0.5rem 1.5rem;
  border-radius: 25px;
  transition: all 0.3s ease;
}
.navbar .nav-link.contact-btn:hover {
  background: rgb(204, 85.6, 0);
  transform: translateY(-2px);
  color: white;
}
.navbar .navbar-toggler {
  border: none;
  padding: 0.5rem;
}
.navbar .navbar-toggler:focus {
  box-shadow: none;
}

.features-section {
  padding: 80px 0;
  background-color: white;
}
.features-section .feature-card {
  text-align: center;
  padding: 2rem;
  background: white;
  border-radius: 10px;
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.05);
  transition: transform 0.3s ease;
}
.features-section .feature-card:hover {
  transform: translateY(-5px);
}
.features-section .feature-card i {
  font-size: 2.5rem;
  color: #ff6b00;
  margin-bottom: 1.5rem;
}
.features-section .feature-card h3 {
  color: #ff6b00;
  margin-bottom: 1rem;
}
.features-section .feature-card p {
  color: #6c757d;
  line-height: 1.6;
}

.services {
  padding: 5rem 2rem;
}
.services .service-card {
  text-align: center;
  margin-bottom: 2rem;
}
.services .service-card i {
  font-size: 2.5rem;
  color: var(--primary-orange);
  margin-bottom: 1rem;
}
.services .service-card h3 {
  margin-bottom: 1rem;
  color: #333333;
}

.page-hero {
  background: linear-gradient(135deg, #ff6b00 0%, #9b00d8 100%);
  padding: 100px 0;
  text-align: center;
  color: white;
  margin-bottom: 80px;
}
.page-hero h1 {
  font-size: 3.5rem;
  font-weight: 700;
  margin-bottom: 1rem;
}
.page-hero p {
  font-size: 1.2rem;
  opacity: 0.9;
}

.about-section {
  padding: 80px 0;
}
.about-section h2 {
  color: #ff6b00;
  margin-bottom: 2rem;
}
.about-section p {
  margin-bottom: 1.5rem;
  line-height: 1.8;
}
.about-section .about-image {
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
  border-radius: 10px;
  overflow: hidden;
}

.stats-section {
  padding: 80px 0;
  color: white;
}
.stats-section .stat-card {
  padding: 2rem;
  background: rgba(255, 255, 255, 0.1);
  border-radius: 15px;
  backdrop-filter: blur(10px);
  transition: transform 0.3s ease;
}
.stats-section .stat-card:hover {
  transform: translateY(-5px);
}
.stats-section .stat-card i {
  font-size: 2.5rem;
  margin-bottom: 1rem;
  opacity: 0.9;
}
.stats-section .stat-card h3 {
  font-size: 2.5rem;
  font-weight: 700;
  margin-bottom: 0.5rem;
}
.stats-section .stat-card p {
  font-size: 1.1rem;
  opacity: 0.9;
  margin-bottom: 0;
}

.team-section {
  padding: 80px 0;
  background-color: #f8f9fa;
}
.team-section h2 {
  color: #ff6b00;
  margin-bottom: 3rem;
}
.team-section .team-card {
  background: white;
  border-radius: 10px;
  overflow: hidden;
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.05);
  transition: transform 0.3s ease;
}
.team-section .team-card:hover {
  transform: translateY(-5px);
}
.team-section .team-card .team-image {
  height: 300px;
  overflow: hidden;
}
.team-section .team-card .team-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.team-section .team-card .team-info {
  padding: 1.5rem;
  text-align: center;
}
.team-section .team-card .team-info h4 {
  color: #ff6b00;
  margin-bottom: 0.5rem;
}
.team-section .team-card .team-info p {
  color: #6c757d;
}

.values-section {
  padding: 80px 0;
}
.values-section h2 {
  color: #ff6b00;
  margin-bottom: 3rem;
}
.values-section .value-card {
  text-align: center;
  padding: 2rem;
  background: white;
  border-radius: 10px;
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.05);
  transition: transform 0.3s ease;
}
.values-section .value-card:hover {
  transform: translateY(-5px);
}
.values-section .value-card i {
  font-size: 2.5rem;
  color: #ff6b00;
  margin-bottom: 1.5rem;
}
.values-section .value-card h4 {
  color: #ff6b00;
  margin-bottom: 1rem;
}
.values-section .value-card p {
  color: #6c757d;
  line-height: 1.6;
}

.hero-section {
  padding: 120px 0;
  background: linear-gradient(135deg, rgba(255, 107, 0, 0.1) 0%, rgba(155, 0, 216, 0.1) 100%);
}
.hero-section h1 {
  font-size: 3.5rem;
  font-weight: 700;
  color: #ff6b00;
  margin-bottom: 1.5rem;
}
.hero-section .lead {
  font-size: 1.25rem;
  color: #6c757d;
  margin-bottom: 2rem;
}
.hero-section .hero-buttons .btn {
  margin-right: 1rem;
}
.hero-section .hero-image img {
  max-width: 100%;
  height: auto;
}

.technologies-section {
  padding: 80px 0;
  background-color: #f8f9fa;
}
.technologies-section h2 {
  color: #ff6b00;
  margin-bottom: 3rem;
  font-size: 2.5rem;
  font-weight: 700;
}
.technologies-section .technology-category {
  background: white;
  border-radius: 15px;
  padding: 2rem;
  box-shadow: 0 5px 20px rgba(0, 0, 0, 0.05);
  height: 100%;
  transition: all 0.3s ease;
  border: 1px solid rgba(255, 107, 0, 0.1);
}
.technologies-section .technology-category:hover {
  transform: translateY(-5px);
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.1);
  border-color: rgba(255, 107, 0, 0.2);
}
.technologies-section .technology-category .category-header {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin-bottom: 1.5rem;
}
.technologies-section .technology-category .category-header i {
  font-size: 2rem;
  color: #ff6b00;
  background: rgba(255, 107, 0, 0.1);
  width: 50px;
  height: 50px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 12px;
}
.technologies-section .technology-category .category-header h3 {
  color: #333333;
  font-size: 1.5rem;
  font-weight: 600;
  margin: 0;
}
.technologies-section .technology-category .category-description {
  color: #666666;
  font-size: 1rem;
  line-height: 1.6;
  margin-bottom: 2rem;
}
.technologies-section .technology-category .technology-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1rem;
}
.technologies-section .technology-category .technology-grid .technology-item {
  background: rgba(255, 107, 0, 0.05);
  border-radius: 10px;
  padding: 1rem;
  display: flex;
  align-items: center;
  gap: 1rem;
  transition: all 0.3s ease;
}
.technologies-section .technology-category .technology-grid .technology-item:hover {
  background: rgba(255, 107, 0, 0.1);
  transform: translateX(5px);
}
.technologies-section .technology-category .technology-grid .technology-item .technology-icon {
  width: 40px;
  height: 40px;
  background: white;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
}
.technologies-section .technology-category .technology-grid .technology-item .technology-icon i {
  font-size: 1.2rem;
  color: #ff6b00;
}
.technologies-section .technology-category .technology-grid .technology-item .technology-name {
  color: #333333;
  font-weight: 500;
  font-size: 0.95rem;
}

.cta-section {
  padding: 80px 0;
  color: white;
  text-align: center;
}
.cta-section h2 {
  font-size: 2.5rem;
  margin-bottom: 1rem;
}
.cta-section p {
  font-size: 1.2rem;
  margin-bottom: 2rem;
  opacity: 0.9;
}
.cta-section .btn-primary {
  background-color: white;
  color: #ff6b00;
  border: none;
  padding: 1rem 2rem;
  font-size: 1.1rem;
  transition: all 0.3s ease;
}
.cta-section .btn-primary:hover {
  background-color: rgba(255, 255, 255, 0.9);
  transform: translateY(-2px);
}

.services-section {
  padding: 80px 0;
  background-color: #f8f9fa;
}
.services-section .service-card {
  background: white;
  border-radius: 10px;
  padding: 2rem;
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.05);
  transition: transform 0.3s ease;
  height: 100%;
}
.services-section .service-card:hover {
  transform: translateY(-5px);
}
.services-section .service-card .service-icon {
  width: 60px;
  height: 60px;
  background: linear-gradient(135deg, #ff6b00 0%, #9b00d8 100%);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 1.5rem;
}
.services-section .service-card .service-icon i {
  font-size: 1.5rem;
  color: white;
}
.services-section .service-card .service-content h3 {
  color: #ff6b00;
  margin-bottom: 1rem;
}
.services-section .service-card .service-content p {
  color: #6c757d;
  margin-bottom: 1.5rem;
}
.services-section .service-card .service-content .service-features {
  list-style: none;
  padding: 0;
  margin: 0;
}
.services-section .service-card .service-content .service-features li {
  color: #6c757d;
  margin-bottom: 0.5rem;
  display: flex;
  align-items: center;
}
.services-section .service-card .service-content .service-features li i {
  color: #ff6b00;
  margin-right: 0.5rem;
}

.process-section {
  padding: 80px 0;
  background-color: #f8f9fa;
}
.process-section h2 {
  color: #ff6b00;
  margin-bottom: 3rem;
  font-size: 2.5rem;
  font-weight: 700;
}
.process-section .process-card {
  background: white;
  border-radius: 15px;
  padding: 2rem;
  box-shadow: 0 5px 20px rgba(0, 0, 0, 0.05);
  height: 100%;
  transition: all 0.3s ease;
  text-align: center;
  position: relative;
}
.process-section .process-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.1);
}
.process-section .process-card .process-number {
  width: 40px;
  height: 40px;
  background: linear-gradient(135deg, #ff6b00, #9b00d8);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: white;
  font-weight: 700;
  margin: 0 auto 1.5rem;
  font-size: 1.2rem;
}
.process-section .process-card h4 {
  color: #ff6b00;
  margin-bottom: 1rem;
  font-size: 1.3rem;
  font-weight: 600;
}
.process-section .process-card p {
  color: #666666;
  line-height: 1.6;
  margin-bottom: 0;
}

.contact-section {
  padding: 80px 0;
  background-color: #f8f9fa;
}
.contact-section .contact-info h2 {
  color: #ff6b00;
  margin-bottom: 1.5rem;
}
.contact-section .contact-info p {
  color: #6c757d;
  margin-bottom: 2rem;
}
.contact-section .contact-info .contact-details {
  margin-bottom: 2rem;
}
.contact-section .contact-info .contact-details .contact-item {
  display: flex;
  align-items: flex-start;
  margin-bottom: 1.5rem;
}
.contact-section .contact-info .contact-details .contact-item i {
  font-size: 1.5rem;
  color: #ff6b00;
  margin-right: 1rem;
  margin-top: 0.25rem;
}
.contact-section .contact-info .contact-details .contact-item h4 {
  color: #ff6b00;
  margin-bottom: 0.5rem;
}
.contact-section .contact-info .contact-details .contact-item p {
  color: #6c757d;
  margin-bottom: 0;
}
.contact-section .contact-info .social-links {
  display: flex;
  gap: 1rem;
}
.contact-section .contact-info .social-links .social-link {
  width: 40px;
  height: 40px;
  background: linear-gradient(135deg, #ff6b00 0%, #9b00d8 100%);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: white;
  text-decoration: none;
  transition: transform 0.3s ease;
}
.contact-section .contact-info .social-links .social-link:hover {
  transform: translateY(-3px);
}
.contact-section .contact-form {
  background: white;
  padding: 2rem;
  border-radius: 10px;
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.05);
}
.contact-section .contact-form h2 {
  color: #ff6b00;
  margin-bottom: 2rem;
}
.contact-section .contact-form .form-group {
  margin-bottom: 1.5rem;
}
.contact-section .contact-form .form-group label {
  color: #6c757d;
  margin-bottom: 0.5rem;
  display: block;
}
.contact-section .contact-form .form-group .form-control {
  border: 1px solid #dee2e6;
  border-radius: 5px;
  padding: 0.75rem;
  transition: border-color 0.3s ease;
}
.contact-section .contact-form .form-group .form-control:focus {
  border-color: #ff6b00;
  box-shadow: none;
}
.contact-section .contact-form .btn-primary {
  width: 100%;
  padding: 1rem;
  font-size: 1.1rem;
}

.map-section .map-container {
  width: 100%;
  height: 450px;
  overflow: hidden;
}
.map-section .map-container iframe {
  width: 100%;
  height: 100%;
  border: 0;
}

.alert {
  margin-bottom: 0;
  border-radius: 0;
  padding: 1rem;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 1000;
  animation: slideDown 0.3s ease-out;
}
.alert.alert-success {
  background-color: #d4edda;
  border-color: #c3e6cb;
  color: #155724;
}
.alert.alert-error {
  background-color: #f8d7da;
  border-color: #f5c6cb;
  color: #721c24;
}
.alert .btn-close {
  margin-left: 1rem;
}

@keyframes slideDown {
  from {
    transform: translateY(-100%);
  }
  to {
    transform: translateY(0);
  }
}
.footer {
  background-color: #1a1a1a;
  color: white;
  padding: 80px 0 0;
}
.footer h4 {
  color: #ff6b00;
  margin-bottom: 1.5rem;
  font-size: 1.2rem;
}
.footer p {
  color: #a0a0a0;
  line-height: 1.6;
}
.footer .footer-links {
  list-style: none;
  padding: 0;
  margin: 0;
}
.footer .footer-links li {
  margin-bottom: 0.75rem;
}
.footer .footer-links li a {
  color: #a0a0a0;
  text-decoration: none;
  transition: color 0.3s ease;
}
.footer .footer-links li a:hover {
  color: #ff6b00;
}
.footer .footer-contact {
  list-style: none;
  padding: 0;
  margin: 0;
}
.footer .footer-contact li {
  color: #a0a0a0;
  margin-bottom: 1rem;
  display: flex;
  align-items: center;
}
.footer .footer-contact li i {
  color: #ff6b00;
  margin-right: 0.75rem;
}
.footer .footer-bottom {
  margin-top: 60px;
  padding: 20px 0;
  border-top: 1px solid rgba(255, 255, 255, 0.1);
}
.footer .footer-bottom p {
  margin: 0;
}
.footer .footer-bottom .social-links {
  display: flex;
  justify-content: flex-end;
  gap: 1rem;
}
.footer .footer-bottom .social-links .social-link {
  width: 35px;
  height: 35px;
  background: rgba(255, 255, 255, 0.1);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: white;
  text-decoration: none;
  transition: all 0.3s ease;
}
.footer .footer-bottom .social-links .social-link:hover {
  background: #ff6b00;
  transform: translateY(-3px);
}

.testimonials-section {
  padding: 80px 0;
  background-color: #f8f9fa;
}
.testimonials-section h2 {
  color: #ff6b00;
  margin-bottom: 3rem;
}
.testimonials-section .testimonial-card {
  background: white;
  border-radius: 10px;
  padding: 2rem;
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.05);
  height: 100%;
  transition: transform 0.3s ease;
}
.testimonials-section .testimonial-card:hover {
  transform: translateY(-5px);
}
.testimonials-section .testimonial-card .testimonial-content {
  margin-bottom: 1.5rem;
  position: relative;
}
.testimonials-section .testimonial-card .testimonial-content i {
  color: #ff6b00;
  font-size: 2rem;
  margin-bottom: 1rem;
}
.testimonials-section .testimonial-card .testimonial-content p {
  color: #6c757d;
  font-style: italic;
  line-height: 1.6;
}
.testimonials-section .testimonial-card .testimonial-author {
  display: flex;
  align-items: center;
  gap: 1rem;
}
.testimonials-section .testimonial-card .testimonial-author img {
  width: 60px;
  height: 60px;
  object-fit: cover;
}
.testimonials-section .testimonial-card .testimonial-author .author-info h4 {
  color: #ff6b00;
  margin-bottom: 0.25rem;
}
.testimonials-section .testimonial-card .testimonial-author .author-info p {
  color: #6c757d;
  margin-bottom: 0;
}

.references-section {
  padding: 80px 0;
  background-color: #f8f9fa;
}
.references-section h2 {
  color: #ff6b00;
  margin-bottom: 3rem;
}
.references-section .reference-card {
  background: white;
  border-radius: 10px;
  padding: 2rem;
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.05);
  height: 100%;
  transition: transform 0.3s ease;
  text-align: center;
}
.references-section .reference-card:hover {
  transform: translateY(-5px);
}
.references-section .reference-card img {
  max-width: 120px;
  height: auto;
  margin-bottom: 1rem;
  filter: grayscale(100%);
  transition: filter 0.3s ease;
}
.references-section .reference-card:hover img {
  filter: grayscale(0%);
}
.references-section .reference-card .reference-info h4 {
  color: #ff6b00;
  margin-bottom: 0.5rem;
  font-size: 1.1rem;
}
.references-section .reference-card .reference-info p {
  color: #6c757d;
  font-size: 0.9rem;
  margin-bottom: 0;
}

.intro-section {
  padding: 80px 0;
  background-color: white;
}
.intro-section h2 {
  color: #ff6b00;
  margin-bottom: 1.5rem;
  font-size: 2rem;
  font-weight: 700;
}
.intro-section .lead {
  font-size: 1.25rem;
  color: #333333;
  margin-bottom: 1.5rem;
  line-height: 1.6;
}
.intro-section p {
  color: #666666;
  line-height: 1.8;
  margin-bottom: 1.5rem;
}
.intro-section .tech-highlights {
  background: rgba(255, 107, 0, 0.05);
  border-radius: 15px;
  padding: 2rem;
  height: 100%;
}
.intro-section .tech-highlights .highlight-item {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin-bottom: 1.5rem;
  color: #333333;
  font-weight: 500;
}
.intro-section .tech-highlights .highlight-item:last-child {
  margin-bottom: 0;
}
.intro-section .tech-highlights .highlight-item i {
  color: #ff6b00;
  font-size: 1.2rem;
}

.blog-section {
  padding: 80px 0;
  background-color: #f8f9fa;
}
.blog-section .blog-card {
  background: white;
  border-radius: 15px;
  overflow: hidden;
  box-shadow: 0 5px 20px rgba(0, 0, 0, 0.05);
  height: 100%;
  transition: all 0.3s ease;
}
.blog-section .blog-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.1);
}
.blog-section .blog-card .blog-image {
  height: 200px;
  overflow: hidden;
}
.blog-section .blog-card .blog-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.3s ease;
}
.blog-section .blog-card:hover .blog-image img {
  transform: scale(1.05);
}
.blog-section .blog-card .blog-content {
  padding: 1.5rem;
}
.blog-section .blog-card .blog-content .blog-meta {
  margin-bottom: 1rem;
}
.blog-section .blog-card .blog-content .blog-meta .date {
  color: #666666;
  font-size: 0.9rem;
}
.blog-section .blog-card .blog-content h3 {
  color: #333333;
  font-size: 1.3rem;
  margin-bottom: 1rem;
  font-weight: 600;
}
.blog-section .blog-card .blog-content p {
  color: #666666;
  margin-bottom: 1.5rem;
  line-height: 1.6;
}
.blog-section .blog-card .blog-content .btn {
  width: 100%;
  text-align: center;
}

.article-header {
  padding: 80px 0;
  background: linear-gradient(135deg, rgba(255, 107, 0, 0.1) 0%, rgba(155, 0, 216, 0.1) 100%);
}
.article-header .article-meta {
  margin-bottom: 1rem;
}
.article-header .article-meta .date {
  color: #666666;
  font-size: 0.9rem;
}
.article-header h1 {
  color: #333333;
  font-size: 2.5rem;
  font-weight: 700;
  margin-bottom: 2rem;
  line-height: 1.2;
}
.article-header .article-image {
  margin-bottom: 2rem;
  border-radius: 15px;
  overflow: hidden;
  box-shadow: 0 5px 20px rgba(0, 0, 0, 0.1);
}
.article-header .article-image img {
  width: 100%;
  height: auto;
}

.article-content {
  padding: 80px 0;
}
.article-content .content {
  color: #333333;
  line-height: 1.8;
  font-size: 1.1rem;
}
.article-content .content p {
  margin-bottom: 1.5rem;
}
.article-content .content h2 {
  color: #ff6b00;
  font-size: 1.8rem;
  margin: 2rem 0 1rem;
  font-weight: 600;
}
.article-content .content h3 {
  color: #333333;
  font-size: 1.5rem;
  margin: 1.5rem 0 1rem;
  font-weight: 600;
}
.article-content .content img {
  max-width: 100%;
  height: auto;
  border-radius: 10px;
  margin: 1.5rem 0;
}

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