{
  "version": 3,
  "sources": ["/cdn/shop/t/36/assets/holster-ac-watchdog.js?holster_ac=1788811001"],
  "sourcesContent": ["/* holster-ac-watchdog-v6-single-input (preview) */\n/**\n * AgeChecker Pro checkout bootstrap (tag: tabak) v5.\n * - Keeps entry popup off (OneGuard soft gate).\n * - Enables birthday checkout modal only.\n * - Modal-first: for tobacco carts, never silent-skip to /checkout.\n * - Session-remember tobacco age verify (2nd checkout in same tab skips re-ask).\n * - Fail-open only after birthday modal is shown and user can complete it,\n *   or for non-tobacco carts when Plus never boots.\n */\n(function () {\n  var NS = 'agecheckerVsARddsz9';\n  var TRUE_TOKEN = 'QFw7fWSBpVZDmWX9U7';\n  var FALSE_TOKEN = 'WeWwPFtL7cUkv7W3sArZ';\n  var IDENT = 'mG35tH2' + 'eGxRu7PQW';\n  var SHOP = '096wxz-z6.myshopify.com';\n  var PLUS_SRC = 'https://av-northern-apps.com/js/agecheckerplus_' + IDENT + '.js?shop=' + encodeURIComponent(SHOP);\n  var AGE_SESSION_KEY = 'holster_tobacco_age_ok_v1';\n  var injected = false;\n  var BOOT_FLAG = 'data-holster-ac-boot-v5';\n  var MODAL_WAIT_MS = 1200;\n  var pendingModalTimer = null;\n  var handledClick = false;\n\n  if (window.__holsterAcWatchdogV5) return;\n  window.__holsterAcWatchdogV5 = true;\n\n  function sessionAgeVerified() {\n    try {\n      return sessionStorage.getItem(AGE_SESSION_KEY) === '1';\n    } catch (e) {\n      return false;\n    }\n  }\n\n  function markSessionAgeVerified() {\n    try {\n      sessionStorage.setItem(AGE_SESSION_KEY, '1');\n    } catch (e) {}\n  }\n\n  function cartAttrsAgeVerified(cart) {\n    var attrs = (cart && cart.attributes) || {};\n    var v =\n      attrs['Age Verification Status'] ||\n      attrs['age_verification_status'] ||\n      attrs['Age verification status'] ||\n      '';\n    return /verified/i.test(String(v));\n  }\n\n  function isBrokenField(v) {\n    return !!(v && typeof v === 'object' && (v.error || v.message));\n  }\n\n  function coerceBool(v, fallback) {\n    if (v === TRUE_TOKEN || v === true || v === 'true' || v === 1 || v === '1') return true;\n    if (v === FALSE_TOKEN || v === false || v === 'false' || v === 0 || v === '0') return false;\n    if (isBrokenField(v)) return fallback;\n    if (v == null || v === '') return fallback;\n    return fallback;\n  }\n\n  function ensureNamespace() {\n    var ns = window[NS];\n    if (!ns || typeof ns !== 'object') {\n      ns = window[NS] = {};\n    }\n    ns.fields = ns.fields || {};\n    ns.callbacks = ns.callbacks || {};\n    if (typeof ns.getCookie !== 'function') {\n      ns.getCookie = function (name) {\n        var nameEQ = name + '=';\n        var ca = document.cookie.split(';');\n        for (var i = 0; i < ca.length; i++) {\n          var c = ca[i];\n          while (c.charAt(0) === ' ') c = c.substring(1, c.length);\n          if (c.indexOf(nameEQ) === 0) return c.substring(nameEQ.length, c.length);\n        }\n        return null;\n      };\n    }\n    if (typeof ns.removeNoPeekScreen !== 'function') {\n      ns.removeNoPeekScreen = function () {\n        var el = document.getElementById('agp__noPeekScreen');\n        if (el) el.remove();\n      };\n    }\n    if (typeof ns.getIdentifer !== 'function') {\n      ns.getIdentifer = function () {\n        return IDENT;\n      };\n    }\n    if (typeof ns.getScriptUrl !== 'function') {\n      ns.getScriptUrl = function () {\n        return PLUS_SRC;\n      };\n    }\n    if (typeof ns.insertScriptTag !== 'function') {\n      ns.insertScriptTag = function () {\n        if (\n          document.querySelector(\n            'script[data-holster-agechecker-plus], script[src*=\"agecheckerplus_' + IDENT + '\"]'\n          )\n        ) {\n          return;\n        }\n        var s = document.createElement('script');\n        s.type = 'text/javascript';\n        s.async = true;\n        s.src = PLUS_SRC;\n        s.setAttribute('data-holster-agechecker-plus', '1');\n        var x = document.getElementsByTagName('script')[0];\n        if (x && x.parentNode) x.parentNode.insertBefore(s, x);\n        else document.head.appendChild(s);\n      };\n    }\n    if (typeof ns.cartUrl === 'undefined' || ns.cartUrl === '/cart') {\n      ns.cartUrl = '/cart.js';\n    }\n    return ns;\n  }\n\n  function applyCheckoutModalFields(target, asRuntimeBools) {\n    if (!target || typeof target !== 'object') return;\n    if (asRuntimeBools) {\n      target.active = false;\n      target.cm_confirmation = false; // Holster v6: eigenes Ein-Feld-Modal statt Plus-3-Select-Modal\n      target.ccb_confirmation = false;\n      target.dcb_confirmation = false;\n      target.disable_order_notes = false;\n      target.cm_appearance_fields = true;\n      target.require_file_upload = false;\n      target.no_peek_mode = false;\n    } else {\n      target.active = FALSE_TOKEN;\n      target.cm_confirmation = FALSE_TOKEN;\n      target.ccb_confirmation = FALSE_TOKEN;\n      target.dcb_confirmation = FALSE_TOKEN;\n      target.disable_order_notes = FALSE_TOKEN;\n      target.cm_appearance_fields = TRUE_TOKEN;\n      target.require_file_upload = FALSE_TOKEN;\n      target.no_peek_mode = FALSE_TOKEN;\n    }\n\n    [\n      'active',\n      'ccb_confirmation',\n      'dcb_confirmation',\n      'cm_confirmation',\n      'disable_order_notes',\n      'cm_appearance_fields',\n      'require_file_upload',\n      'no_peek_mode',\n    ].forEach(function (k) {\n      if (isBrokenField(target[k])) {\n        var on = k === 'cm_appearance_fields';\n        target[k] = asRuntimeBools ? on : on ? TRUE_TOKEN : FALSE_TOKEN;\n      }\n    });\n\n    target.checkout_rules = 'tag';\n    target.checkout_tag = 'tabak';\n    target.min_age = 18;\n    target.cm_type = 'birthday';\n    target.type = target.type && !isBrokenField(target.type) ? target.type : 'birthday';\n    target.cm_heading = target.cm_heading || 'Altersverifikation';\n    target.cm_message =\n      target.cm_message ||\n      'Bitte geben Sie Ihr Geburtsdatum ein, um Tabakprodukte zu bestellen (ab 18 Jahren).';\n    target.cm_submit_button_text = target.cm_submit_button_text || 'Weiter zur Kasse';\n    target.cm_fail_message =\n      target.cm_fail_message ||\n      'Sie m\u00FCssen mindestens 18 Jahre alt sein, um Tabakprodukte zu bestellen.';\n    target.cm_disclaimer =\n      target.cm_disclaimer ||\n      'Mit dem Kauf best\u00E4tigen Sie, dass Sie mindestens 18 Jahre alt sind und Tabakwaren erwerben d\u00FCrfen.';\n    target.cm_checkbox_text = target.cm_checkbox_text || 'Ich bin mindestens 18 Jahre alt';\n    target.cm_yes_no_pass_button_text =\n      target.cm_yes_no_pass_button_text || 'Ja, ich bin 18 oder \u00E4lter';\n    target.cm_yes_no_fail_button_text =\n      target.cm_yes_no_fail_button_text || 'Nein, ich bin unter 18';\n  }\n\n  function clearDisabledCheckoutUi() {\n    try {\n      document\n        .querySelectorAll(\n          '.agpc__disabledCheckoutForm, .agpc__disabledCheckoutButton, .agpc__disabledPaymentButton'\n        )\n        .forEach(function (el) {\n          el.classList.remove(\n            'agpc__disabledCheckoutForm',\n            'agpc__disabledCheckoutButton',\n            'agpc__disabledPaymentButton'\n          );\n          if (\n            el.disabled &&\n            (el.name === 'checkout' ||\n              (el.classList && el.classList.contains('cart__checkout-button')))\n          ) {\n            el.disabled = false;\n          }\n        });\n      document.body.classList.remove(\n        'agecheckerVsARddsz9-ccb-guard-enabled',\n        'agecheckerVsARddsz9-dcb-guard-enabled'\n      );\n    } catch (e) {}\n  }\n\n  function patchRuntimeFields() {\n    var ns = ensureNamespace();\n    applyCheckoutModalFields(ns.fields, false);\n    if (window.agpJf5DrL && window.agpJf5DrL.fields) {\n      applyCheckoutModalFields(window.agpJf5DrL.fields, true);\n      var f = window.agpJf5DrL.fields;\n      f.active = coerceBool(f.active, false);\n      f.cm_confirmation = false;\n      f.ccb_confirmation = coerceBool(f.ccb_confirmation, false);\n      f.dcb_confirmation = coerceBool(f.dcb_confirmation, false);\n      f.disable_order_notes = coerceBool(f.disable_order_notes, false);\n      f.cm_appearance_fields = coerceBool(f.cm_appearance_fields, true);\n      f.require_file_upload = coerceBool(f.require_file_upload, false);\n      f.no_peek_mode = coerceBool(f.no_peek_mode, false);\n      f.checkout_rules = 'tag';\n      f.checkout_tag = 'tabak';\n      f.min_age = 18;\n      f.cm_type = 'birthday';\n    }\n    if (typeof ns.isPageMatch !== 'undefined') ns.isPageMatch = false;\n    if (window.agpJf5DrL) window.agpJf5DrL.isPageMatch = false;\n    if (ns.cartUrl === '/cart') ns.cartUrl = '/cart.js';\n    if (window.agpJf5DrL && window.agpJf5DrL.cartUrl === '/cart') {\n      window.agpJf5DrL.cartUrl = '/cart.js';\n    }\n    clearDisabledCheckoutUi();\n  }\n\n  function plusScriptInDom() {\n    return !!document.querySelector(\n      'script[data-holster-agechecker-plus], script[src*=\"agecheckerplus_' + IDENT + '\"]'\n    );\n  }\n\n  function ensureRoot() {\n    if (!document.getElementById('agp__root')) {\n      var root = document.createElement('div');\n      root.id = 'agp__root';\n      (document.body || document.documentElement).appendChild(root);\n    }\n  }\n\n  function ageModalVisible() {\n    var wrap = null; // v6: Plus-Modal wird nicht mehr genutzt\n    if (wrap) {\n      var style = window.getComputedStyle ? getComputedStyle(wrap) : null;\n      var rect = wrap.getBoundingClientRect ? wrap.getBoundingClientRect() : null;\n      var shown =\n        !style ||\n        (style.display !== 'none' && style.visibility !== 'hidden' && style.opacity !== '0');\n      // Require a usable footprint \u2014 empty/collapsed Plus shells must not block fallback.\n      var sized = !rect || (rect.width >= 120 && rect.height >= 80);\n      if (shown && sized) return true;\n    }\n    var fb = document.getElementById('holster-ac-fallback');\n    if (fb) {\n      var fr = fb.getBoundingClientRect ? fb.getBoundingClientRect() : null;\n      if (!fr || (fr.width > 0 && fr.height > 0)) return true;\n    }\n    return false;\n  }\n\n  function productHasTabakTag(p) {\n    var tags = p && p.tags;\n    if (Array.isArray(tags)) return tags.indexOf('tabak') !== -1;\n    if (typeof tags === 'string') {\n      return tags\n        .split(',')\n        .map(function (t) {\n          return t.trim();\n        })\n        .indexOf('tabak') !== -1;\n    }\n    return false;\n  }\n\n  function cartHasTabakTag() {\n    return fetch('/cart.js', { credentials: 'same-origin' })\n      .then(function (r) {\n        return r.json();\n      })\n      .then(function (cart) {\n        if (cartAttrsAgeVerified(cart)) {\n          markSessionAgeVerified();\n        }\n        var items = (cart && cart.items) || [];\n        if (!items.length) return false;\n        return Promise.all(\n          items.map(function (item) {\n            return fetch('/products/' + encodeURIComponent(item.handle) + '.js', {\n              credentials: 'same-origin',\n            })\n              .then(function (r) {\n                return r.ok ? r.json() : { tags: [] };\n              })\n              .catch(function () {\n                return { tags: [] };\n              });\n          })\n        ).then(function (products) {\n          return products.some(productHasTabakTag);\n        });\n      })\n      .catch(function () {\n        return false;\n      });\n  }\n\n  function clearModalTimer() {\n    if (pendingModalTimer) {\n      clearTimeout(pendingModalTimer);\n      pendingModalTimer = null;\n    }\n  }\n\n  /** Cart drawer uses <dialog showModal()> (top layer). Age UI must close it first. */\n  function closeCartDrawer() {\n    try {\n      var drawer = document.getElementById('cart-drawer');\n      var dlg =\n        document.querySelector('#cart-drawer dialog.theme-drawer__dialog') ||\n        document.querySelector('theme-drawer#cart-drawer dialog') ||\n        document.querySelector('#cart-drawer dialog');\n      // Prefer closing the top-layer <dialog> first (showModal).\n      if (dlg && dlg.open && typeof dlg.close === 'function') {\n        dlg.close();\n      }\n      if (drawer) {\n        if (typeof drawer.close === 'function') {\n          drawer.close();\n        } else if (typeof drawer.hideDialog === 'function') {\n          drawer.hideDialog();\n        }\n        drawer.removeAttribute('open');\n        drawer.classList.remove('is-open', 'open');\n      }\n      // Last resort: click Horizon close control\n      var closeBtn = document.querySelector(\n        '#cart-drawer .theme-drawer__close-button, #cart-drawer [aria-label*=\"Schlie\u00DFen\"], #cart-drawer [aria-label*=\"Close\"]'\n      );\n      if (dlg && dlg.open && closeBtn) {\n        try {\n          closeBtn.click();\n        } catch (e2) {\n          /* ignore */\n        }\n      }\n      document.documentElement.classList.remove('cart-drawer-open');\n      document.body.classList.remove('cart-drawer-open', 'overflow-hidden');\n    } catch (e) {\n      /* ignore */\n    }\n  }\n\n  /**\n   * Raise AgeChecker / fallback above page chrome.\n   * Do NOT force position:fixed on nested .agp__* nodes \u2014 that collapses Plus layout\n   * (date fields jump to top-left). Closing the cart dialog is the real fix for top-layer.\n   */\n  function hidePlusModal() {\n    try { document.querySelectorAll('.agp__wrapper').forEach(function (w) { w.style.setProperty('display', 'none', 'important'); }); } catch (e) {}\n  }\n  if (window.MutationObserver) {\n    new MutationObserver(function () { if (document.querySelector('.agp__wrapper')) hidePlusModal(); })\n      .observe(document.documentElement, { childList: true, subtree: true });\n  }\n  function elevateAgeModals() {\n    try {\n      var roots = document.querySelectorAll('#agp__root, .agp__wrapper, #holster-ac-fallback');\n      for (var i = 0; i < roots.length; i++) {\n        var el = roots[i];\n        if (!el || !el.style) continue;\n        el.style.setProperty('z-index', '2147483646', 'important');\n      }\n    } catch (e) {\n      /* ignore */\n    }\n  }\n\n  function showFallbackModal(onPass) {\n    if (document.getElementById('holster-ac-fallback')) return;\n    closeCartDrawer();\n    var wrap = document.createElement('dialog');\n    wrap.id = 'holster-ac-fallback';\n    wrap.setAttribute('aria-modal', 'true');\n    wrap.style.cssText =\n      'position:fixed;inset:0;z-index:2147483646;width:100%;max-width:100%;height:100%;max-height:100%;' +\n      'margin:0;padding:16px;border:0;background:rgba(0,0,0,.65);display:flex;align-items:center;justify-content:center;';\n    wrap.innerHTML =\n      '' +\n      '<div style=\"background:#fff;color:#1d1d1f;max-width:400px;width:100%;border-radius:12px;padding:24px;font-family:system-ui,sans-serif;\">' +\n      '<h2 style=\"margin:0 0 12px;font-size:1.15rem;\">Altersverifikation</h2>' +\n      '<p style=\"margin:0 0 16px;line-height:1.4;\">Bitte geben Sie Ihr Geburtsdatum ein, um Tabakprodukte zu bestellen (ab 18 Jahren).</p>' +\n      '<div style=\"margin-bottom:12px;\">' +\n      '<label for=\"holster-ac-dob\" style=\"display:block;font-size:13px;font-weight:600;margin:0 0 6px;\">Geburtsdatum (TT.MM.JJJJ)</label>' +\n      '<input id=\"holster-ac-dob\" autofocus enterkeyhint=\"go\" type=\"text\" inputmode=\"numeric\" autocomplete=\"bday\" maxlength=\"10\" placeholder=\"TT.MM.JJJJ\" aria-label=\"Geburtsdatum (TT.MM.JJJJ)\" style=\"width:100%;box-sizing:border-box;padding:10px;border:1px solid #949494;border-radius:6px;font-size:16px;\">' +\n      '</div>' +\n      '<p id=\"holster-ac-err\" style=\"display:none;color:#b00;font-size:12px;margin:0 0 10px;\"></p>' +\n      '<button id=\"holster-ac-go\" type=\"button\" style=\"width:100%;padding:12px 16px;border:0;border-radius:8px;background:#1d1d1f;color:#fff;font-weight:600;cursor:pointer;\">Weiter zur Kasse</button>' +\n      '<button id=\"holster-ac-close\" type=\"button\" style=\"width:100%;margin-top:8px;padding:10px;border:0;background:transparent;color:#666;cursor:pointer;\">Abbrechen</button>' +\n      '<p style=\"margin:14px 0 0;font-size:11px;color:#666;line-height:1.35;\">Mit dem Kauf best\u00E4tigen Sie, dass Sie mindestens 18 Jahre alt sind und Tabakwaren erwerben d\u00FCrfen.</p>' +\n      '</div>';\n    document.body.appendChild(wrap);\n    try {\n      if (typeof wrap.showModal === 'function') {\n        wrap.showModal();\n      } else {\n        wrap.setAttribute('open', '');\n      }\n    } catch (e) {\n      wrap.setAttribute('open', '');\n    }\n    var err = wrap.querySelector('#holster-ac-err');\n    var dobInput = wrap.querySelector('#holster-ac-dob');\n    dobInput.addEventListener('input', function () {\n      var digits = dobInput.value.replace(/\\D/g, '').slice(0, 8);\n      var out = digits.slice(0, 2);\n      if (digits.length > 2) out += '.' + digits.slice(2, 4);\n      if (digits.length > 4) out += '.' + digits.slice(4, 8);\n      dobInput.value = out;\n      err.style.display = 'none';\n    });\n    dobInput.addEventListener('keydown', function (ev) {\n      if (ev.key === 'Enter') wrap.querySelector('#holster-ac-go').click();\n    });\n    try { dobInput.focus(); } catch (eF) {}\n    wrap.querySelector('#holster-ac-close').onclick = function () {\n      try {\n        if (typeof wrap.close === 'function') wrap.close();\n      } catch (e3) {\n        /* ignore */\n      }\n      wrap.remove();\n      clearModalTimer();\n      handledClick = false;\n    };\n    wrap.querySelector('#holster-ac-go').onclick = function () {\n      var raw = (wrap.querySelector('#holster-ac-dob').value || '').trim();\n      var mt = /^(\\d{1,2})\\.(\\d{1,2})\\.(\\d{4})$/.exec(raw);\n      var d = mt ? parseInt(mt[1], 10) : 0;\n      var m = mt ? parseInt(mt[2], 10) : 0;\n      var y = mt ? parseInt(mt[3], 10) : 0;\n      var chk = mt ? new Date(y, m - 1, d) : null;\n      if (!mt || !chk || chk.getFullYear() !== y || chk.getMonth() !== m - 1 || chk.getDate() !== d || y < 1900 || chk > new Date()) {\n        err.style.display = 'block';\n        err.textContent = 'Bitte geben Sie ein g\u00FCltiges Geburtsdatum im Format TT.MM.JJJJ ein.';\n        return;\n      }\n      var birth = new Date(y, m - 1, d);\n      var now = new Date();\n      var age = now.getFullYear() - birth.getFullYear();\n      var md = now.getMonth() - birth.getMonth();\n      if (md < 0 || (md === 0 && now.getDate() < birth.getDate())) age--;\n      if (age < 18) {\n        err.style.display = 'block';\n        err.textContent = 'Sie m\u00FCssen mindestens 18 Jahre alt sein, um Tabakprodukte zu bestellen.';\n        return;\n      }\n      try {\n        if (typeof wrap.close === 'function') wrap.close();\n      } catch (e4) {\n        /* ignore */\n      }\n      wrap.remove();\n      onPass();\n    };\n  }\n\n  function goCheckoutVerified() {\n    clearModalTimer();\n    handledClick = false;\n    markSessionAgeVerified();\n    closeCartDrawer();\n    var payload = {\n      attributes: {\n        'Age Verification Status': 'Verified - Holster fallback birthday check (18+)',\n      },\n    };\n    fetch('/cart/update.js', {\n      method: 'POST',\n      headers: { 'Content-Type': 'application/json' },\n      credentials: 'same-origin',\n      body: JSON.stringify(payload),\n    })\n      .catch(function () {\n        return null;\n      })\n      .finally(function () {\n        window.location.href = '/checkout';\n      });\n  }\n\n  function ensureTobaccoModalThenCheckout() {\n    closeCartDrawer();\n    if (sessionAgeVerified()) {\n      goCheckoutVerified();\n      return;\n    }\n    if (ageModalVisible()) {\n      elevateAgeModals();\n      return;\n    }\n    showFallbackModal(goCheckoutVerified);\n  }\n\n  function isCheckoutTarget(el) {\n    if (!el || !el.closest) return null;\n    return el.closest(\n      'button[name=\"checkout\"], [type=\"submit\"][name=\"checkout\"], ' +\n        'button.cart__checkout-button, #checkout, ' +\n        'a[href=\"/checkout\"], a[href^=\"/checkout?\"], a[href$=\"/checkout\"]'\n    );\n  }\n\n  function installCheckoutWatchdog() {\n    document.addEventListener(\n      'click',\n      function (ev) {\n        var btn = isCheckoutTarget(ev.target);\n        if (!btn) return;\n        if (handledClick) {\n          ev.preventDefault();\n          ev.stopPropagation();\n          return;\n        }\n\n        patchRuntimeFields();\n        clearDisabledCheckoutUi();\n\n        // Always stop native navigation first; we decide after cart tag check.\n        ev.preventDefault();\n        ev.stopPropagation();\n        handledClick = true;\n        clearModalTimer();\n\n        cartHasTabakTag()\n          .then(function (needs) {\n            if (!needs) {\n              handledClick = false;\n              window.location.href = '/checkout';\n              return;\n            }\n\n            // Same-session tobacco age already passed \u2014 skip re-ask.\n            if (sessionAgeVerified()) {\n              handledClick = false;\n              markSessionAgeVerified();\n              window.location.href = '/checkout';\n              return;\n            }\n\n            // Holster v6: direkt das Ein-Feld-Geburtsdatum-Modal (kein Warten auf Plus-3-Select-Modal).\n            clearModalTimer();\n            ensureTobaccoModalThenCheckout();\n            handledClick = false;\n            return;\n            // Tobacco: prefer Plus modal, then Holster birthday fallback. Never silent skip.\n            // Cart drawer is a top-layer <dialog> \u2014 close it so age UI is interactable.\n            closeCartDrawer();\n            if (ageModalVisible()) {\n              elevateAgeModals();\n              handledClick = false;\n              return;\n            }\n\n            pendingModalTimer = setTimeout(function () {\n              pendingModalTimer = null;\n              if (sessionAgeVerified()) {\n                handledClick = false;\n                window.location.href = '/checkout';\n                return;\n              }\n              if (ageModalVisible()) {\n                closeCartDrawer();\n                elevateAgeModals();\n                handledClick = false;\n                return;\n              }\n              ensureTobaccoModalThenCheckout();\n              handledClick = false;\n            }, MODAL_WAIT_MS);\n\n            // If Plus is not ready, show fallback immediately.\n            var plusReady = !!(window.agpJf5DrL && window.agpJf5DrL.fields && plusScriptInDom());\n            if (!plusReady) {\n              clearModalTimer();\n              ensureTobaccoModalThenCheckout();\n              handledClick = false;\n            } else {\n              // Plus may inject modal shortly \u2014 keep elevating / drawer closed.\n              setTimeout(function () {\n                closeCartDrawer();\n                elevateAgeModals();\n              }, 80);\n              setTimeout(function () {\n                closeCartDrawer();\n                elevateAgeModals();\n              }, 400);\n            }\n          })\n          .catch(function () {\n            // Unknown cart state: still show birthday modal rather than silent checkout.\n            if (sessionAgeVerified()) {\n              handledClick = false;\n              window.location.href = '/checkout';\n              return;\n            }\n            ensureTobaccoModalThenCheckout();\n            handledClick = false;\n          });\n      },\n      true\n    );\n\n    document.addEventListener('submit', function (ev) {\n      var form = ev.target;\n      if (!form || !form.querySelector) return;\n      if (!form.querySelector('[name=\"checkout\"]')) return;\n      var btn = form.querySelector('[name=\"checkout\"]');\n      if (!btn) return;\n      // Reuse click path by synthesizing through closest checkout control.\n      btn.click();\n      ev.preventDefault();\n    }, true);\n  }\n\n  function boot() {\n    ensureRoot();\n    patchRuntimeFields();\n    var ns = ensureNamespace();\n\n    if (plusScriptInDom()) {\n      injected = true;\n      document.documentElement.setAttribute(BOOT_FLAG, 'done');\n      return;\n    }\n\n    if (typeof ns.shouldInsertScriptTags === 'function' && ns.shouldInsertScriptTags()) {\n      ns.insertScriptTag();\n      injected = true;\n      document.documentElement.setAttribute(BOOT_FLAG, 'done');\n      return;\n    }\n\n    if (!injected) {\n      ns.insertScriptTag();\n      injected = true;\n      document.documentElement.setAttribute(BOOT_FLAG, 'done');\n    }\n  }\n\n  boot();\n  installCheckoutWatchdog();\n  if (document.readyState === 'loading') {\n    document.addEventListener('DOMContentLoaded', function () {\n      boot();\n    });\n  }\n  var patches = [50, 150, 300, 600, 1000, 1600, 2500, 4000, 6000];\n  patches.forEach(function (ms) {\n    setTimeout(function () {\n      patchRuntimeFields();\n      boot();\n    }, ms);\n  });\n  var clearTicks = 0;\n  var clearTimer = setInterval(function () {\n    patchRuntimeFields();\n    clearTicks += 1;\n    if (clearTicks > 40) clearInterval(clearTimer);\n  }, 500);\n})();\n"],
  "mappings": "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",
  "names": []
}
