/*!**************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/styles/app.css ***!
  \**************************************************************************************************************/
:root {
    --tosa-orange: #f14910;
    --tosa-blue: #4545DB;
    --tosa-blue-light: #E6F3F9;
    --tosa-teal: #0d6b6e;
    --tosa-yellow: #FFE350;
    --tosa-light-blue: #E6F3F9;
}

@media (min-width: 1200px) {
    .container-xl {
        max-width: 1600px;
    }
}

.container-xl {
    padding-left: clamp(1rem, 2.5vw, 2rem) !important;
    padding-right: clamp(1rem, 2.5vw, 2rem) !important;
}

body,
button,
input,
select,
textarea,
optgroup {
    font-family: 'Epilogue', sans-serif !important;
}

:root {
    --bs-body-color: #1D1D1B;
    --bs-body-color-rgb: 29, 29, 27;
}
body {
    color: #1D1D1B;
}
/* Force Epilogue everywhere — overrides Bootstrap defaults and any inline
   font-family set by external content (e.g. DropInBlog post HTML). */
*,
*::before,
*::after {
    font-family: inherit;
}
.dib-post,
.dib-post-content,
.dib-post-content * {
    font-family: 'Epilogue', sans-serif !important;
}

/* ── Reusable Components ─────────────────────────── */

/* Section dots - three small orange circles used as decorators before section titles */
.section-dots span,
.hero__dots span {
    display: inline-block;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--tosa-orange);
    margin-right: 4px;
}

.section-dots--center {
    text-align: center;
}

.section-title {
    font-size: clamp(1.75rem, 3.5vw, 2.75rem);
    color: #1a1a2e;
}

/* CTA Buttons - orange buttons with clip-path cut on top-right corner */
.cta-btn {
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 16px 32px;
    font-size: 1rem;
    font-weight: 600;
    white-space: nowrap;
    text-decoration: none;
    border: none;
    cursor: pointer;
    clip-path: polygon(0 0, calc(100% - 16px) 0, 100% 16px, 100% 100%, 0 100%);
    transition: background-color 0.2s;
}

.cta-btn--orange {
    background-color: var(--tosa-orange);
    color: #fff;
}

.cta-btn--green {
    background-color: #1DC58C;
    color: #fff;
}

.cta-btn--green:hover {
    background-color: #17a374;
    color: #fff;
}

.cta-btn--blue {
    background-color: #3846D8;
    color: #fff;
}

.cta-btn--blue:hover {
    background-color: #2c38b8;
    color: #fff;
}

.cta-btn--orange:hover {
    background-color: #d63d09;
    color: #fff;
}

.cta-btn__icon {
    font-size: 1.25rem;
    font-weight: 300;
}

/* ── Menubar ──────────────────────────────────────── */
/* Keep all existing menubar styles */
.navbar { min-height: 72px; padding-top: 0; padding-bottom: 0; }
@media (min-width: 992px) {
    .navbar .navbar-collapse { min-width: 0; }
}
.navbar .nav-link { color: #1a1a1a !important; }
.menubar__cta-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 10px 20px; font-size: 0.875rem; font-weight: 600; white-space: nowrap; cursor: pointer; clip-path: polygon(0 0, calc(100% - 14px) 0, 100% 14px, 100% 100%, 0 100%); }
.menubar__cta-btn--dark { background-color: #1a1a1a; color: #fff; }
.menubar__cta-btn--dark:hover { background-color: #333; color: #fff; }
.menubar__cta-btn--orange { background-color: var(--tosa-orange); color: #fff; }
.menubar__cta-btn--orange:hover { background-color: #d63d09; color: #fff; }
.menubar__chevron { transition: transform 0.2s ease; -webkit-text-stroke: 0.8px currentColor; }
.dropdown.show .menubar__chevron, .nav-item.show .menubar__chevron { transform: rotate(180deg); }

/* Navbar nav links spacing */
.navbar .navbar-nav .nav-link,
.navbar .navbar-nav .menubar__link {
    padding: 1.5rem 1rem;
    font-size: 0.9375rem;
    font-weight: 600;
    color: #1a1a1a !important;
    position: relative;
    cursor: default;
    white-space: nowrap;
}
.navbar .navbar-nav .menubar__link:hover {
    color: var(--tosa-orange) !important;
}
.navbar .navbar-nav .menubar__item:not(.dropdown) .menubar__link {
    cursor: pointer;
}

.navbar .container-xl {
    max-width: 99%;
    min-height: 72px;
    align-items: stretch;
}

.navbar #menubarNav {
    min-height: 72px;
    align-items: stretch;
}

.navbar .navbar-nav {
    min-height: 72px;
    align-items: stretch;
    margin-left: auto !important;
    margin-right: auto !important;
}

.navbar .navbar-brand {
    display: flex;
    align-items: center;
}
/* Active / open state: orange underline + 3 orange dots centered below the link */
.menubar__item {
    position: relative;
}
.menubar__item::after {
    /* orange underline aligned with bottom of navbar */
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -1px;
    height: 3px;
    background-color: var(--tosa-orange);
    transform: scaleX(0);
    transform-origin: center;
    transition: transform 0.2s ease;
    pointer-events: none;
}
.menubar__item .menubar__link::before {
    /* 3 orange dots centered below the link */
    content: "• • •";
    position: absolute;
    left: 50%;
    bottom: 0.5rem;
    transform: translateX(-50%);
    color: var(--tosa-orange);
    font-size: 0.65rem;
    letter-spacing: 3px;
    line-height: 1;
    font-weight: 700;
    white-space: nowrap;
    opacity: 0;
    transition: opacity 0.2s ease;
    pointer-events: none;
}
.navbar ul.menubar__dropdown::before{
    content: "";
}
.menubar__item.show:not(.menubar__item--account)::after,
.menubar__item:hover:not(.menubar__item--account)::after,
.menubar__item:not(.menubar__item--account):has(.menubar__link[aria-expanded="true"])::after {
    transform: scaleX(1);
}
.menubar__item.show:not(.menubar__item--account) .menubar__link::before,
.menubar__item:hover:not(.menubar__item--account) .menubar__link::before,
.menubar__item:not(.menubar__item--account) .menubar__link[aria-expanded="true"]::before {
    opacity: 1;
}

/* Dropdown menus — cards stacked with no gap, no rounded corners */
.navbar .menubar__dropdown {
    margin-top: 1.2rem;
    padding: 0;
    min-width: 280px;
    border: none;
    background: transparent;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);
    border-radius: 0;
    overflow: visible;
    position: absolute;
}
/* Upward-pointing arrow on top of the first submenu item */
.navbar .menubar__dropdown::before {
    content: "";
    position: absolute;
    top: -8px;
    left: 24px;
    width: 0;
    height: 0;
    border-left: 9px solid transparent;
    border-right: 9px solid transparent;
    border-bottom: 9px solid #fff;
    filter: drop-shadow(0 -2px 2px rgba(0, 0, 0, 0.06));
    z-index: 1;
}
/* For the Account dropdown (menu-end), place the arrow on the right side */
.navbar .dropdown-menu-end.menubar__dropdown::before {
    left: auto;
    right: 24px;
}
.navbar .menubar__dropdown > li {
    margin: 0 !important;
}
.navbar .menubar__dropdown .menubar__dropdown-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 1rem 1.25rem;
    font-size: 0.9375rem;
    font-weight: 600;
    color: #1a1a1a;
    background-color: #fff;
    border-radius: 0;
    border-bottom: 1px solid rgba(0, 0, 0, 0.06);
    transition: color 0.15s ease, background-color 0.15s ease;
}
.navbar .menubar__dropdown > li:last-child .menubar__dropdown-item {
    border-bottom: none;
}
.navbar .menubar__dropdown .menubar__dropdown-item i.bi-chevron-right {
    color: var(--tosa-orange);
    font-size: 0.875rem;
    font-weight: 700;
    -webkit-text-stroke: 0.5px currentColor;
}
.navbar .menubar__dropdown .menubar__dropdown-item:hover,
.navbar .menubar__dropdown .menubar__dropdown-item:focus {
    color: var(--tosa-orange);
    background-color: #fff6f1;
}

/* Nested submenu (used on Solutions > Certifications) */
.navbar .menubar__has-submenu {
    position: relative;
}
.navbar .menubar__submenu {
    display: none;
    position: absolute;
    top: 0;
    left: 100%;
    margin: 0 0 0 4px;
    min-width: 260px;
}
.navbar .menubar__submenu::before {
    /* Move the arrow to the left side so it points back at the parent item */
    top: 16px;
    left: -8px;
    border-left: 0;
    border-right: 9px solid #fff;
    border-top: 9px solid transparent;
    border-bottom: 9px solid transparent;
    filter: drop-shadow(-2px 0 2px rgba(0, 0, 0, 0.06));
}

/* Open dropdown on hover for desktop */
@media (min-width: 992px) {
    .navbar .nav-item.dropdown:hover > .dropdown-menu,
    .navbar .dropdown:hover > .dropdown-menu,
    .navbar .menubar__item--account:hover > .dropdown-menu {
        display: block;
    }
    .navbar .menubar__has-submenu:hover > .menubar__submenu,
    .navbar .menubar__has-submenu:focus-within > .menubar__submenu {
        display: block;
    }

    /* Invisible hover bridge — fills the 1.2rem (2rem for the Account
       menu) gap between the nav-link and the dropdown so the cursor
       can travel between them without losing :hover. Pure hover target,
       no visible change. */
    .navbar .menubar__dropdown::after {
        content: "";
        position: absolute;
        top: -1.2rem;
        left: 0;
        right: 0;
        height: 1.2rem;
        background: transparent;
        pointer-events: auto;
    }
    .navbar .menubar__item--account > .dropdown-menu-end::after {
        top: -2rem;
        height: 2rem;
    }
    .navbar .menubar__item--lang > .dropdown-menu-end::after {
        top: calc(-2rem - 3px);
        height: calc(2rem + 3px);
    }
}

.navbar .menubar__item--account {
    position: relative;
}
.navbar .menubar__item--account > .dropdown-menu-end {
    right: 0;
    left: auto;
    margin-top: 2rem;
}

/* Language switcher: same placement as the Account menu */
.navbar .menubar__item--lang {
    position: relative;
}
.navbar .menubar__item--lang > .dropdown-menu-end {
    right: 0;
    left: auto;
    margin-top: calc(2rem + 3px);
    min-width: 200px;
}
.navbar .menubar__item--lang .menubar__dropdown-item {
    justify-content: flex-start;
    gap: 10px;
}
.navbar .menubar__item--lang .menubar__dropdown-item.is-active,
.navbar .menubar__item--lang .menubar__dropdown-item.is-active .login-header__lang-code-mini {
    color: var(--tosa-orange);
}

/* ── Hero ─────────────────────────────────────────── */
/* Full width hero with background image covering the entire section. Text overlays on the left. */
.hero {
    position: relative;
    min-height: 85vh;
}

.hero__bg {
    position: absolute;
    inset: 0;
    z-index: 1;
}

.hero__bg-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.hero__bg::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, rgba(255,255,255,0.92) 0%, rgba(255,255,255,0.7) 40%, rgba(255,255,255,0) 65%);
}

.hero__title {
    font-size: clamp(2.25rem, 4.5vw, 3.5rem);
    color: #1a1a2e;
}

.hero__subtitle {
    color: #555;
    max-width: 500px;
}

.min-vh-75 {
    min-height: 75vh;
}

/* ── Beyond Diploma ───────────────────────────────── */
.beyond-diploma {
    background: #fff;
    position: relative;
    overflow: hidden;
    padding: 80px 0;
}

/* Vector.png decorative shape on the left */
.beyond-diploma::before {
    content: '';
    position: absolute;
    top: 40px;
    left: 0;
    width: 49%;
    height: 110%;
    background: url(/build/images/vector-beyond.0e5c4489.png) no-repeat left top;
    background-size: cover;
    pointer-events: none;
    z-index: 0;
    opacity: 0.5;
}

.beyond-diploma .container-xl {
    position: relative;
    z-index: 1;
}



/* Grey dots above the beyond-diploma image */
.beyond-diploma__grey-dots {
    display: flex;
    gap: 16px;
    margin-bottom: 16px;
}

.beyond-diploma__grey-dots span {
    display: inline-block;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: #c0c0c0;
    margin-right: 0;
}

.beyond-diploma__image-wrapper {
    position: relative;
    display: inline-block;
}

.beyond-diploma__image {
    display: block;
    width: 480px;
    height: 580px;
    object-fit: cover;
    object-position: 60% 15%;
    clip-path: polygon(0 0, 82% 0, 100% 14%, 100% 100%, 0 100%);
    border-radius: 0;
}

/* Stat card overlapping the image at bottom-right */
.beyond-diploma__stat-card {
    position: absolute;
    bottom: 40px;
    right: -60px;
    background: #fff;
    border-radius: 0;
    padding: 22px 24px;
    box-shadow: 0 8px 40px rgba(0,0,0,0.08);
    max-width: 210px;
    z-index: 3;
}

/* Blue circle briefcase icon floating at top-right of stat card */
.beyond-diploma__stat-icon {
    position: absolute;
    top: -20px;
    right: -20px;
    width: 52px;
    height: 52px;
    background: var(--tosa-blue);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: 1.5rem;
    z-index: 4;
    box-shadow: 0 4px 16px rgba(69,69,219,0.3);
}

.beyond-diploma__stat-number {
    font-size: 2.6rem;
    font-weight: 700;
    color: var(--tosa-blue);
    line-height: 1;
    margin-bottom: 12px;
    padding-left: 12px;
    border-left: 4px solid var(--tosa-blue);
}

.beyond-diploma__stat-text {
    font-size: 0.875rem;
    color: #666;
    margin: 0;
    line-height: 1.4;
}

/* Software icons row below the image */
.beyond-diploma__software-icons {
    display: flex;
    gap: 20px;
    margin-top: 40px;
}

.beyond-diploma__sw-icon {
    width: 64px;
    height: 64px;
    background: #f5f5f5;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.beyond-diploma__sw-icon img {
    width: 36px;
    height: 36px;
    object-fit: contain;
}

/* Right column text styling */
.beyond-diploma .section-title {
    color: #1a1a2e;
    font-size: clamp(2rem, 4vw, 3rem);
    line-height: 1.15;
}

/* Highlighted text inside beyond-diploma paragraph */
.text-highlight {
    color: var(--tosa-orange);
    font-weight: 600;
    text-decoration: underline;
    text-underline-offset: 3px;
}

/* ── Certify Skills ───────────────────────────────── */
.certify-skills {
    background-color: #f0f7f7;
    background-image: url(/build/images/vector-certifyslider.cff1111f.png), linear-gradient(180deg, #f0f7f7 0%, #fff 100%);
    background-repeat: no-repeat, no-repeat;
    background-position: center center, center center;
    background-size: auto, cover;
    overflow: hidden;
}

/* Swiper container - fade aux bords gauche et droit */
.swiper.certify-swiper {
    width: 100%;
    overflow: visible !important;
    padding-top: 30px;
    padding-bottom: 40px;
    -webkit-mask-image: linear-gradient(
        to right,
        transparent 0%,
        black 12%,
        black 88%,
        transparent 100%
    );
    mask-image: linear-gradient(
        to right,
        transparent 0%,
        black 12%,
        black 88%,
        transparent 100%
    );
}

.certify-swiper .swiper-wrapper {
    transition-timing-function: linear !important;
    -webkit-transition-timing-function: linear !important;
    align-items: center;
    will-change: transform;
    overflow: visible !important;
}

/* Override Swiper default width: 100% on slides - fixed width */
.certify-swiper .swiper-slide {
    width: 260px !important;
    min-width: 260px !important;
    max-width: 260px !important;
    height: auto;
    display: flex;
    align-items: stretch;
}

.certify-card {
    background: #fff;
    padding: 32px 20px;
    text-align: center;
    width: 260px;
    min-width: 260px;
    max-width: 260px;
    height: 280px;
    min-height: 280px;
    max-height: 280px;
    overflow: hidden;
    flex-shrink: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    box-shadow: 0px 3px 20px #dedede;
}

.certify-card__icon {
    width: 100px;
    height: 100px;
    min-width: 100px;
    min-height: 100px;
    margin: auto;
    margin-bottom: 2em;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    flex-shrink: 0;
}

.certify-card__icon img {
    width: 100px !important;
    height: 100px !important;
    min-width: 100px;
    min-height: 100px;
    object-fit: contain;
    object-position: center;
    display: block;
    flex-shrink: 0;
}

/* Bundle cards — the bundle banner is wide, so override the square icon slot */
.certify-card--bundle {
    color: inherit;
}
.certify-card__icon--bundle {
    width: 100%;
    height: 120px;
    min-width: 0;
    min-height: 0;
    margin-bottom: 1.2em;
}
.certify-card__icon--bundle img {
    width: 100% !important;
    height: 100% !important;
    min-width: 0;
    min-height: 0;
    object-fit: contain;
}

.certify-card__label {
    font-size: 0.8rem;
    font-weight: 600;
    word-break: break-word;
    overflow-wrap: break-word;
    white-space: normal;
    width: 100%;
    color: #1a1a2e;
    margin: 0;
    line-height: 1.3;
    min-height: 2.6em;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* ── Certification Offerings ──────────────────────── */
.cert-offerings {
    position: relative;
    min-height: 600px;
    background-color: #3846d8;
    background-image: url("/build/images/Group%20108.2387bf19.png");
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
}

.cert-offerings__heading {
    display: inline-block;
    background: #FFE350;
    color: #1a1a2e;
    font-weight: 700;
    border-radius: 50px;
    padding: 14px 48px;
    max-width: 100%;
    text-wrap: balance;
    margin-bottom: 1.25rem;
    font-size: clamp(1rem, 2.4vw, 1.9rem);
    line-height: 1.2;
}
.cert-offerings__lead {
    max-width: 720px;
    color: #fff;
    font-size: 1.0625rem;
    line-height: 1.6;
}
.cert-offerings__tabs-label {
    color: #fff;
    letter-spacing: 0.02em;
    font-size: 2rem;
    font-weight: 700;
    margin-bottom: 1rem;
}

.cert-offerings__bg {
    position: absolute;
    inset: 0;
    z-index: 0;
}

.cert-offerings__bg-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: right center;
}

.cert-offerings__arrow {
    position: absolute;
    left: 0;
    top: 0;
    height: 100%;
    width: auto;
    object-fit: contain;
    object-position: left center;
    z-index: 1;
    pointer-events: none;
}

.cert-offerings__card {
    background: #fff;
    border-radius: 0;
    padding: 48px;
    position: relative;
    z-index: 2;
}

.cert-offerings__logo-item {
    padding: 8px 0;
}

.cert-offerings__logo-line {
    height: 3px;
    width: 100%;
    border-radius: 2px;
}

/* ── Learning Platform ────────────────────────────── */
.learning-platform {
    background-color: #fff;
    background-image: url(/build/images/gradient-bg.9466a959.png);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
}

.platform-feature__icon {
    flex-shrink: 0;
    width: 56px;
    height: 56px;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
}

/* Subtle shadow ellipse below the icon */
.platform-feature__icon::after {
    content: '';
    position: absolute;
    bottom: -4px;
    left: 50%;
    transform: translateX(-50%);
    width: 44px;
    height: 8px;
    border-radius: 50%;
    background: rgba(69, 69, 219, 0.08);
    filter: blur(3px);
}

.platform-feature__icon img,
.platform-feature__icon video {
    width: 48px;
    height: 48px;
    object-fit: contain;
    position: relative;
    z-index: 1;
}

/* Why-choose & Who-we-serve icon size constraints */
.why-card__icon {
    width: 64px;
    height: 64px;
    margin-bottom: 12px;
}
.why-card__icon img,
.why-card__icon video {
    width: 100%;
    height: 100%;
    object-fit: contain;
}
/* ── Who We Serve ─────────────────────────────────── */
.who-we-serve {
    background: #fff;
    padding: 40px 0;
    position: relative;
    overflow: hidden;
}

.who-we-serve .container-xl {
    background: var(--tosa-blue) url(/build/images/vector-whoweserve.67be3c7f.png) no-repeat;
    background-size: countain;
    color: #fff;
    padding: 64px 56px;
    position: relative;
    overflow: hidden;
    background-position-x: 80%;
    clip-path: polygon(0 0, 94% 0, 100% 14%, 100% 100%, 0 100%);
}

.who-we-serve .col-lg-7{
    padding-top: 4em;
}

.who-we-serve .col-lg-5{
   padding: 0% 3%;
}

.who-we-serve .section-dots--orange span{
    background: var(--tosa-yellow) !important;
}
.who-we-serve .section-title {
    color: #fff;
}

.who-we-serve p {
    color: rgba(255,255,255,0.85);
}

.section-dots--orange span {
    background: var(--tosa-orange) !important;
}

.section-dots--yellow span {
    background: var(--tosa-yellow) !important;
}

.serve-card {
    background: #fff;
    padding: 41px 20px;
    text-align: center;
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    border-radius: 0;
}

.serve-card__title {
    font-size: 1rem;
    color: #1a1a2e;
    margin: 0;
}

.serve-card__icon {
    width: 100px;
    height: 100px;
    margin-bottom: 66px;
}
.serve-card__icon img,
.serve-card__icon video {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.platform-feature__title {
    font-size: 1.1rem;
    color: var(--tosa-blue) !important;
}

.platform-feature__text {
    font-size: 0.9rem;
}

/* ── Why Choose ───────────────────────────────────── */
.why-choose {
    background: #E6F3F9 url(/build/images/vector-whychoose.2af2d342.png) no-repeat center center;
    background-size: cover;
    position: relative;
    overflow: hidden;
    padding: 80px 0;
}

.why-choose .container-xl {
    position: relative;
    z-index: 1;
}

.why-choose .section-title {
    color: #1a1a2e;
}

.why-choose .row {
    background: #fff;
}

.why-choose .why-card {
    background: #fff;
    border-radius: 0;
    padding: 40px 28px;
    text-align: left;
    height: 100%;
    border: 1px solid #E6F3F9;
    position: relative;
    min-height: 430px;
}

.why-card__icon {
    width: 64px;
    height: 64px;
    margin-bottom: 16px;
}

.why-card__icon img,
.why-card__icon video {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

/* Small blue underline between icon and title - blurred */
.why-card__line {
    width: 40px;
    height: 2px;
    background: var(--tosa-blue);
    margin-bottom: 16px;
    border-radius: 2px;
    filter: blur(7px);
    margin-left: 16px;
}

.why-card__title {
    font-size: 1.1rem;
    font-weight: 700;
    color: var(--tosa-blue);
    margin-bottom: 12px;
    line-height: 1.25;
    margin-top: 62px;
}

.why-card__text {
    font-size: 0.9rem;
    color: #555;
    line-height: 1.55;
    margin: 0;
}

/* CTA card: orange background */
.why-card--cta {
    background: var(--tosa-orange) url(/build/images/whychooselink.ea58f6d8.png) no-repeat bottom left !important;
    background-size: auto 65% !important;
    padding: 40px 28px;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    border-right: none !important;
    color: #fff;
    text-decoration: none;
    transition: background-color 0.2s;
}

.why-card--cta:hover {
    background-color: #d63d09 !important;
    color: #fff;
}

.why-card__cta-title {
    font-size: 1.35rem;
    line-height: 1.25;
    color: #fff;
    margin: 0;
}


.why-card__cta-arrow {
    width: 56px;
    height: 56px;
    background: var(--tosa-yellow);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.5rem;
    color: #1a1a2e;
    margin-top: 32px;
    align-self: flex-end;
}

/* ── Testimonials ─────────────────────────────────── */
.testimonials {
    background: linear-gradient(to right, #05676A 0%, #05676A 50%, #005356 50%, #005356 100%);
    position: relative;
    overflow: hidden;
    padding-bottom: 280px !important;
}

.testimonials::after {
    content: '';
    position: absolute;
    top: 0;
    left: 50%;
    width: 1.5px;
    height: 100%;
    background: rgba(255, 255, 255, 0.3);
    z-index: 2;
    pointer-events: none;
}

.testimonials__left {
    position: relative;
    z-index: 1;
    padding-left: 80px;
    padding-top: 40px;
    padding-bottom: 40px;
}

.testimonials::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 50%;
    height: 129%;
    background: url(/build/images/vector-testimonial-left.43362597.png) no-repeat bottom left;
    background-size: cover;
    pointer-events: none;
    z-index: 0;
}

.testimonials__right {
    position: relative;
    z-index: 1;
}

.testimonials > .container-xl::after {
    content: '';
    position: absolute;
    bottom: -280px;
    right: -220px;
    width: 600px;
    height: 500px;
    background: url(/build/images/vector-testimonial-right.3f3d7a58.png) no-repeat bottom right;
    background-size: contain;
    pointer-events: none;
    z-index: 0;
}

.testimonials > .container-xl {
    position: relative;
}

.testimonial-card.is-active {
    background: transparent;
}

/* Speech-bubble background image. The image's tail is ~34% of its height, so
   the bottom inset is a PERCENTAGE of the card height (not a fixed px): the
   image's body then always covers the quote + author no matter how long the
   quote is, and the tail extends proportionally below. */
.testimonial-card.is-active::before {
    content: '';
    position: absolute;
    top: -40px;
    left: -40px;
    right: -40px;
    bottom: -55%;
    background: url(/build/images/vector-testimonial-dialog.90c704f2.webp) no-repeat center center;
    background-size: 100% 100%;
    z-index: -1;
    pointer-events: none;
}

.testimonials__avatar {
    width: 80px;
    height: 80px;
    border-radius: 50%;
    border: 5px solid var(--tosa-teal);
    margin-left: -15px;
    overflow: hidden;
    cursor: pointer;
    display: inline-block;
    position: relative;
}

.testimonials__avatar:nth-child(1) { z-index: 1; }
.testimonials__avatar:nth-child(2) { z-index: 2; }
.testimonials__avatar:nth-child(3) { z-index: 3; }

.testimonials__avatar:first-child {
    margin-left: 0;
}

.testimonials__avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    filter: grayscale(100%);
    transition: filter 0.3s;
}

.testimonials__avatar.is-active img {
    filter: grayscale(0%);
}


.testimonials__nav-btn {
    width: 52px;
    height: 52px;
    border: none;
    border-radius: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.1rem;
    cursor: pointer;
    transition: background-color 0.2s;
    clip-path: polygon(0 0, calc(100% - 14px) 0, 100% 14px, 100% 100%, 0 100%);
}

.testimonials__nav-btn--prev {
    background: #fff;
    color: var(--tosa-orange);
    clip-path: polygon(14px 0, 100% 0, 100% 100%, 0 100%, 0 14px);
}

.testimonials__nav-btn--prev:hover {
    background: #f0f0f0;
}

.testimonials__nav-btn--next {
    background: var(--tosa-orange);
    color: #fff;
}

.testimonials__nav-btn--next:hover {
    background: #d63d09;
}

/* Slider wrapper */
.testimonials__slider {
    position: relative;
    max-width: 80%;
    margin-left: auto;
}

/* All slides hidden by default */
.testimonials__slide {
    display: none;
}

/* Active slide: block + fade-in animation */
.testimonials__slide.is-active {
    display: block;
    animation: testimonial-fadein 0.4s ease forwards;
}

@keyframes testimonial-fadein {
    from { opacity: 0; transform: translateY(14px); }
    to   { opacity: 1; transform: translateY(0); }
}

.testimonial-card {
    background: transparent;
    border: none;
    border-radius: 0;
    padding: 56px 64px;
    position: relative;
    z-index: 2;
    min-height: 460px;
}

.testimonials__slide.is-active.testimonial-card {
    display: flex;
    flex-direction: column;
    justify-content: normal;
}

.testimonial-card__quote p {
    color: #fff;
    font-size: 1.35rem;
    line-height: 1.6;
}

.testimonial-card__author-line {
    width: 4px;
    height: 48px;
    background: var(--tosa-yellow);
    border-radius: 2px;
}

.testimonial-card__author-img {
    width: 60px;
    height: 60px;
    border-radius: 50%;
    object-fit: cover;
    border: 4px solid var(--tosa-teal);
}

.testimonial-card__author-name {
    color: var(--tosa-yellow);
    font-size: 1.1rem;
}

.testimonial-card__author-role {
    color: rgba(255,255,255,0.7);
}

/* ── Get Started ──────────────────────────────────── */
.get-started {
    background: transparent;
    padding: 0;
    position: relative;
    margin-top: -220px;
    margin-bottom: -220px;
    z-index: 2;
}

.get-started__card {
    background: var(--tosa-yellow);
    border-radius: 0;
    overflow: hidden;
    position: relative;
    max-width: 1140px;
    margin: 0 auto;
    /* Clip-path cut on top-right to match design style */
    clip-path: polygon(0 0, calc(100% - 60px) 0, 100% 60px, 100% 100%, 0 100%);
}

.get-started__card > .container-xl {
    padding-left: 0;
    padding-right: 0;
    max-width: none;
}

.get-started__image-wrapper {
    position: relative;
    height: 100%;
    min-height: 420px;
    overflow: hidden;
}

.get-started__image {
    display: block;
    width: 100%;
    height: 100%;
    max-height: 440px;
    object-fit: cover;
}

/* Blog page variant: image stretches to the bottom of the card. */
.get-started--blog .get-started__image-wrapper {
    height: 100%;
    min-height: 0;
}
.get-started--blog .get-started__image {
    width: 100%;
    height: 100%;
    max-height: none;
    object-fit: cover;
    object-position: center bottom;
}

.get-started__title {
    font-size: clamp(1.5rem, 2.8vw, 2.25rem);
    color: #1a1a2e;
    line-height: 1.2;
}

.get-started__text {
    color: #1a1a2e;
    opacity: 0.85;
    font-size: 1.05rem;
}

/* ── Newsletter ───────────────────────────────────── */
.newsletter {
    background-color: #eaf3fb;
    background-position: bottom;
    background-size: cover;
    background-repeat: no-repeat;
    position: relative;
    overflow: hidden;
    padding-top: 320px !important;
    padding-bottom: 80px !important;
}

.newsletter__input-wrapper {
    position: relative;
}

.newsletter__input-icon {
    position: absolute;
    left: 16px;
    top: 50%;
    transform: translateY(-50%);
    color: #999;
    font-size: 1.1rem;
}

.newsletter__input {
    padding: 16px 16px 16px 48px;
    border: 1px solid #ddd;
    border-radius: 0;
    font-size: 1rem;
    background: #fff;
    height: 56px;
}

.newsletter__select {
    padding-left: 48px;
    border-radius: 0;
    height: 56px;
}

.newsletter__input:focus {
    border-color: var(--tosa-orange);
    box-shadow: 0 0 0 0.2rem rgba(241, 73, 16, 0.15);
}

.newsletter__multiselect {
    position: relative;
}
.newsletter__multiselect-trigger {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    width: 100%;
    height: 56px;
    padding: 16px 16px 16px 48px;
    border: 1px solid #ddd;
    border-radius: 0;
    background: #fff;
    font-family: inherit;
    font-size: 1rem;
    color: #6c757d;
    text-align: left;
    cursor: pointer;
}
.newsletter__multiselect-trigger[aria-expanded="true"] {
    border-color: var(--tosa-orange);
    box-shadow: 0 0 0 0.2rem rgba(241, 73, 16, 0.15);
}
.newsletter__multiselect-label {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.newsletter__multiselect-label.has-selection {
    color: #212529;
}
.newsletter__multiselect-caret {
    flex-shrink: 0;
    color: #999;
    transition: transform 0.15s ease;
}
.newsletter__multiselect-trigger[aria-expanded="true"] .newsletter__multiselect-caret {
    transform: rotate(180deg);
}
.newsletter__multiselect-panel {
    position: absolute;
    top: calc(100% + 4px);
    left: 0;
    right: 0;
    z-index: 20;
    background: #fff;
    border: 1px solid #ddd;
    box-shadow: 0 10px 28px rgba(20, 30, 60, 0.15);
    padding: 8px 0;
}
.newsletter__multiselect-option {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0;
    padding: 10px 16px;
    font-size: 0.95rem;
    color: #212529;
    cursor: pointer;
}
.newsletter__multiselect-option:hover {
    background: #f5f7fc;
}
.newsletter__multiselect-option input[type="checkbox"] {
    width: 16px;
    height: 16px;
    accent-color: var(--tosa-orange);
    cursor: pointer;
}
.newsletter__error {
    margin: 0 0 12px;
    padding: 10px 14px;
    background: rgba(241, 73, 16, 0.1);
    border-left: 3px solid var(--tosa-orange);
    color: #8a4b1a;
    font-size: 0.92rem;
    line-height: 1.45;
}
.newsletter__success {
    padding: 14px 18px;
    background: rgba(255, 255, 255, 0.7);
    border: 1px solid rgba(20, 30, 60, 0.12);
    color: #1a1a2e;
    font-weight: 600;
    text-align: center;
}

/* ── Footer ───────────────────────────────────────── */
.footer {
    background: #1a1a2e;
    position: relative;
    overflow: hidden;
}

.footer::before {
    content: '';
    position: absolute;
    top: 21px;
    left: 0;
    bottom: 0;
    width: 100%;
    background: url(/build/images/vector-footer.28e6318c.png) no-repeat left center;
    background-size: contain;
    pointer-events: none;
    z-index: 0;
}

.footer > .container-xl {
    position: relative;
    z-index: 1;
}


.footer__links a:hover {
    opacity: 1 !important;
    text-decoration: underline !important;
}

.footer__social-btn {
    width: 44px;
    height: 44px;
    border-radius: 0;
    clip-path: polygon(0 0, calc(100% - 12px) 0, 100% 12px, 100% 100%, 0 100%);
    background: rgba(255,255,255,0.08);
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: 1.1rem;
    text-decoration: none;
    transition: background 0.2s;
    flex-shrink: 0;
}

.footer__social-btn:hover {
    background: rgba(255,255,255,0.18);
    color: #fff;
}

.footer__heading-dots span {
    display: inline-block;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--tosa-orange);
    margin-right: 3px;
}

/* ── Responsive ───────────────────────────────────── */
@media (max-width: 991.98px) {
    .hero {
        min-height: 60vh;
    }

    .hero__bg::after {
        background: linear-gradient(180deg, rgba(255,255,255,0.95) 0%, rgba(255,255,255,0.85) 60%, rgba(255,255,255,0.5) 100%);
    }

    .cert-offerings__shape {
        display: none;
    }

    .cert-offerings__card {
        padding: 32px;
    }

    .get-started__image-wrapper {
        min-height: 250px;
    }
}

/* ══════════════════════════════════════════════════
   CERTIFICATIONS PAGE
   ══════════════════════════════════════════════════ */

/* Cert Hero */
.cert-hero {
    position: relative;
    padding: 96px 0 160px;
}
.cert-hero__bg {
    position: absolute;
    inset: 0;
    z-index: 1;
}
.cert-hero__bg-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center 89%;
}
.cert-hero__bg::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, rgba(255,255,255,0.92) 0%, rgba(255,255,255,0.7) 40%, rgba(255,255,255,0) 65%);
}
.cert-hero__row {
    min-height: 60vh;
}
.cert-hero__title {
    font-size: clamp(2rem, 4vw, 3.25rem);
    color: #1a1a2e;
}
.cert-hero__subtitle {
    color: #222;
    max-width: 540px;
}

/* Cert Unique Section */
.cert-unique {
    background: transparent;
}
.cert-unique__card {
    position: relative;
    background: var(--tosa-blue);
    clip-path: polygon(0 0, calc(100% - 80px) 0, 100% 80px, 100% 100%, 0 100%);
    padding: 5px;
    overflow: hidden;
}
.cert-unique__card-inner {
    position: relative;
    clip-path: polygon(0 0, calc(100% - 78px) 0, 100% 78px, 100% 100%, 0 100%);
    background: #EDEEFB;
    padding: 72px 64px;
    overflow: hidden;
}
.cert-unique__vector {
    display: block;
    width: 100%;
    max-width: 340px;
    height: auto;
    margin-top: 32px;
    opacity: 0.85;
}
.cert-unique__item {
    display: flex;
    align-items: flex-start;
    gap: 16px;
    padding: 20px 0;
    border-top: 1px solid rgba(69, 69, 219, 0.2);
}
.cert-unique__items .cert-unique__item:first-child {
    border-top: none;
    padding-top: 0;
}
.cert-unique__icon {
    flex-shrink: 0;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    border: 0;
    background: transparent;
    padding: 0;
    object-fit: contain;
}
.cert-unique__title {
    font-size: 1.125rem;
    color: var(--tosa-blue);
    margin-bottom: 6px;
}
.cert-unique__desc {
    color: #333;
    line-height: 1.55;
    font-size: 0.95rem;
}

/* 5 Steps pill title */
.cert-unique__steps {
    text-align: center;
}
.cert-steps__title-pill {
    display: inline-block;
    border: 2px solid var(--tosa-blue);
    border-radius: 50px;
    padding: 10px 36px;
    font-size: 1.125rem;
    font-weight: 700;
    color: var(--tosa-blue) !important;
    background: #fff;
    margin: 32px 0 40px;
    line-height: 1.2;
}
.cert-unique__items {
    display: flex;
    flex-direction: column;
    gap: 32px;
}
.cert-unique__item {
    display: flex;
    align-items: flex-start;
    gap: 20px;
}
.cert-unique__icon {
    flex-shrink: 0;
    width: 64px;
    height: 64px;
    object-fit: contain;
    border-radius: 12px;
}
.cert-unique__body {
    flex: 1;
}
.cert-unique__title {
    font-size: 1.25rem;
    color: var(--tosa-blue);
    margin-bottom: 8px;
}
.cert-unique__desc {
    color: #333;
    line-height: 1.6;
}

/* Cert Step (image-based) */
.cert-step__img {
    width: auto;
    height: 241px;
    display: block;
    margin: auto;
}
@media (min-width: 1200px) and (max-width: 1479.98px) {
    .cert-step__img {
        height: 190px;
    }
}
@media (min-width: 992px) and (max-width: 1199.98px) {
    .cert-step__img {
        height: 145px;
    }
}
.cert-step__desc {
    margin: 1.25rem 0 0;
    color: #4a4a55;
    font-size: 0.9rem;
    line-height: 1.55;
    text-align: center;
    padding: 0 .25rem;
}

/* Cert Offerings Section */
.cert-offerings__tabs {
    justify-content: center;
    gap: 80px;
    border-bottom: 0;
    margin-left: auto;
    margin-right: auto;
}
@media (min-width: 992px) and (max-width: 1399.98px) {
    .cert-offerings__tabs {
        gap: 24px;
        flex-wrap: nowrap;
    }
    .cert-offerings__tabs .nav-item {
        min-width: 0;
    }
    .cert-offerings__tabs .nav-link {
        padding: 16px 12px;
    }
}
.cert-offerings__tabs .nav-item {
    flex: 1;
    position: relative;
}
.cert-offerings__tabs .nav-link {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 100%;
    gap: 8px;
    border: 2px solid rgba(255, 255, 255, 0.6);
    color: #777;
    font-weight: 600;
    padding: 24px 28px;
    font-size: 1rem;
    background: rgba(255, 255, 255, 0.5);
    border-radius: 16px;
    margin-bottom: 0;
    transition: background-color 0.2s, border-color 0.2s, box-shadow 0.2s;
}
.cert-offerings__tabs .nav-link.active {
    color: var(--tosa-blue);
    background: #fff;
    border-radius: 16px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.10);
}
.cert-offerings__tab-logo {
    height: 64px;
    width: auto;
    max-width: 100%;
    object-fit: contain;
    display: block;
    margin: auto;
}
@media (min-width: 992px) {
    .cert-offerings__tabs {
        flex-wrap: nowrap;
    }
    .cert-offerings__tabs .nav-item {
        min-width: 0;
    }
}
.cert-offerings__tab-chevron {
    font-size: 1.25rem;
    color: #9aa0b5;
    line-height: 1;
}
.cert-offerings__tabs .nav-link.active .cert-offerings__tab-chevron {
    visibility: hidden;
}
.cert-offerings__tabs .nav-link.active::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: -28px;
    transform: translateX(-50%);
    border-left: 13px solid transparent;
    border-right: 13px solid transparent;
    border-top: 15px solid #fff;
}
.cert-offerings__mockup {
    background-color: rgba(255, 255, 255, 0.88);
    border: 0;
    border-radius: 20px;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.12);
    overflow: hidden;
    margin: 0 auto;
    padding: 32px;
}
.cert-offerings__mockup-header {
    padding: 8px 8px 20px;
    text-align: left;
}
.cert-offerings__mockup-title {
    font-size: 2rem;
    color: #1a1a2e;
}
.cert-offerings__mockup-content {
    padding: 24px 32px 32px;
}
.cert-offerings__app-icon {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 10px;
    aspect-ratio: 1 / 1;
    padding: 16px 10px;
    background: #D9D9D933;
    border: 1px solid #D9D9D9;
    border-radius: 14px;
    text-decoration: none;
    color: #1a1a1a;
    transition: transform 0.2s, box-shadow 0.2s, border-color 0.2s, background-color 0.2s;
}
.cert-offerings__app-icon:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(69, 69, 219, 0.08);
    border-color: var(--tosa-blue);
    color: var(--tosa-blue);
}
.cert-offerings__app-icon img {
    max-width: 100%;
    max-height: 74px;
    object-fit: contain;
}
.cert-offerings__app-icon--bundle {
    padding: 8px;
}
.cert-offerings__app-icon--bundle img {
    max-width: 100%;
    max-height: 100%;
    width: 100%;
    height: 100%;
    object-fit: contain;
}
.cert-offerings__app-name {
    font-size: 0.85rem;
    font-weight: 600;
    text-align: center;
    line-height: 1.25;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    word-break: break-word;
}

/* Cert Steps */
.cert-steps {
    background: linear-gradient(135deg, #f5f5ff 0%, #e8f0ff 100%);
}
.cert-steps__title-pill {
    display: inline-block;
    border: 2px solid var(--tosa-blue);
    border-radius: 50px;
    padding: 12px 48px;
    font-size: 1.75rem;
    font-weight: 700;
    color: #1a1a2e;
    margin-bottom: 48px;
}
.cert-step {
    text-align: center;
}
.cert-step__chart {
    background: #fff;
    border: 1px solid #eee;
    border-radius: 8px;
    padding: 12px;
    margin-bottom: 16px;
}
.cert-step__level {
    padding: 4px 8px;
    font-size: 0.75rem;
    border-bottom: 1px solid #f0f0f0;
}
.cert-step__level--active {
    color: var(--tosa-orange);
    font-weight: 700;
}
.cert-step__number {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: var(--tosa-orange);
    color: #fff;
    font-weight: 700;
    font-size: 0.875rem;
}
.cert-step__name {
    font-size: 1rem;
    font-weight: 700;
    color: var(--tosa-blue);
}
.cert-step__sub {
    display: inline-block;
    background: #333;
    color: #fff;
    font-size: 0.7rem;
    padding: 2px 10px;
    border-radius: 4px;
}
.cert-step__score {
    padding: 4px 8px;
    font-size: 0.75rem;
    border-bottom: 1px solid #f0f0f0;
}
.cert-step__score--active {
    background: var(--tosa-yellow);
    font-weight: 700;
}

/* Cert Catalog / Offerings Tabs */
.cert-catalog {
    background: #e8f4f8;
}
.cert-catalog__tabs {
    display: flex;
    gap: 0;
    margin-bottom: 0;
}
.cert-catalog__tab {
    flex: 1;
    padding: 16px 24px;
    background: transparent;
    border: none;
    font-weight: 600;
    color: #999;
    cursor: pointer;
    transition: all 0.2s;
    opacity: 0.5;
}
.cert-catalog__tab--active,
.cert-catalog__tab:hover {
    background: #fff;
    color: #1a1a2e;
    opacity: 1;
    box-shadow: 0 -2px 8px rgba(0,0,0,0.05);
}
.cert-catalog__tab img {
    height: 32px;
    object-fit: contain;
}
.cert-catalog__browser {
    background: #fff;
    border-radius: 0 0 12px 12px;
    overflow: hidden;
    box-shadow: 0 8px 32px rgba(0,0,0,0.08);
}
.cert-catalog__browser-bar {
    background: #f5f5f5;
    padding: 12px 20px;
    display: flex;
    align-items: center;
    gap: 12px;
    border-bottom: 1px solid #eee;
}
.cert-catalog__browser-dot {
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background: #ddd;
}
.cert-catalog__browser-url {
    flex: 1;
    background: #fff;
    border: 1px solid #e0e0e0;
    border-radius: 20px;
    padding: 6px 16px;
    font-size: 0.8rem;
    color: #666;
}
.cert-catalog__app-icon {
    background: #f9f9f9;
    border: 1px solid #eee;
    border-radius: 8px;
    padding: 20px;
    text-align: center;
    transition: transform 0.2s, box-shadow 0.2s;
}
.cert-catalog__app-icon:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0,0,0,0.08);
}
.cert-catalog__app-icon img {
    width: 56px;
    height: 56px;
    object-fit: contain;
    margin-bottom: 8px;
}
.cert-catalog__app-icon p {
    font-size: 0.8rem;
    font-weight: 500;
    margin: 0;
}

/* Cert Bundles */
.cert-bundles {
    background: #fff;
}
.cert-bundles__inner {
    padding: 24px 48px;
}
.cert-bundles__intro {
    max-width: 860px;
    color: #333;
    line-height: 1.6;
}
.cert-bundles__graphic {
    background: #fff;
    padding: 48px;
    border-radius: 4px;
}
.cert-bundles__graphic img {
    display: block;
    margin: 0 auto;
    max-width: 100%;
}
button.cert-bundles__graphic--zoom:not(:disabled) {
    display: block;
    width: 100%;
    border: 0;
    cursor: zoom-in;
}
button.img-zoom-btn:not(:disabled) {
    display: block;
    width: 100%;
    padding: 0;
    border: 0;
    background: transparent;
    cursor: zoom-in;
}
.cert-bundles__zoom-content {
    background: #fff;
}
.cert-bundles__zoom-close {
    position: absolute;
    top: 16px;
    right: 16px;
    z-index: 2;
    background-color: #fff;
    padding: 12px;
}
.cert-bundles__zoom-scroll {
    overflow: auto;
    height: 100%;
    display: flex;
    align-items: center;
}
.cert-bundles__zoom-scroll img {
    width: 100%;
    min-width: 1000px;
    max-width: none;
    margin: auto;
    padding: 24px;
}
.cert-bundles__credly {
    max-width: 780px;
    color: #333;
    line-height: 1.6;
}
.cert-bundles__credly a {
    color: var(--tosa-orange);
}
.cert-bundles__matrix-img {
    max-width: 100%;
    height: auto;
}

/* Cert Entries (individual certifications) */
.cert-entries {
    background: url(/build/images/bg-01.f480dd6c.jpg) center/cover no-repeat;
}
.cert-entries .container-xl {
    max-width: 1440px;
}
.cert-entry {
    margin-bottom: 48px;
    box-shadow: 0 43px 40px rgba(0, 0, 0, 0.15);
}
.cert-entry:last-child {
    margin-bottom: 0;
}
.cert-entry__inner {
    display: flex;
    align-items: stretch;
    gap: 80px;
}
.cert-entry--reverse .cert-entry__inner {
    flex-direction: row-reverse;
}

/* Cert Ready (audiences) */
.cert-ready__grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    border: 1px solid #dcdce5;
    background: #fff;
}
.cert-ready__card {
    display: flex;
    flex-direction: column;
    padding: 32px 24px;
    background: #fff;
    border-right: 1px solid #dcdce5;
}
.cert-ready__card:last-child {
    border-right: none;
}
.cert-ready__card--highlight {
    background: var(--tosa-yellow);
}
.cert-ready__icon {
    width: 64px;
    height: 64px;
    margin-bottom: 24px;
    object-fit: contain;
    display: block;
}
.cert-ready__title {
    font-size: 1.125rem;
    color: var(--tosa-blue);
    margin-bottom: 12px;
}
.cert-ready__text {
    color: #333;
    font-size: 0.925rem;
    line-height: 1.5;
    flex: 1;
}
.cert-ready__link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: var(--tosa-orange);
    font-weight: 600;
    text-decoration: none;
    margin-top: 24px;
}
.cert-ready__card--highlight .cert-ready__link {
    color: var(--tosa-blue);
}
.cert-ready__arrow {
    font-size: 1.1rem;
    line-height: 1;
}

/* Cert Testimonial */
.cert-testimonial {
    position: relative;
    background: #005356;
    overflow: hidden;
    padding-top: 120px;
    padding-bottom: 280px;
}
.cert-testimonial__vector {
    position: absolute;
    top: 0;
    bottom: 0;
    height: 100%;
    width: auto;
    pointer-events: none;
}
.cert-testimonial__vector--left { left: 0; }
.cert-testimonial__vector--right { right: 0; }
.cert-testimonial__quote {
    position: relative;
    max-width: 1040px;
    margin: 80px auto;
    padding: 72px 80px;
    color: #fff;
    font-size: 1.3125rem;
    line-height: 1.65;
    text-align: center;
    border: 1.5px solid rgba(255, 255, 255, 0.85);
    border-image: linear-gradient(180deg, rgba(255,255,255,0.95) 0%, rgba(255,255,255,0.5) 60%, rgba(255,255,255,0) 100%) 1;
    background: transparent;
}
.cert-testimonial__quote--with-photo {
    padding-top: 40px;
}
.cert-testimonial__photo {
    display: block;
    width: 80px;
    height: 80px;
    margin: 0 auto 24px;
    border-radius: 50%;
    object-fit: cover;
    border: 3px solid #05676a;
    background: #05676a;
}
.cert-testimonial__text {
    font-style: italic;
}
.cert-testimonial__footer {
    margin-top: 8px;
}
.cert-testimonial__author {
    color: var(--tosa-yellow);
    font-weight: 700;
    font-size: 1rem;
    margin-bottom: 2px;
}
.cert-testimonial__role {
    color: #fff;
    font-size: 0.875rem;
    font-weight: 400;
}
@media (max-width: 991.98px) {
    .cert-ready__grid {
        grid-template-columns: repeat(2, 1fr);
    }
    .cert-ready__card:nth-child(2n) {
        border-right: none;
    }
    .cert-ready__card:nth-child(-n+2) {
        border-bottom: 1px solid #dcdce5;
    }
}
@media (max-width: 575.98px) {
    .cert-ready__grid {
        grid-template-columns: 1fr;
    }
    .cert-ready__card {
        border-right: none;
        border-bottom: 1px solid #dcdce5;
    }
    .cert-ready__card:last-child {
        border-bottom: none;
    }
}
.cert-entry__badge-col {
    flex: 0 0 500px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    background: #fff;
    padding: 48px;
    clip-path: polygon(0 0, calc(100% - 56px) 0, 100% 56px, 100% 100%, 0 100%);
}
.cert-entry--reverse .cert-entry__badge-col {
    clip-path: polygon(56px 0, 100% 0, 100% 100%, 0 100%, 0 56px);
}
.cert-entry__badge-link {
    display: inline-block;
    line-height: 0;
    transition: transform .15s ease, opacity .15s ease;
}
.cert-entry__badge-link:hover,
.cert-entry__badge-link:focus-visible {
    transform: translateY(-2px);
    opacity: 0.92;
}
.cert-entry__badge-link .cert-entry__badge {
    display: block;
}
.cert-entry__badge {
    max-width: 100%;
    width: 400px;
    height: auto;
}
.cert-entry__body {
    flex: 1;
    max-width: 620px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding-right: 56px;
}
.cert-entry--reverse .cert-entry__body {
    padding-right: 0;
    padding-left: 56px;
}
.cert-entry__title {
    font-size: 1.5rem;
    color: #1a1a2e;
}
.cert-entry__description {
    color: #333;
    line-height: 1.55;
}
.cert-entry__levels {
    list-style: none;
    padding: 0;
    margin: 0;
}
.cert-entry__levels li {
    position: relative;
    padding-left: 20px;
    margin-bottom: 10px;
    color: #333;
    line-height: 1.5;
}
.cert-entry__levels li::before {
    content: '›';
    position: absolute;
    left: 0;
    top: -2px;
    color: var(--tosa-orange);
    font-weight: 700;
    font-size: 1.2rem;
}
@media (max-width: 767.98px) {
    .cert-entry {
        margin-bottom: 32px;
    }
    .cert-entry__inner,
    .cert-entry--reverse .cert-entry__inner {
        flex-direction: column;
        gap: 24px;
    }
    .cert-entry__badge-col {
        flex: initial;
        padding: 32px;
    }
    .cert-entry__body {
        flex: initial;
    }
}

/* Cert Badges */
.cert-badges {
    background: #f8f8f8;
}
.cert-badges__img {
    max-width: 280px;
    width: 100%;
}

/* ══════════════════════════════════════════════════
   SHARED PAGE HERO (all inner pages)
   ══════════════════════════════════════════════════ */
.page-hero {
    position: relative;
    min-height: 50vh;
    display: flex;
    align-items: center;
    overflow: hidden;
}
.page-hero--light {
    background: linear-gradient(135deg, #f0f7f7 0%, #e8f0ff 50%, #f5f5ff 100%);
}
.page-hero--teal {
    background: var(--tosa-teal);
    color: #fff;
}
.page-hero--blue {
    background: var(--tosa-blue);
    color: #fff;
}
.page-hero__title {
    font-size: clamp(2rem, 4vw, 3rem);
    font-weight: 700;
}
.page-hero__subtitle {
    font-size: 1.15rem;
    max-width: 600px;
}

/* ══════════════════════════════════════════════════
   EXPERTISE PAGE
   ══════════════════════════════════════════════════ */
.expertise-features {
    background: linear-gradient(135deg, #f8f5ff 0%, #fff 100%);
}
.expertise-card {
    background: #fff;
    border: 1px solid #eee;
    border-radius: 8px;
    padding: 32px 24px;
    height: 100%;
    text-align: center;
    transition: transform 0.2s, box-shadow 0.2s;
}
.expertise-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 24px rgba(0,0,0,0.08);
}
.expertise-card__icon {
    width: 64px;
    height: 64px;
    margin: 0 auto 16px;
    background: #e8f0ff;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.75rem;
    color: var(--tosa-blue);
}
.expertise-card__title {
    font-size: 1.1rem;
    font-weight: 700;
    color: var(--tosa-blue);
    margin-bottom: 12px;
}
.expertise-stats {
    background: var(--tosa-blue);
}
.expertise-stat {
    text-align: center;
    color: #fff;
    padding: 24px;
}
.expertise-stat__number {
    font-size: 2.5rem;
    font-weight: 700;
    color: var(--tosa-yellow);
}
.expertise-stat__label {
    font-size: 0.9rem;
    opacity: 0.85;
}
.expertise-table {
    background: #fff;
}
.expertise-table table {
    width: 100%;
}
.expertise-table th {
    background: var(--tosa-blue);
    color: #fff;
    padding: 16px;
    font-weight: 600;
}
.expertise-table td {
    padding: 14px 16px;
    border-bottom: 1px solid #eee;
}

/* ══════════════════════════════════════════════════
   DELIVER TOSA PAGE
   ══════════════════════════════════════════════════ */
.deliver-benefits {
    background: linear-gradient(135deg, #f0f7f7 0%, #fff 100%);
}
.deliver-card {
    background: #fff;
    border: 1px solid #eee;
    border-radius: 8px;
    padding: 32px 24px;
    height: 100%;
    text-align: center;
    transition: transform 0.2s;
}
.deliver-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 24px rgba(0,0,0,0.08);
}
.deliver-card__icon {
    width: 64px;
    height: 64px;
    margin: 0 auto 16px;
    background: #fff3e0;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.75rem;
    color: var(--tosa-orange);
}
.deliver-card__title {
    font-size: 1.1rem;
    font-weight: 700;
    color: #1a1a2e;
    margin-bottom: 12px;
}
.deliver-steps {
    background: #fff;
}
.deliver-step__number {
    width: 64px;
    height: 64px;
    background: var(--tosa-orange);
    color: #fff;
    font-size: 1.75rem;
    font-weight: 700;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 16px;
}
.deliver-tiers {
    background: linear-gradient(135deg, #f5f5ff 0%, #fff 100%);
}
.deliver-tier {
    background: #fff;
    border: 2px solid #eee;
    border-radius: 12px;
    padding: 40px 24px;
    text-align: center;
    height: 100%;
    transition: transform 0.2s;
}
.deliver-tier:hover {
    transform: translateY(-4px);
}
.deliver-tier--gold {
    border-color: var(--tosa-yellow);
}
.deliver-tier--platinum {
    border-color: var(--tosa-blue);
    background: linear-gradient(135deg, #f8f5ff, #fff);
}
.deliver-tier__badge {
    width: 80px;
    height: 80px;
    margin: 0 auto 16px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 2rem;
}
.deliver-tier__badge--silver { background: #e0e0e0; color: #666; }
.deliver-tier__badge--gold { background: var(--tosa-yellow); color: #333; }
.deliver-tier__badge--platinum { background: var(--tosa-blue); color: #fff; }

/* ══════════════════════════════════════════════════
   TAKE EXAM PAGE
   ══════════════════════════════════════════════════ */
.exam-paths {
    background: linear-gradient(135deg, #f0f7f7 0%, #fff 100%);
}
.exam-path-card {
    background: #fff;
    border: 2px solid #eee;
    border-radius: 12px;
    padding: 48px 32px;
    text-align: center;
    height: 100%;
    transition: transform 0.2s, border-color 0.2s;
}
.exam-path-card:hover {
    transform: translateY(-4px);
    border-color: var(--tosa-blue);
}
.exam-path-card__icon {
    width: 80px;
    height: 80px;
    margin: 0 auto 24px;
    background: #e8f0ff;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 2rem;
    color: var(--tosa-blue);
}
.exam-expect {
    background: #fff;
}
.exam-expect__item {
    background: #f8f8f8;
    border-radius: 12px;
    padding: 32px 24px;
    text-align: center;
    height: 100%;
}
.exam-expect__icon {
    width: 56px;
    height: 56px;
    margin: 0 auto 16px;
    background: var(--tosa-orange);
    color: #fff;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.5rem;
}

/* ══════════════════════════════════════════════════
   REMOTE EXAM PAGE
   ══════════════════════════════════════════════════ */
.remote-requirements {
    background: linear-gradient(135deg, #f0f7f7 0%, #fff 100%);
}
.remote-req-card {
    background: #fff;
    border: 1px solid #eee;
    border-radius: 12px;
    padding: 32px 24px;
    text-align: center;
    height: 100%;
}
.remote-req-card__icon {
    width: 64px;
    height: 64px;
    margin: 0 auto 16px;
    background: #e8f0ff;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.75rem;
    color: var(--tosa-blue);
}
.remote-process {
    background: #fff;
}
.remote-step {
    text-align: center;
    position: relative;
}
.remote-step__number {
    width: 48px;
    height: 48px;
    background: var(--tosa-orange);
    color: #fff;
    font-weight: 700;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 16px;
}
.remote-faq {
    background: linear-gradient(135deg, #f8f5ff 0%, #fff 100%);
}
.remote-faq .accordion-button:not(.collapsed) {
    background: #f0f0ff;
    color: var(--tosa-blue);
}

/* ══════════════════════════════════════════════════
   FIND CENTER PAGE
   ══════════════════════════════════════════════════ */
.center-search {
    background: linear-gradient(135deg, #f0f7f7 0%, #fff 100%);
}
.center-search__form {
    background: #fff;
    border-radius: 12px;
    padding: 32px;
    box-shadow: 0 4px 16px rgba(0,0,0,0.06);
}
.center-map {
    background: #e8f4f8;
    min-height: 400px;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #666;
    font-size: 1.25rem;
}
.center-card {
    background: #fff;
    border: 1px solid #eee;
    border-radius: 8px;
    padding: 24px;
    height: 100%;
}
.center-card__name {
    font-weight: 700;
    color: var(--tosa-blue);
}

/* ══════════════════════════════════════════════════
   CHECK SCORE PAGE
   ══════════════════════════════════════════════════ */
.score-lookup {
    background: linear-gradient(135deg, #f0f7f7 0%, #fff 100%);
}
.score-lookup__form {
    background: #fff;
    border-radius: 12px;
    padding: 40px;
    box-shadow: 0 4px 16px rgba(0,0,0,0.06);
    max-width: 600px;
    margin: 0 auto;
}
.score-scale {
    background: #fff;
}
.score-level {
    border-radius: 8px;
    padding: 24px 20px;
    text-align: center;
    height: 100%;
}
.score-level--beginner { background: #f0f0f0; }
.score-level--basic { background: #e3f2fd; }
.score-level--productive { background: #e8f5e9; }
.score-level--advanced { background: #fff3e0; }
.score-level--expert { background: #fce4ec; }
.score-level__range {
    font-size: 1.5rem;
    font-weight: 700;
    color: #1a1a2e;
}
.score-level__name {
    font-weight: 600;
    color: var(--tosa-blue);
}

/* ══════════════════════════════════════════════════
   RESPONSIVE OVERRIDES
   ══════════════════════════════════════════════════ */
@media (max-width: 991.98px) {
    .hero {
        min-height: 60vh;
    }
    .hero__bg::after {
        background: linear-gradient(180deg, rgba(255,255,255,0.95) 0%, rgba(255,255,255,0.85) 60%, rgba(255,255,255,0.5) 100%);
    }
    .cert-hero {
        min-height: 60vh;
    }
    .cert-hero__bg::after {
        background: linear-gradient(180deg, rgba(255,255,255,0.95) 0%, rgba(255,255,255,0.85) 60%, rgba(255,255,255,0.5) 100%);
    }
    .cert-unique__card {
        padding: 32px;
        clip-path: none;
    }
    .cert-offerings__shape {
        display: none;
    }
    .why-card {
        padding: 24px 16px;
    }
    .testimonial-card {
        padding: 32px 24px;
        min-height: 0;
    }
    .cert-steps__title-pill {
        font-size: 1.25rem;
        padding: 10px 32px;
    }
    .cert-catalog__tabs {
        flex-wrap: wrap;
    }
    .cert-catalog__tab {
        flex: 1 1 50%;
    }

    /* Navbar mobile: release min-height so collapsed menu can expand */
    .navbar .container-xl,
    .navbar #menubarNav,
    .navbar .navbar-nav {
        min-height: 0;
    }
    .navbar #menubarNav {
        padding: 1rem 0;
    }
    .navbar .navbar-nav {
        margin-left: 0 !important;
        margin-right: 0 !important;
    }
    .navbar .navbar-nav .nav-link,
    .navbar .navbar-nav .menubar__link {
        padding: 0.75rem 0;
    }
    .menubar__item::after {
        display: none;
    }
    .navbar .menubar__dropdown {
        position: static !important;
        margin-top: 0.5rem;
        box-shadow: none;
    }
    .navbar .menubar__dropdown::before {
        display: none;
    }
    .navbar .menubar__item--account > .dropdown-menu-end,
    .navbar .menubar__item--lang > .dropdown-menu-end {
        margin-top: 0.5rem;
    }

    /* Testimonials: stack columns, drop background split & decorative vectors */
    .testimonials {
        background: #05676A;
        padding-bottom: 180px !important;
    }
    .testimonials::before,
    .testimonials::after,
    .testimonials > .container-xl::after {
        display: none;
    }
    .testimonials__left {
        padding-left: 16px;
    }
    .testimonials__slider {
        max-width: 100%;
        margin-left: 0;
    }
    .testimonial-card.is-active::before {
        display: none;
    }

    /* Get Started: reduce overlap */
    .get-started,
    .he-cta {
        margin-top: -120px;
        margin-bottom: -120px;
    }
    .st-cta {
        margin-bottom: -120px;
    }
    .get-started__card,
    .he-cta__card,
    .st-cta__card {
        clip-path: polygon(0 0, calc(100% - 30px) 0, 100% 30px, 100% 100%, 0 100%);
    }
    .get-started__image-wrapper,
    .st-cta__image-wrapper {
        min-height: 280px;
    }

    /* Newsletter: reduce top padding */
    .newsletter {
        padding-top: 200px !important;
    }

    /* Footer: shrink decorative vector */
    .footer::before {
        width: 180px;
        opacity: 0.5;
    }
}

/* Mobile (<768px) */
@media (max-width: 767.98px) {
    .testimonials {
        padding-bottom: 140px !important;
    }
    .testimonials__left {
        padding-top: 20px;
        padding-bottom: 20px;
    }
    .testimonial-card {
        padding: 24px 20px;
    }
    .testimonial-card__quote p {
        font-size: 1rem;
    }

    .get-started,
    .he-cta {
        margin-top: -80px;
        margin-bottom: -80px;
    }
    .st-cta {
        margin-bottom: -80px;
    }
    .get-started__image-wrapper,
    .st-cta__image-wrapper {
        min-height: 220px;
    }

    .newsletter {
        padding-top: 40px !important;
    }

    .footer::before {
        width: 120px;
        opacity: 0.3;
    }
}

/* ──────────────────────────────────────────────────────────────
   Subject Details page
   ────────────────────────────────────────────────────────────── */
.subject-details { background: #fff; }

/* Reduce the newsletter top padding on the subject details page only. */
.subject-details ~ .newsletter {
    padding-top: 20px !important;
}

.subject-details__sidebar {
    position: sticky;
    top: 88px;
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.subject-details__schedule-cta {
    align-self: flex-start;
    max-width: 100%;
    white-space: normal;
}

.subject-details__card {
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 4px 18px rgba(30, 30, 60, 0.06);
    padding: 22px 24px;
}

.subject-details__card-title {
    color: var(--tosa-blue);
    font-size: 1.25rem;
    font-weight: 700;
    margin: 0 0 12px;
    padding-bottom: 10px;
    border-bottom: 1px solid #e3e4ef;
}

.subject-details__bullet-list {
    list-style: none;
    padding: 0;
    margin: 0;
}
.subject-details__bullet-list li {
    position: relative;
    padding: 6px 0 6px 20px;
    font-size: 0.95rem;
    line-height: 1.45;
}
.subject-details__bullet-list li::before {
    content: "›";
    position: absolute;
    left: 0;
    top: 5px;
    color: var(--tosa-blue);
    font-weight: 700;
    font-size: 1.1rem;
}

.subject-details__lang-pills {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}
.subject-details__lang-pill {
    border: 1px solid #d9dae6;
    border-radius: 6px;
    padding: 6px 14px;
    font-size: 0.9rem;
    background: #fff;
}

.subject-details__resource-list {
    list-style: none;
    padding: 0;
    margin: 0;
}
.subject-details__resource-list li {
    position: relative;
    padding: 6px 0 6px 20px;
    font-size: 0.95rem;
}
.subject-details__resource-list li::before {
    content: "›";
    position: absolute;
    left: 0;
    top: 5px;
    color: var(--tosa-orange);
    font-weight: 700;
    font-size: 1.1rem;
}
.subject-details__resource-link {
    color: var(--tosa-orange);
    text-decoration: underline;
    text-underline-offset: 3px;
}
.subject-details__resource-link:hover {
    color: #d63d09;
}

.subject-details__main {
    min-width: 0;
}

.subject-details > .container-xl.pt-5 {
    max-width: 100%;
    padding: 0 !important;
}
.subject-details > .container-xl.pb-5 {
    max-width: 100%;
    padding-left: clamp(16px, 4vw, 64px);
    padding-right: clamp(16px, 4vw, 64px);
}
.subject-details__hero {
    background: var(--tosa-light-blue) url(/build/images/Banner.ffea2286.jpg) center/cover no-repeat;
    padding: 48px 24px;
    margin-bottom: 48px;
    position: relative;
    overflow: hidden;
    /* Contain the ::before blend so it only recolors the banner artwork. */
    isolation: isolate;
}
.subject-details__hero-disclaimer {
    margin: 32px 0 0;
    font-size: 0.8125rem;
    line-height: 1.5;
    color: #1a1a2e;
    max-width: 860px;
}
/* Recolors the shared banner with the subject's gamme color (set inline as
   --gamme-color, same palette as the certifications-page tabs). */
.subject-details__hero::before {
    content: '';
    position: absolute;
    inset: 0;
    background: var(--gamme-color, transparent);
    mix-blend-mode: color;
    pointer-events: none;
}
.subject-details__hero-title {
    font-size: clamp(2rem, 4vw, 3rem);
    color: #1a1a1a;
    margin: 0;
}
/* Long product names must still fit the painted banner box. */
.subject-details__hero-title--long {
    font-size: clamp(1.5rem, 2.8vw, 2.2rem);
    overflow-wrap: break-word;
}
.subject-details__hero-tile {
    padding: 24px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
}
.subject-details__hero-icon {
    width: 160px;
    height: 160px;
    background: transparent;
    display: flex;
    align-items: center;
    justify-content: center;
}
.subject-details__hero-icon img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}

/* Desktop: lock the hero to the banner's aspect ratio so `cover` fills it
   exactly (no distortion, no letterbox). The square in the banner then sits
   at a fixed fraction, so the logo can be centered on it at any width. */
@media (min-width: 768px) {
    .subject-details__hero {
        aspect-ratio: 1920 / 592;
        padding: 0;
    }
    .subject-details__hero-title {
        position: absolute;
        left: 3.5%;
        top: 50%;
        transform: translateY(-50%);
        max-width: 46%;
    }
    .subject-details__hero-tile {
        position: absolute;
        left: 78%;
        top: 52%;
        transform: translate(-50%, -50%);
        margin: 0;
        padding: 0;
    }
}

.subject-details__section { margin-bottom: 56px; }

.subject-details__section-title {
    font-size: clamp(1.6rem, 2.6vw, 2.2rem);
    font-weight: 700;
    color: #1a1a1a;
    margin: 0 0 18px;
    line-height: 1.2;
}

.subject-details__sub-title {
    color: var(--tosa-blue);
    font-size: 1.25rem;
    font-weight: 700;
    margin: 28px 0 12px;
}

.subject-details__inline-link {
    color: var(--tosa-orange);
    text-decoration: underline;
    text-underline-offset: 3px;
}
.subject-details__inline-link:hover {
    color: #d63d09;
}

.subject-details__sample-wrap,
.subject-details__chart-wrap {
    margin: 24px 0;
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 4px 18px rgba(30, 30, 60, 0.06);
    padding: 16px;
}
.subject-details__sample-img,
.subject-details__chart { width: 100%; height: auto; }

.subject-details__domains {
    display: flex;
    flex-direction: column;
    gap: 16px;
}
.subject-details__domain-card {
    display: grid;
    grid-template-columns: 96px 1fr;
    gap: 18px;
    align-items: flex-start;
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 4px 18px rgba(30, 30, 60, 0.06);
    padding: 20px 24px;
}
.subject-details__domain-icon {
    width: 64px;
    height: 64px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--tosa-blue);
}
.subject-details__domain-icon img { max-width: 100%; max-height: 100%; }
.subject-details__domain-title {
    color: var(--tosa-blue);
    font-size: 1.15rem;
    font-weight: 700;
    margin: 0 0 8px;
}

.subject-details__table-wrap {
    background: #fff;
    border: 2px solid #c9cbe0;
    border-radius: 6px;
    overflow-x: auto;
    margin-top: 16px;
}
.subject-details__score-table {
    width: 100%;
    border-collapse: collapse;
    min-width: 520px;
}
.subject-details__score-table th,
.subject-details__score-table td {
    padding: 18px 24px;
    text-align: left;
    vertical-align: top;
    font-size: 0.95rem;
    border-bottom: 2px solid #c9cbe0;
    border-right: 2px solid #c9cbe0;
}
.subject-details__score-table th:last-child,
.subject-details__score-table td:last-child {
    border-right: none;
}
.subject-details__score-table tbody tr:last-child td {
    border-bottom: none;
}
.subject-details__score-table thead th {
    color: var(--tosa-blue);
    font-weight: 700;
    background: #fff;
}
.subject-details__score-table tbody tr:nth-child(odd) td {
    background: #f5f7fd;
}
.subject-details__score-table .subject-details__credly-link,
a.subject-details__credly-link {
    color: var(--tosa-orange) !important;
    text-decoration: underline;
    text-underline-offset: 3px;
    font-weight: 500;
}
.subject-details__score-table .subject-details__credly-link:hover,
a.subject-details__credly-link:hover {
    color: #d63d09 !important;
}

.subject-details__prep-list {
    display: flex;
    flex-direction: column;
    gap: 18px;
    margin-top: 8px;
}
.subject-details__prep-item {
    display: grid;
    grid-template-columns: 72px 1fr;
    gap: 20px;
    align-items: flex-start;
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 4px 18px rgba(30, 30, 60, 0.06);
    padding: 22px 26px;
}
.subject-details__prep-icon {
    width: 56px;
    height: 56px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: #eef0fb;
    overflow: hidden;
    flex-shrink: 0;
}
.subject-details__prep-icon video {
    width: 100%;
    height: 100%;
    object-fit: contain;
    pointer-events: none;
}
.subject-details__prep-body { min-width: 0; }
.subject-details__prep-title {
    color: var(--tosa-blue);
    font-size: 1.1rem;
    font-weight: 700;
    margin: 0 0 8px;
    line-height: 1.3;
}
.subject-details__prep-desc {
    font-size: 0.95rem;
    line-height: 1.55;
}
.subject-details__prep-desc p { margin-bottom: 0.6em; }
.subject-details__prep-desc p:last-child { margin-bottom: 0; }

.subject-details__flow { text-align: center; }
.subject-details__flow img { max-width: 100%; height: auto; }

.subject-details__bundle-card {
    position: relative;
    background: var(--tosa-blue);
    padding: 32px 36px;
    margin-top: 16px;
    max-width: 520px;
    clip-path: polygon(0 0, calc(100% - 40px) 0, 100% 40px, 100% 100%, 0 100%);
}
/* Inner fill inset by the border width — the blue card background showing
   through the 2px gap is the border, and it follows the diagonal cut too. */
.subject-details__bundle-card::before {
    content: "";
    position: absolute;
    inset: 2px;
    background: #f5f6ff;
    clip-path: polygon(0 0, calc(100% - 38px) 0, 100% 38px, 100% 100%, 0 100%);
    z-index: 0;
}
.subject-details__bundle-card > * {
    position: relative;
    z-index: 1;
}
.subject-details__bundle-badge {
    max-width: 160px;
    margin-bottom: 16px;
}
.subject-details__bundle-badge img { width: 100%; height: auto; }
.subject-details__bundle-title {
    font-size: 1.35rem;
    font-weight: 700;
    margin: 0 0 12px;
    color: #1a1a1a;
}
.subject-details__bundle-desc { margin-bottom: 20px; }

.subject-details__bundle-tiers {
    display: flex;
    flex-direction: column;
    gap: 16px;
    margin-top: 16px;
    padding-top: 20px;
    border-top: 1px solid #d4d6f0;
}
.subject-details__bundle-tier {
    display: grid;
    grid-template-columns: 72px 1fr;
    gap: 16px;
    align-items: flex-start;
}
.subject-details__bundle-tier-icon {
    width: 56px;
    height: 56px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--tosa-blue);
}
.subject-details__bundle-tier-icon img { max-width: 100%; max-height: 100%; }
.subject-details__bundle-tier-title {
    color: var(--tosa-blue);
    font-size: 1.05rem;
    font-weight: 700;
    margin: 0 0 4px;
}

@media (max-width: 991.98px) {
    .subject-details__sidebar {
        position: static;
        margin-bottom: 32px;
    }
    .subject-details__hero { padding: 32px 24px; }
    .subject-details__hero-tile { margin-top: 24px; }
}

@media (max-width: 575.98px) {
    .subject-details__hero { padding: 24px 18px; }
    .subject-details__card { padding: 18px 20px; }
    .subject-details__domain-card {
        grid-template-columns: 1fr;
        padding: 18px;
    }
    .subject-details__domain-icon {
        width: 48px;
        height: 48px;
    }
    .subject-details__bundle-card { padding: 22px 20px; }
    .subject-details__prep-item {
        grid-template-columns: 56px 1fr;
        gap: 14px;
        padding: 18px 20px;
    }
    .subject-details__prep-icon {
        width: 48px;
        height: 48px;
    }
}


/* ── Higher Education page ──────────────────────── */

/* Banner */
.he-banner {
    position: relative;
    width: 100%;
    height: 592px;
    overflow: hidden;
    background: #fff;
}
.he-banner__bg {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: right center;
}
.he-banner__bg--k12 {
    object-position: right 27%;
}

.he-banner::after {
  background: linear-gradient(90deg, rgba(255,255,255,0.92) 0%, rgba(255, 255, 255, 0.53) 40%, rgba(255, 255, 255, 0) 65%);
  content: '';
  position: absolute;
  inset: 0;
}

.he-banner__inner {
    position: relative;
    height: 100%;
    display: flex;
    align-items: center;
    z-index: 2;
}
.he-banner__title {
    color: #1a1a2e;
    font-size: clamp(2.25rem, 4.5vw, 3.5rem);
    max-width: 540px;
}

/* S1 Drive Student Success */
.he-s1 {
    padding: 80px 0;
}
.he-s1__media {
    position: relative;
}
.he-s1__media > img {
    position: relative;
    width: 100%;
    height: auto;
    display: block;
    z-index: 1;
    border-radius: 8px;
}
.he-s1__media::before,
.he-s1__media::after {
    content: '';
    position: absolute;
    background-image: radial-gradient(circle, #c4c4c4 2px, transparent 2.5px);
    background-size: 14px 14px;
    z-index: 2;
    pointer-events: none;
}
.he-s1__media::before {
    top: -28px;
    left: 0;
    width: 70px;
    height: 14px;
}
.he-s1__media::after {
    bottom: -32px;
    right: 0;
    width: 70px;
    height: 28px;
}
.he-s1__photo {
    position: relative;
    width: 100%;
    height: auto;
    display: block;
    z-index: 1;
}
.he-s1__vector {
    position: absolute;
    top: -91px;
    left: -237px;
    width: 124%;
    height: auto;
    z-index: 0;
    pointer-events: none;
}
.he-s1__text {
    color: #333;
    line-height: 1.6;
}

/* S1b Solving Key Challenges in K-12 Education */
.he-s1b {
    position: relative;
    padding: 80px 0 0;
    background-color: #F5FAFC;
    background-image: url(/build/images/shape-yellow.8885795a.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    overflow: hidden;
}
.he-s1b > .container-xl { padding-bottom: 0 !important; }
.he-s1b .he-features__icon { background: transparent; }
.he-s1b__intro {
    color: #333;
    line-height: 1.6;
    max-width: 880px;
}
.he-s1b__media {
    position: relative;
    display: flex;
    align-items: flex-end;
    justify-content: center;
}
.he-s1b__boy {
    position: relative;
    display: block;
    width: 100%;
    max-width: 520px;
    height: auto;
}

/* S2 Why HE Institutions Choose Tosa */
.he-s2 {
    background: linear-gradient(135deg, #E6F3F4 0%, #F2F8F8 100%);
    padding: 80px 0;
}
.he-s2__media {
    position: relative;
    background: var(--tosa-teal);
    padding: 30px 30px 0;
    clip-path: polygon(0 0, calc(100% - 50px) 0, 100% 50px, 100% 100%, 0 100%);
    overflow: hidden;
}
.he-s2__vector {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 0.45;
    z-index: 0;
    pointer-events: none;
    filter: brightness(0) invert(1); /* white tint over teal bg */
    mix-blend-mode: soft-light;
}
.he-s2__portrait {
    position: relative;
    width: 100%;
    height: auto;
    display: block;
    z-index: 1;
}

/* He Features (image + checklist) — used in S2 */
.he-features__list {
    list-style: none;
    padding: 0;
    margin: 0;
}
.he-features__item {
    display: flex;
    align-items: flex-start;
    gap: 20px;
    padding: 18px 0;
    border-top: 1px solid rgba(69, 69, 219, 0.18);
}
.he-features__list .he-features__item:first-child {
    border-top: none;
    padding-top: 0;
}
.he-features__icon-wrap {
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
}
.he-features__icon {
    width: 56px;
    height: 56px;
    border-radius: 14px;
    object-fit: cover;
    background: #fff;
}
.he-features__bar {
    display: block;
    width: 40px;
    height: 2px;
    background: var(--tosa-blue);
    border-radius: 2px;
    filter: blur(7px);
}
.he-features__title {
    font-size: 1.0625rem;
    color: var(--tosa-blue);
    margin-bottom: 6px;
}
.he-features__text {
    color: #333;
    line-height: 1.55;
    font-size: 0.95rem;
}

/* S3 Key Tosa Differentiators */
.he-s3 {
    background: linear-gradient(135deg, #E6F3F8 0%, #F2F8FB 100%);
    padding: 80px 0;
    position: relative;
    overflow: hidden;
}
.he-s3::before,
.he-s3::after {
    content: '';
    position: absolute;
    border-radius: 50%;
    background: rgba(152, 221, 229, 0.35);
    pointer-events: none;
}
.he-s3::before {
    width: 280px;
    height: 280px;
    left: -100px;
    top: 30%;
}
.he-s3::after {
    width: 320px;
    height: 320px;
    right: -120px;
    bottom: 10%;
}
.he-s3__cards {
    position: relative;
    z-index: 1;
}
@media (min-width: 992px) {
    .he-s3__cards {
        --bs-gutter-x: 0;
        --bs-gutter-y: 0;
    }
}
.he-s3__card {
    background: #fff;
    border-radius: 4px;
    padding: 40px 28px;
    height: 100%;
    box-shadow: 0 2px 16px rgba(0,0,0,0.06);
}
@media (min-width: 992px) {
    .he-s3__card {
        border-radius: 0;
        padding: 48px 40px;
        box-shadow: none;
        border-right: 1px solid rgba(56, 70, 216, 0.2);
    }
    .he-s3__cards > *:last-child .he-s3__card {
        border-right: none;
    }
}
.he-s3__icon {
    width: 64px;
    height: 64px;
    margin-bottom: 16px;
    border-radius: 0;
    object-fit: cover;
}
.he-s3__bar {
    display: block;
    width: 40px;
    height: 2px;
    background: var(--tosa-blue);
    border-radius: 2px;
    filter: blur(7px);
    margin-bottom: 28px;
}
.he-s3__title {
    font-size: 1.375rem;
    color: var(--tosa-blue);
    margin-bottom: 16px;
    line-height: 1.3;
}
.he-s3__text {
    color: #555;
    font-size: 0.9375rem;
    line-height: 1.6;
}

/* S4 Turnkey Credentialing Solution */
.he-s4 {
    background: var(--tosa-blue);
    padding: 80px 0;
    color: #fff;
    position: relative;
    overflow: hidden;
}
.he-s4__title {
    color: #fff;
    font-size: clamp(1.75rem, 3.2vw, 2.5rem);
}
.he-s4__text {
    color: rgba(255,255,255,0.95);
    line-height: 1.6;
}
.he-s4__browser {
    background: #fff;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 16px 60px rgba(0,0,0,0.2);
}
.he-s4__browser-bar {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 10px 12px;
    background: #f0f0f5;
    border-bottom: 1px solid #e0e0e5;
}
.he-s4__browser-bar span {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: #ccc;
}
.he-s4__browser-bar span:nth-child(1) { background: #ff5f56; }
.he-s4__browser-bar span:nth-child(2) { background: #ffbd2e; }
.he-s4__browser-bar span:nth-child(3) { background: #27c93f; }
.he-s4__url {
    flex: 1;
    margin-left: 12px;
    background: #fff;
    border-radius: 4px;
    padding: 4px 10px;
    font-size: 0.75rem;
    color: #666;
}
.he-s4__video {
    width: 100%;
    height: 360px;
    object-fit: cover;
    background: var(--tosa-yellow);
    display: block;
}

/* S5 Why Students/Instructors Love Tosa */
.he-s5 {
    background: linear-gradient(135deg, #fff 0%, #F2F8FB 100%);
    padding: 60px 0;
}
.he-s5__card {
    background: #fff;
    box-shadow: 0 12px 50px rgba(0,0,0,0.10);
    overflow: hidden;
    max-height: 770px;
}
.he-s5__media {
    height: 100%;
    min-height: 280px;
    overflow: hidden;
    border-top-right-radius: 80px;
}
.he-s5 .flex-row-reverse .he-s5__media {
    border-top-right-radius: 0;
    border-top-left-radius: 80px;
}
.he-s5__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.he-s5__body {
    padding: 40px 48px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.he-s5__body .cta-btn {
    align-self: flex-start;
    margin-bottom: 24px;
}

/* ── Become a Tosa-Approved Testing Center (reusable CTA banner) ── */
.cert-testing-center {
    padding: 0;
    background: var(--tosa-yellow);
    overflow: hidden;
}
.cert-testing-center > .container-xl {
    max-width: 100%;
    padding-left: 0;
    padding-right: 0;
}
.cert-testing-center__row {
    min-height: 620px;
}
.cert-testing-center__row > [class*="col-"] {
    display: flex;
}
.cert-testing-center__media {
    flex: 1;
    width: 100%;
    min-height: 620px;
    background: url(/build/images/image-with-bg.5b44957a.jpg) no-repeat center center;
    background-size: contain;
}
.cert-testing-center__body {
    padding: 60px 96px;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
}
.cert-testing-center__body .cta-btn {
    align-self: flex-start;
}
.cert-testing-center__text {
    color: #1a1a2e;
    line-height: 1.6;
    font-size: 1.0625rem;
}
@media (min-width: 1200px) {
    .cert-testing-center__row,
    .cert-testing-center__media {
        min-height: 720px;
    }
    .cert-testing-center__body {
        padding: 100px 320px 100px 96px;
    }
}
.he-s5__subtitle {
    color: var(--tosa-blue);
    font-size: 1.0625rem;
}
.he-s5__text {
    color: #333;
    line-height: 1.6;
}

/* FAQ on dark blue */
.faq {
    padding: 0;
    background: var(--tosa-blue);
}
/* Variant for pages where the FAQ sits directly above the .he-cta, whose
   negative top margin would otherwise cover the last items. */
.faq--pad-cta {
    padding-bottom: 352px;
}
@media (max-width: 991.98px) {
    .faq--pad-cta { padding-bottom: 160px; }
}
@media (max-width: 767.98px) {
    .faq--pad-cta { padding-bottom: 112px; }
}
.faq__card {
    background: var(--tosa-blue);
    border-radius: 0;
    padding: 80px 48px;
    color: #fff;
    position: relative;
    overflow: hidden;
}
.faq__accordion {
    max-width: 880px;
    margin: 24px auto 0;
}
.faq__item {
    background: transparent;
    border: 2px solid #fff;
    border-radius: 0;
    /* Override Bootstrap's accordion radius variables — the default
       :first-of-type / :last-of-type rules round the first and last
       button by reading these custom properties. */
    --bs-accordion-border-radius: 0;
    --bs-accordion-inner-border-radius: 0;
    margin-bottom: 16px;
}
/* Bootstrap removes the top border from non-first items to avoid double
   borders when items stack — restore it because we want each item
   visibly framed. */
.faq__item:not(:first-of-type) {
    border-top: 2px solid #fff;
}
.faq__button {
    background: transparent;
    color: #fff;
    font-weight: 600;
    font-size: 1.0625rem;
    padding: 18px 24px;
    box-shadow: none;
    border-radius: 0;
}
.faq__button:not(.collapsed) {
    background: transparent;
    color: #fff;
    box-shadow: none;
}
.faq__button:focus {
    box-shadow: none;
    border-color: transparent;
}
.faq__button::after {
    background-image: none;
    content: "+";
    color: #fff;
    font-size: 1.5rem;
    width: auto;
    height: auto;
    transform: none;
    transition: transform 0.2s;
}
.faq__button:not(.collapsed)::after {
    content: "−"; /* U+2212 minus sign — replaces the + when the panel is open */
    background-image: none; /* kill Bootstrap's default chevron icon */
    transform: none;
}
.faq__body {
    color: rgba(255,255,255,0.85);
    padding: 0 24px 18px;
}
.faq__body p { margin-bottom: 12px; }
.faq__body p:last-child { margin-bottom: 0; }
.faq__body ul { margin: 4px 0 12px; padding-left: 20px; }
.faq__body li { margin-bottom: 6px; }
.faq__body strong { color: #fff; }
.faq__body a { color: #fff; text-decoration: underline; }
.faq__links {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 20px;
    margin-top: 16px;
    padding-top: 14px;
    border-top: 1px solid rgba(255, 255, 255, 0.25);
}
/* White on the dark-blue FAQ card (scoped to beat the generic link rule). */
.faq__body .faq__link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: #fff;
    font-weight: 600;
    font-size: 0.9rem;
    text-decoration: none;
}
.faq__body .faq__link:hover {
    color: #fff;
    text-decoration: underline;
}
.faq__body .faq__link .bi { font-size: 0.78rem; }

/* CTA Ready to Empower */
.he-cta {
    background: transparent;
    padding: 0;
    position: relative;
    margin-top: -320px;
    margin-bottom: -320px;
    z-index: 2;
}
.he-cta__card {
    background: var(--tosa-yellow);
    border-radius: 0;
    overflow: hidden;
    position: relative;
    max-width: 1140px;
    margin: 0 auto;
    clip-path: polygon(0 0, calc(100% - 60px) 0, 100% 60px, 100% 100%, 0 100%);
}
.he-cta__img {
    width: 100%;
    max-width: 480px;
    height: auto;
    display: block;
}
.he-cta__body {
    padding: 24px 48px 24px 0;
}
.he-cta__text {
    color: #333;
    line-height: 1.6;
    font-size: 1rem;
}

/* ── 404 / Error page ────────────────────────────────── */
.error-page {
    background: #f7f8fe;
    padding: 96px 0 120px;
    min-height: 70vh;
    display: flex;
    align-items: center;
}
.error-page__code {
    font-size: clamp(6rem, 16vw, 12rem);
    font-weight: 900;
    line-height: 0.9;
    letter-spacing: -0.04em;
    margin: 0 0 1rem;
    color: var(--tosa-orange);
    background: linear-gradient(180deg, var(--tosa-orange) 0%, #ffb38a 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
}
.error-page__title {
    font-size: clamp(1.75rem, 3.5vw, 2.5rem);
    color: #1a1a2e;
    line-height: 1.2;
}
.error-page__text {
    color: #4a4a55;
    font-size: 1.0625rem;
    line-height: 1.6;
    max-width: 580px;
}
.error-page__actions {
    display: inline-flex;
    align-items: center;
    gap: 1.5rem;
    flex-wrap: wrap;
    justify-content: center;
}
.error-page__link {
    color: var(--tosa-blue);
    text-decoration: none;
    font-weight: 600;
}
.error-page__link:hover {
    color: #2d2db8;
    text-decoration: underline;
}

/* ── Blog page ──────────────────────────────────────── */
.blog-header {
    background: #f7f8fe;
}
.blog-header__title {
    font-size: clamp(2.25rem, 4vw, 3rem);
    color: #1a1a2e;
    letter-spacing: -0.02em;
}
.blog-header__text {
    color: #4a4a55;
    font-size: 1.0625rem;
    line-height: 1.6;
    max-width: 720px;
}

/* ── Server-rendered grid ─────────────────────────────── */
.blog-grid-section {
    background: #f7f8fe url(/build/images/scoring-bg.06285efa.jpg) bottom/cover no-repeat;
}
.blog-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 2rem 2rem;
    margin-bottom: 3rem;
}
@media (max-width: 991.98px) {
    .blog-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 575.98px) {
    .blog-grid { grid-template-columns: 1fr; }
}

.blog-card {
    background: transparent;
    display: flex;
    flex-direction: column;
}
.blog-card__media {
    display: block;
    overflow: hidden;
    background: #f1f3f8;
    /* Top-right corner clipped diagonally (no rounded radius). */
    clip-path: polygon(0 0, calc(100% - 32px) 0, 100% 32px, 100% 100%, 0 100%);
}
.blog-card__img {
    width: 100%;
    height: auto;
    object-fit: contain;
    display: block;
}
.blog-card__body {
    padding: 1.25rem 1.25rem 1.5rem;
    display: flex;
    flex-direction: column;
    gap: .75rem;
    flex: 1 1 auto;
}
.blog-card__title {
    font-size: 1.15rem;
    line-height: 1.35;
    font-weight: 700;
    margin: 0;
    color: #1a1a2e;
    flex: 1 1 auto;
}
.blog-card__title a {
    color: inherit;
    text-decoration: none;
}
.blog-card__title a:hover {
    color: #F14910;
}
.blog-card__more {
    color: #F14910;
    font-weight: 600;
    text-decoration: none;
    font-size: .95rem;
    margin-top: .25rem;
}
.blog-card__more:hover {
    color: #c8390a;
}

/* ── Card meta (author • read time) ──────────────────── */
.dib-meta-text {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .35rem .5rem;
    margin: 0;
    color: #6b7280;
    font-size: .85rem;
    line-height: 1.4;
}
.dib-meta-item {
    display: inline-flex;
    align-items: center;
}
.dib-meta-item + .dib-meta-item::before {
    content: "•";
    margin-right: .5rem;
    color: #b8bcc7;
}
.dib-meta-author {
    font-weight: 600;
    color: #1a1a2e;
}
.dib-meta-readtime {
    font-style: italic;
}

/* ── Pagination ──────────────────────────────────────── */
.blog-pagination {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1rem;
    flex-wrap: wrap;
    margin: 2.5rem 0 1rem;
}
.blog-pagination__pages {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    gap: .5rem;
}
.blog-pagination__btn,
.blog-pagination__page {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 2.75rem;
    height: 2.75rem;
    padding: 0 .9rem;
    font-weight: 600;
    text-decoration: none;
    border: 1px solid transparent;
    transition: background .2s, color .2s, border-color .2s;
}
.blog-pagination__btn--nav {
    background: #F14910;
    color: #fff;
    padding: 0 1.6rem;
    gap: .5rem;
    min-width: 9rem;
}
.blog-pagination__btn--prev {
    /* top-left corner cut diagonally (bottom edges stay square) */
    clip-path: polygon(14px 0, 100% 0, 100% 100%, 0 100%, 0 14px);
}
.blog-pagination__btn--next {
    /* top-right corner cut diagonally (bottom edges stay square) */
    clip-path: polygon(0 0, calc(100% - 14px) 0, 100% 14px, 100% 100%, 0 100%);
}
.blog-pagination__btn--nav:hover {
    background: #c8390a;
    color: #fff;
}
.blog-pagination__btn.is-disabled {
    background: #f1f1f1;
    color: #aaa;
    pointer-events: none;
}
.blog-pagination__page {
    background: rgba(69, 69, 219, 0.1); /* var(--tosa-blue) @ 10% */
    color: var(--tosa-blue);
    border-color: transparent;
}
.blog-pagination__page:hover {
    background: rgba(69, 69, 219, 0.18);
    color: var(--tosa-blue);
    border-color: transparent;
}
.blog-pagination__page.is-active {
    background: var(--tosa-blue);
    color: #fff;
    border-color: var(--tosa-blue);
    cursor: default;
}

/* Single-post embed wrapper (kept for ?p=<slug>) */
.blog-feed {
    background: url(/build/images/scoring-bg.06285efa.jpg) center/cover no-repeat;
    min-height: 480px;
}
.blog-feed__container {
    max-width: 1100px;
    margin: 0 auto;
}
.blog-feed__loading {
    color: var(--tosa-blue);
}

/* ── Single post (server-rendered) ──────────────────── */
.dib-post {
    background: transparent;
    padding: 48px clamp(1.25rem, 4vw, 3.5rem);
    max-width: none;
    width: 100%;
    margin: 0;
}
.dib-post-title {
    font-size: clamp(1.75rem, 3.5vw, 2.5rem);
    font-weight: 700;
    color: #1a1a2e;
    line-height: 1.2;
    margin: 0 0 1rem;
}
.dib-post .dib-meta-text {
    margin-bottom: 1.5rem;
}
.dib-post-featured-image {
    display: block;
    width: 100%;
    height: auto;
    margin: 0 0 2rem;
}
.dib-audio {
    background: #fff;
    border: none;
    border-radius: 0;
    padding: .85rem 1.25rem;
    margin: 0 0 2rem;
    display: flex;
    align-items: center;
    gap: 1rem;
    box-shadow: 0 6px 20px rgba(20, 30, 60, 0.08);
}
.dib-audio audio {
    display: none; /* hidden — replaced by the custom controls below */
}
.dib-audio__btn {
    border: 0;
    background: transparent;
    padding: 0;
    cursor: pointer;
    color: #1a1a2e;
    font-size: 1.25rem;
    line-height: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
.dib-audio__btn:hover {
    color: #000;
}
.dib-audio__play {
    color: var(--tosa-orange);
    font-size: 1.85rem;
}
.dib-audio__play:hover {
    color: #c8390a;
}
.dib-audio__time {
    font-variant-numeric: tabular-nums;
    color: #1a1a2e;
    font-size: .9rem;
    white-space: nowrap;
    font-weight: 500;
}
.dib-audio__progress {
    flex: 1 1 auto;
    height: 6px;
    background: #DBEDF5; /* light cyan track */
    border-radius: 999px;
    cursor: pointer;
    position: relative;
    overflow: hidden;
    min-width: 80px;
}
.dib-audio__progress-fill {
    background: var(--tosa-teal); /* darker teal progress */
    width: 0%;
    height: 100%;
    border-radius: 999px;
    transition: width .1s linear;
}
.dib-audio__progress:focus {
    outline: 2px solid rgba(13, 107, 110, 0.4);
    outline-offset: 2px;
}
.dib-post-content {
    color: #2a2a3a;
    line-height: 1.7;
    font-size: 1.0625rem;
}
/* All links inside the article use the Tosa orange. */
.dib-post a,
.dib-post a:visited,
.dib-post a span {
    color: var(--tosa-orange) !important;
    text-decoration: underline;
    text-underline-offset: 3px;
}
.dib-post a:hover,
.dib-post a:focus {
    color: #c8390a !important;
    text-decoration: underline;
}
.dib-post-content p { margin: 0 0 1.1rem; }
.dib-post-content img { max-width: 100%; height: auto; }
.dib-post-content h2 { font-size: 1.5rem; margin: 2rem 0 1rem; }
.dib-post-content h3 { font-size: 1.2rem; margin: 1.6rem 0 .8rem; }
.dib-related {
    margin: 4rem 0 0;
    padding-top: 2.5rem;
    border-top: 1px solid rgba(20, 30, 60, 0.12);
}
.dib-related__title {
    font-size: clamp(1.75rem, 3vw, 2.25rem);
    font-weight: 700;
    color: #1a1a2e;
    margin: 0;
    text-align: center;
}
.dib-related__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 2rem;
}
@media (max-width: 991.98px) {
    .dib-related__grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 575.98px) {
    .dib-related__grid { grid-template-columns: 1fr; }
}
/* Related-post card titles stay black + no underline,
   overriding the orange/underline rule applied to all anchors inside .dib-post. */
.dib-related .blog-card__title a,
.dib-related .blog-card__title a:visited {
    color: #1a1a2e !important;
    text-decoration: none !important;
}
.dib-related .blog-card__title a:hover {
    color: #F14910 !important;
}
.dib-related .blog-card__more,
.dib-related .blog-card__more span,
.dib-related .blog-card__title a span {
    text-decoration: none !important;
}

.dib-post-back {
    margin-top: 2.5rem;
    font-weight: 600;
}
.dib-post-back a {
    color: var(--tosa-blue);
    text-decoration: none;
}
.dib-post-back a:hover {
    text-decoration: underline;
}

/* Online-store variant of the newsletter — extra-tall section with the team
   photo above the form. */
.newsletter--online-store {
    padding-top: 80px !important;
    padding-bottom: 96px !important;
}
.newsletter--online-store__photo-wrap {
    max-width: 1100px;
    margin: 0 auto;
}
.newsletter--online-store__photo {
    display: block;
    width: 100%;
    height: auto;
    clip-path: polygon(0 0, calc(100% - 80px) 0, 100% 80px, 100% 100%, 0 100%);
}

/* ── Book Exam page ──────────────────────────────────── */

/* Hero — full-section cover image with overlay copy on the left.
   The aspect-ratio is locked to the source image (≈1600×873) so the entire
   photo is always visible, edge-to-edge. Capped to stay below viewport
   height so the whole hero (and a hint of the section below) fits on screen. */
.be-hero {
    position: relative;
    width: 100%;
    aspect-ratio: 1600 / 873;
    max-height: calc(100vh - 100px);
    min-height: 360px;
    overflow: hidden;
    background: #eaf3fb;
}
.be-hero__bg {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
}
.be-hero__overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, rgba(255, 255, 255, 0.95) 0%, rgba(255, 255, 255, 0.82) 35%, rgba(255, 255, 255, 0.35) 60%, rgba(255, 255, 255, 0) 75%);
}
.be-hero__inner {
    position: relative;
    z-index: 2;
    height: 100%;
    display: flex;
    align-items: center;
    padding-top: 64px;
    padding-bottom: 64px;
}
.be-hero__copy { max-width: 620px; }
.be-hero__title {
    color: #1a1a2e;
    font-size: clamp(2rem, 3.6vw, 2.75rem);
}
.be-hero__text {
    color: #2a2a3a;
    line-height: 1.65;
    font-size: 1rem;
}
.be-hero__link {
    color: var(--tosa-orange);
    text-decoration: underline;
}
.be-hero__link:hover {
    color: var(--tosa-orange);
}
@media (max-width: 767.98px) {
    .be-hero__overlay {
        background: linear-gradient(180deg, rgba(255, 255, 255, 0.92) 0%, rgba(255, 255, 255, 0.85) 100%);
    }
}

/* Steps */
.be-steps {
    background: #fff;
}
.be-steps__card {
    background: transparent;
    max-width: 1100px;
    margin: 0 auto;
    padding: 48px clamp(20px, 3vw, 56px);
    box-shadow: none;
}
.be-step {
    display: flex;
    gap: 20px;
    align-items: flex-start;
    padding: 28px 26px;
    background: #fff;
    height: 100%;
    min-height: 156px;
}
.be-step__icon-wrap {
    position: relative;
    flex-shrink: 0;
    width: 56px;
    height: 56px;
    display: flex;
    align-items: center;
    justify-content: center;
}
/* Soft blue blurred line under the icon. */
.be-step__icon-wrap::after {
    content: '';
    position: absolute;
    left: 50%;
    bottom: -10px;
    transform: translateX(-50%);
    width: 60px;
    height: 6px;
    background: var(--tosa-blue);
    border-radius: 999px;
    filter: blur(6px);
    opacity: 0.5;
    pointer-events: none;
}
.be-step__icon {
    width: 56px;
    height: 56px;
    object-fit: contain;
    display: block;
}
.be-step__title {
    color: var(--tosa-blue);
    font-size: 1.05rem;
    margin: 0 0 6px;
}
.be-step__text {
    color: #4a4a5e;
    line-height: 1.55;
    font-size: 0.92rem;
}
.be-step__link {
    color: var(--tosa-orange);
    text-decoration: underline;
    text-underline-offset: 2px;
    font-weight: 500;
}
.be-step__link:hover {
    color: #c8390a;
}

/* ─── Purchase wizard (4-step browser mockup) ────────────────────── */
.be-purchase {
    background-color: #f7fbfd;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

/* Step indicator — solid rectangles, one per step. Inactive steps stay
   light blue with grey text; the active step and previously-completed steps
   get a solid Tosa blue background with white text. */
.be-purchase__steps {
    list-style: none;
    padding: 0;
    margin: 0 auto 40px;
    display: flex;
    align-items: stretch;
    justify-content: center;
    gap: 12px;
    max-width: 1100px;
}
.be-purchase__step {
    flex: 1;
    text-align: center;
    color: #9aa0b4;
    font-size: 1.05rem;
    font-weight: 700;
    cursor: pointer;
    padding: 22px 16px;
    background: #eaf3fb;
    box-shadow: 0 4px 14px rgba(20, 30, 60, 0.04);
    transition: background-color .2s, color .2s;
}
.be-purchase__step.is-active,
.be-purchase__step.is-done {
    background: var(--tosa-blue);
    color: #fff;
}
/* Skipped (e.g. step 2 when the chosen subject has no language/version
   choice to make) — keep the dot visible but visibly muted so the flow
   doesn't shift and the user understands this step was bypassed. */
.be-purchase__step.is-skipped {
    background: #d8dde8;
    color: #8b93a8;
    cursor: not-allowed;
    opacity: 0.85;
}
.be-purchase__step.is-skipped.is-done,
.be-purchase__step.is-skipped.is-active {
    /* If skipped, never show the active/done blue treatment. */
    background: #d8dde8;
    color: #8b93a8;
}
.be-purchase__step-num { display: block; }

/* Browser mockup wrapper — the browser chrome is stretched as a background,
   and .be-purchase__inner sits inside, padded down past the URL bar so the
   content lives within the chrome's empty area. The inner radius matches the
   chrome's rounded corners so the white frame doesn't peek out past them. */
.be-purchase__frame {
    position: relative;
    max-width: 1100px;
    margin: 0 auto;
    background-color: #fff;
    background-repeat: no-repeat;
    background-position: center top;
    background-size: 100% 100%;
    border-radius: 0 0 13px 13px;
    overflow: hidden;
    box-shadow: 0 10px 40px rgba(20, 30, 60, 0.10);
}
.be-purchase__inner {
    /* The browser chrome PNG (1440×961) reserves ~75px at the top for the
       URL bar — push our content past it. Bottom padding gives the chrome
       a thin frame around the content too. */
    padding: 92px clamp(28px, 3vw, 56px) 56px;
}
.be-purchase__pane { display: none; min-height: 520px; }
.be-purchase__pane.is-active { display: block; }
/* Step 3 has fewer items than the others — center its content vertically so
   the pane never looks cramped against the wider step 1 / 2 / 4 layouts. */
.be-purchase__pane[data-purchase-pane="3"].is-active {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

/* Tabs (step 1) — reuse the chrome from .cert-offerings */
.be-purchase__tabs {
    justify-content: center;
    gap: 0;
    border-bottom: 1px solid #ececf3;
    margin-bottom: 28px;
}
.be-purchase__tabs .nav-link {
    border: 0;
    background: transparent;
    padding: 12px 24px;
    color: #777;
    font-weight: 600;
    border-bottom: 3px solid transparent;
    border-radius: 0;
}
.be-purchase__tabs .nav-link.active {
    background: #fff;
    color: var(--tosa-blue);
    border-bottom-color: var(--tosa-blue);
}
.be-purchase__tab-logo {
    height: 48px;
    width: auto;
    display: block;
}
.be-purchase__heading {
    color: #1a1a2e;
    font-size: 1.5rem;
    margin: 0 0 4px;
}
.be-purchase__pane-intro {
    color: #2a2a3a;
    font-size: 1rem;
    line-height: 1.55;
    text-align: center;
    max-width: 760px;
    margin: 0 auto 28px;
}
.be-purchase__subtitle {
    font-size: 0.95rem;
    margin: 0;
}

/* Subject buttons */
.be-purchase__subject {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 10px;
    aspect-ratio: 1 / 1;
    width: 100%;
    padding: 16px 10px;
    background: transparent;
    border: 1px solid #E6F3F9;
    color: #1a1a1a;
    font-size: 0.85rem;
    font-weight: 500;
    cursor: pointer;
    transition: background-color .2s, border-color .2s, box-shadow .2s, transform .2s, color .2s;
}
.be-purchase__subject:hover {
    background: #fff;
    border-color: var(--tosa-orange);
    box-shadow: 0 6px 20px rgba(241, 73, 16, 0.10);
    transform: translateY(-2px);
    color: var(--tosa-blue);
}
.be-purchase__subject img {
    max-width: 100%;
    max-height: 64px;
    object-fit: contain;
}
.be-purchase__subject span { line-height: 1.2; text-align: center; }

/* Step 2 — language + version */
.be-purchase__group-title {
    color: var(--tosa-blue);
    font-size: 1.05rem;
    font-weight: 700;
    margin: 0 0 16px;
}
.be-purchase__radio-list {
    list-style: none;
    padding: 0;
    margin: 0 0 8px;
    display: flex;
    flex-direction: column;
    gap: 12px;
}
.be-purchase__radio-list label {
    display: flex;
    align-items: center;
    gap: 12px;
    cursor: pointer;
    color: #1a1a2e;
    font-size: 1rem;
}
.be-purchase__radio-list input[type="radio"] {
    width: 18px;
    height: 18px;
    accent-color: var(--tosa-orange);
}
.be-purchase__photo {
    display: block;
    width: 100%;
    height: auto;
    clip-path: polygon(0 0, calc(100% - 28px) 0, 100% 28px, 100% 100%, 0 100%);
}

/* Step 1 — subject details (confirmation card after picking a subject).
   Rectangular layout, mirrors the legacy bookanexam page treatment. */
.be-purchase__details {
    padding: 4px 8px;
}
.be-purchase__details[hidden] { display: none; }
.be-purchase__details-head {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 28px;
}
.be-purchase__details-back {
    background: transparent;
    border: 0;
    color: var(--tosa-orange);
    font-size: 1.1rem;
    line-height: 1;
    padding: 6px 8px;
    cursor: pointer;
    border-radius: 0;
}
.be-purchase__details-back:hover {
    color: #d83a04;
}
.be-purchase__details-eyebrow {
    color: #1a1a2e;
    font-size: 1rem;
    font-weight: 500;
}
.be-purchase__details-eyebrow strong {
    font-weight: 700;
}
.be-purchase__details-icon {
    border: 1px solid #e5e7eb;
    background: #fff;
    border-radius: 0;
    padding: 56px 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    aspect-ratio: 1 / 1;
}
.be-purchase__details-icon img {
    max-width: 220px;
    max-height: 220px;
    width: 100%;
    height: auto;
    object-fit: contain;
}
.be-purchase__details-desc {
    color: #1f2937;
    line-height: 1.6;
    font-size: 0.95rem;
    margin-bottom: 18px;
}
.be-purchase__details-h {
    color: var(--tosa-blue);
    font-size: 1rem;
    font-weight: 700;
    margin: 18px 0 8px;
}
.be-purchase__details-list {
    list-style: none;
    padding: 0;
    margin: 0 0 4px;
    color: #374151;
    font-size: 0.9rem;
    line-height: 1.7;
}
.be-purchase__details-list li {
    padding-left: 16px;
    position: relative;
}
.be-purchase__details-list li::before {
    content: '›';
    color: #6b7280;
    position: absolute;
    left: 0;
    font-weight: 700;
}
.be-purchase__details-learnmore {
    margin: 18px 0 0;
    color: #1f2937;
    font-size: 0.9rem;
}
.be-purchase__details-learnmore a {
    color: var(--tosa-orange);
    font-weight: 700;
    text-decoration: none;
}
.be-purchase__details-learnmore a:hover {
    text-decoration: underline;
}

/* Step 3 — proctoring */
.be-purchase__proctor {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 36px;
    padding: 80px 32px;
    min-height: 360px;
    height: 100%;
    border: 1px solid #d9dae6;
    cursor: pointer;
    text-align: center;
    transition: border-color .2s, background-color .2s;
}
.be-purchase__proctor:hover {
    border-color: var(--tosa-blue);
    background: #f7fbfd;
}
/* Selected state — match the orange ✓ in the corner with an orange
   card border so the choice reads at a glance. `:has(input:checked)`
   targets the label whose nested radio is checked. */
.be-purchase__proctor:has(input:checked) {
    border-color: var(--tosa-orange);
    background: #fff7f3;
}
.be-purchase__proctor input[type="checkbox"],
.be-purchase__proctor input[type="radio"] {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}
.be-purchase__proctor-check {
    position: absolute;
    top: 18px;
    right: 18px;
    width: 22px;
    height: 22px;
    border: 1.5px solid #d9dae6;
    background: #fff;
    transition: background-color .15s, border-color .15s;
}
.be-purchase__proctor input:checked ~ .be-purchase__proctor-check {
    background: var(--tosa-orange);
    border-color: var(--tosa-orange);
}
.be-purchase__proctor input:checked ~ .be-purchase__proctor-check::after {
    content: '✓';
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: 14px;
    font-weight: 700;
}
.be-purchase__proctor-icon {
    width: 110px;
    height: 110px;
    object-fit: contain;
}
.be-purchase__proctor-label {
    color: #1a1a2e;
    font-size: 1.05rem;
    font-weight: 700;
    line-height: 1.4;
    max-width: 280px;
}
.be-purchase__proctor-text {
    color: #4a4a5e;
    font-size: 0.9rem;
    line-height: 1.55;
    max-width: 300px;
    margin-top: -20px;
}
.be-purchase__proctor-text a {
    color: var(--tosa-orange);
}
.be-purchase__proctor-error {
    color: var(--tosa-orange);
    font-size: 0.9rem;
    font-weight: 600;
    text-align: center;
    margin: 16px 0 0;
}

/* Next link */
.be-purchase__next {
    display: inline-block;
    color: var(--tosa-orange);
    font-weight: 700;
    text-decoration: none;
    font-size: 1rem;
    padding: 6px 4px;
}
.be-purchase__next:hover { color: #c8390a; }

/* Step 4 — packs */
.be-purchase__legal {
    color: #2a2a3a;
    font-size: 0.92rem;
    line-height: 1.55;
}
.be-purchase__packs {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 0;
    border: 1px solid #ececf3;
}
@media (max-width: 991.98px) { .be-purchase__packs { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 575.98px) { .be-purchase__packs { grid-template-columns: 1fr; } }
.be-purchase__pack {
    display: flex;
    flex-direction: column;
    background: #fff;
    border-right: 1px solid #ececf3;
}
.be-purchase__pack:last-child { border-right: 0; }

.be-purchase__pack-head {
    padding: 22px 20px;
    background: #f5f7ff;
    border-bottom: 1px solid #ececf3;
    min-height: 92px;
    display: flex;
    align-items: center;
}
.be-purchase__pack.is-active .be-purchase__pack-head,
.be-purchase__pack:hover .be-purchase__pack-head {
    background: var(--tosa-orange);
}
.be-purchase__pack-name {
    color: #1a1a2e;
    font-size: 1.05rem;
    font-weight: 700;
    margin: 0;
    line-height: 1.25;
}
.be-purchase__pack.is-active .be-purchase__pack-name,
.be-purchase__pack:hover .be-purchase__pack-name { color: #fff; }

.be-purchase__pack-body {
    flex: 1 1 auto;
    padding: 20px;
    display: flex;
    flex-direction: column;
    gap: 16px;
}
.be-purchase__pack-desc {
    color: #2a2a3a;
    font-size: 0.92rem;
    line-height: 1.5;
    margin: 0;
}
/* Reset the browser's default ul indent inside the pack description so the
   bullets align with the rest of the text. The list comes straight from
   the API (spe_det.tosa_pri_det.des HTML), so we style it inline here. */
.be-purchase__pack-desc ul {
    list-style: disc;
    margin: 8px 0 0;
    padding-left: 1.1rem;
}
.be-purchase__pack-desc li {
    margin-bottom: 2px;
}
.be-purchase__pack-features {
    list-style: disc inside;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 6px;
    flex: 1 1 auto;
}
.be-purchase__pack-features li {
    color: #2a2a3a;
    font-size: 0.9rem;
    line-height: 1.4;
}
.be-purchase__pack-features li::marker { color: var(--tosa-blue); }

.be-purchase__pack-price {
    color: var(--tosa-blue);
    font-size: 1.5rem;
    font-weight: 700;
    margin-top: auto;
}

.be-purchase__pack-checkout {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    padding: 14px 18px;
    background: #f5f7ff;
    border: 0;
    border-top: 1px solid #ececf3;
    color: #2a2a3a;
    font-weight: 700;
    cursor: pointer;
    transition: background-color .2s, color .2s;
}
.be-purchase__pack.is-active .be-purchase__pack-checkout,
.be-purchase__pack:hover .be-purchase__pack-checkout {
    background: var(--tosa-orange);
    color: #fff;
    clip-path: polygon(0 0, calc(100% - 16px) 0, 100% 16px, 100% 100%, 0 100%);
}
.be-purchase__pack-radio {
    display: inline-block;
    width: 18px;
    height: 18px;
    border: 1.5px solid #d9dae6;
    background: #fff;
    flex-shrink: 0;
    margin-right: 8px;
    position: relative;
}
.be-purchase__pack.is-active .be-purchase__pack-radio,
.be-purchase__pack:hover .be-purchase__pack-radio {
    background: var(--tosa-yellow);
    border-color: var(--tosa-yellow);
}
.be-purchase__pack.is-active .be-purchase__pack-radio::after,
.be-purchase__pack:hover .be-purchase__pack-radio::after {
    content: '✓';
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #1a1a2e;
    font-size: 12px;
    font-weight: 700;
}
.be-purchase__pack-arrow { margin-left: auto; }

/* ── Contact Us page ─────────────────────────────────── */
.cu-banner {
    position: relative;
    width: 100%;
    min-height: 800px;
    overflow: hidden;
    background: #eaf3fb;
    display: flex;
    flex-direction: column;
}
@media (min-width: 1200px) {
    .cu-banner { min-height: 880px; }
}
.cu-banner__bg {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: right center;
}
.cu-banner__overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, rgba(255, 255, 255, 0.96) 0%, rgba(255, 255, 255, 0.88) 30%, rgba(255, 255, 255, 0.45) 55%, rgba(255, 255, 255, 0) 70%);
}
.cu-banner__inner {
    position: relative;
    z-index: 2;
    flex: 1;
    display: flex;
    align-items: center;
    padding-top: 64px;
    padding-bottom: 64px;
}
.cu-banner__copy { max-width: 520px; }
.cu-banner__title {
    color: #1a1a2e;
    font-size: clamp(2.5rem, 4.5vw, 3.5rem);
}
.cu-banner__text {
    color: #2a2a3a;
    line-height: 1.65;
    font-size: 1.125rem;
}
@media (max-width: 767.98px) {
    .cu-banner__overlay {
        background: linear-gradient(180deg, rgba(255, 255, 255, 0.92) 0%, rgba(255, 255, 255, 0.85) 100%);
    }
}

/* Form section */
.cu-form-section { background: #fff; }
.cu-form-card {
    position: relative;
    isolation: isolate;
    color: #fff;
    padding: 56px clamp(24px, 4vw, 64px);
    max-width: 1100px;
    margin: 0 auto;
}
.cu-form-card::before {
    content: '';
    position: absolute;
    inset: 0;
    z-index: -1;
    background: var(--tosa-blue);
    clip-path: polygon(0 0, calc(100% - 36px) 0, 100% 36px, 100% 100%, 0 100%);
}
.cu-form-card__title {
    color: #fff;
    font-size: clamp(1.5rem, 2.6vw, 2rem);
    margin: 0 0 1.5rem;
}

.cu-form { width: 100%; }
.cu-form__row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
    margin-bottom: 16px;
}
.cu-form__row--full {
    grid-template-columns: 1fr;
}
.cu-form__group { width: 100%; }
.cu-form__label {
    display: block;
    color: #fff;
    font-size: 0.9375rem;
    font-weight: 500;
    margin-bottom: 8px;
    line-height: 1.3;
}
.cu-form__required {
    color: #ff5a5a;
    margin-left: 2px;
    font-weight: 700;
}
.cu-form__input {
    width: 100%;
    padding: 14px 16px;
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.45);
    border-radius: 4px;
    color: #fff;
    font-size: 1rem;
    line-height: 1.4;
}
.cu-form__input::placeholder {
    color: rgba(255, 255, 255, 0.7);
}
.cu-form__input:focus {
    outline: 0;
    border-color: #fff;
    background: rgba(255, 255, 255, 0.08);
    box-shadow: 0 0 0 3px rgba(255, 255, 255, 0.18);
}
.cu-form__textarea {
    resize: vertical;
    min-height: 120px;
}
.cu-form__consent {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    margin: 16px 0 8px;
    color: #fff;
    font-size: 1rem;
    line-height: 1.5;
}
.cu-form__consent input[type="checkbox"] {
    flex-shrink: 0;
    margin-top: 4px;
    width: 18px;
    height: 18px;
    accent-color: var(--tosa-orange);
}
.cu-form__privacy {
    margin: 0 0 24px 30px;
    color: rgba(255, 255, 255, 0.78);
    font-size: 0.8125rem;
    line-height: 1.5;
}
.cu-form__privacy-link {
    color: rgba(255, 255, 255, 0.95);
    text-decoration: underline;
    text-underline-offset: 2px;
}
.cu-form__privacy-link:hover {
    color: #fff;
}
.cu-form__footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    flex-wrap: wrap;
}
/* reCAPTCHA widget container — the iframe inserted by Google renders at
   ~304×78 with its own chrome, so we just give it a transparent slot. */
.cu-form__captcha {
    display: inline-block;
    min-height: 78px;
}
.cu-form__captcha .g-recaptcha {
    display: inline-block;
}

/* Inline error returned by the AJAX submit. */
.cu-form__error {
    margin: 0 0 12px;
    padding: 10px 14px;
    background: rgba(255, 73, 16, 0.18);
    border-left: 3px solid var(--tosa-orange);
    color: #fff;
    font-size: 0.92rem;
    line-height: 1.45;
}

/* Success confirmation shown after a valid client-side submit. */
.cu-form__success {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    padding: 20px 24px;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.4);
    color: #fff;
    line-height: 1.5;
    font-size: 1rem;
}
.cu-form__success i {
    color: var(--tosa-yellow);
    font-size: 1.5rem;
    line-height: 1;
    flex-shrink: 0;
    margin-top: 2px;
}
.cu-form__submit { flex-shrink: 0; }

@media (max-width: 575.98px) {
    .cu-form__row { grid-template-columns: 1fr; }
}

/* Office locations — reuses .wwa-offices__* classes from who-we-are */
.cu-offices {
    background-color: #e6f4f8;
    background-image: url("/build/images/How%20to%20Apply-bg.496bac33.jpg");
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    padding: 40px 0;
}

/* Compact newsletter on contact-us page — trim shared 320px top padding. */
.cu-offices + .newsletter {
    padding-top: 80px !important;
    padding-bottom: 60px !important;
}

/* Shared office-locations card/pin/city styles used on both who-we-are and
   contact-us pages. Page-specific backgrounds live in their own stylesheets. */
.wwa-offices__row {
    align-items: stretch;
}
.wwa-offices__col + .wwa-offices__col {
    border-left: 1px solid rgba(26, 26, 46, 0.18);
}
.wwa-offices__card {
    background: transparent;
    border: 0;
    padding: 16px 28px;
    text-align: center;
    height: 100%;
    box-shadow: none;
    transition: transform .2s ease;
}
.wwa-offices__card:hover {
    transform: translateY(-2px);
}
.wwa-offices__pin {
    width: 56px;
    height: 56px;
    object-fit: contain;
    display: inline-block;
    margin-bottom: 1.5rem;
}
.wwa-offices__city {
    color: var(--tosa-blue);
    font-size: 1.25rem;
    margin-bottom: 1rem;
}
.wwa-offices__addr {
    color: #1a1a2e;
    font-size: 1rem;
    line-height: 1.65;
}
@media (max-width: 767.98px) {
    .wwa-offices__col + .wwa-offices__col {
        border-left: 0;
        border-top: 1px solid rgba(26, 26, 46, 0.18);
    }
    .wwa-offices__card {
        padding: 28px 24px;
    }
}

/* ── State Approvals page ────────────────────────────── */

/* Banner */
.sa-banner {
    position: relative;
    width: 100%;
    min-height: 580px;
    overflow: hidden;
    background: #eaf3fb;
    display: flex;
    flex-direction: column;
}
@media (min-width: 1200px) {
    .sa-banner { min-height: 640px; }
}
.sa-banner__bg {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center 70%;
    opacity: 0.85;
}
.sa-banner__inner {
    position: relative;
    z-index: 2;
    flex: 1;
    display: flex;
    align-items: center;
}
.sa-banner__title {
    color: #1a1a2e;
    font-size: clamp(2.25rem, 4.5vw, 3.5rem);
}

/* Section: Recognized Nationally (full-bleed image left) */
.sa-recognized {
    background: #fff;
    padding: 0;
}
.sa-recognized > .container-xl.py-5 {
    max-width: 100%;
    padding-left: 0;
    padding-right: 0;
}
.sa-recognized > .container-xl.py-5 > .row {
    --bs-gutter-x: 0;
    --bs-gutter-y: 0;
    margin: 0;
}
.sa-recognized > .container-xl.py-5 > .row > [class*="col-"] {
    padding-left: 0;
    padding-right: 0;
}
.sa-recognized__img {
    display: block;
    width: 80%;
    height: auto;
    max-width: none;
    clip-path: none;
}
.sa-recognized__text {
    color: #2a2a3a;
    line-height: 1.65;
    font-size: 1rem;
}
@media (min-width: 992px) {
    .sa-recognized > .container-xl.py-5 > .row > .col-lg-6:last-child {
        padding-left: 80px;
        padding-right: 120px;
    }
}
@media (min-width: 1400px) {
    .sa-recognized > .container-xl.py-5 > .row > .col-lg-6:last-child {
        padding-left: 120px;
        padding-right: 200px;
    }
}
@media (max-width: 991.98px) {
    .sa-recognized > .container-xl.py-5 > .row > .col-lg-6:last-child {
        padding: 40px 24px;
    }
}

/* Section: Approved Across the United States (dark map background) */
.sa-map {
    position: relative;
    color: #fff;
    background-color: #1f2a8d;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    overflow: hidden;
    padding: 80px 0;
}
.sa-map > .container-xl.py-5 {
    padding-top: 60px !important;
    padding-bottom: 60px !important;
}
.sa-map__overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, rgba(31, 42, 141, 0.92) 0%, rgba(31, 42, 141, 0.55) 60%, rgba(31, 42, 141, 0.85) 100%);
}
.sa-map__inner {
    position: relative;
    z-index: 2;
}
.sa-map__header {
    max-width: 1200px;
}
.sa-map__intro {
    color: rgba(255, 255, 255, 0.92);
    line-height: 1.6;
    max-width: 760px;
    font-size: 1.125rem;
}
.sa-map__states {
    list-style: none;
    padding: 0;
    margin: 32px 0 0;
    max-width: 640px;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px 56px;
}
.sa-map__state {
    position: relative;
    padding-left: 28px;
    color: #fff;
    font-size: 1.25rem;
    line-height: 1.5;
    font-weight: 600;
}
.sa-map__state::before {
    content: '';
    position: absolute;
    left: 0;
    top: 12px;
    width: 10px;
    height: 10px;
    background: var(--tosa-yellow);
    border-radius: 50%;
}
.sa-map__state-link {
    color: #fff;
    text-decoration: underline;
    text-underline-offset: 4px;
    text-decoration-thickness: 1.5px;
}
.sa-map__state-link:hover {
    color: var(--tosa-yellow);
}
/* Yellow section-dots variant (override base section-dots span color) */
.section-dots--yellow span {
    background: var(--tosa-yellow);
}
@media (max-width: 767.98px) {
    .sa-map__states { grid-template-columns: 1fr; }
}

/* Combined section: Expanding Access + Bring Tosa to Your State */
.sa-combo {
    background-color: #f0f9fc;
    background-image: url("/build/images/Expanding%20Access-bg.bbb5784c.jpg");
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    padding: 80px 0;
}
.sa-combo__row {
    padding: 32px 0;
}
.sa-combo__row + .sa-combo__row {
    margin-top: 32px !important;
}
.sa-combo__card {
    background: #fff;
    padding: 48px 56px;
    box-shadow: 0 12px 30px rgba(20, 30, 60, 0.08);
}
.sa-expanding__img,
.sa-bring__img {
    display: block;
    width: 67%;
    height: auto;
    clip-path: none;
}
.sa-expanding__text,
.sa-bring__text {
    color: #2a2a3a;
    line-height: 1.65;
    font-size: 1rem;
}
@media (max-width: 991.98px) {
    .sa-expanding__img,
    .sa-bring__img {
        width: 100%;
    }
}
@media (max-width: 991.98px) {
    .sa-combo__card {
        padding: 32px 28px;
    }
}

/* Compact newsletter on state-approvals page — trim the shared section's
   deep 320px top padding sized for an overlapping testimonial. */
.sa-combo + .newsletter {
    padding-top: 80px !important;
    padding-bottom: 60px !important;
}
.sa-bring__list {
    list-style: none;
    padding: 0;
    margin: 0 0 1rem;
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.sa-bring__list li {
    position: relative;
    padding-left: 22px;
    color: #2a2a3a;
    font-size: 0.98rem;
    line-height: 1.5;
}
.sa-bring__list li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 8px;
    width: 8px;
    height: 8px;
    background: var(--tosa-orange);
    border-radius: 50%;
}

/* ── State detail page (e.g. /state/texas) ───────────── */

/* Banner */
.st-banner {
    position: relative;
    width: 100%;
    min-height: 460px;
    overflow: hidden;
    background: #dcebf7;
    display: flex;
    flex-direction: column;
}
@media (min-width: 1200px) {
    .st-banner { min-height: 520px; }
}
.st-banner__bg {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: right center;
}
.st-banner__inner {
    position: relative;
    z-index: 2;
    flex: 1;
    display: flex;
    align-items: center;
    padding-top: 40px;
    padding-bottom: 40px;
}
.st-banner__title {
    color: #1a1a2e;
    font-size: clamp(2.25rem, 4.5vw, 3.5rem);
    text-wrap: balance;
}
/* Keep long titles clear of the agency-logo zone on the right (the logo's
   horizontal position follows the banner artwork, so the safe width grows
   with the viewport). */
@media (min-width: 992px) {
    .st-banner__content { max-width: 50%; }
}
@media (min-width: 1200px) {
    .st-banner__content { max-width: 55%; }
}
@media (min-width: 1400px) {
    .st-banner__content { max-width: 60%; }
}
.st-banner__bullets {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.st-banner__bullets li {
    position: relative;
    padding-left: 22px;
    color: #1a1a2e;
    font-size: 1.05rem;
    font-weight: 500;
}
.st-banner__bullets li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 9px;
    width: 8px;
    height: 8px;
    background: var(--tosa-orange);
    border-radius: 50%;
}
.st-banner__agency {
    position: absolute;
    top: 50%;
    left: calc(100% - 0.2162 * max(100%, 1686px));
    transform: translate(-50%, -50%);
    z-index: 3;
    width: clamp(220px, 26vw, 340px);
    height: clamp(140px, 15vw, 250px);
    object-fit: contain;
}

/* Intro + download */
.st-intro {
    padding: 2.5rem 0;
    background: #fff url(/build/images/Vector.f7946dca.png) no-repeat left 60px;
    background-size: 50% auto;
}
.st-intro__text {
    color: #2a2a3a;
    line-height: 1.7;
    font-size: 1.0625rem;
    max-width: 980px;
}

/* The Official Approved List (dark teal) */
.st-official {
    background-color: var(--tosa-teal);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    color: #fff;
}
.st-official__sub {
    color: #fff;
    font-size: 1.25rem;
    font-weight: 600;
}
.st-official__text {
    color: rgba(255, 255, 255, 0.9);
    line-height: 1.65;
    font-size: 1rem;
}
.st-official__img {
    display: block;
    width: 100%;
    height: auto;
    border-radius: 0;
}
@media (min-width: 1400px) {
    .st-official__img {
        width: 83%;
        margin-left: auto;
    }
}
.st-quote {
    background: rgba(255, 255, 255, 0.08);
    border-left: 4px solid var(--tosa-yellow);
    padding: 24px 28px;
    margin: 0;
}
.st-quote p {
    color: rgba(255, 255, 255, 0.95);
    font-size: 0.95rem;
    line-height: 1.6;
    font-style: italic;
}
.st-quote cite {
    color: var(--tosa-yellow);
    font-size: 0.9rem;
    font-weight: 600;
    font-style: normal;
}

/* Eligible Schools and Grades */
.st-eligible { background: #fff; }
.st-eligible__img {
    display: block;
    width: 80%;
    height: auto;
    border-radius: 0;
}
.st-eligible__text,
.st-text {
    color: #2a2a3a;
    line-height: 1.65;
    font-size: 1rem;
}
.st-h3 {
    color: #1a1a2e;
    font-size: clamp(1.4rem, 2.4vw, 1.85rem);
    font-weight: 700;
}
.st-img {
    display: block;
    width: 100%;
    height: auto;
    border-radius: 0;
}
/* Portrait shots (e.g. Reporting Process) would tower over the text column
   at full column width — cap them and center in the column instead. */
.st-img--capped {
    width: auto;
    max-width: 100%;
    max-height: 450px;
    margin-inline: auto;
}
/* Fill the column and match the sibling column's height. */
.st-img--cover {
    height: 100%;
    object-fit: cover;
}

/* Shared tables */
.st-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.92rem;
    background: #fff;
}
.st-table thead th {
    background: var(--tosa-blue);
    color: #fff;
    font-weight: 600;
    padding: 12px 16px;
    text-align: left;
    vertical-align: middle;
}
.st-table tbody td {
    padding: 12px 16px;
    border-bottom: 1px solid #e6e9f2;
    color: #2a2a3a;
    line-height: 1.5;
    vertical-align: top;
}
.st-table tbody tr:nth-child(even) td {
    background: var(--tosa-blue-light);
}
.st-table--two td:first-child {
    font-weight: 600;
    color: #1a1a2e;
    white-space: nowrap;
}
.st-eligible .st-table,
.st-eligible .st-table th,
.st-eligible .st-table td {
    border: 1px solid #d7dcea;
}
.st-note {
    background: #fdeee6;
    border-radius: 0;
    padding: 14px 18px;
    color: #5a4a3a;
    font-size: 0.9rem;
    line-height: 1.55;
}
.st-warning {
    background: #fdeee6;
    border-radius: 6px;
    padding: 14px 18px;
    color: #8a4b1a;
    font-size: 0.9rem;
    line-height: 1.55;
}
.st-link {
    color: var(--tosa-orange);
    font-weight: 600;
    text-decoration: underline;
    text-underline-offset: 3px;
}

/* Tier Structure (blue) */
.st-tier {
    background-color: var(--tosa-blue);
    background-size: auto 145%;
    background-position: center top;
    background-repeat: no-repeat;
    color: #fff;
    padding: 3.5rem 0;
}
.st-tier .section-dots--yellow span {
    background: var(--tosa-orange) !important;
}
.st-tier__intro {
    color: rgba(255, 255, 255, 0.9);
    font-size: 1.05rem;
}
.st-tier__card {
    position: relative;
    background: #fff;
    padding: 28px 26px;
    height: 100%;
    box-shadow: 0 12px 30px rgba(20, 30, 60, 0.12);
}
.st-tier__card::before {
    content: "";
    position: absolute;
    top: 0;
    left: 26px;
    width: 56px;
    height: 4px;
    background: var(--tosa-orange);
}
.st-tier__title {
    color: var(--tosa-orange);
    font-size: 1.35rem;
    font-weight: 700;
    margin-bottom: 12px;
}
.st-tier__card p {
    color: #2a2a3a;
    font-size: 0.95rem;
    line-height: 1.6;
    margin: 0;
}
.st-tier__footnote {
    color: rgba(255, 255, 255, 0.92);
    font-size: 0.95rem;
    line-height: 1.6;
    max-width: 980px;
    margin-left: auto;
    margin-right: auto;
}
.st-tier__table-wrap {
    max-width: 980px;
    margin: 0 auto;
    border-radius: 0;
    overflow: hidden;
    box-shadow: 0 12px 30px rgba(20, 30, 60, 0.18);
}
.st-table--inverse thead th {
    background: #1a1a2e;
}
.st-table--inverse td:first-child {
    font-weight: 600;
    color: var(--tosa-orange);
    white-space: nowrap;
}

/* Approved Tosa Certifications */
.st-certs { background: #fff; }
.st-certs__intro {
    color: #2a2a3a;
    line-height: 1.65;
    font-size: 1rem;
    max-width: 980px;
    margin-left: auto;
    margin-right: auto;
}
.st-certs__group td {
    background: #eef1f8 !important;
    font-weight: 700;
    color: #1a1a2e;
}
.st-certs__group i {
    color: var(--tosa-orange);
    margin-right: 8px;
}
.st-certs__group-icon {
    width: 20px;
    height: 20px;
    margin-right: 8px;
    vertical-align: middle;
    object-fit: contain;
}
.st-certs__table .st-certs__name {
    color: var(--tosa-orange);
    font-weight: 600;
}
.st-certs__link {
    color: inherit;
    text-decoration: underline;
    text-decoration-color: transparent;
    transition: text-decoration-color 0.15s ease;
}
.st-certs__link:hover {
    text-decoration-color: currentColor;
}

.st-certs__list {
    margin: 0 0 6px;
    padding-left: 1rem;
}
.st-certs__list:last-child { margin-bottom: 0; }
.st-certs__list li { margin-bottom: 2px; }

.st-certs__table th,
.st-certs__table td {
    min-width: 100px;
}

/* Accountability (light blue) */
.st-accountability { background: var(--tosa-light-blue); }

/* Funding */
.st-funding { background: #fff; }
.st-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.st-list li {
    position: relative;
    padding-left: 22px;
    color: #2a2a3a;
    font-size: 0.98rem;
    line-height: 1.5;
}
.st-list li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 8px;
    width: 8px;
    height: 8px;
    background: var(--tosa-orange);
    border-radius: 50%;
}

/* CTA (yellow) — mirrors the homepage .get-started section */
.st-cta {
    background: transparent;
    padding: 0;
    position: relative;
    margin-bottom: -220px;
    z-index: 2;
}
@media (max-width: 991.98px) {
    .he-cta { margin-top: -120px; margin-bottom: -120px; }
    .st-cta { margin-bottom: -120px; }
}
@media (max-width: 767.98px) {
    .he-cta { margin-top: -80px; margin-bottom: -80px; }
    .st-cta { margin-bottom: -80px; }
}
.st-cta__card {
    background: var(--tosa-yellow);
    border-radius: 0;
    overflow: hidden;
    position: relative;
    /* Clip-path cut on top-right to match get-started style */
    clip-path: polygon(0 0, calc(100% - 60px) 0, 100% 60px, 100% 100%, 0 100%);
}
.st-cta__image-wrapper {
    position: relative;
    height: 100%;
    min-height: 420px;
    overflow: hidden;
}
.st-cta__img {
    display: block;
    width: 100%;
    height: 100%;
    max-height: 440px;
    object-fit: cover;
}
.st-cta__title {
    font-size: clamp(1.5rem, 2.8vw, 2.25rem);
    color: #1a1a2e;
    line-height: 1.2;
}
.st-cta__text {
    color: #1a1a2e;
    opacity: 0.85;
    font-size: 1.05rem;
}
@media (max-width: 991.98px) {
    .st-banner__agency {
        position: static;
        transform: none;
        display: block;
        width: clamp(200px, 60vw, 320px);
        height: clamp(110px, 32vw, 180px);
        margin: 24px auto 0;
    }
}

/* ── Partnerships page ───────────────────────────────── */

/* ── Careers page ────────────────────────────────────── */

/* Banner */
.careers-banner {
    position: relative;
    width: 100%;
    min-height: 580px;
    overflow: hidden;
    background: #eef3fa;
    display: flex;
    flex-direction: column;
}
@media (min-width: 1200px) {
    .careers-banner { min-height: 640px; }
}
@media (max-width: 991.98px) {
    .careers-banner { min-height: 300px; }
}
.careers-banner__bg {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: right center;
}
.careers-banner__overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, rgba(255, 255, 255, 0.92) 0%, rgba(255, 255, 255, 0.72) 30%, rgba(255, 255, 255, 0) 60%);
}
.careers-banner__inner {
    position: relative;
    z-index: 2;
    flex: 1;
    display: flex;
    align-items: center;
}
.careers-banner__title {
    color: #1a1a2e;
    font-size: clamp(2.5rem, 5vw, 4rem);
}

/* Section 1 — Why Work with Us (full-bleed image left, padded text right) */
.careers-why {
    background: #fff;
    padding: 0;
}
.careers-why > .container-xl.py-5 {
    max-width: 100%;
    padding-left: 0;
    padding-right: 0;
}
.careers-why > .container-xl.py-5 > .row {
    --bs-gutter-x: 0;
    --bs-gutter-y: 0;
    margin: 0;
}
.careers-why > .container-xl.py-5 > .row > [class*="col-"] {
    padding-left: 0;
    padding-right: 0;
}
.careers-why__img {
    display: block;
    width: 100%;
    height: auto;
    max-width: none;
    clip-path: none;
}
.careers-why__text {
    color: #2a2a3a;
    line-height: 1.65;
    font-size: 1rem;
}
@media (min-width: 992px) {
    .careers-why > .container-xl.py-5 > .row > .col-lg-6:last-child {
        padding-left: 80px;
        padding-right: 120px;
    }
}
@media (min-width: 1400px) {
    .careers-why > .container-xl.py-5 > .row > .col-lg-6:last-child {
        padding-left: 120px;
        padding-right: 200px;
    }
}
@media (max-width: 991.98px) {
    .careers-why > .container-xl.py-5 > .row > .col-lg-6:last-child {
        padding: 40px 24px;
    }
}

/* Section 2 — Benefits & Perks */
.careers-benefits {
    background-color: #e8f5fa;
    background-image: url("/build/images/Benefits%20&%20Perks-bg.884f49bc.jpg");
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    padding: 40px 0;
}
.careers-benefits > .container-xl.py-5 {
    padding-top: 60px !important;
    padding-bottom: 60px !important;
}
.careers-benefits__intro {
    color: #1a1a2e;
    font-size: 1rem;
    font-weight: 500;
}
.careers-benefits__list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 12px 28px;
}
.careers-benefits__list li {
    position: relative;
    padding-left: 22px;
    color: #1a1a2e;
    font-size: 1rem;
    line-height: 1.5;
}
.careers-benefits__list li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 9px;
    width: 8px;
    height: 8px;
    background: var(--tosa-orange);
    border-radius: 50%;
}
.careers-benefits__img {
    display: block;
    width: 100%;
    height: auto;
    clip-path: none;
}
@media (max-width: 991.98px) {
    .careers-benefits__list { grid-template-columns: 1fr; }
}

/* Section 3 — How to Apply */
.careers-apply {
    background-color: #e6f4f8;
    background-image: url("/build/images/How%20to%20Apply-bg.496bac33.jpg");
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    position: relative;
    overflow: hidden;
    padding: 60px 0;
}
.careers-apply > .container-xl.py-5 {
    padding-top: 40px !important;
    padding-bottom: 40px !important;
}
.careers-apply__intro {
    color: #2a2a3a;
    line-height: 1.6;
    max-width: 760px;
    font-size: 1rem;
}
.careers-apply__row {
    box-shadow: 0 10px 30px rgba(30, 30, 60, 0.08);
}
.careers-apply__card {
    background: #fff;
    padding: 48px 40px 56px;
    min-height: 360px;
    height: 100%;
    position: relative;
    box-shadow: none;
    border-right: 1px solid #e0e3ed;
}
.careers-apply__row > [class*="col-"]:last-child .careers-apply__card {
    border-right: 0;
}
.careers-apply__step-pill {
    position: absolute;
    top: 24px;
    right: 24px;
    background: #b3e0d6;
    color: #005356;
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    padding: 4px 10px;
}
.careers-apply__icon {
    width: 80px;
    height: 80px;
    object-fit: contain;
    display: block;
    margin-bottom: 16px;
}
.careers-apply__bar {
    display: block;
    width: 40px;
    height: 2px;
    background: var(--tosa-blue);
    border-radius: 2px;
    filter: blur(7px);
    margin-bottom: 24px;
}
.careers-apply__title {
    color: var(--tosa-blue);
    font-size: 1.25rem;
    margin: 0 0 12px;
}
.careers-apply__text {
    color: #4a4a5e;
    line-height: 1.6;
    font-size: 0.95rem;
}
@media (max-width: 767.98px) {
    .careers-apply__card {
        border-right: 0;
        border-bottom: 1px solid #e0e3ed;
        min-height: 0;
        padding: 36px 28px 40px;
    }
    .careers-apply__row > [class*="col-"]:last-child .careers-apply__card {
        border-bottom: 0;
    }
}

/* Section 4 — Explore Opportunities */
.careers-jobs {
    background-color: var(--tosa-blue);
    background-image: url("/build/images/Explore%20Opportunities-bg.4d2f8122.jpg");
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    color: #fff;
}
.careers-jobs__intro {
    color: rgba(255, 255, 255, 0.92);
    line-height: 1.6;
    max-width: 760px;
    font-size: 1rem;
}
.careers-jobs__list {
    display: flex;
    flex-direction: column;
    gap: 20px;
    max-width: 1100px;
    margin: 0 auto;
}
.careers-jobs__card {
    background: #fff;
    padding: 24px 28px;
    display: flex;
    align-items: center;
    gap: 24px;
    flex-wrap: wrap;
}
.careers-jobs__icon {
    width: 96px;
    height: 96px;
    object-fit: contain;
    flex-shrink: 0;
}
.careers-jobs__body {
    flex: 1 1 320px;
    min-width: 0;
}
.careers-jobs__title {
    color: var(--tosa-blue);
    font-size: 1.2rem;
    margin: 0 0 8px;
}
.careers-jobs__desc {
    color: #2a2a3a;
    line-height: 1.55;
    font-size: 0.95rem;
}
.careers-jobs__apply {
    flex-shrink: 0;
}

.careers-jobs__more {
    margin-top: 56px;
}
.careers-jobs__more-title {
    color: #fff;
    font-size: clamp(1.5rem, 2.4vw, 2rem);
}
.careers-jobs__more-text {
    color: rgba(255, 255, 255, 0.92);
    line-height: 1.6;
    max-width: 880px;
    font-size: 1rem;
}
.careers-jobs__email {
    color: #fff;
    font-weight: 700;
    text-decoration: underline;
    text-underline-offset: 3px;
}
.careers-jobs__email:hover {
    color: var(--tosa-yellow);
}

/* Compact newsletter on the careers page — the previous .careers-jobs section
   is already heavy, so trim the shared newsletter's deep top padding. */
.careers-jobs + .newsletter {
    padding-top: 80px !important;
    padding-bottom: 60px !important;
}

@media (max-width: 767.98px) {
    .careers-jobs__card { flex-direction: column; align-items: flex-start; }
    .careers-jobs__apply { align-self: stretch; }
}

/* ── Candidate / Admin Login pages ───────────────────── */
.login-header {
    background: #fff;
    border-bottom: 1px solid #ececf3;
    padding: 0;
}
.login-header__inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
}
.login-header__logo {
    display: inline-block;
    line-height: 0;
}
.login-header__logo img {
    display: block;
}
/* The header switch button reuses the .cta-btn--orange visual. */
.login-header__actions {
    display: flex;
    align-items: center;
    gap: 16px;
}

/* Language switcher: minimal globe + locale code, no border/background.
   Dropdown lists the available locales with a small uppercase code +
   the language name. */
.login-header__lang {
    position: relative;
}
.login-header__lang-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 6px 8px;
    background: transparent;
    border: 0;
    color: #1a1a2e;
    font-size: 0.95rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    cursor: pointer;
    transition: color .15s;
}
.login-header__lang-btn i {
    font-size: 1.15rem;
    line-height: 1;
    color: #6b6b78;
    transition: color .15s;
}
.login-header__lang-btn:hover,
.login-header__lang-btn:focus,
.login-header__lang-btn[aria-expanded="true"] {
    color: var(--tosa-orange);
}
.login-header__lang-btn:hover i,
.login-header__lang-btn:focus i,
.login-header__lang-btn[aria-expanded="true"] i {
    color: var(--tosa-orange);
}
.login-header__lang-code {
    font-variant: small-caps;
}

.login-header__lang-menu {
    margin-top: 8px;
    border-radius: 0;
    padding: 4px 0;
    min-width: 200px;
    border: 1px solid #ececf3;
    box-shadow: 0 12px 28px rgba(20, 30, 60, 0.10);
}
.login-header__lang-item {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 16px;
    font-size: 0.92rem;
    color: #1a1a2e;
}
.login-header__lang-item:hover,
.login-header__lang-item:focus {
    background: #f7f8fe;
    color: #1a1a2e;
}
.login-header__lang-code-mini {
    display: inline-block;
    min-width: 28px;
    font-size: 0.78rem;
    font-weight: 700;
    color: #6b6b78;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}
.login-header__lang-item.is-active {
    background: #fff;
    color: var(--tosa-orange);
}
.login-header__lang-item.is-active .login-header__lang-code-mini {
    color: var(--tosa-orange);
}

.login-article {
    display: flex;
    flex-direction: row;
    min-height: calc(100vh - 80px);
    background: #fff;
}
.login-article__left {
    flex: 0 0 50%;
    max-width: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 40px 24px;
    background-color: #E6F3F9;
}
.login-article__right {
    flex: 0 0 50%;
    max-width: 50%;
    background-color: var(--tosa-light-blue);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    min-height: 320px;
}

.login-form {
    width: 100%;
    max-width: 420px;
    display: flex;
    flex-direction: column;
}
.login-form__title {
    font-size: clamp(1.625rem, 2.4vw, 2.125rem);
    color: var(--tosa-orange);
    font-weight: 500;
    margin: 0 0 28px;
    line-height: 1.15;
    white-space: nowrap;
}
.login-form__group {
    margin-bottom: 16px;
}
.login-form__group--password {
    position: relative;
}
.login-form__input {
    width: 100%;
    padding: 12px 16px;
    border: 1px solid #555559;
    border-radius: 6px;
    background: #fff;
    font-size: 1rem;
    line-height: 1.4;
}
.login-form__group--password .login-form__input {
    padding-right: 48px;
}
.login-form__input:focus {
    outline: 0;
    border-color: var(--tosa-blue);
    box-shadow: 0 0 0 .25rem rgba(13, 110, 253, 0.25);
}
.login-form__toggle {
    position: absolute;
    top: 50%;
    right: 12px;
    transform: translateY(-50%);
    background: transparent;
    border: 0;
    color: #555559;
    font-size: 1.2rem;
    line-height: 1;
    cursor: pointer;
    padding: 4px;
}
.login-form__toggle:hover { color: var(--tosa-orange); }

.login-form__remember {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 12px;
    font-size: 0.9rem;
    color: #1a1a2e;
}

.login-form__lostpassword,
.login-form__helplogin {
    display: block;
    color: #1a1a2e;
    text-decoration: underline;
    font-size: 0.85rem;
    text-align: center;
    margin-bottom: 6px;
}
.login-form__lostpassword:hover,
.login-form__helplogin:hover {
    color: var(--tosa-orange);
}

.login-form__submit {
    align-self: center;
    margin-top: 20px;
}
.login-article--candidate .login-form__submit {
    background: #D63D0A;
}

.login-form__error {
    color: var(--tosa-orange);
    font-size: 0.9rem;
    min-height: 1.2em;
    margin: 16px 0 0;
}

.login-form__success {
    color: #1c7c3c;
    font-size: 0.9rem;
    min-height: 1.2em;
    margin: 8px 0 0;
}

#lost-password-modal .login-form__error,
#lost-password-modal .login-form__success {
    margin-top: 8px;
    text-align: center;
}

@media (max-width: 991.98px) {
    .login-article {
        flex-direction: column;
        min-height: auto;
    }
    .login-article__left,
    .login-article__right {
        flex: 0 0 100%;
        max-width: 100%;
    }
    .login-article__right {
        order: -1;
        height: 220px;
    }
    .login-article__left {
        padding: 40px 24px 60px;
    }
}

/* ── Who We Are page ─────────────────────────────────── */
.section-title--inverse {
    color: #fff;
}

/* =====================================================================
   Sample Tests modal — positioning tests catalog opened from the menubar
   ===================================================================== */
.sample-tests-modal .modal-content {
    border: 0;
    border-radius: 0;
    overflow: hidden;
    /* Override Bootstrap's modal radius custom properties so the corners
       stay rectangular, consistent with the rest of the new design. */
    --bs-modal-border-radius: 0;
    --bs-modal-inner-border-radius: 0;
}
.sample-tests-modal .modal-header {
    border-bottom: 1px solid #eee;
    padding: 1.25rem 1.5rem;
}
.sample-tests-modal .modal-body {
    padding: 1.5rem;
}
.sample-tests-modal h6 {
    color: #555;
    letter-spacing: 0.06em;
}
.sample-tests-modal__item {
    width: 100%;
    background: transparent;
    border: 1px solid transparent;
    border-radius: 0;
    padding: 12px 8px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    cursor: pointer;
    transition: background-color 0.15s ease, border-color 0.15s ease, transform 0.15s ease;
    color: #1a1a1a;
}
.sample-tests-modal__item:hover,
.sample-tests-modal__item:focus-visible {
    background-color: #f7f7f7;
    border-color: var(--tosa-orange);
    transform: translateY(-1px);
    outline: none;
}
.sample-tests-modal__item.is-loading {
    opacity: 0.6;
    pointer-events: none;
}
.sample-tests-modal__icon {
    width: 70px;
    height: 70px;
    border-radius: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 12px;
}
.sample-tests-modal__icon img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}
.sample-tests-modal__icon i {
    font-size: 1.75rem;
    color: var(--tosa-blue);
}
.sample-tests-modal__title {
    font-size: 0.85rem;
    line-height: 1.2;
    font-weight: 500;
    text-align: center;
}

/* ──────────────────────────────────────────────────────────────────────
   FAQs page (templates/pages/faqs.html.twig)
   Light hero with title + search bar, followed by white accordion cards
   grouped by category. The active item gets a blue top accent.
   Prefix `fp` = "FAQs Page" — keeps it isolated from the dark `.faq`
   block reused inside online-store etc.
   ──────────────────────────────────────────────────────────────────── */
.fp-hero {
    /* Light banner (same palette as .lp-banner) so the hero stands out
       from the white content and the search bar pops. */
    background: #eaf3fb;
    border-bottom: 1px solid #dbe5ee;
    padding: 40px 0 32px;
    margin-bottom: 32px;
}
.fp-hero__title {
    font-size: clamp(1.75rem, 1.2rem + 2.4vw, 2.75rem);
    color: #0f172a;
}
.fp-hero__search {
    display: flex;
    align-items: stretch;
    gap: 0;
    max-width: 560px;
    margin: 8px auto 0;
    background: #fff;
    padding: 6px;
    box-shadow: 0 8px 24px rgba(15, 23, 42, .08);
}
.fp-hero__search-wrapper {
    position: relative;
    flex: 1;
}
.fp-hero__search-icon {
    position: absolute;
    left: 14px;
    top: 50%;
    transform: translateY(-50%);
    color: #6b7280;
    font-size: 0.95rem;
    pointer-events: none;
}
.fp-hero__search-input {
    width: 100%;
    border: 0;
    background: transparent;
    padding: 10px 14px 10px 38px;
    color: #0f172a;
    font-size: 0.95rem;
}
.fp-hero__search-input:focus {
    outline: none;
    box-shadow: none;
}
.fp-hero__search-input::placeholder {
    color: #9aa1ad;
}
.fp-hero__search-btn {
    border: 0;
    background: var(--tosa-orange);
    color: #fff;
    font-weight: 600;
    font-size: 0.95rem;
    padding: 0 28px;
    cursor: pointer;
    transition: background-color 0.15s ease;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    /* Top-right chamfer — matches the cta-btn / pack-checkout pattern. */
    clip-path: polygon(0 0, calc(100% - 14px) 0, 100% 14px, 100% 100%, 0 100%);
}
.fp-hero__search-btn-icon {
    width: 16px;
    height: 16px;
    object-fit: contain;
    /* The asset is dark by default — invert it so it reads on the orange bg. */
    filter: brightness(0) invert(1);
}
.fp-hero__search-btn:hover {
    background: #d83a04;
}

/* Accordion list */
.fp-list {
    background: #fff;
}
.fp-list__empty {
    padding: 48px 16px;
    font-size: 1rem;
}
.fp-cat {
    max-width: 880px;
    margin: 0 auto;
    padding-top: 32px;
}
.fp-cat__title {
    color: #0f172a;
    font-size: 1.25rem;
    margin-bottom: 16px;
    padding-left: 4px;
}

/* Each item: white card, soft border, hover lift, blue top accent when open */
.fp-item {
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 0;
    margin-bottom: 12px;
    overflow: hidden;
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
    /* Reset Bootstrap's accordion radius variables so first/last items
       don't pick up rounded corners from the default theme. */
    --bs-accordion-border-radius: 0;
    --bs-accordion-inner-border-radius: 0;
}
.fp-item:hover {
    border-color: #cbd5e1;
}
.fp-item:has(.fp-item__btn:not(.collapsed)) {
    border-color: var(--tosa-blue);
    box-shadow: 0 4px 18px rgba(69, 69, 219, 0.08);
}
/* Bootstrap removes top border between stacked items — we want every card
   independently bordered, so re-establish it. */
.fp-item:not(:first-of-type) {
    border-top: 1px solid #e5e7eb;
}
.fp-item:has(.fp-item__btn:not(.collapsed)):not(:first-of-type) {
    border-top: 1px solid var(--tosa-blue);
}

.fp-item__btn {
    background: #fff;
    color: #0f172a;
    font-weight: 600;
    font-size: 1rem;
    padding: 18px 56px 18px 22px;
    box-shadow: none;
    border-radius: 0;
    text-align: left;
    position: relative;
}
.fp-item__btn:not(.collapsed) {
    background: #fff;
    color: var(--tosa-blue);
    box-shadow: none;
}
.fp-item__btn:focus {
    box-shadow: none;
    border-color: transparent;
}
/* Replace Bootstrap's chevron with a + / − character in tosa orange. */
.fp-item__btn::after {
    background-image: none;
    content: "+";
    color: var(--tosa-orange);
    font-size: 1.5rem;
    font-weight: 400;
    line-height: 1;
    width: auto;
    height: auto;
    transform: none;
    transition: none;
    position: absolute;
    right: 22px;
    top: 50%;
    margin-top: -0.55rem;
}
.fp-item__btn:not(.collapsed)::after {
    content: "−"; /* U+2212 minus sign */
    background-image: none;
    transform: none;
}

.fp-item__a {
    color: #4b5563;
    padding: 0 22px 20px;
    line-height: 1.6;
    font-size: 0.95rem;
}
.fp-item__a a {
    color: var(--tosa-blue);
    text-decoration: underline;
}

@media (max-width: 575px) {
    .fp-hero__search {
        flex-direction: column;
        gap: 8px;
        background: transparent;
        padding: 0;
    }
    .fp-hero__search-wrapper {
        background: #fff;
        box-shadow: 0 8px 24px rgba(15, 23, 42, .08);
    }
    .fp-hero__search-btn {
        padding: 12px;
    }
}

/* FAQ — topic grid (the landing "sommaire") */
.fp-toc {
    max-width: 960px;
    margin: 0 auto;
    padding-top: 24px;
}
.fp-toc__intro {
    color: #6b7280;
    font-size: 1rem;
    margin-bottom: 28px;
}
.fp-toc__grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 16px;
}
.fp-toc__card {
    display: flex;
    align-items: center;
    gap: 16px;
    text-align: left;
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 0;
    padding: 20px 22px;
    cursor: pointer;
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.fp-toc__card:hover {
    border-color: var(--tosa-blue);
    box-shadow: 0 6px 20px rgba(69, 69, 219, 0.1);
}
.fp-toc__num {
    font-size: 1.4rem;
    font-weight: 700;
    color: var(--tosa-orange);
    line-height: 1;
    flex-shrink: 0;
}
.fp-toc__body {
    display: flex;
    flex-direction: column;
    gap: 4px;
    flex: 1;
    min-width: 0;
}
.fp-toc__card-title {
    color: #0f172a;
    font-weight: 600;
    font-size: 1rem;
    line-height: 1.3;
}
.fp-toc__count {
    color: #9aa1ad;
    font-size: 0.82rem;
}
.fp-toc__arrow {
    color: #cbd5e1;
    flex-shrink: 0;
    transition: color 0.15s ease, transform 0.15s ease;
}
.fp-toc__card:hover .fp-toc__arrow {
    color: var(--tosa-orange);
    transform: translateX(3px);
}

/* FAQ — section toolbar (back link + section selector) */
.fp-toolbar {
    max-width: 880px;
    margin: 0 auto 8px;
    padding-top: 24px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    flex-wrap: wrap;
}
.fp-toolbar__back {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: none;
    border: 0;
    padding: 8px 4px;
    color: var(--tosa-blue);
    font-weight: 600;
    font-size: 0.95rem;
    cursor: pointer;
}
.fp-toolbar__back:hover {
    color: var(--tosa-orange);
}
.fp-toolbar__selector {
    display: inline-flex;
    align-items: center;
    gap: 10px;
}
.fp-toolbar__label {
    color: #6b7280;
    font-size: 0.9rem;
    margin: 0;
}
.fp-toolbar__select {
    border: 1px solid #d1d5db;
    border-radius: 0;
    background: #fff;
    padding: 10px 14px;
    font-size: 0.95rem;
    color: #0f172a;
    cursor: pointer;
    min-width: 240px;
}
.fp-toolbar__select:focus {
    outline: none;
    border-color: var(--tosa-orange);
    box-shadow: 0 0 0 0.2rem rgba(241, 73, 16, 0.15);
}

/* FAQ — related links inside an answer */
.fp-item__links {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 20px;
    margin-top: 16px;
    padding-top: 14px;
    border-top: 1px solid #eef0f4;
}
/* Scoped under .fp-item__a to beat the generic `.fp-item__a a` blue rule. */
.fp-item__a .fp-item__link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: var(--tosa-orange);
    font-weight: 600;
    font-size: 0.9rem;
    text-decoration: none;
}
.fp-item__a .fp-item__link:hover {
    color: #d63d09;
    text-decoration: underline;
}
.fp-item__link .bi {
    font-size: 0.78rem;
}

/* [hidden] must win over Bootstrap's accordion/flex display values. */
.fp-toc[hidden],
.fp-toolbar[hidden],
.fp-cat[hidden],
.fp-item[hidden] {
    display: none !important;
}

@media (max-width: 575px) {
    .fp-toolbar,
    .fp-toolbar__selector {
        flex-direction: column;
        align-items: stretch;
    }
    .fp-toolbar__select {
        min-width: 0;
        width: 100%;
    }
}

/* ──────────────────────────────────────────────────────────────────────
   Score Checker modal (templates/modals/check_diploma.html.twig)
   Strict rectangular look — no border-radius anywhere — to match the
   FAQs page treatment.
   ──────────────────────────────────────────────────────────────────── */
.check-score-modal__content {
    border: 0;
    border-radius: 0;
    background: #fff;
    --bs-modal-border-radius: 0;
    --bs-modal-inner-border-radius: 0;
}
.check-score-modal__header {
    border-bottom: 1px solid #e5e7eb;
    border-radius: 0;
    padding: 20px 24px;
}
.check-score-modal__title {
    font-weight: 700;
    font-size: 1.25rem;
    color: #0f172a;
}
.check-score-modal__close {
    border-radius: 0;
}
.check-score-modal__body {
    padding: 24px;
}
.check-score-modal__intro {
    color: #4b5563;
    font-size: 0.95rem;
    margin: 0 0 20px;
}
.check-score-modal__form {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
}
.check-score-modal__field {
    display: flex;
    flex-direction: column;
    justify-content: flex-end; /* labels of unequal height: keep both inputs on the same line */
    gap: 6px;
}
.check-score-modal__label {
    font-size: 0.875rem;
    font-weight: 600;
    color: #0f172a;
}
.check-score-modal__input {
    border: 1px solid #d1d5db;
    background: #fff;
    color: #0f172a;
    padding: 10px 12px;
    font-size: 0.95rem;
    border-radius: 0;
    transition: border-color 0.15s ease;
}
.check-score-modal__input:focus {
    outline: none;
    border-color: var(--tosa-blue);
    box-shadow: none;
}
.check-score-modal__alert {
    margin-top: 18px;
    padding: 12px 14px;
    font-size: 0.9rem;
    border: 1px solid transparent;
    border-radius: 0;
}
.check-score-modal__alert--success {
    background: #ecfdf5;
    border-color: #34d399;
    color: #065f46;
    text-align: center;
}
.check-score-modal__alert--error {
    background: #fef2f2;
    border-color: #fca5a5;
    color: #991b1b;
}
.check-score-modal__alert a {
    color: inherit;
    text-decoration: underline;
}
.check-score-modal__badge-wrap {
    text-align: center;
    margin-top: 18px;
}
.check-score-modal__badge {
    max-width: 100%;
    width: auto;
    height: auto;
    max-height: 320px;
    display: inline-block;
}
.check-score-modal__footer {
    border-top: 1px solid #e5e7eb;
    border-radius: 0;
    padding: 16px 24px;
    gap: 12px;
}
.check-score-modal__btn {
    border: 0;
    padding: 10px 22px;
    font-weight: 600;
    font-size: 0.9rem;
    cursor: pointer;
    border-radius: 0;
    transition: background-color 0.15s ease;
    display: inline-flex;
    align-items: center;
}
.check-score-modal__btn--ghost {
    background: transparent;
    color: #4b5563;
    border: 1px solid #d1d5db;
}
.check-score-modal__btn--ghost:hover {
    background: #f3f4f6;
}
.check-score-modal__btn--orange {
    background: var(--tosa-orange);
    color: #fff;
    /* Top-right chamfer to match the FAQs Search button + the other CTAs. */
    clip-path: polygon(0 0, calc(100% - 14px) 0, 100% 14px, 100% 100%, 0 100%);
}
.check-score-modal__btn--orange:hover {
    background: #d83a04;
}
.check-score-modal__btn:disabled {
    opacity: 0.7;
    cursor: not-allowed;
}

@media (max-width: 575px) {
    .check-score-modal__form {
        grid-template-columns: 1fr;
    }
}

/* ──────────────────────────────────────────────────────────────────────
   Legal pages — Privacy Policy + Terms of Service
   (templates/pages/privacy_policy.html.twig + terms_of_service.html.twig)
   Banner top, single-column long-form content. Strict rectangular look —
   no border-radius — to match the FAQs / Score Checker treatment.
   Prefix `lp` = Legal Page.
   ──────────────────────────────────────────────────────────────────── */
.lp-banner {
    position: relative;
    background: #eaf3fb;
    border-bottom: 1px solid #dbe5ee;
    padding: 56px 0;
}
.lp-banner__inner {
    position: relative;
    z-index: 1;
}
.lp-banner__title {
    color: #1a1a2e;
    font-size: clamp(2rem, 1.4rem + 2.4vw, 3rem);
    margin: 0;
}
.lp-banner__subtitle {
    color: #5b6478;
    font-size: 0.95rem;
    margin: 12px 0 0;
}

.lp-content {
    background: #fff;
}
.lp-article {
    max-width: 880px;
    margin: 0 auto;
    color: #1f2937;
    line-height: 1.7;
    font-size: 1rem;
}
.lp-article p {
    margin: 0 0 16px;
}
.lp-article a {
    color: var(--tosa-orange);
    text-decoration: underline;
}
.lp-article a:hover {
    color: #d63d09;
}
.lp-article__lede {
    font-size: 1.05rem;
    color: #374151;
    margin-bottom: 28px;
}
.lp-article__h2 {
    color: var(--tosa-blue);
    font-size: 1.5rem;
    font-weight: 700;
    margin: 40px 0 16px;
    padding-bottom: 8px;
    border-bottom: 2px solid var(--tosa-blue);
    border-radius: 0;
    scroll-margin-top: 100px;
}
.lp-article__h3 {
    color: #0f172a;
    font-size: 1.2rem;
    font-weight: 700;
    margin: 28px 0 12px;
    text-decoration: underline;
    text-decoration-thickness: 2px;
    text-underline-offset: 4px;
}
.lp-article__h4 {
    color: var(--tosa-orange);
    font-size: 1rem;
    font-weight: 700;
    margin: 22px 0 10px;
    text-transform: none;
    letter-spacing: 0;
}
.lp-article__list {
    margin: 0 0 18px;
    padding-left: 22px;
}
.lp-article__list li {
    margin-bottom: 8px;
}
.lp-article__list li::marker {
    color: var(--tosa-orange);
}
.lp-article__contact {
    margin-top: 40px;
    padding: 18px 22px;
    background: #f4f5f9;
    border-left: 4px solid var(--tosa-orange);
    border-radius: 0;
    color: #374151;
}
/* Inline note / caveat callout (e.g. "Mac users…", "Adobe web app…"). */
.lp-article__note {
    margin: 8px 0 24px;
    padding: 14px 18px;
    background: #eaf3fb;
    border-left: 4px solid var(--tosa-blue);
    color: #374151;
    font-style: italic;
}

/* Tables (data category breakdown in Privacy Policy). */
.lp-article__table-wrap {
    overflow-x: auto;
    margin: 8px 0 24px;
}
.lp-article__table {
    width: 100%;
    border-collapse: collapse;
    border-radius: 0;
    background: #fff;
}
.lp-article__table th,
.lp-article__table td {
    border: 1px solid #d1d5db;
    padding: 12px 14px;
    text-align: left;
    vertical-align: top;
    font-size: 0.95rem;
}
.lp-article__table thead th {
    background: var(--tosa-blue);
    color: #fff;
    font-weight: 700;
}
.lp-article__table tbody tr:nth-child(even) {
    background: #f8fafc;
}

.lp-article code {
    color: inherit;
    background: #f1f5f9;
    padding: 0.1em 0.4em;
    border-radius: 4px;
    font-size: 0.875em;
}

/* ──────────────────────────────────────────────────────────────────────
   API error banner — used by online-store + certification when the Isograd
   API is down. The "Email Support" CTA opens a pre-filled mailto so the
   support team gets the failing act_id, params and exception in one click.
   Rectangular, no border-radius.
   ──────────────────────────────────────────────────────────────────── */
.api-error-banner {
    display: flex;
    align-items: flex-start;
    gap: 16px;
    background: #fff7ed;
    border: 1px solid var(--tosa-orange);
    border-left-width: 6px;
    border-radius: 0;
    padding: 18px 22px;
    margin: 0 auto 24px;
    max-width: 980px;
    color: #1f2937;
}
.api-error-banner__icon {
    color: var(--tosa-orange);
    font-size: 1.5rem;
    line-height: 1;
    padding-top: 2px;
    flex-shrink: 0;
}
.api-error-banner__body {
    flex: 1 1 auto;
    min-width: 0;
}
.api-error-banner__title {
    color: #1a1a2e;
    font-size: 1.05rem;
    font-weight: 700;
    margin: 0 0 4px;
}
.api-error-banner__text {
    color: #4b5563;
    font-size: 0.95rem;
    line-height: 1.5;
}
.api-error-banner__details {
    color: #6b7280;
    font-size: 0.85rem;
}
.api-error-banner__details summary {
    cursor: pointer;
    color: var(--tosa-blue);
    font-weight: 500;
}
.api-error-banner__details summary:hover {
    text-decoration: underline;
}
.api-error-banner__params {
    list-style: none;
    padding: 10px 12px;
    margin: 0;
    background: #fff;
    border: 1px solid #fed7aa;
    border-radius: 0;
    font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
    font-size: 0.8rem;
    word-break: break-all;
}
.api-error-banner__params li {
    margin-bottom: 4px;
}
.api-error-banner__params li:last-child {
    margin-bottom: 0;
}
.api-error-banner__params code {
    color: #0f172a;
    background: #f3f4f6;
    padding: 1px 4px;
}
.api-error-banner__cta {
    flex-shrink: 0;
}
.api-error-banner__btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: var(--tosa-orange);
    color: #fff;
    border: 0;
    padding: 10px 18px;
    font-weight: 600;
    font-size: 0.9rem;
    text-decoration: none;
    border-radius: 0;
    transition: background-color 0.15s ease;
    /* Top-right chamfer matching the other CTAs. */
    clip-path: polygon(0 0, calc(100% - 14px) 0, 100% 14px, 100% 100%, 0 100%);
}
.api-error-banner__btn:hover {
    background: #d83a04;
    color: #fff;
}

@media (max-width: 575px) {
    .api-error-banner {
        flex-direction: column;
        align-items: stretch;
    }
    .api-error-banner__cta {
        align-self: flex-start;
    }
}

/* ──────────────────────────────────────────────────────────────────────
   Checkout signup modal (templates/modals/checkout_signup.html.twig)
   Two columns: Sign up (left) + Sign in (right). Rectangular layout
   to match the FAQs / Score Checker / API banner treatment.
   ──────────────────────────────────────────────────────────────────── */
.checkout-modal__content {
    border: 0;
    border-radius: 0;
    background: #fff;
    --bs-modal-border-radius: 0;
    --bs-modal-inner-border-radius: 0;
}
.checkout-modal__header {
    border-bottom: 1px solid #e5e7eb;
    padding: 20px 24px;
    border-radius: 0;
}
.checkout-modal__title {
    font-weight: 700;
    font-size: 1.25rem;
    color: #0f172a;
}
.checkout-modal__close {
    border-radius: 0;
}
.checkout-modal__body {
    padding: 28px 32px 32px;
}
.checkout-modal__intro {
    color: #4b5563;
    font-size: 0.95rem;
    text-align: center;
    margin: 0 auto 24px;
    max-width: 640px;
}
.checkout-modal__cols {
    border: 1px solid #e5e7eb;
    border-radius: 0;
}
.checkout-modal__col {
    padding: 28px;
}
.checkout-modal__col + .checkout-modal__col--right {
    border-left: 1px solid #e5e7eb;
}
.checkout-modal__col-title {
    color: #0f172a;
    font-size: 1.15rem;
    font-weight: 700;
    margin: 0 0 6px;
}
.checkout-modal__col-intro {
    color: #6b7280;
    font-size: 0.9rem;
    margin: 0 0 18px;
}
.checkout-modal__form {
    display: flex;
    flex-direction: column;
}
.checkout-modal__label {
    font-size: 0.8rem;
    font-weight: 600;
    color: #374151;
    margin-bottom: 4px;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}
.checkout-modal__password {
    position: relative;
}
.checkout-modal__password .checkout-modal__input {
    padding-right: 42px;
}
.checkout-modal__password-toggle {
    position: absolute;
    top: 50%;
    right: 8px;
    transform: translateY(-50%);
    border: none;
    background: transparent;
    color: #6b7280;
    padding: 4px 8px;
    cursor: pointer;
    line-height: 1;
}
.checkout-modal__password-toggle:hover {
    color: #0f172a;
}
.checkout-modal__input {
    border: 1px solid #d1d5db;
    background: #fff;
    color: #0f172a;
    padding: 10px 12px;
    font-size: 0.95rem;
    border-radius: 0;
    transition: border-color 0.15s ease;
    width: 100%;
}
.checkout-modal__input:focus {
    outline: none;
    border-color: var(--tosa-blue);
    box-shadow: none;
}
.checkout-modal__link {
    color: var(--tosa-blue);
    text-decoration: none;
    align-self: flex-start;
}
.checkout-modal__link:hover {
    text-decoration: underline;
}
.checkout-modal__link--right {
    align-self: flex-end;
}
.checkout-modal__submit-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 12px 22px;
    border-radius: 0;
    border: 0;
    cursor: pointer;
    font-weight: 600;
    font-size: 0.95rem;
    transition: background-color 0.15s ease;
}
.checkout-modal__submit-btn--orange {
    background: var(--tosa-orange);
    color: #fff;
    /* Top-right chamfer matching the rest of the CTAs. */
    clip-path: polygon(0 0, calc(100% - 14px) 0, 100% 14px, 100% 100%, 0 100%);
}
.checkout-modal__submit-btn--orange:hover {
    background: #d83a04;
}
.checkout-modal__submit-btn--ghost {
    background: transparent;
    color: var(--tosa-blue);
    border: 1px solid var(--tosa-blue);
}
.checkout-modal__submit-btn--ghost:hover {
    background: #f0f3ff;
}
.checkout-modal__candidate-link {
    margin-top: 16px;
    font-size: 0.85rem;
    color: #6b7280;
}
.checkout-modal__candidate-link a {
    color: var(--tosa-blue);
    text-decoration: underline;
}

/* Inline status banner (success / error / info) shown under the two
   columns when the user submits the sign-up or sign-in form. */
.checkout-modal__alert {
    margin-top: 18px;
    padding: 12px 16px;
    font-size: 0.9rem;
    line-height: 1.5;
    border: 1px solid transparent;
    border-radius: 0;
    border-left-width: 4px;
}
.checkout-modal__alert--error {
    background: #fef2f2;
    border-color: #fca5a5;
    color: #991b1b;
}
.checkout-modal__alert--info {
    background: #eff6ff;
    border-color: #93c5fd;
    color: #1e3a8a;
}
.checkout-modal__alert--success {
    background: #ecfdf5;
    border-color: #34d399;
    color: #065f46;
}
.checkout-modal__alert a {
    color: inherit;
    text-decoration: underline;
}

@media (max-width: 767px) {
    .checkout-modal__col + .checkout-modal__col--right {
        border-left: 0;
        border-top: 1px solid #e5e7eb;
    }
    .checkout-modal__body {
        padding: 20px;
    }
}

/* ──────────────────────────────────────────────────────────────────────
   Bundle pages (Google Workspace / Microsoft Office / Adobe Graphic /
   Adobe Visual). One template, 4 themes — banner color is set inline
   from the controller config so we don't need 4 nearly-identical
   stylesheets. Per-theme accents (cert card band) live below.
   ──────────────────────────────────────────────────────────────────── */
.bundle__banner {
    padding: 56px clamp(16px, 4vw, 64px);
}
.bundle__title {
    color: #0f172a;
    font-size: clamp(1.75rem, 1.2rem + 2.4vw, 2.75rem);
    margin: 0;
}
.bundle__banner-logo {
    max-width: 280px;
    width: 100%;
    height: auto;
    display: inline-block;
}

/* 2-col layout: sticky sidebar + scrollable main */
.bundle-page {
    background-image: url(/build/images/bg-01.f480dd6c.jpg);
    background-repeat: no-repeat;
    background-position: top center;
    background-size: cover;
    background-attachment: fixed;
}
/* Full-width container scoped to bundle pages only — leaves the global
   .container-xl untouched (header, footer, other pages keep 1140px). */
.bundle-page .container-xl {
    max-width: 100%;
    padding-left: clamp(16px, 4vw, 64px);
    padding-right: clamp(16px, 4vw, 64px);
}
.bundle-page__main {
    min-width: 0;
    padding-bottom: 32px;
}

.bundle-side {
    position: sticky;
    top: 88px;
    display: flex;
    flex-direction: column;
    gap: 20px;
    padding-bottom: 32px;
}

.bundle-side__card {
    background: #fff;
    border-radius: 0;
    box-shadow: 0 4px 18px rgba(30, 30, 60, 0.06);
    padding: 22px 24px;
}

.bundle-side__card-title {
    color: var(--tosa-blue);
    font-size: 1.25rem;
    font-weight: 700;
    margin: 0 0 12px;
    padding-bottom: 10px;
    border-bottom: 1px solid #e3e4ef;
}

.bundle-side__link-list,
.bundle-side__bullet-list {
    list-style: none;
    padding: 0;
    margin: 0;
}
.bundle-side__link-list li,
.bundle-side__bullet-list li {
    position: relative;
    padding: 6px 0 6px 20px;
    font-size: 0.95rem;
    line-height: 1.45;
}
.bundle-side__link-list li::before,
.bundle-side__bullet-list li::before {
    content: "›";
    position: absolute;
    left: 0;
    top: 5px;
    color: var(--tosa-blue);
    font-weight: 700;
    font-size: 1.1rem;
}
.bundle-side__link-list a {
    color: var(--tosa-orange);
    text-decoration: underline;
    text-underline-offset: 3px;
}
.bundle-side__link-list a:hover { color: #d63d09; }

.bundle-side__sub-list {
    list-style: none;
    padding: 0;
    margin: 4px 0 0;
}
.bundle-side__sub-list li {
    position: relative;
    padding: 2px 0 2px 14px;
    font-size: 0.9rem;
    color: #4b5563;
}
.bundle-side__sub-list li::before {
    content: "•";
    position: absolute;
    left: 2px;
    top: 1px;
    color: var(--tosa-orange);
    font-size: 0.85rem;
}

.bundle-side__lang-pills {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}
.bundle-side__lang-pill {
    border: 1px solid #d9dae6;
    border-radius: 6px;
    padding: 6px 14px;
    font-size: 0.9rem;
    background: #fff;
}

/* .cta-btn is nowrap by default — wrap long labels inside the narrow sidebar column. */
.bundle-side__cta {
    align-self: flex-start;
    max-width: 100%;
    white-space: normal;
    text-align: left;
}


@media (max-width: 991.98px) {
    .bundle-side {
        position: static;
        margin-bottom: 32px;
    }
    .bundle-page__main {
        max-height: none;
        overflow: visible;
        padding-right: 0;
    }
}

/* Validate Mastery */
.bundle-mastery { background: #fff; }
.bundle-mastery__title {
    color: #1a1a1a;
    font-size: clamp(2rem, 3.5vw, 2.75rem);
    line-height: 1.15;
}
.bundle-mastery__intro {
    color: #4b5563;
    line-height: 1.6;
    max-width: 100%;
}
.bundle-product {
    background: #fff;
    border: none;
    border-radius: 0;
    box-shadow: 0 4px 18px rgba(30, 30, 60, 0.08);
    padding: 32px 24px;
    text-align: center;
    height: 100%;
}
.bundle-product__icon {
    width: 64px;
    height: 64px;
    margin: 0 auto 16px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.bundle-product__icon img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}
.bundle-product__name {
    color: #0f172a;
    font-size: 1.1rem;
    margin: 0 0 12px;
}
.bundle-product__link {
    color: var(--tosa-orange);
    font-weight: 600;
    text-decoration: none;
    font-size: 0.9rem;
}
.bundle-product__link:hover { text-decoration: underline; }

/* Credential Requirements */
.bundle-reqs { background: #f8fafc; }
.bundle-reqs__title {
    color: #1a1a1a;
    font-size: clamp(2rem, 3.5vw, 2.75rem);
    line-height: 1.15;
}
.bundle-reqs__intro {
    color: #4b5563;
    line-height: 1.6;
    max-width: 820px;
}
.bundle-reqs__tier-title {
    color: #0f172a;
    font-size: 1.15rem;
    font-weight: 700;
    margin: 0 0 12px;
    padding-bottom: 8px;
    border-bottom: 2px solid var(--tosa-orange);
    border-radius: 0;
}
.bundle-reqs__list {
    list-style: none;
    padding: 0;
    margin: 0;
    color: #374151;
    font-size: 0.95rem;
    line-height: 1.7;
}
.bundle-reqs__list li {
    padding-left: 16px;
    position: relative;
}
.bundle-reqs__list li::before {
    content: '›';
    color: var(--tosa-orange);
    position: absolute;
    left: 0;
    font-weight: 700;
}

/* Level summary cards (Experienced + Professional with animated icons) */
.bundle-levels {
    display: flex;
    flex-direction: column;
    gap: 16px;
}
.bundle-levels__card {
    display: grid;
    grid-template-columns: 80px 1fr;
    gap: 18px;
    align-items: center;
    background: #fff;
    box-shadow: 0 4px 18px rgba(30, 30, 60, 0.06);
    padding: 20px 24px;
}
.bundle-levels__icon {
    width: 64px;
    height: 64px;
    object-fit: contain;
}
.bundle-levels__title {
    color: var(--tosa-blue);
    font-size: 1.25rem;
    margin: 0 0 6px;
}
.bundle-levels__text {
    color: #4b5563;
    font-size: 0.95rem;
    line-height: 1.5;
}

/* Cert cards (Experienced + Professional) */
.bundle-cert { background: #fff; }
.bundle-cert--experienced { background: #f8fafc; }
.bundle-cert__heading {
    color: var(--tosa-blue);
    font-size: 1.4rem;
}
.bundle-cert__intro {
    color: #4b5563;
    line-height: 1.6;
    max-width: 820px;
}
.bundle-cert__card {
    max-width: 540px;
    margin: 24px auto 0;
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 0;
}
.bundle-cert__sample {
    display: block;
    max-width: 100%;
    height: auto;
    margin: 24px auto 0;
    box-shadow: 0 6px 24px rgba(30, 30, 60, 0.08);
}
.bundle-cert__card-band {
    background: var(--tosa-blue);
    color: #fff;
    padding: 14px 24px;
    font-weight: 700;
    text-align: center;
    font-size: 0.95rem;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}
.bundle-cert__card-band--pro {
    background: var(--tosa-orange);
}
.bundle-cert__card-body {
    padding: 36px 24px;
    text-align: center;
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.bundle-cert__card-name {
    color: #0f172a;
    font-size: 1.4rem;
}
.bundle-cert__card-tier {
    color: #6b7280;
    font-size: 0.95rem;
    text-transform: uppercase;
    letter-spacing: 0.06em;
}

/* Skills Badges with Credly */
.bundle-badges { background: #fff; }
.bundle-badges__title {
    color: var(--tosa-blue);
    font-size: 1.5rem;
}
.bundle-badges__intro {
    color: #4b5563;
    line-height: 1.6;
    max-width: 820px;
}
.bundle-badge {
    background: transparent;
    border: none;
    border-radius: 0;
    box-shadow: none;
    padding: 24px 22px;
    height: 100%;
    display: flex;
    align-items: center;
    gap: 20px;
}
.bundle-badge__link {
    display: block;
    height: 100%;
    text-decoration: none;
    color: inherit;
}
.bundle-badge__link:hover .bundle-badge__label {
    text-decoration: underline;
}
.bundle-badge__img {
    flex-shrink: 0;
    width: 96px;
    height: 96px;
    object-fit: contain;
}
.bundle-badge__label {
    margin: 0;
    color: var(--tosa-orange);
    font-size: 1.05rem;
    line-height: 1.3;
}

/* Stackable Credentials */
.bundle-stack__title {
    color: #1a1a1a;
    font-size: clamp(2rem, 3.5vw, 2.75rem);
    line-height: 1.15;
}
.bundle-stack__intro {
    color: #4b5563;
    line-height: 1.6;
    max-width: 820px;
}
.bundle-stack__img {
    display: block;
    width: 100%;
    max-width: 940px;
    height: auto;
    margin: 0 auto;
}

/* Aligned Occupations */
.bundle-jobs__title {
    color: #1a1a1a;
    font-size: clamp(2rem, 3.5vw, 2.75rem);
    line-height: 1.15;
}
.bundle-jobs__list {
    list-style: none;
    padding: 0;
    margin: 0;
    columns: 2;
    column-gap: 48px;
}
.bundle-jobs__list li {
    position: relative;
    padding: 8px 0 8px 24px;
    font-size: 0.95rem;
    color: #1f2937;
    break-inside: avoid;
}
.bundle-jobs__list li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 14px;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: var(--tosa-orange);
}
.bundle-jobs__footer {
    display: grid;
    grid-template-columns: 1fr 1fr;
    column-gap: 48px;
    align-items: center;
    margin-top: 32px;
}
.bundle-jobs__footer .cta-btn { margin: 0; }

.bundle-jobs__ce-link {
    justify-self: start;
    color: var(--tosa-orange);
    font-weight: 600;
    text-decoration: underline;
    text-underline-offset: 3px;
}
.bundle-jobs__ce-link:hover { color: #d63d09; }
.bundle-jobs__credential {
    max-width: 220px;
    width: auto;
    height: auto;
    object-fit: contain;
    justify-self: start;
}
@media (max-width: 575.98px) {
    .bundle-jobs__footer { grid-template-columns: 1fr; row-gap: 16px; }
    .bundle-jobs__credential { justify-self: center; }
}
@media (max-width: 575.98px) {
    .bundle-jobs__list { columns: 1; }
}

/* Ready to Start Certifying — reuses sections/cert_ready.html.twig */

/* Compact newsletter on bundle pages — overrides the global py-5 padding
   and the inner container's py-5 + mb-5 spacing without touching the
   shared sections/newsletter.html.twig template. */
.bundle-newsletter-wrap .newsletter {
    padding-top: 2rem;
    padding-bottom: 2rem;
}
.bundle-newsletter-wrap .newsletter > .container-xl {
    padding-top: 0;
    padding-bottom: 0;
}
.bundle-newsletter-wrap .newsletter .text-center.mb-5 {
    margin-bottom: 1.5rem !important;
}

:root {
    --fs-card-title: 1.5rem;
    --fs-card-text: 1.0625rem;
    --fs-card-label: 0.95rem;
}

.serve-card__title,
.platform-feature__title,
.why-card__title,
.cert-unique__title,
.cert-ready__title,
.expertise-card__title,
.deliver-card__title,
.he-features__title {
    font-size: var(--fs-card-title);
    line-height: 1.25;
}

.platform-feature__text,
.why-card__text,
.cert-unique__desc,
.cert-ready__text,
.he-features__text {
    font-size: var(--fs-card-text);
}

.certify-card__label,
.cert-offerings__app-name {
    font-size: var(--fs-card-label);
}

/* ── Application-requirements modal (shared: ILL course selector + Online Store e-learning packs) ── */
.cw-modal__content {
    border: 0;
    border-radius: 12px;
    overflow: hidden;
}
.cw-modal__header {
    background: var(--tosa-teal);
    color: #fff;
    align-items: flex-start;
    border-bottom: 0;
    padding: 20px 24px;
}
.cw-modal__eyebrow {
    font-size: 0.78rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: rgba(255, 255, 255, 0.75);
    margin-bottom: 2px;
}
.cw-modal__title {
    color: #fff;
    font-weight: 700;
    font-size: 1.3rem;
    margin: 0;
}
.cw-modal__close { margin: 0; }

.cw-modal__body { padding: 24px; }
.cw-modal__lead {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    margin-bottom: 22px;
}
.cw-modal__lead-icon {
    width: 40px;
    height: 40px;
    object-fit: contain;
    flex: 0 0 auto;
}
.cw-modal__intro {
    color: #2d2d3a;
    line-height: 1.5;
}
.cw-modal__app { font-weight: 700; }

.cw-modal__subhead {
    color: var(--tosa-teal);
    font-weight: 700;
    font-size: 0.95rem;
    margin: 20px 0 10px;
}
.cw-modal__reqs {
    list-style: disc;
    background: #f1f3f4;
    border-radius: 8px;
    margin: 0;
    padding: 14px 20px 14px 38px;
    color: #2d2d3a;
}
.cw-modal__reqs li { margin-bottom: 4px; line-height: 1.45; }
.cw-modal__reqs li:last-child { margin-bottom: 0; }

.cw-modal__steps {
    list-style: none;
    counter-reset: cw-step;
    padding: 0;
    margin: 0;
}
.cw-modal__steps li {
    counter-increment: cw-step;
    position: relative;
    padding-left: 40px;
    margin-bottom: 12px;
    min-height: 26px;
    line-height: 1.45;
    color: #2d2d3a;
}
.cw-modal__steps li:last-child { margin-bottom: 0; }
.cw-modal__steps li::before {
    content: counter(cw-step);
    position: absolute;
    left: 0;
    top: 0;
    width: 26px;
    height: 26px;
    border-radius: 50%;
    background: var(--tosa-teal);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.8rem;
    font-weight: 700;
}
.cw-modal__note {
    background: #e8f4f4;
    border: 1px solid #bfe0e0;
    border-radius: 8px;
    padding: 12px 16px;
    font-size: 0.85rem;
    color: #2a4a4a;
    line-height: 1.45;
    margin-top: 16px;
}
.cw-modal__help {
    font-size: 0.85rem;
    color: #6a6a78;
    margin: 20px 0 0;
}
.cw-modal__help a { color: var(--tosa-teal); }

.cw-modal__footer {
    flex-direction: column;
    align-items: stretch;
    gap: 16px;
    background: #f7f8f9;
    border-top: 1px solid #e3e6e8;
    padding: 18px 24px;
}
.cw-modal__confirm {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    font-size: 0.85rem;
    color: #2d2d3a;
    line-height: 1.4;
    margin: 0;
    cursor: pointer;
}
.cw-modal__confirm input { margin-top: 2px; flex: 0 0 auto; }
.cw-modal__actions {
    display: flex;
    justify-content: flex-end;
    gap: 12px;
}
.cw-modal__btn {
    border: 0;
    border-radius: 4px;
    padding: 10px 22px;
    font-weight: 600;
    font-size: 0.92rem;
    text-decoration: none;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    transition: opacity 0.18s ease, background 0.18s ease;
}
.cw-modal__btn--ghost { background: #0c2a2b; color: #fff; }
.cw-modal__btn--ghost:hover { background: #082020; color: #fff; }
.cw-modal__btn--orange { background: var(--tosa-orange); color: #fff; }
.cw-modal__btn--orange:hover { background: #d63f0c; color: #fff; }
.cw-modal__btn.is-disabled {
    opacity: 0.45;
    pointer-events: none;
}

@media (min-width: 576px) {
    .cw-modal__footer { flex-direction: row; align-items: center; justify-content: space-between; }
    .cw-modal__confirm { max-width: 60%; }
}

@media (min-width: 992px) and (max-width: 1479.98px) {
    .cert-testing-center__body {
        padding: 60px 48px;
    }
    .he-banner::after {
        background: linear-gradient(90deg, rgba(255,255,255,0.95) 0%, rgba(255,255,255,0.88) 45%, rgba(255,255,255,0.55) 65%, rgba(255,255,255,0) 82%);
    }
    .navbar .navbar-brand {
        margin-right: 0.75rem !important;
    }
    .navbar .navbar-brand img {
        height: 28px;
    }
    .navbar .navbar-nav .nav-link,
    .navbar .navbar-nav .menubar__link {
        padding: 1.5rem 0.6rem;
        font-size: 0.875rem;
        white-space: nowrap;
    }
    .menubar__actions {
        min-width: 0;
    }
    .menubar__search {
        width: auto;
        flex: 1 1 120px;
        min-width: 90px;
        max-width: 180px;
    }
    .menubar__cta-btn {
        padding: 10px 14px;
        font-size: 0.8125rem;
    }
    .menubar__actions .login-header__lang-btn {
        padding: 6px 4px;
        gap: 6px;
    }
}

@media (min-width: 1200px) and (max-width: 1699.98px) {
    .navbar .navbar-brand {
        margin-right: 0.75rem !important;
    }
    .navbar .navbar-brand img {
        height: 28px;
    }
    .navbar .navbar-nav .nav-link,
    .navbar .navbar-nav .menubar__link {
        padding: 1.5rem 0.5rem;
        font-size: 0.875rem;
        white-space: nowrap;
    }
    .menubar__actions {
        min-width: 0;
        gap: 0.75rem !important;
    }
    .menubar__search {
        width: auto;
        flex: 1 1 120px;
        min-width: 90px;
        max-width: 180px;
    }
    .menubar__cta-btn {
        padding: 10px 12px;
        font-size: 0.78125rem;
    }
    .menubar__actions .login-header__lang-btn {
        padding: 6px 4px;
        gap: 6px;
    }
}

@media (min-width: 992px) and (max-width: 1299.98px) {
    .navbar .container-xl {
        padding-left: 12px !important;
        padding-right: 12px !important;
    }
    .navbar .navbar-brand {
        margin-right: 0.25rem !important;
    }
    .navbar .navbar-brand img {
        height: 22px;
    }
    .navbar .navbar-nav {
        gap: 0 !important;
    }
    .navbar .navbar-nav .nav-link,
    .navbar .navbar-nav .menubar__link {
        padding: 1.5rem 0.25rem;
        font-size: 0.78rem;
    }
    .menubar__actions {
        min-width: 0;
        gap: 0.375rem !important;
    }
    .menubar__search {
        width: auto;
        flex: 1 1 70px;
        min-width: 70px;
        max-width: 140px;
    }
    .menubar__cta-btn {
        padding: 10px 6px;
        font-size: 0.78125rem;
        gap: 4px;
    }
    .menubar__actions .login-header__lang-code {
        display: none;
    }
}

/* ── Mobile fixes ─────────────────────────────────────────────── */
@media (max-width: 991.98px) {
    body {
        overflow-x: clip;
    }
    .row.g-5 {
        --bs-gutter-x: 2rem;
    }
    .cta-btn {
        white-space: normal;
        max-width: 100%;
    }
    .cert-testimonial__vector {
        display: none;
    }
    .he-s5 .he-s5__card {
        max-height: none;
    }
    .he-s4__video {
        height: auto;
        aspect-ratio: 16 / 9;
    }
    .he-banner {
        height: 300px;
    }
    .he-cta__body {
        padding: 32px 24px;
    }
    .cert-entry__body,
    .cert-entry--reverse .cert-entry__body {
        padding: 0 24px 32px;
    }
    .cert-unique__vector {
        display: none;
    }
    .cert-unique__card-inner {
        padding: 40px 32px;
    }
    .cert-offerings__tabs {
        gap: 12px;
    }
    .cert-offerings__tabs .nav-item {
        flex: 1 1 calc(50% - 6px);
    }
    .cert-offerings__tabs .nav-link {
        padding: 12px 8px;
        gap: 4px;
        border-radius: 10px;
    }
    .cert-offerings__tab-logo {
        height: 48px;
    }
    .cert-offerings__tab-chevron {
        display: none;
    }
    .cert-offerings__tabs .nav-link.active::after {
        display: none;
    }
    .cert-testing-center__row {
        min-height: 0;
    }
    .cert-testing-center__media {
        min-height: 0;
        aspect-ratio: 956 / 722;
        background-size: contain;
        background-position: center;
    }
    .cert-testing-center__body {
        padding: 40px 24px 56px;
    }
    .be-hero {
        aspect-ratio: auto;
        max-height: none;
    }
    .be-hero__inner {
        padding-top: 48px;
        padding-bottom: 48px;
    }
}

@media (max-width: 767.98px) {
    .beyond-diploma__image-wrapper {
        display: block;
    }
    .beyond-diploma__image {
        width: 100%;
        height: 480px;
    }
    .beyond-diploma__stat-card {
        right: 8px;
        bottom: 75px;
    }
    .cert-offerings__card {
        padding: 32px 24px;
    }
    .cert-offerings__logo-item img {
        max-width: 100%;
        height: auto;
    }
    .cert-unique__card {
        padding: 5px;
    }
    .cert-unique__card-inner {
        padding: 32px 20px;
    }
    .cert-unique__vector {
        display: none;
    }
    .cert-unique__items {
        gap: 24px;
    }
    .cert-unique__item {
        gap: 14px;
    }
    .cert-unique__icon {
        width: 44px;
        height: 44px;
    }
    .cert-bundles__inner {
        padding: 16px 8px;
    }
    .cert-bundles__graphic {
        padding: 20px 12px;
    }
    .st-table {
        font-size: 0.875rem;
    }
    .st-table thead th,
    .st-table tbody td {
        padding: 10px 12px;
    }
    .st-table th,
    .st-table td {
        overflow-wrap: anywhere;
    }
    .st-tier__table-wrap {
        overflow-x: auto;
    }
    .st-table--two td:first-child,
    .st-table--inverse td:first-child {
        white-space: normal;
    }
    .st-table--stack thead {
        display: none;
    }
    .st-table--stack,
    .st-table--stack tbody,
    .st-table--stack tr,
    .st-table--stack td {
        display: block;
        width: 100%;
        min-width: 0;
    }
    .st-table--stack tbody tr {
        padding: 8px 0;
        border-bottom: 1px solid #e6e9f2;
    }
    .st-table--stack tbody tr:nth-child(even) {
        background: var(--tosa-blue-light);
    }
    .st-table--stack tbody td {
        padding: 6px 12px;
        border-bottom: 0;
        background: transparent !important;
    }
    .st-table--stack tbody td[data-label]::before {
        content: attr(data-label);
        display: block;
        font-size: 0.72rem;
        font-weight: 600;
        text-transform: uppercase;
        letter-spacing: 0.03em;
        color: var(--tosa-blue);
        margin-bottom: 2px;
    }
    .st-table--stack .st-certs__group td {
        padding: 10px 12px;
    }
    .st-cta + .newsletter {
        padding-top: 72px !important;
    }
    .be-purchase__frame {
        background-image: none !important;
    }
    .be-purchase__inner {
        padding: 24px 16px 32px;
    }
    .be-step {
        min-height: 0;
        height: auto;
    }
    .he-s5__body {
        padding: 32px 24px;
    }
    .cert-offerings__tab-logo {
        height: 28px;
    }
}

@media (max-width: 575.98px) {
    .serve-card__icon {
        margin-bottom: 0;
    }
}

/* ──── FR shared sections (etablissement / organisme de formation) ────
   "Offre de certifications Tosa": white band, yellow chevron vector stuck
   to the left edge, light-blue card with a notched top-right corner. */
.etab-offer {
    position: relative;
    background: #fff;
    overflow: hidden;
}
.etab-offer__vector {
    position: absolute;
    left: 0;
    top: 0;
    height: 100%;
    width: auto;
    pointer-events: none;
}
.etab-offer__card {
    position: relative;
    background: #E3F1F5;
    /* Narrower and taller than the natural container width, for a squarish
       card rather than a wide flat band. */
    max-width: 1080px;
    margin: 0 auto;
    padding: 120px 88px;
    --etab-notch: 72px;
    clip-path: polygon(0 0, calc(100% - var(--etab-notch)) 0, 100% var(--etab-notch), 100% 100%, 0 100%);
}
.etab-offer__card .row { row-gap: 48px; }
.etab-offer__gamme {
    padding-top: 14px;
}
.etab-offer__gamme-logo {
    max-height: 44px;
    width: auto;
}
.etab-offer__gamme-apps {
    font-size: 0.78rem;
    color: #4a4a5e;
    margin-top: 10px;
}
@media (max-width: 767.98px) {
    .etab-offer__card { padding: 40px 24px; --etab-notch: 48px; }
    .etab-offer__vector { display: none; }
}

/* "Une solution pour chaque parcours": white band, pale vector on the left,
   blue dots, square evenly-spaced cards. */
.etab-parcours {
    position: relative;
    background: #fff;
    overflow: hidden;
}
.etab-parcours__vector {
    position: absolute;
    left: 0;
    top: 10%;
    height: 100%;
    width: auto;
    pointer-events: none;
}
.etab-parcours .section-dots--blue span {
    background: var(--tosa-blue);
}
.etab-parcours__card {
    background: #fff;
    box-shadow: 0 6px 24px rgba(30, 30, 60, 0.08);
    aspect-ratio: 1 / 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 18px;
    padding: 24px;
    min-height: 0;
}
.etab-parcours__card .he-s3__icon {
    margin-bottom: 0;
}
.etab-parcours__card .he-s3__title {
    margin-bottom: 0;
    color: #1a1a2e;
}

/* ──── FR centre-agréé / certification-à-distance pages ──────── */
.ca-pill {
    display: inline-block;
    background: var(--tosa-yellow);
    border-radius: 50px;
    padding: 6px 20px;
    font-weight: 600;
    font-size: 0.9rem;
    margin: 6px;
    color: #1a1a2e;
}
/* Certification-à-distance page only */
.ca-pill--orange {
    color: var(--tosa-orange);
}
.ca-stat {
    position: relative;
    background: #fff;
    box-shadow: 0 6px 24px rgba(30, 30, 60, 0.08);
    padding: 36px 28px;
    height: 100%;
    max-width: 300px;
    min-height: 275px;
    margin: 0 auto;
}
/* Blue disc peeking out of the top-right corner */
.ca-stat::after {
    content: "";
    position: absolute;
    top: -48px;
    right: -33px;
    width: 75px;
    height: 75px;
    border-radius: 50%;
    background: var(--tosa-blue);
}
.ca-stat__num {
    position: relative;
    color: var(--tosa-blue);
    font-weight: 700;
    font-size: 3.25rem;
    line-height: 1;
    padding-left: 26px;
    padding-bottom: 20px;
}
/* Short vertical bar straddling the card's left edge */
.ca-stat__num::before {
    content: "";
    position: absolute;
    left: -31px;
    top: 4px;
    bottom: 4px;
    width: 6px;
    background: var(--tosa-blue);
}
.ca-stat__text {
    color: #4a4a5e;
    font-size: 0.95rem;
    margin-bottom: 0;
}
.ca-steps {
    background: #3846D8;
    color: #fff;
    overflow: hidden;
}
.ca-steps .section-title { color: #fff; }
.ca-steps__intro { color: rgba(255, 255, 255, 0.85); }
.ca-step {
    display: flex;
    gap: 16px;
    margin-bottom: 40px;
}
.ca-step__num {
    flex: 0 0 auto;
    width: 34px;
    height: 34px;
    border-radius: 50%;
    background: var(--tosa-yellow);
    color: #1a1a2e;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
}
/* Certification-à-distance page only */
.ca-step__num--orange {
    color: var(--tosa-orange);
}
.ca-step__title {
    color: #fff;
    font-size: 1.35rem;
    font-weight: 700;
    margin-bottom: 12px;
}
.ca-step__text, .ca-step li { color: rgba(255, 255, 255, 0.88); }
.ca-step ul {
    list-style: none;
    padding-left: 14px;
    margin: 10px 0 0;
}
.ca-step ul li { position: relative; padding-left: 14px; margin-bottom: 6px; }
.ca-step ul li::before { content: '\00B7'; position: absolute; left: 0; font-weight: 700; }
.ca-step a { color: var(--tosa-yellow); }
.ca-reqs {
    background: #E3F1F5;
    color: #1a1a2e;
    border-radius: 10px;
    padding: 36px;
}
/* Certification-à-distance: decorative shapes behind the requirements card */
.ca-reqs-wrap {
    position: relative;
}
.ca-reqs-wrap > :not(.ca-reqs__vector) {
    position: relative;
    z-index: 1;
}
.ca-reqs__vector {
    position: absolute;
    top: 50%;
    left: 29%;
    transform: translate(-50%, -50%);
    width: 109%;
    max-width: none;
    pointer-events: none;
}
.ca-reqs__title { font-weight: 700; font-size: 1.3rem; margin-bottom: 18px; }
.ca-reqs dt { font-weight: 700; margin-top: 14px; }
.ca-reqs dd { margin: 0; color: #4a4a5e; }
.ca-finder {
    background: #fff;
    color: #fff;
    overflow: hidden;
    padding: 40px 0;
}
.ca-finder .container-xl {
    background: #3846D8;
    clip-path: polygon(0 0, calc(100% - 60px) 0, 100% 60px, 100% 100%, 0 100%);
    padding-left: 56px;
    padding-right: 56px;
}
.ca-finder .section-title { color: #fff; }
.ca-finder__text { color: rgba(255, 255, 255, 0.88); }
.ca-finder__form { display: flex; max-width: 560px; }
.ca-finder__input {
    flex: 1;
    border: none;
    padding: 14px 18px;
    font-size: 1rem;
}

/* Bundle sidebar — nested "Exams and Minimum Passing Scores" block
   (level → exams → "Plus 1 of the following N:" → exams). Selectors are
   scoped under .bundle-side__bullet-list to override its generic li rules. */
.bundle-side__bullet-list .bundle-side__score-groups {
    list-style: none;
    padding: 0;
    margin: 6px 0 0;
}
.bundle-side__bullet-list .bundle-side__score-group {
    position: relative;
    padding: 4px 0 4px 14px;
    font-size: 0.9rem;
}
.bundle-side__bullet-list .bundle-side__score-group::before {
    content: "•";
    position: absolute;
    left: 2px;
    top: 3px;
    color: var(--tosa-orange);
    font-size: 0.85rem;
    font-weight: 400;
}
.bundle-side__bullet-list .bundle-side__score-group--flat {
    padding-left: 0;
}
.bundle-side__bullet-list .bundle-side__score-group--flat::before {
    content: none;
}
.bundle-side__score-group-label {
    display: block;
    font-weight: 600;
    color: #1f2937;
}
.bundle-side__bullet-list .bundle-side__score-list {
    list-style: none;
    padding: 0;
    margin: 2px 0 0;
}
.bundle-side__bullet-list .bundle-side__score-list li {
    position: relative;
    padding: 2px 0 2px 14px;
    font-size: 0.9rem;
    line-height: 1.4;
    color: #4b5563;
}
.bundle-side__bullet-list .bundle-side__score-list li::before {
    content: "–";
    position: absolute;
    left: 2px;
    top: 2px;
    color: #9ca3af;
    font-size: 0.9rem;
    font-weight: 400;
}
.bundle-side__score-exam::after {
    content: ":";
}
.bundle-side__score-value {
    font-weight: 600;
    font-variant-numeric: tabular-nums;
    color: var(--tosa-blue);
    white-space: nowrap;
}
.bundle-side__score-note {
    display: block;
    margin: 6px 0 2px;
    font-style: italic;
    color: #374151;
}

/* ── Contact Us page — FR variant (templates/pages/contact_us_fr.html.twig) ── */

.cu-form__group--inline {
    position: relative;
}
.cu-form__group--inline .cu-form__label--inline {
    position: absolute;
    left: 17px;
    top: 15px;
    margin: 0;
    pointer-events: none;
    color: rgba(255, 255, 255, 0.92);
    transition: opacity 0.15s ease;
}
/* Chrome does not re-style :not(:placeholder-shown) ~ label on value changes; JS mirrors the state as .has-value */
.cu-form__group--inline:focus-within .cu-form__label--inline,
.cu-form__group--inline.has-value .cu-form__label--inline,
.cu-form__group--inline .cu-form__input:not(:placeholder-shown) ~ .cu-form__label--inline {
    opacity: 0;
}
.cu-form__group--inline .cu-form__required {
    color: var(--tosa-orange);
}
.cu-form__footer--start {
    justify-content: flex-start;
    gap: 20px;
}

.cu-partner {
    background: var(--tosa-yellow);
    padding: 96px 0;
}
.cu-partner__title {
    color: #1a1a2e;
}
.cu-partner__subtitle {
    color: #1a1a2e;
    font-size: 1.375rem;
}
.cu-partner__text {
    color: #1a1a2e;
    font-size: 1rem;
    line-height: 1.6;
}
.cu-partner__list {
    list-style: none;
    padding-left: 0;
    margin: 0;
}
.cu-partner__list li {
    padding-left: 1.5rem;
    position: relative;
    margin-bottom: .7rem;
    line-height: 1.55;
    color: #1a1a2e;
    font-size: 1rem;
}
.cu-partner__list li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0.5rem;
    width: 9px;
    height: 9px;
    border-radius: 50%;
    background: var(--tosa-orange);
}
.cu-partner__img {
    display: block;
    width: 100%;
    max-width: 520px;
    height: auto;
    margin-left: auto;
}
.cu-partner + .newsletter {
    padding-top: 80px !important;
    padding-bottom: 60px !important;
}
@media (max-width: 991.98px) {
    .cu-partner {
        padding: 64px 0;
    }
    .cu-partner__img {
        margin: 0 auto;
    }
}

/* ── Online store — FR variant (templates/pages/online_store_fr.html.twig) ── */
.be-purchase--fr {
    background: var(--tosa-blue);
    color: #fff;
    position: relative;
    overflow: hidden;
}
.be-purchase--fr::before,
.be-purchase--fr::after {
    content: '';
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.08);
    pointer-events: none;
}
.be-purchase--fr::before { width: 420px; height: 420px; right: -160px; top: 38%; }
.be-purchase--fr::after  { width: 260px; height: 260px; left: -120px; bottom: 12%; }
.be-purchase--fr > .container-xl { position: relative; z-index: 1; }
.be-purchase__pill {
    display: inline-block;
    background: var(--tosa-yellow);
    color: #1a1a2e;
    border-radius: 999px;
    padding: 18px 48px;
    font-size: clamp(1.35rem, 2.3vw, 1.9rem);
    line-height: 1.2;
    max-width: 920px;
    margin: 0 0 18px;
}
.be-purchase__lead {
    color: #fff;
    font-size: 1.05rem;
}
.be-purchase--fr .be-purchase__frame {
    background: transparent;
    box-shadow: none;
    border-radius: 0;
    overflow: visible;
}
.be-purchase--fr .be-purchase__inner { padding: 0; }
.be-purchase--fr .be-purchase__pane { min-height: 0; }
.be-purchase--fr .be-purchase__pane[data-purchase-pane="3"].is-active { display: block; }
.be-purchase--fr .be-purchase__pane-intro {
    color: var(--tosa-yellow);
    font-weight: 600;
    text-align: left;
    max-width: none;
    margin: 0 0 32px;
}

.be-purchase__crumbs {
    list-style: none;
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 6px 14px;
    padding: 0;
    margin: 0 0 12px;
}
.be-purchase__crumb {
    color: rgba(255, 255, 255, 0.5);
    font-weight: 700;
    font-size: clamp(1.25rem, 2vw, 1.75rem);
    cursor: pointer;
    transition: color 0.2s;
}
.be-purchase__crumb::after {
    content: '>';
    margin-left: 14px;
    font-size: 1.1rem;
    color: rgba(255, 255, 255, 0.5);
}
.be-purchase__crumb:last-child::after { content: none; }
.be-purchase__crumb.is-done { color: rgba(255, 255, 255, 0.8); }
.be-purchase__crumb.is-active,
.be-purchase__crumb.is-active::after { color: var(--tosa-yellow); }
.be-purchase__crumb.is-skipped { opacity: 0.45; cursor: not-allowed; }

.be-purchase__panel {
    background: #eef0fb;
    border-radius: 22px;
    padding: 40px clamp(20px, 3vw, 48px) 48px;
    color: #1a1a2e;
}
.be-purchase--fr .be-purchase__details { padding: 40px clamp(20px, 3vw, 48px) 48px; }

.be-purchase--fr .be-purchase__tabs {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 32px;
    border: 0;
    margin-bottom: 44px;
}
.be-purchase--fr .be-purchase__tabs .nav-item { display: contents; }
.be-purchase__tab {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    width: 100%;
    padding: 16px 12px 20px !important;
    background: rgba(255, 255, 255, 0.14) !important;
    border: 2px solid !important;
    border-radius: 18px !important;
    color: #fff !important;
    font-weight: 500;
    transition: background-color 0.2s, color 0.2s;
}
.be-purchase__tab::after {
    content: '';
    position: absolute;
    left: 50%;
    bottom: -22px;
    transform: translateX(-50%);
    border: 11px solid transparent;
    transition: border-color 0.2s;
}
.be-purchase__tab--desktop  { border-color: #8BCCFF !important; }
.be-purchase__tab--graphics { border-color: #FF66FF !important; }
.be-purchase__tab--digital  { border-color: #66CC99 !important; }
.be-purchase__tab--code     { border-color: #E6A071 !important; }
.be-purchase__tab--desktop::after  { border-top-color: #8BCCFF; }
.be-purchase__tab--graphics::after { border-top-color: #FF66FF; }
.be-purchase__tab--digital::after  { border-top-color: #66CC99; }
.be-purchase__tab--code::after     { border-top-color: #E6A071; }
.be-purchase__tab.active {
    background: #fff !important;
    color: #1a1a2e !important;
}
.be-purchase__tab.active::after { border-top-color: #fff; }
.be-purchase--fr .be-purchase__tab-logo { height: 40px; }
.be-purchase__tab-apps { font-size: 0.85rem; line-height: 1.3; }
.be-purchase--fr .be-purchase__heading {
    color: #1a1a2e;
    font-size: 1.6rem;
    text-align: left;
}
.be-purchase--fr .be-purchase__subject {
    background: rgba(255, 255, 255, 0.6);
    border: 1px solid #d9dcef;
    border-radius: 14px;
    color: #1a1a2e;
    font-weight: 600;
}
.be-purchase--fr .be-purchase__subject:hover {
    background: #fff;
    border-color: #8BCCFF;
    color: #1a1a2e;
}

.be-purchase--fr .be-purchase__packs {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(235px, 1fr));
    gap: 28px;
    border: 0;
}
.be-purchase--fr .be-purchase__pack {
    background: #E6F4F8;
    border: 2px solid #8BCCFF;
    border-radius: 22px;
    padding: 30px 24px 34px;
    text-align: center;
    align-items: center;
    transition: border-color 0.2s, transform 0.2s;
}
.be-purchase--fr .be-purchase__pack:hover,
.be-purchase--fr .be-purchase__pack.is-active {
    border-color: var(--tosa-orange);
    transform: translateY(-3px);
}
.be-purchase--fr .be-purchase__pack-head,
.be-purchase--fr .be-purchase__pack:hover .be-purchase__pack-head,
.be-purchase--fr .be-purchase__pack.is-active .be-purchase__pack-head {
    background: transparent;
    border: 0;
    padding: 0;
    min-height: 0;
    justify-content: center;
    margin-bottom: 14px;
}
.be-purchase--fr .be-purchase__pack-name,
.be-purchase--fr .be-purchase__pack:hover .be-purchase__pack-name,
.be-purchase--fr .be-purchase__pack.is-active .be-purchase__pack-name {
    color: var(--tosa-orange);
    font-size: 1.5rem;
}
.be-purchase--fr .be-purchase__pack-body {
    padding: 0;
    gap: 22px;
    align-items: center;
    width: 100%;
}
.be-purchase--fr .be-purchase__pack-desc {
    font-size: 1rem;
    font-weight: 500;
    width: 100%;
}
.be-purchase--fr .be-purchase__pack-desc ul {
    display: block;
    width: max-content;
    max-width: 100%;
    text-align: left;
    font-weight: 400;
    margin: 16px auto 0;
}
.be-purchase--fr .be-purchase__pack-price {
    color: #1a1a2e;
    font-size: 2rem;
}
.be-purchase--fr .be-purchase__pack-checkout,
.be-purchase--fr .be-purchase__pack:hover .be-purchase__pack-checkout,
.be-purchase--fr .be-purchase__pack.is-active .be-purchase__pack-checkout {
    width: auto;
    margin: 26px auto 0;
    padding: 16px 32px;
    justify-content: center;
    gap: 16px;
    background: var(--tosa-orange);
    border: 0;
    color: #fff;
    clip-path: polygon(0 0, calc(100% - 16px) 0, 100% 16px, 100% 100%, 0 100%);
}
.be-purchase--fr .be-purchase__pack-checkout:hover { background: #d63d09; }
.be-purchase__packs-empty {
    color: #fff;
    text-align: center;
    padding: 24px 0;
    margin: 0;
}
.faq--yellow-dots .section-dots span { background: var(--tosa-yellow); }

@media (max-width: 991.98px) {
    .be-purchase--fr .be-purchase__tabs { grid-template-columns: repeat(2, 1fr); gap: 20px 16px; margin-bottom: 36px; }
    .be-purchase__pill { padding: 14px 28px; border-radius: 28px; }
}
@media (max-width: 575.98px) {
    .be-purchase--fr .be-purchase__tabs { grid-template-columns: 1fr; }
    .be-purchase__panel { border-radius: 16px; padding: 24px 16px 32px; }
}
.be-purchase__crumb .be-purchase__step-num { display: inline; }
.be-steps--fr {
    background: linear-gradient(100deg, #fff6d9 0%, #ffffff 32%, #f1f2fb 100%);
}
.be-steps--fr .be-step {
    box-shadow: 0 10px 30px rgba(20, 30, 60, 0.06);
}

/* "Besoin d'aide ?" — photo card with a yellow diagonal and a white text box. */
.be-help {
    background: #fff;
    padding: 72px 0 40px;
}
.be-help__card {
    position: relative;
    min-height: 540px;
    background-size: cover;
    background-position: center;
    clip-path: polygon(0 0, calc(100% - 60px) 0, 100% 60px, 100% 100%, 0 100%);
    display: flex;
    align-items: center;
}
.be-help__card::before {
    content: '';
    position: absolute;
    inset: 0;
    background: var(--tosa-yellow);
    clip-path: polygon(0 0, 44% 0, 26% 100%, 0 100%);
}
.be-help__box {
    position: relative;
    margin-left: clamp(24px, 6vw, 96px);
    width: min(560px, calc(100% - 48px));
    background: #fff;
    padding: 56px 60px;
    clip-path: polygon(0 0, calc(100% - 36px) 0, 100% 36px, 100% 100%, 0 100%);
    box-shadow: 0 20px 50px rgba(20, 30, 60, 0.15);
}
.be-help__title {
    color: #1a1a2e;
    font-size: clamp(1.75rem, 3vw, 2.5rem);
}
.be-help__text {
    color: #2a2a3a;
    line-height: 1.6;
}
@media (max-width: 767.98px) {
    .be-help { padding: 48px 0 24px; }
    .be-help__card { min-height: 0; padding: 32px 0; }
    .be-help__box { margin: 0 auto; padding: 32px 24px; }
}

/* ── Subject details: FR variants (Sept 2026 mockups) ───────────── */
/* Black CTA (FR sidebar "Acheter une certification") */
.cta-btn--black {
    background-color: #1a1a1a;
    color: #fff;
}
.cta-btn--black:hover {
    background-color: #333;
    color: #fff;
}

/* France compétences card */
.subject-details__fc-title {
    font-size: 0.95rem;
    line-height: 1.45;
    margin: 0 0 10px;
}
.subject-details__fc-code {
    font-size: 0.95rem;
}

/* FR hero tile: product icon in a white disc with the product name. */
.subject-details__hero--circle .subject-details__hero-tile {
    position: relative;
}
.subject-details__hero-disc {
    width: 190px;
    height: 190px;
    border-radius: 50%;
    background: #fff;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 20px;
}
.subject-details__hero-disc img {
    width: 84px;
    height: 84px;
    object-fit: contain;
}
.subject-details__hero-disc-name {
    font-size: 0.9rem;
    font-weight: 600;
    color: #1a1a1a;
    text-align: center;
    line-height: 1.2;
    max-width: 150px;
}
@media (min-width: 768px) {
    .subject-details__hero--circle .subject-details__hero-tile {
        position: absolute;
    }
}
@media (max-width: 575.98px) {
    .subject-details__hero-disc { width: 150px; height: 150px; }
    .subject-details__hero-disc img { width: 64px; height: 64px; }
}

/* Sample Tests: hide every modal trigger on mobile and tablet */
@media (max-width: 991.98px) {
    [data-bs-target="#sample-tests-modal"] {
        display: none !important;
    }
}

.sbt-hero {
    background: #F5F7FF;
}
.sbt-body {
    max-width: 760px;
}
.sbt-body__text {
    color: #333;
    font-size: 1.0625rem;
    line-height: 1.65;
    margin-bottom: 12px;
}
.sbt-body__link {
    color: var(--tosa-orange);
    text-decoration: underline;
}
.sbt-body__secondary {
    color: #555;
    font-size: 0.95rem;
    line-height: 1.6;
}
.sbt-alert {
    max-width: 760px;
    margin-bottom: 32px;
}

.st-certs__block-title {
    font-size: clamp(1.2rem, 2vw, 1.5rem);
}
.st-tier__after {
    color: rgba(255, 255, 255, 0.92);
    font-size: 0.98rem;
    line-height: 1.65;
    max-width: 980px;
    margin-left: auto;
    margin-right: auto;
}
.st-tier__after h3 {
    color: #fff;
    font-size: 1.2rem;
    font-weight: 700;
    margin-bottom: 12px;
}
.st-tier__after a,
.st-tier__footnote a {
    color: #fff;
    text-decoration: underline;
}

/*!****************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/styles/components/search.css ***!
  \****************************************************************************************************************************/
.menubar__search {
    position: relative;
    display: flex;
    align-items: center;
    width: 100%;
}

@media (min-width: 992px) {
    .menubar__search {
        width: 230px;
    }
}

.menubar__search-field {
    position: relative;
    width: 100%;
    min-width: 0;
    padding: 2px;
    background: transparent;
    clip-path: polygon(0 0, calc(100% - 14px) 0, 100% 14px, 100% 100%, 0 100%);
    transition: background-color 0.2s ease;
}

.menubar__search-field:focus-within {
    background: var(--tosa-orange);
}

.menubar__search-icon {
    position: absolute;
    left: 0.85rem;
    top: 50%;
    transform: translateY(-50%);
    color: var(--tosa-orange);
    font-size: 0.95rem;
    pointer-events: none;
    z-index: 2;
}

.menubar__search-input {
    position: relative;
    z-index: 1;
    display: block;
    width: 100%;
    min-width: 0;
    margin: 0;
    padding: 10px 18px 10px 2rem;
    border: none;
    background: #f3f4f6;
    color: #1a1a1a;
    font-size: 0.875rem;
    font-weight: 500;
    line-height: 1.2;
    clip-path: polygon(0 0, calc(100% - 12px) 0, 100% 12px, 100% 100%, 0 100%);
    transition: background-color 0.2s ease;
}

.menubar__search-input::placeholder {
    color: #8a9097;
    font-weight: 500;
}

.menubar__search-input:focus {
    outline: none;
    background: #fff;
}

.menubar__search-input::-webkit-search-decoration,
.menubar__search-input::-webkit-search-cancel-button {
    -webkit-appearance: none;
}

.menubar__search-results {
    position: absolute;
    top: calc(100% + 0.5rem);
    left: 0;
    right: 0;
    z-index: 1050;
    max-height: 70vh;
    overflow-y: auto;
    background: #fff;
    border: none;
    border-radius: 0;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);
    padding: 0;
}

@media (min-width: 992px) {
    .menubar__search-results {
        left: auto;
        right: 0;
        width: 320px;
    }
}

.menubar__search-item {
    display: flex;
    align-items: center;
    gap: 0.85rem;
    padding: 0.85rem 1.1rem;
    color: #1a1a1a;
    background: #fff;
    text-decoration: none;
    border-bottom: 1px solid rgba(0, 0, 0, 0.06);
    cursor: pointer;
    transition: color 0.15s ease, background-color 0.15s ease;
}

.menubar__search-item:last-child {
    border-bottom: none;
}

.menubar__search-item:hover,
.menubar__search-item.is-active {
    background: #fff6f1;
    color: var(--tosa-orange);
}

.menubar__search-thumb {
    flex: 0 0 30px;
    width: 30px;
    height: 30px;
    object-fit: contain;
    border-radius: 0.35rem;
}

.menubar__search-thumb--placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
    background: #fff6f1;
    color: var(--tosa-orange);
    font-size: 0.9rem;
}

.menubar__search-body {
    display: flex;
    flex-direction: column;
    gap: 3px;
    min-width: 0;
}

.menubar__search-title {
    font-size: 0.9rem;
    font-weight: 600;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.menubar__search-title mark {
    padding: 0;
    background: rgba(241, 73, 16, 0.18);
    color: inherit;
    border-radius: 2px;
}

.menubar__search-type {
    font-size: 0.7rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.4px;
    color: #8a9097;
}

.menubar__search-item:hover .menubar__search-type,
.menubar__search-item.is-active .menubar__search-type {
    color: var(--tosa-orange);
}

.menubar__search-empty {
    padding: 1rem 1.1rem;
    font-size: 0.875rem;
    font-weight: 500;
    color: #6b7177;
    text-align: center;
}

/*!***********************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./node_modules/swiper/swiper.css ***!
  \***********************************************************************************************************************/
/**
 * Swiper 12.1.3
 * Most modern mobile touch slider and framework with hardware accelerated transitions
 * https://swiperjs.com
 *
 * Copyright 2014-2026 Vladimir Kharlampidi
 *
 * Released under the MIT License
 *
 * Released on: March 24, 2026
 */

:root {
  --swiper-theme-color: #007aff;
  /*
  --swiper-preloader-color: var(--swiper-theme-color);
  --swiper-wrapper-transition-timing-function: initial;
  */
}
:host {
  position: relative;
  display: block;
  margin-left: auto;
  margin-right: auto;
  z-index: 1;
}
.swiper {
  margin-left: auto;
  margin-right: auto;
  position: relative;
  overflow: hidden;
  list-style: none;
  padding: 0;
  /* Fix of Webkit flickering */
  z-index: 1;
  display: block;
}
.swiper-vertical > .swiper-wrapper {
  flex-direction: column;
}
.swiper-wrapper {
  position: relative;
  width: 100%;
  height: 100%;
  z-index: 1;
  display: flex;
  transition-property: transform;
  transition-timing-function: var(--swiper-wrapper-transition-timing-function, initial);
  box-sizing: content-box;
}
.swiper-android .swiper-slide,
.swiper-ios .swiper-slide,
.swiper-wrapper {
  transform: translate3d(0px, 0, 0);
}
.swiper-horizontal {
  touch-action: pan-y;
}
.swiper-vertical {
  touch-action: pan-x;
}
.swiper-slide {
  flex-shrink: 0;
  width: 100%;
  height: 100%;
  position: relative;
  transition-property: transform;
  display: block;
}
.swiper-slide-invisible-blank {
  visibility: hidden;
}
/* Auto Height */
.swiper-autoheight,
.swiper-autoheight .swiper-slide {
  height: auto;
}
.swiper-autoheight .swiper-wrapper {
  align-items: flex-start;
  transition-property: transform, height;
}
.swiper-backface-hidden .swiper-slide {
  transform: translateZ(0);
  backface-visibility: hidden;
}
/* 3D Effects */
.swiper-3d.swiper-css-mode .swiper-wrapper {
  perspective: 1200px;
}
.swiper-3d .swiper-wrapper {
  transform-style: preserve-3d;
}
.swiper-3d {
  perspective: 1200px;
  .swiper-slide,
  .swiper-cube-shadow {
    transform-style: preserve-3d;
  }
}

/* CSS Mode */
.swiper-css-mode {
  > .swiper-wrapper {
    overflow: auto;
    scrollbar-width: none; /* For Firefox */
    -ms-overflow-style: none; /* For Internet Explorer and Edge */
    &::-webkit-scrollbar {
      display: none;
    }
  }
  > .swiper-wrapper > .swiper-slide {
    scroll-snap-align: start start;
  }
  &.swiper-horizontal {
    > .swiper-wrapper {
      scroll-snap-type: x mandatory;
    }
    > .swiper-wrapper > .swiper-slide:first-child {
      margin-inline-start: var(--swiper-slides-offset-before);
      scroll-margin-inline-start: var(--swiper-slides-offset-before);
    }
    > .swiper-wrapper > .swiper-slide:last-child {
      margin-inline-end: var(--swiper-slides-offset-after);
    }
  }
  &.swiper-vertical {
    > .swiper-wrapper {
      scroll-snap-type: y mandatory;
    }
    > .swiper-wrapper > .swiper-slide:first-child {
      margin-block-start: var(--swiper-slides-offset-before);
      scroll-margin-block-start: var(--swiper-slides-offset-before);
    }
    > .swiper-wrapper > .swiper-slide:last-child {
      margin-block-end: var(--swiper-slides-offset-after);
    }
  }
  &.swiper-free-mode {
    > .swiper-wrapper {
      scroll-snap-type: none;
    }
    > .swiper-wrapper > .swiper-slide {
      scroll-snap-align: none;
    }
  }
  &.swiper-centered {
    > .swiper-wrapper::before {
      content: '';
      flex-shrink: 0;
      order: 9999;
    }
    > .swiper-wrapper > .swiper-slide {
      scroll-snap-align: center center;
      scroll-snap-stop: always;
    }
  }
  &.swiper-centered.swiper-horizontal {
    > .swiper-wrapper > .swiper-slide:first-child {
      margin-inline-start: var(--swiper-centered-offset-before);
    }
    > .swiper-wrapper::before {
      height: 100%;
      min-height: 1px;
      width: var(--swiper-centered-offset-after);
    }
  }
  &.swiper-centered.swiper-vertical {
    > .swiper-wrapper > .swiper-slide:first-child {
      margin-block-start: var(--swiper-centered-offset-before);
    }
    > .swiper-wrapper::before {
      width: 100%;
      min-width: 1px;
      height: var(--swiper-centered-offset-after);
    }
  }
}

/* Slide styles start */
/* 3D Shadows */
.swiper-3d {
  .swiper-slide-shadow,
  .swiper-slide-shadow-left,
  .swiper-slide-shadow-right,
  .swiper-slide-shadow-top,
  .swiper-slide-shadow-bottom,
  .swiper-slide-shadow,
  .swiper-slide-shadow-left,
  .swiper-slide-shadow-right,
  .swiper-slide-shadow-top,
  .swiper-slide-shadow-bottom {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: 10;
  }
  .swiper-slide-shadow {
    background: rgba(0, 0, 0, 0.15);
  }
  .swiper-slide-shadow-left {
    background-image: linear-gradient(to left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
  }
  .swiper-slide-shadow-right {
    background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
  }
  .swiper-slide-shadow-top {
    background-image: linear-gradient(to top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
  }
  .swiper-slide-shadow-bottom {
    background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
  }
}
.swiper-lazy-preloader {
  width: 42px;
  height: 42px;
  position: absolute;
  left: 50%;
  top: 50%;
  margin-left: -21px;
  margin-top: -21px;
  z-index: 10;
  transform-origin: 50%;
  box-sizing: border-box;
  border: 4px solid var(--swiper-preloader-color, var(--swiper-theme-color));
  border-radius: 50%;
  border-top-color: transparent;
}
.swiper:not(.swiper-watch-progress),
.swiper-watch-progress .swiper-slide-visible {
  .swiper-lazy-preloader {
    animation: swiper-preloader-spin 1s infinite linear;
  }
}
.swiper-lazy-preloader-white {
  --swiper-preloader-color: #fff;
}
.swiper-lazy-preloader-black {
  --swiper-preloader-color: #000;
}
@keyframes swiper-preloader-spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
/* Slide styles end */


/*# sourceMappingURL=data:application/json;charset=utf-8;base64,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TUFDaEMsd0JBQXdCO0lBQzFCO0VBQ0Y7RUFDQTtJQUNFO01BQ0UseURBQXlEO0lBQzNEO0lBQ0E7TUFDRSxZQUFZO01BQ1osZUFBZTtNQUNmLDBDQUEwQztJQUM1QztFQUNGO0VBQ0E7SUFDRTtNQUNFLHdEQUF3RDtJQUMxRDtJQUNBO01BQ0UsV0FBVztNQUNYLGNBQWM7TUFDZCwyQ0FBMkM7SUFDN0M7RUFDRjtBQUNGOztBQUVBLHVCQUF1QjtBQUN2QixlQUFlO0FBQ2Y7RUFDRTs7Ozs7Ozs7OztJQVVFLGtCQUFrQjtJQUNsQixPQUFPO0lBQ1AsTUFBTTtJQUNOLFdBQVc7SUFDWCxZQUFZO0lBQ1osb0JBQW9CO0lBQ3BCLFdBQVc7RUFDYjtFQUNBO0lBQ0UsK0JBQStCO0VBQ2pDO0VBQ0E7SUFDRSxnRkFBZ0Y7RUFDbEY7RUFDQTtJQUNFLGlGQUFpRjtFQUNuRjtFQUNBO0lBQ0UsK0VBQStFO0VBQ2pGO0VBQ0E7SUFDRSxrRkFBa0Y7RUFDcEY7QUFDRjtBQUNBO0VBQ0UsV0FBVztFQUNYLFlBQVk7RUFDWixrQkFBa0I7RUFDbEIsU0FBUztFQUNULFFBQVE7RUFDUixrQkFBa0I7RUFDbEIsaUJBQWlCO0VBQ2pCLFdBQVc7RUFDWCxxQkFBcUI7RUFDckIsc0JBQXNCO0VBQ3RCLDBFQUEwRTtFQUMxRSxrQkFBa0I7RUFDbEIsNkJBQTZCO0FBQy9CO0FBQ0E7O0VBRUU7SUFDRSxtREFBbUQ7RUFDckQ7QUFDRjtBQUNBO0VBQ0UsOEJBQThCO0FBQ2hDO0FBQ0E7RUFDRSw4QkFBOEI7QUFDaEM7QUFDQTtFQUNFO0lBQ0UsdUJBQXVCO0VBQ3pCO0VBQ0E7SUFDRSx5QkFBeUI7RUFDM0I7QUFDRjtBQUNBLHFCQUFxQiIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL2Fzc2V0cy9zdHlsZXMvYXBwLmNzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvc3R5bGVzL2NvbXBvbmVudHMvc2VhcmNoLmNzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvc3dpcGVyL3N3aXBlci5jc3MiXSwic291cmNlc0NvbnRlbnQiOlsiOnJvb3Qge1xuICAgIC0tdG9zYS1vcmFuZ2U6ICNmMTQ5MTA7XG4gICAgLS10b3NhLWJsdWU6ICM0NTQ1REI7XG4gICAgLS10b3NhLWJsdWUtbGlnaHQ6ICNFNkYzRjk7XG4gICAgLS10b3NhLXRlYWw6ICMwZDZiNmU7XG4gICAgLS10b3NhLXllbGxvdzogI0ZGRTM1MDtcbiAgICAtLXRvc2EtbGlnaHQtYmx1ZTogI0U2RjNGOTtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAgIC5jb250YWluZXIteGwge1xuICAgICAgICBtYXgtd2lkdGg6IDE2MDBweDtcbiAgICB9XG59XG5cbi5jb250YWluZXIteGwge1xuICAgIHBhZGRpbmctbGVmdDogY2xhbXAoMXJlbSwgMi41dncsIDJyZW0pICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1yaWdodDogY2xhbXAoMXJlbSwgMi41dncsIDJyZW0pICFpbXBvcnRhbnQ7XG59XG5cbmJvZHksXG5idXR0b24sXG5pbnB1dCxcbnNlbGVjdCxcbnRleHRhcmVhLFxub3B0Z3JvdXAge1xuICAgIGZvbnQtZmFtaWx5OiAnRXBpbG9ndWUnLCBzYW5zLXNlcmlmICFpbXBvcnRhbnQ7XG59XG5cbjpyb290IHtcbiAgICAtLWJzLWJvZHktY29sb3I6ICMxRDFEMUI7XG4gICAgLS1icy1ib2R5LWNvbG9yLXJnYjogMjksIDI5LCAyNztcbn1cbmJvZHkge1xuICAgIGNvbG9yOiAjMUQxRDFCO1xufVxuLyogRm9yY2UgRXBpbG9ndWUgZXZlcnl3aGVyZSDigJQgb3ZlcnJpZGVzIEJvb3RzdHJhcCBkZWZhdWx0cyBhbmQgYW55IGlubGluZVxuICAgZm9udC1mYW1pbHkgc2V0IGJ5IGV4dGVybmFsIGNvbnRlbnQgKGUuZy4gRHJvcEluQmxvZyBwb3N0IEhUTUwpLiAqL1xuKixcbio6OmJlZm9yZSxcbio6OmFmdGVyIHtcbiAgICBmb250LWZhbWlseTogaW5oZXJpdDtcbn1cbi5kaWItcG9zdCxcbi5kaWItcG9zdC1jb250ZW50LFxuLmRpYi1wb3N0LWNvbnRlbnQgKiB7XG4gICAgZm9udC1mYW1pbHk6ICdFcGlsb2d1ZScsIHNhbnMtc2VyaWYgIWltcG9ydGFudDtcbn1cblxuLyog4pSA4pSAIFJldXNhYmxlIENvbXBvbmVudHMg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAICovXG5cbi8qIFNlY3Rpb24gZG90cyAtIHRocmVlIHNtYWxsIG9yYW5nZSBjaXJjbGVzIHVzZWQgYXMgZGVjb3JhdG9ycyBiZWZvcmUgc2VjdGlvbiB0aXRsZXMgKi9cbi5zZWN0aW9uLWRvdHMgc3Bhbixcbi5oZXJvX19kb3RzIHNwYW4ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogOHB4O1xuICAgIGhlaWdodDogOHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS10b3NhLW9yYW5nZSk7XG4gICAgbWFyZ2luLXJpZ2h0OiA0cHg7XG59XG5cbi5zZWN0aW9uLWRvdHMtLWNlbnRlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uc2VjdGlvbi10aXRsZSB7XG4gICAgZm9udC1zaXplOiBjbGFtcCgxLjc1cmVtLCAzLjV2dywgMi43NXJlbSk7XG4gICAgY29sb3I6ICMxYTFhMmU7XG59XG5cbi8qIENUQSBCdXR0b25zIC0gb3JhbmdlIGJ1dHRvbnMgd2l0aCBjbGlwLXBhdGggY3V0IG9uIHRvcC1yaWdodCBjb3JuZXIgKi9cbi5jdGEtYnRuIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBnYXA6IDE2cHg7XG4gICAgcGFkZGluZzogMTZweCAzMnB4O1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgY2xpcC1wYXRoOiBwb2x5Z29uKDAgMCwgY2FsYygxMDAlIC0gMTZweCkgMCwgMTAwJSAxNnB4LCAxMDAlIDEwMCUsIDAgMTAwJSk7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzO1xufVxuXG4uY3RhLWJ0bi0tb3JhbmdlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10b3NhLW9yYW5nZSk7XG4gICAgY29sb3I6ICNmZmY7XG59XG5cbi5jdGEtYnRuLS1ncmVlbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzFEQzU4QztcbiAgICBjb2xvcjogI2ZmZjtcbn1cblxuLmN0YS1idG4tLWdyZWVuOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTdhMzc0O1xuICAgIGNvbG9yOiAjZmZmO1xufVxuXG4uY3RhLWJ0bi0tYmx1ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzM4NDZEODtcbiAgICBjb2xvcjogI2ZmZjtcbn1cblxuLmN0YS1idG4tLWJsdWU6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMyYzM4Yjg7XG4gICAgY29sb3I6ICNmZmY7XG59XG5cbi5jdGEtYnRuLS1vcmFuZ2U6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNkNjNkMDk7XG4gICAgY29sb3I6ICNmZmY7XG59XG5cbi5jdGEtYnRuX19pY29uIHtcbiAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbn1cblxuLyog4pSA4pSAIE1lbnViYXIg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAICovXG4vKiBLZWVwIGFsbCBleGlzdGluZyBtZW51YmFyIHN0eWxlcyAqL1xuLm5hdmJhciB7IG1pbi1oZWlnaHQ6IDcycHg7IHBhZGRpbmctdG9wOiAwOyBwYWRkaW5nLWJvdHRvbTogMDsgfVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgLm5hdmJhciAubmF2YmFyLWNvbGxhcHNlIHsgbWluLXdpZHRoOiAwOyB9XG59XG4ubmF2YmFyIC5uYXYtbGluayB7IGNvbG9yOiAjMWExYTFhICFpbXBvcnRhbnQ7IH1cbi5tZW51YmFyX19jdGEtYnRuIHsgZGlzcGxheTogaW5saW5lLWZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGp1c3RpZnktY29udGVudDogY2VudGVyOyBnYXA6IDhweDsgcGFkZGluZzogMTBweCAyMHB4OyBmb250LXNpemU6IDAuODc1cmVtOyBmb250LXdlaWdodDogNjAwOyB3aGl0ZS1zcGFjZTogbm93cmFwOyBjdXJzb3I6IHBvaW50ZXI7IGNsaXAtcGF0aDogcG9seWdvbigwIDAsIGNhbGMoMTAwJSAtIDE0cHgpIDAsIDEwMCUgMTRweCwgMTAwJSAxMDAlLCAwIDEwMCUpOyB9XG4ubWVudWJhcl9fY3RhLWJ0bi0tZGFyayB7IGJhY2tncm91bmQtY29sb3I6ICMxYTFhMWE7IGNvbG9yOiAjZmZmOyB9XG4ubWVudWJhcl9fY3RhLWJ0bi0tZGFyazpob3ZlciB7IGJhY2tncm91bmQtY29sb3I6ICMzMzM7IGNvbG9yOiAjZmZmOyB9XG4ubWVudWJhcl9fY3RhLWJ0bi0tb3JhbmdlIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdG9zYS1vcmFuZ2UpOyBjb2xvcjogI2ZmZjsgfVxuLm1lbnViYXJfX2N0YS1idG4tLW9yYW5nZTpob3ZlciB7IGJhY2tncm91bmQtY29sb3I6ICNkNjNkMDk7IGNvbG9yOiAjZmZmOyB9XG4ubWVudWJhcl9fY2hldnJvbiB7IHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjJzIGVhc2U7IC13ZWJraXQtdGV4dC1zdHJva2U6IDAuOHB4IGN1cnJlbnRDb2xvcjsgfVxuLmRyb3Bkb3duLnNob3cgLm1lbnViYXJfX2NoZXZyb24sIC5uYXYtaXRlbS5zaG93IC5tZW51YmFyX19jaGV2cm9uIHsgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTsgfVxuXG4vKiBOYXZiYXIgbmF2IGxpbmtzIHNwYWNpbmcgKi9cbi5uYXZiYXIgLm5hdmJhci1uYXYgLm5hdi1saW5rLFxuLm5hdmJhciAubmF2YmFyLW5hdiAubWVudWJhcl9fbGluayB7XG4gICAgcGFkZGluZzogMS41cmVtIDFyZW07XG4gICAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBjb2xvcjogIzFhMWExYSAhaW1wb3J0YW50O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cbi5uYXZiYXIgLm5hdmJhci1uYXYgLm1lbnViYXJfX2xpbms6aG92ZXIge1xuICAgIGNvbG9yOiB2YXIoLS10b3NhLW9yYW5nZSkgIWltcG9ydGFudDtcbn1cbi5uYXZiYXIgLm5hdmJhci1uYXYgLm1lbnViYXJfX2l0ZW06bm90KC5kcm9wZG93bikgLm1lbnViYXJfX2xpbmsge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLm5hdmJhciAuY29udGFpbmVyLXhsIHtcbiAgICBtYXgtd2lkdGg6IDk5JTtcbiAgICBtaW4taGVpZ2h0OiA3MnB4O1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xufVxuXG4ubmF2YmFyICNtZW51YmFyTmF2IHtcbiAgICBtaW4taGVpZ2h0OiA3MnB4O1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xufVxuXG4ubmF2YmFyIC5uYXZiYXItbmF2IHtcbiAgICBtaW4taGVpZ2h0OiA3MnB4O1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG59XG5cbi5uYXZiYXIgLm5hdmJhci1icmFuZCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuLyogQWN0aXZlIC8gb3BlbiBzdGF0ZTogb3JhbmdlIHVuZGVybGluZSArIDMgb3JhbmdlIGRvdHMgY2VudGVyZWQgYmVsb3cgdGhlIGxpbmsgKi9cbi5tZW51YmFyX19pdGVtIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4ubWVudWJhcl9faXRlbTo6YWZ0ZXIge1xuICAgIC8qIG9yYW5nZSB1bmRlcmxpbmUgYWxpZ25lZCB3aXRoIGJvdHRvbSBvZiBuYXZiYXIgKi9cbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogLTFweDtcbiAgICBoZWlnaHQ6IDNweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10b3NhLW9yYW5nZSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZVgoMCk7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjJzIGVhc2U7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG4ubWVudWJhcl9faXRlbSAubWVudWJhcl9fbGluazo6YmVmb3JlIHtcbiAgICAvKiAzIG9yYW5nZSBkb3RzIGNlbnRlcmVkIGJlbG93IHRoZSBsaW5rICovXG4gICAgY29udGVudDogXCLigKIg4oCiIOKAolwiO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgYm90dG9tOiAwLjVyZW07XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgIGNvbG9yOiB2YXIoLS10b3NhLW9yYW5nZSk7XG4gICAgZm9udC1zaXplOiAwLjY1cmVtO1xuICAgIGxldHRlci1zcGFjaW5nOiAzcHg7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzIGVhc2U7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG4ubmF2YmFyIHVsLm1lbnViYXJfX2Ryb3Bkb3duOjpiZWZvcmV7XG4gICAgY29udGVudDogXCJcIjtcbn1cbi5tZW51YmFyX19pdGVtLnNob3c6bm90KC5tZW51YmFyX19pdGVtLS1hY2NvdW50KTo6YWZ0ZXIsXG4ubWVudWJhcl9faXRlbTpob3Zlcjpub3QoLm1lbnViYXJfX2l0ZW0tLWFjY291bnQpOjphZnRlcixcbi5tZW51YmFyX19pdGVtOm5vdCgubWVudWJhcl9faXRlbS0tYWNjb3VudCk6aGFzKC5tZW51YmFyX19saW5rW2FyaWEtZXhwYW5kZWQ9XCJ0cnVlXCJdKTo6YWZ0ZXIge1xuICAgIHRyYW5zZm9ybTogc2NhbGVYKDEpO1xufVxuLm1lbnViYXJfX2l0ZW0uc2hvdzpub3QoLm1lbnViYXJfX2l0ZW0tLWFjY291bnQpIC5tZW51YmFyX19saW5rOjpiZWZvcmUsXG4ubWVudWJhcl9faXRlbTpob3Zlcjpub3QoLm1lbnViYXJfX2l0ZW0tLWFjY291bnQpIC5tZW51YmFyX19saW5rOjpiZWZvcmUsXG4ubWVudWJhcl9faXRlbTpub3QoLm1lbnViYXJfX2l0ZW0tLWFjY291bnQpIC5tZW51YmFyX19saW5rW2FyaWEtZXhwYW5kZWQ9XCJ0cnVlXCJdOjpiZWZvcmUge1xuICAgIG9wYWNpdHk6IDE7XG59XG5cbi8qIERyb3Bkb3duIG1lbnVzIOKAlCBjYXJkcyBzdGFja2VkIHdpdGggbm8gZ2FwLCBubyByb3VuZGVkIGNvcm5lcnMgKi9cbi5uYXZiYXIgLm1lbnViYXJfX2Ryb3Bkb3duIHtcbiAgICBtYXJnaW4tdG9wOiAxLjJyZW07XG4gICAgcGFkZGluZzogMDtcbiAgICBtaW4td2lkdGg6IDI4MHB4O1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBib3gtc2hhZG93OiAwIDhweCAyNHB4IHJnYmEoMCwgMCwgMCwgMC4wOCk7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG59XG4vKiBVcHdhcmQtcG9pbnRpbmcgYXJyb3cgb24gdG9wIG9mIHRoZSBmaXJzdCBzdWJtZW51IGl0ZW0gKi9cbi5uYXZiYXIgLm1lbnViYXJfX2Ryb3Bkb3duOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogLThweDtcbiAgICBsZWZ0OiAyNHB4O1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXItbGVmdDogOXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1yaWdodDogOXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1ib3R0b206IDlweCBzb2xpZCAjZmZmO1xuICAgIGZpbHRlcjogZHJvcC1zaGFkb3coMCAtMnB4IDJweCByZ2JhKDAsIDAsIDAsIDAuMDYpKTtcbiAgICB6LWluZGV4OiAxO1xufVxuLyogRm9yIHRoZSBBY2NvdW50IGRyb3Bkb3duIChtZW51LWVuZCksIHBsYWNlIHRoZSBhcnJvdyBvbiB0aGUgcmlnaHQgc2lkZSAqL1xuLm5hdmJhciAuZHJvcGRvd24tbWVudS1lbmQubWVudWJhcl9fZHJvcGRvd246OmJlZm9yZSB7XG4gICAgbGVmdDogYXV0bztcbiAgICByaWdodDogMjRweDtcbn1cbi5uYXZiYXIgLm1lbnViYXJfX2Ryb3Bkb3duID4gbGkge1xuICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xufVxuLm5hdmJhciAubWVudWJhcl9fZHJvcGRvd24gLm1lbnViYXJfX2Ryb3Bkb3duLWl0ZW0ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgZ2FwOiAxcmVtO1xuICAgIHBhZGRpbmc6IDFyZW0gMS4yNXJlbTtcbiAgICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGNvbG9yOiAjMWExYTFhO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgwLCAwLCAwLCAwLjA2KTtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjE1cyBlYXNlLCBiYWNrZ3JvdW5kLWNvbG9yIDAuMTVzIGVhc2U7XG59XG4ubmF2YmFyIC5tZW51YmFyX19kcm9wZG93biA+IGxpOmxhc3QtY2hpbGQgLm1lbnViYXJfX2Ryb3Bkb3duLWl0ZW0ge1xuICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG59XG4ubmF2YmFyIC5tZW51YmFyX19kcm9wZG93biAubWVudWJhcl9fZHJvcGRvd24taXRlbSBpLmJpLWNoZXZyb24tcmlnaHQge1xuICAgIGNvbG9yOiB2YXIoLS10b3NhLW9yYW5nZSk7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIC13ZWJraXQtdGV4dC1zdHJva2U6IDAuNXB4IGN1cnJlbnRDb2xvcjtcbn1cbi5uYXZiYXIgLm1lbnViYXJfX2Ryb3Bkb3duIC5tZW51YmFyX19kcm9wZG93bi1pdGVtOmhvdmVyLFxuLm5hdmJhciAubWVudWJhcl9fZHJvcGRvd24gLm1lbnViYXJfX2Ryb3Bkb3duLWl0ZW06Zm9jdXMge1xuICAgIGNvbG9yOiB2YXIoLS10b3NhLW9yYW5nZSk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjZmMTtcbn1cblxuLyogTmVzdGVkIHN1Ym1lbnUgKHVzZWQgb24gU29sdXRpb25zID4gQ2VydGlmaWNhdGlvbnMpICovXG4ubmF2YmFyIC5tZW51YmFyX19oYXMtc3VibWVudSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuLm5hdmJhciAubWVudWJhcl9fc3VibWVudSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDEwMCU7XG4gICAgbWFyZ2luOiAwIDAgMCA0cHg7XG4gICAgbWluLXdpZHRoOiAyNjBweDtcbn1cbi5uYXZiYXIgLm1lbnViYXJfX3N1Ym1lbnU6OmJlZm9yZSB7XG4gICAgLyogTW92ZSB0aGUgYXJyb3cgdG8gdGhlIGxlZnQgc2lkZSBzbyBpdCBwb2ludHMgYmFjayBhdCB0aGUgcGFyZW50IGl0ZW0gKi9cbiAgICB0b3A6IDE2cHg7XG4gICAgbGVmdDogLThweDtcbiAgICBib3JkZXItbGVmdDogMDtcbiAgICBib3JkZXItcmlnaHQ6IDlweCBzb2xpZCAjZmZmO1xuICAgIGJvcmRlci10b3A6IDlweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItYm90dG9tOiA5cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgZmlsdGVyOiBkcm9wLXNoYWRvdygtMnB4IDAgMnB4IHJnYmEoMCwgMCwgMCwgMC4wNikpO1xufVxuXG4vKiBPcGVuIGRyb3Bkb3duIG9uIGhvdmVyIGZvciBkZXNrdG9wICovXG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAubmF2YmFyIC5uYXYtaXRlbS5kcm9wZG93bjpob3ZlciA+IC5kcm9wZG93bi1tZW51LFxuICAgIC5uYXZiYXIgLmRyb3Bkb3duOmhvdmVyID4gLmRyb3Bkb3duLW1lbnUsXG4gICAgLm5hdmJhciAubWVudWJhcl9faXRlbS0tYWNjb3VudDpob3ZlciA+IC5kcm9wZG93bi1tZW51IHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICAgIC5uYXZiYXIgLm1lbnViYXJfX2hhcy1zdWJtZW51OmhvdmVyID4gLm1lbnViYXJfX3N1Ym1lbnUsXG4gICAgLm5hdmJhciAubWVudWJhcl9faGFzLXN1Ym1lbnU6Zm9jdXMtd2l0aGluID4gLm1lbnViYXJfX3N1Ym1lbnUge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICAvKiBJbnZpc2libGUgaG92ZXIgYnJpZGdlIOKAlCBmaWxscyB0aGUgMS4ycmVtICgycmVtIGZvciB0aGUgQWNjb3VudFxuICAgICAgIG1lbnUpIGdhcCBiZXR3ZWVuIHRoZSBuYXYtbGluayBhbmQgdGhlIGRyb3Bkb3duIHNvIHRoZSBjdXJzb3JcbiAgICAgICBjYW4gdHJhdmVsIGJldHdlZW4gdGhlbSB3aXRob3V0IGxvc2luZyA6aG92ZXIuIFB1cmUgaG92ZXIgdGFyZ2V0LFxuICAgICAgIG5vIHZpc2libGUgY2hhbmdlLiAqL1xuICAgIC5uYXZiYXIgLm1lbnViYXJfX2Ryb3Bkb3duOjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAtMS4ycmVtO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgaGVpZ2h0OiAxLjJyZW07XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgICB9XG4gICAgLm5hdmJhciAubWVudWJhcl9faXRlbS0tYWNjb3VudCA+IC5kcm9wZG93bi1tZW51LWVuZDo6YWZ0ZXIge1xuICAgICAgICB0b3A6IC0ycmVtO1xuICAgICAgICBoZWlnaHQ6IDJyZW07XG4gICAgfVxuICAgIC5uYXZiYXIgLm1lbnViYXJfX2l0ZW0tLWxhbmcgPiAuZHJvcGRvd24tbWVudS1lbmQ6OmFmdGVyIHtcbiAgICAgICAgdG9wOiBjYWxjKC0ycmVtIC0gM3B4KTtcbiAgICAgICAgaGVpZ2h0OiBjYWxjKDJyZW0gKyAzcHgpO1xuICAgIH1cbn1cblxuLm5hdmJhciAubWVudWJhcl9faXRlbS0tYWNjb3VudCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuLm5hdmJhciAubWVudWJhcl9faXRlbS0tYWNjb3VudCA+IC5kcm9wZG93bi1tZW51LWVuZCB7XG4gICAgcmlnaHQ6IDA7XG4gICAgbGVmdDogYXV0bztcbiAgICBtYXJnaW4tdG9wOiAycmVtO1xufVxuXG4vKiBMYW5ndWFnZSBzd2l0Y2hlcjogc2FtZSBwbGFjZW1lbnQgYXMgdGhlIEFjY291bnQgbWVudSAqL1xuLm5hdmJhciAubWVudWJhcl9faXRlbS0tbGFuZyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuLm5hdmJhciAubWVudWJhcl9faXRlbS0tbGFuZyA+IC5kcm9wZG93bi1tZW51LWVuZCB7XG4gICAgcmlnaHQ6IDA7XG4gICAgbGVmdDogYXV0bztcbiAgICBtYXJnaW4tdG9wOiBjYWxjKDJyZW0gKyAzcHgpO1xuICAgIG1pbi13aWR0aDogMjAwcHg7XG59XG4ubmF2YmFyIC5tZW51YmFyX19pdGVtLS1sYW5nIC5tZW51YmFyX19kcm9wZG93bi1pdGVtIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgZ2FwOiAxMHB4O1xufVxuLm5hdmJhciAubWVudWJhcl9faXRlbS0tbGFuZyAubWVudWJhcl9fZHJvcGRvd24taXRlbS5pcy1hY3RpdmUsXG4ubmF2YmFyIC5tZW51YmFyX19pdGVtLS1sYW5nIC5tZW51YmFyX19kcm9wZG93bi1pdGVtLmlzLWFjdGl2ZSAubG9naW4taGVhZGVyX19sYW5nLWNvZGUtbWluaSB7XG4gICAgY29sb3I6IHZhcigtLXRvc2Etb3JhbmdlKTtcbn1cblxuLyog4pSA4pSAIEhlcm8g4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAICovXG4vKiBGdWxsIHdpZHRoIGhlcm8gd2l0aCBiYWNrZ3JvdW5kIGltYWdlIGNvdmVyaW5nIHRoZSBlbnRpcmUgc2VjdGlvbi4gVGV4dCBvdmVybGF5cyBvbiB0aGUgbGVmdC4gKi9cbi5oZXJvIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWluLWhlaWdodDogODV2aDtcbn1cblxuLmhlcm9fX2JnIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgaW5zZXQ6IDA7XG4gICAgei1pbmRleDogMTtcbn1cblxuLmhlcm9fX2JnLWltZyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG9iamVjdC1maXQ6IGNvdmVyO1xufVxuXG4uaGVyb19fYmc6OmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgaW5zZXQ6IDA7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDkwZGVnLCByZ2JhKDI1NSwyNTUsMjU1LDAuOTIpIDAlLCByZ2JhKDI1NSwyNTUsMjU1LDAuNykgNDAlLCByZ2JhKDI1NSwyNTUsMjU1LDApIDY1JSk7XG59XG5cbi5oZXJvX190aXRsZSB7XG4gICAgZm9udC1zaXplOiBjbGFtcCgyLjI1cmVtLCA0LjV2dywgMy41cmVtKTtcbiAgICBjb2xvcjogIzFhMWEyZTtcbn1cblxuLmhlcm9fX3N1YnRpdGxlIHtcbiAgICBjb2xvcjogIzU1NTtcbiAgICBtYXgtd2lkdGg6IDUwMHB4O1xufVxuXG4ubWluLXZoLTc1IHtcbiAgICBtaW4taGVpZ2h0OiA3NXZoO1xufVxuXG4vKiDilIDilIAgQmV5b25kIERpcGxvbWEg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAICovXG4uYmV5b25kLWRpcGxvbWEge1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcGFkZGluZzogODBweCAwO1xufVxuXG4vKiBWZWN0b3IucG5nIGRlY29yYXRpdmUgc2hhcGUgb24gdGhlIGxlZnQgKi9cbi5iZXlvbmQtZGlwbG9tYTo6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA0MHB4O1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDQ5JTtcbiAgICBoZWlnaHQ6IDExMCU7XG4gICAgYmFja2dyb3VuZDogdXJsKCcuLi9pbWFnZXMvaG9tZS92ZWN0b3ItYmV5b25kLnBuZycpIG5vLXJlcGVhdCBsZWZ0IHRvcDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIHotaW5kZXg6IDA7XG4gICAgb3BhY2l0eTogMC41O1xufVxuXG4uYmV5b25kLWRpcGxvbWEgLmNvbnRhaW5lci14bCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDE7XG59XG5cblxuXG4vKiBHcmV5IGRvdHMgYWJvdmUgdGhlIGJleW9uZC1kaXBsb21hIGltYWdlICovXG4uYmV5b25kLWRpcGxvbWFfX2dyZXktZG90cyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBnYXA6IDE2cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMTZweDtcbn1cblxuLmJleW9uZC1kaXBsb21hX19ncmV5LWRvdHMgc3BhbiB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiAxMHB4O1xuICAgIGhlaWdodDogMTBweDtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgYmFja2dyb3VuZDogI2MwYzBjMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG59XG5cbi5iZXlvbmQtZGlwbG9tYV9faW1hZ2Utd3JhcHBlciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuLmJleW9uZC1kaXBsb21hX19pbWFnZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDQ4MHB4O1xuICAgIGhlaWdodDogNTgwcHg7XG4gICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgb2JqZWN0LXBvc2l0aW9uOiA2MCUgMTUlO1xuICAgIGNsaXAtcGF0aDogcG9seWdvbigwIDAsIDgyJSAwLCAxMDAlIDE0JSwgMTAwJSAxMDAlLCAwIDEwMCUpO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG59XG5cbi8qIFN0YXQgY2FyZCBvdmVybGFwcGluZyB0aGUgaW1hZ2UgYXQgYm90dG9tLXJpZ2h0ICovXG4uYmV5b25kLWRpcGxvbWFfX3N0YXQtY2FyZCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogNDBweDtcbiAgICByaWdodDogLTYwcHg7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIHBhZGRpbmc6IDIycHggMjRweDtcbiAgICBib3gtc2hhZG93OiAwIDhweCA0MHB4IHJnYmEoMCwwLDAsMC4wOCk7XG4gICAgbWF4LXdpZHRoOiAyMTBweDtcbiAgICB6LWluZGV4OiAzO1xufVxuXG4vKiBCbHVlIGNpcmNsZSBicmllZmNhc2UgaWNvbiBmbG9hdGluZyBhdCB0b3AtcmlnaHQgb2Ygc3RhdCBjYXJkICovXG4uYmV5b25kLWRpcGxvbWFfX3N0YXQtaWNvbiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogLTIwcHg7XG4gICAgcmlnaHQ6IC0yMHB4O1xuICAgIHdpZHRoOiA1MnB4O1xuICAgIGhlaWdodDogNTJweDtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS10b3NhLWJsdWUpO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgei1pbmRleDogNDtcbiAgICBib3gtc2hhZG93OiAwIDRweCAxNnB4IHJnYmEoNjksNjksMjE5LDAuMyk7XG59XG5cbi5iZXlvbmQtZGlwbG9tYV9fc3RhdC1udW1iZXIge1xuICAgIGZvbnQtc2l6ZTogMi42cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgY29sb3I6IHZhcigtLXRvc2EtYmx1ZSk7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgbWFyZ2luLWJvdHRvbTogMTJweDtcbiAgICBwYWRkaW5nLWxlZnQ6IDEycHg7XG4gICAgYm9yZGVyLWxlZnQ6IDRweCBzb2xpZCB2YXIoLS10b3NhLWJsdWUpO1xufVxuXG4uYmV5b25kLWRpcGxvbWFfX3N0YXQtdGV4dCB7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBjb2xvcjogIzY2NjtcbiAgICBtYXJnaW46IDA7XG4gICAgbGluZS1oZWlnaHQ6IDEuNDtcbn1cblxuLyogU29mdHdhcmUgaWNvbnMgcm93IGJlbG93IHRoZSBpbWFnZSAqL1xuLmJleW9uZC1kaXBsb21hX19zb2Z0d2FyZS1pY29ucyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBnYXA6IDIwcHg7XG4gICAgbWFyZ2luLXRvcDogNDBweDtcbn1cblxuLmJleW9uZC1kaXBsb21hX19zdy1pY29uIHtcbiAgICB3aWR0aDogNjRweDtcbiAgICBoZWlnaHQ6IDY0cHg7XG4gICAgYmFja2dyb3VuZDogI2Y1ZjVmNTtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4uYmV5b25kLWRpcGxvbWFfX3N3LWljb24gaW1nIHtcbiAgICB3aWR0aDogMzZweDtcbiAgICBoZWlnaHQ6IDM2cHg7XG4gICAgb2JqZWN0LWZpdDogY29udGFpbjtcbn1cblxuLyogUmlnaHQgY29sdW1uIHRleHQgc3R5bGluZyAqL1xuLmJleW9uZC1kaXBsb21hIC5zZWN0aW9uLXRpdGxlIHtcbiAgICBjb2xvcjogIzFhMWEyZTtcbiAgICBmb250LXNpemU6IGNsYW1wKDJyZW0sIDR2dywgM3JlbSk7XG4gICAgbGluZS1oZWlnaHQ6IDEuMTU7XG59XG5cbi8qIEhpZ2hsaWdodGVkIHRleHQgaW5zaWRlIGJleW9uZC1kaXBsb21hIHBhcmFncmFwaCAqL1xuLnRleHQtaGlnaGxpZ2h0IHtcbiAgICBjb2xvcjogdmFyKC0tdG9zYS1vcmFuZ2UpO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgdGV4dC11bmRlcmxpbmUtb2Zmc2V0OiAzcHg7XG59XG5cbi8qIOKUgOKUgCBDZXJ0aWZ5IFNraWxscyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIAgKi9cbi5jZXJ0aWZ5LXNraWxscyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YwZjdmNztcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltYWdlcy9ob21lL3ZlY3Rvci1jZXJ0aWZ5c2xpZGVyLnBuZycpLCBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCAjZjBmN2Y3IDAlLCAjZmZmIDEwMCUpO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQsIG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyLCBjZW50ZXIgY2VudGVyO1xuICAgIGJhY2tncm91bmQtc2l6ZTogYXV0bywgY292ZXI7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLyogU3dpcGVyIGNvbnRhaW5lciAtIGZhZGUgYXV4IGJvcmRzIGdhdWNoZSBldCBkcm9pdCAqL1xuLnN3aXBlci5jZXJ0aWZ5LXN3aXBlciB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgb3ZlcmZsb3c6IHZpc2libGUgIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLXRvcDogMzBweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogNDBweDtcbiAgICAtd2Via2l0LW1hc2staW1hZ2U6IGxpbmVhci1ncmFkaWVudChcbiAgICAgICAgdG8gcmlnaHQsXG4gICAgICAgIHRyYW5zcGFyZW50IDAlLFxuICAgICAgICBibGFjayAxMiUsXG4gICAgICAgIGJsYWNrIDg4JSxcbiAgICAgICAgdHJhbnNwYXJlbnQgMTAwJVxuICAgICk7XG4gICAgbWFzay1pbWFnZTogbGluZWFyLWdyYWRpZW50KFxuICAgICAgICB0byByaWdodCxcbiAgICAgICAgdHJhbnNwYXJlbnQgMCUsXG4gICAgICAgIGJsYWNrIDEyJSxcbiAgICAgICAgYmxhY2sgODglLFxuICAgICAgICB0cmFuc3BhcmVudCAxMDAlXG4gICAgKTtcbn1cblxuLmNlcnRpZnktc3dpcGVyIC5zd2lwZXItd3JhcHBlciB7XG4gICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhciAhaW1wb3J0YW50O1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhciAhaW1wb3J0YW50O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybTtcbiAgICBvdmVyZmxvdzogdmlzaWJsZSAhaW1wb3J0YW50O1xufVxuXG4vKiBPdmVycmlkZSBTd2lwZXIgZGVmYXVsdCB3aWR0aDogMTAwJSBvbiBzbGlkZXMgLSBmaXhlZCB3aWR0aCAqL1xuLmNlcnRpZnktc3dpcGVyIC5zd2lwZXItc2xpZGUge1xuICAgIHdpZHRoOiAyNjBweCAhaW1wb3J0YW50O1xuICAgIG1pbi13aWR0aDogMjYwcHggIWltcG9ydGFudDtcbiAgICBtYXgtd2lkdGg6IDI2MHB4ICFpbXBvcnRhbnQ7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG59XG5cbi5jZXJ0aWZ5LWNhcmQge1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgcGFkZGluZzogMzJweCAyMHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB3aWR0aDogMjYwcHg7XG4gICAgbWluLXdpZHRoOiAyNjBweDtcbiAgICBtYXgtd2lkdGg6IDI2MHB4O1xuICAgIGhlaWdodDogMjgwcHg7XG4gICAgbWluLWhlaWdodDogMjgwcHg7XG4gICAgbWF4LWhlaWdodDogMjgwcHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBmbGV4LXNocmluazogMDtcbiAgICBtYXJnaW46IDA7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgIGJveC1zaGFkb3c6IDBweCAzcHggMjBweCAjZGVkZWRlO1xufVxuXG4uY2VydGlmeS1jYXJkX19pY29uIHtcbiAgICB3aWR0aDogMTAwcHg7XG4gICAgaGVpZ2h0OiAxMDBweDtcbiAgICBtaW4td2lkdGg6IDEwMHB4O1xuICAgIG1pbi1oZWlnaHQ6IDEwMHB4O1xuICAgIG1hcmdpbjogYXV0bztcbiAgICBtYXJnaW4tYm90dG9tOiAyZW07XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgZmxleC1zaHJpbms6IDA7XG59XG5cbi5jZXJ0aWZ5LWNhcmRfX2ljb24gaW1nIHtcbiAgICB3aWR0aDogMTAwcHggIWltcG9ydGFudDtcbiAgICBoZWlnaHQ6IDEwMHB4ICFpbXBvcnRhbnQ7XG4gICAgbWluLXdpZHRoOiAxMDBweDtcbiAgICBtaW4taGVpZ2h0OiAxMDBweDtcbiAgICBvYmplY3QtZml0OiBjb250YWluO1xuICAgIG9iamVjdC1wb3NpdGlvbjogY2VudGVyO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZsZXgtc2hyaW5rOiAwO1xufVxuXG4vKiBCdW5kbGUgY2FyZHMg4oCUIHRoZSBidW5kbGUgYmFubmVyIGlzIHdpZGUsIHNvIG92ZXJyaWRlIHRoZSBzcXVhcmUgaWNvbiBzbG90ICovXG4uY2VydGlmeS1jYXJkLS1idW5kbGUge1xuICAgIGNvbG9yOiBpbmhlcml0O1xufVxuLmNlcnRpZnktY2FyZF9faWNvbi0tYnVuZGxlIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEyMHB4O1xuICAgIG1pbi13aWR0aDogMDtcbiAgICBtaW4taGVpZ2h0OiAwO1xuICAgIG1hcmdpbi1ib3R0b206IDEuMmVtO1xufVxuLmNlcnRpZnktY2FyZF9faWNvbi0tYnVuZGxlIGltZyB7XG4gICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICBoZWlnaHQ6IDEwMCUgIWltcG9ydGFudDtcbiAgICBtaW4td2lkdGg6IDA7XG4gICAgbWluLWhlaWdodDogMDtcbiAgICBvYmplY3QtZml0OiBjb250YWluO1xufVxuXG4uY2VydGlmeS1jYXJkX19sYWJlbCB7XG4gICAgZm9udC1zaXplOiAwLjhyZW07XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICB3b3JkLWJyZWFrOiBicmVhay13b3JkO1xuICAgIG92ZXJmbG93LXdyYXA6IGJyZWFrLXdvcmQ7XG4gICAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBjb2xvcjogIzFhMWEyZTtcbiAgICBtYXJnaW46IDA7XG4gICAgbGluZS1oZWlnaHQ6IDEuMztcbiAgICBtaW4taGVpZ2h0OiAyLjZlbTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi8qIOKUgOKUgCBDZXJ0aWZpY2F0aW9uIE9mZmVyaW5ncyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIAgKi9cbi5jZXJ0LW9mZmVyaW5ncyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1pbi1oZWlnaHQ6IDYwMHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMzODQ2ZDg7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWFnZXMvY2VydGlmaWNhdGlvbi9Hcm91cCAxMDgucG5nJyk7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbn1cblxuLmNlcnQtb2ZmZXJpbmdzX19oZWFkaW5nIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgYmFja2dyb3VuZDogI0ZGRTM1MDtcbiAgICBjb2xvcjogIzFhMWEyZTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwcHg7XG4gICAgcGFkZGluZzogMTRweCA0OHB4O1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICB0ZXh0LXdyYXA6IGJhbGFuY2U7XG4gICAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTtcbiAgICBmb250LXNpemU6IGNsYW1wKDFyZW0sIDIuNHZ3LCAxLjlyZW0pO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG59XG4uY2VydC1vZmZlcmluZ3NfX2xlYWQge1xuICAgIG1heC13aWR0aDogNzIwcHg7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgZm9udC1zaXplOiAxLjA2MjVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuNjtcbn1cbi5jZXJ0LW9mZmVyaW5nc19fdGFicy1sYWJlbCB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMDJlbTtcbiAgICBmb250LXNpemU6IDJyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xufVxuXG4uY2VydC1vZmZlcmluZ3NfX2JnIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgaW5zZXQ6IDA7XG4gICAgei1pbmRleDogMDtcbn1cblxuLmNlcnQtb2ZmZXJpbmdzX19iZy1pbWcge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICBvYmplY3QtcG9zaXRpb246IHJpZ2h0IGNlbnRlcjtcbn1cblxuLmNlcnQtb2ZmZXJpbmdzX19hcnJvdyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDA7XG4gICAgdG9wOiAwO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB3aWR0aDogYXV0bztcbiAgICBvYmplY3QtZml0OiBjb250YWluO1xuICAgIG9iamVjdC1wb3NpdGlvbjogbGVmdCBjZW50ZXI7XG4gICAgei1pbmRleDogMTtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuLmNlcnQtb2ZmZXJpbmdzX19jYXJkIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgcGFkZGluZzogNDhweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMjtcbn1cblxuLmNlcnQtb2ZmZXJpbmdzX19sb2dvLWl0ZW0ge1xuICAgIHBhZGRpbmc6IDhweCAwO1xufVxuXG4uY2VydC1vZmZlcmluZ3NfX2xvZ28tbGluZSB7XG4gICAgaGVpZ2h0OiAzcHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYm9yZGVyLXJhZGl1czogMnB4O1xufVxuXG4vKiDilIDilIAgTGVhcm5pbmcgUGxhdGZvcm0g4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAICovXG4ubGVhcm5pbmctcGxhdGZvcm0ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWFnZXMvaG9tZS9ncmFkaWVudC1iZy5wbmcnKTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3Zlcjtcbn1cblxuLnBsYXRmb3JtLWZlYXR1cmVfX2ljb24ge1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIHdpZHRoOiA1NnB4O1xuICAgIGhlaWdodDogNTZweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4vKiBTdWJ0bGUgc2hhZG93IGVsbGlwc2UgYmVsb3cgdGhlIGljb24gKi9cbi5wbGF0Zm9ybS1mZWF0dXJlX19pY29uOjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogLTRweDtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgIHdpZHRoOiA0NHB4O1xuICAgIGhlaWdodDogOHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDY5LCA2OSwgMjE5LCAwLjA4KTtcbiAgICBmaWx0ZXI6IGJsdXIoM3B4KTtcbn1cblxuLnBsYXRmb3JtLWZlYXR1cmVfX2ljb24gaW1nLFxuLnBsYXRmb3JtLWZlYXR1cmVfX2ljb24gdmlkZW8ge1xuICAgIHdpZHRoOiA0OHB4O1xuICAgIGhlaWdodDogNDhweDtcbiAgICBvYmplY3QtZml0OiBjb250YWluO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAxO1xufVxuXG4vKiBXaHktY2hvb3NlICYgV2hvLXdlLXNlcnZlIGljb24gc2l6ZSBjb25zdHJhaW50cyAqL1xuLndoeS1jYXJkX19pY29uIHtcbiAgICB3aWR0aDogNjRweDtcbiAgICBoZWlnaHQ6IDY0cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMTJweDtcbn1cbi53aHktY2FyZF9faWNvbiBpbWcsXG4ud2h5LWNhcmRfX2ljb24gdmlkZW8ge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBvYmplY3QtZml0OiBjb250YWluO1xufVxuLyog4pSA4pSAIFdobyBXZSBTZXJ2ZSDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIAgKi9cbi53aG8td2Utc2VydmUge1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgcGFkZGluZzogNDBweCAwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4ud2hvLXdlLXNlcnZlIC5jb250YWluZXIteGwge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLXRvc2EtYmx1ZSkgdXJsKCcuLi9pbWFnZXMvaG9tZS92ZWN0b3Itd2hvd2VzZXJ2ZS5wbmcnKSBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3VudGFpbjtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBwYWRkaW5nOiA2NHB4IDU2cHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbi14OiA4MCU7XG4gICAgY2xpcC1wYXRoOiBwb2x5Z29uKDAgMCwgOTQlIDAsIDEwMCUgMTQlLCAxMDAlIDEwMCUsIDAgMTAwJSk7XG59XG5cbi53aG8td2Utc2VydmUgLmNvbC1sZy03e1xuICAgIHBhZGRpbmctdG9wOiA0ZW07XG59XG5cbi53aG8td2Utc2VydmUgLmNvbC1sZy01e1xuICAgcGFkZGluZzogMCUgMyU7XG59XG5cbi53aG8td2Utc2VydmUgLnNlY3Rpb24tZG90cy0tb3JhbmdlIHNwYW57XG4gICAgYmFja2dyb3VuZDogdmFyKC0tdG9zYS15ZWxsb3cpICFpbXBvcnRhbnQ7XG59XG4ud2hvLXdlLXNlcnZlIC5zZWN0aW9uLXRpdGxlIHtcbiAgICBjb2xvcjogI2ZmZjtcbn1cblxuLndoby13ZS1zZXJ2ZSBwIHtcbiAgICBjb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwwLjg1KTtcbn1cblxuLnNlY3Rpb24tZG90cy0tb3JhbmdlIHNwYW4ge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLXRvc2Etb3JhbmdlKSAhaW1wb3J0YW50O1xufVxuXG4uc2VjdGlvbi1kb3RzLS15ZWxsb3cgc3BhbiB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tdG9zYS15ZWxsb3cpICFpbXBvcnRhbnQ7XG59XG5cbi5zZXJ2ZS1jYXJkIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIHBhZGRpbmc6IDQxcHggMjBweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG59XG5cbi5zZXJ2ZS1jYXJkX190aXRsZSB7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIGNvbG9yOiAjMWExYTJlO1xuICAgIG1hcmdpbjogMDtcbn1cblxuLnNlcnZlLWNhcmRfX2ljb24ge1xuICAgIHdpZHRoOiAxMDBweDtcbiAgICBoZWlnaHQ6IDEwMHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDY2cHg7XG59XG4uc2VydmUtY2FyZF9faWNvbiBpbWcsXG4uc2VydmUtY2FyZF9faWNvbiB2aWRlbyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG9iamVjdC1maXQ6IGNvbnRhaW47XG59XG5cbi5wbGF0Zm9ybS1mZWF0dXJlX190aXRsZSB7XG4gICAgZm9udC1zaXplOiAxLjFyZW07XG4gICAgY29sb3I6IHZhcigtLXRvc2EtYmx1ZSkgIWltcG9ydGFudDtcbn1cblxuLnBsYXRmb3JtLWZlYXR1cmVfX3RleHQge1xuICAgIGZvbnQtc2l6ZTogMC45cmVtO1xufVxuXG4vKiDilIDilIAgV2h5IENob29zZSDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIAgKi9cbi53aHktY2hvb3NlIHtcbiAgICBiYWNrZ3JvdW5kOiAjRTZGM0Y5IHVybCgnLi4vaW1hZ2VzL2hvbWUvdmVjdG9yLXdoeWNob29zZS5wbmcnKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBhZGRpbmc6IDgwcHggMDtcbn1cblxuLndoeS1jaG9vc2UgLmNvbnRhaW5lci14bCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDE7XG59XG5cbi53aHktY2hvb3NlIC5zZWN0aW9uLXRpdGxlIHtcbiAgICBjb2xvcjogIzFhMWEyZTtcbn1cblxuLndoeS1jaG9vc2UgLnJvdyB7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbn1cblxuLndoeS1jaG9vc2UgLndoeS1jYXJkIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgcGFkZGluZzogNDBweCAyOHB4O1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNFNkYzRjk7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1pbi1oZWlnaHQ6IDQzMHB4O1xufVxuXG4ud2h5LWNhcmRfX2ljb24ge1xuICAgIHdpZHRoOiA2NHB4O1xuICAgIGhlaWdodDogNjRweDtcbiAgICBtYXJnaW4tYm90dG9tOiAxNnB4O1xufVxuXG4ud2h5LWNhcmRfX2ljb24gaW1nLFxuLndoeS1jYXJkX19pY29uIHZpZGVvIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgb2JqZWN0LWZpdDogY29udGFpbjtcbn1cblxuLyogU21hbGwgYmx1ZSB1bmRlcmxpbmUgYmV0d2VlbiBpY29uIGFuZCB0aXRsZSAtIGJsdXJyZWQgKi9cbi53aHktY2FyZF9fbGluZSB7XG4gICAgd2lkdGg6IDQwcHg7XG4gICAgaGVpZ2h0OiAycHg7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tdG9zYS1ibHVlKTtcbiAgICBtYXJnaW4tYm90dG9tOiAxNnB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgICBmaWx0ZXI6IGJsdXIoN3B4KTtcbiAgICBtYXJnaW4tbGVmdDogMTZweDtcbn1cblxuLndoeS1jYXJkX190aXRsZSB7XG4gICAgZm9udC1zaXplOiAxLjFyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBjb2xvcjogdmFyKC0tdG9zYS1ibHVlKTtcbiAgICBtYXJnaW4tYm90dG9tOiAxMnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI1O1xuICAgIG1hcmdpbi10b3A6IDYycHg7XG59XG5cbi53aHktY2FyZF9fdGV4dCB7XG4gICAgZm9udC1zaXplOiAwLjlyZW07XG4gICAgY29sb3I6ICM1NTU7XG4gICAgbGluZS1oZWlnaHQ6IDEuNTU7XG4gICAgbWFyZ2luOiAwO1xufVxuXG4vKiBDVEEgY2FyZDogb3JhbmdlIGJhY2tncm91bmQgKi9cbi53aHktY2FyZC0tY3RhIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS10b3NhLW9yYW5nZSkgdXJsKCcuLi9pbWFnZXMvaG9tZS93aHljaG9vc2VsaW5rLnBuZycpIG5vLXJlcGVhdCBib3R0b20gbGVmdCAhaW1wb3J0YW50O1xuICAgIGJhY2tncm91bmQtc2l6ZTogYXV0byA2NSUgIWltcG9ydGFudDtcbiAgICBwYWRkaW5nOiA0MHB4IDI4cHg7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgYm9yZGVyLXJpZ2h0OiBub25lICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4ycztcbn1cblxuLndoeS1jYXJkLS1jdGE6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNkNjNkMDkgIWltcG9ydGFudDtcbiAgICBjb2xvcjogI2ZmZjtcbn1cblxuLndoeS1jYXJkX19jdGEtdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMS4zNXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS4yNTtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBtYXJnaW46IDA7XG59XG5cblxuLndoeS1jYXJkX19jdGEtYXJyb3cge1xuICAgIHdpZHRoOiA1NnB4O1xuICAgIGhlaWdodDogNTZweDtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS10b3NhLXllbGxvdyk7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICBjb2xvcjogIzFhMWEyZTtcbiAgICBtYXJnaW4tdG9wOiAzMnB4O1xuICAgIGFsaWduLXNlbGY6IGZsZXgtZW5kO1xufVxuXG4vKiDilIDilIAgVGVzdGltb25pYWxzIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgCAqL1xuLnRlc3RpbW9uaWFscyB7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAjMDU2NzZBIDAlLCAjMDU2NzZBIDUwJSwgIzAwNTM1NiA1MCUsICMwMDUzNTYgMTAwJSk7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcGFkZGluZy1ib3R0b206IDI4MHB4ICFpbXBvcnRhbnQ7XG59XG5cbi50ZXN0aW1vbmlhbHM6OmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB3aWR0aDogMS41cHg7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4zKTtcbiAgICB6LWluZGV4OiAyO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG4udGVzdGltb25pYWxzX19sZWZ0IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMTtcbiAgICBwYWRkaW5nLWxlZnQ6IDgwcHg7XG4gICAgcGFkZGluZy10b3A6IDQwcHg7XG4gICAgcGFkZGluZy1ib3R0b206IDQwcHg7XG59XG5cbi50ZXN0aW1vbmlhbHM6OmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiA1MCU7XG4gICAgaGVpZ2h0OiAxMjklO1xuICAgIGJhY2tncm91bmQ6IHVybCgnLi4vaW1hZ2VzL2hvbWUvdmVjdG9yLXRlc3RpbW9uaWFsLWxlZnQucG5nJykgbm8tcmVwZWF0IGJvdHRvbSBsZWZ0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgei1pbmRleDogMDtcbn1cblxuLnRlc3RpbW9uaWFsc19fcmlnaHQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAxO1xufVxuXG4udGVzdGltb25pYWxzID4gLmNvbnRhaW5lci14bDo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IC0yODBweDtcbiAgICByaWdodDogLTIyMHB4O1xuICAgIHdpZHRoOiA2MDBweDtcbiAgICBoZWlnaHQ6IDUwMHB4O1xuICAgIGJhY2tncm91bmQ6IHVybCgnLi4vaW1hZ2VzL2hvbWUvdmVjdG9yLXRlc3RpbW9uaWFsLXJpZ2h0LnBuZycpIG5vLXJlcGVhdCBib3R0b20gcmlnaHQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIHotaW5kZXg6IDA7XG59XG5cbi50ZXN0aW1vbmlhbHMgPiAuY29udGFpbmVyLXhsIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi50ZXN0aW1vbmlhbC1jYXJkLmlzLWFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG59XG5cbi8qIFNwZWVjaC1idWJibGUgYmFja2dyb3VuZCBpbWFnZS4gVGhlIGltYWdlJ3MgdGFpbCBpcyB+MzQlIG9mIGl0cyBoZWlnaHQsIHNvXG4gICB0aGUgYm90dG9tIGluc2V0IGlzIGEgUEVSQ0VOVEFHRSBvZiB0aGUgY2FyZCBoZWlnaHQgKG5vdCBhIGZpeGVkIHB4KTogdGhlXG4gICBpbWFnZSdzIGJvZHkgdGhlbiBhbHdheXMgY292ZXJzIHRoZSBxdW90ZSArIGF1dGhvciBubyBtYXR0ZXIgaG93IGxvbmcgdGhlXG4gICBxdW90ZSBpcywgYW5kIHRoZSB0YWlsIGV4dGVuZHMgcHJvcG9ydGlvbmFsbHkgYmVsb3cuICovXG4udGVzdGltb25pYWwtY2FyZC5pcy1hY3RpdmU6OmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogLTQwcHg7XG4gICAgbGVmdDogLTQwcHg7XG4gICAgcmlnaHQ6IC00MHB4O1xuICAgIGJvdHRvbTogLTU1JTtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoJy4uL2ltYWdlcy9ob21lL3ZlY3Rvci10ZXN0aW1vbmlhbC1kaWFsb2cud2VicCcpIG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyO1xuICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJSAxMDAlO1xuICAgIHotaW5kZXg6IC0xO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG4udGVzdGltb25pYWxzX19hdmF0YXIge1xuICAgIHdpZHRoOiA4MHB4O1xuICAgIGhlaWdodDogODBweDtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgYm9yZGVyOiA1cHggc29saWQgdmFyKC0tdG9zYS10ZWFsKTtcbiAgICBtYXJnaW4tbGVmdDogLTE1cHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLnRlc3RpbW9uaWFsc19fYXZhdGFyOm50aC1jaGlsZCgxKSB7IHotaW5kZXg6IDE7IH1cbi50ZXN0aW1vbmlhbHNfX2F2YXRhcjpudGgtY2hpbGQoMikgeyB6LWluZGV4OiAyOyB9XG4udGVzdGltb25pYWxzX19hdmF0YXI6bnRoLWNoaWxkKDMpIHsgei1pbmRleDogMzsgfVxuXG4udGVzdGltb25pYWxzX19hdmF0YXI6Zmlyc3QtY2hpbGQge1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xufVxuXG4udGVzdGltb25pYWxzX19hdmF0YXIgaW1nIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZmlsdGVyOiBncmF5c2NhbGUoMTAwJSk7XG4gICAgdHJhbnNpdGlvbjogZmlsdGVyIDAuM3M7XG59XG5cbi50ZXN0aW1vbmlhbHNfX2F2YXRhci5pcy1hY3RpdmUgaW1nIHtcbiAgICBmaWx0ZXI6IGdyYXlzY2FsZSgwJSk7XG59XG5cblxuLnRlc3RpbW9uaWFsc19fbmF2LWJ0biB7XG4gICAgd2lkdGg6IDUycHg7XG4gICAgaGVpZ2h0OiA1MnB4O1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBmb250LXNpemU6IDEuMXJlbTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzO1xuICAgIGNsaXAtcGF0aDogcG9seWdvbigwIDAsIGNhbGMoMTAwJSAtIDE0cHgpIDAsIDEwMCUgMTRweCwgMTAwJSAxMDAlLCAwIDEwMCUpO1xufVxuXG4udGVzdGltb25pYWxzX19uYXYtYnRuLS1wcmV2IHtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIGNvbG9yOiB2YXIoLS10b3NhLW9yYW5nZSk7XG4gICAgY2xpcC1wYXRoOiBwb2x5Z29uKDE0cHggMCwgMTAwJSAwLCAxMDAlIDEwMCUsIDAgMTAwJSwgMCAxNHB4KTtcbn1cblxuLnRlc3RpbW9uaWFsc19fbmF2LWJ0bi0tcHJldjpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogI2YwZjBmMDtcbn1cblxuLnRlc3RpbW9uaWFsc19fbmF2LWJ0bi0tbmV4dCB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tdG9zYS1vcmFuZ2UpO1xuICAgIGNvbG9yOiAjZmZmO1xufVxuXG4udGVzdGltb25pYWxzX19uYXYtYnRuLS1uZXh0OmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjZDYzZDA5O1xufVxuXG4vKiBTbGlkZXIgd3JhcHBlciAqL1xuLnRlc3RpbW9uaWFsc19fc2xpZGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWF4LXdpZHRoOiA4MCU7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG59XG5cbi8qIEFsbCBzbGlkZXMgaGlkZGVuIGJ5IGRlZmF1bHQgKi9cbi50ZXN0aW1vbmlhbHNfX3NsaWRlIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG4vKiBBY3RpdmUgc2xpZGU6IGJsb2NrICsgZmFkZS1pbiBhbmltYXRpb24gKi9cbi50ZXN0aW1vbmlhbHNfX3NsaWRlLmlzLWFjdGl2ZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgYW5pbWF0aW9uOiB0ZXN0aW1vbmlhbC1mYWRlaW4gMC40cyBlYXNlIGZvcndhcmRzO1xufVxuXG5Aa2V5ZnJhbWVzIHRlc3RpbW9uaWFsLWZhZGVpbiB7XG4gICAgZnJvbSB7IG9wYWNpdHk6IDA7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxNHB4KTsgfVxuICAgIHRvICAgeyBvcGFjaXR5OiAxOyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH1cbn1cblxuLnRlc3RpbW9uaWFsLWNhcmQge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIHBhZGRpbmc6IDU2cHggNjRweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMjtcbiAgICBtaW4taGVpZ2h0OiA0NjBweDtcbn1cblxuLnRlc3RpbW9uaWFsc19fc2xpZGUuaXMtYWN0aXZlLnRlc3RpbW9uaWFsLWNhcmQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IG5vcm1hbDtcbn1cblxuLnRlc3RpbW9uaWFsLWNhcmRfX3F1b3RlIHAge1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGZvbnQtc2l6ZTogMS4zNXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS42O1xufVxuXG4udGVzdGltb25pYWwtY2FyZF9fYXV0aG9yLWxpbmUge1xuICAgIHdpZHRoOiA0cHg7XG4gICAgaGVpZ2h0OiA0OHB4O1xuICAgIGJhY2tncm91bmQ6IHZhcigtLXRvc2EteWVsbG93KTtcbiAgICBib3JkZXItcmFkaXVzOiAycHg7XG59XG5cbi50ZXN0aW1vbmlhbC1jYXJkX19hdXRob3ItaW1nIHtcbiAgICB3aWR0aDogNjBweDtcbiAgICBoZWlnaHQ6IDYwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgIGJvcmRlcjogNHB4IHNvbGlkIHZhcigtLXRvc2EtdGVhbCk7XG59XG5cbi50ZXN0aW1vbmlhbC1jYXJkX19hdXRob3ItbmFtZSB7XG4gICAgY29sb3I6IHZhcigtLXRvc2EteWVsbG93KTtcbiAgICBmb250LXNpemU6IDEuMXJlbTtcbn1cblxuLnRlc3RpbW9uaWFsLWNhcmRfX2F1dGhvci1yb2xlIHtcbiAgICBjb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwwLjcpO1xufVxuXG4vKiDilIDilIAgR2V0IFN0YXJ0ZWQg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAICovXG4uZ2V0LXN0YXJ0ZWQge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIHBhZGRpbmc6IDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbi10b3A6IC0yMjBweDtcbiAgICBtYXJnaW4tYm90dG9tOiAtMjIwcHg7XG4gICAgei1pbmRleDogMjtcbn1cblxuLmdldC1zdGFydGVkX19jYXJkIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS10b3NhLXllbGxvdyk7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXgtd2lkdGg6IDExNDBweDtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICAvKiBDbGlwLXBhdGggY3V0IG9uIHRvcC1yaWdodCB0byBtYXRjaCBkZXNpZ24gc3R5bGUgKi9cbiAgICBjbGlwLXBhdGg6IHBvbHlnb24oMCAwLCBjYWxjKDEwMCUgLSA2MHB4KSAwLCAxMDAlIDYwcHgsIDEwMCUgMTAwJSwgMCAxMDAlKTtcbn1cblxuLmdldC1zdGFydGVkX19jYXJkID4gLmNvbnRhaW5lci14bCB7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgbWF4LXdpZHRoOiBub25lO1xufVxuXG4uZ2V0LXN0YXJ0ZWRfX2ltYWdlLXdyYXBwZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgbWluLWhlaWdodDogNDIwcHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLmdldC1zdGFydGVkX19pbWFnZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG1heC1oZWlnaHQ6IDQ0MHB4O1xuICAgIG9iamVjdC1maXQ6IGNvdmVyO1xufVxuXG4vKiBCbG9nIHBhZ2UgdmFyaWFudDogaW1hZ2Ugc3RyZXRjaGVzIHRvIHRoZSBib3R0b20gb2YgdGhlIGNhcmQuICovXG4uZ2V0LXN0YXJ0ZWQtLWJsb2cgLmdldC1zdGFydGVkX19pbWFnZS13cmFwcGVyIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgbWluLWhlaWdodDogMDtcbn1cbi5nZXQtc3RhcnRlZC0tYmxvZyAuZ2V0LXN0YXJ0ZWRfX2ltYWdlIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgbWF4LWhlaWdodDogbm9uZTtcbiAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICBvYmplY3QtcG9zaXRpb246IGNlbnRlciBib3R0b207XG59XG5cbi5nZXQtc3RhcnRlZF9fdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogY2xhbXAoMS41cmVtLCAyLjh2dywgMi4yNXJlbSk7XG4gICAgY29sb3I6ICMxYTFhMmU7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjtcbn1cblxuLmdldC1zdGFydGVkX190ZXh0IHtcbiAgICBjb2xvcjogIzFhMWEyZTtcbiAgICBvcGFjaXR5OiAwLjg1O1xuICAgIGZvbnQtc2l6ZTogMS4wNXJlbTtcbn1cblxuLyog4pSA4pSAIE5ld3NsZXR0ZXIg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAICovXG4ubmV3c2xldHRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2VhZjNmYjtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBib3R0b207XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBhZGRpbmctdG9wOiAzMjBweCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctYm90dG9tOiA4MHB4ICFpbXBvcnRhbnQ7XG59XG5cbi5uZXdzbGV0dGVyX19pbnB1dC13cmFwcGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5uZXdzbGV0dGVyX19pbnB1dC1pY29uIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMTZweDtcbiAgICB0b3A6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgY29sb3I6ICM5OTk7XG4gICAgZm9udC1zaXplOiAxLjFyZW07XG59XG5cbi5uZXdzbGV0dGVyX19pbnB1dCB7XG4gICAgcGFkZGluZzogMTZweCAxNnB4IDE2cHggNDhweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZGRkO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgaGVpZ2h0OiA1NnB4O1xufVxuXG4ubmV3c2xldHRlcl9fc2VsZWN0IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDQ4cHg7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBoZWlnaHQ6IDU2cHg7XG59XG5cbi5uZXdzbGV0dGVyX19pbnB1dDpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS10b3NhLW9yYW5nZSk7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoMjQxLCA3MywgMTYsIDAuMTUpO1xufVxuXG4ubmV3c2xldHRlcl9fbXVsdGlzZWxlY3Qge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbi5uZXdzbGV0dGVyX19tdWx0aXNlbGVjdC10cmlnZ2VyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGdhcDogOHB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogNTZweDtcbiAgICBwYWRkaW5nOiAxNnB4IDE2cHggMTZweCA0OHB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNkZGQ7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICBjb2xvcjogIzZjNzU3ZDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbn1cbi5uZXdzbGV0dGVyX19tdWx0aXNlbGVjdC10cmlnZ2VyW2FyaWEtZXhwYW5kZWQ9XCJ0cnVlXCJdIHtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLXRvc2Etb3JhbmdlKTtcbiAgICBib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSgyNDEsIDczLCAxNiwgMC4xNSk7XG59XG4ubmV3c2xldHRlcl9fbXVsdGlzZWxlY3QtbGFiZWwge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cbi5uZXdzbGV0dGVyX19tdWx0aXNlbGVjdC1sYWJlbC5oYXMtc2VsZWN0aW9uIHtcbiAgICBjb2xvcjogIzIxMjUyOTtcbn1cbi5uZXdzbGV0dGVyX19tdWx0aXNlbGVjdC1jYXJldCB7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gICAgY29sb3I6ICM5OTk7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMTVzIGVhc2U7XG59XG4ubmV3c2xldHRlcl9fbXVsdGlzZWxlY3QtdHJpZ2dlclthcmlhLWV4cGFuZGVkPVwidHJ1ZVwiXSAubmV3c2xldHRlcl9fbXVsdGlzZWxlY3QtY2FyZXQge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG59XG4ubmV3c2xldHRlcl9fbXVsdGlzZWxlY3QtcGFuZWwge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IGNhbGMoMTAwJSArIDRweCk7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICB6LWluZGV4OiAyMDtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNkZGQ7XG4gICAgYm94LXNoYWRvdzogMCAxMHB4IDI4cHggcmdiYSgyMCwgMzAsIDYwLCAwLjE1KTtcbiAgICBwYWRkaW5nOiA4cHggMDtcbn1cbi5uZXdzbGV0dGVyX19tdWx0aXNlbGVjdC1vcHRpb24ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDEwcHg7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDEwcHggMTZweDtcbiAgICBmb250LXNpemU6IDAuOTVyZW07XG4gICAgY29sb3I6ICMyMTI1Mjk7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xufVxuLm5ld3NsZXR0ZXJfX211bHRpc2VsZWN0LW9wdGlvbjpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogI2Y1ZjdmYztcbn1cbi5uZXdzbGV0dGVyX19tdWx0aXNlbGVjdC1vcHRpb24gaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcbiAgICB3aWR0aDogMTZweDtcbiAgICBoZWlnaHQ6IDE2cHg7XG4gICAgYWNjZW50LWNvbG9yOiB2YXIoLS10b3NhLW9yYW5nZSk7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xufVxuLm5ld3NsZXR0ZXJfX2Vycm9yIHtcbiAgICBtYXJnaW46IDAgMCAxMnB4O1xuICAgIHBhZGRpbmc6IDEwcHggMTRweDtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDI0MSwgNzMsIDE2LCAwLjEpO1xuICAgIGJvcmRlci1sZWZ0OiAzcHggc29saWQgdmFyKC0tdG9zYS1vcmFuZ2UpO1xuICAgIGNvbG9yOiAjOGE0YjFhO1xuICAgIGZvbnQtc2l6ZTogMC45MnJlbTtcbiAgICBsaW5lLWhlaWdodDogMS40NTtcbn1cbi5uZXdzbGV0dGVyX19zdWNjZXNzIHtcbiAgICBwYWRkaW5nOiAxNHB4IDE4cHg7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcpO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjAsIDMwLCA2MCwgMC4xMik7XG4gICAgY29sb3I6ICMxYTFhMmU7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi8qIOKUgOKUgCBGb290ZXIg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAICovXG4uZm9vdGVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjMWExYTJlO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4uZm9vdGVyOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDIxcHg7XG4gICAgbGVmdDogMDtcbiAgICBib3R0b206IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYmFja2dyb3VuZDogdXJsKCcuLi9pbWFnZXMvdmVjdG9yLWZvb3Rlci5wbmcnKSBuby1yZXBlYXQgbGVmdCBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIHotaW5kZXg6IDA7XG59XG5cbi5mb290ZXIgPiAuY29udGFpbmVyLXhsIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMTtcbn1cblxuXG4uZm9vdGVyX19saW5rcyBhOmhvdmVyIHtcbiAgICBvcGFjaXR5OiAxICFpbXBvcnRhbnQ7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgIWltcG9ydGFudDtcbn1cblxuLmZvb3Rlcl9fc29jaWFsLWJ0biB7XG4gICAgd2lkdGg6IDQ0cHg7XG4gICAgaGVpZ2h0OiA0NHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgY2xpcC1wYXRoOiBwb2x5Z29uKDAgMCwgY2FsYygxMDAlIC0gMTJweCkgMCwgMTAwJSAxMnB4LCAxMDAlIDEwMCUsIDAgMTAwJSk7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyNTUsMjU1LDI1NSwwLjA4KTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgZm9udC1zaXplOiAxLjFyZW07XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4ycztcbiAgICBmbGV4LXNocmluazogMDtcbn1cblxuLmZvb3Rlcl9fc29jaWFsLWJ0bjpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyNTUsMjU1LDI1NSwwLjE4KTtcbiAgICBjb2xvcjogI2ZmZjtcbn1cblxuLmZvb3Rlcl9faGVhZGluZy1kb3RzIHNwYW4ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogNnB4O1xuICAgIGhlaWdodDogNnB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS10b3NhLW9yYW5nZSk7XG4gICAgbWFyZ2luLXJpZ2h0OiAzcHg7XG59XG5cbi8qIOKUgOKUgCBSZXNwb25zaXZlIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgCAqL1xuQG1lZGlhIChtYXgtd2lkdGg6IDk5MS45OHB4KSB7XG4gICAgLmhlcm8ge1xuICAgICAgICBtaW4taGVpZ2h0OiA2MHZoO1xuICAgIH1cblxuICAgIC5oZXJvX19iZzo6YWZ0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCByZ2JhKDI1NSwyNTUsMjU1LDAuOTUpIDAlLCByZ2JhKDI1NSwyNTUsMjU1LDAuODUpIDYwJSwgcmdiYSgyNTUsMjU1LDI1NSwwLjUpIDEwMCUpO1xuICAgIH1cblxuICAgIC5jZXJ0LW9mZmVyaW5nc19fc2hhcGUge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC5jZXJ0LW9mZmVyaW5nc19fY2FyZCB7XG4gICAgICAgIHBhZGRpbmc6IDMycHg7XG4gICAgfVxuXG4gICAgLmdldC1zdGFydGVkX19pbWFnZS13cmFwcGVyIHtcbiAgICAgICAgbWluLWhlaWdodDogMjUwcHg7XG4gICAgfVxufVxuXG4vKiDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZBcbiAgIENFUlRJRklDQVRJT05TIFBBR0VcbiAgIOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkCAqL1xuXG4vKiBDZXJ0IEhlcm8gKi9cbi5jZXJ0LWhlcm8ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nOiA5NnB4IDAgMTYwcHg7XG59XG4uY2VydC1oZXJvX19iZyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGluc2V0OiAwO1xuICAgIHotaW5kZXg6IDE7XG59XG4uY2VydC1oZXJvX19iZy1pbWcge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICBvYmplY3QtcG9zaXRpb246IGNlbnRlciA4OSU7XG59XG4uY2VydC1oZXJvX19iZzo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBpbnNldDogMDtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoOTBkZWcsIHJnYmEoMjU1LDI1NSwyNTUsMC45MikgMCUsIHJnYmEoMjU1LDI1NSwyNTUsMC43KSA0MCUsIHJnYmEoMjU1LDI1NSwyNTUsMCkgNjUlKTtcbn1cbi5jZXJ0LWhlcm9fX3JvdyB7XG4gICAgbWluLWhlaWdodDogNjB2aDtcbn1cbi5jZXJ0LWhlcm9fX3RpdGxlIHtcbiAgICBmb250LXNpemU6IGNsYW1wKDJyZW0sIDR2dywgMy4yNXJlbSk7XG4gICAgY29sb3I6ICMxYTFhMmU7XG59XG4uY2VydC1oZXJvX19zdWJ0aXRsZSB7XG4gICAgY29sb3I6ICMyMjI7XG4gICAgbWF4LXdpZHRoOiA1NDBweDtcbn1cblxuLyogQ2VydCBVbmlxdWUgU2VjdGlvbiAqL1xuLmNlcnQtdW5pcXVlIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbn1cbi5jZXJ0LXVuaXF1ZV9fY2FyZCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLXRvc2EtYmx1ZSk7XG4gICAgY2xpcC1wYXRoOiBwb2x5Z29uKDAgMCwgY2FsYygxMDAlIC0gODBweCkgMCwgMTAwJSA4MHB4LCAxMDAlIDEwMCUsIDAgMTAwJSk7XG4gICAgcGFkZGluZzogNXB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG59XG4uY2VydC11bmlxdWVfX2NhcmQtaW5uZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBjbGlwLXBhdGg6IHBvbHlnb24oMCAwLCBjYWxjKDEwMCUgLSA3OHB4KSAwLCAxMDAlIDc4cHgsIDEwMCUgMTAwJSwgMCAxMDAlKTtcbiAgICBiYWNrZ3JvdW5kOiAjRURFRUZCO1xuICAgIHBhZGRpbmc6IDcycHggNjRweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xufVxuLmNlcnQtdW5pcXVlX192ZWN0b3Ige1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogMzQwcHg7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi10b3A6IDMycHg7XG4gICAgb3BhY2l0eTogMC44NTtcbn1cbi5jZXJ0LXVuaXF1ZV9faXRlbSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICBnYXA6IDE2cHg7XG4gICAgcGFkZGluZzogMjBweCAwO1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKDY5LCA2OSwgMjE5LCAwLjIpO1xufVxuLmNlcnQtdW5pcXVlX19pdGVtcyAuY2VydC11bmlxdWVfX2l0ZW06Zmlyc3QtY2hpbGQge1xuICAgIGJvcmRlci10b3A6IG5vbmU7XG4gICAgcGFkZGluZy10b3A6IDA7XG59XG4uY2VydC11bmlxdWVfX2ljb24ge1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIHdpZHRoOiAzNnB4O1xuICAgIGhlaWdodDogMzZweDtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIHBhZGRpbmc6IDA7XG4gICAgb2JqZWN0LWZpdDogY29udGFpbjtcbn1cbi5jZXJ0LXVuaXF1ZV9fdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgY29sb3I6IHZhcigtLXRvc2EtYmx1ZSk7XG4gICAgbWFyZ2luLWJvdHRvbTogNnB4O1xufVxuLmNlcnQtdW5pcXVlX19kZXNjIHtcbiAgICBjb2xvcjogIzMzMztcbiAgICBsaW5lLWhlaWdodDogMS41NTtcbiAgICBmb250LXNpemU6IDAuOTVyZW07XG59XG5cbi8qIDUgU3RlcHMgcGlsbCB0aXRsZSAqL1xuLmNlcnQtdW5pcXVlX19zdGVwcyB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuLmNlcnQtc3RlcHNfX3RpdGxlLXBpbGwge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBib3JkZXI6IDJweCBzb2xpZCB2YXIoLS10b3NhLWJsdWUpO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwcHg7XG4gICAgcGFkZGluZzogMTBweCAzNnB4O1xuICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBjb2xvcjogdmFyKC0tdG9zYS1ibHVlKSAhaW1wb3J0YW50O1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgbWFyZ2luOiAzMnB4IDAgNDBweDtcbiAgICBsaW5lLWhlaWdodDogMS4yO1xufVxuLmNlcnQtdW5pcXVlX19pdGVtcyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogMzJweDtcbn1cbi5jZXJ0LXVuaXF1ZV9faXRlbSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICBnYXA6IDIwcHg7XG59XG4uY2VydC11bmlxdWVfX2ljb24ge1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIHdpZHRoOiA2NHB4O1xuICAgIGhlaWdodDogNjRweDtcbiAgICBvYmplY3QtZml0OiBjb250YWluO1xuICAgIGJvcmRlci1yYWRpdXM6IDEycHg7XG59XG4uY2VydC11bmlxdWVfX2JvZHkge1xuICAgIGZsZXg6IDE7XG59XG4uY2VydC11bmlxdWVfX3RpdGxlIHtcbiAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgY29sb3I6IHZhcigtLXRvc2EtYmx1ZSk7XG4gICAgbWFyZ2luLWJvdHRvbTogOHB4O1xufVxuLmNlcnQtdW5pcXVlX19kZXNjIHtcbiAgICBjb2xvcjogIzMzMztcbiAgICBsaW5lLWhlaWdodDogMS42O1xufVxuXG4vKiBDZXJ0IFN0ZXAgKGltYWdlLWJhc2VkKSAqL1xuLmNlcnQtc3RlcF9faW1nIHtcbiAgICB3aWR0aDogYXV0bztcbiAgICBoZWlnaHQ6IDI0MXB4O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogYXV0bztcbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIGFuZCAobWF4LXdpZHRoOiAxNDc5Ljk4cHgpIHtcbiAgICAuY2VydC1zdGVwX19pbWcge1xuICAgICAgICBoZWlnaHQ6IDE5MHB4O1xuICAgIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkgYW5kIChtYXgtd2lkdGg6IDExOTkuOThweCkge1xuICAgIC5jZXJ0LXN0ZXBfX2ltZyB7XG4gICAgICAgIGhlaWdodDogMTQ1cHg7XG4gICAgfVxufVxuLmNlcnQtc3RlcF9fZGVzYyB7XG4gICAgbWFyZ2luOiAxLjI1cmVtIDAgMDtcbiAgICBjb2xvcjogIzRhNGE1NTtcbiAgICBmb250LXNpemU6IDAuOXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS41NTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcGFkZGluZzogMCAuMjVyZW07XG59XG5cbi8qIENlcnQgT2ZmZXJpbmdzIFNlY3Rpb24gKi9cbi5jZXJ0LW9mZmVyaW5nc19fdGFicyB7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgZ2FwOiA4MHB4O1xuICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSBhbmQgKG1heC13aWR0aDogMTM5OS45OHB4KSB7XG4gICAgLmNlcnQtb2ZmZXJpbmdzX190YWJzIHtcbiAgICAgICAgZ2FwOiAyNHB4O1xuICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICB9XG4gICAgLmNlcnQtb2ZmZXJpbmdzX190YWJzIC5uYXYtaXRlbSB7XG4gICAgICAgIG1pbi13aWR0aDogMDtcbiAgICB9XG4gICAgLmNlcnQtb2ZmZXJpbmdzX190YWJzIC5uYXYtbGluayB7XG4gICAgICAgIHBhZGRpbmc6IDE2cHggMTJweDtcbiAgICB9XG59XG4uY2VydC1vZmZlcmluZ3NfX3RhYnMgLm5hdi1pdGVtIHtcbiAgICBmbGV4OiAxO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbi5jZXJ0LW9mZmVyaW5nc19fdGFicyAubmF2LWxpbmsge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGdhcDogOHB4O1xuICAgIGJvcmRlcjogMnB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC42KTtcbiAgICBjb2xvcjogIzc3NztcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIHBhZGRpbmc6IDI0cHggMjhweDtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpO1xuICAgIGJvcmRlci1yYWRpdXM6IDE2cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMnMsIGJvcmRlci1jb2xvciAwLjJzLCBib3gtc2hhZG93IDAuMnM7XG59XG4uY2VydC1vZmZlcmluZ3NfX3RhYnMgLm5hdi1saW5rLmFjdGl2ZSB7XG4gICAgY29sb3I6IHZhcigtLXRvc2EtYmx1ZSk7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICBib3JkZXItcmFkaXVzOiAxNnB4O1xuICAgIGJveC1zaGFkb3c6IDAgOHB4IDI0cHggcmdiYSgwLCAwLCAwLCAwLjEwKTtcbn1cbi5jZXJ0LW9mZmVyaW5nc19fdGFiLWxvZ28ge1xuICAgIGhlaWdodDogNjRweDtcbiAgICB3aWR0aDogYXV0bztcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgb2JqZWN0LWZpdDogY29udGFpbjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW46IGF1dG87XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAuY2VydC1vZmZlcmluZ3NfX3RhYnMge1xuICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICB9XG4gICAgLmNlcnQtb2ZmZXJpbmdzX190YWJzIC5uYXYtaXRlbSB7XG4gICAgICAgIG1pbi13aWR0aDogMDtcbiAgICB9XG59XG4uY2VydC1vZmZlcmluZ3NfX3RhYi1jaGV2cm9uIHtcbiAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgY29sb3I6ICM5YWEwYjU7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG59XG4uY2VydC1vZmZlcmluZ3NfX3RhYnMgLm5hdi1saW5rLmFjdGl2ZSAuY2VydC1vZmZlcmluZ3NfX3RhYi1jaGV2cm9uIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG59XG4uY2VydC1vZmZlcmluZ3NfX3RhYnMgLm5hdi1saW5rLmFjdGl2ZTo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICBib3R0b206IC0yOHB4O1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICBib3JkZXItbGVmdDogMTNweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItcmlnaHQ6IDEzcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXRvcDogMTVweCBzb2xpZCAjZmZmO1xufVxuLmNlcnQtb2ZmZXJpbmdzX19tb2NrdXAge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC44OCk7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDIwcHg7XG4gICAgYm94LXNoYWRvdzogMCAyMHB4IDYwcHggcmdiYSgwLCAwLCAwLCAwLjEyKTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIHBhZGRpbmc6IDMycHg7XG59XG4uY2VydC1vZmZlcmluZ3NfX21vY2t1cC1oZWFkZXIge1xuICAgIHBhZGRpbmc6IDhweCA4cHggMjBweDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuLmNlcnQtb2ZmZXJpbmdzX19tb2NrdXAtdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgICBjb2xvcjogIzFhMWEyZTtcbn1cbi5jZXJ0LW9mZmVyaW5nc19fbW9ja3VwLWNvbnRlbnQge1xuICAgIHBhZGRpbmc6IDI0cHggMzJweCAzMnB4O1xufVxuLmNlcnQtb2ZmZXJpbmdzX19hcHAtaWNvbiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgZ2FwOiAxMHB4O1xuICAgIGFzcGVjdC1yYXRpbzogMSAvIDE7XG4gICAgcGFkZGluZzogMTZweCAxMHB4O1xuICAgIGJhY2tncm91bmQ6ICNEOUQ5RDkzMztcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjRDlEOUQ5O1xuICAgIGJvcmRlci1yYWRpdXM6IDE0cHg7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGNvbG9yOiAjMWExYTFhO1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjJzLCBib3gtc2hhZG93IDAuMnMsIGJvcmRlci1jb2xvciAwLjJzLCBiYWNrZ3JvdW5kLWNvbG9yIDAuMnM7XG59XG4uY2VydC1vZmZlcmluZ3NfX2FwcC1pY29uOmhvdmVyIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTJweCk7XG4gICAgYm94LXNoYWRvdzogMCA2cHggMjBweCByZ2JhKDY5LCA2OSwgMjE5LCAwLjA4KTtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLXRvc2EtYmx1ZSk7XG4gICAgY29sb3I6IHZhcigtLXRvc2EtYmx1ZSk7XG59XG4uY2VydC1vZmZlcmluZ3NfX2FwcC1pY29uIGltZyB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIG1heC1oZWlnaHQ6IDc0cHg7XG4gICAgb2JqZWN0LWZpdDogY29udGFpbjtcbn1cbi5jZXJ0LW9mZmVyaW5nc19fYXBwLWljb24tLWJ1bmRsZSB7XG4gICAgcGFkZGluZzogOHB4O1xufVxuLmNlcnQtb2ZmZXJpbmdzX19hcHAtaWNvbi0tYnVuZGxlIGltZyB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG9iamVjdC1maXQ6IGNvbnRhaW47XG59XG4uY2VydC1vZmZlcmluZ3NfX2FwcC1uYW1lIHtcbiAgICBmb250LXNpemU6IDAuODVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjU7XG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgLXdlYmtpdC1saW5lLWNsYW1wOiAyO1xuICAgIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB3b3JkLWJyZWFrOiBicmVhay13b3JkO1xufVxuXG4vKiBDZXJ0IFN0ZXBzICovXG4uY2VydC1zdGVwcyB7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgI2Y1ZjVmZiAwJSwgI2U4ZjBmZiAxMDAlKTtcbn1cbi5jZXJ0LXN0ZXBzX190aXRsZS1waWxsIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgYm9yZGVyOiAycHggc29saWQgdmFyKC0tdG9zYS1ibHVlKTtcbiAgICBib3JkZXItcmFkaXVzOiA1MHB4O1xuICAgIHBhZGRpbmc6IDEycHggNDhweDtcbiAgICBmb250LXNpemU6IDEuNzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBjb2xvcjogIzFhMWEyZTtcbiAgICBtYXJnaW4tYm90dG9tOiA0OHB4O1xufVxuLmNlcnQtc3RlcCB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuLmNlcnQtc3RlcF9fY2hhcnQge1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2VlZTtcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgcGFkZGluZzogMTJweDtcbiAgICBtYXJnaW4tYm90dG9tOiAxNnB4O1xufVxuLmNlcnQtc3RlcF9fbGV2ZWwge1xuICAgIHBhZGRpbmc6IDRweCA4cHg7XG4gICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZjBmMGYwO1xufVxuLmNlcnQtc3RlcF9fbGV2ZWwtLWFjdGl2ZSB7XG4gICAgY29sb3I6IHZhcigtLXRvc2Etb3JhbmdlKTtcbiAgICBmb250LXdlaWdodDogNzAwO1xufVxuLmNlcnQtc3RlcF9fbnVtYmVyIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHdpZHRoOiAzMnB4O1xuICAgIGhlaWdodDogMzJweDtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tdG9zYS1vcmFuZ2UpO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbn1cbi5jZXJ0LXN0ZXBfX25hbWUge1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGNvbG9yOiB2YXIoLS10b3NhLWJsdWUpO1xufVxuLmNlcnQtc3RlcF9fc3ViIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgYmFja2dyb3VuZDogIzMzMztcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBmb250LXNpemU6IDAuN3JlbTtcbiAgICBwYWRkaW5nOiAycHggMTBweDtcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XG59XG4uY2VydC1zdGVwX19zY29yZSB7XG4gICAgcGFkZGluZzogNHB4IDhweDtcbiAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNmMGYwZjA7XG59XG4uY2VydC1zdGVwX19zY29yZS0tYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS10b3NhLXllbGxvdyk7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbn1cblxuLyogQ2VydCBDYXRhbG9nIC8gT2ZmZXJpbmdzIFRhYnMgKi9cbi5jZXJ0LWNhdGFsb2cge1xuICAgIGJhY2tncm91bmQ6ICNlOGY0Zjg7XG59XG4uY2VydC1jYXRhbG9nX190YWJzIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGdhcDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xufVxuLmNlcnQtY2F0YWxvZ19fdGFiIHtcbiAgICBmbGV4OiAxO1xuICAgIHBhZGRpbmc6IDE2cHggMjRweDtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBjb2xvcjogIzk5OTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMnM7XG4gICAgb3BhY2l0eTogMC41O1xufVxuLmNlcnQtY2F0YWxvZ19fdGFiLS1hY3RpdmUsXG4uY2VydC1jYXRhbG9nX190YWI6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgY29sb3I6ICMxYTFhMmU7XG4gICAgb3BhY2l0eTogMTtcbiAgICBib3gtc2hhZG93OiAwIC0ycHggOHB4IHJnYmEoMCwwLDAsMC4wNSk7XG59XG4uY2VydC1jYXRhbG9nX190YWIgaW1nIHtcbiAgICBoZWlnaHQ6IDMycHg7XG4gICAgb2JqZWN0LWZpdDogY29udGFpbjtcbn1cbi5jZXJ0LWNhdGFsb2dfX2Jyb3dzZXIge1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgYm9yZGVyLXJhZGl1czogMCAwIDEycHggMTJweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGJveC1zaGFkb3c6IDAgOHB4IDMycHggcmdiYSgwLDAsMCwwLjA4KTtcbn1cbi5jZXJ0LWNhdGFsb2dfX2Jyb3dzZXItYmFyIHtcbiAgICBiYWNrZ3JvdW5kOiAjZjVmNWY1O1xuICAgIHBhZGRpbmc6IDEycHggMjBweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiAxMnB4O1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZWVlO1xufVxuLmNlcnQtY2F0YWxvZ19fYnJvd3Nlci1kb3Qge1xuICAgIHdpZHRoOiAxMnB4O1xuICAgIGhlaWdodDogMTJweDtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgYmFja2dyb3VuZDogI2RkZDtcbn1cbi5jZXJ0LWNhdGFsb2dfX2Jyb3dzZXItdXJsIHtcbiAgICBmbGV4OiAxO1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2UwZTBlMDtcbiAgICBib3JkZXItcmFkaXVzOiAyMHB4O1xuICAgIHBhZGRpbmc6IDZweCAxNnB4O1xuICAgIGZvbnQtc2l6ZTogMC44cmVtO1xuICAgIGNvbG9yOiAjNjY2O1xufVxuLmNlcnQtY2F0YWxvZ19fYXBwLWljb24ge1xuICAgIGJhY2tncm91bmQ6ICNmOWY5Zjk7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2VlZTtcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgcGFkZGluZzogMjBweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMnMsIGJveC1zaGFkb3cgMC4ycztcbn1cbi5jZXJ0LWNhdGFsb2dfX2FwcC1pY29uOmhvdmVyIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTJweCk7XG4gICAgYm94LXNoYWRvdzogMCA0cHggMTJweCByZ2JhKDAsMCwwLDAuMDgpO1xufVxuLmNlcnQtY2F0YWxvZ19fYXBwLWljb24gaW1nIHtcbiAgICB3aWR0aDogNTZweDtcbiAgICBoZWlnaHQ6IDU2cHg7XG4gICAgb2JqZWN0LWZpdDogY29udGFpbjtcbiAgICBtYXJnaW4tYm90dG9tOiA4cHg7XG59XG4uY2VydC1jYXRhbG9nX19hcHAtaWNvbiBwIHtcbiAgICBmb250LXNpemU6IDAuOHJlbTtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIG1hcmdpbjogMDtcbn1cblxuLyogQ2VydCBCdW5kbGVzICovXG4uY2VydC1idW5kbGVzIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xufVxuLmNlcnQtYnVuZGxlc19faW5uZXIge1xuICAgIHBhZGRpbmc6IDI0cHggNDhweDtcbn1cbi5jZXJ0LWJ1bmRsZXNfX2ludHJvIHtcbiAgICBtYXgtd2lkdGg6IDg2MHB4O1xuICAgIGNvbG9yOiAjMzMzO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjY7XG59XG4uY2VydC1idW5kbGVzX19ncmFwaGljIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIHBhZGRpbmc6IDQ4cHg7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xufVxuLmNlcnQtYnVuZGxlc19fZ3JhcGhpYyBpbWcge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIG1heC13aWR0aDogMTAwJTtcbn1cbmJ1dHRvbi5jZXJ0LWJ1bmRsZXNfX2dyYXBoaWMtLXpvb206bm90KDpkaXNhYmxlZCkge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJvcmRlcjogMDtcbiAgICBjdXJzb3I6IHpvb20taW47XG59XG5idXR0b24uaW1nLXpvb20tYnRuOm5vdCg6ZGlzYWJsZWQpIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGJvcmRlcjogMDtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBjdXJzb3I6IHpvb20taW47XG59XG4uY2VydC1idW5kbGVzX196b29tLWNvbnRlbnQge1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG59XG4uY2VydC1idW5kbGVzX196b29tLWNsb3NlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAxNnB4O1xuICAgIHJpZ2h0OiAxNnB4O1xuICAgIHotaW5kZXg6IDI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICBwYWRkaW5nOiAxMnB4O1xufVxuLmNlcnQtYnVuZGxlc19fem9vbS1zY3JvbGwge1xuICAgIG92ZXJmbG93OiBhdXRvO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG4uY2VydC1idW5kbGVzX196b29tLXNjcm9sbCBpbWcge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1pbi13aWR0aDogMTAwMHB4O1xuICAgIG1heC13aWR0aDogbm9uZTtcbiAgICBtYXJnaW46IGF1dG87XG4gICAgcGFkZGluZzogMjRweDtcbn1cbi5jZXJ0LWJ1bmRsZXNfX2NyZWRseSB7XG4gICAgbWF4LXdpZHRoOiA3ODBweDtcbiAgICBjb2xvcjogIzMzMztcbiAgICBsaW5lLWhlaWdodDogMS42O1xufVxuLmNlcnQtYnVuZGxlc19fY3JlZGx5IGEge1xuICAgIGNvbG9yOiB2YXIoLS10b3NhLW9yYW5nZSk7XG59XG4uY2VydC1idW5kbGVzX19tYXRyaXgtaW1nIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiBhdXRvO1xufVxuXG4vKiBDZXJ0IEVudHJpZXMgKGluZGl2aWR1YWwgY2VydGlmaWNhdGlvbnMpICovXG4uY2VydC1lbnRyaWVzIHtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoJy4uL2ltYWdlcy9idW5kbGVzL2JnLTAxLmpwZycpIGNlbnRlci9jb3ZlciBuby1yZXBlYXQ7XG59XG4uY2VydC1lbnRyaWVzIC5jb250YWluZXIteGwge1xuICAgIG1heC13aWR0aDogMTQ0MHB4O1xufVxuLmNlcnQtZW50cnkge1xuICAgIG1hcmdpbi1ib3R0b206IDQ4cHg7XG4gICAgYm94LXNoYWRvdzogMCA0M3B4IDQwcHggcmdiYSgwLCAwLCAwLCAwLjE1KTtcbn1cbi5jZXJ0LWVudHJ5Omxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG59XG4uY2VydC1lbnRyeV9faW5uZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgZ2FwOiA4MHB4O1xufVxuLmNlcnQtZW50cnktLXJldmVyc2UgLmNlcnQtZW50cnlfX2lubmVyIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XG59XG5cbi8qIENlcnQgUmVhZHkgKGF1ZGllbmNlcykgKi9cbi5jZXJ0LXJlYWR5X19ncmlkIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDQsIDFmcik7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2RjZGNlNTtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xufVxuLmNlcnQtcmVhZHlfX2NhcmQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBwYWRkaW5nOiAzMnB4IDI0cHg7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjZGNkY2U1O1xufVxuLmNlcnQtcmVhZHlfX2NhcmQ6bGFzdC1jaGlsZCB7XG4gICAgYm9yZGVyLXJpZ2h0OiBub25lO1xufVxuLmNlcnQtcmVhZHlfX2NhcmQtLWhpZ2hsaWdodCB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tdG9zYS15ZWxsb3cpO1xufVxuLmNlcnQtcmVhZHlfX2ljb24ge1xuICAgIHdpZHRoOiA2NHB4O1xuICAgIGhlaWdodDogNjRweDtcbiAgICBtYXJnaW4tYm90dG9tOiAyNHB4O1xuICAgIG9iamVjdC1maXQ6IGNvbnRhaW47XG4gICAgZGlzcGxheTogYmxvY2s7XG59XG4uY2VydC1yZWFkeV9fdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgY29sb3I6IHZhcigtLXRvc2EtYmx1ZSk7XG4gICAgbWFyZ2luLWJvdHRvbTogMTJweDtcbn1cbi5jZXJ0LXJlYWR5X190ZXh0IHtcbiAgICBjb2xvcjogIzMzMztcbiAgICBmb250LXNpemU6IDAuOTI1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgZmxleDogMTtcbn1cbi5jZXJ0LXJlYWR5X19saW5rIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogOHB4O1xuICAgIGNvbG9yOiB2YXIoLS10b3NhLW9yYW5nZSk7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgbWFyZ2luLXRvcDogMjRweDtcbn1cbi5jZXJ0LXJlYWR5X19jYXJkLS1oaWdobGlnaHQgLmNlcnQtcmVhZHlfX2xpbmsge1xuICAgIGNvbG9yOiB2YXIoLS10b3NhLWJsdWUpO1xufVxuLmNlcnQtcmVhZHlfX2Fycm93IHtcbiAgICBmb250LXNpemU6IDEuMXJlbTtcbiAgICBsaW5lLWhlaWdodDogMTtcbn1cblxuLyogQ2VydCBUZXN0aW1vbmlhbCAqL1xuLmNlcnQtdGVzdGltb25pYWwge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBiYWNrZ3JvdW5kOiAjMDA1MzU2O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcGFkZGluZy10b3A6IDEyMHB4O1xuICAgIHBhZGRpbmctYm90dG9tOiAyODBweDtcbn1cbi5jZXJ0LXRlc3RpbW9uaWFsX192ZWN0b3Ige1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB3aWR0aDogYXV0bztcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cbi5jZXJ0LXRlc3RpbW9uaWFsX192ZWN0b3ItLWxlZnQgeyBsZWZ0OiAwOyB9XG4uY2VydC10ZXN0aW1vbmlhbF9fdmVjdG9yLS1yaWdodCB7IHJpZ2h0OiAwOyB9XG4uY2VydC10ZXN0aW1vbmlhbF9fcXVvdGUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXgtd2lkdGg6IDEwNDBweDtcbiAgICBtYXJnaW46IDgwcHggYXV0bztcbiAgICBwYWRkaW5nOiA3MnB4IDgwcHg7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgZm9udC1zaXplOiAxLjMxMjVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuNjU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGJvcmRlcjogMS41cHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjg1KTtcbiAgICBib3JkZXItaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsIHJnYmEoMjU1LDI1NSwyNTUsMC45NSkgMCUsIHJnYmEoMjU1LDI1NSwyNTUsMC41KSA2MCUsIHJnYmEoMjU1LDI1NSwyNTUsMCkgMTAwJSkgMTtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbn1cbi5jZXJ0LXRlc3RpbW9uaWFsX19xdW90ZS0td2l0aC1waG90byB7XG4gICAgcGFkZGluZy10b3A6IDQwcHg7XG59XG4uY2VydC10ZXN0aW1vbmlhbF9fcGhvdG8ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiA4MHB4O1xuICAgIGhlaWdodDogODBweDtcbiAgICBtYXJnaW46IDAgYXV0byAyNHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICBib3JkZXI6IDNweCBzb2xpZCAjMDU2NzZhO1xuICAgIGJhY2tncm91bmQ6ICMwNTY3NmE7XG59XG4uY2VydC10ZXN0aW1vbmlhbF9fdGV4dCB7XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xufVxuLmNlcnQtdGVzdGltb25pYWxfX2Zvb3RlciB7XG4gICAgbWFyZ2luLXRvcDogOHB4O1xufVxuLmNlcnQtdGVzdGltb25pYWxfX2F1dGhvciB7XG4gICAgY29sb3I6IHZhcigtLXRvc2EteWVsbG93KTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAycHg7XG59XG4uY2VydC10ZXN0aW1vbmlhbF9fcm9sZSB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBmb250LXdlaWdodDogNDAwO1xufVxuQG1lZGlhIChtYXgtd2lkdGg6IDk5MS45OHB4KSB7XG4gICAgLmNlcnQtcmVhZHlfX2dyaWQge1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpO1xuICAgIH1cbiAgICAuY2VydC1yZWFkeV9fY2FyZDpudGgtY2hpbGQoMm4pIHtcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiBub25lO1xuICAgIH1cbiAgICAuY2VydC1yZWFkeV9fY2FyZDpudGgtY2hpbGQoLW4rMikge1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2RjZGNlNTtcbiAgICB9XG59XG5AbWVkaWEgKG1heC13aWR0aDogNTc1Ljk4cHgpIHtcbiAgICAuY2VydC1yZWFkeV9fZ3JpZCB7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuICAgIH1cbiAgICAuY2VydC1yZWFkeV9fY2FyZCB7XG4gICAgICAgIGJvcmRlci1yaWdodDogbm9uZTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkY2RjZTU7XG4gICAgfVxuICAgIC5jZXJ0LXJlYWR5X19jYXJkOmxhc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgIH1cbn1cbi5jZXJ0LWVudHJ5X19iYWRnZS1jb2wge1xuICAgIGZsZXg6IDAgMCA1MDBweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgcGFkZGluZzogNDhweDtcbiAgICBjbGlwLXBhdGg6IHBvbHlnb24oMCAwLCBjYWxjKDEwMCUgLSA1NnB4KSAwLCAxMDAlIDU2cHgsIDEwMCUgMTAwJSwgMCAxMDAlKTtcbn1cbi5jZXJ0LWVudHJ5LS1yZXZlcnNlIC5jZXJ0LWVudHJ5X19iYWRnZS1jb2wge1xuICAgIGNsaXAtcGF0aDogcG9seWdvbig1NnB4IDAsIDEwMCUgMCwgMTAwJSAxMDAlLCAwIDEwMCUsIDAgNTZweCk7XG59XG4uY2VydC1lbnRyeV9fYmFkZ2UtbGluayB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAuMTVzIGVhc2UsIG9wYWNpdHkgLjE1cyBlYXNlO1xufVxuLmNlcnQtZW50cnlfX2JhZGdlLWxpbms6aG92ZXIsXG4uY2VydC1lbnRyeV9fYmFkZ2UtbGluazpmb2N1cy12aXNpYmxlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTJweCk7XG4gICAgb3BhY2l0eTogMC45Mjtcbn1cbi5jZXJ0LWVudHJ5X19iYWRnZS1saW5rIC5jZXJ0LWVudHJ5X19iYWRnZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG59XG4uY2VydC1lbnRyeV9fYmFkZ2Uge1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICB3aWR0aDogNDAwcHg7XG4gICAgaGVpZ2h0OiBhdXRvO1xufVxuLmNlcnQtZW50cnlfX2JvZHkge1xuICAgIGZsZXg6IDE7XG4gICAgbWF4LXdpZHRoOiA2MjBweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgcGFkZGluZy1yaWdodDogNTZweDtcbn1cbi5jZXJ0LWVudHJ5LS1yZXZlcnNlIC5jZXJ0LWVudHJ5X19ib2R5IHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctbGVmdDogNTZweDtcbn1cbi5jZXJ0LWVudHJ5X190aXRsZSB7XG4gICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgY29sb3I6ICMxYTFhMmU7XG59XG4uY2VydC1lbnRyeV9fZGVzY3JpcHRpb24ge1xuICAgIGNvbG9yOiAjMzMzO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU1O1xufVxuLmNlcnQtZW50cnlfX2xldmVscyB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogMDtcbn1cbi5jZXJ0LWVudHJ5X19sZXZlbHMgbGkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICBjb2xvcjogIzMzMztcbiAgICBsaW5lLWhlaWdodDogMS41O1xufVxuLmNlcnQtZW50cnlfX2xldmVscyBsaTo6YmVmb3JlIHtcbiAgICBjb250ZW50OiAn4oC6JztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMDtcbiAgICB0b3A6IC0ycHg7XG4gICAgY29sb3I6IHZhcigtLXRvc2Etb3JhbmdlKTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xufVxuQG1lZGlhIChtYXgtd2lkdGg6IDc2Ny45OHB4KSB7XG4gICAgLmNlcnQtZW50cnkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAzMnB4O1xuICAgIH1cbiAgICAuY2VydC1lbnRyeV9faW5uZXIsXG4gICAgLmNlcnQtZW50cnktLXJldmVyc2UgLmNlcnQtZW50cnlfX2lubmVyIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgZ2FwOiAyNHB4O1xuICAgIH1cbiAgICAuY2VydC1lbnRyeV9fYmFkZ2UtY29sIHtcbiAgICAgICAgZmxleDogaW5pdGlhbDtcbiAgICAgICAgcGFkZGluZzogMzJweDtcbiAgICB9XG4gICAgLmNlcnQtZW50cnlfX2JvZHkge1xuICAgICAgICBmbGV4OiBpbml0aWFsO1xuICAgIH1cbn1cblxuLyogQ2VydCBCYWRnZXMgKi9cbi5jZXJ0LWJhZGdlcyB7XG4gICAgYmFja2dyb3VuZDogI2Y4ZjhmODtcbn1cbi5jZXJ0LWJhZGdlc19faW1nIHtcbiAgICBtYXgtd2lkdGg6IDI4MHB4O1xuICAgIHdpZHRoOiAxMDAlO1xufVxuXG4vKiDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZBcbiAgIFNIQVJFRCBQQUdFIEhFUk8gKGFsbCBpbm5lciBwYWdlcylcbiAgIOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkCAqL1xuLnBhZ2UtaGVybyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1pbi1oZWlnaHQ6IDUwdmg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG59XG4ucGFnZS1oZXJvLS1saWdodCB7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgI2YwZjdmNyAwJSwgI2U4ZjBmZiA1MCUsICNmNWY1ZmYgMTAwJSk7XG59XG4ucGFnZS1oZXJvLS10ZWFsIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS10b3NhLXRlYWwpO1xuICAgIGNvbG9yOiAjZmZmO1xufVxuLnBhZ2UtaGVyby0tYmx1ZSB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tdG9zYS1ibHVlKTtcbiAgICBjb2xvcjogI2ZmZjtcbn1cbi5wYWdlLWhlcm9fX3RpdGxlIHtcbiAgICBmb250LXNpemU6IGNsYW1wKDJyZW0sIDR2dywgM3JlbSk7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbn1cbi5wYWdlLWhlcm9fX3N1YnRpdGxlIHtcbiAgICBmb250LXNpemU6IDEuMTVyZW07XG4gICAgbWF4LXdpZHRoOiA2MDBweDtcbn1cblxuLyog4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQXG4gICBFWFBFUlRJU0UgUEFHRVxuICAg4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQICovXG4uZXhwZXJ0aXNlLWZlYXR1cmVzIHtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCAjZjhmNWZmIDAlLCAjZmZmIDEwMCUpO1xufVxuLmV4cGVydGlzZS1jYXJkIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNlZWU7XG4gICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgIHBhZGRpbmc6IDMycHggMjRweDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjJzLCBib3gtc2hhZG93IDAuMnM7XG59XG4uZXhwZXJ0aXNlLWNhcmQ6aG92ZXIge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNHB4KTtcbiAgICBib3gtc2hhZG93OiAwIDhweCAyNHB4IHJnYmEoMCwwLDAsMC4wOCk7XG59XG4uZXhwZXJ0aXNlLWNhcmRfX2ljb24ge1xuICAgIHdpZHRoOiA2NHB4O1xuICAgIGhlaWdodDogNjRweDtcbiAgICBtYXJnaW46IDAgYXV0byAxNnB4O1xuICAgIGJhY2tncm91bmQ6ICNlOGYwZmY7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBmb250LXNpemU6IDEuNzVyZW07XG4gICAgY29sb3I6IHZhcigtLXRvc2EtYmx1ZSk7XG59XG4uZXhwZXJ0aXNlLWNhcmRfX3RpdGxlIHtcbiAgICBmb250LXNpemU6IDEuMXJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGNvbG9yOiB2YXIoLS10b3NhLWJsdWUpO1xuICAgIG1hcmdpbi1ib3R0b206IDEycHg7XG59XG4uZXhwZXJ0aXNlLXN0YXRzIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS10b3NhLWJsdWUpO1xufVxuLmV4cGVydGlzZS1zdGF0IHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgcGFkZGluZzogMjRweDtcbn1cbi5leHBlcnRpc2Utc3RhdF9fbnVtYmVyIHtcbiAgICBmb250LXNpemU6IDIuNXJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGNvbG9yOiB2YXIoLS10b3NhLXllbGxvdyk7XG59XG4uZXhwZXJ0aXNlLXN0YXRfX2xhYmVsIHtcbiAgICBmb250LXNpemU6IDAuOXJlbTtcbiAgICBvcGFjaXR5OiAwLjg1O1xufVxuLmV4cGVydGlzZS10YWJsZSB7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbn1cbi5leHBlcnRpc2UtdGFibGUgdGFibGUge1xuICAgIHdpZHRoOiAxMDAlO1xufVxuLmV4cGVydGlzZS10YWJsZSB0aCB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tdG9zYS1ibHVlKTtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBwYWRkaW5nOiAxNnB4O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG59XG4uZXhwZXJ0aXNlLXRhYmxlIHRkIHtcbiAgICBwYWRkaW5nOiAxNHB4IDE2cHg7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlZWU7XG59XG5cbi8qIOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkFxuICAgREVMSVZFUiBUT1NBIFBBR0VcbiAgIOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkCAqL1xuLmRlbGl2ZXItYmVuZWZpdHMge1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsICNmMGY3ZjcgMCUsICNmZmYgMTAwJSk7XG59XG4uZGVsaXZlci1jYXJkIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNlZWU7XG4gICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgIHBhZGRpbmc6IDMycHggMjRweDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjJzO1xufVxuLmRlbGl2ZXItY2FyZDpob3ZlciB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC00cHgpO1xuICAgIGJveC1zaGFkb3c6IDAgOHB4IDI0cHggcmdiYSgwLDAsMCwwLjA4KTtcbn1cbi5kZWxpdmVyLWNhcmRfX2ljb24ge1xuICAgIHdpZHRoOiA2NHB4O1xuICAgIGhlaWdodDogNjRweDtcbiAgICBtYXJnaW46IDAgYXV0byAxNnB4O1xuICAgIGJhY2tncm91bmQ6ICNmZmYzZTA7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBmb250LXNpemU6IDEuNzVyZW07XG4gICAgY29sb3I6IHZhcigtLXRvc2Etb3JhbmdlKTtcbn1cbi5kZWxpdmVyLWNhcmRfX3RpdGxlIHtcbiAgICBmb250LXNpemU6IDEuMXJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGNvbG9yOiAjMWExYTJlO1xuICAgIG1hcmdpbi1ib3R0b206IDEycHg7XG59XG4uZGVsaXZlci1zdGVwcyB7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbn1cbi5kZWxpdmVyLXN0ZXBfX251bWJlciB7XG4gICAgd2lkdGg6IDY0cHg7XG4gICAgaGVpZ2h0OiA2NHB4O1xuICAgIGJhY2tncm91bmQ6IHZhcigtLXRvc2Etb3JhbmdlKTtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBmb250LXNpemU6IDEuNzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIG1hcmdpbjogMCBhdXRvIDE2cHg7XG59XG4uZGVsaXZlci10aWVycyB7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgI2Y1ZjVmZiAwJSwgI2ZmZiAxMDAlKTtcbn1cbi5kZWxpdmVyLXRpZXIge1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgYm9yZGVyOiAycHggc29saWQgI2VlZTtcbiAgICBib3JkZXItcmFkaXVzOiAxMnB4O1xuICAgIHBhZGRpbmc6IDQwcHggMjRweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjJzO1xufVxuLmRlbGl2ZXItdGllcjpob3ZlciB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC00cHgpO1xufVxuLmRlbGl2ZXItdGllci0tZ29sZCB7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS10b3NhLXllbGxvdyk7XG59XG4uZGVsaXZlci10aWVyLS1wbGF0aW51bSB7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS10b3NhLWJsdWUpO1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsICNmOGY1ZmYsICNmZmYpO1xufVxuLmRlbGl2ZXItdGllcl9fYmFkZ2Uge1xuICAgIHdpZHRoOiA4MHB4O1xuICAgIGhlaWdodDogODBweDtcbiAgICBtYXJnaW46IDAgYXV0byAxNnB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgZm9udC1zaXplOiAycmVtO1xufVxuLmRlbGl2ZXItdGllcl9fYmFkZ2UtLXNpbHZlciB7IGJhY2tncm91bmQ6ICNlMGUwZTA7IGNvbG9yOiAjNjY2OyB9XG4uZGVsaXZlci10aWVyX19iYWRnZS0tZ29sZCB7IGJhY2tncm91bmQ6IHZhcigtLXRvc2EteWVsbG93KTsgY29sb3I6ICMzMzM7IH1cbi5kZWxpdmVyLXRpZXJfX2JhZGdlLS1wbGF0aW51bSB7IGJhY2tncm91bmQ6IHZhcigtLXRvc2EtYmx1ZSk7IGNvbG9yOiAjZmZmOyB9XG5cbi8qIOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkFxuICAgVEFLRSBFWEFNIFBBR0VcbiAgIOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkCAqL1xuLmV4YW0tcGF0aHMge1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsICNmMGY3ZjcgMCUsICNmZmYgMTAwJSk7XG59XG4uZXhhbS1wYXRoLWNhcmQge1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgYm9yZGVyOiAycHggc29saWQgI2VlZTtcbiAgICBib3JkZXItcmFkaXVzOiAxMnB4O1xuICAgIHBhZGRpbmc6IDQ4cHggMzJweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjJzLCBib3JkZXItY29sb3IgMC4ycztcbn1cbi5leGFtLXBhdGgtY2FyZDpob3ZlciB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC00cHgpO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tdG9zYS1ibHVlKTtcbn1cbi5leGFtLXBhdGgtY2FyZF9faWNvbiB7XG4gICAgd2lkdGg6IDgwcHg7XG4gICAgaGVpZ2h0OiA4MHB4O1xuICAgIG1hcmdpbjogMCBhdXRvIDI0cHg7XG4gICAgYmFja2dyb3VuZDogI2U4ZjBmZjtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgICBjb2xvcjogdmFyKC0tdG9zYS1ibHVlKTtcbn1cbi5leGFtLWV4cGVjdCB7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbn1cbi5leGFtLWV4cGVjdF9faXRlbSB7XG4gICAgYmFja2dyb3VuZDogI2Y4ZjhmODtcbiAgICBib3JkZXItcmFkaXVzOiAxMnB4O1xuICAgIHBhZGRpbmc6IDMycHggMjRweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgaGVpZ2h0OiAxMDAlO1xufVxuLmV4YW0tZXhwZWN0X19pY29uIHtcbiAgICB3aWR0aDogNTZweDtcbiAgICBoZWlnaHQ6IDU2cHg7XG4gICAgbWFyZ2luOiAwIGF1dG8gMTZweDtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS10b3NhLW9yYW5nZSk7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBmb250LXNpemU6IDEuNXJlbTtcbn1cblxuLyog4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQXG4gICBSRU1PVEUgRVhBTSBQQUdFXG4gICDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZAgKi9cbi5yZW1vdGUtcmVxdWlyZW1lbnRzIHtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCAjZjBmN2Y3IDAlLCAjZmZmIDEwMCUpO1xufVxuLnJlbW90ZS1yZXEtY2FyZCB7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZWVlO1xuICAgIGJvcmRlci1yYWRpdXM6IDEycHg7XG4gICAgcGFkZGluZzogMzJweCAyNHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBoZWlnaHQ6IDEwMCU7XG59XG4ucmVtb3RlLXJlcS1jYXJkX19pY29uIHtcbiAgICB3aWR0aDogNjRweDtcbiAgICBoZWlnaHQ6IDY0cHg7XG4gICAgbWFyZ2luOiAwIGF1dG8gMTZweDtcbiAgICBiYWNrZ3JvdW5kOiAjZThmMGZmO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgZm9udC1zaXplOiAxLjc1cmVtO1xuICAgIGNvbG9yOiB2YXIoLS10b3NhLWJsdWUpO1xufVxuLnJlbW90ZS1wcm9jZXNzIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xufVxuLnJlbW90ZS1zdGVwIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuLnJlbW90ZS1zdGVwX19udW1iZXIge1xuICAgIHdpZHRoOiA0OHB4O1xuICAgIGhlaWdodDogNDhweDtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS10b3NhLW9yYW5nZSk7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIG1hcmdpbjogMCBhdXRvIDE2cHg7XG59XG4ucmVtb3RlLWZhcSB7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgI2Y4ZjVmZiAwJSwgI2ZmZiAxMDAlKTtcbn1cbi5yZW1vdGUtZmFxIC5hY2NvcmRpb24tYnV0dG9uOm5vdCguY29sbGFwc2VkKSB7XG4gICAgYmFja2dyb3VuZDogI2YwZjBmZjtcbiAgICBjb2xvcjogdmFyKC0tdG9zYS1ibHVlKTtcbn1cblxuLyog4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQXG4gICBGSU5EIENFTlRFUiBQQUdFXG4gICDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZAgKi9cbi5jZW50ZXItc2VhcmNoIHtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCAjZjBmN2Y3IDAlLCAjZmZmIDEwMCUpO1xufVxuLmNlbnRlci1zZWFyY2hfX2Zvcm0ge1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgYm9yZGVyLXJhZGl1czogMTJweDtcbiAgICBwYWRkaW5nOiAzMnB4O1xuICAgIGJveC1zaGFkb3c6IDAgNHB4IDE2cHggcmdiYSgwLDAsMCwwLjA2KTtcbn1cbi5jZW50ZXItbWFwIHtcbiAgICBiYWNrZ3JvdW5kOiAjZThmNGY4O1xuICAgIG1pbi1oZWlnaHQ6IDQwMHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDEycHg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGNvbG9yOiAjNjY2O1xuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbn1cbi5jZW50ZXItY2FyZCB7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZWVlO1xuICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICBwYWRkaW5nOiAyNHB4O1xuICAgIGhlaWdodDogMTAwJTtcbn1cbi5jZW50ZXItY2FyZF9fbmFtZSB7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBjb2xvcjogdmFyKC0tdG9zYS1ibHVlKTtcbn1cblxuLyog4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQXG4gICBDSEVDSyBTQ09SRSBQQUdFXG4gICDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZAgKi9cbi5zY29yZS1sb29rdXAge1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsICNmMGY3ZjcgMCUsICNmZmYgMTAwJSk7XG59XG4uc2NvcmUtbG9va3VwX19mb3JtIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIGJvcmRlci1yYWRpdXM6IDEycHg7XG4gICAgcGFkZGluZzogNDBweDtcbiAgICBib3gtc2hhZG93OiAwIDRweCAxNnB4IHJnYmEoMCwwLDAsMC4wNik7XG4gICAgbWF4LXdpZHRoOiA2MDBweDtcbiAgICBtYXJnaW46IDAgYXV0bztcbn1cbi5zY29yZS1zY2FsZSB7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbn1cbi5zY29yZS1sZXZlbCB7XG4gICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgIHBhZGRpbmc6IDI0cHggMjBweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgaGVpZ2h0OiAxMDAlO1xufVxuLnNjb3JlLWxldmVsLS1iZWdpbm5lciB7IGJhY2tncm91bmQ6ICNmMGYwZjA7IH1cbi5zY29yZS1sZXZlbC0tYmFzaWMgeyBiYWNrZ3JvdW5kOiAjZTNmMmZkOyB9XG4uc2NvcmUtbGV2ZWwtLXByb2R1Y3RpdmUgeyBiYWNrZ3JvdW5kOiAjZThmNWU5OyB9XG4uc2NvcmUtbGV2ZWwtLWFkdmFuY2VkIHsgYmFja2dyb3VuZDogI2ZmZjNlMDsgfVxuLnNjb3JlLWxldmVsLS1leHBlcnQgeyBiYWNrZ3JvdW5kOiAjZmNlNGVjOyB9XG4uc2NvcmUtbGV2ZWxfX3JhbmdlIHtcbiAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGNvbG9yOiAjMWExYTJlO1xufVxuLnNjb3JlLWxldmVsX19uYW1lIHtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGNvbG9yOiB2YXIoLS10b3NhLWJsdWUpO1xufVxuXG4vKiDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZBcbiAgIFJFU1BPTlNJVkUgT1ZFUlJJREVTXG4gICDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZAgKi9cbkBtZWRpYSAobWF4LXdpZHRoOiA5OTEuOThweCkge1xuICAgIC5oZXJvIHtcbiAgICAgICAgbWluLWhlaWdodDogNjB2aDtcbiAgICB9XG4gICAgLmhlcm9fX2JnOjphZnRlciB7XG4gICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsIHJnYmEoMjU1LDI1NSwyNTUsMC45NSkgMCUsIHJnYmEoMjU1LDI1NSwyNTUsMC44NSkgNjAlLCByZ2JhKDI1NSwyNTUsMjU1LDAuNSkgMTAwJSk7XG4gICAgfVxuICAgIC5jZXJ0LWhlcm8ge1xuICAgICAgICBtaW4taGVpZ2h0OiA2MHZoO1xuICAgIH1cbiAgICAuY2VydC1oZXJvX19iZzo6YWZ0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCByZ2JhKDI1NSwyNTUsMjU1LDAuOTUpIDAlLCByZ2JhKDI1NSwyNTUsMjU1LDAuODUpIDYwJSwgcmdiYSgyNTUsMjU1LDI1NSwwLjUpIDEwMCUpO1xuICAgIH1cbiAgICAuY2VydC11bmlxdWVfX2NhcmQge1xuICAgICAgICBwYWRkaW5nOiAzMnB4O1xuICAgICAgICBjbGlwLXBhdGg6IG5vbmU7XG4gICAgfVxuICAgIC5jZXJ0LW9mZmVyaW5nc19fc2hhcGUge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgICAud2h5LWNhcmQge1xuICAgICAgICBwYWRkaW5nOiAyNHB4IDE2cHg7XG4gICAgfVxuICAgIC50ZXN0aW1vbmlhbC1jYXJkIHtcbiAgICAgICAgcGFkZGluZzogMzJweCAyNHB4O1xuICAgICAgICBtaW4taGVpZ2h0OiAwO1xuICAgIH1cbiAgICAuY2VydC1zdGVwc19fdGl0bGUtcGlsbCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICAgICAgcGFkZGluZzogMTBweCAzMnB4O1xuICAgIH1cbiAgICAuY2VydC1jYXRhbG9nX190YWJzIHtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgIH1cbiAgICAuY2VydC1jYXRhbG9nX190YWIge1xuICAgICAgICBmbGV4OiAxIDEgNTAlO1xuICAgIH1cblxuICAgIC8qIE5hdmJhciBtb2JpbGU6IHJlbGVhc2UgbWluLWhlaWdodCBzbyBjb2xsYXBzZWQgbWVudSBjYW4gZXhwYW5kICovXG4gICAgLm5hdmJhciAuY29udGFpbmVyLXhsLFxuICAgIC5uYXZiYXIgI21lbnViYXJOYXYsXG4gICAgLm5hdmJhciAubmF2YmFyLW5hdiB7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDA7XG4gICAgfVxuICAgIC5uYXZiYXIgI21lbnViYXJOYXYge1xuICAgICAgICBwYWRkaW5nOiAxcmVtIDA7XG4gICAgfVxuICAgIC5uYXZiYXIgLm5hdmJhci1uYXYge1xuICAgICAgICBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDAgIWltcG9ydGFudDtcbiAgICB9XG4gICAgLm5hdmJhciAubmF2YmFyLW5hdiAubmF2LWxpbmssXG4gICAgLm5hdmJhciAubmF2YmFyLW5hdiAubWVudWJhcl9fbGluayB7XG4gICAgICAgIHBhZGRpbmc6IDAuNzVyZW0gMDtcbiAgICB9XG4gICAgLm1lbnViYXJfX2l0ZW06OmFmdGVyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gICAgLm5hdmJhciAubWVudWJhcl9fZHJvcGRvd24ge1xuICAgICAgICBwb3NpdGlvbjogc3RhdGljICFpbXBvcnRhbnQ7XG4gICAgICAgIG1hcmdpbi10b3A6IDAuNXJlbTtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICB9XG4gICAgLm5hdmJhciAubWVudWJhcl9fZHJvcGRvd246OmJlZm9yZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICAgIC5uYXZiYXIgLm1lbnViYXJfX2l0ZW0tLWFjY291bnQgPiAuZHJvcGRvd24tbWVudS1lbmQsXG4gICAgLm5hdmJhciAubWVudWJhcl9faXRlbS0tbGFuZyA+IC5kcm9wZG93bi1tZW51LWVuZCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDAuNXJlbTtcbiAgICB9XG5cbiAgICAvKiBUZXN0aW1vbmlhbHM6IHN0YWNrIGNvbHVtbnMsIGRyb3AgYmFja2dyb3VuZCBzcGxpdCAmIGRlY29yYXRpdmUgdmVjdG9ycyAqL1xuICAgIC50ZXN0aW1vbmlhbHMge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjMDU2NzZBO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTgwcHggIWltcG9ydGFudDtcbiAgICB9XG4gICAgLnRlc3RpbW9uaWFsczo6YmVmb3JlLFxuICAgIC50ZXN0aW1vbmlhbHM6OmFmdGVyLFxuICAgIC50ZXN0aW1vbmlhbHMgPiAuY29udGFpbmVyLXhsOjphZnRlciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICAgIC50ZXN0aW1vbmlhbHNfX2xlZnQge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDE2cHg7XG4gICAgfVxuICAgIC50ZXN0aW1vbmlhbHNfX3NsaWRlciB7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgfVxuICAgIC50ZXN0aW1vbmlhbC1jYXJkLmlzLWFjdGl2ZTo6YmVmb3JlIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAvKiBHZXQgU3RhcnRlZDogcmVkdWNlIG92ZXJsYXAgKi9cbiAgICAuZ2V0LXN0YXJ0ZWQsXG4gICAgLmhlLWN0YSB7XG4gICAgICAgIG1hcmdpbi10b3A6IC0xMjBweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogLTEyMHB4O1xuICAgIH1cbiAgICAuc3QtY3RhIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogLTEyMHB4O1xuICAgIH1cbiAgICAuZ2V0LXN0YXJ0ZWRfX2NhcmQsXG4gICAgLmhlLWN0YV9fY2FyZCxcbiAgICAuc3QtY3RhX19jYXJkIHtcbiAgICAgICAgY2xpcC1wYXRoOiBwb2x5Z29uKDAgMCwgY2FsYygxMDAlIC0gMzBweCkgMCwgMTAwJSAzMHB4LCAxMDAlIDEwMCUsIDAgMTAwJSk7XG4gICAgfVxuICAgIC5nZXQtc3RhcnRlZF9faW1hZ2Utd3JhcHBlcixcbiAgICAuc3QtY3RhX19pbWFnZS13cmFwcGVyIHtcbiAgICAgICAgbWluLWhlaWdodDogMjgwcHg7XG4gICAgfVxuXG4gICAgLyogTmV3c2xldHRlcjogcmVkdWNlIHRvcCBwYWRkaW5nICovXG4gICAgLm5ld3NsZXR0ZXIge1xuICAgICAgICBwYWRkaW5nLXRvcDogMjAwcHggIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAvKiBGb290ZXI6IHNocmluayBkZWNvcmF0aXZlIHZlY3RvciAqL1xuICAgIC5mb290ZXI6OmJlZm9yZSB7XG4gICAgICAgIHdpZHRoOiAxODBweDtcbiAgICAgICAgb3BhY2l0eTogMC41O1xuICAgIH1cbn1cblxuLyogTW9iaWxlICg8NzY4cHgpICovXG5AbWVkaWEgKG1heC13aWR0aDogNzY3Ljk4cHgpIHtcbiAgICAudGVzdGltb25pYWxzIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDE0MHB4ICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIC50ZXN0aW1vbmlhbHNfX2xlZnQge1xuICAgICAgICBwYWRkaW5nLXRvcDogMjBweDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDIwcHg7XG4gICAgfVxuICAgIC50ZXN0aW1vbmlhbC1jYXJkIHtcbiAgICAgICAgcGFkZGluZzogMjRweCAyMHB4O1xuICAgIH1cbiAgICAudGVzdGltb25pYWwtY2FyZF9fcXVvdGUgcCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICB9XG5cbiAgICAuZ2V0LXN0YXJ0ZWQsXG4gICAgLmhlLWN0YSB7XG4gICAgICAgIG1hcmdpbi10b3A6IC04MHB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAtODBweDtcbiAgICB9XG4gICAgLnN0LWN0YSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IC04MHB4O1xuICAgIH1cbiAgICAuZ2V0LXN0YXJ0ZWRfX2ltYWdlLXdyYXBwZXIsXG4gICAgLnN0LWN0YV9faW1hZ2Utd3JhcHBlciB7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDIyMHB4O1xuICAgIH1cblxuICAgIC5uZXdzbGV0dGVyIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDQwcHggIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAuZm9vdGVyOjpiZWZvcmUge1xuICAgICAgICB3aWR0aDogMTIwcHg7XG4gICAgICAgIG9wYWNpdHk6IDAuMztcbiAgICB9XG59XG5cbi8qIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuICAgU3ViamVjdCBEZXRhaWxzIHBhZ2VcbiAgIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgCAqL1xuLnN1YmplY3QtZGV0YWlscyB7IGJhY2tncm91bmQ6ICNmZmY7IH1cblxuLyogUmVkdWNlIHRoZSBuZXdzbGV0dGVyIHRvcCBwYWRkaW5nIG9uIHRoZSBzdWJqZWN0IGRldGFpbHMgcGFnZSBvbmx5LiAqL1xuLnN1YmplY3QtZGV0YWlscyB+IC5uZXdzbGV0dGVyIHtcbiAgICBwYWRkaW5nLXRvcDogMjBweCAhaW1wb3J0YW50O1xufVxuXG4uc3ViamVjdC1kZXRhaWxzX19zaWRlYmFyIHtcbiAgICBwb3NpdGlvbjogc3RpY2t5O1xuICAgIHRvcDogODhweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiAyMHB4O1xufVxuXG4uc3ViamVjdC1kZXRhaWxzX19zY2hlZHVsZS1jdGEge1xuICAgIGFsaWduLXNlbGY6IGZsZXgtc3RhcnQ7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XG59XG5cbi5zdWJqZWN0LWRldGFpbHNfX2NhcmQge1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgYm9yZGVyLXJhZGl1czogMTRweDtcbiAgICBib3gtc2hhZG93OiAwIDRweCAxOHB4IHJnYmEoMzAsIDMwLCA2MCwgMC4wNik7XG4gICAgcGFkZGluZzogMjJweCAyNHB4O1xufVxuXG4uc3ViamVjdC1kZXRhaWxzX19jYXJkLXRpdGxlIHtcbiAgICBjb2xvcjogdmFyKC0tdG9zYS1ibHVlKTtcbiAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBtYXJnaW46IDAgMCAxMnB4O1xuICAgIHBhZGRpbmctYm90dG9tOiAxMHB4O1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZTNlNGVmO1xufVxuXG4uc3ViamVjdC1kZXRhaWxzX19idWxsZXQtbGlzdCB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogMDtcbn1cbi5zdWJqZWN0LWRldGFpbHNfX2J1bGxldC1saXN0IGxpIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZzogNnB4IDAgNnB4IDIwcHg7XG4gICAgZm9udC1zaXplOiAwLjk1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjQ1O1xufVxuLnN1YmplY3QtZGV0YWlsc19fYnVsbGV0LWxpc3QgbGk6OmJlZm9yZSB7XG4gICAgY29udGVudDogXCLigLpcIjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMDtcbiAgICB0b3A6IDVweDtcbiAgICBjb2xvcjogdmFyKC0tdG9zYS1ibHVlKTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGZvbnQtc2l6ZTogMS4xcmVtO1xufVxuXG4uc3ViamVjdC1kZXRhaWxzX19sYW5nLXBpbGxzIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBnYXA6IDhweDtcbn1cbi5zdWJqZWN0LWRldGFpbHNfX2xhbmctcGlsbCB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2Q5ZGFlNjtcbiAgICBib3JkZXItcmFkaXVzOiA2cHg7XG4gICAgcGFkZGluZzogNnB4IDE0cHg7XG4gICAgZm9udC1zaXplOiAwLjlyZW07XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbn1cblxuLnN1YmplY3QtZGV0YWlsc19fcmVzb3VyY2UtbGlzdCB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogMDtcbn1cbi5zdWJqZWN0LWRldGFpbHNfX3Jlc291cmNlLWxpc3QgbGkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nOiA2cHggMCA2cHggMjBweDtcbiAgICBmb250LXNpemU6IDAuOTVyZW07XG59XG4uc3ViamVjdC1kZXRhaWxzX19yZXNvdXJjZS1saXN0IGxpOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwi4oC6XCI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDA7XG4gICAgdG9wOiA1cHg7XG4gICAgY29sb3I6IHZhcigtLXRvc2Etb3JhbmdlKTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGZvbnQtc2l6ZTogMS4xcmVtO1xufVxuLnN1YmplY3QtZGV0YWlsc19fcmVzb3VyY2UtbGluayB7XG4gICAgY29sb3I6IHZhcigtLXRvc2Etb3JhbmdlKTtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICB0ZXh0LXVuZGVybGluZS1vZmZzZXQ6IDNweDtcbn1cbi5zdWJqZWN0LWRldGFpbHNfX3Jlc291cmNlLWxpbms6aG92ZXIge1xuICAgIGNvbG9yOiAjZDYzZDA5O1xufVxuXG4uc3ViamVjdC1kZXRhaWxzX19tYWluIHtcbiAgICBtaW4td2lkdGg6IDA7XG59XG5cbi5zdWJqZWN0LWRldGFpbHMgPiAuY29udGFpbmVyLXhsLnB0LTUge1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG59XG4uc3ViamVjdC1kZXRhaWxzID4gLmNvbnRhaW5lci14bC5wYi01IHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZy1sZWZ0OiBjbGFtcCgxNnB4LCA0dncsIDY0cHgpO1xuICAgIHBhZGRpbmctcmlnaHQ6IGNsYW1wKDE2cHgsIDR2dywgNjRweCk7XG59XG4uc3ViamVjdC1kZXRhaWxzX19oZXJvIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS10b3NhLWxpZ2h0LWJsdWUpIHVybCgnLi4vaW1hZ2VzL3N0YXRlcy9CYW5uZXIuanBnJykgY2VudGVyL2NvdmVyIG5vLXJlcGVhdDtcbiAgICBwYWRkaW5nOiA0OHB4IDI0cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogNDhweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAvKiBDb250YWluIHRoZSA6OmJlZm9yZSBibGVuZCBzbyBpdCBvbmx5IHJlY29sb3JzIHRoZSBiYW5uZXIgYXJ0d29yay4gKi9cbiAgICBpc29sYXRpb246IGlzb2xhdGU7XG59XG4uc3ViamVjdC1kZXRhaWxzX19oZXJvLWRpc2NsYWltZXIge1xuICAgIG1hcmdpbjogMzJweCAwIDA7XG4gICAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICBjb2xvcjogIzFhMWEyZTtcbiAgICBtYXgtd2lkdGg6IDg2MHB4O1xufVxuLyogUmVjb2xvcnMgdGhlIHNoYXJlZCBiYW5uZXIgd2l0aCB0aGUgc3ViamVjdCdzIGdhbW1lIGNvbG9yIChzZXQgaW5saW5lIGFzXG4gICAtLWdhbW1lLWNvbG9yLCBzYW1lIHBhbGV0dGUgYXMgdGhlIGNlcnRpZmljYXRpb25zLXBhZ2UgdGFicykuICovXG4uc3ViamVjdC1kZXRhaWxzX19oZXJvOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBpbnNldDogMDtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1nYW1tZS1jb2xvciwgdHJhbnNwYXJlbnQpO1xuICAgIG1peC1ibGVuZC1tb2RlOiBjb2xvcjtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cbi5zdWJqZWN0LWRldGFpbHNfX2hlcm8tdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogY2xhbXAoMnJlbSwgNHZ3LCAzcmVtKTtcbiAgICBjb2xvcjogIzFhMWExYTtcbiAgICBtYXJnaW46IDA7XG59XG4vKiBMb25nIHByb2R1Y3QgbmFtZXMgbXVzdCBzdGlsbCBmaXQgdGhlIHBhaW50ZWQgYmFubmVyIGJveC4gKi9cbi5zdWJqZWN0LWRldGFpbHNfX2hlcm8tdGl0bGUtLWxvbmcge1xuICAgIGZvbnQtc2l6ZTogY2xhbXAoMS41cmVtLCAyLjh2dywgMi4ycmVtKTtcbiAgICBvdmVyZmxvdy13cmFwOiBicmVhay13b3JkO1xufVxuLnN1YmplY3QtZGV0YWlsc19faGVyby10aWxlIHtcbiAgICBwYWRkaW5nOiAyNHB4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogMTJweDtcbn1cbi5zdWJqZWN0LWRldGFpbHNfX2hlcm8taWNvbiB7XG4gICAgd2lkdGg6IDE2MHB4O1xuICAgIGhlaWdodDogMTYwcHg7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuLnN1YmplY3QtZGV0YWlsc19faGVyby1pY29uIGltZyB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgb2JqZWN0LWZpdDogY29udGFpbjtcbn1cblxuLyogRGVza3RvcDogbG9jayB0aGUgaGVybyB0byB0aGUgYmFubmVyJ3MgYXNwZWN0IHJhdGlvIHNvIGBjb3ZlcmAgZmlsbHMgaXRcbiAgIGV4YWN0bHkgKG5vIGRpc3RvcnRpb24sIG5vIGxldHRlcmJveCkuIFRoZSBzcXVhcmUgaW4gdGhlIGJhbm5lciB0aGVuIHNpdHNcbiAgIGF0IGEgZml4ZWQgZnJhY3Rpb24sIHNvIHRoZSBsb2dvIGNhbiBiZSBjZW50ZXJlZCBvbiBpdCBhdCBhbnkgd2lkdGguICovXG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuc3ViamVjdC1kZXRhaWxzX19oZXJvIHtcbiAgICAgICAgYXNwZWN0LXJhdGlvOiAxOTIwIC8gNTkyO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgIH1cbiAgICAuc3ViamVjdC1kZXRhaWxzX19oZXJvLXRpdGxlIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiAzLjUlO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgICBtYXgtd2lkdGg6IDQ2JTtcbiAgICB9XG4gICAgLnN1YmplY3QtZGV0YWlsc19faGVyby10aWxlIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiA3OCU7XG4gICAgICAgIHRvcDogNTIlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgIH1cbn1cblxuLnN1YmplY3QtZGV0YWlsc19fc2VjdGlvbiB7IG1hcmdpbi1ib3R0b206IDU2cHg7IH1cblxuLnN1YmplY3QtZGV0YWlsc19fc2VjdGlvbi10aXRsZSB7XG4gICAgZm9udC1zaXplOiBjbGFtcCgxLjZyZW0sIDIuNnZ3LCAyLjJyZW0pO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgY29sb3I6ICMxYTFhMWE7XG4gICAgbWFyZ2luOiAwIDAgMThweDtcbiAgICBsaW5lLWhlaWdodDogMS4yO1xufVxuXG4uc3ViamVjdC1kZXRhaWxzX19zdWItdGl0bGUge1xuICAgIGNvbG9yOiB2YXIoLS10b3NhLWJsdWUpO1xuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIG1hcmdpbjogMjhweCAwIDEycHg7XG59XG5cbi5zdWJqZWN0LWRldGFpbHNfX2lubGluZS1saW5rIHtcbiAgICBjb2xvcjogdmFyKC0tdG9zYS1vcmFuZ2UpO1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIHRleHQtdW5kZXJsaW5lLW9mZnNldDogM3B4O1xufVxuLnN1YmplY3QtZGV0YWlsc19faW5saW5lLWxpbms6aG92ZXIge1xuICAgIGNvbG9yOiAjZDYzZDA5O1xufVxuXG4uc3ViamVjdC1kZXRhaWxzX19zYW1wbGUtd3JhcCxcbi5zdWJqZWN0LWRldGFpbHNfX2NoYXJ0LXdyYXAge1xuICAgIG1hcmdpbjogMjRweCAwO1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgYm9yZGVyLXJhZGl1czogMTJweDtcbiAgICBib3gtc2hhZG93OiAwIDRweCAxOHB4IHJnYmEoMzAsIDMwLCA2MCwgMC4wNik7XG4gICAgcGFkZGluZzogMTZweDtcbn1cbi5zdWJqZWN0LWRldGFpbHNfX3NhbXBsZS1pbWcsXG4uc3ViamVjdC1kZXRhaWxzX19jaGFydCB7IHdpZHRoOiAxMDAlOyBoZWlnaHQ6IGF1dG87IH1cblxuLnN1YmplY3QtZGV0YWlsc19fZG9tYWlucyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogMTZweDtcbn1cbi5zdWJqZWN0LWRldGFpbHNfX2RvbWFpbi1jYXJkIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogOTZweCAxZnI7XG4gICAgZ2FwOiAxOHB4O1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgYm9yZGVyLXJhZGl1czogMTJweDtcbiAgICBib3gtc2hhZG93OiAwIDRweCAxOHB4IHJnYmEoMzAsIDMwLCA2MCwgMC4wNik7XG4gICAgcGFkZGluZzogMjBweCAyNHB4O1xufVxuLnN1YmplY3QtZGV0YWlsc19fZG9tYWluLWljb24ge1xuICAgIHdpZHRoOiA2NHB4O1xuICAgIGhlaWdodDogNjRweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgY29sb3I6IHZhcigtLXRvc2EtYmx1ZSk7XG59XG4uc3ViamVjdC1kZXRhaWxzX19kb21haW4taWNvbiBpbWcgeyBtYXgtd2lkdGg6IDEwMCU7IG1heC1oZWlnaHQ6IDEwMCU7IH1cbi5zdWJqZWN0LWRldGFpbHNfX2RvbWFpbi10aXRsZSB7XG4gICAgY29sb3I6IHZhcigtLXRvc2EtYmx1ZSk7XG4gICAgZm9udC1zaXplOiAxLjE1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgbWFyZ2luOiAwIDAgOHB4O1xufVxuXG4uc3ViamVjdC1kZXRhaWxzX190YWJsZS13cmFwIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICNjOWNiZTA7XG4gICAgYm9yZGVyLXJhZGl1czogNnB4O1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgbWFyZ2luLXRvcDogMTZweDtcbn1cbi5zdWJqZWN0LWRldGFpbHNfX3Njb3JlLXRhYmxlIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICAgIG1pbi13aWR0aDogNTIwcHg7XG59XG4uc3ViamVjdC1kZXRhaWxzX19zY29yZS10YWJsZSB0aCxcbi5zdWJqZWN0LWRldGFpbHNfX3Njb3JlLXRhYmxlIHRkIHtcbiAgICBwYWRkaW5nOiAxOHB4IDI0cHg7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgIGZvbnQtc2l6ZTogMC45NXJlbTtcbiAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgI2M5Y2JlMDtcbiAgICBib3JkZXItcmlnaHQ6IDJweCBzb2xpZCAjYzljYmUwO1xufVxuLnN1YmplY3QtZGV0YWlsc19fc2NvcmUtdGFibGUgdGg6bGFzdC1jaGlsZCxcbi5zdWJqZWN0LWRldGFpbHNfX3Njb3JlLXRhYmxlIHRkOmxhc3QtY2hpbGQge1xuICAgIGJvcmRlci1yaWdodDogbm9uZTtcbn1cbi5zdWJqZWN0LWRldGFpbHNfX3Njb3JlLXRhYmxlIHRib2R5IHRyOmxhc3QtY2hpbGQgdGQge1xuICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG59XG4uc3ViamVjdC1kZXRhaWxzX19zY29yZS10YWJsZSB0aGVhZCB0aCB7XG4gICAgY29sb3I6IHZhcigtLXRvc2EtYmx1ZSk7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xufVxuLnN1YmplY3QtZGV0YWlsc19fc2NvcmUtdGFibGUgdGJvZHkgdHI6bnRoLWNoaWxkKG9kZCkgdGQge1xuICAgIGJhY2tncm91bmQ6ICNmNWY3ZmQ7XG59XG4uc3ViamVjdC1kZXRhaWxzX19zY29yZS10YWJsZSAuc3ViamVjdC1kZXRhaWxzX19jcmVkbHktbGluayxcbmEuc3ViamVjdC1kZXRhaWxzX19jcmVkbHktbGluayB7XG4gICAgY29sb3I6IHZhcigtLXRvc2Etb3JhbmdlKSAhaW1wb3J0YW50O1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIHRleHQtdW5kZXJsaW5lLW9mZnNldDogM3B4O1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG59XG4uc3ViamVjdC1kZXRhaWxzX19zY29yZS10YWJsZSAuc3ViamVjdC1kZXRhaWxzX19jcmVkbHktbGluazpob3ZlcixcbmEuc3ViamVjdC1kZXRhaWxzX19jcmVkbHktbGluazpob3ZlciB7XG4gICAgY29sb3I6ICNkNjNkMDkgIWltcG9ydGFudDtcbn1cblxuLnN1YmplY3QtZGV0YWlsc19fcHJlcC1saXN0IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiAxOHB4O1xuICAgIG1hcmdpbi10b3A6IDhweDtcbn1cbi5zdWJqZWN0LWRldGFpbHNfX3ByZXAtaXRlbSB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDcycHggMWZyO1xuICAgIGdhcDogMjBweDtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIGJvcmRlci1yYWRpdXM6IDEycHg7XG4gICAgYm94LXNoYWRvdzogMCA0cHggMThweCByZ2JhKDMwLCAzMCwgNjAsIDAuMDYpO1xuICAgIHBhZGRpbmc6IDIycHggMjZweDtcbn1cbi5zdWJqZWN0LWRldGFpbHNfX3ByZXAtaWNvbiB7XG4gICAgd2lkdGg6IDU2cHg7XG4gICAgaGVpZ2h0OiA1NnB4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgYmFja2dyb3VuZDogI2VlZjBmYjtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGZsZXgtc2hyaW5rOiAwO1xufVxuLnN1YmplY3QtZGV0YWlsc19fcHJlcC1pY29uIHZpZGVvIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgb2JqZWN0LWZpdDogY29udGFpbjtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cbi5zdWJqZWN0LWRldGFpbHNfX3ByZXAtYm9keSB7IG1pbi13aWR0aDogMDsgfVxuLnN1YmplY3QtZGV0YWlsc19fcHJlcC10aXRsZSB7XG4gICAgY29sb3I6IHZhcigtLXRvc2EtYmx1ZSk7XG4gICAgZm9udC1zaXplOiAxLjFyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBtYXJnaW46IDAgMCA4cHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuMztcbn1cbi5zdWJqZWN0LWRldGFpbHNfX3ByZXAtZGVzYyB7XG4gICAgZm9udC1zaXplOiAwLjk1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU1O1xufVxuLnN1YmplY3QtZGV0YWlsc19fcHJlcC1kZXNjIHAgeyBtYXJnaW4tYm90dG9tOiAwLjZlbTsgfVxuLnN1YmplY3QtZGV0YWlsc19fcHJlcC1kZXNjIHA6bGFzdC1jaGlsZCB7IG1hcmdpbi1ib3R0b206IDA7IH1cblxuLnN1YmplY3QtZGV0YWlsc19fZmxvdyB7IHRleHQtYWxpZ246IGNlbnRlcjsgfVxuLnN1YmplY3QtZGV0YWlsc19fZmxvdyBpbWcgeyBtYXgtd2lkdGg6IDEwMCU7IGhlaWdodDogYXV0bzsgfVxuXG4uc3ViamVjdC1kZXRhaWxzX19idW5kbGUtY2FyZCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLXRvc2EtYmx1ZSk7XG4gICAgcGFkZGluZzogMzJweCAzNnB4O1xuICAgIG1hcmdpbi10b3A6IDE2cHg7XG4gICAgbWF4LXdpZHRoOiA1MjBweDtcbiAgICBjbGlwLXBhdGg6IHBvbHlnb24oMCAwLCBjYWxjKDEwMCUgLSA0MHB4KSAwLCAxMDAlIDQwcHgsIDEwMCUgMTAwJSwgMCAxMDAlKTtcbn1cbi8qIElubmVyIGZpbGwgaW5zZXQgYnkgdGhlIGJvcmRlciB3aWR0aCDigJQgdGhlIGJsdWUgY2FyZCBiYWNrZ3JvdW5kIHNob3dpbmdcbiAgIHRocm91Z2ggdGhlIDJweCBnYXAgaXMgdGhlIGJvcmRlciwgYW5kIGl0IGZvbGxvd3MgdGhlIGRpYWdvbmFsIGN1dCB0b28uICovXG4uc3ViamVjdC1kZXRhaWxzX19idW5kbGUtY2FyZDo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBpbnNldDogMnB4O1xuICAgIGJhY2tncm91bmQ6ICNmNWY2ZmY7XG4gICAgY2xpcC1wYXRoOiBwb2x5Z29uKDAgMCwgY2FsYygxMDAlIC0gMzhweCkgMCwgMTAwJSAzOHB4LCAxMDAlIDEwMCUsIDAgMTAwJSk7XG4gICAgei1pbmRleDogMDtcbn1cbi5zdWJqZWN0LWRldGFpbHNfX2J1bmRsZS1jYXJkID4gKiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDE7XG59XG4uc3ViamVjdC1kZXRhaWxzX19idW5kbGUtYmFkZ2Uge1xuICAgIG1heC13aWR0aDogMTYwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMTZweDtcbn1cbi5zdWJqZWN0LWRldGFpbHNfX2J1bmRsZS1iYWRnZSBpbWcgeyB3aWR0aDogMTAwJTsgaGVpZ2h0OiBhdXRvOyB9XG4uc3ViamVjdC1kZXRhaWxzX19idW5kbGUtdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMS4zNXJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIG1hcmdpbjogMCAwIDEycHg7XG4gICAgY29sb3I6ICMxYTFhMWE7XG59XG4uc3ViamVjdC1kZXRhaWxzX19idW5kbGUtZGVzYyB7IG1hcmdpbi1ib3R0b206IDIwcHg7IH1cblxuLnN1YmplY3QtZGV0YWlsc19fYnVuZGxlLXRpZXJzIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiAxNnB4O1xuICAgIG1hcmdpbi10b3A6IDE2cHg7XG4gICAgcGFkZGluZy10b3A6IDIwcHg7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNkNGQ2ZjA7XG59XG4uc3ViamVjdC1kZXRhaWxzX19idW5kbGUtdGllciB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDcycHggMWZyO1xuICAgIGdhcDogMTZweDtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbn1cbi5zdWJqZWN0LWRldGFpbHNfX2J1bmRsZS10aWVyLWljb24ge1xuICAgIHdpZHRoOiA1NnB4O1xuICAgIGhlaWdodDogNTZweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgY29sb3I6IHZhcigtLXRvc2EtYmx1ZSk7XG59XG4uc3ViamVjdC1kZXRhaWxzX19idW5kbGUtdGllci1pY29uIGltZyB7IG1heC13aWR0aDogMTAwJTsgbWF4LWhlaWdodDogMTAwJTsgfVxuLnN1YmplY3QtZGV0YWlsc19fYnVuZGxlLXRpZXItdGl0bGUge1xuICAgIGNvbG9yOiB2YXIoLS10b3NhLWJsdWUpO1xuICAgIGZvbnQtc2l6ZTogMS4wNXJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIG1hcmdpbjogMCAwIDRweDtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDk5MS45OHB4KSB7XG4gICAgLnN1YmplY3QtZGV0YWlsc19fc2lkZWJhciB7XG4gICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDMycHg7XG4gICAgfVxuICAgIC5zdWJqZWN0LWRldGFpbHNfX2hlcm8geyBwYWRkaW5nOiAzMnB4IDI0cHg7IH1cbiAgICAuc3ViamVjdC1kZXRhaWxzX19oZXJvLXRpbGUgeyBtYXJnaW4tdG9wOiAyNHB4OyB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA1NzUuOThweCkge1xuICAgIC5zdWJqZWN0LWRldGFpbHNfX2hlcm8geyBwYWRkaW5nOiAyNHB4IDE4cHg7IH1cbiAgICAuc3ViamVjdC1kZXRhaWxzX19jYXJkIHsgcGFkZGluZzogMThweCAyMHB4OyB9XG4gICAgLnN1YmplY3QtZGV0YWlsc19fZG9tYWluLWNhcmQge1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcbiAgICAgICAgcGFkZGluZzogMThweDtcbiAgICB9XG4gICAgLnN1YmplY3QtZGV0YWlsc19fZG9tYWluLWljb24ge1xuICAgICAgICB3aWR0aDogNDhweDtcbiAgICAgICAgaGVpZ2h0OiA0OHB4O1xuICAgIH1cbiAgICAuc3ViamVjdC1kZXRhaWxzX19idW5kbGUtY2FyZCB7IHBhZGRpbmc6IDIycHggMjBweDsgfVxuICAgIC5zdWJqZWN0LWRldGFpbHNfX3ByZXAtaXRlbSB7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogNTZweCAxZnI7XG4gICAgICAgIGdhcDogMTRweDtcbiAgICAgICAgcGFkZGluZzogMThweCAyMHB4O1xuICAgIH1cbiAgICAuc3ViamVjdC1kZXRhaWxzX19wcmVwLWljb24ge1xuICAgICAgICB3aWR0aDogNDhweDtcbiAgICAgICAgaGVpZ2h0OiA0OHB4O1xuICAgIH1cbn1cblxuXG4vKiDilIDilIAgSGlnaGVyIEVkdWNhdGlvbiBwYWdlIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgCAqL1xuXG4vKiBCYW5uZXIgKi9cbi5oZS1iYW5uZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDU5MnB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbn1cbi5oZS1iYW5uZXJfX2JnIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgaW5zZXQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgIG9iamVjdC1wb3NpdGlvbjogcmlnaHQgY2VudGVyO1xufVxuLmhlLWJhbm5lcl9fYmctLWsxMiB7XG4gICAgb2JqZWN0LXBvc2l0aW9uOiByaWdodCAyNyU7XG59XG5cbi5oZS1iYW5uZXI6OmFmdGVyIHtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDkwZGVnLCByZ2JhKDI1NSwyNTUsMjU1LDAuOTIpIDAlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNTMpIDQwJSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwKSA2NSUpO1xuICBjb250ZW50OiAnJztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBpbnNldDogMDtcbn1cblxuLmhlLWJhbm5lcl9faW5uZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHotaW5kZXg6IDI7XG59XG4uaGUtYmFubmVyX190aXRsZSB7XG4gICAgY29sb3I6ICMxYTFhMmU7XG4gICAgZm9udC1zaXplOiBjbGFtcCgyLjI1cmVtLCA0LjV2dywgMy41cmVtKTtcbiAgICBtYXgtd2lkdGg6IDU0MHB4O1xufVxuXG4vKiBTMSBEcml2ZSBTdHVkZW50IFN1Y2Nlc3MgKi9cbi5oZS1zMSB7XG4gICAgcGFkZGluZzogODBweCAwO1xufVxuLmhlLXMxX19tZWRpYSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuLmhlLXMxX19tZWRpYSA+IGltZyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB6LWluZGV4OiAxO1xuICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbn1cbi5oZS1zMV9fbWVkaWE6OmJlZm9yZSxcbi5oZS1zMV9fbWVkaWE6OmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogcmFkaWFsLWdyYWRpZW50KGNpcmNsZSwgI2M0YzRjNCAycHgsIHRyYW5zcGFyZW50IDIuNXB4KTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDE0cHggMTRweDtcbiAgICB6LWluZGV4OiAyO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuLmhlLXMxX19tZWRpYTo6YmVmb3JlIHtcbiAgICB0b3A6IC0yOHB4O1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDcwcHg7XG4gICAgaGVpZ2h0OiAxNHB4O1xufVxuLmhlLXMxX19tZWRpYTo6YWZ0ZXIge1xuICAgIGJvdHRvbTogLTMycHg7XG4gICAgcmlnaHQ6IDA7XG4gICAgd2lkdGg6IDcwcHg7XG4gICAgaGVpZ2h0OiAyOHB4O1xufVxuLmhlLXMxX19waG90byB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB6LWluZGV4OiAxO1xufVxuLmhlLXMxX192ZWN0b3Ige1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IC05MXB4O1xuICAgIGxlZnQ6IC0yMzdweDtcbiAgICB3aWR0aDogMTI0JTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgei1pbmRleDogMDtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cbi5oZS1zMV9fdGV4dCB7XG4gICAgY29sb3I6ICMzMzM7XG4gICAgbGluZS1oZWlnaHQ6IDEuNjtcbn1cblxuLyogUzFiIFNvbHZpbmcgS2V5IENoYWxsZW5nZXMgaW4gSy0xMiBFZHVjYXRpb24gKi9cbi5oZS1zMWIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nOiA4MHB4IDAgMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjVGQUZDO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1hZ2VzL3dob3dlc2VydmUvazEyL3NoYXBlLXllbGxvdy5qcGcnKTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cbi5oZS1zMWIgPiAuY29udGFpbmVyLXhsIHsgcGFkZGluZy1ib3R0b206IDAgIWltcG9ydGFudDsgfVxuLmhlLXMxYiAuaGUtZmVhdHVyZXNfX2ljb24geyBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgfVxuLmhlLXMxYl9faW50cm8ge1xuICAgIGNvbG9yOiAjMzMzO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjY7XG4gICAgbWF4LXdpZHRoOiA4ODBweDtcbn1cbi5oZS1zMWJfX21lZGlhIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG4uaGUtczFiX19ib3kge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXgtd2lkdGg6IDUyMHB4O1xuICAgIGhlaWdodDogYXV0bztcbn1cblxuLyogUzIgV2h5IEhFIEluc3RpdHV0aW9ucyBDaG9vc2UgVG9zYSAqL1xuLmhlLXMyIHtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCAjRTZGM0Y0IDAlLCAjRjJGOEY4IDEwMCUpO1xuICAgIHBhZGRpbmc6IDgwcHggMDtcbn1cbi5oZS1zMl9fbWVkaWEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS10b3NhLXRlYWwpO1xuICAgIHBhZGRpbmc6IDMwcHggMzBweCAwO1xuICAgIGNsaXAtcGF0aDogcG9seWdvbigwIDAsIGNhbGMoMTAwJSAtIDUwcHgpIDAsIDEwMCUgNTBweCwgMTAwJSAxMDAlLCAwIDEwMCUpO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG59XG4uaGUtczJfX3ZlY3RvciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGluc2V0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICBvcGFjaXR5OiAwLjQ1O1xuICAgIHotaW5kZXg6IDA7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgZmlsdGVyOiBicmlnaHRuZXNzKDApIGludmVydCgxKTsgLyogd2hpdGUgdGludCBvdmVyIHRlYWwgYmcgKi9cbiAgICBtaXgtYmxlbmQtbW9kZTogc29mdC1saWdodDtcbn1cbi5oZS1zMl9fcG9ydHJhaXQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgei1pbmRleDogMTtcbn1cblxuLyogSGUgRmVhdHVyZXMgKGltYWdlICsgY2hlY2tsaXN0KSDigJQgdXNlZCBpbiBTMiAqL1xuLmhlLWZlYXR1cmVzX19saXN0IHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwO1xufVxuLmhlLWZlYXR1cmVzX19pdGVtIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgIGdhcDogMjBweDtcbiAgICBwYWRkaW5nOiAxOHB4IDA7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEoNjksIDY5LCAyMTksIDAuMTgpO1xufVxuLmhlLWZlYXR1cmVzX19saXN0IC5oZS1mZWF0dXJlc19faXRlbTpmaXJzdC1jaGlsZCB7XG4gICAgYm9yZGVyLXRvcDogbm9uZTtcbiAgICBwYWRkaW5nLXRvcDogMDtcbn1cbi5oZS1mZWF0dXJlc19faWNvbi13cmFwIHtcbiAgICBmbGV4LXNocmluazogMDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgZ2FwOiA4cHg7XG59XG4uaGUtZmVhdHVyZXNfX2ljb24ge1xuICAgIHdpZHRoOiA1NnB4O1xuICAgIGhlaWdodDogNTZweDtcbiAgICBib3JkZXItcmFkaXVzOiAxNHB4O1xuICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG59XG4uaGUtZmVhdHVyZXNfX2JhciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDQwcHg7XG4gICAgaGVpZ2h0OiAycHg7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tdG9zYS1ibHVlKTtcbiAgICBib3JkZXItcmFkaXVzOiAycHg7XG4gICAgZmlsdGVyOiBibHVyKDdweCk7XG59XG4uaGUtZmVhdHVyZXNfX3RpdGxlIHtcbiAgICBmb250LXNpemU6IDEuMDYyNXJlbTtcbiAgICBjb2xvcjogdmFyKC0tdG9zYS1ibHVlKTtcbiAgICBtYXJnaW4tYm90dG9tOiA2cHg7XG59XG4uaGUtZmVhdHVyZXNfX3RleHQge1xuICAgIGNvbG9yOiAjMzMzO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU1O1xuICAgIGZvbnQtc2l6ZTogMC45NXJlbTtcbn1cblxuLyogUzMgS2V5IFRvc2EgRGlmZmVyZW50aWF0b3JzICovXG4uaGUtczMge1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsICNFNkYzRjggMCUsICNGMkY4RkIgMTAwJSk7XG4gICAgcGFkZGluZzogODBweCAwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xufVxuLmhlLXMzOjpiZWZvcmUsXG4uaGUtczM6OmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMTUyLCAyMjEsIDIyOSwgMC4zNSk7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG4uaGUtczM6OmJlZm9yZSB7XG4gICAgd2lkdGg6IDI4MHB4O1xuICAgIGhlaWdodDogMjgwcHg7XG4gICAgbGVmdDogLTEwMHB4O1xuICAgIHRvcDogMzAlO1xufVxuLmhlLXMzOjphZnRlciB7XG4gICAgd2lkdGg6IDMyMHB4O1xuICAgIGhlaWdodDogMzIwcHg7XG4gICAgcmlnaHQ6IC0xMjBweDtcbiAgICBib3R0b206IDEwJTtcbn1cbi5oZS1zM19fY2FyZHMge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAxO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgLmhlLXMzX19jYXJkcyB7XG4gICAgICAgIC0tYnMtZ3V0dGVyLXg6IDA7XG4gICAgICAgIC0tYnMtZ3V0dGVyLXk6IDA7XG4gICAgfVxufVxuLmhlLXMzX19jYXJkIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICBwYWRkaW5nOiA0MHB4IDI4cHg7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGJveC1zaGFkb3c6IDAgMnB4IDE2cHggcmdiYSgwLDAsMCwwLjA2KTtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAgIC5oZS1zM19fY2FyZCB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgIHBhZGRpbmc6IDQ4cHggNDBweDtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgcmdiYSg1NiwgNzAsIDIxNiwgMC4yKTtcbiAgICB9XG4gICAgLmhlLXMzX19jYXJkcyA+ICo6bGFzdC1jaGlsZCAuaGUtczNfX2NhcmQge1xuICAgICAgICBib3JkZXItcmlnaHQ6IG5vbmU7XG4gICAgfVxufVxuLmhlLXMzX19pY29uIHtcbiAgICB3aWR0aDogNjRweDtcbiAgICBoZWlnaHQ6IDY0cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMTZweDtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIG9iamVjdC1maXQ6IGNvdmVyO1xufVxuLmhlLXMzX19iYXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiA0MHB4O1xuICAgIGhlaWdodDogMnB4O1xuICAgIGJhY2tncm91bmQ6IHZhcigtLXRvc2EtYmx1ZSk7XG4gICAgYm9yZGVyLXJhZGl1czogMnB4O1xuICAgIGZpbHRlcjogYmx1cig3cHgpO1xuICAgIG1hcmdpbi1ib3R0b206IDI4cHg7XG59XG4uaGUtczNfX3RpdGxlIHtcbiAgICBmb250LXNpemU6IDEuMzc1cmVtO1xuICAgIGNvbG9yOiB2YXIoLS10b3NhLWJsdWUpO1xuICAgIG1hcmdpbi1ib3R0b206IDE2cHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuMztcbn1cbi5oZS1zM19fdGV4dCB7XG4gICAgY29sb3I6ICM1NTU7XG4gICAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuNjtcbn1cblxuLyogUzQgVHVybmtleSBDcmVkZW50aWFsaW5nIFNvbHV0aW9uICovXG4uaGUtczQge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLXRvc2EtYmx1ZSk7XG4gICAgcGFkZGluZzogODBweCAwO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xufVxuLmhlLXM0X190aXRsZSB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgZm9udC1zaXplOiBjbGFtcCgxLjc1cmVtLCAzLjJ2dywgMi41cmVtKTtcbn1cbi5oZS1zNF9fdGV4dCB7XG4gICAgY29sb3I6IHJnYmEoMjU1LDI1NSwyNTUsMC45NSk7XG4gICAgbGluZS1oZWlnaHQ6IDEuNjtcbn1cbi5oZS1zNF9fYnJvd3NlciB7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICBib3JkZXItcmFkaXVzOiAxMnB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgYm94LXNoYWRvdzogMCAxNnB4IDYwcHggcmdiYSgwLDAsMCwwLjIpO1xufVxuLmhlLXM0X19icm93c2VyLWJhciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogNnB4O1xuICAgIHBhZGRpbmc6IDEwcHggMTJweDtcbiAgICBiYWNrZ3JvdW5kOiAjZjBmMGY1O1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZTBlMGU1O1xufVxuLmhlLXM0X19icm93c2VyLWJhciBzcGFuIHtcbiAgICB3aWR0aDogMTBweDtcbiAgICBoZWlnaHQ6IDEwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGJhY2tncm91bmQ6ICNjY2M7XG59XG4uaGUtczRfX2Jyb3dzZXItYmFyIHNwYW46bnRoLWNoaWxkKDEpIHsgYmFja2dyb3VuZDogI2ZmNWY1NjsgfVxuLmhlLXM0X19icm93c2VyLWJhciBzcGFuOm50aC1jaGlsZCgyKSB7IGJhY2tncm91bmQ6ICNmZmJkMmU7IH1cbi5oZS1zNF9fYnJvd3Nlci1iYXIgc3BhbjpudGgtY2hpbGQoMykgeyBiYWNrZ3JvdW5kOiAjMjdjOTNmOyB9XG4uaGUtczRfX3VybCB7XG4gICAgZmxleDogMTtcbiAgICBtYXJnaW4tbGVmdDogMTJweDtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICBwYWRkaW5nOiA0cHggMTBweDtcbiAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgY29sb3I6ICM2NjY7XG59XG4uaGUtczRfX3ZpZGVvIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDM2MHB4O1xuICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLXRvc2EteWVsbG93KTtcbiAgICBkaXNwbGF5OiBibG9jaztcbn1cblxuLyogUzUgV2h5IFN0dWRlbnRzL0luc3RydWN0b3JzIExvdmUgVG9zYSAqL1xuLmhlLXM1IHtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCAjZmZmIDAlLCAjRjJGOEZCIDEwMCUpO1xuICAgIHBhZGRpbmc6IDYwcHggMDtcbn1cbi5oZS1zNV9fY2FyZCB7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICBib3gtc2hhZG93OiAwIDEycHggNTBweCByZ2JhKDAsMCwwLDAuMTApO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgbWF4LWhlaWdodDogNzcwcHg7XG59XG4uaGUtczVfX21lZGlhIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgbWluLWhlaWdodDogMjgwcHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogODBweDtcbn1cbi5oZS1zNSAuZmxleC1yb3ctcmV2ZXJzZSAuaGUtczVfX21lZGlhIHtcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiA4MHB4O1xufVxuLmhlLXM1X19tZWRpYSBpbWcge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICBkaXNwbGF5OiBibG9jaztcbn1cbi5oZS1zNV9fYm9keSB7XG4gICAgcGFkZGluZzogNDBweCA0OHB4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cbi5oZS1zNV9fYm9keSAuY3RhLWJ0biB7XG4gICAgYWxpZ24tc2VsZjogZmxleC1zdGFydDtcbiAgICBtYXJnaW4tYm90dG9tOiAyNHB4O1xufVxuXG4vKiDilIDilIAgQmVjb21lIGEgVG9zYS1BcHByb3ZlZCBUZXN0aW5nIENlbnRlciAocmV1c2FibGUgQ1RBIGJhbm5lcikg4pSA4pSAICovXG4uY2VydC10ZXN0aW5nLWNlbnRlciB7XG4gICAgcGFkZGluZzogMDtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS10b3NhLXllbGxvdyk7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cbi5jZXJ0LXRlc3RpbmctY2VudGVyID4gLmNvbnRhaW5lci14bCB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xufVxuLmNlcnQtdGVzdGluZy1jZW50ZXJfX3JvdyB7XG4gICAgbWluLWhlaWdodDogNjIwcHg7XG59XG4uY2VydC10ZXN0aW5nLWNlbnRlcl9fcm93ID4gW2NsYXNzKj1cImNvbC1cIl0ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG59XG4uY2VydC10ZXN0aW5nLWNlbnRlcl9fbWVkaWEge1xuICAgIGZsZXg6IDE7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWluLWhlaWdodDogNjIwcHg7XG4gICAgYmFja2dyb3VuZDogdXJsKCcuLi9pbWFnZXMvd2hvd2VzZXJ2ZS9hZHVsdC13b3JrZm9yY2UvaW1hZ2Utd2l0aC1iZy5qcGcnKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG59XG4uY2VydC10ZXN0aW5nLWNlbnRlcl9fYm9keSB7XG4gICAgcGFkZGluZzogNjBweCA5NnB4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG59XG4uY2VydC10ZXN0aW5nLWNlbnRlcl9fYm9keSAuY3RhLWJ0biB7XG4gICAgYWxpZ24tc2VsZjogZmxleC1zdGFydDtcbn1cbi5jZXJ0LXRlc3RpbmctY2VudGVyX190ZXh0IHtcbiAgICBjb2xvcjogIzFhMWEyZTtcbiAgICBsaW5lLWhlaWdodDogMS42O1xuICAgIGZvbnQtc2l6ZTogMS4wNjI1cmVtO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAgIC5jZXJ0LXRlc3RpbmctY2VudGVyX19yb3csXG4gICAgLmNlcnQtdGVzdGluZy1jZW50ZXJfX21lZGlhIHtcbiAgICAgICAgbWluLWhlaWdodDogNzIwcHg7XG4gICAgfVxuICAgIC5jZXJ0LXRlc3RpbmctY2VudGVyX19ib2R5IHtcbiAgICAgICAgcGFkZGluZzogMTAwcHggMzIwcHggMTAwcHggOTZweDtcbiAgICB9XG59XG4uaGUtczVfX3N1YnRpdGxlIHtcbiAgICBjb2xvcjogdmFyKC0tdG9zYS1ibHVlKTtcbiAgICBmb250LXNpemU6IDEuMDYyNXJlbTtcbn1cbi5oZS1zNV9fdGV4dCB7XG4gICAgY29sb3I6ICMzMzM7XG4gICAgbGluZS1oZWlnaHQ6IDEuNjtcbn1cblxuLyogRkFRIG9uIGRhcmsgYmx1ZSAqL1xuLmZhcSB7XG4gICAgcGFkZGluZzogMDtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS10b3NhLWJsdWUpO1xufVxuLyogVmFyaWFudCBmb3IgcGFnZXMgd2hlcmUgdGhlIEZBUSBzaXRzIGRpcmVjdGx5IGFib3ZlIHRoZSAuaGUtY3RhLCB3aG9zZVxuICAgbmVnYXRpdmUgdG9wIG1hcmdpbiB3b3VsZCBvdGhlcndpc2UgY292ZXIgdGhlIGxhc3QgaXRlbXMuICovXG4uZmFxLS1wYWQtY3RhIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMzUycHg7XG59XG5AbWVkaWEgKG1heC13aWR0aDogOTkxLjk4cHgpIHtcbiAgICAuZmFxLS1wYWQtY3RhIHsgcGFkZGluZy1ib3R0b206IDE2MHB4OyB9XG59XG5AbWVkaWEgKG1heC13aWR0aDogNzY3Ljk4cHgpIHtcbiAgICAuZmFxLS1wYWQtY3RhIHsgcGFkZGluZy1ib3R0b206IDExMnB4OyB9XG59XG4uZmFxX19jYXJkIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS10b3NhLWJsdWUpO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgcGFkZGluZzogODBweCA0OHB4O1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xufVxuLmZhcV9fYWNjb3JkaW9uIHtcbiAgICBtYXgtd2lkdGg6IDg4MHB4O1xuICAgIG1hcmdpbjogMjRweCBhdXRvIDA7XG59XG4uZmFxX19pdGVtIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXI6IDJweCBzb2xpZCAjZmZmO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgLyogT3ZlcnJpZGUgQm9vdHN0cmFwJ3MgYWNjb3JkaW9uIHJhZGl1cyB2YXJpYWJsZXMg4oCUIHRoZSBkZWZhdWx0XG4gICAgICAgOmZpcnN0LW9mLXR5cGUgLyA6bGFzdC1vZi10eXBlIHJ1bGVzIHJvdW5kIHRoZSBmaXJzdCBhbmQgbGFzdFxuICAgICAgIGJ1dHRvbiBieSByZWFkaW5nIHRoZXNlIGN1c3RvbSBwcm9wZXJ0aWVzLiAqL1xuICAgIC0tYnMtYWNjb3JkaW9uLWJvcmRlci1yYWRpdXM6IDA7XG4gICAgLS1icy1hY2NvcmRpb24taW5uZXItYm9yZGVyLXJhZGl1czogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAxNnB4O1xufVxuLyogQm9vdHN0cmFwIHJlbW92ZXMgdGhlIHRvcCBib3JkZXIgZnJvbSBub24tZmlyc3QgaXRlbXMgdG8gYXZvaWQgZG91YmxlXG4gICBib3JkZXJzIHdoZW4gaXRlbXMgc3RhY2sg4oCUIHJlc3RvcmUgaXQgYmVjYXVzZSB3ZSB3YW50IGVhY2ggaXRlbVxuICAgdmlzaWJseSBmcmFtZWQuICovXG4uZmFxX19pdGVtOm5vdCg6Zmlyc3Qtb2YtdHlwZSkge1xuICAgIGJvcmRlci10b3A6IDJweCBzb2xpZCAjZmZmO1xufVxuLmZhcV9fYnV0dG9uIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGZvbnQtc2l6ZTogMS4wNjI1cmVtO1xuICAgIHBhZGRpbmc6IDE4cHggMjRweDtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG59XG4uZmFxX19idXR0b246bm90KC5jb2xsYXBzZWQpIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBib3gtc2hhZG93OiBub25lO1xufVxuLmZhcV9fYnV0dG9uOmZvY3VzIHtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG4uZmFxX19idXR0b246OmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICAgIGNvbnRlbnQ6IFwiK1wiO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIGhlaWdodDogYXV0bztcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMnM7XG59XG4uZmFxX19idXR0b246bm90KC5jb2xsYXBzZWQpOjphZnRlciB7XG4gICAgY29udGVudDogXCLiiJJcIjsgLyogVSsyMjEyIG1pbnVzIHNpZ24g4oCUIHJlcGxhY2VzIHRoZSArIHdoZW4gdGhlIHBhbmVsIGlzIG9wZW4gKi9cbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lOyAvKiBraWxsIEJvb3RzdHJhcCdzIGRlZmF1bHQgY2hldnJvbiBpY29uICovXG4gICAgdHJhbnNmb3JtOiBub25lO1xufVxuLmZhcV9fYm9keSB7XG4gICAgY29sb3I6IHJnYmEoMjU1LDI1NSwyNTUsMC44NSk7XG4gICAgcGFkZGluZzogMCAyNHB4IDE4cHg7XG59XG4uZmFxX19ib2R5IHAgeyBtYXJnaW4tYm90dG9tOiAxMnB4OyB9XG4uZmFxX19ib2R5IHA6bGFzdC1jaGlsZCB7IG1hcmdpbi1ib3R0b206IDA7IH1cbi5mYXFfX2JvZHkgdWwgeyBtYXJnaW46IDRweCAwIDEycHg7IHBhZGRpbmctbGVmdDogMjBweDsgfVxuLmZhcV9fYm9keSBsaSB7IG1hcmdpbi1ib3R0b206IDZweDsgfVxuLmZhcV9fYm9keSBzdHJvbmcgeyBjb2xvcjogI2ZmZjsgfVxuLmZhcV9fYm9keSBhIHsgY29sb3I6ICNmZmY7IHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4uZmFxX19saW5rcyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgZ2FwOiA4cHggMjBweDtcbiAgICBtYXJnaW4tdG9wOiAxNnB4O1xuICAgIHBhZGRpbmctdG9wOiAxNHB4O1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMjUpO1xufVxuLyogV2hpdGUgb24gdGhlIGRhcmstYmx1ZSBGQVEgY2FyZCAoc2NvcGVkIHRvIGJlYXQgdGhlIGdlbmVyaWMgbGluayBydWxlKS4gKi9cbi5mYXFfX2JvZHkgLmZhcV9fbGluayB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDZweDtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGZvbnQtc2l6ZTogMC45cmVtO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cbi5mYXFfX2JvZHkgLmZhcV9fbGluazpob3ZlciB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG4uZmFxX19ib2R5IC5mYXFfX2xpbmsgLmJpIHsgZm9udC1zaXplOiAwLjc4cmVtOyB9XG5cbi8qIENUQSBSZWFkeSB0byBFbXBvd2VyICovXG4uaGUtY3RhIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW4tdG9wOiAtMzIwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogLTMyMHB4O1xuICAgIHotaW5kZXg6IDI7XG59XG4uaGUtY3RhX19jYXJkIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS10b3NhLXllbGxvdyk7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXgtd2lkdGg6IDExNDBweDtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBjbGlwLXBhdGg6IHBvbHlnb24oMCAwLCBjYWxjKDEwMCUgLSA2MHB4KSAwLCAxMDAlIDYwcHgsIDEwMCUgMTAwJSwgMCAxMDAlKTtcbn1cbi5oZS1jdGFfX2ltZyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiA0ODBweDtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgZGlzcGxheTogYmxvY2s7XG59XG4uaGUtY3RhX19ib2R5IHtcbiAgICBwYWRkaW5nOiAyNHB4IDQ4cHggMjRweCAwO1xufVxuLmhlLWN0YV9fdGV4dCB7XG4gICAgY29sb3I6ICMzMzM7XG4gICAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgICBmb250LXNpemU6IDFyZW07XG59XG5cbi8qIOKUgOKUgCA0MDQgLyBFcnJvciBwYWdlIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgCAqL1xuLmVycm9yLXBhZ2Uge1xuICAgIGJhY2tncm91bmQ6ICNmN2Y4ZmU7XG4gICAgcGFkZGluZzogOTZweCAwIDEyMHB4O1xuICAgIG1pbi1oZWlnaHQ6IDcwdmg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuLmVycm9yLXBhZ2VfX2NvZGUge1xuICAgIGZvbnQtc2l6ZTogY2xhbXAoNnJlbSwgMTZ2dywgMTJyZW0pO1xuICAgIGZvbnQtd2VpZ2h0OiA5MDA7XG4gICAgbGluZS1oZWlnaHQ6IDAuOTtcbiAgICBsZXR0ZXItc3BhY2luZzogLTAuMDRlbTtcbiAgICBtYXJnaW46IDAgMCAxcmVtO1xuICAgIGNvbG9yOiB2YXIoLS10b3NhLW9yYW5nZSk7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgdmFyKC0tdG9zYS1vcmFuZ2UpIDAlLCAjZmZiMzhhIDEwMCUpO1xuICAgIC13ZWJraXQtYmFja2dyb3VuZC1jbGlwOiB0ZXh0O1xuICAgIGJhY2tncm91bmQtY2xpcDogdGV4dDtcbiAgICAtd2Via2l0LXRleHQtZmlsbC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG4uZXJyb3ItcGFnZV9fdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogY2xhbXAoMS43NXJlbSwgMy41dncsIDIuNXJlbSk7XG4gICAgY29sb3I6ICMxYTFhMmU7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjtcbn1cbi5lcnJvci1wYWdlX190ZXh0IHtcbiAgICBjb2xvcjogIzRhNGE1NTtcbiAgICBmb250LXNpemU6IDEuMDYyNXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS42O1xuICAgIG1heC13aWR0aDogNTgwcHg7XG59XG4uZXJyb3ItcGFnZV9fYWN0aW9ucyB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDEuNXJlbTtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG4uZXJyb3ItcGFnZV9fbGluayB7XG4gICAgY29sb3I6IHZhcigtLXRvc2EtYmx1ZSk7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG59XG4uZXJyb3ItcGFnZV9fbGluazpob3ZlciB7XG4gICAgY29sb3I6ICMyZDJkYjg7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG5cbi8qIOKUgOKUgCBCbG9nIHBhZ2Ug4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAICovXG4uYmxvZy1oZWFkZXIge1xuICAgIGJhY2tncm91bmQ6ICNmN2Y4ZmU7XG59XG4uYmxvZy1oZWFkZXJfX3RpdGxlIHtcbiAgICBmb250LXNpemU6IGNsYW1wKDIuMjVyZW0sIDR2dywgM3JlbSk7XG4gICAgY29sb3I6ICMxYTFhMmU7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAyZW07XG59XG4uYmxvZy1oZWFkZXJfX3RleHQge1xuICAgIGNvbG9yOiAjNGE0YTU1O1xuICAgIGZvbnQtc2l6ZTogMS4wNjI1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjY7XG4gICAgbWF4LXdpZHRoOiA3MjBweDtcbn1cblxuLyog4pSA4pSAIFNlcnZlci1yZW5kZXJlZCBncmlkIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgCAqL1xuLmJsb2ctZ3JpZC1zZWN0aW9uIHtcbiAgICBiYWNrZ3JvdW5kOiAjZjdmOGZlIHVybCgnLi4vaW1hZ2VzL3Rvc2FkaWZmZXJlbmNlL3Njb3JpbmctYmcuanBnJykgYm90dG9tL2NvdmVyIG5vLXJlcGVhdDtcbn1cbi5ibG9nLWdyaWQge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMywgMWZyKTtcbiAgICBnYXA6IDJyZW0gMnJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAzcmVtO1xufVxuQG1lZGlhIChtYXgtd2lkdGg6IDk5MS45OHB4KSB7XG4gICAgLmJsb2ctZ3JpZCB7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7IH1cbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA1NzUuOThweCkge1xuICAgIC5ibG9nLWdyaWQgeyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjsgfVxufVxuXG4uYmxvZy1jYXJkIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG4uYmxvZy1jYXJkX19tZWRpYSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBiYWNrZ3JvdW5kOiAjZjFmM2Y4O1xuICAgIC8qIFRvcC1yaWdodCBjb3JuZXIgY2xpcHBlZCBkaWFnb25hbGx5IChubyByb3VuZGVkIHJhZGl1cykuICovXG4gICAgY2xpcC1wYXRoOiBwb2x5Z29uKDAgMCwgY2FsYygxMDAlIC0gMzJweCkgMCwgMTAwJSAzMnB4LCAxMDAlIDEwMCUsIDAgMTAwJSk7XG59XG4uYmxvZy1jYXJkX19pbWcge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBvYmplY3QtZml0OiBjb250YWluO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xufVxuLmJsb2ctY2FyZF9fYm9keSB7XG4gICAgcGFkZGluZzogMS4yNXJlbSAxLjI1cmVtIDEuNXJlbTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiAuNzVyZW07XG4gICAgZmxleDogMSAxIGF1dG87XG59XG4uYmxvZy1jYXJkX190aXRsZSB7XG4gICAgZm9udC1zaXplOiAxLjE1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjM1O1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgbWFyZ2luOiAwO1xuICAgIGNvbG9yOiAjMWExYTJlO1xuICAgIGZsZXg6IDEgMSBhdXRvO1xufVxuLmJsb2ctY2FyZF9fdGl0bGUgYSB7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuLmJsb2ctY2FyZF9fdGl0bGUgYTpob3ZlciB7XG4gICAgY29sb3I6ICNGMTQ5MTA7XG59XG4uYmxvZy1jYXJkX19tb3JlIHtcbiAgICBjb2xvcjogI0YxNDkxMDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBmb250LXNpemU6IC45NXJlbTtcbiAgICBtYXJnaW4tdG9wOiAuMjVyZW07XG59XG4uYmxvZy1jYXJkX19tb3JlOmhvdmVyIHtcbiAgICBjb2xvcjogI2M4MzkwYTtcbn1cblxuLyog4pSA4pSAIENhcmQgbWV0YSAoYXV0aG9yIOKAoiByZWFkIHRpbWUpIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgCAqL1xuLmRpYi1tZXRhLXRleHQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiAuMzVyZW0gLjVyZW07XG4gICAgbWFyZ2luOiAwO1xuICAgIGNvbG9yOiAjNmI3MjgwO1xuICAgIGZvbnQtc2l6ZTogLjg1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG59XG4uZGliLW1ldGEtaXRlbSB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cbi5kaWItbWV0YS1pdGVtICsgLmRpYi1tZXRhLWl0ZW06OmJlZm9yZSB7XG4gICAgY29udGVudDogXCLigKJcIjtcbiAgICBtYXJnaW4tcmlnaHQ6IC41cmVtO1xuICAgIGNvbG9yOiAjYjhiY2M3O1xufVxuLmRpYi1tZXRhLWF1dGhvciB7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBjb2xvcjogIzFhMWEyZTtcbn1cbi5kaWItbWV0YS1yZWFkdGltZSB7XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xufVxuXG4vKiDilIDilIAgUGFnaW5hdGlvbiDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIAgKi9cbi5ibG9nLXBhZ2luYXRpb24ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBnYXA6IDFyZW07XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIG1hcmdpbjogMi41cmVtIDAgMXJlbTtcbn1cbi5ibG9nLXBhZ2luYXRpb25fX3BhZ2VzIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZ2FwOiAuNXJlbTtcbn1cbi5ibG9nLXBhZ2luYXRpb25fX2J0bixcbi5ibG9nLXBhZ2luYXRpb25fX3BhZ2Uge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgbWluLXdpZHRoOiAyLjc1cmVtO1xuICAgIGhlaWdodDogMi43NXJlbTtcbiAgICBwYWRkaW5nOiAwIC45cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgLjJzLCBjb2xvciAuMnMsIGJvcmRlci1jb2xvciAuMnM7XG59XG4uYmxvZy1wYWdpbmF0aW9uX19idG4tLW5hdiB7XG4gICAgYmFja2dyb3VuZDogI0YxNDkxMDtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBwYWRkaW5nOiAwIDEuNnJlbTtcbiAgICBnYXA6IC41cmVtO1xuICAgIG1pbi13aWR0aDogOXJlbTtcbn1cbi5ibG9nLXBhZ2luYXRpb25fX2J0bi0tcHJldiB7XG4gICAgLyogdG9wLWxlZnQgY29ybmVyIGN1dCBkaWFnb25hbGx5IChib3R0b20gZWRnZXMgc3RheSBzcXVhcmUpICovXG4gICAgY2xpcC1wYXRoOiBwb2x5Z29uKDE0cHggMCwgMTAwJSAwLCAxMDAlIDEwMCUsIDAgMTAwJSwgMCAxNHB4KTtcbn1cbi5ibG9nLXBhZ2luYXRpb25fX2J0bi0tbmV4dCB7XG4gICAgLyogdG9wLXJpZ2h0IGNvcm5lciBjdXQgZGlhZ29uYWxseSAoYm90dG9tIGVkZ2VzIHN0YXkgc3F1YXJlKSAqL1xuICAgIGNsaXAtcGF0aDogcG9seWdvbigwIDAsIGNhbGMoMTAwJSAtIDE0cHgpIDAsIDEwMCUgMTRweCwgMTAwJSAxMDAlLCAwIDEwMCUpO1xufVxuLmJsb2ctcGFnaW5hdGlvbl9fYnRuLS1uYXY6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6ICNjODM5MGE7XG4gICAgY29sb3I6ICNmZmY7XG59XG4uYmxvZy1wYWdpbmF0aW9uX19idG4uaXMtZGlzYWJsZWQge1xuICAgIGJhY2tncm91bmQ6ICNmMWYxZjE7XG4gICAgY29sb3I6ICNhYWE7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG4uYmxvZy1wYWdpbmF0aW9uX19wYWdlIHtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDY5LCA2OSwgMjE5LCAwLjEpOyAvKiB2YXIoLS10b3NhLWJsdWUpIEAgMTAlICovXG4gICAgY29sb3I6IHZhcigtLXRvc2EtYmx1ZSk7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cbi5ibG9nLXBhZ2luYXRpb25fX3BhZ2U6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IHJnYmEoNjksIDY5LCAyMTksIDAuMTgpO1xuICAgIGNvbG9yOiB2YXIoLS10b3NhLWJsdWUpO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG4uYmxvZy1wYWdpbmF0aW9uX19wYWdlLmlzLWFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tdG9zYS1ibHVlKTtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLXRvc2EtYmx1ZSk7XG4gICAgY3Vyc29yOiBkZWZhdWx0O1xufVxuXG4vKiBTaW5nbGUtcG9zdCBlbWJlZCB3cmFwcGVyIChrZXB0IGZvciA/cD08c2x1Zz4pICovXG4uYmxvZy1mZWVkIHtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoJy4uL2ltYWdlcy90b3NhZGlmZmVyZW5jZS9zY29yaW5nLWJnLmpwZycpIGNlbnRlci9jb3ZlciBuby1yZXBlYXQ7XG4gICAgbWluLWhlaWdodDogNDgwcHg7XG59XG4uYmxvZy1mZWVkX19jb250YWluZXIge1xuICAgIG1heC13aWR0aDogMTEwMHB4O1xuICAgIG1hcmdpbjogMCBhdXRvO1xufVxuLmJsb2ctZmVlZF9fbG9hZGluZyB7XG4gICAgY29sb3I6IHZhcigtLXRvc2EtYmx1ZSk7XG59XG5cbi8qIOKUgOKUgCBTaW5nbGUgcG9zdCAoc2VydmVyLXJlbmRlcmVkKSDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIAgKi9cbi5kaWItcG9zdCB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgcGFkZGluZzogNDhweCBjbGFtcCgxLjI1cmVtLCA0dncsIDMuNXJlbSk7XG4gICAgbWF4LXdpZHRoOiBub25lO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogMDtcbn1cbi5kaWItcG9zdC10aXRsZSB7XG4gICAgZm9udC1zaXplOiBjbGFtcCgxLjc1cmVtLCAzLjV2dywgMi41cmVtKTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGNvbG9yOiAjMWExYTJlO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgbWFyZ2luOiAwIDAgMXJlbTtcbn1cbi5kaWItcG9zdCAuZGliLW1ldGEtdGV4dCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMS41cmVtO1xufVxuLmRpYi1wb3N0LWZlYXR1cmVkLWltYWdlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgbWFyZ2luOiAwIDAgMnJlbTtcbn1cbi5kaWItYXVkaW8ge1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgcGFkZGluZzogLjg1cmVtIDEuMjVyZW07XG4gICAgbWFyZ2luOiAwIDAgMnJlbTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiAxcmVtO1xuICAgIGJveC1zaGFkb3c6IDAgNnB4IDIwcHggcmdiYSgyMCwgMzAsIDYwLCAwLjA4KTtcbn1cbi5kaWItYXVkaW8gYXVkaW8ge1xuICAgIGRpc3BsYXk6IG5vbmU7IC8qIGhpZGRlbiDigJQgcmVwbGFjZWQgYnkgdGhlIGN1c3RvbSBjb250cm9scyBiZWxvdyAqL1xufVxuLmRpYi1hdWRpb19fYnRuIHtcbiAgICBib3JkZXI6IDA7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgcGFkZGluZzogMDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgY29sb3I6ICMxYTFhMmU7XG4gICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG4uZGliLWF1ZGlvX19idG46aG92ZXIge1xuICAgIGNvbG9yOiAjMDAwO1xufVxuLmRpYi1hdWRpb19fcGxheSB7XG4gICAgY29sb3I6IHZhcigtLXRvc2Etb3JhbmdlKTtcbiAgICBmb250LXNpemU6IDEuODVyZW07XG59XG4uZGliLWF1ZGlvX19wbGF5OmhvdmVyIHtcbiAgICBjb2xvcjogI2M4MzkwYTtcbn1cbi5kaWItYXVkaW9fX3RpbWUge1xuICAgIGZvbnQtdmFyaWFudC1udW1lcmljOiB0YWJ1bGFyLW51bXM7XG4gICAgY29sb3I6ICMxYTFhMmU7XG4gICAgZm9udC1zaXplOiAuOXJlbTtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG59XG4uZGliLWF1ZGlvX19wcm9ncmVzcyB7XG4gICAgZmxleDogMSAxIGF1dG87XG4gICAgaGVpZ2h0OiA2cHg7XG4gICAgYmFja2dyb3VuZDogI0RCRURGNTsgLyogbGlnaHQgY3lhbiB0cmFjayAqL1xuICAgIGJvcmRlci1yYWRpdXM6IDk5OXB4O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBtaW4td2lkdGg6IDgwcHg7XG59XG4uZGliLWF1ZGlvX19wcm9ncmVzcy1maWxsIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS10b3NhLXRlYWwpOyAvKiBkYXJrZXIgdGVhbCBwcm9ncmVzcyAqL1xuICAgIHdpZHRoOiAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYm9yZGVyLXJhZGl1czogOTk5cHg7XG4gICAgdHJhbnNpdGlvbjogd2lkdGggLjFzIGxpbmVhcjtcbn1cbi5kaWItYXVkaW9fX3Byb2dyZXNzOmZvY3VzIHtcbiAgICBvdXRsaW5lOiAycHggc29saWQgcmdiYSgxMywgMTA3LCAxMTAsIDAuNCk7XG4gICAgb3V0bGluZS1vZmZzZXQ6IDJweDtcbn1cbi5kaWItcG9zdC1jb250ZW50IHtcbiAgICBjb2xvcjogIzJhMmEzYTtcbiAgICBsaW5lLWhlaWdodDogMS43O1xuICAgIGZvbnQtc2l6ZTogMS4wNjI1cmVtO1xufVxuLyogQWxsIGxpbmtzIGluc2lkZSB0aGUgYXJ0aWNsZSB1c2UgdGhlIFRvc2Egb3JhbmdlLiAqL1xuLmRpYi1wb3N0IGEsXG4uZGliLXBvc3QgYTp2aXNpdGVkLFxuLmRpYi1wb3N0IGEgc3BhbiB7XG4gICAgY29sb3I6IHZhcigtLXRvc2Etb3JhbmdlKSAhaW1wb3J0YW50O1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIHRleHQtdW5kZXJsaW5lLW9mZnNldDogM3B4O1xufVxuLmRpYi1wb3N0IGE6aG92ZXIsXG4uZGliLXBvc3QgYTpmb2N1cyB7XG4gICAgY29sb3I6ICNjODM5MGEgIWltcG9ydGFudDtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cbi5kaWItcG9zdC1jb250ZW50IHAgeyBtYXJnaW46IDAgMCAxLjFyZW07IH1cbi5kaWItcG9zdC1jb250ZW50IGltZyB7IG1heC13aWR0aDogMTAwJTsgaGVpZ2h0OiBhdXRvOyB9XG4uZGliLXBvc3QtY29udGVudCBoMiB7IGZvbnQtc2l6ZTogMS41cmVtOyBtYXJnaW46IDJyZW0gMCAxcmVtOyB9XG4uZGliLXBvc3QtY29udGVudCBoMyB7IGZvbnQtc2l6ZTogMS4ycmVtOyBtYXJnaW46IDEuNnJlbSAwIC44cmVtOyB9XG4uZGliLXJlbGF0ZWQge1xuICAgIG1hcmdpbjogNHJlbSAwIDA7XG4gICAgcGFkZGluZy10b3A6IDIuNXJlbTtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgcmdiYSgyMCwgMzAsIDYwLCAwLjEyKTtcbn1cbi5kaWItcmVsYXRlZF9fdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogY2xhbXAoMS43NXJlbSwgM3Z3LCAyLjI1cmVtKTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGNvbG9yOiAjMWExYTJlO1xuICAgIG1hcmdpbjogMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4uZGliLXJlbGF0ZWRfX2dyaWQge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMywgMWZyKTtcbiAgICBnYXA6IDJyZW07XG59XG5AbWVkaWEgKG1heC13aWR0aDogOTkxLjk4cHgpIHtcbiAgICAuZGliLXJlbGF0ZWRfX2dyaWQgeyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpOyB9XG59XG5AbWVkaWEgKG1heC13aWR0aDogNTc1Ljk4cHgpIHtcbiAgICAuZGliLXJlbGF0ZWRfX2dyaWQgeyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjsgfVxufVxuLyogUmVsYXRlZC1wb3N0IGNhcmQgdGl0bGVzIHN0YXkgYmxhY2sgKyBubyB1bmRlcmxpbmUsXG4gICBvdmVycmlkaW5nIHRoZSBvcmFuZ2UvdW5kZXJsaW5lIHJ1bGUgYXBwbGllZCB0byBhbGwgYW5jaG9ycyBpbnNpZGUgLmRpYi1wb3N0LiAqL1xuLmRpYi1yZWxhdGVkIC5ibG9nLWNhcmRfX3RpdGxlIGEsXG4uZGliLXJlbGF0ZWQgLmJsb2ctY2FyZF9fdGl0bGUgYTp2aXNpdGVkIHtcbiAgICBjb2xvcjogIzFhMWEyZSAhaW1wb3J0YW50O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZSAhaW1wb3J0YW50O1xufVxuLmRpYi1yZWxhdGVkIC5ibG9nLWNhcmRfX3RpdGxlIGE6aG92ZXIge1xuICAgIGNvbG9yOiAjRjE0OTEwICFpbXBvcnRhbnQ7XG59XG4uZGliLXJlbGF0ZWQgLmJsb2ctY2FyZF9fbW9yZSxcbi5kaWItcmVsYXRlZCAuYmxvZy1jYXJkX19tb3JlIHNwYW4sXG4uZGliLXJlbGF0ZWQgLmJsb2ctY2FyZF9fdGl0bGUgYSBzcGFuIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLmRpYi1wb3N0LWJhY2sge1xuICAgIG1hcmdpbi10b3A6IDIuNXJlbTtcbiAgICBmb250LXdlaWdodDogNjAwO1xufVxuLmRpYi1wb3N0LWJhY2sgYSB7XG4gICAgY29sb3I6IHZhcigtLXRvc2EtYmx1ZSk7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuLmRpYi1wb3N0LWJhY2sgYTpob3ZlciB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG5cbi8qIE9ubGluZS1zdG9yZSB2YXJpYW50IG9mIHRoZSBuZXdzbGV0dGVyIOKAlCBleHRyYS10YWxsIHNlY3Rpb24gd2l0aCB0aGUgdGVhbVxuICAgcGhvdG8gYWJvdmUgdGhlIGZvcm0uICovXG4ubmV3c2xldHRlci0tb25saW5lLXN0b3JlIHtcbiAgICBwYWRkaW5nLXRvcDogODBweCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctYm90dG9tOiA5NnB4ICFpbXBvcnRhbnQ7XG59XG4ubmV3c2xldHRlci0tb25saW5lLXN0b3JlX19waG90by13cmFwIHtcbiAgICBtYXgtd2lkdGg6IDExMDBweDtcbiAgICBtYXJnaW46IDAgYXV0bztcbn1cbi5uZXdzbGV0dGVyLS1vbmxpbmUtc3RvcmVfX3Bob3RvIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgY2xpcC1wYXRoOiBwb2x5Z29uKDAgMCwgY2FsYygxMDAlIC0gODBweCkgMCwgMTAwJSA4MHB4LCAxMDAlIDEwMCUsIDAgMTAwJSk7XG59XG5cbi8qIOKUgOKUgCBCb29rIEV4YW0gcGFnZSDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIAgKi9cblxuLyogSGVybyDigJQgZnVsbC1zZWN0aW9uIGNvdmVyIGltYWdlIHdpdGggb3ZlcmxheSBjb3B5IG9uIHRoZSBsZWZ0LlxuICAgVGhlIGFzcGVjdC1yYXRpbyBpcyBsb2NrZWQgdG8gdGhlIHNvdXJjZSBpbWFnZSAo4omIMTYwMMOXODczKSBzbyB0aGUgZW50aXJlXG4gICBwaG90byBpcyBhbHdheXMgdmlzaWJsZSwgZWRnZS10by1lZGdlLiBDYXBwZWQgdG8gc3RheSBiZWxvdyB2aWV3cG9ydFxuICAgaGVpZ2h0IHNvIHRoZSB3aG9sZSBoZXJvIChhbmQgYSBoaW50IG9mIHRoZSBzZWN0aW9uIGJlbG93KSBmaXRzIG9uIHNjcmVlbi4gKi9cbi5iZS1oZXJvIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYXNwZWN0LXJhdGlvOiAxNjAwIC8gODczO1xuICAgIG1heC1oZWlnaHQ6IGNhbGMoMTAwdmggLSAxMDBweCk7XG4gICAgbWluLWhlaWdodDogMzYwcHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBiYWNrZ3JvdW5kOiAjZWFmM2ZiO1xufVxuLmJlLWhlcm9fX2JnIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgaW5zZXQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgIG9iamVjdC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbn1cbi5iZS1oZXJvX19vdmVybGF5IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgaW5zZXQ6IDA7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDkwZGVnLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOTUpIDAlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuODIpIDM1JSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjM1KSA2MCUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMCkgNzUlKTtcbn1cbi5iZS1oZXJvX19pbm5lciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDI7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBwYWRkaW5nLXRvcDogNjRweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogNjRweDtcbn1cbi5iZS1oZXJvX19jb3B5IHsgbWF4LXdpZHRoOiA2MjBweDsgfVxuLmJlLWhlcm9fX3RpdGxlIHtcbiAgICBjb2xvcjogIzFhMWEyZTtcbiAgICBmb250LXNpemU6IGNsYW1wKDJyZW0sIDMuNnZ3LCAyLjc1cmVtKTtcbn1cbi5iZS1oZXJvX190ZXh0IHtcbiAgICBjb2xvcjogIzJhMmEzYTtcbiAgICBsaW5lLWhlaWdodDogMS42NTtcbiAgICBmb250LXNpemU6IDFyZW07XG59XG4uYmUtaGVyb19fbGluayB7XG4gICAgY29sb3I6IHZhcigtLXRvc2Etb3JhbmdlKTtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cbi5iZS1oZXJvX19saW5rOmhvdmVyIHtcbiAgICBjb2xvcjogdmFyKC0tdG9zYS1vcmFuZ2UpO1xufVxuQG1lZGlhIChtYXgtd2lkdGg6IDc2Ny45OHB4KSB7XG4gICAgLmJlLWhlcm9fX292ZXJsYXkge1xuICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOTIpIDAlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuODUpIDEwMCUpO1xuICAgIH1cbn1cblxuLyogU3RlcHMgKi9cbi5iZS1zdGVwcyB7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbn1cbi5iZS1zdGVwc19fY2FyZCB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgbWF4LXdpZHRoOiAxMTAwcHg7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgcGFkZGluZzogNDhweCBjbGFtcCgyMHB4LCAzdncsIDU2cHgpO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG59XG4uYmUtc3RlcCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBnYXA6IDIwcHg7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgcGFkZGluZzogMjhweCAyNnB4O1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG1pbi1oZWlnaHQ6IDE1NnB4O1xufVxuLmJlLXN0ZXBfX2ljb24td3JhcCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIHdpZHRoOiA1NnB4O1xuICAgIGhlaWdodDogNTZweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG4vKiBTb2Z0IGJsdWUgYmx1cnJlZCBsaW5lIHVuZGVyIHRoZSBpY29uLiAqL1xuLmJlLXN0ZXBfX2ljb24td3JhcDo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgYm90dG9tOiAtMTBweDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgd2lkdGg6IDYwcHg7XG4gICAgaGVpZ2h0OiA2cHg7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tdG9zYS1ibHVlKTtcbiAgICBib3JkZXItcmFkaXVzOiA5OTlweDtcbiAgICBmaWx0ZXI6IGJsdXIoNnB4KTtcbiAgICBvcGFjaXR5OiAwLjU7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG4uYmUtc3RlcF9faWNvbiB7XG4gICAgd2lkdGg6IDU2cHg7XG4gICAgaGVpZ2h0OiA1NnB4O1xuICAgIG9iamVjdC1maXQ6IGNvbnRhaW47XG4gICAgZGlzcGxheTogYmxvY2s7XG59XG4uYmUtc3RlcF9fdGl0bGUge1xuICAgIGNvbG9yOiB2YXIoLS10b3NhLWJsdWUpO1xuICAgIGZvbnQtc2l6ZTogMS4wNXJlbTtcbiAgICBtYXJnaW46IDAgMCA2cHg7XG59XG4uYmUtc3RlcF9fdGV4dCB7XG4gICAgY29sb3I6ICM0YTRhNWU7XG4gICAgbGluZS1oZWlnaHQ6IDEuNTU7XG4gICAgZm9udC1zaXplOiAwLjkycmVtO1xufVxuLmJlLXN0ZXBfX2xpbmsge1xuICAgIGNvbG9yOiB2YXIoLS10b3NhLW9yYW5nZSk7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgdGV4dC11bmRlcmxpbmUtb2Zmc2V0OiAycHg7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbn1cbi5iZS1zdGVwX19saW5rOmhvdmVyIHtcbiAgICBjb2xvcjogI2M4MzkwYTtcbn1cblxuLyog4pSA4pSA4pSAIFB1cmNoYXNlIHdpemFyZCAoNC1zdGVwIGJyb3dzZXIgbW9ja3VwKSDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIAgKi9cbi5iZS1wdXJjaGFzZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y3ZmJmZDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xufVxuXG4vKiBTdGVwIGluZGljYXRvciDigJQgc29saWQgcmVjdGFuZ2xlcywgb25lIHBlciBzdGVwLiBJbmFjdGl2ZSBzdGVwcyBzdGF5XG4gICBsaWdodCBibHVlIHdpdGggZ3JleSB0ZXh0OyB0aGUgYWN0aXZlIHN0ZXAgYW5kIHByZXZpb3VzbHktY29tcGxldGVkIHN0ZXBzXG4gICBnZXQgYSBzb2xpZCBUb3NhIGJsdWUgYmFja2dyb3VuZCB3aXRoIHdoaXRlIHRleHQuICovXG4uYmUtcHVyY2hhc2VfX3N0ZXBzIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwIGF1dG8gNDBweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGdhcDogMTJweDtcbiAgICBtYXgtd2lkdGg6IDExMDBweDtcbn1cbi5iZS1wdXJjaGFzZV9fc3RlcCB7XG4gICAgZmxleDogMTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgY29sb3I6ICM5YWEwYjQ7XG4gICAgZm9udC1zaXplOiAxLjA1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHBhZGRpbmc6IDIycHggMTZweDtcbiAgICBiYWNrZ3JvdW5kOiAjZWFmM2ZiO1xuICAgIGJveC1zaGFkb3c6IDAgNHB4IDE0cHggcmdiYSgyMCwgMzAsIDYwLCAwLjA0KTtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIC4ycywgY29sb3IgLjJzO1xufVxuLmJlLXB1cmNoYXNlX19zdGVwLmlzLWFjdGl2ZSxcbi5iZS1wdXJjaGFzZV9fc3RlcC5pcy1kb25lIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS10b3NhLWJsdWUpO1xuICAgIGNvbG9yOiAjZmZmO1xufVxuLyogU2tpcHBlZCAoZS5nLiBzdGVwIDIgd2hlbiB0aGUgY2hvc2VuIHN1YmplY3QgaGFzIG5vIGxhbmd1YWdlL3ZlcnNpb25cbiAgIGNob2ljZSB0byBtYWtlKSDigJQga2VlcCB0aGUgZG90IHZpc2libGUgYnV0IHZpc2libHkgbXV0ZWQgc28gdGhlIGZsb3dcbiAgIGRvZXNuJ3Qgc2hpZnQgYW5kIHRoZSB1c2VyIHVuZGVyc3RhbmRzIHRoaXMgc3RlcCB3YXMgYnlwYXNzZWQuICovXG4uYmUtcHVyY2hhc2VfX3N0ZXAuaXMtc2tpcHBlZCB7XG4gICAgYmFja2dyb3VuZDogI2Q4ZGRlODtcbiAgICBjb2xvcjogIzhiOTNhODtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgIG9wYWNpdHk6IDAuODU7XG59XG4uYmUtcHVyY2hhc2VfX3N0ZXAuaXMtc2tpcHBlZC5pcy1kb25lLFxuLmJlLXB1cmNoYXNlX19zdGVwLmlzLXNraXBwZWQuaXMtYWN0aXZlIHtcbiAgICAvKiBJZiBza2lwcGVkLCBuZXZlciBzaG93IHRoZSBhY3RpdmUvZG9uZSBibHVlIHRyZWF0bWVudC4gKi9cbiAgICBiYWNrZ3JvdW5kOiAjZDhkZGU4O1xuICAgIGNvbG9yOiAjOGI5M2E4O1xufVxuLmJlLXB1cmNoYXNlX19zdGVwLW51bSB7IGRpc3BsYXk6IGJsb2NrOyB9XG5cbi8qIEJyb3dzZXIgbW9ja3VwIHdyYXBwZXIg4oCUIHRoZSBicm93c2VyIGNocm9tZSBpcyBzdHJldGNoZWQgYXMgYSBiYWNrZ3JvdW5kLFxuICAgYW5kIC5iZS1wdXJjaGFzZV9faW5uZXIgc2l0cyBpbnNpZGUsIHBhZGRlZCBkb3duIHBhc3QgdGhlIFVSTCBiYXIgc28gdGhlXG4gICBjb250ZW50IGxpdmVzIHdpdGhpbiB0aGUgY2hyb21lJ3MgZW1wdHkgYXJlYS4gVGhlIGlubmVyIHJhZGl1cyBtYXRjaGVzIHRoZVxuICAgY2hyb21lJ3Mgcm91bmRlZCBjb3JuZXJzIHNvIHRoZSB3aGl0ZSBmcmFtZSBkb2Vzbid0IHBlZWsgb3V0IHBhc3QgdGhlbS4gKi9cbi5iZS1wdXJjaGFzZV9fZnJhbWUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXgtd2lkdGg6IDExMDBweDtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIHRvcDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgMTAwJTtcbiAgICBib3JkZXItcmFkaXVzOiAwIDAgMTNweCAxM3B4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgYm94LXNoYWRvdzogMCAxMHB4IDQwcHggcmdiYSgyMCwgMzAsIDYwLCAwLjEwKTtcbn1cbi5iZS1wdXJjaGFzZV9faW5uZXIge1xuICAgIC8qIFRoZSBicm93c2VyIGNocm9tZSBQTkcgKDE0NDDDlzk2MSkgcmVzZXJ2ZXMgfjc1cHggYXQgdGhlIHRvcCBmb3IgdGhlXG4gICAgICAgVVJMIGJhciDigJQgcHVzaCBvdXIgY29udGVudCBwYXN0IGl0LiBCb3R0b20gcGFkZGluZyBnaXZlcyB0aGUgY2hyb21lXG4gICAgICAgYSB0aGluIGZyYW1lIGFyb3VuZCB0aGUgY29udGVudCB0b28uICovXG4gICAgcGFkZGluZzogOTJweCBjbGFtcCgyOHB4LCAzdncsIDU2cHgpIDU2cHg7XG59XG4uYmUtcHVyY2hhc2VfX3BhbmUgeyBkaXNwbGF5OiBub25lOyBtaW4taGVpZ2h0OiA1MjBweDsgfVxuLmJlLXB1cmNoYXNlX19wYW5lLmlzLWFjdGl2ZSB7IGRpc3BsYXk6IGJsb2NrOyB9XG4vKiBTdGVwIDMgaGFzIGZld2VyIGl0ZW1zIHRoYW4gdGhlIG90aGVycyDigJQgY2VudGVyIGl0cyBjb250ZW50IHZlcnRpY2FsbHkgc29cbiAgIHRoZSBwYW5lIG5ldmVyIGxvb2tzIGNyYW1wZWQgYWdhaW5zdCB0aGUgd2lkZXIgc3RlcCAxIC8gMiAvIDQgbGF5b3V0cy4gKi9cbi5iZS1wdXJjaGFzZV9fcGFuZVtkYXRhLXB1cmNoYXNlLXBhbmU9XCIzXCJdLmlzLWFjdGl2ZSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4vKiBUYWJzIChzdGVwIDEpIOKAlCByZXVzZSB0aGUgY2hyb21lIGZyb20gLmNlcnQtb2ZmZXJpbmdzICovXG4uYmUtcHVyY2hhc2VfX3RhYnMge1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGdhcDogMDtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2VjZWNmMztcbiAgICBtYXJnaW4tYm90dG9tOiAyOHB4O1xufVxuLmJlLXB1cmNoYXNlX190YWJzIC5uYXYtbGluayB7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIHBhZGRpbmc6IDEycHggMjRweDtcbiAgICBjb2xvcjogIzc3NztcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGJvcmRlci1ib3R0b206IDNweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xufVxuLmJlLXB1cmNoYXNlX190YWJzIC5uYXYtbGluay5hY3RpdmUge1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgY29sb3I6IHZhcigtLXRvc2EtYmx1ZSk7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdmFyKC0tdG9zYS1ibHVlKTtcbn1cbi5iZS1wdXJjaGFzZV9fdGFiLWxvZ28ge1xuICAgIGhlaWdodDogNDhweDtcbiAgICB3aWR0aDogYXV0bztcbiAgICBkaXNwbGF5OiBibG9jaztcbn1cbi5iZS1wdXJjaGFzZV9faGVhZGluZyB7XG4gICAgY29sb3I6ICMxYTFhMmU7XG4gICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgbWFyZ2luOiAwIDAgNHB4O1xufVxuLmJlLXB1cmNoYXNlX19wYW5lLWludHJvIHtcbiAgICBjb2xvcjogIzJhMmEzYTtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuNTU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG1heC13aWR0aDogNzYwcHg7XG4gICAgbWFyZ2luOiAwIGF1dG8gMjhweDtcbn1cbi5iZS1wdXJjaGFzZV9fc3VidGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMC45NXJlbTtcbiAgICBtYXJnaW46IDA7XG59XG5cbi8qIFN1YmplY3QgYnV0dG9ucyAqL1xuLmJlLXB1cmNoYXNlX19zdWJqZWN0IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBnYXA6IDEwcHg7XG4gICAgYXNwZWN0LXJhdGlvOiAxIC8gMTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOiAxNnB4IDEwcHg7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI0U2RjNGOTtcbiAgICBjb2xvcjogIzFhMWExYTtcbiAgICBmb250LXNpemU6IDAuODVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAuMnMsIGJvcmRlci1jb2xvciAuMnMsIGJveC1zaGFkb3cgLjJzLCB0cmFuc2Zvcm0gLjJzLCBjb2xvciAuMnM7XG59XG4uYmUtcHVyY2hhc2VfX3N1YmplY3Q6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS10b3NhLW9yYW5nZSk7XG4gICAgYm94LXNoYWRvdzogMCA2cHggMjBweCByZ2JhKDI0MSwgNzMsIDE2LCAwLjEwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTJweCk7XG4gICAgY29sb3I6IHZhcigtLXRvc2EtYmx1ZSk7XG59XG4uYmUtcHVyY2hhc2VfX3N1YmplY3QgaW1nIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgbWF4LWhlaWdodDogNjRweDtcbiAgICBvYmplY3QtZml0OiBjb250YWluO1xufVxuLmJlLXB1cmNoYXNlX19zdWJqZWN0IHNwYW4geyBsaW5lLWhlaWdodDogMS4yOyB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLyogU3RlcCAyIOKAlCBsYW5ndWFnZSArIHZlcnNpb24gKi9cbi5iZS1wdXJjaGFzZV9fZ3JvdXAtdGl0bGUge1xuICAgIGNvbG9yOiB2YXIoLS10b3NhLWJsdWUpO1xuICAgIGZvbnQtc2l6ZTogMS4wNXJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIG1hcmdpbjogMCAwIDE2cHg7XG59XG4uYmUtcHVyY2hhc2VfX3JhZGlvLWxpc3Qge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDAgMCA4cHg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogMTJweDtcbn1cbi5iZS1wdXJjaGFzZV9fcmFkaW8tbGlzdCBsYWJlbCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogMTJweDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgY29sb3I6ICMxYTFhMmU7XG4gICAgZm9udC1zaXplOiAxcmVtO1xufVxuLmJlLXB1cmNoYXNlX19yYWRpby1saXN0IGlucHV0W3R5cGU9XCJyYWRpb1wiXSB7XG4gICAgd2lkdGg6IDE4cHg7XG4gICAgaGVpZ2h0OiAxOHB4O1xuICAgIGFjY2VudC1jb2xvcjogdmFyKC0tdG9zYS1vcmFuZ2UpO1xufVxuLmJlLXB1cmNoYXNlX19waG90byB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIGNsaXAtcGF0aDogcG9seWdvbigwIDAsIGNhbGMoMTAwJSAtIDI4cHgpIDAsIDEwMCUgMjhweCwgMTAwJSAxMDAlLCAwIDEwMCUpO1xufVxuXG4vKiBTdGVwIDEg4oCUIHN1YmplY3QgZGV0YWlscyAoY29uZmlybWF0aW9uIGNhcmQgYWZ0ZXIgcGlja2luZyBhIHN1YmplY3QpLlxuICAgUmVjdGFuZ3VsYXIgbGF5b3V0LCBtaXJyb3JzIHRoZSBsZWdhY3kgYm9va2FuZXhhbSBwYWdlIHRyZWF0bWVudC4gKi9cbi5iZS1wdXJjaGFzZV9fZGV0YWlscyB7XG4gICAgcGFkZGluZzogNHB4IDhweDtcbn1cbi5iZS1wdXJjaGFzZV9fZGV0YWlsc1toaWRkZW5dIHsgZGlzcGxheTogbm9uZTsgfVxuLmJlLXB1cmNoYXNlX19kZXRhaWxzLWhlYWQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDEycHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMjhweDtcbn1cbi5iZS1wdXJjaGFzZV9fZGV0YWlscy1iYWNrIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXI6IDA7XG4gICAgY29sb3I6IHZhcigtLXRvc2Etb3JhbmdlKTtcbiAgICBmb250LXNpemU6IDEuMXJlbTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBwYWRkaW5nOiA2cHggOHB4O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xufVxuLmJlLXB1cmNoYXNlX19kZXRhaWxzLWJhY2s6aG92ZXIge1xuICAgIGNvbG9yOiAjZDgzYTA0O1xufVxuLmJlLXB1cmNoYXNlX19kZXRhaWxzLWV5ZWJyb3cge1xuICAgIGNvbG9yOiAjMWExYTJlO1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICBmb250LXdlaWdodDogNTAwO1xufVxuLmJlLXB1cmNoYXNlX19kZXRhaWxzLWV5ZWJyb3cgc3Ryb25nIHtcbiAgICBmb250LXdlaWdodDogNzAwO1xufVxuLmJlLXB1cmNoYXNlX19kZXRhaWxzLWljb24ge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNlNWU3ZWI7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIHBhZGRpbmc6IDU2cHggMzJweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYXNwZWN0LXJhdGlvOiAxIC8gMTtcbn1cbi5iZS1wdXJjaGFzZV9fZGV0YWlscy1pY29uIGltZyB7XG4gICAgbWF4LXdpZHRoOiAyMjBweDtcbiAgICBtYXgtaGVpZ2h0OiAyMjBweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgb2JqZWN0LWZpdDogY29udGFpbjtcbn1cbi5iZS1wdXJjaGFzZV9fZGV0YWlscy1kZXNjIHtcbiAgICBjb2xvcjogIzFmMjkzNztcbiAgICBsaW5lLWhlaWdodDogMS42O1xuICAgIGZvbnQtc2l6ZTogMC45NXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAxOHB4O1xufVxuLmJlLXB1cmNoYXNlX19kZXRhaWxzLWgge1xuICAgIGNvbG9yOiB2YXIoLS10b3NhLWJsdWUpO1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIG1hcmdpbjogMThweCAwIDhweDtcbn1cbi5iZS1wdXJjaGFzZV9fZGV0YWlscy1saXN0IHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwIDAgNHB4O1xuICAgIGNvbG9yOiAjMzc0MTUxO1xuICAgIGZvbnQtc2l6ZTogMC45cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjc7XG59XG4uYmUtcHVyY2hhc2VfX2RldGFpbHMtbGlzdCBsaSB7XG4gICAgcGFkZGluZy1sZWZ0OiAxNnB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbi5iZS1wdXJjaGFzZV9fZGV0YWlscy1saXN0IGxpOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICfigLonO1xuICAgIGNvbG9yOiAjNmI3MjgwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAwO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG59XG4uYmUtcHVyY2hhc2VfX2RldGFpbHMtbGVhcm5tb3JlIHtcbiAgICBtYXJnaW46IDE4cHggMCAwO1xuICAgIGNvbG9yOiAjMWYyOTM3O1xuICAgIGZvbnQtc2l6ZTogMC45cmVtO1xufVxuLmJlLXB1cmNoYXNlX19kZXRhaWxzLWxlYXJubW9yZSBhIHtcbiAgICBjb2xvcjogdmFyKC0tdG9zYS1vcmFuZ2UpO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuLmJlLXB1cmNoYXNlX19kZXRhaWxzLWxlYXJubW9yZSBhOmhvdmVyIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cblxuLyogU3RlcCAzIOKAlCBwcm9jdG9yaW5nICovXG4uYmUtcHVyY2hhc2VfX3Byb2N0b3Ige1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBnYXA6IDM2cHg7XG4gICAgcGFkZGluZzogODBweCAzMnB4O1xuICAgIG1pbi1oZWlnaHQ6IDM2MHB4O1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZDlkYWU2O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIC4ycywgYmFja2dyb3VuZC1jb2xvciAuMnM7XG59XG4uYmUtcHVyY2hhc2VfX3Byb2N0b3I6aG92ZXIge1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tdG9zYS1ibHVlKTtcbiAgICBiYWNrZ3JvdW5kOiAjZjdmYmZkO1xufVxuLyogU2VsZWN0ZWQgc3RhdGUg4oCUIG1hdGNoIHRoZSBvcmFuZ2Ug4pyTIGluIHRoZSBjb3JuZXIgd2l0aCBhbiBvcmFuZ2VcbiAgIGNhcmQgYm9yZGVyIHNvIHRoZSBjaG9pY2UgcmVhZHMgYXQgYSBnbGFuY2UuIGA6aGFzKGlucHV0OmNoZWNrZWQpYFxuICAgdGFyZ2V0cyB0aGUgbGFiZWwgd2hvc2UgbmVzdGVkIHJhZGlvIGlzIGNoZWNrZWQuICovXG4uYmUtcHVyY2hhc2VfX3Byb2N0b3I6aGFzKGlucHV0OmNoZWNrZWQpIHtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLXRvc2Etb3JhbmdlKTtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmN2YzO1xufVxuLmJlLXB1cmNoYXNlX19wcm9jdG9yIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSxcbi5iZS1wdXJjaGFzZV9fcHJvY3RvciBpbnB1dFt0eXBlPVwicmFkaW9cIl0ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuLmJlLXB1cmNoYXNlX19wcm9jdG9yLWNoZWNrIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAxOHB4O1xuICAgIHJpZ2h0OiAxOHB4O1xuICAgIHdpZHRoOiAyMnB4O1xuICAgIGhlaWdodDogMjJweDtcbiAgICBib3JkZXI6IDEuNXB4IHNvbGlkICNkOWRhZTY7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIC4xNXMsIGJvcmRlci1jb2xvciAuMTVzO1xufVxuLmJlLXB1cmNoYXNlX19wcm9jdG9yIGlucHV0OmNoZWNrZWQgfiAuYmUtcHVyY2hhc2VfX3Byb2N0b3ItY2hlY2sge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLXRvc2Etb3JhbmdlKTtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLXRvc2Etb3JhbmdlKTtcbn1cbi5iZS1wdXJjaGFzZV9fcHJvY3RvciBpbnB1dDpjaGVja2VkIH4gLmJlLXB1cmNoYXNlX19wcm9jdG9yLWNoZWNrOjphZnRlciB7XG4gICAgY29udGVudDogJ+Kckyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGluc2V0OiAwO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbn1cbi5iZS1wdXJjaGFzZV9fcHJvY3Rvci1pY29uIHtcbiAgICB3aWR0aDogMTEwcHg7XG4gICAgaGVpZ2h0OiAxMTBweDtcbiAgICBvYmplY3QtZml0OiBjb250YWluO1xufVxuLmJlLXB1cmNoYXNlX19wcm9jdG9yLWxhYmVsIHtcbiAgICBjb2xvcjogIzFhMWEyZTtcbiAgICBmb250LXNpemU6IDEuMDVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBsaW5lLWhlaWdodDogMS40O1xuICAgIG1heC13aWR0aDogMjgwcHg7XG59XG4uYmUtcHVyY2hhc2VfX3Byb2N0b3ItdGV4dCB7XG4gICAgY29sb3I6ICM0YTRhNWU7XG4gICAgZm9udC1zaXplOiAwLjlyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuNTU7XG4gICAgbWF4LXdpZHRoOiAzMDBweDtcbiAgICBtYXJnaW4tdG9wOiAtMjBweDtcbn1cbi5iZS1wdXJjaGFzZV9fcHJvY3Rvci10ZXh0IGEge1xuICAgIGNvbG9yOiB2YXIoLS10b3NhLW9yYW5nZSk7XG59XG4uYmUtcHVyY2hhc2VfX3Byb2N0b3ItZXJyb3Ige1xuICAgIGNvbG9yOiB2YXIoLS10b3NhLW9yYW5nZSk7XG4gICAgZm9udC1zaXplOiAwLjlyZW07XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbWFyZ2luOiAxNnB4IDAgMDtcbn1cblxuLyogTmV4dCBsaW5rICovXG4uYmUtcHVyY2hhc2VfX25leHQge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBjb2xvcjogdmFyKC0tdG9zYS1vcmFuZ2UpO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICBwYWRkaW5nOiA2cHggNHB4O1xufVxuLmJlLXB1cmNoYXNlX19uZXh0OmhvdmVyIHsgY29sb3I6ICNjODM5MGE7IH1cblxuLyogU3RlcCA0IOKAlCBwYWNrcyAqL1xuLmJlLXB1cmNoYXNlX19sZWdhbCB7XG4gICAgY29sb3I6ICMyYTJhM2E7XG4gICAgZm9udC1zaXplOiAwLjkycmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU1O1xufVxuLmJlLXB1cmNoYXNlX19wYWNrcyB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg1LCAxZnIpO1xuICAgIGdhcDogMDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZWNlY2YzO1xufVxuQG1lZGlhIChtYXgtd2lkdGg6IDk5MS45OHB4KSB7IC5iZS1wdXJjaGFzZV9fcGFja3MgeyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpOyB9IH1cbkBtZWRpYSAobWF4LXdpZHRoOiA1NzUuOThweCkgeyAuYmUtcHVyY2hhc2VfX3BhY2tzIHsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7IH0gfVxuLmJlLXB1cmNoYXNlX19wYWNrIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjZWNlY2YzO1xufVxuLmJlLXB1cmNoYXNlX19wYWNrOmxhc3QtY2hpbGQgeyBib3JkZXItcmlnaHQ6IDA7IH1cblxuLmJlLXB1cmNoYXNlX19wYWNrLWhlYWQge1xuICAgIHBhZGRpbmc6IDIycHggMjBweDtcbiAgICBiYWNrZ3JvdW5kOiAjZjVmN2ZmO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZWNlY2YzO1xuICAgIG1pbi1oZWlnaHQ6IDkycHg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuLmJlLXB1cmNoYXNlX19wYWNrLmlzLWFjdGl2ZSAuYmUtcHVyY2hhc2VfX3BhY2staGVhZCxcbi5iZS1wdXJjaGFzZV9fcGFjazpob3ZlciAuYmUtcHVyY2hhc2VfX3BhY2staGVhZCB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tdG9zYS1vcmFuZ2UpO1xufVxuLmJlLXB1cmNoYXNlX19wYWNrLW5hbWUge1xuICAgIGNvbG9yOiAjMWExYTJlO1xuICAgIGZvbnQtc2l6ZTogMS4wNXJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIG1hcmdpbjogMDtcbiAgICBsaW5lLWhlaWdodDogMS4yNTtcbn1cbi5iZS1wdXJjaGFzZV9fcGFjay5pcy1hY3RpdmUgLmJlLXB1cmNoYXNlX19wYWNrLW5hbWUsXG4uYmUtcHVyY2hhc2VfX3BhY2s6aG92ZXIgLmJlLXB1cmNoYXNlX19wYWNrLW5hbWUgeyBjb2xvcjogI2ZmZjsgfVxuXG4uYmUtcHVyY2hhc2VfX3BhY2stYm9keSB7XG4gICAgZmxleDogMSAxIGF1dG87XG4gICAgcGFkZGluZzogMjBweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiAxNnB4O1xufVxuLmJlLXB1cmNoYXNlX19wYWNrLWRlc2Mge1xuICAgIGNvbG9yOiAjMmEyYTNhO1xuICAgIGZvbnQtc2l6ZTogMC45MnJlbTtcbiAgICBsaW5lLWhlaWdodDogMS41O1xuICAgIG1hcmdpbjogMDtcbn1cbi8qIFJlc2V0IHRoZSBicm93c2VyJ3MgZGVmYXVsdCB1bCBpbmRlbnQgaW5zaWRlIHRoZSBwYWNrIGRlc2NyaXB0aW9uIHNvIHRoZVxuICAgYnVsbGV0cyBhbGlnbiB3aXRoIHRoZSByZXN0IG9mIHRoZSB0ZXh0LiBUaGUgbGlzdCBjb21lcyBzdHJhaWdodCBmcm9tXG4gICB0aGUgQVBJIChzcGVfZGV0LnRvc2FfcHJpX2RldC5kZXMgSFRNTCksIHNvIHdlIHN0eWxlIGl0IGlubGluZSBoZXJlLiAqL1xuLmJlLXB1cmNoYXNlX19wYWNrLWRlc2MgdWwge1xuICAgIGxpc3Qtc3R5bGU6IGRpc2M7XG4gICAgbWFyZ2luOiA4cHggMCAwO1xuICAgIHBhZGRpbmctbGVmdDogMS4xcmVtO1xufVxuLmJlLXB1cmNoYXNlX19wYWNrLWRlc2MgbGkge1xuICAgIG1hcmdpbi1ib3R0b206IDJweDtcbn1cbi5iZS1wdXJjaGFzZV9fcGFjay1mZWF0dXJlcyB7XG4gICAgbGlzdC1zdHlsZTogZGlzYyBpbnNpZGU7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDA7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogNnB4O1xuICAgIGZsZXg6IDEgMSBhdXRvO1xufVxuLmJlLXB1cmNoYXNlX19wYWNrLWZlYXR1cmVzIGxpIHtcbiAgICBjb2xvcjogIzJhMmEzYTtcbiAgICBmb250LXNpemU6IDAuOXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS40O1xufVxuLmJlLXB1cmNoYXNlX19wYWNrLWZlYXR1cmVzIGxpOjptYXJrZXIgeyBjb2xvcjogdmFyKC0tdG9zYS1ibHVlKTsgfVxuXG4uYmUtcHVyY2hhc2VfX3BhY2stcHJpY2Uge1xuICAgIGNvbG9yOiB2YXIoLS10b3NhLWJsdWUpO1xuICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgbWFyZ2luLXRvcDogYXV0bztcbn1cblxuLmJlLXB1cmNoYXNlX19wYWNrLWNoZWNrb3V0IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmc6IDE0cHggMThweDtcbiAgICBiYWNrZ3JvdW5kOiAjZjVmN2ZmO1xuICAgIGJvcmRlcjogMDtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2VjZWNmMztcbiAgICBjb2xvcjogIzJhMmEzYTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIC4ycywgY29sb3IgLjJzO1xufVxuLmJlLXB1cmNoYXNlX19wYWNrLmlzLWFjdGl2ZSAuYmUtcHVyY2hhc2VfX3BhY2stY2hlY2tvdXQsXG4uYmUtcHVyY2hhc2VfX3BhY2s6aG92ZXIgLmJlLXB1cmNoYXNlX19wYWNrLWNoZWNrb3V0IHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS10b3NhLW9yYW5nZSk7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgY2xpcC1wYXRoOiBwb2x5Z29uKDAgMCwgY2FsYygxMDAlIC0gMTZweCkgMCwgMTAwJSAxNnB4LCAxMDAlIDEwMCUsIDAgMTAwJSk7XG59XG4uYmUtcHVyY2hhc2VfX3BhY2stcmFkaW8ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogMThweDtcbiAgICBoZWlnaHQ6IDE4cHg7XG4gICAgYm9yZGVyOiAxLjVweCBzb2xpZCAjZDlkYWU2O1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiA4cHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuLmJlLXB1cmNoYXNlX19wYWNrLmlzLWFjdGl2ZSAuYmUtcHVyY2hhc2VfX3BhY2stcmFkaW8sXG4uYmUtcHVyY2hhc2VfX3BhY2s6aG92ZXIgLmJlLXB1cmNoYXNlX19wYWNrLXJhZGlvIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS10b3NhLXllbGxvdyk7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS10b3NhLXllbGxvdyk7XG59XG4uYmUtcHVyY2hhc2VfX3BhY2suaXMtYWN0aXZlIC5iZS1wdXJjaGFzZV9fcGFjay1yYWRpbzo6YWZ0ZXIsXG4uYmUtcHVyY2hhc2VfX3BhY2s6aG92ZXIgLmJlLXB1cmNoYXNlX19wYWNrLXJhZGlvOjphZnRlciB7XG4gICAgY29udGVudDogJ+Kckyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGluc2V0OiAwO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBjb2xvcjogIzFhMWEyZTtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbn1cbi5iZS1wdXJjaGFzZV9fcGFjay1hcnJvdyB7IG1hcmdpbi1sZWZ0OiBhdXRvOyB9XG5cbi8qIOKUgOKUgCBDb250YWN0IFVzIHBhZ2Ug4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAICovXG4uY3UtYmFubmVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWluLWhlaWdodDogODAwcHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBiYWNrZ3JvdW5kOiAjZWFmM2ZiO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgICAuY3UtYmFubmVyIHsgbWluLWhlaWdodDogODgwcHg7IH1cbn1cbi5jdS1iYW5uZXJfX2JnIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgaW5zZXQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgIG9iamVjdC1wb3NpdGlvbjogcmlnaHQgY2VudGVyO1xufVxuLmN1LWJhbm5lcl9fb3ZlcmxheSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGluc2V0OiAwO1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjk2KSAwJSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjg4KSAzMCUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC40NSkgNTUlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDApIDcwJSk7XG59XG4uY3UtYmFubmVyX19pbm5lciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDI7XG4gICAgZmxleDogMTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgcGFkZGluZy10b3A6IDY0cHg7XG4gICAgcGFkZGluZy1ib3R0b206IDY0cHg7XG59XG4uY3UtYmFubmVyX19jb3B5IHsgbWF4LXdpZHRoOiA1MjBweDsgfVxuLmN1LWJhbm5lcl9fdGl0bGUge1xuICAgIGNvbG9yOiAjMWExYTJlO1xuICAgIGZvbnQtc2l6ZTogY2xhbXAoMi41cmVtLCA0LjV2dywgMy41cmVtKTtcbn1cbi5jdS1iYW5uZXJfX3RleHQge1xuICAgIGNvbG9yOiAjMmEyYTNhO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjY1O1xuICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG59XG5AbWVkaWEgKG1heC13aWR0aDogNzY3Ljk4cHgpIHtcbiAgICAuY3UtYmFubmVyX19vdmVybGF5IHtcbiAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjkyKSAwJSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjg1KSAxMDAlKTtcbiAgICB9XG59XG5cbi8qIEZvcm0gc2VjdGlvbiAqL1xuLmN1LWZvcm0tc2VjdGlvbiB7IGJhY2tncm91bmQ6ICNmZmY7IH1cbi5jdS1mb3JtLWNhcmQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBpc29sYXRpb246IGlzb2xhdGU7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgcGFkZGluZzogNTZweCBjbGFtcCgyNHB4LCA0dncsIDY0cHgpO1xuICAgIG1heC13aWR0aDogMTEwMHB4O1xuICAgIG1hcmdpbjogMCBhdXRvO1xufVxuLmN1LWZvcm0tY2FyZDo6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgaW5zZXQ6IDA7XG4gICAgei1pbmRleDogLTE7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tdG9zYS1ibHVlKTtcbiAgICBjbGlwLXBhdGg6IHBvbHlnb24oMCAwLCBjYWxjKDEwMCUgLSAzNnB4KSAwLCAxMDAlIDM2cHgsIDEwMCUgMTAwJSwgMCAxMDAlKTtcbn1cbi5jdS1mb3JtLWNhcmRfX3RpdGxlIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBmb250LXNpemU6IGNsYW1wKDEuNXJlbSwgMi42dncsIDJyZW0pO1xuICAgIG1hcmdpbjogMCAwIDEuNXJlbTtcbn1cblxuLmN1LWZvcm0geyB3aWR0aDogMTAwJTsgfVxuLmN1LWZvcm1fX3JvdyB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7XG4gICAgZ2FwOiAxNnB4O1xuICAgIG1hcmdpbi1ib3R0b206IDE2cHg7XG59XG4uY3UtZm9ybV9fcm93LS1mdWxsIHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcbn1cbi5jdS1mb3JtX19ncm91cCB7IHdpZHRoOiAxMDAlOyB9XG4uY3UtZm9ybV9fbGFiZWwge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgbWFyZ2luLWJvdHRvbTogOHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjM7XG59XG4uY3UtZm9ybV9fcmVxdWlyZWQge1xuICAgIGNvbG9yOiAjZmY1YTVhO1xuICAgIG1hcmdpbi1sZWZ0OiAycHg7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbn1cbi5jdS1mb3JtX19pbnB1dCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZzogMTRweCAxNnB4O1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wNCk7XG4gICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjQ1KTtcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG59XG4uY3UtZm9ybV9faW5wdXQ6OnBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcpO1xufVxuLmN1LWZvcm1fX2lucHV0OmZvY3VzIHtcbiAgICBvdXRsaW5lOiAwO1xuICAgIGJvcmRlci1jb2xvcjogI2ZmZjtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDgpO1xuICAgIGJveC1zaGFkb3c6IDAgMCAwIDNweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTgpO1xufVxuLmN1LWZvcm1fX3RleHRhcmVhIHtcbiAgICByZXNpemU6IHZlcnRpY2FsO1xuICAgIG1pbi1oZWlnaHQ6IDEyMHB4O1xufVxuLmN1LWZvcm1fX2NvbnNlbnQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgZ2FwOiAxMnB4O1xuICAgIG1hcmdpbjogMTZweCAwIDhweDtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcbn1cbi5jdS1mb3JtX19jb25zZW50IGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSB7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gICAgbWFyZ2luLXRvcDogNHB4O1xuICAgIHdpZHRoOiAxOHB4O1xuICAgIGhlaWdodDogMThweDtcbiAgICBhY2NlbnQtY29sb3I6IHZhcigtLXRvc2Etb3JhbmdlKTtcbn1cbi5jdS1mb3JtX19wcml2YWN5IHtcbiAgICBtYXJnaW46IDAgMCAyNHB4IDMwcHg7XG4gICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43OCk7XG4gICAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcbn1cbi5jdS1mb3JtX19wcml2YWN5LWxpbmsge1xuICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOTUpO1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIHRleHQtdW5kZXJsaW5lLW9mZnNldDogMnB4O1xufVxuLmN1LWZvcm1fX3ByaXZhY3ktbGluazpob3ZlciB7XG4gICAgY29sb3I6ICNmZmY7XG59XG4uY3UtZm9ybV9fZm9vdGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGdhcDogMTZweDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG59XG4vKiByZUNBUFRDSEEgd2lkZ2V0IGNvbnRhaW5lciDigJQgdGhlIGlmcmFtZSBpbnNlcnRlZCBieSBHb29nbGUgcmVuZGVycyBhdFxuICAgfjMwNMOXNzggd2l0aCBpdHMgb3duIGNocm9tZSwgc28gd2UganVzdCBnaXZlIGl0IGEgdHJhbnNwYXJlbnQgc2xvdC4gKi9cbi5jdS1mb3JtX19jYXB0Y2hhIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWluLWhlaWdodDogNzhweDtcbn1cbi5jdS1mb3JtX19jYXB0Y2hhIC5nLXJlY2FwdGNoYSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4vKiBJbmxpbmUgZXJyb3IgcmV0dXJuZWQgYnkgdGhlIEFKQVggc3VibWl0LiAqL1xuLmN1LWZvcm1fX2Vycm9yIHtcbiAgICBtYXJnaW46IDAgMCAxMnB4O1xuICAgIHBhZGRpbmc6IDEwcHggMTRweDtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgNzMsIDE2LCAwLjE4KTtcbiAgICBib3JkZXItbGVmdDogM3B4IHNvbGlkIHZhcigtLXRvc2Etb3JhbmdlKTtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBmb250LXNpemU6IDAuOTJyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuNDU7XG59XG5cbi8qIFN1Y2Nlc3MgY29uZmlybWF0aW9uIHNob3duIGFmdGVyIGEgdmFsaWQgY2xpZW50LXNpZGUgc3VibWl0LiAqL1xuLmN1LWZvcm1fX3N1Y2Nlc3Mge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgZ2FwOiAxNHB4O1xuICAgIHBhZGRpbmc6IDIwcHggMjRweDtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTIpO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC40KTtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBsaW5lLWhlaWdodDogMS41O1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbn1cbi5jdS1mb3JtX19zdWNjZXNzIGkge1xuICAgIGNvbG9yOiB2YXIoLS10b3NhLXllbGxvdyk7XG4gICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gICAgbWFyZ2luLXRvcDogMnB4O1xufVxuLmN1LWZvcm1fX3N1Ym1pdCB7IGZsZXgtc2hyaW5rOiAwOyB9XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA1NzUuOThweCkge1xuICAgIC5jdS1mb3JtX19yb3cgeyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjsgfVxufVxuXG4vKiBPZmZpY2UgbG9jYXRpb25zIOKAlCByZXVzZXMgLnd3YS1vZmZpY2VzX18qIGNsYXNzZXMgZnJvbSB3aG8td2UtYXJlICovXG4uY3Utb2ZmaWNlcyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2U2ZjRmODtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltYWdlcy9jYXJlZXJzL0hvdyB0byBBcHBseS1iZy5qcGcnKTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICBwYWRkaW5nOiA0MHB4IDA7XG59XG5cbi8qIENvbXBhY3QgbmV3c2xldHRlciBvbiBjb250YWN0LXVzIHBhZ2Ug4oCUIHRyaW0gc2hhcmVkIDMyMHB4IHRvcCBwYWRkaW5nLiAqL1xuLmN1LW9mZmljZXMgKyAubmV3c2xldHRlciB7XG4gICAgcGFkZGluZy10b3A6IDgwcHggIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLWJvdHRvbTogNjBweCAhaW1wb3J0YW50O1xufVxuXG4vKiBTaGFyZWQgb2ZmaWNlLWxvY2F0aW9ucyBjYXJkL3Bpbi9jaXR5IHN0eWxlcyB1c2VkIG9uIGJvdGggd2hvLXdlLWFyZSBhbmRcbiAgIGNvbnRhY3QtdXMgcGFnZXMuIFBhZ2Utc3BlY2lmaWMgYmFja2dyb3VuZHMgbGl2ZSBpbiB0aGVpciBvd24gc3R5bGVzaGVldHMuICovXG4ud3dhLW9mZmljZXNfX3JvdyB7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG59XG4ud3dhLW9mZmljZXNfX2NvbCArIC53d2Etb2ZmaWNlc19fY29sIHtcbiAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkIHJnYmEoMjYsIDI2LCA0NiwgMC4xOCk7XG59XG4ud3dhLW9mZmljZXNfX2NhcmQge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlcjogMDtcbiAgICBwYWRkaW5nOiAxNnB4IDI4cHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAuMnMgZWFzZTtcbn1cbi53d2Etb2ZmaWNlc19fY2FyZDpob3ZlciB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0ycHgpO1xufVxuLnd3YS1vZmZpY2VzX19waW4ge1xuICAgIHdpZHRoOiA1NnB4O1xuICAgIGhlaWdodDogNTZweDtcbiAgICBvYmplY3QtZml0OiBjb250YWluO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW07XG59XG4ud3dhLW9mZmljZXNfX2NpdHkge1xuICAgIGNvbG9yOiB2YXIoLS10b3NhLWJsdWUpO1xuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xufVxuLnd3YS1vZmZpY2VzX19hZGRyIHtcbiAgICBjb2xvcjogIzFhMWEyZTtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuNjU7XG59XG5AbWVkaWEgKG1heC13aWR0aDogNzY3Ljk4cHgpIHtcbiAgICAud3dhLW9mZmljZXNfX2NvbCArIC53d2Etb2ZmaWNlc19fY29sIHtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDA7XG4gICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKDI2LCAyNiwgNDYsIDAuMTgpO1xuICAgIH1cbiAgICAud3dhLW9mZmljZXNfX2NhcmQge1xuICAgICAgICBwYWRkaW5nOiAyOHB4IDI0cHg7XG4gICAgfVxufVxuXG4vKiDilIDilIAgU3RhdGUgQXBwcm92YWxzIHBhZ2Ug4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAICovXG5cbi8qIEJhbm5lciAqL1xuLnNhLWJhbm5lciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1pbi1oZWlnaHQ6IDU4MHB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgYmFja2dyb3VuZDogI2VhZjNmYjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gICAgLnNhLWJhbm5lciB7IG1pbi1oZWlnaHQ6IDY0MHB4OyB9XG59XG4uc2EtYmFubmVyX19iZyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGluc2V0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICBvYmplY3QtcG9zaXRpb246IGNlbnRlciA3MCU7XG4gICAgb3BhY2l0eTogMC44NTtcbn1cbi5zYS1iYW5uZXJfX2lubmVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMjtcbiAgICBmbGV4OiAxO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cbi5zYS1iYW5uZXJfX3RpdGxlIHtcbiAgICBjb2xvcjogIzFhMWEyZTtcbiAgICBmb250LXNpemU6IGNsYW1wKDIuMjVyZW0sIDQuNXZ3LCAzLjVyZW0pO1xufVxuXG4vKiBTZWN0aW9uOiBSZWNvZ25pemVkIE5hdGlvbmFsbHkgKGZ1bGwtYmxlZWQgaW1hZ2UgbGVmdCkgKi9cbi5zYS1yZWNvZ25pemVkIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIHBhZGRpbmc6IDA7XG59XG4uc2EtcmVjb2duaXplZCA+IC5jb250YWluZXIteGwucHktNSB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xufVxuLnNhLXJlY29nbml6ZWQgPiAuY29udGFpbmVyLXhsLnB5LTUgPiAucm93IHtcbiAgICAtLWJzLWd1dHRlci14OiAwO1xuICAgIC0tYnMtZ3V0dGVyLXk6IDA7XG4gICAgbWFyZ2luOiAwO1xufVxuLnNhLXJlY29nbml6ZWQgPiAuY29udGFpbmVyLXhsLnB5LTUgPiAucm93ID4gW2NsYXNzKj1cImNvbC1cIl0ge1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xufVxuLnNhLXJlY29nbml6ZWRfX2ltZyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDgwJTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgbWF4LXdpZHRoOiBub25lO1xuICAgIGNsaXAtcGF0aDogbm9uZTtcbn1cbi5zYS1yZWNvZ25pemVkX190ZXh0IHtcbiAgICBjb2xvcjogIzJhMmEzYTtcbiAgICBsaW5lLWhlaWdodDogMS42NTtcbiAgICBmb250LXNpemU6IDFyZW07XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAuc2EtcmVjb2duaXplZCA+IC5jb250YWluZXIteGwucHktNSA+IC5yb3cgPiAuY29sLWxnLTY6bGFzdC1jaGlsZCB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogODBweDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMTIwcHg7XG4gICAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDE0MDBweCkge1xuICAgIC5zYS1yZWNvZ25pemVkID4gLmNvbnRhaW5lci14bC5weS01ID4gLnJvdyA+IC5jb2wtbGctNjpsYXN0LWNoaWxkIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxMjBweDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMjAwcHg7XG4gICAgfVxufVxuQG1lZGlhIChtYXgtd2lkdGg6IDk5MS45OHB4KSB7XG4gICAgLnNhLXJlY29nbml6ZWQgPiAuY29udGFpbmVyLXhsLnB5LTUgPiAucm93ID4gLmNvbC1sZy02Omxhc3QtY2hpbGQge1xuICAgICAgICBwYWRkaW5nOiA0MHB4IDI0cHg7XG4gICAgfVxufVxuXG4vKiBTZWN0aW9uOiBBcHByb3ZlZCBBY3Jvc3MgdGhlIFVuaXRlZCBTdGF0ZXMgKGRhcmsgbWFwIGJhY2tncm91bmQpICovXG4uc2EtbWFwIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzFmMmE4ZDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcGFkZGluZzogODBweCAwO1xufVxuLnNhLW1hcCA+IC5jb250YWluZXIteGwucHktNSB7XG4gICAgcGFkZGluZy10b3A6IDYwcHggIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLWJvdHRvbTogNjBweCAhaW1wb3J0YW50O1xufVxuLnNhLW1hcF9fb3ZlcmxheSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGluc2V0OiAwO1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHJnYmEoMzEsIDQyLCAxNDEsIDAuOTIpIDAlLCByZ2JhKDMxLCA0MiwgMTQxLCAwLjU1KSA2MCUsIHJnYmEoMzEsIDQyLCAxNDEsIDAuODUpIDEwMCUpO1xufVxuLnNhLW1hcF9faW5uZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAyO1xufVxuLnNhLW1hcF9faGVhZGVyIHtcbiAgICBtYXgtd2lkdGg6IDEyMDBweDtcbn1cbi5zYS1tYXBfX2ludHJvIHtcbiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjkyKTtcbiAgICBsaW5lLWhlaWdodDogMS42O1xuICAgIG1heC13aWR0aDogNzYwcHg7XG4gICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbn1cbi5zYS1tYXBfX3N0YXRlcyB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogMzJweCAwIDA7XG4gICAgbWF4LXdpZHRoOiA2NDBweDtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7XG4gICAgZ2FwOiAyMHB4IDU2cHg7XG59XG4uc2EtbWFwX19zdGF0ZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmctbGVmdDogMjhweDtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICBmb250LXdlaWdodDogNjAwO1xufVxuLnNhLW1hcF9fc3RhdGU6OmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDA7XG4gICAgdG9wOiAxMnB4O1xuICAgIHdpZHRoOiAxMHB4O1xuICAgIGhlaWdodDogMTBweDtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS10b3NhLXllbGxvdyk7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xufVxuLnNhLW1hcF9fc3RhdGUtbGluayB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgdGV4dC11bmRlcmxpbmUtb2Zmc2V0OiA0cHg7XG4gICAgdGV4dC1kZWNvcmF0aW9uLXRoaWNrbmVzczogMS41cHg7XG59XG4uc2EtbWFwX19zdGF0ZS1saW5rOmhvdmVyIHtcbiAgICBjb2xvcjogdmFyKC0tdG9zYS15ZWxsb3cpO1xufVxuLyogWWVsbG93IHNlY3Rpb24tZG90cyB2YXJpYW50IChvdmVycmlkZSBiYXNlIHNlY3Rpb24tZG90cyBzcGFuIGNvbG9yKSAqL1xuLnNlY3Rpb24tZG90cy0teWVsbG93IHNwYW4ge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLXRvc2EteWVsbG93KTtcbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjcuOThweCkge1xuICAgIC5zYS1tYXBfX3N0YXRlcyB7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyOyB9XG59XG5cbi8qIENvbWJpbmVkIHNlY3Rpb246IEV4cGFuZGluZyBBY2Nlc3MgKyBCcmluZyBUb3NhIHRvIFlvdXIgU3RhdGUgKi9cbi5zYS1jb21ibyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YwZjlmYztcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltYWdlcy9zdGF0ZS1hcHByb3ZhbHMvRXhwYW5kaW5nIEFjY2Vzcy1iZy5qcGcnKTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICBwYWRkaW5nOiA4MHB4IDA7XG59XG4uc2EtY29tYm9fX3JvdyB7XG4gICAgcGFkZGluZzogMzJweCAwO1xufVxuLnNhLWNvbWJvX19yb3cgKyAuc2EtY29tYm9fX3JvdyB7XG4gICAgbWFyZ2luLXRvcDogMzJweCAhaW1wb3J0YW50O1xufVxuLnNhLWNvbWJvX19jYXJkIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIHBhZGRpbmc6IDQ4cHggNTZweDtcbiAgICBib3gtc2hhZG93OiAwIDEycHggMzBweCByZ2JhKDIwLCAzMCwgNjAsIDAuMDgpO1xufVxuLnNhLWV4cGFuZGluZ19faW1nLFxuLnNhLWJyaW5nX19pbWcge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiA2NyU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIGNsaXAtcGF0aDogbm9uZTtcbn1cbi5zYS1leHBhbmRpbmdfX3RleHQsXG4uc2EtYnJpbmdfX3RleHQge1xuICAgIGNvbG9yOiAjMmEyYTNhO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjY1O1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA5OTEuOThweCkge1xuICAgIC5zYS1leHBhbmRpbmdfX2ltZyxcbiAgICAuc2EtYnJpbmdfX2ltZyB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA5OTEuOThweCkge1xuICAgIC5zYS1jb21ib19fY2FyZCB7XG4gICAgICAgIHBhZGRpbmc6IDMycHggMjhweDtcbiAgICB9XG59XG5cbi8qIENvbXBhY3QgbmV3c2xldHRlciBvbiBzdGF0ZS1hcHByb3ZhbHMgcGFnZSDigJQgdHJpbSB0aGUgc2hhcmVkIHNlY3Rpb24nc1xuICAgZGVlcCAzMjBweCB0b3AgcGFkZGluZyBzaXplZCBmb3IgYW4gb3ZlcmxhcHBpbmcgdGVzdGltb25pYWwuICovXG4uc2EtY29tYm8gKyAubmV3c2xldHRlciB7XG4gICAgcGFkZGluZy10b3A6IDgwcHggIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLWJvdHRvbTogNjBweCAhaW1wb3J0YW50O1xufVxuLnNhLWJyaW5nX19saXN0IHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwIDAgMXJlbTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiAxMHB4O1xufVxuLnNhLWJyaW5nX19saXN0IGxpIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZy1sZWZ0OiAyMnB4O1xuICAgIGNvbG9yOiAjMmEyYTNhO1xuICAgIGZvbnQtc2l6ZTogMC45OHJlbTtcbiAgICBsaW5lLWhlaWdodDogMS41O1xufVxuLnNhLWJyaW5nX19saXN0IGxpOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAwO1xuICAgIHRvcDogOHB4O1xuICAgIHdpZHRoOiA4cHg7XG4gICAgaGVpZ2h0OiA4cHg7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tdG9zYS1vcmFuZ2UpO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbn1cblxuLyog4pSA4pSAIFN0YXRlIGRldGFpbCBwYWdlIChlLmcuIC9zdGF0ZS90ZXhhcykg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAICovXG5cbi8qIEJhbm5lciAqL1xuLnN0LWJhbm5lciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1pbi1oZWlnaHQ6IDQ2MHB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgYmFja2dyb3VuZDogI2RjZWJmNztcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gICAgLnN0LWJhbm5lciB7IG1pbi1oZWlnaHQ6IDUyMHB4OyB9XG59XG4uc3QtYmFubmVyX19iZyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGluc2V0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICBvYmplY3QtcG9zaXRpb246IHJpZ2h0IGNlbnRlcjtcbn1cbi5zdC1iYW5uZXJfX2lubmVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMjtcbiAgICBmbGV4OiAxO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBwYWRkaW5nLXRvcDogNDBweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogNDBweDtcbn1cbi5zdC1iYW5uZXJfX3RpdGxlIHtcbiAgICBjb2xvcjogIzFhMWEyZTtcbiAgICBmb250LXNpemU6IGNsYW1wKDIuMjVyZW0sIDQuNXZ3LCAzLjVyZW0pO1xuICAgIHRleHQtd3JhcDogYmFsYW5jZTtcbn1cbi8qIEtlZXAgbG9uZyB0aXRsZXMgY2xlYXIgb2YgdGhlIGFnZW5jeS1sb2dvIHpvbmUgb24gdGhlIHJpZ2h0ICh0aGUgbG9nbydzXG4gICBob3Jpem9udGFsIHBvc2l0aW9uIGZvbGxvd3MgdGhlIGJhbm5lciBhcnR3b3JrLCBzbyB0aGUgc2FmZSB3aWR0aCBncm93c1xuICAgd2l0aCB0aGUgdmlld3BvcnQpLiAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgLnN0LWJhbm5lcl9fY29udGVudCB7IG1heC13aWR0aDogNTAlOyB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gICAgLnN0LWJhbm5lcl9fY29udGVudCB7IG1heC13aWR0aDogNTUlOyB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTQwMHB4KSB7XG4gICAgLnN0LWJhbm5lcl9fY29udGVudCB7IG1heC13aWR0aDogNjAlOyB9XG59XG4uc3QtYmFubmVyX19idWxsZXRzIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IDEwcHg7XG59XG4uc3QtYmFubmVyX19idWxsZXRzIGxpIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZy1sZWZ0OiAyMnB4O1xuICAgIGNvbG9yOiAjMWExYTJlO1xuICAgIGZvbnQtc2l6ZTogMS4wNXJlbTtcbiAgICBmb250LXdlaWdodDogNTAwO1xufVxuLnN0LWJhbm5lcl9fYnVsbGV0cyBsaTo6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMDtcbiAgICB0b3A6IDlweDtcbiAgICB3aWR0aDogOHB4O1xuICAgIGhlaWdodDogOHB4O1xuICAgIGJhY2tncm91bmQ6IHZhcigtLXRvc2Etb3JhbmdlKTtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG59XG4uc3QtYmFubmVyX19hZ2VuY3kge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICBsZWZ0OiBjYWxjKDEwMCUgLSAwLjIxNjIgKiBtYXgoMTAwJSwgMTY4NnB4KSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgei1pbmRleDogMztcbiAgICB3aWR0aDogY2xhbXAoMjIwcHgsIDI2dncsIDM0MHB4KTtcbiAgICBoZWlnaHQ6IGNsYW1wKDE0MHB4LCAxNXZ3LCAyNTBweCk7XG4gICAgb2JqZWN0LWZpdDogY29udGFpbjtcbn1cblxuLyogSW50cm8gKyBkb3dubG9hZCAqL1xuLnN0LWludHJvIHtcbiAgICBwYWRkaW5nOiAyLjVyZW0gMDtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmIHVybCgnLi4vaW1hZ2VzL3N0YXRlcy9WZWN0b3IucG5nJykgbm8tcmVwZWF0IGxlZnQgNjBweDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDUwJSBhdXRvO1xufVxuLnN0LWludHJvX190ZXh0IHtcbiAgICBjb2xvcjogIzJhMmEzYTtcbiAgICBsaW5lLWhlaWdodDogMS43O1xuICAgIGZvbnQtc2l6ZTogMS4wNjI1cmVtO1xuICAgIG1heC13aWR0aDogOTgwcHg7XG59XG5cbi8qIFRoZSBPZmZpY2lhbCBBcHByb3ZlZCBMaXN0IChkYXJrIHRlYWwpICovXG4uc3Qtb2ZmaWNpYWwge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXRvc2EtdGVhbCk7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBjb2xvcjogI2ZmZjtcbn1cbi5zdC1vZmZpY2lhbF9fc3ViIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbn1cbi5zdC1vZmZpY2lhbF9fdGV4dCB7XG4gICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45KTtcbiAgICBsaW5lLWhlaWdodDogMS42NTtcbiAgICBmb250LXNpemU6IDFyZW07XG59XG4uc3Qtb2ZmaWNpYWxfX2ltZyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTQwMHB4KSB7XG4gICAgLnN0LW9mZmljaWFsX19pbWcge1xuICAgICAgICB3aWR0aDogODMlO1xuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICB9XG59XG4uc3QtcXVvdGUge1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wOCk7XG4gICAgYm9yZGVyLWxlZnQ6IDRweCBzb2xpZCB2YXIoLS10b3NhLXllbGxvdyk7XG4gICAgcGFkZGluZzogMjRweCAyOHB4O1xuICAgIG1hcmdpbjogMDtcbn1cbi5zdC1xdW90ZSBwIHtcbiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjk1KTtcbiAgICBmb250LXNpemU6IDAuOTVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG4uc3QtcXVvdGUgY2l0ZSB7XG4gICAgY29sb3I6IHZhcigtLXRvc2EteWVsbG93KTtcbiAgICBmb250LXNpemU6IDAuOXJlbTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cblxuLyogRWxpZ2libGUgU2Nob29scyBhbmQgR3JhZGVzICovXG4uc3QtZWxpZ2libGUgeyBiYWNrZ3JvdW5kOiAjZmZmOyB9XG4uc3QtZWxpZ2libGVfX2ltZyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDgwJTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbn1cbi5zdC1lbGlnaWJsZV9fdGV4dCxcbi5zdC10ZXh0IHtcbiAgICBjb2xvcjogIzJhMmEzYTtcbiAgICBsaW5lLWhlaWdodDogMS42NTtcbiAgICBmb250LXNpemU6IDFyZW07XG59XG4uc3QtaDMge1xuICAgIGNvbG9yOiAjMWExYTJlO1xuICAgIGZvbnQtc2l6ZTogY2xhbXAoMS40cmVtLCAyLjR2dywgMS44NXJlbSk7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbn1cbi5zdC1pbWcge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBib3JkZXItcmFkaXVzOiAwO1xufVxuLyogUG9ydHJhaXQgc2hvdHMgKGUuZy4gUmVwb3J0aW5nIFByb2Nlc3MpIHdvdWxkIHRvd2VyIG92ZXIgdGhlIHRleHQgY29sdW1uXG4gICBhdCBmdWxsIGNvbHVtbiB3aWR0aCDigJQgY2FwIHRoZW0gYW5kIGNlbnRlciBpbiB0aGUgY29sdW1uIGluc3RlYWQuICovXG4uc3QtaW1nLS1jYXBwZWQge1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBtYXgtaGVpZ2h0OiA0NTBweDtcbiAgICBtYXJnaW4taW5saW5lOiBhdXRvO1xufVxuLyogRmlsbCB0aGUgY29sdW1uIGFuZCBtYXRjaCB0aGUgc2libGluZyBjb2x1bW4ncyBoZWlnaHQuICovXG4uc3QtaW1nLS1jb3ZlciB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG9iamVjdC1maXQ6IGNvdmVyO1xufVxuXG4vKiBTaGFyZWQgdGFibGVzICovXG4uc3QtdGFibGUge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gICAgZm9udC1zaXplOiAwLjkycmVtO1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG59XG4uc3QtdGFibGUgdGhlYWQgdGgge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLXRvc2EtYmx1ZSk7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBwYWRkaW5nOiAxMnB4IDE2cHg7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuLnN0LXRhYmxlIHRib2R5IHRkIHtcbiAgICBwYWRkaW5nOiAxMnB4IDE2cHg7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlNmU5ZjI7XG4gICAgY29sb3I6ICMyYTJhM2E7XG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xufVxuLnN0LXRhYmxlIHRib2R5IHRyOm50aC1jaGlsZChldmVuKSB0ZCB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tdG9zYS1ibHVlLWxpZ2h0KTtcbn1cbi5zdC10YWJsZS0tdHdvIHRkOmZpcnN0LWNoaWxkIHtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGNvbG9yOiAjMWExYTJlO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG4uc3QtZWxpZ2libGUgLnN0LXRhYmxlLFxuLnN0LWVsaWdpYmxlIC5zdC10YWJsZSB0aCxcbi5zdC1lbGlnaWJsZSAuc3QtdGFibGUgdGQge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNkN2RjZWE7XG59XG4uc3Qtbm90ZSB7XG4gICAgYmFja2dyb3VuZDogI2ZkZWVlNjtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIHBhZGRpbmc6IDE0cHggMThweDtcbiAgICBjb2xvcjogIzVhNGEzYTtcbiAgICBmb250LXNpemU6IDAuOXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS41NTtcbn1cbi5zdC13YXJuaW5nIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmRlZWU2O1xuICAgIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgICBwYWRkaW5nOiAxNHB4IDE4cHg7XG4gICAgY29sb3I6ICM4YTRiMWE7XG4gICAgZm9udC1zaXplOiAwLjlyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuNTU7XG59XG4uc3QtbGluayB7XG4gICAgY29sb3I6IHZhcigtLXRvc2Etb3JhbmdlKTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIHRleHQtdW5kZXJsaW5lLW9mZnNldDogM3B4O1xufVxuXG4vKiBUaWVyIFN0cnVjdHVyZSAoYmx1ZSkgKi9cbi5zdC10aWVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10b3NhLWJsdWUpO1xuICAgIGJhY2tncm91bmQtc2l6ZTogYXV0byAxNDUlO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciB0b3A7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBwYWRkaW5nOiAzLjVyZW0gMDtcbn1cbi5zdC10aWVyIC5zZWN0aW9uLWRvdHMtLXllbGxvdyBzcGFuIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS10b3NhLW9yYW5nZSkgIWltcG9ydGFudDtcbn1cbi5zdC10aWVyX19pbnRybyB7XG4gICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45KTtcbiAgICBmb250LXNpemU6IDEuMDVyZW07XG59XG4uc3QtdGllcl9fY2FyZCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgcGFkZGluZzogMjhweCAyNnB4O1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBib3gtc2hhZG93OiAwIDEycHggMzBweCByZ2JhKDIwLCAzMCwgNjAsIDAuMTIpO1xufVxuLnN0LXRpZXJfX2NhcmQ6OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDI2cHg7XG4gICAgd2lkdGg6IDU2cHg7XG4gICAgaGVpZ2h0OiA0cHg7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tdG9zYS1vcmFuZ2UpO1xufVxuLnN0LXRpZXJfX3RpdGxlIHtcbiAgICBjb2xvcjogdmFyKC0tdG9zYS1vcmFuZ2UpO1xuICAgIGZvbnQtc2l6ZTogMS4zNXJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIG1hcmdpbi1ib3R0b206IDEycHg7XG59XG4uc3QtdGllcl9fY2FyZCBwIHtcbiAgICBjb2xvcjogIzJhMmEzYTtcbiAgICBmb250LXNpemU6IDAuOTVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgICBtYXJnaW46IDA7XG59XG4uc3QtdGllcl9fZm9vdG5vdGUge1xuICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOTIpO1xuICAgIGZvbnQtc2l6ZTogMC45NXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS42O1xuICAgIG1heC13aWR0aDogOTgwcHg7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xufVxuLnN0LXRpZXJfX3RhYmxlLXdyYXAge1xuICAgIG1heC13aWR0aDogOTgwcHg7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGJveC1zaGFkb3c6IDAgMTJweCAzMHB4IHJnYmEoMjAsIDMwLCA2MCwgMC4xOCk7XG59XG4uc3QtdGFibGUtLWludmVyc2UgdGhlYWQgdGgge1xuICAgIGJhY2tncm91bmQ6ICMxYTFhMmU7XG59XG4uc3QtdGFibGUtLWludmVyc2UgdGQ6Zmlyc3QtY2hpbGQge1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgY29sb3I6IHZhcigtLXRvc2Etb3JhbmdlKTtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4vKiBBcHByb3ZlZCBUb3NhIENlcnRpZmljYXRpb25zICovXG4uc3QtY2VydHMgeyBiYWNrZ3JvdW5kOiAjZmZmOyB9XG4uc3QtY2VydHNfX2ludHJvIHtcbiAgICBjb2xvcjogIzJhMmEzYTtcbiAgICBsaW5lLWhlaWdodDogMS42NTtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgbWF4LXdpZHRoOiA5ODBweDtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG59XG4uc3QtY2VydHNfX2dyb3VwIHRkIHtcbiAgICBiYWNrZ3JvdW5kOiAjZWVmMWY4ICFpbXBvcnRhbnQ7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBjb2xvcjogIzFhMWEyZTtcbn1cbi5zdC1jZXJ0c19fZ3JvdXAgaSB7XG4gICAgY29sb3I6IHZhcigtLXRvc2Etb3JhbmdlKTtcbiAgICBtYXJnaW4tcmlnaHQ6IDhweDtcbn1cbi5zdC1jZXJ0c19fZ3JvdXAtaWNvbiB7XG4gICAgd2lkdGg6IDIwcHg7XG4gICAgaGVpZ2h0OiAyMHB4O1xuICAgIG1hcmdpbi1yaWdodDogOHB4O1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgb2JqZWN0LWZpdDogY29udGFpbjtcbn1cbi5zdC1jZXJ0c19fdGFibGUgLnN0LWNlcnRzX19uYW1lIHtcbiAgICBjb2xvcjogdmFyKC0tdG9zYS1vcmFuZ2UpO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG59XG4uc3QtY2VydHNfX2xpbmsge1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIHRleHQtZGVjb3JhdGlvbi1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgdHJhbnNpdGlvbjogdGV4dC1kZWNvcmF0aW9uLWNvbG9yIDAuMTVzIGVhc2U7XG59XG4uc3QtY2VydHNfX2xpbms6aG92ZXIge1xuICAgIHRleHQtZGVjb3JhdGlvbi1jb2xvcjogY3VycmVudENvbG9yO1xufVxuXG4uc3QtY2VydHNfX2xpc3Qge1xuICAgIG1hcmdpbjogMCAwIDZweDtcbiAgICBwYWRkaW5nLWxlZnQ6IDFyZW07XG59XG4uc3QtY2VydHNfX2xpc3Q6bGFzdC1jaGlsZCB7IG1hcmdpbi1ib3R0b206IDA7IH1cbi5zdC1jZXJ0c19fbGlzdCBsaSB7IG1hcmdpbi1ib3R0b206IDJweDsgfVxuXG4uc3QtY2VydHNfX3RhYmxlIHRoLFxuLnN0LWNlcnRzX190YWJsZSB0ZCB7XG4gICAgbWluLXdpZHRoOiAxMDBweDtcbn1cblxuLyogQWNjb3VudGFiaWxpdHkgKGxpZ2h0IGJsdWUpICovXG4uc3QtYWNjb3VudGFiaWxpdHkgeyBiYWNrZ3JvdW5kOiB2YXIoLS10b3NhLWxpZ2h0LWJsdWUpOyB9XG5cbi8qIEZ1bmRpbmcgKi9cbi5zdC1mdW5kaW5nIHsgYmFja2dyb3VuZDogI2ZmZjsgfVxuLnN0LWxpc3Qge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDA7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogMTBweDtcbn1cbi5zdC1saXN0IGxpIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZy1sZWZ0OiAyMnB4O1xuICAgIGNvbG9yOiAjMmEyYTNhO1xuICAgIGZvbnQtc2l6ZTogMC45OHJlbTtcbiAgICBsaW5lLWhlaWdodDogMS41O1xufVxuLnN0LWxpc3QgbGk6OmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDA7XG4gICAgdG9wOiA4cHg7XG4gICAgd2lkdGg6IDhweDtcbiAgICBoZWlnaHQ6IDhweDtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS10b3NhLW9yYW5nZSk7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xufVxuXG4vKiBDVEEgKHllbGxvdykg4oCUIG1pcnJvcnMgdGhlIGhvbWVwYWdlIC5nZXQtc3RhcnRlZCBzZWN0aW9uICovXG4uc3QtY3RhIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW4tYm90dG9tOiAtMjIwcHg7XG4gICAgei1pbmRleDogMjtcbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA5OTEuOThweCkge1xuICAgIC5oZS1jdGEgeyBtYXJnaW4tdG9wOiAtMTIwcHg7IG1hcmdpbi1ib3R0b206IC0xMjBweDsgfVxuICAgIC5zdC1jdGEgeyBtYXJnaW4tYm90dG9tOiAtMTIwcHg7IH1cbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjcuOThweCkge1xuICAgIC5oZS1jdGEgeyBtYXJnaW4tdG9wOiAtODBweDsgbWFyZ2luLWJvdHRvbTogLTgwcHg7IH1cbiAgICAuc3QtY3RhIHsgbWFyZ2luLWJvdHRvbTogLTgwcHg7IH1cbn1cbi5zdC1jdGFfX2NhcmQge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLXRvc2EteWVsbG93KTtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIC8qIENsaXAtcGF0aCBjdXQgb24gdG9wLXJpZ2h0IHRvIG1hdGNoIGdldC1zdGFydGVkIHN0eWxlICovXG4gICAgY2xpcC1wYXRoOiBwb2x5Z29uKDAgMCwgY2FsYygxMDAlIC0gNjBweCkgMCwgMTAwJSA2MHB4LCAxMDAlIDEwMCUsIDAgMTAwJSk7XG59XG4uc3QtY3RhX19pbWFnZS13cmFwcGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG1pbi1oZWlnaHQ6IDQyMHB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG59XG4uc3QtY3RhX19pbWcge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBtYXgtaGVpZ2h0OiA0NDBweDtcbiAgICBvYmplY3QtZml0OiBjb3Zlcjtcbn1cbi5zdC1jdGFfX3RpdGxlIHtcbiAgICBmb250LXNpemU6IGNsYW1wKDEuNXJlbSwgMi44dncsIDIuMjVyZW0pO1xuICAgIGNvbG9yOiAjMWExYTJlO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG59XG4uc3QtY3RhX190ZXh0IHtcbiAgICBjb2xvcjogIzFhMWEyZTtcbiAgICBvcGFjaXR5OiAwLjg1O1xuICAgIGZvbnQtc2l6ZTogMS4wNXJlbTtcbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA5OTEuOThweCkge1xuICAgIC5zdC1iYW5uZXJfX2FnZW5jeSB7XG4gICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiBjbGFtcCgyMDBweCwgNjB2dywgMzIwcHgpO1xuICAgICAgICBoZWlnaHQ6IGNsYW1wKDExMHB4LCAzMnZ3LCAxODBweCk7XG4gICAgICAgIG1hcmdpbjogMjRweCBhdXRvIDA7XG4gICAgfVxufVxuXG4vKiDilIDilIAgUGFydG5lcnNoaXBzIHBhZ2Ug4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAICovXG5cbi8qIOKUgOKUgCBDYXJlZXJzIHBhZ2Ug4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAICovXG5cbi8qIEJhbm5lciAqL1xuLmNhcmVlcnMtYmFubmVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWluLWhlaWdodDogNTgwcHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBiYWNrZ3JvdW5kOiAjZWVmM2ZhO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgICAuY2FyZWVycy1iYW5uZXIgeyBtaW4taGVpZ2h0OiA2NDBweDsgfVxufVxuQG1lZGlhIChtYXgtd2lkdGg6IDk5MS45OHB4KSB7XG4gICAgLmNhcmVlcnMtYmFubmVyIHsgbWluLWhlaWdodDogMzAwcHg7IH1cbn1cbi5jYXJlZXJzLWJhbm5lcl9fYmcge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBpbnNldDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgb2JqZWN0LXBvc2l0aW9uOiByaWdodCBjZW50ZXI7XG59XG4uY2FyZWVycy1iYW5uZXJfX292ZXJsYXkge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBpbnNldDogMDtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoOTBkZWcsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45MikgMCUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43MikgMzAlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDApIDYwJSk7XG59XG4uY2FyZWVycy1iYW5uZXJfX2lubmVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMjtcbiAgICBmbGV4OiAxO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cbi5jYXJlZXJzLWJhbm5lcl9fdGl0bGUge1xuICAgIGNvbG9yOiAjMWExYTJlO1xuICAgIGZvbnQtc2l6ZTogY2xhbXAoMi41cmVtLCA1dncsIDRyZW0pO1xufVxuXG4vKiBTZWN0aW9uIDEg4oCUIFdoeSBXb3JrIHdpdGggVXMgKGZ1bGwtYmxlZWQgaW1hZ2UgbGVmdCwgcGFkZGVkIHRleHQgcmlnaHQpICovXG4uY2FyZWVycy13aHkge1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgcGFkZGluZzogMDtcbn1cbi5jYXJlZXJzLXdoeSA+IC5jb250YWluZXIteGwucHktNSB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xufVxuLmNhcmVlcnMtd2h5ID4gLmNvbnRhaW5lci14bC5weS01ID4gLnJvdyB7XG4gICAgLS1icy1ndXR0ZXIteDogMDtcbiAgICAtLWJzLWd1dHRlci15OiAwO1xuICAgIG1hcmdpbjogMDtcbn1cbi5jYXJlZXJzLXdoeSA+IC5jb250YWluZXIteGwucHktNSA+IC5yb3cgPiBbY2xhc3MqPVwiY29sLVwiXSB7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG59XG4uY2FyZWVycy13aHlfX2ltZyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG1heC13aWR0aDogbm9uZTtcbiAgICBjbGlwLXBhdGg6IG5vbmU7XG59XG4uY2FyZWVycy13aHlfX3RleHQge1xuICAgIGNvbG9yOiAjMmEyYTNhO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjY1O1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAgIC5jYXJlZXJzLXdoeSA+IC5jb250YWluZXIteGwucHktNSA+IC5yb3cgPiAuY29sLWxnLTY6bGFzdC1jaGlsZCB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogODBweDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMTIwcHg7XG4gICAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDE0MDBweCkge1xuICAgIC5jYXJlZXJzLXdoeSA+IC5jb250YWluZXIteGwucHktNSA+IC5yb3cgPiAuY29sLWxnLTY6bGFzdC1jaGlsZCB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMTIwcHg7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDIwMHB4O1xuICAgIH1cbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA5OTEuOThweCkge1xuICAgIC5jYXJlZXJzLXdoeSA+IC5jb250YWluZXIteGwucHktNSA+IC5yb3cgPiAuY29sLWxnLTY6bGFzdC1jaGlsZCB7XG4gICAgICAgIHBhZGRpbmc6IDQwcHggMjRweDtcbiAgICB9XG59XG5cbi8qIFNlY3Rpb24gMiDigJQgQmVuZWZpdHMgJiBQZXJrcyAqL1xuLmNhcmVlcnMtYmVuZWZpdHMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlOGY1ZmE7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWFnZXMvY2FyZWVycy9CZW5lZml0cyAmIFBlcmtzLWJnLmpwZycpO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIHBhZGRpbmc6IDQwcHggMDtcbn1cbi5jYXJlZXJzLWJlbmVmaXRzID4gLmNvbnRhaW5lci14bC5weS01IHtcbiAgICBwYWRkaW5nLXRvcDogNjBweCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctYm90dG9tOiA2MHB4ICFpbXBvcnRhbnQ7XG59XG4uY2FyZWVycy1iZW5lZml0c19faW50cm8ge1xuICAgIGNvbG9yOiAjMWExYTJlO1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICBmb250LXdlaWdodDogNTAwO1xufVxuLmNhcmVlcnMtYmVuZWZpdHNfX2xpc3Qge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDA7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpO1xuICAgIGdhcDogMTJweCAyOHB4O1xufVxuLmNhcmVlcnMtYmVuZWZpdHNfX2xpc3QgbGkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nLWxlZnQ6IDIycHg7XG4gICAgY29sb3I6ICMxYTFhMmU7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG59XG4uY2FyZWVycy1iZW5lZml0c19fbGlzdCBsaTo6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMDtcbiAgICB0b3A6IDlweDtcbiAgICB3aWR0aDogOHB4O1xuICAgIGhlaWdodDogOHB4O1xuICAgIGJhY2tncm91bmQ6IHZhcigtLXRvc2Etb3JhbmdlKTtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG59XG4uY2FyZWVycy1iZW5lZml0c19faW1nIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgY2xpcC1wYXRoOiBub25lO1xufVxuQG1lZGlhIChtYXgtd2lkdGg6IDk5MS45OHB4KSB7XG4gICAgLmNhcmVlcnMtYmVuZWZpdHNfX2xpc3QgeyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjsgfVxufVxuXG4vKiBTZWN0aW9uIDMg4oCUIEhvdyB0byBBcHBseSAqL1xuLmNhcmVlcnMtYXBwbHkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlNmY0Zjg7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWFnZXMvY2FyZWVycy9Ib3cgdG8gQXBwbHktYmcuanBnJyk7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcGFkZGluZzogNjBweCAwO1xufVxuLmNhcmVlcnMtYXBwbHkgPiAuY29udGFpbmVyLXhsLnB5LTUge1xuICAgIHBhZGRpbmctdG9wOiA0MHB4ICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1ib3R0b206IDQwcHggIWltcG9ydGFudDtcbn1cbi5jYXJlZXJzLWFwcGx5X19pbnRybyB7XG4gICAgY29sb3I6ICMyYTJhM2E7XG4gICAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgICBtYXgtd2lkdGg6IDc2MHB4O1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbn1cbi5jYXJlZXJzLWFwcGx5X19yb3cge1xuICAgIGJveC1zaGFkb3c6IDAgMTBweCAzMHB4IHJnYmEoMzAsIDMwLCA2MCwgMC4wOCk7XG59XG4uY2FyZWVycy1hcHBseV9fY2FyZCB7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICBwYWRkaW5nOiA0OHB4IDQwcHggNTZweDtcbiAgICBtaW4taGVpZ2h0OiAzNjBweDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI2UwZTNlZDtcbn1cbi5jYXJlZXJzLWFwcGx5X19yb3cgPiBbY2xhc3MqPVwiY29sLVwiXTpsYXN0LWNoaWxkIC5jYXJlZXJzLWFwcGx5X19jYXJkIHtcbiAgICBib3JkZXItcmlnaHQ6IDA7XG59XG4uY2FyZWVycy1hcHBseV9fc3RlcC1waWxsIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAyNHB4O1xuICAgIHJpZ2h0OiAyNHB4O1xuICAgIGJhY2tncm91bmQ6ICNiM2UwZDY7XG4gICAgY29sb3I6ICMwMDUzNTY7XG4gICAgZm9udC1zaXplOiAwLjdyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4wOGVtO1xuICAgIHBhZGRpbmc6IDRweCAxMHB4O1xufVxuLmNhcmVlcnMtYXBwbHlfX2ljb24ge1xuICAgIHdpZHRoOiA4MHB4O1xuICAgIGhlaWdodDogODBweDtcbiAgICBvYmplY3QtZml0OiBjb250YWluO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi1ib3R0b206IDE2cHg7XG59XG4uY2FyZWVycy1hcHBseV9fYmFyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogNDBweDtcbiAgICBoZWlnaHQ6IDJweDtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS10b3NhLWJsdWUpO1xuICAgIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgICBmaWx0ZXI6IGJsdXIoN3B4KTtcbiAgICBtYXJnaW4tYm90dG9tOiAyNHB4O1xufVxuLmNhcmVlcnMtYXBwbHlfX3RpdGxlIHtcbiAgICBjb2xvcjogdmFyKC0tdG9zYS1ibHVlKTtcbiAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgbWFyZ2luOiAwIDAgMTJweDtcbn1cbi5jYXJlZXJzLWFwcGx5X190ZXh0IHtcbiAgICBjb2xvcjogIzRhNGE1ZTtcbiAgICBsaW5lLWhlaWdodDogMS42O1xuICAgIGZvbnQtc2l6ZTogMC45NXJlbTtcbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjcuOThweCkge1xuICAgIC5jYXJlZXJzLWFwcGx5X19jYXJkIHtcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiAwO1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2UwZTNlZDtcbiAgICAgICAgbWluLWhlaWdodDogMDtcbiAgICAgICAgcGFkZGluZzogMzZweCAyOHB4IDQwcHg7XG4gICAgfVxuICAgIC5jYXJlZXJzLWFwcGx5X19yb3cgPiBbY2xhc3MqPVwiY29sLVwiXTpsYXN0LWNoaWxkIC5jYXJlZXJzLWFwcGx5X19jYXJkIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICB9XG59XG5cbi8qIFNlY3Rpb24gNCDigJQgRXhwbG9yZSBPcHBvcnR1bml0aWVzICovXG4uY2FyZWVycy1qb2JzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10b3NhLWJsdWUpO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1hZ2VzL2NhcmVlcnMvRXhwbG9yZSBPcHBvcnR1bml0aWVzLWJnLmpwZycpO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIGNvbG9yOiAjZmZmO1xufVxuLmNhcmVlcnMtam9ic19faW50cm8ge1xuICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOTIpO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjY7XG4gICAgbWF4LXdpZHRoOiA3NjBweDtcbiAgICBmb250LXNpemU6IDFyZW07XG59XG4uY2FyZWVycy1qb2JzX19saXN0IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiAyMHB4O1xuICAgIG1heC13aWR0aDogMTEwMHB4O1xuICAgIG1hcmdpbjogMCBhdXRvO1xufVxuLmNhcmVlcnMtam9ic19fY2FyZCB7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICBwYWRkaW5nOiAyNHB4IDI4cHg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogMjRweDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG59XG4uY2FyZWVycy1qb2JzX19pY29uIHtcbiAgICB3aWR0aDogOTZweDtcbiAgICBoZWlnaHQ6IDk2cHg7XG4gICAgb2JqZWN0LWZpdDogY29udGFpbjtcbiAgICBmbGV4LXNocmluazogMDtcbn1cbi5jYXJlZXJzLWpvYnNfX2JvZHkge1xuICAgIGZsZXg6IDEgMSAzMjBweDtcbiAgICBtaW4td2lkdGg6IDA7XG59XG4uY2FyZWVycy1qb2JzX190aXRsZSB7XG4gICAgY29sb3I6IHZhcigtLXRvc2EtYmx1ZSk7XG4gICAgZm9udC1zaXplOiAxLjJyZW07XG4gICAgbWFyZ2luOiAwIDAgOHB4O1xufVxuLmNhcmVlcnMtam9ic19fZGVzYyB7XG4gICAgY29sb3I6ICMyYTJhM2E7XG4gICAgbGluZS1oZWlnaHQ6IDEuNTU7XG4gICAgZm9udC1zaXplOiAwLjk1cmVtO1xufVxuLmNhcmVlcnMtam9ic19fYXBwbHkge1xuICAgIGZsZXgtc2hyaW5rOiAwO1xufVxuXG4uY2FyZWVycy1qb2JzX19tb3JlIHtcbiAgICBtYXJnaW4tdG9wOiA1NnB4O1xufVxuLmNhcmVlcnMtam9ic19fbW9yZS10aXRsZSB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgZm9udC1zaXplOiBjbGFtcCgxLjVyZW0sIDIuNHZ3LCAycmVtKTtcbn1cbi5jYXJlZXJzLWpvYnNfX21vcmUtdGV4dCB7XG4gICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45Mik7XG4gICAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgICBtYXgtd2lkdGg6IDg4MHB4O1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbn1cbi5jYXJlZXJzLWpvYnNfX2VtYWlsIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIHRleHQtdW5kZXJsaW5lLW9mZnNldDogM3B4O1xufVxuLmNhcmVlcnMtam9ic19fZW1haWw6aG92ZXIge1xuICAgIGNvbG9yOiB2YXIoLS10b3NhLXllbGxvdyk7XG59XG5cbi8qIENvbXBhY3QgbmV3c2xldHRlciBvbiB0aGUgY2FyZWVycyBwYWdlIOKAlCB0aGUgcHJldmlvdXMgLmNhcmVlcnMtam9icyBzZWN0aW9uXG4gICBpcyBhbHJlYWR5IGhlYXZ5LCBzbyB0cmltIHRoZSBzaGFyZWQgbmV3c2xldHRlcidzIGRlZXAgdG9wIHBhZGRpbmcuICovXG4uY2FyZWVycy1qb2JzICsgLm5ld3NsZXR0ZXIge1xuICAgIHBhZGRpbmctdG9wOiA4MHB4ICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1ib3R0b206IDYwcHggIWltcG9ydGFudDtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDc2Ny45OHB4KSB7XG4gICAgLmNhcmVlcnMtam9ic19fY2FyZCB7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OyB9XG4gICAgLmNhcmVlcnMtam9ic19fYXBwbHkgeyBhbGlnbi1zZWxmOiBzdHJldGNoOyB9XG59XG5cbi8qIOKUgOKUgCBDYW5kaWRhdGUgLyBBZG1pbiBMb2dpbiBwYWdlcyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIAgKi9cbi5sb2dpbi1oZWFkZXIge1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlY2VjZjM7XG4gICAgcGFkZGluZzogMDtcbn1cbi5sb2dpbi1oZWFkZXJfX2lubmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGdhcDogMTZweDtcbn1cbi5sb2dpbi1oZWFkZXJfX2xvZ28ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBsaW5lLWhlaWdodDogMDtcbn1cbi5sb2dpbi1oZWFkZXJfX2xvZ28gaW1nIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbn1cbi8qIFRoZSBoZWFkZXIgc3dpdGNoIGJ1dHRvbiByZXVzZXMgdGhlIC5jdGEtYnRuLS1vcmFuZ2UgdmlzdWFsLiAqL1xuLmxvZ2luLWhlYWRlcl9fYWN0aW9ucyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogMTZweDtcbn1cblxuLyogTGFuZ3VhZ2Ugc3dpdGNoZXI6IG1pbmltYWwgZ2xvYmUgKyBsb2NhbGUgY29kZSwgbm8gYm9yZGVyL2JhY2tncm91bmQuXG4gICBEcm9wZG93biBsaXN0cyB0aGUgYXZhaWxhYmxlIGxvY2FsZXMgd2l0aCBhIHNtYWxsIHVwcGVyY2FzZSBjb2RlICtcbiAgIHRoZSBsYW5ndWFnZSBuYW1lLiAqL1xuLmxvZ2luLWhlYWRlcl9fbGFuZyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuLmxvZ2luLWhlYWRlcl9fbGFuZy1idG4ge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiA4cHg7XG4gICAgcGFkZGluZzogNnB4IDhweDtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXI6IDA7XG4gICAgY29sb3I6ICMxYTFhMmU7XG4gICAgZm9udC1zaXplOiAwLjk1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMDRlbTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgLjE1cztcbn1cbi5sb2dpbi1oZWFkZXJfX2xhbmctYnRuIGkge1xuICAgIGZvbnQtc2l6ZTogMS4xNXJlbTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBjb2xvcjogIzZiNmI3ODtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAuMTVzO1xufVxuLmxvZ2luLWhlYWRlcl9fbGFuZy1idG46aG92ZXIsXG4ubG9naW4taGVhZGVyX19sYW5nLWJ0bjpmb2N1cyxcbi5sb2dpbi1oZWFkZXJfX2xhbmctYnRuW2FyaWEtZXhwYW5kZWQ9XCJ0cnVlXCJdIHtcbiAgICBjb2xvcjogdmFyKC0tdG9zYS1vcmFuZ2UpO1xufVxuLmxvZ2luLWhlYWRlcl9fbGFuZy1idG46aG92ZXIgaSxcbi5sb2dpbi1oZWFkZXJfX2xhbmctYnRuOmZvY3VzIGksXG4ubG9naW4taGVhZGVyX19sYW5nLWJ0blthcmlhLWV4cGFuZGVkPVwidHJ1ZVwiXSBpIHtcbiAgICBjb2xvcjogdmFyKC0tdG9zYS1vcmFuZ2UpO1xufVxuLmxvZ2luLWhlYWRlcl9fbGFuZy1jb2RlIHtcbiAgICBmb250LXZhcmlhbnQ6IHNtYWxsLWNhcHM7XG59XG5cbi5sb2dpbi1oZWFkZXJfX2xhbmctbWVudSB7XG4gICAgbWFyZ2luLXRvcDogOHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgcGFkZGluZzogNHB4IDA7XG4gICAgbWluLXdpZHRoOiAyMDBweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZWNlY2YzO1xuICAgIGJveC1zaGFkb3c6IDAgMTJweCAyOHB4IHJnYmEoMjAsIDMwLCA2MCwgMC4xMCk7XG59XG4ubG9naW4taGVhZGVyX19sYW5nLWl0ZW0ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDEwcHg7XG4gICAgcGFkZGluZzogMTBweCAxNnB4O1xuICAgIGZvbnQtc2l6ZTogMC45MnJlbTtcbiAgICBjb2xvcjogIzFhMWEyZTtcbn1cbi5sb2dpbi1oZWFkZXJfX2xhbmctaXRlbTpob3Zlcixcbi5sb2dpbi1oZWFkZXJfX2xhbmctaXRlbTpmb2N1cyB7XG4gICAgYmFja2dyb3VuZDogI2Y3ZjhmZTtcbiAgICBjb2xvcjogIzFhMWEyZTtcbn1cbi5sb2dpbi1oZWFkZXJfX2xhbmctY29kZS1taW5pIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWluLXdpZHRoOiAyOHB4O1xuICAgIGZvbnQtc2l6ZTogMC43OHJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGNvbG9yOiAjNmI2Yjc4O1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjA0ZW07XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cbi5sb2dpbi1oZWFkZXJfX2xhbmctaXRlbS5pcy1hY3RpdmUge1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgY29sb3I6IHZhcigtLXRvc2Etb3JhbmdlKTtcbn1cbi5sb2dpbi1oZWFkZXJfX2xhbmctaXRlbS5pcy1hY3RpdmUgLmxvZ2luLWhlYWRlcl9fbGFuZy1jb2RlLW1pbmkge1xuICAgIGNvbG9yOiB2YXIoLS10b3NhLW9yYW5nZSk7XG59XG5cbi5sb2dpbi1hcnRpY2xlIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgbWluLWhlaWdodDogY2FsYygxMDB2aCAtIDgwcHgpO1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG59XG4ubG9naW4tYXJ0aWNsZV9fbGVmdCB7XG4gICAgZmxleDogMCAwIDUwJTtcbiAgICBtYXgtd2lkdGg6IDUwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgcGFkZGluZzogNDBweCAyNHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNFNkYzRjk7XG59XG4ubG9naW4tYXJ0aWNsZV9fcmlnaHQge1xuICAgIGZsZXg6IDAgMCA1MCU7XG4gICAgbWF4LXdpZHRoOiA1MCU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdG9zYS1saWdodC1ibHVlKTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIG1pbi1oZWlnaHQ6IDMyMHB4O1xufVxuXG4ubG9naW4tZm9ybSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiA0MjBweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG4ubG9naW4tZm9ybV9fdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogY2xhbXAoMS42MjVyZW0sIDIuNHZ3LCAyLjEyNXJlbSk7XG4gICAgY29sb3I6IHZhcigtLXRvc2Etb3JhbmdlKTtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIG1hcmdpbjogMCAwIDI4cHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuMTU7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cbi5sb2dpbi1mb3JtX19ncm91cCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTZweDtcbn1cbi5sb2dpbi1mb3JtX19ncm91cC0tcGFzc3dvcmQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbi5sb2dpbi1mb3JtX19pbnB1dCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZzogMTJweCAxNnB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICM1NTU1NTk7XG4gICAgYm9yZGVyLXJhZGl1czogNnB4O1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG59XG4ubG9naW4tZm9ybV9fZ3JvdXAtLXBhc3N3b3JkIC5sb2dpbi1mb3JtX19pbnB1dCB7XG4gICAgcGFkZGluZy1yaWdodDogNDhweDtcbn1cbi5sb2dpbi1mb3JtX19pbnB1dDpmb2N1cyB7XG4gICAgb3V0bGluZTogMDtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLXRvc2EtYmx1ZSk7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgLjI1cmVtIHJnYmEoMTMsIDExMCwgMjUzLCAwLjI1KTtcbn1cbi5sb2dpbi1mb3JtX190b2dnbGUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICByaWdodDogMTJweDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyOiAwO1xuICAgIGNvbG9yOiAjNTU1NTU5O1xuICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBwYWRkaW5nOiA0cHg7XG59XG4ubG9naW4tZm9ybV9fdG9nZ2xlOmhvdmVyIHsgY29sb3I6IHZhcigtLXRvc2Etb3JhbmdlKTsgfVxuXG4ubG9naW4tZm9ybV9fcmVtZW1iZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDhweDtcbiAgICBtYXJnaW4tYm90dG9tOiAxMnB4O1xuICAgIGZvbnQtc2l6ZTogMC45cmVtO1xuICAgIGNvbG9yOiAjMWExYTJlO1xufVxuXG4ubG9naW4tZm9ybV9fbG9zdHBhc3N3b3JkLFxuLmxvZ2luLWZvcm1fX2hlbHBsb2dpbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgY29sb3I6ICMxYTFhMmU7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgZm9udC1zaXplOiAwLjg1cmVtO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBtYXJnaW4tYm90dG9tOiA2cHg7XG59XG4ubG9naW4tZm9ybV9fbG9zdHBhc3N3b3JkOmhvdmVyLFxuLmxvZ2luLWZvcm1fX2hlbHBsb2dpbjpob3ZlciB7XG4gICAgY29sb3I6IHZhcigtLXRvc2Etb3JhbmdlKTtcbn1cblxuLmxvZ2luLWZvcm1fX3N1Ym1pdCB7XG4gICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgIG1hcmdpbi10b3A6IDIwcHg7XG59XG4ubG9naW4tYXJ0aWNsZS0tY2FuZGlkYXRlIC5sb2dpbi1mb3JtX19zdWJtaXQge1xuICAgIGJhY2tncm91bmQ6ICNENjNEMEE7XG59XG5cbi5sb2dpbi1mb3JtX19lcnJvciB7XG4gICAgY29sb3I6IHZhcigtLXRvc2Etb3JhbmdlKTtcbiAgICBmb250LXNpemU6IDAuOXJlbTtcbiAgICBtaW4taGVpZ2h0OiAxLjJlbTtcbiAgICBtYXJnaW46IDE2cHggMCAwO1xufVxuXG4ubG9naW4tZm9ybV9fc3VjY2VzcyB7XG4gICAgY29sb3I6ICMxYzdjM2M7XG4gICAgZm9udC1zaXplOiAwLjlyZW07XG4gICAgbWluLWhlaWdodDogMS4yZW07XG4gICAgbWFyZ2luOiA4cHggMCAwO1xufVxuXG4jbG9zdC1wYXNzd29yZC1tb2RhbCAubG9naW4tZm9ybV9fZXJyb3IsXG4jbG9zdC1wYXNzd29yZC1tb2RhbCAubG9naW4tZm9ybV9fc3VjY2VzcyB7XG4gICAgbWFyZ2luLXRvcDogOHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDk5MS45OHB4KSB7XG4gICAgLmxvZ2luLWFydGljbGUge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBtaW4taGVpZ2h0OiBhdXRvO1xuICAgIH1cbiAgICAubG9naW4tYXJ0aWNsZV9fbGVmdCxcbiAgICAubG9naW4tYXJ0aWNsZV9fcmlnaHQge1xuICAgICAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIH1cbiAgICAubG9naW4tYXJ0aWNsZV9fcmlnaHQge1xuICAgICAgICBvcmRlcjogLTE7XG4gICAgICAgIGhlaWdodDogMjIwcHg7XG4gICAgfVxuICAgIC5sb2dpbi1hcnRpY2xlX19sZWZ0IHtcbiAgICAgICAgcGFkZGluZzogNDBweCAyNHB4IDYwcHg7XG4gICAgfVxufVxuXG4vKiDilIDilIAgV2hvIFdlIEFyZSBwYWdlIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgCAqL1xuLnNlY3Rpb24tdGl0bGUtLWludmVyc2Uge1xuICAgIGNvbG9yOiAjZmZmO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFNhbXBsZSBUZXN0cyBtb2RhbCDigJQgcG9zaXRpb25pbmcgdGVzdHMgY2F0YWxvZyBvcGVuZWQgZnJvbSB0aGUgbWVudWJhclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uc2FtcGxlLXRlc3RzLW1vZGFsIC5tb2RhbC1jb250ZW50IHtcbiAgICBib3JkZXI6IDA7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIC8qIE92ZXJyaWRlIEJvb3RzdHJhcCdzIG1vZGFsIHJhZGl1cyBjdXN0b20gcHJvcGVydGllcyBzbyB0aGUgY29ybmVyc1xuICAgICAgIHN0YXkgcmVjdGFuZ3VsYXIsIGNvbnNpc3RlbnQgd2l0aCB0aGUgcmVzdCBvZiB0aGUgbmV3IGRlc2lnbi4gKi9cbiAgICAtLWJzLW1vZGFsLWJvcmRlci1yYWRpdXM6IDA7XG4gICAgLS1icy1tb2RhbC1pbm5lci1ib3JkZXItcmFkaXVzOiAwO1xufVxuLnNhbXBsZS10ZXN0cy1tb2RhbCAubW9kYWwtaGVhZGVyIHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2VlZTtcbiAgICBwYWRkaW5nOiAxLjI1cmVtIDEuNXJlbTtcbn1cbi5zYW1wbGUtdGVzdHMtbW9kYWwgLm1vZGFsLWJvZHkge1xuICAgIHBhZGRpbmc6IDEuNXJlbTtcbn1cbi5zYW1wbGUtdGVzdHMtbW9kYWwgaDYge1xuICAgIGNvbG9yOiAjNTU1O1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjA2ZW07XG59XG4uc2FtcGxlLXRlc3RzLW1vZGFsX19pdGVtIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIHBhZGRpbmc6IDEycHggOHB4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogOHB4O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMTVzIGVhc2UsIGJvcmRlci1jb2xvciAwLjE1cyBlYXNlLCB0cmFuc2Zvcm0gMC4xNXMgZWFzZTtcbiAgICBjb2xvcjogIzFhMWExYTtcbn1cbi5zYW1wbGUtdGVzdHMtbW9kYWxfX2l0ZW06aG92ZXIsXG4uc2FtcGxlLXRlc3RzLW1vZGFsX19pdGVtOmZvY3VzLXZpc2libGUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmN2Y3Zjc7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS10b3NhLW9yYW5nZSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xcHgpO1xuICAgIG91dGxpbmU6IG5vbmU7XG59XG4uc2FtcGxlLXRlc3RzLW1vZGFsX19pdGVtLmlzLWxvYWRpbmcge1xuICAgIG9wYWNpdHk6IDAuNjtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cbi5zYW1wbGUtdGVzdHMtbW9kYWxfX2ljb24ge1xuICAgIHdpZHRoOiA3MHB4O1xuICAgIGhlaWdodDogNzBweDtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgcGFkZGluZzogMTJweDtcbn1cbi5zYW1wbGUtdGVzdHMtbW9kYWxfX2ljb24gaW1nIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICBvYmplY3QtZml0OiBjb250YWluO1xufVxuLnNhbXBsZS10ZXN0cy1tb2RhbF9faWNvbiBpIHtcbiAgICBmb250LXNpemU6IDEuNzVyZW07XG4gICAgY29sb3I6IHZhcigtLXRvc2EtYmx1ZSk7XG59XG4uc2FtcGxlLXRlc3RzLW1vZGFsX190aXRsZSB7XG4gICAgZm9udC1zaXplOiAwLjg1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi8qIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuICAgRkFRcyBwYWdlICh0ZW1wbGF0ZXMvcGFnZXMvZmFxcy5odG1sLnR3aWcpXG4gICBMaWdodCBoZXJvIHdpdGggdGl0bGUgKyBzZWFyY2ggYmFyLCBmb2xsb3dlZCBieSB3aGl0ZSBhY2NvcmRpb24gY2FyZHNcbiAgIGdyb3VwZWQgYnkgY2F0ZWdvcnkuIFRoZSBhY3RpdmUgaXRlbSBnZXRzIGEgYmx1ZSB0b3AgYWNjZW50LlxuICAgUHJlZml4IGBmcGAgPSBcIkZBUXMgUGFnZVwiIOKAlCBrZWVwcyBpdCBpc29sYXRlZCBmcm9tIHRoZSBkYXJrIGAuZmFxYFxuICAgYmxvY2sgcmV1c2VkIGluc2lkZSBvbmxpbmUtc3RvcmUgZXRjLlxuICAg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAICovXG4uZnAtaGVybyB7XG4gICAgLyogTGlnaHQgYmFubmVyIChzYW1lIHBhbGV0dGUgYXMgLmxwLWJhbm5lcikgc28gdGhlIGhlcm8gc3RhbmRzIG91dFxuICAgICAgIGZyb20gdGhlIHdoaXRlIGNvbnRlbnQgYW5kIHRoZSBzZWFyY2ggYmFyIHBvcHMuICovXG4gICAgYmFja2dyb3VuZDogI2VhZjNmYjtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2RiZTVlZTtcbiAgICBwYWRkaW5nOiA0MHB4IDAgMzJweDtcbiAgICBtYXJnaW4tYm90dG9tOiAzMnB4O1xufVxuLmZwLWhlcm9fX3RpdGxlIHtcbiAgICBmb250LXNpemU6IGNsYW1wKDEuNzVyZW0sIDEuMnJlbSArIDIuNHZ3LCAyLjc1cmVtKTtcbiAgICBjb2xvcjogIzBmMTcyYTtcbn1cbi5mcC1oZXJvX19zZWFyY2gge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgZ2FwOiAwO1xuICAgIG1heC13aWR0aDogNTYwcHg7XG4gICAgbWFyZ2luOiA4cHggYXV0byAwO1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgcGFkZGluZzogNnB4O1xuICAgIGJveC1zaGFkb3c6IDAgOHB4IDI0cHggcmdiYSgxNSwgMjMsIDQyLCAuMDgpO1xufVxuLmZwLWhlcm9fX3NlYXJjaC13cmFwcGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxleDogMTtcbn1cbi5mcC1oZXJvX19zZWFyY2gtaWNvbiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDE0cHg7XG4gICAgdG9wOiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgIGNvbG9yOiAjNmI3MjgwO1xuICAgIGZvbnQtc2l6ZTogMC45NXJlbTtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cbi5mcC1oZXJvX19zZWFyY2gtaW5wdXQge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJvcmRlcjogMDtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBwYWRkaW5nOiAxMHB4IDE0cHggMTBweCAzOHB4O1xuICAgIGNvbG9yOiAjMGYxNzJhO1xuICAgIGZvbnQtc2l6ZTogMC45NXJlbTtcbn1cbi5mcC1oZXJvX19zZWFyY2gtaW5wdXQ6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbn1cbi5mcC1oZXJvX19zZWFyY2gtaW5wdXQ6OnBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogIzlhYTFhZDtcbn1cbi5mcC1oZXJvX19zZWFyY2gtYnRuIHtcbiAgICBib3JkZXI6IDA7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tdG9zYS1vcmFuZ2UpO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgZm9udC1zaXplOiAwLjk1cmVtO1xuICAgIHBhZGRpbmc6IDAgMjhweDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjE1cyBlYXNlO1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiAxMHB4O1xuICAgIC8qIFRvcC1yaWdodCBjaGFtZmVyIOKAlCBtYXRjaGVzIHRoZSBjdGEtYnRuIC8gcGFjay1jaGVja291dCBwYXR0ZXJuLiAqL1xuICAgIGNsaXAtcGF0aDogcG9seWdvbigwIDAsIGNhbGMoMTAwJSAtIDE0cHgpIDAsIDEwMCUgMTRweCwgMTAwJSAxMDAlLCAwIDEwMCUpO1xufVxuLmZwLWhlcm9fX3NlYXJjaC1idG4taWNvbiB7XG4gICAgd2lkdGg6IDE2cHg7XG4gICAgaGVpZ2h0OiAxNnB4O1xuICAgIG9iamVjdC1maXQ6IGNvbnRhaW47XG4gICAgLyogVGhlIGFzc2V0IGlzIGRhcmsgYnkgZGVmYXVsdCDigJQgaW52ZXJ0IGl0IHNvIGl0IHJlYWRzIG9uIHRoZSBvcmFuZ2UgYmcuICovXG4gICAgZmlsdGVyOiBicmlnaHRuZXNzKDApIGludmVydCgxKTtcbn1cbi5mcC1oZXJvX19zZWFyY2gtYnRuOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjZDgzYTA0O1xufVxuXG4vKiBBY2NvcmRpb24gbGlzdCAqL1xuLmZwLWxpc3Qge1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG59XG4uZnAtbGlzdF9fZW1wdHkge1xuICAgIHBhZGRpbmc6IDQ4cHggMTZweDtcbiAgICBmb250LXNpemU6IDFyZW07XG59XG4uZnAtY2F0IHtcbiAgICBtYXgtd2lkdGg6IDg4MHB4O1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIHBhZGRpbmctdG9wOiAzMnB4O1xufVxuLmZwLWNhdF9fdGl0bGUge1xuICAgIGNvbG9yOiAjMGYxNzJhO1xuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAxNnB4O1xuICAgIHBhZGRpbmctbGVmdDogNHB4O1xufVxuXG4vKiBFYWNoIGl0ZW06IHdoaXRlIGNhcmQsIHNvZnQgYm9yZGVyLCBob3ZlciBsaWZ0LCBibHVlIHRvcCBhY2NlbnQgd2hlbiBvcGVuICovXG4uZnAtaXRlbSB7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZTVlN2ViO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMTJweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjE1cyBlYXNlLCBib3gtc2hhZG93IDAuMTVzIGVhc2U7XG4gICAgLyogUmVzZXQgQm9vdHN0cmFwJ3MgYWNjb3JkaW9uIHJhZGl1cyB2YXJpYWJsZXMgc28gZmlyc3QvbGFzdCBpdGVtc1xuICAgICAgIGRvbid0IHBpY2sgdXAgcm91bmRlZCBjb3JuZXJzIGZyb20gdGhlIGRlZmF1bHQgdGhlbWUuICovXG4gICAgLS1icy1hY2NvcmRpb24tYm9yZGVyLXJhZGl1czogMDtcbiAgICAtLWJzLWFjY29yZGlvbi1pbm5lci1ib3JkZXItcmFkaXVzOiAwO1xufVxuLmZwLWl0ZW06aG92ZXIge1xuICAgIGJvcmRlci1jb2xvcjogI2NiZDVlMTtcbn1cbi5mcC1pdGVtOmhhcyguZnAtaXRlbV9fYnRuOm5vdCguY29sbGFwc2VkKSkge1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tdG9zYS1ibHVlKTtcbiAgICBib3gtc2hhZG93OiAwIDRweCAxOHB4IHJnYmEoNjksIDY5LCAyMTksIDAuMDgpO1xufVxuLyogQm9vdHN0cmFwIHJlbW92ZXMgdG9wIGJvcmRlciBiZXR3ZWVuIHN0YWNrZWQgaXRlbXMg4oCUIHdlIHdhbnQgZXZlcnkgY2FyZFxuICAgaW5kZXBlbmRlbnRseSBib3JkZXJlZCwgc28gcmUtZXN0YWJsaXNoIGl0LiAqL1xuLmZwLWl0ZW06bm90KDpmaXJzdC1vZi10eXBlKSB7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNlNWU3ZWI7XG59XG4uZnAtaXRlbTpoYXMoLmZwLWl0ZW1fX2J0bjpub3QoLmNvbGxhcHNlZCkpOm5vdCg6Zmlyc3Qtb2YtdHlwZSkge1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS10b3NhLWJsdWUpO1xufVxuXG4uZnAtaXRlbV9fYnRuIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIGNvbG9yOiAjMGYxNzJhO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIHBhZGRpbmc6IDE4cHggNTZweCAxOHB4IDIycHg7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuLmZwLWl0ZW1fX2J0bjpub3QoLmNvbGxhcHNlZCkge1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgY29sb3I6IHZhcigtLXRvc2EtYmx1ZSk7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbn1cbi5mcC1pdGVtX19idG46Zm9jdXMge1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cbi8qIFJlcGxhY2UgQm9vdHN0cmFwJ3MgY2hldnJvbiB3aXRoIGEgKyAvIOKIkiBjaGFyYWN0ZXIgaW4gdG9zYSBvcmFuZ2UuICovXG4uZnAtaXRlbV9fYnRuOjphZnRlciB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgICBjb250ZW50OiBcIitcIjtcbiAgICBjb2xvcjogdmFyKC0tdG9zYS1vcmFuZ2UpO1xuICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMjJweDtcbiAgICB0b3A6IDUwJTtcbiAgICBtYXJnaW4tdG9wOiAtMC41NXJlbTtcbn1cbi5mcC1pdGVtX19idG46bm90KC5jb2xsYXBzZWQpOjphZnRlciB7XG4gICAgY29udGVudDogXCLiiJJcIjsgLyogVSsyMjEyIG1pbnVzIHNpZ24gKi9cbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbn1cblxuLmZwLWl0ZW1fX2Ege1xuICAgIGNvbG9yOiAjNGI1NTYzO1xuICAgIHBhZGRpbmc6IDAgMjJweCAyMHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjY7XG4gICAgZm9udC1zaXplOiAwLjk1cmVtO1xufVxuLmZwLWl0ZW1fX2EgYSB7XG4gICAgY29sb3I6IHZhcigtLXRvc2EtYmx1ZSk7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA1NzVweCkge1xuICAgIC5mcC1oZXJvX19zZWFyY2gge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBnYXA6IDhweDtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuICAgIC5mcC1oZXJvX19zZWFyY2gtd3JhcHBlciB7XG4gICAgICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgOHB4IDI0cHggcmdiYSgxNSwgMjMsIDQyLCAuMDgpO1xuICAgIH1cbiAgICAuZnAtaGVyb19fc2VhcmNoLWJ0biB7XG4gICAgICAgIHBhZGRpbmc6IDEycHg7XG4gICAgfVxufVxuXG4vKiBGQVEg4oCUIHRvcGljIGdyaWQgKHRoZSBsYW5kaW5nIFwic29tbWFpcmVcIikgKi9cbi5mcC10b2Mge1xuICAgIG1heC13aWR0aDogOTYwcHg7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgcGFkZGluZy10b3A6IDI0cHg7XG59XG4uZnAtdG9jX19pbnRybyB7XG4gICAgY29sb3I6ICM2YjcyODA7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDI4cHg7XG59XG4uZnAtdG9jX19ncmlkIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZmlsbCwgbWlubWF4KDI4MHB4LCAxZnIpKTtcbiAgICBnYXA6IDE2cHg7XG59XG4uZnAtdG9jX19jYXJkIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiAxNnB4O1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZTVlN2ViO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgcGFkZGluZzogMjBweCAyMnB4O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC4xNXMgZWFzZSwgYm94LXNoYWRvdyAwLjE1cyBlYXNlO1xufVxuLmZwLXRvY19fY2FyZDpob3ZlciB7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS10b3NhLWJsdWUpO1xuICAgIGJveC1zaGFkb3c6IDAgNnB4IDIwcHggcmdiYSg2OSwgNjksIDIxOSwgMC4xKTtcbn1cbi5mcC10b2NfX251bSB7XG4gICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBjb2xvcjogdmFyKC0tdG9zYS1vcmFuZ2UpO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGZsZXgtc2hyaW5rOiAwO1xufVxuLmZwLXRvY19fYm9keSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogNHB4O1xuICAgIGZsZXg6IDE7XG4gICAgbWluLXdpZHRoOiAwO1xufVxuLmZwLXRvY19fY2FyZC10aXRsZSB7XG4gICAgY29sb3I6ICMwZjE3MmE7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMztcbn1cbi5mcC10b2NfX2NvdW50IHtcbiAgICBjb2xvcjogIzlhYTFhZDtcbiAgICBmb250LXNpemU6IDAuODJyZW07XG59XG4uZnAtdG9jX19hcnJvdyB7XG4gICAgY29sb3I6ICNjYmQ1ZTE7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC4xNXMgZWFzZSwgdHJhbnNmb3JtIDAuMTVzIGVhc2U7XG59XG4uZnAtdG9jX19jYXJkOmhvdmVyIC5mcC10b2NfX2Fycm93IHtcbiAgICBjb2xvcjogdmFyKC0tdG9zYS1vcmFuZ2UpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgzcHgpO1xufVxuXG4vKiBGQVEg4oCUIHNlY3Rpb24gdG9vbGJhciAoYmFjayBsaW5rICsgc2VjdGlvbiBzZWxlY3RvcikgKi9cbi5mcC10b29sYmFyIHtcbiAgICBtYXgtd2lkdGg6IDg4MHB4O1xuICAgIG1hcmdpbjogMCBhdXRvIDhweDtcbiAgICBwYWRkaW5nLXRvcDogMjRweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGdhcDogMTZweDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG59XG4uZnAtdG9vbGJhcl9fYmFjayB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDhweDtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIGJvcmRlcjogMDtcbiAgICBwYWRkaW5nOiA4cHggNHB4O1xuICAgIGNvbG9yOiB2YXIoLS10b3NhLWJsdWUpO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgZm9udC1zaXplOiAwLjk1cmVtO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbn1cbi5mcC10b29sYmFyX19iYWNrOmhvdmVyIHtcbiAgICBjb2xvcjogdmFyKC0tdG9zYS1vcmFuZ2UpO1xufVxuLmZwLXRvb2xiYXJfX3NlbGVjdG9yIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogMTBweDtcbn1cbi5mcC10b29sYmFyX19sYWJlbCB7XG4gICAgY29sb3I6ICM2YjcyODA7XG4gICAgZm9udC1zaXplOiAwLjlyZW07XG4gICAgbWFyZ2luOiAwO1xufVxuLmZwLXRvb2xiYXJfX3NlbGVjdCB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2QxZDVkYjtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgcGFkZGluZzogMTBweCAxNHB4O1xuICAgIGZvbnQtc2l6ZTogMC45NXJlbTtcbiAgICBjb2xvcjogIzBmMTcyYTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgbWluLXdpZHRoOiAyNDBweDtcbn1cbi5mcC10b29sYmFyX19zZWxlY3Q6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS10b3NhLW9yYW5nZSk7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoMjQxLCA3MywgMTYsIDAuMTUpO1xufVxuXG4vKiBGQVEg4oCUIHJlbGF0ZWQgbGlua3MgaW5zaWRlIGFuIGFuc3dlciAqL1xuLmZwLWl0ZW1fX2xpbmtzIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBnYXA6IDhweCAyMHB4O1xuICAgIG1hcmdpbi10b3A6IDE2cHg7XG4gICAgcGFkZGluZy10b3A6IDE0cHg7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNlZWYwZjQ7XG59XG4vKiBTY29wZWQgdW5kZXIgLmZwLWl0ZW1fX2EgdG8gYmVhdCB0aGUgZ2VuZXJpYyBgLmZwLWl0ZW1fX2EgYWAgYmx1ZSBydWxlLiAqL1xuLmZwLWl0ZW1fX2EgLmZwLWl0ZW1fX2xpbmsge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiA2cHg7XG4gICAgY29sb3I6IHZhcigtLXRvc2Etb3JhbmdlKTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGZvbnQtc2l6ZTogMC45cmVtO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cbi5mcC1pdGVtX19hIC5mcC1pdGVtX19saW5rOmhvdmVyIHtcbiAgICBjb2xvcjogI2Q2M2QwOTtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cbi5mcC1pdGVtX19saW5rIC5iaSB7XG4gICAgZm9udC1zaXplOiAwLjc4cmVtO1xufVxuXG4vKiBbaGlkZGVuXSBtdXN0IHdpbiBvdmVyIEJvb3RzdHJhcCdzIGFjY29yZGlvbi9mbGV4IGRpc3BsYXkgdmFsdWVzLiAqL1xuLmZwLXRvY1toaWRkZW5dLFxuLmZwLXRvb2xiYXJbaGlkZGVuXSxcbi5mcC1jYXRbaGlkZGVuXSxcbi5mcC1pdGVtW2hpZGRlbl0ge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDU3NXB4KSB7XG4gICAgLmZwLXRvb2xiYXIsXG4gICAgLmZwLXRvb2xiYXJfX3NlbGVjdG9yIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgfVxuICAgIC5mcC10b29sYmFyX19zZWxlY3Qge1xuICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbn1cblxuLyog4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4gICBTY29yZSBDaGVja2VyIG1vZGFsICh0ZW1wbGF0ZXMvbW9kYWxzL2NoZWNrX2RpcGxvbWEuaHRtbC50d2lnKVxuICAgU3RyaWN0IHJlY3Rhbmd1bGFyIGxvb2sg4oCUIG5vIGJvcmRlci1yYWRpdXMgYW55d2hlcmUg4oCUIHRvIG1hdGNoIHRoZVxuICAgRkFRcyBwYWdlIHRyZWF0bWVudC5cbiAgIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgCAqL1xuLmNoZWNrLXNjb3JlLW1vZGFsX19jb250ZW50IHtcbiAgICBib3JkZXI6IDA7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIC0tYnMtbW9kYWwtYm9yZGVyLXJhZGl1czogMDtcbiAgICAtLWJzLW1vZGFsLWlubmVyLWJvcmRlci1yYWRpdXM6IDA7XG59XG4uY2hlY2stc2NvcmUtbW9kYWxfX2hlYWRlciB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlNWU3ZWI7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBwYWRkaW5nOiAyMHB4IDI0cHg7XG59XG4uY2hlY2stc2NvcmUtbW9kYWxfX3RpdGxlIHtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICBjb2xvcjogIzBmMTcyYTtcbn1cbi5jaGVjay1zY29yZS1tb2RhbF9fY2xvc2Uge1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG59XG4uY2hlY2stc2NvcmUtbW9kYWxfX2JvZHkge1xuICAgIHBhZGRpbmc6IDI0cHg7XG59XG4uY2hlY2stc2NvcmUtbW9kYWxfX2ludHJvIHtcbiAgICBjb2xvcjogIzRiNTU2MztcbiAgICBmb250LXNpemU6IDAuOTVyZW07XG4gICAgbWFyZ2luOiAwIDAgMjBweDtcbn1cbi5jaGVjay1zY29yZS1tb2RhbF9fZm9ybSB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7XG4gICAgZ2FwOiAxNnB4O1xufVxuLmNoZWNrLXNjb3JlLW1vZGFsX19maWVsZCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IC8qIGxhYmVscyBvZiB1bmVxdWFsIGhlaWdodDoga2VlcCBib3RoIGlucHV0cyBvbiB0aGUgc2FtZSBsaW5lICovXG4gICAgZ2FwOiA2cHg7XG59XG4uY2hlY2stc2NvcmUtbW9kYWxfX2xhYmVsIHtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgY29sb3I6ICMwZjE3MmE7XG59XG4uY2hlY2stc2NvcmUtbW9kYWxfX2lucHV0IHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZDFkNWRiO1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgY29sb3I6ICMwZjE3MmE7XG4gICAgcGFkZGluZzogMTBweCAxMnB4O1xuICAgIGZvbnQtc2l6ZTogMC45NXJlbTtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjE1cyBlYXNlO1xufVxuLmNoZWNrLXNjb3JlLW1vZGFsX19pbnB1dDpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLXRvc2EtYmx1ZSk7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbn1cbi5jaGVjay1zY29yZS1tb2RhbF9fYWxlcnQge1xuICAgIG1hcmdpbi10b3A6IDE4cHg7XG4gICAgcGFkZGluZzogMTJweCAxNHB4O1xuICAgIGZvbnQtc2l6ZTogMC45cmVtO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG59XG4uY2hlY2stc2NvcmUtbW9kYWxfX2FsZXJ0LS1zdWNjZXNzIHtcbiAgICBiYWNrZ3JvdW5kOiAjZWNmZGY1O1xuICAgIGJvcmRlci1jb2xvcjogIzM0ZDM5OTtcbiAgICBjb2xvcjogIzA2NWY0NjtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4uY2hlY2stc2NvcmUtbW9kYWxfX2FsZXJ0LS1lcnJvciB7XG4gICAgYmFja2dyb3VuZDogI2ZlZjJmMjtcbiAgICBib3JkZXItY29sb3I6ICNmY2E1YTU7XG4gICAgY29sb3I6ICM5OTFiMWI7XG59XG4uY2hlY2stc2NvcmUtbW9kYWxfX2FsZXJ0IGEge1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuLmNoZWNrLXNjb3JlLW1vZGFsX19iYWRnZS13cmFwIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbWFyZ2luLXRvcDogMThweDtcbn1cbi5jaGVjay1zY29yZS1tb2RhbF9fYmFkZ2Uge1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICB3aWR0aDogYXV0bztcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgbWF4LWhlaWdodDogMzIwcHg7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuLmNoZWNrLXNjb3JlLW1vZGFsX19mb290ZXIge1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZTVlN2ViO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgcGFkZGluZzogMTZweCAyNHB4O1xuICAgIGdhcDogMTJweDtcbn1cbi5jaGVjay1zY29yZS1tb2RhbF9fYnRuIHtcbiAgICBib3JkZXI6IDA7XG4gICAgcGFkZGluZzogMTBweCAyMnB4O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgZm9udC1zaXplOiAwLjlyZW07XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjE1cyBlYXNlO1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG4uY2hlY2stc2NvcmUtbW9kYWxfX2J0bi0tZ2hvc3Qge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGNvbG9yOiAjNGI1NTYzO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNkMWQ1ZGI7XG59XG4uY2hlY2stc2NvcmUtbW9kYWxfX2J0bi0tZ2hvc3Q6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6ICNmM2Y0ZjY7XG59XG4uY2hlY2stc2NvcmUtbW9kYWxfX2J0bi0tb3JhbmdlIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS10b3NhLW9yYW5nZSk7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgLyogVG9wLXJpZ2h0IGNoYW1mZXIgdG8gbWF0Y2ggdGhlIEZBUXMgU2VhcmNoIGJ1dHRvbiArIHRoZSBvdGhlciBDVEFzLiAqL1xuICAgIGNsaXAtcGF0aDogcG9seWdvbigwIDAsIGNhbGMoMTAwJSAtIDE0cHgpIDAsIDEwMCUgMTRweCwgMTAwJSAxMDAlLCAwIDEwMCUpO1xufVxuLmNoZWNrLXNjb3JlLW1vZGFsX19idG4tLW9yYW5nZTpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogI2Q4M2EwNDtcbn1cbi5jaGVjay1zY29yZS1tb2RhbF9fYnRuOmRpc2FibGVkIHtcbiAgICBvcGFjaXR5OiAwLjc7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDU3NXB4KSB7XG4gICAgLmNoZWNrLXNjb3JlLW1vZGFsX19mb3JtIHtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG4gICAgfVxufVxuXG4vKiDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbiAgIExlZ2FsIHBhZ2VzIOKAlCBQcml2YWN5IFBvbGljeSArIFRlcm1zIG9mIFNlcnZpY2VcbiAgICh0ZW1wbGF0ZXMvcGFnZXMvcHJpdmFjeV9wb2xpY3kuaHRtbC50d2lnICsgdGVybXNfb2Zfc2VydmljZS5odG1sLnR3aWcpXG4gICBCYW5uZXIgdG9wLCBzaW5nbGUtY29sdW1uIGxvbmctZm9ybSBjb250ZW50LiBTdHJpY3QgcmVjdGFuZ3VsYXIgbG9vayDigJRcbiAgIG5vIGJvcmRlci1yYWRpdXMg4oCUIHRvIG1hdGNoIHRoZSBGQVFzIC8gU2NvcmUgQ2hlY2tlciB0cmVhdG1lbnQuXG4gICBQcmVmaXggYGxwYCA9IExlZ2FsIFBhZ2UuXG4gICDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIAgKi9cbi5scC1iYW5uZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBiYWNrZ3JvdW5kOiAjZWFmM2ZiO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZGJlNWVlO1xuICAgIHBhZGRpbmc6IDU2cHggMDtcbn1cbi5scC1iYW5uZXJfX2lubmVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMTtcbn1cbi5scC1iYW5uZXJfX3RpdGxlIHtcbiAgICBjb2xvcjogIzFhMWEyZTtcbiAgICBmb250LXNpemU6IGNsYW1wKDJyZW0sIDEuNHJlbSArIDIuNHZ3LCAzcmVtKTtcbiAgICBtYXJnaW46IDA7XG59XG4ubHAtYmFubmVyX19zdWJ0aXRsZSB7XG4gICAgY29sb3I6ICM1YjY0Nzg7XG4gICAgZm9udC1zaXplOiAwLjk1cmVtO1xuICAgIG1hcmdpbjogMTJweCAwIDA7XG59XG5cbi5scC1jb250ZW50IHtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xufVxuLmxwLWFydGljbGUge1xuICAgIG1heC13aWR0aDogODgwcHg7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgY29sb3I6ICMxZjI5Mzc7XG4gICAgbGluZS1oZWlnaHQ6IDEuNztcbiAgICBmb250LXNpemU6IDFyZW07XG59XG4ubHAtYXJ0aWNsZSBwIHtcbiAgICBtYXJnaW46IDAgMCAxNnB4O1xufVxuLmxwLWFydGljbGUgYSB7XG4gICAgY29sb3I6IHZhcigtLXRvc2Etb3JhbmdlKTtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cbi5scC1hcnRpY2xlIGE6aG92ZXIge1xuICAgIGNvbG9yOiAjZDYzZDA5O1xufVxuLmxwLWFydGljbGVfX2xlZGUge1xuICAgIGZvbnQtc2l6ZTogMS4wNXJlbTtcbiAgICBjb2xvcjogIzM3NDE1MTtcbiAgICBtYXJnaW4tYm90dG9tOiAyOHB4O1xufVxuLmxwLWFydGljbGVfX2gyIHtcbiAgICBjb2xvcjogdmFyKC0tdG9zYS1ibHVlKTtcbiAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIG1hcmdpbjogNDBweCAwIDE2cHg7XG4gICAgcGFkZGluZy1ib3R0b206IDhweDtcbiAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgdmFyKC0tdG9zYS1ibHVlKTtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIHNjcm9sbC1tYXJnaW4tdG9wOiAxMDBweDtcbn1cbi5scC1hcnRpY2xlX19oMyB7XG4gICAgY29sb3I6ICMwZjE3MmE7XG4gICAgZm9udC1zaXplOiAxLjJyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBtYXJnaW46IDI4cHggMCAxMnB4O1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIHRleHQtZGVjb3JhdGlvbi10aGlja25lc3M6IDJweDtcbiAgICB0ZXh0LXVuZGVybGluZS1vZmZzZXQ6IDRweDtcbn1cbi5scC1hcnRpY2xlX19oNCB7XG4gICAgY29sb3I6IHZhcigtLXRvc2Etb3JhbmdlKTtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBtYXJnaW46IDIycHggMCAxMHB4O1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgIGxldHRlci1zcGFjaW5nOiAwO1xufVxuLmxwLWFydGljbGVfX2xpc3Qge1xuICAgIG1hcmdpbjogMCAwIDE4cHg7XG4gICAgcGFkZGluZy1sZWZ0OiAyMnB4O1xufVxuLmxwLWFydGljbGVfX2xpc3QgbGkge1xuICAgIG1hcmdpbi1ib3R0b206IDhweDtcbn1cbi5scC1hcnRpY2xlX19saXN0IGxpOjptYXJrZXIge1xuICAgIGNvbG9yOiB2YXIoLS10b3NhLW9yYW5nZSk7XG59XG4ubHAtYXJ0aWNsZV9fY29udGFjdCB7XG4gICAgbWFyZ2luLXRvcDogNDBweDtcbiAgICBwYWRkaW5nOiAxOHB4IDIycHg7XG4gICAgYmFja2dyb3VuZDogI2Y0ZjVmOTtcbiAgICBib3JkZXItbGVmdDogNHB4IHNvbGlkIHZhcigtLXRvc2Etb3JhbmdlKTtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIGNvbG9yOiAjMzc0MTUxO1xufVxuLyogSW5saW5lIG5vdGUgLyBjYXZlYXQgY2FsbG91dCAoZS5nLiBcIk1hYyB1c2Vyc+KAplwiLCBcIkFkb2JlIHdlYiBhcHDigKZcIikuICovXG4ubHAtYXJ0aWNsZV9fbm90ZSB7XG4gICAgbWFyZ2luOiA4cHggMCAyNHB4O1xuICAgIHBhZGRpbmc6IDE0cHggMThweDtcbiAgICBiYWNrZ3JvdW5kOiAjZWFmM2ZiO1xuICAgIGJvcmRlci1sZWZ0OiA0cHggc29saWQgdmFyKC0tdG9zYS1ibHVlKTtcbiAgICBjb2xvcjogIzM3NDE1MTtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG5cbi8qIFRhYmxlcyAoZGF0YSBjYXRlZ29yeSBicmVha2Rvd24gaW4gUHJpdmFjeSBQb2xpY3kpLiAqL1xuLmxwLWFydGljbGVfX3RhYmxlLXdyYXAge1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgbWFyZ2luOiA4cHggMCAyNHB4O1xufVxuLmxwLWFydGljbGVfX3RhYmxlIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbn1cbi5scC1hcnRpY2xlX190YWJsZSB0aCxcbi5scC1hcnRpY2xlX190YWJsZSB0ZCB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2QxZDVkYjtcbiAgICBwYWRkaW5nOiAxMnB4IDE0cHg7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgIGZvbnQtc2l6ZTogMC45NXJlbTtcbn1cbi5scC1hcnRpY2xlX190YWJsZSB0aGVhZCB0aCB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tdG9zYS1ibHVlKTtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBmb250LXdlaWdodDogNzAwO1xufVxuLmxwLWFydGljbGVfX3RhYmxlIHRib2R5IHRyOm50aC1jaGlsZChldmVuKSB7XG4gICAgYmFja2dyb3VuZDogI2Y4ZmFmYztcbn1cblxuLmxwLWFydGljbGUgY29kZSB7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgYmFja2dyb3VuZDogI2YxZjVmOTtcbiAgICBwYWRkaW5nOiAwLjFlbSAwLjRlbTtcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgZm9udC1zaXplOiAwLjg3NWVtO1xufVxuXG4vKiDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbiAgIEFQSSBlcnJvciBiYW5uZXIg4oCUIHVzZWQgYnkgb25saW5lLXN0b3JlICsgY2VydGlmaWNhdGlvbiB3aGVuIHRoZSBJc29ncmFkXG4gICBBUEkgaXMgZG93bi4gVGhlIFwiRW1haWwgU3VwcG9ydFwiIENUQSBvcGVucyBhIHByZS1maWxsZWQgbWFpbHRvIHNvIHRoZVxuICAgc3VwcG9ydCB0ZWFtIGdldHMgdGhlIGZhaWxpbmcgYWN0X2lkLCBwYXJhbXMgYW5kIGV4Y2VwdGlvbiBpbiBvbmUgY2xpY2suXG4gICBSZWN0YW5ndWxhciwgbm8gYm9yZGVyLXJhZGl1cy5cbiAgIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgCAqL1xuLmFwaS1lcnJvci1iYW5uZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgZ2FwOiAxNnB4O1xuICAgIGJhY2tncm91bmQ6ICNmZmY3ZWQ7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tdG9zYS1vcmFuZ2UpO1xuICAgIGJvcmRlci1sZWZ0LXdpZHRoOiA2cHg7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBwYWRkaW5nOiAxOHB4IDIycHg7XG4gICAgbWFyZ2luOiAwIGF1dG8gMjRweDtcbiAgICBtYXgtd2lkdGg6IDk4MHB4O1xuICAgIGNvbG9yOiAjMWYyOTM3O1xufVxuLmFwaS1lcnJvci1iYW5uZXJfX2ljb24ge1xuICAgIGNvbG9yOiB2YXIoLS10b3NhLW9yYW5nZSk7XG4gICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgcGFkZGluZy10b3A6IDJweDtcbiAgICBmbGV4LXNocmluazogMDtcbn1cbi5hcGktZXJyb3ItYmFubmVyX19ib2R5IHtcbiAgICBmbGV4OiAxIDEgYXV0bztcbiAgICBtaW4td2lkdGg6IDA7XG59XG4uYXBpLWVycm9yLWJhbm5lcl9fdGl0bGUge1xuICAgIGNvbG9yOiAjMWExYTJlO1xuICAgIGZvbnQtc2l6ZTogMS4wNXJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIG1hcmdpbjogMCAwIDRweDtcbn1cbi5hcGktZXJyb3ItYmFubmVyX190ZXh0IHtcbiAgICBjb2xvcjogIzRiNTU2MztcbiAgICBmb250LXNpemU6IDAuOTVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcbn1cbi5hcGktZXJyb3ItYmFubmVyX19kZXRhaWxzIHtcbiAgICBjb2xvcjogIzZiNzI4MDtcbiAgICBmb250LXNpemU6IDAuODVyZW07XG59XG4uYXBpLWVycm9yLWJhbm5lcl9fZGV0YWlscyBzdW1tYXJ5IHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgY29sb3I6IHZhcigtLXRvc2EtYmx1ZSk7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbn1cbi5hcGktZXJyb3ItYmFubmVyX19kZXRhaWxzIHN1bW1hcnk6aG92ZXIge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuLmFwaS1lcnJvci1iYW5uZXJfX3BhcmFtcyB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBwYWRkaW5nOiAxMHB4IDEycHg7XG4gICAgbWFyZ2luOiAwO1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2ZlZDdhYTtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIGZvbnQtZmFtaWx5OiB1aS1tb25vc3BhY2UsIFNGTW9uby1SZWd1bGFyLCBNZW5sbywgbW9ub3NwYWNlO1xuICAgIGZvbnQtc2l6ZTogMC44cmVtO1xuICAgIHdvcmQtYnJlYWs6IGJyZWFrLWFsbDtcbn1cbi5hcGktZXJyb3ItYmFubmVyX19wYXJhbXMgbGkge1xuICAgIG1hcmdpbi1ib3R0b206IDRweDtcbn1cbi5hcGktZXJyb3ItYmFubmVyX19wYXJhbXMgbGk6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbn1cbi5hcGktZXJyb3ItYmFubmVyX19wYXJhbXMgY29kZSB7XG4gICAgY29sb3I6ICMwZjE3MmE7XG4gICAgYmFja2dyb3VuZDogI2YzZjRmNjtcbiAgICBwYWRkaW5nOiAxcHggNHB4O1xufVxuLmFwaS1lcnJvci1iYW5uZXJfX2N0YSB7XG4gICAgZmxleC1zaHJpbms6IDA7XG59XG4uYXBpLWVycm9yLWJhbm5lcl9fYnRuIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogOHB4O1xuICAgIGJhY2tncm91bmQ6IHZhcigtLXRvc2Etb3JhbmdlKTtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBib3JkZXI6IDA7XG4gICAgcGFkZGluZzogMTBweCAxOHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgZm9udC1zaXplOiAwLjlyZW07XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjE1cyBlYXNlO1xuICAgIC8qIFRvcC1yaWdodCBjaGFtZmVyIG1hdGNoaW5nIHRoZSBvdGhlciBDVEFzLiAqL1xuICAgIGNsaXAtcGF0aDogcG9seWdvbigwIDAsIGNhbGMoMTAwJSAtIDE0cHgpIDAsIDEwMCUgMTRweCwgMTAwJSAxMDAlLCAwIDEwMCUpO1xufVxuLmFwaS1lcnJvci1iYW5uZXJfX2J0bjpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogI2Q4M2EwNDtcbiAgICBjb2xvcjogI2ZmZjtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDU3NXB4KSB7XG4gICAgLmFwaS1lcnJvci1iYW5uZXIge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICB9XG4gICAgLmFwaS1lcnJvci1iYW5uZXJfX2N0YSB7XG4gICAgICAgIGFsaWduLXNlbGY6IGZsZXgtc3RhcnQ7XG4gICAgfVxufVxuXG4vKiDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbiAgIENoZWNrb3V0IHNpZ251cCBtb2RhbCAodGVtcGxhdGVzL21vZGFscy9jaGVja291dF9zaWdudXAuaHRtbC50d2lnKVxuICAgVHdvIGNvbHVtbnM6IFNpZ24gdXAgKGxlZnQpICsgU2lnbiBpbiAocmlnaHQpLiBSZWN0YW5ndWxhciBsYXlvdXRcbiAgIHRvIG1hdGNoIHRoZSBGQVFzIC8gU2NvcmUgQ2hlY2tlciAvIEFQSSBiYW5uZXIgdHJlYXRtZW50LlxuICAg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAICovXG4uY2hlY2tvdXQtbW9kYWxfX2NvbnRlbnQge1xuICAgIGJvcmRlcjogMDtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgLS1icy1tb2RhbC1ib3JkZXItcmFkaXVzOiAwO1xuICAgIC0tYnMtbW9kYWwtaW5uZXItYm9yZGVyLXJhZGl1czogMDtcbn1cbi5jaGVja291dC1tb2RhbF9faGVhZGVyIHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2U1ZTdlYjtcbiAgICBwYWRkaW5nOiAyMHB4IDI0cHg7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbn1cbi5jaGVja291dC1tb2RhbF9fdGl0bGUge1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgIGNvbG9yOiAjMGYxNzJhO1xufVxuLmNoZWNrb3V0LW1vZGFsX19jbG9zZSB7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbn1cbi5jaGVja291dC1tb2RhbF9fYm9keSB7XG4gICAgcGFkZGluZzogMjhweCAzMnB4IDMycHg7XG59XG4uY2hlY2tvdXQtbW9kYWxfX2ludHJvIHtcbiAgICBjb2xvcjogIzRiNTU2MztcbiAgICBmb250LXNpemU6IDAuOTVyZW07XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG1hcmdpbjogMCBhdXRvIDI0cHg7XG4gICAgbWF4LXdpZHRoOiA2NDBweDtcbn1cbi5jaGVja291dC1tb2RhbF9fY29scyB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2U1ZTdlYjtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xufVxuLmNoZWNrb3V0LW1vZGFsX19jb2wge1xuICAgIHBhZGRpbmc6IDI4cHg7XG59XG4uY2hlY2tvdXQtbW9kYWxfX2NvbCArIC5jaGVja291dC1tb2RhbF9fY29sLS1yaWdodCB7XG4gICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjZTVlN2ViO1xufVxuLmNoZWNrb3V0LW1vZGFsX19jb2wtdGl0bGUge1xuICAgIGNvbG9yOiAjMGYxNzJhO1xuICAgIGZvbnQtc2l6ZTogMS4xNXJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIG1hcmdpbjogMCAwIDZweDtcbn1cbi5jaGVja291dC1tb2RhbF9fY29sLWludHJvIHtcbiAgICBjb2xvcjogIzZiNzI4MDtcbiAgICBmb250LXNpemU6IDAuOXJlbTtcbiAgICBtYXJnaW46IDAgMCAxOHB4O1xufVxuLmNoZWNrb3V0LW1vZGFsX19mb3JtIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG4uY2hlY2tvdXQtbW9kYWxfX2xhYmVsIHtcbiAgICBmb250LXNpemU6IDAuOHJlbTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGNvbG9yOiAjMzc0MTUxO1xuICAgIG1hcmdpbi1ib3R0b206IDRweDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjA0ZW07XG59XG4uY2hlY2tvdXQtbW9kYWxfX3Bhc3N3b3JkIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4uY2hlY2tvdXQtbW9kYWxfX3Bhc3N3b3JkIC5jaGVja291dC1tb2RhbF9faW5wdXQge1xuICAgIHBhZGRpbmctcmlnaHQ6IDQycHg7XG59XG4uY2hlY2tvdXQtbW9kYWxfX3Bhc3N3b3JkLXRvZ2dsZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIHJpZ2h0OiA4cHg7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBjb2xvcjogIzZiNzI4MDtcbiAgICBwYWRkaW5nOiA0cHggOHB4O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBsaW5lLWhlaWdodDogMTtcbn1cbi5jaGVja291dC1tb2RhbF9fcGFzc3dvcmQtdG9nZ2xlOmhvdmVyIHtcbiAgICBjb2xvcjogIzBmMTcyYTtcbn1cbi5jaGVja291dC1tb2RhbF9faW5wdXQge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNkMWQ1ZGI7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICBjb2xvcjogIzBmMTcyYTtcbiAgICBwYWRkaW5nOiAxMHB4IDEycHg7XG4gICAgZm9udC1zaXplOiAwLjk1cmVtO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuMTVzIGVhc2U7XG4gICAgd2lkdGg6IDEwMCU7XG59XG4uY2hlY2tvdXQtbW9kYWxfX2lucHV0OmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tdG9zYS1ibHVlKTtcbiAgICBib3gtc2hhZG93OiBub25lO1xufVxuLmNoZWNrb3V0LW1vZGFsX19saW5rIHtcbiAgICBjb2xvcjogdmFyKC0tdG9zYS1ibHVlKTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgYWxpZ24tc2VsZjogZmxleC1zdGFydDtcbn1cbi5jaGVja291dC1tb2RhbF9fbGluazpob3ZlciB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG4uY2hlY2tvdXQtbW9kYWxfX2xpbmstLXJpZ2h0IHtcbiAgICBhbGlnbi1zZWxmOiBmbGV4LWVuZDtcbn1cbi5jaGVja291dC1tb2RhbF9fc3VibWl0LWJ0biB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBnYXA6IDEwcHg7XG4gICAgcGFkZGluZzogMTJweCAyMnB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgYm9yZGVyOiAwO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGZvbnQtc2l6ZTogMC45NXJlbTtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMTVzIGVhc2U7XG59XG4uY2hlY2tvdXQtbW9kYWxfX3N1Ym1pdC1idG4tLW9yYW5nZSB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tdG9zYS1vcmFuZ2UpO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIC8qIFRvcC1yaWdodCBjaGFtZmVyIG1hdGNoaW5nIHRoZSByZXN0IG9mIHRoZSBDVEFzLiAqL1xuICAgIGNsaXAtcGF0aDogcG9seWdvbigwIDAsIGNhbGMoMTAwJSAtIDE0cHgpIDAsIDEwMCUgMTRweCwgMTAwJSAxMDAlLCAwIDEwMCUpO1xufVxuLmNoZWNrb3V0LW1vZGFsX19zdWJtaXQtYnRuLS1vcmFuZ2U6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6ICNkODNhMDQ7XG59XG4uY2hlY2tvdXQtbW9kYWxfX3N1Ym1pdC1idG4tLWdob3N0IHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBjb2xvcjogdmFyKC0tdG9zYS1ibHVlKTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS10b3NhLWJsdWUpO1xufVxuLmNoZWNrb3V0LW1vZGFsX19zdWJtaXQtYnRuLS1naG9zdDpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogI2YwZjNmZjtcbn1cbi5jaGVja291dC1tb2RhbF9fY2FuZGlkYXRlLWxpbmsge1xuICAgIG1hcmdpbi10b3A6IDE2cHg7XG4gICAgZm9udC1zaXplOiAwLjg1cmVtO1xuICAgIGNvbG9yOiAjNmI3MjgwO1xufVxuLmNoZWNrb3V0LW1vZGFsX19jYW5kaWRhdGUtbGluayBhIHtcbiAgICBjb2xvcjogdmFyKC0tdG9zYS1ibHVlKTtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cblxuLyogSW5saW5lIHN0YXR1cyBiYW5uZXIgKHN1Y2Nlc3MgLyBlcnJvciAvIGluZm8pIHNob3duIHVuZGVyIHRoZSB0d29cbiAgIGNvbHVtbnMgd2hlbiB0aGUgdXNlciBzdWJtaXRzIHRoZSBzaWduLXVwIG9yIHNpZ24taW4gZm9ybS4gKi9cbi5jaGVja291dC1tb2RhbF9fYWxlcnQge1xuICAgIG1hcmdpbi10b3A6IDE4cHg7XG4gICAgcGFkZGluZzogMTJweCAxNnB4O1xuICAgIGZvbnQtc2l6ZTogMC45cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBib3JkZXItbGVmdC13aWR0aDogNHB4O1xufVxuLmNoZWNrb3V0LW1vZGFsX19hbGVydC0tZXJyb3Ige1xuICAgIGJhY2tncm91bmQ6ICNmZWYyZjI7XG4gICAgYm9yZGVyLWNvbG9yOiAjZmNhNWE1O1xuICAgIGNvbG9yOiAjOTkxYjFiO1xufVxuLmNoZWNrb3V0LW1vZGFsX19hbGVydC0taW5mbyB7XG4gICAgYmFja2dyb3VuZDogI2VmZjZmZjtcbiAgICBib3JkZXItY29sb3I6ICM5M2M1ZmQ7XG4gICAgY29sb3I6ICMxZTNhOGE7XG59XG4uY2hlY2tvdXQtbW9kYWxfX2FsZXJ0LS1zdWNjZXNzIHtcbiAgICBiYWNrZ3JvdW5kOiAjZWNmZGY1O1xuICAgIGJvcmRlci1jb2xvcjogIzM0ZDM5OTtcbiAgICBjb2xvcjogIzA2NWY0Njtcbn1cbi5jaGVja291dC1tb2RhbF9fYWxlcnQgYSB7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgIC5jaGVja291dC1tb2RhbF9fY29sICsgLmNoZWNrb3V0LW1vZGFsX19jb2wtLXJpZ2h0IHtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDA7XG4gICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZTVlN2ViO1xuICAgIH1cbiAgICAuY2hlY2tvdXQtbW9kYWxfX2JvZHkge1xuICAgICAgICBwYWRkaW5nOiAyMHB4O1xuICAgIH1cbn1cblxuLyog4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4gICBCdW5kbGUgcGFnZXMgKEdvb2dsZSBXb3Jrc3BhY2UgLyBNaWNyb3NvZnQgT2ZmaWNlIC8gQWRvYmUgR3JhcGhpYyAvXG4gICBBZG9iZSBWaXN1YWwpLiBPbmUgdGVtcGxhdGUsIDQgdGhlbWVzIOKAlCBiYW5uZXIgY29sb3IgaXMgc2V0IGlubGluZVxuICAgZnJvbSB0aGUgY29udHJvbGxlciBjb25maWcgc28gd2UgZG9uJ3QgbmVlZCA0IG5lYXJseS1pZGVudGljYWxcbiAgIHN0eWxlc2hlZXRzLiBQZXItdGhlbWUgYWNjZW50cyAoY2VydCBjYXJkIGJhbmQpIGxpdmUgYmVsb3cuXG4gICDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIAgKi9cbi5idW5kbGVfX2Jhbm5lciB7XG4gICAgcGFkZGluZzogNTZweCBjbGFtcCgxNnB4LCA0dncsIDY0cHgpO1xufVxuLmJ1bmRsZV9fdGl0bGUge1xuICAgIGNvbG9yOiAjMGYxNzJhO1xuICAgIGZvbnQtc2l6ZTogY2xhbXAoMS43NXJlbSwgMS4ycmVtICsgMi40dncsIDIuNzVyZW0pO1xuICAgIG1hcmdpbjogMDtcbn1cbi5idW5kbGVfX2Jhbm5lci1sb2dvIHtcbiAgICBtYXgtd2lkdGg6IDI4MHB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbi8qIDItY29sIGxheW91dDogc3RpY2t5IHNpZGViYXIgKyBzY3JvbGxhYmxlIG1haW4gKi9cbi5idW5kbGUtcGFnZSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWFnZXMvYnVuZGxlcy9iZy0wMS5qcGcnKTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IHRvcCBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICBiYWNrZ3JvdW5kLWF0dGFjaG1lbnQ6IGZpeGVkO1xufVxuLyogRnVsbC13aWR0aCBjb250YWluZXIgc2NvcGVkIHRvIGJ1bmRsZSBwYWdlcyBvbmx5IOKAlCBsZWF2ZXMgdGhlIGdsb2JhbFxuICAgLmNvbnRhaW5lci14bCB1bnRvdWNoZWQgKGhlYWRlciwgZm9vdGVyLCBvdGhlciBwYWdlcyBrZWVwIDExNDBweCkuICovXG4uYnVuZGxlLXBhZ2UgLmNvbnRhaW5lci14bCB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmctbGVmdDogY2xhbXAoMTZweCwgNHZ3LCA2NHB4KTtcbiAgICBwYWRkaW5nLXJpZ2h0OiBjbGFtcCgxNnB4LCA0dncsIDY0cHgpO1xufVxuLmJ1bmRsZS1wYWdlX19tYWluIHtcbiAgICBtaW4td2lkdGg6IDA7XG4gICAgcGFkZGluZy1ib3R0b206IDMycHg7XG59XG5cbi5idW5kbGUtc2lkZSB7XG4gICAgcG9zaXRpb246IHN0aWNreTtcbiAgICB0b3A6IDg4cHg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogMjBweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMzJweDtcbn1cblxuLmJ1bmRsZS1zaWRlX19jYXJkIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgYm94LXNoYWRvdzogMCA0cHggMThweCByZ2JhKDMwLCAzMCwgNjAsIDAuMDYpO1xuICAgIHBhZGRpbmc6IDIycHggMjRweDtcbn1cblxuLmJ1bmRsZS1zaWRlX19jYXJkLXRpdGxlIHtcbiAgICBjb2xvcjogdmFyKC0tdG9zYS1ibHVlKTtcbiAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBtYXJnaW46IDAgMCAxMnB4O1xuICAgIHBhZGRpbmctYm90dG9tOiAxMHB4O1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZTNlNGVmO1xufVxuXG4uYnVuZGxlLXNpZGVfX2xpbmstbGlzdCxcbi5idW5kbGUtc2lkZV9fYnVsbGV0LWxpc3Qge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDA7XG59XG4uYnVuZGxlLXNpZGVfX2xpbmstbGlzdCBsaSxcbi5idW5kbGUtc2lkZV9fYnVsbGV0LWxpc3QgbGkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nOiA2cHggMCA2cHggMjBweDtcbiAgICBmb250LXNpemU6IDAuOTVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuNDU7XG59XG4uYnVuZGxlLXNpZGVfX2xpbmstbGlzdCBsaTo6YmVmb3JlLFxuLmJ1bmRsZS1zaWRlX19idWxsZXQtbGlzdCBsaTo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIuKAulwiO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAwO1xuICAgIHRvcDogNXB4O1xuICAgIGNvbG9yOiB2YXIoLS10b3NhLWJsdWUpO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgZm9udC1zaXplOiAxLjFyZW07XG59XG4uYnVuZGxlLXNpZGVfX2xpbmstbGlzdCBhIHtcbiAgICBjb2xvcjogdmFyKC0tdG9zYS1vcmFuZ2UpO1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIHRleHQtdW5kZXJsaW5lLW9mZnNldDogM3B4O1xufVxuLmJ1bmRsZS1zaWRlX19saW5rLWxpc3QgYTpob3ZlciB7IGNvbG9yOiAjZDYzZDA5OyB9XG5cbi5idW5kbGUtc2lkZV9fc3ViLWxpc3Qge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDRweCAwIDA7XG59XG4uYnVuZGxlLXNpZGVfX3N1Yi1saXN0IGxpIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZzogMnB4IDAgMnB4IDE0cHg7XG4gICAgZm9udC1zaXplOiAwLjlyZW07XG4gICAgY29sb3I6ICM0YjU1NjM7XG59XG4uYnVuZGxlLXNpZGVfX3N1Yi1saXN0IGxpOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwi4oCiXCI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDJweDtcbiAgICB0b3A6IDFweDtcbiAgICBjb2xvcjogdmFyKC0tdG9zYS1vcmFuZ2UpO1xuICAgIGZvbnQtc2l6ZTogMC44NXJlbTtcbn1cblxuLmJ1bmRsZS1zaWRlX19sYW5nLXBpbGxzIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBnYXA6IDhweDtcbn1cbi5idW5kbGUtc2lkZV9fbGFuZy1waWxsIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZDlkYWU2O1xuICAgIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgICBwYWRkaW5nOiA2cHggMTRweDtcbiAgICBmb250LXNpemU6IDAuOXJlbTtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xufVxuXG4vKiAuY3RhLWJ0biBpcyBub3dyYXAgYnkgZGVmYXVsdCDigJQgd3JhcCBsb25nIGxhYmVscyBpbnNpZGUgdGhlIG5hcnJvdyBzaWRlYmFyIGNvbHVtbi4gKi9cbi5idW5kbGUtc2lkZV9fY3RhIHtcbiAgICBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0O1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG59XG5cblxuQG1lZGlhIChtYXgtd2lkdGg6IDk5MS45OHB4KSB7XG4gICAgLmJ1bmRsZS1zaWRlIHtcbiAgICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMzJweDtcbiAgICB9XG4gICAgLmJ1bmRsZS1wYWdlX19tYWluIHtcbiAgICAgICAgbWF4LWhlaWdodDogbm9uZTtcbiAgICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgfVxufVxuXG4vKiBWYWxpZGF0ZSBNYXN0ZXJ5ICovXG4uYnVuZGxlLW1hc3RlcnkgeyBiYWNrZ3JvdW5kOiAjZmZmOyB9XG4uYnVuZGxlLW1hc3RlcnlfX3RpdGxlIHtcbiAgICBjb2xvcjogIzFhMWExYTtcbiAgICBmb250LXNpemU6IGNsYW1wKDJyZW0sIDMuNXZ3LCAyLjc1cmVtKTtcbiAgICBsaW5lLWhlaWdodDogMS4xNTtcbn1cbi5idW5kbGUtbWFzdGVyeV9faW50cm8ge1xuICAgIGNvbG9yOiAjNGI1NTYzO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjY7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xufVxuLmJ1bmRsZS1wcm9kdWN0IHtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIGJveC1zaGFkb3c6IDAgNHB4IDE4cHggcmdiYSgzMCwgMzAsIDYwLCAwLjA4KTtcbiAgICBwYWRkaW5nOiAzMnB4IDI0cHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGhlaWdodDogMTAwJTtcbn1cbi5idW5kbGUtcHJvZHVjdF9faWNvbiB7XG4gICAgd2lkdGg6IDY0cHg7XG4gICAgaGVpZ2h0OiA2NHB4O1xuICAgIG1hcmdpbjogMCBhdXRvIDE2cHg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuLmJ1bmRsZS1wcm9kdWN0X19pY29uIGltZyB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgb2JqZWN0LWZpdDogY29udGFpbjtcbn1cbi5idW5kbGUtcHJvZHVjdF9fbmFtZSB7XG4gICAgY29sb3I6ICMwZjE3MmE7XG4gICAgZm9udC1zaXplOiAxLjFyZW07XG4gICAgbWFyZ2luOiAwIDAgMTJweDtcbn1cbi5idW5kbGUtcHJvZHVjdF9fbGluayB7XG4gICAgY29sb3I6IHZhcigtLXRvc2Etb3JhbmdlKTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBmb250LXNpemU6IDAuOXJlbTtcbn1cbi5idW5kbGUtcHJvZHVjdF9fbGluazpob3ZlciB7IHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG5cbi8qIENyZWRlbnRpYWwgUmVxdWlyZW1lbnRzICovXG4uYnVuZGxlLXJlcXMgeyBiYWNrZ3JvdW5kOiAjZjhmYWZjOyB9XG4uYnVuZGxlLXJlcXNfX3RpdGxlIHtcbiAgICBjb2xvcjogIzFhMWExYTtcbiAgICBmb250LXNpemU6IGNsYW1wKDJyZW0sIDMuNXZ3LCAyLjc1cmVtKTtcbiAgICBsaW5lLWhlaWdodDogMS4xNTtcbn1cbi5idW5kbGUtcmVxc19faW50cm8ge1xuICAgIGNvbG9yOiAjNGI1NTYzO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjY7XG4gICAgbWF4LXdpZHRoOiA4MjBweDtcbn1cbi5idW5kbGUtcmVxc19fdGllci10aXRsZSB7XG4gICAgY29sb3I6ICMwZjE3MmE7XG4gICAgZm9udC1zaXplOiAxLjE1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgbWFyZ2luOiAwIDAgMTJweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogOHB4O1xuICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCB2YXIoLS10b3NhLW9yYW5nZSk7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbn1cbi5idW5kbGUtcmVxc19fbGlzdCB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogMDtcbiAgICBjb2xvcjogIzM3NDE1MTtcbiAgICBmb250LXNpemU6IDAuOTVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuNztcbn1cbi5idW5kbGUtcmVxc19fbGlzdCBsaSB7XG4gICAgcGFkZGluZy1sZWZ0OiAxNnB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbi5idW5kbGUtcmVxc19fbGlzdCBsaTo6YmVmb3JlIHtcbiAgICBjb250ZW50OiAn4oC6JztcbiAgICBjb2xvcjogdmFyKC0tdG9zYS1vcmFuZ2UpO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAwO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG59XG5cbi8qIExldmVsIHN1bW1hcnkgY2FyZHMgKEV4cGVyaWVuY2VkICsgUHJvZmVzc2lvbmFsIHdpdGggYW5pbWF0ZWQgaWNvbnMpICovXG4uYnVuZGxlLWxldmVscyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogMTZweDtcbn1cbi5idW5kbGUtbGV2ZWxzX19jYXJkIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogODBweCAxZnI7XG4gICAgZ2FwOiAxOHB4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICBib3gtc2hhZG93OiAwIDRweCAxOHB4IHJnYmEoMzAsIDMwLCA2MCwgMC4wNik7XG4gICAgcGFkZGluZzogMjBweCAyNHB4O1xufVxuLmJ1bmRsZS1sZXZlbHNfX2ljb24ge1xuICAgIHdpZHRoOiA2NHB4O1xuICAgIGhlaWdodDogNjRweDtcbiAgICBvYmplY3QtZml0OiBjb250YWluO1xufVxuLmJ1bmRsZS1sZXZlbHNfX3RpdGxlIHtcbiAgICBjb2xvcjogdmFyKC0tdG9zYS1ibHVlKTtcbiAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgbWFyZ2luOiAwIDAgNnB4O1xufVxuLmJ1bmRsZS1sZXZlbHNfX3RleHQge1xuICAgIGNvbG9yOiAjNGI1NTYzO1xuICAgIGZvbnQtc2l6ZTogMC45NXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS41O1xufVxuXG4vKiBDZXJ0IGNhcmRzIChFeHBlcmllbmNlZCArIFByb2Zlc3Npb25hbCkgKi9cbi5idW5kbGUtY2VydCB7IGJhY2tncm91bmQ6ICNmZmY7IH1cbi5idW5kbGUtY2VydC0tZXhwZXJpZW5jZWQgeyBiYWNrZ3JvdW5kOiAjZjhmYWZjOyB9XG4uYnVuZGxlLWNlcnRfX2hlYWRpbmcge1xuICAgIGNvbG9yOiB2YXIoLS10b3NhLWJsdWUpO1xuICAgIGZvbnQtc2l6ZTogMS40cmVtO1xufVxuLmJ1bmRsZS1jZXJ0X19pbnRybyB7XG4gICAgY29sb3I6ICM0YjU1NjM7XG4gICAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgICBtYXgtd2lkdGg6IDgyMHB4O1xufVxuLmJ1bmRsZS1jZXJ0X19jYXJkIHtcbiAgICBtYXgtd2lkdGg6IDU0MHB4O1xuICAgIG1hcmdpbjogMjRweCBhdXRvIDA7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZTVlN2ViO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG59XG4uYnVuZGxlLWNlcnRfX3NhbXBsZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBtYXJnaW46IDI0cHggYXV0byAwO1xuICAgIGJveC1zaGFkb3c6IDAgNnB4IDI0cHggcmdiYSgzMCwgMzAsIDYwLCAwLjA4KTtcbn1cbi5idW5kbGUtY2VydF9fY2FyZC1iYW5kIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS10b3NhLWJsdWUpO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIHBhZGRpbmc6IDE0cHggMjRweDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBmb250LXNpemU6IDAuOTVyZW07XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMDRlbTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuLmJ1bmRsZS1jZXJ0X19jYXJkLWJhbmQtLXBybyB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tdG9zYS1vcmFuZ2UpO1xufVxuLmJ1bmRsZS1jZXJ0X19jYXJkLWJvZHkge1xuICAgIHBhZGRpbmc6IDM2cHggMjRweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogOHB4O1xufVxuLmJ1bmRsZS1jZXJ0X19jYXJkLW5hbWUge1xuICAgIGNvbG9yOiAjMGYxNzJhO1xuICAgIGZvbnQtc2l6ZTogMS40cmVtO1xufVxuLmJ1bmRsZS1jZXJ0X19jYXJkLXRpZXIge1xuICAgIGNvbG9yOiAjNmI3MjgwO1xuICAgIGZvbnQtc2l6ZTogMC45NXJlbTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjA2ZW07XG59XG5cbi8qIFNraWxscyBCYWRnZXMgd2l0aCBDcmVkbHkgKi9cbi5idW5kbGUtYmFkZ2VzIHsgYmFja2dyb3VuZDogI2ZmZjsgfVxuLmJ1bmRsZS1iYWRnZXNfX3RpdGxlIHtcbiAgICBjb2xvcjogdmFyKC0tdG9zYS1ibHVlKTtcbiAgICBmb250LXNpemU6IDEuNXJlbTtcbn1cbi5idW5kbGUtYmFkZ2VzX19pbnRybyB7XG4gICAgY29sb3I6ICM0YjU1NjM7XG4gICAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgICBtYXgtd2lkdGg6IDgyMHB4O1xufVxuLmJ1bmRsZS1iYWRnZSB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICBwYWRkaW5nOiAyNHB4IDIycHg7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDIwcHg7XG59XG4uYnVuZGxlLWJhZGdlX19saW5rIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGNvbG9yOiBpbmhlcml0O1xufVxuLmJ1bmRsZS1iYWRnZV9fbGluazpob3ZlciAuYnVuZGxlLWJhZGdlX19sYWJlbCB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG4uYnVuZGxlLWJhZGdlX19pbWcge1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIHdpZHRoOiA5NnB4O1xuICAgIGhlaWdodDogOTZweDtcbiAgICBvYmplY3QtZml0OiBjb250YWluO1xufVxuLmJ1bmRsZS1iYWRnZV9fbGFiZWwge1xuICAgIG1hcmdpbjogMDtcbiAgICBjb2xvcjogdmFyKC0tdG9zYS1vcmFuZ2UpO1xuICAgIGZvbnQtc2l6ZTogMS4wNXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS4zO1xufVxuXG4vKiBTdGFja2FibGUgQ3JlZGVudGlhbHMgKi9cbi5idW5kbGUtc3RhY2tfX3RpdGxlIHtcbiAgICBjb2xvcjogIzFhMWExYTtcbiAgICBmb250LXNpemU6IGNsYW1wKDJyZW0sIDMuNXZ3LCAyLjc1cmVtKTtcbiAgICBsaW5lLWhlaWdodDogMS4xNTtcbn1cbi5idW5kbGUtc3RhY2tfX2ludHJvIHtcbiAgICBjb2xvcjogIzRiNTU2MztcbiAgICBsaW5lLWhlaWdodDogMS42O1xuICAgIG1heC13aWR0aDogODIwcHg7XG59XG4uYnVuZGxlLXN0YWNrX19pbWcge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogOTQwcHg7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbjogMCBhdXRvO1xufVxuXG4vKiBBbGlnbmVkIE9jY3VwYXRpb25zICovXG4uYnVuZGxlLWpvYnNfX3RpdGxlIHtcbiAgICBjb2xvcjogIzFhMWExYTtcbiAgICBmb250LXNpemU6IGNsYW1wKDJyZW0sIDMuNXZ3LCAyLjc1cmVtKTtcbiAgICBsaW5lLWhlaWdodDogMS4xNTtcbn1cbi5idW5kbGUtam9ic19fbGlzdCB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogMDtcbiAgICBjb2x1bW5zOiAyO1xuICAgIGNvbHVtbi1nYXA6IDQ4cHg7XG59XG4uYnVuZGxlLWpvYnNfX2xpc3QgbGkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nOiA4cHggMCA4cHggMjRweDtcbiAgICBmb250LXNpemU6IDAuOTVyZW07XG4gICAgY29sb3I6ICMxZjI5Mzc7XG4gICAgYnJlYWstaW5zaWRlOiBhdm9pZDtcbn1cbi5idW5kbGUtam9ic19fbGlzdCBsaTo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAwO1xuICAgIHRvcDogMTRweDtcbiAgICB3aWR0aDogMTBweDtcbiAgICBoZWlnaHQ6IDEwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLXRvc2Etb3JhbmdlKTtcbn1cbi5idW5kbGUtam9ic19fZm9vdGVyIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmcjtcbiAgICBjb2x1bW4tZ2FwOiA0OHB4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgbWFyZ2luLXRvcDogMzJweDtcbn1cbi5idW5kbGUtam9ic19fZm9vdGVyIC5jdGEtYnRuIHsgbWFyZ2luOiAwOyB9XG5cbi5idW5kbGUtam9ic19fY2UtbGluayB7XG4gICAganVzdGlmeS1zZWxmOiBzdGFydDtcbiAgICBjb2xvcjogdmFyKC0tdG9zYS1vcmFuZ2UpO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgdGV4dC11bmRlcmxpbmUtb2Zmc2V0OiAzcHg7XG59XG4uYnVuZGxlLWpvYnNfX2NlLWxpbms6aG92ZXIgeyBjb2xvcjogI2Q2M2QwOTsgfVxuLmJ1bmRsZS1qb2JzX19jcmVkZW50aWFsIHtcbiAgICBtYXgtd2lkdGg6IDIyMHB4O1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBvYmplY3QtZml0OiBjb250YWluO1xuICAgIGp1c3RpZnktc2VsZjogc3RhcnQ7XG59XG5AbWVkaWEgKG1heC13aWR0aDogNTc1Ljk4cHgpIHtcbiAgICAuYnVuZGxlLWpvYnNfX2Zvb3RlciB7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyOyByb3ctZ2FwOiAxNnB4OyB9XG4gICAgLmJ1bmRsZS1qb2JzX19jcmVkZW50aWFsIHsganVzdGlmeS1zZWxmOiBjZW50ZXI7IH1cbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA1NzUuOThweCkge1xuICAgIC5idW5kbGUtam9ic19fbGlzdCB7IGNvbHVtbnM6IDE7IH1cbn1cblxuLyogUmVhZHkgdG8gU3RhcnQgQ2VydGlmeWluZyDigJQgcmV1c2VzIHNlY3Rpb25zL2NlcnRfcmVhZHkuaHRtbC50d2lnICovXG5cbi8qIENvbXBhY3QgbmV3c2xldHRlciBvbiBidW5kbGUgcGFnZXMg4oCUIG92ZXJyaWRlcyB0aGUgZ2xvYmFsIHB5LTUgcGFkZGluZ1xuICAgYW5kIHRoZSBpbm5lciBjb250YWluZXIncyBweS01ICsgbWItNSBzcGFjaW5nIHdpdGhvdXQgdG91Y2hpbmcgdGhlXG4gICBzaGFyZWQgc2VjdGlvbnMvbmV3c2xldHRlci5odG1sLnR3aWcgdGVtcGxhdGUuICovXG4uYnVuZGxlLW5ld3NsZXR0ZXItd3JhcCAubmV3c2xldHRlciB7XG4gICAgcGFkZGluZy10b3A6IDJyZW07XG4gICAgcGFkZGluZy1ib3R0b206IDJyZW07XG59XG4uYnVuZGxlLW5ld3NsZXR0ZXItd3JhcCAubmV3c2xldHRlciA+IC5jb250YWluZXIteGwge1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xufVxuLmJ1bmRsZS1uZXdzbGV0dGVyLXdyYXAgLm5ld3NsZXR0ZXIgLnRleHQtY2VudGVyLm1iLTUge1xuICAgIG1hcmdpbi1ib3R0b206IDEuNXJlbSAhaW1wb3J0YW50O1xufVxuXG46cm9vdCB7XG4gICAgLS1mcy1jYXJkLXRpdGxlOiAxLjVyZW07XG4gICAgLS1mcy1jYXJkLXRleHQ6IDEuMDYyNXJlbTtcbiAgICAtLWZzLWNhcmQtbGFiZWw6IDAuOTVyZW07XG59XG5cbi5zZXJ2ZS1jYXJkX190aXRsZSxcbi5wbGF0Zm9ybS1mZWF0dXJlX190aXRsZSxcbi53aHktY2FyZF9fdGl0bGUsXG4uY2VydC11bmlxdWVfX3RpdGxlLFxuLmNlcnQtcmVhZHlfX3RpdGxlLFxuLmV4cGVydGlzZS1jYXJkX190aXRsZSxcbi5kZWxpdmVyLWNhcmRfX3RpdGxlLFxuLmhlLWZlYXR1cmVzX190aXRsZSB7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mcy1jYXJkLXRpdGxlKTtcbiAgICBsaW5lLWhlaWdodDogMS4yNTtcbn1cblxuLnBsYXRmb3JtLWZlYXR1cmVfX3RleHQsXG4ud2h5LWNhcmRfX3RleHQsXG4uY2VydC11bmlxdWVfX2Rlc2MsXG4uY2VydC1yZWFkeV9fdGV4dCxcbi5oZS1mZWF0dXJlc19fdGV4dCB7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mcy1jYXJkLXRleHQpO1xufVxuXG4uY2VydGlmeS1jYXJkX19sYWJlbCxcbi5jZXJ0LW9mZmVyaW5nc19fYXBwLW5hbWUge1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZnMtY2FyZC1sYWJlbCk7XG59XG5cbi8qIOKUgOKUgCBBcHBsaWNhdGlvbi1yZXF1aXJlbWVudHMgbW9kYWwgKHNoYXJlZDogSUxMIGNvdXJzZSBzZWxlY3RvciArIE9ubGluZSBTdG9yZSBlLWxlYXJuaW5nIHBhY2tzKSDilIDilIAgKi9cbi5jdy1tb2RhbF9fY29udGVudCB7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDEycHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cbi5jdy1tb2RhbF9faGVhZGVyIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS10b3NhLXRlYWwpO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgcGFkZGluZzogMjBweCAyNHB4O1xufVxuLmN3LW1vZGFsX19leWVicm93IHtcbiAgICBmb250LXNpemU6IDAuNzhyZW07XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjA4ZW07XG4gICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43NSk7XG4gICAgbWFyZ2luLWJvdHRvbTogMnB4O1xufVxuLmN3LW1vZGFsX190aXRsZSB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBmb250LXNpemU6IDEuM3JlbTtcbiAgICBtYXJnaW46IDA7XG59XG4uY3ctbW9kYWxfX2Nsb3NlIHsgbWFyZ2luOiAwOyB9XG5cbi5jdy1tb2RhbF9fYm9keSB7IHBhZGRpbmc6IDI0cHg7IH1cbi5jdy1tb2RhbF9fbGVhZCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICBnYXA6IDE0cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMjJweDtcbn1cbi5jdy1tb2RhbF9fbGVhZC1pY29uIHtcbiAgICB3aWR0aDogNDBweDtcbiAgICBoZWlnaHQ6IDQwcHg7XG4gICAgb2JqZWN0LWZpdDogY29udGFpbjtcbiAgICBmbGV4OiAwIDAgYXV0bztcbn1cbi5jdy1tb2RhbF9faW50cm8ge1xuICAgIGNvbG9yOiAjMmQyZDNhO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG59XG4uY3ctbW9kYWxfX2FwcCB7IGZvbnQtd2VpZ2h0OiA3MDA7IH1cblxuLmN3LW1vZGFsX19zdWJoZWFkIHtcbiAgICBjb2xvcjogdmFyKC0tdG9zYS10ZWFsKTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGZvbnQtc2l6ZTogMC45NXJlbTtcbiAgICBtYXJnaW46IDIwcHggMCAxMHB4O1xufVxuLmN3LW1vZGFsX19yZXFzIHtcbiAgICBsaXN0LXN0eWxlOiBkaXNjO1xuICAgIGJhY2tncm91bmQ6ICNmMWYzZjQ7XG4gICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAxNHB4IDIwcHggMTRweCAzOHB4O1xuICAgIGNvbG9yOiAjMmQyZDNhO1xufVxuLmN3LW1vZGFsX19yZXFzIGxpIHsgbWFyZ2luLWJvdHRvbTogNHB4OyBsaW5lLWhlaWdodDogMS40NTsgfVxuLmN3LW1vZGFsX19yZXFzIGxpOmxhc3QtY2hpbGQgeyBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi5jdy1tb2RhbF9fc3RlcHMge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgY291bnRlci1yZXNldDogY3ctc3RlcDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogMDtcbn1cbi5jdy1tb2RhbF9fc3RlcHMgbGkge1xuICAgIGNvdW50ZXItaW5jcmVtZW50OiBjdy1zdGVwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nLWxlZnQ6IDQwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMTJweDtcbiAgICBtaW4taGVpZ2h0OiAyNnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjQ1O1xuICAgIGNvbG9yOiAjMmQyZDNhO1xufVxuLmN3LW1vZGFsX19zdGVwcyBsaTpsYXN0LWNoaWxkIHsgbWFyZ2luLWJvdHRvbTogMDsgfVxuLmN3LW1vZGFsX19zdGVwcyBsaTo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBjb3VudGVyKGN3LXN0ZXApO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAwO1xuICAgIHRvcDogMDtcbiAgICB3aWR0aDogMjZweDtcbiAgICBoZWlnaHQ6IDI2cHg7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLXRvc2EtdGVhbCk7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGZvbnQtc2l6ZTogMC44cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG59XG4uY3ctbW9kYWxfX25vdGUge1xuICAgIGJhY2tncm91bmQ6ICNlOGY0ZjQ7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2JmZTBlMDtcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgcGFkZGluZzogMTJweCAxNnB4O1xuICAgIGZvbnQtc2l6ZTogMC44NXJlbTtcbiAgICBjb2xvcjogIzJhNGE0YTtcbiAgICBsaW5lLWhlaWdodDogMS40NTtcbiAgICBtYXJnaW4tdG9wOiAxNnB4O1xufVxuLmN3LW1vZGFsX19oZWxwIHtcbiAgICBmb250LXNpemU6IDAuODVyZW07XG4gICAgY29sb3I6ICM2YTZhNzg7XG4gICAgbWFyZ2luOiAyMHB4IDAgMDtcbn1cbi5jdy1tb2RhbF9faGVscCBhIHsgY29sb3I6IHZhcigtLXRvc2EtdGVhbCk7IH1cblxuLmN3LW1vZGFsX19mb290ZXIge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgZ2FwOiAxNnB4O1xuICAgIGJhY2tncm91bmQ6ICNmN2Y4Zjk7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNlM2U2ZTg7XG4gICAgcGFkZGluZzogMThweCAyNHB4O1xufVxuLmN3LW1vZGFsX19jb25maXJtIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgIGdhcDogMTBweDtcbiAgICBmb250LXNpemU6IDAuODVyZW07XG4gICAgY29sb3I6ICMyZDJkM2E7XG4gICAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgICBtYXJnaW46IDA7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xufVxuLmN3LW1vZGFsX19jb25maXJtIGlucHV0IHsgbWFyZ2luLXRvcDogMnB4OyBmbGV4OiAwIDAgYXV0bzsgfVxuLmN3LW1vZGFsX19hY3Rpb25zIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgZ2FwOiAxMnB4O1xufVxuLmN3LW1vZGFsX19idG4ge1xuICAgIGJvcmRlcjogMDtcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgcGFkZGluZzogMTBweCAyMnB4O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgZm9udC1zaXplOiAwLjkycmVtO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDZweDtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMThzIGVhc2UsIGJhY2tncm91bmQgMC4xOHMgZWFzZTtcbn1cbi5jdy1tb2RhbF9fYnRuLS1naG9zdCB7IGJhY2tncm91bmQ6ICMwYzJhMmI7IGNvbG9yOiAjZmZmOyB9XG4uY3ctbW9kYWxfX2J0bi0tZ2hvc3Q6aG92ZXIgeyBiYWNrZ3JvdW5kOiAjMDgyMDIwOyBjb2xvcjogI2ZmZjsgfVxuLmN3LW1vZGFsX19idG4tLW9yYW5nZSB7IGJhY2tncm91bmQ6IHZhcigtLXRvc2Etb3JhbmdlKTsgY29sb3I6ICNmZmY7IH1cbi5jdy1tb2RhbF9fYnRuLS1vcmFuZ2U6aG92ZXIgeyBiYWNrZ3JvdW5kOiAjZDYzZjBjOyBjb2xvcjogI2ZmZjsgfVxuLmN3LW1vZGFsX19idG4uaXMtZGlzYWJsZWQge1xuICAgIG9wYWNpdHk6IDAuNDU7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA1NzZweCkge1xuICAgIC5jdy1tb2RhbF9fZm9vdGVyIHsgZmxleC1kaXJlY3Rpb246IHJvdzsgYWxpZ24taXRlbXM6IGNlbnRlcjsganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG4gICAgLmN3LW1vZGFsX19jb25maXJtIHsgbWF4LXdpZHRoOiA2MCU7IH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSBhbmQgKG1heC13aWR0aDogMTQ3OS45OHB4KSB7XG4gICAgLmNlcnQtdGVzdGluZy1jZW50ZXJfX2JvZHkge1xuICAgICAgICBwYWRkaW5nOiA2MHB4IDQ4cHg7XG4gICAgfVxuICAgIC5oZS1iYW5uZXI6OmFmdGVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDkwZGVnLCByZ2JhKDI1NSwyNTUsMjU1LDAuOTUpIDAlLCByZ2JhKDI1NSwyNTUsMjU1LDAuODgpIDQ1JSwgcmdiYSgyNTUsMjU1LDI1NSwwLjU1KSA2NSUsIHJnYmEoMjU1LDI1NSwyNTUsMCkgODIlKTtcbiAgICB9XG4gICAgLm5hdmJhciAubmF2YmFyLWJyYW5kIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwLjc1cmVtICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIC5uYXZiYXIgLm5hdmJhci1icmFuZCBpbWcge1xuICAgICAgICBoZWlnaHQ6IDI4cHg7XG4gICAgfVxuICAgIC5uYXZiYXIgLm5hdmJhci1uYXYgLm5hdi1saW5rLFxuICAgIC5uYXZiYXIgLm5hdmJhci1uYXYgLm1lbnViYXJfX2xpbmsge1xuICAgICAgICBwYWRkaW5nOiAxLjVyZW0gMC42cmVtO1xuICAgICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIH1cbiAgICAubWVudWJhcl9fYWN0aW9ucyB7XG4gICAgICAgIG1pbi13aWR0aDogMDtcbiAgICB9XG4gICAgLm1lbnViYXJfX3NlYXJjaCB7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBmbGV4OiAxIDEgMTIwcHg7XG4gICAgICAgIG1pbi13aWR0aDogOTBweDtcbiAgICAgICAgbWF4LXdpZHRoOiAxODBweDtcbiAgICB9XG4gICAgLm1lbnViYXJfX2N0YS1idG4ge1xuICAgICAgICBwYWRkaW5nOiAxMHB4IDE0cHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICAgIH1cbiAgICAubWVudWJhcl9fYWN0aW9ucyAubG9naW4taGVhZGVyX19sYW5nLWJ0biB7XG4gICAgICAgIHBhZGRpbmc6IDZweCA0cHg7XG4gICAgICAgIGdhcDogNnB4O1xuICAgIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkgYW5kIChtYXgtd2lkdGg6IDE2OTkuOThweCkge1xuICAgIC5uYXZiYXIgLm5hdmJhci1icmFuZCB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMC43NXJlbSAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAubmF2YmFyIC5uYXZiYXItYnJhbmQgaW1nIHtcbiAgICAgICAgaGVpZ2h0OiAyOHB4O1xuICAgIH1cbiAgICAubmF2YmFyIC5uYXZiYXItbmF2IC5uYXYtbGluayxcbiAgICAubmF2YmFyIC5uYXZiYXItbmF2IC5tZW51YmFyX19saW5rIHtcbiAgICAgICAgcGFkZGluZzogMS41cmVtIDAuNXJlbTtcbiAgICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB9XG4gICAgLm1lbnViYXJfX2FjdGlvbnMge1xuICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgICAgIGdhcDogMC43NXJlbSAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAubWVudWJhcl9fc2VhcmNoIHtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIGZsZXg6IDEgMSAxMjBweDtcbiAgICAgICAgbWluLXdpZHRoOiA5MHB4O1xuICAgICAgICBtYXgtd2lkdGg6IDE4MHB4O1xuICAgIH1cbiAgICAubWVudWJhcl9fY3RhLWJ0biB7XG4gICAgICAgIHBhZGRpbmc6IDEwcHggMTJweDtcbiAgICAgICAgZm9udC1zaXplOiAwLjc4MTI1cmVtO1xuICAgIH1cbiAgICAubWVudWJhcl9fYWN0aW9ucyAubG9naW4taGVhZGVyX19sYW5nLWJ0biB7XG4gICAgICAgIHBhZGRpbmc6IDZweCA0cHg7XG4gICAgICAgIGdhcDogNnB4O1xuICAgIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSBhbmQgKG1heC13aWR0aDogMTI5OS45OHB4KSB7XG4gICAgLm5hdmJhciAuY29udGFpbmVyLXhsIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxMnB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDEycHggIWltcG9ydGFudDtcbiAgICB9XG4gICAgLm5hdmJhciAubmF2YmFyLWJyYW5kIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwLjI1cmVtICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIC5uYXZiYXIgLm5hdmJhci1icmFuZCBpbWcge1xuICAgICAgICBoZWlnaHQ6IDIycHg7XG4gICAgfVxuICAgIC5uYXZiYXIgLm5hdmJhci1uYXYge1xuICAgICAgICBnYXA6IDAgIWltcG9ydGFudDtcbiAgICB9XG4gICAgLm5hdmJhciAubmF2YmFyLW5hdiAubmF2LWxpbmssXG4gICAgLm5hdmJhciAubmF2YmFyLW5hdiAubWVudWJhcl9fbGluayB7XG4gICAgICAgIHBhZGRpbmc6IDEuNXJlbSAwLjI1cmVtO1xuICAgICAgICBmb250LXNpemU6IDAuNzhyZW07XG4gICAgfVxuICAgIC5tZW51YmFyX19hY3Rpb25zIHtcbiAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgICBnYXA6IDAuMzc1cmVtICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIC5tZW51YmFyX19zZWFyY2gge1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgZmxleDogMSAxIDcwcHg7XG4gICAgICAgIG1pbi13aWR0aDogNzBweDtcbiAgICAgICAgbWF4LXdpZHRoOiAxNDBweDtcbiAgICB9XG4gICAgLm1lbnViYXJfX2N0YS1idG4ge1xuICAgICAgICBwYWRkaW5nOiAxMHB4IDZweDtcbiAgICAgICAgZm9udC1zaXplOiAwLjc4MTI1cmVtO1xuICAgICAgICBnYXA6IDRweDtcbiAgICB9XG4gICAgLm1lbnViYXJfX2FjdGlvbnMgLmxvZ2luLWhlYWRlcl9fbGFuZy1jb2RlIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG59XG5cbi8qIOKUgOKUgCBNb2JpbGUgZml4ZXMg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAICovXG5AbWVkaWEgKG1heC13aWR0aDogOTkxLjk4cHgpIHtcbiAgICBib2R5IHtcbiAgICAgICAgb3ZlcmZsb3cteDogY2xpcDtcbiAgICB9XG4gICAgLnJvdy5nLTUge1xuICAgICAgICAtLWJzLWd1dHRlci14OiAycmVtO1xuICAgIH1cbiAgICAuY3RhLWJ0biB7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICB9XG4gICAgLmNlcnQtdGVzdGltb25pYWxfX3ZlY3RvciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICAgIC5oZS1zNSAuaGUtczVfX2NhcmQge1xuICAgICAgICBtYXgtaGVpZ2h0OiBub25lO1xuICAgIH1cbiAgICAuaGUtczRfX3ZpZGVvIHtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICBhc3BlY3QtcmF0aW86IDE2IC8gOTtcbiAgICB9XG4gICAgLmhlLWJhbm5lciB7XG4gICAgICAgIGhlaWdodDogMzAwcHg7XG4gICAgfVxuICAgIC5oZS1jdGFfX2JvZHkge1xuICAgICAgICBwYWRkaW5nOiAzMnB4IDI0cHg7XG4gICAgfVxuICAgIC5jZXJ0LWVudHJ5X19ib2R5LFxuICAgIC5jZXJ0LWVudHJ5LS1yZXZlcnNlIC5jZXJ0LWVudHJ5X19ib2R5IHtcbiAgICAgICAgcGFkZGluZzogMCAyNHB4IDMycHg7XG4gICAgfVxuICAgIC5jZXJ0LXVuaXF1ZV9fdmVjdG9yIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gICAgLmNlcnQtdW5pcXVlX19jYXJkLWlubmVyIHtcbiAgICAgICAgcGFkZGluZzogNDBweCAzMnB4O1xuICAgIH1cbiAgICAuY2VydC1vZmZlcmluZ3NfX3RhYnMge1xuICAgICAgICBnYXA6IDEycHg7XG4gICAgfVxuICAgIC5jZXJ0LW9mZmVyaW5nc19fdGFicyAubmF2LWl0ZW0ge1xuICAgICAgICBmbGV4OiAxIDEgY2FsYyg1MCUgLSA2cHgpO1xuICAgIH1cbiAgICAuY2VydC1vZmZlcmluZ3NfX3RhYnMgLm5hdi1saW5rIHtcbiAgICAgICAgcGFkZGluZzogMTJweCA4cHg7XG4gICAgICAgIGdhcDogNHB4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICAgIH1cbiAgICAuY2VydC1vZmZlcmluZ3NfX3RhYi1sb2dvIHtcbiAgICAgICAgaGVpZ2h0OiA0OHB4O1xuICAgIH1cbiAgICAuY2VydC1vZmZlcmluZ3NfX3RhYi1jaGV2cm9uIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gICAgLmNlcnQtb2ZmZXJpbmdzX190YWJzIC5uYXYtbGluay5hY3RpdmU6OmFmdGVyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gICAgLmNlcnQtdGVzdGluZy1jZW50ZXJfX3JvdyB7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDA7XG4gICAgfVxuICAgIC5jZXJ0LXRlc3RpbmctY2VudGVyX19tZWRpYSB7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDA7XG4gICAgICAgIGFzcGVjdC1yYXRpbzogOTU2IC8gNzIyO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICB9XG4gICAgLmNlcnQtdGVzdGluZy1jZW50ZXJfX2JvZHkge1xuICAgICAgICBwYWRkaW5nOiA0MHB4IDI0cHggNTZweDtcbiAgICB9XG4gICAgLmJlLWhlcm8ge1xuICAgICAgICBhc3BlY3QtcmF0aW86IGF1dG87XG4gICAgICAgIG1heC1oZWlnaHQ6IG5vbmU7XG4gICAgfVxuICAgIC5iZS1oZXJvX19pbm5lciB7XG4gICAgICAgIHBhZGRpbmctdG9wOiA0OHB4O1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogNDhweDtcbiAgICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjcuOThweCkge1xuICAgIC5iZXlvbmQtZGlwbG9tYV9faW1hZ2Utd3JhcHBlciB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgICAuYmV5b25kLWRpcGxvbWFfX2ltYWdlIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogNDgwcHg7XG4gICAgfVxuICAgIC5iZXlvbmQtZGlwbG9tYV9fc3RhdC1jYXJkIHtcbiAgICAgICAgcmlnaHQ6IDhweDtcbiAgICAgICAgYm90dG9tOiA3NXB4O1xuICAgIH1cbiAgICAuY2VydC1vZmZlcmluZ3NfX2NhcmQge1xuICAgICAgICBwYWRkaW5nOiAzMnB4IDI0cHg7XG4gICAgfVxuICAgIC5jZXJ0LW9mZmVyaW5nc19fbG9nby1pdGVtIGltZyB7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgIH1cbiAgICAuY2VydC11bmlxdWVfX2NhcmQge1xuICAgICAgICBwYWRkaW5nOiA1cHg7XG4gICAgfVxuICAgIC5jZXJ0LXVuaXF1ZV9fY2FyZC1pbm5lciB7XG4gICAgICAgIHBhZGRpbmc6IDMycHggMjBweDtcbiAgICB9XG4gICAgLmNlcnQtdW5pcXVlX192ZWN0b3Ige1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgICAuY2VydC11bmlxdWVfX2l0ZW1zIHtcbiAgICAgICAgZ2FwOiAyNHB4O1xuICAgIH1cbiAgICAuY2VydC11bmlxdWVfX2l0ZW0ge1xuICAgICAgICBnYXA6IDE0cHg7XG4gICAgfVxuICAgIC5jZXJ0LXVuaXF1ZV9faWNvbiB7XG4gICAgICAgIHdpZHRoOiA0NHB4O1xuICAgICAgICBoZWlnaHQ6IDQ0cHg7XG4gICAgfVxuICAgIC5jZXJ0LWJ1bmRsZXNfX2lubmVyIHtcbiAgICAgICAgcGFkZGluZzogMTZweCA4cHg7XG4gICAgfVxuICAgIC5jZXJ0LWJ1bmRsZXNfX2dyYXBoaWMge1xuICAgICAgICBwYWRkaW5nOiAyMHB4IDEycHg7XG4gICAgfVxuICAgIC5zdC10YWJsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgfVxuICAgIC5zdC10YWJsZSB0aGVhZCB0aCxcbiAgICAuc3QtdGFibGUgdGJvZHkgdGQge1xuICAgICAgICBwYWRkaW5nOiAxMHB4IDEycHg7XG4gICAgfVxuICAgIC5zdC10YWJsZSB0aCxcbiAgICAuc3QtdGFibGUgdGQge1xuICAgICAgICBvdmVyZmxvdy13cmFwOiBhbnl3aGVyZTtcbiAgICB9XG4gICAgLnN0LXRpZXJfX3RhYmxlLXdyYXAge1xuICAgICAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgIH1cbiAgICAuc3QtdGFibGUtLXR3byB0ZDpmaXJzdC1jaGlsZCxcbiAgICAuc3QtdGFibGUtLWludmVyc2UgdGQ6Zmlyc3QtY2hpbGQge1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICAgIH1cbiAgICAuc3QtdGFibGUtLXN0YWNrIHRoZWFkIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gICAgLnN0LXRhYmxlLS1zdGFjayxcbiAgICAuc3QtdGFibGUtLXN0YWNrIHRib2R5LFxuICAgIC5zdC10YWJsZS0tc3RhY2sgdHIsXG4gICAgLnN0LXRhYmxlLS1zdGFjayB0ZCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgIH1cbiAgICAuc3QtdGFibGUtLXN0YWNrIHRib2R5IHRyIHtcbiAgICAgICAgcGFkZGluZzogOHB4IDA7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZTZlOWYyO1xuICAgIH1cbiAgICAuc3QtdGFibGUtLXN0YWNrIHRib2R5IHRyOm50aC1jaGlsZChldmVuKSB7XG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLXRvc2EtYmx1ZS1saWdodCk7XG4gICAgfVxuICAgIC5zdC10YWJsZS0tc3RhY2sgdGJvZHkgdGQge1xuICAgICAgICBwYWRkaW5nOiA2cHggMTJweDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICB9XG4gICAgLnN0LXRhYmxlLS1zdGFjayB0Ym9keSB0ZFtkYXRhLWxhYmVsXTo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogYXR0cihkYXRhLWxhYmVsKTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGZvbnQtc2l6ZTogMC43MnJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMDNlbTtcbiAgICAgICAgY29sb3I6IHZhcigtLXRvc2EtYmx1ZSk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDJweDtcbiAgICB9XG4gICAgLnN0LXRhYmxlLS1zdGFjayAuc3QtY2VydHNfX2dyb3VwIHRkIHtcbiAgICAgICAgcGFkZGluZzogMTBweCAxMnB4O1xuICAgIH1cbiAgICAuc3QtY3RhICsgLm5ld3NsZXR0ZXIge1xuICAgICAgICBwYWRkaW5nLXRvcDogNzJweCAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAuYmUtcHVyY2hhc2VfX2ZyYW1lIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAuYmUtcHVyY2hhc2VfX2lubmVyIHtcbiAgICAgICAgcGFkZGluZzogMjRweCAxNnB4IDMycHg7XG4gICAgfVxuICAgIC5iZS1zdGVwIHtcbiAgICAgICAgbWluLWhlaWdodDogMDtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgIH1cbiAgICAuaGUtczVfX2JvZHkge1xuICAgICAgICBwYWRkaW5nOiAzMnB4IDI0cHg7XG4gICAgfVxuICAgIC5jZXJ0LW9mZmVyaW5nc19fdGFiLWxvZ28ge1xuICAgICAgICBoZWlnaHQ6IDI4cHg7XG4gICAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNTc1Ljk4cHgpIHtcbiAgICAuc2VydmUtY2FyZF9faWNvbiB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxufVxuXG4vKiDilIDilIDilIDilIAgRlIgc2hhcmVkIHNlY3Rpb25zIChldGFibGlzc2VtZW50IC8gb3JnYW5pc21lIGRlIGZvcm1hdGlvbikg4pSA4pSA4pSA4pSAXG4gICBcIk9mZnJlIGRlIGNlcnRpZmljYXRpb25zIFRvc2FcIjogd2hpdGUgYmFuZCwgeWVsbG93IGNoZXZyb24gdmVjdG9yIHN0dWNrXG4gICB0byB0aGUgbGVmdCBlZGdlLCBsaWdodC1ibHVlIGNhcmQgd2l0aCBhIG5vdGNoZWQgdG9wLXJpZ2h0IGNvcm5lci4gKi9cbi5ldGFiLW9mZmVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xufVxuLmV0YWItb2ZmZXJfX3ZlY3RvciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDA7XG4gICAgdG9wOiAwO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB3aWR0aDogYXV0bztcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cbi5ldGFiLW9mZmVyX19jYXJkIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYmFja2dyb3VuZDogI0UzRjFGNTtcbiAgICAvKiBOYXJyb3dlciBhbmQgdGFsbGVyIHRoYW4gdGhlIG5hdHVyYWwgY29udGFpbmVyIHdpZHRoLCBmb3IgYSBzcXVhcmlzaFxuICAgICAgIGNhcmQgcmF0aGVyIHRoYW4gYSB3aWRlIGZsYXQgYmFuZC4gKi9cbiAgICBtYXgtd2lkdGg6IDEwODBweDtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBwYWRkaW5nOiAxMjBweCA4OHB4O1xuICAgIC0tZXRhYi1ub3RjaDogNzJweDtcbiAgICBjbGlwLXBhdGg6IHBvbHlnb24oMCAwLCBjYWxjKDEwMCUgLSB2YXIoLS1ldGFiLW5vdGNoKSkgMCwgMTAwJSB2YXIoLS1ldGFiLW5vdGNoKSwgMTAwJSAxMDAlLCAwIDEwMCUpO1xufVxuLmV0YWItb2ZmZXJfX2NhcmQgLnJvdyB7IHJvdy1nYXA6IDQ4cHg7IH1cbi5ldGFiLW9mZmVyX19nYW1tZSB7XG4gICAgcGFkZGluZy10b3A6IDE0cHg7XG59XG4uZXRhYi1vZmZlcl9fZ2FtbWUtbG9nbyB7XG4gICAgbWF4LWhlaWdodDogNDRweDtcbiAgICB3aWR0aDogYXV0bztcbn1cbi5ldGFiLW9mZmVyX19nYW1tZS1hcHBzIHtcbiAgICBmb250LXNpemU6IDAuNzhyZW07XG4gICAgY29sb3I6ICM0YTRhNWU7XG4gICAgbWFyZ2luLXRvcDogMTBweDtcbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjcuOThweCkge1xuICAgIC5ldGFiLW9mZmVyX19jYXJkIHsgcGFkZGluZzogNDBweCAyNHB4OyAtLWV0YWItbm90Y2g6IDQ4cHg7IH1cbiAgICAuZXRhYi1vZmZlcl9fdmVjdG9yIHsgZGlzcGxheTogbm9uZTsgfVxufVxuXG4vKiBcIlVuZSBzb2x1dGlvbiBwb3VyIGNoYXF1ZSBwYXJjb3Vyc1wiOiB3aGl0ZSBiYW5kLCBwYWxlIHZlY3RvciBvbiB0aGUgbGVmdCxcbiAgIGJsdWUgZG90cywgc3F1YXJlIGV2ZW5seS1zcGFjZWQgY2FyZHMuICovXG4uZXRhYi1wYXJjb3VycyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cbi5ldGFiLXBhcmNvdXJzX192ZWN0b3Ige1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAwO1xuICAgIHRvcDogMTAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB3aWR0aDogYXV0bztcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cbi5ldGFiLXBhcmNvdXJzIC5zZWN0aW9uLWRvdHMtLWJsdWUgc3BhbiB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tdG9zYS1ibHVlKTtcbn1cbi5ldGFiLXBhcmNvdXJzX19jYXJkIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIGJveC1zaGFkb3c6IDAgNnB4IDI0cHggcmdiYSgzMCwgMzAsIDYwLCAwLjA4KTtcbiAgICBhc3BlY3QtcmF0aW86IDEgLyAxO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGdhcDogMThweDtcbiAgICBwYWRkaW5nOiAyNHB4O1xuICAgIG1pbi1oZWlnaHQ6IDA7XG59XG4uZXRhYi1wYXJjb3Vyc19fY2FyZCAuaGUtczNfX2ljb24ge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG59XG4uZXRhYi1wYXJjb3Vyc19fY2FyZCAuaGUtczNfX3RpdGxlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIGNvbG9yOiAjMWExYTJlO1xufVxuXG4vKiDilIDilIDilIDilIAgRlIgY2VudHJlLWFncsOpw6kgLyBjZXJ0aWZpY2F0aW9uLcOgLWRpc3RhbmNlIHBhZ2VzIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgCAqL1xuLmNhLXBpbGwge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS10b3NhLXllbGxvdyk7XG4gICAgYm9yZGVyLXJhZGl1czogNTBweDtcbiAgICBwYWRkaW5nOiA2cHggMjBweDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGZvbnQtc2l6ZTogMC45cmVtO1xuICAgIG1hcmdpbjogNnB4O1xuICAgIGNvbG9yOiAjMWExYTJlO1xufVxuLyogQ2VydGlmaWNhdGlvbi3DoC1kaXN0YW5jZSBwYWdlIG9ubHkgKi9cbi5jYS1waWxsLS1vcmFuZ2Uge1xuICAgIGNvbG9yOiB2YXIoLS10b3NhLW9yYW5nZSk7XG59XG4uY2Etc3RhdCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgYm94LXNoYWRvdzogMCA2cHggMjRweCByZ2JhKDMwLCAzMCwgNjAsIDAuMDgpO1xuICAgIHBhZGRpbmc6IDM2cHggMjhweDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiAzMDBweDtcbiAgICBtaW4taGVpZ2h0OiAyNzVweDtcbiAgICBtYXJnaW46IDAgYXV0bztcbn1cbi8qIEJsdWUgZGlzYyBwZWVraW5nIG91dCBvZiB0aGUgdG9wLXJpZ2h0IGNvcm5lciAqL1xuLmNhLXN0YXQ6OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IC00OHB4O1xuICAgIHJpZ2h0OiAtMzNweDtcbiAgICB3aWR0aDogNzVweDtcbiAgICBoZWlnaHQ6IDc1cHg7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLXRvc2EtYmx1ZSk7XG59XG4uY2Etc3RhdF9fbnVtIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgY29sb3I6IHZhcigtLXRvc2EtYmx1ZSk7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBmb250LXNpemU6IDMuMjVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgcGFkZGluZy1sZWZ0OiAyNnB4O1xuICAgIHBhZGRpbmctYm90dG9tOiAyMHB4O1xufVxuLyogU2hvcnQgdmVydGljYWwgYmFyIHN0cmFkZGxpbmcgdGhlIGNhcmQncyBsZWZ0IGVkZ2UgKi9cbi5jYS1zdGF0X19udW06OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogLTMxcHg7XG4gICAgdG9wOiA0cHg7XG4gICAgYm90dG9tOiA0cHg7XG4gICAgd2lkdGg6IDZweDtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS10b3NhLWJsdWUpO1xufVxuLmNhLXN0YXRfX3RleHQge1xuICAgIGNvbG9yOiAjNGE0YTVlO1xuICAgIGZvbnQtc2l6ZTogMC45NXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xufVxuLmNhLXN0ZXBzIHtcbiAgICBiYWNrZ3JvdW5kOiAjMzg0NkQ4O1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG59XG4uY2Etc3RlcHMgLnNlY3Rpb24tdGl0bGUgeyBjb2xvcjogI2ZmZjsgfVxuLmNhLXN0ZXBzX19pbnRybyB7IGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuODUpOyB9XG4uY2Etc3RlcCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBnYXA6IDE2cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogNDBweDtcbn1cbi5jYS1zdGVwX19udW0ge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIHdpZHRoOiAzNHB4O1xuICAgIGhlaWdodDogMzRweDtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tdG9zYS15ZWxsb3cpO1xuICAgIGNvbG9yOiAjMWExYTJlO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuLyogQ2VydGlmaWNhdGlvbi3DoC1kaXN0YW5jZSBwYWdlIG9ubHkgKi9cbi5jYS1zdGVwX19udW0tLW9yYW5nZSB7XG4gICAgY29sb3I6IHZhcigtLXRvc2Etb3JhbmdlKTtcbn1cbi5jYS1zdGVwX190aXRsZSB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgZm9udC1zaXplOiAxLjM1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMTJweDtcbn1cbi5jYS1zdGVwX190ZXh0LCAuY2Etc3RlcCBsaSB7IGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuODgpOyB9XG4uY2Etc3RlcCB1bCB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBwYWRkaW5nLWxlZnQ6IDE0cHg7XG4gICAgbWFyZ2luOiAxMHB4IDAgMDtcbn1cbi5jYS1zdGVwIHVsIGxpIHsgcG9zaXRpb246IHJlbGF0aXZlOyBwYWRkaW5nLWxlZnQ6IDE0cHg7IG1hcmdpbi1ib3R0b206IDZweDsgfVxuLmNhLXN0ZXAgdWwgbGk6OmJlZm9yZSB7IGNvbnRlbnQ6ICdcXDAwQjcnOyBwb3NpdGlvbjogYWJzb2x1dGU7IGxlZnQ6IDA7IGZvbnQtd2VpZ2h0OiA3MDA7IH1cbi5jYS1zdGVwIGEgeyBjb2xvcjogdmFyKC0tdG9zYS15ZWxsb3cpOyB9XG4uY2EtcmVxcyB7XG4gICAgYmFja2dyb3VuZDogI0UzRjFGNTtcbiAgICBjb2xvcjogIzFhMWEyZTtcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICAgIHBhZGRpbmc6IDM2cHg7XG59XG4vKiBDZXJ0aWZpY2F0aW9uLcOgLWRpc3RhbmNlOiBkZWNvcmF0aXZlIHNoYXBlcyBiZWhpbmQgdGhlIHJlcXVpcmVtZW50cyBjYXJkICovXG4uY2EtcmVxcy13cmFwIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4uY2EtcmVxcy13cmFwID4gOm5vdCguY2EtcmVxc19fdmVjdG9yKSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDE7XG59XG4uY2EtcmVxc19fdmVjdG9yIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgbGVmdDogMjklO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgIHdpZHRoOiAxMDklO1xuICAgIG1heC13aWR0aDogbm9uZTtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cbi5jYS1yZXFzX190aXRsZSB7IGZvbnQtd2VpZ2h0OiA3MDA7IGZvbnQtc2l6ZTogMS4zcmVtOyBtYXJnaW4tYm90dG9tOiAxOHB4OyB9XG4uY2EtcmVxcyBkdCB7IGZvbnQtd2VpZ2h0OiA3MDA7IG1hcmdpbi10b3A6IDE0cHg7IH1cbi5jYS1yZXFzIGRkIHsgbWFyZ2luOiAwOyBjb2xvcjogIzRhNGE1ZTsgfVxuLmNhLWZpbmRlciB7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBhZGRpbmc6IDQwcHggMDtcbn1cbi5jYS1maW5kZXIgLmNvbnRhaW5lci14bCB7XG4gICAgYmFja2dyb3VuZDogIzM4NDZEODtcbiAgICBjbGlwLXBhdGg6IHBvbHlnb24oMCAwLCBjYWxjKDEwMCUgLSA2MHB4KSAwLCAxMDAlIDYwcHgsIDEwMCUgMTAwJSwgMCAxMDAlKTtcbiAgICBwYWRkaW5nLWxlZnQ6IDU2cHg7XG4gICAgcGFkZGluZy1yaWdodDogNTZweDtcbn1cbi5jYS1maW5kZXIgLnNlY3Rpb24tdGl0bGUgeyBjb2xvcjogI2ZmZjsgfVxuLmNhLWZpbmRlcl9fdGV4dCB7IGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuODgpOyB9XG4uY2EtZmluZGVyX19mb3JtIHsgZGlzcGxheTogZmxleDsgbWF4LXdpZHRoOiA1NjBweDsgfVxuLmNhLWZpbmRlcl9faW5wdXQge1xuICAgIGZsZXg6IDE7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIHBhZGRpbmc6IDE0cHggMThweDtcbiAgICBmb250LXNpemU6IDFyZW07XG59XG5cbi8qIEJ1bmRsZSBzaWRlYmFyIOKAlCBuZXN0ZWQgXCJFeGFtcyBhbmQgTWluaW11bSBQYXNzaW5nIFNjb3Jlc1wiIGJsb2NrXG4gICAobGV2ZWwg4oaSIGV4YW1zIOKGkiBcIlBsdXMgMSBvZiB0aGUgZm9sbG93aW5nIE46XCIg4oaSIGV4YW1zKS4gU2VsZWN0b3JzIGFyZVxuICAgc2NvcGVkIHVuZGVyIC5idW5kbGUtc2lkZV9fYnVsbGV0LWxpc3QgdG8gb3ZlcnJpZGUgaXRzIGdlbmVyaWMgbGkgcnVsZXMuICovXG4uYnVuZGxlLXNpZGVfX2J1bGxldC1saXN0IC5idW5kbGUtc2lkZV9fc2NvcmUtZ3JvdXBzIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiA2cHggMCAwO1xufVxuLmJ1bmRsZS1zaWRlX19idWxsZXQtbGlzdCAuYnVuZGxlLXNpZGVfX3Njb3JlLWdyb3VwIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZzogNHB4IDAgNHB4IDE0cHg7XG4gICAgZm9udC1zaXplOiAwLjlyZW07XG59XG4uYnVuZGxlLXNpZGVfX2J1bGxldC1saXN0IC5idW5kbGUtc2lkZV9fc2NvcmUtZ3JvdXA6OmJlZm9yZSB7XG4gICAgY29udGVudDogXCLigKJcIjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMnB4O1xuICAgIHRvcDogM3B4O1xuICAgIGNvbG9yOiB2YXIoLS10b3NhLW9yYW5nZSk7XG4gICAgZm9udC1zaXplOiAwLjg1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG4uYnVuZGxlLXNpZGVfX2J1bGxldC1saXN0IC5idW5kbGUtc2lkZV9fc2NvcmUtZ3JvdXAtLWZsYXQge1xuICAgIHBhZGRpbmctbGVmdDogMDtcbn1cbi5idW5kbGUtc2lkZV9fYnVsbGV0LWxpc3QgLmJ1bmRsZS1zaWRlX19zY29yZS1ncm91cC0tZmxhdDo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBub25lO1xufVxuLmJ1bmRsZS1zaWRlX19zY29yZS1ncm91cC1sYWJlbCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBjb2xvcjogIzFmMjkzNztcbn1cbi5idW5kbGUtc2lkZV9fYnVsbGV0LWxpc3QgLmJ1bmRsZS1zaWRlX19zY29yZS1saXN0IHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAycHggMCAwO1xufVxuLmJ1bmRsZS1zaWRlX19idWxsZXQtbGlzdCAuYnVuZGxlLXNpZGVfX3Njb3JlLWxpc3QgbGkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nOiAycHggMCAycHggMTRweDtcbiAgICBmb250LXNpemU6IDAuOXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS40O1xuICAgIGNvbG9yOiAjNGI1NTYzO1xufVxuLmJ1bmRsZS1zaWRlX19idWxsZXQtbGlzdCAuYnVuZGxlLXNpZGVfX3Njb3JlLWxpc3QgbGk6OmJlZm9yZSB7XG4gICAgY29udGVudDogXCLigJNcIjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMnB4O1xuICAgIHRvcDogMnB4O1xuICAgIGNvbG9yOiAjOWNhM2FmO1xuICAgIGZvbnQtc2l6ZTogMC45cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG4uYnVuZGxlLXNpZGVfX3Njb3JlLWV4YW06OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIjpcIjtcbn1cbi5idW5kbGUtc2lkZV9fc2NvcmUtdmFsdWUge1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgZm9udC12YXJpYW50LW51bWVyaWM6IHRhYnVsYXItbnVtcztcbiAgICBjb2xvcjogdmFyKC0tdG9zYS1ibHVlKTtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuLmJ1bmRsZS1zaWRlX19zY29yZS1ub3RlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW46IDZweCAwIDJweDtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgY29sb3I6ICMzNzQxNTE7XG59XG5cbi8qIOKUgOKUgCBDb250YWN0IFVzIHBhZ2Ug4oCUIEZSIHZhcmlhbnQgKHRlbXBsYXRlcy9wYWdlcy9jb250YWN0X3VzX2ZyLmh0bWwudHdpZykg4pSA4pSAICovXG5cbi5jdS1mb3JtX19ncm91cC0taW5saW5lIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4uY3UtZm9ybV9fZ3JvdXAtLWlubGluZSAuY3UtZm9ybV9fbGFiZWwtLWlubGluZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDE3cHg7XG4gICAgdG9wOiAxNXB4O1xuICAgIG1hcmdpbjogMDtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjkyKTtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMTVzIGVhc2U7XG59XG4vKiBDaHJvbWUgZG9lcyBub3QgcmUtc3R5bGUgOm5vdCg6cGxhY2Vob2xkZXItc2hvd24pIH4gbGFiZWwgb24gdmFsdWUgY2hhbmdlczsgSlMgbWlycm9ycyB0aGUgc3RhdGUgYXMgLmhhcy12YWx1ZSAqL1xuLmN1LWZvcm1fX2dyb3VwLS1pbmxpbmU6Zm9jdXMtd2l0aGluIC5jdS1mb3JtX19sYWJlbC0taW5saW5lLFxuLmN1LWZvcm1fX2dyb3VwLS1pbmxpbmUuaGFzLXZhbHVlIC5jdS1mb3JtX19sYWJlbC0taW5saW5lLFxuLmN1LWZvcm1fX2dyb3VwLS1pbmxpbmUgLmN1LWZvcm1fX2lucHV0Om5vdCg6cGxhY2Vob2xkZXItc2hvd24pIH4gLmN1LWZvcm1fX2xhYmVsLS1pbmxpbmUge1xuICAgIG9wYWNpdHk6IDA7XG59XG4uY3UtZm9ybV9fZ3JvdXAtLWlubGluZSAuY3UtZm9ybV9fcmVxdWlyZWQge1xuICAgIGNvbG9yOiB2YXIoLS10b3NhLW9yYW5nZSk7XG59XG4uY3UtZm9ybV9fZm9vdGVyLS1zdGFydCB7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgIGdhcDogMjBweDtcbn1cblxuLmN1LXBhcnRuZXIge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLXRvc2EteWVsbG93KTtcbiAgICBwYWRkaW5nOiA5NnB4IDA7XG59XG4uY3UtcGFydG5lcl9fdGl0bGUge1xuICAgIGNvbG9yOiAjMWExYTJlO1xufVxuLmN1LXBhcnRuZXJfX3N1YnRpdGxlIHtcbiAgICBjb2xvcjogIzFhMWEyZTtcbiAgICBmb250LXNpemU6IDEuMzc1cmVtO1xufVxuLmN1LXBhcnRuZXJfX3RleHQge1xuICAgIGNvbG9yOiAjMWExYTJlO1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS42O1xufVxuLmN1LXBhcnRuZXJfX2xpc3Qge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIG1hcmdpbjogMDtcbn1cbi5jdS1wYXJ0bmVyX19saXN0IGxpIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDEuNXJlbTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luLWJvdHRvbTogLjdyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuNTU7XG4gICAgY29sb3I6ICMxYTFhMmU7XG4gICAgZm9udC1zaXplOiAxcmVtO1xufVxuLmN1LXBhcnRuZXJfX2xpc3QgbGk6OmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDA7XG4gICAgdG9wOiAwLjVyZW07XG4gICAgd2lkdGg6IDlweDtcbiAgICBoZWlnaHQ6IDlweDtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tdG9zYS1vcmFuZ2UpO1xufVxuLmN1LXBhcnRuZXJfX2ltZyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiA1MjBweDtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG59XG4uY3UtcGFydG5lciArIC5uZXdzbGV0dGVyIHtcbiAgICBwYWRkaW5nLXRvcDogODBweCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctYm90dG9tOiA2MHB4ICFpbXBvcnRhbnQ7XG59XG5AbWVkaWEgKG1heC13aWR0aDogOTkxLjk4cHgpIHtcbiAgICAuY3UtcGFydG5lciB7XG4gICAgICAgIHBhZGRpbmc6IDY0cHggMDtcbiAgICB9XG4gICAgLmN1LXBhcnRuZXJfX2ltZyB7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIH1cbn1cblxuLyog4pSA4pSAIE9ubGluZSBzdG9yZSDigJQgRlIgdmFyaWFudCAodGVtcGxhdGVzL3BhZ2VzL29ubGluZV9zdG9yZV9mci5odG1sLnR3aWcpIOKUgOKUgCAqL1xuLmJlLXB1cmNoYXNlLS1mciB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tdG9zYS1ibHVlKTtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cbi5iZS1wdXJjaGFzZS0tZnI6OmJlZm9yZSxcbi5iZS1wdXJjaGFzZS0tZnI6OmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wOCk7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG4uYmUtcHVyY2hhc2UtLWZyOjpiZWZvcmUgeyB3aWR0aDogNDIwcHg7IGhlaWdodDogNDIwcHg7IHJpZ2h0OiAtMTYwcHg7IHRvcDogMzglOyB9XG4uYmUtcHVyY2hhc2UtLWZyOjphZnRlciAgeyB3aWR0aDogMjYwcHg7IGhlaWdodDogMjYwcHg7IGxlZnQ6IC0xMjBweDsgYm90dG9tOiAxMiU7IH1cbi5iZS1wdXJjaGFzZS0tZnIgPiAuY29udGFpbmVyLXhsIHsgcG9zaXRpb246IHJlbGF0aXZlOyB6LWluZGV4OiAxOyB9XG4uYmUtcHVyY2hhc2VfX3BpbGwge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS10b3NhLXllbGxvdyk7XG4gICAgY29sb3I6ICMxYTFhMmU7XG4gICAgYm9yZGVyLXJhZGl1czogOTk5cHg7XG4gICAgcGFkZGluZzogMThweCA0OHB4O1xuICAgIGZvbnQtc2l6ZTogY2xhbXAoMS4zNXJlbSwgMi4zdncsIDEuOXJlbSk7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICBtYXgtd2lkdGg6IDkyMHB4O1xuICAgIG1hcmdpbjogMCAwIDE4cHg7XG59XG4uYmUtcHVyY2hhc2VfX2xlYWQge1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGZvbnQtc2l6ZTogMS4wNXJlbTtcbn1cbi5iZS1wdXJjaGFzZS0tZnIgLmJlLXB1cmNoYXNlX19mcmFtZSB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xufVxuLmJlLXB1cmNoYXNlLS1mciAuYmUtcHVyY2hhc2VfX2lubmVyIHsgcGFkZGluZzogMDsgfVxuLmJlLXB1cmNoYXNlLS1mciAuYmUtcHVyY2hhc2VfX3BhbmUgeyBtaW4taGVpZ2h0OiAwOyB9XG4uYmUtcHVyY2hhc2UtLWZyIC5iZS1wdXJjaGFzZV9fcGFuZVtkYXRhLXB1cmNoYXNlLXBhbmU9XCIzXCJdLmlzLWFjdGl2ZSB7IGRpc3BsYXk6IGJsb2NrOyB9XG4uYmUtcHVyY2hhc2UtLWZyIC5iZS1wdXJjaGFzZV9fcGFuZS1pbnRybyB7XG4gICAgY29sb3I6IHZhcigtLXRvc2EteWVsbG93KTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgbWF4LXdpZHRoOiBub25lO1xuICAgIG1hcmdpbjogMCAwIDMycHg7XG59XG5cbi5iZS1wdXJjaGFzZV9fY3J1bWJzIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcbiAgICBnYXA6IDZweCAxNHB4O1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwIDAgMTJweDtcbn1cbi5iZS1wdXJjaGFzZV9fY3J1bWIge1xuICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBmb250LXNpemU6IGNsYW1wKDEuMjVyZW0sIDJ2dywgMS43NXJlbSk7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuMnM7XG59XG4uYmUtcHVyY2hhc2VfX2NydW1iOjphZnRlciB7XG4gICAgY29udGVudDogJz4nO1xuICAgIG1hcmdpbi1sZWZ0OiAxNHB4O1xuICAgIGZvbnQtc2l6ZTogMS4xcmVtO1xuICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7XG59XG4uYmUtcHVyY2hhc2VfX2NydW1iOmxhc3QtY2hpbGQ6OmFmdGVyIHsgY29udGVudDogbm9uZTsgfVxuLmJlLXB1cmNoYXNlX19jcnVtYi5pcy1kb25lIHsgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC44KTsgfVxuLmJlLXB1cmNoYXNlX19jcnVtYi5pcy1hY3RpdmUsXG4uYmUtcHVyY2hhc2VfX2NydW1iLmlzLWFjdGl2ZTo6YWZ0ZXIgeyBjb2xvcjogdmFyKC0tdG9zYS15ZWxsb3cpOyB9XG4uYmUtcHVyY2hhc2VfX2NydW1iLmlzLXNraXBwZWQgeyBvcGFjaXR5OiAwLjQ1OyBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG5cbi5iZS1wdXJjaGFzZV9fcGFuZWwge1xuICAgIGJhY2tncm91bmQ6ICNlZWYwZmI7XG4gICAgYm9yZGVyLXJhZGl1czogMjJweDtcbiAgICBwYWRkaW5nOiA0MHB4IGNsYW1wKDIwcHgsIDN2dywgNDhweCkgNDhweDtcbiAgICBjb2xvcjogIzFhMWEyZTtcbn1cbi5iZS1wdXJjaGFzZS0tZnIgLmJlLXB1cmNoYXNlX19kZXRhaWxzIHsgcGFkZGluZzogNDBweCBjbGFtcCgyMHB4LCAzdncsIDQ4cHgpIDQ4cHg7IH1cblxuLmJlLXB1cmNoYXNlLS1mciAuYmUtcHVyY2hhc2VfX3RhYnMge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNCwgMWZyKTtcbiAgICBnYXA6IDMycHg7XG4gICAgYm9yZGVyOiAwO1xuICAgIG1hcmdpbi1ib3R0b206IDQ0cHg7XG59XG4uYmUtcHVyY2hhc2UtLWZyIC5iZS1wdXJjaGFzZV9fdGFicyAubmF2LWl0ZW0geyBkaXNwbGF5OiBjb250ZW50czsgfVxuLmJlLXB1cmNoYXNlX190YWIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDZweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOiAxNnB4IDEycHggMjBweCAhaW1wb3J0YW50O1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xNCkgIWltcG9ydGFudDtcbiAgICBib3JkZXI6IDJweCBzb2xpZCAhaW1wb3J0YW50O1xuICAgIGJvcmRlci1yYWRpdXM6IDE4cHggIWltcG9ydGFudDtcbiAgICBjb2xvcjogI2ZmZiAhaW1wb3J0YW50O1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzLCBjb2xvciAwLjJzO1xufVxuLmJlLXB1cmNoYXNlX190YWI6OmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogNTAlO1xuICAgIGJvdHRvbTogLTIycHg7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgIGJvcmRlcjogMTFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC4ycztcbn1cbi5iZS1wdXJjaGFzZV9fdGFiLS1kZXNrdG9wICB7IGJvcmRlci1jb2xvcjogIzhCQ0NGRiAhaW1wb3J0YW50OyB9XG4uYmUtcHVyY2hhc2VfX3RhYi0tZ3JhcGhpY3MgeyBib3JkZXItY29sb3I6ICNGRjY2RkYgIWltcG9ydGFudDsgfVxuLmJlLXB1cmNoYXNlX190YWItLWRpZ2l0YWwgIHsgYm9yZGVyLWNvbG9yOiAjNjZDQzk5ICFpbXBvcnRhbnQ7IH1cbi5iZS1wdXJjaGFzZV9fdGFiLS1jb2RlICAgICB7IGJvcmRlci1jb2xvcjogI0U2QTA3MSAhaW1wb3J0YW50OyB9XG4uYmUtcHVyY2hhc2VfX3RhYi0tZGVza3RvcDo6YWZ0ZXIgIHsgYm9yZGVyLXRvcC1jb2xvcjogIzhCQ0NGRjsgfVxuLmJlLXB1cmNoYXNlX190YWItLWdyYXBoaWNzOjphZnRlciB7IGJvcmRlci10b3AtY29sb3I6ICNGRjY2RkY7IH1cbi5iZS1wdXJjaGFzZV9fdGFiLS1kaWdpdGFsOjphZnRlciAgeyBib3JkZXItdG9wLWNvbG9yOiAjNjZDQzk5OyB9XG4uYmUtcHVyY2hhc2VfX3RhYi0tY29kZTo6YWZ0ZXIgICAgIHsgYm9yZGVyLXRvcC1jb2xvcjogI0U2QTA3MTsgfVxuLmJlLXB1cmNoYXNlX190YWIuYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6ICMxYTFhMmUgIWltcG9ydGFudDtcbn1cbi5iZS1wdXJjaGFzZV9fdGFiLmFjdGl2ZTo6YWZ0ZXIgeyBib3JkZXItdG9wLWNvbG9yOiAjZmZmOyB9XG4uYmUtcHVyY2hhc2UtLWZyIC5iZS1wdXJjaGFzZV9fdGFiLWxvZ28geyBoZWlnaHQ6IDQwcHg7IH1cbi5iZS1wdXJjaGFzZV9fdGFiLWFwcHMgeyBmb250LXNpemU6IDAuODVyZW07IGxpbmUtaGVpZ2h0OiAxLjM7IH1cbi5iZS1wdXJjaGFzZS0tZnIgLmJlLXB1cmNoYXNlX19oZWFkaW5nIHtcbiAgICBjb2xvcjogIzFhMWEyZTtcbiAgICBmb250LXNpemU6IDEuNnJlbTtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuLmJlLXB1cmNoYXNlLS1mciAuYmUtcHVyY2hhc2VfX3N1YmplY3Qge1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC42KTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZDlkY2VmO1xuICAgIGJvcmRlci1yYWRpdXM6IDE0cHg7XG4gICAgY29sb3I6ICMxYTFhMmU7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbn1cbi5iZS1wdXJjaGFzZS0tZnIgLmJlLXB1cmNoYXNlX19zdWJqZWN0OmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIGJvcmRlci1jb2xvcjogIzhCQ0NGRjtcbiAgICBjb2xvcjogIzFhMWEyZTtcbn1cblxuLmJlLXB1cmNoYXNlLS1mciAuYmUtcHVyY2hhc2VfX3BhY2tzIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZml0LCBtaW5tYXgoMjM1cHgsIDFmcikpO1xuICAgIGdhcDogMjhweDtcbiAgICBib3JkZXI6IDA7XG59XG4uYmUtcHVyY2hhc2UtLWZyIC5iZS1wdXJjaGFzZV9fcGFjayB7XG4gICAgYmFja2dyb3VuZDogI0U2RjRGODtcbiAgICBib3JkZXI6IDJweCBzb2xpZCAjOEJDQ0ZGO1xuICAgIGJvcmRlci1yYWRpdXM6IDIycHg7XG4gICAgcGFkZGluZzogMzBweCAyNHB4IDM0cHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuMnMsIHRyYW5zZm9ybSAwLjJzO1xufVxuLmJlLXB1cmNoYXNlLS1mciAuYmUtcHVyY2hhc2VfX3BhY2s6aG92ZXIsXG4uYmUtcHVyY2hhc2UtLWZyIC5iZS1wdXJjaGFzZV9fcGFjay5pcy1hY3RpdmUge1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tdG9zYS1vcmFuZ2UpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtM3B4KTtcbn1cbi5iZS1wdXJjaGFzZS0tZnIgLmJlLXB1cmNoYXNlX19wYWNrLWhlYWQsXG4uYmUtcHVyY2hhc2UtLWZyIC5iZS1wdXJjaGFzZV9fcGFjazpob3ZlciAuYmUtcHVyY2hhc2VfX3BhY2staGVhZCxcbi5iZS1wdXJjaGFzZS0tZnIgLmJlLXB1cmNoYXNlX19wYWNrLmlzLWFjdGl2ZSAuYmUtcHVyY2hhc2VfX3BhY2staGVhZCB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWluLWhlaWdodDogMDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBtYXJnaW4tYm90dG9tOiAxNHB4O1xufVxuLmJlLXB1cmNoYXNlLS1mciAuYmUtcHVyY2hhc2VfX3BhY2stbmFtZSxcbi5iZS1wdXJjaGFzZS0tZnIgLmJlLXB1cmNoYXNlX19wYWNrOmhvdmVyIC5iZS1wdXJjaGFzZV9fcGFjay1uYW1lLFxuLmJlLXB1cmNoYXNlLS1mciAuYmUtcHVyY2hhc2VfX3BhY2suaXMtYWN0aXZlIC5iZS1wdXJjaGFzZV9fcGFjay1uYW1lIHtcbiAgICBjb2xvcjogdmFyKC0tdG9zYS1vcmFuZ2UpO1xuICAgIGZvbnQtc2l6ZTogMS41cmVtO1xufVxuLmJlLXB1cmNoYXNlLS1mciAuYmUtcHVyY2hhc2VfX3BhY2stYm9keSB7XG4gICAgcGFkZGluZzogMDtcbiAgICBnYXA6IDIycHg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB3aWR0aDogMTAwJTtcbn1cbi5iZS1wdXJjaGFzZS0tZnIgLmJlLXB1cmNoYXNlX19wYWNrLWRlc2Mge1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIHdpZHRoOiAxMDAlO1xufVxuLmJlLXB1cmNoYXNlLS1mciAuYmUtcHVyY2hhc2VfX3BhY2stZGVzYyB1bCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IG1heC1jb250ZW50O1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgbWFyZ2luOiAxNnB4IGF1dG8gMDtcbn1cbi5iZS1wdXJjaGFzZS0tZnIgLmJlLXB1cmNoYXNlX19wYWNrLXByaWNlIHtcbiAgICBjb2xvcjogIzFhMWEyZTtcbiAgICBmb250LXNpemU6IDJyZW07XG59XG4uYmUtcHVyY2hhc2UtLWZyIC5iZS1wdXJjaGFzZV9fcGFjay1jaGVja291dCxcbi5iZS1wdXJjaGFzZS0tZnIgLmJlLXB1cmNoYXNlX19wYWNrOmhvdmVyIC5iZS1wdXJjaGFzZV9fcGFjay1jaGVja291dCxcbi5iZS1wdXJjaGFzZS0tZnIgLmJlLXB1cmNoYXNlX19wYWNrLmlzLWFjdGl2ZSAuYmUtcHVyY2hhc2VfX3BhY2stY2hlY2tvdXQge1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG1hcmdpbjogMjZweCBhdXRvIDA7XG4gICAgcGFkZGluZzogMTZweCAzMnB4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGdhcDogMTZweDtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS10b3NhLW9yYW5nZSk7XG4gICAgYm9yZGVyOiAwO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGNsaXAtcGF0aDogcG9seWdvbigwIDAsIGNhbGMoMTAwJSAtIDE2cHgpIDAsIDEwMCUgMTZweCwgMTAwJSAxMDAlLCAwIDEwMCUpO1xufVxuLmJlLXB1cmNoYXNlLS1mciAuYmUtcHVyY2hhc2VfX3BhY2stY2hlY2tvdXQ6aG92ZXIgeyBiYWNrZ3JvdW5kOiAjZDYzZDA5OyB9XG4uYmUtcHVyY2hhc2VfX3BhY2tzLWVtcHR5IHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcGFkZGluZzogMjRweCAwO1xuICAgIG1hcmdpbjogMDtcbn1cbi5mYXEtLXllbGxvdy1kb3RzIC5zZWN0aW9uLWRvdHMgc3BhbiB7IGJhY2tncm91bmQ6IHZhcigtLXRvc2EteWVsbG93KTsgfVxuXG5AbWVkaWEgKG1heC13aWR0aDogOTkxLjk4cHgpIHtcbiAgICAuYmUtcHVyY2hhc2UtLWZyIC5iZS1wdXJjaGFzZV9fdGFicyB7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7IGdhcDogMjBweCAxNnB4OyBtYXJnaW4tYm90dG9tOiAzNnB4OyB9XG4gICAgLmJlLXB1cmNoYXNlX19waWxsIHsgcGFkZGluZzogMTRweCAyOHB4OyBib3JkZXItcmFkaXVzOiAyOHB4OyB9XG59XG5AbWVkaWEgKG1heC13aWR0aDogNTc1Ljk4cHgpIHtcbiAgICAuYmUtcHVyY2hhc2UtLWZyIC5iZS1wdXJjaGFzZV9fdGFicyB7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyOyB9XG4gICAgLmJlLXB1cmNoYXNlX19wYW5lbCB7IGJvcmRlci1yYWRpdXM6IDE2cHg7IHBhZGRpbmc6IDI0cHggMTZweCAzMnB4OyB9XG59XG4uYmUtcHVyY2hhc2VfX2NydW1iIC5iZS1wdXJjaGFzZV9fc3RlcC1udW0geyBkaXNwbGF5OiBpbmxpbmU7IH1cbi5iZS1zdGVwcy0tZnIge1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMDBkZWcsICNmZmY2ZDkgMCUsICNmZmZmZmYgMzIlLCAjZjFmMmZiIDEwMCUpO1xufVxuLmJlLXN0ZXBzLS1mciAuYmUtc3RlcCB7XG4gICAgYm94LXNoYWRvdzogMCAxMHB4IDMwcHggcmdiYSgyMCwgMzAsIDYwLCAwLjA2KTtcbn1cblxuLyogXCJCZXNvaW4gZCdhaWRlID9cIiDigJQgcGhvdG8gY2FyZCB3aXRoIGEgeWVsbG93IGRpYWdvbmFsIGFuZCBhIHdoaXRlIHRleHQgYm94LiAqL1xuLmJlLWhlbHAge1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgcGFkZGluZzogNzJweCAwIDQwcHg7XG59XG4uYmUtaGVscF9fY2FyZCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1pbi1oZWlnaHQ6IDU0MHB4O1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgIGNsaXAtcGF0aDogcG9seWdvbigwIDAsIGNhbGMoMTAwJSAtIDYwcHgpIDAsIDEwMCUgNjBweCwgMTAwJSAxMDAlLCAwIDEwMCUpO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cbi5iZS1oZWxwX19jYXJkOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBpbnNldDogMDtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS10b3NhLXllbGxvdyk7XG4gICAgY2xpcC1wYXRoOiBwb2x5Z29uKDAgMCwgNDQlIDAsIDI2JSAxMDAlLCAwIDEwMCUpO1xufVxuLmJlLWhlbHBfX2JveCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbi1sZWZ0OiBjbGFtcCgyNHB4LCA2dncsIDk2cHgpO1xuICAgIHdpZHRoOiBtaW4oNTYwcHgsIGNhbGMoMTAwJSAtIDQ4cHgpKTtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIHBhZGRpbmc6IDU2cHggNjBweDtcbiAgICBjbGlwLXBhdGg6IHBvbHlnb24oMCAwLCBjYWxjKDEwMCUgLSAzNnB4KSAwLCAxMDAlIDM2cHgsIDEwMCUgMTAwJSwgMCAxMDAlKTtcbiAgICBib3gtc2hhZG93OiAwIDIwcHggNTBweCByZ2JhKDIwLCAzMCwgNjAsIDAuMTUpO1xufVxuLmJlLWhlbHBfX3RpdGxlIHtcbiAgICBjb2xvcjogIzFhMWEyZTtcbiAgICBmb250LXNpemU6IGNsYW1wKDEuNzVyZW0sIDN2dywgMi41cmVtKTtcbn1cbi5iZS1oZWxwX190ZXh0IHtcbiAgICBjb2xvcjogIzJhMmEzYTtcbiAgICBsaW5lLWhlaWdodDogMS42O1xufVxuQG1lZGlhIChtYXgtd2lkdGg6IDc2Ny45OHB4KSB7XG4gICAgLmJlLWhlbHAgeyBwYWRkaW5nOiA0OHB4IDAgMjRweDsgfVxuICAgIC5iZS1oZWxwX19jYXJkIHsgbWluLWhlaWdodDogMDsgcGFkZGluZzogMzJweCAwOyB9XG4gICAgLmJlLWhlbHBfX2JveCB7IG1hcmdpbjogMCBhdXRvOyBwYWRkaW5nOiAzMnB4IDI0cHg7IH1cbn1cblxuLyog4pSA4pSAIFN1YmplY3QgZGV0YWlsczogRlIgdmFyaWFudHMgKFNlcHQgMjAyNiBtb2NrdXBzKSDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIAgKi9cbi8qIEJsYWNrIENUQSAoRlIgc2lkZWJhciBcIkFjaGV0ZXIgdW5lIGNlcnRpZmljYXRpb25cIikgKi9cbi5jdGEtYnRuLS1ibGFjayB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzFhMWExYTtcbiAgICBjb2xvcjogI2ZmZjtcbn1cbi5jdGEtYnRuLS1ibGFjazpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzMzMztcbiAgICBjb2xvcjogI2ZmZjtcbn1cblxuLyogRnJhbmNlIGNvbXDDqXRlbmNlcyBjYXJkICovXG4uc3ViamVjdC1kZXRhaWxzX19mYy10aXRsZSB7XG4gICAgZm9udC1zaXplOiAwLjk1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjQ1O1xuICAgIG1hcmdpbjogMCAwIDEwcHg7XG59XG4uc3ViamVjdC1kZXRhaWxzX19mYy1jb2RlIHtcbiAgICBmb250LXNpemU6IDAuOTVyZW07XG59XG5cbi8qIEZSIGhlcm8gdGlsZTogcHJvZHVjdCBpY29uIGluIGEgd2hpdGUgZGlzYyB3aXRoIHRoZSBwcm9kdWN0IG5hbWUuICovXG4uc3ViamVjdC1kZXRhaWxzX19oZXJvLS1jaXJjbGUgLnN1YmplY3QtZGV0YWlsc19faGVyby10aWxlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4uc3ViamVjdC1kZXRhaWxzX19oZXJvLWRpc2Mge1xuICAgIHdpZHRoOiAxOTBweDtcbiAgICBoZWlnaHQ6IDE5MHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGdhcDogMTBweDtcbiAgICBwYWRkaW5nOiAyMHB4O1xufVxuLnN1YmplY3QtZGV0YWlsc19faGVyby1kaXNjIGltZyB7XG4gICAgd2lkdGg6IDg0cHg7XG4gICAgaGVpZ2h0OiA4NHB4O1xuICAgIG9iamVjdC1maXQ6IGNvbnRhaW47XG59XG4uc3ViamVjdC1kZXRhaWxzX19oZXJvLWRpc2MtbmFtZSB7XG4gICAgZm9udC1zaXplOiAwLjlyZW07XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBjb2xvcjogIzFhMWExYTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICBtYXgtd2lkdGg6IDE1MHB4O1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnN1YmplY3QtZGV0YWlsc19faGVyby0tY2lyY2xlIC5zdWJqZWN0LWRldGFpbHNfX2hlcm8tdGlsZSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB9XG59XG5AbWVkaWEgKG1heC13aWR0aDogNTc1Ljk4cHgpIHtcbiAgICAuc3ViamVjdC1kZXRhaWxzX19oZXJvLWRpc2MgeyB3aWR0aDogMTUwcHg7IGhlaWdodDogMTUwcHg7IH1cbiAgICAuc3ViamVjdC1kZXRhaWxzX19oZXJvLWRpc2MgaW1nIHsgd2lkdGg6IDY0cHg7IGhlaWdodDogNjRweDsgfVxufVxuXG4vKiBTYW1wbGUgVGVzdHM6IGhpZGUgZXZlcnkgbW9kYWwgdHJpZ2dlciBvbiBtb2JpbGUgYW5kIHRhYmxldCAqL1xuQG1lZGlhIChtYXgtd2lkdGg6IDk5MS45OHB4KSB7XG4gICAgW2RhdGEtYnMtdGFyZ2V0PVwiI3NhbXBsZS10ZXN0cy1tb2RhbFwiXSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG59XG5cbi5zYnQtaGVybyB7XG4gICAgYmFja2dyb3VuZDogI0Y1RjdGRjtcbn1cbi5zYnQtYm9keSB7XG4gICAgbWF4LXdpZHRoOiA3NjBweDtcbn1cbi5zYnQtYm9keV9fdGV4dCB7XG4gICAgY29sb3I6ICMzMzM7XG4gICAgZm9udC1zaXplOiAxLjA2MjVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuNjU7XG4gICAgbWFyZ2luLWJvdHRvbTogMTJweDtcbn1cbi5zYnQtYm9keV9fbGluayB7XG4gICAgY29sb3I6IHZhcigtLXRvc2Etb3JhbmdlKTtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cbi5zYnQtYm9keV9fc2Vjb25kYXJ5IHtcbiAgICBjb2xvcjogIzU1NTtcbiAgICBmb250LXNpemU6IDAuOTVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuNjtcbn1cbi5zYnQtYWxlcnQge1xuICAgIG1heC13aWR0aDogNzYwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMzJweDtcbn1cblxuLnN0LWNlcnRzX19ibG9jay10aXRsZSB7XG4gICAgZm9udC1zaXplOiBjbGFtcCgxLjJyZW0sIDJ2dywgMS41cmVtKTtcbn1cbi5zdC10aWVyX19hZnRlciB7XG4gICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45Mik7XG4gICAgZm9udC1zaXplOiAwLjk4cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjY1O1xuICAgIG1heC13aWR0aDogOTgwcHg7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xufVxuLnN0LXRpZXJfX2FmdGVyIGgzIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBmb250LXNpemU6IDEuMnJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIG1hcmdpbi1ib3R0b206IDEycHg7XG59XG4uc3QtdGllcl9fYWZ0ZXIgYSxcbi5zdC10aWVyX19mb290bm90ZSBhIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cbiIsIi5tZW51YmFyX19zZWFyY2gge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgd2lkdGg6IDEwMCU7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAgIC5tZW51YmFyX19zZWFyY2gge1xuICAgICAgICB3aWR0aDogMjMwcHg7XG4gICAgfVxufVxuXG4ubWVudWJhcl9fc2VhcmNoLWZpZWxkIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWluLXdpZHRoOiAwO1xuICAgIHBhZGRpbmc6IDJweDtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBjbGlwLXBhdGg6IHBvbHlnb24oMCAwLCBjYWxjKDEwMCUgLSAxNHB4KSAwLCAxMDAlIDE0cHgsIDEwMCUgMTAwJSwgMCAxMDAlKTtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMnMgZWFzZTtcbn1cblxuLm1lbnViYXJfX3NlYXJjaC1maWVsZDpmb2N1cy13aXRoaW4ge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLXRvc2Etb3JhbmdlKTtcbn1cblxuLm1lbnViYXJfX3NlYXJjaC1pY29uIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMC44NXJlbTtcbiAgICB0b3A6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgY29sb3I6IHZhcigtLXRvc2Etb3JhbmdlKTtcbiAgICBmb250LXNpemU6IDAuOTVyZW07XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgei1pbmRleDogMjtcbn1cblxuLm1lbnViYXJfX3NlYXJjaC1pbnB1dCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDE7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWluLXdpZHRoOiAwO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAxMHB4IDE4cHggMTBweCAycmVtO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBiYWNrZ3JvdW5kOiAjZjNmNGY2O1xuICAgIGNvbG9yOiAjMWExYTFhO1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgIGNsaXAtcGF0aDogcG9seWdvbigwIDAsIGNhbGMoMTAwJSAtIDEycHgpIDAsIDEwMCUgMTJweCwgMTAwJSAxMDAlLCAwIDEwMCUpO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4ycyBlYXNlO1xufVxuXG4ubWVudWJhcl9fc2VhcmNoLWlucHV0OjpwbGFjZWhvbGRlciB7XG4gICAgY29sb3I6ICM4YTkwOTc7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbn1cblxuLm1lbnViYXJfX3NlYXJjaC1pbnB1dDpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xufVxuXG4ubWVudWJhcl9fc2VhcmNoLWlucHV0Ojotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uLFxuLm1lbnViYXJfX3NlYXJjaC1pbnB1dDo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbiB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xufVxuXG4ubWVudWJhcl9fc2VhcmNoLXJlc3VsdHMge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IGNhbGMoMTAwJSArIDAuNXJlbSk7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICB6LWluZGV4OiAxMDUwO1xuICAgIG1heC1oZWlnaHQ6IDcwdmg7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIGJveC1zaGFkb3c6IDAgOHB4IDI0cHggcmdiYSgwLCAwLCAwLCAwLjA4KTtcbiAgICBwYWRkaW5nOiAwO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAubWVudWJhcl9fc2VhcmNoLXJlc3VsdHMge1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgd2lkdGg6IDMyMHB4O1xuICAgIH1cbn1cblxuLm1lbnViYXJfX3NlYXJjaC1pdGVtIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiAwLjg1cmVtO1xuICAgIHBhZGRpbmc6IDAuODVyZW0gMS4xcmVtO1xuICAgIGNvbG9yOiAjMWExYTFhO1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDAuMDYpO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjE1cyBlYXNlLCBiYWNrZ3JvdW5kLWNvbG9yIDAuMTVzIGVhc2U7XG59XG5cbi5tZW51YmFyX19zZWFyY2gtaXRlbTpsYXN0LWNoaWxkIHtcbiAgICBib3JkZXItYm90dG9tOiBub25lO1xufVxuXG4ubWVudWJhcl9fc2VhcmNoLWl0ZW06aG92ZXIsXG4ubWVudWJhcl9fc2VhcmNoLWl0ZW0uaXMtYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmNmYxO1xuICAgIGNvbG9yOiB2YXIoLS10b3NhLW9yYW5nZSk7XG59XG5cbi5tZW51YmFyX19zZWFyY2gtdGh1bWIge1xuICAgIGZsZXg6IDAgMCAzMHB4O1xuICAgIHdpZHRoOiAzMHB4O1xuICAgIGhlaWdodDogMzBweDtcbiAgICBvYmplY3QtZml0OiBjb250YWluO1xuICAgIGJvcmRlci1yYWRpdXM6IDAuMzVyZW07XG59XG5cbi5tZW51YmFyX19zZWFyY2gtdGh1bWItLXBsYWNlaG9sZGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYmFja2dyb3VuZDogI2ZmZjZmMTtcbiAgICBjb2xvcjogdmFyKC0tdG9zYS1vcmFuZ2UpO1xuICAgIGZvbnQtc2l6ZTogMC45cmVtO1xufVxuXG4ubWVudWJhcl9fc2VhcmNoLWJvZHkge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IDNweDtcbiAgICBtaW4td2lkdGg6IDA7XG59XG5cbi5tZW51YmFyX19zZWFyY2gtdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMC45cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xufVxuXG4ubWVudWJhcl9fc2VhcmNoLXRpdGxlIG1hcmsge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyNDEsIDczLCAxNiwgMC4xOCk7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgYm9yZGVyLXJhZGl1czogMnB4O1xufVxuXG4ubWVudWJhcl9fc2VhcmNoLXR5cGUge1xuICAgIGZvbnQtc2l6ZTogMC43cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBsZXR0ZXItc3BhY2luZzogMC40cHg7XG4gICAgY29sb3I6ICM4YTkwOTc7XG59XG5cbi5tZW51YmFyX19zZWFyY2gtaXRlbTpob3ZlciAubWVudWJhcl9fc2VhcmNoLXR5cGUsXG4ubWVudWJhcl9fc2VhcmNoLWl0ZW0uaXMtYWN0aXZlIC5tZW51YmFyX19zZWFyY2gtdHlwZSB7XG4gICAgY29sb3I6IHZhcigtLXRvc2Etb3JhbmdlKTtcbn1cblxuLm1lbnViYXJfX3NlYXJjaC1lbXB0eSB7XG4gICAgcGFkZGluZzogMXJlbSAxLjFyZW07XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGNvbG9yOiAjNmI3MTc3O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbiIsIi8qKlxuICogU3dpcGVyIDEyLjEuM1xuICogTW9zdCBtb2Rlcm4gbW9iaWxlIHRvdWNoIHNsaWRlciBhbmQgZnJhbWV3b3JrIHdpdGggaGFyZHdhcmUgYWNjZWxlcmF0ZWQgdHJhbnNpdGlvbnNcbiAqIGh0dHBzOi8vc3dpcGVyanMuY29tXG4gKlxuICogQ29weXJpZ2h0IDIwMTQtMjAyNiBWbGFkaW1pciBLaGFybGFtcGlkaVxuICpcbiAqIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgTGljZW5zZVxuICpcbiAqIFJlbGVhc2VkIG9uOiBNYXJjaCAyNCwgMjAyNlxuICovXG5cbjpyb290IHtcbiAgLS1zd2lwZXItdGhlbWUtY29sb3I6ICMwMDdhZmY7XG4gIC8qXG4gIC0tc3dpcGVyLXByZWxvYWRlci1jb2xvcjogdmFyKC0tc3dpcGVyLXRoZW1lLWNvbG9yKTtcbiAgLS1zd2lwZXItd3JhcHBlci10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogaW5pdGlhbDtcbiAgKi9cbn1cbjpob3N0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgei1pbmRleDogMTtcbn1cbi5zd2lwZXIge1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIHBhZGRpbmc6IDA7XG4gIC8qIEZpeCBvZiBXZWJraXQgZmxpY2tlcmluZyAqL1xuICB6LWluZGV4OiAxO1xuICBkaXNwbGF5OiBibG9jaztcbn1cbi5zd2lwZXItdmVydGljYWwgPiAuc3dpcGVyLXdyYXBwZXIge1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuLnN3aXBlci13cmFwcGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB6LWluZGV4OiAxO1xuICBkaXNwbGF5OiBmbGV4O1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiB2YXIoLS1zd2lwZXItd3JhcHBlci10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbiwgaW5pdGlhbCk7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xufVxuLnN3aXBlci1hbmRyb2lkIC5zd2lwZXItc2xpZGUsXG4uc3dpcGVyLWlvcyAuc3dpcGVyLXNsaWRlLFxuLnN3aXBlci13cmFwcGVyIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwcHgsIDAsIDApO1xufVxuLnN3aXBlci1ob3Jpem9udGFsIHtcbiAgdG91Y2gtYWN0aW9uOiBwYW4teTtcbn1cbi5zd2lwZXItdmVydGljYWwge1xuICB0b3VjaC1hY3Rpb246IHBhbi14O1xufVxuLnN3aXBlci1zbGlkZSB7XG4gIGZsZXgtc2hyaW5rOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTtcbiAgZGlzcGxheTogYmxvY2s7XG59XG4uc3dpcGVyLXNsaWRlLWludmlzaWJsZS1ibGFuayB7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbn1cbi8qIEF1dG8gSGVpZ2h0ICovXG4uc3dpcGVyLWF1dG9oZWlnaHQsXG4uc3dpcGVyLWF1dG9oZWlnaHQgLnN3aXBlci1zbGlkZSB7XG4gIGhlaWdodDogYXV0bztcbn1cbi5zd2lwZXItYXV0b2hlaWdodCAuc3dpcGVyLXdyYXBwZXIge1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBoZWlnaHQ7XG59XG4uc3dpcGVyLWJhY2tmYWNlLWhpZGRlbiAuc3dpcGVyLXNsaWRlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG59XG4vKiAzRCBFZmZlY3RzICovXG4uc3dpcGVyLTNkLnN3aXBlci1jc3MtbW9kZSAuc3dpcGVyLXdyYXBwZXIge1xuICBwZXJzcGVjdGl2ZTogMTIwMHB4O1xufVxuLnN3aXBlci0zZCAuc3dpcGVyLXdyYXBwZXIge1xuICB0cmFuc2Zvcm0tc3R5bGU6IHByZXNlcnZlLTNkO1xufVxuLnN3aXBlci0zZCB7XG4gIHBlcnNwZWN0aXZlOiAxMjAwcHg7XG4gIC5zd2lwZXItc2xpZGUsXG4gIC5zd2lwZXItY3ViZS1zaGFkb3cge1xuICAgIHRyYW5zZm9ybS1zdHlsZTogcHJlc2VydmUtM2Q7XG4gIH1cbn1cblxuLyogQ1NTIE1vZGUgKi9cbi5zd2lwZXItY3NzLW1vZGUge1xuICA+IC5zd2lwZXItd3JhcHBlciB7XG4gICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgc2Nyb2xsYmFyLXdpZHRoOiBub25lOyAvKiBGb3IgRmlyZWZveCAqL1xuICAgIC1tcy1vdmVyZmxvdy1zdHlsZTogbm9uZTsgLyogRm9yIEludGVybmV0IEV4cGxvcmVyIGFuZCBFZGdlICovXG4gICAgJjo6LXdlYmtpdC1zY3JvbGxiYXIge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cbiAgPiAuc3dpcGVyLXdyYXBwZXIgPiAuc3dpcGVyLXNsaWRlIHtcbiAgICBzY3JvbGwtc25hcC1hbGlnbjogc3RhcnQgc3RhcnQ7XG4gIH1cbiAgJi5zd2lwZXItaG9yaXpvbnRhbCB7XG4gICAgPiAuc3dpcGVyLXdyYXBwZXIge1xuICAgICAgc2Nyb2xsLXNuYXAtdHlwZTogeCBtYW5kYXRvcnk7XG4gICAgfVxuICAgID4gLnN3aXBlci13cmFwcGVyID4gLnN3aXBlci1zbGlkZTpmaXJzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiB2YXIoLS1zd2lwZXItc2xpZGVzLW9mZnNldC1iZWZvcmUpO1xuICAgICAgc2Nyb2xsLW1hcmdpbi1pbmxpbmUtc3RhcnQ6IHZhcigtLXN3aXBlci1zbGlkZXMtb2Zmc2V0LWJlZm9yZSk7XG4gICAgfVxuICAgID4gLnN3aXBlci13cmFwcGVyID4gLnN3aXBlci1zbGlkZTpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1pbmxpbmUtZW5kOiB2YXIoLS1zd2lwZXItc2xpZGVzLW9mZnNldC1hZnRlcik7XG4gICAgfVxuICB9XG4gICYuc3dpcGVyLXZlcnRpY2FsIHtcbiAgICA+IC5zd2lwZXItd3JhcHBlciB7XG4gICAgICBzY3JvbGwtc25hcC10eXBlOiB5IG1hbmRhdG9yeTtcbiAgICB9XG4gICAgPiAuc3dpcGVyLXdyYXBwZXIgPiAuc3dpcGVyLXNsaWRlOmZpcnN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1ibG9jay1zdGFydDogdmFyKC0tc3dpcGVyLXNsaWRlcy1vZmZzZXQtYmVmb3JlKTtcbiAgICAgIHNjcm9sbC1tYXJnaW4tYmxvY2stc3RhcnQ6IHZhcigtLXN3aXBlci1zbGlkZXMtb2Zmc2V0LWJlZm9yZSk7XG4gICAgfVxuICAgID4gLnN3aXBlci13cmFwcGVyID4gLnN3aXBlci1zbGlkZTpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1ibG9jay1lbmQ6IHZhcigtLXN3aXBlci1zbGlkZXMtb2Zmc2V0LWFmdGVyKTtcbiAgICB9XG4gIH1cbiAgJi5zd2lwZXItZnJlZS1tb2RlIHtcbiAgICA+IC5zd2lwZXItd3JhcHBlciB7XG4gICAgICBzY3JvbGwtc25hcC10eXBlOiBub25lO1xuICAgIH1cbiAgICA+IC5zd2lwZXItd3JhcHBlciA+IC5zd2lwZXItc2xpZGUge1xuICAgICAgc2Nyb2xsLXNuYXAtYWxpZ246IG5vbmU7XG4gICAgfVxuICB9XG4gICYuc3dpcGVyLWNlbnRlcmVkIHtcbiAgICA+IC5zd2lwZXItd3JhcHBlcjo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICBvcmRlcjogOTk5OTtcbiAgICB9XG4gICAgPiAuc3dpcGVyLXdyYXBwZXIgPiAuc3dpcGVyLXNsaWRlIHtcbiAgICAgIHNjcm9sbC1zbmFwLWFsaWduOiBjZW50ZXIgY2VudGVyO1xuICAgICAgc2Nyb2xsLXNuYXAtc3RvcDogYWx3YXlzO1xuICAgIH1cbiAgfVxuICAmLnN3aXBlci1jZW50ZXJlZC5zd2lwZXItaG9yaXpvbnRhbCB7XG4gICAgPiAuc3dpcGVyLXdyYXBwZXIgPiAuc3dpcGVyLXNsaWRlOmZpcnN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IHZhcigtLXN3aXBlci1jZW50ZXJlZC1vZmZzZXQtYmVmb3JlKTtcbiAgICB9XG4gICAgPiAuc3dpcGVyLXdyYXBwZXI6OmJlZm9yZSB7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBtaW4taGVpZ2h0OiAxcHg7XG4gICAgICB3aWR0aDogdmFyKC0tc3dpcGVyLWNlbnRlcmVkLW9mZnNldC1hZnRlcik7XG4gICAgfVxuICB9XG4gICYuc3dpcGVyLWNlbnRlcmVkLnN3aXBlci12ZXJ0aWNhbCB7XG4gICAgPiAuc3dpcGVyLXdyYXBwZXIgPiAuc3dpcGVyLXNsaWRlOmZpcnN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1ibG9jay1zdGFydDogdmFyKC0tc3dpcGVyLWNlbnRlcmVkLW9mZnNldC1iZWZvcmUpO1xuICAgIH1cbiAgICA+IC5zd2lwZXItd3JhcHBlcjo6YmVmb3JlIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWluLXdpZHRoOiAxcHg7XG4gICAgICBoZWlnaHQ6IHZhcigtLXN3aXBlci1jZW50ZXJlZC1vZmZzZXQtYWZ0ZXIpO1xuICAgIH1cbiAgfVxufVxuXG4vKiBTbGlkZSBzdHlsZXMgc3RhcnQgKi9cbi8qIDNEIFNoYWRvd3MgKi9cbi5zd2lwZXItM2Qge1xuICAuc3dpcGVyLXNsaWRlLXNoYWRvdyxcbiAgLnN3aXBlci1zbGlkZS1zaGFkb3ctbGVmdCxcbiAgLnN3aXBlci1zbGlkZS1zaGFkb3ctcmlnaHQsXG4gIC5zd2lwZXItc2xpZGUtc2hhZG93LXRvcCxcbiAgLnN3aXBlci1zbGlkZS1zaGFkb3ctYm90dG9tLFxuICAuc3dpcGVyLXNsaWRlLXNoYWRvdyxcbiAgLnN3aXBlci1zbGlkZS1zaGFkb3ctbGVmdCxcbiAgLnN3aXBlci1zbGlkZS1zaGFkb3ctcmlnaHQsXG4gIC5zd2lwZXItc2xpZGUtc2hhZG93LXRvcCxcbiAgLnN3aXBlci1zbGlkZS1zaGFkb3ctYm90dG9tIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMDtcbiAgICB0b3A6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIHotaW5kZXg6IDEwO1xuICB9XG4gIC5zd2lwZXItc2xpZGUtc2hhZG93IHtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMTUpO1xuICB9XG4gIC5zd2lwZXItc2xpZGUtc2hhZG93LWxlZnQge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBsZWZ0LCByZ2JhKDAsIDAsIDAsIDAuNSksIHJnYmEoMCwgMCwgMCwgMCkpO1xuICB9XG4gIC5zd2lwZXItc2xpZGUtc2hhZG93LXJpZ2h0IHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsIHJnYmEoMCwgMCwgMCwgMC41KSwgcmdiYSgwLCAwLCAwLCAwKSk7XG4gIH1cbiAgLnN3aXBlci1zbGlkZS1zaGFkb3ctdG9wIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gdG9wLCByZ2JhKDAsIDAsIDAsIDAuNSksIHJnYmEoMCwgMCwgMCwgMCkpO1xuICB9XG4gIC5zd2lwZXItc2xpZGUtc2hhZG93LWJvdHRvbSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgcmdiYSgwLCAwLCAwLCAwLjUpLCByZ2JhKDAsIDAsIDAsIDApKTtcbiAgfVxufVxuLnN3aXBlci1sYXp5LXByZWxvYWRlciB7XG4gIHdpZHRoOiA0MnB4O1xuICBoZWlnaHQ6IDQycHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogNTAlO1xuICB0b3A6IDUwJTtcbiAgbWFyZ2luLWxlZnQ6IC0yMXB4O1xuICBtYXJnaW4tdG9wOiAtMjFweDtcbiAgei1pbmRleDogMTA7XG4gIHRyYW5zZm9ybS1vcmlnaW46IDUwJTtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgYm9yZGVyOiA0cHggc29saWQgdmFyKC0tc3dpcGVyLXByZWxvYWRlci1jb2xvciwgdmFyKC0tc3dpcGVyLXRoZW1lLWNvbG9yKSk7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgYm9yZGVyLXRvcC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG4uc3dpcGVyOm5vdCguc3dpcGVyLXdhdGNoLXByb2dyZXNzKSxcbi5zd2lwZXItd2F0Y2gtcHJvZ3Jlc3MgLnN3aXBlci1zbGlkZS12aXNpYmxlIHtcbiAgLnN3aXBlci1sYXp5LXByZWxvYWRlciB7XG4gICAgYW5pbWF0aW9uOiBzd2lwZXItcHJlbG9hZGVyLXNwaW4gMXMgaW5maW5pdGUgbGluZWFyO1xuICB9XG59XG4uc3dpcGVyLWxhenktcHJlbG9hZGVyLXdoaXRlIHtcbiAgLS1zd2lwZXItcHJlbG9hZGVyLWNvbG9yOiAjZmZmO1xufVxuLnN3aXBlci1sYXp5LXByZWxvYWRlci1ibGFjayB7XG4gIC0tc3dpcGVyLXByZWxvYWRlci1jb2xvcjogIzAwMDtcbn1cbkBrZXlmcmFtZXMgc3dpcGVyLXByZWxvYWRlci1zcGluIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gIH1cbn1cbi8qIFNsaWRlIHN0eWxlcyBlbmQgKi9cbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==*/