/*!******************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/styles/landing.css ***!
  \******************************************************************************************************************/
/* ========================================
   LANDING PAGE - SIMPLE
   ======================================== */

:root {
    --primary: #0e9f9a;
    --primary-dark: #087b78;
    --secondary: #e99b22;
    --accent: #e99b22;
    --success: #198f6b;

    --gray-900: #1b2d46;
    --gray-700: #52647b;
    --gray-600: #66788e;
    --gray-500: #7c8da1;
    --gray-400: #9aa8b7;
    --gray-300: #cbd5df;
    --gray-200: #dce2e8;
    --gray-100: #edf1f3;
    --white: #fffdf8;

    --space-xs: 4px;
    --space-sm: 8px;
    --space-md: 16px;
    --space-lg: 24px;
    --space-xl: 32px;
    --space-2xl: 48px;
    --space-3xl: 64px;

    --radius-sm: 10px;
    --radius-md: 16px;
}

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    color: var(--gray-900);
    background: #f7f5ef;
    line-height: 1.6;
}

/* Résultats multijoueur */
.multiplayer-results {
    width: min(100% - 2rem, 68rem);
    margin: 0 auto;
    padding: 4rem 0;
}

.multiplayer-results-hero {
    padding: 2.5rem;
    border-radius: var(--radius-md);
    background: linear-gradient(125deg, #10213b, #173657 65%, #0e7778);
    color: var(--white);
}

.multiplayer-results-hero .lobby-eyebrow {
    color: #d8f07b;
}

.multiplayer-results-hero h1 {
    margin: 0.4rem 0;
    font-size: clamp(2.25rem, 6vw, 4rem);
    letter-spacing: -0.06em;
    line-height: 0.95;
}

.multiplayer-results-hero > p:last-child {
    margin: 1rem 0 0;
    color: rgba(255, 255, 255, 0.78);
}

.multiplayer-podium {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1rem;
    align-items: end;
    margin: 1.5rem 0;
}

.multiplayer-podium-place {
    padding: 1.4rem 1rem;
    border: 1px solid var(--gray-200);
    border-radius: var(--radius-md);
    background: var(--white);
    text-align: center;
}

.multiplayer-podium-place--1 {
    order: 2;
    padding-block: 2rem;
    border-color: #e7bf45;
    background: linear-gradient(145deg, #fff9e7, #fffdf8);
    box-shadow: 0 12px 25px rgba(185, 135, 20, 0.15);
}

.multiplayer-podium-place--2 { order: 1; }
.multiplayer-podium-place--3 { order: 3; }

.multiplayer-podium-medal {
    display: block;
    font-size: 2rem;
}

.multiplayer-podium-place p,
.multiplayer-podium-place h2,
.multiplayer-podium-place span:last-child {
    margin: 0.3rem 0 0;
}

.multiplayer-podium-place p {
    color: var(--gray-600);
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
}

.multiplayer-podium-place h2 {
    font-size: 1rem;
}

.multiplayer-podium-place span:last-child {
    display: block;
    color: var(--primary-dark);
    font-weight: 700;
    font-variant-numeric: tabular-nums;
}

.multiplayer-ranking {
    padding: 2rem;
    border: 1px solid var(--gray-200);
    border-radius: var(--radius-md);
    background: var(--white);
}

.multiplayer-results-section-heading {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    align-items: end;
    margin-bottom: 1.25rem;
}

.multiplayer-results-section-heading h2 {
    margin: 0;
    font-size: 1.5rem;
}

.multiplayer-results-section-heading > p {
    margin: 0;
    color: var(--gray-600);
    font-size: 0.85rem;
}

.multiplayer-ranking-list {
    display: grid;
    gap: 0.7rem;
}

.multiplayer-result-row {
    overflow: hidden;
    border: 1px solid var(--gray-200);
    border-radius: var(--radius-sm);
    background: var(--gray-50);
}

.multiplayer-result-row--current {
    border-color: var(--primary);
    box-shadow: 0 0 0 2px rgba(14, 159, 154, 0.12);
}

.multiplayer-result-row--pending {
    opacity: 0.72;
}

.multiplayer-result-row summary {
    display: grid;
    grid-template-columns: 2.5rem minmax(0, 1fr) auto auto 1.2rem;
    gap: 0.9rem;
    align-items: center;
    min-height: 4.8rem;
    padding: 0.8rem 1rem;
    cursor: pointer;
    list-style: none;
}

.multiplayer-result-row summary::-webkit-details-marker {
    display: none;
}

.multiplayer-result-row summary:hover {
    background: #e8f8f5;
}

.multiplayer-result-position {
    color: var(--primary-dark);
    font-size: 1.25rem;
    font-weight: 800;
    text-align: center;
}

.multiplayer-result-player strong,
.multiplayer-result-player small,
.multiplayer-result-stat small {
    display: block;
}

.multiplayer-result-player small,
.multiplayer-result-stat small {
    margin-top: 0.1rem;
    color: var(--gray-600);
    font-size: 0.7rem;
}

.multiplayer-result-stat {
    color: var(--gray-900);
    font-size: 0.95rem;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
    text-align: right;
}

.multiplayer-result-expand {
    color: var(--primary-dark);
    font-size: 1.25rem;
    transition: transform 160ms ease;
}

.multiplayer-result-row[open] .multiplayer-result-expand {
    transform: rotate(180deg);
}

.multiplayer-result-route {
    padding: 0 1rem 1rem;
    border-top: 1px solid var(--gray-200);
}

.multiplayer-result-route .lobby-eyebrow {
    margin: 1rem 0 0.5rem;
}

.multiplayer-result-graph {
    min-height: 10rem;
    background-color: var(--white);
}

.multiplayer-results-actions {
    display: flex;
    justify-content: flex-end;
    gap: 0.75rem;
    margin-top: 1.25rem;
}

.multiplayer-results-actions a {
    text-decoration: none;
}

/* Résultats provisoires : mêmes repères que le classement final, données en direct. */
.multiplayer-live-results-hero {
    padding-bottom: 1.75rem;
}

.multiplayer-live-stats {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.75rem;
    margin: 1.75rem 0 0;
}

.multiplayer-live-stats div {
    padding-top: 0.7rem;
    border-top: 2px solid #d8f07b;
}

.multiplayer-live-stats dt {
    color: rgba(255, 255, 255, 0.68);
    font-size: 0.66rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.multiplayer-live-stats dd {
    margin: 0.2rem 0 0;
    font-size: 1.25rem;
    font-weight: 800;
    font-variant-numeric: tabular-nums;
}

.multiplayer-live-route,
.multiplayer-live-competitors {
    margin-top: 1.25rem;
}

.multiplayer-live-competitor-list {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(16rem, 1fr));
    gap: 0.8rem;
}

.multiplayer-live-competitor {
    overflow: hidden;
    border: 1px solid var(--gray-200);
    border-radius: var(--radius-sm);
    background: var(--gray-50);
}

.multiplayer-live-competitor header {
    display: flex;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0.8rem 0.9rem;
    border-bottom: 1px solid var(--gray-200);
}

.multiplayer-live-competitor h3,
.multiplayer-live-competitor p {
    margin: 0;
}

.multiplayer-live-competitor h3 {
    font-size: 0.95rem;
}

.multiplayer-live-competitor p {
    color: var(--gray-600);
    font-size: 0.72rem;
    text-align: right;
}

.multiplayer-live-mini-graph {
    max-height: 12rem;
    padding: 0.5rem 0.75rem;
    overflow: auto;
}

.multiplayer-live-mini-graph svg {
    display: block;
    min-width: 100%;
}

.multiplayer-live-competitor.is-finished-now {
    animation: multiplayer-live-finish 0.9s ease both;
}

@keyframes multiplayer-live-finish {
    0% { transform: scale(0.96); background: #fff4cb; }
    65% { transform: scale(1.02); background: #e8f8f5; }
    100% { transform: scale(1); background: var(--gray-50); }
}

@media (max-width: 620px) {
    .multiplayer-results {
        width: min(100% - 1rem, 68rem);
        padding: 1rem 0 2rem;
    }

    .multiplayer-results-hero,
    .multiplayer-ranking {
        padding: 1.25rem;
    }

    .multiplayer-results-section-heading {
        display: block;
    }

    .multiplayer-results-section-heading > p {
        margin-top: 0.5rem;
    }

    .multiplayer-result-row summary {
        grid-template-columns: 2rem minmax(0, 1fr) 1rem;
    }

    .multiplayer-result-stat {
        display: none;
    }

    .multiplayer-live-stats {
        grid-template-columns: 1fr;
    }
}

.landing-container {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
}

/* ========================================
   HEADER
   ======================================== */

.header {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(17rem, 0.65fr);
    align-items: end;
    gap: 1.5rem 3rem;
    padding: 4.5rem max(1.5rem, calc((100% - 68rem) / 2)) 2.75rem;
    background: linear-gradient(123deg, #10213b 0%, #173657 60%, #0e7778 145%);
    color: var(--white);
}

.main-title {
    font-size: 48px;
    font-weight: 700;
    margin: 0;
    letter-spacing: -0.055em;
    line-height: 0.98;
}

.subtitle {
    max-width: 25rem;
    margin: 0;
    padding: 0.2rem 0 0.2rem 1.35rem;
    border-left: 2px solid #d8f07b;
    color: rgba(255, 255, 255, 0.8);
    font-size: 1rem;
    line-height: 1.6;
}

/* ========================================
   GAME MODES
   ======================================== */

.game-modes {
    flex: 1;
    max-width: 1200px;
    width: 100%;
    margin: 0 auto;
    padding: var(--space-3xl) var(--space-lg);
}

.section-title {
    font-size: 32px;
    font-weight: 600;
    text-align: center;
    margin-bottom: var(--space-2xl);
    color: var(--gray-900);
}

.modes-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: var(--space-lg);
}

/* ========================================
   MODE CARDS
   ======================================== */

.mode-card {
    background: var(--white);
    border: 2px solid var(--gray-200);
    border-radius: var(--radius-md);
    padding: var(--space-xl);
    text-align: center;
    transition: all 0.3s ease;
    position: relative;
    overflow: hidden;
}

.mode-card.available {
    cursor: pointer;
    text-decoration: none;
    color: inherit;
    display: block;
}

.mode-card.available:hover {
    border-color: var(--primary);
    transform: translateY(-4px);
    box-shadow: 0 8px 24px rgba(99, 102, 241, 0.2);
}

.mode-card.available .mode-icon {
    background: linear-gradient(135deg, var(--primary) 0%, var(--primary-dark) 100%);
}

.mode-card.unavailable {
    opacity: 0.6;
    cursor: not-allowed;
}

.mode-card.unavailable .mode-icon {
    background: var(--gray-300);
}

/* ========================================
   MODE CARD CONTENT
   ======================================== */

.mode-icon {
    width: 80px;
    height: 80px;
    margin: 0 auto var(--space-lg);
    border-radius: var(--radius-md);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--white);
}

.mode-title {
    font-size: 22px;
    font-weight: 600;
    margin-bottom: var(--space-sm);
    color: var(--gray-900);
}

.mode-description {
    font-size: 15px;
    color: var(--gray-600);
    margin-bottom: var(--space-lg);
    line-height: 1.6;
}

.mode-status {
    display: inline-block;
    padding: var(--space-xs) var(--space-md);
    background: var(--gray-100);
    color: var(--gray-600);
    border-radius: var(--radius-sm);
    font-size: 13px;
    font-weight: 600;
}

.mode-status.available {
    background: var(--success);
    color: var(--white);
}

/* ========================================
   RESPONSIVE
   ======================================== */

@media (max-width: 768px) {
    .header {
        display: block;
        padding: 4rem var(--space-md) 2.5rem;
    }

    .main-title {
        font-size: 36px;
    }

    .subtitle {
        font-size: 16px;
        margin-top: 1.25rem;
    }

    .section-title {
        font-size: 24px;
    }

    .modes-grid {
        grid-template-columns: 1fr;
        gap: var(--space-md);
    }

    .game-modes {
        padding: var(--space-2xl) var(--space-md);
    }
}

@media (max-width: 480px) {
    .main-title {
        font-size: 32px;
    }

    .mode-card {
        padding: var(--space-lg);
    }

    .mode-icon {
        width: 64px;
        height: 64px;
    }

    .mode-icon svg {
        width: 36px;
        height: 36px;
    }
}

/* ========================================
   ACCUEIL — CHARTE "ATLAS NOCTURNE"
   ======================================== */

.home-page {
    --atlas-ink: #10213b;
    --atlas-ink-soft: #4b5d75;
    --atlas-navy: #0c1b33;
    --atlas-paper: #f7f5ef;
    --atlas-card: #fffdf8;
    --atlas-line: #dce2e8;
    --atlas-teal: #0e9f9a;
    --atlas-teal-dark: #087b78;
    --atlas-lime: #d8f07b;
    --atlas-amber: #f6bd3b;
    --atlas-shadow: 0 18px 45px rgba(16, 33, 59, 0.1);
    background:
        radial-gradient(circle at 14% 0%, rgba(216, 240, 123, 0.25), transparent 24rem),
        linear-gradient(180deg, #edf2f2 0, var(--atlas-paper) 24rem);
    color: var(--atlas-ink);
}

.home-page .home-hero {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(17rem, 0.65fr);
    align-items: end;
    gap: 3rem;
    padding: 2.75rem max(1.5rem, calc((100% - 68rem) / 2));
    background:
        radial-gradient(circle at 76% 22%, rgba(216, 240, 123, 0.22), transparent 15rem),
        linear-gradient(123deg, #10213b 0%, #173657 58%, #0e7778 145%);
}

.home-page .home-hero::before,
.home-page .home-hero::after {
    position: absolute;
    z-index: -1;
    border: 1px solid rgba(255, 255, 255, 0.16);
    border-radius: 999px;
    content: '';
}

.home-page .home-hero::before {
    width: 24rem;
    height: 24rem;
    right: -8rem;
    top: -15rem;
}

.home-page .home-hero::after {
    width: 16rem;
    height: 16rem;
    right: 8%;
    bottom: -12rem;
}

.home-page .home-hero > * {
    width: auto;
    margin: 0;
}

.home-page .main-title {
    max-width: 34rem;
    font-size: clamp(2.4rem, 5vw, 4.25rem);
    font-weight: 700;
    letter-spacing: -0.075em;
    line-height: 0.95;
}

.home-page .subtitle {
    max-width: 25rem;
    margin: 0;
    padding: 0.2rem 0 0.2rem 1.35rem;
    border-left: 2px solid var(--atlas-lime);
    color: rgba(255, 255, 255, 0.8);
    font-size: 1rem;
    line-height: 1.6;
}

.home-page .game-modes {
    max-width: 68rem;
    padding: 3.25rem 1.5rem 5rem;
}

.home-page .section-title {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    margin-bottom: 1.75rem;
    color: var(--atlas-ink);
    font-size: clamp(1.75rem, 4vw, 2.5rem);
    letter-spacing: -0.045em;
    text-align: left;
}

/* ========================================
   LOBBY MULTIJOUEUR
   ======================================== */

.multiplayer-lobby {
    background:
        radial-gradient(circle at 82% 14%, rgba(216, 240, 123, 0.17), transparent 23rem),
        linear-gradient(180deg, #eef3f1 0, #f7f5ef 30rem);
}

.multiplayer-lobby .lobby-content {
    display: flex;
    flex-direction: column;
    max-width: 68rem;
    padding: 3rem 1.5rem 5rem;
}

.multiplayer-lobby [data-multiplayer--lobby-target='rooms'] {
    display: contents;
}

.lobby-entry-points {
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(18rem, 0.8fr);
    gap: 1rem;
    order: 2;
    margin-top: 2.5rem;
}

.lobby-create-panel,
.lobby-code-panel {
    border: 1px solid var(--gray-200);
    border-radius: var(--radius-md);
    box-shadow: 0 10px 28px rgba(16, 33, 59, 0.06);
}

.lobby-create-panel {
    padding: 2rem;
    background:
        radial-gradient(circle at 85% 5%, rgba(216, 240, 123, 0.35), transparent 11rem),
        linear-gradient(135deg, #10213b, #173657);
    color: var(--white);
}

.lobby-create-panel h2,
.lobby-code-panel label,
.lobby-section-heading h2,
.create-room-dialog h2 {
    margin: 0;
    color: var(--gray-900);
    letter-spacing: -0.04em;
}

.lobby-create-panel h2 {
    max-width: 25rem;
    color: var(--white);
    font-size: clamp(1.65rem, 3vw, 2.25rem);
    line-height: 1.05;
}

.lobby-create-panel > p:not(.lobby-eyebrow) {
    max-width: 32rem;
    margin: 0.85rem 0 1.5rem;
    color: rgba(255, 255, 255, 0.76);
}

.lobby-eyebrow {
    margin: 0 0 0.5rem;
    color: var(--primary);
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.lobby-create-panel .lobby-eyebrow {
    color: #d8f07b;
}

.lobby-create-button,
.lobby-join-button,
.lobby-empty-action,
.room-card-footer button,
.dialog-submit,
.dialog-cancel,
.dialog-close {
    border: 0;
    font: inherit;
    font-weight: 700;
    cursor: pointer;
}

.lobby-create-button,
.lobby-join-button,
.lobby-empty-action,
.dialog-submit {
    min-height: 2.8rem;
    padding: 0.65rem 1rem;
    border-radius: var(--radius-sm);
    background: var(--primary);
    color: #fff;
    transition: transform 0.2s ease, background-color 0.2s ease;
}

.lobby-create-button:hover,
.lobby-join-button:hover,
.lobby-empty-action:hover,
.dialog-submit:hover {
    background: var(--primary-dark);
    transform: translateY(-2px);
}

.lobby-code-panel {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 2rem;
    background: var(--white);
}

.lobby-code-panel > p:not(.lobby-eyebrow) {
    margin: 0.4rem 0 1.25rem;
    color: var(--gray-600);
    font-size: 0.9rem;
}

.lobby-code-form {
    display: flex;
    gap: 0.6rem;
}

.lobby-code-form input,
.create-room-form input,
.create-room-form select {
    width: 100%;
    min-height: 2.8rem;
    border: 1px solid var(--gray-300);
    border-radius: var(--radius-sm);
    background: var(--white);
    color: var(--gray-900);
    font: inherit;
}

.lobby-code-form input {
    min-width: 0;
    padding: 0.65rem 0.75rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.lobby-join-button {
    flex: 0 0 auto;
}

.lobby-rooms {
    margin-top: 3.5rem;
}

.my-rooms {
    order: 1;
    margin-top: 0;
}

.lobby-public-rooms {
    order: 3;
    margin-top: 2.5rem;
}

.lobby-section-heading {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1.25rem;
}

.lobby-section-heading h2 {
    font-size: clamp(1.65rem, 3vw, 2.25rem);
}

.lobby-refresh-note {
    margin: 0;
    color: var(--gray-600);
    font-size: 0.78rem;
}

.room-list {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: var(--space-lg);
}

.room-card {
    display: flex;
    flex-direction: column;
    padding: var(--space-md);
    border: 1px solid var(--gray-200);
    border-radius: var(--radius-md);
    background: var(--white);
    box-shadow: 0 1px 0 rgba(16, 33, 59, 0.03);
    overflow: hidden;
    position: relative;
}

.room-card::before {
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    height: 4px;
    background: linear-gradient(90deg, var(--primary), var(--secondary));
    content: '';
}

.room-card-topline,
.room-card-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
}

.room-status,
.room-capacity {
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.room-status {
    color: var(--primary-dark);
}

.room-capacity {
    color: var(--gray-600);
}

.room-challenge-label {
    margin: 1.15rem 0 0.4rem;
    color: var(--gray-600);
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.room-card h3 {
    margin: 0;
    color: var(--gray-900);
    font-size: 1.05rem;
    line-height: 1.45;
}

.room-card h3 span {
    color: var(--secondary);
}

.room-card .room-challenge-pending {
    color: var(--gray-600);
    font-style: italic;
    font-weight: 500;
}

.room-card-footer {
    margin-top: 1.1rem;
    padding-top: 0.75rem;
    border-top: 1px solid var(--gray-200);
    color: var(--gray-600);
    font-size: 0.78rem;
}

.room-card-footer button,
.room-open-button {
    padding: 0.45rem 0.7rem;
    border-radius: var(--radius-sm);
    background: var(--primary);
    color: var(--white);
    font-size: 0.78rem;
    text-decoration: none;
}

.room-card-footer button:hover,
.room-open-button:hover {
    background: var(--primary-dark);
}

.room-card-current {
    border-color: rgba(14, 159, 154, 0.35);
}

.lobby-empty-state {
    max-width: 36rem;
    margin: 0 auto;
    padding: 3rem 2rem;
    border: 1px dashed var(--gray-300);
    border-radius: var(--radius-md);
    background: rgba(255, 253, 248, 0.7);
    text-align: center;
}

.lobby-empty-state > span {
    display: inline-grid;
    width: 2.5rem;
    height: 2.5rem;
    place-items: center;
    border-radius: 50%;
    background: #dff6ef;
    color: var(--primary-dark);
}

.lobby-empty-state h3 {
    margin: 1rem 0 0.45rem;
    color: var(--gray-900);
    font-size: 1.3rem;
}

.lobby-empty-state p {
    max-width: 28rem;
    margin: 0 auto 1.35rem;
    color: var(--gray-600);
}

.create-room-dialog {
    margin: auto;
    width: min(100% - 2rem, 32rem);
    padding: 0;
    border: 0;
    border-radius: var(--radius-md);
    box-shadow: 0 24px 70px rgba(16, 33, 59, 0.3);
}

.create-room-dialog::backdrop {
    background: rgba(16, 33, 59, 0.62);
}

.create-room-dialog-header,
.create-room-form {
    padding: 1.5rem;
}

.create-room-dialog-header {
    display: flex;
    align-items: start;
    justify-content: space-between;
    gap: 1rem;
    border-bottom: 1px solid var(--gray-200);
}

.create-room-dialog h2 {
    font-size: 1.5rem;
}

.dialog-close {
    width: 2rem;
    height: 2rem;
    border-radius: 50%;
    background: var(--gray-100);
    color: var(--gray-700);
    font-size: 1.4rem;
    line-height: 1;
}

.create-room-form {
    display: grid;
    gap: 1rem;
}

.create-room-form label {
    display: grid;
    gap: 0.4rem;
    color: var(--gray-900);
    font-size: 0.85rem;
    font-weight: 700;
}

.create-room-form label small {
    color: var(--gray-600);
    font-size: 0.72rem;
    font-weight: 500;
}

.create-room-form input,
.create-room-form select {
    padding: 0.65rem 0.75rem;
    font-weight: 500;
}

.create-room-actions {
    display: flex;
    justify-content: end;
    gap: 0.75rem;
    margin-top: 0.5rem;
}

.dialog-cancel {
    padding: 0.65rem 1rem;
    border-radius: var(--radius-sm);
    background: var(--gray-100);
    color: var(--gray-700);
}

@media (max-width: 768px) {
    .multiplayer-lobby .lobby-content {
        padding: 2rem 1rem 3rem;
    }

    .lobby-entry-points {
        grid-template-columns: 1fr;
    }

    .lobby-create-panel,
    .lobby-code-panel {
        padding: 1.5rem;
    }

    .lobby-rooms {
        margin-top: 2.5rem;
    }
}

@media (max-width: 480px) {
    .lobby-code-form,
    .create-room-actions {
        flex-direction: column;
    }

    .lobby-join-button,
    .create-room-actions > * {
        width: 100%;
    }

    .lobby-section-heading {
        align-items: start;
        flex-direction: column;
    }
}

/* ========================================
   ROOM MULTIJOUEUR
   ======================================== */

.multiplayer-room {
    background:
        radial-gradient(circle at 86% 12%, rgba(216, 240, 123, 0.18), transparent 22rem),
        linear-gradient(180deg, #eef3f1 0, #f7f5ef 30rem);
}

.room-layout {
    display: grid;
    grid-template-columns: minmax(17rem, 0.78fr) minmax(0, 1.22fr);
    align-items: start;
    gap: 1rem;
    max-width: 68rem;
    padding: 3rem 1.5rem 5rem;
}

.room-panel,
.room-actions-panel,
.room-start-button,
.room-help-text {
    border: 1px solid var(--gray-200);
    border-radius: var(--radius-md);
    background: var(--white);
    box-shadow: 0 8px 20px rgba(16, 33, 59, 0.05);
}

.room-panel {
    padding: 1.5rem;
}

.room-panel-heading {
    display: flex;
    align-items: start;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1.25rem;
}

.room-panel-heading h2 {
    margin: 0;
    color: var(--gray-900);
    font-size: 1.5rem;
    letter-spacing: -0.04em;
}

.room-count,
.room-state-badge,
.room-player-badge,
.room-host-badge {
    display: inline-flex;
    align-items: center;
    min-height: 1.8rem;
    padding: 0.25rem 0.6rem;
    border-radius: 999px;
    font-size: 0.72rem;
    font-weight: 700;
    white-space: nowrap;
}

.room-count,
.room-state-badge {
    background: #dff6ef;
    color: var(--primary-dark);
}

.room-participants-list {
    display: grid;
    gap: 0.65rem;
}

.room-participant {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0.85rem;
    border: 1px solid var(--gray-200);
    border-radius: var(--radius-sm);
    background: #fffdf8;
}

.room-participant-main {
    min-width: 0;
}

.room-participant-name {
    display: flex;
    align-items: center;
    gap: 0.35rem;
    color: var(--gray-900);
    font-weight: 700;
}

.room-participant-status {
    display: block;
    margin-top: 0.15rem;
    color: var(--gray-600);
    font-size: 0.76rem;
}

.room-player-badge {
    background: var(--primary);
    color: var(--white);
}

.room-host-badge {
    background: #fff1d8;
    color: #9a5f09;
}

.room-icon-button {
    display: inline-grid;
    width: 1.5rem;
    height: 1.5rem;
    place-items: center;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: transparent;
    color: var(--gray-600);
    cursor: pointer;
    font: inherit;
}

.room-icon-button:hover {
    background: var(--gray-100);
    color: var(--gray-900);
}

.room-kick-button:hover {
    background: #fee2e2;
    color: #b42318;
}

.room-code-card {
    margin-top: 1.25rem;
    padding: 1rem;
    border-radius: var(--radius-sm);
    background: #edf5f1;
    text-align: center;
}

.room-code-card span,
.room-code-card strong {
    display: block;
}

.room-code-card span {
    color: var(--gray-600);
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.room-code-card strong {
    margin-top: 0.25rem;
    color: var(--primary-dark);
    font-size: 1.65rem;
    letter-spacing: 0.16em;
}

.room-side-column {
    display: grid;
    gap: 1rem;
}

.room-progress {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0.4rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.room-progress li {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    min-width: 0;
    color: var(--gray-600);
    font-size: 0.75rem;
    font-weight: 700;
}

.room-progress span {
    display: inline-grid;
    width: 1.45rem;
    height: 1.45rem;
    flex: 0 0 auto;
    place-items: center;
    border-radius: 50%;
    background: var(--gray-200);
    color: var(--gray-600);
}

.room-progress .is-current,
.room-progress .is-complete {
    color: var(--primary-dark);
}

.room-progress .is-current span {
    background: var(--secondary);
    color: var(--white);
}

.room-progress .is-complete span {
    background: var(--primary);
    color: var(--white);
}

.room-route,
.room-empty-challenge {
    margin: 0;
    padding: 1rem;
    border-radius: var(--radius-sm);
    background: var(--gray-100);
}

.room-route {
    display: flex;
    align-items: center;
    gap: 0.7rem;
    overflow: hidden;
}

.room-route strong {
    min-width: 0;
    overflow: hidden;
    color: var(--gray-900);
    font-size: 1rem;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.room-route strong:first-child {
    color: var(--primary-dark);
}

.room-route strong:last-child {
    color: var(--success);
}

.room-route span {
    flex: 0 0 auto;
    color: var(--secondary);
    font-weight: 700;
}

.room-empty-challenge {
    color: var(--gray-600);
    font-style: italic;
}

.room-route-note {
    margin: 0.7rem 0 0;
    color: var(--gray-600);
    font-size: 0.78rem;
    text-align: center;
}

.room-challenge-picker {
    margin-top: 1rem;
    border-top: 1px solid var(--gray-200);
}

.room-challenge-picker summary {
    padding-top: 1rem;
    color: var(--primary-dark);
    cursor: pointer;
    font-size: 0.85rem;
    font-weight: 700;
}

.room-challenge-options {
    display: grid;
    gap: 0.9rem;
    margin-top: 1rem;
}

.room-challenge-option {
    padding: 0.9rem;
    border: 1px solid var(--gray-200);
    border-radius: var(--radius-sm);
    background: var(--gray-50);
}

.room-challenge-option h3,
.room-challenge-option-kicker {
    margin: 0;
}

.room-challenge-option h3 {
    color: var(--gray-900);
    font-size: 0.95rem;
}

.room-challenge-option-kicker {
    margin-bottom: 0.2rem;
    color: var(--primary-dark);
    font-size: 0.65rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.room-challenge-form {
    display: grid;
    gap: 0.65rem;
    margin-top: 1rem;
}

.room-challenge-form label {
    color: var(--gray-900);
    font-size: 0.78rem;
    font-weight: 700;
}

.room-challenge-form select,
.room-challenge-form input {
    width: 100%;
    min-height: 2.65rem;
    padding: 0.55rem 0.7rem;
    border: 1px solid var(--gray-300);
    border-radius: var(--radius-sm);
    background: var(--white);
    color: var(--gray-900);
    font: inherit;
}

.room-secondary-button,
.room-ready-button,
.room-leave-button,
.room-start-button,
.room-kicked-dialog button {
    min-height: 2.65rem;
    padding: 0.6rem 0.9rem;
    border: 0;
    border-radius: var(--radius-sm);
    cursor: pointer;
    font: inherit;
    font-weight: 700;
}

.room-secondary-button {
    background: var(--gray-100);
    color: var(--primary-dark);
}

.room-challenge-actions {
    display: flex;
    gap: 0.55rem;
}

.room-challenge-actions select {
    min-width: 0;
    flex: 1;
}

.room-custom-challenge-button {
    background: #fff1d8;
    color: #9a5f09;
}

.room-custom-challenge-form {
    grid-template-columns: 1fr 1fr;
}

.room-custom-challenge {
    color: var(--gray-600);
    font-size: 0.82rem;
}

.room-custom-challenge summary {
    cursor: pointer;
    font-weight: 700;
}

.room-custom-challenge-form button {
    grid-column: 1 / -1;
}

.room-autocomplete {
    position: relative;
    display: grid;
    gap: 0.35rem;
}

.room-autocomplete-results {
    position: absolute;
    z-index: 10;
    top: 100%;
    right: 0;
    left: 0;
    display: none;
    max-height: 12rem;
    overflow-y: auto;
    border: 1px solid var(--gray-300);
    border-radius: 0 0 var(--radius-sm) var(--radius-sm);
    background: var(--white);
    box-shadow: 0 10px 24px rgba(16, 33, 59, 0.14);
}

@media (max-width: 620px) {
    .room-challenge-actions,
    .room-custom-challenge-form {
        grid-template-columns: 1fr;
    }

    .room-challenge-actions {
        flex-direction: column;
    }

    .room-custom-challenge-form button {
        grid-column: auto;
    }
}

.autocomplete-item {
    padding: 0.65rem 0.75rem;
    cursor: pointer;
    font-size: 0.85rem;
}

.autocomplete-item:hover,
.autocomplete-item.active {
    background: #edf5f1;
}

.room-actions-panel {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 0.65rem;
    padding: 0.7rem;
}

.room-actions-panel form {
    display: contents;
}

.room-ready-button,
.room-start-button,
.room-kicked-dialog button {
    background: var(--primary);
    color: var(--white);
}

.room-ready-button.is-ready {
    background: #c7353e;
}

.room-ready-button:disabled {
    cursor: not-allowed;
    opacity: 0.5;
}

.room-leave-button {
    background: var(--gray-100);
    color: var(--gray-700);
}

.room-start-button {
    width: 100%;
    min-height: 3.25rem;
    background: var(--secondary);
    font-size: 1rem;
}

.room-start-button:disabled {
    cursor: not-allowed;
    opacity: 0.5;
}

.room-help-text {
    margin: 0;
    padding: 0.85rem 1rem;
    color: var(--gray-600);
    font-size: 0.78rem;
    line-height: 1.5;
}

.room-countdown-overlay,
.room-kicked-overlay {
    position: fixed;
    z-index: 9999;
    inset: 0;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 1.5rem;
    background: rgba(16, 33, 59, 0.78);
}

.room-countdown-overlay > div {
    display: grid;
    gap: 0.5rem;
    color: var(--white);
    text-align: center;
}

.room-countdown-overlay strong {
    font-size: clamp(5rem, 20vw, 8rem);
    line-height: 1;
}

.room-countdown-overlay span {
    font-size: 1.25rem;
    font-weight: 700;
}

.room-kicked-dialog {
    max-width: 25rem;
    padding: 2rem;
    border-radius: var(--radius-md);
    background: var(--white);
    text-align: center;
}

.room-kicked-dialog > span {
    display: inline-grid;
    width: 2.5rem;
    height: 2.5rem;
    place-items: center;
    border-radius: 50%;
    background: #fee2e2;
    color: #b42318;
    font-weight: 700;
}

.room-kicked-dialog h2 {
    margin: 1rem 0 0.5rem;
    color: var(--gray-900);
}

.room-kicked-dialog p {
    margin: 0 0 1.25rem;
    color: var(--gray-600);
}

@media (max-width: 768px) {
    .room-layout {
        grid-template-columns: 1fr;
        padding: 2rem 1rem 3rem;
    }
}

@media (max-width: 480px) {
    .room-panel {
        padding: 1.15rem;
    }

    .room-actions-panel {
        grid-template-columns: 1fr;
    }
}

.home-page .section-title::after {
    color: var(--atlas-teal);
    content: 'Choisissez un itinéraire';
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.home-page .modes-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}

.home-page .mode-card {
    min-height: 16rem;
    padding: 1.75rem;
    border: 1px solid var(--atlas-line);
    border-radius: 1.25rem;
    background: var(--atlas-card);
    box-shadow: 0 1px 0 rgba(16, 33, 59, 0.03);
    text-align: left;
}

.home-page .mode-card.available:hover {
    border-color: var(--atlas-teal);
    box-shadow: var(--atlas-shadow);
    transform: translateY(-5px);
}

.home-page .mode-card.available:focus-visible {
    outline: 3px solid var(--atlas-lime);
    outline-offset: 4px;
}

.home-page .mode-icon {
    width: 3rem;
    height: 3rem;
    margin: 0 0 2.25rem;
    border-radius: 0.9rem;
}

.home-page .mode-card.available .mode-icon {
    background: var(--atlas-teal);
    box-shadow: 0 8px 16px rgba(14, 159, 154, 0.22);
}

.home-page .mode-card.unavailable .mode-icon {
    background: #e3e6e6;
    color: var(--atlas-ink-soft);
}

.home-page .mode-icon svg {
    width: 1.5rem;
    height: 1.5rem;
}

.home-page .mode-title {
    margin-bottom: 0.5rem;
    color: var(--atlas-ink);
    font-size: 1.25rem;
    letter-spacing: -0.025em;
}

.home-page .mode-description {
    margin-bottom: 1.25rem;
    color: var(--atlas-ink-soft);
    font-size: 0.94rem;
    line-height: 1.55;
}

.home-page .mode-status {
    margin-top: auto;
    padding: 0.3rem 0.65rem;
    border: 1px solid #dce2e8;
    border-radius: 999px;
    background: #f1f2ef;
    color: var(--atlas-ink-soft);
    font-size: 0.72rem;
    letter-spacing: 0.03em;
}

.home-page .mode-status.available {
    border-color: rgba(14, 159, 154, 0.2);
    background: #dff6ef;
    color: #087b78;
}

@media (max-width: 720px) {
    .home-page .home-hero {
        display: block;
        padding: 2.5rem 1.5rem;
    }

    .home-page .subtitle {
        margin-top: 1.25rem;
    }

    .home-page .section-title {
        display: block;
    }

    .home-page .section-title::after {
        display: block;
        margin-top: 0.6rem;
    }

    .home-page .modes-grid {
        grid-template-columns: 1fr;
    }
}

/* ========================================
   ACCESSIBILITY
   ======================================== */

.mode-card:focus-visible {
    outline: 3px solid var(--primary);
    outline-offset: 2px;
}

html {
    scroll-behavior: smooth;
}

/* ========================================
   CHALLENGES PAGE
   ======================================== */

.back-link {
    display: inline-flex;
    align-items: center;
    gap: var(--space-sm);
    text-decoration: none;
    font-weight: 500;
    position: absolute;
    top: 1.15rem;
    left: max(1.5rem, calc((100% - 68rem) / 2));
    padding: 0.45rem 0.7rem;
    border: 1px solid rgba(255, 255, 255, 0.22);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.08);
    color: rgba(255, 255, 255, 0.88);
    font-size: 0.82rem;
    transition: background-color 160ms ease, border-color 160ms ease, color 160ms ease;
}

.back-link:hover {
    border-color: rgba(216, 240, 123, 0.65);
    background: rgba(216, 240, 123, 0.14);
    color: var(--white);
}

@media (max-width: 768px) {
    .back-link {
        top: 1rem;
        left: var(--space-md);
    }
}

.challenges-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: var(--space-lg);
}

.solo-challenges-frame {
    display: block;
}

.challenge-filters {
    display: grid;
    grid-template-columns: minmax(14rem, 2fr) repeat(2, minmax(9rem, 1fr)) auto;
    gap: var(--space-md);
    align-items: end;
    margin-bottom: var(--space-xl);
    padding: var(--space-md);
    border: 1px solid var(--gray-200);
    border-radius: var(--radius-md);
    background: var(--white);
}

.challenge-filters label {
    display: grid;
    gap: 0.35rem;
    color: var(--gray-700);
    font-size: 0.8rem;
    font-weight: 700;
}

.challenge-filters :is(input, select) {
    width: 100%;
    min-height: 2.6rem;
    padding: 0.55rem 0.7rem;
    border: 1px solid var(--gray-300);
    border-radius: var(--radius-sm);
    background: var(--white);
    color: var(--gray-900);
    font: inherit;
}

.challenge-filters button {
    min-height: 2.6rem;
    padding: 0.55rem 1rem;
    border: 0;
    border-radius: var(--radius-sm);
    background: var(--primary);
    color: var(--white);
    font: inherit;
    font-weight: 700;
    cursor: pointer;
}

.challenge-filters button:hover {
    background: var(--primary-dark);
}

@media (max-width: 720px) {
    .challenge-filters {
        grid-template-columns: 1fr;
    }
}

.pagination {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: var(--space-md);
    margin-top: var(--space-xl);
}

.pagination-button {
    display: grid;
    width: 2.75rem;
    height: 2.75rem;
    place-items: center;
    border: 1px solid var(--primary);
    border-radius: 50%;
    background: var(--white);
    color: var(--primary-dark);
    cursor: pointer;
    font-size: 1.25rem;
    font-weight: 700;
    text-decoration: none;
    transition: background-color 180ms ease, color 180ms ease, transform 180ms ease;
}

.pagination-button:hover {
    background: var(--primary);
    color: var(--white);
    transform: translateY(-2px);
}

.pagination-button-disabled {
    border-color: var(--gray-200);
    color: var(--gray-400);
}

.pagination-button-disabled:hover {
    background: var(--white);
    color: var(--gray-400);
    transform: none;
}

.pagination-button svg {
    width: 1.25rem;
    height: 1.25rem;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 2.5;
}

.pagination-current {
    color: var(--gray-700);
    font-weight: 700;
    min-width: 4rem;
    text-align: center;
}

.challenge-card {
    background: var(--white);
    border: 1px solid var(--gray-200);
    border-radius: var(--radius-md);
    padding: 0;
    text-decoration: none;
    color: inherit;
    display: flex;
    flex-direction: column;
    transition: border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
    overflow: hidden;
    position: relative;
    height: 100%;
}

.challenge-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: linear-gradient(90deg, var(--primary), var(--secondary));
}

.challenge-card:hover {
    border-color: var(--primary);
    transform: translateY(-4px);
    box-shadow: 0 16px 35px rgba(16, 33, 59, 0.12);
}

.challenge-info {
    flex: 1;
    padding: var(--space-md);
    display: flex;
    flex-direction: column;
    gap: var(--space-sm);
}

.challenge-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: var(--space-sm);
}

.challenge-title {
    font-size: 15px;
    font-weight: 700;
    color: var(--gray-900);
    flex: 1;
    line-height: 1.4;
}

.difficulty-badge {
    padding: 3px 10px;
    border-radius: 20px;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    flex-shrink: 0;
    letter-spacing: 0.5px;
}

.difficulty-facile {
    background: #D1FAE5;
    color: #065F46;
}

.difficulty-moyen {
    background: #FEF3C7;
    color: #92400E;
}

.difficulty-difficile {
    background: #FEE2E2;
    color: #991B1B;
}

.challenge-route-compact {
    display: flex;
    align-items: center;
    gap: var(--space-sm);
    font-size: 13px;
    color: var(--gray-700);
    margin-bottom: var(--space-md);
    overflow: hidden;
}

.route-page-compact {
    flex-shrink: 1;
    min-width: 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.route-arrow-compact {
    flex-shrink: 0;
    color: var(--primary);
    font-weight: 600;
}

.challenge-route {
    display: flex;
    align-items: center;
    gap: var(--space-md);
    margin-bottom: var(--space-lg);
    padding: var(--space-lg);
    background: var(--gray-100);
    border-radius: var(--radius-sm);
}

.route-point {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: var(--space-sm);
}

.route-label {
    font-size: 11px;
    color: var(--gray-600);
    text-transform: uppercase;
    font-weight: 600;
    letter-spacing: 0.5px;
}

.route-page {
    display: flex;
    align-items: center;
    gap: var(--space-sm);
    font-weight: 600;
    font-size: 15px;
    color: var(--gray-900);
}

.route-page.start {
    color: var(--primary);
}

.route-page.end {
    color: var(--success);
}

.route-arrow {
    flex-shrink: 0;
    color: var(--gray-400);
}

/* Challenge Results */
.challenge-result {
    display: flex;
    flex-direction: column;
    gap: var(--space-md);
    padding: var(--space-md);
    margin-top: auto;
    background: linear-gradient(135deg, #F9FAFB 0%, #F3F4F6 100%);
    border-top: 1px solid var(--gray-200);
}

.result-badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 12px;
    border-radius: 20px;
    font-size: 13px;
    font-weight: 700;
    text-align: center;
    width: fit-content;
}

.result-badge.completed {
    background: linear-gradient(135deg, #D1FAE5 0%, #A7F3D0 100%);
    color: #065F46;
}

.result-badge.completed::before {
    content: '✓';
    font-weight: 800;
    font-size: 14px;
}

.result-badge.pending {
    background: var(--gray-200);
    color: var(--gray-600);
}

.result-badge.pending::before {
    content: '⚪';
    font-size: 12px;
}

.result-stats {
    display: flex;
    gap: var(--space-md);
    font-size: 12px;
}

.stat-item {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.stat-label {
    color: var(--gray-600);
    text-transform: uppercase;
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 0.3px;
}

.stat-value {
    color: var(--primary);
    font-weight: 700;
    font-size: 14px;
}

.challenge-action {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: var(--space-md) var(--space-lg);
    background: linear-gradient(135deg, var(--primary) 0%, var(--primary-dark) 100%);
    color: var(--white);
    border-radius: var(--radius-sm);
    font-weight: 600;
}

.challenge-card:hover .challenge-action {
    background: linear-gradient(135deg, var(--primary-dark) 0%, var(--primary) 100%);
}

.action-text {
    font-size: 15px;
}

/* Empty State */
.empty-state {
    text-align: center;
    padding: var(--space-3xl);
    color: var(--gray-600);
}

.empty-state svg {
    margin-bottom: var(--space-lg);
    color: var(--gray-400);
}

.empty-state h3 {
    font-size: 24px;
    color: var(--gray-900);
    margin-bottom: var(--space-sm);
}

.empty-state p {
    font-size: 16px;
}

/* Responsive - Challenges */
@media (max-width: 768px) {
    .challenges-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .challenge-route {
        flex-direction: column;
        gap: var(--space-lg);
    }

    .route-arrow {
        transform: rotate(90deg);
    }

    .route-point {
        width: 100%;
    }
}

@media (max-width: 480px) {
    .challenges-grid {
        grid-template-columns: 1fr;
    }

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

    .challenge-header {
        flex-direction: column;
        align-items: flex-start;
    }

    .challenge-title {
        font-size: 14px;
    }

    .difficulty-badge {
        font-size: 10px;
        padding: 2px 6px;
    }

    .challenge-route-compact {
        font-size: 12px;
    }

    .stat-item {
        font-size: 11px;
    }
}


/*# sourceMappingURL=data:application/json;charset=utf-8;base64,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QUM1Qjs7SUFFQTtRQUNJLHNCQUFzQjtRQUN0Qix1QkFBdUI7SUFDM0I7O0lBRUE7UUFDSSxlQUFlO0lBQ25COztJQUVBO1FBQ0ksZUFBZTtRQUNmLGdCQUFnQjtJQUNwQjs7SUFFQTtRQUNJLGVBQWU7SUFDbkI7O0lBRUE7UUFDSSxlQUFlO0lBQ25CO0FBQ0oiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9hc3NldHMvc3R5bGVzL2xhbmRpbmcuY3NzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIExBTkRJTkcgUEFHRSAtIFNJTVBMRVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG46cm9vdCB7XG4gICAgLS1wcmltYXJ5OiAjMGU5ZjlhO1xuICAgIC0tcHJpbWFyeS1kYXJrOiAjMDg3Yjc4O1xuICAgIC0tc2Vjb25kYXJ5OiAjZTk5YjIyO1xuICAgIC0tYWNjZW50OiAjZTk5YjIyO1xuICAgIC0tc3VjY2VzczogIzE5OGY2YjtcblxuICAgIC0tZ3JheS05MDA6ICMxYjJkNDY7XG4gICAgLS1ncmF5LTcwMDogIzUyNjQ3YjtcbiAgICAtLWdyYXktNjAwOiAjNjY3ODhlO1xuICAgIC0tZ3JheS01MDA6ICM3YzhkYTE7XG4gICAgLS1ncmF5LTQwMDogIzlhYThiNztcbiAgICAtLWdyYXktMzAwOiAjY2JkNWRmO1xuICAgIC0tZ3JheS0yMDA6ICNkY2UyZTg7XG4gICAgLS1ncmF5LTEwMDogI2VkZjFmMztcbiAgICAtLXdoaXRlOiAjZmZmZGY4O1xuXG4gICAgLS1zcGFjZS14czogNHB4O1xuICAgIC0tc3BhY2Utc206IDhweDtcbiAgICAtLXNwYWNlLW1kOiAxNnB4O1xuICAgIC0tc3BhY2UtbGc6IDI0cHg7XG4gICAgLS1zcGFjZS14bDogMzJweDtcbiAgICAtLXNwYWNlLTJ4bDogNDhweDtcbiAgICAtLXNwYWNlLTN4bDogNjRweDtcblxuICAgIC0tcmFkaXVzLXNtOiAxMHB4O1xuICAgIC0tcmFkaXVzLW1kOiAxNnB4O1xufVxuXG4qIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG5ib2R5IHtcbiAgICBmb250LWZhbWlseTogJ0ludGVyJywgLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCAnU2Vnb2UgVUknLCBzYW5zLXNlcmlmO1xuICAgIGNvbG9yOiB2YXIoLS1ncmF5LTkwMCk7XG4gICAgYmFja2dyb3VuZDogI2Y3ZjVlZjtcbiAgICBsaW5lLWhlaWdodDogMS42O1xufVxuXG4vKiBSw6lzdWx0YXRzIG11bHRpam91ZXVyICovXG4ubXVsdGlwbGF5ZXItcmVzdWx0cyB7XG4gICAgd2lkdGg6IG1pbigxMDAlIC0gMnJlbSwgNjhyZW0pO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIHBhZGRpbmc6IDRyZW0gMDtcbn1cblxuLm11bHRpcGxheWVyLXJlc3VsdHMtaGVybyB7XG4gICAgcGFkZGluZzogMi41cmVtO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1tZCk7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEyNWRlZywgIzEwMjEzYiwgIzE3MzY1NyA2NSUsICMwZTc3NzgpO1xuICAgIGNvbG9yOiB2YXIoLS13aGl0ZSk7XG59XG5cbi5tdWx0aXBsYXllci1yZXN1bHRzLWhlcm8gLmxvYmJ5LWV5ZWJyb3cge1xuICAgIGNvbG9yOiAjZDhmMDdiO1xufVxuXG4ubXVsdGlwbGF5ZXItcmVzdWx0cy1oZXJvIGgxIHtcbiAgICBtYXJnaW46IDAuNHJlbSAwO1xuICAgIGZvbnQtc2l6ZTogY2xhbXAoMi4yNXJlbSwgNnZ3LCA0cmVtKTtcbiAgICBsZXR0ZXItc3BhY2luZzogLTAuMDZlbTtcbiAgICBsaW5lLWhlaWdodDogMC45NTtcbn1cblxuLm11bHRpcGxheWVyLXJlc3VsdHMtaGVybyA+IHA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luOiAxcmVtIDAgMDtcbiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjc4KTtcbn1cblxuLm11bHRpcGxheWVyLXBvZGl1bSB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLCAxZnIpO1xuICAgIGdhcDogMXJlbTtcbiAgICBhbGlnbi1pdGVtczogZW5kO1xuICAgIG1hcmdpbjogMS41cmVtIDA7XG59XG5cbi5tdWx0aXBsYXllci1wb2RpdW0tcGxhY2Uge1xuICAgIHBhZGRpbmc6IDEuNHJlbSAxcmVtO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWdyYXktMjAwKTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbWQpO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLXdoaXRlKTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5tdWx0aXBsYXllci1wb2RpdW0tcGxhY2UtLTEge1xuICAgIG9yZGVyOiAyO1xuICAgIHBhZGRpbmctYmxvY2s6IDJyZW07XG4gICAgYm9yZGVyLWNvbG9yOiAjZTdiZjQ1O1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxNDVkZWcsICNmZmY5ZTcsICNmZmZkZjgpO1xuICAgIGJveC1zaGFkb3c6IDAgMTJweCAyNXB4IHJnYmEoMTg1LCAxMzUsIDIwLCAwLjE1KTtcbn1cblxuLm11bHRpcGxheWVyLXBvZGl1bS1wbGFjZS0tMiB7IG9yZGVyOiAxOyB9XG4ubXVsdGlwbGF5ZXItcG9kaXVtLXBsYWNlLS0zIHsgb3JkZXI6IDM7IH1cblxuLm11bHRpcGxheWVyLXBvZGl1bS1tZWRhbCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1zaXplOiAycmVtO1xufVxuXG4ubXVsdGlwbGF5ZXItcG9kaXVtLXBsYWNlIHAsXG4ubXVsdGlwbGF5ZXItcG9kaXVtLXBsYWNlIGgyLFxuLm11bHRpcGxheWVyLXBvZGl1bS1wbGFjZSBzcGFuOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbjogMC4zcmVtIDAgMDtcbn1cblxuLm11bHRpcGxheWVyLXBvZGl1bS1wbGFjZSBwIHtcbiAgICBjb2xvcjogdmFyKC0tZ3JheS02MDApO1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbi5tdWx0aXBsYXllci1wb2RpdW0tcGxhY2UgaDIge1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbn1cblxuLm11bHRpcGxheWVyLXBvZGl1bS1wbGFjZSBzcGFuOmxhc3QtY2hpbGQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGNvbG9yOiB2YXIoLS1wcmltYXJ5LWRhcmspO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgZm9udC12YXJpYW50LW51bWVyaWM6IHRhYnVsYXItbnVtcztcbn1cblxuLm11bHRpcGxheWVyLXJhbmtpbmcge1xuICAgIHBhZGRpbmc6IDJyZW07XG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tZ3JheS0yMDApO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1tZCk7XG4gICAgYmFja2dyb3VuZDogdmFyKC0td2hpdGUpO1xufVxuXG4ubXVsdGlwbGF5ZXItcmVzdWx0cy1zZWN0aW9uLWhlYWRpbmcge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGdhcDogMXJlbTtcbiAgICBhbGlnbi1pdGVtczogZW5kO1xuICAgIG1hcmdpbi1ib3R0b206IDEuMjVyZW07XG59XG5cbi5tdWx0aXBsYXllci1yZXN1bHRzLXNlY3Rpb24taGVhZGluZyBoMiB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGZvbnQtc2l6ZTogMS41cmVtO1xufVxuXG4ubXVsdGlwbGF5ZXItcmVzdWx0cy1zZWN0aW9uLWhlYWRpbmcgPiBwIHtcbiAgICBtYXJnaW46IDA7XG4gICAgY29sb3I6IHZhcigtLWdyYXktNjAwKTtcbiAgICBmb250LXNpemU6IDAuODVyZW07XG59XG5cbi5tdWx0aXBsYXllci1yYW5raW5nLWxpc3Qge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ2FwOiAwLjdyZW07XG59XG5cbi5tdWx0aXBsYXllci1yZXN1bHQtcm93IHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWdyYXktMjAwKTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtc20pO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWdyYXktNTApO1xufVxuXG4ubXVsdGlwbGF5ZXItcmVzdWx0LXJvdy0tY3VycmVudCB7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1wcmltYXJ5KTtcbiAgICBib3gtc2hhZG93OiAwIDAgMCAycHggcmdiYSgxNCwgMTU5LCAxNTQsIDAuMTIpO1xufVxuXG4ubXVsdGlwbGF5ZXItcmVzdWx0LXJvdy0tcGVuZGluZyB7XG4gICAgb3BhY2l0eTogMC43Mjtcbn1cblxuLm11bHRpcGxheWVyLXJlc3VsdC1yb3cgc3VtbWFyeSB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDIuNXJlbSBtaW5tYXgoMCwgMWZyKSBhdXRvIGF1dG8gMS4ycmVtO1xuICAgIGdhcDogMC45cmVtO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgbWluLWhlaWdodDogNC44cmVtO1xuICAgIHBhZGRpbmc6IDAuOHJlbSAxcmVtO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xufVxuXG4ubXVsdGlwbGF5ZXItcmVzdWx0LXJvdyBzdW1tYXJ5Ojotd2Via2l0LWRldGFpbHMtbWFya2VyIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG4ubXVsdGlwbGF5ZXItcmVzdWx0LXJvdyBzdW1tYXJ5OmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjZThmOGY1O1xufVxuXG4ubXVsdGlwbGF5ZXItcmVzdWx0LXBvc2l0aW9uIHtcbiAgICBjb2xvcjogdmFyKC0tcHJpbWFyeS1kYXJrKTtcbiAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDgwMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5tdWx0aXBsYXllci1yZXN1bHQtcGxheWVyIHN0cm9uZyxcbi5tdWx0aXBsYXllci1yZXN1bHQtcGxheWVyIHNtYWxsLFxuLm11bHRpcGxheWVyLXJlc3VsdC1zdGF0IHNtYWxsIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbn1cblxuLm11bHRpcGxheWVyLXJlc3VsdC1wbGF5ZXIgc21hbGwsXG4ubXVsdGlwbGF5ZXItcmVzdWx0LXN0YXQgc21hbGwge1xuICAgIG1hcmdpbi10b3A6IDAuMXJlbTtcbiAgICBjb2xvcjogdmFyKC0tZ3JheS02MDApO1xuICAgIGZvbnQtc2l6ZTogMC43cmVtO1xufVxuXG4ubXVsdGlwbGF5ZXItcmVzdWx0LXN0YXQge1xuICAgIGNvbG9yOiB2YXIoLS1ncmF5LTkwMCk7XG4gICAgZm9udC1zaXplOiAwLjk1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgZm9udC12YXJpYW50LW51bWVyaWM6IHRhYnVsYXItbnVtcztcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbn1cblxuLm11bHRpcGxheWVyLXJlc3VsdC1leHBhbmQge1xuICAgIGNvbG9yOiB2YXIoLS1wcmltYXJ5LWRhcmspO1xuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMTYwbXMgZWFzZTtcbn1cblxuLm11bHRpcGxheWVyLXJlc3VsdC1yb3dbb3Blbl0gLm11bHRpcGxheWVyLXJlc3VsdC1leHBhbmQge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG59XG5cbi5tdWx0aXBsYXllci1yZXN1bHQtcm91dGUge1xuICAgIHBhZGRpbmc6IDAgMXJlbSAxcmVtO1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1ncmF5LTIwMCk7XG59XG5cbi5tdWx0aXBsYXllci1yZXN1bHQtcm91dGUgLmxvYmJ5LWV5ZWJyb3cge1xuICAgIG1hcmdpbjogMXJlbSAwIDAuNXJlbTtcbn1cblxuLm11bHRpcGxheWVyLXJlc3VsdC1ncmFwaCB7XG4gICAgbWluLWhlaWdodDogMTByZW07XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0td2hpdGUpO1xufVxuXG4ubXVsdGlwbGF5ZXItcmVzdWx0cy1hY3Rpb25zIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgZ2FwOiAwLjc1cmVtO1xuICAgIG1hcmdpbi10b3A6IDEuMjVyZW07XG59XG5cbi5tdWx0aXBsYXllci1yZXN1bHRzLWFjdGlvbnMgYSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4vKiBSw6lzdWx0YXRzIHByb3Zpc29pcmVzIDogbcOqbWVzIHJlcMOocmVzIHF1ZSBsZSBjbGFzc2VtZW50IGZpbmFsLCBkb25uw6llcyBlbiBkaXJlY3QuICovXG4ubXVsdGlwbGF5ZXItbGl2ZS1yZXN1bHRzLWhlcm8ge1xuICAgIHBhZGRpbmctYm90dG9tOiAxLjc1cmVtO1xufVxuXG4ubXVsdGlwbGF5ZXItbGl2ZS1zdGF0cyB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLCBtaW5tYXgoMCwgMWZyKSk7XG4gICAgZ2FwOiAwLjc1cmVtO1xuICAgIG1hcmdpbjogMS43NXJlbSAwIDA7XG59XG5cbi5tdWx0aXBsYXllci1saXZlLXN0YXRzIGRpdiB7XG4gICAgcGFkZGluZy10b3A6IDAuN3JlbTtcbiAgICBib3JkZXItdG9wOiAycHggc29saWQgI2Q4ZjA3Yjtcbn1cblxuLm11bHRpcGxheWVyLWxpdmUtc3RhdHMgZHQge1xuICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNjgpO1xuICAgIGZvbnQtc2l6ZTogMC42NnJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjA4ZW07XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuLm11bHRpcGxheWVyLWxpdmUtc3RhdHMgZGQge1xuICAgIG1hcmdpbjogMC4ycmVtIDAgMDtcbiAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDgwMDtcbiAgICBmb250LXZhcmlhbnQtbnVtZXJpYzogdGFidWxhci1udW1zO1xufVxuXG4ubXVsdGlwbGF5ZXItbGl2ZS1yb3V0ZSxcbi5tdWx0aXBsYXllci1saXZlLWNvbXBldGl0b3JzIHtcbiAgICBtYXJnaW4tdG9wOiAxLjI1cmVtO1xufVxuXG4ubXVsdGlwbGF5ZXItbGl2ZS1jb21wZXRpdG9yLWxpc3Qge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maXQsIG1pbm1heCgxNnJlbSwgMWZyKSk7XG4gICAgZ2FwOiAwLjhyZW07XG59XG5cbi5tdWx0aXBsYXllci1saXZlLWNvbXBldGl0b3Ige1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tZ3JheS0yMDApO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zbSk7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tZ3JheS01MCk7XG59XG5cbi5tdWx0aXBsYXllci1saXZlLWNvbXBldGl0b3IgaGVhZGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBnYXA6IDAuNzVyZW07XG4gICAgcGFkZGluZzogMC44cmVtIDAuOXJlbTtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tZ3JheS0yMDApO1xufVxuXG4ubXVsdGlwbGF5ZXItbGl2ZS1jb21wZXRpdG9yIGgzLFxuLm11bHRpcGxheWVyLWxpdmUtY29tcGV0aXRvciBwIHtcbiAgICBtYXJnaW46IDA7XG59XG5cbi5tdWx0aXBsYXllci1saXZlLWNvbXBldGl0b3IgaDMge1xuICAgIGZvbnQtc2l6ZTogMC45NXJlbTtcbn1cblxuLm11bHRpcGxheWVyLWxpdmUtY29tcGV0aXRvciBwIHtcbiAgICBjb2xvcjogdmFyKC0tZ3JheS02MDApO1xuICAgIGZvbnQtc2l6ZTogMC43MnJlbTtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbn1cblxuLm11bHRpcGxheWVyLWxpdmUtbWluaS1ncmFwaCB7XG4gICAgbWF4LWhlaWdodDogMTJyZW07XG4gICAgcGFkZGluZzogMC41cmVtIDAuNzVyZW07XG4gICAgb3ZlcmZsb3c6IGF1dG87XG59XG5cbi5tdWx0aXBsYXllci1saXZlLW1pbmktZ3JhcGggc3ZnIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtaW4td2lkdGg6IDEwMCU7XG59XG5cbi5tdWx0aXBsYXllci1saXZlLWNvbXBldGl0b3IuaXMtZmluaXNoZWQtbm93IHtcbiAgICBhbmltYXRpb246IG11bHRpcGxheWVyLWxpdmUtZmluaXNoIDAuOXMgZWFzZSBib3RoO1xufVxuXG5Aa2V5ZnJhbWVzIG11bHRpcGxheWVyLWxpdmUtZmluaXNoIHtcbiAgICAwJSB7IHRyYW5zZm9ybTogc2NhbGUoMC45Nik7IGJhY2tncm91bmQ6ICNmZmY0Y2I7IH1cbiAgICA2NSUgeyB0cmFuc2Zvcm06IHNjYWxlKDEuMDIpOyBiYWNrZ3JvdW5kOiAjZThmOGY1OyB9XG4gICAgMTAwJSB7IHRyYW5zZm9ybTogc2NhbGUoMSk7IGJhY2tncm91bmQ6IHZhcigtLWdyYXktNTApOyB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA2MjBweCkge1xuICAgIC5tdWx0aXBsYXllci1yZXN1bHRzIHtcbiAgICAgICAgd2lkdGg6IG1pbigxMDAlIC0gMXJlbSwgNjhyZW0pO1xuICAgICAgICBwYWRkaW5nOiAxcmVtIDAgMnJlbTtcbiAgICB9XG5cbiAgICAubXVsdGlwbGF5ZXItcmVzdWx0cy1oZXJvLFxuICAgIC5tdWx0aXBsYXllci1yYW5raW5nIHtcbiAgICAgICAgcGFkZGluZzogMS4yNXJlbTtcbiAgICB9XG5cbiAgICAubXVsdGlwbGF5ZXItcmVzdWx0cy1zZWN0aW9uLWhlYWRpbmcge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICAubXVsdGlwbGF5ZXItcmVzdWx0cy1zZWN0aW9uLWhlYWRpbmcgPiBwIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMC41cmVtO1xuICAgIH1cblxuICAgIC5tdWx0aXBsYXllci1yZXN1bHQtcm93IHN1bW1hcnkge1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDJyZW0gbWlubWF4KDAsIDFmcikgMXJlbTtcbiAgICB9XG5cbiAgICAubXVsdGlwbGF5ZXItcmVzdWx0LXN0YXQge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC5tdWx0aXBsYXllci1saXZlLXN0YXRzIHtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG4gICAgfVxufVxuXG4ubGFuZGluZy1jb250YWluZXIge1xuICAgIG1pbi1oZWlnaHQ6IDEwMHZoO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgSEVBREVSXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5oZWFkZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogbWlubWF4KDAsIDFmcikgbWlubWF4KDE3cmVtLCAwLjY1ZnIpO1xuICAgIGFsaWduLWl0ZW1zOiBlbmQ7XG4gICAgZ2FwOiAxLjVyZW0gM3JlbTtcbiAgICBwYWRkaW5nOiA0LjVyZW0gbWF4KDEuNXJlbSwgY2FsYygoMTAwJSAtIDY4cmVtKSAvIDIpKSAyLjc1cmVtO1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMjNkZWcsICMxMDIxM2IgMCUsICMxNzM2NTcgNjAlLCAjMGU3Nzc4IDE0NSUpO1xuICAgIGNvbG9yOiB2YXIoLS13aGl0ZSk7XG59XG5cbi5tYWluLXRpdGxlIHtcbiAgICBmb250LXNpemU6IDQ4cHg7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBtYXJnaW46IDA7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC0wLjA1NWVtO1xuICAgIGxpbmUtaGVpZ2h0OiAwLjk4O1xufVxuXG4uc3VidGl0bGUge1xuICAgIG1heC13aWR0aDogMjVyZW07XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDAuMnJlbSAwIDAuMnJlbSAxLjM1cmVtO1xuICAgIGJvcmRlci1sZWZ0OiAycHggc29saWQgI2Q4ZjA3YjtcbiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjgpO1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS42O1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBHQU1FIE1PREVTXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5nYW1lLW1vZGVzIHtcbiAgICBmbGV4OiAxO1xuICAgIG1heC13aWR0aDogMTIwMHB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLTN4bCkgdmFyKC0tc3BhY2UtbGcpO1xufVxuXG4uc2VjdGlvbi10aXRsZSB7XG4gICAgZm9udC1zaXplOiAzMnB4O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlLTJ4bCk7XG4gICAgY29sb3I6IHZhcigtLWdyYXktOTAwKTtcbn1cblxuLm1vZGVzLWdyaWQge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maXQsIG1pbm1heCgzMDBweCwgMWZyKSk7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS1sZyk7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIE1PREUgQ0FSRFNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLm1vZGUtY2FyZCB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0td2hpdGUpO1xuICAgIGJvcmRlcjogMnB4IHNvbGlkIHZhcigtLWdyYXktMjAwKTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbWQpO1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLXhsKTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLm1vZGUtY2FyZC5hdmFpbGFibGUge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5tb2RlLWNhcmQuYXZhaWxhYmxlOmhvdmVyIHtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLXByaW1hcnkpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNHB4KTtcbiAgICBib3gtc2hhZG93OiAwIDhweCAyNHB4IHJnYmEoOTksIDEwMiwgMjQxLCAwLjIpO1xufVxuXG4ubW9kZS1jYXJkLmF2YWlsYWJsZSAubW9kZS1pY29uIHtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCB2YXIoLS1wcmltYXJ5KSAwJSwgdmFyKC0tcHJpbWFyeS1kYXJrKSAxMDAlKTtcbn1cblxuLm1vZGUtY2FyZC51bmF2YWlsYWJsZSB7XG4gICAgb3BhY2l0eTogMC42O1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG59XG5cbi5tb2RlLWNhcmQudW5hdmFpbGFibGUgLm1vZGUtaWNvbiB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tZ3JheS0zMDApO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBNT0RFIENBUkQgQ09OVEVOVFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4ubW9kZS1pY29uIHtcbiAgICB3aWR0aDogODBweDtcbiAgICBoZWlnaHQ6IDgwcHg7XG4gICAgbWFyZ2luOiAwIGF1dG8gdmFyKC0tc3BhY2UtbGcpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1tZCk7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGNvbG9yOiB2YXIoLS13aGl0ZSk7XG59XG5cbi5tb2RlLXRpdGxlIHtcbiAgICBmb250LXNpemU6IDIycHg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS1zbSk7XG4gICAgY29sb3I6IHZhcigtLWdyYXktOTAwKTtcbn1cblxuLm1vZGUtZGVzY3JpcHRpb24ge1xuICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICBjb2xvcjogdmFyKC0tZ3JheS02MDApO1xuICAgIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlLWxnKTtcbiAgICBsaW5lLWhlaWdodDogMS42O1xufVxuXG4ubW9kZS1zdGF0dXMge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS14cykgdmFyKC0tc3BhY2UtbWQpO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWdyYXktMTAwKTtcbiAgICBjb2xvcjogdmFyKC0tZ3JheS02MDApO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zbSk7XG4gICAgZm9udC1zaXplOiAxM3B4O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG59XG5cbi5tb2RlLXN0YXR1cy5hdmFpbGFibGUge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLXN1Y2Nlc3MpO1xuICAgIGNvbG9yOiB2YXIoLS13aGl0ZSk7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFJFU1BPTlNJVkVcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgLmhlYWRlciB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwYWRkaW5nOiA0cmVtIHZhcigtLXNwYWNlLW1kKSAyLjVyZW07XG4gICAgfVxuXG4gICAgLm1haW4tdGl0bGUge1xuICAgICAgICBmb250LXNpemU6IDM2cHg7XG4gICAgfVxuXG4gICAgLnN1YnRpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICBtYXJnaW4tdG9wOiAxLjI1cmVtO1xuICAgIH1cblxuICAgIC5zZWN0aW9uLXRpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgIH1cblxuICAgIC5tb2Rlcy1ncmlkIHtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG4gICAgICAgIGdhcDogdmFyKC0tc3BhY2UtbWQpO1xuICAgIH1cblxuICAgIC5nYW1lLW1vZGVzIHtcbiAgICAgICAgcGFkZGluZzogdmFyKC0tc3BhY2UtMnhsKSB2YXIoLS1zcGFjZS1tZCk7XG4gICAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNDgwcHgpIHtcbiAgICAubWFpbi10aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMzJweDtcbiAgICB9XG5cbiAgICAubW9kZS1jYXJkIHtcbiAgICAgICAgcGFkZGluZzogdmFyKC0tc3BhY2UtbGcpO1xuICAgIH1cblxuICAgIC5tb2RlLWljb24ge1xuICAgICAgICB3aWR0aDogNjRweDtcbiAgICAgICAgaGVpZ2h0OiA2NHB4O1xuICAgIH1cblxuICAgIC5tb2RlLWljb24gc3ZnIHtcbiAgICAgICAgd2lkdGg6IDM2cHg7XG4gICAgICAgIGhlaWdodDogMzZweDtcbiAgICB9XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEFDQ1VFSUwg4oCUIENIQVJURSBcIkFUTEFTIE5PQ1RVUk5FXCJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmhvbWUtcGFnZSB7XG4gICAgLS1hdGxhcy1pbms6ICMxMDIxM2I7XG4gICAgLS1hdGxhcy1pbmstc29mdDogIzRiNWQ3NTtcbiAgICAtLWF0bGFzLW5hdnk6ICMwYzFiMzM7XG4gICAgLS1hdGxhcy1wYXBlcjogI2Y3ZjVlZjtcbiAgICAtLWF0bGFzLWNhcmQ6ICNmZmZkZjg7XG4gICAgLS1hdGxhcy1saW5lOiAjZGNlMmU4O1xuICAgIC0tYXRsYXMtdGVhbDogIzBlOWY5YTtcbiAgICAtLWF0bGFzLXRlYWwtZGFyazogIzA4N2I3ODtcbiAgICAtLWF0bGFzLWxpbWU6ICNkOGYwN2I7XG4gICAgLS1hdGxhcy1hbWJlcjogI2Y2YmQzYjtcbiAgICAtLWF0bGFzLXNoYWRvdzogMCAxOHB4IDQ1cHggcmdiYSgxNiwgMzMsIDU5LCAwLjEpO1xuICAgIGJhY2tncm91bmQ6XG4gICAgICAgIHJhZGlhbC1ncmFkaWVudChjaXJjbGUgYXQgMTQlIDAlLCByZ2JhKDIxNiwgMjQwLCAxMjMsIDAuMjUpLCB0cmFuc3BhcmVudCAyNHJlbSksXG4gICAgICAgIGxpbmVhci1ncmFkaWVudCgxODBkZWcsICNlZGYyZjIgMCwgdmFyKC0tYXRsYXMtcGFwZXIpIDI0cmVtKTtcbiAgICBjb2xvcjogdmFyKC0tYXRsYXMtaW5rKTtcbn1cblxuLmhvbWUtcGFnZSAuaG9tZS1oZXJvIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgaXNvbGF0aW9uOiBpc29sYXRlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IG1pbm1heCgwLCAxZnIpIG1pbm1heCgxN3JlbSwgMC42NWZyKTtcbiAgICBhbGlnbi1pdGVtczogZW5kO1xuICAgIGdhcDogM3JlbTtcbiAgICBwYWRkaW5nOiAyLjc1cmVtIG1heCgxLjVyZW0sIGNhbGMoKDEwMCUgLSA2OHJlbSkgLyAyKSk7XG4gICAgYmFja2dyb3VuZDpcbiAgICAgICAgcmFkaWFsLWdyYWRpZW50KGNpcmNsZSBhdCA3NiUgMjIlLCByZ2JhKDIxNiwgMjQwLCAxMjMsIDAuMjIpLCB0cmFuc3BhcmVudCAxNXJlbSksXG4gICAgICAgIGxpbmVhci1ncmFkaWVudCgxMjNkZWcsICMxMDIxM2IgMCUsICMxNzM2NTcgNTglLCAjMGU3Nzc4IDE0NSUpO1xufVxuXG4uaG9tZS1wYWdlIC5ob21lLWhlcm86OmJlZm9yZSxcbi5ob21lLXBhZ2UgLmhvbWUtaGVybzo6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiAtMTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTYpO1xuICAgIGJvcmRlci1yYWRpdXM6IDk5OXB4O1xuICAgIGNvbnRlbnQ6ICcnO1xufVxuXG4uaG9tZS1wYWdlIC5ob21lLWhlcm86OmJlZm9yZSB7XG4gICAgd2lkdGg6IDI0cmVtO1xuICAgIGhlaWdodDogMjRyZW07XG4gICAgcmlnaHQ6IC04cmVtO1xuICAgIHRvcDogLTE1cmVtO1xufVxuXG4uaG9tZS1wYWdlIC5ob21lLWhlcm86OmFmdGVyIHtcbiAgICB3aWR0aDogMTZyZW07XG4gICAgaGVpZ2h0OiAxNnJlbTtcbiAgICByaWdodDogOCU7XG4gICAgYm90dG9tOiAtMTJyZW07XG59XG5cbi5ob21lLXBhZ2UgLmhvbWUtaGVybyA+ICoge1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG1hcmdpbjogMDtcbn1cblxuLmhvbWUtcGFnZSAubWFpbi10aXRsZSB7XG4gICAgbWF4LXdpZHRoOiAzNHJlbTtcbiAgICBmb250LXNpemU6IGNsYW1wKDIuNHJlbSwgNXZ3LCA0LjI1cmVtKTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGxldHRlci1zcGFjaW5nOiAtMC4wNzVlbTtcbiAgICBsaW5lLWhlaWdodDogMC45NTtcbn1cblxuLmhvbWUtcGFnZSAuc3VidGl0bGUge1xuICAgIG1heC13aWR0aDogMjVyZW07XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDAuMnJlbSAwIDAuMnJlbSAxLjM1cmVtO1xuICAgIGJvcmRlci1sZWZ0OiAycHggc29saWQgdmFyKC0tYXRsYXMtbGltZSk7XG4gICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC44KTtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuNjtcbn1cblxuLmhvbWUtcGFnZSAuZ2FtZS1tb2RlcyB7XG4gICAgbWF4LXdpZHRoOiA2OHJlbTtcbiAgICBwYWRkaW5nOiAzLjI1cmVtIDEuNXJlbSA1cmVtO1xufVxuXG4uaG9tZS1wYWdlIC5zZWN0aW9uLXRpdGxlIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgbWFyZ2luLWJvdHRvbTogMS43NXJlbTtcbiAgICBjb2xvcjogdmFyKC0tYXRsYXMtaW5rKTtcbiAgICBmb250LXNpemU6IGNsYW1wKDEuNzVyZW0sIDR2dywgMi41cmVtKTtcbiAgICBsZXR0ZXItc3BhY2luZzogLTAuMDQ1ZW07XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgTE9CQlkgTVVMVElKT1VFVVJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLm11bHRpcGxheWVyLWxvYmJ5IHtcbiAgICBiYWNrZ3JvdW5kOlxuICAgICAgICByYWRpYWwtZ3JhZGllbnQoY2lyY2xlIGF0IDgyJSAxNCUsIHJnYmEoMjE2LCAyNDAsIDEyMywgMC4xNyksIHRyYW5zcGFyZW50IDIzcmVtKSxcbiAgICAgICAgbGluZWFyLWdyYWRpZW50KDE4MGRlZywgI2VlZjNmMSAwLCAjZjdmNWVmIDMwcmVtKTtcbn1cblxuLm11bHRpcGxheWVyLWxvYmJ5IC5sb2JieS1jb250ZW50IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgbWF4LXdpZHRoOiA2OHJlbTtcbiAgICBwYWRkaW5nOiAzcmVtIDEuNXJlbSA1cmVtO1xufVxuXG4ubXVsdGlwbGF5ZXItbG9iYnkgW2RhdGEtbXVsdGlwbGF5ZXItLWxvYmJ5LXRhcmdldD0ncm9vbXMnXSB7XG4gICAgZGlzcGxheTogY29udGVudHM7XG59XG5cbi5sb2JieS1lbnRyeS1wb2ludHMge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBtaW5tYXgoMCwgMS4yZnIpIG1pbm1heCgxOHJlbSwgMC44ZnIpO1xuICAgIGdhcDogMXJlbTtcbiAgICBvcmRlcjogMjtcbiAgICBtYXJnaW4tdG9wOiAyLjVyZW07XG59XG5cbi5sb2JieS1jcmVhdGUtcGFuZWwsXG4ubG9iYnktY29kZS1wYW5lbCB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tZ3JheS0yMDApO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1tZCk7XG4gICAgYm94LXNoYWRvdzogMCAxMHB4IDI4cHggcmdiYSgxNiwgMzMsIDU5LCAwLjA2KTtcbn1cblxuLmxvYmJ5LWNyZWF0ZS1wYW5lbCB7XG4gICAgcGFkZGluZzogMnJlbTtcbiAgICBiYWNrZ3JvdW5kOlxuICAgICAgICByYWRpYWwtZ3JhZGllbnQoY2lyY2xlIGF0IDg1JSA1JSwgcmdiYSgyMTYsIDI0MCwgMTIzLCAwLjM1KSwgdHJhbnNwYXJlbnQgMTFyZW0pLFxuICAgICAgICBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCAjMTAyMTNiLCAjMTczNjU3KTtcbiAgICBjb2xvcjogdmFyKC0td2hpdGUpO1xufVxuXG4ubG9iYnktY3JlYXRlLXBhbmVsIGgyLFxuLmxvYmJ5LWNvZGUtcGFuZWwgbGFiZWwsXG4ubG9iYnktc2VjdGlvbi1oZWFkaW5nIGgyLFxuLmNyZWF0ZS1yb29tLWRpYWxvZyBoMiB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGNvbG9yOiB2YXIoLS1ncmF5LTkwMCk7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC0wLjA0ZW07XG59XG5cbi5sb2JieS1jcmVhdGUtcGFuZWwgaDIge1xuICAgIG1heC13aWR0aDogMjVyZW07XG4gICAgY29sb3I6IHZhcigtLXdoaXRlKTtcbiAgICBmb250LXNpemU6IGNsYW1wKDEuNjVyZW0sIDN2dywgMi4yNXJlbSk7XG4gICAgbGluZS1oZWlnaHQ6IDEuMDU7XG59XG5cbi5sb2JieS1jcmVhdGUtcGFuZWwgPiBwOm5vdCgubG9iYnktZXllYnJvdykge1xuICAgIG1heC13aWR0aDogMzJyZW07XG4gICAgbWFyZ2luOiAwLjg1cmVtIDAgMS41cmVtO1xuICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNzYpO1xufVxuXG4ubG9iYnktZXllYnJvdyB7XG4gICAgbWFyZ2luOiAwIDAgMC41cmVtO1xuICAgIGNvbG9yOiB2YXIoLS1wcmltYXJ5KTtcbiAgICBmb250LXNpemU6IDAuN3JlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjEyZW07XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuLmxvYmJ5LWNyZWF0ZS1wYW5lbCAubG9iYnktZXllYnJvdyB7XG4gICAgY29sb3I6ICNkOGYwN2I7XG59XG5cbi5sb2JieS1jcmVhdGUtYnV0dG9uLFxuLmxvYmJ5LWpvaW4tYnV0dG9uLFxuLmxvYmJ5LWVtcHR5LWFjdGlvbixcbi5yb29tLWNhcmQtZm9vdGVyIGJ1dHRvbixcbi5kaWFsb2ctc3VibWl0LFxuLmRpYWxvZy1jYW5jZWwsXG4uZGlhbG9nLWNsb3NlIHtcbiAgICBib3JkZXI6IDA7XG4gICAgZm9udDogaW5oZXJpdDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLmxvYmJ5LWNyZWF0ZS1idXR0b24sXG4ubG9iYnktam9pbi1idXR0b24sXG4ubG9iYnktZW1wdHktYWN0aW9uLFxuLmRpYWxvZy1zdWJtaXQge1xuICAgIG1pbi1oZWlnaHQ6IDIuOHJlbTtcbiAgICBwYWRkaW5nOiAwLjY1cmVtIDFyZW07XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXNtKTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1wcmltYXJ5KTtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4ycyBlYXNlLCBiYWNrZ3JvdW5kLWNvbG9yIDAuMnMgZWFzZTtcbn1cblxuLmxvYmJ5LWNyZWF0ZS1idXR0b246aG92ZXIsXG4ubG9iYnktam9pbi1idXR0b246aG92ZXIsXG4ubG9iYnktZW1wdHktYWN0aW9uOmhvdmVyLFxuLmRpYWxvZy1zdWJtaXQ6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLXByaW1hcnktZGFyayk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0ycHgpO1xufVxuXG4ubG9iYnktY29kZS1wYW5lbCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHBhZGRpbmc6IDJyZW07XG4gICAgYmFja2dyb3VuZDogdmFyKC0td2hpdGUpO1xufVxuXG4ubG9iYnktY29kZS1wYW5lbCA+IHA6bm90KC5sb2JieS1leWVicm93KSB7XG4gICAgbWFyZ2luOiAwLjRyZW0gMCAxLjI1cmVtO1xuICAgIGNvbG9yOiB2YXIoLS1ncmF5LTYwMCk7XG4gICAgZm9udC1zaXplOiAwLjlyZW07XG59XG5cbi5sb2JieS1jb2RlLWZvcm0ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZ2FwOiAwLjZyZW07XG59XG5cbi5sb2JieS1jb2RlLWZvcm0gaW5wdXQsXG4uY3JlYXRlLXJvb20tZm9ybSBpbnB1dCxcbi5jcmVhdGUtcm9vbS1mb3JtIHNlbGVjdCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWluLWhlaWdodDogMi44cmVtO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWdyYXktMzAwKTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtc20pO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLXdoaXRlKTtcbiAgICBjb2xvcjogdmFyKC0tZ3JheS05MDApO1xuICAgIGZvbnQ6IGluaGVyaXQ7XG59XG5cbi5sb2JieS1jb2RlLWZvcm0gaW5wdXQge1xuICAgIG1pbi13aWR0aDogMDtcbiAgICBwYWRkaW5nOiAwLjY1cmVtIDAuNzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4wOGVtO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbi5sb2JieS1qb2luLWJ1dHRvbiB7XG4gICAgZmxleDogMCAwIGF1dG87XG59XG5cbi5sb2JieS1yb29tcyB7XG4gICAgbWFyZ2luLXRvcDogMy41cmVtO1xufVxuXG4ubXktcm9vbXMge1xuICAgIG9yZGVyOiAxO1xuICAgIG1hcmdpbi10b3A6IDA7XG59XG5cbi5sb2JieS1wdWJsaWMtcm9vbXMge1xuICAgIG9yZGVyOiAzO1xuICAgIG1hcmdpbi10b3A6IDIuNXJlbTtcbn1cblxuLmxvYmJ5LXNlY3Rpb24taGVhZGluZyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogZW5kO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBnYXA6IDFyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTtcbn1cblxuLmxvYmJ5LXNlY3Rpb24taGVhZGluZyBoMiB7XG4gICAgZm9udC1zaXplOiBjbGFtcCgxLjY1cmVtLCAzdncsIDIuMjVyZW0pO1xufVxuXG4ubG9iYnktcmVmcmVzaC1ub3RlIHtcbiAgICBtYXJnaW46IDA7XG4gICAgY29sb3I6IHZhcigtLWdyYXktNjAwKTtcbiAgICBmb250LXNpemU6IDAuNzhyZW07XG59XG5cbi5yb29tLWxpc3Qge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maWxsLCBtaW5tYXgoMjgwcHgsIDFmcikpO1xuICAgIGdhcDogdmFyKC0tc3BhY2UtbGcpO1xufVxuXG4ucm9vbS1jYXJkIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2UtbWQpO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWdyYXktMjAwKTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbWQpO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLXdoaXRlKTtcbiAgICBib3gtc2hhZG93OiAwIDFweCAwIHJnYmEoMTYsIDMzLCA1OSwgMC4wMyk7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5yb29tLWNhcmQ6OmJlZm9yZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGhlaWdodDogNHB4O1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgdmFyKC0tcHJpbWFyeSksIHZhcigtLXNlY29uZGFyeSkpO1xuICAgIGNvbnRlbnQ6ICcnO1xufVxuXG4ucm9vbS1jYXJkLXRvcGxpbmUsXG4ucm9vbS1jYXJkLWZvb3RlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBnYXA6IDAuNzVyZW07XG59XG5cbi5yb29tLXN0YXR1cyxcbi5yb29tLWNhcGFjaXR5IHtcbiAgICBmb250LXNpemU6IDAuNzJyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4wNGVtO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbi5yb29tLXN0YXR1cyB7XG4gICAgY29sb3I6IHZhcigtLXByaW1hcnktZGFyayk7XG59XG5cbi5yb29tLWNhcGFjaXR5IHtcbiAgICBjb2xvcjogdmFyKC0tZ3JheS02MDApO1xufVxuXG4ucm9vbS1jaGFsbGVuZ2UtbGFiZWwge1xuICAgIG1hcmdpbjogMS4xNXJlbSAwIDAuNHJlbTtcbiAgICBjb2xvcjogdmFyKC0tZ3JheS02MDApO1xuICAgIGZvbnQtc2l6ZTogMC43cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMWVtO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbi5yb29tLWNhcmQgaDMge1xuICAgIG1hcmdpbjogMDtcbiAgICBjb2xvcjogdmFyKC0tZ3JheS05MDApO1xuICAgIGZvbnQtc2l6ZTogMS4wNXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS40NTtcbn1cblxuLnJvb20tY2FyZCBoMyBzcGFuIHtcbiAgICBjb2xvcjogdmFyKC0tc2Vjb25kYXJ5KTtcbn1cblxuLnJvb20tY2FyZCAucm9vbS1jaGFsbGVuZ2UtcGVuZGluZyB7XG4gICAgY29sb3I6IHZhcigtLWdyYXktNjAwKTtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbn1cblxuLnJvb20tY2FyZC1mb290ZXIge1xuICAgIG1hcmdpbi10b3A6IDEuMXJlbTtcbiAgICBwYWRkaW5nLXRvcDogMC43NXJlbTtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tZ3JheS0yMDApO1xuICAgIGNvbG9yOiB2YXIoLS1ncmF5LTYwMCk7XG4gICAgZm9udC1zaXplOiAwLjc4cmVtO1xufVxuXG4ucm9vbS1jYXJkLWZvb3RlciBidXR0b24sXG4ucm9vbS1vcGVuLWJ1dHRvbiB7XG4gICAgcGFkZGluZzogMC40NXJlbSAwLjdyZW07XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXNtKTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1wcmltYXJ5KTtcbiAgICBjb2xvcjogdmFyKC0td2hpdGUpO1xuICAgIGZvbnQtc2l6ZTogMC43OHJlbTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi5yb29tLWNhcmQtZm9vdGVyIGJ1dHRvbjpob3Zlcixcbi5yb29tLW9wZW4tYnV0dG9uOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1wcmltYXJ5LWRhcmspO1xufVxuXG4ucm9vbS1jYXJkLWN1cnJlbnQge1xuICAgIGJvcmRlci1jb2xvcjogcmdiYSgxNCwgMTU5LCAxNTQsIDAuMzUpO1xufVxuXG4ubG9iYnktZW1wdHktc3RhdGUge1xuICAgIG1heC13aWR0aDogMzZyZW07XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgcGFkZGluZzogM3JlbSAycmVtO1xuICAgIGJvcmRlcjogMXB4IGRhc2hlZCB2YXIoLS1ncmF5LTMwMCk7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLW1kKTtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjUzLCAyNDgsIDAuNyk7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4ubG9iYnktZW1wdHktc3RhdGUgPiBzcGFuIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZ3JpZDtcbiAgICB3aWR0aDogMi41cmVtO1xuICAgIGhlaWdodDogMi41cmVtO1xuICAgIHBsYWNlLWl0ZW1zOiBjZW50ZXI7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGJhY2tncm91bmQ6ICNkZmY2ZWY7XG4gICAgY29sb3I6IHZhcigtLXByaW1hcnktZGFyayk7XG59XG5cbi5sb2JieS1lbXB0eS1zdGF0ZSBoMyB7XG4gICAgbWFyZ2luOiAxcmVtIDAgMC40NXJlbTtcbiAgICBjb2xvcjogdmFyKC0tZ3JheS05MDApO1xuICAgIGZvbnQtc2l6ZTogMS4zcmVtO1xufVxuXG4ubG9iYnktZW1wdHktc3RhdGUgcCB7XG4gICAgbWF4LXdpZHRoOiAyOHJlbTtcbiAgICBtYXJnaW46IDAgYXV0byAxLjM1cmVtO1xuICAgIGNvbG9yOiB2YXIoLS1ncmF5LTYwMCk7XG59XG5cbi5jcmVhdGUtcm9vbS1kaWFsb2cge1xuICAgIG1hcmdpbjogYXV0bztcbiAgICB3aWR0aDogbWluKDEwMCUgLSAycmVtLCAzMnJlbSk7XG4gICAgcGFkZGluZzogMDtcbiAgICBib3JkZXI6IDA7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLW1kKTtcbiAgICBib3gtc2hhZG93OiAwIDI0cHggNzBweCByZ2JhKDE2LCAzMywgNTksIDAuMyk7XG59XG5cbi5jcmVhdGUtcm9vbS1kaWFsb2c6OmJhY2tkcm9wIHtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDE2LCAzMywgNTksIDAuNjIpO1xufVxuXG4uY3JlYXRlLXJvb20tZGlhbG9nLWhlYWRlcixcbi5jcmVhdGUtcm9vbS1mb3JtIHtcbiAgICBwYWRkaW5nOiAxLjVyZW07XG59XG5cbi5jcmVhdGUtcm9vbS1kaWFsb2ctaGVhZGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBzdGFydDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgZ2FwOiAxcmVtO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1ncmF5LTIwMCk7XG59XG5cbi5jcmVhdGUtcm9vbS1kaWFsb2cgaDIge1xuICAgIGZvbnQtc2l6ZTogMS41cmVtO1xufVxuXG4uZGlhbG9nLWNsb3NlIHtcbiAgICB3aWR0aDogMnJlbTtcbiAgICBoZWlnaHQ6IDJyZW07XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWdyYXktMTAwKTtcbiAgICBjb2xvcjogdmFyKC0tZ3JheS03MDApO1xuICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xufVxuXG4uY3JlYXRlLXJvb20tZm9ybSB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBnYXA6IDFyZW07XG59XG5cbi5jcmVhdGUtcm9vbS1mb3JtIGxhYmVsIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdhcDogMC40cmVtO1xuICAgIGNvbG9yOiB2YXIoLS1ncmF5LTkwMCk7XG4gICAgZm9udC1zaXplOiAwLjg1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG59XG5cbi5jcmVhdGUtcm9vbS1mb3JtIGxhYmVsIHNtYWxsIHtcbiAgICBjb2xvcjogdmFyKC0tZ3JheS02MDApO1xuICAgIGZvbnQtc2l6ZTogMC43MnJlbTtcbiAgICBmb250LXdlaWdodDogNTAwO1xufVxuXG4uY3JlYXRlLXJvb20tZm9ybSBpbnB1dCxcbi5jcmVhdGUtcm9vbS1mb3JtIHNlbGVjdCB7XG4gICAgcGFkZGluZzogMC42NXJlbSAwLjc1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG59XG5cbi5jcmVhdGUtcm9vbS1hY3Rpb25zIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogZW5kO1xuICAgIGdhcDogMC43NXJlbTtcbiAgICBtYXJnaW4tdG9wOiAwLjVyZW07XG59XG5cbi5kaWFsb2ctY2FuY2VsIHtcbiAgICBwYWRkaW5nOiAwLjY1cmVtIDFyZW07XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXNtKTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1ncmF5LTEwMCk7XG4gICAgY29sb3I6IHZhcigtLWdyYXktNzAwKTtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgLm11bHRpcGxheWVyLWxvYmJ5IC5sb2JieS1jb250ZW50IHtcbiAgICAgICAgcGFkZGluZzogMnJlbSAxcmVtIDNyZW07XG4gICAgfVxuXG4gICAgLmxvYmJ5LWVudHJ5LXBvaW50cyB7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuICAgIH1cblxuICAgIC5sb2JieS1jcmVhdGUtcGFuZWwsXG4gICAgLmxvYmJ5LWNvZGUtcGFuZWwge1xuICAgICAgICBwYWRkaW5nOiAxLjVyZW07XG4gICAgfVxuXG4gICAgLmxvYmJ5LXJvb21zIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMi41cmVtO1xuICAgIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDQ4MHB4KSB7XG4gICAgLmxvYmJ5LWNvZGUtZm9ybSxcbiAgICAuY3JlYXRlLXJvb20tYWN0aW9ucyB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgfVxuXG4gICAgLmxvYmJ5LWpvaW4tYnV0dG9uLFxuICAgIC5jcmVhdGUtcm9vbS1hY3Rpb25zID4gKiB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIC5sb2JieS1zZWN0aW9uLWhlYWRpbmcge1xuICAgICAgICBhbGlnbi1pdGVtczogc3RhcnQ7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgfVxufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBST09NIE1VTFRJSk9VRVVSXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5tdWx0aXBsYXllci1yb29tIHtcbiAgICBiYWNrZ3JvdW5kOlxuICAgICAgICByYWRpYWwtZ3JhZGllbnQoY2lyY2xlIGF0IDg2JSAxMiUsIHJnYmEoMjE2LCAyNDAsIDEyMywgMC4xOCksIHRyYW5zcGFyZW50IDIycmVtKSxcbiAgICAgICAgbGluZWFyLWdyYWRpZW50KDE4MGRlZywgI2VlZjNmMSAwLCAjZjdmNWVmIDMwcmVtKTtcbn1cblxuLnJvb20tbGF5b3V0IHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogbWlubWF4KDE3cmVtLCAwLjc4ZnIpIG1pbm1heCgwLCAxLjIyZnIpO1xuICAgIGFsaWduLWl0ZW1zOiBzdGFydDtcbiAgICBnYXA6IDFyZW07XG4gICAgbWF4LXdpZHRoOiA2OHJlbTtcbiAgICBwYWRkaW5nOiAzcmVtIDEuNXJlbSA1cmVtO1xufVxuXG4ucm9vbS1wYW5lbCxcbi5yb29tLWFjdGlvbnMtcGFuZWwsXG4ucm9vbS1zdGFydC1idXR0b24sXG4ucm9vbS1oZWxwLXRleHQge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWdyYXktMjAwKTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbWQpO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLXdoaXRlKTtcbiAgICBib3gtc2hhZG93OiAwIDhweCAyMHB4IHJnYmEoMTYsIDMzLCA1OSwgMC4wNSk7XG59XG5cbi5yb29tLXBhbmVsIHtcbiAgICBwYWRkaW5nOiAxLjVyZW07XG59XG5cbi5yb29tLXBhbmVsLWhlYWRpbmcge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IHN0YXJ0O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBnYXA6IDFyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTtcbn1cblxuLnJvb20tcGFuZWwtaGVhZGluZyBoMiB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGNvbG9yOiB2YXIoLS1ncmF5LTkwMCk7XG4gICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgbGV0dGVyLXNwYWNpbmc6IC0wLjA0ZW07XG59XG5cbi5yb29tLWNvdW50LFxuLnJvb20tc3RhdGUtYmFkZ2UsXG4ucm9vbS1wbGF5ZXItYmFkZ2UsXG4ucm9vbS1ob3N0LWJhZGdlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIG1pbi1oZWlnaHQ6IDEuOHJlbTtcbiAgICBwYWRkaW5nOiAwLjI1cmVtIDAuNnJlbTtcbiAgICBib3JkZXItcmFkaXVzOiA5OTlweDtcbiAgICBmb250LXNpemU6IDAuNzJyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4ucm9vbS1jb3VudCxcbi5yb29tLXN0YXRlLWJhZGdlIHtcbiAgICBiYWNrZ3JvdW5kOiAjZGZmNmVmO1xuICAgIGNvbG9yOiB2YXIoLS1wcmltYXJ5LWRhcmspO1xufVxuXG4ucm9vbS1wYXJ0aWNpcGFudHMtbGlzdCB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBnYXA6IDAuNjVyZW07XG59XG5cbi5yb29tLXBhcnRpY2lwYW50IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGdhcDogMC43NXJlbTtcbiAgICBwYWRkaW5nOiAwLjg1cmVtO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWdyYXktMjAwKTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtc20pO1xuICAgIGJhY2tncm91bmQ6ICNmZmZkZjg7XG59XG5cbi5yb29tLXBhcnRpY2lwYW50LW1haW4ge1xuICAgIG1pbi13aWR0aDogMDtcbn1cblxuLnJvb20tcGFydGljaXBhbnQtbmFtZSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogMC4zNXJlbTtcbiAgICBjb2xvcjogdmFyKC0tZ3JheS05MDApO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG59XG5cbi5yb29tLXBhcnRpY2lwYW50LXN0YXR1cyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLXRvcDogMC4xNXJlbTtcbiAgICBjb2xvcjogdmFyKC0tZ3JheS02MDApO1xuICAgIGZvbnQtc2l6ZTogMC43NnJlbTtcbn1cblxuLnJvb20tcGxheWVyLWJhZGdlIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1wcmltYXJ5KTtcbiAgICBjb2xvcjogdmFyKC0td2hpdGUpO1xufVxuXG4ucm9vbS1ob3N0LWJhZGdlIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmMWQ4O1xuICAgIGNvbG9yOiAjOWE1ZjA5O1xufVxuXG4ucm9vbS1pY29uLWJ1dHRvbiB7XG4gICAgZGlzcGxheTogaW5saW5lLWdyaWQ7XG4gICAgd2lkdGg6IDEuNXJlbTtcbiAgICBoZWlnaHQ6IDEuNXJlbTtcbiAgICBwbGFjZS1pdGVtczogY2VudGVyO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBjb2xvcjogdmFyKC0tZ3JheS02MDApO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBmb250OiBpbmhlcml0O1xufVxuXG4ucm9vbS1pY29uLWJ1dHRvbjpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tZ3JheS0xMDApO1xuICAgIGNvbG9yOiB2YXIoLS1ncmF5LTkwMCk7XG59XG5cbi5yb29tLWtpY2stYnV0dG9uOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmVlMmUyO1xuICAgIGNvbG9yOiAjYjQyMzE4O1xufVxuXG4ucm9vbS1jb2RlLWNhcmQge1xuICAgIG1hcmdpbi10b3A6IDEuMjVyZW07XG4gICAgcGFkZGluZzogMXJlbTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtc20pO1xuICAgIGJhY2tncm91bmQ6ICNlZGY1ZjE7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4ucm9vbS1jb2RlLWNhcmQgc3Bhbixcbi5yb29tLWNvZGUtY2FyZCBzdHJvbmcge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4ucm9vbS1jb2RlLWNhcmQgc3BhbiB7XG4gICAgY29sb3I6IHZhcigtLWdyYXktNjAwKTtcbiAgICBmb250LXNpemU6IDAuN3JlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjFlbTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuXG4ucm9vbS1jb2RlLWNhcmQgc3Ryb25nIHtcbiAgICBtYXJnaW4tdG9wOiAwLjI1cmVtO1xuICAgIGNvbG9yOiB2YXIoLS1wcmltYXJ5LWRhcmspO1xuICAgIGZvbnQtc2l6ZTogMS42NXJlbTtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4xNmVtO1xufVxuXG4ucm9vbS1zaWRlLWNvbHVtbiB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBnYXA6IDFyZW07XG59XG5cbi5yb29tLXByb2dyZXNzIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDMsIDFmcik7XG4gICAgZ2FwOiAwLjRyZW07XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbn1cblxuLnJvb20tcHJvZ3Jlc3MgbGkge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDAuNHJlbTtcbiAgICBtaW4td2lkdGg6IDA7XG4gICAgY29sb3I6IHZhcigtLWdyYXktNjAwKTtcbiAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbn1cblxuLnJvb20tcHJvZ3Jlc3Mgc3BhbiB7XG4gICAgZGlzcGxheTogaW5saW5lLWdyaWQ7XG4gICAgd2lkdGg6IDEuNDVyZW07XG4gICAgaGVpZ2h0OiAxLjQ1cmVtO1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIHBsYWNlLWl0ZW1zOiBjZW50ZXI7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWdyYXktMjAwKTtcbiAgICBjb2xvcjogdmFyKC0tZ3JheS02MDApO1xufVxuXG4ucm9vbS1wcm9ncmVzcyAuaXMtY3VycmVudCxcbi5yb29tLXByb2dyZXNzIC5pcy1jb21wbGV0ZSB7XG4gICAgY29sb3I6IHZhcigtLXByaW1hcnktZGFyayk7XG59XG5cbi5yb29tLXByb2dyZXNzIC5pcy1jdXJyZW50IHNwYW4ge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLXNlY29uZGFyeSk7XG4gICAgY29sb3I6IHZhcigtLXdoaXRlKTtcbn1cblxuLnJvb20tcHJvZ3Jlc3MgLmlzLWNvbXBsZXRlIHNwYW4ge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLXByaW1hcnkpO1xuICAgIGNvbG9yOiB2YXIoLS13aGl0ZSk7XG59XG5cbi5yb29tLXJvdXRlLFxuLnJvb20tZW1wdHktY2hhbGxlbmdlIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMXJlbTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtc20pO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWdyYXktMTAwKTtcbn1cblxuLnJvb20tcm91dGUge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDAuN3JlbTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4ucm9vbS1yb3V0ZSBzdHJvbmcge1xuICAgIG1pbi13aWR0aDogMDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGNvbG9yOiB2YXIoLS1ncmF5LTkwMCk7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi5yb29tLXJvdXRlIHN0cm9uZzpmaXJzdC1jaGlsZCB7XG4gICAgY29sb3I6IHZhcigtLXByaW1hcnktZGFyayk7XG59XG5cbi5yb29tLXJvdXRlIHN0cm9uZzpsYXN0LWNoaWxkIHtcbiAgICBjb2xvcjogdmFyKC0tc3VjY2Vzcyk7XG59XG5cbi5yb29tLXJvdXRlIHNwYW4ge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIGNvbG9yOiB2YXIoLS1zZWNvbmRhcnkpO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG59XG5cbi5yb29tLWVtcHR5LWNoYWxsZW5nZSB7XG4gICAgY29sb3I6IHZhcigtLWdyYXktNjAwKTtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG5cbi5yb29tLXJvdXRlLW5vdGUge1xuICAgIG1hcmdpbjogMC43cmVtIDAgMDtcbiAgICBjb2xvcjogdmFyKC0tZ3JheS02MDApO1xuICAgIGZvbnQtc2l6ZTogMC43OHJlbTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5yb29tLWNoYWxsZW5nZS1waWNrZXIge1xuICAgIG1hcmdpbi10b3A6IDFyZW07XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWdyYXktMjAwKTtcbn1cblxuLnJvb20tY2hhbGxlbmdlLXBpY2tlciBzdW1tYXJ5IHtcbiAgICBwYWRkaW5nLXRvcDogMXJlbTtcbiAgICBjb2xvcjogdmFyKC0tcHJpbWFyeS1kYXJrKTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgZm9udC1zaXplOiAwLjg1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG59XG5cbi5yb29tLWNoYWxsZW5nZS1vcHRpb25zIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdhcDogMC45cmVtO1xuICAgIG1hcmdpbi10b3A6IDFyZW07XG59XG5cbi5yb29tLWNoYWxsZW5nZS1vcHRpb24ge1xuICAgIHBhZGRpbmc6IDAuOXJlbTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1ncmF5LTIwMCk7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXNtKTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1ncmF5LTUwKTtcbn1cblxuLnJvb20tY2hhbGxlbmdlLW9wdGlvbiBoMyxcbi5yb29tLWNoYWxsZW5nZS1vcHRpb24ta2lja2VyIHtcbiAgICBtYXJnaW46IDA7XG59XG5cbi5yb29tLWNoYWxsZW5nZS1vcHRpb24gaDMge1xuICAgIGNvbG9yOiB2YXIoLS1ncmF5LTkwMCk7XG4gICAgZm9udC1zaXplOiAwLjk1cmVtO1xufVxuXG4ucm9vbS1jaGFsbGVuZ2Utb3B0aW9uLWtpY2tlciB7XG4gICAgbWFyZ2luLWJvdHRvbTogMC4ycmVtO1xuICAgIGNvbG9yOiB2YXIoLS1wcmltYXJ5LWRhcmspO1xuICAgIGZvbnQtc2l6ZTogMC42NXJlbTtcbiAgICBmb250LXdlaWdodDogODAwO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjA4ZW07XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuLnJvb20tY2hhbGxlbmdlLWZvcm0ge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ2FwOiAwLjY1cmVtO1xuICAgIG1hcmdpbi10b3A6IDFyZW07XG59XG5cbi5yb29tLWNoYWxsZW5nZS1mb3JtIGxhYmVsIHtcbiAgICBjb2xvcjogdmFyKC0tZ3JheS05MDApO1xuICAgIGZvbnQtc2l6ZTogMC43OHJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xufVxuXG4ucm9vbS1jaGFsbGVuZ2UtZm9ybSBzZWxlY3QsXG4ucm9vbS1jaGFsbGVuZ2UtZm9ybSBpbnB1dCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWluLWhlaWdodDogMi42NXJlbTtcbiAgICBwYWRkaW5nOiAwLjU1cmVtIDAuN3JlbTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1ncmF5LTMwMCk7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXNtKTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS13aGl0ZSk7XG4gICAgY29sb3I6IHZhcigtLWdyYXktOTAwKTtcbiAgICBmb250OiBpbmhlcml0O1xufVxuXG4ucm9vbS1zZWNvbmRhcnktYnV0dG9uLFxuLnJvb20tcmVhZHktYnV0dG9uLFxuLnJvb20tbGVhdmUtYnV0dG9uLFxuLnJvb20tc3RhcnQtYnV0dG9uLFxuLnJvb20ta2lja2VkLWRpYWxvZyBidXR0b24ge1xuICAgIG1pbi1oZWlnaHQ6IDIuNjVyZW07XG4gICAgcGFkZGluZzogMC42cmVtIDAuOXJlbTtcbiAgICBib3JkZXI6IDA7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXNtKTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgZm9udDogaW5oZXJpdDtcbiAgICBmb250LXdlaWdodDogNzAwO1xufVxuXG4ucm9vbS1zZWNvbmRhcnktYnV0dG9uIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1ncmF5LTEwMCk7XG4gICAgY29sb3I6IHZhcigtLXByaW1hcnktZGFyayk7XG59XG5cbi5yb29tLWNoYWxsZW5nZS1hY3Rpb25zIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGdhcDogMC41NXJlbTtcbn1cblxuLnJvb20tY2hhbGxlbmdlLWFjdGlvbnMgc2VsZWN0IHtcbiAgICBtaW4td2lkdGg6IDA7XG4gICAgZmxleDogMTtcbn1cblxuLnJvb20tY3VzdG9tLWNoYWxsZW5nZS1idXR0b24ge1xuICAgIGJhY2tncm91bmQ6ICNmZmYxZDg7XG4gICAgY29sb3I6ICM5YTVmMDk7XG59XG5cbi5yb29tLWN1c3RvbS1jaGFsbGVuZ2UtZm9ybSB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyO1xufVxuXG4ucm9vbS1jdXN0b20tY2hhbGxlbmdlIHtcbiAgICBjb2xvcjogdmFyKC0tZ3JheS02MDApO1xuICAgIGZvbnQtc2l6ZTogMC44MnJlbTtcbn1cblxuLnJvb20tY3VzdG9tLWNoYWxsZW5nZSBzdW1tYXJ5IHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbn1cblxuLnJvb20tY3VzdG9tLWNoYWxsZW5nZS1mb3JtIGJ1dHRvbiB7XG4gICAgZ3JpZC1jb2x1bW46IDEgLyAtMTtcbn1cblxuLnJvb20tYXV0b2NvbXBsZXRlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBnYXA6IDAuMzVyZW07XG59XG5cbi5yb29tLWF1dG9jb21wbGV0ZS1yZXN1bHRzIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgei1pbmRleDogMTA7XG4gICAgdG9wOiAxMDAlO1xuICAgIHJpZ2h0OiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBtYXgtaGVpZ2h0OiAxMnJlbTtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWdyYXktMzAwKTtcbiAgICBib3JkZXItcmFkaXVzOiAwIDAgdmFyKC0tcmFkaXVzLXNtKSB2YXIoLS1yYWRpdXMtc20pO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLXdoaXRlKTtcbiAgICBib3gtc2hhZG93OiAwIDEwcHggMjRweCByZ2JhKDE2LCAzMywgNTksIDAuMTQpO1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNjIwcHgpIHtcbiAgICAucm9vbS1jaGFsbGVuZ2UtYWN0aW9ucyxcbiAgICAucm9vbS1jdXN0b20tY2hhbGxlbmdlLWZvcm0ge1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcbiAgICB9XG5cbiAgICAucm9vbS1jaGFsbGVuZ2UtYWN0aW9ucyB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgfVxuXG4gICAgLnJvb20tY3VzdG9tLWNoYWxsZW5nZS1mb3JtIGJ1dHRvbiB7XG4gICAgICAgIGdyaWQtY29sdW1uOiBhdXRvO1xuICAgIH1cbn1cblxuLmF1dG9jb21wbGV0ZS1pdGVtIHtcbiAgICBwYWRkaW5nOiAwLjY1cmVtIDAuNzVyZW07XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGZvbnQtc2l6ZTogMC44NXJlbTtcbn1cblxuLmF1dG9jb21wbGV0ZS1pdGVtOmhvdmVyLFxuLmF1dG9jb21wbGV0ZS1pdGVtLmFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZDogI2VkZjVmMTtcbn1cblxuLnJvb20tYWN0aW9ucy1wYW5lbCB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciBhdXRvO1xuICAgIGdhcDogMC42NXJlbTtcbiAgICBwYWRkaW5nOiAwLjdyZW07XG59XG5cbi5yb29tLWFjdGlvbnMtcGFuZWwgZm9ybSB7XG4gICAgZGlzcGxheTogY29udGVudHM7XG59XG5cbi5yb29tLXJlYWR5LWJ1dHRvbixcbi5yb29tLXN0YXJ0LWJ1dHRvbixcbi5yb29tLWtpY2tlZC1kaWFsb2cgYnV0dG9uIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1wcmltYXJ5KTtcbiAgICBjb2xvcjogdmFyKC0td2hpdGUpO1xufVxuXG4ucm9vbS1yZWFkeS1idXR0b24uaXMtcmVhZHkge1xuICAgIGJhY2tncm91bmQ6ICNjNzM1M2U7XG59XG5cbi5yb29tLXJlYWR5LWJ1dHRvbjpkaXNhYmxlZCB7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICBvcGFjaXR5OiAwLjU7XG59XG5cbi5yb29tLWxlYXZlLWJ1dHRvbiB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tZ3JheS0xMDApO1xuICAgIGNvbG9yOiB2YXIoLS1ncmF5LTcwMCk7XG59XG5cbi5yb29tLXN0YXJ0LWJ1dHRvbiB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWluLWhlaWdodDogMy4yNXJlbTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1zZWNvbmRhcnkpO1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbn1cblxuLnJvb20tc3RhcnQtYnV0dG9uOmRpc2FibGVkIHtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgIG9wYWNpdHk6IDAuNTtcbn1cblxuLnJvb20taGVscC10ZXh0IHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMC44NXJlbSAxcmVtO1xuICAgIGNvbG9yOiB2YXIoLS1ncmF5LTYwMCk7XG4gICAgZm9udC1zaXplOiAwLjc4cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG59XG5cbi5yb29tLWNvdW50ZG93bi1vdmVybGF5LFxuLnJvb20ta2lja2VkLW92ZXJsYXkge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB6LWluZGV4OiA5OTk5O1xuICAgIGluc2V0OiAwO1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBwYWRkaW5nOiAxLjVyZW07XG4gICAgYmFja2dyb3VuZDogcmdiYSgxNiwgMzMsIDU5LCAwLjc4KTtcbn1cblxuLnJvb20tY291bnRkb3duLW92ZXJsYXkgPiBkaXYge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ2FwOiAwLjVyZW07XG4gICAgY29sb3I6IHZhcigtLXdoaXRlKTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5yb29tLWNvdW50ZG93bi1vdmVybGF5IHN0cm9uZyB7XG4gICAgZm9udC1zaXplOiBjbGFtcCg1cmVtLCAyMHZ3LCA4cmVtKTtcbiAgICBsaW5lLWhlaWdodDogMTtcbn1cblxuLnJvb20tY291bnRkb3duLW92ZXJsYXkgc3BhbiB7XG4gICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG59XG5cbi5yb29tLWtpY2tlZC1kaWFsb2cge1xuICAgIG1heC13aWR0aDogMjVyZW07XG4gICAgcGFkZGluZzogMnJlbTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbWQpO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLXdoaXRlKTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5yb29tLWtpY2tlZC1kaWFsb2cgPiBzcGFuIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZ3JpZDtcbiAgICB3aWR0aDogMi41cmVtO1xuICAgIGhlaWdodDogMi41cmVtO1xuICAgIHBsYWNlLWl0ZW1zOiBjZW50ZXI7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGJhY2tncm91bmQ6ICNmZWUyZTI7XG4gICAgY29sb3I6ICNiNDIzMTg7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbn1cblxuLnJvb20ta2lja2VkLWRpYWxvZyBoMiB7XG4gICAgbWFyZ2luOiAxcmVtIDAgMC41cmVtO1xuICAgIGNvbG9yOiB2YXIoLS1ncmF5LTkwMCk7XG59XG5cbi5yb29tLWtpY2tlZC1kaWFsb2cgcCB7XG4gICAgbWFyZ2luOiAwIDAgMS4yNXJlbTtcbiAgICBjb2xvcjogdmFyKC0tZ3JheS02MDApO1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAucm9vbS1sYXlvdXQge1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcbiAgICAgICAgcGFkZGluZzogMnJlbSAxcmVtIDNyZW07XG4gICAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNDgwcHgpIHtcbiAgICAucm9vbS1wYW5lbCB7XG4gICAgICAgIHBhZGRpbmc6IDEuMTVyZW07XG4gICAgfVxuXG4gICAgLnJvb20tYWN0aW9ucy1wYW5lbCB7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuICAgIH1cbn1cblxuLmhvbWUtcGFnZSAuc2VjdGlvbi10aXRsZTo6YWZ0ZXIge1xuICAgIGNvbG9yOiB2YXIoLS1hdGxhcy10ZWFsKTtcbiAgICBjb250ZW50OiAnQ2hvaXNpc3NleiB1biBpdGluw6lyYWlyZSc7XG4gICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMWVtO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbi5ob21lLXBhZ2UgLm1vZGVzLWdyaWQge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIG1pbm1heCgwLCAxZnIpKTtcbiAgICBnYXA6IDFyZW07XG59XG5cbi5ob21lLXBhZ2UgLm1vZGUtY2FyZCB7XG4gICAgbWluLWhlaWdodDogMTZyZW07XG4gICAgcGFkZGluZzogMS43NXJlbTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1hdGxhcy1saW5lKTtcbiAgICBib3JkZXItcmFkaXVzOiAxLjI1cmVtO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWF0bGFzLWNhcmQpO1xuICAgIGJveC1zaGFkb3c6IDAgMXB4IDAgcmdiYSgxNiwgMzMsIDU5LCAwLjAzKTtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG4uaG9tZS1wYWdlIC5tb2RlLWNhcmQuYXZhaWxhYmxlOmhvdmVyIHtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWF0bGFzLXRlYWwpO1xuICAgIGJveC1zaGFkb3c6IHZhcigtLWF0bGFzLXNoYWRvdyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01cHgpO1xufVxuXG4uaG9tZS1wYWdlIC5tb2RlLWNhcmQuYXZhaWxhYmxlOmZvY3VzLXZpc2libGUge1xuICAgIG91dGxpbmU6IDNweCBzb2xpZCB2YXIoLS1hdGxhcy1saW1lKTtcbiAgICBvdXRsaW5lLW9mZnNldDogNHB4O1xufVxuXG4uaG9tZS1wYWdlIC5tb2RlLWljb24ge1xuICAgIHdpZHRoOiAzcmVtO1xuICAgIGhlaWdodDogM3JlbTtcbiAgICBtYXJnaW46IDAgMCAyLjI1cmVtO1xuICAgIGJvcmRlci1yYWRpdXM6IDAuOXJlbTtcbn1cblxuLmhvbWUtcGFnZSAubW9kZS1jYXJkLmF2YWlsYWJsZSAubW9kZS1pY29uIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1hdGxhcy10ZWFsKTtcbiAgICBib3gtc2hhZG93OiAwIDhweCAxNnB4IHJnYmEoMTQsIDE1OSwgMTU0LCAwLjIyKTtcbn1cblxuLmhvbWUtcGFnZSAubW9kZS1jYXJkLnVuYXZhaWxhYmxlIC5tb2RlLWljb24ge1xuICAgIGJhY2tncm91bmQ6ICNlM2U2ZTY7XG4gICAgY29sb3I6IHZhcigtLWF0bGFzLWluay1zb2Z0KTtcbn1cblxuLmhvbWUtcGFnZSAubW9kZS1pY29uIHN2ZyB7XG4gICAgd2lkdGg6IDEuNXJlbTtcbiAgICBoZWlnaHQ6IDEuNXJlbTtcbn1cblxuLmhvbWUtcGFnZSAubW9kZS10aXRsZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuICAgIGNvbG9yOiB2YXIoLS1hdGxhcy1pbmspO1xuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICBsZXR0ZXItc3BhY2luZzogLTAuMDI1ZW07XG59XG5cbi5ob21lLXBhZ2UgLm1vZGUtZGVzY3JpcHRpb24ge1xuICAgIG1hcmdpbi1ib3R0b206IDEuMjVyZW07XG4gICAgY29sb3I6IHZhcigtLWF0bGFzLWluay1zb2Z0KTtcbiAgICBmb250LXNpemU6IDAuOTRyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuNTU7XG59XG5cbi5ob21lLXBhZ2UgLm1vZGUtc3RhdHVzIHtcbiAgICBtYXJnaW4tdG9wOiBhdXRvO1xuICAgIHBhZGRpbmc6IDAuM3JlbSAwLjY1cmVtO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNkY2UyZTg7XG4gICAgYm9yZGVyLXJhZGl1czogOTk5cHg7XG4gICAgYmFja2dyb3VuZDogI2YxZjJlZjtcbiAgICBjb2xvcjogdmFyKC0tYXRsYXMtaW5rLXNvZnQpO1xuICAgIGZvbnQtc2l6ZTogMC43MnJlbTtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4wM2VtO1xufVxuXG4uaG9tZS1wYWdlIC5tb2RlLXN0YXR1cy5hdmFpbGFibGUge1xuICAgIGJvcmRlci1jb2xvcjogcmdiYSgxNCwgMTU5LCAxNTQsIDAuMik7XG4gICAgYmFja2dyb3VuZDogI2RmZjZlZjtcbiAgICBjb2xvcjogIzA4N2I3ODtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDcyMHB4KSB7XG4gICAgLmhvbWUtcGFnZSAuaG9tZS1oZXJvIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBhZGRpbmc6IDIuNXJlbSAxLjVyZW07XG4gICAgfVxuXG4gICAgLmhvbWUtcGFnZSAuc3VidGl0bGUge1xuICAgICAgICBtYXJnaW4tdG9wOiAxLjI1cmVtO1xuICAgIH1cblxuICAgIC5ob21lLXBhZ2UgLnNlY3Rpb24tdGl0bGUge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICAuaG9tZS1wYWdlIC5zZWN0aW9uLXRpdGxlOjphZnRlciB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW4tdG9wOiAwLjZyZW07XG4gICAgfVxuXG4gICAgLmhvbWUtcGFnZSAubW9kZXMtZ3JpZCB7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuICAgIH1cbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQUNDRVNTSUJJTElUWVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4ubW9kZS1jYXJkOmZvY3VzLXZpc2libGUge1xuICAgIG91dGxpbmU6IDNweCBzb2xpZCB2YXIoLS1wcmltYXJ5KTtcbiAgICBvdXRsaW5lLW9mZnNldDogMnB4O1xufVxuXG5odG1sIHtcbiAgICBzY3JvbGwtYmVoYXZpb3I6IHNtb290aDtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ0hBTExFTkdFUyBQQUdFXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5iYWNrLWxpbmsge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS1zbSk7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMS4xNXJlbTtcbiAgICBsZWZ0OiBtYXgoMS41cmVtLCBjYWxjKCgxMDAlIC0gNjhyZW0pIC8gMikpO1xuICAgIHBhZGRpbmc6IDAuNDVyZW0gMC43cmVtO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yMik7XG4gICAgYm9yZGVyLXJhZGl1czogOTk5cHg7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA4KTtcbiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjg4KTtcbiAgICBmb250LXNpemU6IDAuODJyZW07XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAxNjBtcyBlYXNlLCBib3JkZXItY29sb3IgMTYwbXMgZWFzZSwgY29sb3IgMTYwbXMgZWFzZTtcbn1cblxuLmJhY2stbGluazpob3ZlciB7XG4gICAgYm9yZGVyLWNvbG9yOiByZ2JhKDIxNiwgMjQwLCAxMjMsIDAuNjUpO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMjE2LCAyNDAsIDEyMywgMC4xNCk7XG4gICAgY29sb3I6IHZhcigtLXdoaXRlKTtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgLmJhY2stbGluayB7XG4gICAgICAgIHRvcDogMXJlbTtcbiAgICAgICAgbGVmdDogdmFyKC0tc3BhY2UtbWQpO1xuICAgIH1cbn1cblxuLmNoYWxsZW5nZXMtZ3JpZCB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpbGwsIG1pbm1heCgyODBweCwgMWZyKSk7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS1sZyk7XG59XG5cbi5zb2xvLWNoYWxsZW5nZXMtZnJhbWUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4uY2hhbGxlbmdlLWZpbHRlcnMge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBtaW5tYXgoMTRyZW0sIDJmcikgcmVwZWF0KDIsIG1pbm1heCg5cmVtLCAxZnIpKSBhdXRvO1xuICAgIGdhcDogdmFyKC0tc3BhY2UtbWQpO1xuICAgIGFsaWduLWl0ZW1zOiBlbmQ7XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UteGwpO1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLW1kKTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1ncmF5LTIwMCk7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLW1kKTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS13aGl0ZSk7XG59XG5cbi5jaGFsbGVuZ2UtZmlsdGVycyBsYWJlbCB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBnYXA6IDAuMzVyZW07XG4gICAgY29sb3I6IHZhcigtLWdyYXktNzAwKTtcbiAgICBmb250LXNpemU6IDAuOHJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xufVxuXG4uY2hhbGxlbmdlLWZpbHRlcnMgOmlzKGlucHV0LCBzZWxlY3QpIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtaW4taGVpZ2h0OiAyLjZyZW07XG4gICAgcGFkZGluZzogMC41NXJlbSAwLjdyZW07XG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tZ3JheS0zMDApO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zbSk7XG4gICAgYmFja2dyb3VuZDogdmFyKC0td2hpdGUpO1xuICAgIGNvbG9yOiB2YXIoLS1ncmF5LTkwMCk7XG4gICAgZm9udDogaW5oZXJpdDtcbn1cblxuLmNoYWxsZW5nZS1maWx0ZXJzIGJ1dHRvbiB7XG4gICAgbWluLWhlaWdodDogMi42cmVtO1xuICAgIHBhZGRpbmc6IDAuNTVyZW0gMXJlbTtcbiAgICBib3JkZXI6IDA7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXNtKTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1wcmltYXJ5KTtcbiAgICBjb2xvcjogdmFyKC0td2hpdGUpO1xuICAgIGZvbnQ6IGluaGVyaXQ7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5jaGFsbGVuZ2UtZmlsdGVycyBidXR0b246aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLXByaW1hcnktZGFyayk7XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA3MjBweCkge1xuICAgIC5jaGFsbGVuZ2UtZmlsdGVycyB7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuICAgIH1cbn1cblxuLnBhZ2luYXRpb24ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IHZhcigtLXNwYWNlLW1kKTtcbiAgICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjZS14bCk7XG59XG5cbi5wYWdpbmF0aW9uLWJ1dHRvbiB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICB3aWR0aDogMi43NXJlbTtcbiAgICBoZWlnaHQ6IDIuNzVyZW07XG4gICAgcGxhY2UtaXRlbXM6IGNlbnRlcjtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1wcmltYXJ5KTtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgYmFja2dyb3VuZDogdmFyKC0td2hpdGUpO1xuICAgIGNvbG9yOiB2YXIoLS1wcmltYXJ5LWRhcmspO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAxODBtcyBlYXNlLCBjb2xvciAxODBtcyBlYXNlLCB0cmFuc2Zvcm0gMTgwbXMgZWFzZTtcbn1cblxuLnBhZ2luYXRpb24tYnV0dG9uOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1wcmltYXJ5KTtcbiAgICBjb2xvcjogdmFyKC0td2hpdGUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMnB4KTtcbn1cblxuLnBhZ2luYXRpb24tYnV0dG9uLWRpc2FibGVkIHtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWdyYXktMjAwKTtcbiAgICBjb2xvcjogdmFyKC0tZ3JheS00MDApO1xufVxuXG4ucGFnaW5hdGlvbi1idXR0b24tZGlzYWJsZWQ6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLXdoaXRlKTtcbiAgICBjb2xvcjogdmFyKC0tZ3JheS00MDApO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbn1cblxuLnBhZ2luYXRpb24tYnV0dG9uIHN2ZyB7XG4gICAgd2lkdGg6IDEuMjVyZW07XG4gICAgaGVpZ2h0OiAxLjI1cmVtO1xuICAgIGZpbGw6IG5vbmU7XG4gICAgc3Ryb2tlOiBjdXJyZW50Q29sb3I7XG4gICAgc3Ryb2tlLWxpbmVjYXA6IHJvdW5kO1xuICAgIHN0cm9rZS1saW5lam9pbjogcm91bmQ7XG4gICAgc3Ryb2tlLXdpZHRoOiAyLjU7XG59XG5cbi5wYWdpbmF0aW9uLWN1cnJlbnQge1xuICAgIGNvbG9yOiB2YXIoLS1ncmF5LTcwMCk7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBtaW4td2lkdGg6IDRyZW07XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uY2hhbGxlbmdlLWNhcmQge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLXdoaXRlKTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1ncmF5LTIwMCk7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLW1kKTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDE4MG1zIGVhc2UsIGJveC1zaGFkb3cgMTgwbXMgZWFzZSwgdHJhbnNmb3JtIDE4MG1zIGVhc2U7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgaGVpZ2h0OiAxMDAlO1xufVxuXG4uY2hhbGxlbmdlLWNhcmQ6OmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGhlaWdodDogNHB4O1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgdmFyKC0tcHJpbWFyeSksIHZhcigtLXNlY29uZGFyeSkpO1xufVxuXG4uY2hhbGxlbmdlLWNhcmQ6aG92ZXIge1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tcHJpbWFyeSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC00cHgpO1xuICAgIGJveC1zaGFkb3c6IDAgMTZweCAzNXB4IHJnYmEoMTYsIDMzLCA1OSwgMC4xMik7XG59XG5cbi5jaGFsbGVuZ2UtaW5mbyB7XG4gICAgZmxleDogMTtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS1tZCk7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogdmFyKC0tc3BhY2Utc20pO1xufVxuXG4uY2hhbGxlbmdlLWhlYWRlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS1zbSk7XG59XG5cbi5jaGFsbGVuZ2UtdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGNvbG9yOiB2YXIoLS1ncmF5LTkwMCk7XG4gICAgZmxleDogMTtcbiAgICBsaW5lLWhlaWdodDogMS40O1xufVxuXG4uZGlmZmljdWx0eS1iYWRnZSB7XG4gICAgcGFkZGluZzogM3B4IDEwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogMjBweDtcbiAgICBmb250LXNpemU6IDExcHg7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjVweDtcbn1cblxuLmRpZmZpY3VsdHktZmFjaWxlIHtcbiAgICBiYWNrZ3JvdW5kOiAjRDFGQUU1O1xuICAgIGNvbG9yOiAjMDY1RjQ2O1xufVxuXG4uZGlmZmljdWx0eS1tb3llbiB7XG4gICAgYmFja2dyb3VuZDogI0ZFRjNDNztcbiAgICBjb2xvcjogIzkyNDAwRTtcbn1cblxuLmRpZmZpY3VsdHktZGlmZmljaWxlIHtcbiAgICBiYWNrZ3JvdW5kOiAjRkVFMkUyO1xuICAgIGNvbG9yOiAjOTkxQjFCO1xufVxuXG4uY2hhbGxlbmdlLXJvdXRlLWNvbXBhY3Qge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IHZhcigtLXNwYWNlLXNtKTtcbiAgICBmb250LXNpemU6IDEzcHg7XG4gICAgY29sb3I6IHZhcigtLWdyYXktNzAwKTtcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS1tZCk7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLnJvdXRlLXBhZ2UtY29tcGFjdCB7XG4gICAgZmxleC1zaHJpbms6IDE7XG4gICAgbWluLXdpZHRoOiAwO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbn1cblxuLnJvdXRlLWFycm93LWNvbXBhY3Qge1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIGNvbG9yOiB2YXIoLS1wcmltYXJ5KTtcbiAgICBmb250LXdlaWdodDogNjAwO1xufVxuXG4uY2hhbGxlbmdlLXJvdXRlIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS1tZCk7XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UtbGcpO1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLWxnKTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1ncmF5LTEwMCk7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXNtKTtcbn1cblxuLnJvdXRlLXBvaW50IHtcbiAgICBmbGV4OiAxO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IHZhcigtLXNwYWNlLXNtKTtcbn1cblxuLnJvdXRlLWxhYmVsIHtcbiAgICBmb250LXNpemU6IDExcHg7XG4gICAgY29sb3I6IHZhcigtLWdyYXktNjAwKTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuNXB4O1xufVxuXG4ucm91dGUtcGFnZSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogdmFyKC0tc3BhY2Utc20pO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgZm9udC1zaXplOiAxNXB4O1xuICAgIGNvbG9yOiB2YXIoLS1ncmF5LTkwMCk7XG59XG5cbi5yb3V0ZS1wYWdlLnN0YXJ0IHtcbiAgICBjb2xvcjogdmFyKC0tcHJpbWFyeSk7XG59XG5cbi5yb3V0ZS1wYWdlLmVuZCB7XG4gICAgY29sb3I6IHZhcigtLXN1Y2Nlc3MpO1xufVxuXG4ucm91dGUtYXJyb3cge1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIGNvbG9yOiB2YXIoLS1ncmF5LTQwMCk7XG59XG5cbi8qIENoYWxsZW5nZSBSZXN1bHRzICovXG4uY2hhbGxlbmdlLXJlc3VsdCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogdmFyKC0tc3BhY2UtbWQpO1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLW1kKTtcbiAgICBtYXJnaW4tdG9wOiBhdXRvO1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsICNGOUZBRkIgMCUsICNGM0Y0RjYgMTAwJSk7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWdyYXktMjAwKTtcbn1cblxuLnJlc3VsdC1iYWRnZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDZweDtcbiAgICBwYWRkaW5nOiA2cHggMTJweDtcbiAgICBib3JkZXItcmFkaXVzOiAyMHB4O1xuICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB3aWR0aDogZml0LWNvbnRlbnQ7XG59XG5cbi5yZXN1bHQtYmFkZ2UuY29tcGxldGVkIHtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCAjRDFGQUU1IDAlLCAjQTdGM0QwIDEwMCUpO1xuICAgIGNvbG9yOiAjMDY1RjQ2O1xufVxuXG4ucmVzdWx0LWJhZGdlLmNvbXBsZXRlZDo6YmVmb3JlIHtcbiAgICBjb250ZW50OiAn4pyTJztcbiAgICBmb250LXdlaWdodDogODAwO1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbn1cblxuLnJlc3VsdC1iYWRnZS5wZW5kaW5nIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1ncmF5LTIwMCk7XG4gICAgY29sb3I6IHZhcigtLWdyYXktNjAwKTtcbn1cblxuLnJlc3VsdC1iYWRnZS5wZW5kaW5nOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICfimqonO1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbn1cblxuLnJlc3VsdC1zdGF0cyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBnYXA6IHZhcigtLXNwYWNlLW1kKTtcbiAgICBmb250LXNpemU6IDEycHg7XG59XG5cbi5zdGF0LWl0ZW0ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IDJweDtcbn1cblxuLnN0YXQtbGFiZWwge1xuICAgIGNvbG9yOiB2YXIoLS1ncmF5LTYwMCk7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBmb250LXNpemU6IDEwcHg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4zcHg7XG59XG5cbi5zdGF0LXZhbHVlIHtcbiAgICBjb2xvcjogdmFyKC0tcHJpbWFyeSk7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBmb250LXNpemU6IDE0cHg7XG59XG5cbi5jaGFsbGVuZ2UtYWN0aW9uIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLW1kKSB2YXIoLS1zcGFjZS1sZyk7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgdmFyKC0tcHJpbWFyeSkgMCUsIHZhcigtLXByaW1hcnktZGFyaykgMTAwJSk7XG4gICAgY29sb3I6IHZhcigtLXdoaXRlKTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtc20pO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG59XG5cbi5jaGFsbGVuZ2UtY2FyZDpob3ZlciAuY2hhbGxlbmdlLWFjdGlvbiB7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgdmFyKC0tcHJpbWFyeS1kYXJrKSAwJSwgdmFyKC0tcHJpbWFyeSkgMTAwJSk7XG59XG5cbi5hY3Rpb24tdGV4dCB7XG4gICAgZm9udC1zaXplOiAxNXB4O1xufVxuXG4vKiBFbXB0eSBTdGF0ZSAqL1xuLmVtcHR5LXN0YXRlIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2UtM3hsKTtcbiAgICBjb2xvcjogdmFyKC0tZ3JheS02MDApO1xufVxuXG4uZW1wdHktc3RhdGUgc3ZnIHtcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS1sZyk7XG4gICAgY29sb3I6IHZhcigtLWdyYXktNDAwKTtcbn1cblxuLmVtcHR5LXN0YXRlIGgzIHtcbiAgICBmb250LXNpemU6IDI0cHg7XG4gICAgY29sb3I6IHZhcigtLWdyYXktOTAwKTtcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS1zbSk7XG59XG5cbi5lbXB0eS1zdGF0ZSBwIHtcbiAgICBmb250LXNpemU6IDE2cHg7XG59XG5cbi8qIFJlc3BvbnNpdmUgLSBDaGFsbGVuZ2VzICovXG5AbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAuY2hhbGxlbmdlcy1ncmlkIHtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTtcbiAgICB9XG5cbiAgICAuY2hhbGxlbmdlLXJvdXRlIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgZ2FwOiB2YXIoLS1zcGFjZS1sZyk7XG4gICAgfVxuXG4gICAgLnJvdXRlLWFycm93IHtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xuICAgIH1cblxuICAgIC5yb3V0ZS1wb2ludCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDQ4MHB4KSB7XG4gICAgLmNoYWxsZW5nZXMtZ3JpZCB7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuICAgIH1cblxuICAgIC5jaGFsbGVuZ2UtY2FyZCB7XG4gICAgICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLW1kKTtcbiAgICB9XG5cbiAgICAuY2hhbGxlbmdlLWhlYWRlciB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgIH1cblxuICAgIC5jaGFsbGVuZ2UtdGl0bGUge1xuICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgfVxuXG4gICAgLmRpZmZpY3VsdHktYmFkZ2Uge1xuICAgICAgICBmb250LXNpemU6IDEwcHg7XG4gICAgICAgIHBhZGRpbmc6IDJweCA2cHg7XG4gICAgfVxuXG4gICAgLmNoYWxsZW5nZS1yb3V0ZS1jb21wYWN0IHtcbiAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgIH1cblxuICAgIC5zdGF0LWl0ZW0ge1xuICAgICAgICBmb250LXNpemU6IDExcHg7XG4gICAgfVxufVxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9*/