1var _u=function(e){"use strict";const t=[];function n(e){t.push(e)}function i(){for(const e of t)try{e.init()}catch{}}function o(){const e={};for(const n of t)try{Object.assign(e,n.collect())}catch{}return e}let r=0,a=0,s=!1,c=null;function d(){s||(s=!0,a=Date.now())}function l(){s&&(r+=Date.now()-a,s=!1)}function u(){null!==c&&clearTimeout(c),c=setTimeout(()=>{l()},3e4),s||"visible"!==document.visibilityState||d()}function m(){"hidden"===document.visibilityState?l():u()}function v(){l()}function f(){u()}function h(){u()}n({name:"engagement",init(){document.addEventListener("visibilitychange",m),window.addEventListener("blur",v),window.addEventListener("focus",f),document.addEventListener("mousemove",h,{passive:!0}),document.addEventListener("scroll",h,{passive:!0}),document.addEventListener("keydown",h,{passive:!0}),"visible"===document.visibilityState&&(d(),u())},collect:()=>(s&&(r+=Date.now()-a,a=Date.now()),{c:r}),destroy(){l(),null!==c&&(clearTimeout(c),c=null),document.removeEventListener("visibilitychange",m),window.removeEventListener("blur",v),window.removeEventListener("focus",f),document.removeEventListener("mousemove",h),document.removeEventListener("scroll",h),document.removeEventListener("keydown",h)}});let p=0,g=null;function w(){const e=function(){const e=window.scrollY||document.documentElement.scrollTop,t=window.innerHeight||document.documentElement.clientHeight,n=document.documentElement.scrollHeight-t;if(n<=0)return 100;const i=Math.round(e/n*100);return Math.max(0,Math.min(100,i))}();e>p&&(p=e)}function y(){null===g&&(g=setTimeout(()=>{w(),g=null},100))}n({name:"scroll",init(){w(),document.addEventListener("scroll",y,{passive:!0})},collect:()=>(w(),{d:p}),destroy(){null!==g&&(clearTimeout(g),g=null),document.removeEventListener("scroll",y)}});let b,E,T,L,S,C="",A="",M="navigate",k=!1,H=0,P=0;function I(e){k||e.clientY<50&&(k=!0)}function x(){if(k)return;const e=Date.now(),t=window.scrollY||document.documentElement.scrollTop;H-t>5e3&&e-P<500&&(k=!0),H=t,P=e}n({name:"navigation",init(){C=window.location.pathname,A=document.referrer||"",M=function(){const e=performance.getEntriesByType("navigation");return 0===e.length?"navigate":e[0].type??"navigate"}(),H=window.scrollY||document.documentElement.scrollTop,P=Date.now(),document.addEventListener("mousemove",I,{passive:!0}),document.addEventListener("scroll",x,{passive:!0})},collect:()=>({b:C,l:A,m:M,n:k}),destroy(){document.removeEventListener("mousemove",I),document.removeEventListener("scroll",x)}}),n({name:"attribution",init(){!function(){const e=new URLSearchParams(window.location.search);b=e.get("utm_source")??void 0,E=e.get("utm_medium")??void 0,T=e.get("utm_campaign")??void 0,L=e.get("utm_term")??void 0,S=e.get("utm_content")??void 0}()},collect(){const e={};return void 0!==b&&(e.g=b),void 0!==E&&(e.h=E),void 0!==T&&(e.i=T),void 0!==L&&(e.j=L),void 0!==S&&(e.k=S),e},destroy(){}});let D=null;function N(e){return/Windows/.test(e)?"windows":/Mac OS X/.test(e)?"macos":/Android/.test(e)?"android":/iPhone|iPad|iPod/.test(e)?"ios":/Linux/.test(e)?"linux":"other"}function R(e){return e<768?"mobile":e<=1024?"tablet":"desktop"}n({name:"device",init(){D=function(){const e=navigator.userAgent,{browser:t,version:n}=function(e){const t=[["edge",/Edg\/(\d+\.\d+)/],["opera",/OPR\/(\d+\.\d+)/],["firefox",/Firefox\/(\d+\.\d+)/],["chrome",/Chrome\/(\d+\.\d+)/],["safari",/Version\/(\d+\.\d+).*Safari/]];for(const[n,i]of t){const t=e.match(i);if(t)return{browser:n,version:t[1]}}return{browser:"other",version:"0.0"}}(e),i=window.innerWidth;return{o:i,p:window.innerHeight,q:window.screen.width,r:window.screen.height,s:N(e),t:t,u:n,v:navigator.language,w:Intl.DateTimeFormat().resolvedOptions().timeZone,x:R(i)}}()},collect:()=>D??{},destroy(){D=null}});let _=-1;const O=e=>{addEventListener("pageshow",t=>{t.persisted&&(_=t.timeStamp,e(t))},!0)},F=(e,t,n,i)=>{let o,r;return a=>{t.value>=0&&(a||i)&&(r=t.value-(o??0),(r||void 0===o)&&(o=t.value,t.delta=r,t.rating=((e,t)=>e>t[1]?"poor":e>t[0]?"needs-improvement":"good")(t.value,n),e(t)))}},B=e=>{requestAnimationFrame(()=>requestAnimationFrame(e))},q=()=>{const e=performance.getEntriesByType("navigation")[0];if(e&&e.responseStart>0&&e.responseStart<performance.now())return e},W=()=>q()?.activationStart??0,U=(e,t=-1)=>{const n=q();let i="navigate";return _>=0?i="back-forward-cache":n&&(document.prerendering||W()>0?i="prerender":document.wasDiscarded?i="restore":n.type&&(i=n.type.replace(/_/g,"-"))),{name:e,value:t,rating:"good",delta:0,entries:[],id:`v5-${Date.now()}-${Math.floor(8999999999999*Math.random())+1e12}`,navigationType:i}},Y=new WeakMap;function $(e,t){return Y.get(e)||Y.set(e,new t),Y.get(e)}class j{t;i=0;o=[];h(e){if(e.hadRecentInput)return;const t=this.o[0],n=this.o.at(-1);this.i&&t&&n&&e.startTime-n.startTime<1e3&&e.startTime-t.startTime<5e3?(this.i+=e.value,this.o.push(e)):(this.i=e.value,this.o=[e]),this.t?.(e)}}const z=(e,t,n={})=>{try{if(PerformanceObserver.supportedEntryTypes.includes(e)){const i=new PerformanceObserver(e=>{queueMicrotask(()=>{t(e.getEntries())})});return i.observe({type:e,buffered:!0,...n}),i}}catch{}},J=e=>{let t=!1;return()=>{t||(e(),t=!0)}};let K=-1;const V=new Set,X=()=>"hidden"!==document.visibilityState||document.prerendering?1/0:0,Z=e=>{if("hidden"===document.visibilityState){if("visibilitychange"===e.type)for(const e of V)e();isFinite(K)||(K="visibilitychange"===e.type?e.timeStamp:0,removeEventListener("prerenderingchange",Z,!0))}},G=()=>{if(K<0){const e=W(),t=document.prerendering?void 0:globalThis.performance.getEntriesByType("visibility-state").find(t=>"hidden"===t.name&&t.startTime>=e)?.startTime;K=t??X(),addEventListener("visibilitychange",Z,!0),addEventListener("prerenderingchange",Z,!0),O(()=>{setTimeout(()=>{K=X()})})}return{get firstHiddenTime(){return K},onHidden(e){V.add(e)}}},Q=e=>{document.prerendering?addEventListener("prerenderingchange",e,!0):e()},ee=[1800,3e3],te=(e,t={})=>{Q(()=>{const n=G();let i,o=U("FCP");const r=z("paint",e=>{for(const t of e)"first-contentful-paint"===t.name&&(r.disconnect(),t.startTime<n.firstHiddenTime&&(o.value=Math.max(t.startTime-W(),0),o.entries.push(t),i(!0)))});r&&(i=F(e,o,ee,t.reportAllChanges),O(n=>{o=U("FCP"),i=F(e,o,ee,t.reportAllChanges),B(()=>{o.value=performance.now()-n.timeStamp,i(!0)})}))})},ne=[.1,.25];let ie=0,oe=1/0,re=0;const ae=e=>{for(const t of e)t.interactionId&&(oe=Math.min(oe,t.interactionId),re=Math.max(re,t.interactionId),ie=re?(re-oe)/7+1:0)};let se;const ce=()=>se?ie:performance.interactionCount??0;let de=0;class le{l=[];u=new Map;m;p;v(){de=ce(),this.l.length=0,this.u.clear()}T(){const e=Math.min(this.l.length-1,Math.floor((ce()-de)/50));return this.l[e]}h(e){if(this.m?.(e),!e.interactionId&&"first-input"!==e.entryType)return;const t=this.l.at(-1);let n=this.u.get(e.interactionId);if(n||this.l.length<10||e.duration>t.L){if(n?e.duration>n.L?(n.entries=[e],n.L=e.duration):e.duration===n.L&&e.startTime===n.entries[0].startTime&&n.entries.push(e):(n={id:e.interactionId,entries:[e],L:e.duration},this.u.set(n.id,n),this.l.push(n)),this.l.sort((e,t)=>
1t.L-e.L),this.l.length>10){const e=this.l.splice(10);for(const t of e)this.u.delete(t.id)}this.p?.(n)}}}const ue=e=>{const t=globalThis.requestIdleCallback||setTimeout,n=globalThis.cancelIdleCallback||clearTimeout;if("hidden"===document.visibilityState)e();else{const i=J(e);let o=-1;const r=()=>{n(o),i()};addEventListener("visibilitychange",r,{once:!0,capture:!0}),o=t(()=>{removeEventListener("visibilitychange",r,{capture:!0}),i()})}},me=[200,500];class ve{m;h(e){this.m?.(e)}}const fe=[2500,4e3];let he,pe,ge,we,ye,be;function Ee(){try{const e=performance.getEntriesByType("navigation");if(0===e.length)return;const t=e[0];t.responseStart>0&&(we=Math.round(t.responseStart)),t.domContentLoadedEventEnd>0&&(ye=Math.round(t.domContentLoadedEventEnd)),t.loadEventEnd>0&&(be=Math.round(t.loadEventEnd))}catch{}}const Te={name:"performance",init(){try{((e,t={})=>{Q(()=>{const n=G();let i,o=U("LCP");const r=$(t,ve),a=e=>{t.reportAllChanges||(e=e.slice(-1));for(const t of e)r.h(t),t.startTime<n.firstHiddenTime&&(o.value=Math.max(t.startTime-W(),0),o.entries=[t],i())},s=z("largest-contentful-paint",a);if(s){i=F(e,o,fe,t.reportAllChanges);const n=J(()=>{a(s.takeRecords()),s.disconnect(),i(!0)}),r=e=>{e.isTrusted&&(ue(n),removeEventListener(e.type,r,{capture:!0}))};for(const e of["keydown","click","visibilitychange"])addEventListener(e,r,{capture:!0});O(n=>{o=U("LCP"),i=F(e,o,fe,t.reportAllChanges),B(()=>{o.value=performance.now()-n.timeStamp,i(!0)})})}})})(e=>{he=Math.round(e.value)}),((e,t={})=>{const n=G();te(J(()=>{let i,o=U("CLS",0);const r=$(t,j),a=e=>{for(const t of e)r.h(t);r.i>o.value&&(o.value=r.i,o.entries=r.o,i())},s=z("layout-shift",a);s&&(i=F(e,o,ne,t.reportAllChanges),n.onHidden(()=>{a(s.takeRecords()),i(!0)}),O(()=>{r.i=0,o=U("CLS",0),i=F(e,o,ne,t.reportAllChanges),B(i)}),setTimeout(i))}))})(e=>{pe=Math.round(1e3*e.value)/1e3}),((e,t={})=>{if(!globalThis.PerformanceEventTiming||!("interactionId"in PerformanceEventTiming.prototype))return;const n=G();Q(()=>{"interactionCount"in performance||se||(se=z("event",ae,{durationThreshold:0}));let i,o=U("INP");const r=$(t,le),a=e=>{ue(()=>{for(const t of e)r.h(t);const t=r.T();t&&t.L!==o.value&&(o.value=t.L,o.entries=t.entries,i())})},s=z("event",a,{durationThreshold:t.durationThreshold??40});i=F(e,o,me,t.reportAllChanges),s&&(s.observe({type:"first-input",buffered:!0}),n.onHidden(()=>{a(s.takeRecords()),i(!0)}),O(()=>{r.v(),o=U("INP"),i=F(e,o,me,t.reportAllChanges)}))})})(e=>{ge=Math.round(e.value)})}catch{}Ee(),"complete"===document.readyState?Ee():window.addEventListener("load",Ee,{once:!0})},collect(){Ee();const e={};return void 0!==he&&(e.y=he),void 0!==pe&&(e.z=pe),void 0!==ge&&(e.aa=ge),void 0!==we&&(e.ab=we),void 0!==ye&&(e.ac=ye),void 0!==be&&(e.ad=be),e},destroy(){window.removeEventListener("load",Ee)}};n(Te);let Le=[],Se=0;function Ce(e,t,n){const i={k:e,o:Date.now()-Se};void 0!==t&&(i.v=t),void 0!==n&&(i.p=n),Le.push(i)}function Ae(e){const t=e.target;if(!(t&&t instanceof Element))return;const n=function(e){for(;e&&e!==document.body;){if("A"===e.tagName)return e;e=e.parentElement}return null}(t);if(!n)return;const i=n.getAttribute("href")??"";if(i.startsWith("tel:"))return void Ce(1,i.slice(4));if(i.startsWith("mailto:"))return void Ce(2,i.slice(7));const o=n.hostname;o&&o!==window.location.hostname&&Ce(3,n.href)}n({name:"events",init(){Se=Date.now(),document.addEventListener("click",Ae,{passive:!0,capture:!0}),window._i=(e,t)=>{Ce(e,void 0,t)}},collect(){if(0===Le.length)return{};const e=Le;return Le=[],{ev:e}},destroy(){document.removeEventListener("click",Ae,{capture:!0}),delete window._i}});let Me=null;n({name:"entity",init(){Me=function(){if("undefined"==typeof document)return null;const e=document.body;if(!e)return null;const t=e.getAttribute("data-entity-type"),n=e.getAttribute("data-entity-id");if(!t||!n)return null;const i=parseInt(n,10);return Number.isNaN(i)?null:{ak:t,al:i}}()},collect:()=>Me??{},destroy(){Me=null}});const ke=Date.now();let He=null;const Pe=function(e){if(e&&/^https?:\/\//i.test(e))try{return new URL(e).origin+"/heartbeat"}catch{return"/heartbeat"}return"/heartbeat"}("undefined"!=typeof document?document.currentScript?.getAttribute("src")??null:null);let Ie=!1;async function xe(e){try{const t=window.location.hostname,n=await async function(e){const t={...o(),a:window.location.hostname,af:e.isHeartbeat,ag:"1.1.1",ah:Date.now(),aj:ke},n=(new TextEncoder).encode(JSON.stringify(t)),i=await async function(e){const t=[],n=new Response(e).body.pipeThrough(new CompressionStream("gzip")).getReader();for(;;){const{done:e,value:i}=await n.read();if(e)break;t.push(i)}const i=t.reduce((e,t)=>
1e+t.length,0),o=new Uint8Array(i);let r=0;for(const e of t)o.set(e,r),r+=e.length;return o}(n);return function(e){let t="";for(let n=0;n<e.length;n++)t+=String.fromCharCode(e[n]);return btoa(t)}(i)}({isHeartbeat:e.isHeartbeat}),i=await async function(e,t){const n=await async function(){if(He)return He;const e=(new TextEncoder).encode("a8de2fc6c9641159886d2a443bb2843ee3b7bb6d12a3835d097bc994b156f5a9");return He=await crypto.subtle.importKey("raw",e,{name:"HMAC",hash:"SHA-256"},!1,["sign"]),He}(),i=(new TextEncoder).encode(`${e}.${t}`);return function(e){const t=new Uint8Array(e);let n="";for(let e=0;e<t.length;e++)n+=t[e].toString(16).padStart(2,"0");return n}(await crypto.subtle.sign("HMAC",n,i))}(n,t),r=JSON.stringify({d:n,s:i,h:t}),a=new Blob([r],{type:"text/plain"});return navigator.sendBeacon(Pe,a)}catch{return!1}}async function De(){Ie||(Ie=!0,await xe({isHeartbeat:!1}))}const Ne="undefined"!=typeof navigator?navigator:void 0;return void 0!==Ne&&("1"===Ne.doNotTrack||!0===Ne.globalPrivacyControl)||(i(),Ie=!1,window.addEventListener("pagehide",function(){De()}),document.addEventListener("visibilitychange",function(){"hidden"===document.visibilityState&&De()}),setInterval(()=>{!async function(){await xe({isHeartbeat:!0})}()},45e3)),e.collectAll=o,e.destroyAll=function(){for(const e of t)try{e.destroy()}catch{}},e.initAll=i,e.registerCollector=n,e.resetCollectors=function(){t.length=0},e}({}); 2//# sourceMappingURL=utils.min.js.map
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.