/*!***********************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/styles/loginResigro.css ***!
  \***********************************************************************************************************************/


:root {
    
    --login-bg: #334155;          
    --login-surface: #1e2125;     
    --login-primary: #FFCC00;     
    --login-primary-hover: #E6B800;
    --login-text: #ffffff;        
    --login-text-muted: #cbd5e1;  
    --login-border: rgba(255, 204, 0, 0.2);
    --login-border-strong: rgba(255, 204, 0, 0.4);
}

html {
    background-color: var(--login-bg);
    background-image:
        radial-gradient(circle at 85% 10%, rgba(255, 204, 0, 0.08), transparent 30%),
        radial-gradient(circle at 10% 90%, rgba(255, 204, 0, 0.05), transparent 40%),
        linear-gradient(180deg, #334155 0%, #1e293b 100%);
}

body {
    background-color: var(--login-bg);
    background-image:
        radial-gradient(circle at 85% 10%, rgba(255, 204, 0, 0.08), transparent 30%),
        radial-gradient(circle at 10% 90%, rgba(255, 204, 0, 0.05), transparent 40%),
        linear-gradient(180deg, #334155 0%, #1e293b 100%);
    font-family: 'Inter', "Open Sans", sans-serif;
    margin: 0;
    padding: 0;
    min-height: 100vh;
    overflow-x: hidden;
    color: var(--login-text);
}

body::before {
    content: "";
    position: fixed;
    inset: 0;
    pointer-events: none;
    opacity: .25;
    background-image:
        linear-gradient(rgba(255, 255, 255, 0.05) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255, 255, 255, 0.05) 1px, transparent 1px);
    background-size: 30px 30px;
    mask-image: radial-gradient(circle at center, black 30%, transparent 90%);
}

@media (min-width: 769px) {
    .auth-login-page,
    .auth-login-container {
        min-height: 100vh;
    }
}

.auth-login-page {
    min-height: 100vh;
    display: flex;
    align-items: center;
}

.auth-login-container {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    justify-content: center;
    position: relative;
    width: 100%;
    padding-bottom: 5rem;
}

.auth-login-locale-bar {
    position: fixed;
    top: 1.1rem;
    right: 1.4rem;
    z-index: 20;
    display: flex !important;
    justify-content: flex-end !important;
    align-items: center !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    gap: 0.5rem !important;
}

.auth-login-locale-switch {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.auth-login-locale-bar.locale-select-shell,
.auth-login-locale-bar .locale-select-shell {
    position: flex;
    display: inline-flex;
    align-items: center;
    min-height: 34px;
    border-radius: 999px;
    border: 1px solid rgba(255, 204, 0, 0.28);
    background-color: rgba(15, 23, 42, 0.82);
    box-shadow: 0 14px 30px rgba(0, 0, 0, 0.18);
    backdrop-filter: blur(12px);
    cursor: pointer;
    overflow: visible;
}

.auth-login-locale-bar .locale-select-label {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    gap: 0.38rem;
    padding: 0.3rem 1.45rem 0.3rem 0.55rem;
    color: #f8fafc;
    font-size: 0.76rem;
    font-weight: 700;
    font-family: "Segoe UI", "Inter", "Open Sans", sans-serif;
    line-height: 1;
    white-space: nowrap;
    overflow: visible;
    text-overflow: clip;
    pointer-events: none;
    max-width: none;
}

.auth-login-locale-bar.locale-select-shell:hover,
.auth-login-locale-bar .locale-select-shell:hover {
    border-color: rgba(255, 204, 0, 0.42);
}

.auth-login-locale-bar .locale-select-label::before {
    content: "";
    flex: 0 0 16px;
    width: 16px;
    height: 12px;
    border-radius: 2px;
    box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.16);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}

.auth-login-locale-bar .locale-select-label::after {
    content: "";
    margin-left: auto;
    width: 7px;
    height: 7px;
    border-right: 1.8px solid rgba(248, 250, 252, 0.9);
    border-bottom: 1.8px solid rgba(248, 250, 252, 0.9);
    transform: rotate(45deg) translateY(-1px);
    transform-origin: center;
}

.auth-login-locale-bar .locale-select-label[data-locale^="en"]::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 28 20%27%3E%3Crect width=%2728%27 height=%2720%27 fill=%27%23b22234%27/%3E%3Cpath d=%27M0 2h28M0 6h28M0 10h28M0 14h28M0 18h28%27 stroke=%27%23fff%27 stroke-width=%272%27/%3E%3Crect width=%2712%27 height=%2710%27 fill=%27%233c3b6e%27/%3E%3C/svg%3E");
}

.auth-login-locale-bar .locale-select-label[data-locale^="es"]::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 28 20%27%3E%3Crect width=%2728%27 height=%2720%27 fill=%27%23c60b1e%27/%3E%3Crect y=%275%27 width=%2728%27 height=%2710%27 fill=%27%23ffc400%27/%3E%3C/svg%3E");
}

.auth-login-locale-bar .locale-select-label[data-locale^="pt-br"]::before,
.auth-login-locale-bar .locale-select-label[data-locale^="pt"]::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 28 20%27%3E%3Crect width=%2728%27 height=%2720%27 fill=%27%23009b3a%27/%3E%3Cpath d=%27M14 3 24 10 14 17 4 10Z%27 fill=%27%23ffdf00%27/%3E%3Ccircle cx=%2714%27 cy=%2710%27 r=%274.2%27 fill=%27%23002776%27/%3E%3C/svg%3E");
}

.auth-login-locale-bar .locale-select-label[data-locale^="fr"]::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 28 20%27%3E%3Crect width=%2728%27 height=%2720%27 fill=%27%23fff%27/%3E%3Crect width=%279.33%27 height=%2720%27 fill=%27%230055a4%27/%3E%3Crect x=%2718.66%27 width=%279.34%27 height=%2720%27 fill=%27%23ef4135%27/%3E%3C/svg%3E");
}

.auth-login-locale-bar .locale-select-label.is-disabled {
    opacity: 0.9;
}

.auth-login-locale-bar.is-open .locale-select-label::after,
.auth-login-locale-bar .is-open .locale-select-label::after {
    transform: rotate(225deg) translateY(-1px);
}

.auth-login-locale-bar .locale-select-menu {
    position: absolute;
    top: calc(100% + 0.38rem);
    left: 0;
    right: 0;
    display: none;
    padding: 0.35rem;
    border-radius: 12px;
    border: 1px solid rgba(255, 204, 0, 0.22);
    background: rgba(15, 23, 42, 0.98);
    box-shadow: 0 14px 30px rgba(0, 0, 0, 0.28);
    backdrop-filter: blur(12px);
    z-index: 30;
}

.auth-login-locale-bar.is-open .locale-select-menu,
.auth-login-locale-bar .is-open .locale-select-menu {
    display: grid;
    gap: 0.2rem;
}

.auth-login-locale-bar .locale-select-option {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    width: 100%;
    padding: 0.42rem 0.48rem;
    border: 0;
    border-radius: 8px;
    background: transparent;
    color: #f8fafc;
    text-align: left;
    font-size: 0.76rem;
    font-weight: 700;
    white-space: nowrap;
    overflow: hidden;
}

.auth-login-locale-bar .locale-select-option-text {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.auth-login-locale-bar .locale-select-option:hover,
.auth-login-locale-bar .locale-select-option.is-active {
    background: rgba(255, 204, 0, 0.12);
}

.auth-login-locale-bar .locale-select-option-flag {
    flex: 0 0 16px;
    width: 16px;
    height: 12px;
    border-radius: 2px;
    box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.16);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}

.auth-login-locale-bar .locale-select-option[data-locale^="en"] .locale-select-option-flag {
    background-image: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 28 20%27%3E%3Crect width=%2728%27 height=%2720%27 fill=%27%23b22234%27/%3E%3Cpath d=%27M0 2h28M0 6h28M0 10h28M0 14h28M0 18h28%27 stroke=%27%23fff%27 stroke-width=%272%27/%3E%3Crect width=%2712%27 height=%2710%27 fill=%27%233c3b6e%27/%3E%3C/svg%3E");
}

.auth-login-locale-bar .locale-select-option[data-locale^="es"] .locale-select-option-flag {
    background-image: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 28 20%27%3E%3Crect width=%2728%27 height=%2720%27 fill=%27%23c60b1e%27/%3E%3Crect y=%275%27 width=%2728%27 height=%2710%27 fill=%27%23ffc400%27/%3E%3C/svg%3E");
}

.auth-login-locale-bar .locale-select-option[data-locale^="pt-br"] .locale-select-option-flag,
.auth-login-locale-bar .locale-select-option[data-locale^="pt"] .locale-select-option-flag {
    background-image: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 28 20%27%3E%3Crect width=%2728%27 height=%2720%27 fill=%27%23009b3a%27/%3E%3Cpath d=%27M14 3 24 10 14 17 4 10Z%27 fill=%27%23ffdf00%27/%3E%3Ccircle cx=%2714%27 cy=%2710%27 r=%274.2%27 fill=%27%23002776%27/%3E%3C/svg%3E");
}

.auth-login-locale-bar .locale-select-option[data-locale^="fr"] .locale-select-option-flag {
    background-image: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 28 20%27%3E%3Crect width=%2728%27 height=%2720%27 fill=%27%23fff%27/%3E%3Crect width=%279.33%27 height=%2720%27 fill=%27%230055a4%27/%3E%3Crect x=%2718.66%27 width=%279.34%27 height=%2720%27 fill=%27%23ef4135%27/%3E%3C/svg%3E");
}

.auth-login-locale-bar .form-select-sm {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    min-width: 100% !important;
    max-width: 100% !important;
    height: 100% !important;
    min-height: 100% !important;
    opacity: 0 !important;
    pointer-events: none !important;
    appearance: none !important;
    -webkit-appearance: none !important;
    border: 0 !important;
    background: transparent !important;
    padding: 0 !important;
    margin: 0 !important;
    box-shadow: none !important;
}

.auth-login-locale-bar .form-select-sm:focus {
    outline: none !important;
}

.auth-login-locale-bar .form-select-sm:disabled {
    opacity: 0.9;
    cursor: wait;
}

/* Botón de buscar factura */
.auth-login-invoice-btn {
    position: relative;
    display: inline-flex;
    align-items: center;
    min-height: 34px;
    border-radius: 999px;
    border: 1px solid rgba(255, 204, 0, 0.28);
    background-color: rgba(15, 23, 42, 0.82);
    box-shadow: 0 14px 30px rgba(0, 0, 0, 0.18);
    backdrop-filter: blur(12px);
    color: #f8fafc;
    font-size: 0.76rem;
    font-weight: 700;
    text-decoration: none;
    padding: 0 0.8rem;
    gap: 0.4rem;
    transition: all 0.2s ease;
}

.auth-login-invoice-btn:hover {
    border-color: rgba(255, 204, 0, 0.42);
    color: #FFCC00;
}

.auth-login-container .row {
    width: 100%;
}

.login-wrapper {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 28px 20px;
}


.auth-login-shell {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
    border: 1px solid var(--login-border-strong);
    border-radius: 28px;
    overflow: hidden;
    background: rgba(30, 33, 37, 0.75);
    box-shadow: 0 40px 80px rgba(0, 0, 0, 0.4), 0 1px 0 rgba(255, 255, 255, 0.05) inset;
    backdrop-filter: blur(20px);
    animation: authShellRise .7s ease-out both;
    width: min(1180px, 100%);
}


.auth-login-brand-panel {
    position: relative;
    min-width: 0;
    padding: 1.25rem;
    background:
        radial-gradient(circle at top left, rgba(255, 204, 0, 0.1), transparent 40%),
        linear-gradient(145deg, #0f172a 0%, #1e2125 100%);
}

.auth-login-brand-card {
    position: relative;
    min-height: 100%;
    padding: 1.9rem;
    border: 1px solid rgba(255, 204, 0, 0.15);
    border-radius: 24px;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.04) 0%, rgba(255, 255, 255, 0.01) 100%);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.05);
    text-align: center;
    animation: authPanelFloat .9s ease-out both;
}

.auth-login-brand-badge {
    background: rgba(255, 204, 0, 0.12);
    border: 1px solid var(--login-border-strong);
    color: var(--login-primary);
    padding: .45rem .85rem;
    border-radius: 999px;
    font-size: .73rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .08em;
}

.auth-login-brand-logo {
    background: rgba(255, 204, 0, 0.08);
    border: 1px solid var(--login-border);
    width: 104px;
    min-height: 104px;
    border-radius: 28px;
    margin: 1.2rem auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    box-shadow: 0 18px 35px rgba(0, 0, 0, 0.2);
}

.auth-login-brand-logo img { width: 42px; height: 42px; object-fit: contain; }

.auth-login-brand-title {
    color: #ffffff;
    font-size: clamp(1.95rem, 2.6vw, 2.45rem);
    font-weight: 800;
    line-height: 1.05;
    margin: 1.5rem 0 .8rem;
}

.auth-login-brand-text { color: var(--login-text-muted); font-size: 1rem; line-height: 1.62; }

.auth-login-brand-point { display: flex; align-items: center; gap: .7rem; color: #f8fbff; margin-bottom: 0.8rem; }
.auth-login-point-dot {
    width: 10px; height: 10px; border-radius: 50%;
    background: linear-gradient(135deg, #FFCC00, #E6B800);
    box-shadow: 0 0 12px rgba(255, 204, 0, 0.4);
}


.auth-login-form-panel {
    background: linear-gradient(180deg, rgba(30, 33, 37, 0.98) 0%, rgba(18, 20, 23, 0.98) 100%);
    padding: 1.25rem;
}

.auth-login-card {
    background: var(--login-surface);
    border: 1px solid var(--login-border);
    border-radius: 22px;
    padding: 2rem;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.05), 0 18px 34px rgba(0, 0, 0, 0.2);
    animation: authCardSlide .8s ease-out both;
}

.auth-login-title { color: #ffffff; font-size: 1.8rem; font-weight: 800; }
.auth-login-subtitle { color: var(--login-text-muted); margin-top: .4rem; font-size: 0.96rem; }


.auth-login-form .form-control {
    min-height: 50px;
    background: #121417; 
    border: 1px solid #3f454d;
    border-radius: 12px;
    color: #ffffff;
    padding: .78rem 1.06rem;
    font-size: 0.97rem;
    transition: all .2s ease;
}

.auth-login-form .form-control:focus {
    border-color: var(--login-primary);
    box-shadow: 0 0 0 4px rgba(255, 204, 0, 0.1);
    background: #121417;
    color: #ffffff;
}

.auth-login-label { color: var(--login-text-muted); font-weight: 700; font-size: .82rem; }
.auth-required { color: var(--login-primary); }

.auth-login-check .form-check-input:checked {
    background-color: var(--login-primary);
    border-color: var(--login-primary);
}

.auth-login-reset-link, 
.auth-login-footer-text a {
    color: var(--login-primary);
    font-weight: 700;
}


.btn-entrar {
    min-height: 50px;
    border: none;
    border-radius: 14px;
    background: linear-gradient(135deg, #FFCC00 0%, #E6B800 100%);
    color: #000000 !important; 
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .02em;
    box-shadow: 0 15px 30px rgba(255, 204, 0, 0.2);
    transition: all .2s ease;
    width: 100%;
    font-size: 0.96rem;
}

.btn-entrar:hover {
    transform: translateY(-2px);
    box-shadow: 0 20px 35px rgba(255, 204, 0, 0.3);
    filter: brightness(1.05);
}
.auth-login-inline-row {
    display: flex;
    justify-content: space-between; 
    align-items: center;
    margin-top: 0.5rem;
    margin-bottom: 1rem;
}


.auth-login-reset-link {
    margin-left: auto;
    font-size: 0.85rem;
    text-decoration: none;
}

.form-check .form-check-input {
    margin-left: -1.5em;
    
    background-color: #33333a; 
    border: 1px solid #3f454d;
}


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


@keyframes authShellRise { from { opacity: 0; transform: translateY(18px); } to { opacity: 1; transform: translateY(0); } }
@keyframes authPanelFloat { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: translateY(0); } }
@keyframes authCardSlide { from { opacity: 0; transform: translateX(16px); } to { opacity: 1; transform: translateX(0); } }


@media (max-width: 991.98px) {
    .auth-login-shell { grid-template-columns: 1fr; }
    .auth-login-brand-panel { padding-bottom: 0; }
    .auth-login-brand-card { min-height: auto; background: #121417; border: 1px solid var(--login-border); }
    .auth-login-brand-points { display: none; }
}
.auth-login-footer {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 1rem;
    text-align: center;
    width: 100%;
    margin-top: 0;
    padding-bottom: 0;
}


@media (max-width: 768px) {
    .auth-login-page,
    .auth-login-container {
        min-height: auto;
    }

    .auth-login-page {
        display: block;
    }

    .auth-login-container {
        position: relative;
        padding-top: 0;
        padding-bottom: 0;
    }

    .auth-login-page .auth-login-locale-bar {
        position: relative !important;
        top: auto !important;
        right: auto !important;
        left: auto !important;
        z-index: 30 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: flex-end !important;
        width: max-content;
        margin: 0 0 0.7rem auto !important;
    }
.auth-login-locale-bar .form-select-sm {
        width: 100% !important;
        min-width: 100% !important;
        max-width: 100% !important;
        height: 100% !important;
        min-height: 100% !important;
    }
    .auth-login-locale-bar.locale-select-shell,
    .auth-login-locale-bar .locale-select-shell {
        min-height: 32px;
        border-radius: 8px;
        background-color: rgba(15, 23, 42, 0.9);
        border: 1px solid rgba(255, 204, 0, 0.35);
    }
    .auth-login-locale-bar .locale-select-label {
        display: flex !important;
        align-items: center !important;
        padding: 0 22px 0 8px !important;
        font-size: 0.75rem;
        font-weight: 800;
        gap: 0.34rem;
        overflow: hidden;
        text-overflow: clip;
        white-space: nowrap;
        max-width: 100%;
    }
    .auth-login-locale-bar.locale-select-shell,
    .auth-login-locale-bar .locale-select-shell {
        width: 86px !important;
        min-width: 86px !important;
        max-width: 86px !important;
    }
    .auth-login-locale-bar .locale-select-menu {
        max-width: min(160px, calc(100vw - 1rem));
        right: auto;
    }
    .auth-login-locale-bar .locale-select-option {
        padding: 0.38rem 0.42rem;
        font-size: 0.72rem;
    }
    .auth-login-locale-bar .form-select-sm option {
        color: #0f172a !important;
        font-size: 0.85rem !important;
        text-indent: 0 !important;
    }

    .auth-login-invoice-btn {
        min-height: 32px;
        border-radius: 8px;
        padding: 0 0.6rem;
    }
    .auth-login-invoice-btn span {
        display: none;
    }

    .auth-login-page .auth-login-locale-bar {
        position: relative;
    }

  .auth-login-locale-bar::after {
        display: none !important; 
    }

    .auth-login-footer {
        position: static;
        margin-top: 1rem;
        padding-bottom: 0.5rem;
    }

    .login-wrapper {
        padding: 10px !important;
        justify-content: flex-start;
        padding-top: 5vh !important;
    }

  
    .auth-login-shell {
        grid-template-columns: 1fr !important;
        border-radius: 16px !important;
        box-shadow: 0 20px 40px rgba(0, 0, 0, 0.3) !important;
        width: 100%;
        max-width: 400px;
    }

 
    .auth-login-brand-panel {
        padding: 0.8rem !important;
    }

    .auth-login-brand-card {
        padding: 0.8rem !important;
        min-height: auto !important;
        background: transparent !important;
        border: none !important;
    }

  
    .auth-login-brand-logo {
        width: 60px !important;
        min-height: 60px !important;
        border-radius: 14px !important;
        margin: 0.5rem auto !important;
    }

    .auth-login-brand-logo img {
        width: 30px !important;
        height: 30px !important;
    }

   
    .auth-login-brand-title {
        font-size: 1.4rem !important;
        margin: 0.5rem 0 0.2rem !important;
    }

    .auth-login-brand-text, 
    .auth-login-brand-points,
    .auth-login-brand-badge {
        display: none !important; 
    }

    .auth-login-form-panel {
        padding: 0.8rem !important;
    }

    .auth-login-card {
        padding: 1.2rem !important;
        border-radius: 12px !important;
    }

    .auth-login-title {
        font-size: 1.3rem !important;
    }

    .auth-login-subtitle {
        font-size: 0.8rem !important;
        margin-top: 0.2rem !important;
    }

    .auth-login-form .form-control {
        min-height: 44px !important; 
        padding: 0.6rem 1rem !important;
        font-size: 0.9rem !important;
    }

    .auth-login-label {
        font-size: 0.75rem !important;
        margin-bottom: 2px !important;
    }

   
    .btn-entrar {
        min-height: 46px !important;
        border-radius: 12px !important;
        font-size: 0.9rem !important;
        margin-top: 0.5rem !important;
    }

  
    .auth-login-footer {
        margin-top: 1rem !important;
        font-size: 0.65rem !important;
        opacity: 0.6;
        text-align: center; 
    }
}

html,
body {
    min-height: 100svh;
}


.auth-login-page,
.auth-login-container,
.login-wrapper {
    min-height: 100svh !important;
}

.auth-login-page {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: hidden !important;
}

.auth-login-container {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    padding: 0.75rem 0.75rem 0.5rem !important;
    overflow: hidden !important;
}

.login-wrapper {
    width: 100%;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
}

.auth-login-shell {
    width: min(1260px, 100%) !important;
    max-height: calc(100svh - 12px) !important;
    min-height: clamp(540px, 62svh, 790px);
    margin: 0 auto !important;
    overflow: hidden !important;
}

.auth-login-brand-card {
    padding: 1.55rem 1.7rem !important;
    min-height: 100%;
}

.auth-login-card {
    padding: 1.65rem 1.85rem !important;
    min-height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.auth-login-form {
    width: 100%;
    max-width: 460px;
    margin: 0 auto;
}

.auth-login-title,
.auth-login-subtitle {
    text-align: center;
}

.auth-login-form .form-control {
    min-height: 48px !important;
}

.btn-entrar {
    min-height: 48px !important;
    font-size: 0.95rem !important;
}

.auth-login-footer {
    position: static !important;
    margin-top: 0.5rem !important;
    padding-bottom: 0.2rem !important;
}

@media (max-width: 991.98px) {
    .auth-login-shell {
        width: min(560px, 100%) !important;
        max-height: calc(100svh - 28px) !important;

    }
}

/* Tablet narrow fix (769px-991.98px): avoid card clipping like at 770px */
@media (min-width: 769px) and (max-width: 991.98px) {
    .auth-login-page {
        overflow: visible !important;
        min-height: 100svh !important;
        padding: 1rem 0.75rem !important;
        align-items: flex-start !important;
        background: #1e293b !important;
    }

    .auth-login-container,
    .login-wrapper {
        min-height: auto !important;
        height: auto !important;
        overflow: visible !important;
        padding: 0 !important;
        background: #1e293b !important;
    }

    .auth-login-shell {
        max-height: none !important;
        min-height: auto !important;
        overflow: visible !important;
        margin: 0 auto !important;
    }

    .auth-login-footer {
        background: transparent !important;
    }
}

@media (max-width: 768px) {
    
    .auth-login-form .form-label {
        font-size: 0.65rem !important; 
        letter-spacing: 0px !important; 
        
        white-space: nowrap !important;
        overflow: hidden !important;   
        text-overflow: ellipsis !important;
        
        display: block !important;
        width: 100% !important;
    }

 
    .auth-login-form .form-label .auth-required {
        display: inline !important;
        margin-left: 2px !important;
    }
    
  
    .auth-login-form .col-6 {
        padding-left: 5px !important;
        padding-right: 5px !important;
    }
}


@media (max-width: 768px) {
    
    .auth-login-container {
        position: relative !important; 
        padding-top: 4rem !important; 
        display: flex;
        flex-direction: column;
    }

    .auth-login-locale-bar {
        position: fixed !important; 
        top: 0.75rem !important;         
        right: 0.75rem !important;        
        margin: 0 !important;
        z-index: 1050 !important;      
        display: flex !important;
        align-items: center !important;
    }


    .auth-login-page {
        align-items: flex-start !important; 
        padding-top: 1rem !important;
    }
}


.auth-login-inline-row {
    display: flex !important;
    justify-content: space-between !important; 
    align-items: center !important; 
}

.auth-login-check {
    display: flex !important;
    align-items: center !important; 
    gap: 0.4rem !important; 
    margin-bottom: 0 !important;
    padding-left: 0 !important; 
}

.auth-login-check .form-check-input {
    margin: 0 !important; 
    position: static !important; 
}

.auth-login-check .form-check-label {
    margin-bottom: 0 !important;
    line-height: 1 !important; 
    padding-top: 2px !important; 
}

/* Login tuning: bigger OSP logo + tighter vertical centering */
.auth-login-brand-logo {
    width: 146px !important;
    min-height: 146px !important;
    margin-top: 2.25rem !important;
    margin-bottom: 2.6rem !important;
}

.auth-login-brand-logo img {
    width: 90px !important;
    height: 90px !important;
}

.auth-login-brand-card {
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-start !important;
}

.auth-login-brand-title {
    margin-top: 0.95rem !important;
}

.auth-login-brand-text {
    margin-top: 1.1rem !important;
    margin-bottom: 1.7rem !important;
}

@media (max-width: 991.98px) {
    .auth-login-brand-logo {
        width: 126px !important;
        min-height: 126px !important;
        margin-top: 1.2rem !important;
        margin-bottom: 1.6rem !important;
    }

    .auth-login-brand-logo img {
        width: 64px !important;
        height: 64px !important;
    }

    .auth-login-brand-title {
        margin-top: 0.3rem !important;
    }

    .auth-login-brand-text {
        margin-top: 0.65rem !important;
        margin-bottom: 1.05rem !important;
    }
}

.auth-login-page {
    align-items: center !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

.auth-login-container {
    justify-content: center !important;
    align-items: center !important;
    padding-top: 4.5rem !important;
    padding-bottom: 0 !important;
}

.auth-login-shell {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    max-height: calc(100svh - 8px) !important;
}

.auth-login-footer {
    margin-top: 0.2rem !important;
    padding-bottom: 0 !important;
}

/* Desktop balance: reduce oversized auth cards and add breathing room */
@media (min-width: 992px) {
    .auth-login-container {
        padding: 4.5rem 1rem 0.75rem !important;
    }

    .auth-login-shell {
        width: min(1040px, 100%) !important;
        min-height: clamp(500px, 58svh, 700px) !important;
        max-height: calc(100svh - 34px) !important;
        border-radius: 24px !important;
        overflow: hidden !important;
    }

    .auth-login-brand-panel,
    .auth-login-form-panel {
        padding: 1rem !important;
        overflow: hidden !important;
    }
/* 
    .auth-login-brand-panel {
        border-top-left-radius: 24px !important;
        border-bottom-left-radius: 24px !important;
    } */

    .auth-login-form-panel {
        border-top-right-radius: 24px !important;
        border-bottom-right-radius: 24px !important;
    }

    .auth-login-brand-card {
        padding: 1.25rem 1.35rem !important;
    }

    .auth-login-brand-logo {
        width: 146px !important;
        min-height: 146px !important;
        margin-top: 2.25rem !important;
        margin-bottom: 2.6rem !important;
    }

    .auth-login-brand-logo img {
        width: 90px !important;
        height: 90px !important;
    }

    .auth-login-brand-title {
        font-size: clamp(1.5rem, 2vw, 1.9rem) !important;
        margin-top: 0.45rem !important;
        margin-bottom: 0.45rem !important;
    }

    .auth-login-brand-text {
        font-size: 0.92rem !important;
        line-height: 1.48 !important;
        margin-top: 0.45rem !important;
        margin-bottom: 0.9rem !important;
    }

    .auth-login-brand-point {
        margin-bottom: 0.5rem !important;
        font-size: 0.9rem !important;
    }

    .auth-login-card {
        padding: 1.35rem 1.5rem !important;
    }

    .auth-login-title {
        font-size: 1.45rem !important;
    }

    .auth-login-subtitle {
        font-size: 0.9rem !important;
        margin-top: 0.25rem !important;
        margin-bottom: 0.6rem !important;
    }

    .auth-login-form {
        max-width: 430px !important;
    }

    .auth-login-form .form-control,
    .btn-entrar {
        min-height: 45px !important;
    }

    .auth-login-form .form-control {
        font-size: 0.92rem !important;
        padding: 0.62rem 0.9rem !important;
    }
}


@media (max-width: 768px) {
    
  
    .auth-login-page,
    .auth-login-container,
    .login-wrapper {
        align-items: flex-start !important; 
        justify-content: center !important;
        padding-top: 0 !important;
        height: auto !important;
    }

    .auth-login-shell {
        margin-top: 4.5rem !important; 
        margin-bottom: 2rem !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }

  
    .auth-login-locale-bar {
        position: fixed !important; 
        top: 0.75rem !important;
        right: 0.75rem !important;
        z-index: 1050 !important;
        display: flex !important;
        align-items: center !important;
    }

}
@media (max-width: 768px) {
    
    .auth-login-page,
    .auth-login-container,
    .login-wrapper {
        display: block !important; 
        height: auto !important;
        min-height: 100svh !important;
        overflow: visible !important; 
        padding: 0 !important;
    }

    .auth-login-page {
        padding-top: 4.5rem !important; 
        padding-bottom: 2rem !important; 
        position: relative !important;
    }

    .auth-login-shell {
        margin: 0 auto !important; 
        max-height: none !important;
        overflow: hidden !important;
        border-radius: 24px !important;
    }
    .auth-login-locale-bar {
        position: fixed !important; 
        top: 0.75rem !important; 
        right: 0.75rem !important; 
        margin: 0 !important;
        z-index: 1050 !important;
        display: flex !important;
        align-items: center !important;
    }

    .auth-login-footer {
        position: relative !important; 
        display: block !important;
        margin-top: 1.5rem !important;
        padding-bottom: 2.5rem !important;
        z-index: 10;
    }
}

@media (min-width: 992px) {
    
   
    .auth-login-brand-title {
        margin-top: auto !important; 
        margin-bottom: auto !important; 
    }

 
    .auth-login-brand-card {
        padding: 1.25rem 1.35rem 2.5rem 1.35rem !important; 
    }
}


@media (max-width: 768px) {
    .auth-login-page {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        min-height: 100svh !important;
        padding: 5rem 0.6rem 0.55rem !important;
    }

    .auth-login-container {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        min-height: auto !important;
        width: 100% !important;
        padding: 0 !important;
    }

    .auth-login-shell {
        width: min(560px, 100%) !important;
        margin: 0 auto !important;
        max-height: none !important;
        border-radius: 24px !important;
        overflow: hidden !important;
    }

    .auth-login-brand-panel {
        padding: 0.45rem !important;
        border-top-left-radius: 24px !important;
        border-top-right-radius: 24px !important;
        overflow: hidden !important;
    }

    .auth-login-form-panel {
        padding: 0.55rem !important;
        border-bottom-left-radius: 24px !important;
        border-bottom-right-radius: 24px !important;
        overflow: hidden !important;
    }

    .auth-login-card {
        padding: 0.95rem !important;
        border-radius: 22px !important;
    }

    .auth-login-brand-logo {
        margin-top: 0.2rem !important;
        margin-bottom: 0.45rem !important;
    }

    .auth-login-brand-title {
        margin: 0.12rem 0 0.1rem !important;
        font-size: 1.18rem !important;
        line-height: 1.1 !important;
    }

    .auth-login-card-header {
        margin-bottom: 0.15rem !important;
    }

    .auth-login-subtitle {
        margin-top: 0.1rem !important;
        margin-bottom: 0.3rem !important;
        font-size: 0.75rem !important;
        line-height: 1.2 !important;
    }

    .auth-login-form {
        row-gap: 0.42rem !important;
    }

    .auth-login-form .col-12 {
        margin-top: 0.25rem !important;
    }

    .auth-login-form .form-control {
        min-height: 40px !important;
        padding: 0.5rem 0.75rem !important;
        font-size: 0.84rem !important;
    }

    .auth-login-label {
        margin-bottom: 0.08rem !important;
        font-size: 0.7rem !important;
        line-height: 1.1 !important;
    }

    .auth-login-inline-row {
        margin-top: 0.2rem !important;
        margin-bottom: 0.3rem !important;
    }

    .btn-entrar {
        min-height: 40px !important;
        margin-top: 0.2rem !important;
    }

    .auth-login-footer {
        margin-top: 0.45rem !important;
        padding-bottom: 0.5rem !important;
    }
}

/* Locale switch mobile safety */
@media (max-width: 768px) {
    .auth-login-page .auth-login-locale-bar {
        top: auto !important;
        right: auto !important;
        left: auto !important;
        z-index: 30 !important;
        transform: none !important;
    }

    .auth-login-locale-bar .locale-select-shell,
    .auth-login-locale-bar.locale-select-shell {
        position: relative !important;
        width: auto !important;
        min-width: 84px !important;
        max-width: 120px !important;
    }

    .auth-login-locale-bar .locale-select-label {
        max-width: 100% !important;
        overflow: hidden !important;
    }

    .auth-login-locale-bar .locale-select-menu {
        right: 0 !important;
        left: auto !important;
    }
}

/* Final mobile override for login: bar above card, outside it, and scrolling with content */
@media (max-width: 768px) {
    .auth-login-page {
        padding-top: 0.75rem !important;
    }

    .auth-login-page .auth-login-container {
        padding-top: 0 !important;
    }

    .auth-login-page .auth-login-locale-bar {
        position: relative !important;
        top: auto !important;
        right: auto !important;
        left: auto !important;
        display: flex !important;
        justify-content: flex-end !important;
        align-items: center !important;
        width: max-content;
        margin: 0 0 0.7rem auto !important;
        z-index: 40 !important;
    }

    .auth-login-page .auth-login-shell {
        margin-top: 0 !important;
    }
}


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