{"version":3,"file":"product-detail-page.js","sources":["../../../src/_api/productdetail.ts","../../../src/assets/scripts/product-detail-page.entry.ts"],"sourcesContent":["import { postAsync, getAsync } from './_base';\n\nconst postAddProductToWatchList = (apiUrl?: string, sku?: string) => {\n return postAsync(apiUrl ?? '', undefined, {\n sku: sku,\n });\n};\n\nconst postAddProductToCart = (apiUrl?: string, productObj?: any) => {\n return postAsync(apiUrl ?? '', undefined, productObj);\n};\n\nconst getGetVariants = (apiUrl?: string, currency?: string) => {\n return getAsync(apiUrl ?? '', { currency: currency });\n};\n\nconst getShareProductLink = (apiUrl?: string, productObj?: any) => {\n return postAsync(apiUrl ?? '', undefined, productObj);\n};\n\nconst getCategoriesAndSubCategories = (apiUrl?: string, sku?: string, publisherId?: string) => {\n return getAsync(apiUrl ?? '', {\n sku: sku,\n publisherid: publisherId,\n });\n};\n\nexport { postAddProductToWatchList, postAddProductToCart, getCategoriesAndSubCategories, getGetVariants, getShareProductLink };\n","import {\n postAddProductToWatchList,\n postAddProductToCart,\n getCategoriesAndSubCategories,\n getGetVariants,\n getShareProductLink,\n} from '@_api/productdetail';\nimport { getCurrentRegion } from '@helpers/functions';\n\nconst productDetailPage = {\n miniCartNode: document?.querySelector('.saig-o-mini-cart'),\n cartCounter: document?.querySelector('.saig-a-button.button-cart > .saig-a-button__counter'),\n productDetailParentDiv: document?.querySelector('.saig-o-product-detail-main__main'),\n addToWishListRecordExistDiv: document?.querySelectorAll('.add-to-watchlist-response.wRecordExist'),\n addToWishListSuccessDiv: document?.querySelectorAll('.add-to-watchlist-response.wSuccess'),\n addToWishListErrorDiv: document?.querySelectorAll('.add-to-watchlist-response.wError'),\n addToWishListMaxErrorDiv: document?.querySelectorAll('.add-to-watchlist-response.wMaxError'),\n addToWishListGuestDiv: document?.querySelectorAll('.add-to-watchlist-response.wGuest'),\n termsCheckboxDiv: document?.querySelector('.saig-o-product-detail-main__cart-info-terms-checkbox'),\n popUpIdAvailableFormatModal: '',\n popUpIdProductFormatModal: '',\n popUpIdAddToWatchListHelpModal: '',\n popUpIdAddToWatchListGuestModal: '',\n popUpIdDRMLicenseModal: '',\n popUpIdAboutPdfDrmFormatModal: '',\n popUpIdAddToCartAPIErrorModal: '',\n popUpIdItemExistsInCartModal: '',\n popUpIdItemExistsInDifferentCurrencyInCartModal: '',\n selectedProductFormat: document?.querySelector(\"input[name='product-formats']\"),\n currencyNode: document?.querySelector('input[name=currency]'),\n itemExistsInCartDifferentCurrency: false,\n sku: '',\n productSku: '',\n publisherId: '',\n loggedIn: '',\n addToWatchListUrl: '',\n addItemsToCartUrl: '',\n categoriesApiUrl: '',\n getShareProductLinkUrl: '',\n getVariantsUrl: '',\n cartPageUrl: '',\n checkoutUrl: '',\n IsDigitalPdt: '',\n isPdf: '',\n hasDRMSecureIcon: '',\n itemDisplayPrice: '',\n showRequestQuote: '',\n requestQuoteUrl: '',\n itemGstExempt: '',\n isLoginRequired: '',\n categoriesFlag: false,\n breakpoint: window.matchMedia('(max-width: 749.9px)'),\n init: function () {\n this.addEvent();\n this.getParsedAPIUrls();\n this.pageReloadOnBrowserBackButton();\n },\n pageReloadOnBrowserBackButton: function () {\n window.addEventListener('pageshow', function (event) {\n var historyTraversal =\n event.persisted ||\n (typeof performance != 'undefined' && (performance.getEntriesByType('navigation')[0] as PerformanceNavigationTiming).type == 'back_forward');\n if (historyTraversal) {\n window.location.reload();\n }\n });\n },\n getParsedAPIUrls: function () {\n const apiUrls = this.productDetailParentDiv?.dataset.attrGeneric || '';\n const parsedAPIUrls = apiUrls && JSON.parse(apiUrls?.replace(/"/g, '\"'));\n if (parsedAPIUrls) {\n this.addToWatchListUrl = parsedAPIUrls?.AddToWatchListUrl;\n this.addItemsToCartUrl = parsedAPIUrls?.AddItemsToCartUrl;\n this.getVariantsUrl = parsedAPIUrls?.GetVariantsUrl;\n this.getShareProductLinkUrl = parsedAPIUrls?.GetShareProductLinkUrl;\n this.categoriesApiUrl = parsedAPIUrls?.CategoriesApiUrl;\n this.cartPageUrl = parsedAPIUrls?.CartPageUrl;\n this.checkoutUrl = parsedAPIUrls?.CheckoutUrl;\n this.loggedIn = parsedAPIUrls?.LoggedIn;\n this.popUpIdAddToWatchListHelpModal = parsedAPIUrls?.PopUpIdAddToWatchListHelpModal;\n this.popUpIdAddToWatchListGuestModal = parsedAPIUrls?.PopUpIdAddToWatchListGuestModal;\n this.popUpIdAvailableFormatModal = parsedAPIUrls?.PopUpIdAvailableFormatModal;\n this.popUpIdDRMLicenseModal = parsedAPIUrls?.PopUpIdDRMLicenseModal;\n this.popUpIdAboutPdfDrmFormatModal = parsedAPIUrls?.PopUpIdAboutPdfDrmFormatModal;\n this.popUpIdAddToCartAPIErrorModal = parsedAPIUrls?.PopUpIdAddToCartAPIErrorModal;\n this.popUpIdItemExistsInCartModal = parsedAPIUrls?.PopUpIdItemExistsInCartModal;\n this.popUpIdItemExistsInDifferentCurrencyInCartModal = parsedAPIUrls?.PopUpIdItemExistsInDifferentCurrencyInCartModal;\n this.productSku = parsedAPIUrls?.sku;\n this.publisherId = parsedAPIUrls?.PublisherId;\n }\n },\n addEvent: function () {\n const openModalButtons = this.productDetailParentDiv?.querySelectorAll('.saig-a-button.button-help-text, .open-license');\n const saveToWatchListButtons = this.productDetailParentDiv?.querySelectorAll('.saig-a-button.add-to-watchlist-button');\n const emailButton = this.productDetailParentDiv?.querySelector('.saig-a-button.email-button');\n const printButton = this.productDetailParentDiv?.querySelector('.saig-a-button.print-button');\n const copyButton = this.productDetailParentDiv?.querySelector('.saig-a-button.copy-button');\n const viewMore = this.productDetailParentDiv?.querySelector('.saig-a-link.view-more');\n const addToCartButton = this.productDetailParentDiv?.querySelector('.add-to-cart-button');\n const loginButton = this.productDetailParentDiv?.querySelector('.login-button');\n const categoriesAccordion = this.productDetailParentDiv?.querySelector('.category-accordion-button');\n const subCategoriesAccordion = this.productDetailParentDiv?.querySelector('.subcategory-accordion-button');\n const viewSupersededLink = this.productDetailParentDiv?.querySelector(\n '.saig-o-product-header__view-superseded-by .view-superseded-by-button'\n );\n const requestQuoteButton = this.productDetailParentDiv?.querySelector('.request-quote-button');\n\n [].forEach.call(openModalButtons, (button: HTMLButtonElement) => {\n button?.addEventListener('click', this.openHelpModal.bind(this));\n });\n\n [].forEach.call(saveToWatchListButtons, (saveToWatchListButton: HTMLButtonElement) => {\n saveToWatchListButton?.addEventListener('click', this.saveToWatchList.bind(this));\n });\n\n viewMore?.addEventListener('click', this.toggleViewMore.bind(this));\n emailButton?.addEventListener('click', this.emailProduct.bind(this));\n printButton?.addEventListener('click', this.printProduct.bind(this));\n copyButton?.addEventListener('click', this.copyProduct.bind(this));\n addToCartButton?.addEventListener('click', this.addToCartClickHandler.bind(this));\n loginButton?.addEventListener('click', this.loginClickHandler.bind(this));\n categoriesAccordion?.addEventListener('click', this.categoriesClickHandler.bind(this));\n subCategoriesAccordion?.addEventListener('click', this.categoriesClickHandler.bind(this));\n document?.addEventListener('click', this.documentClickHandler.bind(this));\n viewSupersededLink?.addEventListener('click', this.viewSupersededLinkClickHandler.bind(this));\n requestQuoteButton?.addEventListener('click', this.requestQuoteClickHandler.bind(this));\n\n\n window.addEventListener('load', () => {\n this.onPageLoadHandler();\n });\n\n window.addEventListener('dropdownChange', (event: any) => {\n event?.detail.inputName == 'currency'\n ? this.currencyChanged()\n : event?.detail.inputName == 'product-formats'\n ? this.productFormatChanged()\n : '';\n });\n\n window.addEventListener('radioCheckboxChange', (event) => {\n const inputId = event.detail.inputId;\n const errorMessageDiv = document?.querySelector('.saig-a-radiocheckbox__status.' + inputId);\n const inputElement = document?.querySelector('#' + inputId);\n inputElement?.checked ? errorMessageDiv?.classList.add('display-none') : '';\n });\n },\n viewSupersededLinkClickHandler: function (event: any) {\n event.preventDefault();\n event.stopPropagation();\n const productInfoAccordion = this.productDetailParentDiv?.querySelector('.general-product-info-button');\n const viewMore = this.productDetailParentDiv?.querySelector('.saig-a-link.view-more');\n viewMore && (viewMore.innerText == 'View less information' ? '' : this.toggleViewMore());\n productInfoAccordion?.parentElement?.classList.contains('expanded') ? '' : productInfoAccordion?.parentElement?.classList.add('expanded');\n const accordionOffset = productInfoAccordion?.getBoundingClientRect();\n const headerEl = document.querySelector('.saig-o-header-menu');\n const headerSecondary = document.querySelector('.saig-o-secondary-header');\n const headerSecondaryOffset = headerSecondary?.getBoundingClientRect();\n const headerOffset = headerEl?.getBoundingClientRect();\n const heightHeader = headerOffset?.height ?? 0;\n const accordionOffsetTop = accordionOffset?.top ?? 0;\n const headerSecondaryOffsetTop = headerSecondaryOffset?.top ?? 0;\n const scrollTopValue = accordionOffsetTop - headerSecondaryOffsetTop - heightHeader;\n window.scrollTo({ top: scrollTopValue, behavior: 'smooth' });\n },\n addEventProductFormatDropdown: function () {\n const dropdown__options = this.productDetailParentDiv?.querySelectorAll(\n '.saig-m-dropdown.product-format-dropdown .saig-m-dropdown__option'\n );\n\n [].forEach.call(dropdown__options, (node: HTMLElement) => {\n node?.addEventListener('mouseenter', this.hoverDropDownOptionHandler.bind(this));\n node?.addEventListener('click', this.clickDropDownOptionHandler.bind(this));\n });\n },\n hoverDropDownOptionHandler: function (event: any) {\n event.preventDefault();\n const nodes = event.currentTarget.parentElement.children;\n [].forEach.call(nodes, (node: HTMLElement) => {\n node.classList.remove('highlight');\n node.classList.remove('chosen');\n });\n event.currentTarget.classList.add('highlight');\n },\n clickDropDownOptionHandler: function (event: any) {\n event.preventDefault();\n const selectedValue = event.currentTarget.dataset.value;\n const parentNode = event.currentTarget.closest('.saig-m-dropdown__dropdown');\n const inputName = parentNode.dataset.name;\n const selectedTextElm = parentNode?.querySelector('.saig-m-dropdown__header-text-content');\n selectedTextElm.innerText = event.currentTarget.innerText;\n const inputHidden = document?.querySelector(\"input[name='\" + inputName + \"']\");\n inputHidden!.value = selectedValue;\n inputHidden!.dataset.attr = event.currentTarget.dataset.attr;\n\n window.dispatchEvent(new CustomEvent('dropdownChange', { detail: { inputName: inputHidden?.name } }));\n },\n getCategories: function (event: any) {\n getCategoriesAndSubCategories(this.categoriesApiUrl ?? '', this.sku, this.publisherId)\n .then((response) => {\n if (response) {\n this.populateCategories(response);\n this.populateSubCategories(response);\n this.categoriesFlag = true;\n }\n })\n .catch((error) => {\n console.log('Error in API call: ' + error);\n });\n },\n populateCategories: function (response: any) {\n const accordionContentCategory = this.productDetailParentDiv?.querySelector('.saig-m-accordion-item__content.Category');\n const categories =\n `';\n\n accordionContentCategory && (accordionContentCategory.innerHTML = categories);\n },\n populateSubCategories: function (response: any) {\n const accordionContentSubCategory = this.productDetailParentDiv?.querySelector('.saig-m-accordion-item__content.SubCategory');\n const subCategories =\n `';\n accordionContentSubCategory && (accordionContentSubCategory.innerHTML = subCategories);\n },\n categoriesClickHandler: function (event: any) {\n event?.preventDefault();\n event?.stopPropagation();\n const h2Title = event?.currentTarget.closest('.saig-m-accordion-item__header-wrapper');\n if (h2Title.classList.contains('expanded') && !this.categoriesFlag) {\n this.getCategories(event);\n }\n },\n loginClickHandler: function (event: any) {\n event?.preventDefault();\n event?.stopPropagation();\n window.redirectAfterLogin = false;\n window.selectedSku = this.sku;\n window.dispatchEvent(new CustomEvent('openLogin'));\n },\n documentClickHandler: function (event: any) {\n const addToWatchListResponse = document?.querySelectorAll('.add-to-watchlist-response');\n [].forEach.call(addToWatchListResponse, (node: HTMLElement) => {\n node.classList.contains('display-none') ? '' : node.classList.add('display-none');\n });\n },\n onPageLoadHandler: function () {\n\n this.setDataAttrValues();\n },\n checkItemCanBeAdded: function () {\n let itemCanBeAdded = true;\n\n this.itemExistsInCartDifferentCurrency = false;\n const cartObject = document.querySelector('script[data-rct=\"cart-object\"]');\n const jsonCartObj = cartObject?.textContent && JSON.parse(cartObject.textContent);\n jsonCartObj?.cartSummaryList.map((item: any) => {\n if (item.currencyMnemonic != this.currencyNode?.value) {\n itemCanBeAdded = false;\n this.itemExistsInCartDifferentCurrency = true;\n return;\n } else {\n if (this.sku == item.productSKU && !item.allowMultiple && !item.isMultiUserPDF) {\n itemCanBeAdded = false;\n return;\n }\n }\n });\n\n return itemCanBeAdded;\n },\n addToCartClickHandler: function (event?: any) {\n event.preventDefault();\n event.stopPropagation();\n const isPopupShown = this.hasDRMSecureIcon == 'true' || this.IsDigitalPdt == 'false';\n const inputHidden = document?.querySelector(\"input[name='product-formats']\");\n const dataAttr = inputHidden!.dataset.attr;\n const parsedDataAttr = dataAttr && JSON.parse(dataAttr?.replace(/"/g, '\"'));\n\n const popUpIdConfirmProductModal = parsedDataAttr?.ConfirmProductPopUpId;\n\n if (this.IsDigitalPdt == 'true' && !this.validateTermsCheckbox()) {\n return;\n }\n\n if (this.checkItemCanBeAdded()) {\n if (isPopupShown) {\n //check if DRM\n if (this.hasDRMSecureIcon == 'true') {\n this.showModal(\n true,\n this.popUpIdAboutPdfDrmFormatModal,\n () => {\n this.addItemsToCart(event);\n },\n {}\n );\n }\n //check if Hardcopy\n if (this.IsDigitalPdt == 'false') {\n this.showModal(\n true,\n popUpIdConfirmProductModal,\n () => {\n this.addItemsToCart(event);\n },\n {}\n );\n }\n } else {\n this.addItemsToCart(event);\n }\n } else {\n this.itemExistsInCartDifferentCurrency\n ? this.showModal(true, this.popUpIdItemExistsInDifferentCurrencyInCartModal)\n : this.showModal(true, this.popUpIdItemExistsInCartModal);\n }\n },\n addItemsToCart: function (event?: any) {\n const qtyNode = this.productDetailParentDiv?.querySelector('input[name=quantity-dropdown]');\n const productObj = {\n currencyMnemonic: this.currencyNode?.value,\n licenceTerms: '',\n productFamily: 'STANDARD',\n productType: 'STANDARD',\n quantity: qtyNode?.value,\n sku: this.sku,\n };\n postAddProductToCart(this.addItemsToCartUrl ?? '', productObj)\n .then((response) => {\n if (response && response.flagSuccess === 1) {\n\n this.postAddtoCartEventToGA(qtyNode?.value);\n const cartObjectNode = document.querySelector('script[data-rct=\"cart-object\"]');\n cartObjectNode && (cartObjectNode.textContent = JSON.stringify(response.data));\n window.dispatchEvent(new CustomEvent('getCartInfo'));\n\n }\n else {\n this.showModal(true, this.popUpIdAddToCartAPIErrorModal);\n }\n })\n .catch((error) => {\n this.showModal(true, this.popUpIdAddToCartAPIErrorModal);\n console.log('Error in API call: ' + error);\n });\n },\n postAddtoCartEventToGA: function (quantity?: string) {\n try {\n var currentRegion = getCurrentRegion();\n quantity = quantity != null ? quantity : \"1\";\n\n const dataAttr = this.selectedProductFormat?.dataset.attr;\n const parsedDataAttr = dataAttr && JSON.parse(dataAttr?.replace(/"/g, '\"'));\n var price = parsedDataAttr?.Price.replace(/[^.0-9]/g, \"\")\n\n const productObj = {\n event: \"add_to_cart\",\n region: currentRegion,\n currency: this.currencyNode?.value,\n value: parseFloat((parseFloat(price) * parseInt(quantity)).toFixed(2)),\n items: [\n {\n item_id: parsedDataAttr?.mastersku,\n item_name: parsedDataAttr?.ProductName,\n item_brand: parsedDataAttr?.PublisherName,\n item_variant: parsedDataAttr?.FriendlyFormat,\n price: parseFloat(price),\n quantity: parseInt(quantity)\n }\n ]\n };\n\n window.dataLayer = window.dataLayer || [];\n window.dataLayer.push(productObj);\n } catch {\n console.error('Error in add to cart event');\n }\n },\n validateTermsCheckbox: function (event?: any) {\n const checkbox =\n this.hasDRMSecureIcon == 'true'\n ? this.productDetailParentDiv?.querySelector('.checkbox-drm')\n : this.productDetailParentDiv?.querySelector('.checkbox-normal');\n checkbox?.checked\n ? this.productDetailParentDiv?.querySelector('.saig-a-radiocheckbox__status.' + checkbox.id)?.classList.add('display-none')\n : this.productDetailParentDiv?.querySelector('.saig-a-radiocheckbox__status.' + checkbox?.id)?.classList.remove('display-none');\n if (checkbox?.checked) {\n return true;\n }\n return false;\n },\n hideTermsAcceptance: function () {\n const checkboxNormalDiv = this.productDetailParentDiv?.querySelector('.saig-a-radiocheckbox-normal');\n const checkboxDRMDiv = this.productDetailParentDiv?.querySelector('.saig-a-radiocheckbox-drm');\n\n if (this.IsDigitalPdt == 'false') {\n this.termsCheckboxDiv?.classList.add('display-none');\n } else {\n this.termsCheckboxDiv?.classList.remove('display-none');\n }\n\n if (this.hasDRMSecureIcon == 'true') {\n checkboxDRMDiv?.classList.remove('display-none');\n checkboxNormalDiv?.classList.add('display-none');\n } else {\n checkboxDRMDiv?.classList.add('display-none');\n checkboxNormalDiv?.classList.remove('display-none');\n }\n },\n currencyChanged: function () {\n const productFormatOptions = this.productDetailParentDiv?.querySelector(\n '.saig-m-dropdown.product-format-dropdown .saig-m-dropdown__options-inner'\n );\n getGetVariants(this.getVariantsUrl ?? '', this.currencyNode?.value)\n .then((response) => {\n if (response) {\n productFormatOptions?.innerHTML && (productFormatOptions.innerHTML = response.toString());\n const productSku = this.selectedProductFormat?.value;\n const selectedProduct = this.productDetailParentDiv?.querySelector('[data-value=\"' + productSku + '\"]');\n this.selectedProductFormat?.dataset.attr && (this.selectedProductFormat.dataset.attr = selectedProduct?.dataset.attr);\n this.productFormatChanged();\n this.addEventProductFormatDropdown();\n }\n })\n .catch((error) => {\n console.log('Error in API call: ' + error);\n });\n },\n setDataAttrValues: function () {\n const dataAttr = this.selectedProductFormat?.dataset.attr;\n const parsedDataAttr = dataAttr && JSON.parse(dataAttr?.replace(/"/g, '\"'));\n if (parsedDataAttr) {\n this.IsDigitalPdt = parsedDataAttr?.IsDigitalPdt;\n this.isPdf = parsedDataAttr?.IsPdf;\n this.hasDRMSecureIcon = parsedDataAttr?.HasDRMSecureIcon;\n this.itemDisplayPrice = parsedDataAttr?.DisplayPrice;\n this.showRequestQuote = parsedDataAttr?.ShowRequestQuote;\n this.requestQuoteUrl = parsedDataAttr?.RequestQuoteUrl;\n this.itemGstExempt = parsedDataAttr?.GstExempt;\n this.isLoginRequired = parsedDataAttr?.IsLoginRequired;\n }\n this.selectedProductFormat?.value && (this.sku = this.selectedProductFormat?.value);\n },\n productFormatChanged: function () {\n this.setDataAttrValues();\n this.hideTermsAcceptance();\n this.setIcon();\n this.setProductFormatChanges();\n this.correctUrl();\n },\n correctUrl: function () {\n const url = window.location.href;\n var urlSplit = url.split('?');\n var obj = { Title: 'Product detail', Url: urlSplit[0] };\n history.pushState(obj, obj.Title, obj.Url);\n },\n resetQuantity: function () {\n const quantityTextNode = this.productDetailParentDiv?.querySelector(\n '.saig-o-product-detail-main__cart-info-product-qty .saig-m-dropdown__header-text-content'\n );\n const quantityDropdownOptions = this.productDetailParentDiv?.querySelectorAll(\n '.saig-o-product-detail-main__cart-info-product-qty .saig-m-dropdown__option'\n );\n const qtyHiddenNode = this.productDetailParentDiv?.querySelector('input[name=quantity-dropdown]');\n quantityTextNode && (quantityTextNode.innerText = '01');\n qtyHiddenNode && (qtyHiddenNode.value = '01');\n [].forEach.call(quantityDropdownOptions, (node: HTMLElement, index: number) => {\n node.classList.remove('highlight');\n node.classList.remove('chosen');\n index == 0 ? node.classList.add('chosen') : '';\n });\n },\n setProductFormatChanges: function () {\n const priceNode = this.productDetailParentDiv?.querySelector('.saig-o-product-detail-main__cart-info-price-value');\n const cartInfoActions = this.productDetailParentDiv?.querySelector('.saig-o-product-detail-main__cart-info-actions');\n const currencyContainer = this.productDetailParentDiv?.querySelector('.saig-o-product-detail-main__cart-info-currency-container');\n const requestQuote = this.productDetailParentDiv?.querySelector('.saig-o-product-detail-main__cart-info-request-quote-container');\n const gstNode = this.productDetailParentDiv?.querySelector('.saig-o-product-detail-main__cart-info-price-gst');\n const loginContainer = this.productDetailParentDiv?.querySelector('.saig-o-product-detail-main__cart-info-login-container');\n const addToCartContainer = this.productDetailParentDiv?.querySelector(\n '.saig-o-product-detail-main__cart-info-add-to-cart-container'\n );\n const quantityDropdownNode = this.productDetailParentDiv?.querySelector(\n '.saig-o-product-detail-main__cart-info-product-qty .saig-m-dropdown__header'\n );\n if (this.showRequestQuote == 'false') {\n priceNode && (priceNode.innerText = this.itemDisplayPrice);\n cartInfoActions?.classList.remove('display-none');\n currencyContainer?.classList.remove('display-none');\n requestQuote?.classList.add('display-none');\n } else {\n cartInfoActions?.classList.add('display-none');\n currencyContainer?.classList.add('display-none');\n requestQuote?.classList.remove('display-none');\n }\n this.resetQuantity();\n quantityDropdownNode && (quantityDropdownNode.disabled = this.hasDRMSecureIcon == 'true');\n gstNode && (gstNode.innerText = this.itemGstExempt);\n if (!this.loggedIn && this.isLoginRequired == 'true') {\n loginContainer?.classList.remove('display-none');\n addToCartContainer?.classList.add('display-none');\n } else {\n loginContainer?.classList.add('display-none');\n addToCartContainer?.classList.remove('display-none');\n }\n },\n setIcon: function () {\n if (this.IsDigitalPdt == 'true') {\n this.productDetailParentDiv?.querySelector('.saig-a-icon.pdf-icon')?.classList.remove('display-none');\n this.productDetailParentDiv?.querySelector('.saig-a-icon.hardcopy')?.classList.add('display-none');\n } else {\n this.productDetailParentDiv?.querySelector('.saig-a-icon.pdf-icon')?.classList.add('display-none');\n this.productDetailParentDiv?.querySelector('.saig-a-icon.hardcopy')?.classList.remove('display-none');\n }\n },\n emailProduct: function (event?: any) {\n event.preventDefault();\n const productDescription = this.productDetailParentDiv?.querySelector('.saig-o-product-header__description');\n\n window.location.href = 'mailto:?subject=' + productDescription?.innerText + '&body=' + encodeURI(window.location.href);\n },\n printProduct: function (event?: any) {\n event.preventDefault();\n var divContents = document?.querySelector('.saig-o-product-detail-main__main');\n\n const bodyElement = document.getElementsByTagName('body')[0];\n bodyElement?.setAttribute(\"style\", \"visibility:hidden\");\n divContents?.classList.add(\"printable-area\");\n\n window.print();\n\n bodyElement?.setAttribute(\"style\", \"visibility:visible\");\n divContents?.classList.remove(\"printable-area\");\n },\n copyProduct: function (event?: any) {\n event.preventDefault();\n const qtyNode = this.productDetailParentDiv?.querySelector('input[name=quantity-dropdown]');\n const productObj = {\n currencyMnemonic: this.currencyNode?.value,\n licenceTerms: '',\n productFamily: 'STANDARD',\n productType: 'STANDARD',\n quantity: qtyNode?.value,\n sku: this.sku,\n };\n getShareProductLink(this.getShareProductLinkUrl ?? '', productObj)\n .then(async (response) => {\n if (response) {\n await navigator.clipboard.writeText(response.toString());\n console.log('Copied!!!');\n }\n })\n .catch((error) => {\n console.log('Error: ' + error);\n });\n },\n requestQuoteClickHandler: function (event?: any) {\n event.preventDefault();\n window.location.href = this.requestQuoteUrl;\n\n },\n toggleViewMore: function () {\n const viewMore = this.productDetailParentDiv?.querySelector('.saig-a-link.view-more');\n viewMore && (viewMore.innerText = viewMore.innerText == 'View less information' ? 'View more information' : 'View less information');\n const showHideItems = this.productDetailParentDiv?.querySelectorAll('.epi-saig-item-wrapper.product-detail-accordion-item');\n [].forEach.call(showHideItems, (itemDiv: HTMLElement) => {\n itemDiv?.classList.contains('hide-mobile') ? itemDiv?.classList.remove('hide-mobile') : itemDiv?.classList.add('hide-mobile');\n });\n },\n openHelpModal: function (event?: any) {\n event.preventDefault();\n event.stopPropagation();\n const self = this;\n switch (true) {\n case event.currentTarget.classList.contains('available-formats-help'):\n this.showModal(true, self.popUpIdAvailableFormatModal);\n break;\n case event.currentTarget.classList.contains('product-formats-help'):\n const inputHidden = document?.querySelector(\"input[name='product-formats']\");\n const dataAttr = inputHidden!.dataset.attr;\n const parsedDataAttr = dataAttr && JSON.parse(dataAttr?.replace(/"/g, '\"'));\n if (parsedDataAttr) {\n this.popUpIdProductFormatModal = parsedDataAttr?.ProductFormatPopUpId;\n }\n this.showModal(true, self.popUpIdProductFormatModal);\n break;\n case event.currentTarget.classList.contains('add-to-watchlist-help'):\n this.showModal(true, self.popUpIdAddToWatchListHelpModal);\n break;\n case event.currentTarget.classList.contains('open-license'):\n this.showModal(true, self.popUpIdDRMLicenseModal);\n break;\n }\n },\n showModal: function (show: boolean, popUpId?: string, confirmCallback?: any, closeCallback?: any) {\n window.dispatchEvent<'selectModal'>(\n new CustomEvent('selectModal', { detail: { popUpId: popUpId, confirmCallback, closeCallback, selfControl: true } })\n );\n },\n saveToWatchList: function (event?: any) {\n if (!this.loggedIn) {\n this.showModal(true, this.popUpIdAddToWatchListGuestModal);\n } else {\n postAddProductToWatchList(this.addToWatchListUrl ?? '', this.productSku)\n .then((response) => {\n let nodesCollection;\n switch (response) {\n case 'success':\n nodesCollection = this.addToWishListSuccessDiv;\n break;\n case 'recordExist':\n nodesCollection = this.addToWishListRecordExistDiv;\n break;\n case 'error':\n nodesCollection = this.addToWishListErrorDiv;\n break;\n case 'maxlimit':\n nodesCollection = this.addToWishListMaxErrorDiv;\n break;\n case 'loginerror':\n nodesCollection = this.addToWishListGuestDiv;\n break;\n default:\n nodesCollection = this.addToWishListGuestDiv;\n break;\n }\n [].forEach.call(nodesCollection, (node: HTMLElement) => {\n node?.classList.remove('display-none');\n });\n })\n .catch((error) => {\n [].forEach.call(this.addToWishListErrorDiv, (node: HTMLElement) => {\n node?.classList.remove('display-none');\n });\n console.log('Error in API call: ' + error);\n });\n }\n },\n};\n\nproductDetailPage.init();\n\nexport { productDetailPage };\n"],"names":["postAddProductToWatchList","apiUrl","sku","postAsync","postAddProductToCart","productObj","getGetVariants","currency","getAsync","getShareProductLink","getCategoriesAndSubCategories","publisherId","productDetailPage","event","historyTraversal","apiUrls","_a","parsedAPIUrls","openModalButtons","saveToWatchListButtons","_b","emailButton","_c","printButton","_d","copyButton","_e","viewMore","_f","addToCartButton","_g","loginButton","_h","categoriesAccordion","_i","subCategoriesAccordion","_j","viewSupersededLink","_k","requestQuoteButton","_l","button","saveToWatchListButton","inputId","errorMessageDiv","inputElement","productInfoAccordion","accordionOffset","headerEl","headerSecondary","headerSecondaryOffset","headerOffset","heightHeader","accordionOffsetTop","headerSecondaryOffsetTop","scrollTopValue","dropdown__options","node","nodes","selectedValue","parentNode","inputName","selectedTextElm","inputHidden","response","error","accordionContentCategory","categories","item","accordionContentSubCategory","subCategories","addToWatchListResponse","itemCanBeAdded","cartObject","jsonCartObj","isPopupShown","dataAttr","parsedDataAttr","popUpIdConfirmProductModal","qtyNode","cartObjectNode","quantity","currentRegion","getCurrentRegion","price","checkbox","checkboxNormalDiv","checkboxDRMDiv","productFormatOptions","productSku","selectedProduct","urlSplit","obj","quantityTextNode","quantityDropdownOptions","qtyHiddenNode","index","priceNode","cartInfoActions","currencyContainer","requestQuote","gstNode","loginContainer","addToCartContainer","quantityDropdownNode","productDescription","divContents","bodyElement","showHideItems","itemDiv","self","show","popUpId","confirmCallback","closeCallback","nodesCollection"],"mappings":"+FAEA,MAAMA,EAA4B,CAACC,EAAiBC,IAC3CC,EAAUF,GAAU,GAAI,OAAW,CACxC,IAAAC,CAAA,CACD,EAGGE,EAAuB,CAACH,EAAiBI,IACtCF,EAAUF,GAAU,GAAI,OAAWI,CAAU,EAGhDC,EAAiB,CAACL,EAAiBM,IAChCC,EAASP,GAAU,GAAI,CAAE,SAAAM,CAAoB,CAAA,EAGhDE,EAAsB,CAACR,EAAiBI,IACrCF,EAAUF,GAAU,GAAI,OAAWI,CAAU,EAGhDK,EAAgC,CAACT,EAAiBC,EAAcS,IAC7DH,EAASP,GAAU,GAAI,CAC5B,IAAAC,EACA,YAAaS,CAAA,CACd,ECfGC,EAAoB,CACxB,aAAc,+BAAU,cAA2B,qBACnD,YAAa,+BAAU,cAA8B,wDACrD,uBAAwB,+BAAU,cAA8B,qCAChE,4BAA6B,+BAAU,iBAAiC,2CACxE,wBAAyB,+BAAU,iBAAiC,uCACpE,sBAAuB,+BAAU,iBAAiC,qCAClE,yBAA0B,+BAAU,iBAAiC,wCACrE,sBAAuB,+BAAU,iBAAiC,qCAClE,iBAAkB,+BAAU,cAA8B,yDAC1D,4BAA6B,GAC7B,0BAA2B,GAC3B,+BAAgC,GAChC,gCAAiC,GACjC,uBAAwB,GACxB,8BAA+B,GAC/B,8BAA+B,GAC/B,6BAA8B,GAC9B,gDAAiD,GACjD,sBAAuB,+BAAU,cAAgC,iCACjE,aAAc,+BAAU,cAAgC,wBACxD,kCAAmC,GACnC,IAAK,GACL,WAAY,GACZ,YAAa,GACb,SAAU,GACV,kBAAmB,GACnB,kBAAmB,GACnB,iBAAkB,GAClB,uBAAwB,GACxB,eAAgB,GAChB,YAAa,GACb,YAAa,GACb,aAAc,GACd,MAAO,GACP,iBAAkB,GAClB,iBAAkB,GAClB,iBAAkB,GAClB,gBAAiB,GACjB,cAAe,GACf,gBAAiB,GACjB,eAAgB,GAChB,WAAY,OAAO,WAAW,sBAAsB,EACpD,KAAM,UAAY,CAChB,KAAK,SAAS,EACd,KAAK,iBAAiB,EACtB,KAAK,8BAA8B,CACrC,EACA,8BAA+B,UAAY,CAClC,OAAA,iBAAiB,WAAY,SAAUC,EAAO,CACnD,IAAIC,EACFD,EAAM,WACL,OAAO,YAAe,KAAgB,YAAY,iBAAiB,YAAY,EAAE,CAAC,EAAkC,MAAQ,eAC3HC,GACF,OAAO,SAAS,QAClB,CACD,CACH,EACA,iBAAkB,UAAY,OAC5B,MAAMC,IAAUC,EAAA,KAAK,yBAAL,YAAAA,EAA6B,QAAQ,cAAe,GAC9DC,EAAgBF,GAAW,KAAK,MAAMA,GAAA,YAAAA,EAAS,QAAQ,UAAW,IAAI,EACxEE,IACF,KAAK,kBAAoBA,GAAA,YAAAA,EAAe,kBACxC,KAAK,kBAAoBA,GAAA,YAAAA,EAAe,kBACxC,KAAK,eAAiBA,GAAA,YAAAA,EAAe,eACrC,KAAK,uBAAyBA,GAAA,YAAAA,EAAe,uBAC7C,KAAK,iBAAmBA,GAAA,YAAAA,EAAe,iBACvC,KAAK,YAAcA,GAAA,YAAAA,EAAe,YAClC,KAAK,YAAcA,GAAA,YAAAA,EAAe,YAClC,KAAK,SAAWA,GAAA,YAAAA,EAAe,SAC/B,KAAK,+BAAiCA,GAAA,YAAAA,EAAe,+BACrD,KAAK,gCAAkCA,GAAA,YAAAA,EAAe,gCACtD,KAAK,4BAA8BA,GAAA,YAAAA,EAAe,4BAClD,KAAK,uBAAyBA,GAAA,YAAAA,EAAe,uBAC7C,KAAK,8BAAgCA,GAAA,YAAAA,EAAe,8BACpD,KAAK,8BAAgCA,GAAA,YAAAA,EAAe,8BACpD,KAAK,6BAA+BA,GAAA,YAAAA,EAAe,6BACnD,KAAK,gDAAkDA,GAAA,YAAAA,EAAe,gDACtE,KAAK,WAAaA,GAAA,YAAAA,EAAe,IACjC,KAAK,YAAcA,GAAA,YAAAA,EAAe,YAEtC,EACA,SAAU,UAAY,6BACpB,MAAMC,GAAmBF,EAAA,KAAK,yBAAL,YAAAA,EAA6B,iBAAoC,kDACpFG,GAAyBC,EAAA,KAAK,yBAAL,YAAAA,EAA6B,iBAAoC,0CAC1FC,GAAcC,EAAA,KAAK,yBAAL,YAAAA,EAA6B,cAAiC,+BAC5EC,GAAcC,EAAA,KAAK,yBAAL,YAAAA,EAA6B,cAAiC,+BAC5EC,GAAaC,EAAA,KAAK,yBAAL,YAAAA,EAA6B,cAAiC,8BAC3EC,GAAWC,EAAA,KAAK,yBAAL,YAAAA,EAA6B,cAA2B,0BACnEC,GAAkBC,EAAA,KAAK,yBAAL,YAAAA,EAA6B,cAAiC,uBAChFC,GAAcC,EAAA,KAAK,yBAAL,YAAAA,EAA6B,cAAiC,iBAC5EC,GAAsBC,EAAA,KAAK,yBAAL,YAAAA,EAA6B,cAAiC,8BACpFC,GAAyBC,EAAA,KAAK,yBAAL,YAAAA,EAA6B,cAAiC,iCACvFC,GAAqBC,EAAA,KAAK,yBAAL,YAAAA,EAA6B,cACtD,yEAEIC,GAAqBC,EAAA,KAAK,yBAAL,YAAAA,EAA6B,cAAiC,yBAEzF,CAAA,EAAG,QAAQ,KAAKtB,EAAmBuB,GAA8B,CAC/DA,GAAA,MAAAA,EAAQ,iBAAiB,QAAS,KAAK,cAAc,KAAK,IAAI,EAAC,CAChE,EAED,CAAA,EAAG,QAAQ,KAAKtB,EAAyBuB,GAA6C,CACpFA,GAAA,MAAAA,EAAuB,iBAAiB,QAAS,KAAK,gBAAgB,KAAK,IAAI,EAAC,CACjF,EAEDf,GAAA,MAAAA,EAAU,iBAAiB,QAAS,KAAK,eAAe,KAAK,IAAI,GACjEN,GAAA,MAAAA,EAAa,iBAAiB,QAAS,KAAK,aAAa,KAAK,IAAI,GAClEE,GAAA,MAAAA,EAAa,iBAAiB,QAAS,KAAK,aAAa,KAAK,IAAI,GAClEE,GAAA,MAAAA,EAAY,iBAAiB,QAAS,KAAK,YAAY,KAAK,IAAI,GAChEI,GAAA,MAAAA,EAAiB,iBAAiB,QAAS,KAAK,sBAAsB,KAAK,IAAI,GAC/EE,GAAA,MAAAA,EAAa,iBAAiB,QAAS,KAAK,kBAAkB,KAAK,IAAI,GACvEE,GAAA,MAAAA,EAAqB,iBAAiB,QAAS,KAAK,uBAAuB,KAAK,IAAI,GACpFE,GAAA,MAAAA,EAAwB,iBAAiB,QAAS,KAAK,uBAAuB,KAAK,IAAI,GACvF,yBAAU,iBAAiB,QAAS,KAAK,qBAAqB,KAAK,IAAI,GACvEE,GAAA,MAAAA,EAAoB,iBAAiB,QAAS,KAAK,+BAA+B,KAAK,IAAI,GAC3FE,GAAA,MAAAA,EAAoB,iBAAiB,QAAS,KAAK,yBAAyB,KAAK,IAAI,GAG9E,OAAA,iBAAiB,OAAQ,IAAM,CACpC,KAAK,kBAAkB,CAAA,CACxB,EAEM,OAAA,iBAAiB,iBAAmB1B,GAAe,EACxDA,GAAA,YAAAA,EAAO,OAAO,YAAa,WACvB,KAAK,gBAAgB,GACrBA,GAAA,YAAAA,EAAO,OAAO,YAAa,mBACzB,KAAK,qBAAA,CACL,CACP,EAEM,OAAA,iBAAiB,sBAAwBA,GAAU,CAClD,MAAA8B,EAAU9B,EAAM,OAAO,QACvB+B,EAAkB,+BAAU,cAA2B,iCAAmCD,GAC1FE,EAAe,+BAAU,cAAgC,IAAMF,GACrEE,GAAA,MAAAA,EAAc,UAAUD,GAAA,MAAAA,EAAiB,UAAU,IAAI,gBAAkB,CAC1E,CACH,EACA,+BAAgC,SAAU/B,EAAY,aACpDA,EAAM,eAAe,EACrBA,EAAM,gBAAgB,EACtB,MAAMiC,GAAuB9B,EAAA,KAAK,yBAAL,YAAAA,EAA6B,cAAiC,gCACrFW,GAAWP,EAAA,KAAK,yBAAL,YAAAA,EAA6B,cAA2B,0BACzEO,IAAaA,EAAS,WAAa,yBAA+B,KAAK,eAAe,IAChEL,EAAAwB,GAAA,YAAAA,EAAA,gBAAA,MAAAxB,EAAe,UAAU,SAAS,cAAmBE,EAAAsB,GAAA,YAAAA,EAAsB,gBAAtB,MAAAtB,EAAqC,UAAU,IAAI,YACxH,MAAAuB,EAAkBD,GAAA,YAAAA,EAAsB,wBACxCE,EAAW,SAAS,cAA2B,qBAAqB,EACpEC,EAAkB,SAAS,cAA2B,0BAA0B,EAChFC,EAAwBD,GAAA,YAAAA,EAAiB,wBACzCE,EAAeH,GAAA,YAAAA,EAAU,wBACzBI,GAAeD,GAAA,YAAAA,EAAc,SAAU,EACvCE,GAAqBN,GAAA,YAAAA,EAAiB,MAAO,EAC7CO,GAA2BJ,GAAA,YAAAA,EAAuB,MAAO,EACzDK,EAAiBF,EAAqBC,EAA2BF,EACvE,OAAO,SAAS,CAAE,IAAKG,EAAgB,SAAU,SAAU,CAC7D,EACA,8BAA+B,UAAY,OACnC,MAAAC,GAAoBxC,EAAA,KAAK,yBAAL,YAAAA,EAA6B,iBACrD,qEAGF,CAAA,EAAG,QAAQ,KAAKwC,EAAoBC,GAAsB,CACxDA,GAAA,MAAAA,EAAM,iBAAiB,aAAc,KAAK,2BAA2B,KAAK,IAAI,GAC9EA,GAAA,MAAAA,EAAM,iBAAiB,QAAS,KAAK,2BAA2B,KAAK,IAAI,EAAC,CAC3E,CACH,EACA,2BAA4B,SAAU5C,EAAY,CAChDA,EAAM,eAAe,EACf,MAAA6C,EAAQ7C,EAAM,cAAc,cAAc,SAChD,CAAA,EAAG,QAAQ,KAAK6C,EAAQD,GAAsB,CACvCA,EAAA,UAAU,OAAO,WAAW,EAC5BA,EAAA,UAAU,OAAO,QAAQ,CAAA,CAC/B,EACK5C,EAAA,cAAc,UAAU,IAAI,WAAW,CAC/C,EACA,2BAA4B,SAAUA,EAAY,CAChDA,EAAM,eAAe,EACf,MAAA8C,EAAgB9C,EAAM,cAAc,QAAQ,MAC5C+C,EAAa/C,EAAM,cAAc,QAAQ,4BAA4B,EACrEgD,EAAYD,EAAW,QAAQ,KAC/BE,EAAkBF,GAAA,YAAAA,EAAY,cAAc,yCAClCE,EAAA,UAAYjD,EAAM,cAAc,UAChD,MAAMkD,EAAc,+BAAU,cAAgC,eAAiBF,EAAY,MAC3FE,EAAa,MAAQJ,EACrBI,EAAa,QAAQ,KAAOlD,EAAM,cAAc,QAAQ,KAExD,OAAO,cAAc,IAAI,YAAY,iBAAkB,CAAE,OAAQ,CAAE,UAAWkD,GAAA,YAAAA,EAAa,IAAO,CAAA,CAAC,CAAC,CACtG,EACA,cAAe,SAAUlD,EAAY,CACLH,EAAA,KAAK,kBAAoB,GAAI,KAAK,IAAK,KAAK,WAAW,EAClF,KAAMsD,GAAa,CACdA,IACF,KAAK,mBAAmBA,CAAQ,EAChC,KAAK,sBAAsBA,CAAQ,EACnC,KAAK,eAAiB,GACxB,CACD,EACA,MAAOC,GAAU,CACR,QAAA,IAAI,sBAAwBA,CAAK,CAAA,CAC1C,CACL,EACA,mBAAoB,SAAUD,EAAe,OAC3C,MAAME,GAA2BlD,EAAA,KAAK,yBAAL,YAAAA,EAA6B,cAAc,4CACtEmD,EACJ,iDACAH,EAAS,SACN,IAAKI,GAEF,oDACAA,EAAK,aACL;AAAA;AAAA;AAAA,sBAIAA,EAAK,KACL,YAEH,EACA,KAAK,GAAG,EACX,SAEFF,IAA6BA,EAAyB,UAAYC,EACpE,EACA,sBAAuB,SAAUH,EAAe,OAC9C,MAAMK,GAA8BrD,EAAA,KAAK,yBAAL,YAAAA,EAA6B,cAAc,+CACzEsD,EACJ,iDACAN,EAAS,YACN,IAAKI,GAEF,oDACAA,EAAK,aACL;AAAA;AAAA;AAAA,sBAIAA,EAAK,KACL,YAEH,EACA,KAAK,GAAG,EACX,SACFC,IAAgCA,EAA4B,UAAYC,EAC1E,EACA,uBAAwB,SAAUzD,EAAY,CAC5CA,GAAA,MAAAA,EAAO,iBACPA,GAAA,MAAAA,EAAO,mBACSA,GAAA,YAAAA,EAAO,cAAc,QAAQ,2CACjC,UAAU,SAAS,UAAU,GAAK,CAAC,KAAK,gBAClD,KAAK,cAAcA,CAAK,CAE5B,EACA,kBAAmB,SAAUA,EAAY,CACvCA,GAAA,MAAAA,EAAO,iBACPA,GAAA,MAAAA,EAAO,kBACP,OAAO,mBAAqB,GAC5B,OAAO,YAAc,KAAK,IAC1B,OAAO,cAAc,IAAI,YAAY,WAAW,CAAC,CACnD,EACA,qBAAsB,SAAUA,EAAY,CACpC,MAAA0D,EAAyB,+BAAU,iBAAoC,8BAC7E,CAAA,EAAG,QAAQ,KAAKA,EAAyBd,GAAsB,CACxDA,EAAA,UAAU,SAAS,cAAc,GAASA,EAAK,UAAU,IAAI,cAAc,CAAA,CACjF,CACH,EACA,kBAAmB,UAAY,CAE7B,KAAK,kBAAkB,CACzB,EACA,oBAAqB,UAAY,CAC/B,IAAIe,EAAiB,GAErB,KAAK,kCAAoC,GACnC,MAAAC,EAAa,SAAS,cAAc,gCAAgC,EACpEC,GAAcD,GAAA,YAAAA,EAAY,cAAe,KAAK,MAAMA,EAAW,WAAW,EACnE,OAAAC,GAAA,MAAAA,EAAA,gBAAgB,IAAKN,GAAc,OAC9C,GAAIA,EAAK,oBAAoBpD,EAAA,KAAK,eAAL,YAAAA,EAAmB,OAAO,CACpCwD,EAAA,GACjB,KAAK,kCAAoC,GACzC,eAEI,KAAK,KAAOJ,EAAK,YAAc,CAACA,EAAK,eAAiB,CAACA,EAAK,eAAgB,CAC7DI,EAAA,GACjB,OAEJ,GAGKA,CACT,EACA,sBAAuB,SAAU3D,EAAa,CAC5CA,EAAM,eAAe,EACrBA,EAAM,gBAAgB,EACtB,MAAM8D,EAAe,KAAK,kBAAoB,QAAU,KAAK,cAAgB,QAEvEC,GADc,+BAAU,cAAgC,kCAChC,QAAQ,KAChCC,EAAiBD,GAAY,KAAK,MAAMA,GAAA,YAAAA,EAAU,QAAQ,UAAW,IAAI,EAEzEE,EAA6BD,GAAA,YAAAA,EAAgB,sBAE/C,KAAK,cAAgB,QAAU,CAAC,KAAK,0BAIrC,KAAK,sBACHF,GAEE,KAAK,kBAAoB,QACtB,KAAA,UACH,GACA,KAAK,8BACL,IAAM,CACJ,KAAK,eAAe9D,CAAK,CAC3B,EACA,CAAC,CAAA,EAID,KAAK,cAAgB,SAClB,KAAA,UACH,GACAiE,EACA,IAAM,CACJ,KAAK,eAAejE,CAAK,CAC3B,EACA,CAAC,CAAA,GAIL,KAAK,eAAeA,CAAK,EAGtB,KAAA,kCACD,KAAK,UAAU,GAAM,KAAK,+CAA+C,EACzE,KAAK,UAAU,GAAM,KAAK,4BAA4B,EAE9D,EACA,eAAgB,SAAUA,EAAa,SACrC,MAAMkE,GAAU/D,EAAA,KAAK,yBAAL,YAAAA,EAA6B,cAAgC,iCACvEX,EAAa,CACjB,kBAAkBe,EAAA,KAAK,eAAL,YAAAA,EAAmB,MACrC,aAAc,GACd,cAAe,WACf,YAAa,WACb,SAAU2D,GAAA,YAAAA,EAAS,MACnB,IAAK,KAAK,GAAA,EAEZ3E,EAAqB,KAAK,mBAAqB,GAAIC,CAAU,EAC1D,KAAM2D,GAAa,CACd,GAAAA,GAAYA,EAAS,cAAgB,EAAG,CAErC,KAAA,uBAAuBe,GAAA,YAAAA,EAAS,KAAK,EACpC,MAAAC,EAAiB,SAAS,cAAc,gCAAgC,EAC9EA,IAAmBA,EAAe,YAAc,KAAK,UAAUhB,EAAS,IAAI,GAC5E,OAAO,cAAc,IAAI,YAAY,aAAa,CAAC,OAI9C,KAAA,UAAU,GAAM,KAAK,6BAA6B,CACzD,CACD,EACA,MAAOC,GAAU,CACX,KAAA,UAAU,GAAM,KAAK,6BAA6B,EAC/C,QAAA,IAAI,sBAAwBA,CAAK,CAAA,CAC1C,CACL,EACA,uBAAwB,SAAUgB,EAAmB,SAC/C,GAAA,CACF,IAAIC,EAAgBC,IACTF,EAAAA,GAA8B,IAEnC,MAAAL,GAAW5D,EAAA,KAAK,wBAAL,YAAAA,EAA4B,QAAQ,KAC/C6D,EAAiBD,GAAY,KAAK,MAAMA,GAAA,YAAAA,EAAU,QAAQ,UAAW,IAAI,EAC/E,IAAIQ,EAAQP,GAAA,YAAAA,EAAgB,MAAM,QAAQ,WAAY,IAEtD,MAAMxE,EAAa,CACjB,MAAO,cACP,OAAQ6E,EACR,UAAU9D,EAAA,KAAK,eAAL,YAAAA,EAAmB,MAC7B,MAAO,YAAY,WAAWgE,CAAK,EAAI,SAASH,CAAQ,GAAG,QAAQ,CAAC,CAAC,EACrE,MAAO,CACL,CACE,QAASJ,GAAA,YAAAA,EAAgB,UACzB,UAAWA,GAAA,YAAAA,EAAgB,YAC3B,WAAYA,GAAA,YAAAA,EAAgB,cAC5B,aAAcA,GAAA,YAAAA,EAAgB,eAC9B,MAAO,WAAWO,CAAK,EACvB,SAAU,SAASH,CAAQ,CAC7B,CACF,CAAA,EAGK,OAAA,UAAY,OAAO,WAAa,CAAA,EAChC,OAAA,UAAU,KAAK5E,CAAU,CAAA,MAChC,CACA,QAAQ,MAAM,4BAA4B,CAC5C,CACF,EACA,sBAAuB,SAAUQ,EAAa,iBAC5C,MAAMwE,EACJ,KAAK,kBAAoB,QACrBrE,EAAA,KAAK,yBAAL,YAAAA,EAA6B,cAAgC,kBAC7DI,EAAA,KAAK,yBAAL,YAAAA,EAA6B,cAAgC,oBAInE,OAHUiE,GAAA,MAAAA,EAAA,SACN7D,GAAAF,EAAA,KAAK,yBAAL,YAAAA,EAA6B,cAAc,iCAAmC+D,EAAS,MAAvF,MAAA7D,EAA4F,UAAU,IAAI,iBAC1GI,GAAAF,EAAA,KAAK,yBAAL,YAAAA,EAA6B,cAAc,kCAAmC2D,GAAA,YAAAA,EAAU,OAAxF,MAAAzD,EAA6F,UAAU,OAAO,gBAC9G,GAAAyD,GAAA,MAAAA,EAAU,QAIhB,EACA,oBAAqB,UAAY,aAC/B,MAAMC,GAAoBtE,EAAA,KAAK,yBAAL,YAAAA,EAA6B,cAA8B,gCAC/EuE,GAAiBnE,EAAA,KAAK,yBAAL,YAAAA,EAA6B,cAA8B,6BAE9E,KAAK,cAAgB,SAClBE,EAAA,KAAA,mBAAA,MAAAA,EAAkB,UAAU,IAAI,iBAEhCE,EAAA,KAAA,mBAAA,MAAAA,EAAkB,UAAU,OAAO,gBAGtC,KAAK,kBAAoB,QACX+D,GAAA,MAAAA,EAAA,UAAU,OAAO,gBACdD,GAAA,MAAAA,EAAA,UAAU,IAAI,kBAEjBC,GAAA,MAAAA,EAAA,UAAU,IAAI,gBACXD,GAAA,MAAAA,EAAA,UAAU,OAAO,gBAExC,EACA,gBAAiB,UAAY,SACrB,MAAAE,GAAuBxE,EAAA,KAAK,yBAAL,YAAAA,EAA6B,cACxD,4EAEaV,EAAA,KAAK,gBAAkB,IAAIc,EAAA,KAAK,eAAL,YAAAA,EAAmB,KAAK,EAC/D,KAAM4C,GAAa,WAClB,GAAIA,EAAU,CACZwB,GAAA,MAAAA,EAAsB,YAAcA,EAAqB,UAAYxB,EAAS,SAAS,GACjF,MAAAyB,GAAazE,EAAA,KAAK,wBAAL,YAAAA,EAA4B,MACzC0E,GAAkBtE,EAAA,KAAK,yBAAL,YAAAA,EAA6B,cAA2B,gBAAkBqE,EAAa,OAC1GnE,EAAA,KAAA,wBAAA,MAAAA,EAAuB,QAAQ,OAAS,KAAK,sBAAsB,QAAQ,KAAOoE,GAAA,YAAAA,EAAiB,QAAQ,MAChH,KAAK,qBAAqB,EAC1B,KAAK,8BAA8B,EACrC,CACD,EACA,MAAOzB,GAAU,CACR,QAAA,IAAI,sBAAwBA,CAAK,CAAA,CAC1C,CACL,EACA,kBAAmB,UAAY,WACvB,MAAAW,GAAW5D,EAAA,KAAK,wBAAL,YAAAA,EAA4B,QAAQ,KAC/C6D,EAAiBD,GAAY,KAAK,MAAMA,GAAA,YAAAA,EAAU,QAAQ,UAAW,IAAI,EAC3EC,IACF,KAAK,aAAeA,GAAA,YAAAA,EAAgB,aACpC,KAAK,MAAQA,GAAA,YAAAA,EAAgB,MAC7B,KAAK,iBAAmBA,GAAA,YAAAA,EAAgB,iBACxC,KAAK,iBAAmBA,GAAA,YAAAA,EAAgB,aACxC,KAAK,iBAAmBA,GAAA,YAAAA,EAAgB,iBACxC,KAAK,gBAAkBA,GAAA,YAAAA,EAAgB,gBACvC,KAAK,cAAgBA,GAAA,YAAAA,EAAgB,UACrC,KAAK,gBAAkBA,GAAA,YAAAA,EAAgB,kBAEzCzD,EAAA,KAAK,wBAAL,MAAAA,EAA4B,QAAU,KAAK,KAAME,EAAA,KAAK,wBAAL,YAAAA,EAA4B,MAC/E,EACA,qBAAsB,UAAY,CAChC,KAAK,kBAAkB,EACvB,KAAK,oBAAoB,EACzB,KAAK,QAAQ,EACb,KAAK,wBAAwB,EAC7B,KAAK,WAAW,CAClB,EACA,WAAY,UAAY,CAElB,IAAAqE,EADQ,OAAO,SAAS,KACT,MAAM,GAAG,EACxBC,EAAM,CAAE,MAAO,iBAAkB,IAAKD,EAAS,CAAC,GACpD,QAAQ,UAAUC,EAAKA,EAAI,MAAOA,EAAI,GAAG,CAC3C,EACA,cAAe,UAAY,WACnB,MAAAC,GAAmB7E,EAAA,KAAK,yBAAL,YAAAA,EAA6B,cACpD,4FAEI8E,GAA0B1E,EAAA,KAAK,yBAAL,YAAAA,EAA6B,iBAC3D,+EAEI2E,GAAgBzE,EAAA,KAAK,yBAAL,YAAAA,EAA6B,cAAgC,iCACnFuE,IAAqBA,EAAiB,UAAY,MAClDE,IAAkBA,EAAc,MAAQ,MACxC,GAAG,QAAQ,KAAKD,EAAyB,CAACrC,EAAmBuC,IAAkB,CACxEvC,EAAA,UAAU,OAAO,WAAW,EAC5BA,EAAA,UAAU,OAAO,QAAQ,EAC9BuC,GAAS,GAAIvC,EAAK,UAAU,IAAI,QAAQ,CAAI,CAC7C,CACH,EACA,wBAAyB,UAAY,qBACnC,MAAMwC,GAAYjF,EAAA,KAAK,yBAAL,YAAAA,EAA6B,cAA2B,sDACpEkF,GAAkB9E,EAAA,KAAK,yBAAL,YAAAA,EAA6B,cAA2B,kDAC1E+E,GAAoB7E,EAAA,KAAK,yBAAL,YAAAA,EAA6B,cAA2B,6DAC5E8E,GAAe5E,EAAA,KAAK,yBAAL,YAAAA,EAA6B,cAA2B,kEACvE6E,GAAU3E,EAAA,KAAK,yBAAL,YAAAA,EAA6B,cAA2B,oDAClE4E,GAAiB1E,EAAA,KAAK,yBAAL,YAAAA,EAA6B,cAA2B,0DACzE2E,GAAqBzE,EAAA,KAAK,yBAAL,YAAAA,EAA6B,cACtD,gEAEI0E,GAAuBxE,EAAA,KAAK,yBAAL,YAAAA,EAA6B,cACxD,+EAEE,KAAK,kBAAoB,SACbiE,IAAAA,EAAU,UAAY,KAAK,kBACxBC,GAAA,MAAAA,EAAA,UAAU,OAAO,gBACfC,GAAA,MAAAA,EAAA,UAAU,OAAO,gBACtBC,GAAA,MAAAA,EAAA,UAAU,IAAI,kBAEXF,GAAA,MAAAA,EAAA,UAAU,IAAI,gBACZC,GAAA,MAAAA,EAAA,UAAU,IAAI,gBACnBC,GAAA,MAAAA,EAAA,UAAU,OAAO,iBAEjC,KAAK,cAAc,EACMI,IAAAA,EAAqB,SAAW,KAAK,kBAAoB,QACtEH,IAAAA,EAAQ,UAAY,KAAK,eACjC,CAAC,KAAK,UAAY,KAAK,iBAAmB,QAC5BC,GAAA,MAAAA,EAAA,UAAU,OAAO,gBACbC,GAAA,MAAAA,EAAA,UAAU,IAAI,kBAElBD,GAAA,MAAAA,EAAA,UAAU,IAAI,gBACVC,GAAA,MAAAA,EAAA,UAAU,OAAO,gBAEzC,EACA,QAAS,UAAY,qBACf,KAAK,cAAgB,SACvBnF,GAAAJ,EAAA,KAAK,yBAAL,YAAAA,EAA6B,cAAc,2BAA3C,MAAAI,EAAqE,UAAU,OAAO,iBACtFI,GAAAF,EAAA,KAAK,yBAAL,YAAAA,EAA6B,cAAc,2BAA3C,MAAAE,EAAqE,UAAU,IAAI,mBAEnFI,GAAAF,EAAA,KAAK,yBAAL,YAAAA,EAA6B,cAAc,2BAA3C,MAAAE,EAAqE,UAAU,IAAI,iBACnFI,GAAAF,EAAA,KAAK,yBAAL,YAAAA,EAA6B,cAAc,2BAA3C,MAAAE,EAAqE,UAAU,OAAO,gBAE1F,EACA,aAAc,SAAUnB,EAAa,OACnCA,EAAM,eAAe,EACrB,MAAM4F,GAAqBzF,EAAA,KAAK,yBAAL,YAAAA,EAA6B,cAA2B,uCAE5E,OAAA,SAAS,KAAO,oBAAqByF,GAAA,YAAAA,EAAoB,WAAY,SAAW,UAAU,OAAO,SAAS,IAAI,CACvH,EACA,aAAc,SAAU5F,EAAa,CACnCA,EAAM,eAAe,EACjB,IAAA6F,EAAc,+BAAU,cAA8B,qCAE1D,MAAMC,EAAc,SAAS,qBAAqB,MAAM,EAAE,CAAC,EAC9CA,GAAA,MAAAA,EAAA,aAAa,QAAS,qBACtBD,GAAA,MAAAA,EAAA,UAAU,IAAI,kBAE3B,OAAO,MAAM,EAEAC,GAAA,MAAAA,EAAA,aAAa,QAAS,sBACtBD,GAAA,MAAAA,EAAA,UAAU,OAAO,iBAChC,EACA,YAAa,SAAU7F,EAAa,SAClCA,EAAM,eAAe,EACrB,MAAMkE,GAAU/D,EAAA,KAAK,yBAAL,YAAAA,EAA6B,cAAgC,iCACvEX,EAAa,CACjB,kBAAkBe,EAAA,KAAK,eAAL,YAAAA,EAAmB,MACrC,aAAc,GACd,cAAe,WACf,YAAa,WACb,SAAU2D,GAAA,YAAAA,EAAS,MACnB,IAAK,KAAK,GAAA,EAEZtE,EAAoB,KAAK,wBAA0B,GAAIJ,CAAU,EAC9D,KAAK,MAAO2D,GAAa,CACpBA,IACF,MAAM,UAAU,UAAU,UAAUA,EAAS,SAAU,CAAA,EACvD,QAAQ,IAAI,WAAW,EACzB,CACD,EACA,MAAOC,GAAU,CACR,QAAA,IAAI,UAAYA,CAAK,CAAA,CAC9B,CACL,EACA,yBAA0B,SAAUpD,EAAa,CAC/CA,EAAM,eAAe,EACd,OAAA,SAAS,KAAO,KAAK,eAE9B,EACA,eAAgB,UAAY,SAC1B,MAAMc,GAAWX,EAAA,KAAK,yBAAL,YAAAA,EAA6B,cAA2B,0BACzEW,IAAaA,EAAS,UAAYA,EAAS,WAAa,wBAA0B,wBAA0B,yBAC5G,MAAMiF,GAAgBxF,EAAA,KAAK,yBAAL,YAAAA,EAA6B,iBAAiC,wDACpF,CAAA,EAAG,QAAQ,KAAKwF,EAAgBC,GAAyB,CACvDA,GAAA,MAAAA,EAAS,UAAU,SAAS,eAAiBA,GAAA,MAAAA,EAAS,UAAU,OAAO,eAAiBA,GAAA,MAAAA,EAAS,UAAU,IAAI,cAAa,CAC7H,CACH,EACA,cAAe,SAAUhG,EAAa,CACpCA,EAAM,eAAe,EACrBA,EAAM,gBAAgB,EACtB,MAAMiG,EAAO,KACb,OAAQ,GAAM,CACZ,KAAKjG,EAAM,cAAc,UAAU,SAAS,wBAAwB,EAC7D,KAAA,UAAU,GAAMiG,EAAK,2BAA2B,EACrD,MACF,KAAKjG,EAAM,cAAc,UAAU,SAAS,sBAAsB,EAE1D,MAAA+D,GADc,+BAAU,cAAgC,kCAChC,QAAQ,KAChCC,EAAiBD,GAAY,KAAK,MAAMA,GAAA,YAAAA,EAAU,QAAQ,UAAW,IAAI,EAC3EC,IACF,KAAK,0BAA4BA,GAAA,YAAAA,EAAgB,sBAE9C,KAAA,UAAU,GAAMiC,EAAK,yBAAyB,EACnD,MACF,KAAKjG,EAAM,cAAc,UAAU,SAAS,uBAAuB,EAC5D,KAAA,UAAU,GAAMiG,EAAK,8BAA8B,EACxD,MACF,KAAKjG,EAAM,cAAc,UAAU,SAAS,cAAc,EACnD,KAAA,UAAU,GAAMiG,EAAK,sBAAsB,EAChD,KACJ,CACF,EACA,UAAW,SAAUC,EAAeC,EAAkBC,EAAuBC,EAAqB,CACzF,OAAA,cACL,IAAI,YAAY,cAAe,CAAE,OAAQ,CAAE,QAAAF,EAAkB,gBAAAC,EAAiB,cAAAC,EAAe,YAAa,EAAK,EAAG,CAAA,CAEtH,EACA,gBAAiB,SAAUrG,EAAa,CACjC,KAAK,SAGkBb,EAAA,KAAK,mBAAqB,GAAI,KAAK,UAAU,EACpE,KAAMgE,GAAa,CACd,IAAAmD,EACJ,OAAQnD,EAAU,CAChB,IAAK,UACHmD,EAAkB,KAAK,wBACvB,MACF,IAAK,cACHA,EAAkB,KAAK,4BACvB,MACF,IAAK,QACHA,EAAkB,KAAK,sBACvB,MACF,IAAK,WACHA,EAAkB,KAAK,yBACvB,MACF,IAAK,aACHA,EAAkB,KAAK,sBACvB,MACF,QACEA,EAAkB,KAAK,sBACvB,KACJ,CACA,CAAA,EAAG,QAAQ,KAAKA,EAAkB1D,GAAsB,CAChDA,GAAA,MAAAA,EAAA,UAAU,OAAO,eAAc,CACtC,CAAA,CACF,EACA,MAAOQ,GAAU,CAChB,GAAG,QAAQ,KAAK,KAAK,sBAAwBR,GAAsB,CAC3DA,GAAA,MAAAA,EAAA,UAAU,OAAO,eAAc,CACtC,EACO,QAAA,IAAI,sBAAwBQ,CAAK,CAAA,CAC1C,EAlCE,KAAA,UAAU,GAAM,KAAK,+BAA+B,CAoC7D,CACF,EAEArD,EAAkB,KAAK"}