@import url('https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100..900;1,100..900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100..900;1,100..900&family=Unbounded:wght@200..900&display=swap');
.montserrat {
  font-family: "Montserrat", sans-serif;
  font-optical-sizing: auto;
}
.unbounded-font {
    font-family: "Unbounded", sans-serif;
    font-optical-sizing: auto;
}
.unbounded-400 {
  font-family: "Unbounded", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
}
.content-holder {
    max-width: var(--max-width);
    margin: 0 auto;
}
.bg-wrapper {
    background-color: var(--section-background-dark);
}
:root {
    --color-primary-blue: #0019FF;
    --color-primary-dark-blue: #161D2F;
    --color-primary-grey: #64748B;
    --max-width: 2220px;

    --section-border-radius: 40px;
    --section-background-dark: #0b1526;
}
/* ===========================
   RESET & BASE
   =========================== */
*, *::before, *::after {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}
html {
    scroll-behavior: smooth;
}
body {
    margin: 0;
    font-family: "Montserrat", sans-serif;
    font-optical-sizing: auto;
    color: var(--color-primary-grey);
    background: #fff;
}
/* ===========================
   TYPOGRAPHY HELPERS
   =========================== */
h2 {
    font-size: 40px;
    font-weight: 400;
    color: var(--color-primary-dark-blue);
    font-family: "Unbounded", sans-serif;
    font-optical-sizing: auto;
    margin-bottom: 20px;
}
h3 {
    font-size: 24px;
    line-height: 32px;
    font-weight: bold;
    font-weight: 700;
    color: var(--color-primary-dark-blue);
    margin-bottom: 16px;
}
p {
    font-size: 20px;
    line-height: 32px;
    color: var(--color-primary-grey);
    font-family: "Montserrat", sans-serif;
    font-optical-sizing: auto;
}
.logo {
    display: flex;
    flex-direction: column;
    line-height: 1;
    width: 168px;
    height: 70px;
}
.logo-small {
    width: 120px;
    height: 50px;
}
.logo-eld {
    font-size: 1.6rem;
    font-weight: 900;
    color: #fff;
    letter-spacing: 2px;
}
.logo-systems {
    font-size: 0.55rem;
    font-weight: 600;
    color: #fff;
    letter-spacing: 4px;
    opacity: 0.85;
}
/* ===========================
   NAVBAR
   =========================== */
.navbar {
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.nav-links {
    display: flex;
    list-style: none;
    gap: 24px;
    font-family: 'Inter', sans-serif;
    font-weight: 600;
    font-size: 16px;
    line-height: 1;
}
.nav-links a {
    text-decoration: none;
    color: var(--color-primary-dark-blue);
    letter-spacing: 1px;
    transition: color 0.2s;

}
.nav-links a.active,
.nav-links a:hover {
    color: var(--color-primary-blue);
    border-bottom: 2px solid var(--color-primary-blue);
    padding-bottom: 2px;
}
.btn {
    display: inline-block;
    padding: 16px 24px;
    /* min-width: 140px; */
    height: 50px;
    border-radius: 80px;
    text-align: center;
    /* padding: 16px; */
    font-weight: 700;
    text-decoration: none;
    white-space: nowrap;
}
.btn-blue {
    font-size: 16px;
    line-height: 1;
    font-weight: 700;
    letter-spacing: 0.5%;
    color: #fff;
    background: var(--color-primary-blue);
}
.btn-login {
    text-transform: uppercase;
}
.btn-arrow {
    position: relative;
    padding-right: 62px;
}
.btn-arrow::after {
    content: '';
    position: absolute;
    right: 5px;
    top: 5px;
    width: 40px;
    height: 40px;
    margin-left: 8px;
    color: #000;
    border-radius: 50%;
    background:#fff url(../assets/arrow.svg) no-repeat center;
    transition: transform 0.2s;
}
.end-row {
    display: flex;
    justify-content: flex-end;
}
.btn-submit {
    cursor: pointer;
    -webkit-appearance: none;
    appearance: none;
    outline: none;
    border: none;
    width: fit-content;
}
.header {
    padding: 20px;
    position: sticky;
    top: 0;
    z-index: 100;
    background: RGB(239, 246, 253);
}
.header-holder {
    align-items: center;
    display: flex;
    justify-content: space-between;
}
/* ===========================
   HERO
   =========================== */
.hero {
    color:var(--color-primary-grey);
    background: RGB(239, 246, 253);
    padding: 160px 20px;
    background: linear-gradient(180deg, rgba(239, 246, 253, 1) 0%, rgba(208, 218, 228, 1) 100%);
    border-radius: 0 0 var(--section-border-radius) var(--section-border-radius);
}
.hero::before {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    /* background: radial-gradient(ellipse at 60% 50%, rgba(37, 99, 235, 0.12) 0%, transparent 65%); */
    pointer-events: none;
}
.hero-content {
    display: flex;
    align-items: center;
    max-width: 100%;
    overflow: hidden;
    /* padding: 0 8%; */
    /* padding: 120px 190px 120px 190px; */
    /* gap: 64px; */
    /* flex: 1; */
    /* background: RGB(239, 246, 253); */
    /* background: linear-gradient(180deg, rgba(239, 246, 253, 1) 0%, rgba(208, 218, 228, 1) 100%); */

}
.hero-text {
    flex: 1;
    /* z-index: 2; */
}
.hero-text h1 {
    font-size: 63px;
    line-height: 74px;
    /* font-size: 2.8rem; */
    /* font-weight: 800; */
    color: var(--color-primary-dark-blue);
    /* line-height: 1.2; */
    margin-bottom: 20px;

}
.hero-text h1 .text-blue {
    font-weight: normal;
    color: var(--color-primary-blue);
}
/* Make "Custom Software for" blue */
/* .hero-text h1::first-line {
    color: #3b82f6;
} */
/* .hero-text p {
    font-size: 0.9rem;
    max-width: 440px;
    margin-bottom: 32px;
} */
.hero-actions {
    margin-top: 40px;
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
}
.hero-image {
    overflow: hidden;
    /* margin: -40px 0 -40px -40px; */
}
.hero-image img{
    width: 100%;
    height: auto;
    display: block;
    min-width: 100%;
    margin: -40px 0 -40px -40px;
}
.input-wrapper {
    display: flex;
    align-items: center;
    border-radius: 40px;
    background-color: #fff;
}
.input-text {
    background: #fff;
    border: none;
    border-radius: 25px;
    padding: 16px 24px;
    height: 50px;
    font-size: 14px;
    line-height: 1;
    color: var(--color-primary-grey);
    font-family: 'Montserrat', sans-serif;
}
.input-text:focus-visible {
    outline: none;
    box-shadow: none;
}
.input-text::focus {
    outline: none;
    box-shadow: none;
}
.input-wrapper-wide {
    min-width: 320px;
}
.input-wrapper-wide .input-text {
    flex: 1
}
.textarea {
    background: #fff;
    border: none;
    border-radius: 25px;
    padding: 16px 24px;
    height: 50px;
    font-size: 14px;
    line-height: 1;
    color: var(--color-primary-grey);
    font-family: 'Montserrat', sans-serif;
    min-width: 100%;
    min-height: 54px;
    max-width: 100%;
    width: 100%;
    padding: 12px 16px;
}
.textarea:focus-visible {
    outline: none;
    box-shadow: none;
}
.email-icon::before {
    content: "✉";
    display: inline-block;
    margin-left: 26px;
    font-size: 24px;
    line-height: 1;
}
.text-blue {
    color: var(--color-primary-blue);
}
.text-center {
    text-align: center;
}
/* ===========================
   SERVICES
   =========================== */
.services {
    padding: 120px 20px;
    /* padding: 100px 120px; */
    text-align: center;
    background-color: #fff;
}
.services h2 {
    /* color: #1a1a2e; */
    margin-bottom: 20px;
    /* font-size: 2rem; */
}
.section-subtitle {
    margin-bottom: 64px;
    /* max-width: 700px; */
    /* margin: 0 auto 56px; */
    /* color: #666; */
    /* font-size: 0.9rem; */
}
.services-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
    text-align: left;
}
.service-card {
    border: 1px solid #64748B;
    border-radius: 14px;
    padding: 28px 24px;
    transition: box-shadow 0.2s;
}
.service-card:hover {
    box-shadow: 0 4px 24px rgba(37,99,235,0.08);
}
.service-num {
    display: block;
    font-size: 24px;
    line-height: 1;
    font-weight: 700;
    color: var(--color-primary-blue);
    margin-bottom: 16px;
}
/* .service-card h3 {
    font-size: 24px;
    line-height: 32px;
    font-weight: bold;
    font-weight: 700;
    color: #1a1a2e;
    margin-bottom: 10px;
} */
.service-card p {
    font-size: 18px;
    line-height: 24px;;

}
/* ===========================
   PRODUCTS
   =========================== */
.products {
    padding: 120px 20px;
    text-align: center;
    border-radius: 0 0 var(--section-border-radius) var(--section-border-radius);
    background-color: #F8FAFC;
}
/* .products h2 {
    font-size: 2rem;
    color: #1a1a2e;
    margin-bottom: 16px;
} */
.products-grid {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 24px;
    /* margin-top: 48px; */
    text-align: left;
}
.product-card {
    display: flex;
    flex-direction: column;
}
.product-image {
    height: 220px;
    border-radius: 16px;
    margin-bottom: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    overflow: hidden;
}
.product-image img {
    width: 100%;
    height: auto;
    object-fit: cover;
    border-radius: 16px;
}
/* .product-image-wheels {
    background: linear-gradient(135deg, #1a0a3d 0%, #2d0a6e 40%, #1a1a4a 100%);
} */
.product-overlay-text {
    display: flex;
    flex-direction: column;
    align-items: center;
    color: #fff;
}
.prod-title-italic {
    font-size: 2rem;
    font-style: italic;
    font-weight: 800;
    color: #fff;
}
.prod-title-normal {
    font-size: 1.2rem;
    font-weight: 600;
    letter-spacing: 4px;
    color: rgba(255,255,255,0.8);
}
/* .product-image-club {
    background: linear-gradient(135deg, #1a1a2e 0%, #0a1628 100%);
} */
.product-overlay-eld {
    display: flex;
    flex-direction: column;
    align-items: center;
}
.club-eld-logo {
    font-size: 3rem;
    font-weight: 900;
    color: #f97316;
    letter-spacing: 4px;
}
.club-text {
    font-size: 1.2rem;
    font-weight: 700;
    color: rgba(255,255,255,0.6);
    letter-spacing: 6px;
}
.product-card h3 {
    font-size: 1.05rem;
    font-weight: 700;
    color: #1a1a2e;
    margin-bottom: 10px;
}
.product-card p {
    font-size: 0.82rem;
    color: #666;
    line-height: 1.6;
    margin-bottom: 20px;
    flex: 1;
}
.btn-outline {
    display: inline-block;
    border: 1.5px solid #2563eb;
    color: #2563eb;
    background: transparent;
    border-radius: 8px;
    padding: 9px 20px;
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 1px;
    cursor: pointer;
    transition: background 0.2s, color 0.2s;
    width: fit-content;
}
.btn-outline:hover {
    background: #2563eb;
    color: #fff;
}
/* Third product card – promo card */
.product-card-promo {
    border: 1px solid #64748B;
    border-radius: 16px;
    min-height: 320px;
    display: flex;
    align-items: flex-end;
    padding: 30px;
    position: relative;
    overflow: hidden;
}
.promo-content {
    width: 100%;
    margin: auto;
    display: flex;
}
.promo-heading {
    font-size: 63px;
    line-height: 74px;
    font-weight: 500;
    margin: 0;
    color: var(--color-primary-dark-blue);
    text-transform: uppercase;

}
.promo-link {
    display: inline-flex;
    justify-content: center;
    width: 80px;
    height: 80px;
    background: url(../assets/arrow_big.svg) no-repeat center;
    background-size: contain;
    font-size: 0;
    line-height: 0;
    align-self: flex-end;
    text-decoration: none;
}
.testimonials {
    padding: 120px 20px;
    background: #0b1526;
    color: #fff;
}
.testimonials p {
    color: #fff;
}
.testimonials-header {
    margin-bottom: 48px;
}
.testimonials-header h2 {
    color: #fff;
    font-weight: 400;
    /* font-size: 2.8rem;
    font-weight: 900;
    color: #fff;
    line-height: 1.1;
    text-transform: uppercase; */
}
.testimonials-header .bold {
    color: #fff;
    font-weight: 400;
}
.testimonials-header .outline-text {
    -webkit-text-stroke: 2px rgba(255,255,255,1);
    color: transparent;
}
.testimonials-grid {
    display: flex;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
    gap: 8px;
    -ms-overflow-style: none;
    scrollbar-width: none;
}
.testimonials-grid::-webkit-scrollbar {
    display: none;
}
.testimonial-card {
    /* background: rgba(255, 255, 255, 0.05); */
    border: 1px solid #fff;
    border-radius: 14px;
    padding: 28px;
    display: flex;
    flex-direction: column;
    color: #fff;
    gap: 16px;
    flex: 0 0 calc(25% - 6px);
    scroll-snap-align: start;
}
.testimonial-card-blue {
    background: var(--color-primary-blue);
    border-color: var(--color-primary-blue);
}
.quote-mark {
    font-size: 1.8rem;
    /* color: rgba(255,255,255,0.6); */
    line-height: 1;
}
.testimonial-card p {
    font-size: 0.85rem;
    /* color: rgba(255,255,255,0.85); */
    line-height: 1.6;
    flex: 1;
}
.testimonial-author {
    display: flex;
    flex-direction: column;
    gap: 2px;
}
.testimonial-author strong {
    font-size: 0.8rem;
    font-weight: 700;
    /* color: #fff; */
    letter-spacing: 0.5px;
}
.testimonial-author span {
    font-size: 0.72rem;
    /* color: rgba(255,255,255,0.5); */
}
.testimonial-nav {
    display: flex;
    gap: 12px;
    margin-top: 32px;
}
.nav-arrow {
    width: 36px;
    height: 36px;
    /* border-radius: 50%; */
    /* border: 1.5px solid rgba(255,255,255,0.3); */
    background: transparent;
    color: #fff;
    font-size: 1rem;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    -moz-appearance: none;
    -webkit-appearance: none;
    outline: none;
    transition: background 0.2s;
}
.nav-arrow:hover {
    background: rgba(255,255,255,0.12);
}
/* .btn-submit {
    align-self: flex-start;
    padding: 12px 32px;
    font-size: 0.82rem;
} */
/* ===========================
   FOOTER
   =========================== */
.footer {
    color: #fff;
    background: #1E293B;
}
.footer-holder {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 24px 20px;
    margin: 0 auto;
}
.footer-logo {
    display: flex;
    flex-direction: column;
    line-height: 1;
}
.footer .logo-eld {
    font-size: 1.4rem;
    font-weight: 900;
    color: rgba(255,255,255,0.85);
    letter-spacing: 2px;
}
.footer .logo-systems {
    font-size: 0.48rem;
    font-weight: 600;
    color: rgba(255,255,255,0.5);
    letter-spacing: 4px;
}
/* ===========================
   CONTACT
   =========================== */
.contact {
    background: #0b1526;
    padding: 120px 20px;
    color: #fff;
    border-top: 1px solid #64748B;
}
.contact-holder {
    display: flex;
    align-items: flex-start;
    gap: 80px;
    width: 100%;
}
.contact p {
    color: #fff;
}
.contact-left {
    flex: 1;
}
.contact-title-block {
    display: flex;
    align-items: center;
    /* gap: 12px; */
    /* margin-bottom: 4px; */
    font-size: 64px;
    line-height: 80px;
    font-weight: 400;
}
.contact-title-block h2 {
    font-size: inherit;
    font-weight: inherit;
    font-weight: 400;
    color: #fff;
    text-transform: uppercase;
    letter-spacing: 1px;
}
.contact-arrow {
    /* font-size: 1.4rem; */
    /* color: rgba(255,255,255,0.6); */
    display: inline-block;
    width: 80px;
    height: 80px;
    font-size: 0;
    line-height: 0;
    background: url('../assets/contacts_arrow.svg') no-repeat center;
}
.contact-title-solid {
    margin: 0;
    font-size: 64px;
    font-weight: 400;
    color: #fff;
    text-transform: uppercase;
    letter-spacing: 1px;
}
.contact-title-outline {
    font-size: 64px;
    line-height: 80px;
    color: transparent;
    -webkit-text-stroke: 2px rgba(255,255,255,1);
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 40px;
}
.contact-info {
    display: flex;
    flex-direction: column;
    gap: 20px;
}
.contact-item {
    display: flex;
    align-items: center;
    gap: 12px;
    color: rgba(255,255,255,0.75);
    font-size: 0.9rem;
}
.contact-icon {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background-color: #fff;
    /* border: 1.5px solid rgba(255,255,255,0.3); */
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 0.75rem;
    flex-shrink: 0;
    color: var(--primary-color-dark-blue);
}
.phone-icon::before { content: '📞'; font-size: 0.75rem; color: #000;}
.email-icon-c::before { content: '✉'; font-size: 0.75rem;color: #000; }
.contact-right {
    flex: 1;
}
.contact-right h3 {
    font-size: 1.1rem;
    font-weight: 700;
    color: #fff;
    margin-bottom: 8px;
}
.contact-right p {
    font-size: 0.85rem;
    margin-bottom: 24px;
}
.contact-form {
    display: flex;
    flex-direction: column;
    gap: 20px;
}
.contact-form .row {
    display: flex;
    gap: 20px;
}
.contact-form .row .row-item-stretch {
    flex: 1;
}
.contact-form .textarea {
    max-width: 636px;
}
/*
.contact-form input,
.contact-form textarea {
    background: rgba(255,255,255,0.06);
    border: 1px solid rgba(255,255,255,0.15);
    border-radius: 8px;
    padding: 14px 16px;
    color: #fff;
    font-size: 0.85rem;
    font-family: 'Inter', sans-serif;
    outline: none;
    transition: border-color 0.2s;
}

.contact-form input::placeholder,
.contact-form textarea::placeholder {
    color: rgba(255,255,255,0.35);
}

.contact-form input:focus,
.contact-form textarea:focus {
    border-color: #2563eb;
}

.contact-form textarea {
    height: 100px;
    resize: vertical;
} */
/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9mb250cy5jc3MiLCJzcmMvbGF5b3V0LmNzcyIsInNyYy92YXJzLmNzcyIsInNyYy9yZXNldC5jc3MiLCJzcmMvdHlwb2dyYXBoeS5jc3MiLCJzcmMvbG9nb3MuY3NzIiwic3JjL25hdmJhci5jc3MiLCJzcmMvYnV0dG9ucy5jc3MiLCJzcmMvaGVhZGVyLmNzcyIsInNyYy9oZXJvLmNzcyIsInNyYy9pbnB1dHMuY3NzIiwic3JjL3RleHQuY3NzIiwic3JjL3NlcnZpY2VzLXNlY3Rpb24uY3NzIiwic3JjL3Byb2R1Y3RzLXNlY3Rpb24uY3NzIiwic3JjL3Rlc3RpbW9uaWFscy1zZWN0aW9uLmNzcyIsInNyYy9mb290ZXIuY3NzIiwic3JjL3Jlc3BvbnNpdmUuY3NzIiwic3JjL2NvbnRhY3RzLXNlY3Rpb24uY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLCtHQUErRztBQUMvRyw4SUFBOEk7QUFHOUk7RUFDRSxxQ0FBcUM7RUFDckMseUJBQXlCO0FBQzNCO0FBRUE7SUFDSSxvQ0FBb0M7SUFDcEMseUJBQXlCO0FBQzdCO0FBRUE7RUFDRSxvQ0FBb0M7RUFDcEMseUJBQXlCO0VBQ3pCLGdCQUFnQjtFQUNoQixrQkFBa0I7QUFDcEI7QUNuQkE7SUFDSSwyQkFBMkI7SUFDM0IsY0FBYztBQUNsQjtBQUVBO0lBQ0ksZ0RBQWdEO0FBQ3BEO0FDUEE7SUFDSSw2QkFBNkI7SUFDN0Isa0NBQWtDO0lBQ2xDLDZCQUE2QjtJQUM3QixtQkFBbUI7O0lBRW5CLDZCQUE2QjtJQUM3QixrQ0FBa0M7QUFDdEM7QUNSQTs7Z0NBRWdDO0FBQ2hDO0lBQ0ksc0JBQXNCO0lBQ3RCLFNBQVM7SUFDVCxVQUFVO0FBQ2Q7QUFFQTtJQUNJLHVCQUF1QjtBQUMzQjtBQUVBO0lBQ0ksU0FBUztJQUNULHFDQUFxQztJQUNyQyx5QkFBeUI7SUFDekIsZ0NBQWdDO0lBQ2hDLGdCQUFnQjtBQUNwQjtBQ25CQTs7Z0NBRWdDO0FBQ2hDO0lBQ0ksZUFBZTtJQUNmLGdCQUFnQjtJ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Q2IsU0FBUztBQUNiO0FBRUE7SUFDSSxPQUFPO0FBQ1g7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjtBQUVBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0EyQkciLCJmaWxlIjoic3R5bGVzLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIkBpbXBvcnQgdXJsKCdodHRwczovL2ZvbnRzLmdvb2dsZWFwaXMuY29tL2NzczI/ZmFtaWx5PU1vbnRzZXJyYXQ6aXRhbCx3Z2h0QDAsMTAwLi45MDA7MSwxMDAuLjkwMCZkaXNwbGF5PXN3YXAnKTtcclxuQGltcG9ydCB1cmwoJ2h0dHBzOi8vZm9udHMuZ29vZ2xlYXBpcy5jb20vY3NzMj9mYW1pbHk9TW9udHNlcnJhdDppdGFsLHdnaHRAMCwxMDAuLjkwMDsxLDEwMC4uOTAwJmZhbWlseT1VbmJvdW5kZWQ6d2dodEAyMDAuLjkwMCZkaXNwbGF5PXN3YXAnKTtcclxuXHJcblxyXG4ubW9udHNlcnJhdCB7XHJcbiAgZm9udC1mYW1pbHk6IFwiTW9udHNlcnJhdFwiLCBzYW5zLXNlcmlmO1xyXG4gIGZvbnQtb3B0aWNhbC1zaXppbmc6IGF1dG87XHJcbn1cclxuXHJcbi51bmJvdW5kZWQtZm9udCB7XHJcbiAgICBmb250LWZhbWlseTogXCJVbmJvdW5kZWRcIiwgc2Fucy1zZXJpZjtcclxuICAgIGZvbnQtb3B0aWNhbC1zaXppbmc6IGF1dG87XHJcbn1cclxuXHJcbi51bmJvdW5kZWQtNDAwIHtcclxuICBmb250LWZhbWlseTogXCJVbmJvdW5kZWRcIiwgc2Fucy1zZXJpZjtcclxuICBmb250LW9wdGljYWwtc2l6aW5nOiBhdXRvO1xyXG4gIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xyXG59XHJcblxyXG4iLCIuY29udGVudC1ob2xkZXIge1xyXG4gICAgbWF4LXdpZHRoOiB2YXIoLS1tYXgtd2lkdGgpO1xyXG4gICAgbWFyZ2luOiAwIGF1dG87XHJcbn1cclxuXHJcbi5iZy13cmFwcGVyIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXNlY3Rpb24tYmFja2dyb3VuZC1kYXJrKTtcclxufSIsIjpyb290IHtcclxuICAgIC0tY29sb3ItcHJpbWFyeS1ibHVlOiAjMDAxOUZGO1xyXG4gICAgLS1jb2xvci1wcmltYXJ5LWRhcmstYmx1ZTogIzE2MUQyRjtcclxuICAgIC0tY29sb3ItcHJpbWFyeS1ncmV5OiAjNjQ3NDhCO1xyXG4gICAgLS1tYXgtd2lkdGg6IDIyMjBweDtcclxuXHJcbiAgICAtLXNlY3Rpb24tYm9yZGVyLXJhZGl1czogNDBweDtcclxuICAgIC0tc2VjdGlvbi1iYWNrZ3JvdW5kLWRhcms6ICMwYjE1MjY7XHJcbn0iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgUkVTRVQgJiBCQVNFXHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG4qLCAqOjpiZWZvcmUsICo6OmFmdGVyIHtcclxuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG59XHJcblxyXG5odG1sIHtcclxuICAgIHNjcm9sbC1iZWhhdmlvcjogc21vb3RoO1xyXG59XHJcblxyXG5ib2R5IHtcclxuICAgIG1hcmdpbjogMDtcclxuICAgIGZvbnQtZmFtaWx5OiBcIk1vbnRzZXJyYXRcIiwgc2Fucy1zZXJpZjtcclxuICAgIGZvbnQtb3B0aWNhbC1zaXppbmc6IGF1dG87XHJcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS1ncmV5KTtcclxuICAgIGJhY2tncm91bmQ6ICNmZmY7XHJcbn1cclxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgIFRZUE9HUkFQSFkgSEVMUEVSU1xyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuaDIge1xyXG4gICAgZm9udC1zaXplOiA0MHB4O1xyXG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LWRhcmstYmx1ZSk7XHJcbiAgICBmb250LWZhbWlseTogXCJVbmJvdW5kZWRcIiwgc2Fucy1zZXJpZjtcclxuICAgIGZvbnQtb3B0aWNhbC1zaXppbmc6IGF1dG87XHJcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG59XHJcblxyXG5oMyB7XHJcbiAgICBmb250LXNpemU6IDI0cHg7XHJcbiAgICBsaW5lLWhlaWdodDogMzJweDtcclxuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LWRhcmstYmx1ZSk7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAxNnB4O1xyXG59XHJcblxyXG5wIHtcclxuICAgIGZvbnQtc2l6ZTogMjBweDtcclxuICAgIGxpbmUtaGVpZ2h0OiAzMnB4O1xyXG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnktZ3JleSk7XHJcbiAgICBmb250LWZhbWlseTogXCJNb250c2VycmF0XCIsIHNhbnMtc2VyaWY7XHJcbiAgICBmb250LW9wdGljYWwtc2l6aW5nOiBhdXRvO1xyXG59XHJcbiIsIi5sb2dvIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgbGluZS1oZWlnaHQ6IDE7XHJcbiAgICB3aWR0aDogMTY4cHg7XHJcbiAgICBoZWlnaHQ6IDcwcHg7XHJcbn1cclxuXHJcbi5sb2dvLXNtYWxsIHtcclxuICAgIHdpZHRoOiAxMjBweDtcclxuICAgIGhlaWdodDogNTBweDtcclxufVxyXG5cclxuLmxvZ28tZWxkIHtcclxuICAgIGZvbnQtc2l6ZTogMS42cmVtO1xyXG4gICAgZm9udC13ZWlnaHQ6IDkwMDtcclxuICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgbGV0dGVyLXNwYWNpbmc6IDJweDtcclxufVxyXG5cclxuLmxvZ28tc3lzdGVtcyB7XHJcbiAgICBmb250LXNpemU6IDAuNTVyZW07XHJcbiAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgY29sb3I6ICNmZmY7XHJcbiAgICBsZXR0ZXItc3BhY2luZzogNHB4O1xyXG4gICAgb3BhY2l0eTogMC44NTtcclxufVxyXG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgTkFWQkFSXHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG4ubmF2YmFyIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG59XHJcblxyXG4ubmF2LWxpbmtzIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBsaXN0LXN0eWxlOiBub25lO1xyXG4gICAgZ2FwOiAyNHB4O1xyXG4gICAgZm9udC1mYW1pbHk6ICdJbnRlcicsIHNhbnMtc2VyaWY7XHJcbiAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgbGluZS1oZWlnaHQ6IDE7XHJcbn1cclxuXHJcbi5uYXYtbGlua3MgYSB7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS1kYXJrLWJsdWUpO1xyXG4gICAgbGV0dGVyLXNwYWNpbmc6IDFweDtcclxuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuMnM7XHJcblxyXG59XHJcblxyXG4ubmF2LWxpbmtzIGEuYWN0aXZlLFxyXG4ubmF2LWxpbmtzIGE6aG92ZXIge1xyXG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnktYmx1ZSk7XHJcbiAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgdmFyKC0tY29sb3ItcHJpbWFyeS1ibHVlKTtcclxuICAgIHBhZGRpbmctYm90dG9tOiAycHg7XHJcbn1cclxuIiwiLmJ0biB7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICBwYWRkaW5nOiAxNnB4IDI0cHg7XHJcbiAgICAvKiBtaW4td2lkdGg6IDE0MHB4OyAqL1xyXG4gICAgaGVpZ2h0OiA1MHB4O1xyXG4gICAgYm9yZGVyLXJhZGl1czogODBweDtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIC8qIHBhZGRpbmc6IDE2cHg7ICovXHJcbiAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxufVxyXG5cclxuLmJ0bi1ibHVlIHtcclxuICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgIGxpbmUtaGVpZ2h0OiAxO1xyXG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgIGxldHRlci1zcGFjaW5nOiAwLjUlO1xyXG4gICAgY29sb3I6ICNmZmY7XHJcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1wcmltYXJ5LWJsdWUpO1xyXG59XHJcblxyXG4uYnRuLWxvZ2luIHtcclxuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbn1cclxuXHJcbi5idG4tYXJyb3cge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgcGFkZGluZy1yaWdodDogNjJweDtcclxufVxyXG5cclxuLmJ0bi1hcnJvdzo6YWZ0ZXIge1xyXG4gICAgY29udGVudDogJyc7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICByaWdodDogNXB4O1xyXG4gICAgdG9wOiA1cHg7XHJcbiAgICB3aWR0aDogNDBweDtcclxuICAgIGhlaWdodDogNDBweDtcclxuICAgIG1hcmdpbi1sZWZ0OiA4cHg7XHJcbiAgICBjb2xvcjogIzAwMDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICAgIGJhY2tncm91bmQ6I2ZmZiB1cmwoLi4vYXNzZXRzL2Fycm93LnN2Zykgbm8tcmVwZWF0IGNlbnRlcjtcclxuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjJzO1xyXG59XHJcblxyXG4uZW5kLXJvdyB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcclxufVxyXG5cclxuLmJ0bi1zdWJtaXQge1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xyXG4gICAgYXBwZWFyYW5jZTogbm9uZTtcclxuICAgIG91dGxpbmU6IG5vbmU7XHJcbiAgICBib3JkZXI6IG5vbmU7XHJcbiAgICB3aWR0aDogZml0LWNvbnRlbnQ7XHJcbn0iLCIuaGVhZGVyIHtcclxuICAgIHBhZGRpbmc6IDIwcHg7XHJcbiAgICBwb3NpdGlvbjogc3RpY2t5O1xyXG4gICAgdG9wOiAwO1xyXG4gICAgei1pbmRleDogMTAwO1xyXG4gICAgYmFja2dyb3VuZDogUkdCKDIzOSwgMjQ2LCAyNTMpO1xyXG59XHJcblxyXG4uaGVhZGVyLWhvbGRlciB7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxufSIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBIRVJPXHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG4uaGVybyB7XHJcbiAgICBjb2xvcjp2YXIoLS1jb2xvci1wcmltYXJ5LWdyZXkpO1xyXG4gICAgYmFja2dyb3VuZDogUkdCKDIzOSwgMjQ2LCAyNTMpO1xyXG4gICAgcGFkZGluZzogMTYwcHggMjBweDtcclxuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsIHJnYmEoMjM5LCAyNDYsIDI1MywgMSkgMCUsIHJnYmEoMjA4LCAyMTgsIDIyOCwgMSkgMTAwJSk7XHJcbiAgICBib3JkZXItcmFkaXVzOiAwIDAgdmFyKC0tc2VjdGlvbi1ib3JkZXItcmFkaXVzKSB2YXIoLS1zZWN0aW9uLWJvcmRlci1yYWRpdXMpO1xyXG59XHJcblxyXG4uaGVybzo6YmVmb3JlIHtcclxuICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOiAwOyBsZWZ0OiAwOyByaWdodDogMDsgYm90dG9tOiAwO1xyXG4gICAgLyogYmFja2dyb3VuZDogcmFkaWFsLWdyYWRpZW50KGVsbGlwc2UgYXQgNjAlIDUwJSwgcmdiYSgzNywgOTksIDIzNSwgMC4xMikgMCUsIHRyYW5zcGFyZW50IDY1JSk7ICovXHJcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcclxufVxyXG5cclxuLmhlcm8tY29udGVudCB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIC8qIHBhZGRpbmc6IDAgOCU7ICovXHJcbiAgICAvKiBwYWRkaW5nOiAxMjBweCAxOTBweCAxMjBweCAxOTBweDsgKi9cclxuICAgIC8qIGdhcDogNjRweDsgKi9cclxuICAgIC8qIGZsZXg6IDE7ICovXHJcbiAgICAvKiBiYWNrZ3JvdW5kOiBSR0IoMjM5LCAyNDYsIDI1Myk7ICovXHJcbiAgICAvKiBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCByZ2JhKDIzOSwgMjQ2LCAyNTMsIDEpIDAlLCByZ2JhKDIwOCwgMjE4LCAyMjgsIDEpIDEwMCUpOyAqL1xyXG4gICAgXHJcbn1cclxuXHJcbi5oZXJvLXRleHQge1xyXG4gICAgZmxleDogMTtcclxuICAgIC8qIHotaW5kZXg6IDI7ICovXHJcbn1cclxuXHJcbi5oZXJvLXRleHQgaDEge1xyXG4gICAgZm9udC1zaXplOiA2M3B4O1xyXG4gICAgbGluZS1oZWlnaHQ6IDc0cHg7XHJcbiAgICAvKiBmb250LXNpemU6IDIuOHJlbTsgKi9cclxuICAgIC8qIGZvbnQtd2VpZ2h0OiA4MDA7ICovXHJcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS1kYXJrLWJsdWUpO1xyXG4gICAgLyogbGluZS1oZWlnaHQ6IDEuMjsgKi9cclxuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcblxyXG59XHJcblxyXG4uaGVyby10ZXh0IGgxIC50ZXh0LWJsdWUge1xyXG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcclxuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LWJsdWUpO1xyXG59XHJcblxyXG4vKiBNYWtlIFwiQ3VzdG9tIFNvZnR3YXJlIGZvclwiIGJsdWUgKi9cclxuLyogLmhlcm8tdGV4dCBoMTo6Zmlyc3QtbGluZSB7XHJcbiAgICBjb2xvcjogIzNiODJmNjtcclxufSAqL1xyXG5cclxuLyogLmhlcm8tdGV4dCBwIHtcclxuICAgIGZvbnQtc2l6ZTogMC45cmVtO1xyXG4gICAgbWF4LXdpZHRoOiA0NDBweDtcclxuICAgIG1hcmdpbi1ib3R0b206IDMycHg7XHJcbn0gKi9cclxuXHJcbi5oZXJvLWFjdGlvbnMge1xyXG4gICAgbWFyZ2luLXRvcDogNDBweDtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgZ2FwOiAxMnB4O1xyXG4gICAgZmxleC13cmFwOiB3cmFwO1xyXG59XHJcblxyXG4uaGVyby1pbWFnZSB7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgLyogbWFyZ2luOiAtNDBweCAwIC00MHB4IC00MHB4OyAqL1xyXG59XHJcblxyXG4uaGVyby1pbWFnZSBpbWd7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGhlaWdodDogYXV0bztcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgbWluLXdpZHRoOiAxMTk3cHg7XHJcbiAgICBtYXJnaW46IC00MHB4IDAgLTQwcHggLTQwcHg7XHJcbn0iLCIuaW5wdXQtd3JhcHBlciB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGJvcmRlci1yYWRpdXM6IDQwcHg7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xyXG59XHJcblxyXG4uaW5wdXQtdGV4dCB7XHJcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xyXG4gICAgYm9yZGVyOiBub25lO1xyXG4gICAgYm9yZGVyLXJhZGl1czogMjVweDtcclxuICAgIHBhZGRpbmc6IDE2cHggMjRweDtcclxuICAgIGhlaWdodDogNTBweDtcclxuICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgIGxpbmUtaGVpZ2h0OiAxO1xyXG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnktZ3JleSk7XHJcbiAgICBmb250LWZhbWlseTogJ01vbnRzZXJyYXQnLCBzYW5zLXNlcmlmO1xyXG59XHJcblxyXG4uaW5wdXQtdGV4dDpmb2N1cy12aXNpYmxlIHtcclxuICAgIG91dGxpbmU6IG5vbmU7XHJcbiAgICBib3gtc2hhZG93OiBub25lO1xyXG59XHJcblxyXG4uaW5wdXQtdGV4dDo6Zm9jdXMge1xyXG4gICAgb3V0bGluZTogbm9uZTtcclxuICAgIGJveC1zaGFkb3c6IG5vbmU7XHJcbn1cclxuXHJcbi5pbnB1dC13cmFwcGVyLXdpZGUge1xyXG4gICAgbWluLXdpZHRoOiAzMjBweDtcclxufVxyXG5cclxuLmlucHV0LXdyYXBwZXItd2lkZSAuaW5wdXQtdGV4dCB7XHJcbiAgICBmbGV4OiAxXHJcbn1cclxuXHJcblxyXG5cclxuLnRleHRhcmVhIHtcclxuICAgIGJhY2tncm91bmQ6ICNmZmY7XHJcbiAgICBib3JkZXI6IG5vbmU7XHJcbiAgICBib3JkZXItcmFkaXVzOiAyNXB4O1xyXG4gICAgcGFkZGluZzogMTZweCAyNHB4O1xyXG4gICAgaGVpZ2h0OiA1MHB4O1xyXG4gICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgbGluZS1oZWlnaHQ6IDE7XHJcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS1ncmV5KTtcclxuICAgIGZvbnQtZmFtaWx5OiAnTW9udHNlcnJhdCcsIHNhbnMtc2VyaWY7XHJcbiAgICBtaW4td2lkdGg6IDEwMCU7XHJcbiAgICBtaW4taGVpZ2h0OiA1NHB4O1xyXG4gICAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBwYWRkaW5nOiAxMnB4IDE2cHg7XHJcbn1cclxuXHJcbi50ZXh0YXJlYTpmb2N1cy12aXNpYmxlIHtcclxuICAgIG91dGxpbmU6IG5vbmU7XHJcbiAgICBib3gtc2hhZG93OiBub25lO1xyXG59XHJcblxyXG4uZW1haWwtaWNvbjo6YmVmb3JlIHtcclxuICAgIGNvbnRlbnQ6IFwi4pyJXCI7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICBtYXJnaW4tbGVmdDogMjZweDtcclxuICAgIGZvbnQtc2l6ZTogMjRweDtcclxuICAgIGxpbmUtaGVpZ2h0OiAxO1xyXG59IiwiLnRleHQtYmx1ZSB7XHJcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS1ibHVlKTtcclxufVxyXG5cclxuLnRleHQtY2VudGVyIHtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxufSIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBTRVJWSUNFU1xyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuLnNlcnZpY2VzIHtcclxuICAgIHBhZGRpbmc6IDEyMHB4IDIwcHg7XHJcbiAgICAvKiBwYWRkaW5nOiAxMDBweCAxMjBweDsgKi9cclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XHJcbn1cclxuXHJcbi5zZXJ2aWNlcyBoMiB7XHJcbiAgICAvKiBjb2xvcjogIzFhMWEyZTsgKi9cclxuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbiAgICAvKiBmb250LXNpemU6IDJyZW07ICovXHJcbn1cclxuXHJcbi5zZWN0aW9uLXN1YnRpdGxlIHtcclxuICAgIG1hcmdpbi1ib3R0b206IDY0cHg7XHJcbiAgICAvKiBtYXgtd2lkdGg6IDcwMHB4OyAqL1xyXG4gICAgLyogbWFyZ2luOiAwIGF1dG8gNTZweDsgKi9cclxuICAgIC8qIGNvbG9yOiAjNjY2OyAqL1xyXG4gICAgLyogZm9udC1zaXplOiAwLjlyZW07ICovXHJcbn1cclxuXHJcbi5zZXJ2aWNlcy1ncmlkIHtcclxuICAgIGRpc3BsYXk6IGdyaWQ7XHJcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLCAxZnIpO1xyXG4gICAgZ2FwOiAxNnB4O1xyXG4gICAgdGV4dC1hbGlnbjogbGVmdDtcclxufVxyXG5cclxuLnNlcnZpY2UtY2FyZCB7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjNjQ3NDhCO1xyXG4gICAgYm9yZGVyLXJhZGl1czogMTRweDtcclxuICAgIHBhZGRpbmc6IDI4cHggMjRweDtcclxuICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC4ycztcclxufVxyXG5cclxuLnNlcnZpY2UtY2FyZDpob3ZlciB7XHJcbiAgICBib3gtc2hhZG93OiAwIDRweCAyNHB4IHJnYmEoMzcsOTksMjM1LDAuMDgpO1xyXG59XHJcblxyXG4uc2VydmljZS1udW0ge1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBmb250LXNpemU6IDI0cHg7XHJcbiAgICBsaW5lLWhlaWdodDogMTtcclxuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS1ibHVlKTtcclxuICAgIG1hcmdpbi1ib3R0b206IDE2cHg7XHJcbn1cclxuXHJcbi8qIC5zZXJ2aWNlLWNhcmQgaDMge1xyXG4gICAgZm9udC1zaXplOiAyNHB4O1xyXG4gICAgbGluZS1oZWlnaHQ6IDMycHg7XHJcbiAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICBjb2xvcjogIzFhMWEyZTtcclxuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbn0gKi9cclxuXHJcbi5zZXJ2aWNlLWNhcmQgcCB7XHJcbiAgICBmb250LXNpemU6IDE4cHg7XHJcbiAgICBsaW5lLWhlaWdodDogMjRweDs7XHJcblxyXG59IiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgIFBST0RVQ1RTXHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLnByb2R1Y3RzIHtcclxuICAgIHBhZGRpbmc6IDEyMHB4IDIwcHg7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICBib3JkZXItcmFkaXVzOiAwIDAgdmFyKC0tc2VjdGlvbi1ib3JkZXItcmFkaXVzKSB2YXIoLS1zZWN0aW9uLWJvcmRlci1yYWRpdXMpO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0Y4RkFGQztcclxufVxyXG5cclxuLyogLnByb2R1Y3RzIGgyIHtcclxuICAgIGZvbnQtc2l6ZTogMnJlbTtcclxuICAgIGNvbG9yOiAjMWExYTJlO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMTZweDtcclxufSAqL1xyXG5cclxuLnByb2R1Y3RzLWdyaWQge1xyXG4gICAgZGlzcGxheTogZ3JpZDtcclxuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmciAxZnI7XHJcbiAgICBnYXA6IDI0cHg7XHJcbiAgICAvKiBtYXJnaW4tdG9wOiA0OHB4OyAqL1xyXG4gICAgdGV4dC1hbGlnbjogbGVmdDtcclxufVxyXG5cclxuLnByb2R1Y3QtY2FyZCB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxufVxyXG5cclxuLnByb2R1Y3QtaW1hZ2Uge1xyXG4gICAgaGVpZ2h0OiAyMjBweDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDE2cHg7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbn1cclxuLnByb2R1Y3QtaW1hZ2UgaW1nIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgb2JqZWN0LWZpdDogY292ZXI7XHJcbiAgICBib3JkZXItcmFkaXVzOiAxNnB4O1xyXG59XHJcblxyXG4vKiAucHJvZHVjdC1pbWFnZS13aGVlbHMge1xyXG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgIzFhMGEzZCAwJSwgIzJkMGE2ZSA0MCUsICMxYTFhNGEgMTAwJSk7XHJcbn0gKi9cclxuXHJcbi5wcm9kdWN0LW92ZXJsYXktdGV4dCB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBjb2xvcjogI2ZmZjtcclxufVxyXG5cclxuLnByb2QtdGl0bGUtaXRhbGljIHtcclxuICAgIGZvbnQtc2l6ZTogMnJlbTtcclxuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcclxuICAgIGZvbnQtd2VpZ2h0OiA4MDA7XHJcbiAgICBjb2xvcjogI2ZmZjtcclxufVxyXG5cclxuLnByb2QtdGl0bGUtbm9ybWFsIHtcclxuICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xyXG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgIGxldHRlci1zcGFjaW5nOiA0cHg7XHJcbiAgICBjb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwwLjgpO1xyXG59XHJcblxyXG4vKiAucHJvZHVjdC1pbWFnZS1jbHViIHtcclxuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsICMxYTFhMmUgMCUsICMwYTE2MjggMTAwJSk7XHJcbn0gKi9cclxuXHJcbi5wcm9kdWN0LW92ZXJsYXktZWxkIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxufVxyXG5cclxuLmNsdWItZWxkLWxvZ28ge1xyXG4gICAgZm9udC1zaXplOiAzcmVtO1xyXG4gICAgZm9udC13ZWlnaHQ6IDkwMDtcclxuICAgIGNvbG9yOiAjZjk3MzE2O1xyXG4gICAgbGV0dGVyLXNwYWNpbmc6IDRweDtcclxufVxyXG5cclxuLmNsdWItdGV4dCB7XHJcbiAgICBmb250LXNpemU6IDEuMnJlbTtcclxuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICBjb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwwLjYpO1xyXG4gICAgbGV0dGVyLXNwYWNpbmc6IDZweDtcclxufVxyXG5cclxuLnByb2R1Y3QtY2FyZCBoMyB7XHJcbiAgICBmb250LXNpemU6IDEuMDVyZW07XHJcbiAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgY29sb3I6ICMxYTFhMmU7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG59XHJcblxyXG4ucHJvZHVjdC1jYXJkIHAge1xyXG4gICAgZm9udC1zaXplOiAwLjgycmVtO1xyXG4gICAgY29sb3I6ICM2NjY7XHJcbiAgICBsaW5lLWhlaWdodDogMS42O1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxuICAgIGZsZXg6IDE7XHJcbn1cclxuXHJcbi5idG4tb3V0bGluZSB7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICBib3JkZXI6IDEuNXB4IHNvbGlkICMyNTYzZWI7XHJcbiAgICBjb2xvcjogIzI1NjNlYjtcclxuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG4gICAgYm9yZGVyLXJhZGl1czogOHB4O1xyXG4gICAgcGFkZGluZzogOXB4IDIwcHg7XHJcbiAgICBmb250LXNpemU6IDAuNzhyZW07XHJcbiAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgbGV0dGVyLXNwYWNpbmc6IDFweDtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4ycywgY29sb3IgMC4ycztcclxuICAgIHdpZHRoOiBmaXQtY29udGVudDtcclxufVxyXG5cclxuLmJ0bi1vdXRsaW5lOmhvdmVyIHtcclxuICAgIGJhY2tncm91bmQ6ICMyNTYzZWI7XHJcbiAgICBjb2xvcjogI2ZmZjtcclxufVxyXG5cclxuLyogVGhpcmQgcHJvZHVjdCBjYXJkIOKAkyBwcm9tbyBjYXJkICovXHJcbi5wcm9kdWN0LWNhcmQtcHJvbW8ge1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgIzY0NzQ4QjtcclxuICAgIGJvcmRlci1yYWRpdXM6IDE2cHg7XHJcbiAgICBtaW4taGVpZ2h0OiAzMjBweDtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XHJcbiAgICBwYWRkaW5nOiAzMHB4O1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxufVxyXG5cclxuLnByb21vLWNvbnRlbnQge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBtYXJnaW46IGF1dG87XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG59XHJcblxyXG4ucHJvbW8taGVhZGluZyB7XHJcbiAgICBmb250LXNpemU6IDYzcHg7XHJcbiAgICBsaW5lLWhlaWdodDogNzRweDtcclxuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS1kYXJrLWJsdWUpO1xyXG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuXHJcbn1cclxuXHJcbi5wcm9tby1saW5rIHtcclxuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICB3aWR0aDogODBweDtcclxuICAgIGhlaWdodDogODBweDtcclxuICAgIGJhY2tncm91bmQ6IHVybCguLi9hc3NldHMvYXJyb3dfYmlnLnN2Zykgbm8tcmVwZWF0IGNlbnRlcjtcclxuICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcclxuICAgIGZvbnQtc2l6ZTogMDtcclxuICAgIGxpbmUtaGVpZ2h0OiAwO1xyXG4gICAgYWxpZ24tc2VsZjogZmxleC1lbmQ7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbn0iLCIudGVzdGltb25pYWxzIHtcclxuICAgIHBhZGRpbmc6IDEyMHB4IDIwcHg7XHJcbiAgICBiYWNrZ3JvdW5kOiAjMGIxNTI2O1xyXG4gICAgY29sb3I6ICNmZmY7XHJcbn1cclxuLnRlc3RpbW9uaWFscyBwIHtcclxuICAgIGNvbG9yOiAjZmZmO1xyXG59XHJcblxyXG4udGVzdGltb25pYWxzLWhlYWRlciB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiA0OHB4O1xyXG59XHJcblxyXG4udGVzdGltb25pYWxzLWhlYWRlciBoMiB7XHJcbiAgICBjb2xvcjogI2ZmZjtcclxuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgICAvKiBmb250LXNpemU6IDIuOHJlbTtcclxuICAgIGZvbnQtd2VpZ2h0OiA5MDA7XHJcbiAgICBjb2xvcjogI2ZmZjtcclxuICAgIGxpbmUtaGVpZ2h0OiAxLjE7XHJcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyAqL1xyXG59XHJcblxyXG4udGVzdGltb25pYWxzLWhlYWRlciAuYm9sZCB7XHJcbiAgICBjb2xvcjogI2ZmZjtcclxuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbn1cclxuXHJcbi50ZXN0aW1vbmlhbHMtaGVhZGVyIC5vdXRsaW5lLXRleHQge1xyXG4gICAgLXdlYmtpdC10ZXh0LXN0cm9rZTogMnB4IHJnYmEoMjU1LDI1NSwyNTUsMSk7XHJcbiAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XHJcbn1cclxuXHJcbi50ZXN0aW1vbmlhbHMtZ3JpZCB7XHJcbiAgICBkaXNwbGF5OiBncmlkO1xyXG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNCwgMWZyKTtcclxuICAgIGdhcDogOHB4O1xyXG59XHJcblxyXG4udGVzdGltb25pYWwtY2FyZCB7XHJcbiAgICAvKiBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDUpOyAqL1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgI2ZmZjtcclxuICAgIGJvcmRlci1yYWRpdXM6IDE0cHg7XHJcbiAgICBwYWRkaW5nOiAyOHB4O1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICBjb2xvcjogI2ZmZjtcclxuICAgIGdhcDogMTZweDtcclxufVxyXG5cclxuLnRlc3RpbW9uaWFsLWNhcmQtYmx1ZSB7XHJcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1wcmltYXJ5LWJsdWUpO1xyXG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LWJsdWUpO1xyXG59XHJcblxyXG4ucXVvdGUtbWFyayB7XHJcbiAgICBmb250LXNpemU6IDEuOHJlbTtcclxuICAgIC8qIGNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LDAuNik7ICovXHJcbiAgICBsaW5lLWhlaWdodDogMTtcclxufVxyXG5cclxuLnRlc3RpbW9uaWFsLWNhcmQgcCB7XHJcbiAgICBmb250LXNpemU6IDAuODVyZW07XHJcbiAgICAvKiBjb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwwLjg1KTsgKi9cclxuICAgIGxpbmUtaGVpZ2h0OiAxLjY7XHJcbiAgICBmbGV4OiAxO1xyXG59XHJcblxyXG4udGVzdGltb25pYWwtYXV0aG9yIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgZ2FwOiAycHg7XHJcbn1cclxuXHJcbi50ZXN0aW1vbmlhbC1hdXRob3Igc3Ryb25nIHtcclxuICAgIGZvbnQtc2l6ZTogMC44cmVtO1xyXG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgIC8qIGNvbG9yOiAjZmZmOyAqL1xyXG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuNXB4O1xyXG59XHJcblxyXG4udGVzdGltb25pYWwtYXV0aG9yIHNwYW4ge1xyXG4gICAgZm9udC1zaXplOiAwLjcycmVtO1xyXG4gICAgLyogY29sb3I6IHJnYmEoMjU1LDI1NSwyNTUsMC41KTsgKi9cclxufVxyXG5cclxuLnRlc3RpbW9uaWFsLW5hdiB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZ2FwOiAxMnB4O1xyXG4gICAgbWFyZ2luLXRvcDogMzJweDtcclxufVxyXG5cclxuLm5hdi1hcnJvdyB7XHJcbiAgICB3aWR0aDogMzZweDtcclxuICAgIGhlaWdodDogMzZweDtcclxuICAgIC8qIGJvcmRlci1yYWRpdXM6IDUwJTsgKi9cclxuICAgIC8qIGJvcmRlcjogMS41cHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwwLjMpOyAqL1xyXG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcbiAgICBjb2xvcjogI2ZmZjtcclxuICAgIGZvbnQtc2l6ZTogMXJlbTtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XHJcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XHJcbiAgICBvdXRsaW5lOiBub25lO1xyXG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjJzO1xyXG59XHJcblxyXG4ubmF2LWFycm93OmhvdmVyIHtcclxuICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LDI1NSwyNTUsMC4xMik7XHJcbn1cclxuXHJcblxyXG5cclxuLyogLmJ0bi1zdWJtaXQge1xyXG4gICAgYWxpZ24tc2VsZjogZmxleC1zdGFydDtcclxuICAgIHBhZGRpbmc6IDEycHggMzJweDtcclxuICAgIGZvbnQtc2l6ZTogMC44MnJlbTtcclxufSAqL1xyXG5cclxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgIEZPT1RFUlxyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuLmZvb3RlciB7XHJcbiAgICBjb2xvcjogI2ZmZjtcclxuICAgIGJhY2tncm91bmQ6ICMxRTI5M0I7XHJcbn1cclxuXHJcbi5mb290ZXItaG9sZGVyIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgcGFkZGluZzogMjRweCAyMHB4O1xyXG4gICAgbWFyZ2luOiAwIGF1dG87XHJcbn1cclxuXHJcbi5mb290ZXItbG9nbyB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIGxpbmUtaGVpZ2h0OiAxO1xyXG59XHJcblxyXG4uZm9vdGVyIC5sb2dvLWVsZCB7XHJcbiAgICBmb250LXNpemU6IDEuNHJlbTtcclxuICAgIGZvbnQtd2VpZ2h0OiA5MDA7XHJcbiAgICBjb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwwLjg1KTtcclxuICAgIGxldHRlci1zcGFjaW5nOiAycHg7XHJcbn1cclxuXHJcbi5mb290ZXIgLmxvZ28tc3lzdGVtcyB7XHJcbiAgICBmb250LXNpemU6IDAuNDhyZW07XHJcbiAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgY29sb3I6IHJnYmEoMjU1LDI1NSwyNTUsMC41KTtcclxuICAgIGxldHRlci1zcGFjaW5nOiA0cHg7XHJcbn0iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgUkVTUE9OU0lWRVxyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcclxuICAgIGJvZHkge1xyXG4gICAgICAgIG1pbi13aWR0aDogMTY2MHB4O1xyXG4gICAgfVxyXG59XHJcblxyXG5AbWVkaWEgKG1heC13aWR0aDogMTAyNHB4KSB7XHJcbiAgICAuaGVyby1jb250ZW50IHtcclxuICAgICAgICBwYWRkaW5nOiAxMDBweCA2MHB4IDgwcHg7XHJcbiAgICAgICAgZ2FwOiA0MHB4O1xyXG4gICAgfVxyXG4gICAgLnNlcnZpY2VzLCAucHJvZHVjdHMsIC50ZXN0aW1vbmlhbHMsIC5jb250YWN0LCAuZm9vdGVyIHtcclxuICAgICAgICBwYWRkaW5nLWxlZnQ6IDQwcHg7XHJcbiAgICAgICAgcGFkZGluZy1yaWdodDogNDBweDtcclxuICAgIH1cclxuICAgIC5zZXJ2aWNlcy1ncmlkLCAucHJvZHVjdHMtZ3JpZCwgLnRlc3RpbW9uaWFscy1ncmlkIHtcclxuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpO1xyXG4gICAgfVxyXG59XHJcblxyXG5AbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcclxuICAgIC5uYXZiYXIge1xyXG4gICAgICAgIHBhZGRpbmc6IDAgMjRweDtcclxuICAgIH1cclxuICAgIC5uYXYtbGlua3MgeyBkaXNwbGF5OiBub25lOyB9XHJcbiAgICAuaGVyby1jb250ZW50IHtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgIHBhZGRpbmc6IDkwcHggMjRweCA2MHB4O1xyXG4gICAgfVxyXG4gICAgLmhlcm8tdGV4dCBoMSB7IGZvbnQtc2l6ZTogMnJlbTsgfVxyXG4gICAgLmhlcm8taW1hZ2UgaW1nIHsgbWF4LXdpZHRoOiAxMDAlOyB9XHJcbiAgICAuc2VydmljZXMsIC5wcm9kdWN0cyB7XHJcbiAgICAgICAgcGFkZGluZzogNjBweCAyNHB4O1xyXG4gICAgfVxyXG4gICAgLnNlcnZpY2VzLWdyaWQsIC5wcm9kdWN0cy1ncmlkLCAudGVzdGltb25pYWxzLWdyaWQge1xyXG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xyXG4gICAgfVxyXG4gICAgLnRlc3RpbW9uaWFscywgLmNvbnRhY3Qge1xyXG4gICAgICAgIHBhZGRpbmc6IDYwcHggMjRweDtcclxuICAgIH1cclxuICAgIC5jb250YWN0IHtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgIGdhcDogNDBweDtcclxuICAgIH1cclxufSIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBDT05UQUNUXHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG4uY29udGFjdCB7XHJcbiAgICBiYWNrZ3JvdW5kOiAjMGIxNTI2O1xyXG4gICAgcGFkZGluZzogMTIwcHggMjBweDtcclxuICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICM2NDc0OEI7XHJcbn1cclxuXHJcbi5jb250YWN0LWhvbGRlciB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XHJcbiAgICBnYXA6IDgwcHg7XHJcbiAgICB3aWR0aDogMTAwJTtcclxufVxyXG5cclxuLmNvbnRhY3QgcCB7XHJcbiAgICBjb2xvcjogI2ZmZjtcclxufVxyXG5cclxuLmNvbnRhY3QtbGVmdCB7XHJcbiAgICBmbGV4OiAxO1xyXG59XHJcblxyXG4uY29udGFjdC10aXRsZS1ibG9jayB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIC8qIGdhcDogMTJweDsgKi9cclxuICAgIC8qIG1hcmdpbi1ib3R0b206IDRweDsgKi9cclxuICAgIGZvbnQtc2l6ZTogNjRweDtcclxuICAgIGxpbmUtaGVpZ2h0OiA4MHB4O1xyXG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcclxufVxyXG5cclxuLmNvbnRhY3QtdGl0bGUtYmxvY2sgaDIge1xyXG4gICAgZm9udC1zaXplOiBpbmhlcml0O1xyXG4gICAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7XHJcbiAgICBmb250LXdlaWdodDogNDAwO1xyXG4gICAgY29sb3I6ICNmZmY7XHJcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgbGV0dGVyLXNwYWNpbmc6IDFweDtcclxufVxyXG4uY29udGFjdC1hcnJvdyB7XHJcbiAgICAvKiBmb250LXNpemU6IDEuNHJlbTsgKi9cclxuICAgIC8qIGNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LDAuNik7ICovXHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICB3aWR0aDogODBweDtcclxuICAgIGhlaWdodDogODBweDtcclxuICAgIGZvbnQtc2l6ZTogMDtcclxuICAgIGxpbmUtaGVpZ2h0OiAwO1xyXG4gICAgYmFja2dyb3VuZDogdXJsKCcuLi9hc3NldHMvY29udGFjdHNfYXJyb3cuc3ZnJykgbm8tcmVwZWF0IGNlbnRlcjtcclxufVxyXG5cclxuLmNvbnRhY3QtdGl0bGUtc29saWQge1xyXG4gICAgbWFyZ2luOiAwO1xyXG4gICAgZm9udC1zaXplOiA2NHB4O1xyXG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgIGxldHRlci1zcGFjaW5nOiAxcHg7XHJcbn1cclxuXHJcbi5jb250YWN0LXRpdGxlLW91dGxpbmUge1xyXG4gICAgZm9udC1zaXplOiA2NHB4O1xyXG4gICAgbGluZS1oZWlnaHQ6IDgwcHg7XHJcbiAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICAtd2Via2l0LXRleHQtc3Ryb2tlOiAycHggcmdiYSgyNTUsMjU1LDI1NSwxKTtcclxuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICBsZXR0ZXItc3BhY2luZzogMXB4O1xyXG4gICAgbWFyZ2luLWJvdHRvbTogNDBweDtcclxufVxyXG5cclxuLmNvbnRhY3QtaW5mbyB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIGdhcDogMjBweDtcclxufVxyXG5cclxuLmNvbnRhY3QtaXRlbSB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGdhcDogMTJweDtcclxuICAgIGNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LDAuNzUpO1xyXG4gICAgZm9udC1zaXplOiAwLjlyZW07XHJcbn1cclxuXHJcbi5jb250YWN0LWljb24ge1xyXG4gICAgd2lkdGg6IDI4cHg7XHJcbiAgICBoZWlnaHQ6IDI4cHg7XHJcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xyXG4gICAgLyogYm9yZGVyOiAxLjVweCBzb2xpZCByZ2JhKDI1NSwyNTUsMjU1LDAuMyk7ICovXHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcclxuICAgIGZsZXgtc2hyaW5rOiAwO1xyXG4gICAgY29sb3I6IHZhcigtLXByaW1hcnktY29sb3ItZGFyay1ibHVlKTtcclxufVxyXG5cclxuLnBob25lLWljb246OmJlZm9yZSB7IGNvbnRlbnQ6ICfwn5OeJzsgZm9udC1zaXplOiAwLjc1cmVtOyBjb2xvcjogIzAwMDt9XHJcbi5lbWFpbC1pY29uLWM6OmJlZm9yZSB7IGNvbnRlbnQ6ICfinIknOyBmb250LXNpemU6IDAuNzVyZW07Y29sb3I6ICMwMDA7IH1cclxuXHJcbi5jb250YWN0LXJpZ2h0IHtcclxuICAgIGZsZXg6IDE7XHJcbn1cclxuXHJcbi5jb250YWN0LXJpZ2h0IGgzIHtcclxuICAgIGZvbnQtc2l6ZTogMS4xcmVtO1xyXG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogOHB4O1xyXG59XHJcblxyXG4uY29udGFjdC1yaWdodCBwIHtcclxuICAgIGZvbnQtc2l6ZTogMC44NXJlbTtcclxuICAgIG1hcmdpbi1ib3R0b206IDI0cHg7XHJcbn1cclxuXHJcbi5jb250YWN0LWZvcm0ge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICBnYXA6IDIwcHg7XHJcbn1cclxuXHJcbi5jb250YWN0LWZvcm0gLnJvdyB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZ2FwOiAyMHB4O1xyXG59XHJcblxyXG4uY29udGFjdC1mb3JtIC5yb3cgLnJvdy1pdGVtLXN0cmV0Y2gge1xyXG4gICAgZmxleDogMTtcclxufVxyXG5cclxuLmNvbnRhY3QtZm9ybSAudGV4dGFyZWEge1xyXG4gICAgbWF4LXdpZHRoOiA2MzZweDtcclxufVxyXG5cclxuLyogXHJcbi5jb250YWN0LWZvcm0gaW5wdXQsXHJcbi5jb250YWN0LWZvcm0gdGV4dGFyZWEge1xyXG4gICAgYmFja2dyb3VuZDogcmdiYSgyNTUsMjU1LDI1NSwwLjA2KTtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsMC4xNSk7XHJcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XHJcbiAgICBwYWRkaW5nOiAxNHB4IDE2cHg7XHJcbiAgICBjb2xvcjogI2ZmZjtcclxuICAgIGZvbnQtc2l6ZTogMC44NXJlbTtcclxuICAgIGZvbnQtZmFtaWx5OiAnSW50ZXInLCBzYW5zLXNlcmlmO1xyXG4gICAgb3V0bGluZTogbm9uZTtcclxuICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjJzO1xyXG59XHJcblxyXG4uY29udGFjdC1mb3JtIGlucHV0OjpwbGFjZWhvbGRlcixcclxuLmNvbnRhY3QtZm9ybSB0ZXh0YXJlYTo6cGxhY2Vob2xkZXIge1xyXG4gICAgY29sb3I6IHJnYmEoMjU1LDI1NSwyNTUsMC4zNSk7XHJcbn1cclxuXHJcbi5jb250YWN0LWZvcm0gaW5wdXQ6Zm9jdXMsXHJcbi5jb250YWN0LWZvcm0gdGV4dGFyZWE6Zm9jdXMge1xyXG4gICAgYm9yZGVyLWNvbG9yOiAjMjU2M2ViO1xyXG59XHJcblxyXG4uY29udGFjdC1mb3JtIHRleHRhcmVhIHtcclxuICAgIGhlaWdodDogMTAwcHg7XHJcbiAgICByZXNpemU6IHZlcnRpY2FsO1xyXG59ICovIl19 */

/* ===========================
   RESPONSIVE
   =========================== */
@media (min-width: 1200px) {
    body {
        /*min-width: 1660px;*/
    }
}
@media (max-width: 1024px) {
    .hero-content {
        padding: 100px 60px 80px;
        gap: 40px;
    }
    .services, .products, .testimonials, .contact, .footer {
        padding-left: 40px;
        padding-right: 40px;
    }
    .services-grid, .products-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    .testimonial-card {
        flex-basis: calc(50% - 4px);
    }
    .contact-form .row {
        flex-direction: column;
    }
}
@media (max-width: 768px) {
    .hero {
        padding-top: 0;
        padding-bottom: 0;
    }
    .navbar {
        padding: 0 24px;
    }
    .nav-links { display: none; }
    .hero-content {
        flex-direction: column;
        padding: 0px 24px 60px;
    }
    .hero-text h1 {
        font-size: 2rem;
        line-height: 40px;
    }
    .contact-left h2 { font-size: 2rem !important; }
    .promo-heading { font-size: 2rem !important; }
    .contact-form .textarea  {
        max-width: 100%;
    }
    .hero-image {
        overflow: visible;
    }
    .hero-image img {
        margin: 10px -20px 0;
        max-width: 100%;
        min-width: initial;
        transform: scale(1.3);
    }
    .services, .products {
        padding: 60px 24px;
    }
    .services-grid, .products-grid {
        grid-template-columns: 1fr;
    }
    .testimonial-card {
        flex-basis: 100%;
    }
    .testimonials, .contact {
        padding: 60px 24px;
    }
    .content-holder {
        flex-direction: column;
        gap: 0px;
    }
    .input-wrapper-wide {
        min-width: initial;
        max-width: 100%;
    }
}
