PageSourceSearch

https://app.tryforesttrack.com/assets/performance-DEkNcwqz.js

js tryforesttrack.com collected 2026-10-07 07:52:43 UTC 90,125 bytes, 27 lines download raw bytes

1import{r as re,o as Os}from"./index-CY89e85z.js";import{z as ht,l as f,A as se,G as w,g as P,b as F,B as S,C as xe,E as ge,F as dt,H as Tr,T as vr,s as v,I as gt,J as ue,t as Me,a as He,d as _e,n as $s,h as Ue,K as br,L as _t,M as St,x as W,N as Se,O as C,P as xs,Q as Ce,S as z,R as an,U as Ds,V as kn,W as Fs,e as b,f as A,X as nt,Y as Nn,Z as Ls,_ as yt,$ as Ir,a0 as wr,a1 as Ms,a2 as Rr,a3 as Cn,a4 as Hs,a5 as cn,a6 as jt,a7 as Us,a8 as kr,u as rt,a9 as An,aa as un,ab as Pn,r as de,ac as Nr,q as Bs,ad as js,ae as Cr,af as lt,ag as Ar,ah as qs,ai as qt,aj as On,ak as Ws,al as Gs,am as Ys,an as zs,ao as Xs,ap as dn,aq as ne,w as ie,ar as De,as as Vs,at as Ks,o as U,au as $n,av as xn,aw as Pr,ax as Js,ay as ln,az as Qs,aA as Wt,aB as Fe,c as Or,aC as $r,aD as Dn,aE as Zs,aF as fn,aG as eo,aH as to,aI as no,m as ye,v as M,aJ as xr,aK as Ae,aL as ro,aM as Ee,aN as Fn,aO as Ln,aP as Mn,aQ as Dr,p as so,aR as oo,aS as ao,aT as io,aU as co,i as uo}from"./node-C5kjOR7P.js";const st={},Hn={};function oe(e,t){st[e]=st[e]||[],st[e].push(t)}function ae(e,t){if(!Hn[e]){Hn[e]=!0;try{t()}catch(n){ht&&f.error(`Error while instrumenting ${e}`,n)}}}function G(e,t){const n=e&&st[e];if(n)for(const r of n)try{r(t)}catch(s){ht&&f.error(`Error while triggering instrumentation handler.
2Type: ${e}
3Name: ${se(r)}
4Error:`,s)}}let Ot=null;function Fr(e){const t="error";oe(t,e),ae(t,lo)}function lo(){Ot=w.onerror,w.onerror=function(e,t,n,r,s){return G("error",{column:r,error:s,line:n,msg:e,url:t}),Ot?Ot.apply(this,arguments):!1},w.onerror.__SENTRY_INSTRUMENTED__=!0}let $t=null;function Lr(e){const t="unhandledrejection";oe(t,e),ae(t,fo)}function fo(){$t=w.onunhandledrejection,w.onunhandledrejection=function(e){return G("unhandledrejection",e),$t?$t.apply(this,arguments):!0},w.onunhandledrejection.__SENTRY_INSTRUMENTED__=!0}let Un=!1;function po(){Un||(Un=!0,Fr(Gt),Lr(Gt))}function Gt(){const e=P(),t=e&&F(e);if(t){const n="internal_error";S&&f.log(`[Tracing] Root span: ${n} -> Global error occurred`),t.setStatus({code:xe,message:n})}}Gt.tag="sentry_tracingErrorCallback";const Mr="_sentryScope",Hr="_sentryIsolationScope";function mo(e,t,n){e&&(ge(e,Hr,n),ge(e,Mr,t))}function Bn(e){return{scope:e[Mr],isolationScope:e[Hr]}}class ve{constructor(t={}){this._traceId=t.traceId||dt(),this._spanId=t.spanId||Tr()}spanContext(){return{spanId:this._spanId,traceId:this._traceId,traceFlags:vr}}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 ho(e){if(!S)return;const{description:t="< unknown name >",op:n="< unknown op >",parent_span_id:r}=v(e),{spanId:s}=e.spanContext(),o=gt(e),a=F(e),i=a===e,c=`[Tracing] Starting ${o?"sampled":"unsampled"} ${i?"root ":""}span`,u=[`op: ${n}`,`name: ${t}`,`ID: ${s}`];if(r&&u.push(`parent ID: ${r}`),!i){const{op:l,description:d}=v(a);u.push(`root ID: ${a.spanContext().spanId}`),l&&u.push(`root op: ${l}`),d&&u.push(`root description: ${d}`)}f.log(`${c}
5  ${u.join(`
6  `)}`)}function go(e){if(!S)return;const{description:t="< unknown name >",op:n="< unknown op >"}=v(e),{spanId:r}=e.spanContext(),o=F(e)===e,a=`[Tracing] Finishing "${n}" ${o?"root ":""}span "${t}" with ID ${r}`;f.log(a)}function Ur(e){if(typeof e=="boolean")return Number(e);const t=typeof e=="string"?parseFloat(e):e;if(typeof t!="number"||isNaN(t)||t<0||t>1){S&&f.warn(`[Tracing] Given sample rate is invalid. Sample rate must be a boolean or a number between 0 and 1. Got ${JSON.stringify(e)} of type ${JSON.stringify(typeof e)}.`);return}return t}function _o(e,t){if(!ue(e))return[!1];const n=Me().getScopeData().sdkProcessingMetadata.normalizedRequest,r={...t,normalizedRequest:t.normalizedRequest||n};let s;typeof e.tracesSampler=="function"?s=e.tracesSampler(r):r.parentSampled!==void 0?s=r.parentSampled:typeof e.tracesSampleRate<"u"?s=e.tracesSampleRate:s=1;const o=Ur(s);return o===void 0?(S&&f.warn("[Tracing] Discarding transaction because of invalid sample rate."),[!1]):o?Math.random()<o?[!0,o]:(S&&f.log(`[Tracing] Discarding transaction because it's not included in the random sample (sampling rate = ${Number(s)})`),[!1,o]):(S&&f.log(`[Tracing] Discarding transaction because ${typeof e.tracesSampler=="function"?"tracesSampler returned 0 or false":"a negative sampling decision was inherited or tracesSampleRate is set to 0"}`),[!1,o])}const So=/^(?:(\w+):)\/\/(?:(\w+)(?::(\w+)?)?@)([\w.-]+)(?::(\d+))?\/(.+)/;function yo(e){return e==="http"||e==="https"}
6function be(e,t=!1){const{host:n,path:r,pass:s,port:o,projectId:a,protocol:i,publicKey:c}=e;return`${i}://${c}${t&&s?`:${s}`:""}@${n}${o?`:${o}`:""}/${r&&`${r}/`}${a}`}function Eo(e){const t=So.exec(e);if(!t){He(()=>{console.error(`Invalid Sentry Dsn: ${e}`)});return}const[n,r,s="",o="",a="",i=""]=t.slice(1);let c="",u=i;const l=u.split("/");if(l.length>1&&(c=l.slice(0,-1).join("/"),u=l.pop()),u){const d=u.match(/^\d+/);d&&(u=d[0])}return Br({host:o,pass:s,path:c,projectId:u,port:a,protocol:n,publicKey:r})}function Br(e){return{protocol:e.protocol,publicKey:e.publicKey||"",pass:e.pass||"",host:e.host,port:e.port||"",path:e.path||"",projectId:e.projectId}}function To(e){if(!ht)return!0;const{port:t,projectId:n,protocol:r}=e;return["protocol","publicKey","host","projectId"].find(a=>e[a]?!1:(f.error(`Invalid Sentry Dsn: ${a} missing`),!0))?!1:n.match(/^\d+$/)?yo(r)?t&&isNaN(parseInt(t,10))?(f.error(`Invalid Sentry Dsn: Invalid port ${t}`),!1):!0:(f.error(`Invalid Sentry Dsn: Invalid protocol ${r}`),!1):(f.error(`Invalid Sentry Dsn: Invalid projectId ${n}`),!1)}function jr(e){const t=typeof e=="string"?Eo(e):Br(e);if(!(!t||!To(t)))return t}function Ie(e,t=[]){return[e,t]}function vo(e,t){const[n,r]=e;return[n,[...r,t]]}function jn(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 Yt(e){return w.__SENTRY__&&w.__SENTRY__.encodePolyfill?w.__SENTRY__.encodePolyfill(e):new TextEncoder().encode(e)}function bo(e){const[t,n]=e;let r=JSON.stringify(t);function s(o){typeof r=="string"?r=typeof o=="string"?r+o:[Yt(r),o]:r.push(typeof o=="string"?Yt(o):o)}for(const o of n){const[a,i]=o;if(s(`
7${JSON.stringify(a)}
8`),typeof i=="string"||i instanceof Uint8Array)s(i);else{let c;try{c=JSON.stringify(i)}catch{c=JSON.stringify($s(i))}s(c)}}return typeof r=="string"?r:Io(r)}function Io(e){const t=e.reduce((s,o)=>s+o.length,0),n=new Uint8Array(t);let r=0;for(const s of e)n.set(s,r),r+=s.length;return n}function wo(e){return[{type:"span"},e]}function Ro(e){const t=typeof e.data=="string"?Yt(e.data):e.data;return[_e({type:"attachment",length:t.length,filename:e.filename,content_type:e.contentType,attachment_type:e.attachmentType}),t]}const ko={session:"session",sessions:"session",attachment:"attachment",transaction:"transaction",event:"error",client_report:"internal",user_report:"default",profile:"profile",profile_chunk:"profile",replay_event:"replay",replay_recording:"replay",check_in:"monitor",feedback:"feedback",span:"span",statsd:"metric_bucket",raw_security:"security"};function qn(e){return ko[e]}function qr(e){if(!e||!e.sdk)return;const{name:t,version:n}=e.sdk;return{name:t,version:n}}function No(e,t,n,r){const s=e.sdkProcessingMetadata&&e.sdkProcessingMetadata.dynamicSamplingContext;return{event_id:e.event_id,sent_at:new Date().toISOString(),...t&&{sdk:t},...!!n&&r&&{dsn:be(r)},...s&&{trace:_e({...s})}}}function Co(e,t){return t&&(e.sdk=e.sdk||{},e.sdk.name=e.sdk.name||t.name,e.sdk.version=e.sdk.version||t.version,e.sdk.integrations=[...e.sdk.integrations||[],...t.integrations||[]],e.sdk.packages=[...e.sdk.packages||[],...t.packages||[]]),e}function Ao(e,t,n,r){const s=qr(n),o={sent_at:new Date().toISOString(),...s&&{sdk:s},...!!r&&t&&{dsn:be(t)}},a="aggregates"in e?[{type:"sessions"},e]:[{type:"session"},e.toJSON()];return Ie(o,[a])}function Po(e,t,n,r){const s=qr(n),o=e.type&&e.type!=="replay_event"?e.type:"event";Co(e,n&&n.sdk);const a=No(e,s,r,t);return delete e.sdkProcessingMetadata,Ie(a,[[{type:o},e]])}function Oo(e,t){function n(l){return!!l.trace_id&&!!l.public_key}const r=Ue(e[0]),s=t&&t.getDsn(),o=t&&t.getOptions().tunnel,a={sent_at:new Date().toISOString(),...n(r)&&{trace:r},...!!o&&s&&{dsn:be(s)}},i=t&&t.getOptions().beforeSendSpan,c=i?l=>{const d=i(v(l));return d||br(),d}:l=>v(l),u=[];for(const l of e){const d=c(l);d&&u.push(wo(d))}return Ie(a,u)}function $o(e,t,n,r=P()){const s=r&&F(r);s&&(S&&f.log(`[Measurement] Setting measurement on root span: ${e} = ${t} ${n}`),s.addEvent(e,{[St]:t,[_t]:n}))}function Wn(e){if(!e||e.length===0)return;const t={};return e.forEach(n=>{const r=n.attributes||{},s=r[_t],o=r[St];typeof s=="string"&&typeof o=="number"&&(t[n.name]={value:o,unit:s})}),t}const Gn=1e3;class pn{constructor(t={}){this._traceId=t.traceId||dt(),this._spanId=t.spanId||Tr(),this._startTime=t.startTimestamp||W(),this._attributes={},this.setAttributes({[C]:"manual",[Se]:t.op,...t.attributes}),this._name=t.name,t.parentSpanId&&(this._parentSpanId=t.parentSpanId),"sampled"in t&&(this._sampled=t.sampled),t.endTimestamp&&(this._endTime=t.endTimestamp),this._events=[],this._isStandaloneSpan=t.isStandalone,this._endTime&&this._onSpanEnded()}
8addLink(t){return this}addLinks(t){return this}recordException(t,n){}spanContext(){const{_spanId:t,_traceId:n,_sampled:r}=this;return{spanId:t,traceId:n,traceFlags:r?xs:vr}}setAttribute(t,n){return n===void 0?delete this._attributes[t]:this._attributes[t]=n,this}setAttributes(t){return Object.keys(t).forEach(n=>this.setAttribute(n,t[n])),this}updateStartTime(t){this._startTime=Ce(t)}setStatus(t){return this._status=t,this}updateName(t){return this._name=t,this.setAttribute(z,"custom"),this}end(t){this._endTime||(this._endTime=Ce(t),go(this),this._onSpanEnded())}getSpanJSON(){return _e({data:this._attributes,description:this._name,op:this._attributes[Se],parent_span_id:this._parentSpanId,span_id:this._spanId,start_timestamp:this._startTime,status:Fs(this._status),timestamp:this._endTime,trace_id:this._traceId,origin:this._attributes[C],_metrics_summary:kn(this),profile_id:this._attributes[Ds],exclusive_time:this._attributes[an],measurements:Wn(this._events),is_segment:this._isStandaloneSpan&&F(this)===this||void 0,segment_id:this._isStandaloneSpan?F(this).spanContext().spanId:void 0})}isRecording(){return!this._endTime&&!!this._sampled}addEvent(t,n,r){S&&f.log("[Tracing] Adding an event to span:",t);const s=Yn(n)?n:r||W(),o=Yn(n)?{}:n||{},a={name:t,time:Ce(s),attributes:o};return this._events.push(a),this}isStandaloneSpan(){return!!this._isStandaloneSpan}_onSpanEnded(){const t=b();if(t&&t.emit("spanEnd",this),!(this._isStandaloneSpan||this===F(this)))return;if(this._isStandaloneSpan){this._sampled?Do(Oo([this],t)):(S&&f.log("[Tracing] Discarding standalone span because its trace was not chosen to be sampled."),t&&t.recordDroppedEvent("sample_rate","span"));return}const r=this._convertSpanToTransaction();r&&(Bn(this).scope||A()).captureEvent(r)}_convertSpanToTransaction(){if(!zn(v(this)))return;this._name||(S&&f.warn("Transaction has no name, falling back to `<unlabeled transaction>`."),this._name="<unlabeled transaction>");const{scope:t,isolationScope:n}=Bn(this),s=(t||A()).getClient()||b();if(this._sampled!==!0){S&&f.log("[Tracing] Discarding transaction because its trace was not chosen to be sampled."),s&&s.recordDroppedEvent("sample_rate","transaction");return}const a=nt(this).filter(d=>d!==this&&!xo(d)).map(d=>v(d)).filter(zn),i=this._attributes[z];delete this._attributes[Nn],a.forEach(d=>{d.data&&delete d.data[Nn]});const c={contexts:{trace:Ls(this)},spans:a.length>Gn?a.sort((d,p)=>d.start_timestamp-p.start_timestamp).slice(0,Gn):a,start_timestamp:this._startTime,timestamp:this._endTime,transaction:this._name,type:"transaction",sdkProcessingMetadata:{capturedSpanScope:t,capturedSpanIsolationScope:n,..._e({dynamicSamplingContext:Ue(this)})},_metrics_summary:kn(this),...i&&{transaction_info:{source:i}}},u=Wn(this._events);return u&&Object.keys(u).length&&(S&&f.log("[Measurements] Adding measurements to transaction event",JSON.stringify(u,void 0,2)),c.measurements=u),c}}function Yn(e){return e&&typeof e=="number"||e instanceof Date||Array.isArray(e)}function zn(e){return!!e.start_timestamp&&!!e.timestamp&&!!e.span_id&&!!e.trace_id}function xo(e){return e instanceof pn&&e.isStandaloneSpan()}function Do(e){const t=b();if(!t)return;const n=e[1];if(!n||n.length===0){t.recordDroppedEvent("before_send","span");return}t.sendEnvelope(e)}const Wr="__SENTRY_SUPPRESS_TRACING__";function Be(e){const t=Yr();if(t.startInactiveSpan)return t.startInactiveSpan(e);const n=Lo(e),{forceTransaction:r,parentSpan:s}=e;return(e.scope?a=>yt(e.scope,a):s!==void 0?a=>Gr(s,a):a=>a())(()=>{const a=A(),i=Ho(a);return e.onlyIfParent&&!i?new ve:Fo({parentSpan:i,spanArguments:n,forceTransaction:r,scope:a})})}function Gr(e,t){const n=Yr();return n.withActiveSpan?n.withActiveSpan(e,t):yt(r=>(cn(r,e||void 0),t(r)))}function Fo({parentSpan:e,spanArguments:t,forceTransaction:n,scope:r}){if(!ue())return new ve;const s=Me();let o;if(e&&!n)o=Mo(e,r,t),Rr(e,o);else if(e){const a=Ue(e),{traceId:i,spanId:c}=e.spanContext(),u=gt(e);o=Xn({traceId:i,parentSpanId:c,...t},r,u),Cn(o,a)}else{const{traceId:a,dsc:i,parentSpanId:c,sampled:u}={...s.getPropagationContext(),...r.getPropagationContext()};o=Xn({traceId:a,parentSpanId:c,...t},r,u),i&&Cn(o,i)}return ho(o),mo(o,r,s),o}function Lo(e){const n={isStandalone:(e.experimental||{}).standalone,...e};if(e.startTime){const r={...n};return r.startTimestamp=Ce(e.startTime),delete r.startTime,r}return n}function Yr(){const e=Ir();return wr(e)}function Xn(e,t,n){const r=b(),s=r&&r.getOptions()||{},{name:o="",attributes:a}=e,[i,c]=t.getScopeData().sdkProcessingMetadata[Wr]?[!1]:_o(s,{name:o,parentSampled:n,attributes:a,transactionContext:{name:o,parentSampled:n}}),u=new pn({...e,attributes:{[z]:"custom",...e.attributes},sampled:i});return c!==void 0&&u.setAttribute(Hs,c),r&&r.emit("spanStart",u),u}
8function Mo(e,t,n){const{spanId:r,traceId:s}=e.spanContext(),o=t.getScopeData().sdkProcessingMetadata[Wr]?!1:gt(e),a=o?new pn({...n,parentSpanId:r,traceId:s,sampled:o}):new ve({traceId:s});Rr(e,a);const i=b();return i&&(i.emit("spanStart",a),n.endTimestamp&&i.emit("spanEnd",a)),a}function Ho(e){const t=Ms(e);if(!t)return;const n=b();return(n?n.getOptions():{}).parentSpanIsAlwaysRootSpan?F(t):t}const ot={idleTimeout:1e3,finalTimeout:3e4,childSpanTimeout:15e3},Uo="heartbeatFailed",Bo="idleTimeout",jo="finalTimeout",qo="externalFinish";function zr(e,t={}){const n=new Map;let r=!1,s,o=qo,a=!t.disableAutoFinish;const i=[],{idleTimeout:c=ot.idleTimeout,finalTimeout:u=ot.finalTimeout,childSpanTimeout:l=ot.childSpanTimeout,beforeSpanEnd:d}=t,p=b();if(!p||!ue())return new ve;const _=A(),g=P(),T=Wo(e);T.end=new Proxy(T.end,{apply(y,k,q){d&&d(T);const[N,...D]=q,H=N||W(),I=Ce(H),pe=nt(T).filter(te=>te!==T);if(!pe.length)return x(I),Reflect.apply(y,k,[I,...D]);const ze=pe.map(te=>v(te).timestamp).filter(te=>!!te),Xe=ze.length?Math.max(...ze):void 0,me=v(T).start_timestamp,Ve=Math.min(me?me+u/1e3:1/0,Math.max(me||-1/0,Math.min(I,Xe||1/0)));return x(Ve),Reflect.apply(y,k,[Ve,...D])}});function K(){s&&(clearTimeout(s),s=void 0)}function X(y){K(),s=setTimeout(()=>{!r&&n.size===0&&a&&(o=Bo,T.end(y))},c)}function Z(y){s=setTimeout(()=>{!r&&a&&(o=Uo,T.end(y))},l)}function ee(y){K(),n.set(y,!0);const k=W();Z(k+l/1e3)}function Ye(y){if(n.has(y)&&n.delete(y),n.size===0){const k=W();X(k+c/1e3)}}function x(y){r=!0,n.clear(),i.forEach(I=>I()),cn(_,g);const k=v(T),{start_timestamp:q}=k;if(!q)return;(k.data||{})[jt]||T.setAttribute(jt,o),f.log(`[Tracing] Idle span "${k.op}" finished`);const D=nt(T).filter(I=>I!==T);let H=0;D.forEach(I=>{I.isRecording()&&(I.setStatus({code:xe,message:"cancelled"}),I.end(y),S&&f.log("[Tracing] Cancelling span since span ended early",JSON.stringify(I,void 0,2)));const pe=v(I),{timestamp:ze=0,start_timestamp:Xe=0}=pe,me=Xe<=y,Ve=(u+c)/1e3,te=ze-Xe<=Ve;if(S){const Rn=JSON.stringify(I,void 0,2);me?te||f.log("[Tracing] Discarding span since it finished after idle span final timeout",Rn):f.log("[Tracing] Discarding span since it happened after idle span was finished",Rn)}(!te||!me)&&(Us(T,I),H++)}),H>0&&T.setAttribute("sentry.idle_span_discarded_spans",H)}return i.push(p.on("spanStart",y=>{if(r||y===T||v(y).timestamp)return;nt(T).includes(y)&&ee(y.spanContext().spanId)})),i.push(p.on("spanEnd",y=>{r||Ye(y.spanContext().spanId)})),i.push(p.on("idleSpanEnableAutoFinish",y=>{y===T&&(a=!0,X(),n.size&&Z())})),t.disableAutoFinish||X(),setTimeout(()=>{r||(T.setStatus({code:xe,message:"deadline_exceeded"}),o=jo,T.end())},u),T}function Wo(e){const t=Be(e);return cn(A(),t),S&&f.log("[Tracing] Started span is an idle span"),t}const Go="7";function Xr(e){const t=e.protocol?`${e.protocol}:`:"",n=e.port?`:${e.port}`:"";return`${t}//${e.host}${n}${e.path?`/${e.path}`:""}/api/`}function Yo(e){return`${Xr(e)}${e.projectId}/envelope/`}function zo(e,t){const n={sentry_version:Go};return e.publicKey&&(n.sentry_key=e.publicKey),t&&(n.sentry_client=`${t.name}/${t.version}`),new URLSearchParams(n).toString()}function Xo(e,t,n){return t||`${Yo(e)}?${zo(e,n)}`}function Vo(e,t){const n=jr(e);if(!n)return"";const r=`${Xr(n)}embed/error-page/`;let s=`dsn=${be(n)}`;for(const o in t)if(o!=="dsn"&&o!=="onClose")if(o==="user"){const a=t.user;if(!a)continue;a.name&&(s+=`&name=${encodeURIComponent(a.name)}`),a.email&&(s+=`&email=${encodeURIComponent(a.email)}`)}else s+=`&${encodeURIComponent(o)}=${encodeURIComponent(t[o])}`;return`${r}?${s}`}const Vn=[];function Ko(e){const t={};return e.forEach(n=>{const{name:r}=n,s=t[r];s&&!s.isDefaultInstance&&n.isDefaultInstance||(t[r]=n)}),Object.values(t)}function Jo(e){const t=e.defaultIntegrations||[],n=e.integrations;t.forEach(a=>{a.isDefaultInstance=!0});let r;if(Array.isArray(n))r=[...t,...n];else if(typeof n=="function"){const a=n(t);r=Array.isArray(a)?a:[a]}else r=t;const s=Ko(r),o=s.findIndex(a=>a.name==="Debug");if(o>-1){const[a]=s.splice(o,1);s.push(a)}return s}function Qo(e,t){const n={};return t.forEach(r=>{r&&Vr(e,r,n)}),n}function Kn(e,t){for(const n of t)n&&n.afterAllSetup&&n.afterAllSetup(e)}function Vr(e,t,n){if(n[t.name]){S&&f.log(`Integration skipped because it was already installed: ${t.name}`);return}if(n[t.name]=t,Vn.indexOf(t.name)===-1&&typeof t.setupOnce=="function"&&(t.setupOnce(),Vn.push(t.name)),t.setup&&typeof t.setup=="function"&&t.setup(e),typeof t.preprocessEvent=="function"){const r=t.preprocessEvent.bind(t);e.on("preprocessEvent",(s,o)=>r(s,o,e))}if(typeof t.processEvent=="function"){const r=t.processEvent.bind(t),s=Object.assign((o,a)=>r(o,a,e),{id:t.name});e.addEventProcessor(s)}S&&f.log(`Integration installed: ${t.name}`)}function hd(e){return e}
8function Zo(e,t,n){const r=[{type:"client_report"},{timestamp:kr(),discarded_events:e}];return Ie(t?{dsn:t}:{},[r])}class Y extends Error{constructor(t,n="warn"){super(t),this.message=t,this.logLevel=n}}const Jn="Not capturing exception because it's already been captured.";class ea{constructor(t){if(this._options=t,this._integrations={},this._numProcessing=0,this._outcomes={},this._hooks={},this._eventProcessors=[],t.dsn?this._dsn=jr(t.dsn):S&&f.warn("No DSN provided, client will not send events."),this._dsn){const s=Xo(this._dsn,t.tunnel,t._metadata?t._metadata.sdk:void 0);this._transport=t.transport({tunnel:this._options.tunnel,recordDroppedEvent:this.recordDroppedEvent.bind(this),...t.transportOptions,url:s})}const r=["enableTracing","tracesSampleRate","tracesSampler"].find(s=>s in t&&t[s]==null);r&&He(()=>{console.warn(`[Sentry] Deprecation warning: \`${r}\` is set to undefined, which leads to tracing being enabled. In v9, a value of \`undefined\` will result in tracing being disabled.`)})}captureException(t,n,r){const s=rt();if(An(t))return S&&f.log(Jn),s;const o={event_id:s,...n};return this._process(this.eventFromException(t,o).then(a=>this._captureEvent(a,o,r))),o.event_id}captureMessage(t,n,r,s){const o={event_id:rt(),...r},a=Ar(t)?t:String(t),i=un(t)?this.eventFromMessage(a,n,o):this.eventFromException(t,o);return this._process(i.then(c=>this._captureEvent(c,o,s))),o.event_id}captureEvent(t,n,r){const s=rt();if(n&&n.originalException&&An(n.originalException))return S&&f.log(Jn),s;const o={event_id:s,...n},i=(t.sdkProcessingMetadata||{}).capturedSpanScope;return this._process(this._captureEvent(t,o,i||r)),o.event_id}captureSession(t){typeof t.release!="string"?S&&f.warn("Discarded session because of missing or non-string release"):(this.sendSession(t),Pn(t,{init:!1}))}getDsn(){return this._dsn}getOptions(){return this._options}getSdkMetadata(){return this._options._metadata}getTransport(){return this._transport}flush(t){const n=this._transport;
8return n?(this.emit("flush"),this._isClientDoneProcessing(t).then(r=>n.flush(t).then(s=>r&&s))):de(!0)}close(t){return this.flush(t).then(n=>(this.getOptions().enabled=!1,this.emit("close"),n))}getEventProcessors(){return this._eventProcessors}addEventProcessor(t){this._eventProcessors.push(t)}init(){(this._isEnabled()||this._options.integrations.some(({name:t})=>t.startsWith("Spotlight")))&&this._setupIntegrations()}getIntegrationByName(t){return this._integrations[t]}addIntegration(t){const n=this._integrations[t.name];Vr(this,t,this._integrations),n||Kn(this,[t])}sendEvent(t,n={}){this.emit("beforeSendEvent",t,n);let r=Po(t,this._dsn,this._options._metadata,this._options.tunnel);for(const o of n.attachments||[])r=vo(r,Ro(o));const s=this.sendEnvelope(r);s&&s.then(o=>this.emit("afterSendEvent",t,o),null)}sendSession(t){const n=Ao(t,this._dsn,this._options._metadata,this._options.tunnel);this.sendEnvelope(n)}recordDroppedEvent(t,n,r){if(this._options.sendClientReports){const s=typeof r=="number"?r:1,o=`${t}:${n}`;S&&f.log(`Recording outcome: "${o}"${s>1?` (${s} times)`:""}`),this._outcomes[o]=(this._outcomes[o]||0)+s}}on(t,n){const r=this._hooks[t]=this._hooks[t]||[];return r.push(n),()=>{const s=r.indexOf(n);s>-1&&r.splice(s,1)}}emit(t,...n){const r=this._hooks[t];r&&r.forEach(s=>s(...n))}sendEnvelope(t){return this.emit("beforeEnvelope",t),this._isEnabled()&&this._transport?this._transport.send(t).then(null,n=>(S&&f.error("Error while sending envelope:",n),n)):(S&&f.error("Transport disabled"),de({}))}_setupIntegrations(){const{integrations:t}=this._options;this._integrations=Qo(this,t),Kn(this,t)}_updateSessionFromEvent(t,n){let r=n.level==="fatal",s=!1;const o=n.exception&&n.exception.values;if(o){s=!0;for(const c of o){const u=c.mechanism;if(u&&u.handled===!1){r=!0;break}}}const a=t.status==="ok";(a&&t.errors===0||a&&r)&&(Pn(t,{...r&&{status:"crashed"},errors:t.errors||Number(s||r)}),this.captureSession(t))}_isClientDoneProcessing(t){return new Nr(n=>{let r=0;const s=1,o=setInterval(()=>{this._numProcessing==0?(clearInterval(o),n(!0)):(r+=s,t&&r>=t&&(clearInterval(o),n(!1)))},s)})}_isEnabled(){return this.getOptions().enabled!==!1&&this._transport!==void 0}_prepareEvent(t,n,r=A(),s=Me()){const o=this.getOptions(),a=Object.keys(this._integrations);return!n.integrations&&a.length>0&&(n.integrations=a),this.emit("preprocessEvent",t,n),t.type||s.setLastEventId(t.event_id||n.event_id),Bs(o,t,n,r,this,s).then(i=>{if(i===null)return i;i.contexts={trace:js(r),...i.contexts};const c=Cr(this,r);return i.sdkProcessingMetadata={dynamicSamplingContext:c,...i.sdkProcessingMetadata},i})}_captureEvent(t,n={},r){return this._processEvent(t,n,r).then(s=>s.event_id,s=>{S&&(s instanceof Y&&s.logLevel==="log"?f.log(s.message):f.warn(s))})}_processEvent(t,n,r){const s=this.getOptions(),{sampleRate:o}=s,a=Jr(t),i=Kr(t),c=t.type||"error",u=`before send for type \`${c}\``,l=typeof o>"u"?void 0:Ur(o);if(i&&typeof l=="number"&&Math.random()>l)return this.recordDroppedEvent("sample_rate","error",t),lt(new Y(`Discarding event because it's not included in the random sample (sampling rate = ${o})`,"log"));const d=c==="replay_event"?"replay":c,_=(t.sdkProcessingMetadata||{}).capturedSpanIsolationScope;return this._prepareEvent(t,n,r,_).then(g=>{if(g===null)throw this.recordDroppedEvent("event_processor",d,t),new Y("An event processor returned `null`, will not send event.","log");if(n.data&&n.data.__sentry__===!0)return g;const K=na(this,s,g,n);return ta(K,u)}).then(g=>{if(g===null){if(this.recordDroppedEvent("before_send",d,t),a){const Z=1+(t.spans||[]).length;this.recordDroppedEvent("before_send","span",Z)}throw new Y(`${u} returned \`null\`, will not send event.`,"log")}const T=r&&r.getSession();if(!a&&T&&this._updateSessionFromEvent(T,g),a){const X=g.sdkProcessingMetadata&&g.sdkProcessingMetadata.spanCountBeforeProcessing||0,Z=g.spans?g.spans.length:0,ee=X-Z;ee>0&&this.recordDroppedEvent("before_send","span",ee)}const K=g.transaction_info;if(a&&K&&g.transaction!==t.transaction){const X="custom";g.transaction_info={...K,source:X}}return this.sendEvent(g,n),g}).then(null,g=>{throw g instanceof Y?g:(this.captureException(g,{data:{__sentry__:!0},originalException:g}),new Y(`Event processing pipeline threw an error, original event will not be sent. Details have been sent as a new event.
9Reason: ${g}`))})}_process(t){this._numProcessing++,t.then(n=>(this._numProcessing--,n),n=>(this._numProcessing--,n))}_clearOutcomes(){const t=this._outcomes;return this._outcomes={},Object.entries(t).map(([n,r])=>{const[s,o]=n.split(":");return{reason:s,category:o,quantity:r}})}_flushOutcomes(){S&&f.log("Flushing outcomes...");const t=this._clearOutcomes();if(t.length===0){S&&f.log("No outcomes to send");return}if(!this._dsn){S&&f.log("No dsn provided, will not send outcomes");return}S&&f.log("Sending outcomes:",t);const n=Zo(t,this._options.tunnel&&be(this._dsn));this.sendEnvelope(n)}}function ta(e,t){const n=`${t} must return \`null\` or a valid event.`;if(qs(e))return e.then(r=>{if(!qt(r)&&r!==null)throw new Y(n);return r},r=>{throw new Y(`${t} rejected with ${r}`)});if(!qt(e)&&e!==null)throw new Y(n);return e}function na(e,t,n,r){const{beforeSend:s,beforeSendTransaction:o,beforeSendSpan:a}=t;if(Kr(n)&&s)return s(n,r);if(Jr(n)){if(n.spans&&a){const i=[];for(const c of n.spans){const u=a(c);u?i.push(u):(br(),e.recordDroppedEvent("before_send","span"))}n.spans=i}if(o){if(n.spans){const i=n.spans.length;n.sdkProcessingMetadata={...n.sdkProcessingMetadata,spanCountBeforeProcessing:i}}return o(n,r)}}return n}function Kr(e){return e.type===void 0}function Jr(e){return e.type==="transaction"}function ra(e,t){t.debug===!0&&(S?f.enable():He(()=>{console.warn("[Sentry] Cannot initialize SDK with `debug` option using a non-debug bundle.")})),A().update(t.initialScope);const r=new e(t);return sa(r),r.init(),r}function sa(e){A().setClient(e)}function oa(e){const t=[];function n(){return e===void 0||t.length<e}function r(a){return t.splice(t.indexOf(a),1)[0]||Promise.resolve(void 0)}function s(a){if(!n())return lt(new Y("Not adding Promise because buffer limit was reached."));const i=a();return t.indexOf(i)===-1&&t.push(i),i.then(()=>r(i)).then(null,()=>r(i).then(null,()=>{})),i}function o(a){return new Nr((i,c)=>{let u=t.length;if(!u)return i(!0);const l=setTimeout(()=>{a&&a>0&&i(!1)},a);t.forEach(d=>{de(d).then(()=>{--u||(clearTimeout(l),i(!0))},c)})})}return{$:t,add:s,drain:o}}const aa=60*1e3;function ia(e,t=Date.now()){const n=parseInt(`${e}`,10);if(!isNaN(n))return n*1e3;const r=Date.parse(`${e}`);return isNaN(r)?aa:r-t}function ca(e,t){return e[t]||e.all||0}function ua(e,t,n=Date.now()){return ca(e,t)>n}function da(e,{statusCode:t,headers:n},r=Date.now()){const s={...e},o=n&&n["x-sentry-rate-limits"],a=n&&n["retry-after"];if(o)for(const i of o.trim().split(",")){const[c,u,,,l]=i.split(":",5),d=parseInt(c,10),p=(isNaN(d)?60:d)*1e3;if(!u)s.all=r+p;else for(const _ of u.split(";"))_==="metric_bucket"?(!l||l.split(";").includes("custom"))&&(s[_]=r+p):s[_]=r+p}else a?s.all=r+ia(a,r):t===429&&(s.all=r+60*1e3);return s}const la=64;function fa(e,t,n=oa(e.bufferSize||la)){let r={};const s=a=>n.drain(a);function o(a){const i=[];if(jn(a,(d,p)=>{const _=qn(p);if(ua(r,_)){const g=Qn(d,p);e.recordDroppedEvent("ratelimit_backoff",_,g)}else i.push(d)}),i.length===0)return de({});const c=Ie(a[0],i),u=d=>{jn(c,(p,_)=>{const g=Qn(p,_);e.recordDroppedEvent(d,qn(_),g)})},l=()=>t({body:bo(c)}).then(d=>(d.statusCode!==void 0&&(d.statusCode<200||d.statusCode>=300)&&S&&f.warn(`Sentry responded with status code ${d.statusCode} to sent event.`),r=da(r,d),d),d=>{throw u("network_error"),d});return n.add(l).then(d=>d,d=>{if(d instanceof Y)return S&&f.error("Skipped sending event because buffer is full."),u("queue_overflow"),de({});throw d})}return{send:o,flush:s}}function Qn(e,t){if(!(t!=="event"&&t!=="transaction"))return Array.isArray(e)?e[1]:void 0}function pa(e,t,n=[t],r="npm"){const s=e._metadata||{};s.sdk||(s.sdk={name:`sentry.javascript.${t}`,packages:n.map(o=>({name:`${r}:@sentry/${o}`,version:On})),version:On}),e._metadata=s}function Qr(e={}){const t=b();if(!Ws()||!t)return{};const n=Ir(),r=wr(n);if(r.getTraceData)return r.getTraceData(e);const s=A(),o=e.span||P(),a=o?Gs(o):ma(s),i=o?Ue(o):Cr(t,s),c=Ys(i);return zs.test(a)?{"sentry-trace":a,baggage:c}:(f.warn("Invalid sentry-trace data. Cannot generate trace data"),{})}function ma(e){const{traceId:t,sampled:n,spanId:r}=e.getPropagationContext();return Xs(t,r,n)}const ha=100;function le(e,t){const n=b(),r=Me();if(!n)return;const{beforeBreadcrumb:s=null,maxBreadcrumbs:o=ha}=n.getOptions();if(o<=0)return;const i={timestamp:kr(),...e},c=s?He(()=>s(i,t)):i;c!==null&&(n.emit&&n.emit("beforeAddBreadcrumb",c,t),r.addBreadcrumb(c,o))}let Zn;const ga="FunctionToString",er=new WeakMap,_a=()=>({name:ga,setupOnce(){Zn=Function.prototype.toString;try{Function.prototype.toString=function(...e){const t=dn(this),n=er.has(b())&&t!==void 0?t:this;return Zn.apply(n,e)}}catch{}},setup(e){er.set(e,!0)}}),Sa=_a,ya=[/^Script error\.?$/,/^Javascript error: Script error\.? on line 0$/,/^ResizeObserver loop completed with undelivered notifications.$/,/^Cannot redefine property: googletag$/,"undefined is not an object (evaluating 'a.L')",`can't redefine non-configurable property "solana"`,"vv().getRestrictions is not a function. (In 'vv().getRestrictions(1,a)', 'vv().getRestrictions' is undefined)","Can't find variable: _AutofillCallbackHandler",/^Non-Error promise rejection captured with value: Object Not Found Matching Id:\d+, MethodName:simulateEvent, ParamCount:\d+$/],Ea="InboundFilters",Ta=(e={})=>({name:Ea,processEvent(t,n,r){const s=r.getOptions(),o=ba(e,s);return Ia(t,o)?null:t}}),va=Ta;function ba(e={},t={}){return{allowUrls:[...e.allowUrls||[],...t.allowUrls||[]],denyUrls:[...e.denyUrls||[],...t.denyUrls||[]],ignoreErrors:[...e.ignoreErrors||[],...t.ignoreErrors||[],...e.disableErrorDefaults?[]:ya],ignoreTransactions:[...e.ignoreTransactions||[],...t.ignoreTransactions||[]],ignoreInternal:e.ignoreInternal!==void 0?e.ignoreInternal:!0}}function Ia(e,t){return t.ignoreInternal&&Aa(e)?(S&&f.warn(`Event dropped due to being internal Sentry Error.
10Event: ${ne(e)}`),!0):wa(e,t.ignoreErrors)?(S&&f.warn(`Event dropped due to being matched by \`ignoreErrors\` option.
11Event: ${ne(e)}`),!0):Oa(e)?(S&&f.warn(`Event dropped due to not having an error message, error type or stacktrace.
12Event: ${ne(e)}`),!0):Ra(e,t.ignoreTransactions)?(S&&f.warn(`Event dropped due to being matched by \`ignoreTransactions\` option.
13Event: ${ne(e)}`),!0):ka(e,t.denyUrls)?(S&&f.warn(`Event dropped due to being matched by \`denyUrls\` option.
14Event: ${ne(e)}.
15Url: ${ft(e)}`),!0):Na(e,t.allowUrls)?!1:(S&&f.warn(`Event dropped due to not being matched by \`allowUrls\` option.
16Event: ${ne(e)}.
17Url: ${ft(e)}`),!0)}function wa(e,t){return e.type||!t||!t.length?!1:Ca(e).some(n=>ie(n,t))}function Ra(e,t){if(e.type!=="transaction"||!t||!t.length)return!1;const n=e.transaction;return n?ie(n,t):!1}function ka(e,t){if(!t||!t.length)return!1;const n=ft(e);return n?ie(n,t):!1}function Na(e,t){if(!t||!t.length)return!0;const n=ft(e);return n?ie(n,t):!0}function Ca(e){const t=[];e.message&&t.push(e.message);let n;try{n=e.exception.values[e.exception.values.length-1]}catch{}return n&&n.value&&(t.push(n.value),n.type&&t.push(`${n.type}: ${n.value}`)),t}function Aa(e){try{return e.exception.values[0].type==="SentryError"}catch{}return!1}function Pa(e=[]){for(let t=e.length-1;t>=0;t--){const n=e[t];if(n&&n.filename!=="<anonymous>"&&n.filename!=="[native code]")return n.filename||null}return null}function ft(e){try{let t;try{t=e.exception.values[0].stacktrace.frames}catch{}return t?Pa(t):null}catch{return S&&f.error(`Cannot extract url for event ${ne(e)}`),null}}function Oa(e){return e.type||!e.exception||!e.exception.values||e.exception.values.length===0?!1:!e.message&&!e.exception.values.some(t=>t.stacktrace||t.type&&t.type!=="Error"||t.value)}function $a(e,t,n=250,r,s,o,a){if(!o.exception||!o.exception.values||!a||!De(a.originalException,Error))return;const i=o.exception.values.length>0?o.exception.values[o.exception.values.length-1]:void 0;i&&(o.exception.values=xa(zt(e,t,s,a.originalException,r,o.exception.values,i,0
vendor: 1,403 bytes, line 17
17),n))}function zt(e,t,n,r,s,o,a,i){if(o.length>=n+1)return o;let c=[...o];if(De(r[s],Error)){tr(a,i);const u=e(t,r[s]),l=c.length;nr(u,s,l,i),c=zt(e,t,n,r[s],s,[u,...c],u,l)}return Array.isArray(r.errors)&&r.errors.forEach((u,l)=>{if(De(u,Error)){tr(a,i);const d=e(t,u),p=c.length;nr(d,`errors[${l}]`,p,i),c=zt(e,t,n,u,s,[d,...c],d,p)}}),c}function tr(e,t){e.mechanism=e.mechanism||{type:"generic",handled:!0},e.mechanism={...e.mechanism,...e.type==="AggregateError"&&{is_exception_group:!0},exception_id:t}}function nr(e,t,n,r){e.mechanism=e.mechanism||{type:"generic",handled:!0},e.mechanism={...e.mechanism,type:"chained",source:t,exception_id:n,parent_id:r}}function xa(e,t){return e.map(n=>(n.value&&(n.value=Vs(n.value,t)),n))}function ce(e){if(!e)return{};const t=e.match(/^(([^:/?#]+):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?$/);if(!t)return{};const n=t[6]||"",r=t[8]||"";return{host:t[4],path:t[5],protocol:t[2],search:n,hash:r,relative:t[5]+n+r}}function Da(e){const t="console";oe(t,e),ae(t,Fa)}function Fa(){"console"in w&&Ks.forEach(function(e){e in w.console&&U(w.console,e,function(t){return $n[e]=t,function(...n){G("console",{args:n,level:e});const s=$n[e];s&&s.apply(w.console,n)}})})}function La(e){return e==="warn"?"warning":["fatal","error","warning","log","info","debug"].includes(e)?e:"log"}const Ma="Dedupe",Ha=()=>{let e;return{name:Ma,processEvent(t){if(t.type)return t;
17try{if(Ba(t,e))return S&&f.warn("Event dropped due to being a duplicate of previously captured event."),null}catch{}return e=t}}},Ua=Ha;function Ba(e,t){return t?!!(ja(e,t)||qa(e,t)):!1}function ja(e,t){const n=e.message,r=t.message;return!(!n&&!r||n&&!r||!n&&r||n!==r||!es(e,t)||!Zr(e,t))}function qa(e,t){const n=rr(t),r=rr(e);return!(!n||!r||n.type!==r.type||n.value!==r.value||!es(e,t)||!Zr(e,t))}function Zr(e,t){let n=xn(e),r=xn(t);if(!n&&!r)return!0;if(n&&!r||!n&&r||(n=n,r=r,r.length!==n.length))return!1;for(let s=0;s<r.length;s++){const o=r[s],a=n[s];if(o.filename!==a.filename||o.lineno!==a.lineno||o.colno!==a.colno||o.function!==a.function)return!1}return!0}function es(e,t){let n=e.fingerprint,r=t.fingerprint;if(!n&&!r)return!0;if(n&&!r||!n&&r)return!1;n=n,r=r;try{return n.join("")===r.join("")}catch{return!1}}function rr(e){return e.exception&&e.exception.values&&e.exception.values[0]}function Wa(e,t,n,r,s="auto.http.browser"){if(!e.fetchData)return;const o=ue()&&t(e.fetchData.url);if(e.endTimestamp&&o){const p=e.fetchData.__span;if(!p)return;const _=r[p];_&&(za(_,e),delete r[p]);return}const{method:a,url:i}=e.fetchData,c=Ya(i),u=c?ce(c).host:void 0,l=!!P(),d=o&&l?Be({name:`${a} ${i}`,attributes:{url:i,type:"fetch","http.method":a,"http.url":c,"server.address":u,[C]:s,[Se]:"http.client"}}):new ve;if(e.fetchData.__span=d.spanContext().spanId,r[d.spanContext().spanId]=d,n(e.fetchData.url)){const p=e.args[0],_=e.args[1]||{},g=Ga(p,_,ue()&&l?d:void 0);g&&(e.args[1]=_,_.headers=g)}return d}function Ga(e,t,n){const r=Qr({span:n}),s=r["sentry-trace"],o=r.baggage;if(!s)return;const a=t.headers||(Xa(e)?e.headers:void 0);if(a)if(Va(a)){const i=new Headers(a);if(i.set("sentry-trace",s),o){const c=i.get("baggage");if(c){const u=Ke(c);i.set("baggage",u?`${u},${o}`:o)}else i.set("baggage",o)}return i}else if(Array.isArray(a)){const i=[...a.filter(c=>!(Array.isArray(c)&&c[0]==="sentry-trace")).map(c=>{if(Array.isArray(c)&&c[0]==="baggage"&&typeof c[1]=="string"){const[u,l,...d]=c;return[u,Ke(l),...d]}else return c}),["sentry-trace",s]];return o&&i.push(["baggage",o]),i}else{const i="baggage"in a?a.baggage:void 0;let c=[];return Array.isArray(i)?c=i.map(u=>typeof u=="string"?Ke(u):u).filter(u=>u===""):i&&c.push(Ke(i)),o&&c.push(o),{...a,"sentry-trace":s,baggage:c.length>0?c.join(","):void 0}}else return{...r}}function Ya(e){try{return new URL(e).href}catch{return}}function za(e,t){if(t.response){Pr(e,t.response.status);const n=t.response&&t.response.headers&&t.response.headers.get("content-length");if(n){const r=parseInt(n);r>0&&e.setAttribute("http.response_content_length",r)}}else t.error&&e.setStatus({code:xe,message:"internal_error"});e.end()}function Ke(e){return e.split(",").filter(t=>!t.split("=")[0].startsWith(Js)).join(",")}function Xa(e){return typeof Request<"u"&&De(e,Request)}function Va(e){return typeof Headers<"u"&&De(e,Headers)}function ts(e){if(e!==void 0)return e>=400&&e<500?"warning":e>=500?"error":void 0}const Xt=w;function ns(){if(!("fetch"in Xt))return!1;try{return new Headers,new Request("http://www.example.com"),new Response,!0}catch{return!1}}function Vt(e){return e&&/^function\s+\w+\(\)\s+\{\s+\[native code\]\s+\}$/.test(e.toString())}function Ka(){if(typeof EdgeRuntime=="string")return!0;if(!ns())return!1;if(Vt(Xt.fetch))return!0;let e=!1;const t=Xt.document;if(t&&typeof t.createElement=="function")try{const n=t.createElement("iframe");
17n.hidden=!0,t.head.appendChild(n),n.contentWindow&&n.contentWindow.fetch&&(e=Vt(n.contentWindow.fetch)),t.head.removeChild(n)}catch(n){ht&&f.warn("Could not create sandbox iframe for pure fetch check, bailing to window.fetch: ",n)}return e}function rs(e,t){const n="fetch";oe(n,e),ae(n,()=>ss(void 0,t))}function Ja(e){const t="fetch-body-resolved";oe(t,e),ae(t,()=>ss(Za))}function ss(e,t=!1){t&&!Ka()||U(w,"fetch",function(n){return function(...r){const s=new Error,{method:o,url:a}=ei(r),i={args:r,fetchData:{method:o,url:a},startTimestamp:W()*1e3,virtualError:s};return e||G("fetch",{...i}),n.apply(w,r).then(async c=>(e?e(c):G("fetch",{...i,endTimestamp:W()*1e3,response:c}),c),c=>{throw G("fetch",{...i,endTimestamp:W()*1e3,error:c}),ln(c)&&c.stack===void 0&&(c.stack=s.stack,ge(c,"framesToPop",1)),c})}})}async function Qa(e,t){if(e&&e.body){const n=e.body,r=n.getReader(),s=setTimeout(()=>{n.cancel().then(null,()=>{})},90*1e3);let o=!0;for(;o;){let a;try{a=setTimeout(()=>{n.cancel().then(null,()=>{})},5e3);const{done:i}=await r.read();clearTimeout(a),i&&(t(),o=!1)}catch{o=!1}finally{clearTimeout(a)}}clearTimeout(s),r.releaseLock(),n.cancel().then(null,()=>{})}}function Za(e){let t;try{t=e.clone()}catch{return}Qa(t,()=>{G("fetch-body-resolved",{endTimestamp:W()*1e3,response:e})})}function Kt(e,t){return!!e&&typeof e=="object"&&!!e[t]}function sr(e){return typeof e=="string"?e:e?Kt(e,"url")?e.url:e.toString?e.toString():"":""}function ei(e){if(e.length===0)return{method:"GET",url:""};if(e.length===2){const[n,r]=e;return{url:sr(n),method:Kt(r,"method")?String(r.method).toUpperCase():"GET"}}const t=e[0];return{url:sr(t),method:Kt(t,"method")?String(t.method).toUpperCase():"GET"}}const Je=w;function ti(){const e=Je.chrome,t=e&&e.app&&e.app.runtime,n="history"in Je&&!!Je.history.pushState&&!!Je.history.replaceState;return!t&&n}function os(e){let t,n=e[0],r=1;for(;r<e.length;){const s=e[r],o=e[r+1];if(r+=2,(s==="optionalAccess"||s==="optionalCall")&&n==null)return;s==="access"||s==="optionalAccess"?(t=n,n=o(n)):(s==="call"||s==="optionalCall")&&(n=o((...a)=>n.call(t,...a)),t=void 0)}return n}const m=w;let Jt=0;function as(){return Jt>0}function ni(){Jt++,setTimeout(()=>{Jt--})}function Te(e,t={}){function n(s){return typeof s=="function"}if(!n(e))return e;try{const s=e.__sentry_wrapped__;if(s)return typeof s=="function"?s:e;if(dn(e))return e}catch{return e}const r=function(...s){try{const o=s.map(a=>Te(a,t));return e.apply(this,o)}catch(o){throw ni(),yt(a=>{a.addEventProcessor(i=>(t.mechanism&&(Wt(i,void 0),Fe(i,t.mechanism)),i.extra={...i.extra,arguments:s},i)),Or(o)}),o}};try{for(const s in e)Object.prototype.hasOwnProperty.call(e,s)&&(r[s]=e[s])}catch{}Qs(r,e),ge(e,"__sentry_wrapped__",r);try{Object.getOwnPropertyDescriptor(r,"name").configurable&&Object.defineProperty(r,"name",{get(){return e.name}})}catch{}return r}const B=typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__;function mn(e,t){const n=hn(e,t),r={type:ii(t),value:ci(t)};return n.length&&(r.stacktrace={frames:n}),r.type===void 0&&r.value===""&&(r.value="Unrecoverable error caught"),r}function ri(e,t,n,r){const s=b(),o=s&&s.getOptions().normalizeDepth,a=pi(t),i={__serialized__:eo(t,o)};if(a)return{exception:{values:[mn(e,a)]},extra:i};const c={exception:{values:[{type:fn(t)?t.constructor.name:r?"UnhandledRejection":"Error",value:li(t,{isUnhandledRejection:r})}]},extra:i};if(n){const u=hn(e,n);u.length&&(c.exception.values[0].stacktrace={frames:u})}return c}function xt(e,t){return{exception:{values:[mn(e,t)]}}}function hn(e,t){const n=t.stacktrace||t.stack||"",r=oi(t),s=ai(t);try{return e(n,r,s)}catch{}return[]}const si=/Minified React error #\d+;/i;function oi(e){return e&&si.test(e.message)?1:0}function ai(e){return typeof e.framesToPop=="number"?e.framesToPop:0}function is(e){return typeof WebAssembly<"u"&&typeof WebAssembly.Exception<"u"?e instanceof WebAssembly.Exception:!1}function ii(e){const t=e&&e.name;return!t&&is(e)?e.message&&Array.isArray(e.message)&&e.message.length==2?e.message[0]:"WebAssembly.Exception":t}function ci(e){const t=e&&e.message;return t?t.error&&typeof t.error.message=="string"?t.error.message:is(e)&&Array.isArray(e.message)&&e.message.length==2?e.message[1]:t:"No error message"}function ui(e,t,n,r){const s=n&&n.syntheticException||void 0,o=gn(e,t,s,r);return Fe(o),o.level="error",n&&n.event_id&&(o.event_id=n.event_id),de(o)}function di(e,t,n="info",r,s){const o=r&&r.syntheticException||void 0,a=Qt(e,t,o,s);return a.level=n,r&&r.event_id&&(a.event_id=r.event_id),de(a)}
17function gn(e,t,n,r,s){let o;if($r(t)&&t.error)return xt(e,t.error);if(Dn(t)||Zs(t)){const a=t;if("stack"in t)o=xt(e,t);else{const i=a.name||(Dn(a)?"DOMError":"DOMException"),c=a.message?`${i}: ${a.message}`:i;o=Qt(e,c,n,r),Wt(o,c)}return"code"in a&&(o.tags={...o.tags,"DOMException.code":`${a.code}`}),o}return ln(t)?xt(e,t):qt(t)||fn(t)?(o=ri(e,t,n,s),Fe(o,{synthetic:!0}),o):(o=Qt(e,t,n,r),Wt(o,`${t}`),Fe(o,{synthetic:!0}),o)}function Qt(e,t,n,r){const s={};if(r&&n){const o=hn(e,n);o.length&&(s.exception={values:[{value:t,stacktrace:{frames:o}}]}),Fe(s,{synthetic:!0})}if(Ar(t)){const{__sentry_template_string__:o,__sentry_template_values__:a}=t;return s.logentry={message:o,params:a},s}return s.message=t,s}function li(e,{isUnhandledRejection:t}){const n=to(e),r=t?"promise rejection":"exception";return $r(e)?`Event \`ErrorEvent\` captured as ${r} with message \`${e.message}\``:fn(e)?`Event \`${fi(e)}\` (type=${e.type}) captured as ${r}`:`Object captured as ${r} with keys: ${n}`}function fi(e){try{const t=Object.getPrototypeOf(e);return t?t.constructor.name:void 0}catch{}}function pi(e){for(const t in e)if(Object.prototype.hasOwnProperty.call(e,t)){const n=e[t];if(n instanceof Error)return n}}function mi(e,{metadata:t,tunnel:n,dsn:r}){const s={event_id:e.event_id,sent_at:new Date().toISOString(),...t&&t.sdk&&{sdk:{name:t.sdk.name,version:t.sdk.version}},...!!n&&!!r&&{dsn:be(r)}},o=hi(e);return Ie(s,[o])}function hi(e){return[{type:"user_report"},e]}class gi extends ea{constructor(t){const n={parentSpanIsAlwaysRootSpan:!0,...t},r=m.SENTRY_SDK_SOURCE||no();pa(n,"browser",["browser"],r),super(n),n.sendClientReports&&m.document&&m.document.addEventListener("visibilitychange",()=>{m.document.visibilityState==="hidden"&&this._flushOutcomes()})}eventFromException(t,n){return ui(this._options.stackParser,t,n,this._options.attachStacktrace)}eventFromMessage(t,n="info",r){return di(this._options.stackParser,t,n,r,this._options.attachStacktrace)}captureUserFeedback(t){if(!this._isEnabled()){B&&f.warn("SDK not enabled, will not capture user feedback.");return}const n=mi(t,{metadata:this.getSdkMetadata(),dsn:this.getDsn(),tunnel:this.getOptions().tunnel});this.sendEnvelope(n)}_prepareEvent(t,n,r){return t.platform=t.platform||"javascript",super._prepareEvent(t,n,r)}}const _n=typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__,_i=(e,t)=>e>t[1]?"poor":e>t[0]?"needs-improvement":"good",we=(e,t,n,r)=>{let s,o;return a=>{t.value>=0&&(a||r)&&(o=t.value-(s||0),(o||s===void 0)&&(s=t.value,t.delta=o,t.rating=_i(t.value,n),e(t)))}},h=w,Si=()=>`v4-${Date.now()}-${Math.floor(Math.random()*(9e12-1))+1e12}`,je=(e=!0)=>{const t=h.performance&&h.performance.getEntriesByType&&h.performance.getEntriesByType("navigation")[0];if(!e||t&&t.responseStart>0&&t.responseStart<performance.now())return t},qe=()=>{const e=je();return e&&e.activationStart||0},Re=(e,t)=>{const n=je();let r="navigate";return n&&(h.document&&h.document.prerendering||qe()>0?r="prerender":h.document&&h.document.wasDiscarded?r="restore":n.type&&(r=n.type.replace(/_/g,"-"))),{name:e,value:typeof t>"u"?-1:t,rating:"good",delta:0,entries:[],id:Si(),navigationType:r}},fe=(e,t,n)=>{try{if(PerformanceObserver.supportedEntryTypes.includes(e)){const r=new PerformanceObserver(s=>{Promise.resolve().then(()=>{t(s.getEntries())})});return r.observe(Object.assign({type:e,buffered:!0},n||{})),r}}catch{}},ke=e=>{const t=n=>{(n.type==="pagehide"||h.document&&h.document.visibilityState==="hidden")&&e(n)};h.document&&(addEventListener("visibilitychange",t,!0),addEventListener("pagehide",t,!0))},Et=e=>{let t=!1;return()=>{t||(e(),t=!0)}};let Pe=-1;const yi=()=>h.document.visibilityState==="hidden"&&!h.document.prerendering?0:1/0,pt=e=>{h.document.visibilityState==="hidden"&&Pe>-1&&(Pe=e.type==="visibilitychange"?e.timeStamp:0,Ti())},Ei=()=>{addEventListener("visibilitychange",pt,!0),addEventListener("prerenderingchange",pt,!0)},Ti=()=>{removeEventListener("visibilitychange",pt,!0),removeEventListener("prerenderingchange",pt,!0)},Tt=()=>(h.document&&Pe<0&&(Pe=yi(),Ei()),{get firstHiddenTime(){return Pe}}),We=e=>{h.document&&h.document.prerendering?addEventListener("prerenderingchange",()=>e(),!0):e()},vi=[1800,3e3],bi=(e,t={})=>{We(()=>{const n=Tt(),r=Re("FCP");let s;const a=fe("paint",i=>
17{i.forEach(c=>{c.name==="first-contentful-paint"&&(a.disconnect(),c.startTime<n.firstHiddenTime&&(r.value=Math.max(c.startTime-qe(),0),r.entries.push(c),s(!0)))})});a&&(s=we(e,r,vi,t.reportAllChanges))})},Ii=[.1,.25],wi=(e,t={})=>{bi(Et(()=>{const n=Re("CLS",0);let r,s=0,o=[];const a=c=>{c.forEach(u=>{if(!u.hadRecentInput){const l=o[0],d=o[o.length-1];s&&l&&d&&u.startTime-d.startTime<1e3&&u.startTime-l.startTime<5e3?(s+=u.value,o.push(u)):(s=u.value,o=[u])}}),s>n.value&&(n.value=s,n.entries=o,r())},i=fe("layout-shift",a);i&&(r=we(e,n,Ii,t.reportAllChanges),ke(()=>{a(i.takeRecords()),r(!0)}),setTimeout(r,0))}))},Ri=[100,300],ki=(e,t={})=>{We(()=>{const n=Tt(),r=Re("FID");let s;const o=c=>{c.startTime<n.firstHiddenTime&&(r.value=c.processingStart-c.startTime,r.entries.push(c),s(!0))},a=c=>{c.forEach(o)},i=fe("first-input",a);s=we(e,r,Ri,t.reportAllChanges),i&&ke(Et(()=>{a(i.takeRecords()),i.disconnect()}))})};let cs=0,Dt=1/0,Qe=0;const Ni=e=>{e.forEach(t=>{t.interactionId&&(Dt=Math.min(Dt,t.interactionId),Qe=Math.max(Qe,t.interactionId),cs=Qe?(Qe-Dt)/7+1:0)})};let Zt;const Ci=()=>Zt?cs:performance.interactionCount||0,Ai=()=>{"interactionCount"in performance||Zt||(Zt=fe("event",Ni,{type:"event",buffered:!0,durationThreshold:0}))},J=[],Ft=new Map,Pi=40;let Oi=0;const $i=()=>Ci()-Oi,xi=()=>{const e=Math.min(J.length-1,Math.floor($i()/50));return J[e]},Lt=10,Di=[],Fi=e=>{if(Di.forEach(r=>r(e)),!(e.interactionId||e.entryType==="first-input"))return;const t=J[J.length-1],n=Ft.get(e.interactionId);if(n||J.length<Lt||t&&e.duration>t.latency){if(n)e.duration>n.latency?(n.entries=[e],n.latency=e.duration):e.duration===n.latency&&e.startTime===(n.entries[0]&&n.entries[0].startTime)&&n.entries.push(e);else{const r={id:e.interactionId,latency:e.duration,entries:[e]};Ft.set(r.id,r),J.push(r)}J.sort((r,s)=>s.latency-r.latency),J.length>Lt&&J.splice(Lt).forEach(r=>Ft.delete(r.id))}},us=e=>{const t=h.requestIdleCallback||h.setTimeout;let n=-1;return e=Et(e),h.document&&h.document.visibilityState==="hidden"?e():(n=t(e),ke(e)),n},Li=[200,500],Mi=(e,t={})=>{"PerformanceEventTiming"in h&&"interactionId"in PerformanceEventTiming.prototype&&We(()=>{Ai();const n=Re("INP");let r;const s=a=>{us(()=>{a.forEach(Fi);const i=xi();i&&i.latency!==n.value&&(n.value=i.latency,n.entries=i.entries,r())})},o=fe("event",s,{durationThreshold:t.durationThreshold!=null?t.durationThreshold:Pi});r=we(e,n,Li,t.reportAllChanges),o&&(o.observe({type:"first-input",buffered:!0}),ke(()=>{s(o.takeRecords()),r(!0)}))})},Hi=[2500,4e3],or={},Ui=(e,t={})=>{We(()=>{const n=Tt(),r=Re("LCP");let s;const o=i=>
17{t.reportAllChanges||(i=i.slice(-1)),i.forEach(c=>{c.startTime<n.firstHiddenTime&&(r.value=Math.max(c.startTime-qe(),0),r.entries=[c],s())})},a=fe("largest-contentful-paint",o);if(a){s=we(e,r,Hi,t.reportAllChanges);const i=Et(()=>{or[r.id]||(o(a.takeRecords()),a.disconnect(),or[r.id]=!0,s(!0))});["keydown","click"].forEach(c=>{h.document&&addEventListener(c,()=>us(i),{once:!0,capture:!0})}),ke(i)}})},Bi=[800,1800],en=e=>{h.document&&h.document.prerendering?We(()=>en(e)):h.document&&h.document.readyState!=="complete"?addEventListener("load",()=>en(e),!0):setTimeout(e,0)},ji=(e,t={})=>{const n=Re("TTFB"),r=we(e,n,Bi,t.reportAllChanges);en(()=>{const s=je();s&&(n.value=Math.max(s.responseStart-qe(),0),n.entries=[s],r(!0))})},Oe={},mt={};let ds,ls,fs,ps,ms;function hs(e,t=!1){return Ge("cls",e,zi,ds,t)}function qi(e,t=!1){return Ge("lcp",e,Vi,fs,t)}function Wi(e){return Ge("fid",e,Xi,ls)}function Gi(e){return Ge("ttfb",e,Ki,ps)}function Yi(e){return Ge("inp",e,Ji,ms)}function Le(e,t){return gs(e,t),mt[e]||(Qi(e),mt[e]=!0),_s(e,t)}function Ne(e,t){const n=Oe[e];if(!(!n||!n.length))for(const r of n)try{r(t)}catch(s){_n&&f.error(`Error while triggering instrumentation handler.
18Type: ${e}
19Name: ${se(r)}
20Error:`,s)}}function zi(){return wi(e=>{Ne("cls",{metric:e}),ds=e},{reportAllChanges:!0})}function Xi(){return ki(e=>{Ne("fid",{metric:e}),ls=e})}function Vi(){return Ui(e=>{Ne("lcp",{metric:e}),fs=e},{reportAllChanges:!0})}function Ki(){return ji(e=>{Ne("ttfb",{metric:e}),ps=e})}function Ji(){return Mi(e=>{Ne("inp",{metric:e}),ms=e})}function Ge(e,t,n,r,s=!1){gs(e,t);let o;return mt[e]||(o=n(),mt[e]=!0),r&&t({metric:r}),_s(e,t,s?o:void 0)}function Qi(e){const t={};e==="event"&&(t.durationThreshold=0),fe(e,n=>{Ne(e,{entries:n})},t)}function gs(e,t){Oe[e]=Oe[e]||[],Oe[e].push(t)}
20function _s(e,t,n){return()=>{n&&n();const r=Oe[e];if(!r)return;const s=r.indexOf(t);s!==-1&&r.splice(s,1)}}function Zi(e){return"duration"in e}function Mt(e){return typeof e=="number"&&isFinite(e)}function Q(e,t,n,{...r}){const s=v(e).start_timestamp;return s&&s>t&&typeof e.updateStartTime=="function"&&e.updateStartTime(t),Gr(e,()=>{const o=Be({startTime:t,...r});return o&&o.end(n),o})}function Ss(e){const t=b();if(!t)return;const{name:n,transaction:r,attributes:s,startTime:o}=e,{release:a,environment:i}=t.getOptions(),c=t.getIntegrationByName("Replay"),u=c&&c.getReplayId(),l=A(),d=l.getUser(),p=d!==void 0?d.email||d.id||d.ip_address:void 0;let _;try{_=l.getScopeData().contexts.profile.profile_id}catch{}const g={release:a,environment:i,user:p||void 0,profile_id:_||void 0,replay_id:u||void 0,transaction:r,"user_agent.original":h.navigator&&h.navigator.userAgent,...s};return Be({name:n,attributes:g,startTime:o,experimental:{standalone:!0}})}function Sn(){return h&&h.addEventListener&&h.performance}function R(e){return e/1e3}function ys(e){let t="unknown",n="unknown",r="";for(const s of e){if(s==="/"){[t,n]=e.split("/");break}if(!isNaN(Number(s))){t=r==="h"?"http":r,n=e.split(r)[1];break}r+=s}return r===e&&(t=r),{name:t,version:n}}function ec(){let e=0,t,n;if(!nc())return;let r=!1;function s(){r||(r=!0,n&&tc(e,t,n),o())}const o=hs(({metric:a})=>{const i=a.entries[a.entries.length-1];i&&(e=a.value,t=i)},!0);ke(()=>{s()}),setTimeout(()=>{const a=b();if(!a)return;const i=a.on("startNavigationSpan",()=>{s(),i&&i()}),c=P(),u=c&&F(c),l=u&&v(u);l&&l.op==="pageload"&&(n=u.spanContext().spanId)},0)}function tc(e,t,n){_n&&f.log(`Sending CLS span (${e})`);const r=R((M||0)+(t&&t.startTime||0)),s=A().getScopeData().transactionName,o=t?ye(t.sources[0]&&t.sources[0].node):"Layout shift",a=_e({[C]:"auto.http.browser.cls",[Se]:"ui.webvital.cls",[an]:t&&t.duration||0,"sentry.pageload.span_id":n}),i=Ss({name:o,transaction:s,attributes:a,startTime:r});i&&(i.addEvent("cls",{[_t]:"",[St]:e}),i.end(r))}function nc(){try{return PerformanceObserver.supportedEntryTypes.includes("layout-shift")}catch{return!1}}const rc=2147483647;let ar=0,$={},L,$e;function sc({recordClsStandaloneSpans:e}){const t=Sn();if(t&&M){t.mark&&h.performance.mark("sentry-tracing-init");const n=dc(),r=uc(),s=lc(),o=e?ec():cc();return()=>{n(),r(),s(),o&&o()}}return()=>{}}function oc(){Le("longtask",({entries:e})=>{const t=P();if(!t)return;const{op:n,start_timestamp:r}=v(t);for(const s of e){const o=R(M+s.startTime),a=R(s.duration);n==="navigation"&&r&&o<r||Q(t,o,o+a,{name:"Main UI thread blocked",op:"ui.long-task",attributes:{[C]:"auto.ui.browser.metrics"}})}})}function ac(){new PerformanceObserver(t=>{const n=P();if(n)for(const r of t.getEntries()){if(!r.scripts[0])continue;const s=R(M+r.startTime),{start_timestamp:o,op:a}=v(n);if(a==="navigation"&&o&&s<o)continue;const i=R(r.duration),c={[C]:"auto.ui.browser.metrics"},u=r.scripts[0],{invoker:l,invokerType:d,sourceURL:p,sourceFunctionName:_,sourceCharPosition:g}=u;c["browser.script.invoker"]=l,c["browser.script.invoker_type"]=d,p&&(c["code.filepath"]=p),_&&(c["code.function"]=_),g!==-1&&(c["browser.script.source_char_position"]=g),Q(n,s,s+i,{name:"Main UI thread blocked",op:"ui.long-animation-frame",attributes:c})}}).observe({type:"long-animation-frame",buffered:!0})}function ic(){Le("event",({entries:e})=>{const t=P();if(t){for(const n of e)if(n.name==="click"){const r=R(M+n.startTime),s=R(n.duration),o={name:ye(n.target),op:`ui.interaction.${n.name}`,startTime:r,attributes:{[C]:"auto.ui.browser.metrics"}},a=xr(n.target);a&&(o.attributes["ui.component_name"]=a),Q(t,r,r+s,o)}}})}function cc(){return hs(({metric:e})=>{const t=e.entries[e.entries.length-1];t&&($.cls={value:e.value,unit:""},$e=t)},!0)}function uc(){return qi(({metric:e})=>{const t=e.entries[e.entries.length-1];t&&($.lcp={value:e.value,unit:"millisecond"},L=t)},!0)}function dc(){return Wi(({metric:e})=>{const t=e.entries[e.entries.length-1];if(!t)return;const n=R(M),r=R(t.startTime);$.fid={value:e.value,unit:"millisecond"},$["mark.fid"]={value:n+r,unit:"second"}})}function lc(){return Gi(({metric:e})=>{e.entries[e.entries.length-1]&&($.ttfb={value:e.value,unit:"millisecond"})})}function fc(e,t){const n=Sn();if(!n||!n.getEntries||!M)return;const r=R(M),s=n.getEntries(),{op:o,start_timestamp:a}=v(e);if(s.slice(ar).forEach(i=>
20{const c=R(i.startTime),u=R(Math.max(0,i.duration));if(!(o==="navigation"&&a&&r+c<a))switch(i.entryType){case"navigation":{mc(e,i,r);break}case"mark":case"paint":case"measure":{pc(e,i,c,u,r);const l=Tt(),d=i.startTime<l.firstHiddenTime;i.name==="first-paint"&&d&&($.fp={value:i.startTime,unit:"millisecond"}),i.name==="first-contentful-paint"&&d&&($.fcp={value:i.startTime,unit:"millisecond"});break}case"resource":{_c(e,i,i.name,c,u,r);break}}}),ar=Math.max(s.length-1,0),Sc(e),o==="pageload"){Ec($);const i=$["mark.fid"];i&&$.fid&&(Q(e,i.value,i.value+R($.fid.value),{name:"first input delay",op:"ui.action",attributes:{[C]:"auto.ui.browser.metrics"}}),delete $["mark.fid"]),(!("fcp"in $)||!t.recordClsOnPageloadSpan)&&delete $.cls,Object.entries($).forEach(([c,u])=>{$o(c,u.value,u.unit)}),e.setAttribute("performance.timeOrigin",r),e.setAttribute("performance.activationStart",qe()),yc(e)}L=void 0,$e=void 0,$={}}function pc(e,t,n,r,s){const o=je(!1),a=R(o?o.requestStart:0),i=s+Math.max(n,a),c=s+n,u=c+r,l={[C]:"auto.resource.browser.metrics"};return i!==c&&(l["sentry.browser.measure_happened_before_request"]=!0,l["sentry.browser.measure_start_time"]=i),Q(e,i,u,{name:t.name,op:t.entryType,attributes:l}),i}function mc(e,t,n){["unloadEvent","redirect","domContentLoadedEvent","loadEvent","connect"].forEach(r=>{Ze(e,t,r,n)}),Ze(e,t,"secureConnection",n,"TLS/SSL"),Ze(e,t,"fetch",n,"cache"),Ze(e,t,"domainLookup",n,"DNS"),gc(e,t,n)}function Ze(e,t,n,r,s=n){const o=hc(n),a=t[o],i=t[`${n}Start`];!i||!a||Q(e,r+R(i),r+R(a),{op:`browser.${s}`,name:t.name,attributes:{[C]:"auto.ui.browser.metrics"}})}function hc(e){return e==="secureConnection"?"connectEnd":e==="fetch"?"domainLookupStart":`${e}End`}function gc(e,t,n){const r=n+R(t.requestStart),s=n+R(t.responseEnd),o=n+R(t.responseStart);t.responseEnd&&(Q(e,r,s,{op:"browser.request",name:t.name,attributes:{[C]:"auto.ui.browser.metrics"}}),Q(e,o,s,{op:"browser.response",name:t.name,attributes:{[C]:"auto.ui.browser.metrics"}}))}function _c(e,t,n,r,s,o){if(t.initiatorType==="xmlhttprequest"||t.initiatorType==="fetch")return;const a=ce(n),i={[C]:"auto.resource.browser.metrics"};Ht(i,t,"transferSize","http.response_transfer_size"),Ht(i,t,"encodedBodySize","http.response_content_length"),Ht(i,t,"decodedBodySize","http.decoded_response_content_length");const c=t.deliveryType;c!=null&&(i["http.response_delivery_type"]=c);const u=t.renderBlockingStatus;u&&(i["resource.render_blocking_status"]=u),a.protocol&&(i["url.scheme"]=a.protocol.split(":").pop()),a.host&&(i["server.address"]=a.host),i["url.same_origin"]=n.includes(h.location.origin);const{name:l,version:d}=ys(t.nextHopProtocol);i["network.protocol.name"]=l,i["network.protocol.version"]=d;const p=o+r,_=p+s;Q(e,p,_,{name:n.replace(h.location.origin,""),op:t.initiatorType?`resource.${t.initiatorType}`:"resource.other",attributes:i})}function Sc(e){const t=h.navigator;if(!t)return;const n=t.connection;n&&(n.effectiveType&&e.setAttribute("effectiveConnectionType",n.effectiveType),n.type&&e.setAttribute("connectionType",n.type),Mt(n.rtt)&&($["connection.rtt"]={value:n.rtt,unit:"millisecond"})),Mt(t.deviceMemory)&&e.setAttribute("deviceMemory",`${t.deviceMemory} GB`),Mt(t.hardwareConcurrency)&&e.setAttribute("hardwareConcurrency",String(t.hardwareConcurrency))}function yc(e){L&&(L.element&&e.setAttribute("lcp.element",ye(L.element)),L.id&&e.setAttribute("lcp.id",L.id),L.url&&e.setAttribute("lcp.url",L.url.trim().slice(0,200)),L.loadTime!=null&&e.setAttribute("lcp.loadTime",L.loadTime),L.renderTime!=null&&e.setAttribute("lcp.renderTime",L.renderTime),e.setAttribute("lcp.size",L.size)),$e&&$e.sources&&$e.sources.forEach((t,n)=>e.setAttribute(`cls.source.${n+1}`,ye(t.node)))}function Ht(e,t,n,r){const s=t[n];s!=null&&s<rc&&(e[r]=s)}function Ec(e){const t=je(!1);if(!t)return;const{responseStart:n,requestStart:r}=t;r<=n&&(e["ttfb.requestTime"]={value:n-r,unit:"millisecond"})}const Tc=1e3;let ir,tn,nn;function vc(e){const t="dom";oe(t,e),ae(t,bc)}function bc(){if(!h.document)return;const e=G.bind(null,"dom"),t=cr(e,!0);h.document.addEventListener("click",t,!1),h.document.addEventListener("keypress",t,!1),["EventTarget","Node"].forEach(n=>{const s=h[n],o=s&&s.prototype;!o||!o.hasOwnProperty||!o.hasOwnProperty("addEventListener")||(U(o,"addEventListener",function(a){return function(i,c,u){if(i==="click"||i=="keypress")try{const l=this.__sentry_instrumentation_handlers__=this.__sentry_instrumentation_handlers__||{},d=l[i]=l[i]||{refCount:0};if(!d.handler){const p=cr(e);d.handler=p,a.call(this,i,p,u)}d.refCount++}catch{}return a.call(this,i,c,u)}}),U(o,"removeEventListener",function(a){return function(i,c,u){if(i==="click"||i=="keypress")try{const l=this.__sentry_instrumentation_handlers__||{},d=l[i];d&&(d.refCount--,d.refCount<=0&&(a.call(this,i,d.handler,u),d.handler=void 0,delete l[i]),Object.keys(l).length===0&&delete this.__sentry_instrumentation_handlers__)}catch{}return a.call(this,i,c,u)}}))})}function Ic(e){if(e.type!==tn)return!1;try{if(!e.target||e.target._sentryId!==nn)return!1}catch{}return!0}function wc(e,t){return e!=="keypress"?!1:!t||!t.tagName?!0:!(t.tagName==="INPUT"||t.tagName==="TEXTAREA"||t.isContentEditable)}function cr(e,t=!1){return n=>{if(!n||n._sentryCaptured)return;const r=Rc(n);if(wc(n.type,r))return;ge(n,"_sentryCaptured",!0),r&&!r._sentryId&&ge(r,"_sentryId",rt());
20const s=n.type==="keypress"?"input":n.type;Ic(n)||(e({event:n,name:s,global:t}),tn=n.type,nn=r?r._sentryId:void 0),clearTimeout(ir),ir=h.setTimeout(()=>{nn=void 0,tn=void 0},Tc)}}function Rc(e){try{return e.target}catch{return null}}let et;function yn(e){const t="history";oe(t,e),ae(t,kc)}function kc(){if(!ti())return;const e=h.onpopstate;h.onpopstate=function(...n){const r=h.location.href,s=et;if(et=r,G("history",{from:s,to:r}),e)try{return e.apply(this,n)}catch{}};function t(n){return function(...r){const s=r.length>2?r[2]:void 0;if(s){const o=et,a=String(s);et=a,G("history",{from:o,to:a})}return n.apply(this,r)}}U(h.history,"pushState",t),U(h.history,"replaceState",t)}const at={};function Es(e){const t=at[e];if(t)return t;let n=h[e];if(Vt(n))return at[e]=n.bind(h);const r=h.document;if(r&&typeof r.createElement=="function")try{const s=r.createElement("iframe");s.hidden=!0,r.head.appendChild(s);const o=s.contentWindow;o&&o[e]&&(n=o[e]),r.head.removeChild(s)}catch(s){_n&&f.warn(`Could not create sandbox iframe for ${e} check, bailing to window.${e}: `,s)}return n&&(at[e]=n.bind(h))}function ur(e){at[e]=void 0}function gd(...e){return Es("setTimeout")(...e)}const he="__sentry_xhr_v3__";function Ts(e){const t="xhr";oe(t,e),ae(t,Nc)}function Nc(){if(!h.XMLHttpRequest)return;const e=XMLHttpRequest.prototype;e.open=new Proxy(e.open,{apply(t,n,r){const s=new Error,o=W()*1e3,a=Ae(r[0])?r[0].toUpperCase():void 0,i=Cc(r[1]);if(!a||!i)return t.apply(n,r);n[he]={method:a,url:i,request_headers:{}},a==="POST"&&i.match(/sentry_key/)&&(n.__sentry_own_request__=!0);const c=()=>{const u=n[he];if(u&&n.readyState===4){try{u.status_code=n.status}catch{}const l={endTimestamp:W()*1e3,startTimestamp:o,xhr:n,virtualError:s};G("xhr",l)}};return"onreadystatechange"in n&&typeof n.onreadystatechange=="function"?n.onreadystatechange=new Proxy(n.onreadystatechange,{apply(u,l,d){return c(),u.apply(l,d)}}):n.addEventListener("readystatechange",c),n.setRequestHeader=new Proxy(n.setRequestHeader,{apply(u,l,d){const[p,_]=d,g=l[he];return g&&Ae(p)&&Ae(_)&&(g.request_headers[p.toLowerCase()]=_),u.apply(l,d)}}),t.apply(n,r)}}),e.send=new Proxy(e.send,{apply(t,n,r){const s=n[he];if(!s)return t.apply(n,r);r[0]!==void 0&&(s.body=r[0]);const o={startTimestamp:W()*1e3,xhr:n};return G("xhr",o),t.apply(n,r)}})}function Cc(e){if(Ae(e))return e;try{return e.toString()}catch{}}const Ut=[],it=new Map;function Ac(){if(Sn()&&M){const t=Pc();return()=>{t()}}return()=>{}}const dr={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 Pc(){return Yi(({metric:e})=>{if(e.value==null)return;const t=e.entries.find(g=>g.duration===e.value&&dr[g.name]);if(!t)return;const{interactionId:n}=t,r=dr[t.name],s=R(M+t.startTime),o=R(e.value),a=P(),i=a?F(a):void 0,u=(n!=null?it.get(n):void 0)||i,l=u?v(u).description:A().getScopeData().transactionName,d=ye(t.target),p=_e({[C]:"auto.http.browser.inp",[Se]:`ui.interaction.${r}`,[an]:t.duration}),_=Ss({name:d,transaction:l,attributes:p,startTime:s});_&&(_.addEvent("inp",{[_t]:"millisecond",[St]:e.value}),_.end(s+o))})}function Oc(e){const t=({entries:n})=>{const r=P(),s=r&&F(r);n.forEach(o=>{if(!Zi(o)||!s)return;const a=o.interactionId;if(a!=null&&!it.has(a)){if(Ut.length>10){const i=Ut.shift();it.delete(i)}Ut.push(a),it.set(a,s)}})};Le("event",t),Le("first-input",t)}function $c(e,t=Es("fetch")){let n=0,r=0;function s(o){const a=o.body.length;n+=a,r++;const i={body:o.body,method:"POST",referrerPolicy:"origin",headers:e.headers,keepalive:n<=6e4&&r<15,...e.fetchOptions};if(!t)return ur("fetch"),lt("No fetch implementation available");try{return t(e.url,i).then(c=>(n-=a,r--,{statusCode:c.status,headers:{"x-sentry-rate-limits":c.headers.get("X-Sentry-Rate-Limits"),"retry-after":c.headers.get("Retry-After")}}))}catch(c){return ur("fetch"),n-=a,r--,lt(c)}}return fa(e,s)}const xc=30,Dc=50;function rn(e,t,n,r){const s={filename:e,function:t==="<anonymous>"?Ee:t,in_app:!0};return n!==void 0&&(s.lineno=n),r!==void 0&&(s.colno=r),s}const Fc=/^\s*at (\S+?)(?::(\d+))(?::(\d+))\s*$/i,Lc=/^\s*at (?:(.+?\)(?: \[.+\])?|.*?) ?\((?:address at )?)?(?:async )?((?:<anonymous>|[-a-z]+:|.*bundle|\/)?.*?)(?::(\d+))?(?::(\d+))?\)?\s*$/i,Mc=/\((\S*)(?::(\d+))(?::(\d+))\)/,Hc=e=>{const t=Fc.exec(e);if(t){const[,r,s,o]=t;return rn(r,Ee,+s,+o)}const n=Lc.exec(e);if(n){if(n[2]&&n[2].indexOf("eval")===0){const a=Mc.exec(n[2]);a&&(n[2]=a[1],n[3]=a[2],n[4]=a[3])}const[s,o]=vs(n[1]||Ee,n[2]);return rn(o,s,n[3]?+n[3]:void 0,n[4]?+n[4]:void 0)}},Uc=[xc,Hc],Bc=/^\s*(.*?)(?:\((.*?)\))?(?:^|@)?((?:[-a-z]+)?:\/.*?|\[native code\]|[^@]*(?:bundle|\d+\.js)|\/[\w\-. /=]+)(?::(\d+))?(?::(\d+))?\s*$/i,jc=/(\S+) line (\d+)(?: > eval line \d+)* > eval/i,qc=e=>{const t=Bc.exec(e);if(t){if(t[3]&&t[3].indexOf(" > eval")>-1){const o=jc.exec(t[3]);o&&(t[1]=t[1]||"eval",t[3]=o[1],t[4]=o[2],t[5]="")}let r=t[3],s=t[1]||Ee;return[s,r]=vs(s,r),rn(r,s,t[4]?+t[4]:void 0,t[5]?+t[5]:void 0)}},Wc=[Dc,qc],Gc=[Uc,Wc],Yc=ro(...Gc),vs=(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]:Ee,n?`safari-extension:${t}`:`safari-web-extension:${t}`]:[e,t]},tt=1024,zc="Breadcrumbs",Xc=(e={})=>{const t={console:!0,dom:!0,fetch:!0,history:!0,sentry:!0,xhr:!0,...e};return{name:zc,setup(n){t.console&&Da(Qc(n)),t.dom&&vc(Jc(n,t.dom)),t.xhr&&Ts(Zc(n)),t.fetch&&rs(eu(n)),t.history&&yn(tu(n)),t.sentry&&n.on("beforeSendEvent",Kc(n))}}},Vc=Xc;function Kc(e){return function(n){b()===e&&le({category:`sentry.${n.type==="transaction"?"transaction":"event"}`,event_id:n.event_id,level:n.level,message:ne(n)},{event:n})}}
vendor: 5,912 bytes, line 20
20function Jc(e,t){return function(r){if(b()!==e)return;let s,o,a=typeof t=="object"?t.serializeAttribute:void 0,i=typeof t=="object"&&typeof t.maxStringLength=="number"?t.maxStringLength:void 0;i&&i>tt&&(B&&f.warn(`\`dom.maxStringLength\` cannot exceed ${tt}, but a value of ${i} was configured. Sentry will use ${tt} instead.`),i=tt),typeof a=="string"&&(a=[a]);try{const u=r.event,l=nu(u)?u.target:u;s=ye(l,{keyAttrs:a,maxStringLength:i}),o=xr(l)}catch{s="<unknown>"}if(s.length===0)return;const c={category:`ui.${r.name}`,message:s};o&&(c.data={"ui.component_name":o}),le(c,{event:r.event,name:r.name,global:r.global})}}function Qc(e){return function(n){if(b()!==e)return;const r={category:"console",data:{arguments:n.args,logger:"console"},level:La(n.level),message:Fn(n.args," ")};if(n.level==="assert")if(n.args[0]===!1)r.message=`Assertion failed: ${Fn(n.args.slice(1)," ")||"console.assert"}`,r.data.arguments=n.args.slice(1);else return;le(r,{input:n.args,level:n.level})}}function Zc(e){return function(n){if(b()!==e)return;const{startTimestamp:r,endTimestamp:s}=n,o=n.xhr[he];if(!r||!s||!o)return;const{method:a,url:i,status_code:c,body:u}=o,l={method:a,url:i,status_code:c},d={xhr:n.xhr,input:u,startTimestamp:r,endTimestamp:s},p=ts(c);le({category:"xhr",data:l,type:"http",level:p},d)}}function eu(e){return function(n){if(b()!==e)return;const{startTimestamp:r,endTimestamp:s}=n;if(s&&!(n.fetchData.url.match(/sentry_key/)&&n.fetchData.method==="POST"))if(n.error){const o=n.fetchData,a={data:n.error,input:n.args,startTimestamp:r,endTimestamp:s};le({category:"fetch",data:o,level:"error",type:"http"},a)}else{const o=n.response,a={...n.fetchData,status_code:o&&o.status},i={input:n.args,response:o,startTimestamp:r,endTimestamp:s},c=ts(a.status_code);le({category:"fetch",data:a,type:"http",level:c},i)}}}function tu(e){return function(n){if(b()!==e)return;let r=n.from,s=n.to;const o=ce(m.location.href);let a=r?ce(r):void 0;const i=ce(s);(!a||!a.path)&&(a=o),o.protocol===i.protocol&&o.host===i.host&&(s=i.relative),o.protocol===a.protocol&&o.host===a.host&&(r=a.relative),le({category:"navigation",data:{from:r,to:s}})}}function nu(e){return!!e&&!!e.target}const ru=["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"],su="BrowserApiErrors",ou=(e={})=>{const t={XMLHttpRequest:!0,eventTarget:!0,requestAnimationFrame:!0,setInterval:!0,setTimeout:!0,...e};return{name:su,setupOnce(){t.setTimeout&&U(m,"setTimeout",lr),t.setInterval&&U(m,"setInterval",lr),t.requestAnimationFrame&&U(m,"requestAnimationFrame",iu),t.XMLHttpRequest&&"XMLHttpRequest"in m&&U(XMLHttpRequest.prototype,"send",cu);const n=t.eventTarget;n&&(Array.isArray(n)?n:ru).forEach(uu)}}},au=ou;function lr(e){return function(...t){const n=t[0];return t[0]=Te(n,{mechanism:{data:{function:se(e)},handled:!1,type:"instrument"}}),e.apply(this,t)}}function iu(e){return function(t){return e.apply(this,[Te(t,{mechanism:{data:{function:"requestAnimationFrame",handler:se(e)},handled:!1,type:"instrument"}})])}}function cu(e){return function(...t){const n=this;return["onload","onerror","onprogress","onreadystatechange"].forEach(s=>{s in n&&typeof n[s]=="function"&&U(n,s,function(o){const a={mechanism:{data:{function:s,handler:se(o)},handled:!1,type:"instrument"}},i=dn(o);return i&&(a.mechanism.data.handler=se(i)),Te(o,a)})}),e.apply(this,t)}}function uu(e){const n=m[e],r=n&&n.prototype;!r||!r.hasOwnProperty||!r.hasOwnProperty("addEventListener")||(U(r,"addEventListener",function(s){return function(o,a,i){try{du(a)&&(a.handleEvent=Te(a.handleEvent,{mechanism:{data:{function:"handleEvent",handler:se(a),target:e},handled:!1,type:"instrument"}}))}catch{}return s.apply(this,[o,Te(a,{mechanism:{data:{function:"addEventListener",handler:se(a),target:e},handled:!1,type:"instrument"}}),i])}}),U(r,"removeEventListener",function(s){return function(o,a,i){try{const c=a.__sentry_wrapped__;c&&s.call(this,o,c,i)}catch{}return s.call(this,o,a,i)}}))}function du(e){return typeof e.handleEvent=="function"}const lu=()=>({name:"BrowserSession",setupOnce(){if(typeof m.document>"u"){B&&f.warn("Using the `browserSessionIntegration` in non-browser environments is not supported.");return}Ln({ignoreDuration:!0}),Mn(),yn(({from:e,to:t})=>{e!==void 0&&e!==t&&(Ln({ignoreDuration:!0}),Mn())})}}),fu="GlobalHandlers",pu=(e={})=>{const t={onerror:!0,onunhandledrejection:!0,...e};return{name:fu,setupOnce(){Error.stackTraceLimit=50},setup(n){t.onerror&&(hu(n),fr("onerror")),t.onunhandledrejection&&(gu(n),fr("onunhandledrejection"))}}},mu=pu;function hu(e){Fr(t=>{const{stackParser:n,attachStacktrace:r}=bs();if(b()!==e||as())return;const{msg:s,url:o,line:a,column:i,error:c}=t,u=yu(gn(n,c||s,void 0,r,!1),o,a,i);u.level="error",Dr(u,{originalException:c,mechanism:{handled:!1,type:"onerror"}})})}function gu(e){Lr(t=>{const{stackParser:n,attachStacktrace:r}=bs();if(b()!==e||as())return;const s=_u(t),o=un(s)?Su(s):gn(n,s,void 0,r,!0);o.level="error",Dr(o,{originalException:s,mechanism:{handled:!1,type:"onunhandledrejection"}})})}function _u(e){if(un(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 Su(e){return{exception:{values:[{type:"UnhandledRejection",value:`Non-Error promise rejection captured with value: ${String(e)}`}]}}}function yu(e,t,n,r){const s=e.exception=e.exception||{},o=s.values=s.values||[],a=o[0]=o[0]||{},i=a.stacktrace=a.stacktrace||{},c=i.frames=i.frames||[],u=r,l=n,d=Ae(t)&&t.length>0?t:so();
20return c.length===0&&c.push({colno:u,filename:d,function:Ee,in_app:!0,lineno:l}),e}function fr(e){B&&f.log(`Global Handler attached: ${e}`)}function bs(){const e=b();return e&&e.getOptions()||{stackParser:()=>[],attachStacktrace:!1}}const Eu=()=>({name:"HttpContext",preprocessEvent(e){if(!m.navigator&&!m.location&&!m.document)return;const t=e.request&&e.request.url||m.location&&m.location.href,{referrer:n}=m.document||{},{userAgent:r}=m.navigator||{},s={...e.request&&e.request.headers,...n&&{Referer:n},...r&&{"User-Agent":r}},o={...e.request,...t&&{url:t},headers:s};e.request=o}}),Tu="cause",vu=5,bu="LinkedErrors",Iu=(e={})=>{const t=e.limit||vu,n=e.key||Tu;return{name:bu,preprocessEvent(r,s,o){const a=o.getOptions();$a(mn,a.stackParser,a.maxValueLength,n,t,r,s)}}},wu=Iu;function Ru(e){const t=[va(),Sa(),au(),Vc(),mu(),wu(),Ua(),Eu()];return e.autoSessionTracking!==!1&&t.push(lu()),t}function ku(e={}){const t={defaultIntegrations:Ru(e),release:typeof __SENTRY_RELEASE__=="string"?__SENTRY_RELEASE__:m.SENTRY_RELEASE&&m.SENTRY_RELEASE.id?m.SENTRY_RELEASE.id:void 0,autoSessionTracking:!0,sendClientReports:!0};return e.defaultIntegrations==null&&delete e.defaultIntegrations,{...t,...e}}function Nu(){const e=typeof m.window<"u"&&m;if(!e)return!1;const t=e.chrome?"chrome":"browser",n=e[t],r=n&&n.runtime&&n.runtime.id,s=m.location&&m.location.href||"",o=["chrome-extension:","moz-extension:","ms-browser-extension:","safari-web-extension:"],a=!!r&&m===m.top&&o.some(c=>s.startsWith(`${c}//`)),i=typeof e.nw<"u";return!!r&&!a&&!i}function _d(e={}){const t=ku(e);if(!t.skipBrowserExtensionCheck&&Nu()){He(()=>{console.error("[Sentry] You cannot run Sentry this way in a browser extension, check: https://docs.sentry.io/platforms/javascript/best-practices/browser-extensions/")});return}B&&(ns()||f.warn("No Fetch API detected. The Sentry SDK requires a Fetch API compatible environment to send events. Please add a Fetch API polyfill."));const n={...t,stackParser:oo(t.stackParser||Yc),integrations:Jo(t),transport:t.transport||$c};return ra(gi,n)}function pr(e={}){if(!m.document){B&&f.error("Global document not defined in showReportDialog call");return}const t=A(),n=t.getClient(),r=n&&n.getDsn();if(!r){B&&f.error("DSN not configured for showReportDialog call");return}if(t&&(e.user={...t.getUser(),...e.user}),!e.eventId){const i=ao();i&&(e.eventId=i)}const s=m.document.createElement("script");s.async=!0,s.crossOrigin="anonymous",s.src=Vo(r,e),e.onLoad&&(s.onload=e.onLoad);const{onClose:o}=e;if(o){const i=c=>{if(c.data==="__sentry_reportdialog_closed__")try{o()}finally{m.removeEventListener("message",i)}};m.addEventListener("message",i)}const a=m.document.head||m.document.body;a?a.appendChild(s):B&&f.error("Not injecting report dialog. No injection point found in HTML")}const mr=new WeakMap,Bt=new Map,ct={traceFetch:!0,traceXHR:!0,enableHTTPTimings:!0,trackFetchStreamPerformance:!1};function Cu(e,t){const{traceFetch:n,traceXHR:r,trackFetchStreamPerformance:s,shouldCreateSpanForRequest:o,enableHTTPTimings:a,tracePropagationTargets:i}={traceFetch:ct.traceFetch,traceXHR:ct.traceXHR,trackFetchStreamPerformance:ct.trackFetchStreamPerformance,...t},c=typeof o=="function"?o:d=>!0,u=d=>Ou(d,i),l={};n&&(e.addEventProcessor(d=>(d.type==="transaction"&&d.spans&&d.spans.forEach(p=>{if(p.op==="http.client"){const _=Bt.get(p.span_id);_&&(p.timestamp=_/1e3,Bt.delete(p.span_id))}}),d)),s&&Ja(d=>{if(d.response){const p=mr.get(d.response);p&&d.endTimestamp&&Bt.set(p,d.endTimestamp)}}),rs(d=>{const p=Wa(d,c,u,l);if(d.response&&d.fetchData.__span&&mr.set(d.response,d.fetchData.__span),p){const _=Is(d.fetchData.url),g=_?ce(_).host:void 0;p.setAttributes({"http.url":_,"server.address":g})}a&&p&&hr(p)})),r&&Ts(d=>{const p=$u(d,c,u,l);a&&p&&hr(p)})}function Au(e){return e.entryType==="resource"&&"initiatorType"in e&&typeof e.nextHopProtocol=="string"&&(e.initiatorType==="fetch"||e.initiatorType==="xmlhttprequest")}function hr(e){const{url:t}=v(e).data||{};if(!t||typeof t!="string")return;const n=Le("resource",({entries:r})=>{r.forEach(s=>
20{Au(s)&&s.name.endsWith(t)&&(Pu(s).forEach(a=>e.setAttribute(...a)),setTimeout(n))})})}function V(e=0){return((M||performance.timeOrigin)+e)/1e3}function Pu(e){const{name:t,version:n}=ys(e.nextHopProtocol),r=[];return r.push(["network.protocol.version",n],["network.protocol.name",t]),M?[...r,["http.request.redirect_start",V(e.redirectStart)],["http.request.fetch_start",V(e.fetchStart)],["http.request.domain_lookup_start",V(e.domainLookupStart)],["http.request.domain_lookup_end",V(e.domainLookupEnd)],["http.request.connect_start",V(e.connectStart)],["http.request.secure_connection_start",V(e.secureConnectionStart)],["http.request.connection_end",V(e.connectEnd)],["http.request.request_start",V(e.requestStart)],["http.request.response_start",V(e.responseStart)],["http.request.response_end",V(e.responseEnd)]]:r}function Ou(e,t){const n=m.location&&m.location.href;if(n){let r,s;try{r=new URL(e,n),s=new URL(n).origin}catch{return!1}const o=r.origin===s;return t?ie(r.toString(),t)||o&&ie(r.pathname,t):o}else{const r=!!e.match(/^\/(?!\/)/);return t?ie(e,t):r}}function $u(e,t,n,r){const s=e.xhr,o=s&&s[he];if(!s||s.__sentry_own_request__||!o)return;const a=ue()&&t(o.url);if(e.endTimestamp&&a){const d=s.__sentry_xhr_span_id__;if(!d)return;const p=r[d];p&&o.status_code!==void 0&&(Pr(p,o.status_code),p.end(),delete r[d]);return}const i=Is(o.url),c=i?ce(i).host:void 0,u=!!P(),l=a&&u?Be({name:`${o.method} ${o.url}`,attributes:{type:"xhr","http.method":o.method,"http.url":i,url:o.url,"server.address":c,[C]:"auto.http.browser",[Se]:"http.client"}}):new ve;return s.__sentry_xhr_span_id__=l.spanContext().spanId,r[s.__sentry_xhr_span_id__]=l,n(o.url)&&xu(s,ue()&&u?l:void 0),l}function xu(e,t){const{"sentry-trace":n,baggage:r}=Qr({span:t});n&&Du(e,n,r)}function Du(e,t,n){try{e.setRequestHeader("sentry-trace",t),n&&e.setRequestHeader("baggage",n)}catch{}}function Is(e){try{return new URL(e,m.location.origin).href}catch{return}}function Fu(){m&&m.document?m.document.addEventListener("visibilitychange",()=>{const e=P();if(!e)return;const t=F(e);if(m.document.hidden&&t){const n="cancelled",{op:r,status:s}=v(t);B&&f.log(`[Tracing] Transaction: ${n} -> since tab moved to the background, op: ${r}`),s||t.setStatus({code:xe,message:n}),t.setAttribute("sentry.cancellation_reason","document.hidden"),t.end()}}):B&&f.warn("[Tracing] Could not set up background tab detection due to lack of global document")}const Lu="BrowserTracing",Mu={...ot,instrumentNavigation:!0,instrumentPageLoad:!0,markBackgroundSpan:!0,enableLongTask:!0,enableLongAnimationFrame:!0,enableInp:!0,_experiments:{},...ct},Sd=(e={})=>{po();const{enableInp:t,enableLongTask:n,enableLongAnimationFrame:r,_experiments:{enableInteractions:s,enableStandaloneClsSpans:o},beforeStartSpan:a,idleTimeout:i,finalTimeout:c,childSpanTimeout:u,markBackgroundSpan:l,traceFetch:d,traceXHR:p,trackFetchStreamPerformance:_,shouldCreateSpanForRequest:g,enableHTTPTimings:T,instrumentPageLoad:K,instrumentNavigation:X}={...Mu,...e},Z=sc({recordClsStandaloneSpans:o||!1});t&&Ac(),r&&w.PerformanceObserver&&PerformanceObserver.supportedEntryTypes&&PerformanceObserver.supportedEntryTypes.includes("long-animation-frame")?ac():n&&oc(),s&&ic();const ee={name:void 0,source:void 0};function Ye(x,y){const k=y.op==="pageload",q=a?a(y):y,N=q.attributes||{};y.name!==q.name&&(N[z]="custom",q.attributes=N),ee.name=q.name,ee.source=N[z];const D=zr(q,{idleTimeout:i,finalTimeout:c,childSpanTimeout:u,disableAutoFinish:k,beforeSpanEnd:I=>{Z(),fc(I,{recordClsOnPageloadSpan:!o})}});function H(){["interactive","complete"].includes(m.document.readyState)&&x.emit("idleSpanEnableAutoFinish",D)}return k&&m.document&&(m.document.addEventListener("readystatechange",()=>{H()}),H()),D}return{name:Lu,afterAllSetup(x){let y,k=m.location&&m.location.href;function q(){y&&!v(y).timestamp&&(B&&f.log(`[Tracing] Finishing current active span with op: ${v(y).op}`),y.end())}x.on("startNavigationSpan",N=>{b()===x&&(q(),y=Ye(x,{op:"navigation",...N}))}),x.on("startPageLoadSpan",(N,D={})=>{if(b()!==x)return;q();const H=D.sentryTrace||gr("sentry-trace"),I=D.baggage||gr("baggage"),pe=io(H,I);A().setPropagationContext(pe),y=Ye(x,{op:"pageload",...N})}),x.on("spanEnd",N=>{const D=v(N).op;if(N!==F(N)||D!=="navigation"&&D!=="pageload")return;const H=A(),I=H.getPropagationContext();H.setPropagationContext({...I,sampled:I.sampled!==void 0?I.sampled:gt(N),dsc:I.dsc||Ue(N)})}),m.location&&(K&&ws(x,{name:m.location.pathname,startTime:M?M/1e3:void 0,attributes:{[z]:"url",[C]:"auto.pageload.browser"}}),X&&yn(({to:N,from:D})=>{if(D===void 0&&k&&k.indexOf(N)!==-1){k=void 0;return}D!==N&&(k=void 0,Rs(x,{name:m.location.pathname,attributes:{[z]:"url",[C]:"auto.navigation.browser"}}))})),l&&Fu(),s&&Hu(i,c,u,ee),t&&Oc(),Cu(x,{traceFetch:d,traceXHR:p,trackFetchStreamPerformance:_,tracePropagationTargets:x.getOptions().tracePropagationTargets,shouldCreateSpanForRequest:g,enableHTTPTimings:T})}}};function ws(e,t,n){e.emit("startPageLoadSpan",t,n),A().setTransactionName(t.name);const r=P();
20return(r&&v(r).op)==="pageload"?r:void 0}function Rs(e,t){Me().setPropagationContext({traceId:dt()}),A().setPropagationContext({traceId:dt()}),e.emit("startNavigationSpan",t),A().setTransactionName(t.name);const n=P();return(n&&v(n).op)==="navigation"?n:void 0}function gr(e){const t=co(`meta[name=${e}]`);return t?t.getAttribute("content"):void 0}function Hu(e,t,n,r){let s;const o=()=>{const a="ui.action.click",i=P(),c=i&&F(i);if(c){const u=v(c).op;if(["navigation","pageload"].includes(u)){B&&f.warn(`[Tracing] Did not create ${a} span because a pageload or navigation span is in progress.`);return}}if(s&&(s.setAttribute(jt,"interactionInterrupted"),s.end(),s=void 0),!r.name){B&&f.warn(`[Tracing] Did not create ${a} transaction because _latestRouteName is missing.`);return}s=zr({name:r.name,op:a,attributes:{[z]:r.source||"url"}},{idleTimeout:e,finalTimeout:t,childSpanTimeout:n})};m.document&&addEventListener("click",o,{once:!1,capture:!0})}function Uu(e){const t=e.match(/^([^.]+)/);return t!==null&&parseInt(t[0])>=17}function Bu(e,t){const n=new WeakSet;function r(s,o){if(!n.has(s)){if(s.cause)return n.add(s),r(s.cause,o);s.cause=o}}r(e,t)}function ju(e,{componentStack:t},n){if(Uu(re.version)&&ln(e)&&t){const r=new Error(e.message);r.name=`React ErrorBoundary ${e.name}`,r.stack=t,Bu(e,r)}return Or(e,{...n,captureContext:{contexts:{react:{componentStack:t}}}})}var ks={exports:{}},E={};/** @license React v16.13.1
21 * react-is.production.min.js
22 *
23 * Copyright (c) Facebook, Inc. and its affiliates.
24 *
25 * This source code is licensed under the MIT license found in the
26 * LICENSE file in the root directory of this source tree.
27 */var O=typeof Symbol=="function"&&Symbol.for,En=O?Symbol.for("react.element"):60103,Tn=O?Symbol.for("react.portal"):60106,vt=O?Symbol.for("react.fragment"):60107,bt=O?Symbol.for("react.strict_mode"):60108,It=O?Symbol.for("react.profiler"):60114,
27wt=O?Symbol.for("react.provider"):60109,Rt=O?Symbol.for("react.context"):60110,vn=O?Symbol.for("react.async_mode"):60111,kt=O?Symbol.for("react.concurrent_mode"):60111,Nt=O?Symbol.for("react.forward_ref"):60112,Ct=O?Symbol.for("react.suspense"):60113,qu=O?Symbol.for("react.suspense_list"):60120,At=O?Symbol.for("react.memo"):60115,Pt=O?Symbol.for("react.lazy"):60116,Wu=O?Symbol.for("react.block"):60121,Gu=O?Symbol.for("react.fundamental"):60117,Yu=O?Symbol.for("react.responder"):60118,zu=O?Symbol.for("react.scope"):60119;function j(e){if(typeof e=="object"&&e!==null){var t=e.$$typeof;switch(t){case En:switch(e=e.type,e){case vn:case kt:case vt:case It:case bt:case Ct:return e;default:switch(e=e&&e.$$typeof,e){case Rt:case Nt:case Pt:case At:case wt:return e;default:return t}}case Tn:return t}}}function Ns(e){return j(e)===kt}E.AsyncMode=vn;E.ConcurrentMode=kt;E.ContextConsumer=Rt;E.ContextProvider=wt;E.Element=En;E.ForwardRef=Nt;E.Fragment=vt;E.Lazy=Pt;E.Memo=At;E.Portal=Tn;E.Profiler=It;E.StrictMode=bt;E.Suspense=Ct;E.isAsyncMode=function(e){return Ns(e)||j(e)===vn};E.isConcurrentMode=Ns;E.isContextConsumer=function(e){return j(e)===Rt};E.isContextProvider=function(e){return j(e)===wt};E.isElement=function(e){return typeof e=="object"&&e!==null&&e.$$typeof===En};E.isForwardRef=function(e){return j(e)===Nt};E.isFragment=function(e){return j(e)===vt};E.isLazy=function(e){return j(e)===Pt};E.isMemo=function(e){return j(e)===At};E.isPortal=function(e){return j(e)===Tn};E.isProfiler=function(e){return j(e)===It};E.isStrictMode=function(e){return j(e)===bt};E.isSuspense=function(e){return j(e)===Ct};E.isValidElementType=function(e){return typeof e=="string"||typeof e=="function"||e===vt||e===kt||e===It||e===bt||e===Ct||e===qu||typeof e=="object"&&e!==null&&(e.$$typeof===Pt||e.$$typeof===At||e.$$typeof===wt||e.$$typeof===Rt||e.$$typeof===Nt||e.$$typeof===Gu||e.$$typeof===Yu||e.$$typeof===zu||e.$$typeof===Wu)};E.typeOf=j;ks.exports=E;var Xu=ks.exports,bn=Xu,Vu={childContextTypes:!0,contextType:!0,contextTypes:!0,defaultProps:!0,displayName:!0,getDefaultProps:!0,getDerivedStateFromError:!0,getDerivedStateFromProps:!0,mixins:!0,propTypes:!0,type:!0},Ku={name:!0,length:!0,prototype:!0,caller:!0,callee:!0,arguments:!0,arity:!0},Ju={$$typeof:!0,render:!0,defaultProps:!0,displayName:!0,propTypes:!0},Cs={$$typeof:!0,compare:!0,defaultProps:!0,displayName:!0,propTypes:!0,type:!0},In={};In[bn.ForwardRef]=Ju;In[bn.Memo]=Cs;function _r(e){return bn.isMemo(e)?Cs:In[e.$$typeof]||Vu}var Qu=Object.defineProperty,Zu=Object.getOwnPropertyNames,Sr=Object.getOwnPropertySymbols,ed=Object.getOwnPropertyDescriptor,td=Object.getPrototypeOf,yr=Object.prototype;function As(e,t,n){if(typeof t!="string"){if(yr){var r=td(t);r&&r!==yr&&As(e,r,n)}var s=Zu(t);Sr&&(s=s.concat(Sr(t)));for(var o=_r(e),a=_r(t),i=0;i<s.length;++i){var c=s[i];if(!Ku[c]&&!(n&&n[c])&&!(a&&a[c])&&!(o&&o[c])){var u=ed(t,c);try{Qu(e,c,u)}catch{}}}}return e}var nd=As;const rd=Os(nd),sd=typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__,od="unknown",Er={componentStack:null,error:null,eventId:null};class wn extends re.Component{constructor(t){super(t),wn.prototype.__init.call(this),this.state=Er,this._openFallbackReportDialog=!0;const n=b();n&&t.showDialog&&(this._openFallbackReportDialog=!1,this._cleanupHook=n.on("afterSendEvent",r=>{!r.type&&this._lastEventId&&r.event_id===this._lastEventId&&pr({...t.dialogOptions,eventId:this._lastEventId})}))}componentDidCatch(t,n){const{componentStack:r}=n,s=r??void 0,{beforeCapture:o,onError:a,showDialog:i,dialogOptions:c}=this.props;yt(u=>{o&&o(u,t,s);const l=this.props.handled!=null?this.props.handled:!!this.props.fallback,d=ju(t,n,{mechanism:{handled:l}});a&&a(t,s,d),i&&(this._lastEventId=d,this._openFallbackReportDialog&&pr({...c,eventId:d})),this.setState({error:t,componentStack:r,eventId:d})})}componentDidMount(){const{onMount:t}=this.props;t&&t()}componentWillUnmount(){const{error:t,componentStack:n,eventId:r}=this.state,{onUnmount:s}=this.props;s&&s(t,n,r),this._cleanupHook&&(this._cleanupHook(),this._cleanupHook=void 0)}__init(){this.resetErrorBoundary=()=>{const{onReset:t}=this.props,{error:n,componentStack:r,eventId:s}=this.state;t&&t(n,r,s),this.setState(Er)}}render(){const{fallback:t,children:n}=this.props,r=this.state;if(r.error){let s;return typeof t=="function"?s=re.createElement(t,{error:r.error,componentStack:r.componentStack,resetError:this.resetErrorBoundary,eventId:r.eventId}):s=t,re.isValidElement(s)?s:(t&&sd&&f.warn("fallback did not produce a valid ReactElement"),null)}return typeof n=="function"?n():n}}function ad(e,t){const n=e.displayName||e.name||od,r=s=>re.createElement(wn,{...t},re.createElement(e,{...s}));return r.displayName=`errorBoundary(${n})`,rd(r,e),r}const id=typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__;function cd(){const e=w;if(e.__remixContext)return e.__remixContext.future}function ud(){return os([w,"access",t=>t.__remixContext,"optionalAccess",t=>t.state,"optionalAccess",t=>t.loaderData,"optionalAccess",t=>t.root,"optionalAccess",t=>t.remixVersion])}let ut,sn,on,Ps;function dd(){if(m&&m.location)return m.location.pathname}function ld(e){return e===2||os([cd,"call",t=>t(),"optionalAccess",t=>t.v2_errorBoundary])||!1}function yd(e){const t=dd();if(!t)return;const n={name:t,op:"pageload",attributes:{[C]:"auto.pageload.remix",[z]:"url"}};ws(e,n)}function fd(e){const t=e[e.length-1],n=b();if(!n||!t)return;const r={name:t.id,op:"navigation",attributes:{[C]:"auto.navigation.remix",[z]:"route"}};Rs(n,r)}function Ed(e,t={wrapWithErrorBoundary:!0,errorBoundaryOptions:{}}){return r=>{if(!ut||!sn||!on)return id&&!uo()&&f.warn("Remix SDK was unable to wrap your root because of one or more missing parameters."),re.createElement(e,{...r});let s=!1;const o=sn(),a=on();return ut(()=>{const i=a&&a[a.length-1];if(i){const c=i.id;A().setTransactionName(c);const u=P();if(u){const l=F(u);l&&(l.updateName(c),l.setAttribute(z,"route"))}}s=!0},[]),ut(()=>{const i=P();if(s){i&&i.end();return}Ps&&a&&a.length&&(i&&i.end(),fd(a))},[o]),s=!1,!ld(ud())&&t.wrapWithErrorBoundary?ad(e,t.errorBoundaryOptions)(r):re.createElement(e,{...r})}}function Td({useEffect:e,useLocation:t,useMatches:n,instrumentNavigation:r}){ut=e,sn=t,on=n,Ps=r}export{B as D,he as S,m as W,os as _,vc as a,yn as b,Le as c,qi as d,hs as e,Wi as f,Yi as g,Ie as h,ua as i,No as j,qr as k,le as l,La as m,jn as n,hd as o,Ur as p,pa as q,_d as r,gd as s,Sd as t,da as u,yd as v,Td as w,Ed as x};

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.