/*!********************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/styles/generated.css ***!
  \********************************************************************************************************************/
/* AUTO-GENERATED — modifiez assets/design-tokens.js puis lancez npm run dev */

:root {
    --noir:                      #0a0a0a;
    --noir-soft:                 #1a1a1a;
    --orange:                    #f39200;
    --orange-soft:               #ffb340;
    --blanc:                     #ffffff;
    --gris-fond:                 #f6f6f6;
    --gris-bord:                 #e4e4e4;
    --gris-texte:                #6b6b6b;
    --font-family:               "Roboto", "Helvetica", "Arial", sans-serif;
    --radius-xs:                 4px;
    --radius-sm:                 6px;
    --radius:                    8px;
    --radius-md:                 10px;
    --radius-lg:                 12px;
    --radius-home:               6px;
    --radius-home-lg:            10px;
    --shadow-xs:                 0 1px 6px rgba(0,0,0,0.07);
    --shadow-sm:                 0 1px 6px rgba(0,0,0,0.08);
    --shadow:                    0 2px 12px rgba(0,0,0,0.08);
    --shadow-md:                 0 2px 16px rgba(0,0,0,0.10);
    --shadow-lg:                 0 4px 24px rgba(0,0,0,0.10);
    --color-primary:             #f39200;
    --color-primary-dark:        #d97f00;
    --color-primary-bg:          rgba(243,146,0,0.12);
    --color-success:             #2e7d32;
    --color-success-dark:        #1b5e20;
    --color-success-bg:          #e8f5e9;
    --color-warning:             #e65100;
    --color-warning-bg:          #fff3e0;
    --color-danger:              #c62828;
    --color-danger-dark:         #7f0000;
    --color-danger-bg:           #ffebee;
    --color-dark:                #37474f;
    --color-dark-light:          #546e7a;
    --color-muted:               #90a4ae;
    --color-muted-dark:          #607d8b;
    --color-text:                #263238;
    --color-text-secondary:      #555;
    --color-text-light:          #888;
    --color-text-dim:            #666;
    --color-border:              #f0f0f0;
    --color-border-medium:       #ccc;
    --color-border-strong:       #cfd8dc;
    --color-border-admin:        #eceff1;
    --color-surface:             #ffffff;
    --color-surface-muted:       #f5f5f5;
    --color-surface-subtle:      #fafafa;
    --blanc-alpha-90:            rgba(255,255,255,0.9);
    --blanc-alpha-80:            rgba(255,255,255,0.8);
    --blanc-alpha-45:            rgba(255,255,255,0.45);
    --orange-alpha-15:           rgba(243,146,0,0.15);
    --orange-alpha-35:           rgba(243,146,0,0.35);
    --noir-card:                 #111111;
    --noir-border:               #222222;
    --noir-border-soft:          #2a2a2a;
    --noir-border-strong:        #333333;
    --color-text-soft:           #999999;
    --color-text-pale:           #aaaaaa;
    --color-success-bg-dark:     rgba(46,125,50,0.15);
    --color-success-bord-dark:   rgba(46,125,50,0.4);
    --color-success-text-dark:   #81c784;
    --color-danger-light:        #e53935;
    --color-danger-bg-dark:      rgba(198,40,40,0.15);
    --color-danger-bord-dark:    rgba(198,40,40,0.4);
    --color-danger-text-dark:    #ef9a9a;
}

.cms-content h2 {
    color: var(--orange);
    font-size: 1.5rem;
    font-weight: 700;
}
.cms-content h3 {
    color: var(--blanc);
    font-size: 1.25rem;
    font-weight: 700;
}
.cms-content h4 {
    color: var(--blanc-alpha-90);
    font-size: 1.1rem;
    font-weight: 600;
}
.cms-content h5 {
    color: var(--blanc-alpha-80);
    font-size: 1rem;
    font-weight: 600;
}

.cms-content a {
    color: var(--orange);
    text-decoration: underline;
    text-underline-offset: 3px;
}
.cms-content a:hover { color: var(--orange-soft); }

.cms-content .cms-hl { color:var(--orange);font-weight:600 }
.cms-content .cms-muted { color:var(--blanc-alpha-45) }
.cms-content .cms-strong { font-weight:700;color:var(--blanc) }
.cms-content .cms-tag { display:inline-block;background:var(--orange-alpha-15);color:var(--orange);border:1px solid var(--orange-alpha-35);border-radius:var(--radius-xs);padding:.1em .5em;font-size:.85em;font-weight:600 }

/*!****************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/styles/front.css ***!
  \****************************************************************************************************************/
/* ─────────────────────────────────────────────────────────────
   Base / Reset
───────────────────────────────────────────────────────────── */
html {
    -webkit-font-smoothing: antialiased;
    box-sizing: border-box;
}
*, *::before, *::after { box-sizing: inherit; }
body {
    margin: 0;
    font-family: var(--font-family);
    font-weight: 400;
    font-size: 1rem;
    line-height: 1.5;
    /*background: var(--color-body-bg);*/
    padding-top: 110px;
    padding-top: 0;
    background: var(--noir);
    overflow-x: hidden;
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}
.main-container { flex: 1; }

body.scene-active { 
    overflow-y: hidden;
}


/* ─────────────────────────────────────────────────────────────
   Site Header
───────────────────────────────────────────────────────────── */
#site-header {
    position: fixed;
    top: 0; left: 0; right: 0;
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    background: #000;
    padding: 5px 20px;
    z-index: 999;
    transition: padding 0.2s ease, opacity 0.5s ease 0.3s;
}
body.scene-active #site-header {
    opacity: 0;
}
#site-header.shrunk {
    padding-top: 3px;
    padding-bottom: 3px;
}
.header-logo img {
    height: 100px;
    width: auto;
    display: block;
    transition: height 0.2s ease-in-out;
}
#site-header.shrunk .header-logo img {
    height: 50px;
}
.header-nav ul {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: nowrap;
    gap: 0;
}
.header-nav li { position: relative; }
.header-nav a {
    display: block;
    margin: 0 10px;
    color: #fff;
    font-size: 1.2rem;
    text-decoration: none;
    font-family: var(--font-family);
    transition: color 0.2s ease, transform 0.2s ease;
}
.header-nav > ul > li > a:hover,
.header-nav > ul > li:hover > a,
.header-nav > ul > li > a.active {
    color: #fe9e16;
    transform: scale(1.1);
}
.header-nav .has-dropdown > a::after {
    content: ' ▾';
    font-size: 0.7em;
    vertical-align: middle;
}
.header-nav .dropdown {
    display: none;
    position: absolute;
    top: calc(100% + 4px);
    right: 0;
    background: #1a1a1a;
    min-width: 180px;
    border-radius: 0 0 var(--radius) var(--radius);
    padding: 0.25rem 0;
    list-style: none;
    margin: 0;
    box-shadow: 0 8px 24px rgba(0,0,0,0.35);
    z-index: 1000;
}
.header-nav .has-dropdown:hover .dropdown,
.header-nav .has-dropdown:focus-within .dropdown { display: block; }
.header-nav .dropdown li a {
    display: block;
    margin: 0;
    padding: 0.55rem 1.1rem;
    font-size: 1rem;
    color: #e0e0e0;
    border-bottom: 1px solid #2c2c2c;
    transform: none;
    transition: background 0.15s, color 0.15s;
}
.header-nav .dropdown li:last-child a { border-bottom: none; }
.header-nav .dropdown li a:hover { background: #2c2c2c; color: #fe9e16; }
.header-right {
    display: flex;
    align-items: flex-end;
    gap: 16px;
}
.header-logout {
    display: flex;
    align-items: center;
    gap: 5px;
    padding: 5px 12px;
    border: 1px solid var(--orange);
    border-radius: var(--radius-sm);
    color: var(--orange);
    font-size: 0.85rem;
    font-family: var(--font-family);
    text-decoration: none;
    white-space: nowrap;
    transition: background 0.2s ease, color 0.2s ease;
    margin-bottom: 2px;
}
.header-logout:hover {
    background: var(--orange);
    color: var(--noir);
}

/* ─────────────────────────────────────────────────────────────
   Utilities
───────────────────────────────────────────────────────────── */
.hidden          { display: none; }
.text-right      { text-align: right; }
.text-center     { text-align: center; }
.text-secondary  { color: var(--color-text-secondary); }
.text-muted      { color: var(--color-text-light); }
.text-muted-sm   { font-size: 0.82rem; color: var(--color-muted); }
.text-warning    { color: var(--color-warning); }
.text-placeholder{ color: var(--color-muted); }
.fw-600          { font-weight: 600; }
.page-title      { margin: 0; }
.flex-row        { display: flex; gap: 1rem; align-items: center; }

/* ─────────────────────────────────────────────────────────────
   Links
───────────────────────────────────────────────────────────── */
.link-primary {
    color: var(--color-primary);
    text-decoration: none;
    font-size: 0.9rem;
}
.link-primary:hover { text-decoration: underline; }
.link-primary-bold {
    color: var(--color-primary);
    text-decoration: none;
    font-size: 0.9rem;
    font-weight: 600;
}
.link-success {
    color: var(--color-success);
    text-decoration: none;
    font-size: 0.9rem;
    font-weight: 600;
}
.link-muted {
    color: var(--color-text-light);
    text-decoration: none;
    font-size: 0.9rem;
}
.link-muted:hover { text-decoration: underline; }

/* ─────────────────────────────────────────────────────────────
   Alerts / Flash messages
───────────────────────────────────────────────────────────── */
.alert {
    padding: 0.75rem 1rem;
    border-radius: var(--radius-sm);
    margin-bottom: 1rem;
}
.alert-success { background: var(--color-success-bg); color: var(--color-success); }
.alert-warning { background: var(--color-warning-bg); color: var(--color-warning); }
.alert-danger  { background: var(--color-danger-bg);  color: var(--color-danger); }

/* ─────────────────────────────────────────────────────────────
   Badges
───────────────────────────────────────────────────────────── */
.badge-ok,
.badge-complet {
    background: var(--color-success-bg);
    color: var(--color-success);
    padding: 2px 8px;
    border-radius: 12px;
    font-size: 0.8rem;
}
.badge-en-cours,
.badge-incomplet {
    background: var(--color-warning-bg);
    color: var(--color-warning);
    padding: 2px 8px;
    border-radius: 12px;
    font-size: 0.8rem;
}

/* ─────────────────────────────────────────────────────────────
   Shared components
───────────────────────────────────────────────────────────── */
@media (hover: none) {
    .scene { display: none; }
    .site  { opacity: 1; }
}

.empty-state {
    text-align: center;
    padding: 3rem;
    color: var(--color-text-light);
    background: var(--color-surface);
    border-radius: var(--radius-md);
    box-shadow: var(--shadow-xs);
}
.nav-links { text-align: center; margin-top: 1.5rem; }
.nav-links a { color: var(--color-primary); text-decoration: none; margin: 0 0.75rem; font-size: 0.9rem; }
.nav-links a:hover { text-decoration: underline; }

.page-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 1.5rem;
}
.filter-form {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    background: var(--color-surface);
    padding: 0.75rem 1rem;
    border-radius: var(--radius);
    box-shadow: var(--shadow-sm);
    margin-bottom: 1.5rem;
    flex-wrap: wrap;
}
.filter-form label { font-size: 0.9rem; color: var(--color-text-secondary); }
.filter-form input[type="date"] {
    padding: 0.35rem 0.6rem;
    border: 1px solid var(--color-border-medium);
    border-radius: var(--radius-sm);
    font-size: 0.95rem;
}
.btn-filter {
    background: var(--color-primary);
    color: var(--color-surface);
    border: none;
    padding: 0.4rem 1rem;
    border-radius: var(--radius-sm);
    cursor: pointer;
    font-size: 0.9rem;
}
.btn-filter:hover { background: var(--color-primary-dark); }

.summary-bar,
.total-bar {
    background: var(--color-surface-muted);
    border-radius: var(--radius);
    padding: 0.75rem 1.25rem;
    margin-bottom: 1.25rem;
    display: flex;
    gap: 2rem;
    flex-wrap: wrap;
}
.summary-bar span,
.total-bar span { font-size: 0.9rem; color: var(--color-text-secondary); }
.summary-bar strong { color: var(--color-dark); }
.total-bar strong   { color: var(--color-primary); }

/* ─────────────────────────────────────────────────────────────
   Dev stub (Symfony generated controllers)
───────────────────────────────────────────────────────────── */
.example-wrapper { margin: 1em auto; max-width: 800px; width: 95%; font: 18px/1.5 sans-serif; }
.example-wrapper code { background: var(--color-surface-muted); padding: 2px 6px; }

/* ─────────────────────────────────────────────────────────────
   Login
───────────────────────────────────────────────────────────── */
.login-wrap {
    min-height: 60vh;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 2rem 1rem;
}
.login-card {
    background: var(--color-surface);
    border-radius: 14px;
    box-shadow: var(--shadow-lg);
    padding: 2.5rem 2.25rem 2rem;
    width: 100%;
    max-width: 400px;
}
.login-logo { text-align: center; margin-bottom: 1.75rem; }
.login-logo-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 56px;
    height: 56px;
    background: var(--color-primary);
    border-radius: 50%;
    margin-bottom: 0.75rem;
}
.login-logo-icon svg { width: 28px; height: 28px; fill: var(--color-surface); }
.login-logo h1 { font-size: 1.35rem; font-weight: 700; color: var(--color-text); margin: 0 0 0.2rem; }
.login-logo p  { font-size: 0.88rem; color: var(--color-muted); margin: 0; }
.login-field { margin-bottom: 1.1rem; }
.login-field label {
    display: block;
    font-size: 0.82rem;
    font-weight: 600;
    color: var(--color-dark-light);
    margin-bottom: 0.35rem;
    letter-spacing: 0.02em;
    text-transform: uppercase;
}
.login-field input {
    width: 100%;
    padding: 0.65rem 0.9rem;
    border: 1.5px solid var(--color-border-strong);
    border-radius: var(--radius);
    font-size: 0.95rem;
    color: var(--color-text);
    background: #f9fbfc;
    transition: border-color 0.15s, box-shadow 0.15s;
    box-sizing: border-box;
    outline: none;
    font-family: inherit;
}
.login-field input:focus {
    border-color: var(--color-primary);
    background: var(--color-surface);
    box-shadow: 0 0 0 3px rgba(25,118,210,0.12);
}
.login-remember {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin-bottom: 1.4rem;
    margin-top: 0.25rem;
}
.login-remember input[type="checkbox"] {
    width: 16px;
    height: 16px;
    accent-color: var(--color-primary);
    cursor: pointer;
}
.login-remember label { font-size: 0.88rem; color: var(--color-muted-dark); cursor: pointer; user-select: none; }
.login-btn {
    width: 100%;
    padding: 0.75rem;
    background: var(--color-primary);
    color: var(--color-surface);
    border: none;
    border-radius: var(--radius);
    font-size: 1rem;
    font-weight: 600;
    cursor: pointer;
    letter-spacing: 0.03em;
    transition: background 0.15s, box-shadow 0.15s;
    font-family: inherit;
}
.login-btn:hover  { background: var(--color-primary-dark); box-shadow: 0 3px 10px rgba(25,118,210,0.25); }
.login-btn:active { background: var(--color-primary-darker); }
.login-error {
    background: var(--color-danger-bg);
    color: var(--color-danger);
    border-radius: var(--radius);
    padding: 0.65rem 0.9rem;
    font-size: 0.88rem;
    margin-bottom: 1.25rem;
    display: flex;
    align-items: center;
    gap: 0.5rem;
}
.login-error::before { content: '⚠'; font-size: 1rem; flex-shrink: 0; }
.login-already {
    background: var(--color-success-bg);
    color: var(--color-success);
    border-radius: var(--radius);
    padding: 0.65rem 0.9rem;
    font-size: 0.88rem;
    margin-bottom: 1.25rem;
}
.login-already a { color: var(--color-primary-dark); font-weight: 600; }

/* ─────────────────────────────────────────────────────────────
   CMS — page publique (dark theme)
───────────────────────────────────────────────────────────── */
.cms-page {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 1.5rem;
}
.cms-page h1 {
    font-size: 2.2rem;
    font-weight: 800;
    color: #fff;
    margin-bottom: 0.4rem;
    line-height: 1.2;
}
.cms-title-accent {
    display: block;
    width: 48px;
    height: 3px;
    background: var(--orange);
    border-radius: 2px;
    margin-bottom: 1.25rem;
}
.cms-page-meta {
    font-size: 0.9rem;
    color: rgba(255,255,255,0.45);
    margin-bottom: 2rem;
    padding-bottom: 1rem;
    border-bottom: 1px solid rgba(255,255,255,0.1);
}
.cms-content p         { line-height: 1.75; color: rgba(255,255,255,0.82); margin: 0 0 1rem; }
.cms-content h1, .cms-content h2, .cms-content h3,
.cms-content h4, .cms-content h5, .cms-content h6 { margin: 1.75rem 0 0.6rem; }
.cms-content ul, .cms-content ol { padding-left: 1.5rem; margin: 0 0 1rem; color: rgba(255,255,255,0.82); line-height: 1.75; }
.cms-content blockquote {
    border-left: 4px solid var(--orange);
    margin: 1.5rem 0;
    padding: 0.75rem 1.25rem;
    background: rgba(243,146,0,0.08);
    color: rgba(255,255,255,0.9);
    border-radius: 0 var(--radius) var(--radius) 0;
}
.cms-content blockquote cite { display: block; font-size: 0.85rem; color: rgba(255,255,255,0.45); margin-top: 0.5rem; }
.cms-content pre {
    background: #111;
    color: #cfd8dc;
    padding: 1rem 1.25rem;
    border-radius: var(--radius);
    overflow-x: auto;
    margin: 1rem 0;
    font-size: 0.88rem;
    border: 1px solid rgba(255,255,255,0.08);
}
.cms-content hr.editorjs-delimiter { border: none; border-top: 2px solid rgba(255,255,255,0.12); margin: 2rem auto; width: 60px; }
.cms-content .editorjs-warning {
    background: rgba(249,168,37,0.08);
    border-left: 4px solid #f9a825;
    padding: 0.75rem 1rem;
    border-radius: 0 var(--radius) var(--radius) 0;
    margin: 1rem 0;
    color: rgba(255,255,255,0.9);
}
.cms-content .editorjs-warning-title { font-weight: 700; color: var(--orange); display: block; margin-bottom: 0.25rem; }
.cms-content figure { margin: 1.5rem 0; }
.cms-content figure img              { max-width: 100%; border-radius: var(--radius); }
.cms-content figure img.editorjs-img-border    { border: 1px solid rgba(255,255,255,0.12); }
.cms-content figure img.editorjs-img-stretched { width: 100%; }
.cms-content figure img.editorjs-img-bg        { background: rgba(255,255,255,0.05); padding: 1rem; }
.cms-content .editorjs-embed { margin: 1.5rem 0; }
.cms-content .editorjs-embed iframe { max-width: 100%; border-radius: var(--radius); }
.cms-content .editorjs-link-card {
    display: flex;
    border: 1px solid rgba(255,255,255,0.1);
    border-radius: var(--radius);
    overflow: hidden;
    text-decoration: none;
    color: inherit;
    margin: 1rem 0;
    background: rgba(255,255,255,0.03);
    transition: background 0.15s;
}
.cms-content .editorjs-link-card:hover { background: rgba(255,255,255,0.06); }
.cms-content .editorjs-link-body       { flex: 1; padding: 0.9rem 1rem; }
.cms-content .editorjs-link-body strong { display: block; color: #fff; margin-bottom: 0.25rem; }
.cms-content .editorjs-link-desc { font-size: 0.85rem; color: rgba(255,255,255,0.5); margin: 0 0 0.4rem; }
.cms-content .editorjs-link-url  { font-size: 0.75rem; color: var(--orange); }
.cms-content .editorjs-link-img  { width: 120px; flex-shrink: 0; }
.cms-content .editorjs-link-img img { width: 100%; height: 100%; object-fit: cover; }
.cms-content .editorjs-attach {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.75rem 1rem;
    border: 1px solid rgba(255,255,255,0.1);
    border-radius: var(--radius);
    text-decoration: none;
    color: rgba(255,255,255,0.85);
    margin: 0.75rem 0;
    background: rgba(255,255,255,0.03);
    transition: background 0.15s;
}
.cms-content .editorjs-attach:hover  { background: rgba(255,255,255,0.07); }
.cms-content .editorjs-attach-icon   { font-size: 1.2rem; }
.cms-content .editorjs-attach-name   { flex: 1; font-weight: 600; color: #fff; }
.cms-content .editorjs-attach-meta   { font-size: 0.78rem; color: rgba(255,255,255,0.45); }
.cms-content .editorjs-columns       { display: grid; gap: 1.5rem; margin: 1.5rem 0; }
.cms-content .editorjs-columns-2     { grid-template-columns: 1fr 1fr; }
.cms-content .editorjs-columns-3     { grid-template-columns: 1fr 1fr 1fr; }
.cms-content figcaption              { font-size: 0.82rem; color: rgba(255,255,255,0.45); text-align: center; margin-top: 0.4rem; }
.cms-content table.editorjs-table    { width: 100%; border-collapse: collapse; margin: 1rem 0; font-size: 0.9rem; }
.cms-content table.editorjs-table th { background: rgba(255,255,255,0.08); color: #fff; padding: 0.5rem 0.8rem; text-align: left; border-bottom: 2px solid rgba(255,255,255,0.15); }
.cms-content table.editorjs-table td { padding: 0.45rem 0.8rem; border-bottom: 1px solid rgba(255,255,255,0.06); color: rgba(255,255,255,0.8); }
.cms-content table.editorjs-table tr:hover td { background: rgba(255,255,255,0.03); }
@media (max-width: 600px) {
    .cms-content .editorjs-columns-2,
    .cms-content .editorjs-columns-3 { grid-template-columns: 1fr; }
    .cms-content .editorjs-link-img  { display: none; }
}
.cms-edit-bar {
    position: fixed;
    bottom: 1.5rem;
    right: 1.5rem;
    z-index: 100;
}
.cms-edit-btn {
    background: var(--orange);
    color: #000;
    text-decoration: none;
    padding: 0.6rem 1.1rem;
    border-radius: var(--radius);
    font-size: 0.88rem;
    font-weight: 700;
    box-shadow: 0 4px 14px rgba(243,146,0,0.35);
}
.cms-edit-btn:hover { background: var(--orange-soft); }

/* ─────────────────────────────────────────────────────────────
   Carousel override (page accueil)
───────────────────────────────────────────────────────────── */
header#carousel-container {
    position: relative;
    top: -110px;
}

/* ─────────────────────────────────────────────────────────────
   Pointage — index
───────────────────────────────────────────────────────────── */
.pointage-card {
    max-width: 520px;
    margin: 0 auto;
    background: var(--color-surface);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-md);
    padding: 2rem;
}
.pointage-title    { text-align: center; margin-bottom: 0.25rem; }
.pointage-subtitle { text-align: center; color: var(--color-text-light); margin-bottom: 1.5rem; }
.pointage-status   { text-align: center; padding: 1.5rem 0; }
.pointage-time {
    font-size: 2.8rem;
    font-weight: 700;
    color: var(--color-primary);
    letter-spacing: 2px;
}
.pointage-label    { font-size: 0.95rem; color: var(--color-text-dim); margin-bottom: 0.25rem; }
.btn-pointage {
    width: 100%;
    padding: 0.9rem;
    font-size: 1.1rem;
    font-weight: 600;
    border-radius: var(--radius);
    border: none;
    cursor: pointer;
    transition: background 0.2s;
}
.btn-arrivee       { background: var(--color-success); color: var(--color-surface); }
.btn-arrivee:hover { background: var(--color-success-dark); color: var(--color-surface); }
.btn-depart        { background: var(--color-danger); color: var(--color-surface); }
.btn-depart:hover  { background: var(--color-danger-dark); color: var(--color-surface); }
.info-row {
    display: flex;
    justify-content: space-between;
    padding: 0.5rem 0;
    border-bottom: 1px solid var(--color-border);
}
.info-row:last-child    { border-bottom: none; }
.info-row--highlight    { background: var(--color-surface-muted); border-radius: var(--radius-sm); padding: 0.5rem 0.75rem; }
.worked-time            { font-size: 1.2rem; font-weight: 700; color: var(--color-primary); }
.entry-notes            { margin-top: 0.75rem; color: var(--color-text-secondary); font-size: 0.9rem; }
.form-depart            { margin-top: 1.25rem; }
.form-label {
    display: block;
    font-size: 0.9rem;
    color: var(--color-text-secondary);
    margin-bottom: 0.3rem;
}
.form-input {
    width: 100%;
    padding: 0.5rem 0.75rem;
    border: 1px solid var(--color-border-medium);
    border-radius: var(--radius-sm);
    font-size: 1rem;
}
.form-textarea {
    width: 100%;
    padding: 0.5rem 0.75rem;
    border: 1px solid var(--color-border-medium);
    border-radius: var(--radius-sm);
    font-size: 0.95rem;
    resize: vertical;
}
.field-depart         { margin-bottom: 1rem; }
.field-depart-last    { margin-bottom: 1.25rem; }
.input-sm             { width: 80px; }
.no-entry-message     { color: var(--color-text-light); margin-bottom: 1.5rem; }

/* ─────────────────────────────────────────────────────────────
   Pointage — historique
───────────────────────────────────────────────────────────── */
.table-pointage {
    width: 100%;
    border-collapse: collapse;
    background: var(--color-surface);
    border-radius: var(--radius-md);
    overflow: hidden;
    box-shadow: var(--shadow);
}
.table-pointage th {
    background: var(--color-primary);
    color: var(--color-surface);
    padding: 0.75rem 1rem;
    text-align: left;
    font-weight: 600;
    font-size: 0.9rem;
}
.table-pointage td {
    padding: 0.65rem 1rem;
    border-bottom: 1px solid var(--color-border);
    font-size: 0.95rem;
}
.table-pointage tr:last-child td { border-bottom: none; }
.table-pointage tr:hover td      { background: #f5f9ff; }
.duration { font-weight: 700; color: var(--color-primary); }

/* ─────────────────────────────────────────────────────────────
   Pointage — admin
───────────────────────────────────────────────────────────── */
.admin-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 1.25rem;
    flex-wrap: wrap;
    gap: 0.75rem;
}
.table-admin {
    width: 100%;
    border-collapse: collapse;
    background: var(--color-surface);
    border-radius: var(--radius-md);
    overflow: hidden;
    box-shadow: var(--shadow);
}
.table-admin th {
    background: var(--color-dark);
    color: var(--color-surface);
    padding: 0.7rem 0.9rem;
    text-align: left;
    font-weight: 600;
    font-size: 0.88rem;
}
.table-admin td {
    padding: 0.55rem 0.9rem;
    border-bottom: 1px solid var(--color-border);
    font-size: 0.9rem;
    vertical-align: middle;
}
.table-admin tr:last-child td    { border-bottom: none; }
.table-admin tr:hover td         { background: var(--color-surface-subtle); }
.user-name  { font-weight: 600; }
.user-email { font-size: 0.8rem; color: var(--color-text-light); }
.td-notes   { color: var(--color-text-dim); font-size: 0.85rem; max-width: 160px; }
.btn-edit {
    background: none;
    border: 1px solid var(--color-border-medium);
    border-radius: var(--radius-xs);
    padding: 2px 8px;
    cursor: pointer;
    font-size: 0.8rem;
    color: var(--color-text-secondary);
}
.btn-edit:hover { background: var(--color-surface-muted); }
.edit-form-row {
    display: flex;
    gap: 1rem;
    flex-wrap: wrap;
    align-items: flex-end;
    padding: 0.5rem 0;
}
.edit-form input[type="time"],
.edit-form input[type="number"],
.edit-form textarea {
    width: 100%;
    padding: 0.3rem 0.5rem;
    border: 1px solid var(--color-border-medium);
    border-radius: var(--radius-xs);
    font-size: 0.85rem;
    margin-top: 2px;
}
.edit-form label { font-size: 0.8rem; color: var(--color-text-secondary); display: block; margin-top: 0.4rem; }
.flex-grow       { flex: 1; min-width: 160px; }
.btn-save {
    background: var(--color-success);
    color: var(--color-surface);
    border: none;
    padding: 0.35rem 0.85rem;
    border-radius: var(--radius-xs);
    cursor: pointer;
    font-size: 0.85rem;
    margin-top: 0.5rem;
}
tr.row-edit-open td { background: #f9f9f9 !important; }

/* ─────────────────────────────────────────────────────────────
   Pointage — recap
───────────────────────────────────────────────────────────── */
.recap-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 1.25rem;
    flex-wrap: wrap;
    gap: 0.75rem;
}
.recap-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
    gap: 1.25rem;
}
.emp-card {
    background: var(--color-surface);
    border-radius: var(--radius-md);
    box-shadow: 0 2px 10px rgba(0,0,0,0.08);
    overflow: hidden;
}
.regl-list .emp-card { margin-bottom: 1.5rem; }
.emp-card-header {
    background: var(--color-dark);
    color: var(--color-surface);
    padding: 0.9rem 1.1rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.emp-name  { font-weight: 700; font-size: 1rem; }
.emp-email { font-size: 0.78rem; color: #b0bec5; margin-top: 2px; }
.emp-card-body { padding: 1rem 1.1rem; }
.stat-row {
    display: flex;
    justify-content: space-between;
    padding: 0.4rem 0;
    border-bottom: 1px solid var(--color-surface-muted);
    font-size: 0.9rem;
}
.stat-row:last-child  { border-bottom: none; }
.stat-label           { color: var(--color-text-dim); }
.stat-value           { font-weight: 600; color: var(--color-text); }
.stat-value.accent    { color: var(--color-primary); font-size: 1.1rem; }
.stat-value.warn      { color: var(--color-warning); }
.emp-card-footer {
    padding: 0.65rem 1.1rem;
    background: var(--color-surface-subtle);
    border-top: 1px solid var(--color-border);
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.btn-detail { color: var(--color-primary); text-decoration: none; font-size: 0.85rem; font-weight: 600; }
.btn-detail:hover { text-decoration: underline; }
.avg-bar {
    height: 6px;
    background: var(--color-primary-bg);
    border-radius: 3px;
    margin-top: 0.75rem;
    overflow: hidden;
}
.avg-bar-fill   { height: 100%; background: var(--color-primary); border-radius: 3px; }
.global-summary {
    background: var(--color-surface);
    border-radius: var(--radius-md);
    box-shadow: var(--shadow-sm);
    padding: 0.9rem 1.25rem;
    margin-bottom: 1.5rem;
    display: flex;
    gap: 2.5rem;
    flex-wrap: wrap;
}
.global-summary .item          { font-size: 0.9rem; color: var(--color-text-secondary); }
.global-summary .item strong   { color: var(--color-dark); font-size: 1.05rem; }
.detail-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.82rem;
    margin-top: 0.75rem;
}
.detail-table th {
    background: var(--color-border-admin);
    color: var(--color-dark-light);
    padding: 0.35rem 0.6rem;
    text-align: left;
    font-weight: 600;
}
.detail-table td {
    padding: 0.3rem 0.6rem;
    border-bottom: 1px solid var(--color-surface-muted);
    color: #455a64;
}
.detail-table tr:last-child td { border-bottom: none; }
.toggle-detail { background: none; border: none; color: var(--color-muted); cursor: pointer; font-size: 0.8rem; padding: 0; }
.toggle-detail:hover { color: var(--color-dark-light); }
.total-hours { font-size: 1.4rem; font-weight: 800; }
.total-label { font-size: 0.75rem; color: #b0bec5; }
.detail-toggle-wrap { margin-top: 0.75rem; }

/* ─────────────────────────────────────────────────────────────
   Pointage — règlements
───────────────────────────────────────────────────────────── */
.regl-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 1.5rem;
    flex-wrap: wrap;
    gap: 0.75rem;
}
.rate-badge {
    background: var(--color-primary-bg);
    color: #1565c0;
    padding: 0.35rem 0.9rem;
    border-radius: 20px;
    font-size: 0.9rem;
    font-weight: 600;
}
.emp-card-head {
    background: var(--color-dark);
    color: var(--color-surface);
    padding: 1rem 1.25rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.5rem;
}
.balance-chip { padding: 0.3rem 0.9rem; border-radius: 20px; font-weight: 700; font-size: 0.95rem; }
.chip-ok   { background: var(--color-success-bg); color: var(--color-success); }
.chip-due  { background: var(--color-warning-bg); color: var(--color-warning); }
.chip-zero { background: var(--color-surface-muted); color: var(--color-muted); }
.stats-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
    gap: 0.75rem;
    margin-bottom: 1.25rem;
}
.stat-box { background: #f8f9fa; border-radius: var(--radius); padding: 0.75rem 1rem; text-align: center; }
.stat-box .label { font-size: 0.78rem; color: var(--color-muted); text-transform: uppercase; letter-spacing: .04em; }
.stat-box .value { font-size: 1.3rem; font-weight: 700; color: var(--color-text); margin-top: 0.2rem; }
.stat-box .value.accent { color: var(--color-primary); }
.stat-box .value.earned { color: var(--color-success); }
.stat-box .value.paid   { color: #1565c0; }
.stat-box .value.due    { color: var(--color-warning); }
.section-title {
    font-size: 0.85rem;
    font-weight: 600;
    color: var(--color-dark-light);
    text-transform: uppercase;
    letter-spacing: .05em;
    margin-bottom: 0.6rem;
    margin-top: 1rem;
}
.payment-table { width: 100%; border-collapse: collapse; font-size: 0.88rem; margin-bottom: 1.25rem; }
.payment-table th {
    background: var(--color-border-admin);
    color: var(--color-dark-light);
    padding: 0.4rem 0.75rem;
    text-align: left;
    font-weight: 600;
}
.payment-table td { padding: 0.4rem 0.75rem; border-bottom: 1px solid var(--color-surface-muted); vertical-align: middle; }
.payment-table tr:last-child td { border-bottom: none; }
.td-secondary { color: var(--color-dark-light); }
.add-payment-form {
    background: #f8f9fa;
    border-radius: var(--radius);
    padding: 1rem 1.25rem;
    display: flex;
    gap: 0.75rem;
    align-items: flex-end;
    flex-wrap: wrap;
}
.add-payment-form label { font-size: 0.82rem; color: var(--color-dark-light); display: block; margin-bottom: 0.25rem; }
.add-payment-form input[type="number"],
.add-payment-form input[type="date"],
.add-payment-form input[type="text"] {
    padding: 0.4rem 0.6rem;
    border: 1px solid var(--color-border-strong);
    border-radius: var(--radius-sm);
    font-size: 0.9rem;
    width: 100%;
}
.btn-add {
    background: var(--color-success);
    color: var(--color-surface);
    border: none;
    padding: 0.45rem 1.1rem;
    border-radius: var(--radius-sm);
    cursor: pointer;
    font-size: 0.9rem;
    font-weight: 600;
    white-space: nowrap;
}
.btn-add:hover { background: var(--color-success-dark); }
.btn-del { background: none; border: none; color: #ef9a9a; cursor: pointer; font-size: 0.8rem; padding: 2px 6px; }
.btn-del:hover { color: var(--color-danger); }
.progress-bar-wrap { background: var(--color-border-admin); border-radius: var(--radius-xs); height: 8px; margin-top: 0.5rem; overflow: hidden; }
.progress-bar-fill { height: 100%; border-radius: var(--radius-xs); background: linear-gradient(90deg, var(--color-primary), #42a5f5); }
.progress-label    { font-size: 0.78rem; color: var(--color-muted); margin-bottom: 0.2rem; }
.suggested         { font-size: 0.78rem; color: var(--color-muted); margin-top: 0.4rem; }
.field-group       { min-width: 130px; }
.field-group-lg    { min-width: 160px; }
.no-payments       { color: var(--color-muted); font-size: 0.88rem; margin: 0 0 1rem; }

/* ─────────────────────────────────────────────────────────────
   Home page — Buttons
───────────────────────────────────────────────────────────── */
.btn {
    display: inline-block;
    padding: 11px 20px;
    border-radius: var(--radius-home);
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s;
    border: none;
    font-family: inherit;
    text-decoration: none;
}
.btn-primary { background: var(--orange); color: var(--noir); }
.btn-primary:hover { background: var(--orange-soft); transform: translateY(-1px); color: var(--noir); }
.btn-ghost {
    background: transparent;
    color: var(--blanc);
    border: 1.5px solid rgba(255,255,255,0.3);
}
.btn-ghost:hover { border-color: var(--orange); color: var(--orange); }

/* ─────────────────────────────────────────────────────────────
   Home page — Hero
───────────────────────────────────────────────────────────── */
.hero {
    background: var(--noir);
    color: var(--blanc);
    padding: 90px 0 110px;
    position: relative;
    overflow: hidden;
}
.hero::after {
    content: '';
    position: absolute;
    top: 0; right: -100px;
    width: 500px; height: 500px;
    background: radial-gradient(circle, rgba(243,146,0,0.15) 0%, transparent 70%);
    pointer-events: none;
}
.hero-content { max-width: 720px; position: relative; z-index: 1; }
.hero-tag {
    display: inline-block;
    padding: 6px 14px;
    background: rgba(243,146,0,0.12);
    color: var(--orange);
    border: 1px solid rgba(243,146,0,0.4);
    border-radius: 999px;
    font-size: 13px;
    font-weight: 500;
    margin-bottom: 24px;
}
.hero h1 { font-size: 54px; font-weight: 700; line-height: 1.1; margin-bottom: 22px; letter-spacing: -0.5px; }
.hero h1 .accent { color: var(--orange); }
.hero p { font-size: 18px; line-height: 1.6; color: rgba(255,255,255,0.8); margin-bottom: 32px; max-width: 580px; }
.hero-actions { display: flex; gap: 12px; flex-wrap: wrap; }

/* ─────────────────────────────────────────────────────────────
   Home page — Sections
───────────────────────────────────────────────────────────── */
.home-section { padding: 80px 0; color: var(--blanc); }
.home-section-gris { background: var(--gris-fond); }
.home-section--dark { background: var(--noir); }
.section-head { max-width: 680px; margin: 0 auto 56px; text-align: center; }
.eyebrow {
    display: inline-block;
    font-size: 12px;
    font-weight: 700;
    color: var(--orange);
    letter-spacing: 1.5px;
    text-transform: uppercase;
    margin-bottom: 14px;
}
.home-section h2 { font-size: 38px; font-weight: 700; line-height: 1.2; letter-spacing: -0.5px; margin-bottom: 14px; color: var(--blanc); }
.section-head p { font-size: 17px; color: var(--gris-texte); }

.home-section--white { background-color: var(--blanc); color: var(--noir); }
.home-section--white h2 { color: var(--noir); }

/* ─────────────────────────────────────────────────────────────
   Home page — Services grid
───────────────────────────────────────────────────────────── */
.services {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 20px;
}
.service {
    background: var(--blanc);
    border: 1px solid var(--gris-bord);
    border-radius: var(--radius-home-lg);
    padding: 32px 26px;
    transition: all 0.25s;
    position: relative;
    display: block;
    text-decoration: none;
    color: inherit;
}
.service:hover { border-color: var(--noir); transform: translateY(-3px); box-shadow: 0 10px 24px rgba(0,0,0,0.06); }
.service-num { position: absolute; top: 24px; right: 26px; font-size: 13px; font-weight: 700; color: var(--orange); letter-spacing: 1px; }
.service-icon {
    width: 48px; height: 48px;
    background: var(--noir);
    border-radius: var(--radius-home);
    display: flex; align-items: center; justify-content: center;
    margin-bottom: 20px;
}
.service-icon svg { width: 24px; height: 24px; stroke: var(--orange); fill: none; stroke-width: 2; }
.service h3 { font-size: 19px; font-weight: 700; margin-bottom: 8px; }
.service p   { font-size: 14px; color: var(--gris-texte); line-height: 1.6; }

/* ─────────────────────────────────────────────────────────────
   Home page — Stats
───────────────────────────────────────────────────────────── */
.stats-row { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 20px; }
.stats-row .stat { padding: 28px 24px; background: var(--noir-soft); border-left: 3px solid var(--orange); border-radius: var(--radius-home); }
.stats-row .stat-num   { font-size: 38px; font-weight: 700; color: var(--orange); line-height: 1; margin-bottom: 6px; }
.stats-row .stat-label { font-size: 14px; color: rgba(255,255,255,0.7); }

/* ─────────────────────────────────────────────────────────────
   Home page — CTA band
───────────────────────────────────────────────────────────── */
.cta-band {
    background: var(--noir);
    color: var(--blanc);
    padding: 60px 48px;
    border-radius: var(--radius-home-lg);
    text-align: center;
    border-top: 4px solid var(--orange);
}
.cta-band h2 { color: var(--blanc); margin-bottom: 14px; }
.cta-band p { font-size: 17px; color: rgba(255,255,255,0.75); margin: 0 auto 28px; max-width: 520px; }

@media (max-width: 720px) {
    .hero h1 { font-size: 38px; }
    .home-section h2 { font-size: 30px; }
}


/* ─────────────────────────────────────────────────────────────
   Contact page
───────────────────────────────────────────────────────────── */
.contact-hero {
    background: var(--noir);
    color: var(--blanc);
    padding: 70px 0 80px;
    position: relative;
    overflow: hidden;
}
.contact-hero::after {
    content: '';
    position: absolute;
    top: -60px; left: -120px;
    width: 420px; height: 420px;
    background: radial-gradient(circle, rgba(243,146,0,0.13) 0%, transparent 70%);
    pointer-events: none;
}
.contact-hero .hero-tag { margin-bottom: 20px; }
.contact-hero h1 { font-size: 48px; font-weight: 700; line-height: 1.1; margin-bottom: 18px; letter-spacing: -0.5px; position: relative; z-index: 1; }
.contact-hero h1 .accent { color: var(--orange); }
.contact-hero p { font-size: 18px; line-height: 1.6; color: rgba(255,255,255,0.75); max-width: 580px; position: relative; z-index: 1; }

.contact-section { padding: 80px 0; background: var(--gris-fond); }

.contact-layout {
    display: grid;
    grid-template-columns: 1fr 1.2fr;
    gap: 60px;
    align-items: start;
}

.contact-info .eyebrow { margin-bottom: 14px; }
.contact-info h2 { font-size: 34px; font-weight: 700; line-height: 1.2; letter-spacing: -0.4px; margin-bottom: 16px; }
.contact-info > p { font-size: 16px; color: var(--gris-texte); line-height: 1.7; margin-bottom: 36px; }

.contact-methods { display: flex; flex-direction: column; gap: 12px; }
.contact-method {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 18px 20px;
    background: var(--blanc);
    border: 1px solid var(--gris-bord);
    border-radius: var(--radius-home);
    text-decoration: none;
    color: inherit;
    transition: border-color 0.2s, transform 0.2s;
}
a.contact-method:hover { border-color: var(--orange); transform: translateX(4px); }
.contact-method-icon {
    width: 42px; height: 42px; flex-shrink: 0;
    background: var(--noir);
    border-radius: var(--radius-home);
    display: flex; align-items: center; justify-content: center;
}
.contact-method-icon svg { width: 20px; height: 20px; stroke: var(--orange); }
.contact-method-label { font-size: 11px; color: var(--gris-texte); font-weight: 600; text-transform: uppercase; letter-spacing: 0.8px; margin-bottom: 3px; }
.contact-method-value { font-size: 15px; font-weight: 600; color: var(--noir); }

.contact-form-wrapper {
    background: var(--blanc);
    border-radius: var(--radius-home-lg);
    border: 1px solid var(--gris-bord);
}
.contact_form_section { padding: 0; }

/* MUI overrides — couleurs site */
.contact-form-wrapper .MuiButton-containedPrimary {
    background-color: var(--orange) !important;
    color: var(--noir) !important;
    font-weight: 700;
}
.contact-form-wrapper .MuiButton-containedPrimary:hover {
    background-color: var(--orange-soft) !important;
}
.contact-form-wrapper .MuiOutlinedInput-root.Mui-focused .MuiOutlinedInput-notchedOutline,
.contact-form-wrapper .MuiOutlinedInput-root:hover .MuiOutlinedInput-notchedOutline {
    border-color: var(--orange) !important;
}
.contact-form-wrapper .MuiInputLabel-root.Mui-focused {
    color: var(--orange) !important;
}
.contact-form-wrapper .MuiCheckbox-root {
    color: var(--orange) !important;
}
.contact-form-wrapper .MuiLink-root {
    color: var(--orange) !important;
}
.contact-form-wrapper .MuiFormHelperText-root:not(.Mui-error) {
    color: var(--gris-texte);
}

@media (max-width: 860px) {
    .contact-layout { grid-template-columns: 1fr; gap: 40px; }
    .contact-hero h1 { font-size: 36px; }
}

/* ─────────────────────────────────────────────────────────────
   Mentions légales
───────────────────────────────────────────────────────────── */
.mentions-section {
    padding: 60px 0 80px;
    background: var(--gris-fond);
}
.mentions-section .mentions_grid {
    background: var(--blanc);
    border: 1px solid var(--gris-bord);
    border-radius: var(--radius-home-lg);
    padding: 40px;
    color: var(--noir);
    line-height: 1.7;
    font-size: 15px;
    grid-template-columns: 140px auto;
    align-items: start;
}
.mentions-section .mentions_grid > div {
    align-self: start;
}
.mentions-label {
    font-size: 11px;
    font-weight: 700;
    color: var(--orange);
    text-transform: uppercase;
    letter-spacing: 1px;
    padding-top: 2px;
}
.mentions-sommaire {
    list-style: none;
    padding: 0;
    margin: 6px 0 0 0;
    font-size: 12px;
    font-weight: 600;
    color: var(--gris-texte);
}
.mentions-sommaire li { margin-top: 6px; }
.mentions-sommaire a { color: var(--gris-texte); text-decoration: none; }
.mentions-sommaire a:hover { color: var(--orange); }
.mentions-section address { font-style: normal; margin: 8px 0; }
.mentions-section a { color: var(--orange); }
.mentions-section ul:not(.mentions-sommaire) { padding-left: 20px; margin: 8px 0; }
.mentions-section strong { color: var(--noir); }

/* ─────────────────────────────────────────────────────────────
   Footer
───────────────────────────────────────────────────────────── */
.footer .logo { font-size: 22px; font-weight: 800; letter-spacing: -0.5px; }
.footer .logo .jb   { color: #fff; }
.footer .logo .elec { color: #f39200; }

.footer {
    background: #111;
    color: rgba(255,255,255,0.75);
    padding: 56px 0 32px;
    font-size: 14px;
}
.footer-grid {
    display: grid;
    grid-template-columns: 2fr 1fr 1fr;
    gap: 40px;
    padding-bottom: 40px;
    border-bottom: 1px solid rgba(255,255,255,0.08);
}
.footer-about p { color: rgba(255,255,255,0.55); line-height: 1.7; margin-top: 14px; }
.footer h4 { font-size: 13px; font-weight: 700; letter-spacing: 1px; text-transform: uppercase; color: #fff; margin-bottom: 16px; }
.footer ul { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 10px; }
.footer ul li a { color: rgba(255,255,255,0.6); text-decoration: none; transition: color 0.2s; }
.footer ul li a:hover { color: #f39200; }
.footer ul li:not(:has(a)) { color: rgba(255,255,255,0.45); }
.footer-bottom {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 18px 0;
    border-top: 1px solid rgba(255,255,255,0.08);
    font-size: 13px;
    color: rgba(255,255,255,0.35);
}
.footer-bottom a { color: rgba(255,255,255,0.6); text-decoration: none; transition: color 0.2s; }
.footer-bottom a:hover { color: var(--orange); }
@media (max-width: 720px) {
    .footer-grid { grid-template-columns: 1fr; gap: 28px; }
    .footer-bottom { flex-direction: column; gap: 8px; text-align: center; }
}

/* ─────────────────────────────────────────────────────────────
   CMS — Block backgrounds (live + editor preview via data-bg)
───────────────────────────────────────────────────────────── */

.cms-block-bg.bg-noir,   [data-bg="bg-noir"],
.cms-block-bg.bg-soft,   [data-bg="bg-soft"],
.cms-block-bg.bg-orange, [data-bg="bg-orange"],
.cms-block-bg.bg-light,  [data-bg="bg-light"] {
    transition: background 0.2s;
}
.cms-block-bg.bg-noir,   [data-bg="bg-noir"]   { background: #0a0a0a; }
.cms-block-bg.bg-soft,   [data-bg="bg-soft"]   { background: #1a1a1a; }

.cms-block-bg.bg-orange, [data-bg="bg-orange"] { background: var(--orange); }
.cms-block-bg.bg-orange .service,
[data-bg="bg-orange"]   .service { background: rgba(255,255,255,.92); border-color: rgba(0,0,0,.08); }
.cms-block-bg.bg-orange .service h3,
[data-bg="bg-orange"]   .service h3 { color: var(--noir); }
.cms-block-bg.bg-orange .service p,
[data-bg="bg-orange"]   .service p  { color: rgba(0,0,0,.6); }
.cms-block-bg.bg-orange .section-head h2,
[data-bg="bg-orange"]   .section-head h2 { color: var(--noir); }
.cms-block-bg.bg-orange .section-head p,
[data-bg="bg-orange"]   .section-head p  { color: rgba(0,0,0,.65); }
.cms-block-bg.bg-orange .eyebrow,
[data-bg="bg-orange"]   .eyebrow { color: rgba(0,0,0,.55); border-color: rgba(0,0,0,.2); }
.cms-block-bg.bg-orange .stat,
[data-bg="bg-orange"]   .stat { background: rgba(0,0,0,.15); border-left-color: var(--noir); }
.cms-block-bg.bg-orange .stat-num,
[data-bg="bg-orange"]   .stat-num   { color: var(--noir); }
.cms-block-bg.bg-orange .stat-label,
[data-bg="bg-orange"]   .stat-label { color: rgba(0,0,0,.7); }

.cms-block-bg.bg-light,  [data-bg="bg-light"]  { background: #f6f6f6; }
.cms-block-bg.bg-light .section-head h2,
[data-bg="bg-light"]   .section-head h2 { color: var(--noir); }
.cms-block-bg.bg-light .section-head p,
[data-bg="bg-light"]   .section-head p  { color: #444; }
.cms-block-bg.bg-light .eyebrow,
[data-bg="bg-light"]   .eyebrow { color: var(--orange); border-color: rgba(243,146,0,.3); }
.cms-block-bg.bg-light .service,
[data-bg="bg-light"]   .service { background: #fff; border-color: #e0e0e0; }
.cms-block-bg.bg-light .service h3,
[data-bg="bg-light"]   .service h3 { color: var(--noir); }
.cms-block-bg.bg-light .service p,
[data-bg="bg-light"]   .service p  { color: #555; }
.cms-block-bg.bg-light .stat,
[data-bg="bg-light"]   .stat { background: #fff; }
.cms-block-bg.bg-light .stat-num,
[data-bg="bg-light"]   .stat-num   { color: var(--orange); }
.cms-block-bg.bg-light .stat-label,
[data-bg="bg-light"]   .stat-label { color: #555; }

/* ── CMS — Grid column count overrides ──────────────────── */
.services.cols-2  { grid-template-columns: repeat(2, 1fr); }
.services.cols-3  { grid-template-columns: repeat(3, 1fr); }
.services.cols-4  { grid-template-columns: repeat(4, 1fr); }
.stats-row.cols-2 { grid-template-columns: repeat(2, 1fr); }
.stats-row.cols-3 { grid-template-columns: repeat(3, 1fr); }
.stats-row.cols-4 { grid-template-columns: repeat(4, 1fr); }

@media (max-width: 860px) {
    .services.cols-3, .services.cols-4   { grid-template-columns: repeat(2, 1fr); }
    .stats-row.cols-3, .stats-row.cols-4 { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 520px) {
    .services.cols-2, .services.cols-3, .services.cols-4   { grid-template-columns: 1fr; }
    .stats-row.cols-2, .stats-row.cols-3, .stats-row.cols-4 { grid-template-columns: 1fr; }
}


/* ── Process Steps ───────────────────────────────────────── */
.process-steps-heading { text-align: center; margin-bottom: 48px; }
.process-steps {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    position: relative;
}
.process-steps::before {
    content: '';
    position: absolute;
    top: 28px;
    left: 0; right: 0;
    height: 2px;
    background: rgba(243,146,0,.25);
}
.process-step {
    text-align: center;
    padding: 0 20px 32px;
    position: relative;
}
.process-step-num {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 56px; height: 56px;
    border-radius: 50%;
    background: var(--orange);
    color: var(--noir);
    font-size: 15px;
    font-weight: 800;
    margin: 0 auto 20px;
    position: relative;
    z-index: 1;
}
.process-step h3 { font-size: 15px; font-weight: 700; color: var(--blanc); margin: 0 0 8px; }
.process-step p  { font-size: 14px; color: rgba(255,255,255,.6); margin: 0; line-height: 1.6; }
.cms-block-bg.bg-light .process-step h3,
[data-bg="bg-light"]   .process-step h3 { color: var(--noir); }
.cms-block-bg.bg-light .process-step p,
[data-bg="bg-light"]   .process-step p  { color: #555; }
.cms-block-bg.bg-light .process-steps::before,
[data-bg="bg-light"]   .process-steps::before { background: rgba(243,146,0,.4); }
@media (max-width: 680px) { .process-steps { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 400px) { .process-steps { grid-template-columns: 1fr; } }

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

.error-page {
    min-height: 70vh;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 4rem 1.5rem;
    background: var(--noir);
}

.error-inner {
    text-align: center;
    max-width: 480px;
}

.error-visual svg {
    width: 160px;
    height: auto;
    margin-bottom: 1.5rem;
    opacity: 0.9;
}

.svg-lock {
    width: 110px;
    height: auto;
}

.svg-ground {
    display: block;
    width: 160px;
    height: 173px;
    margin: 0 auto 1.75rem;
}

.error-grounded {
    font-size: 2.4rem;
    font-weight: 900;
    color: var(--orange);
    letter-spacing: 0.12em;
    text-transform: uppercase;
    margin: 0 0 0.75rem;
}

.error-code {
    font-size: 5rem;
    font-weight: 900;
    color: var(--orange);
    line-height: 1;
    letter-spacing: -4px;
    margin-bottom: 0.5rem;
    font-variant-numeric: tabular-nums;
}

.error-title {
    font-size: 1.4rem;
    font-weight: 700;
    color: var(--blanc);
    margin: 0 0 0.75rem;
    letter-spacing: -0.3px;
}

.error-sub {
    font-size: 0.9rem;
    color: #777;
    line-height: 1.6;
    margin-bottom: 2rem;
}

.error-actions {
    display: flex;
    gap: 0.75rem;
    justify-content: center;
    flex-wrap: wrap;
}

.error-btn-home {
    background: var(--orange);
    color: var(--noir);
    padding: 0.6rem 1.5rem;
    border-radius: 6px;
    font-weight: 700;
    font-size: 0.9rem;
    text-decoration: none;
    transition: background 0.15s;
}
.error-btn-home:hover { background: #d98200; }

.error-btn-contact {
    background: transparent;
    color: var(--orange);
    border: 1px solid var(--orange);
    padding: 0.6rem 1.5rem;
    border-radius: 6px;
    font-weight: 600;
    font-size: 0.9rem;
    text-decoration: none;
    transition: background 0.15s, color 0.15s;
}
.error-btn-contact:hover { background: var(--orange); color: var(--noir); }


/*# sourceMappingURL=data:application/json;charset=utf-8;base64,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O0lBQ2hCLG9CQUFvQjtJQUNwQixzQkFBc0I7SUFDdEIseUJBQXlCO0lBQ3pCLG1CQUFtQjtBQUN2Qjs7QUFFQTtJQUNJLGVBQWU7SUFDZixnQkFBZ0I7SUFDaEIsb0JBQW9CO0lBQ3BCLGNBQWM7SUFDZCxvQkFBb0I7SUFDcEIscUJBQXFCO0lBQ3JCLGtDQUFrQztBQUN0Qzs7QUFFQTtJQUNJLGlCQUFpQjtJQUNqQixnQkFBZ0I7SUFDaEIsbUJBQW1CO0lBQ25CLG1CQUFtQjtJQUNuQixzQkFBc0I7QUFDMUI7O0FBRUE7SUFDSSxpQkFBaUI7SUFDakIsV0FBVztJQUNYLGdCQUFnQjtJQUNoQixtQkFBbUI7QUFDdkI7O0FBRUE7SUFDSSxhQUFhO0lBQ2IsWUFBWTtJQUNaLHVCQUF1QjtJQUN2QixlQUFlO0FBQ25COztBQUVBO0lBQ0kseUJBQXlCO0lBQ3pCLGtCQUFrQjtJQUNsQixzQkFBc0I7SUFDdEIsa0JBQWtCO0lBQ2xCLGdCQUFnQjtJQUNoQixpQkFBaUI7SUFDakIscUJBQXFCO0lBQ3JCLDRCQUE0QjtBQUNoQztBQUNBLHdCQUF3QixtQkFBbUIsRUFBRTs7QUFFN0M7SUFDSSx1QkFBdUI7SUFDdkIsb0JBQW9CO0lBQ3BCLCtCQUErQjtJQUMvQixzQkFBc0I7SUFDdEIsa0JBQWtCO0lBQ2xCLGdCQUFnQjtJQUNoQixpQkFBaUI7SUFDakIscUJBQXFCO0lBQ3JCLHlDQUF5QztBQUM3QztBQUNBLDJCQUEyQix5QkFBeUIsRUFBRSxrQkFBa0IsRUFBRSIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL2Fzc2V0cy9zdHlsZXMvZ2VuZXJhdGVkLmNzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvc3R5bGVzL2Zyb250LmNzcyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiBBVVRPLUdFTkVSQVRFRCDigJQgbW9kaWZpZXogYXNzZXRzL2Rlc2lnbi10b2tlbnMuanMgcHVpcyBsYW5jZXogbnBtIHJ1biBkZXYgKi9cblxuOnJvb3Qge1xuICAgIC0tbm9pcjogICAgICAgICAgICAgICAgICAgICAgIzBhMGEwYTtcbiAgICAtLW5vaXItc29mdDogICAgICAgICAgICAgICAgICMxYTFhMWE7XG4gICAgLS1vcmFuZ2U6ICAgICAgICAgICAgICAgICAgICAjZjM5MjAwO1xuICAgIC0tb3JhbmdlLXNvZnQ6ICAgICAgICAgICAgICAgI2ZmYjM0MDtcbiAgICAtLWJsYW5jOiAgICAgICAgICAgICAgICAgICAgICNmZmZmZmY7XG4gICAgLS1ncmlzLWZvbmQ6ICAgICAgICAgICAgICAgICAjZjZmNmY2O1xuICAgIC0tZ3Jpcy1ib3JkOiAgICAgICAgICAgICAgICAgI2U0ZTRlNDtcbiAgICAtLWdyaXMtdGV4dGU6ICAgICAgICAgICAgICAgICM2YjZiNmI7XG4gICAgLS1mb250LWZhbWlseTogICAgICAgICAgICAgICBcIlJvYm90b1wiLCBcIkhlbHZldGljYVwiLCBcIkFyaWFsXCIsIHNhbnMtc2VyaWY7XG4gICAgLS1yYWRpdXMteHM6ICAgICAgICAgICAgICAgICA0cHg7XG4gICAgLS1yYWRpdXMtc206ICAgICAgICAgICAgICAgICA2cHg7XG4gICAgLS1yYWRpdXM6ICAgICAgICAgICAgICAgICAgICA4cHg7XG4gICAgLS1yYWRpdXMtbWQ6ICAgICAgICAgICAgICAgICAxMHB4O1xuICAgIC0tcmFkaXVzLWxnOiAgICAgICAgICAgICAgICAgMTJweDtcbiAgICAtLXJhZGl1cy1ob21lOiAgICAgICAgICAgICAgIDZweDtcbiAgICAtLXJhZGl1cy1ob21lLWxnOiAgICAgICAgICAgIDEwcHg7XG4gICAgLS1zaGFkb3cteHM6ICAgICAgICAgICAgICAgICAwIDFweCA2cHggcmdiYSgwLDAsMCwwLjA3KTtcbiAgICAtLXNoYWRvdy1zbTogICAgICAgICAgICAgICAgIDAgMXB4IDZweCByZ2JhKDAsMCwwLDAuMDgpO1xuICAgIC0tc2hhZG93OiAgICAgICAgICAgICAgICAgICAgMCAycHggMTJweCByZ2JhKDAsMCwwLDAuMDgpO1xuICAgIC0tc2hhZG93LW1kOiAgICAgICAgICAgICAgICAgMCAycHggMTZweCByZ2JhKDAsMCwwLDAuMTApO1xuICAgIC0tc2hhZG93LWxnOiAgICAgICAgICAgICAgICAgMCA0cHggMjRweCByZ2JhKDAsMCwwLDAuMTApO1xuICAgIC0tY29sb3ItcHJpbWFyeTogICAgICAgICAgICAgI2YzOTIwMDtcbiAgICAtLWNvbG9yLXByaW1hcnktZGFyazogICAgICAgICNkOTdmMDA7XG4gICAgLS1jb2xvci1wcmltYXJ5LWJnOiAgICAgICAgICByZ2JhKDI0MywxNDYsMCwwLjEyKTtcbiAgICAtLWNvbG9yLXN1Y2Nlc3M6ICAgICAgICAgICAgICMyZTdkMzI7XG4gICAgLS1jb2xvci1zdWNjZXNzLWRhcms6ICAgICAgICAjMWI1ZTIwO1xuICAgIC0tY29sb3Itc3VjY2Vzcy1iZzogICAgICAgICAgI2U4ZjVlOTtcbiAgICAtLWNvbG9yLXdhcm5pbmc6ICAgICAgICAgICAgICNlNjUxMDA7XG4gICAgLS1jb2xvci13YXJuaW5nLWJnOiAgICAgICAgICAjZmZmM2UwO1xuICAgIC0tY29sb3ItZGFuZ2VyOiAgICAgICAgICAgICAgI2M2MjgyODtcbiAgICAtLWNvbG9yLWRhbmdlci1kYXJrOiAgICAgICAgICM3ZjAwMDA7XG4gICAgLS1jb2xvci1kYW5nZXItYmc6ICAgICAgICAgICAjZmZlYmVlO1xuICAgIC0tY29sb3ItZGFyazogICAgICAgICAgICAgICAgIzM3NDc0ZjtcbiAgICAtLWNvbG9yLWRhcmstbGlnaHQ6ICAgICAgICAgICM1NDZlN2E7XG4gICAgLS1jb2xvci1tdXRlZDogICAgICAgICAgICAgICAjOTBhNGFlO1xuICAgIC0tY29sb3ItbXV0ZWQtZGFyazogICAgICAgICAgIzYwN2Q4YjtcbiAgICAtLWNvbG9yLXRleHQ6ICAgICAgICAgICAgICAgICMyNjMyMzg7XG4gICAgLS1jb2xvci10ZXh0LXNlY29uZGFyeTogICAgICAjNTU1O1xuICAgIC0tY29sb3ItdGV4dC1saWdodDogICAgICAgICAgIzg4ODtcbiAgICAtLWNvbG9yLXRleHQtZGltOiAgICAgICAgICAgICM2NjY7XG4gICAgLS1jb2xvci1ib3JkZXI6ICAgICAgICAgICAgICAjZjBmMGYwO1xuICAgIC0tY29sb3ItYm9yZGVyLW1lZGl1bTogICAgICAgI2NjYztcbiAgICAtLWNvbG9yLWJvcmRlci1zdHJvbmc6ICAgICAgICNjZmQ4ZGM7XG4gICAgLS1jb2xvci1ib3JkZXItYWRtaW46ICAgICAgICAjZWNlZmYxO1xuICAgIC0tY29sb3Itc3VyZmFjZTogICAgICAgICAgICAgI2ZmZmZmZjtcbiAgICAtLWNvbG9yLXN1cmZhY2UtbXV0ZWQ6ICAgICAgICNmNWY1ZjU7XG4gICAgLS1jb2xvci1zdXJmYWNlLXN1YnRsZTogICAgICAjZmFmYWZhO1xuICAgIC0tYmxhbmMtYWxwaGEtOTA6ICAgICAgICAgICAgcmdiYSgyNTUsMjU1LDI1NSwwLjkpO1xuICAgIC0tYmxhbmMtYWxwaGEtODA6ICAgICAgICAgICAgcmdiYSgyNTUsMjU1LDI1NSwwLjgpO1xuICAgIC0tYmxhbmMtYWxwaGEtNDU6ICAgICAgICAgICAgcmdiYSgyNTUsMjU1LDI1NSwwLjQ1KTtcbiAgICAtLW9yYW5nZS1hbHBoYS0xNTogICAgICAgICAgIHJnYmEoMjQzLDE0NiwwLDAuMTUpO1xuICAgIC0tb3JhbmdlLWFscGhhLTM1OiAgICAgICAgICAgcmdiYSgyNDMsMTQ2LDAsMC4zNSk7XG4gICAgLS1ub2lyLWNhcmQ6ICAgICAgICAgICAgICAgICAjMTExMTExO1xuICAgIC0tbm9pci1ib3JkZXI6ICAgICAgICAgICAgICAgIzIyMjIyMjtcbiAgICAtLW5vaXItYm9yZGVyLXNvZnQ6ICAgICAgICAgICMyYTJhMmE7XG4gICAgLS1ub2lyLWJvcmRlci1zdHJvbmc6ICAgICAgICAjMzMzMzMzO1xuICAgIC0tY29sb3ItdGV4dC1zb2Z0OiAgICAgICAgICAgIzk5OTk5OTtcbiAgICAtLWNvbG9yLXRleHQtcGFsZTogICAgICAgICAgICNhYWFhYWE7XG4gICAgLS1jb2xvci1zdWNjZXNzLWJnLWRhcms6ICAgICByZ2JhKDQ2LDEyNSw1MCwwLjE1KTtcbiAgICAtLWNvbG9yLXN1Y2Nlc3MtYm9yZC1kYXJrOiAgIHJnYmEoNDYsMTI1LDUwLDAuNCk7XG4gICAgLS1jb2xvci1zdWNjZXNzLXRleHQtZGFyazogICAjODFjNzg0O1xuICAgIC0tY29sb3ItZGFuZ2VyLWxpZ2h0OiAgICAgICAgI2U1MzkzNTtcbiAgICAtLWNvbG9yLWRhbmdlci1iZy1kYXJrOiAgICAgIHJnYmEoMTk4LDQwLDQwLDAuMTUpO1xuICAgIC0tY29sb3ItZGFuZ2VyLWJvcmQtZGFyazogICAgcmdiYSgxOTgsNDAsNDAsMC40KTtcbiAgICAtLWNvbG9yLWRhbmdlci10ZXh0LWRhcms6ICAgICNlZjlhOWE7XG59XG5cbi5jbXMtY29udGVudCBoMiB7XG4gICAgY29sb3I6IHZhcigtLW9yYW5nZSk7XG4gICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbn1cbi5jbXMtY29udGVudCBoMyB7XG4gICAgY29sb3I6IHZhcigtLWJsYW5jKTtcbiAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbn1cbi5jbXMtY29udGVudCBoNCB7XG4gICAgY29sb3I6IHZhcigtLWJsYW5jLWFscGhhLTkwKTtcbiAgICBmb250LXNpemU6IDEuMXJlbTtcbiAgICBmb250LXdlaWdodDogNjAwO1xufVxuLmNtcy1jb250ZW50IGg1IHtcbiAgICBjb2xvcjogdmFyKC0tYmxhbmMtYWxwaGEtODApO1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICBmb250LXdlaWdodDogNjAwO1xufVxuXG4uY21zLWNvbnRlbnQgYSB7XG4gICAgY29sb3I6IHZhcigtLW9yYW5nZSk7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgdGV4dC11bmRlcmxpbmUtb2Zmc2V0OiAzcHg7XG59XG4uY21zLWNvbnRlbnQgYTpob3ZlciB7IGNvbG9yOiB2YXIoLS1vcmFuZ2Utc29mdCk7IH1cblxuLmNtcy1jb250ZW50IC5jbXMtaGwgeyBjb2xvcjp2YXIoLS1vcmFuZ2UpO2ZvbnQtd2VpZ2h0OjYwMCB9XG4uY21zLWNvbnRlbnQgLmNtcy1tdXRlZCB7IGNvbG9yOnZhcigtLWJsYW5jLWFscGhhLTQ1KSB9XG4uY21zLWNvbnRlbnQgLmNtcy1zdHJvbmcgeyBmb250LXdlaWdodDo3MDA7Y29sb3I6dmFyKC0tYmxhbmMpIH1cbi5jbXMtY29udGVudCAuY21zLXRhZyB7IGRpc3BsYXk6aW5saW5lLWJsb2NrO2JhY2tncm91bmQ6dmFyKC0tb3JhbmdlLWFscGhhLTE1KTtjb2xvcjp2YXIoLS1vcmFuZ2UpO2JvcmRlcjoxcHggc29saWQgdmFyKC0tb3JhbmdlLWFscGhhLTM1KTtib3JkZXItcmFkaXVzOnZhcigtLXJhZGl1cy14cyk7cGFkZGluZzouMWVtIC41ZW07Zm9udC1zaXplOi44NWVtO2ZvbnQtd2VpZ2h0OjYwMCB9XG4iLCJAaW1wb3J0ICcuL2dlbmVyYXRlZC5jc3MnO1xuXG4vKiDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbiAgIEJhc2UgLyBSZXNldFxu4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAICovXG5odG1sIHtcbiAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuKiwgKjo6YmVmb3JlLCAqOjphZnRlciB7IGJveC1zaXppbmc6IGluaGVyaXQ7IH1cbmJvZHkge1xuICAgIG1hcmdpbjogMDtcbiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1mYW1pbHkpO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgLypiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1ib2R5LWJnKTsqL1xuICAgIHBhZGRpbmctdG9wOiAxMTBweDtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1ub2lyKTtcbiAgICBvdmVyZmxvdy14OiBoaWRkZW47XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIG1pbi1oZWlnaHQ6IDEwMHZoO1xufVxuLm1haW4tY29udGFpbmVyIHsgZmxleDogMTsgfVxuXG5ib2R5LnNjZW5lLWFjdGl2ZSB7IFxuICAgIG92ZXJmbG93LXk6IGhpZGRlbjtcbn1cblxuXG4vKiDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbiAgIFNpdGUgSGVhZGVyXG7ilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIAgKi9cbiNzaXRlLWhlYWRlciB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogMDsgbGVmdDogMDsgcmlnaHQ6IDA7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICAgIGJhY2tncm91bmQ6ICMwMDA7XG4gICAgcGFkZGluZzogNXB4IDIwcHg7XG4gICAgei1pbmRleDogOTk5O1xuICAgIHRyYW5zaXRpb246IHBhZGRpbmcgMC4ycyBlYXNlLCBvcGFjaXR5IDAuNXMgZWFzZSAwLjNzO1xufVxuYm9keS5zY2VuZS1hY3RpdmUgI3NpdGUtaGVhZGVyIHtcbiAgICBvcGFjaXR5OiAwO1xufVxuI3NpdGUtaGVhZGVyLnNocnVuayB7XG4gICAgcGFkZGluZy10b3A6IDNweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogM3B4O1xufVxuLmhlYWRlci1sb2dvIGltZyB7XG4gICAgaGVpZ2h0OiAxMDBweDtcbiAgICB3aWR0aDogYXV0bztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB0cmFuc2l0aW9uOiBoZWlnaHQgMC4ycyBlYXNlLWluLW91dDtcbn1cbiNzaXRlLWhlYWRlci5zaHJ1bmsgLmhlYWRlci1sb2dvIGltZyB7XG4gICAgaGVpZ2h0OiA1MHB4O1xufVxuLmhlYWRlci1uYXYgdWwge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBnYXA6IDA7XG59XG4uaGVhZGVyLW5hdiBsaSB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuLmhlYWRlci1uYXYgYSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luOiAwIDEwcHg7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgZm9udC1zaXplOiAxLjJyZW07XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWZhbWlseSk7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC4ycyBlYXNlLCB0cmFuc2Zvcm0gMC4ycyBlYXNlO1xufVxuLmhlYWRlci1uYXYgPiB1bCA+IGxpID4gYTpob3Zlcixcbi5oZWFkZXItbmF2ID4gdWwgPiBsaTpob3ZlciA+IGEsXG4uaGVhZGVyLW5hdiA+IHVsID4gbGkgPiBhLmFjdGl2ZSB7XG4gICAgY29sb3I6ICNmZTllMTY7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjEpO1xufVxuLmhlYWRlci1uYXYgLmhhcy1kcm9wZG93biA+IGE6OmFmdGVyIHtcbiAgICBjb250ZW50OiAnIOKWvic7XG4gICAgZm9udC1zaXplOiAwLjdlbTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuLmhlYWRlci1uYXYgLmRyb3Bkb3duIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IGNhbGMoMTAwJSArIDRweCk7XG4gICAgcmlnaHQ6IDA7XG4gICAgYmFja2dyb3VuZDogIzFhMWExYTtcbiAgICBtaW4td2lkdGg6IDE4MHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDAgMCB2YXIoLS1yYWRpdXMpIHZhcigtLXJhZGl1cyk7XG4gICAgcGFkZGluZzogMC4yNXJlbSAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgbWFyZ2luOiAwO1xuICAgIGJveC1zaGFkb3c6IDAgOHB4IDI0cHggcmdiYSgwLDAsMCwwLjM1KTtcbiAgICB6LWluZGV4OiAxMDAwO1xufVxuLmhlYWRlci1uYXYgLmhhcy1kcm9wZG93bjpob3ZlciAuZHJvcGRvd24sXG4uaGVhZGVyLW5hdiAuaGFzLWRyb3Bkb3duOmZvY3VzLXdpdGhpbiAuZHJvcGRvd24geyBkaXNwbGF5OiBibG9jazsgfVxuLmhlYWRlci1uYXYgLmRyb3Bkb3duIGxpIGEge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwLjU1cmVtIDEuMXJlbTtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgY29sb3I6ICNlMGUwZTA7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICMyYzJjMmM7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4xNXMsIGNvbG9yIDAuMTVzO1xufVxuLmhlYWRlci1uYXYgLmRyb3Bkb3duIGxpOmxhc3QtY2hpbGQgYSB7IGJvcmRlci1ib3R0b206IG5vbmU7IH1cbi5oZWFkZXItbmF2IC5kcm9wZG93biBsaSBhOmhvdmVyIHsgYmFja2dyb3VuZDogIzJjMmMyYzsgY29sb3I6ICNmZTllMTY7IH1cbi5oZWFkZXItcmlnaHQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICAgIGdhcDogMTZweDtcbn1cbi5oZWFkZXItbG9nb3V0IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiA1cHg7XG4gICAgcGFkZGluZzogNXB4IDEycHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tb3JhbmdlKTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtc20pO1xuICAgIGNvbG9yOiB2YXIoLS1vcmFuZ2UpO1xuICAgIGZvbnQtc2l6ZTogMC44NXJlbTtcbiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1mYW1pbHkpO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4ycyBlYXNlLCBjb2xvciAwLjJzIGVhc2U7XG4gICAgbWFyZ2luLWJvdHRvbTogMnB4O1xufVxuLmhlYWRlci1sb2dvdXQ6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLW9yYW5nZSk7XG4gICAgY29sb3I6IHZhcigtLW5vaXIpO1xufVxuXG4vKiDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbiAgIFV0aWxpdGllc1xu4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAICovXG4uaGlkZGVuICAgICAgICAgIHsgZGlzcGxheTogbm9uZTsgfVxuLnRleHQtcmlnaHQgICAgICB7IHRleHQtYWxpZ246IHJpZ2h0OyB9XG4udGV4dC1jZW50ZXIgICAgIHsgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4udGV4dC1zZWNvbmRhcnkgIHsgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTsgfVxuLnRleHQtbXV0ZWQgICAgICB7IGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LWxpZ2h0KTsgfVxuLnRleHQtbXV0ZWQtc20gICB7IGZvbnQtc2l6ZTogMC44MnJlbTsgY29sb3I6IHZhcigtLWNvbG9yLW11dGVkKTsgfVxuLnRleHQtd2FybmluZyAgICB7IGNvbG9yOiB2YXIoLS1jb2xvci13YXJuaW5nKTsgfVxuLnRleHQtcGxhY2Vob2xkZXJ7IGNvbG9yOiB2YXIoLS1jb2xvci1tdXRlZCk7IH1cbi5mdy02MDAgICAgICAgICAgeyBmb250LXdlaWdodDogNjAwOyB9XG4ucGFnZS10aXRsZSAgICAgIHsgbWFyZ2luOiAwOyB9XG4uZmxleC1yb3cgICAgICAgIHsgZGlzcGxheTogZmxleDsgZ2FwOiAxcmVtOyBhbGlnbi1pdGVtczogY2VudGVyOyB9XG5cbi8qIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuICAgTGlua3NcbuKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgCAqL1xuLmxpbmstcHJpbWFyeSB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBmb250LXNpemU6IDAuOXJlbTtcbn1cbi5saW5rLXByaW1hcnk6aG92ZXIgeyB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuLmxpbmstcHJpbWFyeS1ib2xkIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGZvbnQtc2l6ZTogMC45cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG59XG4ubGluay1zdWNjZXNzIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3Itc3VjY2Vzcyk7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGZvbnQtc2l6ZTogMC45cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG59XG4ubGluay1tdXRlZCB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbGlnaHQpO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBmb250LXNpemU6IDAuOXJlbTtcbn1cbi5saW5rLW11dGVkOmhvdmVyIHsgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cblxuLyog4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4gICBBbGVydHMgLyBGbGFzaCBtZXNzYWdlc1xu4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAICovXG4uYWxlcnQge1xuICAgIHBhZGRpbmc6IDAuNzVyZW0gMXJlbTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtc20pO1xuICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG59XG4uYWxlcnQtc3VjY2VzcyB7IGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXN1Y2Nlc3MtYmcpOyBjb2xvcjogdmFyKC0tY29sb3Itc3VjY2Vzcyk7IH1cbi5hbGVydC13YXJuaW5nIHsgYmFja2dyb3VuZDogdmFyKC0tY29sb3Itd2FybmluZy1iZyk7IGNvbG9yOiB2YXIoLS1jb2xvci13YXJuaW5nKTsgfVxuLmFsZXJ0LWRhbmdlciAgeyBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1kYW5nZXItYmcpOyAgY29sb3I6IHZhcigtLWNvbG9yLWRhbmdlcik7IH1cblxuLyog4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4gICBCYWRnZXNcbuKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgCAqL1xuLmJhZGdlLW9rLFxuLmJhZGdlLWNvbXBsZXQge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXN1Y2Nlc3MtYmcpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1zdWNjZXNzKTtcbiAgICBwYWRkaW5nOiAycHggOHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDEycHg7XG4gICAgZm9udC1zaXplOiAwLjhyZW07XG59XG4uYmFkZ2UtZW4tY291cnMsXG4uYmFkZ2UtaW5jb21wbGV0IHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci13YXJuaW5nLWJnKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3Itd2FybmluZyk7XG4gICAgcGFkZGluZzogMnB4IDhweDtcbiAgICBib3JkZXItcmFkaXVzOiAxMnB4O1xuICAgIGZvbnQtc2l6ZTogMC44cmVtO1xufVxuXG4vKiDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbiAgIFNoYXJlZCBjb21wb25lbnRzXG7ilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIAgKi9cbkBtZWRpYSAoaG92ZXI6IG5vbmUpIHtcbiAgICAuc2NlbmUgeyBkaXNwbGF5OiBub25lOyB9XG4gICAgLnNpdGUgIHsgb3BhY2l0eTogMTsgfVxufVxuXG4uZW1wdHktc3RhdGUge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwYWRkaW5nOiAzcmVtO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LWxpZ2h0KTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1zdXJmYWNlKTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbWQpO1xuICAgIGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdy14cyk7XG59XG4ubmF2LWxpbmtzIHsgdGV4dC1hbGlnbjogY2VudGVyOyBtYXJnaW4tdG9wOiAxLjVyZW07IH1cbi5uYXYtbGlua3MgYSB7IGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTsgdGV4dC1kZWNvcmF0aW9uOiBub25lOyBtYXJnaW46IDAgMC43NXJlbTsgZm9udC1zaXplOiAwLjlyZW07IH1cbi5uYXYtbGlua3MgYTpob3ZlciB7IHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG5cbi5wYWdlLWhlYWRlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW07XG59XG4uZmlsdGVyLWZvcm0ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDAuNzVyZW07XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3Itc3VyZmFjZSk7XG4gICAgcGFkZGluZzogMC43NXJlbSAxcmVtO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cyk7XG4gICAgYm94LXNoYWRvdzogdmFyKC0tc2hhZG93LXNtKTtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW07XG4gICAgZmxleC13cmFwOiB3cmFwO1xufVxuLmZpbHRlci1mb3JtIGxhYmVsIHsgZm9udC1zaXplOiAwLjlyZW07IGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7IH1cbi5maWx0ZXItZm9ybSBpbnB1dFt0eXBlPVwiZGF0ZVwiXSB7XG4gICAgcGFkZGluZzogMC4zNXJlbSAwLjZyZW07XG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLW1lZGl1bSk7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXNtKTtcbiAgICBmb250LXNpemU6IDAuOTVyZW07XG59XG4uYnRuLWZpbHRlciB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXN1cmZhY2UpO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBwYWRkaW5nOiAwLjRyZW0gMXJlbTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtc20pO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBmb250LXNpemU6IDAuOXJlbTtcbn1cbi5idG4tZmlsdGVyOmhvdmVyIHsgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItcHJpbWFyeS1kYXJrKTsgfVxuXG4uc3VtbWFyeS1iYXIsXG4udG90YWwtYmFyIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1zdXJmYWNlLW11dGVkKTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMpO1xuICAgIHBhZGRpbmc6IDAuNzVyZW0gMS4yNXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZ2FwOiAycmVtO1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbn1cbi5zdW1tYXJ5LWJhciBzcGFuLFxuLnRvdGFsLWJhciBzcGFuIHsgZm9udC1zaXplOiAwLjlyZW07IGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7IH1cbi5zdW1tYXJ5LWJhciBzdHJvbmcgeyBjb2xvcjogdmFyKC0tY29sb3ItZGFyayk7IH1cbi50b3RhbC1iYXIgc3Ryb25nICAgeyBjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7IH1cblxuLyog4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4gICBEZXYgc3R1YiAoU3ltZm9ueSBnZW5lcmF0ZWQgY29udHJvbGxlcnMpXG7ilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIAgKi9cbi5leGFtcGxlLXdyYXBwZXIgeyBtYXJnaW46IDFlbSBhdXRvOyBtYXgtd2lkdGg6IDgwMHB4OyB3aWR0aDogOTUlOyBmb250OiAxOHB4LzEuNSBzYW5zLXNlcmlmOyB9XG4uZXhhbXBsZS13cmFwcGVyIGNvZGUgeyBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1zdXJmYWNlLW11dGVkKTsgcGFkZGluZzogMnB4IDZweDsgfVxuXG4vKiDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbiAgIExvZ2luXG7ilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIAgKi9cbi5sb2dpbi13cmFwIHtcbiAgICBtaW4taGVpZ2h0OiA2MHZoO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBwYWRkaW5nOiAycmVtIDFyZW07XG59XG4ubG9naW4tY2FyZCB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3Itc3VyZmFjZSk7XG4gICAgYm9yZGVyLXJhZGl1czogMTRweDtcbiAgICBib3gtc2hhZG93OiB2YXIoLS1zaGFkb3ctbGcpO1xuICAgIHBhZGRpbmc6IDIuNXJlbSAyLjI1cmVtIDJyZW07XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiA0MDBweDtcbn1cbi5sb2dpbi1sb2dvIHsgdGV4dC1hbGlnbjogY2VudGVyOyBtYXJnaW4tYm90dG9tOiAxLjc1cmVtOyB9XG4ubG9naW4tbG9nby1pY29uIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHdpZHRoOiA1NnB4O1xuICAgIGhlaWdodDogNTZweDtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgbWFyZ2luLWJvdHRvbTogMC43NXJlbTtcbn1cbi5sb2dpbi1sb2dvLWljb24gc3ZnIHsgd2lkdGg6IDI4cHg7IGhlaWdodDogMjhweDsgZmlsbDogdmFyKC0tY29sb3Itc3VyZmFjZSk7IH1cbi5sb2dpbi1sb2dvIGgxIHsgZm9udC1zaXplOiAxLjM1cmVtOyBmb250LXdlaWdodDogNzAwOyBjb2xvcjogdmFyKC0tY29sb3ItdGV4dCk7IG1hcmdpbjogMCAwIDAuMnJlbTsgfVxuLmxvZ2luLWxvZ28gcCAgeyBmb250LXNpemU6IDAuODhyZW07IGNvbG9yOiB2YXIoLS1jb2xvci1tdXRlZCk7IG1hcmdpbjogMDsgfVxuLmxvZ2luLWZpZWxkIHsgbWFyZ2luLWJvdHRvbTogMS4xcmVtOyB9XG4ubG9naW4tZmllbGQgbGFiZWwge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtc2l6ZTogMC44MnJlbTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1kYXJrLWxpZ2h0KTtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjM1cmVtO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjAyZW07XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cbi5sb2dpbi1maWVsZCBpbnB1dCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZzogMC42NXJlbSAwLjlyZW07XG4gICAgYm9yZGVyOiAxLjVweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItc3Ryb25nKTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMpO1xuICAgIGZvbnQtc2l6ZTogMC45NXJlbTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dCk7XG4gICAgYmFja2dyb3VuZDogI2Y5ZmJmYztcbiAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC4xNXMsIGJveC1zaGFkb3cgMC4xNXM7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xufVxuLmxvZ2luLWZpZWxkIGlucHV0OmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXN1cmZhY2UpO1xuICAgIGJveC1zaGFkb3c6IDAgMCAwIDNweCByZ2JhKDI1LDExOCwyMTAsMC4xMik7XG59XG4ubG9naW4tcmVtZW1iZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDAuNXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjRyZW07XG4gICAgbWFyZ2luLXRvcDogMC4yNXJlbTtcbn1cbi5sb2dpbi1yZW1lbWJlciBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xuICAgIHdpZHRoOiAxNnB4O1xuICAgIGhlaWdodDogMTZweDtcbiAgICBhY2NlbnQtY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbn1cbi5sb2dpbi1yZW1lbWJlciBsYWJlbCB7IGZvbnQtc2l6ZTogMC44OHJlbTsgY29sb3I6IHZhcigtLWNvbG9yLW11dGVkLWRhcmspOyBjdXJzb3I6IHBvaW50ZXI7IHVzZXItc2VsZWN0OiBub25lOyB9XG4ubG9naW4tYnRuIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOiAwLjc1cmVtO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1zdXJmYWNlKTtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzKTtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMDNlbTtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMTVzLCBib3gtc2hhZG93IDAuMTVzO1xuICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xufVxuLmxvZ2luLWJ0bjpob3ZlciAgeyBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1wcmltYXJ5LWRhcmspOyBib3gtc2hhZG93OiAwIDNweCAxMHB4IHJnYmEoMjUsMTE4LDIxMCwwLjI1KTsgfVxuLmxvZ2luLWJ0bjphY3RpdmUgeyBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1wcmltYXJ5LWRhcmtlcik7IH1cbi5sb2dpbi1lcnJvciB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItZGFuZ2VyLWJnKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItZGFuZ2VyKTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMpO1xuICAgIHBhZGRpbmc6IDAuNjVyZW0gMC45cmVtO1xuICAgIGZvbnQtc2l6ZTogMC44OHJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDAuNXJlbTtcbn1cbi5sb2dpbi1lcnJvcjo6YmVmb3JlIHsgY29udGVudDogJ+KaoCc7IGZvbnQtc2l6ZTogMXJlbTsgZmxleC1zaHJpbms6IDA7IH1cbi5sb2dpbi1hbHJlYWR5IHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1zdWNjZXNzLWJnKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3Itc3VjY2Vzcyk7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzKTtcbiAgICBwYWRkaW5nOiAwLjY1cmVtIDAuOXJlbTtcbiAgICBmb250LXNpemU6IDAuODhyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTtcbn1cbi5sb2dpbi1hbHJlYWR5IGEgeyBjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS1kYXJrKTsgZm9udC13ZWlnaHQ6IDYwMDsgfVxuXG4vKiDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbiAgIENNUyDigJQgcGFnZSBwdWJsaXF1ZSAoZGFyayB0aGVtZSlcbuKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgCAqL1xuLmNtcy1wYWdlIHtcbiAgICBtYXgtd2lkdGg6IDEyMDBweDtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBwYWRkaW5nOiAwIDEuNXJlbTtcbn1cbi5jbXMtcGFnZSBoMSB7XG4gICAgZm9udC1zaXplOiAyLjJyZW07XG4gICAgZm9udC13ZWlnaHQ6IDgwMDtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjRyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMjtcbn1cbi5jbXMtdGl0bGUtYWNjZW50IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogNDhweDtcbiAgICBoZWlnaHQ6IDNweDtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1vcmFuZ2UpO1xuICAgIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtO1xufVxuLmNtcy1wYWdlLW1ldGEge1xuICAgIGZvbnQtc2l6ZTogMC45cmVtO1xuICAgIGNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LDAuNDUpO1xuICAgIG1hcmdpbi1ib3R0b206IDJyZW07XG4gICAgcGFkZGluZy1ib3R0b206IDFyZW07XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsMC4xKTtcbn1cbi5jbXMtY29udGVudCBwICAgICAgICAgeyBsaW5lLWhlaWdodDogMS43NTsgY29sb3I6IHJnYmEoMjU1LDI1NSwyNTUsMC44Mik7IG1hcmdpbjogMCAwIDFyZW07IH1cbi5jbXMtY29udGVudCBoMSwgLmNtcy1jb250ZW50IGgyLCAuY21zLWNvbnRlbnQgaDMsXG4uY21zLWNvbnRlbnQgaDQsIC5jbXMtY29udGVudCBoNSwgLmNtcy1jb250ZW50IGg2IHsgbWFyZ2luOiAxLjc1cmVtIDAgMC42cmVtOyB9XG4uY21zLWNvbnRlbnQgdWwsIC5jbXMtY29udGVudCBvbCB7IHBhZGRpbmctbGVmdDogMS41cmVtOyBtYXJnaW46IDAgMCAxcmVtOyBjb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwwLjgyKTsgbGluZS1oZWlnaHQ6IDEuNzU7IH1cbi5jbXMtY29udGVudCBibG9ja3F1b3RlIHtcbiAgICBib3JkZXItbGVmdDogNHB4IHNvbGlkIHZhcigtLW9yYW5nZSk7XG4gICAgbWFyZ2luOiAxLjVyZW0gMDtcbiAgICBwYWRkaW5nOiAwLjc1cmVtIDEuMjVyZW07XG4gICAgYmFja2dyb3VuZDogcmdiYSgyNDMsMTQ2LDAsMC4wOCk7XG4gICAgY29sb3I6IHJnYmEoMjU1LDI1NSwyNTUsMC45KTtcbiAgICBib3JkZXItcmFkaXVzOiAwIHZhcigtLXJhZGl1cykgdmFyKC0tcmFkaXVzKSAwO1xufVxuLmNtcy1jb250ZW50IGJsb2NrcXVvdGUgY2l0ZSB7IGRpc3BsYXk6IGJsb2NrOyBmb250LXNpemU6IDAuODVyZW07IGNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LDAuNDUpOyBtYXJnaW4tdG9wOiAwLjVyZW07IH1cbi5jbXMtY29udGVudCBwcmUge1xuICAgIGJhY2tncm91bmQ6ICMxMTE7XG4gICAgY29sb3I6ICNjZmQ4ZGM7XG4gICAgcGFkZGluZzogMXJlbSAxLjI1cmVtO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cyk7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICBtYXJnaW46IDFyZW0gMDtcbiAgICBmb250LXNpemU6IDAuODhyZW07XG4gICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwwLjA4KTtcbn1cbi5jbXMtY29udGVudCBoci5lZGl0b3Jqcy1kZWxpbWl0ZXIgeyBib3JkZXI6IG5vbmU7IGJvcmRlci10b3A6IDJweCBzb2xpZCByZ2JhKDI1NSwyNTUsMjU1LDAuMTIpOyBtYXJnaW46IDJyZW0gYXV0bzsgd2lkdGg6IDYwcHg7IH1cbi5jbXMtY29udGVudCAuZWRpdG9yanMtd2FybmluZyB7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyNDksMTY4LDM3LDAuMDgpO1xuICAgIGJvcmRlci1sZWZ0OiA0cHggc29saWQgI2Y5YTgyNTtcbiAgICBwYWRkaW5nOiAwLjc1cmVtIDFyZW07XG4gICAgYm9yZGVyLXJhZGl1czogMCB2YXIoLS1yYWRpdXMpIHZhcigtLXJhZGl1cykgMDtcbiAgICBtYXJnaW46IDFyZW0gMDtcbiAgICBjb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwwLjkpO1xufVxuLmNtcy1jb250ZW50IC5lZGl0b3Jqcy13YXJuaW5nLXRpdGxlIHsgZm9udC13ZWlnaHQ6IDcwMDsgY29sb3I6IHZhcigtLW9yYW5nZSk7IGRpc3BsYXk6IGJsb2NrOyBtYXJnaW4tYm90dG9tOiAwLjI1cmVtOyB9XG4uY21zLWNvbnRlbnQgZmlndXJlIHsgbWFyZ2luOiAxLjVyZW0gMDsgfVxuLmNtcy1jb250ZW50IGZpZ3VyZSBpbWcgICAgICAgICAgICAgIHsgbWF4LXdpZHRoOiAxMDAlOyBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMpOyB9XG4uY21zLWNvbnRlbnQgZmlndXJlIGltZy5lZGl0b3Jqcy1pbWctYm9yZGVyICAgIHsgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwwLjEyKTsgfVxuLmNtcy1jb250ZW50IGZpZ3VyZSBpbWcuZWRpdG9yanMtaW1nLXN0cmV0Y2hlZCB7IHdpZHRoOiAxMDAlOyB9XG4uY21zLWNvbnRlbnQgZmlndXJlIGltZy5lZGl0b3Jqcy1pbWctYmcgICAgICAgIHsgYmFja2dyb3VuZDogcmdiYSgyNTUsMjU1LDI1NSwwLjA1KTsgcGFkZGluZzogMXJlbTsgfVxuLmNtcy1jb250ZW50IC5lZGl0b3Jqcy1lbWJlZCB7IG1hcmdpbjogMS41cmVtIDA7IH1cbi5jbXMtY29udGVudCAuZWRpdG9yanMtZW1iZWQgaWZyYW1lIHsgbWF4LXdpZHRoOiAxMDAlOyBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMpOyB9XG4uY21zLWNvbnRlbnQgLmVkaXRvcmpzLWxpbmstY2FyZCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDI1NSwyNTUsMjU1LDAuMSk7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzKTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICBtYXJnaW46IDFyZW0gMDtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwyNTUsMjU1LDAuMDMpO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4xNXM7XG59XG4uY21zLWNvbnRlbnQgLmVkaXRvcmpzLWxpbmstY2FyZDpob3ZlciB7IGJhY2tncm91bmQ6IHJnYmEoMjU1LDI1NSwyNTUsMC4wNik7IH1cbi5jbXMtY29udGVudCAuZWRpdG9yanMtbGluay1ib2R5ICAgICAgIHsgZmxleDogMTsgcGFkZGluZzogMC45cmVtIDFyZW07IH1cbi5jbXMtY29udGVudCAuZWRpdG9yanMtbGluay1ib2R5IHN0cm9uZyB7IGRpc3BsYXk6IGJsb2NrOyBjb2xvcjogI2ZmZjsgbWFyZ2luLWJvdHRvbTogMC4yNXJlbTsgfVxuLmNtcy1jb250ZW50IC5lZGl0b3Jqcy1saW5rLWRlc2MgeyBmb250LXNpemU6IDAuODVyZW07IGNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LDAuNSk7IG1hcmdpbjogMCAwIDAuNHJlbTsgfVxuLmNtcy1jb250ZW50IC5lZGl0b3Jqcy1saW5rLXVybCAgeyBmb250LXNpemU6IDAuNzVyZW07IGNvbG9yOiB2YXIoLS1vcmFuZ2UpOyB9XG4uY21zLWNvbnRlbnQgLmVkaXRvcmpzLWxpbmstaW1nICB7IHdpZHRoOiAxMjBweDsgZmxleC1zaHJpbms6IDA7IH1cbi5jbXMtY29udGVudCAuZWRpdG9yanMtbGluay1pbWcgaW1nIHsgd2lkdGg6IDEwMCU7IGhlaWdodDogMTAwJTsgb2JqZWN0LWZpdDogY292ZXI7IH1cbi5jbXMtY29udGVudCAuZWRpdG9yanMtYXR0YWNoIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiAwLjc1cmVtO1xuICAgIHBhZGRpbmc6IDAuNzVyZW0gMXJlbTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDI1NSwyNTUsMjU1LDAuMSk7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzKTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgY29sb3I6IHJnYmEoMjU1LDI1NSwyNTUsMC44NSk7XG4gICAgbWFyZ2luOiAwLjc1cmVtIDA7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyNTUsMjU1LDI1NSwwLjAzKTtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMTVzO1xufVxuLmNtcy1jb250ZW50IC5lZGl0b3Jqcy1hdHRhY2g6aG92ZXIgIHsgYmFja2dyb3VuZDogcmdiYSgyNTUsMjU1LDI1NSwwLjA3KTsgfVxuLmNtcy1jb250ZW50IC5lZGl0b3Jqcy1hdHRhY2gtaWNvbiAgIHsgZm9udC1zaXplOiAxLjJyZW07IH1cbi5jbXMtY29udGVudCAuZWRpdG9yanMtYXR0YWNoLW5hbWUgICB7IGZsZXg6IDE7IGZvbnQtd2VpZ2h0OiA2MDA7IGNvbG9yOiAjZmZmOyB9XG4uY21zLWNvbnRlbnQgLmVkaXRvcmpzLWF0dGFjaC1tZXRhICAgeyBmb250LXNpemU6IDAuNzhyZW07IGNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LDAuNDUpOyB9XG4uY21zLWNvbnRlbnQgLmVkaXRvcmpzLWNvbHVtbnMgICAgICAgeyBkaXNwbGF5OiBncmlkOyBnYXA6IDEuNXJlbTsgbWFyZ2luOiAxLjVyZW0gMDsgfVxuLmNtcy1jb250ZW50IC5lZGl0b3Jqcy1jb2x1bW5zLTIgICAgIHsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyOyB9XG4uY21zLWNvbnRlbnQgLmVkaXRvcmpzLWNvbHVtbnMtMyAgICAgeyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnIgMWZyOyB9XG4uY21zLWNvbnRlbnQgZmlnY2FwdGlvbiAgICAgICAgICAgICAgeyBmb250LXNpemU6IDAuODJyZW07IGNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LDAuNDUpOyB0ZXh0LWFsaWduOiBjZW50ZXI7IG1hcmdpbi10b3A6IDAuNHJlbTsgfVxuLmNtcy1jb250ZW50IHRhYmxlLmVkaXRvcmpzLXRhYmxlICAgIHsgd2lkdGg6IDEwMCU7IGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7IG1hcmdpbjogMXJlbSAwOyBmb250LXNpemU6IDAuOXJlbTsgfVxuLmNtcy1jb250ZW50IHRhYmxlLmVkaXRvcmpzLXRhYmxlIHRoIHsgYmFja2dyb3VuZDogcmdiYSgyNTUsMjU1LDI1NSwwLjA4KTsgY29sb3I6ICNmZmY7IHBhZGRpbmc6IDAuNXJlbSAwLjhyZW07IHRleHQtYWxpZ246IGxlZnQ7IGJvcmRlci1ib3R0b206IDJweCBzb2xpZCByZ2JhKDI1NSwyNTUsMjU1LDAuMTUpOyB9XG4uY21zLWNvbnRlbnQgdGFibGUuZWRpdG9yanMtdGFibGUgdGQgeyBwYWRkaW5nOiAwLjQ1cmVtIDAuOHJlbTsgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsMC4wNik7IGNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LDAuOCk7IH1cbi5jbXMtY29udGVudCB0YWJsZS5lZGl0b3Jqcy10YWJsZSB0cjpob3ZlciB0ZCB7IGJhY2tncm91bmQ6IHJnYmEoMjU1LDI1NSwyNTUsMC4wMyk7IH1cbkBtZWRpYSAobWF4LXdpZHRoOiA2MDBweCkge1xuICAgIC5jbXMtY29udGVudCAuZWRpdG9yanMtY29sdW1ucy0yLFxuICAgIC5jbXMtY29udGVudCAuZWRpdG9yanMtY29sdW1ucy0zIHsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7IH1cbiAgICAuY21zLWNvbnRlbnQgLmVkaXRvcmpzLWxpbmstaW1nICB7IGRpc3BsYXk6IG5vbmU7IH1cbn1cbi5jbXMtZWRpdC1iYXIge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICBib3R0b206IDEuNXJlbTtcbiAgICByaWdodDogMS41cmVtO1xuICAgIHotaW5kZXg6IDEwMDtcbn1cbi5jbXMtZWRpdC1idG4ge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLW9yYW5nZSk7XG4gICAgY29sb3I6ICMwMDA7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIHBhZGRpbmc6IDAuNnJlbSAxLjFyZW07XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzKTtcbiAgICBmb250LXNpemU6IDAuODhyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBib3gtc2hhZG93OiAwIDRweCAxNHB4IHJnYmEoMjQzLDE0NiwwLDAuMzUpO1xufVxuLmNtcy1lZGl0LWJ0bjpob3ZlciB7IGJhY2tncm91bmQ6IHZhcigtLW9yYW5nZS1zb2Z0KTsgfVxuXG4vKiDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbiAgIENhcm91c2VsIG92ZXJyaWRlIChwYWdlIGFjY3VlaWwpXG7ilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIAgKi9cbmhlYWRlciNjYXJvdXNlbC1jb250YWluZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IC0xMTBweDtcbn1cblxuLyog4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4gICBQb2ludGFnZSDigJQgaW5kZXhcbuKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgCAqL1xuLnBvaW50YWdlLWNhcmQge1xuICAgIG1heC13aWR0aDogNTIwcHg7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3Itc3VyZmFjZSk7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLWxnKTtcbiAgICBib3gtc2hhZG93OiB2YXIoLS1zaGFkb3ctbWQpO1xuICAgIHBhZGRpbmc6IDJyZW07XG59XG4ucG9pbnRhZ2UtdGl0bGUgICAgeyB0ZXh0LWFsaWduOiBjZW50ZXI7IG1hcmdpbi1ib3R0b206IDAuMjVyZW07IH1cbi5wb2ludGFnZS1zdWJ0aXRsZSB7IHRleHQtYWxpZ246IGNlbnRlcjsgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbGlnaHQpOyBtYXJnaW4tYm90dG9tOiAxLjVyZW07IH1cbi5wb2ludGFnZS1zdGF0dXMgICB7IHRleHQtYWxpZ246IGNlbnRlcjsgcGFkZGluZzogMS41cmVtIDA7IH1cbi5wb2ludGFnZS10aW1lIHtcbiAgICBmb250LXNpemU6IDIuOHJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbiAgICBsZXR0ZXItc3BhY2luZzogMnB4O1xufVxuLnBvaW50YWdlLWxhYmVsICAgIHsgZm9udC1zaXplOiAwLjk1cmVtOyBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1kaW0pOyBtYXJnaW4tYm90dG9tOiAwLjI1cmVtOyB9XG4uYnRuLXBvaW50YWdlIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOiAwLjlyZW07XG4gICAgZm9udC1zaXplOiAxLjFyZW07XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMpO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjJzO1xufVxuLmJ0bi1hcnJpdmVlICAgICAgIHsgYmFja2dyb3VuZDogdmFyKC0tY29sb3Itc3VjY2Vzcyk7IGNvbG9yOiB2YXIoLS1jb2xvci1zdXJmYWNlKTsgfVxuLmJ0bi1hcnJpdmVlOmhvdmVyIHsgYmFja2dyb3VuZDogdmFyKC0tY29sb3Itc3VjY2Vzcy1kYXJrKTsgY29sb3I6IHZhcigtLWNvbG9yLXN1cmZhY2UpOyB9XG4uYnRuLWRlcGFydCAgICAgICAgeyBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1kYW5nZXIpOyBjb2xvcjogdmFyKC0tY29sb3Itc3VyZmFjZSk7IH1cbi5idG4tZGVwYXJ0OmhvdmVyICB7IGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWRhbmdlci1kYXJrKTsgY29sb3I6IHZhcigtLWNvbG9yLXN1cmZhY2UpOyB9XG4uaW5mby1yb3cge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIHBhZGRpbmc6IDAuNXJlbSAwO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXIpO1xufVxuLmluZm8tcm93Omxhc3QtY2hpbGQgICAgeyBib3JkZXItYm90dG9tOiBub25lOyB9XG4uaW5mby1yb3ctLWhpZ2hsaWdodCAgICB7IGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXN1cmZhY2UtbXV0ZWQpOyBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtc20pOyBwYWRkaW5nOiAwLjVyZW0gMC43NXJlbTsgfVxuLndvcmtlZC10aW1lICAgICAgICAgICAgeyBmb250LXNpemU6IDEuMnJlbTsgZm9udC13ZWlnaHQ6IDcwMDsgY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpOyB9XG4uZW50cnktbm90ZXMgICAgICAgICAgICB7IG1hcmdpbi10b3A6IDAuNzVyZW07IGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7IGZvbnQtc2l6ZTogMC45cmVtOyB9XG4uZm9ybS1kZXBhcnQgICAgICAgICAgICB7IG1hcmdpbi10b3A6IDEuMjVyZW07IH1cbi5mb3JtLWxhYmVsIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXNpemU6IDAuOXJlbTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xuICAgIG1hcmdpbi1ib3R0b206IDAuM3JlbTtcbn1cbi5mb3JtLWlucHV0IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOiAwLjVyZW0gMC43NXJlbTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItbWVkaXVtKTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtc20pO1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbn1cbi5mb3JtLXRleHRhcmVhIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOiAwLjVyZW0gMC43NXJlbTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItbWVkaXVtKTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtc20pO1xuICAgIGZvbnQtc2l6ZTogMC45NXJlbTtcbiAgICByZXNpemU6IHZlcnRpY2FsO1xufVxuLmZpZWxkLWRlcGFydCAgICAgICAgIHsgbWFyZ2luLWJvdHRvbTogMXJlbTsgfVxuLmZpZWxkLWRlcGFydC1sYXN0ICAgIHsgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTsgfVxuLmlucHV0LXNtICAgICAgICAgICAgIHsgd2lkdGg6IDgwcHg7IH1cbi5uby1lbnRyeS1tZXNzYWdlICAgICB7IGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LWxpZ2h0KTsgbWFyZ2luLWJvdHRvbTogMS41cmVtOyB9XG5cbi8qIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuICAgUG9pbnRhZ2Ug4oCUIGhpc3RvcmlxdWVcbuKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgCAqL1xuLnRhYmxlLXBvaW50YWdlIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXN1cmZhY2UpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1tZCk7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBib3gtc2hhZG93OiB2YXIoLS1zaGFkb3cpO1xufVxuLnRhYmxlLXBvaW50YWdlIHRoIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3Itc3VyZmFjZSk7XG4gICAgcGFkZGluZzogMC43NXJlbSAxcmVtO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBmb250LXNpemU6IDAuOXJlbTtcbn1cbi50YWJsZS1wb2ludGFnZSB0ZCB7XG4gICAgcGFkZGluZzogMC42NXJlbSAxcmVtO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXIpO1xuICAgIGZvbnQtc2l6ZTogMC45NXJlbTtcbn1cbi50YWJsZS1wb2ludGFnZSB0cjpsYXN0LWNoaWxkIHRkIHsgYm9yZGVyLWJvdHRvbTogbm9uZTsgfVxuLnRhYmxlLXBvaW50YWdlIHRyOmhvdmVyIHRkICAgICAgeyBiYWNrZ3JvdW5kOiAjZjVmOWZmOyB9XG4uZHVyYXRpb24geyBmb250LXdlaWdodDogNzAwOyBjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7IH1cblxuLyog4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4gICBQb2ludGFnZSDigJQgYWRtaW5cbuKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgCAqL1xuLmFkbWluLWhlYWRlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtO1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBnYXA6IDAuNzVyZW07XG59XG4udGFibGUtYWRtaW4ge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3Itc3VyZmFjZSk7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLW1kKTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdyk7XG59XG4udGFibGUtYWRtaW4gdGgge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWRhcmspO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1zdXJmYWNlKTtcbiAgICBwYWRkaW5nOiAwLjdyZW0gMC45cmVtO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBmb250LXNpemU6IDAuODhyZW07XG59XG4udGFibGUtYWRtaW4gdGQge1xuICAgIHBhZGRpbmc6IDAuNTVyZW0gMC45cmVtO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXIpO1xuICAgIGZvbnQtc2l6ZTogMC45cmVtO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG4udGFibGUtYWRtaW4gdHI6bGFzdC1jaGlsZCB0ZCAgICB7IGJvcmRlci1ib3R0b206IG5vbmU7IH1cbi50YWJsZS1hZG1pbiB0cjpob3ZlciB0ZCAgICAgICAgIHsgYmFja2dyb3VuZDogdmFyKC0tY29sb3Itc3VyZmFjZS1zdWJ0bGUpOyB9XG4udXNlci1uYW1lICB7IGZvbnQtd2VpZ2h0OiA2MDA7IH1cbi51c2VyLWVtYWlsIHsgZm9udC1zaXplOiAwLjhyZW07IGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LWxpZ2h0KTsgfVxuLnRkLW5vdGVzICAgeyBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1kaW0pOyBmb250LXNpemU6IDAuODVyZW07IG1heC13aWR0aDogMTYwcHg7IH1cbi5idG4tZWRpdCB7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItbWVkaXVtKTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMteHMpO1xuICAgIHBhZGRpbmc6IDJweCA4cHg7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGZvbnQtc2l6ZTogMC44cmVtO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG59XG4uYnRuLWVkaXQ6aG92ZXIgeyBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1zdXJmYWNlLW11dGVkKTsgfVxuLmVkaXQtZm9ybS1yb3cge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZ2FwOiAxcmVtO1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gICAgcGFkZGluZzogMC41cmVtIDA7XG59XG4uZWRpdC1mb3JtIGlucHV0W3R5cGU9XCJ0aW1lXCJdLFxuLmVkaXQtZm9ybSBpbnB1dFt0eXBlPVwibnVtYmVyXCJdLFxuLmVkaXQtZm9ybSB0ZXh0YXJlYSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZzogMC4zcmVtIDAuNXJlbTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItbWVkaXVtKTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMteHMpO1xuICAgIGZvbnQtc2l6ZTogMC44NXJlbTtcbiAgICBtYXJnaW4tdG9wOiAycHg7XG59XG4uZWRpdC1mb3JtIGxhYmVsIHsgZm9udC1zaXplOiAwLjhyZW07IGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7IGRpc3BsYXk6IGJsb2NrOyBtYXJnaW4tdG9wOiAwLjRyZW07IH1cbi5mbGV4LWdyb3cgICAgICAgeyBmbGV4OiAxOyBtaW4td2lkdGg6IDE2MHB4OyB9XG4uYnRuLXNhdmUge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXN1Y2Nlc3MpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1zdXJmYWNlKTtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgcGFkZGluZzogMC4zNXJlbSAwLjg1cmVtO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy14cyk7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGZvbnQtc2l6ZTogMC44NXJlbTtcbiAgICBtYXJnaW4tdG9wOiAwLjVyZW07XG59XG50ci5yb3ctZWRpdC1vcGVuIHRkIHsgYmFja2dyb3VuZDogI2Y5ZjlmOSAhaW1wb3J0YW50OyB9XG5cbi8qIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuICAgUG9pbnRhZ2Ug4oCUIHJlY2FwXG7ilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIAgKi9cbi5yZWNhcC1oZWFkZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgZ2FwOiAwLjc1cmVtO1xufVxuLnJlY2FwLWdyaWQge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maWxsLCBtaW5tYXgoMzIwcHgsIDFmcikpO1xuICAgIGdhcDogMS4yNXJlbTtcbn1cbi5lbXAtY2FyZCB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3Itc3VyZmFjZSk7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLW1kKTtcbiAgICBib3gtc2hhZG93OiAwIDJweCAxMHB4IHJnYmEoMCwwLDAsMC4wOCk7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cbi5yZWdsLWxpc3QgLmVtcC1jYXJkIHsgbWFyZ2luLWJvdHRvbTogMS41cmVtOyB9XG4uZW1wLWNhcmQtaGVhZGVyIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1kYXJrKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3Itc3VyZmFjZSk7XG4gICAgcGFkZGluZzogMC45cmVtIDEuMXJlbTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuLmVtcC1uYW1lICB7IGZvbnQtd2VpZ2h0OiA3MDA7IGZvbnQtc2l6ZTogMXJlbTsgfVxuLmVtcC1lbWFpbCB7IGZvbnQtc2l6ZTogMC43OHJlbTsgY29sb3I6ICNiMGJlYzU7IG1hcmdpbi10b3A6IDJweDsgfVxuLmVtcC1jYXJkLWJvZHkgeyBwYWRkaW5nOiAxcmVtIDEuMXJlbTsgfVxuLnN0YXQtcm93IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBwYWRkaW5nOiAwLjRyZW0gMDtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tY29sb3Itc3VyZmFjZS1tdXRlZCk7XG4gICAgZm9udC1zaXplOiAwLjlyZW07XG59XG4uc3RhdC1yb3c6bGFzdC1jaGlsZCAgeyBib3JkZXItYm90dG9tOiBub25lOyB9XG4uc3RhdC1sYWJlbCAgICAgICAgICAgeyBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1kaW0pOyB9XG4uc3RhdC12YWx1ZSAgICAgICAgICAgeyBmb250LXdlaWdodDogNjAwOyBjb2xvcjogdmFyKC0tY29sb3ItdGV4dCk7IH1cbi5zdGF0LXZhbHVlLmFjY2VudCAgICB7IGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTsgZm9udC1zaXplOiAxLjFyZW07IH1cbi5zdGF0LXZhbHVlLndhcm4gICAgICB7IGNvbG9yOiB2YXIoLS1jb2xvci13YXJuaW5nKTsgfVxuLmVtcC1jYXJkLWZvb3RlciB7XG4gICAgcGFkZGluZzogMC42NXJlbSAxLjFyZW07XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3Itc3VyZmFjZS1zdWJ0bGUpO1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXIpO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG4uYnRuLWRldGFpbCB7IGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTsgdGV4dC1kZWNvcmF0aW9uOiBub25lOyBmb250LXNpemU6IDAuODVyZW07IGZvbnQtd2VpZ2h0OiA2MDA7IH1cbi5idG4tZGV0YWlsOmhvdmVyIHsgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbi5hdmctYmFyIHtcbiAgICBoZWlnaHQ6IDZweDtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1wcmltYXJ5LWJnKTtcbiAgICBib3JkZXItcmFkaXVzOiAzcHg7XG4gICAgbWFyZ2luLXRvcDogMC43NXJlbTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xufVxuLmF2Zy1iYXItZmlsbCAgIHsgaGVpZ2h0OiAxMDAlOyBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1wcmltYXJ5KTsgYm9yZGVyLXJhZGl1czogM3B4OyB9XG4uZ2xvYmFsLXN1bW1hcnkge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXN1cmZhY2UpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1tZCk7XG4gICAgYm94LXNoYWRvdzogdmFyKC0tc2hhZG93LXNtKTtcbiAgICBwYWRkaW5nOiAwLjlyZW0gMS4yNXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW07XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBnYXA6IDIuNXJlbTtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG59XG4uZ2xvYmFsLXN1bW1hcnkgLml0ZW0gICAgICAgICAgeyBmb250LXNpemU6IDAuOXJlbTsgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTsgfVxuLmdsb2JhbC1zdW1tYXJ5IC5pdGVtIHN0cm9uZyAgIHsgY29sb3I6IHZhcigtLWNvbG9yLWRhcmspOyBmb250LXNpemU6IDEuMDVyZW07IH1cbi5kZXRhaWwtdGFibGUge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gICAgZm9udC1zaXplOiAwLjgycmVtO1xuICAgIG1hcmdpbi10b3A6IDAuNzVyZW07XG59XG4uZGV0YWlsLXRhYmxlIHRoIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1ib3JkZXItYWRtaW4pO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1kYXJrLWxpZ2h0KTtcbiAgICBwYWRkaW5nOiAwLjM1cmVtIDAuNnJlbTtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG59XG4uZGV0YWlsLXRhYmxlIHRkIHtcbiAgICBwYWRkaW5nOiAwLjNyZW0gMC42cmVtO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1jb2xvci1zdXJmYWNlLW11dGVkKTtcbiAgICBjb2xvcjogIzQ1NWE2NDtcbn1cbi5kZXRhaWwtdGFibGUgdHI6bGFzdC1jaGlsZCB0ZCB7IGJvcmRlci1ib3R0b206IG5vbmU7IH1cbi50b2dnbGUtZGV0YWlsIHsgYmFja2dyb3VuZDogbm9uZTsgYm9yZGVyOiBub25lOyBjb2xvcjogdmFyKC0tY29sb3ItbXV0ZWQpOyBjdXJzb3I6IHBvaW50ZXI7IGZvbnQtc2l6ZTogMC44cmVtOyBwYWRkaW5nOiAwOyB9XG4udG9nZ2xlLWRldGFpbDpob3ZlciB7IGNvbG9yOiB2YXIoLS1jb2xvci1kYXJrLWxpZ2h0KTsgfVxuLnRvdGFsLWhvdXJzIHsgZm9udC1zaXplOiAxLjRyZW07IGZvbnQtd2VpZ2h0OiA4MDA7IH1cbi50b3RhbC1sYWJlbCB7IGZvbnQtc2l6ZTogMC43NXJlbTsgY29sb3I6ICNiMGJlYzU7IH1cbi5kZXRhaWwtdG9nZ2xlLXdyYXAgeyBtYXJnaW4tdG9wOiAwLjc1cmVtOyB9XG5cbi8qIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuICAgUG9pbnRhZ2Ug4oCUIHLDqGdsZW1lbnRzXG7ilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIAgKi9cbi5yZWdsLWhlYWRlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW07XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGdhcDogMC43NXJlbTtcbn1cbi5yYXRlLWJhZGdlIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1wcmltYXJ5LWJnKTtcbiAgICBjb2xvcjogIzE1NjVjMDtcbiAgICBwYWRkaW5nOiAwLjM1cmVtIDAuOXJlbTtcbiAgICBib3JkZXItcmFkaXVzOiAyMHB4O1xuICAgIGZvbnQtc2l6ZTogMC45cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG59XG4uZW1wLWNhcmQtaGVhZCB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItZGFyayk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXN1cmZhY2UpO1xuICAgIHBhZGRpbmc6IDFyZW0gMS4yNXJlbTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBnYXA6IDAuNXJlbTtcbn1cbi5iYWxhbmNlLWNoaXAgeyBwYWRkaW5nOiAwLjNyZW0gMC45cmVtOyBib3JkZXItcmFkaXVzOiAyMHB4OyBmb250LXdlaWdodDogNzAwOyBmb250LXNpemU6IDAuOTVyZW07IH1cbi5jaGlwLW9rICAgeyBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1zdWNjZXNzLWJnKTsgY29sb3I6IHZhcigtLWNvbG9yLXN1Y2Nlc3MpOyB9XG4uY2hpcC1kdWUgIHsgYmFja2dyb3VuZDogdmFyKC0tY29sb3Itd2FybmluZy1iZyk7IGNvbG9yOiB2YXIoLS1jb2xvci13YXJuaW5nKTsgfVxuLmNoaXAtemVybyB7IGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXN1cmZhY2UtbXV0ZWQpOyBjb2xvcjogdmFyKC0tY29sb3ItbXV0ZWQpOyB9XG4uc3RhdHMtZ3JpZCB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpdCwgbWlubWF4KDE0MHB4LCAxZnIpKTtcbiAgICBnYXA6IDAuNzVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTtcbn1cbi5zdGF0LWJveCB7IGJhY2tncm91bmQ6ICNmOGY5ZmE7IGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cyk7IHBhZGRpbmc6IDAuNzVyZW0gMXJlbTsgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4uc3RhdC1ib3ggLmxhYmVsIHsgZm9udC1zaXplOiAwLjc4cmVtOyBjb2xvcjogdmFyKC0tY29sb3ItbXV0ZWQpOyB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyBsZXR0ZXItc3BhY2luZzogLjA0ZW07IH1cbi5zdGF0LWJveCAudmFsdWUgeyBmb250LXNpemU6IDEuM3JlbTsgZm9udC13ZWlnaHQ6IDcwMDsgY29sb3I6IHZhcigtLWNvbG9yLXRleHQpOyBtYXJnaW4tdG9wOiAwLjJyZW07IH1cbi5zdGF0LWJveCAudmFsdWUuYWNjZW50IHsgY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpOyB9XG4uc3RhdC1ib3ggLnZhbHVlLmVhcm5lZCB7IGNvbG9yOiB2YXIoLS1jb2xvci1zdWNjZXNzKTsgfVxuLnN0YXQtYm94IC52YWx1ZS5wYWlkICAgeyBjb2xvcjogIzE1NjVjMDsgfVxuLnN0YXQtYm94IC52YWx1ZS5kdWUgICAgeyBjb2xvcjogdmFyKC0tY29sb3Itd2FybmluZyk7IH1cbi5zZWN0aW9uLXRpdGxlIHtcbiAgICBmb250LXNpemU6IDAuODVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItZGFyay1saWdodCk7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBsZXR0ZXItc3BhY2luZzogLjA1ZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMC42cmVtO1xuICAgIG1hcmdpbi10b3A6IDFyZW07XG59XG4ucGF5bWVudC10YWJsZSB7IHdpZHRoOiAxMDAlOyBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOyBmb250LXNpemU6IDAuODhyZW07IG1hcmdpbi1ib3R0b206IDEuMjVyZW07IH1cbi5wYXltZW50LXRhYmxlIHRoIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1ib3JkZXItYWRtaW4pO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1kYXJrLWxpZ2h0KTtcbiAgICBwYWRkaW5nOiAwLjRyZW0gMC43NXJlbTtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG59XG4ucGF5bWVudC10YWJsZSB0ZCB7IHBhZGRpbmc6IDAuNHJlbSAwLjc1cmVtOyBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tY29sb3Itc3VyZmFjZS1tdXRlZCk7IHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cbi5wYXltZW50LXRhYmxlIHRyOmxhc3QtY2hpbGQgdGQgeyBib3JkZXItYm90dG9tOiBub25lOyB9XG4udGQtc2Vjb25kYXJ5IHsgY29sb3I6IHZhcigtLWNvbG9yLWRhcmstbGlnaHQpOyB9XG4uYWRkLXBheW1lbnQtZm9ybSB7XG4gICAgYmFja2dyb3VuZDogI2Y4ZjlmYTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMpO1xuICAgIHBhZGRpbmc6IDFyZW0gMS4yNXJlbTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGdhcDogMC43NXJlbTtcbiAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gICAgZmxleC13cmFwOiB3cmFwO1xufVxuLmFkZC1wYXltZW50LWZvcm0gbGFiZWwgeyBmb250LXNpemU6IDAuODJyZW07IGNvbG9yOiB2YXIoLS1jb2xvci1kYXJrLWxpZ2h0KTsgZGlzcGxheTogYmxvY2s7IG1hcmdpbi1ib3R0b206IDAuMjVyZW07IH1cbi5hZGQtcGF5bWVudC1mb3JtIGlucHV0W3R5cGU9XCJudW1iZXJcIl0sXG4uYWRkLXBheW1lbnQtZm9ybSBpbnB1dFt0eXBlPVwiZGF0ZVwiXSxcbi5hZGQtcGF5bWVudC1mb3JtIGlucHV0W3R5cGU9XCJ0ZXh0XCJdIHtcbiAgICBwYWRkaW5nOiAwLjRyZW0gMC42cmVtO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1zdHJvbmcpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zbSk7XG4gICAgZm9udC1zaXplOiAwLjlyZW07XG4gICAgd2lkdGg6IDEwMCU7XG59XG4uYnRuLWFkZCB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3Itc3VjY2Vzcyk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXN1cmZhY2UpO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBwYWRkaW5nOiAwLjQ1cmVtIDEuMXJlbTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtc20pO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBmb250LXNpemU6IDAuOXJlbTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG4uYnRuLWFkZDpob3ZlciB7IGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXN1Y2Nlc3MtZGFyayk7IH1cbi5idG4tZGVsIHsgYmFja2dyb3VuZDogbm9uZTsgYm9yZGVyOiBub25lOyBjb2xvcjogI2VmOWE5YTsgY3Vyc29yOiBwb2ludGVyOyBmb250LXNpemU6IDAuOHJlbTsgcGFkZGluZzogMnB4IDZweDsgfVxuLmJ0bi1kZWw6aG92ZXIgeyBjb2xvcjogdmFyKC0tY29sb3ItZGFuZ2VyKTsgfVxuLnByb2dyZXNzLWJhci13cmFwIHsgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYm9yZGVyLWFkbWluKTsgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXhzKTsgaGVpZ2h0OiA4cHg7IG1hcmdpbi10b3A6IDAuNXJlbTsgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuLnByb2dyZXNzLWJhci1maWxsIHsgaGVpZ2h0OiAxMDAlOyBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMteHMpOyBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoOTBkZWcsIHZhcigtLWNvbG9yLXByaW1hcnkpLCAjNDJhNWY1KTsgfVxuLnByb2dyZXNzLWxhYmVsICAgIHsgZm9udC1zaXplOiAwLjc4cmVtOyBjb2xvcjogdmFyKC0tY29sb3ItbXV0ZWQpOyBtYXJnaW4tYm90dG9tOiAwLjJyZW07IH1cbi5zdWdnZXN0ZWQgICAgICAgICB7IGZvbnQtc2l6ZTogMC43OHJlbTsgY29sb3I6IHZhcigtLWNvbG9yLW11dGVkKTsgbWFyZ2luLXRvcDogMC40cmVtOyB9XG4uZmllbGQtZ3JvdXAgICAgICAgeyBtaW4td2lkdGg6IDEzMHB4OyB9XG4uZmllbGQtZ3JvdXAtbGcgICAgeyBtaW4td2lkdGg6IDE2MHB4OyB9XG4ubm8tcGF5bWVudHMgICAgICAgeyBjb2xvcjogdmFyKC0tY29sb3ItbXV0ZWQpOyBmb250LXNpemU6IDAuODhyZW07IG1hcmdpbjogMCAwIDFyZW07IH1cblxuLyog4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4gICBIb21lIHBhZ2Ug4oCUIEJ1dHRvbnNcbuKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgCAqL1xuLmJ0biB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBhZGRpbmc6IDExcHggMjBweDtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtaG9tZSk7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjJzO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG4uYnRuLXByaW1hcnkgeyBiYWNrZ3JvdW5kOiB2YXIoLS1vcmFuZ2UpOyBjb2xvcjogdmFyKC0tbm9pcik7IH1cbi5idG4tcHJpbWFyeTpob3ZlciB7IGJhY2tncm91bmQ6IHZhcigtLW9yYW5nZS1zb2Z0KTsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xcHgpOyBjb2xvcjogdmFyKC0tbm9pcik7IH1cbi5idG4tZ2hvc3Qge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGNvbG9yOiB2YXIoLS1ibGFuYyk7XG4gICAgYm9yZGVyOiAxLjVweCBzb2xpZCByZ2JhKDI1NSwyNTUsMjU1LDAuMyk7XG59XG4uYnRuLWdob3N0OmhvdmVyIHsgYm9yZGVyLWNvbG9yOiB2YXIoLS1vcmFuZ2UpOyBjb2xvcjogdmFyKC0tb3JhbmdlKTsgfVxuXG4vKiDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbiAgIEhvbWUgcGFnZSDigJQgSGVyb1xu4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAICovXG4uaGVybyB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tbm9pcik7XG4gICAgY29sb3I6IHZhcigtLWJsYW5jKTtcbiAgICBwYWRkaW5nOiA5MHB4IDAgMTEwcHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG59XG4uaGVybzo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7IHJpZ2h0OiAtMTAwcHg7XG4gICAgd2lkdGg6IDUwMHB4OyBoZWlnaHQ6IDUwMHB4O1xuICAgIGJhY2tncm91bmQ6IHJhZGlhbC1ncmFkaWVudChjaXJjbGUsIHJnYmEoMjQzLDE0NiwwLDAuMTUpIDAlLCB0cmFuc3BhcmVudCA3MCUpO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuLmhlcm8tY29udGVudCB7IG1heC13aWR0aDogNzIwcHg7IHBvc2l0aW9uOiByZWxhdGl2ZTsgei1pbmRleDogMTsgfVxuLmhlcm8tdGFnIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcGFkZGluZzogNnB4IDE0cHg7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyNDMsMTQ2LDAsMC4xMik7XG4gICAgY29sb3I6IHZhcigtLW9yYW5nZSk7XG4gICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyNDMsMTQ2LDAsMC40KTtcbiAgICBib3JkZXItcmFkaXVzOiA5OTlweDtcbiAgICBmb250LXNpemU6IDEzcHg7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBtYXJnaW4tYm90dG9tOiAyNHB4O1xufVxuLmhlcm8gaDEgeyBmb250LXNpemU6IDU0cHg7IGZvbnQtd2VpZ2h0OiA3MDA7IGxpbmUtaGVpZ2h0OiAxLjE7IG1hcmdpbi1ib3R0b206IDIycHg7IGxldHRlci1zcGFjaW5nOiAtMC41cHg7IH1cbi5oZXJvIGgxIC5hY2NlbnQgeyBjb2xvcjogdmFyKC0tb3JhbmdlKTsgfVxuLmhlcm8gcCB7IGZvbnQtc2l6ZTogMThweDsgbGluZS1oZWlnaHQ6IDEuNjsgY29sb3I6IHJnYmEoMjU1LDI1NSwyNTUsMC44KTsgbWFyZ2luLWJvdHRvbTogMzJweDsgbWF4LXdpZHRoOiA1ODBweDsgfVxuLmhlcm8tYWN0aW9ucyB7IGRpc3BsYXk6IGZsZXg7IGdhcDogMTJweDsgZmxleC13cmFwOiB3cmFwOyB9XG5cbi8qIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuICAgSG9tZSBwYWdlIOKAlCBTZWN0aW9uc1xu4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAICovXG4uaG9tZS1zZWN0aW9uIHsgcGFkZGluZzogODBweCAwOyBjb2xvcjogdmFyKC0tYmxhbmMpOyB9XG4uaG9tZS1zZWN0aW9uLWdyaXMgeyBiYWNrZ3JvdW5kOiB2YXIoLS1ncmlzLWZvbmQpOyB9XG4uaG9tZS1zZWN0aW9uLS1kYXJrIHsgYmFja2dyb3VuZDogdmFyKC0tbm9pcik7IH1cbi5zZWN0aW9uLWhlYWQgeyBtYXgtd2lkdGg6IDY4MHB4OyBtYXJnaW46IDAgYXV0byA1NnB4OyB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbi5leWVicm93IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgY29sb3I6IHZhcigtLW9yYW5nZSk7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDEuNXB4O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgbWFyZ2luLWJvdHRvbTogMTRweDtcbn1cbi5ob21lLXNlY3Rpb24gaDIgeyBmb250LXNpemU6IDM4cHg7IGZvbnQtd2VpZ2h0OiA3MDA7IGxpbmUtaGVpZ2h0OiAxLjI7IGxldHRlci1zcGFjaW5nOiAtMC41cHg7IG1hcmdpbi1ib3R0b206IDE0cHg7IGNvbG9yOiB2YXIoLS1ibGFuYyk7IH1cbi5zZWN0aW9uLWhlYWQgcCB7IGZvbnQtc2l6ZTogMTdweDsgY29sb3I6IHZhcigtLWdyaXMtdGV4dGUpOyB9XG5cbi5ob21lLXNlY3Rpb24tLXdoaXRlIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmxhbmMpOyBjb2xvcjogdmFyKC0tbm9pcik7IH1cbi5ob21lLXNlY3Rpb24tLXdoaXRlIGgyIHsgY29sb3I6IHZhcigtLW5vaXIpOyB9XG5cbi8qIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuICAgSG9tZSBwYWdlIOKAlCBTZXJ2aWNlcyBncmlkXG7ilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIAgKi9cbi5zZXJ2aWNlcyB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpdCwgbWlubWF4KDI2MHB4LCAxZnIpKTtcbiAgICBnYXA6IDIwcHg7XG59XG4uc2VydmljZSB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tYmxhbmMpO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWdyaXMtYm9yZCk7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLWhvbWUtbGcpO1xuICAgIHBhZGRpbmc6IDMycHggMjZweDtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4yNXM7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBjb2xvcjogaW5oZXJpdDtcbn1cbi5zZXJ2aWNlOmhvdmVyIHsgYm9yZGVyLWNvbG9yOiB2YXIoLS1ub2lyKTsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0zcHgpOyBib3gtc2hhZG93OiAwIDEwcHggMjRweCByZ2JhKDAsMCwwLDAuMDYpOyB9XG4uc2VydmljZS1udW0geyBwb3NpdGlvbjogYWJzb2x1dGU7IHRvcDogMjRweDsgcmlnaHQ6IDI2cHg7IGZvbnQtc2l6ZTogMTNweDsgZm9udC13ZWlnaHQ6IDcwMDsgY29sb3I6IHZhcigtLW9yYW5nZSk7IGxldHRlci1zcGFjaW5nOiAxcHg7IH1cbi5zZXJ2aWNlLWljb24ge1xuICAgIHdpZHRoOiA0OHB4OyBoZWlnaHQ6IDQ4cHg7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tbm9pcik7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLWhvbWUpO1xuICAgIGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG59XG4uc2VydmljZS1pY29uIHN2ZyB7IHdpZHRoOiAyNHB4OyBoZWlnaHQ6IDI0cHg7IHN0cm9rZTogdmFyKC0tb3JhbmdlKTsgZmlsbDogbm9uZTsgc3Ryb2tlLXdpZHRoOiAyOyB9XG4uc2VydmljZSBoMyB7IGZvbnQtc2l6ZTogMTlweDsgZm9udC13ZWlnaHQ6IDcwMDsgbWFyZ2luLWJvdHRvbTogOHB4OyB9XG4uc2VydmljZSBwICAgeyBmb250LXNpemU6IDE0cHg7IGNvbG9yOiB2YXIoLS1ncmlzLXRleHRlKTsgbGluZS1oZWlnaHQ6IDEuNjsgfVxuXG4vKiDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbiAgIEhvbWUgcGFnZSDigJQgU3RhdHNcbuKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgCAqL1xuLnN0YXRzLXJvdyB7IGRpc3BsYXk6IGdyaWQ7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZml0LCBtaW5tYXgoMTcwcHgsIDFmcikpOyBnYXA6IDIwcHg7IH1cbi5zdGF0cy1yb3cgLnN0YXQgeyBwYWRkaW5nOiAyOHB4IDI0cHg7IGJhY2tncm91bmQ6IHZhcigtLW5vaXItc29mdCk7IGJvcmRlci1sZWZ0OiAzcHggc29saWQgdmFyKC0tb3JhbmdlKTsgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLWhvbWUpOyB9XG4uc3RhdHMtcm93IC5zdGF0LW51bSAgIHsgZm9udC1zaXplOiAzOHB4OyBmb250LXdlaWdodDogNzAwOyBjb2xvcjogdmFyKC0tb3JhbmdlKTsgbGluZS1oZWlnaHQ6IDE7IG1hcmdpbi1ib3R0b206IDZweDsgfVxuLnN0YXRzLXJvdyAuc3RhdC1sYWJlbCB7IGZvbnQtc2l6ZTogMTRweDsgY29sb3I6IHJnYmEoMjU1LDI1NSwyNTUsMC43KTsgfVxuXG4vKiDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbiAgIEhvbWUgcGFnZSDigJQgQ1RBIGJhbmRcbuKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgCAqL1xuLmN0YS1iYW5kIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1ub2lyKTtcbiAgICBjb2xvcjogdmFyKC0tYmxhbmMpO1xuICAgIHBhZGRpbmc6IDYwcHggNDhweDtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtaG9tZS1sZyk7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGJvcmRlci10b3A6IDRweCBzb2xpZCB2YXIoLS1vcmFuZ2UpO1xufVxuLmN0YS1iYW5kIGgyIHsgY29sb3I6IHZhcigtLWJsYW5jKTsgbWFyZ2luLWJvdHRvbTogMTRweDsgfVxuLmN0YS1iYW5kIHAgeyBmb250LXNpemU6IDE3cHg7IGNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LDAuNzUpOyBtYXJnaW46IDAgYXV0byAyOHB4OyBtYXgtd2lkdGg6IDUyMHB4OyB9XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA3MjBweCkge1xuICAgIC5oZXJvIGgxIHsgZm9udC1zaXplOiAzOHB4OyB9XG4gICAgLmhvbWUtc2VjdGlvbiBoMiB7IGZvbnQtc2l6ZTogMzBweDsgfVxufVxuXG5cbi8qIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuICAgQ29udGFjdCBwYWdlXG7ilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIAgKi9cbi5jb250YWN0LWhlcm8ge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLW5vaXIpO1xuICAgIGNvbG9yOiB2YXIoLS1ibGFuYyk7XG4gICAgcGFkZGluZzogNzBweCAwIDgwcHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG59XG4uY29udGFjdC1oZXJvOjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogLTYwcHg7IGxlZnQ6IC0xMjBweDtcbiAgICB3aWR0aDogNDIwcHg7IGhlaWdodDogNDIwcHg7XG4gICAgYmFja2dyb3VuZDogcmFkaWFsLWdyYWRpZW50KGNpcmNsZSwgcmdiYSgyNDMsMTQ2LDAsMC4xMykgMCUsIHRyYW5zcGFyZW50IDcwJSk7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG4uY29udGFjdC1oZXJvIC5oZXJvLXRhZyB7IG1hcmdpbi1ib3R0b206IDIwcHg7IH1cbi5jb250YWN0LWhlcm8gaDEgeyBmb250LXNpemU6IDQ4cHg7IGZvbnQtd2VpZ2h0OiA3MDA7IGxpbmUtaGVpZ2h0OiAxLjE7IG1hcmdpbi1ib3R0b206IDE4cHg7IGxldHRlci1zcGFjaW5nOiAtMC41cHg7IHBvc2l0aW9uOiByZWxhdGl2ZTsgei1pbmRleDogMTsgfVxuLmNvbnRhY3QtaGVybyBoMSAuYWNjZW50IHsgY29sb3I6IHZhcigtLW9yYW5nZSk7IH1cbi5jb250YWN0LWhlcm8gcCB7IGZvbnQtc2l6ZTogMThweDsgbGluZS1oZWlnaHQ6IDEuNjsgY29sb3I6IHJnYmEoMjU1LDI1NSwyNTUsMC43NSk7IG1heC13aWR0aDogNTgwcHg7IHBvc2l0aW9uOiByZWxhdGl2ZTsgei1pbmRleDogMTsgfVxuXG4uY29udGFjdC1zZWN0aW9uIHsgcGFkZGluZzogODBweCAwOyBiYWNrZ3JvdW5kOiB2YXIoLS1ncmlzLWZvbmQpOyB9XG5cbi5jb250YWN0LWxheW91dCB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxLjJmcjtcbiAgICBnYXA6IDYwcHg7XG4gICAgYWxpZ24taXRlbXM6IHN0YXJ0O1xufVxuXG4uY29udGFjdC1pbmZvIC5leWVicm93IHsgbWFyZ2luLWJvdHRvbTogMTRweDsgfVxuLmNvbnRhY3QtaW5mbyBoMiB7IGZvbnQtc2l6ZTogMzRweDsgZm9udC13ZWlnaHQ6IDcwMDsgbGluZS1oZWlnaHQ6IDEuMjsgbGV0dGVyLXNwYWNpbmc6IC0wLjRweDsgbWFyZ2luLWJvdHRvbTogMTZweDsgfVxuLmNvbnRhY3QtaW5mbyA+IHAgeyBmb250LXNpemU6IDE2cHg7IGNvbG9yOiB2YXIoLS1ncmlzLXRleHRlKTsgbGluZS1oZWlnaHQ6IDEuNzsgbWFyZ2luLWJvdHRvbTogMzZweDsgfVxuXG4uY29udGFjdC1tZXRob2RzIHsgZGlzcGxheTogZmxleDsgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgZ2FwOiAxMnB4OyB9XG4uY29udGFjdC1tZXRob2Qge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDE2cHg7XG4gICAgcGFkZGluZzogMThweCAyMHB4O1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWJsYW5jKTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1ncmlzLWJvcmQpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1ob21lKTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuMnMsIHRyYW5zZm9ybSAwLjJzO1xufVxuYS5jb250YWN0LW1ldGhvZDpob3ZlciB7IGJvcmRlci1jb2xvcjogdmFyKC0tb3JhbmdlKTsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDRweCk7IH1cbi5jb250YWN0LW1ldGhvZC1pY29uIHtcbiAgICB3aWR0aDogNDJweDsgaGVpZ2h0OiA0MnB4OyBmbGV4LXNocmluazogMDtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1ub2lyKTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtaG9tZSk7XG4gICAgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG4uY29udGFjdC1tZXRob2QtaWNvbiBzdmcgeyB3aWR0aDogMjBweDsgaGVpZ2h0OiAyMHB4OyBzdHJva2U6IHZhcigtLW9yYW5nZSk7IH1cbi5jb250YWN0LW1ldGhvZC1sYWJlbCB7IGZvbnQtc2l6ZTogMTFweDsgY29sb3I6IHZhcigtLWdyaXMtdGV4dGUpOyBmb250LXdlaWdodDogNjAwOyB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyBsZXR0ZXItc3BhY2luZzogMC44cHg7IG1hcmdpbi1ib3R0b206IDNweDsgfVxuLmNvbnRhY3QtbWV0aG9kLXZhbHVlIHsgZm9udC1zaXplOiAxNXB4OyBmb250LXdlaWdodDogNjAwOyBjb2xvcjogdmFyKC0tbm9pcik7IH1cblxuLmNvbnRhY3QtZm9ybS13cmFwcGVyIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1ibGFuYyk7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLWhvbWUtbGcpO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWdyaXMtYm9yZCk7XG59XG4uY29udGFjdF9mb3JtX3NlY3Rpb24geyBwYWRkaW5nOiAwOyB9XG5cbi8qIE1VSSBvdmVycmlkZXMg4oCUIGNvdWxldXJzIHNpdGUgKi9cbi5jb250YWN0LWZvcm0td3JhcHBlciAuTXVpQnV0dG9uLWNvbnRhaW5lZFByaW1hcnkge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW9yYW5nZSkgIWltcG9ydGFudDtcbiAgICBjb2xvcjogdmFyKC0tbm9pcikgIWltcG9ydGFudDtcbiAgICBmb250LXdlaWdodDogNzAwO1xufVxuLmNvbnRhY3QtZm9ybS13cmFwcGVyIC5NdWlCdXR0b24tY29udGFpbmVkUHJpbWFyeTpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tb3JhbmdlLXNvZnQpICFpbXBvcnRhbnQ7XG59XG4uY29udGFjdC1mb3JtLXdyYXBwZXIgLk11aU91dGxpbmVkSW5wdXQtcm9vdC5NdWktZm9jdXNlZCAuTXVpT3V0bGluZWRJbnB1dC1ub3RjaGVkT3V0bGluZSxcbi5jb250YWN0LWZvcm0td3JhcHBlciAuTXVpT3V0bGluZWRJbnB1dC1yb290OmhvdmVyIC5NdWlPdXRsaW5lZElucHV0LW5vdGNoZWRPdXRsaW5lIHtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLW9yYW5nZSkgIWltcG9ydGFudDtcbn1cbi5jb250YWN0LWZvcm0td3JhcHBlciAuTXVpSW5wdXRMYWJlbC1yb290Lk11aS1mb2N1c2VkIHtcbiAgICBjb2xvcjogdmFyKC0tb3JhbmdlKSAhaW1wb3J0YW50O1xufVxuLmNvbnRhY3QtZm9ybS13cmFwcGVyIC5NdWlDaGVja2JveC1yb290IHtcbiAgICBjb2xvcjogdmFyKC0tb3JhbmdlKSAhaW1wb3J0YW50O1xufVxuLmNvbnRhY3QtZm9ybS13cmFwcGVyIC5NdWlMaW5rLXJvb3Qge1xuICAgIGNvbG9yOiB2YXIoLS1vcmFuZ2UpICFpbXBvcnRhbnQ7XG59XG4uY29udGFjdC1mb3JtLXdyYXBwZXIgLk11aUZvcm1IZWxwZXJUZXh0LXJvb3Q6bm90KC5NdWktZXJyb3IpIHtcbiAgICBjb2xvcjogdmFyKC0tZ3Jpcy10ZXh0ZSk7XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA4NjBweCkge1xuICAgIC5jb250YWN0LWxheW91dCB7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyOyBnYXA6IDQwcHg7IH1cbiAgICAuY29udGFjdC1oZXJvIGgxIHsgZm9udC1zaXplOiAzNnB4OyB9XG59XG5cbi8qIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuICAgTWVudGlvbnMgbMOpZ2FsZXNcbuKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgCAqL1xuLm1lbnRpb25zLXNlY3Rpb24ge1xuICAgIHBhZGRpbmc6IDYwcHggMCA4MHB4O1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWdyaXMtZm9uZCk7XG59XG4ubWVudGlvbnMtc2VjdGlvbiAubWVudGlvbnNfZ3JpZCB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tYmxhbmMpO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWdyaXMtYm9yZCk7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLWhvbWUtbGcpO1xuICAgIHBhZGRpbmc6IDQwcHg7XG4gICAgY29sb3I6IHZhcigtLW5vaXIpO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjc7XG4gICAgZm9udC1zaXplOiAxNXB4O1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMTQwcHggYXV0bztcbiAgICBhbGlnbi1pdGVtczogc3RhcnQ7XG59XG4ubWVudGlvbnMtc2VjdGlvbiAubWVudGlvbnNfZ3JpZCA+IGRpdiB7XG4gICAgYWxpZ24tc2VsZjogc3RhcnQ7XG59XG4ubWVudGlvbnMtbGFiZWwge1xuICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGNvbG9yOiB2YXIoLS1vcmFuZ2UpO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDFweDtcbiAgICBwYWRkaW5nLXRvcDogMnB4O1xufVxuLm1lbnRpb25zLXNvbW1haXJlIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiA2cHggMCAwIDA7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgY29sb3I6IHZhcigtLWdyaXMtdGV4dGUpO1xufVxuLm1lbnRpb25zLXNvbW1haXJlIGxpIHsgbWFyZ2luLXRvcDogNnB4OyB9XG4ubWVudGlvbnMtc29tbWFpcmUgYSB7IGNvbG9yOiB2YXIoLS1ncmlzLXRleHRlKTsgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4ubWVudGlvbnMtc29tbWFpcmUgYTpob3ZlciB7IGNvbG9yOiB2YXIoLS1vcmFuZ2UpOyB9XG4ubWVudGlvbnMtc2VjdGlvbiBhZGRyZXNzIHsgZm9udC1zdHlsZTogbm9ybWFsOyBtYXJnaW46IDhweCAwOyB9XG4ubWVudGlvbnMtc2VjdGlvbiBhIHsgY29sb3I6IHZhcigtLW9yYW5nZSk7IH1cbi5tZW50aW9ucy1zZWN0aW9uIHVsOm5vdCgubWVudGlvbnMtc29tbWFpcmUpIHsgcGFkZGluZy1sZWZ0OiAyMHB4OyBtYXJnaW46IDhweCAwOyB9XG4ubWVudGlvbnMtc2VjdGlvbiBzdHJvbmcgeyBjb2xvcjogdmFyKC0tbm9pcik7IH1cblxuLyog4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4gICBGb290ZXJcbuKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgCAqL1xuLmZvb3RlciAubG9nbyB7IGZvbnQtc2l6ZTogMjJweDsgZm9udC13ZWlnaHQ6IDgwMDsgbGV0dGVyLXNwYWNpbmc6IC0wLjVweDsgfVxuLmZvb3RlciAubG9nbyAuamIgICB7IGNvbG9yOiAjZmZmOyB9XG4uZm9vdGVyIC5sb2dvIC5lbGVjIHsgY29sb3I6ICNmMzkyMDA7IH1cblxuLmZvb3RlciB7XG4gICAgYmFja2dyb3VuZDogIzExMTtcbiAgICBjb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwwLjc1KTtcbiAgICBwYWRkaW5nOiA1NnB4IDAgMzJweDtcbiAgICBmb250LXNpemU6IDE0cHg7XG59XG4uZm9vdGVyLWdyaWQge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAyZnIgMWZyIDFmcjtcbiAgICBnYXA6IDQwcHg7XG4gICAgcGFkZGluZy1ib3R0b206IDQwcHg7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsMC4wOCk7XG59XG4uZm9vdGVyLWFib3V0IHAgeyBjb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwwLjU1KTsgbGluZS1oZWlnaHQ6IDEuNzsgbWFyZ2luLXRvcDogMTRweDsgfVxuLmZvb3RlciBoNCB7IGZvbnQtc2l6ZTogMTNweDsgZm9udC13ZWlnaHQ6IDcwMDsgbGV0dGVyLXNwYWNpbmc6IDFweDsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgY29sb3I6ICNmZmY7IG1hcmdpbi1ib3R0b206IDE2cHg7IH1cbi5mb290ZXIgdWwgeyBsaXN0LXN0eWxlOiBub25lOyBwYWRkaW5nOiAwOyBtYXJnaW46IDA7IGRpc3BsYXk6IGZsZXg7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IGdhcDogMTBweDsgfVxuLmZvb3RlciB1bCBsaSBhIHsgY29sb3I6IHJnYmEoMjU1LDI1NSwyNTUsMC42KTsgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB0cmFuc2l0aW9uOiBjb2xvciAwLjJzOyB9XG4uZm9vdGVyIHVsIGxpIGE6aG92ZXIgeyBjb2xvcjogI2YzOTIwMDsgfVxuLmZvb3RlciB1bCBsaTpub3QoOmhhcyhhKSkgeyBjb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwwLjQ1KTsgfVxuLmZvb3Rlci1ib3R0b20ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgcGFkZGluZzogMThweCAwO1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKDI1NSwyNTUsMjU1LDAuMDgpO1xuICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICBjb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwwLjM1KTtcbn1cbi5mb290ZXItYm90dG9tIGEgeyBjb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwwLjYpOyB0ZXh0LWRlY29yYXRpb246IG5vbmU7IHRyYW5zaXRpb246IGNvbG9yIDAuMnM7IH1cbi5mb290ZXItYm90dG9tIGE6aG92ZXIgeyBjb2xvcjogdmFyKC0tb3JhbmdlKTsgfVxuQG1lZGlhIChtYXgtd2lkdGg6IDcyMHB4KSB7XG4gICAgLmZvb3Rlci1ncmlkIHsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7IGdhcDogMjhweDsgfVxuICAgIC5mb290ZXItYm90dG9tIHsgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgZ2FwOiA4cHg7IHRleHQtYWxpZ246IGNlbnRlcjsgfVxufVxuXG4vKiDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbiAgIENNUyDigJQgQmxvY2sgYmFja2dyb3VuZHMgKGxpdmUgKyBlZGl0b3IgcHJldmlldyB2aWEgZGF0YS1iZylcbuKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgCAqL1xuXG4uY21zLWJsb2NrLWJnLmJnLW5vaXIsICAgW2RhdGEtYmc9XCJiZy1ub2lyXCJdLFxuLmNtcy1ibG9jay1iZy5iZy1zb2Z0LCAgIFtkYXRhLWJnPVwiYmctc29mdFwiXSxcbi5jbXMtYmxvY2stYmcuYmctb3JhbmdlLCBbZGF0YS1iZz1cImJnLW9yYW5nZVwiXSxcbi5jbXMtYmxvY2stYmcuYmctbGlnaHQsICBbZGF0YS1iZz1cImJnLWxpZ2h0XCJdIHtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMnM7XG59XG4uY21zLWJsb2NrLWJnLmJnLW5vaXIsICAgW2RhdGEtYmc9XCJiZy1ub2lyXCJdICAgeyBiYWNrZ3JvdW5kOiAjMGEwYTBhOyB9XG4uY21zLWJsb2NrLWJnLmJnLXNvZnQsICAgW2RhdGEtYmc9XCJiZy1zb2Z0XCJdICAgeyBiYWNrZ3JvdW5kOiAjMWExYTFhOyB9XG5cbi5jbXMtYmxvY2stYmcuYmctb3JhbmdlLCBbZGF0YS1iZz1cImJnLW9yYW5nZVwiXSB7IGJhY2tncm91bmQ6IHZhcigtLW9yYW5nZSk7IH1cbi5jbXMtYmxvY2stYmcuYmctb3JhbmdlIC5zZXJ2aWNlLFxuW2RhdGEtYmc9XCJiZy1vcmFuZ2VcIl0gICAuc2VydmljZSB7IGJhY2tncm91bmQ6IHJnYmEoMjU1LDI1NSwyNTUsLjkyKTsgYm9yZGVyLWNvbG9yOiByZ2JhKDAsMCwwLC4wOCk7IH1cbi5jbXMtYmxvY2stYmcuYmctb3JhbmdlIC5zZXJ2aWNlIGgzLFxuW2RhdGEtYmc9XCJiZy1vcmFuZ2VcIl0gICAuc2VydmljZSBoMyB7IGNvbG9yOiB2YXIoLS1ub2lyKTsgfVxuLmNtcy1ibG9jay1iZy5iZy1vcmFuZ2UgLnNlcnZpY2UgcCxcbltkYXRhLWJnPVwiYmctb3JhbmdlXCJdICAgLnNlcnZpY2UgcCAgeyBjb2xvcjogcmdiYSgwLDAsMCwuNik7IH1cbi5jbXMtYmxvY2stYmcuYmctb3JhbmdlIC5zZWN0aW9uLWhlYWQgaDIsXG5bZGF0YS1iZz1cImJnLW9yYW5nZVwiXSAgIC5zZWN0aW9uLWhlYWQgaDIgeyBjb2xvcjogdmFyKC0tbm9pcik7IH1cbi5jbXMtYmxvY2stYmcuYmctb3JhbmdlIC5zZWN0aW9uLWhlYWQgcCxcbltkYXRhLWJnPVwiYmctb3JhbmdlXCJdICAgLnNlY3Rpb24taGVhZCBwICB7IGNvbG9yOiByZ2JhKDAsMCwwLC42NSk7IH1cbi5jbXMtYmxvY2stYmcuYmctb3JhbmdlIC5leWVicm93LFxuW2RhdGEtYmc9XCJiZy1vcmFuZ2VcIl0gICAuZXllYnJvdyB7IGNvbG9yOiByZ2JhKDAsMCwwLC41NSk7IGJvcmRlci1jb2xvcjogcmdiYSgwLDAsMCwuMik7IH1cbi5jbXMtYmxvY2stYmcuYmctb3JhbmdlIC5zdGF0LFxuW2RhdGEtYmc9XCJiZy1vcmFuZ2VcIl0gICAuc3RhdCB7IGJhY2tncm91bmQ6IHJnYmEoMCwwLDAsLjE1KTsgYm9yZGVyLWxlZnQtY29sb3I6IHZhcigtLW5vaXIpOyB9XG4uY21zLWJsb2NrLWJnLmJnLW9yYW5nZSAuc3RhdC1udW0sXG5bZGF0YS1iZz1cImJnLW9yYW5nZVwiXSAgIC5zdGF0LW51bSAgIHsgY29sb3I6IHZhcigtLW5vaXIpOyB9XG4uY21zLWJsb2NrLWJnLmJnLW9yYW5nZSAuc3RhdC1sYWJlbCxcbltkYXRhLWJnPVwiYmctb3JhbmdlXCJdICAgLnN0YXQtbGFiZWwgeyBjb2xvcjogcmdiYSgwLDAsMCwuNyk7IH1cblxuLmNtcy1ibG9jay1iZy5iZy1saWdodCwgIFtkYXRhLWJnPVwiYmctbGlnaHRcIl0gIHsgYmFja2dyb3VuZDogI2Y2ZjZmNjsgfVxuLmNtcy1ibG9jay1iZy5iZy1saWdodCAuc2VjdGlvbi1oZWFkIGgyLFxuW2RhdGEtYmc9XCJiZy1saWdodFwiXSAgIC5zZWN0aW9uLWhlYWQgaDIgeyBjb2xvcjogdmFyKC0tbm9pcik7IH1cbi5jbXMtYmxvY2stYmcuYmctbGlnaHQgLnNlY3Rpb24taGVhZCBwLFxuW2RhdGEtYmc9XCJiZy1saWdodFwiXSAgIC5zZWN0aW9uLWhlYWQgcCAgeyBjb2xvcjogIzQ0NDsgfVxuLmNtcy1ibG9jay1iZy5iZy1saWdodCAuZXllYnJvdyxcbltkYXRhLWJnPVwiYmctbGlnaHRcIl0gICAuZXllYnJvdyB7IGNvbG9yOiB2YXIoLS1vcmFuZ2UpOyBib3JkZXItY29sb3I6IHJnYmEoMjQzLDE0NiwwLC4zKTsgfVxuLmNtcy1ibG9jay1iZy5iZy1saWdodCAuc2VydmljZSxcbltkYXRhLWJnPVwiYmctbGlnaHRcIl0gICAuc2VydmljZSB7IGJhY2tncm91bmQ6ICNmZmY7IGJvcmRlci1jb2xvcjogI2UwZTBlMDsgfVxuLmNtcy1ibG9jay1iZy5iZy1saWdodCAuc2VydmljZSBoMyxcbltkYXRhLWJnPVwiYmctbGlnaHRcIl0gICAuc2VydmljZSBoMyB7IGNvbG9yOiB2YXIoLS1ub2lyKTsgfVxuLmNtcy1ibG9jay1iZy5iZy1saWdodCAuc2VydmljZSBwLFxuW2RhdGEtYmc9XCJiZy1saWdodFwiXSAgIC5zZXJ2aWNlIHAgIHsgY29sb3I6ICM1NTU7IH1cbi5jbXMtYmxvY2stYmcuYmctbGlnaHQgLnN0YXQsXG5bZGF0YS1iZz1cImJnLWxpZ2h0XCJdICAgLnN0YXQgeyBiYWNrZ3JvdW5kOiAjZmZmOyB9XG4uY21zLWJsb2NrLWJnLmJnLWxpZ2h0IC5zdGF0LW51bSxcbltkYXRhLWJnPVwiYmctbGlnaHRcIl0gICAuc3RhdC1udW0gICB7IGNvbG9yOiB2YXIoLS1vcmFuZ2UpOyB9XG4uY21zLWJsb2NrLWJnLmJnLWxpZ2h0IC5zdGF0LWxhYmVsLFxuW2RhdGEtYmc9XCJiZy1saWdodFwiXSAgIC5zdGF0LWxhYmVsIHsgY29sb3I6ICM1NTU7IH1cblxuLyog4pSA4pSAIENNUyDigJQgR3JpZCBjb2x1bW4gY291bnQgb3ZlcnJpZGVzIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgCAqL1xuLnNlcnZpY2VzLmNvbHMtMiAgeyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpOyB9XG4uc2VydmljZXMuY29scy0zICB7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDMsIDFmcik7IH1cbi5zZXJ2aWNlcy5jb2xzLTQgIHsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNCwgMWZyKTsgfVxuLnN0YXRzLXJvdy5jb2xzLTIgeyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpOyB9XG4uc3RhdHMtcm93LmNvbHMtMyB7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDMsIDFmcik7IH1cbi5zdGF0cy1yb3cuY29scy00IHsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNCwgMWZyKTsgfVxuXG5AbWVkaWEgKG1heC13aWR0aDogODYwcHgpIHtcbiAgICAuc2VydmljZXMuY29scy0zLCAuc2VydmljZXMuY29scy00ICAgeyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpOyB9XG4gICAgLnN0YXRzLXJvdy5jb2xzLTMsIC5zdGF0cy1yb3cuY29scy00IHsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTsgfVxufVxuQG1lZGlhIChtYXgtd2lkdGg6IDUyMHB4KSB7XG4gICAgLnNlcnZpY2VzLmNvbHMtMiwgLnNlcnZpY2VzLmNvbHMtMywgLnNlcnZpY2VzLmNvbHMtNCAgIHsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7IH1cbiAgICAuc3RhdHMtcm93LmNvbHMtMiwgLnN0YXRzLXJvdy5jb2xzLTMsIC5zdGF0cy1yb3cuY29scy00IHsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7IH1cbn1cblxuXG4vKiDilIDilIAgUHJvY2VzcyBTdGVwcyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIAgKi9cbi5wcm9jZXNzLXN0ZXBzLWhlYWRpbmcgeyB0ZXh0LWFsaWduOiBjZW50ZXI7IG1hcmdpbi1ib3R0b206IDQ4cHg7IH1cbi5wcm9jZXNzLXN0ZXBzIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZml0LCBtaW5tYXgoMTgwcHgsIDFmcikpO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbi5wcm9jZXNzLXN0ZXBzOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDI4cHg7XG4gICAgbGVmdDogMDsgcmlnaHQ6IDA7XG4gICAgaGVpZ2h0OiAycHg7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyNDMsMTQ2LDAsLjI1KTtcbn1cbi5wcm9jZXNzLXN0ZXAge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwYWRkaW5nOiAwIDIwcHggMzJweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4ucHJvY2Vzcy1zdGVwLW51bSB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB3aWR0aDogNTZweDsgaGVpZ2h0OiA1NnB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1vcmFuZ2UpO1xuICAgIGNvbG9yOiB2YXIoLS1ub2lyKTtcbiAgICBmb250LXNpemU6IDE1cHg7XG4gICAgZm9udC13ZWlnaHQ6IDgwMDtcbiAgICBtYXJnaW46IDAgYXV0byAyMHB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAxO1xufVxuLnByb2Nlc3Mtc3RlcCBoMyB7IGZvbnQtc2l6ZTogMTVweDsgZm9udC13ZWlnaHQ6IDcwMDsgY29sb3I6IHZhcigtLWJsYW5jKTsgbWFyZ2luOiAwIDAgOHB4OyB9XG4ucHJvY2Vzcy1zdGVwIHAgIHsgZm9udC1zaXplOiAxNHB4OyBjb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwuNik7IG1hcmdpbjogMDsgbGluZS1oZWlnaHQ6IDEuNjsgfVxuLmNtcy1ibG9jay1iZy5iZy1saWdodCAucHJvY2Vzcy1zdGVwIGgzLFxuW2RhdGEtYmc9XCJiZy1saWdodFwiXSAgIC5wcm9jZXNzLXN0ZXAgaDMgeyBjb2xvcjogdmFyKC0tbm9pcik7IH1cbi5jbXMtYmxvY2stYmcuYmctbGlnaHQgLnByb2Nlc3Mtc3RlcCBwLFxuW2RhdGEtYmc9XCJiZy1saWdodFwiXSAgIC5wcm9jZXNzLXN0ZXAgcCAgeyBjb2xvcjogIzU1NTsgfVxuLmNtcy1ibG9jay1iZy5iZy1saWdodCAucHJvY2Vzcy1zdGVwczo6YmVmb3JlLFxuW2RhdGEtYmc9XCJiZy1saWdodFwiXSAgIC5wcm9jZXNzLXN0ZXBzOjpiZWZvcmUgeyBiYWNrZ3JvdW5kOiByZ2JhKDI0MywxNDYsMCwuNCk7IH1cbkBtZWRpYSAobWF4LXdpZHRoOiA2ODBweCkgeyAucHJvY2Vzcy1zdGVwcyB7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7IH0gfVxuQG1lZGlhIChtYXgtd2lkdGg6IDQwMHB4KSB7IC5wcm9jZXNzLXN0ZXBzIHsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7IH0gfVxuXG4vKiDilIDilIAgRXJyb3IgcGFnZXMg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAICovXG5cbi5lcnJvci1wYWdlIHtcbiAgICBtaW4taGVpZ2h0OiA3MHZoO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBwYWRkaW5nOiA0cmVtIDEuNXJlbTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1ub2lyKTtcbn1cblxuLmVycm9yLWlubmVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbWF4LXdpZHRoOiA0ODBweDtcbn1cblxuLmVycm9yLXZpc3VhbCBzdmcge1xuICAgIHdpZHRoOiAxNjBweDtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgbWFyZ2luLWJvdHRvbTogMS41cmVtO1xuICAgIG9wYWNpdHk6IDAuOTtcbn1cblxuLnN2Zy1sb2NrIHtcbiAgICB3aWR0aDogMTEwcHg7XG4gICAgaGVpZ2h0OiBhdXRvO1xufVxuXG4uc3ZnLWdyb3VuZCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDE2MHB4O1xuICAgIGhlaWdodDogMTczcHg7XG4gICAgbWFyZ2luOiAwIGF1dG8gMS43NXJlbTtcbn1cblxuLmVycm9yLWdyb3VuZGVkIHtcbiAgICBmb250LXNpemU6IDIuNHJlbTtcbiAgICBmb250LXdlaWdodDogOTAwO1xuICAgIGNvbG9yOiB2YXIoLS1vcmFuZ2UpO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjEyZW07XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBtYXJnaW46IDAgMCAwLjc1cmVtO1xufVxuXG4uZXJyb3ItY29kZSB7XG4gICAgZm9udC1zaXplOiA1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA5MDA7XG4gICAgY29sb3I6IHZhcigtLW9yYW5nZSk7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC00cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuICAgIGZvbnQtdmFyaWFudC1udW1lcmljOiB0YWJ1bGFyLW51bXM7XG59XG5cbi5lcnJvci10aXRsZSB7XG4gICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBjb2xvcjogdmFyKC0tYmxhbmMpO1xuICAgIG1hcmdpbjogMCAwIDAuNzVyZW07XG4gICAgbGV0dGVyLXNwYWNpbmc6IC0wLjNweDtcbn1cblxuLmVycm9yLXN1YiB7XG4gICAgZm9udC1zaXplOiAwLjlyZW07XG4gICAgY29sb3I6ICM3Nzc7XG4gICAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgICBtYXJnaW4tYm90dG9tOiAycmVtO1xufVxuXG4uZXJyb3ItYWN0aW9ucyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBnYXA6IDAuNzVyZW07XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgZmxleC13cmFwOiB3cmFwO1xufVxuXG4uZXJyb3ItYnRuLWhvbWUge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLW9yYW5nZSk7XG4gICAgY29sb3I6IHZhcigtLW5vaXIpO1xuICAgIHBhZGRpbmc6IDAuNnJlbSAxLjVyZW07XG4gICAgYm9yZGVyLXJhZGl1czogNnB4O1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgZm9udC1zaXplOiAwLjlyZW07XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4xNXM7XG59XG4uZXJyb3ItYnRuLWhvbWU6aG92ZXIgeyBiYWNrZ3JvdW5kOiAjZDk4MjAwOyB9XG5cbi5lcnJvci1idG4tY29udGFjdCB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgY29sb3I6IHZhcigtLW9yYW5nZSk7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tb3JhbmdlKTtcbiAgICBwYWRkaW5nOiAwLjZyZW0gMS41cmVtO1xuICAgIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGZvbnQtc2l6ZTogMC45cmVtO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMTVzLCBjb2xvciAwLjE1cztcbn1cbi5lcnJvci1idG4tY29udGFjdDpob3ZlciB7IGJhY2tncm91bmQ6IHZhcigtLW9yYW5nZSk7IGNvbG9yOiB2YXIoLS1ub2lyKTsgfVxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9*/