{
  "version": 3,
  "sources": ["/cdn/shop/t/2/assets/toa-new-arrivals-v1.js?toa_new_arrivals=20260717000220"],
  "sourcesContent": ["(() => {\n  if (window.__toaNewArrivalsV1) return;\n  window.__toaNewArrivalsV1 = true;\n\n  const COLLECTION_HANDLE = \"neu-im-shop\";\n  const COLLECTION_URL = \"/collections/\" + COLLECTION_HANDLE;\n  const MAX_PRODUCTS = 250;\n  const AUTOPLAY_MS = 8000;\n  const PRODUCTS_URL = COLLECTION_URL + \"/products.json?limit=\" + MAX_PRODUCTS + \"&sort_by=created-descending\";\n  const PREVIEW_PRODUCTS_URL = \"/collections/all/products.json?limit=\" + MAX_PRODUCTS + \"&sort_by=created-descending\";\n  const PREVIEW_PARAM = \"toa_new_arrivals_preview\";\n  const HERO_SECTION_SELECTOR = \"#shopify-section-template--16034688434409__1652426314065fca04\";\n  const ROOT_ID = \"toa-new-arrivals\";\n\n  const copy = (() => {\n    const lang = String(document.documentElement.lang || \"de\").toLowerCase();\n    if (lang.startsWith(\"en\")) {\n      return {\n        kicker: \"Fresh arrivals\",\n        title: \"New in shop\",\n        intro: \"Newest products from the shop, grouped by range.\",\n        all: \"View all new items\",\n        assortment: \"Range\",\n        allGroup: \"All new items\",\n        treats: \"Snacks, sweets & drinks\",\n        kitchen: \"Asian kitchen & ingredients\",\n        badge: \"New\",\n        product: \"View product\",\n        soldOut: \"Sold out\",\n        available: \"In stock\",\n        add: \"Add to cart\",\n        adding: \"Adding...\",\n        added: \"Added\",\n        error: \"Try again\",\n        minus: \"Reduce quantity\",\n        plus: \"Increase quantity\",\n        previous: \"Previous products\",\n        next: \"Next products\",\n      };\n    }\n    return {\n      kicker: \"Frisch eingetroffen\",\n      title: \"Neu im Shop\",\n      intro: \"Neue Produkte aus dem Shop, sichtbar nach Warengruppen sortiert.\",\n      all: \"Alle Neuheiten ansehen\",\n      assortment: \"Warengruppe\",\n      allGroup: \"Alle Neuheiten\",\n      treats: \"Snacks, S\\u00fc\\u00dfes & Getr\\u00e4nke\",\n      kitchen: \"Asia-K\\u00fcche & Zutaten\",\n      badge: \"Neu\",\n      product: \"Zum Produkt\",\n      soldOut: \"Ausverkauft\",\n      available: \"Auf Lager\",\n      add: \"In den Warenkorb\",\n      adding: \"Wird gelegt...\",\n      added: \"Im Warenkorb\",\n      error: \"Nochmal versuchen\",\n      minus: \"Menge verringern\",\n      plus: \"Menge erh\\u00f6hen\",\n      previous: \"Vorherige Produkte\",\n      next: \"N\\u00e4chste Produkte\",\n    };\n  })();\n\n  const css = `\n    #${ROOT_ID},\n    #${ROOT_ID} * {\n      box-sizing: border-box;\n    }\n\n    #${ROOT_ID} {\n      width: 100vw;\n      max-width: 100vw;\n      margin-left: calc(50% - 50vw);\n      margin-right: calc(50% - 50vw);\n      padding: clamp(38px, 4.5vw, 62px) 0;\n      border-top: 1px solid rgba(216, 173, 87, .22);\n      border-bottom: 1px solid rgba(216, 173, 87, .18);\n      background: #f6f0e4;\n      color: #113b29;\n      font-family: Cabin, system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", sans-serif;\n      overflow: hidden;\n      position: relative;\n      isolation: isolate;\n    }\n\n    #${ROOT_ID}::before {\n      content: \"\";\n      position: absolute;\n      inset: 0;\n      background:\n        radial-gradient(circle at 14% 14%, rgba(216, 173, 87, .14), rgba(216, 173, 87, 0) 32%),\n        linear-gradient(180deg, rgba(255, 250, 240, .72), rgba(255, 250, 240, 0) 54%);\n      pointer-events: none;\n      z-index: -1;\n    }\n\n    .toa-new-arrivals__inner {\n      width: 90%;\n      max-width: 1200px;\n      margin: 0 auto;\n      display: grid;\n      gap: 18px;\n    }\n\n    .toa-new-arrivals__header {\n      display: grid;\n      grid-template-columns: minmax(0, 1fr) auto;\n      align-items: end;\n      gap: 22px;\n    }\n\n    .toa-new-arrivals__kicker {\n      display: inline-flex;\n      width: fit-content;\n      min-height: 28px;\n      align-items: center;\n      padding: 6px 12px;\n      border: 1px solid rgba(184, 58, 49, .24);\n      border-radius: 999px;\n      background: rgba(255, 250, 240, .78);\n      color: #b83a31;\n      font-size: 11px;\n      font-weight: 950;\n      letter-spacing: .08em;\n      line-height: 1;\n      text-transform: uppercase;\n    }\n\n    .toa-new-arrivals__title {\n      max-width: 720px;\n      margin: 10px 0 0;\n      color: #0b3826;\n      font-family: Georgia, \"Times New Roman\", serif;\n      font-size: clamp(34px, 4.2vw, 54px);\n      font-weight: 500;\n      line-height: 1.02;\n      letter-spacing: 0;\n    }\n\n    .toa-new-arrivals__intro {\n      max-width: 620px;\n      margin: 10px 0 0;\n      color: #4d5c4f;\n      font-size: clamp(14px, 1.2vw, 16px);\n      line-height: 1.45;\n      font-weight: 700;\n    }\n\n    .toa-new-arrivals__all {\n      display: inline-flex;\n      align-items: center;\n      justify-content: center;\n      min-height: 36px;\n      padding: 8px 12px;\n      border-bottom: 1px solid currentColor;\n      color: #c43a31;\n      font-size: 13px;\n      font-weight: 950;\n      line-height: 1;\n      text-decoration: none;\n      white-space: nowrap;\n      transition: transform .18s ease, color .18s ease;\n    }\n\n    .toa-new-arrivals__all:hover,\n    .toa-new-arrivals__all:focus-visible {\n      color: #9f2c26;\n      transform: translateY(-1px);\n    }\n\n    .toa-new-arrivals__tabs {\n      display: flex;\n      flex-wrap: wrap;\n      align-items: center;\n      gap: 8px;\n      margin: 2px 0 4px;\n    }\n\n    .toa-new-arrivals__tab {\n      display: inline-flex;\n      align-items: center;\n      gap: 8px;\n      min-height: 34px;\n      padding: 7px 13px;\n      border: 1px solid rgba(17, 59, 33, .16);\n      border-radius: 999px;\n      background: rgba(255, 250, 240, .86);\n      color: #12351f;\n      cursor: pointer;\n      font-size: 13px;\n      font-weight: 900;\n      line-height: 1;\n      transition: background .18s ease, border-color .18s ease, color .18s ease, transform .18s ease;\n    }\n\n    .toa-new-arrivals__tab-count {\n      display: inline-flex;\n      min-width: 22px;\n      min-height: 22px;\n      align-items: center;\n      justify-content: center;\n      border-radius: 999px;\n      background: rgba(17, 59, 33, .08);\n      color: #55705b;\n      font-size: 11px;\n      font-weight: 950;\n    }\n\n    .toa-new-arrivals__tab.is-active {\n      border-color: #173f25;\n      background: #173f25;\n      color: #fffaf0;\n      transform: translateY(-1px);\n    }\n\n    .toa-new-arrivals__tab.is-active .toa-new-arrivals__tab-count {\n      background: rgba(255, 250, 240, .16);\n      color: #fffaf0;\n    }\n\n    .toa-new-arrivals__carousel {\n      position: relative;\n      min-width: 0;\n    }\n\n    .toa-new-arrivals__rail {\n      display: flex;\n      align-items: stretch;\n      gap: 0;\n      width: 100%;\n      min-width: 0;\n      overflow-x: auto;\n      overscroll-behavior-inline: contain;\n      scroll-behavior: smooth;\n      scroll-padding-inline: 1px;\n      scroll-snap-type: x proximity;\n      touch-action: pan-x pan-y pinch-zoom;\n      -webkit-overflow-scrolling: touch;\n      scrollbar-width: thin;\n      cursor: grab;\n      user-select: none;\n    }\n\n    .toa-new-arrivals__rail.is-dragging {\n      cursor: grabbing;\n      scroll-snap-type: none;\n    }\n\n    .toa-new-arrivals__rail.is-dragging a,\n    .toa-new-arrivals__rail.is-dragging button,\n    .toa-new-arrivals__rail.is-dragging input {\n      pointer-events: none;\n    }\n\n    .toa-new-arrivals__rail::-webkit-scrollbar {\n      height: 7px;\n    }\n\n    .toa-new-arrivals__rail::-webkit-scrollbar-thumb {\n      border-radius: 999px;\n      background: rgba(17, 59, 33, .2);\n    }\n\n    .toa-new-arrivals__card {\n      position: relative;\n      display: grid;\n      grid-template-rows: 232px 1fr;\n      flex: 0 0 clamp(226px, 18vw, 286px);\n      min-width: clamp(226px, 18vw, 286px);\n      min-height: 486px;\n      border: 1px solid rgba(17, 59, 33, .14);\n      border-left: 0;\n      background: #fff;\n      color: #12351f;\n      scroll-snap-align: start;\n    }\n\n    .toa-new-arrivals__card:first-child {\n      border-left: 1px solid rgba(17, 59, 33, .14);\n      border-radius: 8px 0 0 8px;\n    }\n\n    .toa-new-arrivals__card:last-child {\n      border-radius: 0 8px 8px 0;\n    }\n\n    .toa-new-arrivals__card[hidden] {\n      display: none !important;\n    }\n\n    .toa-new-arrivals__media {\n      position: relative;\n      display: grid;\n      place-items: center;\n      min-width: 0;\n      padding: 18px;\n      border-bottom: 1px solid rgba(17, 59, 33, .1);\n      background: #fff;\n      text-decoration: none;\n    }\n\n    .toa-new-arrivals__image {\n      display: block;\n      width: 100%;\n      height: 100%;\n      max-height: 196px;\n      object-fit: contain;\n      transition: transform .2s ease;\n    }\n\n    .toa-new-arrivals__media:hover .toa-new-arrivals__image,\n    .toa-new-arrivals__media:focus-visible .toa-new-arrivals__image {\n      transform: scale(1.025);\n    }\n\n    .toa-new-arrivals__placeholder {\n      display: grid;\n      place-items: center;\n      width: 100%;\n      height: 100%;\n      color: #1f4c2b;\n      font-family: Georgia, \"Times New Roman\", serif;\n      font-size: 38px;\n      background: #f4ead8;\n    }\n\n    .toa-new-arrivals__badge {\n      position: absolute;\n      left: 12px;\n      top: 12px;\n      display: inline-flex;\n      min-height: 26px;\n      align-items: center;\n      padding: 5px 9px;\n      border-radius: 999px;\n      background: #c43a31;\n      color: #fffaf0;\n      font-size: 10px;\n      font-weight: 950;\n      letter-spacing: .04em;\n      line-height: 1;\n      text-transform: uppercase;\n    }\n\n    .toa-new-arrivals__group {\n      position: absolute;\n      right: 10px;\n      bottom: 10px;\n      max-width: calc(100% - 20px);\n      overflow: hidden;\n      padding: 5px 9px;\n      border: 1px solid rgba(17, 59, 33, .13);\n      border-radius: 999px;\n      background: rgba(255, 250, 240, .9);\n      color: #173f25;\n      font-size: 10px;\n      font-weight: 900;\n      line-height: 1;\n      text-overflow: ellipsis;\n      white-space: nowrap;\n    }\n\n    .toa-new-arrivals__body {\n      display: grid;\n      grid-template-rows: auto auto auto 1fr auto;\n      gap: 9px;\n      min-width: 0;\n      padding: 16px 14px 14px;\n    }\n\n    .toa-new-arrivals__vendor {\n      min-height: 14px;\n      overflow: hidden;\n      color: #0a4a26;\n      font-size: 11px;\n      font-weight: 850;\n      letter-spacing: .04em;\n      line-height: 1.2;\n      text-overflow: ellipsis;\n      text-transform: uppercase;\n      white-space: nowrap;\n    }\n\n    .toa-new-arrivals__name {\n      display: -webkit-box;\n      min-height: 44px;\n      margin: 0;\n      overflow: hidden;\n      color: #1b2d32;\n      font-size: 16px;\n      font-weight: 850;\n      line-height: 1.22;\n      text-decoration: none;\n      -webkit-box-orient: vertical;\n      -webkit-line-clamp: 2;\n    }\n\n    .toa-new-arrivals__name:hover,\n    .toa-new-arrivals__name:focus-visible {\n      color: #0a4a26;\n      text-decoration: underline;\n      text-underline-offset: 3px;\n    }\n\n    .toa-new-arrivals__price-row {\n      min-height: 30px;\n      color: #12351f;\n      font-size: 18px;\n      font-weight: 950;\n      line-height: 1.1;\n    }\n\n    .toa-new-arrivals__compare {\n      margin-left: 6px;\n      color: rgba(18, 53, 31, .48);\n      font-size: 13px;\n      font-weight: 750;\n      text-decoration: line-through;\n    }\n\n    .toa-new-arrivals__state {\n      min-height: 18px;\n      color: #2d5d35;\n      font-size: 12px;\n      font-weight: 900;\n      line-height: 1.15;\n    }\n\n    .toa-new-arrivals__state--sold-out {\n      color: #a92f28;\n    }\n\n    .toa-new-arrivals__actions {\n      display: grid;\n      grid-template-columns: 76px minmax(0, 1fr);\n      gap: 8px;\n      align-self: end;\n      margin: 0;\n    }\n\n    .toa-new-arrivals__qty {\n      display: grid;\n      grid-template-columns: 24px 1fr 24px;\n      min-height: 38px;\n      border: 1px solid rgba(31, 45, 50, .7);\n      background: #fff;\n    }\n\n    .toa-new-arrivals__qty button {\n      display: grid;\n      place-items: center;\n      min-width: 0;\n      border: 0;\n      background: transparent;\n      color: #1f2d32;\n      cursor: pointer;\n      font-size: 16px;\n      line-height: 1;\n    }\n\n    .toa-new-arrivals__qty input {\n      width: 100%;\n      min-width: 0;\n      border: 0;\n      color: #1f2d32;\n      font-size: 14px;\n      font-weight: 750;\n      line-height: 1;\n      text-align: center;\n      outline: 0;\n      -moz-appearance: textfield;\n    }\n\n    .toa-new-arrivals__qty input::-webkit-outer-spin-button,\n    .toa-new-arrivals__qty input::-webkit-inner-spin-button {\n      margin: 0;\n      -webkit-appearance: none;\n    }\n\n    .toa-new-arrivals__add {\n      display: inline-flex;\n      align-items: center;\n      justify-content: center;\n      min-height: 38px;\n      padding: 7px 10px;\n      border: 0;\n      border-radius: 6px;\n      background: #2d551f;\n      color: #fff;\n      cursor: pointer;\n      font-size: 12px;\n      font-weight: 950;\n      line-height: 1.1;\n      text-align: center;\n      transition: background .18s ease, transform .18s ease, opacity .18s ease;\n    }\n\n    .toa-new-arrivals__add:hover,\n    .toa-new-arrivals__add:focus-visible {\n      background: #1f4219;\n      transform: translateY(-1px);\n    }\n\n    .toa-new-arrivals__add[disabled] {\n      cursor: not-allowed;\n      opacity: .52;\n      transform: none;\n    }\n\n    .toa-new-arrivals__nav {\n      position: absolute;\n      top: 50%;\n      z-index: 3;\n      display: grid;\n      place-items: center;\n      width: 42px;\n      height: 42px;\n      border: 1px solid rgba(17, 59, 33, .18);\n      border-radius: 999px;\n      background: rgba(255, 250, 240, .92);\n      color: #173f25;\n      cursor: pointer;\n      font-size: 24px;\n      font-weight: 600;\n      line-height: 1;\n      transform: translateY(-50%);\n      box-shadow: 0 10px 24px rgba(42, 30, 12, .12);\n      transition: background .18s ease, transform .18s ease;\n    }\n\n    .toa-new-arrivals__nav:hover,\n    .toa-new-arrivals__nav:focus-visible {\n      background: #fffaf0;\n      transform: translateY(-50%) scale(1.04);\n    }\n\n    .toa-new-arrivals__nav--prev {\n      left: -20px;\n    }\n\n    .toa-new-arrivals__nav--next {\n      right: -20px;\n    }\n\n    .toa-new-arrivals__empty {\n      margin: 0;\n      padding: 20px;\n      border: 1px solid rgba(17, 59, 33, .12);\n      border-radius: 8px;\n      background: rgba(255, 250, 240, .82);\n      color: #4d5c4f;\n      font-weight: 800;\n    }\n\n    @media (max-width: 1380px) {\n      .toa-new-arrivals__nav--prev {\n        left: 8px;\n      }\n\n      .toa-new-arrivals__nav--next {\n        right: 8px;\n      }\n    }\n\n    @media (max-width: 820px) {\n      #${ROOT_ID} {\n        padding-top: 34px;\n        padding-bottom: 38px;\n      }\n\n      .toa-new-arrivals__inner {\n        width: calc(100vw - 28px);\n      }\n\n      .toa-new-arrivals__header {\n        grid-template-columns: 1fr;\n        align-items: start;\n        gap: 12px;\n      }\n\n      .toa-new-arrivals__title {\n        font-size: 36px;\n      }\n\n      .toa-new-arrivals__intro {\n        font-size: 15px;\n      }\n\n      .toa-new-arrivals__all {\n        width: fit-content;\n        min-height: 32px;\n        padding: 6px 0;\n      }\n\n      .toa-new-arrivals__tabs {\n        flex-wrap: nowrap;\n        overflow-x: auto;\n        padding-bottom: 3px;\n        -webkit-overflow-scrolling: touch;\n      }\n\n      .toa-new-arrivals__tab {\n        flex: 0 0 auto;\n      }\n\n      .toa-new-arrivals__card {\n        flex-basis: min(76vw, 278px);\n        min-width: min(76vw, 278px);\n        min-height: 460px;\n        grid-template-rows: 212px 1fr;\n      }\n\n      .toa-new-arrivals__nav {\n        display: none;\n      }\n\n      .toa-new-arrivals__rail {\n        margin-left: -14px;\n        margin-right: -14px;\n        padding-inline: 14px;\n      }\n\n      .toa-new-arrivals__card:first-child,\n      .toa-new-arrivals__card:last-child {\n        border-radius: 8px;\n      }\n    }\n  `;\n\n  function injectStyle() {\n    if (document.getElementById(ROOT_ID + \"-style\")) return;\n    const style = document.createElement(\"style\");\n    style.id = ROOT_ID + \"-style\";\n    style.textContent = css;\n    document.head.appendChild(style);\n  }\n\n  function formatMoney(value) {\n    const number = Number.parseFloat(String(value || \"\").replace(\",\", \".\"));\n    if (!Number.isFinite(number)) return \"\";\n    return number.toLocaleString(\"de-DE\", {\n      style: \"currency\",\n      currency: \"EUR\",\n    });\n  }\n\n  function parseTags(product) {\n    const tags = product && product.tags;\n    if (Array.isArray(tags)) return tags;\n    return String(tags || \"\").split(\",\").map(tag => tag.trim()).filter(Boolean);\n  }\n\n  function productDate(product) {\n    const dateTag = parseTags(product).find(tag => /^(toa_neu_seit|neuseit)[:=_-]\\d{4}-\\d{2}-\\d{2}$/i.test(tag));\n    if (dateTag) {\n      const match = dateTag.match(/(\\d{4}-\\d{2}-\\d{2})/);\n      const tagged = Date.parse(match ? match[1] : \"\");\n      if (Number.isFinite(tagged)) return tagged;\n    }\n    const raw = product && (product.created_at || product.published_at || product.updated_at);\n    const value = Date.parse(raw || \"\");\n    return Number.isFinite(value) ? value : 0;\n  }\n\n  function imageFor(product) {\n    const firstImage = product && Array.isArray(product.images) ? product.images[0] : null;\n    if (firstImage && firstImage.src) return firstImage.src;\n    if (product && product.featured_image) return product.featured_image;\n    return \"\";\n  }\n\n  function esc(value) {\n    return String(value == null ? \"\" : value).replace(/[&<>\"']/g, char => ({\n      \"&\": \"&amp;\",\n      \"<\": \"&lt;\",\n      \">\": \"&gt;\",\n      '\"': \"&quot;\",\n      \"'\": \"&#39;\",\n    }[char]));\n  }\n\n  function initials(title) {\n    const words = String(title || \"Neu\").trim().split(/\\s+/).filter(Boolean).slice(0, 2);\n    return words.map(word => word.charAt(0).toUpperCase()).join(\"\") || \"NEU\";\n  }\n\n  function normalizedSearchText(values) {\n    return values\n      .filter(Boolean)\n      .join(\" \")\n      .toLowerCase()\n      .normalize(\"NFD\")\n      .replace(/[\\u0300-\\u036f]/g, \"\")\n      .replace(/\\u00df/g, \"ss\");\n  }\n\n  function assortmentFor(product) {\n    const treats = /(^|[\\s,;/_-])(snacks?|su(?:ess|ss)waren|sweets?|confectionery|cand(?:y|ies)|beverages?|drinks?|getraenke|getranke|alkoholfreie|getraenke alkoholisch|tee|tea)(?=$|[\\s,;/_-])/i;\n    const kitchen = /(^|[\\s,;/_-])(saucen?|sosse|pasten?|wuerzbasen|gewuerze?|spices?|nudeln?|noodles?|ramen|reis|rice|mehl|flour|oele?|oils?|curry|suppen?|soups?|konserven?|canned|kokosmilch|coconut milk|essig|vinegar|huelsenfruechte|legumes?|pilze?|mushrooms?)(?=$|[\\s,;/_-])/i;\n    const treatTitles = /(^|[\\s,;/_-])(chips?|crackers?|crisps?|cookies?|biscuits?|keks(?:e)?|bonbons?|gummi(?:baerchen)?|gummy|cand(?:y|ies)|chocolate|schokolade|mochi|ramune|yakult|soju|sake|beer|bier|cola|lemonade|limonade|juice|saft|soda|softdrink|wasser|water|drink|milkis)(?=$|[\\s,;/_-])/i;\n    const typeText = normalizedSearchText([product && product.product_type]);\n    const tagText = normalizedSearchText(parseTags(product));\n    const titleText = normalizedSearchText([product && product.title]);\n\n    if (treats.test(typeText)) return \"treats\";\n    if (kitchen.test(typeText)) return \"kitchen\";\n    if (treats.test(tagText)) return \"treats\";\n    if (kitchen.test(tagText)) return \"kitchen\";\n    return treatTitles.test(titleText) ? \"treats\" : \"kitchen\";\n  }\n\n  function assortmentLabel(key) {\n    return key === \"treats\" ? copy.treats : copy.kitchen;\n  }\n\n  function assortmentRank(product) {\n    return assortmentFor(product) === \"treats\" ? 0 : 1;\n  }\n\n  function productAvailable(product) {\n    if (!product || !Array.isArray(product.variants)) return true;\n    return product.variants.some(variant => variant && variant.available !== false);\n  }\n\n  function normalizeProduct(product) {\n    const variant = product && Array.isArray(product.variants) ? product.variants[0] || {} : {};\n    const compareAt = Number.parseFloat(String(variant.compare_at_price || \"\").replace(\",\", \".\"));\n    const price = Number.parseFloat(String(variant.price || \"\").replace(\",\", \".\"));\n    const assortment = assortmentFor(product);\n    return {\n      title: product && product.title ? product.title : \"Neuer Artikel\",\n      vendor: product && product.vendor ? product.vendor : \"\",\n      handle: product && product.handle ? product.handle : \"\",\n      image: imageFor(product),\n      priceText: formatMoney(variant.price),\n      compareText: Number.isFinite(compareAt) && Number.isFinite(price) && compareAt > price ? formatMoney(compareAt) : \"\",\n      available: variant.available !== false && productAvailable(product),\n      variantId: variant.id || \"\",\n      url: product && product.handle ? \"/products/\" + product.handle : COLLECTION_URL,\n      assortment,\n      assortmentLabel: assortmentLabel(assortment),\n    };\n  }\n\n  function quantityHtml(item) {\n    if (!item.available || !item.variantId) {\n      return `<button class=\"toa-new-arrivals__add\" type=\"button\" disabled>${esc(copy.soldOut)}</button>`;\n    }\n    return `\n      <form class=\"toa-new-arrivals__actions\" action=\"/cart/add\" method=\"post\" data-toa-arrivals-form>\n        <input type=\"hidden\" name=\"id\" value=\"${esc(item.variantId)}\">\n        <div class=\"toa-new-arrivals__qty\" data-toa-qty>\n          <button type=\"button\" data-toa-qty-minus aria-label=\"${esc(copy.minus)}\">-</button>\n          <input type=\"number\" name=\"quantity\" value=\"1\" min=\"1\" inputmode=\"numeric\" aria-label=\"Menge\">\n          <button type=\"button\" data-toa-qty-plus aria-label=\"${esc(copy.plus)}\">+</button>\n        </div>\n        <button class=\"toa-new-arrivals__add\" type=\"submit\" data-toa-add>${esc(copy.add)}</button>\n      </form>\n    `;\n  }\n\n  function productCard(product, eager) {\n    const item = normalizeProduct(product);\n    const title = esc(item.title);\n    const vendor = esc(item.vendor);\n    const image = item.image\n      ? `<img class=\"toa-new-arrivals__image\" src=\"${esc(item.image)}\" alt=\"${title}\" loading=\"${eager ? \"eager\" : \"lazy\"}\">`\n      : `<div class=\"toa-new-arrivals__placeholder\" aria-hidden=\"true\">${esc(initials(item.title))}</div>`;\n    const compare = item.compareText ? `<span class=\"toa-new-arrivals__compare\">${esc(item.compareText)}</span>` : \"\";\n    const state = item.available\n      ? `<span class=\"toa-new-arrivals__state\">${esc(copy.available)}</span>`\n      : `<span class=\"toa-new-arrivals__state toa-new-arrivals__state--sold-out\">${esc(copy.soldOut)}</span>`;\n\n    return `\n      <article class=\"toa-new-arrivals__card\" data-toa-arrival-card data-assortment=\"${esc(item.assortment)}\">\n        <a class=\"toa-new-arrivals__media\" href=\"${esc(item.url)}\" aria-label=\"${esc(copy.product)}: ${title}\">\n          ${image}\n          <span class=\"toa-new-arrivals__badge\">${esc(copy.badge)}</span>\n          <span class=\"toa-new-arrivals__group\">${esc(item.assortmentLabel)}</span>\n        </a>\n        <div class=\"toa-new-arrivals__body\">\n          <span class=\"toa-new-arrivals__vendor\">${vendor}</span>\n          <a class=\"toa-new-arrivals__name\" href=\"${esc(item.url)}\">${title}</a>\n          <div class=\"toa-new-arrivals__price-row\">${esc(item.priceText)}${compare}</div>\n          ${state}\n          ${quantityHtml(item)}\n        </div>\n      </article>\n    `;\n  }\n\n  function groupCounts(products) {\n    return products.reduce((counts, product) => {\n      const group = assortmentFor(product);\n      counts.all += 1;\n      counts[group] = (counts[group] || 0) + 1;\n      return counts;\n    }, { all: 0, treats: 0, kitchen: 0 });\n  }\n\n  function filterButtonHtml(key, label, count, active) {\n    if (!count && key !== \"all\") return \"\";\n    return `\n      <button class=\"toa-new-arrivals__tab${active ? \" is-active\" : \"\"}\" type=\"button\" data-toa-arrival-filter=\"${esc(key)}\" aria-pressed=\"${active ? \"true\" : \"false\"}\">\n        <span>${esc(label)}</span>\n        <span class=\"toa-new-arrivals__tab-count\">${esc(count)}</span>\n      </button>\n    `;\n  }\n\n  function tabsHtml(products) {\n    const counts = groupCounts(products);\n    return `\n      <div class=\"toa-new-arrivals__tabs\" role=\"toolbar\" aria-label=\"${esc(copy.assortment)}\">\n        ${filterButtonHtml(\"all\", copy.allGroup, counts.all, true)}\n        ${filterButtonHtml(\"treats\", copy.treats, counts.treats, false)}\n        ${filterButtonHtml(\"kitchen\", copy.kitchen, counts.kitchen, false)}\n      </div>\n    `;\n  }\n\n  function sectionHtml(products) {\n    return `\n      <div class=\"toa-new-arrivals__inner\">\n        <header class=\"toa-new-arrivals__header\">\n          <div>\n            <span class=\"toa-new-arrivals__kicker\">${esc(copy.kicker)}</span>\n            <h2 class=\"toa-new-arrivals__title\">${esc(copy.title)}</h2>\n            <p class=\"toa-new-arrivals__intro\">${esc(copy.intro)}</p>\n          </div>\n          <a class=\"toa-new-arrivals__all\" href=\"${COLLECTION_URL}\">${esc(copy.all)}</a>\n        </header>\n        ${tabsHtml(products)}\n        <div class=\"toa-new-arrivals__carousel\" data-toa-carousel>\n          <button class=\"toa-new-arrivals__nav toa-new-arrivals__nav--prev\" type=\"button\" data-toa-arrival-prev aria-label=\"${esc(copy.previous)}\">&#8249;</button>\n          <div class=\"toa-new-arrivals__rail\" tabindex=\"0\" data-toa-arrival-rail>\n            ${products.map((product, index) => productCard(product, index < 4)).join(\"\")}\n          </div>\n          <button class=\"toa-new-arrivals__nav toa-new-arrivals__nav--next\" type=\"button\" data-toa-arrival-next aria-label=\"${esc(copy.next)}\">&#8250;</button>\n        </div>\n        <p class=\"toa-new-arrivals__empty\" data-toa-arrival-empty hidden>${esc(copy.soldOut)}</p>\n      </div>\n    `;\n  }\n\n  function isPreviewMode() {\n    try {\n      const params = new URLSearchParams(window.location.search || \"\");\n      return params.get(PREVIEW_PARAM) === \"1\" || params.get(PREVIEW_PARAM) === \"true\";\n    } catch (error) {\n      return false;\n    }\n  }\n\n  function fetchProducts() {\n    if (Array.isArray(window.TOA_NEW_ARRIVALS_PRODUCTS)) {\n      return Promise.resolve(window.TOA_NEW_ARRIVALS_PRODUCTS);\n    }\n    const url = isPreviewMode() ? PREVIEW_PRODUCTS_URL : PRODUCTS_URL;\n    return fetch(url, {\n      credentials: \"same-origin\",\n      headers: { Accept: \"application/json\" },\n      cache: \"no-store\",\n    })\n      .then(response => {\n        if (!response.ok) throw new Error(\"new arrivals unavailable\");\n        return response.json();\n      })\n      .then(payload => Array.isArray(payload.products) ? payload.products : []);\n  }\n\n  function insertSection(section) {\n    const hero = document.querySelector(HERO_SECTION_SELECTOR);\n    const quickShop = document.getElementById(\"toa-quick-shop\");\n    const social = document.querySelector(\".toa-home-social-top\");\n    const main = document.querySelector(\"main\") || document.body;\n    const firstSection = main.querySelector(\".shopify-section\");\n\n    if (quickShop && quickShop.parentNode) {\n      quickShop.insertAdjacentElement(\"afterend\", section);\n      return;\n    }\n    if (hero && hero.parentNode) {\n      hero.parentNode.insertBefore(section, hero.nextSibling);\n      return;\n    }\n    if (social && social.parentNode) {\n      social.parentNode.insertBefore(section, social.nextSibling);\n      return;\n    }\n    if (firstSection && firstSection.parentNode) {\n      firstSection.parentNode.insertBefore(section, firstSection);\n      return;\n    }\n    main.insertBefore(section, main.firstChild);\n  }\n\n  function isHomepage() {\n    const path = window.location.pathname || \"/\";\n    return document.body.classList.contains(\"template-index\") || path === \"/\" || path === \"/de\" || path === \"/de/\";\n  }\n\n  function visibleCards(section) {\n    return Array.from(section.querySelectorAll(\"[data-toa-arrival-card]\")).filter(card => !card.hidden);\n  }\n\n  function updateNav(section) {\n    const rail = section.querySelector(\"[data-toa-arrival-rail]\");\n    const prev = section.querySelector(\"[data-toa-arrival-prev]\");\n    const next = section.querySelector(\"[data-toa-arrival-next]\");\n    const empty = section.querySelector(\"[data-toa-arrival-empty]\");\n    const cards = visibleCards(section);\n    const disabled = !rail || cards.length <= 1 || rail.scrollWidth <= rail.clientWidth + 4;\n    if (prev) prev.hidden = disabled;\n    if (next) next.hidden = disabled;\n    if (empty) empty.hidden = cards.length > 0;\n  }\n\n  function closestNode(target, selector) {\n    const node = target && target.nodeType === 1 ? target : target && target.parentElement;\n    return node && node.closest ? node.closest(selector) : null;\n  }\n\n  function setRailScroll(rail, left, smooth) {\n    if (!rail) return;\n    if (typeof rail.scrollTo === \"function\") {\n      try {\n        rail.scrollTo({ left, behavior: smooth ? \"smooth\" : \"auto\" });\n        return;\n      } catch (error) {}\n    }\n    try {\n      rail.scrollLeft = left;\n    } catch (error) {}\n  }\n\n  function setFilter(section, key) {\n    const filter = key || \"all\";\n    section.dataset.toaArrivalFilter = filter;\n    section.querySelectorAll(\"[data-toa-arrival-filter]\").forEach(button => {\n      const active = button.getAttribute(\"data-toa-arrival-filter\") === filter;\n      button.classList.toggle(\"is-active\", active);\n      button.setAttribute(\"aria-pressed\", active ? \"true\" : \"false\");\n    });\n    section.querySelectorAll(\"[data-toa-arrival-card]\").forEach(card => {\n      card.hidden = filter !== \"all\" && card.getAttribute(\"data-assortment\") !== filter;\n    });\n    const rail = section.querySelector(\"[data-toa-arrival-rail]\");\n    if (rail) setRailScroll(rail, 0, false);\n    updateNav(section);\n  }\n\n  function scrollStep(rail) {\n    const card = rail && rail.querySelector(\"[data-toa-arrival-card]:not([hidden])\");\n    const width = card ? card.getBoundingClientRect().width : 260;\n    return Math.max(220, Math.min(rail.clientWidth * .88, width * 3));\n  }\n\n  function scrollRail(section, direction) {\n    const rail = section.querySelector(\"[data-toa-arrival-rail]\");\n    if (!rail) return;\n    const max = Math.max(0, rail.scrollWidth - rail.clientWidth);\n    if (max <= 2) return;\n    const current = rail.scrollLeft || 0;\n    let next = current + direction * scrollStep(rail);\n    if (direction > 0 && next >= max - 8) next = 0;\n    if (direction < 0 && next <= 8) next = max;\n    setRailScroll(rail, next, true);\n  }\n\n  function initDesktopRailControls(section, rail, pause) {\n    let dragging = false;\n    let moved = false;\n    let startX = 0;\n    let startScroll = 0;\n    let suppressClickUntil = 0;\n\n    const stopDragging = event => {\n      if (!dragging) return;\n      dragging = false;\n      rail.classList.remove(\"is-dragging\");\n      if (moved) suppressClickUntil = Date.now() + 260;\n      if (event && event.pointerId && rail.releasePointerCapture) {\n        try { rail.releasePointerCapture(event.pointerId); } catch (error) {}\n      }\n    };\n\n    rail.addEventListener(\"pointerdown\", event => {\n      if (event.pointerType === \"touch\") return;\n      if (event.button !== undefined && event.button !== 0) return;\n      if (closestNode(event.target, \"button,input,select,textarea\")) return;\n      if (rail.scrollWidth <= rail.clientWidth + 4) return;\n      pause();\n      dragging = true;\n      moved = false;\n      startX = event.clientX;\n      startScroll = rail.scrollLeft || 0;\n      rail.classList.add(\"is-dragging\");\n      if (rail.setPointerCapture && event.pointerId) {\n        try { rail.setPointerCapture(event.pointerId); } catch (error) {}\n      }\n    });\n\n    rail.addEventListener(\"pointermove\", event => {\n      if (!dragging) return;\n      const delta = event.clientX - startX;\n      if (Math.abs(delta) > 4) moved = true;\n      rail.scrollLeft = startScroll - delta;\n      if (moved) event.preventDefault();\n    }, { passive: false });\n\n    [\"pointerup\", \"pointercancel\", \"pointerleave\"].forEach(name => {\n      rail.addEventListener(name, stopDragging);\n    });\n\n    rail.addEventListener(\"wheel\", event => {\n      if (rail.scrollWidth <= rail.clientWidth + 4) return;\n      const horizontal = Math.abs(event.deltaX) > Math.abs(event.deltaY);\n      const delta = horizontal ? event.deltaX : event.deltaY;\n      if (!delta) return;\n      pause();\n      setRailScroll(rail, (rail.scrollLeft || 0) + delta, false);\n      event.preventDefault();\n    }, { passive: false });\n\n    rail.addEventListener(\"keydown\", event => {\n      if (event.key === \"ArrowLeft\") {\n        pause();\n        event.preventDefault();\n        scrollRail(section, -1);\n      } else if (event.key === \"ArrowRight\") {\n        pause();\n        event.preventDefault();\n        scrollRail(section, 1);\n      }\n    });\n\n    section.addEventListener(\"click\", event => {\n      if (Date.now() < suppressClickUntil) {\n        event.preventDefault();\n        event.stopPropagation();\n      }\n    }, true);\n  }\n\n  function parseQuantity(input) {\n    const value = Number.parseInt(String(input && input.value || \"1\").replace(\",\", \".\"), 10);\n    return Number.isFinite(value) && value > 0 ? Math.min(value, 99) : 1;\n  }\n\n  function setCartCount(cart) {\n    if (!cart || typeof cart.item_count !== \"number\") return;\n    document.querySelectorAll(\"[data-cart-count], .cart-count, .cart-link__count, .cart-count-bubble span\").forEach(node => {\n      node.textContent = String(cart.item_count);\n      node.classList.remove(\"hidden\");\n    });\n  }\n\n  function announceCartUpdate(cart) {\n    if (cart) setCartCount(cart);\n    document.dispatchEvent(new CustomEvent(\"cart:updated\", { bubbles: true, detail: { cart } }));\n    document.dispatchEvent(new CustomEvent(\"cart:refresh\", { bubbles: true, detail: { cart } }));\n    document.dispatchEvent(new CustomEvent(\"ajaxProduct:added\", { bubbles: true, detail: { cart } }));\n  }\n\n  function addToCart(form) {\n    const button = form.querySelector(\"[data-toa-add]\");\n    const idInput = form.querySelector(\"input[name='id']\");\n    const qtyInput = form.querySelector(\"input[name='quantity']\");\n    const variantId = idInput && idInput.value;\n    const quantity = parseQuantity(qtyInput);\n    if (!button || !variantId) return;\n    const original = button.textContent;\n    button.disabled = true;\n    button.textContent = copy.adding;\n    fetch(\"/cart/add.js\", {\n      method: \"POST\",\n      credentials: \"same-origin\",\n      headers: {\n        Accept: \"application/json\",\n        \"Content-Type\": \"application/json\",\n      },\n      body: JSON.stringify({ id: Number(variantId) || variantId, quantity }),\n    })\n      .then(response => {\n        if (!response.ok) throw new Error(\"cart add failed\");\n        return response.json();\n      })\n      .then(() => fetch(\"/cart.js\", { credentials: \"same-origin\", headers: { Accept: \"application/json\" } }))\n      .then(response => response && response.ok ? response.json() : null)\n      .then(cart => {\n        button.textContent = copy.added;\n        announceCartUpdate(cart);\n      })\n      .catch(() => {\n        button.textContent = copy.error;\n      })\n      .finally(() => {\n        window.setTimeout(() => {\n          button.disabled = false;\n          button.textContent = original || copy.add;\n        }, 1400);\n      });\n  }\n\n  function initCarousel(section) {\n    const rail = section.querySelector(\"[data-toa-arrival-rail]\");\n    if (!rail) return;\n    let timer = 0;\n    let pauseUntil = 0;\n    const pause = () => {\n      pauseUntil = Date.now() + 6500;\n    };\n    const start = () => {\n      window.clearInterval(timer);\n      timer = window.setInterval(() => {\n        if (Date.now() < pauseUntil) return;\n        scrollRail(section, 1);\n      }, AUTOPLAY_MS);\n    };\n\n    section.addEventListener(\"click\", event => {\n      const filter = closestNode(event.target, \"[data-toa-arrival-filter]\");\n      const prev = closestNode(event.target, \"[data-toa-arrival-prev]\");\n      const next = closestNode(event.target, \"[data-toa-arrival-next]\");\n      const minus = closestNode(event.target, \"[data-toa-qty-minus]\");\n      const plus = closestNode(event.target, \"[data-toa-qty-plus]\");\n      if (filter) {\n        pause();\n        setFilter(section, filter.getAttribute(\"data-toa-arrival-filter\") || \"all\");\n      } else if (prev) {\n        pause();\n        scrollRail(section, -1);\n      } else if (next) {\n        pause();\n        scrollRail(section, 1);\n      } else if (minus || plus) {\n        pause();\n        const qty = closestNode(event.target, \"[data-toa-qty]\");\n        const input = qty && qty.querySelector(\"input[name='quantity']\");\n        if (!input) return;\n        const nextQuantity = parseQuantity(input) + (plus ? 1 : -1);\n        input.value = String(Math.max(1, Math.min(99, nextQuantity)));\n      }\n    });\n\n    section.addEventListener(\"submit\", event => {\n      const form = closestNode(event.target, \"[data-toa-arrivals-form]\");\n      if (!form) return;\n      event.preventDefault();\n      pause();\n      addToCart(form);\n    });\n\n    initDesktopRailControls(section, rail, pause);\n\n    [\"pointerdown\", \"touchstart\", \"wheel\", \"keydown\", \"focusin\", \"mouseenter\"].forEach(name => {\n      section.addEventListener(name, pause, { passive: true });\n    });\n    rail.addEventListener(\"scroll\", () => window.requestAnimationFrame(() => updateNav(section)), { passive: true });\n    window.addEventListener(\"resize\", () => updateNav(section), { passive: true });\n    setFilter(section, \"all\");\n    start();\n  }\n\n  function render(products) {\n    if (document.getElementById(ROOT_ID)) return;\n    const sorted = products\n      .filter(product => product && product.handle)\n      .sort((a, b) => {\n        const groupDiff = assortmentRank(a) - assortmentRank(b);\n        return groupDiff || productDate(b) - productDate(a);\n      })\n      .slice(0, MAX_PRODUCTS);\n    if (!sorted.length) return;\n\n    injectStyle();\n    const section = document.createElement(\"section\");\n    section.id = ROOT_ID;\n    section.setAttribute(\"aria-labelledby\", ROOT_ID + \"-title\");\n    section.innerHTML = sectionHtml(sorted);\n    const title = section.querySelector(\".toa-new-arrivals__title\");\n    if (title) title.id = ROOT_ID + \"-title\";\n    insertSection(section);\n    initCarousel(section);\n  }\n\n  function boot() {\n    if (document.body && !isHomepage()) return;\n    fetchProducts().then(render).catch(() => {});\n  }\n\n  if (document.readyState === \"loading\") {\n    document.addEventListener(\"DOMContentLoaded\", boot, { once: true });\n  } else {\n    boot();\n  }\n})();\n"],
  "mappings": "CAAC,IAAM,CACL,GAAI,OAAO,mBAAoB,OAC/B,OAAO,mBAAqB,GAG5B,MAAM,eAAiB,gBADG,cAEpB,aAAe,IACf,YAAc,IACd,aAAe,eAAiB,wBAA0B,aAAe,8BACzE,qBAAuB,wCAA0C,aAAe,8BAChF,cAAgB,2BAChB,sBAAwB,gEACxB,QAAU,mBAEV,KACS,OAAO,SAAS,gBAAgB,MAAQ,IAAI,EAAE,YAAY,EAC9D,WAAW,IAAI,EACf,CACL,OAAQ,iBACR,MAAO,cACP,MAAO,mDACP,IAAK,qBACL,WAAY,QACZ,SAAU,gBACV,OAAQ,0BACR,QAAS,8BACT,MAAO,MACP,QAAS,eACT,QAAS,WACT,UAAW,WACX,IAAK,cACL,OAAQ,YACR,MAAO,QACP,MAAO,YACP,MAAO,kBACP,KAAM,oBACN,SAAU,oBACV,KAAM,eACR,EAEK,CACL,OAAQ,sBACR,MAAO,cACP,MAAO,mEACP,IAAK,yBACL,WAAY,cACZ,SAAU,iBACV,OAAQ,oCACR,QAAS,0BACT,MAAO,MACP,QAAS,cACT,QAAS,cACT,UAAW,YACX,IAAK,mBACL,OAAQ,iBACR,MAAO,eACP,MAAO,oBACP,MAAO,mBACP,KAAM,mBACN,SAAU,qBACV,KAAM,qBACR,EAGI,IAAM;AAAA,OACP,OAAO;AAAA,OACP,OAAO;AAAA;AAAA;AAAA;AAAA,OAIP,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,OAgBP,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,SAgeL,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAgEd,SAAS,aAAc,CACrB,GAAI,SAAS,eAAe,QAAU,QAAQ,EAAG,OACjD,MAAM,MAAQ,SAAS,cAAc,OAAO,EAC5C,MAAM,GAAK,QAAU,SACrB,MAAM,YAAc,IACpB,SAAS,KAAK,YAAY,KAAK,CACjC,CAEA,SAAS,YAAY,MAAO,CAC1B,MAAM,OAAS,OAAO,WAAW,OAAO,OAAS,EAAE,EAAE,QAAQ,IAAK,GAAG,CAAC,EACtE,OAAK,OAAO,SAAS,MAAM,EACpB,OAAO,eAAe,QAAS,CACpC,MAAO,WACP,SAAU,KACZ,CAAC,EAJoC,EAKvC,CAEA,SAAS,UAAU,QAAS,CAC1B,MAAM,KAAO,SAAW,QAAQ,KAChC,OAAI,MAAM,QAAQ,IAAI,EAAU,KACzB,OAAO,MAAQ,EAAE,EAAE,MAAM,GAAG,EAAE,IAAI,KAAO,IAAI,KAAK,CAAC,EAAE,OAAO,OAAO,CAC5E,CAEA,SAAS,YAAY,QAAS,CAC5B,MAAM,QAAU,UAAU,OAAO,EAAE,KAAK,KAAO,mDAAmD,KAAK,GAAG,CAAC,EAC3G,GAAI,QAAS,CACX,MAAM,MAAQ,QAAQ,MAAM,qBAAqB,EAC3C,OAAS,KAAK,MAAM,MAAQ,MAAM,CAAC,EAAI,EAAE,EAC/C,GAAI,OAAO,SAAS,MAAM,EAAG,OAAO,MACtC,CACA,MAAM,IAAM,UAAY,QAAQ,YAAc,QAAQ,cAAgB,QAAQ,YACxE,MAAQ,KAAK,MAAM,KAAO,EAAE,EAClC,OAAO,OAAO,SAAS,KAAK,EAAI,MAAQ,CAC1C,CAEA,SAAS,SAAS,QAAS,CACzB,MAAM,WAAa,SAAW,MAAM,QAAQ,QAAQ,MAAM,EAAI,QAAQ,OAAO,CAAC,EAAI,KAClF,OAAI,YAAc,WAAW,IAAY,WAAW,IAChD,SAAW,QAAQ,eAAuB,QAAQ,eAC/C,EACT,CAEA,SAAS,IAAI,MAAO,CAClB,OAAO,OAAO,OAAgB,EAAU,EAAE,QAAQ,WAAY,OAAS,CACrE,IAAK,QACL,IAAK,OACL,IAAK,OACL,IAAK,SACL,IAAK,OACP,GAAE,IAAI,CAAE,CACV,CAEA,SAAS,SAAS,MAAO,CAEvB,OADc,OAAO,OAAS,KAAK,EAAE,KAAK,EAAE,MAAM,KAAK,EAAE,OAAO,OAAO,EAAE,MAAM,EAAG,CAAC,EACtE,IAAI,MAAQ,KAAK,OAAO,CAAC,EAAE,YAAY,CAAC,EAAE,KAAK,EAAE,GAAK,KACrE,CAEA,SAAS,qBAAqB,OAAQ,CACpC,OAAO,OACJ,OAAO,OAAO,EACd,KAAK,GAAG,EACR,YAAY,EACZ,UAAU,KAAK,EACf,QAAQ,mBAAoB,EAAE,EAC9B,QAAQ,UAAW,IAAI,CAC5B,CAEA,SAAS,cAAc,QAAS,CAC9B,MAAM,OAAS,gLACT,QAAU,oQACV,YAAc,gRACd,SAAW,qBAAqB,CAAC,SAAW,QAAQ,YAAY,CAAC,EACjE,QAAU,qBAAqB,UAAU,OAAO,CAAC,EACjD,UAAY,qBAAqB,CAAC,SAAW,QAAQ,KAAK,CAAC,EAEjE,OAAI,OAAO,KAAK,QAAQ,EAAU,SAC9B,QAAQ,KAAK,QAAQ,EAAU,UAC/B,OAAO,KAAK,OAAO,EAAU,SAC7B,QAAQ,KAAK,OAAO,EAAU,UAC3B,YAAY,KAAK,SAAS,EAAI,SAAW,SAClD,CAEA,SAAS,gBAAgB,IAAK,CAC5B,OAAO,MAAQ,SAAW,KAAK,OAAS,KAAK,OAC/C,CAEA,SAAS,eAAe,QAAS,CAC/B,OAAO,cAAc,OAAO,IAAM,SAAW,EAAI,CACnD,CAEA,SAAS,iBAAiB,QAAS,CACjC,MAAI,CAAC,SAAW,CAAC,MAAM,QAAQ,QAAQ,QAAQ,EAAU,GAClD,QAAQ,SAAS,KAAK,SAAW,SAAW,QAAQ,YAAc,EAAK,CAChF,CAEA,SAAS,iBAAiB,QAAS,CACjC,MAAM,QAAU,SAAW,MAAM,QAAQ,QAAQ,QAAQ,EAAI,QAAQ,SAAS,CAAC,GAAK,CAAC,EAAI,CAAC,EACpF,UAAY,OAAO,WAAW,OAAO,QAAQ,kBAAoB,EAAE,EAAE,QAAQ,IAAK,GAAG,CAAC,EACtF,MAAQ,OAAO,WAAW,OAAO,QAAQ,OAAS,EAAE,EAAE,QAAQ,IAAK,GAAG,CAAC,EACvE,WAAa,cAAc,OAAO,EACxC,MAAO,CACL,MAAO,SAAW,QAAQ,MAAQ,QAAQ,MAAQ,gBAClD,OAAQ,SAAW,QAAQ,OAAS,QAAQ,OAAS,GACrD,OAAQ,SAAW,QAAQ,OAAS,QAAQ,OAAS,GACrD,MAAO,SAAS,OAAO,EACvB,UAAW,YAAY,QAAQ,KAAK,EACpC,YAAa,OAAO,SAAS,SAAS,GAAK,OAAO,SAAS,KAAK,GAAK,UAAY,MAAQ,YAAY,SAAS,EAAI,GAClH,UAAW,QAAQ,YAAc,IAAS,iBAAiB,OAAO,EAClE,UAAW,QAAQ,IAAM,GACzB,IAAK,SAAW,QAAQ,OAAS,aAAe,QAAQ,OAAS,eACjE,WACA,gBAAiB,gBAAgB,UAAU,CAC7C,CACF,CAEA,SAAS,aAAa,KAAM,CAC1B,MAAI,CAAC,KAAK,WAAa,CAAC,KAAK,UACpB,gEAAgE,IAAI,KAAK,OAAO,CAAC,YAEnF;AAAA;AAAA,gDAEqC,IAAI,KAAK,SAAS,CAAC;AAAA;AAAA,iEAEF,IAAI,KAAK,KAAK,CAAC;AAAA;AAAA,gEAEhB,IAAI,KAAK,IAAI,CAAC;AAAA;AAAA,2EAEH,IAAI,KAAK,GAAG,CAAC;AAAA;AAAA,KAGtF,CAEA,SAAS,YAAY,QAAS,MAAO,CACnC,MAAM,KAAO,iBAAiB,OAAO,EAC/B,MAAQ,IAAI,KAAK,KAAK,EACtB,OAAS,IAAI,KAAK,MAAM,EACxB,MAAQ,KAAK,MACf,6CAA6C,IAAI,KAAK,KAAK,CAAC,UAAU,KAAK,cAAc,MAAQ,QAAU,MAAM,KACjH,iEAAiE,IAAI,SAAS,KAAK,KAAK,CAAC,CAAC,SACxF,QAAU,KAAK,YAAc,2CAA2C,IAAI,KAAK,WAAW,CAAC,UAAY,GACzG,MAAQ,KAAK,UACf,yCAAyC,IAAI,KAAK,SAAS,CAAC,UAC5D,2EAA2E,IAAI,KAAK,OAAO,CAAC,UAEhG,MAAO;AAAA,uFAC4E,IAAI,KAAK,UAAU,CAAC;AAAA,mDACxD,IAAI,KAAK,GAAG,CAAC,iBAAiB,IAAI,KAAK,OAAO,CAAC,KAAK,KAAK;AAAA,YAChG,KAAK;AAAA,kDACiC,IAAI,KAAK,KAAK,CAAC;AAAA,kDACf,IAAI,KAAK,eAAe,CAAC;AAAA;AAAA;AAAA,mDAGxB,MAAM;AAAA,oDACL,IAAI,KAAK,GAAG,CAAC,KAAK,KAAK;AAAA,qDACtB,IAAI,KAAK,SAAS,CAAC,GAAG,OAAO;AAAA,YACtE,KAAK;AAAA,YACL,aAAa,IAAI,CAAC;AAAA;AAAA;AAAA,KAI5B,CAEA,SAAS,YAAY,SAAU,CAC7B,OAAO,SAAS,OAAO,CAAC,OAAQ,UAAY,CAC1C,MAAM,MAAQ,cAAc,OAAO,EACnC,cAAO,KAAO,EACd,OAAO,KAAK,GAAK,OAAO,KAAK,GAAK,GAAK,EAChC,MACT,EAAG,CAAE,IAAK,EAAG,OAAQ,EAAG,QAAS,CAAE,CAAC,CACtC,CAEA,SAAS,iBAAiB,IAAK,MAAO,MAAO,OAAQ,CACnD,MAAI,CAAC,OAAS,MAAQ,MAAc,GAC7B;AAAA,4CACiC,OAAS,aAAe,EAAE,4CAA4C,IAAI,GAAG,CAAC,mBAAmB,OAAS,OAAS,OAAO;AAAA,gBACtJ,IAAI,KAAK,CAAC;AAAA,oDAC0B,IAAI,KAAK,CAAC;AAAA;AAAA,KAG5D,CAEA,SAAS,SAAS,SAAU,CAC1B,MAAM,OAAS,YAAY,QAAQ,EACnC,MAAO;AAAA,uEAC4D,IAAI,KAAK,UAAU,CAAC;AAAA,UACjF,iBAAiB,MAAO,KAAK,SAAU,OAAO,IAAK,EAAI,CAAC;AAAA,UACxD,iBAAiB,SAAU,KAAK,OAAQ,OAAO,OAAQ,EAAK,CAAC;AAAA,UAC7D,iBAAiB,UAAW,KAAK,QAAS,OAAO,QAAS,EAAK,CAAC;AAAA;AAAA,KAGxE,CAEA,SAAS,YAAY,SAAU,CAC7B,MAAO;AAAA;AAAA;AAAA;AAAA,qDAI0C,IAAI,KAAK,MAAM,CAAC;AAAA,kDACnB,IAAI,KAAK,KAAK,CAAC;AAAA,iDAChB,IAAI,KAAK,KAAK,CAAC;AAAA;AAAA,mDAEb,cAAc,KAAK,IAAI,KAAK,GAAG,CAAC;AAAA;AAAA,UAEzE,SAAS,QAAQ,CAAC;AAAA;AAAA,8HAEkG,IAAI,KAAK,QAAQ,CAAC;AAAA;AAAA,cAElI,SAAS,IAAI,CAAC,QAAS,QAAU,YAAY,QAAS,MAAQ,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC;AAAA;AAAA,8HAEsC,IAAI,KAAK,IAAI,CAAC;AAAA;AAAA,2EAEjE,IAAI,KAAK,OAAO,CAAC;AAAA;AAAA,KAG1F,CAEA,SAAS,eAAgB,CACvB,GAAI,CACF,MAAM,OAAS,IAAI,gBAAgB,OAAO,SAAS,QAAU,EAAE,EAC/D,OAAO,OAAO,IAAI,aAAa,IAAM,KAAO,OAAO,IAAI,aAAa,IAAM,MAC5E,MAAgB,CACd,MAAO,EACT,CACF,CAEA,SAAS,eAAgB,CACvB,GAAI,MAAM,QAAQ,OAAO,yBAAyB,EAChD,OAAO,QAAQ,QAAQ,OAAO,yBAAyB,EAEzD,MAAM,IAAM,cAAc,EAAI,qBAAuB,aACrD,OAAO,MAAM,IAAK,CAChB,YAAa,cACb,QAAS,CAAE,OAAQ,kBAAmB,EACtC,MAAO,UACT,CAAC,EACE,KAAK,UAAY,CAChB,GAAI,CAAC,SAAS,GAAI,MAAM,IAAI,MAAM,0BAA0B,EAC5D,OAAO,SAAS,KAAK,CACvB,CAAC,EACA,KAAK,SAAW,MAAM,QAAQ,QAAQ,QAAQ,EAAI,QAAQ,SAAW,CAAC,CAAC,CAC5E,CAEA,SAAS,cAAc,QAAS,CAC9B,MAAM,KAAO,SAAS,cAAc,qBAAqB,EACnD,UAAY,SAAS,eAAe,gBAAgB,EACpD,OAAS,SAAS,cAAc,sBAAsB,EACtD,KAAO,SAAS,cAAc,MAAM,GAAK,SAAS,KAClD,aAAe,KAAK,cAAc,kBAAkB,EAE1D,GAAI,WAAa,UAAU,WAAY,CACrC,UAAU,sBAAsB,WAAY,OAAO,EACnD,MACF,CACA,GAAI,MAAQ,KAAK,WAAY,CAC3B,KAAK,WAAW,aAAa,QAAS,KAAK,WAAW,EACtD,MACF,CACA,GAAI,QAAU,OAAO,WAAY,CAC/B,OAAO,WAAW,aAAa,QAAS,OAAO,WAAW,EAC1D,MACF,CACA,GAAI,cAAgB,aAAa,WAAY,CAC3C,aAAa,WAAW,aAAa,QAAS,YAAY,EAC1D,MACF,CACA,KAAK,aAAa,QAAS,KAAK,UAAU,CAC5C,CAEA,SAAS,YAAa,CACpB,MAAM,KAAO,OAAO,SAAS,UAAY,IACzC,OAAO,SAAS,KAAK,UAAU,SAAS,gBAAgB,GAAK,OAAS,KAAO,OAAS,OAAS,OAAS,MAC1G,CAEA,SAAS,aAAa,QAAS,CAC7B,OAAO,MAAM,KAAK,QAAQ,iBAAiB,yBAAyB,CAAC,EAAE,OAAO,MAAQ,CAAC,KAAK,MAAM,CACpG,CAEA,SAAS,UAAU,QAAS,CAC1B,MAAM,KAAO,QAAQ,cAAc,yBAAyB,EACtD,KAAO,QAAQ,cAAc,yBAAyB,EACtD,KAAO,QAAQ,cAAc,yBAAyB,EACtD,MAAQ,QAAQ,cAAc,0BAA0B,EACxD,MAAQ,aAAa,OAAO,EAC5B,SAAW,CAAC,MAAQ,MAAM,QAAU,GAAK,KAAK,aAAe,KAAK,YAAc,EAClF,OAAM,KAAK,OAAS,UACpB,OAAM,KAAK,OAAS,UACpB,QAAO,MAAM,OAAS,MAAM,OAAS,EAC3C,CAEA,SAAS,YAAY,OAAQ,SAAU,CACrC,MAAM,KAAO,QAAU,OAAO,WAAa,EAAI,OAAS,QAAU,OAAO,cACzE,OAAO,MAAQ,KAAK,QAAU,KAAK,QAAQ,QAAQ,EAAI,IACzD,CAEA,SAAS,cAAc,KAAM,KAAM,OAAQ,CACzC,GAAK,KACL,IAAI,OAAO,KAAK,UAAa,WAC3B,GAAI,CACF,KAAK,SAAS,CAAE,KAAM,SAAU,OAAS,SAAW,MAAO,CAAC,EAC5D,MACF,MAAgB,CAAC,CAEnB,GAAI,CACF,KAAK,WAAa,IACpB,MAAgB,CAAC,EACnB,CAEA,SAAS,UAAU,QAAS,IAAK,CAC/B,MAAM,OAAS,KAAO,MACtB,QAAQ,QAAQ,iBAAmB,OACnC,QAAQ,iBAAiB,2BAA2B,EAAE,QAAQ,QAAU,CACtE,MAAM,OAAS,OAAO,aAAa,yBAAyB,IAAM,OAClE,OAAO,UAAU,OAAO,YAAa,MAAM,EAC3C,OAAO,aAAa,eAAgB,OAAS,OAAS,OAAO,CAC/D,CAAC,EACD,QAAQ,iBAAiB,yBAAyB,EAAE,QAAQ,MAAQ,CAClE,KAAK,OAAS,SAAW,OAAS,KAAK,aAAa,iBAAiB,IAAM,MAC7E,CAAC,EACD,MAAM,KAAO,QAAQ,cAAc,yBAAyB,EACxD,MAAM,cAAc,KAAM,EAAG,EAAK,EACtC,UAAU,OAAO,CACnB,CAEA,SAAS,WAAW,KAAM,CACxB,MAAM,KAAO,MAAQ,KAAK,cAAc,uCAAuC,EACzE,MAAQ,KAAO,KAAK,sBAAsB,EAAE,MAAQ,IAC1D,OAAO,KAAK,IAAI,IAAK,KAAK,IAAI,KAAK,YAAc,IAAK,MAAQ,CAAC,CAAC,CAClE,CAEA,SAAS,WAAW,QAAS,UAAW,CACtC,MAAM,KAAO,QAAQ,cAAc,yBAAyB,EAC5D,GAAI,CAAC,KAAM,OACX,MAAM,IAAM,KAAK,IAAI,EAAG,KAAK,YAAc,KAAK,WAAW,EAC3D,GAAI,KAAO,EAAG,OAEd,IAAI,MADY,KAAK,YAAc,GACd,UAAY,WAAW,IAAI,EAC5C,UAAY,GAAK,MAAQ,IAAM,IAAG,KAAO,GACzC,UAAY,GAAK,MAAQ,IAAG,KAAO,KACvC,cAAc,KAAM,KAAM,EAAI,CAChC,CAEA,SAAS,wBAAwB,QAAS,KAAM,MAAO,CACrD,IAAI,SAAW,GACX,MAAQ,GACR,OAAS,EACT,YAAc,EACd,mBAAqB,EAEzB,MAAM,aAAe,OAAS,CAC5B,GAAK,WACL,SAAW,GACX,KAAK,UAAU,OAAO,aAAa,EAC/B,QAAO,mBAAqB,KAAK,IAAI,EAAI,KACzC,OAAS,MAAM,WAAa,KAAK,uBACnC,GAAI,CAAE,KAAK,sBAAsB,MAAM,SAAS,CAAG,MAAgB,CAAC,CAExE,EAEA,KAAK,iBAAiB,cAAe,OAAS,CAC5C,GAAI,MAAM,cAAgB,SACtB,QAAM,SAAW,QAAa,MAAM,SAAW,IAC/C,aAAY,MAAM,OAAQ,8BAA8B,GACxD,OAAK,aAAe,KAAK,YAAc,KAC3C,MAAM,EACN,SAAW,GACX,MAAQ,GACR,OAAS,MAAM,QACf,YAAc,KAAK,YAAc,EACjC,KAAK,UAAU,IAAI,aAAa,EAC5B,KAAK,mBAAqB,MAAM,WAClC,GAAI,CAAE,KAAK,kBAAkB,MAAM,SAAS,CAAG,MAAgB,CAAC,CAEpE,CAAC,EAED,KAAK,iBAAiB,cAAe,OAAS,CAC5C,GAAI,CAAC,SAAU,OACf,MAAM,MAAQ,MAAM,QAAU,OAC1B,KAAK,IAAI,KAAK,EAAI,IAAG,MAAQ,IACjC,KAAK,WAAa,YAAc,MAC5B,OAAO,MAAM,eAAe,CAClC,EAAG,CAAE,QAAS,EAAM,CAAC,EAErB,CAAC,YAAa,gBAAiB,cAAc,EAAE,QAAQ,MAAQ,CAC7D,KAAK,iBAAiB,KAAM,YAAY,CAC1C,CAAC,EAED,KAAK,iBAAiB,QAAS,OAAS,CACtC,GAAI,KAAK,aAAe,KAAK,YAAc,EAAG,OAE9C,MAAM,MADa,KAAK,IAAI,MAAM,MAAM,EAAI,KAAK,IAAI,MAAM,MAAM,EACtC,MAAM,OAAS,MAAM,OAC3C,QACL,MAAM,EACN,cAAc,MAAO,KAAK,YAAc,GAAK,MAAO,EAAK,EACzD,MAAM,eAAe,EACvB,EAAG,CAAE,QAAS,EAAM,CAAC,EAErB,KAAK,iBAAiB,UAAW,OAAS,CACpC,MAAM,MAAQ,aAChB,MAAM,EACN,MAAM,eAAe,EACrB,WAAW,QAAS,EAAE,GACb,MAAM,MAAQ,eACvB,MAAM,EACN,MAAM,eAAe,EACrB,WAAW,QAAS,CAAC,EAEzB,CAAC,EAED,QAAQ,iBAAiB,QAAS,OAAS,CACrC,KAAK,IAAI,EAAI,qBACf,MAAM,eAAe,EACrB,MAAM,gBAAgB,EAE1B,EAAG,EAAI,CACT,CAEA,SAAS,cAAc,MAAO,CAC5B,MAAM,MAAQ,OAAO,SAAS,OAAO,OAAS,MAAM,OAAS,GAAG,EAAE,QAAQ,IAAK,GAAG,EAAG,EAAE,EACvF,OAAO,OAAO,SAAS,KAAK,GAAK,MAAQ,EAAI,KAAK,IAAI,MAAO,EAAE,EAAI,CACrE,CAEA,SAAS,aAAa,KAAM,CACtB,CAAC,MAAQ,OAAO,KAAK,YAAe,UACxC,SAAS,iBAAiB,4EAA4E,EAAE,QAAQ,MAAQ,CACtH,KAAK,YAAc,OAAO,KAAK,UAAU,EACzC,KAAK,UAAU,OAAO,QAAQ,CAChC,CAAC,CACH,CAEA,SAAS,mBAAmB,KAAM,CAC5B,MAAM,aAAa,IAAI,EAC3B,SAAS,cAAc,IAAI,YAAY,eAAgB,CAAE,QAAS,GAAM,OAAQ,CAAE,IAAK,CAAE,CAAC,CAAC,EAC3F,SAAS,cAAc,IAAI,YAAY,eAAgB,CAAE,QAAS,GAAM,OAAQ,CAAE,IAAK,CAAE,CAAC,CAAC,EAC3F,SAAS,cAAc,IAAI,YAAY,oBAAqB,CAAE,QAAS,GAAM,OAAQ,CAAE,IAAK,CAAE,CAAC,CAAC,CAClG,CAEA,SAAS,UAAU,KAAM,CACvB,MAAM,OAAS,KAAK,cAAc,gBAAgB,EAC5C,QAAU,KAAK,cAAc,kBAAkB,EAC/C,SAAW,KAAK,cAAc,wBAAwB,EACtD,UAAY,SAAW,QAAQ,MAC/B,SAAW,cAAc,QAAQ,EACvC,GAAI,CAAC,QAAU,CAAC,UAAW,OAC3B,MAAM,SAAW,OAAO,YACxB,OAAO,SAAW,GAClB,OAAO,YAAc,KAAK,OAC1B,MAAM,eAAgB,CACpB,OAAQ,OACR,YAAa,cACb,QAAS,CACP,OAAQ,mBACR,eAAgB,kBAClB,EACA,KAAM,KAAK,UAAU,CAAE,GAAI,OAAO,SAAS,GAAK,UAAW,QAAS,CAAC,CACvE,CAAC,EACE,KAAK,UAAY,CAChB,GAAI,CAAC,SAAS,GAAI,MAAM,IAAI,MAAM,iBAAiB,EACnD,OAAO,SAAS,KAAK,CACvB,CAAC,EACA,KAAK,IAAM,MAAM,WAAY,CAAE,YAAa,cAAe,QAAS,CAAE,OAAQ,kBAAmB,CAAE,CAAC,CAAC,EACrG,KAAK,UAAY,UAAY,SAAS,GAAK,SAAS,KAAK,EAAI,IAAI,EACjE,KAAK,MAAQ,CACZ,OAAO,YAAc,KAAK,MAC1B,mBAAmB,IAAI,CACzB,CAAC,EACA,MAAM,IAAM,CACX,OAAO,YAAc,KAAK,KAC5B,CAAC,EACA,QAAQ,IAAM,CACb,OAAO,WAAW,IAAM,CACtB,OAAO,SAAW,GAClB,OAAO,YAAc,UAAY,KAAK,GACxC,EAAG,IAAI,CACT,CAAC,CACL,CAEA,SAAS,aAAa,QAAS,CAC7B,MAAM,KAAO,QAAQ,cAAc,yBAAyB,EAC5D,GAAI,CAAC,KAAM,OACX,IAAI,MAAQ,EACR,WAAa,EACjB,MAAM,MAAQ,IAAM,CAClB,WAAa,KAAK,IAAI,EAAI,IAC5B,EACM,MAAQ,IAAM,CAClB,OAAO,cAAc,KAAK,EAC1B,MAAQ,OAAO,YAAY,IAAM,CAC3B,KAAK,IAAI,EAAI,YACjB,WAAW,QAAS,CAAC,CACvB,EAAG,WAAW,CAChB,EAEA,QAAQ,iBAAiB,QAAS,OAAS,CACzC,MAAM,OAAS,YAAY,MAAM,OAAQ,2BAA2B,EAC9D,KAAO,YAAY,MAAM,OAAQ,yBAAyB,EAC1D,KAAO,YAAY,MAAM,OAAQ,yBAAyB,EAC1D,MAAQ,YAAY,MAAM,OAAQ,sBAAsB,EACxD,KAAO,YAAY,MAAM,OAAQ,qBAAqB,EAC5D,GAAI,OACF,MAAM,EACN,UAAU,QAAS,OAAO,aAAa,yBAAyB,GAAK,KAAK,UACjE,KACT,MAAM,EACN,WAAW,QAAS,EAAE,UACb,KACT,MAAM,EACN,WAAW,QAAS,CAAC,UACZ,OAAS,KAAM,CACxB,MAAM,EACN,MAAM,IAAM,YAAY,MAAM,OAAQ,gBAAgB,EAChD,MAAQ,KAAO,IAAI,cAAc,wBAAwB,EAC/D,GAAI,CAAC,MAAO,OACZ,MAAM,aAAe,cAAc,KAAK,GAAK,KAAO,EAAI,IACxD,MAAM,MAAQ,OAAO,KAAK,IAAI,EAAG,KAAK,IAAI,GAAI,YAAY,CAAC,CAAC,CAC9D,CACF,CAAC,EAED,QAAQ,iBAAiB,SAAU,OAAS,CAC1C,MAAM,KAAO,YAAY,MAAM,OAAQ,0BAA0B,EAC5D,OACL,MAAM,eAAe,EACrB,MAAM,EACN,UAAU,IAAI,EAChB,CAAC,EAED,wBAAwB,QAAS,KAAM,KAAK,EAE5C,CAAC,cAAe,aAAc,QAAS,UAAW,UAAW,YAAY,EAAE,QAAQ,MAAQ,CACzF,QAAQ,iBAAiB,KAAM,MAAO,CAAE,QAAS,EAAK,CAAC,CACzD,CAAC,EACD,KAAK,iBAAiB,SAAU,IAAM,OAAO,sBAAsB,IAAM,UAAU,OAAO,CAAC,EAAG,CAAE,QAAS,EAAK,CAAC,EAC/G,OAAO,iBAAiB,SAAU,IAAM,UAAU,OAAO,EAAG,CAAE,QAAS,EAAK,CAAC,EAC7E,UAAU,QAAS,KAAK,EACxB,MAAM,CACR,CAEA,SAAS,OAAO,SAAU,CACxB,GAAI,SAAS,eAAe,OAAO,EAAG,OACtC,MAAM,OAAS,SACZ,OAAO,SAAW,SAAW,QAAQ,MAAM,EAC3C,KAAK,CAAC,EAAG,IACU,eAAe,CAAC,EAAI,eAAe,CAAC,GAClC,YAAY,CAAC,EAAI,YAAY,CAAC,CACnD,EACA,MAAM,EAAG,YAAY,EACxB,GAAI,CAAC,OAAO,OAAQ,OAEpB,YAAY,EACZ,MAAM,QAAU,SAAS,cAAc,SAAS,EAChD,QAAQ,GAAK,QACb,QAAQ,aAAa,kBAAmB,QAAU,QAAQ,EAC1D,QAAQ,UAAY,YAAY,MAAM,EACtC,MAAM,MAAQ,QAAQ,cAAc,0BAA0B,EAC1D,QAAO,MAAM,GAAK,QAAU,UAChC,cAAc,OAAO,EACrB,aAAa,OAAO,CACtB,CAEA,SAAS,MAAO,CACV,SAAS,MAAQ,CAAC,WAAW,GACjC,cAAc,EAAE,KAAK,MAAM,EAAE,MAAM,IAAM,CAAC,CAAC,CAC7C,CAEI,SAAS,aAAe,UAC1B,SAAS,iBAAiB,mBAAoB,KAAM,CAAE,KAAM,EAAK,CAAC,EAElE,KAAK,CAET,GAAG",
  "names": []
}
