/* =========================================================
   WooCommerce pages: product, wishlist, cart, checkout, account
   Centralized in the child theme. Keep Customizer Additional CSS empty.
========================================================= */

/* Shared WooCommerce token bridge */
body.woocommerce,
body.woocommerce-page,
body.single-product,
body.woocommerce-account,
.wp-block-woocommerce-cart,
.wp-block-woocommerce-checkout,
#yith-wcwl-form,
#yith-quick-view-modal {
    --wc24-primary: var(--shop-primary, #0971B7);
    --wc24-primary-dark: var(--shop-primary-dark, #075E98);
    --wc24-primary-deep: var(--shop-primary-deep, #053E66);
    --wc24-accent: var(--shop-accent, #10ABB6);
    --wc24-accent-dark: var(--shop-accent-dark, #0C8F99);
    --wc24-soft: var(--shop-primary-soft, #EEF8FB);
    --wc24-border: var(--shop-border, #D7ECF4);
    --wc24-text: var(--shop-text, #073B5F);
    --wc24-muted: var(--shop-muted, #5F7181);
    --wc24-danger: var(--shop-danger, #F00614);
    --wc24-success: var(--shop-success, #18A957);
}

body.woocommerce *,
body.woocommerce-page *,
body.single-product *,
.wp-block-woocommerce-cart *,
.wp-block-woocommerce-checkout *,
#yith-wcwl-form *,
#yith-quick-view-modal * {
    box-sizing: border-box;
}

/* =========================================================
   Single product page
========================================================= */
body.single-product #main.site-main {
    width: min(100% - 42px, 1320px) !important;
    margin: 34px auto 80px !important;
    color: var(--wc24-text) !important;
}

body.single-product .woocommerce-breadcrumb {
    margin: 0 0 24px !important;
    padding: 14px 18px !important;
    border-radius: 16px !important;
    background: #fff !important;
    border: 1px solid var(--wc24-border) !important;
    color: var(--wc24-muted) !important;
    font-size: 13px !important;
    font-weight: 800 !important;
    line-height: 1.45 !important;
    box-shadow: 0 8px 24px rgba(7, 59, 95, .05) !important;
}

body.single-product .woocommerce-breadcrumb a {
    color: var(--wc24-primary) !important;
    text-decoration: none !important;
    font-weight: 900 !important;
}

body.single-product .woocommerce-breadcrumb a:hover { color: var(--wc24-accent-dark) !important; }

body.single-product div.product {
    display: grid !important;
    grid-template-columns: minmax(0, .96fr) minmax(390px, .78fr) !important;
    gap: 38px !important;
    align-items: start !important;
}

body.single-product div.product::before,
body.single-product div.product::after { display: none !important; content: none !important; }

body.single-product div.product .woocommerce-product-gallery,
body.single-product div.product .summary,
body.single-product div.product .woocommerce-tabs,
body.single-product .related.products {
    border-radius: 30px !important;
    background: #fff !important;
    border: 1px solid var(--wc24-border) !important;
    box-shadow: 0 18px 48px rgba(7, 59, 95, .06) !important;
}

body.single-product div.product .woocommerce-product-gallery {
    width: 100% !important;
    float: none !important;
    clear: none !important;
    margin: 0 !important;
    padding: 26px !important;
    background:
        radial-gradient(circle at 85% 10%, rgba(16, 171, 182, .12), transparent 30%),
        linear-gradient(180deg, #fff, #f5fbfd) !important;
    overflow: hidden !important;
}

body.single-product div.product .woocommerce-product-gallery__wrapper { margin: 0 !important; }
body.single-product div.product .woocommerce-product-gallery__image { border-radius: 24px !important; background: #fff !important; overflow: hidden !important; }

body.single-product div.product .woocommerce-product-gallery__image a {
    min-height: 520px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-decoration: none !important;
}

body.single-product div.product .woocommerce-product-gallery img {
    width: 100% !important;
    max-width: 560px !important;
    max-height: 560px !important;
    -o-object-fit: contain !important;
       object-fit: contain !important;
    margin: 0 auto !important;
    padding: 16px !important;
}

body.single-product .woocommerce-product-gallery__trigger {
    top: 18px !important;
    right: 18px !important;
    width: 44px !important;
    height: 44px !important;
    border-radius: 999px !important;
    background: #fff !important;
    border: 1px solid var(--wc24-border) !important;
    box-shadow: 0 10px 24px rgba(7, 59, 95, .13) !important;
    z-index: 10 !important;
}

body.single-product div.product .summary {
    width: 100% !important;
    float: none !important;
    clear: none !important;
    margin: 0 !important;
    padding: 34px !important;
    overflow: visible !important;
}

body.single-product div.product .summary .product_title {
    margin: 0 0 16px !important;
    padding: 0 !important;
    color: var(--wc24-text) !important;
    font-size: clamp(32px, 3.1vw, 48px) !important;
    font-weight: 950 !important;
    line-height: 1.06 !important;
    letter-spacing: -.045em !important;
}

body.single-product div.product .summary .price {
    width: -moz-fit-content !important;
    width: fit-content !important;
    display: inline-flex !important;
    align-items: center !important;
    margin: 0 0 20px !important;
    padding: 10px 15px !important;
    border-radius: 999px !important;
    background: rgba(16, 171, 182, .14) !important;
    border: 1px solid rgba(16, 171, 182, .34) !important;
    color: var(--wc24-text) !important;
    font-size: 28px !important;
    font-weight: 950 !important;
    line-height: 1 !important;
}

body.single-product div.product .summary .price .amount,
body.single-product div.product .summary .price bdi { color: var(--wc24-text) !important; font-weight: 950 !important; }
body.single-product div.product .summary .price del { color: #7c8d9d !important; font-size: 16px !important; opacity: .75 !important; }
body.single-product div.product .summary .price ins { text-decoration: none !important; }

body.single-product .woocommerce-product-details__short-description {
    margin: 0 0 24px !important;
    padding: 18px 20px !important;
    border-radius: 20px !important;
    background: var(--wc24-soft) !important;
    border: 1px solid var(--wc24-border) !important;
}

body.single-product .woocommerce-product-details__short-description p {
    margin: 0 !important;
    color: var(--wc24-muted) !important;
    font-size: 15.5px !important;
    line-height: 1.68 !important;
}

body.single-product div.product .summary form.cart,
.woocommerce div.product form.cart {
    width: 100% !important;
    max-width: 100% !important;
    display: grid !important;
    grid-template-columns: 120px minmax(0, 1fr) !important;
    gap: 14px !important;
    align-items: stretch !important;
    margin: 0 0 18px !important;
    padding: 0 !important;
    float: none !important;
    clear: both !important;
}

body.single-product form.cart .quantity,
.woocommerce div.product form.cart .quantity {
    width: 120px !important;
    max-width: 120px !important;
    min-width: 120px !important;
    height: 56px !important;
    display: block !important;
    float: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

body.single-product form.cart .quantity input.qty,
.woocommerce div.product form.cart .quantity input.qty {
    width: 120px !important;
    max-width: 120px !important;
    min-width: 120px !important;
    height: 56px !important;
    min-height: 56px !important;
    display: block !important;
    margin: 0 !important;
    padding: 0 12px !important;
    border-radius: 16px !important;
    border: 1px solid var(--wc24-border) !important;
    background: #fff !important;
    color: var(--wc24-text) !important;
    font-size: 17px !important;
    font-weight: 950 !important;
    line-height: 56px !important;
    text-align: center !important;
    outline: none !important;
    box-shadow: none !important;
}

body.single-product form.cart .quantity input.qty:focus,
.woocommerce div.product form.cart .quantity input.qty:focus {
    border-color: var(--wc24-accent) !important;
    box-shadow: 0 0 0 4px rgba(16, 171, 182, .18) !important;
}

body.single-product form.cart button.single_add_to_cart_button,
body.single-product form.cart .single_add_to_cart_button,
.woocommerce div.product form.cart button.single_add_to_cart_button,
.woocommerce div.product form.cart .single_add_to_cart_button {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    height: 56px !important;
    min-height: 56px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    float: none !important;
    clear: none !important;
    margin: 0 !important;
    padding: 0 24px !important;
    border: 0 !important;
    border-radius: 16px !important;
    background: var(--wc24-accent) !important;
    color: #fff !important;
    font-size: 15px !important;
    font-weight: 950 !important;
    line-height: 1 !important;
    text-align: center !important;
    white-space: nowrap !important;
    text-decoration: none !important;
    box-shadow: 0 14px 28px rgba(16, 171, 182, .26) !important;
    transform: none !important;
}

body.single-product form.cart button.single_add_to_cart_button::before,
body.single-product form.cart button.single_add_to_cart_button::after,
.woocommerce div.product form.cart button.single_add_to_cart_button::before,
.woocommerce div.product form.cart button.single_add_to_cart_button::after { display: none !important; content: none !important; }

body.single-product form.cart button.single_add_to_cart_button:hover,
.woocommerce div.product form.cart button.single_add_to_cart_button:hover {
    background: var(--wc24-primary) !important;
    color: #fff !important;
    box-shadow: 0 16px 34px rgba(9, 113, 183, .24) !important;
}

body.single-product div.product .summary a.added_to_cart.wc-forward,
.woocommerce div.product a.added_to_cart.wc-forward { display: none !important; }

body.single-product .summary .yith-add-to-wishlist-button-block { width: 100% !important; margin: 0 0 10px !important; }
body.single-product .summary .yith-wcwl-add-to-wishlist-button,
body.single-product .summary .compare.button {
    width: 100% !important;
    max-width: 100% !important;
    min-height: 48px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 9px !important;
    margin: 0 0 10px !important;
    padding: 0 16px !important;
    border-radius: 16px !important;
    background: #fff !important;
    color: var(--wc24-text) !important;
    border: 1px solid var(--wc24-border) !important;
    font-size: 14px !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    text-align: center !important;
    text-decoration: none !important;
    box-shadow: none !important;
}
body.single-product .summary .yith-wcwl-add-to-wishlist-button:hover,
body.single-product .summary .compare.button:hover { background: var(--wc24-soft) !important; color: var(--wc24-primary) !important; border-color: rgba(16, 171, 182, .65) !important; }
body.single-product .summary .compare.button::before { content: "↔" !important; font-size: 15px !important; line-height: 1 !important; }
body.single-product .summary .compare.button::after { display: none !important; content: none !important; }

body.single-product .summary .product_meta {
    display: grid !important;
    gap: 8px !important;
    margin-top: 20px !important;
    padding-top: 20px !important;
    border-top: 1px solid var(--wc24-border) !important;
    color: var(--wc24-muted) !important;
    font-size: 14px !important;
    line-height: 1.5 !important;
}
body.single-product .summary .product_meta span { display: block !important; }
body.single-product .summary .product_meta a,
body.single-product .summary .product_meta .sku { color: var(--wc24-primary) !important; font-weight: 850 !important; text-decoration: none !important; }

body.single-product div.product .woocommerce-tabs,
body.single-product .related.products {
    grid-column: 1 / -1 !important;
    margin-top: 2px !important;
    padding: 34px 30px !important;
}

body.single-product .woocommerce-tabs ul.tabs {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 10px !important;
    margin: 0 0 28px !important;
    padding: 0 !important;
    border: 0 !important;
}
body.single-product .woocommerce-tabs ul.tabs::before,
body.single-product .woocommerce-tabs ul.tabs::after,
body.single-product .woocommerce-tabs ul.tabs li::before,
body.single-product .woocommerce-tabs ul.tabs li::after { display: none !important; content: none !important; }
body.single-product .woocommerce-tabs ul.tabs li { border: 0 !important; margin: 0 !important; padding: 0 !important; background: transparent !important; }
body.single-product .woocommerce-tabs ul.tabs li a {
    min-height: 42px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 17px !important;
    border-radius: 999px !important;
    background: var(--wc24-soft) !important;
    color: var(--wc24-text) !important;
    font-size: 14px !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    text-decoration: none !important;
}
body.single-product .woocommerce-tabs ul.tabs li.active a { background: var(--wc24-accent) !important; color: #fff !important; }
body.single-product .woocommerce-Tabs-panel { color: var(--wc24-muted) !important; font-size: 15.5px !important; line-height: 1.72 !important; }
body.single-product .woocommerce-Tabs-panel h2 { margin: 0 0 14px !important; color: var(--wc24-text) !important; font-size: 26px !important; font-weight: 950 !important; letter-spacing: -.035em !important; }
body.single-product .woocommerce-Tabs-panel h3 { margin: 22px 0 10px !important; color: var(--wc24-text) !important; font-size: 20px !important; font-weight: 950 !important; }
body.single-product .woocommerce-Tabs-panel p { margin: 0 0 14px !important; }
body.single-product .woocommerce-Tabs-panel ul { margin: 0 0 16px 20px !important; }
body.single-product .woocommerce-Tabs-panel li { margin-bottom: 7px !important; }

body.single-product table.shop_attributes {
    width: 100% !important;
    border: 1px solid var(--wc24-border) !important;
    border-radius: 18px !important;
    overflow: hidden !important;
    border-collapse: separate !important;
    border-spacing: 0 !important;
}
body.single-product table.shop_attributes th,
body.single-product table.shop_attributes td { padding: 14px 16px !important; border: 0 !important; border-bottom: 1px solid var(--wc24-border) !important; color: var(--wc24-text) !important; font-size: 14px !important; line-height: 1.55 !important; }
body.single-product table.shop_attributes th { width: 220px !important; background: var(--wc24-soft) !important; font-weight: 950 !important; }
body.single-product table.shop_attributes td { background: #fff !important; }
body.single-product table.shop_attributes p { margin: 0 !important; }

/* Review stars */
body.single-product #reviews .woocommerce-Reviews-title,
body.single-product #review_form .comment-reply-title { display: block !important; margin: 0 0 16px !important; color: var(--wc24-text) !important; font-size: 26px !important; font-weight: 950 !important; line-height: 1.15 !important; letter-spacing: -.03em !important; }
body.single-product #reviews .comment-form-rating label { display: block !important; margin-bottom: 8px !important; color: var(--wc24-text) !important; font-size: 14px !important; font-weight: 900 !important; }
body.single-product #reviews p.stars { display: block !important; margin: 0 !important; }
body.single-product #reviews p.stars span { display: inline-flex !important; gap: 4px !important; }
body.single-product #reviews p.stars a { position: relative !important; width: 28px !important; height: 28px !important; display: inline-flex !important; align-items: center !important; justify-content: center !important; margin: 0 !important; text-indent: -9999px !important; overflow: hidden !important; color: var(--wc24-accent) !important; text-decoration: none !important; }
body.single-product #reviews p.stars a::before { content: "★" !important; position: absolute !important; inset: 0 !important; display: flex !important; align-items: center !important; justify-content: center !important; color: #cfe7f0 !important; font-size: 25px !important; line-height: 1 !important; text-indent: 0 !important; transition: color .16s ease, transform .16s ease !important; }
body.single-product #reviews p.stars:hover a::before,
body.single-product #reviews p.stars.selected a.active::before,
body.single-product #reviews p.stars.selected a:not(.active)::before,
body.single-product #reviews p.stars a:hover::before,
body.single-product #reviews p.stars a.active::before { color: var(--wc24-accent) !important; }
body.single-product #reviews textarea,
body.single-product #reviews input[type="text"],
body.single-product #reviews input[type="email"] { width: 100% !important; border-radius: 18px !important; border: 1px solid var(--wc24-border) !important; background: #fff !important; color: var(--wc24-text) !important; font-size: 15px !important; line-height: 1.6 !important; padding: 14px 16px !important; outline: none !important; box-shadow: none !important; }
body.single-product #reviews textarea { min-height: 130px !important; }
body.single-product #reviews textarea:focus,
body.single-product #reviews input:focus { border-color: var(--wc24-accent) !important; box-shadow: 0 0 0 4px rgba(16, 171, 182, .18) !important; }
body.single-product #reviews .form-submit .submit { min-width: 120px !important; min-height: 44px !important; padding: 0 22px !important; border: 0 !important; border-radius: 14px !important; background: var(--wc24-accent) !important; color: #fff !important; font-size: 14px !important; font-weight: 950 !important; box-shadow: 0 12px 24px rgba(16, 171, 182, .22) !important; }
body.single-product #reviews .form-submit .submit:hover { background: var(--wc24-primary) !important; color: #fff !important; }

/* Related products */
body.single-product .related.products > h2 { margin: 0 0 28px !important; color: var(--wc24-text) !important; font-size: clamp(28px, 2.8vw, 42px) !important; font-weight: 950 !important; line-height: 1.05 !important; letter-spacing: -.04em !important; }
body.single-product .related.products ul.products { width: 100% !important; display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)) !important; gap: 20px !important; margin: 0 !important; padding: 0 !important; }
body.single-product .related.products ul.products::before,
body.single-product .related.products ul.products::after { display: none !important; content: none !important; }
body.single-product .related.products ul.products li.product,
body.single-product .related.products ul.products li.product.first,
body.single-product .related.products ul.products li.product.last { width: 100% !important; max-width: 100% !important; min-height: 100% !important; float: none !important; clear: none !important; margin: 0 !important; padding: 18px !important; border-radius: 24px !important; background: #fff !important; border: 1px solid var(--wc24-border) !important; box-shadow: 0 10px 26px rgba(7, 59, 95, .055) !important; overflow: hidden !important; display: flex !important; flex-direction: column !important; transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease !important; }
body.single-product .related.products ul.products li.product:hover { transform: translateY(-4px) !important; border-color: rgba(16, 171, 182, .7) !important; box-shadow: 0 20px 42px rgba(7, 59, 95, .11) !important; }
body.single-product .related.products ul.products li.product .woocommerce-LoopProduct-link { display: flex !important; flex-direction: column !important; flex: 1 1 auto !important; text-decoration: none !important; }
body.single-product .related.products ul.products li.product img { width: 100% !important; max-width: 165px !important; height: 150px !important; -o-object-fit: contain !important; object-fit: contain !important; display: block !important; margin: 0 auto 16px !important; padding: 12px !important; border-radius: 20px !important; background: linear-gradient(180deg, #fff, #f5fbfd) !important; }
body.single-product .related.products ul.products li.product .woocommerce-loop-product__title { min-height: 44px !important; max-height: 44px !important; margin: 0 0 12px !important; padding: 0 !important; color: var(--wc24-text) !important; font-size: 14px !important; font-weight: 950 !important; line-height: 1.35 !important; text-align: left !important; overflow: hidden !important; display: -webkit-box !important; -webkit-line-clamp: 2 !important; -webkit-box-orient: vertical !important; }
body.single-product .related.products ul.products li.product .price { min-height: 26px !important; display: block !important; margin: 0 0 14px !important; color: var(--wc24-text) !important; font-size: 18px !important; font-weight: 950 !important; line-height: 1.2 !important; }
body.single-product .related.products ul.products li.product .add_to_cart_button,
body.single-product .related.products ul.products li.product .product_type_simple,
body.single-product .related.products ul.products li.product .ajax_add_to_cart,
body.single-product .related.products ul.products li.product .yith-wcqv-button,
body.single-product .related.products ul.products li.product .yith-wcwl-add-to-wishlist-button,
body.single-product .related.products ul.products li.product .compare.button { width: 100% !important; max-width: 100% !important; display: inline-flex !important; align-items: center !important; justify-content: center !important; float: none !important; clear: both !important; text-align: center !important; text-decoration: none !important; box-shadow: none !important; }
body.single-product .related.products ul.products li.product .add_to_cart_button,
body.single-product .related.products ul.products li.product .product_type_simple,
body.single-product .related.products ul.products li.product .ajax_add_to_cart { min-height: 44px !important; margin: auto 0 9px !important; padding: 0 14px !important; border: 0 !important; border-radius: 14px !important; background: var(--wc24-accent) !important; color: #fff !important; font-size: 13px !important; font-weight: 950 !important; line-height: 1 !important; box-shadow: 0 12px 24px rgba(16, 171, 182, .24) !important; }
body.single-product .related.products ul.products li.product .add_to_cart_button::before,
body.single-product .related.products ul.products li.product .product_type_simple::before,
body.single-product .related.products ul.products li.product .ajax_add_to_cart::before,
body.single-product .related.products ul.products li.product .add_to_cart_button::after,
body.single-product .related.products ul.products li.product .product_type_simple::after,
body.single-product .related.products ul.products li.product .ajax_add_to_cart::after { display: none !important; content: none !important; }
body.single-product .related.products ul.products li.product .add_to_cart_button:hover,
body.single-product .related.products ul.products li.product .product_type_simple:hover,
body.single-product .related.products ul.products li.product .ajax_add_to_cart:hover,
body.single-product .related.products ul.products li.product .add_to_cart_button.added { background: var(--wc24-primary) !important; color: #fff !important; }
body.single-product .related.products ul.products li.product a.added_to_cart.wc-forward { display: none !important; }
body.single-product .related.products ul.products li.product .yith-wcqv-button,
body.single-product .related.products ul.products li.product .yith-wcwl-add-to-wishlist-button,
body.single-product .related.products ul.products li.product .compare.button { min-height: 39px !important; gap: 7px !important; margin: 0 0 9px !important; padding: 0 10px !important; border-radius: 14px !important; background: #fff !important; border: 1px solid var(--wc24-border) !important; color: var(--wc24-text) !important; font-size: 12px !important; font-weight: 850 !important; line-height: 1 !important; }
body.single-product .related.products ul.products li.product .yith-wcqv-button { background: var(--wc24-soft) !important; }
body.single-product .related.products ul.products li.product .yith-wcqv-button:hover,
body.single-product .related.products ul.products li.product .yith-wcwl-add-to-wishlist-button:hover,
body.single-product .related.products ul.products li.product .compare.button:hover { background: var(--wc24-soft) !important; border-color: rgba(16, 171, 182, .65) !important; color: var(--wc24-primary) !important; }

/* =========================================================
   Wishlist page and YITH Quick View
========================================================= */
body #yith-wcwl-form {
    width: min(100% - 32px, 1320px) !important;
    margin: 0 auto 70px !important;
    padding: 28px !important;
    border-radius: 28px !important;
    background: #fff !important;
    border: 1px solid var(--wc24-border) !important;
    box-shadow: 0 18px 48px rgba(7, 59, 95, .065) !important;
    color: var(--wc24-text) !important;
}

body .site-main .page-header {
    margin: 0 0 24px;
    padding: 34px;
    border-radius: 28px;
    background: radial-gradient(circle at 86% 10%, rgba(16,171,182,.18), transparent 32%), linear-gradient(135deg, var(--wc24-primary), var(--wc24-primary-dark));
    box-shadow: 0 22px 54px rgba(7, 59, 95, .14);
}
body .site-main .page-header .entry-title { margin: 0; color: #fff !important; font-size: clamp(34px, 4vw, 58px); font-weight: 950; line-height: 1.05; letter-spacing: -.045em; }
body .site-main .page-header .entry-title::after { content: ""; display: block; width: 72px; height: 4px; margin-top: 18px; border-radius: 999px; background: var(--wc24-accent); }

#yith-wcwl-form .wishlist-title { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin: 0 0 22px; }
#yith-wcwl-form .wishlist-title h2 { margin: 0; color: var(--wc24-text); font-size: clamp(26px, 2.4vw, 38px); font-weight: 950; line-height: 1.08; letter-spacing: -.04em; }
#yith-wcwl-form .show-title-form { min-height: 40px; display: inline-flex !important; align-items: center; justify-content: center; gap: 7px; padding: 0 14px !important; border-radius: 13px !important; background: var(--wc24-soft) !important; color: var(--wc24-text) !important; border: 1px solid var(--wc24-border) !important; font-size: 13px !important; font-weight: 850 !important; text-decoration: none !important; box-shadow: none !important; }
#yith-wcwl-form .show-title-form:hover { background: var(--wc24-accent) !important; color: #fff !important; border-color: var(--wc24-accent) !important; }

#yith-wcwl-form table.wishlist_table { width: 100% !important; margin: 0 !important; border-collapse: separate !important; border-spacing: 0 12px !important; border: 0 !important; background: transparent !important; }
#yith-wcwl-form table.wishlist_table thead th { padding: 0 14px 8px !important; border: 0 !important; background: transparent !important; color: var(--wc24-muted) !important; font-size: 12px !important; font-weight: 900 !important; text-transform: uppercase; letter-spacing: .04em; }
#yith-wcwl-form table.wishlist_table tbody tr { border-radius: 22px !important; background: #fff !important; box-shadow: 0 10px 26px rgba(7, 59, 95, .055); transition: transform .2s ease, box-shadow .2s ease; }
#yith-wcwl-form table.wishlist_table tbody tr:hover { transform: translateY(-2px); box-shadow: 0 16px 36px rgba(7, 59, 95, .095); }
#yith-wcwl-form table.wishlist_table tbody td { padding: 16px 14px !important; border: 0 !important; border-top: 1px solid var(--wc24-border) !important; border-bottom: 1px solid var(--wc24-border) !important; background: #fff !important; vertical-align: middle !important; }
#yith-wcwl-form table.wishlist_table tbody td:first-child { border-left: 1px solid var(--wc24-border) !important; border-radius: 22px 0 0 22px !important; }
#yith-wcwl-form table.wishlist_table tbody td:last-child { border-right: 1px solid var(--wc24-border) !important; border-radius: 0 22px 22px 0 !important; }
#yith-wcwl-form .product-remove,
#yith-wcwl-form td.product-remove { width: 58px !important; min-width: 58px !important; text-align: center !important; vertical-align: middle !important; }
#yith-wcwl-form .product-remove > div { width: 100% !important; height: 100% !important; min-height: 42px !important; display: flex !important; align-items: center !important; justify-content: center !important; }
#yith-wcwl-form .remove_from_wishlist,
#yith-wcwl-form a.remove.remove_from_wishlist { width: 34px !important; height: 34px !important; min-width: 34px !important; min-height: 34px !important; display: flex !important; align-items: center !important; justify-content: center !important; padding: 0 !important; margin: 0 auto !important; border-radius: 999px !important; background: #fff0f1 !important; color: var(--wc24-danger) !important; border: 1px solid rgba(240, 6, 20, .18) !important; font-size: 0 !important; line-height: 1 !important; text-align: center !important; text-decoration: none !important; }
#yith-wcwl-form .remove_from_wishlist::before { content: "×" !important; display: block !important; color: currentColor !important; font-size: 25px !important; font-weight: 700 !important; line-height: 30px !important; transform: translateY(-1px); }
#yith-wcwl-form .remove_from_wishlist:hover { background: var(--wc24-danger) !important; color: #fff !important; border-color: var(--wc24-danger) !important; }
#yith-wcwl-form .product-thumbnail { width: 110px; }
#yith-wcwl-form .product-thumbnail a { width: 88px; height: 88px; display: flex; align-items: center; justify-content: center; border-radius: 18px; background: linear-gradient(180deg, #fff, #f5fbfd); border: 1px solid var(--wc24-border); overflow: hidden; }
#yith-wcwl-form .product-thumbnail img { width: 76px !important; height: 76px !important; -o-object-fit: contain !important; object-fit: contain !important; margin: 0 !important; padding: 6px !important; }
#yith-wcwl-form .product-name > a:not(.button) { display: block; margin-bottom: 10px; color: var(--wc24-text) !important; font-size: 15px; font-weight: 950; line-height: 1.35; text-decoration: none !important; }
#yith-wcwl-form .product-name .yith-wcqv-button { min-height: 34px !important; display: inline-flex !important; align-items: center; justify-content: center; padding: 0 12px !important; border-radius: 12px !important; background: var(--wc24-soft) !important; color: var(--wc24-text) !important; border: 1px solid var(--wc24-border) !important; font-size: 12px !important; font-weight: 850 !important; line-height: 1 !important; text-decoration: none !important; box-shadow: none !important; }
#yith-wcwl-form .product-name .yith-wcqv-button:hover { background: var(--wc24-accent) !important; border-color: var(--wc24-accent) !important; color: #fff !important; }
#yith-wcwl-form .product-price .amount,
#yith-wcwl-form .product-price bdi { color: var(--wc24-text) !important; font-size: 17px; font-weight: 950; }
#yith-wcwl-form .wishlist-in-stock,
#yith-wcwl-form .wishlist-out-of-stock { min-height: 30px; display: inline-flex !important; align-items: center; justify-content: center; gap: 7px; padding: 0 11px; border-radius: 999px; font-size: 12px; font-weight: 900; }
#yith-wcwl-form .wishlist-in-stock { background: rgba(24,169,87,.11); color: var(--wc24-success); }
#yith-wcwl-form .wishlist-in-stock::before { content: ""; width: 7px; height: 7px; border-radius: 999px; background: var(--wc24-success); }
#yith-wcwl-form .product-add-to-cart { width: 180px; }
#yith-wcwl-form .product-add-to-cart a.add_to_cart_button,
#yith-wcwl-form .product-add-to-cart a.add_to_cart,
#yith-wcwl-form .product-add-to-cart .add_to_cart { width: 100% !important; min-height: 44px !important; display: inline-flex !important; align-items: center; justify-content: center; padding: 0 16px !important; border: 0 !important; border-radius: 14px !important; background: var(--wc24-accent) !important; color: #fff !important; font-size: 13px !important; font-weight: 950 !important; line-height: 1 !important; text-align: center !important; text-decoration: none !important; white-space: nowrap !important; box-shadow: 0 12px 24px rgba(16,171,182,.24) !important; }
#yith-wcwl-form .product-add-to-cart a.add_to_cart_button:hover,
#yith-wcwl-form .product-add-to-cart a.add_to_cart:hover { background: var(--wc24-primary) !important; color: #fff !important; box-shadow: 0 14px 28px rgba(9,113,183,.22) !important; }
#yith-wcwl-form .product-add-to-cart a.added_to_cart.wc-forward { display: none !important; }
#yith-wcwl-form .yith_wcwl_wishlist_footer { clear: both !important; display: block !important; width: 100% !important; margin-top: 34px !important; padding-top: 26px !important; border-top: 1px solid var(--wc24-border) !important; }
#yith-wcwl-form .yith-wcwl-share,
body > .yith-wcwl-share { width: -moz-fit-content !important; width: fit-content !important; max-width: 100% !important; margin: 0 !important; padding: 18px 20px !important; border-radius: 20px !important; background: var(--wc24-soft) !important; border: 1px solid var(--wc24-border) !important; box-shadow: 0 12px 30px rgba(7,59,95,.07) !important; }
#yith-wcwl-form .yith-wcwl-share-title,
body > .yith-wcwl-share .yith-wcwl-share-title { margin: 0 0 12px !important; color: var(--wc24-text) !important; font-size: 0 !important; font-weight: 950 !important; }
#yith-wcwl-form .yith-wcwl-share-title::before,
body > .yith-wcwl-share .yith-wcwl-share-title::before { content: "Distribuie lista:" !important; font-size: 15px !important; }
#yith-wcwl-form .yith-wcwl-share ul,
body > .yith-wcwl-share ul { display: flex !important; flex-wrap: wrap !important; gap: 9px !important; margin: 0 !important; padding: 0 !important; list-style: none !important; }
#yith-wcwl-form .yith-wcwl-share a,
body > .yith-wcwl-share a { width: 40px !important; height: 40px !important; min-width: 40px !important; min-height: 40px !important; display: inline-flex !important; align-items: center !important; justify-content: center !important; padding: 0 !important; border-radius: 13px !important; background: #fff !important; color: var(--wc24-text) !important; border: 1px solid var(--wc24-border) !important; text-decoration: none !important; box-shadow: none !important; }
#yith-wcwl-form .yith-wcwl-share a:hover,
body > .yith-wcwl-share a:hover { background: var(--wc24-accent) !important; color: #fff !important; border-color: var(--wc24-accent) !important; transform: translateY(-2px); }

/* Quick view modal */
#yith-quick-view-modal .yith-quick-view-overlay { background: rgba(3, 28, 46, .72) !important; backdrop-filter: blur(7px) !important; -webkit-backdrop-filter: blur(7px) !important; }
#yith-quick-view-modal .yith-wcqv-wrapper { position: fixed !important; left: 50% !important; top: 50% !important; width: min(960px, calc(100vw - 36px)) !important; height: auto !important; max-height: calc(100vh - 42px) !important; transform: translate(-50%, -50%) !important; border-radius: 28px !important; background: #fff !important; overflow: hidden !important; box-shadow: 0 34px 90px rgba(3,28,46,.42) !important; }
#yith-quick-view-modal .yith-wcqv-main { position: relative !important; border-radius: 28px !important; background: #fff !important; overflow: hidden !important; }
#yith-quick-view-modal .yith-quick-view-content { max-height: calc(100vh - 42px) !important; overflow-y: auto !important; overflow-x: hidden !important; background: #fff !important; }
#yith-quick-view-modal .yith-quick-view-content .product > .product,
#yith-quick-view-modal .yith-quick-view-content .product .product { display: grid !important; grid-template-columns: 46% 54% !important; align-items: stretch !important; margin: 0 !important; padding: 0 !important; }
#yith-quick-view-modal .images { width: 100% !important; float: none !important; clear: none !important; margin: 0 !important; padding: 38px !important; background: radial-gradient(circle at 82% 12%, rgba(16,171,182,.12), transparent 34%), linear-gradient(180deg, #fff, #f5fbfd) !important; border-right: 1px solid var(--wc24-border) !important; display: flex !important; align-items: center !important; justify-content: center !important; }
#yith-quick-view-modal .images a { width: 100% !important; min-height: 380px !important; display: flex !important; align-items: center !important; justify-content: center !important; }
#yith-quick-view-modal .images img { width: 100% !important; max-width: 330px !important; height: auto !important; max-height: 340px !important; -o-object-fit: contain !important; object-fit: contain !important; display: block !important; margin: 0 auto !important; padding: 18px !important; border-radius: 24px !important; background: #fff !important; box-shadow: 0 18px 42px rgba(7,59,95,.08) !important; }
#yith-quick-view-modal .summary,
#yith-quick-view-modal .entry-summary { width: 100% !important; float: none !important; clear: none !important; margin: 0 !important; padding: 42px 44px 36px !important; background: #fff !important; }
#yith-quick-view-modal .product_title,
#yith-quick-view-modal .entry-title { margin: 0 50px 0 0 !important; color: var(--wc24-text) !important; font-size: clamp(25px, 2.4vw, 34px) !important; font-weight: 950 !important; line-height: 1.08 !important; letter-spacing: -.04em !important; }
#yith-quick-view-modal .price { width: -moz-fit-content !important; width: fit-content !important; display: inline-flex !important; margin: 14px 0 !important; padding: 9px 14px !important; border-radius: 999px !important; background: rgba(16,171,182,.14) !important; border: 1px solid rgba(16,171,182,.34) !important; color: var(--wc24-text) !important; font-size: 24px !important; font-weight: 950 !important; line-height: 1 !important; }
#yith-quick-view-modal .woocommerce-product-details__short-description { margin: 0 0 14px !important; padding: 17px 18px !important; border-radius: 18px !important; background: var(--wc24-soft) !important; border: 1px solid var(--wc24-border) !important; }
#yith-quick-view-modal .woocommerce-product-details__short-description p { margin: 0 !important; color: var(--wc24-muted) !important; font-size: 15px !important; line-height: 1.62 !important; }
#yith-quick-view-modal form.cart { width: 100% !important; display: grid !important; grid-template-columns: 104px minmax(0, 1fr) !important; gap: 12px !important; align-items: stretch !important; margin: 4px 0 2px !important; padding: 0 !important; float: none !important; clear: both !important; }
#yith-quick-view-modal form.cart .quantity,
#yith-quick-view-modal form.cart .quantity input.qty { width: 104px !important; max-width: 104px !important; min-width: 104px !important; height: 52px !important; min-height: 52px !important; }
#yith-quick-view-modal form.cart .quantity input.qty { border-radius: 15px !important; border: 1px solid var(--wc24-border) !important; background: #fff !important; color: var(--wc24-text) !important; font-size: 16px !important; font-weight: 950 !important; text-align: center !important; }
#yith-quick-view-modal .single_add_to_cart_button,
#yith-quick-view-modal .button.alt { width: 100% !important; height: 52px !important; min-height: 52px !important; display: flex !important; align-items: center !important; justify-content: center !important; border: 0 !important; border-radius: 15px !important; background: var(--wc24-accent) !important; color: #fff !important; font-size: 15px !important; font-weight: 950 !important; box-shadow: 0 14px 28px rgba(16,171,182,.25) !important; }
#yith-quick-view-modal .single_add_to_cart_button::before,
#yith-quick-view-modal .single_add_to_cart_button::after,
#yith-quick-view-modal .button.alt::before,
#yith-quick-view-modal .button.alt::after { display: none !important; content: none !important; }
#yith-quick-view-modal .single_add_to_cart_button:hover,
#yith-quick-view-modal .button.alt:hover { background: var(--wc24-primary) !important; color: #fff !important; }
#yith-quick-view-modal .product_meta { display: grid !important; gap: 8px !important; margin: 16px 0 0 !important; padding-top: 16px !important; border-top: 1px solid var(--wc24-border) !important; color: var(--wc24-muted) !important; font-size: 14px !important; line-height: 1.45 !important; }
#yith-quick-view-modal .product_meta span { display: block !important; color: var(--wc24-muted) !important; }
#yith-quick-view-modal .product_meta a,
#yith-quick-view-modal .product_meta .sku { color: var(--wc24-primary) !important; font-weight: 850 !important; text-decoration: none !important; }
#yith-quick-view-modal .yith-wcqv-head { position: absolute !important; top: 14px !important; right: 14px !important; z-index: 40 !important; margin: 0 !important; padding: 0 !important; }
#yith-quick-view-modal .yith-quick-view-close { width: 42px !important; height: 42px !important; min-width: 42px !important; min-height: 42px !important; display: flex !important; align-items: center !important; justify-content: center !important; padding: 0 !important; border-radius: 999px !important; background: #fff !important; color: var(--wc24-text) !important; border: 1px solid var(--wc24-border) !important; box-shadow: 0 10px 24px rgba(7,59,95,.12) !important; text-decoration: none !important; }
#yith-quick-view-modal .yith-quick-view-close:hover { background: var(--wc24-danger) !important; color: #fff !important; border-color: var(--wc24-danger) !important; }
#yith-quick-view-modal .yith-quick-view-close svg { width: 22px !important; height: 22px !important; }

/* =========================================================
   Cart and checkout block pages
========================================================= */
body .wp-block-woocommerce-cart,
body .wp-block-woocommerce-checkout { width: min(100% - 32px, 1320px) !important; margin: 34px auto 80px !important; color: var(--wc24-text) !important; }
body .wc-block-components-sidebar-layout.wc-block-cart,
body .wc-block-components-sidebar-layout.wc-block-checkout { display: grid !important; grid-template-columns: minmax(0, 1fr) 390px !important; gap: 28px !important; align-items: start !important; }
body .wc-block-cart__main,
body .wc-block-checkout__main,
body .wc-block-cart__sidebar,
body .wc-block-checkout__sidebar { width: 100% !important; padding: 28px !important; border-radius: 28px !important; background: #fff !important; border: 1px solid var(--wc24-border) !important; box-shadow: 0 18px 48px rgba(7,59,95,.06) !important; }
body .wc-block-cart__sidebar,
body .wc-block-checkout__sidebar { position: sticky !important; top: 24px !important; background: radial-gradient(circle at 90% 0%, rgba(16,171,182,.13), transparent 32%), #fff !important; }
body table.wc-block-cart-items { width: 100% !important; margin: 0 !important; border-collapse: separate !important; border-spacing: 0 14px !important; border: 0 !important; }
body table.wc-block-cart-items thead th { padding: 0 14px 8px !important; border: 0 !important; background: transparent !important; color: var(--wc24-muted) !important; font-size: 12px !important; font-weight: 900 !important; text-transform: uppercase !important; letter-spacing: .04em !important; }
body table.wc-block-cart-items tbody tr.wc-block-cart-items__row { background: #fff !important; border-radius: 22px !important; box-shadow: 0 10px 26px rgba(7,59,95,.055) !important; transition: transform .2s ease, box-shadow .2s ease !important; }
body table.wc-block-cart-items tbody tr.wc-block-cart-items__row:hover { transform: translateY(-2px) !important; box-shadow: 0 16px 36px rgba(7,59,95,.095) !important; }
body table.wc-block-cart-items tbody td { padding: 18px 14px !important; border: 0 !important; border-top: 1px solid var(--wc24-border) !important; border-bottom: 1px solid var(--wc24-border) !important; background: #fff !important; vertical-align: middle !important; }
body table.wc-block-cart-items tbody td:first-child { border-left: 1px solid var(--wc24-border) !important; border-radius: 22px 0 0 22px !important; }
body table.wc-block-cart-items tbody td:last-child { border-right: 1px solid var(--wc24-border) !important; border-radius: 0 22px 22px 0 !important; }
body .wc-block-cart-item__image { width: 112px !important; }
body .wc-block-cart-item__image a { width: 92px !important; height: 92px !important; display: flex !important; align-items: center !important; justify-content: center !important; border-radius: 18px !important; background: linear-gradient(180deg, #fff, #f5fbfd) !important; border: 1px solid var(--wc24-border) !important; overflow: hidden !important; }
body .wc-block-cart-item__image img { width: 78px !important; height: 78px !important; -o-object-fit: contain !important; object-fit: contain !important; padding: 5px !important; margin: 0 !important; }
body .wc-block-components-product-name { color: var(--wc24-text) !important; font-size: 16px !important; font-weight: 950 !important; line-height: 1.3 !important; text-decoration: none !important; }
body .wc-block-components-product-price,
body .wc-block-components-product-price__value { color: var(--wc24-text) !important; font-size: 15px !important; font-weight: 900 !important; }
body .wc-block-components-product-metadata { color: var(--wc24-muted) !important; font-size: 13px !important; line-height: 1.5 !important; }
body .wc-block-components-product-metadata p { margin: 0 !important; }
body .wc-block-cart-item__total { width: 150px !important; text-align: right !important; }
body .wc-block-cart-item__total .wc-block-components-product-price__value { font-size: 17px !important; font-weight: 950 !important; }
body .wc-block-cart-item__quantity { display: flex !important; align-items: center !important; gap: 12px !important; margin-top: 6px !important; }
body .wc-block-components-quantity-selector { width: 126px !important; height: 42px !important; display: grid !important; grid-template-columns: 36px 1fr 36px !important; align-items: center !important; border: 1px solid var(--wc24-border) !important; border-radius: 14px !important; background: #fff !important; overflow: hidden !important; }
body .wc-block-components-quantity-selector::after { display: none !important; }
body .wc-block-components-quantity-selector__input { width: 100% !important; height: 40px !important; padding: 0 !important; border: 0 !important; background: transparent !important; color: var(--wc24-text) !important; font-size: 15px !important; font-weight: 950 !important; text-align: center !important; order: 2 !important; box-shadow: none !important; outline: none !important; }
body .wc-block-components-quantity-selector__button { width: 36px !important; height: 40px !important; min-width: 36px !important; display: flex !important; align-items: center !important; justify-content: center !important; padding: 0 !important; border: 0 !important; background: var(--wc24-soft) !important; color: var(--wc24-text) !important; font-size: 18px !important; font-weight: 950 !important; box-shadow: none !important; }
body .wc-block-components-quantity-selector__button--minus { order: 1 !important; }
body .wc-block-components-quantity-selector__button--plus { order: 3 !important; }
body .wc-block-components-quantity-selector__button:hover:not(:disabled) { background: var(--wc24-accent) !important; color: #fff !important; }
body .wc-block-cart-item__remove-link { width: 42px !important; height: 42px !important; min-width: 42px !important; display: inline-flex !important; align-items: center !important; justify-content: center !important; padding: 0 !important; border-radius: 14px !important; background: #fff0f1 !important; color: var(--wc24-danger) !important; border: 1px solid rgba(240,6,20,.16) !important; box-shadow: none !important; }
body .wc-block-cart-item__remove-link:hover { background: var(--wc24-danger) !important; color: #fff !important; border-color: var(--wc24-danger) !important; }
body .wc-block-cart__totals-title,
body .wc-block-components-checkout-order-summary__title-text { color: var(--wc24-text) !important; font-size: 26px !important; font-weight: 950 !important; line-height: 1.1 !important; letter-spacing: -.035em !important; }
body .wc-block-components-panel__button { min-height: 46px !important; display: flex !important; align-items: center !important; justify-content: space-between !important; padding: 0 14px !important; border-radius: 14px !important; background: var(--wc24-soft) !important; border: 1px solid var(--wc24-border) !important; color: var(--wc24-text) !important; font-size: 14px !important; font-weight: 900 !important; }
body .wc-block-components-totals-wrapper { padding: 16px 0 !important; border-color: var(--wc24-border) !important; }
body .wc-block-components-totals-item__label { color: var(--wc24-muted) !important; font-size: 14px !important; font-weight: 900 !important; }
body .wc-block-components-totals-item__value,
body .wc-block-components-totals-footer-item-tax-value { color: var(--wc24-text) !important; font-size: 28px !important; font-weight: 950 !important; line-height: 1.1 !important; }
body .wc-block-cart__submit-button,
body .wc-block-components-button.wc-block-cart__submit-button,
body .wc-block-components-checkout-place-order-button { min-height: 56px !important; display: flex !important; align-items: center !important; justify-content: center !important; border: 0 !important; border-radius: 16px !important; background: var(--wc24-accent) !important; color: #fff !important; box-shadow: 0 14px 28px rgba(16,171,182,.26) !important; text-decoration: none !important; }
body .wc-block-cart__submit-button:hover,
body .wc-block-components-button.wc-block-cart__submit-button:hover,
body .wc-block-components-checkout-place-order-button:hover { background: var(--wc24-primary) !important; color: #fff !important; transform: translateY(-1px) !important; }
body .wc-block-components-button__text,
body .wc-block-components-checkout-place-order-button__text { color: inherit !important; font-size: 15px !important; font-weight: 950 !important; line-height: 1.15 !important; }

/* Coupon forms */
body .wp-block-woocommerce-cart .wc-block-components-totals-coupon__form,
body .wp-block-woocommerce-checkout .wc-block-components-totals-coupon__form { display: grid !important; grid-template-columns: minmax(0, 1fr) 112px !important; gap: 10px !important; margin: 14px 0 0 !important; padding: 0 !important; align-items: stretch !important; }
body .wp-block-woocommerce-cart .wc-block-components-text-input,
body .wp-block-woocommerce-checkout .wc-block-components-text-input { position: relative !important; margin: 0 !important; }
body .wp-block-woocommerce-cart .wc-block-components-text-input input,
body .wp-block-woocommerce-checkout .wc-block-components-text-input input,
body .wp-block-woocommerce-cart .wc-block-components-totals-coupon__input input,
body .wp-block-woocommerce-checkout .wc-block-components-totals-coupon__input input { width: 100% !important; height: 52px !important; min-height: 52px !important; margin: 0 !important; padding: 16px 14px 6px !important; border-radius: 14px !important; border: 1px solid var(--wc24-border) !important; background: #fff !important; color: var(--wc24-text) !important; font-size: 15px !important; font-weight: 850 !important; outline: none !important; box-shadow: none !important; }
body .wp-block-woocommerce-cart .wc-block-components-text-input label,
body .wp-block-woocommerce-checkout .wc-block-components-text-input label,
body .wp-block-woocommerce-cart .wc-block-components-totals-coupon__input label,
body .wp-block-woocommerce-checkout .wc-block-components-totals-coupon__input label { position: absolute !important; left: 14px !important; top: 50% !important; transform: translateY(-50%) !important; margin: 0 !important; padding: 0 4px !important; background: #fff !important; color: var(--wc24-muted) !important; font-size: 14px !important; font-weight: 750 !important; pointer-events: none !important; transition: all .16s ease !important; }
body .wp-block-woocommerce-cart .wc-block-components-text-input.is-active label,
body .wp-block-woocommerce-checkout .wc-block-components-text-input.is-active label,
body .wp-block-woocommerce-cart .wc-block-components-text-input.has-value label,
body .wp-block-woocommerce-checkout .wc-block-components-text-input.has-value label,
body .wp-block-woocommerce-cart .wc-block-components-text-input input:focus + label,
body .wp-block-woocommerce-checkout .wc-block-components-text-input input:focus + label { top: 8px !important; transform: none !important; color: var(--wc24-primary) !important; font-size: 11px !important; font-weight: 900 !important; }
body .wp-block-woocommerce-cart .wc-block-components-totals-coupon__button,
body .wp-block-woocommerce-checkout .wc-block-components-totals-coupon__button { width: 100% !important; height: 52px !important; min-height: 52px !important; display: flex !important; align-items: center !important; justify-content: center !important; margin: 0 !important; padding: 0 16px !important; border-radius: 14px !important; border: 0 !important; background: var(--wc24-accent) !important; color: #fff !important; font-size: 14px !important; font-weight: 950 !important; box-shadow: 0 12px 24px rgba(16,171,182,.22) !important; }
body .wp-block-woocommerce-cart .wc-block-components-totals-coupon__button:disabled,
body .wp-block-woocommerce-checkout .wc-block-components-totals-coupon__button:disabled,
body .wp-block-woocommerce-cart .wc-block-components-totals-coupon__button[aria-disabled="true"],
body .wp-block-woocommerce-checkout .wc-block-components-totals-coupon__button[aria-disabled="true"] { background: var(--wc24-soft) !important; color: #6f8090 !important; border: 1px solid var(--wc24-border) !important; box-shadow: none !important; opacity: 1 !important; cursor: not-allowed !important; }

/* Checkout fields */
body .wc-block-components-checkout-step { margin: 0 0 24px !important; padding: 24px !important; border-radius: 24px !important; background: #fff !important; border: 1px solid var(--wc24-border) !important; box-shadow: 0 10px 26px rgba(7,59,95,.045) !important; }
body .wc-block-components-checkout-step__heading-container { margin: 0 0 18px !important; padding: 0 0 14px !important; border-bottom: 1px solid var(--wc24-border) !important; }
body .wc-block-components-checkout-step__title,
body .wc-block-components-title { margin: 0 !important; color: var(--wc24-text) !important; font-size: 24px !important; font-weight: 950 !important; line-height: 1.15 !important; letter-spacing: -.035em !important; }
body .wc-block-components-address-form { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 14px !important; }
body .wc-block-components-address-form__email,
body .wc-block-components-address-form__country,
body .wc-block-components-address-form__address_1,
body .wc-block-components-address-form__address_2-toggle,
body .wc-block-components-address-form__phone { grid-column: 1 / -1 !important; }
body .wp-block-woocommerce-checkout .wc-blocks-components-select__select { width: 100% !important; height: 56px !important; min-height: 56px !important; margin: 0 !important; padding: 18px 44px 7px 15px !important; border-radius: 15px !important; border: 1px solid var(--wc24-border) !important; background: #fff !important; color: var(--wc24-text) !important; font-size: 15px !important; font-weight: 850 !important; outline: none !important; box-shadow: none !important; -webkit-appearance: none !important; -moz-appearance: none !important; appearance: none !important; }
body .wp-block-woocommerce-checkout .wc-blocks-components-select__label { position: absolute !important; left: 15px !important; top: 8px !important; z-index: 2 !important; margin: 0 !important; padding: 0 4px !important; background: #fff !important; color: var(--wc24-primary) !important; font-size: 11px !important; font-weight: 900 !important; line-height: 1 !important; }
body .wc-block-components-address-card,
body .wc-block-checkout__order-notes,
body .wc-block-checkout__terms { padding: 16px 18px !important; border-radius: 18px !important; background: var(--wc24-soft) !important; border: 1px solid var(--wc24-border) !important; color: var(--wc24-text) !important; }
body .wc-block-components-notice-banner { border-radius: 18px !important; border: 1px solid var(--wc24-border) !important; background: #fff7f7 !important; color: var(--wc24-text) !important; box-shadow: none !important; }
body .wc-block-components-notice-banner.is-error { border-color: rgba(240,6,20,.22) !important; background: #fff0f1 !important; }
body .wc-block-checkout__actions_row { display: flex !important; align-items: center !important; justify-content: space-between !important; gap: 16px !important; }
body .wc-block-components-checkout-return-to-cart-button { min-height: 52px !important; display: inline-flex !important; align-items: center !important; gap: 8px !important; padding: 0 16px !important; border-radius: 15px !important; background: var(--wc24-soft) !important; border: 1px solid var(--wc24-border) !important; color: var(--wc24-text) !important; font-size: 14px !important; font-weight: 900 !important; text-decoration: none !important; }
body .wc-block-components-order-summary-item { display: grid !important; grid-template-columns: 58px minmax(0, 1fr) auto !important; gap: 12px !important; align-items: center !important; padding: 12px 0 !important; border-bottom: 1px solid var(--wc24-border) !important; }
body .wc-block-components-order-summary-item__image { position: relative !important; width: 58px !important; height: 58px !important; display: flex !important; align-items: center !important; justify-content: center !important; border-radius: 15px !important; background: linear-gradient(180deg, #fff, #f5fbfd) !important; border: 1px solid var(--wc24-border) !important; }
body .wc-block-components-order-summary-item__image img { width: 46px !important; height: 46px !important; -o-object-fit: contain !important; object-fit: contain !important; }
body .wc-block-components-order-summary-item__quantity { position: absolute !important; top: -8px !important; right: -8px !important; min-width: 22px !important; height: 22px !important; display: inline-flex !important; align-items: center !important; justify-content: center !important; border-radius: 999px !important; background: var(--wc24-accent) !important; color: #fff !important; border: 1px solid #fff !important; font-size: 12px !important; font-weight: 950 !important; }
body .wc-block-checkout__sidebar .wc-block-components-product-metadata { display: none !important; }

/* =========================================================
   My account, login, register, lost password
========================================================= */
body.woocommerce-account .woocommerce-MyAccount-navigation { padding: 22px !important; border-radius: 28px !important; background: radial-gradient(circle at 90% 0%, rgba(16,171,182,.16), transparent 35%), linear-gradient(135deg, var(--wc24-primary), var(--wc24-primary-dark)) !important; border: 1px solid rgba(255,255,255,.12) !important; box-shadow: 0 18px 48px rgba(7,59,95,.14) !important; }
body.woocommerce-account .woocommerce-MyAccount-navigation ul { margin: 0 !important; padding: 0 !important; list-style: none !important; }
body.woocommerce-account .woocommerce-MyAccount-navigation li { margin: 0 0 10px !important; padding: 0 !important; list-style: none !important; }
body.woocommerce-account .woocommerce-MyAccount-navigation li a { min-height: 48px !important; display: flex !important; align-items: center !important; gap: 11px !important; padding: 0 14px !important; border-radius: 15px !important; background: rgba(255,255,255,.08) !important; border: 1px solid rgba(255,255,255,.12) !important; color: #fff !important; font-size: 14px !important; font-weight: 900 !important; line-height: 1.2 !important; text-decoration: none !important; box-shadow: none !important; }
body.woocommerce-account .woocommerce-MyAccount-navigation li a:hover { background: rgba(16,171,182,.20) !important; border-color: rgba(16,171,182,.42) !important; }
body.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a { background: var(--wc24-accent) !important; color: #fff !important; border-color: var(--wc24-accent) !important; box-shadow: 0 12px 26px rgba(16,171,182,.24) !important; }
body.woocommerce-account .woocommerce-MyAccount-content { padding: 34px !important; border-radius: 28px !important; background: #fff !important; border: 1px solid var(--wc24-border) !important; box-shadow: 0 18px 48px rgba(7,59,95,.06) !important; color: var(--wc24-text) !important; overflow: hidden !important; }
body.woocommerce-account .woocommerce-MyAccount-content > p:first-of-type { margin: 0 0 18px !important; padding: 22px 24px !important; border-radius: 22px !important; background: var(--wc24-soft) !important; border: 1px solid var(--wc24-border) !important; color: var(--wc24-text) !important; font-size: 17px !important; line-height: 1.6 !important; }
body.woocommerce-account .woocommerce-MyAccount-content p { color: var(--wc24-muted) !important; font-size: 16px !important; line-height: 1.7 !important; }
body.woocommerce-account .woocommerce-MyAccount-content strong { color: var(--wc24-text) !important; font-weight: 950 !important; }
body.woocommerce-account .woocommerce-MyAccount-content a { color: var(--wc24-primary) !important; font-weight: 900 !important; text-decoration: none !important; border-bottom: 2px solid rgba(16,171,182,.55) !important; }
body.woocommerce-account .woocommerce-info,
body.woocommerce-account .woocommerce-message,
body.woocommerce-account .woocommerce-error { margin: 0 0 20px !important; padding: 22px 24px !important; border-radius: 22px !important; background: var(--wc24-soft) !important; border: 1px solid var(--wc24-border) !important; color: var(--wc24-text) !important; font-size: 16px !important; font-weight: 850 !important; line-height: 1.5 !important; box-shadow: none !important; }
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-info { position: relative !important; display: flex !important; align-items: center !important; gap: 14px !important; flex-wrap: wrap !important; padding-left: 58px !important; min-height: 76px !important; }
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-info::before { position: absolute !important; left: 24px !important; top: 50% !important; transform: translateY(-50%) !important; margin: 0 !important; color: var(--wc24-primary) !important; font-size: 18px !important; line-height: 1 !important; }
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-info .button,
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-info .wc-forward { margin-left: auto !important; }
body.woocommerce-account .woocommerce-MyAccount-content .button,
body.woocommerce-account .woocommerce-MyAccount-content button,
body.woocommerce-account .woocommerce-MyAccount-content input[type="submit"],
body.woocommerce-account .woocommerce-info .button,
body.woocommerce-account .woocommerce-message .button { min-height: 46px !important; display: inline-flex !important; align-items: center !important; justify-content: center !important; padding: 0 18px !important; border: 0 !important; border-radius: 14px !important; background: var(--wc24-accent) !important; color: #fff !important; font-size: 14px !important; font-weight: 950 !important; line-height: 1 !important; text-decoration: none !important; box-shadow: 0 12px 24px rgba(16,171,182,.22) !important; }
body.woocommerce-account .woocommerce-MyAccount-content .button:hover,
body.woocommerce-account .woocommerce-MyAccount-content button:hover,
body.woocommerce-account .woocommerce-MyAccount-content input[type="submit"]:hover,
body.woocommerce-account .woocommerce-info .button:hover,
body.woocommerce-account .woocommerce-message .button:hover { background: var(--wc24-primary) !important; color: #fff !important; }

body.woocommerce-account #customer_login h2,
body.woocommerce-account .page-content > .woocommerce > h2 { margin-bottom: 18px !important; color: var(--wc24-text) !important; font-size: 34px !important; font-weight: 950 !important; line-height: 1.08 !important; letter-spacing: -.045em !important; }
body.woocommerce-account #customer_login h2::after,
body.woocommerce-account .page-content > .woocommerce > h2::after { content: "" !important; display: block !important; width: 72px !important; height: 4px !important; margin-top: 14px !important; border-radius: 999px !important; background: var(--wc24-accent) !important; }
body.woocommerce-account .woocommerce-form-login,
body.woocommerce-account .woocommerce-form-register,
body.woocommerce-account .lost_reset_password { padding: 34px !important; border-radius: 30px !important; background: radial-gradient(circle at 95% 0%, rgba(16,171,182,.12), transparent 34%), #fff !important; border: 1px solid var(--wc24-border) !important; box-shadow: 0 22px 58px rgba(7,59,95,.10) !important; color: var(--wc24-text) !important; }
body.woocommerce-account .woocommerce-form-login .form-row,
body.woocommerce-account .woocommerce-form-register .form-row,
body.woocommerce-account .lost_reset_password .form-row,
body.woocommerce-account .registration-form-mailpoet { margin-bottom: 16px !important; }
body.woocommerce-account .woocommerce-form-login label,
body.woocommerce-account .woocommerce-form-register label,
body.woocommerce-account .lost_reset_password label { margin-bottom: 8px !important; color: var(--wc24-text) !important; font-size: 14px !important; font-weight: 900 !important; line-height: 1.25 !important; }
body.woocommerce-account .woocommerce-form-login input[type="text"],
body.woocommerce-account .woocommerce-form-login input[type="email"],
body.woocommerce-account .woocommerce-form-login input[type="password"],
body.woocommerce-account .woocommerce-form-register input[type="text"],
body.woocommerce-account .woocommerce-form-register input[type="email"],
body.woocommerce-account .woocommerce-form-register input[type="password"],
body.woocommerce-account .lost_reset_password input[type="text"],
body.woocommerce-account .lost_reset_password input[type="email"],
body.woocommerce-account .lost_reset_password input[type="password"],
body.woocommerce-account .woocommerce-Input { min-height: 56px !important; padding: 0 16px !important; border-radius: 16px !important; border: 1px solid var(--wc24-border) !important; background: #fff !important; color: var(--wc24-text) !important; font-size: 15px !important; font-weight: 850 !important; outline: none !important; box-shadow: none !important; }
body.woocommerce-account .woocommerce-form-login input:focus,
body.woocommerce-account .woocommerce-form-register input:focus,
body.woocommerce-account .lost_reset_password input:focus,
body.woocommerce-account .woocommerce-Input:focus { border-color: var(--wc24-accent) !important; box-shadow: 0 0 0 4px rgba(16,171,182,.18) !important; }
body.woocommerce-account .password-input { display: block !important; }
body.woocommerce-account .show-password-input { border: 0 !important; border-radius: 12px !important; background: var(--wc24-soft) !important; color: var(--wc24-text) !important; box-shadow: none !important; }
body.woocommerce-account .show-password-input:hover { background: var(--wc24-accent) !important; color: #fff !important; }
body.woocommerce-account .woocommerce-form-login__submit,
body.woocommerce-account .woocommerce-form-register__submit,
body.woocommerce-account .lost_reset_password .woocommerce-Button,
body.woocommerce-account .woocommerce-form-login button[type="submit"],
body.woocommerce-account .woocommerce-form-register button[type="submit"],
body.woocommerce-account .lost_reset_password button[type="submit"] { min-height: 52px !important; padding: 0 22px !important; border: 0 !important; border-radius: 16px !important; background: var(--wc24-accent) !important; color: #fff !important; font-size: 15px !important; font-weight: 950 !important; line-height: 1 !important; text-decoration: none !important; box-shadow: 0 14px 28px rgba(16,171,182,.25) !important; }
body.woocommerce-account .woocommerce-form-login__submit:hover,
body.woocommerce-account .woocommerce-form-register__submit:hover,
body.woocommerce-account .lost_reset_password .woocommerce-Button:hover { background: var(--wc24-primary) !important; color: #fff !important; box-shadow: 0 16px 34px rgba(9,113,183,.24) !important; }
body.woocommerce-account .woocommerce-LostPassword,
body.woocommerce-account .woocommerce-form-register .woocommerce-privacy-policy-text,
body.woocommerce-account .lost_reset_password > p:first-child { margin-top: 18px !important; padding: 16px 18px !important; border-radius: 18px !important; background: var(--wc24-soft) !important; border: 1px solid var(--wc24-border) !important; color: var(--wc24-muted) !important; }
body.woocommerce-account .woocommerce-LostPassword { text-align: center !important; }
body.woocommerce-account .woocommerce-LostPassword a,
body.woocommerce-account .woocommerce-form-register .woocommerce-privacy-policy-text a { color: var(--wc24-primary) !important; font-weight: 950 !important; text-decoration: none !important; border-bottom: 2px solid rgba(16,171,182,.55) !important; }

/* =========================================================
   Responsive rules
========================================================= */
@media (max-width: 1180px) {
    body.single-product div.product { grid-template-columns: 1fr !important; }
    body.single-product div.product .woocommerce-product-gallery__image a { min-height: 420px !important; }
    body.single-product .related.products ul.products { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
}
@media (max-width: 1100px) {
    body .wc-block-components-sidebar-layout.wc-block-cart,
    body .wc-block-components-sidebar-layout.wc-block-checkout { grid-template-columns: 1fr !important; }
    body .wc-block-cart__sidebar,
    body .wc-block-checkout__sidebar { position: static !important; }
}
@media (max-width: 900px) {
    body.single-product .related.products ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
    #yith-wcwl-form table.wishlist_table,
    #yith-wcwl-form table.wishlist_table thead,
    #yith-wcwl-form table.wishlist_table tbody,
    #yith-wcwl-form table.wishlist_table tr,
    #yith-wcwl-form table.wishlist_table td { display: block !important; width: 100% !important; }
    #yith-wcwl-form table.wishlist_table thead { display: none !important; }
    #yith-wcwl-form table.wishlist_table tbody tr { position: relative; display: grid !important; grid-template-columns: 94px minmax(0, 1fr); gap: 14px; margin-bottom: 16px !important; padding: 16px !important; border-radius: 22px !important; border: 1px solid var(--wc24-border) !important; background: #fff !important; }
    #yith-wcwl-form table.wishlist_table tbody td { padding: 0 !important; border: 0 !important; background: transparent !important; }
    #yith-wcwl-form .product-remove { position: absolute !important; top: 12px !important; right: 12px !important; width: 36px !important; min-width: 36px !important; z-index: 5 !important; }
    #yith-wcwl-form .product-thumbnail { grid-row: 1 / span 4; width: 94px !important; }
    #yith-wcwl-form .product-thumbnail a { width: 94px; height: 94px; }
    #yith-wcwl-form .product-price,
    #yith-wcwl-form .product-stock-status,
    #yith-wcwl-form .product-add-to-cart { grid-column: 2; width: 100% !important; }
}
@media (max-width: 767px) {
    body.single-product #main.site-main,
    body .wp-block-woocommerce-cart,
    body .wp-block-woocommerce-checkout,
    body #yith-wcwl-form { width: min(100% - 22px, 1320px) !important; margin-left: auto !important; margin-right: auto !important; }
    body.single-product div.product .woocommerce-product-gallery,
    body.single-product div.product .summary,
    body.single-product div.product .woocommerce-tabs,
    body.single-product .related.products,
    body .wc-block-cart__main,
    body .wc-block-checkout__main,
    body .wc-block-cart__sidebar,
    body .wc-block-checkout__sidebar,
    body.woocommerce-account .woocommerce-MyAccount-content,
    body.woocommerce-account .woocommerce-form-login,
    body.woocommerce-account .woocommerce-form-register,
    body.woocommerce-account .lost_reset_password { padding: 22px !important; border-radius: 24px !important; }
    body.single-product div.product .woocommerce-product-gallery__image a { min-height: 280px !important; }
    body.single-product div.product .woocommerce-product-gallery img { max-height: 300px !important; padding: 12px !important; }
    body.single-product div.product .summary .product_title { font-size: 30px !important; }
    body.single-product div.product .summary .price { font-size: 23px !important; }
    body.single-product form.cart,
    .woocommerce div.product form.cart { grid-template-columns: 1fr !important; gap: 12px !important; }
    body.single-product form.cart .quantity,
    body.single-product form.cart .quantity input.qty,
    .woocommerce div.product form.cart .quantity,
    .woocommerce div.product form.cart .quantity input.qty { width: 100% !important; max-width: 100% !important; min-width: 0 !important; }
    body.single-product .woocommerce-tabs ul.tabs { display: grid !important; grid-template-columns: 1fr !important; }
    body.single-product .woocommerce-tabs ul.tabs li a { width: 100% !important; }
    body.single-product table.shop_attributes th,
    body.single-product table.shop_attributes td { display: block !important; width: 100% !important; }
    body.single-product .related.products ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 14px !important; }
    #yith-quick-view-modal .yith-wcqv-wrapper { width: calc(100vw - 20px) !important; max-height: calc(100vh - 20px) !important; border-radius: 24px !important; }
    #yith-quick-view-modal .yith-quick-view-content .product > .product,
    #yith-quick-view-modal .yith-quick-view-content .product .product { display: block !important; }
    #yith-quick-view-modal .images { padding: 26px 20px !important; border-right: 0 !important; border-bottom: 1px solid var(--wc24-border) !important; }
    #yith-quick-view-modal .images a { min-height: 240px !important; }
    #yith-quick-view-modal .summary,
    #yith-quick-view-modal .entry-summary { padding: 24px 20px 22px !important; }
    #yith-quick-view-modal form.cart { grid-template-columns: 96px minmax(0, 1fr) !important; }
    #yith-quick-view-modal form.cart .quantity,
    #yith-quick-view-modal form.cart .quantity input.qty { width: 96px !important; max-width: 96px !important; min-width: 96px !important; }
    body table.wc-block-cart-items,
    body table.wc-block-cart-items thead,
    body table.wc-block-cart-items tbody,
    body table.wc-block-cart-items tr,
    body table.wc-block-cart-items td { display: block !important; width: 100% !important; }
    body table.wc-block-cart-items thead { display: none !important; }
    body table.wc-block-cart-items tbody tr.wc-block-cart-items__row { display: grid !important; grid-template-columns: 96px minmax(0, 1fr) !important; gap: 14px !important; margin-bottom: 16px !important; padding: 16px !important; border-radius: 22px !important; border: 1px solid var(--wc24-border) !important; }
    body table.wc-block-cart-items tbody td { padding: 0 !important; border: 0 !important; background: transparent !important; }
    body .wc-block-cart-item__image { grid-row: 1 / span 4 !important; width: 96px !important; }
    body .wc-block-cart-item__product,
    body .wc-block-cart-item__total { grid-column: 2 !important; width: 100% !important; text-align: left !important; }
    body .wc-block-components-address-form { grid-template-columns: 1fr !important; }
    body .wc-block-checkout__actions_row { flex-direction: column-reverse !important; align-items: stretch !important; }
    body .wc-block-components-checkout-return-to-cart-button,
    body .wc-block-components-checkout-place-order-button { width: 100% !important; min-width: 0 !important; }
    body .wp-block-woocommerce-cart .wc-block-components-totals-coupon__form,
    body .wp-block-woocommerce-checkout .wc-block-components-totals-coupon__form { grid-template-columns: 1fr !important; }
}
@media (max-width: 480px) {
    body.single-product .related.products ul.products { grid-template-columns: 1fr !important; }
    #yith-quick-view-modal form.cart { grid-template-columns: 1fr !important; }
    #yith-quick-view-modal form.cart .quantity,
    #yith-quick-view-modal form.cart .quantity input.qty { width: 100% !important; max-width: 100% !important; min-width: 0 !important; }
    #yith-wcwl-form table.wishlist_table tbody tr,
    body table.wc-block-cart-items tbody tr.wc-block-cart-items__row { grid-template-columns: 1fr !important; }
    #yith-wcwl-form .product-thumbnail,
    #yith-wcwl-form .product-price,
    #yith-wcwl-form .product-stock-status,
    #yith-wcwl-form .product-add-to-cart,
    body .wc-block-cart-item__image,
    body .wc-block-cart-item__product,
    body .wc-block-cart-item__total { grid-column: 1 !important; }
    #yith-wcwl-form .product-thumbnail { width: 100% !important; }
    #yith-wcwl-form .product-thumbnail a,
    body .wc-block-cart-item__image a { width: 100% !important; height: 150px !important; }
}

/* =========================================================
   WooCommerce cart mobile fix - v1.25.7
   English comment: Force WooCommerce Blocks cart items into safe stacked cards on mobile.
========================================================= */
@media (max-width: 767px) {
    html,
    body {
        max-width: 100% !important;
        overflow-x: hidden !important;
    }

    body .wp-block-woocommerce-cart,
    body .wc-block-components-sidebar-layout.wc-block-cart,
    body .wc-block-cart__main,
    body .wc-block-cart__sidebar {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        overflow-x: hidden !important;
        box-sizing: border-box !important;
    }

    body .wp-block-woocommerce-cart {
        width: min(100% - 20px, 1320px) !important;
        margin: 22px auto 60px !important;
    }

    body .wc-block-components-sidebar-layout.wc-block-cart {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 18px !important;
    }

    body .wc-block-cart__main,
    body .wc-block-cart__sidebar {
        padding: 16px !important;
        border-radius: 22px !important;
    }

    body table.wc-block-cart-items,
    body table.wc-block-cart-items thead,
    body table.wc-block-cart-items tbody,
    body table.wc-block-cart-items tr,
    body table.wc-block-cart-items td {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        box-sizing: border-box !important;
        overflow: visible !important;
    }

    body table.wc-block-cart-items thead {
        display: none !important;
    }

    body table.wc-block-cart-items tbody tr.wc-block-cart-items__row {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 12px !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 0 16px !important;
        padding: 14px !important;
        border: 1px solid var(--wc24-border) !important;
        border-radius: 20px !important;
        background: #fff !important;
        box-shadow: 0 10px 26px rgba(7, 59, 95, .055) !important;
    }

    body table.wc-block-cart-items tbody td,
    body table.wc-block-cart-items tbody td:first-child,
    body table.wc-block-cart-items tbody td:last-child {
        grid-column: 1 !important;
        width: 100% !important;
        max-width: 100% !important;
        padding: 0 !important;
        border: 0 !important;
        border-radius: 0 !important;
        background: transparent !important;
        text-align: left !important;
    }

    body .wc-block-cart-item__image {
        order: 1 !important;
        width: 100% !important;
        max-width: 100% !important;
    }

    body .wc-block-cart-item__image a {
        width: 100% !important;
        height: 132px !important;
        max-width: 100% !important;
        margin: 0 !important;
        border-radius: 18px !important;
    }

    body .wc-block-cart-item__image img {
        width: 104px !important;
        height: 104px !important;
        max-width: 104px !important;
        max-height: 104px !important;
        margin: 0 auto !important;
        -o-object-fit: contain !important;
           object-fit: contain !important;
    }

    body .wc-block-cart-item__product,
    body .wc-block-cart-item__total {
        order: 2 !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        text-align: left !important;
    }

    body .wc-block-components-product-name {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 0 6px !important;
        font-size: 17px !important;
        line-height: 1.25 !important;
        word-break: break-word !important;
        overflow-wrap: anywhere !important;
    }

    body .wc-block-components-product-metadata,
    body .wc-block-components-product-metadata p,
    body .wc-block-components-product-metadata .wc-block-components-product-metadata__description,
    body .wc-block-components-product-metadata .wc-block-components-product-details {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        overflow-wrap: anywhere !important;
        word-break: break-word !important;
    }

    body .wc-block-components-product-price,
    body .wc-block-components-product-price__value,
    body .wc-block-cart-item__total .wc-block-components-product-price__value {
        display: block !important;
        width: 100% !important;
        margin: 8px 0 0 !important;
        font-size: 19px !important;
        text-align: left !important;
    }

    body .wc-block-cart-item__quantity {
        width: 100% !important;
        max-width: 100% !important;
        display: flex !important;
        flex-wrap: wrap !important;
        align-items: center !important;
        gap: 10px !important;
        margin-top: 12px !important;
    }

    body .wc-block-components-quantity-selector {
        flex: 1 1 160px !important;
        width: auto !important;
        min-width: 144px !important;
        max-width: 220px !important;
    }

    body .wc-block-cart-item__remove-link {
        flex: 0 0 44px !important;
        width: 44px !important;
        height: 44px !important;
        min-width: 44px !important;
        margin: 0 !important;
    }

    body .wc-block-cart__totals-title,
    body .wc-block-components-totals-item__value,
    body .wc-block-components-totals-footer-item-tax-value {
        word-break: break-word !important;
    }

    body .wc-block-cart__submit-button,
    body .wc-block-components-button.wc-block-cart__submit-button {
        width: 100% !important;
        min-width: 0 !important;
        white-space: normal !important;
        text-align: center !important;
    }
}

/* =========================================================
   WooCommerce cart mobile hard fix - v1.25.7
   English comment: Support newer WooCommerce Blocks markup and stop image/price/quantity overlap on phones.
========================================================= */
@media (max-width: 767px) {
    body .wp-block-woocommerce-cart,
    body .wc-block-components-sidebar-layout,
    body .wc-block-components-sidebar-layout.wc-block-cart,
    body .wc-block-cart,
    body .wc-block-cart__main,
    body .wc-block-cart__sidebar,
    body .wc-block-components-main,
    body .wc-block-components-sidebar {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        overflow-x: hidden !important;
        box-sizing: border-box !important;
    }

    body .wp-block-woocommerce-cart {
        width: min(100% - 18px, 1320px) !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }

    body .wc-block-components-sidebar-layout.wc-block-cart,
    body .wc-block-components-sidebar-layout {
        display: flex !important;
        flex-direction: column !important;
        gap: 18px !important;
    }

    body .wc-block-cart-items,
    body .wc-block-cart-items tbody,
    body .wc-block-cart-items tr,
    body .wc-block-cart-items td,
    body .wc-block-cart-items th,
    body .wc-block-cart-items__row,
    body .wc-block-cart-item__image,
    body .wc-block-cart-item__product,
    body .wc-block-cart-item__total {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        float: none !important;
        clear: both !important;
        position: static !important;
        box-sizing: border-box !important;
        overflow: visible !important;
        text-align: left !important;
        vertical-align: top !important;
    }

    body .wc-block-cart-items thead,
    body .wc-block-cart-items__header {
        display: none !important;
    }

    body .wc-block-cart-items__row,
    body table.wc-block-cart-items tbody tr.wc-block-cart-items__row {
        display: flex !important;
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 12px !important;
        margin: 0 0 16px !important;
        padding: 14px !important;
        border-radius: 20px !important;
        background: #fff !important;
        border: 1px solid var(--wc24-border) !important;
        box-shadow: 0 10px 26px rgba(7, 59, 95, .055) !important;
    }

    body .wc-block-cart-items__row > td,
    body table.wc-block-cart-items tbody tr.wc-block-cart-items__row > td {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        padding: 0 !important;
        border: 0 !important;
        background: transparent !important;
    }

    body .wc-block-cart-item__image {
        order: 1 !important;
        display: flex !important;
        justify-content: center !important;
        align-items: center !important;
        padding: 0 !important;
    }

    body .wc-block-cart-item__image a,
    body .wc-block-cart-item__image .wc-block-components-product-image {
        width: 100% !important;
        height: 132px !important;
        max-width: 100% !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        margin: 0 !important;
        padding: 12px !important;
        border-radius: 18px !important;
        background: linear-gradient(180deg, #ffffff, var(--wc24-soft)) !important;
        border: 1px solid var(--wc24-border) !important;
        overflow: hidden !important;
        box-sizing: border-box !important;
    }

    body .wc-block-cart-item__image img {
        width: 104px !important;
        height: 104px !important;
        max-width: 104px !important;
        max-height: 104px !important;
        -o-object-fit: contain !important;
           object-fit: contain !important;
        display: block !important;
        margin: 0 auto !important;
        position: static !important;
    }

    body .wc-block-cart-item__product {
        order: 2 !important;
        display: grid !important;
        gap: 8px !important;
    }

    body .wc-block-cart-item__total {
        order: 3 !important;
    }

    body .wc-block-components-product-name,
    body .wc-block-cart-item__product .wc-block-components-product-name {
        display: block !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        color: var(--wc24-text) !important;
        font-size: 18px !important;
        line-height: 1.23 !important;
        font-weight: 950 !important;
        letter-spacing: -.02em !important;
        overflow-wrap: anywhere !important;
        word-break: break-word !important;
    }

    body .wc-block-components-product-metadata,
    body .wc-block-components-product-metadata__description,
    body .wc-block-components-product-details,
    body .wc-block-components-product-metadata p {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        color: var(--wc24-muted) !important;
        font-size: 14px !important;
        line-height: 1.45 !important;
        overflow-wrap: anywhere !important;
        word-break: break-word !important;
    }

    body .wc-block-cart-item__prices,
    body .wc-block-components-product-price,
    body .wc-block-components-product-price__value,
    body .wc-block-cart-item__total .wc-block-components-product-price__value,
    body .wc-block-cart-item__total-price-and-sale-badge-wrapper {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        color: var(--wc24-text) !important;
        text-align: left !important;
        position: static !important;
        float: none !important;
        clear: both !important;
        white-space: normal !important;
    }

    body .wc-block-components-product-price__value,
    body .wc-block-components-product-price .amount,
    body .wc-block-cart-item__total .wc-block-components-product-price__value {
        font-size: 20px !important;
        line-height: 1.2 !important;
        font-weight: 950 !important;
    }

    body .wc-block-cart-item__quantity {
        display: flex !important;
        flex-wrap: wrap !important;
        align-items: center !important;
        gap: 10px !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 4px 0 0 !important;
        position: static !important;
        float: none !important;
        clear: both !important;
    }

    body .wc-block-components-quantity-selector {
        flex: 1 1 156px !important;
        width: auto !important;
        max-width: 210px !important;
        min-width: 142px !important;
        height: 46px !important;
        margin: 0 !important;
    }

    body .wc-block-cart-item__remove-link,
    body .wc-block-cart-item__remove-link[aria-label] {
        flex: 0 0 46px !important;
        width: 46px !important;
        height: 46px !important;
        min-width: 46px !important;
        max-width: 46px !important;
        margin: 0 !important;
        border-radius: 14px !important;
    }

    body .wc-block-cart__totals-title,
    body .wc-block-components-totals-item,
    body .wc-block-components-totals-item__label,
    body .wc-block-components-totals-item__value,
    body .wc-block-components-totals-footer-item,
    body .wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
        min-width: 0 !important;
        max-width: 100% !important;
        overflow-wrap: anywhere !important;
        word-break: break-word !important;
    }
}

/* =========================================================
   WooCommerce cart mobile hard fix - v1.25.8
   English comment: Hide the duplicate total column on mobile and force cart rows into non-overlapping cards.
========================================================= */
@media (max-width: 782px) {
    body.woocommerce-cart,
    body.woocommerce-cart #page,
    body.woocommerce-cart .site,
    body.woocommerce-cart main,
    body.woocommerce-cart .site-main,
    body.woocommerce-cart .entry-content,
    body.woocommerce-cart .wp-block-woocommerce-cart,
    body.woocommerce-cart .wc-block-cart,
    body.woocommerce-cart .wc-block-cart__main,
    body.woocommerce-cart .wc-block-cart__sidebar,
    body.woocommerce-cart .wc-block-components-sidebar-layout,
    body.woocommerce-cart .wc-block-components-main,
    body.woocommerce-cart .wc-block-components-sidebar {
        max-width: 100% !important;
        min-width: 0 !important;
        overflow-x: hidden !important;
        box-sizing: border-box !important;
    }

    body.woocommerce-cart .wp-block-woocommerce-cart {
        width: calc(100% - 18px) !important;
        margin-right: auto !important;
        margin-left: auto !important;
    }

    body.woocommerce-cart .wc-block-components-sidebar-layout,
    body.woocommerce-cart .wc-block-components-sidebar-layout.wc-block-cart {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 18px !important;
    }

    body.woocommerce-cart table.wc-block-cart-items,
    body.woocommerce-cart table.wc-block-cart-items tbody,
    body.woocommerce-cart table.wc-block-cart-items tr,
    body.woocommerce-cart table.wc-block-cart-items td,
    body.woocommerce-cart .wc-block-cart-items,
    body.woocommerce-cart .wc-block-cart-items tbody,
    body.woocommerce-cart .wc-block-cart-items tr,
    body.woocommerce-cart .wc-block-cart-items td {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        float: none !important;
        clear: both !important;
        position: static !important;
        box-sizing: border-box !important;
        overflow: visible !important;
    }

    body.woocommerce-cart table.wc-block-cart-items thead,
    body.woocommerce-cart .wc-block-cart-items thead,
    body.woocommerce-cart .wc-block-cart-items__header {
        display: none !important;
    }

    body.woocommerce-cart table.wc-block-cart-items tr.wc-block-cart-items__row,
    body.woocommerce-cart .wc-block-cart-items__row {
        display: grid !important;
        grid-template-columns: 86px minmax(0, 1fr) !important;
        grid-template-areas:
            "image product"
            "image product"
            "quantity quantity" !important;
        gap: 12px !important;
        align-items: start !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 0 16px !important;
        padding: 14px !important;
        border: 1px solid var(--wc24-border, #D7ECF4) !important;
        border-radius: 20px !important;
        background: #fff !important;
        box-shadow: 0 10px 26px rgba(7, 59, 95, .06) !important;
        overflow: hidden !important;
    }

    body.woocommerce-cart table.wc-block-cart-items tr.wc-block-cart-items__row > td,
    body.woocommerce-cart .wc-block-cart-items__row > td {
        display: block !important;
        width: auto !important;
        max-width: 100% !important;
        min-width: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        background: transparent !important;
    }

    body.woocommerce-cart .wc-block-cart-item__image {
        grid-area: image !important;
        width: 86px !important;
        max-width: 86px !important;
        padding: 0 !important;
    }

    body.woocommerce-cart .wc-block-cart-item__image a,
    body.woocommerce-cart .wc-block-cart-item__image .wc-block-components-product-image {
        display: flex !important;
        width: 86px !important;
        height: 86px !important;
        max-width: 86px !important;
        align-items: center !important;
        justify-content: center !important;
        margin: 0 !important;
        padding: 8px !important;
        border: 1px solid var(--wc24-border, #D7ECF4) !important;
        border-radius: 16px !important;
        background: linear-gradient(180deg, #fff, var(--wc24-soft, #EEF8FB)) !important;
        overflow: hidden !important;
        box-sizing: border-box !important;
    }

    body.woocommerce-cart .wc-block-cart-item__image img {
        display: block !important;
        width: 70px !important;
        height: 70px !important;
        max-width: 70px !important;
        max-height: 70px !important;
        margin: 0 auto !important;
        -o-object-fit: contain !important;
           object-fit: contain !important;
        position: static !important;
        float: none !important;
    }

    body.woocommerce-cart .wc-block-cart-item__product {
        grid-area: product !important;
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 7px !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        overflow: hidden !important;
    }

    body.woocommerce-cart .wc-block-cart-item__total {
        display: none !important;
    }

    body.woocommerce-cart .wc-block-components-product-name,
    body.woocommerce-cart .wc-block-cart-item__product .wc-block-components-product-name {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        color: var(--wc24-text, #073B5F) !important;
        font-size: 16px !important;
        line-height: 1.22 !important;
        font-weight: 950 !important;
        overflow-wrap: anywhere !important;
        word-break: break-word !important;
    }

    body.woocommerce-cart .wc-block-cart-item__prices,
    body.woocommerce-cart .wc-block-components-product-price,
    body.woocommerce-cart .wc-block-components-product-price__value,
    body.woocommerce-cart .wc-block-components-product-price .amount,
    body.woocommerce-cart .wc-block-components-product-price bdi {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        color: var(--wc24-text, #073B5F) !important;
        font-size: 17px !important;
        line-height: 1.2 !important;
        font-weight: 950 !important;
        text-align: left !important;
        white-space: normal !important;
        position: static !important;
        float: none !important;
    }

    body.woocommerce-cart .wc-block-components-product-metadata,
    body.woocommerce-cart .wc-block-components-product-metadata__description,
    body.woocommerce-cart .wc-block-components-product-details,
    body.woocommerce-cart .wc-block-components-product-metadata p {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        color: var(--wc24-muted, #5F7181) !important;
        font-size: 13px !important;
        line-height: 1.42 !important;
        overflow-wrap: anywhere !important;
        word-break: break-word !important;
    }

    body.woocommerce-cart .wc-block-cart-item__quantity {
        grid-area: quantity !important;
        display: flex !important;
        flex-wrap: wrap !important;
        align-items: center !important;
        justify-content: flex-start !important;
        gap: 10px !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 4px 0 0 !important;
        padding-top: 10px !important;
        border-top: 1px solid var(--wc24-border, #D7ECF4) !important;
        position: static !important;
        float: none !important;
        clear: both !important;
    }

    body.woocommerce-cart .wc-block-components-quantity-selector {
        flex: 1 1 160px !important;
        width: auto !important;
        max-width: 210px !important;
        min-width: 146px !important;
        height: 44px !important;
        margin: 0 !important;
    }

    body.woocommerce-cart .wc-block-cart-item__remove-link,
    body.woocommerce-cart .wc-block-cart-item__remove-link[aria-label] {
        flex: 0 0 44px !important;
        width: 44px !important;
        height: 44px !important;
        min-width: 44px !important;
        max-width: 44px !important;
        margin: 0 !important;
        padding: 0 !important;
        border-radius: 14px !important;
    }
}

@media (max-width: 420px) {
    body.woocommerce-cart table.wc-block-cart-items tr.wc-block-cart-items__row,
    body.woocommerce-cart .wc-block-cart-items__row {
        grid-template-columns: 74px minmax(0, 1fr) !important;
        gap: 10px !important;
        padding: 12px !important;
    }

    body.woocommerce-cart .wc-block-cart-item__image,
    body.woocommerce-cart .wc-block-cart-item__image a,
    body.woocommerce-cart .wc-block-cart-item__image .wc-block-components-product-image {
        width: 74px !important;
        max-width: 74px !important;
        height: 74px !important;
    }

    body.woocommerce-cart .wc-block-cart-item__image img {
        width: 60px !important;
        height: 60px !important;
        max-width: 60px !important;
        max-height: 60px !important;
    }

    body.woocommerce-cart .wc-block-components-product-name,
    body.woocommerce-cart .wc-block-cart-item__product .wc-block-components-product-name {
        font-size: 15px !important;
    }
}

/* =========================================================
   WooCommerce shop/archive pages: default product grid
   Version 1.26.0
========================================================= */
body.woocommerce-shop,
body.post-type-archive-product,
body.tax-product_cat,
body.tax-product_tag {
    overflow-x: clip;
    background:
        radial-gradient(circle at top left, rgba(16, 171, 182, 0.12), transparent 32rem),
        linear-gradient(180deg, #F4FBFE 0%, #FFFFFF 42%, #F8FCFE 100%);
}

body.woocommerce-shop #main.site-main,
body.post-type-archive-product #main.site-main,
body.tax-product_cat #main.site-main,
body.tax-product_tag #main.site-main {
    width: min(100% - 40px, 1320px) !important;
    margin: 34px auto 84px !important;
    padding: 0 !important;
    color: var(--wc24-text) !important;
}

body.woocommerce-shop .woocommerce-breadcrumb,
body.post-type-archive-product .woocommerce-breadcrumb,
body.tax-product_cat .woocommerce-breadcrumb,
body.tax-product_tag .woocommerce-breadcrumb {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 7px !important;
    width: -moz-fit-content !important;
    width: fit-content !important;
    max-width: 100% !important;
    margin: 0 0 18px !important;
    padding: 11px 15px !important;
    border: 1px solid rgba(215, 236, 244, 0.95) !important;
    border-radius: 999px !important;
    background: rgba(255, 255, 255, 0.92) !important;
    color: var(--wc24-muted) !important;
    font-size: 13px !important;
    font-weight: 800 !important;
    line-height: 1.45 !important;
    box-shadow: 0 14px 32px rgba(7, 59, 95, 0.06) !important;
}

body.woocommerce-shop .woocommerce-breadcrumb a,
body.post-type-archive-product .woocommerce-breadcrumb a,
body.tax-product_cat .woocommerce-breadcrumb a,
body.tax-product_tag .woocommerce-breadcrumb a {
    color: var(--wc24-primary) !important;
    text-decoration: none !important;
}

body.woocommerce-shop .woocommerce-breadcrumb a:hover,
body.post-type-archive-product .woocommerce-breadcrumb a:hover,
body.tax-product_cat .woocommerce-breadcrumb a:hover,
body.tax-product_tag .woocommerce-breadcrumb a:hover {
    color: var(--wc24-accent-dark) !important;
}

body.woocommerce-shop .woocommerce-products-header,
body.post-type-archive-product .woocommerce-products-header,
body.tax-product_cat .woocommerce-products-header,
body.tax-product_tag .woocommerce-products-header {
    position: relative !important;
    isolation: isolate !important;
    margin: 0 0 24px !important;
    padding: clamp(26px, 4vw, 46px) clamp(20px, 4vw, 44px) !important;
    overflow: hidden !important;
    border-radius: 28px !important;
    border: 1px solid rgba(255, 255, 255, 0.48) !important;
    background:
        radial-gradient(circle at 88% 10%, rgba(16, 171, 182, 0.44), transparent 28%),
        radial-gradient(circle at 14% 86%, rgba(255, 255, 255, 0.14), transparent 34%),
        linear-gradient(135deg, var(--wc24-primary-deep) 0%, var(--wc24-primary) 58%, var(--wc24-accent) 100%) !important;
    box-shadow: 0 22px 50px rgba(7, 59, 95, 0.18) !important;
}

body.woocommerce-shop .woocommerce-products-header::before,
body.post-type-archive-product .woocommerce-products-header::before,
body.tax-product_cat .woocommerce-products-header::before,
body.tax-product_tag .woocommerce-products-header::before {
    content: "" !important;
    position: absolute !important;
    inset: 0 !important;
    z-index: -1 !important;
    opacity: 0.38 !important;
    background-image:
        linear-gradient(rgba(255, 255, 255, 0.14) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255, 255, 255, 0.14) 1px, transparent 1px) !important;
    background-size: 44px 44px !important;
    -webkit-mask-image: linear-gradient(90deg, rgba(0,0,0,.92), rgba(0,0,0,.15));
            mask-image: linear-gradient(90deg, rgba(0,0,0,.92), rgba(0,0,0,.15));
}

body.woocommerce-shop .woocommerce-products-header::after,
body.post-type-archive-product .woocommerce-products-header::after,
body.tax-product_cat .woocommerce-products-header::after,
body.tax-product_tag .woocommerce-products-header::after {
    content: "Consumabile pentru imprimanta ta" !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    margin-top: 14px !important;
    padding: 9px 14px !important;
    border-radius: 999px !important;
    border: 1px solid rgba(255, 255, 255, 0.28) !important;
    background: rgba(255, 255, 255, 0.12) !important;
    color: rgba(255, 255, 255, 0.92) !important;
    font-size: 13px !important;
    font-weight: 900 !important;
    letter-spacing: 0.02em !important;
}

body.woocommerce-shop .woocommerce-products-header__title,
body.post-type-archive-product .woocommerce-products-header__title,
body.tax-product_cat .woocommerce-products-header__title,
body.tax-product_tag .woocommerce-products-header__title,
body.woocommerce-shop h1.page-title,
body.post-type-archive-product h1.page-title,
body.tax-product_cat h1.page-title,
body.tax-product_tag h1.page-title {
    max-width: 820px !important;
    margin: 0 !important;
    color: #fff !important;
    font-size: clamp(34px, 5vw, 64px) !important;
    font-weight: 950 !important;
    line-height: 0.96 !important;
    letter-spacing: -0.05em !important;
    text-shadow: 0 16px 34px rgba(0, 0, 0, 0.16) !important;
}

body.woocommerce-shop .term-description,
body.post-type-archive-product .term-description,
body.tax-product_cat .term-description,
body.tax-product_tag .term-description {
    max-width: 980px !important;
    margin: -8px 0 26px !important;
    padding: 18px 20px !important;
    border: 1px solid var(--wc24-border) !important;
    border-radius: 22px !important;
    background: rgba(255, 255, 255, 0.86) !important;
    color: var(--wc24-muted) !important;
    font-size: 15px !important;
    line-height: 1.75 !important;
    box-shadow: 0 14px 34px rgba(7, 59, 95, 0.06) !important;
}

body.woocommerce-shop .woocommerce-notices-wrapper,
body.post-type-archive-product .woocommerce-notices-wrapper,
body.tax-product_cat .woocommerce-notices-wrapper,
body.tax-product_tag .woocommerce-notices-wrapper {
    margin: 0 0 18px !important;
}

body.woocommerce-shop .woocommerce-result-count,
body.post-type-archive-product .woocommerce-result-count,
body.tax-product_cat .woocommerce-result-count,
body.tax-product_tag .woocommerce-result-count,
body.woocommerce-shop .woocommerce-ordering,
body.post-type-archive-product .woocommerce-ordering,
body.tax-product_cat .woocommerce-ordering,
body.tax-product_tag .woocommerce-ordering {
    float: none !important;
}

body.woocommerce-shop .woocommerce-result-count,
body.post-type-archive-product .woocommerce-result-count,
body.tax-product_cat .woocommerce-result-count,
body.tax-product_tag .woocommerce-result-count {
    display: inline-flex !important;
    align-items: center !important;
    min-height: 48px !important;
    margin: 0 0 22px !important;
    padding: 0 18px !important;
    border: 1px solid var(--wc24-border) !important;
    border-radius: 16px !important;
    background: #fff !important;
    color: var(--wc24-muted) !important;
    font-size: 14px !important;
    font-weight: 850 !important;
    line-height: 1.35 !important;
    box-shadow: 0 12px 28px rgba(7, 59, 95, 0.05) !important;
}

body.woocommerce-shop .woocommerce-ordering,
body.post-type-archive-product .woocommerce-ordering,
body.tax-product_cat .woocommerce-ordering,
body.tax-product_tag .woocommerce-ordering {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    margin: 0 0 22px 14px !important;
    vertical-align: top !important;
}

body.woocommerce-shop .woocommerce-ordering select.orderby,
body.post-type-archive-product .woocommerce-ordering select.orderby,
body.tax-product_cat .woocommerce-ordering select.orderby,
body.tax-product_tag .woocommerce-ordering select.orderby {
    min-height: 48px !important;
    min-width: 260px !important;
    max-width: 100% !important;
    padding: 0 46px 0 16px !important;
    border: 1px solid var(--wc24-border) !important;
    border-radius: 16px !important;
    background-color: #fff !important;
    color: var(--wc24-text) !important;
    font-size: 14px !important;
    font-weight: 850 !important;
    line-height: 1.2 !important;
    box-shadow: 0 12px 28px rgba(7, 59, 95, 0.05) !important;
    outline: none !important;
    cursor: pointer !important;
}

body.woocommerce-shop .woocommerce-ordering select.orderby:focus,
body.post-type-archive-product .woocommerce-ordering select.orderby:focus,
body.tax-product_cat .woocommerce-ordering select.orderby:focus,
body.tax-product_tag .woocommerce-ordering select.orderby:focus {
    border-color: rgba(16, 171, 182, 0.72) !important;
    box-shadow: 0 0 0 4px rgba(16, 171, 182, 0.14), 0 12px 28px rgba(7, 59, 95, 0.05) !important;
}

body.woocommerce-shop ul.products,
body.post-type-archive-product ul.products,
body.tax-product_cat ul.products,
body.tax-product_tag ul.products {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 22px !important;
    width: 100% !important;
    margin: 10px 0 42px !important;
    padding: 0 !important;
    clear: both !important;
}

body.woocommerce-shop ul.products::before,
body.woocommerce-shop ul.products::after,
body.post-type-archive-product ul.products::before,
body.post-type-archive-product ul.products::after,
body.tax-product_cat ul.products::before,
body.tax-product_cat ul.products::after,
body.tax-product_tag ul.products::before,
body.tax-product_tag ul.products::after {
    display: none !important;
    content: none !important;
}

body.woocommerce-shop ul.products li.product,
body.post-type-archive-product ul.products li.product,
body.tax-product_cat ul.products li.product,
body.tax-product_tag ul.products li.product {
    position: relative !important;
    display: flex !important;
    float: none !important;
    width: auto !important;
    min-width: 0 !important;
    min-height: 100% !important;
    margin: 0 !important;
    padding: 14px !important;
    flex-direction: column !important;
    overflow: hidden !important;
    border: 1px solid rgba(215, 236, 244, 0.96) !important;
    border-radius: 24px !important;
    background: rgba(255, 255, 255, 0.96) !important;
    box-shadow: 0 16px 40px rgba(7, 59, 95, 0.07) !important;
    transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease !important;
}

body.woocommerce-shop ul.products li.product:hover,
body.post-type-archive-product ul.products li.product:hover,
body.tax-product_cat ul.products li.product:hover,
body.tax-product_tag ul.products li.product:hover {
    transform: translateY(-4px) !important;
    border-color: rgba(16, 171, 182, 0.42) !important;
    box-shadow: 0 22px 58px rgba(7, 59, 95, 0.12) !important;
}

body.woocommerce-shop ul.products li.product .woocommerce-LoopProduct-link,
body.post-type-archive-product ul.products li.product .woocommerce-LoopProduct-link,
body.tax-product_cat ul.products li.product .woocommerce-LoopProduct-link,
body.tax-product_tag ul.products li.product .woocommerce-LoopProduct-link {
    display: flex !important;
    min-width: 0 !important;
    flex: 1 1 auto !important;
    flex-direction: column !important;
    color: inherit !important;
    text-decoration: none !important;
}

body.woocommerce-shop ul.products li.product img.attachment-woocommerce_thumbnail,
body.post-type-archive-product ul.products li.product img.attachment-woocommerce_thumbnail,
body.tax-product_cat ul.products li.product img.attachment-woocommerce_thumbnail,
body.tax-product_tag ul.products li.product img.attachment-woocommerce_thumbnail {
    display: block !important;
    width: 100% !important;
    height: 190px !important;
    max-width: 100% !important;
    margin: 0 0 14px !important;
    padding: 16px !important;
    -o-object-fit: contain !important;
       object-fit: contain !important;
    border: 1px solid rgba(215, 236, 244, 0.82) !important;
    border-radius: 20px !important;
    background: linear-gradient(180deg, #FFFFFF 0%, #F2FBFE 100%) !important;
}

body.woocommerce-shop ul.products li.product .woocommerce-loop-product__title,
body.post-type-archive-product ul.products li.product .woocommerce-loop-product__title,
body.tax-product_cat ul.products li.product .woocommerce-loop-product__title,
body.tax-product_tag ul.products li.product .woocommerce-loop-product__title {
    min-height: 48px !important;
    max-height: 48px !important;
    margin: 0 0 10px !important;
    padding: 0 !important;
    color: var(--wc24-text) !important;
    font-size: 15px !important;
    font-weight: 950 !important;
    line-height: 1.6 !important;
    letter-spacing: -0.02em !important;
    overflow: hidden !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
}

body.woocommerce-shop ul.products li.product .price,
body.post-type-archive-product ul.products li.product .price,
body.tax-product_cat ul.products li.product .price,
body.tax-product_tag ul.products li.product .price {
    display: inline-flex !important;
    width: -moz-fit-content !important;
    width: fit-content !important;
    max-width: 100% !important;
    min-height: 38px !important;
    align-items: center !important;
    margin: auto 0 12px !important;
    padding: 7px 12px !important;
    border-radius: 999px !important;
    border: 1px solid rgba(16, 171, 182, 0.24) !important;
    background: rgba(16, 171, 182, 0.10) !important;
    color: var(--wc24-primary-deep) !important;
    font-size: 17px !important;
    font-weight: 950 !important;
    line-height: 1.1 !important;
}

body.woocommerce-shop ul.products li.product .price .amount,
body.post-type-archive-product ul.products li.product .price .amount,
body.tax-product_cat ul.products li.product .price .amount,
body.tax-product_tag ul.products li.product .price .amount {
    color: var(--wc24-primary-deep) !important;
    font-weight: 950 !important;
}

body.woocommerce-shop ul.products li.product > a.button,
body.post-type-archive-product ul.products li.product > a.button,
body.tax-product_cat ul.products li.product > a.button,
body.tax-product_tag ul.products li.product > a.button,
body.woocommerce-shop ul.products li.product .compare.button,
body.post-type-archive-product ul.products li.product .compare.button,
body.tax-product_cat ul.products li.product .compare.button,
body.tax-product_tag ul.products li.product .compare.button,
body.woocommerce-shop ul.products li.product .yith-wcqv-button,
body.post-type-archive-product ul.products li.product .yith-wcqv-button,
body.tax-product_cat ul.products li.product .yith-wcqv-button,
body.tax-product_tag ul.products li.product .yith-wcqv-button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    min-height: 44px !important;
    margin: 6px 0 0 !important;
    padding: 10px 14px !important;
    border: 1px solid transparent !important;
    border-radius: 15px !important;
    box-shadow: none !important;
    font-size: 13px !important;
    font-weight: 950 !important;
    line-height: 1.15 !important;
    text-align: center !important;
    text-decoration: none !important;
    white-space: normal !important;
    cursor: pointer !important;
}

body.woocommerce-shop ul.products li.product > a.add_to_cart_button,
body.post-type-archive-product ul.products li.product > a.add_to_cart_button,
body.tax-product_cat ul.products li.product > a.add_to_cart_button,
body.tax-product_tag ul.products li.product > a.add_to_cart_button {
    order: 20 !important;
    background: var(--wc24-accent) !important;
    color: var(--wc24-primary-deep) !important;
}

body.woocommerce-shop ul.products li.product > a.add_to_cart_button:hover,
body.post-type-archive-product ul.products li.product > a.add_to_cart_button:hover,
body.tax-product_cat ul.products li.product > a.add_to_cart_button:hover,
body.tax-product_tag ul.products li.product > a.add_to_cart_button:hover {
    background: var(--wc24-accent-dark) !important;
    color: #fff !important;
}

body.woocommerce-shop ul.products li.product .yith-wcqv-button,
body.post-type-archive-product ul.products li.product .yith-wcqv-button,
body.tax-product_cat ul.products li.product .yith-wcqv-button,
body.tax-product_tag ul.products li.product .yith-wcqv-button {
    order: 21 !important;
    border-color: var(--wc24-border) !important;
    background: var(--wc24-soft) !important;
    color: var(--wc24-primary-deep) !important;
}

body.woocommerce-shop ul.products li.product .compare.button,
body.post-type-archive-product ul.products li.product .compare.button,
body.tax-product_cat ul.products li.product .compare.button,
body.tax-product_tag ul.products li.product .compare.button {
    order: 24 !important;
    border-color: rgba(7, 59, 95, 0.12) !important;
    background: #fff !important;
    color: var(--wc24-muted) !important;
}

body.woocommerce-shop ul.products li.product .compare.button:hover,
body.post-type-archive-product ul.products li.product .compare.button:hover,
body.tax-product_cat ul.products li.product .compare.button:hover,
body.tax-product_tag ul.products li.product .compare.button:hover,
body.woocommerce-shop ul.products li.product .yith-wcqv-button:hover,
body.post-type-archive-product ul.products li.product .yith-wcqv-button:hover,
body.tax-product_cat ul.products li.product .yith-wcqv-button:hover,
body.tax-product_tag ul.products li.product .yith-wcqv-button:hover {
    border-color: rgba(16, 171, 182, 0.44) !important;
    color: var(--wc24-primary-deep) !important;
    background: rgba(16, 171, 182, 0.08) !important;
}

body.woocommerce-shop ul.products li.product .yith-add-to-wishlist-button-block,
body.post-type-archive-product ul.products li.product .yith-add-to-wishlist-button-block,
body.tax-product_cat ul.products li.product .yith-add-to-wishlist-button-block,
body.tax-product_tag ul.products li.product .yith-add-to-wishlist-button-block {
    order: 23 !important;
    width: 100% !important;
    margin: 6px 0 0 !important;
}

body.woocommerce-shop ul.products li.product .yith-wcwl-add-to-wishlist-button,
body.post-type-archive-product ul.products li.product .yith-wcwl-add-to-wishlist-button,
body.tax-product_cat ul.products li.product .yith-wcwl-add-to-wishlist-button,
body.tax-product_tag ul.products li.product .yith-wcwl-add-to-wishlist-button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    min-height: 42px !important;
    gap: 8px !important;
    padding: 9px 12px !important;
    border: 1px solid rgba(215, 236, 244, 0.95) !important;
    border-radius: 15px !important;
    background: #fff !important;
    color: var(--wc24-primary-deep) !important;
    font-size: 12px !important;
    font-weight: 950 !important;
    line-height: 1.15 !important;
    text-align: center !important;
    text-decoration: none !important;
}

body.woocommerce-shop ul.products li.product .yith-wcwl-add-to-wishlist-button svg,
body.post-type-archive-product ul.products li.product .yith-wcwl-add-to-wishlist-button svg,
body.tax-product_cat ul.products li.product .yith-wcwl-add-to-wishlist-button svg,
body.tax-product_tag ul.products li.product .yith-wcwl-add-to-wishlist-button svg {
    width: 17px !important;
    height: 17px !important;
    flex: 0 0 17px !important;
}

body.woocommerce-shop ul.products li.product .yith-wcwl-add-to-wishlist-button__label,
body.post-type-archive-product ul.products li.product .yith-wcwl-add-to-wishlist-button__label,
body.tax-product_cat ul.products li.product .yith-wcwl-add-to-wishlist-button__label,
body.tax-product_tag ul.products li.product .yith-wcwl-add-to-wishlist-button__label {
    display: inline-block !important;
    max-width: 100% !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

body.woocommerce-shop nav.woocommerce-pagination,
body.post-type-archive-product nav.woocommerce-pagination,
body.tax-product_cat nav.woocommerce-pagination,
body.tax-product_tag nav.woocommerce-pagination {
    margin: 8px 0 0 !important;
    text-align: center !important;
}

body.woocommerce-shop nav.woocommerce-pagination ul.page-numbers,
body.post-type-archive-product nav.woocommerce-pagination ul.page-numbers,
body.tax-product_cat nav.woocommerce-pagination ul.page-numbers,
body.tax-product_tag nav.woocommerce-pagination ul.page-numbers {
    display: inline-flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    margin: 0 !important;
    padding: 12px !important;
    border: 1px solid var(--wc24-border) !important;
    border-radius: 20px !important;
    background: rgba(255, 255, 255, 0.92) !important;
    box-shadow: 0 14px 34px rgba(7, 59, 95, 0.06) !important;
}

body.woocommerce-shop nav.woocommerce-pagination ul.page-numbers li,
body.post-type-archive-product nav.woocommerce-pagination ul.page-numbers li,
body.tax-product_cat nav.woocommerce-pagination ul.page-numbers li,
body.tax-product_tag nav.woocommerce-pagination ul.page-numbers li {
    margin: 0 !important;
    border: 0 !important;
    list-style: none !important;
}

body.woocommerce-shop nav.woocommerce-pagination .page-numbers,
body.post-type-archive-product nav.woocommerce-pagination .page-numbers,
body.tax-product_cat nav.woocommerce-pagination .page-numbers,
body.tax-product_tag nav.woocommerce-pagination .page-numbers {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 42px !important;
    height: 42px !important;
    padding: 0 12px !important;
    border-radius: 14px !important;
    background: var(--wc24-soft) !important;
    color: var(--wc24-primary-deep) !important;
    font-size: 14px !important;
    font-weight: 950 !important;
    text-decoration: none !important;
}

body.woocommerce-shop nav.woocommerce-pagination .page-numbers.current,
body.post-type-archive-product nav.woocommerce-pagination .page-numbers.current,
body.tax-product_cat nav.woocommerce-pagination .page-numbers.current,
body.tax-product_tag nav.woocommerce-pagination .page-numbers.current,
body.woocommerce-shop nav.woocommerce-pagination a.page-numbers:hover,
body.post-type-archive-product nav.woocommerce-pagination a.page-numbers:hover,
body.tax-product_cat nav.woocommerce-pagination a.page-numbers:hover,
body.tax-product_tag nav.woocommerce-pagination a.page-numbers:hover {
    background: var(--wc24-accent) !important;
    color: #fff !important;
}

body.woocommerce-shop .woocommerce-info,
body.post-type-archive-product .woocommerce-info,
body.tax-product_cat .woocommerce-info,
body.tax-product_tag .woocommerce-info,
body.woocommerce-shop .woocommerce-message,
body.post-type-archive-product .woocommerce-message,
body.tax-product_cat .woocommerce-message,
body.tax-product_tag .woocommerce-message,
body.woocommerce-shop .woocommerce-error,
body.post-type-archive-product .woocommerce-error,
body.tax-product_cat .woocommerce-error,
body.tax-product_tag .woocommerce-error {
    border-radius: 18px !important;
    border-color: var(--wc24-border) !important;
    background: #fff !important;
    color: var(--wc24-text) !important;
    box-shadow: 0 14px 34px rgba(7, 59, 95, 0.06) !important;
}

@media (max-width: 1180px) {
    body.woocommerce-shop ul.products,
    body.post-type-archive-product ul.products,
    body.tax-product_cat ul.products,
    body.tax-product_tag ul.products {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        gap: 18px !important;
    }
}

@media (max-width: 820px) {
    body.woocommerce-shop #main.site-main,
    body.post-type-archive-product #main.site-main,
    body.tax-product_cat #main.site-main,
    body.tax-product_tag #main.site-main {
        width: min(100% - 26px, 1320px) !important;
        margin-top: 22px !important;
        margin-bottom: 56px !important;
    }

    body.woocommerce-shop .woocommerce-products-header,
    body.post-type-archive-product .woocommerce-products-header,
    body.tax-product_cat .woocommerce-products-header,
    body.tax-product_tag .woocommerce-products-header {
        border-radius: 24px !important;
        padding: 28px 20px !important;
    }

    body.woocommerce-shop .woocommerce-result-count,
    body.post-type-archive-product .woocommerce-result-count,
    body.tax-product_cat .woocommerce-result-count,
    body.tax-product_tag .woocommerce-result-count,
    body.woocommerce-shop .woocommerce-ordering,
    body.post-type-archive-product .woocommerce-ordering,
    body.tax-product_cat .woocommerce-ordering,
    body.tax-product_tag .woocommerce-ordering {
        display: flex !important;
        width: 100% !important;
        margin-right: 0 !important;
        margin-left: 0 !important;
    }

    body.woocommerce-shop .woocommerce-ordering select.orderby,
    body.post-type-archive-product .woocommerce-ordering select.orderby,
    body.tax-product_cat .woocommerce-ordering select.orderby,
    body.tax-product_tag .woocommerce-ordering select.orderby {
        width: 100% !important;
        min-width: 0 !important;
    }

    body.woocommerce-shop ul.products,
    body.post-type-archive-product ul.products,
    body.tax-product_cat ul.products,
    body.tax-product_tag ul.products {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 14px !important;
    }

    body.woocommerce-shop ul.products li.product,
    body.post-type-archive-product ul.products li.product,
    body.tax-product_cat ul.products li.product,
    body.tax-product_tag ul.products li.product {
        padding: 12px !important;
        border-radius: 20px !important;
    }

    body.woocommerce-shop ul.products li.product img.attachment-woocommerce_thumbnail,
    body.post-type-archive-product ul.products li.product img.attachment-woocommerce_thumbnail,
    body.tax-product_cat ul.products li.product img.attachment-woocommerce_thumbnail,
    body.tax-product_tag ul.products li.product img.attachment-woocommerce_thumbnail {
        height: 156px !important;
        padding: 12px !important;
        border-radius: 17px !important;
    }

    body.woocommerce-shop ul.products li.product .woocommerce-loop-product__title,
    body.post-type-archive-product ul.products li.product .woocommerce-loop-product__title,
    body.tax-product_cat ul.products li.product .woocommerce-loop-product__title,
    body.tax-product_tag ul.products li.product .woocommerce-loop-product__title {
        min-height: 44px !important;
        max-height: 44px !important;
        font-size: 14px !important;
        line-height: 1.55 !important;
    }
}

@media (max-width: 520px) {
    body.woocommerce-shop #main.site-main,
    body.post-type-archive-product #main.site-main,
    body.tax-product_cat #main.site-main,
    body.tax-product_tag #main.site-main {
        width: min(100% - 20px, 1320px) !important;
        margin-top: 18px !important;
    }

    body.woocommerce-shop .woocommerce-breadcrumb,
    body.post-type-archive-product .woocommerce-breadcrumb,
    body.tax-product_cat .woocommerce-breadcrumb,
    body.tax-product_tag .woocommerce-breadcrumb {
        width: 100% !important;
        border-radius: 16px !important;
        font-size: 12px !important;
    }

    body.woocommerce-shop .woocommerce-products-header::after,
    body.post-type-archive-product .woocommerce-products-header::after,
    body.tax-product_cat .woocommerce-products-header::after,
    body.tax-product_tag .woocommerce-products-header::after {
        width: 100% !important;
        justify-content: center !important;
        text-align: center !important;
    }

    body.woocommerce-shop ul.products,
    body.post-type-archive-product ul.products,
    body.tax-product_cat ul.products,
    body.tax-product_tag ul.products {
        grid-template-columns: 1fr !important;
        gap: 13px !important;
    }

    body.woocommerce-shop ul.products li.product,
    body.post-type-archive-product ul.products li.product,
    body.tax-product_cat ul.products li.product,
    body.tax-product_tag ul.products li.product {
        display: grid !important;
        grid-template-columns: 112px minmax(0, 1fr) !important;
        grid-template-areas:
            "image title"
            "image price"
            "actions actions" !important;
        gap: 10px 12px !important;
        align-items: start !important;
    }

    body.woocommerce-shop ul.products li.product .woocommerce-LoopProduct-link,
    body.post-type-archive-product ul.products li.product .woocommerce-LoopProduct-link,
    body.tax-product_cat ul.products li.product .woocommerce-LoopProduct-link,
    body.tax-product_tag ul.products li.product .woocommerce-LoopProduct-link {
        display: grid !important;
        grid-column: 1 / -1 !important;
        grid-template-columns: 112px minmax(0, 1fr) !important;
        grid-template-areas:
            "archive-img archive-title"
            "archive-img archive-price" !important;
        gap: 10px 12px !important;
        align-items: start !important;
    }

    body.woocommerce-shop ul.products li.product img.attachment-woocommerce_thumbnail,
    body.post-type-archive-product ul.products li.product img.attachment-woocommerce_thumbnail,
    body.tax-product_cat ul.products li.product img.attachment-woocommerce_thumbnail,
    body.tax-product_tag ul.products li.product img.attachment-woocommerce_thumbnail {
        grid-area: archive-img !important;
        width: 112px !important;
        height: 112px !important;
        margin: 0 !important;
        padding: 10px !important;
    }

    body.woocommerce-shop ul.products li.product .woocommerce-loop-product__title,
    body.post-type-archive-product ul.products li.product .woocommerce-loop-product__title,
    body.tax-product_cat ul.products li.product .woocommerce-loop-product__title,
    body.tax-product_tag ul.products li.product .woocommerce-loop-product__title {
        grid-area: archive-title !important;
        min-height: 0 !important;
        max-height: 66px !important;
        margin: 2px 0 0 !important;
        font-size: 15px !important;
        line-height: 1.45 !important;
        -webkit-line-clamp: 3 !important;
    }

    body.woocommerce-shop ul.products li.product .price,
    body.post-type-archive-product ul.products li.product .price,
    body.tax-product_cat ul.products li.product .price,
    body.tax-product_tag ul.products li.product .price {
        grid-area: archive-price !important;
        margin: 0 !important;
        font-size: 16px !important;
    }

    body.woocommerce-shop ul.products li.product > a.button,
    body.post-type-archive-product ul.products li.product > a.button,
    body.tax-product_cat ul.products li.product > a.button,
    body.tax-product_tag ul.products li.product > a.button,
    body.woocommerce-shop ul.products li.product .compare.button,
    body.post-type-archive-product ul.products li.product .compare.button,
    body.tax-product_cat ul.products li.product .compare.button,
    body.tax-product_tag ul.products li.product .compare.button,
    body.woocommerce-shop ul.products li.product .yith-add-to-wishlist-button-block,
    body.post-type-archive-product ul.products li.product .yith-add-to-wishlist-button-block,
    body.tax-product_cat ul.products li.product .yith-add-to-wishlist-button-block,
    body.tax-product_tag ul.products li.product .yith-add-to-wishlist-button-block {
        grid-column: 1 / -1 !important;
    }

    body.woocommerce-shop nav.woocommerce-pagination ul.page-numbers,
    body.post-type-archive-product nav.woocommerce-pagination ul.page-numbers,
    body.tax-product_cat nav.woocommerce-pagination ul.page-numbers,
    body.tax-product_tag nav.woocommerce-pagination ul.page-numbers {
        width: 100% !important;
        padding: 9px !important;
    }

    body.woocommerce-shop nav.woocommerce-pagination .page-numbers,
    body.post-type-archive-product nav.woocommerce-pagination .page-numbers,
    body.tax-product_cat nav.woocommerce-pagination .page-numbers,
    body.tax-product_tag nav.woocommerce-pagination .page-numbers {
        min-width: 38px !important;
        height: 38px !important;
        padding: 0 10px !important;
    }
}

@media (max-width: 360px) {
    body.woocommerce-shop ul.products li.product .woocommerce-LoopProduct-link,
    body.post-type-archive-product ul.products li.product .woocommerce-LoopProduct-link,
    body.tax-product_cat ul.products li.product .woocommerce-LoopProduct-link,
    body.tax-product_tag ul.products li.product .woocommerce-LoopProduct-link {
        grid-template-columns: 96px minmax(0, 1fr) !important;
    }

    body.woocommerce-shop ul.products li.product img.attachment-woocommerce_thumbnail,
    body.post-type-archive-product ul.products li.product img.attachment-woocommerce_thumbnail,
    body.tax-product_cat ul.products li.product img.attachment-woocommerce_thumbnail,
    body.tax-product_tag ul.products li.product img.attachment-woocommerce_thumbnail {
        width: 96px !important;
        height: 96px !important;
    }
}


/* =========================================================
   WooCommerce cart mobile hard fix - v1.26.6
   English comment: Keep WooCommerce Blocks and classic cart rows responsive on phones by hiding duplicate total columns and preventing price/image overlap.
========================================================= */
@media (max-width: 782px) {
    body .wp-block-woocommerce-cart,
    body .wp-block-woocommerce-cart *,
    body.woocommerce-cart,
    body.woocommerce-cart * {
        box-sizing: border-box !important;
    }

    body .wp-block-woocommerce-cart,
    body.woocommerce-cart .wp-block-woocommerce-cart {
        width: calc(100% - 18px) !important;
        max-width: calc(100% - 18px) !important;
        margin-right: auto !important;
        margin-left: auto !important;
        overflow-x: hidden !important;
    }

    body .wp-block-woocommerce-cart .wc-block-cart__main,
    body .wp-block-woocommerce-cart .wc-block-cart__sidebar,
    body.woocommerce-cart .wc-block-cart__main,
    body.woocommerce-cart .wc-block-cart__sidebar {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        padding: 14px !important;
        overflow-x: hidden !important;
    }

    body .wp-block-woocommerce-cart table.wc-block-cart-items,
    body .wp-block-woocommerce-cart table.wc-block-cart-items tbody,
    body .wp-block-woocommerce-cart table.wc-block-cart-items tr,
    body .wp-block-woocommerce-cart table.wc-block-cart-items td,
    body.woocommerce-cart table.wc-block-cart-items,
    body.woocommerce-cart table.wc-block-cart-items tbody,
    body.woocommerce-cart table.wc-block-cart-items tr,
    body.woocommerce-cart table.wc-block-cart-items td {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        box-sizing: border-box !important;
    }

    body .wp-block-woocommerce-cart table.wc-block-cart-items thead,
    body.woocommerce-cart table.wc-block-cart-items thead {
        display: none !important;
    }

    body .wp-block-woocommerce-cart table.wc-block-cart-items tr.wc-block-cart-items__row,
    body.woocommerce-cart table.wc-block-cart-items tr.wc-block-cart-items__row,
    body .wp-block-woocommerce-cart .wc-block-cart-items__row,
    body.woocommerce-cart .wc-block-cart-items__row {
        display: grid !important;
        grid-template-columns: 82px minmax(0, 1fr) !important;
        grid-template-areas:
            "cartimage cartproduct"
            "cartqty cartqty" !important;
        align-items: start !important;
        gap: 12px !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 0 16px !important;
        padding: 14px !important;
        overflow: hidden !important;
        border: 1px solid var(--wc24-border, #D7ECF4) !important;
        border-radius: 22px !important;
        background: #fff !important;
        box-shadow: 0 10px 26px rgba(7, 59, 95, .055) !important;
    }

    body .wp-block-woocommerce-cart table.wc-block-cart-items tr.wc-block-cart-items__row > td,
    body.woocommerce-cart table.wc-block-cart-items tr.wc-block-cart-items__row > td {
        display: block !important;
        width: auto !important;
        max-width: 100% !important;
        min-width: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        background: transparent !important;
        position: static !important;
        float: none !important;
        clear: none !important;
        overflow: visible !important;
    }

    body .wp-block-woocommerce-cart .wc-block-cart-item__image,
    body.woocommerce-cart .wc-block-cart-item__image {
        grid-area: cartimage !important;
        width: 82px !important;
        max-width: 82px !important;
        min-width: 82px !important;
        align-self: start !important;
        overflow: hidden !important;
    }

    body .wp-block-woocommerce-cart .wc-block-cart-item__image a,
    body .wp-block-woocommerce-cart .wc-block-cart-item__image .wc-block-components-product-image,
    body.woocommerce-cart .wc-block-cart-item__image a,
    body.woocommerce-cart .wc-block-cart-item__image .wc-block-components-product-image {
        display: flex !important;
        width: 82px !important;
        height: 82px !important;
        max-width: 82px !important;
        min-width: 82px !important;
        align-items: center !important;
        justify-content: center !important;
        margin: 0 !important;
        padding: 8px !important;
        overflow: hidden !important;
        border: 1px solid var(--wc24-border, #D7ECF4) !important;
        border-radius: 16px !important;
        background: linear-gradient(180deg, #fff, var(--wc24-soft, #EEF8FB)) !important;
    }

    body .wp-block-woocommerce-cart .wc-block-cart-item__image img,
    body.woocommerce-cart .wc-block-cart-item__image img {
        display: block !important;
        width: 66px !important;
        height: 66px !important;
        max-width: 66px !important;
        max-height: 66px !important;
        margin: 0 auto !important;
        -o-object-fit: contain !important;
           object-fit: contain !important;
        position: static !important;
        float: none !important;
    }

    body .wp-block-woocommerce-cart .wc-block-cart-item__product,
    body.woocommerce-cart .wc-block-cart-item__product {
        grid-area: cartproduct !important;
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        overflow: hidden !important;
        text-align: left !important;
    }

    body .wp-block-woocommerce-cart .wc-block-cart-item__total,
    body.woocommerce-cart .wc-block-cart-item__total,
    body .wp-block-woocommerce-cart table.wc-block-cart-items td.wc-block-cart-item__total,
    body.woocommerce-cart table.wc-block-cart-items td.wc-block-cart-item__total,
    body .wp-block-woocommerce-cart table.wc-block-cart-items tr.wc-block-cart-items__row > td:nth-child(3),
    body.woocommerce-cart table.wc-block-cart-items tr.wc-block-cart-items__row > td:nth-child(3) {
        display: none !important;
        visibility: hidden !important;
        width: 0 !important;
        max-width: 0 !important;
        height: 0 !important;
        max-height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: hidden !important;
    }

    body .wp-block-woocommerce-cart .wc-block-cart-item__product .wc-block-components-product-name,
    body.woocommerce-cart .wc-block-cart-item__product .wc-block-components-product-name {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 0 7px !important;
        padding: 0 !important;
        color: var(--wc24-text, #073B5F) !important;
        font-size: 16px !important;
        line-height: 1.24 !important;
        font-weight: 950 !important;
        letter-spacing: -.02em !important;
        overflow-wrap: anywhere !important;
        word-break: break-word !important;
        position: static !important;
    }

    body .wp-block-woocommerce-cart .wc-block-cart-item__product .wc-block-components-product-price,
    body .wp-block-woocommerce-cart .wc-block-cart-item__product .wc-block-components-product-price__value,
    body .wp-block-woocommerce-cart .wc-block-cart-item__product .wc-block-components-product-price .amount,
    body.woocommerce-cart .wc-block-cart-item__product .wc-block-components-product-price,
    body.woocommerce-cart .wc-block-cart-item__product .wc-block-components-product-price__value,
    body.woocommerce-cart .wc-block-cart-item__product .wc-block-components-product-price .amount {
        display: block !important;
        width: 100% !important;
        margin: 0 0 7px !important;
        padding: 0 !important;
        color: var(--wc24-text, #073B5F) !important;
        font-size: 18px !important;
        line-height: 1.2 !important;
        font-weight: 950 !important;
        text-align: left !important;
        white-space: normal !important;
        position: static !important;
        float: none !important;
    }

    body .wp-block-woocommerce-cart .wc-block-cart-item__product .wc-block-components-product-metadata,
    body .wp-block-woocommerce-cart .wc-block-cart-item__product .wc-block-components-product-metadata p,
    body.woocommerce-cart .wc-block-cart-item__product .wc-block-components-product-metadata,
    body.woocommerce-cart .wc-block-cart-item__product .wc-block-components-product-metadata p {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        color: var(--wc24-muted, #5F7181) !important;
        font-size: 13px !important;
        line-height: 1.42 !important;
        overflow-wrap: anywhere !important;
        word-break: break-word !important;
        position: static !important;
    }

    body .wp-block-woocommerce-cart .wc-block-cart-item__quantity,
    body.woocommerce-cart .wc-block-cart-item__quantity {
        grid-area: cartqty !important;
        display: flex !important;
        flex-wrap: wrap !important;
        align-items: center !important;
        gap: 10px !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 2px 0 0 !important;
        padding-top: 12px !important;
        border-top: 1px solid var(--wc24-border, #D7ECF4) !important;
        position: static !important;
        float: none !important;
        clear: both !important;
    }

    body .wp-block-woocommerce-cart .wc-block-components-quantity-selector,
    body.woocommerce-cart .wc-block-components-quantity-selector {
        flex: 1 1 158px !important;
        width: auto !important;
        max-width: 230px !important;
        min-width: 150px !important;
        height: 46px !important;
        margin: 0 !important;
    }

    body .wp-block-woocommerce-cart .wc-block-cart-item__remove-link,
    body.woocommerce-cart .wc-block-cart-item__remove-link {
        flex: 0 0 46px !important;
        width: 46px !important;
        height: 46px !important;
        min-width: 46px !important;
        max-width: 46px !important;
        margin: 0 !important;
        padding: 0 !important;
        border-radius: 15px !important;
    }

    /* English comment: Classic WooCommerce cart fallback for sites not using Cart Blocks. */
    body.woocommerce-cart table.shop_table.cart,
    body.woocommerce-cart table.shop_table.cart tbody,
    body.woocommerce-cart table.shop_table.cart tr.cart_item,
    body.woocommerce-cart table.shop_table.cart td {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        box-sizing: border-box !important;
    }

    body.woocommerce-cart table.shop_table.cart tr.cart_item {
        display: grid !important;
        grid-template-columns: 82px minmax(0, 1fr) !important;
        grid-template-areas:
            "classicimage classicname"
            "classicqty classicqty"
            "classicremove classicremove" !important;
        gap: 12px !important;
        padding: 14px !important;
        margin-bottom: 16px !important;
        border: 1px solid var(--wc24-border, #D7ECF4) !important;
        border-radius: 22px !important;
        background: #fff !important;
    }

    body.woocommerce-cart table.shop_table.cart td.product-thumbnail {
        grid-area: classicimage !important;
    }

    body.woocommerce-cart table.shop_table.cart td.product-name {
        grid-area: classicname !important;
    }

    body.woocommerce-cart table.shop_table.cart td.product-quantity {
        grid-area: classicqty !important;
    }

    body.woocommerce-cart table.shop_table.cart td.product-remove {
        grid-area: classicremove !important;
    }

    body.woocommerce-cart table.shop_table.cart td.product-price,
    body.woocommerce-cart table.shop_table.cart td.product-subtotal {
        display: none !important;
    }
}

@media (max-width: 420px) {
    body .wp-block-woocommerce-cart table.wc-block-cart-items tr.wc-block-cart-items__row,
    body.woocommerce-cart table.wc-block-cart-items tr.wc-block-cart-items__row,
    body .wp-block-woocommerce-cart .wc-block-cart-items__row,
    body.woocommerce-cart .wc-block-cart-items__row,
    body.woocommerce-cart table.shop_table.cart tr.cart_item {
        grid-template-columns: 76px minmax(0, 1fr) !important;
        gap: 10px !important;
        padding: 12px !important;
    }

    body .wp-block-woocommerce-cart .wc-block-cart-item__image,
    body.woocommerce-cart .wc-block-cart-item__image,
    body .wp-block-woocommerce-cart .wc-block-cart-item__image a,
    body .wp-block-woocommerce-cart .wc-block-cart-item__image .wc-block-components-product-image,
    body.woocommerce-cart .wc-block-cart-item__image a,
    body.woocommerce-cart .wc-block-cart-item__image .wc-block-components-product-image {
        width: 76px !important;
        max-width: 76px !important;
        min-width: 76px !important;
        height: 76px !important;
    }

    body .wp-block-woocommerce-cart .wc-block-cart-item__image img,
    body.woocommerce-cart .wc-block-cart-item__image img {
        width: 60px !important;
        height: 60px !important;
        max-width: 60px !important;
        max-height: 60px !important;
    }

    body .wp-block-woocommerce-cart .wc-block-cart-item__product .wc-block-components-product-name,
    body.woocommerce-cart .wc-block-cart-item__product .wc-block-components-product-name {
        font-size: 15px !important;
    }
}
/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNob3Atd29vY29tbWVyY2UtcGFnZXMuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7MkRBRzJEOztBQUUzRCxvQ0FBb0M7QUFDcEM7Ozs7Ozs7O0lBUUksNENBQTRDO0lBQzVDLHNEQUFzRDtJQUN0RCxzREFBc0Q7SUFDdEQsMENBQTBDO0lBQzFDLG9EQUFvRDtJQUNwRCw4Q0FBOEM7SUFDOUMsMENBQTBDO0lBQzFDLHNDQUFzQztJQUN0Qyx3Q0FBd0M7SUFDeEMsMENBQTBDO0lBQzFDLDRDQUE0QztBQUNoRDs7QUFFQTs7Ozs7OztJQU9JLHNCQUFzQjtBQUMxQjs7QUFFQTs7MkRBRTJEO0FBQzNEO0lBQ0ksMENBQTBDO0lBQzFDLGlDQUFpQztJQUNqQyxrQ0FBa0M7QUFDdEM7O0FBRUE7SUFDSSwyQkFBMkI7SUFDM0IsNkJBQTZCO0lBQzdCLDhCQUE4QjtJQUM5QiwyQkFBMkI7SUFDM0IsK0NBQStDO0lBQy9DLG1DQUFtQztJQUNuQywwQkFBMEI7SUFDMUIsMkJBQTJCO0lBQzNCLDRCQUE0QjtJQUM1QixzREFBc0Q7QUFDMUQ7O0FBRUE7SUFDSSxxQ0FBcUM7SUFDckMsZ0NBQWdDO0lBQ2hDLDJCQUEyQjtBQUMvQjs7QUFFQSxzREFBc0QseUNBQXlDLEVBQUU7O0FBRWpHO0lBQ0ksd0JBQXdCO0lBQ3hCLHVFQUF1RTtJQUN2RSxvQkFBb0I7SUFDcEIsNkJBQTZCO0FBQ2pDOztBQUVBO3lDQUN5Qyx3QkFBd0IsRUFBRSx3QkFBd0IsRUFBRTs7QUFFN0Y7Ozs7SUFJSSw4QkFBOEI7SUFDOUIsMkJBQTJCO0lBQzNCLCtDQUErQztJQUMvQyx1REFBdUQ7QUFDM0Q7O0FBRUE7SUFDSSxzQkFBc0I7SUFDdEIsc0JBQXNCO0lBQ3RCLHNCQUFzQjtJQUN0QixvQkFBb0I7SUFDcEIsd0JBQXdCO0lBQ3hCOzt5REFFcUQ7SUFDckQsMkJBQTJCO0FBQy9COztBQUVBLHdFQUF3RSxvQkFBb0IsRUFBRTtBQUM5RixzRUFBc0UsOEJBQThCLEVBQUUsMkJBQTJCLEVBQUUsMkJBQTJCLEVBQUU7O0FBRWhLO0lBQ0ksNEJBQTRCO0lBQzVCLHdCQUF3QjtJQUN4Qiw4QkFBOEI7SUFDOUIsa0NBQWtDO0lBQ2xDLGdDQUFnQztBQUNwQzs7QUFFQTtJQUNJLHNCQUFzQjtJQUN0QiwyQkFBMkI7SUFDM0IsNEJBQTRCO0lBQzVCLGlDQUFpQztPQUM5Qiw4QkFBOEI7SUFDakMseUJBQXlCO0lBQ3pCLHdCQUF3QjtBQUM1Qjs7QUFFQTtJQUNJLG9CQUFvQjtJQUNwQixzQkFBc0I7SUFDdEIsc0JBQXNCO0lBQ3RCLHVCQUF1QjtJQUN2QiwrQkFBK0I7SUFDL0IsMkJBQTJCO0lBQzNCLCtDQUErQztJQUMvQyx1REFBdUQ7SUFDdkQsc0JBQXNCO0FBQzFCOztBQUVBO0lBQ0ksc0JBQXNCO0lBQ3RCLHNCQUFzQjtJQUN0QixzQkFBc0I7SUFDdEIsb0JBQW9CO0lBQ3BCLHdCQUF3QjtJQUN4Qiw0QkFBNEI7QUFDaEM7O0FBRUE7SUFDSSwyQkFBMkI7SUFDM0IscUJBQXFCO0lBQ3JCLGtDQUFrQztJQUNsQyw4Q0FBOEM7SUFDOUMsMkJBQTJCO0lBQzNCLDRCQUE0QjtJQUM1QixrQ0FBa0M7QUFDdEM7O0FBRUE7SUFDSSxrQ0FBa0M7SUFFbEMsNkJBQTZCO0lBQzdCLCtCQUErQjtJQUMvQiw4QkFBOEI7SUFDOUIsMkJBQTJCO0lBQzNCLDZCQUE2QjtJQUM3QiwrQkFBK0I7SUFDL0IsOENBQThDO0lBQzlDLG9EQUFvRDtJQUNwRCxrQ0FBa0M7SUFDbEMsMEJBQTBCO0lBQzFCLDJCQUEyQjtJQUMzQix5QkFBeUI7QUFDN0I7O0FBRUE7c0RBQ3NELGtDQUFrQyxFQUFFLDJCQUEyQixFQUFFO0FBQ3ZILHNEQUFzRCx5QkFBeUIsRUFBRSwwQkFBMEIsRUFBRSx1QkFBdUIsRUFBRTtBQUN0SSxzREFBc0QsZ0NBQWdDLEVBQUU7O0FBRXhGO0lBQ0ksMkJBQTJCO0lBQzNCLDZCQUE2QjtJQUM3Qiw4QkFBOEI7SUFDOUIsdUNBQXVDO0lBQ3ZDLCtDQUErQztBQUNuRDs7QUFFQTtJQUNJLG9CQUFvQjtJQUNwQixtQ0FBbUM7SUFDbkMsNEJBQTRCO0lBQzVCLDRCQUE0QjtBQUNoQzs7QUFFQTs7SUFFSSxzQkFBc0I7SUFDdEIsMEJBQTBCO0lBQzFCLHdCQUF3QjtJQUN4QixzREFBc0Q7SUFDdEQsb0JBQW9CO0lBQ3BCLCtCQUErQjtJQUMvQiwyQkFBMkI7SUFDM0IscUJBQXFCO0lBQ3JCLHNCQUFzQjtJQUN0QixzQkFBc0I7QUFDMUI7O0FBRUE7O0lBRUksdUJBQXVCO0lBQ3ZCLDJCQUEyQjtJQUMzQiwyQkFBMkI7SUFDM0IsdUJBQXVCO0lBQ3ZCLHlCQUF5QjtJQUN6QixzQkFBc0I7SUFDdEIsb0JBQW9CO0lBQ3BCLHFCQUFxQjtBQUN6Qjs7QUFFQTs7SUFFSSx1QkFBdUI7SUFDdkIsMkJBQTJCO0lBQzNCLDJCQUEyQjtJQUMzQix1QkFBdUI7SUFDdkIsMkJBQTJCO0lBQzNCLHlCQUF5QjtJQUN6QixvQkFBb0I7SUFDcEIsMEJBQTBCO0lBQzFCLDhCQUE4QjtJQUM5QiwrQ0FBK0M7SUFDL0MsMkJBQTJCO0lBQzNCLGtDQUFrQztJQUNsQywwQkFBMEI7SUFDMUIsMkJBQTJCO0lBQzNCLDRCQUE0QjtJQUM1Qiw2QkFBNkI7SUFDN0Isd0JBQXdCO0lBQ3hCLDJCQUEyQjtBQUMvQjs7QUFFQTs7SUFFSSwyQ0FBMkM7SUFDM0Msd0RBQXdEO0FBQzVEOztBQUVBOzs7O0lBSUksc0JBQXNCO0lBQ3RCLDBCQUEwQjtJQUMxQix1QkFBdUI7SUFDdkIsdUJBQXVCO0lBQ3ZCLDJCQUEyQjtJQUMzQix3QkFBd0I7SUFDeEIsOEJBQThCO0lBQzlCLGtDQUFrQztJQUNsQyxzQkFBc0I7SUFDdEIsc0JBQXNCO0lBQ3RCLG9CQUFvQjtJQUNwQiwwQkFBMEI7SUFDMUIsb0JBQW9CO0lBQ3BCLDhCQUE4QjtJQUM5Qix5Q0FBeUM7SUFDekMsc0JBQXNCO0lBQ3RCLDBCQUEwQjtJQUMxQiwyQkFBMkI7SUFDM0IseUJBQXlCO0lBQ3pCLDZCQUE2QjtJQUM3Qiw4QkFBOEI7SUFDOUIsZ0NBQWdDO0lBQ2hDLDBEQUEwRDtJQUMxRCwwQkFBMEI7QUFDOUI7O0FBRUE7Ozs2RUFHNkUsd0JBQXdCLEVBQUUsd0JBQXdCLEVBQUU7O0FBRWpJOztJQUVJLDBDQUEwQztJQUMxQyxzQkFBc0I7SUFDdEIseURBQXlEO0FBQzdEOztBQUVBO3NEQUNzRCx3QkFBd0IsRUFBRTs7QUFFaEYsa0VBQWtFLHNCQUFzQixFQUFFLDJCQUEyQixFQUFFO0FBQ3ZIOztJQUVJLHNCQUFzQjtJQUN0QiwwQkFBMEI7SUFDMUIsMkJBQTJCO0lBQzNCLCtCQUErQjtJQUMvQiw4QkFBOEI7SUFDOUIsa0NBQWtDO0lBQ2xDLG1CQUFtQjtJQUNuQiwyQkFBMkI7SUFDM0IsMEJBQTBCO0lBQzFCLDhCQUE4QjtJQUM5QiwyQkFBMkI7SUFDM0Isa0NBQWtDO0lBQ2xDLCtDQUErQztJQUMvQywwQkFBMEI7SUFDMUIsMkJBQTJCO0lBQzNCLHlCQUF5QjtJQUN6Qiw2QkFBNkI7SUFDN0IsZ0NBQWdDO0lBQ2hDLDJCQUEyQjtBQUMvQjtBQUNBO3FEQUNxRCx1Q0FBdUMsRUFBRSxxQ0FBcUMsRUFBRSxnREFBZ0QsRUFBRTtBQUN2TCx1REFBdUQsdUJBQXVCLEVBQUUsMEJBQTBCLEVBQUUseUJBQXlCLEVBQUU7QUFDdkksc0RBQXNELHdCQUF3QixFQUFFLHdCQUF3QixFQUFFOztBQUUxRztJQUNJLHdCQUF3QjtJQUN4QixtQkFBbUI7SUFDbkIsMkJBQTJCO0lBQzNCLDRCQUE0QjtJQUM1QixtREFBbUQ7SUFDbkQsbUNBQW1DO0lBQ25DLDBCQUEwQjtJQUMxQiwyQkFBMkI7QUFDL0I7QUFDQSxrREFBa0QseUJBQXlCLEVBQUU7QUFDN0U7a0RBQ2tELHFDQUFxQyxFQUFFLDJCQUEyQixFQUFFLGdDQUFnQyxFQUFFOztBQUV4Sjs7SUFFSSw4QkFBOEI7SUFDOUIsMEJBQTBCO0lBQzFCLDZCQUE2QjtBQUNqQzs7QUFFQTtJQUNJLHdCQUF3QjtJQUN4QiwwQkFBMEI7SUFDMUIsb0JBQW9CO0lBQ3BCLDJCQUEyQjtJQUMzQixxQkFBcUI7SUFDckIsb0JBQW9CO0FBQ3hCO0FBQ0E7OzswREFHMEQsd0JBQXdCLEVBQUUsd0JBQXdCLEVBQUU7QUFDOUcsbURBQW1ELG9CQUFvQixFQUFFLG9CQUFvQixFQUFFLHFCQUFxQixFQUFFLGtDQUFrQyxFQUFFO0FBQzFKO0lBQ0ksMkJBQTJCO0lBQzNCLCtCQUErQjtJQUMvQiw4QkFBOEI7SUFDOUIsa0NBQWtDO0lBQ2xDLDBCQUEwQjtJQUMxQiwrQkFBK0I7SUFDL0IsdUNBQXVDO0lBQ3ZDLGtDQUFrQztJQUNsQywwQkFBMEI7SUFDMUIsMkJBQTJCO0lBQzNCLHlCQUF5QjtJQUN6QixnQ0FBZ0M7QUFDcEM7QUFDQSw0REFBNEQseUNBQXlDLEVBQUUsc0JBQXNCLEVBQUU7QUFDL0gsOENBQThDLG1DQUFtQyxFQUFFLDRCQUE0QixFQUFFLDRCQUE0QixFQUFFO0FBQy9JLGlEQUFpRCwyQkFBMkIsRUFBRSxrQ0FBa0MsRUFBRSwwQkFBMEIsRUFBRSwyQkFBMkIsRUFBRSxrQ0FBa0MsRUFBRTtBQUMvTSxpREFBaUQsOEJBQThCLEVBQUUsa0NBQWtDLEVBQUUsMEJBQTBCLEVBQUUsMkJBQTJCLEVBQUU7QUFDOUssZ0RBQWdELDJCQUEyQixFQUFFO0FBQzdFLGlEQUFpRCxnQ0FBZ0MsRUFBRTtBQUNuRixpREFBaUQsNkJBQTZCLEVBQUU7O0FBRWhGO0lBQ0ksc0JBQXNCO0lBQ3RCLCtDQUErQztJQUMvQyw4QkFBOEI7SUFDOUIsMkJBQTJCO0lBQzNCLG9DQUFvQztJQUNwQyw0QkFBNEI7QUFDaEM7QUFDQTsrQ0FDK0MsNkJBQTZCLEVBQUUsb0JBQW9CLEVBQUUsc0RBQXNELEVBQUUsa0NBQWtDLEVBQUUsMEJBQTBCLEVBQUUsNEJBQTRCLEVBQUU7QUFDMVAsK0NBQStDLHVCQUF1QixFQUFFLHVDQUF1QyxFQUFFLDJCQUEyQixFQUFFO0FBQzlJLCtDQUErQywyQkFBMkIsRUFBRTtBQUM1RSw4Q0FBOEMsb0JBQW9CLEVBQUU7O0FBRXBFLGlCQUFpQjtBQUNqQjt3REFDd0QseUJBQXlCLEVBQUUsMkJBQTJCLEVBQUUsa0NBQWtDLEVBQUUsMEJBQTBCLEVBQUUsMkJBQTJCLEVBQUUsNEJBQTRCLEVBQUUsaUNBQWlDLEVBQUU7QUFDOVEsMERBQTBELHlCQUF5QixFQUFFLDZCQUE2QixFQUFFLGtDQUFrQyxFQUFFLDBCQUEwQixFQUFFLDJCQUEyQixFQUFFO0FBQ2pOLHVDQUF1Qyx5QkFBeUIsRUFBRSxvQkFBb0IsRUFBRTtBQUN4Riw0Q0FBNEMsK0JBQStCLEVBQUUsbUJBQW1CLEVBQUU7QUFDbEcseUNBQXlDLDZCQUE2QixFQUFFLHNCQUFzQixFQUFFLHVCQUF1QixFQUFFLCtCQUErQixFQUFFLDhCQUE4QixFQUFFLGtDQUFrQyxFQUFFLG9CQUFvQixFQUFFLCtCQUErQixFQUFFLDJCQUEyQixFQUFFLG9DQUFvQyxFQUFFLGdDQUFnQyxFQUFFO0FBQzFYLGlEQUFpRCx1QkFBdUIsRUFBRSw2QkFBNkIsRUFBRSxtQkFBbUIsRUFBRSx3QkFBd0IsRUFBRSw4QkFBOEIsRUFBRSxrQ0FBa0MsRUFBRSx5QkFBeUIsRUFBRSwwQkFBMEIsRUFBRSx5QkFBeUIsRUFBRSx5QkFBeUIsRUFBRSwyREFBMkQsRUFBRTtBQUN0WTs7Ozt3REFJd0Qsb0NBQW9DLEVBQUU7QUFDOUY7O21EQUVtRCxzQkFBc0IsRUFBRSw4QkFBOEIsRUFBRSwrQ0FBK0MsRUFBRSwyQkFBMkIsRUFBRSxrQ0FBa0MsRUFBRSwwQkFBMEIsRUFBRSwyQkFBMkIsRUFBRSw2QkFBNkIsRUFBRSx3QkFBd0IsRUFBRSwyQkFBMkIsRUFBRTtBQUM1Vyx3Q0FBd0MsNEJBQTRCLEVBQUU7QUFDdEU7MkNBQzJDLDJDQUEyQyxFQUFFLHdEQUF3RCxFQUFFO0FBQ2xKLG9EQUFvRCwyQkFBMkIsRUFBRSwyQkFBMkIsRUFBRSwwQkFBMEIsRUFBRSxvQkFBb0IsRUFBRSw4QkFBOEIsRUFBRSx5Q0FBeUMsRUFBRSxzQkFBc0IsRUFBRSwwQkFBMEIsRUFBRSwyQkFBMkIsRUFBRSwwREFBMEQsRUFBRTtBQUN4WCwwREFBMEQsMENBQTBDLEVBQUUsc0JBQXNCLEVBQUU7O0FBRTlILHFCQUFxQjtBQUNyQiw2Q0FBNkMsMkJBQTJCLEVBQUUsa0NBQWtDLEVBQUUsOENBQThDLEVBQUUsMkJBQTJCLEVBQUUsNEJBQTRCLEVBQUUsaUNBQWlDLEVBQUU7QUFDNVAsb0RBQW9ELHNCQUFzQixFQUFFLHdCQUF3QixFQUFFLDJEQUEyRCxFQUFFLG9CQUFvQixFQUFFLG9CQUFvQixFQUFFLHFCQUFxQixFQUFFO0FBQ3RPOzJEQUMyRCx3QkFBd0IsRUFBRSx3QkFBd0IsRUFBRTtBQUMvRzs7b0VBRW9FLHNCQUFzQixFQUFFLDBCQUEwQixFQUFFLDJCQUEyQixFQUFFLHNCQUFzQixFQUFFLHNCQUFzQixFQUFFLG9CQUFvQixFQUFFLHdCQUF3QixFQUFFLDhCQUE4QixFQUFFLDJCQUEyQixFQUFFLCtDQUErQyxFQUFFLHdEQUF3RCxFQUFFLDJCQUEyQixFQUFFLHdCQUF3QixFQUFFLGlDQUFpQyxFQUFFLHdGQUF3RixFQUFFO0FBQ2psQixxRUFBcUUsc0NBQXNDLEVBQUUsK0NBQStDLEVBQUUsdURBQXVELEVBQUU7QUFDdk4sNkZBQTZGLHdCQUF3QixFQUFFLGlDQUFpQyxFQUFFLHlCQUF5QixFQUFFLGdDQUFnQyxFQUFFO0FBQ3ZOLG1FQUFtRSxzQkFBc0IsRUFBRSwyQkFBMkIsRUFBRSx3QkFBd0IsRUFBRSxpQ0FBaUMsRUFBRSw4QkFBOEIsRUFBRSx5QkFBeUIsRUFBRSw4QkFBOEIsRUFBRSx3QkFBd0IsRUFBRSw4QkFBOEIsRUFBRSw2REFBNkQsRUFBRTtBQUN6WSxnR0FBZ0csMkJBQTJCLEVBQUUsMkJBQTJCLEVBQUUsMkJBQTJCLEVBQUUscUJBQXFCLEVBQUUsa0NBQWtDLEVBQUUsMEJBQTBCLEVBQUUsMkJBQTJCLEVBQUUsNEJBQTRCLEVBQUUsMkJBQTJCLEVBQUUsMkJBQTJCLEVBQUUsK0JBQStCLEVBQUUsZ0NBQWdDLEVBQUUsdUNBQXVDLEVBQUU7QUFDL2Usc0VBQXNFLDJCQUEyQixFQUFFLHlCQUF5QixFQUFFLDJCQUEyQixFQUFFLGtDQUFrQyxFQUFFLDBCQUEwQixFQUFFLDJCQUEyQixFQUFFLDJCQUEyQixFQUFFO0FBQ3JSOzs7OzsrRUFLK0Usc0JBQXNCLEVBQUUsMEJBQTBCLEVBQUUsK0JBQStCLEVBQUUsOEJBQThCLEVBQUUsa0NBQWtDLEVBQUUsc0JBQXNCLEVBQUUsc0JBQXNCLEVBQUUsNkJBQTZCLEVBQUUsZ0NBQWdDLEVBQUUsMkJBQTJCLEVBQUU7QUFDdFg7O2lGQUVpRiwyQkFBMkIsRUFBRSw2QkFBNkIsRUFBRSwwQkFBMEIsRUFBRSxvQkFBb0IsRUFBRSw4QkFBOEIsRUFBRSx5Q0FBeUMsRUFBRSxzQkFBc0IsRUFBRSwwQkFBMEIsRUFBRSwyQkFBMkIsRUFBRSx5QkFBeUIsRUFBRSwwREFBMEQsRUFBRTtBQUNsYjs7Ozs7d0ZBS3dGLHdCQUF3QixFQUFFLHdCQUF3QixFQUFFO0FBQzVJOzs7eUZBR3lGLDBDQUEwQyxFQUFFLHNCQUFzQixFQUFFO0FBQzdKLDBGQUEwRix3QkFBd0IsRUFBRTtBQUNwSDs7K0VBRStFLDJCQUEyQixFQUFFLG1CQUFtQixFQUFFLDBCQUEwQixFQUFFLDBCQUEwQixFQUFFLDhCQUE4QixFQUFFLDJCQUEyQixFQUFFLCtDQUErQyxFQUFFLGtDQUFrQyxFQUFFLDBCQUEwQixFQUFFLDJCQUEyQixFQUFFLHlCQUF5QixFQUFFO0FBQy9aLGlGQUFpRix1Q0FBdUMsRUFBRTtBQUMxSDs7cUZBRXFGLHVDQUF1QyxFQUFFLGdEQUFnRCxFQUFFLHFDQUFxQyxFQUFFOztBQUV2Tjs7MkRBRTJEO0FBQzNEO0lBQ0ksMENBQTBDO0lBQzFDLDhCQUE4QjtJQUM5Qix3QkFBd0I7SUFDeEIsOEJBQThCO0lBQzlCLDJCQUEyQjtJQUMzQiwrQ0FBK0M7SUFDL0Msd0RBQXdEO0lBQ3hELGtDQUFrQztBQUN0Qzs7QUFFQTtJQUNJLGdCQUFnQjtJQUNoQixhQUFhO0lBQ2IsbUJBQW1CO0lBQ25CLDZKQUE2SjtJQUM3Siw0Q0FBNEM7QUFDaEQ7QUFDQSw0Q0FBNEMsU0FBUyxFQUFFLHNCQUFzQixFQUFFLGlDQUFpQyxFQUFFLGdCQUFnQixFQUFFLGlCQUFpQixFQUFFLHVCQUF1QixFQUFFO0FBQ2hMLG1EQUFtRCxXQUFXLEVBQUUsY0FBYyxFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQUUsZ0JBQWdCLEVBQUUsb0JBQW9CLEVBQUUsOEJBQThCLEVBQUU7O0FBRWxMLGtDQUFrQyxhQUFhLEVBQUUsbUJBQW1CLEVBQUUsOEJBQThCLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFO0FBQ25JLHFDQUFxQyxTQUFTLEVBQUUsdUJBQXVCLEVBQUUsbUNBQW1DLEVBQUUsZ0JBQWdCLEVBQUUsaUJBQWlCLEVBQUUsc0JBQXNCLEVBQUU7QUFDM0ssbUNBQW1DLGdCQUFnQixFQUFFLCtCQUErQixFQUFFLG1CQUFtQixFQUFFLHVCQUF1QixFQUFFLFFBQVEsRUFBRSwwQkFBMEIsRUFBRSw4QkFBOEIsRUFBRSx1Q0FBdUMsRUFBRSxrQ0FBa0MsRUFBRSwrQ0FBK0MsRUFBRSwwQkFBMEIsRUFBRSwyQkFBMkIsRUFBRSxnQ0FBZ0MsRUFBRSwyQkFBMkIsRUFBRTtBQUNoYyx5Q0FBeUMseUNBQXlDLEVBQUUsc0JBQXNCLEVBQUUsMkNBQTJDLEVBQUU7O0FBRXpKLHVDQUF1QyxzQkFBc0IsRUFBRSxvQkFBb0IsRUFBRSxvQ0FBb0MsRUFBRSxpQ0FBaUMsRUFBRSxvQkFBb0IsRUFBRSxrQ0FBa0MsRUFBRTtBQUN4TixnREFBZ0QsOEJBQThCLEVBQUUsb0JBQW9CLEVBQUUsa0NBQWtDLEVBQUUsbUNBQW1DLEVBQUUsMEJBQTBCLEVBQUUsMkJBQTJCLEVBQUUseUJBQXlCLEVBQUUscUJBQXFCLEVBQUU7QUFDMVIsZ0RBQWdELDhCQUE4QixFQUFFLDJCQUEyQixFQUFFLDZDQUE2QyxFQUFFLG1EQUFtRCxFQUFFO0FBQ2pOLHNEQUFzRCwyQkFBMkIsRUFBRSw2Q0FBNkMsRUFBRTtBQUNsSSxnREFBZ0QsNkJBQTZCLEVBQUUsb0JBQW9CLEVBQUUsbURBQW1ELEVBQUUsc0RBQXNELEVBQUUsMkJBQTJCLEVBQUUsaUNBQWlDLEVBQUU7QUFDbFIsNERBQTRELG9EQUFvRCxFQUFFLHVDQUF1QyxFQUFFO0FBQzNKLDJEQUEyRCxxREFBcUQsRUFBRSx1Q0FBdUMsRUFBRTtBQUMzSjtvQ0FDb0Msc0JBQXNCLEVBQUUsMEJBQTBCLEVBQUUsNkJBQTZCLEVBQUUsaUNBQWlDLEVBQUU7QUFDMUosd0NBQXdDLHNCQUFzQixFQUFFLHVCQUF1QixFQUFFLDJCQUEyQixFQUFFLHdCQUF3QixFQUFFLDhCQUE4QixFQUFFLGtDQUFrQyxFQUFFO0FBQ3BOO2dEQUNnRCxzQkFBc0IsRUFBRSx1QkFBdUIsRUFBRSwwQkFBMEIsRUFBRSwyQkFBMkIsRUFBRSx3QkFBd0IsRUFBRSw4QkFBOEIsRUFBRSxrQ0FBa0MsRUFBRSxxQkFBcUIsRUFBRSx5QkFBeUIsRUFBRSwrQkFBK0IsRUFBRSw4QkFBOEIsRUFBRSxvQ0FBb0MsRUFBRSxrREFBa0QsRUFBRSx1QkFBdUIsRUFBRSx5QkFBeUIsRUFBRSw2QkFBNkIsRUFBRSxnQ0FBZ0MsRUFBRTtBQUMxakIsZ0RBQWdELHVCQUF1QixFQUFFLHlCQUF5QixFQUFFLDhCQUE4QixFQUFFLDBCQUEwQixFQUFFLDJCQUEyQixFQUFFLDRCQUE0QixFQUFFLDJCQUEyQixFQUFFO0FBQ3hQLDhDQUE4Qyx5Q0FBeUMsRUFBRSxzQkFBc0IsRUFBRSwyQ0FBMkMsRUFBRTtBQUM5SixxQ0FBcUMsWUFBWSxFQUFFO0FBQ25ELHVDQUF1QyxXQUFXLEVBQUUsWUFBWSxFQUFFLGFBQWEsRUFBRSxtQkFBbUIsRUFBRSx1QkFBdUIsRUFBRSxtQkFBbUIsRUFBRSxrREFBa0QsRUFBRSxvQ0FBb0MsRUFBRSxnQkFBZ0IsRUFBRTtBQUNoUSx5Q0FBeUMsc0JBQXNCLEVBQUUsdUJBQXVCLEVBQUUsaUNBQWlDLEVBQUUsOEJBQThCLEVBQUUsb0JBQW9CLEVBQUUsdUJBQXVCLEVBQUU7QUFDNU0saURBQWlELGNBQWMsRUFBRSxtQkFBbUIsRUFBRSxrQ0FBa0MsRUFBRSxlQUFlLEVBQUUsZ0JBQWdCLEVBQUUsaUJBQWlCLEVBQUUsZ0NBQWdDLEVBQUU7QUFDbE4sa0RBQWtELDJCQUEyQixFQUFFLCtCQUErQixFQUFFLG1CQUFtQixFQUFFLHVCQUF1QixFQUFFLDBCQUEwQixFQUFFLDhCQUE4QixFQUFFLHVDQUF1QyxFQUFFLGtDQUFrQyxFQUFFLCtDQUErQyxFQUFFLDBCQUEwQixFQUFFLDJCQUEyQixFQUFFLHlCQUF5QixFQUFFLGdDQUFnQyxFQUFFLDJCQUEyQixFQUFFO0FBQzNlLHdEQUF3RCx5Q0FBeUMsRUFBRSwyQ0FBMkMsRUFBRSxzQkFBc0IsRUFBRTtBQUN4SztxQ0FDcUMsa0NBQWtDLEVBQUUsZUFBZSxFQUFFLGdCQUFnQixFQUFFO0FBQzVHO3lDQUN5QyxnQkFBZ0IsRUFBRSwrQkFBK0IsRUFBRSxtQkFBbUIsRUFBRSx1QkFBdUIsRUFBRSxRQUFRLEVBQUUsZUFBZSxFQUFFLG9CQUFvQixFQUFFLGVBQWUsRUFBRSxnQkFBZ0IsRUFBRTtBQUM5TixxQ0FBcUMsK0JBQStCLEVBQUUsMEJBQTBCLEVBQUU7QUFDbEcsNkNBQTZDLFdBQVcsRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLG9CQUFvQixFQUFFLCtCQUErQixFQUFFO0FBQzFJLHVDQUF1QyxZQUFZLEVBQUU7QUFDckQ7O29EQUVvRCxzQkFBc0IsRUFBRSwyQkFBMkIsRUFBRSwrQkFBK0IsRUFBRSxtQkFBbUIsRUFBRSx1QkFBdUIsRUFBRSwwQkFBMEIsRUFBRSxvQkFBb0IsRUFBRSw4QkFBOEIsRUFBRSx5Q0FBeUMsRUFBRSxzQkFBc0IsRUFBRSwwQkFBMEIsRUFBRSwyQkFBMkIsRUFBRSx5QkFBeUIsRUFBRSw2QkFBNkIsRUFBRSxnQ0FBZ0MsRUFBRSw4QkFBOEIsRUFBRSx1REFBdUQsRUFBRTtBQUMzakI7MkRBQzJELDBDQUEwQyxFQUFFLHNCQUFzQixFQUFFLHNEQUFzRCxFQUFFO0FBQ3ZMLGtFQUFrRSx3QkFBd0IsRUFBRTtBQUM1Riw2Q0FBNkMsc0JBQXNCLEVBQUUseUJBQXlCLEVBQUUsc0JBQXNCLEVBQUUsMkJBQTJCLEVBQUUsNEJBQTRCLEVBQUUsbURBQW1ELEVBQUU7QUFDeE87MEJBQzBCLGtDQUFrQyxFQUF5Qyw2QkFBNkIsRUFBRSwwQkFBMEIsRUFBRSxvQkFBb0IsRUFBRSw2QkFBNkIsRUFBRSw4QkFBOEIsRUFBRSx1Q0FBdUMsRUFBRSwrQ0FBK0MsRUFBRSxvREFBb0QsRUFBRTtBQUNyWTtpREFDaUQsMkJBQTJCLEVBQUUsa0NBQWtDLEVBQUUsdUJBQXVCLEVBQUUsMkJBQTJCLEVBQUU7QUFDeEs7eURBQ3lELHVDQUF1QyxFQUFFLDBCQUEwQixFQUFFO0FBQzlIOzZCQUM2Qix3QkFBd0IsRUFBRSwwQkFBMEIsRUFBRSxtQkFBbUIsRUFBRSxvQkFBb0IsRUFBRSxxQkFBcUIsRUFBRSwyQkFBMkIsRUFBRTtBQUNsTDs0QkFDNEIsc0JBQXNCLEVBQUUsdUJBQXVCLEVBQUUsMEJBQTBCLEVBQUUsMkJBQTJCLEVBQUUsK0JBQStCLEVBQUUsOEJBQThCLEVBQUUsa0NBQWtDLEVBQUUscUJBQXFCLEVBQUUsOEJBQThCLEVBQUUsMkJBQTJCLEVBQUUsa0NBQWtDLEVBQUUsK0NBQStDLEVBQUUsZ0NBQWdDLEVBQUUsMkJBQTJCLEVBQUU7QUFDbmQ7a0NBQ2tDLHlDQUF5QyxFQUFFLHNCQUFzQixFQUFFLDJDQUEyQyxFQUFFLDJCQUEyQixFQUFFOztBQUUvSyxxQkFBcUI7QUFDckIsa0RBQWtELDJDQUEyQyxFQUFFLHFDQUFxQyxFQUFFLDZDQUE2QyxFQUFFO0FBQ3JMLDRDQUE0QywwQkFBMEIsRUFBRSxvQkFBb0IsRUFBRSxtQkFBbUIsRUFBRSxnREFBZ0QsRUFBRSx1QkFBdUIsRUFBRSx5Q0FBeUMsRUFBRSwyQ0FBMkMsRUFBRSw4QkFBOEIsRUFBRSwyQkFBMkIsRUFBRSwyQkFBMkIsRUFBRSxvREFBb0QsRUFBRTtBQUN0YSx5Q0FBeUMsNkJBQTZCLEVBQUUsOEJBQThCLEVBQUUsMkJBQTJCLEVBQUUsMkJBQTJCLEVBQUU7QUFDbEssa0RBQWtELHlDQUF5QyxFQUFFLDJCQUEyQixFQUFFLDZCQUE2QixFQUFFLDJCQUEyQixFQUFFO0FBQ3RMO29FQUNvRSx3QkFBd0IsRUFBRSx5Q0FBeUMsRUFBRSwrQkFBK0IsRUFBRSxvQkFBb0IsRUFBRSxxQkFBcUIsRUFBRTtBQUN2TixpQ0FBaUMsc0JBQXNCLEVBQUUsc0JBQXNCLEVBQUUsc0JBQXNCLEVBQUUsb0JBQW9CLEVBQUUsd0JBQXdCLEVBQUUsd0lBQXdJLEVBQUUscURBQXFELEVBQUUsd0JBQXdCLEVBQUUsOEJBQThCLEVBQUUsa0NBQWtDLEVBQUU7QUFDeGIsbUNBQW1DLHNCQUFzQixFQUFFLDRCQUE0QixFQUFFLHdCQUF3QixFQUFFLDhCQUE4QixFQUFFLGtDQUFrQyxFQUFFO0FBQ3ZMLHFDQUFxQyxzQkFBc0IsRUFBRSwyQkFBMkIsRUFBRSx1QkFBdUIsRUFBRSw0QkFBNEIsRUFBRSxpQ0FBaUMsRUFBRSw4QkFBOEIsRUFBRSx5QkFBeUIsRUFBRSx5QkFBeUIsRUFBRSx3QkFBd0IsRUFBRSw4QkFBOEIsRUFBRSwyQkFBMkIsRUFBRSxvREFBb0QsRUFBRTtBQUN2Wjt3Q0FDd0Msc0JBQXNCLEVBQUUsc0JBQXNCLEVBQUUsc0JBQXNCLEVBQUUsb0JBQW9CLEVBQUUsa0NBQWtDLEVBQUUsMkJBQTJCLEVBQUU7QUFDdk07c0NBQ3NDLDZCQUE2QixFQUFFLGtDQUFrQyxFQUFFLDhDQUE4QyxFQUFFLDJCQUEyQixFQUFFLDRCQUE0QixFQUFFLGlDQUFpQyxFQUFFO0FBQ3ZQLGdDQUFnQyxrQ0FBa0MsRUFBeUMsNkJBQTZCLEVBQUUsK0JBQStCLEVBQUUseUJBQXlCLEVBQUUsNEJBQTRCLEVBQUUsK0JBQStCLEVBQUUsMkNBQTJDLEVBQUUsaURBQWlELEVBQUUsa0NBQWtDLEVBQUUsMEJBQTBCLEVBQUUsMkJBQTJCLEVBQUUseUJBQXlCLEVBQUU7QUFDN2QseUVBQXlFLDJCQUEyQixFQUFFLDZCQUE2QixFQUFFLDhCQUE4QixFQUFFLHVDQUF1QyxFQUFFLCtDQUErQyxFQUFFO0FBQy9QLDJFQUEyRSxvQkFBb0IsRUFBRSxtQ0FBbUMsRUFBRSwwQkFBMEIsRUFBRSw0QkFBNEIsRUFBRTtBQUNoTSxtQ0FBbUMsc0JBQXNCLEVBQUUsd0JBQXdCLEVBQUUsc0RBQXNELEVBQUUsb0JBQW9CLEVBQUUsK0JBQStCLEVBQUUsNEJBQTRCLEVBQUUscUJBQXFCLEVBQUUsc0JBQXNCLEVBQUUsc0JBQXNCLEVBQUU7QUFDelM7dURBQ3VELHVCQUF1QixFQUFFLDJCQUEyQixFQUFFLDJCQUEyQixFQUFFLHVCQUF1QixFQUFFLDJCQUEyQixFQUFFO0FBQ2hNLHVEQUF1RCw4QkFBOEIsRUFBRSwrQ0FBK0MsRUFBRSwyQkFBMkIsRUFBRSxrQ0FBa0MsRUFBRSwwQkFBMEIsRUFBRSwyQkFBMkIsRUFBRSw2QkFBNkIsRUFBRTtBQUNqUztxQ0FDcUMsc0JBQXNCLEVBQUUsdUJBQXVCLEVBQUUsMkJBQTJCLEVBQUUsd0JBQXdCLEVBQUUsOEJBQThCLEVBQUUsa0NBQWtDLEVBQUUsb0JBQW9CLEVBQUUsOEJBQThCLEVBQUUseUNBQXlDLEVBQUUsc0JBQXNCLEVBQUUsMEJBQTBCLEVBQUUsMkJBQTJCLEVBQUUsdURBQXVELEVBQUU7QUFDNWI7Ozs0Q0FHNEMsd0JBQXdCLEVBQUUsd0JBQXdCLEVBQUU7QUFDaEc7MkNBQzJDLDBDQUEwQyxFQUFFLHNCQUFzQixFQUFFO0FBQy9HLHVDQUF1Qyx3QkFBd0IsRUFBRSxtQkFBbUIsRUFBRSwyQkFBMkIsRUFBRSw0QkFBNEIsRUFBRSxtREFBbUQsRUFBRSxtQ0FBbUMsRUFBRSwwQkFBMEIsRUFBRSw0QkFBNEIsRUFBRTtBQUNyUyw0Q0FBNEMseUJBQXlCLEVBQUUsbUNBQW1DLEVBQUU7QUFDNUc7NENBQzRDLHFDQUFxQyxFQUFFLDJCQUEyQixFQUFFLGdDQUFnQyxFQUFFO0FBQ2xKLHlDQUF5Qyw2QkFBNkIsRUFBRSxvQkFBb0IsRUFBRSxzQkFBc0IsRUFBRSxzQkFBc0IsRUFBRSxvQkFBb0IsRUFBRSxxQkFBcUIsRUFBRTtBQUMzTCxnREFBZ0Qsc0JBQXNCLEVBQUUsdUJBQXVCLEVBQUUsMEJBQTBCLEVBQUUsMkJBQTJCLEVBQUUsd0JBQXdCLEVBQUUsOEJBQThCLEVBQUUsa0NBQWtDLEVBQUUscUJBQXFCLEVBQUUsK0JBQStCLEVBQUUsMkJBQTJCLEVBQUUsa0NBQWtDLEVBQUUsK0NBQStDLEVBQUUsb0RBQW9ELEVBQUUsZ0NBQWdDLEVBQUU7QUFDMWYsc0RBQXNELHlDQUF5QyxFQUFFLHNCQUFzQixFQUFFLDJDQUEyQyxFQUFFO0FBQ3RLLG9EQUFvRCxzQkFBc0IsRUFBRSx1QkFBdUIsRUFBRTs7QUFFckc7OzJEQUUyRDtBQUMzRDtzQ0FDc0MsMENBQTBDLEVBQUUsaUNBQWlDLEVBQUUsa0NBQWtDLEVBQUU7QUFDeko7NkRBQzZELHdCQUF3QixFQUFFLHNEQUFzRCxFQUFFLG9CQUFvQixFQUFFLDZCQUE2QixFQUFFO0FBQ3BNOzs7bUNBR21DLHNCQUFzQixFQUFFLHdCQUF3QixFQUFFLDhCQUE4QixFQUFFLDJCQUEyQixFQUFFLCtDQUErQyxFQUFFLG9EQUFvRCxFQUFFO0FBQ3pQO21DQUN3RSwyQkFBMkIsRUFBRSxvQkFBb0IsRUFBRSxxR0FBcUcsRUFBRTtBQUNsTyxpQ0FBaUMsc0JBQXNCLEVBQUUsb0JBQW9CLEVBQUUsb0NBQW9DLEVBQUUsaUNBQWlDLEVBQUUsb0JBQW9CLEVBQUU7QUFDOUssMENBQTBDLDhCQUE4QixFQUFFLG9CQUFvQixFQUFFLGtDQUFrQyxFQUFFLG1DQUFtQyxFQUFFLDBCQUEwQixFQUFFLDJCQUEyQixFQUFFLG9DQUFvQyxFQUFFLGdDQUFnQyxFQUFFO0FBQzFTLG1FQUFtRSwyQkFBMkIsRUFBRSw4QkFBOEIsRUFBRSxxREFBcUQsRUFBRSw4REFBOEQsRUFBRTtBQUN2UCx5RUFBeUUsc0NBQXNDLEVBQUUscURBQXFELEVBQUU7QUFDeEssMENBQTBDLDZCQUE2QixFQUFFLG9CQUFvQixFQUFFLG1EQUFtRCxFQUFFLHNEQUFzRCxFQUFFLDJCQUEyQixFQUFFLGlDQUFpQyxFQUFFO0FBQzVRLHNEQUFzRCxvREFBb0QsRUFBRSx1Q0FBdUMsRUFBRTtBQUNySixxREFBcUQscURBQXFELEVBQUUsdUNBQXVDLEVBQUU7QUFDckosa0NBQWtDLHVCQUF1QixFQUFFO0FBQzNELG9DQUFvQyxzQkFBc0IsRUFBRSx1QkFBdUIsRUFBRSx3QkFBd0IsRUFBRSw4QkFBOEIsRUFBRSxrQ0FBa0MsRUFBRSw4QkFBOEIsRUFBRSw2REFBNkQsRUFBRSwrQ0FBK0MsRUFBRSwyQkFBMkIsRUFBRTtBQUNoVyxzQ0FBc0Msc0JBQXNCLEVBQUUsdUJBQXVCLEVBQUUsaUNBQWlDLEVBQUUsOEJBQThCLEVBQUUsdUJBQXVCLEVBQUUsb0JBQW9CLEVBQUU7QUFDek0seUNBQXlDLGtDQUFrQyxFQUFFLDBCQUEwQixFQUFFLDJCQUEyQixFQUFFLDJCQUEyQixFQUFFLGdDQUFnQyxFQUFFO0FBQ3JNO2lEQUNpRCxrQ0FBa0MsRUFBRSwwQkFBMEIsRUFBRSwyQkFBMkIsRUFBRTtBQUM5SSw2Q0FBNkMsbUNBQW1DLEVBQUUsMEJBQTBCLEVBQUUsMkJBQTJCLEVBQUU7QUFDM0ksK0NBQStDLG9CQUFvQixFQUFFO0FBQ3JFLGtDQUFrQyx1QkFBdUIsRUFBRSw0QkFBNEIsRUFBRTtBQUN6Riw0RUFBNEUsMEJBQTBCLEVBQUUsMkJBQTJCLEVBQUU7QUFDckkscUNBQXFDLHdCQUF3QixFQUFFLDhCQUE4QixFQUFFLG9CQUFvQixFQUFFLDBCQUEwQixFQUFFO0FBQ2pKLDhDQUE4Qyx1QkFBdUIsRUFBRSx1QkFBdUIsRUFBRSx3QkFBd0IsRUFBRSwrQ0FBK0MsRUFBRSw4QkFBOEIsRUFBRSwrQ0FBK0MsRUFBRSw4QkFBOEIsRUFBRSwyQkFBMkIsRUFBRSwyQkFBMkIsRUFBRTtBQUN0VixxREFBcUQsd0JBQXdCLEVBQUU7QUFDL0UscURBQXFELHNCQUFzQixFQUFFLHVCQUF1QixFQUFFLHFCQUFxQixFQUFFLG9CQUFvQixFQUFFLGtDQUFrQyxFQUFFLGtDQUFrQyxFQUFFLDBCQUEwQixFQUFFLDJCQUEyQixFQUFFLDZCQUE2QixFQUFFLG1CQUFtQixFQUFFLDJCQUEyQixFQUFFLHdCQUF3QixFQUFFO0FBQy9YLHNEQUFzRCxzQkFBc0IsRUFBRSx1QkFBdUIsRUFBRSwwQkFBMEIsRUFBRSx3QkFBd0IsRUFBRSw4QkFBOEIsRUFBRSxrQ0FBa0MsRUFBRSxxQkFBcUIsRUFBRSxvQkFBb0IsRUFBRSx1Q0FBdUMsRUFBRSxrQ0FBa0MsRUFBRSwwQkFBMEIsRUFBRSwyQkFBMkIsRUFBRSwyQkFBMkIsRUFBRTtBQUNqYiw2REFBNkQsbUJBQW1CLEVBQUU7QUFDbEYsNERBQTRELG1CQUFtQixFQUFFO0FBQ2pGLDJFQUEyRSx5Q0FBeUMsRUFBRSxzQkFBc0IsRUFBRTtBQUM5SSx3Q0FBd0Msc0JBQXNCLEVBQUUsdUJBQXVCLEVBQUUsMEJBQTBCLEVBQUUsK0JBQStCLEVBQUUsOEJBQThCLEVBQUUsa0NBQWtDLEVBQUUscUJBQXFCLEVBQUUsOEJBQThCLEVBQUUsOEJBQThCLEVBQUUsb0NBQW9DLEVBQUUsK0NBQStDLEVBQUUsMkJBQTJCLEVBQUU7QUFDcmEsOENBQThDLHlDQUF5QyxFQUFFLHNCQUFzQixFQUFFLDJDQUEyQyxFQUFFO0FBQzlKOytEQUMrRCxrQ0FBa0MsRUFBRSwwQkFBMEIsRUFBRSwyQkFBMkIsRUFBRSwyQkFBMkIsRUFBRSxrQ0FBa0MsRUFBRTtBQUM3TiwwQ0FBMEMsMkJBQTJCLEVBQUUsd0JBQXdCLEVBQUUsOEJBQThCLEVBQUUseUNBQXlDLEVBQUUsMEJBQTBCLEVBQUUsOEJBQThCLEVBQUUsdUNBQXVDLEVBQUUsK0NBQStDLEVBQUUsa0NBQWtDLEVBQUUsMEJBQTBCLEVBQUUsMkJBQTJCLEVBQUU7QUFDL1osMkNBQTJDLDBCQUEwQixFQUFFLDJDQUEyQyxFQUFFO0FBQ3BILCtDQUErQyxtQ0FBbUMsRUFBRSwwQkFBMEIsRUFBRSwyQkFBMkIsRUFBRTtBQUM3STt5REFDeUQsa0NBQWtDLEVBQUUsMEJBQTBCLEVBQUUsMkJBQTJCLEVBQUUsMkJBQTJCLEVBQUU7QUFDbkw7O3dEQUV3RCwyQkFBMkIsRUFBRSx3QkFBd0IsRUFBRSw4QkFBOEIsRUFBRSxrQ0FBa0MsRUFBRSxvQkFBb0IsRUFBRSw4QkFBOEIsRUFBRSx5Q0FBeUMsRUFBRSxzQkFBc0IsRUFBRSx1REFBdUQsRUFBRSxnQ0FBZ0MsRUFBRTtBQUN2WTs7OERBRThELDBDQUEwQyxFQUFFLHNCQUFzQixFQUFFLHNDQUFzQyxFQUFFO0FBQzFLOzhEQUM4RCx5QkFBeUIsRUFBRSwwQkFBMEIsRUFBRSwyQkFBMkIsRUFBRSw0QkFBNEIsRUFBRTs7QUFFaEwsaUJBQWlCO0FBQ2pCOytFQUMrRSx3QkFBd0IsRUFBRSxzREFBc0QsRUFBRSxvQkFBb0IsRUFBRSwyQkFBMkIsRUFBRSxxQkFBcUIsRUFBRSwrQkFBK0IsRUFBRTtBQUM1UTtzRUFDc0UsNkJBQTZCLEVBQUUsb0JBQW9CLEVBQUU7QUFDM0g7OztzRkFHc0Ysc0JBQXNCLEVBQUUsdUJBQXVCLEVBQUUsMkJBQTJCLEVBQUUsb0JBQW9CLEVBQUUsaUNBQWlDLEVBQUUsOEJBQThCLEVBQUUsK0NBQStDLEVBQUUsMkJBQTJCLEVBQUUsa0NBQWtDLEVBQUUsMEJBQTBCLEVBQUUsMkJBQTJCLEVBQUUsd0JBQXdCLEVBQUUsMkJBQTJCLEVBQUU7QUFDL2Q7OztzRkFHc0YsNkJBQTZCLEVBQUUscUJBQXFCLEVBQUUsbUJBQW1CLEVBQUUsc0NBQXNDLEVBQUUsb0JBQW9CLEVBQUUseUJBQXlCLEVBQUUsMkJBQTJCLEVBQUUsbUNBQW1DLEVBQUUsMEJBQTBCLEVBQUUsMkJBQTJCLEVBQUUsK0JBQStCLEVBQUUsb0NBQW9DLEVBQUU7QUFDNWI7Ozs7OzBGQUswRixtQkFBbUIsRUFBRSwwQkFBMEIsRUFBRSxxQ0FBcUMsRUFBRSwwQkFBMEIsRUFBRSwyQkFBMkIsRUFBRTtBQUMzTztpRkFDaUYsc0JBQXNCLEVBQUUsdUJBQXVCLEVBQUUsMkJBQTJCLEVBQUUsd0JBQXdCLEVBQUUsOEJBQThCLEVBQUUsa0NBQWtDLEVBQUUsb0JBQW9CLEVBQUUsMEJBQTBCLEVBQUUsOEJBQThCLEVBQUUsb0JBQW9CLEVBQUUseUNBQXlDLEVBQUUsc0JBQXNCLEVBQUUsMEJBQTBCLEVBQUUsMkJBQTJCLEVBQUUsdURBQXVELEVBQUU7QUFDMWhCOzs7dUdBR3VHLHVDQUF1QyxFQUFFLHlCQUF5QixFQUFFLCtDQUErQyxFQUFFLDJCQUEyQixFQUFFLHFCQUFxQixFQUFFLDhCQUE4QixFQUFFOztBQUVoVCxvQkFBb0I7QUFDcEIsMENBQTBDLDJCQUEyQixFQUFFLHdCQUF3QixFQUFFLDhCQUE4QixFQUFFLDJCQUEyQixFQUFFLCtDQUErQyxFQUFFLHFEQUFxRCxFQUFFO0FBQ3RRLDZEQUE2RCwyQkFBMkIsRUFBRSw0QkFBNEIsRUFBRSxzREFBc0QsRUFBRTtBQUNoTDtrQ0FDa0Msb0JBQW9CLEVBQUUsa0NBQWtDLEVBQUUsMEJBQTBCLEVBQUUsMkJBQTJCLEVBQUUsNEJBQTRCLEVBQUUsa0NBQWtDLEVBQUU7QUFDdk4seUNBQXlDLHdCQUF3QixFQUFFLDJEQUEyRCxFQUFFLG9CQUFvQixFQUFFO0FBQ3RKOzs7O2dEQUlnRCw4QkFBOEIsRUFBRTtBQUNoRiwyRUFBMkUsc0JBQXNCLEVBQUUsdUJBQXVCLEVBQUUsMkJBQTJCLEVBQUUsb0JBQW9CLEVBQUUsc0NBQXNDLEVBQUUsOEJBQThCLEVBQUUsK0NBQStDLEVBQUUsMkJBQTJCLEVBQUUsa0NBQWtDLEVBQUUsMEJBQTBCLEVBQUUsMkJBQTJCLEVBQUUsd0JBQXdCLEVBQUUsMkJBQTJCLEVBQUUsbUNBQW1DLEVBQUUsZ0NBQWdDLEVBQUUsMkJBQTJCLEVBQUU7QUFDN2pCLDBFQUEwRSw2QkFBNkIsRUFBRSxxQkFBcUIsRUFBRSxtQkFBbUIsRUFBRSxxQkFBcUIsRUFBRSxvQkFBb0IsRUFBRSx5QkFBeUIsRUFBRSwyQkFBMkIsRUFBRSxxQ0FBcUMsRUFBRSwwQkFBMEIsRUFBRSwyQkFBMkIsRUFBRSx5QkFBeUIsRUFBRTtBQUNyWDs7aUNBRWlDLDZCQUE2QixFQUFFLDhCQUE4QixFQUFFLHVDQUF1QyxFQUFFLCtDQUErQyxFQUFFLGtDQUFrQyxFQUFFO0FBQzlOLDBDQUEwQyw4QkFBOEIsRUFBRSwrQ0FBK0MsRUFBRSw4QkFBOEIsRUFBRSxrQ0FBa0MsRUFBRSwyQkFBMkIsRUFBRTtBQUM1TixtREFBbUQsMkNBQTJDLEVBQUUsOEJBQThCLEVBQUU7QUFDaEksdUNBQXVDLHdCQUF3QixFQUFFLDhCQUE4QixFQUFFLHlDQUF5QyxFQUFFLG9CQUFvQixFQUFFO0FBQ2xLLDJEQUEyRCwyQkFBMkIsRUFBRSwrQkFBK0IsRUFBRSw4QkFBOEIsRUFBRSxtQkFBbUIsRUFBRSwwQkFBMEIsRUFBRSw4QkFBOEIsRUFBRSx1Q0FBdUMsRUFBRSwrQ0FBK0MsRUFBRSxrQ0FBa0MsRUFBRSwwQkFBMEIsRUFBRSwyQkFBMkIsRUFBRSxnQ0FBZ0MsRUFBRTtBQUNuYywrQ0FBK0Msd0JBQXdCLEVBQUUsMERBQTBELEVBQUUsb0JBQW9CLEVBQUUsOEJBQThCLEVBQUUsMEJBQTBCLEVBQUUsc0RBQXNELEVBQUU7QUFDL1Esc0RBQXNELDZCQUE2QixFQUFFLHNCQUFzQixFQUFFLHVCQUF1QixFQUFFLHdCQUF3QixFQUFFLDhCQUE4QixFQUFFLGtDQUFrQyxFQUFFLDhCQUE4QixFQUFFLDZEQUE2RCxFQUFFLCtDQUErQyxFQUFFO0FBQ3BYLDBEQUEwRCxzQkFBc0IsRUFBRSx1QkFBdUIsRUFBRSxpQ0FBaUMsRUFBRSw4QkFBOEIsRUFBRTtBQUM5Syx5REFBeUQsNkJBQTZCLEVBQUUsb0JBQW9CLEVBQUUsc0JBQXNCLEVBQUUsMEJBQTBCLEVBQUUsdUJBQXVCLEVBQUUsK0JBQStCLEVBQUUsOEJBQThCLEVBQUUsa0NBQWtDLEVBQUUsK0JBQStCLEVBQUUseUNBQXlDLEVBQUUsc0JBQXNCLEVBQUUsaUNBQWlDLEVBQUUsMEJBQTBCLEVBQUUsMkJBQTJCLEVBQUU7QUFDaGUseUVBQXlFLHdCQUF3QixFQUFFOztBQUVuRzs7MkRBRTJEO0FBQzNELDZEQUE2RCx3QkFBd0IsRUFBRSw4QkFBOEIsRUFBRSx1S0FBdUssRUFBRSxrREFBa0QsRUFBRSxvREFBb0QsRUFBRTtBQUMxWSxnRUFBZ0Usb0JBQW9CLEVBQUUscUJBQXFCLEVBQUUsMkJBQTJCLEVBQUU7QUFDMUksZ0VBQWdFLDJCQUEyQixFQUFFLHFCQUFxQixFQUFFLDJCQUEyQixFQUFFO0FBQ2pKLGtFQUFrRSwyQkFBMkIsRUFBRSx3QkFBd0IsRUFBRSw4QkFBOEIsRUFBRSxvQkFBb0IsRUFBRSwwQkFBMEIsRUFBRSw4QkFBOEIsRUFBRSw0Q0FBNEMsRUFBRSxrREFBa0QsRUFBRSxzQkFBc0IsRUFBRSwwQkFBMEIsRUFBRSwyQkFBMkIsRUFBRSwyQkFBMkIsRUFBRSxnQ0FBZ0MsRUFBRSwyQkFBMkIsRUFBRTtBQUMxZix3RUFBd0UsMkNBQTJDLEVBQUUsNkNBQTZDLEVBQUU7QUFDcEssNEVBQTRFLHlDQUF5QyxFQUFFLHNCQUFzQixFQUFFLDJDQUEyQyxFQUFFLHVEQUF1RCxFQUFFO0FBQ3JQLDBEQUEwRCx3QkFBd0IsRUFBRSw4QkFBOEIsRUFBRSwyQkFBMkIsRUFBRSwrQ0FBK0MsRUFBRSxvREFBb0QsRUFBRSxrQ0FBa0MsRUFBRSwyQkFBMkIsRUFBRTtBQUN6VCw0RUFBNEUsMkJBQTJCLEVBQUUsNkJBQTZCLEVBQUUsOEJBQThCLEVBQUUsdUNBQXVDLEVBQUUsK0NBQStDLEVBQUUsa0NBQWtDLEVBQUUsMEJBQTBCLEVBQUUsMkJBQTJCLEVBQUU7QUFDL1YsNERBQTRELG1DQUFtQyxFQUFFLDBCQUEwQixFQUFFLDJCQUEyQixFQUFFO0FBQzFKLGlFQUFpRSxrQ0FBa0MsRUFBRSwyQkFBMkIsRUFBRTtBQUNsSSw0REFBNEQscUNBQXFDLEVBQUUsMkJBQTJCLEVBQUUsZ0NBQWdDLEVBQUUsd0RBQXdELEVBQUU7QUFDNU47OzhDQUU4QywyQkFBMkIsRUFBRSw2QkFBNkIsRUFBRSw4QkFBOEIsRUFBRSx1Q0FBdUMsRUFBRSwrQ0FBK0MsRUFBRSxrQ0FBa0MsRUFBRSwwQkFBMEIsRUFBRSwyQkFBMkIsRUFBRSwyQkFBMkIsRUFBRSwyQkFBMkIsRUFBRTtBQUMzWCw0RUFBNEUsNkJBQTZCLEVBQUUsd0JBQXdCLEVBQUUsOEJBQThCLEVBQUUsb0JBQW9CLEVBQUUsMEJBQTBCLEVBQUUsNkJBQTZCLEVBQUUsMkJBQTJCLEVBQUU7QUFDblIsb0ZBQW9GLDZCQUE2QixFQUFFLHFCQUFxQixFQUFFLG1CQUFtQixFQUFFLHNDQUFzQyxFQUFFLG9CQUFvQixFQUFFLHFDQUFxQyxFQUFFLDBCQUEwQixFQUFFLHlCQUF5QixFQUFFO0FBQzNUO3dGQUN3Riw0QkFBNEIsRUFBRTtBQUN0SDs7Ozt3REFJd0QsMkJBQTJCLEVBQUUsK0JBQStCLEVBQUUsOEJBQThCLEVBQUUsa0NBQWtDLEVBQUUsMEJBQTBCLEVBQUUsb0JBQW9CLEVBQUUsOEJBQThCLEVBQUUseUNBQXlDLEVBQUUsc0JBQXNCLEVBQUUsMEJBQTBCLEVBQUUsMkJBQTJCLEVBQUUseUJBQXlCLEVBQUUsZ0NBQWdDLEVBQUUsdURBQXVELEVBQUU7QUFDOWY7Ozs7OERBSThELDBDQUEwQyxFQUFFLHNCQUFzQixFQUFFOztBQUVsSTs2REFDNkQsOEJBQThCLEVBQUUsa0NBQWtDLEVBQUUsMEJBQTBCLEVBQUUsMkJBQTJCLEVBQUUsNEJBQTRCLEVBQUUsa0NBQWtDLEVBQUU7QUFDNVA7b0VBQ29FLHNCQUFzQixFQUFFLHlCQUF5QixFQUFFLHNCQUFzQixFQUFFLHNCQUFzQixFQUFFLDJCQUEyQixFQUFFLCtCQUErQixFQUFFLHlDQUF5QyxFQUFFO0FBQ2hSOztnREFFZ0Qsd0JBQXdCLEVBQUUsOEJBQThCLEVBQUUscUdBQXFHLEVBQUUsK0NBQStDLEVBQUUsb0RBQW9ELEVBQUUsa0NBQWtDLEVBQUU7QUFDNVY7Ozt1REFHdUQsOEJBQThCLEVBQUU7QUFDdkY7O3NEQUVzRCw2QkFBNkIsRUFBRSxrQ0FBa0MsRUFBRSwwQkFBMEIsRUFBRSwyQkFBMkIsRUFBRSw0QkFBNEIsRUFBRTtBQUNoTjs7Ozs7Ozs7OzhDQVM4QywyQkFBMkIsRUFBRSwwQkFBMEIsRUFBRSw4QkFBOEIsRUFBRSwrQ0FBK0MsRUFBRSwyQkFBMkIsRUFBRSxrQ0FBa0MsRUFBRSwwQkFBMEIsRUFBRSwyQkFBMkIsRUFBRSx3QkFBd0IsRUFBRSwyQkFBMkIsRUFBRTtBQUN6Vzs7O29EQUdvRCwyQ0FBMkMsRUFBRSxxREFBcUQsRUFBRTtBQUN4SiwyQ0FBMkMseUJBQXlCLEVBQUU7QUFDdEUsZ0RBQWdELG9CQUFvQixFQUFFLDhCQUE4QixFQUFFLHVDQUF1QyxFQUFFLGtDQUFrQyxFQUFFLDJCQUEyQixFQUFFO0FBQ2hOLHNEQUFzRCx5Q0FBeUMsRUFBRSxzQkFBc0IsRUFBRTtBQUN6SDs7Ozs7c0VBS3NFLDJCQUEyQixFQUFFLDBCQUEwQixFQUFFLG9CQUFvQixFQUFFLDhCQUE4QixFQUFFLHlDQUF5QyxFQUFFLHNCQUFzQixFQUFFLDBCQUEwQixFQUFFLDJCQUEyQixFQUFFLHlCQUF5QixFQUFFLGdDQUFnQyxFQUFFLHVEQUF1RCxFQUFFO0FBQ3ZhOzswRUFFMEUsMENBQTBDLEVBQUUsc0JBQXNCLEVBQUUsc0RBQXNELEVBQUU7QUFDdE07O2dFQUVnRSwyQkFBMkIsRUFBRSw2QkFBNkIsRUFBRSw4QkFBOEIsRUFBRSx1Q0FBdUMsRUFBRSwrQ0FBK0MsRUFBRSxtQ0FBbUMsRUFBRTtBQUMzUixxREFBcUQsNkJBQTZCLEVBQUU7QUFDcEY7eUZBQ3lGLHFDQUFxQyxFQUFFLDJCQUEyQixFQUFFLGdDQUFnQyxFQUFFLHdEQUF3RCxFQUFFOztBQUV6UDs7MkRBRTJEO0FBQzNEO0lBQ0ksa0NBQWtDLHFDQUFxQyxFQUFFO0lBQ3pFLHdFQUF3RSw0QkFBNEIsRUFBRTtJQUN0RyxvREFBb0QsMkRBQTJELEVBQUU7QUFDckg7QUFDQTtJQUNJO2lFQUM2RCxxQ0FBcUMsRUFBRTtJQUNwRzt1Q0FDbUMsMkJBQTJCLEVBQUU7QUFDcEU7QUFDQTtJQUNJLG9EQUFvRCwyREFBMkQsRUFBRTtJQUNqSDs7Ozs4Q0FJMEMseUJBQXlCLEVBQUUsc0JBQXNCLEVBQUU7SUFDN0YsNkNBQTZDLHdCQUF3QixFQUFFO0lBQ3ZFLGdEQUFnRCxrQkFBa0IsRUFBRSx3QkFBd0IsRUFBRSwwQ0FBMEMsRUFBRSxTQUFTLEVBQUUsOEJBQThCLEVBQUUsd0JBQXdCLEVBQUUsOEJBQThCLEVBQUUsK0NBQStDLEVBQUUsMkJBQTJCLEVBQUU7SUFDN1QsZ0RBQWdELHFCQUFxQixFQUFFLG9CQUFvQixFQUFFLGtDQUFrQyxFQUFFO0lBQ2pJLGtDQUFrQyw2QkFBNkIsRUFBRSxvQkFBb0IsRUFBRSxzQkFBc0IsRUFBRSxzQkFBc0IsRUFBRSwwQkFBMEIsRUFBRSxxQkFBcUIsRUFBRTtJQUMxTCxxQ0FBcUMsb0JBQW9CLEVBQUUsc0JBQXNCLEVBQUU7SUFDbkYsdUNBQXVDLFdBQVcsRUFBRSxZQUFZLEVBQUU7SUFDbEU7OzJDQUV1QyxjQUFjLEVBQUUsc0JBQXNCLEVBQUU7QUFDbkY7QUFDQTtJQUNJOzs7MkJBR3VCLDBDQUEwQyxFQUFFLDRCQUE0QixFQUFFLDZCQUE2QixFQUFFO0lBQ2hJOzs7Ozs7Ozs7OztvREFXZ0Qsd0JBQXdCLEVBQUUsOEJBQThCLEVBQUU7SUFDMUcsd0VBQXdFLDRCQUE0QixFQUFFO0lBQ3RHLG1FQUFtRSw0QkFBNEIsRUFBRSx3QkFBd0IsRUFBRTtJQUMzSCwwREFBMEQsMEJBQTBCLEVBQUU7SUFDdEYsa0RBQWtELDBCQUEwQixFQUFFO0lBQzlFO3lDQUNxQyxxQ0FBcUMsRUFBRSxvQkFBb0IsRUFBRTtJQUNsRzs7OzZEQUd5RCxzQkFBc0IsRUFBRSwwQkFBMEIsRUFBRSx1QkFBdUIsRUFBRTtJQUN0SSxnREFBZ0Qsd0JBQXdCLEVBQUUscUNBQXFDLEVBQUU7SUFDakgscURBQXFELHNCQUFzQixFQUFFO0lBQzdFO21EQUMrQyx5QkFBeUIsRUFBRSxzQkFBc0IsRUFBRTtJQUNsRyxvREFBb0QsMkRBQTJELEVBQUUsb0JBQW9CLEVBQUU7SUFDdkksNENBQTRDLG9DQUFvQyxFQUFFLHlDQUF5QyxFQUFFLDhCQUE4QixFQUFFO0lBQzdKO3dFQUNvRSx5QkFBeUIsRUFBRTtJQUMvRixpQ0FBaUMsNkJBQTZCLEVBQUUsMEJBQTBCLEVBQUUsc0RBQXNELEVBQUU7SUFDcEosbUNBQW1DLDRCQUE0QixFQUFFO0lBQ2pFOzRDQUN3QyxrQ0FBa0MsRUFBRTtJQUM1RSxtQ0FBbUMscURBQXFELEVBQUU7SUFDMUY7MkRBQ3VELHNCQUFzQixFQUFFLDBCQUEwQixFQUFFLDBCQUEwQixFQUFFO0lBQ3ZJOzs7O3dDQUlvQyx5QkFBeUIsRUFBRSxzQkFBc0IsRUFBRTtJQUN2Rix1Q0FBdUMsd0JBQXdCLEVBQUU7SUFDakUsbUVBQW1FLHdCQUF3QixFQUFFLHFEQUFxRCxFQUFFLG9CQUFvQixFQUFFLDhCQUE4QixFQUFFLHdCQUF3QixFQUFFLDhCQUE4QixFQUFFLCtDQUErQyxFQUFFO0lBQ3JULDBDQUEwQyxxQkFBcUIsRUFBRSxvQkFBb0IsRUFBRSxrQ0FBa0MsRUFBRTtJQUMzSCxrQ0FBa0MsK0JBQStCLEVBQUUsc0JBQXNCLEVBQUU7SUFDM0Y7c0NBQ2tDLHlCQUF5QixFQUFFLHNCQUFzQixFQUFFLDJCQUEyQixFQUFFO0lBQ2xILHlDQUF5QyxxQ0FBcUMsRUFBRTtJQUNoRix1Q0FBdUMseUNBQXlDLEVBQUUsK0JBQStCLEVBQUU7SUFDbkg7NERBQ3dELHNCQUFzQixFQUFFLHVCQUF1QixFQUFFO0lBQ3pHO21GQUMrRSxxQ0FBcUMsRUFBRTtBQUMxSDtBQUNBO0lBQ0ksb0RBQW9ELHFDQUFxQyxFQUFFO0lBQzNGLG1DQUFtQyxxQ0FBcUMsRUFBRTtJQUMxRTsyREFDdUQsc0JBQXNCLEVBQUUsMEJBQTBCLEVBQUUsdUJBQXVCLEVBQUU7SUFDcEk7dUVBQ21FLHFDQUFxQyxFQUFFO0lBQzFHOzs7Ozs7c0NBTWtDLHlCQUF5QixFQUFFO0lBQzdELHFDQUFxQyxzQkFBc0IsRUFBRTtJQUM3RDt3Q0FDb0Msc0JBQXNCLEVBQUUsd0JBQXdCLEVBQUU7QUFDMUY7O0FBRUE7OzsyREFHMkQ7QUFDM0Q7SUFDSTs7UUFFSSwwQkFBMEI7UUFDMUIsNkJBQTZCO0lBQ2pDOztJQUVBOzs7O1FBSUksc0JBQXNCO1FBQ3RCLDBCQUEwQjtRQUMxQix1QkFBdUI7UUFDdkIsNkJBQTZCO1FBQzdCLGlDQUFpQztJQUNyQzs7SUFFQTtRQUNJLDBDQUEwQztRQUMxQyxpQ0FBaUM7SUFDckM7O0lBRUE7UUFDSSx3QkFBd0I7UUFDeEIscUNBQXFDO1FBQ3JDLG9CQUFvQjtJQUN4Qjs7SUFFQTs7UUFFSSx3QkFBd0I7UUFDeEIsOEJBQThCO0lBQ2xDOztJQUVBOzs7OztRQUtJLHlCQUF5QjtRQUN6QixzQkFBc0I7UUFDdEIsMEJBQTBCO1FBQzFCLHVCQUF1QjtRQUN2QixpQ0FBaUM7UUFDakMsNEJBQTRCO0lBQ2hDOztJQUVBO1FBQ0ksd0JBQXdCO0lBQzVCOztJQUVBO1FBQ0ksd0JBQXdCO1FBQ3hCLHFDQUFxQztRQUNyQyxvQkFBb0I7UUFDcEIsc0JBQXNCO1FBQ3RCLDBCQUEwQjtRQUMxQiwyQkFBMkI7UUFDM0Isd0JBQXdCO1FBQ3hCLCtDQUErQztRQUMvQyw4QkFBOEI7UUFDOUIsMkJBQTJCO1FBQzNCLHdEQUF3RDtJQUM1RDs7SUFFQTs7O1FBR0kseUJBQXlCO1FBQ3pCLHNCQUFzQjtRQUN0QiwwQkFBMEI7UUFDMUIscUJBQXFCO1FBQ3JCLG9CQUFvQjtRQUNwQiwyQkFBMkI7UUFDM0Isa0NBQWtDO1FBQ2xDLDJCQUEyQjtJQUMvQjs7SUFFQTtRQUNJLG1CQUFtQjtRQUNuQixzQkFBc0I7UUFDdEIsMEJBQTBCO0lBQzlCOztJQUVBO1FBQ0ksc0JBQXNCO1FBQ3RCLHdCQUF3QjtRQUN4QiwwQkFBMEI7UUFDMUIsb0JBQW9CO1FBQ3BCLDhCQUE4QjtJQUNsQzs7SUFFQTtRQUNJLHVCQUF1QjtRQUN2Qix3QkFBd0I7UUFDeEIsMkJBQTJCO1FBQzNCLDRCQUE0QjtRQUM1Qix5QkFBeUI7UUFDekIsaUNBQWlDO1dBQzlCLDhCQUE4QjtJQUNyQzs7SUFFQTs7UUFFSSxtQkFBbUI7UUFDbkIsc0JBQXNCO1FBQ3RCLDBCQUEwQjtRQUMxQix1QkFBdUI7UUFDdkIsMkJBQTJCO0lBQy9COztJQUVBO1FBQ0kseUJBQXlCO1FBQ3pCLHNCQUFzQjtRQUN0QiwwQkFBMEI7UUFDMUIsMEJBQTBCO1FBQzFCLDBCQUEwQjtRQUMxQiw0QkFBNEI7UUFDNUIsaUNBQWlDO1FBQ2pDLGtDQUFrQztJQUN0Qzs7SUFFQTs7OztRQUlJLHNCQUFzQjtRQUN0QiwwQkFBMEI7UUFDMUIsdUJBQXVCO1FBQ3ZCLGtDQUFrQztRQUNsQyxpQ0FBaUM7SUFDckM7O0lBRUE7OztRQUdJLHlCQUF5QjtRQUN6QixzQkFBc0I7UUFDdEIsMEJBQTBCO1FBQzFCLDBCQUEwQjtRQUMxQiwyQkFBMkI7SUFDL0I7O0lBRUE7UUFDSSxzQkFBc0I7UUFDdEIsMEJBQTBCO1FBQzFCLHdCQUF3QjtRQUN4QiwwQkFBMEI7UUFDMUIsOEJBQThCO1FBQzlCLG9CQUFvQjtRQUNwQiwyQkFBMkI7SUFDL0I7O0lBRUE7UUFDSSwwQkFBMEI7UUFDMUIsc0JBQXNCO1FBQ3RCLDJCQUEyQjtRQUMzQiwyQkFBMkI7SUFDL0I7O0lBRUE7UUFDSSx5QkFBeUI7UUFDekIsc0JBQXNCO1FBQ3RCLHVCQUF1QjtRQUN2QiwwQkFBMEI7UUFDMUIsb0JBQW9CO0lBQ3hCOztJQUVBOzs7UUFHSSxpQ0FBaUM7SUFDckM7O0lBRUE7O1FBRUksc0JBQXNCO1FBQ3RCLHVCQUF1QjtRQUN2Qiw4QkFBOEI7UUFDOUIsNkJBQTZCO0lBQ2pDO0FBQ0o7O0FBRUE7OzsyREFHMkQ7QUFDM0Q7SUFDSTs7Ozs7Ozs7UUFRSSxzQkFBc0I7UUFDdEIsMEJBQTBCO1FBQzFCLHVCQUF1QjtRQUN2Qiw2QkFBNkI7UUFDN0IsaUNBQWlDO0lBQ3JDOztJQUVBO1FBQ0ksMENBQTBDO1FBQzFDLDRCQUE0QjtRQUM1Qiw2QkFBNkI7SUFDakM7O0lBRUE7O1FBRUksd0JBQXdCO1FBQ3hCLGlDQUFpQztRQUNqQyxvQkFBb0I7SUFDeEI7O0lBRUE7Ozs7Ozs7OztRQVNJLHlCQUF5QjtRQUN6QixzQkFBc0I7UUFDdEIsMEJBQTBCO1FBQzFCLHVCQUF1QjtRQUN2QixzQkFBc0I7UUFDdEIsc0JBQXNCO1FBQ3RCLDJCQUEyQjtRQUMzQixpQ0FBaUM7UUFDakMsNEJBQTRCO1FBQzVCLDJCQUEyQjtRQUMzQiw4QkFBOEI7SUFDbEM7O0lBRUE7O1FBRUksd0JBQXdCO0lBQzVCOztJQUVBOztRQUVJLHdCQUF3QjtRQUN4QixpQ0FBaUM7UUFDakMsK0JBQStCO1FBQy9CLG9CQUFvQjtRQUNwQiwyQkFBMkI7UUFDM0Isd0JBQXdCO1FBQ3hCLDhCQUE4QjtRQUM5QiwyQkFBMkI7UUFDM0IsK0NBQStDO1FBQy9DLHdEQUF3RDtJQUM1RDs7SUFFQTs7UUFFSSx5QkFBeUI7UUFDekIsc0JBQXNCO1FBQ3RCLDBCQUEwQjtRQUMxQixxQkFBcUI7UUFDckIsb0JBQW9CO1FBQ3BCLGtDQUFrQztJQUN0Qzs7SUFFQTtRQUNJLG1CQUFtQjtRQUNuQix3QkFBd0I7UUFDeEIsa0NBQWtDO1FBQ2xDLDhCQUE4QjtRQUM5QixxQkFBcUI7SUFDekI7O0lBRUE7O1FBRUksc0JBQXNCO1FBQ3RCLHdCQUF3QjtRQUN4QiwwQkFBMEI7UUFDMUIsd0JBQXdCO1FBQ3hCLDhCQUE4QjtRQUM5QixrQ0FBa0M7UUFDbEMsb0JBQW9CO1FBQ3BCLHdCQUF3QjtRQUN4Qiw4QkFBOEI7UUFDOUIseUVBQXlFO1FBQ3pFLCtDQUErQztRQUMvQywyQkFBMkI7UUFDM0IsaUNBQWlDO0lBQ3JDOztJQUVBO1FBQ0ksdUJBQXVCO1FBQ3ZCLHdCQUF3QjtRQUN4QiwyQkFBMkI7UUFDM0IsNEJBQTRCO1FBQzVCLGlDQUFpQztXQUM5Qiw4QkFBOEI7UUFDakMseUJBQXlCO1FBQ3pCLHlCQUF5QjtRQUN6QiwyQkFBMkI7SUFDL0I7O0lBRUE7UUFDSSxtQkFBbUI7UUFDbkIsd0JBQXdCO1FBQ3hCLG1CQUFtQjtJQUN2Qjs7SUFFQTtRQUNJLG1CQUFtQjtJQUN2Qjs7SUFFQTs7UUFFSSx5QkFBeUI7UUFDekIsc0JBQXNCO1FBQ3RCLG9CQUFvQjtRQUNwQixxQkFBcUI7UUFDckIsa0NBQWtDO1FBQ2xDLDBCQUEwQjtRQUMxQiw0QkFBNEI7UUFDNUIsMkJBQTJCO1FBQzNCLGlDQUFpQztRQUNqQyxrQ0FBa0M7UUFDbEMsaUNBQWlDO0lBQ3JDOztJQUVBOzs7O1FBSUkseUJBQXlCO1FBQ3pCLHNCQUFzQjtRQUN0QiwwQkFBMEI7UUFDMUIsb0JBQW9CO1FBQ3BCLG1DQUFtQztRQUNuQywwQkFBMEI7UUFDMUIsNEJBQTRCO1FBQzVCLGtDQUFrQztRQUNsQyxpQ0FBaUM7SUFDckM7O0lBRUE7Ozs7O1FBS0kseUJBQXlCO1FBQ3pCLHNCQUFzQjtRQUN0QiwwQkFBMEI7UUFDMUIsb0JBQW9CO1FBQ3BCLHFCQUFxQjtRQUNyQixrQ0FBa0M7UUFDbEMsMkJBQTJCO1FBQzNCLDJCQUEyQjtRQUMzQixzQkFBc0I7UUFDdEIsc0JBQXNCO1FBQ3RCLDhCQUE4QjtJQUNsQzs7SUFFQTs7O1FBR0ksMEJBQTBCO1FBQzFCLDJCQUEyQjtRQUMzQiwyQkFBMkI7SUFDL0I7O0lBRUE7UUFDSSx3QkFBd0I7UUFDeEIsMEJBQTBCO1FBQzFCLDhCQUE4QjtRQUM5QixvQkFBb0I7UUFDcEIsc0JBQXNCO1FBQ3RCLDBCQUEwQjtRQUMxQiwwQkFBMEI7UUFDMUIsMkJBQTJCO1FBQzNCLHNCQUFzQjtRQUN0QixzQkFBc0I7SUFDMUI7O0lBRUE7UUFDSSwwQkFBMEI7UUFDMUIsc0JBQXNCO1FBQ3RCLDJCQUEyQjtRQUMzQiwyQkFBMkI7UUFDM0IsdUJBQXVCO1FBQ3ZCLG9CQUFvQjtJQUN4Qjs7SUFFQTs7UUFFSSx5QkFBeUI7UUFDekIsc0JBQXNCO1FBQ3RCLHVCQUF1QjtRQUN2QiwwQkFBMEI7UUFDMUIsMEJBQTBCO1FBQzFCLG9CQUFvQjtRQUNwQiw4QkFBOEI7SUFDbEM7O0lBRUE7Ozs7OztRQU1JLHVCQUF1QjtRQUN2QiwwQkFBMEI7UUFDMUIsa0NBQWtDO1FBQ2xDLGlDQUFpQztJQUNyQztBQUNKOztBQUVBOzs7MkRBRzJEO0FBQzNEO0lBQ0k7Ozs7Ozs7Ozs7Ozs7UUFhSSwwQkFBMEI7UUFDMUIsdUJBQXVCO1FBQ3ZCLDZCQUE2QjtRQUM3QixpQ0FBaUM7SUFDckM7O0lBRUE7UUFDSSxtQ0FBbUM7UUFDbkMsNkJBQTZCO1FBQzdCLDRCQUE0QjtJQUNoQzs7SUFFQTs7UUFFSSx3QkFBd0I7UUFDeEIscUNBQXFDO1FBQ3JDLG9CQUFvQjtJQUN4Qjs7SUFFQTs7Ozs7Ozs7UUFRSSx5QkFBeUI7UUFDekIsc0JBQXNCO1FBQ3RCLDBCQUEwQjtRQUMxQix1QkFBdUI7UUFDdkIsc0JBQXNCO1FBQ3RCLHNCQUFzQjtRQUN0QiwyQkFBMkI7UUFDM0IsaUNBQWlDO1FBQ2pDLDRCQUE0QjtJQUNoQzs7SUFFQTs7O1FBR0ksd0JBQXdCO0lBQzVCOztJQUVBOztRQUVJLHdCQUF3QjtRQUN4QixxREFBcUQ7UUFDckQ7OzswQ0FHa0M7UUFDbEMsb0JBQW9CO1FBQ3BCLDZCQUE2QjtRQUM3QixzQkFBc0I7UUFDdEIsMEJBQTBCO1FBQzFCLDJCQUEyQjtRQUMzQix3QkFBd0I7UUFDeEIsd0RBQXdEO1FBQ3hELDhCQUE4QjtRQUM5QiwyQkFBMkI7UUFDM0IsdURBQXVEO1FBQ3ZELDJCQUEyQjtJQUMvQjs7SUFFQTs7UUFFSSx5QkFBeUI7UUFDekIsc0JBQXNCO1FBQ3RCLDBCQUEwQjtRQUMxQix1QkFBdUI7UUFDdkIscUJBQXFCO1FBQ3JCLG9CQUFvQjtRQUNwQixrQ0FBa0M7SUFDdEM7O0lBRUE7UUFDSSwyQkFBMkI7UUFDM0Isc0JBQXNCO1FBQ3RCLDBCQUEwQjtRQUMxQixxQkFBcUI7SUFDekI7O0lBRUE7O1FBRUksd0JBQXdCO1FBQ3hCLHNCQUFzQjtRQUN0Qix1QkFBdUI7UUFDdkIsMEJBQTBCO1FBQzFCLDhCQUE4QjtRQUM5QixrQ0FBa0M7UUFDbEMsb0JBQW9CO1FBQ3BCLHVCQUF1QjtRQUN2Qix3REFBd0Q7UUFDeEQsOEJBQThCO1FBQzlCLCtFQUErRTtRQUMvRSwyQkFBMkI7UUFDM0IsaUNBQWlDO0lBQ3JDOztJQUVBO1FBQ0kseUJBQXlCO1FBQ3pCLHNCQUFzQjtRQUN0Qix1QkFBdUI7UUFDdkIsMEJBQTBCO1FBQzFCLDJCQUEyQjtRQUMzQix5QkFBeUI7UUFDekIsaUNBQWlDO1dBQzlCLDhCQUE4QjtRQUNqQywyQkFBMkI7UUFDM0Isc0JBQXNCO0lBQzFCOztJQUVBO1FBQ0ksNkJBQTZCO1FBQzdCLHdCQUF3QjtRQUN4QixxQ0FBcUM7UUFDckMsbUJBQW1CO1FBQ25CLHNCQUFzQjtRQUN0QiwwQkFBMEI7UUFDMUIsdUJBQXVCO1FBQ3ZCLDJCQUEyQjtJQUMvQjs7SUFFQTtRQUNJLHdCQUF3QjtJQUM1Qjs7SUFFQTs7UUFFSSx5QkFBeUI7UUFDekIsc0JBQXNCO1FBQ3RCLDBCQUEwQjtRQUMxQix1QkFBdUI7UUFDdkIsb0JBQW9CO1FBQ3BCLHFCQUFxQjtRQUNyQiwyQ0FBMkM7UUFDM0MsMEJBQTBCO1FBQzFCLDRCQUE0QjtRQUM1QiwyQkFBMkI7UUFDM0Isa0NBQWtDO1FBQ2xDLGlDQUFpQztJQUNyQzs7SUFFQTs7Ozs7UUFLSSx5QkFBeUI7UUFDekIsc0JBQXNCO1FBQ3RCLDBCQUEwQjtRQUMxQiwyQ0FBMkM7UUFDM0MsMEJBQTBCO1FBQzFCLDJCQUEyQjtRQUMzQiwyQkFBMkI7UUFDM0IsMkJBQTJCO1FBQzNCLDhCQUE4QjtRQUM5QiwyQkFBMkI7UUFDM0Isc0JBQXNCO0lBQzFCOztJQUVBOzs7O1FBSUkseUJBQXlCO1FBQ3pCLHNCQUFzQjtRQUN0QiwwQkFBMEI7UUFDMUIsb0JBQW9CO1FBQ3BCLDRDQUE0QztRQUM1QywwQkFBMEI7UUFDMUIsNEJBQTRCO1FBQzVCLGtDQUFrQztRQUNsQyxpQ0FBaUM7SUFDckM7O0lBRUE7UUFDSSw4QkFBOEI7UUFDOUIsd0JBQXdCO1FBQ3hCLDBCQUEwQjtRQUMxQiw4QkFBOEI7UUFDOUIsc0NBQXNDO1FBQ3RDLG9CQUFvQjtRQUNwQixzQkFBc0I7UUFDdEIsMEJBQTBCO1FBQzFCLDBCQUEwQjtRQUMxQiw0QkFBNEI7UUFDNUIsNERBQTREO1FBQzVELDJCQUEyQjtRQUMzQixzQkFBc0I7UUFDdEIsc0JBQXNCO0lBQzFCOztJQUVBO1FBQ0ksMEJBQTBCO1FBQzFCLHNCQUFzQjtRQUN0QiwyQkFBMkI7UUFDM0IsMkJBQTJCO1FBQzNCLHVCQUF1QjtRQUN2QixvQkFBb0I7SUFDeEI7O0lBRUE7O1FBRUkseUJBQXlCO1FBQ3pCLHNCQUFzQjtRQUN0Qix1QkFBdUI7UUFDdkIsMEJBQTBCO1FBQzFCLDBCQUEwQjtRQUMxQixvQkFBb0I7UUFDcEIscUJBQXFCO1FBQ3JCLDhCQUE4QjtJQUNsQztBQUNKOztBQUVBO0lBQ0k7O1FBRUkscURBQXFEO1FBQ3JELG9CQUFvQjtRQUNwQix3QkFBd0I7SUFDNUI7O0lBRUE7OztRQUdJLHNCQUFzQjtRQUN0QiwwQkFBMEI7UUFDMUIsdUJBQXVCO0lBQzNCOztJQUVBO1FBQ0ksc0JBQXNCO1FBQ3RCLHVCQUF1QjtRQUN2QiwwQkFBMEI7UUFDMUIsMkJBQTJCO0lBQy9COztJQUVBOztRQUVJLDBCQUEwQjtJQUM5QjtBQUNKOztBQUVBOzs7MkRBRzJEO0FBQzNEOzs7O0lBSUksZ0JBQWdCO0lBQ2hCOztzRUFFa0U7QUFDdEU7O0FBRUE7Ozs7SUFJSSwwQ0FBMEM7SUFDMUMsaUNBQWlDO0lBQ2pDLHFCQUFxQjtJQUNyQixrQ0FBa0M7QUFDdEM7O0FBRUE7Ozs7SUFJSSx3QkFBd0I7SUFDeEIsMEJBQTBCO0lBQzFCLDhCQUE4QjtJQUM5QixtQkFBbUI7SUFFbkIsa0NBQWtDO0lBQ2xDLDZCQUE2QjtJQUM3QiwwQkFBMEI7SUFDMUIsMkJBQTJCO0lBQzNCLDZCQUE2QjtJQUM3QixzREFBc0Q7SUFDdEQsK0JBQStCO0lBQy9CLGdEQUFnRDtJQUNoRCxtQ0FBbUM7SUFDbkMsMEJBQTBCO0lBQzFCLDJCQUEyQjtJQUMzQiw0QkFBNEI7SUFDNUIsd0RBQXdEO0FBQzVEOztBQUVBOzs7O0lBSUkscUNBQXFDO0lBQ3JDLGdDQUFnQztBQUNwQzs7QUFFQTs7OztJQUlJLHlDQUF5QztBQUM3Qzs7QUFFQTs7OztJQUlJLDZCQUE2QjtJQUM3Qiw2QkFBNkI7SUFDN0IsMkJBQTJCO0lBQzNCLGlFQUFpRTtJQUNqRSwyQkFBMkI7SUFDM0IsOEJBQThCO0lBQzlCLHNEQUFzRDtJQUN0RDs7O3lIQUdxSDtJQUNySCx3REFBd0Q7QUFDNUQ7O0FBRUE7Ozs7SUFJSSxzQkFBc0I7SUFDdEIsNkJBQTZCO0lBQzdCLG1CQUFtQjtJQUNuQixzQkFBc0I7SUFDdEIsd0JBQXdCO0lBQ3hCOzt5RkFFcUY7SUFDckYscUNBQXFDO0lBQ3JDLDRFQUE0RTtZQUNwRSxvRUFBb0U7QUFDaEY7O0FBRUE7Ozs7SUFJSSxzREFBc0Q7SUFDdEQsK0JBQStCO0lBQy9CLDhCQUE4QjtJQUM5QixtQkFBbUI7SUFDbkIsMkJBQTJCO0lBQzNCLDRCQUE0QjtJQUM1QiwrQkFBK0I7SUFDL0Isc0RBQXNEO0lBQ3RELGdEQUFnRDtJQUNoRCwyQ0FBMkM7SUFDM0MsMEJBQTBCO0lBQzFCLDJCQUEyQjtJQUMzQixpQ0FBaUM7QUFDckM7O0FBRUE7Ozs7Ozs7O0lBUUksMkJBQTJCO0lBQzNCLG9CQUFvQjtJQUNwQixzQkFBc0I7SUFDdEIsNENBQTRDO0lBQzVDLDJCQUEyQjtJQUMzQiw0QkFBNEI7SUFDNUIsa0NBQWtDO0lBQ2xDLHVEQUF1RDtBQUMzRDs7QUFFQTs7OztJQUlJLDJCQUEyQjtJQUMzQiw4QkFBOEI7SUFDOUIsNkJBQTZCO0lBQzdCLCtDQUErQztJQUMvQyw4QkFBOEI7SUFDOUIsZ0RBQWdEO0lBQ2hELG1DQUFtQztJQUNuQywwQkFBMEI7SUFDMUIsNEJBQTRCO0lBQzVCLHdEQUF3RDtBQUM1RDs7QUFFQTs7OztJQUlJLDJCQUEyQjtBQUMvQjs7QUFFQTs7Ozs7Ozs7SUFRSSxzQkFBc0I7QUFDMUI7O0FBRUE7Ozs7SUFJSSwrQkFBK0I7SUFDL0IsOEJBQThCO0lBQzlCLDJCQUEyQjtJQUMzQiwyQkFBMkI7SUFDM0IsMEJBQTBCO0lBQzFCLCtDQUErQztJQUMvQyw4QkFBOEI7SUFDOUIsMkJBQTJCO0lBQzNCLG1DQUFtQztJQUNuQywwQkFBMEI7SUFDMUIsMkJBQTJCO0lBQzNCLDRCQUE0QjtJQUM1Qix3REFBd0Q7QUFDNUQ7O0FBRUE7Ozs7SUFJSSwrQkFBK0I7SUFDL0IsOEJBQThCO0lBQzlCLG9DQUFvQztJQUNwQyxnQ0FBZ0M7SUFDaEMsOEJBQThCO0FBQ2xDOztBQUVBOzs7O0lBSUksMkJBQTJCO0lBQzNCLDJCQUEyQjtJQUMzQiwwQkFBMEI7SUFDMUIsaUNBQWlDO0lBQ2pDLCtDQUErQztJQUMvQyw4QkFBOEI7SUFDOUIsaUNBQWlDO0lBQ2pDLGtDQUFrQztJQUNsQywwQkFBMEI7SUFDMUIsMkJBQTJCO0lBQzNCLDJCQUEyQjtJQUMzQix3REFBd0Q7SUFDeEQsd0JBQXdCO0lBQ3hCLDBCQUEwQjtBQUM5Qjs7QUFFQTs7OztJQUlJLGlEQUFpRDtJQUNqRCw0RkFBNEY7QUFDaEc7O0FBRUE7Ozs7SUFJSSx3QkFBd0I7SUFDeEIsMkRBQTJEO0lBQzNELG9CQUFvQjtJQUNwQixzQkFBc0I7SUFDdEIsOEJBQThCO0lBQzlCLHFCQUFxQjtJQUNyQixzQkFBc0I7QUFDMUI7O0FBRUE7Ozs7Ozs7O0lBUUksd0JBQXdCO0lBQ3hCLHdCQUF3QjtBQUM1Qjs7QUFFQTs7OztJQUlJLDZCQUE2QjtJQUM3Qix3QkFBd0I7SUFDeEIsc0JBQXNCO0lBQ3RCLHNCQUFzQjtJQUN0Qix1QkFBdUI7SUFDdkIsMkJBQTJCO0lBQzNCLG9CQUFvQjtJQUNwQix3QkFBd0I7SUFDeEIsaUNBQWlDO0lBQ2pDLDJCQUEyQjtJQUMzQixzREFBc0Q7SUFDdEQsOEJBQThCO0lBQzlCLGdEQUFnRDtJQUNoRCx3REFBd0Q7SUFDeEQsd0ZBQXdGO0FBQzVGOztBQUVBOzs7O0lBSUksc0NBQXNDO0lBQ3RDLGlEQUFpRDtJQUNqRCx3REFBd0Q7QUFDNUQ7O0FBRUE7Ozs7SUFJSSx3QkFBd0I7SUFDeEIsdUJBQXVCO0lBQ3ZCLHlCQUF5QjtJQUN6QixpQ0FBaUM7SUFDakMseUJBQXlCO0lBQ3pCLGdDQUFnQztBQUNwQzs7QUFFQTs7OztJQUlJLHlCQUF5QjtJQUN6QixzQkFBc0I7SUFDdEIsd0JBQXdCO0lBQ3hCLDBCQUEwQjtJQUMxQiwyQkFBMkI7SUFDM0Isd0JBQXdCO0lBQ3hCLGlDQUFpQztPQUM5Qiw4QkFBOEI7SUFDakMsc0RBQXNEO0lBQ3RELDhCQUE4QjtJQUM5Qix3RUFBd0U7QUFDNUU7O0FBRUE7Ozs7SUFJSSwyQkFBMkI7SUFDM0IsMkJBQTJCO0lBQzNCLDJCQUEyQjtJQUMzQixxQkFBcUI7SUFDckIsa0NBQWtDO0lBQ2xDLDBCQUEwQjtJQUMxQiwyQkFBMkI7SUFDM0IsMkJBQTJCO0lBQzNCLGtDQUFrQztJQUNsQywyQkFBMkI7SUFDM0IsK0JBQStCO0lBQy9CLGdDQUFnQztJQUNoQyx1Q0FBdUM7QUFDM0M7O0FBRUE7Ozs7SUFJSSwrQkFBK0I7SUFFL0Isa0NBQWtDO0lBQ2xDLDZCQUE2QjtJQUM3QiwwQkFBMEI7SUFDMUIsMkJBQTJCO0lBQzNCLDhCQUE4QjtJQUM5Qiw4QkFBOEI7SUFDOUIsNEJBQTRCO0lBQzVCLCtCQUErQjtJQUMvQixxREFBcUQ7SUFDckQsK0NBQStDO0lBQy9DLDBDQUEwQztJQUMxQywwQkFBMEI7SUFDMUIsMkJBQTJCO0lBQzNCLDJCQUEyQjtBQUMvQjs7QUFFQTs7OztJQUlJLDBDQUEwQztJQUMxQywyQkFBMkI7QUFDL0I7O0FBRUE7Ozs7Ozs7Ozs7OztJQVlJLCtCQUErQjtJQUMvQiw4QkFBOEI7SUFDOUIsa0NBQWtDO0lBQ2xDLHNCQUFzQjtJQUN0QiwyQkFBMkI7SUFDM0IsMEJBQTBCO0lBQzFCLDZCQUE2QjtJQUM3Qix3Q0FBd0M7SUFDeEMsOEJBQThCO0lBQzlCLDJCQUEyQjtJQUMzQiwwQkFBMEI7SUFDMUIsMkJBQTJCO0lBQzNCLDRCQUE0QjtJQUM1Qiw2QkFBNkI7SUFDN0IsZ0NBQWdDO0lBQ2hDLDhCQUE4QjtJQUM5QiwwQkFBMEI7QUFDOUI7O0FBRUE7Ozs7SUFJSSxvQkFBb0I7SUFDcEIseUNBQXlDO0lBQ3pDLDBDQUEwQztBQUM5Qzs7QUFFQTs7OztJQUlJLDhDQUE4QztJQUM5QyxzQkFBc0I7QUFDMUI7O0FBRUE7Ozs7SUFJSSxvQkFBb0I7SUFDcEIsMkNBQTJDO0lBQzNDLHVDQUF1QztJQUN2QywwQ0FBMEM7QUFDOUM7O0FBRUE7Ozs7SUFJSSxvQkFBb0I7SUFDcEIsOENBQThDO0lBQzlDLDJCQUEyQjtJQUMzQixtQ0FBbUM7QUFDdkM7O0FBRUE7Ozs7Ozs7O0lBUUksaURBQWlEO0lBQ2pELDBDQUEwQztJQUMxQywrQ0FBK0M7QUFDbkQ7O0FBRUE7Ozs7SUFJSSxvQkFBb0I7SUFDcEIsc0JBQXNCO0lBQ3RCLDBCQUEwQjtBQUM5Qjs7QUFFQTs7OztJQUlJLCtCQUErQjtJQUMvQiw4QkFBOEI7SUFDOUIsa0NBQWtDO0lBQ2xDLHNCQUFzQjtJQUN0QiwyQkFBMkI7SUFDM0IsbUJBQW1CO0lBQ25CLDRCQUE0QjtJQUM1QixzREFBc0Q7SUFDdEQsOEJBQThCO0lBQzlCLDJCQUEyQjtJQUMzQiwwQ0FBMEM7SUFDMUMsMEJBQTBCO0lBQzFCLDJCQUEyQjtJQUMzQiw0QkFBNEI7SUFDNUIsNkJBQTZCO0lBQzdCLGdDQUFnQztBQUNwQzs7QUFFQTs7OztJQUlJLHNCQUFzQjtJQUN0Qix1QkFBdUI7SUFDdkIseUJBQXlCO0FBQzdCOztBQUVBOzs7O0lBSUksZ0NBQWdDO0lBQ2hDLDBCQUEwQjtJQUMxQiwyQkFBMkI7SUFDM0Isa0NBQWtDO0lBQ2xDLDhCQUE4QjtBQUNsQzs7QUFFQTs7OztJQUlJLDBCQUEwQjtJQUMxQiw2QkFBNkI7QUFDakM7O0FBRUE7Ozs7SUFJSSwrQkFBK0I7SUFDL0IsMEJBQTBCO0lBQzFCLDhCQUE4QjtJQUM5QixrQ0FBa0M7SUFDbEMsbUJBQW1CO0lBQ25CLG9CQUFvQjtJQUNwQix3QkFBd0I7SUFDeEIsK0NBQStDO0lBQy9DLDhCQUE4QjtJQUM5QixnREFBZ0Q7SUFDaEQsd0RBQXdEO0FBQzVEOztBQUVBOzs7O0lBSUksb0JBQW9CO0lBQ3BCLG9CQUFvQjtJQUNwQiwyQkFBMkI7QUFDL0I7O0FBRUE7Ozs7SUFJSSwrQkFBK0I7SUFDL0IsOEJBQThCO0lBQzlCLGtDQUFrQztJQUNsQywwQkFBMEI7SUFDMUIsdUJBQXVCO0lBQ3ZCLDBCQUEwQjtJQUMxQiw4QkFBOEI7SUFDOUIsdUNBQXVDO0lBQ3ZDLDBDQUEwQztJQUMxQywwQkFBMEI7SUFDMUIsMkJBQTJCO0lBQzNCLGdDQUFnQztBQUNwQzs7QUFFQTs7Ozs7Ozs7SUFRSSx5Q0FBeUM7SUFDekMsc0JBQXNCO0FBQzFCOztBQUVBOzs7Ozs7Ozs7Ozs7SUFZSSw4QkFBOEI7SUFDOUIsMkNBQTJDO0lBQzNDLDJCQUEyQjtJQUMzQixrQ0FBa0M7SUFDbEMsd0RBQXdEO0FBQzVEOztBQUVBO0lBQ0k7Ozs7UUFJSSwyREFBMkQ7UUFDM0Qsb0JBQW9CO0lBQ3hCO0FBQ0o7O0FBRUE7SUFDSTs7OztRQUlJLDBDQUEwQztRQUMxQywyQkFBMkI7UUFDM0IsOEJBQThCO0lBQ2xDOztJQUVBOzs7O1FBSUksOEJBQThCO1FBQzlCLDZCQUE2QjtJQUNqQzs7SUFFQTs7Ozs7Ozs7UUFRSSx3QkFBd0I7UUFDeEIsc0JBQXNCO1FBQ3RCLDBCQUEwQjtRQUMxQix5QkFBeUI7SUFDN0I7O0lBRUE7Ozs7UUFJSSxzQkFBc0I7UUFDdEIsdUJBQXVCO0lBQzNCOztJQUVBOzs7O1FBSUksMkRBQTJEO1FBQzNELG9CQUFvQjtJQUN4Qjs7SUFFQTs7OztRQUlJLHdCQUF3QjtRQUN4Qiw4QkFBOEI7SUFDbEM7O0lBRUE7Ozs7UUFJSSx3QkFBd0I7UUFDeEIsd0JBQXdCO1FBQ3hCLDhCQUE4QjtJQUNsQzs7SUFFQTs7OztRQUlJLDJCQUEyQjtRQUMzQiwyQkFBMkI7UUFDM0IsMEJBQTBCO1FBQzFCLDRCQUE0QjtJQUNoQztBQUNKOztBQUVBO0lBQ0k7Ozs7UUFJSSwwQ0FBMEM7UUFDMUMsMkJBQTJCO0lBQy9COztJQUVBOzs7O1FBSUksc0JBQXNCO1FBQ3RCLDhCQUE4QjtRQUM5QiwwQkFBMEI7SUFDOUI7O0lBRUE7Ozs7UUFJSSxzQkFBc0I7UUFDdEIsa0NBQWtDO1FBQ2xDLDZCQUE2QjtJQUNqQzs7SUFFQTs7OztRQUlJLHFDQUFxQztRQUNyQyxvQkFBb0I7SUFDeEI7O0lBRUE7Ozs7UUFJSSx3QkFBd0I7UUFDeEIsc0RBQXNEO1FBQ3REOzs7d0NBR2dDO1FBQ2hDLHlCQUF5QjtRQUN6Qiw2QkFBNkI7SUFDakM7O0lBRUE7Ozs7UUFJSSx3QkFBd0I7UUFDeEIsOEJBQThCO1FBQzlCLHNEQUFzRDtRQUN0RDs7a0RBRTBDO1FBQzFDLHlCQUF5QjtRQUN6Qiw2QkFBNkI7SUFDakM7O0lBRUE7Ozs7UUFJSSxpQ0FBaUM7UUFDakMsdUJBQXVCO1FBQ3ZCLHdCQUF3QjtRQUN4QixvQkFBb0I7UUFDcEIsd0JBQXdCO0lBQzVCOztJQUVBOzs7O1FBSUksbUNBQW1DO1FBQ25DLHdCQUF3QjtRQUN4QiwyQkFBMkI7UUFDM0IsMEJBQTBCO1FBQzFCLDBCQUEwQjtRQUMxQiw0QkFBNEI7UUFDNUIsZ0NBQWdDO0lBQ3BDOztJQUVBOzs7O1FBSUksbUNBQW1DO1FBQ25DLG9CQUFvQjtRQUNwQiwwQkFBMEI7SUFDOUI7O0lBRUE7Ozs7Ozs7Ozs7OztRQVlJLDhCQUE4QjtJQUNsQzs7SUFFQTs7OztRQUlJLHNCQUFzQjtRQUN0Qix1QkFBdUI7SUFDM0I7O0lBRUE7Ozs7UUFJSSwwQkFBMEI7UUFDMUIsdUJBQXVCO1FBQ3ZCLDBCQUEwQjtJQUM5QjtBQUNKOztBQUVBO0lBQ0k7Ozs7UUFJSSxxREFBcUQ7SUFDekQ7O0lBRUE7Ozs7UUFJSSxzQkFBc0I7UUFDdEIsdUJBQXVCO0lBQzNCO0FBQ0o7OztBQUdBOzs7MkRBRzJEO0FBQzNEO0lBQ0k7Ozs7UUFJSSxpQ0FBaUM7SUFDckM7O0lBRUE7O1FBRUksbUNBQW1DO1FBQ25DLHVDQUF1QztRQUN2Qyw2QkFBNkI7UUFDN0IsNEJBQTRCO1FBQzVCLDZCQUE2QjtJQUNqQzs7SUFFQTs7OztRQUlJLHNCQUFzQjtRQUN0QiwwQkFBMEI7UUFDMUIsdUJBQXVCO1FBQ3ZCLHdCQUF3QjtRQUN4Qiw2QkFBNkI7SUFDakM7O0lBRUE7Ozs7Ozs7O1FBUUksc0JBQXNCO1FBQ3RCLDBCQUEwQjtRQUMxQix1QkFBdUI7UUFDdkIsaUNBQWlDO0lBQ3JDOztJQUVBOztRQUVJLHdCQUF3QjtJQUM1Qjs7SUFFQTs7OztRQUlJLHdCQUF3QjtRQUN4QixxREFBcUQ7UUFDckQ7O3dDQUVnQztRQUNoQyw2QkFBNkI7UUFDN0Isb0JBQW9CO1FBQ3BCLHNCQUFzQjtRQUN0QiwwQkFBMEI7UUFDMUIsMkJBQTJCO1FBQzNCLHdCQUF3QjtRQUN4QiwyQkFBMkI7UUFDM0Isd0RBQXdEO1FBQ3hELDhCQUE4QjtRQUM5QiwyQkFBMkI7UUFDM0Isd0RBQXdEO0lBQzVEOztJQUVBOztRQUVJLHlCQUF5QjtRQUN6QixzQkFBc0I7UUFDdEIsMEJBQTBCO1FBQzFCLHVCQUF1QjtRQUN2QixxQkFBcUI7UUFDckIsb0JBQW9CO1FBQ3BCLGtDQUFrQztRQUNsQywyQkFBMkI7UUFDM0Isc0JBQXNCO1FBQ3RCLHNCQUFzQjtRQUN0Qiw0QkFBNEI7SUFDaEM7O0lBRUE7O1FBRUksK0JBQStCO1FBQy9CLHNCQUFzQjtRQUN0QiwwQkFBMEI7UUFDMUIsMEJBQTBCO1FBQzFCLDRCQUE0QjtRQUM1QiwyQkFBMkI7SUFDL0I7O0lBRUE7Ozs7UUFNSSx3QkFBd0I7UUFDeEIsc0JBQXNCO1FBQ3RCLHVCQUF1QjtRQUN2QiwwQkFBMEI7UUFDMUIsMEJBQTBCO1FBR2xCLDhCQUE4QjtRQUc5QixrQ0FBa0M7UUFDMUMsb0JBQW9CO1FBQ3BCLHVCQUF1QjtRQUN2QiwyQkFBMkI7UUFDM0Isd0RBQXdEO1FBQ3hELDhCQUE4QjtRQUM5QiwrRUFBK0U7SUFDbkY7O0lBRUE7O1FBRUkseUJBQXlCO1FBQ3pCLHNCQUFzQjtRQUN0Qix1QkFBdUI7UUFDdkIsMEJBQTBCO1FBQzFCLDJCQUEyQjtRQUMzQix5QkFBeUI7UUFDekIsaUNBQWlDO1dBQzlCLDhCQUE4QjtRQUNqQywyQkFBMkI7UUFDM0Isc0JBQXNCO0lBQzFCOztJQUVBOztRQUVJLGlDQUFpQztRQUNqQyx5QkFBeUI7UUFDekIsc0JBQXNCO1FBQ3RCLDBCQUEwQjtRQUMxQix1QkFBdUI7UUFDdkIsMkJBQTJCO1FBQzNCLDJCQUEyQjtJQUMvQjs7SUFFQTs7Ozs7O1FBTUksd0JBQXdCO1FBQ3hCLDZCQUE2QjtRQUM3QixtQkFBbUI7UUFDbkIsdUJBQXVCO1FBQ3ZCLG9CQUFvQjtRQUNwQix3QkFBd0I7UUFDeEIsb0JBQW9CO1FBQ3BCLHFCQUFxQjtRQUNyQiwyQkFBMkI7SUFDL0I7O0lBRUE7O1FBRUkseUJBQXlCO1FBQ3pCLHNCQUFzQjtRQUN0QiwwQkFBMEI7UUFDMUIsMEJBQTBCO1FBQzFCLHFCQUFxQjtRQUNyQiwyQ0FBMkM7UUFDM0MsMEJBQTBCO1FBQzFCLDRCQUE0QjtRQUM1QiwyQkFBMkI7UUFDM0IsaUNBQWlDO1FBQ2pDLGtDQUFrQztRQUNsQyxpQ0FBaUM7UUFDakMsMkJBQTJCO0lBQy9COztJQUVBOzs7Ozs7UUFNSSx5QkFBeUI7UUFDekIsc0JBQXNCO1FBQ3RCLDBCQUEwQjtRQUMxQixxQkFBcUI7UUFDckIsMkNBQTJDO1FBQzNDLDBCQUEwQjtRQUMxQiwyQkFBMkI7UUFDM0IsMkJBQTJCO1FBQzNCLDJCQUEyQjtRQUMzQiw4QkFBOEI7UUFDOUIsMkJBQTJCO1FBQzNCLHNCQUFzQjtJQUMxQjs7SUFFQTs7OztRQUlJLHlCQUF5QjtRQUN6QixzQkFBc0I7UUFDdEIsMEJBQTBCO1FBQzFCLG9CQUFvQjtRQUNwQiw0Q0FBNEM7UUFDNUMsMEJBQTBCO1FBQzFCLDRCQUE0QjtRQUM1QixrQ0FBa0M7UUFDbEMsaUNBQWlDO1FBQ2pDLDJCQUEyQjtJQUMvQjs7SUFFQTs7UUFFSSw2QkFBNkI7UUFHN0Isd0JBQXdCO1FBRXBCLDBCQUEwQjtRQUd0Qiw4QkFBOEI7UUFDdEMsb0JBQW9CO1FBQ3BCLHNCQUFzQjtRQUN0QiwwQkFBMEI7UUFDMUIsMEJBQTBCO1FBQzFCLDRCQUE0QjtRQUM1Qiw0REFBNEQ7UUFDNUQsMkJBQTJCO1FBQzNCLHNCQUFzQjtRQUN0QixzQkFBc0I7SUFDMUI7O0lBRUE7O1FBSVksMEJBQTBCO1FBQ2xDLHNCQUFzQjtRQUN0QiwyQkFBMkI7UUFDM0IsMkJBQTJCO1FBQzNCLHVCQUF1QjtRQUN2QixvQkFBb0I7SUFDeEI7O0lBRUE7O1FBSVkseUJBQXlCO1FBQ2pDLHNCQUFzQjtRQUN0Qix1QkFBdUI7UUFDdkIsMEJBQTBCO1FBQzFCLDBCQUEwQjtRQUMxQixvQkFBb0I7UUFDcEIscUJBQXFCO1FBQ3JCLDhCQUE4QjtJQUNsQzs7SUFFQSx3RkFBd0Y7SUFDeEY7Ozs7UUFJSSx5QkFBeUI7UUFDekIsc0JBQXNCO1FBQ3RCLDBCQUEwQjtRQUMxQix1QkFBdUI7UUFDdkIsaUNBQWlDO0lBQ3JDOztJQUVBO1FBQ0ksd0JBQXdCO1FBQ3hCLHFEQUFxRDtRQUNyRDs7O29EQUc0QztRQUM1QyxvQkFBb0I7UUFDcEIsd0JBQXdCO1FBQ3hCLDhCQUE4QjtRQUM5Qix3REFBd0Q7UUFDeEQsOEJBQThCO1FBQzlCLDJCQUEyQjtJQUMvQjs7SUFFQTtRQUNJLGtDQUFrQztJQUN0Qzs7SUFFQTtRQUNJLGlDQUFpQztJQUNyQzs7SUFFQTtRQUNJLGdDQUFnQztJQUNwQzs7SUFFQTtRQUNJLG1DQUFtQztJQUN2Qzs7SUFFQTs7UUFFSSx3QkFBd0I7SUFDNUI7QUFDSjs7QUFFQTtJQUNJOzs7OztRQUtJLHFEQUFxRDtRQUNyRCxvQkFBb0I7UUFDcEIsd0JBQXdCO0lBQzVCOztJQUVBOzs7Ozs7UUFNSSxzQkFBc0I7UUFDdEIsMEJBQTBCO1FBQzFCLDBCQUEwQjtRQUMxQix1QkFBdUI7SUFDM0I7O0lBRUE7O1FBRUksc0JBQXNCO1FBQ3RCLHVCQUF1QjtRQUN2QiwwQkFBMEI7UUFDMUIsMkJBQTJCO0lBQy9COztJQUVBOztRQUVJLDBCQUEwQjtJQUM5QjtBQUNKIiwiZmlsZSI6InNob3Atd29vY29tbWVyY2UtcGFnZXMuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBXb29Db21tZXJjZSBwYWdlczogcHJvZHVjdCwgd2lzaGxpc3QsIGNhcnQsIGNoZWNrb3V0LCBhY2NvdW50XG4gICBDZW50cmFsaXplZCBpbiB0aGUgY2hpbGQgdGhlbWUuIEtlZXAgQ3VzdG9taXplciBBZGRpdGlvbmFsIENTUyBlbXB0eS5cbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKiBTaGFyZWQgV29vQ29tbWVyY2UgdG9rZW4gYnJpZGdlICovXG5ib2R5Lndvb2NvbW1lcmNlLFxuYm9keS53b29jb21tZXJjZS1wYWdlLFxuYm9keS5zaW5nbGUtcHJvZHVjdCxcbmJvZHkud29vY29tbWVyY2UtYWNjb3VudCxcbi53cC1ibG9jay13b29jb21tZXJjZS1jYXJ0LFxuLndwLWJsb2NrLXdvb2NvbW1lcmNlLWNoZWNrb3V0LFxuI3lpdGgtd2N3bC1mb3JtLFxuI3lpdGgtcXVpY2stdmlldy1tb2RhbCB7XG4gICAgLS13YzI0LXByaW1hcnk6IHZhcigtLXNob3AtcHJpbWFyeSwgIzA5NzFCNyk7XG4gICAgLS13YzI0LXByaW1hcnktZGFyazogdmFyKC0tc2hvcC1wcmltYXJ5LWRhcmssICMwNzVFOTgpO1xuICAgIC0td2MyNC1wcmltYXJ5LWRlZXA6IHZhcigtLXNob3AtcHJpbWFyeS1kZWVwLCAjMDUzRTY2KTtcbiAgICAtLXdjMjQtYWNjZW50OiB2YXIoLS1zaG9wLWFjY2VudCwgIzEwQUJCNik7XG4gICAgLS13YzI0LWFjY2VudC1kYXJrOiB2YXIoLS1zaG9wLWFjY2VudC1kYXJrLCAjMEM4Rjk5KTtcbiAgICAtLXdjMjQtc29mdDogdmFyKC0tc2hvcC1wcmltYXJ5LXNvZnQsICNFRUY4RkIpO1xuICAgIC0td2MyNC1ib3JkZXI6IHZhcigtLXNob3AtYm9yZGVyLCAjRDdFQ0Y0KTtcbiAgICAtLXdjMjQtdGV4dDogdmFyKC0tc2hvcC10ZXh0LCAjMDczQjVGKTtcbiAgICAtLXdjMjQtbXV0ZWQ6IHZhcigtLXNob3AtbXV0ZWQsICM1RjcxODEpO1xuICAgIC0td2MyNC1kYW5nZXI6IHZhcigtLXNob3AtZGFuZ2VyLCAjRjAwNjE0KTtcbiAgICAtLXdjMjQtc3VjY2VzczogdmFyKC0tc2hvcC1zdWNjZXNzLCAjMThBOTU3KTtcbn1cblxuYm9keS53b29jb21tZXJjZSAqLFxuYm9keS53b29jb21tZXJjZS1wYWdlICosXG5ib2R5LnNpbmdsZS1wcm9kdWN0ICosXG4ud3AtYmxvY2std29vY29tbWVyY2UtY2FydCAqLFxuLndwLWJsb2NrLXdvb2NvbW1lcmNlLWNoZWNrb3V0ICosXG4jeWl0aC13Y3dsLWZvcm0gKixcbiN5aXRoLXF1aWNrLXZpZXctbW9kYWwgKiB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBTaW5nbGUgcHJvZHVjdCBwYWdlXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbmJvZHkuc2luZ2xlLXByb2R1Y3QgI21haW4uc2l0ZS1tYWluIHtcbiAgICB3aWR0aDogbWluKDEwMCUgLSA0MnB4LCAxMzIwcHgpICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luOiAzNHB4IGF1dG8gODBweCAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiB2YXIoLS13YzI0LXRleHQpICFpbXBvcnRhbnQ7XG59XG5cbmJvZHkuc2luZ2xlLXByb2R1Y3QgLndvb2NvbW1lcmNlLWJyZWFkY3J1bWIge1xuICAgIG1hcmdpbjogMCAwIDI0cHggIWltcG9ydGFudDtcbiAgICBwYWRkaW5nOiAxNHB4IDE4cHggIWltcG9ydGFudDtcbiAgICBib3JkZXItcmFkaXVzOiAxNnB4ICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZDogI2ZmZiAhaW1wb3J0YW50O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLXdjMjQtYm9yZGVyKSAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiB2YXIoLS13YzI0LW11dGVkKSAhaW1wb3J0YW50O1xuICAgIGZvbnQtc2l6ZTogMTNweCAhaW1wb3J0YW50O1xuICAgIGZvbnQtd2VpZ2h0OiA4MDAgIWltcG9ydGFudDtcbiAgICBsaW5lLWhlaWdodDogMS40NSAhaW1wb3J0YW50O1xuICAgIGJveC1zaGFkb3c6IDAgOHB4IDI0cHggcmdiYSg3LCA1OSwgOTUsIC4wNSkgIWltcG9ydGFudDtcbn1cblxuYm9keS5zaW5nbGUtcHJvZHVjdCAud29vY29tbWVyY2UtYnJlYWRjcnVtYiBhIHtcbiAgICBjb2xvcjogdmFyKC0td2MyNC1wcmltYXJ5KSAhaW1wb3J0YW50O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZSAhaW1wb3J0YW50O1xuICAgIGZvbnQtd2VpZ2h0OiA5MDAgIWltcG9ydGFudDtcbn1cblxuYm9keS5zaW5nbGUtcHJvZHVjdCAud29vY29tbWVyY2UtYnJlYWRjcnVtYiBhOmhvdmVyIHsgY29sb3I6IHZhcigtLXdjMjQtYWNjZW50LWRhcmspICFpbXBvcnRhbnQ7IH1cblxuYm9keS5zaW5nbGUtcHJvZHVjdCBkaXYucHJvZHVjdCB7XG4gICAgZGlzcGxheTogZ3JpZCAhaW1wb3J0YW50O1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogbWlubWF4KDAsIC45NmZyKSBtaW5tYXgoMzkwcHgsIC43OGZyKSAhaW1wb3J0YW50O1xuICAgIGdhcDogMzhweCAhaW1wb3J0YW50O1xuICAgIGFsaWduLWl0ZW1zOiBzdGFydCAhaW1wb3J0YW50O1xufVxuXG5ib2R5LnNpbmdsZS1wcm9kdWN0IGRpdi5wcm9kdWN0OjpiZWZvcmUsXG5ib2R5LnNpbmdsZS1wcm9kdWN0IGRpdi5wcm9kdWN0OjphZnRlciB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgY29udGVudDogbm9uZSAhaW1wb3J0YW50OyB9XG5cbmJvZHkuc2luZ2xlLXByb2R1Y3QgZGl2LnByb2R1Y3QgLndvb2NvbW1lcmNlLXByb2R1Y3QtZ2FsbGVyeSxcbmJvZHkuc2luZ2xlLXByb2R1Y3QgZGl2LnByb2R1Y3QgLnN1bW1hcnksXG5ib2R5LnNpbmdsZS1wcm9kdWN0IGRpdi5wcm9kdWN0IC53b29jb21tZXJjZS10YWJzLFxuYm9keS5zaW5nbGUtcHJvZHVjdCAucmVsYXRlZC5wcm9kdWN0cyB7XG4gICAgYm9yZGVyLXJhZGl1czogMzBweCAhaW1wb3J0YW50O1xuICAgIGJhY2tncm91bmQ6ICNmZmYgIWltcG9ydGFudDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS13YzI0LWJvcmRlcikgIWltcG9ydGFudDtcbiAgICBib3gtc2hhZG93OiAwIDE4cHggNDhweCByZ2JhKDcsIDU5LCA5NSwgLjA2KSAhaW1wb3J0YW50O1xufVxuXG5ib2R5LnNpbmdsZS1wcm9kdWN0IGRpdi5wcm9kdWN0IC53b29jb21tZXJjZS1wcm9kdWN0LWdhbGxlcnkge1xuICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgZmxvYXQ6IG5vbmUgIWltcG9ydGFudDtcbiAgICBjbGVhcjogbm9uZSAhaW1wb3J0YW50O1xuICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmc6IDI2cHggIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kOlxuICAgICAgICByYWRpYWwtZ3JhZGllbnQoY2lyY2xlIGF0IDg1JSAxMCUsIHJnYmEoMTYsIDE3MSwgMTgyLCAuMTIpLCB0cmFuc3BhcmVudCAzMCUpLFxuICAgICAgICBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCAjZmZmLCAjZjVmYmZkKSAhaW1wb3J0YW50O1xuICAgIG92ZXJmbG93OiBoaWRkZW4gIWltcG9ydGFudDtcbn1cblxuYm9keS5zaW5nbGUtcHJvZHVjdCBkaXYucHJvZHVjdCAud29vY29tbWVyY2UtcHJvZHVjdC1nYWxsZXJ5X193cmFwcGVyIHsgbWFyZ2luOiAwICFpbXBvcnRhbnQ7IH1cbmJvZHkuc2luZ2xlLXByb2R1Y3QgZGl2LnByb2R1Y3QgLndvb2NvbW1lcmNlLXByb2R1Y3QtZ2FsbGVyeV9faW1hZ2UgeyBib3JkZXItcmFkaXVzOiAyNHB4ICFpbXBvcnRhbnQ7IGJhY2tncm91bmQ6ICNmZmYgIWltcG9ydGFudDsgb3ZlcmZsb3c6IGhpZGRlbiAhaW1wb3J0YW50OyB9XG5cbmJvZHkuc2luZ2xlLXByb2R1Y3QgZGl2LnByb2R1Y3QgLndvb2NvbW1lcmNlLXByb2R1Y3QtZ2FsbGVyeV9faW1hZ2UgYSB7XG4gICAgbWluLWhlaWdodDogNTIwcHggIWltcG9ydGFudDtcbiAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlciAhaW1wb3J0YW50O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyICFpbXBvcnRhbnQ7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7XG59XG5cbmJvZHkuc2luZ2xlLXByb2R1Y3QgZGl2LnByb2R1Y3QgLndvb2NvbW1lcmNlLXByb2R1Y3QtZ2FsbGVyeSBpbWcge1xuICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgbWF4LXdpZHRoOiA1NjBweCAhaW1wb3J0YW50O1xuICAgIG1heC1oZWlnaHQ6IDU2MHB4ICFpbXBvcnRhbnQ7XG4gICAgLW8tb2JqZWN0LWZpdDogY29udGFpbiAhaW1wb3J0YW50O1xuICAgICAgIG9iamVjdC1maXQ6IGNvbnRhaW4gIWltcG9ydGFudDtcbiAgICBtYXJnaW46IDAgYXV0byAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmc6IDE2cHggIWltcG9ydGFudDtcbn1cblxuYm9keS5zaW5nbGUtcHJvZHVjdCAud29vY29tbWVyY2UtcHJvZHVjdC1nYWxsZXJ5X190cmlnZ2VyIHtcbiAgICB0b3A6IDE4cHggIWltcG9ydGFudDtcbiAgICByaWdodDogMThweCAhaW1wb3J0YW50O1xuICAgIHdpZHRoOiA0NHB4ICFpbXBvcnRhbnQ7XG4gICAgaGVpZ2h0OiA0NHB4ICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLXJhZGl1czogOTk5cHggIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0td2MyNC1ib3JkZXIpICFpbXBvcnRhbnQ7XG4gICAgYm94LXNoYWRvdzogMCAxMHB4IDI0cHggcmdiYSg3LCA1OSwgOTUsIC4xMykgIWltcG9ydGFudDtcbiAgICB6LWluZGV4OiAxMCAhaW1wb3J0YW50O1xufVxuXG5ib2R5LnNpbmdsZS1wcm9kdWN0IGRpdi5wcm9kdWN0IC5zdW1tYXJ5IHtcbiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgIGZsb2F0OiBub25lICFpbXBvcnRhbnQ7XG4gICAgY2xlYXI6IG5vbmUgIWltcG9ydGFudDtcbiAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgICBwYWRkaW5nOiAzNHB4ICFpbXBvcnRhbnQ7XG4gICAgb3ZlcmZsb3c6IHZpc2libGUgIWltcG9ydGFudDtcbn1cblxuYm9keS5zaW5nbGUtcHJvZHVjdCBkaXYucHJvZHVjdCAuc3VtbWFyeSAucHJvZHVjdF90aXRsZSB7XG4gICAgbWFyZ2luOiAwIDAgMTZweCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgICBjb2xvcjogdmFyKC0td2MyNC10ZXh0KSAhaW1wb3J0YW50O1xuICAgIGZvbnQtc2l6ZTogY2xhbXAoMzJweCwgMy4xdncsIDQ4cHgpICFpbXBvcnRhbnQ7XG4gICAgZm9udC13ZWlnaHQ6IDk1MCAhaW1wb3J0YW50O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjA2ICFpbXBvcnRhbnQ7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC0uMDQ1ZW0gIWltcG9ydGFudDtcbn1cblxuYm9keS5zaW5nbGUtcHJvZHVjdCBkaXYucHJvZHVjdCAuc3VtbWFyeSAucHJpY2Uge1xuICAgIHdpZHRoOiAtbW96LWZpdC1jb250ZW50ICFpbXBvcnRhbnQ7XG4gICAgd2lkdGg6IC13ZWJraXQtZml0LWNvbnRlbnQgIWltcG9ydGFudDtcbiAgICB3aWR0aDogZml0LWNvbnRlbnQgIWltcG9ydGFudDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleCAhaW1wb3J0YW50O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXIgIWltcG9ydGFudDtcbiAgICBtYXJnaW46IDAgMCAyMHB4ICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZzogMTBweCAxNXB4ICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLXJhZGl1czogOTk5cHggIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDE2LCAxNzEsIDE4MiwgLjE0KSAhaW1wb3J0YW50O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMTYsIDE3MSwgMTgyLCAuMzQpICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6IHZhcigtLXdjMjQtdGV4dCkgIWltcG9ydGFudDtcbiAgICBmb250LXNpemU6IDI4cHggIWltcG9ydGFudDtcbiAgICBmb250LXdlaWdodDogOTUwICFpbXBvcnRhbnQ7XG4gICAgbGluZS1oZWlnaHQ6IDEgIWltcG9ydGFudDtcbn1cblxuYm9keS5zaW5nbGUtcHJvZHVjdCBkaXYucHJvZHVjdCAuc3VtbWFyeSAucHJpY2UgLmFtb3VudCxcbmJvZHkuc2luZ2xlLXByb2R1Y3QgZGl2LnByb2R1Y3QgLnN1bW1hcnkgLnByaWNlIGJkaSB7IGNvbG9yOiB2YXIoLS13YzI0LXRleHQpICFpbXBvcnRhbnQ7IGZvbnQtd2VpZ2h0OiA5NTAgIWltcG9ydGFudDsgfVxuYm9keS5zaW5nbGUtcHJvZHVjdCBkaXYucHJvZHVjdCAuc3VtbWFyeSAucHJpY2UgZGVsIHsgY29sb3I6ICM3YzhkOWQgIWltcG9ydGFudDsgZm9udC1zaXplOiAxNnB4ICFpbXBvcnRhbnQ7IG9wYWNpdHk6IC43NSAhaW1wb3J0YW50OyB9XG5ib2R5LnNpbmdsZS1wcm9kdWN0IGRpdi5wcm9kdWN0IC5zdW1tYXJ5IC5wcmljZSBpbnMgeyB0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDsgfVxuXG5ib2R5LnNpbmdsZS1wcm9kdWN0IC53b29jb21tZXJjZS1wcm9kdWN0LWRldGFpbHNfX3Nob3J0LWRlc2NyaXB0aW9uIHtcbiAgICBtYXJnaW46IDAgMCAyNHB4ICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZzogMThweCAyMHB4ICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLXJhZGl1czogMjBweCAhaW1wb3J0YW50O1xuICAgIGJhY2tncm91bmQ6IHZhcigtLXdjMjQtc29mdCkgIWltcG9ydGFudDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS13YzI0LWJvcmRlcikgIWltcG9ydGFudDtcbn1cblxuYm9keS5zaW5nbGUtcHJvZHVjdCAud29vY29tbWVyY2UtcHJvZHVjdC1kZXRhaWxzX19zaG9ydC1kZXNjcmlwdGlvbiBwIHtcbiAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgICBjb2xvcjogdmFyKC0td2MyNC1tdXRlZCkgIWltcG9ydGFudDtcbiAgICBmb250LXNpemU6IDE1LjVweCAhaW1wb3J0YW50O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjY4ICFpbXBvcnRhbnQ7XG59XG5cbmJvZHkuc2luZ2xlLXByb2R1Y3QgZGl2LnByb2R1Y3QgLnN1bW1hcnkgZm9ybS5jYXJ0LFxuLndvb2NvbW1lcmNlIGRpdi5wcm9kdWN0IGZvcm0uY2FydCB7XG4gICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICBkaXNwbGF5OiBncmlkICFpbXBvcnRhbnQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxMjBweCBtaW5tYXgoMCwgMWZyKSAhaW1wb3J0YW50O1xuICAgIGdhcDogMTRweCAhaW1wb3J0YW50O1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luOiAwIDAgMThweCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgICBmbG9hdDogbm9uZSAhaW1wb3J0YW50O1xuICAgIGNsZWFyOiBib3RoICFpbXBvcnRhbnQ7XG59XG5cbmJvZHkuc2luZ2xlLXByb2R1Y3QgZm9ybS5jYXJ0IC5xdWFudGl0eSxcbi53b29jb21tZXJjZSBkaXYucHJvZHVjdCBmb3JtLmNhcnQgLnF1YW50aXR5IHtcbiAgICB3aWR0aDogMTIwcHggIWltcG9ydGFudDtcbiAgICBtYXgtd2lkdGg6IDEyMHB4ICFpbXBvcnRhbnQ7XG4gICAgbWluLXdpZHRoOiAxMjBweCAhaW1wb3J0YW50O1xuICAgIGhlaWdodDogNTZweCAhaW1wb3J0YW50O1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgZmxvYXQ6IG5vbmUgIWltcG9ydGFudDtcbiAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG59XG5cbmJvZHkuc2luZ2xlLXByb2R1Y3QgZm9ybS5jYXJ0IC5xdWFudGl0eSBpbnB1dC5xdHksXG4ud29vY29tbWVyY2UgZGl2LnByb2R1Y3QgZm9ybS5jYXJ0IC5xdWFudGl0eSBpbnB1dC5xdHkge1xuICAgIHdpZHRoOiAxMjBweCAhaW1wb3J0YW50O1xuICAgIG1heC13aWR0aDogMTIwcHggIWltcG9ydGFudDtcbiAgICBtaW4td2lkdGg6IDEyMHB4ICFpbXBvcnRhbnQ7XG4gICAgaGVpZ2h0OiA1NnB4ICFpbXBvcnRhbnQ7XG4gICAgbWluLWhlaWdodDogNTZweCAhaW1wb3J0YW50O1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZzogMCAxMnB4ICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLXJhZGl1czogMTZweCAhaW1wb3J0YW50O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLXdjMjQtYm9yZGVyKSAhaW1wb3J0YW50O1xuICAgIGJhY2tncm91bmQ6ICNmZmYgIWltcG9ydGFudDtcbiAgICBjb2xvcjogdmFyKC0td2MyNC10ZXh0KSAhaW1wb3J0YW50O1xuICAgIGZvbnQtc2l6ZTogMTdweCAhaW1wb3J0YW50O1xuICAgIGZvbnQtd2VpZ2h0OiA5NTAgIWltcG9ydGFudDtcbiAgICBsaW5lLWhlaWdodDogNTZweCAhaW1wb3J0YW50O1xuICAgIHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50O1xuICAgIG91dGxpbmU6IG5vbmUgIWltcG9ydGFudDtcbiAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbmJvZHkuc2luZ2xlLXByb2R1Y3QgZm9ybS5jYXJ0IC5xdWFudGl0eSBpbnB1dC5xdHk6Zm9jdXMsXG4ud29vY29tbWVyY2UgZGl2LnByb2R1Y3QgZm9ybS5jYXJ0IC5xdWFudGl0eSBpbnB1dC5xdHk6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0td2MyNC1hY2NlbnQpICFpbXBvcnRhbnQ7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgNHB4IHJnYmEoMTYsIDE3MSwgMTgyLCAuMTgpICFpbXBvcnRhbnQ7XG59XG5cbmJvZHkuc2luZ2xlLXByb2R1Y3QgZm9ybS5jYXJ0IGJ1dHRvbi5zaW5nbGVfYWRkX3RvX2NhcnRfYnV0dG9uLFxuYm9keS5zaW5nbGUtcHJvZHVjdCBmb3JtLmNhcnQgLnNpbmdsZV9hZGRfdG9fY2FydF9idXR0b24sXG4ud29vY29tbWVyY2UgZGl2LnByb2R1Y3QgZm9ybS5jYXJ0IGJ1dHRvbi5zaW5nbGVfYWRkX3RvX2NhcnRfYnV0dG9uLFxuLndvb2NvbW1lcmNlIGRpdi5wcm9kdWN0IGZvcm0uY2FydCAuc2luZ2xlX2FkZF90b19jYXJ0X2J1dHRvbiB7XG4gICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICBtaW4td2lkdGg6IDAgIWltcG9ydGFudDtcbiAgICBoZWlnaHQ6IDU2cHggIWltcG9ydGFudDtcbiAgICBtaW4taGVpZ2h0OiA1NnB4ICFpbXBvcnRhbnQ7XG4gICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXIgIWltcG9ydGFudDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlciAhaW1wb3J0YW50O1xuICAgIGZsb2F0OiBub25lICFpbXBvcnRhbnQ7XG4gICAgY2xlYXI6IG5vbmUgIWltcG9ydGFudDtcbiAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgICBwYWRkaW5nOiAwIDI0cHggIWltcG9ydGFudDtcbiAgICBib3JkZXI6IDAgIWltcG9ydGFudDtcbiAgICBib3JkZXItcmFkaXVzOiAxNnB4ICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZDogdmFyKC0td2MyNC1hY2NlbnQpICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6ICNmZmYgIWltcG9ydGFudDtcbiAgICBmb250LXNpemU6IDE1cHggIWltcG9ydGFudDtcbiAgICBmb250LXdlaWdodDogOTUwICFpbXBvcnRhbnQ7XG4gICAgbGluZS1oZWlnaHQ6IDEgIWltcG9ydGFudDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwICFpbXBvcnRhbnQ7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7XG4gICAgYm94LXNoYWRvdzogMCAxNHB4IDI4cHggcmdiYSgxNiwgMTcxLCAxODIsIC4yNikgIWltcG9ydGFudDtcbiAgICB0cmFuc2Zvcm06IG5vbmUgIWltcG9ydGFudDtcbn1cblxuYm9keS5zaW5nbGUtcHJvZHVjdCBmb3JtLmNhcnQgYnV0dG9uLnNpbmdsZV9hZGRfdG9fY2FydF9idXR0b246OmJlZm9yZSxcbmJvZHkuc2luZ2xlLXByb2R1Y3QgZm9ybS5jYXJ0IGJ1dHRvbi5zaW5nbGVfYWRkX3RvX2NhcnRfYnV0dG9uOjphZnRlcixcbi53b29jb21tZXJjZSBkaXYucHJvZHVjdCBmb3JtLmNhcnQgYnV0dG9uLnNpbmdsZV9hZGRfdG9fY2FydF9idXR0b246OmJlZm9yZSxcbi53b29jb21tZXJjZSBkaXYucHJvZHVjdCBmb3JtLmNhcnQgYnV0dG9uLnNpbmdsZV9hZGRfdG9fY2FydF9idXR0b246OmFmdGVyIHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyBjb250ZW50OiBub25lICFpbXBvcnRhbnQ7IH1cblxuYm9keS5zaW5nbGUtcHJvZHVjdCBmb3JtLmNhcnQgYnV0dG9uLnNpbmdsZV9hZGRfdG9fY2FydF9idXR0b246aG92ZXIsXG4ud29vY29tbWVyY2UgZGl2LnByb2R1Y3QgZm9ybS5jYXJ0IGJ1dHRvbi5zaW5nbGVfYWRkX3RvX2NhcnRfYnV0dG9uOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS13YzI0LXByaW1hcnkpICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6ICNmZmYgIWltcG9ydGFudDtcbiAgICBib3gtc2hhZG93OiAwIDE2cHggMzRweCByZ2JhKDksIDExMywgMTgzLCAuMjQpICFpbXBvcnRhbnQ7XG59XG5cbmJvZHkuc2luZ2xlLXByb2R1Y3QgZGl2LnByb2R1Y3QgLnN1bW1hcnkgYS5hZGRlZF90b19jYXJ0LndjLWZvcndhcmQsXG4ud29vY29tbWVyY2UgZGl2LnByb2R1Y3QgYS5hZGRlZF90b19jYXJ0LndjLWZvcndhcmQgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuYm9keS5zaW5nbGUtcHJvZHVjdCAuc3VtbWFyeSAueWl0aC1hZGQtdG8td2lzaGxpc3QtYnV0dG9uLWJsb2NrIHsgd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgbWFyZ2luOiAwIDAgMTBweCAhaW1wb3J0YW50OyB9XG5ib2R5LnNpbmdsZS1wcm9kdWN0IC5zdW1tYXJ5IC55aXRoLXdjd2wtYWRkLXRvLXdpc2hsaXN0LWJ1dHRvbixcbmJvZHkuc2luZ2xlLXByb2R1Y3QgLnN1bW1hcnkgLmNvbXBhcmUuYnV0dG9uIHtcbiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgIG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgIG1pbi1oZWlnaHQ6IDQ4cHggIWltcG9ydGFudDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleCAhaW1wb3J0YW50O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXIgIWltcG9ydGFudDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlciAhaW1wb3J0YW50O1xuICAgIGdhcDogOXB4ICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luOiAwIDAgMTBweCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmc6IDAgMTZweCAhaW1wb3J0YW50O1xuICAgIGJvcmRlci1yYWRpdXM6IDE2cHggIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6IHZhcigtLXdjMjQtdGV4dCkgIWltcG9ydGFudDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS13YzI0LWJvcmRlcikgIWltcG9ydGFudDtcbiAgICBmb250LXNpemU6IDE0cHggIWltcG9ydGFudDtcbiAgICBmb250LXdlaWdodDogOTAwICFpbXBvcnRhbnQ7XG4gICAgbGluZS1oZWlnaHQ6IDEgIWltcG9ydGFudDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDtcbiAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG59XG5ib2R5LnNpbmdsZS1wcm9kdWN0IC5zdW1tYXJ5IC55aXRoLXdjd2wtYWRkLXRvLXdpc2hsaXN0LWJ1dHRvbjpob3ZlcixcbmJvZHkuc2luZ2xlLXByb2R1Y3QgLnN1bW1hcnkgLmNvbXBhcmUuYnV0dG9uOmhvdmVyIHsgYmFja2dyb3VuZDogdmFyKC0td2MyNC1zb2Z0KSAhaW1wb3J0YW50OyBjb2xvcjogdmFyKC0td2MyNC1wcmltYXJ5KSAhaW1wb3J0YW50OyBib3JkZXItY29sb3I6IHJnYmEoMTYsIDE3MSwgMTgyLCAuNjUpICFpbXBvcnRhbnQ7IH1cbmJvZHkuc2luZ2xlLXByb2R1Y3QgLnN1bW1hcnkgLmNvbXBhcmUuYnV0dG9uOjpiZWZvcmUgeyBjb250ZW50OiBcIuKGlFwiICFpbXBvcnRhbnQ7IGZvbnQtc2l6ZTogMTVweCAhaW1wb3J0YW50OyBsaW5lLWhlaWdodDogMSAhaW1wb3J0YW50OyB9XG5ib2R5LnNpbmdsZS1wcm9kdWN0IC5zdW1tYXJ5IC5jb21wYXJlLmJ1dHRvbjo6YWZ0ZXIgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IGNvbnRlbnQ6IG5vbmUgIWltcG9ydGFudDsgfVxuXG5ib2R5LnNpbmdsZS1wcm9kdWN0IC5zdW1tYXJ5IC5wcm9kdWN0X21ldGEge1xuICAgIGRpc3BsYXk6IGdyaWQgIWltcG9ydGFudDtcbiAgICBnYXA6IDhweCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi10b3A6IDIwcHggIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLXRvcDogMjBweCAhaW1wb3J0YW50O1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS13YzI0LWJvcmRlcikgIWltcG9ydGFudDtcbiAgICBjb2xvcjogdmFyKC0td2MyNC1tdXRlZCkgIWltcG9ydGFudDtcbiAgICBmb250LXNpemU6IDE0cHggIWltcG9ydGFudDtcbiAgICBsaW5lLWhlaWdodDogMS41ICFpbXBvcnRhbnQ7XG59XG5ib2R5LnNpbmdsZS1wcm9kdWN0IC5zdW1tYXJ5IC5wcm9kdWN0X21ldGEgc3BhbiB7IGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cbmJvZHkuc2luZ2xlLXByb2R1Y3QgLnN1bW1hcnkgLnByb2R1Y3RfbWV0YSBhLFxuYm9keS5zaW5nbGUtcHJvZHVjdCAuc3VtbWFyeSAucHJvZHVjdF9tZXRhIC5za3UgeyBjb2xvcjogdmFyKC0td2MyNC1wcmltYXJ5KSAhaW1wb3J0YW50OyBmb250LXdlaWdodDogODUwICFpbXBvcnRhbnQ7IHRleHQtZGVjb3JhdGlvbjogbm9uZSAhaW1wb3J0YW50OyB9XG5cbmJvZHkuc2luZ2xlLXByb2R1Y3QgZGl2LnByb2R1Y3QgLndvb2NvbW1lcmNlLXRhYnMsXG5ib2R5LnNpbmdsZS1wcm9kdWN0IC5yZWxhdGVkLnByb2R1Y3RzIHtcbiAgICBncmlkLWNvbHVtbjogMSAvIC0xICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLXRvcDogMnB4ICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZzogMzRweCAzMHB4ICFpbXBvcnRhbnQ7XG59XG5cbmJvZHkuc2luZ2xlLXByb2R1Y3QgLndvb2NvbW1lcmNlLXRhYnMgdWwudGFicyB7XG4gICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xuICAgIGZsZXgtd3JhcDogd3JhcCAhaW1wb3J0YW50O1xuICAgIGdhcDogMTBweCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbjogMCAwIDI4cHggIWltcG9ydGFudDtcbiAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyOiAwICFpbXBvcnRhbnQ7XG59XG5ib2R5LnNpbmdsZS1wcm9kdWN0IC53b29jb21tZXJjZS10YWJzIHVsLnRhYnM6OmJlZm9yZSxcbmJvZHkuc2luZ2xlLXByb2R1Y3QgLndvb2NvbW1lcmNlLXRhYnMgdWwudGFiczo6YWZ0ZXIsXG5ib2R5LnNpbmdsZS1wcm9kdWN0IC53b29jb21tZXJjZS10YWJzIHVsLnRhYnMgbGk6OmJlZm9yZSxcbmJvZHkuc2luZ2xlLXByb2R1Y3QgLndvb2NvbW1lcmNlLXRhYnMgdWwudGFicyBsaTo6YWZ0ZXIgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IGNvbnRlbnQ6IG5vbmUgIWltcG9ydGFudDsgfVxuYm9keS5zaW5nbGUtcHJvZHVjdCAud29vY29tbWVyY2UtdGFicyB1bC50YWJzIGxpIHsgYm9yZGVyOiAwICFpbXBvcnRhbnQ7IG1hcmdpbjogMCAhaW1wb3J0YW50OyBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7IGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7IH1cbmJvZHkuc2luZ2xlLXByb2R1Y3QgLndvb2NvbW1lcmNlLXRhYnMgdWwudGFicyBsaSBhIHtcbiAgICBtaW4taGVpZ2h0OiA0MnB4ICFpbXBvcnRhbnQ7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXggIWltcG9ydGFudDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyICFpbXBvcnRhbnQ7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXIgIWltcG9ydGFudDtcbiAgICBwYWRkaW5nOiAwIDE3cHggIWltcG9ydGFudDtcbiAgICBib3JkZXItcmFkaXVzOiA5OTlweCAhaW1wb3J0YW50O1xuICAgIGJhY2tncm91bmQ6IHZhcigtLXdjMjQtc29mdCkgIWltcG9ydGFudDtcbiAgICBjb2xvcjogdmFyKC0td2MyNC10ZXh0KSAhaW1wb3J0YW50O1xuICAgIGZvbnQtc2l6ZTogMTRweCAhaW1wb3J0YW50O1xuICAgIGZvbnQtd2VpZ2h0OiA5MDAgIWltcG9ydGFudDtcbiAgICBsaW5lLWhlaWdodDogMSAhaW1wb3J0YW50O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZSAhaW1wb3J0YW50O1xufVxuYm9keS5zaW5nbGUtcHJvZHVjdCAud29vY29tbWVyY2UtdGFicyB1bC50YWJzIGxpLmFjdGl2ZSBhIHsgYmFja2dyb3VuZDogdmFyKC0td2MyNC1hY2NlbnQpICFpbXBvcnRhbnQ7IGNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7IH1cbmJvZHkuc2luZ2xlLXByb2R1Y3QgLndvb2NvbW1lcmNlLVRhYnMtcGFuZWwgeyBjb2xvcjogdmFyKC0td2MyNC1tdXRlZCkgIWltcG9ydGFudDsgZm9udC1zaXplOiAxNS41cHggIWltcG9ydGFudDsgbGluZS1oZWlnaHQ6IDEuNzIgIWltcG9ydGFudDsgfVxuYm9keS5zaW5nbGUtcHJvZHVjdCAud29vY29tbWVyY2UtVGFicy1wYW5lbCBoMiB7IG1hcmdpbjogMCAwIDE0cHggIWltcG9ydGFudDsgY29sb3I6IHZhcigtLXdjMjQtdGV4dCkgIWltcG9ydGFudDsgZm9udC1zaXplOiAyNnB4ICFpbXBvcnRhbnQ7IGZvbnQtd2VpZ2h0OiA5NTAgIWltcG9ydGFudDsgbGV0dGVyLXNwYWNpbmc6IC0uMDM1ZW0gIWltcG9ydGFudDsgfVxuYm9keS5zaW5nbGUtcHJvZHVjdCAud29vY29tbWVyY2UtVGFicy1wYW5lbCBoMyB7IG1hcmdpbjogMjJweCAwIDEwcHggIWltcG9ydGFudDsgY29sb3I6IHZhcigtLXdjMjQtdGV4dCkgIWltcG9ydGFudDsgZm9udC1zaXplOiAyMHB4ICFpbXBvcnRhbnQ7IGZvbnQtd2VpZ2h0OiA5NTAgIWltcG9ydGFudDsgfVxuYm9keS5zaW5nbGUtcHJvZHVjdCAud29vY29tbWVyY2UtVGFicy1wYW5lbCBwIHsgbWFyZ2luOiAwIDAgMTRweCAhaW1wb3J0YW50OyB9XG5ib2R5LnNpbmdsZS1wcm9kdWN0IC53b29jb21tZXJjZS1UYWJzLXBhbmVsIHVsIHsgbWFyZ2luOiAwIDAgMTZweCAyMHB4ICFpbXBvcnRhbnQ7IH1cbmJvZHkuc2luZ2xlLXByb2R1Y3QgLndvb2NvbW1lcmNlLVRhYnMtcGFuZWwgbGkgeyBtYXJnaW4tYm90dG9tOiA3cHggIWltcG9ydGFudDsgfVxuXG5ib2R5LnNpbmdsZS1wcm9kdWN0IHRhYmxlLnNob3BfYXR0cmlidXRlcyB7XG4gICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS13YzI0LWJvcmRlcikgIWltcG9ydGFudDtcbiAgICBib3JkZXItcmFkaXVzOiAxOHB4ICFpbXBvcnRhbnQ7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbiAhaW1wb3J0YW50O1xuICAgIGJvcmRlci1jb2xsYXBzZTogc2VwYXJhdGUgIWltcG9ydGFudDtcbiAgICBib3JkZXItc3BhY2luZzogMCAhaW1wb3J0YW50O1xufVxuYm9keS5zaW5nbGUtcHJvZHVjdCB0YWJsZS5zaG9wX2F0dHJpYnV0ZXMgdGgsXG5ib2R5LnNpbmdsZS1wcm9kdWN0IHRhYmxlLnNob3BfYXR0cmlidXRlcyB0ZCB7IHBhZGRpbmc6IDE0cHggMTZweCAhaW1wb3J0YW50OyBib3JkZXI6IDAgIWltcG9ydGFudDsgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLXdjMjQtYm9yZGVyKSAhaW1wb3J0YW50OyBjb2xvcjogdmFyKC0td2MyNC10ZXh0KSAhaW1wb3J0YW50OyBmb250LXNpemU6IDE0cHggIWltcG9ydGFudDsgbGluZS1oZWlnaHQ6IDEuNTUgIWltcG9ydGFudDsgfVxuYm9keS5zaW5nbGUtcHJvZHVjdCB0YWJsZS5zaG9wX2F0dHJpYnV0ZXMgdGggeyB3aWR0aDogMjIwcHggIWltcG9ydGFudDsgYmFja2dyb3VuZDogdmFyKC0td2MyNC1zb2Z0KSAhaW1wb3J0YW50OyBmb250LXdlaWdodDogOTUwICFpbXBvcnRhbnQ7IH1cbmJvZHkuc2luZ2xlLXByb2R1Y3QgdGFibGUuc2hvcF9hdHRyaWJ1dGVzIHRkIHsgYmFja2dyb3VuZDogI2ZmZiAhaW1wb3J0YW50OyB9XG5ib2R5LnNpbmdsZS1wcm9kdWN0IHRhYmxlLnNob3BfYXR0cmlidXRlcyBwIHsgbWFyZ2luOiAwICFpbXBvcnRhbnQ7IH1cblxuLyogUmV2aWV3IHN0YXJzICovXG5ib2R5LnNpbmdsZS1wcm9kdWN0ICNyZXZpZXdzIC53b29jb21tZXJjZS1SZXZpZXdzLXRpdGxlLFxuYm9keS5zaW5nbGUtcHJvZHVjdCAjcmV2aWV3X2Zvcm0gLmNvbW1lbnQtcmVwbHktdGl0bGUgeyBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyBtYXJnaW46IDAgMCAxNnB4ICFpbXBvcnRhbnQ7IGNvbG9yOiB2YXIoLS13YzI0LXRleHQpICFpbXBvcnRhbnQ7IGZvbnQtc2l6ZTogMjZweCAhaW1wb3J0YW50OyBmb250LXdlaWdodDogOTUwICFpbXBvcnRhbnQ7IGxpbmUtaGVpZ2h0OiAxLjE1ICFpbXBvcnRhbnQ7IGxldHRlci1zcGFjaW5nOiAtLjAzZW0gIWltcG9ydGFudDsgfVxuYm9keS5zaW5nbGUtcHJvZHVjdCAjcmV2aWV3cyAuY29tbWVudC1mb3JtLXJhdGluZyBsYWJlbCB7IGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IG1hcmdpbi1ib3R0b206IDhweCAhaW1wb3J0YW50OyBjb2xvcjogdmFyKC0td2MyNC10ZXh0KSAhaW1wb3J0YW50OyBmb250LXNpemU6IDE0cHggIWltcG9ydGFudDsgZm9udC13ZWlnaHQ6IDkwMCAhaW1wb3J0YW50OyB9XG5ib2R5LnNpbmdsZS1wcm9kdWN0ICNyZXZpZXdzIHAuc3RhcnMgeyBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyBtYXJnaW46IDAgIWltcG9ydGFudDsgfVxuYm9keS5zaW5nbGUtcHJvZHVjdCAjcmV2aWV3cyBwLnN0YXJzIHNwYW4geyBkaXNwbGF5OiBpbmxpbmUtZmxleCAhaW1wb3J0YW50OyBnYXA6IDRweCAhaW1wb3J0YW50OyB9XG5ib2R5LnNpbmdsZS1wcm9kdWN0ICNyZXZpZXdzIHAuc3RhcnMgYSB7IHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50OyB3aWR0aDogMjhweCAhaW1wb3J0YW50OyBoZWlnaHQ6IDI4cHggIWltcG9ydGFudDsgZGlzcGxheTogaW5saW5lLWZsZXggIWltcG9ydGFudDsgYWxpZ24taXRlbXM6IGNlbnRlciAhaW1wb3J0YW50OyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlciAhaW1wb3J0YW50OyBtYXJnaW46IDAgIWltcG9ydGFudDsgdGV4dC1pbmRlbnQ6IC05OTk5cHggIWltcG9ydGFudDsgb3ZlcmZsb3c6IGhpZGRlbiAhaW1wb3J0YW50OyBjb2xvcjogdmFyKC0td2MyNC1hY2NlbnQpICFpbXBvcnRhbnQ7IHRleHQtZGVjb3JhdGlvbjogbm9uZSAhaW1wb3J0YW50OyB9XG5ib2R5LnNpbmdsZS1wcm9kdWN0ICNyZXZpZXdzIHAuc3RhcnMgYTo6YmVmb3JlIHsgY29udGVudDogXCLimIVcIiAhaW1wb3J0YW50OyBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDsgaW5zZXQ6IDAgIWltcG9ydGFudDsgZGlzcGxheTogZmxleCAhaW1wb3J0YW50OyBhbGlnbi1pdGVtczogY2VudGVyICFpbXBvcnRhbnQ7IGp1c3RpZnktY29udGVudDogY2VudGVyICFpbXBvcnRhbnQ7IGNvbG9yOiAjY2ZlN2YwICFpbXBvcnRhbnQ7IGZvbnQtc2l6ZTogMjVweCAhaW1wb3J0YW50OyBsaW5lLWhlaWdodDogMSAhaW1wb3J0YW50OyB0ZXh0LWluZGVudDogMCAhaW1wb3J0YW50OyB0cmFuc2l0aW9uOiBjb2xvciAuMTZzIGVhc2UsIHRyYW5zZm9ybSAuMTZzIGVhc2UgIWltcG9ydGFudDsgfVxuYm9keS5zaW5nbGUtcHJvZHVjdCAjcmV2aWV3cyBwLnN0YXJzOmhvdmVyIGE6OmJlZm9yZSxcbmJvZHkuc2luZ2xlLXByb2R1Y3QgI3Jldmlld3MgcC5zdGFycy5zZWxlY3RlZCBhLmFjdGl2ZTo6YmVmb3JlLFxuYm9keS5zaW5nbGUtcHJvZHVjdCAjcmV2aWV3cyBwLnN0YXJzLnNlbGVjdGVkIGE6bm90KC5hY3RpdmUpOjpiZWZvcmUsXG5ib2R5LnNpbmdsZS1wcm9kdWN0ICNyZXZpZXdzIHAuc3RhcnMgYTpob3Zlcjo6YmVmb3JlLFxuYm9keS5zaW5nbGUtcHJvZHVjdCAjcmV2aWV3cyBwLnN0YXJzIGEuYWN0aXZlOjpiZWZvcmUgeyBjb2xvcjogdmFyKC0td2MyNC1hY2NlbnQpICFpbXBvcnRhbnQ7IH1cbmJvZHkuc2luZ2xlLXByb2R1Y3QgI3Jldmlld3MgdGV4dGFyZWEsXG5ib2R5LnNpbmdsZS1wcm9kdWN0ICNyZXZpZXdzIGlucHV0W3R5cGU9XCJ0ZXh0XCJdLFxuYm9keS5zaW5nbGUtcHJvZHVjdCAjcmV2aWV3cyBpbnB1dFt0eXBlPVwiZW1haWxcIl0geyB3aWR0aDogMTAwJSAhaW1wb3J0YW50OyBib3JkZXItcmFkaXVzOiAxOHB4ICFpbXBvcnRhbnQ7IGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLXdjMjQtYm9yZGVyKSAhaW1wb3J0YW50OyBiYWNrZ3JvdW5kOiAjZmZmICFpbXBvcnRhbnQ7IGNvbG9yOiB2YXIoLS13YzI0LXRleHQpICFpbXBvcnRhbnQ7IGZvbnQtc2l6ZTogMTVweCAhaW1wb3J0YW50OyBsaW5lLWhlaWdodDogMS42ICFpbXBvcnRhbnQ7IHBhZGRpbmc6IDE0cHggMTZweCAhaW1wb3J0YW50OyBvdXRsaW5lOiBub25lICFpbXBvcnRhbnQ7IGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDsgfVxuYm9keS5zaW5nbGUtcHJvZHVjdCAjcmV2aWV3cyB0ZXh0YXJlYSB7IG1pbi1oZWlnaHQ6IDEzMHB4ICFpbXBvcnRhbnQ7IH1cbmJvZHkuc2luZ2xlLXByb2R1Y3QgI3Jldmlld3MgdGV4dGFyZWE6Zm9jdXMsXG5ib2R5LnNpbmdsZS1wcm9kdWN0ICNyZXZpZXdzIGlucHV0OmZvY3VzIHsgYm9yZGVyLWNvbG9yOiB2YXIoLS13YzI0LWFjY2VudCkgIWltcG9ydGFudDsgYm94LXNoYWRvdzogMCAwIDAgNHB4IHJnYmEoMTYsIDE3MSwgMTgyLCAuMTgpICFpbXBvcnRhbnQ7IH1cbmJvZHkuc2luZ2xlLXByb2R1Y3QgI3Jldmlld3MgLmZvcm0tc3VibWl0IC5zdWJtaXQgeyBtaW4td2lkdGg6IDEyMHB4ICFpbXBvcnRhbnQ7IG1pbi1oZWlnaHQ6IDQ0cHggIWltcG9ydGFudDsgcGFkZGluZzogMCAyMnB4ICFpbXBvcnRhbnQ7IGJvcmRlcjogMCAhaW1wb3J0YW50OyBib3JkZXItcmFkaXVzOiAxNHB4ICFpbXBvcnRhbnQ7IGJhY2tncm91bmQ6IHZhcigtLXdjMjQtYWNjZW50KSAhaW1wb3J0YW50OyBjb2xvcjogI2ZmZiAhaW1wb3J0YW50OyBmb250LXNpemU6IDE0cHggIWltcG9ydGFudDsgZm9udC13ZWlnaHQ6IDk1MCAhaW1wb3J0YW50OyBib3gtc2hhZG93OiAwIDEycHggMjRweCByZ2JhKDE2LCAxNzEsIDE4MiwgLjIyKSAhaW1wb3J0YW50OyB9XG5ib2R5LnNpbmdsZS1wcm9kdWN0ICNyZXZpZXdzIC5mb3JtLXN1Ym1pdCAuc3VibWl0OmhvdmVyIHsgYmFja2dyb3VuZDogdmFyKC0td2MyNC1wcmltYXJ5KSAhaW1wb3J0YW50OyBjb2xvcjogI2ZmZiAhaW1wb3J0YW50OyB9XG5cbi8qIFJlbGF0ZWQgcHJvZHVjdHMgKi9cbmJvZHkuc2luZ2xlLXByb2R1Y3QgLnJlbGF0ZWQucHJvZHVjdHMgPiBoMiB7IG1hcmdpbjogMCAwIDI4cHggIWltcG9ydGFudDsgY29sb3I6IHZhcigtLXdjMjQtdGV4dCkgIWltcG9ydGFudDsgZm9udC1zaXplOiBjbGFtcCgyOHB4LCAyLjh2dywgNDJweCkgIWltcG9ydGFudDsgZm9udC13ZWlnaHQ6IDk1MCAhaW1wb3J0YW50OyBsaW5lLWhlaWdodDogMS4wNSAhaW1wb3J0YW50OyBsZXR0ZXItc3BhY2luZzogLS4wNGVtICFpbXBvcnRhbnQ7IH1cbmJvZHkuc2luZ2xlLXByb2R1Y3QgLnJlbGF0ZWQucHJvZHVjdHMgdWwucHJvZHVjdHMgeyB3aWR0aDogMTAwJSAhaW1wb3J0YW50OyBkaXNwbGF5OiBncmlkICFpbXBvcnRhbnQ7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDQsIG1pbm1heCgwLCAxZnIpKSAhaW1wb3J0YW50OyBnYXA6IDIwcHggIWltcG9ydGFudDsgbWFyZ2luOiAwICFpbXBvcnRhbnQ7IHBhZGRpbmc6IDAgIWltcG9ydGFudDsgfVxuYm9keS5zaW5nbGUtcHJvZHVjdCAucmVsYXRlZC5wcm9kdWN0cyB1bC5wcm9kdWN0czo6YmVmb3JlLFxuYm9keS5zaW5nbGUtcHJvZHVjdCAucmVsYXRlZC5wcm9kdWN0cyB1bC5wcm9kdWN0czo6YWZ0ZXIgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IGNvbnRlbnQ6IG5vbmUgIWltcG9ydGFudDsgfVxuYm9keS5zaW5nbGUtcHJvZHVjdCAucmVsYXRlZC5wcm9kdWN0cyB1bC5wcm9kdWN0cyBsaS5wcm9kdWN0LFxuYm9keS5zaW5nbGUtcHJvZHVjdCAucmVsYXRlZC5wcm9kdWN0cyB1bC5wcm9kdWN0cyBsaS5wcm9kdWN0LmZpcnN0LFxuYm9keS5zaW5nbGUtcHJvZHVjdCAucmVsYXRlZC5wcm9kdWN0cyB1bC5wcm9kdWN0cyBsaS5wcm9kdWN0Lmxhc3QgeyB3aWR0aDogMTAwJSAhaW1wb3J0YW50OyBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgbWluLWhlaWdodDogMTAwJSAhaW1wb3J0YW50OyBmbG9hdDogbm9uZSAhaW1wb3J0YW50OyBjbGVhcjogbm9uZSAhaW1wb3J0YW50OyBtYXJnaW46IDAgIWltcG9ydGFudDsgcGFkZGluZzogMThweCAhaW1wb3J0YW50OyBib3JkZXItcmFkaXVzOiAyNHB4ICFpbXBvcnRhbnQ7IGJhY2tncm91bmQ6ICNmZmYgIWltcG9ydGFudDsgYm9yZGVyOiAxcHggc29saWQgdmFyKC0td2MyNC1ib3JkZXIpICFpbXBvcnRhbnQ7IGJveC1zaGFkb3c6IDAgMTBweCAyNnB4IHJnYmEoNywgNTksIDk1LCAuMDU1KSAhaW1wb3J0YW50OyBvdmVyZmxvdzogaGlkZGVuICFpbXBvcnRhbnQ7IGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDsgZmxleC1kaXJlY3Rpb246IGNvbHVtbiAhaW1wb3J0YW50OyB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gLjIycyBlYXNlLCBib3gtc2hhZG93IC4yMnMgZWFzZSwgYm9yZGVyLWNvbG9yIC4yMnMgZWFzZSAhaW1wb3J0YW50OyB9XG5ib2R5LnNpbmdsZS1wcm9kdWN0IC5yZWxhdGVkLnByb2R1Y3RzIHVsLnByb2R1Y3RzIGxpLnByb2R1Y3Q6aG92ZXIgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTRweCkgIWltcG9ydGFudDsgYm9yZGVyLWNvbG9yOiByZ2JhKDE2LCAxNzEsIDE4MiwgLjcpICFpbXBvcnRhbnQ7IGJveC1zaGFkb3c6IDAgMjBweCA0MnB4IHJnYmEoNywgNTksIDk1LCAuMTEpICFpbXBvcnRhbnQ7IH1cbmJvZHkuc2luZ2xlLXByb2R1Y3QgLnJlbGF0ZWQucHJvZHVjdHMgdWwucHJvZHVjdHMgbGkucHJvZHVjdCAud29vY29tbWVyY2UtTG9vcFByb2R1Y3QtbGluayB7IGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDsgZmxleC1kaXJlY3Rpb246IGNvbHVtbiAhaW1wb3J0YW50OyBmbGV4OiAxIDEgYXV0byAhaW1wb3J0YW50OyB0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDsgfVxuYm9keS5zaW5nbGUtcHJvZHVjdCAucmVsYXRlZC5wcm9kdWN0cyB1bC5wcm9kdWN0cyBsaS5wcm9kdWN0IGltZyB7IHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IG1heC13aWR0aDogMTY1cHggIWltcG9ydGFudDsgaGVpZ2h0OiAxNTBweCAhaW1wb3J0YW50OyAtby1vYmplY3QtZml0OiBjb250YWluICFpbXBvcnRhbnQ7IG9iamVjdC1maXQ6IGNvbnRhaW4gIWltcG9ydGFudDsgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgbWFyZ2luOiAwIGF1dG8gMTZweCAhaW1wb3J0YW50OyBwYWRkaW5nOiAxMnB4ICFpbXBvcnRhbnQ7IGJvcmRlci1yYWRpdXM6IDIwcHggIWltcG9ydGFudDsgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgI2ZmZiwgI2Y1ZmJmZCkgIWltcG9ydGFudDsgfVxuYm9keS5zaW5nbGUtcHJvZHVjdCAucmVsYXRlZC5wcm9kdWN0cyB1bC5wcm9kdWN0cyBsaS5wcm9kdWN0IC53b29jb21tZXJjZS1sb29wLXByb2R1Y3RfX3RpdGxlIHsgbWluLWhlaWdodDogNDRweCAhaW1wb3J0YW50OyBtYXgtaGVpZ2h0OiA0NHB4ICFpbXBvcnRhbnQ7IG1hcmdpbjogMCAwIDEycHggIWltcG9ydGFudDsgcGFkZGluZzogMCAhaW1wb3J0YW50OyBjb2xvcjogdmFyKC0td2MyNC10ZXh0KSAhaW1wb3J0YW50OyBmb250LXNpemU6IDE0cHggIWltcG9ydGFudDsgZm9udC13ZWlnaHQ6IDk1MCAhaW1wb3J0YW50OyBsaW5lLWhlaWdodDogMS4zNSAhaW1wb3J0YW50OyB0ZXh0LWFsaWduOiBsZWZ0ICFpbXBvcnRhbnQ7IG92ZXJmbG93OiBoaWRkZW4gIWltcG9ydGFudDsgZGlzcGxheTogLXdlYmtpdC1ib3ggIWltcG9ydGFudDsgLXdlYmtpdC1saW5lLWNsYW1wOiAyICFpbXBvcnRhbnQ7IC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWwgIWltcG9ydGFudDsgfVxuYm9keS5zaW5nbGUtcHJvZHVjdCAucmVsYXRlZC5wcm9kdWN0cyB1bC5wcm9kdWN0cyBsaS5wcm9kdWN0IC5wcmljZSB7IG1pbi1oZWlnaHQ6IDI2cHggIWltcG9ydGFudDsgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgbWFyZ2luOiAwIDAgMTRweCAhaW1wb3J0YW50OyBjb2xvcjogdmFyKC0td2MyNC10ZXh0KSAhaW1wb3J0YW50OyBmb250LXNpemU6IDE4cHggIWltcG9ydGFudDsgZm9udC13ZWlnaHQ6IDk1MCAhaW1wb3J0YW50OyBsaW5lLWhlaWdodDogMS4yICFpbXBvcnRhbnQ7IH1cbmJvZHkuc2luZ2xlLXByb2R1Y3QgLnJlbGF0ZWQucHJvZHVjdHMgdWwucHJvZHVjdHMgbGkucHJvZHVjdCAuYWRkX3RvX2NhcnRfYnV0dG9uLFxuYm9keS5zaW5nbGUtcHJvZHVjdCAucmVsYXRlZC5wcm9kdWN0cyB1bC5wcm9kdWN0cyBsaS5wcm9kdWN0IC5wcm9kdWN0X3R5cGVfc2ltcGxlLFxuYm9keS5zaW5nbGUtcHJvZHVjdCAucmVsYXRlZC5wcm9kdWN0cyB1bC5wcm9kdWN0cyBsaS5wcm9kdWN0IC5hamF4X2FkZF90b19jYXJ0LFxuYm9keS5zaW5nbGUtcHJvZHVjdCAucmVsYXRlZC5wcm9kdWN0cyB1bC5wcm9kdWN0cyBsaS5wcm9kdWN0IC55aXRoLXdjcXYtYnV0dG9uLFxuYm9keS5zaW5nbGUtcHJvZHVjdCAucmVsYXRlZC5wcm9kdWN0cyB1bC5wcm9kdWN0cyBsaS5wcm9kdWN0IC55aXRoLXdjd2wtYWRkLXRvLXdpc2hsaXN0LWJ1dHRvbixcbmJvZHkuc2luZ2xlLXByb2R1Y3QgLnJlbGF0ZWQucHJvZHVjdHMgdWwucHJvZHVjdHMgbGkucHJvZHVjdCAuY29tcGFyZS5idXR0b24geyB3aWR0aDogMTAwJSAhaW1wb3J0YW50OyBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgZGlzcGxheTogaW5saW5lLWZsZXggIWltcG9ydGFudDsgYWxpZ24taXRlbXM6IGNlbnRlciAhaW1wb3J0YW50OyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlciAhaW1wb3J0YW50OyBmbG9hdDogbm9uZSAhaW1wb3J0YW50OyBjbGVhcjogYm90aCAhaW1wb3J0YW50OyB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDsgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7IGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDsgfVxuYm9keS5zaW5nbGUtcHJvZHVjdCAucmVsYXRlZC5wcm9kdWN0cyB1bC5wcm9kdWN0cyBsaS5wcm9kdWN0IC5hZGRfdG9fY2FydF9idXR0b24sXG5ib2R5LnNpbmdsZS1wcm9kdWN0IC5yZWxhdGVkLnByb2R1Y3RzIHVsLnByb2R1Y3RzIGxpLnByb2R1Y3QgLnByb2R1Y3RfdHlwZV9zaW1wbGUsXG5ib2R5LnNpbmdsZS1wcm9kdWN0IC5yZWxhdGVkLnByb2R1Y3RzIHVsLnByb2R1Y3RzIGxpLnByb2R1Y3QgLmFqYXhfYWRkX3RvX2NhcnQgeyBtaW4taGVpZ2h0OiA0NHB4ICFpbXBvcnRhbnQ7IG1hcmdpbjogYXV0byAwIDlweCAhaW1wb3J0YW50OyBwYWRkaW5nOiAwIDE0cHggIWltcG9ydGFudDsgYm9yZGVyOiAwICFpbXBvcnRhbnQ7IGJvcmRlci1yYWRpdXM6IDE0cHggIWltcG9ydGFudDsgYmFja2dyb3VuZDogdmFyKC0td2MyNC1hY2NlbnQpICFpbXBvcnRhbnQ7IGNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7IGZvbnQtc2l6ZTogMTNweCAhaW1wb3J0YW50OyBmb250LXdlaWdodDogOTUwICFpbXBvcnRhbnQ7IGxpbmUtaGVpZ2h0OiAxICFpbXBvcnRhbnQ7IGJveC1zaGFkb3c6IDAgMTJweCAyNHB4IHJnYmEoMTYsIDE3MSwgMTgyLCAuMjQpICFpbXBvcnRhbnQ7IH1cbmJvZHkuc2luZ2xlLXByb2R1Y3QgLnJlbGF0ZWQucHJvZHVjdHMgdWwucHJvZHVjdHMgbGkucHJvZHVjdCAuYWRkX3RvX2NhcnRfYnV0dG9uOjpiZWZvcmUsXG5ib2R5LnNpbmdsZS1wcm9kdWN0IC5yZWxhdGVkLnByb2R1Y3RzIHVsLnByb2R1Y3RzIGxpLnByb2R1Y3QgLnByb2R1Y3RfdHlwZV9zaW1wbGU6OmJlZm9yZSxcbmJvZHkuc2luZ2xlLXByb2R1Y3QgLnJlbGF0ZWQucHJvZHVjdHMgdWwucHJvZHVjdHMgbGkucHJvZHVjdCAuYWpheF9hZGRfdG9fY2FydDo6YmVmb3JlLFxuYm9keS5zaW5nbGUtcHJvZHVjdCAucmVsYXRlZC5wcm9kdWN0cyB1bC5wcm9kdWN0cyBsaS5wcm9kdWN0IC5hZGRfdG9fY2FydF9idXR0b246OmFmdGVyLFxuYm9keS5zaW5nbGUtcHJvZHVjdCAucmVsYXRlZC5wcm9kdWN0cyB1bC5wcm9kdWN0cyBsaS5wcm9kdWN0IC5wcm9kdWN0X3R5cGVfc2ltcGxlOjphZnRlcixcbmJvZHkuc2luZ2xlLXByb2R1Y3QgLnJlbGF0ZWQucHJvZHVjdHMgdWwucHJvZHVjdHMgbGkucHJvZHVjdCAuYWpheF9hZGRfdG9fY2FydDo6YWZ0ZXIgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IGNvbnRlbnQ6IG5vbmUgIWltcG9ydGFudDsgfVxuYm9keS5zaW5nbGUtcHJvZHVjdCAucmVsYXRlZC5wcm9kdWN0cyB1bC5wcm9kdWN0cyBsaS5wcm9kdWN0IC5hZGRfdG9fY2FydF9idXR0b246aG92ZXIsXG5ib2R5LnNpbmdsZS1wcm9kdWN0IC5yZWxhdGVkLnByb2R1Y3RzIHVsLnByb2R1Y3RzIGxpLnByb2R1Y3QgLnByb2R1Y3RfdHlwZV9zaW1wbGU6aG92ZXIsXG5ib2R5LnNpbmdsZS1wcm9kdWN0IC5yZWxhdGVkLnByb2R1Y3RzIHVsLnByb2R1Y3RzIGxpLnByb2R1Y3QgLmFqYXhfYWRkX3RvX2NhcnQ6aG92ZXIsXG5ib2R5LnNpbmdsZS1wcm9kdWN0IC5yZWxhdGVkLnByb2R1Y3RzIHVsLnByb2R1Y3RzIGxpLnByb2R1Y3QgLmFkZF90b19jYXJ0X2J1dHRvbi5hZGRlZCB7IGJhY2tncm91bmQ6IHZhcigtLXdjMjQtcHJpbWFyeSkgIWltcG9ydGFudDsgY29sb3I6ICNmZmYgIWltcG9ydGFudDsgfVxuYm9keS5zaW5nbGUtcHJvZHVjdCAucmVsYXRlZC5wcm9kdWN0cyB1bC5wcm9kdWN0cyBsaS5wcm9kdWN0IGEuYWRkZWRfdG9fY2FydC53Yy1mb3J3YXJkIHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5ib2R5LnNpbmdsZS1wcm9kdWN0IC5yZWxhdGVkLnByb2R1Y3RzIHVsLnByb2R1Y3RzIGxpLnByb2R1Y3QgLnlpdGgtd2Nxdi1idXR0b24sXG5ib2R5LnNpbmdsZS1wcm9kdWN0IC5yZWxhdGVkLnByb2R1Y3RzIHVsLnByb2R1Y3RzIGxpLnByb2R1Y3QgLnlpdGgtd2N3bC1hZGQtdG8td2lzaGxpc3QtYnV0dG9uLFxuYm9keS5zaW5nbGUtcHJvZHVjdCAucmVsYXRlZC5wcm9kdWN0cyB1bC5wcm9kdWN0cyBsaS5wcm9kdWN0IC5jb21wYXJlLmJ1dHRvbiB7IG1pbi1oZWlnaHQ6IDM5cHggIWltcG9ydGFudDsgZ2FwOiA3cHggIWltcG9ydGFudDsgbWFyZ2luOiAwIDAgOXB4ICFpbXBvcnRhbnQ7IHBhZGRpbmc6IDAgMTBweCAhaW1wb3J0YW50OyBib3JkZXItcmFkaXVzOiAxNHB4ICFpbXBvcnRhbnQ7IGJhY2tncm91bmQ6ICNmZmYgIWltcG9ydGFudDsgYm9yZGVyOiAxcHggc29saWQgdmFyKC0td2MyNC1ib3JkZXIpICFpbXBvcnRhbnQ7IGNvbG9yOiB2YXIoLS13YzI0LXRleHQpICFpbXBvcnRhbnQ7IGZvbnQtc2l6ZTogMTJweCAhaW1wb3J0YW50OyBmb250LXdlaWdodDogODUwICFpbXBvcnRhbnQ7IGxpbmUtaGVpZ2h0OiAxICFpbXBvcnRhbnQ7IH1cbmJvZHkuc2luZ2xlLXByb2R1Y3QgLnJlbGF0ZWQucHJvZHVjdHMgdWwucHJvZHVjdHMgbGkucHJvZHVjdCAueWl0aC13Y3F2LWJ1dHRvbiB7IGJhY2tncm91bmQ6IHZhcigtLXdjMjQtc29mdCkgIWltcG9ydGFudDsgfVxuYm9keS5zaW5nbGUtcHJvZHVjdCAucmVsYXRlZC5wcm9kdWN0cyB1bC5wcm9kdWN0cyBsaS5wcm9kdWN0IC55aXRoLXdjcXYtYnV0dG9uOmhvdmVyLFxuYm9keS5zaW5nbGUtcHJvZHVjdCAucmVsYXRlZC5wcm9kdWN0cyB1bC5wcm9kdWN0cyBsaS5wcm9kdWN0IC55aXRoLXdjd2wtYWRkLXRvLXdpc2hsaXN0LWJ1dHRvbjpob3ZlcixcbmJvZHkuc2luZ2xlLXByb2R1Y3QgLnJlbGF0ZWQucHJvZHVjdHMgdWwucHJvZHVjdHMgbGkucHJvZHVjdCAuY29tcGFyZS5idXR0b246aG92ZXIgeyBiYWNrZ3JvdW5kOiB2YXIoLS13YzI0LXNvZnQpICFpbXBvcnRhbnQ7IGJvcmRlci1jb2xvcjogcmdiYSgxNiwgMTcxLCAxODIsIC42NSkgIWltcG9ydGFudDsgY29sb3I6IHZhcigtLXdjMjQtcHJpbWFyeSkgIWltcG9ydGFudDsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFdpc2hsaXN0IHBhZ2UgYW5kIFlJVEggUXVpY2sgVmlld1xuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5ib2R5ICN5aXRoLXdjd2wtZm9ybSB7XG4gICAgd2lkdGg6IG1pbigxMDAlIC0gMzJweCwgMTMyMHB4KSAhaW1wb3J0YW50O1xuICAgIG1hcmdpbjogMCBhdXRvIDcwcHggIWltcG9ydGFudDtcbiAgICBwYWRkaW5nOiAyOHB4ICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLXJhZGl1czogMjhweCAhaW1wb3J0YW50O1xuICAgIGJhY2tncm91bmQ6ICNmZmYgIWltcG9ydGFudDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS13YzI0LWJvcmRlcikgIWltcG9ydGFudDtcbiAgICBib3gtc2hhZG93OiAwIDE4cHggNDhweCByZ2JhKDcsIDU5LCA5NSwgLjA2NSkgIWltcG9ydGFudDtcbiAgICBjb2xvcjogdmFyKC0td2MyNC10ZXh0KSAhaW1wb3J0YW50O1xufVxuXG5ib2R5IC5zaXRlLW1haW4gLnBhZ2UtaGVhZGVyIHtcbiAgICBtYXJnaW46IDAgMCAyNHB4O1xuICAgIHBhZGRpbmc6IDM0cHg7XG4gICAgYm9yZGVyLXJhZGl1czogMjhweDtcbiAgICBiYWNrZ3JvdW5kOiByYWRpYWwtZ3JhZGllbnQoY2lyY2xlIGF0IDg2JSAxMCUsIHJnYmEoMTYsMTcxLDE4MiwuMTgpLCB0cmFuc3BhcmVudCAzMiUpLCBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCB2YXIoLS13YzI0LXByaW1hcnkpLCB2YXIoLS13YzI0LXByaW1hcnktZGFyaykpO1xuICAgIGJveC1zaGFkb3c6IDAgMjJweCA1NHB4IHJnYmEoNywgNTksIDk1LCAuMTQpO1xufVxuYm9keSAuc2l0ZS1tYWluIC5wYWdlLWhlYWRlciAuZW50cnktdGl0bGUgeyBtYXJnaW46IDA7IGNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7IGZvbnQtc2l6ZTogY2xhbXAoMzRweCwgNHZ3LCA1OHB4KTsgZm9udC13ZWlnaHQ6IDk1MDsgbGluZS1oZWlnaHQ6IDEuMDU7IGxldHRlci1zcGFjaW5nOiAtLjA0NWVtOyB9XG5ib2R5IC5zaXRlLW1haW4gLnBhZ2UtaGVhZGVyIC5lbnRyeS10aXRsZTo6YWZ0ZXIgeyBjb250ZW50OiBcIlwiOyBkaXNwbGF5OiBibG9jazsgd2lkdGg6IDcycHg7IGhlaWdodDogNHB4OyBtYXJnaW4tdG9wOiAxOHB4OyBib3JkZXItcmFkaXVzOiA5OTlweDsgYmFja2dyb3VuZDogdmFyKC0td2MyNC1hY2NlbnQpOyB9XG5cbiN5aXRoLXdjd2wtZm9ybSAud2lzaGxpc3QtdGl0bGUgeyBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IGdhcDogMTZweDsgbWFyZ2luOiAwIDAgMjJweDsgfVxuI3lpdGgtd2N3bC1mb3JtIC53aXNobGlzdC10aXRsZSBoMiB7IG1hcmdpbjogMDsgY29sb3I6IHZhcigtLXdjMjQtdGV4dCk7IGZvbnQtc2l6ZTogY2xhbXAoMjZweCwgMi40dncsIDM4cHgpOyBmb250LXdlaWdodDogOTUwOyBsaW5lLWhlaWdodDogMS4wODsgbGV0dGVyLXNwYWNpbmc6IC0uMDRlbTsgfVxuI3lpdGgtd2N3bC1mb3JtIC5zaG93LXRpdGxlLWZvcm0geyBtaW4taGVpZ2h0OiA0MHB4OyBkaXNwbGF5OiBpbmxpbmUtZmxleCAhaW1wb3J0YW50OyBhbGlnbi1pdGVtczogY2VudGVyOyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgZ2FwOiA3cHg7IHBhZGRpbmc6IDAgMTRweCAhaW1wb3J0YW50OyBib3JkZXItcmFkaXVzOiAxM3B4ICFpbXBvcnRhbnQ7IGJhY2tncm91bmQ6IHZhcigtLXdjMjQtc29mdCkgIWltcG9ydGFudDsgY29sb3I6IHZhcigtLXdjMjQtdGV4dCkgIWltcG9ydGFudDsgYm9yZGVyOiAxcHggc29saWQgdmFyKC0td2MyNC1ib3JkZXIpICFpbXBvcnRhbnQ7IGZvbnQtc2l6ZTogMTNweCAhaW1wb3J0YW50OyBmb250LXdlaWdodDogODUwICFpbXBvcnRhbnQ7IHRleHQtZGVjb3JhdGlvbjogbm9uZSAhaW1wb3J0YW50OyBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7IH1cbiN5aXRoLXdjd2wtZm9ybSAuc2hvdy10aXRsZS1mb3JtOmhvdmVyIHsgYmFja2dyb3VuZDogdmFyKC0td2MyNC1hY2NlbnQpICFpbXBvcnRhbnQ7IGNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7IGJvcmRlci1jb2xvcjogdmFyKC0td2MyNC1hY2NlbnQpICFpbXBvcnRhbnQ7IH1cblxuI3lpdGgtd2N3bC1mb3JtIHRhYmxlLndpc2hsaXN0X3RhYmxlIHsgd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgbWFyZ2luOiAwICFpbXBvcnRhbnQ7IGJvcmRlci1jb2xsYXBzZTogc2VwYXJhdGUgIWltcG9ydGFudDsgYm9yZGVyLXNwYWNpbmc6IDAgMTJweCAhaW1wb3J0YW50OyBib3JkZXI6IDAgIWltcG9ydGFudDsgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDsgfVxuI3lpdGgtd2N3bC1mb3JtIHRhYmxlLndpc2hsaXN0X3RhYmxlIHRoZWFkIHRoIHsgcGFkZGluZzogMCAxNHB4IDhweCAhaW1wb3J0YW50OyBib3JkZXI6IDAgIWltcG9ydGFudDsgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDsgY29sb3I6IHZhcigtLXdjMjQtbXV0ZWQpICFpbXBvcnRhbnQ7IGZvbnQtc2l6ZTogMTJweCAhaW1wb3J0YW50OyBmb250LXdlaWdodDogOTAwICFpbXBvcnRhbnQ7IHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IGxldHRlci1zcGFjaW5nOiAuMDRlbTsgfVxuI3lpdGgtd2N3bC1mb3JtIHRhYmxlLndpc2hsaXN0X3RhYmxlIHRib2R5IHRyIHsgYm9yZGVyLXJhZGl1czogMjJweCAhaW1wb3J0YW50OyBiYWNrZ3JvdW5kOiAjZmZmICFpbXBvcnRhbnQ7IGJveC1zaGFkb3c6IDAgMTBweCAyNnB4IHJnYmEoNywgNTksIDk1LCAuMDU1KTsgdHJhbnNpdGlvbjogdHJhbnNmb3JtIC4ycyBlYXNlLCBib3gtc2hhZG93IC4ycyBlYXNlOyB9XG4jeWl0aC13Y3dsLWZvcm0gdGFibGUud2lzaGxpc3RfdGFibGUgdGJvZHkgdHI6aG92ZXIgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTJweCk7IGJveC1zaGFkb3c6IDAgMTZweCAzNnB4IHJnYmEoNywgNTksIDk1LCAuMDk1KTsgfVxuI3lpdGgtd2N3bC1mb3JtIHRhYmxlLndpc2hsaXN0X3RhYmxlIHRib2R5IHRkIHsgcGFkZGluZzogMTZweCAxNHB4ICFpbXBvcnRhbnQ7IGJvcmRlcjogMCAhaW1wb3J0YW50OyBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0td2MyNC1ib3JkZXIpICFpbXBvcnRhbnQ7IGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS13YzI0LWJvcmRlcikgIWltcG9ydGFudDsgYmFja2dyb3VuZDogI2ZmZiAhaW1wb3J0YW50OyB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlICFpbXBvcnRhbnQ7IH1cbiN5aXRoLXdjd2wtZm9ybSB0YWJsZS53aXNobGlzdF90YWJsZSB0Ym9keSB0ZDpmaXJzdC1jaGlsZCB7IGJvcmRlci1sZWZ0OiAxcHggc29saWQgdmFyKC0td2MyNC1ib3JkZXIpICFpbXBvcnRhbnQ7IGJvcmRlci1yYWRpdXM6IDIycHggMCAwIDIycHggIWltcG9ydGFudDsgfVxuI3lpdGgtd2N3bC1mb3JtIHRhYmxlLndpc2hsaXN0X3RhYmxlIHRib2R5IHRkOmxhc3QtY2hpbGQgeyBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCB2YXIoLS13YzI0LWJvcmRlcikgIWltcG9ydGFudDsgYm9yZGVyLXJhZGl1czogMCAyMnB4IDIycHggMCAhaW1wb3J0YW50OyB9XG4jeWl0aC13Y3dsLWZvcm0gLnByb2R1Y3QtcmVtb3ZlLFxuI3lpdGgtd2N3bC1mb3JtIHRkLnByb2R1Y3QtcmVtb3ZlIHsgd2lkdGg6IDU4cHggIWltcG9ydGFudDsgbWluLXdpZHRoOiA1OHB4ICFpbXBvcnRhbnQ7IHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50OyB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlICFpbXBvcnRhbnQ7IH1cbiN5aXRoLXdjd2wtZm9ybSAucHJvZHVjdC1yZW1vdmUgPiBkaXYgeyB3aWR0aDogMTAwJSAhaW1wb3J0YW50OyBoZWlnaHQ6IDEwMCUgIWltcG9ydGFudDsgbWluLWhlaWdodDogNDJweCAhaW1wb3J0YW50OyBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7IGFsaWduLWl0ZW1zOiBjZW50ZXIgIWltcG9ydGFudDsganVzdGlmeS1jb250ZW50OiBjZW50ZXIgIWltcG9ydGFudDsgfVxuI3lpdGgtd2N3bC1mb3JtIC5yZW1vdmVfZnJvbV93aXNobGlzdCxcbiN5aXRoLXdjd2wtZm9ybSBhLnJlbW92ZS5yZW1vdmVfZnJvbV93aXNobGlzdCB7IHdpZHRoOiAzNHB4ICFpbXBvcnRhbnQ7IGhlaWdodDogMzRweCAhaW1wb3J0YW50OyBtaW4td2lkdGg6IDM0cHggIWltcG9ydGFudDsgbWluLWhlaWdodDogMzRweCAhaW1wb3J0YW50OyBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7IGFsaWduLWl0ZW1zOiBjZW50ZXIgIWltcG9ydGFudDsganVzdGlmeS1jb250ZW50OiBjZW50ZXIgIWltcG9ydGFudDsgcGFkZGluZzogMCAhaW1wb3J0YW50OyBtYXJnaW46IDAgYXV0byAhaW1wb3J0YW50OyBib3JkZXItcmFkaXVzOiA5OTlweCAhaW1wb3J0YW50OyBiYWNrZ3JvdW5kOiAjZmZmMGYxICFpbXBvcnRhbnQ7IGNvbG9yOiB2YXIoLS13YzI0LWRhbmdlcikgIWltcG9ydGFudDsgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyNDAsIDYsIDIwLCAuMTgpICFpbXBvcnRhbnQ7IGZvbnQtc2l6ZTogMCAhaW1wb3J0YW50OyBsaW5lLWhlaWdodDogMSAhaW1wb3J0YW50OyB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDsgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7IH1cbiN5aXRoLXdjd2wtZm9ybSAucmVtb3ZlX2Zyb21fd2lzaGxpc3Q6OmJlZm9yZSB7IGNvbnRlbnQ6IFwiw5dcIiAhaW1wb3J0YW50OyBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyBjb2xvcjogY3VycmVudENvbG9yICFpbXBvcnRhbnQ7IGZvbnQtc2l6ZTogMjVweCAhaW1wb3J0YW50OyBmb250LXdlaWdodDogNzAwICFpbXBvcnRhbnQ7IGxpbmUtaGVpZ2h0OiAzMHB4ICFpbXBvcnRhbnQ7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMXB4KTsgfVxuI3lpdGgtd2N3bC1mb3JtIC5yZW1vdmVfZnJvbV93aXNobGlzdDpob3ZlciB7IGJhY2tncm91bmQ6IHZhcigtLXdjMjQtZGFuZ2VyKSAhaW1wb3J0YW50OyBjb2xvcjogI2ZmZiAhaW1wb3J0YW50OyBib3JkZXItY29sb3I6IHZhcigtLXdjMjQtZGFuZ2VyKSAhaW1wb3J0YW50OyB9XG4jeWl0aC13Y3dsLWZvcm0gLnByb2R1Y3QtdGh1bWJuYWlsIHsgd2lkdGg6IDExMHB4OyB9XG4jeWl0aC13Y3dsLWZvcm0gLnByb2R1Y3QtdGh1bWJuYWlsIGEgeyB3aWR0aDogODhweDsgaGVpZ2h0OiA4OHB4OyBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgYm9yZGVyLXJhZGl1czogMThweDsgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgI2ZmZiwgI2Y1ZmJmZCk7IGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLXdjMjQtYm9yZGVyKTsgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuI3lpdGgtd2N3bC1mb3JtIC5wcm9kdWN0LXRodW1ibmFpbCBpbWcgeyB3aWR0aDogNzZweCAhaW1wb3J0YW50OyBoZWlnaHQ6IDc2cHggIWltcG9ydGFudDsgLW8tb2JqZWN0LWZpdDogY29udGFpbiAhaW1wb3J0YW50OyBvYmplY3QtZml0OiBjb250YWluICFpbXBvcnRhbnQ7IG1hcmdpbjogMCAhaW1wb3J0YW50OyBwYWRkaW5nOiA2cHggIWltcG9ydGFudDsgfVxuI3lpdGgtd2N3bC1mb3JtIC5wcm9kdWN0LW5hbWUgPiBhOm5vdCguYnV0dG9uKSB7IGRpc3BsYXk6IGJsb2NrOyBtYXJnaW4tYm90dG9tOiAxMHB4OyBjb2xvcjogdmFyKC0td2MyNC10ZXh0KSAhaW1wb3J0YW50OyBmb250LXNpemU6IDE1cHg7IGZvbnQtd2VpZ2h0OiA5NTA7IGxpbmUtaGVpZ2h0OiAxLjM1OyB0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDsgfVxuI3lpdGgtd2N3bC1mb3JtIC5wcm9kdWN0LW5hbWUgLnlpdGgtd2Nxdi1idXR0b24geyBtaW4taGVpZ2h0OiAzNHB4ICFpbXBvcnRhbnQ7IGRpc3BsYXk6IGlubGluZS1mbGV4ICFpbXBvcnRhbnQ7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGp1c3RpZnktY29udGVudDogY2VudGVyOyBwYWRkaW5nOiAwIDEycHggIWltcG9ydGFudDsgYm9yZGVyLXJhZGl1czogMTJweCAhaW1wb3J0YW50OyBiYWNrZ3JvdW5kOiB2YXIoLS13YzI0LXNvZnQpICFpbXBvcnRhbnQ7IGNvbG9yOiB2YXIoLS13YzI0LXRleHQpICFpbXBvcnRhbnQ7IGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLXdjMjQtYm9yZGVyKSAhaW1wb3J0YW50OyBmb250LXNpemU6IDEycHggIWltcG9ydGFudDsgZm9udC13ZWlnaHQ6IDg1MCAhaW1wb3J0YW50OyBsaW5lLWhlaWdodDogMSAhaW1wb3J0YW50OyB0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDsgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50OyB9XG4jeWl0aC13Y3dsLWZvcm0gLnByb2R1Y3QtbmFtZSAueWl0aC13Y3F2LWJ1dHRvbjpob3ZlciB7IGJhY2tncm91bmQ6IHZhcigtLXdjMjQtYWNjZW50KSAhaW1wb3J0YW50OyBib3JkZXItY29sb3I6IHZhcigtLXdjMjQtYWNjZW50KSAhaW1wb3J0YW50OyBjb2xvcjogI2ZmZiAhaW1wb3J0YW50OyB9XG4jeWl0aC13Y3dsLWZvcm0gLnByb2R1Y3QtcHJpY2UgLmFtb3VudCxcbiN5aXRoLXdjd2wtZm9ybSAucHJvZHVjdC1wcmljZSBiZGkgeyBjb2xvcjogdmFyKC0td2MyNC10ZXh0KSAhaW1wb3J0YW50OyBmb250LXNpemU6IDE3cHg7IGZvbnQtd2VpZ2h0OiA5NTA7IH1cbiN5aXRoLXdjd2wtZm9ybSAud2lzaGxpc3QtaW4tc3RvY2ssXG4jeWl0aC13Y3dsLWZvcm0gLndpc2hsaXN0LW91dC1vZi1zdG9jayB7IG1pbi1oZWlnaHQ6IDMwcHg7IGRpc3BsYXk6IGlubGluZS1mbGV4ICFpbXBvcnRhbnQ7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGp1c3RpZnktY29udGVudDogY2VudGVyOyBnYXA6IDdweDsgcGFkZGluZzogMCAxMXB4OyBib3JkZXItcmFkaXVzOiA5OTlweDsgZm9udC1zaXplOiAxMnB4OyBmb250LXdlaWdodDogOTAwOyB9XG4jeWl0aC13Y3dsLWZvcm0gLndpc2hsaXN0LWluLXN0b2NrIHsgYmFja2dyb3VuZDogcmdiYSgyNCwxNjksODcsLjExKTsgY29sb3I6IHZhcigtLXdjMjQtc3VjY2Vzcyk7IH1cbiN5aXRoLXdjd2wtZm9ybSAud2lzaGxpc3QtaW4tc3RvY2s6OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXCI7IHdpZHRoOiA3cHg7IGhlaWdodDogN3B4OyBib3JkZXItcmFkaXVzOiA5OTlweDsgYmFja2dyb3VuZDogdmFyKC0td2MyNC1zdWNjZXNzKTsgfVxuI3lpdGgtd2N3bC1mb3JtIC5wcm9kdWN0LWFkZC10by1jYXJ0IHsgd2lkdGg6IDE4MHB4OyB9XG4jeWl0aC13Y3dsLWZvcm0gLnByb2R1Y3QtYWRkLXRvLWNhcnQgYS5hZGRfdG9fY2FydF9idXR0b24sXG4jeWl0aC13Y3dsLWZvcm0gLnByb2R1Y3QtYWRkLXRvLWNhcnQgYS5hZGRfdG9fY2FydCxcbiN5aXRoLXdjd2wtZm9ybSAucHJvZHVjdC1hZGQtdG8tY2FydCAuYWRkX3RvX2NhcnQgeyB3aWR0aDogMTAwJSAhaW1wb3J0YW50OyBtaW4taGVpZ2h0OiA0NHB4ICFpbXBvcnRhbnQ7IGRpc3BsYXk6IGlubGluZS1mbGV4ICFpbXBvcnRhbnQ7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGp1c3RpZnktY29udGVudDogY2VudGVyOyBwYWRkaW5nOiAwIDE2cHggIWltcG9ydGFudDsgYm9yZGVyOiAwICFpbXBvcnRhbnQ7IGJvcmRlci1yYWRpdXM6IDE0cHggIWltcG9ydGFudDsgYmFja2dyb3VuZDogdmFyKC0td2MyNC1hY2NlbnQpICFpbXBvcnRhbnQ7IGNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7IGZvbnQtc2l6ZTogMTNweCAhaW1wb3J0YW50OyBmb250LXdlaWdodDogOTUwICFpbXBvcnRhbnQ7IGxpbmUtaGVpZ2h0OiAxICFpbXBvcnRhbnQ7IHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50OyB0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDsgd2hpdGUtc3BhY2U6IG5vd3JhcCAhaW1wb3J0YW50OyBib3gtc2hhZG93OiAwIDEycHggMjRweCByZ2JhKDE2LDE3MSwxODIsLjI0KSAhaW1wb3J0YW50OyB9XG4jeWl0aC13Y3dsLWZvcm0gLnByb2R1Y3QtYWRkLXRvLWNhcnQgYS5hZGRfdG9fY2FydF9idXR0b246aG92ZXIsXG4jeWl0aC13Y3dsLWZvcm0gLnByb2R1Y3QtYWRkLXRvLWNhcnQgYS5hZGRfdG9fY2FydDpob3ZlciB7IGJhY2tncm91bmQ6IHZhcigtLXdjMjQtcHJpbWFyeSkgIWltcG9ydGFudDsgY29sb3I6ICNmZmYgIWltcG9ydGFudDsgYm94LXNoYWRvdzogMCAxNHB4IDI4cHggcmdiYSg5LDExMywxODMsLjIyKSAhaW1wb3J0YW50OyB9XG4jeWl0aC13Y3dsLWZvcm0gLnByb2R1Y3QtYWRkLXRvLWNhcnQgYS5hZGRlZF90b19jYXJ0LndjLWZvcndhcmQgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cbiN5aXRoLXdjd2wtZm9ybSAueWl0aF93Y3dsX3dpc2hsaXN0X2Zvb3RlciB7IGNsZWFyOiBib3RoICFpbXBvcnRhbnQ7IGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IG1hcmdpbi10b3A6IDM0cHggIWltcG9ydGFudDsgcGFkZGluZy10b3A6IDI2cHggIWltcG9ydGFudDsgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLXdjMjQtYm9yZGVyKSAhaW1wb3J0YW50OyB9XG4jeWl0aC13Y3dsLWZvcm0gLnlpdGgtd2N3bC1zaGFyZSxcbmJvZHkgPiAueWl0aC13Y3dsLXNoYXJlIHsgd2lkdGg6IC1tb3otZml0LWNvbnRlbnQgIWltcG9ydGFudDsgd2lkdGg6IC13ZWJraXQtZml0LWNvbnRlbnQgIWltcG9ydGFudDsgd2lkdGg6IGZpdC1jb250ZW50ICFpbXBvcnRhbnQ7IG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50OyBtYXJnaW46IDAgIWltcG9ydGFudDsgcGFkZGluZzogMThweCAyMHB4ICFpbXBvcnRhbnQ7IGJvcmRlci1yYWRpdXM6IDIwcHggIWltcG9ydGFudDsgYmFja2dyb3VuZDogdmFyKC0td2MyNC1zb2Z0KSAhaW1wb3J0YW50OyBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS13YzI0LWJvcmRlcikgIWltcG9ydGFudDsgYm94LXNoYWRvdzogMCAxMnB4IDMwcHggcmdiYSg3LDU5LDk1LC4wNykgIWltcG9ydGFudDsgfVxuI3lpdGgtd2N3bC1mb3JtIC55aXRoLXdjd2wtc2hhcmUtdGl0bGUsXG5ib2R5ID4gLnlpdGgtd2N3bC1zaGFyZSAueWl0aC13Y3dsLXNoYXJlLXRpdGxlIHsgbWFyZ2luOiAwIDAgMTJweCAhaW1wb3J0YW50OyBjb2xvcjogdmFyKC0td2MyNC10ZXh0KSAhaW1wb3J0YW50OyBmb250LXNpemU6IDAgIWltcG9ydGFudDsgZm9udC13ZWlnaHQ6IDk1MCAhaW1wb3J0YW50OyB9XG4jeWl0aC13Y3dsLWZvcm0gLnlpdGgtd2N3bC1zaGFyZS10aXRsZTo6YmVmb3JlLFxuYm9keSA+IC55aXRoLXdjd2wtc2hhcmUgLnlpdGgtd2N3bC1zaGFyZS10aXRsZTo6YmVmb3JlIHsgY29udGVudDogXCJEaXN0cmlidWllIGxpc3RhOlwiICFpbXBvcnRhbnQ7IGZvbnQtc2l6ZTogMTVweCAhaW1wb3J0YW50OyB9XG4jeWl0aC13Y3dsLWZvcm0gLnlpdGgtd2N3bC1zaGFyZSB1bCxcbmJvZHkgPiAueWl0aC13Y3dsLXNoYXJlIHVsIHsgZGlzcGxheTogZmxleCAhaW1wb3J0YW50OyBmbGV4LXdyYXA6IHdyYXAgIWltcG9ydGFudDsgZ2FwOiA5cHggIWltcG9ydGFudDsgbWFyZ2luOiAwICFpbXBvcnRhbnQ7IHBhZGRpbmc6IDAgIWltcG9ydGFudDsgbGlzdC1zdHlsZTogbm9uZSAhaW1wb3J0YW50OyB9XG4jeWl0aC13Y3dsLWZvcm0gLnlpdGgtd2N3bC1zaGFyZSBhLFxuYm9keSA+IC55aXRoLXdjd2wtc2hhcmUgYSB7IHdpZHRoOiA0MHB4ICFpbXBvcnRhbnQ7IGhlaWdodDogNDBweCAhaW1wb3J0YW50OyBtaW4td2lkdGg6IDQwcHggIWltcG9ydGFudDsgbWluLWhlaWdodDogNDBweCAhaW1wb3J0YW50OyBkaXNwbGF5OiBpbmxpbmUtZmxleCAhaW1wb3J0YW50OyBhbGlnbi1pdGVtczogY2VudGVyICFpbXBvcnRhbnQ7IGp1c3RpZnktY29udGVudDogY2VudGVyICFpbXBvcnRhbnQ7IHBhZGRpbmc6IDAgIWltcG9ydGFudDsgYm9yZGVyLXJhZGl1czogMTNweCAhaW1wb3J0YW50OyBiYWNrZ3JvdW5kOiAjZmZmICFpbXBvcnRhbnQ7IGNvbG9yOiB2YXIoLS13YzI0LXRleHQpICFpbXBvcnRhbnQ7IGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLXdjMjQtYm9yZGVyKSAhaW1wb3J0YW50OyB0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDsgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50OyB9XG4jeWl0aC13Y3dsLWZvcm0gLnlpdGgtd2N3bC1zaGFyZSBhOmhvdmVyLFxuYm9keSA+IC55aXRoLXdjd2wtc2hhcmUgYTpob3ZlciB7IGJhY2tncm91bmQ6IHZhcigtLXdjMjQtYWNjZW50KSAhaW1wb3J0YW50OyBjb2xvcjogI2ZmZiAhaW1wb3J0YW50OyBib3JkZXItY29sb3I6IHZhcigtLXdjMjQtYWNjZW50KSAhaW1wb3J0YW50OyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTJweCk7IH1cblxuLyogUXVpY2sgdmlldyBtb2RhbCAqL1xuI3lpdGgtcXVpY2stdmlldy1tb2RhbCAueWl0aC1xdWljay12aWV3LW92ZXJsYXkgeyBiYWNrZ3JvdW5kOiByZ2JhKDMsIDI4LCA0NiwgLjcyKSAhaW1wb3J0YW50OyBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoN3B4KSAhaW1wb3J0YW50OyAtd2Via2l0LWJhY2tkcm9wLWZpbHRlcjogYmx1cig3cHgpICFpbXBvcnRhbnQ7IH1cbiN5aXRoLXF1aWNrLXZpZXctbW9kYWwgLnlpdGgtd2Nxdi13cmFwcGVyIHsgcG9zaXRpb246IGZpeGVkICFpbXBvcnRhbnQ7IGxlZnQ6IDUwJSAhaW1wb3J0YW50OyB0b3A6IDUwJSAhaW1wb3J0YW50OyB3aWR0aDogbWluKDk2MHB4LCBjYWxjKDEwMHZ3IC0gMzZweCkpICFpbXBvcnRhbnQ7IGhlaWdodDogYXV0byAhaW1wb3J0YW50OyBtYXgtaGVpZ2h0OiBjYWxjKDEwMHZoIC0gNDJweCkgIWltcG9ydGFudDsgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSkgIWltcG9ydGFudDsgYm9yZGVyLXJhZGl1czogMjhweCAhaW1wb3J0YW50OyBiYWNrZ3JvdW5kOiAjZmZmICFpbXBvcnRhbnQ7IG92ZXJmbG93OiBoaWRkZW4gIWltcG9ydGFudDsgYm94LXNoYWRvdzogMCAzNHB4IDkwcHggcmdiYSgzLDI4LDQ2LC40MikgIWltcG9ydGFudDsgfVxuI3lpdGgtcXVpY2stdmlldy1tb2RhbCAueWl0aC13Y3F2LW1haW4geyBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDsgYm9yZGVyLXJhZGl1czogMjhweCAhaW1wb3J0YW50OyBiYWNrZ3JvdW5kOiAjZmZmICFpbXBvcnRhbnQ7IG92ZXJmbG93OiBoaWRkZW4gIWltcG9ydGFudDsgfVxuI3lpdGgtcXVpY2stdmlldy1tb2RhbCAueWl0aC1xdWljay12aWV3LWNvbnRlbnQgeyBtYXgtaGVpZ2h0OiBjYWxjKDEwMHZoIC0gNDJweCkgIWltcG9ydGFudDsgb3ZlcmZsb3cteTogYXV0byAhaW1wb3J0YW50OyBvdmVyZmxvdy14OiBoaWRkZW4gIWltcG9ydGFudDsgYmFja2dyb3VuZDogI2ZmZiAhaW1wb3J0YW50OyB9XG4jeWl0aC1xdWljay12aWV3LW1vZGFsIC55aXRoLXF1aWNrLXZpZXctY29udGVudCAucHJvZHVjdCA+IC5wcm9kdWN0LFxuI3lpdGgtcXVpY2stdmlldy1tb2RhbCAueWl0aC1xdWljay12aWV3LWNvbnRlbnQgLnByb2R1Y3QgLnByb2R1Y3QgeyBkaXNwbGF5OiBncmlkICFpbXBvcnRhbnQ7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogNDYlIDU0JSAhaW1wb3J0YW50OyBhbGlnbi1pdGVtczogc3RyZXRjaCAhaW1wb3J0YW50OyBtYXJnaW46IDAgIWltcG9ydGFudDsgcGFkZGluZzogMCAhaW1wb3J0YW50OyB9XG4jeWl0aC1xdWljay12aWV3LW1vZGFsIC5pbWFnZXMgeyB3aWR0aDogMTAwJSAhaW1wb3J0YW50OyBmbG9hdDogbm9uZSAhaW1wb3J0YW50OyBjbGVhcjogbm9uZSAhaW1wb3J0YW50OyBtYXJnaW46IDAgIWltcG9ydGFudDsgcGFkZGluZzogMzhweCAhaW1wb3J0YW50OyBiYWNrZ3JvdW5kOiByYWRpYWwtZ3JhZGllbnQoY2lyY2xlIGF0IDgyJSAxMiUsIHJnYmEoMTYsMTcxLDE4MiwuMTIpLCB0cmFuc3BhcmVudCAzNCUpLCBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCAjZmZmLCAjZjVmYmZkKSAhaW1wb3J0YW50OyBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCB2YXIoLS13YzI0LWJvcmRlcikgIWltcG9ydGFudDsgZGlzcGxheTogZmxleCAhaW1wb3J0YW50OyBhbGlnbi1pdGVtczogY2VudGVyICFpbXBvcnRhbnQ7IGp1c3RpZnktY29udGVudDogY2VudGVyICFpbXBvcnRhbnQ7IH1cbiN5aXRoLXF1aWNrLXZpZXctbW9kYWwgLmltYWdlcyBhIHsgd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgbWluLWhlaWdodDogMzgwcHggIWltcG9ydGFudDsgZGlzcGxheTogZmxleCAhaW1wb3J0YW50OyBhbGlnbi1pdGVtczogY2VudGVyICFpbXBvcnRhbnQ7IGp1c3RpZnktY29udGVudDogY2VudGVyICFpbXBvcnRhbnQ7IH1cbiN5aXRoLXF1aWNrLXZpZXctbW9kYWwgLmltYWdlcyBpbWcgeyB3aWR0aDogMTAwJSAhaW1wb3J0YW50OyBtYXgtd2lkdGg6IDMzMHB4ICFpbXBvcnRhbnQ7IGhlaWdodDogYXV0byAhaW1wb3J0YW50OyBtYXgtaGVpZ2h0OiAzNDBweCAhaW1wb3J0YW50OyAtby1vYmplY3QtZml0OiBjb250YWluICFpbXBvcnRhbnQ7IG9iamVjdC1maXQ6IGNvbnRhaW4gIWltcG9ydGFudDsgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgbWFyZ2luOiAwIGF1dG8gIWltcG9ydGFudDsgcGFkZGluZzogMThweCAhaW1wb3J0YW50OyBib3JkZXItcmFkaXVzOiAyNHB4ICFpbXBvcnRhbnQ7IGJhY2tncm91bmQ6ICNmZmYgIWltcG9ydGFudDsgYm94LXNoYWRvdzogMCAxOHB4IDQycHggcmdiYSg3LDU5LDk1LC4wOCkgIWltcG9ydGFudDsgfVxuI3lpdGgtcXVpY2stdmlldy1tb2RhbCAuc3VtbWFyeSxcbiN5aXRoLXF1aWNrLXZpZXctbW9kYWwgLmVudHJ5LXN1bW1hcnkgeyB3aWR0aDogMTAwJSAhaW1wb3J0YW50OyBmbG9hdDogbm9uZSAhaW1wb3J0YW50OyBjbGVhcjogbm9uZSAhaW1wb3J0YW50OyBtYXJnaW46IDAgIWltcG9ydGFudDsgcGFkZGluZzogNDJweCA0NHB4IDM2cHggIWltcG9ydGFudDsgYmFja2dyb3VuZDogI2ZmZiAhaW1wb3J0YW50OyB9XG4jeWl0aC1xdWljay12aWV3LW1vZGFsIC5wcm9kdWN0X3RpdGxlLFxuI3lpdGgtcXVpY2stdmlldy1tb2RhbCAuZW50cnktdGl0bGUgeyBtYXJnaW46IDAgNTBweCAwIDAgIWltcG9ydGFudDsgY29sb3I6IHZhcigtLXdjMjQtdGV4dCkgIWltcG9ydGFudDsgZm9udC1zaXplOiBjbGFtcCgyNXB4LCAyLjR2dywgMzRweCkgIWltcG9ydGFudDsgZm9udC13ZWlnaHQ6IDk1MCAhaW1wb3J0YW50OyBsaW5lLWhlaWdodDogMS4wOCAhaW1wb3J0YW50OyBsZXR0ZXItc3BhY2luZzogLS4wNGVtICFpbXBvcnRhbnQ7IH1cbiN5aXRoLXF1aWNrLXZpZXctbW9kYWwgLnByaWNlIHsgd2lkdGg6IC1tb3otZml0LWNvbnRlbnQgIWltcG9ydGFudDsgd2lkdGg6IC13ZWJraXQtZml0LWNvbnRlbnQgIWltcG9ydGFudDsgd2lkdGg6IGZpdC1jb250ZW50ICFpbXBvcnRhbnQ7IGRpc3BsYXk6IGlubGluZS1mbGV4ICFpbXBvcnRhbnQ7IG1hcmdpbjogMTRweCAwICFpbXBvcnRhbnQ7IHBhZGRpbmc6IDlweCAxNHB4ICFpbXBvcnRhbnQ7IGJvcmRlci1yYWRpdXM6IDk5OXB4ICFpbXBvcnRhbnQ7IGJhY2tncm91bmQ6IHJnYmEoMTYsMTcxLDE4MiwuMTQpICFpbXBvcnRhbnQ7IGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMTYsMTcxLDE4MiwuMzQpICFpbXBvcnRhbnQ7IGNvbG9yOiB2YXIoLS13YzI0LXRleHQpICFpbXBvcnRhbnQ7IGZvbnQtc2l6ZTogMjRweCAhaW1wb3J0YW50OyBmb250LXdlaWdodDogOTUwICFpbXBvcnRhbnQ7IGxpbmUtaGVpZ2h0OiAxICFpbXBvcnRhbnQ7IH1cbiN5aXRoLXF1aWNrLXZpZXctbW9kYWwgLndvb2NvbW1lcmNlLXByb2R1Y3QtZGV0YWlsc19fc2hvcnQtZGVzY3JpcHRpb24geyBtYXJnaW46IDAgMCAxNHB4ICFpbXBvcnRhbnQ7IHBhZGRpbmc6IDE3cHggMThweCAhaW1wb3J0YW50OyBib3JkZXItcmFkaXVzOiAxOHB4ICFpbXBvcnRhbnQ7IGJhY2tncm91bmQ6IHZhcigtLXdjMjQtc29mdCkgIWltcG9ydGFudDsgYm9yZGVyOiAxcHggc29saWQgdmFyKC0td2MyNC1ib3JkZXIpICFpbXBvcnRhbnQ7IH1cbiN5aXRoLXF1aWNrLXZpZXctbW9kYWwgLndvb2NvbW1lcmNlLXByb2R1Y3QtZGV0YWlsc19fc2hvcnQtZGVzY3JpcHRpb24gcCB7IG1hcmdpbjogMCAhaW1wb3J0YW50OyBjb2xvcjogdmFyKC0td2MyNC1tdXRlZCkgIWltcG9ydGFudDsgZm9udC1zaXplOiAxNXB4ICFpbXBvcnRhbnQ7IGxpbmUtaGVpZ2h0OiAxLjYyICFpbXBvcnRhbnQ7IH1cbiN5aXRoLXF1aWNrLXZpZXctbW9kYWwgZm9ybS5jYXJ0IHsgd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgZGlzcGxheTogZ3JpZCAhaW1wb3J0YW50OyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDEwNHB4IG1pbm1heCgwLCAxZnIpICFpbXBvcnRhbnQ7IGdhcDogMTJweCAhaW1wb3J0YW50OyBhbGlnbi1pdGVtczogc3RyZXRjaCAhaW1wb3J0YW50OyBtYXJnaW46IDRweCAwIDJweCAhaW1wb3J0YW50OyBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7IGZsb2F0OiBub25lICFpbXBvcnRhbnQ7IGNsZWFyOiBib3RoICFpbXBvcnRhbnQ7IH1cbiN5aXRoLXF1aWNrLXZpZXctbW9kYWwgZm9ybS5jYXJ0IC5xdWFudGl0eSxcbiN5aXRoLXF1aWNrLXZpZXctbW9kYWwgZm9ybS5jYXJ0IC5xdWFudGl0eSBpbnB1dC5xdHkgeyB3aWR0aDogMTA0cHggIWltcG9ydGFudDsgbWF4LXdpZHRoOiAxMDRweCAhaW1wb3J0YW50OyBtaW4td2lkdGg6IDEwNHB4ICFpbXBvcnRhbnQ7IGhlaWdodDogNTJweCAhaW1wb3J0YW50OyBtaW4taGVpZ2h0OiA1MnB4ICFpbXBvcnRhbnQ7IH1cbiN5aXRoLXF1aWNrLXZpZXctbW9kYWwgZm9ybS5jYXJ0IC5xdWFudGl0eSBpbnB1dC5xdHkgeyBib3JkZXItcmFkaXVzOiAxNXB4ICFpbXBvcnRhbnQ7IGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLXdjMjQtYm9yZGVyKSAhaW1wb3J0YW50OyBiYWNrZ3JvdW5kOiAjZmZmICFpbXBvcnRhbnQ7IGNvbG9yOiB2YXIoLS13YzI0LXRleHQpICFpbXBvcnRhbnQ7IGZvbnQtc2l6ZTogMTZweCAhaW1wb3J0YW50OyBmb250LXdlaWdodDogOTUwICFpbXBvcnRhbnQ7IHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50OyB9XG4jeWl0aC1xdWljay12aWV3LW1vZGFsIC5zaW5nbGVfYWRkX3RvX2NhcnRfYnV0dG9uLFxuI3lpdGgtcXVpY2stdmlldy1tb2RhbCAuYnV0dG9uLmFsdCB7IHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IGhlaWdodDogNTJweCAhaW1wb3J0YW50OyBtaW4taGVpZ2h0OiA1MnB4ICFpbXBvcnRhbnQ7IGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDsgYWxpZ24taXRlbXM6IGNlbnRlciAhaW1wb3J0YW50OyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlciAhaW1wb3J0YW50OyBib3JkZXI6IDAgIWltcG9ydGFudDsgYm9yZGVyLXJhZGl1czogMTVweCAhaW1wb3J0YW50OyBiYWNrZ3JvdW5kOiB2YXIoLS13YzI0LWFjY2VudCkgIWltcG9ydGFudDsgY29sb3I6ICNmZmYgIWltcG9ydGFudDsgZm9udC1zaXplOiAxNXB4ICFpbXBvcnRhbnQ7IGZvbnQtd2VpZ2h0OiA5NTAgIWltcG9ydGFudDsgYm94LXNoYWRvdzogMCAxNHB4IDI4cHggcmdiYSgxNiwxNzEsMTgyLC4yNSkgIWltcG9ydGFudDsgfVxuI3lpdGgtcXVpY2stdmlldy1tb2RhbCAuc2luZ2xlX2FkZF90b19jYXJ0X2J1dHRvbjo6YmVmb3JlLFxuI3lpdGgtcXVpY2stdmlldy1tb2RhbCAuc2luZ2xlX2FkZF90b19jYXJ0X2J1dHRvbjo6YWZ0ZXIsXG4jeWl0aC1xdWljay12aWV3LW1vZGFsIC5idXR0b24uYWx0OjpiZWZvcmUsXG4jeWl0aC1xdWljay12aWV3LW1vZGFsIC5idXR0b24uYWx0OjphZnRlciB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgY29udGVudDogbm9uZSAhaW1wb3J0YW50OyB9XG4jeWl0aC1xdWljay12aWV3LW1vZGFsIC5zaW5nbGVfYWRkX3RvX2NhcnRfYnV0dG9uOmhvdmVyLFxuI3lpdGgtcXVpY2stdmlldy1tb2RhbCAuYnV0dG9uLmFsdDpob3ZlciB7IGJhY2tncm91bmQ6IHZhcigtLXdjMjQtcHJpbWFyeSkgIWltcG9ydGFudDsgY29sb3I6ICNmZmYgIWltcG9ydGFudDsgfVxuI3lpdGgtcXVpY2stdmlldy1tb2RhbCAucHJvZHVjdF9tZXRhIHsgZGlzcGxheTogZ3JpZCAhaW1wb3J0YW50OyBnYXA6IDhweCAhaW1wb3J0YW50OyBtYXJnaW46IDE2cHggMCAwICFpbXBvcnRhbnQ7IHBhZGRpbmctdG9wOiAxNnB4ICFpbXBvcnRhbnQ7IGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS13YzI0LWJvcmRlcikgIWltcG9ydGFudDsgY29sb3I6IHZhcigtLXdjMjQtbXV0ZWQpICFpbXBvcnRhbnQ7IGZvbnQtc2l6ZTogMTRweCAhaW1wb3J0YW50OyBsaW5lLWhlaWdodDogMS40NSAhaW1wb3J0YW50OyB9XG4jeWl0aC1xdWljay12aWV3LW1vZGFsIC5wcm9kdWN0X21ldGEgc3BhbiB7IGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IGNvbG9yOiB2YXIoLS13YzI0LW11dGVkKSAhaW1wb3J0YW50OyB9XG4jeWl0aC1xdWljay12aWV3LW1vZGFsIC5wcm9kdWN0X21ldGEgYSxcbiN5aXRoLXF1aWNrLXZpZXctbW9kYWwgLnByb2R1Y3RfbWV0YSAuc2t1IHsgY29sb3I6IHZhcigtLXdjMjQtcHJpbWFyeSkgIWltcG9ydGFudDsgZm9udC13ZWlnaHQ6IDg1MCAhaW1wb3J0YW50OyB0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDsgfVxuI3lpdGgtcXVpY2stdmlldy1tb2RhbCAueWl0aC13Y3F2LWhlYWQgeyBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDsgdG9wOiAxNHB4ICFpbXBvcnRhbnQ7IHJpZ2h0OiAxNHB4ICFpbXBvcnRhbnQ7IHotaW5kZXg6IDQwICFpbXBvcnRhbnQ7IG1hcmdpbjogMCAhaW1wb3J0YW50OyBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7IH1cbiN5aXRoLXF1aWNrLXZpZXctbW9kYWwgLnlpdGgtcXVpY2stdmlldy1jbG9zZSB7IHdpZHRoOiA0MnB4ICFpbXBvcnRhbnQ7IGhlaWdodDogNDJweCAhaW1wb3J0YW50OyBtaW4td2lkdGg6IDQycHggIWltcG9ydGFudDsgbWluLWhlaWdodDogNDJweCAhaW1wb3J0YW50OyBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7IGFsaWduLWl0ZW1zOiBjZW50ZXIgIWltcG9ydGFudDsganVzdGlmeS1jb250ZW50OiBjZW50ZXIgIWltcG9ydGFudDsgcGFkZGluZzogMCAhaW1wb3J0YW50OyBib3JkZXItcmFkaXVzOiA5OTlweCAhaW1wb3J0YW50OyBiYWNrZ3JvdW5kOiAjZmZmICFpbXBvcnRhbnQ7IGNvbG9yOiB2YXIoLS13YzI0LXRleHQpICFpbXBvcnRhbnQ7IGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLXdjMjQtYm9yZGVyKSAhaW1wb3J0YW50OyBib3gtc2hhZG93OiAwIDEwcHggMjRweCByZ2JhKDcsNTksOTUsLjEyKSAhaW1wb3J0YW50OyB0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDsgfVxuI3lpdGgtcXVpY2stdmlldy1tb2RhbCAueWl0aC1xdWljay12aWV3LWNsb3NlOmhvdmVyIHsgYmFja2dyb3VuZDogdmFyKC0td2MyNC1kYW5nZXIpICFpbXBvcnRhbnQ7IGNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7IGJvcmRlci1jb2xvcjogdmFyKC0td2MyNC1kYW5nZXIpICFpbXBvcnRhbnQ7IH1cbiN5aXRoLXF1aWNrLXZpZXctbW9kYWwgLnlpdGgtcXVpY2stdmlldy1jbG9zZSBzdmcgeyB3aWR0aDogMjJweCAhaW1wb3J0YW50OyBoZWlnaHQ6IDIycHggIWltcG9ydGFudDsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENhcnQgYW5kIGNoZWNrb3V0IGJsb2NrIHBhZ2VzXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbmJvZHkgLndwLWJsb2NrLXdvb2NvbW1lcmNlLWNhcnQsXG5ib2R5IC53cC1ibG9jay13b29jb21tZXJjZS1jaGVja291dCB7IHdpZHRoOiBtaW4oMTAwJSAtIDMycHgsIDEzMjBweCkgIWltcG9ydGFudDsgbWFyZ2luOiAzNHB4IGF1dG8gODBweCAhaW1wb3J0YW50OyBjb2xvcjogdmFyKC0td2MyNC10ZXh0KSAhaW1wb3J0YW50OyB9XG5ib2R5IC53Yy1ibG9jay1jb21wb25lbnRzLXNpZGViYXItbGF5b3V0LndjLWJsb2NrLWNhcnQsXG5ib2R5IC53Yy1ibG9jay1jb21wb25lbnRzLXNpZGViYXItbGF5b3V0LndjLWJsb2NrLWNoZWNrb3V0IHsgZGlzcGxheTogZ3JpZCAhaW1wb3J0YW50OyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IG1pbm1heCgwLCAxZnIpIDM5MHB4ICFpbXBvcnRhbnQ7IGdhcDogMjhweCAhaW1wb3J0YW50OyBhbGlnbi1pdGVtczogc3RhcnQgIWltcG9ydGFudDsgfVxuYm9keSAud2MtYmxvY2stY2FydF9fbWFpbixcbmJvZHkgLndjLWJsb2NrLWNoZWNrb3V0X19tYWluLFxuYm9keSAud2MtYmxvY2stY2FydF9fc2lkZWJhcixcbmJvZHkgLndjLWJsb2NrLWNoZWNrb3V0X19zaWRlYmFyIHsgd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgcGFkZGluZzogMjhweCAhaW1wb3J0YW50OyBib3JkZXItcmFkaXVzOiAyOHB4ICFpbXBvcnRhbnQ7IGJhY2tncm91bmQ6ICNmZmYgIWltcG9ydGFudDsgYm9yZGVyOiAxcHggc29saWQgdmFyKC0td2MyNC1ib3JkZXIpICFpbXBvcnRhbnQ7IGJveC1zaGFkb3c6IDAgMThweCA0OHB4IHJnYmEoNyw1OSw5NSwuMDYpICFpbXBvcnRhbnQ7IH1cbmJvZHkgLndjLWJsb2NrLWNhcnRfX3NpZGViYXIsXG5ib2R5IC53Yy1ibG9jay1jaGVja291dF9fc2lkZWJhciB7IHBvc2l0aW9uOiAtd2Via2l0LXN0aWNreSAhaW1wb3J0YW50OyBwb3NpdGlvbjogc3RpY2t5ICFpbXBvcnRhbnQ7IHRvcDogMjRweCAhaW1wb3J0YW50OyBiYWNrZ3JvdW5kOiByYWRpYWwtZ3JhZGllbnQoY2lyY2xlIGF0IDkwJSAwJSwgcmdiYSgxNiwxNzEsMTgyLC4xMyksIHRyYW5zcGFyZW50IDMyJSksICNmZmYgIWltcG9ydGFudDsgfVxuYm9keSB0YWJsZS53Yy1ibG9jay1jYXJ0LWl0ZW1zIHsgd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgbWFyZ2luOiAwICFpbXBvcnRhbnQ7IGJvcmRlci1jb2xsYXBzZTogc2VwYXJhdGUgIWltcG9ydGFudDsgYm9yZGVyLXNwYWNpbmc6IDAgMTRweCAhaW1wb3J0YW50OyBib3JkZXI6IDAgIWltcG9ydGFudDsgfVxuYm9keSB0YWJsZS53Yy1ibG9jay1jYXJ0LWl0ZW1zIHRoZWFkIHRoIHsgcGFkZGluZzogMCAxNHB4IDhweCAhaW1wb3J0YW50OyBib3JkZXI6IDAgIWltcG9ydGFudDsgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDsgY29sb3I6IHZhcigtLXdjMjQtbXV0ZWQpICFpbXBvcnRhbnQ7IGZvbnQtc2l6ZTogMTJweCAhaW1wb3J0YW50OyBmb250LXdlaWdodDogOTAwICFpbXBvcnRhbnQ7IHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2UgIWltcG9ydGFudDsgbGV0dGVyLXNwYWNpbmc6IC4wNGVtICFpbXBvcnRhbnQ7IH1cbmJvZHkgdGFibGUud2MtYmxvY2stY2FydC1pdGVtcyB0Ym9keSB0ci53Yy1ibG9jay1jYXJ0LWl0ZW1zX19yb3cgeyBiYWNrZ3JvdW5kOiAjZmZmICFpbXBvcnRhbnQ7IGJvcmRlci1yYWRpdXM6IDIycHggIWltcG9ydGFudDsgYm94LXNoYWRvdzogMCAxMHB4IDI2cHggcmdiYSg3LDU5LDk1LC4wNTUpICFpbXBvcnRhbnQ7IHRyYW5zaXRpb246IHRyYW5zZm9ybSAuMnMgZWFzZSwgYm94LXNoYWRvdyAuMnMgZWFzZSAhaW1wb3J0YW50OyB9XG5ib2R5IHRhYmxlLndjLWJsb2NrLWNhcnQtaXRlbXMgdGJvZHkgdHIud2MtYmxvY2stY2FydC1pdGVtc19fcm93OmhvdmVyIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0ycHgpICFpbXBvcnRhbnQ7IGJveC1zaGFkb3c6IDAgMTZweCAzNnB4IHJnYmEoNyw1OSw5NSwuMDk1KSAhaW1wb3J0YW50OyB9XG5ib2R5IHRhYmxlLndjLWJsb2NrLWNhcnQtaXRlbXMgdGJvZHkgdGQgeyBwYWRkaW5nOiAxOHB4IDE0cHggIWltcG9ydGFudDsgYm9yZGVyOiAwICFpbXBvcnRhbnQ7IGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS13YzI0LWJvcmRlcikgIWltcG9ydGFudDsgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLXdjMjQtYm9yZGVyKSAhaW1wb3J0YW50OyBiYWNrZ3JvdW5kOiAjZmZmICFpbXBvcnRhbnQ7IHZlcnRpY2FsLWFsaWduOiBtaWRkbGUgIWltcG9ydGFudDsgfVxuYm9keSB0YWJsZS53Yy1ibG9jay1jYXJ0LWl0ZW1zIHRib2R5IHRkOmZpcnN0LWNoaWxkIHsgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCB2YXIoLS13YzI0LWJvcmRlcikgIWltcG9ydGFudDsgYm9yZGVyLXJhZGl1czogMjJweCAwIDAgMjJweCAhaW1wb3J0YW50OyB9XG5ib2R5IHRhYmxlLndjLWJsb2NrLWNhcnQtaXRlbXMgdGJvZHkgdGQ6bGFzdC1jaGlsZCB7IGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHZhcigtLXdjMjQtYm9yZGVyKSAhaW1wb3J0YW50OyBib3JkZXItcmFkaXVzOiAwIDIycHggMjJweCAwICFpbXBvcnRhbnQ7IH1cbmJvZHkgLndjLWJsb2NrLWNhcnQtaXRlbV9faW1hZ2UgeyB3aWR0aDogMTEycHggIWltcG9ydGFudDsgfVxuYm9keSAud2MtYmxvY2stY2FydC1pdGVtX19pbWFnZSBhIHsgd2lkdGg6IDkycHggIWltcG9ydGFudDsgaGVpZ2h0OiA5MnB4ICFpbXBvcnRhbnQ7IGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDsgYWxpZ24taXRlbXM6IGNlbnRlciAhaW1wb3J0YW50OyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlciAhaW1wb3J0YW50OyBib3JkZXItcmFkaXVzOiAxOHB4ICFpbXBvcnRhbnQ7IGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsICNmZmYsICNmNWZiZmQpICFpbXBvcnRhbnQ7IGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLXdjMjQtYm9yZGVyKSAhaW1wb3J0YW50OyBvdmVyZmxvdzogaGlkZGVuICFpbXBvcnRhbnQ7IH1cbmJvZHkgLndjLWJsb2NrLWNhcnQtaXRlbV9faW1hZ2UgaW1nIHsgd2lkdGg6IDc4cHggIWltcG9ydGFudDsgaGVpZ2h0OiA3OHB4ICFpbXBvcnRhbnQ7IC1vLW9iamVjdC1maXQ6IGNvbnRhaW4gIWltcG9ydGFudDsgb2JqZWN0LWZpdDogY29udGFpbiAhaW1wb3J0YW50OyBwYWRkaW5nOiA1cHggIWltcG9ydGFudDsgbWFyZ2luOiAwICFpbXBvcnRhbnQ7IH1cbmJvZHkgLndjLWJsb2NrLWNvbXBvbmVudHMtcHJvZHVjdC1uYW1lIHsgY29sb3I6IHZhcigtLXdjMjQtdGV4dCkgIWltcG9ydGFudDsgZm9udC1zaXplOiAxNnB4ICFpbXBvcnRhbnQ7IGZvbnQtd2VpZ2h0OiA5NTAgIWltcG9ydGFudDsgbGluZS1oZWlnaHQ6IDEuMyAhaW1wb3J0YW50OyB0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDsgfVxuYm9keSAud2MtYmxvY2stY29tcG9uZW50cy1wcm9kdWN0LXByaWNlLFxuYm9keSAud2MtYmxvY2stY29tcG9uZW50cy1wcm9kdWN0LXByaWNlX192YWx1ZSB7IGNvbG9yOiB2YXIoLS13YzI0LXRleHQpICFpbXBvcnRhbnQ7IGZvbnQtc2l6ZTogMTVweCAhaW1wb3J0YW50OyBmb250LXdlaWdodDogOTAwICFpbXBvcnRhbnQ7IH1cbmJvZHkgLndjLWJsb2NrLWNvbXBvbmVudHMtcHJvZHVjdC1tZXRhZGF0YSB7IGNvbG9yOiB2YXIoLS13YzI0LW11dGVkKSAhaW1wb3J0YW50OyBmb250LXNpemU6IDEzcHggIWltcG9ydGFudDsgbGluZS1oZWlnaHQ6IDEuNSAhaW1wb3J0YW50OyB9XG5ib2R5IC53Yy1ibG9jay1jb21wb25lbnRzLXByb2R1Y3QtbWV0YWRhdGEgcCB7IG1hcmdpbjogMCAhaW1wb3J0YW50OyB9XG5ib2R5IC53Yy1ibG9jay1jYXJ0LWl0ZW1fX3RvdGFsIHsgd2lkdGg6IDE1MHB4ICFpbXBvcnRhbnQ7IHRleHQtYWxpZ246IHJpZ2h0ICFpbXBvcnRhbnQ7IH1cbmJvZHkgLndjLWJsb2NrLWNhcnQtaXRlbV9fdG90YWwgLndjLWJsb2NrLWNvbXBvbmVudHMtcHJvZHVjdC1wcmljZV9fdmFsdWUgeyBmb250LXNpemU6IDE3cHggIWltcG9ydGFudDsgZm9udC13ZWlnaHQ6IDk1MCAhaW1wb3J0YW50OyB9XG5ib2R5IC53Yy1ibG9jay1jYXJ0LWl0ZW1fX3F1YW50aXR5IHsgZGlzcGxheTogZmxleCAhaW1wb3J0YW50OyBhbGlnbi1pdGVtczogY2VudGVyICFpbXBvcnRhbnQ7IGdhcDogMTJweCAhaW1wb3J0YW50OyBtYXJnaW4tdG9wOiA2cHggIWltcG9ydGFudDsgfVxuYm9keSAud2MtYmxvY2stY29tcG9uZW50cy1xdWFudGl0eS1zZWxlY3RvciB7IHdpZHRoOiAxMjZweCAhaW1wb3J0YW50OyBoZWlnaHQ6IDQycHggIWltcG9ydGFudDsgZGlzcGxheTogZ3JpZCAhaW1wb3J0YW50OyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDM2cHggMWZyIDM2cHggIWltcG9ydGFudDsgYWxpZ24taXRlbXM6IGNlbnRlciAhaW1wb3J0YW50OyBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS13YzI0LWJvcmRlcikgIWltcG9ydGFudDsgYm9yZGVyLXJhZGl1czogMTRweCAhaW1wb3J0YW50OyBiYWNrZ3JvdW5kOiAjZmZmICFpbXBvcnRhbnQ7IG92ZXJmbG93OiBoaWRkZW4gIWltcG9ydGFudDsgfVxuYm9keSAud2MtYmxvY2stY29tcG9uZW50cy1xdWFudGl0eS1zZWxlY3Rvcjo6YWZ0ZXIgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cbmJvZHkgLndjLWJsb2NrLWNvbXBvbmVudHMtcXVhbnRpdHktc2VsZWN0b3JfX2lucHV0IHsgd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgaGVpZ2h0OiA0MHB4ICFpbXBvcnRhbnQ7IHBhZGRpbmc6IDAgIWltcG9ydGFudDsgYm9yZGVyOiAwICFpbXBvcnRhbnQ7IGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7IGNvbG9yOiB2YXIoLS13YzI0LXRleHQpICFpbXBvcnRhbnQ7IGZvbnQtc2l6ZTogMTVweCAhaW1wb3J0YW50OyBmb250LXdlaWdodDogOTUwICFpbXBvcnRhbnQ7IHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50OyBvcmRlcjogMiAhaW1wb3J0YW50OyBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7IG91dGxpbmU6IG5vbmUgIWltcG9ydGFudDsgfVxuYm9keSAud2MtYmxvY2stY29tcG9uZW50cy1xdWFudGl0eS1zZWxlY3Rvcl9fYnV0dG9uIHsgd2lkdGg6IDM2cHggIWltcG9ydGFudDsgaGVpZ2h0OiA0MHB4ICFpbXBvcnRhbnQ7IG1pbi13aWR0aDogMzZweCAhaW1wb3J0YW50OyBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7IGFsaWduLWl0ZW1zOiBjZW50ZXIgIWltcG9ydGFudDsganVzdGlmeS1jb250ZW50OiBjZW50ZXIgIWltcG9ydGFudDsgcGFkZGluZzogMCAhaW1wb3J0YW50OyBib3JkZXI6IDAgIWltcG9ydGFudDsgYmFja2dyb3VuZDogdmFyKC0td2MyNC1zb2Z0KSAhaW1wb3J0YW50OyBjb2xvcjogdmFyKC0td2MyNC10ZXh0KSAhaW1wb3J0YW50OyBmb250LXNpemU6IDE4cHggIWltcG9ydGFudDsgZm9udC13ZWlnaHQ6IDk1MCAhaW1wb3J0YW50OyBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7IH1cbmJvZHkgLndjLWJsb2NrLWNvbXBvbmVudHMtcXVhbnRpdHktc2VsZWN0b3JfX2J1dHRvbi0tbWludXMgeyBvcmRlcjogMSAhaW1wb3J0YW50OyB9XG5ib2R5IC53Yy1ibG9jay1jb21wb25lbnRzLXF1YW50aXR5LXNlbGVjdG9yX19idXR0b24tLXBsdXMgeyBvcmRlcjogMyAhaW1wb3J0YW50OyB9XG5ib2R5IC53Yy1ibG9jay1jb21wb25lbnRzLXF1YW50aXR5LXNlbGVjdG9yX19idXR0b246aG92ZXI6bm90KDpkaXNhYmxlZCkgeyBiYWNrZ3JvdW5kOiB2YXIoLS13YzI0LWFjY2VudCkgIWltcG9ydGFudDsgY29sb3I6ICNmZmYgIWltcG9ydGFudDsgfVxuYm9keSAud2MtYmxvY2stY2FydC1pdGVtX19yZW1vdmUtbGluayB7IHdpZHRoOiA0MnB4ICFpbXBvcnRhbnQ7IGhlaWdodDogNDJweCAhaW1wb3J0YW50OyBtaW4td2lkdGg6IDQycHggIWltcG9ydGFudDsgZGlzcGxheTogaW5saW5lLWZsZXggIWltcG9ydGFudDsgYWxpZ24taXRlbXM6IGNlbnRlciAhaW1wb3J0YW50OyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlciAhaW1wb3J0YW50OyBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7IGJvcmRlci1yYWRpdXM6IDE0cHggIWltcG9ydGFudDsgYmFja2dyb3VuZDogI2ZmZjBmMSAhaW1wb3J0YW50OyBjb2xvcjogdmFyKC0td2MyNC1kYW5nZXIpICFpbXBvcnRhbnQ7IGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjQwLDYsMjAsLjE2KSAhaW1wb3J0YW50OyBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7IH1cbmJvZHkgLndjLWJsb2NrLWNhcnQtaXRlbV9fcmVtb3ZlLWxpbms6aG92ZXIgeyBiYWNrZ3JvdW5kOiB2YXIoLS13YzI0LWRhbmdlcikgIWltcG9ydGFudDsgY29sb3I6ICNmZmYgIWltcG9ydGFudDsgYm9yZGVyLWNvbG9yOiB2YXIoLS13YzI0LWRhbmdlcikgIWltcG9ydGFudDsgfVxuYm9keSAud2MtYmxvY2stY2FydF9fdG90YWxzLXRpdGxlLFxuYm9keSAud2MtYmxvY2stY29tcG9uZW50cy1jaGVja291dC1vcmRlci1zdW1tYXJ5X190aXRsZS10ZXh0IHsgY29sb3I6IHZhcigtLXdjMjQtdGV4dCkgIWltcG9ydGFudDsgZm9udC1zaXplOiAyNnB4ICFpbXBvcnRhbnQ7IGZvbnQtd2VpZ2h0OiA5NTAgIWltcG9ydGFudDsgbGluZS1oZWlnaHQ6IDEuMSAhaW1wb3J0YW50OyBsZXR0ZXItc3BhY2luZzogLS4wMzVlbSAhaW1wb3J0YW50OyB9XG5ib2R5IC53Yy1ibG9jay1jb21wb25lbnRzLXBhbmVsX19idXR0b24geyBtaW4taGVpZ2h0OiA0NnB4ICFpbXBvcnRhbnQ7IGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDsgYWxpZ24taXRlbXM6IGNlbnRlciAhaW1wb3J0YW50OyBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW4gIWltcG9ydGFudDsgcGFkZGluZzogMCAxNHB4ICFpbXBvcnRhbnQ7IGJvcmRlci1yYWRpdXM6IDE0cHggIWltcG9ydGFudDsgYmFja2dyb3VuZDogdmFyKC0td2MyNC1zb2Z0KSAhaW1wb3J0YW50OyBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS13YzI0LWJvcmRlcikgIWltcG9ydGFudDsgY29sb3I6IHZhcigtLXdjMjQtdGV4dCkgIWltcG9ydGFudDsgZm9udC1zaXplOiAxNHB4ICFpbXBvcnRhbnQ7IGZvbnQtd2VpZ2h0OiA5MDAgIWltcG9ydGFudDsgfVxuYm9keSAud2MtYmxvY2stY29tcG9uZW50cy10b3RhbHMtd3JhcHBlciB7IHBhZGRpbmc6IDE2cHggMCAhaW1wb3J0YW50OyBib3JkZXItY29sb3I6IHZhcigtLXdjMjQtYm9yZGVyKSAhaW1wb3J0YW50OyB9XG5ib2R5IC53Yy1ibG9jay1jb21wb25lbnRzLXRvdGFscy1pdGVtX19sYWJlbCB7IGNvbG9yOiB2YXIoLS13YzI0LW11dGVkKSAhaW1wb3J0YW50OyBmb250LXNpemU6IDE0cHggIWltcG9ydGFudDsgZm9udC13ZWlnaHQ6IDkwMCAhaW1wb3J0YW50OyB9XG5ib2R5IC53Yy1ibG9jay1jb21wb25lbnRzLXRvdGFscy1pdGVtX192YWx1ZSxcbmJvZHkgLndjLWJsb2NrLWNvbXBvbmVudHMtdG90YWxzLWZvb3Rlci1pdGVtLXRheC12YWx1ZSB7IGNvbG9yOiB2YXIoLS13YzI0LXRleHQpICFpbXBvcnRhbnQ7IGZvbnQtc2l6ZTogMjhweCAhaW1wb3J0YW50OyBmb250LXdlaWdodDogOTUwICFpbXBvcnRhbnQ7IGxpbmUtaGVpZ2h0OiAxLjEgIWltcG9ydGFudDsgfVxuYm9keSAud2MtYmxvY2stY2FydF9fc3VibWl0LWJ1dHRvbixcbmJvZHkgLndjLWJsb2NrLWNvbXBvbmVudHMtYnV0dG9uLndjLWJsb2NrLWNhcnRfX3N1Ym1pdC1idXR0b24sXG5ib2R5IC53Yy1ibG9jay1jb21wb25lbnRzLWNoZWNrb3V0LXBsYWNlLW9yZGVyLWJ1dHRvbiB7IG1pbi1oZWlnaHQ6IDU2cHggIWltcG9ydGFudDsgZGlzcGxheTogZmxleCAhaW1wb3J0YW50OyBhbGlnbi1pdGVtczogY2VudGVyICFpbXBvcnRhbnQ7IGp1c3RpZnktY29udGVudDogY2VudGVyICFpbXBvcnRhbnQ7IGJvcmRlcjogMCAhaW1wb3J0YW50OyBib3JkZXItcmFkaXVzOiAxNnB4ICFpbXBvcnRhbnQ7IGJhY2tncm91bmQ6IHZhcigtLXdjMjQtYWNjZW50KSAhaW1wb3J0YW50OyBjb2xvcjogI2ZmZiAhaW1wb3J0YW50OyBib3gtc2hhZG93OiAwIDE0cHggMjhweCByZ2JhKDE2LDE3MSwxODIsLjI2KSAhaW1wb3J0YW50OyB0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDsgfVxuYm9keSAud2MtYmxvY2stY2FydF9fc3VibWl0LWJ1dHRvbjpob3ZlcixcbmJvZHkgLndjLWJsb2NrLWNvbXBvbmVudHMtYnV0dG9uLndjLWJsb2NrLWNhcnRfX3N1Ym1pdC1idXR0b246aG92ZXIsXG5ib2R5IC53Yy1ibG9jay1jb21wb25lbnRzLWNoZWNrb3V0LXBsYWNlLW9yZGVyLWJ1dHRvbjpob3ZlciB7IGJhY2tncm91bmQ6IHZhcigtLXdjMjQtcHJpbWFyeSkgIWltcG9ydGFudDsgY29sb3I6ICNmZmYgIWltcG9ydGFudDsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xcHgpICFpbXBvcnRhbnQ7IH1cbmJvZHkgLndjLWJsb2NrLWNvbXBvbmVudHMtYnV0dG9uX190ZXh0LFxuYm9keSAud2MtYmxvY2stY29tcG9uZW50cy1jaGVja291dC1wbGFjZS1vcmRlci1idXR0b25fX3RleHQgeyBjb2xvcjogaW5oZXJpdCAhaW1wb3J0YW50OyBmb250LXNpemU6IDE1cHggIWltcG9ydGFudDsgZm9udC13ZWlnaHQ6IDk1MCAhaW1wb3J0YW50OyBsaW5lLWhlaWdodDogMS4xNSAhaW1wb3J0YW50OyB9XG5cbi8qIENvdXBvbiBmb3JtcyAqL1xuYm9keSAud3AtYmxvY2std29vY29tbWVyY2UtY2FydCAud2MtYmxvY2stY29tcG9uZW50cy10b3RhbHMtY291cG9uX19mb3JtLFxuYm9keSAud3AtYmxvY2std29vY29tbWVyY2UtY2hlY2tvdXQgLndjLWJsb2NrLWNvbXBvbmVudHMtdG90YWxzLWNvdXBvbl9fZm9ybSB7IGRpc3BsYXk6IGdyaWQgIWltcG9ydGFudDsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBtaW5tYXgoMCwgMWZyKSAxMTJweCAhaW1wb3J0YW50OyBnYXA6IDEwcHggIWltcG9ydGFudDsgbWFyZ2luOiAxNHB4IDAgMCAhaW1wb3J0YW50OyBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7IGFsaWduLWl0ZW1zOiBzdHJldGNoICFpbXBvcnRhbnQ7IH1cbmJvZHkgLndwLWJsb2NrLXdvb2NvbW1lcmNlLWNhcnQgLndjLWJsb2NrLWNvbXBvbmVudHMtdGV4dC1pbnB1dCxcbmJvZHkgLndwLWJsb2NrLXdvb2NvbW1lcmNlLWNoZWNrb3V0IC53Yy1ibG9jay1jb21wb25lbnRzLXRleHQtaW5wdXQgeyBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDsgbWFyZ2luOiAwICFpbXBvcnRhbnQ7IH1cbmJvZHkgLndwLWJsb2NrLXdvb2NvbW1lcmNlLWNhcnQgLndjLWJsb2NrLWNvbXBvbmVudHMtdGV4dC1pbnB1dCBpbnB1dCxcbmJvZHkgLndwLWJsb2NrLXdvb2NvbW1lcmNlLWNoZWNrb3V0IC53Yy1ibG9jay1jb21wb25lbnRzLXRleHQtaW5wdXQgaW5wdXQsXG5ib2R5IC53cC1ibG9jay13b29jb21tZXJjZS1jYXJ0IC53Yy1ibG9jay1jb21wb25lbnRzLXRvdGFscy1jb3Vwb25fX2lucHV0IGlucHV0LFxuYm9keSAud3AtYmxvY2std29vY29tbWVyY2UtY2hlY2tvdXQgLndjLWJsb2NrLWNvbXBvbmVudHMtdG90YWxzLWNvdXBvbl9faW5wdXQgaW5wdXQgeyB3aWR0aDogMTAwJSAhaW1wb3J0YW50OyBoZWlnaHQ6IDUycHggIWltcG9ydGFudDsgbWluLWhlaWdodDogNTJweCAhaW1wb3J0YW50OyBtYXJnaW46IDAgIWltcG9ydGFudDsgcGFkZGluZzogMTZweCAxNHB4IDZweCAhaW1wb3J0YW50OyBib3JkZXItcmFkaXVzOiAxNHB4ICFpbXBvcnRhbnQ7IGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLXdjMjQtYm9yZGVyKSAhaW1wb3J0YW50OyBiYWNrZ3JvdW5kOiAjZmZmICFpbXBvcnRhbnQ7IGNvbG9yOiB2YXIoLS13YzI0LXRleHQpICFpbXBvcnRhbnQ7IGZvbnQtc2l6ZTogMTVweCAhaW1wb3J0YW50OyBmb250LXdlaWdodDogODUwICFpbXBvcnRhbnQ7IG91dGxpbmU6IG5vbmUgIWltcG9ydGFudDsgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50OyB9XG5ib2R5IC53cC1ibG9jay13b29jb21tZXJjZS1jYXJ0IC53Yy1ibG9jay1jb21wb25lbnRzLXRleHQtaW5wdXQgbGFiZWwsXG5ib2R5IC53cC1ibG9jay13b29jb21tZXJjZS1jaGVja291dCAud2MtYmxvY2stY29tcG9uZW50cy10ZXh0LWlucHV0IGxhYmVsLFxuYm9keSAud3AtYmxvY2std29vY29tbWVyY2UtY2FydCAud2MtYmxvY2stY29tcG9uZW50cy10b3RhbHMtY291cG9uX19pbnB1dCBsYWJlbCxcbmJvZHkgLndwLWJsb2NrLXdvb2NvbW1lcmNlLWNoZWNrb3V0IC53Yy1ibG9jay1jb21wb25lbnRzLXRvdGFscy1jb3Vwb25fX2lucHV0IGxhYmVsIHsgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7IGxlZnQ6IDE0cHggIWltcG9ydGFudDsgdG9wOiA1MCUgIWltcG9ydGFudDsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpICFpbXBvcnRhbnQ7IG1hcmdpbjogMCAhaW1wb3J0YW50OyBwYWRkaW5nOiAwIDRweCAhaW1wb3J0YW50OyBiYWNrZ3JvdW5kOiAjZmZmICFpbXBvcnRhbnQ7IGNvbG9yOiB2YXIoLS13YzI0LW11dGVkKSAhaW1wb3J0YW50OyBmb250LXNpemU6IDE0cHggIWltcG9ydGFudDsgZm9udC13ZWlnaHQ6IDc1MCAhaW1wb3J0YW50OyBwb2ludGVyLWV2ZW50czogbm9uZSAhaW1wb3J0YW50OyB0cmFuc2l0aW9uOiBhbGwgLjE2cyBlYXNlICFpbXBvcnRhbnQ7IH1cbmJvZHkgLndwLWJsb2NrLXdvb2NvbW1lcmNlLWNhcnQgLndjLWJsb2NrLWNvbXBvbmVudHMtdGV4dC1pbnB1dC5pcy1hY3RpdmUgbGFiZWwsXG5ib2R5IC53cC1ibG9jay13b29jb21tZXJjZS1jaGVja291dCAud2MtYmxvY2stY29tcG9uZW50cy10ZXh0LWlucHV0LmlzLWFjdGl2ZSBsYWJlbCxcbmJvZHkgLndwLWJsb2NrLXdvb2NvbW1lcmNlLWNhcnQgLndjLWJsb2NrLWNvbXBvbmVudHMtdGV4dC1pbnB1dC5oYXMtdmFsdWUgbGFiZWwsXG5ib2R5IC53cC1ibG9jay13b29jb21tZXJjZS1jaGVja291dCAud2MtYmxvY2stY29tcG9uZW50cy10ZXh0LWlucHV0Lmhhcy12YWx1ZSBsYWJlbCxcbmJvZHkgLndwLWJsb2NrLXdvb2NvbW1lcmNlLWNhcnQgLndjLWJsb2NrLWNvbXBvbmVudHMtdGV4dC1pbnB1dCBpbnB1dDpmb2N1cyArIGxhYmVsLFxuYm9keSAud3AtYmxvY2std29vY29tbWVyY2UtY2hlY2tvdXQgLndjLWJsb2NrLWNvbXBvbmVudHMtdGV4dC1pbnB1dCBpbnB1dDpmb2N1cyArIGxhYmVsIHsgdG9wOiA4cHggIWltcG9ydGFudDsgdHJhbnNmb3JtOiBub25lICFpbXBvcnRhbnQ7IGNvbG9yOiB2YXIoLS13YzI0LXByaW1hcnkpICFpbXBvcnRhbnQ7IGZvbnQtc2l6ZTogMTFweCAhaW1wb3J0YW50OyBmb250LXdlaWdodDogOTAwICFpbXBvcnRhbnQ7IH1cbmJvZHkgLndwLWJsb2NrLXdvb2NvbW1lcmNlLWNhcnQgLndjLWJsb2NrLWNvbXBvbmVudHMtdG90YWxzLWNvdXBvbl9fYnV0dG9uLFxuYm9keSAud3AtYmxvY2std29vY29tbWVyY2UtY2hlY2tvdXQgLndjLWJsb2NrLWNvbXBvbmVudHMtdG90YWxzLWNvdXBvbl9fYnV0dG9uIHsgd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgaGVpZ2h0OiA1MnB4ICFpbXBvcnRhbnQ7IG1pbi1oZWlnaHQ6IDUycHggIWltcG9ydGFudDsgZGlzcGxheTogZmxleCAhaW1wb3J0YW50OyBhbGlnbi1pdGVtczogY2VudGVyICFpbXBvcnRhbnQ7IGp1c3RpZnktY29udGVudDogY2VudGVyICFpbXBvcnRhbnQ7IG1hcmdpbjogMCAhaW1wb3J0YW50OyBwYWRkaW5nOiAwIDE2cHggIWltcG9ydGFudDsgYm9yZGVyLXJhZGl1czogMTRweCAhaW1wb3J0YW50OyBib3JkZXI6IDAgIWltcG9ydGFudDsgYmFja2dyb3VuZDogdmFyKC0td2MyNC1hY2NlbnQpICFpbXBvcnRhbnQ7IGNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7IGZvbnQtc2l6ZTogMTRweCAhaW1wb3J0YW50OyBmb250LXdlaWdodDogOTUwICFpbXBvcnRhbnQ7IGJveC1zaGFkb3c6IDAgMTJweCAyNHB4IHJnYmEoMTYsMTcxLDE4MiwuMjIpICFpbXBvcnRhbnQ7IH1cbmJvZHkgLndwLWJsb2NrLXdvb2NvbW1lcmNlLWNhcnQgLndjLWJsb2NrLWNvbXBvbmVudHMtdG90YWxzLWNvdXBvbl9fYnV0dG9uOmRpc2FibGVkLFxuYm9keSAud3AtYmxvY2std29vY29tbWVyY2UtY2hlY2tvdXQgLndjLWJsb2NrLWNvbXBvbmVudHMtdG90YWxzLWNvdXBvbl9fYnV0dG9uOmRpc2FibGVkLFxuYm9keSAud3AtYmxvY2std29vY29tbWVyY2UtY2FydCAud2MtYmxvY2stY29tcG9uZW50cy10b3RhbHMtY291cG9uX19idXR0b25bYXJpYS1kaXNhYmxlZD1cInRydWVcIl0sXG5ib2R5IC53cC1ibG9jay13b29jb21tZXJjZS1jaGVja291dCAud2MtYmxvY2stY29tcG9uZW50cy10b3RhbHMtY291cG9uX19idXR0b25bYXJpYS1kaXNhYmxlZD1cInRydWVcIl0geyBiYWNrZ3JvdW5kOiB2YXIoLS13YzI0LXNvZnQpICFpbXBvcnRhbnQ7IGNvbG9yOiAjNmY4MDkwICFpbXBvcnRhbnQ7IGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLXdjMjQtYm9yZGVyKSAhaW1wb3J0YW50OyBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7IG9wYWNpdHk6IDEgIWltcG9ydGFudDsgY3Vyc29yOiBub3QtYWxsb3dlZCAhaW1wb3J0YW50OyB9XG5cbi8qIENoZWNrb3V0IGZpZWxkcyAqL1xuYm9keSAud2MtYmxvY2stY29tcG9uZW50cy1jaGVja291dC1zdGVwIHsgbWFyZ2luOiAwIDAgMjRweCAhaW1wb3J0YW50OyBwYWRkaW5nOiAyNHB4ICFpbXBvcnRhbnQ7IGJvcmRlci1yYWRpdXM6IDI0cHggIWltcG9ydGFudDsgYmFja2dyb3VuZDogI2ZmZiAhaW1wb3J0YW50OyBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS13YzI0LWJvcmRlcikgIWltcG9ydGFudDsgYm94LXNoYWRvdzogMCAxMHB4IDI2cHggcmdiYSg3LDU5LDk1LC4wNDUpICFpbXBvcnRhbnQ7IH1cbmJvZHkgLndjLWJsb2NrLWNvbXBvbmVudHMtY2hlY2tvdXQtc3RlcF9faGVhZGluZy1jb250YWluZXIgeyBtYXJnaW46IDAgMCAxOHB4ICFpbXBvcnRhbnQ7IHBhZGRpbmc6IDAgMCAxNHB4ICFpbXBvcnRhbnQ7IGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS13YzI0LWJvcmRlcikgIWltcG9ydGFudDsgfVxuYm9keSAud2MtYmxvY2stY29tcG9uZW50cy1jaGVja291dC1zdGVwX190aXRsZSxcbmJvZHkgLndjLWJsb2NrLWNvbXBvbmVudHMtdGl0bGUgeyBtYXJnaW46IDAgIWltcG9ydGFudDsgY29sb3I6IHZhcigtLXdjMjQtdGV4dCkgIWltcG9ydGFudDsgZm9udC1zaXplOiAyNHB4ICFpbXBvcnRhbnQ7IGZvbnQtd2VpZ2h0OiA5NTAgIWltcG9ydGFudDsgbGluZS1oZWlnaHQ6IDEuMTUgIWltcG9ydGFudDsgbGV0dGVyLXNwYWNpbmc6IC0uMDM1ZW0gIWltcG9ydGFudDsgfVxuYm9keSAud2MtYmxvY2stY29tcG9uZW50cy1hZGRyZXNzLWZvcm0geyBkaXNwbGF5OiBncmlkICFpbXBvcnRhbnQ7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIG1pbm1heCgwLCAxZnIpKSAhaW1wb3J0YW50OyBnYXA6IDE0cHggIWltcG9ydGFudDsgfVxuYm9keSAud2MtYmxvY2stY29tcG9uZW50cy1hZGRyZXNzLWZvcm1fX2VtYWlsLFxuYm9keSAud2MtYmxvY2stY29tcG9uZW50cy1hZGRyZXNzLWZvcm1fX2NvdW50cnksXG5ib2R5IC53Yy1ibG9jay1jb21wb25lbnRzLWFkZHJlc3MtZm9ybV9fYWRkcmVzc18xLFxuYm9keSAud2MtYmxvY2stY29tcG9uZW50cy1hZGRyZXNzLWZvcm1fX2FkZHJlc3NfMi10b2dnbGUsXG5ib2R5IC53Yy1ibG9jay1jb21wb25lbnRzLWFkZHJlc3MtZm9ybV9fcGhvbmUgeyBncmlkLWNvbHVtbjogMSAvIC0xICFpbXBvcnRhbnQ7IH1cbmJvZHkgLndwLWJsb2NrLXdvb2NvbW1lcmNlLWNoZWNrb3V0IC53Yy1ibG9ja3MtY29tcG9uZW50cy1zZWxlY3RfX3NlbGVjdCB7IHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IGhlaWdodDogNTZweCAhaW1wb3J0YW50OyBtaW4taGVpZ2h0OiA1NnB4ICFpbXBvcnRhbnQ7IG1hcmdpbjogMCAhaW1wb3J0YW50OyBwYWRkaW5nOiAxOHB4IDQ0cHggN3B4IDE1cHggIWltcG9ydGFudDsgYm9yZGVyLXJhZGl1czogMTVweCAhaW1wb3J0YW50OyBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS13YzI0LWJvcmRlcikgIWltcG9ydGFudDsgYmFja2dyb3VuZDogI2ZmZiAhaW1wb3J0YW50OyBjb2xvcjogdmFyKC0td2MyNC10ZXh0KSAhaW1wb3J0YW50OyBmb250LXNpemU6IDE1cHggIWltcG9ydGFudDsgZm9udC13ZWlnaHQ6IDg1MCAhaW1wb3J0YW50OyBvdXRsaW5lOiBub25lICFpbXBvcnRhbnQ7IGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDsgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lICFpbXBvcnRhbnQ7IC1tb3otYXBwZWFyYW5jZTogbm9uZSAhaW1wb3J0YW50OyBhcHBlYXJhbmNlOiBub25lICFpbXBvcnRhbnQ7IH1cbmJvZHkgLndwLWJsb2NrLXdvb2NvbW1lcmNlLWNoZWNrb3V0IC53Yy1ibG9ja3MtY29tcG9uZW50cy1zZWxlY3RfX2xhYmVsIHsgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7IGxlZnQ6IDE1cHggIWltcG9ydGFudDsgdG9wOiA4cHggIWltcG9ydGFudDsgei1pbmRleDogMiAhaW1wb3J0YW50OyBtYXJnaW46IDAgIWltcG9ydGFudDsgcGFkZGluZzogMCA0cHggIWltcG9ydGFudDsgYmFja2dyb3VuZDogI2ZmZiAhaW1wb3J0YW50OyBjb2xvcjogdmFyKC0td2MyNC1wcmltYXJ5KSAhaW1wb3J0YW50OyBmb250LXNpemU6IDExcHggIWltcG9ydGFudDsgZm9udC13ZWlnaHQ6IDkwMCAhaW1wb3J0YW50OyBsaW5lLWhlaWdodDogMSAhaW1wb3J0YW50OyB9XG5ib2R5IC53Yy1ibG9jay1jb21wb25lbnRzLWFkZHJlc3MtY2FyZCxcbmJvZHkgLndjLWJsb2NrLWNoZWNrb3V0X19vcmRlci1ub3RlcyxcbmJvZHkgLndjLWJsb2NrLWNoZWNrb3V0X190ZXJtcyB7IHBhZGRpbmc6IDE2cHggMThweCAhaW1wb3J0YW50OyBib3JkZXItcmFkaXVzOiAxOHB4ICFpbXBvcnRhbnQ7IGJhY2tncm91bmQ6IHZhcigtLXdjMjQtc29mdCkgIWltcG9ydGFudDsgYm9yZGVyOiAxcHggc29saWQgdmFyKC0td2MyNC1ib3JkZXIpICFpbXBvcnRhbnQ7IGNvbG9yOiB2YXIoLS13YzI0LXRleHQpICFpbXBvcnRhbnQ7IH1cbmJvZHkgLndjLWJsb2NrLWNvbXBvbmVudHMtbm90aWNlLWJhbm5lciB7IGJvcmRlci1yYWRpdXM6IDE4cHggIWltcG9ydGFudDsgYm9yZGVyOiAxcHggc29saWQgdmFyKC0td2MyNC1ib3JkZXIpICFpbXBvcnRhbnQ7IGJhY2tncm91bmQ6ICNmZmY3ZjcgIWltcG9ydGFudDsgY29sb3I6IHZhcigtLXdjMjQtdGV4dCkgIWltcG9ydGFudDsgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50OyB9XG5ib2R5IC53Yy1ibG9jay1jb21wb25lbnRzLW5vdGljZS1iYW5uZXIuaXMtZXJyb3IgeyBib3JkZXItY29sb3I6IHJnYmEoMjQwLDYsMjAsLjIyKSAhaW1wb3J0YW50OyBiYWNrZ3JvdW5kOiAjZmZmMGYxICFpbXBvcnRhbnQ7IH1cbmJvZHkgLndjLWJsb2NrLWNoZWNrb3V0X19hY3Rpb25zX3JvdyB7IGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDsgYWxpZ24taXRlbXM6IGNlbnRlciAhaW1wb3J0YW50OyBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW4gIWltcG9ydGFudDsgZ2FwOiAxNnB4ICFpbXBvcnRhbnQ7IH1cbmJvZHkgLndjLWJsb2NrLWNvbXBvbmVudHMtY2hlY2tvdXQtcmV0dXJuLXRvLWNhcnQtYnV0dG9uIHsgbWluLWhlaWdodDogNTJweCAhaW1wb3J0YW50OyBkaXNwbGF5OiBpbmxpbmUtZmxleCAhaW1wb3J0YW50OyBhbGlnbi1pdGVtczogY2VudGVyICFpbXBvcnRhbnQ7IGdhcDogOHB4ICFpbXBvcnRhbnQ7IHBhZGRpbmc6IDAgMTZweCAhaW1wb3J0YW50OyBib3JkZXItcmFkaXVzOiAxNXB4ICFpbXBvcnRhbnQ7IGJhY2tncm91bmQ6IHZhcigtLXdjMjQtc29mdCkgIWltcG9ydGFudDsgYm9yZGVyOiAxcHggc29saWQgdmFyKC0td2MyNC1ib3JkZXIpICFpbXBvcnRhbnQ7IGNvbG9yOiB2YXIoLS13YzI0LXRleHQpICFpbXBvcnRhbnQ7IGZvbnQtc2l6ZTogMTRweCAhaW1wb3J0YW50OyBmb250LXdlaWdodDogOTAwICFpbXBvcnRhbnQ7IHRleHQtZGVjb3JhdGlvbjogbm9uZSAhaW1wb3J0YW50OyB9XG5ib2R5IC53Yy1ibG9jay1jb21wb25lbnRzLW9yZGVyLXN1bW1hcnktaXRlbSB7IGRpc3BsYXk6IGdyaWQgIWltcG9ydGFudDsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiA1OHB4IG1pbm1heCgwLCAxZnIpIGF1dG8gIWltcG9ydGFudDsgZ2FwOiAxMnB4ICFpbXBvcnRhbnQ7IGFsaWduLWl0ZW1zOiBjZW50ZXIgIWltcG9ydGFudDsgcGFkZGluZzogMTJweCAwICFpbXBvcnRhbnQ7IGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS13YzI0LWJvcmRlcikgIWltcG9ydGFudDsgfVxuYm9keSAud2MtYmxvY2stY29tcG9uZW50cy1vcmRlci1zdW1tYXJ5LWl0ZW1fX2ltYWdlIHsgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7IHdpZHRoOiA1OHB4ICFpbXBvcnRhbnQ7IGhlaWdodDogNThweCAhaW1wb3J0YW50OyBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7IGFsaWduLWl0ZW1zOiBjZW50ZXIgIWltcG9ydGFudDsganVzdGlmeS1jb250ZW50OiBjZW50ZXIgIWltcG9ydGFudDsgYm9yZGVyLXJhZGl1czogMTVweCAhaW1wb3J0YW50OyBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCAjZmZmLCAjZjVmYmZkKSAhaW1wb3J0YW50OyBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS13YzI0LWJvcmRlcikgIWltcG9ydGFudDsgfVxuYm9keSAud2MtYmxvY2stY29tcG9uZW50cy1vcmRlci1zdW1tYXJ5LWl0ZW1fX2ltYWdlIGltZyB7IHdpZHRoOiA0NnB4ICFpbXBvcnRhbnQ7IGhlaWdodDogNDZweCAhaW1wb3J0YW50OyAtby1vYmplY3QtZml0OiBjb250YWluICFpbXBvcnRhbnQ7IG9iamVjdC1maXQ6IGNvbnRhaW4gIWltcG9ydGFudDsgfVxuYm9keSAud2MtYmxvY2stY29tcG9uZW50cy1vcmRlci1zdW1tYXJ5LWl0ZW1fX3F1YW50aXR5IHsgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7IHRvcDogLThweCAhaW1wb3J0YW50OyByaWdodDogLThweCAhaW1wb3J0YW50OyBtaW4td2lkdGg6IDIycHggIWltcG9ydGFudDsgaGVpZ2h0OiAyMnB4ICFpbXBvcnRhbnQ7IGRpc3BsYXk6IGlubGluZS1mbGV4ICFpbXBvcnRhbnQ7IGFsaWduLWl0ZW1zOiBjZW50ZXIgIWltcG9ydGFudDsganVzdGlmeS1jb250ZW50OiBjZW50ZXIgIWltcG9ydGFudDsgYm9yZGVyLXJhZGl1czogOTk5cHggIWltcG9ydGFudDsgYmFja2dyb3VuZDogdmFyKC0td2MyNC1hY2NlbnQpICFpbXBvcnRhbnQ7IGNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7IGJvcmRlcjogMXB4IHNvbGlkICNmZmYgIWltcG9ydGFudDsgZm9udC1zaXplOiAxMnB4ICFpbXBvcnRhbnQ7IGZvbnQtd2VpZ2h0OiA5NTAgIWltcG9ydGFudDsgfVxuYm9keSAud2MtYmxvY2stY2hlY2tvdXRfX3NpZGViYXIgLndjLWJsb2NrLWNvbXBvbmVudHMtcHJvZHVjdC1tZXRhZGF0YSB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIE15IGFjY291bnQsIGxvZ2luLCByZWdpc3RlciwgbG9zdCBwYXNzd29yZFxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5ib2R5Lndvb2NvbW1lcmNlLWFjY291bnQgLndvb2NvbW1lcmNlLU15QWNjb3VudC1uYXZpZ2F0aW9uIHsgcGFkZGluZzogMjJweCAhaW1wb3J0YW50OyBib3JkZXItcmFkaXVzOiAyOHB4ICFpbXBvcnRhbnQ7IGJhY2tncm91bmQ6IHJhZGlhbC1ncmFkaWVudChjaXJjbGUgYXQgOTAlIDAlLCByZ2JhKDE2LDE3MSwxODIsLjE2KSwgdHJhbnNwYXJlbnQgMzUlKSwgbGluZWFyLWdyYWRpZW50KDEzNWRlZywgdmFyKC0td2MyNC1wcmltYXJ5KSwgdmFyKC0td2MyNC1wcmltYXJ5LWRhcmspKSAhaW1wb3J0YW50OyBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDI1NSwyNTUsMjU1LC4xMikgIWltcG9ydGFudDsgYm94LXNoYWRvdzogMCAxOHB4IDQ4cHggcmdiYSg3LDU5LDk1LC4xNCkgIWltcG9ydGFudDsgfVxuYm9keS53b29jb21tZXJjZS1hY2NvdW50IC53b29jb21tZXJjZS1NeUFjY291bnQtbmF2aWdhdGlvbiB1bCB7IG1hcmdpbjogMCAhaW1wb3J0YW50OyBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7IGxpc3Qtc3R5bGU6IG5vbmUgIWltcG9ydGFudDsgfVxuYm9keS53b29jb21tZXJjZS1hY2NvdW50IC53b29jb21tZXJjZS1NeUFjY291bnQtbmF2aWdhdGlvbiBsaSB7IG1hcmdpbjogMCAwIDEwcHggIWltcG9ydGFudDsgcGFkZGluZzogMCAhaW1wb3J0YW50OyBsaXN0LXN0eWxlOiBub25lICFpbXBvcnRhbnQ7IH1cbmJvZHkud29vY29tbWVyY2UtYWNjb3VudCAud29vY29tbWVyY2UtTXlBY2NvdW50LW5hdmlnYXRpb24gbGkgYSB7IG1pbi1oZWlnaHQ6IDQ4cHggIWltcG9ydGFudDsgZGlzcGxheTogZmxleCAhaW1wb3J0YW50OyBhbGlnbi1pdGVtczogY2VudGVyICFpbXBvcnRhbnQ7IGdhcDogMTFweCAhaW1wb3J0YW50OyBwYWRkaW5nOiAwIDE0cHggIWltcG9ydGFudDsgYm9yZGVyLXJhZGl1czogMTVweCAhaW1wb3J0YW50OyBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwyNTUsMjU1LC4wOCkgIWltcG9ydGFudDsgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwuMTIpICFpbXBvcnRhbnQ7IGNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7IGZvbnQtc2l6ZTogMTRweCAhaW1wb3J0YW50OyBmb250LXdlaWdodDogOTAwICFpbXBvcnRhbnQ7IGxpbmUtaGVpZ2h0OiAxLjIgIWltcG9ydGFudDsgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7IGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDsgfVxuYm9keS53b29jb21tZXJjZS1hY2NvdW50IC53b29jb21tZXJjZS1NeUFjY291bnQtbmF2aWdhdGlvbiBsaSBhOmhvdmVyIHsgYmFja2dyb3VuZDogcmdiYSgxNiwxNzEsMTgyLC4yMCkgIWltcG9ydGFudDsgYm9yZGVyLWNvbG9yOiByZ2JhKDE2LDE3MSwxODIsLjQyKSAhaW1wb3J0YW50OyB9XG5ib2R5Lndvb2NvbW1lcmNlLWFjY291bnQgLndvb2NvbW1lcmNlLU15QWNjb3VudC1uYXZpZ2F0aW9uIGxpLmlzLWFjdGl2ZSBhIHsgYmFja2dyb3VuZDogdmFyKC0td2MyNC1hY2NlbnQpICFpbXBvcnRhbnQ7IGNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7IGJvcmRlci1jb2xvcjogdmFyKC0td2MyNC1hY2NlbnQpICFpbXBvcnRhbnQ7IGJveC1zaGFkb3c6IDAgMTJweCAyNnB4IHJnYmEoMTYsMTcxLDE4MiwuMjQpICFpbXBvcnRhbnQ7IH1cbmJvZHkud29vY29tbWVyY2UtYWNjb3VudCAud29vY29tbWVyY2UtTXlBY2NvdW50LWNvbnRlbnQgeyBwYWRkaW5nOiAzNHB4ICFpbXBvcnRhbnQ7IGJvcmRlci1yYWRpdXM6IDI4cHggIWltcG9ydGFudDsgYmFja2dyb3VuZDogI2ZmZiAhaW1wb3J0YW50OyBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS13YzI0LWJvcmRlcikgIWltcG9ydGFudDsgYm94LXNoYWRvdzogMCAxOHB4IDQ4cHggcmdiYSg3LDU5LDk1LC4wNikgIWltcG9ydGFudDsgY29sb3I6IHZhcigtLXdjMjQtdGV4dCkgIWltcG9ydGFudDsgb3ZlcmZsb3c6IGhpZGRlbiAhaW1wb3J0YW50OyB9XG5ib2R5Lndvb2NvbW1lcmNlLWFjY291bnQgLndvb2NvbW1lcmNlLU15QWNjb3VudC1jb250ZW50ID4gcDpmaXJzdC1vZi10eXBlIHsgbWFyZ2luOiAwIDAgMThweCAhaW1wb3J0YW50OyBwYWRkaW5nOiAyMnB4IDI0cHggIWltcG9ydGFudDsgYm9yZGVyLXJhZGl1czogMjJweCAhaW1wb3J0YW50OyBiYWNrZ3JvdW5kOiB2YXIoLS13YzI0LXNvZnQpICFpbXBvcnRhbnQ7IGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLXdjMjQtYm9yZGVyKSAhaW1wb3J0YW50OyBjb2xvcjogdmFyKC0td2MyNC10ZXh0KSAhaW1wb3J0YW50OyBmb250LXNpemU6IDE3cHggIWltcG9ydGFudDsgbGluZS1oZWlnaHQ6IDEuNiAhaW1wb3J0YW50OyB9XG5ib2R5Lndvb2NvbW1lcmNlLWFjY291bnQgLndvb2NvbW1lcmNlLU15QWNjb3VudC1jb250ZW50IHAgeyBjb2xvcjogdmFyKC0td2MyNC1tdXRlZCkgIWltcG9ydGFudDsgZm9udC1zaXplOiAxNnB4ICFpbXBvcnRhbnQ7IGxpbmUtaGVpZ2h0OiAxLjcgIWltcG9ydGFudDsgfVxuYm9keS53b29jb21tZXJjZS1hY2NvdW50IC53b29jb21tZXJjZS1NeUFjY291bnQtY29udGVudCBzdHJvbmcgeyBjb2xvcjogdmFyKC0td2MyNC10ZXh0KSAhaW1wb3J0YW50OyBmb250LXdlaWdodDogOTUwICFpbXBvcnRhbnQ7IH1cbmJvZHkud29vY29tbWVyY2UtYWNjb3VudCAud29vY29tbWVyY2UtTXlBY2NvdW50LWNvbnRlbnQgYSB7IGNvbG9yOiB2YXIoLS13YzI0LXByaW1hcnkpICFpbXBvcnRhbnQ7IGZvbnQtd2VpZ2h0OiA5MDAgIWltcG9ydGFudDsgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7IGJvcmRlci1ib3R0b206IDJweCBzb2xpZCByZ2JhKDE2LDE3MSwxODIsLjU1KSAhaW1wb3J0YW50OyB9XG5ib2R5Lndvb2NvbW1lcmNlLWFjY291bnQgLndvb2NvbW1lcmNlLWluZm8sXG5ib2R5Lndvb2NvbW1lcmNlLWFjY291bnQgLndvb2NvbW1lcmNlLW1lc3NhZ2UsXG5ib2R5Lndvb2NvbW1lcmNlLWFjY291bnQgLndvb2NvbW1lcmNlLWVycm9yIHsgbWFyZ2luOiAwIDAgMjBweCAhaW1wb3J0YW50OyBwYWRkaW5nOiAyMnB4IDI0cHggIWltcG9ydGFudDsgYm9yZGVyLXJhZGl1czogMjJweCAhaW1wb3J0YW50OyBiYWNrZ3JvdW5kOiB2YXIoLS13YzI0LXNvZnQpICFpbXBvcnRhbnQ7IGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLXdjMjQtYm9yZGVyKSAhaW1wb3J0YW50OyBjb2xvcjogdmFyKC0td2MyNC10ZXh0KSAhaW1wb3J0YW50OyBmb250LXNpemU6IDE2cHggIWltcG9ydGFudDsgZm9udC13ZWlnaHQ6IDg1MCAhaW1wb3J0YW50OyBsaW5lLWhlaWdodDogMS41ICFpbXBvcnRhbnQ7IGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDsgfVxuYm9keS53b29jb21tZXJjZS1hY2NvdW50IC53b29jb21tZXJjZS1NeUFjY291bnQtY29udGVudCAud29vY29tbWVyY2UtaW5mbyB7IHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50OyBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7IGFsaWduLWl0ZW1zOiBjZW50ZXIgIWltcG9ydGFudDsgZ2FwOiAxNHB4ICFpbXBvcnRhbnQ7IGZsZXgtd3JhcDogd3JhcCAhaW1wb3J0YW50OyBwYWRkaW5nLWxlZnQ6IDU4cHggIWltcG9ydGFudDsgbWluLWhlaWdodDogNzZweCAhaW1wb3J0YW50OyB9XG5ib2R5Lndvb2NvbW1lcmNlLWFjY291bnQgLndvb2NvbW1lcmNlLU15QWNjb3VudC1jb250ZW50IC53b29jb21tZXJjZS1pbmZvOjpiZWZvcmUgeyBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDsgbGVmdDogMjRweCAhaW1wb3J0YW50OyB0b3A6IDUwJSAhaW1wb3J0YW50OyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSkgIWltcG9ydGFudDsgbWFyZ2luOiAwICFpbXBvcnRhbnQ7IGNvbG9yOiB2YXIoLS13YzI0LXByaW1hcnkpICFpbXBvcnRhbnQ7IGZvbnQtc2l6ZTogMThweCAhaW1wb3J0YW50OyBsaW5lLWhlaWdodDogMSAhaW1wb3J0YW50OyB9XG5ib2R5Lndvb2NvbW1lcmNlLWFjY291bnQgLndvb2NvbW1lcmNlLU15QWNjb3VudC1jb250ZW50IC53b29jb21tZXJjZS1pbmZvIC5idXR0b24sXG5ib2R5Lndvb2NvbW1lcmNlLWFjY291bnQgLndvb2NvbW1lcmNlLU15QWNjb3VudC1jb250ZW50IC53b29jb21tZXJjZS1pbmZvIC53Yy1mb3J3YXJkIHsgbWFyZ2luLWxlZnQ6IGF1dG8gIWltcG9ydGFudDsgfVxuYm9keS53b29jb21tZXJjZS1hY2NvdW50IC53b29jb21tZXJjZS1NeUFjY291bnQtY29udGVudCAuYnV0dG9uLFxuYm9keS53b29jb21tZXJjZS1hY2NvdW50IC53b29jb21tZXJjZS1NeUFjY291bnQtY29udGVudCBidXR0b24sXG5ib2R5Lndvb2NvbW1lcmNlLWFjY291bnQgLndvb2NvbW1lcmNlLU15QWNjb3VudC1jb250ZW50IGlucHV0W3R5cGU9XCJzdWJtaXRcIl0sXG5ib2R5Lndvb2NvbW1lcmNlLWFjY291bnQgLndvb2NvbW1lcmNlLWluZm8gLmJ1dHRvbixcbmJvZHkud29vY29tbWVyY2UtYWNjb3VudCAud29vY29tbWVyY2UtbWVzc2FnZSAuYnV0dG9uIHsgbWluLWhlaWdodDogNDZweCAhaW1wb3J0YW50OyBkaXNwbGF5OiBpbmxpbmUtZmxleCAhaW1wb3J0YW50OyBhbGlnbi1pdGVtczogY2VudGVyICFpbXBvcnRhbnQ7IGp1c3RpZnktY29udGVudDogY2VudGVyICFpbXBvcnRhbnQ7IHBhZGRpbmc6IDAgMThweCAhaW1wb3J0YW50OyBib3JkZXI6IDAgIWltcG9ydGFudDsgYm9yZGVyLXJhZGl1czogMTRweCAhaW1wb3J0YW50OyBiYWNrZ3JvdW5kOiB2YXIoLS13YzI0LWFjY2VudCkgIWltcG9ydGFudDsgY29sb3I6ICNmZmYgIWltcG9ydGFudDsgZm9udC1zaXplOiAxNHB4ICFpbXBvcnRhbnQ7IGZvbnQtd2VpZ2h0OiA5NTAgIWltcG9ydGFudDsgbGluZS1oZWlnaHQ6IDEgIWltcG9ydGFudDsgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7IGJveC1zaGFkb3c6IDAgMTJweCAyNHB4IHJnYmEoMTYsMTcxLDE4MiwuMjIpICFpbXBvcnRhbnQ7IH1cbmJvZHkud29vY29tbWVyY2UtYWNjb3VudCAud29vY29tbWVyY2UtTXlBY2NvdW50LWNvbnRlbnQgLmJ1dHRvbjpob3ZlcixcbmJvZHkud29vY29tbWVyY2UtYWNjb3VudCAud29vY29tbWVyY2UtTXlBY2NvdW50LWNvbnRlbnQgYnV0dG9uOmhvdmVyLFxuYm9keS53b29jb21tZXJjZS1hY2NvdW50IC53b29jb21tZXJjZS1NeUFjY291bnQtY29udGVudCBpbnB1dFt0eXBlPVwic3VibWl0XCJdOmhvdmVyLFxuYm9keS53b29jb21tZXJjZS1hY2NvdW50IC53b29jb21tZXJjZS1pbmZvIC5idXR0b246aG92ZXIsXG5ib2R5Lndvb2NvbW1lcmNlLWFjY291bnQgLndvb2NvbW1lcmNlLW1lc3NhZ2UgLmJ1dHRvbjpob3ZlciB7IGJhY2tncm91bmQ6IHZhcigtLXdjMjQtcHJpbWFyeSkgIWltcG9ydGFudDsgY29sb3I6ICNmZmYgIWltcG9ydGFudDsgfVxuXG5ib2R5Lndvb2NvbW1lcmNlLWFjY291bnQgI2N1c3RvbWVyX2xvZ2luIGgyLFxuYm9keS53b29jb21tZXJjZS1hY2NvdW50IC5wYWdlLWNvbnRlbnQgPiAud29vY29tbWVyY2UgPiBoMiB7IG1hcmdpbi1ib3R0b206IDE4cHggIWltcG9ydGFudDsgY29sb3I6IHZhcigtLXdjMjQtdGV4dCkgIWltcG9ydGFudDsgZm9udC1zaXplOiAzNHB4ICFpbXBvcnRhbnQ7IGZvbnQtd2VpZ2h0OiA5NTAgIWltcG9ydGFudDsgbGluZS1oZWlnaHQ6IDEuMDggIWltcG9ydGFudDsgbGV0dGVyLXNwYWNpbmc6IC0uMDQ1ZW0gIWltcG9ydGFudDsgfVxuYm9keS53b29jb21tZXJjZS1hY2NvdW50ICNjdXN0b21lcl9sb2dpbiBoMjo6YWZ0ZXIsXG5ib2R5Lndvb2NvbW1lcmNlLWFjY291bnQgLnBhZ2UtY29udGVudCA+IC53b29jb21tZXJjZSA+IGgyOjphZnRlciB7IGNvbnRlbnQ6IFwiXCIgIWltcG9ydGFudDsgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgd2lkdGg6IDcycHggIWltcG9ydGFudDsgaGVpZ2h0OiA0cHggIWltcG9ydGFudDsgbWFyZ2luLXRvcDogMTRweCAhaW1wb3J0YW50OyBib3JkZXItcmFkaXVzOiA5OTlweCAhaW1wb3J0YW50OyBiYWNrZ3JvdW5kOiB2YXIoLS13YzI0LWFjY2VudCkgIWltcG9ydGFudDsgfVxuYm9keS53b29jb21tZXJjZS1hY2NvdW50IC53b29jb21tZXJjZS1mb3JtLWxvZ2luLFxuYm9keS53b29jb21tZXJjZS1hY2NvdW50IC53b29jb21tZXJjZS1mb3JtLXJlZ2lzdGVyLFxuYm9keS53b29jb21tZXJjZS1hY2NvdW50IC5sb3N0X3Jlc2V0X3Bhc3N3b3JkIHsgcGFkZGluZzogMzRweCAhaW1wb3J0YW50OyBib3JkZXItcmFkaXVzOiAzMHB4ICFpbXBvcnRhbnQ7IGJhY2tncm91bmQ6IHJhZGlhbC1ncmFkaWVudChjaXJjbGUgYXQgOTUlIDAlLCByZ2JhKDE2LDE3MSwxODIsLjEyKSwgdHJhbnNwYXJlbnQgMzQlKSwgI2ZmZiAhaW1wb3J0YW50OyBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS13YzI0LWJvcmRlcikgIWltcG9ydGFudDsgYm94LXNoYWRvdzogMCAyMnB4IDU4cHggcmdiYSg3LDU5LDk1LC4xMCkgIWltcG9ydGFudDsgY29sb3I6IHZhcigtLXdjMjQtdGV4dCkgIWltcG9ydGFudDsgfVxuYm9keS53b29jb21tZXJjZS1hY2NvdW50IC53b29jb21tZXJjZS1mb3JtLWxvZ2luIC5mb3JtLXJvdyxcbmJvZHkud29vY29tbWVyY2UtYWNjb3VudCAud29vY29tbWVyY2UtZm9ybS1yZWdpc3RlciAuZm9ybS1yb3csXG5ib2R5Lndvb2NvbW1lcmNlLWFjY291bnQgLmxvc3RfcmVzZXRfcGFzc3dvcmQgLmZvcm0tcm93LFxuYm9keS53b29jb21tZXJjZS1hY2NvdW50IC5yZWdpc3RyYXRpb24tZm9ybS1tYWlscG9ldCB7IG1hcmdpbi1ib3R0b206IDE2cHggIWltcG9ydGFudDsgfVxuYm9keS53b29jb21tZXJjZS1hY2NvdW50IC53b29jb21tZXJjZS1mb3JtLWxvZ2luIGxhYmVsLFxuYm9keS53b29jb21tZXJjZS1hY2NvdW50IC53b29jb21tZXJjZS1mb3JtLXJlZ2lzdGVyIGxhYmVsLFxuYm9keS53b29jb21tZXJjZS1hY2NvdW50IC5sb3N0X3Jlc2V0X3Bhc3N3b3JkIGxhYmVsIHsgbWFyZ2luLWJvdHRvbTogOHB4ICFpbXBvcnRhbnQ7IGNvbG9yOiB2YXIoLS13YzI0LXRleHQpICFpbXBvcnRhbnQ7IGZvbnQtc2l6ZTogMTRweCAhaW1wb3J0YW50OyBmb250LXdlaWdodDogOTAwICFpbXBvcnRhbnQ7IGxpbmUtaGVpZ2h0OiAxLjI1ICFpbXBvcnRhbnQ7IH1cbmJvZHkud29vY29tbWVyY2UtYWNjb3VudCAud29vY29tbWVyY2UtZm9ybS1sb2dpbiBpbnB1dFt0eXBlPVwidGV4dFwiXSxcbmJvZHkud29vY29tbWVyY2UtYWNjb3VudCAud29vY29tbWVyY2UtZm9ybS1sb2dpbiBpbnB1dFt0eXBlPVwiZW1haWxcIl0sXG5ib2R5Lndvb2NvbW1lcmNlLWFjY291bnQgLndvb2NvbW1lcmNlLWZvcm0tbG9naW4gaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdLFxuYm9keS53b29jb21tZXJjZS1hY2NvdW50IC53b29jb21tZXJjZS1mb3JtLXJlZ2lzdGVyIGlucHV0W3R5cGU9XCJ0ZXh0XCJdLFxuYm9keS53b29jb21tZXJjZS1hY2NvdW50IC53b29jb21tZXJjZS1mb3JtLXJlZ2lzdGVyIGlucHV0W3R5cGU9XCJlbWFpbFwiXSxcbmJvZHkud29vY29tbWVyY2UtYWNjb3VudCAud29vY29tbWVyY2UtZm9ybS1yZWdpc3RlciBpbnB1dFt0eXBlPVwicGFzc3dvcmRcIl0sXG5ib2R5Lndvb2NvbW1lcmNlLWFjY291bnQgLmxvc3RfcmVzZXRfcGFzc3dvcmQgaW5wdXRbdHlwZT1cInRleHRcIl0sXG5ib2R5Lndvb2NvbW1lcmNlLWFjY291bnQgLmxvc3RfcmVzZXRfcGFzc3dvcmQgaW5wdXRbdHlwZT1cImVtYWlsXCJdLFxuYm9keS53b29jb21tZXJjZS1hY2NvdW50IC5sb3N0X3Jlc2V0X3Bhc3N3b3JkIGlucHV0W3R5cGU9XCJwYXNzd29yZFwiXSxcbmJvZHkud29vY29tbWVyY2UtYWNjb3VudCAud29vY29tbWVyY2UtSW5wdXQgeyBtaW4taGVpZ2h0OiA1NnB4ICFpbXBvcnRhbnQ7IHBhZGRpbmc6IDAgMTZweCAhaW1wb3J0YW50OyBib3JkZXItcmFkaXVzOiAxNnB4ICFpbXBvcnRhbnQ7IGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLXdjMjQtYm9yZGVyKSAhaW1wb3J0YW50OyBiYWNrZ3JvdW5kOiAjZmZmICFpbXBvcnRhbnQ7IGNvbG9yOiB2YXIoLS13YzI0LXRleHQpICFpbXBvcnRhbnQ7IGZvbnQtc2l6ZTogMTVweCAhaW1wb3J0YW50OyBmb250LXdlaWdodDogODUwICFpbXBvcnRhbnQ7IG91dGxpbmU6IG5vbmUgIWltcG9ydGFudDsgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50OyB9XG5ib2R5Lndvb2NvbW1lcmNlLWFjY291bnQgLndvb2NvbW1lcmNlLWZvcm0tbG9naW4gaW5wdXQ6Zm9jdXMsXG5ib2R5Lndvb2NvbW1lcmNlLWFjY291bnQgLndvb2NvbW1lcmNlLWZvcm0tcmVnaXN0ZXIgaW5wdXQ6Zm9jdXMsXG5ib2R5Lndvb2NvbW1lcmNlLWFjY291bnQgLmxvc3RfcmVzZXRfcGFzc3dvcmQgaW5wdXQ6Zm9jdXMsXG5ib2R5Lndvb2NvbW1lcmNlLWFjY291bnQgLndvb2NvbW1lcmNlLUlucHV0OmZvY3VzIHsgYm9yZGVyLWNvbG9yOiB2YXIoLS13YzI0LWFjY2VudCkgIWltcG9ydGFudDsgYm94LXNoYWRvdzogMCAwIDAgNHB4IHJnYmEoMTYsMTcxLDE4MiwuMTgpICFpbXBvcnRhbnQ7IH1cbmJvZHkud29vY29tbWVyY2UtYWNjb3VudCAucGFzc3dvcmQtaW5wdXQgeyBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9XG5ib2R5Lndvb2NvbW1lcmNlLWFjY291bnQgLnNob3ctcGFzc3dvcmQtaW5wdXQgeyBib3JkZXI6IDAgIWltcG9ydGFudDsgYm9yZGVyLXJhZGl1czogMTJweCAhaW1wb3J0YW50OyBiYWNrZ3JvdW5kOiB2YXIoLS13YzI0LXNvZnQpICFpbXBvcnRhbnQ7IGNvbG9yOiB2YXIoLS13YzI0LXRleHQpICFpbXBvcnRhbnQ7IGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDsgfVxuYm9keS53b29jb21tZXJjZS1hY2NvdW50IC5zaG93LXBhc3N3b3JkLWlucHV0OmhvdmVyIHsgYmFja2dyb3VuZDogdmFyKC0td2MyNC1hY2NlbnQpICFpbXBvcnRhbnQ7IGNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7IH1cbmJvZHkud29vY29tbWVyY2UtYWNjb3VudCAud29vY29tbWVyY2UtZm9ybS1sb2dpbl9fc3VibWl0LFxuYm9keS53b29jb21tZXJjZS1hY2NvdW50IC53b29jb21tZXJjZS1mb3JtLXJlZ2lzdGVyX19zdWJtaXQsXG5ib2R5Lndvb2NvbW1lcmNlLWFjY291bnQgLmxvc3RfcmVzZXRfcGFzc3dvcmQgLndvb2NvbW1lcmNlLUJ1dHRvbixcbmJvZHkud29vY29tbWVyY2UtYWNjb3VudCAud29vY29tbWVyY2UtZm9ybS1sb2dpbiBidXR0b25bdHlwZT1cInN1Ym1pdFwiXSxcbmJvZHkud29vY29tbWVyY2UtYWNjb3VudCAud29vY29tbWVyY2UtZm9ybS1yZWdpc3RlciBidXR0b25bdHlwZT1cInN1Ym1pdFwiXSxcbmJvZHkud29vY29tbWVyY2UtYWNjb3VudCAubG9zdF9yZXNldF9wYXNzd29yZCBidXR0b25bdHlwZT1cInN1Ym1pdFwiXSB7IG1pbi1oZWlnaHQ6IDUycHggIWltcG9ydGFudDsgcGFkZGluZzogMCAyMnB4ICFpbXBvcnRhbnQ7IGJvcmRlcjogMCAhaW1wb3J0YW50OyBib3JkZXItcmFkaXVzOiAxNnB4ICFpbXBvcnRhbnQ7IGJhY2tncm91bmQ6IHZhcigtLXdjMjQtYWNjZW50KSAhaW1wb3J0YW50OyBjb2xvcjogI2ZmZiAhaW1wb3J0YW50OyBmb250LXNpemU6IDE1cHggIWltcG9ydGFudDsgZm9udC13ZWlnaHQ6IDk1MCAhaW1wb3J0YW50OyBsaW5lLWhlaWdodDogMSAhaW1wb3J0YW50OyB0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDsgYm94LXNoYWRvdzogMCAxNHB4IDI4cHggcmdiYSgxNiwxNzEsMTgyLC4yNSkgIWltcG9ydGFudDsgfVxuYm9keS53b29jb21tZXJjZS1hY2NvdW50IC53b29jb21tZXJjZS1mb3JtLWxvZ2luX19zdWJtaXQ6aG92ZXIsXG5ib2R5Lndvb2NvbW1lcmNlLWFjY291bnQgLndvb2NvbW1lcmNlLWZvcm0tcmVnaXN0ZXJfX3N1Ym1pdDpob3ZlcixcbmJvZHkud29vY29tbWVyY2UtYWNjb3VudCAubG9zdF9yZXNldF9wYXNzd29yZCAud29vY29tbWVyY2UtQnV0dG9uOmhvdmVyIHsgYmFja2dyb3VuZDogdmFyKC0td2MyNC1wcmltYXJ5KSAhaW1wb3J0YW50OyBjb2xvcjogI2ZmZiAhaW1wb3J0YW50OyBib3gtc2hhZG93OiAwIDE2cHggMzRweCByZ2JhKDksMTEzLDE4MywuMjQpICFpbXBvcnRhbnQ7IH1cbmJvZHkud29vY29tbWVyY2UtYWNjb3VudCAud29vY29tbWVyY2UtTG9zdFBhc3N3b3JkLFxuYm9keS53b29jb21tZXJjZS1hY2NvdW50IC53b29jb21tZXJjZS1mb3JtLXJlZ2lzdGVyIC53b29jb21tZXJjZS1wcml2YWN5LXBvbGljeS10ZXh0LFxuYm9keS53b29jb21tZXJjZS1hY2NvdW50IC5sb3N0X3Jlc2V0X3Bhc3N3b3JkID4gcDpmaXJzdC1jaGlsZCB7IG1hcmdpbi10b3A6IDE4cHggIWltcG9ydGFudDsgcGFkZGluZzogMTZweCAxOHB4ICFpbXBvcnRhbnQ7IGJvcmRlci1yYWRpdXM6IDE4cHggIWltcG9ydGFudDsgYmFja2dyb3VuZDogdmFyKC0td2MyNC1zb2Z0KSAhaW1wb3J0YW50OyBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS13YzI0LWJvcmRlcikgIWltcG9ydGFudDsgY29sb3I6IHZhcigtLXdjMjQtbXV0ZWQpICFpbXBvcnRhbnQ7IH1cbmJvZHkud29vY29tbWVyY2UtYWNjb3VudCAud29vY29tbWVyY2UtTG9zdFBhc3N3b3JkIHsgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7IH1cbmJvZHkud29vY29tbWVyY2UtYWNjb3VudCAud29vY29tbWVyY2UtTG9zdFBhc3N3b3JkIGEsXG5ib2R5Lndvb2NvbW1lcmNlLWFjY291bnQgLndvb2NvbW1lcmNlLWZvcm0tcmVnaXN0ZXIgLndvb2NvbW1lcmNlLXByaXZhY3ktcG9saWN5LXRleHQgYSB7IGNvbG9yOiB2YXIoLS13YzI0LXByaW1hcnkpICFpbXBvcnRhbnQ7IGZvbnQtd2VpZ2h0OiA5NTAgIWltcG9ydGFudDsgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7IGJvcmRlci1ib3R0b206IDJweCBzb2xpZCByZ2JhKDE2LDE3MSwxODIsLjU1KSAhaW1wb3J0YW50OyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgUmVzcG9uc2l2ZSBydWxlc1xuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5AbWVkaWEgKG1heC13aWR0aDogMTE4MHB4KSB7XG4gICAgYm9keS5zaW5nbGUtcHJvZHVjdCBkaXYucHJvZHVjdCB7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyICFpbXBvcnRhbnQ7IH1cbiAgICBib2R5LnNpbmdsZS1wcm9kdWN0IGRpdi5wcm9kdWN0IC53b29jb21tZXJjZS1wcm9kdWN0LWdhbGxlcnlfX2ltYWdlIGEgeyBtaW4taGVpZ2h0OiA0MjBweCAhaW1wb3J0YW50OyB9XG4gICAgYm9keS5zaW5nbGUtcHJvZHVjdCAucmVsYXRlZC5wcm9kdWN0cyB1bC5wcm9kdWN0cyB7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDMsIG1pbm1heCgwLCAxZnIpKSAhaW1wb3J0YW50OyB9XG59XG5AbWVkaWEgKG1heC13aWR0aDogMTEwMHB4KSB7XG4gICAgYm9keSAud2MtYmxvY2stY29tcG9uZW50cy1zaWRlYmFyLWxheW91dC53Yy1ibG9jay1jYXJ0LFxuICAgIGJvZHkgLndjLWJsb2NrLWNvbXBvbmVudHMtc2lkZWJhci1sYXlvdXQud2MtYmxvY2stY2hlY2tvdXQgeyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAhaW1wb3J0YW50OyB9XG4gICAgYm9keSAud2MtYmxvY2stY2FydF9fc2lkZWJhcixcbiAgICBib2R5IC53Yy1ibG9jay1jaGVja291dF9fc2lkZWJhciB7IHBvc2l0aW9uOiBzdGF0aWMgIWltcG9ydGFudDsgfVxufVxuQG1lZGlhIChtYXgtd2lkdGg6IDkwMHB4KSB7XG4gICAgYm9keS5zaW5nbGUtcHJvZHVjdCAucmVsYXRlZC5wcm9kdWN0cyB1bC5wcm9kdWN0cyB7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIG1pbm1heCgwLCAxZnIpKSAhaW1wb3J0YW50OyB9XG4gICAgI3lpdGgtd2N3bC1mb3JtIHRhYmxlLndpc2hsaXN0X3RhYmxlLFxuICAgICN5aXRoLXdjd2wtZm9ybSB0YWJsZS53aXNobGlzdF90YWJsZSB0aGVhZCxcbiAgICAjeWl0aC13Y3dsLWZvcm0gdGFibGUud2lzaGxpc3RfdGFibGUgdGJvZHksXG4gICAgI3lpdGgtd2N3bC1mb3JtIHRhYmxlLndpc2hsaXN0X3RhYmxlIHRyLFxuICAgICN5aXRoLXdjd2wtZm9ybSB0YWJsZS53aXNobGlzdF90YWJsZSB0ZCB7IGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IH1cbiAgICAjeWl0aC13Y3dsLWZvcm0gdGFibGUud2lzaGxpc3RfdGFibGUgdGhlYWQgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgICAjeWl0aC13Y3dsLWZvcm0gdGFibGUud2lzaGxpc3RfdGFibGUgdGJvZHkgdHIgeyBwb3NpdGlvbjogcmVsYXRpdmU7IGRpc3BsYXk6IGdyaWQgIWltcG9ydGFudDsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiA5NHB4IG1pbm1heCgwLCAxZnIpOyBnYXA6IDE0cHg7IG1hcmdpbi1ib3R0b206IDE2cHggIWltcG9ydGFudDsgcGFkZGluZzogMTZweCAhaW1wb3J0YW50OyBib3JkZXItcmFkaXVzOiAyMnB4ICFpbXBvcnRhbnQ7IGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLXdjMjQtYm9yZGVyKSAhaW1wb3J0YW50OyBiYWNrZ3JvdW5kOiAjZmZmICFpbXBvcnRhbnQ7IH1cbiAgICAjeWl0aC13Y3dsLWZvcm0gdGFibGUud2lzaGxpc3RfdGFibGUgdGJvZHkgdGQgeyBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7IGJvcmRlcjogMCAhaW1wb3J0YW50OyBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50OyB9XG4gICAgI3lpdGgtd2N3bC1mb3JtIC5wcm9kdWN0LXJlbW92ZSB7IHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50OyB0b3A6IDEycHggIWltcG9ydGFudDsgcmlnaHQ6IDEycHggIWltcG9ydGFudDsgd2lkdGg6IDM2cHggIWltcG9ydGFudDsgbWluLXdpZHRoOiAzNnB4ICFpbXBvcnRhbnQ7IHotaW5kZXg6IDUgIWltcG9ydGFudDsgfVxuICAgICN5aXRoLXdjd2wtZm9ybSAucHJvZHVjdC10aHVtYm5haWwgeyBncmlkLXJvdzogMSAvIHNwYW4gNDsgd2lkdGg6IDk0cHggIWltcG9ydGFudDsgfVxuICAgICN5aXRoLXdjd2wtZm9ybSAucHJvZHVjdC10aHVtYm5haWwgYSB7IHdpZHRoOiA5NHB4OyBoZWlnaHQ6IDk0cHg7IH1cbiAgICAjeWl0aC13Y3dsLWZvcm0gLnByb2R1Y3QtcHJpY2UsXG4gICAgI3lpdGgtd2N3bC1mb3JtIC5wcm9kdWN0LXN0b2NrLXN0YXR1cyxcbiAgICAjeWl0aC13Y3dsLWZvcm0gLnByb2R1Y3QtYWRkLXRvLWNhcnQgeyBncmlkLWNvbHVtbjogMjsgd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfVxufVxuQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgYm9keS5zaW5nbGUtcHJvZHVjdCAjbWFpbi5zaXRlLW1haW4sXG4gICAgYm9keSAud3AtYmxvY2std29vY29tbWVyY2UtY2FydCxcbiAgICBib2R5IC53cC1ibG9jay13b29jb21tZXJjZS1jaGVja291dCxcbiAgICBib2R5ICN5aXRoLXdjd2wtZm9ybSB7IHdpZHRoOiBtaW4oMTAwJSAtIDIycHgsIDEzMjBweCkgIWltcG9ydGFudDsgbWFyZ2luLWxlZnQ6IGF1dG8gIWltcG9ydGFudDsgbWFyZ2luLXJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7IH1cbiAgICBib2R5LnNpbmdsZS1wcm9kdWN0IGRpdi5wcm9kdWN0IC53b29jb21tZXJjZS1wcm9kdWN0LWdhbGxlcnksXG4gICAgYm9keS5zaW5nbGUtcHJvZHVjdCBkaXYucHJvZHVjdCAuc3VtbWFyeSxcbiAgICBib2R5LnNpbmdsZS1wcm9kdWN0IGRpdi5wcm9kdWN0IC53b29jb21tZXJjZS10YWJzLFxuICAgIGJvZHkuc2luZ2xlLXByb2R1Y3QgLnJlbGF0ZWQucHJvZHVjdHMsXG4gICAgYm9keSAud2MtYmxvY2stY2FydF9fbWFpbixcbiAgICBib2R5IC53Yy1ibG9jay1jaGVja291dF9fbWFpbixcbiAgICBib2R5IC53Yy1ibG9jay1jYXJ0X19zaWRlYmFyLFxuICAgIGJvZHkgLndjLWJsb2NrLWNoZWNrb3V0X19zaWRlYmFyLFxuICAgIGJvZHkud29vY29tbWVyY2UtYWNjb3VudCAud29vY29tbWVyY2UtTXlBY2NvdW50LWNvbnRlbnQsXG4gICAgYm9keS53b29jb21tZXJjZS1hY2NvdW50IC53b29jb21tZXJjZS1mb3JtLWxvZ2luLFxuICAgIGJvZHkud29vY29tbWVyY2UtYWNjb3VudCAud29vY29tbWVyY2UtZm9ybS1yZWdpc3RlcixcbiAgICBib2R5Lndvb2NvbW1lcmNlLWFjY291bnQgLmxvc3RfcmVzZXRfcGFzc3dvcmQgeyBwYWRkaW5nOiAyMnB4ICFpbXBvcnRhbnQ7IGJvcmRlci1yYWRpdXM6IDI0cHggIWltcG9ydGFudDsgfVxuICAgIGJvZHkuc2luZ2xlLXByb2R1Y3QgZGl2LnByb2R1Y3QgLndvb2NvbW1lcmNlLXByb2R1Y3QtZ2FsbGVyeV9faW1hZ2UgYSB7IG1pbi1oZWlnaHQ6IDI4MHB4ICFpbXBvcnRhbnQ7IH1cbiAgICBib2R5LnNpbmdsZS1wcm9kdWN0IGRpdi5wcm9kdWN0IC53b29jb21tZXJjZS1wcm9kdWN0LWdhbGxlcnkgaW1nIHsgbWF4LWhlaWdodDogMzAwcHggIWltcG9ydGFudDsgcGFkZGluZzogMTJweCAhaW1wb3J0YW50OyB9XG4gICAgYm9keS5zaW5nbGUtcHJvZHVjdCBkaXYucHJvZHVjdCAuc3VtbWFyeSAucHJvZHVjdF90aXRsZSB7IGZvbnQtc2l6ZTogMzBweCAhaW1wb3J0YW50OyB9XG4gICAgYm9keS5zaW5nbGUtcHJvZHVjdCBkaXYucHJvZHVjdCAuc3VtbWFyeSAucHJpY2UgeyBmb250LXNpemU6IDIzcHggIWltcG9ydGFudDsgfVxuICAgIGJvZHkuc2luZ2xlLXByb2R1Y3QgZm9ybS5jYXJ0LFxuICAgIC53b29jb21tZXJjZSBkaXYucHJvZHVjdCBmb3JtLmNhcnQgeyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAhaW1wb3J0YW50OyBnYXA6IDEycHggIWltcG9ydGFudDsgfVxuICAgIGJvZHkuc2luZ2xlLXByb2R1Y3QgZm9ybS5jYXJ0IC5xdWFudGl0eSxcbiAgICBib2R5LnNpbmdsZS1wcm9kdWN0IGZvcm0uY2FydCAucXVhbnRpdHkgaW5wdXQucXR5LFxuICAgIC53b29jb21tZXJjZSBkaXYucHJvZHVjdCBmb3JtLmNhcnQgLnF1YW50aXR5LFxuICAgIC53b29jb21tZXJjZSBkaXYucHJvZHVjdCBmb3JtLmNhcnQgLnF1YW50aXR5IGlucHV0LnF0eSB7IHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50OyBtaW4td2lkdGg6IDAgIWltcG9ydGFudDsgfVxuICAgIGJvZHkuc2luZ2xlLXByb2R1Y3QgLndvb2NvbW1lcmNlLXRhYnMgdWwudGFicyB7IGRpc3BsYXk6IGdyaWQgIWltcG9ydGFudDsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgIWltcG9ydGFudDsgfVxuICAgIGJvZHkuc2luZ2xlLXByb2R1Y3QgLndvb2NvbW1lcmNlLXRhYnMgdWwudGFicyBsaSBhIHsgd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfVxuICAgIGJvZHkuc2luZ2xlLXByb2R1Y3QgdGFibGUuc2hvcF9hdHRyaWJ1dGVzIHRoLFxuICAgIGJvZHkuc2luZ2xlLXByb2R1Y3QgdGFibGUuc2hvcF9hdHRyaWJ1dGVzIHRkIHsgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfVxuICAgIGJvZHkuc2luZ2xlLXByb2R1Y3QgLnJlbGF0ZWQucHJvZHVjdHMgdWwucHJvZHVjdHMgeyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCBtaW5tYXgoMCwgMWZyKSkgIWltcG9ydGFudDsgZ2FwOiAxNHB4ICFpbXBvcnRhbnQ7IH1cbiAgICAjeWl0aC1xdWljay12aWV3LW1vZGFsIC55aXRoLXdjcXYtd3JhcHBlciB7IHdpZHRoOiBjYWxjKDEwMHZ3IC0gMjBweCkgIWltcG9ydGFudDsgbWF4LWhlaWdodDogY2FsYygxMDB2aCAtIDIwcHgpICFpbXBvcnRhbnQ7IGJvcmRlci1yYWRpdXM6IDI0cHggIWltcG9ydGFudDsgfVxuICAgICN5aXRoLXF1aWNrLXZpZXctbW9kYWwgLnlpdGgtcXVpY2stdmlldy1jb250ZW50IC5wcm9kdWN0ID4gLnByb2R1Y3QsXG4gICAgI3lpdGgtcXVpY2stdmlldy1tb2RhbCAueWl0aC1xdWljay12aWV3LWNvbnRlbnQgLnByb2R1Y3QgLnByb2R1Y3QgeyBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9XG4gICAgI3lpdGgtcXVpY2stdmlldy1tb2RhbCAuaW1hZ2VzIHsgcGFkZGluZzogMjZweCAyMHB4ICFpbXBvcnRhbnQ7IGJvcmRlci1yaWdodDogMCAhaW1wb3J0YW50OyBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0td2MyNC1ib3JkZXIpICFpbXBvcnRhbnQ7IH1cbiAgICAjeWl0aC1xdWljay12aWV3LW1vZGFsIC5pbWFnZXMgYSB7IG1pbi1oZWlnaHQ6IDI0MHB4ICFpbXBvcnRhbnQ7IH1cbiAgICAjeWl0aC1xdWljay12aWV3LW1vZGFsIC5zdW1tYXJ5LFxuICAgICN5aXRoLXF1aWNrLXZpZXctbW9kYWwgLmVudHJ5LXN1bW1hcnkgeyBwYWRkaW5nOiAyNHB4IDIwcHggMjJweCAhaW1wb3J0YW50OyB9XG4gICAgI3lpdGgtcXVpY2stdmlldy1tb2RhbCBmb3JtLmNhcnQgeyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDk2cHggbWlubWF4KDAsIDFmcikgIWltcG9ydGFudDsgfVxuICAgICN5aXRoLXF1aWNrLXZpZXctbW9kYWwgZm9ybS5jYXJ0IC5xdWFudGl0eSxcbiAgICAjeWl0aC1xdWljay12aWV3LW1vZGFsIGZvcm0uY2FydCAucXVhbnRpdHkgaW5wdXQucXR5IHsgd2lkdGg6IDk2cHggIWltcG9ydGFudDsgbWF4LXdpZHRoOiA5NnB4ICFpbXBvcnRhbnQ7IG1pbi13aWR0aDogOTZweCAhaW1wb3J0YW50OyB9XG4gICAgYm9keSB0YWJsZS53Yy1ibG9jay1jYXJ0LWl0ZW1zLFxuICAgIGJvZHkgdGFibGUud2MtYmxvY2stY2FydC1pdGVtcyB0aGVhZCxcbiAgICBib2R5IHRhYmxlLndjLWJsb2NrLWNhcnQtaXRlbXMgdGJvZHksXG4gICAgYm9keSB0YWJsZS53Yy1ibG9jay1jYXJ0LWl0ZW1zIHRyLFxuICAgIGJvZHkgdGFibGUud2MtYmxvY2stY2FydC1pdGVtcyB0ZCB7IGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IH1cbiAgICBib2R5IHRhYmxlLndjLWJsb2NrLWNhcnQtaXRlbXMgdGhlYWQgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgICBib2R5IHRhYmxlLndjLWJsb2NrLWNhcnQtaXRlbXMgdGJvZHkgdHIud2MtYmxvY2stY2FydC1pdGVtc19fcm93IHsgZGlzcGxheTogZ3JpZCAhaW1wb3J0YW50OyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDk2cHggbWlubWF4KDAsIDFmcikgIWltcG9ydGFudDsgZ2FwOiAxNHB4ICFpbXBvcnRhbnQ7IG1hcmdpbi1ib3R0b206IDE2cHggIWltcG9ydGFudDsgcGFkZGluZzogMTZweCAhaW1wb3J0YW50OyBib3JkZXItcmFkaXVzOiAyMnB4ICFpbXBvcnRhbnQ7IGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLXdjMjQtYm9yZGVyKSAhaW1wb3J0YW50OyB9XG4gICAgYm9keSB0YWJsZS53Yy1ibG9jay1jYXJ0LWl0ZW1zIHRib2R5IHRkIHsgcGFkZGluZzogMCAhaW1wb3J0YW50OyBib3JkZXI6IDAgIWltcG9ydGFudDsgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDsgfVxuICAgIGJvZHkgLndjLWJsb2NrLWNhcnQtaXRlbV9faW1hZ2UgeyBncmlkLXJvdzogMSAvIHNwYW4gNCAhaW1wb3J0YW50OyB3aWR0aDogOTZweCAhaW1wb3J0YW50OyB9XG4gICAgYm9keSAud2MtYmxvY2stY2FydC1pdGVtX19wcm9kdWN0LFxuICAgIGJvZHkgLndjLWJsb2NrLWNhcnQtaXRlbV9fdG90YWwgeyBncmlkLWNvbHVtbjogMiAhaW1wb3J0YW50OyB3aWR0aDogMTAwJSAhaW1wb3J0YW50OyB0ZXh0LWFsaWduOiBsZWZ0ICFpbXBvcnRhbnQ7IH1cbiAgICBib2R5IC53Yy1ibG9jay1jb21wb25lbnRzLWFkZHJlc3MtZm9ybSB7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyICFpbXBvcnRhbnQ7IH1cbiAgICBib2R5IC53Yy1ibG9jay1jaGVja291dF9fYWN0aW9uc19yb3cgeyBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2UgIWltcG9ydGFudDsgYWxpZ24taXRlbXM6IHN0cmV0Y2ggIWltcG9ydGFudDsgfVxuICAgIGJvZHkgLndjLWJsb2NrLWNvbXBvbmVudHMtY2hlY2tvdXQtcmV0dXJuLXRvLWNhcnQtYnV0dG9uLFxuICAgIGJvZHkgLndjLWJsb2NrLWNvbXBvbmVudHMtY2hlY2tvdXQtcGxhY2Utb3JkZXItYnV0dG9uIHsgd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgbWluLXdpZHRoOiAwICFpbXBvcnRhbnQ7IH1cbiAgICBib2R5IC53cC1ibG9jay13b29jb21tZXJjZS1jYXJ0IC53Yy1ibG9jay1jb21wb25lbnRzLXRvdGFscy1jb3Vwb25fX2Zvcm0sXG4gICAgYm9keSAud3AtYmxvY2std29vY29tbWVyY2UtY2hlY2tvdXQgLndjLWJsb2NrLWNvbXBvbmVudHMtdG90YWxzLWNvdXBvbl9fZm9ybSB7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyICFpbXBvcnRhbnQ7IH1cbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA0ODBweCkge1xuICAgIGJvZHkuc2luZ2xlLXByb2R1Y3QgLnJlbGF0ZWQucHJvZHVjdHMgdWwucHJvZHVjdHMgeyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAhaW1wb3J0YW50OyB9XG4gICAgI3lpdGgtcXVpY2stdmlldy1tb2RhbCBmb3JtLmNhcnQgeyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAhaW1wb3J0YW50OyB9XG4gICAgI3lpdGgtcXVpY2stdmlldy1tb2RhbCBmb3JtLmNhcnQgLnF1YW50aXR5LFxuICAgICN5aXRoLXF1aWNrLXZpZXctbW9kYWwgZm9ybS5jYXJ0IC5xdWFudGl0eSBpbnB1dC5xdHkgeyB3aWR0aDogMTAwJSAhaW1wb3J0YW50OyBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgbWluLXdpZHRoOiAwICFpbXBvcnRhbnQ7IH1cbiAgICAjeWl0aC13Y3dsLWZvcm0gdGFibGUud2lzaGxpc3RfdGFibGUgdGJvZHkgdHIsXG4gICAgYm9keSB0YWJsZS53Yy1ibG9jay1jYXJ0LWl0ZW1zIHRib2R5IHRyLndjLWJsb2NrLWNhcnQtaXRlbXNfX3JvdyB7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyICFpbXBvcnRhbnQ7IH1cbiAgICAjeWl0aC13Y3dsLWZvcm0gLnByb2R1Y3QtdGh1bWJuYWlsLFxuICAgICN5aXRoLXdjd2wtZm9ybSAucHJvZHVjdC1wcmljZSxcbiAgICAjeWl0aC13Y3dsLWZvcm0gLnByb2R1Y3Qtc3RvY2stc3RhdHVzLFxuICAgICN5aXRoLXdjd2wtZm9ybSAucHJvZHVjdC1hZGQtdG8tY2FydCxcbiAgICBib2R5IC53Yy1ibG9jay1jYXJ0LWl0ZW1fX2ltYWdlLFxuICAgIGJvZHkgLndjLWJsb2NrLWNhcnQtaXRlbV9fcHJvZHVjdCxcbiAgICBib2R5IC53Yy1ibG9jay1jYXJ0LWl0ZW1fX3RvdGFsIHsgZ3JpZC1jb2x1bW46IDEgIWltcG9ydGFudDsgfVxuICAgICN5aXRoLXdjd2wtZm9ybSAucHJvZHVjdC10aHVtYm5haWwgeyB3aWR0aDogMTAwJSAhaW1wb3J0YW50OyB9XG4gICAgI3lpdGgtd2N3bC1mb3JtIC5wcm9kdWN0LXRodW1ibmFpbCBhLFxuICAgIGJvZHkgLndjLWJsb2NrLWNhcnQtaXRlbV9faW1hZ2UgYSB7IHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IGhlaWdodDogMTUwcHggIWltcG9ydGFudDsgfVxufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFdvb0NvbW1lcmNlIGNhcnQgbW9iaWxlIGZpeCAtIHYxLjI1LjdcbiAgIEVuZ2xpc2ggY29tbWVudDogRm9yY2UgV29vQ29tbWVyY2UgQmxvY2tzIGNhcnQgaXRlbXMgaW50byBzYWZlIHN0YWNrZWQgY2FyZHMgb24gbW9iaWxlLlxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5AbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICBodG1sLFxuICAgIGJvZHkge1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICAgICAgb3ZlcmZsb3cteDogaGlkZGVuICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgYm9keSAud3AtYmxvY2std29vY29tbWVyY2UtY2FydCxcbiAgICBib2R5IC53Yy1ibG9jay1jb21wb25lbnRzLXNpZGViYXItbGF5b3V0LndjLWJsb2NrLWNhcnQsXG4gICAgYm9keSAud2MtYmxvY2stY2FydF9fbWFpbixcbiAgICBib2R5IC53Yy1ibG9jay1jYXJ0X19zaWRlYmFyIHtcbiAgICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICAgIG1pbi13aWR0aDogMCAhaW1wb3J0YW50O1xuICAgICAgICBvdmVyZmxvdy14OiBoaWRkZW4gIWltcG9ydGFudDtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIGJvZHkgLndwLWJsb2NrLXdvb2NvbW1lcmNlLWNhcnQge1xuICAgICAgICB3aWR0aDogbWluKDEwMCUgLSAyMHB4LCAxMzIwcHgpICFpbXBvcnRhbnQ7XG4gICAgICAgIG1hcmdpbjogMjJweCBhdXRvIDYwcHggIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICBib2R5IC53Yy1ibG9jay1jb21wb25lbnRzLXNpZGViYXItbGF5b3V0LndjLWJsb2NrLWNhcnQge1xuICAgICAgICBkaXNwbGF5OiBncmlkICFpbXBvcnRhbnQ7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyICFpbXBvcnRhbnQ7XG4gICAgICAgIGdhcDogMThweCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIGJvZHkgLndjLWJsb2NrLWNhcnRfX21haW4sXG4gICAgYm9keSAud2MtYmxvY2stY2FydF9fc2lkZWJhciB7XG4gICAgICAgIHBhZGRpbmc6IDE2cHggIWltcG9ydGFudDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMjJweCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIGJvZHkgdGFibGUud2MtYmxvY2stY2FydC1pdGVtcyxcbiAgICBib2R5IHRhYmxlLndjLWJsb2NrLWNhcnQtaXRlbXMgdGhlYWQsXG4gICAgYm9keSB0YWJsZS53Yy1ibG9jay1jYXJ0LWl0ZW1zIHRib2R5LFxuICAgIGJvZHkgdGFibGUud2MtYmxvY2stY2FydC1pdGVtcyB0cixcbiAgICBib2R5IHRhYmxlLndjLWJsb2NrLWNhcnQtaXRlbXMgdGQge1xuICAgICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICAgICAgbWluLXdpZHRoOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3ggIWltcG9ydGFudDtcbiAgICAgICAgb3ZlcmZsb3c6IHZpc2libGUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICBib2R5IHRhYmxlLndjLWJsb2NrLWNhcnQtaXRlbXMgdGhlYWQge1xuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgYm9keSB0YWJsZS53Yy1ibG9jay1jYXJ0LWl0ZW1zIHRib2R5IHRyLndjLWJsb2NrLWNhcnQtaXRlbXNfX3JvdyB7XG4gICAgICAgIGRpc3BsYXk6IGdyaWQgIWltcG9ydGFudDtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgIWltcG9ydGFudDtcbiAgICAgICAgZ2FwOiAxMnB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICAgIG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgICBtYXJnaW46IDAgMCAxNnB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIHBhZGRpbmc6IDE0cHggIWltcG9ydGFudDtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0td2MyNC1ib3JkZXIpICFpbXBvcnRhbnQ7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDIwcHggIWltcG9ydGFudDtcbiAgICAgICAgYmFja2dyb3VuZDogI2ZmZiAhaW1wb3J0YW50O1xuICAgICAgICBib3gtc2hhZG93OiAwIDEwcHggMjZweCByZ2JhKDcsIDU5LCA5NSwgLjA1NSkgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICBib2R5IHRhYmxlLndjLWJsb2NrLWNhcnQtaXRlbXMgdGJvZHkgdGQsXG4gICAgYm9keSB0YWJsZS53Yy1ibG9jay1jYXJ0LWl0ZW1zIHRib2R5IHRkOmZpcnN0LWNoaWxkLFxuICAgIGJvZHkgdGFibGUud2MtYmxvY2stY2FydC1pdGVtcyB0Ym9keSB0ZDpsYXN0LWNoaWxkIHtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDEgIWltcG9ydGFudDtcbiAgICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgICAgICAgYm9yZGVyOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDAgIWltcG9ydGFudDtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIGJvZHkgLndjLWJsb2NrLWNhcnQtaXRlbV9faW1hZ2Uge1xuICAgICAgICBvcmRlcjogMSAhaW1wb3J0YW50O1xuICAgICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICBib2R5IC53Yy1ibG9jay1jYXJ0LWl0ZW1fX2ltYWdlIGEge1xuICAgICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgICBoZWlnaHQ6IDEzMnB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMThweCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIGJvZHkgLndjLWJsb2NrLWNhcnQtaXRlbV9faW1hZ2UgaW1nIHtcbiAgICAgICAgd2lkdGg6IDEwNHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIGhlaWdodDogMTA0cHggIWltcG9ydGFudDtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDRweCAhaW1wb3J0YW50O1xuICAgICAgICBtYXgtaGVpZ2h0OiAxMDRweCAhaW1wb3J0YW50O1xuICAgICAgICBtYXJnaW46IDAgYXV0byAhaW1wb3J0YW50O1xuICAgICAgICAtby1vYmplY3QtZml0OiBjb250YWluICFpbXBvcnRhbnQ7XG4gICAgICAgICAgIG9iamVjdC1maXQ6IGNvbnRhaW4gIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICBib2R5IC53Yy1ibG9jay1jYXJ0LWl0ZW1fX3Byb2R1Y3QsXG4gICAgYm9keSAud2MtYmxvY2stY2FydC1pdGVtX190b3RhbCB7XG4gICAgICAgIG9yZGVyOiAyICFpbXBvcnRhbnQ7XG4gICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICAgIG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgICBtaW4td2lkdGg6IDAgIWltcG9ydGFudDtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIGJvZHkgLndjLWJsb2NrLWNvbXBvbmVudHMtcHJvZHVjdC1uYW1lIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICAgIG1hcmdpbjogMCAwIDZweCAhaW1wb3J0YW50O1xuICAgICAgICBmb250LXNpemU6IDE3cHggIWltcG9ydGFudDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjUgIWltcG9ydGFudDtcbiAgICAgICAgd29yZC1icmVhazogYnJlYWstd29yZCAhaW1wb3J0YW50O1xuICAgICAgICBvdmVyZmxvdy13cmFwOiBhbnl3aGVyZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIGJvZHkgLndjLWJsb2NrLWNvbXBvbmVudHMtcHJvZHVjdC1tZXRhZGF0YSxcbiAgICBib2R5IC53Yy1ibG9jay1jb21wb25lbnRzLXByb2R1Y3QtbWV0YWRhdGEgcCxcbiAgICBib2R5IC53Yy1ibG9jay1jb21wb25lbnRzLXByb2R1Y3QtbWV0YWRhdGEgLndjLWJsb2NrLWNvbXBvbmVudHMtcHJvZHVjdC1tZXRhZGF0YV9fZGVzY3JpcHRpb24sXG4gICAgYm9keSAud2MtYmxvY2stY29tcG9uZW50cy1wcm9kdWN0LW1ldGFkYXRhIC53Yy1ibG9jay1jb21wb25lbnRzLXByb2R1Y3QtZGV0YWlscyB7XG4gICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICAgIG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgICBtaW4td2lkdGg6IDAgIWltcG9ydGFudDtcbiAgICAgICAgb3ZlcmZsb3ctd3JhcDogYW55d2hlcmUgIWltcG9ydGFudDtcbiAgICAgICAgd29yZC1icmVhazogYnJlYWstd29yZCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIGJvZHkgLndjLWJsb2NrLWNvbXBvbmVudHMtcHJvZHVjdC1wcmljZSxcbiAgICBib2R5IC53Yy1ibG9jay1jb21wb25lbnRzLXByb2R1Y3QtcHJpY2VfX3ZhbHVlLFxuICAgIGJvZHkgLndjLWJsb2NrLWNhcnQtaXRlbV9fdG90YWwgLndjLWJsb2NrLWNvbXBvbmVudHMtcHJvZHVjdC1wcmljZV9fdmFsdWUge1xuICAgICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgICBtYXJnaW46IDhweCAwIDAgIWltcG9ydGFudDtcbiAgICAgICAgZm9udC1zaXplOiAxOXB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICBib2R5IC53Yy1ibG9jay1jYXJ0LWl0ZW1fX3F1YW50aXR5IHtcbiAgICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwICFpbXBvcnRhbnQ7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXIgIWltcG9ydGFudDtcbiAgICAgICAgZ2FwOiAxMHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIG1hcmdpbi10b3A6IDEycHggIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICBib2R5IC53Yy1ibG9jay1jb21wb25lbnRzLXF1YW50aXR5LXNlbGVjdG9yIHtcbiAgICAgICAgZmxleDogMSAxIDE2MHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIHdpZHRoOiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICAgIG1pbi13aWR0aDogMTQ0cHggIWltcG9ydGFudDtcbiAgICAgICAgbWF4LXdpZHRoOiAyMjBweCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIGJvZHkgLndjLWJsb2NrLWNhcnQtaXRlbV9fcmVtb3ZlLWxpbmsge1xuICAgICAgICBmbGV4OiAwIDAgNDRweCAhaW1wb3J0YW50O1xuICAgICAgICB3aWR0aDogNDRweCAhaW1wb3J0YW50O1xuICAgICAgICBoZWlnaHQ6IDQ0cHggIWltcG9ydGFudDtcbiAgICAgICAgbWluLXdpZHRoOiA0NHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIGJvZHkgLndjLWJsb2NrLWNhcnRfX3RvdGFscy10aXRsZSxcbiAgICBib2R5IC53Yy1ibG9jay1jb21wb25lbnRzLXRvdGFscy1pdGVtX192YWx1ZSxcbiAgICBib2R5IC53Yy1ibG9jay1jb21wb25lbnRzLXRvdGFscy1mb290ZXItaXRlbS10YXgtdmFsdWUge1xuICAgICAgICB3b3JkLWJyZWFrOiBicmVhay13b3JkICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgYm9keSAud2MtYmxvY2stY2FydF9fc3VibWl0LWJ1dHRvbixcbiAgICBib2R5IC53Yy1ibG9jay1jb21wb25lbnRzLWJ1dHRvbi53Yy1ibG9jay1jYXJ0X19zdWJtaXQtYnV0dG9uIHtcbiAgICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICAgICAgbWluLXdpZHRoOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3JtYWwgIWltcG9ydGFudDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFdvb0NvbW1lcmNlIGNhcnQgbW9iaWxlIGhhcmQgZml4IC0gdjEuMjUuN1xuICAgRW5nbGlzaCBjb21tZW50OiBTdXBwb3J0IG5ld2VyIFdvb0NvbW1lcmNlIEJsb2NrcyBtYXJrdXAgYW5kIHN0b3AgaW1hZ2UvcHJpY2UvcXVhbnRpdHkgb3ZlcmxhcCBvbiBwaG9uZXMuXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgIGJvZHkgLndwLWJsb2NrLXdvb2NvbW1lcmNlLWNhcnQsXG4gICAgYm9keSAud2MtYmxvY2stY29tcG9uZW50cy1zaWRlYmFyLWxheW91dCxcbiAgICBib2R5IC53Yy1ibG9jay1jb21wb25lbnRzLXNpZGViYXItbGF5b3V0LndjLWJsb2NrLWNhcnQsXG4gICAgYm9keSAud2MtYmxvY2stY2FydCxcbiAgICBib2R5IC53Yy1ibG9jay1jYXJ0X19tYWluLFxuICAgIGJvZHkgLndjLWJsb2NrLWNhcnRfX3NpZGViYXIsXG4gICAgYm9keSAud2MtYmxvY2stY29tcG9uZW50cy1tYWluLFxuICAgIGJvZHkgLndjLWJsb2NrLWNvbXBvbmVudHMtc2lkZWJhciB7XG4gICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICAgIG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgICBtaW4td2lkdGg6IDAgIWltcG9ydGFudDtcbiAgICAgICAgb3ZlcmZsb3cteDogaGlkZGVuICFpbXBvcnRhbnQ7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3ggIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICBib2R5IC53cC1ibG9jay13b29jb21tZXJjZS1jYXJ0IHtcbiAgICAgICAgd2lkdGg6IG1pbigxMDAlIC0gMThweCwgMTMyMHB4KSAhaW1wb3J0YW50O1xuICAgICAgICBtYXJnaW4tbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICBib2R5IC53Yy1ibG9jay1jb21wb25lbnRzLXNpZGViYXItbGF5b3V0LndjLWJsb2NrLWNhcnQsXG4gICAgYm9keSAud2MtYmxvY2stY29tcG9uZW50cy1zaWRlYmFyLWxheW91dCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbiAhaW1wb3J0YW50O1xuICAgICAgICBnYXA6IDE4cHggIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICBib2R5IC53Yy1ibG9jay1jYXJ0LWl0ZW1zLFxuICAgIGJvZHkgLndjLWJsb2NrLWNhcnQtaXRlbXMgdGJvZHksXG4gICAgYm9keSAud2MtYmxvY2stY2FydC1pdGVtcyB0cixcbiAgICBib2R5IC53Yy1ibG9jay1jYXJ0LWl0ZW1zIHRkLFxuICAgIGJvZHkgLndjLWJsb2NrLWNhcnQtaXRlbXMgdGgsXG4gICAgYm9keSAud2MtYmxvY2stY2FydC1pdGVtc19fcm93LFxuICAgIGJvZHkgLndjLWJsb2NrLWNhcnQtaXRlbV9faW1hZ2UsXG4gICAgYm9keSAud2MtYmxvY2stY2FydC1pdGVtX19wcm9kdWN0LFxuICAgIGJvZHkgLndjLWJsb2NrLWNhcnQtaXRlbV9fdG90YWwge1xuICAgICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICAgICAgbWluLXdpZHRoOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIGZsb2F0OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgIGNsZWFyOiBib3RoICFpbXBvcnRhbnQ7XG4gICAgICAgIHBvc2l0aW9uOiBzdGF0aWMgIWltcG9ydGFudDtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveCAhaW1wb3J0YW50O1xuICAgICAgICBvdmVyZmxvdzogdmlzaWJsZSAhaW1wb3J0YW50O1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0ICFpbXBvcnRhbnQ7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3AgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICBib2R5IC53Yy1ibG9jay1jYXJ0LWl0ZW1zIHRoZWFkLFxuICAgIGJvZHkgLndjLWJsb2NrLWNhcnQtaXRlbXNfX2hlYWRlciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICBib2R5IC53Yy1ibG9jay1jYXJ0LWl0ZW1zX19yb3csXG4gICAgYm9keSB0YWJsZS53Yy1ibG9jay1jYXJ0LWl0ZW1zIHRib2R5IHRyLndjLWJsb2NrLWNhcnQtaXRlbXNfX3JvdyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbiAhaW1wb3J0YW50O1xuICAgICAgICBhbGlnbi1pdGVtczogc3RyZXRjaCAhaW1wb3J0YW50O1xuICAgICAgICBnYXA6IDEycHggIWltcG9ydGFudDtcbiAgICAgICAgbWFyZ2luOiAwIDAgMTZweCAhaW1wb3J0YW50O1xuICAgICAgICBwYWRkaW5nOiAxNHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDIwcHggIWltcG9ydGFudDtcbiAgICAgICAgYmFja2dyb3VuZDogI2ZmZiAhaW1wb3J0YW50O1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS13YzI0LWJvcmRlcikgIWltcG9ydGFudDtcbiAgICAgICAgYm94LXNoYWRvdzogMCAxMHB4IDI2cHggcmdiYSg3LCA1OSwgOTUsIC4wNTUpICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgYm9keSAud2MtYmxvY2stY2FydC1pdGVtc19fcm93ID4gdGQsXG4gICAgYm9keSB0YWJsZS53Yy1ibG9jay1jYXJ0LWl0ZW1zIHRib2R5IHRyLndjLWJsb2NrLWNhcnQtaXRlbXNfX3JvdyA+IHRkIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgICAgICAgYm9yZGVyOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgYm9keSAud2MtYmxvY2stY2FydC1pdGVtX19pbWFnZSB7XG4gICAgICAgIG9yZGVyOiAxICFpbXBvcnRhbnQ7XG4gICAgICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXIgIWltcG9ydGFudDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlciAhaW1wb3J0YW50O1xuICAgICAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgYm9keSAud2MtYmxvY2stY2FydC1pdGVtX19pbWFnZSBhLFxuICAgIGJvZHkgLndjLWJsb2NrLWNhcnQtaXRlbV9faW1hZ2UgLndjLWJsb2NrLWNvbXBvbmVudHMtcHJvZHVjdC1pbWFnZSB7XG4gICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICAgIGhlaWdodDogMTMycHggIWltcG9ydGFudDtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlciAhaW1wb3J0YW50O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlciAhaW1wb3J0YW50O1xuICAgICAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgICAgICAgcGFkZGluZzogMTJweCAhaW1wb3J0YW50O1xuICAgICAgICBib3JkZXItcmFkaXVzOiAxOHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsICNmZmZmZmYsIHZhcigtLXdjMjQtc29mdCkpICFpbXBvcnRhbnQ7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLXdjMjQtYm9yZGVyKSAhaW1wb3J0YW50O1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuICFpbXBvcnRhbnQ7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3ggIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICBib2R5IC53Yy1ibG9jay1jYXJ0LWl0ZW1fX2ltYWdlIGltZyB7XG4gICAgICAgIHdpZHRoOiAxMDRweCAhaW1wb3J0YW50O1xuICAgICAgICBoZWlnaHQ6IDEwNHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIG1heC13aWR0aDogMTA0cHggIWltcG9ydGFudDtcbiAgICAgICAgbWF4LWhlaWdodDogMTA0cHggIWltcG9ydGFudDtcbiAgICAgICAgLW8tb2JqZWN0LWZpdDogY29udGFpbiAhaW1wb3J0YW50O1xuICAgICAgICAgICBvYmplY3QtZml0OiBjb250YWluICFpbXBvcnRhbnQ7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICAgIHBvc2l0aW9uOiBzdGF0aWMgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICBib2R5IC53Yy1ibG9jay1jYXJ0LWl0ZW1fX3Byb2R1Y3Qge1xuICAgICAgICBvcmRlcjogMiAhaW1wb3J0YW50O1xuICAgICAgICBkaXNwbGF5OiBncmlkICFpbXBvcnRhbnQ7XG4gICAgICAgIGdhcDogOHB4ICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgYm9keSAud2MtYmxvY2stY2FydC1pdGVtX190b3RhbCB7XG4gICAgICAgIG9yZGVyOiAzICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgYm9keSAud2MtYmxvY2stY29tcG9uZW50cy1wcm9kdWN0LW5hbWUsXG4gICAgYm9keSAud2MtYmxvY2stY2FydC1pdGVtX19wcm9kdWN0IC53Yy1ibG9jay1jb21wb25lbnRzLXByb2R1Y3QtbmFtZSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICAgICAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIGNvbG9yOiB2YXIoLS13YzI0LXRleHQpICFpbXBvcnRhbnQ7XG4gICAgICAgIGZvbnQtc2l6ZTogMThweCAhaW1wb3J0YW50O1xuICAgICAgICBsaW5lLWhlaWdodDogMS4yMyAhaW1wb3J0YW50O1xuICAgICAgICBmb250LXdlaWdodDogOTUwICFpbXBvcnRhbnQ7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAtLjAyZW0gIWltcG9ydGFudDtcbiAgICAgICAgb3ZlcmZsb3ctd3JhcDogYW55d2hlcmUgIWltcG9ydGFudDtcbiAgICAgICAgd29yZC1icmVhazogYnJlYWstd29yZCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIGJvZHkgLndjLWJsb2NrLWNvbXBvbmVudHMtcHJvZHVjdC1tZXRhZGF0YSxcbiAgICBib2R5IC53Yy1ibG9jay1jb21wb25lbnRzLXByb2R1Y3QtbWV0YWRhdGFfX2Rlc2NyaXB0aW9uLFxuICAgIGJvZHkgLndjLWJsb2NrLWNvbXBvbmVudHMtcHJvZHVjdC1kZXRhaWxzLFxuICAgIGJvZHkgLndjLWJsb2NrLWNvbXBvbmVudHMtcHJvZHVjdC1tZXRhZGF0YSBwIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICAgICAgICBjb2xvcjogdmFyKC0td2MyNC1tdXRlZCkgIWltcG9ydGFudDtcbiAgICAgICAgZm9udC1zaXplOiAxNHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ1ICFpbXBvcnRhbnQ7XG4gICAgICAgIG92ZXJmbG93LXdyYXA6IGFueXdoZXJlICFpbXBvcnRhbnQ7XG4gICAgICAgIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICBib2R5IC53Yy1ibG9jay1jYXJ0LWl0ZW1fX3ByaWNlcyxcbiAgICBib2R5IC53Yy1ibG9jay1jb21wb25lbnRzLXByb2R1Y3QtcHJpY2UsXG4gICAgYm9keSAud2MtYmxvY2stY29tcG9uZW50cy1wcm9kdWN0LXByaWNlX192YWx1ZSxcbiAgICBib2R5IC53Yy1ibG9jay1jYXJ0LWl0ZW1fX3RvdGFsIC53Yy1ibG9jay1jb21wb25lbnRzLXByb2R1Y3QtcHJpY2VfX3ZhbHVlLFxuICAgIGJvZHkgLndjLWJsb2NrLWNhcnQtaXRlbV9fdG90YWwtcHJpY2UtYW5kLXNhbGUtYmFkZ2Utd3JhcHBlciB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICAgIG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgICAgICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICAgICAgICBjb2xvcjogdmFyKC0td2MyNC10ZXh0KSAhaW1wb3J0YW50O1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0ICFpbXBvcnRhbnQ7XG4gICAgICAgIHBvc2l0aW9uOiBzdGF0aWMgIWltcG9ydGFudDtcbiAgICAgICAgZmxvYXQ6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgY2xlYXI6IGJvdGggIWltcG9ydGFudDtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vcm1hbCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIGJvZHkgLndjLWJsb2NrLWNvbXBvbmVudHMtcHJvZHVjdC1wcmljZV9fdmFsdWUsXG4gICAgYm9keSAud2MtYmxvY2stY29tcG9uZW50cy1wcm9kdWN0LXByaWNlIC5hbW91bnQsXG4gICAgYm9keSAud2MtYmxvY2stY2FydC1pdGVtX190b3RhbCAud2MtYmxvY2stY29tcG9uZW50cy1wcm9kdWN0LXByaWNlX192YWx1ZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMjBweCAhaW1wb3J0YW50O1xuICAgICAgICBsaW5lLWhlaWdodDogMS4yICFpbXBvcnRhbnQ7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA5NTAgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICBib2R5IC53Yy1ibG9jay1jYXJ0LWl0ZW1fX3F1YW50aXR5IHtcbiAgICAgICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXAgIWltcG9ydGFudDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlciAhaW1wb3J0YW50O1xuICAgICAgICBnYXA6IDEwcHggIWltcG9ydGFudDtcbiAgICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICAgIG1hcmdpbjogNHB4IDAgMCAhaW1wb3J0YW50O1xuICAgICAgICBwb3NpdGlvbjogc3RhdGljICFpbXBvcnRhbnQ7XG4gICAgICAgIGZsb2F0OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgIGNsZWFyOiBib3RoICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgYm9keSAud2MtYmxvY2stY29tcG9uZW50cy1xdWFudGl0eS1zZWxlY3RvciB7XG4gICAgICAgIGZsZXg6IDEgMSAxNTZweCAhaW1wb3J0YW50O1xuICAgICAgICB3aWR0aDogYXV0byAhaW1wb3J0YW50O1xuICAgICAgICBtYXgtd2lkdGg6IDIxMHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIG1pbi13aWR0aDogMTQycHggIWltcG9ydGFudDtcbiAgICAgICAgaGVpZ2h0OiA0NnB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIGJvZHkgLndjLWJsb2NrLWNhcnQtaXRlbV9fcmVtb3ZlLWxpbmssXG4gICAgYm9keSAud2MtYmxvY2stY2FydC1pdGVtX19yZW1vdmUtbGlua1thcmlhLWxhYmVsXSB7XG4gICAgICAgIGZsZXg6IDAgMCA0NnB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIHdpZHRoOiA0NnB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIGhlaWdodDogNDZweCAhaW1wb3J0YW50O1xuICAgICAgICBtaW4td2lkdGg6IDQ2cHggIWltcG9ydGFudDtcbiAgICAgICAgbWF4LXdpZHRoOiA0NnB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICAgICAgICBib3JkZXItcmFkaXVzOiAxNHB4ICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgYm9keSAud2MtYmxvY2stY2FydF9fdG90YWxzLXRpdGxlLFxuICAgIGJvZHkgLndjLWJsb2NrLWNvbXBvbmVudHMtdG90YWxzLWl0ZW0sXG4gICAgYm9keSAud2MtYmxvY2stY29tcG9uZW50cy10b3RhbHMtaXRlbV9fbGFiZWwsXG4gICAgYm9keSAud2MtYmxvY2stY29tcG9uZW50cy10b3RhbHMtaXRlbV9fdmFsdWUsXG4gICAgYm9keSAud2MtYmxvY2stY29tcG9uZW50cy10b3RhbHMtZm9vdGVyLWl0ZW0sXG4gICAgYm9keSAud2MtYmxvY2stY29tcG9uZW50cy10b3RhbHMtZm9vdGVyLWl0ZW0gLndjLWJsb2NrLWNvbXBvbmVudHMtdG90YWxzLWl0ZW1fX3ZhbHVlIHtcbiAgICAgICAgbWluLXdpZHRoOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgICBvdmVyZmxvdy13cmFwOiBhbnl3aGVyZSAhaW1wb3J0YW50O1xuICAgICAgICB3b3JkLWJyZWFrOiBicmVhay13b3JkICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFdvb0NvbW1lcmNlIGNhcnQgbW9iaWxlIGhhcmQgZml4IC0gdjEuMjUuOFxuICAgRW5nbGlzaCBjb21tZW50OiBIaWRlIHRoZSBkdXBsaWNhdGUgdG90YWwgY29sdW1uIG9uIG1vYmlsZSBhbmQgZm9yY2UgY2FydCByb3dzIGludG8gbm9uLW92ZXJsYXBwaW5nIGNhcmRzLlxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5AbWVkaWEgKG1heC13aWR0aDogNzgycHgpIHtcbiAgICBib2R5Lndvb2NvbW1lcmNlLWNhcnQsXG4gICAgYm9keS53b29jb21tZXJjZS1jYXJ0ICNwYWdlLFxuICAgIGJvZHkud29vY29tbWVyY2UtY2FydCAuc2l0ZSxcbiAgICBib2R5Lndvb2NvbW1lcmNlLWNhcnQgbWFpbixcbiAgICBib2R5Lndvb2NvbW1lcmNlLWNhcnQgLnNpdGUtbWFpbixcbiAgICBib2R5Lndvb2NvbW1lcmNlLWNhcnQgLmVudHJ5LWNvbnRlbnQsXG4gICAgYm9keS53b29jb21tZXJjZS1jYXJ0IC53cC1ibG9jay13b29jb21tZXJjZS1jYXJ0LFxuICAgIGJvZHkud29vY29tbWVyY2UtY2FydCAud2MtYmxvY2stY2FydCxcbiAgICBib2R5Lndvb2NvbW1lcmNlLWNhcnQgLndjLWJsb2NrLWNhcnRfX21haW4sXG4gICAgYm9keS53b29jb21tZXJjZS1jYXJ0IC53Yy1ibG9jay1jYXJ0X19zaWRlYmFyLFxuICAgIGJvZHkud29vY29tbWVyY2UtY2FydCAud2MtYmxvY2stY29tcG9uZW50cy1zaWRlYmFyLWxheW91dCxcbiAgICBib2R5Lndvb2NvbW1lcmNlLWNhcnQgLndjLWJsb2NrLWNvbXBvbmVudHMtbWFpbixcbiAgICBib2R5Lndvb2NvbW1lcmNlLWNhcnQgLndjLWJsb2NrLWNvbXBvbmVudHMtc2lkZWJhciB7XG4gICAgICAgIG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgICBtaW4td2lkdGg6IDAgIWltcG9ydGFudDtcbiAgICAgICAgb3ZlcmZsb3cteDogaGlkZGVuICFpbXBvcnRhbnQ7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3ggIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICBib2R5Lndvb2NvbW1lcmNlLWNhcnQgLndwLWJsb2NrLXdvb2NvbW1lcmNlLWNhcnQge1xuICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gMThweCkgIWltcG9ydGFudDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgYm9keS53b29jb21tZXJjZS1jYXJ0IC53Yy1ibG9jay1jb21wb25lbnRzLXNpZGViYXItbGF5b3V0LFxuICAgIGJvZHkud29vY29tbWVyY2UtY2FydCAud2MtYmxvY2stY29tcG9uZW50cy1zaWRlYmFyLWxheW91dC53Yy1ibG9jay1jYXJ0IHtcbiAgICAgICAgZGlzcGxheTogZ3JpZCAhaW1wb3J0YW50O1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAhaW1wb3J0YW50O1xuICAgICAgICBnYXA6IDE4cHggIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICBib2R5Lndvb2NvbW1lcmNlLWNhcnQgdGFibGUud2MtYmxvY2stY2FydC1pdGVtcyxcbiAgICBib2R5Lndvb2NvbW1lcmNlLWNhcnQgdGFibGUud2MtYmxvY2stY2FydC1pdGVtcyB0Ym9keSxcbiAgICBib2R5Lndvb2NvbW1lcmNlLWNhcnQgdGFibGUud2MtYmxvY2stY2FydC1pdGVtcyB0cixcbiAgICBib2R5Lndvb2NvbW1lcmNlLWNhcnQgdGFibGUud2MtYmxvY2stY2FydC1pdGVtcyB0ZCxcbiAgICBib2R5Lndvb2NvbW1lcmNlLWNhcnQgLndjLWJsb2NrLWNhcnQtaXRlbXMsXG4gICAgYm9keS53b29jb21tZXJjZS1jYXJ0IC53Yy1ibG9jay1jYXJ0LWl0ZW1zIHRib2R5LFxuICAgIGJvZHkud29vY29tbWVyY2UtY2FydCAud2MtYmxvY2stY2FydC1pdGVtcyB0cixcbiAgICBib2R5Lndvb2NvbW1lcmNlLWNhcnQgLndjLWJsb2NrLWNhcnQtaXRlbXMgdGQge1xuICAgICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICAgICAgbWluLXdpZHRoOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIGZsb2F0OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgIGNsZWFyOiBib3RoICFpbXBvcnRhbnQ7XG4gICAgICAgIHBvc2l0aW9uOiBzdGF0aWMgIWltcG9ydGFudDtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveCAhaW1wb3J0YW50O1xuICAgICAgICBvdmVyZmxvdzogdmlzaWJsZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIGJvZHkud29vY29tbWVyY2UtY2FydCB0YWJsZS53Yy1ibG9jay1jYXJ0LWl0ZW1zIHRoZWFkLFxuICAgIGJvZHkud29vY29tbWVyY2UtY2FydCAud2MtYmxvY2stY2FydC1pdGVtcyB0aGVhZCxcbiAgICBib2R5Lndvb2NvbW1lcmNlLWNhcnQgLndjLWJsb2NrLWNhcnQtaXRlbXNfX2hlYWRlciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICBib2R5Lndvb2NvbW1lcmNlLWNhcnQgdGFibGUud2MtYmxvY2stY2FydC1pdGVtcyB0ci53Yy1ibG9jay1jYXJ0LWl0ZW1zX19yb3csXG4gICAgYm9keS53b29jb21tZXJjZS1jYXJ0IC53Yy1ibG9jay1jYXJ0LWl0ZW1zX19yb3cge1xuICAgICAgICBkaXNwbGF5OiBncmlkICFpbXBvcnRhbnQ7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogODZweCBtaW5tYXgoMCwgMWZyKSAhaW1wb3J0YW50O1xuICAgICAgICBncmlkLXRlbXBsYXRlLWFyZWFzOlxuICAgICAgICAgICAgXCJpbWFnZSBwcm9kdWN0XCJcbiAgICAgICAgICAgIFwiaW1hZ2UgcHJvZHVjdFwiXG4gICAgICAgICAgICBcInF1YW50aXR5IHF1YW50aXR5XCIgIWltcG9ydGFudDtcbiAgICAgICAgZ2FwOiAxMnB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBzdGFydCAhaW1wb3J0YW50O1xuICAgICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICAgICAgbWFyZ2luOiAwIDAgMTZweCAhaW1wb3J0YW50O1xuICAgICAgICBwYWRkaW5nOiAxNHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLXdjMjQtYm9yZGVyLCAjRDdFQ0Y0KSAhaW1wb3J0YW50O1xuICAgICAgICBib3JkZXItcmFkaXVzOiAyMHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIGJhY2tncm91bmQ6ICNmZmYgIWltcG9ydGFudDtcbiAgICAgICAgYm94LXNoYWRvdzogMCAxMHB4IDI2cHggcmdiYSg3LCA1OSwgOTUsIC4wNikgIWltcG9ydGFudDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbiAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIGJvZHkud29vY29tbWVyY2UtY2FydCB0YWJsZS53Yy1ibG9jay1jYXJ0LWl0ZW1zIHRyLndjLWJsb2NrLWNhcnQtaXRlbXNfX3JvdyA+IHRkLFxuICAgIGJvZHkud29vY29tbWVyY2UtY2FydCAud2MtYmxvY2stY2FydC1pdGVtc19fcm93ID4gdGQge1xuICAgICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgICAgICB3aWR0aDogYXV0byAhaW1wb3J0YW50O1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICAgICAgbWluLXdpZHRoOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgICAgICAgYm9yZGVyOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgYm9keS53b29jb21tZXJjZS1jYXJ0IC53Yy1ibG9jay1jYXJ0LWl0ZW1fX2ltYWdlIHtcbiAgICAgICAgZ3JpZC1hcmVhOiBpbWFnZSAhaW1wb3J0YW50O1xuICAgICAgICB3aWR0aDogODZweCAhaW1wb3J0YW50O1xuICAgICAgICBtYXgtd2lkdGg6IDg2cHggIWltcG9ydGFudDtcbiAgICAgICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIGJvZHkud29vY29tbWVyY2UtY2FydCAud2MtYmxvY2stY2FydC1pdGVtX19pbWFnZSBhLFxuICAgIGJvZHkud29vY29tbWVyY2UtY2FydCAud2MtYmxvY2stY2FydC1pdGVtX19pbWFnZSAud2MtYmxvY2stY29tcG9uZW50cy1wcm9kdWN0LWltYWdlIHtcbiAgICAgICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xuICAgICAgICB3aWR0aDogODZweCAhaW1wb3J0YW50O1xuICAgICAgICBoZWlnaHQ6IDg2cHggIWltcG9ydGFudDtcbiAgICAgICAgbWF4LXdpZHRoOiA4NnB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXIgIWltcG9ydGFudDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXIgIWltcG9ydGFudDtcbiAgICAgICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIHBhZGRpbmc6IDhweCAhaW1wb3J0YW50O1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS13YzI0LWJvcmRlciwgI0Q3RUNGNCkgIWltcG9ydGFudDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMTZweCAhaW1wb3J0YW50O1xuICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCAjZmZmLCB2YXIoLS13YzI0LXNvZnQsICNFRUY4RkIpKSAhaW1wb3J0YW50O1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuICFpbXBvcnRhbnQ7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3ggIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICBib2R5Lndvb2NvbW1lcmNlLWNhcnQgLndjLWJsb2NrLWNhcnQtaXRlbV9faW1hZ2UgaW1nIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICAgICAgd2lkdGg6IDcwcHggIWltcG9ydGFudDtcbiAgICAgICAgaGVpZ2h0OiA3MHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIG1heC13aWR0aDogNzBweCAhaW1wb3J0YW50O1xuICAgICAgICBtYXgtaGVpZ2h0OiA3MHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICAgIC1vLW9iamVjdC1maXQ6IGNvbnRhaW4gIWltcG9ydGFudDtcbiAgICAgICAgICAgb2JqZWN0LWZpdDogY29udGFpbiAhaW1wb3J0YW50O1xuICAgICAgICBwb3NpdGlvbjogc3RhdGljICFpbXBvcnRhbnQ7XG4gICAgICAgIGZsb2F0OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgYm9keS53b29jb21tZXJjZS1jYXJ0IC53Yy1ibG9jay1jYXJ0LWl0ZW1fX3Byb2R1Y3Qge1xuICAgICAgICBncmlkLWFyZWE6IHByb2R1Y3QgIWltcG9ydGFudDtcbiAgICAgICAgZGlzcGxheTogZ3JpZCAhaW1wb3J0YW50O1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAhaW1wb3J0YW50O1xuICAgICAgICBnYXA6IDdweCAhaW1wb3J0YW50O1xuICAgICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICAgICAgbWluLXdpZHRoOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW4gIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICBib2R5Lndvb2NvbW1lcmNlLWNhcnQgLndjLWJsb2NrLWNhcnQtaXRlbV9fdG90YWwge1xuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgYm9keS53b29jb21tZXJjZS1jYXJ0IC53Yy1ibG9jay1jb21wb25lbnRzLXByb2R1Y3QtbmFtZSxcbiAgICBib2R5Lndvb2NvbW1lcmNlLWNhcnQgLndjLWJsb2NrLWNhcnQtaXRlbV9fcHJvZHVjdCAud2MtYmxvY2stY29tcG9uZW50cy1wcm9kdWN0LW5hbWUge1xuICAgICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICAgICAgbWluLXdpZHRoOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICAgICAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIGNvbG9yOiB2YXIoLS13YzI0LXRleHQsICMwNzNCNUYpICFpbXBvcnRhbnQ7XG4gICAgICAgIGZvbnQtc2l6ZTogMTZweCAhaW1wb3J0YW50O1xuICAgICAgICBsaW5lLWhlaWdodDogMS4yMiAhaW1wb3J0YW50O1xuICAgICAgICBmb250LXdlaWdodDogOTUwICFpbXBvcnRhbnQ7XG4gICAgICAgIG92ZXJmbG93LXdyYXA6IGFueXdoZXJlICFpbXBvcnRhbnQ7XG4gICAgICAgIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICBib2R5Lndvb2NvbW1lcmNlLWNhcnQgLndjLWJsb2NrLWNhcnQtaXRlbV9fcHJpY2VzLFxuICAgIGJvZHkud29vY29tbWVyY2UtY2FydCAud2MtYmxvY2stY29tcG9uZW50cy1wcm9kdWN0LXByaWNlLFxuICAgIGJvZHkud29vY29tbWVyY2UtY2FydCAud2MtYmxvY2stY29tcG9uZW50cy1wcm9kdWN0LXByaWNlX192YWx1ZSxcbiAgICBib2R5Lndvb2NvbW1lcmNlLWNhcnQgLndjLWJsb2NrLWNvbXBvbmVudHMtcHJvZHVjdC1wcmljZSAuYW1vdW50LFxuICAgIGJvZHkud29vY29tbWVyY2UtY2FydCAud2MtYmxvY2stY29tcG9uZW50cy1wcm9kdWN0LXByaWNlIGJkaSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICAgIG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgICBjb2xvcjogdmFyKC0td2MyNC10ZXh0LCAjMDczQjVGKSAhaW1wb3J0YW50O1xuICAgICAgICBmb250LXNpemU6IDE3cHggIWltcG9ydGFudDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMiAhaW1wb3J0YW50O1xuICAgICAgICBmb250LXdlaWdodDogOTUwICFpbXBvcnRhbnQ7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQgIWltcG9ydGFudDtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vcm1hbCAhaW1wb3J0YW50O1xuICAgICAgICBwb3NpdGlvbjogc3RhdGljICFpbXBvcnRhbnQ7XG4gICAgICAgIGZsb2F0OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgYm9keS53b29jb21tZXJjZS1jYXJ0IC53Yy1ibG9jay1jb21wb25lbnRzLXByb2R1Y3QtbWV0YWRhdGEsXG4gICAgYm9keS53b29jb21tZXJjZS1jYXJ0IC53Yy1ibG9jay1jb21wb25lbnRzLXByb2R1Y3QtbWV0YWRhdGFfX2Rlc2NyaXB0aW9uLFxuICAgIGJvZHkud29vY29tbWVyY2UtY2FydCAud2MtYmxvY2stY29tcG9uZW50cy1wcm9kdWN0LWRldGFpbHMsXG4gICAgYm9keS53b29jb21tZXJjZS1jYXJ0IC53Yy1ibG9jay1jb21wb25lbnRzLXByb2R1Y3QtbWV0YWRhdGEgcCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICAgIG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgICAgICAgY29sb3I6IHZhcigtLXdjMjQtbXV0ZWQsICM1RjcxODEpICFpbXBvcnRhbnQ7XG4gICAgICAgIGZvbnQtc2l6ZTogMTNweCAhaW1wb3J0YW50O1xuICAgICAgICBsaW5lLWhlaWdodDogMS40MiAhaW1wb3J0YW50O1xuICAgICAgICBvdmVyZmxvdy13cmFwOiBhbnl3aGVyZSAhaW1wb3J0YW50O1xuICAgICAgICB3b3JkLWJyZWFrOiBicmVhay13b3JkICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgYm9keS53b29jb21tZXJjZS1jYXJ0IC53Yy1ibG9jay1jYXJ0LWl0ZW1fX3F1YW50aXR5IHtcbiAgICAgICAgZ3JpZC1hcmVhOiBxdWFudGl0eSAhaW1wb3J0YW50O1xuICAgICAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcCAhaW1wb3J0YW50O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyICFpbXBvcnRhbnQ7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydCAhaW1wb3J0YW50O1xuICAgICAgICBnYXA6IDEwcHggIWltcG9ydGFudDtcbiAgICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICAgIG1hcmdpbjogNHB4IDAgMCAhaW1wb3J0YW50O1xuICAgICAgICBwYWRkaW5nLXRvcDogMTBweCAhaW1wb3J0YW50O1xuICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0td2MyNC1ib3JkZXIsICNEN0VDRjQpICFpbXBvcnRhbnQ7XG4gICAgICAgIHBvc2l0aW9uOiBzdGF0aWMgIWltcG9ydGFudDtcbiAgICAgICAgZmxvYXQ6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgY2xlYXI6IGJvdGggIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICBib2R5Lndvb2NvbW1lcmNlLWNhcnQgLndjLWJsb2NrLWNvbXBvbmVudHMtcXVhbnRpdHktc2VsZWN0b3Ige1xuICAgICAgICBmbGV4OiAxIDEgMTYwcHggIWltcG9ydGFudDtcbiAgICAgICAgd2lkdGg6IGF1dG8gIWltcG9ydGFudDtcbiAgICAgICAgbWF4LXdpZHRoOiAyMTBweCAhaW1wb3J0YW50O1xuICAgICAgICBtaW4td2lkdGg6IDE0NnB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIGhlaWdodDogNDRweCAhaW1wb3J0YW50O1xuICAgICAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICBib2R5Lndvb2NvbW1lcmNlLWNhcnQgLndjLWJsb2NrLWNhcnQtaXRlbV9fcmVtb3ZlLWxpbmssXG4gICAgYm9keS53b29jb21tZXJjZS1jYXJ0IC53Yy1ibG9jay1jYXJ0LWl0ZW1fX3JlbW92ZS1saW5rW2FyaWEtbGFiZWxdIHtcbiAgICAgICAgZmxleDogMCAwIDQ0cHggIWltcG9ydGFudDtcbiAgICAgICAgd2lkdGg6IDQ0cHggIWltcG9ydGFudDtcbiAgICAgICAgaGVpZ2h0OiA0NHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIG1pbi13aWR0aDogNDRweCAhaW1wb3J0YW50O1xuICAgICAgICBtYXgtd2lkdGg6IDQ0cHggIWltcG9ydGFudDtcbiAgICAgICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMTRweCAhaW1wb3J0YW50O1xuICAgIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDQyMHB4KSB7XG4gICAgYm9keS53b29jb21tZXJjZS1jYXJ0IHRhYmxlLndjLWJsb2NrLWNhcnQtaXRlbXMgdHIud2MtYmxvY2stY2FydC1pdGVtc19fcm93LFxuICAgIGJvZHkud29vY29tbWVyY2UtY2FydCAud2MtYmxvY2stY2FydC1pdGVtc19fcm93IHtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiA3NHB4IG1pbm1heCgwLCAxZnIpICFpbXBvcnRhbnQ7XG4gICAgICAgIGdhcDogMTBweCAhaW1wb3J0YW50O1xuICAgICAgICBwYWRkaW5nOiAxMnB4ICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgYm9keS53b29jb21tZXJjZS1jYXJ0IC53Yy1ibG9jay1jYXJ0LWl0ZW1fX2ltYWdlLFxuICAgIGJvZHkud29vY29tbWVyY2UtY2FydCAud2MtYmxvY2stY2FydC1pdGVtX19pbWFnZSBhLFxuICAgIGJvZHkud29vY29tbWVyY2UtY2FydCAud2MtYmxvY2stY2FydC1pdGVtX19pbWFnZSAud2MtYmxvY2stY29tcG9uZW50cy1wcm9kdWN0LWltYWdlIHtcbiAgICAgICAgd2lkdGg6IDc0cHggIWltcG9ydGFudDtcbiAgICAgICAgbWF4LXdpZHRoOiA3NHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIGhlaWdodDogNzRweCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIGJvZHkud29vY29tbWVyY2UtY2FydCAud2MtYmxvY2stY2FydC1pdGVtX19pbWFnZSBpbWcge1xuICAgICAgICB3aWR0aDogNjBweCAhaW1wb3J0YW50O1xuICAgICAgICBoZWlnaHQ6IDYwcHggIWltcG9ydGFudDtcbiAgICAgICAgbWF4LXdpZHRoOiA2MHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIG1heC1oZWlnaHQ6IDYwcHggIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICBib2R5Lndvb2NvbW1lcmNlLWNhcnQgLndjLWJsb2NrLWNvbXBvbmVudHMtcHJvZHVjdC1uYW1lLFxuICAgIGJvZHkud29vY29tbWVyY2UtY2FydCAud2MtYmxvY2stY2FydC1pdGVtX19wcm9kdWN0IC53Yy1ibG9jay1jb21wb25lbnRzLXByb2R1Y3QtbmFtZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTVweCAhaW1wb3J0YW50O1xuICAgIH1cbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBXb29Db21tZXJjZSBzaG9wL2FyY2hpdmUgcGFnZXM6IGRlZmF1bHQgcHJvZHVjdCBncmlkXG4gICBWZXJzaW9uIDEuMjYuMFxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5ib2R5Lndvb2NvbW1lcmNlLXNob3AsXG5ib2R5LnBvc3QtdHlwZS1hcmNoaXZlLXByb2R1Y3QsXG5ib2R5LnRheC1wcm9kdWN0X2NhdCxcbmJvZHkudGF4LXByb2R1Y3RfdGFnIHtcbiAgICBvdmVyZmxvdy14OiBjbGlwO1xuICAgIGJhY2tncm91bmQ6XG4gICAgICAgIHJhZGlhbC1ncmFkaWVudChjaXJjbGUgYXQgdG9wIGxlZnQsIHJnYmEoMTYsIDE3MSwgMTgyLCAwLjEyKSwgdHJhbnNwYXJlbnQgMzJyZW0pLFxuICAgICAgICBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCAjRjRGQkZFIDAlLCAjRkZGRkZGIDQyJSwgI0Y4RkNGRSAxMDAlKTtcbn1cblxuYm9keS53b29jb21tZXJjZS1zaG9wICNtYWluLnNpdGUtbWFpbixcbmJvZHkucG9zdC10eXBlLWFyY2hpdmUtcHJvZHVjdCAjbWFpbi5zaXRlLW1haW4sXG5ib2R5LnRheC1wcm9kdWN0X2NhdCAjbWFpbi5zaXRlLW1haW4sXG5ib2R5LnRheC1wcm9kdWN0X3RhZyAjbWFpbi5zaXRlLW1haW4ge1xuICAgIHdpZHRoOiBtaW4oMTAwJSAtIDQwcHgsIDEzMjBweCkgIWltcG9ydGFudDtcbiAgICBtYXJnaW46IDM0cHggYXV0byA4NHB4ICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiB2YXIoLS13YzI0LXRleHQpICFpbXBvcnRhbnQ7XG59XG5cbmJvZHkud29vY29tbWVyY2Utc2hvcCAud29vY29tbWVyY2UtYnJlYWRjcnVtYixcbmJvZHkucG9zdC10eXBlLWFyY2hpdmUtcHJvZHVjdCAud29vY29tbWVyY2UtYnJlYWRjcnVtYixcbmJvZHkudGF4LXByb2R1Y3RfY2F0IC53b29jb21tZXJjZS1icmVhZGNydW1iLFxuYm9keS50YXgtcHJvZHVjdF90YWcgLndvb2NvbW1lcmNlLWJyZWFkY3J1bWIge1xuICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDtcbiAgICBmbGV4LXdyYXA6IHdyYXAgIWltcG9ydGFudDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyICFpbXBvcnRhbnQ7XG4gICAgZ2FwOiA3cHggIWltcG9ydGFudDtcbiAgICB3aWR0aDogLXdlYmtpdC1maXQtY29udGVudCAhaW1wb3J0YW50O1xuICAgIHdpZHRoOiAtbW96LWZpdC1jb250ZW50ICFpbXBvcnRhbnQ7XG4gICAgd2lkdGg6IGZpdC1jb250ZW50ICFpbXBvcnRhbnQ7XG4gICAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luOiAwIDAgMThweCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmc6IDExcHggMTVweCAhaW1wb3J0YW50O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjE1LCAyMzYsIDI0NCwgMC45NSkgIWltcG9ydGFudDtcbiAgICBib3JkZXItcmFkaXVzOiA5OTlweCAhaW1wb3J0YW50O1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45MikgIWltcG9ydGFudDtcbiAgICBjb2xvcjogdmFyKC0td2MyNC1tdXRlZCkgIWltcG9ydGFudDtcbiAgICBmb250LXNpemU6IDEzcHggIWltcG9ydGFudDtcbiAgICBmb250LXdlaWdodDogODAwICFpbXBvcnRhbnQ7XG4gICAgbGluZS1oZWlnaHQ6IDEuNDUgIWltcG9ydGFudDtcbiAgICBib3gtc2hhZG93OiAwIDE0cHggMzJweCByZ2JhKDcsIDU5LCA5NSwgMC4wNikgIWltcG9ydGFudDtcbn1cblxuYm9keS53b29jb21tZXJjZS1zaG9wIC53b29jb21tZXJjZS1icmVhZGNydW1iIGEsXG5ib2R5LnBvc3QtdHlwZS1hcmNoaXZlLXByb2R1Y3QgLndvb2NvbW1lcmNlLWJyZWFkY3J1bWIgYSxcbmJvZHkudGF4LXByb2R1Y3RfY2F0IC53b29jb21tZXJjZS1icmVhZGNydW1iIGEsXG5ib2R5LnRheC1wcm9kdWN0X3RhZyAud29vY29tbWVyY2UtYnJlYWRjcnVtYiBhIHtcbiAgICBjb2xvcjogdmFyKC0td2MyNC1wcmltYXJ5KSAhaW1wb3J0YW50O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZSAhaW1wb3J0YW50O1xufVxuXG5ib2R5Lndvb2NvbW1lcmNlLXNob3AgLndvb2NvbW1lcmNlLWJyZWFkY3J1bWIgYTpob3ZlcixcbmJvZHkucG9zdC10eXBlLWFyY2hpdmUtcHJvZHVjdCAud29vY29tbWVyY2UtYnJlYWRjcnVtYiBhOmhvdmVyLFxuYm9keS50YXgtcHJvZHVjdF9jYXQgLndvb2NvbW1lcmNlLWJyZWFkY3J1bWIgYTpob3ZlcixcbmJvZHkudGF4LXByb2R1Y3RfdGFnIC53b29jb21tZXJjZS1icmVhZGNydW1iIGE6aG92ZXIge1xuICAgIGNvbG9yOiB2YXIoLS13YzI0LWFjY2VudC1kYXJrKSAhaW1wb3J0YW50O1xufVxuXG5ib2R5Lndvb2NvbW1lcmNlLXNob3AgLndvb2NvbW1lcmNlLXByb2R1Y3RzLWhlYWRlcixcbmJvZHkucG9zdC10eXBlLWFyY2hpdmUtcHJvZHVjdCAud29vY29tbWVyY2UtcHJvZHVjdHMtaGVhZGVyLFxuYm9keS50YXgtcHJvZHVjdF9jYXQgLndvb2NvbW1lcmNlLXByb2R1Y3RzLWhlYWRlcixcbmJvZHkudGF4LXByb2R1Y3RfdGFnIC53b29jb21tZXJjZS1wcm9kdWN0cy1oZWFkZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICAgIGlzb2xhdGlvbjogaXNvbGF0ZSAhaW1wb3J0YW50O1xuICAgIG1hcmdpbjogMCAwIDI0cHggIWltcG9ydGFudDtcbiAgICBwYWRkaW5nOiBjbGFtcCgyNnB4LCA0dncsIDQ2cHgpIGNsYW1wKDIwcHgsIDR2dywgNDRweCkgIWltcG9ydGFudDtcbiAgICBvdmVyZmxvdzogaGlkZGVuICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLXJhZGl1czogMjhweCAhaW1wb3J0YW50O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC40OCkgIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kOlxuICAgICAgICByYWRpYWwtZ3JhZGllbnQoY2lyY2xlIGF0IDg4JSAxMCUsIHJnYmEoMTYsIDE3MSwgMTgyLCAwLjQ0KSwgdHJhbnNwYXJlbnQgMjglKSxcbiAgICAgICAgcmFkaWFsLWdyYWRpZW50KGNpcmNsZSBhdCAxNCUgODYlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTQpLCB0cmFuc3BhcmVudCAzNCUpLFxuICAgICAgICBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCB2YXIoLS13YzI0LXByaW1hcnktZGVlcCkgMCUsIHZhcigtLXdjMjQtcHJpbWFyeSkgNTglLCB2YXIoLS13YzI0LWFjY2VudCkgMTAwJSkgIWltcG9ydGFudDtcbiAgICBib3gtc2hhZG93OiAwIDIycHggNTBweCByZ2JhKDcsIDU5LCA5NSwgMC4xOCkgIWltcG9ydGFudDtcbn1cblxuYm9keS53b29jb21tZXJjZS1zaG9wIC53b29jb21tZXJjZS1wcm9kdWN0cy1oZWFkZXI6OmJlZm9yZSxcbmJvZHkucG9zdC10eXBlLWFyY2hpdmUtcHJvZHVjdCAud29vY29tbWVyY2UtcHJvZHVjdHMtaGVhZGVyOjpiZWZvcmUsXG5ib2R5LnRheC1wcm9kdWN0X2NhdCAud29vY29tbWVyY2UtcHJvZHVjdHMtaGVhZGVyOjpiZWZvcmUsXG5ib2R5LnRheC1wcm9kdWN0X3RhZyAud29vY29tbWVyY2UtcHJvZHVjdHMtaGVhZGVyOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXCIgIWltcG9ydGFudDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgICBpbnNldDogMCAhaW1wb3J0YW50O1xuICAgIHotaW5kZXg6IC0xICFpbXBvcnRhbnQ7XG4gICAgb3BhY2l0eTogMC4zOCAhaW1wb3J0YW50O1xuICAgIGJhY2tncm91bmQtaW1hZ2U6XG4gICAgICAgIGxpbmVhci1ncmFkaWVudChyZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTQpIDFweCwgdHJhbnNwYXJlbnQgMXB4KSxcbiAgICAgICAgbGluZWFyLWdyYWRpZW50KDkwZGVnLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTQpIDFweCwgdHJhbnNwYXJlbnQgMXB4KSAhaW1wb3J0YW50O1xuICAgIGJhY2tncm91bmQtc2l6ZTogNDRweCA0NHB4ICFpbXBvcnRhbnQ7XG4gICAgLXdlYmtpdC1tYXNrLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoOTBkZWcsIHJnYmEoMCwwLDAsLjkyKSwgcmdiYSgwLDAsMCwuMTUpKTtcbiAgICAgICAgICAgIG1hc2staW1hZ2U6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgcmdiYSgwLDAsMCwuOTIpLCByZ2JhKDAsMCwwLC4xNSkpO1xufVxuXG5ib2R5Lndvb2NvbW1lcmNlLXNob3AgLndvb2NvbW1lcmNlLXByb2R1Y3RzLWhlYWRlcjo6YWZ0ZXIsXG5ib2R5LnBvc3QtdHlwZS1hcmNoaXZlLXByb2R1Y3QgLndvb2NvbW1lcmNlLXByb2R1Y3RzLWhlYWRlcjo6YWZ0ZXIsXG5ib2R5LnRheC1wcm9kdWN0X2NhdCAud29vY29tbWVyY2UtcHJvZHVjdHMtaGVhZGVyOjphZnRlcixcbmJvZHkudGF4LXByb2R1Y3RfdGFnIC53b29jb21tZXJjZS1wcm9kdWN0cy1oZWFkZXI6OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIkNvbnN1bWFiaWxlIHBlbnRydSBpbXByaW1hbnRhIHRhXCIgIWltcG9ydGFudDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleCAhaW1wb3J0YW50O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXIgIWltcG9ydGFudDtcbiAgICBnYXA6IDhweCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi10b3A6IDE0cHggIWltcG9ydGFudDtcbiAgICBwYWRkaW5nOiA5cHggMTRweCAhaW1wb3J0YW50O1xuICAgIGJvcmRlci1yYWRpdXM6IDk5OXB4ICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjI4KSAhaW1wb3J0YW50O1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xMikgIWltcG9ydGFudDtcbiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjkyKSAhaW1wb3J0YW50O1xuICAgIGZvbnQtc2l6ZTogMTNweCAhaW1wb3J0YW50O1xuICAgIGZvbnQtd2VpZ2h0OiA5MDAgIWltcG9ydGFudDtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4wMmVtICFpbXBvcnRhbnQ7XG59XG5cbmJvZHkud29vY29tbWVyY2Utc2hvcCAud29vY29tbWVyY2UtcHJvZHVjdHMtaGVhZGVyX190aXRsZSxcbmJvZHkucG9zdC10eXBlLWFyY2hpdmUtcHJvZHVjdCAud29vY29tbWVyY2UtcHJvZHVjdHMtaGVhZGVyX190aXRsZSxcbmJvZHkudGF4LXByb2R1Y3RfY2F0IC53b29jb21tZXJjZS1wcm9kdWN0cy1oZWFkZXJfX3RpdGxlLFxuYm9keS50YXgtcHJvZHVjdF90YWcgLndvb2NvbW1lcmNlLXByb2R1Y3RzLWhlYWRlcl9fdGl0bGUsXG5ib2R5Lndvb2NvbW1lcmNlLXNob3AgaDEucGFnZS10aXRsZSxcbmJvZHkucG9zdC10eXBlLWFyY2hpdmUtcHJvZHVjdCBoMS5wYWdlLXRpdGxlLFxuYm9keS50YXgtcHJvZHVjdF9jYXQgaDEucGFnZS10aXRsZSxcbmJvZHkudGF4LXByb2R1Y3RfdGFnIGgxLnBhZ2UtdGl0bGUge1xuICAgIG1heC13aWR0aDogODIwcHggIWltcG9ydGFudDtcbiAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgICBjb2xvcjogI2ZmZiAhaW1wb3J0YW50O1xuICAgIGZvbnQtc2l6ZTogY2xhbXAoMzRweCwgNXZ3LCA2NHB4KSAhaW1wb3J0YW50O1xuICAgIGZvbnQtd2VpZ2h0OiA5NTAgIWltcG9ydGFudDtcbiAgICBsaW5lLWhlaWdodDogMC45NiAhaW1wb3J0YW50O1xuICAgIGxldHRlci1zcGFjaW5nOiAtMC4wNWVtICFpbXBvcnRhbnQ7XG4gICAgdGV4dC1zaGFkb3c6IDAgMTZweCAzNHB4IHJnYmEoMCwgMCwgMCwgMC4xNikgIWltcG9ydGFudDtcbn1cblxuYm9keS53b29jb21tZXJjZS1zaG9wIC50ZXJtLWRlc2NyaXB0aW9uLFxuYm9keS5wb3N0LXR5cGUtYXJjaGl2ZS1wcm9kdWN0IC50ZXJtLWRlc2NyaXB0aW9uLFxuYm9keS50YXgtcHJvZHVjdF9jYXQgLnRlcm0tZGVzY3JpcHRpb24sXG5ib2R5LnRheC1wcm9kdWN0X3RhZyAudGVybS1kZXNjcmlwdGlvbiB7XG4gICAgbWF4LXdpZHRoOiA5ODBweCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbjogLThweCAwIDI2cHggIWltcG9ydGFudDtcbiAgICBwYWRkaW5nOiAxOHB4IDIwcHggIWltcG9ydGFudDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS13YzI0LWJvcmRlcikgIWltcG9ydGFudDtcbiAgICBib3JkZXItcmFkaXVzOiAyMnB4ICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjg2KSAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiB2YXIoLS13YzI0LW11dGVkKSAhaW1wb3J0YW50O1xuICAgIGZvbnQtc2l6ZTogMTVweCAhaW1wb3J0YW50O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjc1ICFpbXBvcnRhbnQ7XG4gICAgYm94LXNoYWRvdzogMCAxNHB4IDM0cHggcmdiYSg3LCA1OSwgOTUsIDAuMDYpICFpbXBvcnRhbnQ7XG59XG5cbmJvZHkud29vY29tbWVyY2Utc2hvcCAud29vY29tbWVyY2Utbm90aWNlcy13cmFwcGVyLFxuYm9keS5wb3N0LXR5cGUtYXJjaGl2ZS1wcm9kdWN0IC53b29jb21tZXJjZS1ub3RpY2VzLXdyYXBwZXIsXG5ib2R5LnRheC1wcm9kdWN0X2NhdCAud29vY29tbWVyY2Utbm90aWNlcy13cmFwcGVyLFxuYm9keS50YXgtcHJvZHVjdF90YWcgLndvb2NvbW1lcmNlLW5vdGljZXMtd3JhcHBlciB7XG4gICAgbWFyZ2luOiAwIDAgMThweCAhaW1wb3J0YW50O1xufVxuXG5ib2R5Lndvb2NvbW1lcmNlLXNob3AgLndvb2NvbW1lcmNlLXJlc3VsdC1jb3VudCxcbmJvZHkucG9zdC10eXBlLWFyY2hpdmUtcHJvZHVjdCAud29vY29tbWVyY2UtcmVzdWx0LWNvdW50LFxuYm9keS50YXgtcHJvZHVjdF9jYXQgLndvb2NvbW1lcmNlLXJlc3VsdC1jb3VudCxcbmJvZHkudGF4LXByb2R1Y3RfdGFnIC53b29jb21tZXJjZS1yZXN1bHQtY291bnQsXG5ib2R5Lndvb2NvbW1lcmNlLXNob3AgLndvb2NvbW1lcmNlLW9yZGVyaW5nLFxuYm9keS5wb3N0LXR5cGUtYXJjaGl2ZS1wcm9kdWN0IC53b29jb21tZXJjZS1vcmRlcmluZyxcbmJvZHkudGF4LXByb2R1Y3RfY2F0IC53b29jb21tZXJjZS1vcmRlcmluZyxcbmJvZHkudGF4LXByb2R1Y3RfdGFnIC53b29jb21tZXJjZS1vcmRlcmluZyB7XG4gICAgZmxvYXQ6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuYm9keS53b29jb21tZXJjZS1zaG9wIC53b29jb21tZXJjZS1yZXN1bHQtY291bnQsXG5ib2R5LnBvc3QtdHlwZS1hcmNoaXZlLXByb2R1Y3QgLndvb2NvbW1lcmNlLXJlc3VsdC1jb3VudCxcbmJvZHkudGF4LXByb2R1Y3RfY2F0IC53b29jb21tZXJjZS1yZXN1bHQtY291bnQsXG5ib2R5LnRheC1wcm9kdWN0X3RhZyAud29vY29tbWVyY2UtcmVzdWx0LWNvdW50IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleCAhaW1wb3J0YW50O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXIgIWltcG9ydGFudDtcbiAgICBtaW4taGVpZ2h0OiA0OHB4ICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luOiAwIDAgMjJweCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmc6IDAgMThweCAhaW1wb3J0YW50O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLXdjMjQtYm9yZGVyKSAhaW1wb3J0YW50O1xuICAgIGJvcmRlci1yYWRpdXM6IDE2cHggIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6IHZhcigtLXdjMjQtbXV0ZWQpICFpbXBvcnRhbnQ7XG4gICAgZm9udC1zaXplOiAxNHB4ICFpbXBvcnRhbnQ7XG4gICAgZm9udC13ZWlnaHQ6IDg1MCAhaW1wb3J0YW50O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjM1ICFpbXBvcnRhbnQ7XG4gICAgYm94LXNoYWRvdzogMCAxMnB4IDI4cHggcmdiYSg3LCA1OSwgOTUsIDAuMDUpICFpbXBvcnRhbnQ7XG59XG5cbmJvZHkud29vY29tbWVyY2Utc2hvcCAud29vY29tbWVyY2Utb3JkZXJpbmcsXG5ib2R5LnBvc3QtdHlwZS1hcmNoaXZlLXByb2R1Y3QgLndvb2NvbW1lcmNlLW9yZGVyaW5nLFxuYm9keS50YXgtcHJvZHVjdF9jYXQgLndvb2NvbW1lcmNlLW9yZGVyaW5nLFxuYm9keS50YXgtcHJvZHVjdF90YWcgLndvb2NvbW1lcmNlLW9yZGVyaW5nIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleCAhaW1wb3J0YW50O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXIgIWltcG9ydGFudDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luOiAwIDAgMjJweCAxNHB4ICFpbXBvcnRhbnQ7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcCAhaW1wb3J0YW50O1xufVxuXG5ib2R5Lndvb2NvbW1lcmNlLXNob3AgLndvb2NvbW1lcmNlLW9yZGVyaW5nIHNlbGVjdC5vcmRlcmJ5LFxuYm9keS5wb3N0LXR5cGUtYXJjaGl2ZS1wcm9kdWN0IC53b29jb21tZXJjZS1vcmRlcmluZyBzZWxlY3Qub3JkZXJieSxcbmJvZHkudGF4LXByb2R1Y3RfY2F0IC53b29jb21tZXJjZS1vcmRlcmluZyBzZWxlY3Qub3JkZXJieSxcbmJvZHkudGF4LXByb2R1Y3RfdGFnIC53b29jb21tZXJjZS1vcmRlcmluZyBzZWxlY3Qub3JkZXJieSB7XG4gICAgbWluLWhlaWdodDogNDhweCAhaW1wb3J0YW50O1xuICAgIG1pbi13aWR0aDogMjYwcHggIWltcG9ydGFudDtcbiAgICBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICBwYWRkaW5nOiAwIDQ2cHggMCAxNnB4ICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0td2MyNC1ib3JkZXIpICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLXJhZGl1czogMTZweCAhaW1wb3J0YW50O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmYgIWltcG9ydGFudDtcbiAgICBjb2xvcjogdmFyKC0td2MyNC10ZXh0KSAhaW1wb3J0YW50O1xuICAgIGZvbnQtc2l6ZTogMTRweCAhaW1wb3J0YW50O1xuICAgIGZvbnQtd2VpZ2h0OiA4NTAgIWltcG9ydGFudDtcbiAgICBsaW5lLWhlaWdodDogMS4yICFpbXBvcnRhbnQ7XG4gICAgYm94LXNoYWRvdzogMCAxMnB4IDI4cHggcmdiYSg3LCA1OSwgOTUsIDAuMDUpICFpbXBvcnRhbnQ7XG4gICAgb3V0bGluZTogbm9uZSAhaW1wb3J0YW50O1xuICAgIGN1cnNvcjogcG9pbnRlciAhaW1wb3J0YW50O1xufVxuXG5ib2R5Lndvb2NvbW1lcmNlLXNob3AgLndvb2NvbW1lcmNlLW9yZGVyaW5nIHNlbGVjdC5vcmRlcmJ5OmZvY3VzLFxuYm9keS5wb3N0LXR5cGUtYXJjaGl2ZS1wcm9kdWN0IC53b29jb21tZXJjZS1vcmRlcmluZyBzZWxlY3Qub3JkZXJieTpmb2N1cyxcbmJvZHkudGF4LXByb2R1Y3RfY2F0IC53b29jb21tZXJjZS1vcmRlcmluZyBzZWxlY3Qub3JkZXJieTpmb2N1cyxcbmJvZHkudGF4LXByb2R1Y3RfdGFnIC53b29jb21tZXJjZS1vcmRlcmluZyBzZWxlY3Qub3JkZXJieTpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiByZ2JhKDE2LCAxNzEsIDE4MiwgMC43MikgIWltcG9ydGFudDtcbiAgICBib3gtc2hhZG93OiAwIDAgMCA0cHggcmdiYSgxNiwgMTcxLCAxODIsIDAuMTQpLCAwIDEycHggMjhweCByZ2JhKDcsIDU5LCA5NSwgMC4wNSkgIWltcG9ydGFudDtcbn1cblxuYm9keS53b29jb21tZXJjZS1zaG9wIHVsLnByb2R1Y3RzLFxuYm9keS5wb3N0LXR5cGUtYXJjaGl2ZS1wcm9kdWN0IHVsLnByb2R1Y3RzLFxuYm9keS50YXgtcHJvZHVjdF9jYXQgdWwucHJvZHVjdHMsXG5ib2R5LnRheC1wcm9kdWN0X3RhZyB1bC5wcm9kdWN0cyB7XG4gICAgZGlzcGxheTogZ3JpZCAhaW1wb3J0YW50O1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDQsIG1pbm1heCgwLCAxZnIpKSAhaW1wb3J0YW50O1xuICAgIGdhcDogMjJweCAhaW1wb3J0YW50O1xuICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luOiAxMHB4IDAgNDJweCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgICBjbGVhcjogYm90aCAhaW1wb3J0YW50O1xufVxuXG5ib2R5Lndvb2NvbW1lcmNlLXNob3AgdWwucHJvZHVjdHM6OmJlZm9yZSxcbmJvZHkud29vY29tbWVyY2Utc2hvcCB1bC5wcm9kdWN0czo6YWZ0ZXIsXG5ib2R5LnBvc3QtdHlwZS1hcmNoaXZlLXByb2R1Y3QgdWwucHJvZHVjdHM6OmJlZm9yZSxcbmJvZHkucG9zdC10eXBlLWFyY2hpdmUtcHJvZHVjdCB1bC5wcm9kdWN0czo6YWZ0ZXIsXG5ib2R5LnRheC1wcm9kdWN0X2NhdCB1bC5wcm9kdWN0czo6YmVmb3JlLFxuYm9keS50YXgtcHJvZHVjdF9jYXQgdWwucHJvZHVjdHM6OmFmdGVyLFxuYm9keS50YXgtcHJvZHVjdF90YWcgdWwucHJvZHVjdHM6OmJlZm9yZSxcbmJvZHkudGF4LXByb2R1Y3RfdGFnIHVsLnByb2R1Y3RzOjphZnRlciB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIGNvbnRlbnQ6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuYm9keS53b29jb21tZXJjZS1zaG9wIHVsLnByb2R1Y3RzIGxpLnByb2R1Y3QsXG5ib2R5LnBvc3QtdHlwZS1hcmNoaXZlLXByb2R1Y3QgdWwucHJvZHVjdHMgbGkucHJvZHVjdCxcbmJvZHkudGF4LXByb2R1Y3RfY2F0IHVsLnByb2R1Y3RzIGxpLnByb2R1Y3QsXG5ib2R5LnRheC1wcm9kdWN0X3RhZyB1bC5wcm9kdWN0cyBsaS5wcm9kdWN0IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XG4gICAgZmxvYXQ6IG5vbmUgIWltcG9ydGFudDtcbiAgICB3aWR0aDogYXV0byAhaW1wb3J0YW50O1xuICAgIG1pbi13aWR0aDogMCAhaW1wb3J0YW50O1xuICAgIG1pbi1oZWlnaHQ6IDEwMCUgIWltcG9ydGFudDtcbiAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgICBwYWRkaW5nOiAxNHB4ICFpbXBvcnRhbnQ7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbiAhaW1wb3J0YW50O1xuICAgIG92ZXJmbG93OiBoaWRkZW4gIWltcG9ydGFudDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDIxNSwgMjM2LCAyNDQsIDAuOTYpICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLXJhZGl1czogMjRweCAhaW1wb3J0YW50O1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45NikgIWltcG9ydGFudDtcbiAgICBib3gtc2hhZG93OiAwIDE2cHggNDBweCByZ2JhKDcsIDU5LCA5NSwgMC4wNykgIWltcG9ydGFudDtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4ycyBlYXNlLCBib3gtc2hhZG93IDAuMnMgZWFzZSwgYm9yZGVyLWNvbG9yIDAuMnMgZWFzZSAhaW1wb3J0YW50O1xufVxuXG5ib2R5Lndvb2NvbW1lcmNlLXNob3AgdWwucHJvZHVjdHMgbGkucHJvZHVjdDpob3ZlcixcbmJvZHkucG9zdC10eXBlLWFyY2hpdmUtcHJvZHVjdCB1bC5wcm9kdWN0cyBsaS5wcm9kdWN0OmhvdmVyLFxuYm9keS50YXgtcHJvZHVjdF9jYXQgdWwucHJvZHVjdHMgbGkucHJvZHVjdDpob3ZlcixcbmJvZHkudGF4LXByb2R1Y3RfdGFnIHVsLnByb2R1Y3RzIGxpLnByb2R1Y3Q6aG92ZXIge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNHB4KSAhaW1wb3J0YW50O1xuICAgIGJvcmRlci1jb2xvcjogcmdiYSgxNiwgMTcxLCAxODIsIDAuNDIpICFpbXBvcnRhbnQ7XG4gICAgYm94LXNoYWRvdzogMCAyMnB4IDU4cHggcmdiYSg3LCA1OSwgOTUsIDAuMTIpICFpbXBvcnRhbnQ7XG59XG5cbmJvZHkud29vY29tbWVyY2Utc2hvcCB1bC5wcm9kdWN0cyBsaS5wcm9kdWN0IC53b29jb21tZXJjZS1Mb29wUHJvZHVjdC1saW5rLFxuYm9keS5wb3N0LXR5cGUtYXJjaGl2ZS1wcm9kdWN0IHVsLnByb2R1Y3RzIGxpLnByb2R1Y3QgLndvb2NvbW1lcmNlLUxvb3BQcm9kdWN0LWxpbmssXG5ib2R5LnRheC1wcm9kdWN0X2NhdCB1bC5wcm9kdWN0cyBsaS5wcm9kdWN0IC53b29jb21tZXJjZS1Mb29wUHJvZHVjdC1saW5rLFxuYm9keS50YXgtcHJvZHVjdF90YWcgdWwucHJvZHVjdHMgbGkucHJvZHVjdCAud29vY29tbWVyY2UtTG9vcFByb2R1Y3QtbGluayB7XG4gICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xuICAgIG1pbi13aWR0aDogMCAhaW1wb3J0YW50O1xuICAgIGZsZXg6IDEgMSBhdXRvICFpbXBvcnRhbnQ7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbiAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiBpbmhlcml0ICFpbXBvcnRhbnQ7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7XG59XG5cbmJvZHkud29vY29tbWVyY2Utc2hvcCB1bC5wcm9kdWN0cyBsaS5wcm9kdWN0IGltZy5hdHRhY2htZW50LXdvb2NvbW1lcmNlX3RodW1ibmFpbCxcbmJvZHkucG9zdC10eXBlLWFyY2hpdmUtcHJvZHVjdCB1bC5wcm9kdWN0cyBsaS5wcm9kdWN0IGltZy5hdHRhY2htZW50LXdvb2NvbW1lcmNlX3RodW1ibmFpbCxcbmJvZHkudGF4LXByb2R1Y3RfY2F0IHVsLnByb2R1Y3RzIGxpLnByb2R1Y3QgaW1nLmF0dGFjaG1lbnQtd29vY29tbWVyY2VfdGh1bWJuYWlsLFxuYm9keS50YXgtcHJvZHVjdF90YWcgdWwucHJvZHVjdHMgbGkucHJvZHVjdCBpbWcuYXR0YWNobWVudC13b29jb21tZXJjZV90aHVtYm5haWwge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICBoZWlnaHQ6IDE5MHB4ICFpbXBvcnRhbnQ7XG4gICAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luOiAwIDAgMTRweCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmc6IDE2cHggIWltcG9ydGFudDtcbiAgICAtby1vYmplY3QtZml0OiBjb250YWluICFpbXBvcnRhbnQ7XG4gICAgICAgb2JqZWN0LWZpdDogY29udGFpbiAhaW1wb3J0YW50O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjE1LCAyMzYsIDI0NCwgMC44MikgIWltcG9ydGFudDtcbiAgICBib3JkZXItcmFkaXVzOiAyMHB4ICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgI0ZGRkZGRiAwJSwgI0YyRkJGRSAxMDAlKSAhaW1wb3J0YW50O1xufVxuXG5ib2R5Lndvb2NvbW1lcmNlLXNob3AgdWwucHJvZHVjdHMgbGkucHJvZHVjdCAud29vY29tbWVyY2UtbG9vcC1wcm9kdWN0X190aXRsZSxcbmJvZHkucG9zdC10eXBlLWFyY2hpdmUtcHJvZHVjdCB1bC5wcm9kdWN0cyBsaS5wcm9kdWN0IC53b29jb21tZXJjZS1sb29wLXByb2R1Y3RfX3RpdGxlLFxuYm9keS50YXgtcHJvZHVjdF9jYXQgdWwucHJvZHVjdHMgbGkucHJvZHVjdCAud29vY29tbWVyY2UtbG9vcC1wcm9kdWN0X190aXRsZSxcbmJvZHkudGF4LXByb2R1Y3RfdGFnIHVsLnByb2R1Y3RzIGxpLnByb2R1Y3QgLndvb2NvbW1lcmNlLWxvb3AtcHJvZHVjdF9fdGl0bGUge1xuICAgIG1pbi1oZWlnaHQ6IDQ4cHggIWltcG9ydGFudDtcbiAgICBtYXgtaGVpZ2h0OiA0OHB4ICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luOiAwIDAgMTBweCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgICBjb2xvcjogdmFyKC0td2MyNC10ZXh0KSAhaW1wb3J0YW50O1xuICAgIGZvbnQtc2l6ZTogMTVweCAhaW1wb3J0YW50O1xuICAgIGZvbnQtd2VpZ2h0OiA5NTAgIWltcG9ydGFudDtcbiAgICBsaW5lLWhlaWdodDogMS42ICFpbXBvcnRhbnQ7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAyZW0gIWltcG9ydGFudDtcbiAgICBvdmVyZmxvdzogaGlkZGVuICFpbXBvcnRhbnQ7XG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3ggIWltcG9ydGFudDtcbiAgICAtd2Via2l0LWxpbmUtY2xhbXA6IDIgIWltcG9ydGFudDtcbiAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsICFpbXBvcnRhbnQ7XG59XG5cbmJvZHkud29vY29tbWVyY2Utc2hvcCB1bC5wcm9kdWN0cyBsaS5wcm9kdWN0IC5wcmljZSxcbmJvZHkucG9zdC10eXBlLWFyY2hpdmUtcHJvZHVjdCB1bC5wcm9kdWN0cyBsaS5wcm9kdWN0IC5wcmljZSxcbmJvZHkudGF4LXByb2R1Y3RfY2F0IHVsLnByb2R1Y3RzIGxpLnByb2R1Y3QgLnByaWNlLFxuYm9keS50YXgtcHJvZHVjdF90YWcgdWwucHJvZHVjdHMgbGkucHJvZHVjdCAucHJpY2Uge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4ICFpbXBvcnRhbnQ7XG4gICAgd2lkdGg6IC13ZWJraXQtZml0LWNvbnRlbnQgIWltcG9ydGFudDtcbiAgICB3aWR0aDogLW1vei1maXQtY29udGVudCAhaW1wb3J0YW50O1xuICAgIHdpZHRoOiBmaXQtY29udGVudCAhaW1wb3J0YW50O1xuICAgIG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgIG1pbi1oZWlnaHQ6IDM4cHggIWltcG9ydGFudDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luOiBhdXRvIDAgMTJweCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmc6IDdweCAxMnB4ICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLXJhZGl1czogOTk5cHggIWltcG9ydGFudDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDE2LCAxNzEsIDE4MiwgMC4yNCkgIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDE2LCAxNzEsIDE4MiwgMC4xMCkgIWltcG9ydGFudDtcbiAgICBjb2xvcjogdmFyKC0td2MyNC1wcmltYXJ5LWRlZXApICFpbXBvcnRhbnQ7XG4gICAgZm9udC1zaXplOiAxN3B4ICFpbXBvcnRhbnQ7XG4gICAgZm9udC13ZWlnaHQ6IDk1MCAhaW1wb3J0YW50O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjEgIWltcG9ydGFudDtcbn1cblxuYm9keS53b29jb21tZXJjZS1zaG9wIHVsLnByb2R1Y3RzIGxpLnByb2R1Y3QgLnByaWNlIC5hbW91bnQsXG5ib2R5LnBvc3QtdHlwZS1hcmNoaXZlLXByb2R1Y3QgdWwucHJvZHVjdHMgbGkucHJvZHVjdCAucHJpY2UgLmFtb3VudCxcbmJvZHkudGF4LXByb2R1Y3RfY2F0IHVsLnByb2R1Y3RzIGxpLnByb2R1Y3QgLnByaWNlIC5hbW91bnQsXG5ib2R5LnRheC1wcm9kdWN0X3RhZyB1bC5wcm9kdWN0cyBsaS5wcm9kdWN0IC5wcmljZSAuYW1vdW50IHtcbiAgICBjb2xvcjogdmFyKC0td2MyNC1wcmltYXJ5LWRlZXApICFpbXBvcnRhbnQ7XG4gICAgZm9udC13ZWlnaHQ6IDk1MCAhaW1wb3J0YW50O1xufVxuXG5ib2R5Lndvb2NvbW1lcmNlLXNob3AgdWwucHJvZHVjdHMgbGkucHJvZHVjdCA+IGEuYnV0dG9uLFxuYm9keS5wb3N0LXR5cGUtYXJjaGl2ZS1wcm9kdWN0IHVsLnByb2R1Y3RzIGxpLnByb2R1Y3QgPiBhLmJ1dHRvbixcbmJvZHkudGF4LXByb2R1Y3RfY2F0IHVsLnByb2R1Y3RzIGxpLnByb2R1Y3QgPiBhLmJ1dHRvbixcbmJvZHkudGF4LXByb2R1Y3RfdGFnIHVsLnByb2R1Y3RzIGxpLnByb2R1Y3QgPiBhLmJ1dHRvbixcbmJvZHkud29vY29tbWVyY2Utc2hvcCB1bC5wcm9kdWN0cyBsaS5wcm9kdWN0IC5jb21wYXJlLmJ1dHRvbixcbmJvZHkucG9zdC10eXBlLWFyY2hpdmUtcHJvZHVjdCB1bC5wcm9kdWN0cyBsaS5wcm9kdWN0IC5jb21wYXJlLmJ1dHRvbixcbmJvZHkudGF4LXByb2R1Y3RfY2F0IHVsLnByb2R1Y3RzIGxpLnByb2R1Y3QgLmNvbXBhcmUuYnV0dG9uLFxuYm9keS50YXgtcHJvZHVjdF90YWcgdWwucHJvZHVjdHMgbGkucHJvZHVjdCAuY29tcGFyZS5idXR0b24sXG5ib2R5Lndvb2NvbW1lcmNlLXNob3AgdWwucHJvZHVjdHMgbGkucHJvZHVjdCAueWl0aC13Y3F2LWJ1dHRvbixcbmJvZHkucG9zdC10eXBlLWFyY2hpdmUtcHJvZHVjdCB1bC5wcm9kdWN0cyBsaS5wcm9kdWN0IC55aXRoLXdjcXYtYnV0dG9uLFxuYm9keS50YXgtcHJvZHVjdF9jYXQgdWwucHJvZHVjdHMgbGkucHJvZHVjdCAueWl0aC13Y3F2LWJ1dHRvbixcbmJvZHkudGF4LXByb2R1Y3RfdGFnIHVsLnByb2R1Y3RzIGxpLnByb2R1Y3QgLnlpdGgtd2Nxdi1idXR0b24ge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4ICFpbXBvcnRhbnQ7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlciAhaW1wb3J0YW50O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyICFpbXBvcnRhbnQ7XG4gICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICBtaW4taGVpZ2h0OiA0NHB4ICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luOiA2cHggMCAwICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZzogMTBweCAxNHB4ICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICBib3JkZXItcmFkaXVzOiAxNXB4ICFpbXBvcnRhbnQ7XG4gICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgIGZvbnQtc2l6ZTogMTNweCAhaW1wb3J0YW50O1xuICAgIGZvbnQtd2VpZ2h0OiA5NTAgIWltcG9ydGFudDtcbiAgICBsaW5lLWhlaWdodDogMS4xNSAhaW1wb3J0YW50O1xuICAgIHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZSAhaW1wb3J0YW50O1xuICAgIHdoaXRlLXNwYWNlOiBub3JtYWwgIWltcG9ydGFudDtcbiAgICBjdXJzb3I6IHBvaW50ZXIgIWltcG9ydGFudDtcbn1cblxuYm9keS53b29jb21tZXJjZS1zaG9wIHVsLnByb2R1Y3RzIGxpLnByb2R1Y3QgPiBhLmFkZF90b19jYXJ0X2J1dHRvbixcbmJvZHkucG9zdC10eXBlLWFyY2hpdmUtcHJvZHVjdCB1bC5wcm9kdWN0cyBsaS5wcm9kdWN0ID4gYS5hZGRfdG9fY2FydF9idXR0b24sXG5ib2R5LnRheC1wcm9kdWN0X2NhdCB1bC5wcm9kdWN0cyBsaS5wcm9kdWN0ID4gYS5hZGRfdG9fY2FydF9idXR0b24sXG5ib2R5LnRheC1wcm9kdWN0X3RhZyB1bC5wcm9kdWN0cyBsaS5wcm9kdWN0ID4gYS5hZGRfdG9fY2FydF9idXR0b24ge1xuICAgIG9yZGVyOiAyMCAhaW1wb3J0YW50O1xuICAgIGJhY2tncm91bmQ6IHZhcigtLXdjMjQtYWNjZW50KSAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiB2YXIoLS13YzI0LXByaW1hcnktZGVlcCkgIWltcG9ydGFudDtcbn1cblxuYm9keS53b29jb21tZXJjZS1zaG9wIHVsLnByb2R1Y3RzIGxpLnByb2R1Y3QgPiBhLmFkZF90b19jYXJ0X2J1dHRvbjpob3ZlcixcbmJvZHkucG9zdC10eXBlLWFyY2hpdmUtcHJvZHVjdCB1bC5wcm9kdWN0cyBsaS5wcm9kdWN0ID4gYS5hZGRfdG9fY2FydF9idXR0b246aG92ZXIsXG5ib2R5LnRheC1wcm9kdWN0X2NhdCB1bC5wcm9kdWN0cyBsaS5wcm9kdWN0ID4gYS5hZGRfdG9fY2FydF9idXR0b246aG92ZXIsXG5ib2R5LnRheC1wcm9kdWN0X3RhZyB1bC5wcm9kdWN0cyBsaS5wcm9kdWN0ID4gYS5hZGRfdG9fY2FydF9idXR0b246aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLXdjMjQtYWNjZW50LWRhcmspICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6ICNmZmYgIWltcG9ydGFudDtcbn1cblxuYm9keS53b29jb21tZXJjZS1zaG9wIHVsLnByb2R1Y3RzIGxpLnByb2R1Y3QgLnlpdGgtd2Nxdi1idXR0b24sXG5ib2R5LnBvc3QtdHlwZS1hcmNoaXZlLXByb2R1Y3QgdWwucHJvZHVjdHMgbGkucHJvZHVjdCAueWl0aC13Y3F2LWJ1dHRvbixcbmJvZHkudGF4LXByb2R1Y3RfY2F0IHVsLnByb2R1Y3RzIGxpLnByb2R1Y3QgLnlpdGgtd2Nxdi1idXR0b24sXG5ib2R5LnRheC1wcm9kdWN0X3RhZyB1bC5wcm9kdWN0cyBsaS5wcm9kdWN0IC55aXRoLXdjcXYtYnV0dG9uIHtcbiAgICBvcmRlcjogMjEgIWltcG9ydGFudDtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLXdjMjQtYm9yZGVyKSAhaW1wb3J0YW50O1xuICAgIGJhY2tncm91bmQ6IHZhcigtLXdjMjQtc29mdCkgIWltcG9ydGFudDtcbiAgICBjb2xvcjogdmFyKC0td2MyNC1wcmltYXJ5LWRlZXApICFpbXBvcnRhbnQ7XG59XG5cbmJvZHkud29vY29tbWVyY2Utc2hvcCB1bC5wcm9kdWN0cyBsaS5wcm9kdWN0IC5jb21wYXJlLmJ1dHRvbixcbmJvZHkucG9zdC10eXBlLWFyY2hpdmUtcHJvZHVjdCB1bC5wcm9kdWN0cyBsaS5wcm9kdWN0IC5jb21wYXJlLmJ1dHRvbixcbmJvZHkudGF4LXByb2R1Y3RfY2F0IHVsLnByb2R1Y3RzIGxpLnByb2R1Y3QgLmNvbXBhcmUuYnV0dG9uLFxuYm9keS50YXgtcHJvZHVjdF90YWcgdWwucHJvZHVjdHMgbGkucHJvZHVjdCAuY29tcGFyZS5idXR0b24ge1xuICAgIG9yZGVyOiAyNCAhaW1wb3J0YW50O1xuICAgIGJvcmRlci1jb2xvcjogcmdiYSg3LCA1OSwgOTUsIDAuMTIpICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZDogI2ZmZiAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiB2YXIoLS13YzI0LW11dGVkKSAhaW1wb3J0YW50O1xufVxuXG5ib2R5Lndvb2NvbW1lcmNlLXNob3AgdWwucHJvZHVjdHMgbGkucHJvZHVjdCAuY29tcGFyZS5idXR0b246aG92ZXIsXG5ib2R5LnBvc3QtdHlwZS1hcmNoaXZlLXByb2R1Y3QgdWwucHJvZHVjdHMgbGkucHJvZHVjdCAuY29tcGFyZS5idXR0b246aG92ZXIsXG5ib2R5LnRheC1wcm9kdWN0X2NhdCB1bC5wcm9kdWN0cyBsaS5wcm9kdWN0IC5jb21wYXJlLmJ1dHRvbjpob3ZlcixcbmJvZHkudGF4LXByb2R1Y3RfdGFnIHVsLnByb2R1Y3RzIGxpLnByb2R1Y3QgLmNvbXBhcmUuYnV0dG9uOmhvdmVyLFxuYm9keS53b29jb21tZXJjZS1zaG9wIHVsLnByb2R1Y3RzIGxpLnByb2R1Y3QgLnlpdGgtd2Nxdi1idXR0b246aG92ZXIsXG5ib2R5LnBvc3QtdHlwZS1hcmNoaXZlLXByb2R1Y3QgdWwucHJvZHVjdHMgbGkucHJvZHVjdCAueWl0aC13Y3F2LWJ1dHRvbjpob3ZlcixcbmJvZHkudGF4LXByb2R1Y3RfY2F0IHVsLnByb2R1Y3RzIGxpLnByb2R1Y3QgLnlpdGgtd2Nxdi1idXR0b246aG92ZXIsXG5ib2R5LnRheC1wcm9kdWN0X3RhZyB1bC5wcm9kdWN0cyBsaS5wcm9kdWN0IC55aXRoLXdjcXYtYnV0dG9uOmhvdmVyIHtcbiAgICBib3JkZXItY29sb3I6IHJnYmEoMTYsIDE3MSwgMTgyLCAwLjQ0KSAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiB2YXIoLS13YzI0LXByaW1hcnktZGVlcCkgIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDE2LCAxNzEsIDE4MiwgMC4wOCkgIWltcG9ydGFudDtcbn1cblxuYm9keS53b29jb21tZXJjZS1zaG9wIHVsLnByb2R1Y3RzIGxpLnByb2R1Y3QgLnlpdGgtYWRkLXRvLXdpc2hsaXN0LWJ1dHRvbi1ibG9jayxcbmJvZHkucG9zdC10eXBlLWFyY2hpdmUtcHJvZHVjdCB1bC5wcm9kdWN0cyBsaS5wcm9kdWN0IC55aXRoLWFkZC10by13aXNobGlzdC1idXR0b24tYmxvY2ssXG5ib2R5LnRheC1wcm9kdWN0X2NhdCB1bC5wcm9kdWN0cyBsaS5wcm9kdWN0IC55aXRoLWFkZC10by13aXNobGlzdC1idXR0b24tYmxvY2ssXG5ib2R5LnRheC1wcm9kdWN0X3RhZyB1bC5wcm9kdWN0cyBsaS5wcm9kdWN0IC55aXRoLWFkZC10by13aXNobGlzdC1idXR0b24tYmxvY2sge1xuICAgIG9yZGVyOiAyMyAhaW1wb3J0YW50O1xuICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luOiA2cHggMCAwICFpbXBvcnRhbnQ7XG59XG5cbmJvZHkud29vY29tbWVyY2Utc2hvcCB1bC5wcm9kdWN0cyBsaS5wcm9kdWN0IC55aXRoLXdjd2wtYWRkLXRvLXdpc2hsaXN0LWJ1dHRvbixcbmJvZHkucG9zdC10eXBlLWFyY2hpdmUtcHJvZHVjdCB1bC5wcm9kdWN0cyBsaS5wcm9kdWN0IC55aXRoLXdjd2wtYWRkLXRvLXdpc2hsaXN0LWJ1dHRvbixcbmJvZHkudGF4LXByb2R1Y3RfY2F0IHVsLnByb2R1Y3RzIGxpLnByb2R1Y3QgLnlpdGgtd2N3bC1hZGQtdG8td2lzaGxpc3QtYnV0dG9uLFxuYm9keS50YXgtcHJvZHVjdF90YWcgdWwucHJvZHVjdHMgbGkucHJvZHVjdCAueWl0aC13Y3dsLWFkZC10by13aXNobGlzdC1idXR0b24ge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4ICFpbXBvcnRhbnQ7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlciAhaW1wb3J0YW50O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyICFpbXBvcnRhbnQ7XG4gICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICBtaW4taGVpZ2h0OiA0MnB4ICFpbXBvcnRhbnQ7XG4gICAgZ2FwOiA4cHggIWltcG9ydGFudDtcbiAgICBwYWRkaW5nOiA5cHggMTJweCAhaW1wb3J0YW50O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjE1LCAyMzYsIDI0NCwgMC45NSkgIWltcG9ydGFudDtcbiAgICBib3JkZXItcmFkaXVzOiAxNXB4ICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZDogI2ZmZiAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiB2YXIoLS13YzI0LXByaW1hcnktZGVlcCkgIWltcG9ydGFudDtcbiAgICBmb250LXNpemU6IDEycHggIWltcG9ydGFudDtcbiAgICBmb250LXdlaWdodDogOTUwICFpbXBvcnRhbnQ7XG4gICAgbGluZS1oZWlnaHQ6IDEuMTUgIWltcG9ydGFudDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDtcbn1cblxuYm9keS53b29jb21tZXJjZS1zaG9wIHVsLnByb2R1Y3RzIGxpLnByb2R1Y3QgLnlpdGgtd2N3bC1hZGQtdG8td2lzaGxpc3QtYnV0dG9uIHN2ZyxcbmJvZHkucG9zdC10eXBlLWFyY2hpdmUtcHJvZHVjdCB1bC5wcm9kdWN0cyBsaS5wcm9kdWN0IC55aXRoLXdjd2wtYWRkLXRvLXdpc2hsaXN0LWJ1dHRvbiBzdmcsXG5ib2R5LnRheC1wcm9kdWN0X2NhdCB1bC5wcm9kdWN0cyBsaS5wcm9kdWN0IC55aXRoLXdjd2wtYWRkLXRvLXdpc2hsaXN0LWJ1dHRvbiBzdmcsXG5ib2R5LnRheC1wcm9kdWN0X3RhZyB1bC5wcm9kdWN0cyBsaS5wcm9kdWN0IC55aXRoLXdjd2wtYWRkLXRvLXdpc2hsaXN0LWJ1dHRvbiBzdmcge1xuICAgIHdpZHRoOiAxN3B4ICFpbXBvcnRhbnQ7XG4gICAgaGVpZ2h0OiAxN3B4ICFpbXBvcnRhbnQ7XG4gICAgZmxleDogMCAwIDE3cHggIWltcG9ydGFudDtcbn1cblxuYm9keS53b29jb21tZXJjZS1zaG9wIHVsLnByb2R1Y3RzIGxpLnByb2R1Y3QgLnlpdGgtd2N3bC1hZGQtdG8td2lzaGxpc3QtYnV0dG9uX19sYWJlbCxcbmJvZHkucG9zdC10eXBlLWFyY2hpdmUtcHJvZHVjdCB1bC5wcm9kdWN0cyBsaS5wcm9kdWN0IC55aXRoLXdjd2wtYWRkLXRvLXdpc2hsaXN0LWJ1dHRvbl9fbGFiZWwsXG5ib2R5LnRheC1wcm9kdWN0X2NhdCB1bC5wcm9kdWN0cyBsaS5wcm9kdWN0IC55aXRoLXdjd2wtYWRkLXRvLXdpc2hsaXN0LWJ1dHRvbl9fbGFiZWwsXG5ib2R5LnRheC1wcm9kdWN0X3RhZyB1bC5wcm9kdWN0cyBsaS5wcm9kdWN0IC55aXRoLXdjd2wtYWRkLXRvLXdpc2hsaXN0LWJ1dHRvbl9fbGFiZWwge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50O1xuICAgIG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgIG92ZXJmbG93OiBoaWRkZW4gIWltcG9ydGFudDtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcyAhaW1wb3J0YW50O1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXAgIWltcG9ydGFudDtcbn1cblxuYm9keS53b29jb21tZXJjZS1zaG9wIG5hdi53b29jb21tZXJjZS1wYWdpbmF0aW9uLFxuYm9keS5wb3N0LXR5cGUtYXJjaGl2ZS1wcm9kdWN0IG5hdi53b29jb21tZXJjZS1wYWdpbmF0aW9uLFxuYm9keS50YXgtcHJvZHVjdF9jYXQgbmF2Lndvb2NvbW1lcmNlLXBhZ2luYXRpb24sXG5ib2R5LnRheC1wcm9kdWN0X3RhZyBuYXYud29vY29tbWVyY2UtcGFnaW5hdGlvbiB7XG4gICAgbWFyZ2luOiA4cHggMCAwICFpbXBvcnRhbnQ7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7XG59XG5cbmJvZHkud29vY29tbWVyY2Utc2hvcCBuYXYud29vY29tbWVyY2UtcGFnaW5hdGlvbiB1bC5wYWdlLW51bWJlcnMsXG5ib2R5LnBvc3QtdHlwZS1hcmNoaXZlLXByb2R1Y3QgbmF2Lndvb2NvbW1lcmNlLXBhZ2luYXRpb24gdWwucGFnZS1udW1iZXJzLFxuYm9keS50YXgtcHJvZHVjdF9jYXQgbmF2Lndvb2NvbW1lcmNlLXBhZ2luYXRpb24gdWwucGFnZS1udW1iZXJzLFxuYm9keS50YXgtcHJvZHVjdF90YWcgbmF2Lndvb2NvbW1lcmNlLXBhZ2luYXRpb24gdWwucGFnZS1udW1iZXJzIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleCAhaW1wb3J0YW50O1xuICAgIGZsZXgtd3JhcDogd3JhcCAhaW1wb3J0YW50O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXIgIWltcG9ydGFudDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlciAhaW1wb3J0YW50O1xuICAgIGdhcDogOHB4ICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZzogMTJweCAhaW1wb3J0YW50O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLXdjMjQtYm9yZGVyKSAhaW1wb3J0YW50O1xuICAgIGJvcmRlci1yYWRpdXM6IDIwcHggIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOTIpICFpbXBvcnRhbnQ7XG4gICAgYm94LXNoYWRvdzogMCAxNHB4IDM0cHggcmdiYSg3LCA1OSwgOTUsIDAuMDYpICFpbXBvcnRhbnQ7XG59XG5cbmJvZHkud29vY29tbWVyY2Utc2hvcCBuYXYud29vY29tbWVyY2UtcGFnaW5hdGlvbiB1bC5wYWdlLW51bWJlcnMgbGksXG5ib2R5LnBvc3QtdHlwZS1hcmNoaXZlLXByb2R1Y3QgbmF2Lndvb2NvbW1lcmNlLXBhZ2luYXRpb24gdWwucGFnZS1udW1iZXJzIGxpLFxuYm9keS50YXgtcHJvZHVjdF9jYXQgbmF2Lndvb2NvbW1lcmNlLXBhZ2luYXRpb24gdWwucGFnZS1udW1iZXJzIGxpLFxuYm9keS50YXgtcHJvZHVjdF90YWcgbmF2Lndvb2NvbW1lcmNlLXBhZ2luYXRpb24gdWwucGFnZS1udW1iZXJzIGxpIHtcbiAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgICBib3JkZXI6IDAgIWltcG9ydGFudDtcbiAgICBsaXN0LXN0eWxlOiBub25lICFpbXBvcnRhbnQ7XG59XG5cbmJvZHkud29vY29tbWVyY2Utc2hvcCBuYXYud29vY29tbWVyY2UtcGFnaW5hdGlvbiAucGFnZS1udW1iZXJzLFxuYm9keS5wb3N0LXR5cGUtYXJjaGl2ZS1wcm9kdWN0IG5hdi53b29jb21tZXJjZS1wYWdpbmF0aW9uIC5wYWdlLW51bWJlcnMsXG5ib2R5LnRheC1wcm9kdWN0X2NhdCBuYXYud29vY29tbWVyY2UtcGFnaW5hdGlvbiAucGFnZS1udW1iZXJzLFxuYm9keS50YXgtcHJvZHVjdF90YWcgbmF2Lndvb2NvbW1lcmNlLXBhZ2luYXRpb24gLnBhZ2UtbnVtYmVycyB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXggIWltcG9ydGFudDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyICFpbXBvcnRhbnQ7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXIgIWltcG9ydGFudDtcbiAgICBtaW4td2lkdGg6IDQycHggIWltcG9ydGFudDtcbiAgICBoZWlnaHQ6IDQycHggIWltcG9ydGFudDtcbiAgICBwYWRkaW5nOiAwIDEycHggIWltcG9ydGFudDtcbiAgICBib3JkZXItcmFkaXVzOiAxNHB4ICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZDogdmFyKC0td2MyNC1zb2Z0KSAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiB2YXIoLS13YzI0LXByaW1hcnktZGVlcCkgIWltcG9ydGFudDtcbiAgICBmb250LXNpemU6IDE0cHggIWltcG9ydGFudDtcbiAgICBmb250LXdlaWdodDogOTUwICFpbXBvcnRhbnQ7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7XG59XG5cbmJvZHkud29vY29tbWVyY2Utc2hvcCBuYXYud29vY29tbWVyY2UtcGFnaW5hdGlvbiAucGFnZS1udW1iZXJzLmN1cnJlbnQsXG5ib2R5LnBvc3QtdHlwZS1hcmNoaXZlLXByb2R1Y3QgbmF2Lndvb2NvbW1lcmNlLXBhZ2luYXRpb24gLnBhZ2UtbnVtYmVycy5jdXJyZW50LFxuYm9keS50YXgtcHJvZHVjdF9jYXQgbmF2Lndvb2NvbW1lcmNlLXBhZ2luYXRpb24gLnBhZ2UtbnVtYmVycy5jdXJyZW50LFxuYm9keS50YXgtcHJvZHVjdF90YWcgbmF2Lndvb2NvbW1lcmNlLXBhZ2luYXRpb24gLnBhZ2UtbnVtYmVycy5jdXJyZW50LFxuYm9keS53b29jb21tZXJjZS1zaG9wIG5hdi53b29jb21tZXJjZS1wYWdpbmF0aW9uIGEucGFnZS1udW1iZXJzOmhvdmVyLFxuYm9keS5wb3N0LXR5cGUtYXJjaGl2ZS1wcm9kdWN0IG5hdi53b29jb21tZXJjZS1wYWdpbmF0aW9uIGEucGFnZS1udW1iZXJzOmhvdmVyLFxuYm9keS50YXgtcHJvZHVjdF9jYXQgbmF2Lndvb2NvbW1lcmNlLXBhZ2luYXRpb24gYS5wYWdlLW51bWJlcnM6aG92ZXIsXG5ib2R5LnRheC1wcm9kdWN0X3RhZyBuYXYud29vY29tbWVyY2UtcGFnaW5hdGlvbiBhLnBhZ2UtbnVtYmVyczpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0td2MyNC1hY2NlbnQpICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6ICNmZmYgIWltcG9ydGFudDtcbn1cblxuYm9keS53b29jb21tZXJjZS1zaG9wIC53b29jb21tZXJjZS1pbmZvLFxuYm9keS5wb3N0LXR5cGUtYXJjaGl2ZS1wcm9kdWN0IC53b29jb21tZXJjZS1pbmZvLFxuYm9keS50YXgtcHJvZHVjdF9jYXQgLndvb2NvbW1lcmNlLWluZm8sXG5ib2R5LnRheC1wcm9kdWN0X3RhZyAud29vY29tbWVyY2UtaW5mbyxcbmJvZHkud29vY29tbWVyY2Utc2hvcCAud29vY29tbWVyY2UtbWVzc2FnZSxcbmJvZHkucG9zdC10eXBlLWFyY2hpdmUtcHJvZHVjdCAud29vY29tbWVyY2UtbWVzc2FnZSxcbmJvZHkudGF4LXByb2R1Y3RfY2F0IC53b29jb21tZXJjZS1tZXNzYWdlLFxuYm9keS50YXgtcHJvZHVjdF90YWcgLndvb2NvbW1lcmNlLW1lc3NhZ2UsXG5ib2R5Lndvb2NvbW1lcmNlLXNob3AgLndvb2NvbW1lcmNlLWVycm9yLFxuYm9keS5wb3N0LXR5cGUtYXJjaGl2ZS1wcm9kdWN0IC53b29jb21tZXJjZS1lcnJvcixcbmJvZHkudGF4LXByb2R1Y3RfY2F0IC53b29jb21tZXJjZS1lcnJvcixcbmJvZHkudGF4LXByb2R1Y3RfdGFnIC53b29jb21tZXJjZS1lcnJvciB7XG4gICAgYm9yZGVyLXJhZGl1czogMThweCAhaW1wb3J0YW50O1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0td2MyNC1ib3JkZXIpICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZDogI2ZmZiAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiB2YXIoLS13YzI0LXRleHQpICFpbXBvcnRhbnQ7XG4gICAgYm94LXNoYWRvdzogMCAxNHB4IDM0cHggcmdiYSg3LCA1OSwgOTUsIDAuMDYpICFpbXBvcnRhbnQ7XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiAxMTgwcHgpIHtcbiAgICBib2R5Lndvb2NvbW1lcmNlLXNob3AgdWwucHJvZHVjdHMsXG4gICAgYm9keS5wb3N0LXR5cGUtYXJjaGl2ZS1wcm9kdWN0IHVsLnByb2R1Y3RzLFxuICAgIGJvZHkudGF4LXByb2R1Y3RfY2F0IHVsLnByb2R1Y3RzLFxuICAgIGJvZHkudGF4LXByb2R1Y3RfdGFnIHVsLnByb2R1Y3RzIHtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMywgbWlubWF4KDAsIDFmcikpICFpbXBvcnRhbnQ7XG4gICAgICAgIGdhcDogMThweCAhaW1wb3J0YW50O1xuICAgIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDgyMHB4KSB7XG4gICAgYm9keS53b29jb21tZXJjZS1zaG9wICNtYWluLnNpdGUtbWFpbixcbiAgICBib2R5LnBvc3QtdHlwZS1hcmNoaXZlLXByb2R1Y3QgI21haW4uc2l0ZS1tYWluLFxuICAgIGJvZHkudGF4LXByb2R1Y3RfY2F0ICNtYWluLnNpdGUtbWFpbixcbiAgICBib2R5LnRheC1wcm9kdWN0X3RhZyAjbWFpbi5zaXRlLW1haW4ge1xuICAgICAgICB3aWR0aDogbWluKDEwMCUgLSAyNnB4LCAxMzIwcHgpICFpbXBvcnRhbnQ7XG4gICAgICAgIG1hcmdpbi10b3A6IDIycHggIWltcG9ydGFudDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNTZweCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIGJvZHkud29vY29tbWVyY2Utc2hvcCAud29vY29tbWVyY2UtcHJvZHVjdHMtaGVhZGVyLFxuICAgIGJvZHkucG9zdC10eXBlLWFyY2hpdmUtcHJvZHVjdCAud29vY29tbWVyY2UtcHJvZHVjdHMtaGVhZGVyLFxuICAgIGJvZHkudGF4LXByb2R1Y3RfY2F0IC53b29jb21tZXJjZS1wcm9kdWN0cy1oZWFkZXIsXG4gICAgYm9keS50YXgtcHJvZHVjdF90YWcgLndvb2NvbW1lcmNlLXByb2R1Y3RzLWhlYWRlciB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDI0cHggIWltcG9ydGFudDtcbiAgICAgICAgcGFkZGluZzogMjhweCAyMHB4ICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgYm9keS53b29jb21tZXJjZS1zaG9wIC53b29jb21tZXJjZS1yZXN1bHQtY291bnQsXG4gICAgYm9keS5wb3N0LXR5cGUtYXJjaGl2ZS1wcm9kdWN0IC53b29jb21tZXJjZS1yZXN1bHQtY291bnQsXG4gICAgYm9keS50YXgtcHJvZHVjdF9jYXQgLndvb2NvbW1lcmNlLXJlc3VsdC1jb3VudCxcbiAgICBib2R5LnRheC1wcm9kdWN0X3RhZyAud29vY29tbWVyY2UtcmVzdWx0LWNvdW50LFxuICAgIGJvZHkud29vY29tbWVyY2Utc2hvcCAud29vY29tbWVyY2Utb3JkZXJpbmcsXG4gICAgYm9keS5wb3N0LXR5cGUtYXJjaGl2ZS1wcm9kdWN0IC53b29jb21tZXJjZS1vcmRlcmluZyxcbiAgICBib2R5LnRheC1wcm9kdWN0X2NhdCAud29vY29tbWVyY2Utb3JkZXJpbmcsXG4gICAgYm9keS50YXgtcHJvZHVjdF90YWcgLndvb2NvbW1lcmNlLW9yZGVyaW5nIHtcbiAgICAgICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xuICAgICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDAgIWltcG9ydGFudDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICBib2R5Lndvb2NvbW1lcmNlLXNob3AgLndvb2NvbW1lcmNlLW9yZGVyaW5nIHNlbGVjdC5vcmRlcmJ5LFxuICAgIGJvZHkucG9zdC10eXBlLWFyY2hpdmUtcHJvZHVjdCAud29vY29tbWVyY2Utb3JkZXJpbmcgc2VsZWN0Lm9yZGVyYnksXG4gICAgYm9keS50YXgtcHJvZHVjdF9jYXQgLndvb2NvbW1lcmNlLW9yZGVyaW5nIHNlbGVjdC5vcmRlcmJ5LFxuICAgIGJvZHkudGF4LXByb2R1Y3RfdGFnIC53b29jb21tZXJjZS1vcmRlcmluZyBzZWxlY3Qub3JkZXJieSB7XG4gICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICAgIG1pbi13aWR0aDogMCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIGJvZHkud29vY29tbWVyY2Utc2hvcCB1bC5wcm9kdWN0cyxcbiAgICBib2R5LnBvc3QtdHlwZS1hcmNoaXZlLXByb2R1Y3QgdWwucHJvZHVjdHMsXG4gICAgYm9keS50YXgtcHJvZHVjdF9jYXQgdWwucHJvZHVjdHMsXG4gICAgYm9keS50YXgtcHJvZHVjdF90YWcgdWwucHJvZHVjdHMge1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCBtaW5tYXgoMCwgMWZyKSkgIWltcG9ydGFudDtcbiAgICAgICAgZ2FwOiAxNHB4ICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgYm9keS53b29jb21tZXJjZS1zaG9wIHVsLnByb2R1Y3RzIGxpLnByb2R1Y3QsXG4gICAgYm9keS5wb3N0LXR5cGUtYXJjaGl2ZS1wcm9kdWN0IHVsLnByb2R1Y3RzIGxpLnByb2R1Y3QsXG4gICAgYm9keS50YXgtcHJvZHVjdF9jYXQgdWwucHJvZHVjdHMgbGkucHJvZHVjdCxcbiAgICBib2R5LnRheC1wcm9kdWN0X3RhZyB1bC5wcm9kdWN0cyBsaS5wcm9kdWN0IHtcbiAgICAgICAgcGFkZGluZzogMTJweCAhaW1wb3J0YW50O1xuICAgICAgICBib3JkZXItcmFkaXVzOiAyMHB4ICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgYm9keS53b29jb21tZXJjZS1zaG9wIHVsLnByb2R1Y3RzIGxpLnByb2R1Y3QgaW1nLmF0dGFjaG1lbnQtd29vY29tbWVyY2VfdGh1bWJuYWlsLFxuICAgIGJvZHkucG9zdC10eXBlLWFyY2hpdmUtcHJvZHVjdCB1bC5wcm9kdWN0cyBsaS5wcm9kdWN0IGltZy5hdHRhY2htZW50LXdvb2NvbW1lcmNlX3RodW1ibmFpbCxcbiAgICBib2R5LnRheC1wcm9kdWN0X2NhdCB1bC5wcm9kdWN0cyBsaS5wcm9kdWN0IGltZy5hdHRhY2htZW50LXdvb2NvbW1lcmNlX3RodW1ibmFpbCxcbiAgICBib2R5LnRheC1wcm9kdWN0X3RhZyB1bC5wcm9kdWN0cyBsaS5wcm9kdWN0IGltZy5hdHRhY2htZW50LXdvb2NvbW1lcmNlX3RodW1ibmFpbCB7XG4gICAgICAgIGhlaWdodDogMTU2cHggIWltcG9ydGFudDtcbiAgICAgICAgcGFkZGluZzogMTJweCAhaW1wb3J0YW50O1xuICAgICAgICBib3JkZXItcmFkaXVzOiAxN3B4ICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgYm9keS53b29jb21tZXJjZS1zaG9wIHVsLnByb2R1Y3RzIGxpLnByb2R1Y3QgLndvb2NvbW1lcmNlLWxvb3AtcHJvZHVjdF9fdGl0bGUsXG4gICAgYm9keS5wb3N0LXR5cGUtYXJjaGl2ZS1wcm9kdWN0IHVsLnByb2R1Y3RzIGxpLnByb2R1Y3QgLndvb2NvbW1lcmNlLWxvb3AtcHJvZHVjdF9fdGl0bGUsXG4gICAgYm9keS50YXgtcHJvZHVjdF9jYXQgdWwucHJvZHVjdHMgbGkucHJvZHVjdCAud29vY29tbWVyY2UtbG9vcC1wcm9kdWN0X190aXRsZSxcbiAgICBib2R5LnRheC1wcm9kdWN0X3RhZyB1bC5wcm9kdWN0cyBsaS5wcm9kdWN0IC53b29jb21tZXJjZS1sb29wLXByb2R1Y3RfX3RpdGxlIHtcbiAgICAgICAgbWluLWhlaWdodDogNDRweCAhaW1wb3J0YW50O1xuICAgICAgICBtYXgtaGVpZ2h0OiA0NHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweCAhaW1wb3J0YW50O1xuICAgICAgICBsaW5lLWhlaWdodDogMS41NSAhaW1wb3J0YW50O1xuICAgIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDUyMHB4KSB7XG4gICAgYm9keS53b29jb21tZXJjZS1zaG9wICNtYWluLnNpdGUtbWFpbixcbiAgICBib2R5LnBvc3QtdHlwZS1hcmNoaXZlLXByb2R1Y3QgI21haW4uc2l0ZS1tYWluLFxuICAgIGJvZHkudGF4LXByb2R1Y3RfY2F0ICNtYWluLnNpdGUtbWFpbixcbiAgICBib2R5LnRheC1wcm9kdWN0X3RhZyAjbWFpbi5zaXRlLW1haW4ge1xuICAgICAgICB3aWR0aDogbWluKDEwMCUgLSAyMHB4LCAxMzIwcHgpICFpbXBvcnRhbnQ7XG4gICAgICAgIG1hcmdpbi10b3A6IDE4cHggIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICBib2R5Lndvb2NvbW1lcmNlLXNob3AgLndvb2NvbW1lcmNlLWJyZWFkY3J1bWIsXG4gICAgYm9keS5wb3N0LXR5cGUtYXJjaGl2ZS1wcm9kdWN0IC53b29jb21tZXJjZS1icmVhZGNydW1iLFxuICAgIGJvZHkudGF4LXByb2R1Y3RfY2F0IC53b29jb21tZXJjZS1icmVhZGNydW1iLFxuICAgIGJvZHkudGF4LXByb2R1Y3RfdGFnIC53b29jb21tZXJjZS1icmVhZGNydW1iIHtcbiAgICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMTZweCAhaW1wb3J0YW50O1xuICAgICAgICBmb250LXNpemU6IDEycHggIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICBib2R5Lndvb2NvbW1lcmNlLXNob3AgLndvb2NvbW1lcmNlLXByb2R1Y3RzLWhlYWRlcjo6YWZ0ZXIsXG4gICAgYm9keS5wb3N0LXR5cGUtYXJjaGl2ZS1wcm9kdWN0IC53b29jb21tZXJjZS1wcm9kdWN0cy1oZWFkZXI6OmFmdGVyLFxuICAgIGJvZHkudGF4LXByb2R1Y3RfY2F0IC53b29jb21tZXJjZS1wcm9kdWN0cy1oZWFkZXI6OmFmdGVyLFxuICAgIGJvZHkudGF4LXByb2R1Y3RfdGFnIC53b29jb21tZXJjZS1wcm9kdWN0cy1oZWFkZXI6OmFmdGVyIHtcbiAgICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXIgIWltcG9ydGFudDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgYm9keS53b29jb21tZXJjZS1zaG9wIHVsLnByb2R1Y3RzLFxuICAgIGJvZHkucG9zdC10eXBlLWFyY2hpdmUtcHJvZHVjdCB1bC5wcm9kdWN0cyxcbiAgICBib2R5LnRheC1wcm9kdWN0X2NhdCB1bC5wcm9kdWN0cyxcbiAgICBib2R5LnRheC1wcm9kdWN0X3RhZyB1bC5wcm9kdWN0cyB7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyICFpbXBvcnRhbnQ7XG4gICAgICAgIGdhcDogMTNweCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIGJvZHkud29vY29tbWVyY2Utc2hvcCB1bC5wcm9kdWN0cyBsaS5wcm9kdWN0LFxuICAgIGJvZHkucG9zdC10eXBlLWFyY2hpdmUtcHJvZHVjdCB1bC5wcm9kdWN0cyBsaS5wcm9kdWN0LFxuICAgIGJvZHkudGF4LXByb2R1Y3RfY2F0IHVsLnByb2R1Y3RzIGxpLnByb2R1Y3QsXG4gICAgYm9keS50YXgtcHJvZHVjdF90YWcgdWwucHJvZHVjdHMgbGkucHJvZHVjdCB7XG4gICAgICAgIGRpc3BsYXk6IGdyaWQgIWltcG9ydGFudDtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxMTJweCBtaW5tYXgoMCwgMWZyKSAhaW1wb3J0YW50O1xuICAgICAgICBncmlkLXRlbXBsYXRlLWFyZWFzOlxuICAgICAgICAgICAgXCJpbWFnZSB0aXRsZVwiXG4gICAgICAgICAgICBcImltYWdlIHByaWNlXCJcbiAgICAgICAgICAgIFwiYWN0aW9ucyBhY3Rpb25zXCIgIWltcG9ydGFudDtcbiAgICAgICAgZ2FwOiAxMHB4IDEycHggIWltcG9ydGFudDtcbiAgICAgICAgYWxpZ24taXRlbXM6IHN0YXJ0ICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgYm9keS53b29jb21tZXJjZS1zaG9wIHVsLnByb2R1Y3RzIGxpLnByb2R1Y3QgLndvb2NvbW1lcmNlLUxvb3BQcm9kdWN0LWxpbmssXG4gICAgYm9keS5wb3N0LXR5cGUtYXJjaGl2ZS1wcm9kdWN0IHVsLnByb2R1Y3RzIGxpLnByb2R1Y3QgLndvb2NvbW1lcmNlLUxvb3BQcm9kdWN0LWxpbmssXG4gICAgYm9keS50YXgtcHJvZHVjdF9jYXQgdWwucHJvZHVjdHMgbGkucHJvZHVjdCAud29vY29tbWVyY2UtTG9vcFByb2R1Y3QtbGluayxcbiAgICBib2R5LnRheC1wcm9kdWN0X3RhZyB1bC5wcm9kdWN0cyBsaS5wcm9kdWN0IC53b29jb21tZXJjZS1Mb29wUHJvZHVjdC1saW5rIHtcbiAgICAgICAgZGlzcGxheTogZ3JpZCAhaW1wb3J0YW50O1xuICAgICAgICBncmlkLWNvbHVtbjogMSAvIC0xICFpbXBvcnRhbnQ7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMTEycHggbWlubWF4KDAsIDFmcikgIWltcG9ydGFudDtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1hcmVhczpcbiAgICAgICAgICAgIFwiYXJjaGl2ZS1pbWcgYXJjaGl2ZS10aXRsZVwiXG4gICAgICAgICAgICBcImFyY2hpdmUtaW1nIGFyY2hpdmUtcHJpY2VcIiAhaW1wb3J0YW50O1xuICAgICAgICBnYXA6IDEwcHggMTJweCAhaW1wb3J0YW50O1xuICAgICAgICBhbGlnbi1pdGVtczogc3RhcnQgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICBib2R5Lndvb2NvbW1lcmNlLXNob3AgdWwucHJvZHVjdHMgbGkucHJvZHVjdCBpbWcuYXR0YWNobWVudC13b29jb21tZXJjZV90aHVtYm5haWwsXG4gICAgYm9keS5wb3N0LXR5cGUtYXJjaGl2ZS1wcm9kdWN0IHVsLnByb2R1Y3RzIGxpLnByb2R1Y3QgaW1nLmF0dGFjaG1lbnQtd29vY29tbWVyY2VfdGh1bWJuYWlsLFxuICAgIGJvZHkudGF4LXByb2R1Y3RfY2F0IHVsLnByb2R1Y3RzIGxpLnByb2R1Y3QgaW1nLmF0dGFjaG1lbnQtd29vY29tbWVyY2VfdGh1bWJuYWlsLFxuICAgIGJvZHkudGF4LXByb2R1Y3RfdGFnIHVsLnByb2R1Y3RzIGxpLnByb2R1Y3QgaW1nLmF0dGFjaG1lbnQtd29vY29tbWVyY2VfdGh1bWJuYWlsIHtcbiAgICAgICAgZ3JpZC1hcmVhOiBhcmNoaXZlLWltZyAhaW1wb3J0YW50O1xuICAgICAgICB3aWR0aDogMTEycHggIWltcG9ydGFudDtcbiAgICAgICAgaGVpZ2h0OiAxMTJweCAhaW1wb3J0YW50O1xuICAgICAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgICAgICAgcGFkZGluZzogMTBweCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIGJvZHkud29vY29tbWVyY2Utc2hvcCB1bC5wcm9kdWN0cyBsaS5wcm9kdWN0IC53b29jb21tZXJjZS1sb29wLXByb2R1Y3RfX3RpdGxlLFxuICAgIGJvZHkucG9zdC10eXBlLWFyY2hpdmUtcHJvZHVjdCB1bC5wcm9kdWN0cyBsaS5wcm9kdWN0IC53b29jb21tZXJjZS1sb29wLXByb2R1Y3RfX3RpdGxlLFxuICAgIGJvZHkudGF4LXByb2R1Y3RfY2F0IHVsLnByb2R1Y3RzIGxpLnByb2R1Y3QgLndvb2NvbW1lcmNlLWxvb3AtcHJvZHVjdF9fdGl0bGUsXG4gICAgYm9keS50YXgtcHJvZHVjdF90YWcgdWwucHJvZHVjdHMgbGkucHJvZHVjdCAud29vY29tbWVyY2UtbG9vcC1wcm9kdWN0X190aXRsZSB7XG4gICAgICAgIGdyaWQtYXJlYTogYXJjaGl2ZS10aXRsZSAhaW1wb3J0YW50O1xuICAgICAgICBtaW4taGVpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIG1heC1oZWlnaHQ6IDY2cHggIWltcG9ydGFudDtcbiAgICAgICAgbWFyZ2luOiAycHggMCAwICFpbXBvcnRhbnQ7XG4gICAgICAgIGZvbnQtc2l6ZTogMTVweCAhaW1wb3J0YW50O1xuICAgICAgICBsaW5lLWhlaWdodDogMS40NSAhaW1wb3J0YW50O1xuICAgICAgICAtd2Via2l0LWxpbmUtY2xhbXA6IDMgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICBib2R5Lndvb2NvbW1lcmNlLXNob3AgdWwucHJvZHVjdHMgbGkucHJvZHVjdCAucHJpY2UsXG4gICAgYm9keS5wb3N0LXR5cGUtYXJjaGl2ZS1wcm9kdWN0IHVsLnByb2R1Y3RzIGxpLnByb2R1Y3QgLnByaWNlLFxuICAgIGJvZHkudGF4LXByb2R1Y3RfY2F0IHVsLnByb2R1Y3RzIGxpLnByb2R1Y3QgLnByaWNlLFxuICAgIGJvZHkudGF4LXByb2R1Y3RfdGFnIHVsLnByb2R1Y3RzIGxpLnByb2R1Y3QgLnByaWNlIHtcbiAgICAgICAgZ3JpZC1hcmVhOiBhcmNoaXZlLXByaWNlICFpbXBvcnRhbnQ7XG4gICAgICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICAgICAgICBmb250LXNpemU6IDE2cHggIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICBib2R5Lndvb2NvbW1lcmNlLXNob3AgdWwucHJvZHVjdHMgbGkucHJvZHVjdCA+IGEuYnV0dG9uLFxuICAgIGJvZHkucG9zdC10eXBlLWFyY2hpdmUtcHJvZHVjdCB1bC5wcm9kdWN0cyBsaS5wcm9kdWN0ID4gYS5idXR0b24sXG4gICAgYm9keS50YXgtcHJvZHVjdF9jYXQgdWwucHJvZHVjdHMgbGkucHJvZHVjdCA+IGEuYnV0dG9uLFxuICAgIGJvZHkudGF4LXByb2R1Y3RfdGFnIHVsLnByb2R1Y3RzIGxpLnByb2R1Y3QgPiBhLmJ1dHRvbixcbiAgICBib2R5Lndvb2NvbW1lcmNlLXNob3AgdWwucHJvZHVjdHMgbGkucHJvZHVjdCAuY29tcGFyZS5idXR0b24sXG4gICAgYm9keS5wb3N0LXR5cGUtYXJjaGl2ZS1wcm9kdWN0IHVsLnByb2R1Y3RzIGxpLnByb2R1Y3QgLmNvbXBhcmUuYnV0dG9uLFxuICAgIGJvZHkudGF4LXByb2R1Y3RfY2F0IHVsLnByb2R1Y3RzIGxpLnByb2R1Y3QgLmNvbXBhcmUuYnV0dG9uLFxuICAgIGJvZHkudGF4LXByb2R1Y3RfdGFnIHVsLnByb2R1Y3RzIGxpLnByb2R1Y3QgLmNvbXBhcmUuYnV0dG9uLFxuICAgIGJvZHkud29vY29tbWVyY2Utc2hvcCB1bC5wcm9kdWN0cyBsaS5wcm9kdWN0IC55aXRoLWFkZC10by13aXNobGlzdC1idXR0b24tYmxvY2ssXG4gICAgYm9keS5wb3N0LXR5cGUtYXJjaGl2ZS1wcm9kdWN0IHVsLnByb2R1Y3RzIGxpLnByb2R1Y3QgLnlpdGgtYWRkLXRvLXdpc2hsaXN0LWJ1dHRvbi1ibG9jayxcbiAgICBib2R5LnRheC1wcm9kdWN0X2NhdCB1bC5wcm9kdWN0cyBsaS5wcm9kdWN0IC55aXRoLWFkZC10by13aXNobGlzdC1idXR0b24tYmxvY2ssXG4gICAgYm9keS50YXgtcHJvZHVjdF90YWcgdWwucHJvZHVjdHMgbGkucHJvZHVjdCAueWl0aC1hZGQtdG8td2lzaGxpc3QtYnV0dG9uLWJsb2NrIHtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDEgLyAtMSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIGJvZHkud29vY29tbWVyY2Utc2hvcCBuYXYud29vY29tbWVyY2UtcGFnaW5hdGlvbiB1bC5wYWdlLW51bWJlcnMsXG4gICAgYm9keS5wb3N0LXR5cGUtYXJjaGl2ZS1wcm9kdWN0IG5hdi53b29jb21tZXJjZS1wYWdpbmF0aW9uIHVsLnBhZ2UtbnVtYmVycyxcbiAgICBib2R5LnRheC1wcm9kdWN0X2NhdCBuYXYud29vY29tbWVyY2UtcGFnaW5hdGlvbiB1bC5wYWdlLW51bWJlcnMsXG4gICAgYm9keS50YXgtcHJvZHVjdF90YWcgbmF2Lndvb2NvbW1lcmNlLXBhZ2luYXRpb24gdWwucGFnZS1udW1iZXJzIHtcbiAgICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICAgICAgcGFkZGluZzogOXB4ICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgYm9keS53b29jb21tZXJjZS1zaG9wIG5hdi53b29jb21tZXJjZS1wYWdpbmF0aW9uIC5wYWdlLW51bWJlcnMsXG4gICAgYm9keS5wb3N0LXR5cGUtYXJjaGl2ZS1wcm9kdWN0IG5hdi53b29jb21tZXJjZS1wYWdpbmF0aW9uIC5wYWdlLW51bWJlcnMsXG4gICAgYm9keS50YXgtcHJvZHVjdF9jYXQgbmF2Lndvb2NvbW1lcmNlLXBhZ2luYXRpb24gLnBhZ2UtbnVtYmVycyxcbiAgICBib2R5LnRheC1wcm9kdWN0X3RhZyBuYXYud29vY29tbWVyY2UtcGFnaW5hdGlvbiAucGFnZS1udW1iZXJzIHtcbiAgICAgICAgbWluLXdpZHRoOiAzOHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIGhlaWdodDogMzhweCAhaW1wb3J0YW50O1xuICAgICAgICBwYWRkaW5nOiAwIDEwcHggIWltcG9ydGFudDtcbiAgICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiAzNjBweCkge1xuICAgIGJvZHkud29vY29tbWVyY2Utc2hvcCB1bC5wcm9kdWN0cyBsaS5wcm9kdWN0IC53b29jb21tZXJjZS1Mb29wUHJvZHVjdC1saW5rLFxuICAgIGJvZHkucG9zdC10eXBlLWFyY2hpdmUtcHJvZHVjdCB1bC5wcm9kdWN0cyBsaS5wcm9kdWN0IC53b29jb21tZXJjZS1Mb29wUHJvZHVjdC1saW5rLFxuICAgIGJvZHkudGF4LXByb2R1Y3RfY2F0IHVsLnByb2R1Y3RzIGxpLnByb2R1Y3QgLndvb2NvbW1lcmNlLUxvb3BQcm9kdWN0LWxpbmssXG4gICAgYm9keS50YXgtcHJvZHVjdF90YWcgdWwucHJvZHVjdHMgbGkucHJvZHVjdCAud29vY29tbWVyY2UtTG9vcFByb2R1Y3QtbGluayB7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogOTZweCBtaW5tYXgoMCwgMWZyKSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIGJvZHkud29vY29tbWVyY2Utc2hvcCB1bC5wcm9kdWN0cyBsaS5wcm9kdWN0IGltZy5hdHRhY2htZW50LXdvb2NvbW1lcmNlX3RodW1ibmFpbCxcbiAgICBib2R5LnBvc3QtdHlwZS1hcmNoaXZlLXByb2R1Y3QgdWwucHJvZHVjdHMgbGkucHJvZHVjdCBpbWcuYXR0YWNobWVudC13b29jb21tZXJjZV90aHVtYm5haWwsXG4gICAgYm9keS50YXgtcHJvZHVjdF9jYXQgdWwucHJvZHVjdHMgbGkucHJvZHVjdCBpbWcuYXR0YWNobWVudC13b29jb21tZXJjZV90aHVtYm5haWwsXG4gICAgYm9keS50YXgtcHJvZHVjdF90YWcgdWwucHJvZHVjdHMgbGkucHJvZHVjdCBpbWcuYXR0YWNobWVudC13b29jb21tZXJjZV90aHVtYm5haWwge1xuICAgICAgICB3aWR0aDogOTZweCAhaW1wb3J0YW50O1xuICAgICAgICBoZWlnaHQ6IDk2cHggIWltcG9ydGFudDtcbiAgICB9XG59XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBXb29Db21tZXJjZSBjYXJ0IG1vYmlsZSBoYXJkIGZpeCAtIHYxLjI2LjZcbiAgIEVuZ2xpc2ggY29tbWVudDogS2VlcCBXb29Db21tZXJjZSBCbG9ja3MgYW5kIGNsYXNzaWMgY2FydCByb3dzIHJlc3BvbnNpdmUgb24gcGhvbmVzIGJ5IGhpZGluZyBkdXBsaWNhdGUgdG90YWwgY29sdW1ucyBhbmQgcHJldmVudGluZyBwcmljZS9pbWFnZSBvdmVybGFwLlxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5AbWVkaWEgKG1heC13aWR0aDogNzgycHgpIHtcbiAgICBib2R5IC53cC1ibG9jay13b29jb21tZXJjZS1jYXJ0LFxuICAgIGJvZHkgLndwLWJsb2NrLXdvb2NvbW1lcmNlLWNhcnQgKixcbiAgICBib2R5Lndvb2NvbW1lcmNlLWNhcnQsXG4gICAgYm9keS53b29jb21tZXJjZS1jYXJ0ICoge1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94ICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgYm9keSAud3AtYmxvY2std29vY29tbWVyY2UtY2FydCxcbiAgICBib2R5Lndvb2NvbW1lcmNlLWNhcnQgLndwLWJsb2NrLXdvb2NvbW1lcmNlLWNhcnQge1xuICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gMThweCkgIWltcG9ydGFudDtcbiAgICAgICAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLSAxOHB4KSAhaW1wb3J0YW50O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAgICAgb3ZlcmZsb3cteDogaGlkZGVuICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgYm9keSAud3AtYmxvY2std29vY29tbWVyY2UtY2FydCAud2MtYmxvY2stY2FydF9fbWFpbixcbiAgICBib2R5IC53cC1ibG9jay13b29jb21tZXJjZS1jYXJ0IC53Yy1ibG9jay1jYXJ0X19zaWRlYmFyLFxuICAgIGJvZHkud29vY29tbWVyY2UtY2FydCAud2MtYmxvY2stY2FydF9fbWFpbixcbiAgICBib2R5Lndvb2NvbW1lcmNlLWNhcnQgLndjLWJsb2NrLWNhcnRfX3NpZGViYXIge1xuICAgICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICAgICAgbWluLXdpZHRoOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIHBhZGRpbmc6IDE0cHggIWltcG9ydGFudDtcbiAgICAgICAgb3ZlcmZsb3cteDogaGlkZGVuICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgYm9keSAud3AtYmxvY2std29vY29tbWVyY2UtY2FydCB0YWJsZS53Yy1ibG9jay1jYXJ0LWl0ZW1zLFxuICAgIGJvZHkgLndwLWJsb2NrLXdvb2NvbW1lcmNlLWNhcnQgdGFibGUud2MtYmxvY2stY2FydC1pdGVtcyB0Ym9keSxcbiAgICBib2R5IC53cC1ibG9jay13b29jb21tZXJjZS1jYXJ0IHRhYmxlLndjLWJsb2NrLWNhcnQtaXRlbXMgdHIsXG4gICAgYm9keSAud3AtYmxvY2std29vY29tbWVyY2UtY2FydCB0YWJsZS53Yy1ibG9jay1jYXJ0LWl0ZW1zIHRkLFxuICAgIGJvZHkud29vY29tbWVyY2UtY2FydCB0YWJsZS53Yy1ibG9jay1jYXJ0LWl0ZW1zLFxuICAgIGJvZHkud29vY29tbWVyY2UtY2FydCB0YWJsZS53Yy1ibG9jay1jYXJ0LWl0ZW1zIHRib2R5LFxuICAgIGJvZHkud29vY29tbWVyY2UtY2FydCB0YWJsZS53Yy1ibG9jay1jYXJ0LWl0ZW1zIHRyLFxuICAgIGJvZHkud29vY29tbWVyY2UtY2FydCB0YWJsZS53Yy1ibG9jay1jYXJ0LWl0ZW1zIHRkIHtcbiAgICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICAgIG1pbi13aWR0aDogMCAhaW1wb3J0YW50O1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94ICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgYm9keSAud3AtYmxvY2std29vY29tbWVyY2UtY2FydCB0YWJsZS53Yy1ibG9jay1jYXJ0LWl0ZW1zIHRoZWFkLFxuICAgIGJvZHkud29vY29tbWVyY2UtY2FydCB0YWJsZS53Yy1ibG9jay1jYXJ0LWl0ZW1zIHRoZWFkIHtcbiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIGJvZHkgLndwLWJsb2NrLXdvb2NvbW1lcmNlLWNhcnQgdGFibGUud2MtYmxvY2stY2FydC1pdGVtcyB0ci53Yy1ibG9jay1jYXJ0LWl0ZW1zX19yb3csXG4gICAgYm9keS53b29jb21tZXJjZS1jYXJ0IHRhYmxlLndjLWJsb2NrLWNhcnQtaXRlbXMgdHIud2MtYmxvY2stY2FydC1pdGVtc19fcm93LFxuICAgIGJvZHkgLndwLWJsb2NrLXdvb2NvbW1lcmNlLWNhcnQgLndjLWJsb2NrLWNhcnQtaXRlbXNfX3JvdyxcbiAgICBib2R5Lndvb2NvbW1lcmNlLWNhcnQgLndjLWJsb2NrLWNhcnQtaXRlbXNfX3JvdyB7XG4gICAgICAgIGRpc3BsYXk6IGdyaWQgIWltcG9ydGFudDtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiA4MnB4IG1pbm1heCgwLCAxZnIpICFpbXBvcnRhbnQ7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtYXJlYXM6XG4gICAgICAgICAgICBcImNhcnRpbWFnZSBjYXJ0cHJvZHVjdFwiXG4gICAgICAgICAgICBcImNhcnRxdHkgY2FydHF0eVwiICFpbXBvcnRhbnQ7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBzdGFydCAhaW1wb3J0YW50O1xuICAgICAgICBnYXA6IDEycHggIWltcG9ydGFudDtcbiAgICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICAgIG1hcmdpbjogMCAwIDE2cHggIWltcG9ydGFudDtcbiAgICAgICAgcGFkZGluZzogMTRweCAhaW1wb3J0YW50O1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuICFpbXBvcnRhbnQ7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLXdjMjQtYm9yZGVyLCAjRDdFQ0Y0KSAhaW1wb3J0YW50O1xuICAgICAgICBib3JkZXItcmFkaXVzOiAyMnB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIGJhY2tncm91bmQ6ICNmZmYgIWltcG9ydGFudDtcbiAgICAgICAgYm94LXNoYWRvdzogMCAxMHB4IDI2cHggcmdiYSg3LCA1OSwgOTUsIC4wNTUpICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgYm9keSAud3AtYmxvY2std29vY29tbWVyY2UtY2FydCB0YWJsZS53Yy1ibG9jay1jYXJ0LWl0ZW1zIHRyLndjLWJsb2NrLWNhcnQtaXRlbXNfX3JvdyA+IHRkLFxuICAgIGJvZHkud29vY29tbWVyY2UtY2FydCB0YWJsZS53Yy1ibG9jay1jYXJ0LWl0ZW1zIHRyLndjLWJsb2NrLWNhcnQtaXRlbXNfX3JvdyA+IHRkIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICAgICAgd2lkdGg6IGF1dG8gIWltcG9ydGFudDtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICAgIG1pbi13aWR0aDogMCAhaW1wb3J0YW50O1xuICAgICAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIGJvcmRlcjogMCAhaW1wb3J0YW50O1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICAgICBwb3NpdGlvbjogc3RhdGljICFpbXBvcnRhbnQ7XG4gICAgICAgIGZsb2F0OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgIGNsZWFyOiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgIG92ZXJmbG93OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgYm9keSAud3AtYmxvY2std29vY29tbWVyY2UtY2FydCAud2MtYmxvY2stY2FydC1pdGVtX19pbWFnZSxcbiAgICBib2R5Lndvb2NvbW1lcmNlLWNhcnQgLndjLWJsb2NrLWNhcnQtaXRlbV9faW1hZ2Uge1xuICAgICAgICBncmlkLWFyZWE6IGNhcnRpbWFnZSAhaW1wb3J0YW50O1xuICAgICAgICB3aWR0aDogODJweCAhaW1wb3J0YW50O1xuICAgICAgICBtYXgtd2lkdGg6IDgycHggIWltcG9ydGFudDtcbiAgICAgICAgbWluLXdpZHRoOiA4MnB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIGFsaWduLXNlbGY6IHN0YXJ0ICFpbXBvcnRhbnQ7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW4gIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICBib2R5IC53cC1ibG9jay13b29jb21tZXJjZS1jYXJ0IC53Yy1ibG9jay1jYXJ0LWl0ZW1fX2ltYWdlIGEsXG4gICAgYm9keSAud3AtYmxvY2std29vY29tbWVyY2UtY2FydCAud2MtYmxvY2stY2FydC1pdGVtX19pbWFnZSAud2MtYmxvY2stY29tcG9uZW50cy1wcm9kdWN0LWltYWdlLFxuICAgIGJvZHkud29vY29tbWVyY2UtY2FydCAud2MtYmxvY2stY2FydC1pdGVtX19pbWFnZSBhLFxuICAgIGJvZHkud29vY29tbWVyY2UtY2FydCAud2MtYmxvY2stY2FydC1pdGVtX19pbWFnZSAud2MtYmxvY2stY29tcG9uZW50cy1wcm9kdWN0LWltYWdlIHtcbiAgICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3ggIWltcG9ydGFudDtcbiAgICAgICAgZGlzcGxheTogLW1zLWZsZXhib3ggIWltcG9ydGFudDtcbiAgICAgICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xuICAgICAgICB3aWR0aDogODJweCAhaW1wb3J0YW50O1xuICAgICAgICBoZWlnaHQ6IDgycHggIWltcG9ydGFudDtcbiAgICAgICAgbWF4LXdpZHRoOiA4MnB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIG1pbi13aWR0aDogODJweCAhaW1wb3J0YW50O1xuICAgICAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlciAhaW1wb3J0YW50O1xuICAgICAgICAtd2Via2l0LWJveC1wYWNrOiBjZW50ZXIgIWltcG9ydGFudDtcbiAgICAgICAgICAgIC1tcy1mbGV4LXBhY2s6IGNlbnRlciAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyICFpbXBvcnRhbnQ7XG4gICAgICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICAgICAgICBwYWRkaW5nOiA4cHggIWltcG9ydGFudDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbiAhaW1wb3J0YW50O1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS13YzI0LWJvcmRlciwgI0Q3RUNGNCkgIWltcG9ydGFudDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMTZweCAhaW1wb3J0YW50O1xuICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCAjZmZmLCB2YXIoLS13YzI0LXNvZnQsICNFRUY4RkIpKSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIGJvZHkgLndwLWJsb2NrLXdvb2NvbW1lcmNlLWNhcnQgLndjLWJsb2NrLWNhcnQtaXRlbV9faW1hZ2UgaW1nLFxuICAgIGJvZHkud29vY29tbWVyY2UtY2FydCAud2MtYmxvY2stY2FydC1pdGVtX19pbWFnZSBpbWcge1xuICAgICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgICAgICB3aWR0aDogNjZweCAhaW1wb3J0YW50O1xuICAgICAgICBoZWlnaHQ6IDY2cHggIWltcG9ydGFudDtcbiAgICAgICAgbWF4LXdpZHRoOiA2NnB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIG1heC1oZWlnaHQ6IDY2cHggIWltcG9ydGFudDtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG8gIWltcG9ydGFudDtcbiAgICAgICAgLW8tb2JqZWN0LWZpdDogY29udGFpbiAhaW1wb3J0YW50O1xuICAgICAgICAgICBvYmplY3QtZml0OiBjb250YWluICFpbXBvcnRhbnQ7XG4gICAgICAgIHBvc2l0aW9uOiBzdGF0aWMgIWltcG9ydGFudDtcbiAgICAgICAgZmxvYXQ6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICBib2R5IC53cC1ibG9jay13b29jb21tZXJjZS1jYXJ0IC53Yy1ibG9jay1jYXJ0LWl0ZW1fX3Byb2R1Y3QsXG4gICAgYm9keS53b29jb21tZXJjZS1jYXJ0IC53Yy1ibG9jay1jYXJ0LWl0ZW1fX3Byb2R1Y3Qge1xuICAgICAgICBncmlkLWFyZWE6IGNhcnRwcm9kdWN0ICFpbXBvcnRhbnQ7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICAgIG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgICBtaW4td2lkdGg6IDAgIWltcG9ydGFudDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbiAhaW1wb3J0YW50O1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0ICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgYm9keSAud3AtYmxvY2std29vY29tbWVyY2UtY2FydCAud2MtYmxvY2stY2FydC1pdGVtX190b3RhbCxcbiAgICBib2R5Lndvb2NvbW1lcmNlLWNhcnQgLndjLWJsb2NrLWNhcnQtaXRlbV9fdG90YWwsXG4gICAgYm9keSAud3AtYmxvY2std29vY29tbWVyY2UtY2FydCB0YWJsZS53Yy1ibG9jay1jYXJ0LWl0ZW1zIHRkLndjLWJsb2NrLWNhcnQtaXRlbV9fdG90YWwsXG4gICAgYm9keS53b29jb21tZXJjZS1jYXJ0IHRhYmxlLndjLWJsb2NrLWNhcnQtaXRlbXMgdGQud2MtYmxvY2stY2FydC1pdGVtX190b3RhbCxcbiAgICBib2R5IC53cC1ibG9jay13b29jb21tZXJjZS1jYXJ0IHRhYmxlLndjLWJsb2NrLWNhcnQtaXRlbXMgdHIud2MtYmxvY2stY2FydC1pdGVtc19fcm93ID4gdGQ6bnRoLWNoaWxkKDMpLFxuICAgIGJvZHkud29vY29tbWVyY2UtY2FydCB0YWJsZS53Yy1ibG9jay1jYXJ0LWl0ZW1zIHRyLndjLWJsb2NrLWNhcnQtaXRlbXNfX3JvdyA+IHRkOm50aC1jaGlsZCgzKSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuICFpbXBvcnRhbnQ7XG4gICAgICAgIHdpZHRoOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIG1heC13aWR0aDogMCAhaW1wb3J0YW50O1xuICAgICAgICBoZWlnaHQ6IDAgIWltcG9ydGFudDtcbiAgICAgICAgbWF4LWhlaWdodDogMCAhaW1wb3J0YW50O1xuICAgICAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgICAgICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgYm9keSAud3AtYmxvY2std29vY29tbWVyY2UtY2FydCAud2MtYmxvY2stY2FydC1pdGVtX19wcm9kdWN0IC53Yy1ibG9jay1jb21wb25lbnRzLXByb2R1Y3QtbmFtZSxcbiAgICBib2R5Lndvb2NvbW1lcmNlLWNhcnQgLndjLWJsb2NrLWNhcnQtaXRlbV9fcHJvZHVjdCAud2MtYmxvY2stY29tcG9uZW50cy1wcm9kdWN0LW5hbWUge1xuICAgICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICAgICAgbWFyZ2luOiAwIDAgN3B4ICFpbXBvcnRhbnQ7XG4gICAgICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgICAgICAgY29sb3I6IHZhcigtLXdjMjQtdGV4dCwgIzA3M0I1RikgIWltcG9ydGFudDtcbiAgICAgICAgZm9udC1zaXplOiAxNnB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI0ICFpbXBvcnRhbnQ7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA5NTAgIWltcG9ydGFudDtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC0uMDJlbSAhaW1wb3J0YW50O1xuICAgICAgICBvdmVyZmxvdy13cmFwOiBhbnl3aGVyZSAhaW1wb3J0YW50O1xuICAgICAgICB3b3JkLWJyZWFrOiBicmVhay13b3JkICFpbXBvcnRhbnQ7XG4gICAgICAgIHBvc2l0aW9uOiBzdGF0aWMgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICBib2R5IC53cC1ibG9jay13b29jb21tZXJjZS1jYXJ0IC53Yy1ibG9jay1jYXJ0LWl0ZW1fX3Byb2R1Y3QgLndjLWJsb2NrLWNvbXBvbmVudHMtcHJvZHVjdC1wcmljZSxcbiAgICBib2R5IC53cC1ibG9jay13b29jb21tZXJjZS1jYXJ0IC53Yy1ibG9jay1jYXJ0LWl0ZW1fX3Byb2R1Y3QgLndjLWJsb2NrLWNvbXBvbmVudHMtcHJvZHVjdC1wcmljZV9fdmFsdWUsXG4gICAgYm9keSAud3AtYmxvY2std29vY29tbWVyY2UtY2FydCAud2MtYmxvY2stY2FydC1pdGVtX19wcm9kdWN0IC53Yy1ibG9jay1jb21wb25lbnRzLXByb2R1Y3QtcHJpY2UgLmFtb3VudCxcbiAgICBib2R5Lndvb2NvbW1lcmNlLWNhcnQgLndjLWJsb2NrLWNhcnQtaXRlbV9fcHJvZHVjdCAud2MtYmxvY2stY29tcG9uZW50cy1wcm9kdWN0LXByaWNlLFxuICAgIGJvZHkud29vY29tbWVyY2UtY2FydCAud2MtYmxvY2stY2FydC1pdGVtX19wcm9kdWN0IC53Yy1ibG9jay1jb21wb25lbnRzLXByb2R1Y3QtcHJpY2VfX3ZhbHVlLFxuICAgIGJvZHkud29vY29tbWVyY2UtY2FydCAud2MtYmxvY2stY2FydC1pdGVtX19wcm9kdWN0IC53Yy1ibG9jay1jb21wb25lbnRzLXByb2R1Y3QtcHJpY2UgLmFtb3VudCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICAgIG1hcmdpbjogMCAwIDdweCAhaW1wb3J0YW50O1xuICAgICAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIGNvbG9yOiB2YXIoLS13YzI0LXRleHQsICMwNzNCNUYpICFpbXBvcnRhbnQ7XG4gICAgICAgIGZvbnQtc2l6ZTogMThweCAhaW1wb3J0YW50O1xuICAgICAgICBsaW5lLWhlaWdodDogMS4yICFpbXBvcnRhbnQ7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA5NTAgIWltcG9ydGFudDtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50O1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm9ybWFsICFpbXBvcnRhbnQ7XG4gICAgICAgIHBvc2l0aW9uOiBzdGF0aWMgIWltcG9ydGFudDtcbiAgICAgICAgZmxvYXQ6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICBib2R5IC53cC1ibG9jay13b29jb21tZXJjZS1jYXJ0IC53Yy1ibG9jay1jYXJ0LWl0ZW1fX3Byb2R1Y3QgLndjLWJsb2NrLWNvbXBvbmVudHMtcHJvZHVjdC1tZXRhZGF0YSxcbiAgICBib2R5IC53cC1ibG9jay13b29jb21tZXJjZS1jYXJ0IC53Yy1ibG9jay1jYXJ0LWl0ZW1fX3Byb2R1Y3QgLndjLWJsb2NrLWNvbXBvbmVudHMtcHJvZHVjdC1tZXRhZGF0YSBwLFxuICAgIGJvZHkud29vY29tbWVyY2UtY2FydCAud2MtYmxvY2stY2FydC1pdGVtX19wcm9kdWN0IC53Yy1ibG9jay1jb21wb25lbnRzLXByb2R1Y3QtbWV0YWRhdGEsXG4gICAgYm9keS53b29jb21tZXJjZS1jYXJ0IC53Yy1ibG9jay1jYXJ0LWl0ZW1fX3Byb2R1Y3QgLndjLWJsb2NrLWNvbXBvbmVudHMtcHJvZHVjdC1tZXRhZGF0YSBwIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICAgICAgICBjb2xvcjogdmFyKC0td2MyNC1tdXRlZCwgIzVGNzE4MSkgIWltcG9ydGFudDtcbiAgICAgICAgZm9udC1zaXplOiAxM3B4ICFpbXBvcnRhbnQ7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjQyICFpbXBvcnRhbnQ7XG4gICAgICAgIG92ZXJmbG93LXdyYXA6IGFueXdoZXJlICFpbXBvcnRhbnQ7XG4gICAgICAgIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQgIWltcG9ydGFudDtcbiAgICAgICAgcG9zaXRpb246IHN0YXRpYyAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIGJvZHkgLndwLWJsb2NrLXdvb2NvbW1lcmNlLWNhcnQgLndjLWJsb2NrLWNhcnQtaXRlbV9fcXVhbnRpdHksXG4gICAgYm9keS53b29jb21tZXJjZS1jYXJ0IC53Yy1ibG9jay1jYXJ0LWl0ZW1fX3F1YW50aXR5IHtcbiAgICAgICAgZ3JpZC1hcmVhOiBjYXJ0cXR5ICFpbXBvcnRhbnQ7XG4gICAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94ICFpbXBvcnRhbnQ7XG4gICAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94ICFpbXBvcnRhbnQ7XG4gICAgICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDtcbiAgICAgICAgLW1zLWZsZXgtd3JhcDogd3JhcCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwICFpbXBvcnRhbnQ7XG4gICAgICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDtcbiAgICAgICAgICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyICFpbXBvcnRhbnQ7XG4gICAgICAgIGdhcDogMTBweCAhaW1wb3J0YW50O1xuICAgICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICAgICAgbWFyZ2luOiAycHggMCAwICFpbXBvcnRhbnQ7XG4gICAgICAgIHBhZGRpbmctdG9wOiAxMnB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS13YzI0LWJvcmRlciwgI0Q3RUNGNCkgIWltcG9ydGFudDtcbiAgICAgICAgcG9zaXRpb246IHN0YXRpYyAhaW1wb3J0YW50O1xuICAgICAgICBmbG9hdDogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICBjbGVhcjogYm90aCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIGJvZHkgLndwLWJsb2NrLXdvb2NvbW1lcmNlLWNhcnQgLndjLWJsb2NrLWNvbXBvbmVudHMtcXVhbnRpdHktc2VsZWN0b3IsXG4gICAgYm9keS53b29jb21tZXJjZS1jYXJ0IC53Yy1ibG9jay1jb21wb25lbnRzLXF1YW50aXR5LXNlbGVjdG9yIHtcbiAgICAgICAgLXdlYmtpdC1ib3gtZmxleDogMSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgLW1zLWZsZXg6IDEgMSAxNThweCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIGZsZXg6IDEgMSAxNThweCAhaW1wb3J0YW50O1xuICAgICAgICB3aWR0aDogYXV0byAhaW1wb3J0YW50O1xuICAgICAgICBtYXgtd2lkdGg6IDIzMHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIG1pbi13aWR0aDogMTUwcHggIWltcG9ydGFudDtcbiAgICAgICAgaGVpZ2h0OiA0NnB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIGJvZHkgLndwLWJsb2NrLXdvb2NvbW1lcmNlLWNhcnQgLndjLWJsb2NrLWNhcnQtaXRlbV9fcmVtb3ZlLWxpbmssXG4gICAgYm9keS53b29jb21tZXJjZS1jYXJ0IC53Yy1ibG9jay1jYXJ0LWl0ZW1fX3JlbW92ZS1saW5rIHtcbiAgICAgICAgLXdlYmtpdC1ib3gtZmxleDogMCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgLW1zLWZsZXg6IDAgMCA0NnB4ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgZmxleDogMCAwIDQ2cHggIWltcG9ydGFudDtcbiAgICAgICAgd2lkdGg6IDQ2cHggIWltcG9ydGFudDtcbiAgICAgICAgaGVpZ2h0OiA0NnB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIG1pbi13aWR0aDogNDZweCAhaW1wb3J0YW50O1xuICAgICAgICBtYXgtd2lkdGg6IDQ2cHggIWltcG9ydGFudDtcbiAgICAgICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMTVweCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC8qIEVuZ2xpc2ggY29tbWVudDogQ2xhc3NpYyBXb29Db21tZXJjZSBjYXJ0IGZhbGxiYWNrIGZvciBzaXRlcyBub3QgdXNpbmcgQ2FydCBCbG9ja3MuICovXG4gICAgYm9keS53b29jb21tZXJjZS1jYXJ0IHRhYmxlLnNob3BfdGFibGUuY2FydCxcbiAgICBib2R5Lndvb2NvbW1lcmNlLWNhcnQgdGFibGUuc2hvcF90YWJsZS5jYXJ0IHRib2R5LFxuICAgIGJvZHkud29vY29tbWVyY2UtY2FydCB0YWJsZS5zaG9wX3RhYmxlLmNhcnQgdHIuY2FydF9pdGVtLFxuICAgIGJvZHkud29vY29tbWVyY2UtY2FydCB0YWJsZS5zaG9wX3RhYmxlLmNhcnQgdGQge1xuICAgICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICAgICAgbWluLXdpZHRoOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3ggIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICBib2R5Lndvb2NvbW1lcmNlLWNhcnQgdGFibGUuc2hvcF90YWJsZS5jYXJ0IHRyLmNhcnRfaXRlbSB7XG4gICAgICAgIGRpc3BsYXk6IGdyaWQgIWltcG9ydGFudDtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiA4MnB4IG1pbm1heCgwLCAxZnIpICFpbXBvcnRhbnQ7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtYXJlYXM6XG4gICAgICAgICAgICBcImNsYXNzaWNpbWFnZSBjbGFzc2ljbmFtZVwiXG4gICAgICAgICAgICBcImNsYXNzaWNxdHkgY2xhc3NpY3F0eVwiXG4gICAgICAgICAgICBcImNsYXNzaWNyZW1vdmUgY2xhc3NpY3JlbW92ZVwiICFpbXBvcnRhbnQ7XG4gICAgICAgIGdhcDogMTJweCAhaW1wb3J0YW50O1xuICAgICAgICBwYWRkaW5nOiAxNHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDE2cHggIWltcG9ydGFudDtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0td2MyNC1ib3JkZXIsICNEN0VDRjQpICFpbXBvcnRhbnQ7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDIycHggIWltcG9ydGFudDtcbiAgICAgICAgYmFja2dyb3VuZDogI2ZmZiAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIGJvZHkud29vY29tbWVyY2UtY2FydCB0YWJsZS5zaG9wX3RhYmxlLmNhcnQgdGQucHJvZHVjdC10aHVtYm5haWwge1xuICAgICAgICBncmlkLWFyZWE6IGNsYXNzaWNpbWFnZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIGJvZHkud29vY29tbWVyY2UtY2FydCB0YWJsZS5zaG9wX3RhYmxlLmNhcnQgdGQucHJvZHVjdC1uYW1lIHtcbiAgICAgICAgZ3JpZC1hcmVhOiBjbGFzc2ljbmFtZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIGJvZHkud29vY29tbWVyY2UtY2FydCB0YWJsZS5zaG9wX3RhYmxlLmNhcnQgdGQucHJvZHVjdC1xdWFudGl0eSB7XG4gICAgICAgIGdyaWQtYXJlYTogY2xhc3NpY3F0eSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIGJvZHkud29vY29tbWVyY2UtY2FydCB0YWJsZS5zaG9wX3RhYmxlLmNhcnQgdGQucHJvZHVjdC1yZW1vdmUge1xuICAgICAgICBncmlkLWFyZWE6IGNsYXNzaWNyZW1vdmUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICBib2R5Lndvb2NvbW1lcmNlLWNhcnQgdGFibGUuc2hvcF90YWJsZS5jYXJ0IHRkLnByb2R1Y3QtcHJpY2UsXG4gICAgYm9keS53b29jb21tZXJjZS1jYXJ0IHRhYmxlLnNob3BfdGFibGUuY2FydCB0ZC5wcm9kdWN0LXN1YnRvdGFsIHtcbiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDQyMHB4KSB7XG4gICAgYm9keSAud3AtYmxvY2std29vY29tbWVyY2UtY2FydCB0YWJsZS53Yy1ibG9jay1jYXJ0LWl0ZW1zIHRyLndjLWJsb2NrLWNhcnQtaXRlbXNfX3JvdyxcbiAgICBib2R5Lndvb2NvbW1lcmNlLWNhcnQgdGFibGUud2MtYmxvY2stY2FydC1pdGVtcyB0ci53Yy1ibG9jay1jYXJ0LWl0ZW1zX19yb3csXG4gICAgYm9keSAud3AtYmxvY2std29vY29tbWVyY2UtY2FydCAud2MtYmxvY2stY2FydC1pdGVtc19fcm93LFxuICAgIGJvZHkud29vY29tbWVyY2UtY2FydCAud2MtYmxvY2stY2FydC1pdGVtc19fcm93LFxuICAgIGJvZHkud29vY29tbWVyY2UtY2FydCB0YWJsZS5zaG9wX3RhYmxlLmNhcnQgdHIuY2FydF9pdGVtIHtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiA3NnB4IG1pbm1heCgwLCAxZnIpICFpbXBvcnRhbnQ7XG4gICAgICAgIGdhcDogMTBweCAhaW1wb3J0YW50O1xuICAgICAgICBwYWRkaW5nOiAxMnB4ICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgYm9keSAud3AtYmxvY2std29vY29tbWVyY2UtY2FydCAud2MtYmxvY2stY2FydC1pdGVtX19pbWFnZSxcbiAgICBib2R5Lndvb2NvbW1lcmNlLWNhcnQgLndjLWJsb2NrLWNhcnQtaXRlbV9faW1hZ2UsXG4gICAgYm9keSAud3AtYmxvY2std29vY29tbWVyY2UtY2FydCAud2MtYmxvY2stY2FydC1pdGVtX19pbWFnZSBhLFxuICAgIGJvZHkgLndwLWJsb2NrLXdvb2NvbW1lcmNlLWNhcnQgLndjLWJsb2NrLWNhcnQtaXRlbV9faW1hZ2UgLndjLWJsb2NrLWNvbXBvbmVudHMtcHJvZHVjdC1pbWFnZSxcbiAgICBib2R5Lndvb2NvbW1lcmNlLWNhcnQgLndjLWJsb2NrLWNhcnQtaXRlbV9faW1hZ2UgYSxcbiAgICBib2R5Lndvb2NvbW1lcmNlLWNhcnQgLndjLWJsb2NrLWNhcnQtaXRlbV9faW1hZ2UgLndjLWJsb2NrLWNvbXBvbmVudHMtcHJvZHVjdC1pbWFnZSB7XG4gICAgICAgIHdpZHRoOiA3NnB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIG1heC13aWR0aDogNzZweCAhaW1wb3J0YW50O1xuICAgICAgICBtaW4td2lkdGg6IDc2cHggIWltcG9ydGFudDtcbiAgICAgICAgaGVpZ2h0OiA3NnB4ICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgYm9keSAud3AtYmxvY2std29vY29tbWVyY2UtY2FydCAud2MtYmxvY2stY2FydC1pdGVtX19pbWFnZSBpbWcsXG4gICAgYm9keS53b29jb21tZXJjZS1jYXJ0IC53Yy1ibG9jay1jYXJ0LWl0ZW1fX2ltYWdlIGltZyB7XG4gICAgICAgIHdpZHRoOiA2MHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIGhlaWdodDogNjBweCAhaW1wb3J0YW50O1xuICAgICAgICBtYXgtd2lkdGg6IDYwcHggIWltcG9ydGFudDtcbiAgICAgICAgbWF4LWhlaWdodDogNjBweCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIGJvZHkgLndwLWJsb2NrLXdvb2NvbW1lcmNlLWNhcnQgLndjLWJsb2NrLWNhcnQtaXRlbV9fcHJvZHVjdCAud2MtYmxvY2stY29tcG9uZW50cy1wcm9kdWN0LW5hbWUsXG4gICAgYm9keS53b29jb21tZXJjZS1jYXJ0IC53Yy1ibG9jay1jYXJ0LWl0ZW1fX3Byb2R1Y3QgLndjLWJsb2NrLWNvbXBvbmVudHMtcHJvZHVjdC1uYW1lIHtcbiAgICAgICAgZm9udC1zaXplOiAxNXB4ICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuIl19 */