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

:root {
    --gp-primary-color: #bf3027;
    --eco-primary-color: #00a388;
}

.bg-gp-primary {
    background: var(--gp-primary-color);
}

.bg-eco-primary {
    background: var(--eco-primary-color);
}

.text-gp-primary {
    color: var(--gp-primary-color);
}

.text-hidden {
    opacity: 0 !important;
}

.list-group-item-link:hover {
    background: #cfe2ff;
}

.bg-black-20 {
    background: rgb(0 0 0 / 20%);
}

/**
POSITIONS
 */

.justify-self-center {
    justify-self: center;
}

.input-qte {
    width: 5em;
}

.linkable-accessoires .input-qte {
    width: 3em;
}

.pagination {
    justify-content: center;
}

.grid-title {
    grid-column: 1 / -1;
}

.grid-fill {
    grid-column: 1 / -1;
}

.d-flex h1 {
    margin: 0;
}

.action-buttons {
    grid-column: span 2;
}


/**
BUTTONS
 */

.btn-outline-success.disabled {
    border: none !important;
    opacity: initial !important;
}

.content-half > div,
.content-half > .btn {
    flex: 1 0 50%;
}

/**
TABLES
 */
.table-fixed {
    table-layout: fixed;
}

/**
STRUCTURE
 */

html,
body {
    height: 100vh;
}

body {
    display: grid;
    grid-template-columns: 100vw;
    grid-template-rows: repeat(4, auto) 1fr auto;
}

.span-2 {
    grid-column: span 2;
}

/**
FOOTER
 */

.footer-inner {
    grid-template-columns: 1fr;
}

footer h2 {
    font-size: 1rem;
}

footer p,
footer a {
    font-size: 0.8rem;
}

@media (min-width: 768px) {
    .footer-inner {
        grid-template-columns: repeat(2, 1fr);
        grid-template-rows: auto auto 1fr;
        grid-template-areas:
            "about about"
            "contact network"
            "contact newsletter";
        gap: 1em;
    }

    .about-us {
        grid-area: about;
    }

    .contact-info {
        grid-area: contact;
    }

    .social-network {
        grid-area: network;
    }

    .newsletter {
        grid-area: newsletter;
    }
}

@media (min-width: 992px) {

    .footer-inner {
        grid-template-columns: 2fr 1fr 1fr;
        grid-template-rows: auto 1fr;
        grid-template-areas:
            "about contact network"
            "about contact newsletter";
        gap: 1em 1.5em;
    }
}

@media (min-width: 1200px) {
    footer h2 {
        font-size: 1.5rem;
    }

    footer p,
    footer a .text {
        font-size: 0.9rem;
    }
}


/**
CARD PAPIER
 */

.card-papier-wrapper {
    display: grid;
    gap: 1.2em;
}

.card-papier h5 {
    font-size: 1.10rem;
}

.card-papier .card-text {
    grid-template-columns: auto 1fr;
}

@media (min-width: 992px) {

    .card-papier-wrapper {
        grid-template-columns: repeat(auto-fill, minmax(22em, 1fr));
    }
}


/**
CARD BUREAUTIQUE
 */

.card-bureautique-wrapper {
    display: grid;
    gap: 1.2em;
}

.card-bureautique img {
    height: 8em;
    object-fit: contain;
}

.card-bureautique h2 {
    font-size: 1.10rem;
}

.card-bureautique .card-text {
    grid-template-columns: auto 1fr;
}

@media (min-width: 992px) {

    .card-bureautique-wrapper {
        grid-template-columns: repeat(auto-fill, minmax(22em, 1fr));
    }
}


/**
CARD ADRESSE
 */

.adresse-entreprise .meta {
    flex: 0;
}

/**
NAVBAR
 */
.navbar-brand .small-logo {
    width: 8.4em;
}

.navbar-search {
    flex-basis: 25em; /*35em;*/
}

#main-menu .navbar {
    overflow-x: scroll;
}

#main-menu .nav-link {
    white-space: nowrap;
}

.input-qte {
    text-align: center;
}

.input-qte::placeholder {
    color: var(--bs-gray-500);
}


/**
    PROMOTIONS
 */

#promotions article {
    grid-template-columns: repeat(3, 1fr);
    grid-template-areas:
            "reference-wrapper prix-regular-wrapper prix-promo-wrapper"
            "description-wrapper description-wrapper description-wrapper"
            "action-buttons action-buttons action-buttons";
}

#promotions .reference-wrapper {
    grid-area: reference-wrapper;
}

#promotions .prix-regular-wrapper {
    grid-area: prix-regular-wrapper;
}

#promotions .prix-promo-wrapper {
    grid-area: prix-promo-wrapper;
}

#promotions .description-wrapper {
    grid-area: description-wrapper;
}

#promotions .action-buttons {
    grid-area: action-buttons;
    justify-self: center;
}

#promotions article {
    border: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color);
}


@media (min-width: 992px) {

    #promotions .items-header,
    #promotions article {
        grid-template-columns: 7em 1fr 7em 7em 19em;
    }

    #promotions article {
        grid-template-areas: "reference-wrapper description-wrapper prix-regular-wrapper prix-promo-wrapper action-buttons";
        border-top: none;
    }

    #promotions .action-buttons {
        width: -webkit-fill-available;
        justify-self: start;
    }

    #promotions form {
        width: -webkit-fill-available;
    }
}


/**
AFFICHAGE DES PAPIERS
 */

.papier-inner {
    border: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color);
}

.caracteristique-wrapper {
    border-bottom: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color);
}

.caracteristique-wrapper:nth-child(even) {
    border-left: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color);
}


@media (min-width: 992px) {

    .papier-inner {
        border-top: none;
    }

    .caracteristique-wrapper {
        border: none;
    }

    .caracteristique-wrapper:nth-child(even) {
        border-left: none;
    }
}


/**
AFFHICHAGE DES ARTICLES BUREAUTIQUE
 */

.bureautique-item.card .item-first-photo {
    height: 10em;
    object-fit: contain;
}

.bureautique-item.card .card-text {
    grid-template-columns: auto 1fr;
    gap: 0 1em;
}

.bureautique-item.card .card-text .label {
    font-size: smaller;
}

.bureautique-item.card .card-meta {
    grid-template-columns: auto 1fr;
    gap: 0.3em 1em;
    font-size: smaller;
}

.bureautique-item .action-buttons>a {
    flex-basis: 100%;
}


@media (min-width: 992px) {

    .bureautique-item.card .item-first-photo {
        height: 13em;
        max-width: 100%;
        object-fit: contain;
    }

}


/**
AFFICHAGE D'UN SEUL ARTICLE BUREAUTIQUE
 */

#article-synthese {
    grid-template-areas: "article-title" "article-carousel" "synthese-group" "article-dispo" "input-cart";
    align-items: start;
}

.article-title {
    grid-area: article-title;
}

.synthese-group {
    grid-area: synthese-group
}

#item-carousel {
    grid-area: article-carousel;
}

.article-codes {
    margin-left: auto;
    margin-right: auto;
    width: fit-content;
    grid-template-columns: auto 1fr;
    gap: 0.2em 1em;
}

.dispo {
    grid-area: article-dispo;
}

.input-cart {
    grid-area: input-cart;
}

.article-specifications-content {
    grid-template-columns: 1fr 1fr;
    gap: 0.4em 0.5em;
}

.article-pdfs a {
    width: fit-content;
}

.article-sibling img {
    height: 15em;
    object-fit: contain;
}

@media (min-width: 768px) {

    #article-synthese {
        grid-template-columns: repeat(2, 1fr);
        grid-template-areas:
                "article-carousel article-title"
                "article-carousel synthese-group"
                "article-carousel article-dispo"
                "article-carousel input-cart";
    }

    .carousel-item img {
        height: 22rem;
        object-fit: contain;
    }
}

@media (min-width: 992px) {

    .carousel-item img {
        height: 25rem;
         object-fit: contain;
    }

    .article-details {
        grid-template-columns: 20rem 1fr;
        grid-template-areas:
                ". details-title"
                ". article-pdfs"
                "description-title article-description-content"
                "specifications-title article-specifications-content";
        gap: 1.3em 0;
    }

    .article-details h2 {
        grid-area: details-title;
    }

    .article-pdfs {
        grid-area: article-pdfs;
    }

    .description-title {
        grid-area: description-title;
    }

    .article-description-content {
        grid-area: article-description-content;
    }

    .specifications-title {
        grid-area: specifications-title;
    }

    .article-specifications-content {
        grid-area: article-specifications-content;
        grid-template-columns: auto 1fr;
        gap: 0 1em;
    }

}



/**
ACCESSOIRES
 */

#active-categories .card {
    /*height: 10em;*/
}

#active-categories .card img {
    height: 9.8em;
    object-fit: contain;
}

.accessoire-inner {
    /*border: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color);*/
    gap: 0.2em;
}

.accessoire-inner .caracteristique-wrapper {
    flex: 0 1 45%;
    border: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color);
}

.accessoire-image.card-img-top {
    height: 13rem;
    object-fit: contain;
}

.accessoire-no-image.card-img-top {
    height: 13rem;
    object-fit: contain;
}

.accessoires-description {
    height: 3.9rem;
}

.create-accessory-image {
    height: 6rem;
    object-fit: contain;
    max-width: none !important;
}

.description {
    font-size: 0.9em;
    line-height: 1.1;
}

@media (min-width: 768px) {
    .accessoire-category .accessoire-image {
        width: 16rem;
    }
}

@media (min-width: 992px) {
    .accessoire-category .accessoire-image {
        width: 19rem;
    }

    .accessoire-inner {
        border: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color);
    }

    .accessoire-inner .caracteristique-wrapper {
        flex: unset;
        border: none;
    }

    #accessoires form {
        width: -webkit-fill-available;
    }

    #accessoires form[name='add_item_to_cart_form'] {
        width: -webkit-fit-content;
    }
}


/**
SINGLE ACCESSOIRE
 */

#accessoire-synthese {
    grid-template-columns: auto;
    grid-template-areas: "accessoire-title" "accessoire-photo" "accessoire-description" "synthese-group" "input-cart";
    align-items: start;
    gap: 1em 3em;
    justify-items: center;
}

#accessoire-synthese.no-photo {
    grid-template-columns: 1fr;
    grid-template-areas: "accessoire-title" "accessoire-description" "synthese-group" "input-cart";
    align-items: start;
    gap: 1em 0;
    justify-items: center;
}

#accessoire-title {
    grid-area: accessoire-title;
}

#accessoire-photo {
    grid-area: accessoire-photo;
}

#accessoire-description {
    grid-area: accessoire-description;
}

#accessoire-synthese-group {
    grid-area: synthese-group;
}

#accessoire-synthese .input-cart {
    grid-area: input-cart;
}

.accessoire-codes {
    margin-left: auto;
    margin-right: auto;
    width: fit-content;
    grid-template-columns: auto 1fr;
    gap: 0.2em 1em;
}

#accessoire-photo img {
    height: auto;
    width: 100%;
}

.linked-accessoire-photo img {
    height: 8em;
    width: 100%;
    object-fit: contain;
}

.linked-accessoire-codes {
    grid-template-columns: auto 1fr;
    gap: 0.2em 1em;
    font-size: 0.8em;
}


@media (min-width: 768px) {

    #accessoire-synthese.no-photo {
        width: auto;
        margin-left: auto;
        margin-right: auto;
        grid-template-columns: auto;
        grid-template-areas:
                "accessoire-title"
                "accessoire-description"
                "synthese-group"
                "input-cart"
        ;
        gap: 1em 0;
    }

    #accessoire-synthese {
        width: auto;
        margin-left: auto;
        margin-right: auto;
        grid-template-columns: repeat(2, 1fr);
        /*grid-template-rows: auto 1fr;*/
        grid-template-areas:
                "accessoire-title accessoire-title"
                "accessoire-description accessoire-description"
                "accessoire-photo synthese-group"
                /*"accessoire-photo article-dispo"*/
                "accessoire-photo input-cart"
        ;
    }

    #accessoire-photo img {
        height: 20em;
        width: 100%;
        object-fit: contain;
    }
}


/**
RECHERCHES
 */

#count-search-papiers {
    background: var(--gp-primary-color);
}

.result-search {
    grid-template-columns: auto 1fr;
    gap: 0 1em;
}


/**
LOGIN
 */

.login-card .card-img {
    height: 30em;
    object-fit: cover;
}

.inactives-images .login-card .card-img {
    height: 14.6em;
}

.login-card .update-button {
    position: absolute;
    right: 1rem;
}

.current-login-image img {
    height: 15rem;
}


/**
ADRESSES DES ENTREPRISES
 */

.card.adresse-entreprise .card-text {
    margin: 0;
}

.card.adresse-entreprise .card-footer a {
    font-size: small;
}


/**
CART
 */

.cart-item {
    grid-template-columns: 1fr;
    grid-template-areas:
            "description"
            "reference"
            "quantite"
            "prices"
            "actions"
    ;
}

.cart-item.has-image {
    grid-template-columns: 4fr 6fr;
    grid-template-areas:
            "image description"
            "image reference"
            "image quantite"
            "prices prices"
            "actions actions"
;
}

.cart-item-image {
    grid-area: image;
}

#cart-header .description,
.cart-item-description {
    grid-area: description;
}

#cart-header .reference,
.cart-item-reference {
    grid-area: reference;
}

#cart-header .prices,
.cart-item-prices {
    grid-area: prices;
}

#cart-header .quantite,
.cart-item-quantite {
    grid-area: quantite;
}

#cart-header .actions,
.cart-item-actions {
    grid-area: actions;
}

.cart-item-image img {
    width: 100%;
    max-height: 7rem;
    object-fit: contain;
}

@media (min-width: 768px) {

    .cart-item {
        grid-template-columns: 1fr auto;
        grid-template-areas:
            "description reference"
            "prices actions"
    ;
    }

    .cart-item.has-image {
        grid-template-columns: 9em 1fr auto;
        grid-template-areas:
            "image description description"
            "image reference reference"
            "image prices actions"
    ;
    }

    .cart-item-description {
        flex: auto;
    }

    .display-order .cart-item-prices,
    .display-order .cart-item-actions {
        flex: 45%;
    }
}

@media (min-width: 992px) {

    .commande {
        border: 1px solid lightgrey;
        padding: 0.8em;
        border-radius: 6px;
    }

    #cart-header,
    .cart-item {
        grid-template-columns: 9em 31em 1fr 2fr 1fr;
        grid-template-areas: "description description reference prices actions";
    }

    .cart-item.has-image {
        grid-template-columns: 9em 31em 1fr 2fr 1fr;
        grid-template-areas: "image description reference prices actions";
    }
    
    .display-order .cart-item-image {
        flex: 0 0 5em;
    }

    /*.cart-item-description {*/
    /*    flex: 0 0 33em;*/
    /*}*/

    .display-order .cart-item-reference,
    .display-order #cart-header .reference {
        flex: 0 0 13em;
    }

    .display-order .cart-item-quantite,
    .display-order #cart-header .quantite{
        flex: 0 0 4.5em;
    }

    .display-order .cart-item-prices,
    .display-order #cart-header .prices {
        flex: 0 0 22em;
        gap: 0 0.5em;
    }

    .display-order .cart-item-actions,
    .display-order #cart-header .actions{
        flex: 0 0 15.5em;
    }

}


/**
CART CONVERT POINTS
 */

#convert-points-content .value {
    flex: 0 0 5em;
}

#points-to-use-form .alert.alert-danger {
    margin-bottom: 0;
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
}



@media (min-width: 768px) {

    #points-to-use-inner {
        grid-template-columns: 1fr auto;
        grid-template-areas:
            "label widgets"
            "message message"
            "error error";
    }

    #points-to-use-group .label {
        grid-area: label;
    }

    #points-to-use-group .widgets {
        grid-area: widgets;
    }

    #points-to-use-group .message {
        grid-area: message;
    }

    #points-to-use-group .form-error {
        grid-area: error;
        place-self: end;
    }
}

@media (min-width: 992px) {

    #convert-points-content {
        grid-template-columns: repeat(2, 1fr);
        grid-template-areas:
            "current-balance current-total-ttc"
            "points-to-use amount-converted"
            "points-acquired new-total-ttc"
            "new-balance ."
            "convert-points-action convert-points-action";
    }

    #current-balance-group {
        grid-area: current-balance;
    }

    #current-total-ttc-group {
        grid-area: current-total-ttc;
    }

    #points-to-use-group {
        grid-area: points-to-use;
    }

    #amount-converted-group {
        grid-area: amount-converted;
    }

    #new-total-ttc-group {
        grid-area: new-total-ttc;
    }

    #points-acquired-group {
        grid-area: points-acquired;
    }

    #new-balance-group {
        grid-area: new-balance;
    }

    .convert-points-action-buttons {
        grid-area: convert-points-action;
    }

    #points-to-use-group .label {
        flex: 1 0 auto;
    }

    #points-to-use-group .form-control {
        font-weight: 0.9em;
        line-height: 1;
    }

    #points-to-use-inner {
        grid-template-columns: auto auto;
    }

    #points-to-use-group .form-error {
        place-self: center;
    }

}

.commande ~ .commande {
    margin-top: 1.2em;
}

.commande .titre-commande {
    font-size: 1.35rem;
    font-variant: all-small-caps;
}

.list-group-item .text,
.list-group-item .text:active,
.list-group-item .text:hover,
.list-group-item .text:focus,
.list-group-item .text:visited {
    /*background: red;*/
}

.handle {
    cursor: move;
}

.noselect {
    -webkit-touch-callout: none; /* iOS Safari */
    -webkit-user-select: none; /* Safari */
    -khtml-user-select: none; /* Konqueror HTML */
    -moz-user-select: none; /* Old versions of Firefox */
    -ms-user-select: none; /* Internet Explorer/Edge */
    user-select: none; /* Non-prefixed version, currently supported by Chrome, Edge, Opera and Firefox */
}

/**
UPDATE CATEGORY
 */
.update-category-image {
    height: 15em;
    width: auto;
    max-width: 100%;
    object-fit: contain;
}

/**
UPDATE SETTINGS
 */

/*.update-settings {*/
/*    grid-template-columns: 1fr 23em 6em repeat(2, auto);*/
/*    gap: 2em;*/
/*    align-items: center;*/
/*}*/

form[name="setting"] {
    height: 100%;
}
.setting-card-body {
    height: 100%;
    display: grid;
    grid-template-rows: repeat(4, auto) 1fr;
    align-content: start;
}

.setting-actif-submit {
    align-self: end;
}

/**
ADMIN PAPIERS
 */

/*form[name="papier"] .form-label {*/
/*    margin-bottom: 0.2rem;*/
/*}*/

form[name="papier"] input[type="text"] {
    min-height: calc(1.5em + 0.5rem + calc(var(--bs-border-width)* 2));
    padding: 0.25rem 0.5rem;
    font-size: 0.845rem; /* la valeur initiale est 0.875rem */
    border-radius: var(--bs-border-radius-sm);
}

form[name="papier"] select {
    min-height: calc(1.5em + 0.5rem + calc(var(--bs-border-width)* 2));
    padding: 0.25rem 1.7rem 0.25rem 0.5rem;
    font-size: 0.845rem; /* la valeur initiale est 0.875rem */
    border-radius: var(--bs-border-radius-sm);
}

form[name="papier"] .form-check {
    margin: 0;
}

form[name="papier"] .form-check-label {
    font-size: 0.845rem;
}

#siblings-update-papier .list-group-item {
    grid-template-columns: repeat(3, 1fr);
}

#siblings-update-papier .prix-client {
    justify-self: end;
}

#siblings-update-papier .list-group-item div:last-child {
    grid-column: span 3;
}

.card-slide {
    position: relative;
}

.card-slide-image {
    height: 109px;
    object-fit: cover;
}

.card-slide .update-button,
.card-slide .reactivate-button {
}

.slide-current-image {
    width: 100%;
    height: 160px;
    object-fit: cover;
}

@media (min-width: 768px) {
    .card-slide-image {
        height: 174px;
    }
}

@media (min-width: 992px) {
    .card-slide-image {
        height: 189px;
    }

    #sortable-slides .card-slide-image {
        height: 5.5rem;
    }
}

form[name="maintenance_banner"] .alert {
    margin-bottom: 0;
    padding: 0.6rem 2.6rem;
}

/**
SYNTHÈSE ENTREPRISE
 */
.grid-adresses {
    grid-template-areas:
        "label-facturation"
        "adresse-facturation"
        "label-livraison"
        "adresse-livraison";
}

.label-facturation {
    grid-area: label-facturation;
}

.label-livraison {
    grid-area: label-livraison;
}

.adresse-facturation {
    grid-area: adresse-facturation;
}

.adresse-livraison {
    grid-area: adresse-livraison;
}

@media (min-width: 768px) {
    .grid-adresses {
        grid-template-areas:
            "label-facturation label-livraison"
            "adresse-facturation adresse-livraison";
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (min-width: 992px) {
    .grid-adresses {
        grid-template-columns: repeat(2, 1fr);
        grid-template-rows: auto 1fr;
    }
}

#secondary-carousel a {
    height: 10em;
    text-align: center;
}

#secondary-carousel a img {
    height: 100%;
    object-fit: contain;
}

/**
FAVOURITES
 */

.favourite-image {
    height: 8em;
    object-fit: contain;
}

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