{"time":"2026-09-15T14:26:11.229Z","specifics":"<script>\n\n(function(){\ntry{\n/** file: addFreshNativeFunctions.js */\n\"use strict\";\n\nconst originalSetInterval = window.setInterval;\nconst originalSetTimeout = window.setTimeout;\nconst originalClearInterval = window.clearInterval;\nconst originalClearTimeout = window.clearTimeout;\nlet setInterval = originalSetInterval;\nlet setTimeout = originalSetTimeout;\nlet clearIntervalNative = originalClearInterval;\nlet clearTimeoutNative = originalClearTimeout;\nif (!originalSetInterval.toString().includes(\"[native code]\") || !originalSetTimeout.toString().includes(\"[native code]\") || !originalClearInterval.toString().includes(\"[native code]\") || !originalClearTimeout.toString().includes(\"[native code]\")) {\n  const iframe = document.createElement(\"iframe\");\n  Object.assign(iframe.style, {\n    position: \"fixed\",\n    width: \"1px\",\n    height: \"1px\",\n    border: \"none\",\n    top: \"-10px\",\n    left: \"-10px\",\n    visibility: \"hidden\",\n    pointerEvents: \"none\"\n  });\n  iframe.setAttribute(\"role\", \"presentation\");\n  iframe.setAttribute(\"sandbox\", \"allow-same-origin\");\n  document.body.appendChild(iframe);\n  iframe.src = \"about:blank\";\n  const iframeWindow = iframe.contentWindow;\n  if (iframeWindow) {\n    if (!originalSetInterval.toString().includes(\"[native code]\") && iframeWindow.setInterval) {\n      setInterval = iframeWindow.setInterval.bind(iframeWindow);\n    }\n    if (!originalSetTimeout.toString().includes(\"[native code]\") && iframeWindow.setTimeout) {\n      setTimeout = iframeWindow.setTimeout.bind(iframeWindow);\n    }\n    if (!originalClearInterval.toString().includes(\"[native code]\") && iframeWindow.clearInterval) {\n      clearIntervalNative = iframeWindow.clearInterval.bind(iframeWindow);\n    }\n    if (!originalClearTimeout.toString().includes(\"[native code]\") && iframeWindow.clearTimeout) {\n      clearTimeoutNative = iframeWindow.clearTimeout.bind(iframeWindow);\n    }\n  }\n}\n/** file: addSearchboxInstructions.js */\n\"use strict\";\n\nfunction addSearchboxInstructions(searchInput) {\n  let announcementMessage = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : \"Results or suggestions will be displayed as they become available. Continue navigating to access them.\";\n  const newSpan = createSrOnlyElement();\n  newSpan.id = \"instructions\";\n  newSpan.textContent = announcementMessage;\n  searchInput.insertAdjacentElement(\"afterend\", newSpan);\n  searchInput.setAttribute(\"aria-describedby\", \"instructions\");\n}\n/** file: applyMenuAttributes.js */\n\"use strict\";\n\nfunction applyMenuAttributes(menu) {\n  menu.setAttribute(\"data-acsb-m-menu\", \"ul\");\n  menu.setAttribute(\"data-acsb-fake-menu\", \"true\");\n}\n/** file: applyMenuItemAttributes.js */\n\"use strict\";\n\nfunction applyMenuItemAttributes(menuItem) {\n  let {\n    alternativeMenu = true\n  } = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n  if (alternativeMenu) {\n    forceAlternativeDropdown(menuItem);\n  }\n  menuItem.setAttribute(\"role\", \"menuitem\");\n  menuItem.setAttribute(\"data-acsb-menu-root\", \"true\");\n  menuItem.setAttribute(\"data-acsb-m-menu\", \"li\");\n  menuItem.setAttribute(\"data-acsb-menu\", \"li\");\n  menuItem.setAttribute(\"data-acsb-dropdown-container\", \"true\");\n}\n/** file: chatButtonAccessible.js */\n\"use strict\";\n\nfunction accessChatButton(iframe, skipLinks) {\n  let chatButtonSelector = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : \"\";\n  let chatButtonTabHandler = arguments.length > 3 ? arguments[3] : undefined;\n  const iframeDocument = iframe.contentDocument || iframe.contentWindow.document;\n  const chatButton = iframeDocument.querySelector(\"\".concat(chatButtonSelector ? chatButtonSelector : \"#mountHere\", \" button\"));\n  const skipLinksContainer = skipLinks.shadowRoot.querySelector(\".skip-links\");\n  const skipLink = skipLinksContainer.querySelector(\"div\");\n  const clone = skipLink.cloneNode(true);\n  const link = clone.querySelector(\"a\");\n  link.addEventListener(\"keydown\", event => {\n    if (event.key === \"Enter\") {\n      chatButton.focus();\n      chatButton.setAttribute(\"data-acsb-focused\", \"true\");\n      chatButton.style.borderColor = \"#639af9\";\n    }\n  });\n  link.addEventListener(\"click\", () => {\n    chatButton.focus();\n    chatButton.setAttribute(\"data-acsb-focused\", \"true\");\n    chatButton.style.borderColor = \"#639af9\";\n  });\n  if (chatButtonTabHandler) {\n    chatButton.addEventListener(\"keydown\", event => {\n      if (event.code === \"Tab\" && !event.shiftKey) {\n        event.preventDefault();\n        chatButtonTabHandler();\n      }\n    });\n  }\n  link.childNodes[0].textContent = \"Skip to Chat\";\n  link.href = chatButtonSelector ? chatButtonSelector : \"#gorgias-chat-container\";\n  skipLinksContainer.appendChild(clone);\n}\n/** file: connectMenuToMenuItem.js */\n\"use strict\";\n\nfunction connectMenuToMenuItem(_ref) {\n  let {\n    menuItem,\n    menu,\n    applyWrappingMenuItem = false,\n    alternativeMenu = true,\n    removeOriginalMenu = true\n  } = _ref;\n  let currentMenuItem = menuItem;\n  if (applyWrappingMenuItem) {\n    currentMenuItem = wrappMenuItem(menuItem);\n  }\n  const clonedMenu = menu.cloneNode(true);\n  currentMenuItem.appendChild(clonedMenu);\n  applyMenuItemAttributes(currentMenuItem, {\n    alternativeMenu\n  });\n  if (removeOriginalMenu) {\n    menu.remove();\n  }\n  return clonedMenu;\n}\nfunction wrappMenuItem(menuItem) {\n  const div = document.createElement(\"div\");\n  menuItem.before(div);\n  const clonedMenuItem = menuItem.cloneNode(true);\n  div.appendChild(clonedMenuItem);\n  menuItem.remove();\n  applyMenuItemAttributes(div);\n  return div;\n}\nfunction forceAlternativeDropdown(listItem) {\n  const fakeMenu1 = document.createElement(\"div\");\n  const fakeMenu2 = document.createElement(\"div\");\n  fakeMenu1.setAttribute(\"data-acsb-menu\", \"ul\");\n  fakeMenu2.setAttribute(\"data-acsb-menu\", \"ul\");\n  listItem.appendChild(fakeMenu1);\n  listItem.appendChild(fakeMenu2);\n}\n/** file: createLiveRegion.js */\n\"use strict\";\n\nfunction createLiveRegion(ariaLive, container) {\n  const span = document.createElement(\"span\");\n  span.className = \"acsb-sr-only\";\n  span.setAttribute(\"data-acsb-force-visible\", \"true\");\n  if (ariaLive) {\n    span.setAttribute(\"aria-live\", ariaLive);\n  }\n  if (container) {\n    container.append(span);\n  }\n  return span;\n}\n/** file: createSrOnlyElement.js */\n\"use strict\";\n\nfunction createSrOnlyElement() {\n  const srOnlyElement = document.createElement(\"span\");\n  srOnlyElement.style.position = \"absolute\";\n  srOnlyElement.style.width = \"1px\";\n  srOnlyElement.style.height = \"1px\";\n  srOnlyElement.style.padding = \"0\";\n  srOnlyElement.setAttribute(\"data-acsb-force-visible\", \"true\");\n  srOnlyElement.style.margin = \"-1px\";\n  srOnlyElement.style.overflow = \"hidden\";\n  srOnlyElement.style.clip = \"rect(0, 0, 0, 0)\";\n  srOnlyElement.style.whiteSpace = \"nowrap\";\n  srOnlyElement.style.borderWidth = \"0\";\n  srOnlyElement.setAttribute(\"data-acsb-force-visible\", \"true\");\n  return srOnlyElement;\n}\n/** file: forceNavigable.js */\n\"use strict\";\n\nfunction forceNavigable(element) {\n  element.setAttribute(\"data-acsb-now-navigable\", \"true\");\n  element.setAttribute(\"data-acsb-navigable\", \"true\");\n  element.setAttribute(\"data-acsb-force-navigable\", \"true\");\n  element.setAttribute(\"tabindex\", \"0\");\n}\n/** file: forceUnnavigable.js */\n\"use strict\";\n\nfunction forceUnnavigable(el) {\n  el.setAttribute(\"tabindex\", \"-1\");\n  el.setAttribute(\"data-acsb-force-unnavigable\", \"true\");\n  el.setAttribute(\"data-acsb-navigable\", \"false\");\n  el.setAttribute(\"data-acsb-now-navigable\", \"false\");\n}\n/** file: isMobile.js */\n\"use strict\";\n\nfunction isMobile() {\n  var _navigator, _window, _navigator2, _navigator3;\n  const userAgent = navigator.userAgent || ((_navigator = navigator) === null || _navigator === void 0 ? void 0 : _navigator.vendor) || ((_window = window) === null || _window === void 0 ? void 0 : _window.opera);\n  const isMobileUserAgent = /android|iphone|ipad|ipod|blackberry|bb|playbook|iemobile|opera mini|webos|windows phone/i.test(userAgent);\n  const hasTouchSupport = \"ontouchstart\" in window || navigator.maxTouchPoints && navigator.maxTouchPoints > 0 || ((_navigator2 = navigator) === null || _navigator2 === void 0 ? void 0 : _navigator2.msMaxTouchPoints) && ((_navigator3 = navigator) === null || _navigator3 === void 0 ? void 0 : _navigator3.msMaxTouchPoints) > 0;\n  const isSmallScreen = window.matchMedia(\"(max-width: 768px)\").matches;\n  const isPortrait = window.matchMedia(\"(orientation: portrait)\").matches;\n  const isCoarsePointer = window.matchMedia(\"(pointer: coarse)\").matches;\n  const noHover = window.matchMedia(\"(hover: none)\").matches;\n  const likelyMobile = isMobileUserAgent || hasTouchSupport && (isSmallScreen || isPortrait) || isCoarsePointer || noHover;\n  return likelyMobile;\n}\n/** file: profileEnabledInterval.js */\n\"use strict\";\n\nfunction profileEnabledInterval(profile, cb) {\n  let {\n    interval = 1000,\n    clearAfterTimeout = true,\n    timeout = 15000\n  } = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n  const intervalId = setInterval(() => {\n    var _acsbState$actions;\n    const acsbState = JSON.parse(localStorage.acsbState || \"{}\");\n    if (acsbState !== null && acsbState !== void 0 && (_acsbState$actions = acsbState.actions) !== null && _acsbState$actions !== void 0 && (_acsbState$actions = _acsbState$actions[profile]) !== null && _acsbState$actions !== void 0 && _acsbState$actions.enabled) {\n      try {\n        const shouldClear = cb();\n        if (shouldClear) {\n          clearInterval(intervalId);\n        }\n      } catch (error) {\n        clearInterval(intervalId);\n        window.dispatchEvent(new CustomEvent(\"acsbWidgetSpecificsError\", {\n          detail: error\n        }));\n      }\n    }\n  }, interval);\n  if (clearAfterTimeout) {\n    setTimeout(() => {\n      clearInterval(intervalId);\n    }, timeout);\n  }\n}\n/** file: setWidgetSpecificsOptions.js */\n\"use strict\";\n\nconst _window = window;\nfunction setWidgetSpecificsOptions(options) {\n  if (!_window.accessWidgetSpecificsOptions) {\n    _window.accessWidgetSpecificsOptions = {\n      ...options,\n      enable: true,\n      disableLegacy: typeof options.disableLegacy === \"object\" ? {\n        ...options.disableLegacy\n      } : options.disableLegacy,\n      modifications: options.modifications ? {\n        classifier: options.modifications.classifier ? [...options.modifications.classifier] : undefined,\n        auditor: options.modifications.auditor ? [...options.modifications.auditor] : undefined\n      } : undefined\n    };\n    return;\n  }\n  const current = _window.accessWidgetSpecificsOptions;\n  current.enable = true;\n  if (options.disableLegacy !== undefined) {\n    const shouldFullyDisable = options.disableLegacy === true || current.disableLegacy === true;\n    if (shouldFullyDisable) {\n      current.disableLegacy = true;\n    } else if (typeof options.disableLegacy === \"object\") {\n      current.disableLegacy = {\n        ...(typeof current.disableLegacy === \"object\" ? current.disableLegacy : {}),\n        ...options.disableLegacy\n      };\n    }\n  }\n  if (typeof options.onReady === \"function\") {\n    if (typeof current.onReady === \"function\") {\n      const previousOnReady = current.onReady;\n      current.onReady = () => {\n        var _options$onReady;\n        previousOnReady();\n        (_options$onReady = options.onReady) === null || _options$onReady === void 0 || _options$onReady.call(options);\n      };\n    } else {\n      current.onReady = options.onReady;\n    }\n  }\n  if (options.modifications) {\n    if (!current.modifications) {\n      current.modifications = {};\n    }\n    if (options.modifications.classifier) {\n      current.modifications.classifier = [...(current.modifications.classifier || []), ...(options.modifications.classifier || [])];\n    }\n    if (options.modifications.auditor) {\n      current.modifications.auditor = [...(current.modifications.auditor || []), ...(options.modifications.auditor || [])];\n    }\n  }\n}\n/** file: trapFocus.js */\n\"use strict\";\n\nfunction trapFocus(container) {\n  let interactives = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [\"a[href]\", \"button\", \"input\", \"select\", \"textarea\", '[tabindex]:not([tabindex=\"-1\"])'];\n  let filteringCallback = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;\n  let trigger = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null;\n  let closeSelector = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : null;\n  let onClose = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : null;\n  let onClosePreventDefault = arguments.length > 6 && arguments[6] !== undefined ? arguments[6] : false;\n  if (!container) return;\n  if (getAllFocusableElementsAsAnArray().length === 0) return;\n  function keydownTrapHandler(event) {\n    const allFocusableElements = getAllFocusableElementsAsAnArray();\n    if (allFocusableElements.length === 0) return;\n    const [firstElement] = allFocusableElements;\n    const [lastElement] = allFocusableElements.slice(-1);\n    if ((event === null || event === void 0 ? void 0 : event.code) === \"Tab\") {\n      if (event !== null && event !== void 0 && event.shiftKey) {\n        if (document.activeElement === firstElement) {\n          event.preventDefault();\n          lastElement === null || lastElement === void 0 || lastElement.focus();\n        }\n      } else {\n        if (document.activeElement === lastElement) {\n          event.preventDefault();\n          firstElement === null || firstElement === void 0 || firstElement.focus();\n        }\n      }\n    } else if (event.code === \"Escape\" && closeSelector) {\n      keydownCloseHandler(event);\n    }\n  }\n  container.addEventListener(\"keydown\", keydownTrapHandler);\n  function removeTrapFocus() {\n    container.removeEventListener(\"keydown\", keydownTrapHandler);\n  }\n  function getCloseButton() {\n    if (!closeSelector) return false;\n    const closeButton = container.querySelector(closeSelector);\n    if (!closeButton) return false;\n    return closeButton;\n  }\n  const closeButton = getCloseButton();\n  if (closeButton) {\n    closeButton.addEventListener(\"click\", keydownCloseHandler);\n    closeButton.addEventListener(\"keydown\", keydownCloseHandler);\n  }\n  function keydownCloseHandler(event) {\n    if (event.type === \"click\" || [\"Enter\", \"Space\", \"Escape\"].includes(event.code)) {\n      if (onClosePreventDefault) event.preventDefault();\n      trigger === null || trigger === void 0 || trigger.focus();\n      onClose === null || onClose === void 0 || onClose();\n    }\n  }\n  function removeCloseHandler() {\n    if (!closeButton) return;\n    closeButton.removeEventListener(\"click\", keydownCloseHandler);\n    closeButton.removeEventListener(\"keydown\", keydownCloseHandler);\n  }\n  function getAllFocusableElementsAsAnArray() {\n    let elements = Array.from(container.querySelectorAll(interactives.join(\", \")));\n    if (filteringCallback) {\n      elements = elements.filter(filteringCallback);\n    }\n    return elements;\n  }\n  return {\n    removeTrapFocus,\n    removeCloseHandler,\n    getAllFocusableElementsAsAnArray\n  };\n}\n\n/** file: fix-add-to-cart-success-message-announcement.js */\n(function(){\ntry{\n\"use strict\";\n\nprofileEnabledInterval(\"accessMode\", () => {\n  const addToCartButton = document.querySelector(\"#cart-button\");\n  if (!addToCartButton) return false;\n  addToCartButton.setAttribute(\"aria-label\", \"Add to Cart\");\n  const liveRegionContainer = addToCartButton.parentElement;\n  if (!liveRegionContainer) return false;\n  const liveRegion = createLiveRegion(\"polite\", liveRegionContainer);\n  let toggle = false;\n  function announceMessage(message) {\n    if (!liveRegion) return;\n    liveRegion.textContent = \"\";\n    setTimeout(() => {\n      liveRegion.textContent = toggle ? message + \"\\u200B\" : message + \".\";\n      toggle = !toggle;\n    }, 0);\n  }\n  function hideToast() {\n    const toast = document.querySelector(\"#A\");\n    toast.setAttribute(\"aria-hidden\", \"true\");\n    toast.setAttribute(\"tabindex\", \"-1\");\n    setTimeout(() => {\n      toast.removeAttribute(\"aria-hidden\");\n      toast.removeAttribute(\"tabindex\");\n    }, 2000);\n  }\n  const successMessageContainer = document.querySelector(\"body\");\n  const observer = new MutationObserver(mutations => {\n    mutations.forEach(mutation => {\n      mutation.addedNodes.forEach(node => {\n        var _toast$querySelector;\n        if (!(node instanceof HTMLElement)) return;\n        const toast = node.matches(\".Toastify__toast--success, .Toastify__toast--error\") ? node : node.querySelector(\".Toastify__toast--success, .Toastify__toast--error\");\n        if (!toast) return;\n        hideToast();\n        const message = ((_toast$querySelector = toast.querySelector(\".Toastify__toast-body > div:last-child\")) === null || _toast$querySelector === void 0 || (_toast$querySelector = _toast$querySelector.textContent) === null || _toast$querySelector === void 0 ? void 0 : _toast$querySelector.trim()) || \"\";\n        if (message) {\n          setTimeout(() => {\n            announceMessage(message);\n          }, 500);\n        }\n      });\n    });\n  });\n  observer.observe(successMessageContainer, {\n    childList: true,\n    subtree: true\n  });\n  return true;\n});\n}catch(ex){}\n})();\n/** file: fix-checkout-page-component.js */\n(function(){\ntry{\n\"use strict\";\n\nsetWidgetSpecificsOptions({\n  modifications: {\n    classifier: [{\n      type: \"detection\",\n      selector: \"#__next, .page\",\n      detectorId: \"perceivable-component-dialog-modal\",\n      expected: false\n    }]\n  }\n});\nAJS.events.on(window, \"acsbActionEnabling\", function (e) {\n  if (e.detail.action === \"keyNav\" && window.location.pathname.includes(\"/payment\")) {\n    const interval = setInterval(() => {\n      const mainElement = document.querySelector(\"#main\");\n      if (mainElement) {\n        clearInterval(interval);\n        observerMainElement(mainElement);\n      }\n    }, 0);\n  }\n});\nfunction observerMainElement(mainElement) {\n  const observer = new MutationObserver(mutations => {\n    mutations.forEach(_ref => {\n      let {\n        addedNodes,\n        attributeName,\n        target\n      } = _ref;\n      if (attributeName === \"class\" && target.tagName === \"INPUT\") {\n        const hasError = target.className.includes(\"Input_error__\");\n        target.setAttribute(\"aria-invalid\", hasError);\n        if ([\"copyPrimaryToShippingAddress\", \"copyPrimaryToBillingAddress\"].includes(target.id)) {\n          setTimeout(() => {\n            const stateSelectWrappers = mainElement.querySelectorAll(\"#payment-shippingState-selector, #payment-billingState-selector\");\n            stateSelectWrappers.forEach(stateSelectWrapper => {\n              const combobox = stateSelectWrapper.querySelector(\"input[role='combobox']\");\n              if (combobox) {\n                fixComboboxError(stateSelectWrapper, combobox);\n              }\n            });\n          }, 100);\n        }\n        return;\n      }\n      if (attributeName === \"aria-describedby\" && target.tagName === \"INPUT\") {\n        const dataDescribedby = target.getAttribute(\"data-describedby\");\n        if (dataDescribedby && target.getAttribute(\"aria-describedby\") !== dataDescribedby) {\n          target.setAttribute(\"aria-describedby\", dataDescribedby);\n        }\n        return;\n      }\n      addedNodes.forEach(node => {\n        if (node.nodeType !== Node.ELEMENT_NODE) {\n          return;\n        }\n        if (node.classList.contains(\"band\")) {\n          node.removeAttribute(\"aria-hidden\");\n          node.setAttribute(\"data-acsb\", \"\");\n          return;\n        }\n        if (node.className.includes(\"LoaderWrapper_loaderWrapper__\")) {\n          fixPaymentForm(node);\n          return;\n        }\n        if ([\"card-expiration-month\", \"card-expiration-year\"].includes(node.id)) {\n          const combobox = node.querySelector(\"input[role='combobox']\");\n          if (combobox) {\n            fixCombobox(combobox, node.id === \"card-expiration-month\" ? \"Card Expiration Month\" : \"Card Expiration Year\");\n            combobox.focus();\n          }\n          return;\n        }\n        if (node.className.includes(\"Label_label__\")) {\n          node.removeAttribute(\"role\");\n          const isErrorLabelElement = node.className.includes(\"Label_formInputLabelError__\");\n          const inputElement = node.previousElementSibling;\n          if (isErrorLabelElement && inputElement && inputElement.tagName === \"INPUT\") {\n            const ariaDescribedby = inputElement.getAttribute(\"aria-describedby\");\n            if (ariaDescribedby) {\n              node.setAttribute(\"id\", ariaDescribedby);\n            }\n          }\n          return;\n        }\n      });\n    });\n  });\n  observer.observe(mainElement, {\n    childList: true,\n    subtree: true,\n    attributes: true,\n    attributeFilter: [\"class\", \"aria-describedby\"]\n  });\n  const bandElement = mainElement.querySelector(\".band\");\n  if (bandElement) {\n    bandElement.setAttribute(\"data-acsb\", \"\");\n    bandElement.removeAttribute(\"aria-hidden\");\n  }\n  fixPaymentForm(mainElement);\n}\nfunction fixPaymentForm(wrapper) {\n  const paymentForm = wrapper.querySelector(\"#frm-payment\");\n  if (!paymentForm) {\n    return;\n  }\n  const labelElements = paymentForm.querySelectorAll(\"label\");\n  labelElements.forEach(label => {\n    label.removeAttribute(\"role\");\n  });\n  const checkboxes = paymentForm.querySelectorAll(\"input[type='checkbox']\");\n  checkboxes.forEach(checkbox => {\n    checkbox.addEventListener(\"click\", () => {\n      setTimeout(() => {\n        checkbox.focus();\n      }, 100);\n    });\n  });\n  const inputElements = paymentForm.querySelectorAll(\"[class^='Input_input__']:not([type='checkbox'])\");\n  inputElements.forEach((input, inputIndex) => {\n    const inputId = input.getAttribute(\"id\") || \"acsb-input-\".concat(inputIndex);\n    input.setAttribute(\"aria-describedby\", inputId + \"-error\");\n    input.setAttribute(\"data-describedby\", inputId + \"-error\");\n    const isApt = input.getAttribute(\"placeholder\") === \"Apt/Unit/Suite\";\n    if (!isApt) {\n      input.setAttribute(\"aria-required\", \"true\");\n    }\n    const labelElement = input.previousElementSibling;\n    if (labelElement) {\n      input.setAttribute(\"aria-label\", labelElement.textContent.trim());\n    }\n  });\n  const stateSelectWrappers = paymentForm.querySelectorAll(\"#payment-shippingState-selector, #payment-billingState-selector\");\n  stateSelectWrappers.forEach(stateSelectWrapper => {\n    const combobox = stateSelectWrapper.querySelector(\"input[role='combobox']\");\n    if (combobox) {\n      fixCombobox(combobox, \"State\");\n    }\n  });\n  const cardExpirationSelectWrappers = paymentForm.querySelectorAll(\"#card-expiration-month, #card-expiration-year\");\n  cardExpirationSelectWrappers.forEach((cardExpirationSelectWrapper, index) => {\n    const combobox = cardExpirationSelectWrapper.querySelector(\"input[role='combobox']\");\n    if (combobox) {\n      fixCombobox(combobox, index === 0 ? \"Card Expiration Month\" : \"Card Expiration Year\");\n    }\n  });\n  const submitButton = paymentForm.querySelector(\"#parent-info-next\");\n  submitButton.addEventListener(\"click\", () => {\n    setTimeout(() => {\n      stateSelectWrappers.forEach(stateSelectWrapper => {\n        const combobox = stateSelectWrapper.querySelector(\"input[role='combobox']\");\n        if (combobox) {\n          fixComboboxError(stateSelectWrapper, combobox);\n        }\n      });\n    }, 0);\n    setTimeout(() => {\n      const invalidElement = paymentForm.querySelector(\"[aria-invalid='true']\");\n      if (invalidElement) {\n        invalidElement.focus();\n      }\n    }, 250);\n  });\n}\nfunction fixCombobox(combobox, label) {\n  combobox.setAttribute(\"aria-label\", label);\n  combobox.setAttribute(\"aria-required\", \"true\");\n  const comboboxId = combobox.getAttribute(\"id\");\n  if (!comboboxId) {\n    return;\n  }\n  const selectWrapper = combobox.closest(\"[class^='Input_selectWrapper__']\");\n  if (!selectWrapper) {\n    return;\n  }\n  fixComboboxError(selectWrapper, combobox);\n  combobox.addEventListener(\"focus\", () => {\n    fixComboboxError(selectWrapper, combobox);\n  });\n  combobox.addEventListener(\"keydown\", event => {\n    if (event.code === \"Space\") {\n      setTimeout(() => {\n        const listboxId = comboboxId.replace(\"input\", \"listbox\");\n        const listboxElement = document.querySelector(\"#\".concat(listboxId));\n        if (listboxElement) {\n          listboxElement.setAttribute(\"data-acsb\", \"\");\n          const options = listboxElement.querySelectorAll(\"[role='option']\");\n          options.forEach(option => {\n            option.removeAttribute(\"aria-hidden\");\n          });\n        }\n        fixComboboxError(selectWrapper, combobox);\n      }, 0);\n    }\n  });\n}\nfunction fixComboboxError(selectWrapper, combobox) {\n  const controlElement = selectWrapper.querySelector(\"& > [class$='control']\");\n  if (!controlElement) {\n    return;\n  }\n  const isInvalid = combobox.getAttribute(\"aria-invalid\") === \"true\";\n  const borderColor = window.getComputedStyle(controlElement).borderColor;\n  let hasError = borderColor === \"rgb(220, 53, 69)\";\n  if (isInvalid && borderColor === \"rgb(179, 179, 179)\") {\n    hasError = true;\n  }\n  const hasValue = selectWrapper.querySelector(\"[class*='singleValue']\");\n  if (hasValue) {\n    hasError = false;\n  }\n  combobox.setAttribute(\"aria-invalid\", hasError);\n}\n}catch(ex){}\n})();\n/** file: fix-contact-form-fails-8-tests.js */\n(function(){\ntry{\n\"use strict\";\n\nsetWidgetSpecificsOptions({\n  enable: true,\n  disableLegacy: {\n    processForms: true\n  },\n  modifications: {\n    classifier: [{\n      type: \"detection\",\n      selector: \"form label\",\n      detectorId: \"perceivable-component-button\",\n      expected: false\n    }, {\n      type: \"detection\",\n      selector: \"#react-select-2-input\",\n      detectorId: \"perceivable-component-combobox-select\",\n      expected: true\n    }, {\n      type: \"ignore\",\n      selector: \"[class*='Input_checkboxWrapper']\"\n    }]\n  }\n});\nif (window.location.pathname.includes(\"contact\")) {\n  profileEnabledInterval(\"accessMode\", () => {\n    const form = document.querySelector(\"form\");\n    if (!form) return false;\n    const ERROR_LABEL_SELECTOR = '[class*=\"Label_formInputLabelError\"]';\n    const WRAPPER_SELECTOR = '[class*=\"Input_formInputWrapper\"]';\n    const CHECKBOX_WRAPPER_SELECTOR = '[class*=\"Input_checkboxWrapper\"]';\n    const SR_ONLY_SELECTOR = \"span[data-acsb-sr-only], span.acsb-sr-only\";\n    function linkLabelToNearestInput(label) {\n      if (label.matches(ERROR_LABEL_SELECTOR)) return;\n      const container = label.closest(CHECKBOX_WRAPPER_SELECTOR) || label.closest('[class*=\"inputWrapperFull\"]') || label.closest(WRAPPER_SELECTOR) || label.parentElement;\n      const input = container === null || container === void 0 ? void 0 : container.querySelector('input:not([type=\"hidden\"]), select, textarea, [role=\"combobox\"]');\n      if (input !== null && input !== void 0 && input.id) {\n        label.setAttribute(\"for\", input.id);\n      }\n    }\n    let liveRegion = form.querySelector(\"[data-acsb-error-live-region]\");\n    if (!liveRegion) {\n      liveRegion = createLiveRegion(\"assertive\", form);\n      liveRegion.setAttribute(\"data-acsb-error-live-region\", \"true\");\n    }\n    let toggle = false;\n    function announceError(message) {\n      if (!message) return;\n      liveRegion.textContent = \"\";\n      setTimeout(() => {\n        liveRegion.textContent = toggle ? \"\".concat(message, \"\\u200B\") : \"\".concat(message, \".\");\n        toggle = !toggle;\n      }, 0);\n    }\n    function fixLabel(label) {\n      linkLabelToNearestInput(label);\n      label.removeAttribute(\"role\");\n      label.removeAttribute(\"tabindex\");\n    }\n    function fixCheckboxWrapper(wrapper) {\n      const checkbox = wrapper.querySelector('input[type=\"checkbox\"]');\n      if (!checkbox) return;\n      const label = wrapper.querySelector(\"label[for=\\\"\".concat(checkbox.id, \"\\\"]\")) || wrapper.querySelector(\"label\");\n      const icon = wrapper.querySelector(\"i.i9Icon, i.icon-check\");\n      if (label) {\n        label.setAttribute(\"for\", checkbox.id);\n        label.removeAttribute(\"role\");\n        label.removeAttribute(\"tabindex\");\n        label.removeAttribute(\"data-acsb-navigable\");\n        label.removeAttribute(\"data-acsb-now-navigable\");\n        label.querySelectorAll(\"a[href]\").forEach(anchor => {\n          anchor.removeAttribute(\"tabindex\");\n          anchor.removeAttribute(\"data-acsb-force-unnavigable\");\n          anchor.removeAttribute(\"data-acsb-navigable\");\n          anchor.removeAttribute(\"data-acsb-now-navigable\");\n        });\n      } else {\n        const termsText = wrapper.querySelector(\"span.noMarginBottom\");\n        const accessibleName = termsText === null || termsText === void 0 ? void 0 : termsText.textContent.trim();\n        if (accessibleName) {\n          checkbox.setAttribute(\"aria-label\", accessibleName);\n        }\n      }\n      checkbox.removeAttribute(\"tabindex\");\n      if (icon) {\n        icon.setAttribute(\"tabindex\", \"-1\");\n        icon.setAttribute(\"aria-hidden\", \"true\");\n        icon.removeAttribute(\"data-acsb-navigable\");\n        icon.removeAttribute(\"data-acsb-now-navigable\");\n        icon.removeAttribute(\"data-acsb-clickable\");\n      }\n      if (!checkbox.hasAttribute(\"data-acsb-enter-label-handle\")) {\n        checkbox.setAttribute(\"data-acsb-enter-label-handle\", \"true\");\n        checkbox.addEventListener(\"keydown\", event => {\n          if (event.code !== \"Enter\" && event.code !== \"Space\") return;\n          event.preventDefault();\n          event.stopPropagation();\n          event.stopImmediatePropagation();\n          checkbox.click();\n          setTimeout(() => {\n            checkbox.focus();\n          }, 200);\n        });\n      }\n    }\n    function fixReactSelect(select) {\n      var _select$closest;\n      select.setAttribute(\"data-acsb\", \"\");\n      const fieldWrapper = select.closest('[class*=\"inputWrapperFull\"]') || ((_select$closest = select.closest('[class*=\"Input_selectWrapper\"]')) === null || _select$closest === void 0 ? void 0 : _select$closest.parentElement);\n      const label = fieldWrapper === null || fieldWrapper === void 0 ? void 0 : fieldWrapper.querySelector(\"label\");\n      if (!label) return;\n      label.setAttribute(\"for\", select.id);\n      label.removeAttribute(\"role\");\n      label.removeAttribute(\"tabindex\");\n      select.removeAttribute(\"aria-label\");\n      select.removeAttribute(\"aria-describedby\");\n      select.removeAttribute(\"tabindex\");\n      select.setAttribute(\"role\", \"combobox\");\n    }\n    function handleErrorLabel(errorLabel) {\n      let shouldFocus = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n      const wrapper = errorLabel.closest(WRAPPER_SELECTOR);\n      const input = wrapper === null || wrapper === void 0 ? void 0 : wrapper.querySelector(\"input, select, textarea, [role='combobox']\");\n      const text = errorLabel.textContent.trim();\n      if (!wrapper || !input || !text) return;\n      input.setAttribute(\"aria-invalid\", \"true\");\n      announceError(text);\n      if (shouldFocus) {\n        setTimeout(() => {\n          input.focus();\n        }, 300);\n      }\n    }\n    function removeSrOnlySpans(root) {\n      var _root$querySelectorAl;\n      (_root$querySelectorAl = root.querySelectorAll) === null || _root$querySelectorAl === void 0 || _root$querySelectorAl.call(root, SR_ONLY_SELECTOR).forEach(span => span.remove());\n    }\n    function processAddedNode(node) {\n      var _node$matches, _node$querySelectorAl, _node$matches2, _node$matches3, _node$querySelectorAl2, _node$matches4, _node$querySelectorAl3;\n      if (node.nodeType !== Node.ELEMENT_NODE) return;\n      if (node.tagName === \"LABEL\") {\n        fixLabel(node);\n      }\n      if ((_node$matches = node.matches) !== null && _node$matches !== void 0 && _node$matches.call(node, ERROR_LABEL_SELECTOR)) {\n        handleErrorLabel(node);\n      }\n      (_node$querySelectorAl = node.querySelectorAll) === null || _node$querySelectorAl === void 0 || _node$querySelectorAl.call(node, ERROR_LABEL_SELECTOR).forEach(errorLabel => {\n        handleErrorLabel(errorLabel);\n      });\n      if ((_node$matches2 = node.matches) !== null && _node$matches2 !== void 0 && _node$matches2.call(node, SR_ONLY_SELECTOR)) {\n        node.remove();\n        return;\n      }\n      removeSrOnlySpans(node);\n      if ((_node$matches3 = node.matches) !== null && _node$matches3 !== void 0 && _node$matches3.call(node, 'input[id*=\"react-select\"], [role=\"combobox\"]')) {\n        fixReactSelect(node);\n      }\n      (_node$querySelectorAl2 = node.querySelectorAll) === null || _node$querySelectorAl2 === void 0 || _node$querySelectorAl2.call(node, 'input[id*=\"react-select\"], [role=\"combobox\"]').forEach(fixReactSelect);\n      if ((_node$matches4 = node.matches) !== null && _node$matches4 !== void 0 && _node$matches4.call(node, CHECKBOX_WRAPPER_SELECTOR)) {\n        fixCheckboxWrapper(node);\n      }\n      (_node$querySelectorAl3 = node.querySelectorAll) === null || _node$querySelectorAl3 === void 0 || _node$querySelectorAl3.call(node, CHECKBOX_WRAPPER_SELECTOR).forEach(fixCheckboxWrapper);\n    }\n    function processSubmitErrors() {\n      setTimeout(() => {\n        form.querySelectorAll(ERROR_LABEL_SELECTOR).forEach((errorLabel, index) => {\n          handleErrorLabel(errorLabel, index === 0);\n        });\n      }, 300);\n    }\n    form.querySelectorAll(\"label\").forEach(linkLabelToNearestInput);\n    form.querySelectorAll('input[id*=\"react-select\"], [role=\"combobox\"]').forEach(fixReactSelect);\n    form.querySelectorAll(CHECKBOX_WRAPPER_SELECTOR).forEach(fixCheckboxWrapper);\n    form.querySelectorAll(\"label\").forEach(fixLabel);\n    removeSrOnlySpans(form);\n    if (!form.hasAttribute(\"data-acsb-submit-handle\")) {\n      form.setAttribute(\"data-acsb-submit-handle\", \"true\");\n      form.addEventListener(\"submit\", processSubmitErrors);\n    }\n    const observer = new MutationObserver(mutations => {\n      mutations.forEach(mutation => {\n        mutation.addedNodes.forEach(processAddedNode);\n        if (mutation.type !== \"attributes\") return;\n        if (mutation.attributeName === \"role\" && mutation.target === form) {\n          form.removeAttribute(\"role\");\n          form.removeAttribute(\"aria-modal\");\n        }\n        if (mutation.attributeName === \"tabindex\" && mutation.target.matches('input[id*=\"react-select\"], [role=\"combobox\"]') && mutation.target.getAttribute(\"tabindex\") === \"-1\") {\n          mutation.target.removeAttribute(\"tabindex\");\n          fixReactSelect(mutation.target);\n        }\n        if (mutation.attributeName === \"tabindex\" && mutation.target.closest(CHECKBOX_WRAPPER_SELECTOR) && mutation.target.matches(\"i.i9Icon, i.icon-check\") && mutation.target.getAttribute(\"tabindex\") !== \"-1\") {\n          fixCheckboxWrapper(mutation.target.closest(CHECKBOX_WRAPPER_SELECTOR));\n        }\n        if (mutation.attributeName === \"tabindex\" && mutation.target.closest(CHECKBOX_WRAPPER_SELECTOR) && mutation.target.matches(\"a[href]\")) {\n          fixCheckboxWrapper(mutation.target.closest(CHECKBOX_WRAPPER_SELECTOR));\n        }\n      });\n    });\n    observer.observe(form, {\n      childList: true,\n      subtree: true,\n      attributes: true,\n      attributeFilter: [\"role\", \"aria-modal\", \"tabindex\"]\n    });\n    return true;\n  });\n}\n}catch(ex){}\n})();\n/** file: fix-login-form-fails-1-test.js */\n(function(){\ntry{\n\"use strict\";\n\nfunction intializeLoginFormModal() {\n  if (!isMobile()) {\n    setWidgetSpecificsOptions({\n      enable: true,\n      modifications: {\n        classifier: [{\n          type: \"detection\",\n          selector: '#loginModal[aria-hidden=\"false\"]',\n          detectorId: \"perceivable-component-dialog-modal\",\n          expected: true\n        }]\n      }\n    });\n    AJS.events.on(window, \"acsbActionEnabling\", function (e) {\n      if (e.detail.action === \"keyNav\") {\n        window.addEventListener(\"beforeunload\", () => {\n          var _document$querySelect;\n          const form = (_document$querySelect = document.querySelector(\"[class*='avLogin_login']\")) === null || _document$querySelect === void 0 ? void 0 : _document$querySelect.querySelector(\"form\");\n          if (form) {\n            form.acsbProcessing = false;\n          }\n        }, true);\n      }\n    });\n    profileEnabledInterval(\"accessMode\", () => {\n      const loginButton = document.querySelector(\"[class*='AngleButton_button']\");\n      const okBtn = document.querySelector(\"#loginModalOk\");\n      if (!loginButton) return false;\n      if (!okBtn) return false;\n      if (loginButton.hasAttribute(\"custom-handle\")) return false;\n      if (okBtn.hasAttribute(\"custom-handle\")) return false;\n      okBtn.setAttribute(\"custom-handle\", \"true\");\n      loginButton.setAttribute(\"custom-handle\", \"true\");\n      function setUpLoginModal(loginModal) {\n        if (!loginModal) return;\n        loginModal.setAttribute(\"role\", \"dialog\");\n        loginModal.setAttribute(\"aria-label\", \"Login\");\n        loginModal.setAttribute(\"aria-modal\", \"true\");\n        loginModal.setAttribute(\"tabindex\", \"-1\");\n        loginModal.setAttribute(\"data-acsb-overlay\", \"popup\");\n        loginModal.focus();\n        if (!loginModal.hasAttribute(\"escape-added\")) {\n          loginModal.setAttribute(\"escape-added\", \"true\");\n          trapFocus(loginModal);\n          loginModal.addEventListener(\"keydown\", event => {\n            if (event.code === \"Escape\") {\n              loginButton.click();\n              setTimeout(() => {\n                loginButton.focus();\n                loginButton.setAttribute(\"aria-expanded\", \"false\");\n              }, 300);\n            }\n          });\n          loginModal.addEventListener(\"focusout\", () => {\n            setTimeout(() => {\n              const isOpen = getComputedStyle(loginModal.parentElement).display !== \"none\";\n              const activeElement = document.activeElement;\n              const errorModal = document.querySelector(\"#loginModal\");\n              if (isOpen && !loginModal.contains(activeElement)) {\n                if (errorModal) {\n                  const isClose = errorModal.hasAttribute(\"hidden\");\n                  if (isClose) {\n                    loginModal.setAttribute(\"tabindex\", \"-1\");\n                    loginModal.focus();\n                  }\n                } else {\n                  loginModal.setAttribute(\"tabindex\", \"-1\");\n                  loginModal.focus();\n                }\n              }\n            }, 500);\n          });\n          const parentElement = loginModal.parentElement;\n          if (parentElement) {\n            const parentElementObserver = new MutationObserver(() => {\n              const isOpen = getComputedStyle(parentElement).display !== \"none\";\n              if (isOpen) {\n                loginButton.setAttribute(\"aria-expanded\", \"true\");\n              } else {\n                loginButton.setAttribute(\"aria-expanded\", \"false\");\n              }\n            });\n            parentElementObserver.observe(parentElement, {\n              attributes: true\n            });\n          }\n        }\n      }\n      okBtn.addEventListener(\"keydown\", event => {\n        if (event.code === \"Enter\" || event.code === \"Space\") {\n          event.preventDefault();\n          event.stopPropagation();\n          event.stopImmediatePropagation();\n          okBtn.click();\n          setTimeout(() => {\n            const loginModal = document.querySelector(\"[class*='avLogin_login']\");\n            const parent = loginModal === null || loginModal === void 0 ? void 0 : loginModal.parentElement;\n            if (parent) {\n              const isOpen = getComputedStyle(parent).display !== \"none\";\n              if (isOpen) {\n                setUpLoginModal(loginModal);\n              }\n            }\n          }, 500);\n        }\n      });\n      loginButton.setAttribute(\"aria-haspopup\", \"dialog\");\n      loginButton.setAttribute(\"aria-expanded\", \"false\");\n      const loginButtonObserver = new MutationObserver(() => {\n        if (!loginButton.hasAttribute(\"aria-expanded\")) {\n          const loginModal = document.querySelector(\"[class*='avLogin_login']\");\n          const isOpen = loginModal && loginModal.parentElement && getComputedStyle(loginModal.parentElement).display !== \"none\";\n          if (isOpen) {\n            loginButton.setAttribute(\"aria-expanded\", \"true\");\n          } else {\n            loginButton.setAttribute(\"aria-expanded\", \"false\");\n          }\n        }\n      });\n      loginButtonObserver.observe(loginButton, {\n        attributes: true,\n        attributeFilter: [\"aria-expanded\"]\n      });\n      loginButton.addEventListener(\"keydown\", event => {\n        if (event.code === \"Enter\" || event.code === \"Space\") {\n          const interval = setInterval(() => {\n            const loginModal = document.querySelector(\"[class*='avLogin_login']\");\n            if (loginModal && loginModal.parentElement && getComputedStyle(loginModal.parentElement).display !== \"none\") {\n              loginButton.setAttribute(\"aria-expanded\", \"true\");\n              clearInterval(interval);\n              setUpLoginModal(loginModal);\n            }\n          }, 300);\n          setTimeout(() => {\n            clearInterval(interval);\n          }, 10000);\n        }\n      });\n      const errorModal = document.querySelector(\"#loginModal\");\n      if (errorModal) {\n        errorModal.addEventListener(\"focusout\", () => {\n          setTimeout(() => {\n            const isClose = errorModal.hasAttribute(\"hidden\");\n            const activeElement = document.activeElement;\n            if (!isClose && !errorModal.contains(activeElement)) {\n              errorModal.setAttribute(\"tabindex\", \"-1\");\n              errorModal.focus();\n            }\n          }, 500);\n        });\n      }\n      return true;\n    });\n  }\n}\nfunction attachEventListeners() {\n  window.addEventListener(\"popstate\", intializeLoginFormModal);\n  window.addEventListener(\"hashchange\", intializeLoginFormModal);\n}\nattachEventListeners();\nfunction overrideHistoryMethods() {\n  const originalPushState = history.pushState;\n  history.pushState = function () {\n    for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n      args[_key] = arguments[_key];\n    }\n    const result = originalPushState.apply(this, args);\n    intializeLoginFormModal();\n    return result;\n  };\n}\nintializeLoginFormModal();\noverrideHistoryMethods();\n}catch(ex){}\n})();\n/** file: fix-quantity-combobox-fails-5-tests.js */\n(function(){\ntry{\n\"use strict\";\n\nsetWidgetSpecificsOptions({\n  enable: true,\n  modifications: {\n    classifier: [{\n      type: \"ignore\",\n      selector: \"#qty-selector\"\n    }]\n  }\n});\nAJS.events.on(window, \"acsbActionEnabling\", function (e) {\n  if (e.detail.action === \"keyNav\") {\n    const quantityWrapper = document.querySelector(\"#qty-selector\");\n    if (quantityWrapper) {\n      quantityWrapper.setAttribute(\"data-acsb\", \"\");\n      const quantityCombobox = quantityWrapper.querySelector(\"input#react-select-2-input\");\n      if (quantityCombobox) {\n        quantityCombobox.setAttribute(\"aria-label\", \"Quantity\");\n        quantityCombobox.setAttribute(\"tabindex\", \"0\");\n        quantityCombobox.setAttribute(\"role\", \"combobox\");\n        quantityCombobox.setAttribute(\"aria-expanded\", \"false\");\n      }\n    }\n  }\n});\n}catch(ex){}\n})();\n/** file: fix-radio-button-selection-announcement-issue.js */\n(function(){\ntry{\n\"use strict\";\n\nconst SIZE_BUTTON_WRAPPER_SELECTOR = '[class*=\"ProductDetail_buttonWrapper\"]';\nconst SIZE_BUTTON_SELECTOR = 'button[class*=\"ProductDetail_sizeButton\"]';\nconst SELECTED_BUTTON_CLASS = \"Button_tertiary\";\nfunction isSizeButtonSelected(button) {\n  return button.className.includes(SELECTED_BUTTON_CLASS);\n}\nfunction updateSizeRadioStates(buttons) {\n  const sizeButtons = Array.from(buttons);\n  const selectedButton = sizeButtons.find(isSizeButtonSelected);\n  sizeButtons.forEach((button, index) => {\n    const isSelected = Boolean(selectedButton) && button === selectedButton;\n    button.setAttribute(\"aria-checked\", isSelected ? \"true\" : \"false\");\n    button.setAttribute(\"tabindex\", isSelected || !selectedButton && index === 0 ? \"0\" : \"-1\");\n  });\n}\nfunction setupSizeRadioKeyboard(wrapper, buttons) {\n  const sizeButtons = Array.from(buttons);\n  sizeButtons.forEach(button => {\n    if (button.dataset.sizeRadioKeyboard) return;\n    button.addEventListener(\"keydown\", event => {\n      const radios = Array.from(wrapper.querySelectorAll(SIZE_BUTTON_SELECTOR));\n      const currentIndex = radios.indexOf(button);\n      let nextIndex = null;\n      if (event.code === \"ArrowRight\" || event.code === \"ArrowDown\") {\n        event.preventDefault();\n        nextIndex = (currentIndex + 1) % radios.length;\n      } else if (event.code === \"ArrowLeft\" || event.code === \"ArrowUp\") {\n        event.preventDefault();\n        nextIndex = (currentIndex - 1 + radios.length) % radios.length;\n      } else if (event.code === \"Space\" || event.code === \"Enter\") {\n        event.preventDefault();\n        button.click();\n        return;\n      }\n      if (nextIndex !== null) {\n        const nextButton = radios[nextIndex];\n        nextButton.click();\n        setTimeout(() => nextButton.focus(), 50);\n      }\n    });\n    button.dataset.sizeRadioKeyboard = \"true\";\n  });\n}\nprofileEnabledInterval(\"accessMode\", () => {\n  const sizeButtonWrapper = document.querySelector(SIZE_BUTTON_WRAPPER_SELECTOR);\n  if (!sizeButtonWrapper) return false;\n  const sizeButtons = sizeButtonWrapper.querySelectorAll(SIZE_BUTTON_SELECTOR);\n  if (!sizeButtons.length) return false;\n  sizeButtonWrapper.setAttribute(\"role\", \"radiogroup\");\n  sizeButtons.forEach(button => {\n    button.setAttribute(\"role\", \"radio\");\n  });\n  updateSizeRadioStates(sizeButtons);\n  setupSizeRadioKeyboard(sizeButtonWrapper, sizeButtons);\n  if (!sizeButtonWrapper.dataset.sizeRadioObserver) {\n    const observer = new MutationObserver(() => {\n      if (sizeButtonWrapper.getAttribute(\"role\") !== \"radiogroup\") {\n        sizeButtonWrapper.setAttribute(\"role\", \"radiogroup\");\n      }\n      const buttons = sizeButtonWrapper.querySelectorAll(SIZE_BUTTON_SELECTOR);\n      if (!buttons.length) return;\n      buttons.forEach(button => {\n        if (button.getAttribute(\"role\") !== \"radio\") {\n          button.setAttribute(\"role\", \"radio\");\n        }\n      });\n      updateSizeRadioStates(buttons);\n      setupSizeRadioKeyboard(sizeButtonWrapper, buttons);\n    });\n    observer.observe(sizeButtonWrapper, {\n      subtree: true,\n      attributes: true,\n      attributeFilter: [\"class\", \"role\"],\n      childList: true\n    });\n    sizeButtonWrapper.dataset.sizeRadioObserver = \"true\";\n  }\n  return true;\n});\n}catch(ex){}\n})();\n/** file: my-account-control-accessibility.js */\n(function(){\ntry{\n\"use strict\";\n\nsetWidgetSpecificsOptions({\n  enable: true,\n  modifications: {\n    classifier: [{\n      type: \"detection\",\n      selector: \"#main *\",\n      detectorId: \"perceivable-component-dialog-modal\",\n      expected: false\n    }, {\n      type: \"detection\",\n      selector: \"#main *\",\n      detectorId: \"compliant-component-dialog-modal\",\n      expected: false\n    }, {\n      type: \"detection\",\n      selector: \"footer *\",\n      detectorId: \"perceivable-component-dialog-modal\",\n      expected: false\n    }, {\n      type: \"detection\",\n      selector: \"footer *\",\n      detectorId: \"compliant-component-dialog-modal\",\n      expected: false\n    }, {\n      type: \"detection\",\n      selector: \"#zip-code-new\",\n      detectorId: \"perceivable-trait-tabbable\",\n      expected: false\n    }, {\n      type: \"detection\",\n      selector: \"#zip-code-new\",\n      detectorId: \"compliant-component-input\",\n      expected: true\n    }, {\n      type: \"detection\",\n      selector: \"#sports-select-new input\",\n      detectorId: \"perceivable-trait-tabbable\",\n      expected: false\n    }, {\n      type: \"detection\",\n      selector: \"#sports-select-new input\",\n      detectorId: \"compliant-component-input\",\n      expected: true\n    }],\n    auditor: [{\n      type: \"ignore\",\n      ruleId: \"visibility-mismatch\",\n      selector: \"[class*='NavItemDropdown_mobileMenu']\"\n    }]\n  }\n});\nAJS.events.on(window, \"acsbActionEnabling\", event => {\n  if (event.detail.action === \"keyNav\") {\n    const myAccountWrapper = document.querySelector(\".header .secondaryNavbarInner .navItems\");\n    if (myAccountWrapper) {\n      myAccountWrapper.setAttribute(\"data-acsb\", \"\");\n    }\n  }\n});\nprofileEnabledInterval(\"accessMode\", () => {\n  const myAccountControl = [...document.querySelectorAll(\".header .secondaryNavbarInner .navItems button\")].find(btn => btn.textContent.trim() === \"My Account\");\n  if (myAccountControl) {\n    var _myAccountControl$que;\n    const label = ((_myAccountControl$que = myAccountControl.querySelector(\"span\")) === null || _myAccountControl$que === void 0 ? void 0 : _myAccountControl$que.textContent.trim()) || \"My Account\";\n    myAccountControl.setAttribute(\"aria-label\", label);\n    myAccountControl.setAttribute(\"role\", \"button\");\n    myAccountControl.setAttribute(\"tabindex\", \"0\");\n    myAccountControl.setAttribute(\"aria-expanded\", \"false\");\n    myAccountControl.addEventListener(\"keydown\", event => {\n      if (event.code === \"Enter\" || event.code === \"Space\") {\n        event.preventDefault();\n        event.stopPropagation();\n        myAccountControl.click();\n        setTimeout(() => {\n          myAccountControl.focus();\n        }, 100);\n      }\n    });\n    const wrapper = myAccountControl.closest(\"[class*='NavItemDropdown_relative']\");\n    if (wrapper) {\n      const wrapperObserver = new MutationObserver(mutations => {\n        mutations.forEach(mutation => {\n          mutation.addedNodes.forEach(node => {\n            if (node.nodeType === Node.ELEMENT_NODE && node.matches(\"[class*='NavItemDropdown_mobileMenu__']\")) {\n              if (!node.hasAttribute(\"data-event-keydown-attached\")) {\n                node.addEventListener(\"keydown\", event => {\n                  if (event.code === \"Escape\") {\n                    myAccountControl.click();\n                    setTimeout(() => {\n                      myAccountControl.focus();\n                    }, 300);\n                  }\n                });\n                node.setAttribute(\"data-event-keydown-attached\", \"true\");\n              }\n            }\n          });\n        });\n      });\n      wrapperObserver.observe(wrapper, {\n        childList: true,\n        subtree: true\n      });\n    }\n    const observer = new MutationObserver(() => {\n      const isExpanded = [...myAccountControl.classList].some(className => className.startsWith(\"NavItemDropdown_buttonClicked__\"));\n      myAccountControl.setAttribute(\"aria-expanded\", isExpanded ? \"true\" : \"false\");\n    });\n    observer.observe(myAccountControl, {\n      attributes: true,\n      attributeFilter: [\"class\"]\n    });\n    return true;\n  }\n});\nprofileEnabledInterval(\"accessMode\", () => {\n  const mySeasonControl = [...document.querySelectorAll(\".header .secondaryNavbarInner .navItems button\")].find(btn => btn.textContent.trim() === \"My Season\");\n  if (mySeasonControl) {\n    var _mySeasonControl$quer;\n    const label = ((_mySeasonControl$quer = mySeasonControl.querySelector(\"span\")) === null || _mySeasonControl$quer === void 0 ? void 0 : _mySeasonControl$quer.textContent.trim()) || \"My Season\";\n    mySeasonControl.setAttribute(\"aria-label\", label);\n    mySeasonControl.setAttribute(\"role\", \"button\");\n    mySeasonControl.setAttribute(\"tabindex\", \"0\");\n    mySeasonControl.setAttribute(\"aria-expanded\", \"false\");\n    mySeasonControl.addEventListener(\"keydown\", event => {\n      if (event.code === \"Enter\" || event.code === \"Space\") {\n        event.preventDefault();\n        event.stopPropagation();\n        mySeasonControl.click();\n        setTimeout(() => {\n          mySeasonControl.focus();\n        }, 100);\n      }\n    });\n    const wrapper = mySeasonControl.closest(\"[class*='NavItemDropdown_relative']\");\n    if (wrapper) {\n      const wrapperObserver = new MutationObserver(mutations => {\n        mutations.forEach(mutation => {\n          mutation.addedNodes.forEach(node => {\n            if (node.nodeType === Node.ELEMENT_NODE && node.matches(\"[class*='NavItemDropdown_mobileMenu__']\")) {\n              if (!node.hasAttribute(\"data-event-keydown-attached\")) {\n                node.addEventListener(\"keydown\", event => {\n                  if (event.code === \"Escape\") {\n                    mySeasonControl.click();\n                    setTimeout(() => {\n                      mySeasonControl.focus();\n                    }, 300);\n                  }\n                });\n                node.setAttribute(\"data-event-keydown-attached\", \"true\");\n              }\n            }\n          });\n        });\n      });\n      wrapperObserver.observe(wrapper, {\n        childList: true,\n        subtree: true\n      });\n    }\n    const observer = new MutationObserver(() => {\n      const isExpanded = [...mySeasonControl.classList].some(className => className.startsWith(\"NavItemDropdown_buttonClicked__\"));\n      mySeasonControl.setAttribute(\"aria-expanded\", isExpanded ? \"true\" : \"false\");\n    });\n    observer.observe(mySeasonControl, {\n      attributes: true,\n      attributeFilter: [\"class\"]\n    });\n    return true;\n  }\n});\n}catch(ex){}\n})();\n/** file: signup-form-accessibility.js */\n(function(){\ntry{\n\"use strict\";\n\nsetWidgetSpecificsOptions({\n  modifications: {\n    classifier: [{\n      type: \"ignore\",\n      selector: \".band\"\n    }]\n  }\n});\nAJS.events.on(window, \"acsbActionEnabling\", function (e) {\n  if (e.detail.action === \"keyNav\") {\n    const signUpFormWrapper = document.querySelectorAll(\".band\")[1];\n    if (signUpFormWrapper) {\n      signUpFormWrapper.setAttribute(\"data-acsb\", \"\");\n      const input = signUpFormWrapper.querySelectorAll(\"input\");\n      input.forEach(input => {\n        input.setAttribute(\"data-acsb\", \"\");\n      });\n    }\n  }\n});\nprofileEnabledInterval(\"accessMode\", () => {\n  var _document$querySelect;\n  const signUpFormWrapper = (_document$querySelect = document.querySelectorAll(\".band\")[1]) === null || _document$querySelect === void 0 ? void 0 : _document$querySelect.querySelector(\"form\");\n  if (signUpFormWrapper) {\n    const liveRegion = createLiveRegion(\"polite\", signUpFormWrapper);\n    signUpFormWrapper.querySelectorAll(\".Label_formLabel__23DVs\").forEach(label => {\n      if (!label.textContent.includes(\"*\")) return;\n      const wrapper = label.parentElement;\n      const field = wrapper.querySelector(\"input, select, textarea, [role='combobox']\");\n      if (field) {\n        field.setAttribute(\"required\", \"\");\n        field.setAttribute(\"aria-required\", \"true\");\n      }\n    });\n    const comboInput = signUpFormWrapper.querySelector(\"#react-select-2-input\");\n    if (comboInput) {\n      comboInput.setAttribute(\"required\", \"\");\n      comboInput.setAttribute(\"aria-required\", \"true\");\n      const refererLabel = signUpFormWrapper.querySelector('label[for=\"player-info-referer\"]');\n      if (refererLabel) {\n        comboInput.setAttribute(\"aria-label\", refererLabel.textContent.replace(/\\*/g, \"\").trim());\n      }\n    }\n    const allLabels = signUpFormWrapper.querySelectorAll(\"label\");\n    allLabels.forEach(label => {\n      label.removeAttribute(\"role\");\n      const input = label.parentElement.querySelector(\"input\");\n      if (input) {\n        if (input.dataset.accessFixed) return;\n        input.dataset.accessFixed = \"true\";\n        const announceError = input => {\n          if (!input) return;\n          const wrapper = input.closest(\".Input_formInputWrapper__XMVoy\") || input.closest(\".SignUp_inputWrapperTwoCol___3dlq\") || input.closest(\".SignUp_inputWrapperFull__2Zoic\");\n          if (!wrapper) return;\n          const fieldLabel = wrapper.querySelector(\".Label_formLabel__23DVs\");\n          const errorLabel = wrapper.querySelector(\".Label_formInputLabelError__3cXGy\");\n          if (!errorLabel) return;\n          const errorText = errorLabel.textContent.trim();\n          if (!errorText && !input.classList.contains(\"Input_error__T2mLE\")) {\n            return;\n          }\n          const label = (fieldLabel === null || fieldLabel === void 0 ? void 0 : fieldLabel.textContent.replace(/\\*/g, \"\").trim()) || input.placeholder || input.name;\n          liveRegion.textContent = \"\";\n          requestAnimationFrame(() => {\n            liveRegion.textContent = \"\".concat(label, \". \").concat(errorText || \"Required\");\n          });\n        };\n        if (!signUpFormWrapper.dataset.errorObserverAttached) {\n          signUpFormWrapper.dataset.errorObserverAttached = \"true\";\n          const observer = new MutationObserver(mutations => {\n            for (const mutation of mutations) {\n              let input = null;\n              if (mutation.type === \"attributes\" && mutation.target.matches(\"input\")) {\n                input = mutation.target;\n              }\n              if (mutation.type === \"characterData\" || mutation.type === \"childList\") {\n                const el = mutation.target.nodeType === 3 ? mutation.target.parentElement : mutation.target;\n                const wrapper = el === null || el === void 0 ? void 0 : el.closest(\".Input_formInputWrapper__XMVoy, .SignUp_inputWrapperTwoCol___3dlq, .SignUp_inputWrapperFull__2Zoic\");\n                input = wrapper === null || wrapper === void 0 ? void 0 : wrapper.querySelector(\"input\");\n              }\n              if (!input) continue;\n              if (document.activeElement === input) {\n                announceError(input);\n              }\n            }\n          });\n          observer.observe(signUpFormWrapper, {\n            subtree: true,\n            childList: true,\n            characterData: true,\n            attributes: true,\n            attributeFilter: [\"class\"]\n          });\n        }\n        input.addEventListener(\"keydown\", e => {\n          if (e.code === \"Enter\" || e.code === \"Space\") {\n            const referrerWrapper = input.closest(\"#all-referrers-selector\");\n            if (referrerWrapper) {\n              if (input.getAttribute(\"aria-expanded\") === \"false\") {\n                e.preventDefault();\n                e.stopPropagation();\n                e.stopImmediatePropagation();\n                const control = referrerWrapper.querySelector('[class*=\"-control\"]');\n                if (control) {\n                  control.dispatchEvent(new MouseEvent(\"mousedown\", {\n                    bubbles: true,\n                    cancelable: true,\n                    view: window\n                  }));\n                  input.focus();\n                  setTimeout(() => {\n                    input.focus();\n                  }, 100);\n                }\n                return;\n              }\n              e.preventDefault();\n              e.stopPropagation();\n              e.stopImmediatePropagation();\n              const listboxId = input.getAttribute(\"aria-controls\");\n              const listbox = listboxId ? document.getElementById(listboxId) : referrerWrapper.querySelector('[role=\"listbox\"]');\n              let focusedOption = null;\n              const activeId = input.getAttribute(\"aria-activedescendant\");\n              if (activeId) {\n                focusedOption = document.getElementById(activeId);\n              }\n              if (!focusedOption) {\n                const focusedSpan = referrerWrapper.querySelector('#aria-focused, [id^=\"aria-focused\"]');\n                if (focusedSpan && listbox) {\n                  const label = focusedSpan.textContent.split(\",\")[0].trim();\n                  focusedOption = Array.from(listbox.querySelectorAll('[role=\"option\"]')).find(opt => opt.textContent.trim() === label);\n                }\n              }\n              if (!focusedOption && listbox) {\n                const options = Array.from(listbox.querySelectorAll('[role=\"option\"]'));\n                const classCounts = {};\n                options.forEach(opt => {\n                  classCounts[opt.className] = (classCounts[opt.className] || 0) + 1;\n                });\n                const minorityClass = Object.keys(classCounts).find(cls => classCounts[cls] === 1 && options.length > 1);\n                if (minorityClass) {\n                  focusedOption = options.find(opt => opt.className === minorityClass);\n                }\n              }\n              if (focusedOption) {\n                focusedOption.dispatchEvent(new MouseEvent(\"click\", {\n                  bubbles: true,\n                  cancelable: true,\n                  view: window\n                }));\n              }\n              setTimeout(() => {\n                input.focus();\n              }, 200);\n              return;\n            }\n            e.preventDefault();\n            e.stopPropagation();\n            e.stopImmediatePropagation();\n            input.click();\n          }\n        });\n        input.addEventListener(\"focus\", () => {\n          if (!input.classList.contains(\"Input_error__T2mLE\")) return;\n          const wrapper = input.closest(\".Input_formInputWrapper__XMVoy\") || input.closest(\".SignUp_inputWrapperTwoCol___3dlq\") || input.closest(\".SignUp_inputWrapperFull__2Zoic\");\n          if (!wrapper) return;\n          const fieldLabel = wrapper.querySelector(\".Label_formLabel__23DVs\");\n          const errorLabel = wrapper.querySelector(\".Label_formInputLabelError__3cXGy\");\n          const label = (fieldLabel === null || fieldLabel === void 0 ? void 0 : fieldLabel.textContent.replace(/\\*/g, \"\").trim()) || input.placeholder || input.name;\n          const error = (errorLabel === null || errorLabel === void 0 ? void 0 : errorLabel.textContent.trim()) || \"Required\";\n          liveRegion.textContent = \"\";\n          requestAnimationFrame(() => {\n            liveRegion.textContent = \"\".concat(label, \". \").concat(error);\n          });\n        });\n      }\n      const privacyCheckbox = signUpFormWrapper.querySelector(\"#primary-accept-privacy\");\n      if (privacyCheckbox && !privacyCheckbox.dataset.accessKeyboardFixed) {\n        privacyCheckbox.dataset.accessKeyboardFixed = \"true\";\n        const checkboxWrapper = privacyCheckbox.closest(\".Input_checkboxWrapper__YKWQF\");\n        const labelSpan = checkboxWrapper === null || checkboxWrapper === void 0 ? void 0 : checkboxWrapper.querySelector(\"span\");\n        if (labelSpan) {\n          const labelText = labelSpan.textContent.replace(/\\s+/g, \" \").trim();\n          privacyCheckbox.setAttribute(\"aria-label\", labelText);\n        }\n        privacyCheckbox.addEventListener(\"keydown\", e => {\n          if (e.code !== \"Enter\" && e.code !== \"Space\") return;\n          e.preventDefault();\n          e.stopPropagation();\n          e.stopImmediatePropagation();\n          privacyCheckbox.click();\n          privacyCheckbox.dispatchEvent(new Event(\"change\", {\n            bubbles: true\n          }));\n          setTimeout(() => {\n            privacyCheckbox.focus();\n          }, 100);\n        });\n      }\n      const primaryAcceptNumber = signUpFormWrapper.querySelector(\"#primary-accept-number\");\n      if (primaryAcceptNumber && !primaryAcceptNumber.dataset.accessKeyboardFixed) {\n        primaryAcceptNumber.dataset.accessKeyboardFixed = \"true\";\n        primaryAcceptNumber.addEventListener(\"keydown\", e => {\n          if (e.code !== \"Enter\" && e.code !== \"Space\") return;\n          e.preventDefault();\n          e.stopPropagation();\n          e.stopImmediatePropagation();\n          primaryAcceptNumber.click();\n          primaryAcceptNumber.dispatchEvent(new Event(\"change\", {\n            bubbles: true\n          }));\n          setTimeout(() => {\n            primaryAcceptNumber.focus();\n          }, 100);\n        });\n      }\n    });\n    return true;\n  }\n});\n}catch(ex){}\n})();\n/** file: zipcode-field-announcement.js */\n(function(){\ntry{\n\"use strict\";\n\nsetWidgetSpecificsOptions({\n  enable: true,\n  modifications: {\n    classifier: [{\n      type: \"detection\",\n      selector: \"input[class*='FindPrograms_noroundright__']\",\n      detectorId: \"perceivable-trait-tabbable\",\n      expected: false\n    }, {\n      type: \"detection\",\n      selector: \"input[class*='FindPrograms_noroundright__']\",\n      detectorId: \"compliant-component-input\",\n      expected: true\n    }, {\n      type: \"ignore\",\n      selector: \"label[class*='Label_secondaryErrorStyle__']\"\n    }],\n    auditor: [{\n      type: \"verdict\",\n      ruleId: \"visibility-misuse\",\n      selector: \"label[class*='Label_secondaryErrorStyle__']\",\n      expected: \"failedNodes\"\n    }]\n  }\n});\nprofileEnabledInterval(\"accessMode\", () => {\n  const zipcodeFields = document.querySelectorAll(\"input[class*='FindPrograms_noroundright__']\");\n  if (zipcodeFields.length) {\n    zipcodeFields.forEach((field, index) => {\n      field.setAttribute(\"aria-label\", \"Zip code\");\n      field.setAttribute(\"type\", \"text\");\n      field.setAttribute(\"pattern\", \"[0-9]*\");\n      field.setAttribute(\"inputmode\", \"numeric\");\n      field.removeAttribute(\"data-acsb-hidden\");\n      field.removeAttribute(\"aria-hidden\");\n      field.removeAttribute(\"tabindex\");\n      field.addEventListener(\"input\", e => {\n        e.target.value = e.target.value.replace(/\\D/g, \"\");\n      });\n      const spanEl = createSrOnlyElement();\n      spanEl.id = \"zipcode-field-announcement-\".concat(index);\n      field.setAttribute(\"aria-describedby\", spanEl.id);\n      spanEl.textContent = \"Enter your zipcode to find programs near you.\";\n      field.after(spanEl);\n      const observer = new MutationObserver(mutations => {\n        mutations.forEach(mutation => {\n          if (mutation.attributeName === \"aria-hidden\" && field.hasAttribute(\"aria-hidden\")) {\n            field.removeAttribute(\"aria-hidden\");\n          }\n          if (mutation.attributeName === \"tabindex\" && field.hasAttribute(\"tabindex\")) {\n            field.removeAttribute(\"tabindex\");\n          }\n          if (mutation.attributeName === \"data-acsb-hidden\" && field.hasAttribute(\"data-acsb-hidden\")) {\n            field.removeAttribute(\"data-acsb-hidden\");\n          }\n        });\n      });\n      observer.observe(field, {\n        attributes: true,\n        attributeFilter: [\"aria-hidden\", \"tabindex\", \"data-acsb-hidden\"]\n      });\n    });\n    return true;\n  }\n});\n}catch(ex){}\n})();\n\n}catch(ex){}\n})();\n\n</script><style>\n\n</style>","addonAnalytics":true,"aiAssistant":false,"blockMeta":false,"blockImages":false,"blockStyles":false,"blockTextSimplifier":false,"widgetSettings":{"consistentHelpData":[],"copilotChat":true,"disableBgProcess":false,"footerHtml":"","hideComponents":[],"hideMobile":true,"hideTrigger":true,"language":"en","leadColor":"#146FF8","mobile":{"triggerOffsetX":3,"triggerOffsetY":3,"triggerPositionX":"right","triggerPositionY":"bottom","triggerRadius":"50%","triggerSize":"medium","triggerIcon":"people"},"position":"right","remoteAnalytics":true,"statementLink":"","statementVariant":"default","triggerColor":"#146FF8","triggerIcon":"people","triggerOffsetX":20,"triggerOffsetY":20,"triggerPositionX":"left","triggerPositionY":"center","triggerRadius":"50%","triggerSize":"medium"},"featureFlags":{"ai-assistant":true,"classification-provider":true,"text-simplifier":false}}