(()=>{qeen.TelemetryMetric=class{constructor(e,t){this.n=e,this.v=t,this.ts=Date.now(),this.csrvid=qeen.pageData.contentServingId}},qeen.TelemetryArray=class extends Array{constructor(){super()}pushEvents(){window.location.hash.includes("qeen-dev")&&this.forEach(e=>{console.info(e)});const e={telemetryMetrics:this},t=JSON.stringify(e);navigator.sendBeacon(qeen.pageData.telemetryEndpoint,t),this.length=0}},qeen.getNetworkType=function(){const e=navigator.connection||navigator.mozConnection||navigator.webkitConnection,n={"slow-2g":.1,"2g":.2,"3g":.3,"4g":.4},t={none:0,ethernet:1,wifi:2,cellular:3,bluetooth:4,wimax:5,other:6,unknown:7},s=n[e.effectiveType]||0,o=t[e.networkType]!==void 0?t[e.networkType]:8;return s+o},qeen.camelToSnake=function(e){return e.replace(/[A-Z]/g,e=>`_${e.toLowerCase()}`).toUpperCase()},qeen.getResourceLoadTime=function(e){const n=performance.getEntriesByType("resource"),t=n.find(t=>t.name===e);return t?t.responseEnd-t.startTime:0},qeen.bindCheckoutEventsToElements=function(){function e(e){const t=parseFloat(e.replace(/[^0-9.]/g,""))||0;t&&qeen.sendCheckoutEvent("-",t)}if(qeen.pageData.checkoutAmountSelector){const t=document.querySelectorAll(qeen.pageData.checkoutAmountSelector);for(let n=0;n<t.length;n++)if(!t[n].hasAttribute("data-qeen-checkout-bound")){t[n].setAttribute("data-qeen-checkout-bound","true"),e(t[n].innerText);const s=new MutationObserver(function(t){t.forEach(function(t){t.target.innerText&&e(t.target.innerText)})});s.observe(t[n],{childList:!0,subtree:!0,characterData:!0})}}},qeen.bindAnalyticsEvents=function(){qeen.pageData.clickEvents.forEach(e=>{try{qeen.bindClickEvents(new qeen.InteractionEvent(e.label,e.value))}catch{}}),window.dispatchEvent(new Event("qeen-click-events-bound")),qeen.pageData.scrollEvents.forEach(e=>{try{qeen.bindScrollEvents(new qeen.InteractionEvent(e.label,e.value))}catch{}}),!qeen.pageData.isPdp&&qeen.pageState.isCheckoutPage&&qeen.bindCheckoutEventsToElements()},qeen.initAnalytics=function(){const n=performance.now(),e=new qeen.TelemetryArray;if(qeen.render(),qeen.pageState.contentServed&&qeen.setContentServed(),qeen.initPageSession(qeen.pageData),window.dispatchEvent(new Event("qeen-page-session-started")),qeen.bindAnalyticsEvents(),navigator.connection){const t=new qeen.TelemetryMetric("NETWORK_TYPE",qeen.getNetworkType());e.push(t)}const[s]=performance.getEntriesByType("navigation"),o=["domComplete","domContentLoadedEventEnd","domContentLoadedEventStart","domInteractive","loadEventEnd","loadEventStart"];for(let t of o){const n=new qeen.TelemetryMetric("PNT_"+qeen.camelToSnake(t),s[t]);e.push(n)}if(window.fodooleLoadStartTime){const t=new qeen.TelemetryMetric("SCRIPT_LOAD_TIME",qeen.pageData.scriptLoadTimeEnd-window.fodooleLoadStartTime);e.push(t)}const t=document.getElementById("qeen-loader");if(t){const n=new qeen.TelemetryMetric("SNIPPET_LOAD_TIME",qeen.getResourceLoadTime(t.src));e.push(n)}if(qeen.pageState.contentReplaceEnd&&qeen.pageState.contentServed){const t=new qeen.TelemetryMetric("CONTENT_REPL_TIME",qeen.pageState.contentReplaceEnd-qeen.pageState.contentReplaceStart);e.push(t)}const i=new qeen.TelemetryMetric("THREAD_TIME_CORE",performance.now()-n);e.push(i),qeen.pageData.isPdp&&e.pushEvents()};const e=document.createElement("script");e.src="https://cdn.qeen.ai/sdk/qeen.js",e.id="qeen-sdk",e.defer=!0,document.body.appendChild(e),e.onload=function(){qeen.initAnalytics(),window.dispatchEvent(new Event("qeen-sdk-loaded"))}})()