/*!**************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/styles/app.css ***!
  \**************************************************************************************************************/
/* ── Dyleria Font ─────────────────────────────────────────────────────────── */
@font-face {
    font-family: 'Dyleria';
    src: url(/build/fonts/font_dyleria.dcb60172.otf) format('opentype');
    font-weight: normal;
    font-style: normal;
}

/* ── CSS Variables ────────────────────────────────────────────────────────── */
:root {
    --color-bg:           #0c0c12;
    --color-bg-panel:     #16161f;
    --color-bg-input:     #0e0e16;
    --color-border:       #2e2e40;
    --color-border-hover: #c9a84c;
    --color-gold:         #c9a84c;
    --color-gold-light:   #e8cc7a;
    --color-text:         #d8d0c0;
    --color-text-muted:   #7a7a90;
    --color-error:        #c0392b;
    --color-error-bg:     #2a0f0f;
    --font-title:         'Dyleria', Georgia, serif;
    --font-body:          'Segoe UI', system-ui, sans-serif;
}

/* ── Reset ────────────────────────────────────────────────────────────────── */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

html, body {
    height: 100%;
    background-color: var(--color-bg);
    color: var(--color-text);
    font-family: var(--font-body);
    font-size: 15px;
    line-height: 1.6;
}

a { color: var(--color-gold); text-decoration: none; }
a:hover { color: var(--color-gold-light); }

/*!**********************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/styles/World/world.css ***!
  \**********************************************************************************************************************/
/* ── Login Page ───────────────────────────────────────────────────────────── */

.login-page {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background:
        radial-gradient(ellipse at 50% 0%, #1a2a3a 0%, transparent 60%),
        radial-gradient(ellipse at 50% 100%, #0a0a14 0%, transparent 70%),
        linear-gradient(180deg, #0c0e14 0%, #08080f 100%);
    padding: 2rem;
}

.login-logo {
    width: 320px;
    max-width: 90vw;
    margin-bottom: 2.5rem;
    filter: drop-shadow(0 0 24px rgba(201, 168, 76, 0.25));
}

.login-box {
    width: 100%;
    max-width: 400px;
    background: var(--color-bg-panel);
    border: 1px solid var(--color-border);
    border-top: 2px solid var(--color-gold);
    padding: 2.5rem 2rem;
    position: relative;
}

.login-box::before {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 1px;
    background: linear-gradient(90deg, transparent, var(--color-gold), transparent);
}

.login-box h2 {
    font-family: var(--font-title);
    font-size: 1.4rem;
    color: var(--color-gold);
    text-align: center;
    margin-bottom: 1.8rem;
    letter-spacing: 0.08em;
}

/* ── Form ─────────────────────────────────────────────────────────────────── */

.form-field {
    margin-bottom: 1.2rem;
}

.form-field label {
    display: block;
    font-size: 0.8rem;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: var(--color-text-muted);
    margin-bottom: 0.4rem;
}

.form-field input {
    width: 100%;
    background: var(--color-bg-input);
    border: 1px solid var(--color-border);
    color: var(--color-text);
    padding: 0.65rem 0.9rem;
    font-size: 0.95rem;
    font-family: var(--font-body);
    outline: none;
    transition: border-color 0.2s;
}

.form-field input:focus {
    border-color: var(--color-gold);
}

.login-submit {
    width: 100%;
    margin-top: 1.8rem;
    padding: 0.75rem;
    background: transparent;
    border: 1px solid var(--color-gold);
    color: var(--color-gold);
    font-family: var(--font-title);
    font-size: 1rem;
    letter-spacing: 0.12em;
    cursor: pointer;
    transition: background 0.2s, color 0.2s;
}

.login-submit:hover {
    background: var(--color-gold);
    color: #0c0c12;
}

/* ── Error ────────────────────────────────────────────────────────────────── */

.login-error {
    background: var(--color-error-bg);
    border-left: 3px solid var(--color-error);
    color: #e07070;
    padding: 0.65rem 0.9rem;
    font-size: 0.88rem;
    margin-bottom: 1.4rem;
}

.form-errors, ul.form-error {
    list-style: none;
    margin: 0.3rem 0 0;
    padding: 0;
}

.form-errors li, ul.form-error li {
    font-size: 0.82rem;
    color: #e07070;
}

/* ── Success ──────────────────────────────────────────────────────────────── */

.form-success {
    background: rgba(76, 201, 120, 0.08);
    border-left: 3px solid #4cc978;
    color: #7de0a0;
    padding: 0.65rem 0.9rem;
    font-size: 0.88rem;
    margin-bottom: 1.4rem;
}

/* ── Register ─────────────────────────────────────────────────────────────── */

.register-box {
    max-width: 440px;
}

.register-login-link {
    margin-top: 1.4rem;
    text-align: center;
    font-size: 0.85rem;
    color: var(--color-text-muted);
}

.register-login-link a {
    color: var(--color-gold);
    text-decoration: none;
}

.register-login-link a:hover {
    text-decoration: underline;
}

/*!************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/styles/Player/player.css ***!
  \************************************************************************************************************************/
/* ── Top Navigation Bar (Portal-Style) ───────────────────────────────────── */

.portal-nav {
    height: 56px;
    background: linear-gradient(180deg, #1e1e28 0%, #14141c 100%);
    border-bottom: 1px solid var(--color-border);
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 1.5rem;
    position: sticky;
    top: 0;
    z-index: 100;
}

.portal-nav__logo {
    font-family: var(--font-title);
    font-size: 1.1rem;
    color: var(--color-gold);
    letter-spacing: 0.1em;
    text-decoration: none;
}

.portal-nav__logo:hover { color: var(--color-gold-light); }

.portal-nav__links {
    display: flex;
    gap: 0.25rem;
    list-style: none;
}

.portal-nav__links a {
    display: block;
    padding: 0.35rem 0.9rem;
    font-size: 0.8rem;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--color-text-muted);
    border: 1px solid transparent;
    transition: color 0.15s, border-color 0.15s;
}

.portal-nav__links a:hover,
.portal-nav__links a.active {
    color: var(--color-gold);
    border-color: var(--color-border);
}

.portal-nav__user {
    display: flex;
    align-items: center;
    gap: 1rem;
    font-size: 0.82rem;
    color: var(--color-text-muted);
}

.portal-nav__user strong { color: var(--color-text); }

.portal-nav__logout {
    font-size: 0.78rem;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--color-text-muted);
    border: 1px solid var(--color-border);
    padding: 0.25rem 0.7rem;
    transition: color 0.15s, border-color 0.15s;
}

.portal-nav__logout:hover {
    color: var(--color-gold);
    border-color: var(--color-gold);
}

/* ── Dashboard ────────────────────────────────────────────────────────────── */

.dashboard {
    max-width: 1200px;
    margin: 2.5rem auto;
    padding: 0 1.5rem;
}

.dashboard__welcome {
    font-family: var(--font-title);
    font-size: 2rem;
    color: var(--color-gold);
    letter-spacing: 0.06em;
    margin-bottom: 0.4rem;
}

.dashboard__subtitle {
    color: var(--color-text-muted);
    font-size: 0.88rem;
    margin-bottom: 2.5rem;
    padding-bottom: 1.5rem;
    border-bottom: 1px solid var(--color-border);
}

.dashboard__section-title {
    font-family: var(--font-title);
    font-size: 1.1rem;
    color: var(--color-text-muted);
    text-transform: uppercase;
    letter-spacing: 0.08em;
    margin: 0 0 0.75rem;
}

.dashboard__matches {
    margin-bottom: 2rem;
}

.dashboard__no-matches {
    color: var(--color-text-muted);
    font-size: 0.88rem;
}

.match-list {
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
}

.match-list__item {
    display: grid;
    grid-template-columns: 1fr auto auto auto;
    align-items: center;
    gap: 1rem;
    padding: 0.6rem 1rem;
    background: var(--color-bg-panel);
    border: 1px solid var(--color-border);
    border-radius: 4px;
    text-decoration: none;
    color: inherit;
    transition: border-color 0.15s;
}
.match-list__item:hover { border-color: var(--color-border-hover); }
.match-list__item--my-turn { border-color: #2a6a2a; background: #0a1a0a; }

.match-list__opponent { font-weight: bold; }
.match-list__turn     { font-size: 0.8rem; color: var(--color-text-muted); }
.match-list__status   { font-size: 0.85rem; color: var(--color-text-muted); }
.match-list__your-turn { color: #4caf50; }
.match-list__join     { font-size: 0.8rem; color: var(--color-accent, #c9a84c); }

.dashboard__grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
    gap: 1rem;
}

.dashboard-card {
    background: var(--color-bg-panel);
    border: 1px solid var(--color-border);
    padding: 1.5rem;
    transition: border-color 0.2s;
}

.dashboard-card:hover { border-color: var(--color-border-hover); }

.dashboard-card__title {
    font-family: var(--font-title);
    font-size: 1rem;
    color: var(--color-gold);
    letter-spacing: 0.06em;
    margin-bottom: 0.5rem;
}

.dashboard-card__body {
    font-size: 0.85rem;
    color: var(--color-text-muted);
}

/* ── Collection Page ──────────────────────────────────────────────────────── */

.collection-page {
    max-width: 1400px;
    margin: 0 auto;
    padding: 2rem 1.5rem;
}

.collection-header {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    margin-bottom: 1.5rem;
    padding-bottom: 1rem;
    border-bottom: 1px solid var(--color-border);
}

.collection-title {
    font-family: var(--font-title);
    font-size: 1.8rem;
    color: var(--color-gold);
    letter-spacing: 0.06em;
    margin: 0 0 0.25rem;
}

.collection-subtitle {
    font-size: 0.82rem;
    color: var(--color-text-muted);
    margin: 0;
}

/* ── Filter Bar ───────────────────────────────────────────────────────────── */

.collection-filterbar {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-bottom: 1.5rem;
    align-items: center;
}

.filter-search {
    background: var(--color-bg-input, #1a1a24);
    border: 1px solid var(--color-border);
    color: var(--color-text);
    padding: 0.4rem 0.75rem;
    font-size: 0.85rem;
    width: 220px;
    outline: none;
}
.filter-search:focus { border-color: var(--color-gold); }

.filter-select {
    background: var(--color-bg-input, #1a1a24);
    border: 1px solid var(--color-border);
    color: var(--color-text);
    padding: 0.4rem 0.75rem;
    font-size: 0.85rem;
    outline: none;
}
.filter-select:focus { border-color: var(--color-gold); }

.filter-btn {
    background: var(--color-gold);
    color: #1a1208;
    border: none;
    padding: 0.4rem 1rem;
    font-size: 0.82rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    cursor: pointer;
    transition: background 0.15s;
}
.filter-btn:hover { background: var(--color-gold-light, #e8c96a); }

.filter-reset {
    font-size: 0.8rem;
    color: var(--color-text-muted);
    text-decoration: underline;
    cursor: pointer;
    padding: 0.4rem 0.5rem;
}
.filter-reset:hover { color: var(--color-text); }

.collection-empty {
    text-align: center;
    padding: 4rem 1rem;
    color: var(--color-text-muted);
    font-size: 0.9rem;
    border: 1px dashed var(--color-border);
}

/* ── Card Grid ────────────────────────────────────────────────────────────── */

.card-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
    gap: 0.75rem;
}

/* ── Player Card (pc) ─────────────────────────────────────────────────────── */

.pc {
    position: relative;
    background: var(--color-bg-panel);
    border: 1px solid var(--color-border);
    display: flex;
    flex-direction: column;
    overflow: hidden;
    transition: transform 0.15s, border-color 0.15s, box-shadow 0.15s;
    --rarity-color: #333;
    border-bottom: 3px solid var(--rarity-color);
}

.pc:hover {
    transform: translateY(-3px);
    border-color: var(--rarity-color);
    box-shadow: 0 6px 20px rgba(0,0,0,0.5);
}

/* Rarity color vars */
.rarity-common    { --rarity-color: #8a8a9a; }
.rarity-uncommon  { --rarity-color: #3fa96a; }
.rarity-rare      { --rarity-color: #3a7dd4; }
.rarity-epic      { --rarity-color: #9b5fd4; }
.rarity-legendary { --rarity-color: #c9a84c; }

/* Volume badge */
.pc-volume {
    position: absolute;
    top: 0.3rem;
    right: 0.3rem;
    background: rgba(0,0,0,0.75);
    color: var(--color-gold);
    font-size: 0.65rem;
    font-weight: 700;
    padding: 0.1rem 0.35rem;
    letter-spacing: 0.04em;
    z-index: 2;
}

/* Type badge */
.pc-type {
    position: absolute;
    top: 0.3rem;
    left: 0.3rem;
    font-size: 0.6rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    padding: 0.1rem 0.35rem;
    background: rgba(0,0,0,0.7);
    color: #ccc;
    z-index: 2;
}
.pc-type.type-king      { color: #c9a84c; }
.pc-type.type-mage      { color: #9b5fd4; }
.pc-type.type-creature  { color: #3a7dd4; }
.pc-type.type-spell     { color: #3fa96a; }
.pc-type.type-equipment { color: #c97b3a; }
.pc-type.type-relic     { color: #8a8a9a; }
.pc-type.type-obstacle  { color: #6a4a3a; }

/* Art area */
.pc-art {
    width: 100%;
    aspect-ratio: 5 / 4;
    overflow: hidden;
    background: #0e0e16;
    flex-shrink: 0;
}

.pc-art img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.pc-art-placeholder {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 2rem;
    color: var(--color-border);
    font-family: var(--font-title);
}

/* Card body */
.pc-body {
    padding: 0.4rem 0.5rem 0.5rem;
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
}

.pc-fraction {
    font-size: 0.6rem;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--color-text-muted);
}

.pc-name {
    font-size: 0.78rem;
    font-weight: 600;
    color: var(--color-text);
    line-height: 1.2;
}

.pc-stats {
    display: flex;
    flex-wrap: wrap;
    gap: 0.2rem;
    margin-top: 0.25rem;
}

.pc-stat {
    font-size: 0.62rem;
    padding: 0.1rem 0.3rem;
    background: rgba(0,0,0,0.4);
    color: var(--color-text-muted);
}
.pc-atk  { color: #e06060; }
.pc-def  { color: #6090e0; }
.pc-life { color: #60c060; }

/* Rarity bar */
.pc-rarity-bar {
    font-size: 0.58rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    text-align: center;
    padding: 0.2rem;
    background: var(--rarity-color);
    color: #fff;
}
.rarity-legendary .pc-rarity-bar { color: #1a1208; }

/* ── Decks Index Page ─────────────────────────────────────────────────────── */

.decks-page {
    max-width: 900px;
    margin: 0 auto;
    padding: 2rem 1.5rem;
}

.new-deck-form {
    display: flex;
    gap: 0.5rem;
    margin-bottom: 2rem;
    flex-wrap: wrap;
}

.deck-list {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.deck-item {
    display: flex;
    align-items: center;
    gap: 1rem;
    background: var(--color-bg-panel);
    border: 1px solid var(--color-border);
    padding: 0.75rem 1rem;
    transition: border-color 0.15s;
}
.deck-item:hover { border-color: var(--color-border-hover); }

.deck-item__name {
    flex: 1;
    font-size: 0.95rem;
    font-weight: 600;
    color: var(--color-text);
    text-decoration: none;
}
.deck-item__name:hover { color: var(--color-gold); }

.deck-item__count {
    font-size: 0.8rem;
    color: var(--color-text-muted);
    white-space: nowrap;
}

.deck-item__actions {
    display: flex;
    gap: 0.5rem;
}

.deck-item__btn {
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    padding: 0.3rem 0.75rem;
    border: 1px solid var(--color-border);
    background: transparent;
    color: var(--color-text-muted);
    cursor: pointer;
    text-decoration: none;
    transition: color 0.15s, border-color 0.15s;
    font-family: var(--font-body);
}
.deck-item__btn:hover { color: var(--color-gold); border-color: var(--color-gold); }
.deck-item__btn--danger:hover { color: var(--color-error); border-color: var(--color-error); }

/* Deck Builder styles → assets/styles/Player/deckbuilder.css */

/*!***************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/styles/Player/inventory.css ***!
  \***************************************************************************************************************************/
/* ── Inventory Page ─────────────────────────────────────────────────────────── */

.inventory-page {
    max-width: 1100px;
    margin: 0 auto;
    padding: 2rem 1.5rem;
}

.inventory-section {
    margin-bottom: 2.5rem;
}

.inventory-section-title {
    font-family: var(--font-title);
    font-size: 1rem;
    color: var(--color-gold);
    letter-spacing: 0.08em;
    text-transform: uppercase;
    border-bottom: 1px solid var(--color-border);
    padding-bottom: 0.5rem;
    margin-bottom: 1.25rem;
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.inventory-empty {
    color: var(--color-text-muted);
    font-size: 0.85rem;
    font-style: italic;
}

/* ── Pack Grid ───────────────────────────────────────────────────────────────── */

.pack-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: 1rem;
}

.pack-card {
    background: var(--color-surface);
    border: 1px solid var(--color-border);
    border-radius: 6px;
    padding: 1.1rem 1rem 1rem;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    transition: border-color 0.2s;
}

.pack-card:hover {
    border-color: var(--color-gold);
}

.pack-card__name {
    font-family: var(--font-title);
    font-size: 0.95rem;
    color: var(--color-text);
    letter-spacing: 0.04em;
}

.pack-card__edition {
    font-size: 0.75rem;
    color: var(--color-text-muted);
    text-transform: uppercase;
    letter-spacing: 0.06em;
}

.pack-card__contents {
    font-size: 0.78rem;
    color: var(--color-text-muted);
    display: flex;
    flex-wrap: wrap;
    gap: 0.3rem 0.6rem;
    align-items: center;
    margin: 0.25rem 0;
}

.pack-card__note {
    font-size: 0.72rem;
    color: var(--color-text-muted);
    font-style: italic;
    border-top: 1px solid var(--color-border);
    padding-top: 0.4rem;
}

.pack-open-btn {
    margin-top: auto;
    width: 100%;
    text-align: center;
    cursor: pointer;
}

.pack-open-btn:disabled {
    opacity: 0.5;
    cursor: not-allowed;
}

/* ── Pack Reveal Overlay ─────────────────────────────────────────────────────── */

.pack-reveal {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.85);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 999;
    padding: 1rem;
}

.pack-reveal__box {
    background: var(--color-surface);
    border: 1px solid var(--color-gold);
    border-radius: 8px;
    padding: 2rem;
    max-width: 900px;
    width: 100%;
    max-height: 90vh;
    overflow-y: auto;
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}

.pack-reveal__title {
    font-family: var(--font-title);
    font-size: 1.3rem;
    color: var(--color-gold);
    letter-spacing: 0.1em;
    text-align: center;
}

.pack-reveal__cards {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    justify-content: center;
}

/* ── Revealed Card ───────────────────────────────────────────────────────────── */

.reveal-card {
    width: 110px;
    border-radius: 6px;
    border: 2px solid var(--color-border);
    overflow: hidden;
    display: flex;
    flex-direction: column;
    background: var(--color-bg);
    transition: transform 0.15s;
}

.reveal-card:hover {
    transform: translateY(-3px);
}

.reveal-card img {
    width: 100%;
    aspect-ratio: 5/7;
    object-fit: cover;
    display: block;
}

.reveal-card__name {
    font-size: 0.7rem;
    font-weight: 600;
    color: var(--color-text);
    padding: 0.3rem 0.4rem 0.1rem;
    line-height: 1.2;
}

.reveal-card__type {
    font-size: 0.65rem;
    color: var(--color-text-muted);
    padding: 0 0.4rem 0.35rem;
}

/* Rarity border colors on reveal */
.reveal-card.rarity-bg-1 { border-color: #666; }
.reveal-card.rarity-bg-2 { border-color: #4a9c4a; }
.reveal-card.rarity-bg-3 { border-color: #3a6abf; }
.reveal-card.rarity-bg-4 { border-color: #8b3abf; }
.reveal-card.rarity-bg-5 { border-color: #bf8f2a; }

/* ── History ─────────────────────────────────────────────────────────────────── */

.inventory-history {
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
}

.history-row {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    font-size: 0.82rem;
    color: var(--color-text-muted);
    padding: 0.3rem 0;
    border-bottom: 1px solid var(--color-border);
}

.history-date {
    margin-left: auto;
    font-size: 0.75rem;
    color: var(--color-text-muted);
    opacity: 0.7;
}

/*!**********************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/styles/Admin/admin.css ***!
  \**********************************************************************************************************************/
/* ── Admin Top Nav ────────────────────────────────────────────────────────── */

.admin-topnav {
    display: flex;
    align-items: center;
    gap: 0;
    background: var(--color-surface);
    border-bottom: 1px solid var(--color-border);
    padding: 0 1.5rem;
    height: 48px;
    position: sticky;
    top: 0;
    z-index: 100;
}

.admin-topnav__logo {
    font-family: var(--font-title);
    font-size: 0.9rem;
    letter-spacing: 0.1em;
    color: var(--color-gold);
    text-decoration: none;
    padding-right: 1.5rem;
    border-right: 1px solid var(--color-border);
    margin-right: 0.5rem;
    white-space: nowrap;
}

.admin-topnav__links {
    display: flex;
    list-style: none;
    margin: 0;
    padding: 0;
    gap: 0;
    flex: 1;
}

.admin-topnav__links li a {
    display: block;
    padding: 0 1rem;
    height: 48px;
    line-height: 48px;
    font-size: 0.85rem;
    color: var(--color-text-muted);
    text-decoration: none;
    border-bottom: 2px solid transparent;
    transition: color 0.15s, border-color 0.15s;
    white-space: nowrap;
}

.admin-topnav__links li a:hover {
    color: var(--color-text);
}

.admin-topnav__links li a.active {
    color: var(--color-gold);
    border-bottom-color: var(--color-gold);
}

.admin-topnav__user {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin-left: auto;
    font-size: 0.82rem;
    color: var(--color-text-muted);
}

.admin-topnav__link {
    color: var(--color-text-muted);
    text-decoration: none;
    font-size: 0.82rem;
    transition: color 0.15s;
}
.admin-topnav__link:hover { color: var(--color-text); }
.admin-topnav__logout:hover { color: var(--color-error, #f07a7a); }

/* ── Admin Dashboard ──────────────────────────────────────────────────────── */

.dash-stats {
    display: flex;
    gap: 1rem;
    margin-bottom: 2rem;
    flex-wrap: wrap;
}

.dash-stat {
    background: var(--color-surface);
    border: 1px solid var(--color-border);
    padding: 1rem 1.5rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    min-width: 110px;
    gap: 0.2rem;
}

.dash-stat__value {
    font-family: var(--font-title);
    font-size: 1.8rem;
    color: var(--color-gold);
    line-height: 1;
}

.dash-stat__label {
    font-size: 0.75rem;
    color: var(--color-text-muted);
    text-transform: uppercase;
    letter-spacing: 0.08em;
}

.dash-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 1rem;
}

.dash-card {
    background: var(--color-surface);
    border: 1px solid var(--color-border);
    padding: 1.25rem;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    transition: border-color 0.2s;
}

.dash-card:hover {
    border-color: rgba(201, 168, 76, 0.3);
}

.dash-card__title {
    font-family: var(--font-title);
    font-size: 1rem;
    color: var(--color-gold);
    letter-spacing: 0.05em;
}

.dash-card__desc {
    font-size: 0.83rem;
    color: var(--color-text-muted);
    line-height: 1.4;
    flex: 1;
}

.dash-card__count {
    font-size: 0.78rem;
    color: var(--color-text-muted);
    border-top: 1px solid var(--color-border);
    padding-top: 0.5rem;
}

.dash-card__actions {
    display: flex;
    gap: 0.5rem;
    flex-wrap: wrap;
    padding-top: 0.25rem;
}

/* ── Admin Layout ─────────────────────────────────────────────────────────── */

.admin-page {
    background: var(--color-bg);
    min-height: 100vh;
    color: var(--color-text);
    font-family: var(--font-body);
}

.admin-layout {
    max-width: 1400px;
    margin: 0 auto;
    padding: 1.5rem 2rem;
}

.admin-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 1.5rem;
    padding-bottom: 1rem;
    border-bottom: 1px solid var(--color-border);
}

.admin-header-title {
    font-family: var(--font-title);
    font-size: 1.4rem;
    color: var(--color-gold);
    letter-spacing: 0.05em;
}

.admin-header-title em {
    font-style: normal;
    color: var(--color-text);
}

/* ── Buttons ──────────────────────────────────────────────────────────────── */

.btn-primary {
    display: inline-block;
    padding: 0.5rem 1.2rem;
    background: var(--color-gold);
    color: #0c0c12;
    border: none;
    font-family: var(--font-title);
    font-size: 0.9rem;
    letter-spacing: 0.06em;
    cursor: pointer;
    text-decoration: none;
    transition: opacity 0.15s;
}
.btn-primary:hover { opacity: 0.85; }

.btn-secondary {
    display: inline-block;
    padding: 0.5rem 1rem;
    background: transparent;
    color: var(--color-text);
    border: 1px solid var(--color-border);
    font-family: var(--font-body);
    font-size: 0.88rem;
    cursor: pointer;
    text-decoration: none;
    transition: border-color 0.15s;
}
.btn-secondary:hover { border-color: var(--color-gold); color: var(--color-gold); }

.btn-ghost {
    display: inline-block;
    padding: 0.5rem 1rem;
    color: var(--color-text-muted);
    font-size: 0.88rem;
    text-decoration: none;
    transition: color 0.15s;
}
.btn-ghost:hover { color: var(--color-text); }

.btn-danger {
    display: inline-block;
    padding: 0.5rem 1rem;
    background: transparent;
    color: var(--color-error);
    border: 1px solid var(--color-error);
    font-size: 0.88rem;
    cursor: pointer;
    transition: background 0.15s;
}
.btn-danger:hover { background: var(--color-error-bg); }

.btn-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px; height: 28px;
    border: 1px solid var(--color-border);
    background: transparent;
    color: var(--color-text-muted);
    font-size: 0.9rem;
    cursor: pointer;
    text-decoration: none;
    transition: border-color 0.15s, color 0.15s;
}
.btn-icon:hover { border-color: var(--color-gold); color: var(--color-gold); }
.btn-icon-danger:hover { border-color: var(--color-error); color: var(--color-error); }

/* ── Flash messages ───────────────────────────────────────────────────────── */

.flash {
    padding: 0.7rem 1rem;
    margin-bottom: 1rem;
    font-size: 0.9rem;
}
.flash-success {
    background: rgba(76, 201, 120, 0.08);
    border-left: 3px solid #4cc978;
    color: #7de0a0;
}

/* ── Filter bar ───────────────────────────────────────────────────────────── */

.admin-filter-bar {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    margin-bottom: 1.2rem;
    flex-wrap: wrap;
}

.filter-input, .filter-select {
    background: var(--color-bg-input);
    border: 1px solid var(--color-border);
    color: var(--color-text);
    padding: 0.45rem 0.75rem;
    font-size: 0.88rem;
    font-family: var(--font-body);
    outline: none;
    transition: border-color 0.15s;
}
.filter-input { min-width: 200px; }
.filter-input:focus, .filter-select:focus { border-color: var(--color-gold); }

.filter-count {
    margin-left: auto;
    color: var(--color-text-muted);
    font-size: 0.82rem;
}

/* ── Table ────────────────────────────────────────────────────────────────── */

.admin-table-wrap { overflow-x: auto; }

.admin-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.88rem;
}

.admin-table th {
    text-align: left;
    padding: 0.55rem 0.75rem;
    background: var(--color-bg-panel);
    border-bottom: 2px solid var(--color-border);
    color: var(--color-text-muted);
    font-size: 0.78rem;
    text-transform: uppercase;
    letter-spacing: 0.07em;
    white-space: nowrap;
}

.admin-table td {
    padding: 0.5rem 0.75rem;
    border-bottom: 1px solid rgba(255,255,255,0.04);
    vertical-align: middle;
}

.admin-table tr:hover td { background: rgba(255,255,255,0.02); }

.col-center { text-align: center; }
.col-actions { width: 64px; text-align: right; white-space: nowrap; }

.card-name-cell { display: flex; align-items: center; gap: 0.5rem; }
.card-internal-name { display: block; font-size: 0.75rem; color: var(--color-text-muted); }

.stat { font-family: monospace; font-size: 0.85rem; }
.empty-row { text-align: center; color: var(--color-text-muted); padding: 2rem; }

/* Rarity dots */
.rarity-dot { display: inline-block; width: 8px; height: 8px; border-radius: 50%; flex-shrink: 0; }
.rarity-1 { background: #8a8a9a; }
.rarity-2 { background: #3fa96a; }
.rarity-3 { background: #3a7dd4; }
.rarity-4 { background: #9b5fd4; }
.rarity-5 { background: #c9a84c; }

/* Type badges */
.type-badge {
    display: inline-block;
    padding: 0.15rem 0.5rem;
    border-radius: 2px;
    font-size: 0.75rem;
    font-family: var(--font-title);
    letter-spacing: 0.05em;
    background: rgba(255,255,255,0.06);
    color: var(--color-text-muted);
    border: 1px solid transparent;
}
.type-badge.type-100 { color: #c9a84c; border-color: #c9a84c33; }
.type-badge.type-300 { color: #7ad4f0; border-color: #7ad4f033; }
.type-badge.type-400 { color: #c47af0; border-color: #c47af033; }
.type-badge.type-500 { color: #7af0a0; border-color: #7af0a033; }
.type-badge.type-600 { color: #f0c47a; border-color: #f0c47a33; }
.type-badge.type-900 { color: #f07a7a; border-color: #f07a7a33; }
.type-badge.type-950 { color: #a0a0a0; border-color: #a0a0a033; }

/* ── Card Editor ──────────────────────────────────────────────────────────── */

.card-editor {
    display: grid;
    grid-template-columns: 1fr 260px;
    gap: 2.5rem;
    align-items: start;
}

@media (max-width: 900px) {
    .card-editor { grid-template-columns: 1fr; }
    .card-editor-preview { order: -1; }
}

/* ── Form sections ────────────────────────────────────────────────────────── */

.form-section {
    background: var(--color-bg-panel);
    border: 1px solid var(--color-border);
    padding: 1.2rem 1.4rem;
    margin-bottom: 1rem;
    transition: opacity 0.2s;
}

.form-section-title {
    font-family: var(--font-title);
    font-size: 0.85rem;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: var(--color-gold);
    margin: 0 0 1rem;
}
.form-section-title small {
    font-family: var(--font-body);
    text-transform: none;
    letter-spacing: 0;
    color: var(--color-text-muted);
    font-size: 0.8rem;
}

.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.form-row-stats { grid-template-columns: repeat(5, 1fr); }

.form-field { margin-bottom: 0.9rem; }
.form-field-half { max-width: 50%; }

.form-field label {
    display: block;
    font-size: 0.78rem;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--color-text-muted);
    margin-bottom: 0.35rem;
}

.form-field input,
.form-field select,
.form-field textarea {
    width: 100%;
    background: var(--color-bg-input);
    border: 1px solid var(--color-border);
    color: var(--color-text);
    padding: 0.5rem 0.75rem;
    font-size: 0.88rem;
    font-family: var(--font-body);
    outline: none;
    transition: border-color 0.15s;
    box-sizing: border-box;
}
.form-field input:focus,
.form-field select:focus,
.form-field textarea:focus { border-color: var(--color-gold); }

.form-hint {
    display: block;
    font-size: 0.75rem;
    color: var(--color-text-muted);
    margin-top: 0.3rem;
}
.form-hint code {
    background: rgba(255,255,255,0.08);
    padding: 0.1rem 0.3rem;
    font-size: 0.78rem;
}

.form-actions { display: flex; gap: 0.75rem; align-items: center; margin-top: 0.5rem; }

/* ── Movement compass grid ────────────────────────────────────────────────── */

.movement-grid {
    display: grid;
    grid-template-columns: repeat(3, 36px);
    grid-template-rows: repeat(3, 36px);
    gap: 3px;
    margin-top: 0.75rem;
}

.mg-cell {
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.85rem;
    font-family: monospace;
    border: 1px solid var(--color-border);
}
.mg-active   { background: rgba(201,168,76,0.15); color: var(--color-gold); border-color: rgba(201,168,76,0.4); }
.mg-inactive { background: rgba(255,255,255,0.03); color: var(--color-text-muted); }
.mg-center-cell { border-color: transparent; }
.mg-center  { color: var(--color-text-muted); }
.mg-springer { color: #c47af0; font-size: 0.75rem; }

/* ── Card Preview ─────────────────────────────────────────────────────────── */

.card-editor-preview { position: sticky; top: 1.5rem; }

.preview-label {
    font-family: var(--font-title);
    font-size: 0.8rem;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: var(--color-text-muted);
    margin-bottom: 0.75rem;
}

.card-preview {
    --rarity-color: #333;
    width: 240px;
    min-height: 340px;
    background: linear-gradient(160deg, #1a1c24 0%, #111318 100%);
    border: 1px solid var(--rarity-color);
    box-shadow: 0 0 20px rgba(0,0,0,0.5), inset 0 0 0 1px rgba(255,255,255,0.04);
    display: flex;
    flex-direction: column;
    position: relative;
    overflow: hidden;
    transition: border-color 0.3s;
}

.cp-type-badge {
    position: absolute;
    top: 8px; right: 8px;
    font-family: var(--font-title);
    font-size: 0.65rem;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--rarity-color);
    background: rgba(0,0,0,0.6);
    padding: 0.15rem 0.4rem;
    border: 1px solid currentColor;
    transition: color 0.3s;
}

.cp-art {
    height: 130px;
    background: linear-gradient(180deg, rgba(255,255,255,0.03) 0%, transparent 100%);
    border-bottom: 1px solid rgba(255,255,255,0.06);
    position: relative;
}
.cp-art-placeholder {
    position: absolute; inset: 0;
    display: flex; align-items: center; justify-content: center;
}
.cp-art-placeholder::after {
    content: '◈';
    font-size: 2.5rem;
    color: rgba(255,255,255,0.06);
}

.cp-body {
    padding: 0.6rem 0.75rem;
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
}

.cp-fraction {
    font-size: 0.68rem;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: var(--rarity-color);
    min-height: 0.85rem;
    transition: color 0.3s;
}

.cp-name {
    font-family: var(--font-title);
    font-size: 1rem;
    color: #e8e0d0;
    letter-spacing: 0.04em;
    line-height: 1.2;
}

.cp-stats { display: flex; gap: 0.4rem; flex-wrap: wrap; margin-top: 0.1rem; }

.cp-stat {
    font-size: 0.72rem;
    font-family: monospace;
    padding: 0.15rem 0.35rem;
    background: rgba(255,255,255,0.06);
    border: 1px solid rgba(255,255,255,0.1);
    color: var(--color-text-muted);
    white-space: nowrap;
}
.cp-atk  { color: #f08080; border-color: rgba(240,128,128,0.2); }
.cp-def  { color: #80b4f0; border-color: rgba(128,180,240,0.2); }
.cp-life { color: #80e090; border-color: rgba(128,224,144,0.2); }
.cp-wt   { color: #d0c080; border-color: rgba(208,192,128,0.2); }

.cp-movement {
    font-family: monospace;
    font-size: 0.72rem;
    color: var(--color-text-muted);
}

.cp-desc {
    font-size: 0.75rem;
    color: var(--color-text-muted);
    line-height: 1.4;
    font-style: italic;
    margin-top: auto;
    padding-top: 0.4rem;
    border-top: 1px solid rgba(255,255,255,0.05);
    min-height: 1.2rem;
}

.cp-rarity-bar {
    text-align: center;
    font-family: var(--font-title);
    font-size: 0.65rem;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    padding: 0.3rem;
    transition: background 0.3s, color 0.3s;
}

.cp-art-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* ── Image Upload ─────────────────────────────────────────────────────────── */

.image-current { margin-bottom: 1rem; }

.image-preview-thumb {
    display: block;
    max-width: 160px;
    max-height: 120px;
    object-fit: cover;
    border: 1px solid var(--color-border);
}

.image-upload-area {
    position: relative;
    border: 2px dashed var(--color-border);
    background: var(--color-bg-input);
    min-height: 120px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: border-color 0.2s, background 0.2s;
    overflow: hidden;
}

.image-upload-area:hover,
.image-upload-area.drag-over {
    border-color: var(--color-gold);
    background: rgba(201, 168, 76, 0.04);
}

.image-upload-input {
    position: absolute;
    inset: 0;
    opacity: 0;
    cursor: pointer;
    width: 100%;
    height: 100%;
    z-index: 2;
}

.image-upload-label {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.3rem;
    color: var(--color-text-muted);
    font-size: 0.85rem;
    pointer-events: none;
    text-align: center;
    padding: 1rem;
    z-index: 1;
}

.image-upload-icon {
    font-size: 1.6rem;
    color: var(--color-border);
}

.image-upload-label small {
    font-size: 0.75rem;
    color: rgba(255,255,255,0.25);
}

.image-upload-preview {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: contain;
    background: #0a0a12;
    z-index: 1;
}


/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLmNzcyIsIm1hcHBpbmdzIjoiOzs7QUFBQSxnRkFBZ0Y7QUFDaEY7SUFDSSxzQkFBc0I7SUFDdEIsK0RBQXdEO0lBQ3hELG1CQUFtQjtJQUNuQixrQkFBa0I7QUFDdEI7O0FBRUEsZ0ZBQWdGO0FBQ2hGO0lBQ0ksNkJBQTZCO0lBQzdCLDZCQUE2QjtJQUM3Qiw2QkFBNkI7SUFDN0IsNkJBQTZCO0lBQzdCLDZCQUE2QjtJQUM3Qiw2QkFBNkI7SUFDN0IsNkJBQTZCO0lBQzdCLDZCQUE2QjtJQUM3Qiw2QkFBNkI7SUFDN0IsNkJBQTZCO0lBQzdCLDZCQUE2QjtJQUM3QiwrQ0FBK0M7SUFDL0MsdURBQXVEO0FBQzNEOztBQUVBLGdGQUFnRjtBQUNoRix5QkFBeUIsc0JBQXNCLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRTs7QUFFeEU7SUFDSSxZQUFZO0lBQ1osaUNBQWlDO0lBQ2pDLHdCQUF3QjtJQUN4Qiw2QkFBNkI7SUFDN0IsZUFBZTtJQUNmLGdCQUFnQjtBQUNwQjs7QUFFQSxJQUFJLHdCQUF3QixFQUFFLHFCQUFxQixFQUFFO0FBQ3JELFVBQVUsOEJBQThCLEVBQUU7Ozs7O0FDdEMxQyxnRkFBZ0Y7O0FBRWhGO0lBQ0ksaUJBQWlCO0lBQ2pCLGFBQWE7SUFDYixzQkFBc0I7SUFDdEIsbUJBQW1CO0lBQ25CLHVCQUF1QjtJQUN2Qjs7O3lEQUdxRDtJQUNyRCxhQUFhO0FBQ2pCOztBQUVBO0lBQ0ksWUFBWTtJQUNaLGVBQWU7SUFDZixxQkFBcUI7SUFDckIsc0RBQXNEO0FBQzFEOztBQUVBO0lBQ0ksV0FBVztJQUNYLGdCQUFnQjtJQUNoQixpQ0FBaUM7SUFDakMscUNBQXFDO0lBQ3JDLHVDQUF1QztJQUN2QyxvQkFBb0I7SUFDcEIsa0JBQWtCO0FBQ3RCOztBQUVBO0lBQ0ksV0FBVztJQUNYLGtCQUFrQjtJQUNsQixNQUFNLEVBQUUsT0FBTyxFQUFFLFFBQVE7SUFDekIsV0FBVztJQUNYLCtFQUErRTtBQUNuRjs7QUFFQTtJQUNJLDhCQUE4QjtJQUM5QixpQkFBaUI7SUFDakIsd0JBQXdCO0lBQ3hCLGtCQUFrQjtJQUNsQixxQkFBcUI7SUFDckIsc0JBQXNCO0FBQzFCOztBQUVBLGdGQUFnRjs7QUFFaEY7SUFDSSxxQkFBcUI7QUFDekI7O0FBRUE7SUFDSSxjQUFjO0lBQ2QsaUJBQWlCO0lBQ2pCLHlCQUF5QjtJQUN6QixxQkFBcUI7SUFDckIsOEJBQThCO0lBQzlCLHFCQUFxQjtBQUN6Qjs7QUFFQTtJQUNJLFdBQVc7SUFDWCxpQ0FBaUM7SUFDakMscUNBQXFDO0lBQ3JDLHdCQUF3QjtJQUN4Qix1QkFBdUI7SUFDdkIsa0JBQWtCO0lBQ2xCLDZCQUE2QjtJQUM3QixhQUFhO0lBQ2IsNkJBQTZCO0FBQ2pDOztBQUVBO0lBQ0ksK0JBQStCO0FBQ25DOztBQUVBO0lBQ0ksV0FBVztJQUNYLGtCQUFrQjtJQUNsQixnQkFBZ0I7SUFDaEIsdUJBQXVCO0lBQ3ZCLG1DQUFtQztJQUNuQyx3QkFBd0I7SUFDeEIsOEJBQThCO0lBQzlCLGVBQWU7SUFDZixzQkFBc0I7SUFDdEIsZUFBZTtJQUNmLHVDQUF1QztBQUMzQzs7QUFFQTtJQUNJLDZCQUE2QjtJQUM3QixjQUFjO0FBQ2xCOztBQUVBLGdGQUFnRjs7QUFFaEY7SUFDSSxpQ0FBaUM7SUFDakMseUNBQXlDO0lBQ3pDLGNBQWM7SUFDZCx1QkFBdUI7SUFDdkIsa0JBQWtCO0lBQ2xCLHFCQUFxQjtBQUN6Qjs7QUFFQTtJQUNJLGdCQUFnQjtJQUNoQixrQkFBa0I7SUFDbEIsVUFBVTtBQUNkOztBQUVBO0lBQ0ksa0JBQWtCO0lBQ2xCLGNBQWM7QUFDbEI7O0FBRUEsZ0ZBQWdGOztBQUVoRjtJQUNJLG9DQUFvQztJQUNwQyw4QkFBOEI7SUFDOUIsY0FBYztJQUNkLHVCQUF1QjtJQUN2QixrQkFBa0I7SUFDbEIscUJBQXFCO0FBQ3pCOztBQUVBLGdGQUFnRjs7QUFFaEY7SUFDSSxnQkFBZ0I7QUFDcEI7O0FBRUE7SUFDSSxrQkFBa0I7SUFDbEIsa0JBQWtCO0lBQ2xCLGtCQUFrQjtJQUNsQiw4QkFBOEI7QUFDbEM7O0FBRUE7SUFDSSx3QkFBd0I7SUFDeEIscUJBQXFCO0FBQ3pCOztBQUVBO0lBQ0ksMEJBQTBCO0FBQzlCOzs7OztBQ3hKQSwrRUFBK0U7O0FBRS9FO0lBQ0ksWUFBWTtJQUNaLDZEQUE2RDtJQUM3RCw0Q0FBNEM7SUFDNUMsYUFBYTtJQUNiLG1CQUFtQjtJQUNuQiw4QkFBOEI7SUFDOUIsaUJBQWlCO0lBQ2pCLGdCQUFnQjtJQUNoQixNQUFNO0lBQ04sWUFBWTtBQUNoQjs7QUFFQTtJQUNJLDhCQUE4QjtJQUM5QixpQkFBaUI7SUFDakIsd0JBQXdCO0lBQ3hCLHFCQUFxQjtJQUNyQixxQkFBcUI7QUFDekI7O0FBRUEsMEJBQTBCLDhCQUE4QixFQUFFOztBQUUxRDtJQUNJLGFBQWE7SUFDYixZQUFZO0lBQ1osZ0JBQWdCO0FBQ3BCOztBQUVBO0lBQ0ksY0FBYztJQUNkLHVCQUF1QjtJQUN2QixpQkFBaUI7SUFDakIseUJBQXlCO0lBQ3pCLHNCQUFzQjtJQUN0Qiw4QkFBOEI7SUFDOUIsNkJBQTZCO0lBQzdCLDJDQUEyQztBQUMvQzs7QUFFQTs7SUFFSSx3QkFBd0I7SUFDeEIsaUNBQWlDO0FBQ3JDOztBQUVBO0lBQ0ksYUFBYTtJQUNiLG1CQUFtQjtJQUNuQixTQUFTO0lBQ1Qsa0JBQWtCO0lBQ2xCLDhCQUE4QjtBQUNsQzs7QUFFQSwyQkFBMkIsd0JBQXdCLEVBQUU7O0FBRXJEO0lBQ0ksa0JBQWtCO0lBQ2xCLHlCQUF5QjtJQUN6QixzQkFBc0I7SUFDdEIsOEJBQThCO0lBQzlCLHFDQUFxQztJQUNyQyx1QkFBdUI7SUFDdkIsMkNBQTJDO0FBQy9DOztBQUVBO0lBQ0ksd0JBQXdCO0lBQ3hCLCtCQUErQjtBQUNuQzs7QUFFQSxnRkFBZ0Y7O0FBRWhGO0lBQ0ksaUJBQWlCO0lBQ2pCLG1CQUFtQjtJQUNuQixpQkFBaUI7QUFDckI7O0FBRUE7SUFDSSw4QkFBOEI7SUFDOUIsZUFBZTtJQUNmLHdCQUF3QjtJQUN4QixzQkFBc0I7SUFDdEIscUJBQXFCO0FBQ3pCOztBQUVBO0lBQ0ksOEJBQThCO0lBQzlCLGtCQUFrQjtJQUNsQixxQkFBcUI7SUFDckIsc0JBQXNCO0lBQ3RCLDRDQUE0QztBQUNoRDs7QUFFQTtJQUNJLDhCQUE4QjtJQUM5QixpQkFBaUI7SUFDakIsOEJBQThCO0lBQzlCLHlCQUF5QjtJQUN6QixzQkFBc0I7SUFDdEIsbUJBQW1CO0FBQ3ZCOztBQUVBO0lBQ0ksbUJBQW1CO0FBQ3ZCOztBQUVBO0lBQ0ksOEJBQThCO0lBQzlCLGtCQUFrQjtBQUN0Qjs7QUFFQTtJQUNJLGFBQWE7SUFDYixzQkFBc0I7SUFDdEIsV0FBVztBQUNmOztBQUVBO0lBQ0ksYUFBYTtJQUNiLHlDQUF5QztJQUN6QyxtQkFBbUI7SUFDbkIsU0FBUztJQUNULG9CQUFvQjtJQUNwQixpQ0FBaUM7SUFDakMscUNBQXFDO0lBQ3JDLGtCQUFrQjtJQUNsQixxQkFBcUI7SUFDckIsY0FBYztJQUNkLDhCQUE4QjtBQUNsQztBQUNBLDBCQUEwQix1Q0FBdUMsRUFBRTtBQUNuRSw2QkFBNkIscUJBQXFCLEVBQUUsbUJBQW1CLEVBQUU7O0FBRXpFLHdCQUF3QixpQkFBaUIsRUFBRTtBQUMzQyx3QkFBd0IsaUJBQWlCLEVBQUUsOEJBQThCLEVBQUU7QUFDM0Usd0JBQXdCLGtCQUFrQixFQUFFLDhCQUE4QixFQUFFO0FBQzVFLHlCQUF5QixjQUFjLEVBQUU7QUFDekMsd0JBQXdCLGlCQUFpQixFQUFFLG1DQUFtQyxFQUFFOztBQUVoRjtJQUNJLGFBQWE7SUFDYiw0REFBNEQ7SUFDNUQsU0FBUztBQUNiOztBQUVBO0lBQ0ksaUNBQWlDO0lBQ2pDLHFDQUFxQztJQUNyQyxlQUFlO0lBQ2YsNkJBQTZCO0FBQ2pDOztBQUVBLHdCQUF3Qix1Q0FBdUMsRUFBRTs7QUFFakU7SUFDSSw4QkFBOEI7SUFDOUIsZUFBZTtJQUNmLHdCQUF3QjtJQUN4QixzQkFBc0I7SUFDdEIscUJBQXFCO0FBQ3pCOztBQUVBO0lBQ0ksa0JBQWtCO0lBQ2xCLDhCQUE4QjtBQUNsQzs7QUFFQSxnRkFBZ0Y7O0FBRWhGO0lBQ0ksaUJBQWlCO0lBQ2pCLGNBQWM7SUFDZCxvQkFBb0I7QUFDeEI7O0FBRUE7SUFDSSxhQUFhO0lBQ2IscUJBQXFCO0lBQ3JCLDhCQUE4QjtJQUM5QixxQkFBcUI7SUFDckIsb0JBQW9CO0lBQ3BCLDRDQUE0QztBQUNoRDs7QUFFQTtJQUNJLDhCQUE4QjtJQUM5QixpQkFBaUI7SUFDakIsd0JBQXdCO0lBQ3hCLHNCQUFzQjtJQUN0QixtQkFBbUI7QUFDdkI7O0FBRUE7SUFDSSxrQkFBa0I7SUFDbEIsOEJBQThCO0lBQzlCLFNBQVM7QUFDYjs7QUFFQSxnRkFBZ0Y7O0FBRWhGO0lBQ0ksYUFBYTtJQUNiLGVBQWU7SUFDZixXQUFXO0lBQ1gscUJBQXFCO0lBQ3JCLG1CQUFtQjtBQUN2Qjs7QUFFQTtJQUNJLDBDQUEwQztJQUMxQyxxQ0FBcUM7SUFDckMsd0JBQXdCO0lBQ3hCLHVCQUF1QjtJQUN2QixrQkFBa0I7SUFDbEIsWUFBWTtJQUNaLGFBQWE7QUFDakI7QUFDQSx1QkFBdUIsK0JBQStCLEVBQUU7O0FBRXhEO0lBQ0ksMENBQTBDO0lBQzFDLHFDQUFxQztJQUNyQyx3QkFBd0I7SUFDeEIsdUJBQXVCO0lBQ3ZCLGtCQUFrQjtJQUNsQixhQUFhO0FBQ2pCO0FBQ0EsdUJBQXVCLCtCQUErQixFQUFFOztBQUV4RDtJQUNJLDZCQUE2QjtJQUM3QixjQUFjO0lBQ2QsWUFBWTtJQUNaLG9CQUFvQjtJQUNwQixrQkFBa0I7SUFDbEIsZ0JBQWdCO0lBQ2hCLHlCQUF5QjtJQUN6QixzQkFBc0I7SUFDdEIsZUFBZTtJQUNmLDRCQUE0QjtBQUNoQztBQUNBLG9CQUFvQiw0Q0FBNEMsRUFBRTs7QUFFbEU7SUFDSSxpQkFBaUI7SUFDakIsOEJBQThCO0lBQzlCLDBCQUEwQjtJQUMxQixlQUFlO0lBQ2Ysc0JBQXNCO0FBQzFCO0FBQ0Esc0JBQXNCLHdCQUF3QixFQUFFOztBQUVoRDtJQUNJLGtCQUFrQjtJQUNsQixrQkFBa0I7SUFDbEIsOEJBQThCO0lBQzlCLGlCQUFpQjtJQUNqQixzQ0FBc0M7QUFDMUM7O0FBRUEsZ0ZBQWdGOztBQUVoRjtJQUNJLGFBQWE7SUFDYiw0REFBNEQ7SUFDNUQsWUFBWTtBQUNoQjs7QUFFQSxnRkFBZ0Y7O0FBRWhGO0lBQ0ksa0JBQWtCO0lBQ2xCLGlDQUFpQztJQUNqQyxxQ0FBcUM7SUFDckMsYUFBYTtJQUNiLHNCQUFzQjtJQUN0QixnQkFBZ0I7SUFDaEIsaUVBQWlFO0lBQ2pFLG9CQUFvQjtJQUNwQiw0Q0FBNEM7QUFDaEQ7O0FBRUE7SUFDSSwyQkFBMkI7SUFDM0IsaUNBQWlDO0lBQ2pDLHNDQUFzQztBQUMxQzs7QUFFQSxzQkFBc0I7QUFDdEIsb0JBQW9CLHVCQUF1QixFQUFFO0FBQzdDLG9CQUFvQix1QkFBdUIsRUFBRTtBQUM3QyxvQkFBb0IsdUJBQXVCLEVBQUU7QUFDN0Msb0JBQW9CLHVCQUF1QixFQUFFO0FBQzdDLG9CQUFvQix1QkFBdUIsRUFBRTs7QUFFN0MsaUJBQWlCO0FBQ2pCO0lBQ0ksa0JBQWtCO0lBQ2xCLFdBQVc7SUFDWCxhQUFhO0lBQ2IsNEJBQTRCO0lBQzVCLHdCQUF3QjtJQUN4QixrQkFBa0I7SUFDbEIsZ0JBQWdCO0lBQ2hCLHVCQUF1QjtJQUN2QixzQkFBc0I7SUFDdEIsVUFBVTtBQUNkOztBQUVBLGVBQWU7QUFDZjtJQUNJLGtCQUFrQjtJQUNsQixXQUFXO0lBQ1gsWUFBWTtJQUNaLGlCQUFpQjtJQUNqQixnQkFBZ0I7SUFDaEIseUJBQXlCO0lBQ3pCLHNCQUFzQjtJQUN0Qix1QkFBdUI7SUFDdkIsMkJBQTJCO0lBQzNCLFdBQVc7SUFDWCxVQUFVO0FBQ2Q7QUFDQSwwQkFBMEIsY0FBYyxFQUFFO0FBQzFDLDBCQUEwQixjQUFjLEVBQUU7QUFDMUMsMEJBQTBCLGNBQWMsRUFBRTtBQUMxQywwQkFBMEIsY0FBYyxFQUFFO0FBQzFDLDBCQUEwQixjQUFjLEVBQUU7QUFDMUMsMEJBQTBCLGNBQWMsRUFBRTtBQUMxQywwQkFBMEIsY0FBYyxFQUFFOztBQUUxQyxhQUFhO0FBQ2I7SUFDSSxXQUFXO0lBQ1gsbUJBQW1CO0lBQ25CLGdCQUFnQjtJQUNoQixtQkFBbUI7SUFDbkIsY0FBYztBQUNsQjs7QUFFQTtJQUNJLFdBQVc7SUFDWCxZQUFZO0lBQ1osaUJBQWlCO0lBQ2pCLGNBQWM7QUFDbEI7O0FBRUE7SUFDSSxXQUFXO0lBQ1gsWUFBWTtJQUNaLGFBQWE7SUFDYixtQkFBbUI7SUFDbkIsdUJBQXVCO0lBQ3ZCLGVBQWU7SUFDZiwwQkFBMEI7SUFDMUIsOEJBQThCO0FBQ2xDOztBQUVBLGNBQWM7QUFDZDtJQUNJLDZCQUE2QjtJQUM3QixPQUFPO0lBQ1AsYUFBYTtJQUNiLHNCQUFzQjtJQUN0QixXQUFXO0FBQ2Y7O0FBRUE7SUFDSSxpQkFBaUI7SUFDakIseUJBQXlCO0lBQ3pCLHNCQUFzQjtJQUN0Qiw4QkFBOEI7QUFDbEM7O0FBRUE7SUFDSSxrQkFBa0I7SUFDbEIsZ0JBQWdCO0lBQ2hCLHdCQUF3QjtJQUN4QixnQkFBZ0I7QUFDcEI7O0FBRUE7SUFDSSxhQUFhO0lBQ2IsZUFBZTtJQUNmLFdBQVc7SUFDWCxtQkFBbUI7QUFDdkI7O0FBRUE7SUFDSSxrQkFBa0I7SUFDbEIsc0JBQXNCO0lBQ3RCLDJCQUEyQjtJQUMzQiw4QkFBOEI7QUFDbEM7QUFDQSxXQUFXLGNBQWMsRUFBRTtBQUMzQixXQUFXLGNBQWMsRUFBRTtBQUMzQixXQUFXLGNBQWMsRUFBRTs7QUFFM0IsZUFBZTtBQUNmO0lBQ0ksa0JBQWtCO0lBQ2xCLGdCQUFnQjtJQUNoQix5QkFBeUI7SUFDekIscUJBQXFCO0lBQ3JCLGtCQUFrQjtJQUNsQixlQUFlO0lBQ2YsK0JBQStCO0lBQy9CLFdBQVc7QUFDZjtBQUNBLG1DQUFtQyxjQUFjLEVBQUU7O0FBRW5ELGdGQUFnRjs7QUFFaEY7SUFDSSxnQkFBZ0I7SUFDaEIsY0FBYztJQUNkLG9CQUFvQjtBQUN4Qjs7QUFFQTtJQUNJLGFBQWE7SUFDYixXQUFXO0lBQ1gsbUJBQW1CO0lBQ25CLGVBQWU7QUFDbkI7O0FBRUE7SUFDSSxhQUFhO0lBQ2Isc0JBQXNCO0lBQ3RCLFdBQVc7QUFDZjs7QUFFQTtJQUNJLGFBQWE7SUFDYixtQkFBbUI7SUFDbkIsU0FBUztJQUNULGlDQUFpQztJQUNqQyxxQ0FBcUM7SUFDckMscUJBQXFCO0lBQ3JCLDhCQUE4QjtBQUNsQztBQUNBLG1CQUFtQix1Q0FBdUMsRUFBRTs7QUFFNUQ7SUFDSSxPQUFPO0lBQ1Asa0JBQWtCO0lBQ2xCLGdCQUFnQjtJQUNoQix3QkFBd0I7SUFDeEIscUJBQXFCO0FBQ3pCO0FBQ0EseUJBQXlCLHdCQUF3QixFQUFFOztBQUVuRDtJQUNJLGlCQUFpQjtJQUNqQiw4QkFBOEI7SUFDOUIsbUJBQW1CO0FBQ3ZCOztBQUVBO0lBQ0ksYUFBYTtJQUNiLFdBQVc7QUFDZjs7QUFFQTtJQUNJLGtCQUFrQjtJQUNsQix5QkFBeUI7SUFDekIsc0JBQXNCO0lBQ3RCLHVCQUF1QjtJQUN2QixxQ0FBcUM7SUFDckMsdUJBQXVCO0lBQ3ZCLDhCQUE4QjtJQUM5QixlQUFlO0lBQ2YscUJBQXFCO0lBQ3JCLDJDQUEyQztJQUMzQyw2QkFBNkI7QUFDakM7QUFDQSx3QkFBd0Isd0JBQXdCLEVBQUUsK0JBQStCLEVBQUU7QUFDbkYsZ0NBQWdDLHlCQUF5QixFQUFFLGdDQUFnQyxFQUFFOztBQUU3RiwrREFBK0Q7Ozs7O0FDbmUvRCxrRkFBa0Y7O0FBRWxGO0lBQ0ksaUJBQWlCO0lBQ2pCLGNBQWM7SUFDZCxvQkFBb0I7QUFDeEI7O0FBRUE7SUFDSSxxQkFBcUI7QUFDekI7O0FBRUE7SUFDSSw4QkFBOEI7SUFDOUIsZUFBZTtJQUNmLHdCQUF3QjtJQUN4QixzQkFBc0I7SUFDdEIseUJBQXlCO0lBQ3pCLDRDQUE0QztJQUM1QyxzQkFBc0I7SUFDdEIsc0JBQXNCO0lBQ3RCLGFBQWE7SUFDYixtQkFBbUI7SUFDbkIsWUFBWTtBQUNoQjs7QUFFQTtJQUNJLDhCQUE4QjtJQUM5QixrQkFBa0I7SUFDbEIsa0JBQWtCO0FBQ3RCOztBQUVBLG1GQUFtRjs7QUFFbkY7SUFDSSxhQUFhO0lBQ2IsNERBQTREO0lBQzVELFNBQVM7QUFDYjs7QUFFQTtJQUNJLGdDQUFnQztJQUNoQyxxQ0FBcUM7SUFDckMsa0JBQWtCO0lBQ2xCLHlCQUF5QjtJQUN6QixhQUFhO0lBQ2Isc0JBQXNCO0lBQ3RCLFdBQVc7SUFDWCw2QkFBNkI7QUFDakM7O0FBRUE7SUFDSSwrQkFBK0I7QUFDbkM7O0FBRUE7SUFDSSw4QkFBOEI7SUFDOUIsa0JBQWtCO0lBQ2xCLHdCQUF3QjtJQUN4QixzQkFBc0I7QUFDMUI7O0FBRUE7SUFDSSxrQkFBa0I7SUFDbEIsOEJBQThCO0lBQzlCLHlCQUF5QjtJQUN6QixzQkFBc0I7QUFDMUI7O0FBRUE7SUFDSSxrQkFBa0I7SUFDbEIsOEJBQThCO0lBQzlCLGFBQWE7SUFDYixlQUFlO0lBQ2Ysa0JBQWtCO0lBQ2xCLG1CQUFtQjtJQUNuQixpQkFBaUI7QUFDckI7O0FBRUE7SUFDSSxrQkFBa0I7SUFDbEIsOEJBQThCO0lBQzlCLGtCQUFrQjtJQUNsQix5Q0FBeUM7SUFDekMsbUJBQW1CO0FBQ3ZCOztBQUVBO0lBQ0ksZ0JBQWdCO0lBQ2hCLFdBQVc7SUFDWCxrQkFBa0I7SUFDbEIsZUFBZTtBQUNuQjs7QUFFQTtJQUNJLFlBQVk7SUFDWixtQkFBbUI7QUFDdkI7O0FBRUEsbUZBQW1GOztBQUVuRjtJQUNJLGVBQWU7SUFDZixRQUFRO0lBQ1IsK0JBQStCO0lBQy9CLGFBQWE7SUFDYixtQkFBbUI7SUFDbkIsdUJBQXVCO0lBQ3ZCLFlBQVk7SUFDWixhQUFhO0FBQ2pCOztBQUVBO0lBQ0ksZ0NBQWdDO0lBQ2hDLG1DQUFtQztJQUNuQyxrQkFBa0I7SUFDbEIsYUFBYTtJQUNiLGdCQUFnQjtJQUNoQixXQUFXO0lBQ1gsZ0JBQWdCO0lBQ2hCLGdCQUFnQjtJQUNoQixhQUFhO0lBQ2Isc0JBQXNCO0lBQ3RCLFdBQVc7QUFDZjs7QUFFQTtJQUNJLDhCQUE4QjtJQUM5QixpQkFBaUI7SUFDakIsd0JBQXdCO0lBQ3hCLHFCQUFxQjtJQUNyQixrQkFBa0I7QUFDdEI7O0FBRUE7SUFDSSxhQUFhO0lBQ2IsZUFBZTtJQUNmLFlBQVk7SUFDWix1QkFBdUI7QUFDM0I7O0FBRUEsbUZBQW1GOztBQUVuRjtJQUNJLFlBQVk7SUFDWixrQkFBa0I7SUFDbEIscUNBQXFDO0lBQ3JDLGdCQUFnQjtJQUNoQixhQUFhO0lBQ2Isc0JBQXNCO0lBQ3RCLDJCQUEyQjtJQUMzQiwyQkFBMkI7QUFDL0I7O0FBRUE7SUFDSSwyQkFBMkI7QUFDL0I7O0FBRUE7SUFDSSxXQUFXO0lBQ1gsaUJBQWlCO0lBQ2pCLGlCQUFpQjtJQUNqQixjQUFjO0FBQ2xCOztBQUVBO0lBQ0ksaUJBQWlCO0lBQ2pCLGdCQUFnQjtJQUNoQix3QkFBd0I7SUFDeEIsNkJBQTZCO0lBQzdCLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGtCQUFrQjtJQUNsQiw4QkFBOEI7SUFDOUIseUJBQXlCO0FBQzdCOztBQUVBLG1DQUFtQztBQUNuQywyQkFBMkIsa0JBQWtCLEVBQUU7QUFDL0MsMkJBQTJCLHFCQUFxQixFQUFFO0FBQ2xELDJCQUEyQixxQkFBcUIsRUFBRTtBQUNsRCwyQkFBMkIscUJBQXFCLEVBQUU7QUFDbEQsMkJBQTJCLHFCQUFxQixFQUFFOztBQUVsRCxtRkFBbUY7O0FBRW5GO0lBQ0ksYUFBYTtJQUNiLHNCQUFzQjtJQUN0QixXQUFXO0FBQ2Y7O0FBRUE7SUFDSSxhQUFhO0lBQ2IsbUJBQW1CO0lBQ25CLFdBQVc7SUFDWCxrQkFBa0I7SUFDbEIsOEJBQThCO0lBQzlCLGlCQUFpQjtJQUNqQiw0Q0FBNEM7QUFDaEQ7O0FBRUE7SUFDSSxpQkFBaUI7SUFDakIsa0JBQWtCO0lBQ2xCLDhCQUE4QjtJQUM5QixZQUFZO0FBQ2hCOzs7OztBQ2pOQSxnRkFBZ0Y7O0FBRWhGO0lBQ0ksYUFBYTtJQUNiLG1CQUFtQjtJQUNuQixNQUFNO0lBQ04sZ0NBQWdDO0lBQ2hDLDRDQUE0QztJQUM1QyxpQkFBaUI7SUFDakIsWUFBWTtJQUNaLGdCQUFnQjtJQUNoQixNQUFNO0lBQ04sWUFBWTtBQUNoQjs7QUFFQTtJQUNJLDhCQUE4QjtJQUM5QixpQkFBaUI7SUFDakIscUJBQXFCO0lBQ3JCLHdCQUF3QjtJQUN4QixxQkFBcUI7SUFDckIscUJBQXFCO0lBQ3JCLDJDQUEyQztJQUMzQyxvQkFBb0I7SUFDcEIsbUJBQW1CO0FBQ3ZCOztBQUVBO0lBQ0ksYUFBYTtJQUNiLGdCQUFnQjtJQUNoQixTQUFTO0lBQ1QsVUFBVTtJQUNWLE1BQU07SUFDTixPQUFPO0FBQ1g7O0FBRUE7SUFDSSxjQUFjO0lBQ2QsZUFBZTtJQUNmLFlBQVk7SUFDWixpQkFBaUI7SUFDakIsa0JBQWtCO0lBQ2xCLDhCQUE4QjtJQUM5QixxQkFBcUI7SUFDckIsb0NBQW9DO0lBQ3BDLDJDQUEyQztJQUMzQyxtQkFBbUI7QUFDdkI7O0FBRUE7SUFDSSx3QkFBd0I7QUFDNUI7O0FBRUE7SUFDSSx3QkFBd0I7SUFDeEIsc0NBQXNDO0FBQzFDOztBQUVBO0lBQ0ksYUFBYTtJQUNiLG1CQUFtQjtJQUNuQixZQUFZO0lBQ1osaUJBQWlCO0lBQ2pCLGtCQUFrQjtJQUNsQiw4QkFBOEI7QUFDbEM7O0FBRUE7SUFDSSw4QkFBOEI7SUFDOUIscUJBQXFCO0lBQ3JCLGtCQUFrQjtJQUNsQix1QkFBdUI7QUFDM0I7QUFDQSw0QkFBNEIsd0JBQXdCLEVBQUU7QUFDdEQsOEJBQThCLGtDQUFrQyxFQUFFOztBQUVsRSxnRkFBZ0Y7O0FBRWhGO0lBQ0ksYUFBYTtJQUNiLFNBQVM7SUFDVCxtQkFBbUI7SUFDbkIsZUFBZTtBQUNuQjs7QUFFQTtJQUNJLGdDQUFnQztJQUNoQyxxQ0FBcUM7SUFDckMsb0JBQW9CO0lBQ3BCLGFBQWE7SUFDYixzQkFBc0I7SUFDdEIsbUJBQW1CO0lBQ25CLGdCQUFnQjtJQUNoQixXQUFXO0FBQ2Y7O0FBRUE7SUFDSSw4QkFBOEI7SUFDOUIsaUJBQWlCO0lBQ2pCLHdCQUF3QjtJQUN4QixjQUFjO0FBQ2xCOztBQUVBO0lBQ0ksa0JBQWtCO0lBQ2xCLDhCQUE4QjtJQUM5Qix5QkFBeUI7SUFDekIsc0JBQXNCO0FBQzFCOztBQUVBO0lBQ0ksYUFBYTtJQUNiLDREQUE0RDtJQUM1RCxTQUFTO0FBQ2I7O0FBRUE7SUFDSSxnQ0FBZ0M7SUFDaEMscUNBQXFDO0lBQ3JDLGdCQUFnQjtJQUNoQixhQUFhO0lBQ2Isc0JBQXNCO0lBQ3RCLFdBQVc7SUFDWCw2QkFBNkI7QUFDakM7O0FBRUE7SUFDSSxxQ0FBcUM7QUFDekM7O0FBRUE7SUFDSSw4QkFBOEI7SUFDOUIsZUFBZTtJQUNmLHdCQUF3QjtJQUN4QixzQkFBc0I7QUFDMUI7O0FBRUE7SUFDSSxrQkFBa0I7SUFDbEIsOEJBQThCO0lBQzlCLGdCQUFnQjtJQUNoQixPQUFPO0FBQ1g7O0FBRUE7SUFDSSxrQkFBa0I7SUFDbEIsOEJBQThCO0lBQzlCLHlDQUF5QztJQUN6QyxtQkFBbUI7QUFDdkI7O0FBRUE7SUFDSSxhQUFhO0lBQ2IsV0FBVztJQUNYLGVBQWU7SUFDZixvQkFBb0I7QUFDeEI7O0FBRUEsZ0ZBQWdGOztBQUVoRjtJQUNJLDJCQUEyQjtJQUMzQixpQkFBaUI7SUFDakIsd0JBQXdCO0lBQ3hCLDZCQUE2QjtBQUNqQzs7QUFFQTtJQUNJLGlCQUFpQjtJQUNqQixjQUFjO0lBQ2Qsb0JBQW9CO0FBQ3hCOztBQUVBO0lBQ0ksYUFBYTtJQUNiLG1CQUFtQjtJQUNuQiw4QkFBOEI7SUFDOUIscUJBQXFCO0lBQ3JCLG9CQUFvQjtJQUNwQiw0Q0FBNEM7QUFDaEQ7O0FBRUE7SUFDSSw4QkFBOEI7SUFDOUIsaUJBQWlCO0lBQ2pCLHdCQUF3QjtJQUN4QixzQkFBc0I7QUFDMUI7O0FBRUE7SUFDSSxrQkFBa0I7SUFDbEIsd0JBQXdCO0FBQzVCOztBQUVBLGdGQUFnRjs7QUFFaEY7SUFDSSxxQkFBcUI7SUFDckIsc0JBQXNCO0lBQ3RCLDZCQUE2QjtJQUM3QixjQUFjO0lBQ2QsWUFBWTtJQUNaLDhCQUE4QjtJQUM5QixpQkFBaUI7SUFDakIsc0JBQXNCO0lBQ3RCLGVBQWU7SUFDZixxQkFBcUI7SUFDckIseUJBQXlCO0FBQzdCO0FBQ0EscUJBQXFCLGFBQWEsRUFBRTs7QUFFcEM7SUFDSSxxQkFBcUI7SUFDckIsb0JBQW9CO0lBQ3BCLHVCQUF1QjtJQUN2Qix3QkFBd0I7SUFDeEIscUNBQXFDO0lBQ3JDLDZCQUE2QjtJQUM3QixrQkFBa0I7SUFDbEIsZUFBZTtJQUNmLHFCQUFxQjtJQUNyQiw4QkFBOEI7QUFDbEM7QUFDQSx1QkFBdUIsK0JBQStCLEVBQUUsd0JBQXdCLEVBQUU7O0FBRWxGO0lBQ0kscUJBQXFCO0lBQ3JCLG9CQUFvQjtJQUNwQiw4QkFBOEI7SUFDOUIsa0JBQWtCO0lBQ2xCLHFCQUFxQjtJQUNyQix1QkFBdUI7QUFDM0I7QUFDQSxtQkFBbUIsd0JBQXdCLEVBQUU7O0FBRTdDO0lBQ0kscUJBQXFCO0lBQ3JCLG9CQUFvQjtJQUNwQix1QkFBdUI7SUFDdkIseUJBQXlCO0lBQ3pCLG9DQUFvQztJQUNwQyxrQkFBa0I7SUFDbEIsZUFBZTtJQUNmLDRCQUE0QjtBQUNoQztBQUNBLG9CQUFvQixpQ0FBaUMsRUFBRTs7QUFFdkQ7SUFDSSxvQkFBb0I7SUFDcEIsbUJBQW1CO0lBQ25CLHVCQUF1QjtJQUN2QixXQUFXLEVBQUUsWUFBWTtJQUN6QixxQ0FBcUM7SUFDckMsdUJBQXVCO0lBQ3ZCLDhCQUE4QjtJQUM5QixpQkFBaUI7SUFDakIsZUFBZTtJQUNmLHFCQUFxQjtJQUNyQiwyQ0FBMkM7QUFDL0M7QUFDQSxrQkFBa0IsK0JBQStCLEVBQUUsd0JBQXdCLEVBQUU7QUFDN0UseUJBQXlCLGdDQUFnQyxFQUFFLHlCQUF5QixFQUFFOztBQUV0RixnRkFBZ0Y7O0FBRWhGO0lBQ0ksb0JBQW9CO0lBQ3BCLG1CQUFtQjtJQUNuQixpQkFBaUI7QUFDckI7QUFDQTtJQUNJLG9DQUFvQztJQUNwQyw4QkFBOEI7SUFDOUIsY0FBYztBQUNsQjs7QUFFQSxnRkFBZ0Y7O0FBRWhGO0lBQ0ksYUFBYTtJQUNiLG1CQUFtQjtJQUNuQixXQUFXO0lBQ1gscUJBQXFCO0lBQ3JCLGVBQWU7QUFDbkI7O0FBRUE7SUFDSSxpQ0FBaUM7SUFDakMscUNBQXFDO0lBQ3JDLHdCQUF3QjtJQUN4Qix3QkFBd0I7SUFDeEIsa0JBQWtCO0lBQ2xCLDZCQUE2QjtJQUM3QixhQUFhO0lBQ2IsOEJBQThCO0FBQ2xDO0FBQ0EsZ0JBQWdCLGdCQUFnQixFQUFFO0FBQ2xDLDRDQUE0QywrQkFBK0IsRUFBRTs7QUFFN0U7SUFDSSxpQkFBaUI7SUFDakIsOEJBQThCO0lBQzlCLGtCQUFrQjtBQUN0Qjs7QUFFQSxnRkFBZ0Y7O0FBRWhGLG9CQUFvQixnQkFBZ0IsRUFBRTs7QUFFdEM7SUFDSSxXQUFXO0lBQ1gseUJBQXlCO0lBQ3pCLGtCQUFrQjtBQUN0Qjs7QUFFQTtJQUNJLGdCQUFnQjtJQUNoQix3QkFBd0I7SUFDeEIsaUNBQWlDO0lBQ2pDLDRDQUE0QztJQUM1Qyw4QkFBOEI7SUFDOUIsa0JBQWtCO0lBQ2xCLHlCQUF5QjtJQUN6QixzQkFBc0I7SUFDdEIsbUJBQW1CO0FBQ3ZCOztBQUVBO0lBQ0ksdUJBQXVCO0lBQ3ZCLCtDQUErQztJQUMvQyxzQkFBc0I7QUFDMUI7O0FBRUEsMkJBQTJCLGtDQUFrQyxFQUFFOztBQUUvRCxjQUFjLGtCQUFrQixFQUFFO0FBQ2xDLGVBQWUsV0FBVyxFQUFFLGlCQUFpQixFQUFFLG1CQUFtQixFQUFFOztBQUVwRSxrQkFBa0IsYUFBYSxFQUFFLG1CQUFtQixFQUFFLFdBQVcsRUFBRTtBQUNuRSxzQkFBc0IsY0FBYyxFQUFFLGtCQUFrQixFQUFFLDhCQUE4QixFQUFFOztBQUUxRixRQUFRLHNCQUFzQixFQUFFLGtCQUFrQixFQUFFO0FBQ3BELGFBQWEsa0JBQWtCLEVBQUUsOEJBQThCLEVBQUUsYUFBYSxFQUFFOztBQUVoRixnQkFBZ0I7QUFDaEIsY0FBYyxxQkFBcUIsRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLGtCQUFrQixFQUFFLGNBQWMsRUFBRTtBQUNsRyxZQUFZLG1CQUFtQixFQUFFO0FBQ2pDLFlBQVksbUJBQW1CLEVBQUU7QUFDakMsWUFBWSxtQkFBbUIsRUFBRTtBQUNqQyxZQUFZLG1CQUFtQixFQUFFO0FBQ2pDLFlBQVksbUJBQW1CLEVBQUU7O0FBRWpDLGdCQUFnQjtBQUNoQjtJQUNJLHFCQUFxQjtJQUNyQix1QkFBdUI7SUFDdkIsa0JBQWtCO0lBQ2xCLGtCQUFrQjtJQUNsQiw4QkFBOEI7SUFDOUIsc0JBQXNCO0lBQ3RCLGtDQUFrQztJQUNsQyw4QkFBOEI7SUFDOUIsNkJBQTZCO0FBQ2pDO0FBQ0EsdUJBQXVCLGNBQWMsRUFBRSx1QkFBdUIsRUFBRTtBQUNoRSx1QkFBdUIsY0FBYyxFQUFFLHVCQUF1QixFQUFFO0FBQ2hFLHVCQUF1QixjQUFjLEVBQUUsdUJBQXVCLEVBQUU7QUFDaEUsdUJBQXVCLGNBQWMsRUFBRSx1QkFBdUIsRUFBRTtBQUNoRSx1QkFBdUIsY0FBYyxFQUFFLHVCQUF1QixFQUFFO0FBQ2hFLHVCQUF1QixjQUFjLEVBQUUsdUJBQXVCLEVBQUU7QUFDaEUsdUJBQXVCLGNBQWMsRUFBRSx1QkFBdUIsRUFBRTs7QUFFaEUsZ0ZBQWdGOztBQUVoRjtJQUNJLGFBQWE7SUFDYixnQ0FBZ0M7SUFDaEMsV0FBVztJQUNYLGtCQUFrQjtBQUN0Qjs7QUFFQTtJQUNJLGVBQWUsMEJBQTBCLEVBQUU7SUFDM0MsdUJBQXVCLFNBQVMsRUFBRTtBQUN0Qzs7QUFFQSxnRkFBZ0Y7O0FBRWhGO0lBQ0ksaUNBQWlDO0lBQ2pDLHFDQUFxQztJQUNyQyxzQkFBc0I7SUFDdEIsbUJBQW1CO0lBQ25CLHdCQUF3QjtBQUM1Qjs7QUFFQTtJQUNJLDhCQUE4QjtJQUM5QixrQkFBa0I7SUFDbEIseUJBQXlCO0lBQ3pCLHFCQUFxQjtJQUNyQix3QkFBd0I7SUFDeEIsZ0JBQWdCO0FBQ3BCO0FBQ0E7SUFDSSw2QkFBNkI7SUFDN0Isb0JBQW9CO0lBQ3BCLGlCQUFpQjtJQUNqQiw4QkFBOEI7SUFDOUIsaUJBQWlCO0FBQ3JCOztBQUVBLFlBQVksYUFBYSxFQUFFLDhCQUE4QixFQUFFLFNBQVMsRUFBRTtBQUN0RSxrQkFBa0IscUNBQXFDLEVBQUU7O0FBRXpELGNBQWMscUJBQXFCLEVBQUU7QUFDckMsbUJBQW1CLGNBQWMsRUFBRTs7QUFFbkM7SUFDSSxjQUFjO0lBQ2Qsa0JBQWtCO0lBQ2xCLHlCQUF5QjtJQUN6QixzQkFBc0I7SUFDdEIsOEJBQThCO0lBQzlCLHNCQUFzQjtBQUMxQjs7QUFFQTs7O0lBR0ksV0FBVztJQUNYLGlDQUFpQztJQUNqQyxxQ0FBcUM7SUFDckMsd0JBQXdCO0lBQ3hCLHVCQUF1QjtJQUN2QixrQkFBa0I7SUFDbEIsNkJBQTZCO0lBQzdCLGFBQWE7SUFDYiw4QkFBOEI7SUFDOUIsc0JBQXNCO0FBQzFCO0FBQ0E7OzZCQUU2QiwrQkFBK0IsRUFBRTs7QUFFOUQ7SUFDSSxjQUFjO0lBQ2Qsa0JBQWtCO0lBQ2xCLDhCQUE4QjtJQUM5QixrQkFBa0I7QUFDdEI7QUFDQTtJQUNJLGtDQUFrQztJQUNsQyxzQkFBc0I7SUFDdEIsa0JBQWtCO0FBQ3RCOztBQUVBLGdCQUFnQixhQUFhLEVBQUUsWUFBWSxFQUFFLG1CQUFtQixFQUFFLGtCQUFrQixFQUFFOztBQUV0RixnRkFBZ0Y7O0FBRWhGO0lBQ0ksYUFBYTtJQUNiLHNDQUFzQztJQUN0QyxtQ0FBbUM7SUFDbkMsUUFBUTtJQUNSLG1CQUFtQjtBQUN2Qjs7QUFFQTtJQUNJLGFBQWE7SUFDYixtQkFBbUI7SUFDbkIsdUJBQXVCO0lBQ3ZCLGtCQUFrQjtJQUNsQixzQkFBc0I7SUFDdEIscUNBQXFDO0FBQ3pDO0FBQ0EsZUFBZSxpQ0FBaUMsRUFBRSx3QkFBd0IsRUFBRSxrQ0FBa0MsRUFBRTtBQUNoSCxlQUFlLGtDQUFrQyxFQUFFLDhCQUE4QixFQUFFO0FBQ25GLGtCQUFrQix5QkFBeUIsRUFBRTtBQUM3QyxjQUFjLDhCQUE4QixFQUFFO0FBQzlDLGVBQWUsY0FBYyxFQUFFLGtCQUFrQixFQUFFOztBQUVuRCxnRkFBZ0Y7O0FBRWhGLHVCQUF1QixnQkFBZ0IsRUFBRSxXQUFXLEVBQUU7O0FBRXREO0lBQ0ksOEJBQThCO0lBQzlCLGlCQUFpQjtJQUNqQix5QkFBeUI7SUFDekIscUJBQXFCO0lBQ3JCLDhCQUE4QjtJQUM5QixzQkFBc0I7QUFDMUI7O0FBRUE7SUFDSSxvQkFBb0I7SUFDcEIsWUFBWTtJQUNaLGlCQUFpQjtJQUNqQiw2REFBNkQ7SUFDN0QscUNBQXFDO0lBQ3JDLDRFQUE0RTtJQUM1RSxhQUFhO0lBQ2Isc0JBQXNCO0lBQ3RCLGtCQUFrQjtJQUNsQixnQkFBZ0I7SUFDaEIsNkJBQTZCO0FBQ2pDOztBQUVBO0lBQ0ksa0JBQWtCO0lBQ2xCLFFBQVEsRUFBRSxVQUFVO0lBQ3BCLDhCQUE4QjtJQUM5QixrQkFBa0I7SUFDbEIscUJBQXFCO0lBQ3JCLHlCQUF5QjtJQUN6QiwwQkFBMEI7SUFDMUIsMkJBQTJCO0lBQzNCLHVCQUF1QjtJQUN2Qiw4QkFBOEI7SUFDOUIsc0JBQXNCO0FBQzFCOztBQUVBO0lBQ0ksYUFBYTtJQUNiLGdGQUFnRjtJQUNoRiwrQ0FBK0M7SUFDL0Msa0JBQWtCO0FBQ3RCO0FBQ0E7SUFDSSxrQkFBa0IsRUFBRSxRQUFRO0lBQzVCLGFBQWEsRUFBRSxtQkFBbUIsRUFBRSx1QkFBdUI7QUFDL0Q7QUFDQTtJQUNJLFlBQVk7SUFDWixpQkFBaUI7SUFDakIsNkJBQTZCO0FBQ2pDOztBQUVBO0lBQ0ksdUJBQXVCO0lBQ3ZCLE9BQU87SUFDUCxhQUFhO0lBQ2Isc0JBQXNCO0lBQ3RCLFdBQVc7QUFDZjs7QUFFQTtJQUNJLGtCQUFrQjtJQUNsQix5QkFBeUI7SUFDekIscUJBQXFCO0lBQ3JCLDBCQUEwQjtJQUMxQixtQkFBbUI7SUFDbkIsc0JBQXNCO0FBQzFCOztBQUVBO0lBQ0ksOEJBQThCO0lBQzlCLGVBQWU7SUFDZixjQUFjO0lBQ2Qsc0JBQXNCO0lBQ3RCLGdCQUFnQjtBQUNwQjs7QUFFQSxZQUFZLGFBQWEsRUFBRSxXQUFXLEVBQUUsZUFBZSxFQUFFLGtCQUFrQixFQUFFOztBQUU3RTtJQUNJLGtCQUFrQjtJQUNsQixzQkFBc0I7SUFDdEIsd0JBQXdCO0lBQ3hCLGtDQUFrQztJQUNsQyx1Q0FBdUM7SUFDdkMsOEJBQThCO0lBQzlCLG1CQUFtQjtBQUN2QjtBQUNBLFdBQVcsY0FBYyxFQUFFLG1DQUFtQyxFQUFFO0FBQ2hFLFdBQVcsY0FBYyxFQUFFLG1DQUFtQyxFQUFFO0FBQ2hFLFdBQVcsY0FBYyxFQUFFLG1DQUFtQyxFQUFFO0FBQ2hFLFdBQVcsY0FBYyxFQUFFLG1DQUFtQyxFQUFFOztBQUVoRTtJQUNJLHNCQUFzQjtJQUN0QixrQkFBa0I7SUFDbEIsOEJBQThCO0FBQ2xDOztBQUVBO0lBQ0ksa0JBQWtCO0lBQ2xCLDhCQUE4QjtJQUM5QixnQkFBZ0I7SUFDaEIsa0JBQWtCO0lBQ2xCLGdCQUFnQjtJQUNoQixtQkFBbUI7SUFDbkIsNENBQTRDO0lBQzVDLGtCQUFrQjtBQUN0Qjs7QUFFQTtJQUNJLGtCQUFrQjtJQUNsQiw4QkFBOEI7SUFDOUIsa0JBQWtCO0lBQ2xCLHNCQUFzQjtJQUN0Qix5QkFBeUI7SUFDekIsZUFBZTtJQUNmLHVDQUF1QztBQUMzQzs7QUFFQTtJQUNJLFdBQVc7SUFDWCxZQUFZO0lBQ1osaUJBQWlCO0lBQ2pCLGNBQWM7QUFDbEI7O0FBRUEsZ0ZBQWdGOztBQUVoRixpQkFBaUIsbUJBQW1CLEVBQUU7O0FBRXRDO0lBQ0ksY0FBYztJQUNkLGdCQUFnQjtJQUNoQixpQkFBaUI7SUFDakIsaUJBQWlCO0lBQ2pCLHFDQUFxQztBQUN6Qzs7QUFFQTtJQUNJLGtCQUFrQjtJQUNsQixzQ0FBc0M7SUFDdEMsaUNBQWlDO0lBQ2pDLGlCQUFpQjtJQUNqQixhQUFhO0lBQ2IsbUJBQW1CO0lBQ25CLHVCQUF1QjtJQUN2QixlQUFlO0lBQ2YsOENBQThDO0lBQzlDLGdCQUFnQjtBQUNwQjs7QUFFQTs7SUFFSSwrQkFBK0I7SUFDL0Isb0NBQW9DO0FBQ3hDOztBQUVBO0lBQ0ksa0JBQWtCO0lBQ2xCLFFBQVE7SUFDUixVQUFVO0lBQ1YsZUFBZTtJQUNmLFdBQVc7SUFDWCxZQUFZO0lBQ1osVUFBVTtBQUNkOztBQUVBO0lBQ0ksYUFBYTtJQUNiLHNCQUFzQjtJQUN0QixtQkFBbUI7SUFDbkIsV0FBVztJQUNYLDhCQUE4QjtJQUM5QixrQkFBa0I7SUFDbEIsb0JBQW9CO0lBQ3BCLGtCQUFrQjtJQUNsQixhQUFhO0lBQ2IsVUFBVTtBQUNkOztBQUVBO0lBQ0ksaUJBQWlCO0lBQ2pCLDBCQUEwQjtBQUM5Qjs7QUFFQTtJQUNJLGtCQUFrQjtJQUNsQiw2QkFBNkI7QUFDakM7O0FBRUE7SUFDSSxrQkFBa0I7SUFDbEIsUUFBUTtJQUNSLFdBQVc7SUFDWCxZQUFZO0lBQ1osbUJBQW1CO0lBQ25CLG1CQUFtQjtJQUNuQixVQUFVO0FBQ2QiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9hc3NldHMvc3R5bGVzL2FwcC5jc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL3N0eWxlcy9Xb3JsZC93b3JsZC5jc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL3N0eWxlcy9QbGF5ZXIvcGxheWVyLmNzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvc3R5bGVzL1BsYXllci9pbnZlbnRvcnkuY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9zdHlsZXMvQWRtaW4vYWRtaW4uY3NzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qIOKUgOKUgCBEeWxlcmlhIEZvbnQg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAICovXG5AZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogJ0R5bGVyaWEnO1xuICAgIHNyYzogdXJsKCcuLi9mb250cy9mb250X2R5bGVyaWEub3RmJykgZm9ybWF0KCdvcGVudHlwZScpO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xufVxuXG4vKiDilIDilIAgQ1NTIFZhcmlhYmxlcyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIAgKi9cbjpyb290IHtcbiAgICAtLWNvbG9yLWJnOiAgICAgICAgICAgIzBjMGMxMjtcbiAgICAtLWNvbG9yLWJnLXBhbmVsOiAgICAgIzE2MTYxZjtcbiAgICAtLWNvbG9yLWJnLWlucHV0OiAgICAgIzBlMGUxNjtcbiAgICAtLWNvbG9yLWJvcmRlcjogICAgICAgIzJlMmU0MDtcbiAgICAtLWNvbG9yLWJvcmRlci1ob3ZlcjogI2M5YTg0YztcbiAgICAtLWNvbG9yLWdvbGQ6ICAgICAgICAgI2M5YTg0YztcbiAgICAtLWNvbG9yLWdvbGQtbGlnaHQ6ICAgI2U4Y2M3YTtcbiAgICAtLWNvbG9yLXRleHQ6ICAgICAgICAgI2Q4ZDBjMDtcbiAgICAtLWNvbG9yLXRleHQtbXV0ZWQ6ICAgIzdhN2E5MDtcbiAgICAtLWNvbG9yLWVycm9yOiAgICAgICAgI2MwMzkyYjtcbiAgICAtLWNvbG9yLWVycm9yLWJnOiAgICAgIzJhMGYwZjtcbiAgICAtLWZvbnQtdGl0bGU6ICAgICAgICAgJ0R5bGVyaWEnLCBHZW9yZ2lhLCBzZXJpZjtcbiAgICAtLWZvbnQtYm9keTogICAgICAgICAgJ1NlZ29lIFVJJywgc3lzdGVtLXVpLCBzYW5zLXNlcmlmO1xufVxuXG4vKiDilIDilIAgUmVzZXQg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAICovXG4qLCAqOjpiZWZvcmUsICo6OmFmdGVyIHsgYm94LXNpemluZzogYm9yZGVyLWJveDsgbWFyZ2luOiAwOyBwYWRkaW5nOiAwOyB9XG5cbmh0bWwsIGJvZHkge1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iZyk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQpO1xuICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWJvZHkpO1xuICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICBsaW5lLWhlaWdodDogMS42O1xufVxuXG5hIHsgY29sb3I6IHZhcigtLWNvbG9yLWdvbGQpOyB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbmE6aG92ZXIgeyBjb2xvcjogdmFyKC0tY29sb3ItZ29sZC1saWdodCk7IH1cbiIsIi8qIOKUgOKUgCBMb2dpbiBQYWdlIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgCAqL1xuXG4ubG9naW4tcGFnZSB7XG4gICAgbWluLWhlaWdodDogMTAwdmg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYmFja2dyb3VuZDpcbiAgICAgICAgcmFkaWFsLWdyYWRpZW50KGVsbGlwc2UgYXQgNTAlIDAlLCAjMWEyYTNhIDAlLCB0cmFuc3BhcmVudCA2MCUpLFxuICAgICAgICByYWRpYWwtZ3JhZGllbnQoZWxsaXBzZSBhdCA1MCUgMTAwJSwgIzBhMGExNCAwJSwgdHJhbnNwYXJlbnQgNzAlKSxcbiAgICAgICAgbGluZWFyLWdyYWRpZW50KDE4MGRlZywgIzBjMGUxNCAwJSwgIzA4MDgwZiAxMDAlKTtcbiAgICBwYWRkaW5nOiAycmVtO1xufVxuXG4ubG9naW4tbG9nbyB7XG4gICAgd2lkdGg6IDMyMHB4O1xuICAgIG1heC13aWR0aDogOTB2dztcbiAgICBtYXJnaW4tYm90dG9tOiAyLjVyZW07XG4gICAgZmlsdGVyOiBkcm9wLXNoYWRvdygwIDAgMjRweCByZ2JhKDIwMSwgMTY4LCA3NiwgMC4yNSkpO1xufVxuXG4ubG9naW4tYm94IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXgtd2lkdGg6IDQwMHB4O1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLXBhbmVsKTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXIpO1xuICAgIGJvcmRlci10b3A6IDJweCBzb2xpZCB2YXIoLS1jb2xvci1nb2xkKTtcbiAgICBwYWRkaW5nOiAyLjVyZW0gMnJlbTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5sb2dpbi1ib3g6OmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDsgbGVmdDogMDsgcmlnaHQ6IDA7XG4gICAgaGVpZ2h0OiAxcHg7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDkwZGVnLCB0cmFuc3BhcmVudCwgdmFyKC0tY29sb3ItZ29sZCksIHRyYW5zcGFyZW50KTtcbn1cblxuLmxvZ2luLWJveCBoMiB7XG4gICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtdGl0bGUpO1xuICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1nb2xkKTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbWFyZ2luLWJvdHRvbTogMS44cmVtO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjA4ZW07XG59XG5cbi8qIOKUgOKUgCBGb3JtIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgCAqL1xuXG4uZm9ybS1maWVsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMS4ycmVtO1xufVxuXG4uZm9ybS1maWVsZCBsYWJlbCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1zaXplOiAwLjhyZW07XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4xZW07XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbXV0ZWQpO1xuICAgIG1hcmdpbi1ib3R0b206IDAuNHJlbTtcbn1cblxuLmZvcm0tZmllbGQgaW5wdXQge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLWlucHV0KTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXIpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0KTtcbiAgICBwYWRkaW5nOiAwLjY1cmVtIDAuOXJlbTtcbiAgICBmb250LXNpemU6IDAuOTVyZW07XG4gICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtYm9keSk7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC4ycztcbn1cblxuLmZvcm0tZmllbGQgaW5wdXQ6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItZ29sZCk7XG59XG5cbi5sb2dpbi1zdWJtaXQge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi10b3A6IDEuOHJlbTtcbiAgICBwYWRkaW5nOiAwLjc1cmVtO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWdvbGQpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1nb2xkKTtcbiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC10aXRsZSk7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjEyZW07XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4ycywgY29sb3IgMC4ycztcbn1cblxuLmxvZ2luLXN1Ym1pdDpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItZ29sZCk7XG4gICAgY29sb3I6ICMwYzBjMTI7XG59XG5cbi8qIOKUgOKUgCBFcnJvciDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIAgKi9cblxuLmxvZ2luLWVycm9yIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1lcnJvci1iZyk7XG4gICAgYm9yZGVyLWxlZnQ6IDNweCBzb2xpZCB2YXIoLS1jb2xvci1lcnJvcik7XG4gICAgY29sb3I6ICNlMDcwNzA7XG4gICAgcGFkZGluZzogMC42NXJlbSAwLjlyZW07XG4gICAgZm9udC1zaXplOiAwLjg4cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDEuNHJlbTtcbn1cblxuLmZvcm0tZXJyb3JzLCB1bC5mb3JtLWVycm9yIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIG1hcmdpbjogMC4zcmVtIDAgMDtcbiAgICBwYWRkaW5nOiAwO1xufVxuXG4uZm9ybS1lcnJvcnMgbGksIHVsLmZvcm0tZXJyb3IgbGkge1xuICAgIGZvbnQtc2l6ZTogMC44MnJlbTtcbiAgICBjb2xvcjogI2UwNzA3MDtcbn1cblxuLyog4pSA4pSAIFN1Y2Nlc3Mg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAICovXG5cbi5mb3JtLXN1Y2Nlc3Mge1xuICAgIGJhY2tncm91bmQ6IHJnYmEoNzYsIDIwMSwgMTIwLCAwLjA4KTtcbiAgICBib3JkZXItbGVmdDogM3B4IHNvbGlkICM0Y2M5Nzg7XG4gICAgY29sb3I6ICM3ZGUwYTA7XG4gICAgcGFkZGluZzogMC42NXJlbSAwLjlyZW07XG4gICAgZm9udC1zaXplOiAwLjg4cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDEuNHJlbTtcbn1cblxuLyog4pSA4pSAIFJlZ2lzdGVyIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgCAqL1xuXG4ucmVnaXN0ZXItYm94IHtcbiAgICBtYXgtd2lkdGg6IDQ0MHB4O1xufVxuXG4ucmVnaXN0ZXItbG9naW4tbGluayB7XG4gICAgbWFyZ2luLXRvcDogMS40cmVtO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBmb250LXNpemU6IDAuODVyZW07XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbXV0ZWQpO1xufVxuXG4ucmVnaXN0ZXItbG9naW4tbGluayBhIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItZ29sZCk7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4ucmVnaXN0ZXItbG9naW4tbGluayBhOmhvdmVyIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cbiIsIi8qIOKUgOKUgCBUb3AgTmF2aWdhdGlvbiBCYXIgKFBvcnRhbC1TdHlsZSkg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAICovXG5cbi5wb3J0YWwtbmF2IHtcbiAgICBoZWlnaHQ6IDU2cHg7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgIzFlMWUyOCAwJSwgIzE0MTQxYyAxMDAlKTtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyKTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIHBhZGRpbmc6IDAgMS41cmVtO1xuICAgIHBvc2l0aW9uOiBzdGlja3k7XG4gICAgdG9wOiAwO1xuICAgIHotaW5kZXg6IDEwMDtcbn1cblxuLnBvcnRhbC1uYXZfX2xvZ28ge1xuICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LXRpdGxlKTtcbiAgICBmb250LXNpemU6IDEuMXJlbTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItZ29sZCk7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMWVtO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLnBvcnRhbC1uYXZfX2xvZ286aG92ZXIgeyBjb2xvcjogdmFyKC0tY29sb3ItZ29sZC1saWdodCk7IH1cblxuLnBvcnRhbC1uYXZfX2xpbmtzIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGdhcDogMC4yNXJlbTtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xufVxuXG4ucG9ydGFsLW5hdl9fbGlua3MgYSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogMC4zNXJlbSAwLjlyZW07XG4gICAgZm9udC1zaXplOiAwLjhyZW07XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4wOGVtO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LW11dGVkKTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjE1cywgYm9yZGVyLWNvbG9yIDAuMTVzO1xufVxuXG4ucG9ydGFsLW5hdl9fbGlua3MgYTpob3Zlcixcbi5wb3J0YWwtbmF2X19saW5rcyBhLmFjdGl2ZSB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWdvbGQpO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItYm9yZGVyKTtcbn1cblxuLnBvcnRhbC1uYXZfX3VzZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDFyZW07XG4gICAgZm9udC1zaXplOiAwLjgycmVtO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LW11dGVkKTtcbn1cblxuLnBvcnRhbC1uYXZfX3VzZXIgc3Ryb25nIHsgY29sb3I6IHZhcigtLWNvbG9yLXRleHQpOyB9XG5cbi5wb3J0YWwtbmF2X19sb2dvdXQge1xuICAgIGZvbnQtc2l6ZTogMC43OHJlbTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjA4ZW07XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbXV0ZWQpO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlcik7XG4gICAgcGFkZGluZzogMC4yNXJlbSAwLjdyZW07XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC4xNXMsIGJvcmRlci1jb2xvciAwLjE1cztcbn1cblxuLnBvcnRhbC1uYXZfX2xvZ291dDpob3ZlciB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWdvbGQpO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItZ29sZCk7XG59XG5cbi8qIOKUgOKUgCBEYXNoYm9hcmQg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAICovXG5cbi5kYXNoYm9hcmQge1xuICAgIG1heC13aWR0aDogMTIwMHB4O1xuICAgIG1hcmdpbjogMi41cmVtIGF1dG87XG4gICAgcGFkZGluZzogMCAxLjVyZW07XG59XG5cbi5kYXNoYm9hcmRfX3dlbGNvbWUge1xuICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LXRpdGxlKTtcbiAgICBmb250LXNpemU6IDJyZW07XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWdvbGQpO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjA2ZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMC40cmVtO1xufVxuXG4uZGFzaGJvYXJkX19zdWJ0aXRsZSB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbXV0ZWQpO1xuICAgIGZvbnQtc2l6ZTogMC44OHJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAyLjVyZW07XG4gICAgcGFkZGluZy1ib3R0b206IDEuNXJlbTtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyKTtcbn1cblxuLmRhc2hib2FyZF9fc2VjdGlvbi10aXRsZSB7XG4gICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtdGl0bGUpO1xuICAgIGZvbnQtc2l6ZTogMS4xcmVtO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LW11dGVkKTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjA4ZW07XG4gICAgbWFyZ2luOiAwIDAgMC43NXJlbTtcbn1cblxuLmRhc2hib2FyZF9fbWF0Y2hlcyB7XG4gICAgbWFyZ2luLWJvdHRvbTogMnJlbTtcbn1cblxuLmRhc2hib2FyZF9fbm8tbWF0Y2hlcyB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbXV0ZWQpO1xuICAgIGZvbnQtc2l6ZTogMC44OHJlbTtcbn1cblxuLm1hdGNoLWxpc3Qge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IDAuNHJlbTtcbn1cblxuLm1hdGNoLWxpc3RfX2l0ZW0ge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgYXV0byBhdXRvIGF1dG87XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDFyZW07XG4gICAgcGFkZGluZzogMC42cmVtIDFyZW07XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctcGFuZWwpO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlcik7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC4xNXM7XG59XG4ubWF0Y2gtbGlzdF9faXRlbTpob3ZlciB7IGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItYm9yZGVyLWhvdmVyKTsgfVxuLm1hdGNoLWxpc3RfX2l0ZW0tLW15LXR1cm4geyBib3JkZXItY29sb3I6ICMyYTZhMmE7IGJhY2tncm91bmQ6ICMwYTFhMGE7IH1cblxuLm1hdGNoLWxpc3RfX29wcG9uZW50IHsgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cbi5tYXRjaC1saXN0X190dXJuICAgICB7IGZvbnQtc2l6ZTogMC44cmVtOyBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1tdXRlZCk7IH1cbi5tYXRjaC1saXN0X19zdGF0dXMgICB7IGZvbnQtc2l6ZTogMC44NXJlbTsgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbXV0ZWQpOyB9XG4ubWF0Y2gtbGlzdF9feW91ci10dXJuIHsgY29sb3I6ICM0Y2FmNTA7IH1cbi5tYXRjaC1saXN0X19qb2luICAgICB7IGZvbnQtc2l6ZTogMC44cmVtOyBjb2xvcjogdmFyKC0tY29sb3ItYWNjZW50LCAjYzlhODRjKTsgfVxuXG4uZGFzaGJvYXJkX19ncmlkIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZmlsbCwgbWlubWF4KDI2MHB4LCAxZnIpKTtcbiAgICBnYXA6IDFyZW07XG59XG5cbi5kYXNoYm9hcmQtY2FyZCB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctcGFuZWwpO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlcik7XG4gICAgcGFkZGluZzogMS41cmVtO1xuICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjJzO1xufVxuXG4uZGFzaGJvYXJkLWNhcmQ6aG92ZXIgeyBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLWJvcmRlci1ob3Zlcik7IH1cblxuLmRhc2hib2FyZC1jYXJkX190aXRsZSB7XG4gICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtdGl0bGUpO1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItZ29sZCk7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMDZlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG59XG5cbi5kYXNoYm9hcmQtY2FyZF9fYm9keSB7XG4gICAgZm9udC1zaXplOiAwLjg1cmVtO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LW11dGVkKTtcbn1cblxuLyog4pSA4pSAIENvbGxlY3Rpb24gUGFnZSDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIAgKi9cblxuLmNvbGxlY3Rpb24tcGFnZSB7XG4gICAgbWF4LXdpZHRoOiAxNDAwcHg7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgcGFkZGluZzogMnJlbSAxLjVyZW07XG59XG5cbi5jb2xsZWN0aW9uLWhlYWRlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIG1hcmdpbi1ib3R0b206IDEuNXJlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMXJlbTtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyKTtcbn1cblxuLmNvbGxlY3Rpb24tdGl0bGUge1xuICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LXRpdGxlKTtcbiAgICBmb250LXNpemU6IDEuOHJlbTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItZ29sZCk7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMDZlbTtcbiAgICBtYXJnaW46IDAgMCAwLjI1cmVtO1xufVxuXG4uY29sbGVjdGlvbi1zdWJ0aXRsZSB7XG4gICAgZm9udC1zaXplOiAwLjgycmVtO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LW11dGVkKTtcbiAgICBtYXJnaW46IDA7XG59XG5cbi8qIOKUgOKUgCBGaWx0ZXIgQmFyIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgCAqL1xuXG4uY29sbGVjdGlvbi1maWx0ZXJiYXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGdhcDogMC41cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDEuNXJlbTtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4uZmlsdGVyLXNlYXJjaCB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctaW5wdXQsICMxYTFhMjQpO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlcik7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQpO1xuICAgIHBhZGRpbmc6IDAuNHJlbSAwLjc1cmVtO1xuICAgIGZvbnQtc2l6ZTogMC44NXJlbTtcbiAgICB3aWR0aDogMjIwcHg7XG4gICAgb3V0bGluZTogbm9uZTtcbn1cbi5maWx0ZXItc2VhcmNoOmZvY3VzIHsgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1nb2xkKTsgfVxuXG4uZmlsdGVyLXNlbGVjdCB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctaW5wdXQsICMxYTFhMjQpO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlcik7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQpO1xuICAgIHBhZGRpbmc6IDAuNHJlbSAwLjc1cmVtO1xuICAgIGZvbnQtc2l6ZTogMC44NXJlbTtcbiAgICBvdXRsaW5lOiBub25lO1xufVxuLmZpbHRlci1zZWxlY3Q6Zm9jdXMgeyBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLWdvbGQpOyB9XG5cbi5maWx0ZXItYnRuIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1nb2xkKTtcbiAgICBjb2xvcjogIzFhMTIwODtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgcGFkZGluZzogMC40cmVtIDFyZW07XG4gICAgZm9udC1zaXplOiAwLjgycmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4wNmVtO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMTVzO1xufVxuLmZpbHRlci1idG46aG92ZXIgeyBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1nb2xkLWxpZ2h0LCAjZThjOTZhKTsgfVxuXG4uZmlsdGVyLXJlc2V0IHtcbiAgICBmb250LXNpemU6IDAuOHJlbTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1tdXRlZCk7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHBhZGRpbmc6IDAuNHJlbSAwLjVyZW07XG59XG4uZmlsdGVyLXJlc2V0OmhvdmVyIHsgY29sb3I6IHZhcigtLWNvbG9yLXRleHQpOyB9XG5cbi5jb2xsZWN0aW9uLWVtcHR5IHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcGFkZGluZzogNHJlbSAxcmVtO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LW11dGVkKTtcbiAgICBmb250LXNpemU6IDAuOXJlbTtcbiAgICBib3JkZXI6IDFweCBkYXNoZWQgdmFyKC0tY29sb3ItYm9yZGVyKTtcbn1cblxuLyog4pSA4pSAIENhcmQgR3JpZCDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIAgKi9cblxuLmNhcmQtZ3JpZCB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpbGwsIG1pbm1heCgxNTBweCwgMWZyKSk7XG4gICAgZ2FwOiAwLjc1cmVtO1xufVxuXG4vKiDilIDilIAgUGxheWVyIENhcmQgKHBjKSDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIAgKi9cblxuLnBjIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctcGFuZWwpO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlcik7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMTVzLCBib3JkZXItY29sb3IgMC4xNXMsIGJveC1zaGFkb3cgMC4xNXM7XG4gICAgLS1yYXJpdHktY29sb3I6ICMzMzM7XG4gICAgYm9yZGVyLWJvdHRvbTogM3B4IHNvbGlkIHZhcigtLXJhcml0eS1jb2xvcik7XG59XG5cbi5wYzpob3ZlciB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0zcHgpO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tcmFyaXR5LWNvbG9yKTtcbiAgICBib3gtc2hhZG93OiAwIDZweCAyMHB4IHJnYmEoMCwwLDAsMC41KTtcbn1cblxuLyogUmFyaXR5IGNvbG9yIHZhcnMgKi9cbi5yYXJpdHktY29tbW9uICAgIHsgLS1yYXJpdHktY29sb3I6ICM4YThhOWE7IH1cbi5yYXJpdHktdW5jb21tb24gIHsgLS1yYXJpdHktY29sb3I6ICMzZmE5NmE7IH1cbi5yYXJpdHktcmFyZSAgICAgIHsgLS1yYXJpdHktY29sb3I6ICMzYTdkZDQ7IH1cbi5yYXJpdHktZXBpYyAgICAgIHsgLS1yYXJpdHktY29sb3I6ICM5YjVmZDQ7IH1cbi5yYXJpdHktbGVnZW5kYXJ5IHsgLS1yYXJpdHktY29sb3I6ICNjOWE4NGM7IH1cblxuLyogVm9sdW1lIGJhZGdlICovXG4ucGMtdm9sdW1lIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwLjNyZW07XG4gICAgcmlnaHQ6IDAuM3JlbTtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsMCwwLDAuNzUpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1nb2xkKTtcbiAgICBmb250LXNpemU6IDAuNjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBwYWRkaW5nOiAwLjFyZW0gMC4zNXJlbTtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4wNGVtO1xuICAgIHotaW5kZXg6IDI7XG59XG5cbi8qIFR5cGUgYmFkZ2UgKi9cbi5wYy10eXBlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwLjNyZW07XG4gICAgbGVmdDogMC4zcmVtO1xuICAgIGZvbnQtc2l6ZTogMC42cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4wNmVtO1xuICAgIHBhZGRpbmc6IDAuMXJlbSAwLjM1cmVtO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMCwwLDAsMC43KTtcbiAgICBjb2xvcjogI2NjYztcbiAgICB6LWluZGV4OiAyO1xufVxuLnBjLXR5cGUudHlwZS1raW5nICAgICAgeyBjb2xvcjogI2M5YTg0YzsgfVxuLnBjLXR5cGUudHlwZS1tYWdlICAgICAgeyBjb2xvcjogIzliNWZkNDsgfVxuLnBjLXR5cGUudHlwZS1jcmVhdHVyZSAgeyBjb2xvcjogIzNhN2RkNDsgfVxuLnBjLXR5cGUudHlwZS1zcGVsbCAgICAgeyBjb2xvcjogIzNmYTk2YTsgfVxuLnBjLXR5cGUudHlwZS1lcXVpcG1lbnQgeyBjb2xvcjogI2M5N2IzYTsgfVxuLnBjLXR5cGUudHlwZS1yZWxpYyAgICAgeyBjb2xvcjogIzhhOGE5YTsgfVxuLnBjLXR5cGUudHlwZS1vYnN0YWNsZSAgeyBjb2xvcjogIzZhNGEzYTsgfVxuXG4vKiBBcnQgYXJlYSAqL1xuLnBjLWFydCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYXNwZWN0LXJhdGlvOiA1IC8gNDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGJhY2tncm91bmQ6ICMwZTBlMTY7XG4gICAgZmxleC1zaHJpbms6IDA7XG59XG5cbi5wYy1hcnQgaW1nIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5wYy1hcnQtcGxhY2Vob2xkZXIge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgZm9udC1zaXplOiAycmVtO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1ib3JkZXIpO1xuICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LXRpdGxlKTtcbn1cblxuLyogQ2FyZCBib2R5ICovXG4ucGMtYm9keSB7XG4gICAgcGFkZGluZzogMC40cmVtIDAuNXJlbSAwLjVyZW07XG4gICAgZmxleDogMTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiAwLjJyZW07XG59XG5cbi5wYy1mcmFjdGlvbiB7XG4gICAgZm9udC1zaXplOiAwLjZyZW07XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4wOGVtO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LW11dGVkKTtcbn1cblxuLnBjLW5hbWUge1xuICAgIGZvbnQtc2l6ZTogMC43OHJlbTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0KTtcbiAgICBsaW5lLWhlaWdodDogMS4yO1xufVxuXG4ucGMtc3RhdHMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGdhcDogMC4ycmVtO1xuICAgIG1hcmdpbi10b3A6IDAuMjVyZW07XG59XG5cbi5wYy1zdGF0IHtcbiAgICBmb250LXNpemU6IDAuNjJyZW07XG4gICAgcGFkZGluZzogMC4xcmVtIDAuM3JlbTtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsMCwwLDAuNCk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbXV0ZWQpO1xufVxuLnBjLWF0ayAgeyBjb2xvcjogI2UwNjA2MDsgfVxuLnBjLWRlZiAgeyBjb2xvcjogIzYwOTBlMDsgfVxuLnBjLWxpZmUgeyBjb2xvcjogIzYwYzA2MDsgfVxuXG4vKiBSYXJpdHkgYmFyICovXG4ucGMtcmFyaXR5LWJhciB7XG4gICAgZm9udC1zaXplOiAwLjU4cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4xZW07XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHBhZGRpbmc6IDAuMnJlbTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1yYXJpdHktY29sb3IpO1xuICAgIGNvbG9yOiAjZmZmO1xufVxuLnJhcml0eS1sZWdlbmRhcnkgLnBjLXJhcml0eS1iYXIgeyBjb2xvcjogIzFhMTIwODsgfVxuXG4vKiDilIDilIAgRGVja3MgSW5kZXggUGFnZSDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIAgKi9cblxuLmRlY2tzLXBhZ2Uge1xuICAgIG1heC13aWR0aDogOTAwcHg7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgcGFkZGluZzogMnJlbSAxLjVyZW07XG59XG5cbi5uZXctZGVjay1mb3JtIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGdhcDogMC41cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDJyZW07XG4gICAgZmxleC13cmFwOiB3cmFwO1xufVxuXG4uZGVjay1saXN0IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiAwLjVyZW07XG59XG5cbi5kZWNrLWl0ZW0ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDFyZW07XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctcGFuZWwpO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlcik7XG4gICAgcGFkZGluZzogMC43NXJlbSAxcmVtO1xuICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjE1cztcbn1cbi5kZWNrLWl0ZW06aG92ZXIgeyBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLWJvcmRlci1ob3Zlcik7IH1cblxuLmRlY2staXRlbV9fbmFtZSB7XG4gICAgZmxleDogMTtcbiAgICBmb250LXNpemU6IDAuOTVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dCk7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuLmRlY2staXRlbV9fbmFtZTpob3ZlciB7IGNvbG9yOiB2YXIoLS1jb2xvci1nb2xkKTsgfVxuXG4uZGVjay1pdGVtX19jb3VudCB7XG4gICAgZm9udC1zaXplOiAwLjhyZW07XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbXV0ZWQpO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi5kZWNrLWl0ZW1fX2FjdGlvbnMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZ2FwOiAwLjVyZW07XG59XG5cbi5kZWNrLWl0ZW1fX2J0biB7XG4gICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMDZlbTtcbiAgICBwYWRkaW5nOiAwLjNyZW0gMC43NXJlbTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXIpO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LW11dGVkKTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuMTVzLCBib3JkZXItY29sb3IgMC4xNXM7XG4gICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtYm9keSk7XG59XG4uZGVjay1pdGVtX19idG46aG92ZXIgeyBjb2xvcjogdmFyKC0tY29sb3ItZ29sZCk7IGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItZ29sZCk7IH1cbi5kZWNrLWl0ZW1fX2J0bi0tZGFuZ2VyOmhvdmVyIHsgY29sb3I6IHZhcigtLWNvbG9yLWVycm9yKTsgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1lcnJvcik7IH1cblxuLyogRGVjayBCdWlsZGVyIHN0eWxlcyDihpIgYXNzZXRzL3N0eWxlcy9QbGF5ZXIvZGVja2J1aWxkZXIuY3NzICovXG4iLCIvKiDilIDilIAgSW52ZW50b3J5IFBhZ2Ug4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAICovXG5cbi5pbnZlbnRvcnktcGFnZSB7XG4gICAgbWF4LXdpZHRoOiAxMTAwcHg7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgcGFkZGluZzogMnJlbSAxLjVyZW07XG59XG5cbi5pbnZlbnRvcnktc2VjdGlvbiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMi41cmVtO1xufVxuXG4uaW52ZW50b3J5LXNlY3Rpb24tdGl0bGUge1xuICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LXRpdGxlKTtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWdvbGQpO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjA4ZW07XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyKTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMC41cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDEuMjVyZW07XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogMC43NXJlbTtcbn1cblxuLmludmVudG9yeS1lbXB0eSB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbXV0ZWQpO1xuICAgIGZvbnQtc2l6ZTogMC44NXJlbTtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG5cbi8qIOKUgOKUgCBQYWNrIEdyaWQg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAICovXG5cbi5wYWNrLWdyaWQge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maWxsLCBtaW5tYXgoMjIwcHgsIDFmcikpO1xuICAgIGdhcDogMXJlbTtcbn1cblxuLnBhY2stY2FyZCB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3Itc3VyZmFjZSk7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyKTtcbiAgICBib3JkZXItcmFkaXVzOiA2cHg7XG4gICAgcGFkZGluZzogMS4xcmVtIDFyZW0gMXJlbTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiAwLjVyZW07XG4gICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuMnM7XG59XG5cbi5wYWNrLWNhcmQ6aG92ZXIge1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItZ29sZCk7XG59XG5cbi5wYWNrLWNhcmRfX25hbWUge1xuICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LXRpdGxlKTtcbiAgICBmb250LXNpemU6IDAuOTVyZW07XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQpO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjA0ZW07XG59XG5cbi5wYWNrLWNhcmRfX2VkaXRpb24ge1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1tdXRlZCk7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4wNmVtO1xufVxuXG4ucGFjay1jYXJkX19jb250ZW50cyB7XG4gICAgZm9udC1zaXplOiAwLjc4cmVtO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LW11dGVkKTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBnYXA6IDAuM3JlbSAwLjZyZW07XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBtYXJnaW46IDAuMjVyZW0gMDtcbn1cblxuLnBhY2stY2FyZF9fbm90ZSB7XG4gICAgZm9udC1zaXplOiAwLjcycmVtO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LW11dGVkKTtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlcik7XG4gICAgcGFkZGluZy10b3A6IDAuNHJlbTtcbn1cblxuLnBhY2stb3Blbi1idG4ge1xuICAgIG1hcmdpbi10b3A6IGF1dG87XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLnBhY2stb3Blbi1idG46ZGlzYWJsZWQge1xuICAgIG9wYWNpdHk6IDAuNTtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xufVxuXG4vKiDilIDilIAgUGFjayBSZXZlYWwgT3ZlcmxheSDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIAgKi9cblxuLnBhY2stcmV2ZWFsIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgaW5zZXQ6IDA7XG4gICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjg1KTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgei1pbmRleDogOTk5O1xuICAgIHBhZGRpbmc6IDFyZW07XG59XG5cbi5wYWNrLXJldmVhbF9fYm94IHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1zdXJmYWNlKTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1nb2xkKTtcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgcGFkZGluZzogMnJlbTtcbiAgICBtYXgtd2lkdGg6IDkwMHB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC1oZWlnaHQ6IDkwdmg7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiAxLjVyZW07XG59XG5cbi5wYWNrLXJldmVhbF9fdGl0bGUge1xuICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LXRpdGxlKTtcbiAgICBmb250LXNpemU6IDEuM3JlbTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItZ29sZCk7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMWVtO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLnBhY2stcmV2ZWFsX19jYXJkcyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgZ2FwOiAwLjc1cmVtO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4vKiDilIDilIAgUmV2ZWFsZWQgQ2FyZCDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIAgKi9cblxuLnJldmVhbC1jYXJkIHtcbiAgICB3aWR0aDogMTEwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogNnB4O1xuICAgIGJvcmRlcjogMnB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlcik7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmcpO1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjE1cztcbn1cblxuLnJldmVhbC1jYXJkOmhvdmVyIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTNweCk7XG59XG5cbi5yZXZlYWwtY2FyZCBpbWcge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGFzcGVjdC1yYXRpbzogNS83O1xuICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4ucmV2ZWFsLWNhcmRfX25hbWUge1xuICAgIGZvbnQtc2l6ZTogMC43cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQpO1xuICAgIHBhZGRpbmc6IDAuM3JlbSAwLjRyZW0gMC4xcmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG59XG5cbi5yZXZlYWwtY2FyZF9fdHlwZSB7XG4gICAgZm9udC1zaXplOiAwLjY1cmVtO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LW11dGVkKTtcbiAgICBwYWRkaW5nOiAwIDAuNHJlbSAwLjM1cmVtO1xufVxuXG4vKiBSYXJpdHkgYm9yZGVyIGNvbG9ycyBvbiByZXZlYWwgKi9cbi5yZXZlYWwtY2FyZC5yYXJpdHktYmctMSB7IGJvcmRlci1jb2xvcjogIzY2NjsgfVxuLnJldmVhbC1jYXJkLnJhcml0eS1iZy0yIHsgYm9yZGVyLWNvbG9yOiAjNGE5YzRhOyB9XG4ucmV2ZWFsLWNhcmQucmFyaXR5LWJnLTMgeyBib3JkZXItY29sb3I6ICMzYTZhYmY7IH1cbi5yZXZlYWwtY2FyZC5yYXJpdHktYmctNCB7IGJvcmRlci1jb2xvcjogIzhiM2FiZjsgfVxuLnJldmVhbC1jYXJkLnJhcml0eS1iZy01IHsgYm9yZGVyLWNvbG9yOiAjYmY4ZjJhOyB9XG5cbi8qIOKUgOKUgCBIaXN0b3J5IOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgCAqL1xuXG4uaW52ZW50b3J5LWhpc3Rvcnkge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IDAuNHJlbTtcbn1cblxuLmhpc3Rvcnktcm93IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiAwLjZyZW07XG4gICAgZm9udC1zaXplOiAwLjgycmVtO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LW11dGVkKTtcbiAgICBwYWRkaW5nOiAwLjNyZW0gMDtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyKTtcbn1cblxuLmhpc3RvcnktZGF0ZSB7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LW11dGVkKTtcbiAgICBvcGFjaXR5OiAwLjc7XG59XG4iLCIvKiDilIDilIAgQWRtaW4gVG9wIE5hdiDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIAgKi9cblxuLmFkbWluLXRvcG5hdiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogMDtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1zdXJmYWNlKTtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyKTtcbiAgICBwYWRkaW5nOiAwIDEuNXJlbTtcbiAgICBoZWlnaHQ6IDQ4cHg7XG4gICAgcG9zaXRpb246IHN0aWNreTtcbiAgICB0b3A6IDA7XG4gICAgei1pbmRleDogMTAwO1xufVxuXG4uYWRtaW4tdG9wbmF2X19sb2dvIHtcbiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC10aXRsZSk7XG4gICAgZm9udC1zaXplOiAwLjlyZW07XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMWVtO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1nb2xkKTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgcGFkZGluZy1yaWdodDogMS41cmVtO1xuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlcik7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjVyZW07XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLmFkbWluLXRvcG5hdl9fbGlua3Mge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBnYXA6IDA7XG4gICAgZmxleDogMTtcbn1cblxuLmFkbWluLXRvcG5hdl9fbGlua3MgbGkgYSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogMCAxcmVtO1xuICAgIGhlaWdodDogNDhweDtcbiAgICBsaW5lLWhlaWdodDogNDhweDtcbiAgICBmb250LXNpemU6IDAuODVyZW07XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbXV0ZWQpO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC4xNXMsIGJvcmRlci1jb2xvciAwLjE1cztcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4uYWRtaW4tdG9wbmF2X19saW5rcyBsaSBhOmhvdmVyIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dCk7XG59XG5cbi5hZG1pbi10b3BuYXZfX2xpbmtzIGxpIGEuYWN0aXZlIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItZ29sZCk7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdmFyKC0tY29sb3ItZ29sZCk7XG59XG5cbi5hZG1pbi10b3BuYXZfX3VzZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDAuNzVyZW07XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgZm9udC1zaXplOiAwLjgycmVtO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LW11dGVkKTtcbn1cblxuLmFkbWluLXRvcG5hdl9fbGluayB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbXV0ZWQpO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBmb250LXNpemU6IDAuODJyZW07XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC4xNXM7XG59XG4uYWRtaW4tdG9wbmF2X19saW5rOmhvdmVyIHsgY29sb3I6IHZhcigtLWNvbG9yLXRleHQpOyB9XG4uYWRtaW4tdG9wbmF2X19sb2dvdXQ6aG92ZXIgeyBjb2xvcjogdmFyKC0tY29sb3ItZXJyb3IsICNmMDdhN2EpOyB9XG5cbi8qIOKUgOKUgCBBZG1pbiBEYXNoYm9hcmQg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAICovXG5cbi5kYXNoLXN0YXRzIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGdhcDogMXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAycmVtO1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbn1cblxuLmRhc2gtc3RhdCB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3Itc3VyZmFjZSk7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyKTtcbiAgICBwYWRkaW5nOiAxcmVtIDEuNXJlbTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBtaW4td2lkdGg6IDExMHB4O1xuICAgIGdhcDogMC4ycmVtO1xufVxuXG4uZGFzaC1zdGF0X192YWx1ZSB7XG4gICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtdGl0bGUpO1xuICAgIGZvbnQtc2l6ZTogMS44cmVtO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1nb2xkKTtcbiAgICBsaW5lLWhlaWdodDogMTtcbn1cblxuLmRhc2gtc3RhdF9fbGFiZWwge1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1tdXRlZCk7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4wOGVtO1xufVxuXG4uZGFzaC1ncmlkIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZmlsbCwgbWlubWF4KDI4MHB4LCAxZnIpKTtcbiAgICBnYXA6IDFyZW07XG59XG5cbi5kYXNoLWNhcmQge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXN1cmZhY2UpO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlcik7XG4gICAgcGFkZGluZzogMS4yNXJlbTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiAwLjVyZW07XG4gICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuMnM7XG59XG5cbi5kYXNoLWNhcmQ6aG92ZXIge1xuICAgIGJvcmRlci1jb2xvcjogcmdiYSgyMDEsIDE2OCwgNzYsIDAuMyk7XG59XG5cbi5kYXNoLWNhcmRfX3RpdGxlIHtcbiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC10aXRsZSk7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1nb2xkKTtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4wNWVtO1xufVxuXG4uZGFzaC1jYXJkX19kZXNjIHtcbiAgICBmb250LXNpemU6IDAuODNyZW07XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbXV0ZWQpO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gICAgZmxleDogMTtcbn1cblxuLmRhc2gtY2FyZF9fY291bnQge1xuICAgIGZvbnQtc2l6ZTogMC43OHJlbTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1tdXRlZCk7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlcik7XG4gICAgcGFkZGluZy10b3A6IDAuNXJlbTtcbn1cblxuLmRhc2gtY2FyZF9fYWN0aW9ucyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBnYXA6IDAuNXJlbTtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgcGFkZGluZy10b3A6IDAuMjVyZW07XG59XG5cbi8qIOKUgOKUgCBBZG1pbiBMYXlvdXQg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAICovXG5cbi5hZG1pbi1wYWdlIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZyk7XG4gICAgbWluLWhlaWdodDogMTAwdmg7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQpO1xuICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWJvZHkpO1xufVxuXG4uYWRtaW4tbGF5b3V0IHtcbiAgICBtYXgtd2lkdGg6IDE0MDBweDtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBwYWRkaW5nOiAxLjVyZW0gMnJlbTtcbn1cblxuLmFkbWluLWhlYWRlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW07XG4gICAgcGFkZGluZy1ib3R0b206IDFyZW07XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlcik7XG59XG5cbi5hZG1pbi1oZWFkZXItdGl0bGUge1xuICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LXRpdGxlKTtcbiAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItZ29sZCk7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMDVlbTtcbn1cblxuLmFkbWluLWhlYWRlci10aXRsZSBlbSB7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0KTtcbn1cblxuLyog4pSA4pSAIEJ1dHRvbnMg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAICovXG5cbi5idG4tcHJpbWFyeSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBhZGRpbmc6IDAuNXJlbSAxLjJyZW07XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItZ29sZCk7XG4gICAgY29sb3I6ICMwYzBjMTI7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LXRpdGxlKTtcbiAgICBmb250LXNpemU6IDAuOXJlbTtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4wNmVtO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjE1cztcbn1cbi5idG4tcHJpbWFyeTpob3ZlciB7IG9wYWNpdHk6IDAuODU7IH1cblxuLmJ0bi1zZWNvbmRhcnkge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwYWRkaW5nOiAwLjVyZW0gMXJlbTtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dCk7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyKTtcbiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1ib2R5KTtcbiAgICBmb250LXNpemU6IDAuODhyZW07XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC4xNXM7XG59XG4uYnRuLXNlY29uZGFyeTpob3ZlciB7IGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItZ29sZCk7IGNvbG9yOiB2YXIoLS1jb2xvci1nb2xkKTsgfVxuXG4uYnRuLWdob3N0IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcGFkZGluZzogMC41cmVtIDFyZW07XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbXV0ZWQpO1xuICAgIGZvbnQtc2l6ZTogMC44OHJlbTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC4xNXM7XG59XG4uYnRuLWdob3N0OmhvdmVyIHsgY29sb3I6IHZhcigtLWNvbG9yLXRleHQpOyB9XG5cbi5idG4tZGFuZ2VyIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcGFkZGluZzogMC41cmVtIDFyZW07XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWVycm9yKTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1lcnJvcik7XG4gICAgZm9udC1zaXplOiAwLjg4cmVtO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMTVzO1xufVxuLmJ0bi1kYW5nZXI6aG92ZXIgeyBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1lcnJvci1iZyk7IH1cblxuLmJ0bi1pY29uIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHdpZHRoOiAyOHB4OyBoZWlnaHQ6IDI4cHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyKTtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1tdXRlZCk7XG4gICAgZm9udC1zaXplOiAwLjlyZW07XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC4xNXMsIGNvbG9yIDAuMTVzO1xufVxuLmJ0bi1pY29uOmhvdmVyIHsgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1nb2xkKTsgY29sb3I6IHZhcigtLWNvbG9yLWdvbGQpOyB9XG4uYnRuLWljb24tZGFuZ2VyOmhvdmVyIHsgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1lcnJvcik7IGNvbG9yOiB2YXIoLS1jb2xvci1lcnJvcik7IH1cblxuLyog4pSA4pSAIEZsYXNoIG1lc3NhZ2VzIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgCAqL1xuXG4uZmxhc2gge1xuICAgIHBhZGRpbmc6IDAuN3JlbSAxcmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gICAgZm9udC1zaXplOiAwLjlyZW07XG59XG4uZmxhc2gtc3VjY2VzcyB7XG4gICAgYmFja2dyb3VuZDogcmdiYSg3NiwgMjAxLCAxMjAsIDAuMDgpO1xuICAgIGJvcmRlci1sZWZ0OiAzcHggc29saWQgIzRjYzk3ODtcbiAgICBjb2xvcjogIzdkZTBhMDtcbn1cblxuLyog4pSA4pSAIEZpbHRlciBiYXIg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAICovXG5cbi5hZG1pbi1maWx0ZXItYmFyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiAwLjZyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMS4ycmVtO1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbn1cblxuLmZpbHRlci1pbnB1dCwgLmZpbHRlci1zZWxlY3Qge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLWlucHV0KTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXIpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0KTtcbiAgICBwYWRkaW5nOiAwLjQ1cmVtIDAuNzVyZW07XG4gICAgZm9udC1zaXplOiAwLjg4cmVtO1xuICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWJvZHkpO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuMTVzO1xufVxuLmZpbHRlci1pbnB1dCB7IG1pbi13aWR0aDogMjAwcHg7IH1cbi5maWx0ZXItaW5wdXQ6Zm9jdXMsIC5maWx0ZXItc2VsZWN0OmZvY3VzIHsgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1nb2xkKTsgfVxuXG4uZmlsdGVyLWNvdW50IHtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1tdXRlZCk7XG4gICAgZm9udC1zaXplOiAwLjgycmVtO1xufVxuXG4vKiDilIDilIAgVGFibGUg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAICovXG5cbi5hZG1pbi10YWJsZS13cmFwIHsgb3ZlcmZsb3cteDogYXV0bzsgfVxuXG4uYWRtaW4tdGFibGUge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gICAgZm9udC1zaXplOiAwLjg4cmVtO1xufVxuXG4uYWRtaW4tdGFibGUgdGgge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgcGFkZGluZzogMC41NXJlbSAwLjc1cmVtO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLXBhbmVsKTtcbiAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1tdXRlZCk7XG4gICAgZm9udC1zaXplOiAwLjc4cmVtO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMDdlbTtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4uYWRtaW4tdGFibGUgdGQge1xuICAgIHBhZGRpbmc6IDAuNXJlbSAwLjc1cmVtO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDI1NSwyNTUsMjU1LDAuMDQpO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cbi5hZG1pbi10YWJsZSB0cjpob3ZlciB0ZCB7IGJhY2tncm91bmQ6IHJnYmEoMjU1LDI1NSwyNTUsMC4wMik7IH1cblxuLmNvbC1jZW50ZXIgeyB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbi5jb2wtYWN0aW9ucyB7IHdpZHRoOiA2NHB4OyB0ZXh0LWFsaWduOiByaWdodDsgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxuXG4uY2FyZC1uYW1lLWNlbGwgeyBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBnYXA6IDAuNXJlbTsgfVxuLmNhcmQtaW50ZXJuYWwtbmFtZSB7IGRpc3BsYXk6IGJsb2NrOyBmb250LXNpemU6IDAuNzVyZW07IGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LW11dGVkKTsgfVxuXG4uc3RhdCB7IGZvbnQtZmFtaWx5OiBtb25vc3BhY2U7IGZvbnQtc2l6ZTogMC44NXJlbTsgfVxuLmVtcHR5LXJvdyB7IHRleHQtYWxpZ246IGNlbnRlcjsgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbXV0ZWQpOyBwYWRkaW5nOiAycmVtOyB9XG5cbi8qIFJhcml0eSBkb3RzICovXG4ucmFyaXR5LWRvdCB7IGRpc3BsYXk6IGlubGluZS1ibG9jazsgd2lkdGg6IDhweDsgaGVpZ2h0OiA4cHg7IGJvcmRlci1yYWRpdXM6IDUwJTsgZmxleC1zaHJpbms6IDA7IH1cbi5yYXJpdHktMSB7IGJhY2tncm91bmQ6ICM4YThhOWE7IH1cbi5yYXJpdHktMiB7IGJhY2tncm91bmQ6ICMzZmE5NmE7IH1cbi5yYXJpdHktMyB7IGJhY2tncm91bmQ6ICMzYTdkZDQ7IH1cbi5yYXJpdHktNCB7IGJhY2tncm91bmQ6ICM5YjVmZDQ7IH1cbi5yYXJpdHktNSB7IGJhY2tncm91bmQ6ICNjOWE4NGM7IH1cblxuLyogVHlwZSBiYWRnZXMgKi9cbi50eXBlLWJhZGdlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcGFkZGluZzogMC4xNXJlbSAwLjVyZW07XG4gICAgYm9yZGVyLXJhZGl1czogMnB4O1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC10aXRsZSk7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMDVlbTtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwyNTUsMjU1LDAuMDYpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LW11dGVkKTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbn1cbi50eXBlLWJhZGdlLnR5cGUtMTAwIHsgY29sb3I6ICNjOWE4NGM7IGJvcmRlci1jb2xvcjogI2M5YTg0YzMzOyB9XG4udHlwZS1iYWRnZS50eXBlLTMwMCB7IGNvbG9yOiAjN2FkNGYwOyBib3JkZXItY29sb3I6ICM3YWQ0ZjAzMzsgfVxuLnR5cGUtYmFkZ2UudHlwZS00MDAgeyBjb2xvcjogI2M0N2FmMDsgYm9yZGVyLWNvbG9yOiAjYzQ3YWYwMzM7IH1cbi50eXBlLWJhZGdlLnR5cGUtNTAwIHsgY29sb3I6ICM3YWYwYTA7IGJvcmRlci1jb2xvcjogIzdhZjBhMDMzOyB9XG4udHlwZS1iYWRnZS50eXBlLTYwMCB7IGNvbG9yOiAjZjBjNDdhOyBib3JkZXItY29sb3I6ICNmMGM0N2EzMzsgfVxuLnR5cGUtYmFkZ2UudHlwZS05MDAgeyBjb2xvcjogI2YwN2E3YTsgYm9yZGVyLWNvbG9yOiAjZjA3YTdhMzM7IH1cbi50eXBlLWJhZGdlLnR5cGUtOTUwIHsgY29sb3I6ICNhMGEwYTA7IGJvcmRlci1jb2xvcjogI2EwYTBhMDMzOyB9XG5cbi8qIOKUgOKUgCBDYXJkIEVkaXRvciDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIAgKi9cblxuLmNhcmQtZWRpdG9yIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDI2MHB4O1xuICAgIGdhcDogMi41cmVtO1xuICAgIGFsaWduLWl0ZW1zOiBzdGFydDtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDkwMHB4KSB7XG4gICAgLmNhcmQtZWRpdG9yIHsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7IH1cbiAgICAuY2FyZC1lZGl0b3ItcHJldmlldyB7IG9yZGVyOiAtMTsgfVxufVxuXG4vKiDilIDilIAgRm9ybSBzZWN0aW9ucyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIAgKi9cblxuLmZvcm0tc2VjdGlvbiB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctcGFuZWwpO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlcik7XG4gICAgcGFkZGluZzogMS4ycmVtIDEuNHJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycztcbn1cblxuLmZvcm0tc2VjdGlvbi10aXRsZSB7XG4gICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtdGl0bGUpO1xuICAgIGZvbnQtc2l6ZTogMC44NXJlbTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjFlbTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItZ29sZCk7XG4gICAgbWFyZ2luOiAwIDAgMXJlbTtcbn1cbi5mb3JtLXNlY3Rpb24tdGl0bGUgc21hbGwge1xuICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWJvZHkpO1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgIGxldHRlci1zcGFjaW5nOiAwO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LW11dGVkKTtcbiAgICBmb250LXNpemU6IDAuOHJlbTtcbn1cblxuLmZvcm0tcm93IHsgZGlzcGxheTogZ3JpZDsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyOyBnYXA6IDFyZW07IH1cbi5mb3JtLXJvdy1zdGF0cyB7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDUsIDFmcik7IH1cblxuLmZvcm0tZmllbGQgeyBtYXJnaW4tYm90dG9tOiAwLjlyZW07IH1cbi5mb3JtLWZpZWxkLWhhbGYgeyBtYXgtd2lkdGg6IDUwJTsgfVxuXG4uZm9ybS1maWVsZCBsYWJlbCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1zaXplOiAwLjc4cmVtO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMDhlbTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1tdXRlZCk7XG4gICAgbWFyZ2luLWJvdHRvbTogMC4zNXJlbTtcbn1cblxuLmZvcm0tZmllbGQgaW5wdXQsXG4uZm9ybS1maWVsZCBzZWxlY3QsXG4uZm9ybS1maWVsZCB0ZXh0YXJlYSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctaW5wdXQpO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlcik7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQpO1xuICAgIHBhZGRpbmc6IDAuNXJlbSAwLjc1cmVtO1xuICAgIGZvbnQtc2l6ZTogMC44OHJlbTtcbiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1ib2R5KTtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjE1cztcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuLmZvcm0tZmllbGQgaW5wdXQ6Zm9jdXMsXG4uZm9ybS1maWVsZCBzZWxlY3Q6Zm9jdXMsXG4uZm9ybS1maWVsZCB0ZXh0YXJlYTpmb2N1cyB7IGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItZ29sZCk7IH1cblxuLmZvcm0taGludCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LW11dGVkKTtcbiAgICBtYXJnaW4tdG9wOiAwLjNyZW07XG59XG4uZm9ybS1oaW50IGNvZGUge1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LDI1NSwyNTUsMC4wOCk7XG4gICAgcGFkZGluZzogMC4xcmVtIDAuM3JlbTtcbiAgICBmb250LXNpemU6IDAuNzhyZW07XG59XG5cbi5mb3JtLWFjdGlvbnMgeyBkaXNwbGF5OiBmbGV4OyBnYXA6IDAuNzVyZW07IGFsaWduLWl0ZW1zOiBjZW50ZXI7IG1hcmdpbi10b3A6IDAuNXJlbTsgfVxuXG4vKiDilIDilIAgTW92ZW1lbnQgY29tcGFzcyBncmlkIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgCAqL1xuXG4ubW92ZW1lbnQtZ3JpZCB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLCAzNnB4KTtcbiAgICBncmlkLXRlbXBsYXRlLXJvd3M6IHJlcGVhdCgzLCAzNnB4KTtcbiAgICBnYXA6IDNweDtcbiAgICBtYXJnaW4tdG9wOiAwLjc1cmVtO1xufVxuXG4ubWctY2VsbCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGZvbnQtc2l6ZTogMC44NXJlbTtcbiAgICBmb250LWZhbWlseTogbW9ub3NwYWNlO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlcik7XG59XG4ubWctYWN0aXZlICAgeyBiYWNrZ3JvdW5kOiByZ2JhKDIwMSwxNjgsNzYsMC4xNSk7IGNvbG9yOiB2YXIoLS1jb2xvci1nb2xkKTsgYm9yZGVyLWNvbG9yOiByZ2JhKDIwMSwxNjgsNzYsMC40KTsgfVxuLm1nLWluYWN0aXZlIHsgYmFja2dyb3VuZDogcmdiYSgyNTUsMjU1LDI1NSwwLjAzKTsgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbXV0ZWQpOyB9XG4ubWctY2VudGVyLWNlbGwgeyBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50OyB9XG4ubWctY2VudGVyICB7IGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LW11dGVkKTsgfVxuLm1nLXNwcmluZ2VyIHsgY29sb3I6ICNjNDdhZjA7IGZvbnQtc2l6ZTogMC43NXJlbTsgfVxuXG4vKiDilIDilIAgQ2FyZCBQcmV2aWV3IOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgCAqL1xuXG4uY2FyZC1lZGl0b3ItcHJldmlldyB7IHBvc2l0aW9uOiBzdGlja3k7IHRvcDogMS41cmVtOyB9XG5cbi5wcmV2aWV3LWxhYmVsIHtcbiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC10aXRsZSk7XG4gICAgZm9udC1zaXplOiAwLjhyZW07XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4xZW07XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbXV0ZWQpO1xuICAgIG1hcmdpbi1ib3R0b206IDAuNzVyZW07XG59XG5cbi5jYXJkLXByZXZpZXcge1xuICAgIC0tcmFyaXR5LWNvbG9yOiAjMzMzO1xuICAgIHdpZHRoOiAyNDBweDtcbiAgICBtaW4taGVpZ2h0OiAzNDBweDtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTYwZGVnLCAjMWExYzI0IDAlLCAjMTExMzE4IDEwMCUpO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLXJhcml0eS1jb2xvcik7XG4gICAgYm94LXNoYWRvdzogMCAwIDIwcHggcmdiYSgwLDAsMCwwLjUpLCBpbnNldCAwIDAgMCAxcHggcmdiYSgyNTUsMjU1LDI1NSwwLjA0KTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuM3M7XG59XG5cbi5jcC10eXBlLWJhZGdlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA4cHg7IHJpZ2h0OiA4cHg7XG4gICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtdGl0bGUpO1xuICAgIGZvbnQtc2l6ZTogMC42NXJlbTtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4xZW07XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBjb2xvcjogdmFyKC0tcmFyaXR5LWNvbG9yKTtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsMCwwLDAuNik7XG4gICAgcGFkZGluZzogMC4xNXJlbSAwLjRyZW07XG4gICAgYm9yZGVyOiAxcHggc29saWQgY3VycmVudENvbG9yO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuM3M7XG59XG5cbi5jcC1hcnQge1xuICAgIGhlaWdodDogMTMwcHg7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgcmdiYSgyNTUsMjU1LDI1NSwwLjAzKSAwJSwgdHJhbnNwYXJlbnQgMTAwJSk7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsMC4wNik7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuLmNwLWFydC1wbGFjZWhvbGRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlOyBpbnNldDogMDtcbiAgICBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cbi5jcC1hcnQtcGxhY2Vob2xkZXI6OmFmdGVyIHtcbiAgICBjb250ZW50OiAn4peIJztcbiAgICBmb250LXNpemU6IDIuNXJlbTtcbiAgICBjb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwwLjA2KTtcbn1cblxuLmNwLWJvZHkge1xuICAgIHBhZGRpbmc6IDAuNnJlbSAwLjc1cmVtO1xuICAgIGZsZXg6IDE7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogMC40cmVtO1xufVxuXG4uY3AtZnJhY3Rpb24ge1xuICAgIGZvbnQtc2l6ZTogMC42OHJlbTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjFlbTtcbiAgICBjb2xvcjogdmFyKC0tcmFyaXR5LWNvbG9yKTtcbiAgICBtaW4taGVpZ2h0OiAwLjg1cmVtO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuM3M7XG59XG5cbi5jcC1uYW1lIHtcbiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC10aXRsZSk7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIGNvbG9yOiAjZThlMGQwO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjA0ZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMjtcbn1cblxuLmNwLXN0YXRzIHsgZGlzcGxheTogZmxleDsgZ2FwOiAwLjRyZW07IGZsZXgtd3JhcDogd3JhcDsgbWFyZ2luLXRvcDogMC4xcmVtOyB9XG5cbi5jcC1zdGF0IHtcbiAgICBmb250LXNpemU6IDAuNzJyZW07XG4gICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZTtcbiAgICBwYWRkaW5nOiAwLjE1cmVtIDAuMzVyZW07XG4gICAgYmFja2dyb3VuZDogcmdiYSgyNTUsMjU1LDI1NSwwLjA2KTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDI1NSwyNTUsMjU1LDAuMSk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbXV0ZWQpO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG4uY3AtYXRrICB7IGNvbG9yOiAjZjA4MDgwOyBib3JkZXItY29sb3I6IHJnYmEoMjQwLDEyOCwxMjgsMC4yKTsgfVxuLmNwLWRlZiAgeyBjb2xvcjogIzgwYjRmMDsgYm9yZGVyLWNvbG9yOiByZ2JhKDEyOCwxODAsMjQwLDAuMik7IH1cbi5jcC1saWZlIHsgY29sb3I6ICM4MGUwOTA7IGJvcmRlci1jb2xvcjogcmdiYSgxMjgsMjI0LDE0NCwwLjIpOyB9XG4uY3Atd3QgICB7IGNvbG9yOiAjZDBjMDgwOyBib3JkZXItY29sb3I6IHJnYmEoMjA4LDE5MiwxMjgsMC4yKTsgfVxuXG4uY3AtbW92ZW1lbnQge1xuICAgIGZvbnQtZmFtaWx5OiBtb25vc3BhY2U7XG4gICAgZm9udC1zaXplOiAwLjcycmVtO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LW11dGVkKTtcbn1cblxuLmNwLWRlc2Mge1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1tdXRlZCk7XG4gICAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgbWFyZ2luLXRvcDogYXV0bztcbiAgICBwYWRkaW5nLXRvcDogMC40cmVtO1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKDI1NSwyNTUsMjU1LDAuMDUpO1xuICAgIG1pbi1oZWlnaHQ6IDEuMnJlbTtcbn1cblxuLmNwLXJhcml0eS1iYXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC10aXRsZSk7XG4gICAgZm9udC1zaXplOiAwLjY1cmVtO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjE1ZW07XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBwYWRkaW5nOiAwLjNyZW07XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjNzLCBjb2xvciAwLjNzO1xufVxuXG4uY3AtYXJ0LWltZyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKiDilIDilIAgSW1hZ2UgVXBsb2FkIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgCAqL1xuXG4uaW1hZ2UtY3VycmVudCB7IG1hcmdpbi1ib3R0b206IDFyZW07IH1cblxuLmltYWdlLXByZXZpZXctdGh1bWIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1heC13aWR0aDogMTYwcHg7XG4gICAgbWF4LWhlaWdodDogMTIwcHg7XG4gICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyKTtcbn1cblxuLmltYWdlLXVwbG9hZC1hcmVhIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYm9yZGVyOiAycHggZGFzaGVkIHZhcigtLWNvbG9yLWJvcmRlcik7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctaW5wdXQpO1xuICAgIG1pbi1oZWlnaHQ6IDEyMHB4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuMnMsIGJhY2tncm91bmQgMC4ycztcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4uaW1hZ2UtdXBsb2FkLWFyZWE6aG92ZXIsXG4uaW1hZ2UtdXBsb2FkLWFyZWEuZHJhZy1vdmVyIHtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLWdvbGQpO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMjAxLCAxNjgsIDc2LCAwLjA0KTtcbn1cblxuLmltYWdlLXVwbG9hZC1pbnB1dCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGluc2V0OiAwO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB6LWluZGV4OiAyO1xufVxuXG4uaW1hZ2UtdXBsb2FkLWxhYmVsIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDAuM3JlbTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1tdXRlZCk7XG4gICAgZm9udC1zaXplOiAwLjg1cmVtO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwYWRkaW5nOiAxcmVtO1xuICAgIHotaW5kZXg6IDE7XG59XG5cbi5pbWFnZS11cGxvYWQtaWNvbiB7XG4gICAgZm9udC1zaXplOiAxLjZyZW07XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWJvcmRlcik7XG59XG5cbi5pbWFnZS11cGxvYWQtbGFiZWwgc21hbGwge1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICBjb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwwLjI1KTtcbn1cblxuLmltYWdlLXVwbG9hZC1wcmV2aWV3IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgaW5zZXQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG9iamVjdC1maXQ6IGNvbnRhaW47XG4gICAgYmFja2dyb3VuZDogIzBhMGExMjtcbiAgICB6LWluZGV4OiAxO1xufVxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9*/