/*!****************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/styles/style.css ***!
  \****************************************************************************************************************/
/**
* Template Name: NiceAdmin - v2.5.0
* Template URL: https://bootstrapmade.com/nice-admin-bootstrap-admin-html-template/
* Author: BootstrapMade.com
* License: https://bootstrapmade.com/license/
*/

/*--------------------------------------------------------------
# General
--------------------------------------------------------------*/
#ui-id-1 {
    position: absolute;
}


:root {
    scroll-behavior: smooth;
}

body {
    font-family: "Open Sans", sans-serif;
    background: #f6f9ff;
    color: #444444;
}

a {
    color: #4154f1;
    text-decoration: none;
}

a:hover {
    color: #717ff5;
    text-decoration: none;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: "Nunito", sans-serif;
}

/*--------------------------------------------------------------
# Main
--------------------------------------------------------------*/
#main {
    background-color: #ffffff;
    margin-top: 60px;
    padding: 20px 30px;
    transition: all 0.3s;
}

@media (max-width: 1199px) {
    #main {
        padding: 20px;
    }
}

/*--------------------------------------------------------------
# Page Title
--------------------------------------------------------------*/
.pagetitle {
    margin-bottom: 10px;
}

.pagetitle h1 {
    font-size: 24px;
    margin-bottom: 0;
    font-weight: 600;
    color: #012970;
}

/*--------------------------------------------------------------
# Back to top button
--------------------------------------------------------------*/
.back-to-top {
    position: fixed;
    visibility: hidden;
    opacity: 0;
    right: 15px;
    bottom: 15px;
    z-index: 99999;
    background: #4154f1;
    width: 40px;
    height: 40px;
    border-radius: 4px;
    transition: all 0.4s;
}

.back-to-top i {
    font-size: 24px;
    color: #fff;
    line-height: 0;
}

.back-to-top:hover {
    background: #6776f4;
    color: #fff;
}

.back-to-top.active {
    visibility: visible;
    opacity: 1;
}

/*--------------------------------------------------------------
# Override some default Bootstrap stylings
--------------------------------------------------------------*/
/* Dropdown menus */
.dropdown-menu {
    border-radius: 4px;
    padding: 10px 0;
    -webkit-animation-name: dropdown-animate;
    animation-name: dropdown-animate;
    -webkit-animation-duration: 0.2s;
    animation-duration: 0.2s;
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both;
    border: 0;
    box-shadow: 0 5px 30px 0 rgba(82, 63, 105, 0.2);
}

.dropdown-menu .dropdown-header,
.dropdown-menu .dropdown-footer {
    text-align: center;
    font-size: 15px;
    padding: 10px 25px;
}

.dropdown-menu .dropdown-footer a {
    color: #444444;
    text-decoration: underline;
}

.dropdown-menu .dropdown-footer a:hover {
    text-decoration: none;
}

.dropdown-menu .dropdown-divider {
    color: #a5c5fe;
    margin: 0;
}

.dropdown-menu .dropdown-item {
    font-size: 14px;
    padding: 10px 15px;
    transition: 0.3s;
}

.dropdown-menu .dropdown-item i {
    margin-right: 10px;
    font-size: 18px;
    line-height: 0;
}

.dropdown-menu .dropdown-item:hover {
    background-color: #f6f9ff;
}

@media (min-width: 768px) {
    .dropdown-menu-arrow::before {
        content: "";
        width: 13px;
        height: 13px;
        background: #fff;
        position: absolute;
        top: -7px;
        right: 20px;
        transform: rotate(45deg);
        border-top: 1px solid #eaedf1;
        border-left: 1px solid #eaedf1;
    }
}

@-webkit-keyframes dropdown-animate {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }

    0% {
        opacity: 0;
    }
}

@keyframes dropdown-animate {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }

    0% {
        opacity: 0;
    }
}

/* Light Backgrounds */
.bg-primary-light {
    background-color: #cfe2ff;
    border-color: #cfe2ff;
}

.bg-secondary-light {
    background-color: #e2e3e5;
    border-color: #e2e3e5;
}

.bg-success-light {
    background-color: #d1e7dd;
    border-color: #d1e7dd;
}

.bg-danger-light {
    background-color: #f8d7da;
    border-color: #f8d7da;
}

.bg-warning-light {
    background-color: #fff3cd;
    border-color: #fff3cd;
}

.bg-info-light {
    background-color: #cff4fc;
    border-color: #cff4fc;
}

.bg-dark-light {
    background-color: #d3d3d4;
    border-color: #d3d3d4;
}

/* Card */
.card {
    margin-bottom: 30px;
    /*border: none;*/
    /*border-radius: 5px;*/
    /*box-shadow: 0px 0 30px rgba(1, 41, 112, 0.1);*/
}

/*.card-header,*/
.card-footer {
    border-color: #ebeef4;
    background-color: #fff;
    color: #798eb3;
    padding: 15px;
}

.card-title {
    padding: 20px 0 15px 0;
    font-size: 18px;
    font-weight: 500;
    /*color: #012970;*/
    font-family: "Poppins", sans-serif;
}

.card-title span {
    color: #899bbd;
    font-size: 14px;
    font-weight: 400;
}

.card-body {
    padding: 0 20px 20px 20px;
}

.card-img-overlay {
    background-color: rgba(255, 255, 255, 0.6);
}

/* Alerts */
.alert-heading {
    font-weight: 500;
    font-family: "Poppins", sans-serif;
    font-size: 20px;
}

/* Close Button */
.btn-close {
    background-size: 25%;
}

.btn-close:focus {
    outline: 0;
    box-shadow: none;
}

/* Accordion */
.accordion-item {
    border: 1px solid #ebeef4;
}

.accordion-button:focus {
    outline: 0;
    box-shadow: none;
}

.accordion-button:not(.collapsed) {
    color: #012970;
    background-color: #f6f9ff;
}

.accordion-flush .accordion-button {
    padding: 15px 0;
    background: none;
    border: 0;
}

.accordion-flush .accordion-button:not(.collapsed) {
    box-shadow: none;
    color: #4154f1;
}

.accordion-flush .accordion-body {
    padding: 0 0 15px 0;
    color: #3e4f6f;
    font-size: 15px;
}

/* Breadcrumbs */
.breadcrumb {
    font-size: 14px;
    font-family: "Nunito", sans-serif;
    color: #899bbd;
    font-weight: 600;
}

.breadcrumb a {
    color: #899bbd;
    transition: 0.3s;
}

.breadcrumb a:hover {
    color: #51678f;
}

.breadcrumb .breadcrumb-item::before {
    color: #899bbd;
}

.breadcrumb .active {
    color: #51678f;
    font-weight: 600;
}

/* Bordered Tabs */
.nav-tabs-bordered {
    border-bottom: 2px solid #ebeef4;
}

.nav-tabs-bordered .nav-link {
    margin-bottom: -2px;
    border: none;
    color: #2c384e;
}

.nav-tabs-bordered .nav-link:hover,
.nav-tabs-bordered .nav-link:focus {
    color: #4154f1;
}

.nav-tabs-bordered .nav-link.active {
    background-color: #fff;
    color: #4154f1;
    border-bottom: 2px solid #4154f1;
}

/*--------------------------------------------------------------
# Header
--------------------------------------------------------------*/
.logo {
    line-height: 1;
}

@media (min-width: 1200px) {
    .logo {
        width: 280px;
    }
}

.logo img {
    max-height: 50px;
    margin-right: 6px;
}

.logo span {
    font-size: 26px;
    font-weight: 700;
    color: #000; /* Texto negro para el logo */
    font-family: "Nunito", sans-serif;
}

.header {
    transition: all 0.5s;
    z-index: 997;
    height: 60px;
    box-shadow: 0px 2px 20px rgba(0, 0, 0, 0.1);
    background-color: #4e8e37; /* Verde oscuro profesional */
    padding-left: 20px;
}

.header .toggle-sidebar-btn {
    font-size: 32px;
    padding-left: 10px;
    cursor: pointer;
    color: #000; /* Icono negro */
}

.header .search-bar {
    min-width: 360px;
    padding: 0 20px;
    background: #4e8e37; /* Verde muy claro para la barra de búsqueda */
}

@media (max-width: 1199px) {
    .header .search-bar {
        position: fixed;
        top: 50px;
        left: 0;
        right: 0;
        padding: 20px;
        box-shadow: 0px 0px 15px 0px rgba(0, 0, 0, 0.1);
        background: #fff; /* Fondo blanco cuando está visible */
        z-index: 9999;
        transition: 0.3s;
        visibility: hidden;
        opacity: 0;
    }

    .header .search-bar-show {
        top: 60px;
        visibility: visible;
        opacity: 1;
    }
}

.header .search-form {
    width: 100%;
}

.header .search-form input {
    border: 1px solid rgba(0, 0, 0, 0.2); /* Borde negro claro */
    font-size: 14px;
    color: #040404; /* Texto gris oscuro en el input */
    padding: 7px 38px 7px 8px;
    border-radius: 3px;
    transition: 0.3s;
    width: 100%;
}

.header .search-form input:focus,
.header .search-form input:hover {
    outline: none;
    box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.15); /* Sombra negra clara */
    border: 1px solid rgba(0, 0, 0, 0.3); /* Borde negro claro */
}

.header .search-form button {
    border: 0;
    padding: 0;
    margin-left: -30px;
    background: none;
}

.header .search-form button i {
    color: #333; /* Icono gris oscuro */
}


/*--------------------------------------------------------------
# Header Nav
--------------------------------------------------------------*/
.header-nav ul {
    list-style: none;
}

.header-nav > ul {
    margin: 0;
    padding: 0;
}

.header-nav .nav-icon {
    font-size: 22px;
    color: #333; /* Gris oscuro */
    margin-right: 25px;
    position: relative;
}

.header-nav .nav-profile {
    color: #040404; /* Gris oscuro */
}

.header-nav .nav-profile img {
    max-height: 36px;
}

.header-nav .nav-profile span {
    font-size: 14px;
    font-weight: 600;
}

.header-nav .badge-number {
    position: absolute;
    inset: -2px -5px auto auto;
    font-weight: normal;
    font-size: 12px;
    padding: 3px 6px;
}

.header-nav .notifications {
    inset: 8px -15px auto auto !important;
}

.header-nav .notifications .notification-item {
    display: flex;
    align-items: center;
    padding: 15px 10px;
    background-color: #f9f9f9; /* Fondo gris muy claro */
    transition: 0.3s;
}

.header-nav .notifications .notification-item i {
    margin: 0 20px 0 10px;
    font-size: 24px;
    color: #333; /* Gris oscuro */
}

.header-nav .notifications .notification-item h4 {
    font-size: 16px;
    font-weight: 600;
    margin-bottom: 5px;
    color: #333; /* Gris oscuro */
}

.header-nav .notifications .notification-item p {
    font-size: 13px;
    margin-bottom: 3px;
    color: #666; /* Gris medio */
}

.header-nav .notifications .notification-item:hover {
    background-color: #eaeaea; /* Gris claro */
}

.header-nav .messages {
    inset: 8px -15px auto auto !important;
}

.header-nav .messages .message-item {
    padding: 15px 10px;
    background-color: #f9f9f9; /* Fondo gris muy claro */
    transition: 0.3s;
}

.header-nav .messages .message-item a {
    display: flex;
}

.header-nav .messages .message-item img {
    margin: 0 20px 0 10px;
    max-height: 40px;
}

.header-nav .messages .message-item h4 {
    font-size: 16px;
    font-weight: 600;
    margin-bottom: 5px;
    color: #333; /* Gris oscuro */
}

.header-nav .messages .message-item p {
    font-size: 13px;
    margin-bottom: 3px;
    color: #666; /* Gris medio */
}

.header-nav .messages .message-item:hover {
    background-color: #eaeaea; /* Gris claro */
}

.header-nav .profile {
    min-width: 240px;
    padding-bottom: 0;
    top: 8px !important;
}

.header-nav .profile .dropdown-header h6 {
    font-size: 18px;
    margin-bottom: 0;
    font-weight: 600;
    color: #333; /* Gris oscuro */
}

.header-nav .profile .dropdown-header span {
    font-size: 14px;
}

.header-nav .profile .dropdown-item {
    font-size: 14px;
    padding: 10px 15px;
    background-color: #f9f9f9; /* Fondo gris muy claro */
    transition: 0.3s;
}

.header-nav .profile .dropdown-item i {
    margin-right: 10px;
    font-size: 18px;
    line-height: 0;
    color: #333; /* Gris oscuro */
}

.header-nav .profile .dropdown-item:hover {
    background-color: #eaeaea; /* Gris claro */
}


/*--------------------------------------------------------------
# Sidebar
--------------------------------------------------------------*/
.sidebar {
    position: fixed;
    top: 60px;
    left: 0;
    bottom: 0;
    width: 300px;
    z-index: 996;
    transition: all 0.3s;
    padding: 20px;
    overflow-y: auto;
    scrollbar-width: thin;
    scrollbar-color: #4b8a2e transparent; /* Verde oscuro para el scrollbar */
    box-shadow: 0px 0px 20px rgba(0, 0, 0, 0.4); /* Sombra negra más pronunciada */
    background-color: #e5f2e5; /* Verde muy claro */
}

@media (max-width: 1199px) {
    .sidebar {
        left: -300px; /* Oculta la barra lateral en pantallas pequeñas */
    }
}

.sidebar::-webkit-scrollbar {
    width: 5px;
    height: 8px;
    background-color: #e5f2e5; /* Verde muy claro para el fondo del scrollbar */
}

.sidebar::-webkit-scrollbar-thumb {
    background-color: #4b8a2e; /* Verde oscuro para el pulgar del scrollbar */
}

@media (min-width: 1200px) {
    #main,
    #footer {
        margin-left: 300px; /* Ajusta el margen del contenido principal para hacer espacio para la barra lateral */
    }
}

@media (max-width: 1199px) {
    .toggle-sidebar .sidebar {
        left: 0; /* Muestra la barra lateral en pantallas pequeñas cuando se activa el toggle */
    }
}

@media (min-width: 1200px) {
    .toggle-sidebar #main,
    .toggle-sidebar #footer {
        margin-left: 0; /* Restablece el margen cuando se oculta la barra lateral */
    }

    .toggle-sidebar .sidebar {
        left: -300px; /* Oculta la barra lateral cuando se activa el toggle en pantallas grandes */
    }
}

/* Sidebar Navigation */
.sidebar-nav {
    padding: 0;
    margin: 0;
    list-style: none;
}

.sidebar-nav li {
    padding: 0;
    margin: 0;
    list-style: none;
}

.sidebar-nav .nav-item {
    margin-bottom: 5px; /* Espacio entre los ítems de navegación */
}

.sidebar-nav .nav-heading {
    font-size: 12px;
    text-transform: uppercase;
    color: #333; /* Gris oscuro */
    padding: 10px;
    font-weight: 600;
}

.sidebar-nav .nav-link {
    display: flex;
    align-items: center;
    padding: 12px 20px;
    color: #2c6b2f; /* Verde oscuro para texto de enlaces */
    background: #d6f0d6; /* Verde muy claro para el fondo de enlaces */
    border-radius: 3px;
    transition: 0.3s;
    font-size: 16px;
    font-weight: bold;
}

.sidebar-nav .nav-link i {
    font-size: 18px;
    margin-right: 10px;
    color: #4b8a2e; /* Verde oscuro para los íconos */
}

.sidebar-nav .nav-link:hover {
    color: #1a1a1a; /* Gris oscuro para el texto de enlaces al pasar el mouse */
    background: #d6f0d6; /* Verde muy claro para el fondo de enlaces al pasar el mouse */
}

.sidebar-nav .nav-content a {
    display: block;
    padding: 10px 20px;
    color: #2c6b2f; /* Verde oscuro para texto de enlaces en contenido de navegación */
    background: #e5f2e5; /* Verde muy claro para el fondo de enlaces en contenido de navegación */
    border-radius: 3px;
    font-size: 14px;
    font-weight: bold;
}

.sidebar-nav .nav-content a i {
    font-size: 6px;
    margin-right: 8px;
    line-height: 0;
    border-radius: 50%;
}


.sidebar-nav .nav-content a:hover,
.sidebar-nav .nav-content a.active {
    color: #1a1a1a; /* Gris oscuro para texto de enlaces activos y al pasar el mouse */
    background: #d6f0d6; /* Verde muy claro para el fondo de enlaces activos y al pasar el mouse */
}

.sidebar-nav .nav-content a.active i {
    background-color: #d6f0d6; /* Verde muy claro para el fondo de íconos activos */

}


/*--------------------------------------------------------------
# Dashboard
--------------------------------------------------------------*/

.dashboard .filter {
    position: absolute;
    right: 0px;
    top: 15px;
}

.dashboard .filter .icon {
    color: #000;
    padding-right: 20px;
    padding-bottom: 5px;
    transition: 0.3s;
    font-size: 16px;
}

.dashboard .filter .icon:hover,
.dashboard .filter .icon:focus {
    color: #4154f1;
}

.dashboard .filter .dropdown-header {
    padding: 8px 15px;
}

.dashboard .filter .dropdown-header h6 {
    text-transform: uppercase;
    font-size: 14px;
    font-weight: 600;
    letter-spacing: 1px;
    color: #aab7cf;
    margin-bottom: 0;
    padding: 0;
}

.dashboard .filter .dropdown-item {
    padding: 8px 15px;
}

/* Info Cards */
.dashboard .info-card {
    padding-bottom: 10px;
}

.dashboard .info-card h6 {
    font-size: 28px;
    color: #012970;
    font-weight: 700;
    margin: 0;
    padding: 0;
}

.dashboard .card-icon {
    font-size: 32px;
    line-height: 0;
    width: 64px;
    height: 64px;
    flex-shrink: 0;
    flex-grow: 0;
}

.dashboard .sales-card .card-icon {
    color: #4154f1;
    background: #f6f6fe;
}

.dashboard .revenue-card .card-icon {
    color: #2eca6a;
    background: #e0f8e9;
}

.dashboard .customers-card .card-icon {
    color: #ff771d;
    background: #ffecdf;
}

/* Activity */
.dashboard .activity {
    font-size: 14px;
}

.dashboard .activity .activity-item .activite-label {
    color: #888;
    position: relative;
    flex-shrink: 0;
    flex-grow: 0;
    min-width: 64px;
}

.dashboard .activity .activity-item .activite-label::before {
    content: "";
    position: absolute;
    right: -11px;
    width: 4px;
    top: 0;
    bottom: 0;
    background-color: #eceefe;
}

.dashboard .activity .activity-item .activity-badge {
    margin-top: 3px;
    z-index: 1;
    font-size: 11px;
    line-height: 0;
    border-radius: 50%;
    flex-shrink: 0;
    border: 3px solid #fff;
    flex-grow: 0;
}

.dashboard .activity .activity-item .activity-content {
    padding-left: 10px;
    padding-bottom: 20px;
}

.dashboard .activity .activity-item:first-child .activite-label::before {
    top: 5px;
}

.dashboard .activity .activity-item:last-child .activity-content {
    padding-bottom: 0;
}

/* News & Updates */
.dashboard .news .post-item + .post-item {
    margin-top: 15px;
}

.dashboard .news img {
    width: 80px;
    float: left;
    border-radius: 5px;
}

.dashboard .news h4 {
    font-size: 15px;
    margin-left: 95px;
    font-weight: bold;
    margin-bottom: 5px;
}

.dashboard .news h4 a {
    color: #012970;
    transition: 0.3s;
}

.dashboard .news h4 a:hover {
    color: #4154f1;
}

.dashboard .news p {
    font-size: 14px;
    color: #777777;
    margin-left: 95px;
}

/* Recent Sales */
.dashboard .recent-sales {
    font-size: 14px;
}

.dashboard .recent-sales .table thead {
    background: #f6f6fe;
}

.dashboard .recent-sales .table thead th {
    border: 0;
}

.dashboard .recent-sales .dataTable-top {
    padding: 0 0 10px 0;
}

.dashboard .recent-sales .dataTable-bottom {
    padding: 10px 0 0 0;
}

/* Top Selling */
.dashboard .top-selling {
    font-size: 14px;
}

.dashboard .top-selling .table thead {
    background: #f6f6fe;
}

.dashboard .top-selling .table thead th {
    border: 0;
}

.dashboard .top-selling .table tbody td {
    vertical-align: middle;
}

.dashboard .top-selling img {
    border-radius: 5px;
    max-width: 60px;
}

/*--------------------------------------------------------------
# Icons list page
--------------------------------------------------------------*/
.iconslist {
    display: grid;
    max-width: 100%;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 1.25rem;
    padding-top: 15px;
}

.iconslist .icon {
    background-color: #fff;
    border-radius: 0.25rem;
    text-align: center;
    color: #012970;
    padding: 15px 0;
}

.iconslist i {
    margin: 0.25rem;
    font-size: 2.5rem;
}

.iconslist .label {
    font-family: var(--bs-font-monospace);
    display: inline-block;
    width: 100%;
    overflow: hidden;
    padding: 0.25rem;
    font-size: 12px;
    text-overflow: ellipsis;
    white-space: nowrap;
    color: #666;
}

/*--------------------------------------------------------------
# Profie Page
--------------------------------------------------------------*/
.profile .profile-card img {
    max-width: 120px;
}

.profile .profile-card h2 {
    font-size: 24px;
    font-weight: 700;
    color: #2c384e;
    margin: 10px 0 0 0;
}

.profile .profile-card h3 {
    font-size: 18px;
}

.profile .profile-card .social-links a {
    font-size: 20px;
    display: inline-block;
    color: rgba(1, 41, 112, 0.5);
    line-height: 0;
    margin-right: 10px;
    transition: 0.3s;
}

.profile .profile-card .social-links a:hover {
    color: #012970;
}

.profile .profile-overview .row {
    margin-bottom: 20px;
    font-size: 15px;
}

.profile .profile-overview .card-title {
    color: #012970;
}

.profile .profile-overview .label {
    font-weight: 600;
    color: rgba(1, 41, 112, 0.6);
}

.profile .profile-edit label {
    font-weight: 600;
    color: rgba(1, 41, 112, 0.6);
}

.profile .profile-edit img {
    max-width: 120px;
}

/*--------------------------------------------------------------
# F.A.Q Page
--------------------------------------------------------------*/
.faq .basic h6 {
    font-size: 18px;
    font-weight: 600;
    color: #4154f1;
}

.faq .basic p {
    color: #6980aa;
}

/*--------------------------------------------------------------
# Contact
--------------------------------------------------------------*/
.contact .info-box {
    padding: 28px 30px;
}

.contact .info-box i {
    font-size: 38px;
    line-height: 0;
    color: #4154f1;
}

.contact .info-box h3 {
    font-size: 20px;
    color: #012970;
    font-weight: 700;
    margin: 20px 0 10px 0;
}

.contact .info-box p {
    padding: 0;
    line-height: 24px;
    font-size: 14px;
    margin-bottom: 0;
}

.contact .php-email-form .error-message {
    display: none;
    color: #fff;
    background: #ed3c0d;
    text-align: left;
    padding: 15px;
    margin-bottom: 24px;
    font-weight: 600;
}

.contact .php-email-form .sent-message {
    display: none;
    color: #fff;
    background: #18d26e;
    text-align: center;
    padding: 15px;
    margin-bottom: 24px;
    font-weight: 600;
}

.contact .php-email-form .loading {
    display: none;
    background: #fff;
    text-align: center;
    padding: 15px;
    margin-bottom: 24px;
}

.contact .php-email-form .loading:before {
    content: "";
    display: inline-block;
    border-radius: 50%;
    width: 24px;
    height: 24px;
    margin: 0 10px -6px 0;
    border: 3px solid #18d26e;
    border-top-color: #eee;
    -webkit-animation: animate-loading 1s linear infinite;
    animation: animate-loading 1s linear infinite;
}

.contact .php-email-form input,
.contact .php-email-form textarea {
    border-radius: 0;
    box-shadow: none;
    font-size: 14px;
    border-radius: 0;
}

.contact .php-email-form input:focus,
.contact .php-email-form textarea:focus {
    border-color: #4154f1;
}

.contact .php-email-form input {
    padding: 10px 15px;
}

.contact .php-email-form textarea {
    padding: 12px 15px;
}

.contact .php-email-form button[type=submit] {
    background: #4154f1;
    border: 0;
    padding: 10px 30px;
    color: #fff;
    transition: 0.4s;
    border-radius: 4px;
}

.contact .php-email-form button[type=submit]:hover {
    background: #5969f3;
}

@-webkit-keyframes animate-loading {
    0% {
        transform: rotate(0deg);
    }

    100% {
        transform: rotate(360deg);
    }
}

@keyframes animate-loading {
    0% {
        transform: rotate(0deg);
    }

    100% {
        transform: rotate(360deg);
    }
}

/*--------------------------------------------------------------
# Error 404
--------------------------------------------------------------*/
.error-404 {
    padding: 30px;
}

.error-404 h1 {
    font-size: 180px;
    font-weight: 700;
    color: #4154f1;
    margin-bottom: 0;
    line-height: 150px;
}

.error-404 h2 {
    font-size: 24px;
    font-weight: 700;
    color: #012970;
    margin-bottom: 30px;
}

.error-404 .btn {
    background: #51678f;
    color: #fff;
    padding: 8px 30px;
}

.error-404 .btn:hover {
    background: #3e4f6f;
}

@media (min-width: 992px) {
    .error-404 img {
        max-width: 50%;
    }
}

/*--------------------------------------------------------------
# Footer
--------------------------------------------------------------*/
.footer {
    padding: 20px 0;
    font-size: 14px;
    transition: all 0.3s;
    border-top: 1px solid #cddfff;
}

.footer .copyright {
    text-align: center;
    color: #012970;
}

.footer .credits {
    padding-top: 5px;
    text-align: center;
    font-size: 13px;
    color: #012970;
}

/* --------------------------------------------------------------
# Navbar + Sidebar Refresh
-------------------------------------------------------------- */
:root {
    --header-height: 64px;
    --sidebar-width: 300px;
    --brand-900: #0f2f4a;
    --brand-800: #174264;
    --brand-700: #2f6b96;
    --brand-100: #ecf4fb;
    --surface-0: #ffffff;
    --surface-1: #f4f7fb;
    --text-900: #1f2d3d;
    --text-700: #4d5f73;
    --text-on-brand: #f4f9ff;
}

body {
    background: linear-gradient(180deg, #f6f9ff 0%, #f1f5fa 100%);
}

#main {
    margin-top: var(--header-height);
}

.header {
    height: var(--header-height);
    padding-left: 16px;
    padding-right: 16px;
    background: linear-gradient(120deg, var(--brand-900) 0%, var(--brand-700) 100%);
    border-bottom: 1px solid rgba(255, 255, 255, 0.18);
    box-shadow: 0 10px 26px rgba(10, 31, 52, 0.28);
}

.logo img {
    border-radius: 10px;
    box-shadow: 0 3px 12px rgba(0, 0, 0, 0.24);
}

.logo span {
    color: var(--text-on-brand);
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
}

.header .toggle-sidebar-btn {
    width: 40px;
    height: 40px;
    display: grid;
    place-items: center;
    font-size: 26px;
    margin-left: 8px;
    border-radius: 10px;
    color: var(--text-on-brand);
    background: rgba(255, 255, 255, 0.14);
    transition: transform 0.2s ease, background-color 0.2s ease, box-shadow 0.2s ease;
}

.header .toggle-sidebar-btn:hover {
    transform: translateY(-1px);
    background: rgba(255, 255, 255, 0.22);
    box-shadow: 0 8px 14px rgba(0, 0, 0, 0.16);
}

.header .search-bar {
    min-width: 340px;
    max-width: 460px;
    background: transparent;
}

.header .search-form input {
    background: rgba(255, 255, 255, 0.9);
    border: 1px solid rgba(255, 255, 255, 0.42);
    border-radius: 10px;
    color: #1b334a;
}

.header .search-form input::placeholder {
    color: #667a8f;
}

.header .search-form input:focus,
.header .search-form input:hover {
    background: #fff;
    border-color: rgba(56, 106, 148, 0.68);
    box-shadow: 0 0 0 3px rgba(109, 151, 186, 0.3);
}

.header .search-form button i {
    color: #274866;
}

.header-nav .nav-icon {
    width: 38px;
    height: 38px;
    margin-right: 0;
    display: inline-grid;
    place-items: center;
    border-radius: 10px;
    color: var(--text-on-brand);
    background: rgba(255, 255, 255, 0.12);
    transition: all 0.2s ease;
}

.header-nav .nav-link:hover .nav-icon,
.header-nav .nav-link:focus .nav-icon {
    background: rgba(255, 255, 255, 0.22);
    transform: translateY(-1px);
}

.header-nav .nav-profile {
    color: var(--text-on-brand);
    padding: 6px 10px;
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.24);
    transition: all 0.2s ease;
}

.header-nav .nav-profile:hover {
    background: rgba(255, 255, 255, 0.2);
}

.header-nav .nav-profile img {
    border: 2px solid rgba(255, 255, 255, 0.76);
}

.header-nav .profile {
    border-radius: 14px;
    border: 1px solid #d9e4f0;
    box-shadow: 0 14px 28px rgba(19, 39, 61, 0.16);
}

.header-nav .profile .dropdown-item {
    border-radius: 8px;
    margin: 2px 8px;
}

.header-nav .profile .dropdown-item i {
    color: #2d4f6f;
}

.header-nav .profile .dropdown-item:hover {
    background-color: #ebf3fb;
}

.sidebar {
    top: var(--header-height);
    width: var(--sidebar-width);
    padding: 16px 14px 24px;
    background: linear-gradient(180deg, #f2f6fb 0%, #e9f0f8 52%, #e1eaf5 100%);
    border-right: 1px solid #c8d6e6;
    box-shadow: 8px 0 24px rgba(21, 43, 67, 0.16);
    scrollbar-color: #7390ad transparent;
}

.sidebar::-webkit-scrollbar-thumb {
    background-color: #7390ad;
    border-radius: 999px;
}

@media (max-width: 1199px) {
    .sidebar {
        left: calc(var(--sidebar-width) * -1);
    }
}

@media (min-width: 1200px) {
    #main,
    #footer {
        margin-left: var(--sidebar-width);
    }
}

@media (min-width: 1200px) {
    .toggle-sidebar #main,
    .toggle-sidebar #footer {
        margin-left: 0;
    }

    .toggle-sidebar .sidebar {
        left: calc(var(--sidebar-width) * -1);
    }
}

.sidebar-nav .nav-item {
    margin-bottom: 8px;
}

.sidebar-nav .nav-heading {
    color: #4c6076;
    letter-spacing: 0.08em;
}

.sidebar-nav .nav-link {
    gap: 8px;
    padding: 11px 14px;
    border-radius: 12px;
    border: 1px solid rgba(128, 148, 172, 0.34);
    background: rgba(255, 255, 255, 0.56);
    color: var(--text-900);
    font-size: 15px;
    font-weight: 700;
    box-shadow: 0 2px 6px rgba(21, 43, 68, 0.08);
    transition: all 0.2s ease;
}

.sidebar-nav .nav-link i {
    color: var(--brand-700);
}

.sidebar-nav .nav-link:hover {
    color: #10273d;
    background: #f8fbff;
    border-color: rgba(86, 123, 159, 0.44);
    transform: translateX(2px);
}

.sidebar-nav .nav-link[data-bs-toggle="collapse"]:not(.collapsed) {
    color: #fff;
    background: linear-gradient(135deg, var(--brand-800), var(--brand-700));
    border-color: rgba(33, 79, 118, 0.92);
    box-shadow: 0 8px 16px rgba(18, 50, 77, 0.22);
}

.sidebar-nav .nav-link[data-bs-toggle="collapse"]:not(.collapsed) i {
    color: #fff;
}

.sidebar-nav .nav-link .bi-chevron-down {
    margin-left: auto;
    transition: transform 0.2s ease;
}

.sidebar-nav .nav-link[data-bs-toggle="collapse"]:not(.collapsed) .bi-chevron-down {
    transform: rotate(180deg);
}

.sidebar-nav .nav-content {
    padding-top: 6px;
}

.sidebar-nav .nav-content a {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 4px 2px 0;
    padding: 9px 12px 9px 16px;
    border-radius: 10px;
    border: 1px solid transparent;
    background: transparent;
    color: var(--text-700);
    font-size: 14px;
    font-weight: 600;
    transition: all 0.2s ease;
}

.sidebar-nav .nav-content a i {
    margin-right: 0;
    font-size: 7px;
    color: var(--brand-700);
}

.sidebar-nav .nav-content a:hover,
.sidebar-nav .nav-content a.active {
    color: #10273d;
    background: #f2f7fd;
    border-color: rgba(94, 128, 160, 0.32);
    transform: translateX(2px);
}

.sidebar-nav .nav-content a.active {
    color: #fff;
    background: linear-gradient(135deg, #25537b, #3f739f);
    border-color: rgba(32, 73, 110, 0.9);
    box-shadow: 0 8px 14px rgba(22, 56, 86, 0.2);
}

.sidebar-nav .nav-content a.active i {
    color: #fff;
}

/* --------------------------------------------------------------
# Professional UI Polish (Navbar, Sidebar, Buttons)
-------------------------------------------------------------- */
:root {
    --ui-brand-950: #2f1e16;
    --ui-brand-900: #4a2f22;
    --ui-brand-800: #6b412d;
    --ui-brand-700: #865338;
    --ui-accent-600: #b06d3b;
    --ui-accent-500: #c8844f;
    --ui-bg-app: #f6efe7;
    --ui-bg-surface: #ffffff;
    --ui-border-soft: #e3d4c5;
    --ui-text-900: #3b2b21;
    --ui-text-700: #6b5748;
    --ui-text-on-dark: #fff5eb;
}

body {
    background: linear-gradient(180deg, #fbf6ef 0%, var(--ui-bg-app) 100%);
    color: var(--ui-text-900);
}

#main {
    border-radius: 16px 0 0 0;
}

.header {
    background: linear-gradient(110deg, var(--ui-brand-950) 0%, var(--ui-brand-800) 100%);
    box-shadow: 0 10px 26px rgba(34, 20, 13, 0.36);
}

.logo span {
    color: var(--ui-text-on-dark);
    font-weight: 700;
    letter-spacing: 0.01em;
}

.header .toggle-sidebar-btn {
    color: var(--ui-text-on-dark);
    background: rgba(255, 250, 241, 0.14);
}

.header .toggle-sidebar-btn:hover {
    background: rgba(255, 250, 241, 0.24);
}

.header .search-form input {
    border-radius: 12px;
    background: #fffaf3;
    border-color: rgba(177, 132, 88, 0.52);
    color: #4b3628;
}

.header .search-form input::placeholder {
    color: #8e735d;
}

.header-nav .nav-icon {
    color: var(--ui-text-on-dark);
    background: rgba(255, 250, 241, 0.14);
}

.header-nav .nav-profile {
    color: var(--ui-text-on-dark);
    background: rgba(255, 250, 241, 0.14);
    border-color: rgba(255, 250, 241, 0.28);
}

.sidebar {
    background: linear-gradient(180deg, #3a251a 0%, #503223 58%, #65412d 100%);
    border-right: 1px solid rgba(255, 245, 232, 0.16);
    box-shadow: 10px 0 26px rgba(36, 22, 15, 0.34);
}

.sidebar-nav .nav-heading {
    color: rgba(255, 241, 224, 0.86);
}

.sidebar-nav .nav-link {
    border: 1px solid rgba(255, 245, 232, 0.22);
    background: rgba(255, 245, 232, 0.1);
    color: var(--ui-text-on-dark);
    box-shadow: none;
}

.sidebar-nav .nav-link i {
    color: rgba(255, 220, 182, 0.96);
}

.sidebar-nav .nav-link:hover {
    color: #ffffff;
    background: rgba(255, 245, 232, 0.2);
    border-color: rgba(255, 245, 232, 0.38);
    transform: translateX(2px);
}

.sidebar-nav .nav-link[data-bs-toggle="collapse"]:not(.collapsed) {
    background: linear-gradient(135deg, var(--ui-accent-600), var(--ui-accent-500));
    border-color: rgba(145, 88, 47, 0.95);
    box-shadow: 0 10px 18px rgba(72, 43, 23, 0.3);
}

.sidebar-nav .nav-content a {
    color: rgba(255, 241, 224, 0.94);
    border: 1px solid transparent;
    background: transparent;
}

.sidebar-nav .nav-content a i {
    color: rgba(255, 216, 167, 0.96);
}

.sidebar-nav .nav-content a:hover,
.sidebar-nav .nav-content a.active {
    color: #ffffff;
    background: rgba(255, 245, 232, 0.2);
    border-color: rgba(255, 245, 232, 0.38);
}

.sidebar-nav .nav-content a.active {
    background: linear-gradient(135deg, var(--ui-accent-600), var(--ui-accent-500));
    border-color: rgba(145, 88, 47, 0.95);
    box-shadow: 0 10px 18px rgba(72, 43, 23, 0.3);
}


/* --------------------------------------------------------------
   ENTERPRISE MINIMAL - FINAL (Professional, sober, low color)
-------------------------------------------------------------- */
body #header.header,
body .header {
    background: #edf5fb !important;
    border-bottom: 1px solid #cfe0ec !important;
    box-shadow: 0 2px 8px rgba(20, 49, 72, 0.1) !important;
}

body #header .logo span,
body .header .logo span,
body #header .toggle-sidebar-btn,
body .header .toggle-sidebar-btn,
body .header-nav .nav-icon {
    color: #000000 !important;
}

body #header .toggle-sidebar-btn,
body .header .toggle-sidebar-btn,
body .bi.bi-list.toggle-sidebar-btn,
body .header-nav .nav-icon {
    border-radius: 2px !important;
    border: 1px solid #c7d8e5 !important;
    background: #ffffff !important;
    box-shadow: none !important;
}

body .header-nav .nav-profile {
    border-radius: 2px !important;
    background: #ffffff !important;
    border: 1px solid #c7d8e5 !important;
    box-shadow: none !important;
}

body .header-nav .nav-profile img {
    border-radius: 2px !important;
}

body .header-nav .dropdown-menu.profile,
body .header-nav .dropdown-menu.dropdown-menu-end.dropdown-menu-arrow.profile,
body .header-nav .dropdown-menu.dropdown-menu-end.dropdown-menu-arrow.profile.show {
    border-radius: 2px !important;
    background: #ffffff !important;
    border: 1px solid #cdddea !important;
    box-shadow: 0 8px 18px rgba(20, 49, 72, 0.14) !important;
}

body .header-nav .dropdown-menu.profile .dropdown-item {
    border-radius: 2px !important;
    color: #000000 !important;
}

body .header-nav .dropdown-menu.profile .dropdown-item i {
    color: #000000 !important;
}

body .header-nav .dropdown-menu.profile .dropdown-item:hover {
    background: #eef5fb !important;
}

body .header-nav .dropdown-menu.profile.dropdown-menu-arrow::before {
    background: #ffffff !important;
    border-top: 1px solid #cdddea !important;
    border-left: 1px solid #cdddea !important;
}

body #sidebar.sidebar,
body .sidebar {
    background: #2c4d63 !important;
    border-right: 1px solid rgba(255, 255, 255, 0.12) !important;
    box-shadow: 4px 0 14px rgba(16, 40, 60, 0.2) !important;
}

body .sidebar-nav .nav-heading {
    color: rgba(226, 239, 248, 0.72) !important;
}

body .sidebar-nav .nav-link {
    border-radius: 2px !important;
    background: rgba(255, 255, 255, 0.04) !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
    color: #ffffff !important;
    box-shadow: none !important;
}

body .sidebar-nav .nav-link i {
    color: #ffffff !important;
}

body .sidebar-nav .nav-link:hover {
    background: #365f7b !important;
    border-color: rgba(255, 255, 255, 0.16) !important;
    transform: none !important;
}

body .sidebar-nav .nav-link[data-bs-toggle="collapse"]:not(.collapsed),
body .sidebar-nav .nav-link.active {
    background: #4f87ad !important;
    border-color: #4f87ad !important;
    color: #ffffff !important;
    box-shadow: none !important;
}

body .sidebar-nav .nav-content a {
    border-radius: 2px !important;
    color: #ffffff !important;
}

body .sidebar-nav .nav-content a:hover {
    background: #3a6784 !important;
    border-color: transparent !important;
}

body .sidebar-nav .nav-content a.active {
    background: rgba(96, 154, 193, 0.28) !important;
    border-color: rgba(96, 154, 193, 0.5) !important;
    color: #ffffff !important;
}

/* --------------------------------------------------------------
   UI LOCK - Professional Final Layer (EOF)
-------------------------------------------------------------- */
#header.header,
body .header {
    background: linear-gradient(180deg, #f7f5f2 0%, #f1ece5 100%) !important;
    border-bottom: 1px solid #d7ccbf !important;
    box-shadow: 0 6px 16px rgba(60, 46, 32, 0.14) !important;
}

#header .toggle-sidebar-btn,
body .header .toggle-sidebar-btn,
body .bi.bi-list.toggle-sidebar-btn {
    border-radius: 3px !important;
    background: #f8f4ee !important;
    border: 1px solid #cfc2b3 !important;
    color: #2f2a25 !important;
    box-shadow: none !important;
}

#header .toggle-sidebar-btn:hover,
body .header .toggle-sidebar-btn:hover,
body .bi.bi-list.toggle-sidebar-btn:hover {
    background: #efe7dd !important;
    border-color: #bea98f !important;
    color: #3a312a !important;
}

body .header-nav .nav-icon {
    border-radius: 3px !important;
    background: #f8f4ee !important;
    border: 1px solid #d5c9bc !important;
    color: #2f2a25 !important;
}

body .header-nav .nav-profile {
    border-radius: 3px !important;
    background: #f8f3ec !important;
    border: 1px solid #d8ccbf !important;
    box-shadow: none !important;
}

body .header-nav .nav-profile img {
    border-radius: 3px !important;
}

body .header-nav .dropdown-menu.profile,
body .header-nav .dropdown-menu.dropdown-menu-end.dropdown-menu-arrow.profile,
body .header-nav .dropdown-menu.dropdown-menu-end.dropdown-menu-arrow.profile.show {
    border-radius: 3px !important;
    background: #fffdfb !important;
    border: 1px solid #d9ccbe !important;
    box-shadow: 0 12px 24px rgba(52, 39, 27, 0.16) !important;
}

body .header-nav .dropdown-menu.profile .dropdown-item {
    border-radius: 2px !important;
    color: #3a3129 !important;
}

body .header-nav .dropdown-menu.profile .dropdown-item i {
    color: #7a5a3d !important;
}

body .header-nav .dropdown-menu.profile .dropdown-item:hover {
    background: #ede4d9 !important;
}

body .header-nav .dropdown-menu.profile.dropdown-menu-arrow::before {
    background: #fffdfb !important;
    border-top: 1px solid #d9ccbe !important;
    border-left: 1px solid #d9ccbe !important;
}

#sidebar.sidebar,
body .sidebar {
    background: linear-gradient(180deg, #52473d 0%, #43392f 100%) !important;
    border-right: 1px solid rgba(255, 255, 255, 0.12) !important;
    box-shadow: 8px 0 20px rgba(28, 21, 15, 0.22) !important;
}

body .sidebar-nav .nav-heading {
    color: rgba(244, 239, 233, 0.72) !important;
}

body .sidebar-nav .nav-link {
    border-radius: 3px !important;
    background: rgba(255, 255, 255, 0.06) !important;
    border: 1px solid rgba(255, 255, 255, 0.13) !important;
    color: #f4efe9 !important;
    box-shadow: none !important;
}

body .sidebar-nav .nav-link i {
    color: rgba(244, 239, 233, 0.9) !important;
}

body .sidebar-nav .nav-link:hover {
    background: rgba(255, 255, 255, 0.12) !important;
    border-color: rgba(255, 255, 255, 0.2) !important;
    transform: none !important;
}

body .sidebar-nav .nav-link[data-bs-toggle="collapse"]:not(.collapsed),
body .sidebar-nav .nav-link.active {
    background: linear-gradient(135deg, #8c6642, #7a5a3d) !important;
    border-color: rgba(170, 129, 93, 0.95) !important;
    color: #fff !important;
    box-shadow: 0 8px 14px rgba(44, 32, 22, 0.22) !important;
}

body .sidebar-nav .nav-content a {
    border-radius: 2px !important;
    color: rgba(247, 242, 236, 0.94) !important;
}

body .sidebar-nav .nav-content a:hover {
    background: rgba(255, 255, 255, 0.11) !important;
    border-color: rgba(255, 255, 255, 0.18) !important;
}

body .sidebar-nav .nav-content a.active {
    background: rgba(206, 173, 140, 0.2) !important;
    border-color: rgba(206, 173, 140, 0.36) !important;
    color: #fff !important;
}

/* --------------------------------------------------------------
   FINAL PROFESSIONAL THEME - NAVBAR + SIDEBAR
   (suave, corporativo, sin redondeos excesivos)
-------------------------------------------------------------- */
:root {
    --ui-nav-bg-1: #f7f5f2;
    --ui-nav-bg-2: #f1ece5;
    --ui-nav-border: #d7ccbf;
    --ui-nav-text: #2f2a25;
    --ui-nav-muted: #6b6259;
    --ui-nav-accent: #7a5a3d;
    --ui-nav-accent-soft: #ede4d9;

    --ui-side-bg-1: #52473d;
    --ui-side-bg-2: #43392f;
    --ui-side-border: rgba(255, 255, 255, 0.12);
    --ui-side-text: #f4efe9;
    --ui-side-muted: rgba(244, 239, 233, 0.72);
    --ui-side-item: rgba(255, 255, 255, 0.06);
    --ui-side-item-hover: rgba(255, 255, 255, 0.12);
    --ui-side-active-1: #8c6642;
    --ui-side-active-2: #7a5a3d;
}

#header.header,
.header {
    background: linear-gradient(180deg, var(--ui-nav-bg-1) 0%, var(--ui-nav-bg-2) 100%) !important;
    border-bottom: 1px solid var(--ui-nav-border) !important;
    box-shadow: 0 6px 16px rgba(60, 46, 32, 0.14) !important;
}

#header .logo span,
.header .logo span {
    color: var(--ui-nav-text) !important;
    letter-spacing: 0.2px;
}

#header .toggle-sidebar-btn,
.header .toggle-sidebar-btn {
    color: var(--ui-nav-text) !important;
    border: 1px solid #cfc2b3 !important;
    background: #f8f4ee !important;
    border-radius: 3px !important;
    box-shadow: none !important;
}

#header .toggle-sidebar-btn:hover,
.header .toggle-sidebar-btn:hover {
    background: #efe7dd !important;
    border-color: #bea98f !important;
    color: #3a312a !important;
}

#header .search-form input,
.header .search-form input {
    background: #fbfaf8 !important;
    border: 1px solid #d8cec2 !important;
    color: var(--ui-nav-text) !important;
    border-radius: 3px !important;
}

#header .search-form button,
.header .search-form button {
    color: var(--ui-nav-muted) !important;
}

.header-nav .nav-icon {
    color: var(--ui-nav-text) !important;
    border: 1px solid #d5c9bc !important;
    background: #f8f4ee !important;
    border-radius: 3px !important;
    box-shadow: none !important;
}

.header-nav .nav-icon:hover,
.header-nav .nav-icon.show {
    background: #eee5da !important;
    border-color: #bea98f !important;
    color: #3a312a !important;
}

.header-nav .nav-profile {
    background: #f8f3ec !important;
    border: 1px solid #d8ccbf !important;
    border-radius: 3px !important;
    box-shadow: none !important;
}

.header-nav .nav-profile span {
    color: var(--ui-nav-text) !important;
}

.header-nav .nav-profile img {
    border-radius: 3px !important;
}

.header-nav .dropdown-menu.profile,
.header-nav .dropdown-menu.profile.show,
.header-nav .dropdown-menu.dropdown-menu-end.dropdown-menu-arrow.profile {
    background: #fffdfb !important;
    border: 1px solid #d9ccbe !important;
    border-radius: 3px !important;
    box-shadow: 0 12px 24px rgba(52, 39, 27, 0.16) !important;
    padding-top: 0.3rem !important;
    padding-bottom: 0.3rem !important;
}

.header-nav .dropdown-menu.profile .dropdown-header h6 {
    color: #2f2a25 !important;
}

.header-nav .dropdown-menu.profile .dropdown-header span {
    color: #6f675f !important;
}

.header-nav .dropdown-menu.profile .dropdown-divider {
    border-top-color: #e8ddd2 !important;
}

.header-nav .dropdown-menu.profile .dropdown-item {
    color: #3a3129 !important;
    border-radius: 2px !important;
    margin: 1px 4px !important;
    padding-top: 0.48rem !important;
    padding-bottom: 0.48rem !important;
}

.header-nav .dropdown-menu.profile .dropdown-item i {
    color: #7a5a3d !important;
}

.header-nav .dropdown-menu.profile .dropdown-item:hover {
    background: var(--ui-nav-accent-soft) !important;
    color: #2c241e !important;
}

.header-nav .dropdown-menu.profile.dropdown-menu-arrow::before {
    background: #fffdfb !important;
    border-top: 1px solid #d9ccbe !important;
    border-left: 1px solid #d9ccbe !important;
}

#sidebar.sidebar,
.sidebar {
    background: linear-gradient(180deg, var(--ui-side-bg-1) 0%, var(--ui-side-bg-2) 100%) !important;
    border-right: 1px solid var(--ui-side-border) !important;
    box-shadow: 8px 0 20px rgba(28, 21, 15, 0.22) !important;
}

#sidebar .sidebar-nav .nav-heading,
.sidebar .sidebar-nav .nav-heading {
    color: var(--ui-side-muted) !important;
    letter-spacing: 0.35px;
}

#sidebar .sidebar-nav .nav-link,
.sidebar .sidebar-nav .nav-link {
    color: var(--ui-side-text) !important;
    background: var(--ui-side-item) !important;
    border: 1px solid rgba(255, 255, 255, 0.13) !important;
    border-radius: 3px !important;
    box-shadow: none !important;
}

#sidebar .sidebar-nav .nav-link i,
.sidebar .sidebar-nav .nav-link i {
    color: rgba(244, 239, 233, 0.9) !important;
}

#sidebar .sidebar-nav .nav-link:hover,
.sidebar .sidebar-nav .nav-link:hover {
    background: var(--ui-side-item-hover) !important;
    border-color: rgba(255, 255, 255, 0.2) !important;
    color: #ffffff !important;
    transform: none !important;
}

#sidebar .sidebar-nav .nav-link[data-bs-toggle="collapse"]:not(.collapsed),
.sidebar .sidebar-nav .nav-link[data-bs-toggle="collapse"]:not(.collapsed),
#sidebar .sidebar-nav .nav-link.active,
.sidebar .sidebar-nav .nav-link.active {
    background: linear-gradient(135deg, var(--ui-side-active-1), var(--ui-side-active-2)) !important;
    border-color: rgba(170, 129, 93, 0.95) !important;
    color: #fff !important;
    box-shadow: 0 8px 14px rgba(44, 32, 22, 0.22) !important;
}

#sidebar .sidebar-nav .nav-content a,
.sidebar .sidebar-nav .nav-content a {
    color: rgba(247, 242, 236, 0.94) !important;
    border-radius: 2px !important;
    border: 1px solid transparent !important;
}

#sidebar .sidebar-nav .nav-content a i,
.sidebar .sidebar-nav .nav-content a i {
    color: #d7bfa5 !important;
}

#sidebar .sidebar-nav .nav-content a:hover,
.sidebar .sidebar-nav .nav-content a:hover {
    background: rgba(255, 255, 255, 0.11) !important;
    border-color: rgba(255, 255, 255, 0.18) !important;
    color: #fff !important;
}

#sidebar .sidebar-nav .nav-content a.active,
.sidebar .sidebar-nav .nav-content a.active {
    background: rgba(206, 173, 140, 0.2) !important;
    border-color: rgba(206, 173, 140, 0.36) !important;
    color: #fff !important;
}

/* --------------------------------------------------------------
   Ultimate Soft Professional Theme
   (highest-priority visual override)
-------------------------------------------------------------- */
body #header.header {
    background: linear-gradient(125deg, #4b5865 0%, #5d6d7d 100%) !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.14) !important;
    box-shadow: 0 8px 18px rgba(34, 45, 56, 0.22) !important;
}

body #header .logo span,
body #header .header-nav .nav-profile,
body #header .header-nav .nav-icon,
body #header .toggle-sidebar-btn {
    color: #eef3f8 !important;
}

body #header .toggle-sidebar-btn {
    background: rgba(255, 255, 255, 0.1) !important;
    border: 1px solid rgba(255, 255, 255, 0.26) !important;
    border-radius: 4px !important;
}

body #header .toggle-sidebar-btn:hover {
    background: rgba(255, 255, 255, 0.18) !important;
    border-color: rgba(255, 255, 255, 0.38) !important;
}

body #header .header-nav .nav-icon {
    background: rgba(255, 255, 255, 0.1) !important;
    border-radius: 4px !important;
}

body #header .header-nav .nav-profile {
    background: rgba(255, 255, 255, 0.1) !important;
    border: 1px solid rgba(255, 255, 255, 0.22) !important;
    border-radius: 4px !important;
}

body #header .header-nav .nav-profile img {
    border-radius: 4px !important;
}

body #header .search-form input {
    background: #f9fbfd !important;
    border: 1px solid #b5c1cd !important;
    color: #2c3e50 !important;
    border-radius: 4px !important;
}

body #header .search-form input::placeholder {
    color: #728395 !important;
}

body #header .header-nav .dropdown-menu.profile,
body #header .header-nav .dropdown-menu.profile.show {
    background: #ffffff !important;
    border: 1px solid #d6dee7 !important;
    border-radius: 4px !important;
    box-shadow: 0 14px 30px rgba(30, 41, 53, 0.18) !important;
    padding: 8px !important;
    min-width: 275px !important;
}

body #header .header-nav .dropdown-menu.profile .dropdown-header {
    text-align: left !important;
    padding: 8px 10px 10px !important;
}

body #header .header-nav .dropdown-menu.profile .dropdown-header h6 {
    color: #2d4258 !important;
    font-size: 15px !important;
    font-weight: 700 !important;
}

body #header .header-nav .dropdown-menu.profile .dropdown-header span {
    color: #6f8296 !important;
    font-size: 12px !important;
}

body #header .header-nav .dropdown-menu.profile .dropdown-item {
    color: #304860 !important;
    border-radius: 3px !important;
    padding: 9px 10px !important;
    font-weight: 600 !important;
}

body #header .header-nav .dropdown-menu.profile .dropdown-item i {
    color: #687f98 !important;
}

body #header .header-nav .dropdown-menu.profile .dropdown-item:hover {
    background: #f2f6fa !important;
}

body #header .header-nav .dropdown-menu.profile.dropdown-menu-arrow::before {
    background: #ffffff !important;
    border-top: 1px solid #d6dee7 !important;
    border-left: 1px solid #d6dee7 !important;
}

body #sidebar.sidebar {
    background: linear-gradient(180deg, #566476 0%, #64758a 100%) !important;
    border-right: 1px solid rgba(255, 255, 255, 0.16) !important;
    box-shadow: 8px 0 16px rgba(36, 49, 63, 0.18) !important;
}

body #sidebar .sidebar-nav .nav-heading {
    color: rgba(238, 243, 248, 0.85) !important;
}

body #sidebar .sidebar-nav .nav-link {
    color: #eef3f8 !important;
    background: rgba(255, 255, 255, 0.1) !important;
    border: 1px solid rgba(255, 255, 255, 0.2) !important;
    border-radius: 4px !important;
}

body #sidebar .sidebar-nav .nav-link i {
    color: #d8e3ee !important;
}

body #sidebar .sidebar-nav .nav-link:hover {
    background: rgba(255, 255, 255, 0.18) !important;
    border-color: rgba(255, 255, 255, 0.32) !important;
}

body #sidebar .sidebar-nav .nav-link[data-bs-toggle="collapse"]:not(.collapsed) {
    background: linear-gradient(135deg, #7b8fa6, #8ea3ba) !important;
    border-color: rgba(152, 201, 232, 0.92) !important;
    box-shadow: 0 8px 14px rgba(52, 68, 85, 0.18) !important;
}

body #sidebar .sidebar-nav .nav-content a {
    color: rgba(235, 241, 248, 0.95) !important;
    border-radius: 3px !important;
}

body #sidebar .sidebar-nav .nav-content a i {
    color: #d2ddea !important;
}

body #sidebar .sidebar-nav .nav-content a:hover,
body #sidebar .sidebar-nav .nav-content a.active {
    background: rgba(255, 255, 255, 0.18) !important;
    border-color: rgba(255, 255, 255, 0.3) !important;
    color: #ffffff !important;
}

body #sidebar .sidebar-nav .nav-content a.active {
    background: linear-gradient(135deg, #7b8fa6, #8ea3ba) !important;
    border-color: rgba(152, 201, 232, 0.92) !important;
}

/* --------------------------------------------------------------
   Final Override - Soft Professional Navbar + Sidebar
   (No cambia estructura, solo apariencia)
-------------------------------------------------------------- */
:root {
    --final-nav-1: #3f4955;
    --final-nav-2: #4d5a68;
    --final-side-1: #465463;
    --final-side-2: #556577;
    --final-side-active-1: #6b7f95;
    --final-side-active-2: #7e92a8;
    --final-text-light: #eef3f8;
}

#header.header {
    background: linear-gradient(120deg, var(--final-nav-1) 0%, var(--final-nav-2) 100%) !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.12) !important;
    box-shadow: 0 8px 20px rgba(33, 43, 54, 0.22) !important;
}

#header .logo span {
    color: var(--final-text-light) !important;
}

#header .toggle-sidebar-btn {
    color: var(--final-text-light) !important;
    background: rgba(255, 255, 255, 0.1) !important;
    border: 1px solid rgba(255, 255, 255, 0.25) !important;
    border-radius: 4px !important;
}

#header .toggle-sidebar-btn:hover {
    background: rgba(255, 255, 255, 0.18) !important;
    border-color: rgba(255, 255, 255, 0.38) !important;
}

#header .search-form input {
    border-radius: 4px !important;
    background: #f9fbfd !important;
    border: 1px solid #b8c4d0 !important;
    color: #2b3b4b !important;
}

#header .search-form input::placeholder {
    color: #708293 !important;
}

#header .header-nav .nav-icon {
    color: var(--final-text-light) !important;
    background: rgba(255, 255, 255, 0.1) !important;
    border-radius: 4px !important;
}

#header .header-nav .nav-profile {
    color: var(--final-text-light) !important;
    background: rgba(255, 255, 255, 0.1) !important;
    border: 1px solid rgba(255, 255, 255, 0.22) !important;
    border-radius: 4px !important;
}

#header .header-nav .nav-profile img {
    border-radius: 4px !important;
}

#header .header-nav .dropdown-menu.profile,
#header .header-nav .dropdown-menu.profile.show {
    background: #ffffff !important;
    border: 1px solid #d6dee7 !important;
    border-radius: 4px !important;
    box-shadow: 0 14px 30px rgba(30, 41, 53, 0.18) !important;
    min-width: 270px !important;
    padding: 8px !important;
}

#header .header-nav .dropdown-menu.profile .dropdown-header {
    text-align: left !important;
    padding: 8px 10px 10px !important;
}

#header .header-nav .dropdown-menu.profile .dropdown-header h6 {
    color: #2b3d4f !important;
    font-size: 15px !important;
    font-weight: 700 !important;
}

#header .header-nav .dropdown-menu.profile .dropdown-header span {
    color: #6f8296 !important;
    font-size: 12px !important;
}

#header .header-nav .dropdown-menu.profile .dropdown-item {
    color: #30465d !important;
    border-radius: 3px !important;
    padding: 9px 10px !important;
    font-weight: 600 !important;
}

#header .header-nav .dropdown-menu.profile .dropdown-item i {
    color: #688099 !important;
}

#header .header-nav .dropdown-menu.profile .dropdown-item:hover {
    background: #f1f5f9 !important;
}

#header .header-nav .dropdown-menu.profile.dropdown-menu-arrow::before {
    background: #ffffff !important;
    border-top: 1px solid #d6dee7 !important;
    border-left: 1px solid #d6dee7 !important;
}

#sidebar.sidebar {
    background: linear-gradient(180deg, var(--final-side-1) 0%, var(--final-side-2) 100%) !important;
    border-right: 1px solid rgba(255, 255, 255, 0.14) !important;
    box-shadow: 8px 0 18px rgba(33, 43, 54, 0.2) !important;
}

#sidebar .sidebar-nav .nav-heading {
    color: rgba(238, 243, 248, 0.82) !important;
}

#sidebar .sidebar-nav .nav-link {
    color: var(--final-text-light) !important;
    background: rgba(255, 255, 255, 0.08) !important;
    border: 1px solid rgba(255, 255, 255, 0.18) !important;
    border-radius: 4px !important;
}

#sidebar .sidebar-nav .nav-link i {
    color: #d9e3ed !important;
}

#sidebar .sidebar-nav .nav-link:hover {
    background: rgba(255, 255, 255, 0.16) !important;
    border-color: rgba(255, 255, 255, 0.3) !important;
}

#sidebar .sidebar-nav .nav-link[data-bs-toggle="collapse"]:not(.collapsed) {
    background: linear-gradient(135deg, var(--final-side-active-1), var(--final-side-active-2)) !important;
    border-color: rgba(132, 151, 172, 0.9) !important;
    box-shadow: 0 8px 14px rgba(46, 60, 75, 0.18) !important;
}

#sidebar .sidebar-nav .nav-content a {
    color: rgba(234, 240, 247, 0.94) !important;
    border-radius: 3px !important;
}

#sidebar .sidebar-nav .nav-content a i {
    color: #cdd9e6 !important;
}

#sidebar .sidebar-nav .nav-content a:hover,
#sidebar .sidebar-nav .nav-content a.active {
    background: rgba(255, 255, 255, 0.16) !important;
    border-color: rgba(255, 255, 255, 0.26) !important;
    color: #ffffff !important;
}

#sidebar .sidebar-nav .nav-content a.active {
    background: linear-gradient(135deg, var(--final-side-active-1), var(--final-side-active-2)) !important;
    border-color: rgba(132, 151, 172, 0.9) !important;
}

/* --------------------------------------------------------------
   Final Soft Professional Theme (Navbar + Sidebar only)
   Nota: override final, no toca tablas ni logica.
-------------------------------------------------------------- */
:root {
    --soft-nav-1: #2f3a46;
    --soft-nav-2: #3f4c5b;
    --soft-side-1: #364251;
    --soft-side-2: #425162;
    --soft-accent: #7a8fa6;
    --soft-accent-2: #8ea3ba;
    --soft-text: #eef3f8;
    --soft-border: rgba(238, 243, 248, 0.24);
}

#header.header {
    background: linear-gradient(120deg, var(--soft-nav-1) 0%, var(--soft-nav-2) 100%) !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1) !important;
    box-shadow: 0 8px 18px rgba(21, 29, 39, 0.24) !important;
}

#header .logo span {
    color: var(--soft-text) !important;
}

#header .toggle-sidebar-btn {
    color: var(--soft-text) !important;
    border: 1px solid var(--soft-border) !important;
    background: rgba(255, 255, 255, 0.08) !important;
    border-radius: 3px !important;
}

#header .toggle-sidebar-btn:hover {
    background: rgba(255, 255, 255, 0.16) !important;
    border-color: rgba(255, 255, 255, 0.34) !important;
}

#header .search-form input {
    border-radius: 4px !important;
    background: #f8fafc !important;
    border: 1px solid #b6c1cd !important;
    color: #263443 !important;
}

#header .search-form input::placeholder {
    color: #708191 !important;
}

#header .header-nav .nav-icon {
    color: var(--soft-text) !important;
    background: rgba(255, 255, 255, 0.08) !important;
    border-radius: 4px !important;
}

#header .header-nav .nav-profile {
    color: var(--soft-text) !important;
    background: rgba(255, 255, 255, 0.08) !important;
    border: 1px solid rgba(255, 255, 255, 0.2) !important;
    border-radius: 4px !important;
}

#header .header-nav .nav-profile img {
    border-radius: 4px !important;
}

#header .header-nav .dropdown-menu.profile,
#header .header-nav .dropdown-menu.profile.show {
    background: #ffffff !important;
    border: 1px solid #d8e0e8 !important;
    border-radius: 4px !important;
    box-shadow: 0 12px 28px rgba(25, 35, 48, 0.18) !important;
    padding: 8px !important;
    min-width: 270px !important;
}

#header .header-nav .dropdown-menu.profile .dropdown-header {
    text-align: left !important;
    padding: 8px 10px 10px !important;
}

#header .header-nav .dropdown-menu.profile .dropdown-header h6 {
    color: #253343 !important;
    font-size: 15px !important;
    font-weight: 700 !important;
}

#header .header-nav .dropdown-menu.profile .dropdown-header span {
    color: #687b8f !important;
    font-size: 12px !important;
}

#header .header-nav .dropdown-menu.profile .dropdown-item {
    color: #2d3f52 !important;
    border-radius: 3px !important;
    padding: 9px 10px !important;
    font-weight: 600 !important;
}

#header .header-nav .dropdown-menu.profile .dropdown-item i {
    color: #607488 !important;
}

#header .header-nav .dropdown-menu.profile .dropdown-item:hover {
    background: #f1f5f9 !important;
}

#header .header-nav .dropdown-menu.profile.dropdown-menu-arrow::before {
    background: #ffffff !important;
    border-top: 1px solid #d8e0e8 !important;
    border-left: 1px solid #d8e0e8 !important;
}

#sidebar.sidebar {
    background: linear-gradient(180deg, var(--soft-side-1) 0%, var(--soft-side-2) 100%) !important;
    border-right: 1px solid rgba(255, 255, 255, 0.12) !important;
    box-shadow: 8px 0 18px rgba(25, 35, 48, 0.2) !important;
}

#sidebar .sidebar-nav .nav-heading {
    color: rgba(238, 243, 248, 0.8) !important;
}

#sidebar .sidebar-nav .nav-link {
    color: var(--soft-text) !important;
    background: rgba(255, 255, 255, 0.06) !important;
    border: 1px solid rgba(255, 255, 255, 0.14) !important;
    border-radius: 4px !important;
}

#sidebar .sidebar-nav .nav-link i {
    color: #d6e0ea !important;
}

#sidebar .sidebar-nav .nav-link:hover {
    background: rgba(255, 255, 255, 0.13) !important;
    border-color: rgba(255, 255, 255, 0.24) !important;
}

#sidebar .sidebar-nav .nav-link[data-bs-toggle="collapse"]:not(.collapsed) {
    background: linear-gradient(135deg, var(--soft-accent), var(--soft-accent-2)) !important;
    border-color: rgba(128, 147, 168, 0.9) !important;
    box-shadow: 0 8px 16px rgba(44, 58, 75, 0.2) !important;
}

#sidebar .sidebar-nav .nav-content a {
    color: rgba(232, 239, 247, 0.94) !important;
    border-radius: 3px !important;
}

#sidebar .sidebar-nav .nav-content a i {
    color: #c9d7e5 !important;
}

#sidebar .sidebar-nav .nav-content a:hover,
#sidebar .sidebar-nav .nav-content a.active {
    background: rgba(255, 255, 255, 0.14) !important;
    border-color: rgba(255, 255, 255, 0.24) !important;
    color: #ffffff !important;
}

#sidebar .sidebar-nav .nav-content a.active {
    background: linear-gradient(135deg, var(--soft-accent), var(--soft-accent-2)) !important;
    border-color: rgba(128, 147, 168, 0.9) !important;
}

/* --------------------------------------------------------------
# Hard Override - Navbar/Sidebar Professional
-------------------------------------------------------------- */
:root {
    --hard-nav-bg-1: #12161c;
    --hard-nav-bg-2: #232b35;
    --hard-side-bg-1: #161b22;
    --hard-side-bg-2: #262f3a;
    --hard-accent: #c18a4a;
    --hard-text: #edf2f7;
    --hard-border: rgba(237, 242, 247, 0.2);
}

#header.header {
    background: linear-gradient(115deg, var(--hard-nav-bg-1) 0%, var(--hard-nav-bg-2) 100%) !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
    box-shadow: 0 10px 24px rgba(9, 13, 19, 0.28) !important;
}

#header .logo span {
    color: var(--hard-text) !important;
}

#header .toggle-sidebar-btn {
    border-radius: 0 !important;
    width: 36px !important;
    height: 36px !important;
    border: 1px solid var(--hard-border) !important;
    background: rgba(255, 255, 255, 0.07) !important;
    color: var(--hard-text) !important;
}

#header .toggle-sidebar-btn:hover {
    background: rgba(255, 255, 255, 0.14) !important;
    border-color: rgba(255, 255, 255, 0.34) !important;
}

#header .search-form input {
    border-radius: 3px !important;
    background: #f8fafc !important;
    border: 1px solid #adb8c4 !important;
    color: #1f2937 !important;
}

#header .search-form input::placeholder {
    color: #6b7280 !important;
}

#header .header-nav .nav-icon {
    border-radius: 3px !important;
    background: rgba(255, 255, 255, 0.08) !important;
    color: var(--hard-text) !important;
}

#header .header-nav .nav-profile {
    border-radius: 3px !important;
    border: 1px solid rgba(255, 255, 255, 0.16) !important;
    background: rgba(255, 255, 255, 0.08) !important;
    color: var(--hard-text) !important;
}

#header .header-nav .nav-profile img {
    border-radius: 2px !important;
}

#header .header-nav .dropdown-menu.profile,
#header .header-nav .dropdown-menu.profile.show {
    border-radius: 3px !important;
    border: 1px solid #d4dce5 !important;
    background: #ffffff !important;
    box-shadow: 0 14px 32px rgba(15, 23, 42, 0.22) !important;
    min-width: 270px !important;
    padding: 8px !important;
}

#header .header-nav .dropdown-menu.profile .dropdown-header {
    text-align: left !important;
    padding: 8px 10px 10px !important;
}

#header .header-nav .dropdown-menu.profile .dropdown-header h6 {
    font-size: 15px !important;
    font-weight: 700 !important;
    color: #1f2937 !important;
    margin-bottom: 2px !important;
}

#header .header-nav .dropdown-menu.profile .dropdown-header span {
    font-size: 12px !important;
    color: #6b7280 !important;
}

#header .header-nav .dropdown-menu.profile .dropdown-divider {
    border-top: 1px solid #e6edf4 !important;
    margin: 6px 0 !important;
}

#header .header-nav .dropdown-menu.profile .dropdown-item {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    border-radius: 3px !important;
    padding: 9px 10px !important;
    margin: 2px 0 !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    color: #243446 !important;
}

#header .header-nav .dropdown-menu.profile .dropdown-item i {
    color: #4b5563 !important;
}

#header .header-nav .dropdown-menu.profile .dropdown-item:hover {
    background: #f3f6fa !important;
    color: #1d2a3a !important;
}

#header .header-nav .dropdown-menu.profile.dropdown-menu-arrow::before {
    background: #ffffff !important;
    border-top: 1px solid #d4dce5 !important;
    border-left: 1px solid #d4dce5 !important;
}

#sidebar.sidebar {
    background: linear-gradient(180deg, var(--hard-side-bg-1) 0%, var(--hard-side-bg-2) 100%) !important;
    border-right: 1px solid rgba(255, 255, 255, 0.1) !important;
    box-shadow: 8px 0 20px rgba(15, 23, 42, 0.24) !important;
}

#sidebar .sidebar-nav .nav-heading {
    color: rgba(237, 242, 247, 0.76) !important;
}

#sidebar .sidebar-nav .nav-link {
    border-radius: 3px !important;
    border: 1px solid rgba(255, 255, 255, 0.12) !important;
    background: rgba(255, 255, 255, 0.05) !important;
    color: var(--hard-text) !important;
}

#sidebar .sidebar-nav .nav-link i {
    color: rgba(223, 232, 242, 0.94) !important;
}

#sidebar .sidebar-nav .nav-link:hover {
    background: rgba(255, 255, 255, 0.12) !important;
    border-color: rgba(255, 255, 255, 0.24) !important;
}

#sidebar .sidebar-nav .nav-link[data-bs-toggle="collapse"]:not(.collapsed) {
    background: linear-gradient(135deg, #8f653d, var(--hard-accent)) !important;
    border-color: rgba(150, 108, 67, 0.95) !important;
}

#sidebar .sidebar-nav .nav-content a {
    border-radius: 2px !important;
    color: rgba(231, 239, 247, 0.92) !important;
}

#sidebar .sidebar-nav .nav-content a i {
    color: #d9ad79 !important;
}

#sidebar .sidebar-nav .nav-content a:hover,
#sidebar .sidebar-nav .nav-content a.active {
    background: rgba(255, 255, 255, 0.14) !important;
    border-color: rgba(255, 255, 255, 0.24) !important;
    color: #ffffff !important;
}

#sidebar .sidebar-nav .nav-content a.active {
    background: linear-gradient(135deg, #8f653d, var(--hard-accent)) !important;
    border-color: rgba(150, 108, 67, 0.95) !important;
}

/* --------------------------------------------------------------
# Navbar Final Tuning (No Rounded Toggle + Styled Profile Dropdown)
-------------------------------------------------------------- */
.header .toggle-sidebar-btn {
    border-radius: 0;
    width: 38px;
    height: 38px;
    border: 1px solid rgba(255, 245, 232, 0.28);
    background: rgba(255, 245, 232, 0.1);
}

.header .toggle-sidebar-btn:hover {
    background: rgba(255, 245, 232, 0.18);
    border-color: rgba(255, 245, 232, 0.4);
}

.header .toggle-sidebar-btn:focus-visible {
    outline: 2px solid rgba(255, 210, 155, 0.72);
    outline-offset: 1px;
}

.header-nav .nav-profile {
    border-radius: 4px;
}

.header-nav .nav-profile img {
    border-radius: 4px !important;
}

.header-nav .dropdown-menu.profile,
.header-nav .dropdown-menu.profile.show {
    border-radius: 4px;
    border: 1px solid #d8c4ad;
    background: #fffaf3;
    box-shadow: 0 12px 26px rgba(50, 32, 20, 0.2);
    padding: 8px;
    min-width: 260px;
}

.header-nav .dropdown-menu.profile .dropdown-header {
    text-align: left;
    padding: 8px 10px 10px;
}

.header-nav .dropdown-menu.profile .dropdown-header h6 {
    color: #4a2f22;
    font-weight: 700;
    font-size: 15px;
}

.header-nav .dropdown-menu.profile .dropdown-header span {
    color: #7a634f;
    font-size: 12px;
}

.header-nav .dropdown-menu.profile .dropdown-divider {
    border-top-color: #eadccc;
    margin: 6px 0;
}

.header-nav .dropdown-menu.profile .dropdown-item {
    border-radius: 4px;
    margin: 2px 0;
    padding: 9px 10px;
    font-weight: 600;
    color: #4a2f22;
    background: transparent;
}

.header-nav .dropdown-menu.profile .dropdown-item i {
    color: #9a5c35;
}

.header-nav .dropdown-menu.profile .dropdown-item:hover {
    background: #f4e7d8;
    color: #3d261b;
}

.header-nav .dropdown-menu.profile.dropdown-menu-arrow::before {
    background: #fffaf3;
    border-top: 1px solid #d8c4ad;
    border-left: 1px solid #d8c4ad;
}

/* --------------------------------------------------------------
# Theme Final (Professional - Navbar/Sidebar)
-------------------------------------------------------------- */
:root {
    --pro-nav-950: #14171c;
    --pro-nav-900: #1d232b;
    --pro-nav-800: #2b343f;
    --pro-side-950: #171c22;
    --pro-side-900: #202730;
    --pro-side-800: #2a333d;
    --pro-accent: #be8549;
    --pro-accent-soft: #d3a16d;
    --pro-text-on-dark: #eef2f6;
    --pro-border-soft: rgba(238, 242, 246, 0.2);
}

body {
    background: linear-gradient(180deg, #f7f9fc 0%, #eef2f7 100%);
}

#main {
    border-radius: 10px 0 0 0;
}

.header {
    background: linear-gradient(110deg, var(--pro-nav-950) 0%, var(--pro-nav-800) 100%);
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    box-shadow: 0 10px 24px rgba(13, 17, 23, 0.28);
}

.logo img {
    border-radius: 4px;
}

.logo span {
    color: var(--pro-text-on-dark);
    font-weight: 700;
}

.header .toggle-sidebar-btn {
    color: var(--pro-text-on-dark);
    border-radius: 2px;
    border: 1px solid var(--pro-border-soft);
    background: rgba(255, 255, 255, 0.06);
}

.header .toggle-sidebar-btn:hover {
    border-color: rgba(255, 255, 255, 0.3);
    background: rgba(255, 255, 255, 0.12);
}

.header .search-form input {
    border-radius: 4px;
    background: #f8fafc;
    border-color: #aab4c0;
    color: #1f2937;
}

.header .search-form input::placeholder {
    color: #6b7280;
}

.header-nav .nav-icon {
    color: var(--pro-text-on-dark);
    border-radius: 4px;
    background: rgba(255, 255, 255, 0.08);
}

.header-nav .nav-profile {
    color: var(--pro-text-on-dark);
    border-radius: 4px;
    background: rgba(255, 255, 255, 0.08);
    border-color: rgba(255, 255, 255, 0.18);
}

.header-nav .nav-profile img {
    border-radius: 4px !important;
}

.header-nav .dropdown-menu.profile,
.header-nav .dropdown-menu.profile.show {
    border-radius: 4px;
    border: 1px solid #cfd7e0;
    background: #ffffff;
    box-shadow: 0 14px 28px rgba(15, 23, 42, 0.18);
}

.header-nav .dropdown-menu.profile .dropdown-header h6 {
    color: #1f2937;
}

.header-nav .dropdown-menu.profile .dropdown-header span {
    color: #6b7280;
}

.header-nav .dropdown-menu.profile .dropdown-item {
    border-radius: 3px;
    color: #243242;
}

.header-nav .dropdown-menu.profile .dropdown-item i {
    color: #4b5563;
}

.header-nav .dropdown-menu.profile .dropdown-item:hover {
    background: #f3f6fa;
}

.header-nav .dropdown-menu.profile.dropdown-menu-arrow::before {
    background: #ffffff;
    border-top: 1px solid #cfd7e0;
    border-left: 1px solid #cfd7e0;
}

.sidebar {
    background: linear-gradient(180deg, var(--pro-side-950) 0%, var(--pro-side-800) 100%);
    border-right: 1px solid rgba(255, 255, 255, 0.1);
    box-shadow: 8px 0 22px rgba(15, 23, 42, 0.22);
}

.sidebar-nav .nav-heading {
    color: rgba(238, 242, 246, 0.76);
}

.sidebar-nav .nav-link {
    border-radius: 4px;
    border: 1px solid rgba(255, 255, 255, 0.12);
    background: rgba(255, 255, 255, 0.05);
    color: var(--pro-text-on-dark);
}

.sidebar-nav .nav-link i {
    color: rgba(218, 227, 240, 0.95);
}

.sidebar-nav .nav-link:hover {
    background: rgba(255, 255, 255, 0.12);
    border-color: rgba(255, 255, 255, 0.24);
    transform: none;
}

.sidebar-nav .nav-link[data-bs-toggle="collapse"]:not(.collapsed) {
    background: linear-gradient(135deg, #8a6238, var(--pro-accent));
    border-color: rgba(146, 106, 64, 0.96);
    box-shadow: 0 8px 16px rgba(58, 36, 21, 0.26);
}

.sidebar-nav .nav-content a {
    border-radius: 3px;
    color: rgba(232, 238, 246, 0.92);
}

.sidebar-nav .nav-content a i {
    color: var(--pro-accent-soft);
}

.sidebar-nav .nav-content a:hover,
.sidebar-nav .nav-content a.active {
    background: rgba(255, 255, 255, 0.14);
    border-color: rgba(255, 255, 255, 0.26);
    color: #ffffff;
    transform: none;
}

.sidebar-nav .nav-content a.active {
    background: linear-gradient(135deg, #8a6238, var(--pro-accent));
    border-color: rgba(146, 106, 64, 0.96);
    box-shadow: 0 8px 16px rgba(58, 36, 21, 0.26);
}


/* --------------------------------------------------------------
   ENTERPRISE SKY FINAL END LAYER
-------------------------------------------------------------- */
body #header.header,
body .header {
    background: #0f82cd !important;
    border-bottom: 1px solid #0b6faa !important;
    box-shadow: 0 2px 10px rgba(9, 46, 78, 0.28) !important;
}

body #header .logo span,
body .header .logo span,
body #header .toggle-sidebar-btn,
body .header .toggle-sidebar-btn,
body .header-nav .nav-icon {
    color: #ffffff !important;
}

body #header .toggle-sidebar-btn,
body .header .toggle-sidebar-btn,
body .bi.bi-list.toggle-sidebar-btn,
body .header-nav .nav-icon {
    border-radius: 0 !important;
    border: 1px solid #58a8dd !important;
    background: rgba(255, 255, 255, 0.14) !important;
    box-shadow: none !important;
}

body #header .toggle-sidebar-btn:hover,
body .header .toggle-sidebar-btn:hover,
body .bi.bi-list.toggle-sidebar-btn:hover,
body .header-nav .nav-icon:hover {
    background: rgba(255, 255, 255, 0.24) !important;
    border-color: #84c0e7 !important;
    color: #ffffff !important;
}

body .header-nav .nav-profile {
    border-radius: 0 !important;
    background: rgba(255, 255, 255, 0.16) !important;
    border: 1px solid #63afe0 !important;
    box-shadow: none !important;
}

body .header-nav .nav-profile img {
    border-radius: 0 !important;
}

body .header-nav .nav-profile span,
body .header-nav .nav-profile i {
    color: #ffffff !important;
}

body .header-nav .dropdown-menu.profile,
body .header-nav .dropdown-menu.dropdown-menu-end.dropdown-menu-arrow.profile,
body .header-nav .dropdown-menu.dropdown-menu-end.dropdown-menu-arrow.profile.show {
    border-radius: 0 !important;
    background: #ffffff !important;
    border: 1px solid #b8d7ec !important;
    box-shadow: 0 8px 18px rgba(24, 54, 79, 0.14) !important;
}

body .header-nav .dropdown-menu.profile .dropdown-item {
    border-radius: 0 !important;
    color: #000000 !important;
}

body .header-nav .dropdown-menu.profile .dropdown-item i {
    color: #000000 !important;
}

body .header-nav .dropdown-menu.profile .dropdown-item:hover {
    background: #eaf4fc !important;
}

body .header-nav .dropdown-menu.profile.dropdown-menu-arrow::before {
    background: #ffffff !important;
    border-top: 1px solid #b8d7ec !important;
    border-left: 1px solid #b8d7ec !important;
}

body #sidebar.sidebar,
body .sidebar {
    background: #1b6f9f !important;
    border-right: 1px solid rgba(255, 255, 255, 0.12) !important;
    box-shadow: 4px 0 14px rgba(10, 44, 71, 0.22) !important;
}

body #sidebar .sidebar-nav .nav-heading,
body .sidebar .sidebar-nav .nav-heading {
    color: rgba(255, 255, 255, 0.72) !important;
}

body #sidebar .sidebar-nav .nav-link,
body .sidebar .sidebar-nav .nav-link {
    border-radius: 0 !important;
    background: #257aae !important;
    border: 1px solid #4d97c4 !important;
    color: #ffffff !important;
    box-shadow: none !important;
}

body #sidebar .sidebar-nav .nav-link i,
body .sidebar .sidebar-nav .nav-link i {
    color: #ffffff !important;
}

body #sidebar .sidebar-nav .nav-link:hover,
body .sidebar .sidebar-nav .nav-link:hover {
    background: #2f89c1 !important;
    border-color: #78b5d8 !important;
    transform: none !important;
}

body #sidebar .sidebar-nav .nav-link[data-bs-toggle="collapse"]:not(.collapsed),
body #sidebar .sidebar-nav .nav-link.active,
body .sidebar .sidebar-nav .nav-link[data-bs-toggle="collapse"]:not(.collapsed),
body .sidebar .sidebar-nav .nav-link.active {
    background: #3c9fdc !important;
    border-color: #98c9e8 !important;
    color: #ffffff !important;
    box-shadow: none !important;
}

body #sidebar .sidebar-nav .nav-content a,
body .sidebar .sidebar-nav .nav-content a {
    border-radius: 0 !important;
    color: #ffffff !important;
}

body #sidebar .sidebar-nav .nav-content a:hover,
body .sidebar .sidebar-nav .nav-content a:hover {
    background: #2f89c1 !important;
    border-color: transparent !important;
}

body #sidebar .sidebar-nav .nav-content a.active,
body .sidebar .sidebar-nav .nav-content a.active {
    background: #3c9fdc !important;
    border-color: #98c9e8 !important;
    color: #ffffff !important;
}

/* --------------------------------------------------------------
   CRUD FORM BUTTONS - FINAL (por ID, sin afectar todo el sistema)
-------------------------------------------------------------- */
body #btn_guardar_form.btn,
body #btn_guardar_form.btn-outline-success,
body #btn_guardar_form.btn-success {
    border-radius: 2px !important;
    font-weight: 600 !important;
    background: #0a9772 !important;
    border-color: #0a9772 !important;
    color: #ffffff !important;
    box-shadow: none !important;
}

body #btn_guardar_form.btn:hover,
body #btn_guardar_form.btn-outline-success:hover,
body #btn_guardar_form.btn-success:hover {
    background: #087f61 !important;
    border-color: #087f61 !important;
    color: #ffffff !important;
}

body #btn_reset_form.btn,
body #btn_reset_form.btn-outline-secondary,
body #btn_reset_form.btn-secondary {
    border-radius: 2px !important;
    font-weight: 600 !important;
    background: #1f7fb8 !important;
    border-color: #1f7fb8 !important;
    color: #ffffff !important;
    box-shadow: none !important;
}

body #btn_reset_form.btn:hover,
body #btn_reset_form.btn-outline-secondary:hover,
body #btn_reset_form.btn-secondary:hover {
    background: #1a6e9e !important;
    border-color: #1a6e9e !important;
    color: #ffffff !important;
}

/* --------------------------------------------------------------
   Navbar - Alerta Stock Minimo
-------------------------------------------------------------- */
body #header .header-nav .stock-alerts {
    min-width: 320px !important;
    max-width: 360px !important;
    max-height: 420px !important;
    overflow-y: auto !important;
}

body #header .header-nav .stock-alerts .dropdown-header {
    text-align: left !important;
    font-weight: 700 !important;
    color: #1f2937 !important;
}

body #header .header-nav .stock-alerts .stock-item {
    display: flex !important;
    align-items: flex-start !important;
    gap: 10px !important;
    padding: 10px 12px !important;
}

body #header .header-nav .stock-alerts .stock-item i {
    margin-top: 2px !important;
    margin-right: 0 !important;
    font-size: 12px !important;
}

body #header .header-nav .stock-alerts .stock-item h4 {
    margin: 0 0 2px 0 !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    color: #111827 !important;
}

body #header .header-nav .stock-alerts .stock-item p {
    margin: 0 !important;
    font-size: 12px !important;
    color: #4b5563 !important;
    line-height: 1.3 !important;
}

body #header .header-nav .stock-alerts .stock-critico i {
    color: #dc2626 !important;
}

body #header .header-nav .stock-alerts .stock-bajo i {
    color: #d97706 !important;
}

body #header .header-nav .stock-alerts .stock-minimo i {
    color: #0284c7 !important;
}

body #header .header-nav .stock-alerts .stock-ok i {
    color: #16a34a !important;
}

/* --------------------------------------------------------------
   Navbar - Dropdown Notificaciones
-------------------------------------------------------------- */
body #header .search-bar {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
}

body #header .search-bar .search-form {
    flex: 1 1 auto !important;
    width: auto !important;
}

body #header .search-notify-trigger {
    margin-right: 0 !important;
    position: relative !important;
}

body #header .search-notify-dropdown .notify-summary {
    min-width: 360px !important;
    max-width: 380px !important;
    padding: 8px !important;
}

body #header .search-notify-dropdown .notify-summary .dropdown-header {
    text-align: left !important;
    font-weight: 700 !important;
    color: #1f2937 !important;
}

body #header .search-notify-dropdown .notify-summary .notify-line {
    padding: 8px 10px !important;
    background: #f8fbff !important;
    border: 1px solid #e2e8f0 !important;
    margin: 4px 0 !important;
}

body #header .search-notify-dropdown .notify-summary .notify-line .notify-line-link {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
    width: 100% !important;
    color: inherit !important;
}

body #header .search-notify-dropdown .notify-summary .notify-line .notify-line-link:hover {
    text-decoration: none !important;
}

body #header .search-notify-dropdown .notify-summary .notify-line span {
    font-size: 12px !important;
    color: #334155 !important;
}

body #header .search-notify-dropdown .notify-summary .notify-line strong {
    font-size: 13px !important;
    font-weight: 700 !important;
}

body #header .search-notify-dropdown .notify-summary .notify-optimo strong {
    color: #16a34a !important;
}

body #header .search-notify-dropdown .notify-summary .notify-medio strong {
    color: #d97706 !important;
}

body #header .search-notify-dropdown .notify-summary .notify-minimo strong {
    color: #dc2626 !important;
}

body #header .mobile-notify-dropdown .notify-summary {
    min-width: 360px !important;
    max-width: 380px !important;
    padding: 8px !important;
}

body #header .mobile-notify-dropdown .notify-summary .dropdown-header {
    text-align: left !important;
    font-weight: 700 !important;
    color: #1f2937 !important;
}

body #header .mobile-notify-dropdown .notify-summary .notify-line {
    padding: 8px 10px !important;
    background: #f8fbff !important;
    border: 1px solid #e2e8f0 !important;
    margin: 4px 0 !important;
}

body #header .mobile-notify-dropdown .notify-summary .notify-line .notify-line-link {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
    width: 100% !important;
    color: inherit !important;
}

body #header .mobile-notify-dropdown .notify-summary .notify-line .notify-line-link:hover {
    text-decoration: none !important;
}

body #header .mobile-notify-dropdown .notify-summary .notify-line span {
    font-size: 12px !important;
    color: #334155 !important;
}

body #header .mobile-notify-dropdown .notify-summary .notify-line strong {
    font-size: 13px !important;
    font-weight: 700 !important;
}

body #header .mobile-notify-dropdown .notify-summary .notify-optimo strong {
    color: #16a34a !important;
}

body #header .mobile-notify-dropdown .notify-summary .notify-medio strong {
    color: #d97706 !important;
}

body #header .mobile-notify-dropdown .notify-summary .notify-minimo strong {
    color: #dc2626 !important;
}

@media (max-width: 1199px) {
    body #header .search-notify-dropdown {
        display: none !important;
    }

    body #header .mobile-notify-dropdown {
        display: block !important;
    }
}

/*!*****************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/styles/tables.css ***!
  \*****************************************************************************************************************/
/* Estilos generales para la tabla */
.estilos_generales {
    width: 100%;
    max-width: 100%;
    overflow-x: auto;
    display: block;
    margin: auto;
    border-collapse: collapse;
    font-family: 'Roboto', Arial, sans-serif;
    background: #f9fbfc;
    color: #003E51;
    border: 1px solid #c9e7f0;
    border-radius: 8px;
}

.estilos_generales th {
    font-size: 15px;
    font-weight: bold;
    padding: 12px 13px;
    background: #e2f4f9;
    color: #004b60;
    border-bottom: 1px solid #c0e0ea;
    text-align: left;
    white-space: nowrap;
}

.estilos_generales td {
    padding: 8px;
    font-size: 13px;
    background: #ffffff;
    color: #003E51;
    border-bottom: 1px solid #f0f0f0;
    white-space: nowrap;
}

.estilos_generales tbody tr:hover {
    background-color: #f0fbff;
}


/* Scroll para el toolbar */
[id^="toolbar_"] {
    display: flex;
    flex-wrap: nowrap;
    overflow-x: auto;
    gap: 8px;
    padding: 6px 0;
    max-width: 100%;
    scrollbar-width: thin;
    scrollbar-color: #ccc transparent;
    white-space: nowrap;
}

[id^="toolbar_"] > * {
    flex: 0 0 auto; /* evita que se expandan */
}

[id^="toolbar_"]::-webkit-scrollbar {
    height: 6px;
}

[id^="toolbar_"]::-webkit-scrollbar-thumb {
    background: #ccc;
    border-radius: 4px;
}


/* Para pantallas pequeÃ±as */
@media (max-width: 767px) {
    [id^="toolbar_"] {
        flex-direction: row;
        flex-wrap: nowrap;
        overflow-x: auto;
        width: 100%;
    }

    [id^="toolbar_"] button {
        flex: 0 0 auto;
        font-size: 14px;
    }

    .estilos_generales {
        overflow-x: auto;
        display: block;
        width: 100%;
    }

    .estilos_generales th,
    .estilos_generales td {
        white-space: nowrap;
    }
}


/* Botones generales personalizados */

/* Estilo comÃºn para todos los botones */

/* Hover de botones */

/* Botones deshabilitados */

/* BotÃ³n peligro */

/* BotÃ³n Ã©xito */

/* BotÃ³n advertencia */

/* BotÃ³n secundario */

/* --------------------------------------------------------------
   Ajuste visual profesional (sin cambiar clases)
-------------------------------------------------------------- */
.estilos_generales {
    background: #f8fafc;
    color: #2b3f55;
    border-color: #d4dee9;
    border-radius: 6px;
    box-shadow: 0 8px 18px rgba(15, 23, 42, 0.08);
}

.estilos_generales th {
    background: #edf3f9;
    color: #31495f;
    border-bottom-color: #d4dee9;
}

.estilos_generales td {
    color: #2b3f55;
    border-bottom-color: #e8eef5;
}

.estilos_generales tbody tr:nth-child(even) td {
    background: #f9fcff;
}

.estilos_generales tbody tr:hover td {
    background-color: #edf4fb;
}

[id^="toolbar_"] {
    scrollbar-color: #b9c7d6 transparent;
}

[id^="toolbar_"]::-webkit-scrollbar-thumb {
    background: #b9c7d6;
}


/* --------------------------------------------------------------
   Final Override - Full Width + Pleasant Table Layout
   (Mantiene clases existentes)
-------------------------------------------------------------- */
table.estilos_generales {
    width: 100% !important;
    max-width: 100% !important;
    display: table !important;
    margin: 0 !important;
}

.bootstrap-table,
.bootstrap-table .fixed-table-container,
.bootstrap-table .fixed-table-body,
.bootstrap-table .table {
    width: 100% !important;
    max-width: 100% !important;
}

.bootstrap-table .fixed-table-container {
    border-radius: 6px !important;
    border-color: #d4deea !important;
    box-shadow: 0 8px 18px rgba(30, 41, 59, 0.08) !important;
}

.bootstrap-table .table thead th {
    background: #edf3f9 !important;
    color: #334c64 !important;
    border-bottom: 1px solid #d4deea !important;
    text-align: center !important;
}

.bootstrap-table .table tbody td {
    color: #2f455d !important;
    text-align: center !important;
}

.bootstrap-table .table tbody tr:nth-child(even) td {
    background: #f8fbff !important;
}

.bootstrap-table .table tbody tr:hover td {
    background: #edf4fb !important;
}

.bootstrap-table .fixed-table-pagination {
    background: #f6f9fd !important;
}

.bootstrap-table .fixed-table-pagination .page-item.active .page-link {
    background: #3f5f80 !important;
    border-color: #3f5f80 !important;
}

/* --------------------------------------------------------------
   Final Professional Tables (sin cambiar clases existentes)
-------------------------------------------------------------- */
:root {
    --tbl-surface: #f6fafd;
    --tbl-head-bg: #e5eef6;
    --tbl-head-text: #000000;
    --tbl-cell-text: #000000;
    --tbl-line: #cfe0ec;
    --tbl-row-alt: #fafdff;
    --tbl-row-hover: #edf5fb;
    --tbl-page-active: #4f87ad;
}

table.estilos_generales,
.bootstrap-table .table.estilos_generales,
.bootstrap-table .table {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    table-layout: auto !important;
    border-collapse: separate !important;
    border-spacing: 0 !important;
}

.bootstrap-table,
.bootstrap-table .fixed-table-container,
.bootstrap-table .fixed-table-body {
    width: 100% !important;
    max-width: 100% !important;
}

.bootstrap-table .fixed-table-container {
    background: #ffffff !important;
    border: 1px solid var(--tbl-line) !important;
    border-radius: 3px !important;
    box-shadow: 0 8px 16px rgba(29, 63, 90, 0.1) !important;
}

.estilos_generales {
    background: var(--tbl-surface) !important;
    border-color: var(--tbl-line) !important;
    border-radius: 3px !important;
}

.estilos_generales th,
.bootstrap-table .table thead th {
    background: var(--tbl-head-bg) !important;
    color: var(--tbl-head-text) !important;
    border-bottom: 1px solid var(--tbl-line) !important;
    font-weight: 700 !important;
    text-align: left !important;
    vertical-align: middle !important;
}

.estilos_generales td,
.bootstrap-table .table tbody td {
    color: var(--tbl-cell-text) !important;
    border-bottom: 1px solid #e5ebf3 !important;
    text-align: left !important;
    vertical-align: middle !important;
}

.estilos_generales tbody tr:nth-child(even) td,
.bootstrap-table .table tbody tr:nth-child(even) td {
    background: var(--tbl-row-alt) !important;
}

.estilos_generales tbody tr:hover td,
.bootstrap-table .table tbody tr:hover td {
    background: var(--tbl-row-hover) !important;
}

.bootstrap-table .fixed-table-pagination {
    background: #f2f8fd !important;
    border-top: 1px solid #d5e5f1 !important;
}

.bootstrap-table .fixed-table-pagination .page-link {
    color: #000000 !important;
    border-color: #ccdeeb !important;
    border-radius: 2px !important;
}

.bootstrap-table .fixed-table-pagination .page-item.active .page-link {
    background: var(--tbl-page-active) !important;
    border-color: var(--tbl-page-active) !important;
    color: #fff !important;
}

.bootstrap-table .fixed-table-pagination .page-link:hover {
    background: #e7f1f9 !important;
    color: #000000 !important;
}

/* --------------------------------------------------------------
   ENTERPRISE SKY TABLES FINAL END LAYER
-------------------------------------------------------------- */
:root {
    --tbl-surface: #f5fafe;
    --tbl-head-bg: #dcecf8;
    --tbl-head-text: #000000;
    --tbl-cell-text: #000000;
    --tbl-line: #c8dced;
    --tbl-row-alt: #fbfdff;
    --tbl-row-hover: #eaf4fc;
    --tbl-page-active: #3380b6;
}

table.estilos_generales,
.bootstrap-table .table.estilos_generales,
.bootstrap-table .table {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    table-layout: auto !important;
    border-collapse: separate !important;
    border-spacing: 0 !important;
}

.bootstrap-table,
.bootstrap-table .fixed-table-container,
.bootstrap-table .fixed-table-body {
    width: 100% !important;
    max-width: 100% !important;
}

.bootstrap-table .fixed-table-container {
    background: #ffffff !important;
    border: 1px solid var(--tbl-line) !important;
    border-radius: 3px !important;
    box-shadow: 0 6px 14px rgba(21, 59, 89, 0.1) !important;
}

.estilos_generales {
    background: var(--tbl-surface) !important;
    border-color: var(--tbl-line) !important;
    border-radius: 3px !important;
}

.estilos_generales th,
.bootstrap-table .table thead th {
    background: var(--tbl-head-bg) !important;
    color: var(--tbl-head-text) !important;
    border-bottom: 1px solid var(--tbl-line) !important;
    font-weight: 700 !important;
    text-align: left !important;
    vertical-align: middle !important;
}

.estilos_generales td,
.bootstrap-table .table tbody td {
    color: var(--tbl-cell-text) !important;
    border-bottom: 1px solid #deebf5 !important;
    text-align: left !important;
    vertical-align: middle !important;
}

.estilos_generales tbody tr:nth-child(even) td,
.bootstrap-table .table tbody tr:nth-child(even) td {
    background: var(--tbl-row-alt) !important;
}

.estilos_generales tbody tr:hover td,
.bootstrap-table .table tbody tr:hover td {
    background: var(--tbl-row-hover) !important;
}

.bootstrap-table .fixed-table-pagination {
    background: #f1f8fe !important;
    border-top: 1px solid #d2e4f2 !important;
}

.bootstrap-table .fixed-table-pagination .page-link {
    color: #000000 !important;
    border-color: #c8dced !important;
    border-radius: 2px !important;
}

.bootstrap-table .fixed-table-pagination .page-link:hover {
    background: #e6f2fb !important;
    color: #000000 !important;
}

.bootstrap-table .fixed-table-pagination .page-item.active .page-link {
    background: var(--tbl-page-active) !important;
    border-color: var(--tbl-page-active) !important;
    color: #ffffff !important;
}

/* Botones de tablas y toolbar en línea profesional */
[id^="toolbar_"] .btn,
[id^="toolbar_"] .btn-custom,
[id^="toolbar_"] .btn-custom-text,
.bootstrap-table .fixed-table-toolbar .btn,
table.estilos_generales .btn {
    border-radius: 3px !important;
    font-weight: 600 !important;
    box-shadow: none !important;
    border-width: 1px !important;
}

[id^="toolbar_"] .btn.btn-primary,
[id^="toolbar_"] .btn-custom,
[id^="toolbar_"] .btn-custom-text,
.bootstrap-table .fixed-table-toolbar .btn.btn-primary,
table.estilos_generales .btn.btn-primary {
    background: #0f82cd !important;
    border-color: #0f82cd !important;
    color: #ffffff !important;
}

[id^="toolbar_"] .btn.btn-primary:hover,
[id^="toolbar_"] .btn-custom:hover,
[id^="toolbar_"] .btn-custom-text:hover,
.bootstrap-table .fixed-table-toolbar .btn.btn-primary:hover,
table.estilos_generales .btn.btn-primary:hover {
    background: #0d70b0 !important;
    border-color: #0d70b0 !important;
    color: #ffffff !important;
}

[id^="toolbar_"] .btn.btn-secondary,
.bootstrap-table .fixed-table-toolbar .btn.btn-secondary,
table.estilos_generales .btn.btn-secondary {
    background: #2f78ab !important;
    border-color: #2f78ab !important;
    color: #ffffff !important;
}

[id^="toolbar_"] .btn.btn-secondary:hover,
.bootstrap-table .fixed-table-toolbar .btn.btn-secondary:hover,
table.estilos_generales .btn.btn-secondary:hover {
    background: #286a97 !important;
    border-color: #286a97 !important;
    color: #ffffff !important;
}

[id^="toolbar_"] .btn.btn-success,
.bootstrap-table .fixed-table-toolbar .btn.btn-success,
table.estilos_generales .btn.btn-success {
    background: #0a9772 !important;
    border-color: #0a9772 !important;
    color: #ffffff !important;
}

[id^="toolbar_"] .btn.btn-success:hover,
.bootstrap-table .fixed-table-toolbar .btn.btn-success:hover,
table.estilos_generales .btn.btn-success:hover {
    background: #087f61 !important;
    border-color: #087f61 !important;
    color: #ffffff !important;
}

[id^="toolbar_"] .btn.btn-warning,
.bootstrap-table .fixed-table-toolbar .btn.btn-warning,
table.estilos_generales .btn.btn-warning {
    background: #ab7624 !important;
    border-color: #ab7624 !important;
    color: #ffffff !important;
}

[id^="toolbar_"] .btn.btn-warning:hover,
.bootstrap-table .fixed-table-toolbar .btn.btn-warning:hover,
table.estilos_generales .btn.btn-warning:hover {
    background: #92651f !important;
    border-color: #92651f !important;
    color: #ffffff !important;
}

[id^="toolbar_"] .btn.btn-danger,
.bootstrap-table .fixed-table-toolbar .btn.btn-danger,
table.estilos_generales .btn.btn-danger {
    background: #b54545 !important;
    border-color: #b54545 !important;
    color: #ffffff !important;
}

[id^="toolbar_"] .btn.btn-danger:hover,
.bootstrap-table .fixed-table-toolbar .btn.btn-danger:hover,
table.estilos_generales .btn.btn-danger:hover {
    background: #9b3b3b !important;
    border-color: #9b3b3b !important;
    color: #ffffff !important;
}

/* --------------------------------------------------------------
   TOOLBAR BUTTONS (utilMax) - FINAL por ID
-------------------------------------------------------------- */
#btn_nuevo,
#btn_remove_all,
#btn_estado_all,
#btn_carga_masiva,
#btn_descargar_excel {
    border-radius: 2px !important;
    font-weight: 600 !important;
    box-shadow: none !important;
    border-width: 1px !important;
    color: #ffffff !important;
}

#btn_nuevo {
    background: #0f82cd !important;
    border-color: #0f82cd !important;
}

#btn_nuevo:hover {
    background: #0d70b0 !important;
    border-color: #0d70b0 !important;
}

#btn_remove_all {
    background: #c54545 !important;
    border-color: #c54545 !important;
}

#btn_remove_all:hover {
    background: #a93a3a !important;
    border-color: #a93a3a !important;
}

#btn_estado_all {
    background: #1e9ad8 !important;
    border-color: #1e9ad8 !important;
}

#btn_estado_all:hover {
    background: #1a86bc !important;
    border-color: #1a86bc !important;
}

#btn_carga_masiva {
    background: #0a9772 !important;
    border-color: #0a9772 !important;
}

#btn_carga_masiva:hover {
    background: #087f61 !important;
    border-color: #087f61 !important;
}

#btn_descargar_excel {
    background: #148a53 !important;
    border-color: #148a53 !important;
}

#btn_descargar_excel:hover {
    background: #117647 !important;
    border-color: #117647 !important;
}

/* ==============================================================
   MOBILE ICON-ONLY HARD LOCK (EOF winner)
============================================================== */
@media (max-width: 767px) {
    body .bootstrap-table .fixed-table-toolbar .btn,
    body .bootstrap-table .fixed-table-toolbar .columns .btn,
    body [id^="toolbar_"] .btn,
    body .bootstrap-table .table tbody td .btn,
    body .bootstrap-table .table tbody td .accion-informe,
    body .estilos_generales tbody td .btn,
    body .estilos_generales tbody td .accion-informe {
        width: 34px !important;
        min-width: 34px !important;
        max-width: 34px !important;
        height: 34px !important;
        min-height: 34px !important;
        max-height: 34px !important;
        padding: 0 !important;
        border-radius: 9px !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 0 !important;
        font-size: 0 !important;
        line-height: 0 !important;
        overflow: hidden !important;
        white-space: nowrap !important;
    }

    body .bootstrap-table .fixed-table-toolbar .btn i,
    body .bootstrap-table .fixed-table-toolbar .columns .btn i,
    body [id^="toolbar_"] .btn i,
    body [id^="toolbar_"] .btn .fa,
    body [id^="toolbar_"] .btn .fas,
    body [id^="toolbar_"] .btn .far,
    body [id^="toolbar_"] .btn .fab,
    body [id^="toolbar_"] .btn .ri,
    body .bootstrap-table .table tbody td .btn i,
    body .bootstrap-table .table tbody td .btn .fa,
    body .bootstrap-table .table tbody td .btn .fas,
    body .bootstrap-table .table tbody td .btn .far,
    body .bootstrap-table .table tbody td .btn .fab,
    body .bootstrap-table .table tbody td .btn .ri,
    body .bootstrap-table .table tbody td .accion-informe i,
    body .bootstrap-table .table tbody td .accion-informe .fa,
    body .bootstrap-table .table tbody td .accion-informe .fas,
    body .bootstrap-table .table tbody td .accion-informe .far,
    body .bootstrap-table .table tbody td .accion-informe .fab,
    body .bootstrap-table .table tbody td .accion-informe .ri,
    body .estilos_generales tbody td .btn i,
    body .estilos_generales tbody td .accion-informe i {
        font-size: 15px !important;
        line-height: 1 !important;
        margin: 0 !important;
    }

    body .bootstrap-table .fixed-table-toolbar .btn small,
    body .bootstrap-table .fixed-table-toolbar .btn span,
    body [id^="toolbar_"] .btn small,
    body [id^="toolbar_"] .btn span,
    body .bootstrap-table .table tbody td .btn small,
    body .bootstrap-table .table tbody td .btn span,
    body .bootstrap-table .table tbody td .accion-informe small,
    body .bootstrap-table .table tbody td .accion-informe span,
    body .estilos_generales tbody td .btn small,
    body .estilos_generales tbody td .btn span,
    body .estilos_generales tbody td .accion-informe small,
    body .estilos_generales tbody td .accion-informe span {
        display: none !important;
    }
}

/* Estado en filas: mantener formato normal en movil */
@media (max-width: 767px) {
    body .bootstrap-table .table tbody td .btn.estado,
    body .estilos_generales tbody td .btn.estado {
        width: auto !important;
        min-width: 78px !important;
        max-width: none !important;
        height: 30px !important;
        min-height: 30px !important;
        max-height: none !important;
        padding: 0 10px !important;
        font-size: 11px !important;
        line-height: 1 !important;
        gap: 4px !important;
        overflow: visible !important;
        white-space: nowrap !important;
    }

    body .bootstrap-table .table tbody td .btn.estado small,
    body .bootstrap-table .table tbody td .btn.estado span,
    body .estilos_generales tbody td .btn.estado small,
    body .estilos_generales tbody td .btn.estado span {
        display: inline !important;
        font-size: 11px !important;
        line-height: 1 !important;
    }
}

/*!*****************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/styles/vistas.css ***!
  \*****************************************************************************************************************/
/* Estilos para el contenedor de WhatsApp */
.whatsapp-container {
    position: fixed;
    bottom: 20px;
    right: 15px;
    background-color: #25D366; /* Color de fondo de WhatsApp */
    padding: 10px;
    border-radius: 5px;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
    z-index: 2; /* Asegura que WhatsApp esté encima de Telegram */
}

/* Estilos para el contenedor de Telegram */
.telegram-container {
    position: fixed;
    bottom: 65px; /* Ajusta la posición para que esté debajo de WhatsApp */
    right: 16px;
    background-color: #0088cc; /* Color de fondo de Telegram */
    padding: 12px;
    border-radius: 5px;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
    z-index: 1; /* Asegura que Telegram esté debajo de WhatsApp */
}

/* Estilos para el enlace de WhatsApp y Telegram */
.whatsapp-link, .telegram-link {
    text-decoration: none;
    color: #fff; /* Color del texto */
    display: flex;
    align-items: center;
}

/* Estilos para el ícono de WhatsApp y Telegram */
.whatsapp-icon, .telegram-icon {
    font-size: 24px; /* Tamaño del ícono */
    margin-right: 10px;
}

/* Estilos para el texto de WhatsApp y Telegram */
.whatsapp-text, .telegram-text {
    font-size: 14px;
}

/* Ocultar los controles de número en Chrome, Safari, Edge y Opera */
input[type="number"]::-webkit-outer-spin-button,
input[type="number"]::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

/* Ocultar los controles de número en Firefox */
input[type="number"] {
    -moz-appearance: textfield;
}
/*!**************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/styles/app.css ***!
  \**************************************************************************************************************/
/* ================================
   APP.SCSS — ORDEN CORRECTO
================================ */

/* --- Frameworks base --- */

/* --- Plugins de tablas --- */

/* --- jQuery UI --- */

/* --- Alertas & Notificaciones --- */

/* --- Editores --- */

/* --- Iconos extras --- */

/* --- Pickr (Color Picker) --- */

/* --- Estilos personalizados del proyecto --- */

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