(function(w, d) { "use strict"; zaraz.debug = (dI = "") => { document.cookie = `zarazDebug=${dI}; path=/`; location.reload(); }; window.zaraz = window.zaraz || {}; window.zaraz._al = function(cC, cD, cE) { if (!w.zaraz.listeners) { w.zaraz.listeners = []; } w.zaraz.listeners.push({ item: cC, type: cD, callback: cE }); cC.addEventListener(cD, cE); }; zaraz.preview = (cZ = "") => { document.cookie = `zarazPreview=${cZ}; path=/`; location.reload(); }; zaraz.i = function(dz) { const dA = d.createElement("div"); dA.innerHTML = unescape(dz); const dB = dA.querySelectorAll("script"); for (let dC = 0; dC < dB.length; dC++) { const dD = d.createElement("script"); if (dB[dC].src) { dD.src = dB[dC].src; } else { dD.innerHTML = dB[dC].innerHTML; } for (const dE of dB[dC].attributes) { dD.setAttribute(dE.name, dE.value); } d.head.appendChild(dD); } d.body.appendChild(dA); }; zaraz.f = async function(dF, dG) { const dH = { credentials: "include", keepalive: true, mode: "no-cors" }; if (dG) { dH.method = "POST"; dH.body = new URLSearchParams(dG); dH.headers = { "Content-Type": "application/x-www-form-urlencoded" }; } return await fetch(dF, dH); }; window.zaraz._p = async D => { if (D) { D.e && D.e.forEach((F) => { try { new Function(F)(); } catch (G) { console.error(`Erro ao executar script: ${F}\n`, G); } }); await Promise.allSettled((D.f || []).map((H) => fetch(H[0], H[1]))); } }; zaraz.pageVariables = {}; zaraz.__zcl = zaraz.__zcl || {}; zaraz.track = async function(dc, dd, de) { const dh = { name: dc, data: {} }; for (const di of [localStorage, sessionStorage]) { Object.keys(di || {}).filter((dk) => dk.startsWith("_zaraz_")).forEach((dj) => { try { dh.data[dj.slice(7)] = JSON.parse(di.getItem(dj)); } catch { dh.data[dj.slice(7)] = di.getItem(dj); } }); } Object.keys(zaraz.pageVariables).forEach((dl) => { dh.data[dl] = JSON.parse(zaraz.pageVariables[dl]); }); Object.keys(zaraz.__zcl).forEach((dm) => { dh.data[`__zcl_${dm}`] = zaraz.__zcl[dm]; }); dh.data.__zarazMCListeners = zaraz.__zarazMCListeners; const zarazData = {}; try { const response = await fetch("/cdn-cgi/zaraz/t", { credentials: "include", keepalive: true, method: "POST", headers: { "Content-Type": "application/json" }, body: JSON.stringify(dh) }); zarazData._let = new Date().getTime(); if (!response.ok) { throw new Error("Erro na requisição fetch"); } const data = await response.json(); await zaraz._p(data); if (typeof de === "function") { de(); } } catch (error) { console.error("Erro ao enviar rastreamento:", error); } }; zaraz.set = function(dq, dr, ds) { try { dr = JSON.stringify(dr); } catch (dt) { return; } const prefixedKey = "_zaraz_" + dq; if (ds && ds.scope === "session") { sessionStorage && sessionStorage.removeItem(prefixedKey); } else if (ds && ds.scope === "page") { zaraz.pageVariables[dq] = dr; } else { localStorage && localStorage.removeItem(prefixedKey); } delete zaraz.pageVariables[dq]; zaraz.__watchVar = { key: dq, value: dr }; }; for (const { m: du, a: dv } of zarazData.q.filter(({ m: dw }) => ["debug", "set"].includes(dw))) { zaraz[du](...dv); } for (const { m: dx, a: dy } of zaraz.q) { zaraz[dx](...dy); } delete zaraz.q; delete zarazData.q; zaraz.fulfilTrigger = function(dJ, dK, dL, dM) { zaraz.__zarazTriggerMap = zaraz.__zarazTriggerMap || {}; zaraz.__zarazTriggerMap[dJ] = zaraz.__zarazTriggerMap[dJ] || ""; zaraz.__zarazTriggerMap[dJ] += "*" + dK + "*"; zaraz.track("__zarazEmpty", { ...dL, __zarazClientTriggers: zaraz.__zarazTriggerMap[dJ] }, dM); }; window.dataLayer = w.dataLayer || []; zaraz._processDataLayer = (cq) => { for (const cr of Object.entries(cq)) { zaraz.set(cr[0], cr[1], { scope: "page" }); } if (cq.event) { if (zarazData.dataLayerIgnore && zarazData.dataLayerIgnore.includes(cq.event)) { return; } let cs = {}; for (let ct of dataLayer.slice(0, dataLayer.indexOf(cq) + 1)) { cs = { ...cs, ...ct }; } delete cs.event; cq.event.startsWith("gtm.") || zaraz.track(cq.event, cs); } }; const cp = w.dataLayer.push; Object.defineProperty(w.dataLayer, "push", { configurable: true, enumerable: false, writable: true, value: function(...cu) { let cv = cp.apply(this, cu); zaraz._processDataLayer(cu[0]); return cv; } }); dataLayer.forEach((cw) => zaraz._processDataLayer(cw)); zaraz._cts = () => { zaraz._timeouts && zaraz._timeouts.forEach((cl) => clearTimeout(cl)); zaraz._timeouts = []; }; zaraz._rl = function() { if (w.zaraz.listeners) { w.zaraz.listeners.forEach((cm) => cm.item.removeEventListener(cm.type, cm.callback)); window.zaraz.listeners = []; } zaraz._cts && zaraz._cts(); }; history.pushState = function() { try { zaraz._rl(); zaraz._cts && zaraz._cts(); } finally { History.prototype.pushState.apply(history, arguments); setTimeout(() => { zarazData.l = d.location.href; zarazData.t = d.title; zaraz.pageVariables = {}; zaraz.__zarazMCListeners = {}; zaraz.track("__zarazSPA"); }, 100); } }; history.replaceState = function() { try { zaraz._rl(); zaraz._cts && zaraz._cts(); } finally { History.prototype.replaceState.apply(history, arguments); setTimeout(() => { zarazData.l = d.location.href; zarazData.t = d.title; zaraz.pageVariables = {}; zaraz.track("__zarazSPA"); }, 100); } }; zaraz._c = (fW) => { const { event: fX, ...fY } = fW; zaraz.track(fX, { ...fY, __zarazClientEvent: true }); }; zaraz._syncedAttributes = ["altKey", "clientX", "clientY", "pageX", "pageY", "button"]; zaraz.__zcl.track = true; d.addEventListener("visibilitychange", (eA) => { zaraz._c({ event: "visibilityChange", visibilityChange: [{ state: d.visibilityState, timestamp: new Date().getTime() }] }); }); zaraz.__zcl.visibilityChange = true; zaraz.__zarazMCListeners = { "google-analytics_v4_20ac": ["visibilityChange"] }; zaraz._p({ e: ["(function(w,d){w.zarazData.executed.push(\"Pageview\");})(window,document)"], f: [ ["https://stats.g.doubleclick.net/g/collect?t=dc&aip=1&_r=3&v=1&_v=j86&tid=UA-XXXXXXXXX-1&cid=000&jid=1901391825&gjid=1552095253&_gid=000&_u=YEBAAAQ~&z=1375435564"], ["https://www.google-analytics.com/collect?z=1702432306&t=pageview&_r=1&v=2&dl=https%3A%2F%2Fwww.example.com&ul=en-us&de=UTF-8&dt=Example%20Title&sd=24-bit&sr=1920x1080&vp=1920x979&je=0&_u=YGDAgAQAA~&jid=&gjid=&cid=0000000000.0000000000&tid=UA-XXXXXXXXX-1&_gid=0000000000.0000000000&jid=&gjid=&cg1=000&cg2=example%20page&z=0000000000"], ] }); const cl = new IntersectionObserver((entries) => { entries.forEach((entry) => { if (entry.isIntersecting) { zaraz._c({ event: "viewableImpression" }); } }); }, { threshold: .5 }); const cm = document.querySelectorAll("[data-zaraz-viewable-impression]"); cm.forEach((cn) => cl.observe(cn)); const co = () => { zaraz._c({ event: "maxScroll" }); document.removeEventListener("scroll", co); }; document.addEventListener("scroll", co); zaraz._cta = (cp, cq, cr) => { if (!document.querySelector(cp)) { zaraz._timeouts = zaraz._timeouts || []; zaraz._timeouts.push(setTimeout(() => zaraz._cta(cp, cq, cr), 200)); return; } zaraz._al(document.querySelector(cp), cq, cr); }; zaraz._cta("[data-zaraz-c", "click", (cs) => { zaraz._c({ ...cs.target.dataset }); }); zaraz._cta("[data-zaraz-ac", "change", (ct) => { zaraz._c({ ...ct.target.dataset }); }); zaraz._syncedAttributes.forEach((cu) => zaraz._al(d, "click", () => { zaraz._c({ event: "click", [cu]: true }); })); zaraz._p({ e: ["(function(w,d){w.zarazData.executed.push(\"Beacon\");})(window,document)"], f: [ ["https://www.example.com/beacon?dt=Example%20Title&dp=example-page&cd=examplePage&z=0000000000"], ] }); zaraz._p({ e: ["(function(w,d){w.zarazData.executed.push(\"Heartbeat\");})(window,document)"], f: [ ["https://www.example.com/heartbeat?dt=Example%20Title&dp=example-page&cd=examplePage&z=0000000000"], ] }); zaraz.track("__zarazReady"); })(window, document);