1(()=>{"use strict";var e={857:e=>{var t=function(e){var t;return!!e&&"object"==typeof e&&"[object RegExp]"!==(t=Object.prototype.toString.call(e))&&"[object Date]"!==t&&e.$$typeof!==i},i="function"==typeof Symbol&&Symbol.for?Symbol.for("react.element"):60103;function n(e,t){return!1!==t.clone&&t.isMergeableObject(e)?o(Array.isArray(e)?[]:{},e,t):e}function r(e,t,i){return e.concat(t).map(function(e){return n(e,i)})}function s(e){return Object.keys(e).concat(Object.getOwnPropertySymbols?Object.getOwnPropertySymbols(e).filter(function(t){return Object.propertyIsEnumerable.call(e,t)}):[])}function a(e,t){try{return t in e}catch(e){return!1}}function o(e,i,c){(c=c||{}).arrayMerge=c.arrayMerge||r,c.isMergeableObject=c.isMergeableObject||t,c.cloneUnlessOtherwiseSpecified=n;var l,d,u=Array.isArray(i);return u!==Array.isArray(e)?n(i,c):u?c.arrayMerge(e,i,c):(d={},(l=c).isMergeableObject(e)&&s(e).forEach(function(t){d[t]=n(e[t],l)}),s(i).forEach(function(t){(!a(e,t)||Object.hasOwnProperty.call(e,t)&&Object.propertyIsEnumerable.call(e,t))&&(a(e,t)&&l.isMergeableObject(i[t])?d[t]=(function(e,t){if(!t.customMerge)return o;var i=t.customMerge(e);return"function"==typeof i?i:o})(t,l)(e[t],i[t],l):d[t]=n(i[t],l))}),d)}o.all=function(e,t){if(!Array.isArray(e))throw Error("first argument should be an array");return e.reduce(function(e,i){return o(e,i,t)},{})},e.exports=o},688:(e,t,i)=>{i.r(t),i.d(t,{default:()=>m});var n=i(568),r=i(49);class s{static debounce(e,t){let i,n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return function(){for(var r=arguments.length,s=Array(r),a=0;a<r;a++)s[a]=arguments[a];n&&!i&&setTimeout(e.bind(e,...s),0),clearTimeout(i),i=setTimeout(e.bind(e,...s),t)}}}var a=i(107),o=i(363);class c extends o.Z{create(){super.create(),this._isButtonElement()?this.parent.disabled=!0:this._isAnchorElement()&&this.parent.classList.add("disabled")}remove(){super.remove(),this._isButtonElement()?this.parent.disabled=!1:this._isAnchorElement()&&this.parent.classList.remove("disabled")}_isButtonElement(){return"button"===this.parent.tagName.toLowerCase()}_isAnchorElement(){return"a"===this.parent.tagName.toLowerCase()}constructor(e,t="before"){if(super(e,t),!this._isButtonElement()&&!this._isAnchorElement())throw Error("Parent element is not of type <button> or <a>")}}var l=i(206),d=i(266);let u="is-active";class g{resetIterator(){this._iterator=-1}_registerEvents(){this._element.addEventListener("keydown",this._onKeyDown.bind(this))}_onKeyDown(e){let t=r.Z.querySelector(document,this._parentSelector,!1);if(t&&(this._items=t.querySelectorAll(this._itemSelector),0!==this._items.length)){switch(e.key){case"Enter":this._onPressEnter(e);return;case"ArrowDown":e.preventDefault(),this._iterator++;break;case"ArrowUp":e.preventDefault(),this._iterator--;break;default:return}this._clampIterator(),d.Z.iterate(this._items,e=>e.classList.remove(u)),this._getCurrentSelection().classList.add(u)}}_onPressEnter(e){if(!(this._iterator<=-1))try{let t=r.Z.querySelector(this._getCurrentSelection(),"a");e.preventDefault(),t.click()}catch(e){}}_getCurrentSelection(){return this._items[this._iterator]}_clampIterator(){let e=this._getMaxItemCount();this._iterator<0&&(this._iterator=this._infinite?e:0),this._iterator>e&&(this._iterator=this._infinite?0:e)}_getMaxItemCount(){return this._items.length-1}constructor(e,t,i,n=!0){this._element=e,this._parentSelector=t,this._infinite=n,this._itemSelector=i,this.resetIterator(),this._registerEvents()}}class h extends n.Z{init(){try{this._inputField=r.Z.querySelector(this.el,this.options.searchWidgetInputFieldSelector),this._submitButton=r.Z.querySelector(this.el,this.options.searchWidgetButtonFieldSelector),this._url=r.Z.getAttribute(this.el,this.options.searchWidgetUrlDataAttribute)}catch(e){return}this._client=new a.Z,this._navigationHelper=new g(this._inputField,this.options.searchWidgetResultSelector,this.options.searchWidgetResultItemSelector,!0),this._registerEvents()}_registerEvents(){this._inputField.addEventListener("input",s.debounce(this._handleInputEvent.bind(this),this.options.searchWidgetDelay),{capture:!0,passive:!0}),this.el.addEventListener("submit",this._handleSearchEvent.bind(this));let e=l.Z.isTouchDevice()?"touchstart":"click";document.body.addEventListener(e,this._onBodyClick.bind(this)),this._registerInputFocus()}_handleSearchEvent(e){this._inputField.value.trim().length<this.options.searchWidgetMinChars&&(e.preventDefault(),e.stopPropagation())}_handleInputEvent(){let e=this._inputField.value.trim();if(e.length<this.options.searchWidgetMinChars){this._clearSuggestResults();return}this._suggest(e),this.$emitter.publish("handleInputEvent",{value:e})}_suggest(e){let t=this._url+encodeURIComponent(e);this._client.abort();let i=new c(this._submitButton);i.create(),this.$emitter.publish("beforeSearch"),this._client.get(t,e=>{this._clearSuggestResults(),i.remove(),this.el.insertAdjacentHTML("beforeend",e),this.$emitter.publish("afterSuggest")})}_clearSuggestResults(){this._navigationHelper.resetIterator();let e=document.querySelectorAll(this.options.searchWidgetResultSelector);d.Z.iterate(e,e=>e.remove()),this.$emitter.publish("clearSuggestResults")}_onBodyClick(e){e.target.closest(this.options.searchWidgetSelector)||e.target.closest(this.options.searchWidgetResultSelector)||(this._clearSuggestResults(),this.$emitter.publish("onBodyClick"))}_registerInputFocus(){if(this._toggleButton=r.Z.querySelector(document,this.options.searchWidgetCollapseButtonSelector,!1),!this._toggleButton){console.warn("Called selector '".concat(this.options.searchWidgetCollapseButtonSelector,"' for the search toggle button not found. Autofocus has been disabled on mobile."));return}let e=l.Z.isTouchDevice()?"touchstart":"click";this._toggleButton.addEventListener(e,()=>{setTimeout(()=>this._focusInput(),0)})}_focusInput(){this._toggleButton&&!this._toggleButton.classList.contains(this.options.searchWidgetCollapseClass)&&(this._toggleButton.blur(),this._inputField.setAttribute("tabindex","-1"),this._inputField.focus()),this.$emitter.publish("focusInput")}}h.options={searchWidgetSelector:".js-search-form",searchWidgetResultSelector:".js-search-result",searchWidgetResultItemSelector:".js-result",searchWidgetInputFieldSelector:"input[type=search]",searchWidgetButtonFieldSelector:"button[type=submit]",searchWidgetUrlDataAttribute:"data-url",searchWidgetCollapseButtonSelector:".js-search-toggle-btn",searchWidgetCollapseClass:"collapsed",searchWidgetDelay:250,searchWidgetMinChars:3};class m extends h{init(){super.init(),this.$emitter.subscribe("afterSuggest",this.onAfterSearchSuggest),this.$emitter.subscribe("clearSuggestResults",this.onAfterClearSearchResults)}onAfterSearchSuggest(){let e=document.querySelector("#ga4AfterSuggestScript");
1if(!e)return;let t=document.createTextNode(e.textContent),i=document.createElement("script");i.appendChild(t),document.querySelector("head").appendChild(i)}onAfterClearSearchResults(){window.ga4SearchSuggestProduct&&delete window.ga4SearchSuggestProduct}}},206:(e,t,i)=>{i.d(t,{Z:()=>n});class n{static isTouchDevice(){return"ontouchstart"in document.documentElement}static isIOSDevice(){return n.isIPhoneDevice()||n.isIPadDevice()}static isNativeWindowsBrowser(){return n.isIEBrowser()||n.isEdgeBrowser()}static isIPhoneDevice(){return!!navigator.userAgent.match(/iPhone/i)}static isIPadDevice(){return!!navigator.userAgent.match(/iPad/i)}static isIEBrowser(){return -1!==navigator.userAgent.toLowerCase().indexOf("msie")||!!navigator.userAgent.match(/Trident.*rv:\d+\./)}static isEdgeBrowser(){return!!navigator.userAgent.match(/Edge\/\d+/i)}static getList(){return{"is-touch":n.isTouchDevice(),"is-ios":n.isIOSDevice(),"is-native-windows":n.isNativeWindowsBrowser(),"is-iphone":n.isIPhoneDevice(),"is-ipad":n.isIPadDevice(),"is-ie":n.isIEBrowser(),"is-edge":n.isEdgeBrowser()}}}},49:(e,t,i)=>{i.d(t,{Z:()=>r});var n=i(140);class r{static isNode(e){return"object"==typeof e&&null!==e&&(e===document||e===window||e instanceof Node)}static hasAttribute(e,t){if(!r.isNode(e))throw Error("The element must be a valid HTML Node!");return"function"==typeof e.hasAttribute&&e.hasAttribute(t)}static getAttribute(e,t){let i=!(arguments.length>2)||void 0===arguments[2]||arguments[2];if(i&&!1===r.hasAttribute(e,t))throw Error('The required property "'.concat(t,'" does not exist!'));if("function"!=typeof e.getAttribute){if(i)throw Error("This node doesn't support the getAttribute function!");return}return e.getAttribute(t)}static getDataAttribute(e,t){let i=!(arguments.length>2)||void 0===arguments[2]||arguments[2],s=t.replace(/^data(|-)/,""),a=n.Z.toLowerCamelCase(s,"-");if(!r.isNode(e)){if(i)throw Error("The passed node is not a valid HTML Node!");return}if(void 0===e.dataset){if(i)throw Error("This node doesn't support the dataset attribute!");return}let o=e.dataset[a];if(void 0===o){if(i)throw Error('The required data attribute "'.concat(t,'" does not exist on ').concat(e,"!"));return o}return n.Z.parsePrimitive(o)}static querySelector(e,t){let i=!(arguments.length>2)||void 0===arguments[2]||arguments[2];if(i&&!r.isNode(e))throw Error("The parent node is not a valid HTML Node!");let n=e.querySelector(t)||!1;if(i&&!1===n)throw Error('The required element "'.concat(t,'" does not exist in parent node!'));return n}static querySelectorAll(e,t){let i=!(arguments.length>2)||void 0===arguments[2]||arguments[2];if(i&&!r.isNode(e))throw Error("The parent node is not a valid HTML Node!");let n=e.querySelectorAll(t);if(0===n.length&&(n=!1),i&&!1===n)throw Error('At least one item of "'.concat(t,'" must exist in parent node!'));return n}}},830:(e,t,i)=>{i.d(t,{Z:()=>n});class n{publish(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i=arguments.length>2&&void 0!==arguments[2]&&arguments[2],n=new CustomEvent(e,{detail:t,cancelable:i});return this.el.dispatchEvent(n),n}subscribe(e,t){let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},n=this,r=e.split("."),s=i.scope?t.bind(i.scope):t;if(i.once&&!0===i.once){let t=s;s=function(i){n.unsubscribe(e),t(i)}}return this.el.addEventListener(r[0],s),this.listeners.push({splitEventName:r,opts:i,cb:s}),!0}unsubscribe(e){let t=e.split(".");return this.listeners=this.listeners.reduce((e,i)=>([...i.splitEventName].sort().toString()===t.sort().toString()?this.el.removeEventListener(i.splitEventName[0],i.cb):e.push(i),e),[]),!0}reset(){return this.listeners.forEach(e=>{this.el.removeEventListener(e.splitEventName[0],e.cb)}),this.listeners=[],!0}get el(){return this._el}set el(e){this._el=e}get listeners(){return this._listeners}set listeners(e){this._listeners=e}constructor(e=document){this._el=e,e.$emitter=this,this._listeners=[]}}},266:(e,t,i)=>{i.d(t,{Z:()=>n});class n{static iterate(e,t){if(e instanceof Map||Array.isArray(e))return e.forEach(t);if(e instanceof FormData){for(var i of e.entries())t(i[1],i[0]);return}if(e instanceof NodeList)return e.forEach(t);if(e instanceof HTMLCollection)return Array.from(e).forEach(t);if(e instanceof Object)return Object.keys(e).forEach(i=>
1{t(e[i],i)});throw Error("The element type ".concat(typeof e," is not iterable!"))}}},140:(e,t,i)=>{i.d(t,{Z:()=>n});class n{static ucFirst(e){return e.charAt(0).toUpperCase()+e.slice(1)}static lcFirst(e){return e.charAt(0).toLowerCase()+e.slice(1)}static toDashCase(e){return e.replace(/([A-Z])/g,"-$1").replace(/^-/,"").toLowerCase()}static toLowerCamelCase(e,t){let i=n.toUpperCamelCase(e,t);return n.lcFirst(i)}static toUpperCamelCase(e,t){return t?e.split(t).map(e=>n.ucFirst(e.toLowerCase())).join(""):n.ucFirst(e.toLowerCase())}static parsePrimitive(e){try{return/^\d+(.|,)\d+$/.test(e)&&(e=e.replace(",",".")),JSON.parse(e)}catch(t){return e.toString()}}}},568:(e,t,i)=>{i.d(t,{Z:()=>c});var n=i(857),r=i.n(n),s=i(49),a=i(140),o=i(830);class c{init(){throw Error('The "init" method for the plugin "'.concat(this._pluginName,'" is not defined.'))}update(){}_init(){this._initialized||(this.init(),this._initialized=!0)}_update(){this._initialized&&this.update()}_mergeOptions(e){let t=a.Z.toDashCase(this._pluginName),i=s.Z.getDataAttribute(this.el,"data-".concat(t,"-config"),!1),n=s.Z.getAttribute(this.el,"data-".concat(t,"-options"),!1),o=[this.constructor.options,this.options,e];i&&o.push(window.PluginConfigManager.get(this._pluginName,i));try{n&&o.push(JSON.parse(n))}catch(e){throw console.error(this.el),Error('The data attribute "data-'.concat(t,'-options" could not be parsed to json: ').concat(e.message))}return r().all(o.filter(e=>e instanceof Object&&!(e instanceof Array)).map(e=>e||{}))}_registerInstance(){window.PluginManager.getPluginInstancesFromElement(this.el).set(this._pluginName,this),window.PluginManager.getPlugin(this._pluginName,!1).get("instances").push(this)}_getPluginName(e){return e||(e=this.constructor.name),e}constructor(e,t={},i=!1){if(!s.Z.isNode(e))throw Error("There is no valid element given.");this.el=e,this.$emitter=new o.Z(this.el),this._pluginName=this._getPluginName(i),this.options=this._mergeOptions(t),this._initialized=!1,this._registerInstance(),this._init()}}},107:(e,t,i)=>{i.d(t,{Z:()=>n});class n{get(e,t){let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"application/json",n=this._createPreparedRequest("GET",e,i);return this._sendRequest(n,null,t)}post(e,t,i){let n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"application/json";n=this._getContentType(t,n);let r=this._createPreparedRequest("POST",e,n);return this._sendRequest(r,t,i)}delete(e,t,i){let n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"application/json";n=this._getContentType(t,n);let r=this._createPreparedRequest("DELETE",e,n);return this._sendRequest(r,t,i)}patch(e,t,i){let n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"application/json";n=this._getContentType(t,n);let r=this._createPreparedRequest("PATCH",e,n);return this._sendRequest(r,t,i)}abort(){if(this._request)return this._request.abort()}_registerOnLoaded(e,t){t&&e.addEventListener("loadend",()=>{t(e.responseText,e)})}_sendRequest(e,t,i){return this._registerOnLoaded(e,i),e.send(t),e}_getContentType(e,t){return e instanceof FormData&&(t=!1),t}_createPreparedRequest(e,t,i){return this._request=new XMLHttpRequest,this._request.open(e,t),this._request.setRequestHeader("X-Requested-With","XMLHttpRequest"),i&&this._request.setRequestHeader("Content-type",i),this._request}constructor(){this._request=null}}},363:(e,t,i)=>{i.d(t,{Z:()=>a});var n=i(266);let r="loader",s={BEFORE:"before",INNER:"inner"};class a{create(){if(!this.exists()){if(this.position===s.INNER){this.parent.innerHTML=a.getTemplate();return}this.parent.insertAdjacentHTML(this._getPosition(),a.getTemplate())}}remove(){let e=this.parent.querySelectorAll(".".concat(r));n.Z.iterate(e,e=>e.remove())}exists(){return this.parent.querySelectorAll(".".concat(r)).length>0}_getPosition(){return this.position===s.BEFORE?"afterbegin":"beforeend"}static getTemplate(){return'<div class="'.concat(r,'" role="status">\n <span class="').concat("visually-hidden",'">Loading...</span>\n </div>')}static SELECTOR_CLASS(){return r}constructor(e,t=s.BEFORE){this.parent=e instanceof Element?e:document.body.querySelector(e),this.position=t}}}},t={};function i(n){var r=t[n];
1if(void 0!==r)return r.exports;var s=t[n]={exports:{}};return e[n](s,s.exports,i),s.exports}(()=>{i.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return i.d(t,{a:t}),t}})(),(()=>{i.d=(e,t)=>{for(var n in t)i.o(t,n)&&!i.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}})(),(()=>{i.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t)})(),(()=>{i.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}})(),(()=>{var e=i(568);class t{static isSupported(){return"undefined"!==document.cookie}static setItem(e,t,i){if(null==e)throw Error("You must specify a key to set a cookie");let n=new Date;n.setTime(n.getTime()+864e5*i);let r="";"https:"===location.protocol&&(r="secure"),document.cookie="".concat(e,"=").concat(t,";expires=").concat(n.toUTCString(),";path=/;sameSite=lax;").concat(r)}static getItem(e){if(!e)return!1;let t=e+"=",i=document.cookie.split(";");for(let e=0;e<i.length;e++){let n=i[e];for(;" "===n.charAt(0);)n=n.substring(1);if(0===n.indexOf(t))return n.substring(t.length,n.length)}return!1}static removeItem(e){document.cookie="".concat(e,"= ; expires = Thu, 01 Jan 1970 00:00:00 GMT;path=/")}static key(){return""}static clear(){}}var n=i(206),r=i(830),s=i(266);let a="offcanvas";class o{open(e,t,i,n,r,s,a){this._removeExistingOffCanvas();let o=this._createOffCanvas(i,s,a,n);this.setContent(e,n,r),this._openOffcanvas(o,t)}setContent(e,t){let i=this.getOffCanvas();i[0]&&(i[0].innerHTML=e,this._registerEvents(t))}setAdditionalClassName(e){this.getOffCanvas()[0].classList.add(e)}getOffCanvas(){return document.querySelectorAll(".".concat(a))}close(e){let t=this.getOffCanvas();s.Z.iterate(t,e=>{bootstrap.Offcanvas.getInstance(e).hide()}),setTimeout(()=>{this.$emitter.publish("onCloseOffcanvas",{offCanvasContent:t})},e)}goBackInHistory(){window.history.back()}exists(){return this.getOffCanvas().length>0}_openOffcanvas(e,t){o.bsOffcanvas.show(),window.history.pushState("offcanvas-open",""),"function"==typeof t&&t()}_registerEvents(e){let t=n.Z.isTouchDevice()?"touchend":"click",i=this.getOffCanvas();s.Z.iterate(i,t=>{let n=()=>{setTimeout(()=>{t.remove(),this.$emitter.publish("onCloseOffcanvas",{offCanvasContent:i})},e),t.removeEventListener("hide.bs.offcanvas",n)};t.addEventListener("hide.bs.offcanvas",n)}),window.addEventListener("popstate",this.close.bind(this,e),{once:!0});let r=document.querySelectorAll(".".concat("js-offcanvas-close"));s.Z.iterate(r,i=>i.addEventListener(t,this.close.bind(this,e)))}_removeExistingOffCanvas(){o.bsOffcanvas=null;let e=this.getOffCanvas();return s.Z.iterate(e,e=>e.remove())}_getPositionClass(e){return"left"===e?"offcanvas-start":"right"===e?"offcanvas-end":"offcanvas-".concat(e)}_createOffCanvas(e,t,i,n){let r=document.createElement("div");if(r.classList.add(a),r.classList.add(this._getPositionClass(e)),!0===t&&r.classList.add("is-fullwidth"),i){let e=typeof i;if("string"===e)r.classList.add(i);else if(Array.isArray(i))i.forEach(e=>{r.classList.add(e)});else throw Error('The type "'.concat(e,'" is not supported. Please pass an array or a string.'))}return document.body.appendChild(r),o.bsOffcanvas=new bootstrap.Offcanvas(r,{backdrop:!1!==n||"static"}),r}constructor(){this.$emitter=new r.Z}}let c=Object.freeze(new o);class l{static open(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"left",n=!(arguments.length>3)||void 0===arguments[3]||arguments[3],r=arguments.length>4&&void 0!==arguments[4]?arguments[4]:350,s=arguments.length>5&&void 0!==arguments[5]&&arguments[5],a=arguments.length>6&&void 0!==arguments[6]?arguments[6]:"";c.open(e,t,i,n,r,s,a)}static setContent(e){let t=!(arguments.length>1)||void 0===arguments[1]||arguments[1],i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:350;c.setContent(e,t,i)}static setAdditionalClassName(e){c.setAdditionalClassName(e)}static close(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:350;c.close(e)}static exists(){return c.exists()}static getOffCanvas(){return c.getOffCanvas()}static REMOVE_OFF_CANVAS_DELAY(){return 350}}var d=i(107),u=i(363);let g=null;class h extends l{static open(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"left",r=!(arguments.length>4)||void 0===arguments[4]||arguments[4],s=arguments.length>5&&void 0!==arguments[5]?arguments[5]:l.REMOVE_OFF_CANVAS_DELAY(),a=arguments.length>6&&void 0!==arguments[6]&&arguments[6],o=arguments.length>7&&void 0!==arguments[7]?arguments[7]:"";if(!e)throw Error("A url must be given!");c._removeExistingOffCanvas();let d=c._createOffCanvas(n,a,o,r);this.setContent(e,t,i,r,s),c._openOffcanvas(d)}static setContent(e,t,i,n,r){let s=new d.Z;super.setContent('<div class="offcanvas-body">'.concat(u.Z.getTemplate(),"</div>"),n,r),g&&g.abort();let a=e=>{super.setContent(e,n,r),"function"==typeof i&&i(e)};g=t?s.post(e,t,h.executeCallback.bind(this,a)):s.get(e,h.executeCallback.bind(this,a))}static executeCallback(e,t){"function"==typeof e&&e(t),window.PluginManager.initializePlugins()}}let m="element-loader-backdrop";class p extends u.Z{static create(e){e.classList.add("has-element-loader"),p.exists(e)||(p.appendLoader(e),setTimeout(()=>{let t=e.querySelector(".".concat(m));t&&t.classList.add("element-loader-backdrop-open")},1))}static remove(e){e.classList.remove("has-element-loader");let t=e.querySelector(".".concat(m));t&&t.remove()}static exists(e){return e.querySelectorAll(".".concat(m)).length>0}static getTemplate(){return'\n <div class="'.concat(m,'">\n <div class="loader" role="status">
1\n <span class="').concat("visually-hidden",'">Loading...</span>\n </div>\n </div>\n ')}static appendLoader(e){e.insertAdjacentHTML("beforeend",p.getTemplate())}}let f="CookieConfiguration_Update";class _ extends e.Z{init(){this.lastState={active:[],inactive:[]},this._httpClient=new d.Z,this._registerEvents()}_registerEvents(){let{submitEvent:e,buttonOpenSelector:t,customLinkSelector:i,globalButtonAcceptAllSelector:n}=this.options;Array.from(document.querySelectorAll(t)).forEach(t=>{t.addEventListener(e,this.openOffCanvas.bind(this))}),Array.from(document.querySelectorAll(i)).forEach(t=>{t.addEventListener(e,this._handleCustomLink.bind(this))}),Array.from(document.querySelectorAll(n)).forEach(t=>{t.addEventListener(e,this._acceptAllCookiesFromCookieBar.bind(this))})}_registerOffCanvasEvents(){let{submitEvent:e,buttonSubmitSelector:i,buttonAcceptAllSelector:n,wrapperToggleSelector:r}=this.options,s=this._getOffCanvas();if(s){let a=s.querySelector(i),o=s.querySelector(n),c=Array.from(s.querySelectorAll('input[type="checkbox"]')),l=Array.from(s.querySelectorAll(r));a&&a.addEventListener(e,this._handleSubmit.bind(this,t)),o&&o.addEventListener(e,this._acceptAllCookiesFromOffCanvas.bind(this,t)),c.forEach(t=>{t.addEventListener(e,this._handleCheckbox.bind(this))}),l.forEach(t=>{t.addEventListener(e,this._handleWrapperTrigger.bind(this))})}}_handleCustomLink(e){e.preventDefault(),this.openOffCanvas()}_handleUpdateListener(e,t){let i=this._getUpdatedCookies(e,t);document.$emitter.publish(f,i)}_getUpdatedCookies(e,t){let{lastState:i}=this,n={};return e.forEach(e=>{i.inactive.includes(e)&&(n[e]=!0)}),t.forEach(e=>{i.active.includes(e)&&(n[e]=!1)}),n}openOffCanvas(e){let{offCanvasPosition:t}=this.options,i=window.router["frontend.cookie.offcanvas"];this._hideCookieBar(),h.open(i,!1,this._onOffCanvasOpened.bind(this,e),t)}closeOffCanvas(e){h.close(),"function"==typeof e&&e()}_onOffCanvasOpened(e){this._registerOffCanvasEvents(),this._setInitialState(),this._setInitialOffcanvasState(),PluginManager.initializePlugins(),"function"==typeof e&&e()}_hideCookieBar(){let e=PluginManager.getPluginInstances("CookiePermission");e&&e[0]&&(e[0]._hideCookieBar(),e[0]._removeBodyPadding())}_setInitialState(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,i=e||this._getCookies("all"),n=[],r=[];i.forEach(e=>{let{cookie:i,required:s}=e;t.getItem(i)||s?n.push(i):r.push(i)}),this.lastState={active:n,inactive:r}}_setInitialOffcanvasState(){let e=this.lastState.active,t=this._getOffCanvas();e.forEach(e=>{let i=t.querySelector('[data-cookie="'.concat(e,'"]'));i.checked=!0,this._childCheckboxEvent(i)})}_handleWrapperTrigger(e){e.preventDefault();let{entriesActiveClass:t,entriesClass:i,groupClass:n}=this.options,{target:r}=e,s=this._findParentEl(r,i,n);s&&(s.classList.contains(t)?s.classList.remove(t):s.classList.add(t))}_handleCheckbox(e){let{parentInputClass:t}=this.options,{target:i}=e;(i.classList.contains(t)?this._parentCheckboxEvent:this._childCheckboxEvent).call(this,i)}_findParentEl(e,t){let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;for(;e&&!e.classList.contains(i);){if(e.classList.contains(t))return e;e=e.parentElement}return null}_isChecked(e){return!!e.checked}_parentCheckboxEvent(e){let{groupClass:t}=this.options,i=this._isChecked(e),n=this._findParentEl(e,t);this._toggleWholeGroup(i,n)}_childCheckboxEvent(e){let{groupClass:t}=this.options,i=this._isChecked(e),n=this._findParentEl(e,t);this._toggleParentCheckbox(i,n)}_toggleWholeGroup(e,t){Array.from(t.querySelectorAll("input")).forEach(t=>{t.checked=e})}_toggleParentCheckbox(e,t){let{parentInputSelector:i}=this.options,n=Array.from(t.querySelectorAll("input:not(".concat(i,")"))),r=Array.from(t.querySelectorAll("input:not(".concat(i,"):checked")));if(n.length>0){let e=t.querySelector(i);if(e){let t=r.length>0,i=t&&r.length!==n.length;e.checked=t,e.indeterminate=i}}}_handleSubmit(){let e=this._getCookies("active"),i=this._getCookies("inactive"),{cookiePreference:n}=this.options,r=[],s=[];i.forEach(e=>{let{cookie:i}=e;s.push(i),t.getItem(i)&&t.removeItem(i)}
1),e.forEach(e=>{let{cookie:i,value:n,expiration:s}=e;r.push(i),i&&n&&t.setItem(i,n,s)}),t.setItem(n,"1","30"),this._handleUpdateListener(r,s),this.closeOffCanvas(document.$emitter.publish("CookieConfiguration_CloseOffCanvas"))}acceptAllCookies(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];if(!e){this._handleAcceptAll(),this.closeOffCanvas();return}p.create(this.el);let t=window.router["frontend.cookie.offcanvas"];this._httpClient.get(t,e=>{let t=new DOMParser().parseFromString(e,"text/html");this._handleAcceptAll(t),p.remove(this.el),this._hideCookieBar()})}_acceptAllCookiesFromCookieBar(){return this.acceptAllCookies(!0)}_acceptAllCookiesFromOffCanvas(){return this.acceptAllCookies()}_handleAcceptAll(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,i=this._getCookies("all",e);this._setInitialState(i);let{cookiePreference:n}=this.options;i.forEach(e=>{let{cookie:i,value:n,expiration:r}=e;i&&n&&t.setItem(i,n,r)}),t.setItem(n,"1","30"),this._handleUpdateListener(i.map(e=>{let{cookie:t}=e;return t}),[])}_getCookies(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"all",t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,{cookieSelector:i}=this.options;return t||(t=this._getOffCanvas()),Array.from(t.querySelectorAll(i)).filter(t=>{switch(e){case"all":return!0;case"active":return this._isChecked(t);case"inactive":return!this._isChecked(t);default:return!1}}).map(e=>{let{cookie:t,cookieValue:i,cookieExpiration:n,cookieRequired:r}=e.dataset;return{cookie:t,value:i,expiration:n,required:r}})}_getOffCanvas(){let e=l?l.getOffCanvas():[];return!!e&&e.length>0&&e[0]}}_.options={offCanvasPosition:"left",submitEvent:"click",cookiePreference:"cookie-preference",cookieSelector:"[data-cookie]",buttonOpenSelector:".js-cookie-configuration-button button",buttonSubmitSelector:".js-offcanvas-cookie-submit",buttonAcceptAllSelector:".js-offcanvas-cookie-accept-all",globalButtonAcceptAllSelector:".js-cookie-accept-all-button",wrapperToggleSelector:".offcanvas-cookie-entries span",parentInputSelector:".offcanvas-cookie-parent-input",customLinkSelector:'[href="'.concat(window.router["frontend.cookie.offcanvas"],'"]'),entriesActiveClass:"offcanvas-cookie-entries--active",entriesClass:"offcanvas-cookie-entries",groupClass:"offcanvas-cookie-group",parentInputClass:"offcanvas-cookie-parent-input"};class v{disableAction(){this.actionEnabled=!1}trigger(){let e=this.getActions();window.PluginManager.getPluginInstances(this.getPluginName()).forEach(t=>{Object.keys(e).forEach(i=>{t.$emitter.subscribe(i,e[i])})})}getActions(){}getPluginName(){}constructor(){this.actionEnabled=!0}}class y{static setEntry(e,t,i){sessionStorage.setItem(this.cleanString(e)+t,i),localStorage.setItem(this.cleanString(e)+t,i)}static getEntry(e,t){let i=sessionStorage.getItem(this.cleanString(e)+t);return i?i:localStorage.getItem(this.cleanString(e)+t)||null}static setEntriesIfMissing(e){e.forEach(e=>{let{entryString:t,productId:i,value:n}=e;this.getEntry(t,i)||this.setEntry(t,i,n)})}static setJsonEntry(e,t,i){sessionStorage.setItem(this.cleanString(e)+t,JSON.stringify(i)),localStorage.setItem(this.cleanString(e)+t,JSON.stringify(i)),this.getJsonEntry(this.cleanString(e),t)}static getJsonEntry(e,t){let i;if((i=sessionStorage.getItem(this.cleanString(e)+t))!==null||(i=localStorage.getItem(this.cleanString(e)+t))!==null)return JSON.parse(i);if(!window.ga4Product||!window.ga4Product[t])return console.warn("could not find information for "+t),null;{let e=JSON.parse(JSON.stringify(window.ga4Product[t]));return e.extra&&delete e.extra,e}}static getOrigin(e){let t;let i={id:"",name:"",index:0};if(window.ga4Product[e]){let{itemListId:n,itemListName:r,itemListIndex:s,extra:a}=window.ga4Product[e];(t=this.getJsonEntry("ga4item_",a.parentId))!==null?(i.id=t.itemListId,i.name=t.itemListName,i.index=t.itemListIndex):(i.id=n,i.name=r,i.index=s)}else(t=this.getJsonEntry("ga4item_",e))!==null&&(i.id=t.itemListId,i.name=t.itemListName,i.index=t.itemListIndex);return i}static cleanString(e){let t="";for(let i=0;i<e.length;i++)127>=e.charCodeAt(i)&&(t+=e.charAt(i));return t}}class C{static lineItemsContainer(){let e=document.querySelector(".discoga4-checkout-hidden-line-items-information");return e||((e||(e=document.querySelector(".discoga4-header-hidden-line-items-information")),e)?(console.info("discoga4-checkout-hidden-line-items-information was not found, using discoga4-header-hidden-line-items-information"),e):(e||(e=document.querySelector(".hidden-line-items-information")),e)?(console.info("discoga4-header-hidden-line-items-information was not found, using hidden-line-items-information"),e):e?void 0:(console.warn("no hidden-line-items-information found - returning empty array "),[]))}static getItemsFromStorage(e){if(!e)return[];let t=e.querySelectorAll(".hidden-line-item"),i=[];
1return t.forEach(e=>{let t=parseFloat(e.dataset.price);if(t>=0){let n=parseInt(e.dataset.quantity,10),r=e.dataset.id,s=e.dataset.sku,a=y.getEntry("productId_",s),o=y.getJsonEntry("ga4item_",a);if(o||(o=y.getJsonEntry("ga4item_",r)),o&&t>0){let e=t,r=!1;window.ga4gpCoupon&&(y.getEntry("item_startPrice_"+a)&&(e=parseFloat(y.getEntry("item_startPrice_"+a))),r=e-t>0);let{item_id:s,item_name:c,price:l,coupon:d,discount:u,index:g,item_brand:h,item_category:m,item_list_name:p,item_category2:f,item_category3:_,item_category4:v,item_category5:C,item_variant:w,item_list_id:S}=o;l=parseFloat(l),i.push({item_id:s,item_name:c,affiliation:window.ga4affiliation,coupon:r?"Graduated Price":d,discount:r?Math.round((l-t)*100)/100:Math.round(100*u)/100,index:g,item_brand:h,item_category:m,item_category2:f||void 0,item_category3:_||void 0,item_category4:v||void 0,item_category5:C||void 0,item_list_id:S,item_list_name:p,item_variant:w,price:r?l:t,quantity:n})}}}),i}static getAdsItemsFromStorage(){let e=this.lineItemsContainer();if(!e)return;let t=e.querySelectorAll(".hidden-line-item"),i=[];return t.forEach(e=>{if(parseFloat(e.dataset.price)>=0){let t,n=parseInt(e.dataset.quantity,10),r=e.dataset.sku,s=e.dataset.id,a=y.getEntry("productId_",r),o=y.getJsonEntry("ga4item_",a);o||(o=y.getJsonEntry("ga4item_",s),a=e.dataset.id);let c=e.dataset.price,l=0;(t=y.getEntry("taxRate_"+a))!==null&&window.adsValueNetto&&(l=Math.round(100*(l=c*parseFloat(t)/100))/100),o&&i.push({id:o.item_id,quantity:n,price:Math.round((c-l)*100)/100})}}),i}static getCoupon(e){if(!e)return[];let t=e.querySelectorAll(".hidden-line-item"),i="",n=0;return t.forEach(e=>{let t=e.dataset.price;0>parseFloat(t)&&(n=Math.round((n+Math.abs(parseFloat(t)))*100)/100,i=i+","+e.dataset.name)}),{coupon:i.replace(/^,+|,+$/g,"").replace(/^\s+|\s+$/gm,""),discount:n,code:i&&n&&localStorage.getItem("couponCode")?localStorage.getItem("couponCode"):void 0}}}class w{static getUAValueFromHeader(e,t){let i,n,r=0,s=0;if(window.ga4Product&&window.ga4Product[e]){let t=window.ga4Product[e].extra;r=parseFloat(t.cheapest),window.adsValueNetto&&(s=Math.round(100*(s=r*parseFloat(t.taxRate)/100))/100)}else(i=y.getJsonEntry("ga4item_",e))!==null&&(r=this.getSinglePriceFromJsonEntry(i),window.adsValueNetto&&(n=y.getEntry("taxRate_"+e))!==null&&(s=Math.round(100*(s=r*parseFloat(n)/100))/100));return Math.round((r-s)*100)/100*t}static getValueFromHeader(e,t){let i,n=!(arguments.length>2)||void 0===arguments[2]||arguments[2],r=0;return window.ga4Product&&window.ga4Product[e]?r=parseFloat(window.ga4Product[e].extra.cheapest):(i=y.getJsonEntry("ga4item_",e))!==null&&(r=this.getSinglePriceFromJsonEntry(i,n)),r*t}static getFormUAItemFromHeader(e){let t,i="";return window.ga4Product&&window.ga4Product[e]?i=window.ga4Product[e].item_id:(t=y.getJsonEntry("ga4item_",e))!==null&&(i=t.item_id),{id:i,google_business_vertical:"retail"}}static getProductFromHeader(e,t){let i,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"",s=arguments.length>4&&void 0!==arguments[4]?arguments[4]:"",a=arguments.length>5&&void 0!==arguments[5]&&arguments[5],o=!(arguments.length>6)||void 0===arguments[6]||arguments[6],{item_id:c,item_name:l,item_variant:d,item_brand:u,item_category:g,item_category2:h,item_category3:m,item_category4:p,item_category5:f,extra:_}=window.ga4Product[e],v=+_.realPrice,C=+_.cheapest,w=_.parentId,S=0;return a&&y.setEntriesIfMissing([{entryString:"ga4_item_list_index_",productId:e,value:n},{entryString:"ga4_item_list_id",productId:e,value:r},{entryString:"ga4_item_list_name",productId:e,value:s},{entryString:"ga4_parent_id_",productId:e,value:w}]),o&&(w&&y.getEntry("ga4_item_list_index_",w)?(n=parseInt(y.getEntry("ga4_item_list_index_",w),10),r=y.getEntry("ga4_item_list_id",w)?y.getEntry("ga4_item_list_id",w):r,s=y.getEntry("ga4_item_list_name",w)?y.getEntry("ga4_item_list_name",w):s):c&&y.getEntry("ga4_item_list_index_",c)?(n=y.getEntry("ga4_item_list_index_",c)?parseInt(y.getEntry("ga4_item_list_index_",c),10):n,r=y.getEntry("ga4_item_list_id",c)?y.getEntry("ga4_item_list_id",c):r,s=y.getEntry("ga4_item_list_name",c)?y.getEntry("ga4_item_list_name",c):s):(n=y.getEntry("ga4_item_list_index_",e)?parseInt(y.getEntry("ga4_item_list_index_",e),10):n,r=y.getEntry("ga4_item_list_id",e)?y.getEntry("ga4_item_list_id",e):r,s=y.getEntry("ga4_item_list_name",e)?y.getEntry("ga4_item_list_name",e):s)),window.ga4upCoupon&&(S=Math.round((v-C)*100)/100)>0&&(i="List price"),{item_id:c,item_name:l,affiliation:window.ga4affiliation,coupon:i,discount:S,index:n,item_brand:u,item_category:g,item_category2:h||void 0,item_category3:m||void 0,item_category4:p||void 0,item_category5:f||void 0,item_list_id:r,item_list_name:s,item_variant:d,price:C,quantity:t}}static getSinglePriceFromJsonEntry(e){let t=!(arguments.length>1)||void 0===arguments[1]||arguments[1],i=parseFloat(e.discount);return(isNaN(i)&&(i=0),t)?Math.round((parseFloat(e.price)-i)*100)/100:Math.round(100*parseFloat(e.price))/100}}class S{static getItems(e,t,i,n){let r=e.querySelectorAll(".product-box"),s=[],a=0,o=0,c=1;
1return r.forEach(e=>{if(!0===e.parentElement.classList.contains("product-slider-item")&&!1===e.parentElement.classList.contains("tns-slide-active"))return;let r=e.querySelector("input[name=product-id]").value;if(r&&window.ga4Product&&window.ga4Product[r]){let l="lineItems["+r+"][quantity]";c=1,e.querySelector('input[name="'.concat(l,'"]'))&&(c=parseInt(e.querySelector('input[name="'.concat(l,'"]')).value,10)),n?(a+=parseFloat(w.getUAValueFromHeader(r,c)),s.push(w.getFormUAItemFromHeader(r))):s.push(w.getProductFromHeader(r,c,o,t,i,!1,!0)),window.ga4Product[r].itemListIndex=o,window.ga4Product[r].itemListId=t,window.ga4Product[r].itemListName=i,o++}}),n&&s.push(Math.round(100*a)/100),s}}let b={CA:1,US:1,KZ:7,RU:7,EG:20,ZA:27,GR:30,NL:31,BE:32,FR:33,ES:34,HU:36,IT:39,RO:40,CH:41,AT:43,GB:44,DK:45,SE:46,NO:47,SJ:47,PL:48,DE:49,PE:51,MX:52,CU:53,AR:54,BR:55,CL:56,CO:57,VE:58,MY:60,AU:61,CX:61,CC:61,ID:62,PH:63,NZ:64,PN:64,SG:65,TH:66,JP:81,KR:82,VN:84,CN:86,TR:90,IN:91,PK:92,AF:93,LK:94,MM:95,IR:98,SS:211,MA:212,EH:212,DZ:213,TN:216,LY:218,GM:220,SN:221,MR:222,ML:223,GN:224,CI:225,BF:226,NE:227,TG:228,BJ:229,MU:230,LR:231,SL:232,GH:233,NG:234,TD:235,CF:236,CM:237,CV:238,ST:239,GQ:240,GA:241,CG:242,CD:243,AO:244,GW:245,IO:246,SC:248,SD:249,RW:250,ET:251,SO:252,DJ:253,KE:254,TZ:255,UG:256,BI:257,MZ:258,ZM:260,MG:261,YT:262,RE:262,ZW:263,NA:264,MW:265,LS:266,BW:267,SZ:268,KM:269,SH:290,ER:291,AW:297,FO:298,GL:299,GI:350,PT:351,LU:352,IE:353,IS:354,AL:355,MT:356,CY:357,FI:358,BG:359,LT:370,LV:371,EE:372,MD:373,AM:374,BY:375,AD:376,MC:377,SM:378,VA:379,UA:380,RS:381,ME:382,XK:383,HR:385,SI:386,BA:387,MK:389,CZ:420,SK:421,LI:423,FK:500,BZ:501,GT:502,SV:503,HN:504,NI:505,CR:506,PA:507,PM:508,HT:509,BL:590,MF:590,BO:591,GY:592,EC:593,PY:595,SR:597,UY:598,CW:599,AN:599,TL:670,AQ:672,BN:673,NR:674,PG:675,TO:676,SB:677,VU:678,FJ:679,PW:680,WF:681,CK:682,NU:683,WS:685,KI:686,NC:687,TV:688,PF:689,TK:690,FM:691,MH:692,KP:850,HK:852,MO:853,KH:855,LA:856,BD:880,TW:886,MV:960,LB:961,JO:962,SY:963,IQ:964,KW:965,SA:966,YE:967,OM:968,PS:970,AE:971,IL:972,BH:973,QA:974,BT:975,MN:976,NP:977,TJ:992,TM:993,AZ:994,GE:995,KG:996,UZ:998,BS:"1-242",BB:"1-246",AI:"1-264",AG:"1-268",VG:"1-284",VI:"1-340",KY:"1-345",BM:"1-441",GD:"1-473",TC:"1-649",MS:"1-664",MP:"1-670",GU:"1-671",AS:"1-684",SX:"1-721",LC:"1-758",DM:"1-767",VC:"1-784",TT:"1-868",KN:"1-869",JM:"1-876",GG:"44-1481",JE:"44-1534",IM:"44-1624",PR:["1-787","1-939"],DO:["1-809","1-829","1-849"]};class E{static getPhone(e,t){if(!e)return;let i=e.trim();if(i.startsWith("+"))return i;i=i.replace(/[^1-9]+|0+/g,"");let n=this.getPhonePrefixByCountryCode(t);return"+".concat(n).concat(i)}static getPhonePrefixByCountryCode(e){let t=b[e];return t||(t="",console.error("Phone prefix not found for country code '".concat(e,"'"))),Array.isArray(t)&&(t=t[0]),t}}class A extends v{getPluginName(){return"AddToCart"}getActions(){return{beforeFormSubmit:this._beforeFormSubmit.bind(this)}}_beforeFormSubmit(e){if(!this.actionEnabled)return;let t=e.detail,i=null;if(t.forEach((e,t)=>{t.endsWith("][id]")&&(i=e)}),!i)return;let n=parseInt(t.get("lineItems["+i+"][quantity]"),10);n||(n=1),I.addToCartFromHeader(i,n,!1,!0,!0)}}class I{static viewItemListAfterChange(e){let t=document.querySelectorAll(".discoga4-pagination-hidden-line-item");new A().trigger(),t&&(window.ga4Product=window.ga4Product||{},t.forEach(e=>{let t=e.getAttribute("data-id");window.ga4Product[t]={currency:e.getAttribute("data-currency"),item_brand:e.getAttribute("data-item_brand"),item_name:e.getAttribute("data-item_name"),item_id:e.getAttribute("data-item_id"),item_list_id:e.getAttribute("data-item_list_id"),item_list_name:e.getAttribute("data-item_list_name"),item_variant:e.getAttribute("data-item_variant"),extra:{minPurchase:e.getAttribute("data-min-purchase"),shopware_id:t,realPrice:e.getAttribute("data-real-price"),item_startPrice:e.getAttribute("data-item_start_price"),item_hasGraduatedPrice:e.getAttribute("data-item_hasGraduatedPrice"),taxRate:e.getAttribute("data-tax-rate"),cheapest:e.getAttribute("data-cheapest"),parentId:e.getAttribute("data-parentId")}};let i=e.getAttribute("data-item_category").split("|");for(let e=0;e<i.length;e++)0===e?window.ga4Product[t].item_category=i[e]:window.ga4Product[t]["item_category"+e.toString()]=i[e]}),I.viewItemList(e))}static addToCartFromHeader(e,t,i,n,r){let s={event:"add_to_cart"};i&&(s.event="remove_from_cart",n=!1);let a=parseFloat(w.getUAValueFromHeader(e,t)),o=parseFloat(w.getValueFromHeader(e,t,!1)),c=w.getFormUAItemFromHeader(e),{ga4AdvancedConsentMode:l,acceptedGa:d,googleAnalyticsEnabled:u,ga4Currency:g,ga4Product:h,acceptedGads:m,googleAdsEnabled:p,ga4RemarketingEnabled:f}=window;if((l||d)&&u){let i;if(dataLayer.push({ecommerce:null}),h&&h[e]){let{itemListIndex:s,itemListId:a,itemListName:o,item_id:c,extra:l}=h[e];i=w.getProductFromHeader(e,t,s,a,o,n,r),y.setJsonEntry("ga4item_",e,i),y.setEntriesIfMissing([{entryString:"item_startPrice_",productId:e,value:l.item_startPrice}
1,{entryString:"taxRate_",productId:e,value:l.taxRate},{entryString:"productId_",productId:c,value:e},{entryString:"SKU_",productId:e,value:c}])}(i=y.getJsonEntry("ga4item_",e))!==null&&(i.quantity=t,i.discount=Math.round(100*i.discount)/100),s.ecommerce={currency:g,value:parseFloat(o.toFixed(2)),items:[i]}}(l||m)&&p&&f&&(dataLayer.push({items:null}),s.value=parseFloat(a.toFixed(2)),s.items=[c]),dataLayer.disPush(s)}static viewItemList(e,t){let i,n,r,s;let{ga4activeNavigationId:a,searchTerm:o,ga4AdvancedConsentMode:c,acceptedGa:l,googleAnalyticsEnabled:d,acceptedGads:u,googleAdsEnabled:g,ga4RemarketingEnabled:h}=window;if("category"===e?(i=document.querySelector(".cms-element-product-listing"),n=a||"",r=document.title):"search"===e?(i=document.querySelector(".cms-element-product-listing-wrapper"),n="search="+o,r="search"):"productCrossSelling"===e?(i=t,n=t.getAttribute("aria-labelledby"),r=document.querySelector("#"+n).innerText):(n=(i=t).getAttribute("data-cms-element-id"),r=e.toString()),!i)return;let m={event:"view_item_list"};(c||l)&&d&&(dataLayer.push({ecommerce:null}),m.ecommerce={item_list_id:n,item_list_name:r,items:S.getItems(i,n,r,!1)});let p=0;(s=S.getItems(i,n,r,!0))&&(p=s.pop(),(c||u)&&g&&h&&(dataLayer.push({items:null}),m.value=parseFloat(p.toFixed(2)),m.items=s)),"search"===e&&this.viewSearchResults(s,p),dataLayer.disPush(m)}static viewItemFromHeader(e,t){if(!e)return;let{ga4Product:i,ga4Currency:n,ga4AdvancedConsentMode:r,acceptedGa:s,googleAnalyticsEnabled:a,acceptedGads:o,googleAdsEnabled:c,ga4RemarketingEnabled:l}=window,d=w.getUAValueFromHeader(e,t),u=w.getValueFromHeader(e,t);i[e].itemListIndex=0,i[e].itemListId="product",i[e].itemListName="product";let g={event:"view_item"};(r||s)&&a&&(dataLayer.push({ecommerce:null}),g.ecommerce={currency:n,value:parseFloat(u.toFixed(2)),items:[w.getProductFromHeader(e,t,0,"product","product",!1,!0)]}),(r||o)&&c&&l&&(dataLayer.push({items:null}),g.value=parseFloat(d.toFixed(2)),g.items=[w.getFormUAItemFromHeader(e)]);let h=w.getProductFromHeader(e,t,0,"product","product");y.setJsonEntry("ga4item_",e,h),dataLayer.disPush(g)}static shoppingJourney(e,t,i,n,r,s){t&&e&&(dataLayer.push({ecommerce:null,value:null,items:null}),"string"==typeof i&&"number"==typeof n?dataLayer.disPush({event:e,ecommerce:{currency:i,value:parseFloat(n.toFixed(2)),items:t}}):"string"==typeof r&&"string"==typeof s?dataLayer.disPush({event:e,ecommerce:{item_list_id:r,item_list_name:s,items:t}}):dataLayer.disPush({event:e,ecommerce:{items:t}}))}static shippingInfo(e,t){e&&t&&(dataLayer.push({ecommerce:null,value:null,items:null}),dataLayer.disPush({event:"add_shipping_info",ecommerce:{currency:window.ga4Currency,value:parseFloat(e.dataset.value),coupon:C.getCoupon(e).coupon,shipping_tier:t.toString(),items:C.getItemsFromStorage(e)}}))}static paymentInfo(e,t){e&&t&&(dataLayer.push({ecommerce:null,value:null,items:null}),dataLayer.disPush({event:"add_payment_info",ecommerce:{currency:window.ga4Currency,value:parseFloat(e.dataset.value),coupon:C.getCoupon(e).coupon,payment_type:t.toString(),items:C.getItemsFromStorage(e)}}))}static async purchase(e,t,i){let n={event:"purchase"},{ga4Currency:r,ga4AdvancedConsentMode:s,acceptedGa:a,googleAnalyticsEnabled:o,acceptedGads:c,googleAdsEnabled:l,ga4RemarketingEnabled:d,ga4AdvancedAdsEnabled:u}=window;if((s||a)&&o&&e&&i&&(dataLayer.push({ecommerce:null}),n.ecommerce=this.checkoutContent(e,i),n.coupon_code=C.getCoupon(e).code),(s||c)&&l&&t&&(n.value=this.getTotalAdsValue(e.dataset.value,e.dataset.tax,n.ecommerce.shipping),n.transaction_id=i,n.currency=r,n.discount=parseFloat(C.getCoupon(e).discount),n.aw_feed_country=t.dataset.feedcountry,n.aw_feed_language=t.dataset.feedlangage,(d||u)&&(dataLayer.push({items:null}),n.items=C.getAdsItemsFromStorage()),u)){n.email=await this.sha256(t.dataset.useremail),n.phone_number=await this.sha256(E.getPhone(t.dataset.phone,t.dataset.land));let e={};e.first_name=await this.sha256(t.dataset.firstname),e.last_name=await this.sha256(t.dataset.lastname),e.street=t.dataset.street,e.city=t.dataset.city,e.region=t.dataset.region,e.postal_code=t.dataset.z
1ip,e.country=t.dataset.land,n.address=e}dataLayer.disPush(n)}static viewCart(e){dataLayer.push({ecommerce:null,value:null,items:null}),dataLayer.disPush({event:"view_cart",ecommerce:this.cartContent(e),coupon_code:C.getCoupon(e).code})}static beginCheckout(e){dataLayer.push({ecommerce:null,value:null,items:null}),dataLayer.disPush({event:"begin_checkout",ecommerce:{currency:window.ga4Currency,value:parseFloat(e.dataset.value),coupon:C.getCoupon(e).coupon,items:C.getItemsFromStorage(e)}})}static account(e,t){dataLayer.disPush({event:e,method:t})}static viewSearchResults(e,t){let i={event:"view_search_results"};dataLayer.push({ecommerce:null});let{searchTerm:n,searchResult:r,ga4AdvancedConsentMode:s,acceptedGads:a,googleAdsEnabled:o,ga4RemarketingEnabled:c}=window;i.search_term=n,i.search_result=0,r&&(i.search_result=parseInt(r,10)),(s||a)&&o&&c&&t&&e&&(dataLayer.push({items:null}),i.value=parseFloat(t),i.items=e),dataLayer.disPush(i)}static changeQtyNumber(e){let t,i,n;let r=e.target;if(!r)return;let s=r.getAttribute("value")-r.value;if(r.closest(".cart-item"))t=r.closest(".cart-item").querySelector(".cart-item-remove-button");else{if(!r.closest(".line-item"))return;t=r.closest(".line-item").querySelector(".line-item-remove-button")}if((i=document.querySelector('.discoga4-checkout-hidden-line-item[data-id="'.concat(t.getAttribute("data-product-id"),'"]')))!=null){let e=i.getAttribute("data-sku");n=y.getEntry("productId_",e)}n&&this.addToCartFromHeader(n,Math.abs(s),s>0,!1,!1)}static changeQty(e){let t,i,n;let r=e.target,s=r.querySelector('[selected="selected"]').value-r.value;if(r.closest(".cart-item"))t=r.closest(".cart-item").querySelector(".cart-item-remove-button");else{if(!r.closest(".line-item"))return;t=r.closest(".line-item").querySelector(".line-item-remove-button")}if((i=document.querySelector('.discoga4-checkout-hidden-line-item[data-id="'.concat(t.getAttribute("data-product-id"),'"]')))!=null){let e=i.getAttribute("data-sku");n=y.getEntry("productId_",e)}n&&this.addToCartFromHeader(n,Math.abs(s),s>0,!1,!1)}static searchSuggested(e,t){dataLayer.push({ecommerce:null}),dataLayer.disPush({event:"search",search_term:e,search_result:parseInt(t,10)})}static search(){if(window.searchResult){dataLayer.push({ecommerce:null}),dataLayer.disPush({event:"search",search_term:window.searchTerm,search_result:parseInt(window.searchResult,10)});return}dataLayer.push({ecommerce:null}),dataLayer.disPush({event:"search",search_term:window.searchTerm})}static addCoupon(e){dataLayer.push({ecommerce:null}),dataLayer.disPush({event:"add_coupon_code",coupon_code:e})}static forms(e){dataLayer.push({ecommerce:null,value:null,items:null}),dataLayer.disPush({event:e,currency:window.ga4Currency,value:parseFloat(window.generateLeadValue)})}static cartContent(e){return{currency:window.ga4Currency,value:parseFloat(e.dataset.value),coupon:C.getCoupon(e).coupon,items:C.getItemsFromStorage(e)}}static checkoutContent(e,t){return{transaction_id:t,value:parseFloat(e.dataset.value),tax:parseFloat(e.dataset.tax),shipping:parseFloat(e.dataset.shipping),currency:window.ga4Currency,coupon:C.getCoupon(e).coupon,items:C.getItemsFromStorage(e)}}static async sha256(e){if(!e)return;let t=e.trim();if(!t)return;let i=new TextEncoder("utf-8").encode(t.toLowerCase()),n=await crypto.subtle.digest("SHA-256",i);return this.hex(n)}static hex(e){let t="",i=new DataView(e);for(let e=0;e<i.byteLength;e+=4){let n=i.getUint32(e).toString(16),r="00000000";t+=(r+n).slice(-r.length)}return t}static replaceEmptyStringsWithUndefined(e){if("object"!=typeof e||null===e)return e;if(Array.isArray(e)){for(let t=0;t<e.length;t++)"object"==typeof e[t]&&null!==e[t]?this.replaceEmptyStringsWithUndefined(e[t]):""===e[t]&&(e[t]=void 0);return e}for(let t in e)if(e.hasOwnProperty(t)){let i=e[t];"object"==typeof i&&null!==i?this.replaceEmptyStringsWithUndefined(i):""===i&&(e[t]=void 0)}return e}static getTotalAdsValue(e,t,i){let n=parseFloat(e)-parseFloat(i),r=this.calculateShipping(i,this.getGlobalPurchaseTaxState());switch(!0){case!1===window.adsValueNetto&&!0===window.adsWithShipping:n+=parseFloat(r);break;case!0===window.adsValueNetto&&!0===window.adsWithShipping:n=n-parseFloat(t)+parseFloat(r);break;case!0===window.adsValueNetto&&!1===window.adsWithShipping:n-=parseFloat(t)}return Math.round(100*n)/100}static calculateShipping(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"net",i=sessionStorage.getItem("ga4_shipping_price");return i?t?(i=JSON.parse(i))[t]:e:0}static getGlobalPurchaseTaxState(){let e=sessionStorage.getItem("ga4_shipping_price");if(!e)return"gross";let{globalTaxState:t}=JSON.parse(e);return t}}class k extends v{getPluginName(){return"OffCanvasCart"}getActions(){return{offCanvasOpened:this._sidebarOpened.bind(this)}}_sidebarOpened(){if(!this.actionEnabled)return;this._triggerViewCart();let e=document.querySelector(".begin-checkout-btn");e&&e.addEventListener("click",this._onBeginCheckoutSidebar.bind(this));let t=document.querySelectorAll(".js-offcanvas-cart-change-quantity");
1t&&t.forEach(e=>e.addEventListener("change",this._onChangeProductQuantity.bind(this)));let i=document.querySelectorAll(".js-offcanvas-cart-change-quantity-number");i&&i.forEach(e=>e.addEventListener("change",this._onChangeProductQuantityNumber.bind(this)));let n=document.querySelector(".offcanvas-cart-promotion-form");n&&n.addEventListener("submit",this._onAddPromotionOffcanvasCart.bind(this))}_onAddPromotionOffcanvasCart(){if(document.getElementById("addPromotionOffcanvasCartInput")&&document.getElementById("addPromotionOffcanvasCartInput").value){let e=document.getElementById("addPromotionOffcanvasCartInput").value;I.addCoupon(e),localStorage.setItem("couponCode",e)}}_onChangeProductQuantity(e){I.changeQty(e)}_onChangeProductQuantityNumber(e){I.changeQtyNumber(e)}_onBeginCheckoutSidebar(){let e=C.lineItemsContainer();e&&I.beginCheckout(e)}_triggerViewCart(){let e=C.lineItemsContainer();e&&I.viewCart(e)}}class L{disableAction(){this.actionEnabled=!1}trigger(){}constructor(){this.actionEnabled=!0}}class P extends L{trigger(){this._triggerViewCart();let e=document.querySelector(".begin-checkout-btn");e&&e.addEventListener("click",this._onBeginCheckoutPage.bind(this));let t=document.querySelector(".cart-add-product");t&&t.addEventListener("submit",this._addProduct.bind(this));let i=document.querySelectorAll(".quantity-select");i&&i.forEach(e=>e.addEventListener("change",this._onChangeProductQuantity.bind(this)));let n=document.querySelectorAll(".js-quantity-selector");n&&n.forEach(e=>e.addEventListener("change",this._onChangeProductQuantityNumber.bind(this)));let r=document.querySelector(".cart-add-promotion");r&&r.addEventListener("submit",this._onAddPromotion.bind(this))}_onAddPromotion(){if(document.getElementById("addPromotionInput")&&document.getElementById("addPromotionInput").value){let e=document.getElementById("addPromotionInput").value;I.addCoupon(e),localStorage.setItem("couponCode",e)}}_addProduct(e){if(!this.actionEnabled)return;let t=e.currentTarget.querySelector(".form-control");I.shoppingJourney("add_to_cart",[{item_id:t.value,quantity:1,affiliation:window.ga4affiliation,item_list_id:"checkout",item_list_name:"checkout"}])}_triggerViewCart(){if(!this.actionEnabled)return;let e=C.lineItemsContainer();e&&I.viewCart(e)}_onBeginCheckoutPage(){if(!this.actionEnabled)return;let e=C.lineItemsContainer();e&&I.beginCheckout(e)}_onChangeProductQuantity(e){I.changeQty(e)}_onChangeProductQuantityNumber(e){I.changeQtyNumber(e)}}class F extends L{trigger(){if(localStorage.getItem("purchaseSent")&&localStorage.getItem("purchaseSent")===new URLSearchParams(window.location.search).get("orderId"))return;let e=C.lineItemsContainer();this._finish(e)}async _finish(e){if(!this.actionEnabled)return;localStorage.getItem("paymentSelected")&&"yes"===localStorage.getItem("paymentSelected")?console.info("paymentInfo sent in previous page"):window.ga4PaymentMethod&&I.paymentInfo(e,window.ga4PaymentMethod),localStorage.getItem("shippingSelected")&&"yes"===localStorage.getItem("shippingSelected")?console.info("shippingInfo sent in previous page"):window.ga4ShippingMethod&&I.shippingInfo(e,window.ga4ShippingMethod);let t=document.querySelector(".ga4-hidden-ads-information");if(window.ga4OrderNumber){let i=window.ga4OrderNumber.toString();"hashedOrderId"===window.transationIdMethod&&(i=await I.sha256(window.ga4OrderNumber.toString())),I.purchase(e,t,i),localStorage.setItem("purchaseSent",new URLSearchParams(window.location.search).get("orderId")),localStorage.removeItem("paymentSelected"),localStorage.removeItem("shippingSelected"),localStorage.removeItem("couponCode")}}}class O extends L{trigger(){this._triggerViewItem()}_triggerViewItem(){if(!this.actionEnabled)return;let e=document.getElementById("productDetailPageBuyProductForm");if(!e)return;let t=e.querySelector('input[name$="][id]"]').value;t&&t&&I.viewItemFromHeader(t,1)}}class q extends L{trigger(){this._triggerViewItemList(),document.querySelector(".cms-element-product-listing-wrapper")&&this._documentObserver(".cms-element-product-listing-wrapper")}_triggerViewItemList(){this.actionEnabled&&I.viewItemList("category")}_documentObserver(e){let t=document.querySelector(e),i=!1;new MutationObserver(function(e){e.forEach(function(e){"childList"===e.type&&(i=!0)}),i&&setTimeout(function(){I.viewItemListAfterChange("category")},1e3)}).observe(t,{subtree:!0,childList:!0})}}class T extends L{trigger(){let e=document.querySelectorAll(".cms-section");e&&T._nodeDeletedObserver(e),this._documentObserver()}_documentObserver(){let e=new MutationObserver(function(t){t.forEach(function(t){t.addedNodes.forEac
1h(function(t){t.hasChildNodes()&&t.querySelector(".cms-element-form")&&(T._nodeDeletedObserver([t]),e.disconnect())})})});e.observe(document.body,{subtree:!0,childList:!0})}static _nodeDeletedObserver(e){let t=new MutationObserver(function(e){e.forEach(function(e){e.removedNodes.forEach(function(e){e.hasChildNodes()&&e.querySelector(".cms-element-form")&&(I.forms("generate_lead"),t.disconnect())})})});e.forEach(e=>{e.querySelector(".cms-element-form")&&t.observe(e,{subtree:!0,childList:!0})})}}class M extends L{trigger(){document.addEventListener("click",this._onClick.bind(this))}_onClick(e){if(this.actionEnabled)switch(this.closestForm=e.target.closest("form.buy-widget"),!0){case!this.closestForm&&(this.closestWishList=e.target.closest(".product-wishlist"))!=null:this._onAddToWishList(this.closestWishList);break;case!this.closestForm&&(this.closestSearchSuggestItem=e.target.closest(".search-suggest-product-link"))!=null:this._onSelectItemFromSearchSuggest(this.closestSearchSuggestItem);break;case!this.closestForm&&(this.closestProduct=e.target.closest(".product-box"))!=null:this._onSelectItemFromListing(this.closestProduct);break;case!this.closestForm&&(this.closestRemoveItem=e.target.closest(".cart-item-remove-button"))!=null:case!this.closestForm&&(this.closestRemoveItem=e.target.closest(".line-item-remove-button"))!=null:this._onRemoveFromCart(this.closestRemoveItem);break;case!this.closestForm&&(this.closestCartItem=e.target.closest(".cart-item-img"))!=null:case!this.closestForm&&(this.closestCartItem=e.target.closest(".cart-item-label"))!=null:case!this.closestForm&&(this.closestCartItem=e.target.closest(".line-item-img"))!=null:case!this.closestForm&&(this.closestCartItem=e.target.closest(".line-item-label"))!=null:this._onSelectItemFromCart(this.closestCartItem)}}_onAddToWishList(e){let t,i,n,r;if(!e.closest(".product-wishlist").querySelector(".product-wishlist-not-added")){switch(!0){case(i=e.closest(".line-item-product"))!=null:if((n=i.querySelector(".line-item-remove-button"))!=null&&(r=document.querySelector('.discoga4-checkout-hidden-line-item[data-id="'.concat(n.getAttribute("data-product-id"),'"]')))!=null){let e=r.getAttribute("data-sku");t=y.getEntry("productId_",e)}break;case(i=e.closest(".cart-item-product"))!=null:if((n=i.querySelector(".cart-item-remove-button"))!=null&&(r=document.querySelector('.discoga4-checkout-hidden-line-item[data-id="'.concat(n.getAttribute("data-product-id"),'"]')))!=null){let e=r.getAttribute("data-sku");t=y.getEntry("productId_",e)}break;case(i=e.closest(".product-box"))!=null:(n=i.querySelector("input[name=product-id]"))!=null&&(t=n.value);break;case(i=e.closest(".product-detail-buy"))!=null:(n=i.querySelector('input[name$="][id]"]'))!=null&&(t=n.value);break;default:console.warn("no fitting item for wishlist event")}if(t){let e;if((e=y.getJsonEntry("ga4item_",t))!==null)e.discount=Math.round(100*e.discount)/100,I.shoppingJourney("add_to_wishlist",[e],window.ga4Currency,w.getValueFromHeader(t,1));else if(window.ga4Product[t]){let e=y.getOrigin(t);I.shoppingJourney("add_to_wishlist",[w.getProductFromHeader(t,1,e.index,e.id,e.name,!0,!0)],window.ga4Currency,w.getValueFromHeader(t,1))}else console.warn("productId not found in page nor storage")}}}_onSelectItemFromListing(e){if(e.closest(".product-action"))return;let t=e.closest(".product-box");if(!t)return;let i=t.querySelector("input[name=product-id]").value;if(i){let e=y.getOrigin(i);I.shoppingJourney("select_item",[w.getProductFromHeader(i,1,e.index,e.id,e.name,!0,!0)],!1,!1,e.id,e.name)}}_onSelectItemFromSearchSuggest(e){let t=0,i=e.closest("li"),n=Array.from(e.closest("ul").children);if(null!==i&&null!==n&&(t=n.indexOf(i)),!window.ga4SearchSuggestProduct||!window.ga4SearchSuggestProduct[t]){console.warn("ga4SearchSuggestProduct not found in window object for index: "+t+" - Sending minimal info...");let i=e.getAttribute("href"),n=e.getAttribute("title"),r=i.split("/").slice(-1)[0];y.setEntriesIfMissing([{entryString:"ga4_item_list_index_",productId:r,value:t},{entryString:"ga4_item_list_id",productId:r,value:"search_suggest"},{entryString:"ga4_item_list_name",productId:r,value:"search_suggest"}]),I.shoppingJourney("select_item",[{item_id:r,item_name:n}],!1,!1,"search_suggest","search_suggest");return}let r=JSON.parse(JSON.stringify(window.ga4SearchSuggestProduct[t]));if(!r)return;let{item_id:s,itemListId:a,itemListName:o}=r;y.setEntriesIfMissing([{entryString:"ga4_item_list_index_",productId:s,value:t},{entryString:"ga4_item_list_id",productId:s,value:a},{entryString:"ga4_item_list_name",productId:s,value:o}]),I.shoppingJourney("select_item",[r],!1,!1,a,o)}_onSelectItemFromCart(e){let t;if(e.closest(".cart-quantity-price"))return;let i=e.closest(".cart-item-row")?e.closest(".cart-item-row"):e.closest(".line-item");if(!i){console.warn("cart-item-row or line-item not found");return}let n=i.querySelector(".cart-item-remove-button")?i.querySelector(".cart-item-remove-button"):i.querySelector(".line-item-remove-button");if(!n){console.warn("cart-item-remove-button or line-item-remove-button not found");return}let r=n.dataset.productId?n.dataset.productId:n.dataset["product-id"];if(!r){console.warn("productId not found on page");return}if((t=y.getJsonEntry("ga4item_",r))!==null){t.discount=Math.round(100*t.discount)/100;let e=y.getEntry("ga4_item_list_id",r),i=y.getEntry("ga4_item_list_name",r);I.shoppingJourney("select_item",[t],!1,!1,e,i)}else console.warn("productId not found in storage")}_onRemoveFromCart(e){let t=e.dataset.productId;if(!t)return;let i=e.closest(".cart-item-row")?e.closest(".cart-item-row"):e.closest(".line-item-row");
1if(!i)return;let n=1;i.querySelector('[selected="selected"]')?n=i.querySelector('[selected="selected"]').value:i.querySelector(".js-offcanvas-cart-change-quantity-number")&&(n=i.querySelector(".js-offcanvas-cart-change-quantity-number").value),I.addToCartFromHeader(t,parseInt(n,10),!0,!1,!1)}}class x extends L{trigger(){let e=document.querySelectorAll(".product-slider-container");e&&e.forEach(e=>{this._onLoad(e)})}_onLoad(e){if(!this.actionEnabled)return;let t=this,i=e.closest(".tab-pane");if(i){if(i.classList.contains("active")){let e;I.viewItemList("productCrossSelling",i);let n=i.querySelectorAll(".product-slider-controls-prev,.product-slider-controls-next");i.querySelector(".product-slider-container")&&(e=i.querySelector(".product-slider-container").id),n&&e&&n.forEach(i=>i.addEventListener("click",function(){t._onClick("productCrossSelling",e)}))}this.respondToClassChange(i)}}respondToClassChange(e){let t=e.classList.contains("active");new MutationObserver(function(i){i.forEach(function(i){if("class"===i.attributeName){let n=i.target.classList.contains("active");t!==n&&(t=n,n&&I.viewItemList("productCrossSelling",e))}})}).observe(e,{attributes:!0})}_onClick(e,t){this.sleep(2e3).then(()=>{let i=document.getElementById(t);i&&I.viewItemList(e,i.closest(".tab-pane"))})}sleep(e){return new Promise(t=>setTimeout(t,e))}}class N extends L{trigger(){let e=document.querySelectorAll(".cms-block-product-slider"),t=document.querySelectorAll(".cms-block-product-three-column"),i=document.querySelectorAll(".cms-block-cross-selling");e&&this._onLoad(e,"cms-block-product-slider"),t&&this._onLoad(t,"cms-block-product-three-column"),i&&this._onLoad(i,"cms-block-cross-selling")}_onLoad(e,t){if(!this.actionEnabled)return;let i=this;e.forEach(e=>{let n=e.querySelectorAll("[data-cms-element-id]");n&&n.forEach(e=>{let n;I.viewItemList(t,e);let r=e.querySelectorAll(".product-slider-controls-prev,.product-slider-controls-next");e.querySelector(".product-slider-container")&&(n=e.querySelector(".product-slider-container").id
1),r&&n&&r.forEach(e=>e.addEventListener("click",function(){i._onClick(t,n)}))})})}_onClick(e,t){this.sleep(1e3).then(()=>{let i=document.getElementById(t);i&&I.viewItemList(e,i)})}sleep(e){return new Promise(t=>setTimeout(t,e))}}class B extends L{trigger(){this._triggerViewSearchResults(),this._triggerSearch(),document.querySelector(".cms-element-product-listing-wrapper")&&this._documentObserver(".cms-element-product-listing-wrapper")}_triggerSearch(){this.actionEnabled&&window.searchTerm&&I.search()}_triggerViewSearchResults(){this.actionEnabled&&I.viewItemList("search")}_documentObserver(e){let t=document.querySelector(e),i=!1;new MutationObserver(function(e){e.forEach(function(e){"childList"===e.type&&(i=!0)}),i&&setTimeout(function(){I.viewItemListAfterChange("search")},1e3)}).observe(t,{subtree:!0,childList:!0})}}class G extends v{getPluginName(){return"FormValidation"}getActions(){return{onFormSubmit:this._onFormSubmit.bind(this),beforeSubmit:this._onFormSubmit.bind(this)}}_onFormSubmit(e){if(!this.actionEnabled)return;let t=e.target;if(!document.getElementById("personalGuest")||document.getElementById("personalGuest")&&document.getElementById("personalGuest").checked){if(!t.classList.contains("register-form")||!e.detail.validity)return;I.account("sign_up","mail")}}}class R extends L{trigger(){let e=C.lineItemsContainer();e&&localStorage.setItem("couponCode",e.dataset.couponcode);let t=document.querySelectorAll(".quantity-select");t&&t.forEach(e=>e.addEventListener("change",this._onChangeProductQuantity.bind(this)));let i=document.querySelectorAll(".payment-method-input");i&&i.forEach(e=>e.addEventListener("change",this._onChangePayment.bind(this)));let n=document.querySelectorAll(".shipping-method-input");n&&n.forEach(e=>e.addEventListener("change",this._onChangeShipping.bind(this)))}_onChangeProductQuantity(e){I.changeQty(e)}_onChangePayment(e){let t=e.target.closest(".payment-method-radio").querySelector(".payment-method-description").querySelector("strong").innerText,i=C.lineItemsContainer();t&&I.paymentInfo(i,t),localStorage.setItem("paymentSelected","yes")}_onChangeShipping(e){let t=C.lineItemsContainer(),i=e.target.closest(".shipping-method-radio").querySelector(".shipping-method-description").querySelector("strong").innerText;i&&I.shippingInfo(t,i),localStorage.setItem("shippingSelected","yes")}}class D extends v{getPluginName(){return"SearchWidget"}getActions(){return{afterSuggest:this._afterSuggest.bind(this)}}_afterSuggest(){if(!this.actionEnabled)return;let e="";if(!document.querySelector(".header-search-input").value)return;e=document.querySelector(".header-search-input").value;let t=0;if(document.querySelector(".search-suggest-container")){let e=document.querySelector(".search-suggest-container .search-suggest-total-count");t=e?parseInt(e.textContent):document.querySelectorAll(".search-suggest-container > .search-suggest-product").length}I.searchSuggested(e.replace("/search?search=",""),t)}}class U extends e.Z{init(){let e=this;switch(this.cookieArray=["gtag","ga","gads"],this.cookieDisGoogleTag="_dis_gtag",this.cookieDisGoogleAnalytics="_dis_ga",this.cookieDisGoogleAds="_dis_gads",this.trackingEnabled=!1,this.tagManagerEnabled=!1,this.gaEventsTriggered=!1,this.gadsEventsTriggered=!1,this.cookieConfig=window.ga4CookieConfig,this.ga4AdvancedConsentMode=window.ga4AdvancedConsentMode,this.ga4ActiveConsentMode=window.ga4ActiveConsentMode,this.initializeConsent(),!0){case"standardCookies"===this.cookieConfig:e.activateIfConsent("gtag",t.getItem(this.cookieDisGoogleTag)),e.activateIfConsent("ga",t.getItem(this.cookieDisGoogleAnalytics)),e.activateIfConsent("gads",t.getItem(this.cookieDisGoogleAds)),e.updateConsent(),e.triggerCoreScript(),document.$emitter.subscribe(f,this.cookieSubscriber.bind(this));break;case"cookieBot"===this.cookieConfig:window.addEventListener("CookiebotOnConsentReady",function(){e.activateIfConsent("gtag",Cookiebot.consent.statistics),e.activateIfConsent("ga",Cookiebot.consent.statistics),e.activateIfConsent("gads",Cookiebot.consent.marketing),e.updateConsent(),e.triggerCoreScript()}),window.addEventListener("CookiebotOnDecline",function(){e.activateIfConsent("gtag",!1),e.activateIfConsent("ga",!1),e.activateIfConsent("gads",!1)});break;case"userCentrics"===this.cookieConfig:setTimeout(function(){e.triggerUCConsentV3()},1e3),window.addEventListener("UC_CONSENT",function(){setTimeout(function(){e.triggerUCConsentV3()},1e3)}),window.addEventListener("consent_status",function(){setTimeout(function(){e.triggerUCConsentV3()},1e3)}),window.addEventListener("ucEvent",function(t){t.detail&&"consent_status"===t.detail.event&&setTimeout(function(){e.triggerUCConsentV3()},1e3)}),window.addEventListener("UC_UI_INITIALIZED",function(){e.triggerUCConsentV2(),setTimeout(function(){e.triggerUCConsentV3()},1e3)}),window.addEventListener("UC_UI_CMP_EVENT",function(t){("ACCEPT_ALL"===t.detail.type||"DENY_ALL"===t.detail.type||"SAVE"===t.detail.type)&&(e.triggerUCConsentV2(),setTimeout(function(){e.triggerUCConsentV3()},1e3))});break;case"consentManager"===this.cookieConfig:window.addEventListener("cmpEvent",function(){e.triggerCMPConsent()});break;case"ccm19"===this.cookieConfig:e.triggerCCM19Consent(),window.addEventListener("ccm19WidgetClosed",function(){e.triggerCCM19Consent()});break;case"acris"===this.cookieConfig:let i="acrisCookieStateChanged",n=()=>{window.acrisCookiePrivacy&&(e.activateIfConsent("gtag",window.acrisCookiePrivacy.c.includes("_dis_gtag")),e.activateIfConsent("ga",window.acrisCookiePrivacy.c.includes("_dis_ga")),e.activateIfConsent("gads",window.acrisCookiePrivacy.c.includes("_dis_gads")),e.updateConsent(),e.triggerCoreScript())};window.addEventListener(i,n),document.$emitter.subscribe(f,(()=>{window.dataLayer.find(e=>e.event&&"acrisCookieStateChanged"===e.event)&&n()}).bind(this));let r=0,s=setInterval(()=>{window.dataLayer.find(e=>e.event&&e.event===i)&&(window.dispatchEvent(new Event(i)),clearInterval(s)),++r>50&&(clearInterval(s),console.warn('Missing "'.concat(i,'" Acris event.')))},200);break;case"cookieFirst"===this.cookieConfig:window.addEventListener("cf_services_consent_loaded",function(){setTimeout(function(){e.triggerCookieFirstConsent()},500)}),window.addEventListener("cf_consent",function(){setTimeout(function(){e.triggerCookieFirstConsent()},1e3)});break;case"cookieScript"===this.cookieConfig:window.addEventListener("CookieScriptLoaded",function(){e.triggerCookieScriptConsent()}),window.addEventListener("CookieScriptAccept",function(){setTimeout(function(){e.triggerCookieScriptConsent()},500)}),window.addEventListener("CookieScriptAcceptAll",function(){setTimeout(function(){e.triggerCookieScriptConsent()},500)});break;case"keine"===this.cookieConfig:window.acceptedGtag=!0,window.acceptedGa=!0,window.acceptedGads=!0,e.updateConsent(),e.triggerCoreScript()}ga4AdvancedConsentMode&&(this.tagManagerEnabled||(customTagManager||this.enableTagManager(),this.tagManagerEnabled=!0),setTimeout(function(){e.triggerCoreScript()},2e3))}triggerCCM19Consent(){if(CCM&&CCM.acceptedCookies.length){let e=["_gads","_gcl_aw"].some(e=>CCM.acceptedCookies.includes(e));this.activateIfConsent("gtag",CCM.acceptedCookies.includes("cookiePreferences")),this.activateIfConsent("ga",CCM.acceptedCookies.includes("_ga")),this.activateIfConsent("gads",e),this.updateConsent(),this.triggerCoreScript()}}
1triggerCookieScriptConsent(){CookieScript.instance&&CookieScript.instance.dispatchEventNames?(this.activateIfConsent("gtag",CookieScript.instance.dispatchEventNames.includes("CookieScriptCategory-functionality")),this.activateIfConsent("ga",CookieScript.instance.dispatchEventNames.includes("CookieScriptCategory-performance")),this.activateIfConsent("gads",CookieScript.instance.dispatchEventNames.includes("CookieScriptCategory-targeting")),this.updateConsent(),this.triggerCoreScript()):console.debug("CookieScript.instance null")}triggerCookieFirstConsent(){window.CookieFirst&&window.CookieFirst.acceptedServices?(this.activateIfConsent("gtag",!!window.CookieFirst.acceptedServices.google_tag_manager),this.activateIfConsent("ga",!!window.CookieFirst.acceptedServices.google_analytics),this.activateIfConsent("gads",!!window.CookieFirst.acceptedServices.google_ads),this.updateConsent(),this.triggerCoreScript()):console.debug("window.CookieFirst null")}triggerCMPConsent(){if("consent"===window.cmpCurrentStatus){let e=window.cmpConsentVendors.split(","),t=0;for(let i in window.cmpmngr.vendors){if(e.includes(window.cmpmngr.vendors[t].id))switch(window.cmpmngr.vendors[t].name){case"Google Analytics":case"Google Analytics 4":this.activateIfConsent("ga",!0);break;case"Google Ads":this.activateIfConsent("gads",!0);break;case"Google Tag Manager":this.activateIfConsent("gtag",!0)}t++}this.updateConsent(),this.triggerCoreScript()}}triggerUCConsentV2(){if(!window.UC_UI)return;let e=window.UC_UI.getServicesBaseInfo();e&&[{key:"gtag",name:"Google Tag Manager"},{key:"ga",name:"Google Analytics 4"},{key:"ga",name:"Google Analytics"},{key:"gads",name:"Google Ads"}].forEach(t=>{let{name:i,key:n}=t,r=e.find(e=>e.name===i);r&&this.activateIfConsent(n,r.consent.status)}),this.updateConsent(),this.triggerCoreScript()}triggerUCConsentV3(){let e=[{key:"gtag",name:"Google Tag Manager"},{key:"ga",name:"Google Analytics 4"},{key:"ga",name:"Google Analytics"},{key:"gads",name:"Google Ads"}];if(localStorage.getItem("ucData")){let t=JSON.parse(localStorage.getItem("ucData"));if(t){let i=t.consent.services;e.forEach(e=>{let{name:t,key:n}=e,r=Object.values(i).filter(e=>e.name===t);void 0!==r&&0!==r.length&&this.activateIfConsent(n,r[0].consent)})}}else __ucCmp&&__ucCmp.getServices()&&__ucCmp.getServices()&&e.forEach(e=>{let{name:t,key:i}=e,n=__ucCmp.getServices().filter(e=>e.id===t&!0===e.consent.status);n&&this.activateIfConsent(i,n.consent.status)});this.updateConsent(),this.triggerCoreScript()}triggerCoreScript(){let{acceptedGtag:e,customTagManager:t,ga4AdvancedConsentMode:i,acceptedGa:n,acceptedGads:r}=window;!this.tagManagerEnabled&&e&&(t||this.enableTagManager(),this.tagManagerEnabled=!0),!this.gaEventsTriggered&&(i||n)&&(this.triggerGaEvents(),this.gaEventsTriggered=!0),!this.gadsEventsTriggered&&(i||r)&&(this.triggerGadsEvents(),this.gadsEventsTriggered=!0),!this.trackingEnabled&&(r||i||n)&&(this.enableTracking(),this.trackingEnabled=!0)}activateIfConsent(e,t){switch(!0){case"gtag"===e:window.acceptedGtag=!!(t&&window.googleTagEnabled);break;case"ga"===e:window.acceptedGa=!!(t&&window.googleAnalyticsEnabled);break;case"gads"===e:window.acceptedGads=!!(t&&window.googleAdsEnabled)}}enableTracking(){this.controllerName=window.ga4controllerName,this.controllerAction=window.ga4controllerAction,this.actions=[],this.registerJSActions(),this.registerControllerActions(this.controllerName,this.controllerAction),this.triggerActions()}gtag(){dataLayer.push(arguments)}initializeConsent(){window.dataLayer=window.dataLayer||[],window.dataLayer.disPush=function(){for(var e=arguments.length,t=Array(e),i=0;i<e;i++)t[i]=arguments[i];let n=[];t.forEach(e=>{let t=I.replaceEmptyStringsWithUndefined(e);n.push(t)});let{ga4enableUserId:r,ga4UserLoggedIn:s,ga4Guest:a,ga4UserId:o,ga4CustomerType:c,ga4NewCustomer:l,ga4CustomerLifetimeValue:d,ga4salesChannelId:u,ga4salesChannelName:g}=window;if(r){let e="Logged Out";a?e="Guest":s&&(e="Logged In"),n[0].existing_customer=o?"yes":"no",n[0].user_id=o,n[0].customer_type=c,n[0].user_login_state=e,n[0].new_customer=l,n[0].customer_lifetime_value=d?parseFloat(d):0}n[0].saleschannelid=u,n[0].saleschannelname=g,window.dataLayer.push(...n)},(this.ga4ActiveConsentMode||"cookieFirst"===this.cookieConfig||"cookieBot"===this.cookieConfig||"userCentrics"===this.cookieConfig)&&this.gtag("consent","default",{ad_storage:"denied",ad_user_data:"denied",ad_personalization:"denied",analytics_storage:"denied"})}updateConsent(){if(!this.ga4ActiveConsentMode)return;let e={},{ga4Enabled:t,acceptedGa:i,googleAdsEnabled:n,acceptedGads:r,ga4RemarketingEnabled:s}=window;t&&i&&(e.analytics_storage="granted"),n&&r&&(e.ad_storage="granted",s&&(e.ad_personalization="granted"),e.ad_user_data="granted"),Object.keys(e).length>0&&this.gtag("consent","update",e)}enableTagManager(){(function(e,t,i,n,r){e[n]=e[n]||[],e[n].push({"gtm.start":new Date().getTime(),event:"gtm.js"});var s=t.getElementsByTagName(i)[0],a=t.createElement(i);a.async=!0,a.src="https://www.googletagmanager.com/gtm.js?id="+r+("dataLayer"!==n?"&l="+n:"")+window.ga4CustomUrl,s.parentNode.insertBefore(a,s)})(window,document,"script","dataLayer",window.ga4TagId.trim())}triggerGaEvents(){let{ga4AdvancedConsentMode:e,acceptedGa:t,googleAnalyticsEnabled:i,ga4UserLoggedIn:n}=window;(e||t)&&i&&(window.dataLayer.disPush({event:"ga4_page_view"}),n&&(!localStorage.getItem("loginSent")||"yes"!==localStorage.getItem("loginSent"))?(window.dataLayer.disPush({event:"login",method:"mail"}),localStorage.setItem("loginSent","yes")):localStorage.getItem("loginSent")||localStorage.setItem("loginSent","no"))}triggerGadsEvents(){let{googleAdsEnabled:e,ga4AdvancedConsentMode:t,acceptedGads:i}=window;(t||i)&&e&&window.dataLayer.disPush({event:"gads_page_view"})}cookieSubscriber(e){let t=e.detail;Object.prototype.hasOwnProperty.call(t,this.cookieDisGoogleAnalytics)&&window.googleAnalyticsEnabled&&t[this.cookieDisGoogleAnalytics]&&(window.acceptedGa=!0),Object.prototype.hasOwnProperty.call(t,this.cookieDisGoogleAds)&&window.googleAdsEnabled&&t[this.cookieDisGoogleAds]&&(window.acceptedGads=!0),window.acceptedGtag=!0,this.updateConsent(),this.triggerCoreScript()}
1triggerActions(){this.actions.forEach(e=>{e.trigger()})}registerJSActions(){this.registerActions(T),this.registerActions(A),this.registerActions(D),window.googleAnalyticsEnabled&&(this.registerActions(k),this.registerActions(M))}registerControllerActions(e,t){switch(!0){case"account"===e&&"logout"===t:localStorage.setItem("loginSent","no"),console.info("logout");break;case"checkout"===e&&"cartpage"===t:this.registerActions(P);break;case"customcheckout"===e&&"finishpage"===t:case"checkout"===e&&"finishpage"===t:this.registerActions(F);break;case"checkout"===e&&"confirmpage"===t:this.registerActions(R);break;case"product"===e&&"index"===t:this.registerActions(O),this.registerActions(x);break;case"wishlist"===e&&"index"===t:case"navigation"===e&&"index"===t:case"navigation"===e&&"home"===t:this.registerActions(q),this.registerActions(N);break;case"navigation"===e&&"index"!==t:this.registerActions(N);break;case"search"===e&&"search"===t:this.registerActions(B);break;case"auth"===e&&"loginpage"===t:case"register"===e&&"checkoutregisterpage"===t:this.registerActions(G)}}registerActions(e){this.actions.push(new e)}}var H=i(688);let{PluginManager:W,Feature:V}=window;window.ga4Enabled&&(W.getPluginList()&&W.getPluginList().GA4||W.register("GA4",U),V.isActive("v6.6.0.0")?W.override("SearchWidget",()=>Promise.resolve().then(i.bind(i,688)),"[data-search-widget]"):W.override("SearchWidget",H.default,"[data-search-form]"))})()})();
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.