/*!*********************************************************************************************************************************************************************************************!*\
  !*** 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 ***!
  \*********************************************************************************************************************************************************************************************/
/* =============================================
   Variables y Colores del Diseño
   ============================================= */
:root {
    /* Colores */
    --color-primary: #F1D27A; /* Dorado/Amarillo */
    --color-beige: #F3EADE; /* Fondo beige */
    --color-search-bg: #304C5E; /* Fondo buscador azul oscuro */
    --color-accent: #00a4dc; /* Líneas decorativas azul */
    --color-text-dark: #2C2C2C;
    --color-text-gray: #666666;
    --color-text-light: #8B8B8B;
    --color-border: #E5E5E5;
    --color-white: #FFFFFF;

    /* Spacing System (escala base 8px) */
    --spacing-xs: 8px;
    --spacing-s: 16px;
    --spacing-m: 24px;
    --spacing-l: 32px;
    --spacing-xl: 48px;
    --spacing-xxl: 64px;

    /* Grid System */
    --container-max-width: 1320px;
    --gutter-desktop: 24px;
    --gutter-tablet: 24px;
    --gutter-mobile: 16px;
    --padding-mobile: 16px;

    /* Bootstrap overrides */
    --bs-gutter-x: var(--gutter-desktop);
    --bs-gutter-y: 0;
}

/* =============================================
   Grid System - Container Overrides
   ============================================= */
.container,
.container-lg,
.container-md,
.container-sm,
.container-xl,
.container-xxl {
    --bs-gutter-x: var(--gutter-desktop);
    padding-right: calc(var(--bs-gutter-x) * 0.5);
    padding-left: calc(var(--bs-gutter-x) * 0.5);
}

/* Desktop (≥1200px) - Container max-width 1320px */
@media (min-width: 1200px) {
    .container,
    .container-lg,
    .container-md,
    .container-sm,
    .container-xl {
        max-width: var(--container-max-width);
    }
}

@media (min-width: 1400px) {
    .container,
    .container-lg,
    .container-md,
    .container-sm,
    .container-xl,
    .container-xxl {
        max-width: var(--container-max-width);
    }
}

/* Tablet (768–1199px) - Container fluido con padding */
@media (min-width: 768px) and (max-width: 1199.98px) {
    .container,
    .container-md,
    .container-sm {
        max-width: 100%;
        --bs-gutter-x: var(--gutter-tablet);
    }
}

/* Mobile (<768px) - Padding lateral 16px, gutter 16px */
@media (max-width: 767.98px) {
    :root {
        --bs-gutter-x: var(--gutter-mobile);
    }

    .container,
    .container-sm {
        max-width: 100%;
        --bs-gutter-x: var(--gutter-mobile);
        padding-right: var(--padding-mobile);
        padding-left: var(--padding-mobile);
    }

    .row {
        --bs-gutter-x: var(--gutter-mobile);
    }
}

/* Row gutter adjustments */
.row {
    --bs-gutter-x: var(--gutter-desktop);
}

@media (max-width: 767.98px) {
    .row {
        --bs-gutter-x: var(--gutter-mobile);
    }
}

/* =============================================
   Spacing Utility Classes
   ============================================= */
/* Margin utilities */
.m-xs { margin: var(--spacing-xs) !important; }
.m-s { margin: var(--spacing-s) !important; }
.m-m { margin: var(--spacing-m) !important; }
.m-l { margin: var(--spacing-l) !important; }
.m-xl { margin: var(--spacing-xl) !important; }
.m-xxl { margin: var(--spacing-xxl) !important; }

.mt-xs { margin-top: var(--spacing-xs) !important; }
.mt-s { margin-top: var(--spacing-s) !important; }
.mt-m { margin-top: var(--spacing-m) !important; }
.mt-l { margin-top: var(--spacing-l) !important; }
.mt-xl { margin-top: var(--spacing-xl) !important; }
.mt-xxl { margin-top: var(--spacing-xxl) !important; }

.mb-xs { margin-bottom: var(--spacing-xs) !important; }
.mb-s { margin-bottom: var(--spacing-s) !important; }
.mb-m { margin-bottom: var(--spacing-m) !important; }
.mb-l { margin-bottom: var(--spacing-l) !important; }
.mb-xl { margin-bottom: var(--spacing-xl) !important; }
.mb-xxl { margin-bottom: var(--spacing-xxl) !important; }

.my-xs { margin-top: var(--spacing-xs) !important; margin-bottom: var(--spacing-xs) !important; }
.my-s { margin-top: var(--spacing-s) !important; margin-bottom: var(--spacing-s) !important; }
.my-m { margin-top: var(--spacing-m) !important; margin-bottom: var(--spacing-m) !important; }
.my-l { margin-top: var(--spacing-l) !important; margin-bottom: var(--spacing-l) !important; }
.my-xl { margin-top: var(--spacing-xl) !important; margin-bottom: var(--spacing-xl) !important; }
.my-xxl { margin-top: var(--spacing-xxl) !important; margin-bottom: var(--spacing-xxl) !important; }

.mx-xs { margin-left: var(--spacing-xs) !important; margin-right: var(--spacing-xs) !important; }
.mx-s { margin-left: var(--spacing-s) !important; margin-right: var(--spacing-s) !important; }
.mx-m { margin-left: var(--spacing-m) !important; margin-right: var(--spacing-m) !important; }
.mx-l { margin-left: var(--spacing-l) !important; margin-right: var(--spacing-l) !important; }
.mx-xl { margin-left: var(--spacing-xl) !important; margin-right: var(--spacing-xl) !important; }
.mx-xxl { margin-left: var(--spacing-xxl) !important; margin-right: var(--spacing-xxl) !important; }

/* Padding utilities */
.p-xs { padding: var(--spacing-xs) !important; }
.p-s { padding: var(--spacing-s) !important; }
.p-m { padding: var(--spacing-m) !important; }
.p-l { padding: var(--spacing-l) !important; }
.p-xl { padding: var(--spacing-xl) !important; }
.p-xxl { padding: var(--spacing-xxl) !important; }

.pt-xs { padding-top: var(--spacing-xs) !important; }
.pt-s { padding-top: var(--spacing-s) !important; }
.pt-m { padding-top: var(--spacing-m) !important; }
.pt-l { padding-top: var(--spacing-l) !important; }
.pt-xl { padding-top: var(--spacing-xl) !important; }
.pt-xxl { padding-top: var(--spacing-xxl) !important; }

.pb-xs { padding-bottom: var(--spacing-xs) !important; }
.pb-s { padding-bottom: var(--spacing-s) !important; }
.pb-m { padding-bottom: var(--spacing-m) !important; }
.pb-l { padding-bottom: var(--spacing-l) !important; }
.pb-xl { padding-bottom: var(--spacing-xl) !important; }
.pb-xxl { padding-bottom: var(--spacing-xxl) !important; }

.py-xs { padding-top: var(--spacing-xs) !important; padding-bottom: var(--spacing-xs) !important; }
.py-s { padding-top: var(--spacing-s) !important; padding-bottom: var(--spacing-s) !important; }
.py-m { padding-top: var(--spacing-m) !important; padding-bottom: var(--spacing-m) !important; }
.py-l { padding-top: var(--spacing-l) !important; padding-bottom: var(--spacing-l) !important; }
.py-xl { padding-top: var(--spacing-xl) !important; padding-bottom: var(--spacing-xl) !important; }
.py-xxl { padding-top: var(--spacing-xxl) !important; padding-bottom: var(--spacing-xxl) !important; }

.px-xs { padding-left: var(--spacing-xs) !important; padding-right: var(--spacing-xs) !important; }
.px-s { padding-left: var(--spacing-s) !important; padding-right: var(--spacing-s) !important; }
.px-m { padding-left: var(--spacing-m) !important; padding-right: var(--spacing-m) !important; }
.px-l { padding-left: var(--spacing-l) !important; padding-right: var(--spacing-l) !important; }
.px-xl { padding-left: var(--spacing-xl) !important; padding-right: var(--spacing-xl) !important; }
.px-xxl { padding-left: var(--spacing-xxl) !important; padding-right: var(--spacing-xxl) !important; }

/* Gap utilities */
.gap-xs { gap: var(--spacing-xs) !important; }
.gap-s { gap: var(--spacing-s) !important; }
.gap-m { gap: var(--spacing-m) !important; }
.gap-l { gap: var(--spacing-l) !important; }
.gap-xl { gap: var(--spacing-xl) !important; }
.gap-xxl { gap: var(--spacing-xxl) !important; }

/* =============================================
   Estilos Generales
   ============================================= */
body {
    font-family: 'Noto Serif', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    color: var(--color-text-dark);
    background-color: #ffffff;
    font-weight: 400;
    line-height: 1.6;
    overflow-x: hidden;
}

h1, h2, h3, h4, h5, h6 {
    font-family: 'Noto Serif', Georgia, serif;
    font-weight: 600;
}

h3 {
    font-family: 'Noto Serif', Georgia, serif;
    font-weight: 500;
    font-size: 32px;
    line-height: 35px;
}

/* =============================================
   Navbar
   ============================================= */
.navbar {
    background-color: #ffffff;
    border-bottom: 1px solid #E5E5E5;
    padding: 1rem 0;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.04);
    z-index: 1030 !important; /* Asegurar que esté por encima del sidebar sticky */
}

.navbar-brand {
    font-weight: 700;
    font-size: 1.5rem;
    color: var(--color-text-dark) !important;
}

.navbar-logo {
    height: 45px;
    width: auto;
    -o-object-fit: contain;
       object-fit: contain;
}

.navbar-nav .nav-link {
    color: #021E38;
    font-weight: 500;
    padding: 0.5rem 1.25rem;
    font-size: 0.95rem;
    transition: color 0.2s ease;
}

.navbar-nav .nav-link:hover {
    color: var(--color-primary);
}

.btn {
    font-family: 'Noto Sans', sans-serif;
    font-size: 1rem;
}

.btn-nav-custom {
    background-color: #ffffff;
    border: none;
    color: #021E38;
    padding: 0.5rem 1.25rem;
    border-radius: 8px;
    font-weight: 500;
    font-size: 0.9rem;
    transition: all 0.2s ease;
    display: inline-flex;
    align-items: center;
    text-decoration: none;
}

.btn-nav-custom:hover {
    background-color: #F7FAFC;
    border-color: #A0AEC0;
    color: #021E38;
    text-decoration: none;
}

.btn-nav-custom svg {
    width: 16px;
    height: 16px;
}

.btn-nav-highlight {
    background-color: #ffffff;
    border: 1px solid #021E38;
    color: #021E38;
    padding: 0.5rem 1.25rem;
    border-radius: 8px;
    font-weight: 600;
    font-size: 0.9rem;
    transition: all 0.2s ease;
    display: inline-flex;
    align-items: center;
    text-decoration: none;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
}

.btn-nav-highlight:hover {
    background-color: #021E38;
    border-color: #021E38;
    color: #ffffff;
    text-decoration: none;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.12);
}

.btn-nav-highlight:hover img {
    filter: brightness(0) invert(1);
}

.btn-nav-highlight svg {
    width: 16px;
    height: 16px;
}

.btn-nav-icon {
    width: 40px;
    height: 40px;
    padding: 0;
    justify-content: center;
}

.btn-outline-primary {
    border-color: var(--color-text-dark);
    color: var(--color-text-dark);
}

.btn-outline-primary:hover {
    background-color: var(--color-text-dark);
    border-color: var(--color-text-dark);
}

.btn-primary {
    background-color: var(--color-primary);
    border-color: var(--color-primary);
    color: var(--color-text-dark);
    font-weight: 600;
}

.btn-primary:hover {
    background-color: white;
    border-color: white;
    color: var(--color-text-dark);
}

/* =============================================
   Hero Section
   ============================================= */
.hero-section {
    height: 560px;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    color: white;
}

.hero-bg-picture {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 0;
}

.hero-bg-picture img {
    display: block;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    -o-object-position: center;
       object-position: center;
}

.hero-bg-video {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    -o-object-position: center;
       object-position: center;
    z-index: 0;
}

.hero-section::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.25);
    z-index: 1;
}

.hero-content {
    position: relative;
    z-index: 2;
    text-align: center;
    width: 100%;
    padding: 0 1rem;
}

.hero-content h1 {
    font-size: 64px;
    font-weight: 600;
    margin-bottom: 8rem;
    font-family: 'Noto Serif', serif;
    line-height: 100%;
}

.search-box {
    background: var(--color-search-bg);
    padding: 1rem 2rem;
    border-radius: 6px;
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.2);
    max-width: 970px;
    margin: 0 auto;
    position: absolute;
    bottom: -40px;
    left: 50%;
    transform: translateX(-50%);
    width: 90%;
    z-index: 100;
}

.search-box-label {
    color: #ffffff;
    font-family: 'Noto Sans', sans-serif;
    font-size: 16px;
    font-weight: 500;
    margin-bottom: 0.5rem;
    display: block;
}

.search-box-select {
    border: none;
    padding: 0.75rem 1rem;
    border-radius: 4px;
    background: white;
    font-family: 'Noto Sans', sans-serif;
    font-size: 0.95rem;
    height: 50px;
}

.search-box-tipo {
    max-width: 223px;
    width: 223px;
}

.search-box-ubicacion {
    max-width: 519px;
    width: 100%;
}

.search-box-button {
    width: 138px;
    height: 50px;
    padding: 0.75rem 1rem;
    font-family: 'Noto Sans', sans-serif;
    font-size: 20px;
    font-weight: 500;
    display: flex;
    align-items: center;
    justify-content: center;
}

.search-box-button svg {
    flex-shrink: 0;
}

/* Custom Select Dropdown for Search Box */
.custom-select-wrapper {
    position: relative;
}

.custom-select-btn {
    width: 100%;
    border: none;
    padding: 0.75rem 1rem;
    border-radius: 4px;
    background: white;
    font-family: 'Noto Sans', sans-serif;
    font-size: 20px;
    font-weight: 400;
    height: 50px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    cursor: pointer;
    transition: all 0.2s ease;
    text-align: left;
}

.custom-select-btn.search-box-tipo {
    max-width: 223px;
    width: 223px;
}

.custom-select-btn.search-box-ubicacion {
    max-width: 519px;
    width: 100%;
}

.custom-select-btn:hover {
    background: #f8f9fa;
}

.custom-select-btn.active {
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
}

.custom-select-btn .selected-text {
    flex: 1;
    color: var(--color-text-dark);
}

.custom-select-btn i {
    font-size: 12px;
    color: var(--color-text-gray);
    transition: transform 0.2s ease;
}

.custom-select-btn.active i {
    transform: rotate(180deg);
}

.custom-select-dropdown {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    background: white;
    border: none;
    border-top: 1px solid #E5E5E5;
    border-radius: 0 0 4px 4px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
    max-height: 200px;
    overflow-y: auto;
    z-index: 101;
    display: none;
}

.custom-select-dropdown.show {
    display: block;
}

.custom-select-option {
    padding: 0.75rem 1rem;
    cursor: pointer;
    font-family: 'Noto Sans', sans-serif;
    font-size: 0.95rem;
    color: var(--color-text-dark);
    transition: background 0.2s ease;
    background: white;
}

.custom-select-option:hover {
    background: #f8f9fa;
}

.custom-select-option.selected {
    background: var(--color-beige);
    font-weight: 500;
}

/* =============================================
   Secciones con Fondo Beige
   ============================================= */
.section-beige {
    background-color: var(--color-beige);
    padding: 6rem 0;
}

.section-white {
    background-color: #ffffff;
    padding: 10rem 0;
}

.section-white:first-of-type {
    padding-top: 10rem;
}

.section-title {
    font-family: 'Noto Serif', Georgia, serif;
    font-size: 40px;
    font-weight: 500;
    text-align: center;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 17%;
    width: 100%;
    color: #021E38;
}

.section-title::before,
.section-title::after {
    content: '';
    flex: 1;
    height: 3px;
    background-color: var(--color-accent);
    max-width: 600px;
    margin-top: 50px;
}

.section-subtitle {
    color: var(--color-text-gray);
    text-align: center;
    margin-bottom: 3rem;
    font-size: 24px;
    line-height: 1.4;
    font-family: 'Noto Sans';
    margin-left: auto;
    margin-right: auto;
}
.section-beige .section-subtitle {
    max-width: 712px !important;
}

.section-white .section-subtitle {
    max-width: 450px !important;
}

/* Section beige - Sin líneas en el título */
.section-beige .section-title {
    display: block;
}

.section-beige .section-title::before,
.section-beige .section-title::after {
    display: none;
}

.section-beige .btn-more {
    padding: 0.85rem 3.5rem;
    font-size: 1.1rem;
}

/* =============================================
   Property Cards
   ============================================= */
.property-card {
    container-type: inline-size;
    border: 1px solid var(--color-border);
    border-radius: 4px;
    overflow: hidden;
    transition: all 0.3s ease;
    background: #F3F3F3;
    height: 100%;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
}

.property-card:hover {
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

.property-card picture {
    display: block;
    width: 100%;
    overflow: hidden;
}

.property-card img {
    width: 100%;
    height: auto;
    -o-object-fit: cover;
       object-fit: cover;
    -o-object-position: center;
       object-position: center;
    display: block;
}

.property-card-placeholder {
    width: 100%;
    min-height: 200px;
    background-color: #F8F8F8;
    display: flex;
    align-items: center;
    justify-content: center;
}

.property-card-placeholder img {
    width: auto;
    height: auto;
    max-width: 150px;
    max-height: 150px;
    -o-object-fit: contain;
       object-fit: contain;
}

/* Property cards in 3-column grid layout */
.row.g-4 .col-lg-4 .property-card picture,
.row.g-4 .col-lg-4 .property-card > picture,
.row.g-4 .col-md-4 .property-card picture,
.row.g-4 .col-md-4 .property-card > picture {
    display: block;
    width: 100%;
    max-width: 453px;
    height: 344px;
    overflow: hidden;
    margin: 0 auto;
}

.row.g-4 .col-lg-4 .property-card img,
.row.g-4 .col-md-4 .property-card img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    -o-object-position: center;
       object-position: center;
}

/* Cuando el mapa está visible (2 columnas), mantener proporción en lugar de altura fija */
.property-grid-wrapper.map-visible .row.g-4 .col-md-4 .property-card picture,
.property-grid-wrapper.map-visible .row.g-4 .col-md-4 .property-card > picture {
    height: auto !important;
    max-width: none;
    aspect-ratio: 453 / 344;
}

.property-card-body {
    padding: 1rem;
    background-color: #F3F3F3;
}

.property-location {
    font-family: 'Noto Sans', sans-serif;
    font-size: 20px;
    color: #304C5E;
    margin-bottom: 0.5rem;
}

.property-title {
    font-family: 'Noto Serif', Georgia, serif;
    font-size: 32px;
    font-weight: 500;
    margin-bottom: 0.5rem;
    color: #304C5E;
    line-height: 1.3;
}

/* 3 cards por fila: card más estrecha → título más pequeño */
@container (max-width: 500px) {
    .property-title {
        font-size: 24px;
    }
}

.property-price {
    font-family: 'Noto Sans', Georgia, serif;
    font-size: 24px !important;
    font-weight: 400;
    color: #304C5E;
    margin-bottom: 0.75rem;
}

.property-divider {
    border: none;
    border-top: 1px solid #304C5E;
    margin: 0.75rem 0;
}

.property-features {
    display: flex;
    gap: 1rem;
    font-family: 'Noto Sans', sans-serif;
    font-size: 14px;
    color: #304C5E;
}

.property-feature {
    display: flex;
    align-items: center;
    gap: 0.25rem;
}

/* =============================================
   Botones
   ============================================= */
.btn-more {
    background-color: transparent;
    border: 2px solid var(--color-text-dark);
    color: var(--color-text-dark);
    padding: 0.65rem 2.5rem;
    font-weight: 500;
    border-radius: 4px;
    transition: all 0.3s ease;
    font-size: 0.95rem;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    width: 100%;
    max-width: 458px;
    min-height: 56px;
}

.btn-more:hover {
    background-color: var(--color-text-dark);
    color: white;
    text-decoration: none;
}

.btn-more:hover img,
.btn-more:hover svg {
    filter: brightness(0) invert(1);
}

/* =============================================
   Botón Unificado - Outline Dark
   Usado en: Explora toda..., Más información, Contacto, etc.
   ============================================= */
.btn-outline-dark {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.75rem;
    max-width: 458px;
    width: 100%;
    height: 56px;
    padding: 0 2rem;
    background: white;
    border: 2px solid #304C5E;
    border-radius: 8px;
    color: #304C5E;
    font-family: 'Noto Sans', sans-serif;
    font-size: 20px;
    font-weight: 500;
    line-height: 1.5;
    text-decoration: none;
    text-align: center;
    transition: all 0.3s ease;
    cursor: pointer;
}

/* Botones en formularios - ancho completo */
form .btn-outline-dark {
    width: 100%;
    max-width: 100%;
}

/* Botones de opciones de contacto - centrados */
.col-12 > .btn-outline-dark {
    display: flex;
    margin: 0 auto;
}

.btn-outline-dark:hover {
    background: #304C5E;
    color: white;
    text-decoration: none;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(54, 75, 95, 0.2);
}

.btn-outline-dark:hover img {
    filter: brightness(0) invert(1);
}

.btn-outline-dark img,
.btn-outline-dark svg {
    flex-shrink: 0;
}

/* Sección Propiedades Similares */
.similar-properties-section {
    padding-top: 3rem;
    padding-bottom: 112px;
}

.similar-properties-section .section-title {
    font-family: 'Noto Serif', Georgia, serif;
    font-size: 28px;
    font-weight: 500;
    text-align: left;
}

.similar-properties-cta {
    margin-top: 80px;
}

/* Botón Ver Propiedades Similares */
.btn-similar-properties {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.75rem;
    padding: 1rem 2rem;
    background-color: #3D5467;
    color: white;
    border: none;
    border-radius: 8px;
    font-family: 'Noto Sans', sans-serif;
    font-size: 1rem;
    font-weight: 500;
    text-decoration: none;
    transition: all 0.3s ease;
    cursor: pointer;
}

.btn-similar-properties:hover {
    background-color: var(--color-primary);
    color: #021E38;
    text-decoration: none;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(241, 210, 122, 0.3);
}

.btn-similar-properties i {
    font-size: 0.9rem;
}

/* =============================================
   Formulario de Contacto
   ============================================= */
.contact-option-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1rem;
    padding: 1.25rem 1.5rem;
    background: white;
    border: 2px solid #E5E5E5;
    border-radius: 8px;
    text-decoration: none;
    color: #304C5E;
    font-family: 'Noto Sans', sans-serif;
    font-size: 16px;
    font-weight: 500;
    transition: all 0.3s ease;
    max-width: 453px;
    margin: 0 auto;
    width: 100%;
}

.contact-option-btn:hover {
    background: #F8F8F8;
    border-color: #304C5E;
    color: #304C5E;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

.contact-option-btn svg {
    flex-shrink: 0;
    color: #304C5E;
}

/* Contact Form Icon */
.contact-form-icon {
    width: 60px;
    height: 60px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 1.5rem;
    color: #021E38;
}

.contact-form-icon svg {
    color: #021E38;
}

/* Contact Form Final */
.contact-form-final .form-label {
    font-family: 'Noto Sans', sans-serif;
    font-size: 16px;
    color: #021E38;
    font-weight: 500;
    margin-bottom: 0.4rem;
    display: block;
}

.contact-form-final .form-control {
    border: 2px solid #021E38;
    border-radius: 4px;
    padding: 0.65rem 0.85rem;
    font-family: 'Noto Sans', sans-serif;
    font-size: 16px;
    background-color: white;
    color: #021E38;
}

.contact-form-final .form-control::-moz-placeholder {
    color: #A0AEC0;
    font-size: 16px;
    font-weight: 400;
}

.contact-form-final .form-control::placeholder {
    color: #A0AEC0;
    font-size: 16px;
    font-weight: 400;
}

.contact-form-final .form-control:focus {
    border-color: #021E38;
    box-shadow: none;
    outline: none;
}

.contact-form-final textarea.form-control {
    resize: vertical;
    min-height: 100px;
}

.contact-form-final .input-group-text {
    background-color: white;
    border: 2px solid #021E38;
    border-right: none;
    border-radius: 4px 0 0 4px;
    padding: 0.65rem 0.85rem;
    font-family: 'Noto Sans', sans-serif;
    font-size: 16px;
    color: #021E38;
}

.contact-form-final .input-group .form-control {
    border-left: none;
    border-radius: 0 4px 4px 0;
}

.contact-form-final .flag-icon {
    font-size: 16px;
}

/* Phone Input with Country Selector */
.phone-input-group {
    display: flex;
    flex-wrap: nowrap;
    align-items: stretch;
    gap: 0;
}

.country-selector {
    position: relative;
}

.country-selector-btn {
    display: flex;
    align-items: center;
    gap: -0.5rem;
    padding: 0.8rem 0.85rem;
    background-color: white;
    border: 2px solid #021E38;
    border-right: none !important;
    border-radius: 4px 0 0 4px;
    cursor: pointer;
    font-family: 'Noto Sans', sans-serif;
    font-size: 16px;
    color: #021E38;
    transition: background-color 0.2s ease;
    white-space: nowrap;
    flex-shrink: 0;
}

.country-selector-btn:hover {
    background-color: #F7FAFC;
}

.country-selector-btn .selected-flag {
    font-size: 16px;
}

.country-selector-btn .selected-code {
    font-size: 16px;
    min-width: 35px;
}

.country-selector-btn svg {
    flex-shrink: 0;
    margin-left: 0.25rem;
}

.country-dropdown {
    position: absolute;
    top: calc(100% + 4px);
    left: 0;
    background: white;
    border: 2px solid #021E38;
    border-radius: 4px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    max-height: 250px;
    overflow-y: auto;
    z-index: 1000;
    display: none;
    min-width: 220px;
}

.country-dropdown.active {
    display: block;
}

.country-option {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.75rem 1rem;
    cursor: pointer;
    transition: background-color 0.2s ease;
}

.country-option:hover {
    background-color: #F7FAFC;
}

.country-option .flag {
    font-size: 18px;
    flex-shrink: 0;
}

.country-option .country-name {
    flex: 1;
    font-family: 'Noto Sans', sans-serif;
    font-size: 16px;
    color: #021E38;
}

.country-option .country-code {
    font-family: 'Noto Sans', sans-serif;
    font-size: 16px;
    color: #718096;
    flex-shrink: 0;
}

.phone-number-input {
    flex: 1;
    border-left: none !important;
    border-radius: 0 4px 4px 0 !important;
}

.search-modal-input.phone-number-input {
    border-radius: 0 8px 8px 0 !important;
    width: auto !important;
    min-width: 0;
}

.phone-input-group:has(.search-modal-input) .country-selector-btn {
    border-radius: 8px 0 0 8px;
}

.contact-form-final .form-check {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.contact-form-final .form-check-input {
    width: 18px;
    height: 18px;
    border: 2px solid #021E38;
    border-radius: 4px;
    cursor: pointer;
    margin-top: 0;
    flex-shrink: 0;
    background-color: white;
}

.contact-form-final .form-check-input:focus {
    box-shadow: none;
    outline: none;
}

.contact-form-final .form-check-input:checked {
    background-color: #021E38;
    border-color: #021E38;
}

.contact-form-final .form-check-label {
    font-family: 'Noto Sans', sans-serif;
    font-size: 16px;
    color: #021E38;
    margin-bottom: 0;
    cursor: pointer;
}

.contact-form-final .form-check-label a {
    color: #021E38;
    text-decoration: underline;
}

.contact-form-final .form-check-label a:hover {
    color: #021E38;
}

.btn-contact-submit {
    background-color: white;
    border: 2px solid #021E38;
    color: #021E38;
    padding: 0.65rem 1rem;
    font-weight: 500;
    border-radius: 4px;
    transition: all 0.3s ease;
    font-size: 0.95rem;
    font-family: 'Noto Sans', sans-serif;
    width: 100%;
    max-width: 458px;
    min-height: 56px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-align: center;
}

.btn-contact-submit:hover {
    background-color: #021E38;
    color: white;
}

.btn-contact-submit:hover img,
.btn-contact-submit:hover svg {
    filter: brightness(0) invert(1);
}

/* =============================================
   Blog Cards
   ============================================= */
.blog-card {
    background: transparent;
    height: 100%;
    border: none;
}

.blog-card:hover {
    opacity: 0.9;
}

.blog-card img {
    width: 100%;
    height: 604px;
    -o-object-fit: cover;
       object-fit: cover;
    border-radius: 0;
}

.blog-card-placeholder {
    width: 100%;
    height: 604px;
    background-color: #F8F8F8;
    display: flex;
    align-items: center;
    justify-content: center;
}

.blog-card-placeholder img {
    width: auto;
    height: auto;
    max-width: 150px;
    max-height: 150px;
    -o-object-fit: contain;
       object-fit: contain;
}

.blog-card-body {
    padding: 1.5rem 0;
    background-color: white;
}

.blog-title {
    font-family: 'Noto Serif', Georgia, serif;
    font-size: 32px;
    font-weight: 500;
    margin-bottom: 0.5rem;
    color: #304C5E;
    line-height: 1.3;
}

.blog-excerpt {
    font-family: 'Noto Sans', sans-serif;
    font-size: 20px;
    color: #304C5E;
    margin-bottom: 1rem;
}

/* =============================================
   Office Items
   ============================================= */
#oficinas .section-title {
    margin-bottom: 120px;
}

.offices-content {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 0;
}

.office-item {
    text-align: center;
    flex: 0 0 453px;
}

.office-left {
    margin-right: auto;
}

.office-right {
    margin-left: auto;
}

.office-image {
    width: 453px;
    height: 248px;
    -o-object-fit: cover;
       object-fit: cover;
    display: block;
    margin: 0 auto 1.5rem;
}

.office-divider {
    width: 100px;
    height: 3px;
    background-color: var(--color-accent);
    margin: 0 auto 1.5rem;
}

.offices-separator {
    width: 194px;
    height: 3px;
    background-color: var(--color-accent);
    flex-shrink: 0;
    align-self: flex-start;
    margin-top: 160px;
}

.office-title {
    font-family: 'Noto Serif', Georgia, serif;
    font-size: 20px;
    font-weight: 500;
    color: #021E38;
    margin-bottom: 0.75rem;
}

.office-info {
    font-family: 'Noto Sans', sans-serif;
    font-size: 1rem;
    color: #021E38;
    margin-bottom: 0.25rem;
    line-height: 1.6;
    font-weight: 400;
}

@media (max-width: 991px) {
    .offices-content {
        flex-direction: column;
        align-items: center;
        gap: 2rem;
    }

    .offices-separator {
        width: 100px;
        height: 3px;
        margin: 1rem auto;
    }

    .office-item {
        flex: 1 1 auto;
    }

    .office-left,
    .office-right {
        margin: 0;
    }

    .office-image {
        width: 100%;
        max-width: 453px;
        height: auto;
    }
}

/* =============================================
   Footer
   ============================================= */
footer {
    background-color: #2D3F54;
    color: white;
    padding: 4rem 0 2rem;
}

.footer-subvencion {
    background-color: white;
    padding: 1.5rem 0;
}

.footer-subvencion-img {
    display: block;
    max-width: 100%;
    height: auto;
    margin: 0 auto;
}

@media (max-width: 767px) {
    .footer-subvencion-img {
        max-height: 60px;
    }
}

footer .row {
    align-items: stretch;
}

footer .row > [class*="col-"]:nth-child(3),
footer .row > [class*="col-"]:nth-child(4) {
    display: flex;
    flex-direction: column;
}

.footer-logo {
    max-width: 200px;
}

.footer-title {
    font-family: 'Noto Sans', sans-serif;
    font-size: 18px;
    font-weight: 600;
    margin-bottom: 1.5rem;
    color: white;
}

.footer-links {
    list-style: none;
    padding: 0;
    margin: 0;
}

.footer-links li {
    margin-bottom: 0.5rem;
}

.footer-links a {
    color: white;
    text-decoration: none;
    font-family: 'Noto Sans', sans-serif;
    font-size: 14px;
    transition: color 0.3s ease;
}

.footer-links a:hover {
    color: var(--color-primary);
}

.footer-text {
    color: white;
    font-family: 'Noto Sans', sans-serif;
    font-size: 14px;
    margin-bottom: 0.5rem;
}

.footer-social {
    display: flex;
    gap: 1rem;
    margin-top: auto;
}

.footer-social a {
    display: inline-flex;
    align-items: center;
    transition: opacity 0.3s ease;
}

.footer-social a:hover {
    opacity: 0.7;
}

.footer-social-icon {
    width: 24px;
    height: 24px;
    -o-object-fit: contain;
       object-fit: contain;
}

.footer-links-right {
    text-align: right;
}

.footer-copyright {
    text-align: right;
    margin-top: auto;
    margin-bottom: 0;
    font-family: 'Noto Sans', sans-serif;
    font-size: 14px;
}

.footer-brand-name {
    font-size: 18px;
    font-weight: 600;
    letter-spacing: 0.5px;
}

@media (max-width: 991px) {
    .footer-links-right {
        text-align: left;
    }

    .footer-copyright {
        text-align: left;
    }
}

/* =============================================
   Mobile Menu Styles
   ============================================= */

.mobile-search-icon {
    background: transparent;
    border: none;
    color: #021E38;
    padding: 0.5rem;
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    transition: color 0.2s ease;
}

.mobile-search-icon:hover {
    color: var(--color-primary);
}

/* =============================================
   Search Modal Styles
   ============================================= */
.search-modal-content {
    border-radius: 16px;
    border: none;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.2);
    max-width: 568px;
    margin: 0 auto;
}

.search-modal-header {
    display: flex;
    justify-content: flex-end;
    padding: 12px var(--spacing-m);
    width: 100%;
    border-bottom: 2px solid var(--color-primary);
}

.search-modal-header:has(.btn-modal-back) {
    justify-content: space-between;
}

.search-modal-header .btn-close {
    width: 24px;
    height: 24px;
    opacity: 1;
}

.search-modal-divider {
    width: 100%;
    height: 2px;
    background-color: var(--color-primary);
    margin: 0;
    display: none;
}

.search-modal-body {
    padding: 2rem 5.5rem 0;
}

.search-modal-icon {
    width: 48px;
    height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 1.5rem;
}

.search-modal-icon svg,
.search-modal-icon img {
    width: 48px;
    height: 48px;
}

/* Contact Modal Button Links */
.contact-modal-link {
    text-decoration: none;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    margin-bottom: 1rem;
    background-image: none !important;
    padding: 0.75rem 1rem !important;
    width: 100%;
    border: 2px solid #021E38;
    border-radius: 8px;
    font-size: 1rem;
    color: #021E38;
    background-color: #ffffff;
    transition: border-color 0.2s ease;
    line-height: 1.5;
    font-weight: 400;
}

.contact-modal-link:last-child {
    margin-bottom: 0;
}

.contact-modal-link:hover {
    border-color: var(--color-primary);
    text-decoration: none;
    color: #021E38;
}

/* Modal Back Button */
.btn-modal-back {
    background: none;
    border: none;
    color: #021E38;
    cursor: pointer;
    padding: 1px;
    width: 24px;
    height: 24px;
    align-items: center;
    justify-content: center;
    font-size: 1.25rem;
    transition: color 0.2s ease;
}

.btn-modal-back:hover {
    color: var(--color-primary);
}

/* Offices Modal Styles */
/* Office Modal Styles */
.search-modal-form .office-section {
    text-align: center;
    padding: 0.75rem 0;
}

.search-modal-form .office-section:first-child {
    padding-top: 0;
}

.search-modal-form .office-title {
    font-family: 'Noto Serif', Georgia, serif;
    font-size: 1.25rem;
    font-weight: 500;
    color: #021E38;
    margin-bottom: 0.5rem;
}

.search-modal-form .office-address {
    color: #021E38;
    font-size: 0.9rem;
    line-height: 1.5;
    margin-bottom: 0.25rem;
}

.search-modal-form .office-phone {
    color: #021E38;
    font-weight: 600;
    text-decoration: none;
    font-size: 0.9rem;
}

.search-modal-form .office-phone:hover {
    color: var(--color-primary);
    text-decoration: none;
}

.search-modal-form .office-divider {
    width: 100%;
    height: 2px;
    background-color: var(--color-primary) !important;
    margin: 0.75rem 0;
}

.search-modal-title {
    font-family: 'Noto Serif', Georgia, serif;
    font-size: 1.75rem;
    font-weight: 500;
    color: #021E38;
    text-align: center;
    margin-bottom: 2rem;
    line-height: 1.3;
}

.search-modal-subtitle {
    font-size: 0.95rem;
    color: #021E38;
    text-align: center;
    margin-top: -1rem;
    margin-bottom: 1.5rem;
    line-height: 1.5;
}

.search-modal-textarea {
    resize: vertical;
    min-height: 100px;
    font-family: inherit;
}

.search-modal-form {
    margin-top: 1.5rem;
    padding-bottom: 1.5rem;
}

.search-modal-label {
    display: block;
    font-size: 0.95rem;
    font-weight: 500;
    color: #021E38;
    margin-bottom: 0.5rem;
}

.search-modal-select,
.search-modal-input {
    width: 100%;
    border: 2px solid #021E38;
    border-radius: 8px;
    padding: 0.75rem 1rem;
    font-family: 'Noto Sans', sans-serif;
    font-size: 1rem;
    color: #021E38;
    background-color: #ffffff;
    transition: border-color 0.2s ease;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}

.search-modal-select {
    background-image: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%2716%27 height=%2716%27 fill=%27%23021E38%27 viewBox=%270 0 16 16%27%3E%3Cpath fill-rule=%27evenodd%27 d=%27M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z%27/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 1rem center;
    background-size: 16px;
    padding-right: 3rem;
}

/* Eliminar flecha duplicada en custom-dropdowns */
.custom-dropdown-toggle.search-modal-select {
    background-image: none;
    padding-right: 1rem;
}

.search-modal-select:focus,
.search-modal-input:focus {
    border-color: var(--color-primary);
    box-shadow: none;
    outline: none;
}

.search-modal-input::-moz-placeholder {
    color: #A0AEC0;
}

.search-modal-input::placeholder {
    color: #A0AEC0;
}

.search-modal-divider-bottom {
    width: calc(100% + 4rem);
    height: 1px;
    background-color: var(--color-primary);
    margin: 1.5rem -2rem 0;
}

/* Privacy Policy Link */
.privacy-link {
    color: var(--color-primary);
    text-decoration: underline;
    transition: color 0.2s ease;
}

.privacy-link:hover {
    color: #021E38;
    text-decoration: underline;
}

.btn-search-modal {
    background-color: #304C5E;
    color: #ffffff;
    border: none;
    padding: 1rem;
    border-radius: 8px;
    font-weight: 600;
    font-size: 1rem;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.2s ease;
    margin-top: 1.5rem;
}

.btn-search-modal:hover {
    background-color: var(--color-primary);
    color: var(--color-text-dark);
}

/* Floor Plans List */
.floor-plans-list {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.floor-plan-item {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 1rem;
    background-color: #F7FAFC;
    border: 1px solid #E2E8F0;
    border-radius: 8px;
    text-decoration: none;
    color: #021E38;
    transition: all 0.2s ease;
}

.floor-plan-item:hover {
    background-color: #EDF2F7;
    border-color: var(--color-primary);
    color: #021E38;
    text-decoration: none;
}

.floor-plan-icon {
    width: 40px;
    height: 40px;
    background-color: var(--color-primary);
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.floor-plan-icon i {
    color: #ffffff;
    font-size: 1.25rem;
}

.floor-plan-title {
    flex: 1;
    font-weight: 500;
    font-size: 1rem;
}

.floor-plan-download {
    color: var(--color-primary);
    font-size: 1rem;
    opacity: 0.6;
    transition: opacity 0.2s ease;
}

.floor-plan-item:hover .floor-plan-download {
    opacity: 1;
}

/* Energy Certificate List */
.energy-certificate-list {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.energy-item {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 1rem;
    background-color: #F7FAFC;
    border: 1px solid #E2E8F0;
    border-radius: 8px;
}

.energy-icon {
    width: 40px;
    height: 40px;
    background-color: var(--color-primary);
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.energy-icon i {
    color: #ffffff;
    font-size: 1.25rem;
}

.energy-content {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
}

.energy-label {
    font-size: 0.85rem;
    color: #718096;
    font-weight: 500;
    font-family: 'Noto Sans';
}

.energy-value {
    font-weight: 600;
    font-size: 1rem;
    color: #021E38;
}

/* Energy Rating Colors */
.energy-rating-a {
    color: #22C55E;
}

.energy-rating-b {
    color: #84CC16;
}

.energy-rating-c {
    color: #EAB308;
}

.energy-rating-d {
    color: #F97316;
}

.energy-rating-e {
    color: #EF4444;
}

.energy-rating-f {
    color: #DC2626;
}

.energy-rating-g {
    color: #991B1B;
}

.btn-search-modal img {
    width: 20px;
    height: 20px;
    filter: brightness(0) invert(1);
}

.btn-search-modal:hover img {
    filter: brightness(0);
}

/* Custom Dropdown Styles */
.custom-dropdown {
    position: relative;
}

.custom-dropdown-toggle {
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    text-align: left;
    background-color: #ffffff;
}

.custom-dropdown-toggle:focus {
    border-color: var(--color-primary);
}

.custom-dropdown-arrow {
    transition: transform 0.2s ease;
    flex-shrink: 0;
}

.custom-dropdown.active .custom-dropdown-arrow {
    transform: rotate(180deg);
}

.custom-dropdown-menu {
    position: absolute;
    top: calc(100% + 0.5rem);
    left: 0;
    right: 0;
    background: #ffffff;
    border: 2px solid #021E38;
    border-radius: 8px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    max-height: 250px;
    overflow-y: auto;
    z-index: 1000;
    display: none;
    padding: 0.5rem 0;
}

.custom-dropdown.active .custom-dropdown-menu {
    display: block;
}

.custom-dropdown-option {
    display: flex;
    align-items: center;
    padding: 0.75rem 1rem;
    cursor: pointer;
    transition: background-color 0.2s ease;
    margin: 0;
    font-family: 'Noto Sans';
    font-size: 1rem;
}

.custom-dropdown-option:hover {
    background-color: #F3F3F3;
}

.custom-dropdown-option input[type="checkbox"] {
    width: 20px;
    height: 20px;
    border: 2px solid #021E38;
    border-radius: 4px;
    margin-right: 0.75rem;
    cursor: pointer;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    position: relative;
    flex-shrink: 0;
}

.custom-dropdown-option input[type="checkbox"]:checked {
    background-color: #021E38;
    border-color: #021E38;
}

.custom-dropdown-option input[type="checkbox"]:checked::after {
    content: '';
    position: absolute;
    left: 5px;
    top: 1px;
    width: 6px;
    height: 10px;
    border: solid white;
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
}

.custom-dropdown-option span {
    color: #021E38;
    font-size: 1rem;
}

/* Single Select Dropdown (without checkboxes) */
.custom-dropdown-menu.single-select .custom-dropdown-option {
    padding: 0.75rem 1rem;
}

/* Multi Select Dropdown with checkboxes */
.custom-dropdown-option-checkbox {
    display: flex;
    align-items: center;
    padding: 0.75rem 1rem;
    cursor: pointer;
    transition: background-color 0.2s ease;
    margin: 0;
    -webkit-user-select: none;
       -moz-user-select: none;
            user-select: none;
}

.custom-dropdown-option-checkbox:hover {
    background-color: #F3F3F3;
}

.custom-dropdown-option-checkbox input[type="checkbox"] {
    width: 20px;
    height: 20px;
    border: 2px solid #021E38;
    border-radius: 4px;
    margin-right: 0.75rem;
    cursor: pointer;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    position: relative;
    flex-shrink: 0;
    background-color: #ffffff;
    pointer-events: none;
}

.custom-dropdown-option-checkbox input[type="checkbox"]:checked {
    background-color: #021E38;
    border-color: #021E38;
}

.custom-dropdown-option-checkbox input[type="checkbox"]:checked::after {
    content: '';
    position: absolute;
    left: 5px;
    top: 1px;
    width: 6px;
    height: 10px;
    border: solid white;
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
}

.custom-dropdown-option-checkbox span {
    color: #021E38;
    font-size: 1rem;
    font-family: 'Noto Sans', sans-serif;
}

/* Multi-select dropdown menu with scrollbar */
.custom-dropdown-menu.multi-select {
    max-height: 280px;
    overflow-y: auto;
}

.custom-dropdown-menu.single-select .custom-dropdown-option input[type="checkbox"] {
    display: none;
}

.custom-dropdown-menu.single-select .custom-dropdown-option.selected {
    background-color: #E3EADE;
}

.custom-dropdown-menu.single-select .custom-dropdown-option.selected span {
    font-weight: 600;
}

/* Mobile Menu Overlay - Full Screen */
@media (max-width: 991.98px) {
    .mobile-pt-5 {
        padding-top: 3rem !important;
    }

    .mobile-pb-5 {
        padding-bottom: 3rem !important;
    }

    .mobile-menu-overlay.show {
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background-color: #FAFAFA;
        z-index: 9999;
        display: flex !important;
        flex-direction: column;
        padding: 0;
        overflow-y: auto;
    }

    .mobile-menu-overlay.collapsing {
        display: none;
    }

    .mobile-menu-close {
        display: flex;
        justify-content: flex-end;
        padding: var(--spacing-m);
        width: 100%;
        border-bottom: 1px solid var(--color-primary);
    }

    .mobile-menu-close .btn-close {
        width: 24px;
        height: 24px;
        opacity: 1;
    }

    .mobile-menu-divider {
        width: 100%;
        height: 2px;
        background-color: var(--color-primary);
        margin-bottom: 2rem;
    }

    .mobile-menu-content {
        flex: 1;
        display: flex;
        flex-direction: column;
        padding: 0 2rem;
        width: 100%;
    }

    .mobile-nav-items {
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 0;
        flex: 1;
    }

    .mobile-nav-item {
        display: flex;
        align-items: center;
        padding: 1rem 0;
    }

    .mobile-nav-arrow {
        width: 24px;
        height: 24px;
        color: #021E38;
        margin-right: 1rem;
    }

    .mobile-nav-item .nav-link {
        flex: 1;
        text-align: right;
        font-size: 16px;
        font-weight: 600;
        color: #304C5E;
        padding: 0;
    }

    .mobile-lang-item {
        display: flex;
        justify-content: right;
        padding: 1rem 0;
        font-size: 16px;
        font-weight: 600;
        color: #304C5E;
        border-top: 2px solid var(--color-primary);
    }

    .mobile-lang-button {
        background: transparent;
        border: none;
        color: #304C5E;
        font-size: 16px;
        font-weight: 600;
        padding: 0.5rem 1rem;
        display: flex;
        align-items: center;
    }

    .mobile-lang-button:hover,
    .mobile-lang-button:focus {
        background: transparent;
        border: none;
        color: #021E38;
    }

    .mobile-menu-footer {
        padding: 2rem;
        background-color: #FAFAFA;
        width: 100%;
        border-top: 1px solid var(--color-primary);
    }

    .btn-mobile-contact {
        background-color: #304C5E;
        color: #ffffff;
        border: none;
        padding: 1rem 1.5rem;
        border-radius: 8px;
        font-weight: 600;
        font-size: 1rem;
        display: flex;
        align-items: center;
        justify-content: center;
        text-decoration: none;
        transition: all 0.2s ease;
    }

    .btn-mobile-contact img {
        filter: brightness(0) invert(1);
    }

    .btn-mobile-contact:hover {
        background-color: var(--color-primary);
        color: var(--color-text-dark);
        text-decoration: none;
    }

    .mobile-lang-button img {
        width: 24px;
        height: 24px;
    }

    .btn-mobile-search {
        background-color: var(--color-primary);
        color: #021E38;
        border: none;
        padding: 1rem 1.5rem;
        border-radius: 8px;
        font-weight: 600;
        font-size: 1rem;
        display: flex;
        align-items: center;
        justify-content: center;
        text-decoration: none;
        transition: all 0.2s ease;
    }

    .btn-mobile-search:hover {
        background-color: white;
        color: #021E38;
        text-decoration: none;
    }

    /* Hide desktop elements on mobile */
    .desktop-only {
        display: none !important;
    }
}

/* Desktop - Hide mobile-only elements */
@media (min-width: 992px) {
    .mobile-menu-close,
    .mobile-menu-divider,
    .mobile-menu-footer,
    .mobile-nav-arrow,
    .mobile-lang-item {
        display: none !important;
    }

    .mobile-nav-item {
        display: inline-block;
    }

    .navbar .container {
        display: flex;
        align-items: center;
        justify-content: space-between;
    }

    .mobile-menu-overlay {
        background: transparent;
        display: flex !important;
        flex: 1;
        justify-content: flex-end;
    }

    .mobile-menu-content {
        display: contents;
    }

    .mobile-nav-items {
        flex-direction: row !important;
        align-items: center !important;
        gap: 0.5rem;
        margin-left: auto !important;
    }
}

/* =============================================
   Featured Property & Slider
   ============================================= */
.featured-property {
    max-width: 100%;
}

.featured-property .property-card {
    container-type: normal;
    max-width: 100%;
}

.featured-property .property-card picture,
.featured-property .property-card > picture {
    display: block;
    width: 100%;
    max-width: 1488px;
    height: 496px;
    overflow: hidden;
    margin: 0 auto;
}

.featured-property .property-card img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    -o-object-position: center;
       object-position: center;
}

.property-slider-wrapper {
    position: relative;
}

.slider-cta {
    margin-top: 6rem;
}

.property-swiper {
    overflow: visible;
}

/* Equal height slides */
.property-swiper .swiper-wrapper {
    align-items: stretch;
}

.property-swiper .swiper-slide {
    height: auto;
    display: flex;
}

.property-swiper .swiper-slide .property-link {
    display: flex;
    width: 100%;
    height: 100%;
}

.property-swiper .swiper-slide .property-card {
    container-type: normal;
    display: flex;
    flex-direction: column;
}

@media (max-width: 768px) {
    .property-swiper {
        overflow: hidden;
    }
}

.property-swiper .property-card picture,
.property-swiper .property-card > picture {
    display: block;
    width: 100%;
    max-width: 712px;
    height: 400px;
    overflow: hidden;
    margin: 0 auto;
}

.property-swiper .property-card img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    -o-object-position: center;
       object-position: center;
}

.property-swiper .swiper-button-next,
.property-swiper .swiper-button-prev {
    color: #374151;
    background: white;
    width: 48px;
    height: 48px;
    border-radius: 50%;
    border: 1px solid #E5E7EB;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
    top: 160px;
}

.property-swiper .swiper-button-next::after,
.property-swiper .swiper-button-prev::after {
    font-size: 24px;
    font-weight: 900;
    transform: scale(0.5);
}

.property-swiper .swiper-button-next svg,
.property-swiper .swiper-button-prev svg {
    width: 50%;
    height: 50%;
    stroke-width: 2.5;
}

.property-swiper .swiper-button-next {
    right: 10px;
}

.property-swiper .swiper-button-prev {
    left: 10px;
}

.property-swiper .swiper-pagination {
    position: relative;
    bottom: 0;
    margin-top: 40px;
    margin-bottom: 128px;
}

.property-swiper .swiper-pagination-bullet {
    background: var(--color-accent);
    width: 16px;
    height: 16px;
    opacity: 0.3;
}

.property-swiper .swiper-pagination-bullet-active {
    background: var(--color-accent);
    opacity: 1;
}

/* =============================================
   Responsive
   ============================================= */
@media (max-width: 768px) {
    /* Prevenir scroll horizontal (clip no rompe sticky) */
    html, body {
        overflow-x: clip;
    }

    .container {
        padding-left: 24px;
        padding-right: 24px;
        max-width: 100%;
    }

    .hero-section {
        height: 480px;
    }

    .hero-section + .section-white {
        padding: 15rem 0 5rem;
    }

    .hero-content h1 {
        font-size: 2.5rem;
    }

    .section-subtitle,
    .property-location,
    .property-price {
        font-size: 1rem;
    }

    .section-white .section-title + .section-subtitle {
        max-width: 200px !important;
        margin-left: auto;
        margin-right: auto;
    }

    .swiper-button-next,
    .swiper-button-prev {
        width: 24px;
        height: 24px;
    }

    .property-swiper .swiper-button-next,
    .property-swiper .swiper-button-prev {
        width: 24px !important;
        height: 24px !important;
    }

    .property-swiper .swiper-pagination-bullet {
        width: 8px;
        height: 8px;
    }

    .property-detail-swiper .swiper-button-next,
    .property-detail-swiper .swiper-button-prev {
        width: 24px !important;
        height: 24px !important;
    }

    .section-title {
        font-size: 32px;
        gap: 2rem;
    }

    .section-title::before,
    .section-title::after {
        min-width: 40px;
        max-width: 80px;
        margin-top: 0;
    }

    .search-box {
        padding: 1rem;
        background: #304C5E;
        bottom: -165px;
    }

    .search-box .col-auto,
    .search-box .col,
    .promotions-search-box .col-auto,
    .promotions-search-box .col {
        flex: 0 0 100%;
        max-width: 100%;
        margin-bottom: 1rem;
    }

    .search-box .col-auto:last-child,
    .promotions-search-box .col-auto:last-child {
        margin-top: 1rem;
    }

    .promotions-search-box {
        padding: 1rem;
    }

    .search-box-tipo,
    .search-box-ubicacion,
    .search-box-button {
        width: 100% !important;
        max-width: 100% !important;
        font-size: 1rem !important;
    }

    .custom-select-btn.search-box-tipo,
    .custom-select-btn.search-box-ubicacion {
        width: 100% !important;
        max-width: 100% !important;
    }

    /* Search Box Mobile - Versión Simple */
    .search-box-mobile {
        width: 100%;
    }

    .search-box-label-mobile {
        display: block;
        color: white;
        font-family: 'Noto Sans', sans-serif;
        font-size: 0.95rem;
        margin-bottom: 0.5rem;
        font-weight: 400;
    }

    .search-box-mobile-row {
        display: flex;
        align-items: center;
        gap: 0.5rem;
    }

    .search-box-input-mobile {
        flex: 1;
        height: 48px;
        background: white;
        border: none;
        border-radius: 8px;
        padding: 0 1rem;
        font-family: 'Noto Sans', sans-serif;
        font-size: 0.95rem;
        color: #304C5E;
    }

    .search-box-input-mobile::-moz-placeholder {
        color: #9CA3AF;
    }

    .search-box-input-mobile::placeholder {
        color: #9CA3AF;
    }

    .search-box-btn-mobile {
        flex-shrink: 0;
        width: 48px;
        height: 48px;
        border: none;
        border-radius: 8px;
        display: flex;
        align-items: center;
        justify-content: center;
        padding: 0;
        cursor: pointer;
    }

    .search-box-btn-filters {
        background: white;
    }

    .search-box-btn-search {
        background: #D4AF37;
    }

    .property-features {
        flex-wrap: wrap;
        gap: 1rem;
    }

    /* Featured property - reduce height on mobile */
    .featured-property .property-card picture,
    .featured-property .property-card > picture {
        height: 250px;
        max-width: 100%;
    }

    /* Slider cards - reduce height on mobile */
    .property-swiper .property-card picture,
    .property-swiper .property-card > picture {
        height: 220px;
        max-width: 100%;
    }

    /* 3-column grid cards - reduce height on mobile */
    .row.g-4 .col-lg-4 .property-card picture,
    .row.g-4 .col-lg-4 .property-card > picture {
        height: 200px;
        max-width: 100%;
    }

    /* Property title sizes on mobile */
    .featured-property .property-card .property-title {
        font-size: 28px;
    }

    .property-card .property-title {
        font-size: 20px;
    }

    /* Search modal - reduce padding and adjust spacing on mobile */
    .search-modal-content {
        max-width: 100%;
        margin: 0 1rem;
    }

    .search-modal-body {
        padding: 1.5rem 1.5rem 0;
    }

    .search-modal-title {
        font-size: 1.5rem;
    }

    .search-modal-subtitle {
        font-size: 0.9rem;
    }

    .search-modal-divider-bottom {
        width: calc(100% + 3rem);
        margin: 1.5rem -1.5rem 0;
    }

    .search-modal-icon {
        width: 40px;
        height: 40px;
    }

    .search-modal-icon svg,
    .search-modal-icon img {
        width: 40px;
        height: 40px;
    }

    /* Footer Mobile */
    footer {
        text-align: center;
        padding: 3rem 0 2rem;
    }

    footer .row {
        flex-direction: column;
    }

    footer .row > [class*="col-"] {
        text-align: center;
    }

    .footer-logo {
        margin: 0 auto 2rem;
    }

    .footer-title {
        margin-bottom: 1rem;
    }

    .footer-links {
        margin-bottom: 2rem;
    }

    .footer-links-right {
        text-align: center;
        margin-bottom: 0;
    }

    .footer-social {
        justify-content: center;
        margin: 1.5rem 0;
    }

    .footer-copyright {
        text-align: center;
        margin-top: 0.75rem;
    }
}

/* =============================================
   Blog Section
   ============================================= */

/* Blog Hero Banner */
.blog-hero-section {
    position: relative;
    height: 30vh;
    background-image: url(/build/images/Blog_slide.1c24018f.png);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    display: flex;
    align-items: center;
    justify-content: center;
}

.blog-hero-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.3);
}

.blog-hero-content {
    position: relative;
    z-index: 2;
    text-align: center;
}

.blog-hero-content h1 {
    font-family: 'Noto Serif', Georgia, serif;
    font-size: 4rem;
    font-weight: 400;
    color: white;
    margin: 0;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
}

/* Blog Posts Section */
.blog-posts-section {
    padding: 6rem 0;
    background-color: #ffffff;
}

.blog-posts-section .container {
    max-width: 1200px;
}

.blog-grid {
    margin-top: 6rem;
}

/* Blog Card Styles */

/* Blog Card Link Wrapper */
.blog-card-link {
    text-decoration: none;
    color: inherit;
    display: block;
}

.blog-card-link:hover {
    text-decoration: none;
    color: inherit;
}

/* Blog Row Container with Alternating Pattern */
.blog-row-alternating {
    display: flex;
    gap: 2.5rem;
    margin-bottom: 4rem;
    align-items: center;
    justify-content: space-between;
}

/* Large Blog Card - 583x826 */
.blog-card-large {
    background: white;
    overflow: hidden;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    cursor: pointer;
    max-width: 583px;
    width: 100%;
}

.blog-card-large:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
}

.blog-card-image {
    width: 100%;
    height: 826px;
    overflow: hidden;
}

.blog-card-image img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    transition: transform 0.3s ease;
}

.blog-card-large:hover .blog-card-image img {
    transform: scale(1.05);
}

.blog-card-body {
    padding: 1.5rem 0;
}

.blog-title {
    font-family: 'Noto Serif', Georgia, serif;
    font-size: 24px;
    font-weight: 400;
    color: var(--color-text-dark);
    margin-bottom: 1rem;
    line-height: 1.4;
}

.blog-excerpt {
    font-family: 'Noto Sans', sans-serif;
    font-size: 16px;
    font-weight: 400;
    color: var(--color-text-gray);
    line-height: 1.6;
    margin: 0;
}

/* Small Blog Card - 457x604 */
.blog-card-small {
    background: white;
    overflow: hidden;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    cursor: pointer;
    max-width: 457px;
    width: 100%;
}

.blog-card-small:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
}

.blog-card-image-small {
    width: 100%;
    height: 604px;
    overflow: hidden;
}

.blog-card-image-small img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    transition: transform 0.3s ease;
}

.blog-card-small:hover .blog-card-image-small img {
    transform: scale(1.05);
}

.blog-card-body-small {
    padding: 1.5rem 0;
}

.blog-title-small {
    font-family: 'Noto Serif', Georgia, serif;
    font-size: 1.35rem;
    font-weight: 600;
    color: var(--color-text-dark);
    margin-bottom: 0.75rem;
    line-height: 1.4;
}

.blog-excerpt-small {
    font-family: 'Noto Sans', sans-serif;
    font-size: 1rem;
    color: var(--color-text-gray);
    line-height: 1.6;
    margin: 0;
}

/* Medium Blog Cards (2 per row) */
.blog-card-medium {
    background: white;
    overflow: hidden;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    cursor: pointer;
}

.blog-card-medium:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
}

.blog-card-image-medium {
    width: 100%;
    height: 350px;
    overflow: hidden;
}

.blog-card-image-medium img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    transition: transform 0.3s ease;
}

.blog-card-medium:hover .blog-card-image-medium img {
    transform: scale(1.05);
}

.blog-card-body-medium {
    padding: 1.25rem 0;
}

.blog-title-medium {
    font-family: 'Noto Serif', Georgia, serif;
    font-size: 1.25rem;
    font-weight: 600;
    color: var(--color-text-dark);
    margin-bottom: 0.875rem;
    line-height: 1.4;
}

.blog-excerpt-medium {
    font-family: 'Noto Sans', sans-serif;
    font-size: 0.925rem;
    color: var(--color-text-gray);
    line-height: 1.6;
    margin: 0;
}

/* Blog Pagination */
.blog-pagination {
    margin-top: 4rem;
}

.blog-pagination .pagination {
    gap: 0.5rem;
    justify-content: center;
}

.blog-pagination .page-item {
    margin: 0;
}

.blog-pagination .page-link {
    font-family: 'Noto Sans', sans-serif;
    color: #304C5E;
    background-color: transparent;
    border: none;
    padding: 0.5rem 0.875rem;
    border-radius: 6px;
    font-weight: 500;
    font-size: 1.125rem;
    transition: all 0.2s ease;
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 48px;
    min-height: 48px;
}

.blog-pagination .page-link:hover {
    background-color: rgba(54, 75, 95, 0.1);
    color: #304C5E;
}

.blog-pagination .page-item.active .page-link {
    background-color: #304C5E;
    color: white;
}

.blog-pagination .page-item.disabled .page-link {
    color: #CBD5E0;
    background-color: transparent;
    cursor: not-allowed;
    opacity: 0.5;
}

.blog-pagination .page-link img {
    width: 32px;
    height: 32px;
}

/* Responsive - Blog */
@media (max-width: 768px) {
    .section-beige {
        background-color: var(--color-beige);
        padding: 3rem 0;
    }

    .section-white {
        background-color: #ffffff;
        padding: 5rem 0;
    }

    .blog-hero-content h1 {
        font-size: 2.5rem;
    }

    .blog-row-alternating {
        flex-direction: column;
        gap: 4rem;
        margin-bottom: 2rem;
    }

    .blog-card-large,
    .blog-card-small {
        max-width: 100%;
        width: 87.8%;
        margin: 0 auto;
    }

    .blog-card-image,
    .blog-card-image-small {
        width: 100%;
        aspect-ratio: 345 / 432;
        height: auto;
    }

    .blog-card-image img,
    .blog-card-image-small img {
        width: 100%;
        height: 100%;
        -o-object-fit: cover;
           object-fit: cover;
    }

    .blog-title {
        font-size: 1.5rem;
    }

    .blog-title-small {
        font-size: 1.1rem;
    }

    .footer-links li {
        margin-bottom: 0rem;
    }
}

/* =============================================
   Blog Post Detail Page
   ============================================= */

/* Post Content Section */
.post-content-section {
    padding: 6rem 0;
    background-color: #ffffff;
}

/* Post Header - Título centrado */
.post-header {
    text-align: center;
    margin-bottom: 3rem;
}

.post-title {
    font-family: 'Noto Serif', Georgia, serif;
    font-size: 40px;
    font-weight: 500;
    color: var(--color-text-dark);
    line-height: 1.3;
    margin-bottom: 1.5rem;
}

/* Línea decorativa azul debajo del título */
.post-title-divider {
    width: 100%;
    height: 3px;
    background-color: #00a4dc;
    margin: 0 auto;
    max-width: 474px;
}

/* Imagen destacada centrada */
.post-featured-image {
    margin: 3rem 0 1rem;
    text-align: center;
}

.post-featured-image img {
    max-width: 100%;
    height: auto;
    border-radius: 0;
}

/* Breadcrumbs después de la imagen */
.post-breadcrumbs {
    margin-bottom: 3rem;
}

.post-breadcrumbs .breadcrumb {
    background-color: transparent;
    padding: 0;
    margin-bottom: 0;
    justify-content: flex-start;
}

.post-breadcrumbs .breadcrumb-item {
    font-family: 'Noto Serif', sans-serif;
    font-size: 12px;
    color: #304C5E;
}

.post-breadcrumbs .breadcrumb-item a {
    color: #304C5E;
    text-decoration: none;
    transition: color 0.2s ease;
}

.post-breadcrumbs .breadcrumb-item a:hover {
    color: #00a4dc;
}

.post-breadcrumbs .breadcrumb-item.active {
    color: #021E38;
}

.post-breadcrumbs .breadcrumb-item + .breadcrumb-item::before {
    content: ">";
    color: #304C5E;
    padding: 0 0.5rem;
}

/* Post Body */
.post-body {
    font-family: 'Noto Sans', Georgia, serif;
    font-size: 20px;
    line-height: 1.8;
    color: var(--color-text-dark);
    margin-bottom: 3rem;
}

.post-body h2 {
    font-size: 1.875rem;
    font-weight: 600;
    margin-top: 2.5rem;
    margin-bottom: 1rem;
    color: var(--color-text-dark);
}

.post-body h3 {
    font-size: 1.5rem;
    font-weight: 600;
    margin-top: 2rem;
    margin-bottom: 0.875rem;
    color: var(--color-text-dark);
}

.post-body p {
    margin-bottom: 1.5rem;
}

.post-body a {
    color: var(--color-primary);
    text-decoration: underline;
    transition: color 0.2s ease;
}

.post-body a:hover {
    color: #B8903F;
}

.post-body ul,
.post-body ol {
    margin-bottom: 1.5rem;
    padding-left: 2rem;
}

.post-body li {
    margin-bottom: 0.75rem;
}

.post-body blockquote {
    font-style: italic;
    font-size: 1.125rem;
    padding: 1.5rem 2rem;
    margin: 2rem 0;
    background-color: #F8F9FA;
    border-left: 4px solid var(--color-primary);
}

.post-body img {
    max-width: 100%;
    height: auto;
    border-radius: 8px;
    margin: 2rem 0;
}

/* Post Footer */
.post-footer {
    padding-top: 2rem;
    border-top: 1px solid #E5E5E5;
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 2rem;
}

.post-share {
    display: flex;
    align-items: center;
    gap: 1rem;
}

.share-label {
    font-family: 'Noto Sans', sans-serif;
    font-weight: 600;
    color: var(--color-text-dark);
    font-size: 0.95rem;
}

.share-buttons {
    display: flex;
    gap: 0.75rem;
}

.share-btn {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.2s ease;
    text-decoration: none;
}

.share-facebook {
    background-color: #1877F2;
    color: white;
}

.share-facebook:hover {
    background-color: #145DBF;
    transform: translateY(-2px);
}

.share-twitter {
    background-color: #000000;
    color: white;
}

.share-twitter:hover {
    background-color: #1a1a1a;
    transform: translateY(-2px);
}

.share-linkedin {
    background-color: #0A66C2;
    color: white;
}

.share-linkedin:hover {
    background-color: #084D92;
    transform: translateY(-2px);
}

.share-whatsapp {
    background-color: #25D366;
    color: white;
}

.share-whatsapp:hover {
    background-color: #1EAE52;
    transform: translateY(-2px);
}

.back-to-blog .btn {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    font-family: 'Noto Sans', sans-serif;
    font-weight: 500;
}

/* Sección Propiedades en Post */
.post-properties-section {
    padding: 6rem 0;
    background-color: var(--color-beige);
}

.post-properties-title {
    font-family: 'Noto Serif', Georgia, serif;
    font-size: 2rem;
    font-weight: 400;
    color: var(--color-text-dark);
    margin-bottom: 2.5rem;
    text-align: left;
}

/* Swiper específico para posts */
.property-swiper-post {
    overflow: visible;
}

.property-swiper-post .swiper-button-next,
.property-swiper-post .swiper-button-prev {
    color: #374151;
    background: white;
    width: 48px;
    height: 48px;
    border-radius: 50%;
    border: 1px solid #E5E7EB;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
    top: 160px;
}

.property-swiper-post .swiper-button-next::after,
.property-swiper-post .swiper-button-prev::after {
    font-size: 24px;
    font-weight: 900;
    transform: scale(0.5);
}

.property-swiper-post .swiper-button-next {
    right: 10px;
}

.property-swiper-post .swiper-button-prev {
    left: 10px;
}

.property-swiper-post .swiper-pagination {
    position: relative;
    bottom: 0;
    margin-top: 30px;
}

.property-swiper-post .swiper-pagination-bullet {
    background: var(--color-accent);
    width: 16px;
    height: 16px;
    opacity: 0.3;
}

.property-swiper-post .swiper-pagination-bullet-active {
    background: var(--color-accent);
    opacity: 1;
}

/* Responsive - Post Detail */
@media (max-width: 768px) {
    .post-content-section {
        padding: 2.5rem 0;
    }

    .post-title {
        font-size: 1.75rem;
    }

    .post-title-divider {
        width: 200px;
    }

    .post-body {
        font-size: 1rem;
    }

    .post-body h2 {
        font-size: 1.5rem;
    }

    .post-body h3 {
        font-size: 1.25rem;
    }

    .post-breadcrumbs .breadcrumb {
        font-size: 0.8rem;
    }

    .post-properties-section {
        padding: 2.5rem 0;
    }

    .post-properties-title {
        font-size: 1.5rem;
    }
}

/* =============================================
   404 Error Page
   ============================================= */

.error-404-section {
    min-height: 70vh;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 6rem 0;
    background-color: #ffffff;
}

.error-404-number {
    font-family: 'Noto Serif', Georgia, serif;
    font-size: 10rem;
    font-weight: 700;
    color: #2D3F54;
    line-height: 1;
    margin-bottom: 2rem;
}

.error-404-content {
    margin-bottom: 3rem;
}

.error-404-text {
    font-family: 'Noto Serif', Georgia, serif;
    font-size: 1.25rem;
    color: var(--color-text-dark);
    margin-bottom: 1rem;
    line-height: 1.6;
}

.error-404-subtext {
    font-family: 'Noto Sans', sans-serif;
    font-size: 1rem;
    color: var(--color-text-gray);
    margin-bottom: 0;
    line-height: 1.6;
}

.error-404-actions {
    display: flex;
    gap: 1.5rem;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
}

.btn-404-contact {
    background-color: #2D3F54;
    color: white;
    padding: 0.875rem 2rem;
    border-radius: 6px;
    font-family: 'Noto Sans', sans-serif;
    font-weight: 500;
    font-size: 1rem;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    transition: all 0.3s ease;
    border: none;
}

.btn-404-contact:hover {
    background-color: var(--color-primary);
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(45, 63, 84, 0.3);
    color: var(--color-text-dark);
    text-decoration: none;
}

.btn-404-search {
    background-color: var(--color-primary);
    color: #021E38;
    padding: 0.875rem 2rem;
    border-radius: 6px;
    font-family: 'Noto Sans', sans-serif;
    font-weight: 500;
    font-size: 1rem;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    transition: all 0.3s ease;
    border: none;
}

.btn-404-search:hover {
    background-color: white;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(255, 255, 255, 0.3);
    color: #021E38;
    text-decoration: none;
}

/* Responsive - 404 Page */
@media (max-width: 768px) {
    .error-404-section {
        min-height: 60vh;
        padding: 3rem 0;
    }

    .error-404-number {
        font-size: 6rem;
        margin-bottom: 1.5rem;
    }

    .error-404-text {
        font-size: 1.1rem;
    }

    .error-404-subtext {
        font-size: 0.95rem;
    }

    .error-404-actions {
        flex-direction: column;
        gap: 1rem;
    }

    .btn-404-contact,
    .btn-404-search {
        width: 100%;
        max-width: 280px;
        justify-content: center;
    }
}

/* =============================================
   About Page (Sobre nosotros)
   ============================================= */

/* About Hero Banner */
.about-hero-section {
    position: relative;
    height: 20vh;
    background-image: url(/build/images/Sobre_nosotros_slide.b68a5f79.png);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    display: flex;
    align-items: center;
    justify-content: center;
}

.about-hero-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.3);
}

.about-hero-content {
    position: relative;
    z-index: 2;
    text-align: center;
}

.about-hero-content h1 {
    font-family: 'Noto Serif', Georgia, serif;
    font-size: 3.5rem;
    font-weight: 400;
    color: white;
    margin: 0;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
}

/* About History Section */
.about-history-section {
    padding: 6rem 0;
}

.about-history-content {
    text-align: center;
    margin-top: 2rem;
    max-width: 712px;
    margin-left: auto;
    margin-right: auto;
}

.about-history-content p {
    font-family: 'Noto Sans', sans-serif;
    font-size: 24px;
    line-height: 1.8;
    color: var(--color-text-dark);
    margin-bottom: 1.5rem;
}

.about-history-content p strong {
    font-weight: 600;
}

.legal-content {
    text-align: left;
    width: 100%;
    max-width: 100%;
}

/* Legal Pages - Specific font size for legal text */
.legal-content p {
    font-family: 'Noto Sans', sans-serif;
    font-size: 20px;
    line-height: 1.8;
}

/* About Values Section */
.about-values-section {
    padding: 6rem 0;
}

.about-values-section .row {
    --bs-gutter-x: 64px;
    --bs-gutter-y: 64px;
}

.about-values-title {
    font-family: 'Noto Serif', Georgia, serif;
    font-size: 2rem;
    font-weight: 400;
    color: var(--color-text-dark);
    text-align: center;
    margin-bottom: 3rem;
}

.value-card {
    background-color: var(--color-primary);
    padding: 2.5rem 2rem;
    text-align: center;
    min-height: 180px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.value-card h3 {
    font-family: 'Noto Sans', Georgia, serif;
    font-size: 24px;
    font-weight: 700;
    color: #364B5F;
    margin-bottom: 0.75rem;
}

.value-card p {
    font-family: 'Noto Sans', sans-serif;
    font-size: 20px;
    color: #021E38;
    margin: 0;
    line-height: 1.6;
}

/* About Service Section */
.about-service-section {
    padding: 6rem 0;
}

.about-service-title {
    font-family: 'Noto Serif', Georgia, serif;
    font-size: 2rem;
    font-weight: 400;
    color: var(--color-text-dark);
    text-align: center;
    margin-bottom: 2.5rem;
}

.about-service-content {
    text-align: center;
    max-width: 712px;
    margin-left: auto;
    margin-right: auto;
}

.about-service-content p {
    font-family: 'Noto Sans', sans-serif;
    font-size: 24px;
    line-height: 1.8;
    color: var(--color-text-dark);
    margin-bottom: 1.25rem;
}

.about-service-content em {
    font-style: italic;
    font-weight: 500;
}

/* About Team Section */
.about-team-section {
    padding: 6rem 0;
}

.team-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 3rem 4rem;
    margin-top: 3rem;
    max-width: 900px;
    margin-left: auto;
    margin-right: auto;
}

.team-member {
    text-align: center;
}

.team-member-photo {
    width: 100%;
    aspect-ratio: 3/4;
    background-color: #E5E7EB;
    margin-bottom: 1rem;
    overflow: hidden;
}

.team-member-photo img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
}

.team-member-name {
    font-family: 'Noto Serif', Georgia, serif;
    font-size: 20px;
    font-weight: 600;
    color: var(--color-text-dark);
    margin-bottom: 0.25rem;
    text-align: left;
}

.team-member-role {
    font-family: 'Noto Sans', sans-serif;
    font-size: 16px;
    color: #304C5E;
    margin: 0;
    text-align: left;
}

.team-more {
    text-align: center;
    margin: 4rem 0 3rem;
}

.team-more-divider {
    width: 454px;
    height: 3px;
    background-color: #00a4dc;
    margin: 0 auto 1.5rem;
}

.team-more-text {
    font-family: 'Noto Sans', Georgia, serif;
    font-size: 40px;
    font-weight: 400;
    color: var(--color-text-dark);
    margin: 0;
}

.team-cta {
    text-align: center;
    max-width: 700px;
    margin: 0 auto;
    padding: 2rem 0;
}

.team-cta-title {
    font-family: 'Noto Serif', Georgia, serif;
    font-size: 40px;
    font-weight: 600;
    color: var(--color-text-dark);
    margin-bottom: 1.5rem;
}

.team-cta-text {
    font-family: 'Noto Sans', sans-serif;
    font-size: 24px;
    color: var(--color-text-dark);
    line-height: 1.7;
    margin-bottom: 0.75rem;
}

.team-cta-subtext {
    font-family: 'Noto Sans', sans-serif;
    font-size: 24px;
    color: var(--color-text-dark);
    margin-bottom: 2rem;
}

/* About Team Photo Section */
.about-team-photo-section {
    background-color: var(--color-beige);
}

.about-team-photo {
    max-width: 100%;
}

.about-team-photo img {
    width: 100%;
    height: auto;
    display: block;
}

/* About Offices Section */
.about-offices-section {
    padding: 6rem 0;
}

.about-offices-title {
    font-family: 'Noto Serif', Georgia, serif;
    font-size: 2rem;
    font-weight: 400;
    color: var(--color-text-dark);
    text-align: center;
    margin-bottom: 2.5rem;
}

.about-offices-intro {
    max-width: 900px;
    margin: 0 auto 4rem;
    text-align: center;
}

.about-offices-intro p {
    font-family: 'Noto Sans', sans-serif;
    font-size: 1.5rem;
    line-height: 1.8;
    color: var(--color-text-dark);
    margin-bottom: 1.25rem;
}

.about-offices-intro em {
    font-style: italic;
}

.about-offices-intro strong {
    font-weight: 600;
}

.office-card {
    text-align: center;
}

.office-image {
    width: 100%;
    margin-bottom: 1.5rem;
}

.office-image img {
    width: 100%;
    height: auto;
    border-radius: 8px;
}

.office-divider {
    width: 60px;
    height: 2px;
    background-color: var(--color-text-gray);
    margin: 0 auto 1.5rem;
}

.office-name {
    font-family: 'Noto Serif', Georgia, serif;
    font-size: 1.25rem;
    font-weight: 500;
    color: #021E38;
    margin-bottom: 0.75rem;
}

.office-detail {
    font-family: 'Noto Sans', sans-serif;
    font-size: 0.95rem;
    color: #021E38;
    margin-bottom: 0.25rem;
    line-height: 1.6;
}

/* Responsive - About Page */
@media (max-width: 768px) {
    .about-hero-content h1 {
        font-size: 2.5rem;
    }

    .about-values-title,
    .about-service-title,
    .about-offices-title {
        font-size: 1.5rem;
    }

    .about-values-section .row {
        --bs-gutter-x: 32px;
        --bs-gutter-y: 32px;
    }

    .value-card {
        min-height: 150px;
        padding: 2rem 1.5rem;
    }

    .value-card h3 {
        font-size: 1.125rem;
    }

    .team-grid {
        grid-template-columns: 1fr;
        gap: 2.5rem;
    }

    .team-more-divider {
        width: 200px;
    }

    .team-cta-title {
        font-size: 1.25rem;
    }
}

/* ========================================
   VENDE CON NOSOTROS PAGE
   ======================================== */

/* Hero Section */
.sell-hero-section {
    position: relative;
    height: 30vh;
    background-image: url(/build/images/Vende_con_nosotros_slide.c4d43689.png);
    background-size: cover;
    background-position: center;
    display: flex;
    align-items: center;
    justify-content: center;
}

.sell-hero-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.4);
}

.sell-hero-content {
    position: relative;
    z-index: 2;
    text-align: center;
}

.sell-hero-content h1 {
    font-family: 'Noto Serif', Georgia, serif;
    font-size: 3rem;
    font-weight: 500;
    color: white;
    margin: 0;
}

/* Section Titles with Dividers */
.sell-section-title {
    font-family: 'Noto Serif', Georgia, serif;
    font-size: 40px;
    font-weight: 500;
    color: #021E38;
    text-align: center;
    margin-bottom: 2rem;
}

.sell-section-title.with-dividers {
    position: relative;
    display: inline-block;
    width: 100%;
}

.sell-section-title.with-dividers::before,
.sell-section-title.with-dividers::after {
    content: '';
    position: absolute;
    top: 50%;
    width: 140px;
    height: 2px;
    background-color: #00a4dc;
}

.sell-section-title.with-dividers::before {
    left: 0;
    transform: translateY(-50%);
}

.sell-section-title.with-dividers::after {
    right: 0;
    transform: translateY(-50%);
}

/* Thinking Section */
.sell-thinking-section {
    padding: 6rem 0;
}

.sell-thinking-content {
    text-align: center;
    margin-top: 2rem;
    max-width: 712px;
    margin-left: auto;
    margin-right: auto;
}

.sell-thinking-content p {
    font-family: 'Noto Sans', sans-serif;
    font-size: 24px;
    color: #021E38;
    line-height: 1.8;
    margin-bottom: 0;
}

.btn-sell-contact {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    padding: 0.875rem 2.5rem;
    font-family: 'Noto Sans', sans-serif;
    font-size: 1rem;
    font-weight: 500;
    color: #021E38;
    background-color: white;
    border: 1.5px solid #021E38;
    border-radius: 4px;
    text-decoration: none;
    text-align: center;
    transition: all 0.3s ease;
    width: 100%;
    max-width: 458px;
    min-height: 56px;
}

.btn-sell-contact:hover {
    background-color: #021E38;
    color: white;
    transform: translateY(-2px);
}

.btn-sell-contact:hover img,
.btn-sell-contact:hover svg {
    filter: brightness(0) invert(1);
}

/* Filter Section */
.sell-filter-section {
    padding: 6rem 0;
}

.sell-filter-title {
    font-family: 'Noto Serif', Georgia, serif;
    font-size: 40px;
    font-weight: 500;
    color: #021E38;
    text-align: center;
    margin-bottom: 2rem;
    line-height: 1.4;
}

.sell-filter-content {
    text-align: center;
    margin-top: 2rem;
    max-width: 712px;
    margin-left: auto;
    margin-right: auto;
}

.sell-filter-content p {
    font-family: 'Noto Sans', sans-serif;
    font-size: 24px;
    color: #021E38;
    line-height: 1.8;
    margin-bottom: 0;
}

/* Services Section */
.sell-services-section {
    padding: 6rem 0;
}

.sell-services-intro {
    text-align: center;
    margin-top: 2rem;
    margin-bottom: 3rem;
    max-width: 712px;
    margin-left: auto;
    margin-right: auto;
}

.sell-services-intro p {
    font-family: 'Noto Sans', sans-serif;
    font-size: 24px;
    color: #021E38;
    line-height: 1.8;
    margin-bottom: 0;
}

.sell-services-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 64px;
    margin-top: 3rem;
}

.service-card {
    background-color: var(--color-primary);
    padding: 2.5rem 2rem;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-height: 220px;
}

.service-icon {
    margin-bottom: 1.5rem;
}

.service-icon svg {
    color: #021E38;
}

.service-title {
    font-family: 'Noto Sans', sans-serif;
    font-size: 1.5rem;
    font-weight: 700;
    color: #021E38;
    line-height: 1.5;
    margin: 0;
}

/* Trust Section */
.sell-trust-section {
    padding: 6rem 0;
}

.sell-trust-content {
    text-align: center;
    margin-top: 2rem;
    max-width: 712px;
    margin-left: auto;
    margin-right: auto;
}

.sell-trust-content p {
    font-family: 'Noto Sans', sans-serif;
    font-size: 24px;
    color: #021E38;
    line-height: 1.8;
    margin-bottom: 0;
}

.btn-sell-about {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.875rem 2.5rem;
    font-family: 'Noto Sans', sans-serif;
    font-size: 1rem;
    font-weight: 500;
    color: #021E38;
    background-color: white;
    border: 1.5px solid #021E38;
    border-radius: 4px;
    text-decoration: none;
    text-align: center;
    transition: all 0.3s ease;
    width: 100%;
    max-width: 458px;
    min-height: 56px;
}

.btn-sell-about:hover {
    background-color: #021E38;
    color: white;
    transform: translateY(-2px);
}

.btn-sell-about:hover img,
.btn-sell-about:hover svg {
    filter: brightness(0) invert(1);
}

/* Responsive - Sell With Us Page */
@media (max-width: 992px) {
    .sell-services-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 768px) {
    .sell-hero-content h1 {
        font-size: 2.5rem;
    }

    .sell-section-title {
        font-size: 1.5rem;
    }

    .sell-section-title.with-dividers::before,
    .sell-section-title.with-dividers::after {
        width: 60px;
    }

    .sell-filter-title {
        font-size: 1.5rem;
    }

    .sell-services-grid {
        grid-template-columns: 1fr;
        gap: 1.5rem;
    }

    .service-card {
        min-height: 180px;
        padding: 2rem 1.5rem;
    }

    .sell-thinking-content p,
    .sell-filter-content p,
    .sell-services-intro p,
    .sell-trust-content p {
        font-size: 1rem;
    }
}

/* =============================================
   Property Search & Filters
   ============================================= */

/* Search Bar Section */
.property-search-bar {
    background-color: #3D5467;
    padding: 1.5rem 0;
}

.search-filters-form .form-label {
    font-family: 'Noto Sans', sans-serif;
    font-size: 0.8rem;
    margin-bottom: 0.25rem;
    font-weight: 400;
}

.search-filters-form .form-control,
.search-filters-form .form-select {
    border-radius: 8px;
    padding: 0.75rem 1rem;
    font-size: 1rem;
    border: 2px solid #021E38;
    background-color: white;
    color: #021E38;
}

.search-filters-form .form-select {
    background-image: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%2716%27 height=%2716%27 fill=%27%23021E38%27 viewBox=%270 0 16 16%27%3E%3Cpath fill-rule=%27evenodd%27 d=%27M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z%27/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 1rem center;
    padding-right: 2.5rem;
}

.search-filters-form .form-control:focus,
.search-filters-form .form-select:focus {
    border-color: var(--color-primary);
    box-shadow: none;
}

.btn-filters {
    background-color: white;
    color: #304C5E;
    border: 1px solid #dee2e6;
    padding: 0.625rem 1.25rem;
    font-family: 'Noto Sans', sans-serif;
    font-weight: 500;
    font-size: 0.95rem;
    border-radius: 4px;
    transition: all 0.3s ease;
}

.btn-filters:hover {
    background-color: #304C5E;
    border-color: #304C5E;
    color: white;
}

.btn-filters:hover img {
    filter: brightness(0) invert(1);
}

.btn-filters svg {
    vertical-align: middle;
}

.btn-create-alert {
    background-color: var(--color-primary);
    color: #304C5E;
    border: none;
    padding: 0.625rem 1.25rem;
    font-family: 'Noto Sans', sans-serif;
    font-weight: 600;
    font-size: 0.95rem;
    border-radius: 4px;
    transition: all 0.3s ease;
}

.btn-create-alert:hover {
    background-color: white;
    color: #304C5E;
    transform: translateY(-1px);
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
}

.btn-create-alert svg {
    vertical-align: middle;
}

/* Results Controls */
.property-results-controls h5 {
    font-family: 'Noto Serif', serif;
    color: #304C5E;
    font-weight: 600;
}

/* Sort Dropdown */
.sort-dropdown {
    position: relative;
}

.sort-dropdown-toggle {
    background: transparent;
    border: none;
    padding: 0.375rem 0.5rem;
    font-size: 0.95rem;
    color: #495057;
    cursor: pointer;
    display: flex;
    align-items: center;
    transition: color 0.2s ease;
}

.sort-dropdown-toggle:hover {
    color: #212529;
}

.sort-dropdown-toggle svg {
    vertical-align: middle;
}

.sort-dropdown-toggle svg:last-child {
    transition: transform 0.2s ease;
}

.sort-dropdown.active .sort-dropdown-toggle svg:last-child {
    transform: rotate(180deg);
}

.sort-dropdown-menu {
    position: absolute;
    top: calc(100% + 0.5rem);
    left: 0;
    background-color: white;
    border: 1px solid #dee2e6;
    border-radius: 4px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
    min-width: 200px;
    z-index: 1000;
    display: none;
}

.sort-dropdown.active .sort-dropdown-menu {
    display: block;
}

.sort-dropdown-option {
    display: block;
    padding: 0.625rem 1rem;
    color: #495057;
    text-decoration: none;
    font-size: 0.95rem;
    transition: background-color 0.2s ease;
}

.sort-dropdown-option:hover {
    background-color: #f8f9fa;
    color: #212529;
    text-decoration: none;
}

.sort-dropdown-option.active {
    background-color: #e9ecef;
    font-weight: 600;
    color: #212529;
}

.property-results-controls .form-select-sm {
    font-family: 'Noto Sans', sans-serif;
    font-size: 0.9rem;
    border: 1px solid #dee2e6;
}

.property-results-controls .form-check-label {
    font-family: 'Noto Sans', sans-serif;
    font-size: 1rem;
    color: #304C5E;
}

.property-results-controls .form-check-input {
    cursor: pointer;
    width: 3rem;
    height: 1.5rem;
}

.property-results-controls .form-check-input:checked {
    background-color: var(--color-primary);
    border-color: var(--color-primary);
}

/* Property Grid */
.property-grid-section {
    background-color: white;
}

.property-link {
    text-decoration: none !important;
    color: inherit;
    display: block;
    height: 100%;
}

.property-link:hover {
    text-decoration: none !important;
    color: inherit;
}

.property-link .property-title {
    text-decoration: none !important;
}

/* Property Cards - List View (más compactos) */
.property-grid-section .property-card .property-location {
    font-size: 16px;
    font-weight: 400;
    color: #6c757d;
    margin-bottom: 0.5rem;
}

.property-grid-section .property-card .property-title {
    font-weight: 500;
    line-height: 1.4;
    margin-bottom: 0.75rem;
    color: #212529;
}

.property-grid-section .property-card .property-price {
    font-size: 1.25rem;
    color: #212529;
    margin-bottom: 0.75rem;
}

.property-grid-section .property-card .property-features {
    font-size: 0.875em;
    color: #6c757d;
    flex-wrap: wrap;
    font-weight: 400;
}

/* CTA Alert Card */
.cta-alert-card {
    background: linear-gradient(135deg, #304C5E 0%, #2C3E50 100%);
    border-radius: 4px;
    padding: 2.5rem 2rem;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
    min-height: 400px;
}

.cta-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 1.5rem;
}

.cta-title {
    font-family: 'Noto Serif', serif;
    font-size: 20px;
    color: white;
    margin-bottom: 1rem;
    font-weight: 500;
    line-height: 24px;
}

.cta-description {
    font-family: 'Noto Sans', sans-serif;
    font-size: 1rem;
    color: rgba(255, 255, 255, 0.9);
    margin-bottom: 2rem;
    line-height: 20px;
}

.btn-cta-alert {
    background-color: var(--color-primary);
    color: #304C5E;
    border: none;
    padding: 0.85rem 2.5rem;
    font-family: 'Noto Sans', sans-serif;
    font-weight: 600;
    border-radius: 4px;
    transition: all 0.3s ease;
    font-size: 1.1rem;
}

.btn-cta-alert:hover {
    background-color: white;
    color: #304C5E;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(255, 255, 255, 0.4);
}

/* Property Pagination */
.property-pagination {
    display: flex;
    justify-content: center;
}

.property-pagination .pagination {
    gap: 0.5rem;
    justify-content: center;
}

.property-pagination .page-item {
    margin: 0;
}

.property-pagination .page-link {
    font-family: 'Noto Sans', sans-serif;
    color: #304C5E;
    background-color: transparent;
    border: none;
    padding: 0.5rem 0.875rem;
    border-radius: 6px;
    font-weight: 500;
    font-size: 1.125rem;
    transition: all 0.2s ease;
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 48px;
    min-height: 48px;
}

.property-pagination .page-link:hover {
    background-color: rgba(54, 75, 95, 0.1);
    color: #304C5E;
}

.property-pagination .page-item.active .page-link {
    background-color: #304C5E;
    color: white;
}

.property-pagination .page-item.disabled .page-link {
    color: #CBD5E0;
    background-color: transparent;
    cursor: not-allowed;
    opacity: 0.5;
}

.property-pagination .page-link img {
    width: 32px;
    height: 32px;
}

/* Responsive - Property Pagination */
@media (max-width: 768px) {
    .property-pagination .pagination {
        gap: 0.125rem;
        flex-wrap: nowrap;
        max-width: 100%;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
        -ms-overflow-style: none;
    }

    .property-pagination .pagination::-webkit-scrollbar {
        display: none;
    }

    .property-pagination .page-link {
        font-size: 0.75rem;
        padding: 0.25rem 0.5rem;
        min-width: 36px;
        min-height: 36px;
        flex-shrink: 0;
    }

    .property-pagination .page-link img {
        width: 20px;
        height: 20px;
    }
}

/* Modal Improvements */
.modal-header {
    background-color: #f8f9fa;
    border-bottom: 2px solid var(--color-primary);
}

.modal-title {
    font-family: 'Noto Serif', serif;
    color: #304C5E;
    font-weight: 600;
}

/* Responsive - Property List */
@media (max-width: 992px) {
    .property-search-bar {
        padding: 1.5rem 0;
    }

    .search-filters-form .row {
        row-gap: 1rem;
    }

    .cta-alert-card {
        min-height: 300px;
        padding: 2rem 1.5rem;
    }

    .cta-icon {
        width: 60px;
        height: 60px;
    }

    .cta-icon i {
        font-size: 1.5rem;
    }

    .cta-title {
        font-size: 1.25rem;
    }
}

@media (max-width: 768px) {
    .property-results-controls {
        flex-wrap: nowrap !important;
        gap: 0.5rem !important;
        align-items: center;
        padding: 1rem 0;
        border-bottom: 1px solid #E5E7EB;
    }

    /* Contenedor de resultados + ordenación */
    .property-results-controls > div:first-child {
        flex: 1;
        display: flex !important;
        align-items: center;
        gap: 0 !important;
        min-width: 0;
    }

    .property-results-controls h5 {
        font-size: 0.9rem;
        font-weight: 600;
        margin: 0;
        padding-right: 0.75rem;
        white-space: nowrap;
        color: #304C5E;
    }

    /* Línea divisoria vertical dorada */
    .property-results-controls h5::after {
        content: '';
        position: absolute;
        right: 0;
        top: 50%;
        transform: translateY(-50%);
        width: 1px;
        height: 20px;
        background-color: #D4AF37;
    }

    .property-results-controls h5 {
        position: relative;
    }

    /* Dropdown de ordenación */
    .property-results-controls .sort-dropdown {
        margin-left: 0.75rem;
        flex-shrink: 0;
    }

    .sort-dropdown-toggle {
        font-size: 0.85rem;
        padding: 0;
        background: transparent;
        border: none;
        color: #304C5E;
        font-weight: 500;
        display: flex;
        align-items: center;
        gap: 0.35rem;
    }

    .sort-dropdown-toggle img {
        display: inline-block;
        width: 12px !important;
        height: 12px !important;
    }

    /* Ocultar texto del dropdown, solo mostrar icono */
    .sort-dropdown-toggle .sort-dropdown-text {
        display: none;
    }

    .sort-dropdown-toggle i {
        font-size: 0.65rem;
    }

    /* Toggle del mapa en mobile - compacto */
    .property-results-controls .map-toggle-switch {
        flex-shrink: 0;
        margin-left: 0.5rem;
    }

    .property-results-controls .map-toggle-switch .form-check-label {
        font-size: 0.8rem;
        white-space: nowrap;
    }

    .property-results-controls .map-toggle-switch .form-check-input {
        width: 2.25rem !important;
        height: 1.15rem !important;
        margin-left: 0.35rem;
    }

    .search-filters-form .col-md-2,
    .search-filters-form .col-md-4 {
        width: 100%;
    }

    .cta-alert-card {
        margin-bottom: 1.5rem;
    }
}

/* =============================================
   Property Detail Page (Ficha Técnica)
   ============================================= */

/* Breadcrumbs - Miga de pan */
.breadcrumb {
    background-color: transparent;
    padding: 0;
    margin-bottom: 0;
}

.breadcrumb-item {
    font-family: 'Noto Serif', serif;
    font-weight: 400;
    font-size: 12px;
    color: #304C5E;
}

.breadcrumb-item a {
    color: #304C5E;
    text-decoration: none;
    transition: color 0.3s ease;
}

.breadcrumb-item a:hover {
    color: var(--color-primary);
}

.breadcrumb-item.active {
    color: #304C5E;
}

.breadcrumb-item + .breadcrumb-item::before {
    content: ">";
    color: #304C5E;
    padding: 0 0.5rem;
}

/* Gallery */
.property-gallery .main-image-wrapper {
    position: relative;
    border-radius: 0;
    overflow: hidden;
    width: 100%;
    max-width: 855px;
    height: 640px;
}

.property-gallery .main-image {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
}

.property-gallery .badge-overlay-top-right {
    position: absolute;
    top: 1rem;
    right: 1rem;
}

.property-gallery .badge-tour-virtual {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    background-color: rgba(255, 255, 255, 0.95);
    color: #304C5E;
    padding: 0.5rem 1rem;
    border-radius: 4px;
    font-size: 0.9rem;
    font-weight: 500;
    text-decoration: none;
    transition: all 0.3s ease;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
}

.property-gallery .badge-tour-virtual:hover {
    background-color: var(--color-primary);
    color: #304C5E;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
}

.property-gallery .thumbnails-grid {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-l);
    height: 100%;
}

.property-gallery .thumbnail-wrapper {
    position: relative;
    border-radius: 0;
    overflow: hidden;
    width: 100%;
    max-width: 600px;
    height: 304px;
    flex: 1;
}

.property-gallery .thumbnail {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    transition: transform 0.3s ease;
    cursor: pointer;
}

.property-gallery .thumbnail:hover {
    transform: scale(1.05);
}

.property-gallery .thumbnail-overlay {
    position: absolute;
    inset: 0;
    background-color: rgba(0, 0, 0, 0.6);
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    font-size: 1.5rem;
    font-weight: 600;
}

.property-gallery .no-image-placeholder {
    background-color: #f8f9fa;
    border: 2px dashed #dee2e6;
    border-radius: 8px;
    padding: 4rem 2rem;
    text-align: center;
    color: #6c757d;
}

.property-gallery .no-image-placeholder i {
    font-size: 3rem;
    margin-bottom: 1rem;
    display: block;
}

/* Reference Badge - N. Referencia de Propiedad */
.property-reference-badge .badge {
    background-color: #00A4DC;
    color: white;
    font-family: 'Noto Sans', sans-serif;
    font-weight: 500;
    font-size: 16px;
    padding: 0.5rem 1rem;
    border-radius: 0;
    border: none;
    border-radius: 4px;
}

/* Header */
.property-header .property-title {
    font-family: 'Noto Serif', serif;
    color: #304C5E;
    font-size: 40px;
    margin-bottom: 0.5rem;
}

.property-header .property-price-main {
    font-family: 'Noto Serif', serif;
    font-size: 24px;
    font-weight: 400;
    color: #304C5E;
}

.property-header .price-on-request {
    color: var(--color-primary);
    font-weight: 600;
}

/* Quick Stats */
.property-quick-stats {
    position: relative;
}

.property-quick-stats .stats-divider-top {
    height: 1px;
    background-color: var(--color-accent);
    width: 100%;
    margin-bottom: 1rem;
}

.property-quick-stats .stats-divider-bottom {
    height: 1px;
    background-color: var(--color-accent);
    width: 100%;
    margin-top: 1rem;
}

.property-quick-stats .stats-content {
    padding: 0;
    display: flex;
    justify-content: space-between;
    width: 100%;
    gap: 0.75rem;
    flex-wrap: nowrap;
}

.property-quick-stats .stat-item {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.95rem;
    color: #304C5E;
    flex: 0 0 auto;
    white-space: nowrap;
}

.property-quick-stats .stat-item .stat-icon {
    width: 20px;
    height: 20px;
    -o-object-fit: contain;
       object-fit: contain;
}

/* Botones de Acción (Ficha técnica, Planos, Info. Energética) */
.property-action-buttons {
    display: flex;
    gap: 1rem;
    flex-wrap: wrap;
    width: 100%;
    justify-content: space-between;
}

.btn-property-action {
    flex: 1;
    height: 56px;
    background-color: #ffffff;
    border: 1px solid #021E38;
    color: #021E38;
    border-radius: 8px;
    font-family: 'Noto Sans', sans-serif;
    font-weight: 500;
    font-size: 0.95rem;
    transition: all 0.2s ease;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: var(--spacing-xs);
    cursor: pointer;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
}

.btn-property-action:hover {
    background-color: #021E38;
    border-color: #021E38;
    color: #ffffff;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.12);
}

.btn-property-action .action-icon {
    width: 20px;
    height: 20px;
    -o-object-fit: contain;
       object-fit: contain;
}

/* Contenido - Descripción, Características, Ubicación */
.property-content {
    padding: 0;
}

.property-content .section-title {
    font-family: 'Noto Serif', serif;
    color: #304C5E;
    font-size: 1.5rem;
    margin-bottom: 1.5rem;
    font-weight: 600;
}

/* Property Detail Content Titles */
.property-content .content-section-title {
    font-family: 'Noto Serif', serif;
    font-weight: 400;
    font-size: 24px;
    text-align: left;
    color: #304C5E;
    margin-bottom: 1rem;
}

/* Description */
.property-content .property-description {
    margin-bottom: 4rem;
}

.property-description .description-text {
    color: #021E38;
    line-height: 1.5rem;
    font-size: 1rem;
    font-family: 'Noto Sans';
}

/* Features - Características en dos columnas */
/* Sobrescribir display flex de la clase genérica */
.property-content .property-features {
    display: block;
    margin-bottom: 4rem;
}

.property-features .features-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
    margin-top: 1rem;
}

.property-features .feature-item {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    color: #304C5E;
    font-size: 0.95rem;
}

.property-features .feature-item i {
    font-size: 1.2rem;
    color: #304C5E;
    flex-shrink: 0;
}

/* Responsive - Features en dos columnas en móvil */
@media (max-width: 768px) {
    .property-features .features-grid {
        grid-template-columns: 1fr 1fr;
    }
}

/* Technical Details */
.property-technical-details .detail-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0.75rem;
    background-color: #f8f9fa;
    border-radius: 6px;
}

.property-technical-details .detail-label {
    font-weight: 500;
    color: #6c757d;
    font-size: 0.9rem;
}

.property-technical-details .detail-value {
    font-weight: 600;
    color: #304C5E;
    font-size: 0.95rem;
}

/* Floor Plan */
.floor-plan-wrapper {
    background-color: #f8f9fa;
    border-radius: 8px;
    padding: 2rem;
    text-align: center;
}

.floor-plan-wrapper img {
    max-width: 100%;
    height: auto;
    border-radius: 4px;
}

/* Energy Rating */
.energy-info {
    padding: 2rem;
}

.energy-info h4 {
    font-family: 'Noto Serif', serif;
    color: #304C5E;
    font-size: 1.25rem;
    margin-bottom: 1rem;
}

.energy-info .rating-badge {
    display: inline-block;
    padding: 1rem 2rem;
    border-radius: 8px;
    font-size: 2rem;
    font-weight: 700;
    color: white;
    text-transform: uppercase;
}

.energy-info .rating-badge.rating-a { background-color: #22c55e; }
.energy-info .rating-badge.rating-b { background-color: #84cc16; }
.energy-info .rating-badge.rating-c { background-color: #eab308; }
.energy-info .rating-badge.rating-d { background-color: #f97316; }
.energy-info .rating-badge.rating-e { background-color: #ef4444; }
.energy-info .rating-badge.rating-f { background-color: #dc2626; }
.energy-info .rating-badge.rating-g { background-color: #991b1b; }

/* Location Map */
.property-location .property-map {
    width: 100%;
    height: 400px;
    border-radius: 8px;
    overflow: hidden;
    border: 1px solid #dee2e6;
}

/* Main Photo */
.property-main-photo {
    position: relative;
    border-radius: 8px;
    overflow: hidden;
}

.property-main-photo img {
    aspect-ratio: 4/3;
    -o-object-fit: cover;
       object-fit: cover;
}

/* Side Images (derecha) */
.property-side-images .side-image-wrapper {
    border-radius: 8px;
    overflow: hidden;
}

.property-side-images .side-image-wrapper img {
    aspect-ratio: 3/2;
    -o-object-fit: cover;
       object-fit: cover;
}

.property-side-images .image-counter {
    position: absolute;
    bottom: 1rem;
    right: 1rem;
    background-color: rgba(0, 0, 0, 0.7);
    color: white;
    padding: 0.5rem 1rem;
    border-radius: 4px;
    font-size: 0.9rem;
    font-weight: 500;
}

/* =============================================
   Property Detail Images (Show Page)
   Diseño: Imagen principal izq (855x640) + 2 laterales der (601x304)
   ============================================= */

/* Imagen Principal - Columna Izquierda (855x640) */
.property-main-image {
    width: 100%;
    border-radius: 8px;
    overflow: hidden;
}

.property-main-image .main-img {
    width: 100%;
    height: 640px;
    -o-object-fit: cover;
       object-fit: cover;
    display: block;
}

/* Slider de Imágenes para Mobile */
.property-mobile-slider {
    width: 100vw;
    margin-left: calc(-1 * (100vw - 100%) / 2);
    border-radius: 0;
    overflow: hidden;
    margin-bottom: 0 !important;
}

.property-detail-section {
    padding-top: 0 !important;
}

.property-detail-swiper {
    width: 100%;
    height: 306px;
}

.property-detail-swiper .swiper-slide {
    width: 100%;
    height: 306px;
}

.property-detail-swiper .mobile-slider-img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    display: block;
}

.property-detail-swiper .swiper-button-next,
.property-detail-swiper .swiper-button-prev {
    color: #374151;
    background: white;
    width: 48px;
    height: 48px;
    border-radius: 50%;
    border: 1px solid #E5E7EB;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
}

.property-detail-swiper .swiper-button-next::after,
.property-detail-swiper .swiper-button-prev::after {
    font-size: 24px;
    font-weight: 900;
    transform: scale(0.5);
}

.property-detail-swiper .swiper-button-next svg,
.property-detail-swiper .swiper-button-prev svg {
    width: 50%;
    height: 50%;
    stroke-width: 2.5;
}

.property-detail-swiper .swiper-pagination-bullet {
    background-color: white;
    opacity: 0.7;
}

.property-detail-swiper .swiper-pagination-bullet-active {
    opacity: 1;
    background-color: var(--color-primary);
}

/* Imágenes Laterales - Columna Derecha (601x304 cada una) */
.property-side-images {
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: var(--spacing-l);
}

.property-side-images .side-img-wrapper {
    width: 100%;
    border-radius: 8px;
    overflow: hidden;
}

.property-side-images .side-img {
    width: 100%;
    height: 304px;
    -o-object-fit: cover;
       object-fit: cover;
    display: block;
}

/* Overlay con botones sobre la segunda imagen lateral */
.property-side-images .side-img-overlay {
    position: absolute;
    bottom: 24px;
    right: 24px;
    display: flex;
    align-items: flex-end;
    gap: 12px;
}

.property-side-images .overlay-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background-color: white;
    color: #304C5E;
    padding: 10px 16px;
    border-radius: 6px;
    font-family: 'Noto Sans', sans-serif;
    font-size: 16px;
    font-weight: 500;
    text-decoration: none;
    border: none;
    cursor: pointer;
    transition: all 0.3s ease;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
}

.property-side-images .overlay-btn:hover {
    background-color: white;
    color: #304C5E;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
}

.property-side-images .overlay-btn i {
    font-size: 1rem;
}

/* Responsive para imágenes */
@media (max-width: 991px) {
    .property-main-image .main-img {
        height: 450px;
    }

    .property-side-images .side-img {
        height: 250px;
    }
}

@media (max-width: 576px) {
    .property-main-image .main-img {
        height: 300px;
    }

    .property-side-images .side-img {
        height: 200px;
    }

    .property-side-images .side-img-overlay {
        padding: 15px;
        gap: var(--spacing-xs);
    }

    .property-side-images .overlay-btn {
        padding: 8px 12px;
        font-size: 0.85rem;
    }
}

/* Property Detail Section - Layout */
.property-detail-section .col-lg-5 {
    display: flex;
    flex-direction: column;
}

/* Contact Sidebar - Diseño Minimalista */
.property-contact-sidebar {
    position: relative;
    flex-grow: 1;
    overflow: visible;
}

/* Fondo azul que ocupa exactamente el alto de la sidebar (igualada por flexbox a la columna izquierda) */
.property-contact-sidebar::before {
    content: '';
    position: absolute;
    inset: 0;
    background-color: #3D5467;
    z-index: 0;
}

.property-contact-sidebar .contact-card {
    background-color: #3D5467;
    color: white;
    border-radius: 0;
    padding: 3rem;
    box-shadow: none;
    position: sticky;
    top: calc(77px + 1rem); /* Altura del navbar sticky (77px) + margen */
    z-index: 1;
}

.property-contact-sidebar .contact-header {
    margin-bottom: 2.5rem;
    padding-bottom: 0;
    border-bottom: none;
}

.property-contact-sidebar .property-id {
    color: rgba(255, 255, 255, 0.8);
    font-family: 'Noto Sans', sans-serif;
    font-size: 14px;
    font-weight: 400;
}

.property-contact-sidebar .contact-price {
    font-family: 'Noto Serif', serif;
    font-size: 16px;
    font-weight: 400;
    color: white;
    margin-bottom: 0.5rem;
}

.property-contact-sidebar .property-type-location {
    color: rgba(255, 255, 255, 0.9);
    font-family: 'Noto Serif', serif;
    font-size: 16px;
    font-weight: 400;
}

.property-contact-sidebar .contact-methods {
    margin-bottom: 2.5rem;
}

.property-contact-sidebar .contact-method-item {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0;
    background-color: transparent;
    border-radius: 0;
    color: white;
    text-decoration: none;
    margin-bottom: 1rem;
    font-family: 'Noto Serif', serif;
    font-size: 16px;
    transition: opacity 0.3s ease;
}

.property-contact-sidebar .contact-method-item:hover {
    background-color: transparent;
    transform: none;
    opacity: 0.8;
}

.property-contact-sidebar .contact-method-item i {
    font-size: 16px;
    color: white;
}

.property-contact-sidebar .btn-request-info {
    background-color: var(--color-primary);
    color: #304C5E;
    border: none;
    padding: 1rem 1.5rem;
    font-family: 'Noto Serif', serif;
    font-weight: 400;
    font-size: 16px;
    border-radius: 0;
    transition: all 0.3s ease;
    border-radius: 4px;
}

.property-contact-sidebar .btn-request-info:hover {
    background-color: white;
    color: #304C5E;
    transform: none;
    box-shadow: none;
}

/* Backdrop difuminado para Mobile */
.contact-fab-backdrop {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(0, 0, 0, 0.6);
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
    z-index: 1040;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease, visibility 0.3s ease;
}

.contact-fab-backdrop.active {
    opacity: 1;
    visibility: visible;
}

/* Botón Flotante Principal (+ o X) */
.property-contact-fab {
    position: fixed;
    bottom: 24px;
    right: 20px;
    width: 56px;
    height: 56px;
    background-color: #304C5E;
    border: none;
    border-radius: 50%;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1050;
    transition: all 0.3s ease;
}

.property-contact-fab.active {
    background-color: #2D3E50;
}

.property-contact-fab .fab-main-icon {
    width: 24px;
    height: 24px;
    transition: transform 0.3s ease;
}

/* Menú de botones flotantes */
.contact-fab-menu {
    position: fixed;
    bottom: 96px; /* 24px margin + 56px button + 16px gap */
    right: 24px;
    z-index: 1045;
    display: flex;
    flex-direction: column-reverse; /* Apila de abajo hacia arriba */
    gap: var(--spacing-s);
    pointer-events: none;
    align-items: flex-end; /* Alinea los íconos a la derecha */
    width: auto;
}

.contact-fab-menu.active {
    pointer-events: auto;
}

/* Items del menú flotante */
.contact-fab-item {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 12px;
    opacity: 0;
    transform: translateY(20px) scale(0.8);
    transition: all 0.3s ease;
    text-decoration: none;
    border: none;
    background: none;
    cursor: pointer;
    flex-direction: row-reverse; /* Botones a la derecha, texto a la izquierda */
    position: relative;
    padding: 0;
}

.contact-fab-menu.active .contact-fab-item {
    opacity: 1;
    transform: translateY(0) scale(1);
}

/* Animación escalonada de los items */
.contact-fab-menu.active .contact-fab-item:nth-child(1) {
    transition-delay: 0.05s;
}

.contact-fab-menu.active .contact-fab-item:nth-child(2) {
    transition-delay: 0.1s;
}

.contact-fab-menu.active .contact-fab-item:nth-child(3) {
    transition-delay: 0.15s;
}

.contact-fab-menu.active .contact-fab-item:nth-child(4) {
    transition-delay: 0.2s;
}

/* Label del botón */
.contact-fab-label {
    background-color: #304C5E;
    color: white;
    padding: var(--spacing-xs) var(--spacing-s);
    border-radius: 4px;
    font-family: 'Noto Sans', sans-serif;
    font-size: 14px;
    font-weight: 500;
    white-space: nowrap;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
    min-width: 100px;
    text-align: center;
    display: inline-block;
}

/* Ícono circular del botón */
.contact-fab-icon-wrapper {
    width: 48px;
    height: 48px;
    background-color: #304C5E;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
    flex-shrink: 0;
    transition: all 0.3s ease;
    position: relative;
    margin-left: 0; /* Asegura que no haya margen adicional */
}

.contact-fab-icon {
    width: 24px;
    height: 24px;
}

.contact-fab-item:hover .contact-fab-icon-wrapper {
    background-color: #2D3E50;
    transform: scale(1.1);
}

.contact-fab-item:hover .contact-fab-label {
    background-color: #2D3E50;
}

/* Responsive - Property Detail */
@media (max-width: 992px) {
    .property-gallery .row {
        flex-direction: column;
    }

    .property-gallery .thumbnails-grid {
        flex-direction: row;
        margin-top: 0.5rem;
    }

    .property-gallery .thumbnail-wrapper {
        aspect-ratio: 1/1;
    }

    .property-header .property-title {
        font-size: 1.5rem;
    }

    .property-header .property-price-main {
        font-size: 1.5rem;
    }

    .property-contact-sidebar {
        margin-top: 3rem;
        height: auto;
    }

    .property-contact-sidebar .contact-card {
        position: static;
    }
}

@media (max-width: 768px) {
    .property-quick-stats .stats-content {
        flex-wrap: wrap;
    }

    .property-quick-stats .stat-item {
        flex: 0 0 calc(50% - 0.5rem); /* 2 elementos por fila */
        width: calc(50% - 0.5rem);
        justify-content: flex-start;
    }

    .property-action-buttons {
        flex-direction: column;
    }

    .btn-property-action {
        padding: 12px;
        width: 100%;
        height: 56px;
    }

    .property-content .section-title {
        font-size: 1.25rem;
    }

    .property-technical-details .detail-row {
        flex-direction: column;
        align-items: flex-start;
        gap: 0.25rem;
    }

    .property-contact-sidebar .contact-price {
        font-size: 1.5rem;
    }

    .property-location .property-map {
        height: 300px;
    }

    .property-contact-fab {
        bottom: 90px;
    }

    .contact-fab-menu {
        bottom: 160px;
    }
}

/* =============================================
   OFFCANVAS FILTROS AVANZADOS
   ============================================= */

/* Ancho personalizado para offcanvas de filtros */
.filters-offcanvas.offcanvas-end {
    width: 720px;
    max-width: 90vw;
    display: flex;
    flex-direction: column;
}

@media (max-width: 767px) {
    .filters-offcanvas.offcanvas-end {
        width: 100vw;
        max-width: 100vw;
    }
}

/* Header del offcanvas */
.filters-offcanvas-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 1rem 1.5rem;
    flex-shrink: 0;
}

.filters-offcanvas-title {
    font-family: 'Noto Serif', sans-serif;
    font-size: 1.25rem;
    font-weight: 500;
    color: #304C5E;
    margin: 0;
}

/* Divider dorado */
.filters-offcanvas-divider {
    height: 2px;
    background-color: var(--color-primary);
    flex-shrink: 0;
}

/* Body del offcanvas */
.filters-offcanvas-body {
    flex: 1;
    overflow-y: auto;
    padding: 1.5rem;
}

.filters-form-content {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
    padding: 0 7rem;
}

/* Grupo de filtro */
.filter-group {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

/* Label de filtro */
.filter-label {
    font-family: 'Noto Serif', sans-serif;
    font-size: 1.25rem;
    font-weight: 500;
    color: #304C5E;
    margin-bottom: 0.25rem;
}

/* Select/Dropdown de filtro */
.filter-select {
    width: 100%;
    padding: 0.75rem 1rem;
    border: 1px solid #CBD5E0;
    border-radius: 8px;
    background-color: #ffffff;
    font-family: 'Noto Sans', sans-serif;
    font-size: 1rem;
    font-weight: 400;
    color: #021E38;
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.filter-select:hover {
    border-color: #A0AEC0;
}

.filter-select:focus {
    outline: none;
    border-color: var(--color-primary);
}

/* Grupo de botones segmentados */
.filter-btn-group {
    display: flex;
    border: 1px solid #CBD5E0;
    border-radius: 8px;
    overflow: hidden;
    font-family: 'Noto Sans', sans-serif;
    font-size: 1rem;
}

/* Ocultar el input radio pero mantenerlo accesible */
.filter-btn-group .btn-check {
    position: absolute;
    clip: rect(0, 0, 0, 0);
    pointer-events: none;
}

.filter-btn {
    flex: 1;
    padding: 0.625rem 0.5rem;
    border: none;
    border-right: 1px solid #CBD5E0;
    background-color: #ffffff;
    color: #021E38;
    font-size: 0.875rem;
    font-weight: 500;
    cursor: pointer;
    text-align: center;
    transition: all 0.2s ease;
}

.filter-btn:last-child {
    border-right: none;
}

.filter-btn-any {
    padding: 0.625rem 2rem;
    flex: 1.5;
}

.filter-btn:hover {
    background-color: #F7FAFC;
}

.btn-check:checked + .filter-btn {
    background-color: #304C5E;
    color: #ffffff;
}

/* Grid de características */
.filter-features-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.75rem;
}

.filter-feature-item {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.filter-checkbox {
    width: 18px;
    height: 18px;
    border: 1px solid #CBD5E0;
    border-radius: 4px;
    cursor: pointer;
    accent-color: var(--color-primary);
}

.filter-feature-label {
    font-size: 1rem;
    font-family: 'Noto Sans';
    color: #021E38;
    cursor: pointer;
}

/* Footer del offcanvas */
.filters-offcanvas-footer {
    flex-shrink: 0;
    padding-bottom: 0 1.5rem;
}

.filters-footer-buttons {
    display: flex;
    gap: 1rem;
    padding: 1.5rem 8.5rem;
    justify-content: space-between;
}

.btn-filter-reset {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    padding: 0.75rem 1.5rem;
    border: 1px solid #304C5E;
    border-radius: 8px;
    background-color: #ffffff;
    color: #304C5E;
    font-size: 0.95rem;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.2s ease;
}

.btn-filter-reset:hover {
    background-color: #F7FAFC;
}

.btn-filter-reset i {
    font-size: 0.875rem;
}

.btn-filter-search {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    padding: 0.75rem 2rem;
    border: none;
    border-radius: 8px;
    background-color: #304C5E;
    color: #ffffff;
    font-size: 0.95rem;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.2s ease;
}

.btn-filter-search:hover {
    background-color: var(--color-primary);
    color: var(--color-text-dark);
}

.btn-filter-search i {
    font-size: 0.875rem;
}

/* Responsive para filtros offcanvas - reducir padding y gap progresivamente */
@media (max-width: 991px) {
    .filters-form-content {
        padding: 0 5rem;
        gap: 1.25rem;
    }

    .filters-footer-buttons {
        gap: 0.75rem;
        padding: 1.25rem 6.5rem;
    }
}

@media (max-width: 767px) {
    .filters-form-content {
        padding: 0 3rem;
        gap: 1rem;
    }

    .filters-footer-buttons {
        gap: 0.5rem;
        padding: 1rem 4.5rem;
    }
}

@media (max-width: 575px) {
    .filters-form-content {
        padding: 0 1rem;
        gap: 0.75rem;
    }

    .filters-footer-buttons {
        gap: 0.25rem;
        padding: 0.75rem 2.5rem;
    }
}

@media (max-width: 400px) {
    .filters-offcanvas-body {
        padding: 1rem;
    }

    .filters-form-content {
        padding: 0;
        gap: 0.5rem;
    }

    .filters-footer-buttons {
        gap: 0;
        padding: 0.5rem 1rem;
    }

    .btn-filter-reset,
    .btn-filter-search {
        padding: 0.625rem 1rem;
        font-size: 0.875rem;
    }
}

/* =============================================
   PROPERTY GRID CON MAPA (SPLIT VIEW)
   ============================================= */

.property-grid-wrapper {
    display: flex;
    gap: 2rem;
    position: relative;
}

.property-list-container {
    flex: 1;
    max-width: 100%; /* Full width cuando el mapa no está visible */
    transition: all 0.3s ease;
}

/* Cuando el mapa está visible, limitar el ancho del listado */
.property-grid-wrapper.map-visible .property-list-container {
    max-width: 728px;
}

.property-map-container {
    position: sticky;
    top: 100px; /* Altura del navbar + margen */
    height: calc(100vh - 120px);
    width: 0;
    min-width: 0;
    overflow: hidden;
    transition: width 0.3s ease, min-width 0.3s ease;
    flex-shrink: 0;
}

.property-map-container.active {
    width: 50%;
    min-width: 500px;
}

#map {
    width: 100%;
    height: 100%;
}

/* Cambiar grid de 3 a 2 columnas cuando mapa está visible */
.property-grid-wrapper.map-visible .property-grid-col {
    flex: 0 0 auto;
    width: 50%;
}

/* Toggle del mapa estilo iOS */
.map-toggle-switch .form-check-input {
    background-color: #dee2e6;
    border: none;
    transition: background-color 0.3s ease;
}

.map-toggle-switch .form-check-input:checked {
    background-color: #304C5E;
    border-color: #304C5E;
    background-image: url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%27-4 -4 8 8%27%3e%3ccircle r=%273%27 fill=%27%23D4AF37%27/%3e%3c/svg%3e");
}

.map-toggle-switch .form-check-label {
    font-weight: 500;
    color: #495057;
}

/* Responsive */
@media (max-width: 1200px) {
    .property-map-container.active {
        width: 45%;
        min-width: 400px;
    }
}

@media (max-width: 992px) {
    .property-grid-wrapper {
        flex-direction: column;
    }

    .property-map-container.active {
        position: relative;
        top: 0;
        width: 100%;
        min-width: 100%;
        max-width: 100%;
        height: 500px;
        order: -1; /* Mapa arriba en móvil */
    }

    .property-grid-wrapper.map-visible .property-grid-col {
        width: 50%;
    }
}

@media (max-width: 768px) {
    .property-grid-section {
        padding: 0 !important;
    }

    .property-grid-section > .container {
        padding: 0 !important;
        max-width: 100% !important;
    }

    .property-list-container {
        padding-left: 24px;
        padding-right: 24px;
    }

    .property-grid-wrapper.map-visible .property-grid-col {
        width: 100%;
    }

    .property-map-container.active {
        height: calc(100vh - 240px);
        min-width: 100%;
        max-width: 100%;
    }
}

/* =============================================
   Cookie Consent Customization
   ============================================= */
:root {
    --cc-bg: #fff;
    --cc-text: #2C2C2C;
    --cc-btn-primary-bg: #F1D27A;
    --cc-btn-primary-text: #fff;
    --cc-btn-primary-hover-bg: #c49842;
    --cc-btn-secondary-bg: #f3f4f6;
    --cc-btn-secondary-text: #2C2C2C;
    --cc-btn-secondary-hover-bg: #e5e7eb;
    --cc-separator: #E5E5E5;
    --cc-toggle-bg-off: #9ca3af;
    --cc-toggle-bg-on: #F1D27A;
    --cc-toggle-bg-readonly: #d1d5db;
    --cc-toggle-knob-bg: #fff;
    --cc-cookie-category-block-bg: #f9fafb;
    --cc-cookie-category-block-bg-hover: #f3f4f6;
    --cc-section-border: #E5E5E5;
    --cc-cookie-table-border: #E5E5E5;
    --cc-overlay-bg: rgba(0, 0, 0, 0.7);
    --cc-webkit-scrollbar-bg: #f1f1f1;
    --cc-webkit-scrollbar-bg-hover: #e5e5e5;
}

/* Customize buttons */
#cc-main .cm__btn {
    font-family: 'Noto Sans', sans-serif;
    font-weight: 500;
    border-radius: 6px;
    padding: 0.75rem 1.5rem;
    transition: all 0.2s ease;
}

#cc-main .cm__btn.cm__btn--primary {
    background-color: var(--cc-btn-primary-bg);
    border-color: var(--cc-btn-primary-bg);
}

#cc-main .cm__btn.cm__btn--primary:hover {
    background-color: var(--cc-btn-primary-hover-bg);
    border-color: var(--cc-btn-primary-hover-bg);
    transform: translateY(-1px);
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}

/* Customize modal */
#cc-main .cm {
    font-family: 'Noto Sans', sans-serif;
    border-radius: 8px;
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.15);
}

#cc-main .cm__title {
    font-family: 'Noto Serif', Georgia, serif;
    font-weight: 600;
    color: var(--color-text-dark);
}

#cc-main .cm__desc,
#cc-main .pm__section-desc {
    font-size: 0.95rem;
    line-height: 1.6;
    color: var(--color-text-gray);
}

/* Customize links */
#cc-main a {
    color: var(--cc-btn-primary-bg);
    text-decoration: underline;
}

#cc-main a:hover {
    color: var(--cc-btn-primary-hover-bg);
}

/* Badge for "Always Active" */
#cc-main .pm__badge {
    background-color: #F1D27A;
    color: #fff;
    font-size: 0.75rem;
    padding: 0.25rem 0.5rem;
    border-radius: 4px;
    font-weight: 500;
}

/* Responsive adjustments */
@media (max-width: 768px) {
    #cc-main .cm {
        max-width: 95%;
        margin: 1rem;
    }

    #cc-main .cm__btn {
        padding: 0.625rem 1.25rem;
        font-size: 0.9rem;
    }
}

/* =============================================
   NO RESULTS STATE
   ============================================= */

.no-results-container {
    max-width: 474px;
    margin: 3rem auto;
    text-align: center;
    padding: 3rem 2rem;
}

.no-results-icon {
    margin-bottom: 1.5rem;
    display: flex;
    justify-content: center;
    align-items: center;
}

.no-results-icon svg {
    width: 40px;
    height: 56px;
}

.no-results-title {
    font-size: 1.125rem;
    font-weight: 500;
    color: #2D3E50;
    margin-bottom: 1rem;
    line-height: 1.5;
    max-width: 360px;
    margin-left: auto;
    margin-right: auto;
}

.no-results-text {
    font-size: 0.9375rem;
    color: #6c757d;
    margin-bottom: 2rem;
    line-height: 1.5;
}

.no-results-buttons {
    display: flex;
    gap: 1rem;
    justify-content: center;
    margin-bottom: 1rem;
}

.btn-no-results-alert {
    background-color: #F1D27A;
    color: #2D3E50;
    border: none;
    padding: 0.75rem 1.25rem;
    font-size: 0.875rem;
    font-weight: 500;
    border-radius: 6px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: all 0.2s ease;
    white-space: nowrap;
}

.btn-no-results-alert:hover {
    background-color: white;
    color: #2D3E50;
    box-shadow: 0 2px 8px rgba(212, 168, 83, 0.25);
}

.btn-no-results-reset {
    background-color: #304C5E;
    color: white;
    border: none;
    padding: 0.75rem 1.25rem;
    font-size: 0.875rem;
    font-weight: 500;
    border-radius: 6px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: all 0.2s ease;
    white-space: nowrap;
}

.btn-no-results-reset:hover {
    background-color: var(--color-primary);
    color: var(--color-text-dark);
    box-shadow: 0 2px 8px rgba(54, 75, 95, 0.25);
}

.btn-no-results-contact {
    background-color: transparent;
    color: #2D3E50;
    border: 1.5px solid #2D3E50;
    padding: 0.75rem 2rem;
    font-size: 0.875rem;
    font-weight: 500;
    border-radius: 6px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: all 0.2s ease;
    margin-top: 0.5rem;
}

.btn-no-results-contact:hover {
    background-color: #2D3E50;
    color: white;
    box-shadow: 0 2px 8px rgba(45, 62, 80, 0.15);
}

/* Responsive adjustments for no results */
@media (max-width: 768px) {
    .no-results-container {
        margin: 2rem 1rem;
        padding: 2rem 1.5rem;
    }

    .no-results-title {
        font-size: 1rem;
    }

    .no-results-text {
        font-size: 0.875rem;
    }

    .no-results-buttons {
        flex-direction: column;
        gap: 0.75rem;
    }

    .btn-no-results-alert,
    .btn-no-results-reset,
    .btn-no-results-contact {
        width: 100%;
        padding: 0.875rem 1.25rem;
    }
}

/* =============================================
   Property Gallery Modal - Fullscreen con Peek
   ============================================= */

.gallery-modal-content {
    background-color: white;
    border-radius: 0;
    border: none;
    height: 100vh;
}

/* Header con botón cerrar */
.gallery-modal-header {
    display: flex;
    justify-content: flex-end;
    padding: 1rem 1rem 0.5rem;
}

.gallery-modal-header .btn-close {
    width: 24px;
    height: 24px;
    z-index: 1050;
}

/* Línea separadora dorada */
.gallery-modal-divider {
    height: 2px;
    background-color: #C5A05E;
    margin: 0 0rem 1.5rem;
}

/* Body del modal */
.gallery-modal-body {
    padding: 0;
    height: calc(100vh - 80px);
    display: flex;
    align-items: center;
    overflow: hidden;
}

/* Swiper de galería */
.gallery-swiper {
    position: relative;
    width: 100%;
    height: 100%;
    overflow: hidden;
}

.gallery-swiper .swiper-wrapper {
    align-items: center;
}

.gallery-swiper .swiper-slide {
    width: 80%;
    max-width: 1200px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.gallery-slide-image {
    width: 100%;
    height: auto;
    max-height: calc(100vh - 260px);
    -o-object-fit: contain;
       object-fit: contain;
}

/* Botones de navegación (iguales que property-swiper) */
.gallery-swiper .swiper-button-next,
.gallery-swiper .swiper-button-prev {
    color: #374151;
    background: white;
    width: 48px;
    height: 48px;
    border-radius: 50%;
    border: 1px solid #E5E7EB;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
}

.gallery-swiper .swiper-button-next::after,
.gallery-swiper .swiper-button-prev::after {
    font-size: 24px;
    font-weight: 900;
    transform: scale(0.5);
}

.gallery-swiper .swiper-button-next svg,
.gallery-swiper .swiper-button-prev svg {
    width: 50%;
    height: 50%;
    stroke-width: 2.5;
}

.gallery-swiper .swiper-button-next {
    right: 20px;
}

.gallery-swiper .swiper-button-prev {
    left: 20px;
}

/* Contador de imágenes (abajo a la derecha) */
.gallery-image-counter {
    position: fixed;
    bottom: 30px;
    right: 30px;
    background-color: rgba(0, 0, 0, 0.7);
    color: white;
    padding: var(--spacing-xs) var(--spacing-s);
    border-radius: 20px;
    font-size: 14px;
    font-weight: 500;
    z-index: 1060;
}

.gallery-image-counter .gallery-current-number {
    font-weight: 600;
}

/* Responsive */
@media (max-width: 768px) {
    .gallery-swiper .swiper-slide {
        width: 100%;
    }

    .gallery-modal-body {
        height: calc(100vh - 60px);
    }

    .gallery-slide-image {
        max-height: calc(100vh - 140px);
    }

    .gallery-swiper .swiper-button-next,
    .gallery-swiper .swiper-button-prev {
        width: 24px;
        height: 24px;
    }

    .gallery-swiper .swiper-button-next::after,
    .gallery-swiper .swiper-button-prev::after {
        font-size: 20px;
    }

    .gallery-swiper .swiper-button-next {
        right: 10px;
    }

    .gallery-swiper .swiper-button-prev {
        left: 10px;
    }

    .gallery-image-counter {
        bottom: 15px;
        right: 15px;
        padding: 6px 12px;
        font-size: 12px;
    }
}

/* =============================================
   Promotions Section (Promociones / Developments)
   ============================================= */

/* Hero Banner */
.promotions-hero-section {
    position: relative;
    height: 30vh;
    background-image: url(/build/images/Obra_nueva_slide.1c24018f.png);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    display: flex;
    align-items: center;
    justify-content: center;
}

.promotions-hero-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(to bottom, rgba(0,0,0,0.3), rgba(0,0,0,0.5));
}

.promotions-hero-content {
    position: relative;
    z-index: 1;
    text-align: center;
    color: white;
}

.promotions-hero-content h1 {
    font-family: 'Noto Serif', serif;
    font-size: 3.5rem;
    font-weight: 400;
    margin-bottom: 0;
    text-shadow: 0 2px 4px rgba(0,0,0,0.3);
}

/* Promotions Section Content */
.promotions-section {
    padding: 5rem 0;
    background-color: white;
}

.promotions-header {
    text-align: center;
    margin-bottom: 4rem;
}

.promotions-header .section-title {
    margin-bottom: 1rem;
}

.promotions-header .section-subtitle {
    max-width: 600px;
    margin: 0 auto;
}

/* Promotions Search Box */
.promotions-search-box {
    background: var(--color-search-bg);
    padding: 1rem 2rem;
    border-radius: 6px;
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.2);
    max-width: 970px;
    margin: 0 auto 2rem;
    position: relative;
    z-index: 10;
}

/* Promotions Grid - 2 columnas iguales */
.promotions-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 2.5rem;
    margin-top: 4rem;
}

/* Promotion Card Link */
.promotion-card-link {
    text-decoration: none;
    color: inherit;
    display: block;
}

.promotion-card-link:hover {
    text-decoration: none;
    color: inherit;
}

/* Promotion Card */
.promotion-card {
    background: white;
    overflow: hidden;
    cursor: pointer;
}

.promotion-card-image {
    width: 100%;
    aspect-ratio: 4 / 3;
    overflow: hidden;
}

.promotion-card-image img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    transition: transform 0.3s ease;
}

.promotion-card:hover .promotion-card-image img {
    transform: scale(1.05);
}

.promotion-card-body {
    padding: 1.25rem;
    background-color: #f3f3f3;
}

.promotion-location {
    font-family: 'Noto Sans', sans-serif;
    font-size: 20px;
    color: var(--color-text-gray);
    margin-bottom: 0.25rem;
    font-weight: 400;
}

.promotion-title {
    font-family: 'Noto Serif', Georgia, serif;
    font-size: 32px;
    font-weight: 500;
    color: var(--color-text-dark);
    margin-bottom: 0.5rem;
    line-height: 1.3;
}

.promotion-price {
    font-family: 'Noto Serif', sans-serif;
    font-size: 20px;
    font-weight: 500;
    color: var(--color-text-dark);
}

/* Promotion Card Placeholder */
.promotion-card-placeholder {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #f5f5f5;
}

.promotion-card-placeholder img {
    max-width: 150px;
    opacity: 0.5;
}

/* Promotions Pagination */
.promotions-pagination {
    display: flex;
    justify-content: center;
}

.promotions-pagination .pagination {
    gap: 0.5rem;
    justify-content: center;
}

.promotions-pagination .page-item {
    margin: 0;
}

.promotions-pagination .page-link {
    font-family: 'Noto Sans', sans-serif;
    color: #304C5E;
    background-color: transparent;
    border: none;
    padding: 0.5rem 0.875rem;
    border-radius: 6px;
    font-weight: 500;
    font-size: 1.125rem;
    transition: all 0.2s ease;
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 48px;
    min-height: 48px;
}

.promotions-pagination .page-link:hover {
    background-color: rgba(54, 75, 95, 0.1);
    color: #304C5E;
}

.promotions-pagination .page-item.active .page-link {
    background-color: #304C5E;
    color: white;
}

.promotions-pagination .page-item.disabled .page-link {
    color: #CBD5E0;
    background-color: transparent;
    cursor: not-allowed;
    opacity: 0.5;
}

.promotions-pagination .page-link img {
    width: 32px;
    height: 32px;
}

/* Responsive - Promotions Pagination */
@media (max-width: 768px) {
    .promotions-pagination .pagination {
        gap: 0.125rem;
        flex-wrap: nowrap;
        max-width: 100%;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
        -ms-overflow-style: none;
    }

    .promotions-pagination .pagination::-webkit-scrollbar {
        display: none;
    }

    .promotions-pagination .page-link {
        font-size: 0.75rem;
        padding: 0.25rem 0.5rem;
        min-width: 36px;
        min-height: 36px;
        flex-shrink: 0;
    }

    .promotions-pagination .page-link img {
        width: 20px;
        height: 20px;
    }
}

/* Responsive */
@media (max-width: 991px) {
    .promotions-hero-content h1 {
        font-size: 2.5rem;
    }

    .promotions-grid {
        gap: 2rem;
    }

    .promotion-title {
        font-size: 1.25rem;
    }
}

@media (max-width: 768px) {
    .promotions-hero-section {
        height: 300px;
    }

    .promotions-hero-content h1 {
        font-size: 2rem;
    }

    .promotions-section {
        padding: 3rem 0;
    }

    .promotions-grid {
        grid-template-columns: 1fr;
        gap: 2rem;
        margin-top: 2rem;
    }
}

/* ============================================
   Development External URL Iframe
   ============================================ */
.development-iframe-container {
    width: 100%;
    height: calc(100vh - 180px);
    min-height: 600px;
    background-color: #f5f5f5;
    position: relative;
}

.development-iframe-container.development-iframe-fullscreen {
    height: calc(100vh - 76px); /* Solo altura del navbar */
    min-height: auto;
}

/* Ocultar scroll del body cuando hay iframe fullscreen */
body:has(.development-iframe-fullscreen) {
    overflow: hidden;
}

.development-iframe {
    width: 100%;
    height: 100%;
    border: none;
    display: block;
}

@media (max-width: 768px) {
    .development-iframe-container {
        height: calc(100vh - 150px);
        min-height: 500px;
    }

    .development-iframe-container.development-iframe-fullscreen {
        height: calc(100vh - 60px); /* Navbar móvil más pequeño */
    }
}

/* =============================================
   LOCATION AUTOCOMPLETE
   ============================================= */

.location-autocomplete-wrapper {
    position: relative;
    flex: 1;
}

.location-autocomplete-wrapper-mobile {
    flex: 1;
}

.location-autocomplete {
    width: 100%;
}

.location-autocomplete-results {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    background: white;
    border: none;
    border-top: 1px solid #E5E5E5;
    border-radius: 0 0 4px 4px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
    max-height: 200px;
    overflow-y: auto;
    z-index: 1050;
    display: none;
}

.location-autocomplete-results.show {
    display: block;
}

.location-autocomplete-item {
    padding: 0.75rem 1rem;
    cursor: pointer;
    font-family: 'Noto Sans', sans-serif;
    font-size: 0.95rem;
    color: var(--color-text-dark);
    transition: background 0.2s ease;
    background: white;
}

.location-autocomplete-item:hover,
.location-autocomplete-item.active {
    background: #f8f9fa;
}

.location-autocomplete-item.selected {
    background: var(--color-beige);
    font-weight: 500;
}

.location-autocomplete-item mark {
    background-color: transparent;
    color: var(--color-primary);
    padding: 0;
    font-weight: 600;
}

.location-autocomplete-loading {
    padding: 0.75rem 1rem;
    font-family: 'Noto Sans', sans-serif;
    font-size: 0.95rem;
    color: #6c757d;
    background: white;
}

.location-autocomplete-no-results {
    padding: 0.75rem 1rem;
    font-family: 'Noto Sans', sans-serif;
    font-size: 0.95rem;
    color: #6c757d;
    background: white;
}

/* Home search box autocomplete styling */
.search-box .location-autocomplete-wrapper {
    position: relative;
    width: 100%;
    max-width: 519px;
}

.search-box .location-autocomplete {
    width: 100%;
    border: none;
    padding: 0.75rem 1rem;
    border-radius: 4px;
    background: white;
    font-family: 'Noto Sans', sans-serif;
    font-size: 1.25rem;
    height: 50px;
    outline: none;
    color: #021E38;
}

.search-box .location-autocomplete::-moz-placeholder {
    color: #6c757d;
}

.search-box .location-autocomplete::placeholder {
    color: #6c757d;
}

.search-box .location-autocomplete:focus {
    outline: none;
    box-shadow: 0 0 0 2px rgba(54, 75, 95, 0.2);
}

.search-box .location-autocomplete-results {
    border-radius: 8px;
    margin-top: 8px;
    border: 1px solid #CBD5E0;
}

@media (max-width: 991.98px) {
    .search-box .location-autocomplete-wrapper {
        max-width: 100%;
    }
}

/* Estilos del autocompletado para el buscador del listado */
.search-filters-form .location-autocomplete-wrapper {
    position: relative;
    width: 100%;
    overflow: visible;
}

.search-filters-form .row {
    overflow: visible;
}

.search-filters-form .location-autocomplete {
    width: 100%;
    background: white;
    border: 2px solid var(--color-text-dark);
    border-radius: 8px;
    padding: 0.75rem 1rem;
    font-family: 'Noto Sans', sans-serif;
    font-size: 0.95rem;
    color: var(--color-text-dark);
    height: auto;
}

.search-filters-form .location-autocomplete::-moz-placeholder {
    color: #6c757d;
}

.search-filters-form .location-autocomplete::placeholder {
    color: #6c757d;
}

.search-filters-form .location-autocomplete:focus {
    outline: none;
    border-color: var(--color-primary);
    box-shadow: 0 0 0 2px rgba(54, 75, 95, 0.2);
}

.search-filters-form .location-autocomplete-results {
    border-radius: 8px;
    margin-top: 8px;
    border: 2px solid var(--color-text-dark);
    z-index: 1100;
}

/* Estilos del autocompletado para el buscador móvil del listado */
.search-box-mobile .location-autocomplete-wrapper {
    position: relative;
    flex: 1;
}

.search-box-mobile .location-autocomplete {
    width: 100%;
    background: white;
    border: none;
    border-radius: 8px;
    padding: 0.75rem 1rem;
    font-family: 'Noto Sans', sans-serif;
    font-size: 0.95rem;
    color: var(--color-text-dark);
}

.search-box-mobile .location-autocomplete-results {
    border-radius: 0 0 8px 8px;
    margin-top: 0;
    border: 1px solid #CBD5E0;
}

/* ============================================
   WhatsApp Floating Button
   ============================================ */
.whatsapp-float {
    position: fixed;
    bottom: 30px;
    right: 30px;
    width: 60px;
    height: 60px;
    background-color: #25D366;
    color: white;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 32px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25);
    z-index: 1000;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    text-decoration: none;
}

.whatsapp-float:hover {
    transform: scale(1.1);
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.3);
    color: white;
}

.whatsapp-float:active {
    transform: scale(0.95);
}

@media (max-width: 768px) {
    .whatsapp-float {
        bottom: 20px;
        right: 20px;
        width: 55px;
        height: 55px;
        font-size: 28px;
    }
}

/* =============================================
   SCROLL REVEAL ANIMATIONS
   ============================================= */

/* Estado inicial: oculto */
.scroll-reveal {
    opacity: 0;
    transform: translateY(40px);
    transition: opacity 0.8s ease-out, transform 0.8s ease-out;
}

/* Estado visible: animado */
.scroll-reveal.revealed {
    opacity: 1;
    transform: translateY(0);
}

/* Variantes de animación */
.scroll-reveal-fade {
    opacity: 0;
    transition: opacity 0.8s ease-out;
}

.scroll-reveal-fade.revealed {
    opacity: 1;
}

.scroll-reveal-left {
    opacity: 0;
    transform: translateX(-40px);
    transition: opacity 0.8s ease-out, transform 0.8s ease-out;
}

.scroll-reveal-left.revealed {
    opacity: 1;
    transform: translateX(0);
}

.scroll-reveal-right {
    opacity: 0;
    transform: translateX(40px);
    transition: opacity 0.8s ease-out, transform 0.8s ease-out;
}

.scroll-reveal-right.revealed {
    opacity: 1;
    transform: translateX(0);
}

.scroll-reveal-scale {
    opacity: 0;
    transform: scale(0.9);
    transition: opacity 0.8s ease-out, transform 0.8s ease-out;
}

.scroll-reveal-scale.revealed {
    opacity: 1;
    transform: scale(1);
}

/* Delays escalonados para elementos en grupo */
.scroll-reveal-delay-1 { transition-delay: 0.1s; }
.scroll-reveal-delay-2 { transition-delay: 0.2s; }
.scroll-reveal-delay-3 { transition-delay: 0.3s; }
.scroll-reveal-delay-4 { transition-delay: 0.4s; }
.scroll-reveal-delay-5 { transition-delay: 0.5s; }

/* Desactivar animaciones si el usuario prefiere movimiento reducido */
@media (prefers-reduced-motion: reduce) {
    .scroll-reveal,
    .scroll-reveal-fade,
    .scroll-reveal-left,
    .scroll-reveal-right,
    .scroll-reveal-scale {
        opacity: 1;
        transform: none;
        transition: none;
    }
}

/* Honeypot antispam: oculto para humanos, visible para bots que ignoran CSS */
.antispam-trap {
    position: absolute;
    left: -9999px;
    top: -9999px;
    height: 0;
    width: 0;
    overflow: hidden;
    pointer-events: none;
}


/*# sourceMappingURL=data:application/json;charset=utf-8;base64,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WixTQUFTO0lBQ1QsUUFBUTtJQUNSLGdCQUFnQjtJQUNoQixvQkFBb0I7QUFDeEIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9hc3NldHMvc3R5bGVzL2FwcC5jc3MiXSwic291cmNlc0NvbnRlbnQiOlsiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBWYXJpYWJsZXMgeSBDb2xvcmVzIGRlbCBEaXNlw7FvXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbjpyb290IHtcbiAgICAvKiBDb2xvcmVzICovXG4gICAgLS1jb2xvci1wcmltYXJ5OiAjRjFEMjdBOyAvKiBEb3JhZG8vQW1hcmlsbG8gKi9cbiAgICAtLWNvbG9yLWJlaWdlOiAjRjNFQURFOyAvKiBGb25kbyBiZWlnZSAqL1xuICAgIC0tY29sb3Itc2VhcmNoLWJnOiAjMzA0QzVFOyAvKiBGb25kbyBidXNjYWRvciBhenVsIG9zY3VybyAqL1xuICAgIC0tY29sb3ItYWNjZW50OiAjMDBhNGRjOyAvKiBMw61uZWFzIGRlY29yYXRpdmFzIGF6dWwgKi9cbiAgICAtLWNvbG9yLXRleHQtZGFyazogIzJDMkMyQztcbiAgICAtLWNvbG9yLXRleHQtZ3JheTogIzY2NjY2NjtcbiAgICAtLWNvbG9yLXRleHQtbGlnaHQ6ICM4QjhCOEI7XG4gICAgLS1jb2xvci1ib3JkZXI6ICNFNUU1RTU7XG4gICAgLS1jb2xvci13aGl0ZTogI0ZGRkZGRjtcblxuICAgIC8qIFNwYWNpbmcgU3lzdGVtIChlc2NhbGEgYmFzZSA4cHgpICovXG4gICAgLS1zcGFjaW5nLXhzOiA4cHg7XG4gICAgLS1zcGFjaW5nLXM6IDE2cHg7XG4gICAgLS1zcGFjaW5nLW06IDI0cHg7XG4gICAgLS1zcGFjaW5nLWw6IDMycHg7XG4gICAgLS1zcGFjaW5nLXhsOiA0OHB4O1xuICAgIC0tc3BhY2luZy14eGw6IDY0cHg7XG5cbiAgICAvKiBHcmlkIFN5c3RlbSAqL1xuICAgIC0tY29udGFpbmVyLW1heC13aWR0aDogMTMyMHB4O1xuICAgIC0tZ3V0dGVyLWRlc2t0b3A6IDI0cHg7XG4gICAgLS1ndXR0ZXItdGFibGV0OiAyNHB4O1xuICAgIC0tZ3V0dGVyLW1vYmlsZTogMTZweDtcbiAgICAtLXBhZGRpbmctbW9iaWxlOiAxNnB4O1xuXG4gICAgLyogQm9vdHN0cmFwIG92ZXJyaWRlcyAqL1xuICAgIC0tYnMtZ3V0dGVyLXg6IHZhcigtLWd1dHRlci1kZXNrdG9wKTtcbiAgICAtLWJzLWd1dHRlci15OiAwO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEdyaWQgU3lzdGVtIC0gQ29udGFpbmVyIE92ZXJyaWRlc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uY29udGFpbmVyLFxuLmNvbnRhaW5lci1sZyxcbi5jb250YWluZXItbWQsXG4uY29udGFpbmVyLXNtLFxuLmNvbnRhaW5lci14bCxcbi5jb250YWluZXIteHhsIHtcbiAgICAtLWJzLWd1dHRlci14OiB2YXIoLS1ndXR0ZXItZGVza3RvcCk7XG4gICAgcGFkZGluZy1yaWdodDogY2FsYyh2YXIoLS1icy1ndXR0ZXIteCkgKiAwLjUpO1xuICAgIHBhZGRpbmctbGVmdDogY2FsYyh2YXIoLS1icy1ndXR0ZXIteCkgKiAwLjUpO1xufVxuXG4vKiBEZXNrdG9wICjiiaUxMjAwcHgpIC0gQ29udGFpbmVyIG1heC13aWR0aCAxMzIwcHggKi9cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgICAuY29udGFpbmVyLFxuICAgIC5jb250YWluZXItbGcsXG4gICAgLmNvbnRhaW5lci1tZCxcbiAgICAuY29udGFpbmVyLXNtLFxuICAgIC5jb250YWluZXIteGwge1xuICAgICAgICBtYXgtd2lkdGg6IHZhcigtLWNvbnRhaW5lci1tYXgtd2lkdGgpO1xuICAgIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDE0MDBweCkge1xuICAgIC5jb250YWluZXIsXG4gICAgLmNvbnRhaW5lci1sZyxcbiAgICAuY29udGFpbmVyLW1kLFxuICAgIC5jb250YWluZXItc20sXG4gICAgLmNvbnRhaW5lci14bCxcbiAgICAuY29udGFpbmVyLXh4bCB7XG4gICAgICAgIG1heC13aWR0aDogdmFyKC0tY29udGFpbmVyLW1heC13aWR0aCk7XG4gICAgfVxufVxuXG4vKiBUYWJsZXQgKDc2OOKAkzExOTlweCkgLSBDb250YWluZXIgZmx1aWRvIGNvbiBwYWRkaW5nICovXG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWF4LXdpZHRoOiAxMTk5Ljk4cHgpIHtcbiAgICAuY29udGFpbmVyLFxuICAgIC5jb250YWluZXItbWQsXG4gICAgLmNvbnRhaW5lci1zbSB7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgLS1icy1ndXR0ZXIteDogdmFyKC0tZ3V0dGVyLXRhYmxldCk7XG4gICAgfVxufVxuXG4vKiBNb2JpbGUgKDw3NjhweCkgLSBQYWRkaW5nIGxhdGVyYWwgMTZweCwgZ3V0dGVyIDE2cHggKi9cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjcuOThweCkge1xuICAgIDpyb290IHtcbiAgICAgICAgLS1icy1ndXR0ZXIteDogdmFyKC0tZ3V0dGVyLW1vYmlsZSk7XG4gICAgfVxuXG4gICAgLmNvbnRhaW5lcixcbiAgICAuY29udGFpbmVyLXNtIHtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICAtLWJzLWd1dHRlci14OiB2YXIoLS1ndXR0ZXItbW9iaWxlKTtcbiAgICAgICAgcGFkZGluZy1yaWdodDogdmFyKC0tcGFkZGluZy1tb2JpbGUpO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IHZhcigtLXBhZGRpbmctbW9iaWxlKTtcbiAgICB9XG5cbiAgICAucm93IHtcbiAgICAgICAgLS1icy1ndXR0ZXIteDogdmFyKC0tZ3V0dGVyLW1vYmlsZSk7XG4gICAgfVxufVxuXG4vKiBSb3cgZ3V0dGVyIGFkanVzdG1lbnRzICovXG4ucm93IHtcbiAgICAtLWJzLWd1dHRlci14OiB2YXIoLS1ndXR0ZXItZGVza3RvcCk7XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjcuOThweCkge1xuICAgIC5yb3cge1xuICAgICAgICAtLWJzLWd1dHRlci14OiB2YXIoLS1ndXR0ZXItbW9iaWxlKTtcbiAgICB9XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgU3BhY2luZyBVdGlsaXR5IENsYXNzZXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogTWFyZ2luIHV0aWxpdGllcyAqL1xuLm0teHMgeyBtYXJnaW46IHZhcigtLXNwYWNpbmcteHMpICFpbXBvcnRhbnQ7IH1cbi5tLXMgeyBtYXJnaW46IHZhcigtLXNwYWNpbmctcykgIWltcG9ydGFudDsgfVxuLm0tbSB7IG1hcmdpbjogdmFyKC0tc3BhY2luZy1tKSAhaW1wb3J0YW50OyB9XG4ubS1sIHsgbWFyZ2luOiB2YXIoLS1zcGFjaW5nLWwpICFpbXBvcnRhbnQ7IH1cbi5tLXhsIHsgbWFyZ2luOiB2YXIoLS1zcGFjaW5nLXhsKSAhaW1wb3J0YW50OyB9XG4ubS14eGwgeyBtYXJnaW46IHZhcigtLXNwYWNpbmcteHhsKSAhaW1wb3J0YW50OyB9XG5cbi5tdC14cyB7IG1hcmdpbi10b3A6IHZhcigtLXNwYWNpbmcteHMpICFpbXBvcnRhbnQ7IH1cbi5tdC1zIHsgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2luZy1zKSAhaW1wb3J0YW50OyB9XG4ubXQtbSB7IG1hcmdpbi10b3A6IHZhcigtLXNwYWNpbmctbSkgIWltcG9ydGFudDsgfVxuLm10LWwgeyBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjaW5nLWwpICFpbXBvcnRhbnQ7IH1cbi5tdC14bCB7IG1hcmdpbi10b3A6IHZhcigtLXNwYWNpbmcteGwpICFpbXBvcnRhbnQ7IH1cbi5tdC14eGwgeyBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjaW5nLXh4bCkgIWltcG9ydGFudDsgfVxuXG4ubWIteHMgeyBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjaW5nLXhzKSAhaW1wb3J0YW50OyB9XG4ubWItcyB7IG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNpbmctcykgIWltcG9ydGFudDsgfVxuLm1iLW0geyBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjaW5nLW0pICFpbXBvcnRhbnQ7IH1cbi5tYi1sIHsgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2luZy1sKSAhaW1wb3J0YW50OyB9XG4ubWIteGwgeyBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjaW5nLXhsKSAhaW1wb3J0YW50OyB9XG4ubWIteHhsIHsgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2luZy14eGwpICFpbXBvcnRhbnQ7IH1cblxuLm15LXhzIHsgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2luZy14cykgIWltcG9ydGFudDsgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2luZy14cykgIWltcG9ydGFudDsgfVxuLm15LXMgeyBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjaW5nLXMpICFpbXBvcnRhbnQ7IG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNpbmctcykgIWltcG9ydGFudDsgfVxuLm15LW0geyBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjaW5nLW0pICFpbXBvcnRhbnQ7IG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNpbmctbSkgIWltcG9ydGFudDsgfVxuLm15LWwgeyBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjaW5nLWwpICFpbXBvcnRhbnQ7IG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNpbmctbCkgIWltcG9ydGFudDsgfVxuLm15LXhsIHsgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2luZy14bCkgIWltcG9ydGFudDsgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2luZy14bCkgIWltcG9ydGFudDsgfVxuLm15LXh4bCB7IG1hcmdpbi10b3A6IHZhcigtLXNwYWNpbmcteHhsKSAhaW1wb3J0YW50OyBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjaW5nLXh4bCkgIWltcG9ydGFudDsgfVxuXG4ubXgteHMgeyBtYXJnaW4tbGVmdDogdmFyKC0tc3BhY2luZy14cykgIWltcG9ydGFudDsgbWFyZ2luLXJpZ2h0OiB2YXIoLS1zcGFjaW5nLXhzKSAhaW1wb3J0YW50OyB9XG4ubXgtcyB7IG1hcmdpbi1sZWZ0OiB2YXIoLS1zcGFjaW5nLXMpICFpbXBvcnRhbnQ7IG1hcmdpbi1yaWdodDogdmFyKC0tc3BhY2luZy1zKSAhaW1wb3J0YW50OyB9XG4ubXgtbSB7IG1hcmdpbi1sZWZ0OiB2YXIoLS1zcGFjaW5nLW0pICFpbXBvcnRhbnQ7IG1hcmdpbi1yaWdodDogdmFyKC0tc3BhY2luZy1tKSAhaW1wb3J0YW50OyB9XG4ubXgtbCB7IG1hcmdpbi1sZWZ0OiB2YXIoLS1zcGFjaW5nLWwpICFpbXBvcnRhbnQ7IG1hcmdpbi1yaWdodDogdmFyKC0tc3BhY2luZy1sKSAhaW1wb3J0YW50OyB9XG4ubXgteGwgeyBtYXJnaW4tbGVmdDogdmFyKC0tc3BhY2luZy14bCkgIWltcG9ydGFudDsgbWFyZ2luLXJpZ2h0OiB2YXIoLS1zcGFjaW5nLXhsKSAhaW1wb3J0YW50OyB9XG4ubXgteHhsIHsgbWFyZ2luLWxlZnQ6IHZhcigtLXNwYWNpbmcteHhsKSAhaW1wb3J0YW50OyBtYXJnaW4tcmlnaHQ6IHZhcigtLXNwYWNpbmcteHhsKSAhaW1wb3J0YW50OyB9XG5cbi8qIFBhZGRpbmcgdXRpbGl0aWVzICovXG4ucC14cyB7IHBhZGRpbmc6IHZhcigtLXNwYWNpbmcteHMpICFpbXBvcnRhbnQ7IH1cbi5wLXMgeyBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLXMpICFpbXBvcnRhbnQ7IH1cbi5wLW0geyBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLW0pICFpbXBvcnRhbnQ7IH1cbi5wLWwgeyBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLWwpICFpbXBvcnRhbnQ7IH1cbi5wLXhsIHsgcGFkZGluZzogdmFyKC0tc3BhY2luZy14bCkgIWltcG9ydGFudDsgfVxuLnAteHhsIHsgcGFkZGluZzogdmFyKC0tc3BhY2luZy14eGwpICFpbXBvcnRhbnQ7IH1cblxuLnB0LXhzIHsgcGFkZGluZy10b3A6IHZhcigtLXNwYWNpbmcteHMpICFpbXBvcnRhbnQ7IH1cbi5wdC1zIHsgcGFkZGluZy10b3A6IHZhcigtLXNwYWNpbmctcykgIWltcG9ydGFudDsgfVxuLnB0LW0geyBwYWRkaW5nLXRvcDogdmFyKC0tc3BhY2luZy1tKSAhaW1wb3J0YW50OyB9XG4ucHQtbCB7IHBhZGRpbmctdG9wOiB2YXIoLS1zcGFjaW5nLWwpICFpbXBvcnRhbnQ7IH1cbi5wdC14bCB7IHBhZGRpbmctdG9wOiB2YXIoLS1zcGFjaW5nLXhsKSAhaW1wb3J0YW50OyB9XG4ucHQteHhsIHsgcGFkZGluZy10b3A6IHZhcigtLXNwYWNpbmcteHhsKSAhaW1wb3J0YW50OyB9XG5cbi5wYi14cyB7IHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjaW5nLXhzKSAhaW1wb3J0YW50OyB9XG4ucGItcyB7IHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjaW5nLXMpICFpbXBvcnRhbnQ7IH1cbi5wYi1tIHsgcGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNpbmctbSkgIWltcG9ydGFudDsgfVxuLnBiLWwgeyBwYWRkaW5nLWJvdHRvbTogdmFyKC0tc3BhY2luZy1sKSAhaW1wb3J0YW50OyB9XG4ucGIteGwgeyBwYWRkaW5nLWJvdHRvbTogdmFyKC0tc3BhY2luZy14bCkgIWltcG9ydGFudDsgfVxuLnBiLXh4bCB7IHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjaW5nLXh4bCkgIWltcG9ydGFudDsgfVxuXG4ucHkteHMgeyBwYWRkaW5nLXRvcDogdmFyKC0tc3BhY2luZy14cykgIWltcG9ydGFudDsgcGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNpbmcteHMpICFpbXBvcnRhbnQ7IH1cbi5weS1zIHsgcGFkZGluZy10b3A6IHZhcigtLXNwYWNpbmctcykgIWltcG9ydGFudDsgcGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNpbmctcykgIWltcG9ydGFudDsgfVxuLnB5LW0geyBwYWRkaW5nLXRvcDogdmFyKC0tc3BhY2luZy1tKSAhaW1wb3J0YW50OyBwYWRkaW5nLWJvdHRvbTogdmFyKC0tc3BhY2luZy1tKSAhaW1wb3J0YW50OyB9XG4ucHktbCB7IHBhZGRpbmctdG9wOiB2YXIoLS1zcGFjaW5nLWwpICFpbXBvcnRhbnQ7IHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjaW5nLWwpICFpbXBvcnRhbnQ7IH1cbi5weS14bCB7IHBhZGRpbmctdG9wOiB2YXIoLS1zcGFjaW5nLXhsKSAhaW1wb3J0YW50OyBwYWRkaW5nLWJvdHRvbTogdmFyKC0tc3BhY2luZy14bCkgIWltcG9ydGFudDsgfVxuLnB5LXh4bCB7IHBhZGRpbmctdG9wOiB2YXIoLS1zcGFjaW5nLXh4bCkgIWltcG9ydGFudDsgcGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNpbmcteHhsKSAhaW1wb3J0YW50OyB9XG5cbi5weC14cyB7IHBhZGRpbmctbGVmdDogdmFyKC0tc3BhY2luZy14cykgIWltcG9ydGFudDsgcGFkZGluZy1yaWdodDogdmFyKC0tc3BhY2luZy14cykgIWltcG9ydGFudDsgfVxuLnB4LXMgeyBwYWRkaW5nLWxlZnQ6IHZhcigtLXNwYWNpbmctcykgIWltcG9ydGFudDsgcGFkZGluZy1yaWdodDogdmFyKC0tc3BhY2luZy1zKSAhaW1wb3J0YW50OyB9XG4ucHgtbSB7IHBhZGRpbmctbGVmdDogdmFyKC0tc3BhY2luZy1tKSAhaW1wb3J0YW50OyBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1zcGFjaW5nLW0pICFpbXBvcnRhbnQ7IH1cbi5weC1sIHsgcGFkZGluZy1sZWZ0OiB2YXIoLS1zcGFjaW5nLWwpICFpbXBvcnRhbnQ7IHBhZGRpbmctcmlnaHQ6IHZhcigtLXNwYWNpbmctbCkgIWltcG9ydGFudDsgfVxuLnB4LXhsIHsgcGFkZGluZy1sZWZ0OiB2YXIoLS1zcGFjaW5nLXhsKSAhaW1wb3J0YW50OyBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1zcGFjaW5nLXhsKSAhaW1wb3J0YW50OyB9XG4ucHgteHhsIHsgcGFkZGluZy1sZWZ0OiB2YXIoLS1zcGFjaW5nLXh4bCkgIWltcG9ydGFudDsgcGFkZGluZy1yaWdodDogdmFyKC0tc3BhY2luZy14eGwpICFpbXBvcnRhbnQ7IH1cblxuLyogR2FwIHV0aWxpdGllcyAqL1xuLmdhcC14cyB7IGdhcDogdmFyKC0tc3BhY2luZy14cykgIWltcG9ydGFudDsgfVxuLmdhcC1zIHsgZ2FwOiB2YXIoLS1zcGFjaW5nLXMpICFpbXBvcnRhbnQ7IH1cbi5nYXAtbSB7IGdhcDogdmFyKC0tc3BhY2luZy1tKSAhaW1wb3J0YW50OyB9XG4uZ2FwLWwgeyBnYXA6IHZhcigtLXNwYWNpbmctbCkgIWltcG9ydGFudDsgfVxuLmdhcC14bCB7IGdhcDogdmFyKC0tc3BhY2luZy14bCkgIWltcG9ydGFudDsgfVxuLmdhcC14eGwgeyBnYXA6IHZhcigtLXNwYWNpbmcteHhsKSAhaW1wb3J0YW50OyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgRXN0aWxvcyBHZW5lcmFsZXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuYm9keSB7XG4gICAgZm9udC1mYW1pbHk6ICdOb3RvIFNlcmlmJywgLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCAnU2Vnb2UgVUknLCBzYW5zLXNlcmlmO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LWRhcmspO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBsaW5lLWhlaWdodDogMS42O1xuICAgIG92ZXJmbG93LXg6IGhpZGRlbjtcbn1cblxuaDEsIGgyLCBoMywgaDQsIGg1LCBoNiB7XG4gICAgZm9udC1mYW1pbHk6ICdOb3RvIFNlcmlmJywgR2VvcmdpYSwgc2VyaWY7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbn1cblxuaDMge1xuICAgIGZvbnQtZmFtaWx5OiAnTm90byBTZXJpZicsIEdlb3JnaWEsIHNlcmlmO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgZm9udC1zaXplOiAzMnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAzNXB4O1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIE5hdmJhclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4ubmF2YmFyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjRTVFNUU1O1xuICAgIHBhZGRpbmc6IDFyZW0gMDtcbiAgICBib3gtc2hhZG93OiAwIDJweCA0cHggcmdiYSgwLCAwLCAwLCAwLjA0KTtcbiAgICB6LWluZGV4OiAxMDMwICFpbXBvcnRhbnQ7IC8qIEFzZWd1cmFyIHF1ZSBlc3TDqSBwb3IgZW5jaW1hIGRlbCBzaWRlYmFyIHN0aWNreSAqL1xufVxuXG4ubmF2YmFyLWJyYW5kIHtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LWRhcmspICFpbXBvcnRhbnQ7XG59XG5cbi5uYXZiYXItbG9nbyB7XG4gICAgaGVpZ2h0OiA0NXB4O1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG9iamVjdC1maXQ6IGNvbnRhaW47XG59XG5cbi5uYXZiYXItbmF2IC5uYXYtbGluayB7XG4gICAgY29sb3I6ICMwMjFFMzg7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBwYWRkaW5nOiAwLjVyZW0gMS4yNXJlbTtcbiAgICBmb250LXNpemU6IDAuOTVyZW07XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC4ycyBlYXNlO1xufVxuXG4ubmF2YmFyLW5hdiAubmF2LWxpbms6aG92ZXIge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbn1cblxuLmJ0biB7XG4gICAgZm9udC1mYW1pbHk6ICdOb3RvIFNhbnMnLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbn1cblxuLmJ0bi1uYXYtY3VzdG9tIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBjb2xvcjogIzAyMUUzODtcbiAgICBwYWRkaW5nOiAwLjVyZW0gMS4yNXJlbTtcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBmb250LXNpemU6IDAuOXJlbTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4uYnRuLW5hdi1jdXN0b206aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNGN0ZBRkM7XG4gICAgYm9yZGVyLWNvbG9yOiAjQTBBRUMwO1xuICAgIGNvbG9yOiAjMDIxRTM4O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLmJ0bi1uYXYtY3VzdG9tIHN2ZyB7XG4gICAgd2lkdGg6IDE2cHg7XG4gICAgaGVpZ2h0OiAxNnB4O1xufVxuXG4uYnRuLW5hdi1oaWdobGlnaHQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzAyMUUzODtcbiAgICBjb2xvcjogIzAyMUUzODtcbiAgICBwYWRkaW5nOiAwLjVyZW0gMS4yNXJlbTtcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBmb250LXNpemU6IDAuOXJlbTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGJveC1zaGFkb3c6IDAgMXB4IDNweCByZ2JhKDAsIDAsIDAsIDAuMDgpO1xufVxuXG4uYnRuLW5hdi1oaWdobGlnaHQ6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMjFFMzg7XG4gICAgYm9yZGVyLWNvbG9yOiAjMDIxRTM4O1xuICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBib3gtc2hhZG93OiAwIDJweCA2cHggcmdiYSgwLCAwLCAwLCAwLjEyKTtcbn1cblxuLmJ0bi1uYXYtaGlnaGxpZ2h0OmhvdmVyIGltZyB7XG4gICAgZmlsdGVyOiBicmlnaHRuZXNzKDApIGludmVydCgxKTtcbn1cblxuLmJ0bi1uYXYtaGlnaGxpZ2h0IHN2ZyB7XG4gICAgd2lkdGg6IDE2cHg7XG4gICAgaGVpZ2h0OiAxNnB4O1xufVxuXG4uYnRuLW5hdi1pY29uIHtcbiAgICB3aWR0aDogNDBweDtcbiAgICBoZWlnaHQ6IDQwcHg7XG4gICAgcGFkZGluZzogMDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLmJ0bi1vdXRsaW5lLXByaW1hcnkge1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItdGV4dC1kYXJrKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1kYXJrKTtcbn1cblxuLmJ0bi1vdXRsaW5lLXByaW1hcnk6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXRleHQtZGFyayk7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LWRhcmspO1xufVxuXG4uYnRuLXByaW1hcnkge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtZGFyayk7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbn1cblxuLmJ0bi1wcmltYXJ5OmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICBib3JkZXItY29sb3I6IHdoaXRlO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LWRhcmspO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEhlcm8gU2VjdGlvblxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uaGVyby1zZWN0aW9uIHtcbiAgICBoZWlnaHQ6IDU2MHB4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgY29sb3I6IHdoaXRlO1xufVxuXG4uaGVyby1iZy1waWN0dXJlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHotaW5kZXg6IDA7XG59XG5cbi5oZXJvLWJnLXBpY3R1cmUgaW1nIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgb2JqZWN0LXBvc2l0aW9uOiBjZW50ZXI7XG59XG5cbi5oZXJvLWJnLXZpZGVvIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgIG9iamVjdC1wb3NpdGlvbjogY2VudGVyO1xuICAgIHotaW5kZXg6IDA7XG59XG5cbi5oZXJvLXNlY3Rpb246OmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMjUpO1xuICAgIHotaW5kZXg6IDE7XG59XG5cbi5oZXJvLWNvbnRlbnQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAyO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOiAwIDFyZW07XG59XG5cbi5oZXJvLWNvbnRlbnQgaDEge1xuICAgIGZvbnQtc2l6ZTogNjRweDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIG1hcmdpbi1ib3R0b206IDhyZW07XG4gICAgZm9udC1mYW1pbHk6ICdOb3RvIFNlcmlmJywgc2VyaWY7XG4gICAgbGluZS1oZWlnaHQ6IDEwMCU7XG59XG5cbi5zZWFyY2gtYm94IHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1zZWFyY2gtYmcpO1xuICAgIHBhZGRpbmc6IDFyZW0gMnJlbTtcbiAgICBib3JkZXItcmFkaXVzOiA2cHg7XG4gICAgYm94LXNoYWRvdzogMCA4cHggMjBweCByZ2JhKDAsIDAsIDAsIDAuMik7XG4gICAgbWF4LXdpZHRoOiA5NzBweDtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAtNDBweDtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgIHdpZHRoOiA5MCU7XG4gICAgei1pbmRleDogMTAwO1xufVxuXG4uc2VhcmNoLWJveC1sYWJlbCB7XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgZm9udC1mYW1pbHk6ICdOb3RvIFNhbnMnLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbiAgICBkaXNwbGF5OiBibG9jaztcbn1cblxuLnNlYXJjaC1ib3gtc2VsZWN0IHtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgcGFkZGluZzogMC43NXJlbSAxcmVtO1xuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgICBmb250LWZhbWlseTogJ05vdG8gU2FucycsIHNhbnMtc2VyaWY7XG4gICAgZm9udC1zaXplOiAwLjk1cmVtO1xuICAgIGhlaWdodDogNTBweDtcbn1cblxuLnNlYXJjaC1ib3gtdGlwbyB7XG4gICAgbWF4LXdpZHRoOiAyMjNweDtcbiAgICB3aWR0aDogMjIzcHg7XG59XG5cbi5zZWFyY2gtYm94LXViaWNhY2lvbiB7XG4gICAgbWF4LXdpZHRoOiA1MTlweDtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuLnNlYXJjaC1ib3gtYnV0dG9uIHtcbiAgICB3aWR0aDogMTM4cHg7XG4gICAgaGVpZ2h0OiA1MHB4O1xuICAgIHBhZGRpbmc6IDAuNzVyZW0gMXJlbTtcbiAgICBmb250LWZhbWlseTogJ05vdG8gU2FucycsIHNhbnMtc2VyaWY7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4uc2VhcmNoLWJveC1idXR0b24gc3ZnIHtcbiAgICBmbGV4LXNocmluazogMDtcbn1cblxuLyogQ3VzdG9tIFNlbGVjdCBEcm9wZG93biBmb3IgU2VhcmNoIEJveCAqL1xuLmN1c3RvbS1zZWxlY3Qtd3JhcHBlciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uY3VzdG9tLXNlbGVjdC1idG4ge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBwYWRkaW5nOiAwLjc1cmVtIDFyZW07XG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgIGJhY2tncm91bmQ6IHdoaXRlO1xuICAgIGZvbnQtZmFtaWx5OiAnTm90byBTYW5zJywgc2Fucy1zZXJpZjtcbiAgICBmb250LXNpemU6IDIwcHg7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBoZWlnaHQ6IDUwcHg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG4uY3VzdG9tLXNlbGVjdC1idG4uc2VhcmNoLWJveC10aXBvIHtcbiAgICBtYXgtd2lkdGg6IDIyM3B4O1xuICAgIHdpZHRoOiAyMjNweDtcbn1cblxuLmN1c3RvbS1zZWxlY3QtYnRuLnNlYXJjaC1ib3gtdWJpY2FjaW9uIHtcbiAgICBtYXgtd2lkdGg6IDUxOXB4O1xuICAgIHdpZHRoOiAxMDAlO1xufVxuXG4uY3VzdG9tLXNlbGVjdC1idG46aG92ZXIge1xuICAgIGJhY2tncm91bmQ6ICNmOGY5ZmE7XG59XG5cbi5jdXN0b20tc2VsZWN0LWJ0bi5hY3RpdmUge1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XG59XG5cbi5jdXN0b20tc2VsZWN0LWJ0biAuc2VsZWN0ZWQtdGV4dCB7XG4gICAgZmxleDogMTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1kYXJrKTtcbn1cblxuLmN1c3RvbS1zZWxlY3QtYnRuIGkge1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1ncmF5KTtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4ycyBlYXNlO1xufVxuXG4uY3VzdG9tLXNlbGVjdC1idG4uYWN0aXZlIGkge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG59XG5cbi5jdXN0b20tc2VsZWN0LWRyb3Bkb3duIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAxMDAlO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYmFja2dyb3VuZDogd2hpdGU7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjRTVFNUU1O1xuICAgIGJvcmRlci1yYWRpdXM6IDAgMCA0cHggNHB4O1xuICAgIGJveC1zaGFkb3c6IDAgNHB4IDEycHggcmdiYSgwLCAwLCAwLCAwLjEpO1xuICAgIG1heC1oZWlnaHQ6IDIwMHB4O1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgei1pbmRleDogMTAxO1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5jdXN0b20tc2VsZWN0LWRyb3Bkb3duLnNob3cge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4uY3VzdG9tLXNlbGVjdC1vcHRpb24ge1xuICAgIHBhZGRpbmc6IDAuNzVyZW0gMXJlbTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgZm9udC1mYW1pbHk6ICdOb3RvIFNhbnMnLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMC45NXJlbTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1kYXJrKTtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMnMgZWFzZTtcbiAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbn1cblxuLmN1c3RvbS1zZWxlY3Qtb3B0aW9uOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjZjhmOWZhO1xufVxuXG4uY3VzdG9tLXNlbGVjdC1vcHRpb24uc2VsZWN0ZWQge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJlaWdlKTtcbiAgICBmb250LXdlaWdodDogNTAwO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFNlY2Npb25lcyBjb24gRm9uZG8gQmVpZ2VcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnNlY3Rpb24tYmVpZ2Uge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJlaWdlKTtcbiAgICBwYWRkaW5nOiA2cmVtIDA7XG59XG5cbi5zZWN0aW9uLXdoaXRlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgIHBhZGRpbmc6IDEwcmVtIDA7XG59XG5cbi5zZWN0aW9uLXdoaXRlOmZpcnN0LW9mLXR5cGUge1xuICAgIHBhZGRpbmctdG9wOiAxMHJlbTtcbn1cblxuLnNlY3Rpb24tdGl0bGUge1xuICAgIGZvbnQtZmFtaWx5OiAnTm90byBTZXJpZicsIEdlb3JnaWEsIHNlcmlmO1xuICAgIGZvbnQtc2l6ZTogNDBweDtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGdhcDogMTclO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGNvbG9yOiAjMDIxRTM4O1xufVxuXG4uc2VjdGlvbi10aXRsZTo6YmVmb3JlLFxuLnNlY3Rpb24tdGl0bGU6OmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBmbGV4OiAxO1xuICAgIGhlaWdodDogM3B4O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWFjY2VudCk7XG4gICAgbWF4LXdpZHRoOiA2MDBweDtcbiAgICBtYXJnaW4tdG9wOiA1MHB4O1xufVxuXG4uc2VjdGlvbi1zdWJ0aXRsZSB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtZ3JheSk7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG1hcmdpbi1ib3R0b206IDNyZW07XG4gICAgZm9udC1zaXplOiAyNHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gICAgZm9udC1mYW1pbHk6ICdOb3RvIFNhbnMnO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbn1cbi5zZWN0aW9uLWJlaWdlIC5zZWN0aW9uLXN1YnRpdGxlIHtcbiAgICBtYXgtd2lkdGg6IDcxMnB4ICFpbXBvcnRhbnQ7XG59XG5cbi5zZWN0aW9uLXdoaXRlIC5zZWN0aW9uLXN1YnRpdGxlIHtcbiAgICBtYXgtd2lkdGg6IDQ1MHB4ICFpbXBvcnRhbnQ7XG59XG5cbi8qIFNlY3Rpb24gYmVpZ2UgLSBTaW4gbMOtbmVhcyBlbiBlbCB0w610dWxvICovXG4uc2VjdGlvbi1iZWlnZSAuc2VjdGlvbi10aXRsZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5zZWN0aW9uLWJlaWdlIC5zZWN0aW9uLXRpdGxlOjpiZWZvcmUsXG4uc2VjdGlvbi1iZWlnZSAuc2VjdGlvbi10aXRsZTo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5zZWN0aW9uLWJlaWdlIC5idG4tbW9yZSB7XG4gICAgcGFkZGluZzogMC44NXJlbSAzLjVyZW07XG4gICAgZm9udC1zaXplOiAxLjFyZW07XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgUHJvcGVydHkgQ2FyZHNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnByb3BlcnR5LWNhcmQge1xuICAgIGNvbnRhaW5lci10eXBlOiBpbmxpbmUtc2l6ZTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXIpO1xuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7XG4gICAgYmFja2dyb3VuZDogI0YzRjNGMztcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYm94LXNoYWRvdzogMCAycHggNHB4IHJnYmEoMCwgMCwgMCwgMC4wNSk7XG59XG5cbi5wcm9wZXJ0eS1jYXJkOmhvdmVyIHtcbiAgICBib3gtc2hhZG93OiAwIDRweCAxMnB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbn1cblxuLnByb3BlcnR5LWNhcmQgcGljdHVyZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLnByb3BlcnR5LWNhcmQgaW1nIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgb2JqZWN0LXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5wcm9wZXJ0eS1jYXJkLXBsYWNlaG9sZGVyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtaW4taGVpZ2h0OiAyMDBweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjhGOEY4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLnByb3BlcnR5LWNhcmQtcGxhY2Vob2xkZXIgaW1nIHtcbiAgICB3aWR0aDogYXV0bztcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgbWF4LXdpZHRoOiAxNTBweDtcbiAgICBtYXgtaGVpZ2h0OiAxNTBweDtcbiAgICBvYmplY3QtZml0OiBjb250YWluO1xufVxuXG4vKiBQcm9wZXJ0eSBjYXJkcyBpbiAzLWNvbHVtbiBncmlkIGxheW91dCAqL1xuLnJvdy5nLTQgLmNvbC1sZy00IC5wcm9wZXJ0eS1jYXJkIHBpY3R1cmUsXG4ucm93LmctNCAuY29sLWxnLTQgLnByb3BlcnR5LWNhcmQgPiBwaWN0dXJlLFxuLnJvdy5nLTQgLmNvbC1tZC00IC5wcm9wZXJ0eS1jYXJkIHBpY3R1cmUsXG4ucm93LmctNCAuY29sLW1kLTQgLnByb3BlcnR5LWNhcmQgPiBwaWN0dXJlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXgtd2lkdGg6IDQ1M3B4O1xuICAgIGhlaWdodDogMzQ0cHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBtYXJnaW46IDAgYXV0bztcbn1cblxuLnJvdy5nLTQgLmNvbC1sZy00IC5wcm9wZXJ0eS1jYXJkIGltZyxcbi5yb3cuZy00IC5jb2wtbWQtNCAucHJvcGVydHktY2FyZCBpbWcge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICBvYmplY3QtcG9zaXRpb246IGNlbnRlcjtcbn1cblxuLyogQ3VhbmRvIGVsIG1hcGEgZXN0w6EgdmlzaWJsZSAoMiBjb2x1bW5hcyksIG1hbnRlbmVyIHByb3BvcmNpw7NuIGVuIGx1Z2FyIGRlIGFsdHVyYSBmaWphICovXG4ucHJvcGVydHktZ3JpZC13cmFwcGVyLm1hcC12aXNpYmxlIC5yb3cuZy00IC5jb2wtbWQtNCAucHJvcGVydHktY2FyZCBwaWN0dXJlLFxuLnByb3BlcnR5LWdyaWQtd3JhcHBlci5tYXAtdmlzaWJsZSAucm93LmctNCAuY29sLW1kLTQgLnByb3BlcnR5LWNhcmQgPiBwaWN0dXJlIHtcbiAgICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgYXNwZWN0LXJhdGlvOiA0NTMgLyAzNDQ7XG59XG5cbi5wcm9wZXJ0eS1jYXJkLWJvZHkge1xuICAgIHBhZGRpbmc6IDFyZW07XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0YzRjNGMztcbn1cblxuLnByb3BlcnR5LWxvY2F0aW9uIHtcbiAgICBmb250LWZhbWlseTogJ05vdG8gU2FucycsIHNhbnMtc2VyaWY7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIGNvbG9yOiAjMzA0QzVFO1xuICAgIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbn1cblxuLnByb3BlcnR5LXRpdGxlIHtcbiAgICBmb250LWZhbWlseTogJ05vdG8gU2VyaWYnLCBHZW9yZ2lhLCBzZXJpZjtcbiAgICBmb250LXNpemU6IDMycHg7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG4gICAgY29sb3I6ICMzMDRDNUU7XG4gICAgbGluZS1oZWlnaHQ6IDEuMztcbn1cblxuLyogMyBjYXJkcyBwb3IgZmlsYTogY2FyZCBtw6FzIGVzdHJlY2hhIOKGkiB0w610dWxvIG3DoXMgcGVxdWXDsW8gKi9cbkBjb250YWluZXIgKG1heC13aWR0aDogNTAwcHgpIHtcbiAgICAucHJvcGVydHktdGl0bGUge1xuICAgICAgICBmb250LXNpemU6IDI0cHg7XG4gICAgfVxufVxuXG4ucHJvcGVydHktcHJpY2Uge1xuICAgIGZvbnQtZmFtaWx5OiAnTm90byBTYW5zJywgR2VvcmdpYSwgc2VyaWY7XG4gICAgZm9udC1zaXplOiAyNHB4ICFpbXBvcnRhbnQ7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBjb2xvcjogIzMwNEM1RTtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjc1cmVtO1xufVxuXG4ucHJvcGVydHktZGl2aWRlciB7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjMzA0QzVFO1xuICAgIG1hcmdpbjogMC43NXJlbSAwO1xufVxuXG4ucHJvcGVydHktZmVhdHVyZXMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZ2FwOiAxcmVtO1xuICAgIGZvbnQtZmFtaWx5OiAnTm90byBTYW5zJywgc2Fucy1zZXJpZjtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgY29sb3I6ICMzMDRDNUU7XG59XG5cbi5wcm9wZXJ0eS1mZWF0dXJlIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiAwLjI1cmVtO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEJvdG9uZXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLmJ0bi1tb3JlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXI6IDJweCBzb2xpZCB2YXIoLS1jb2xvci10ZXh0LWRhcmspO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LWRhcmspO1xuICAgIHBhZGRpbmc6IDAuNjVyZW0gMi41cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7XG4gICAgZm9udC1zaXplOiAwLjk1cmVtO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXgtd2lkdGg6IDQ1OHB4O1xuICAgIG1pbi1oZWlnaHQ6IDU2cHg7XG59XG5cbi5idG4tbW9yZTpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItdGV4dC1kYXJrKTtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4uYnRuLW1vcmU6aG92ZXIgaW1nLFxuLmJ0bi1tb3JlOmhvdmVyIHN2ZyB7XG4gICAgZmlsdGVyOiBicmlnaHRuZXNzKDApIGludmVydCgxKTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBCb3TDs24gVW5pZmljYWRvIC0gT3V0bGluZSBEYXJrXG4gICBVc2FkbyBlbjogRXhwbG9yYSB0b2RhLi4uLCBNw6FzIGluZm9ybWFjacOzbiwgQ29udGFjdG8sIGV0Yy5cbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLmJ0bi1vdXRsaW5lLWRhcmsge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgZ2FwOiAwLjc1cmVtO1xuICAgIG1heC13aWR0aDogNDU4cHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiA1NnB4O1xuICAgIHBhZGRpbmc6IDAgMnJlbTtcbiAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgICBib3JkZXI6IDJweCBzb2xpZCAjMzA0QzVFO1xuICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICBjb2xvcjogIzMwNEM1RTtcbiAgICBmb250LWZhbWlseTogJ05vdG8gU2FucycsIHNhbnMtc2VyaWY7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4vKiBCb3RvbmVzIGVuIGZvcm11bGFyaW9zIC0gYW5jaG8gY29tcGxldG8gKi9cbmZvcm0gLmJ0bi1vdXRsaW5lLWRhcmsge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTtcbn1cblxuLyogQm90b25lcyBkZSBvcGNpb25lcyBkZSBjb250YWN0byAtIGNlbnRyYWRvcyAqL1xuLmNvbC0xMiA+IC5idG4tb3V0bGluZS1kYXJrIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIG1hcmdpbjogMCBhdXRvO1xufVxuXG4uYnRuLW91dGxpbmUtZGFyazpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogIzMwNEM1RTtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMnB4KTtcbiAgICBib3gtc2hhZG93OiAwIDRweCAxMnB4IHJnYmEoNTQsIDc1LCA5NSwgMC4yKTtcbn1cblxuLmJ0bi1vdXRsaW5lLWRhcms6aG92ZXIgaW1nIHtcbiAgICBmaWx0ZXI6IGJyaWdodG5lc3MoMCkgaW52ZXJ0KDEpO1xufVxuXG4uYnRuLW91dGxpbmUtZGFyayBpbWcsXG4uYnRuLW91dGxpbmUtZGFyayBzdmcge1xuICAgIGZsZXgtc2hyaW5rOiAwO1xufVxuXG4vKiBTZWNjacOzbiBQcm9waWVkYWRlcyBTaW1pbGFyZXMgKi9cbi5zaW1pbGFyLXByb3BlcnRpZXMtc2VjdGlvbiB7XG4gICAgcGFkZGluZy10b3A6IDNyZW07XG4gICAgcGFkZGluZy1ib3R0b206IDExMnB4O1xufVxuXG4uc2ltaWxhci1wcm9wZXJ0aWVzLXNlY3Rpb24gLnNlY3Rpb24tdGl0bGUge1xuICAgIGZvbnQtZmFtaWx5OiAnTm90byBTZXJpZicsIEdlb3JnaWEsIHNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMjhweDtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbi5zaW1pbGFyLXByb3BlcnRpZXMtY3RhIHtcbiAgICBtYXJnaW4tdG9wOiA4MHB4O1xufVxuXG4vKiBCb3TDs24gVmVyIFByb3BpZWRhZGVzIFNpbWlsYXJlcyAqL1xuLmJ0bi1zaW1pbGFyLXByb3BlcnRpZXMge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgZ2FwOiAwLjc1cmVtO1xuICAgIHBhZGRpbmc6IDFyZW0gMnJlbTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjM0Q1NDY3O1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgIGZvbnQtZmFtaWx5OiAnTm90byBTYW5zJywgc2Fucy1zZXJpZjtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5idG4tc2ltaWxhci1wcm9wZXJ0aWVzOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbiAgICBjb2xvcjogIzAyMUUzODtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0ycHgpO1xuICAgIGJveC1zaGFkb3c6IDAgNHB4IDEycHggcmdiYSgyNDEsIDIxMCwgMTIyLCAwLjMpO1xufVxuXG4uYnRuLXNpbWlsYXItcHJvcGVydGllcyBpIHtcbiAgICBmb250LXNpemU6IDAuOXJlbTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBGb3JtdWxhcmlvIGRlIENvbnRhY3RvXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5jb250YWN0LW9wdGlvbi1idG4ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBnYXA6IDFyZW07XG4gICAgcGFkZGluZzogMS4yNXJlbSAxLjVyZW07XG4gICAgYmFja2dyb3VuZDogd2hpdGU7XG4gICAgYm9yZGVyOiAycHggc29saWQgI0U1RTVFNTtcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGNvbG9yOiAjMzA0QzVFO1xuICAgIGZvbnQtZmFtaWx5OiAnTm90byBTYW5zJywgc2Fucy1zZXJpZjtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlO1xuICAgIG1heC13aWR0aDogNDUzcHg7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgd2lkdGg6IDEwMCU7XG59XG5cbi5jb250YWN0LW9wdGlvbi1idG46aG92ZXIge1xuICAgIGJhY2tncm91bmQ6ICNGOEY4Rjg7XG4gICAgYm9yZGVyLWNvbG9yOiAjMzA0QzVFO1xuICAgIGNvbG9yOiAjMzA0QzVFO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMnB4KTtcbiAgICBib3gtc2hhZG93OiAwIDRweCAxMnB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbn1cblxuLmNvbnRhY3Qtb3B0aW9uLWJ0biBzdmcge1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIGNvbG9yOiAjMzA0QzVFO1xufVxuXG4vKiBDb250YWN0IEZvcm0gSWNvbiAqL1xuLmNvbnRhY3QtZm9ybS1pY29uIHtcbiAgICB3aWR0aDogNjBweDtcbiAgICBoZWlnaHQ6IDYwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBtYXJnaW46IDAgYXV0byAxLjVyZW07XG4gICAgY29sb3I6ICMwMjFFMzg7XG59XG5cbi5jb250YWN0LWZvcm0taWNvbiBzdmcge1xuICAgIGNvbG9yOiAjMDIxRTM4O1xufVxuXG4vKiBDb250YWN0IEZvcm0gRmluYWwgKi9cbi5jb250YWN0LWZvcm0tZmluYWwgLmZvcm0tbGFiZWwge1xuICAgIGZvbnQtZmFtaWx5OiAnTm90byBTYW5zJywgc2Fucy1zZXJpZjtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgY29sb3I6ICMwMjFFMzg7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjRyZW07XG4gICAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5jb250YWN0LWZvcm0tZmluYWwgLmZvcm0tY29udHJvbCB7XG4gICAgYm9yZGVyOiAycHggc29saWQgIzAyMUUzODtcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgcGFkZGluZzogMC42NXJlbSAwLjg1cmVtO1xuICAgIGZvbnQtZmFtaWx5OiAnTm90byBTYW5zJywgc2Fucy1zZXJpZjtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgY29sb3I6ICMwMjFFMzg7XG59XG5cbi5jb250YWN0LWZvcm0tZmluYWwgLmZvcm0tY29udHJvbDo6cGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiAjQTBBRUMwO1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBmb250LXdlaWdodDogNDAwO1xufVxuXG4uY29udGFjdC1mb3JtLWZpbmFsIC5mb3JtLWNvbnRyb2w6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogIzAyMUUzODtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIG91dGxpbmU6IG5vbmU7XG59XG5cbi5jb250YWN0LWZvcm0tZmluYWwgdGV4dGFyZWEuZm9ybS1jb250cm9sIHtcbiAgICByZXNpemU6IHZlcnRpY2FsO1xuICAgIG1pbi1oZWlnaHQ6IDEwMHB4O1xufVxuXG4uY29udGFjdC1mb3JtLWZpbmFsIC5pbnB1dC1ncm91cC10ZXh0IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICBib3JkZXI6IDJweCBzb2xpZCAjMDIxRTM4O1xuICAgIGJvcmRlci1yaWdodDogbm9uZTtcbiAgICBib3JkZXItcmFkaXVzOiA0cHggMCAwIDRweDtcbiAgICBwYWRkaW5nOiAwLjY1cmVtIDAuODVyZW07XG4gICAgZm9udC1mYW1pbHk6ICdOb3RvIFNhbnMnLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBjb2xvcjogIzAyMUUzODtcbn1cblxuLmNvbnRhY3QtZm9ybS1maW5hbCAuaW5wdXQtZ3JvdXAgLmZvcm0tY29udHJvbCB7XG4gICAgYm9yZGVyLWxlZnQ6IG5vbmU7XG4gICAgYm9yZGVyLXJhZGl1czogMCA0cHggNHB4IDA7XG59XG5cbi5jb250YWN0LWZvcm0tZmluYWwgLmZsYWctaWNvbiB7XG4gICAgZm9udC1zaXplOiAxNnB4O1xufVxuXG4vKiBQaG9uZSBJbnB1dCB3aXRoIENvdW50cnkgU2VsZWN0b3IgKi9cbi5waG9uZS1pbnB1dC1ncm91cCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICBnYXA6IDA7XG59XG5cbi5jb3VudHJ5LXNlbGVjdG9yIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5jb3VudHJ5LXNlbGVjdG9yLWJ0biB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogLTAuNXJlbTtcbiAgICBwYWRkaW5nOiAwLjhyZW0gMC44NXJlbTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICBib3JkZXI6IDJweCBzb2xpZCAjMDIxRTM4O1xuICAgIGJvcmRlci1yaWdodDogbm9uZSAhaW1wb3J0YW50O1xuICAgIGJvcmRlci1yYWRpdXM6IDRweCAwIDAgNHB4O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBmb250LWZhbWlseTogJ05vdG8gU2FucycsIHNhbnMtc2VyaWY7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGNvbG9yOiAjMDIxRTM4O1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4ycyBlYXNlO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgZmxleC1zaHJpbms6IDA7XG59XG5cbi5jb3VudHJ5LXNlbGVjdG9yLWJ0bjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0Y3RkFGQztcbn1cblxuLmNvdW50cnktc2VsZWN0b3ItYnRuIC5zZWxlY3RlZC1mbGFnIHtcbiAgICBmb250LXNpemU6IDE2cHg7XG59XG5cbi5jb3VudHJ5LXNlbGVjdG9yLWJ0biAuc2VsZWN0ZWQtY29kZSB7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIG1pbi13aWR0aDogMzVweDtcbn1cblxuLmNvdW50cnktc2VsZWN0b3ItYnRuIHN2ZyB7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDAuMjVyZW07XG59XG5cbi5jb3VudHJ5LWRyb3Bkb3duIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiBjYWxjKDEwMCUgKyA0cHgpO1xuICAgIGxlZnQ6IDA7XG4gICAgYmFja2dyb3VuZDogd2hpdGU7XG4gICAgYm9yZGVyOiAycHggc29saWQgIzAyMUUzODtcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgYm94LXNoYWRvdzogMCA0cHggMTJweCByZ2JhKDAsIDAsIDAsIDAuMTUpO1xuICAgIG1heC1oZWlnaHQ6IDI1MHB4O1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgei1pbmRleDogMTAwMDtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIG1pbi13aWR0aDogMjIwcHg7XG59XG5cbi5jb3VudHJ5LWRyb3Bkb3duLmFjdGl2ZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5jb3VudHJ5LW9wdGlvbiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogMC43NXJlbTtcbiAgICBwYWRkaW5nOiAwLjc1cmVtIDFyZW07XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4ycyBlYXNlO1xufVxuXG4uY291bnRyeS1vcHRpb246aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNGN0ZBRkM7XG59XG5cbi5jb3VudHJ5LW9wdGlvbiAuZmxhZyB7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIGZsZXgtc2hyaW5rOiAwO1xufVxuXG4uY291bnRyeS1vcHRpb24gLmNvdW50cnktbmFtZSB7XG4gICAgZmxleDogMTtcbiAgICBmb250LWZhbWlseTogJ05vdG8gU2FucycsIHNhbnMtc2VyaWY7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGNvbG9yOiAjMDIxRTM4O1xufVxuXG4uY291bnRyeS1vcHRpb24gLmNvdW50cnktY29kZSB7XG4gICAgZm9udC1mYW1pbHk6ICdOb3RvIFNhbnMnLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBjb2xvcjogIzcxODA5NjtcbiAgICBmbGV4LXNocmluazogMDtcbn1cblxuLnBob25lLW51bWJlci1pbnB1dCB7XG4gICAgZmxleDogMTtcbiAgICBib3JkZXItbGVmdDogbm9uZSAhaW1wb3J0YW50O1xuICAgIGJvcmRlci1yYWRpdXM6IDAgNHB4IDRweCAwICFpbXBvcnRhbnQ7XG59XG5cbi5zZWFyY2gtbW9kYWwtaW5wdXQucGhvbmUtbnVtYmVyLWlucHV0IHtcbiAgICBib3JkZXItcmFkaXVzOiAwIDhweCA4cHggMCAhaW1wb3J0YW50O1xuICAgIHdpZHRoOiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgbWluLXdpZHRoOiAwO1xufVxuXG4ucGhvbmUtaW5wdXQtZ3JvdXA6aGFzKC5zZWFyY2gtbW9kYWwtaW5wdXQpIC5jb3VudHJ5LXNlbGVjdG9yLWJ0biB7XG4gICAgYm9yZGVyLXJhZGl1czogOHB4IDAgMCA4cHg7XG59XG5cbi5jb250YWN0LWZvcm0tZmluYWwgLmZvcm0tY2hlY2sge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDAuNXJlbTtcbn1cblxuLmNvbnRhY3QtZm9ybS1maW5hbCAuZm9ybS1jaGVjay1pbnB1dCB7XG4gICAgd2lkdGg6IDE4cHg7XG4gICAgaGVpZ2h0OiAxOHB4O1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICMwMjFFMzg7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xufVxuXG4uY29udGFjdC1mb3JtLWZpbmFsIC5mb3JtLWNoZWNrLWlucHV0OmZvY3VzIHtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIG91dGxpbmU6IG5vbmU7XG59XG5cbi5jb250YWN0LWZvcm0tZmluYWwgLmZvcm0tY2hlY2staW5wdXQ6Y2hlY2tlZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAyMUUzODtcbiAgICBib3JkZXItY29sb3I6ICMwMjFFMzg7XG59XG5cbi5jb250YWN0LWZvcm0tZmluYWwgLmZvcm0tY2hlY2stbGFiZWwge1xuICAgIGZvbnQtZmFtaWx5OiAnTm90byBTYW5zJywgc2Fucy1zZXJpZjtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgY29sb3I6ICMwMjFFMzg7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5jb250YWN0LWZvcm0tZmluYWwgLmZvcm0tY2hlY2stbGFiZWwgYSB7XG4gICAgY29sb3I6ICMwMjFFMzg7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG5cbi5jb250YWN0LWZvcm0tZmluYWwgLmZvcm0tY2hlY2stbGFiZWwgYTpob3ZlciB7XG4gICAgY29sb3I6ICMwMjFFMzg7XG59XG5cbi5idG4tY29udGFjdC1zdWJtaXQge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICMwMjFFMzg7XG4gICAgY29sb3I6ICMwMjFFMzg7XG4gICAgcGFkZGluZzogMC42NXJlbSAxcmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7XG4gICAgZm9udC1zaXplOiAwLjk1cmVtO1xuICAgIGZvbnQtZmFtaWx5OiAnTm90byBTYW5zJywgc2Fucy1zZXJpZjtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXgtd2lkdGg6IDQ1OHB4O1xuICAgIG1pbi1oZWlnaHQ6IDU2cHg7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5idG4tY29udGFjdC1zdWJtaXQ6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMjFFMzg7XG4gICAgY29sb3I6IHdoaXRlO1xufVxuXG4uYnRuLWNvbnRhY3Qtc3VibWl0OmhvdmVyIGltZyxcbi5idG4tY29udGFjdC1zdWJtaXQ6aG92ZXIgc3ZnIHtcbiAgICBmaWx0ZXI6IGJyaWdodG5lc3MoMCkgaW52ZXJ0KDEpO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEJsb2cgQ2FyZHNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLmJsb2ctY2FyZCB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGJvcmRlcjogbm9uZTtcbn1cblxuLmJsb2ctY2FyZDpob3ZlciB7XG4gICAgb3BhY2l0eTogMC45O1xufVxuXG4uYmxvZy1jYXJkIGltZyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiA2MDRweDtcbiAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xufVxuXG4uYmxvZy1jYXJkLXBsYWNlaG9sZGVyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDYwNHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNGOEY4Rjg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4uYmxvZy1jYXJkLXBsYWNlaG9sZGVyIGltZyB7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG1heC13aWR0aDogMTUwcHg7XG4gICAgbWF4LWhlaWdodDogMTUwcHg7XG4gICAgb2JqZWN0LWZpdDogY29udGFpbjtcbn1cblxuLmJsb2ctY2FyZC1ib2R5IHtcbiAgICBwYWRkaW5nOiAxLjVyZW0gMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbn1cblxuLmJsb2ctdGl0bGUge1xuICAgIGZvbnQtZmFtaWx5OiAnTm90byBTZXJpZicsIEdlb3JnaWEsIHNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMzJweDtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbiAgICBjb2xvcjogIzMwNEM1RTtcbiAgICBsaW5lLWhlaWdodDogMS4zO1xufVxuXG4uYmxvZy1leGNlcnB0IHtcbiAgICBmb250LWZhbWlseTogJ05vdG8gU2FucycsIHNhbnMtc2VyaWY7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIGNvbG9yOiAjMzA0QzVFO1xuICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgT2ZmaWNlIEl0ZW1zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbiNvZmljaW5hcyAuc2VjdGlvbi10aXRsZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTIwcHg7XG59XG5cbi5vZmZpY2VzLWNvbnRlbnQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiAwO1xufVxuXG4ub2ZmaWNlLWl0ZW0ge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBmbGV4OiAwIDAgNDUzcHg7XG59XG5cbi5vZmZpY2UtbGVmdCB7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xufVxuXG4ub2ZmaWNlLXJpZ2h0IHtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbn1cblxuLm9mZmljZS1pbWFnZSB7XG4gICAgd2lkdGg6IDQ1M3B4O1xuICAgIGhlaWdodDogMjQ4cHg7XG4gICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luOiAwIGF1dG8gMS41cmVtO1xufVxuXG4ub2ZmaWNlLWRpdmlkZXIge1xuICAgIHdpZHRoOiAxMDBweDtcbiAgICBoZWlnaHQ6IDNweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1hY2NlbnQpO1xuICAgIG1hcmdpbjogMCBhdXRvIDEuNXJlbTtcbn1cblxuLm9mZmljZXMtc2VwYXJhdG9yIHtcbiAgICB3aWR0aDogMTk0cHg7XG4gICAgaGVpZ2h0OiAzcHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYWNjZW50KTtcbiAgICBmbGV4LXNocmluazogMDtcbiAgICBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0O1xuICAgIG1hcmdpbi10b3A6IDE2MHB4O1xufVxuXG4ub2ZmaWNlLXRpdGxlIHtcbiAgICBmb250LWZhbWlseTogJ05vdG8gU2VyaWYnLCBHZW9yZ2lhLCBzZXJpZjtcbiAgICBmb250LXNpemU6IDIwcHg7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBjb2xvcjogIzAyMUUzODtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjc1cmVtO1xufVxuXG4ub2ZmaWNlLWluZm8ge1xuICAgIGZvbnQtZmFtaWx5OiAnTm90byBTYW5zJywgc2Fucy1zZXJpZjtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgY29sb3I6ICMwMjFFMzg7XG4gICAgbWFyZ2luLWJvdHRvbTogMC4yNXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS42O1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA5OTFweCkge1xuICAgIC5vZmZpY2VzLWNvbnRlbnQge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBnYXA6IDJyZW07XG4gICAgfVxuXG4gICAgLm9mZmljZXMtc2VwYXJhdG9yIHtcbiAgICAgICAgd2lkdGg6IDEwMHB4O1xuICAgICAgICBoZWlnaHQ6IDNweDtcbiAgICAgICAgbWFyZ2luOiAxcmVtIGF1dG87XG4gICAgfVxuXG4gICAgLm9mZmljZS1pdGVtIHtcbiAgICAgICAgZmxleDogMSAxIGF1dG87XG4gICAgfVxuXG4gICAgLm9mZmljZS1sZWZ0LFxuICAgIC5vZmZpY2UtcmlnaHQge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgfVxuXG4gICAgLm9mZmljZS1pbWFnZSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXgtd2lkdGg6IDQ1M3B4O1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgfVxufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEZvb3RlclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5mb290ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMyRDNGNTQ7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIHBhZGRpbmc6IDRyZW0gMCAycmVtO1xufVxuXG4uZm9vdGVyLXN1YnZlbmNpb24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgIHBhZGRpbmc6IDEuNXJlbSAwO1xufVxuXG4uZm9vdGVyLXN1YnZlbmNpb24taW1nIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbjogMCBhdXRvO1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAuZm9vdGVyLXN1YnZlbmNpb24taW1nIHtcbiAgICAgICAgbWF4LWhlaWdodDogNjBweDtcbiAgICB9XG59XG5cbmZvb3RlciAucm93IHtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbn1cblxuZm9vdGVyIC5yb3cgPiBbY2xhc3MqPVwiY29sLVwiXTpudGgtY2hpbGQoMyksXG5mb290ZXIgLnJvdyA+IFtjbGFzcyo9XCJjb2wtXCJdOm50aC1jaGlsZCg0KSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuXG4uZm9vdGVyLWxvZ28ge1xuICAgIG1heC13aWR0aDogMjAwcHg7XG59XG5cbi5mb290ZXItdGl0bGUge1xuICAgIGZvbnQtZmFtaWx5OiAnTm90byBTYW5zJywgc2Fucy1zZXJpZjtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW07XG4gICAgY29sb3I6IHdoaXRlO1xufVxuXG4uZm9vdGVyLWxpbmtzIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwO1xufVxuXG4uZm9vdGVyLWxpbmtzIGxpIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG59XG5cbi5mb290ZXItbGlua3MgYSB7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBmb250LWZhbWlseTogJ05vdG8gU2FucycsIHNhbnMtc2VyaWY7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuM3MgZWFzZTtcbn1cblxuLmZvb3Rlci1saW5rcyBhOmhvdmVyIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG59XG5cbi5mb290ZXItdGV4dCB7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIGZvbnQtZmFtaWx5OiAnTm90byBTYW5zJywgc2Fucy1zZXJpZjtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xufVxuXG4uZm9vdGVyLXNvY2lhbCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBnYXA6IDFyZW07XG4gICAgbWFyZ2luLXRvcDogYXV0bztcbn1cblxuLmZvb3Rlci1zb2NpYWwgYSB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgZWFzZTtcbn1cblxuLmZvb3Rlci1zb2NpYWwgYTpob3ZlciB7XG4gICAgb3BhY2l0eTogMC43O1xufVxuXG4uZm9vdGVyLXNvY2lhbC1pY29uIHtcbiAgICB3aWR0aDogMjRweDtcbiAgICBoZWlnaHQ6IDI0cHg7XG4gICAgb2JqZWN0LWZpdDogY29udGFpbjtcbn1cblxuLmZvb3Rlci1saW5rcy1yaWdodCB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG59XG5cbi5mb290ZXItY29weXJpZ2h0IHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICBtYXJnaW4tdG9wOiBhdXRvO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgZm9udC1mYW1pbHk6ICdOb3RvIFNhbnMnLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbn1cblxuLmZvb3Rlci1icmFuZC1uYW1lIHtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBsZXR0ZXItc3BhY2luZzogMC41cHg7XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA5OTFweCkge1xuICAgIC5mb290ZXItbGlua3MtcmlnaHQge1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIH1cblxuICAgIC5mb290ZXItY29weXJpZ2h0IHtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB9XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgTW9iaWxlIE1lbnUgU3R5bGVzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLm1vYmlsZS1zZWFyY2gtaWNvbiB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGNvbG9yOiAjMDIxRTM4O1xuICAgIHBhZGRpbmc6IDAuNXJlbTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuMnMgZWFzZTtcbn1cblxuLm1vYmlsZS1zZWFyY2gtaWNvbjpob3ZlciB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFNlYXJjaCBNb2RhbCBTdHlsZXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnNlYXJjaC1tb2RhbC1jb250ZW50IHtcbiAgICBib3JkZXItcmFkaXVzOiAxNnB4O1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBib3gtc2hhZG93OiAwIDEwcHggNDBweCByZ2JhKDAsIDAsIDAsIDAuMik7XG4gICAgbWF4LXdpZHRoOiA1NjhweDtcbiAgICBtYXJnaW46IDAgYXV0bztcbn1cblxuLnNlYXJjaC1tb2RhbC1oZWFkZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICBwYWRkaW5nOiAxMnB4IHZhcigtLXNwYWNpbmctbSk7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkIHZhcigtLWNvbG9yLXByaW1hcnkpO1xufVxuXG4uc2VhcmNoLW1vZGFsLWhlYWRlcjpoYXMoLmJ0bi1tb2RhbC1iYWNrKSB7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xufVxuXG4uc2VhcmNoLW1vZGFsLWhlYWRlciAuYnRuLWNsb3NlIHtcbiAgICB3aWR0aDogMjRweDtcbiAgICBoZWlnaHQ6IDI0cHg7XG4gICAgb3BhY2l0eTogMTtcbn1cblxuLnNlYXJjaC1tb2RhbC1kaXZpZGVyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDJweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbiAgICBtYXJnaW46IDA7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuLnNlYXJjaC1tb2RhbC1ib2R5IHtcbiAgICBwYWRkaW5nOiAycmVtIDUuNXJlbSAwO1xufVxuXG4uc2VhcmNoLW1vZGFsLWljb24ge1xuICAgIHdpZHRoOiA0OHB4O1xuICAgIGhlaWdodDogNDhweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgbWFyZ2luOiAwIGF1dG8gMS41cmVtO1xufVxuXG4uc2VhcmNoLW1vZGFsLWljb24gc3ZnLFxuLnNlYXJjaC1tb2RhbC1pY29uIGltZyB7XG4gICAgd2lkdGg6IDQ4cHg7XG4gICAgaGVpZ2h0OiA0OHB4O1xufVxuXG4vKiBDb250YWN0IE1vZGFsIEJ1dHRvbiBMaW5rcyAqL1xuLmNvbnRhY3QtbW9kYWwtbGluayB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBnYXA6IDAuNXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmUgIWltcG9ydGFudDtcbiAgICBwYWRkaW5nOiAwLjc1cmVtIDFyZW0gIWltcG9ydGFudDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBib3JkZXI6IDJweCBzb2xpZCAjMDIxRTM4O1xuICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgY29sb3I6ICMwMjFFMzg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC4ycyBlYXNlO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cblxuLmNvbnRhY3QtbW9kYWwtbGluazpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4uY29udGFjdC1tb2RhbC1saW5rOmhvdmVyIHtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBjb2xvcjogIzAyMUUzODtcbn1cblxuLyogTW9kYWwgQmFjayBCdXR0b24gKi9cbi5idG4tbW9kYWwtYmFjayB7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgY29sb3I6ICMwMjFFMzg7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHBhZGRpbmc6IDFweDtcbiAgICB3aWR0aDogMjRweDtcbiAgICBoZWlnaHQ6IDI0cHg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC4ycyBlYXNlO1xufVxuXG4uYnRuLW1vZGFsLWJhY2s6aG92ZXIge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbn1cblxuLyogT2ZmaWNlcyBNb2RhbCBTdHlsZXMgKi9cbi8qIE9mZmljZSBNb2RhbCBTdHlsZXMgKi9cbi5zZWFyY2gtbW9kYWwtZm9ybSAub2ZmaWNlLXNlY3Rpb24ge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwYWRkaW5nOiAwLjc1cmVtIDA7XG59XG5cbi5zZWFyY2gtbW9kYWwtZm9ybSAub2ZmaWNlLXNlY3Rpb246Zmlyc3QtY2hpbGQge1xuICAgIHBhZGRpbmctdG9wOiAwO1xufVxuXG4uc2VhcmNoLW1vZGFsLWZvcm0gLm9mZmljZS10aXRsZSB7XG4gICAgZm9udC1mYW1pbHk6ICdOb3RvIFNlcmlmJywgR2VvcmdpYSwgc2VyaWY7XG4gICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgY29sb3I6ICMwMjFFMzg7XG4gICAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xufVxuXG4uc2VhcmNoLW1vZGFsLWZvcm0gLm9mZmljZS1hZGRyZXNzIHtcbiAgICBjb2xvcjogIzAyMUUzODtcbiAgICBmb250LXNpemU6IDAuOXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS41O1xuICAgIG1hcmdpbi1ib3R0b206IDAuMjVyZW07XG59XG5cbi5zZWFyY2gtbW9kYWwtZm9ybSAub2ZmaWNlLXBob25lIHtcbiAgICBjb2xvcjogIzAyMUUzODtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBmb250LXNpemU6IDAuOXJlbTtcbn1cblxuLnNlYXJjaC1tb2RhbC1mb3JtIC5vZmZpY2UtcGhvbmU6aG92ZXIge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi5zZWFyY2gtbW9kYWwtZm9ybSAub2ZmaWNlLWRpdmlkZXIge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMnB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luOiAwLjc1cmVtIDA7XG59XG5cbi5zZWFyY2gtbW9kYWwtdGl0bGUge1xuICAgIGZvbnQtZmFtaWx5OiAnTm90byBTZXJpZicsIEdlb3JnaWEsIHNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMS43NXJlbTtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGNvbG9yOiAjMDIxRTM4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBtYXJnaW4tYm90dG9tOiAycmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjM7XG59XG5cbi5zZWFyY2gtbW9kYWwtc3VidGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMC45NXJlbTtcbiAgICBjb2xvcjogIzAyMUUzODtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbWFyZ2luLXRvcDogLTFyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMS41cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG59XG5cbi5zZWFyY2gtbW9kYWwtdGV4dGFyZWEge1xuICAgIHJlc2l6ZTogdmVydGljYWw7XG4gICAgbWluLWhlaWdodDogMTAwcHg7XG4gICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG59XG5cbi5zZWFyY2gtbW9kYWwtZm9ybSB7XG4gICAgbWFyZ2luLXRvcDogMS41cmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAxLjVyZW07XG59XG5cbi5zZWFyY2gtbW9kYWwtbGFiZWwge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtc2l6ZTogMC45NXJlbTtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGNvbG9yOiAjMDIxRTM4O1xuICAgIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbn1cblxuLnNlYXJjaC1tb2RhbC1zZWxlY3QsXG4uc2VhcmNoLW1vZGFsLWlucHV0IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBib3JkZXI6IDJweCBzb2xpZCAjMDIxRTM4O1xuICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICBwYWRkaW5nOiAwLjc1cmVtIDFyZW07XG4gICAgZm9udC1mYW1pbHk6ICdOb3RvIFNhbnMnLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICBjb2xvcjogIzAyMUUzODtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjJzIGVhc2U7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xufVxuXG4uc2VhcmNoLW1vZGFsLXNlbGVjdCB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScxNicgaGVpZ2h0PScxNicgZmlsbD0nJTIzMDIxRTM4JyB2aWV3Qm94PScwIDAgMTYgMTYnJTNFJTNDcGF0aCBmaWxsLXJ1bGU9J2V2ZW5vZGQnIGQ9J00xLjY0NiA0LjY0NmEuNS41IDAgMCAxIC43MDggMEw4IDEwLjI5M2w1LjY0Ni01LjY0N2EuNS41IDAgMCAxIC43MDguNzA4bC02IDZhLjUuNSAwIDAgMS0uNzA4IDBsLTYtNmEuNS41IDAgMCAxIDAtLjcwOHonLyUzRSUzQy9zdmclM0VcIik7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCAxcmVtIGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDE2cHg7XG4gICAgcGFkZGluZy1yaWdodDogM3JlbTtcbn1cblxuLyogRWxpbWluYXIgZmxlY2hhIGR1cGxpY2FkYSBlbiBjdXN0b20tZHJvcGRvd25zICovXG4uY3VzdG9tLWRyb3Bkb3duLXRvZ2dsZS5zZWFyY2gtbW9kYWwtc2VsZWN0IHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICAgIHBhZGRpbmctcmlnaHQ6IDFyZW07XG59XG5cbi5zZWFyY2gtbW9kYWwtc2VsZWN0OmZvY3VzLFxuLnNlYXJjaC1tb2RhbC1pbnB1dDpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIG91dGxpbmU6IG5vbmU7XG59XG5cbi5zZWFyY2gtbW9kYWwtaW5wdXQ6OnBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogI0EwQUVDMDtcbn1cblxuLnNlYXJjaC1tb2RhbC1kaXZpZGVyLWJvdHRvbSB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSArIDRyZW0pO1xuICAgIGhlaWdodDogMXB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xuICAgIG1hcmdpbjogMS41cmVtIC0ycmVtIDA7XG59XG5cbi8qIFByaXZhY3kgUG9saWN5IExpbmsgKi9cbi5wcml2YWN5LWxpbmsge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjJzIGVhc2U7XG59XG5cbi5wcml2YWN5LWxpbms6aG92ZXIge1xuICAgIGNvbG9yOiAjMDIxRTM4O1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuXG4uYnRuLXNlYXJjaC1tb2RhbCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzMwNEM1RTtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgcGFkZGluZzogMXJlbTtcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XG4gICAgbWFyZ2luLXRvcDogMS41cmVtO1xufVxuXG4uYnRuLXNlYXJjaC1tb2RhbDpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtZGFyayk7XG59XG5cbi8qIEZsb29yIFBsYW5zIExpc3QgKi9cbi5mbG9vci1wbGFucy1saXN0IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiAwLjc1cmVtO1xufVxuXG4uZmxvb3ItcGxhbi1pdGVtIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiAxcmVtO1xuICAgIHBhZGRpbmc6IDFyZW07XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0Y3RkFGQztcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjRTJFOEYwO1xuICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgY29sb3I6ICMwMjFFMzg7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcbn1cblxuLmZsb29yLXBsYW4taXRlbTpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0VERjJGNztcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xuICAgIGNvbG9yOiAjMDIxRTM4O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLmZsb29yLXBsYW4taWNvbiB7XG4gICAgd2lkdGg6IDQwcHg7XG4gICAgaGVpZ2h0OiA0MHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xuICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgZmxleC1zaHJpbms6IDA7XG59XG5cbi5mbG9vci1wbGFuLWljb24gaSB7XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgZm9udC1zaXplOiAxLjI1cmVtO1xufVxuXG4uZmxvb3ItcGxhbi10aXRsZSB7XG4gICAgZmxleDogMTtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbn1cblxuLmZsb29yLXBsYW4tZG93bmxvYWQge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgb3BhY2l0eTogMC42O1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyBlYXNlO1xufVxuXG4uZmxvb3ItcGxhbi1pdGVtOmhvdmVyIC5mbG9vci1wbGFuLWRvd25sb2FkIHtcbiAgICBvcGFjaXR5OiAxO1xufVxuXG4vKiBFbmVyZ3kgQ2VydGlmaWNhdGUgTGlzdCAqL1xuLmVuZXJneS1jZXJ0aWZpY2F0ZS1saXN0IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiAwLjc1cmVtO1xufVxuXG4uZW5lcmd5LWl0ZW0ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDFyZW07XG4gICAgcGFkZGluZzogMXJlbTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjdGQUZDO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNFMkU4RjA7XG4gICAgYm9yZGVyLXJhZGl1czogOHB4O1xufVxuXG4uZW5lcmd5LWljb24ge1xuICAgIHdpZHRoOiA0MHB4O1xuICAgIGhlaWdodDogNDBweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGZsZXgtc2hyaW5rOiAwO1xufVxuXG4uZW5lcmd5LWljb24gaSB7XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgZm9udC1zaXplOiAxLjI1cmVtO1xufVxuXG4uZW5lcmd5LWNvbnRlbnQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IDAuMjVyZW07XG59XG5cbi5lbmVyZ3ktbGFiZWwge1xuICAgIGZvbnQtc2l6ZTogMC44NXJlbTtcbiAgICBjb2xvcjogIzcxODA5NjtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGZvbnQtZmFtaWx5OiAnTm90byBTYW5zJztcbn1cblxuLmVuZXJneS12YWx1ZSB7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgY29sb3I6ICMwMjFFMzg7XG59XG5cbi8qIEVuZXJneSBSYXRpbmcgQ29sb3JzICovXG4uZW5lcmd5LXJhdGluZy1hIHtcbiAgICBjb2xvcjogIzIyQzU1RTtcbn1cblxuLmVuZXJneS1yYXRpbmctYiB7XG4gICAgY29sb3I6ICM4NENDMTY7XG59XG5cbi5lbmVyZ3ktcmF0aW5nLWMge1xuICAgIGNvbG9yOiAjRUFCMzA4O1xufVxuXG4uZW5lcmd5LXJhdGluZy1kIHtcbiAgICBjb2xvcjogI0Y5NzMxNjtcbn1cblxuLmVuZXJneS1yYXRpbmctZSB7XG4gICAgY29sb3I6ICNFRjQ0NDQ7XG59XG5cbi5lbmVyZ3ktcmF0aW5nLWYge1xuICAgIGNvbG9yOiAjREMyNjI2O1xufVxuXG4uZW5lcmd5LXJhdGluZy1nIHtcbiAgICBjb2xvcjogIzk5MUIxQjtcbn1cblxuLmJ0bi1zZWFyY2gtbW9kYWwgaW1nIHtcbiAgICB3aWR0aDogMjBweDtcbiAgICBoZWlnaHQ6IDIwcHg7XG4gICAgZmlsdGVyOiBicmlnaHRuZXNzKDApIGludmVydCgxKTtcbn1cblxuLmJ0bi1zZWFyY2gtbW9kYWw6aG92ZXIgaW1nIHtcbiAgICBmaWx0ZXI6IGJyaWdodG5lc3MoMCk7XG59XG5cbi8qIEN1c3RvbSBEcm9wZG93biBTdHlsZXMgKi9cbi5jdXN0b20tZHJvcGRvd24ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmN1c3RvbS1kcm9wZG93bi10b2dnbGUge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xufVxuXG4uY3VzdG9tLWRyb3Bkb3duLXRvZ2dsZTpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbn1cblxuLmN1c3RvbS1kcm9wZG93bi1hcnJvdyB7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMnMgZWFzZTtcbiAgICBmbGV4LXNocmluazogMDtcbn1cblxuLmN1c3RvbS1kcm9wZG93bi5hY3RpdmUgLmN1c3RvbS1kcm9wZG93bi1hcnJvdyB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbn1cblxuLmN1c3RvbS1kcm9wZG93bi1tZW51IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiBjYWxjKDEwMCUgKyAwLjVyZW0pO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgICBib3JkZXI6IDJweCBzb2xpZCAjMDIxRTM4O1xuICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICBib3gtc2hhZG93OiAwIDRweCAxMnB4IHJnYmEoMCwgMCwgMCwgMC4xNSk7XG4gICAgbWF4LWhlaWdodDogMjUwcHg7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICB6LWluZGV4OiAxMDAwO1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgcGFkZGluZzogMC41cmVtIDA7XG59XG5cbi5jdXN0b20tZHJvcGRvd24uYWN0aXZlIC5jdXN0b20tZHJvcGRvd24tbWVudSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5jdXN0b20tZHJvcGRvd24tb3B0aW9uIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgcGFkZGluZzogMC43NXJlbSAxcmVtO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMnMgZWFzZTtcbiAgICBtYXJnaW46IDA7XG4gICAgZm9udC1mYW1pbHk6ICdOb3RvIFNhbnMnO1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbn1cblxuLmN1c3RvbS1kcm9wZG93bi1vcHRpb246aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNGM0YzRjM7XG59XG5cbi5jdXN0b20tZHJvcGRvd24tb3B0aW9uIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSB7XG4gICAgd2lkdGg6IDIwcHg7XG4gICAgaGVpZ2h0OiAyMHB4O1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICMwMjFFMzg7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgIG1hcmdpbi1yaWdodDogMC43NXJlbTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmbGV4LXNocmluazogMDtcbn1cblxuLmN1c3RvbS1kcm9wZG93bi1vcHRpb24gaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdOmNoZWNrZWQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMjFFMzg7XG4gICAgYm9yZGVyLWNvbG9yOiAjMDIxRTM4O1xufVxuXG4uY3VzdG9tLWRyb3Bkb3duLW9wdGlvbiBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl06Y2hlY2tlZDo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiA1cHg7XG4gICAgdG9wOiAxcHg7XG4gICAgd2lkdGg6IDZweDtcbiAgICBoZWlnaHQ6IDEwcHg7XG4gICAgYm9yZGVyOiBzb2xpZCB3aGl0ZTtcbiAgICBib3JkZXItd2lkdGg6IDAgMnB4IDJweCAwO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbn1cblxuLmN1c3RvbS1kcm9wZG93bi1vcHRpb24gc3BhbiB7XG4gICAgY29sb3I6ICMwMjFFMzg7XG4gICAgZm9udC1zaXplOiAxcmVtO1xufVxuXG4vKiBTaW5nbGUgU2VsZWN0IERyb3Bkb3duICh3aXRob3V0IGNoZWNrYm94ZXMpICovXG4uY3VzdG9tLWRyb3Bkb3duLW1lbnUuc2luZ2xlLXNlbGVjdCAuY3VzdG9tLWRyb3Bkb3duLW9wdGlvbiB7XG4gICAgcGFkZGluZzogMC43NXJlbSAxcmVtO1xufVxuXG4vKiBNdWx0aSBTZWxlY3QgRHJvcGRvd24gd2l0aCBjaGVja2JveGVzICovXG4uY3VzdG9tLWRyb3Bkb3duLW9wdGlvbi1jaGVja2JveCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHBhZGRpbmc6IDAuNzVyZW0gMXJlbTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzIGVhc2U7XG4gICAgbWFyZ2luOiAwO1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xufVxuXG4uY3VzdG9tLWRyb3Bkb3duLW9wdGlvbi1jaGVja2JveDpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0YzRjNGMztcbn1cblxuLmN1c3RvbS1kcm9wZG93bi1vcHRpb24tY2hlY2tib3ggaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcbiAgICB3aWR0aDogMjBweDtcbiAgICBoZWlnaHQ6IDIwcHg7XG4gICAgYm9yZGVyOiAycHggc29saWQgIzAyMUUzODtcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjc1cmVtO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbi5jdXN0b20tZHJvcGRvd24tb3B0aW9uLWNoZWNrYm94IGlucHV0W3R5cGU9XCJjaGVja2JveFwiXTpjaGVja2VkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDIxRTM4O1xuICAgIGJvcmRlci1jb2xvcjogIzAyMUUzODtcbn1cblxuLmN1c3RvbS1kcm9wZG93bi1vcHRpb24tY2hlY2tib3ggaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdOmNoZWNrZWQ6OmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogNXB4O1xuICAgIHRvcDogMXB4O1xuICAgIHdpZHRoOiA2cHg7XG4gICAgaGVpZ2h0OiAxMHB4O1xuICAgIGJvcmRlcjogc29saWQgd2hpdGU7XG4gICAgYm9yZGVyLXdpZHRoOiAwIDJweCAycHggMDtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG59XG5cbi5jdXN0b20tZHJvcGRvd24tb3B0aW9uLWNoZWNrYm94IHNwYW4ge1xuICAgIGNvbG9yOiAjMDIxRTM4O1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICBmb250LWZhbWlseTogJ05vdG8gU2FucycsIHNhbnMtc2VyaWY7XG59XG5cbi8qIE11bHRpLXNlbGVjdCBkcm9wZG93biBtZW51IHdpdGggc2Nyb2xsYmFyICovXG4uY3VzdG9tLWRyb3Bkb3duLW1lbnUubXVsdGktc2VsZWN0IHtcbiAgICBtYXgtaGVpZ2h0OiAyODBweDtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xufVxuXG4uY3VzdG9tLWRyb3Bkb3duLW1lbnUuc2luZ2xlLXNlbGVjdCAuY3VzdG9tLWRyb3Bkb3duLW9wdGlvbiBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5jdXN0b20tZHJvcGRvd24tbWVudS5zaW5nbGUtc2VsZWN0IC5jdXN0b20tZHJvcGRvd24tb3B0aW9uLnNlbGVjdGVkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRTNFQURFO1xufVxuXG4uY3VzdG9tLWRyb3Bkb3duLW1lbnUuc2luZ2xlLXNlbGVjdCAuY3VzdG9tLWRyb3Bkb3duLW9wdGlvbi5zZWxlY3RlZCBzcGFuIHtcbiAgICBmb250LXdlaWdodDogNjAwO1xufVxuXG4vKiBNb2JpbGUgTWVudSBPdmVybGF5IC0gRnVsbCBTY3JlZW4gKi9cbkBtZWRpYSAobWF4LXdpZHRoOiA5OTEuOThweCkge1xuICAgIC5tb2JpbGUtcHQtNSB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAzcmVtICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLm1vYmlsZS1wYi01IHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDNyZW0gIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAubW9iaWxlLW1lbnUtb3ZlcmxheS5zaG93IHtcbiAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNGQUZBRkE7XG4gICAgICAgIHotaW5kZXg6IDk5OTk7XG4gICAgICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICB9XG5cbiAgICAubW9iaWxlLW1lbnUtb3ZlcmxheS5jb2xsYXBzaW5nIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAubW9iaWxlLW1lbnUtY2xvc2Uge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLW0pO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWNvbG9yLXByaW1hcnkpO1xuICAgIH1cblxuICAgIC5tb2JpbGUtbWVudS1jbG9zZSAuYnRuLWNsb3NlIHtcbiAgICAgICAgd2lkdGg6IDI0cHg7XG4gICAgICAgIGhlaWdodDogMjRweDtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG5cbiAgICAubW9iaWxlLW1lbnUtZGl2aWRlciB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDJweDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDJyZW07XG4gICAgfVxuXG4gICAgLm1vYmlsZS1tZW51LWNvbnRlbnQge1xuICAgICAgICBmbGV4OiAxO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBwYWRkaW5nOiAwIDJyZW07XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIC5tb2JpbGUtbmF2LWl0ZW1zIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbiAhaW1wb3J0YW50O1xuICAgICAgICBhbGlnbi1pdGVtczogc3RyZXRjaCAhaW1wb3J0YW50O1xuICAgICAgICBnYXA6IDA7XG4gICAgICAgIGZsZXg6IDE7XG4gICAgfVxuXG4gICAgLm1vYmlsZS1uYXYtaXRlbSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIHBhZGRpbmc6IDFyZW0gMDtcbiAgICB9XG5cbiAgICAubW9iaWxlLW5hdi1hcnJvdyB7XG4gICAgICAgIHdpZHRoOiAyNHB4O1xuICAgICAgICBoZWlnaHQ6IDI0cHg7XG4gICAgICAgIGNvbG9yOiAjMDIxRTM4O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDFyZW07XG4gICAgfVxuXG4gICAgLm1vYmlsZS1uYXYtaXRlbSAubmF2LWxpbmsge1xuICAgICAgICBmbGV4OiAxO1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICBjb2xvcjogIzMwNEM1RTtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICB9XG5cbiAgICAubW9iaWxlLWxhbmctaXRlbSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogcmlnaHQ7XG4gICAgICAgIHBhZGRpbmc6IDFyZW0gMDtcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICBjb2xvcjogIzMwNEM1RTtcbiAgICAgICAgYm9yZGVyLXRvcDogMnB4IHNvbGlkIHZhcigtLWNvbG9yLXByaW1hcnkpO1xuICAgIH1cblxuICAgIC5tb2JpbGUtbGFuZy1idXR0b24ge1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBjb2xvcjogIzMwNEM1RTtcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICBwYWRkaW5nOiAwLjVyZW0gMXJlbTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB9XG5cbiAgICAubW9iaWxlLWxhbmctYnV0dG9uOmhvdmVyLFxuICAgIC5tb2JpbGUtbGFuZy1idXR0b246Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBjb2xvcjogIzAyMUUzODtcbiAgICB9XG5cbiAgICAubW9iaWxlLW1lbnUtZm9vdGVyIHtcbiAgICAgICAgcGFkZGluZzogMnJlbTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0ZBRkFGQTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbiAgICB9XG5cbiAgICAuYnRuLW1vYmlsZS1jb250YWN0IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzMwNEM1RTtcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgcGFkZGluZzogMXJlbSAxLjVyZW07XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xuICAgIH1cblxuICAgIC5idG4tbW9iaWxlLWNvbnRhY3QgaW1nIHtcbiAgICAgICAgZmlsdGVyOiBicmlnaHRuZXNzKDApIGludmVydCgxKTtcbiAgICB9XG5cbiAgICAuYnRuLW1vYmlsZS1jb250YWN0OmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LWRhcmspO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgfVxuXG4gICAgLm1vYmlsZS1sYW5nLWJ1dHRvbiBpbWcge1xuICAgICAgICB3aWR0aDogMjRweDtcbiAgICAgICAgaGVpZ2h0OiAyNHB4O1xuICAgIH1cblxuICAgIC5idG4tbW9iaWxlLXNlYXJjaCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xuICAgICAgICBjb2xvcjogIzAyMUUzODtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBwYWRkaW5nOiAxcmVtIDEuNXJlbTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XG4gICAgfVxuXG4gICAgLmJ0bi1tb2JpbGUtc2VhcmNoOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgICAgIGNvbG9yOiAjMDIxRTM4O1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgfVxuXG4gICAgLyogSGlkZSBkZXNrdG9wIGVsZW1lbnRzIG9uIG1vYmlsZSAqL1xuICAgIC5kZXNrdG9wLW9ubHkge1xuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuXG4vKiBEZXNrdG9wIC0gSGlkZSBtb2JpbGUtb25seSBlbGVtZW50cyAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgLm1vYmlsZS1tZW51LWNsb3NlLFxuICAgIC5tb2JpbGUtbWVudS1kaXZpZGVyLFxuICAgIC5tb2JpbGUtbWVudS1mb290ZXIsXG4gICAgLm1vYmlsZS1uYXYtYXJyb3csXG4gICAgLm1vYmlsZS1sYW5nLWl0ZW0ge1xuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLm1vYmlsZS1uYXYtaXRlbSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB9XG5cbiAgICAubmF2YmFyIC5jb250YWluZXIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgfVxuXG4gICAgLm1vYmlsZS1tZW51LW92ZXJsYXkge1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xuICAgICAgICBmbGV4OiAxO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgIH1cblxuICAgIC5tb2JpbGUtbWVudS1jb250ZW50IHtcbiAgICAgICAgZGlzcGxheTogY29udGVudHM7XG4gICAgfVxuXG4gICAgLm1vYmlsZS1uYXYtaXRlbXMge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93ICFpbXBvcnRhbnQ7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXIgIWltcG9ydGFudDtcbiAgICAgICAgZ2FwOiAwLjVyZW07XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEZlYXR1cmVkIFByb3BlcnR5ICYgU2xpZGVyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5mZWF0dXJlZC1wcm9wZXJ0eSB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xufVxuXG4uZmVhdHVyZWQtcHJvcGVydHkgLnByb3BlcnR5LWNhcmQge1xuICAgIGNvbnRhaW5lci10eXBlOiBub3JtYWw7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xufVxuXG4uZmVhdHVyZWQtcHJvcGVydHkgLnByb3BlcnR5LWNhcmQgcGljdHVyZSxcbi5mZWF0dXJlZC1wcm9wZXJ0eSAucHJvcGVydHktY2FyZCA+IHBpY3R1cmUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogMTQ4OHB4O1xuICAgIGhlaWdodDogNDk2cHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBtYXJnaW46IDAgYXV0bztcbn1cblxuLmZlYXR1cmVkLXByb3BlcnR5IC5wcm9wZXJ0eS1jYXJkIGltZyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgIG9iamVjdC1wb3NpdGlvbjogY2VudGVyO1xufVxuXG4ucHJvcGVydHktc2xpZGVyLXdyYXBwZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLnNsaWRlci1jdGEge1xuICAgIG1hcmdpbi10b3A6IDZyZW07XG59XG5cbi5wcm9wZXJ0eS1zd2lwZXIge1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xufVxuXG4vKiBFcXVhbCBoZWlnaHQgc2xpZGVzICovXG4ucHJvcGVydHktc3dpcGVyIC5zd2lwZXItd3JhcHBlciB7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG59XG5cbi5wcm9wZXJ0eS1zd2lwZXIgLnN3aXBlci1zbGlkZSB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIGRpc3BsYXk6IGZsZXg7XG59XG5cbi5wcm9wZXJ0eS1zd2lwZXIgLnN3aXBlci1zbGlkZSAucHJvcGVydHktbGluayB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG59XG5cbi5wcm9wZXJ0eS1zd2lwZXIgLnN3aXBlci1zbGlkZSAucHJvcGVydHktY2FyZCB7XG4gICAgY29udGFpbmVyLXR5cGU6IG5vcm1hbDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgIC5wcm9wZXJ0eS1zd2lwZXIge1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIH1cbn1cblxuLnByb3BlcnR5LXN3aXBlciAucHJvcGVydHktY2FyZCBwaWN0dXJlLFxuLnByb3BlcnR5LXN3aXBlciAucHJvcGVydHktY2FyZCA+IHBpY3R1cmUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogNzEycHg7XG4gICAgaGVpZ2h0OiA0MDBweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIG1hcmdpbjogMCBhdXRvO1xufVxuXG4ucHJvcGVydHktc3dpcGVyIC5wcm9wZXJ0eS1jYXJkIGltZyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgIG9iamVjdC1wb3NpdGlvbjogY2VudGVyO1xufVxuXG4ucHJvcGVydHktc3dpcGVyIC5zd2lwZXItYnV0dG9uLW5leHQsXG4ucHJvcGVydHktc3dpcGVyIC5zd2lwZXItYnV0dG9uLXByZXYge1xuICAgIGNvbG9yOiAjMzc0MTUxO1xuICAgIGJhY2tncm91bmQ6IHdoaXRlO1xuICAgIHdpZHRoOiA0OHB4O1xuICAgIGhlaWdodDogNDhweDtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI0U1RTdFQjtcbiAgICBib3gtc2hhZG93OiAwIDFweCAycHggcmdiYSgwLCAwLCAwLCAwLjA1KTtcbiAgICB0b3A6IDE2MHB4O1xufVxuXG4ucHJvcGVydHktc3dpcGVyIC5zd2lwZXItYnV0dG9uLW5leHQ6OmFmdGVyLFxuLnByb3BlcnR5LXN3aXBlciAuc3dpcGVyLWJ1dHRvbi1wcmV2OjphZnRlciB7XG4gICAgZm9udC1zaXplOiAyNHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA5MDA7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjUpO1xufVxuXG4ucHJvcGVydHktc3dpcGVyIC5zd2lwZXItYnV0dG9uLW5leHQgc3ZnLFxuLnByb3BlcnR5LXN3aXBlciAuc3dpcGVyLWJ1dHRvbi1wcmV2IHN2ZyB7XG4gICAgd2lkdGg6IDUwJTtcbiAgICBoZWlnaHQ6IDUwJTtcbiAgICBzdHJva2Utd2lkdGg6IDIuNTtcbn1cblxuLnByb3BlcnR5LXN3aXBlciAuc3dpcGVyLWJ1dHRvbi1uZXh0IHtcbiAgICByaWdodDogMTBweDtcbn1cblxuLnByb3BlcnR5LXN3aXBlciAuc3dpcGVyLWJ1dHRvbi1wcmV2IHtcbiAgICBsZWZ0OiAxMHB4O1xufVxuXG4ucHJvcGVydHktc3dpcGVyIC5zd2lwZXItcGFnaW5hdGlvbiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJvdHRvbTogMDtcbiAgICBtYXJnaW4tdG9wOiA0MHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDEyOHB4O1xufVxuXG4ucHJvcGVydHktc3dpcGVyIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWFjY2VudCk7XG4gICAgd2lkdGg6IDE2cHg7XG4gICAgaGVpZ2h0OiAxNnB4O1xuICAgIG9wYWNpdHk6IDAuMztcbn1cblxuLnByb3BlcnR5LXN3aXBlciAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LWFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYWNjZW50KTtcbiAgICBvcGFjaXR5OiAxO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFJlc3BvbnNpdmVcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgLyogUHJldmVuaXIgc2Nyb2xsIGhvcml6b250YWwgKGNsaXAgbm8gcm9tcGUgc3RpY2t5KSAqL1xuICAgIGh0bWwsIGJvZHkge1xuICAgICAgICBvdmVyZmxvdy14OiBjbGlwO1xuICAgIH1cblxuICAgIC5jb250YWluZXIge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDI0cHg7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDI0cHg7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAuaGVyby1zZWN0aW9uIHtcbiAgICAgICAgaGVpZ2h0OiA0ODBweDtcbiAgICB9XG5cbiAgICAuaGVyby1zZWN0aW9uICsgLnNlY3Rpb24td2hpdGUge1xuICAgICAgICBwYWRkaW5nOiAxNXJlbSAwIDVyZW07XG4gICAgfVxuXG4gICAgLmhlcm8tY29udGVudCBoMSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMi41cmVtO1xuICAgIH1cblxuICAgIC5zZWN0aW9uLXN1YnRpdGxlLFxuICAgIC5wcm9wZXJ0eS1sb2NhdGlvbixcbiAgICAucHJvcGVydHktcHJpY2Uge1xuICAgICAgICBmb250LXNpemU6IDFyZW07XG4gICAgfVxuXG4gICAgLnNlY3Rpb24td2hpdGUgLnNlY3Rpb24tdGl0bGUgKyAuc2VjdGlvbi1zdWJ0aXRsZSB7XG4gICAgICAgIG1heC13aWR0aDogMjAwcHggIWltcG9ydGFudDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICB9XG5cbiAgICAuc3dpcGVyLWJ1dHRvbi1uZXh0LFxuICAgIC5zd2lwZXItYnV0dG9uLXByZXYge1xuICAgICAgICB3aWR0aDogMjRweDtcbiAgICAgICAgaGVpZ2h0OiAyNHB4O1xuICAgIH1cblxuICAgIC5wcm9wZXJ0eS1zd2lwZXIgLnN3aXBlci1idXR0b24tbmV4dCxcbiAgICAucHJvcGVydHktc3dpcGVyIC5zd2lwZXItYnV0dG9uLXByZXYge1xuICAgICAgICB3aWR0aDogMjRweCAhaW1wb3J0YW50O1xuICAgICAgICBoZWlnaHQ6IDI0cHggIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAucHJvcGVydHktc3dpcGVyIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQge1xuICAgICAgICB3aWR0aDogOHB4O1xuICAgICAgICBoZWlnaHQ6IDhweDtcbiAgICB9XG5cbiAgICAucHJvcGVydHktZGV0YWlsLXN3aXBlciAuc3dpcGVyLWJ1dHRvbi1uZXh0LFxuICAgIC5wcm9wZXJ0eS1kZXRhaWwtc3dpcGVyIC5zd2lwZXItYnV0dG9uLXByZXYge1xuICAgICAgICB3aWR0aDogMjRweCAhaW1wb3J0YW50O1xuICAgICAgICBoZWlnaHQ6IDI0cHggIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAuc2VjdGlvbi10aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMzJweDtcbiAgICAgICAgZ2FwOiAycmVtO1xuICAgIH1cblxuICAgIC5zZWN0aW9uLXRpdGxlOjpiZWZvcmUsXG4gICAgLnNlY3Rpb24tdGl0bGU6OmFmdGVyIHtcbiAgICAgICAgbWluLXdpZHRoOiA0MHB4O1xuICAgICAgICBtYXgtd2lkdGg6IDgwcHg7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgfVxuXG4gICAgLnNlYXJjaC1ib3gge1xuICAgICAgICBwYWRkaW5nOiAxcmVtO1xuICAgICAgICBiYWNrZ3JvdW5kOiAjMzA0QzVFO1xuICAgICAgICBib3R0b206IC0xNjVweDtcbiAgICB9XG5cbiAgICAuc2VhcmNoLWJveCAuY29sLWF1dG8sXG4gICAgLnNlYXJjaC1ib3ggLmNvbCxcbiAgICAucHJvbW90aW9ucy1zZWFyY2gtYm94IC5jb2wtYXV0byxcbiAgICAucHJvbW90aW9ucy1zZWFyY2gtYm94IC5jb2wge1xuICAgICAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgIH1cblxuICAgIC5zZWFyY2gtYm94IC5jb2wtYXV0bzpsYXN0LWNoaWxkLFxuICAgIC5wcm9tb3Rpb25zLXNlYXJjaC1ib3ggLmNvbC1hdXRvOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tdG9wOiAxcmVtO1xuICAgIH1cblxuICAgIC5wcm9tb3Rpb25zLXNlYXJjaC1ib3gge1xuICAgICAgICBwYWRkaW5nOiAxcmVtO1xuICAgIH1cblxuICAgIC5zZWFyY2gtYm94LXRpcG8sXG4gICAgLnNlYXJjaC1ib3gtdWJpY2FjaW9uLFxuICAgIC5zZWFyY2gtYm94LWJ1dHRvbiB7XG4gICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICAgIG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgICBmb250LXNpemU6IDFyZW0gIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAuY3VzdG9tLXNlbGVjdC1idG4uc2VhcmNoLWJveC10aXBvLFxuICAgIC5jdXN0b20tc2VsZWN0LWJ0bi5zZWFyY2gtYm94LXViaWNhY2lvbiB7XG4gICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICAgIG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC8qIFNlYXJjaCBCb3ggTW9iaWxlIC0gVmVyc2nDs24gU2ltcGxlICovXG4gICAgLnNlYXJjaC1ib3gtbW9iaWxlIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgLnNlYXJjaC1ib3gtbGFiZWwtbW9iaWxlIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgICAgZm9udC1mYW1pbHk6ICdOb3RvIFNhbnMnLCBzYW5zLXNlcmlmO1xuICAgICAgICBmb250LXNpemU6IDAuOTVyZW07XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICB9XG5cbiAgICAuc2VhcmNoLWJveC1tb2JpbGUtcm93IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZ2FwOiAwLjVyZW07XG4gICAgfVxuXG4gICAgLnNlYXJjaC1ib3gtaW5wdXQtbW9iaWxlIHtcbiAgICAgICAgZmxleDogMTtcbiAgICAgICAgaGVpZ2h0OiA0OHB4O1xuICAgICAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgICAgIHBhZGRpbmc6IDAgMXJlbTtcbiAgICAgICAgZm9udC1mYW1pbHk6ICdOb3RvIFNhbnMnLCBzYW5zLXNlcmlmO1xuICAgICAgICBmb250LXNpemU6IDAuOTVyZW07XG4gICAgICAgIGNvbG9yOiAjMzA0QzVFO1xuICAgIH1cblxuICAgIC5zZWFyY2gtYm94LWlucHV0LW1vYmlsZTo6cGxhY2Vob2xkZXIge1xuICAgICAgICBjb2xvcjogIzlDQTNBRjtcbiAgICB9XG5cbiAgICAuc2VhcmNoLWJveC1idG4tbW9iaWxlIHtcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICAgIHdpZHRoOiA0OHB4O1xuICAgICAgICBoZWlnaHQ6IDQ4cHg7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cblxuICAgIC5zZWFyY2gtYm94LWJ0bi1maWx0ZXJzIHtcbiAgICAgICAgYmFja2dyb3VuZDogd2hpdGU7XG4gICAgfVxuXG4gICAgLnNlYXJjaC1ib3gtYnRuLXNlYXJjaCB7XG4gICAgICAgIGJhY2tncm91bmQ6ICNENEFGMzc7XG4gICAgfVxuXG4gICAgLnByb3BlcnR5LWZlYXR1cmVzIHtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICBnYXA6IDFyZW07XG4gICAgfVxuXG4gICAgLyogRmVhdHVyZWQgcHJvcGVydHkgLSByZWR1Y2UgaGVpZ2h0IG9uIG1vYmlsZSAqL1xuICAgIC5mZWF0dXJlZC1wcm9wZXJ0eSAucHJvcGVydHktY2FyZCBwaWN0dXJlLFxuICAgIC5mZWF0dXJlZC1wcm9wZXJ0eSAucHJvcGVydHktY2FyZCA+IHBpY3R1cmUge1xuICAgICAgICBoZWlnaHQ6IDI1MHB4O1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgLyogU2xpZGVyIGNhcmRzIC0gcmVkdWNlIGhlaWdodCBvbiBtb2JpbGUgKi9cbiAgICAucHJvcGVydHktc3dpcGVyIC5wcm9wZXJ0eS1jYXJkIHBpY3R1cmUsXG4gICAgLnByb3BlcnR5LXN3aXBlciAucHJvcGVydHktY2FyZCA+IHBpY3R1cmUge1xuICAgICAgICBoZWlnaHQ6IDIyMHB4O1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgLyogMy1jb2x1bW4gZ3JpZCBjYXJkcyAtIHJlZHVjZSBoZWlnaHQgb24gbW9iaWxlICovXG4gICAgLnJvdy5nLTQgLmNvbC1sZy00IC5wcm9wZXJ0eS1jYXJkIHBpY3R1cmUsXG4gICAgLnJvdy5nLTQgLmNvbC1sZy00IC5wcm9wZXJ0eS1jYXJkID4gcGljdHVyZSB7XG4gICAgICAgIGhlaWdodDogMjAwcHg7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAvKiBQcm9wZXJ0eSB0aXRsZSBzaXplcyBvbiBtb2JpbGUgKi9cbiAgICAuZmVhdHVyZWQtcHJvcGVydHkgLnByb3BlcnR5LWNhcmQgLnByb3BlcnR5LXRpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiAyOHB4O1xuICAgIH1cblxuICAgIC5wcm9wZXJ0eS1jYXJkIC5wcm9wZXJ0eS10aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICB9XG5cbiAgICAvKiBTZWFyY2ggbW9kYWwgLSByZWR1Y2UgcGFkZGluZyBhbmQgYWRqdXN0IHNwYWNpbmcgb24gbW9iaWxlICovXG4gICAgLnNlYXJjaC1tb2RhbC1jb250ZW50IHtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICBtYXJnaW46IDAgMXJlbTtcbiAgICB9XG5cbiAgICAuc2VhcmNoLW1vZGFsLWJvZHkge1xuICAgICAgICBwYWRkaW5nOiAxLjVyZW0gMS41cmVtIDA7XG4gICAgfVxuXG4gICAgLnNlYXJjaC1tb2RhbC10aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgIH1cblxuICAgIC5zZWFyY2gtbW9kYWwtc3VidGl0bGUge1xuICAgICAgICBmb250LXNpemU6IDAuOXJlbTtcbiAgICB9XG5cbiAgICAuc2VhcmNoLW1vZGFsLWRpdmlkZXItYm90dG9tIHtcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSArIDNyZW0pO1xuICAgICAgICBtYXJnaW46IDEuNXJlbSAtMS41cmVtIDA7XG4gICAgfVxuXG4gICAgLnNlYXJjaC1tb2RhbC1pY29uIHtcbiAgICAgICAgd2lkdGg6IDQwcHg7XG4gICAgICAgIGhlaWdodDogNDBweDtcbiAgICB9XG5cbiAgICAuc2VhcmNoLW1vZGFsLWljb24gc3ZnLFxuICAgIC5zZWFyY2gtbW9kYWwtaWNvbiBpbWcge1xuICAgICAgICB3aWR0aDogNDBweDtcbiAgICAgICAgaGVpZ2h0OiA0MHB4O1xuICAgIH1cblxuICAgIC8qIEZvb3RlciBNb2JpbGUgKi9cbiAgICBmb290ZXIge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIHBhZGRpbmc6IDNyZW0gMCAycmVtO1xuICAgIH1cblxuICAgIGZvb3RlciAucm93IHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICB9XG5cbiAgICBmb290ZXIgLnJvdyA+IFtjbGFzcyo9XCJjb2wtXCJdIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cblxuICAgIC5mb290ZXItbG9nbyB7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvIDJyZW07XG4gICAgfVxuXG4gICAgLmZvb3Rlci10aXRsZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gICAgfVxuXG4gICAgLmZvb3Rlci1saW5rcyB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDJyZW07XG4gICAgfVxuXG4gICAgLmZvb3Rlci1saW5rcy1yaWdodCB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG5cbiAgICAuZm9vdGVyLXNvY2lhbCB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBtYXJnaW46IDEuNXJlbSAwO1xuICAgIH1cblxuICAgIC5mb290ZXItY29weXJpZ2h0IHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBtYXJnaW4tdG9wOiAwLjc1cmVtO1xuICAgIH1cbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBCbG9nIFNlY3Rpb25cbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKiBCbG9nIEhlcm8gQmFubmVyICovXG4uYmxvZy1oZXJvLXNlY3Rpb24ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBoZWlnaHQ6IDMwdmg7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWFnZXMvU2xpZGVzL0Jsb2dfc2xpZGUucG5nJyk7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi5ibG9nLWhlcm8tb3ZlcmxheSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMyk7XG59XG5cbi5ibG9nLWhlcm8tY29udGVudCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDI7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uYmxvZy1oZXJvLWNvbnRlbnQgaDEge1xuICAgIGZvbnQtZmFtaWx5OiAnTm90byBTZXJpZicsIEdlb3JnaWEsIHNlcmlmO1xuICAgIGZvbnQtc2l6ZTogNHJlbTtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICBtYXJnaW46IDA7XG4gICAgdGV4dC1zaGFkb3c6IDAgMnB4IDRweCByZ2JhKDAsIDAsIDAsIDAuMik7XG59XG5cbi8qIEJsb2cgUG9zdHMgU2VjdGlvbiAqL1xuLmJsb2ctcG9zdHMtc2VjdGlvbiB7XG4gICAgcGFkZGluZzogNnJlbSAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG59XG5cbi5ibG9nLXBvc3RzLXNlY3Rpb24gLmNvbnRhaW5lciB7XG4gICAgbWF4LXdpZHRoOiAxMjAwcHg7XG59XG5cbi5ibG9nLWdyaWQge1xuICAgIG1hcmdpbi10b3A6IDZyZW07XG59XG5cbi8qIEJsb2cgQ2FyZCBTdHlsZXMgKi9cblxuLyogQmxvZyBDYXJkIExpbmsgV3JhcHBlciAqL1xuLmJsb2ctY2FyZC1saW5rIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5ibG9nLWNhcmQtbGluazpob3ZlciB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGNvbG9yOiBpbmhlcml0O1xufVxuXG4vKiBCbG9nIFJvdyBDb250YWluZXIgd2l0aCBBbHRlcm5hdGluZyBQYXR0ZXJuICovXG4uYmxvZy1yb3ctYWx0ZXJuYXRpbmcge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZ2FwOiAyLjVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogNHJlbTtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcbn1cblxuLyogTGFyZ2UgQmxvZyBDYXJkIC0gNTgzeDgyNiAqL1xuLmJsb2ctY2FyZC1sYXJnZSB7XG4gICAgYmFja2dyb3VuZDogd2hpdGU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcyBlYXNlLCBib3gtc2hhZG93IDAuM3MgZWFzZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgbWF4LXdpZHRoOiA1ODNweDtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuLmJsb2ctY2FyZC1sYXJnZTpob3ZlciB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01cHgpO1xuICAgIGJveC1zaGFkb3c6IDAgMTBweCAzMHB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbn1cblxuLmJsb2ctY2FyZC1pbWFnZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiA4MjZweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4uYmxvZy1jYXJkLWltYWdlIGltZyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzIGVhc2U7XG59XG5cbi5ibG9nLWNhcmQtbGFyZ2U6aG92ZXIgLmJsb2ctY2FyZC1pbWFnZSBpbWcge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wNSk7XG59XG5cbi5ibG9nLWNhcmQtYm9keSB7XG4gICAgcGFkZGluZzogMS41cmVtIDA7XG59XG5cbi5ibG9nLXRpdGxlIHtcbiAgICBmb250LWZhbWlseTogJ05vdG8gU2VyaWYnLCBHZW9yZ2lhLCBzZXJpZjtcbiAgICBmb250LXNpemU6IDI0cHg7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1kYXJrKTtcbiAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG59XG5cbi5ibG9nLWV4Y2VycHQge1xuICAgIGZvbnQtZmFtaWx5OiAnTm90byBTYW5zJywgc2Fucy1zZXJpZjtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1ncmF5KTtcbiAgICBsaW5lLWhlaWdodDogMS42O1xuICAgIG1hcmdpbjogMDtcbn1cblxuLyogU21hbGwgQmxvZyBDYXJkIC0gNDU3eDYwNCAqL1xuLmJsb2ctY2FyZC1zbWFsbCB7XG4gICAgYmFja2dyb3VuZDogd2hpdGU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcyBlYXNlLCBib3gtc2hhZG93IDAuM3MgZWFzZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgbWF4LXdpZHRoOiA0NTdweDtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuLmJsb2ctY2FyZC1zbWFsbDpob3ZlciB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01cHgpO1xuICAgIGJveC1zaGFkb3c6IDAgMTBweCAzMHB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbn1cblxuLmJsb2ctY2FyZC1pbWFnZS1zbWFsbCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiA2MDRweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4uYmxvZy1jYXJkLWltYWdlLXNtYWxsIGltZyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzIGVhc2U7XG59XG5cbi5ibG9nLWNhcmQtc21hbGw6aG92ZXIgLmJsb2ctY2FyZC1pbWFnZS1zbWFsbCBpbWcge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wNSk7XG59XG5cbi5ibG9nLWNhcmQtYm9keS1zbWFsbCB7XG4gICAgcGFkZGluZzogMS41cmVtIDA7XG59XG5cbi5ibG9nLXRpdGxlLXNtYWxsIHtcbiAgICBmb250LWZhbWlseTogJ05vdG8gU2VyaWYnLCBHZW9yZ2lhLCBzZXJpZjtcbiAgICBmb250LXNpemU6IDEuMzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1kYXJrKTtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjc1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG59XG5cbi5ibG9nLWV4Y2VycHQtc21hbGwge1xuICAgIGZvbnQtZmFtaWx5OiAnTm90byBTYW5zJywgc2Fucy1zZXJpZjtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtZ3JheSk7XG4gICAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgICBtYXJnaW46IDA7XG59XG5cbi8qIE1lZGl1bSBCbG9nIENhcmRzICgyIHBlciByb3cpICovXG4uYmxvZy1jYXJkLW1lZGl1bSB7XG4gICAgYmFja2dyb3VuZDogd2hpdGU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcyBlYXNlLCBib3gtc2hhZG93IDAuM3MgZWFzZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5ibG9nLWNhcmQtbWVkaXVtOmhvdmVyIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTVweCk7XG4gICAgYm94LXNoYWRvdzogMCAxMHB4IDMwcHggcmdiYSgwLCAwLCAwLCAwLjEpO1xufVxuXG4uYmxvZy1jYXJkLWltYWdlLW1lZGl1bSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAzNTBweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4uYmxvZy1jYXJkLWltYWdlLW1lZGl1bSBpbWcge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcyBlYXNlO1xufVxuXG4uYmxvZy1jYXJkLW1lZGl1bTpob3ZlciAuYmxvZy1jYXJkLWltYWdlLW1lZGl1bSBpbWcge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wNSk7XG59XG5cbi5ibG9nLWNhcmQtYm9keS1tZWRpdW0ge1xuICAgIHBhZGRpbmc6IDEuMjVyZW0gMDtcbn1cblxuLmJsb2ctdGl0bGUtbWVkaXVtIHtcbiAgICBmb250LWZhbWlseTogJ05vdG8gU2VyaWYnLCBHZW9yZ2lhLCBzZXJpZjtcbiAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1kYXJrKTtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjg3NXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS40O1xufVxuXG4uYmxvZy1leGNlcnB0LW1lZGl1bSB7XG4gICAgZm9udC1mYW1pbHk6ICdOb3RvIFNhbnMnLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMC45MjVyZW07XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtZ3JheSk7XG4gICAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgICBtYXJnaW46IDA7XG59XG5cbi8qIEJsb2cgUGFnaW5hdGlvbiAqL1xuLmJsb2ctcGFnaW5hdGlvbiB7XG4gICAgbWFyZ2luLXRvcDogNHJlbTtcbn1cblxuLmJsb2ctcGFnaW5hdGlvbiAucGFnaW5hdGlvbiB7XG4gICAgZ2FwOiAwLjVyZW07XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi5ibG9nLXBhZ2luYXRpb24gLnBhZ2UtaXRlbSB7XG4gICAgbWFyZ2luOiAwO1xufVxuXG4uYmxvZy1wYWdpbmF0aW9uIC5wYWdlLWxpbmsge1xuICAgIGZvbnQtZmFtaWx5OiAnTm90byBTYW5zJywgc2Fucy1zZXJpZjtcbiAgICBjb2xvcjogIzMwNEM1RTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgcGFkZGluZzogMC41cmVtIDAuODc1cmVtO1xuICAgIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgbWluLXdpZHRoOiA0OHB4O1xuICAgIG1pbi1oZWlnaHQ6IDQ4cHg7XG59XG5cbi5ibG9nLXBhZ2luYXRpb24gLnBhZ2UtbGluazpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg1NCwgNzUsIDk1LCAwLjEpO1xuICAgIGNvbG9yOiAjMzA0QzVFO1xufVxuXG4uYmxvZy1wYWdpbmF0aW9uIC5wYWdlLWl0ZW0uYWN0aXZlIC5wYWdlLWxpbmsge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMzMDRDNUU7XG4gICAgY29sb3I6IHdoaXRlO1xufVxuXG4uYmxvZy1wYWdpbmF0aW9uIC5wYWdlLWl0ZW0uZGlzYWJsZWQgLnBhZ2UtbGluayB7XG4gICAgY29sb3I6ICNDQkQ1RTA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICBvcGFjaXR5OiAwLjU7XG59XG5cbi5ibG9nLXBhZ2luYXRpb24gLnBhZ2UtbGluayBpbWcge1xuICAgIHdpZHRoOiAzMnB4O1xuICAgIGhlaWdodDogMzJweDtcbn1cblxuLyogUmVzcG9uc2l2ZSAtIEJsb2cgKi9cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgIC5zZWN0aW9uLWJlaWdlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmVpZ2UpO1xuICAgICAgICBwYWRkaW5nOiAzcmVtIDA7XG4gICAgfVxuXG4gICAgLnNlY3Rpb24td2hpdGUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgICBwYWRkaW5nOiA1cmVtIDA7XG4gICAgfVxuXG4gICAgLmJsb2ctaGVyby1jb250ZW50IGgxIHtcbiAgICAgICAgZm9udC1zaXplOiAyLjVyZW07XG4gICAgfVxuXG4gICAgLmJsb2ctcm93LWFsdGVybmF0aW5nIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgZ2FwOiA0cmVtO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAycmVtO1xuICAgIH1cblxuICAgIC5ibG9nLWNhcmQtbGFyZ2UsXG4gICAgLmJsb2ctY2FyZC1zbWFsbCB7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgd2lkdGg6IDg3LjglO1xuICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICB9XG5cbiAgICAuYmxvZy1jYXJkLWltYWdlLFxuICAgIC5ibG9nLWNhcmQtaW1hZ2Utc21hbGwge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgYXNwZWN0LXJhdGlvOiAzNDUgLyA0MzI7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICB9XG5cbiAgICAuYmxvZy1jYXJkLWltYWdlIGltZyxcbiAgICAuYmxvZy1jYXJkLWltYWdlLXNtYWxsIGltZyB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgIH1cblxuICAgIC5ibG9nLXRpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgfVxuXG4gICAgLmJsb2ctdGl0bGUtc21hbGwge1xuICAgICAgICBmb250LXNpemU6IDEuMXJlbTtcbiAgICB9XG5cbiAgICAuZm9vdGVyLWxpbmtzIGxpIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMHJlbTtcbiAgICB9XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQmxvZyBQb3N0IERldGFpbCBQYWdlXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyogUG9zdCBDb250ZW50IFNlY3Rpb24gKi9cbi5wb3N0LWNvbnRlbnQtc2VjdGlvbiB7XG4gICAgcGFkZGluZzogNnJlbSAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG59XG5cbi8qIFBvc3QgSGVhZGVyIC0gVMOtdHVsbyBjZW50cmFkbyAqL1xuLnBvc3QtaGVhZGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbWFyZ2luLWJvdHRvbTogM3JlbTtcbn1cblxuLnBvc3QtdGl0bGUge1xuICAgIGZvbnQtZmFtaWx5OiAnTm90byBTZXJpZicsIEdlb3JnaWEsIHNlcmlmO1xuICAgIGZvbnQtc2l6ZTogNDBweDtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LWRhcmspO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjM7XG4gICAgbWFyZ2luLWJvdHRvbTogMS41cmVtO1xufVxuXG4vKiBMw61uZWEgZGVjb3JhdGl2YSBhenVsIGRlYmFqbyBkZWwgdMOtdHVsbyAqL1xuLnBvc3QtdGl0bGUtZGl2aWRlciB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAzcHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwYTRkYztcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBtYXgtd2lkdGg6IDQ3NHB4O1xufVxuXG4vKiBJbWFnZW4gZGVzdGFjYWRhIGNlbnRyYWRhICovXG4ucG9zdC1mZWF0dXJlZC1pbWFnZSB7XG4gICAgbWFyZ2luOiAzcmVtIDAgMXJlbTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5wb3N0LWZlYXR1cmVkLWltYWdlIGltZyB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBib3JkZXItcmFkaXVzOiAwO1xufVxuXG4vKiBCcmVhZGNydW1icyBkZXNwdcOpcyBkZSBsYSBpbWFnZW4gKi9cbi5wb3N0LWJyZWFkY3J1bWJzIHtcbiAgICBtYXJnaW4tYm90dG9tOiAzcmVtO1xufVxuXG4ucG9zdC1icmVhZGNydW1icyAuYnJlYWRjcnVtYiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbn1cblxuLnBvc3QtYnJlYWRjcnVtYnMgLmJyZWFkY3J1bWItaXRlbSB7XG4gICAgZm9udC1mYW1pbHk6ICdOb3RvIFNlcmlmJywgc2Fucy1zZXJpZjtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgY29sb3I6ICMzMDRDNUU7XG59XG5cbi5wb3N0LWJyZWFkY3J1bWJzIC5icmVhZGNydW1iLWl0ZW0gYSB7XG4gICAgY29sb3I6ICMzMDRDNUU7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuMnMgZWFzZTtcbn1cblxuLnBvc3QtYnJlYWRjcnVtYnMgLmJyZWFkY3J1bWItaXRlbSBhOmhvdmVyIHtcbiAgICBjb2xvcjogIzAwYTRkYztcbn1cblxuLnBvc3QtYnJlYWRjcnVtYnMgLmJyZWFkY3J1bWItaXRlbS5hY3RpdmUge1xuICAgIGNvbG9yOiAjMDIxRTM4O1xufVxuXG4ucG9zdC1icmVhZGNydW1icyAuYnJlYWRjcnVtYi1pdGVtICsgLmJyZWFkY3J1bWItaXRlbTo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIj5cIjtcbiAgICBjb2xvcjogIzMwNEM1RTtcbiAgICBwYWRkaW5nOiAwIDAuNXJlbTtcbn1cblxuLyogUG9zdCBCb2R5ICovXG4ucG9zdC1ib2R5IHtcbiAgICBmb250LWZhbWlseTogJ05vdG8gU2FucycsIEdlb3JnaWEsIHNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICBsaW5lLWhlaWdodDogMS44O1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LWRhcmspO1xuICAgIG1hcmdpbi1ib3R0b206IDNyZW07XG59XG5cbi5wb3N0LWJvZHkgaDIge1xuICAgIGZvbnQtc2l6ZTogMS44NzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBtYXJnaW4tdG9wOiAyLjVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1kYXJrKTtcbn1cblxuLnBvc3QtYm9keSBoMyB7XG4gICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBtYXJnaW4tdG9wOiAycmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDAuODc1cmVtO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LWRhcmspO1xufVxuXG4ucG9zdC1ib2R5IHAge1xuICAgIG1hcmdpbi1ib3R0b206IDEuNXJlbTtcbn1cblxuLnBvc3QtYm9keSBhIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC4ycyBlYXNlO1xufVxuXG4ucG9zdC1ib2R5IGE6aG92ZXIge1xuICAgIGNvbG9yOiAjQjg5MDNGO1xufVxuXG4ucG9zdC1ib2R5IHVsLFxuLnBvc3QtYm9keSBvbCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMS41cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMnJlbTtcbn1cblxuLnBvc3QtYm9keSBsaSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMC43NXJlbTtcbn1cblxuLnBvc3QtYm9keSBibG9ja3F1b3RlIHtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICBwYWRkaW5nOiAxLjVyZW0gMnJlbTtcbiAgICBtYXJnaW46IDJyZW0gMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjhGOUZBO1xuICAgIGJvcmRlci1sZWZ0OiA0cHggc29saWQgdmFyKC0tY29sb3ItcHJpbWFyeSk7XG59XG5cbi5wb3N0LWJvZHkgaW1nIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICBtYXJnaW46IDJyZW0gMDtcbn1cblxuLyogUG9zdCBGb290ZXIgKi9cbi5wb3N0LWZvb3RlciB7XG4gICAgcGFkZGluZy10b3A6IDJyZW07XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNFNUU1RTU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgZ2FwOiAycmVtO1xufVxuXG4ucG9zdC1zaGFyZSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogMXJlbTtcbn1cblxuLnNoYXJlLWxhYmVsIHtcbiAgICBmb250LWZhbWlseTogJ05vdG8gU2FucycsIHNhbnMtc2VyaWY7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1kYXJrKTtcbiAgICBmb250LXNpemU6IDAuOTVyZW07XG59XG5cbi5zaGFyZS1idXR0b25zIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGdhcDogMC43NXJlbTtcbn1cblxuLnNoYXJlLWJ0biB7XG4gICAgd2lkdGg6IDQwcHg7XG4gICAgaGVpZ2h0OiA0MHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi5zaGFyZS1mYWNlYm9vayB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzE4NzdGMjtcbiAgICBjb2xvcjogd2hpdGU7XG59XG5cbi5zaGFyZS1mYWNlYm9vazpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzE0NURCRjtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTJweCk7XG59XG5cbi5zaGFyZS10d2l0dGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwMDAwO1xuICAgIGNvbG9yOiB3aGl0ZTtcbn1cblxuLnNoYXJlLXR3aXR0ZXI6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMxYTFhMWE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0ycHgpO1xufVxuXG4uc2hhcmUtbGlua2VkaW4ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwQTY2QzI7XG4gICAgY29sb3I6IHdoaXRlO1xufVxuXG4uc2hhcmUtbGlua2VkaW46aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwODREOTI7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0ycHgpO1xufVxuXG4uc2hhcmUtd2hhdHNhcHAge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMyNUQzNjY7XG4gICAgY29sb3I6IHdoaXRlO1xufVxuXG4uc2hhcmUtd2hhdHNhcHA6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMxRUFFNTI7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0ycHgpO1xufVxuXG4uYmFjay10by1ibG9nIC5idG4ge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiAwLjVyZW07XG4gICAgZm9udC1mYW1pbHk6ICdOb3RvIFNhbnMnLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG59XG5cbi8qIFNlY2Npw7NuIFByb3BpZWRhZGVzIGVuIFBvc3QgKi9cbi5wb3N0LXByb3BlcnRpZXMtc2VjdGlvbiB7XG4gICAgcGFkZGluZzogNnJlbSAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJlaWdlKTtcbn1cblxuLnBvc3QtcHJvcGVydGllcy10aXRsZSB7XG4gICAgZm9udC1mYW1pbHk6ICdOb3RvIFNlcmlmJywgR2VvcmdpYSwgc2VyaWY7XG4gICAgZm9udC1zaXplOiAycmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtZGFyayk7XG4gICAgbWFyZ2luLWJvdHRvbTogMi41cmVtO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbi8qIFN3aXBlciBlc3BlY8OtZmljbyBwYXJhIHBvc3RzICovXG4ucHJvcGVydHktc3dpcGVyLXBvc3Qge1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xufVxuXG4ucHJvcGVydHktc3dpcGVyLXBvc3QgLnN3aXBlci1idXR0b24tbmV4dCxcbi5wcm9wZXJ0eS1zd2lwZXItcG9zdCAuc3dpcGVyLWJ1dHRvbi1wcmV2IHtcbiAgICBjb2xvcjogIzM3NDE1MTtcbiAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgICB3aWR0aDogNDhweDtcbiAgICBoZWlnaHQ6IDQ4cHg7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNFNUU3RUI7XG4gICAgYm94LXNoYWRvdzogMCAxcHggMnB4IHJnYmEoMCwgMCwgMCwgMC4wNSk7XG4gICAgdG9wOiAxNjBweDtcbn1cblxuLnByb3BlcnR5LXN3aXBlci1wb3N0IC5zd2lwZXItYnV0dG9uLW5leHQ6OmFmdGVyLFxuLnByb3BlcnR5LXN3aXBlci1wb3N0IC5zd2lwZXItYnV0dG9uLXByZXY6OmFmdGVyIHtcbiAgICBmb250LXNpemU6IDI0cHg7XG4gICAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuNSk7XG59XG5cbi5wcm9wZXJ0eS1zd2lwZXItcG9zdCAuc3dpcGVyLWJ1dHRvbi1uZXh0IHtcbiAgICByaWdodDogMTBweDtcbn1cblxuLnByb3BlcnR5LXN3aXBlci1wb3N0IC5zd2lwZXItYnV0dG9uLXByZXYge1xuICAgIGxlZnQ6IDEwcHg7XG59XG5cbi5wcm9wZXJ0eS1zd2lwZXItcG9zdCAuc3dpcGVyLXBhZ2luYXRpb24ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBib3R0b206IDA7XG4gICAgbWFyZ2luLXRvcDogMzBweDtcbn1cblxuLnByb3BlcnR5LXN3aXBlci1wb3N0IC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWFjY2VudCk7XG4gICAgd2lkdGg6IDE2cHg7XG4gICAgaGVpZ2h0OiAxNnB4O1xuICAgIG9wYWNpdHk6IDAuMztcbn1cblxuLnByb3BlcnR5LXN3aXBlci1wb3N0IC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1hY2NlbnQpO1xuICAgIG9wYWNpdHk6IDE7XG59XG5cbi8qIFJlc3BvbnNpdmUgLSBQb3N0IERldGFpbCAqL1xuQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgLnBvc3QtY29udGVudC1zZWN0aW9uIHtcbiAgICAgICAgcGFkZGluZzogMi41cmVtIDA7XG4gICAgfVxuXG4gICAgLnBvc3QtdGl0bGUge1xuICAgICAgICBmb250LXNpemU6IDEuNzVyZW07XG4gICAgfVxuXG4gICAgLnBvc3QtdGl0bGUtZGl2aWRlciB7XG4gICAgICAgIHdpZHRoOiAyMDBweDtcbiAgICB9XG5cbiAgICAucG9zdC1ib2R5IHtcbiAgICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgIH1cblxuICAgIC5wb3N0LWJvZHkgaDIge1xuICAgICAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICB9XG5cbiAgICAucG9zdC1ib2R5IGgzIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgIH1cblxuICAgIC5wb3N0LWJyZWFkY3J1bWJzIC5icmVhZGNydW1iIHtcbiAgICAgICAgZm9udC1zaXplOiAwLjhyZW07XG4gICAgfVxuXG4gICAgLnBvc3QtcHJvcGVydGllcy1zZWN0aW9uIHtcbiAgICAgICAgcGFkZGluZzogMi41cmVtIDA7XG4gICAgfVxuXG4gICAgLnBvc3QtcHJvcGVydGllcy10aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgIH1cbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICA0MDQgRXJyb3IgUGFnZVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5lcnJvci00MDQtc2VjdGlvbiB7XG4gICAgbWluLWhlaWdodDogNzB2aDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgcGFkZGluZzogNnJlbSAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG59XG5cbi5lcnJvci00MDQtbnVtYmVyIHtcbiAgICBmb250LWZhbWlseTogJ05vdG8gU2VyaWYnLCBHZW9yZ2lhLCBzZXJpZjtcbiAgICBmb250LXNpemU6IDEwcmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgY29sb3I6ICMyRDNGNTQ7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgbWFyZ2luLWJvdHRvbTogMnJlbTtcbn1cblxuLmVycm9yLTQwNC1jb250ZW50IHtcbiAgICBtYXJnaW4tYm90dG9tOiAzcmVtO1xufVxuXG4uZXJyb3ItNDA0LXRleHQge1xuICAgIGZvbnQtZmFtaWx5OiAnTm90byBTZXJpZicsIEdlb3JnaWEsIHNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1kYXJrKTtcbiAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjY7XG59XG5cbi5lcnJvci00MDQtc3VidGV4dCB7XG4gICAgZm9udC1mYW1pbHk6ICdOb3RvIFNhbnMnLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1ncmF5KTtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjY7XG59XG5cbi5lcnJvci00MDQtYWN0aW9ucyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBnYXA6IDEuNXJlbTtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbn1cblxuLmJ0bi00MDQtY29udGFjdCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzJEM0Y1NDtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgcGFkZGluZzogMC44NzVyZW0gMnJlbTtcbiAgICBib3JkZXItcmFkaXVzOiA2cHg7XG4gICAgZm9udC1mYW1pbHk6ICdOb3RvIFNhbnMnLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogMC41cmVtO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7XG4gICAgYm9yZGVyOiBub25lO1xufVxuXG4uYnRuLTQwNC1jb250YWN0OmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTJweCk7XG4gICAgYm94LXNoYWRvdzogMCA0cHggMTJweCByZ2JhKDQ1LCA2MywgODQsIDAuMyk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtZGFyayk7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4uYnRuLTQwNC1zZWFyY2gge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xuICAgIGNvbG9yOiAjMDIxRTM4O1xuICAgIHBhZGRpbmc6IDAuODc1cmVtIDJyZW07XG4gICAgYm9yZGVyLXJhZGl1czogNnB4O1xuICAgIGZvbnQtZmFtaWx5OiAnTm90byBTYW5zJywgc2Fucy1zZXJpZjtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDAuNXJlbTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlO1xuICAgIGJvcmRlcjogbm9uZTtcbn1cblxuLmJ0bi00MDQtc2VhcmNoOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTJweCk7XG4gICAgYm94LXNoYWRvdzogMCA0cHggMTJweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMyk7XG4gICAgY29sb3I6ICMwMjFFMzg7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4vKiBSZXNwb25zaXZlIC0gNDA0IFBhZ2UgKi9cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgIC5lcnJvci00MDQtc2VjdGlvbiB7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDYwdmg7XG4gICAgICAgIHBhZGRpbmc6IDNyZW0gMDtcbiAgICB9XG5cbiAgICAuZXJyb3ItNDA0LW51bWJlciB7XG4gICAgICAgIGZvbnQtc2l6ZTogNnJlbTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMS41cmVtO1xuICAgIH1cblxuICAgIC5lcnJvci00MDQtdGV4dCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4xcmVtO1xuICAgIH1cblxuICAgIC5lcnJvci00MDQtc3VidGV4dCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMC45NXJlbTtcbiAgICB9XG5cbiAgICAuZXJyb3ItNDA0LWFjdGlvbnMge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBnYXA6IDFyZW07XG4gICAgfVxuXG4gICAgLmJ0bi00MDQtY29udGFjdCxcbiAgICAuYnRuLTQwNC1zZWFyY2gge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWF4LXdpZHRoOiAyODBweDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgfVxufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEFib3V0IFBhZ2UgKFNvYnJlIG5vc290cm9zKVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qIEFib3V0IEhlcm8gQmFubmVyICovXG4uYWJvdXQtaGVyby1zZWN0aW9uIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgaGVpZ2h0OiAyMHZoO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1hZ2VzL1NsaWRlcy9Tb2JyZV9ub3NvdHJvc19zbGlkZS5wbmcnKTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLmFib3V0LWhlcm8tb3ZlcmxheSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMyk7XG59XG5cbi5hYm91dC1oZXJvLWNvbnRlbnQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAyO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLmFib3V0LWhlcm8tY29udGVudCBoMSB7XG4gICAgZm9udC1mYW1pbHk6ICdOb3RvIFNlcmlmJywgR2VvcmdpYSwgc2VyaWY7XG4gICAgZm9udC1zaXplOiAzLjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgbWFyZ2luOiAwO1xuICAgIHRleHQtc2hhZG93OiAwIDJweCA0cHggcmdiYSgwLCAwLCAwLCAwLjIpO1xufVxuXG4vKiBBYm91dCBIaXN0b3J5IFNlY3Rpb24gKi9cbi5hYm91dC1oaXN0b3J5LXNlY3Rpb24ge1xuICAgIHBhZGRpbmc6IDZyZW0gMDtcbn1cblxuLmFib3V0LWhpc3RvcnktY29udGVudCB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG1hcmdpbi10b3A6IDJyZW07XG4gICAgbWF4LXdpZHRoOiA3MTJweDtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG59XG5cbi5hYm91dC1oaXN0b3J5LWNvbnRlbnQgcCB7XG4gICAgZm9udC1mYW1pbHk6ICdOb3RvIFNhbnMnLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICBsaW5lLWhlaWdodDogMS44O1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LWRhcmspO1xuICAgIG1hcmdpbi1ib3R0b206IDEuNXJlbTtcbn1cblxuLmFib3V0LWhpc3RvcnktY29udGVudCBwIHN0cm9uZyB7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbn1cblxuLmxlZ2FsLWNvbnRlbnQge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xufVxuXG4vKiBMZWdhbCBQYWdlcyAtIFNwZWNpZmljIGZvbnQgc2l6ZSBmb3IgbGVnYWwgdGV4dCAqL1xuLmxlZ2FsLWNvbnRlbnQgcCB7XG4gICAgZm9udC1mYW1pbHk6ICdOb3RvIFNhbnMnLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICBsaW5lLWhlaWdodDogMS44O1xufVxuXG4vKiBBYm91dCBWYWx1ZXMgU2VjdGlvbiAqL1xuLmFib3V0LXZhbHVlcy1zZWN0aW9uIHtcbiAgICBwYWRkaW5nOiA2cmVtIDA7XG59XG5cbi5hYm91dC12YWx1ZXMtc2VjdGlvbiAucm93IHtcbiAgICAtLWJzLWd1dHRlci14OiA2NHB4O1xuICAgIC0tYnMtZ3V0dGVyLXk6IDY0cHg7XG59XG5cbi5hYm91dC12YWx1ZXMtdGl0bGUge1xuICAgIGZvbnQtZmFtaWx5OiAnTm90byBTZXJpZicsIEdlb3JnaWEsIHNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LWRhcmspO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBtYXJnaW4tYm90dG9tOiAzcmVtO1xufVxuXG4udmFsdWUtY2FyZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG4gICAgcGFkZGluZzogMi41cmVtIDJyZW07XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG1pbi1oZWlnaHQ6IDE4MHB4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLnZhbHVlLWNhcmQgaDMge1xuICAgIGZvbnQtZmFtaWx5OiAnTm90byBTYW5zJywgR2VvcmdpYSwgc2VyaWY7XG4gICAgZm9udC1zaXplOiAyNHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgY29sb3I6ICMzNjRCNUY7XG4gICAgbWFyZ2luLWJvdHRvbTogMC43NXJlbTtcbn1cblxuLnZhbHVlLWNhcmQgcCB7XG4gICAgZm9udC1mYW1pbHk6ICdOb3RvIFNhbnMnLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICBjb2xvcjogIzAyMUUzODtcbiAgICBtYXJnaW46IDA7XG4gICAgbGluZS1oZWlnaHQ6IDEuNjtcbn1cblxuLyogQWJvdXQgU2VydmljZSBTZWN0aW9uICovXG4uYWJvdXQtc2VydmljZS1zZWN0aW9uIHtcbiAgICBwYWRkaW5nOiA2cmVtIDA7XG59XG5cbi5hYm91dC1zZXJ2aWNlLXRpdGxlIHtcbiAgICBmb250LWZhbWlseTogJ05vdG8gU2VyaWYnLCBHZW9yZ2lhLCBzZXJpZjtcbiAgICBmb250LXNpemU6IDJyZW07XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1kYXJrKTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbWFyZ2luLWJvdHRvbTogMi41cmVtO1xufVxuXG4uYWJvdXQtc2VydmljZS1jb250ZW50IHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbWF4LXdpZHRoOiA3MTJweDtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG59XG5cbi5hYm91dC1zZXJ2aWNlLWNvbnRlbnQgcCB7XG4gICAgZm9udC1mYW1pbHk6ICdOb3RvIFNhbnMnLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICBsaW5lLWhlaWdodDogMS44O1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LWRhcmspO1xuICAgIG1hcmdpbi1ib3R0b206IDEuMjVyZW07XG59XG5cbi5hYm91dC1zZXJ2aWNlLWNvbnRlbnQgZW0ge1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICBmb250LXdlaWdodDogNTAwO1xufVxuXG4vKiBBYm91dCBUZWFtIFNlY3Rpb24gKi9cbi5hYm91dC10ZWFtLXNlY3Rpb24ge1xuICAgIHBhZGRpbmc6IDZyZW0gMDtcbn1cblxuLnRlYW0tZ3JpZCB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpO1xuICAgIGdhcDogM3JlbSA0cmVtO1xuICAgIG1hcmdpbi10b3A6IDNyZW07XG4gICAgbWF4LXdpZHRoOiA5MDBweDtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG59XG5cbi50ZWFtLW1lbWJlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4udGVhbS1tZW1iZXItcGhvdG8ge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGFzcGVjdC1yYXRpbzogMy80O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNFNUU3RUI7XG4gICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4udGVhbS1tZW1iZXItcGhvdG8gaW1nIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgb2JqZWN0LWZpdDogY292ZXI7XG59XG5cbi50ZWFtLW1lbWJlci1uYW1lIHtcbiAgICBmb250LWZhbWlseTogJ05vdG8gU2VyaWYnLCBHZW9yZ2lhLCBzZXJpZjtcbiAgICBmb250LXNpemU6IDIwcHg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1kYXJrKTtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjI1cmVtO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbi50ZWFtLW1lbWJlci1yb2xlIHtcbiAgICBmb250LWZhbWlseTogJ05vdG8gU2FucycsIHNhbnMtc2VyaWY7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGNvbG9yOiAjMzA0QzVFO1xuICAgIG1hcmdpbjogMDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG4udGVhbS1tb3JlIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbWFyZ2luOiA0cmVtIDAgM3JlbTtcbn1cblxuLnRlYW0tbW9yZS1kaXZpZGVyIHtcbiAgICB3aWR0aDogNDU0cHg7XG4gICAgaGVpZ2h0OiAzcHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwYTRkYztcbiAgICBtYXJnaW46IDAgYXV0byAxLjVyZW07XG59XG5cbi50ZWFtLW1vcmUtdGV4dCB7XG4gICAgZm9udC1mYW1pbHk6ICdOb3RvIFNhbnMnLCBHZW9yZ2lhLCBzZXJpZjtcbiAgICBmb250LXNpemU6IDQwcHg7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1kYXJrKTtcbiAgICBtYXJnaW46IDA7XG59XG5cbi50ZWFtLWN0YSB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG1heC13aWR0aDogNzAwcHg7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgcGFkZGluZzogMnJlbSAwO1xufVxuXG4udGVhbS1jdGEtdGl0bGUge1xuICAgIGZvbnQtZmFtaWx5OiAnTm90byBTZXJpZicsIEdlb3JnaWEsIHNlcmlmO1xuICAgIGZvbnQtc2l6ZTogNDBweDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LWRhcmspO1xuICAgIG1hcmdpbi1ib3R0b206IDEuNXJlbTtcbn1cblxuLnRlYW0tY3RhLXRleHQge1xuICAgIGZvbnQtZmFtaWx5OiAnTm90byBTYW5zJywgc2Fucy1zZXJpZjtcbiAgICBmb250LXNpemU6IDI0cHg7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtZGFyayk7XG4gICAgbGluZS1oZWlnaHQ6IDEuNztcbiAgICBtYXJnaW4tYm90dG9tOiAwLjc1cmVtO1xufVxuXG4udGVhbS1jdGEtc3VidGV4dCB7XG4gICAgZm9udC1mYW1pbHk6ICdOb3RvIFNhbnMnLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1kYXJrKTtcbiAgICBtYXJnaW4tYm90dG9tOiAycmVtO1xufVxuXG4vKiBBYm91dCBUZWFtIFBob3RvIFNlY3Rpb24gKi9cbi5hYm91dC10ZWFtLXBob3RvLXNlY3Rpb24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJlaWdlKTtcbn1cblxuLmFib3V0LXRlYW0tcGhvdG8ge1xuICAgIG1heC13aWR0aDogMTAwJTtcbn1cblxuLmFib3V0LXRlYW0tcGhvdG8gaW1nIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8qIEFib3V0IE9mZmljZXMgU2VjdGlvbiAqL1xuLmFib3V0LW9mZmljZXMtc2VjdGlvbiB7XG4gICAgcGFkZGluZzogNnJlbSAwO1xufVxuXG4uYWJvdXQtb2ZmaWNlcy10aXRsZSB7XG4gICAgZm9udC1mYW1pbHk6ICdOb3RvIFNlcmlmJywgR2VvcmdpYSwgc2VyaWY7XG4gICAgZm9udC1zaXplOiAycmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtZGFyayk7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG1hcmdpbi1ib3R0b206IDIuNXJlbTtcbn1cblxuLmFib3V0LW9mZmljZXMtaW50cm8ge1xuICAgIG1heC13aWR0aDogOTAwcHg7XG4gICAgbWFyZ2luOiAwIGF1dG8gNHJlbTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5hYm91dC1vZmZpY2VzLWludHJvIHAge1xuICAgIGZvbnQtZmFtaWx5OiAnTm90byBTYW5zJywgc2Fucy1zZXJpZjtcbiAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS44O1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LWRhcmspO1xuICAgIG1hcmdpbi1ib3R0b206IDEuMjVyZW07XG59XG5cbi5hYm91dC1vZmZpY2VzLWludHJvIGVtIHtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG5cbi5hYm91dC1vZmZpY2VzLWludHJvIHN0cm9uZyB7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbn1cblxuLm9mZmljZS1jYXJkIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5vZmZpY2UtaW1hZ2Uge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1ib3R0b206IDEuNXJlbTtcbn1cblxuLm9mZmljZS1pbWFnZSBpbWcge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XG59XG5cbi5vZmZpY2UtZGl2aWRlciB7XG4gICAgd2lkdGg6IDYwcHg7XG4gICAgaGVpZ2h0OiAycHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItdGV4dC1ncmF5KTtcbiAgICBtYXJnaW46IDAgYXV0byAxLjVyZW07XG59XG5cbi5vZmZpY2UtbmFtZSB7XG4gICAgZm9udC1mYW1pbHk6ICdOb3RvIFNlcmlmJywgR2VvcmdpYSwgc2VyaWY7XG4gICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgY29sb3I6ICMwMjFFMzg7XG4gICAgbWFyZ2luLWJvdHRvbTogMC43NXJlbTtcbn1cblxuLm9mZmljZS1kZXRhaWwge1xuICAgIGZvbnQtZmFtaWx5OiAnTm90byBTYW5zJywgc2Fucy1zZXJpZjtcbiAgICBmb250LXNpemU6IDAuOTVyZW07XG4gICAgY29sb3I6ICMwMjFFMzg7XG4gICAgbWFyZ2luLWJvdHRvbTogMC4yNXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS42O1xufVxuXG4vKiBSZXNwb25zaXZlIC0gQWJvdXQgUGFnZSAqL1xuQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgLmFib3V0LWhlcm8tY29udGVudCBoMSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMi41cmVtO1xuICAgIH1cblxuICAgIC5hYm91dC12YWx1ZXMtdGl0bGUsXG4gICAgLmFib3V0LXNlcnZpY2UtdGl0bGUsXG4gICAgLmFib3V0LW9mZmljZXMtdGl0bGUge1xuICAgICAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICB9XG5cbiAgICAuYWJvdXQtdmFsdWVzLXNlY3Rpb24gLnJvdyB7XG4gICAgICAgIC0tYnMtZ3V0dGVyLXg6IDMycHg7XG4gICAgICAgIC0tYnMtZ3V0dGVyLXk6IDMycHg7XG4gICAgfVxuXG4gICAgLnZhbHVlLWNhcmQge1xuICAgICAgICBtaW4taGVpZ2h0OiAxNTBweDtcbiAgICAgICAgcGFkZGluZzogMnJlbSAxLjVyZW07XG4gICAgfVxuXG4gICAgLnZhbHVlLWNhcmQgaDMge1xuICAgICAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgIH1cblxuICAgIC50ZWFtLWdyaWQge1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcbiAgICAgICAgZ2FwOiAyLjVyZW07XG4gICAgfVxuXG4gICAgLnRlYW0tbW9yZS1kaXZpZGVyIHtcbiAgICAgICAgd2lkdGg6IDIwMHB4O1xuICAgIH1cblxuICAgIC50ZWFtLWN0YS10aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICB9XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFZFTkRFIENPTiBOT1NPVFJPUyBQQUdFXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qIEhlcm8gU2VjdGlvbiAqL1xuLnNlbGwtaGVyby1zZWN0aW9uIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgaGVpZ2h0OiAzMHZoO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1hZ2VzL1NsaWRlcy9WZW5kZV9jb25fbm9zb3Ryb3Nfc2xpZGUucG5nJyk7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4uc2VsbC1oZXJvLW92ZXJsYXkge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjQpO1xufVxuXG4uc2VsbC1oZXJvLWNvbnRlbnQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAyO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLnNlbGwtaGVyby1jb250ZW50IGgxIHtcbiAgICBmb250LWZhbWlseTogJ05vdG8gU2VyaWYnLCBHZW9yZ2lhLCBzZXJpZjtcbiAgICBmb250LXNpemU6IDNyZW07XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgbWFyZ2luOiAwO1xufVxuXG4vKiBTZWN0aW9uIFRpdGxlcyB3aXRoIERpdmlkZXJzICovXG4uc2VsbC1zZWN0aW9uLXRpdGxlIHtcbiAgICBmb250LWZhbWlseTogJ05vdG8gU2VyaWYnLCBHZW9yZ2lhLCBzZXJpZjtcbiAgICBmb250LXNpemU6IDQwcHg7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBjb2xvcjogIzAyMUUzODtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbWFyZ2luLWJvdHRvbTogMnJlbTtcbn1cblxuLnNlbGwtc2VjdGlvbi10aXRsZS53aXRoLWRpdmlkZXJzIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xufVxuXG4uc2VsbC1zZWN0aW9uLXRpdGxlLndpdGgtZGl2aWRlcnM6OmJlZm9yZSxcbi5zZWxsLXNlY3Rpb24tdGl0bGUud2l0aC1kaXZpZGVyczo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICB3aWR0aDogMTQwcHg7XG4gICAgaGVpZ2h0OiAycHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwYTRkYztcbn1cblxuLnNlbGwtc2VjdGlvbi10aXRsZS53aXRoLWRpdmlkZXJzOjpiZWZvcmUge1xuICAgIGxlZnQ6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xufVxuXG4uc2VsbC1zZWN0aW9uLXRpdGxlLndpdGgtZGl2aWRlcnM6OmFmdGVyIHtcbiAgICByaWdodDogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG59XG5cbi8qIFRoaW5raW5nIFNlY3Rpb24gKi9cbi5zZWxsLXRoaW5raW5nLXNlY3Rpb24ge1xuICAgIHBhZGRpbmc6IDZyZW0gMDtcbn1cblxuLnNlbGwtdGhpbmtpbmctY29udGVudCB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG1hcmdpbi10b3A6IDJyZW07XG4gICAgbWF4LXdpZHRoOiA3MTJweDtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG59XG5cbi5zZWxsLXRoaW5raW5nLWNvbnRlbnQgcCB7XG4gICAgZm9udC1mYW1pbHk6ICdOb3RvIFNhbnMnLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICBjb2xvcjogIzAyMUUzODtcbiAgICBsaW5lLWhlaWdodDogMS44O1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi5idG4tc2VsbC1jb250YWN0IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGdhcDogMC41cmVtO1xuICAgIHBhZGRpbmc6IDAuODc1cmVtIDIuNXJlbTtcbiAgICBmb250LWZhbWlseTogJ05vdG8gU2FucycsIHNhbnMtc2VyaWY7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgY29sb3I6ICMwMjFFMzg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgYm9yZGVyOiAxLjVweCBzb2xpZCAjMDIxRTM4O1xuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiA0NThweDtcbiAgICBtaW4taGVpZ2h0OiA1NnB4O1xufVxuXG4uYnRuLXNlbGwtY29udGFjdDpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAyMUUzODtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0ycHgpO1xufVxuXG4uYnRuLXNlbGwtY29udGFjdDpob3ZlciBpbWcsXG4uYnRuLXNlbGwtY29udGFjdDpob3ZlciBzdmcge1xuICAgIGZpbHRlcjogYnJpZ2h0bmVzcygwKSBpbnZlcnQoMSk7XG59XG5cbi8qIEZpbHRlciBTZWN0aW9uICovXG4uc2VsbC1maWx0ZXItc2VjdGlvbiB7XG4gICAgcGFkZGluZzogNnJlbSAwO1xufVxuXG4uc2VsbC1maWx0ZXItdGl0bGUge1xuICAgIGZvbnQtZmFtaWx5OiAnTm90byBTZXJpZicsIEdlb3JnaWEsIHNlcmlmO1xuICAgIGZvbnQtc2l6ZTogNDBweDtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGNvbG9yOiAjMDIxRTM4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBtYXJnaW4tYm90dG9tOiAycmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG59XG5cbi5zZWxsLWZpbHRlci1jb250ZW50IHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbWFyZ2luLXRvcDogMnJlbTtcbiAgICBtYXgtd2lkdGg6IDcxMnB4O1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbn1cblxuLnNlbGwtZmlsdGVyLWNvbnRlbnQgcCB7XG4gICAgZm9udC1mYW1pbHk6ICdOb3RvIFNhbnMnLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICBjb2xvcjogIzAyMUUzODtcbiAgICBsaW5lLWhlaWdodDogMS44O1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi8qIFNlcnZpY2VzIFNlY3Rpb24gKi9cbi5zZWxsLXNlcnZpY2VzLXNlY3Rpb24ge1xuICAgIHBhZGRpbmc6IDZyZW0gMDtcbn1cblxuLnNlbGwtc2VydmljZXMtaW50cm8ge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBtYXJnaW4tdG9wOiAycmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDNyZW07XG4gICAgbWF4LXdpZHRoOiA3MTJweDtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG59XG5cbi5zZWxsLXNlcnZpY2VzLWludHJvIHAge1xuICAgIGZvbnQtZmFtaWx5OiAnTm90byBTYW5zJywgc2Fucy1zZXJpZjtcbiAgICBmb250LXNpemU6IDI0cHg7XG4gICAgY29sb3I6ICMwMjFFMzg7XG4gICAgbGluZS1oZWlnaHQ6IDEuODtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4uc2VsbC1zZXJ2aWNlcy1ncmlkIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDMsIDFmcik7XG4gICAgZ2FwOiA2NHB4O1xuICAgIG1hcmdpbi10b3A6IDNyZW07XG59XG5cbi5zZXJ2aWNlLWNhcmQge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xuICAgIHBhZGRpbmc6IDIuNXJlbSAycmVtO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBtaW4taGVpZ2h0OiAyMjBweDtcbn1cblxuLnNlcnZpY2UtaWNvbiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMS41cmVtO1xufVxuXG4uc2VydmljZS1pY29uIHN2ZyB7XG4gICAgY29sb3I6ICMwMjFFMzg7XG59XG5cbi5zZXJ2aWNlLXRpdGxlIHtcbiAgICBmb250LWZhbWlseTogJ05vdG8gU2FucycsIHNhbnMtc2VyaWY7XG4gICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBjb2xvcjogIzAyMUUzODtcbiAgICBsaW5lLWhlaWdodDogMS41O1xuICAgIG1hcmdpbjogMDtcbn1cblxuLyogVHJ1c3QgU2VjdGlvbiAqL1xuLnNlbGwtdHJ1c3Qtc2VjdGlvbiB7XG4gICAgcGFkZGluZzogNnJlbSAwO1xufVxuXG4uc2VsbC10cnVzdC1jb250ZW50IHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbWFyZ2luLXRvcDogMnJlbTtcbiAgICBtYXgtd2lkdGg6IDcxMnB4O1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbn1cblxuLnNlbGwtdHJ1c3QtY29udGVudCBwIHtcbiAgICBmb250LWZhbWlseTogJ05vdG8gU2FucycsIHNhbnMtc2VyaWY7XG4gICAgZm9udC1zaXplOiAyNHB4O1xuICAgIGNvbG9yOiAjMDIxRTM4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjg7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLmJ0bi1zZWxsLWFib3V0IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHBhZGRpbmc6IDAuODc1cmVtIDIuNXJlbTtcbiAgICBmb250LWZhbWlseTogJ05vdG8gU2FucycsIHNhbnMtc2VyaWY7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgY29sb3I6ICMwMjFFMzg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgYm9yZGVyOiAxLjVweCBzb2xpZCAjMDIxRTM4O1xuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiA0NThweDtcbiAgICBtaW4taGVpZ2h0OiA1NnB4O1xufVxuXG4uYnRuLXNlbGwtYWJvdXQ6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMjFFMzg7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMnB4KTtcbn1cblxuLmJ0bi1zZWxsLWFib3V0OmhvdmVyIGltZyxcbi5idG4tc2VsbC1hYm91dDpob3ZlciBzdmcge1xuICAgIGZpbHRlcjogYnJpZ2h0bmVzcygwKSBpbnZlcnQoMSk7XG59XG5cbi8qIFJlc3BvbnNpdmUgLSBTZWxsIFdpdGggVXMgUGFnZSAqL1xuQG1lZGlhIChtYXgtd2lkdGg6IDk5MnB4KSB7XG4gICAgLnNlbGwtc2VydmljZXMtZ3JpZCB7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7XG4gICAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAuc2VsbC1oZXJvLWNvbnRlbnQgaDEge1xuICAgICAgICBmb250LXNpemU6IDIuNXJlbTtcbiAgICB9XG5cbiAgICAuc2VsbC1zZWN0aW9uLXRpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgfVxuXG4gICAgLnNlbGwtc2VjdGlvbi10aXRsZS53aXRoLWRpdmlkZXJzOjpiZWZvcmUsXG4gICAgLnNlbGwtc2VjdGlvbi10aXRsZS53aXRoLWRpdmlkZXJzOjphZnRlciB7XG4gICAgICAgIHdpZHRoOiA2MHB4O1xuICAgIH1cblxuICAgIC5zZWxsLWZpbHRlci10aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgIH1cblxuICAgIC5zZWxsLXNlcnZpY2VzLWdyaWQge1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcbiAgICAgICAgZ2FwOiAxLjVyZW07XG4gICAgfVxuXG4gICAgLnNlcnZpY2UtY2FyZCB7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDE4MHB4O1xuICAgICAgICBwYWRkaW5nOiAycmVtIDEuNXJlbTtcbiAgICB9XG5cbiAgICAuc2VsbC10aGlua2luZy1jb250ZW50IHAsXG4gICAgLnNlbGwtZmlsdGVyLWNvbnRlbnQgcCxcbiAgICAuc2VsbC1zZXJ2aWNlcy1pbnRybyBwLFxuICAgIC5zZWxsLXRydXN0LWNvbnRlbnQgcCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICB9XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgUHJvcGVydHkgU2VhcmNoICYgRmlsdGVyc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qIFNlYXJjaCBCYXIgU2VjdGlvbiAqL1xuLnByb3BlcnR5LXNlYXJjaC1iYXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMzRDU0Njc7XG4gICAgcGFkZGluZzogMS41cmVtIDA7XG59XG5cbi5zZWFyY2gtZmlsdGVycy1mb3JtIC5mb3JtLWxhYmVsIHtcbiAgICBmb250LWZhbWlseTogJ05vdG8gU2FucycsIHNhbnMtc2VyaWY7XG4gICAgZm9udC1zaXplOiAwLjhyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMC4yNXJlbTtcbiAgICBmb250LXdlaWdodDogNDAwO1xufVxuXG4uc2VhcmNoLWZpbHRlcnMtZm9ybSAuZm9ybS1jb250cm9sLFxuLnNlYXJjaC1maWx0ZXJzLWZvcm0gLmZvcm0tc2VsZWN0IHtcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgcGFkZGluZzogMC43NXJlbSAxcmVtO1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICBib3JkZXI6IDJweCBzb2xpZCAjMDIxRTM4O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgIGNvbG9yOiAjMDIxRTM4O1xufVxuXG4uc2VhcmNoLWZpbHRlcnMtZm9ybSAuZm9ybS1zZWxlY3Qge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMTYnIGhlaWdodD0nMTYnIGZpbGw9JyUyMzAyMUUzOCcgdmlld0JveD0nMCAwIDE2IDE2JyUzRSUzQ3BhdGggZmlsbC1ydWxlPSdldmVub2RkJyBkPSdNMS42NDYgNC42NDZhLjUuNSAwIDAgMSAuNzA4IDBMOCAxMC4yOTNsNS42NDYtNS42NDdhLjUuNSAwIDAgMSAuNzA4LjcwOGwtNiA2YS41LjUgMCAwIDEtLjcwOCAwbC02LTZhLjUuNSAwIDAgMSAwLS43MDh6Jy8lM0UlM0Mvc3ZnJTNFXCIpO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgMXJlbSBjZW50ZXI7XG4gICAgcGFkZGluZy1yaWdodDogMi41cmVtO1xufVxuXG4uc2VhcmNoLWZpbHRlcnMtZm9ybSAuZm9ybS1jb250cm9sOmZvY3VzLFxuLnNlYXJjaC1maWx0ZXJzLWZvcm0gLmZvcm0tc2VsZWN0OmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG59XG5cbi5idG4tZmlsdGVycyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgY29sb3I6ICMzMDRDNUU7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2RlZTJlNjtcbiAgICBwYWRkaW5nOiAwLjYyNXJlbSAxLjI1cmVtO1xuICAgIGZvbnQtZmFtaWx5OiAnTm90byBTYW5zJywgc2Fucy1zZXJpZjtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGZvbnQtc2l6ZTogMC45NXJlbTtcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTtcbn1cblxuLmJ0bi1maWx0ZXJzOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzA0QzVFO1xuICAgIGJvcmRlci1jb2xvcjogIzMwNEM1RTtcbiAgICBjb2xvcjogd2hpdGU7XG59XG5cbi5idG4tZmlsdGVyczpob3ZlciBpbWcge1xuICAgIGZpbHRlcjogYnJpZ2h0bmVzcygwKSBpbnZlcnQoMSk7XG59XG5cbi5idG4tZmlsdGVycyBzdmcge1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cbi5idG4tY3JlYXRlLWFsZXJ0IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbiAgICBjb2xvcjogIzMwNEM1RTtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgcGFkZGluZzogMC42MjVyZW0gMS4yNXJlbTtcbiAgICBmb250LWZhbWlseTogJ05vdG8gU2FucycsIHNhbnMtc2VyaWY7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBmb250LXNpemU6IDAuOTVyZW07XG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7XG59XG5cbi5idG4tY3JlYXRlLWFsZXJ0OmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICBjb2xvcjogIzMwNEM1RTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTFweCk7XG4gICAgYm94LXNoYWRvdzogMCAycHggNnB4IHJnYmEoMCwgMCwgMCwgMC4xNSk7XG59XG5cbi5idG4tY3JlYXRlLWFsZXJ0IHN2ZyB7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuLyogUmVzdWx0cyBDb250cm9scyAqL1xuLnByb3BlcnR5LXJlc3VsdHMtY29udHJvbHMgaDUge1xuICAgIGZvbnQtZmFtaWx5OiAnTm90byBTZXJpZicsIHNlcmlmO1xuICAgIGNvbG9yOiAjMzA0QzVFO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG59XG5cbi8qIFNvcnQgRHJvcGRvd24gKi9cbi5zb3J0LWRyb3Bkb3duIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5zb3J0LWRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIHBhZGRpbmc6IDAuMzc1cmVtIDAuNXJlbTtcbiAgICBmb250LXNpemU6IDAuOTVyZW07XG4gICAgY29sb3I6ICM0OTUwNTc7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjJzIGVhc2U7XG59XG5cbi5zb3J0LWRyb3Bkb3duLXRvZ2dsZTpob3ZlciB7XG4gICAgY29sb3I6ICMyMTI1Mjk7XG59XG5cbi5zb3J0LWRyb3Bkb3duLXRvZ2dsZSBzdmcge1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cbi5zb3J0LWRyb3Bkb3duLXRvZ2dsZSBzdmc6bGFzdC1jaGlsZCB7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMnMgZWFzZTtcbn1cblxuLnNvcnQtZHJvcGRvd24uYWN0aXZlIC5zb3J0LWRyb3Bkb3duLXRvZ2dsZSBzdmc6bGFzdC1jaGlsZCB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbn1cblxuLnNvcnQtZHJvcGRvd24tbWVudSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogY2FsYygxMDAlICsgMC41cmVtKTtcbiAgICBsZWZ0OiAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNkZWUyZTY7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgIGJveC1zaGFkb3c6IDAgMnB4IDhweCByZ2JhKDAsIDAsIDAsIDAuMSk7XG4gICAgbWluLXdpZHRoOiAyMDBweDtcbiAgICB6LWluZGV4OiAxMDAwO1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5zb3J0LWRyb3Bkb3duLmFjdGl2ZSAuc29ydC1kcm9wZG93bi1tZW51IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbn1cblxuLnNvcnQtZHJvcGRvd24tb3B0aW9uIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAwLjYyNXJlbSAxcmVtO1xuICAgIGNvbG9yOiAjNDk1MDU3O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBmb250LXNpemU6IDAuOTVyZW07XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzIGVhc2U7XG59XG5cbi5zb3J0LWRyb3Bkb3duLW9wdGlvbjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y4ZjlmYTtcbiAgICBjb2xvcjogIzIxMjUyOTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi5zb3J0LWRyb3Bkb3duLW9wdGlvbi5hY3RpdmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlOWVjZWY7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBjb2xvcjogIzIxMjUyOTtcbn1cblxuLnByb3BlcnR5LXJlc3VsdHMtY29udHJvbHMgLmZvcm0tc2VsZWN0LXNtIHtcbiAgICBmb250LWZhbWlseTogJ05vdG8gU2FucycsIHNhbnMtc2VyaWY7XG4gICAgZm9udC1zaXplOiAwLjlyZW07XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2RlZTJlNjtcbn1cblxuLnByb3BlcnR5LXJlc3VsdHMtY29udHJvbHMgLmZvcm0tY2hlY2stbGFiZWwge1xuICAgIGZvbnQtZmFtaWx5OiAnTm90byBTYW5zJywgc2Fucy1zZXJpZjtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgY29sb3I6ICMzMDRDNUU7XG59XG5cbi5wcm9wZXJ0eS1yZXN1bHRzLWNvbnRyb2xzIC5mb3JtLWNoZWNrLWlucHV0IHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgd2lkdGg6IDNyZW07XG4gICAgaGVpZ2h0OiAxLjVyZW07XG59XG5cbi5wcm9wZXJ0eS1yZXN1bHRzLWNvbnRyb2xzIC5mb3JtLWNoZWNrLWlucHV0OmNoZWNrZWQge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG59XG5cbi8qIFByb3BlcnR5IEdyaWQgKi9cbi5wcm9wZXJ0eS1ncmlkLXNlY3Rpb24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xufVxuXG4ucHJvcGVydHktbGluayB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiAxMDAlO1xufVxuXG4ucHJvcGVydHktbGluazpob3ZlciB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6IGluaGVyaXQ7XG59XG5cbi5wcm9wZXJ0eS1saW5rIC5wcm9wZXJ0eS10aXRsZSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi8qIFByb3BlcnR5IENhcmRzIC0gTGlzdCBWaWV3IChtw6FzIGNvbXBhY3RvcykgKi9cbi5wcm9wZXJ0eS1ncmlkLXNlY3Rpb24gLnByb3BlcnR5LWNhcmQgLnByb3BlcnR5LWxvY2F0aW9uIHtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBjb2xvcjogIzZjNzU3ZDtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG59XG5cbi5wcm9wZXJ0eS1ncmlkLXNlY3Rpb24gLnByb3BlcnR5LWNhcmQgLnByb3BlcnR5LXRpdGxlIHtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gICAgbWFyZ2luLWJvdHRvbTogMC43NXJlbTtcbiAgICBjb2xvcjogIzIxMjUyOTtcbn1cblxuLnByb3BlcnR5LWdyaWQtc2VjdGlvbiAucHJvcGVydHktY2FyZCAucHJvcGVydHktcHJpY2Uge1xuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICBjb2xvcjogIzIxMjUyOTtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjc1cmVtO1xufVxuXG4ucHJvcGVydHktZ3JpZC1zZWN0aW9uIC5wcm9wZXJ0eS1jYXJkIC5wcm9wZXJ0eS1mZWF0dXJlcyB7XG4gICAgZm9udC1zaXplOiAwLjg3NWVtO1xuICAgIGNvbG9yOiAjNmM3NTdkO1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBmb250LXdlaWdodDogNDAwO1xufVxuXG4vKiBDVEEgQWxlcnQgQ2FyZCAqL1xuLmN0YS1hbGVydC1jYXJkIHtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCAjMzA0QzVFIDAlLCAjMkMzRTUwIDEwMCUpO1xuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICBwYWRkaW5nOiAyLjVyZW0gMnJlbTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGJveC1zaGFkb3c6IDAgNHB4IDEycHggcmdiYSgwLCAwLCAwLCAwLjEpO1xuICAgIG1pbi1oZWlnaHQ6IDQwMHB4O1xufVxuXG4uY3RhLWljb24ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW07XG59XG5cbi5jdGEtdGl0bGUge1xuICAgIGZvbnQtZmFtaWx5OiAnTm90byBTZXJpZicsIHNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGxpbmUtaGVpZ2h0OiAyNHB4O1xufVxuXG4uY3RhLWRlc2NyaXB0aW9uIHtcbiAgICBmb250LWZhbWlseTogJ05vdG8gU2FucycsIHNhbnMtc2VyaWY7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOSk7XG4gICAgbWFyZ2luLWJvdHRvbTogMnJlbTtcbiAgICBsaW5lLWhlaWdodDogMjBweDtcbn1cblxuLmJ0bi1jdGEtYWxlcnQge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xuICAgIGNvbG9yOiAjMzA0QzVFO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBwYWRkaW5nOiAwLjg1cmVtIDIuNXJlbTtcbiAgICBmb250LWZhbWlseTogJ05vdG8gU2FucycsIHNhbnMtc2VyaWY7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTtcbiAgICBmb250LXNpemU6IDEuMXJlbTtcbn1cblxuLmJ0bi1jdGEtYWxlcnQ6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgIGNvbG9yOiAjMzA0QzVFO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMnB4KTtcbiAgICBib3gtc2hhZG93OiAwIDRweCAxMnB4IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC40KTtcbn1cblxuLyogUHJvcGVydHkgUGFnaW5hdGlvbiAqL1xuLnByb3BlcnR5LXBhZ2luYXRpb24ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi5wcm9wZXJ0eS1wYWdpbmF0aW9uIC5wYWdpbmF0aW9uIHtcbiAgICBnYXA6IDAuNXJlbTtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLnByb3BlcnR5LXBhZ2luYXRpb24gLnBhZ2UtaXRlbSB7XG4gICAgbWFyZ2luOiAwO1xufVxuXG4ucHJvcGVydHktcGFnaW5hdGlvbiAucGFnZS1saW5rIHtcbiAgICBmb250LWZhbWlseTogJ05vdG8gU2FucycsIHNhbnMtc2VyaWY7XG4gICAgY29sb3I6ICMzMDRDNUU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIHBhZGRpbmc6IDAuNXJlbSAwLjg3NXJlbTtcbiAgICBib3JkZXItcmFkaXVzOiA2cHg7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIG1pbi13aWR0aDogNDhweDtcbiAgICBtaW4taGVpZ2h0OiA0OHB4O1xufVxuXG4ucHJvcGVydHktcGFnaW5hdGlvbiAucGFnZS1saW5rOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDU0LCA3NSwgOTUsIDAuMSk7XG4gICAgY29sb3I6ICMzMDRDNUU7XG59XG5cbi5wcm9wZXJ0eS1wYWdpbmF0aW9uIC5wYWdlLWl0ZW0uYWN0aXZlIC5wYWdlLWxpbmsge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMzMDRDNUU7XG4gICAgY29sb3I6IHdoaXRlO1xufVxuXG4ucHJvcGVydHktcGFnaW5hdGlvbiAucGFnZS1pdGVtLmRpc2FibGVkIC5wYWdlLWxpbmsge1xuICAgIGNvbG9yOiAjQ0JENUUwO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgb3BhY2l0eTogMC41O1xufVxuXG4ucHJvcGVydHktcGFnaW5hdGlvbiAucGFnZS1saW5rIGltZyB7XG4gICAgd2lkdGg6IDMycHg7XG4gICAgaGVpZ2h0OiAzMnB4O1xufVxuXG4vKiBSZXNwb25zaXZlIC0gUHJvcGVydHkgUGFnaW5hdGlvbiAqL1xuQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgLnByb3BlcnR5LXBhZ2luYXRpb24gLnBhZ2luYXRpb24ge1xuICAgICAgICBnYXA6IDAuMTI1cmVtO1xuICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgICAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gICAgICAgIHNjcm9sbGJhci13aWR0aDogbm9uZTtcbiAgICAgICAgLW1zLW92ZXJmbG93LXN0eWxlOiBub25lO1xuICAgIH1cblxuICAgIC5wcm9wZXJ0eS1wYWdpbmF0aW9uIC5wYWdpbmF0aW9uOjotd2Via2l0LXNjcm9sbGJhciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLnByb3BlcnR5LXBhZ2luYXRpb24gLnBhZ2UtbGluayB7XG4gICAgICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICAgICAgcGFkZGluZzogMC4yNXJlbSAwLjVyZW07XG4gICAgICAgIG1pbi13aWR0aDogMzZweDtcbiAgICAgICAgbWluLWhlaWdodDogMzZweDtcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgfVxuXG4gICAgLnByb3BlcnR5LXBhZ2luYXRpb24gLnBhZ2UtbGluayBpbWcge1xuICAgICAgICB3aWR0aDogMjBweDtcbiAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgIH1cbn1cblxuLyogTW9kYWwgSW1wcm92ZW1lbnRzICovXG4ubW9kYWwtaGVhZGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjhmOWZhO1xuICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbn1cblxuLm1vZGFsLXRpdGxlIHtcbiAgICBmb250LWZhbWlseTogJ05vdG8gU2VyaWYnLCBzZXJpZjtcbiAgICBjb2xvcjogIzMwNEM1RTtcbiAgICBmb250LXdlaWdodDogNjAwO1xufVxuXG4vKiBSZXNwb25zaXZlIC0gUHJvcGVydHkgTGlzdCAqL1xuQG1lZGlhIChtYXgtd2lkdGg6IDk5MnB4KSB7XG4gICAgLnByb3BlcnR5LXNlYXJjaC1iYXIge1xuICAgICAgICBwYWRkaW5nOiAxLjVyZW0gMDtcbiAgICB9XG5cbiAgICAuc2VhcmNoLWZpbHRlcnMtZm9ybSAucm93IHtcbiAgICAgICAgcm93LWdhcDogMXJlbTtcbiAgICB9XG5cbiAgICAuY3RhLWFsZXJ0LWNhcmQge1xuICAgICAgICBtaW4taGVpZ2h0OiAzMDBweDtcbiAgICAgICAgcGFkZGluZzogMnJlbSAxLjVyZW07XG4gICAgfVxuXG4gICAgLmN0YS1pY29uIHtcbiAgICAgICAgd2lkdGg6IDYwcHg7XG4gICAgICAgIGhlaWdodDogNjBweDtcbiAgICB9XG5cbiAgICAuY3RhLWljb24gaSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgIH1cblxuICAgIC5jdGEtdGl0bGUge1xuICAgICAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAucHJvcGVydHktcmVzdWx0cy1jb250cm9scyB7XG4gICAgICAgIGZsZXgtd3JhcDogbm93cmFwICFpbXBvcnRhbnQ7XG4gICAgICAgIGdhcDogMC41cmVtICFpbXBvcnRhbnQ7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIHBhZGRpbmc6IDFyZW0gMDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNFNUU3RUI7XG4gICAgfVxuXG4gICAgLyogQ29udGVuZWRvciBkZSByZXN1bHRhZG9zICsgb3JkZW5hY2nDs24gKi9cbiAgICAucHJvcGVydHktcmVzdWx0cy1jb250cm9scyA+IGRpdjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGZsZXg6IDE7XG4gICAgICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZ2FwOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIG1pbi13aWR0aDogMDtcbiAgICB9XG5cbiAgICAucHJvcGVydHktcmVzdWx0cy1jb250cm9scyBoNSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMC45cmVtO1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuNzVyZW07XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgIGNvbG9yOiAjMzA0QzVFO1xuICAgIH1cblxuICAgIC8qIEzDrW5lYSBkaXZpc29yaWEgdmVydGljYWwgZG9yYWRhICovXG4gICAgLnByb3BlcnR5LXJlc3VsdHMtY29udHJvbHMgaDU6OmFmdGVyIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICAgIHdpZHRoOiAxcHg7XG4gICAgICAgIGhlaWdodDogMjBweDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0Q0QUYzNztcbiAgICB9XG5cbiAgICAucHJvcGVydHktcmVzdWx0cy1jb250cm9scyBoNSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB9XG5cbiAgICAvKiBEcm9wZG93biBkZSBvcmRlbmFjacOzbiAqL1xuICAgIC5wcm9wZXJ0eS1yZXN1bHRzLWNvbnRyb2xzIC5zb3J0LWRyb3Bkb3duIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDAuNzVyZW07XG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIH1cblxuICAgIC5zb3J0LWRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMC44NXJlbTtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgY29sb3I6ICMzMDRDNUU7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGdhcDogMC4zNXJlbTtcbiAgICB9XG5cbiAgICAuc29ydC1kcm9wZG93bi10b2dnbGUgaW1nIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB3aWR0aDogMTJweCAhaW1wb3J0YW50O1xuICAgICAgICBoZWlnaHQ6IDEycHggIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAvKiBPY3VsdGFyIHRleHRvIGRlbCBkcm9wZG93biwgc29sbyBtb3N0cmFyIGljb25vICovXG4gICAgLnNvcnQtZHJvcGRvd24tdG9nZ2xlIC5zb3J0LWRyb3Bkb3duLXRleHQge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC5zb3J0LWRyb3Bkb3duLXRvZ2dsZSBpIHtcbiAgICAgICAgZm9udC1zaXplOiAwLjY1cmVtO1xuICAgIH1cblxuICAgIC8qIFRvZ2dsZSBkZWwgbWFwYSBlbiBtb2JpbGUgLSBjb21wYWN0byAqL1xuICAgIC5wcm9wZXJ0eS1yZXN1bHRzLWNvbnRyb2xzIC5tYXAtdG9nZ2xlLXN3aXRjaCB7XG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgICBtYXJnaW4tbGVmdDogMC41cmVtO1xuICAgIH1cblxuICAgIC5wcm9wZXJ0eS1yZXN1bHRzLWNvbnRyb2xzIC5tYXAtdG9nZ2xlLXN3aXRjaCAuZm9ybS1jaGVjay1sYWJlbCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMC44cmVtO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIH1cblxuICAgIC5wcm9wZXJ0eS1yZXN1bHRzLWNvbnRyb2xzIC5tYXAtdG9nZ2xlLXN3aXRjaCAuZm9ybS1jaGVjay1pbnB1dCB7XG4gICAgICAgIHdpZHRoOiAyLjI1cmVtICFpbXBvcnRhbnQ7XG4gICAgICAgIGhlaWdodDogMS4xNXJlbSAhaW1wb3J0YW50O1xuICAgICAgICBtYXJnaW4tbGVmdDogMC4zNXJlbTtcbiAgICB9XG5cbiAgICAuc2VhcmNoLWZpbHRlcnMtZm9ybSAuY29sLW1kLTIsXG4gICAgLnNlYXJjaC1maWx0ZXJzLWZvcm0gLmNvbC1tZC00IHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgLmN0YS1hbGVydC1jYXJkIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMS41cmVtO1xuICAgIH1cbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBQcm9wZXJ0eSBEZXRhaWwgUGFnZSAoRmljaGEgVMOpY25pY2EpXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyogQnJlYWRjcnVtYnMgLSBNaWdhIGRlIHBhbiAqL1xuLmJyZWFkY3J1bWIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLmJyZWFkY3J1bWItaXRlbSB7XG4gICAgZm9udC1mYW1pbHk6ICdOb3RvIFNlcmlmJywgc2VyaWY7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgY29sb3I6ICMzMDRDNUU7XG59XG5cbi5icmVhZGNydW1iLWl0ZW0gYSB7XG4gICAgY29sb3I6ICMzMDRDNUU7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuM3MgZWFzZTtcbn1cblxuLmJyZWFkY3J1bWItaXRlbSBhOmhvdmVyIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG59XG5cbi5icmVhZGNydW1iLWl0ZW0uYWN0aXZlIHtcbiAgICBjb2xvcjogIzMwNEM1RTtcbn1cblxuLmJyZWFkY3J1bWItaXRlbSArIC5icmVhZGNydW1iLWl0ZW06OmJlZm9yZSB7XG4gICAgY29udGVudDogXCI+XCI7XG4gICAgY29sb3I6ICMzMDRDNUU7XG4gICAgcGFkZGluZzogMCAwLjVyZW07XG59XG5cbi8qIEdhbGxlcnkgKi9cbi5wcm9wZXJ0eS1nYWxsZXJ5IC5tYWluLWltYWdlLXdyYXBwZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiA4NTVweDtcbiAgICBoZWlnaHQ6IDY0MHB4O1xufVxuXG4ucHJvcGVydHktZ2FsbGVyeSAubWFpbi1pbWFnZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG9iamVjdC1maXQ6IGNvdmVyO1xufVxuXG4ucHJvcGVydHktZ2FsbGVyeSAuYmFkZ2Utb3ZlcmxheS10b3AtcmlnaHQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDFyZW07XG4gICAgcmlnaHQ6IDFyZW07XG59XG5cbi5wcm9wZXJ0eS1nYWxsZXJ5IC5iYWRnZS10b3VyLXZpcnR1YWwge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiAwLjVyZW07XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjk1KTtcbiAgICBjb2xvcjogIzMwNEM1RTtcbiAgICBwYWRkaW5nOiAwLjVyZW0gMXJlbTtcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgZm9udC1zaXplOiAwLjlyZW07XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTtcbiAgICBib3gtc2hhZG93OiAwIDJweCA4cHggcmdiYSgwLCAwLCAwLCAwLjE1KTtcbn1cblxuLnByb3BlcnR5LWdhbGxlcnkgLmJhZGdlLXRvdXItdmlydHVhbDpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG4gICAgY29sb3I6ICMzMDRDNUU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0ycHgpO1xuICAgIGJveC1zaGFkb3c6IDAgNHB4IDEycHggcmdiYSgwLCAwLCAwLCAwLjIpO1xufVxuXG4ucHJvcGVydHktZ2FsbGVyeSAudGh1bWJuYWlscy1ncmlkIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiB2YXIoLS1zcGFjaW5nLWwpO1xuICAgIGhlaWdodDogMTAwJTtcbn1cblxuLnByb3BlcnR5LWdhbGxlcnkgLnRodW1ibmFpbC13cmFwcGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogNjAwcHg7XG4gICAgaGVpZ2h0OiAzMDRweDtcbiAgICBmbGV4OiAxO1xufVxuXG4ucHJvcGVydHktZ2FsbGVyeSAudGh1bWJuYWlsIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3MgZWFzZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5wcm9wZXJ0eS1nYWxsZXJ5IC50aHVtYm5haWw6aG92ZXIge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wNSk7XG59XG5cbi5wcm9wZXJ0eS1nYWxsZXJ5IC50aHVtYm5haWwtb3ZlcmxheSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGluc2V0OiAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC42KTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG59XG5cbi5wcm9wZXJ0eS1nYWxsZXJ5IC5uby1pbWFnZS1wbGFjZWhvbGRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y4ZjlmYTtcbiAgICBib3JkZXI6IDJweCBkYXNoZWQgI2RlZTJlNjtcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgcGFkZGluZzogNHJlbSAycmVtO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBjb2xvcjogIzZjNzU3ZDtcbn1cblxuLnByb3BlcnR5LWdhbGxlcnkgLm5vLWltYWdlLXBsYWNlaG9sZGVyIGkge1xuICAgIGZvbnQtc2l6ZTogM3JlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKiBSZWZlcmVuY2UgQmFkZ2UgLSBOLiBSZWZlcmVuY2lhIGRlIFByb3BpZWRhZCAqL1xuLnByb3BlcnR5LXJlZmVyZW5jZS1iYWRnZSAuYmFkZ2Uge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMEE0REM7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIGZvbnQtZmFtaWx5OiAnTm90byBTYW5zJywgc2Fucy1zZXJpZjtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBwYWRkaW5nOiAwLjVyZW0gMXJlbTtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XG59XG5cbi8qIEhlYWRlciAqL1xuLnByb3BlcnR5LWhlYWRlciAucHJvcGVydHktdGl0bGUge1xuICAgIGZvbnQtZmFtaWx5OiAnTm90byBTZXJpZicsIHNlcmlmO1xuICAgIGNvbG9yOiAjMzA0QzVFO1xuICAgIGZvbnQtc2l6ZTogNDBweDtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG59XG5cbi5wcm9wZXJ0eS1oZWFkZXIgLnByb3BlcnR5LXByaWNlLW1haW4ge1xuICAgIGZvbnQtZmFtaWx5OiAnTm90byBTZXJpZicsIHNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGNvbG9yOiAjMzA0QzVFO1xufVxuXG4ucHJvcGVydHktaGVhZGVyIC5wcmljZS1vbi1yZXF1ZXN0IHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbn1cblxuLyogUXVpY2sgU3RhdHMgKi9cbi5wcm9wZXJ0eS1xdWljay1zdGF0cyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4ucHJvcGVydHktcXVpY2stc3RhdHMgLnN0YXRzLWRpdmlkZXItdG9wIHtcbiAgICBoZWlnaHQ6IDFweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1hY2NlbnQpO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG59XG5cbi5wcm9wZXJ0eS1xdWljay1zdGF0cyAuc3RhdHMtZGl2aWRlci1ib3R0b20ge1xuICAgIGhlaWdodDogMXB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWFjY2VudCk7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLXRvcDogMXJlbTtcbn1cblxuLnByb3BlcnR5LXF1aWNrLXN0YXRzIC5zdGF0cy1jb250ZW50IHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGdhcDogMC43NXJlbTtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbn1cblxuLnByb3BlcnR5LXF1aWNrLXN0YXRzIC5zdGF0LWl0ZW0ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDAuNXJlbTtcbiAgICBmb250LXNpemU6IDAuOTVyZW07XG4gICAgY29sb3I6ICMzMDRDNUU7XG4gICAgZmxleDogMCAwIGF1dG87XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLnByb3BlcnR5LXF1aWNrLXN0YXRzIC5zdGF0LWl0ZW0gLnN0YXQtaWNvbiB7XG4gICAgd2lkdGg6IDIwcHg7XG4gICAgaGVpZ2h0OiAyMHB4O1xuICAgIG9iamVjdC1maXQ6IGNvbnRhaW47XG59XG5cbi8qIEJvdG9uZXMgZGUgQWNjacOzbiAoRmljaGEgdMOpY25pY2EsIFBsYW5vcywgSW5mby4gRW5lcmfDqXRpY2EpICovXG4ucHJvcGVydHktYWN0aW9uLWJ1dHRvbnMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZ2FwOiAxcmVtO1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG59XG5cbi5idG4tcHJvcGVydHktYWN0aW9uIHtcbiAgICBmbGV4OiAxO1xuICAgIGhlaWdodDogNTZweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICMwMjFFMzg7XG4gICAgY29sb3I6ICMwMjFFMzg7XG4gICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgIGZvbnQtZmFtaWx5OiAnTm90byBTYW5zJywgc2Fucy1zZXJpZjtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGZvbnQtc2l6ZTogMC45NXJlbTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgZ2FwOiB2YXIoLS1zcGFjaW5nLXhzKTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYm94LXNoYWRvdzogMCAxcHggM3B4IHJnYmEoMCwgMCwgMCwgMC4wOCk7XG59XG5cbi5idG4tcHJvcGVydHktYWN0aW9uOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDIxRTM4O1xuICAgIGJvcmRlci1jb2xvcjogIzAyMUUzODtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICBib3gtc2hhZG93OiAwIDJweCA2cHggcmdiYSgwLCAwLCAwLCAwLjEyKTtcbn1cblxuLmJ0bi1wcm9wZXJ0eS1hY3Rpb24gLmFjdGlvbi1pY29uIHtcbiAgICB3aWR0aDogMjBweDtcbiAgICBoZWlnaHQ6IDIwcHg7XG4gICAgb2JqZWN0LWZpdDogY29udGFpbjtcbn1cblxuLyogQ29udGVuaWRvIC0gRGVzY3JpcGNpw7NuLCBDYXJhY3RlcsOtc3RpY2FzLCBVYmljYWNpw7NuICovXG4ucHJvcGVydHktY29udGVudCB7XG4gICAgcGFkZGluZzogMDtcbn1cblxuLnByb3BlcnR5LWNvbnRlbnQgLnNlY3Rpb24tdGl0bGUge1xuICAgIGZvbnQtZmFtaWx5OiAnTm90byBTZXJpZicsIHNlcmlmO1xuICAgIGNvbG9yOiAjMzA0QzVFO1xuICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDEuNXJlbTtcbiAgICBmb250LXdlaWdodDogNjAwO1xufVxuXG4vKiBQcm9wZXJ0eSBEZXRhaWwgQ29udGVudCBUaXRsZXMgKi9cbi5wcm9wZXJ0eS1jb250ZW50IC5jb250ZW50LXNlY3Rpb24tdGl0bGUge1xuICAgIGZvbnQtZmFtaWx5OiAnTm90byBTZXJpZicsIHNlcmlmO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgZm9udC1zaXplOiAyNHB4O1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgY29sb3I6ICMzMDRDNUU7XG4gICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbn1cblxuLyogRGVzY3JpcHRpb24gKi9cbi5wcm9wZXJ0eS1jb250ZW50IC5wcm9wZXJ0eS1kZXNjcmlwdGlvbiB7XG4gICAgbWFyZ2luLWJvdHRvbTogNHJlbTtcbn1cblxuLnByb3BlcnR5LWRlc2NyaXB0aW9uIC5kZXNjcmlwdGlvbi10ZXh0IHtcbiAgICBjb2xvcjogIzAyMUUzODtcbiAgICBsaW5lLWhlaWdodDogMS41cmVtO1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICBmb250LWZhbWlseTogJ05vdG8gU2Fucyc7XG59XG5cbi8qIEZlYXR1cmVzIC0gQ2FyYWN0ZXLDrXN0aWNhcyBlbiBkb3MgY29sdW1uYXMgKi9cbi8qIFNvYnJlc2NyaWJpciBkaXNwbGF5IGZsZXggZGUgbGEgY2xhc2UgZ2Vuw6lyaWNhICovXG4ucHJvcGVydHktY29udGVudCAucHJvcGVydHktZmVhdHVyZXMge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi1ib3R0b206IDRyZW07XG59XG5cbi5wcm9wZXJ0eS1mZWF0dXJlcyAuZmVhdHVyZXMtZ3JpZCB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7XG4gICAgZ2FwOiAxcmVtO1xuICAgIG1hcmdpbi10b3A6IDFyZW07XG59XG5cbi5wcm9wZXJ0eS1mZWF0dXJlcyAuZmVhdHVyZS1pdGVtIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiAwLjc1cmVtO1xuICAgIGNvbG9yOiAjMzA0QzVFO1xuICAgIGZvbnQtc2l6ZTogMC45NXJlbTtcbn1cblxuLnByb3BlcnR5LWZlYXR1cmVzIC5mZWF0dXJlLWl0ZW0gaSB7XG4gICAgZm9udC1zaXplOiAxLjJyZW07XG4gICAgY29sb3I6ICMzMDRDNUU7XG4gICAgZmxleC1zaHJpbms6IDA7XG59XG5cbi8qIFJlc3BvbnNpdmUgLSBGZWF0dXJlcyBlbiBkb3MgY29sdW1uYXMgZW4gbcOzdmlsICovXG5AbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAucHJvcGVydHktZmVhdHVyZXMgLmZlYXR1cmVzLWdyaWQge1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7XG4gICAgfVxufVxuXG4vKiBUZWNobmljYWwgRGV0YWlscyAqL1xuLnByb3BlcnR5LXRlY2huaWNhbC1kZXRhaWxzIC5kZXRhaWwtcm93IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHBhZGRpbmc6IDAuNzVyZW07XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y4ZjlmYTtcbiAgICBib3JkZXItcmFkaXVzOiA2cHg7XG59XG5cbi5wcm9wZXJ0eS10ZWNobmljYWwtZGV0YWlscyAuZGV0YWlsLWxhYmVsIHtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGNvbG9yOiAjNmM3NTdkO1xuICAgIGZvbnQtc2l6ZTogMC45cmVtO1xufVxuXG4ucHJvcGVydHktdGVjaG5pY2FsLWRldGFpbHMgLmRldGFpbC12YWx1ZSB7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBjb2xvcjogIzMwNEM1RTtcbiAgICBmb250LXNpemU6IDAuOTVyZW07XG59XG5cbi8qIEZsb29yIFBsYW4gKi9cbi5mbG9vci1wbGFuLXdyYXBwZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmOGY5ZmE7XG4gICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgIHBhZGRpbmc6IDJyZW07XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uZmxvb3ItcGxhbi13cmFwcGVyIGltZyB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XG59XG5cbi8qIEVuZXJneSBSYXRpbmcgKi9cbi5lbmVyZ3ktaW5mbyB7XG4gICAgcGFkZGluZzogMnJlbTtcbn1cblxuLmVuZXJneS1pbmZvIGg0IHtcbiAgICBmb250LWZhbWlseTogJ05vdG8gU2VyaWYnLCBzZXJpZjtcbiAgICBjb2xvcjogIzMwNEM1RTtcbiAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbn1cblxuLmVuZXJneS1pbmZvIC5yYXRpbmctYmFkZ2Uge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwYWRkaW5nOiAxcmVtIDJyZW07XG4gICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuXG4uZW5lcmd5LWluZm8gLnJhdGluZy1iYWRnZS5yYXRpbmctYSB7IGJhY2tncm91bmQtY29sb3I6ICMyMmM1NWU7IH1cbi5lbmVyZ3ktaW5mbyAucmF0aW5nLWJhZGdlLnJhdGluZy1iIHsgYmFja2dyb3VuZC1jb2xvcjogIzg0Y2MxNjsgfVxuLmVuZXJneS1pbmZvIC5yYXRpbmctYmFkZ2UucmF0aW5nLWMgeyBiYWNrZ3JvdW5kLWNvbG9yOiAjZWFiMzA4OyB9XG4uZW5lcmd5LWluZm8gLnJhdGluZy1iYWRnZS5yYXRpbmctZCB7IGJhY2tncm91bmQtY29sb3I6ICNmOTczMTY7IH1cbi5lbmVyZ3ktaW5mbyAucmF0aW5nLWJhZGdlLnJhdGluZy1lIHsgYmFja2dyb3VuZC1jb2xvcjogI2VmNDQ0NDsgfVxuLmVuZXJneS1pbmZvIC5yYXRpbmctYmFkZ2UucmF0aW5nLWYgeyBiYWNrZ3JvdW5kLWNvbG9yOiAjZGMyNjI2OyB9XG4uZW5lcmd5LWluZm8gLnJhdGluZy1iYWRnZS5yYXRpbmctZyB7IGJhY2tncm91bmQtY29sb3I6ICM5OTFiMWI7IH1cblxuLyogTG9jYXRpb24gTWFwICovXG4ucHJvcGVydHktbG9jYXRpb24gLnByb3BlcnR5LW1hcCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiA0MDBweDtcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZGVlMmU2O1xufVxuXG4vKiBNYWluIFBob3RvICovXG4ucHJvcGVydHktbWFpbi1waG90byB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4ucHJvcGVydHktbWFpbi1waG90byBpbWcge1xuICAgIGFzcGVjdC1yYXRpbzogNC8zO1xuICAgIG9iamVjdC1maXQ6IGNvdmVyO1xufVxuXG4vKiBTaWRlIEltYWdlcyAoZGVyZWNoYSkgKi9cbi5wcm9wZXJ0eS1zaWRlLWltYWdlcyAuc2lkZS1pbWFnZS13cmFwcGVyIHtcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLnByb3BlcnR5LXNpZGUtaW1hZ2VzIC5zaWRlLWltYWdlLXdyYXBwZXIgaW1nIHtcbiAgICBhc3BlY3QtcmF0aW86IDMvMjtcbiAgICBvYmplY3QtZml0OiBjb3Zlcjtcbn1cblxuLnByb3BlcnR5LXNpZGUtaW1hZ2VzIC5pbWFnZS1jb3VudGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAxcmVtO1xuICAgIHJpZ2h0OiAxcmVtO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC43KTtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgcGFkZGluZzogMC41cmVtIDFyZW07XG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgIGZvbnQtc2l6ZTogMC45cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgUHJvcGVydHkgRGV0YWlsIEltYWdlcyAoU2hvdyBQYWdlKVxuICAgRGlzZcOxbzogSW1hZ2VuIHByaW5jaXBhbCBpenEgKDg1NXg2NDApICsgMiBsYXRlcmFsZXMgZGVyICg2MDF4MzA0KVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qIEltYWdlbiBQcmluY2lwYWwgLSBDb2x1bW5hIEl6cXVpZXJkYSAoODU1eDY0MCkgKi9cbi5wcm9wZXJ0eS1tYWluLWltYWdlIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLnByb3BlcnR5LW1haW4taW1hZ2UgLm1haW4taW1nIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDY0MHB4O1xuICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKiBTbGlkZXIgZGUgSW3DoWdlbmVzIHBhcmEgTW9iaWxlICovXG4ucHJvcGVydHktbW9iaWxlLXNsaWRlciB7XG4gICAgd2lkdGg6IDEwMHZ3O1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKC0xICogKDEwMHZ3IC0gMTAwJSkgLyAyKTtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xufVxuXG4ucHJvcGVydHktZGV0YWlsLXNlY3Rpb24ge1xuICAgIHBhZGRpbmctdG9wOiAwICFpbXBvcnRhbnQ7XG59XG5cbi5wcm9wZXJ0eS1kZXRhaWwtc3dpcGVyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDMwNnB4O1xufVxuXG4ucHJvcGVydHktZGV0YWlsLXN3aXBlciAuc3dpcGVyLXNsaWRlIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDMwNnB4O1xufVxuXG4ucHJvcGVydHktZGV0YWlsLXN3aXBlciAubW9iaWxlLXNsaWRlci1pbWcge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICBkaXNwbGF5OiBibG9jaztcbn1cblxuLnByb3BlcnR5LWRldGFpbC1zd2lwZXIgLnN3aXBlci1idXR0b24tbmV4dCxcbi5wcm9wZXJ0eS1kZXRhaWwtc3dpcGVyIC5zd2lwZXItYnV0dG9uLXByZXYge1xuICAgIGNvbG9yOiAjMzc0MTUxO1xuICAgIGJhY2tncm91bmQ6IHdoaXRlO1xuICAgIHdpZHRoOiA0OHB4O1xuICAgIGhlaWdodDogNDhweDtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI0U1RTdFQjtcbiAgICBib3gtc2hhZG93OiAwIDFweCAycHggcmdiYSgwLCAwLCAwLCAwLjA1KTtcbn1cblxuLnByb3BlcnR5LWRldGFpbC1zd2lwZXIgLnN3aXBlci1idXR0b24tbmV4dDo6YWZ0ZXIsXG4ucHJvcGVydHktZGV0YWlsLXN3aXBlciAuc3dpcGVyLWJ1dHRvbi1wcmV2OjphZnRlciB7XG4gICAgZm9udC1zaXplOiAyNHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA5MDA7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjUpO1xufVxuXG4ucHJvcGVydHktZGV0YWlsLXN3aXBlciAuc3dpcGVyLWJ1dHRvbi1uZXh0IHN2Zyxcbi5wcm9wZXJ0eS1kZXRhaWwtc3dpcGVyIC5zd2lwZXItYnV0dG9uLXByZXYgc3ZnIHtcbiAgICB3aWR0aDogNTAlO1xuICAgIGhlaWdodDogNTAlO1xuICAgIHN0cm9rZS13aWR0aDogMi41O1xufVxuXG4ucHJvcGVydHktZGV0YWlsLXN3aXBlciAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICBvcGFjaXR5OiAwLjc7XG59XG5cbi5wcm9wZXJ0eS1kZXRhaWwtc3dpcGVyIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtYWN0aXZlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xufVxuXG4vKiBJbcOhZ2VuZXMgTGF0ZXJhbGVzIC0gQ29sdW1uYSBEZXJlY2hhICg2MDF4MzA0IGNhZGEgdW5hKSAqL1xuLnByb3BlcnR5LXNpZGUtaW1hZ2VzIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiB2YXIoLS1zcGFjaW5nLWwpO1xufVxuXG4ucHJvcGVydHktc2lkZS1pbWFnZXMgLnNpZGUtaW1nLXdyYXBwZXIge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4ucHJvcGVydHktc2lkZS1pbWFnZXMgLnNpZGUtaW1nIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDMwNHB4O1xuICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKiBPdmVybGF5IGNvbiBib3RvbmVzIHNvYnJlIGxhIHNlZ3VuZGEgaW1hZ2VuIGxhdGVyYWwgKi9cbi5wcm9wZXJ0eS1zaWRlLWltYWdlcyAuc2lkZS1pbWctb3ZlcmxheSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogMjRweDtcbiAgICByaWdodDogMjRweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICBnYXA6IDEycHg7XG59XG5cbi5wcm9wZXJ0eS1zaWRlLWltYWdlcyAub3ZlcmxheS1idG4ge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiA2cHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgY29sb3I6ICMzMDRDNUU7XG4gICAgcGFkZGluZzogMTBweCAxNnB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgICBmb250LWZhbWlseTogJ05vdG8gU2FucycsIHNhbnMtc2VyaWY7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTtcbiAgICBib3gtc2hhZG93OiAwIDJweCA4cHggcmdiYSgwLCAwLCAwLCAwLjIpO1xufVxuXG4ucHJvcGVydHktc2lkZS1pbWFnZXMgLm92ZXJsYXktYnRuOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICBjb2xvcjogIzMwNEM1RTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTJweCk7XG4gICAgYm94LXNoYWRvdzogMCA0cHggMTJweCByZ2JhKDAsIDAsIDAsIDAuMyk7XG59XG5cbi5wcm9wZXJ0eS1zaWRlLWltYWdlcyAub3ZlcmxheS1idG4gaSB7XG4gICAgZm9udC1zaXplOiAxcmVtO1xufVxuXG4vKiBSZXNwb25zaXZlIHBhcmEgaW3DoWdlbmVzICovXG5AbWVkaWEgKG1heC13aWR0aDogOTkxcHgpIHtcbiAgICAucHJvcGVydHktbWFpbi1pbWFnZSAubWFpbi1pbWcge1xuICAgICAgICBoZWlnaHQ6IDQ1MHB4O1xuICAgIH1cblxuICAgIC5wcm9wZXJ0eS1zaWRlLWltYWdlcyAuc2lkZS1pbWcge1xuICAgICAgICBoZWlnaHQ6IDI1MHB4O1xuICAgIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDU3NnB4KSB7XG4gICAgLnByb3BlcnR5LW1haW4taW1hZ2UgLm1haW4taW1nIHtcbiAgICAgICAgaGVpZ2h0OiAzMDBweDtcbiAgICB9XG5cbiAgICAucHJvcGVydHktc2lkZS1pbWFnZXMgLnNpZGUtaW1nIHtcbiAgICAgICAgaGVpZ2h0OiAyMDBweDtcbiAgICB9XG5cbiAgICAucHJvcGVydHktc2lkZS1pbWFnZXMgLnNpZGUtaW1nLW92ZXJsYXkge1xuICAgICAgICBwYWRkaW5nOiAxNXB4O1xuICAgICAgICBnYXA6IHZhcigtLXNwYWNpbmcteHMpO1xuICAgIH1cblxuICAgIC5wcm9wZXJ0eS1zaWRlLWltYWdlcyAub3ZlcmxheS1idG4ge1xuICAgICAgICBwYWRkaW5nOiA4cHggMTJweDtcbiAgICAgICAgZm9udC1zaXplOiAwLjg1cmVtO1xuICAgIH1cbn1cblxuLyogUHJvcGVydHkgRGV0YWlsIFNlY3Rpb24gLSBMYXlvdXQgKi9cbi5wcm9wZXJ0eS1kZXRhaWwtc2VjdGlvbiAuY29sLWxnLTUge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbn1cblxuLyogQ29udGFjdCBTaWRlYmFyIC0gRGlzZcOxbyBNaW5pbWFsaXN0YSAqL1xuLnByb3BlcnR5LWNvbnRhY3Qtc2lkZWJhciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsZXgtZ3JvdzogMTtcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbn1cblxuLyogRm9uZG8gYXp1bCBxdWUgb2N1cGEgZXhhY3RhbWVudGUgZWwgYWx0byBkZSBsYSBzaWRlYmFyIChpZ3VhbGFkYSBwb3IgZmxleGJveCBhIGxhIGNvbHVtbmEgaXpxdWllcmRhKSAqL1xuLnByb3BlcnR5LWNvbnRhY3Qtc2lkZWJhcjo6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgaW5zZXQ6IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzNENTQ2NztcbiAgICB6LWluZGV4OiAwO1xufVxuXG4ucHJvcGVydHktY29udGFjdC1zaWRlYmFyIC5jb250YWN0LWNhcmQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMzRDU0Njc7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgcGFkZGluZzogM3JlbTtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIHBvc2l0aW9uOiBzdGlja3k7XG4gICAgdG9wOiBjYWxjKDc3cHggKyAxcmVtKTsgLyogQWx0dXJhIGRlbCBuYXZiYXIgc3RpY2t5ICg3N3B4KSArIG1hcmdlbiAqL1xuICAgIHotaW5kZXg6IDE7XG59XG5cbi5wcm9wZXJ0eS1jb250YWN0LXNpZGViYXIgLmNvbnRhY3QtaGVhZGVyIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyLjVyZW07XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbn1cblxuLnByb3BlcnR5LWNvbnRhY3Qtc2lkZWJhciAucHJvcGVydHktaWQge1xuICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOCk7XG4gICAgZm9udC1mYW1pbHk6ICdOb3RvIFNhbnMnLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBmb250LXdlaWdodDogNDAwO1xufVxuXG4ucHJvcGVydHktY29udGFjdC1zaWRlYmFyIC5jb250YWN0LXByaWNlIHtcbiAgICBmb250LWZhbWlseTogJ05vdG8gU2VyaWYnLCBzZXJpZjtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xufVxuXG4ucHJvcGVydHktY29udGFjdC1zaWRlYmFyIC5wcm9wZXJ0eS10eXBlLWxvY2F0aW9uIHtcbiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjkpO1xuICAgIGZvbnQtZmFtaWx5OiAnTm90byBTZXJpZicsIHNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBmb250LXdlaWdodDogNDAwO1xufVxuXG4ucHJvcGVydHktY29udGFjdC1zaWRlYmFyIC5jb250YWN0LW1ldGhvZHMge1xuICAgIG1hcmdpbi1ib3R0b206IDIuNXJlbTtcbn1cblxuLnByb3BlcnR5LWNvbnRhY3Qtc2lkZWJhciAuY29udGFjdC1tZXRob2QtaXRlbSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogMC43NXJlbTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgIGZvbnQtZmFtaWx5OiAnTm90byBTZXJpZicsIHNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgZWFzZTtcbn1cblxuLnByb3BlcnR5LWNvbnRhY3Qtc2lkZWJhciAuY29udGFjdC1tZXRob2QtaXRlbTpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIG9wYWNpdHk6IDAuODtcbn1cblxuLnByb3BlcnR5LWNvbnRhY3Qtc2lkZWJhciAuY29udGFjdC1tZXRob2QtaXRlbSBpIHtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgY29sb3I6IHdoaXRlO1xufVxuXG4ucHJvcGVydHktY29udGFjdC1zaWRlYmFyIC5idG4tcmVxdWVzdC1pbmZvIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbiAgICBjb2xvcjogIzMwNEM1RTtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgcGFkZGluZzogMXJlbSAxLjVyZW07XG4gICAgZm9udC1mYW1pbHk6ICdOb3RvIFNlcmlmJywgc2VyaWY7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlO1xuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbn1cblxuLnByb3BlcnR5LWNvbnRhY3Qtc2lkZWJhciAuYnRuLXJlcXVlc3QtaW5mbzpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgY29sb3I6ICMzMDRDNUU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG59XG5cbi8qIEJhY2tkcm9wIGRpZnVtaW5hZG8gcGFyYSBNb2JpbGUgKi9cbi5jb250YWN0LWZhYi1iYWNrZHJvcCB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNik7XG4gICAgYmFja2Ryb3AtZmlsdGVyOiBibHVyKDRweCk7XG4gICAgLXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI6IGJsdXIoNHB4KTtcbiAgICB6LWluZGV4OiAxMDQwO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBlYXNlLCB2aXNpYmlsaXR5IDAuM3MgZWFzZTtcbn1cblxuLmNvbnRhY3QtZmFiLWJhY2tkcm9wLmFjdGl2ZSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xufVxuXG4vKiBCb3TDs24gRmxvdGFudGUgUHJpbmNpcGFsICgrIG8gWCkgKi9cbi5wcm9wZXJ0eS1jb250YWN0LWZhYiB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIGJvdHRvbTogMjRweDtcbiAgICByaWdodDogMjBweDtcbiAgICB3aWR0aDogNTZweDtcbiAgICBoZWlnaHQ6IDU2cHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzMwNEM1RTtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGJveC1zaGFkb3c6IDAgNHB4IDEycHggcmdiYSgwLCAwLCAwLCAwLjMpO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB6LWluZGV4OiAxMDUwO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7XG59XG5cbi5wcm9wZXJ0eS1jb250YWN0LWZhYi5hY3RpdmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMyRDNFNTA7XG59XG5cbi5wcm9wZXJ0eS1jb250YWN0LWZhYiAuZmFiLW1haW4taWNvbiB7XG4gICAgd2lkdGg6IDI0cHg7XG4gICAgaGVpZ2h0OiAyNHB4O1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzIGVhc2U7XG59XG5cbi8qIE1lbsO6IGRlIGJvdG9uZXMgZmxvdGFudGVzICovXG4uY29udGFjdC1mYWItbWVudSB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIGJvdHRvbTogOTZweDsgLyogMjRweCBtYXJnaW4gKyA1NnB4IGJ1dHRvbiArIDE2cHggZ2FwICovXG4gICAgcmlnaHQ6IDI0cHg7XG4gICAgei1pbmRleDogMTA0NTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTsgLyogQXBpbGEgZGUgYWJham8gaGFjaWEgYXJyaWJhICovXG4gICAgZ2FwOiB2YXIoLS1zcGFjaW5nLXMpO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDsgLyogQWxpbmVhIGxvcyDDrWNvbm9zIGEgbGEgZGVyZWNoYSAqL1xuICAgIHdpZHRoOiBhdXRvO1xufVxuXG4uY29udGFjdC1mYWItbWVudS5hY3RpdmUge1xuICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xufVxuXG4vKiBJdGVtcyBkZWwgbWVuw7ogZmxvdGFudGUgKi9cbi5jb250YWN0LWZhYi1pdGVtIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgIGdhcDogMTJweDtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgyMHB4KSBzY2FsZSgwLjgpO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7IC8qIEJvdG9uZXMgYSBsYSBkZXJlY2hhLCB0ZXh0byBhIGxhIGl6cXVpZXJkYSAqL1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nOiAwO1xufVxuXG4uY29udGFjdC1mYWItbWVudS5hY3RpdmUgLmNvbnRhY3QtZmFiLWl0ZW0ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApIHNjYWxlKDEpO1xufVxuXG4vKiBBbmltYWNpw7NuIGVzY2Fsb25hZGEgZGUgbG9zIGl0ZW1zICovXG4uY29udGFjdC1mYWItbWVudS5hY3RpdmUgLmNvbnRhY3QtZmFiLWl0ZW06bnRoLWNoaWxkKDEpIHtcbiAgICB0cmFuc2l0aW9uLWRlbGF5OiAwLjA1cztcbn1cblxuLmNvbnRhY3QtZmFiLW1lbnUuYWN0aXZlIC5jb250YWN0LWZhYi1pdGVtOm50aC1jaGlsZCgyKSB7XG4gICAgdHJhbnNpdGlvbi1kZWxheTogMC4xcztcbn1cblxuLmNvbnRhY3QtZmFiLW1lbnUuYWN0aXZlIC5jb250YWN0LWZhYi1pdGVtOm50aC1jaGlsZCgzKSB7XG4gICAgdHJhbnNpdGlvbi1kZWxheTogMC4xNXM7XG59XG5cbi5jb250YWN0LWZhYi1tZW51LmFjdGl2ZSAuY29udGFjdC1mYWItaXRlbTpudGgtY2hpbGQoNCkge1xuICAgIHRyYW5zaXRpb24tZGVsYXk6IDAuMnM7XG59XG5cbi8qIExhYmVsIGRlbCBib3TDs24gKi9cbi5jb250YWN0LWZhYi1sYWJlbCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzMwNEM1RTtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2luZy14cykgdmFyKC0tc3BhY2luZy1zKTtcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgZm9udC1mYW1pbHk6ICdOb3RvIFNhbnMnLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgYm94LXNoYWRvdzogMCAycHggOHB4IHJnYmEoMCwgMCwgMCwgMC4yKTtcbiAgICBtaW4td2lkdGg6IDEwMHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbi8qIMONY29ubyBjaXJjdWxhciBkZWwgYm90w7NuICovXG4uY29udGFjdC1mYWItaWNvbi13cmFwcGVyIHtcbiAgICB3aWR0aDogNDhweDtcbiAgICBoZWlnaHQ6IDQ4cHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzMwNEM1RTtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGJveC1zaGFkb3c6IDAgMnB4IDhweCByZ2JhKDAsIDAsIDAsIDAuMik7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IC8qIEFzZWd1cmEgcXVlIG5vIGhheWEgbWFyZ2VuIGFkaWNpb25hbCAqL1xufVxuXG4uY29udGFjdC1mYWItaWNvbiB7XG4gICAgd2lkdGg6IDI0cHg7XG4gICAgaGVpZ2h0OiAyNHB4O1xufVxuXG4uY29udGFjdC1mYWItaXRlbTpob3ZlciAuY29udGFjdC1mYWItaWNvbi13cmFwcGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMkQzRTUwO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xKTtcbn1cblxuLmNvbnRhY3QtZmFiLWl0ZW06aG92ZXIgLmNvbnRhY3QtZmFiLWxhYmVsIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMkQzRTUwO1xufVxuXG4vKiBSZXNwb25zaXZlIC0gUHJvcGVydHkgRGV0YWlsICovXG5AbWVkaWEgKG1heC13aWR0aDogOTkycHgpIHtcbiAgICAucHJvcGVydHktZ2FsbGVyeSAucm93IHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICB9XG5cbiAgICAucHJvcGVydHktZ2FsbGVyeSAudGh1bWJuYWlscy1ncmlkIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgbWFyZ2luLXRvcDogMC41cmVtO1xuICAgIH1cblxuICAgIC5wcm9wZXJ0eS1nYWxsZXJ5IC50aHVtYm5haWwtd3JhcHBlciB7XG4gICAgICAgIGFzcGVjdC1yYXRpbzogMS8xO1xuICAgIH1cblxuICAgIC5wcm9wZXJ0eS1oZWFkZXIgLnByb3BlcnR5LXRpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgfVxuXG4gICAgLnByb3BlcnR5LWhlYWRlciAucHJvcGVydHktcHJpY2UtbWFpbiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgIH1cblxuICAgIC5wcm9wZXJ0eS1jb250YWN0LXNpZGViYXIge1xuICAgICAgICBtYXJnaW4tdG9wOiAzcmVtO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgfVxuXG4gICAgLnByb3BlcnR5LWNvbnRhY3Qtc2lkZWJhciAuY29udGFjdC1jYXJkIHtcbiAgICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgIC5wcm9wZXJ0eS1xdWljay1zdGF0cyAuc3RhdHMtY29udGVudCB7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICB9XG5cbiAgICAucHJvcGVydHktcXVpY2stc3RhdHMgLnN0YXQtaXRlbSB7XG4gICAgICAgIGZsZXg6IDAgMCBjYWxjKDUwJSAtIDAuNXJlbSk7IC8qIDIgZWxlbWVudG9zIHBvciBmaWxhICovXG4gICAgICAgIHdpZHRoOiBjYWxjKDUwJSAtIDAuNXJlbSk7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICB9XG5cbiAgICAucHJvcGVydHktYWN0aW9uLWJ1dHRvbnMge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIH1cblxuICAgIC5idG4tcHJvcGVydHktYWN0aW9uIHtcbiAgICAgICAgcGFkZGluZzogMTJweDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogNTZweDtcbiAgICB9XG5cbiAgICAucHJvcGVydHktY29udGVudCAuc2VjdGlvbi10aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICB9XG5cbiAgICAucHJvcGVydHktdGVjaG5pY2FsLWRldGFpbHMgLmRldGFpbC1yb3cge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgICAgZ2FwOiAwLjI1cmVtO1xuICAgIH1cblxuICAgIC5wcm9wZXJ0eS1jb250YWN0LXNpZGViYXIgLmNvbnRhY3QtcHJpY2Uge1xuICAgICAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICB9XG5cbiAgICAucHJvcGVydHktbG9jYXRpb24gLnByb3BlcnR5LW1hcCB7XG4gICAgICAgIGhlaWdodDogMzAwcHg7XG4gICAgfVxuXG4gICAgLnByb3BlcnR5LWNvbnRhY3QtZmFiIHtcbiAgICAgICAgYm90dG9tOiA5MHB4O1xuICAgIH1cblxuICAgIC5jb250YWN0LWZhYi1tZW51IHtcbiAgICAgICAgYm90dG9tOiAxNjBweDtcbiAgICB9XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgT0ZGQ0FOVkFTIEZJTFRST1MgQVZBTlpBRE9TXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyogQW5jaG8gcGVyc29uYWxpemFkbyBwYXJhIG9mZmNhbnZhcyBkZSBmaWx0cm9zICovXG4uZmlsdGVycy1vZmZjYW52YXMub2ZmY2FudmFzLWVuZCB7XG4gICAgd2lkdGg6IDcyMHB4O1xuICAgIG1heC13aWR0aDogOTB2dztcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgIC5maWx0ZXJzLW9mZmNhbnZhcy5vZmZjYW52YXMtZW5kIHtcbiAgICAgICAgd2lkdGg6IDEwMHZ3O1xuICAgICAgICBtYXgtd2lkdGg6IDEwMHZ3O1xuICAgIH1cbn1cblxuLyogSGVhZGVyIGRlbCBvZmZjYW52YXMgKi9cbi5maWx0ZXJzLW9mZmNhbnZhcy1oZWFkZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgcGFkZGluZzogMXJlbSAxLjVyZW07XG4gICAgZmxleC1zaHJpbms6IDA7XG59XG5cbi5maWx0ZXJzLW9mZmNhbnZhcy10aXRsZSB7XG4gICAgZm9udC1mYW1pbHk6ICdOb3RvIFNlcmlmJywgc2Fucy1zZXJpZjtcbiAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBjb2xvcjogIzMwNEM1RTtcbiAgICBtYXJnaW46IDA7XG59XG5cbi8qIERpdmlkZXIgZG9yYWRvICovXG4uZmlsdGVycy1vZmZjYW52YXMtZGl2aWRlciB7XG4gICAgaGVpZ2h0OiAycHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG4gICAgZmxleC1zaHJpbms6IDA7XG59XG5cbi8qIEJvZHkgZGVsIG9mZmNhbnZhcyAqL1xuLmZpbHRlcnMtb2ZmY2FudmFzLWJvZHkge1xuICAgIGZsZXg6IDE7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICBwYWRkaW5nOiAxLjVyZW07XG59XG5cbi5maWx0ZXJzLWZvcm0tY29udGVudCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogMS41cmVtO1xuICAgIHBhZGRpbmc6IDAgN3JlbTtcbn1cblxuLyogR3J1cG8gZGUgZmlsdHJvICovXG4uZmlsdGVyLWdyb3VwIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiAwLjVyZW07XG59XG5cbi8qIExhYmVsIGRlIGZpbHRybyAqL1xuLmZpbHRlci1sYWJlbCB7XG4gICAgZm9udC1mYW1pbHk6ICdOb3RvIFNlcmlmJywgc2Fucy1zZXJpZjtcbiAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBjb2xvcjogIzMwNEM1RTtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjI1cmVtO1xufVxuXG4vKiBTZWxlY3QvRHJvcGRvd24gZGUgZmlsdHJvICovXG4uZmlsdGVyLXNlbGVjdCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZzogMC43NXJlbSAxcmVtO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNDQkQ1RTA7XG4gICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgZm9udC1mYW1pbHk6ICdOb3RvIFNhbnMnLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGNvbG9yOiAjMDIxRTM4O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4uZmlsdGVyLXNlbGVjdDpob3ZlciB7XG4gICAgYm9yZGVyLWNvbG9yOiAjQTBBRUMwO1xufVxuXG4uZmlsdGVyLXNlbGVjdDpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xufVxuXG4vKiBHcnVwbyBkZSBib3RvbmVzIHNlZ21lbnRhZG9zICovXG4uZmlsdGVyLWJ0bi1ncm91cCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjQ0JENUUwO1xuICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGZvbnQtZmFtaWx5OiAnTm90byBTYW5zJywgc2Fucy1zZXJpZjtcbiAgICBmb250LXNpemU6IDFyZW07XG59XG5cbi8qIE9jdWx0YXIgZWwgaW5wdXQgcmFkaW8gcGVybyBtYW50ZW5lcmxvIGFjY2VzaWJsZSAqL1xuLmZpbHRlci1idG4tZ3JvdXAgLmJ0bi1jaGVjayB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbi5maWx0ZXItYnRuIHtcbiAgICBmbGV4OiAxO1xuICAgIHBhZGRpbmc6IDAuNjI1cmVtIDAuNXJlbTtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI0NCRDVFMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgIGNvbG9yOiAjMDIxRTM4O1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XG59XG5cbi5maWx0ZXItYnRuOmxhc3QtY2hpbGQge1xuICAgIGJvcmRlci1yaWdodDogbm9uZTtcbn1cblxuLmZpbHRlci1idG4tYW55IHtcbiAgICBwYWRkaW5nOiAwLjYyNXJlbSAycmVtO1xuICAgIGZsZXg6IDEuNTtcbn1cblxuLmZpbHRlci1idG46aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNGN0ZBRkM7XG59XG5cbi5idG4tY2hlY2s6Y2hlY2tlZCArIC5maWx0ZXItYnRuIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzA0QzVFO1xuICAgIGNvbG9yOiAjZmZmZmZmO1xufVxuXG4vKiBHcmlkIGRlIGNhcmFjdGVyw61zdGljYXMgKi9cbi5maWx0ZXItZmVhdHVyZXMtZ3JpZCB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7XG4gICAgZ2FwOiAwLjc1cmVtO1xufVxuXG4uZmlsdGVyLWZlYXR1cmUtaXRlbSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogMC41cmVtO1xufVxuXG4uZmlsdGVyLWNoZWNrYm94IHtcbiAgICB3aWR0aDogMThweDtcbiAgICBoZWlnaHQ6IDE4cHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI0NCRDVFMDtcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGFjY2VudC1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG59XG5cbi5maWx0ZXItZmVhdHVyZS1sYWJlbCB7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIGZvbnQtZmFtaWx5OiAnTm90byBTYW5zJztcbiAgICBjb2xvcjogIzAyMUUzODtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi8qIEZvb3RlciBkZWwgb2ZmY2FudmFzICovXG4uZmlsdGVycy1vZmZjYW52YXMtZm9vdGVyIHtcbiAgICBmbGV4LXNocmluazogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMCAxLjVyZW07XG59XG5cbi5maWx0ZXJzLWZvb3Rlci1idXR0b25zIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGdhcDogMXJlbTtcbiAgICBwYWRkaW5nOiAxLjVyZW0gOC41cmVtO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcbn1cblxuLmJ0bi1maWx0ZXItcmVzZXQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBnYXA6IDAuNXJlbTtcbiAgICBwYWRkaW5nOiAwLjc1cmVtIDEuNXJlbTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjMzA0QzVFO1xuICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgIGNvbG9yOiAjMzA0QzVFO1xuICAgIGZvbnQtc2l6ZTogMC45NXJlbTtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xufVxuXG4uYnRuLWZpbHRlci1yZXNldDpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0Y3RkFGQztcbn1cblxuLmJ0bi1maWx0ZXItcmVzZXQgaSB7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbn1cblxuLmJ0bi1maWx0ZXItc2VhcmNoIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgZ2FwOiAwLjVyZW07XG4gICAgcGFkZGluZzogMC43NXJlbSAycmVtO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzMwNEM1RTtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICBmb250LXNpemU6IDAuOTVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcbn1cblxuLmJ0bi1maWx0ZXItc2VhcmNoOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1kYXJrKTtcbn1cblxuLmJ0bi1maWx0ZXItc2VhcmNoIGkge1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG59XG5cbi8qIFJlc3BvbnNpdmUgcGFyYSBmaWx0cm9zIG9mZmNhbnZhcyAtIHJlZHVjaXIgcGFkZGluZyB5IGdhcCBwcm9ncmVzaXZhbWVudGUgKi9cbkBtZWRpYSAobWF4LXdpZHRoOiA5OTFweCkge1xuICAgIC5maWx0ZXJzLWZvcm0tY29udGVudCB7XG4gICAgICAgIHBhZGRpbmc6IDAgNXJlbTtcbiAgICAgICAgZ2FwOiAxLjI1cmVtO1xuICAgIH1cblxuICAgIC5maWx0ZXJzLWZvb3Rlci1idXR0b25zIHtcbiAgICAgICAgZ2FwOiAwLjc1cmVtO1xuICAgICAgICBwYWRkaW5nOiAxLjI1cmVtIDYuNXJlbTtcbiAgICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgIC5maWx0ZXJzLWZvcm0tY29udGVudCB7XG4gICAgICAgIHBhZGRpbmc6IDAgM3JlbTtcbiAgICAgICAgZ2FwOiAxcmVtO1xuICAgIH1cblxuICAgIC5maWx0ZXJzLWZvb3Rlci1idXR0b25zIHtcbiAgICAgICAgZ2FwOiAwLjVyZW07XG4gICAgICAgIHBhZGRpbmc6IDFyZW0gNC41cmVtO1xuICAgIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDU3NXB4KSB7XG4gICAgLmZpbHRlcnMtZm9ybS1jb250ZW50IHtcbiAgICAgICAgcGFkZGluZzogMCAxcmVtO1xuICAgICAgICBnYXA6IDAuNzVyZW07XG4gICAgfVxuXG4gICAgLmZpbHRlcnMtZm9vdGVyLWJ1dHRvbnMge1xuICAgICAgICBnYXA6IDAuMjVyZW07XG4gICAgICAgIHBhZGRpbmc6IDAuNzVyZW0gMi41cmVtO1xuICAgIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDQwMHB4KSB7XG4gICAgLmZpbHRlcnMtb2ZmY2FudmFzLWJvZHkge1xuICAgICAgICBwYWRkaW5nOiAxcmVtO1xuICAgIH1cblxuICAgIC5maWx0ZXJzLWZvcm0tY29udGVudCB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGdhcDogMC41cmVtO1xuICAgIH1cblxuICAgIC5maWx0ZXJzLWZvb3Rlci1idXR0b25zIHtcbiAgICAgICAgZ2FwOiAwO1xuICAgICAgICBwYWRkaW5nOiAwLjVyZW0gMXJlbTtcbiAgICB9XG5cbiAgICAuYnRuLWZpbHRlci1yZXNldCxcbiAgICAuYnRuLWZpbHRlci1zZWFyY2gge1xuICAgICAgICBwYWRkaW5nOiAwLjYyNXJlbSAxcmVtO1xuICAgICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIH1cbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBQUk9QRVJUWSBHUklEIENPTiBNQVBBIChTUExJVCBWSUVXKVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5wcm9wZXJ0eS1ncmlkLXdyYXBwZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZ2FwOiAycmVtO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLnByb3BlcnR5LWxpc3QtY29udGFpbmVyIHtcbiAgICBmbGV4OiAxO1xuICAgIG1heC13aWR0aDogMTAwJTsgLyogRnVsbCB3aWR0aCBjdWFuZG8gZWwgbWFwYSBubyBlc3TDoSB2aXNpYmxlICovXG4gICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTtcbn1cblxuLyogQ3VhbmRvIGVsIG1hcGEgZXN0w6EgdmlzaWJsZSwgbGltaXRhciBlbCBhbmNobyBkZWwgbGlzdGFkbyAqL1xuLnByb3BlcnR5LWdyaWQtd3JhcHBlci5tYXAtdmlzaWJsZSAucHJvcGVydHktbGlzdC1jb250YWluZXIge1xuICAgIG1heC13aWR0aDogNzI4cHg7XG59XG5cbi5wcm9wZXJ0eS1tYXAtY29udGFpbmVyIHtcbiAgICBwb3NpdGlvbjogc3RpY2t5O1xuICAgIHRvcDogMTAwcHg7IC8qIEFsdHVyYSBkZWwgbmF2YmFyICsgbWFyZ2VuICovXG4gICAgaGVpZ2h0OiBjYWxjKDEwMHZoIC0gMTIwcHgpO1xuICAgIHdpZHRoOiAwO1xuICAgIG1pbi13aWR0aDogMDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRyYW5zaXRpb246IHdpZHRoIDAuM3MgZWFzZSwgbWluLXdpZHRoIDAuM3MgZWFzZTtcbiAgICBmbGV4LXNocmluazogMDtcbn1cblxuLnByb3BlcnR5LW1hcC1jb250YWluZXIuYWN0aXZlIHtcbiAgICB3aWR0aDogNTAlO1xuICAgIG1pbi13aWR0aDogNTAwcHg7XG59XG5cbiNtYXAge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbn1cblxuLyogQ2FtYmlhciBncmlkIGRlIDMgYSAyIGNvbHVtbmFzIGN1YW5kbyBtYXBhIGVzdMOhIHZpc2libGUgKi9cbi5wcm9wZXJ0eS1ncmlkLXdyYXBwZXIubWFwLXZpc2libGUgLnByb3BlcnR5LWdyaWQtY29sIHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB3aWR0aDogNTAlO1xufVxuXG4vKiBUb2dnbGUgZGVsIG1hcGEgZXN0aWxvIGlPUyAqL1xuLm1hcC10b2dnbGUtc3dpdGNoIC5mb3JtLWNoZWNrLWlucHV0IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGVlMmU2O1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuM3MgZWFzZTtcbn1cblxuLm1hcC10b2dnbGUtc3dpdGNoIC5mb3JtLWNoZWNrLWlucHV0OmNoZWNrZWQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMzMDRDNUU7XG4gICAgYm9yZGVyLWNvbG9yOiAjMzA0QzVFO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PSctNCAtNCA4IDgnJTNlJTNjY2lyY2xlIHI9JzMnIGZpbGw9JyUyM0Q0QUYzNycvJTNlJTNjL3N2ZyUzZVwiKTtcbn1cblxuLm1hcC10b2dnbGUtc3dpdGNoIC5mb3JtLWNoZWNrLWxhYmVsIHtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGNvbG9yOiAjNDk1MDU3O1xufVxuXG4vKiBSZXNwb25zaXZlICovXG5AbWVkaWEgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gICAgLnByb3BlcnR5LW1hcC1jb250YWluZXIuYWN0aXZlIHtcbiAgICAgICAgd2lkdGg6IDQ1JTtcbiAgICAgICAgbWluLXdpZHRoOiA0MDBweDtcbiAgICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA5OTJweCkge1xuICAgIC5wcm9wZXJ0eS1ncmlkLXdyYXBwZXIge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIH1cblxuICAgIC5wcm9wZXJ0eS1tYXAtY29udGFpbmVyLmFjdGl2ZSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWluLXdpZHRoOiAxMDAlO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogNTAwcHg7XG4gICAgICAgIG9yZGVyOiAtMTsgLyogTWFwYSBhcnJpYmEgZW4gbcOzdmlsICovXG4gICAgfVxuXG4gICAgLnByb3BlcnR5LWdyaWQtd3JhcHBlci5tYXAtdmlzaWJsZSAucHJvcGVydHktZ3JpZC1jb2wge1xuICAgICAgICB3aWR0aDogNTAlO1xuICAgIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgLnByb3BlcnR5LWdyaWQtc2VjdGlvbiB7XG4gICAgICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAucHJvcGVydHktZ3JpZC1zZWN0aW9uID4gLmNvbnRhaW5lciB7XG4gICAgICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLnByb3BlcnR5LWxpc3QtY29udGFpbmVyIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAyNHB4O1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAyNHB4O1xuICAgIH1cblxuICAgIC5wcm9wZXJ0eS1ncmlkLXdyYXBwZXIubWFwLXZpc2libGUgLnByb3BlcnR5LWdyaWQtY29sIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgLnByb3BlcnR5LW1hcC1jb250YWluZXIuYWN0aXZlIHtcbiAgICAgICAgaGVpZ2h0OiBjYWxjKDEwMHZoIC0gMjQwcHgpO1xuICAgICAgICBtaW4td2lkdGg6IDEwMCU7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICB9XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29va2llIENvbnNlbnQgQ3VzdG9taXphdGlvblxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG46cm9vdCB7XG4gICAgLS1jYy1iZzogI2ZmZjtcbiAgICAtLWNjLXRleHQ6ICMyQzJDMkM7XG4gICAgLS1jYy1idG4tcHJpbWFyeS1iZzogI0YxRDI3QTtcbiAgICAtLWNjLWJ0bi1wcmltYXJ5LXRleHQ6ICNmZmY7XG4gICAgLS1jYy1idG4tcHJpbWFyeS1ob3Zlci1iZzogI2M0OTg0MjtcbiAgICAtLWNjLWJ0bi1zZWNvbmRhcnktYmc6ICNmM2Y0ZjY7XG4gICAgLS1jYy1idG4tc2Vjb25kYXJ5LXRleHQ6ICMyQzJDMkM7XG4gICAgLS1jYy1idG4tc2Vjb25kYXJ5LWhvdmVyLWJnOiAjZTVlN2ViO1xuICAgIC0tY2Mtc2VwYXJhdG9yOiAjRTVFNUU1O1xuICAgIC0tY2MtdG9nZ2xlLWJnLW9mZjogIzljYTNhZjtcbiAgICAtLWNjLXRvZ2dsZS1iZy1vbjogI0YxRDI3QTtcbiAgICAtLWNjLXRvZ2dsZS1iZy1yZWFkb25seTogI2QxZDVkYjtcbiAgICAtLWNjLXRvZ2dsZS1rbm9iLWJnOiAjZmZmO1xuICAgIC0tY2MtY29va2llLWNhdGVnb3J5LWJsb2NrLWJnOiAjZjlmYWZiO1xuICAgIC0tY2MtY29va2llLWNhdGVnb3J5LWJsb2NrLWJnLWhvdmVyOiAjZjNmNGY2O1xuICAgIC0tY2Mtc2VjdGlvbi1ib3JkZXI6ICNFNUU1RTU7XG4gICAgLS1jYy1jb29raWUtdGFibGUtYm9yZGVyOiAjRTVFNUU1O1xuICAgIC0tY2Mtb3ZlcmxheS1iZzogcmdiYSgwLCAwLCAwLCAwLjcpO1xuICAgIC0tY2Mtd2Via2l0LXNjcm9sbGJhci1iZzogI2YxZjFmMTtcbiAgICAtLWNjLXdlYmtpdC1zY3JvbGxiYXItYmctaG92ZXI6ICNlNWU1ZTU7XG59XG5cbi8qIEN1c3RvbWl6ZSBidXR0b25zICovXG4jY2MtbWFpbiAuY21fX2J0biB7XG4gICAgZm9udC1mYW1pbHk6ICdOb3RvIFNhbnMnLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgYm9yZGVyLXJhZGl1czogNnB4O1xuICAgIHBhZGRpbmc6IDAuNzVyZW0gMS41cmVtO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XG59XG5cbiNjYy1tYWluIC5jbV9fYnRuLmNtX19idG4tLXByaW1hcnkge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNjLWJ0bi1wcmltYXJ5LWJnKTtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWNjLWJ0bi1wcmltYXJ5LWJnKTtcbn1cblxuI2NjLW1haW4gLmNtX19idG4uY21fX2J0bi0tcHJpbWFyeTpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY2MtYnRuLXByaW1hcnktaG92ZXItYmcpO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY2MtYnRuLXByaW1hcnktaG92ZXItYmcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMXB4KTtcbiAgICBib3gtc2hhZG93OiAwIDRweCA2cHggcmdiYSgwLCAwLCAwLCAwLjEpO1xufVxuXG4vKiBDdXN0b21pemUgbW9kYWwgKi9cbiNjYy1tYWluIC5jbSB7XG4gICAgZm9udC1mYW1pbHk6ICdOb3RvIFNhbnMnLCBzYW5zLXNlcmlmO1xuICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICBib3gtc2hhZG93OiAwIDEwcHggMjVweCByZ2JhKDAsIDAsIDAsIDAuMTUpO1xufVxuXG4jY2MtbWFpbiAuY21fX3RpdGxlIHtcbiAgICBmb250LWZhbWlseTogJ05vdG8gU2VyaWYnLCBHZW9yZ2lhLCBzZXJpZjtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LWRhcmspO1xufVxuXG4jY2MtbWFpbiAuY21fX2Rlc2MsXG4jY2MtbWFpbiAucG1fX3NlY3Rpb24tZGVzYyB7XG4gICAgZm9udC1zaXplOiAwLjk1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjY7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtZ3JheSk7XG59XG5cbi8qIEN1c3RvbWl6ZSBsaW5rcyAqL1xuI2NjLW1haW4gYSB7XG4gICAgY29sb3I6IHZhcigtLWNjLWJ0bi1wcmltYXJ5LWJnKTtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cblxuI2NjLW1haW4gYTpob3ZlciB7XG4gICAgY29sb3I6IHZhcigtLWNjLWJ0bi1wcmltYXJ5LWhvdmVyLWJnKTtcbn1cblxuLyogQmFkZ2UgZm9yIFwiQWx3YXlzIEFjdGl2ZVwiICovXG4jY2MtbWFpbiAucG1fX2JhZGdlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjFEMjdBO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICBwYWRkaW5nOiAwLjI1cmVtIDAuNXJlbTtcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbn1cblxuLyogUmVzcG9uc2l2ZSBhZGp1c3RtZW50cyAqL1xuQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgI2NjLW1haW4gLmNtIHtcbiAgICAgICAgbWF4LXdpZHRoOiA5NSU7XG4gICAgICAgIG1hcmdpbjogMXJlbTtcbiAgICB9XG5cbiAgICAjY2MtbWFpbiAuY21fX2J0biB7XG4gICAgICAgIHBhZGRpbmc6IDAuNjI1cmVtIDEuMjVyZW07XG4gICAgICAgIGZvbnQtc2l6ZTogMC45cmVtO1xuICAgIH1cbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBOTyBSRVNVTFRTIFNUQVRFXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLm5vLXJlc3VsdHMtY29udGFpbmVyIHtcbiAgICBtYXgtd2lkdGg6IDQ3NHB4O1xuICAgIG1hcmdpbjogM3JlbSBhdXRvO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwYWRkaW5nOiAzcmVtIDJyZW07XG59XG5cbi5uby1yZXN1bHRzLWljb24ge1xuICAgIG1hcmdpbi1ib3R0b206IDEuNXJlbTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi5uby1yZXN1bHRzLWljb24gc3ZnIHtcbiAgICB3aWR0aDogNDBweDtcbiAgICBoZWlnaHQ6IDU2cHg7XG59XG5cbi5uby1yZXN1bHRzLXRpdGxlIHtcbiAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgY29sb3I6ICMyRDNFNTA7XG4gICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS41O1xuICAgIG1heC13aWR0aDogMzYwcHg7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xufVxuXG4ubm8tcmVzdWx0cy10ZXh0IHtcbiAgICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgICBjb2xvcjogIzZjNzU3ZDtcbiAgICBtYXJnaW4tYm90dG9tOiAycmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG59XG5cbi5uby1yZXN1bHRzLWJ1dHRvbnMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZ2FwOiAxcmVtO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG59XG5cbi5idG4tbm8tcmVzdWx0cy1hbGVydCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0YxRDI3QTtcbiAgICBjb2xvcjogIzJEM0U1MDtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgcGFkZGluZzogMC43NXJlbSAxLjI1cmVtO1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBib3JkZXItcmFkaXVzOiA2cHg7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi5idG4tbm8tcmVzdWx0cy1hbGVydDpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgY29sb3I6ICMyRDNFNTA7XG4gICAgYm94LXNoYWRvdzogMCAycHggOHB4IHJnYmEoMjEyLCAxNjgsIDgzLCAwLjI1KTtcbn1cblxuLmJ0bi1uby1yZXN1bHRzLXJlc2V0IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzA0QzVFO1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgcGFkZGluZzogMC43NXJlbSAxLjI1cmVtO1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBib3JkZXItcmFkaXVzOiA2cHg7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi5idG4tbm8tcmVzdWx0cy1yZXNldDpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtZGFyayk7XG4gICAgYm94LXNoYWRvdzogMCAycHggOHB4IHJnYmEoNTQsIDc1LCA5NSwgMC4yNSk7XG59XG5cbi5idG4tbm8tcmVzdWx0cy1jb250YWN0IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBjb2xvcjogIzJEM0U1MDtcbiAgICBib3JkZXI6IDEuNXB4IHNvbGlkICMyRDNFNTA7XG4gICAgcGFkZGluZzogMC43NXJlbSAycmVtO1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBib3JkZXItcmFkaXVzOiA2cHg7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xuICAgIG1hcmdpbi10b3A6IDAuNXJlbTtcbn1cblxuLmJ0bi1uby1yZXN1bHRzLWNvbnRhY3Q6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMyRDNFNTA7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIGJveC1zaGFkb3c6IDAgMnB4IDhweCByZ2JhKDQ1LCA2MiwgODAsIDAuMTUpO1xufVxuXG4vKiBSZXNwb25zaXZlIGFkanVzdG1lbnRzIGZvciBubyByZXN1bHRzICovXG5AbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAubm8tcmVzdWx0cy1jb250YWluZXIge1xuICAgICAgICBtYXJnaW46IDJyZW0gMXJlbTtcbiAgICAgICAgcGFkZGluZzogMnJlbSAxLjVyZW07XG4gICAgfVxuXG4gICAgLm5vLXJlc3VsdHMtdGl0bGUge1xuICAgICAgICBmb250LXNpemU6IDFyZW07XG4gICAgfVxuXG4gICAgLm5vLXJlc3VsdHMtdGV4dCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgfVxuXG4gICAgLm5vLXJlc3VsdHMtYnV0dG9ucyB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGdhcDogMC43NXJlbTtcbiAgICB9XG5cbiAgICAuYnRuLW5vLXJlc3VsdHMtYWxlcnQsXG4gICAgLmJ0bi1uby1yZXN1bHRzLXJlc2V0LFxuICAgIC5idG4tbm8tcmVzdWx0cy1jb250YWN0IHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHBhZGRpbmc6IDAuODc1cmVtIDEuMjVyZW07XG4gICAgfVxufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFByb3BlcnR5IEdhbGxlcnkgTW9kYWwgLSBGdWxsc2NyZWVuIGNvbiBQZWVrXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmdhbGxlcnktbW9kYWwtY29udGVudCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgaGVpZ2h0OiAxMDB2aDtcbn1cblxuLyogSGVhZGVyIGNvbiBib3TDs24gY2VycmFyICovXG4uZ2FsbGVyeS1tb2RhbC1oZWFkZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICBwYWRkaW5nOiAxcmVtIDFyZW0gMC41cmVtO1xufVxuXG4uZ2FsbGVyeS1tb2RhbC1oZWFkZXIgLmJ0bi1jbG9zZSB7XG4gICAgd2lkdGg6IDI0cHg7XG4gICAgaGVpZ2h0OiAyNHB4O1xuICAgIHotaW5kZXg6IDEwNTA7XG59XG5cbi8qIEzDrW5lYSBzZXBhcmFkb3JhIGRvcmFkYSAqL1xuLmdhbGxlcnktbW9kYWwtZGl2aWRlciB7XG4gICAgaGVpZ2h0OiAycHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0M1QTA1RTtcbiAgICBtYXJnaW46IDAgMHJlbSAxLjVyZW07XG59XG5cbi8qIEJvZHkgZGVsIG1vZGFsICovXG4uZ2FsbGVyeS1tb2RhbC1ib2R5IHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGhlaWdodDogY2FsYygxMDB2aCAtIDgwcHgpO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4vKiBTd2lwZXIgZGUgZ2FsZXLDrWEgKi9cbi5nYWxsZXJ5LXN3aXBlciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4uZ2FsbGVyeS1zd2lwZXIgLnN3aXBlci13cmFwcGVyIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4uZ2FsbGVyeS1zd2lwZXIgLnN3aXBlci1zbGlkZSB7XG4gICAgd2lkdGg6IDgwJTtcbiAgICBtYXgtd2lkdGg6IDEyMDBweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi5nYWxsZXJ5LXNsaWRlLWltYWdlIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgbWF4LWhlaWdodDogY2FsYygxMDB2aCAtIDI2MHB4KTtcbiAgICBvYmplY3QtZml0OiBjb250YWluO1xufVxuXG4vKiBCb3RvbmVzIGRlIG5hdmVnYWNpw7NuIChpZ3VhbGVzIHF1ZSBwcm9wZXJ0eS1zd2lwZXIpICovXG4uZ2FsbGVyeS1zd2lwZXIgLnN3aXBlci1idXR0b24tbmV4dCxcbi5nYWxsZXJ5LXN3aXBlciAuc3dpcGVyLWJ1dHRvbi1wcmV2IHtcbiAgICBjb2xvcjogIzM3NDE1MTtcbiAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgICB3aWR0aDogNDhweDtcbiAgICBoZWlnaHQ6IDQ4cHg7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNFNUU3RUI7XG4gICAgYm94LXNoYWRvdzogMCAxcHggMnB4IHJnYmEoMCwgMCwgMCwgMC4wNSk7XG59XG5cbi5nYWxsZXJ5LXN3aXBlciAuc3dpcGVyLWJ1dHRvbi1uZXh0OjphZnRlcixcbi5nYWxsZXJ5LXN3aXBlciAuc3dpcGVyLWJ1dHRvbi1wcmV2OjphZnRlciB7XG4gICAgZm9udC1zaXplOiAyNHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA5MDA7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjUpO1xufVxuXG4uZ2FsbGVyeS1zd2lwZXIgLnN3aXBlci1idXR0b24tbmV4dCBzdmcsXG4uZ2FsbGVyeS1zd2lwZXIgLnN3aXBlci1idXR0b24tcHJldiBzdmcge1xuICAgIHdpZHRoOiA1MCU7XG4gICAgaGVpZ2h0OiA1MCU7XG4gICAgc3Ryb2tlLXdpZHRoOiAyLjU7XG59XG5cbi5nYWxsZXJ5LXN3aXBlciAuc3dpcGVyLWJ1dHRvbi1uZXh0IHtcbiAgICByaWdodDogMjBweDtcbn1cblxuLmdhbGxlcnktc3dpcGVyIC5zd2lwZXItYnV0dG9uLXByZXYge1xuICAgIGxlZnQ6IDIwcHg7XG59XG5cbi8qIENvbnRhZG9yIGRlIGltw6FnZW5lcyAoYWJham8gYSBsYSBkZXJlY2hhKSAqL1xuLmdhbGxlcnktaW1hZ2UtY291bnRlciB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIGJvdHRvbTogMzBweDtcbiAgICByaWdodDogMzBweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNyk7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNpbmcteHMpIHZhcigtLXNwYWNpbmctcyk7XG4gICAgYm9yZGVyLXJhZGl1czogMjBweDtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICB6LWluZGV4OiAxMDYwO1xufVxuXG4uZ2FsbGVyeS1pbWFnZS1jb3VudGVyIC5nYWxsZXJ5LWN1cnJlbnQtbnVtYmVyIHtcbiAgICBmb250LXdlaWdodDogNjAwO1xufVxuXG4vKiBSZXNwb25zaXZlICovXG5AbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAuZ2FsbGVyeS1zd2lwZXIgLnN3aXBlci1zbGlkZSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIC5nYWxsZXJ5LW1vZGFsLWJvZHkge1xuICAgICAgICBoZWlnaHQ6IGNhbGMoMTAwdmggLSA2MHB4KTtcbiAgICB9XG5cbiAgICAuZ2FsbGVyeS1zbGlkZS1pbWFnZSB7XG4gICAgICAgIG1heC1oZWlnaHQ6IGNhbGMoMTAwdmggLSAxNDBweCk7XG4gICAgfVxuXG4gICAgLmdhbGxlcnktc3dpcGVyIC5zd2lwZXItYnV0dG9uLW5leHQsXG4gICAgLmdhbGxlcnktc3dpcGVyIC5zd2lwZXItYnV0dG9uLXByZXYge1xuICAgICAgICB3aWR0aDogMjRweDtcbiAgICAgICAgaGVpZ2h0OiAyNHB4O1xuICAgIH1cblxuICAgIC5nYWxsZXJ5LXN3aXBlciAuc3dpcGVyLWJ1dHRvbi1uZXh0OjphZnRlcixcbiAgICAuZ2FsbGVyeS1zd2lwZXIgLnN3aXBlci1idXR0b24tcHJldjo6YWZ0ZXIge1xuICAgICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgfVxuXG4gICAgLmdhbGxlcnktc3dpcGVyIC5zd2lwZXItYnV0dG9uLW5leHQge1xuICAgICAgICByaWdodDogMTBweDtcbiAgICB9XG5cbiAgICAuZ2FsbGVyeS1zd2lwZXIgLnN3aXBlci1idXR0b24tcHJldiB7XG4gICAgICAgIGxlZnQ6IDEwcHg7XG4gICAgfVxuXG4gICAgLmdhbGxlcnktaW1hZ2UtY291bnRlciB7XG4gICAgICAgIGJvdHRvbTogMTVweDtcbiAgICAgICAgcmlnaHQ6IDE1cHg7XG4gICAgICAgIHBhZGRpbmc6IDZweCAxMnB4O1xuICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgfVxufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFByb21vdGlvbnMgU2VjdGlvbiAoUHJvbW9jaW9uZXMgLyBEZXZlbG9wbWVudHMpXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyogSGVybyBCYW5uZXIgKi9cbi5wcm9tb3Rpb25zLWhlcm8tc2VjdGlvbiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGhlaWdodDogMzB2aDtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltYWdlcy9TbGlkZXMvT2JyYV9udWV2YV9zbGlkZS5wbmcnKTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLnByb21vdGlvbnMtaGVyby1vdmVybGF5IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sIHJnYmEoMCwwLDAsMC4zKSwgcmdiYSgwLDAsMCwwLjUpKTtcbn1cblxuLnByb21vdGlvbnMtaGVyby1jb250ZW50IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgY29sb3I6IHdoaXRlO1xufVxuXG4ucHJvbW90aW9ucy1oZXJvLWNvbnRlbnQgaDEge1xuICAgIGZvbnQtZmFtaWx5OiAnTm90byBTZXJpZicsIHNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMy41cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB0ZXh0LXNoYWRvdzogMCAycHggNHB4IHJnYmEoMCwwLDAsMC4zKTtcbn1cblxuLyogUHJvbW90aW9ucyBTZWN0aW9uIENvbnRlbnQgKi9cbi5wcm9tb3Rpb25zLXNlY3Rpb24ge1xuICAgIHBhZGRpbmc6IDVyZW0gMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbn1cblxuLnByb21vdGlvbnMtaGVhZGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbWFyZ2luLWJvdHRvbTogNHJlbTtcbn1cblxuLnByb21vdGlvbnMtaGVhZGVyIC5zZWN0aW9uLXRpdGxlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xufVxuXG4ucHJvbW90aW9ucy1oZWFkZXIgLnNlY3Rpb24tc3VidGl0bGUge1xuICAgIG1heC13aWR0aDogNjAwcHg7XG4gICAgbWFyZ2luOiAwIGF1dG87XG59XG5cbi8qIFByb21vdGlvbnMgU2VhcmNoIEJveCAqL1xuLnByb21vdGlvbnMtc2VhcmNoLWJveCB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3Itc2VhcmNoLWJnKTtcbiAgICBwYWRkaW5nOiAxcmVtIDJyZW07XG4gICAgYm9yZGVyLXJhZGl1czogNnB4O1xuICAgIGJveC1zaGFkb3c6IDAgOHB4IDIwcHggcmdiYSgwLCAwLCAwLCAwLjIpO1xuICAgIG1heC13aWR0aDogOTcwcHg7XG4gICAgbWFyZ2luOiAwIGF1dG8gMnJlbTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMTA7XG59XG5cbi8qIFByb21vdGlvbnMgR3JpZCAtIDIgY29sdW1uYXMgaWd1YWxlcyAqL1xuLnByb21vdGlvbnMtZ3JpZCB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpO1xuICAgIGdhcDogMi41cmVtO1xuICAgIG1hcmdpbi10b3A6IDRyZW07XG59XG5cbi8qIFByb21vdGlvbiBDYXJkIExpbmsgKi9cbi5wcm9tb3Rpb24tY2FyZC1saW5rIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5wcm9tb3Rpb24tY2FyZC1saW5rOmhvdmVyIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgY29sb3I6IGluaGVyaXQ7XG59XG5cbi8qIFByb21vdGlvbiBDYXJkICovXG4ucHJvbW90aW9uLWNhcmQge1xuICAgIGJhY2tncm91bmQ6IHdoaXRlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4ucHJvbW90aW9uLWNhcmQtaW1hZ2Uge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGFzcGVjdC1yYXRpbzogNCAvIDM7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLnByb21vdGlvbi1jYXJkLWltYWdlIGltZyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzIGVhc2U7XG59XG5cbi5wcm9tb3Rpb24tY2FyZDpob3ZlciAucHJvbW90aW9uLWNhcmQtaW1hZ2UgaW1nIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMDUpO1xufVxuXG4ucHJvbW90aW9uLWNhcmQtYm9keSB7XG4gICAgcGFkZGluZzogMS4yNXJlbTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjNmM2YzO1xufVxuXG4ucHJvbW90aW9uLWxvY2F0aW9uIHtcbiAgICBmb250LWZhbWlseTogJ05vdG8gU2FucycsIHNhbnMtc2VyaWY7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LWdyYXkpO1xuICAgIG1hcmdpbi1ib3R0b206IDAuMjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cblxuLnByb21vdGlvbi10aXRsZSB7XG4gICAgZm9udC1mYW1pbHk6ICdOb3RvIFNlcmlmJywgR2VvcmdpYSwgc2VyaWY7XG4gICAgZm9udC1zaXplOiAzMnB4O1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtZGFyayk7XG4gICAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjM7XG59XG5cbi5wcm9tb3Rpb24tcHJpY2Uge1xuICAgIGZvbnQtZmFtaWx5OiAnTm90byBTZXJpZicsIHNhbnMtc2VyaWY7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtZGFyayk7XG59XG5cbi8qIFByb21vdGlvbiBDYXJkIFBsYWNlaG9sZGVyICovXG4ucHJvbW90aW9uLWNhcmQtcGxhY2Vob2xkZXIge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y1ZjVmNTtcbn1cblxuLnByb21vdGlvbi1jYXJkLXBsYWNlaG9sZGVyIGltZyB7XG4gICAgbWF4LXdpZHRoOiAxNTBweDtcbiAgICBvcGFjaXR5OiAwLjU7XG59XG5cbi8qIFByb21vdGlvbnMgUGFnaW5hdGlvbiAqL1xuLnByb21vdGlvbnMtcGFnaW5hdGlvbiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLnByb21vdGlvbnMtcGFnaW5hdGlvbiAucGFnaW5hdGlvbiB7XG4gICAgZ2FwOiAwLjVyZW07XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi5wcm9tb3Rpb25zLXBhZ2luYXRpb24gLnBhZ2UtaXRlbSB7XG4gICAgbWFyZ2luOiAwO1xufVxuXG4ucHJvbW90aW9ucy1wYWdpbmF0aW9uIC5wYWdlLWxpbmsge1xuICAgIGZvbnQtZmFtaWx5OiAnTm90byBTYW5zJywgc2Fucy1zZXJpZjtcbiAgICBjb2xvcjogIzMwNEM1RTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgcGFkZGluZzogMC41cmVtIDAuODc1cmVtO1xuICAgIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgbWluLXdpZHRoOiA0OHB4O1xuICAgIG1pbi1oZWlnaHQ6IDQ4cHg7XG59XG5cbi5wcm9tb3Rpb25zLXBhZ2luYXRpb24gLnBhZ2UtbGluazpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg1NCwgNzUsIDk1LCAwLjEpO1xuICAgIGNvbG9yOiAjMzA0QzVFO1xufVxuXG4ucHJvbW90aW9ucy1wYWdpbmF0aW9uIC5wYWdlLWl0ZW0uYWN0aXZlIC5wYWdlLWxpbmsge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMzMDRDNUU7XG4gICAgY29sb3I6IHdoaXRlO1xufVxuXG4ucHJvbW90aW9ucy1wYWdpbmF0aW9uIC5wYWdlLWl0ZW0uZGlzYWJsZWQgLnBhZ2UtbGluayB7XG4gICAgY29sb3I6ICNDQkQ1RTA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICBvcGFjaXR5OiAwLjU7XG59XG5cbi5wcm9tb3Rpb25zLXBhZ2luYXRpb24gLnBhZ2UtbGluayBpbWcge1xuICAgIHdpZHRoOiAzMnB4O1xuICAgIGhlaWdodDogMzJweDtcbn1cblxuLyogUmVzcG9uc2l2ZSAtIFByb21vdGlvbnMgUGFnaW5hdGlvbiAqL1xuQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgLnByb21vdGlvbnMtcGFnaW5hdGlvbiAucGFnaW5hdGlvbiB7XG4gICAgICAgIGdhcDogMC4xMjVyZW07XG4gICAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgICAgICAgc2Nyb2xsYmFyLXdpZHRoOiBub25lO1xuICAgICAgICAtbXMtb3ZlcmZsb3ctc3R5bGU6IG5vbmU7XG4gICAgfVxuXG4gICAgLnByb21vdGlvbnMtcGFnaW5hdGlvbiAucGFnaW5hdGlvbjo6LXdlYmtpdC1zY3JvbGxiYXIge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC5wcm9tb3Rpb25zLXBhZ2luYXRpb24gLnBhZ2UtbGluayB7XG4gICAgICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICAgICAgcGFkZGluZzogMC4yNXJlbSAwLjVyZW07XG4gICAgICAgIG1pbi13aWR0aDogMzZweDtcbiAgICAgICAgbWluLWhlaWdodDogMzZweDtcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgfVxuXG4gICAgLnByb21vdGlvbnMtcGFnaW5hdGlvbiAucGFnZS1saW5rIGltZyB7XG4gICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgfVxufVxuXG4vKiBSZXNwb25zaXZlICovXG5AbWVkaWEgKG1heC13aWR0aDogOTkxcHgpIHtcbiAgICAucHJvbW90aW9ucy1oZXJvLWNvbnRlbnQgaDEge1xuICAgICAgICBmb250LXNpemU6IDIuNXJlbTtcbiAgICB9XG5cbiAgICAucHJvbW90aW9ucy1ncmlkIHtcbiAgICAgICAgZ2FwOiAycmVtO1xuICAgIH1cblxuICAgIC5wcm9tb3Rpb24tdGl0bGUge1xuICAgICAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAucHJvbW90aW9ucy1oZXJvLXNlY3Rpb24ge1xuICAgICAgICBoZWlnaHQ6IDMwMHB4O1xuICAgIH1cblxuICAgIC5wcm9tb3Rpb25zLWhlcm8tY29udGVudCBoMSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgICB9XG5cbiAgICAucHJvbW90aW9ucy1zZWN0aW9uIHtcbiAgICAgICAgcGFkZGluZzogM3JlbSAwO1xuICAgIH1cblxuICAgIC5wcm9tb3Rpb25zLWdyaWQge1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcbiAgICAgICAgZ2FwOiAycmVtO1xuICAgICAgICBtYXJnaW4tdG9wOiAycmVtO1xuICAgIH1cbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIERldmVsb3BtZW50IEV4dGVybmFsIFVSTCBJZnJhbWVcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uZGV2ZWxvcG1lbnQtaWZyYW1lLWNvbnRhaW5lciB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMHZoIC0gMTgwcHgpO1xuICAgIG1pbi1oZWlnaHQ6IDYwMHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmNWY1ZjU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uZGV2ZWxvcG1lbnQtaWZyYW1lLWNvbnRhaW5lci5kZXZlbG9wbWVudC1pZnJhbWUtZnVsbHNjcmVlbiB7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMHZoIC0gNzZweCk7IC8qIFNvbG8gYWx0dXJhIGRlbCBuYXZiYXIgKi9cbiAgICBtaW4taGVpZ2h0OiBhdXRvO1xufVxuXG4vKiBPY3VsdGFyIHNjcm9sbCBkZWwgYm9keSBjdWFuZG8gaGF5IGlmcmFtZSBmdWxsc2NyZWVuICovXG5ib2R5OmhhcyguZGV2ZWxvcG1lbnQtaWZyYW1lLWZ1bGxzY3JlZW4pIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4uZGV2ZWxvcG1lbnQtaWZyYW1lIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAuZGV2ZWxvcG1lbnQtaWZyYW1lLWNvbnRhaW5lciB7XG4gICAgICAgIGhlaWdodDogY2FsYygxMDB2aCAtIDE1MHB4KTtcbiAgICAgICAgbWluLWhlaWdodDogNTAwcHg7XG4gICAgfVxuXG4gICAgLmRldmVsb3BtZW50LWlmcmFtZS1jb250YWluZXIuZGV2ZWxvcG1lbnQtaWZyYW1lLWZ1bGxzY3JlZW4ge1xuICAgICAgICBoZWlnaHQ6IGNhbGMoMTAwdmggLSA2MHB4KTsgLyogTmF2YmFyIG3Ds3ZpbCBtw6FzIHBlcXVlw7FvICovXG4gICAgfVxufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIExPQ0FUSU9OIEFVVE9DT01QTEVURVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5sb2NhdGlvbi1hdXRvY29tcGxldGUtd3JhcHBlciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsZXg6IDE7XG59XG5cbi5sb2NhdGlvbi1hdXRvY29tcGxldGUtd3JhcHBlci1tb2JpbGUge1xuICAgIGZsZXg6IDE7XG59XG5cbi5sb2NhdGlvbi1hdXRvY29tcGxldGUge1xuICAgIHdpZHRoOiAxMDAlO1xufVxuXG4ubG9jYXRpb24tYXV0b2NvbXBsZXRlLXJlc3VsdHMge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDEwMCU7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNFNUU1RTU7XG4gICAgYm9yZGVyLXJhZGl1czogMCAwIDRweCA0cHg7XG4gICAgYm94LXNoYWRvdzogMCA0cHggMTJweCByZ2JhKDAsIDAsIDAsIDAuMSk7XG4gICAgbWF4LWhlaWdodDogMjAwcHg7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICB6LWluZGV4OiAxMDUwO1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5sb2NhdGlvbi1hdXRvY29tcGxldGUtcmVzdWx0cy5zaG93IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbn1cblxuLmxvY2F0aW9uLWF1dG9jb21wbGV0ZS1pdGVtIHtcbiAgICBwYWRkaW5nOiAwLjc1cmVtIDFyZW07XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGZvbnQtZmFtaWx5OiAnTm90byBTYW5zJywgc2Fucy1zZXJpZjtcbiAgICBmb250LXNpemU6IDAuOTVyZW07XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtZGFyayk7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjJzIGVhc2U7XG4gICAgYmFja2dyb3VuZDogd2hpdGU7XG59XG5cbi5sb2NhdGlvbi1hdXRvY29tcGxldGUtaXRlbTpob3Zlcixcbi5sb2NhdGlvbi1hdXRvY29tcGxldGUtaXRlbS5hY3RpdmUge1xuICAgIGJhY2tncm91bmQ6ICNmOGY5ZmE7XG59XG5cbi5sb2NhdGlvbi1hdXRvY29tcGxldGUtaXRlbS5zZWxlY3RlZCB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmVpZ2UpO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG59XG5cbi5sb2NhdGlvbi1hdXRvY29tcGxldGUtaXRlbSBtYXJrIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG4gICAgcGFkZGluZzogMDtcbiAgICBmb250LXdlaWdodDogNjAwO1xufVxuXG4ubG9jYXRpb24tYXV0b2NvbXBsZXRlLWxvYWRpbmcge1xuICAgIHBhZGRpbmc6IDAuNzVyZW0gMXJlbTtcbiAgICBmb250LWZhbWlseTogJ05vdG8gU2FucycsIHNhbnMtc2VyaWY7XG4gICAgZm9udC1zaXplOiAwLjk1cmVtO1xuICAgIGNvbG9yOiAjNmM3NTdkO1xuICAgIGJhY2tncm91bmQ6IHdoaXRlO1xufVxuXG4ubG9jYXRpb24tYXV0b2NvbXBsZXRlLW5vLXJlc3VsdHMge1xuICAgIHBhZGRpbmc6IDAuNzVyZW0gMXJlbTtcbiAgICBmb250LWZhbWlseTogJ05vdG8gU2FucycsIHNhbnMtc2VyaWY7XG4gICAgZm9udC1zaXplOiAwLjk1cmVtO1xuICAgIGNvbG9yOiAjNmM3NTdkO1xuICAgIGJhY2tncm91bmQ6IHdoaXRlO1xufVxuXG4vKiBIb21lIHNlYXJjaCBib3ggYXV0b2NvbXBsZXRlIHN0eWxpbmcgKi9cbi5zZWFyY2gtYm94IC5sb2NhdGlvbi1hdXRvY29tcGxldGUtd3JhcHBlciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogNTE5cHg7XG59XG5cbi5zZWFyY2gtYm94IC5sb2NhdGlvbi1hdXRvY29tcGxldGUge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBwYWRkaW5nOiAwLjc1cmVtIDFyZW07XG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgIGJhY2tncm91bmQ6IHdoaXRlO1xuICAgIGZvbnQtZmFtaWx5OiAnTm90byBTYW5zJywgc2Fucy1zZXJpZjtcbiAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgaGVpZ2h0OiA1MHB4O1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgY29sb3I6ICMwMjFFMzg7XG59XG5cbi5zZWFyY2gtYm94IC5sb2NhdGlvbi1hdXRvY29tcGxldGU6OnBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogIzZjNzU3ZDtcbn1cblxuLnNlYXJjaC1ib3ggLmxvY2F0aW9uLWF1dG9jb21wbGV0ZTpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3gtc2hhZG93OiAwIDAgMCAycHggcmdiYSg1NCwgNzUsIDk1LCAwLjIpO1xufVxuXG4uc2VhcmNoLWJveCAubG9jYXRpb24tYXV0b2NvbXBsZXRlLXJlc3VsdHMge1xuICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICBtYXJnaW4tdG9wOiA4cHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI0NCRDVFMDtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDk5MS45OHB4KSB7XG4gICAgLnNlYXJjaC1ib3ggLmxvY2F0aW9uLWF1dG9jb21wbGV0ZS13cmFwcGVyIHtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIH1cbn1cblxuLyogRXN0aWxvcyBkZWwgYXV0b2NvbXBsZXRhZG8gcGFyYSBlbCBidXNjYWRvciBkZWwgbGlzdGFkbyAqL1xuLnNlYXJjaC1maWx0ZXJzLWZvcm0gLmxvY2F0aW9uLWF1dG9jb21wbGV0ZS13cmFwcGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG59XG5cbi5zZWFyY2gtZmlsdGVycy1mb3JtIC5yb3cge1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xufVxuXG4uc2VhcmNoLWZpbHRlcnMtZm9ybSAubG9jYXRpb24tYXV0b2NvbXBsZXRlIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgICBib3JkZXI6IDJweCBzb2xpZCB2YXIoLS1jb2xvci10ZXh0LWRhcmspO1xuICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICBwYWRkaW5nOiAwLjc1cmVtIDFyZW07XG4gICAgZm9udC1mYW1pbHk6ICdOb3RvIFNhbnMnLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMC45NXJlbTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1kYXJrKTtcbiAgICBoZWlnaHQ6IGF1dG87XG59XG5cbi5zZWFyY2gtZmlsdGVycy1mb3JtIC5sb2NhdGlvbi1hdXRvY29tcGxldGU6OnBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogIzZjNzU3ZDtcbn1cblxuLnNlYXJjaC1maWx0ZXJzLWZvcm0gLmxvY2F0aW9uLWF1dG9jb21wbGV0ZTpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xuICAgIGJveC1zaGFkb3c6IDAgMCAwIDJweCByZ2JhKDU0LCA3NSwgOTUsIDAuMik7XG59XG5cbi5zZWFyY2gtZmlsdGVycy1mb3JtIC5sb2NhdGlvbi1hdXRvY29tcGxldGUtcmVzdWx0cyB7XG4gICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgIG1hcmdpbi10b3A6IDhweDtcbiAgICBib3JkZXI6IDJweCBzb2xpZCB2YXIoLS1jb2xvci10ZXh0LWRhcmspO1xuICAgIHotaW5kZXg6IDExMDA7XG59XG5cbi8qIEVzdGlsb3MgZGVsIGF1dG9jb21wbGV0YWRvIHBhcmEgZWwgYnVzY2Fkb3IgbcOzdmlsIGRlbCBsaXN0YWRvICovXG4uc2VhcmNoLWJveC1tb2JpbGUgLmxvY2F0aW9uLWF1dG9jb21wbGV0ZS13cmFwcGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxleDogMTtcbn1cblxuLnNlYXJjaC1ib3gtbW9iaWxlIC5sb2NhdGlvbi1hdXRvY29tcGxldGUge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJhY2tncm91bmQ6IHdoaXRlO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgcGFkZGluZzogMC43NXJlbSAxcmVtO1xuICAgIGZvbnQtZmFtaWx5OiAnTm90byBTYW5zJywgc2Fucy1zZXJpZjtcbiAgICBmb250LXNpemU6IDAuOTVyZW07XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtZGFyayk7XG59XG5cbi5zZWFyY2gtYm94LW1vYmlsZSAubG9jYXRpb24tYXV0b2NvbXBsZXRlLXJlc3VsdHMge1xuICAgIGJvcmRlci1yYWRpdXM6IDAgMCA4cHggOHB4O1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI0NCRDVFMDtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFdoYXRzQXBwIEZsb2F0aW5nIEJ1dHRvblxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi53aGF0c2FwcC1mbG9hdCB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIGJvdHRvbTogMzBweDtcbiAgICByaWdodDogMzBweDtcbiAgICB3aWR0aDogNjBweDtcbiAgICBoZWlnaHQ6IDYwcHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzI1RDM2NjtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBmb250LXNpemU6IDMycHg7XG4gICAgYm94LXNoYWRvdzogMCA0cHggMTJweCByZ2JhKDAsIDAsIDAsIDAuMjUpO1xuICAgIHotaW5kZXg6IDEwMDA7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3MgZWFzZSwgYm94LXNoYWRvdyAwLjNzIGVhc2U7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4ud2hhdHNhcHAtZmxvYXQ6aG92ZXIge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xKTtcbiAgICBib3gtc2hhZG93OiAwIDZweCAyMHB4IHJnYmEoMCwgMCwgMCwgMC4zKTtcbiAgICBjb2xvcjogd2hpdGU7XG59XG5cbi53aGF0c2FwcC1mbG9hdDphY3RpdmUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMC45NSk7XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgIC53aGF0c2FwcC1mbG9hdCB7XG4gICAgICAgIGJvdHRvbTogMjBweDtcbiAgICAgICAgcmlnaHQ6IDIwcHg7XG4gICAgICAgIHdpZHRoOiA1NXB4O1xuICAgICAgICBoZWlnaHQ6IDU1cHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMjhweDtcbiAgICB9XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgU0NST0xMIFJFVkVBTCBBTklNQVRJT05TXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyogRXN0YWRvIGluaWNpYWw6IG9jdWx0byAqL1xuLnNjcm9sbC1yZXZlYWwge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDQwcHgpO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC44cyBlYXNlLW91dCwgdHJhbnNmb3JtIDAuOHMgZWFzZS1vdXQ7XG59XG5cbi8qIEVzdGFkbyB2aXNpYmxlOiBhbmltYWRvICovXG4uc2Nyb2xsLXJldmVhbC5yZXZlYWxlZCB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG59XG5cbi8qIFZhcmlhbnRlcyBkZSBhbmltYWNpw7NuICovXG4uc2Nyb2xsLXJldmVhbC1mYWRlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC44cyBlYXNlLW91dDtcbn1cblxuLnNjcm9sbC1yZXZlYWwtZmFkZS5yZXZlYWxlZCB7XG4gICAgb3BhY2l0eTogMTtcbn1cblxuLnNjcm9sbC1yZXZlYWwtbGVmdCB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTQwcHgpO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC44cyBlYXNlLW91dCwgdHJhbnNmb3JtIDAuOHMgZWFzZS1vdXQ7XG59XG5cbi5zY3JvbGwtcmV2ZWFsLWxlZnQucmV2ZWFsZWQge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xufVxuXG4uc2Nyb2xsLXJldmVhbC1yaWdodCB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNDBweCk7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjhzIGVhc2Utb3V0LCB0cmFuc2Zvcm0gMC44cyBlYXNlLW91dDtcbn1cblxuLnNjcm9sbC1yZXZlYWwtcmlnaHQucmV2ZWFsZWQge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xufVxuXG4uc2Nyb2xsLXJldmVhbC1zY2FsZSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOSk7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjhzIGVhc2Utb3V0LCB0cmFuc2Zvcm0gMC44cyBlYXNlLW91dDtcbn1cblxuLnNjcm9sbC1yZXZlYWwtc2NhbGUucmV2ZWFsZWQge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbn1cblxuLyogRGVsYXlzIGVzY2Fsb25hZG9zIHBhcmEgZWxlbWVudG9zIGVuIGdydXBvICovXG4uc2Nyb2xsLXJldmVhbC1kZWxheS0xIHsgdHJhbnNpdGlvbi1kZWxheTogMC4xczsgfVxuLnNjcm9sbC1yZXZlYWwtZGVsYXktMiB7IHRyYW5zaXRpb24tZGVsYXk6IDAuMnM7IH1cbi5zY3JvbGwtcmV2ZWFsLWRlbGF5LTMgeyB0cmFuc2l0aW9uLWRlbGF5OiAwLjNzOyB9XG4uc2Nyb2xsLXJldmVhbC1kZWxheS00IHsgdHJhbnNpdGlvbi1kZWxheTogMC40czsgfVxuLnNjcm9sbC1yZXZlYWwtZGVsYXktNSB7IHRyYW5zaXRpb24tZGVsYXk6IDAuNXM7IH1cblxuLyogRGVzYWN0aXZhciBhbmltYWNpb25lcyBzaSBlbCB1c3VhcmlvIHByZWZpZXJlIG1vdmltaWVudG8gcmVkdWNpZG8gKi9cbkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG4gICAgLnNjcm9sbC1yZXZlYWwsXG4gICAgLnNjcm9sbC1yZXZlYWwtZmFkZSxcbiAgICAuc2Nyb2xsLXJldmVhbC1sZWZ0LFxuICAgIC5zY3JvbGwtcmV2ZWFsLXJpZ2h0LFxuICAgIC5zY3JvbGwtcmV2ZWFsLXNjYWxlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgdHJhbnNmb3JtOiBub25lO1xuICAgICAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIH1cbn1cblxuLyogSG9uZXlwb3QgYW50aXNwYW06IG9jdWx0byBwYXJhIGh1bWFub3MsIHZpc2libGUgcGFyYSBib3RzIHF1ZSBpZ25vcmFuIENTUyAqL1xuLmFudGlzcGFtLXRyYXAge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAtOTk5OXB4O1xuICAgIHRvcDogLTk5OTlweDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgd2lkdGg6IDA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cbiJdLCJuYW1lcyI6W10sImlnbm9yZUxpc3QiOltdLCJzb3VyY2VSb290IjoiIn0=*/