/*!*************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[2]!./assets/styles/_tokens.css ***!
  \*************************************************************************************************************************************************************************************************/
/* Brand Kit v2.0 — Del campo al código */
:root {
  --soil: #161210;
  --bark: #201810;
  --bark2: #261e14;
  --moss: #263320;
  --coffee: #5c3d2e;
  --coffee2: #7a5240;
  --avocado: #4a6741;
  --leaf: #6b8f5e;
  --leaf2: #8aad7c;
  --platano: #8b7d2a;
  --citrus: #c47b2b;
  --citrus2: #e09448;
  --dawn: #c8a96e;
  --sun: #e4c88a;
  --ai: #4a7fa5;
  --ai2: #6ba3c8;
  --mist: #f0ece4;
  --cloud: #faf8f4;
  --text-mid: #a89478;
  --text-dim: #5a4e40;
  --border: #2a2018;
  --border2: #352a1c;
  --display: 'Fraunces', Georgia, serif;
  --mono: 'Geist Mono', 'Courier New', monospace;
  --body: 'Geist', system-ui, sans-serif;
  --space-xs: 0.5rem;
  --space-sm: 1rem;
  --space-md: 2rem;
  --space-lg: 4rem;
  --space-xl: 6rem;
}

/*!************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[2]!./assets/styles/_reset.css ***!
  \************************************************************************************************************************************************************************************************/
/* Modern CSS Reset */
*, *::before, *::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}
html {
  scroll-behavior: smooth;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
body {
  font-family: var(--body);
  font-size: 16px;
  line-height: 1.6;
  color: var(--mist);
  background-color: var(--soil);
  overflow-x: hidden;
  position: relative;
}
body::before {
  content: '';
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: url("data:image/svg+xml,%3Csvg viewBox=%270 0 200 200%27 xmlns=%27http://www.w3.org/2000/svg%27%3E%3Cfilter id=%27noise%27%3E%3CfeTurbulence type=%27fractalNoise%27 baseFrequency=%270.9%27 numOctaves=%274%27 stitchTiles=%27stitch%27/%3E%3C/filter%3E%3Crect width=%27100%25%27 height=%27100%25%27 filter=%27url%28%23noise%29%27 opacity=%270.05%27/%3E%3C/svg%3E");
  pointer-events: none;
  z-index: 9999;
  opacity: 0.6;
}
img, picture, video, canvas, svg {
  display: block;
  max-width: 100%;
}
input, button, textarea, select {
  font: inherit;
}
p, h1, h2, h3, h4, h5, h6 {
  overflow-wrap: break-word;
}
a {
  color: inherit;
  text-decoration: none;
}
ul, ol {
  list-style: none;
}
button {
  cursor: pointer;
  border: none;
  background: none;
}

/*!****************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[2]!./assets/styles/_utilities.css ***!
  \****************************************************************************************************************************************************************************************************/
/* Utilities */
.wrap {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 var(--space-md);
  width: 100%;
  box-sizing: border-box;
}
.wrap--narrow {
  max-width: 900px;
}
.reveal {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 0.6s ease, transform 0.6s ease;
}
.reveal.active {
  opacity: 1;
  transform: translateY(0);
}
.tag {
  display: inline-block;
  padding: 0.25rem 0.75rem;
  font-family: var(--mono);
  font-size: 0.75rem;
  font-weight: 400;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  border-radius: 4px;
  background: var(--bark2);
  color: var(--leaf);
  border: 1px solid var(--border2);
}
.tag.ai {
  background: rgba(74, 127, 165, 0.15);
  color: var(--ai2);
  border-color: var(--ai);
}
.btn {
  display: inline-block;
  padding: 0.875rem 2rem;
  font-family: var(--mono);
  font-size: 0.875rem;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  border: 2px solid var(--dawn);
  color: var(--dawn);
  background: transparent;
  transition: all 0.3s ease;
  cursor: pointer;
}
.btn:hover {
  background: var(--dawn);
  color: var(--soil);
  transform: translateY(-2px);
}
.btn--primary {
  background: var(--dawn);
  color: var(--soil);
}
.btn--primary:hover {
  background: var(--sun);
  border-color: var(--sun);
}
.label {
  font-family: var(--mono);
  font-size: 0.75rem;
  font-weight: 400;
  text-transform: uppercase;
  letter-spacing: 0.15em;
  color: var(--text-dim);
}
.section-title {
  font-family: var(--display);
  font-size: 3rem;
  font-weight: 900;
  letter-spacing: -0.03em;
  color: var(--cloud);
  margin-bottom: var(--space-md);
}
.section-title em {
  font-family: var(--display);
  font-weight: 300;
  font-style: italic;
  color: var(--dawn);
}

/*!**********************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[2]!./assets/styles/_nav.css ***!
  \**********************************************************************************************************************************************************************************************/
/* Navigation */
.nav {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 1000;
  padding: var(--space-sm) var(--space-md);
  background: rgba(22, 18, 16, 0.95);
  backdrop-filter: blur(10px);
  border-bottom: 1px solid var(--border);
  transition: all 0.3s ease;
}
.nav.scrolled {
  padding: var(--space-xs) var(--space-md);
  background: rgba(22, 18, 16, 0.98);
}
.nav__container {
  max-width: 1400px;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.nav__logo {
  font-family: var(--display);
  font-size: 1.25rem;
  font-weight: 900;
  letter-spacing: -0.02em;
  color: var(--mist);
}
.nav__logo em {
  font-family: var(--display);
  font-weight: 300;
  font-style: italic;
  color: var(--dawn);
}
.nav__menu {
  display: flex;
  gap: var(--space-md);
  align-items: center;
}
.nav__link {
  font-family: var(--mono);
  font-size: 0.75rem;
  font-weight: 400;
  text-transform: lowercase;
  letter-spacing: 0.05em;
  color: var(--text-mid);
  transition: color 0.3s ease;
  position: relative;
}
.nav__link:hover,
.nav__link.active {
  color: var(--dawn);
}
.nav__link::after {
  content: '';
  position: absolute;
  bottom: -4px;
  left: 0;
  width: 0;
  height: 1px;
  background: var(--dawn);
  transition: width 0.3s ease;
}
.nav__link:hover::after,
.nav__link.active::after {
  width: 100%;
}

/* Language Toggle */
.lang-toggle {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding-left: var(--space-sm);
  border-left: 1px solid var(--border2);
}

.lang-btn {
  font-family: var(--mono);
  font-size: 0.75rem;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  transition: color 0.3s ease;
  text-decoration: none;
}

.lang-btn--active {
  color: var(--dawn);
}

.lang-btn--inactive {
  color: var(--text-dim);
}

.lang-btn--inactive:hover {
  color: var(--text-mid);
}

.lang-separator {
  font-family: var(--mono);
  color: var(--border2);
  font-size: 0.875rem;
}

.nav__toggle {
  display: none;
  flex-direction: column;
  gap: 4px;
  cursor: pointer;
}
.nav__toggle span {
  width: 24px;
  height: 2px;
  background: var(--mist);
  transition: all 0.3s ease;
}
@media (max-width: 900px) {
  .nav__toggle {
    display: flex;
  }
  .nav__menu {
    position: fixed;
    top: 60px;
    right: -100%;
    width: 250px;
    height: calc(100vh - 60px);
    background: var(--bark);
    flex-direction: column;
    padding: var(--space-lg) var(--space-md);
    border-left: 1px solid var(--border);
    transition: right 0.3s ease;
  }
  .nav__menu.active {
    right: 0;
  }
}

/*!***********************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[2]!./assets/styles/_hero.css ***!
  \***********************************************************************************************************************************************************************************************/
/* Hero */
.hero {
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: var(--space-xl) var(--space-md);
  background: linear-gradient(180deg, var(--soil) 0%, var(--bark) 100%);
  position: relative;
}
.hero__content {
  max-width: 900px;
}
.hero__title {
  font-family: var(--display);
  font-size: clamp(3rem, 8vw, 6rem);
  font-weight: 900;
  letter-spacing: -0.045em;
  color: var(--cloud);
  margin-bottom: var(--space-sm);
  line-height: 1.1;
}
.hero__title em {
  font-family: var(--display);
  font-weight: 300;
  font-style: italic;
  color: var(--dawn);
  display: block;
}
.hero__tagline {
  font-family: var(--display);
  font-size: clamp(1.25rem, 3vw, 1.75rem);
  font-weight: 300;
  font-style: italic;
  color: var(--dawn);
  margin-bottom: var(--space-md);
  line-height: 1.4;
}
.hero__subtitle {
  font-family: var(--mono);
  font-size: 0.875rem;
  font-weight: 400;
  text-transform: uppercase;
  letter-spacing: 0.2em;
  color: var(--leaf);
  margin-bottom: var(--space-lg);
}
.hero__cta {
  display: flex;
  gap: var(--space-sm);
  justify-content: center;
  flex-wrap: wrap;
}

/*!************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[2]!./assets/styles/_about.css ***!
  \************************************************************************************************************************************************************************************************/
/* About Section - Brand Kit v2.0 */
.about {
  min-height: 100vh;
  padding: var(--space-xl) var(--space-md);
  background: var(--bark);
}
.about__content {
  max-width: 900px;
  margin: 0 auto;
}
.about__intro {
  color: var(--text-mid);
  font-size: 1.25rem;
  line-height: 1.7;
  margin-bottom: var(--space-lg);
}
/* Los 4 Cultivos */
.about__cultivos {
  margin: var(--space-xl) 0;
}
.about__cultivos-title {
  font-family: var(--display);
  font-size: 1.75rem;
  font-weight: 700;
  color: var(--dawn);
  margin-bottom: var(--space-md);
  text-align: center;
}
.about__cultivos-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: var(--space-md);
  margin-top: var(--space-lg);
}
.cultivo-card {
  padding: var(--space-md);
  background: var(--bark2);
  border-radius: 4px;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.cultivo-card:hover {
  transform: translateY(-4px);
}
.cultivo-card--cafe {
  border-left: 4px solid var(--coffee);
}
.cultivo-card--aguacate {
  border-left: 4px solid var(--avocado);
}
.cultivo-card--platano {
  border-left: 4px solid var(--platano);
}
.cultivo-card--citrus {
  border-left: 4px solid var(--citrus);
}
.cultivo-card__header {
  font-family: var(--mono);
  font-size: 0.875rem;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  margin-bottom: var(--space-sm);
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.cultivo-card__icon {
  font-size: 1.5rem;
}
.cultivo-card--cafe .cultivo-card__header {
  color: var(--coffee2);
}
.cultivo-card--aguacate .cultivo-card__header {
  color: var(--leaf);
}
.cultivo-card--platano .cultivo-card__header {
  color: var(--platano);
}
.cultivo-card--citrus .cultivo-card__header {
  color: var(--citrus2);
}
.cultivo-card__values {
  color: var(--text-mid);
  font-size: 0.95rem;
  line-height: 1.6;
  margin-bottom: var(--space-xs);
}
.cultivo-card__values strong {
  color: var(--mist);
}
.cultivo-card__description {
  color: var(--text-dim);
  font-size: 0.875rem;
  line-height: 1.5;
}
/* Sección IA */
.about__ai {
  margin: var(--space-xl) 0;
  padding: var(--space-lg);
  background: rgba(74, 127, 165, 0.1);
  border-left: 4px solid var(--ai);
  border-radius: 4px;
}
.about__ai-header {
  font-family: var(--mono);
  font-size: 0.875rem;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--ai2);
  margin-bottom: var(--space-sm);
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.about__ai-tagline {
  font-family: var(--display);
  font-size: 1.5rem;
  font-style: italic;
  font-weight: 300;
  color: var(--ai2);
  line-height: 1.5;
  margin-bottom: var(--space-sm);
}
.about__ai-description {
  color: var(--text-mid);
  font-size: 1.05rem;
  line-height: 1.7;
}
.about__ai-description strong {
  color: var(--mist);
}
/* Filosofía CI/CD */
.about__philosophy {
  margin: var(--space-xl) 0;
  text-align: center;
}
.about__philosophy-label {
  font-family: var(--mono);
  font-size: 0.875rem;
  text-transform: uppercase;
  letter-spacing: 0.15em;
  color: var(--text-dim);
  margin-bottom: var(--space-sm);
}
.about__philosophy-title {
  font-family: var(--display);
  font-size: 1.25rem;
  font-weight: 600;
  color: var(--leaf);
  margin-bottom: var(--space-xs);
}
.about__philosophy-description {
  color: var(--text-mid);
  font-size: 1rem;
  line-height: 1.6;
}
/* Frase Filosófica */
.about__quote {
  margin: var(--space-xl) 0;
  padding: var(--space-lg);
  text-align: center;
  border-top: 1px solid var(--border);
  border-bottom: 1px solid var(--border);
}
.about__quote-text {
  font-family: var(--display);
  font-size: 1.75rem;
  font-style: italic;
  font-weight: 300;
  color: var(--dawn);
  line-height: 1.5;
}
/* Responsive */
@media (max-width: 900px) {
  .about__cultivos-grid {
    grid-template-columns: 1fr;
  }
  .about__quote-text {
    font-size: 1.5rem;
  }
}
@media (max-width: 600px) {
  .about__intro {
    font-size: 1.125rem;
  }
  .about__cultivos-title {
    font-size: 1.5rem;
  }
  .about__ai-tagline {
    font-size: 1.25rem;
  }
  .about__quote-text {
    font-size: 1.25rem;
  }
}

/*!*************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[2]!./assets/styles/_skills.css ***!
  \*************************************************************************************************************************************************************************************************/
/* skills section */

/*!*****************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[2]!./assets/styles/_experience.css ***!
  \*****************************************************************************************************************************************************************************************************/
/* Experience Section - Timeline */
.experience {
  min-height: 100vh;
  padding: var(--space-xl) var(--space-md);
  background: var(--soil);
}
.experience__content {
  max-width: 1000px;
  margin: 0 auto;
}
.experience__intro {
  color: var(--text-mid);
  text-align: center;
  margin-bottom: var(--space-xl);
  font-size: 1.125rem;
}
/* Timeline */
.timeline {
  position: relative;
}
.timeline__line {
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 2px;
  background: var(--border2);
}
.timeline__item {
  position: relative;
  padding-left: var(--space-lg);
  margin-bottom: var(--space-xl);
}
.timeline__item:last-child {
  margin-bottom: 0;
}
.timeline__dot {
  position: absolute;
  left: -6px;
  top: 8px;
  width: 14px;
  height: 14px;
  border-radius: 50%;
  border: 2px solid var(--soil);
}
.timeline__dot--current {
  background: var(--dawn);
}
.timeline__dot--coffee {
  background: var(--coffee);
}
.timeline__dot--avocado {
  background: var(--avocado);
}
.timeline__dot--citrus {
  background: var(--citrus);
}
.timeline__dot--platano {
  background: var(--platano);
}
.timeline__card {
  background: var(--bark2);
  padding: var(--space-md);
  border-radius: 4px;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.timeline__card:hover {
  transform: translateX(4px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
}
.timeline__card--current {
  border-left: 3px solid var(--dawn);
}
.timeline__header {
  display: flex;
  justify-content: space-between;
  align-items: start;
  flex-wrap: wrap;
  gap: var(--space-sm);
  margin-bottom: var(--space-sm);
}
.timeline__company {
  font-family: var(--display);
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--mist);
  margin-bottom: 0.25rem;
}
.timeline__role {
  font-family: var(--mono);
  font-size: 0.875rem;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--leaf);
}
.timeline__period {
  font-family: var(--mono);
  font-size: 0.75rem;
  color: var(--text-dim);
}
.timeline__badge {
  display: inline-block;
  padding: 0.25rem 0.5rem;
  background: var(--moss);
  color: var(--leaf2);
  font-family: var(--mono);
  font-size: 0.75rem;
  border-radius: 4px;
  margin-top: 0.25rem;
}
.timeline__list {
  list-style: none;
  padding: 0;
  margin: var(--space-sm) 0;
}
.timeline__list-item {
  color: var(--text-mid);
  margin-bottom: 0.5rem;
  padding-left: 1.5rem;
  position: relative;
}
.timeline__list-item::before {
  content: '▸';
  position: absolute;
  left: 0;
}
.timeline__card--current .timeline__list-item::before {
  color: var(--dawn);
}
.timeline__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-top: var(--space-sm);
}
/* Responsive */
@media (max-width: 900px) {
  .timeline__header {
    flex-direction: column;
  }
  .timeline__company {
    font-size: 1.25rem;
  }
}
@media (max-width: 600px) {
  .timeline__item {
    padding-left: var(--space-md);
  }
  .timeline__card {
    padding: var(--space-sm);
  }
  .timeline__company {
    font-size: 1.125rem;
  }
}

/*!****************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[2]!./assets/styles/_portfolio.css ***!
  \****************************************************************************************************************************************************************************************************/
/* Projects/Portfolio Section */
.projects {
  min-height: 100vh;
  padding: var(--space-xl) var(--space-md);
  background: var(--bark);
}
.projects__content {
  max-width: 1200px;
  margin: 0 auto;
}
.projects__intro {
  color: var(--text-mid);
  text-align: center;
  margin-bottom: var(--space-xl);
  font-size: 1.125rem;
}
/* Projects Grid */
.projects__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(350px, 100%), 1fr));
  gap: var(--space-lg);
}
.project-card {
  background: var(--bark2);
  border-radius: 8px;
  padding: var(--space-lg);
  border: 1px solid var(--border2);
  position: relative;
  transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease;
}
.project-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.4);
  border-color: var(--dawn);
}
.project-card--featured {
  border: 2px solid var(--dawn);
}
.project-card--featured:hover {
  box-shadow: 0 8px 24px rgba(200, 169, 110, 0.3);
}
.project-card__badge {
  position: absolute;
  top: var(--space-sm);
  right: var(--space-sm);
  background: var(--dawn);
  color: var(--soil);
  font-family: var(--mono);
  font-size: 0.75rem;
  padding: 0.25rem 0.75rem;
  border-radius: 4px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.1em;
}
.project-card__title {
  font-family: var(--display);
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--mist);
  margin-bottom: var(--space-xs);
  line-height: 1.3;
}
.project-card__category {
  font-family: var(--mono);
  font-size: 0.875rem;
  color: var(--leaf);
  margin-bottom: var(--space-sm);
}
.project-card__category--ai {
  color: var(--ai2);
}
.project-card__description {
  color: var(--text-mid);
  font-size: 0.95rem;
  line-height: 1.6;
  margin-bottom: var(--space-md);
}
.project-card__description strong {
  color: var(--dawn);
}
.project-card__stat {
  display: flex;
  align-items: center;
  gap: var(--space-md);
  margin-bottom: var(--space-md);
  padding: var(--space-sm);
  background: rgba(200, 169, 110, 0.1);
  border-radius: 4px;
}
.project-card__stat-number {
  font-family: var(--display);
  font-size: 2rem;
  font-weight: 900;
  color: var(--dawn);
  line-height: 1;
}
.project-card__stat-label {
  font-family: var(--mono);
  font-size: 0.75rem;
  color: var(--text-dim);
  text-transform: uppercase;
  letter-spacing: 0.1em;
}
.project-card__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-bottom: var(--space-md);
}
.project-card__link {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-family: var(--mono);
  font-size: 0.875rem;
  color: var(--dawn);
  text-decoration: none;
  transition: color 0.3s, transform 0.3s;
}
.project-card__link:hover {
  color: var(--sun);
  transform: translateX(4px);
}
/* CTA Section */
.projects__cta {
  text-align: center;
  margin-top: var(--space-xl);
}
.projects__cta-text {
  color: var(--text-mid);
  margin-bottom: var(--space-sm);
}
/* Responsive */
@media (max-width: 900px) {
  .projects__grid {
    grid-template-columns: repeat(auto-fit, minmax(min(300px, 100%), 1fr));
  }
  .project-card__title {
    font-size: 1.25rem;
  }
}
@media (max-width: 600px) {
  .projects__grid {
    grid-template-columns: 1fr;
  }
  .project-card {
    padding: var(--space-md);
  }
  .project-card__title {
    font-size: 1.125rem;
  }
  .project-card__stat-number {
    font-size: 1.5rem;
  }
}
/* Para dispositivos ultra-estrechos (Galaxy Z Fold 5, etc.) */
@media (max-width: 360px) {
  .projects {
    padding: var(--space-lg) var(--space-sm);
  }
  .project-card {
    padding: var(--space-sm);
  }
  .project-card__title {
    font-size: 1rem;
  }
  .project-card__badge {
    font-size: 0.625rem;
    padding: 0.2rem 0.5rem;
  }
  .project-card__stat {
    flex-direction: column;
    align-items: flex-start;
    gap: var(--space-xs);
  }
  .project-card__stat-number {
    font-size: 1.25rem;
  }
}

/*!*******************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[2]!./assets/styles/_testimonials.css ***!
  \*******************************************************************************************************************************************************************************************************/
/* testimonials section */

/*!**************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[2]!./assets/styles/_contact.css ***!
  \**************************************************************************************************************************************************************************************************/
/* Contact Section - Brand Kit v2.0 Enhanced */
.contact {
  min-height: 100vh;
  padding: var(--space-xl) var(--space-md);
  background: var(--bark);
}
.contact__content {
  max-width: 700px;
  margin: 0 auto;
}
/* Intro */
.contact__intro {
  text-align: center;
  margin-bottom: var(--space-lg);
  padding-bottom: var(--space-md);
  border-bottom: 1px solid var(--border);
}
.contact__intro-text {
  font-size: 1.125rem;
  color: var(--text-mid);
  line-height: 1.7;
  margin-bottom: var(--space-sm);
}
.contact__intro-note {
  font-family: var(--mono);
  font-size: 0.875rem;
  color: var(--text-dim);
  line-height: 1.6;
}
.contact__intro-note strong {
  color: var(--dawn);
}
.contact__intro-note a {
  color: var(--dawn);
  text-decoration: none;
  border-bottom: 1px solid var(--dawn);
  transition: color 0.3s;
}
.contact__intro-note a:hover {
  color: var(--sun);
  border-bottom-color: var(--sun);
}
/* Messages */
.contact__message {
  padding: var(--space-md);
  border-radius: 4px;
  margin-bottom: var(--space-lg);
  font-family: var(--mono);
  font-size: 0.9375rem;
  line-height: 1.6;
  animation: slideDown 0.3s ease;
}
@keyframes slideDown {
  from {
    opacity: 0;
    transform: translateY(-10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.contact__message--success {
  background: rgba(107, 143, 94, 0.15);
  color: var(--leaf2);
  border-left: 4px solid var(--leaf);
}
.contact__message--error {
  background: rgba(200, 100, 100, 0.15);
  color: #ff8888;
  border-left: 4px solid #ff6666;
}
/* Form */
.contact__form {
  margin-bottom: var(--space-xl);
}
.contact__form-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--space-md);
  margin-bottom: var(--space-md);
}
.contact__form-group {
  margin-bottom: var(--space-md);
}
.contact__label {
  display: block;
  font-family: var(--mono);
  font-size: 0.875rem;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--dawn);
  margin-bottom: var(--space-xs);
  font-weight: 500;
}
.contact__input,
.contact__textarea {
  width: 100%;
  padding: var(--space-sm);
  font-family: var(--body);
  font-size: 1rem;
  color: var(--mist);
  background: var(--soil);
  border: 2px solid var(--border2);
  border-radius: 4px;
  transition: border-color 0.3s, box-shadow 0.3s, background-color 0.3s;
}
.contact__input:focus,
.contact__textarea:focus {
  outline: none;
  border-color: var(--dawn);
  background: var(--bark2);
  box-shadow: 0 0 0 4px rgba(200, 169, 110, 0.1);
}
.contact__input::-moz-placeholder, .contact__textarea::-moz-placeholder {
  color: var(--text-dim);
}
.contact__input::placeholder,
.contact__textarea::placeholder {
  color: var(--text-dim);
}
.contact__textarea {
  resize: vertical;
  min-height: 150px;
  line-height: 1.6;
}
.contact__hint {
  font-family: var(--mono);
  font-size: 0.75rem;
  color: var(--text-dim);
  margin-top: var(--space-xs);
  font-style: italic;
}
.contact__error {
  display: block;
  color: #ff8888;
  font-family: var(--mono);
  font-size: 0.8125rem;
  margin-top: var(--space-xs);
  padding-left: var(--space-xs);
  border-left: 2px solid #ff6666;
}
/* Form Actions */
.contact__form-actions {
  text-align: center;
}
.contact__submit {
  width: 100%;
  max-width: 300px;
  position: relative;
  min-height: 52px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.contact__submit:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}
.contact__submit-loader {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.spinner {
  display: inline-block;
  width: 14px;
  height: 14px;
  border: 2px solid var(--soil);
  border-top-color: var(--dawn);
  border-radius: 50%;
  animation: spin 0.6s linear infinite;
}
@keyframes spin {
  to {
    transform: rotate(360deg);
  }
}
.contact__privacy {
  font-family: var(--mono);
  font-size: 0.75rem;
  color: var(--text-dim);
  margin-top: var(--space-sm);
  line-height: 1.5;
}
/* Contact Info Cards */
.contact__info {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: var(--space-md);
  margin-top: var(--space-xl);
  padding-top: var(--space-lg);
  border-top: 1px solid var(--border);
}
.contact__info-item {
  display: flex;
  gap: var(--space-sm);
  padding: var(--space-md);
  background: var(--soil);
  border-radius: 4px;
  transition: transform 0.3s, box-shadow 0.3s;
}
.contact__info-item:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
}
.contact__info-icon {
  font-size: 1.5rem;
  line-height: 1;
  flex-shrink: 0;
}
.contact__info-content {
  flex: 1;
}
.contact__info-content strong {
  display: block;
  font-family: var(--mono);
  font-size: 0.8125rem;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--dawn);
  margin-bottom: 0.25rem;
}
.contact__info-content p {
  font-size: 0.9375rem;
  color: var(--text-mid);
  line-height: 1.5;
  margin: 0;
}
/* Responsive */
@media (max-width: 900px) {
  .contact__form-grid {
    grid-template-columns: 1fr;
    gap: 0;
  }
  .contact__info {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 600px) {
  .contact__intro-text {
    font-size: 1rem;
  }
  .contact__input,
  .contact__textarea {
    font-size: 0.9375rem;
  }
  .contact__submit {
    max-width: 100%;
  }
  .contact__info-item {
    padding: var(--space-sm);
  }
  .contact__info-icon {
    font-size: 1.25rem;
  }
}

/*!***************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[2]!./assets/styles/_donation.css ***!
  \***************************************************************************************************************************************************************************************************/
/* Donation Page - Brand Kit v2.0 */

.donation {
  min-height: 100vh;
  background: linear-gradient(135deg, var(--soil) 0%, var(--bark) 50%, var(--moss) 100%);
  padding: calc(80px + var(--space-lg)) var(--space-md) var(--space-xl);
  display: flex;
  align-items: center;
  justify-content: center;
}

.donation__container {
  max-width: 600px;
  width: 100%;
  margin: 0 auto;
}

.donation__header {
  text-align: center;
  margin-bottom: var(--space-lg);
}

.donation__title {
  font-family: var(--display);
  font-size: clamp(2rem, 5vw, 3rem);
  font-weight: 600;
  color: var(--sun);
  margin-bottom: var(--space-sm);
  line-height: 1.2;
}

.donation__title em {
  color: var(--leaf);
  font-style: normal;
}

.donation__intro {
  font-family: var(--body);
  font-size: 1.1rem;
  color: var(--mist);
  line-height: 1.6;
  max-width: 500px;
  margin: 0 auto var(--space-md);
}

.donation__form {
  background: var(--bark2);
  border: 1px solid var(--border2);
  border-radius: 16px;
  padding: var(--space-lg);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.4);
}

.donation__form-group {
  margin-bottom: var(--space-md);
}

.donation__label {
  display: block;
  font-family: var(--body);
  font-size: 0.95rem;
  font-weight: 500;
  color: var(--sun);
  margin-bottom: var(--space-xs);
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.donation__select,
.donation__input {
  width: 100%;
  padding: 1rem 1.25rem;
  font-family: var(--mono);
  font-size: 1.1rem;
  color: var(--cloud);
  background: var(--soil);
  border: 2px solid var(--border2);
  border-radius: 8px;
  outline: none;
  transition: all 0.3s ease;
}

.donation__select:focus,
.donation__input:focus {
  border-color: var(--leaf);
  box-shadow: 0 0 0 3px rgba(107, 143, 94, 0.1);
}

.donation__select {
  cursor: pointer;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg width=%2712%27 height=%278%27 viewBox=%270 0 12 8%27 fill=%27none%27 xmlns=%27http://www.w3.org/2000/svg%27%3E%3Cpath d=%27M1 1L6 6L11 1%27 stroke=%27%23e4c88a%27 stroke-width=%272%27 stroke-linecap=%27round%27/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 1rem center;
  padding-right: 3rem;
}

.donation__input::-moz-placeholder {
  color: var(--text-dim);
}

.donation__input::placeholder {
  color: var(--text-dim);
}

.donation__hint {
  font-family: var(--body);
  font-size: 0.85rem;
  color: var(--text-mid);
  margin-top: var(--space-xs);
  font-style: italic;
}

.donation__submit {
  width: 100%;
  padding: 1.25rem 2rem;
  font-family: var(--body);
  font-size: 1.1rem;
  font-weight: 600;
  color: var(--soil);
  background: linear-gradient(135deg, var(--leaf) 0%, var(--avocado) 100%);
  border: none;
  border-radius: 8px;
  cursor: pointer;
  transition: all 0.3s ease;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  box-shadow: 0 4px 12px rgba(107, 143, 94, 0.3);
}

.donation__submit:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(107, 143, 94, 0.4);
  background: linear-gradient(135deg, var(--leaf2) 0%, var(--leaf) 100%);
}

.donation__submit:active {
  transform: translateY(0);
}

.donation__submit i {
  margin-right: 0.5rem;
}

.donation__privacy {
  font-family: var(--body);
  font-size: 0.9rem;
  color: var(--text-mid);
  text-align: center;
  margin-top: var(--space-md);
  line-height: 1.5;
}

.donation__footer {
  text-align: center;
  margin-top: var(--space-lg);
}

.donation__thank-you {
  font-family: var(--display);
  font-size: 1.5rem;
  color: var(--sun);
  margin-bottom: var(--space-sm);
}

/* Responsive */
@media (max-width: 768px) {
  .donation {
    padding: calc(60px + var(--space-md)) var(--space-sm) var(--space-md);
  }

  .donation__form {
    padding: var(--space-md);
  }

  .donation__title {
    font-size: 2rem;
  }

  .donation__intro {
    font-size: 1rem;
  }
}

/* Loading state */
.donation__submit--loading {
  opacity: 0.7;
  cursor: not-allowed;
  pointer-events: none;
}

.donation__submit--loading::after {
  content: '';
  display: inline-block;
  width: 16px;
  height: 16px;
  border: 2px solid var(--soil);
  border-top-color: transparent;
  border-radius: 50%;
  animation: spin 0.6s linear infinite;
  margin-left: 0.5rem;
  vertical-align: middle;
}

@keyframes spin {
  to { transform: rotate(360deg); }
}


/*!******************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[2]!./assets/styles/_woocommerce.css ***!
  \******************************************************************************************************************************************************************************************************/
/* ============================================
   WooCommerce Colombia Landing Page Styles
   ============================================ */

/* Hero Section */
.woo-hero {
  min-height: 100vh;
  display: flex;
  align-items: center;
  background: linear-gradient(180deg, var(--soil) 0%, var(--bark) 100%);
  padding: var(--space-xl) var(--space-md);
}

.woo-hero__title {
  font-family: var(--display);
  font-size: clamp(2.5rem, 6vw, 4.5rem);
  color: var(--cloud);
  margin-bottom: var(--space-md);
  line-height: 1.1;
}

.woo-hero__subtitle {
  font-family: var(--body);
  font-size: clamp(1.1rem, 2.5vw, 1.5rem);
  color: var(--mist);
  margin-bottom: var(--space-lg);
  max-width: 40em;
}

.woo-hero__cta {
  margin-top: var(--space-md);
}

/* Problems Section */
.woo-problems {
  min-height: 60vh;
  background: var(--bark);
  padding: var(--space-xl) var(--space-md);
}

.woo-problems__title {
  font-family: var(--display);
  font-size: clamp(2rem, 5vw, 3rem);
  color: var(--coffee);
  margin-bottom: var(--space-lg);
  text-align: center;
}

.woo-problems__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: var(--space-md);
  max-width: 1200px;
  margin: 0 auto;
}

.woo-problems__item {
  padding: var(--space-md);
  background: rgba(92, 61, 46, 0.1); /* coffee with alpha */
  border-left: 4px solid var(--coffee);
}

.woo-problems__item h3 {
  font-family: var(--mono);
  font-size: 1.1rem;
  color: var(--cloud);
  margin-bottom: var(--space-sm);
}

.woo-problems__item p {
  font-family: var(--body);
  color: var(--text-mid);
  line-height: 1.6;
}

/* Solution Section */
.woo-solution {
  background: var(--soil);
  padding: var(--space-lg) var(--space-md);
  text-align: center;
}

.woo-solution__title {
  font-family: var(--display);
  font-size: clamp(1.75rem, 4vw, 2.5rem);
  color: var(--coffee);
  margin-bottom: var(--space-md);
}

.woo-solution__text {
  font-family: var(--body);
  font-size: clamp(1.1rem, 2vw, 1.35rem);
  color: var(--mist);
  max-width: 35em;
  margin: 0 auto;
}

/* Services Section */
.woo-services {
  background: var(--bark);
  padding: var(--space-xl) var(--space-md);
}

.woo-services__title {
  font-family: var(--display);
  font-size: clamp(2rem, 5vw, 3rem);
  color: var(--citrus);
  margin-bottom: var(--space-lg);
  text-align: center;
}

.woo-services__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: var(--space-md);
  max-width: 1200px;
  margin: 0 auto;
}

.woo-services__item {
  padding: var(--space-md);
  background: rgba(200, 123, 43, 0.08); /* citrus with alpha */ 
  border: 1px solid rgba(200, 123, 43, 0.2);
  transition: transform 0.3s ease, border-color 0.3s ease;
}

.woo-services__item:hover {
  transform: translateY(-4px);
  border-color: var(--citrus);
}

.woo-services__item h3 {
  font-family: var(--mono);
  font-size: 1.1rem;
  color: var(--cloud);
  margin-bottom: var(--space-sm);
}

.woo-services__item p {
  font-family: var(--body);
  color: var(--text-mid);
  line-height: 1.6;
}

/* Social Proof */
.woo-proof {
  background: linear-gradient(90deg, var(--avocado), var(--platano));
  padding: var(--space-lg) var(--space-md);
  text-align: center;
}

.woo-proof__text {
  font-family: var(--mono);
  font-size: clamp(1.1rem, 2.5vw, 1.5rem);
  color: var(--cloud);
  font-weight: 600;
}

/* Form Section */
.woo-form-section {
  background: var(--soil);
  padding: var(--space-xl) var(--space-md);
}

.woo-form-section__title {
  font-family: var(--display);
  font-size: clamp(2rem, 5vw, 3rem);
  color: var(--coffee);
  margin-bottom: var(--space-lg);
  text-align: center;
}

.woo-form {
  max-width: 600px;
  margin: 0 auto;
}

.woo-form__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: var(--space-md);
  margin-bottom: var(--space-md);
}

.woo-form__group {
  display: flex;
  flex-direction: column;
  gap: var(--space-xs);
}

.woo-form__label {
  font-family: var(--mono);
  font-size: 0.9rem;
  color: var(--mist);
  text-transform: lowercase;
}

.woo-form__input,
.woo-form__select {
  width: 100%;
  padding: var(--space-sm);
  font-family: var(--body);
  font-size: 1rem;
  background: var(--bark);
  border: 1px solid rgba(200, 123, 43, 0.3);
  color: var(--cloud);
  transition: border-color 0.3s ease;
}

.woo-form__input:focus,
.woo-form__select:focus {
  outline: none;
  border-color: var(--citrus);
}

.woo-form__input::-moz-placeholder {
  color: var(--text-dim);
}

.woo-form__input::placeholder {
  color: var(--text-dim);
}

.woo-form__message {
  margin: var(--space-md) 0;
  padding: var(--space-md);
  border-radius: 4px;
  font-family: var(--body);
}

.woo-form__message--success {
  background: rgba(74, 103, 65, 0.2); /* avocado with alpha */
  border-left: 4px solid var(--avocado);
  color: var(--cloud);
}

.woo-form__message--error {
  background: rgba(200, 100, 100, 0.15);
  border-left: 4px solid #ff6666;
  color: #ffcccc;
}

.woo-form__submit {
  width: 100%;
  margin-top: var(--space-md);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-xs);
}

.woo-form__submit:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}

.woo-form__submit-loader {
  display: flex;
  align-items: center;
  gap: var(--space-xs);
}

/* Bottom CTA */
.woo-cta-bottom {
  background: linear-gradient(135deg, var(--coffee), var(--bark));
  padding: var(--space-xl) var(--space-md);
  text-align: center;
}

.woo-cta-bottom__title {
  font-family: var(--display);
  font-size: clamp(1.75rem, 4vw, 2.5rem);
  color: var(--cloud);
  margin-bottom: var(--space-md);
}

/* Responsive Adjustments */
@media (max-width: 768px) {
  .woo-hero {
    min-height: auto;
    padding: var(--space-lg) var(--space-md);
  }

  .woo-form__grid {
    grid-template-columns: 1fr;
  }

  .woo-problems__grid,
  .woo-services__grid {
    grid-template-columns: 1fr;
  }
}

/*!*************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[2]!./assets/styles/_footer.css ***!
  \*************************************************************************************************************************************************************************************************/
/* Footer */
.footer {
  padding: var(--space-lg) var(--space-md);
  background: var(--soil);
  border-top: 1px solid var(--border);
}
.footer__content {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: var(--space-md);
}
.footer__copyright {
  font-family: var(--mono);
  font-size: 0.875rem;
  color: var(--text-dim);
}
.footer__social {
  display: flex;
  gap: var(--space-sm);
}
.footer__link {
  font-family: var(--mono);
  font-size: 0.875rem;
  color: var(--text-mid);
  text-decoration: none;
  transition: color 0.3s;
}
.footer__link:hover {
  color: var(--dawn);
}
/* Responsive */
@media (max-width: 600px) {
  .footer__content {
    flex-direction: column;
    text-align: center;
  }
}

/*!*****************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[2]!./assets/styles/_responsive.css ***!
  \*****************************************************************************************************************************************************************************************************/
/* Responsive */
@media (max-width: 900px) {
  :root {
    --space-lg: 3rem;
    --space-xl: 4rem;
  }
  .section-title {
    font-size: 2.5rem;
  }
}
@media (max-width: 600px) {
  :root {
    --space-md: 1.5rem;
    --space-lg: 2rem;
    --space-xl: 3rem;
  }
  .section-title {
    font-size: 2rem;
  }
  .wrap {
    padding: 0 var(--space-sm);
  }
}
/* Para dispositivos ultra-estrechos (Galaxy Z Fold 5, etc.) */
@media (max-width: 360px) {
  :root {
    --space-xs: 0.5rem;
    --space-sm: 0.75rem;
    --space-md: 1rem;
    --space-lg: 1.5rem;
    --space-xl: 2rem;
  }
  .section-title {
    font-size: 1.75rem;
  }
  .section-title em {
    display: block;
    margin-top: 0.25rem;
  }
  body {
    font-size: 0.9375rem;
  }
}

/*!*********************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[2]!./assets/styles/app.css ***!
  \*********************************************************************************************************************************************************************************************/
/* SAUL MORALES PACHECO — Brand Kit v2.0 */


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