@spotlightjs/spotlight 4.11.0 → 4.11.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/node_modules/.pnpm/{@modelcontextprotocol_sdk@1.25.2_hono@4.12.8_zod@4.1.13 → @modelcontextprotocol_sdk@1.27.1_zod@4.1.13}/node_modules/@modelcontextprotocol/sdk/dist/esm/client/index.js +5 -3
- package/dist/node_modules/.pnpm/@modelcontextprotocol_sdk@1.27.1_zod@4.1.13/node_modules/@modelcontextprotocol/sdk/dist/esm/client/index.js.map +1 -0
- package/dist/node_modules/.pnpm/@modelcontextprotocol_sdk@1.27.1_zod@4.1.13/node_modules/@modelcontextprotocol/sdk/dist/esm/experimental/tasks/client.js.map +1 -0
- package/dist/node_modules/.pnpm/@modelcontextprotocol_sdk@1.27.1_zod@4.1.13/node_modules/@modelcontextprotocol/sdk/dist/esm/experimental/tasks/helpers.js.map +1 -0
- package/dist/node_modules/.pnpm/@modelcontextprotocol_sdk@1.27.1_zod@4.1.13/node_modules/@modelcontextprotocol/sdk/dist/esm/experimental/tasks/interfaces.js.map +1 -0
- package/dist/node_modules/.pnpm/@modelcontextprotocol_sdk@1.27.1_zod@4.1.13/node_modules/@modelcontextprotocol/sdk/dist/esm/experimental/tasks/mcp-server.js.map +1 -0
- package/dist/node_modules/.pnpm/@modelcontextprotocol_sdk@1.27.1_zod@4.1.13/node_modules/@modelcontextprotocol/sdk/dist/esm/experimental/tasks/server.js +224 -0
- package/dist/node_modules/.pnpm/@modelcontextprotocol_sdk@1.27.1_zod@4.1.13/node_modules/@modelcontextprotocol/sdk/dist/esm/experimental/tasks/server.js.map +1 -0
- package/dist/node_modules/.pnpm/@modelcontextprotocol_sdk@1.27.1_zod@4.1.13/node_modules/@modelcontextprotocol/sdk/dist/esm/server/completable.js.map +1 -0
- package/dist/node_modules/.pnpm/@modelcontextprotocol_sdk@1.27.1_zod@4.1.13/node_modules/@modelcontextprotocol/sdk/dist/esm/server/index.js.map +1 -0
- package/dist/node_modules/.pnpm/@modelcontextprotocol_sdk@1.27.1_zod@4.1.13/node_modules/@modelcontextprotocol/sdk/dist/esm/server/mcp.js.map +1 -0
- package/dist/node_modules/.pnpm/@modelcontextprotocol_sdk@1.27.1_zod@4.1.13/node_modules/@modelcontextprotocol/sdk/dist/esm/server/stdio.js.map +1 -0
- package/dist/node_modules/.pnpm/@modelcontextprotocol_sdk@1.27.1_zod@4.1.13/node_modules/@modelcontextprotocol/sdk/dist/esm/server/zod-compat.js.map +1 -0
- package/dist/node_modules/.pnpm/@modelcontextprotocol_sdk@1.27.1_zod@4.1.13/node_modules/@modelcontextprotocol/sdk/dist/esm/server/zod-json-schema-compat.js.map +1 -0
- package/dist/node_modules/.pnpm/{@modelcontextprotocol_sdk@1.25.2_hono@4.12.8_zod@4.1.13 → @modelcontextprotocol_sdk@1.27.1_zod@4.1.13}/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/protocol.js +13 -1
- package/dist/node_modules/.pnpm/@modelcontextprotocol_sdk@1.27.1_zod@4.1.13/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/protocol.js.map +1 -0
- package/dist/node_modules/.pnpm/@modelcontextprotocol_sdk@1.27.1_zod@4.1.13/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/stdio.js.map +1 -0
- package/dist/node_modules/.pnpm/@modelcontextprotocol_sdk@1.27.1_zod@4.1.13/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/toolNameValidation.js.map +1 -0
- package/dist/node_modules/.pnpm/@modelcontextprotocol_sdk@1.27.1_zod@4.1.13/node_modules/@modelcontextprotocol/sdk/dist/esm/types.js.map +1 -0
- package/dist/node_modules/.pnpm/@modelcontextprotocol_sdk@1.27.1_zod@4.1.13/node_modules/@modelcontextprotocol/sdk/dist/esm/validation/ajv-provider.js.map +1 -0
- package/dist/sentry-config.js +2 -2
- package/dist/server/cli/mcp.js +3 -3
- package/dist/server/cli/run.js +2 -2
- package/dist/server/cli.js +2 -2
- package/dist/server/mcp/mcp.js +3 -3
- package/dist/ui/assets/instrumentation.js +2 -2
- package/package.json +2 -2
- package/dist/node_modules/.pnpm/@modelcontextprotocol_sdk@1.25.2_hono@4.12.8_zod@4.1.13/node_modules/@modelcontextprotocol/sdk/dist/esm/client/index.js.map +0 -1
- package/dist/node_modules/.pnpm/@modelcontextprotocol_sdk@1.25.2_hono@4.12.8_zod@4.1.13/node_modules/@modelcontextprotocol/sdk/dist/esm/experimental/tasks/client.js.map +0 -1
- package/dist/node_modules/.pnpm/@modelcontextprotocol_sdk@1.25.2_hono@4.12.8_zod@4.1.13/node_modules/@modelcontextprotocol/sdk/dist/esm/experimental/tasks/helpers.js.map +0 -1
- package/dist/node_modules/.pnpm/@modelcontextprotocol_sdk@1.25.2_hono@4.12.8_zod@4.1.13/node_modules/@modelcontextprotocol/sdk/dist/esm/experimental/tasks/interfaces.js.map +0 -1
- package/dist/node_modules/.pnpm/@modelcontextprotocol_sdk@1.25.2_hono@4.12.8_zod@4.1.13/node_modules/@modelcontextprotocol/sdk/dist/esm/experimental/tasks/mcp-server.js.map +0 -1
- package/dist/node_modules/.pnpm/@modelcontextprotocol_sdk@1.25.2_hono@4.12.8_zod@4.1.13/node_modules/@modelcontextprotocol/sdk/dist/esm/experimental/tasks/server.js +0 -82
- package/dist/node_modules/.pnpm/@modelcontextprotocol_sdk@1.25.2_hono@4.12.8_zod@4.1.13/node_modules/@modelcontextprotocol/sdk/dist/esm/experimental/tasks/server.js.map +0 -1
- package/dist/node_modules/.pnpm/@modelcontextprotocol_sdk@1.25.2_hono@4.12.8_zod@4.1.13/node_modules/@modelcontextprotocol/sdk/dist/esm/server/completable.js.map +0 -1
- package/dist/node_modules/.pnpm/@modelcontextprotocol_sdk@1.25.2_hono@4.12.8_zod@4.1.13/node_modules/@modelcontextprotocol/sdk/dist/esm/server/index.js.map +0 -1
- package/dist/node_modules/.pnpm/@modelcontextprotocol_sdk@1.25.2_hono@4.12.8_zod@4.1.13/node_modules/@modelcontextprotocol/sdk/dist/esm/server/mcp.js.map +0 -1
- package/dist/node_modules/.pnpm/@modelcontextprotocol_sdk@1.25.2_hono@4.12.8_zod@4.1.13/node_modules/@modelcontextprotocol/sdk/dist/esm/server/stdio.js.map +0 -1
- package/dist/node_modules/.pnpm/@modelcontextprotocol_sdk@1.25.2_hono@4.12.8_zod@4.1.13/node_modules/@modelcontextprotocol/sdk/dist/esm/server/zod-compat.js.map +0 -1
- package/dist/node_modules/.pnpm/@modelcontextprotocol_sdk@1.25.2_hono@4.12.8_zod@4.1.13/node_modules/@modelcontextprotocol/sdk/dist/esm/server/zod-json-schema-compat.js.map +0 -1
- package/dist/node_modules/.pnpm/@modelcontextprotocol_sdk@1.25.2_hono@4.12.8_zod@4.1.13/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/protocol.js.map +0 -1
- package/dist/node_modules/.pnpm/@modelcontextprotocol_sdk@1.25.2_hono@4.12.8_zod@4.1.13/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/stdio.js.map +0 -1
- package/dist/node_modules/.pnpm/@modelcontextprotocol_sdk@1.25.2_hono@4.12.8_zod@4.1.13/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/toolNameValidation.js.map +0 -1
- package/dist/node_modules/.pnpm/@modelcontextprotocol_sdk@1.25.2_hono@4.12.8_zod@4.1.13/node_modules/@modelcontextprotocol/sdk/dist/esm/types.js.map +0 -1
- package/dist/node_modules/.pnpm/@modelcontextprotocol_sdk@1.25.2_hono@4.12.8_zod@4.1.13/node_modules/@modelcontextprotocol/sdk/dist/esm/validation/ajv-provider.js.map +0 -1
- /package/dist/node_modules/.pnpm/{@modelcontextprotocol_sdk@1.25.2_hono@4.12.8_zod@4.1.13 → @modelcontextprotocol_sdk@1.27.1_zod@4.1.13}/node_modules/@modelcontextprotocol/sdk/dist/esm/experimental/tasks/client.js +0 -0
- /package/dist/node_modules/.pnpm/{@modelcontextprotocol_sdk@1.25.2_hono@4.12.8_zod@4.1.13 → @modelcontextprotocol_sdk@1.27.1_zod@4.1.13}/node_modules/@modelcontextprotocol/sdk/dist/esm/experimental/tasks/helpers.js +0 -0
- /package/dist/node_modules/.pnpm/{@modelcontextprotocol_sdk@1.25.2_hono@4.12.8_zod@4.1.13 → @modelcontextprotocol_sdk@1.27.1_zod@4.1.13}/node_modules/@modelcontextprotocol/sdk/dist/esm/experimental/tasks/interfaces.js +0 -0
- /package/dist/node_modules/.pnpm/{@modelcontextprotocol_sdk@1.25.2_hono@4.12.8_zod@4.1.13 → @modelcontextprotocol_sdk@1.27.1_zod@4.1.13}/node_modules/@modelcontextprotocol/sdk/dist/esm/experimental/tasks/mcp-server.js +0 -0
- /package/dist/node_modules/.pnpm/{@modelcontextprotocol_sdk@1.25.2_hono@4.12.8_zod@4.1.13 → @modelcontextprotocol_sdk@1.27.1_zod@4.1.13}/node_modules/@modelcontextprotocol/sdk/dist/esm/server/completable.js +0 -0
- /package/dist/node_modules/.pnpm/{@modelcontextprotocol_sdk@1.25.2_hono@4.12.8_zod@4.1.13 → @modelcontextprotocol_sdk@1.27.1_zod@4.1.13}/node_modules/@modelcontextprotocol/sdk/dist/esm/server/index.js +0 -0
- /package/dist/node_modules/.pnpm/{@modelcontextprotocol_sdk@1.25.2_hono@4.12.8_zod@4.1.13 → @modelcontextprotocol_sdk@1.27.1_zod@4.1.13}/node_modules/@modelcontextprotocol/sdk/dist/esm/server/mcp.js +0 -0
- /package/dist/node_modules/.pnpm/{@modelcontextprotocol_sdk@1.25.2_hono@4.12.8_zod@4.1.13 → @modelcontextprotocol_sdk@1.27.1_zod@4.1.13}/node_modules/@modelcontextprotocol/sdk/dist/esm/server/stdio.js +0 -0
- /package/dist/node_modules/.pnpm/{@modelcontextprotocol_sdk@1.25.2_hono@4.12.8_zod@4.1.13 → @modelcontextprotocol_sdk@1.27.1_zod@4.1.13}/node_modules/@modelcontextprotocol/sdk/dist/esm/server/zod-compat.js +0 -0
- /package/dist/node_modules/.pnpm/{@modelcontextprotocol_sdk@1.25.2_hono@4.12.8_zod@4.1.13 → @modelcontextprotocol_sdk@1.27.1_zod@4.1.13}/node_modules/@modelcontextprotocol/sdk/dist/esm/server/zod-json-schema-compat.js +0 -0
- /package/dist/node_modules/.pnpm/{@modelcontextprotocol_sdk@1.25.2_hono@4.12.8_zod@4.1.13 → @modelcontextprotocol_sdk@1.27.1_zod@4.1.13}/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/stdio.js +0 -0
- /package/dist/node_modules/.pnpm/{@modelcontextprotocol_sdk@1.25.2_hono@4.12.8_zod@4.1.13 → @modelcontextprotocol_sdk@1.27.1_zod@4.1.13}/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/toolNameValidation.js +0 -0
- /package/dist/node_modules/.pnpm/{@modelcontextprotocol_sdk@1.25.2_hono@4.12.8_zod@4.1.13 → @modelcontextprotocol_sdk@1.27.1_zod@4.1.13}/node_modules/@modelcontextprotocol/sdk/dist/esm/types.js +0 -0
- /package/dist/node_modules/.pnpm/{@modelcontextprotocol_sdk@1.25.2_hono@4.12.8_zod@4.1.13 → @modelcontextprotocol_sdk@1.27.1_zod@4.1.13}/node_modules/@modelcontextprotocol/sdk/dist/esm/validation/ajv-provider.js +0 -0
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{D as R,d as m,g as Ve,G as Q,a as de,b as le,S as vt,i as br,c as On,e as Lt,T as Do,n as tr,f as Fo,h as ut,j as He,s as $,k as Ur,l as nr,m as Xt,o as Qt,t as ue,p as Ue,q as ce,r as lu,u as Dt,v as Ae,w as du,x as Ct,y as ls,z as fu,A as z,B as ni,C as ne,E as Tn,F as ri,H as pu,I as Bo,J as xe,K as zt,L as rr,_ as sr,M as Ho,N as Uo,O as $o,P as In,Q as Mt,R as zo,U as hu,V as Wo,W as Wt,X as mu,Y as gu,Z as _u,$ as qo,a0 as ds,a1 as fs,a2 as Zt,a3 as wn,a4 as si,a5 as jo,a6 as ps,a7 as Vo,a8 as ir,a9 as Su,aa as yu,ab as Pe,ac as ii,ad as oi,ae as Go,af as Yo,ag as ot,ah as Eu,ai as $r,aj as ai,ak as bu,al as vu,am as Tu,an as Iu,ao as wu,ap as ku,aq as Ru,ar as Jo,as as et,at as Fe,au as Ln,av as Ko,aw as _e,ax as ci,ay as ui,az as Xo,aA as hs,aB as Cu,aC as Qo,aD as Dn,aE as Zo,aF as li,aG as Mu,aH as di,aI as ms,aJ as Fn,aK as Au,aL as xu,aM as F,aN as fe,aO as be,aP as ea,aQ as Ft,aR as Pu,aS as Tt,aT as v,aU as fi,aV as qt,aW as pi,aX as hi,aY as ta,aZ as na,a_ as en,a$ as gs,b0 as Nu,b1 as Ou,b2 as ra,b3 as Lu,b4 as Du,b5 as Fu,b6 as Bu,b7 as Hu,b8 as sa,b9 as vr,ba as Uu,bb as $u,bc as zu,bd as Wu,be as qu}from"./serverTimingMeta.js";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="
|
|
1
|
+
import{D as R,d as m,g as Ve,G as Q,a as de,b as le,S as vt,i as br,c as On,e as Lt,T as Do,n as tr,f as Fo,h as ut,j as He,s as $,k as Ur,l as nr,m as Xt,o as Qt,t as ue,p as Ue,q as ce,r as lu,u as Dt,v as Ae,w as du,x as Ct,y as ls,z as fu,A as z,B as ni,C as ne,E as Tn,F as ri,H as pu,I as Bo,J as xe,K as zt,L as rr,_ as sr,M as Ho,N as Uo,O as $o,P as In,Q as Mt,R as zo,U as hu,V as Wo,W as Wt,X as mu,Y as gu,Z as _u,$ as qo,a0 as ds,a1 as fs,a2 as Zt,a3 as wn,a4 as si,a5 as jo,a6 as ps,a7 as Vo,a8 as ir,a9 as Su,aa as yu,ab as Pe,ac as ii,ad as oi,ae as Go,af as Yo,ag as ot,ah as Eu,ai as $r,aj as ai,ak as bu,al as vu,am as Tu,an as Iu,ao as wu,ap as ku,aq as Ru,ar as Jo,as as et,at as Fe,au as Ln,av as Ko,aw as _e,ax as ci,ay as ui,az as Xo,aA as hs,aB as Cu,aC as Qo,aD as Dn,aE as Zo,aF as li,aG as Mu,aH as di,aI as ms,aJ as Fn,aK as Au,aL as xu,aM as F,aN as fe,aO as be,aP as ea,aQ as Ft,aR as Pu,aS as Tt,aT as v,aU as fi,aV as qt,aW as pi,aX as hi,aY as ta,aZ as na,a_ as en,a$ as gs,b0 as Nu,b1 as Ou,b2 as ra,b3 as Lu,b4 as Du,b5 as Fu,b6 as Bu,b7 as Hu,b8 as sa,b9 as vr,ba as Uu,bb as $u,bc as zu,bd as Wu,be as qu}from"./serverTimingMeta.js";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="0a77f391-2c00-407e-b2e4-c2170d657a47",e._sentryDebugIdIdentifier="sentry-dbid-0a77f391-2c00-407e-b2e4-c2170d657a47")}catch{}})();const kn={},mi={};function Ke(e,t){kn[e]=kn[e]||[],kn[e].push(t)}function Xe(e,t){if(!mi[e]){mi[e]=!0;try{t()}catch(n){R&&m.error(`Error while instrumenting ${e}`,n)}}}function ke(e,t){const n=e&&kn[e];if(n)for(const r of n)try{r(t)}catch(s){R&&m.error(`Error while triggering instrumentation handler.
|
|
2
2
|
Type: ${e}
|
|
3
3
|
Name: ${Ve(r)}
|
|
4
4
|
Error:`,s)}}let Tr=null;function ia(e){const t="error";Ke(t,e),Xe(t,ju)}function ju(){Tr=Q.onerror,Q.onerror=function(e,t,n,r,s){return ke("error",{column:r,error:s,line:n,msg:e,url:t}),Tr?Tr.apply(this,arguments):!1},Q.onerror.__SENTRY_INSTRUMENTED__=!0}let Ir=null;function oa(e){const t="unhandledrejection";Ke(t,e),Xe(t,Vu)}function Vu(){Ir=Q.onunhandledrejection,Q.onunhandledrejection=function(e){return ke("unhandledrejection",e),Ir?Ir.apply(this,arguments):!0},Q.onunhandledrejection.__SENTRY_INSTRUMENTED__=!0}let gi=!1;function Gu(){if(gi)return;function e(){const t=de(),n=t&&le(t);if(n){const r="internal_error";R&&m.log(`[Tracing] Root span: ${r} -> Global error occurred`),n.setStatus({code:vt,message:r})}}e.tag="sentry_tracingErrorCallback",gi=!0,ia(e),oa(e)}function _i(e){m.log(`Ignoring span ${e.op} - ${e.description} because it matches \`ignoreSpans\`.`)}function Bn(e,t){if(!(t!=null&&t.length)||!e.description)return!1;for(const n of t){if(Ju(n)){if(br(e.description,n))return R&&_i(e),!0;continue}if(!n.name&&!n.op)continue;const r=n.name?br(e.description,n.name):!0,s=n.op?e.op&&br(e.op,n.op):!0;if(r&&s)return R&&_i(e),!0}return!1}function Yu(e,t){const n=t.parent_span_id,r=t.span_id;if(n)for(const s of e)s.parent_span_id===r&&(s.parent_span_id=n)}function Ju(e){return typeof e=="string"||e instanceof RegExp}class Ge{constructor(t={}){this._traceId=t.traceId||On(),this._spanId=t.spanId||Lt()}spanContext(){return{spanId:this._spanId,traceId:this._traceId,traceFlags:Do}}end(t){}setAttribute(t,n){return this}setAttributes(t){return this}setStatus(t){return this}updateName(t){return this}isRecording(){return!1}addEvent(t,n,r){return this}addLink(t){return this}addLinks(t){return this}recordException(t,n){}}function $e(e,t=[]){return[e,t]}function Ku(e,t){const[n,r]=e;return[n,[...r,t]]}function Hn(e,t){const n=e[1];for(const r of n){const s=r[0].type;if(t(r,s))return!0}return!1}function Si(e,t){return Hn(e,(n,r)=>t.includes(r))}function Un(e){const t=Fo(Q);return t.encodePolyfill?t.encodePolyfill(e):new TextEncoder().encode(e)}function Xu(e){const t=Fo(Q);return t.decodePolyfill?t.decodePolyfill(e):new TextDecoder().decode(e)}function $n(e){const[t,n]=e;let r=JSON.stringify(t);function s(i){typeof r=="string"?r=typeof i=="string"?r+i:[Un(r),i]:r.push(typeof i=="string"?Un(i):i)}for(const i of n){const[o,c]=i;if(s(`
|
|
@@ -20,5 +20,5 @@ Error:`,s)}}function Hf(){return kf(e=>{on("cls",{metric:e}),za=e},{reportAllCha
|
|
|
20
20
|
`).reduce((n,r)=>{const[s,i]=r.split(": ");return i&&(n[s.toLowerCase()]=i),n},{}):{}}const Nr=[],Pn=new Map,ft=new Map,Ap=60;function xp(){if(an()&&fe()){const t=Pp();return()=>{t()}}return()=>{}}const Xr={click:"click",pointerdown:"click",pointerup:"click",mousedown:"click",mouseup:"click",touchstart:"click",touchend:"click",mouseover:"hover",mouseout:"hover",mouseenter:"hover",mouseleave:"hover",pointerover:"hover",pointerout:"hover",pointerenter:"hover",pointerleave:"hover",dragstart:"drag",dragend:"drag",drag:"drag",dragenter:"drag",dragleave:"drag",dragover:"drag",drop:"drag",keydown:"press",keyup:"press",keypress:"press",input:"press"};function Pp(){return Va(Np)}const Np=({metric:e})=>{if(e.value==null)return;const t=ie(e.value);if(t>Ap)return;const n=e.entries.find(h=>h.duration===e.value&&Xr[h.name]);if(!n)return;const{interactionId:r}=n,s=Xr[n.name],i=ie(fe()+n.startTime),o=de(),c=o?le(o):void 0,a=r!=null?Pn.get(r):void 0,u=(a==null?void 0:a.span)||c,d=u?$(u).description:ne().getScopeData().transactionName,l=(a==null?void 0:a.elementName)||be(n.target),f={[ce]:"auto.http.browser.inp",[Ue]:`ui.interaction.${s}`,[Ct]:n.duration},p=Ns({name:l,transaction:d,attributes:f,startTime:i});p&&(p.addEvent("inp",{[Xt]:"millisecond",[Qt]:e.value}),p.end(i+t))};function Op(){const e=Object.keys(Xr);jr()&&e.forEach(s=>{A.addEventListener(s,t,{capture:!0,passive:!0})});function t(s){const i=s.target;if(!i)return;const o=be(i),c=Math.round(s.timeStamp);if(ft.set(c,o),ft.size>50){const a=ft.keys().next().value;a!==void 0&&ft.delete(a)}}function n(s){const i=Math.round(s.startTime);let o=ft.get(i);if(!o)for(let c=-5;c<=5;c++){const a=ft.get(i+c);if(a){o=a;break}}return o||"<unknown>"}const r=({entries:s})=>{const i=de(),o=i&&le(i);s.forEach(c=>{if(!qf(c))return;const a=c.interactionId;if(a==null||Pn.has(a))return;const u=c.target?be(c.target):n(c);if(Nr.length>10){const d=Nr.shift();Pn.delete(d)}Nr.push(a),Pn.set(a,{span:o,elementName:u})})};ct("event",r),ct("first-input",r)}const Lp=40;function Ls(e,t=Os("fetch")){let n=0,r=0;async function s(i){const o=i.body.length;n+=o,r++;const c={body:i.body,method:"POST",referrerPolicy:"strict-origin",headers:e.headers,keepalive:n<=6e4&&r<15,...e.fetchOptions};try{const a=await t(e.url,c);return{statusCode:a.status,headers:{"x-sentry-rate-limits":a.headers.get("X-Sentry-Rate-Limits"),"retry-after":a.headers.get("Retry-After")}}}catch(a){throw kp("fetch"),a}finally{n-=o,r--}}return $l(e,s,vs(e.bufferSize||Lp))}const Dp=30,Fp=50;function Qr(e,t,n,r){const s={filename:e,function:t==="<anonymous>"?Tt:t,in_app:!0};return n!==void 0&&(s.lineno=n),r!==void 0&&(s.colno=r),s}const Bp=/^\s*at (\S+?)(?::(\d+))(?::(\d+))\s*$/i,Hp=/^\s*at (?:(.+?\)(?: \[.+\])?|.*?) ?\((?:address at )?)?(?:async )?((?:<anonymous>|[-a-z]+:|.*bundle|\/)?.*?)(?::(\d+))?(?::(\d+))?\)?\s*$/i,Up=/\((\S*)(?::(\d+))(?::(\d+))\)/,$p=/at (.+?) ?\(data:(.+?),/,zp=e=>{const t=e.match($p);if(t)return{filename:`<data:${t[2]}>`,function:t[1]};const n=Bp.exec(e);if(n){const[,s,i,o]=n;return Qr(s,Tt,+i,+o)}const r=Hp.exec(e);if(r){if(r[2]&&r[2].indexOf("eval")===0){const c=Up.exec(r[2]);c&&(r[2]=c[1],r[3]=c[2],r[4]=c[3])}const[i,o]=sc(r[1]||Tt,r[2]);return Qr(o,i,r[3]?+r[3]:void 0,r[4]?+r[4]:void 0)}},Wp=[Dp,zp],qp=/^\s*(.*?)(?:\((.*?)\))?(?:^|@)?((?:[-a-z]+)?:\/.*?|\[native code\]|[^@]*(?:bundle|\d+\.js)|\/[\w\-. /=]+)(?::(\d+))?(?::(\d+))?\s*$/i,jp=/(\S+) line (\d+)(?: > eval line \d+)* > eval/i,Vp=e=>{const t=qp.exec(e);if(t){if(t[3]&&t[3].indexOf(" > eval")>-1){const i=jp.exec(t[3]);i&&(t[1]=t[1]||"eval",t[3]=i[1],t[4]=i[2],t[5]="")}let r=t[3],s=t[1]||Tt;return[s,r]=sc(s,r),Qr(r,s,t[4]?+t[4]:void 0,t[5]?+t[5]:void 0)}},Gp=[Fp,Vp],Yp=[Wp,Gp],Jp=Pu(...Yp),sc=(e,t)=>{const n=e.indexOf("safari-extension")!==-1,r=e.indexOf("safari-web-extension")!==-1;return n||r?[e.indexOf("@")!==-1?e.split("@")[0]:Tt,n?`safari-extension:${t}`:`safari-web-extension:${t}`]:[e,t]},_n=1024,Kp="Breadcrumbs",Xp=((e={})=>{const t={console:!0,dom:!0,fetch:!0,history:!0,sentry:!0,xhr:!0,...e};return{name:Kp,setup(n){t.console&&Ca(th(n)),t.dom&&Qa(eh(n,t.dom)),t.xhr&&Za(nh(n)),t.fetch&&Na(rh(n)),t.history&&lr(sh(n)),t.sentry&&n.on("beforeSendEvent",Zp(n))}}}),Qp=Xp;function Zp(e){return function(n){z()===e&&Ye({category:`sentry.${n.type==="transaction"?"transaction":"event"}`,event_id:n.event_id,level:n.level,message:et(n)},{event:n})}}function eh(e,t){return function(r){if(z()!==e)return;let s,i,o=typeof t=="object"?t.serializeAttribute:void 0,c=typeof t=="object"&&typeof t.maxStringLength=="number"?t.maxStringLength:void 0;c&&c>_n&&(v&&m.warn(`\`dom.maxStringLength\` cannot exceed ${_n}, but a value of ${c} was configured. Sentry will use ${_n} instead.`),c=_n),typeof o=="string"&&(o=[o]);try{const u=r.event,d=ih(u)?u.target:u;s=be(d,{keyAttrs:o,maxStringLength:c}),i=ea(d)}catch{s="<unknown>"}if(s.length===0)return;const a={category:`ui.${r.name}`,message:s};i&&(a.data={"ui.component_name":i}),Ye(a,{event:r.event,name:r.name,global:r.global})}}function th(e){return function(n){if(z()!==e)return;const r={category:"console",data:{arguments:n.args,logger:"console"},level:Ma(n.level),message:fi(n.args," ")};if(n.level==="assert")if(n.args[0]===!1)r.message=`Assertion failed: ${fi(n.args.slice(1)," ")||"console.assert"}`,r.data.arguments=n.args.slice(1);else return;Ye(r,{input:n.args,level:n.level})}}function nh(e){return function(n){if(z()!==e)return;const{startTimestamp:r,endTimestamp:s}=n,i=n.xhr[tt];if(!r||!s||!i)return;const{method:o,url:c,status_code:a,body:u}=i,d={method:o,url:c,status_code:a},l={xhr:n.xhr,input:u,startTimestamp:r,endTimestamp:s},f={category:"xhr",data:d,type:"http",level:Pa(a)};e.emit("beforeOutgoingRequestBreadcrumb",f,l),Ye(f,l)}}function rh(e){return function(n){if(z()!==e)return;const{startTimestamp:r,endTimestamp:s}=n;if(s&&!(n.fetchData.url.match(/sentry_key/)&&n.fetchData.method==="POST"))if(n.fetchData.method,n.fetchData.url,n.error){const i=n.fetchData,o={data:n.error,input:n.args,startTimestamp:r,endTimestamp:s},c={category:"fetch",data:i,level:"error",type:"http"};e.emit("beforeOutgoingRequestBreadcrumb",c,o),Ye(c,o)}else{const i=n.response,o={...n.fetchData,status_code:i==null?void 0:i.status};n.fetchData.request_body_size,n.fetchData.response_body_size,i==null||i.status;const c={input:n.args,response:i,startTimestamp:r,endTimestamp:s},a={category:"fetch",data:o,type:"http",level:Pa(o.status_code)};e.emit("beforeOutgoingRequestBreadcrumb",a,c),Ye(a,c)}}}function sh(e){return function(n){if(z()!==e)return;let r=n.from,s=n.to;const i=st(F.location.href);let o=r?st(r):void 0;const c=st(s);o!=null&&o.path||(o=i),i.protocol===c.protocol&&i.host===c.host&&(s=c.relative),i.protocol===o.protocol&&i.host===o.host&&(r=o.relative),Ye({category:"navigation",data:{from:r,to:s}})}}function ih(e){return!!e&&!!e.target}const oh=["EventTarget","Window","Node","ApplicationCache","AudioTrackList","BroadcastChannel","ChannelMergerNode","CryptoOperation","EventSource","FileReader","HTMLUnknownElement","IDBDatabase","IDBRequest","IDBTransaction","KeyOperation","MediaController","MessagePort","ModalWindow","Notification","SVGElementInstance","Screen","SharedWorker","TextTrack","TextTrackCue","TextTrackList","WebSocket","WebSocketWorker","Worker","XMLHttpRequest","XMLHttpRequestEventTarget","XMLHttpRequestUpload"],ah="BrowserApiErrors",ch=((e={})=>{const t={XMLHttpRequest:!0,eventTarget:!0,requestAnimationFrame:!0,setInterval:!0,setTimeout:!0,unregisterOriginalCallbacks:!1,...e};return{name:ah,setupOnce(){t.setTimeout&&_e(F,"setTimeout",Ji),t.setInterval&&_e(F,"setInterval",Ji),t.requestAnimationFrame&&_e(F,"requestAnimationFrame",lh),t.XMLHttpRequest&&"XMLHttpRequest"in F&&_e(XMLHttpRequest.prototype,"send",dh);const n=t.eventTarget;n&&(Array.isArray(n)?n:oh).forEach(s=>fh(s,t))}}}),uh=ch;function Ji(e){return function(...t){const n=t[0];return t[0]=qt(n,{mechanism:{handled:!1,type:`auto.browser.browserapierrors.${Ve(e)}`}}),e.apply(this,t)}}function lh(e){return function(t){return e.apply(this,[qt(t,{mechanism:{data:{handler:Ve(e)},handled:!1,type:"auto.browser.browserapierrors.requestAnimationFrame"}})])}}function dh(e){return function(...t){const n=this;return["onload","onerror","onprogress","onreadystatechange"].forEach(s=>{s in n&&typeof n[s]=="function"&&_e(n,s,function(i){const o={mechanism:{data:{handler:Ve(i)},handled:!1,type:`auto.browser.browserapierrors.xhr.${s}`}},c=Jo(i);return c&&(o.mechanism.data.handler=Ve(c)),qt(i,o)})}),e.apply(this,t)}}function fh(e,t){var s,i;const r=(s=F[e])==null?void 0:s.prototype;(i=r==null?void 0:r.hasOwnProperty)!=null&&i.call(r,"addEventListener")&&(_e(r,"addEventListener",function(o){return function(c,a,u){try{ph(a)&&(a.handleEvent=qt(a.handleEvent,{mechanism:{data:{handler:Ve(a),target:e},handled:!1,type:"auto.browser.browserapierrors.handleEvent"}}))}catch{}return t.unregisterOriginalCallbacks&&hh(this,c,a),o.apply(this,[c,qt(a,{mechanism:{data:{handler:Ve(a),target:e},handled:!1,type:"auto.browser.browserapierrors.addEventListener"}}),u])}}),_e(r,"removeEventListener",function(o){return function(c,a,u){try{const d=a.__sentry_wrapped__;d&&o.call(this,c,d,u)}catch{}return o.call(this,c,a,u)}}))}function ph(e){return typeof e.handleEvent=="function"}function hh(e,t,n){e&&typeof e=="object"&&"removeEventListener"in e&&typeof e.removeEventListener=="function"&&e.removeEventListener(t,n)}const mh=()=>({name:"BrowserSession",setupOnce(){if(typeof F.document>"u"){v&&m.warn("Using the `browserSessionIntegration` in non-browser environments is not supported.");return}pi({ignoreDuration:!0}),hi(),lr(({from:e,to:t})=>{e!==void 0&&e!==t&&(pi({ignoreDuration:!0}),hi())})}}),gh="GlobalHandlers",_h=((e={})=>{const t={onerror:!0,onunhandledrejection:!0,...e};return{name:gh,setupOnce(){Error.stackTraceLimit=50},setup(n){t.onerror&&(yh(n),Ki("onerror")),t.onunhandledrejection&&(Eh(n),Ki("onunhandledrejection"))}}}),Sh=_h;function yh(e){ia(t=>{const{stackParser:n,attachStacktrace:r}=ic();if(z()!==e||ta())return;const{msg:s,url:i,line:o,column:c,error:a}=t,u=Th(Rs(n,a||s,void 0,r,!1),i,o,c);u.level="error",na(u,{originalException:a,mechanism:{handled:!1,type:"auto.browser.global_handlers.onerror"}})})}function Eh(e){oa(t=>{const{stackParser:n,attachStacktrace:r}=ic();if(z()!==e||ta())return;const s=bh(t),i=ot(s)?vh(s):Rs(n,s,void 0,r,!0);i.level="error",na(i,{originalException:s,mechanism:{handled:!1,type:"auto.browser.global_handlers.onunhandledrejection"}})})}function bh(e){if(ot(e))return e;try{if("reason"in e)return e.reason;if("detail"in e&&"reason"in e.detail)return e.detail.reason}catch{}return e}function vh(e){return{exception:{values:[{type:"UnhandledRejection",value:`Non-Error promise rejection captured with value: ${String(e)}`}]}}}function Th(e,t,n,r){const s=e.exception=e.exception||{},i=s.values=s.values||[],o=i[0]=i[0]||{},c=o.stacktrace=o.stacktrace||{},a=c.frames=c.frames||[],u=r,d=n,l=Ih(t)??en();return a.length===0&&a.push({colno:u,filename:l,function:Tt,in_app:!0,lineno:d}),e}function Ki(e){v&&m.log(`Global Handler attached: ${e}`)}function ic(){const e=z();return(e==null?void 0:e.getOptions())||{stackParser:()=>[],attachStacktrace:!1}}function Ih(e){if(!(!Ft(e)||e.length===0)){if(e.startsWith("data:")){const t=e.match(/^data:([^;]+)/),n=t?t[1]:"text/javascript",r=e.includes("base64,");return`<data:${n}${r?",base64":""}>`}return e}}const wh=()=>({name:"HttpContext",preprocessEvent(e){var r;if(!F.navigator&&!F.location&&!F.document)return;const t=gs(),n={...t.headers,...(r=e.request)==null?void 0:r.headers};e.request={...t,...e.request,headers:n}}}),kh="cause",Rh=5,Ch="LinkedErrors",Mh=((e={})=>{const t=e.limit||Rh,n=e.key||kh;return{name:Ch,preprocessEvent(r,s,i){const o=i.getOptions();kd(ws,o.stackParser,n,t,r,s)}}}),Ah=Mh,xh="SpotlightBrowser",Ph=((e={})=>{const t=e.sidecarUrl||"http://localhost:8969/stream";return{name:xh,setup:()=>{v&&m.log("Using Sidecar URL",t)},processEvent:n=>Lh(n)?null:n,afterAllSetup:n=>{Nh(n,t)}}});function Nh(e,t){const n=Os("fetch");let r=0;e.on("beforeEnvelope",s=>{if(r>3){m.warn("[Spotlight] Disabled Sentry -> Spotlight integration due to too many failed requests:",r);return}n(t,{method:"POST",body:$n(s),headers:{"Content-Type":"application/x-sentry-envelope"},mode:"cors"}).then(i=>{i.status>=200&&i.status<400&&(r=0)},i=>{r++,m.error("Sentry SDK can't connect to Sidecar is it running? See: https://spotlightjs.com/sidecar/npx/",i)})})}const Oh=Ph;function Lh(e){var t;return!!(e.type==="transaction"&&e.spans&&((t=e.contexts)!=null&&t.trace)&&e.contexts.trace.op==="ui.action.click"&&e.spans.some(({description:n})=>n==null?void 0:n.includes("#sentry-spotlight")))}function Dh(){return Fh()?(v&&Zt(()=>{console.error("[Sentry] You cannot use Sentry.init() in a browser extension, see: https://docs.sentry.io/platforms/javascript/best-practices/browser-extensions/")}),!0):!1}function Fh(){var i;if(typeof F.window>"u")return!1;const e=F;if(e.nw)return!1;const t=e.chrome||e.browser;if(!((i=t==null?void 0:t.runtime)!=null&&i.id))return!1;const n=en(),r=["chrome-extension","moz-extension","ms-browser-extension","safari-web-extension"];return!(F===F.top&&r.some(o=>n.startsWith(`${o}://`)))}function Bh(e){return[Sd(),hd(),uh(),Qp(),Sh(),Ah(),Ad(),wh(),mh()]}function Hh(e={}){const t=!e.skipBrowserExtensionCheck&&Dh();let n=e.defaultIntegrations==null?Bh():e.defaultIntegrations;const r={...e,enabled:t?!1:e.enabled,stackParser:Nu(e.stackParser||Jp),integrations:Il({integrations:e.integrations,defaultIntegrations:n}),transport:e.transport||Ls};return Xl(_f,r)}const te=Q,Ds="sentryReplaySession",Uh="replay_event",Fs="Unable to send Replay",$h=3e5,zh=9e5,Wh=5e3,qh=5500,jh=6e4,Vh=5e3,Gh=3,Xi=15e4,Sn=5e3,Yh=3e3,Jh=300,Bs=2e7,Kh=4999,Xh=5e4,Qi=36e5;var Qh=Object.defineProperty,Zh=(e,t,n)=>t in e?Qh(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Zi=(e,t,n)=>Zh(e,typeof t!="symbol"?t+"":t,n),ae=(e=>(e[e.Document=0]="Document",e[e.DocumentType=1]="DocumentType",e[e.Element=2]="Element",e[e.Text=3]="Text",e[e.CDATA=4]="CDATA",e[e.Comment=5]="Comment",e))(ae||{});function em(e){return e.nodeType===e.ELEMENT_NODE}function Ht(e){const t=e==null?void 0:e.host;return(t==null?void 0:t.shadowRoot)===e}function Ut(e){return Object.prototype.toString.call(e)==="[object ShadowRoot]"}function tm(e){return e.includes(" background-clip: text;")&&!e.includes(" -webkit-background-clip: text;")&&(e=e.replace(/\sbackground-clip:\s*text;/g," -webkit-background-clip: text; background-clip: text;")),e}function nm(e){const{cssText:t}=e;if(t.split('"').length<3)return t;const n=["@import",`url(${JSON.stringify(e.href)})`];return e.layerName===""?n.push("layer"):e.layerName&&n.push(`layer(${e.layerName})`),e.supportsText&&n.push(`supports(${e.supportsText})`),e.media.length&&n.push(e.media.mediaText),n.join(" ")+";"}function Vn(e){try{const t=e.rules||e.cssRules;return t?tm(Array.from(t,oc).join("")):null}catch{return null}}function rm(e){let t="";for(let n=0;n<e.style.length;n++){const r=e.style,s=r[n],i=r.getPropertyPriority(s);t+=`${s}:${r.getPropertyValue(s)}${i?" !important":""};`}return`${e.selectorText} { ${t} }`}function oc(e){let t;if(im(e))try{t=Vn(e.styleSheet)||nm(e)}catch{}else if(om(e)){let n=e.cssText;const r=e.selectorText.includes(":"),s=typeof e.style.all=="string"&&e.style.all;if(s&&(n=rm(e)),r&&(n=sm(n)),r||s)return n}return t||e.cssText}function sm(e){const t=/(\[(?:[\w-]+)[^\\])(:(?:[\w-]+)\])/gm;return e.replace(t,"$1\\$2")}function im(e){return"styleSheet"in e}function om(e){return"selectorText"in e}class ac{constructor(){Zi(this,"idNodeMap",new Map),Zi(this,"nodeMetaMap",new WeakMap)}getId(t){var r;return t?((r=this.getMeta(t))==null?void 0:r.id)??-1:-1}getNode(t){return this.idNodeMap.get(t)||null}getIds(){return Array.from(this.idNodeMap.keys())}getMeta(t){return this.nodeMetaMap.get(t)||null}removeNodeFromMap(t){const n=this.getId(t);this.idNodeMap.delete(n),t.childNodes&&t.childNodes.forEach(r=>this.removeNodeFromMap(r))}has(t){return this.idNodeMap.has(t)}hasNode(t){return this.nodeMetaMap.has(t)}add(t,n){const r=n.id;this.idNodeMap.set(r,t),this.nodeMetaMap.set(t,n)}replace(t,n){const r=this.getNode(t);if(r){const s=this.nodeMetaMap.get(r);s&&this.nodeMetaMap.set(n,s)}this.idNodeMap.set(t,n)}reset(){this.idNodeMap=new Map,this.nodeMetaMap=new WeakMap}}function am(){return new ac}function dr({maskInputOptions:e,tagName:t,type:n}){return t==="OPTION"&&(t="SELECT"),!!(e[t.toLowerCase()]||n&&e[n]||n==="password"||t==="INPUT"&&!n&&e.text)}function Vt({isMasked:e,element:t,value:n,maskInputFn:r}){let s=n||"";return e?(r&&(s=r(s,t)),"*".repeat(s.length)):s}function It(e){return e.toLowerCase()}function Zr(e){return e.toUpperCase()}const eo="__rrweb_original__";function cm(e){const t=e.getContext("2d");if(!t)return!0;const n=50;for(let r=0;r<e.width;r+=n)for(let s=0;s<e.height;s+=n){const i=t.getImageData,o=eo in i?i[eo]:i;if(new Uint32Array(o.call(t,r,s,Math.min(n,e.width-r),Math.min(n,e.height-s)).data.buffer).some(a=>a!==0))return!1}return!0}function Hs(e){const t=e.type;return e.hasAttribute("data-rr-is-password")?"password":t?It(t):null}function Gn(e,t,n){return t==="INPUT"&&(n==="radio"||n==="checkbox")?e.getAttribute("value")||"":e.value}function cc(e,t){let n;try{n=new URL(e,t??window.location.href)}catch{return null}const r=/\.([0-9a-z]+)(?:$)/i,s=n.pathname.match(r);return(s==null?void 0:s[1])??null}const to={};function uc(e){const t=to[e];if(t)return t;const n=window.document;let r=window[e];if(n&&typeof n.createElement=="function")try{const s=n.createElement("iframe");s.hidden=!0,n.head.appendChild(s);const i=s.contentWindow;i&&i[e]&&(r=i[e]),n.head.removeChild(s)}catch{}return to[e]=r.bind(window)}function es(...e){return uc("setTimeout")(...e)}function lc(...e){return uc("clearTimeout")(...e)}function dc(e){try{return e.contentDocument}catch{}}let um=1;const lm=new RegExp("[^a-z0-9-_:]"),Gt=-2;function Us(){return um++}function dm(e){if(e instanceof HTMLFormElement)return"form";const t=It(e.tagName);return lm.test(t)?"div":t}function fm(e){let t="";return e.indexOf("//")>-1?t=e.split("/").slice(0,3).join("/"):t=e.split("/")[0],t=t.split("?")[0],t}let pt,no;const pm=/url\((?:(')([^']*)'|(")(.*?)"|([^)]*))\)/gm,hm=/^(?:[a-z+]+:)?\/\//i,mm=/^www\..*/i,gm=/^(data:)([^,]*),(.*)/i;function _m(e,t){if(!e||t.size===0)return e;try{const n=e.split(";"),r=[];for(let s of n){if(s=s.trim(),!s)continue;const i=s.indexOf(":");if(i===-1){r.push(s);continue}const o=s.slice(0,i).trim();t.has(o)||r.push(s)}return r.join("; ")+(r.length>0&&e.endsWith(";")?";":"")}catch(n){return console.warn("Error filtering CSS properties:",n),e}}function Yn(e,t){return(e||"").replace(pm,(n,r,s,i,o,c)=>{const a=s||o||c,u=r||i||"";if(!a)return n;if(hm.test(a)||mm.test(a))return`url(${u}${a}${u})`;if(gm.test(a))return`url(${u}${a}${u})`;if(a[0]==="/")return`url(${u}${fm(t)+a}${u})`;const d=t.split("/"),l=a.split("/");d.pop();for(const f of l)f!=="."&&(f===".."?d.pop():d.push(f));return`url(${u}${d.join("/")}${u})`})}const Sm=/^[^ \t\n\r\u000c]+/,ym=/^[, \t\n\r\u000c]+/;function Em(e,t){if(t.trim()==="")return t;let n=0;function r(i){let o;const c=i.exec(t.substring(n));return c?(o=c[0],n+=o.length,o):""}const s=[];for(;r(ym),!(n>=t.length);){let i=r(Sm);if(i.slice(-1)===",")i=_t(e,i.substring(0,i.length-1)),s.push(i);else{let o="";i=_t(e,i);let c=!1;for(;;){const a=t.charAt(n);if(a===""){s.push((i+o).trim());break}else if(c)a===")"&&(c=!1);else if(a===","){n+=1,s.push((i+o).trim());break}else a==="("&&(c=!0);o+=a,n+=1}}}return s.join(", ")}const ro=new WeakMap;function _t(e,t){return!t||t.trim()===""?t:fr(e,t)}function bm(e){return!!(e.tagName==="svg"||e.ownerSVGElement)}function fr(e,t){let n=ro.get(e);if(n||(n=e.createElement("a"),ro.set(e,n)),!t)t="";else if(t.startsWith("blob:")||t.startsWith("data:"))return t;return n.setAttribute("href",t),n.href}function fc(e,t,n,r,s,i,o){if(!r)return r;if(n==="src"||n==="href"&&!(t==="use"&&r[0]==="#"))return _t(e,r);if(n==="xlink:href"&&r[0]!=="#")return _t(e,r);if(n==="background"&&(t==="table"||t==="td"||t==="th"))return _t(e,r);if(n==="srcset")return Em(e,r);if(n==="style"){let c=Yn(r,fr(e));return o&&o.size>0&&(c=_m(c,o)),c}else if(t==="object"&&n==="data")return _t(e,r);return typeof i=="function"?i(n,r,s):r}function pc(e,t,n){return(e==="video"||e==="audio")&&t==="autoplay"}function vm(e,t,n,r){try{if(r&&e.matches(r))return!1;if(typeof t=="string"){if(e.classList.contains(t))return!0}else for(let s=e.classList.length;s--;){const i=e.classList[s];if(t.test(i))return!0}if(n)return e.matches(n)}catch{}return!1}function Tm(e,t){for(let n=e.classList.length;n--;){const r=e.classList[n];if(t.test(r))return!0}return!1}function nt(e,t,n=1/0,r=0){return!e||e.nodeType!==e.ELEMENT_NODE||r>n?-1:t(e)?r:nt(e.parentNode,t,n,r+1)}function St(e,t){return n=>{const r=n;if(r===null)return!1;try{if(e){if(typeof e=="string"){if(r.matches(`.${e}`))return!0}else if(Tm(r,e))return!0}return!!(t&&r.matches(t))}catch{return!1}}}function wt(e,t,n,r,s,i){try{const o=e.nodeType===e.ELEMENT_NODE?e:e.parentElement;if(o===null)return!1;if(o.tagName==="INPUT"){const u=o.getAttribute("autocomplete");if(["current-password","new-password","cc-number","cc-exp","cc-exp-month","cc-exp-year","cc-csc"].includes(u))return!0}let c=-1,a=-1;if(i){if(a=nt(o,St(r,s)),a<0)return!0;c=nt(o,St(t,n),a>=0?a:1/0)}else{if(c=nt(o,St(t,n)),c<0)return!1;a=nt(o,St(r,s),c>=0?c:1/0)}return c>=0?a>=0?c<=a:!0:a>=0?!1:!!i}catch{}return!!i}function Im(e,t,n){const r=e.contentWindow;if(!r)return;let s=!1,i;try{i=r.document.readyState}catch{return}if(i!=="complete"){const c=es(()=>{s||(t(),s=!0)},n);e.addEventListener("load",()=>{lc(c),s=!0,t()});return}const o="about:blank";if(r.location.href!==o||e.src===o||e.src==="")return es(t,0),e.addEventListener("load",t);e.addEventListener("load",t)}function wm(e,t,n){let r=!1,s;try{s=e.sheet}catch{return}if(s)return;const i=es(()=>{r||(t(),r=!0)},n);e.addEventListener("load",()=>{lc(i),r=!0,t()})}function km(e,t){const{doc:n,mirror:r,blockClass:s,blockSelector:i,unblockSelector:o,maskAllText:c,maskAttributeFn:a,maskTextClass:u,unmaskTextClass:d,maskTextSelector:l,unmaskTextSelector:f,inlineStylesheet:p,maskInputOptions:h={},maskTextFn:g,maskInputFn:_,dataURLOptions:y={},inlineImages:T,recordCanvas:O,keepIframeSrcFn:L,newlyAddedElement:q=!1,ignoreCSSAttributes:x}=t,S=Rm(n,r);switch(e.nodeType){case e.DOCUMENT_NODE:return e.compatMode!=="CSS1Compat"?{type:ae.Document,childNodes:[],compatMode:e.compatMode}:{type:ae.Document,childNodes:[]};case e.DOCUMENT_TYPE_NODE:return{type:ae.DocumentType,name:e.name,publicId:e.publicId,systemId:e.systemId,rootId:S};case e.ELEMENT_NODE:return Mm(e,{doc:n,blockClass:s,blockSelector:i,unblockSelector:o,inlineStylesheet:p,maskAttributeFn:a,maskInputOptions:h,maskInputFn:_,dataURLOptions:y,inlineImages:T,recordCanvas:O,keepIframeSrcFn:L,newlyAddedElement:q,rootId:S,maskTextClass:u,unmaskTextClass:d,maskTextSelector:l,unmaskTextSelector:f,ignoreCSSAttributes:x});case e.TEXT_NODE:return Cm(e,{doc:n,maskAllText:c,maskTextClass:u,unmaskTextClass:d,maskTextSelector:l,unmaskTextSelector:f,maskTextFn:g,maskInputOptions:h,maskInputFn:_,rootId:S});case e.CDATA_SECTION_NODE:return{type:ae.CDATA,textContent:"",rootId:S};case e.COMMENT_NODE:return{type:ae.Comment,textContent:e.textContent||"",rootId:S};default:return!1}}function Rm(e,t){if(!t.hasNode(e))return;const n=t.getId(e);return n===1?void 0:n}function Cm(e,t){var y;const{maskAllText:n,maskTextClass:r,unmaskTextClass:s,maskTextSelector:i,unmaskTextSelector:o,maskTextFn:c,maskInputOptions:a,maskInputFn:u,rootId:d}=t,l=e.parentNode&&e.parentNode.tagName;let f=e.textContent;const p=l==="STYLE"?!0:void 0,h=l==="SCRIPT"?!0:void 0,g=l==="TEXTAREA"?!0:void 0;if(p&&f){try{e.nextSibling||e.previousSibling||(y=e.parentNode.sheet)!=null&&y.cssRules&&(f=Vn(e.parentNode.sheet))}catch(T){console.warn(`Cannot get CSS styles from text's parentNode. Error: ${T}`,e)}f=Yn(f,fr(t.doc))}h&&(f="SCRIPT_PLACEHOLDER");const _=wt(e,r,i,s,o,n);if(!p&&!h&&!g&&f&&_&&(f=c?c(f,e.parentElement):f.replace(/[\S]/g,"*")),g&&f&&(a.textarea||_)&&(f=u?u(f,e.parentNode):f.replace(/[\S]/g,"*")),l==="OPTION"&&f){const T=dr({type:null,tagName:l,maskInputOptions:a});f=Vt({isMasked:wt(e,r,i,s,o,T),element:e,value:f,maskInputFn:u})}return{type:ae.Text,textContent:f||"",isStyle:p,rootId:d}}function Mm(e,t){const{doc:n,blockClass:r,blockSelector:s,unblockSelector:i,inlineStylesheet:o,maskInputOptions:c={},maskAttributeFn:a,maskInputFn:u,dataURLOptions:d={},inlineImages:l,recordCanvas:f,keepIframeSrcFn:p,newlyAddedElement:h=!1,rootId:g,maskTextClass:_,unmaskTextClass:y,maskTextSelector:T,unmaskTextSelector:O,ignoreCSSAttributes:L}=t,q=vm(e,r,s,i),x=dm(e);let S={};const I=e.attributes.length;for(let E=0;E<I;E++){const w=e.attributes[E];w.name&&!pc(x,w.name,w.value)&&(S[w.name]=fc(n,x,It(w.name),w.value,e,a,L))}if(x==="link"&&o){const E=Array.from(n.styleSheets).find(B=>B.href===e.href);let w=null;E&&(w=Vn(E)),w&&(S.rel=null,S.href=null,S.crossorigin=null,S._cssText=Yn(w,E.href))}if(x==="style"&&e.sheet&&!(e.innerText||e.textContent||"").trim().length){const E=Vn(e.sheet);E&&(S._cssText=Yn(E,fr(n)))}if(x==="input"||x==="textarea"||x==="select"||x==="option"){const E=e,w=Hs(E),B=Gn(E,Zr(x),w),H=E.checked;if(w!=="submit"&&w!=="button"&&B){const N=wt(E,_,T,y,O,dr({type:w,tagName:Zr(x),maskInputOptions:c}));S.value=Vt({isMasked:N,element:E,value:B,maskInputFn:u})}H&&(S.checked=H)}if(x==="option"&&(e.selected&&!c.select?S.selected=!0:delete S.selected),x==="canvas"&&f){if(e.__context==="2d")cm(e)||(S.rr_dataURL=e.toDataURL(d.type,d.quality));else if(!("__context"in e)){const E=e.toDataURL(d.type,d.quality),w=n.createElement("canvas");w.width=e.width,w.height=e.height;const B=w.toDataURL(d.type,d.quality);E!==B&&(S.rr_dataURL=E)}}if(x==="img"&&l){pt||(pt=n.createElement("canvas"),no=pt.getContext("2d"));const E=e,w=E.currentSrc||E.getAttribute("src")||"<unknown-src>",B=E.crossOrigin,H=()=>{E.removeEventListener("load",H);try{pt.width=E.naturalWidth,pt.height=E.naturalHeight,no.drawImage(E,0,0),S.rr_dataURL=pt.toDataURL(d.type,d.quality)}catch(N){if(E.crossOrigin!=="anonymous"){E.crossOrigin="anonymous",E.complete&&E.naturalWidth!==0?H():E.addEventListener("load",H);return}else console.warn(`Cannot inline img src=${w}! Error: ${N}`)}E.crossOrigin==="anonymous"&&(B?S.crossOrigin=B:E.removeAttribute("crossorigin"))};E.complete&&E.naturalWidth!==0?H():E.addEventListener("load",H)}if((x==="audio"||x==="video")&&(S.rr_mediaState=e.paused?"paused":"played",S.rr_mediaCurrentTime=e.currentTime),h||(e.scrollLeft&&(S.rr_scrollLeft=e.scrollLeft),e.scrollTop&&(S.rr_scrollTop=e.scrollTop)),q){const{width:E,height:w}=e.getBoundingClientRect();S={class:S.class,rr_width:`${E}px`,rr_height:`${w}px`}}x==="iframe"&&!p(S.src)&&(!q&&!dc(e)&&(S.rr_src=S.src),delete S.src);let J;try{customElements.get(x)&&(J=!0)}catch{}return{type:ae.Element,tagName:x,attributes:S,childNodes:[],isSVG:bm(e)||void 0,needBlock:q,rootId:g,isCustom:J}}function ee(e){return e==null?"":e.toLowerCase()}function Am(e,t){if(t.comment&&e.type===ae.Comment)return!0;if(e.type===ae.Element){if(t.script&&(e.tagName==="script"||e.tagName==="link"&&(e.attributes.rel==="preload"||e.attributes.rel==="modulepreload")||e.tagName==="link"&&e.attributes.rel==="prefetch"&&typeof e.attributes.href=="string"&&cc(e.attributes.href)==="js"))return!0;if(t.headFavicon&&(e.tagName==="link"&&e.attributes.rel==="shortcut icon"||e.tagName==="meta"&&(ee(e.attributes.name).match(/^msapplication-tile(image|color)$/)||ee(e.attributes.name)==="application-name"||ee(e.attributes.rel)==="icon"||ee(e.attributes.rel)==="apple-touch-icon"||ee(e.attributes.rel)==="shortcut icon")))return!0;if(e.tagName==="meta"){if(t.headMetaDescKeywords&&ee(e.attributes.name).match(/^description|keywords$/))return!0;if(t.headMetaSocial&&(ee(e.attributes.property).match(/^(og|twitter|fb):/)||ee(e.attributes.name).match(/^(og|twitter):/)||ee(e.attributes.name)==="pinterest"))return!0;if(t.headMetaRobots&&(ee(e.attributes.name)==="robots"||ee(e.attributes.name)==="googlebot"||ee(e.attributes.name)==="bingbot"))return!0;if(t.headMetaHttpEquiv&&e.attributes["http-equiv"]!==void 0)return!0;if(t.headMetaAuthorship&&(ee(e.attributes.name)==="author"||ee(e.attributes.name)==="generator"||ee(e.attributes.name)==="framework"||ee(e.attributes.name)==="publisher"||ee(e.attributes.name)==="progid"||ee(e.attributes.property).match(/^article:/)||ee(e.attributes.property).match(/^product:/)))return!0;if(t.headMetaVerification&&(ee(e.attributes.name)==="google-site-verification"||ee(e.attributes.name)==="yandex-verification"||ee(e.attributes.name)==="csrf-token"||ee(e.attributes.name)==="p:domain_verify"||ee(e.attributes.name)==="verify-v1"||ee(e.attributes.name)==="verification"||ee(e.attributes.name)==="shopify-checkout-api-token"))return!0}}return!1}function yt(e,t){const{doc:n,mirror:r,blockClass:s,blockSelector:i,unblockSelector:o,maskAllText:c,maskTextClass:a,unmaskTextClass:u,maskTextSelector:d,unmaskTextSelector:l,skipChild:f=!1,inlineStylesheet:p=!0,maskInputOptions:h={},maskAttributeFn:g,maskTextFn:_,maskInputFn:y,slimDOMOptions:T,dataURLOptions:O={},inlineImages:L=!1,recordCanvas:q=!1,onSerialize:x,onIframeLoad:S,iframeLoadTimeout:I=5e3,onBlockedImageLoad:J,onStylesheetLoad:E,stylesheetLoadTimeout:w=5e3,keepIframeSrcFn:B=()=>!1,newlyAddedElement:H=!1,ignoreCSSAttributes:N}=t;let{preserveWhiteSpace:oe=!0}=t;const K=km(e,{doc:n,mirror:r,blockClass:s,blockSelector:i,maskAllText:c,unblockSelector:o,maskTextClass:a,unmaskTextClass:u,maskTextSelector:d,unmaskTextSelector:l,inlineStylesheet:p,maskInputOptions:h,maskAttributeFn:g,maskTextFn:_,maskInputFn:y,dataURLOptions:O,inlineImages:L,recordCanvas:q,keepIframeSrcFn:B,newlyAddedElement:H,ignoreCSSAttributes:N});if(!K)return console.warn(e,"not serialized"),null;let X;r.hasNode(e)?X=r.getId(e):Am(K,T)||!oe&&K.type===ae.Text&&!K.isStyle&&!K.textContent.replace(/^\s+|\s+$/gm,"").length?X=Gt:X=Us();const b=Object.assign(K,{id:X});if(r.add(e,b),X===Gt)return null;x&&x(e);let j=!f;if(b.type===ae.Element){j=j&&!b.needBlock;const k=e.shadowRoot;k&&Ut(k)&&(b.isShadowHost=!0)}if((b.type===ae.Document||b.type===ae.Element)&&j){T.headWhitespace&&b.type===ae.Element&&b.tagName==="head"&&(oe=!1);const k={doc:n,mirror:r,blockClass:s,blockSelector:i,maskAllText:c,unblockSelector:o,maskTextClass:a,unmaskTextClass:u,maskTextSelector:d,unmaskTextSelector:l,skipChild:f,inlineStylesheet:p,maskInputOptions:h,maskAttributeFn:g,maskTextFn:_,maskInputFn:y,slimDOMOptions:T,dataURLOptions:O,inlineImages:L,recordCanvas:q,preserveWhiteSpace:oe,onSerialize:x,onIframeLoad:S,iframeLoadTimeout:I,onBlockedImageLoad:J,onStylesheetLoad:E,stylesheetLoadTimeout:w,keepIframeSrcFn:B,ignoreCSSAttributes:N},G=e.childNodes?Array.from(e.childNodes):[];for(const Z of G){const re=yt(Z,k);re&&b.childNodes.push(re)}if(em(e)&&e.shadowRoot)for(const Z of Array.from(e.shadowRoot.childNodes)){const re=yt(Z,k);re&&(Ut(e.shadowRoot)&&(re.isShadow=!0),b.childNodes.push(re))}}if(e.parentNode&&Ht(e.parentNode)&&Ut(e.parentNode)&&(b.isShadow=!0),b.type===ae.Element&&b.tagName==="iframe"&&!b.needBlock&&Im(e,()=>{const k=dc(e);if(k&&S){const G=yt(k,{doc:k,mirror:r,blockClass:s,blockSelector:i,unblockSelector:o,maskAllText:c,maskTextClass:a,unmaskTextClass:u,maskTextSelector:d,unmaskTextSelector:l,skipChild:!1,inlineStylesheet:p,maskInputOptions:h,maskAttributeFn:g,maskTextFn:_,maskInputFn:y,slimDOMOptions:T,dataURLOptions:O,inlineImages:L,recordCanvas:q,preserveWhiteSpace:oe,onSerialize:x,onIframeLoad:S,iframeLoadTimeout:I,onStylesheetLoad:E,stylesheetLoadTimeout:w,keepIframeSrcFn:B,ignoreCSSAttributes:N});G&&S(e,G)}},I),b.type===ae.Element&&b.tagName==="img"&&!e.complete&&b.needBlock){const k=e,G=()=>{if(k.isConnected&&!k.complete&&J)try{const Z=k.getBoundingClientRect();Z.width>0&&Z.height>0&&J(k,b,Z)}catch{}k.removeEventListener("load",G)};k.isConnected&&k.addEventListener("load",G)}return b.type===ae.Element&&b.tagName==="link"&&typeof b.attributes.rel=="string"&&(b.attributes.rel==="stylesheet"||b.attributes.rel==="preload"&&typeof b.attributes.href=="string"&&cc(b.attributes.href)==="css")&&wm(e,()=>{if(E){const k=yt(e,{doc:n,mirror:r,blockClass:s,blockSelector:i,unblockSelector:o,maskAllText:c,maskTextClass:a,unmaskTextClass:u,maskTextSelector:d,unmaskTextSelector:l,skipChild:!1,inlineStylesheet:p,maskInputOptions:h,maskAttributeFn:g,maskTextFn:_,maskInputFn:y,slimDOMOptions:T,dataURLOptions:O,inlineImages:L,recordCanvas:q,preserveWhiteSpace:oe,onSerialize:x,onIframeLoad:S,iframeLoadTimeout:I,onStylesheetLoad:E,stylesheetLoadTimeout:w,keepIframeSrcFn:B,ignoreCSSAttributes:N});k&&E(e,k)}},w),b.type===ae.Element&&delete b.needBlock,b}function xm(e,t){const{mirror:n=new ac,blockClass:r="rr-block",blockSelector:s=null,unblockSelector:i=null,maskAllText:o=!1,maskTextClass:c="rr-mask",unmaskTextClass:a=null,maskTextSelector:u=null,unmaskTextSelector:d=null,inlineStylesheet:l=!0,inlineImages:f=!1,recordCanvas:p=!1,maskAllInputs:h=!1,maskAttributeFn:g,maskTextFn:_,maskInputFn:y,slimDOM:T=!1,dataURLOptions:O,preserveWhiteSpace:L,onSerialize:q,onIframeLoad:x,iframeLoadTimeout:S,onBlockedImageLoad:I,onStylesheetLoad:J,stylesheetLoadTimeout:E,keepIframeSrcFn:w=()=>!1,ignoreCSSAttributes:B=new Set([])}=t||{};return yt(e,{doc:e,mirror:n,blockClass:r,blockSelector:s,unblockSelector:i,maskAllText:o,maskTextClass:c,unmaskTextClass:a,maskTextSelector:u,unmaskTextSelector:d,skipChild:!1,inlineStylesheet:l,maskInputOptions:h===!0?{color:!0,date:!0,"datetime-local":!0,email:!0,month:!0,number:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0,textarea:!0,select:!0}:h===!1?{}:h,maskAttributeFn:g,maskTextFn:_,maskInputFn:y,slimDOMOptions:T===!0||T==="all"?{script:!0,comment:!0,headFavicon:!0,headWhitespace:!0,headMetaDescKeywords:T==="all",headMetaSocial:!0,headMetaRobots:!0,headMetaHttpEquiv:!0,headMetaAuthorship:!0,headMetaVerification:!0}:T===!1?{}:T,dataURLOptions:O,inlineImages:f,recordCanvas:p,preserveWhiteSpace:L,onSerialize:q,onIframeLoad:x,iframeLoadTimeout:S,onBlockedImageLoad:I,onStylesheetLoad:J,stylesheetLoadTimeout:E,keepIframeSrcFn:w,newlyAddedElement:!1,ignoreCSSAttributes:B})}function he(e,t,n=document){const r={capture:!0,passive:!0};return n.addEventListener(e,t,r),()=>n.removeEventListener(e,t,r)}const ht=`Please stop import mirror directly. Instead of that,\r
|
|
21
21
|
now you can use replayer.getMirror() to access the mirror instance of a replayer,\r
|
|
22
22
|
or you can use record.mirror to access the mirror instance during recording.`;let so={map:{},getId(){return console.error(ht),-1},getNode(){return console.error(ht),null},removeNodeFromMap(){console.error(ht)},has(){return console.error(ht),!1},reset(){console.error(ht)}};typeof window<"u"&&window.Proxy&&window.Reflect&&(so=new Proxy(so,{get(e,t,n){return t==="map"&&console.error(ht),Reflect.get(e,t,n)}}));function Yt(e,t,n={}){let r=null,s=0;return function(...i){const o=Date.now();!s&&n.leading===!1&&(s=o);const c=t-(o-s),a=this;c<=0||c>t?(r&&(Bm(r),r=null),s=o,e.apply(a,i)):!r&&n.trailing!==!1&&(r=pr(()=>{s=n.leading===!1?0:Date.now(),r=null,e.apply(a,i)},c))}}function hc(e,t,n,r,s=window){const i=s.Object.getOwnPropertyDescriptor(e,t);return s.Object.defineProperty(e,t,r?n:{set(o){pr(()=>{n.set.call(this,o)},0),i&&i.set&&i.set.call(this,o)}}),()=>hc(e,t,i||{},!0)}function $s(e,t,n){try{if(!(t in e))return()=>{};const r=e[t],s=n(r);return typeof s=="function"&&(s.prototype=s.prototype||{},Object.defineProperties(s,{__rrweb_original__:{enumerable:!1,value:r}})),e[t]=s,()=>{e[t]=r}}catch{return()=>{}}}let Jn=Date.now;/[1-9][0-9]{12}/.test(Date.now().toString())||(Jn=()=>new Date().getTime());function mc(e){var n,r,s,i,o,c;const t=e.document;return{left:t.scrollingElement?t.scrollingElement.scrollLeft:e.pageXOffset!==void 0?e.pageXOffset:(t==null?void 0:t.documentElement.scrollLeft)||((r=(n=t==null?void 0:t.body)==null?void 0:n.parentElement)==null?void 0:r.scrollLeft)||((s=t==null?void 0:t.body)==null?void 0:s.scrollLeft)||0,top:t.scrollingElement?t.scrollingElement.scrollTop:e.pageYOffset!==void 0?e.pageYOffset:(t==null?void 0:t.documentElement.scrollTop)||((o=(i=t==null?void 0:t.body)==null?void 0:i.parentElement)==null?void 0:o.scrollTop)||((c=t==null?void 0:t.body)==null?void 0:c.scrollTop)||0}}function gc(){return window.innerHeight||document.documentElement&&document.documentElement.clientHeight||document.body&&document.body.clientHeight}function _c(){return window.innerWidth||document.documentElement&&document.documentElement.clientWidth||document.body&&document.body.clientWidth}function Sc(e){if(!e)return null;try{return e.nodeType===e.ELEMENT_NODE?e:e.parentElement}catch{return null}}function Ee(e,t,n,r,s){if(!e)return!1;const i=Sc(e);if(!i)return!1;const o=St(t,n);if(!s){const u=r&&i.matches(r);return o(i)&&!u}const c=nt(i,o);let a=-1;return c<0?!1:(r&&(a=nt(i,St(null,r))),c>-1&&a<0?!0:c<a)}function Pm(e,t){return t.getId(e)!==-1}function Or(e,t){return t.getId(e)===Gt}function yc(e,t){if(Ht(e))return!1;const n=t.getId(e);return t.has(n)?e.parentNode&&e.parentNode.nodeType===e.DOCUMENT_NODE?!1:e.parentNode?yc(e.parentNode,t):!0:!0}function ts(e){return!!e.changedTouches}function Nm(e=window){"NodeList"in e&&!e.NodeList.prototype.forEach&&(e.NodeList.prototype.forEach=Array.prototype.forEach),"DOMTokenList"in e&&!e.DOMTokenList.prototype.forEach&&(e.DOMTokenList.prototype.forEach=Array.prototype.forEach),Node.prototype.contains||(Node.prototype.contains=(...t)=>{let n=t[0];if(!(0 in t))throw new TypeError("1 argument is required");do if(this===n)return!0;while(n=n&&n.parentNode);return!1})}function Ec(e,t){return!!(e.nodeName==="IFRAME"&&t.getMeta(e))}function bc(e,t){return!!(e.nodeName==="LINK"&&e.nodeType===e.ELEMENT_NODE&&e.getAttribute&&e.getAttribute("rel")==="stylesheet"&&t.getMeta(e))}function ns(e){return!!(e!=null&&e.shadowRoot)}class Om{constructor(){this.id=1,this.styleIDMap=new WeakMap,this.idStyleMap=new Map}getId(t){return this.styleIDMap.get(t)??-1}has(t){return this.styleIDMap.has(t)}add(t,n){if(this.has(t))return this.getId(t);let r;return n===void 0?r=this.id++:r=n,this.styleIDMap.set(t,r),this.idStyleMap.set(r,t),r}getStyle(t){return this.idStyleMap.get(t)||null}reset(){this.styleIDMap=new WeakMap,this.idStyleMap=new Map,this.id=1}generateId(){return this.id++}}function vc(e){var n,r;let t=null;return((r=(n=e.getRootNode)==null?void 0:n.call(e))==null?void 0:r.nodeType)===Node.DOCUMENT_FRAGMENT_NODE&&e.getRootNode().host&&(t=e.getRootNode().host),t}function Lm(e){let t=e,n;for(;n=vc(t);)t=n;return t}function Dm(e){const t=e.ownerDocument;if(!t)return!1;const n=Lm(e);return t.contains(n)}function Tc(e){const t=e.ownerDocument;return t?t.contains(e)||Dm(e):!1}const io={};function zs(e){const t=io[e];if(t)return t;const n=window.document;let r=window[e];if(n&&typeof n.createElement=="function")try{const s=n.createElement("iframe");s.hidden=!0,n.head.appendChild(s);const i=s.contentWindow;i&&i[e]&&(r=i[e]),n.head.removeChild(s)}catch{}return io[e]=r.bind(window)}function Fm(...e){return zs("requestAnimationFrame")(...e)}function pr(...e){return zs("setTimeout")(...e)}function Bm(...e){return zs("clearTimeout")(...e)}var D=(e=>(e[e.DomContentLoaded=0]="DomContentLoaded",e[e.Load=1]="Load",e[e.FullSnapshot=2]="FullSnapshot",e[e.IncrementalSnapshot=3]="IncrementalSnapshot",e[e.Meta=4]="Meta",e[e.Custom=5]="Custom",e[e.Plugin=6]="Plugin",e))(D||{}),P=(e=>(e[e.Mutation=0]="Mutation",e[e.MouseMove=1]="MouseMove",e[e.MouseInteraction=2]="MouseInteraction",e[e.Scroll=3]="Scroll",e[e.ViewportResize=4]="ViewportResize",e[e.Input=5]="Input",e[e.TouchMove=6]="TouchMove",e[e.MediaInteraction=7]="MediaInteraction",e[e.StyleSheetRule=8]="StyleSheetRule",e[e.CanvasMutation=9]="CanvasMutation",e[e.Font=10]="Font",e[e.Log=11]="Log",e[e.Drag=12]="Drag",e[e.StyleDeclaration=13]="StyleDeclaration",e[e.Selection=14]="Selection",e[e.AdoptedStyleSheet=15]="AdoptedStyleSheet",e[e.CustomElement=16]="CustomElement",e))(P||{}),pe=(e=>(e[e.MouseUp=0]="MouseUp",e[e.MouseDown=1]="MouseDown",e[e.Click=2]="Click",e[e.ContextMenu=3]="ContextMenu",e[e.DblClick=4]="DblClick",e[e.Focus=5]="Focus",e[e.Blur=6]="Blur",e[e.TouchStart=7]="TouchStart",e[e.TouchMove_Departed=8]="TouchMove_Departed",e[e.TouchEnd=9]="TouchEnd",e[e.TouchCancel=10]="TouchCancel",e))(pe||{}),De=(e=>(e[e.Mouse=0]="Mouse",e[e.Pen=1]="Pen",e[e.Touch=2]="Touch",e))(De||{}),mt=(e=>(e[e.Play=0]="Play",e[e.Pause=1]="Pause",e[e.Seeked=2]="Seeked",e[e.VolumeChange=3]="VolumeChange",e[e.RateChange=4]="RateChange",e))(mt||{});function Ws(e){try{return e.contentDocument}catch{}}function Hm(e){try{return e.contentWindow}catch{}}function oo(e){return"__ln"in e}class Um{constructor(){this.length=0,this.head=null,this.tail=null}get(t){if(t>=this.length)throw new Error("Position outside of list range");let n=this.head;for(let r=0;r<t;r++)n=(n==null?void 0:n.next)||null;return n}addNode(t){const n={value:t,previous:null,next:null};if(t.__ln=n,t.previousSibling&&oo(t.previousSibling)){const r=t.previousSibling.__ln.next;n.next=r,n.previous=t.previousSibling.__ln,t.previousSibling.__ln.next=n,r&&(r.previous=n)}else if(t.nextSibling&&oo(t.nextSibling)&&t.nextSibling.__ln.previous){const r=t.nextSibling.__ln.previous;n.previous=r,n.next=t.nextSibling.__ln,t.nextSibling.__ln.previous=n,r&&(r.next=n)}else this.head&&(this.head.previous=n),n.next=this.head,this.head=n;n.next===null&&(this.tail=n),this.length++}removeNode(t){const n=t.__ln;this.head&&(n.previous?(n.previous.next=n.next,n.next?n.next.previous=n.previous:this.tail=n.previous):(this.head=n.next,this.head?this.head.previous=null:this.tail=null),t.__ln&&delete t.__ln,this.length--)}}const ao=(e,t)=>`${e}@${t}`;class $m{constructor(){this.frozen=!1,this.locked=!1,this.texts=[],this.attributes=[],this.attributeMap=new WeakMap,this.removes=[],this.mapRemoves=[],this.movedMap={},this.addedSet=new Set,this.movedSet=new Set,this.droppedSet=new Set,this.processMutations=t=>{t.forEach(this.processMutation),this.emit()},this.emit=()=>{if(this.frozen||this.locked)return;const t=[],n=new Set,r=new Um,s=a=>{let u=a,d=Gt;for(;d===Gt;)u=u&&u.nextSibling,d=u&&this.mirror.getId(u);return d},i=a=>{if(!a.parentNode||!Tc(a))return;const u=Ht(a.parentNode)?this.mirror.getId(vc(a)):this.mirror.getId(a.parentNode),d=s(a);if(u===-1||d===-1)return r.addNode(a);const l=yt(a,{doc:this.doc,mirror:this.mirror,blockClass:this.blockClass,blockSelector:this.blockSelector,maskAllText:this.maskAllText,unblockSelector:this.unblockSelector,maskTextClass:this.maskTextClass,unmaskTextClass:this.unmaskTextClass,maskTextSelector:this.maskTextSelector,unmaskTextSelector:this.unmaskTextSelector,skipChild:!0,newlyAddedElement:!0,inlineStylesheet:this.inlineStylesheet,maskInputOptions:this.maskInputOptions,maskAttributeFn:this.maskAttributeFn,maskTextFn:this.maskTextFn,maskInputFn:this.maskInputFn,slimDOMOptions:this.slimDOMOptions,dataURLOptions:this.dataURLOptions,recordCanvas:this.recordCanvas,inlineImages:this.inlineImages,onSerialize:f=>{Ec(f,this.mirror)&&!Ee(f,this.blockClass,this.blockSelector,this.unblockSelector,!1)&&this.iframeManager.addIframe(f),bc(f,this.mirror)&&this.stylesheetManager.trackLinkElement(f),ns(a)&&this.shadowDomManager.addShadowRoot(a.shadowRoot,this.doc)},onIframeLoad:(f,p)=>{Ee(f,this.blockClass,this.blockSelector,this.unblockSelector,!1)||(this.iframeManager.attachIframe(f,p),f.contentWindow&&this.canvasManager.addWindow(f.contentWindow),this.shadowDomManager.observeAttachShadow(f))},onStylesheetLoad:(f,p)=>{this.stylesheetManager.attachLinkElement(f,p)},onBlockedImageLoad:(f,p,{width:h,height:g})=>{this.mutationCb({adds:[],removes:[],texts:[],attributes:[{id:p.id,attributes:{style:{width:`${h}px`,height:`${g}px`}}}]})},ignoreCSSAttributes:this.ignoreCSSAttributes});l&&(t.push({parentId:u,nextId:d,node:l}),n.add(l.id))};for(;this.mapRemoves.length;)this.mirror.removeNodeFromMap(this.mapRemoves.shift());for(const a of this.movedSet)co(this.removes,a,this.mirror)&&!this.movedSet.has(a.parentNode)||i(a);for(const a of this.addedSet)!uo(this.droppedSet,a)&&!co(this.removes,a,this.mirror)||uo(this.movedSet,a)?i(a):this.droppedSet.add(a);let o=null;for(;r.length;){let a=null;if(o){const u=this.mirror.getId(o.value.parentNode),d=s(o.value);u!==-1&&d!==-1&&(a=o)}if(!a){let u=r.tail;for(;u;){const d=u;if(u=u.previous,d){const l=this.mirror.getId(d.value.parentNode);if(s(d.value)===-1)continue;if(l!==-1){a=d;break}else{const p=d.value;if(p.parentNode&&p.parentNode.nodeType===Node.DOCUMENT_FRAGMENT_NODE){const h=p.parentNode.host;if(this.mirror.getId(h)!==-1){a=d;break}}}}}}if(!a){for(;r.head;)r.removeNode(r.head.value);break}o=a.previous,r.removeNode(a.value),i(a.value)}const c={texts:this.texts.map(a=>({id:this.mirror.getId(a.node),value:a.value})).filter(a=>!n.has(a.id)).filter(a=>this.mirror.has(a.id)),attributes:this.attributes.map(a=>{const{attributes:u}=a;if(typeof u.style=="string"){const d=JSON.stringify(a.styleDiff),l=JSON.stringify(a._unchangedStyles);d.length<u.style.length&&(d+l).split("var(").length===u.style.split("var(").length&&(u.style=a.styleDiff)}return{id:this.mirror.getId(a.node),attributes:u}}).filter(a=>!n.has(a.id)).filter(a=>this.mirror.has(a.id)),removes:this.removes,adds:t};!c.texts.length&&!c.attributes.length&&!c.removes.length&&!c.adds.length||(this.texts=[],this.attributes=[],this.attributeMap=new WeakMap,this.removes=[],this.addedSet=new Set,this.movedSet=new Set,this.droppedSet=new Set,this.movedMap={},this.mutationCb(c))},this.processMutation=t=>{if(!Or(t.target,this.mirror))switch(t.type){case"characterData":{const n=t.target.textContent;!Ee(t.target,this.blockClass,this.blockSelector,this.unblockSelector,!1)&&n!==t.oldValue&&this.texts.push({value:wt(t.target,this.maskTextClass,this.maskTextSelector,this.unmaskTextClass,this.unmaskTextSelector,this.maskAllText)&&n?this.maskTextFn?this.maskTextFn(n,Sc(t.target)):n.replace(/[\S]/g,"*"):n,node:t.target});break}case"attributes":{const n=t.target;let r=t.attributeName,s=t.target.getAttribute(r);if(r==="value"){const o=Hs(n),c=n.tagName;s=Gn(n,c,o);const a=dr({maskInputOptions:this.maskInputOptions,tagName:c,type:o}),u=wt(t.target,this.maskTextClass,this.maskTextSelector,this.unmaskTextClass,this.unmaskTextSelector,a);s=Vt({isMasked:u,element:n,value:s,maskInputFn:this.maskInputFn})}if(Ee(t.target,this.blockClass,this.blockSelector,this.unblockSelector,!1)||s===t.oldValue)return;let i=this.attributeMap.get(t.target);if(n.tagName==="IFRAME"&&r==="src"&&!this.keepIframeSrcFn(s))if(!Ws(n))r="rr_src";else return;if(i||(i={node:t.target,attributes:{},styleDiff:{},_unchangedStyles:{}},this.attributes.push(i),this.attributeMap.set(t.target,i)),r==="type"&&n.tagName==="INPUT"&&(t.oldValue||"").toLowerCase()==="password"&&n.setAttribute("data-rr-is-password","true"),!pc(n.tagName,r)&&(i.attributes[r]=fc(this.doc,It(n.tagName),It(r),s,n,this.maskAttributeFn),r==="style")){if(!this.unattachedDoc)try{this.unattachedDoc=document.implementation.createHTMLDocument()}catch{this.unattachedDoc=this.doc}const o=this.unattachedDoc.createElement("span");t.oldValue&&o.setAttribute("style",t.oldValue);for(const c of Array.from(n.style)){const a=n.style.getPropertyValue(c),u=n.style.getPropertyPriority(c);a!==o.style.getPropertyValue(c)||u!==o.style.getPropertyPriority(c)?u===""?i.styleDiff[c]=a:i.styleDiff[c]=[a,u]:i._unchangedStyles[c]=[a,u]}for(const c of Array.from(o.style))n.style.getPropertyValue(c)===""&&(i.styleDiff[c]=!1)}break}case"childList":{if(Ee(t.target,this.blockClass,this.blockSelector,this.unblockSelector,!0))return;t.addedNodes.forEach(n=>this.genAdds(n,t.target)),t.removedNodes.forEach(n=>{const r=this.mirror.getId(n),s=Ht(t.target)?this.mirror.getId(t.target.host):this.mirror.getId(t.target);Ee(t.target,this.blockClass,this.blockSelector,this.unblockSelector,!1)||Or(n,this.mirror)||!Pm(n,this.mirror)||(this.addedSet.has(n)?(rs(this.addedSet,n),this.droppedSet.add(n)):this.addedSet.has(t.target)&&r===-1||yc(t.target,this.mirror)||(this.movedSet.has(n)&&this.movedMap[ao(r,s)]?rs(this.movedSet,n):this.removes.push({parentId:s,id:r,isShadow:Ht(t.target)&&Ut(t.target)?!0:void 0})),this.mapRemoves.push(n))});break}}},this.genAdds=(t,n)=>{if(!this.processedNodeManager.inOtherBuffer(t,this)&&!(this.addedSet.has(t)||this.movedSet.has(t))){if(this.mirror.hasNode(t)){if(Or(t,this.mirror))return;this.movedSet.add(t);let r=null;n&&this.mirror.hasNode(n)&&(r=this.mirror.getId(n)),r&&r!==-1&&(this.movedMap[ao(this.mirror.getId(t),r)]=!0)}else this.addedSet.add(t),this.droppedSet.delete(t);Ee(t,this.blockClass,this.blockSelector,this.unblockSelector,!1)||(t.childNodes&&t.childNodes.forEach(r=>this.genAdds(r)),ns(t)&&t.shadowRoot.childNodes.forEach(r=>{this.processedNodeManager.add(r,this),this.genAdds(r,t)}))}}}init(t){["mutationCb","blockClass","blockSelector","unblockSelector","maskAllText","maskTextClass","unmaskTextClass","maskTextSelector","unmaskTextSelector","inlineStylesheet","maskInputOptions","maskAttributeFn","maskTextFn","maskInputFn","keepIframeSrcFn","recordCanvas","inlineImages","slimDOMOptions","dataURLOptions","doc","mirror","iframeManager","stylesheetManager","shadowDomManager","canvasManager","processedNodeManager","ignoreCSSAttributes"].forEach(n=>{this[n]=t[n]})}freeze(){this.frozen=!0,this.canvasManager.freeze()}unfreeze(){this.frozen=!1,this.canvasManager.unfreeze(),this.emit()}isFrozen(){return this.frozen}lock(){this.locked=!0,this.canvasManager.lock()}unlock(){this.locked=!1,this.canvasManager.unlock(),this.emit()}reset(){this.shadowDomManager.reset(),this.canvasManager.reset()}}function rs(e,t){var n;e.delete(t),(n=t.childNodes)==null||n.forEach(r=>rs(e,r))}function co(e,t,n){return e.length===0?!1:zm(e,t,n)}function zm(e,t,n){let r=t.parentNode;for(;r;){const s=n.getId(r);if(e.some(i=>i.id===s))return!0;r=r.parentNode}return!1}function uo(e,t){return e.size===0?!1:Ic(e,t)}function Ic(e,t){const{parentNode:n}=t;return n?e.has(n)?!0:Ic(e,n):!1}let $t;function Wm(e){$t=e}function qm(){$t=void 0}const W=e=>$t?(...n)=>{try{return e(...n)}catch(r){if($t&&$t(r)===!0)return()=>{};throw r}}:e,Et=[];function un(e){try{if("composedPath"in e){const t=e.composedPath();if(t.length)return t[0]}else if("path"in e&&e.path.length)return e.path[0]}catch{}return e&&e.target}function wc(e,t){var o,c;const n=new $m;Et.push(n),n.init(e);let r=window.MutationObserver||window.__rrMutationObserver;const s=(c=(o=window==null?void 0:window.Zone)==null?void 0:o.__symbol__)==null?void 0:c.call(o,"MutationObserver");s&&window[s]&&(r=window[s]);const i=new r(W(a=>{e.onMutation&&e.onMutation(a)===!1||n.processMutations.bind(n)(a)}));return i.observe(t,{attributes:!0,attributeOldValue:!0,characterData:!0,characterDataOldValue:!0,childList:!0,subtree:!0}),i}function jm({mousemoveCb:e,sampling:t,doc:n,mirror:r}){if(t.mousemove===!1)return()=>{};const s=typeof t.mousemove=="number"?t.mousemove:50,i=typeof t.mousemoveCallback=="number"?t.mousemoveCallback:500;let o=[],c;const a=Yt(W(l=>{const f=Date.now()-c;e(o.map(p=>(p.timeOffset-=f,p)),l),o=[],c=null}),i),u=W(Yt(W(l=>{const f=un(l),{clientX:p,clientY:h}=ts(l)?l.changedTouches[0]:l;c||(c=Jn()),o.push({x:p,y:h,id:r.getId(f),timeOffset:Jn()-c}),a(typeof DragEvent<"u"&&l instanceof DragEvent?P.Drag:l instanceof MouseEvent?P.MouseMove:P.TouchMove)}),s,{trailing:!1})),d=[he("mousemove",u,n),he("touchmove",u,n),he("drag",u,n)];return W(()=>{d.forEach(l=>l())})}function Vm({mouseInteractionCb:e,doc:t,mirror:n,blockClass:r,blockSelector:s,unblockSelector:i,sampling:o}){if(o.mouseInteraction===!1)return()=>{};const c=o.mouseInteraction===!0||o.mouseInteraction===void 0?{}:o.mouseInteraction,a=[];let u=null;const d=l=>f=>{const p=un(f);if(Ee(p,r,s,i,!0))return;let h=null,g=l;if("pointerType"in f){switch(f.pointerType){case"mouse":h=De.Mouse;break;case"touch":h=De.Touch;break;case"pen":h=De.Pen;break}h===De.Touch?pe[l]===pe.MouseDown?g="TouchStart":pe[l]===pe.MouseUp&&(g="TouchEnd"):De.Pen}else ts(f)&&(h=De.Touch);h!==null?(u=h,(g.startsWith("Touch")&&h===De.Touch||g.startsWith("Mouse")&&h===De.Mouse)&&(h=null)):pe[l]===pe.Click&&(h=u,u=null);const _=ts(f)?f.changedTouches[0]:f;if(!_)return;const y=n.getId(p),{clientX:T,clientY:O}=_;W(e)({type:pe[g],id:y,x:T,y:O,...h!==null&&{pointerType:h}})};return Object.keys(pe).filter(l=>Number.isNaN(Number(l))&&!l.endsWith("_Departed")&&c[l]!==!1).forEach(l=>{let f=It(l);const p=d(l);if(window.PointerEvent)switch(pe[l]){case pe.MouseDown:case pe.MouseUp:f=f.replace("mouse","pointer");break;case pe.TouchStart:case pe.TouchEnd:return}a.push(he(f,p,t))}),W(()=>{a.forEach(l=>l())})}function kc({scrollCb:e,doc:t,mirror:n,blockClass:r,blockSelector:s,unblockSelector:i,sampling:o}){const c=W(Yt(W(a=>{const u=un(a);if(!u||Ee(u,r,s,i,!0))return;const d=n.getId(u);if(u===t&&t.defaultView){const l=mc(t.defaultView);e({id:d,x:l.left,y:l.top})}else e({id:d,x:u.scrollLeft,y:u.scrollTop})}),o.scroll||100));return he("scroll",c,t)}function Gm({viewportResizeCb:e},{win:t}){let n=-1,r=-1;const s=W(Yt(W(()=>{const i=gc(),o=_c();(n!==i||r!==o)&&(e({width:Number(o),height:Number(i)}),n=i,r=o)}),200));return he("resize",s,t)}const Ym=["INPUT","TEXTAREA","SELECT"],lo=new WeakMap;function Jm({inputCb:e,doc:t,mirror:n,blockClass:r,blockSelector:s,unblockSelector:i,ignoreClass:o,ignoreSelector:c,maskInputOptions:a,maskInputFn:u,sampling:d,userTriggeredOnInput:l,maskTextClass:f,unmaskTextClass:p,maskTextSelector:h,unmaskTextSelector:g}){function _(S){let I=un(S);const J=S.isTrusted,E=I&&Zr(I.tagName);if(E==="OPTION"&&(I=I.parentElement),!I||!E||Ym.indexOf(E)<0||Ee(I,r,s,i,!0))return;const w=I;if(w.classList.contains(o)||c&&w.matches(c))return;const B=Hs(I);let H=Gn(w,E,B),N=!1;const oe=dr({maskInputOptions:a,tagName:E,type:B}),K=wt(I,f,h,p,g,oe);(B==="radio"||B==="checkbox")&&(N=I.checked),H=Vt({isMasked:K,element:I,value:H,maskInputFn:u}),y(I,l?{text:H,isChecked:N,userTriggered:J}:{text:H,isChecked:N});const X=I.name;B==="radio"&&X&&N&&t.querySelectorAll(`input[type="radio"][name="${X}"]`).forEach(b=>{if(b!==I){const j=Vt({isMasked:K,element:b,value:Gn(b,E,B),maskInputFn:u});y(b,l?{text:j,isChecked:!N,userTriggered:!1}:{text:j,isChecked:!N})}})}function y(S,I){const J=lo.get(S);if(!J||J.text!==I.text||J.isChecked!==I.isChecked){lo.set(S,I);const E=n.getId(S);W(e)({...I,id:E})}}const O=(d.input==="last"?["change"]:["input","change"]).map(S=>he(S,W(_),t)),L=t.defaultView;if(!L)return()=>{O.forEach(S=>S())};const q=L.Object.getOwnPropertyDescriptor(L.HTMLInputElement.prototype,"value"),x=[[L.HTMLInputElement.prototype,"value"],[L.HTMLInputElement.prototype,"checked"],[L.HTMLSelectElement.prototype,"value"],[L.HTMLTextAreaElement.prototype,"value"],[L.HTMLSelectElement.prototype,"selectedIndex"],[L.HTMLOptionElement.prototype,"selected"]];return q&&q.set&&O.push(...x.map(S=>hc(S[0],S[1],{set(){W(_)({target:this,isTrusted:!1})}},!1,L))),W(()=>{O.forEach(S=>S())})}function Kn(e){const t=[];function n(r,s){if(yn("CSSGroupingRule")&&r.parentRule instanceof CSSGroupingRule||yn("CSSMediaRule")&&r.parentRule instanceof CSSMediaRule||yn("CSSSupportsRule")&&r.parentRule instanceof CSSSupportsRule||yn("CSSConditionRule")&&r.parentRule instanceof CSSConditionRule){const o=Array.from(r.parentRule.cssRules).indexOf(r);s.unshift(o)}else if(r.parentStyleSheet){const o=Array.from(r.parentStyleSheet.cssRules).indexOf(r);s.unshift(o)}return s}return n(e,t)}function ze(e,t,n){let r,s;return e?(e.ownerNode?r=t.getId(e.ownerNode):s=n.getId(e),{styleId:s,id:r}):{}}function Km({styleSheetRuleCb:e,mirror:t,stylesheetManager:n},{win:r}){if(!r.CSSStyleSheet||!r.CSSStyleSheet.prototype)return()=>{};const s=r.CSSStyleSheet.prototype.insertRule;r.CSSStyleSheet.prototype.insertRule=new Proxy(s,{apply:W((d,l,f)=>{const[p,h]=f,{id:g,styleId:_}=ze(l,t,n.styleMirror);return(g&&g!==-1||_&&_!==-1)&&e({id:g,styleId:_,adds:[{rule:p,index:h}]}),d.apply(l,f)})});const i=r.CSSStyleSheet.prototype.deleteRule;r.CSSStyleSheet.prototype.deleteRule=new Proxy(i,{apply:W((d,l,f)=>{const[p]=f,{id:h,styleId:g}=ze(l,t,n.styleMirror);return(h&&h!==-1||g&&g!==-1)&&e({id:h,styleId:g,removes:[{index:p}]}),d.apply(l,f)})});let o;r.CSSStyleSheet.prototype.replace&&(o=r.CSSStyleSheet.prototype.replace,r.CSSStyleSheet.prototype.replace=new Proxy(o,{apply:W((d,l,f)=>{const[p]=f,{id:h,styleId:g}=ze(l,t,n.styleMirror);return(h&&h!==-1||g&&g!==-1)&&e({id:h,styleId:g,replace:p}),d.apply(l,f)})}));let c;r.CSSStyleSheet.prototype.replaceSync&&(c=r.CSSStyleSheet.prototype.replaceSync,r.CSSStyleSheet.prototype.replaceSync=new Proxy(c,{apply:W((d,l,f)=>{const[p]=f,{id:h,styleId:g}=ze(l,t,n.styleMirror);return(h&&h!==-1||g&&g!==-1)&&e({id:h,styleId:g,replaceSync:p}),d.apply(l,f)})}));const a={};En("CSSGroupingRule")?a.CSSGroupingRule=r.CSSGroupingRule:(En("CSSMediaRule")&&(a.CSSMediaRule=r.CSSMediaRule),En("CSSConditionRule")&&(a.CSSConditionRule=r.CSSConditionRule),En("CSSSupportsRule")&&(a.CSSSupportsRule=r.CSSSupportsRule));const u={};return Object.entries(a).forEach(([d,l])=>{u[d]={insertRule:l.prototype.insertRule,deleteRule:l.prototype.deleteRule},l.prototype.insertRule=new Proxy(u[d].insertRule,{apply:W((f,p,h)=>{const[g,_]=h,{id:y,styleId:T}=ze(p.parentStyleSheet,t,n.styleMirror);return(y&&y!==-1||T&&T!==-1)&&e({id:y,styleId:T,adds:[{rule:g,index:[...Kn(p),_||0]}]}),f.apply(p,h)})}),l.prototype.deleteRule=new Proxy(u[d].deleteRule,{apply:W((f,p,h)=>{const[g]=h,{id:_,styleId:y}=ze(p.parentStyleSheet,t,n.styleMirror);return(_&&_!==-1||y&&y!==-1)&&e({id:_,styleId:y,removes:[{index:[...Kn(p),g]}]}),f.apply(p,h)})})}),W(()=>{r.CSSStyleSheet.prototype.insertRule=s,r.CSSStyleSheet.prototype.deleteRule=i,o&&(r.CSSStyleSheet.prototype.replace=o),c&&(r.CSSStyleSheet.prototype.replaceSync=c),Object.entries(a).forEach(([d,l])=>{l.prototype.insertRule=u[d].insertRule,l.prototype.deleteRule=u[d].deleteRule})})}function Rc({mirror:e,stylesheetManager:t},n){var o,c,a;let r=null;n.nodeName==="#document"?r=e.getId(n):r=e.getId(n.host);const s=n.nodeName==="#document"?(o=n.defaultView)==null?void 0:o.Document:(a=(c=n.ownerDocument)==null?void 0:c.defaultView)==null?void 0:a.ShadowRoot,i=s!=null&&s.prototype?Object.getOwnPropertyDescriptor(s==null?void 0:s.prototype,"adoptedStyleSheets"):void 0;return r===null||r===-1||!s||!i?()=>{}:(Object.defineProperty(n,"adoptedStyleSheets",{configurable:i.configurable,enumerable:i.enumerable,get(){var u;return(u=i.get)==null?void 0:u.call(this)},set(u){var l;const d=(l=i.set)==null?void 0:l.call(this,u);if(r!==null&&r!==-1)try{t.adoptStyleSheets(u,r)}catch{}return d}}),W(()=>{Object.defineProperty(n,"adoptedStyleSheets",{configurable:i.configurable,enumerable:i.enumerable,get:i.get,set:i.set})}))}function Xm({styleDeclarationCb:e,mirror:t,ignoreCSSAttributes:n,stylesheetManager:r},{win:s}){const i=s.CSSStyleDeclaration.prototype.setProperty;s.CSSStyleDeclaration.prototype.setProperty=new Proxy(i,{apply:W((c,a,u)=>{var g;const[d,l,f]=u;if(n.has(d))return i.apply(a,[d,l,f]);const{id:p,styleId:h}=ze((g=a.parentRule)==null?void 0:g.parentStyleSheet,t,r.styleMirror);return(p&&p!==-1||h&&h!==-1)&&e({id:p,styleId:h,set:{property:d,value:l,priority:f},index:Kn(a.parentRule)}),c.apply(a,u)})});const o=s.CSSStyleDeclaration.prototype.removeProperty;return s.CSSStyleDeclaration.prototype.removeProperty=new Proxy(o,{apply:W((c,a,u)=>{var p;const[d]=u;if(n.has(d))return o.apply(a,[d]);const{id:l,styleId:f}=ze((p=a.parentRule)==null?void 0:p.parentStyleSheet,t,r.styleMirror);return(l&&l!==-1||f&&f!==-1)&&e({id:l,styleId:f,remove:{property:d},index:Kn(a.parentRule)}),c.apply(a,u)})}),W(()=>{s.CSSStyleDeclaration.prototype.setProperty=i,s.CSSStyleDeclaration.prototype.removeProperty=o})}function Qm({mediaInteractionCb:e,blockClass:t,blockSelector:n,unblockSelector:r,mirror:s,sampling:i,doc:o}){const c=W(u=>Yt(W(d=>{const l=un(d);if(!l||Ee(l,t,n,r,!0))return;const{currentTime:f,volume:p,muted:h,playbackRate:g}=l;e({type:u,id:s.getId(l),currentTime:f,volume:p,muted:h,playbackRate:g})}),i.media||500)),a=[he("play",c(mt.Play),o),he("pause",c(mt.Pause),o),he("seeked",c(mt.Seeked),o),he("volumechange",c(mt.VolumeChange),o),he("ratechange",c(mt.RateChange),o)];return W(()=>{a.forEach(u=>u())})}function Zm({fontCb:e,doc:t}){const n=t.defaultView;if(!n)return()=>{};const r=[],s=new WeakMap,i=n.FontFace;n.FontFace=function(a,u,d){const l=new i(a,u,d);return s.set(l,{family:a,buffer:typeof u!="string",descriptors:d,fontSource:typeof u=="string"?u:JSON.stringify(Array.from(new Uint8Array(u)))}),l};const o=$s(t.fonts,"add",function(c){return function(a){return pr(W(()=>{const u=s.get(a);u&&(e(u),s.delete(a))}),0),c.apply(this,[a])}});return r.push(()=>{n.FontFace=i}),r.push(o),W(()=>{r.forEach(c=>c())})}function eg(e){const{doc:t,mirror:n,blockClass:r,blockSelector:s,unblockSelector:i,selectionCb:o}=e;let c=!0;const a=W(()=>{const u=t.getSelection();if(!u||c&&(u!=null&&u.isCollapsed))return;c=u.isCollapsed||!1;const d=[],l=u.rangeCount||0;for(let f=0;f<l;f++){const p=u.getRangeAt(f),{startContainer:h,startOffset:g,endContainer:_,endOffset:y}=p;Ee(h,r,s,i,!0)||Ee(_,r,s,i,!0)||d.push({start:n.getId(h),startOffset:g,end:n.getId(_),endOffset:y})}o({ranges:d})});return a(),he("selectionchange",a)}function tg({doc:e,customElementCb:t}){const n=e.defaultView;return!n||!n.customElements?()=>{}:$s(n.customElements,"define",function(s){return function(i,o,c){try{t({define:{name:i}})}catch{}return s.apply(this,[i,o,c])}})}function ng(e,t={}){const n=e.doc.defaultView;if(!n)return()=>{};let r;e.recordDOM&&(r=wc(e,e.doc));const s=jm(e),i=Vm(e),o=kc(e),c=Gm(e,{win:n}),a=Jm(e),u=Qm(e);let d=()=>{},l=()=>{},f=()=>{},p=()=>{};e.recordDOM&&(d=Km(e,{win:n}),l=Rc(e,e.doc),f=Xm(e,{win:n}),e.collectFonts&&(p=Zm(e)));const h=eg(e),g=tg(e),_=[];for(const y of e.plugins)_.push(y.observer(y.callback,n,y.options));return W(()=>{Et.forEach(y=>y.reset()),r==null||r.disconnect(),s(),i(),o(),c(),a(),u(),d(),l(),f(),p(),h(),g(),_.forEach(y=>y())})}function yn(e){return typeof window[e]<"u"}function En(e){return!!(typeof window[e]<"u"&&window[e].prototype&&"insertRule"in window[e].prototype&&"deleteRule"in window[e].prototype)}class ss{constructor(t){this.generateIdFn=t,this.iframeIdToRemoteIdMap=new WeakMap,this.iframeRemoteIdToIdMap=new WeakMap}getId(t,n,r,s){const i=r||this.getIdToRemoteIdMap(t),o=s||this.getRemoteIdToIdMap(t);let c=i.get(n);return c||(c=this.generateIdFn(),i.set(n,c),o.set(c,n)),c}getIds(t,n){const r=this.getIdToRemoteIdMap(t),s=this.getRemoteIdToIdMap(t);return n.map(i=>this.getId(t,i,r,s))}getRemoteId(t,n,r){const s=r||this.getRemoteIdToIdMap(t);if(typeof n!="number")return n;const i=s.get(n);return i||-1}getRemoteIds(t,n){const r=this.getRemoteIdToIdMap(t);return n.map(s=>this.getRemoteId(t,s,r))}reset(t){if(!t){this.iframeIdToRemoteIdMap=new WeakMap,this.iframeRemoteIdToIdMap=new WeakMap;return}this.iframeIdToRemoteIdMap.delete(t),this.iframeRemoteIdToIdMap.delete(t)}getIdToRemoteIdMap(t){let n=this.iframeIdToRemoteIdMap.get(t);return n||(n=new Map,this.iframeIdToRemoteIdMap.set(t,n)),n}getRemoteIdToIdMap(t){let n=this.iframeRemoteIdToIdMap.get(t);return n||(n=new Map,this.iframeRemoteIdToIdMap.set(t,n)),n}}class rg{constructor(){this.crossOriginIframeMirror=new ss(Us),this.crossOriginIframeRootIdMap=new WeakMap}addIframe(){}addLoadListener(){}attachIframe(){}}class sg{constructor(t){this.iframes=new WeakMap,this.crossOriginIframeMap=new WeakMap,this.crossOriginIframeMirror=new ss(Us),this.crossOriginIframeRootIdMap=new WeakMap,this.mutationCb=t.mutationCb,this.wrappedEmit=t.wrappedEmit,this.stylesheetManager=t.stylesheetManager,this.recordCrossOriginIframes=t.recordCrossOriginIframes,this.crossOriginIframeStyleMirror=new ss(this.stylesheetManager.styleMirror.generateId.bind(this.stylesheetManager.styleMirror)),this.mirror=t.mirror,this.recordCrossOriginIframes&&window.addEventListener("message",this.handleMessage.bind(this))}addIframe(t){this.iframes.set(t,!0),t.contentWindow&&this.crossOriginIframeMap.set(t.contentWindow,t)}addLoadListener(t){this.loadListener=t}attachIframe(t,n){var s,i;this.mutationCb({adds:[{parentId:this.mirror.getId(t),nextId:null,node:n}],removes:[],texts:[],attributes:[],isAttachIframe:!0}),this.recordCrossOriginIframes&&((s=t.contentWindow)==null||s.addEventListener("message",this.handleMessage.bind(this))),(i=this.loadListener)==null||i.call(this,t);const r=Ws(t);r&&r.adoptedStyleSheets&&r.adoptedStyleSheets.length>0&&this.stylesheetManager.adoptStyleSheets(r.adoptedStyleSheets,this.mirror.getId(r))}handleMessage(t){const n=t;if(n.data.type!=="rrweb"||n.origin!==n.data.origin||!t.source)return;const s=this.crossOriginIframeMap.get(t.source);if(!s)return;const i=this.transformCrossOriginEvent(s,n.data.event);i&&this.wrappedEmit(i,n.data.isCheckout)}transformCrossOriginEvent(t,n){var r;switch(n.type){case D.FullSnapshot:{this.crossOriginIframeMirror.reset(t),this.crossOriginIframeStyleMirror.reset(t),this.replaceIdOnNode(n.data.node,t);const s=n.data.node.id;return this.crossOriginIframeRootIdMap.set(t,s),this.patchRootIdOnNode(n.data.node,s),{timestamp:n.timestamp,type:D.IncrementalSnapshot,data:{source:P.Mutation,adds:[{parentId:this.mirror.getId(t),nextId:null,node:n.data.node}],removes:[],texts:[],attributes:[],isAttachIframe:!0}}}case D.Meta:case D.Load:case D.DomContentLoaded:return!1;case D.Plugin:return n;case D.Custom:return this.replaceIds(n.data.payload,t,["id","parentId","previousId","nextId"]),n;case D.IncrementalSnapshot:switch(n.data.source){case P.Mutation:return n.data.adds.forEach(s=>{this.replaceIds(s,t,["parentId","nextId","previousId"]),this.replaceIdOnNode(s.node,t);const i=this.crossOriginIframeRootIdMap.get(t);i&&this.patchRootIdOnNode(s.node,i)}),n.data.removes.forEach(s=>{this.replaceIds(s,t,["parentId","id"])}),n.data.attributes.forEach(s=>{this.replaceIds(s,t,["id"])}),n.data.texts.forEach(s=>{this.replaceIds(s,t,["id"])}),n;case P.Drag:case P.TouchMove:case P.MouseMove:return n.data.positions.forEach(s=>{this.replaceIds(s,t,["id"])}),n;case P.ViewportResize:return!1;case P.MediaInteraction:case P.MouseInteraction:case P.Scroll:case P.CanvasMutation:case P.Input:return this.replaceIds(n.data,t,["id"]),n;case P.StyleSheetRule:case P.StyleDeclaration:return this.replaceIds(n.data,t,["id"]),this.replaceStyleIds(n.data,t,["styleId"]),n;case P.Font:return n;case P.Selection:return n.data.ranges.forEach(s=>{this.replaceIds(s,t,["start","end"])}),n;case P.AdoptedStyleSheet:return this.replaceIds(n.data,t,["id"]),this.replaceStyleIds(n.data,t,["styleIds"]),(r=n.data.styles)==null||r.forEach(s=>{this.replaceStyleIds(s,t,["styleId"])}),n}}return!1}replace(t,n,r,s){for(const i of s)!Array.isArray(n[i])&&typeof n[i]!="number"||(Array.isArray(n[i])?n[i]=t.getIds(r,n[i]):n[i]=t.getId(r,n[i]));return n}replaceIds(t,n,r){return this.replace(this.crossOriginIframeMirror,t,n,r)}replaceStyleIds(t,n,r){return this.replace(this.crossOriginIframeStyleMirror,t,n,r)}replaceIdOnNode(t,n){this.replaceIds(t,n,["id","rootId"]),"childNodes"in t&&t.childNodes.forEach(r=>{this.replaceIdOnNode(r,n)})}patchRootIdOnNode(t,n){t.type!==ae.Document&&!t.rootId&&(t.rootId=n),"childNodes"in t&&t.childNodes.forEach(r=>{this.patchRootIdOnNode(r,n)})}}class ig{init(){}addShadowRoot(){}observeAttachShadow(){}reset(){}}class og{constructor(t){this.shadowDoms=new WeakSet,this.restoreHandlers=[],this.mutationCb=t.mutationCb,this.scrollCb=t.scrollCb,this.bypassOptions=t.bypassOptions,this.mirror=t.mirror,this.init()}init(){this.reset(),this.patchAttachShadow(Element,document)}addShadowRoot(t,n){if(!Ut(t)||this.shadowDoms.has(t))return;this.shadowDoms.add(t),this.bypassOptions.canvasManager.addShadowRoot(t);const r=wc({...this.bypassOptions,doc:n,mutationCb:this.mutationCb,mirror:this.mirror,shadowDomManager:this},t);this.restoreHandlers.push(()=>r.disconnect()),this.restoreHandlers.push(kc({...this.bypassOptions,scrollCb:this.scrollCb,doc:t,mirror:this.mirror})),pr(()=>{t.adoptedStyleSheets&&t.adoptedStyleSheets.length>0&&this.bypassOptions.stylesheetManager.adoptStyleSheets(t.adoptedStyleSheets,this.mirror.getId(t.host)),this.restoreHandlers.push(Rc({mirror:this.mirror,stylesheetManager:this.bypassOptions.stylesheetManager},t))},0)}observeAttachShadow(t){const n=Ws(t),r=Hm(t);!n||!r||this.patchAttachShadow(r.Element,n)}patchAttachShadow(t,n){const r=this;this.restoreHandlers.push($s(t.prototype,"attachShadow",function(s){return function(i){const o=s.call(this,i);return this.shadowRoot&&Tc(this)&&r.addShadowRoot(this.shadowRoot,n),o}}))}reset(){this.restoreHandlers.forEach(t=>{try{t()}catch{}}),this.restoreHandlers=[],this.shadowDoms=new WeakSet,this.bypassOptions.canvasManager.resetShadowRoots()}}var fo="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",ag=typeof Uint8Array>"u"?[]:new Uint8Array(256);for(var bn=0;bn<fo.length;bn++)ag[fo.charCodeAt(bn)]=bn;class po{reset(){}freeze(){}unfreeze(){}lock(){}unlock(){}snapshot(){}addWindow(){}addShadowRoot(){}resetShadowRoots(){}}class cg{constructor(t){this.trackedLinkElements=new WeakSet,this.styleMirror=new Om,this.mutationCb=t.mutationCb,this.adoptedStyleSheetCb=t.adoptedStyleSheetCb}attachLinkElement(t,n){"_cssText"in n.attributes&&this.mutationCb({adds:[],removes:[],texts:[],attributes:[{id:n.id,attributes:n.attributes}]}),this.trackLinkElement(t)}trackLinkElement(t){this.trackedLinkElements.has(t)||(this.trackedLinkElements.add(t),this.trackStylesheetInLinkElement(t))}adoptStyleSheets(t,n){if(t.length===0)return;const r={id:n,styleIds:[]},s=[];for(const i of t){let o;this.styleMirror.has(i)?o=this.styleMirror.getId(i):(o=this.styleMirror.add(i),s.push({styleId:o,rules:Array.from(i.rules||CSSRule,(c,a)=>({rule:oc(c),index:a}))})),r.styleIds.push(o)}s.length>0&&(r.styles=s),this.adoptedStyleSheetCb(r)}reset(){this.styleMirror.reset(),this.trackedLinkElements=new WeakSet}trackStylesheetInLinkElement(t){}}class ug{constructor(){this.nodeMap=new WeakMap,this.active=!1}inOtherBuffer(t,n){const r=this.nodeMap.get(t);return r&&Array.from(r).some(s=>s!==n)}add(t,n){this.active||(this.active=!0,Fm(()=>{this.nodeMap=new WeakMap,this.active=!1})),this.nodeMap.set(t,(this.nodeMap.get(t)||new Set).add(n))}destroy(){}}let se,Xn;var Oo;try{if(Array.from([1],e=>e*2)[0]!==2){const e=document.createElement("iframe");document.body.appendChild(e),Array.from=((Oo=e.contentWindow)==null?void 0:Oo.Array.from)||Array.from,document.body.removeChild(e)}}catch(e){console.debug("Unable to override Array.from",e)}const Ce=am();function Be(e={}){const{emit:t,checkoutEveryNms:n,checkoutEveryNth:r,blockClass:s="rr-block",blockSelector:i=null,unblockSelector:o=null,ignoreClass:c="rr-ignore",ignoreSelector:a=null,maskAllText:u=!1,maskTextClass:d="rr-mask",unmaskTextClass:l=null,maskTextSelector:f=null,unmaskTextSelector:p=null,inlineStylesheet:h=!0,maskAllInputs:g,maskInputOptions:_,slimDOMOptions:y,maskAttributeFn:T,maskInputFn:O,maskTextFn:L,maxCanvasSize:q=null,packFn:x,sampling:S={},dataURLOptions:I={},mousemoveWait:J,recordDOM:E=!0,recordCanvas:w=!1,recordCrossOriginIframes:B=!1,recordAfter:H=e.recordAfter==="DOMContentLoaded"?e.recordAfter:"load",userTriggeredOnInput:N=!1,collectFonts:oe=!1,inlineImages:K=!1,plugins:X,keepIframeSrcFn:b=()=>!1,ignoreCSSAttributes:j=new Set([]),errorHandler:k,onMutation:G,getCanvasManager:Z}=e;Wm(k);const re=B?window.parent===window:!0;let Se=!1;if(!re)try{window.parent.document&&(Se=!1)}catch{Se=!0}if(re&&!t)throw new Error("emit function is required");if(!re&&!Se)return()=>{};J!==void 0&&S.mousemove===void 0&&(S.mousemove=J),Ce.reset();const ye=g===!0?{color:!0,date:!0,"datetime-local":!0,email:!0,month:!0,number:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0,textarea:!0,select:!0,radio:!0,checkbox:!0}:_!==void 0?_:{},lt=y===!0||y==="all"?{script:!0,comment:!0,headFavicon:!0,headWhitespace:!0,headMetaSocial:!0,headMetaRobots:!0,headMetaHttpEquiv:!0,headMetaVerification:!0,headMetaAuthorship:y==="all",headMetaDescKeywords:y==="all"}:y||{};Nm();let Le,dt=0;const dn=V=>{for(const Re of X||[])Re.eventProcessor&&(V=Re.eventProcessor(V));return x&&!Se&&(V=x(V)),V};se=(V,Re)=>{var me;const U=V;if(U.timestamp=Jn(),(me=Et[0])!=null&&me.isFrozen()&&U.type!==D.FullSnapshot&&!(U.type===D.IncrementalSnapshot&&U.data.source===P.Mutation)&&Et.forEach(ve=>ve.unfreeze()),re)t==null||t(dn(U),Re);else if(Se){const ve={type:"rrweb",event:dn(U),origin:window.location.origin,isCheckout:Re};window.parent.postMessage(ve,"*")}if(U.type===D.FullSnapshot)Le=U,dt=0;else if(U.type===D.IncrementalSnapshot){if(U.data.source===P.Mutation&&U.data.isAttachIframe)return;dt++;const ve=r&&dt>=r,Y=n&&Le&&U.timestamp-Le.timestamp>n;(ve||Y)&&yr(!0)}};const Nt=V=>{se({type:D.IncrementalSnapshot,data:{source:P.Mutation,...V}})},ti=V=>se({type:D.IncrementalSnapshot,data:{source:P.Scroll,...V}}),cu=V=>se({type:D.IncrementalSnapshot,data:{source:P.CanvasMutation,...V}}),uu=V=>se({type:D.IncrementalSnapshot,data:{source:P.AdoptedStyleSheet,...V}}),Qe=new cg({mutationCb:Nt,adoptedStyleSheetCb:uu}),Ze=typeof __RRWEB_EXCLUDE_IFRAME__=="boolean"&&__RRWEB_EXCLUDE_IFRAME__?new rg:new sg({mirror:Ce,mutationCb:Nt,stylesheetManager:Qe,recordCrossOriginIframes:B,wrappedEmit:se});for(const V of X||[])V.getMirror&&V.getMirror({nodeMirror:Ce,crossOriginIframeMirror:Ze.crossOriginIframeMirror,crossOriginIframeStyleMirror:Ze.crossOriginIframeStyleMirror});const _r=new ug,Sr=dg(Z,{mirror:Ce,win:window,mutationCb:V=>se({type:D.IncrementalSnapshot,data:{source:P.CanvasMutation,...V}}),recordCanvas:w,blockClass:s,blockSelector:i,unblockSelector:o,maxCanvasSize:q,sampling:S.canvas,dataURLOptions:I,errorHandler:k}),fn=typeof __RRWEB_EXCLUDE_SHADOW_DOM__=="boolean"&&__RRWEB_EXCLUDE_SHADOW_DOM__?new ig:new og({mutationCb:Nt,scrollCb:ti,bypassOptions:{onMutation:G,blockClass:s,blockSelector:i,unblockSelector:o,maskAllText:u,maskTextClass:d,unmaskTextClass:l,maskTextSelector:f,unmaskTextSelector:p,inlineStylesheet:h,maskInputOptions:ye,dataURLOptions:I,maskAttributeFn:T,maskTextFn:L,maskInputFn:O,recordCanvas:w,inlineImages:K,sampling:S,slimDOMOptions:lt,iframeManager:Ze,stylesheetManager:Qe,canvasManager:Sr,keepIframeSrcFn:b,processedNodeManager:_r,ignoreCSSAttributes:j},mirror:Ce}),yr=(V=!1)=>{if(!E)return;se({type:D.Meta,data:{href:window.location.href,width:_c(),height:gc()}},V),Qe.reset(),fn.init(),Et.forEach(U=>U.lock());const Re=xm(document,{mirror:Ce,blockClass:s,blockSelector:i,unblockSelector:o,maskAllText:u,maskTextClass:d,unmaskTextClass:l,maskTextSelector:f,unmaskTextSelector:p,inlineStylesheet:h,maskAllInputs:ye,maskAttributeFn:T,maskInputFn:O,maskTextFn:L,slimDOM:lt,dataURLOptions:I,recordCanvas:w,inlineImages:K,onSerialize:U=>{Ec(U,Ce)&&Ze.addIframe(U),bc(U,Ce)&&Qe.trackLinkElement(U),ns(U)&&fn.addShadowRoot(U.shadowRoot,document)},onIframeLoad:(U,me)=>{Ze.attachIframe(U,me),U.contentWindow&&Sr.addWindow(U.contentWindow),fn.observeAttachShadow(U)},onStylesheetLoad:(U,me)=>{Qe.attachLinkElement(U,me)},onBlockedImageLoad:(U,me,{width:ve,height:Y})=>{Nt({adds:[],removes:[],texts:[],attributes:[{id:me.id,attributes:{style:{width:`${ve}px`,height:`${Y}px`}}}]})},keepIframeSrcFn:b,ignoreCSSAttributes:j});if(!Re)return console.warn("Failed to snapshot the document");se({type:D.FullSnapshot,data:{node:Re,initialOffset:mc(window)}}),Et.forEach(U=>U.unlock()),document.adoptedStyleSheets&&document.adoptedStyleSheets.length>0&&Qe.adoptStyleSheets(document.adoptedStyleSheets,Ce.getId(document))};Xn=yr;try{const V=[],Re=me=>{var ve;return W(ng)({onMutation:G,mutationCb:Nt,mousemoveCb:(Y,Er)=>se({type:D.IncrementalSnapshot,data:{source:Er,positions:Y}}),mouseInteractionCb:Y=>se({type:D.IncrementalSnapshot,data:{source:P.MouseInteraction,...Y}}),scrollCb:ti,viewportResizeCb:Y=>se({type:D.IncrementalSnapshot,data:{source:P.ViewportResize,...Y}}),inputCb:Y=>se({type:D.IncrementalSnapshot,data:{source:P.Input,...Y}}),mediaInteractionCb:Y=>se({type:D.IncrementalSnapshot,data:{source:P.MediaInteraction,...Y}}),styleSheetRuleCb:Y=>se({type:D.IncrementalSnapshot,data:{source:P.StyleSheetRule,...Y}}),styleDeclarationCb:Y=>se({type:D.IncrementalSnapshot,data:{source:P.StyleDeclaration,...Y}}),canvasMutationCb:cu,fontCb:Y=>se({type:D.IncrementalSnapshot,data:{source:P.Font,...Y}}),selectionCb:Y=>{se({type:D.IncrementalSnapshot,data:{source:P.Selection,...Y}})},customElementCb:Y=>{se({type:D.IncrementalSnapshot,data:{source:P.CustomElement,...Y}})},blockClass:s,ignoreClass:c,ignoreSelector:a,maskAllText:u,maskTextClass:d,unmaskTextClass:l,maskTextSelector:f,unmaskTextSelector:p,maskInputOptions:ye,inlineStylesheet:h,sampling:S,recordDOM:E,recordCanvas:w,inlineImages:K,userTriggeredOnInput:N,collectFonts:oe,doc:me,maskAttributeFn:T,maskInputFn:O,maskTextFn:L,keepIframeSrcFn:b,blockSelector:i,unblockSelector:o,slimDOMOptions:lt,dataURLOptions:I,mirror:Ce,iframeManager:Ze,stylesheetManager:Qe,shadowDomManager:fn,processedNodeManager:_r,canvasManager:Sr,ignoreCSSAttributes:j,plugins:((ve=X==null?void 0:X.filter(Y=>Y.observer))==null?void 0:ve.map(Y=>({observer:Y.observer,options:Y.options,callback:Er=>se({type:D.Plugin,data:{plugin:Y.name,payload:Er}})})))||[]},{})};Ze.addLoadListener(me=>{try{V.push(Re(me.contentDocument))}catch(ve){console.warn(ve)}});const U=()=>{yr(),V.push(Re(document))};return document.readyState==="interactive"||document.readyState==="complete"?U():(V.push(he("DOMContentLoaded",()=>{se({type:D.DomContentLoaded,data:{}}),H==="DOMContentLoaded"&&U()})),V.push(he("load",()=>{se({type:D.Load,data:{}}),H==="load"&&U()},window))),()=>{V.forEach(me=>me()),_r.destroy(),Xn=void 0,qm()}}catch(V){console.warn(V)}}function lg(e){if(!Xn)throw new Error("please take full snapshot after start recording");Xn(e)}Be.mirror=Ce;Be.takeFullSnapshot=lg;function dg(e,t){try{return e?e(t):new po}catch{return console.warn("Unable to initialize CanvasManager"),new po}}var ho;(function(e){e[e.NotStarted=0]="NotStarted",e[e.Running=1]="Running",e[e.Stopped=2]="Stopped"})(ho||(ho={}));const fg=3,pg=5;function qs(e){return e>9999999999?e:e*1e3}function Lr(e){return e>9999999999?e/1e3:e}function ln(e,t){t.category!=="sentry.transaction"&&(["ui.click","ui.input"].includes(t.category)?e.triggerUserActivity():e.checkAndHandleExpiredSession(),e.addUpdate(()=>(e.throttledAddEvent({type:D.Custom,timestamp:(t.timestamp||0)*1e3,data:{tag:"breadcrumb",payload:tr(t,10,1e3)}}),t.category==="console")))}const hg="button,a";function Cc(e){return e.closest(hg)||e}function Mc(e){const t=Ac(e);return!t||!(t instanceof Element)?t:Cc(t)}function Ac(e){return mg(e)?e.target:e}function mg(e){return typeof e=="object"&&!!e&&"target"in e}let We;function gg(e){return We||(We=[],_g()),We.push(e),()=>{const t=We?We.indexOf(e):-1;t>-1&&We.splice(t,1)}}function _g(){_e(te,"open",function(e){return function(...t){if(We)try{We.forEach(n=>n())}catch{}return e.apply(te,t)}})}const Sg=new Set([P.Mutation,P.StyleSheetRule,P.StyleDeclaration,P.AdoptedStyleSheet,P.CanvasMutation,P.Selection,P.MediaInteraction]);function yg(e,t,n){e.handleClick(t,n)}class Eg{constructor(t,n,r=ln){this._lastMutation=0,this._lastScroll=0,this._clicks=[],this._timeout=n.timeout/1e3,this._threshold=n.threshold/1e3,this._scrollTimeout=n.scrollTimeout/1e3,this._replay=t,this._ignoreSelector=n.ignoreSelector,this._addBreadcrumbEvent=r}addListeners(){const t=gg(()=>{this._lastMutation=mo()});this._teardown=()=>{t(),this._clicks=[],this._lastMutation=0,this._lastScroll=0}}removeListeners(){this._teardown&&this._teardown(),this._checkClickTimeout&&clearTimeout(this._checkClickTimeout)}handleClick(t,n){if(vg(n,this._ignoreSelector)||!Tg(t))return;const r={timestamp:Lr(t.timestamp),clickBreadcrumb:t,clickCount:0,node:n};this._clicks.some(s=>s.node===r.node&&Math.abs(s.timestamp-r.timestamp)<1)||(this._clicks.push(r),this._clicks.length===1&&this._scheduleCheckClicks())}registerMutation(t=Date.now()){this._lastMutation=Lr(t)}registerScroll(t=Date.now()){this._lastScroll=Lr(t)}registerClick(t){const n=Cc(t);this._handleMultiClick(n)}_handleMultiClick(t){this._getClicks(t).forEach(n=>{n.clickCount++})}_getClicks(t){return this._clicks.filter(n=>n.node===t)}_checkClicks(){const t=[],n=mo();this._clicks.forEach(r=>{!r.mutationAfter&&this._lastMutation&&(r.mutationAfter=r.timestamp<=this._lastMutation?this._lastMutation-r.timestamp:void 0),!r.scrollAfter&&this._lastScroll&&(r.scrollAfter=r.timestamp<=this._lastScroll?this._lastScroll-r.timestamp:void 0),r.timestamp+this._timeout<=n&&t.push(r)});for(const r of t){const s=this._clicks.indexOf(r);s>-1&&(this._generateBreadcrumbs(r),this._clicks.splice(s,1))}this._clicks.length&&this._scheduleCheckClicks()}_generateBreadcrumbs(t){const n=this._replay,r=t.scrollAfter&&t.scrollAfter<=this._scrollTimeout,s=t.mutationAfter&&t.mutationAfter<=this._threshold,i=!r&&!s,{clickCount:o,clickBreadcrumb:c}=t;if(i){const a=Math.min(t.mutationAfter||this._timeout,this._timeout)*1e3,u=a<this._timeout*1e3?"mutation":"timeout",d={type:"default",message:c.message,timestamp:c.timestamp,category:"ui.slowClickDetected",data:{...c.data,url:te.location.href,route:n.getCurrentRoute(),timeAfterClickMs:a,endReason:u,clickCount:o||1}};this._addBreadcrumbEvent(n,d);return}if(o>1){const a={type:"default",message:c.message,timestamp:c.timestamp,category:"ui.multiClick",data:{...c.data,url:te.location.href,route:n.getCurrentRoute(),clickCount:o,metric:!0}};this._addBreadcrumbEvent(n,a)}}_scheduleCheckClicks(){this._checkClickTimeout&&clearTimeout(this._checkClickTimeout),this._checkClickTimeout=cn(()=>this._checkClicks(),1e3)}}const bg=["A","BUTTON","INPUT"];function vg(e,t){return!!(!bg.includes(e.tagName)||e.tagName==="INPUT"&&!["submit","button"].includes(e.getAttribute("type")||"")||e.tagName==="A"&&(e.hasAttribute("download")||e.hasAttribute("target")&&e.getAttribute("target")!=="_self")||t&&e.matches(t))}function Tg(e){return!!(e.data&&typeof e.data.nodeId=="number"&&e.timestamp)}function mo(){return Date.now()/1e3}function Ig(e,t){try{if(!wg(t))return;const{source:n}=t.data;if(Sg.has(n)&&e.registerMutation(t.timestamp),n===P.Scroll&&e.registerScroll(t.timestamp),kg(t)){const{type:r,id:s}=t.data,i=Be.mirror.getNode(s);i instanceof HTMLElement&&r===pe.Click&&e.registerClick(i)}}catch{}}function wg(e){return e.type===fg}function kg(e){return e.data.source===P.MouseInteraction}function Oe(e){return{timestamp:Date.now()/1e3,type:"default",...e}}var js=(e=>(e[e.Document=0]="Document",e[e.DocumentType=1]="DocumentType",e[e.Element=2]="Element",e[e.Text=3]="Text",e[e.CDATA=4]="CDATA",e[e.Comment=5]="Comment",e))(js||{});const Rg=new Set(["id","class","aria-label","role","name","alt","title","data-test-id","data-testid","disabled","aria-disabled","data-sentry-component"]);function Cg(e){const t={};!e["data-sentry-component"]&&e["data-sentry-element"]&&(e["data-sentry-component"]=e["data-sentry-element"]);for(const n in e)if(Rg.has(n)){let r=n;(n==="data-testid"||n==="data-test-id")&&(r="testId"),t[r]=e[n]}return t}const Mg=e=>t=>{if(!e.isEnabled())return;const n=Ag(t);if(!n)return;const r=t.name==="click",s=r?t.event:void 0;r&&e.clickDetector&&(s!=null&&s.target)&&!s.altKey&&!s.metaKey&&!s.ctrlKey&&!s.shiftKey&&yg(e.clickDetector,n,Mc(t.event)),ln(e,n)};function xc(e,t){const n=Be.mirror.getId(e),r=n&&Be.mirror.getNode(n),s=r&&Be.mirror.getMeta(r),i=s&&Pg(s)?s:null;return{message:t,data:i?{nodeId:n,node:{id:n,tagName:i.tagName,textContent:Array.from(i.childNodes).map(o=>o.type===js.Text&&o.textContent).filter(Boolean).map(o=>o.trim()).join(""),attributes:Cg(i.attributes)}}:{}}}function Ag(e){const{target:t,message:n}=xg(e);return Oe({category:`ui.${e.name}`,...xc(t,n)})}function xg(e){const t=e.name==="click";let n,r=null;try{r=t?Mc(e.event):Ac(e.event),n=be(r,{maxStringLength:200})||"<unknown>"}catch{n="<unknown>"}return{target:r,message:n}}function Pg(e){return e.type===js.Element}function Ng(e,t){if(!e.isEnabled())return;e.updateUserActivity();const n=Og(t);n&&ln(e,n)}function Og(e){const{metaKey:t,shiftKey:n,ctrlKey:r,altKey:s,key:i,target:o}=e;if(!o||Lg(o)||!i)return null;const c=t||r||s,a=i.length===1;if(!c&&a)return null;const u=be(o,{maxStringLength:200})||"<unknown>",d=xc(o,u);return Oe({category:"ui.keyDown",message:u,data:{...d.data,metaKey:t,shiftKey:n,ctrlKey:r,altKey:s,key:i}})}function Lg(e){return e.tagName==="INPUT"||e.tagName==="TEXTAREA"||e.isContentEditable}const Dg={resource:$g,paint:Hg,navigation:Ug};function Dr(e,t){return({metric:n})=>void t.replayPerformanceEntries.push(e(n))}function Fg(e){return e.map(Bg).filter(Boolean)}function Bg(e){const t=Dg[e.entryType];return t?t(e):null}function kt(e){return((fe()||te.performance.timeOrigin)+e)/1e3}function Hg(e){const{duration:t,entryType:n,name:r,startTime:s}=e,i=kt(s);return{type:n,name:r,start:i,end:i+t,data:void 0}}function Ug(e){const{entryType:t,name:n,decodedBodySize:r,duration:s,domComplete:i,encodedBodySize:o,domContentLoadedEventStart:c,domContentLoadedEventEnd:a,domInteractive:u,loadEventStart:d,loadEventEnd:l,redirectCount:f,startTime:p,transferSize:h,type:g}=e;return s===0?null:{type:`${t}.${g}`,start:kt(p),end:kt(i),name:n,data:{size:h,decodedBodySize:r,encodedBodySize:o,duration:s,domInteractive:u,domContentLoadedEventStart:c,domContentLoadedEventEnd:a,loadEventStart:d,loadEventEnd:l,domComplete:i,redirectCount:f}}}function $g(e){const{entryType:t,initiatorType:n,name:r,responseEnd:s,startTime:i,decodedBodySize:o,encodedBodySize:c,responseStatus:a,transferSize:u}=e;return["fetch","xmlhttprequest"].includes(n)?null:{type:`${t}.${n}`,start:kt(i),end:kt(s),name:r,data:{size:u,statusCode:a,decodedBodySize:o,encodedBodySize:c}}}function zg(e){const t=e.entries[e.entries.length-1],n=t!=null&&t.element?[t.element]:void 0;return Vs(e,"largest-contentful-paint",n)}function Wg(e){return e.sources!==void 0}function qg(e){const t=[],n=[];for(const r of e.entries)if(Wg(r)){const s=[];for(const i of r.sources)if(i.node){n.push(i.node);const o=Be.mirror.getId(i.node);o&&s.push(o)}t.push({value:r.value,nodeIds:s.length?s:void 0})}return Vs(e,"cumulative-layout-shift",n,t)}function jg(e){const t=e.entries[e.entries.length-1],n=t!=null&&t.target?[t.target]:void 0;return Vs(e,"interaction-to-next-paint",n)}function Vs(e,t,n,r){const s=e.value,i=e.rating,o=kt(s);return{type:"web-vital",name:t,start:o,end:o,data:{value:s,size:s,rating:i,nodeIds:n?n.map(c=>Be.mirror.getId(c)):void 0,attributions:r}}}function Vg(e){function t(s){e.performanceEntries.includes(s)||e.performanceEntries.push(s)}function n({entries:s}){s.forEach(t)}const r=[];return["navigation","paint","resource"].forEach(s=>{r.push(ct(s,n))}),r.push(Ps(Dr(zg,e)),xs(Dr(qg,e)),Va(Dr(jg,e))),()=>{r.forEach(s=>s())}}const C=typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__,Gg='var t=Uint8Array,n=Uint16Array,r=Int32Array,e=new t([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,0,0,0]),i=new t([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,0,0]),s=new t([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),a=function(t,e){for(var i=new n(31),s=0;s<31;++s)i[s]=e+=1<<t[s-1];var a=new r(i[30]);for(s=1;s<30;++s)for(var o=i[s];o<i[s+1];++o)a[o]=o-i[s]<<5|s;return{b:i,r:a}},o=a(e,2),h=o.b,f=o.r;h[28]=258,f[258]=28;for(var l=a(i,0).r,u=new n(32768),c=0;c<32768;++c){var v=(43690&c)>>1|(21845&c)<<1;v=(61680&(v=(52428&v)>>2|(13107&v)<<2))>>4|(3855&v)<<4,u[c]=((65280&v)>>8|(255&v)<<8)>>1}var d=function(t,r,e){for(var i=t.length,s=0,a=new n(r);s<i;++s)t[s]&&++a[t[s]-1];var o,h=new n(r);for(s=1;s<r;++s)h[s]=h[s-1]+a[s-1]<<1;if(e){o=new n(1<<r);var f=15-r;for(s=0;s<i;++s)if(t[s])for(var l=s<<4|t[s],c=r-t[s],v=h[t[s]-1]++<<c,d=v|(1<<c)-1;v<=d;++v)o[u[v]>>f]=l}else for(o=new n(i),s=0;s<i;++s)t[s]&&(o[s]=u[h[t[s]-1]++]>>15-t[s]);return o},p=new t(288);for(c=0;c<144;++c)p[c]=8;for(c=144;c<256;++c)p[c]=9;for(c=256;c<280;++c)p[c]=7;for(c=280;c<288;++c)p[c]=8;var g=new t(32);for(c=0;c<32;++c)g[c]=5;var w=d(p,9,0),y=d(g,5,0),m=function(t){return(t+7)/8|0},b=function(n,r,e){return(null==e||e>n.length)&&(e=n.length),new t(n.subarray(r,e))},M=["unexpected EOF","invalid block type","invalid length/literal","invalid distance","stream finished","no stream handler",,"no callback","invalid UTF-8 data","extra field too long","date not in range 1980-2099","filename too long","stream finishing","invalid zip data"],E=function(t,n,r){var e=new Error(n||M[t]);if(e.code=t,Error.captureStackTrace&&Error.captureStackTrace(e,E),!r)throw e;return e},z=function(t,n,r){r<<=7&n;var e=n/8|0;t[e]|=r,t[e+1]|=r>>8},_=function(t,n,r){r<<=7&n;var e=n/8|0;t[e]|=r,t[e+1]|=r>>8,t[e+2]|=r>>16},x=function(r,e){for(var i=[],s=0;s<r.length;++s)r[s]&&i.push({s:s,f:r[s]});var a=i.length,o=i.slice();if(!a)return{t:F,l:0};if(1==a){var h=new t(i[0].s+1);return h[i[0].s]=1,{t:h,l:1}}i.sort(function(t,n){return t.f-n.f}),i.push({s:-1,f:25001});var f=i[0],l=i[1],u=0,c=1,v=2;for(i[0]={s:-1,f:f.f+l.f,l:f,r:l};c!=a-1;)f=i[i[u].f<i[v].f?u++:v++],l=i[u!=c&&i[u].f<i[v].f?u++:v++],i[c++]={s:-1,f:f.f+l.f,l:f,r:l};var d=o[0].s;for(s=1;s<a;++s)o[s].s>d&&(d=o[s].s);var p=new n(d+1),g=A(i[c-1],p,0);if(g>e){s=0;var w=0,y=g-e,m=1<<y;for(o.sort(function(t,n){return p[n.s]-p[t.s]||t.f-n.f});s<a;++s){var b=o[s].s;if(!(p[b]>e))break;w+=m-(1<<g-p[b]),p[b]=e}for(w>>=y;w>0;){var M=o[s].s;p[M]<e?w-=1<<e-p[M]++-1:++s}for(;s>=0&&w;--s){var E=o[s].s;p[E]==e&&(--p[E],++w)}g=e}return{t:new t(p),l:g}},A=function(t,n,r){return-1==t.s?Math.max(A(t.l,n,r+1),A(t.r,n,r+1)):n[t.s]=r},D=function(t){for(var r=t.length;r&&!t[--r];);for(var e=new n(++r),i=0,s=t[0],a=1,o=function(t){e[i++]=t},h=1;h<=r;++h)if(t[h]==s&&h!=r)++a;else{if(!s&&a>2){for(;a>138;a-=138)o(32754);a>2&&(o(a>10?a-11<<5|28690:a-3<<5|12305),a=0)}else if(a>3){for(o(s),--a;a>6;a-=6)o(8304);a>2&&(o(a-3<<5|8208),a=0)}for(;a--;)o(s);a=1,s=t[h]}return{c:e.subarray(0,i),n:r}},T=function(t,n){for(var r=0,e=0;e<n.length;++e)r+=t[e]*n[e];return r},k=function(t,n,r){var e=r.length,i=m(n+2);t[i]=255&e,t[i+1]=e>>8,t[i+2]=255^t[i],t[i+3]=255^t[i+1];for(var s=0;s<e;++s)t[i+s+4]=r[s];return 8*(i+4+e)},U=function(t,r,a,o,h,f,l,u,c,v,m){z(r,m++,a),++h[256];for(var b=x(h,15),M=b.t,E=b.l,A=x(f,15),U=A.t,C=A.l,F=D(M),I=F.c,S=F.n,L=D(U),O=L.c,j=L.n,q=new n(19),B=0;B<I.length;++B)++q[31&I[B]];for(B=0;B<O.length;++B)++q[31&O[B]];for(var G=x(q,7),H=G.t,J=G.l,K=19;K>4&&!H[s[K-1]];--K);var N,P,Q,R,V=v+5<<3,W=T(h,p)+T(f,g)+l,X=T(h,M)+T(f,U)+l+14+3*K+T(q,H)+2*q[16]+3*q[17]+7*q[18];if(c>=0&&V<=W&&V<=X)return k(r,m,t.subarray(c,c+v));if(z(r,m,1+(X<W)),m+=2,X<W){N=d(M,E,0),P=M,Q=d(U,C,0),R=U;var Y=d(H,J,0);z(r,m,S-257),z(r,m+5,j-1),z(r,m+10,K-4),m+=14;for(B=0;B<K;++B)z(r,m+3*B,H[s[B]]);m+=3*K;for(var Z=[I,O],$=0;$<2;++$){var tt=Z[$];for(B=0;B<tt.length;++B){var nt=31&tt[B];z(r,m,Y[nt]),m+=H[nt],nt>15&&(z(r,m,tt[B]>>5&127),m+=tt[B]>>12)}}}else N=w,P=p,Q=y,R=g;for(B=0;B<u;++B){var rt=o[B];if(rt>255){_(r,m,N[(nt=rt>>18&31)+257]),m+=P[nt+257],nt>7&&(z(r,m,rt>>23&31),m+=e[nt]);var et=31&rt;_(r,m,Q[et]),m+=R[et],et>3&&(_(r,m,rt>>5&8191),m+=i[et])}else _(r,m,N[rt]),m+=P[rt]}return _(r,m,N[256]),m+P[256]},C=new r([65540,131080,131088,131104,262176,1048704,1048832,2114560,2117632]),F=new t(0),I=function(){for(var t=new Int32Array(256),n=0;n<256;++n){for(var r=n,e=9;--e;)r=(1&r&&-306674912)^r>>>1;t[n]=r}return t}(),S=function(){var t=1,n=0;return{p:function(r){for(var e=t,i=n,s=0|r.length,a=0;a!=s;){for(var o=Math.min(a+2655,s);a<o;++a)i+=e+=r[a];e=(65535&e)+15*(e>>16),i=(65535&i)+15*(i>>16)}t=e,n=i},d:function(){return(255&(t%=65521))<<24|(65280&t)<<8|(255&(n%=65521))<<8|n>>8}}},L=function(s,a,o,h,u){if(!u&&(u={l:1},a.dictionary)){var c=a.dictionary.subarray(-32768),v=new t(c.length+s.length);v.set(c),v.set(s,c.length),s=v,u.w=c.length}return function(s,a,o,h,u,c){var v=c.z||s.length,d=new t(h+v+5*(1+Math.ceil(v/7e3))+u),p=d.subarray(h,d.length-u),g=c.l,w=7&(c.r||0);if(a){w&&(p[0]=c.r>>3);for(var y=C[a-1],M=y>>13,E=8191&y,z=(1<<o)-1,_=c.p||new n(32768),x=c.h||new n(z+1),A=Math.ceil(o/3),D=2*A,T=function(t){return(s[t]^s[t+1]<<A^s[t+2]<<D)&z},F=new r(25e3),I=new n(288),S=new n(32),L=0,O=0,j=c.i||0,q=0,B=c.w||0,G=0;j+2<v;++j){var H=T(j),J=32767&j,K=x[H];if(_[J]=K,x[H]=J,B<=j){var N=v-j;if((L>7e3||q>24576)&&(N>423||!g)){w=U(s,p,0,F,I,S,O,q,G,j-G,w),q=L=O=0,G=j;for(var P=0;P<286;++P)I[P]=0;for(P=0;P<30;++P)S[P]=0}var Q=2,R=0,V=E,W=J-K&32767;if(N>2&&H==T(j-W))for(var X=Math.min(M,N)-1,Y=Math.min(32767,j),Z=Math.min(258,N);W<=Y&&--V&&J!=K;){if(s[j+Q]==s[j+Q-W]){for(var $=0;$<Z&&s[j+$]==s[j+$-W];++$);if($>Q){if(Q=$,R=W,$>X)break;var tt=Math.min(W,$-2),nt=0;for(P=0;P<tt;++P){var rt=j-W+P&32767,et=rt-_[rt]&32767;et>nt&&(nt=et,K=rt)}}}W+=(J=K)-(K=_[J])&32767}if(R){F[q++]=268435456|f[Q]<<18|l[R];var it=31&f[Q],st=31&l[R];O+=e[it]+i[st],++I[257+it],++S[st],B=j+Q,++L}else F[q++]=s[j],++I[s[j]]}}for(j=Math.max(j,B);j<v;++j)F[q++]=s[j],++I[s[j]];w=U(s,p,g,F,I,S,O,q,G,j-G,w),g||(c.r=7&w|p[w/8|0]<<3,w-=7,c.h=x,c.p=_,c.i=j,c.w=B)}else{for(j=c.w||0;j<v+g;j+=65535){var at=j+65535;at>=v&&(p[w/8|0]=g,at=v),w=k(p,w+1,s.subarray(j,at))}c.i=v}return b(d,0,h+m(w)+u)}(s,null==a.level?6:a.level,null==a.mem?u.l?Math.ceil(1.5*Math.max(8,Math.min(13,Math.log(s.length)))):20:12+a.mem,o,h,u)},O=function(t,n,r){for(;r;++n)t[n]=r,r>>>=8},j=function(){function n(n,r){if("function"==typeof n&&(r=n,n={}),this.ondata=r,this.o=n||{},this.s={l:0,i:32768,w:32768,z:32768},this.b=new t(98304),this.o.dictionary){var e=this.o.dictionary.subarray(-32768);this.b.set(e,32768-e.length),this.s.i=32768-e.length}}return n.prototype.p=function(t,n){this.ondata(L(t,this.o,0,0,this.s),n)},n.prototype.push=function(n,r){this.ondata||E(5),this.s.l&&E(4);var e=n.length+this.s.z;if(e>this.b.length){if(e>2*this.b.length-32768){var i=new t(-32768&e);i.set(this.b.subarray(0,this.s.z)),this.b=i}var s=this.b.length-this.s.z;this.b.set(n.subarray(0,s),this.s.z),this.s.z=this.b.length,this.p(this.b,!1),this.b.set(this.b.subarray(-32768)),this.b.set(n.subarray(s),32768),this.s.z=n.length-s+32768,this.s.i=32766,this.s.w=32768}else this.b.set(n,this.s.z),this.s.z+=n.length;this.s.l=1&r,(this.s.z>this.s.w+8191||r)&&(this.p(this.b,r||!1),this.s.w=this.s.i,this.s.i-=2)},n.prototype.flush=function(){this.ondata||E(5),this.s.l&&E(4),this.p(this.b,!1),this.s.w=this.s.i,this.s.i-=2},n}();function q(t,n){n||(n={});var r=function(){var t=-1;return{p:function(n){for(var r=t,e=0;e<n.length;++e)r=I[255&r^n[e]]^r>>>8;t=r},d:function(){return~t}}}(),e=t.length;r.p(t);var i,s=L(t,n,10+((i=n).filename?i.filename.length+1:0),8),a=s.length;return function(t,n){var r=n.filename;if(t[0]=31,t[1]=139,t[2]=8,t[8]=n.level<2?4:9==n.level?2:0,t[9]=3,0!=n.mtime&&O(t,4,Math.floor(new Date(n.mtime||Date.now())/1e3)),r){t[3]=8;for(var e=0;e<=r.length;++e)t[e+10]=r.charCodeAt(e)}}(s,n),O(s,a-8,r.d()),O(s,a-4,e),s}var B=function(){function t(t,n){this.c=S(),this.v=1,j.call(this,t,n)}return t.prototype.push=function(t,n){this.c.p(t),j.prototype.push.call(this,t,n)},t.prototype.p=function(t,n){var r=L(t,this.o,this.v&&(this.o.dictionary?6:2),n&&4,this.s);this.v&&(function(t,n){var r=n.level,e=0==r?0:r<6?1:9==r?3:2;if(t[0]=120,t[1]=e<<6|(n.dictionary&&32),t[1]|=31-(t[0]<<8|t[1])%31,n.dictionary){var i=S();i.p(n.dictionary),O(t,2,i.d())}}(r,this.o),this.v=0),n&&O(r,r.length-4,this.c.d()),this.ondata(r,n)},t.prototype.flush=function(){j.prototype.flush.call(this)},t}(),G="undefined"!=typeof TextEncoder&&new TextEncoder,H="undefined"!=typeof TextDecoder&&new TextDecoder;try{H.decode(F,{stream:!0})}catch(t){}var J=function(){function t(t){this.ondata=t}return t.prototype.push=function(t,n){this.ondata||E(5),this.d&&E(4),this.ondata(K(t),this.d=n||!1)},t}();function K(n,r){if(G)return G.encode(n);for(var e=n.length,i=new t(n.length+(n.length>>1)),s=0,a=function(t){i[s++]=t},o=0;o<e;++o){if(s+5>i.length){var h=new t(s+8+(e-o<<1));h.set(i),i=h}var f=n.charCodeAt(o);f<128||r?a(f):f<2048?(a(192|f>>6),a(128|63&f)):f>55295&&f<57344?(a(240|(f=65536+(1047552&f)|1023&n.charCodeAt(++o))>>18),a(128|f>>12&63),a(128|f>>6&63),a(128|63&f)):(a(224|f>>12),a(128|f>>6&63),a(128|63&f))}return b(i,0,s)}const N=new class{constructor(){this._init()}clear(){this._init()}addEvent(t){if(!t)throw new Error("Adding invalid event");const n=this._hasEvents?",":"";this.stream.push(n+t),this._hasEvents=!0}finish(){this.stream.push("]",!0);const t=function(t){let n=0;for(const r of t)n+=r.length;const r=new Uint8Array(n);for(let n=0,e=0,i=t.length;n<i;n++){const i=t[n];r.set(i,e),e+=i.length}return r}(this._deflatedData);return this._init(),t}_init(){this._hasEvents=!1,this._deflatedData=[],this.deflate=new B,this.deflate.ondata=(t,n)=>{this._deflatedData.push(t)},this.stream=new J((t,n)=>{this.deflate.push(t,n)}),this.stream.push("[")}},P={clear:()=>{N.clear()},addEvent:t=>N.addEvent(t),finish:()=>N.finish(),compress:t=>function(t){return q(K(t))}(t)};addEventListener("message",function(t){const n=t.data.method,r=t.data.id,e=t.data.arg;if(n in P&&"function"==typeof P[n])try{const t=P[n](e);postMessage({id:r,method:n,success:!0,response:t})}catch(t){postMessage({id:r,method:n,success:!1,response:t.message}),console.error(t)}}),postMessage({id:void 0,method:"init",success:!0,response:void 0});';function Yg(){const e=new Blob([Gg]);return URL.createObjectURL(e)}const go=["log","warn","error"],Nn="[Replay] ";function Fr(e,t="info"){Ye({category:"console",data:{logger:"replay"},level:t,message:`${Nn}${e}`},{level:t})}function Jg(){let e=!1,t=!1;const n={exception:()=>{},infoTick:()=>{},setConfig:r=>{e=!!r.captureExceptions,t=!!r.traceInternals}};return C?(go.forEach(r=>{n[r]=(...s)=>{m[r](Nn,...s),t&&Fr(s.join(""),Ma(r))}}),n.exception=(r,...s)=>{s.length&&n.error&&n.error(...s),m.error(Nn,r),e?Lu(r,{mechanism:{handled:!0,type:"auto.function.replay.debug"}}):t&&Fr(r,"error")},n.infoTick=(...r)=>{m.log(Nn,...r),t&&setTimeout(()=>Fr(r[0]),0)}):go.forEach(r=>{n[r]=()=>{}}),n}const M=Jg();class Gs extends Error{constructor(){super(`Event buffer exceeded maximum size of ${Bs}.`)}}class Pc{constructor(){this.events=[],this._totalSize=0,this.hasCheckout=!1,this.waitForCheckout=!1}get hasEvents(){return this.events.length>0}get type(){return"sync"}destroy(){this.events=[]}async addEvent(t){const n=JSON.stringify(t).length;if(this._totalSize+=n,this._totalSize>Bs)throw new Gs;this.events.push(t)}finish(){return new Promise(t=>{const n=this.events;this.clear(),t(JSON.stringify(n))})}clear(){this.events=[],this._totalSize=0,this.hasCheckout=!1}getEarliestTimestamp(){const t=this.events.map(n=>n.timestamp).sort()[0];return t?qs(t):null}}class Kg{constructor(t){this._worker=t,this._id=0}ensureReady(){return this._ensureReadyPromise?this._ensureReadyPromise:(this._ensureReadyPromise=new Promise((t,n)=>{this._worker.addEventListener("message",({data:r})=>{r.success?t():n()},{once:!0}),this._worker.addEventListener("error",r=>{n(r)},{once:!0})}),this._ensureReadyPromise)}destroy(){C&&M.log("Destroying compression worker"),this._worker.terminate()}postMessage(t,n){const r=this._getAndIncrementId();return new Promise((s,i)=>{const o=({data:c})=>{const a=c;if(a.method===t&&a.id===r){if(this._worker.removeEventListener("message",o),!a.success){C&&M.error("Error in compression worker: ",a.response),i(new Error("Error in compression worker"));return}s(a.response)}};this._worker.addEventListener("message",o),this._worker.postMessage({id:r,method:t,arg:n})})}_getAndIncrementId(){return this._id++}}class Xg{constructor(t){this._worker=new Kg(t),this._earliestTimestamp=null,this._totalSize=0,this.hasCheckout=!1,this.waitForCheckout=!1}get hasEvents(){return!!this._earliestTimestamp}get type(){return"worker"}ensureReady(){return this._worker.ensureReady()}destroy(){this._worker.destroy()}addEvent(t){const n=qs(t.timestamp);(!this._earliestTimestamp||n<this._earliestTimestamp)&&(this._earliestTimestamp=n);const r=JSON.stringify(t);return this._totalSize+=r.length,this._totalSize>Bs?Promise.reject(new Gs):this._sendEventToWorker(r)}finish(){return this._finishRequest()}clear(){this._earliestTimestamp=null,this._totalSize=0,this.hasCheckout=!1,this._worker.postMessage("clear").then(null,t=>{C&&M.exception(t,'Sending "clear" message to worker failed',t)})}getEarliestTimestamp(){return this._earliestTimestamp}_sendEventToWorker(t){return this._worker.postMessage("addEvent",t)}async _finishRequest(){const t=await this._worker.postMessage("finish");return this._earliestTimestamp=null,this._totalSize=0,t}}class Qg{constructor(t){this._fallback=new Pc,this._compression=new Xg(t),this._used=this._fallback,this._ensureWorkerIsLoadedPromise=this._ensureWorkerIsLoaded()}get waitForCheckout(){return this._used.waitForCheckout}get type(){return this._used.type}get hasEvents(){return this._used.hasEvents}get hasCheckout(){return this._used.hasCheckout}set hasCheckout(t){this._used.hasCheckout=t}set waitForCheckout(t){this._used.waitForCheckout=t}destroy(){this._fallback.destroy(),this._compression.destroy()}clear(){return this._used.clear()}getEarliestTimestamp(){return this._used.getEarliestTimestamp()}addEvent(t){return this._used.addEvent(t)}async finish(){return await this.ensureWorkerIsLoaded(),this._used.finish()}ensureWorkerIsLoaded(){return this._ensureWorkerIsLoadedPromise}async _ensureWorkerIsLoaded(){try{await this._compression.ensureReady()}catch(t){C&&M.exception(t,"Failed to load the compression worker, falling back to simple buffer");return}await this._switchToCompressionWorker()}async _switchToCompressionWorker(){const{events:t,hasCheckout:n,waitForCheckout:r}=this._fallback,s=[];for(const i of t)s.push(this._compression.addEvent(i));this._compression.hasCheckout=n,this._compression.waitForCheckout=r,this._used=this._compression;try{await Promise.all(s),this._fallback.clear()}catch(i){C&&M.exception(i,"Failed to add events when switching buffers.")}}}function Zg({useCompression:e,workerUrl:t}){if(e&&window.Worker){const n=e_(t);if(n)return n}return C&&M.log("Using simple buffer"),new Pc}function e_(e){try{const t=e||t_();if(!t)return;C&&M.log(`Using compression worker${e?` from ${e}`:""}`);const n=new Worker(t);return new Qg(n)}catch(t){C&&M.exception(t,"Failed to create compression worker")}}function t_(){return typeof __SENTRY_EXCLUDE_REPLAY_WORKER__>"u"||!__SENTRY_EXCLUDE_REPLAY_WORKER__?Yg():""}function Ys(){try{return"sessionStorage"in te&&!!te.sessionStorage}catch{return!1}}function n_(e){r_(),e.session=void 0}function r_(){if(Ys())try{te.sessionStorage.removeItem(Ds)}catch{}}function Nc(e){return e===void 0?!1:Math.random()<e}function hr(e){if(Ys())try{te.sessionStorage.setItem(Ds,JSON.stringify(e))}catch{}}function Oc(e){const t=Date.now(),n=e.id||Pe(),r=e.started||t,s=e.lastActivity||t,i=e.segmentId||0,o=e.sampled,c=e.previousSessionId,a=e.dirty||!1;return{id:n,started:r,lastActivity:s,segmentId:i,sampled:o,previousSessionId:c,dirty:a}}function s_(e,t){return Nc(e)?"session":t?"buffer":!1}function _o({sessionSampleRate:e,allowBuffering:t,stickySession:n=!1},{previousSessionId:r}={}){const s=s_(e,t),i=Oc({sampled:s,previousSessionId:r});return n&&hr(i),i}function i_(){if(!Ys())return null;try{const e=te.sessionStorage.getItem(Ds);if(!e)return null;const t=JSON.parse(e);return C&&M.infoTick("Loading existing session"),Oc(t)}catch{return null}}function is(e,t,n=+new Date){return e===null||t===void 0||t<0?!0:t===0?!1:e+t<=n}function Lc(e,{maxReplayDuration:t,sessionIdleExpire:n,targetTime:r=Date.now()}){return is(e.started,t,r)||is(e.lastActivity,n,r)}function Dc(e,{sessionIdleExpire:t,maxReplayDuration:n}){return!(!Lc(e,{sessionIdleExpire:t,maxReplayDuration:n})||e.sampled==="buffer"&&e.segmentId===0)}function Br({sessionIdleExpire:e,maxReplayDuration:t,previousSessionId:n},r){const s=r.stickySession&&i_();return s?Dc(s,{sessionIdleExpire:e,maxReplayDuration:t})?(C&&M.infoTick("Session in sessionStorage is expired, creating new one..."),_o(r,{previousSessionId:s.id})):s:(C&&M.infoTick("Creating new session"),_o(r,{previousSessionId:n}))}function o_(e){return e.type===D.Custom}function Js(e,t,n){return Bc(e,t)?(Fc(e,t,n),!0):!1}function a_(e,t,n){return Bc(e,t)?Fc(e,t,n):Promise.resolve(null)}async function Fc(e,t,n){const{eventBuffer:r}=e;if(!r||r.waitForCheckout&&!n)return null;const s=e.recordingMode==="buffer";try{n&&s&&r.clear(),n&&(r.hasCheckout=!0,r.waitForCheckout=!1);const i=e.getOptions(),o=c_(t,i.beforeAddRecordingEvent);return o?await r.addEvent(o):void 0}catch(i){const o=i&&i instanceof Gs,c=o?"addEventSizeExceeded":"addEvent",a=z();if(a){const u=o?"buffer_overflow":"internal_sdk_error";a.recordDroppedEvent(u,"replay")}if(o&&s)return r.clear(),r.waitForCheckout=!0,null;e.handleException(i),await e.stop({reason:c})}}function Bc(e,t){if(!e.eventBuffer||e.isPaused()||!e.isEnabled())return!1;const n=qs(t.timestamp);return n+e.timeouts.sessionIdlePause<Date.now()?!1:n>e.getContext().initialTimestamp+e.getOptions().maxReplayDuration?(C&&M.infoTick(`Skipping event with timestamp ${n} because it is after maxReplayDuration`),!1):!0}function c_(e,t){try{if(typeof t=="function"&&o_(e))return t(e)}catch(n){return C&&M.exception(n,"An error occurred in the `beforeAddRecordingEvent` callback, skipping the event..."),null}return e}function Ks(e){return!e.type}function os(e){return e.type==="transaction"}function u_(e){return e.type==="replay_event"}function So(e){return e.type==="feedback"}function l_(e){return(t,n)=>{if(!e.isEnabled()||!Ks(t)&&!os(t))return;const r=n.statusCode;if(!(!r||r<200||r>=300)){if(os(t)){d_(e,t);return}f_(e,t)}}}function d_(e,t){var r,s;const n=e.getContext();(s=(r=t.contexts)==null?void 0:r.trace)!=null&&s.trace_id&&n.traceIds.size<100&&n.traceIds.add(t.contexts.trace.trace_id)}function f_(e,t){const n=e.getContext();if(t.event_id&&n.errorIds.size<100&&n.errorIds.add(t.event_id),e.recordingMode!=="buffer"||!t.tags||!t.tags.replayId)return;const{beforeErrorSampling:r}=e.getOptions();typeof r=="function"&&!r(t)||cn(async()=>{try{await e.sendBufferedReplayOrFlush()}catch(s){e.handleException(s)}})}function p_(e){return t=>{!e.isEnabled()||!Ks(t)||h_(e,t)}}function h_(e,t){var r,s,i;const n=(i=(s=(r=t.exception)==null?void 0:r.values)==null?void 0:s[0])==null?void 0:i.value;if(typeof n=="string"&&(n.match(/(reactjs\.org\/docs\/error-decoder\.html\?invariant=|react\.dev\/errors\/)(418|419|422|423|425)/)||n.match(/(does not match server-rendered HTML|Hydration failed because)/i))){const o=Oe({category:"replay.hydrate-error",data:{url:en()}});ln(e,o)}}function m_(e){const t=z();t&&t.on("beforeAddBreadcrumb",n=>g_(e,n))}function g_(e,t){if(!e.isEnabled()||!Hc(t))return;const n=__(t);n&&ln(e,n)}function __(e){return!Hc(e)||["fetch","xhr","sentry.event","sentry.transaction"].includes(e.category)||e.category.startsWith("ui.")?null:e.category==="console"?S_(e):Oe(e)}function S_(e){var s;const t=(s=e.data)==null?void 0:s.arguments;if(!Array.isArray(t)||t.length===0)return Oe(e);let n=!1;const r=t.map(i=>{if(!i)return i;if(typeof i=="string")return i.length>Sn?(n=!0,`${i.slice(0,Sn)}…`):i;if(typeof i=="object")try{const o=tr(i,7);return JSON.stringify(o).length>Sn?(n=!0,`${JSON.stringify(o,null,2).slice(0,Sn)}…`):o}catch{}return i});return Oe({...e,data:{...e.data,arguments:r,...n?{_meta:{warnings:["CONSOLE_ARG_TRUNCATED"]}}:{}}})}function Hc(e){return!!e.category}function y_(e,t){var n,r,s;return e.type||!((r=(n=e.exception)==null?void 0:n.values)!=null&&r.length)?!1:!!((s=t.originalException)!=null&&s.__rrweb__)}function Uc(){const e=ne().getPropagationContext().dsc;e&&delete e.replay_id;const t=de();if(t){const n=He(t);delete n.replay_id}}function E_(e,t){e.triggerUserActivity(),e.addUpdate(()=>t.timestamp?(e.throttledAddEvent({type:D.Custom,timestamp:t.timestamp*1e3,data:{tag:"breadcrumb",payload:{timestamp:t.timestamp,type:"default",category:"sentry.feedback",data:{feedbackId:t.event_id}}}}),!1):!0)}function b_(e,t){return e.recordingMode!=="buffer"||t.message===Fs||!t.exception||t.type?!1:Nc(e.getOptions().errorSampleRate)}function v_(e){return Object.assign((t,n)=>{var o;if(!e.isEnabled()||e.isPaused())return t;if(u_(t))return delete t.breadcrumbs,t;if(!Ks(t)&&!os(t)&&!So(t))return t;if(!e.checkAndHandleExpiredSession())return Uc(),t;if(So(t))return e.flush(),t.contexts.feedback.replay_id=e.getSessionId(),E_(e,t),t;if(y_(t,n)&&!e.getOptions()._experiments.captureExceptions)return C&&M.log("Ignoring error from rrweb internals",t),null;const s=b_(e,t);if((s||e.recordingMode==="session")&&(t.tags={...t.tags,replayId:e.getSessionId()}),s&&e.recordingMode==="buffer"&&((o=e.session)==null?void 0:o.sampled)==="buffer"){const c=e.session;c.dirty=!0,e.getOptions().stickySession&&hr(c)}return t},{id:"Replay"})}function mr(e,t){return t.map(({type:n,start:r,end:s,name:i,data:o})=>{const c=e.throttledAddEvent({type:D.Custom,timestamp:r,data:{tag:"performanceSpan",payload:{op:n,description:i,startTimestamp:r,endTimestamp:s,data:o}}});return typeof c=="string"?Promise.resolve(null):c})}function T_(e){const{from:t,to:n}=e,r=Date.now()/1e3;return{type:"navigation.push",start:r,end:r,name:n,data:{previous:t}}}function I_(e){return t=>{if(!e.isEnabled())return;const n=T_(t);n!==null&&(e.getContext().urls.push(n.name),e.triggerUserActivity(),e.addUpdate(()=>(mr(e,[n]),!1)))}}function w_(e,t){return C&&e.getOptions()._experiments.traceInternals?!1:sd(t,z())}function $c(e,t){e.isEnabled()&&t!==null&&(w_(e,t.name)||e.addUpdate(()=>(mr(e,[t]),!0)))}function gr(e){if(!e)return;const t=new TextEncoder;try{if(typeof e=="string")return t.encode(e).length;if(e instanceof URLSearchParams)return t.encode(e.toString()).length;if(e instanceof FormData){const n=ec(e);return t.encode(n).length}if(e instanceof Blob)return e.size;if(e instanceof ArrayBuffer)return e.byteLength}catch{}}function zc(e){if(!e)return;const t=parseInt(e,10);return isNaN(t)?void 0:t}function Qn(e,t){if(!e)return{headers:{},size:void 0,_meta:{warnings:[t]}};const n={...e._meta},r=n.warnings||[];return n.warnings=[...r,t],e._meta=n,e}function Wc(e,t){if(!t)return null;const{startTimestamp:n,endTimestamp:r,url:s,method:i,statusCode:o,request:c,response:a}=t;return{type:e,start:n/1e3,end:r/1e3,name:s,data:{method:i,statusCode:o,request:c,response:a}}}function Jt(e){return{headers:{},size:e,_meta:{warnings:["URL_SKIPPED"]}}}function qe(e,t,n){if(!t&&Object.keys(e).length===0)return;if(!t)return{headers:e};if(!n)return{headers:e,size:t};const r={headers:e,size:t},{body:s,warnings:i}=k_(n);return r.body=s,i!=null&&i.length&&(r._meta={warnings:i}),r}function as(e,t){return Object.entries(e).reduce((n,[r,s])=>{const i=r.toLowerCase();return t.includes(i)&&e[r]&&(n[i]=s),n},{})}function k_(e){if(!e||typeof e!="string")return{body:e};const t=e.length>Xi,n=R_(e);if(t){const r=e.slice(0,Xi);return n?{body:r,warnings:["MAYBE_JSON_TRUNCATED"]}:{body:`${r}…`,warnings:["TEXT_TRUNCATED"]}}if(n)try{return{body:JSON.parse(e)}}catch{}return{body:e}}function R_(e){const t=e[0],n=e[e.length-1];return t==="["&&n==="]"||t==="{"&&n==="}"}function Zn(e,t){const n=C_(e);return Fe(n,t)}function C_(e,t=te.document.baseURI){if(e.startsWith("http://")||e.startsWith("https://")||e.startsWith(te.location.origin))return e;const n=new URL(e,t);if(n.origin!==new URL(t).origin)return e;const r=n.href;return!e.endsWith("/")&&r.endsWith("/")?r.slice(0,-1):r}async function M_(e,t,n){try{const r=await x_(e,t,n),s=Wc("resource.fetch",r);$c(n.replay,s)}catch(r){C&&M.exception(r,"Failed to capture fetch breadcrumb")}}function A_(e,t){const{input:n,response:r}=t,s=n?nc(n):void 0,i=gr(s),o=r?zc(r.headers.get("content-length")):void 0;i!==void 0&&(e.data.request_body_size=i),o!==void 0&&(e.data.response_body_size=o)}async function x_(e,t,n){const r=Date.now(),{startTimestamp:s=r,endTimestamp:i=r}=t,{url:o,method:c,status_code:a=0,request_body_size:u,response_body_size:d}=e.data,l=Zn(o,n.networkDetailAllowUrls)&&!Zn(o,n.networkDetailDenyUrls),f=l?P_(n,t.input,u):Jt(u),p=await N_(l,n,t.response,d);return{startTimestamp:s,endTimestamp:i,url:o,method:c,statusCode:a,request:f,response:p}}function P_({networkCaptureBodies:e,networkRequestHeaders:t},n,r){const s=n?D_(n,t):{};if(!e)return qe(s,r,void 0);const i=nc(n),[o,c]=tc(i,M),a=qe(s,r,o);return c?Qn(a,c):a}async function N_(e,{networkCaptureBodies:t,networkResponseHeaders:n},r,s){if(!e&&s!==void 0)return Jt(s);const i=r?qc(r.headers,n):{};if(!r||!t&&s!==void 0)return qe(i,s,void 0);const[o,c]=await L_(r),a=O_(o,{networkCaptureBodies:t,responseBodySize:s,captureDetails:e,headers:i});return c?Qn(a,c):a}function O_(e,{networkCaptureBodies:t,responseBodySize:n,captureDetails:r,headers:s}){try{const i=e!=null&&e.length&&n===void 0?gr(e):n;return r?t?qe(s,i,e):qe(s,i,void 0):Jt(i)}catch(i){return C&&M.exception(i,"Failed to serialize response body"),qe(s,n,void 0)}}async function L_(e){const t=F_(e);if(!t)return[void 0,"BODY_PARSE_ERROR"];try{return[await B_(t)]}catch(n){return n instanceof Error&&n.message.indexOf("Timeout")>-1?(C&&M.warn("Parsing text body from response timed out"),[void 0,"BODY_PARSE_TIMEOUT"]):(C&&M.exception(n,"Failed to get text body from response"),[void 0,"BODY_PARSE_ERROR"])}}function qc(e,t){const n={};return t.forEach(r=>{e.get(r)&&(n[r]=e.get(r))}),n}function D_(e,t){return e.length===1&&typeof e[0]!="string"?yo(e[0],t):e.length===2?yo(e[1],t):{}}function yo(e,t){if(!e)return{};const n=e.headers;return n?n instanceof Headers?qc(n,t):Array.isArray(n)?{}:as(n,t):{}}function F_(e){try{return e.clone()}catch(t){C&&M.exception(t,"Failed to clone response body")}}function B_(e){return new Promise((t,n)=>{const r=cn(()=>n(new Error("Timeout while trying to read response body")),500);H_(e).then(s=>t(s),s=>n(s)).finally(()=>clearTimeout(r))})}async function H_(e){return await e.text()}async function U_(e,t,n){try{const r=z_(e,t,n),s=Wc("resource.xhr",r);$c(n.replay,s)}catch(r){C&&M.exception(r,"Failed to capture xhr breadcrumb")}}function $_(e,t){const{xhr:n,input:r}=t;if(!n)return;const s=gr(r),i=n.getResponseHeader("content-length")?zc(n.getResponseHeader("content-length")):j_(n.response,n.responseType);s!==void 0&&(e.data.request_body_size=s),i!==void 0&&(e.data.response_body_size=i)}function z_(e,t,n){const r=Date.now(),{startTimestamp:s=r,endTimestamp:i=r,input:o,xhr:c}=t,{url:a,method:u,status_code:d=0,request_body_size:l,response_body_size:f}=e.data;if(!a)return null;if(!c||!Zn(a,n.networkDetailAllowUrls)||Zn(a,n.networkDetailDenyUrls)){const x=Jt(l),S=Jt(f);return{startTimestamp:s,endTimestamp:i,url:a,method:u,statusCode:d,request:x,response:S}}const p=c[tt],h=p?as(p.request_headers,n.networkRequestHeaders):{},g=as(rc(c),n.networkResponseHeaders),[_,y]=n.networkCaptureBodies?tc(o,M):[void 0],[T,O]=n.networkCaptureBodies?W_(c):[void 0],L=qe(h,l,_),q=qe(g,f,T);return{startTimestamp:s,endTimestamp:i,url:a,method:u,statusCode:d,request:y?Qn(L,y):L,response:O?Qn(q,O):q}}function W_(e){const t=[];try{return[e.responseText]}catch(n){t.push(n)}try{return q_(e.response,e.responseType)}catch(n){t.push(n)}return C&&M.warn("Failed to get xhr response body",...t),[void 0]}function q_(e,t){try{if(typeof e=="string")return[e];if(e instanceof Document)return[e.body.outerHTML];if(t==="json"&&e&&typeof e=="object")return[JSON.stringify(e)];if(!e)return[void 0]}catch(n){return C&&M.exception(n,"Failed to serialize body",e),[void 0,"BODY_PARSE_ERROR"]}return C&&M.log("Skipping network body because of body type",e),[void 0,"UNPARSEABLE_BODY_TYPE"]}function j_(e,t){try{const n=t==="json"&&e&&typeof e=="object"?JSON.stringify(e):e;return gr(n)}catch{return}}function V_(e){const t=z();try{const{networkDetailAllowUrls:n,networkDetailDenyUrls:r,networkCaptureBodies:s,networkRequestHeaders:i,networkResponseHeaders:o}=e.getOptions(),c={replay:e,networkDetailAllowUrls:n,networkDetailDenyUrls:r,networkCaptureBodies:s,networkRequestHeaders:i,networkResponseHeaders:o};t&&t.on("beforeAddBreadcrumb",(a,u)=>G_(c,a,u))}catch{}}function G_(e,t,n){if(t.data)try{Y_(t)&&K_(n)&&($_(t,n),U_(t,n,e)),J_(t)&&X_(n)&&(A_(t,n),M_(t,n,e))}catch(r){C&&M.exception(r,"Error when enriching network breadcrumb")}}function Y_(e){return e.category==="xhr"}function J_(e){return e.category==="fetch"}function K_(e){return e==null?void 0:e.xhr}function X_(e){return e==null?void 0:e.response}function Q_(e){const t=z();Qa(Mg(e)),lr(I_(e)),m_(e),V_(e);const n=v_(e);Ou(n),t&&(t.on("beforeSendEvent",p_(e)),t.on("afterSendEvent",l_(e)),t.on("createDsc",r=>{const s=e.getSessionId();s&&e.isEnabled()&&e.recordingMode==="session"&&e.checkAndHandleExpiredSession()&&(r.replay_id=s)}),t.on("spanStart",r=>{e.lastActiveSpan=r}),t.on("spanEnd",r=>{e.lastActiveSpan=r}),t.on("beforeSendFeedback",async(r,s)=>{var o;const i=e.getSessionId();s!=null&&s.includeReplay&&e.isEnabled()&&i&&((o=r.contexts)!=null&&o.feedback)&&(r.contexts.feedback.source==="api"&&await e.sendBufferedReplayOrFlush(),r.contexts.feedback.replay_id=i)}),t.on("openFeedbackWidget",async()=>{await e.sendBufferedReplayOrFlush()}))}async function Z_(e){try{return Promise.all(mr(e,[eS(te.performance.memory)]))}catch{return[]}}function eS(e){const{jsHeapSizeLimit:t,totalJSHeapSize:n,usedJSHeapSize:r}=e,s=Date.now()/1e3;return{type:"memory",name:"memory",start:s,end:s,data:{memory:{jsHeapSizeLimit:t,totalJSHeapSize:n,usedJSHeapSize:r}}}}function tS(e,t,n){return ld(e,t,{...n,setTimeoutImpl:cn})}const Ie=Q.navigator;function nS(){return/iPhone|iPad|iPod/i.test((Ie==null?void 0:Ie.userAgent)??"")||/Macintosh/i.test((Ie==null?void 0:Ie.userAgent)??"")&&(Ie!=null&&Ie.maxTouchPoints)&&(Ie==null?void 0:Ie.maxTouchPoints)>1?{sampling:{mousemove:!1}}:{}}function rS(e){let t=!1;return(n,r)=>{if(!e.checkAndHandleExpiredSession()){C&&M.warn("Received replay event after session expired.");return}const s=r||!t;t=!0,e.clickDetector&&Ig(e.clickDetector,n),e.addUpdate(()=>{if(e.recordingMode==="buffer"&&s&&e.setInitialState(),!Js(e,n,s))return!0;if(!s)return!1;const i=e.session;if(iS(e,s),e.recordingMode==="buffer"&&i&&e.eventBuffer&&!i.dirty){const o=e.eventBuffer.getEarliestTimestamp();o&&(C&&M.log(`Updating session start time to earliest event in buffer to ${new Date(o)}`),i.started=o,e.getOptions().stickySession&&hr(i))}return i!=null&&i.previousSessionId||e.recordingMode==="session"&&e.flush(),!0})}}function sS(e){const t=e.getOptions();return{type:D.Custom,timestamp:Date.now(),data:{tag:"options",payload:{shouldRecordCanvas:e.isRecordingCanvas(),sessionSampleRate:t.sessionSampleRate,errorSampleRate:t.errorSampleRate,useCompressionOption:t.useCompression,blockAllMedia:t.blockAllMedia,maskAllText:t.maskAllText,maskAllInputs:t.maskAllInputs,useCompression:e.eventBuffer?e.eventBuffer.type==="worker":!1,networkDetailHasUrls:t.networkDetailAllowUrls.length>0,networkCaptureBodies:t.networkCaptureBodies,networkRequestHasHeaders:t.networkRequestHeaders.length>0,networkResponseHasHeaders:t.networkResponseHeaders.length>0}}}}function iS(e,t){!t||!e.session||e.session.segmentId!==0||Js(e,sS(e),!1)}function oS(e){if(!e)return null;try{return e.nodeType===e.ELEMENT_NODE?e:e.parentElement}catch{return null}}function aS(e,t,n,r){return $e(aa(e,or(e),r,n),[[{type:"replay_event"},e],[{type:"replay_recording",length:typeof t=="string"?new TextEncoder().encode(t).length:t.length},t]])}function cS({recordingData:e,headers:t}){let n;const r=`${JSON.stringify(t)}
|
|
23
|
-
`;if(typeof e=="string")n=`${r}${e}`;else{const i=new TextEncoder().encode(r);n=new Uint8Array(i.length+e.length),n.set(i),n.set(e,i.length)}return n}async function uS({client:e,scope:t,replayId:n,event:r}){const s=typeof e._integrations=="object"&&e._integrations!==null&&!Array.isArray(e._integrations)?Object.keys(e._integrations):void 0,i={event_id:n,integrations:s};e.emit("preprocessEvent",r,i);const o=await Yo(e.getOptions(),r,i,t,e,Mt());if(!o)return null;e.emit("postprocessEvent",o,i),o.platform=o.platform||"javascript";const c=e.getSdkMetadata(),{name:a,version:u,settings:d}=(c==null?void 0:c.sdk)||{};return o.sdk={...o.sdk,name:a||"sentry.javascript.unknown",version:u||"0.0.0",settings:d},o}async function lS({recordingData:e,replayId:t,segmentId:n,eventContext:r,timestamp:s,session:i}){const o=cS({recordingData:e,headers:{segment_id:n}}),{urls:c,errorIds:a,traceIds:u,initialTimestamp:d}=r,l=z(),f=ne(),p=l==null?void 0:l.getTransport(),h=l==null?void 0:l.getDsn();if(!l||!p||!h||!i.sampled)return Promise.resolve({});const g={type:Uh,replay_start_timestamp:d/1e3,timestamp:s/1e3,error_ids:a,trace_ids:u,urls:c,replay_id:t,segment_id:n,replay_type:i.sampled},_=await uS({scope:f,client:l,replayId:t,event:g});if(!_)return l.recordDroppedEvent("event_processor","replay"),C&&M.log("An event processor returned `null`, will not send event."),Promise.resolve({});delete _.sdkProcessingMetadata;const y=aS(_,o,h,l.getOptions().tunnel);let T;try{T=await p.send(y)}catch(L){const q=new Error(Fs);try{q.cause=L}catch{}throw q}if(typeof T.statusCode=="number"&&(T.statusCode<200||T.statusCode>=300))throw new jc(T.statusCode);const O=ya({},T);if(Sa(O,"replay"))throw new Xs(O);return T}class jc extends Error{constructor(t){super(`Transport returned status code ${t}`)}}class Xs extends Error{constructor(t){super("Rate limit hit"),this.rateLimits=t}}async function Vc(e,t={count:0,interval:Vh}){const{recordingData:n,onError:r}=e;if(n.length)try{return await lS(e),!0}catch(s){if(s instanceof jc||s instanceof Xs)throw s;if(ra("Replays",{_retryCount:t.count}),r&&r(s),t.count>=Gh){const i=new Error(`${Fs} - max retries exceeded`);try{i.cause=s}catch{}throw i}return t.interval*=++t.count,new Promise((i,o)=>{cn(async()=>{try{await Vc(e,t),i(!0)}catch(c){o(c)}},t.interval)})}}const Gc="__THROTTLED",dS="__SKIPPED";function fS(e,t,n){const r=new Map,s=c=>{const a=c-n;r.forEach((u,d)=>{d<a&&r.delete(d)})},i=()=>[...r.values()].reduce((c,a)=>c+a,0);let o=!1;return(...c)=>{const a=Math.floor(Date.now()/1e3);if(s(a),i()>=t){const d=o;return o=!0,d?dS:Gc}o=!1;const u=r.get(a)||0;return r.set(a,u+1),e(...c)}}class pS{constructor({options:t,recordingOptions:n}){this.eventBuffer=null,this.performanceEntries=[],this.replayPerformanceEntries=[],this.recordingMode="session",this.timeouts={sessionIdlePause:$h,sessionIdleExpire:zh},this._lastActivity=Date.now(),this._isEnabled=!1,this._isPaused=!1,this._requiresManualStart=!1,this._hasInitializedCoreListeners=!1,this._context={errorIds:new Set,traceIds:new Set,urls:[],initialTimestamp:Date.now(),initialUrl:""},this._recordingOptions=n,this._options=t,this._debouncedFlush=tS(()=>this._flush(),this._options.flushMinDelay,{maxWait:this._options.flushMaxDelay}),this._throttledAddEvent=fS((o,c)=>a_(this,o,c),300,5);const{slowClickTimeout:r,slowClickIgnoreSelectors:s}=this.getOptions(),i=r?{threshold:Math.min(Yh,r),timeout:r,scrollTimeout:Jh,ignoreSelector:s?s.join(","):""}:void 0;if(i&&(this.clickDetector=new Eg(this,i)),C){const o=t._experiments;M.setConfig({captureExceptions:!!o.captureExceptions,traceInternals:!!o.traceInternals})}this._handleVisibilityChange=()=>{te.document.visibilityState==="visible"?this._doChangeToForegroundTasks():this._doChangeToBackgroundTasks()},this._handleWindowBlur=()=>{const o=Oe({category:"ui.blur"});this._doChangeToBackgroundTasks(o)},this._handleWindowFocus=()=>{const o=Oe({category:"ui.focus"});this._doChangeToForegroundTasks(o)},this._handleKeyboardEvent=o=>{Ng(this,o)}}getContext(){return this._context}isEnabled(){return this._isEnabled}isPaused(){return this._isPaused}isRecordingCanvas(){return!!this._canvas}getOptions(){return this._options}handleException(t){C&&M.exception(t),this._options.onError&&this._options.onError(t)}initializeSampling(t){const{errorSampleRate:n,sessionSampleRate:r}=this._options,s=n<=0&&r<=0;if(this._requiresManualStart=s,!s){if(this._initializeSessionForSampling(t),!this.session){C&&M.exception(new Error("Unable to initialize and create session"));return}this.session.sampled!==!1&&(this.recordingMode=this.session.sampled==="buffer"&&this.session.segmentId===0?"buffer":"session",C&&M.infoTick(`Starting replay in ${this.recordingMode} mode`),this._initializeRecording())}}start(){if(this._isEnabled&&this.recordingMode==="session"){C&&M.log("Recording is already in progress");return}if(this._isEnabled&&this.recordingMode==="buffer"){C&&M.log("Buffering is in progress, call `flush()` to save the replay");return}C&&M.infoTick("Starting replay in session mode"),this._updateUserActivity();const t=Br({maxReplayDuration:this._options.maxReplayDuration,sessionIdleExpire:this.timeouts.sessionIdleExpire},{stickySession:this._options.stickySession,sessionSampleRate:1,allowBuffering:!1});this.session=t,this.recordingMode="session",this._initializeRecording()}startBuffering(){if(this._isEnabled){C&&M.log("Buffering is in progress, call `flush()` to save the replay");return}C&&M.infoTick("Starting replay in buffer mode");const t=Br({sessionIdleExpire:this.timeouts.sessionIdleExpire,maxReplayDuration:this._options.maxReplayDuration},{stickySession:this._options.stickySession,sessionSampleRate:0,allowBuffering:!0});this.session=t,this.recordingMode="buffer",this._initializeRecording()}startRecording(){try{const t=this._canvas;this._stopRecording=Be({...this._recordingOptions,...this.recordingMode==="buffer"?{checkoutEveryNms:jh}:this._options._experiments.continuousCheckout&&{checkoutEveryNms:Math.max(36e4,this._options._experiments.continuousCheckout)},emit:rS(this),...nS(),onMutation:this._onMutationHandler.bind(this),...t?{recordCanvas:t.recordCanvas,getCanvasManager:t.getCanvasManager,sampling:t.sampling,dataURLOptions:t.dataURLOptions}:{}})}catch(t){this.handleException(t)}}stopRecording(){try{return this._stopRecording&&(this._stopRecording(),this._stopRecording=void 0),!0}catch(t){return this.handleException(t),!1}}async stop({forceFlush:t=!1,reason:n}={}){var r;if(this._isEnabled){this._isEnabled=!1,this.recordingMode="buffer";try{C&&M.log(`Stopping Replay${n?` triggered by ${n}`:""}`),Uc(),this._removeListeners(),this.stopRecording(),this._debouncedFlush.cancel(),t&&await this._flush({force:!0}),(r=this.eventBuffer)==null||r.destroy(),this.eventBuffer=null,n_(this)}catch(s){this.handleException(s)}}}pause(){this._isPaused||(this._isPaused=!0,this.stopRecording(),C&&M.log("Pausing replay"))}resume(){!this._isPaused||!this._checkSession()||(this._isPaused=!1,this.startRecording(),C&&M.log("Resuming replay"))}async sendBufferedReplayOrFlush({continueRecording:t=!0}={}){if(this.recordingMode==="session")return this.flushImmediate();const n=Date.now();C&&M.log("Converting buffer to session"),await this.flushImmediate();const r=this.stopRecording();!t||!r||this.recordingMode!=="session"&&(this.recordingMode="session",this.session&&(this.session.dirty=!1,this._updateUserActivity(n),this._updateSessionActivity(n),this._maybeSaveSession()),this.startRecording())}addUpdate(t){const n=t();this.recordingMode==="buffer"||!this._isEnabled||n!==!0&&this._debouncedFlush()}triggerUserActivity(){if(this._updateUserActivity(),!this._stopRecording){if(!this._checkSession())return;this.resume();return}this.checkAndHandleExpiredSession(),this._updateSessionActivity()}updateUserActivity(){this._updateUserActivity(),this._updateSessionActivity()}conditionalFlush(){return this.recordingMode==="buffer"?Promise.resolve():this.flushImmediate()}flush(){return this._debouncedFlush()}flushImmediate(){return this._debouncedFlush(),this._debouncedFlush.flush()}cancelFlush(){this._debouncedFlush.cancel()}getSessionId(t){var n,r;if(!(t&&((n=this.session)==null?void 0:n.sampled)===!1))return(r=this.session)==null?void 0:r.id}checkAndHandleExpiredSession(){if(this._lastActivity&&is(this._lastActivity,this.timeouts.sessionIdlePause)&&this.session&&this.session.sampled==="session"){this.pause();return}return!!this._checkSession()}setInitialState(){const t=`${te.location.pathname}${te.location.hash}${te.location.search}`,n=`${te.location.origin}${t}`;this.performanceEntries=[],this.replayPerformanceEntries=[],this._clearContext(),this._context.initialUrl=n,this._context.initialTimestamp=Date.now(),this._context.urls.push(n)}throttledAddEvent(t,n){const r=this._throttledAddEvent(t,n);if(r===Gc){const s=Oe({category:"replay.throttled"});this.addUpdate(()=>!Js(this,{type:pg,timestamp:s.timestamp||0,data:{tag:"breadcrumb",payload:s,metric:!0}}))}return r}getCurrentRoute(){const t=this.lastActiveSpan||de(),n=t&&le(t),s=(n&&$(n).data||{})[Ae];if(!(!n||!s||!["route","custom"].includes(s)))return $(n).description}_initializeRecording(){this.setInitialState(),this._updateSessionActivity(),this.eventBuffer=Zg({useCompression:this._options.useCompression,workerUrl:this._options.workerUrl}),this._removeListeners(),this._addListeners(),this._isEnabled=!0,this._isPaused=!1,this.startRecording()}_initializeSessionForSampling(t){const n=this._options.errorSampleRate>0,r=Br({sessionIdleExpire:this.timeouts.sessionIdleExpire,maxReplayDuration:this._options.maxReplayDuration,previousSessionId:t},{stickySession:this._options.stickySession,sessionSampleRate:this._options.sessionSampleRate,allowBuffering:n});this.session=r}_checkSession(){if(!this.session)return!1;const t=this.session;return Dc(t,{sessionIdleExpire:this.timeouts.sessionIdleExpire,maxReplayDuration:this._options.maxReplayDuration})?(this._refreshSession(t),!1):!0}async _refreshSession(t){this._isEnabled&&(await this.stop({reason:"refresh session"}),this.initializeSampling(t.id))}_addListeners(){try{te.document.addEventListener("visibilitychange",this._handleVisibilityChange),te.addEventListener("blur",this._handleWindowBlur),te.addEventListener("focus",this._handleWindowFocus),te.addEventListener("keydown",this._handleKeyboardEvent),this.clickDetector&&this.clickDetector.addListeners(),this._hasInitializedCoreListeners||(Q_(this),this._hasInitializedCoreListeners=!0)}catch(t){this.handleException(t)}this._performanceCleanupCallback=Vg(this)}_removeListeners(){try{te.document.removeEventListener("visibilitychange",this._handleVisibilityChange),te.removeEventListener("blur",this._handleWindowBlur),te.removeEventListener("focus",this._handleWindowFocus),te.removeEventListener("keydown",this._handleKeyboardEvent),this.clickDetector&&this.clickDetector.removeListeners(),this._performanceCleanupCallback&&this._performanceCleanupCallback()}catch(t){this.handleException(t)}}_doChangeToBackgroundTasks(t){!this.session||Lc(this.session,{maxReplayDuration:this._options.maxReplayDuration,sessionIdleExpire:this.timeouts.sessionIdleExpire})||(t&&this._createCustomBreadcrumb(t),this.conditionalFlush())}_doChangeToForegroundTasks(t){if(!this.session)return;if(!this.checkAndHandleExpiredSession()){C&&M.log("Document has become active, but session has expired");return}t&&this._createCustomBreadcrumb(t)}_updateUserActivity(t=Date.now()){this._lastActivity=t}_updateSessionActivity(t=Date.now()){this.session&&(this.session.lastActivity=t,this._maybeSaveSession())}_createCustomBreadcrumb(t){this.addUpdate(()=>{this.throttledAddEvent({type:D.Custom,timestamp:t.timestamp||0,data:{tag:"breadcrumb",payload:t}})})}_addPerformanceEntries(){let t=Fg(this.performanceEntries).concat(this.replayPerformanceEntries);if(this.performanceEntries=[],this.replayPerformanceEntries=[],this._requiresManualStart){const n=this._context.initialTimestamp/1e3;t=t.filter(r=>r.start>=n)}return Promise.all(mr(this,t))}_clearContext(){this._context.errorIds.clear(),this._context.traceIds.clear(),this._context.urls=[]}_updateInitialTimestampFromEventBuffer(){const{session:t,eventBuffer:n}=this;if(!t||!n||this._requiresManualStart||t.segmentId)return;const r=n.getEarliestTimestamp();r&&r<this._context.initialTimestamp&&(this._context.initialTimestamp=r)}_popEventContext(){const t={initialTimestamp:this._context.initialTimestamp,initialUrl:this._context.initialUrl,errorIds:Array.from(this._context.errorIds),traceIds:Array.from(this._context.traceIds),urls:this._context.urls};return this._clearContext(),t}async _runFlush(){var n;const t=this.getSessionId();if(!this.session||!this.eventBuffer||!t){C&&M.error("No session or eventBuffer found to flush.");return}if(await this._addPerformanceEntries(),!!((n=this.eventBuffer)!=null&&n.hasEvents)&&(await Z_(this),!!this.eventBuffer&&t===this.getSessionId()))try{this._updateInitialTimestampFromEventBuffer();const r=Date.now();if(r-this._context.initialTimestamp>this._options.maxReplayDuration+3e4)throw new Error("Session is too long, not sending replay");const s=this._popEventContext(),i=this.session.segmentId++;this._maybeSaveSession();const o=await this.eventBuffer.finish();await Vc({replayId:t,recordingData:o,segmentId:i,eventContext:s,session:this.session,timestamp:r,onError:c=>this.handleException(c)})}catch(r){this.handleException(r),this.stop({reason:"sendReplay"});const s=z();if(s){const i=r instanceof Xs?"ratelimit_backoff":"send_error";s.recordDroppedEvent(i,"replay")}}}async _flush({force:t=!1}={}){if(!this._isEnabled&&!t)return;if(!this.checkAndHandleExpiredSession()){C&&M.error("Attempting to finish replay event after session expired.");return}if(!this.session)return;const n=this.session.started,s=Date.now()-n;this._debouncedFlush.cancel();const i=s<this._options.minReplayDuration,o=s>this._options.maxReplayDuration+5e3;if(i||o){C&&M.log(`Session duration (${Math.floor(s/1e3)}s) is too ${i?"short":"long"}, not sending replay.`),i&&this._debouncedFlush();return}const c=this.eventBuffer;c&&this.session.segmentId===0&&!c.hasCheckout&&C&&M.log("Flushing initial segment without checkout.");const a=!!this._flushLock;this._flushLock||(this._flushLock=this._runFlush());try{await this._flushLock}catch(u){this.handleException(u)}finally{this._flushLock=void 0,a&&this._debouncedFlush()}}_maybeSaveSession(){this.session&&this._options.stickySession&&hr(this.session)}_onMutationHandler(t){const{ignoreMutations:n}=this._options._experiments;if(n!=null&&n.length&&t.some(c=>{const a=oS(c.target),u=n.join(",");return a==null?void 0:a.matches(u)}))return!1;const r=t.length,s=this._options.mutationLimit,i=this._options.mutationBreadcrumbLimit,o=s&&r>s;if(r>i||o){const c=Oe({category:"replay.mutations",data:{count:r,limit:o}});this._createCustomBreadcrumb(c)}return o?(this.stop({reason:"mutationLimit",forceFlush:this.recordingMode==="session"}),!1):!0}}function Ot(e,t){return[...e,...t].join(",")}function hS({mask:e,unmask:t,block:n,unblock:r,ignore:s}){const i=["base","iframe[srcdoc]:not([src])"],o=Ot(e,[".sentry-mask","[data-sentry-mask]"]),c=Ot(t,[]);return{maskTextSelector:o,unmaskTextSelector:c,blockSelector:Ot(n,[".sentry-block","[data-sentry-block]",...i]),unblockSelector:Ot(r,[]),ignoreSelector:Ot(s,[".sentry-ignore","[data-sentry-ignore]",'input[type="file"]'])}}function mS({el:e,key:t,maskAttributes:n,maskAllText:r,privacyOptions:s,value:i}){return!r||s.unmaskTextSelector&&e.matches(s.unmaskTextSelector)?i:n.includes(t)||t==="value"&&e.tagName==="INPUT"&&["submit","button"].includes(e.getAttribute("type")||"")?i.replace(/[\S]/g,"*"):i}const Eo='img,image,svg,video,object,picture,embed,map,audio,link[rel="icon"],link[rel="apple-touch-icon"]',gS=["content-length","content-type","accept"],_S=Symbol.for("sentry__originalRequestBody");let bo=!1,vo=!1;function SS(){if(typeof Request>"u"||vo)return;const e=Request;try{const t=function(n,r){const s=new e(n,r);return(r==null?void 0:r.body)!=null&&(s[_S]=r.body),s};t.prototype=e.prototype,Q.Request=t,vo=!0}catch{}}const yS=(e=>new ES(e));class ES{constructor({flushMinDelay:t=Wh,flushMaxDelay:n=qh,minReplayDuration:r=Kh,maxReplayDuration:s=Qi,stickySession:i=!0,useCompression:o=!0,workerUrl:c,_experiments:a={},maskAllText:u=!0,maskAllInputs:d=!0,blockAllMedia:l=!0,mutationBreadcrumbLimit:f=750,mutationLimit:p=1e4,slowClickTimeout:h=7e3,slowClickIgnoreSelectors:g=[],networkDetailAllowUrls:_=[],networkDetailDenyUrls:y=[],networkCaptureBodies:T=!0,networkRequestHeaders:O=[],networkResponseHeaders:L=[],mask:q=[],maskAttributes:x=["title","placeholder","aria-label"],unmask:S=[],block:I=[],unblock:J=[],ignore:E=[],maskFn:w,beforeAddRecordingEvent:B,beforeErrorSampling:H,onError:N,attachRawBodyFromRequest:oe=!1}={}){this.name="Replay";const K=hS({mask:q,unmask:S,block:I,unblock:J,ignore:E});if(this._recordingOptions={maskAllInputs:d,maskAllText:u,maskInputOptions:{password:!0},maskTextFn:w,maskInputFn:w,maskAttributeFn:(X,b,j)=>mS({maskAttributes:x,maskAllText:u,privacyOptions:K,key:X,value:b,el:j}),...K,slimDOMOptions:"all",inlineStylesheet:!0,inlineImages:!1,collectFonts:!0,errorHandler:X=>{try{X.__rrweb__=!0}catch{}},recordCrossOriginIframes:!!a.recordCrossOriginIframes},this._initialOptions={flushMinDelay:t,flushMaxDelay:n,minReplayDuration:Math.min(r,Xh),maxReplayDuration:Math.min(s,Qi),stickySession:i,useCompression:o,workerUrl:c,blockAllMedia:l,maskAllInputs:d,maskAllText:u,mutationBreadcrumbLimit:f,mutationLimit:p,slowClickTimeout:h,slowClickIgnoreSelectors:g,networkDetailAllowUrls:_,networkDetailDenyUrls:y,networkCaptureBodies:T,networkRequestHeaders:To(O),networkResponseHeaders:To(L),beforeAddRecordingEvent:B,beforeErrorSampling:H,onError:N,attachRawBodyFromRequest:oe,_experiments:a},this._initialOptions.blockAllMedia&&(this._recordingOptions.blockSelector=this._recordingOptions.blockSelector?`${this._recordingOptions.blockSelector},${Eo}`:Eo,this._recordingOptions.ignoreCSSAttributes=new Set(["background-image"])),this._isInitialized&&jr())throw new Error("Multiple Sentry Session Replay instances are not supported");this._isInitialized=!0}get _isInitialized(){return bo}set _isInitialized(t){bo=t}afterAllSetup(t){!jr()||this._replay||(this._initialOptions.attachRawBodyFromRequest&&SS(),this._setup(t),this._initialize(t))}start(){this._replay&&this._replay.start()}startBuffering(){this._replay&&this._replay.startBuffering()}stop(){return this._replay?this._replay.stop({forceFlush:this._replay.recordingMode==="session"}):Promise.resolve()}flush(t){return this._replay?this._replay.isEnabled()?this._replay.sendBufferedReplayOrFlush(t):(this._replay.start(),Promise.resolve()):Promise.resolve()}getReplayId(t){var n;if((n=this._replay)!=null&&n.isEnabled())return this._replay.getSessionId(t)}getRecordingMode(){var t;if((t=this._replay)!=null&&t.isEnabled())return this._replay.recordingMode}_initialize(t){this._replay&&(this._maybeLoadFromReplayCanvasIntegration(t),this._replay.initializeSampling())}_setup(t){const n=bS(this._initialOptions,t);this._replay=new pS({options:n,recordingOptions:this._recordingOptions})}_maybeLoadFromReplayCanvasIntegration(t){try{const n=t.getIntegrationByName("ReplayCanvas");if(!n)return;this._replay._canvas=n.getOptions()}catch{}}}function bS(e,t){const n=t.getOptions(),r={sessionSampleRate:0,errorSampleRate:0,...e},s=zt(n.replaysSessionSampleRate),i=zt(n.replaysOnErrorSampleRate);return s==null&&i==null&&Zt(()=>{console.warn("Replay is disabled because neither `replaysSessionSampleRate` nor `replaysOnErrorSampleRate` are set.")}),s!=null&&(r.sessionSampleRate=s),i!=null&&(r.errorSampleRate=i),r}function To(e){return[...gS,...e.map(t=>t.toLowerCase())]}function vS(e){return e.split(",").some(t=>t.trim().startsWith("sentry-"))}function Yc(e){try{return new URL(e,F.location.origin).href}catch{return}}function TS(e){return e.entryType==="resource"&&"initiatorType"in e&&typeof e.nextHopProtocol=="string"&&(e.initiatorType==="fetch"||e.initiatorType==="xmlhttprequest")}function Jc(e){try{return new Headers(e)}catch{return}}const Io=new WeakMap,Hr=new Map,Kc={traceFetch:!0,traceXHR:!0,enableHTTPTimings:!0,trackFetchStreamPerformance:!1};function IS(e,t){const{traceFetch:n,traceXHR:r,trackFetchStreamPerformance:s,shouldCreateSpanForRequest:i,enableHTTPTimings:o,tracePropagationTargets:c,onRequestSpanStart:a,onRequestSpanEnd:u}={...Kc,...t},d=typeof i=="function"?i:h=>!0,l=h=>wS(h,c),f={},p=e.getOptions().propagateTraceparent;n&&(e.addEventProcessor(h=>(h.type==="transaction"&&h.spans&&h.spans.forEach(g=>{if(g.op==="http.client"){const _=Hr.get(g.span_id);_&&(g.timestamp=_/1e3,Hr.delete(g.span_id))}}),h)),s&&Kd(h=>{if(h.response){const g=Io.get(h.response);g&&h.endTimestamp&&Hr.set(g,h.endTimestamp)}}),Na(h=>{const g=Od(h,d,l,f,{propagateTraceparent:p,onRequestSpanEnd:u});if(h.response&&h.fetchData.__span&&Io.set(h.response,h.fetchData.__span),g){const _=Yc(h.fetchData.url),y=_?st(_).host:void 0;g.setAttributes({"http.url":_,"server.address":y}),o&&wo(g),a==null||a(g,{headers:h.headers})}})),r&&Za(h=>{var _;const g=kS(h,d,l,f,p,u);g&&(o&&wo(g),a==null||a(g,{headers:Jc((_=h.xhr.__sentry_xhr_v3__)==null?void 0:_.request_headers)}))})}function wo(e){const{url:t}=$(e).data;if(!t||typeof t!="string")return;const n=ct("resource",({entries:r})=>{r.forEach(s=>{TS(s)&&s.name.endsWith(t)&&(e.setAttributes(Xa(s)),setTimeout(n))})})}function wS(e,t){const n=en();if(n){let r,s;try{r=new URL(e,n),s=new URL(n).origin}catch{return!1}const i=r.origin===s;return t?Fe(r.toString(),t)||i&&Fe(r.pathname,t):i}else{const r=!!e.match(/^\/(?!\/)/);return t?Fe(e,t):r}}function kS(e,t,n,r,s,i){const o=e.xhr,c=o==null?void 0:o[tt];if(!o||o.__sentry_own_request__||!c)return;const{url:a,method:u}=c,d=xe()&&t(a);if(e.endTimestamp&&d){const y=o.__sentry_xhr_span_id__;if(!y)return;const T=r[y];T&&c.status_code!==void 0&&(Xo(T,c.status_code),T.end(),i==null||i(T,{headers:Jc(rc(o)),error:e.error}),delete r[y]);return}const l=Yc(a),f=st(l||a),p=rd(a),h=!!de(),g=d&&h?At({name:`${u} ${p}`,attributes:{url:a,type:"xhr","http.method":u,"http.url":l,"server.address":f==null?void 0:f.host,[ce]:"auto.http.browser",[Ue]:"http.client",...(f==null?void 0:f.search)&&{"http.query":f==null?void 0:f.search},...(f==null?void 0:f.hash)&&{"http.fragment":f==null?void 0:f.hash}}}):new Ge;o.__sentry_xhr_span_id__=g.spanContext().spanId,r[o.__sentry_xhr_span_id__]=g,n(a)&&RS(o,xe()&&h?g:void 0,s);const _=z();return _&&_.emit("beforeOutgoingRequestSpan",g,e),g}function RS(e,t,n){const{"sentry-trace":r,baggage:s,traceparent:i}=Ra({span:t,propagateTraceparent:n});r&&CS(e,r,s,i)}function CS(e,t,n,r){var i;const s=(i=e.__sentry_xhr_v3__)==null?void 0:i.request_headers;if(!(s!=null&&s["sentry-trace"]||!e.setRequestHeader))try{if(e.setRequestHeader("sentry-trace",t),r&&!(s!=null&&s.traceparent)&&e.setRequestHeader("traceparent",r),n){const o=s==null?void 0:s.baggage;(!o||!vS(o))&&e.setRequestHeader("baggage",n)}}catch{}}function MS(){F.document?F.document.addEventListener("visibilitychange",()=>{const e=de();if(!e)return;const t=le(e);if(F.document.hidden&&t){const n="cancelled",{op:r,status:s}=$(t);v&&m.log(`[Tracing] Transaction: ${n} -> since tab moved to the background, op: ${r}`),s||t.setStatus({code:vt,message:n}),t.setAttribute("sentry.cancellation_reason","document.hidden"),t.end()}}):v&&m.warn("[Tracing] Could not set up background tab detection due to lack of global document")}const AS=3600,Xc="sentry_previous_trace",xS="sentry.previous_trace";function PS(e,{linkPreviousTrace:t,consistentTraceSampling:n}){const r=t==="session-storage";let s=r?LS():void 0;e.on("spanStart",o=>{if(le(o)!==o)return;const c=ne().getPropagationContext();s=NS(s,o,c),r&&OS(s)});let i=!0;n&&e.on("beforeSampling",o=>{if(!s)return;const c=ne(),a=c.getPropagationContext();if(i&&a.parentSpanId){i=!1;return}c.setPropagationContext({...a,dsc:{...a.dsc,sample_rate:String(s.sampleRate),sampled:String(cs(s.spanContext))},sampleRand:s.sampleRand}),o.parentSampled=cs(s.spanContext),o.parentSampleRate=s.sampleRate,o.spanAttributes={...o.spanAttributes,[Du]:s.sampleRate}})}function NS(e,t,n){const r=$(t);function s(){var c,a;try{return Number((c=n.dsc)==null?void 0:c.sample_rate)??Number((a=r.data)==null?void 0:a[Wo])}catch{return 0}}const i={spanContext:t.spanContext(),startTimestamp:r.start_timestamp,sampleRate:s(),sampleRand:n.sampleRand};if(!e)return i;const o=e.spanContext;return o.traceId===r.trace_id?e:(Date.now()/1e3-e.startTimestamp<=AS&&(v&&m.log(`Adding previous_trace \`${JSON.stringify(o)}\` link to span \`${JSON.stringify({op:r.op,...t.spanContext()})}\``),t.addLink({context:o,attributes:{[Fu]:"previous_trace"}}),t.setAttribute(xS,`${o.traceId}-${o.spanId}-${cs(o)?1:0}`)),i)}function OS(e){try{F.sessionStorage.setItem(Xc,JSON.stringify(e))}catch(t){v&&m.warn("Could not store previous trace in sessionStorage",t)}}function LS(){var e;try{const t=(e=F.sessionStorage)==null?void 0:e.getItem(Xc);return JSON.parse(t)}catch{return}}function cs(e){return e.traceFlags===1}const DS="BrowserTracing",FS={...Rn,instrumentNavigation:!0,instrumentPageLoad:!0,markBackgroundSpan:!0,enableLongTask:!0,enableLongAnimationFrame:!0,enableInp:!0,enableElementTiming:!0,ignoreResourceSpans:[],ignorePerformanceApiSpans:[],detectRedirects:!0,linkPreviousTrace:"in-memory",consistentTraceSampling:!1,enableReportPageLoaded:!1,_experiments:{},...Kc},BS=((e={})=>{const t={name:void 0,source:void 0},n=F.document,{enableInp:r,enableElementTiming:s,enableLongTask:i,enableLongAnimationFrame:o,_experiments:{enableInteractions:c,enableStandaloneClsSpans:a,enableStandaloneLcpSpans:u},beforeStartSpan:d,idleTimeout:l,finalTimeout:f,childSpanTimeout:p,markBackgroundSpan:h,traceFetch:g,traceXHR:_,trackFetchStreamPerformance:y,shouldCreateSpanForRequest:T,enableHTTPTimings:O,ignoreResourceSpans:L,ignorePerformanceApiSpans:q,instrumentPageLoad:x,instrumentNavigation:S,detectRedirects:I,linkPreviousTrace:J,consistentTraceSampling:E,enableReportPageLoaded:w,onRequestSpanStart:B,onRequestSpanEnd:H}={...FS,...e};let N,oe,K;function X(b,j,k=!0){const G=j.op==="pageload",Z=j.name,re=d?d(j):j,Se=re.attributes||{};if(Z!==re.name&&(Se[Ae]="custom",re.attributes=Se),!k){const Le=ir();At({...re,startTime:Le}).end(Le);return}t.name=re.name,t.source=Se[Ae];const ye=fa(re,{idleTimeout:l,finalTimeout:f,childSpanTimeout:p,disableAutoFinish:G,beforeSpanEnd:Le=>{N==null||N(),ip(Le,{recordClsOnPageloadSpan:!a,recordLcpOnPageloadSpan:!u,ignoreResourceSpans:L,ignorePerformanceApiSpans:q}),Ro(b,void 0);const dt=ne(),dn=dt.getPropagationContext();dt.setPropagationContext({...dn,traceId:ye.spanContext().traceId,sampled:nr(ye),dsc:He(Le)}),G&&(K=void 0)},trimIdleSpanEndTimestamp:!w});G&&w&&(K=ye),Ro(b,ye);function lt(){n&&["interactive","complete"].includes(n.readyState)&&b.emit("idleSpanEnableAutoFinish",ye)}G&&!w&&n&&(n.addEventListener("readystatechange",()=>{lt()}),lt())}return{name:DS,setup(b){if(Gu(),N=Qf({recordClsStandaloneSpans:a||!1,recordLcpStandaloneSpans:u||!1,client:b}),r&&xp(),s&&_p(),o&&Q.PerformanceObserver&&PerformanceObserver.supportedEntryTypes&&PerformanceObserver.supportedEntryTypes.includes("long-animation-frame")?ep():i&&Zf(),c&&tp(),I&&n){const k=()=>{oe=ue()};addEventListener("click",k,{capture:!0}),addEventListener("keydown",k,{capture:!0,passive:!0})}function j(){const k=Kt(b);k&&!$(k).timestamp&&(v&&m.log(`[Tracing] Finishing current active span with op: ${$(k).op}`),k.setAttribute(Wt,"cancelled"),k.end())}b.on("startNavigationSpan",(k,G)=>{if(z()!==b)return;if(G!=null&&G.isRedirect){v&&m.warn("[Tracing] Detected redirect, navigation span will not be the root span, but a child span."),X(b,{op:"navigation.redirect",...k},!1);return}oe=void 0,j(),Mt().setPropagationContext({traceId:On(),sampleRand:Math.random(),propagationSpanId:xe()?void 0:Lt()});const Z=ne();Z.setPropagationContext({traceId:On(),sampleRand:Math.random(),propagationSpanId:xe()?void 0:Lt()}),Z.setSDKProcessingMetadata({normalizedRequest:void 0}),X(b,{op:"navigation",...k,parentSpan:null,forceTransaction:!0})}),b.on("startPageLoadSpan",(k,G={})=>{if(z()!==b)return;j();const Z=G.sentryTrace||ko("sentry-trace"),re=G.baggage||ko("baggage"),Se=Bu(Z,re),ye=ne();ye.setPropagationContext(Se),xe()||(ye.getPropagationContext().propagationSpanId=Lt()),ye.setSDKProcessingMetadata({normalizedRequest:gs()}),X(b,{op:"pageload",...k})}),b.on("endPageloadSpan",()=>{w&&K&&(K.setAttribute(Wt,"reportPageLoaded"),K.end())})},afterAllSetup(b){let j=en();if(J!=="off"&&PS(b,{linkPreviousTrace:J,consistentTraceSampling:E}),F.location){if(x){const k=fe();Qs(b,{name:F.location.pathname,startTime:k?k/1e3:void 0,attributes:{[Ae]:"url",[ce]:"auto.pageload.browser"}})}S&&lr(({to:k,from:G})=>{if(G===void 0&&(j==null?void 0:j.indexOf(k))!==-1){j=void 0;return}j=void 0;const Z=Is(k),re=Kt(b),Se=re&&I&&$S(re,oe);HS(b,{name:(Z==null?void 0:Z.pathname)||F.location.pathname,attributes:{[Ae]:"url",[ce]:"auto.navigation.browser"}},{url:k,isRedirect:Se})})}h&&MS(),c&&US(b,l,f,p,t),r&&Op(),IS(b,{traceFetch:g,traceXHR:_,trackFetchStreamPerformance:y,tracePropagationTargets:b.getOptions().tracePropagationTargets,shouldCreateSpanForRequest:T,enableHTTPTimings:O,onRequestSpanStart:B,onRequestSpanEnd:H})}}});function Qs(e,t,n){e.emit("startPageLoadSpan",t,n),ne().setTransactionName(t.name);const r=Kt(e);return r&&e.emit("afterStartPageLoadSpan",r),r}function HS(e,t,n){const{url:r,isRedirect:s}=n||{};e.emit("beforeStartNavigationSpan",t,{isRedirect:s}),e.emit("startNavigationSpan",t,{isRedirect:s});const i=ne();return i.setTransactionName(t.name),r&&!s&&i.setSDKProcessingMetadata({normalizedRequest:{...gs(),url:r}}),Kt(e)}function ko(e){const t=F.document,n=t==null?void 0:t.querySelector(`meta[name=${e}]`);return(n==null?void 0:n.getAttribute("content"))||void 0}function US(e,t,n,r,s){const i=F.document;let o;const c=()=>{const a="ui.action.click",u=Kt(e);if(u){const d=$(u).op;if(["navigation","pageload"].includes(d)){v&&m.warn(`[Tracing] Did not create ${a} span because a pageload or navigation span is in progress.`);return}}if(o&&(o.setAttribute(Wt,"interactionInterrupted"),o.end(),o=void 0),!s.name){v&&m.warn(`[Tracing] Did not create ${a} transaction because _latestRouteName is missing.`);return}o=fa({name:s.name,op:a,attributes:{[Ae]:s.source||"url"}},{idleTimeout:t,finalTimeout:n,childSpanTimeout:r})};i&&addEventListener("click",c,{capture:!0})}const Qc="_sentry_idleSpan";function Kt(e){return e[Qc]}function Ro(e,t){Dn(e,Qc,t)}const Co=1.5;function $S(e,t){const n=$(e),r=ir(),s=n.start_timestamp;return!(r-s>Co||t&&r-t<=Co)}function Rt(e){return new Promise((t,n)=>{e.oncomplete=e.onsuccess=()=>t(e.result),e.onabort=e.onerror=()=>n(e.error)})}function zS(e,t){const n=indexedDB.open(e);n.onupgradeneeded=()=>n.result.createObjectStore(t);const r=Rt(n);return s=>r.then(i=>s(i.transaction(t,"readwrite").objectStore(t)))}function Zs(e){return Rt(e.getAllKeys())}function WS(e,t,n){return e(r=>Zs(r).then(s=>{if(!(s.length>=n))return r.put(t,Math.max(...s,0)+1),Rt(r.transaction)}))}function qS(e,t,n){return e(r=>Zs(r).then(s=>{if(!(s.length>=n))return r.put(t,Math.min(...s,0)-1),Rt(r.transaction)}))}function jS(e){return e(t=>Zs(t).then(n=>{const r=n[0];if(r!=null)return Rt(t.get(r)).then(s=>(t.delete(r),Rt(t.transaction).then(()=>s)))}))}function VS(e){let t;function n(){return t==null&&(t=zS(e.dbName||"sentry-offline",e.storeName||"queue")),t}return{push:async r=>{try{const s=await $n(r);await WS(n(),s,e.maxQueueSize||30)}catch{}},unshift:async r=>{try{const s=await $n(r);await qS(n(),s,e.maxQueueSize||30)}catch{}},shift:async()=>{try{const r=await jS(n());if(r)return Zu(r)}catch{}}}}function GS(e){return t=>{const n=e({...t,createStore:VS});return F.addEventListener("online",async r=>{await n.flush()}),n}}function YS(e=Ls){return GS(ed(e))}const Mo=1e6,JS="window"in Q&&Q.window===Q&&typeof importScripts>"u",je=String(0),er=JS?"main":"worker",we=F.navigator;let Zc="",eu="",tu="",us=(we==null?void 0:we.userAgent)||"",nu="";var Lo;const KS=(we==null?void 0:we.language)||((Lo=we==null?void 0:we.languages)==null?void 0:Lo[0])||"";function XS(e){return typeof e=="object"&&e!==null&&"getHighEntropyValues"in e}const Ao=we==null?void 0:we.userAgentData;XS(Ao)&&Ao.getHighEntropyValues(["architecture","model","platform","platformVersion","fullVersionList"]).then(e=>{var t;if(Zc=e.platform||"",tu=e.architecture||"",nu=e.model||"",eu=e.platformVersion||"",(t=e.fullVersionList)!=null&&t.length){const n=e.fullVersionList[e.fullVersionList.length-1];us=`${n.brand} ${n.version}`}}).catch(e=>{});function QS(e){return!("thread_metadata"in e)}function ZS(e){return QS(e)?iy(e):e}function ey(e){var n,r;const t=(r=(n=e.contexts)==null?void 0:n.trace)==null?void 0:r.trace_id;return typeof t=="string"&&t.length!==32&&v&&m.log(`[Profiling] Invalid traceId: ${t} on profiled event`),typeof t!="string"?"":t}function ty(e,t,n,r){if(r.type!=="transaction")throw new TypeError("Profiling events may only be attached to transactions, this should never occur.");if(n==null)throw new TypeError(`Cannot construct profiling event envelope without a valid profile. Got ${n} instead.`);const s=ey(r),i=ZS(n),o=t||(typeof r.start_timestamp=="number"?r.start_timestamp*1e3:ue()*1e3),c=typeof r.timestamp=="number"?r.timestamp*1e3:ue()*1e3;return{event_id:e,timestamp:new Date(o).toISOString(),platform:"javascript",version:"1",release:r.release||"",environment:r.environment||Go,runtime:{name:"javascript",version:F.navigator.userAgent},os:{name:Zc,version:eu,build_number:us},device:{locale:KS,model:nu,manufacturer:us,architecture:tu,is_emulator:!1},debug_meta:{images:su(n.resources)},profile:i,transactions:[{name:r.transaction||"",id:r.event_id||Pe(),trace_id:s,active_thread_id:je,relative_start_ns:"0",relative_end_ns:((c-o)*1e6).toFixed(0)}]}}function ny(e,t,n){var o,c;if(e==null)throw new TypeError(`Cannot construct profiling event envelope without a valid profile. Got ${e} instead.`);const r=sy(e),s=t.getOptions(),i=(c=(o=t.getSdkMetadata)==null?void 0:o.call(t))==null?void 0:c.sdk;return{chunk_id:Pe(),client_sdk:{name:(i==null?void 0:i.name)??"sentry.javascript.browser",version:(i==null?void 0:i.version)??"0.0.0"},profiler_id:n||Pe(),platform:"javascript",version:"2",release:s.release??"",environment:s.environment??"production",debug_meta:{images:su(e.resources)},profile:r}}function ry(e){try{if(!e||typeof e!="object")return{reason:"chunk is not an object"};const t=r=>typeof r=="string"&&/^[a-f0-9]{32}$/.test(r);if(!t(e.profiler_id))return{reason:"missing or invalid profiler_id"};if(!t(e.chunk_id))return{reason:"missing or invalid chunk_id"};if(!e.client_sdk)return{reason:"missing client_sdk metadata"};const n=e.profile;return n?!Array.isArray(n.frames)||!n.frames.length?{reason:"profile has no frames"}:!Array.isArray(n.stacks)||!n.stacks.length?{reason:"profile has no stacks"}:!Array.isArray(n.samples)||!n.samples.length?{reason:"profile has no samples"}:{valid:!0}:{reason:"missing profile data"}}catch(t){return{reason:`unknown validation error: ${t}`}}}function sy(e){const t=[];for(let c=0;c<e.frames.length;c++){const a=e.frames[c];a&&(t[c]={function:a.name,abs_path:typeof a.resourceId=="number"?e.resources[a.resourceId]:void 0,lineno:a.line,colno:a.column})}const n=[];for(let c=0;c<e.stacks.length;c++){const a=e.stacks[c];if(!a)continue;const u=[];let d=a;for(;d;)u.push(d.frameId),d=d.parentId===void 0?void 0:e.stacks[d.parentId];n[c]=u}const r=fe(),s=typeof performance.timeOrigin=="number"?performance.timeOrigin:r||0,i=s-(r||s),o=[];for(let c=0;c<e.samples.length;c++){const a=e.samples[c];if(!a)continue;const u=(s+(a.timestamp-i))/1e3;o[c]={stack_id:a.stackId??0,thread_id:je,timestamp:u}}return{frames:t,stacks:n,samples:o,thread_metadata:{[je]:{name:er}}}}function ru(e){return $(e).op==="pageload"}function iy(e){let t,n=0;const r={samples:[],stacks:[],frames:[],thread_metadata:{[je]:{name:er}}},s=e.samples[0];if(!s)return r;const i=s.timestamp,o=fe(),c=typeof performance.timeOrigin=="number"?performance.timeOrigin:o||0,a=c-(o||c);return e.samples.forEach((u,d)=>{if(u.stackId===void 0){t===void 0&&(t=n,r.stacks[t]=[],n++),r.samples[d]={elapsed_since_start_ns:((u.timestamp+a-i)*Mo).toFixed(0),stack_id:t,thread_id:je};return}let l=e.stacks[u.stackId];const f=[];for(;l;){f.push(l.frameId);const h=e.frames[l.frameId];h&&r.frames[l.frameId]===void 0&&(r.frames[l.frameId]={function:h.name,abs_path:typeof h.resourceId=="number"?e.resources[h.resourceId]:void 0,lineno:h.line,colno:h.column}),l=l.parentId===void 0?void 0:e.stacks[l.parentId]}const p={elapsed_since_start_ns:((u.timestamp+a-i)*Mo).toFixed(0),stack_id:n,thread_id:je};r.stacks[n]=f,r.samples[d]=p,n++}),r}function oy(e,t){if(!t.length)return e;for(const n of t)e[1].push([{type:"profile"},n]);return e}function ay(e){const t=[];return Hn(e,(n,r)=>{var s,i;if(r==="transaction")for(let o=1;o<n.length;o++){const c=n[o];(i=(s=c==null?void 0:c.contexts)==null?void 0:s.profile)!=null&&i.profile_id&&t.push(n[o])}}),t}function su(e){const t=z(),n=t==null?void 0:t.getOptions(),r=n==null?void 0:n.stackParser;return r?Hu(r,e):[]}function iu(e){return typeof e!="number"&&typeof e!="boolean"||typeof e=="number"&&isNaN(e)?(v&&m.warn(`[Profiling] Invalid sample rate. Sample rate must be a boolean or a number between 0 and 1. Got ${JSON.stringify(e)} of type ${JSON.stringify(typeof e)}.`),!1):e===!0||e===!1?!0:e<0||e>1?(v&&m.warn(`[Profiling] Invalid sample rate. Sample rate must be between 0 and 1. Got ${e}.`),!1):!0}function cy(e){return e.samples.length<2?(v&&m.log("[Profiling] Discarding profile because it contains less than 2 samples"),!1):e.frames.length?!0:(v&&m.log("[Profiling] Discarding profile because it contains no frames"),!1)}let ei=!1;const ou=3e4;function uy(e){return typeof e=="function"}function au(){const e=F.Profiler;if(!uy(e)){v&&m.log("[Profiling] Profiling is not supported by this browser, Profiler interface missing on window object.");return}const t=10,n=Math.floor(ou/t);try{return new e({sampleInterval:t,maxBufferSize:n})}catch{v&&(m.log("[Profiling] Failed to initialize the Profiling constructor, this is likely due to a missing 'Document-Policy': 'js-profiling' header."),m.log("[Profiling] Disabling profiling for current user session.")),ei=!0}}function xo(e){if(ei)return v&&m.log("[Profiling] Profiling has been disabled for the duration of the current user session."),!1;if(!e.isRecording())return v&&m.log("[Profiling] Discarding profile because root span was not sampled."),!1;const t=z(),n=t==null?void 0:t.getOptions();if(!n)return v&&m.log("[Profiling] Profiling disabled, no options found."),!1;const r=n.profilesSampleRate;return iu(r)?r?(r===!0?!0:Math.random()<r)?!0:(v&&m.log(`[Profiling] Discarding profile because it's not included in the random sample (sampling rate = ${Number(r)})`),!1):(v&&m.log("[Profiling] Discarding profile because a negative sampling decision was inherited or profileSampleRate is set to 0"),!1):(v&&m.warn("[Profiling] Discarding profile because of invalid sample rate."),!1)}function ly(e){if(ei)return v&&m.log("[Profiling] Profiling has been disabled for the duration of the current user session as the JS Profiler could not be started."),!1;if(e.profileLifecycle!=="trace"&&e.profileLifecycle!=="manual")return v&&m.warn("[Profiling] Session not sampled. Invalid `profileLifecycle` option."),!1;const t=e.profileSessionSampleRate;return iu(t)?t?Math.random()<=t:(v&&m.log("[Profiling] Discarding profile because profileSessionSampleRate is not defined or set to 0"),!1):(v&&m.warn("[Profiling] Discarding profile because of invalid profileSessionSampleRate."),!1)}function vn(e){return typeof e.profilesSampleRate<"u"}function dy(e,t,n,r){return cy(n)?ty(e,t,n,r):null}const rt=new Map;function fy(){return rt.size}function py(e){const t=rt.get(e);return t&&rt.delete(e),t}function hy(e,t){if(rt.set(e,t),rt.size>30){const n=rt.keys().next().value;n!==void 0&&rt.delete(n)}}function my(e){var t,n,r,s,i;return!((t=e==null?void 0:e.contexts)!=null&&t.profile)||!e.contexts||(e.contexts.trace={...((n=e.contexts)==null?void 0:n.trace)??{},data:{...((s=(r=e.contexts)==null?void 0:r.trace)==null?void 0:s.data)??{},"thread.id":je,"thread.name":er}},(i=e.spans)==null||i.forEach(o=>{o.data={...o.data||{},"thread.id":je,"thread.name":er}})),e}function Po(e){let t;ru(e)&&(t=ue()*1e3);const n=au();if(!n)return;v&&m.log(`[Profiling] started profiling span: ${$(e).description}`);const r=Pe();let s=null;ne().setContext("profile",{profile_id:r,start_timestamp:t});async function i(){if(e&&n){if(s){v&&m.log("[Profiling] profile for:",$(e).description,"already exists, returning early");return}return n.stop().then(u=>{if(o&&(F.clearTimeout(o),o=void 0),v&&m.log(`[Profiling] stopped profiling of span: ${$(e).description}`),!u){v&&m.log(`[Profiling] profiler returned null profile for: ${$(e).description}`,"this may indicate an overlapping span or a call to stopProfiling with a profile title that was never started");return}s=u,hy(r,u)}).catch(u=>{v&&m.log("[Profiling] error while stopping profiler:",u)})}}let o=F.setTimeout(()=>{v&&m.log("[Profiling] max profile duration elapsed, stopping profiling for:",$(e).description),i()},ou);const c=e.end.bind(e);function a(){return e?(i().then(()=>{c()},()=>{c()}),e):c()}e.end=a}const gy=6e4,_y=3e5;class Sy{constructor(){this._client=void 0,this._profiler=void 0,this._chunkTimer=void 0,this._profilerId=void 0,this._isRunning=!1,this._sessionSampled=!1,this._lifecycleMode=void 0,this._activeRootSpanIds=new Set,this._rootSpanTimeouts=new Map}initialize(t){const n=t.getOptions().profileLifecycle,r=ly(t.getOptions());v&&m.log(`[Profiling] Initializing profiler (lifecycle='${n}').`),r||v&&m.log("[Profiling] Session not sampled. Skipping lifecycle profiler initialization."),this._profilerId=Pe(),this._client=t,this._sessionSampled=r,this._lifecycleMode=n,n==="trace"&&this._setupTraceLifecycleListeners(t)}start(){if(this._lifecycleMode==="trace"){v&&m.warn('[Profiling] `profileLifecycle` is set to "trace". Calls to `uiProfiler.start()` are ignored in trace mode.');return}if(this._isRunning){v&&m.warn("[Profiling] Profile session is already running, `uiProfiler.start()` is a no-op.");return}if(!this._sessionSampled){v&&m.warn("[Profiling] Session is not sampled, `uiProfiler.start()` is a no-op.");return}this._beginProfiling()}stop(){if(this._lifecycleMode==="trace"){v&&m.warn('[Profiling] `profileLifecycle` is set to "trace". Calls to `uiProfiler.stop()` are ignored in trace mode.');return}if(!this._isRunning){v&&m.warn("[Profiling] Profiler is not running, `uiProfiler.stop()` is a no-op.");return}this._endProfiling()}notifyRootSpanActive(t){if(this._lifecycleMode!=="trace"||!this._sessionSampled)return;const n=t.spanContext().spanId;if(!n||this._activeRootSpanIds.has(n))return;this._registerTraceRootSpan(n);const r=this._activeRootSpanIds.size;r===1&&(v&&m.log("[Profiling] Detected already active root span during setup. Active root spans now:",r),this._beginProfiling())}_beginProfiling(){if(!this._isRunning){if(this._isRunning=!0,v&&m.log("[Profiling] Started profiling with profiler ID:",this._profilerId),wn().setContext("profile",{profiler_id:this._profilerId}),this._startProfilerInstance(),!this._profiler){v&&m.log("[Profiling] Failed to start JS Profiler; stopping."),this._resetProfilerInfo();return}this._startPeriodicChunking()}}_endProfiling(){this._isRunning&&(this._isRunning=!1,this._chunkTimer&&(clearTimeout(this._chunkTimer),this._chunkTimer=void 0),this._clearAllRootSpanTimeouts(),this._collectCurrentChunk().catch(t=>{v&&m.error("[Profiling] Failed to collect current profile chunk on `stop()`:",t)}),this._lifecycleMode==="manual"&&wn().setContext("profile",{}))}_setupTraceLifecycleListeners(t){t.on("spanStart",n=>{if(!this._sessionSampled){v&&m.log("[Profiling] Span not profiled because of negative sampling decision for user session.");return}if(n!==le(n))return;if(!n.isRecording()){v&&m.log("[Profiling] Discarding profile because root span was not sampled.");return}const r=n.spanContext().spanId;if(!r||this._activeRootSpanIds.has(r))return;this._registerTraceRootSpan(r);const s=this._activeRootSpanIds.size;s===1&&(v&&m.log(`[Profiling] Root span ${r} started. Profiling active while there are active root spans (count=${s}).`),this._beginProfiling())}),t.on("spanEnd",n=>{if(!this._sessionSampled)return;const r=n.spanContext().spanId;if(!r||!this._activeRootSpanIds.has(r))return;this._activeRootSpanIds.delete(r);const s=this._activeRootSpanIds.size;v&&m.log(`[Profiling] Root span with ID ${r} ended. Will continue profiling for as long as there are active root spans (currently: ${s}).`),s===0&&(this._collectCurrentChunk().catch(i=>{v&&m.error("[Profiling] Failed to collect current profile chunk on last `spanEnd`:",i)}),this._endProfiling())})}_resetProfilerInfo(){this._isRunning=!1,wn().setContext("profile",{})}_clearAllRootSpanTimeouts(){this._rootSpanTimeouts.forEach(t=>clearTimeout(t)),this._rootSpanTimeouts.clear()}_registerTraceRootSpan(t){this._activeRootSpanIds.add(t);const n=setTimeout(()=>this._onRootSpanTimeout(t),_y);this._rootSpanTimeouts.set(t,n)}_startProfilerInstance(){var n;if(((n=this._profiler)==null?void 0:n.stopped)===!1)return;const t=au();if(!t){v&&m.log("[Profiling] Failed to start JS Profiler.");return}this._profiler=t}_startPeriodicChunking(){this._isRunning&&(this._chunkTimer=setTimeout(()=>{if(this._collectCurrentChunk().catch(t=>{v&&m.error("[Profiling] Failed to collect current profile chunk during periodic chunking:",t)}),this._isRunning){if(this._startProfilerInstance(),!this._profiler){this._resetProfilerInfo();return}this._startPeriodicChunking()}},gy))}_onRootSpanTimeout(t){this._rootSpanTimeouts.has(t)&&(this._rootSpanTimeouts.delete(t),this._activeRootSpanIds.has(t)&&(v&&m.log(`[Profiling] Reached 5-minute timeout for root span ${t}. You likely started a manual root span that never called \`.end()\`.`),this._activeRootSpanIds.delete(t),this._activeRootSpanIds.size===0&&this._endProfiling()))}async _collectCurrentChunk(){const t=this._profiler;if(this._profiler=void 0,!!t)try{const n=await t.stop(),r=ny(n,this._client,this._profilerId),s=ry(r);if("reason"in s){v&&m.log("[Profiling] Discarding invalid profile chunk (this is probably a bug in the SDK):",s.reason);return}this._sendProfileChunk(r),v&&m.log("[Profiling] Collected browser profile chunk.")}catch(n){v&&m.log("[Profiling] Error while stopping JS Profiler for chunk:",n)}}_sendProfileChunk(t){var c;const n=this._client,r=or((c=n.getSdkMetadata)==null?void 0:c.call(n)),s=n.getDsn(),i=n.getOptions().tunnel,o=$e({event_id:Pe(),sent_at:new Date().toISOString(),...r&&{sdk:r},...!!i&&s&&{dsn:ut(s)}},[[{type:"profile_chunk"},t]]);n.sendEnvelope(o).then(null,a=>{v&&m.error("Error while sending profile chunk envelope:",a)})}}const yy="BrowserProfiling",Ey=(()=>({name:yy,setup(e){const t=e.getOptions(),n=new Sy;if(!vn(t)&&!t.profileLifecycle&&(t.profileLifecycle="manual"),vn(t)&&!t.profilesSampleRate){v&&m.log("[Profiling] Profiling disabled, no profiling options found.");return}const r=de(),s=r&&le(r);if(vn(t)&&t.profileSessionSampleRate!==void 0&&v&&m.warn("[Profiling] Both legacy profiling (`profilesSampleRate`) and UI profiling settings are defined. `profileSessionSampleRate` has no effect when legacy profiling is enabled."),vn(t))s&&ru(s)&&xo(s)&&Po(s),e.on("spanStart",i=>{i===le(i)&&xo(i)&&Po(i)}),e.on("beforeEnvelope",i=>{var a,u;if(!fy())return;const o=ay(i);if(!o.length)return;const c=[];for(const d of o){const l=d==null?void 0:d.contexts,f=(a=l==null?void 0:l.profile)==null?void 0:a.profile_id,p=(u=l==null?void 0:l.profile)==null?void 0:u.start_timestamp;if(typeof f!="string"){v&&m.log("[Profiling] cannot find profile for a span without a profile context");continue}if(!f){v&&m.log("[Profiling] cannot find profile for a span without a profile context");continue}l!=null&&l.profile&&delete l.profile;const h=py(f);if(!h){v&&m.log(`[Profiling] Could not retrieve profile for span: ${f}`);continue}const g=dy(f,p,h,d);g&&c.push(g)}oy(i,c)});else{const i=t.profileLifecycle;if(e.on("startUIProfiler",()=>n.start()),e.on("stopUIProfiler",()=>n.stop()),i==="manual")n.initialize(e);else if(i==="trace"){if(!xe(t)){v&&m.warn("[Profiling] `profileLifecycle` is 'trace' but tracing is disabled. Set a `tracesSampleRate` or `tracesSampler` to enable span tracing.");return}n.initialize(e),s&&n.notifyRootSpanActive(s),F.setTimeout(()=>{const o=de(),c=o&&le(o);c&&n.notifyRootSpanActive(c)},0)}}},processEvent(e){return my(e)}})),by=Ey;function vy(e){const t={...e};return ka(t,"react"),ra("react",{version:sa.version}),Hh(t)}const Ty=new WeakSet;function Iy(e,t){const n=BS({...e,instrumentPageLoad:!1,instrumentNavigation:!1}),{useEffect:r,useLocation:s,useNavigationType:i,createRoutesFromChildren:o,matchRoutes:c,stripBasename:a,enableAsyncRouteHandlers:u=!1,instrumentPageLoad:d=!0,instrumentNavigation:l=!0,lazyRouteTimeout:f}=e;return{...n,setup(p){n.setup(p);const h=e.finalTimeout??3e4,g=(e.idleTimeout??1e3)*3,_=f??g;_===1/0?vr&&m.log("[React Router] lazyRouteTimeout set to Infinity, capping at finalTimeout:",h,"ms to prevent indefinite hangs"):Number.isNaN(_)?vr&&m.warn("[React Router] lazyRouteTimeout must be a number, falling back to default:",g):_<0&&vr&&m.warn("[React Router] lazyRouteTimeout must be non-negative or Infinity, got:",_,"falling back to:",g)},afterAllSetup(p){var g;n.afterAllSetup(p);const h=(g=F.location)==null?void 0:g.pathname;d&&h&&Qs(p,{name:h,attributes:{[Ae]:"url",[Ue]:"pageload",[ce]:`auto.pageload.react.reactrouter_v${t}`}}),l&&Ty.add(p)}}}function wy(e){return Iy(e,"6")}var No={};const ky=No.CI==="true"||No.GITHUB_ACTIONS==="true",Ry="4.11.0",Cy={enabled:!0,environment:ky?"github-ci":"production",release:`spotlight@${Ry}`,tracesSampleRate:1,enableLogs:!0},My=["sentryTrace","baggage"];function Ay(e=!0){const t=[wy({instrumentPageLoad:e,useEffect:sa.useEffect,useLocation:qu,useNavigationType:Wu,createRoutesFromChildren:zu,matchRoutes:$u}),yS(),by(),Vd({levels:["log","info","warn","error","debug"]})],n=document.location.hash.slice(1);if(n.startsWith("spotlight")){const r=n.indexOf("="),s=r>-1?decodeURIComponent(n.slice(r+1)):void 0;t.push(Oh({sidecarUrl:s}))}return t}function Py(){const e=My.map(s=>[s,Uu(s)]),t=e.every(([,s])=>!!s),n=Ay(!t),r=vy({...Cy,transport:YS(Ls),dsn:"https://51bcd92dba1128934afd1c5726c84442@o1.ingest.us.sentry.io/4508404727283713",integrations:n,tracePropagationTargets:[/^\//,document.location.origin],profilesSampleRate:1,replaysSessionSampleRate:.01,replaysOnErrorSampleRate:1});t&&r&&Qs(r,{name:"pageload"},Object.fromEntries(e))}export{Py as default,Ay as getIntegrations};
|
|
23
|
+
`;if(typeof e=="string")n=`${r}${e}`;else{const i=new TextEncoder().encode(r);n=new Uint8Array(i.length+e.length),n.set(i),n.set(e,i.length)}return n}async function uS({client:e,scope:t,replayId:n,event:r}){const s=typeof e._integrations=="object"&&e._integrations!==null&&!Array.isArray(e._integrations)?Object.keys(e._integrations):void 0,i={event_id:n,integrations:s};e.emit("preprocessEvent",r,i);const o=await Yo(e.getOptions(),r,i,t,e,Mt());if(!o)return null;e.emit("postprocessEvent",o,i),o.platform=o.platform||"javascript";const c=e.getSdkMetadata(),{name:a,version:u,settings:d}=(c==null?void 0:c.sdk)||{};return o.sdk={...o.sdk,name:a||"sentry.javascript.unknown",version:u||"0.0.0",settings:d},o}async function lS({recordingData:e,replayId:t,segmentId:n,eventContext:r,timestamp:s,session:i}){const o=cS({recordingData:e,headers:{segment_id:n}}),{urls:c,errorIds:a,traceIds:u,initialTimestamp:d}=r,l=z(),f=ne(),p=l==null?void 0:l.getTransport(),h=l==null?void 0:l.getDsn();if(!l||!p||!h||!i.sampled)return Promise.resolve({});const g={type:Uh,replay_start_timestamp:d/1e3,timestamp:s/1e3,error_ids:a,trace_ids:u,urls:c,replay_id:t,segment_id:n,replay_type:i.sampled},_=await uS({scope:f,client:l,replayId:t,event:g});if(!_)return l.recordDroppedEvent("event_processor","replay"),C&&M.log("An event processor returned `null`, will not send event."),Promise.resolve({});delete _.sdkProcessingMetadata;const y=aS(_,o,h,l.getOptions().tunnel);let T;try{T=await p.send(y)}catch(L){const q=new Error(Fs);try{q.cause=L}catch{}throw q}if(typeof T.statusCode=="number"&&(T.statusCode<200||T.statusCode>=300))throw new jc(T.statusCode);const O=ya({},T);if(Sa(O,"replay"))throw new Xs(O);return T}class jc extends Error{constructor(t){super(`Transport returned status code ${t}`)}}class Xs extends Error{constructor(t){super("Rate limit hit"),this.rateLimits=t}}async function Vc(e,t={count:0,interval:Vh}){const{recordingData:n,onError:r}=e;if(n.length)try{return await lS(e),!0}catch(s){if(s instanceof jc||s instanceof Xs)throw s;if(ra("Replays",{_retryCount:t.count}),r&&r(s),t.count>=Gh){const i=new Error(`${Fs} - max retries exceeded`);try{i.cause=s}catch{}throw i}return t.interval*=++t.count,new Promise((i,o)=>{cn(async()=>{try{await Vc(e,t),i(!0)}catch(c){o(c)}},t.interval)})}}const Gc="__THROTTLED",dS="__SKIPPED";function fS(e,t,n){const r=new Map,s=c=>{const a=c-n;r.forEach((u,d)=>{d<a&&r.delete(d)})},i=()=>[...r.values()].reduce((c,a)=>c+a,0);let o=!1;return(...c)=>{const a=Math.floor(Date.now()/1e3);if(s(a),i()>=t){const d=o;return o=!0,d?dS:Gc}o=!1;const u=r.get(a)||0;return r.set(a,u+1),e(...c)}}class pS{constructor({options:t,recordingOptions:n}){this.eventBuffer=null,this.performanceEntries=[],this.replayPerformanceEntries=[],this.recordingMode="session",this.timeouts={sessionIdlePause:$h,sessionIdleExpire:zh},this._lastActivity=Date.now(),this._isEnabled=!1,this._isPaused=!1,this._requiresManualStart=!1,this._hasInitializedCoreListeners=!1,this._context={errorIds:new Set,traceIds:new Set,urls:[],initialTimestamp:Date.now(),initialUrl:""},this._recordingOptions=n,this._options=t,this._debouncedFlush=tS(()=>this._flush(),this._options.flushMinDelay,{maxWait:this._options.flushMaxDelay}),this._throttledAddEvent=fS((o,c)=>a_(this,o,c),300,5);const{slowClickTimeout:r,slowClickIgnoreSelectors:s}=this.getOptions(),i=r?{threshold:Math.min(Yh,r),timeout:r,scrollTimeout:Jh,ignoreSelector:s?s.join(","):""}:void 0;if(i&&(this.clickDetector=new Eg(this,i)),C){const o=t._experiments;M.setConfig({captureExceptions:!!o.captureExceptions,traceInternals:!!o.traceInternals})}this._handleVisibilityChange=()=>{te.document.visibilityState==="visible"?this._doChangeToForegroundTasks():this._doChangeToBackgroundTasks()},this._handleWindowBlur=()=>{const o=Oe({category:"ui.blur"});this._doChangeToBackgroundTasks(o)},this._handleWindowFocus=()=>{const o=Oe({category:"ui.focus"});this._doChangeToForegroundTasks(o)},this._handleKeyboardEvent=o=>{Ng(this,o)}}getContext(){return this._context}isEnabled(){return this._isEnabled}isPaused(){return this._isPaused}isRecordingCanvas(){return!!this._canvas}getOptions(){return this._options}handleException(t){C&&M.exception(t),this._options.onError&&this._options.onError(t)}initializeSampling(t){const{errorSampleRate:n,sessionSampleRate:r}=this._options,s=n<=0&&r<=0;if(this._requiresManualStart=s,!s){if(this._initializeSessionForSampling(t),!this.session){C&&M.exception(new Error("Unable to initialize and create session"));return}this.session.sampled!==!1&&(this.recordingMode=this.session.sampled==="buffer"&&this.session.segmentId===0?"buffer":"session",C&&M.infoTick(`Starting replay in ${this.recordingMode} mode`),this._initializeRecording())}}start(){if(this._isEnabled&&this.recordingMode==="session"){C&&M.log("Recording is already in progress");return}if(this._isEnabled&&this.recordingMode==="buffer"){C&&M.log("Buffering is in progress, call `flush()` to save the replay");return}C&&M.infoTick("Starting replay in session mode"),this._updateUserActivity();const t=Br({maxReplayDuration:this._options.maxReplayDuration,sessionIdleExpire:this.timeouts.sessionIdleExpire},{stickySession:this._options.stickySession,sessionSampleRate:1,allowBuffering:!1});this.session=t,this.recordingMode="session",this._initializeRecording()}startBuffering(){if(this._isEnabled){C&&M.log("Buffering is in progress, call `flush()` to save the replay");return}C&&M.infoTick("Starting replay in buffer mode");const t=Br({sessionIdleExpire:this.timeouts.sessionIdleExpire,maxReplayDuration:this._options.maxReplayDuration},{stickySession:this._options.stickySession,sessionSampleRate:0,allowBuffering:!0});this.session=t,this.recordingMode="buffer",this._initializeRecording()}startRecording(){try{const t=this._canvas;this._stopRecording=Be({...this._recordingOptions,...this.recordingMode==="buffer"?{checkoutEveryNms:jh}:this._options._experiments.continuousCheckout&&{checkoutEveryNms:Math.max(36e4,this._options._experiments.continuousCheckout)},emit:rS(this),...nS(),onMutation:this._onMutationHandler.bind(this),...t?{recordCanvas:t.recordCanvas,getCanvasManager:t.getCanvasManager,sampling:t.sampling,dataURLOptions:t.dataURLOptions}:{}})}catch(t){this.handleException(t)}}stopRecording(){try{return this._stopRecording&&(this._stopRecording(),this._stopRecording=void 0),!0}catch(t){return this.handleException(t),!1}}async stop({forceFlush:t=!1,reason:n}={}){var r;if(this._isEnabled){this._isEnabled=!1,this.recordingMode="buffer";try{C&&M.log(`Stopping Replay${n?` triggered by ${n}`:""}`),Uc(),this._removeListeners(),this.stopRecording(),this._debouncedFlush.cancel(),t&&await this._flush({force:!0}),(r=this.eventBuffer)==null||r.destroy(),this.eventBuffer=null,n_(this)}catch(s){this.handleException(s)}}}pause(){this._isPaused||(this._isPaused=!0,this.stopRecording(),C&&M.log("Pausing replay"))}resume(){!this._isPaused||!this._checkSession()||(this._isPaused=!1,this.startRecording(),C&&M.log("Resuming replay"))}async sendBufferedReplayOrFlush({continueRecording:t=!0}={}){if(this.recordingMode==="session")return this.flushImmediate();const n=Date.now();C&&M.log("Converting buffer to session"),await this.flushImmediate();const r=this.stopRecording();!t||!r||this.recordingMode!=="session"&&(this.recordingMode="session",this.session&&(this.session.dirty=!1,this._updateUserActivity(n),this._updateSessionActivity(n),this._maybeSaveSession()),this.startRecording())}addUpdate(t){const n=t();this.recordingMode==="buffer"||!this._isEnabled||n!==!0&&this._debouncedFlush()}triggerUserActivity(){if(this._updateUserActivity(),!this._stopRecording){if(!this._checkSession())return;this.resume();return}this.checkAndHandleExpiredSession(),this._updateSessionActivity()}updateUserActivity(){this._updateUserActivity(),this._updateSessionActivity()}conditionalFlush(){return this.recordingMode==="buffer"?Promise.resolve():this.flushImmediate()}flush(){return this._debouncedFlush()}flushImmediate(){return this._debouncedFlush(),this._debouncedFlush.flush()}cancelFlush(){this._debouncedFlush.cancel()}getSessionId(t){var n,r;if(!(t&&((n=this.session)==null?void 0:n.sampled)===!1))return(r=this.session)==null?void 0:r.id}checkAndHandleExpiredSession(){if(this._lastActivity&&is(this._lastActivity,this.timeouts.sessionIdlePause)&&this.session&&this.session.sampled==="session"){this.pause();return}return!!this._checkSession()}setInitialState(){const t=`${te.location.pathname}${te.location.hash}${te.location.search}`,n=`${te.location.origin}${t}`;this.performanceEntries=[],this.replayPerformanceEntries=[],this._clearContext(),this._context.initialUrl=n,this._context.initialTimestamp=Date.now(),this._context.urls.push(n)}throttledAddEvent(t,n){const r=this._throttledAddEvent(t,n);if(r===Gc){const s=Oe({category:"replay.throttled"});this.addUpdate(()=>!Js(this,{type:pg,timestamp:s.timestamp||0,data:{tag:"breadcrumb",payload:s,metric:!0}}))}return r}getCurrentRoute(){const t=this.lastActiveSpan||de(),n=t&&le(t),s=(n&&$(n).data||{})[Ae];if(!(!n||!s||!["route","custom"].includes(s)))return $(n).description}_initializeRecording(){this.setInitialState(),this._updateSessionActivity(),this.eventBuffer=Zg({useCompression:this._options.useCompression,workerUrl:this._options.workerUrl}),this._removeListeners(),this._addListeners(),this._isEnabled=!0,this._isPaused=!1,this.startRecording()}_initializeSessionForSampling(t){const n=this._options.errorSampleRate>0,r=Br({sessionIdleExpire:this.timeouts.sessionIdleExpire,maxReplayDuration:this._options.maxReplayDuration,previousSessionId:t},{stickySession:this._options.stickySession,sessionSampleRate:this._options.sessionSampleRate,allowBuffering:n});this.session=r}_checkSession(){if(!this.session)return!1;const t=this.session;return Dc(t,{sessionIdleExpire:this.timeouts.sessionIdleExpire,maxReplayDuration:this._options.maxReplayDuration})?(this._refreshSession(t),!1):!0}async _refreshSession(t){this._isEnabled&&(await this.stop({reason:"refresh session"}),this.initializeSampling(t.id))}_addListeners(){try{te.document.addEventListener("visibilitychange",this._handleVisibilityChange),te.addEventListener("blur",this._handleWindowBlur),te.addEventListener("focus",this._handleWindowFocus),te.addEventListener("keydown",this._handleKeyboardEvent),this.clickDetector&&this.clickDetector.addListeners(),this._hasInitializedCoreListeners||(Q_(this),this._hasInitializedCoreListeners=!0)}catch(t){this.handleException(t)}this._performanceCleanupCallback=Vg(this)}_removeListeners(){try{te.document.removeEventListener("visibilitychange",this._handleVisibilityChange),te.removeEventListener("blur",this._handleWindowBlur),te.removeEventListener("focus",this._handleWindowFocus),te.removeEventListener("keydown",this._handleKeyboardEvent),this.clickDetector&&this.clickDetector.removeListeners(),this._performanceCleanupCallback&&this._performanceCleanupCallback()}catch(t){this.handleException(t)}}_doChangeToBackgroundTasks(t){!this.session||Lc(this.session,{maxReplayDuration:this._options.maxReplayDuration,sessionIdleExpire:this.timeouts.sessionIdleExpire})||(t&&this._createCustomBreadcrumb(t),this.conditionalFlush())}_doChangeToForegroundTasks(t){if(!this.session)return;if(!this.checkAndHandleExpiredSession()){C&&M.log("Document has become active, but session has expired");return}t&&this._createCustomBreadcrumb(t)}_updateUserActivity(t=Date.now()){this._lastActivity=t}_updateSessionActivity(t=Date.now()){this.session&&(this.session.lastActivity=t,this._maybeSaveSession())}_createCustomBreadcrumb(t){this.addUpdate(()=>{this.throttledAddEvent({type:D.Custom,timestamp:t.timestamp||0,data:{tag:"breadcrumb",payload:t}})})}_addPerformanceEntries(){let t=Fg(this.performanceEntries).concat(this.replayPerformanceEntries);if(this.performanceEntries=[],this.replayPerformanceEntries=[],this._requiresManualStart){const n=this._context.initialTimestamp/1e3;t=t.filter(r=>r.start>=n)}return Promise.all(mr(this,t))}_clearContext(){this._context.errorIds.clear(),this._context.traceIds.clear(),this._context.urls=[]}_updateInitialTimestampFromEventBuffer(){const{session:t,eventBuffer:n}=this;if(!t||!n||this._requiresManualStart||t.segmentId)return;const r=n.getEarliestTimestamp();r&&r<this._context.initialTimestamp&&(this._context.initialTimestamp=r)}_popEventContext(){const t={initialTimestamp:this._context.initialTimestamp,initialUrl:this._context.initialUrl,errorIds:Array.from(this._context.errorIds),traceIds:Array.from(this._context.traceIds),urls:this._context.urls};return this._clearContext(),t}async _runFlush(){var n;const t=this.getSessionId();if(!this.session||!this.eventBuffer||!t){C&&M.error("No session or eventBuffer found to flush.");return}if(await this._addPerformanceEntries(),!!((n=this.eventBuffer)!=null&&n.hasEvents)&&(await Z_(this),!!this.eventBuffer&&t===this.getSessionId()))try{this._updateInitialTimestampFromEventBuffer();const r=Date.now();if(r-this._context.initialTimestamp>this._options.maxReplayDuration+3e4)throw new Error("Session is too long, not sending replay");const s=this._popEventContext(),i=this.session.segmentId++;this._maybeSaveSession();const o=await this.eventBuffer.finish();await Vc({replayId:t,recordingData:o,segmentId:i,eventContext:s,session:this.session,timestamp:r,onError:c=>this.handleException(c)})}catch(r){this.handleException(r),this.stop({reason:"sendReplay"});const s=z();if(s){const i=r instanceof Xs?"ratelimit_backoff":"send_error";s.recordDroppedEvent(i,"replay")}}}async _flush({force:t=!1}={}){if(!this._isEnabled&&!t)return;if(!this.checkAndHandleExpiredSession()){C&&M.error("Attempting to finish replay event after session expired.");return}if(!this.session)return;const n=this.session.started,s=Date.now()-n;this._debouncedFlush.cancel();const i=s<this._options.minReplayDuration,o=s>this._options.maxReplayDuration+5e3;if(i||o){C&&M.log(`Session duration (${Math.floor(s/1e3)}s) is too ${i?"short":"long"}, not sending replay.`),i&&this._debouncedFlush();return}const c=this.eventBuffer;c&&this.session.segmentId===0&&!c.hasCheckout&&C&&M.log("Flushing initial segment without checkout.");const a=!!this._flushLock;this._flushLock||(this._flushLock=this._runFlush());try{await this._flushLock}catch(u){this.handleException(u)}finally{this._flushLock=void 0,a&&this._debouncedFlush()}}_maybeSaveSession(){this.session&&this._options.stickySession&&hr(this.session)}_onMutationHandler(t){const{ignoreMutations:n}=this._options._experiments;if(n!=null&&n.length&&t.some(c=>{const a=oS(c.target),u=n.join(",");return a==null?void 0:a.matches(u)}))return!1;const r=t.length,s=this._options.mutationLimit,i=this._options.mutationBreadcrumbLimit,o=s&&r>s;if(r>i||o){const c=Oe({category:"replay.mutations",data:{count:r,limit:o}});this._createCustomBreadcrumb(c)}return o?(this.stop({reason:"mutationLimit",forceFlush:this.recordingMode==="session"}),!1):!0}}function Ot(e,t){return[...e,...t].join(",")}function hS({mask:e,unmask:t,block:n,unblock:r,ignore:s}){const i=["base","iframe[srcdoc]:not([src])"],o=Ot(e,[".sentry-mask","[data-sentry-mask]"]),c=Ot(t,[]);return{maskTextSelector:o,unmaskTextSelector:c,blockSelector:Ot(n,[".sentry-block","[data-sentry-block]",...i]),unblockSelector:Ot(r,[]),ignoreSelector:Ot(s,[".sentry-ignore","[data-sentry-ignore]",'input[type="file"]'])}}function mS({el:e,key:t,maskAttributes:n,maskAllText:r,privacyOptions:s,value:i}){return!r||s.unmaskTextSelector&&e.matches(s.unmaskTextSelector)?i:n.includes(t)||t==="value"&&e.tagName==="INPUT"&&["submit","button"].includes(e.getAttribute("type")||"")?i.replace(/[\S]/g,"*"):i}const Eo='img,image,svg,video,object,picture,embed,map,audio,link[rel="icon"],link[rel="apple-touch-icon"]',gS=["content-length","content-type","accept"],_S=Symbol.for("sentry__originalRequestBody");let bo=!1,vo=!1;function SS(){if(typeof Request>"u"||vo)return;const e=Request;try{const t=function(n,r){const s=new e(n,r);return(r==null?void 0:r.body)!=null&&(s[_S]=r.body),s};t.prototype=e.prototype,Q.Request=t,vo=!0}catch{}}const yS=(e=>new ES(e));class ES{constructor({flushMinDelay:t=Wh,flushMaxDelay:n=qh,minReplayDuration:r=Kh,maxReplayDuration:s=Qi,stickySession:i=!0,useCompression:o=!0,workerUrl:c,_experiments:a={},maskAllText:u=!0,maskAllInputs:d=!0,blockAllMedia:l=!0,mutationBreadcrumbLimit:f=750,mutationLimit:p=1e4,slowClickTimeout:h=7e3,slowClickIgnoreSelectors:g=[],networkDetailAllowUrls:_=[],networkDetailDenyUrls:y=[],networkCaptureBodies:T=!0,networkRequestHeaders:O=[],networkResponseHeaders:L=[],mask:q=[],maskAttributes:x=["title","placeholder","aria-label"],unmask:S=[],block:I=[],unblock:J=[],ignore:E=[],maskFn:w,beforeAddRecordingEvent:B,beforeErrorSampling:H,onError:N,attachRawBodyFromRequest:oe=!1}={}){this.name="Replay";const K=hS({mask:q,unmask:S,block:I,unblock:J,ignore:E});if(this._recordingOptions={maskAllInputs:d,maskAllText:u,maskInputOptions:{password:!0},maskTextFn:w,maskInputFn:w,maskAttributeFn:(X,b,j)=>mS({maskAttributes:x,maskAllText:u,privacyOptions:K,key:X,value:b,el:j}),...K,slimDOMOptions:"all",inlineStylesheet:!0,inlineImages:!1,collectFonts:!0,errorHandler:X=>{try{X.__rrweb__=!0}catch{}},recordCrossOriginIframes:!!a.recordCrossOriginIframes},this._initialOptions={flushMinDelay:t,flushMaxDelay:n,minReplayDuration:Math.min(r,Xh),maxReplayDuration:Math.min(s,Qi),stickySession:i,useCompression:o,workerUrl:c,blockAllMedia:l,maskAllInputs:d,maskAllText:u,mutationBreadcrumbLimit:f,mutationLimit:p,slowClickTimeout:h,slowClickIgnoreSelectors:g,networkDetailAllowUrls:_,networkDetailDenyUrls:y,networkCaptureBodies:T,networkRequestHeaders:To(O),networkResponseHeaders:To(L),beforeAddRecordingEvent:B,beforeErrorSampling:H,onError:N,attachRawBodyFromRequest:oe,_experiments:a},this._initialOptions.blockAllMedia&&(this._recordingOptions.blockSelector=this._recordingOptions.blockSelector?`${this._recordingOptions.blockSelector},${Eo}`:Eo,this._recordingOptions.ignoreCSSAttributes=new Set(["background-image"])),this._isInitialized&&jr())throw new Error("Multiple Sentry Session Replay instances are not supported");this._isInitialized=!0}get _isInitialized(){return bo}set _isInitialized(t){bo=t}afterAllSetup(t){!jr()||this._replay||(this._initialOptions.attachRawBodyFromRequest&&SS(),this._setup(t),this._initialize(t))}start(){this._replay&&this._replay.start()}startBuffering(){this._replay&&this._replay.startBuffering()}stop(){return this._replay?this._replay.stop({forceFlush:this._replay.recordingMode==="session"}):Promise.resolve()}flush(t){return this._replay?this._replay.isEnabled()?this._replay.sendBufferedReplayOrFlush(t):(this._replay.start(),Promise.resolve()):Promise.resolve()}getReplayId(t){var n;if((n=this._replay)!=null&&n.isEnabled())return this._replay.getSessionId(t)}getRecordingMode(){var t;if((t=this._replay)!=null&&t.isEnabled())return this._replay.recordingMode}_initialize(t){this._replay&&(this._maybeLoadFromReplayCanvasIntegration(t),this._replay.initializeSampling())}_setup(t){const n=bS(this._initialOptions,t);this._replay=new pS({options:n,recordingOptions:this._recordingOptions})}_maybeLoadFromReplayCanvasIntegration(t){try{const n=t.getIntegrationByName("ReplayCanvas");if(!n)return;this._replay._canvas=n.getOptions()}catch{}}}function bS(e,t){const n=t.getOptions(),r={sessionSampleRate:0,errorSampleRate:0,...e},s=zt(n.replaysSessionSampleRate),i=zt(n.replaysOnErrorSampleRate);return s==null&&i==null&&Zt(()=>{console.warn("Replay is disabled because neither `replaysSessionSampleRate` nor `replaysOnErrorSampleRate` are set.")}),s!=null&&(r.sessionSampleRate=s),i!=null&&(r.errorSampleRate=i),r}function To(e){return[...gS,...e.map(t=>t.toLowerCase())]}function vS(e){return e.split(",").some(t=>t.trim().startsWith("sentry-"))}function Yc(e){try{return new URL(e,F.location.origin).href}catch{return}}function TS(e){return e.entryType==="resource"&&"initiatorType"in e&&typeof e.nextHopProtocol=="string"&&(e.initiatorType==="fetch"||e.initiatorType==="xmlhttprequest")}function Jc(e){try{return new Headers(e)}catch{return}}const Io=new WeakMap,Hr=new Map,Kc={traceFetch:!0,traceXHR:!0,enableHTTPTimings:!0,trackFetchStreamPerformance:!1};function IS(e,t){const{traceFetch:n,traceXHR:r,trackFetchStreamPerformance:s,shouldCreateSpanForRequest:i,enableHTTPTimings:o,tracePropagationTargets:c,onRequestSpanStart:a,onRequestSpanEnd:u}={...Kc,...t},d=typeof i=="function"?i:h=>!0,l=h=>wS(h,c),f={},p=e.getOptions().propagateTraceparent;n&&(e.addEventProcessor(h=>(h.type==="transaction"&&h.spans&&h.spans.forEach(g=>{if(g.op==="http.client"){const _=Hr.get(g.span_id);_&&(g.timestamp=_/1e3,Hr.delete(g.span_id))}}),h)),s&&Kd(h=>{if(h.response){const g=Io.get(h.response);g&&h.endTimestamp&&Hr.set(g,h.endTimestamp)}}),Na(h=>{const g=Od(h,d,l,f,{propagateTraceparent:p,onRequestSpanEnd:u});if(h.response&&h.fetchData.__span&&Io.set(h.response,h.fetchData.__span),g){const _=Yc(h.fetchData.url),y=_?st(_).host:void 0;g.setAttributes({"http.url":_,"server.address":y}),o&&wo(g),a==null||a(g,{headers:h.headers})}})),r&&Za(h=>{var _;const g=kS(h,d,l,f,p,u);g&&(o&&wo(g),a==null||a(g,{headers:Jc((_=h.xhr.__sentry_xhr_v3__)==null?void 0:_.request_headers)}))})}function wo(e){const{url:t}=$(e).data;if(!t||typeof t!="string")return;const n=ct("resource",({entries:r})=>{r.forEach(s=>{TS(s)&&s.name.endsWith(t)&&(e.setAttributes(Xa(s)),setTimeout(n))})})}function wS(e,t){const n=en();if(n){let r,s;try{r=new URL(e,n),s=new URL(n).origin}catch{return!1}const i=r.origin===s;return t?Fe(r.toString(),t)||i&&Fe(r.pathname,t):i}else{const r=!!e.match(/^\/(?!\/)/);return t?Fe(e,t):r}}function kS(e,t,n,r,s,i){const o=e.xhr,c=o==null?void 0:o[tt];if(!o||o.__sentry_own_request__||!c)return;const{url:a,method:u}=c,d=xe()&&t(a);if(e.endTimestamp&&d){const y=o.__sentry_xhr_span_id__;if(!y)return;const T=r[y];T&&c.status_code!==void 0&&(Xo(T,c.status_code),T.end(),i==null||i(T,{headers:Jc(rc(o)),error:e.error}),delete r[y]);return}const l=Yc(a),f=st(l||a),p=rd(a),h=!!de(),g=d&&h?At({name:`${u} ${p}`,attributes:{url:a,type:"xhr","http.method":u,"http.url":l,"server.address":f==null?void 0:f.host,[ce]:"auto.http.browser",[Ue]:"http.client",...(f==null?void 0:f.search)&&{"http.query":f==null?void 0:f.search},...(f==null?void 0:f.hash)&&{"http.fragment":f==null?void 0:f.hash}}}):new Ge;o.__sentry_xhr_span_id__=g.spanContext().spanId,r[o.__sentry_xhr_span_id__]=g,n(a)&&RS(o,xe()&&h?g:void 0,s);const _=z();return _&&_.emit("beforeOutgoingRequestSpan",g,e),g}function RS(e,t,n){const{"sentry-trace":r,baggage:s,traceparent:i}=Ra({span:t,propagateTraceparent:n});r&&CS(e,r,s,i)}function CS(e,t,n,r){var i;const s=(i=e.__sentry_xhr_v3__)==null?void 0:i.request_headers;if(!(s!=null&&s["sentry-trace"]||!e.setRequestHeader))try{if(e.setRequestHeader("sentry-trace",t),r&&!(s!=null&&s.traceparent)&&e.setRequestHeader("traceparent",r),n){const o=s==null?void 0:s.baggage;(!o||!vS(o))&&e.setRequestHeader("baggage",n)}}catch{}}function MS(){F.document?F.document.addEventListener("visibilitychange",()=>{const e=de();if(!e)return;const t=le(e);if(F.document.hidden&&t){const n="cancelled",{op:r,status:s}=$(t);v&&m.log(`[Tracing] Transaction: ${n} -> since tab moved to the background, op: ${r}`),s||t.setStatus({code:vt,message:n}),t.setAttribute("sentry.cancellation_reason","document.hidden"),t.end()}}):v&&m.warn("[Tracing] Could not set up background tab detection due to lack of global document")}const AS=3600,Xc="sentry_previous_trace",xS="sentry.previous_trace";function PS(e,{linkPreviousTrace:t,consistentTraceSampling:n}){const r=t==="session-storage";let s=r?LS():void 0;e.on("spanStart",o=>{if(le(o)!==o)return;const c=ne().getPropagationContext();s=NS(s,o,c),r&&OS(s)});let i=!0;n&&e.on("beforeSampling",o=>{if(!s)return;const c=ne(),a=c.getPropagationContext();if(i&&a.parentSpanId){i=!1;return}c.setPropagationContext({...a,dsc:{...a.dsc,sample_rate:String(s.sampleRate),sampled:String(cs(s.spanContext))},sampleRand:s.sampleRand}),o.parentSampled=cs(s.spanContext),o.parentSampleRate=s.sampleRate,o.spanAttributes={...o.spanAttributes,[Du]:s.sampleRate}})}function NS(e,t,n){const r=$(t);function s(){var c,a;try{return Number((c=n.dsc)==null?void 0:c.sample_rate)??Number((a=r.data)==null?void 0:a[Wo])}catch{return 0}}const i={spanContext:t.spanContext(),startTimestamp:r.start_timestamp,sampleRate:s(),sampleRand:n.sampleRand};if(!e)return i;const o=e.spanContext;return o.traceId===r.trace_id?e:(Date.now()/1e3-e.startTimestamp<=AS&&(v&&m.log(`Adding previous_trace \`${JSON.stringify(o)}\` link to span \`${JSON.stringify({op:r.op,...t.spanContext()})}\``),t.addLink({context:o,attributes:{[Fu]:"previous_trace"}}),t.setAttribute(xS,`${o.traceId}-${o.spanId}-${cs(o)?1:0}`)),i)}function OS(e){try{F.sessionStorage.setItem(Xc,JSON.stringify(e))}catch(t){v&&m.warn("Could not store previous trace in sessionStorage",t)}}function LS(){var e;try{const t=(e=F.sessionStorage)==null?void 0:e.getItem(Xc);return JSON.parse(t)}catch{return}}function cs(e){return e.traceFlags===1}const DS="BrowserTracing",FS={...Rn,instrumentNavigation:!0,instrumentPageLoad:!0,markBackgroundSpan:!0,enableLongTask:!0,enableLongAnimationFrame:!0,enableInp:!0,enableElementTiming:!0,ignoreResourceSpans:[],ignorePerformanceApiSpans:[],detectRedirects:!0,linkPreviousTrace:"in-memory",consistentTraceSampling:!1,enableReportPageLoaded:!1,_experiments:{},...Kc},BS=((e={})=>{const t={name:void 0,source:void 0},n=F.document,{enableInp:r,enableElementTiming:s,enableLongTask:i,enableLongAnimationFrame:o,_experiments:{enableInteractions:c,enableStandaloneClsSpans:a,enableStandaloneLcpSpans:u},beforeStartSpan:d,idleTimeout:l,finalTimeout:f,childSpanTimeout:p,markBackgroundSpan:h,traceFetch:g,traceXHR:_,trackFetchStreamPerformance:y,shouldCreateSpanForRequest:T,enableHTTPTimings:O,ignoreResourceSpans:L,ignorePerformanceApiSpans:q,instrumentPageLoad:x,instrumentNavigation:S,detectRedirects:I,linkPreviousTrace:J,consistentTraceSampling:E,enableReportPageLoaded:w,onRequestSpanStart:B,onRequestSpanEnd:H}={...FS,...e};let N,oe,K;function X(b,j,k=!0){const G=j.op==="pageload",Z=j.name,re=d?d(j):j,Se=re.attributes||{};if(Z!==re.name&&(Se[Ae]="custom",re.attributes=Se),!k){const Le=ir();At({...re,startTime:Le}).end(Le);return}t.name=re.name,t.source=Se[Ae];const ye=fa(re,{idleTimeout:l,finalTimeout:f,childSpanTimeout:p,disableAutoFinish:G,beforeSpanEnd:Le=>{N==null||N(),ip(Le,{recordClsOnPageloadSpan:!a,recordLcpOnPageloadSpan:!u,ignoreResourceSpans:L,ignorePerformanceApiSpans:q}),Ro(b,void 0);const dt=ne(),dn=dt.getPropagationContext();dt.setPropagationContext({...dn,traceId:ye.spanContext().traceId,sampled:nr(ye),dsc:He(Le)}),G&&(K=void 0)},trimIdleSpanEndTimestamp:!w});G&&w&&(K=ye),Ro(b,ye);function lt(){n&&["interactive","complete"].includes(n.readyState)&&b.emit("idleSpanEnableAutoFinish",ye)}G&&!w&&n&&(n.addEventListener("readystatechange",()=>{lt()}),lt())}return{name:DS,setup(b){if(Gu(),N=Qf({recordClsStandaloneSpans:a||!1,recordLcpStandaloneSpans:u||!1,client:b}),r&&xp(),s&&_p(),o&&Q.PerformanceObserver&&PerformanceObserver.supportedEntryTypes&&PerformanceObserver.supportedEntryTypes.includes("long-animation-frame")?ep():i&&Zf(),c&&tp(),I&&n){const k=()=>{oe=ue()};addEventListener("click",k,{capture:!0}),addEventListener("keydown",k,{capture:!0,passive:!0})}function j(){const k=Kt(b);k&&!$(k).timestamp&&(v&&m.log(`[Tracing] Finishing current active span with op: ${$(k).op}`),k.setAttribute(Wt,"cancelled"),k.end())}b.on("startNavigationSpan",(k,G)=>{if(z()!==b)return;if(G!=null&&G.isRedirect){v&&m.warn("[Tracing] Detected redirect, navigation span will not be the root span, but a child span."),X(b,{op:"navigation.redirect",...k},!1);return}oe=void 0,j(),Mt().setPropagationContext({traceId:On(),sampleRand:Math.random(),propagationSpanId:xe()?void 0:Lt()});const Z=ne();Z.setPropagationContext({traceId:On(),sampleRand:Math.random(),propagationSpanId:xe()?void 0:Lt()}),Z.setSDKProcessingMetadata({normalizedRequest:void 0}),X(b,{op:"navigation",...k,parentSpan:null,forceTransaction:!0})}),b.on("startPageLoadSpan",(k,G={})=>{if(z()!==b)return;j();const Z=G.sentryTrace||ko("sentry-trace"),re=G.baggage||ko("baggage"),Se=Bu(Z,re),ye=ne();ye.setPropagationContext(Se),xe()||(ye.getPropagationContext().propagationSpanId=Lt()),ye.setSDKProcessingMetadata({normalizedRequest:gs()}),X(b,{op:"pageload",...k})}),b.on("endPageloadSpan",()=>{w&&K&&(K.setAttribute(Wt,"reportPageLoaded"),K.end())})},afterAllSetup(b){let j=en();if(J!=="off"&&PS(b,{linkPreviousTrace:J,consistentTraceSampling:E}),F.location){if(x){const k=fe();Qs(b,{name:F.location.pathname,startTime:k?k/1e3:void 0,attributes:{[Ae]:"url",[ce]:"auto.pageload.browser"}})}S&&lr(({to:k,from:G})=>{if(G===void 0&&(j==null?void 0:j.indexOf(k))!==-1){j=void 0;return}j=void 0;const Z=Is(k),re=Kt(b),Se=re&&I&&$S(re,oe);HS(b,{name:(Z==null?void 0:Z.pathname)||F.location.pathname,attributes:{[Ae]:"url",[ce]:"auto.navigation.browser"}},{url:k,isRedirect:Se})})}h&&MS(),c&&US(b,l,f,p,t),r&&Op(),IS(b,{traceFetch:g,traceXHR:_,trackFetchStreamPerformance:y,tracePropagationTargets:b.getOptions().tracePropagationTargets,shouldCreateSpanForRequest:T,enableHTTPTimings:O,onRequestSpanStart:B,onRequestSpanEnd:H})}}});function Qs(e,t,n){e.emit("startPageLoadSpan",t,n),ne().setTransactionName(t.name);const r=Kt(e);return r&&e.emit("afterStartPageLoadSpan",r),r}function HS(e,t,n){const{url:r,isRedirect:s}=n||{};e.emit("beforeStartNavigationSpan",t,{isRedirect:s}),e.emit("startNavigationSpan",t,{isRedirect:s});const i=ne();return i.setTransactionName(t.name),r&&!s&&i.setSDKProcessingMetadata({normalizedRequest:{...gs(),url:r}}),Kt(e)}function ko(e){const t=F.document,n=t==null?void 0:t.querySelector(`meta[name=${e}]`);return(n==null?void 0:n.getAttribute("content"))||void 0}function US(e,t,n,r,s){const i=F.document;let o;const c=()=>{const a="ui.action.click",u=Kt(e);if(u){const d=$(u).op;if(["navigation","pageload"].includes(d)){v&&m.warn(`[Tracing] Did not create ${a} span because a pageload or navigation span is in progress.`);return}}if(o&&(o.setAttribute(Wt,"interactionInterrupted"),o.end(),o=void 0),!s.name){v&&m.warn(`[Tracing] Did not create ${a} transaction because _latestRouteName is missing.`);return}o=fa({name:s.name,op:a,attributes:{[Ae]:s.source||"url"}},{idleTimeout:t,finalTimeout:n,childSpanTimeout:r})};i&&addEventListener("click",c,{capture:!0})}const Qc="_sentry_idleSpan";function Kt(e){return e[Qc]}function Ro(e,t){Dn(e,Qc,t)}const Co=1.5;function $S(e,t){const n=$(e),r=ir(),s=n.start_timestamp;return!(r-s>Co||t&&r-t<=Co)}function Rt(e){return new Promise((t,n)=>{e.oncomplete=e.onsuccess=()=>t(e.result),e.onabort=e.onerror=()=>n(e.error)})}function zS(e,t){const n=indexedDB.open(e);n.onupgradeneeded=()=>n.result.createObjectStore(t);const r=Rt(n);return s=>r.then(i=>s(i.transaction(t,"readwrite").objectStore(t)))}function Zs(e){return Rt(e.getAllKeys())}function WS(e,t,n){return e(r=>Zs(r).then(s=>{if(!(s.length>=n))return r.put(t,Math.max(...s,0)+1),Rt(r.transaction)}))}function qS(e,t,n){return e(r=>Zs(r).then(s=>{if(!(s.length>=n))return r.put(t,Math.min(...s,0)-1),Rt(r.transaction)}))}function jS(e){return e(t=>Zs(t).then(n=>{const r=n[0];if(r!=null)return Rt(t.get(r)).then(s=>(t.delete(r),Rt(t.transaction).then(()=>s)))}))}function VS(e){let t;function n(){return t==null&&(t=zS(e.dbName||"sentry-offline",e.storeName||"queue")),t}return{push:async r=>{try{const s=await $n(r);await WS(n(),s,e.maxQueueSize||30)}catch{}},unshift:async r=>{try{const s=await $n(r);await qS(n(),s,e.maxQueueSize||30)}catch{}},shift:async()=>{try{const r=await jS(n());if(r)return Zu(r)}catch{}}}}function GS(e){return t=>{const n=e({...t,createStore:VS});return F.addEventListener("online",async r=>{await n.flush()}),n}}function YS(e=Ls){return GS(ed(e))}const Mo=1e6,JS="window"in Q&&Q.window===Q&&typeof importScripts>"u",je=String(0),er=JS?"main":"worker",we=F.navigator;let Zc="",eu="",tu="",us=(we==null?void 0:we.userAgent)||"",nu="";var Lo;const KS=(we==null?void 0:we.language)||((Lo=we==null?void 0:we.languages)==null?void 0:Lo[0])||"";function XS(e){return typeof e=="object"&&e!==null&&"getHighEntropyValues"in e}const Ao=we==null?void 0:we.userAgentData;XS(Ao)&&Ao.getHighEntropyValues(["architecture","model","platform","platformVersion","fullVersionList"]).then(e=>{var t;if(Zc=e.platform||"",tu=e.architecture||"",nu=e.model||"",eu=e.platformVersion||"",(t=e.fullVersionList)!=null&&t.length){const n=e.fullVersionList[e.fullVersionList.length-1];us=`${n.brand} ${n.version}`}}).catch(e=>{});function QS(e){return!("thread_metadata"in e)}function ZS(e){return QS(e)?iy(e):e}function ey(e){var n,r;const t=(r=(n=e.contexts)==null?void 0:n.trace)==null?void 0:r.trace_id;return typeof t=="string"&&t.length!==32&&v&&m.log(`[Profiling] Invalid traceId: ${t} on profiled event`),typeof t!="string"?"":t}function ty(e,t,n,r){if(r.type!=="transaction")throw new TypeError("Profiling events may only be attached to transactions, this should never occur.");if(n==null)throw new TypeError(`Cannot construct profiling event envelope without a valid profile. Got ${n} instead.`);const s=ey(r),i=ZS(n),o=t||(typeof r.start_timestamp=="number"?r.start_timestamp*1e3:ue()*1e3),c=typeof r.timestamp=="number"?r.timestamp*1e3:ue()*1e3;return{event_id:e,timestamp:new Date(o).toISOString(),platform:"javascript",version:"1",release:r.release||"",environment:r.environment||Go,runtime:{name:"javascript",version:F.navigator.userAgent},os:{name:Zc,version:eu,build_number:us},device:{locale:KS,model:nu,manufacturer:us,architecture:tu,is_emulator:!1},debug_meta:{images:su(n.resources)},profile:i,transactions:[{name:r.transaction||"",id:r.event_id||Pe(),trace_id:s,active_thread_id:je,relative_start_ns:"0",relative_end_ns:((c-o)*1e6).toFixed(0)}]}}function ny(e,t,n){var o,c;if(e==null)throw new TypeError(`Cannot construct profiling event envelope without a valid profile. Got ${e} instead.`);const r=sy(e),s=t.getOptions(),i=(c=(o=t.getSdkMetadata)==null?void 0:o.call(t))==null?void 0:c.sdk;return{chunk_id:Pe(),client_sdk:{name:(i==null?void 0:i.name)??"sentry.javascript.browser",version:(i==null?void 0:i.version)??"0.0.0"},profiler_id:n||Pe(),platform:"javascript",version:"2",release:s.release??"",environment:s.environment??"production",debug_meta:{images:su(e.resources)},profile:r}}function ry(e){try{if(!e||typeof e!="object")return{reason:"chunk is not an object"};const t=r=>typeof r=="string"&&/^[a-f0-9]{32}$/.test(r);if(!t(e.profiler_id))return{reason:"missing or invalid profiler_id"};if(!t(e.chunk_id))return{reason:"missing or invalid chunk_id"};if(!e.client_sdk)return{reason:"missing client_sdk metadata"};const n=e.profile;return n?!Array.isArray(n.frames)||!n.frames.length?{reason:"profile has no frames"}:!Array.isArray(n.stacks)||!n.stacks.length?{reason:"profile has no stacks"}:!Array.isArray(n.samples)||!n.samples.length?{reason:"profile has no samples"}:{valid:!0}:{reason:"missing profile data"}}catch(t){return{reason:`unknown validation error: ${t}`}}}function sy(e){const t=[];for(let c=0;c<e.frames.length;c++){const a=e.frames[c];a&&(t[c]={function:a.name,abs_path:typeof a.resourceId=="number"?e.resources[a.resourceId]:void 0,lineno:a.line,colno:a.column})}const n=[];for(let c=0;c<e.stacks.length;c++){const a=e.stacks[c];if(!a)continue;const u=[];let d=a;for(;d;)u.push(d.frameId),d=d.parentId===void 0?void 0:e.stacks[d.parentId];n[c]=u}const r=fe(),s=typeof performance.timeOrigin=="number"?performance.timeOrigin:r||0,i=s-(r||s),o=[];for(let c=0;c<e.samples.length;c++){const a=e.samples[c];if(!a)continue;const u=(s+(a.timestamp-i))/1e3;o[c]={stack_id:a.stackId??0,thread_id:je,timestamp:u}}return{frames:t,stacks:n,samples:o,thread_metadata:{[je]:{name:er}}}}function ru(e){return $(e).op==="pageload"}function iy(e){let t,n=0;const r={samples:[],stacks:[],frames:[],thread_metadata:{[je]:{name:er}}},s=e.samples[0];if(!s)return r;const i=s.timestamp,o=fe(),c=typeof performance.timeOrigin=="number"?performance.timeOrigin:o||0,a=c-(o||c);return e.samples.forEach((u,d)=>{if(u.stackId===void 0){t===void 0&&(t=n,r.stacks[t]=[],n++),r.samples[d]={elapsed_since_start_ns:((u.timestamp+a-i)*Mo).toFixed(0),stack_id:t,thread_id:je};return}let l=e.stacks[u.stackId];const f=[];for(;l;){f.push(l.frameId);const h=e.frames[l.frameId];h&&r.frames[l.frameId]===void 0&&(r.frames[l.frameId]={function:h.name,abs_path:typeof h.resourceId=="number"?e.resources[h.resourceId]:void 0,lineno:h.line,colno:h.column}),l=l.parentId===void 0?void 0:e.stacks[l.parentId]}const p={elapsed_since_start_ns:((u.timestamp+a-i)*Mo).toFixed(0),stack_id:n,thread_id:je};r.stacks[n]=f,r.samples[d]=p,n++}),r}function oy(e,t){if(!t.length)return e;for(const n of t)e[1].push([{type:"profile"},n]);return e}function ay(e){const t=[];return Hn(e,(n,r)=>{var s,i;if(r==="transaction")for(let o=1;o<n.length;o++){const c=n[o];(i=(s=c==null?void 0:c.contexts)==null?void 0:s.profile)!=null&&i.profile_id&&t.push(n[o])}}),t}function su(e){const t=z(),n=t==null?void 0:t.getOptions(),r=n==null?void 0:n.stackParser;return r?Hu(r,e):[]}function iu(e){return typeof e!="number"&&typeof e!="boolean"||typeof e=="number"&&isNaN(e)?(v&&m.warn(`[Profiling] Invalid sample rate. Sample rate must be a boolean or a number between 0 and 1. Got ${JSON.stringify(e)} of type ${JSON.stringify(typeof e)}.`),!1):e===!0||e===!1?!0:e<0||e>1?(v&&m.warn(`[Profiling] Invalid sample rate. Sample rate must be between 0 and 1. Got ${e}.`),!1):!0}function cy(e){return e.samples.length<2?(v&&m.log("[Profiling] Discarding profile because it contains less than 2 samples"),!1):e.frames.length?!0:(v&&m.log("[Profiling] Discarding profile because it contains no frames"),!1)}let ei=!1;const ou=3e4;function uy(e){return typeof e=="function"}function au(){const e=F.Profiler;if(!uy(e)){v&&m.log("[Profiling] Profiling is not supported by this browser, Profiler interface missing on window object.");return}const t=10,n=Math.floor(ou/t);try{return new e({sampleInterval:t,maxBufferSize:n})}catch{v&&(m.log("[Profiling] Failed to initialize the Profiling constructor, this is likely due to a missing 'Document-Policy': 'js-profiling' header."),m.log("[Profiling] Disabling profiling for current user session.")),ei=!0}}function xo(e){if(ei)return v&&m.log("[Profiling] Profiling has been disabled for the duration of the current user session."),!1;if(!e.isRecording())return v&&m.log("[Profiling] Discarding profile because root span was not sampled."),!1;const t=z(),n=t==null?void 0:t.getOptions();if(!n)return v&&m.log("[Profiling] Profiling disabled, no options found."),!1;const r=n.profilesSampleRate;return iu(r)?r?(r===!0?!0:Math.random()<r)?!0:(v&&m.log(`[Profiling] Discarding profile because it's not included in the random sample (sampling rate = ${Number(r)})`),!1):(v&&m.log("[Profiling] Discarding profile because a negative sampling decision was inherited or profileSampleRate is set to 0"),!1):(v&&m.warn("[Profiling] Discarding profile because of invalid sample rate."),!1)}function ly(e){if(ei)return v&&m.log("[Profiling] Profiling has been disabled for the duration of the current user session as the JS Profiler could not be started."),!1;if(e.profileLifecycle!=="trace"&&e.profileLifecycle!=="manual")return v&&m.warn("[Profiling] Session not sampled. Invalid `profileLifecycle` option."),!1;const t=e.profileSessionSampleRate;return iu(t)?t?Math.random()<=t:(v&&m.log("[Profiling] Discarding profile because profileSessionSampleRate is not defined or set to 0"),!1):(v&&m.warn("[Profiling] Discarding profile because of invalid profileSessionSampleRate."),!1)}function vn(e){return typeof e.profilesSampleRate<"u"}function dy(e,t,n,r){return cy(n)?ty(e,t,n,r):null}const rt=new Map;function fy(){return rt.size}function py(e){const t=rt.get(e);return t&&rt.delete(e),t}function hy(e,t){if(rt.set(e,t),rt.size>30){const n=rt.keys().next().value;n!==void 0&&rt.delete(n)}}function my(e){var t,n,r,s,i;return!((t=e==null?void 0:e.contexts)!=null&&t.profile)||!e.contexts||(e.contexts.trace={...((n=e.contexts)==null?void 0:n.trace)??{},data:{...((s=(r=e.contexts)==null?void 0:r.trace)==null?void 0:s.data)??{},"thread.id":je,"thread.name":er}},(i=e.spans)==null||i.forEach(o=>{o.data={...o.data||{},"thread.id":je,"thread.name":er}})),e}function Po(e){let t;ru(e)&&(t=ue()*1e3);const n=au();if(!n)return;v&&m.log(`[Profiling] started profiling span: ${$(e).description}`);const r=Pe();let s=null;ne().setContext("profile",{profile_id:r,start_timestamp:t});async function i(){if(e&&n){if(s){v&&m.log("[Profiling] profile for:",$(e).description,"already exists, returning early");return}return n.stop().then(u=>{if(o&&(F.clearTimeout(o),o=void 0),v&&m.log(`[Profiling] stopped profiling of span: ${$(e).description}`),!u){v&&m.log(`[Profiling] profiler returned null profile for: ${$(e).description}`,"this may indicate an overlapping span or a call to stopProfiling with a profile title that was never started");return}s=u,hy(r,u)}).catch(u=>{v&&m.log("[Profiling] error while stopping profiler:",u)})}}let o=F.setTimeout(()=>{v&&m.log("[Profiling] max profile duration elapsed, stopping profiling for:",$(e).description),i()},ou);const c=e.end.bind(e);function a(){return e?(i().then(()=>{c()},()=>{c()}),e):c()}e.end=a}const gy=6e4,_y=3e5;class Sy{constructor(){this._client=void 0,this._profiler=void 0,this._chunkTimer=void 0,this._profilerId=void 0,this._isRunning=!1,this._sessionSampled=!1,this._lifecycleMode=void 0,this._activeRootSpanIds=new Set,this._rootSpanTimeouts=new Map}initialize(t){const n=t.getOptions().profileLifecycle,r=ly(t.getOptions());v&&m.log(`[Profiling] Initializing profiler (lifecycle='${n}').`),r||v&&m.log("[Profiling] Session not sampled. Skipping lifecycle profiler initialization."),this._profilerId=Pe(),this._client=t,this._sessionSampled=r,this._lifecycleMode=n,n==="trace"&&this._setupTraceLifecycleListeners(t)}start(){if(this._lifecycleMode==="trace"){v&&m.warn('[Profiling] `profileLifecycle` is set to "trace". Calls to `uiProfiler.start()` are ignored in trace mode.');return}if(this._isRunning){v&&m.warn("[Profiling] Profile session is already running, `uiProfiler.start()` is a no-op.");return}if(!this._sessionSampled){v&&m.warn("[Profiling] Session is not sampled, `uiProfiler.start()` is a no-op.");return}this._beginProfiling()}stop(){if(this._lifecycleMode==="trace"){v&&m.warn('[Profiling] `profileLifecycle` is set to "trace". Calls to `uiProfiler.stop()` are ignored in trace mode.');return}if(!this._isRunning){v&&m.warn("[Profiling] Profiler is not running, `uiProfiler.stop()` is a no-op.");return}this._endProfiling()}notifyRootSpanActive(t){if(this._lifecycleMode!=="trace"||!this._sessionSampled)return;const n=t.spanContext().spanId;if(!n||this._activeRootSpanIds.has(n))return;this._registerTraceRootSpan(n);const r=this._activeRootSpanIds.size;r===1&&(v&&m.log("[Profiling] Detected already active root span during setup. Active root spans now:",r),this._beginProfiling())}_beginProfiling(){if(!this._isRunning){if(this._isRunning=!0,v&&m.log("[Profiling] Started profiling with profiler ID:",this._profilerId),wn().setContext("profile",{profiler_id:this._profilerId}),this._startProfilerInstance(),!this._profiler){v&&m.log("[Profiling] Failed to start JS Profiler; stopping."),this._resetProfilerInfo();return}this._startPeriodicChunking()}}_endProfiling(){this._isRunning&&(this._isRunning=!1,this._chunkTimer&&(clearTimeout(this._chunkTimer),this._chunkTimer=void 0),this._clearAllRootSpanTimeouts(),this._collectCurrentChunk().catch(t=>{v&&m.error("[Profiling] Failed to collect current profile chunk on `stop()`:",t)}),this._lifecycleMode==="manual"&&wn().setContext("profile",{}))}_setupTraceLifecycleListeners(t){t.on("spanStart",n=>{if(!this._sessionSampled){v&&m.log("[Profiling] Span not profiled because of negative sampling decision for user session.");return}if(n!==le(n))return;if(!n.isRecording()){v&&m.log("[Profiling] Discarding profile because root span was not sampled.");return}const r=n.spanContext().spanId;if(!r||this._activeRootSpanIds.has(r))return;this._registerTraceRootSpan(r);const s=this._activeRootSpanIds.size;s===1&&(v&&m.log(`[Profiling] Root span ${r} started. Profiling active while there are active root spans (count=${s}).`),this._beginProfiling())}),t.on("spanEnd",n=>{if(!this._sessionSampled)return;const r=n.spanContext().spanId;if(!r||!this._activeRootSpanIds.has(r))return;this._activeRootSpanIds.delete(r);const s=this._activeRootSpanIds.size;v&&m.log(`[Profiling] Root span with ID ${r} ended. Will continue profiling for as long as there are active root spans (currently: ${s}).`),s===0&&(this._collectCurrentChunk().catch(i=>{v&&m.error("[Profiling] Failed to collect current profile chunk on last `spanEnd`:",i)}),this._endProfiling())})}_resetProfilerInfo(){this._isRunning=!1,wn().setContext("profile",{})}_clearAllRootSpanTimeouts(){this._rootSpanTimeouts.forEach(t=>clearTimeout(t)),this._rootSpanTimeouts.clear()}_registerTraceRootSpan(t){this._activeRootSpanIds.add(t);const n=setTimeout(()=>this._onRootSpanTimeout(t),_y);this._rootSpanTimeouts.set(t,n)}_startProfilerInstance(){var n;if(((n=this._profiler)==null?void 0:n.stopped)===!1)return;const t=au();if(!t){v&&m.log("[Profiling] Failed to start JS Profiler.");return}this._profiler=t}_startPeriodicChunking(){this._isRunning&&(this._chunkTimer=setTimeout(()=>{if(this._collectCurrentChunk().catch(t=>{v&&m.error("[Profiling] Failed to collect current profile chunk during periodic chunking:",t)}),this._isRunning){if(this._startProfilerInstance(),!this._profiler){this._resetProfilerInfo();return}this._startPeriodicChunking()}},gy))}_onRootSpanTimeout(t){this._rootSpanTimeouts.has(t)&&(this._rootSpanTimeouts.delete(t),this._activeRootSpanIds.has(t)&&(v&&m.log(`[Profiling] Reached 5-minute timeout for root span ${t}. You likely started a manual root span that never called \`.end()\`.`),this._activeRootSpanIds.delete(t),this._activeRootSpanIds.size===0&&this._endProfiling()))}async _collectCurrentChunk(){const t=this._profiler;if(this._profiler=void 0,!!t)try{const n=await t.stop(),r=ny(n,this._client,this._profilerId),s=ry(r);if("reason"in s){v&&m.log("[Profiling] Discarding invalid profile chunk (this is probably a bug in the SDK):",s.reason);return}this._sendProfileChunk(r),v&&m.log("[Profiling] Collected browser profile chunk.")}catch(n){v&&m.log("[Profiling] Error while stopping JS Profiler for chunk:",n)}}_sendProfileChunk(t){var c;const n=this._client,r=or((c=n.getSdkMetadata)==null?void 0:c.call(n)),s=n.getDsn(),i=n.getOptions().tunnel,o=$e({event_id:Pe(),sent_at:new Date().toISOString(),...r&&{sdk:r},...!!i&&s&&{dsn:ut(s)}},[[{type:"profile_chunk"},t]]);n.sendEnvelope(o).then(null,a=>{v&&m.error("Error while sending profile chunk envelope:",a)})}}const yy="BrowserProfiling",Ey=(()=>({name:yy,setup(e){const t=e.getOptions(),n=new Sy;if(!vn(t)&&!t.profileLifecycle&&(t.profileLifecycle="manual"),vn(t)&&!t.profilesSampleRate){v&&m.log("[Profiling] Profiling disabled, no profiling options found.");return}const r=de(),s=r&&le(r);if(vn(t)&&t.profileSessionSampleRate!==void 0&&v&&m.warn("[Profiling] Both legacy profiling (`profilesSampleRate`) and UI profiling settings are defined. `profileSessionSampleRate` has no effect when legacy profiling is enabled."),vn(t))s&&ru(s)&&xo(s)&&Po(s),e.on("spanStart",i=>{i===le(i)&&xo(i)&&Po(i)}),e.on("beforeEnvelope",i=>{var a,u;if(!fy())return;const o=ay(i);if(!o.length)return;const c=[];for(const d of o){const l=d==null?void 0:d.contexts,f=(a=l==null?void 0:l.profile)==null?void 0:a.profile_id,p=(u=l==null?void 0:l.profile)==null?void 0:u.start_timestamp;if(typeof f!="string"){v&&m.log("[Profiling] cannot find profile for a span without a profile context");continue}if(!f){v&&m.log("[Profiling] cannot find profile for a span without a profile context");continue}l!=null&&l.profile&&delete l.profile;const h=py(f);if(!h){v&&m.log(`[Profiling] Could not retrieve profile for span: ${f}`);continue}const g=dy(f,p,h,d);g&&c.push(g)}oy(i,c)});else{const i=t.profileLifecycle;if(e.on("startUIProfiler",()=>n.start()),e.on("stopUIProfiler",()=>n.stop()),i==="manual")n.initialize(e);else if(i==="trace"){if(!xe(t)){v&&m.warn("[Profiling] `profileLifecycle` is 'trace' but tracing is disabled. Set a `tracesSampleRate` or `tracesSampler` to enable span tracing.");return}n.initialize(e),s&&n.notifyRootSpanActive(s),F.setTimeout(()=>{const o=de(),c=o&&le(o);c&&n.notifyRootSpanActive(c)},0)}}},processEvent(e){return my(e)}})),by=Ey;function vy(e){const t={...e};return ka(t,"react"),ra("react",{version:sa.version}),Hh(t)}const Ty=new WeakSet;function Iy(e,t){const n=BS({...e,instrumentPageLoad:!1,instrumentNavigation:!1}),{useEffect:r,useLocation:s,useNavigationType:i,createRoutesFromChildren:o,matchRoutes:c,stripBasename:a,enableAsyncRouteHandlers:u=!1,instrumentPageLoad:d=!0,instrumentNavigation:l=!0,lazyRouteTimeout:f}=e;return{...n,setup(p){n.setup(p);const h=e.finalTimeout??3e4,g=(e.idleTimeout??1e3)*3,_=f??g;_===1/0?vr&&m.log("[React Router] lazyRouteTimeout set to Infinity, capping at finalTimeout:",h,"ms to prevent indefinite hangs"):Number.isNaN(_)?vr&&m.warn("[React Router] lazyRouteTimeout must be a number, falling back to default:",g):_<0&&vr&&m.warn("[React Router] lazyRouteTimeout must be non-negative or Infinity, got:",_,"falling back to:",g)},afterAllSetup(p){var g;n.afterAllSetup(p);const h=(g=F.location)==null?void 0:g.pathname;d&&h&&Qs(p,{name:h,attributes:{[Ae]:"url",[Ue]:"pageload",[ce]:`auto.pageload.react.reactrouter_v${t}`}}),l&&Ty.add(p)}}}function wy(e){return Iy(e,"6")}var No={};const ky=No.CI==="true"||No.GITHUB_ACTIONS==="true",Ry="4.11.2",Cy={enabled:!0,environment:ky?"github-ci":"production",release:`spotlight@${Ry}`,tracesSampleRate:1,enableLogs:!0},My=["sentryTrace","baggage"];function Ay(e=!0){const t=[wy({instrumentPageLoad:e,useEffect:sa.useEffect,useLocation:qu,useNavigationType:Wu,createRoutesFromChildren:zu,matchRoutes:$u}),yS(),by(),Vd({levels:["log","info","warn","error","debug"]})],n=document.location.hash.slice(1);if(n.startsWith("spotlight")){const r=n.indexOf("="),s=r>-1?decodeURIComponent(n.slice(r+1)):void 0;t.push(Oh({sidecarUrl:s}))}return t}function Py(){const e=My.map(s=>[s,Uu(s)]),t=e.every(([,s])=>!!s),n=Ay(!t),r=vy({...Cy,transport:YS(Ls),dsn:"https://51bcd92dba1128934afd1c5726c84442@o1.ingest.us.sentry.io/4508404727283713",integrations:n,tracePropagationTargets:[/^\//,document.location.origin],profilesSampleRate:1,replaysSessionSampleRate:.01,replaysOnErrorSampleRate:1});t&&r&&Qs(r,{name:"pageload"},Object.fromEntries(e))}export{Py as default,Ay as getIntegrations};
|
|
24
24
|
//# sourceMappingURL=instrumentation.js.map
|