@dcl/wearable-preview 2.14.2 → 2.14.3-25074352681.commit-3a36f32
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/assets/{Preview-ixF-cSdh.js → Preview-BvPVMBJx.js} +98 -98
- package/assets/UnityPreview-CBmpRgtj.js +1 -0
- package/assets/{babylon.inspector.bundle.max-CFwpjOrj.js → babylon.inspector.bundle.max-CjLwiHrS.js} +1 -1
- package/assets/emote-events-Dj3fxWTp.js +12 -0
- package/assets/{index-MD9s48a1.js → index-D4ORgEj5.js} +3 -3
- package/index.html +3 -3
- package/package.json +3 -3
- package/static-local/assets/{Preview-DOkVVEzm.js → Preview-t5dSxa6s.js} +98 -98
- package/static-local/assets/UnityPreview-DhAbnS8Z.js +1 -0
- package/static-local/assets/{babylon.inspector.bundle.max-BBTHflyk.js → babylon.inspector.bundle.max-DCipO8-u.js} +1 -1
- package/static-local/assets/emote-events-CzUP9D_0.js +12 -0
- package/static-local/assets/{index-DE24mgjY.js → index-CFq8S2R_.js} +2 -2
- package/static-local/index.html +1 -1
- package/static-local/package.json +1 -1
- package/assets/UnityPreview-COOJWXbo.js +0 -1
- package/assets/emote-events-CV5UM-tB.js +0 -12
- package/static-local/assets/UnityPreview-bNRZ1RmV.js +0 -1
- package/static-local/assets/emote-events-BxS6Kezu.js +0 -12
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./UnityPreview-
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./UnityPreview-DhAbnS8Z.js","./emote-events-CzUP9D_0.js","./UnityPreview-DDBpN-Lh.css","./Preview-t5dSxa6s.js","./Preview-BcI1c3PG.css"])))=>i.map(i=>d[i]);
|
|
2
2
|
(function(){const r=document.createElement("link").relList;if(r&&r.supports&&r.supports("modulepreload"))return;for(const u of document.querySelectorAll('link[rel="modulepreload"]'))a(u);new MutationObserver(u=>{for(const c of u)if(c.type==="childList")for(const d of c.addedNodes)d.tagName==="LINK"&&d.rel==="modulepreload"&&a(d)}).observe(document,{childList:!0,subtree:!0});function o(u){const c={};return u.integrity&&(c.integrity=u.integrity),u.referrerPolicy&&(c.referrerPolicy=u.referrerPolicy),u.crossOrigin==="use-credentials"?c.credentials="include":u.crossOrigin==="anonymous"?c.credentials="omit":c.credentials="same-origin",c}function a(u){if(u.ep)return;u.ep=!0;const c=o(u);fetch(u.href,c)}})();const d_="modulepreload",p_=function(n,r){return new URL(n,r).href},dp={},xm=function(r,o,a){let u=Promise.resolve();if(o&&o.length>0){let d=function(S){return Promise.all(S.map(v=>Promise.resolve(v).then(I=>({status:"fulfilled",value:I}),I=>({status:"rejected",reason:I}))))};const h=document.getElementsByTagName("link"),p=document.querySelector("meta[property=csp-nonce]"),y=(p==null?void 0:p.nonce)||(p==null?void 0:p.getAttribute("nonce"));u=d(o.map(S=>{if(S=p_(S,a),S in dp)return;dp[S]=!0;const v=S.endsWith(".css"),I=v?'[rel="stylesheet"]':"";if(!!a)for(let F=h.length-1;F>=0;F--){const U=h[F];if(U.href===S&&(!v||U.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${S}"]${I}`))return;const P=document.createElement("link");if(P.rel=v?"stylesheet":d_,v||(P.as="script"),P.crossOrigin="",P.href=S,y&&P.setAttribute("nonce",y),document.head.appendChild(P),v)return new Promise((F,U)=>{P.addEventListener("load",F),P.addEventListener("error",()=>U(new Error(`Unable to preload CSS for ${S}`)))})}))}function c(d){const h=new Event("vite:preloadError",{cancelable:!0});if(h.payload=d,window.dispatchEvent(h),!h.defaultPrevented)throw d}return u.then(d=>{for(const h of d||[])h.status==="rejected"&&c(h.reason);return r().catch(c)})};var X1=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function m_(n){return n&&n.__esModule&&Object.prototype.hasOwnProperty.call(n,"default")?n.default:n}function J1(n){if(Object.prototype.hasOwnProperty.call(n,"__esModule"))return n;var r=n.default;if(typeof r=="function"){var o=function a(){return this instanceof a?Reflect.construct(r,arguments,this.constructor):r.apply(this,arguments)};o.prototype=r.prototype}else o={};return Object.defineProperty(o,"__esModule",{value:!0}),Object.keys(n).forEach(function(a){var u=Object.getOwnPropertyDescriptor(n,a);Object.defineProperty(o,a,u.get?u:{enumerable:!0,get:function(){return n[a]}})}),o}var Zu={exports:{}},Bi={},el={exports:{}},ee={};/**
|
|
3
3
|
* @license React
|
|
4
4
|
* react.production.min.js
|
|
@@ -58,4 +58,4 @@ Url: ${Ys(n)}`),!0}return!1}function ME(n,r){return r!=null&&r.length?Rh(n).some
|
|
|
58
58
|
Type: ${n}
|
|
59
59
|
Name: ${on(a)}
|
|
60
60
|
Error:`,u)}}function Z0(){return b0(n=>{mo("cls",{metric:n}),Kh=n},{reportAllChanges:!0})}function eT(){return Y0(n=>{mo("lcp",{metric:n}),Qh=n},{reportAllChanges:!0})}function tT(){return Q0(n=>{mo("ttfb",{metric:n}),Xh=n})}function nT(){return W0(n=>{mo("inp",{metric:n}),Jh=n})}function oa(n,r,o,a,u=!1){tg(n,r);let c;return Js[n]||(c=o(),Js[n]=!0),a&&r({metric:a}),ng(n,r,u?c:void 0)}function rT(n){const r={};n==="event"&&(r.durationThreshold=0),ri(n,o=>{mo(n,{entries:o})},r)}function tg(n,r){qi[n]=qi[n]||[],qi[n].push(r)}function ng(n,r,o){return()=>{o&&o();const a=qi[n];if(!a)return;const u=a.indexOf(r);u!==-1&&a.splice(u,1)}}function iT(n){return"duration"in n}const oT=n=>{const r=o=>{var a;(o.type==="pagehide"||((a=Q.document)==null?void 0:a.visibilityState)==="hidden")&&n(o)};On("visibilitychange",r,{capture:!0,once:!0}),On("pagehide",r,{capture:!0,once:!0})};function gl(n){return typeof n=="number"&&isFinite(n)}function Fn(n,r,o,{...a}){const u=de(n).start_timestamp;return u&&u>r&&typeof n.updateStartTime=="function"&&n.updateStartTime(r),nc(n,()=>{const c=ti({startTime:r,...a});return c&&c.end(o),c})}function pc(n){var U;const r=he();if(!r)return;const{name:o,transaction:a,attributes:u,startTime:c}=n,{release:d,environment:h,sendDefaultPii:p}=r.getOptions(),y=r.getIntegrationByName("Replay"),S=y==null?void 0:y.getReplayId(),v=me(),I=v.getUser(),R=I!==void 0?I.email||I.id||I.ip_address:void 0;let P;try{P=v.getScopeData().contexts.profile.profile_id}catch{}const F={release:d,environment:h,user:R||void 0,profile_id:P||void 0,replay_id:S||void 0,transaction:a,"user_agent.original":(U=Q.navigator)==null?void 0:U.userAgent,"client.address":p?"{{auto}}":void 0,...u};return ti({name:o,attributes:F,startTime:c,experimental:{standalone:!0}})}function ho(){return Q.addEventListener&&Q.performance}function Re(n){return n/1e3}function sT(n){let r="unknown",o="unknown",a="";for(const u of n){if(u==="/"){[r,o]=n.split("/");break}if(!isNaN(Number(u))){r=a==="h"?"http":a,o=n.split(a)[1];break}a+=u}return a===n&&(r=a),{name:r,version:o}}function rg(n){try{return PerformanceObserver.supportedEntryTypes.includes(n)}catch{return!1}}function ig(n,r){let o,a=!1;function u(h){!a&&o&&r(h,o),a=!0}oT(()=>{u("pagehide")});const c=n.on("beforeStartNavigationSpan",(h,p)=>{p!=null&&p.isRedirect||(u("navigation"),c(),d())}),d=n.on("afterStartPageLoadSpan",h=>{o=h.spanContext().spanId,d()})}function aT(n){let r=0,o;if(!rg("layout-shift"))return;const a=Zh(({metric:u})=>{const c=u.entries[u.entries.length-1];c&&(r=u.value,o=c)},!0);ig(n,(u,c)=>{uT(r,o,c,u),a()})}function uT(n,r,o,a){var y;uo&&$.log(`Sending CLS span (${n})`);const u=r?Re((yt()||0)+r.startTime):Be(),c=me().getScopeData().transactionName,d=r?Nt((y=r.sources[0])==null?void 0:y.node):"Layout shift",h={[$e]:"auto.http.browser.cls",[un]:"ui.webvital.cls",[Zr]:0,"sentry.pageload.span_id":o,"sentry.report_event":a};r!=null&&r.sources&&r.sources.forEach((S,v)=>{h[`cls.source.${v+1}`]=Nt(S.node)});const p=pc({name:d,transaction:c,attributes:h,startTime:u});p&&(p.addEvent("cls",{[oo]:"",[so]:n}),p.end(u))}function lT(n){let r=0,o;if(!rg("largest-contentful-paint"))return;const a=eg(({metric:u})=>{const c=u.entries[u.entries.length-1];c&&(r=u.value,o=c)},!0);ig(n,(u,c)=>{cT(r,o,c,u),a()})}function cT(n,r,o,a){uo&&$.log(`Sending LCP span (${n})`);const u=Re((yt()||0)+((r==null?void 0:r.startTime)||0)),c=me().getScopeData().transactionName,d=r?Nt(r.element):"Largest contentful paint",h={[$e]:"auto.http.browser.lcp",[un]:"ui.webvital.lcp",[Zr]:0,"sentry.pageload.span_id":o,"sentry.report_event":a};r&&(r.element&&(h["lcp.element"]=Nt(r.element)),r.id&&(h["lcp.id"]=r.id),r.url&&(h["lcp.url"]=r.url),r.loadTime!=null&&(h["lcp.loadTime"]=r.loadTime),r.renderTime!=null&&(h["lcp.renderTime"]=r.renderTime),r.size!=null&&(h["lcp.size"]=r.size));const p=pc({name:d,transaction:c,attributes:h,startTime:u});p&&(p.addEvent("lcp",{[oo]:"millisecond",[so]:n}),p.end(u))}function It(n){return n&&((yt()||performance.timeOrigin)+n)/1e3}function og(n){var o;const r={};if(n.nextHopProtocol!=null){const{name:a,version:u}=sT(n.nextHopProtocol);r["network.protocol.version"]=u,r["network.protocol.name"]=a}return yt()||(o=ho())!=null&&o.timeOrigin?fT({...r,"http.request.redirect_start":It(n.redirectStart),"http.request.redirect_end":It(n.redirectEnd),"http.request.worker_start":It(n.workerStart),"http.request.fetch_start":It(n.fetchStart),"http.request.domain_lookup_start":It(n.domainLookupStart),"http.request.domain_lookup_end":It(n.domainLookupEnd),"http.request.connect_start":It(n.connectStart),"http.request.secure_connection_start":It(n.secureConnectionStart),"http.request.connection_end":It(n.connectEnd),"http.request.request_start":It(n.requestStart),"http.request.response_start":It(n.responseStart),"http.request.response_end":It(n.responseEnd),"http.request.time_to_first_byte":n.responseStart!=null?n.responseStart/1e3:void 0}):r}function fT(n){return Object.fromEntries(Object.entries(n).filter(([,r])=>r!=null))}const dT=2147483647;let hm=0,$t={},lt,Ur;function pT({recordClsStandaloneSpans:n,recordLcpStandaloneSpans:r,client:o}){const a=ho();if(a&&yt()){a.mark&&Q.performance.mark("sentry-tracing-init");const u=r?lT(o):_T(),c=vT(),d=n?aT(o):yT();return()=>{u==null||u(),c(),d==null||d()}}return()=>{}}function mT(){qr("longtask",({entries:n})=>{const r=_t();if(!r)return;const{op:o,start_timestamp:a}=de(r);for(const u of n){const c=Re(yt()+u.startTime),d=Re(u.duration);o==="navigation"&&a&&c<a||Fn(r,c,c+d,{name:"Main UI thread blocked",op:"ui.long-task",attributes:{[$e]:"auto.ui.browser.metrics"}})}})}function hT(){new PerformanceObserver(r=>{const o=_t();if(o)for(const a of r.getEntries()){if(!a.scripts[0])continue;const u=Re(yt()+a.startTime),{start_timestamp:c,op:d}=de(o);if(d==="navigation"&&c&&u<c)continue;const h=Re(a.duration),p={[$e]:"auto.ui.browser.metrics"},y=a.scripts[0],{invoker:S,invokerType:v,sourceURL:I,sourceFunctionName:R,sourceCharPosition:P}=y;p["browser.script.invoker"]=S,p["browser.script.invoker_type"]=v,I&&(p["code.filepath"]=I),R&&(p["code.function"]=R),P!==-1&&(p["browser.script.source_char_position"]=P),Fn(o,u,u+h,{name:"Main UI thread blocked",op:"ui.long-animation-frame",attributes:p})}}).observe({type:"long-animation-frame",buffered:!0})}function gT(){qr("event",({entries:n})=>{const r=_t();if(r){for(const o of n)if(o.name==="click"){const a=Re(yt()+o.startTime),u=Re(o.duration),c={name:Nt(o.target),op:`ui.interaction.${o.name}`,startTime:a,attributes:{[$e]:"auto.ui.browser.metrics"}},d=Hm(o.target);d&&(c.attributes["ui.component_name"]=d),Fn(r,a,a+u,c)}}})}function yT(){return Zh(({metric:n})=>{const r=n.entries[n.entries.length-1];r&&($t.cls={value:n.value,unit:""},Ur=r)},!0)}function _T(){return eg(({metric:n})=>{const r=n.entries[n.entries.length-1];r&&($t.lcp={value:n.value,unit:"millisecond"},lt=r)},!0)}function vT(){return X0(({metric:n})=>{n.entries[n.entries.length-1]&&($t.ttfb={value:n.value,unit:"millisecond"})})}function ST(n,r){const o=ho(),a=yt();if(!(o!=null&&o.getEntries)||!a)return;const u=Re(a),c=o.getEntries(),{op:d,start_timestamp:h}=de(n);c.slice(hm).forEach(p=>{const y=Re(p.startTime),S=Re(Math.max(0,p.duration));if(!(d==="navigation"&&h&&u+y<h))switch(p.entryType){case"navigation":{kT(n,p,u);break}case"mark":case"paint":case"measure":{TT(n,p,y,S,u,r.ignorePerformanceApiSpans);const v=fo(),I=p.startTime<v.firstHiddenTime;p.name==="first-paint"&&I&&($t.fp={value:p.startTime,unit:"millisecond"}),p.name==="first-contentful-paint"&&I&&($t.fcp={value:p.startTime,unit:"millisecond"});break}case"resource":{RT(n,p,p.name,y,S,u,r.ignoreResourceSpans);break}}}),hm=Math.max(c.length-1,0),NT(n),d==="pageload"&&(LT($t),r.recordClsOnPageloadSpan||delete $t.cls,r.recordLcpOnPageloadSpan||delete $t.lcp,Object.entries($t).forEach(([p,y])=>{sS(p,y.value,y.unit)}),n.setAttribute("performance.timeOrigin",u),n.setAttribute("performance.activationStart",ni()),PT(n,r)),lt=void 0,Ur=void 0,$t={}}function ET(n){if((n==null?void 0:n.entryType)==="measure")try{return n.detail.devtools.track==="Components ⚛"}catch{return}}function TT(n,r,o,a,u,c){if(ET(r)||["mark","measure"].includes(r.entryType)&&Ln(r.name,c))return;const d=co(!1),h=Re(d?d.requestStart:0),p=u+Math.max(o,h),y=u+o,S=y+a,v={[$e]:"auto.resource.browser.metrics"};p!==y&&(v["sentry.browser.measure_happened_before_request"]=!0,v["sentry.browser.measure_start_time"]=p),wT(v,r),p<=S&&Fn(n,p,S,{name:r.name,op:r.entryType,attributes:v})}function wT(n,r){try{const o=r.detail;if(!o)return;if(typeof o=="object"){for(const[a,u]of Object.entries(o))if(u&&jr(u))n[`sentry.browser.measure.detail.${a}`]=u;else if(u!==void 0)try{n[`sentry.browser.measure.detail.${a}`]=JSON.stringify(u)}catch{}return}if(jr(o)){n["sentry.browser.measure.detail"]=o;return}try{n["sentry.browser.measure.detail"]=JSON.stringify(o)}catch{}}catch{}}function kT(n,r,o){["unloadEvent","redirect","domContentLoadedEvent","loadEvent","connect"].forEach(a=>{xs(n,r,a,o)}),xs(n,r,"secureConnection",o,"TLS/SSL"),xs(n,r,"fetch",o,"cache"),xs(n,r,"domainLookup",o,"DNS"),CT(n,r,o)}function xs(n,r,o,a,u=o){const c=IT(o),d=r[c],h=r[`${o}Start`];!h||!d||Fn(n,a+Re(h),a+Re(d),{op:`browser.${u}`,name:r.name,attributes:{[$e]:"auto.ui.browser.metrics",...o==="redirect"&&r.redirectCount!=null?{"http.redirect_count":r.redirectCount}:{}}})}function IT(n){return n==="secureConnection"?"connectEnd":n==="fetch"?"domainLookupStart":`${n}End`}function CT(n,r,o){const a=o+Re(r.requestStart),u=o+Re(r.responseEnd),c=o+Re(r.responseStart);r.responseEnd&&(Fn(n,a,u,{op:"browser.request",name:r.name,attributes:{[$e]:"auto.ui.browser.metrics"}}),Fn(n,c,u,{op:"browser.response",name:r.name,attributes:{[$e]:"auto.ui.browser.metrics"}}))}function RT(n,r,o,a,u,c,d){if(r.initiatorType==="xmlhttprequest"||r.initiatorType==="fetch")return;const h=r.initiatorType?`resource.${r.initiatorType}`:"resource.other";if(d!=null&&d.includes(h))return;const p={[$e]:"auto.resource.browser.metrics"},y=or(o);y.protocol&&(p["url.scheme"]=y.protocol.split(":").pop()),y.host&&(p["server.address"]=y.host),p["url.same_origin"]=o.includes(Q.location.origin),xT(r,p,[["responseStatus","http.response.status_code"],["transferSize","http.response_transfer_size"],["encodedBodySize","http.response_content_length"],["decodedBodySize","http.decoded_response_content_length"],["renderBlockingStatus","resource.render_blocking_status"],["deliveryType","http.response_delivery_type"]]);const S={...p,...og(r)},v=c+a,I=v+u;Fn(n,v,I,{name:o.replace(Q.location.origin,""),op:h,attributes:S})}function NT(n){const r=Q.navigator;if(!r)return;const o=r.connection;o&&(o.effectiveType&&n.setAttribute("effectiveConnectionType",o.effectiveType),o.type&&n.setAttribute("connectionType",o.type),gl(o.rtt)&&($t["connection.rtt"]={value:o.rtt,unit:"millisecond"})),gl(r.deviceMemory)&&n.setAttribute("deviceMemory",`${r.deviceMemory} GB`),gl(r.hardwareConcurrency)&&n.setAttribute("hardwareConcurrency",String(r.hardwareConcurrency))}function PT(n,r){lt&&r.recordLcpOnPageloadSpan&&(lt.element&&n.setAttribute("lcp.element",Nt(lt.element)),lt.id&&n.setAttribute("lcp.id",lt.id),lt.url&&n.setAttribute("lcp.url",lt.url.trim().slice(0,200)),lt.loadTime!=null&&n.setAttribute("lcp.loadTime",lt.loadTime),lt.renderTime!=null&&n.setAttribute("lcp.renderTime",lt.renderTime),n.setAttribute("lcp.size",lt.size)),Ur!=null&&Ur.sources&&r.recordClsOnPageloadSpan&&Ur.sources.forEach((o,a)=>n.setAttribute(`cls.source.${a+1}`,Nt(o.node)))}function xT(n,r,o){o.forEach(([a,u])=>{const c=n[a];c!=null&&(typeof c=="number"&&c<dT||typeof c=="string")&&(r[u]=c)})}function LT(n){const r=co(!1);if(!r)return;const{responseStart:o,requestStart:a}=r;a<=o&&(n["ttfb.requestTime"]={value:o-a,unit:"millisecond"})}function AT(){return ho()&&yt()?qr("element",OT):()=>{}}const OT=({entries:n})=>{const r=_t(),o=r?tt(r):void 0,a=o?de(o).description:me().getScopeData().transactionName;n.forEach(u=>{var R,P;const c=u;if(!c.identifier)return;const d=c.name,h=c.renderTime,p=c.loadTime,[y,S]=p?[Re(p),"load-time"]:h?[Re(h),"render-time"]:[Be(),"entry-emission"],v=d==="image-paint"?Re(Math.max(0,(h??0)-(p??0))):0,I={[$e]:"auto.ui.browser.elementtiming",[un]:"ui.elementtiming",[Vt]:"component","sentry.span_start_time_source":S,"sentry.transaction_name":a,"element.id":c.id,"element.type":((P=(R=c.element)==null?void 0:R.tagName)==null?void 0:P.toLowerCase())||"unknown","element.size":c.naturalWidth&&c.naturalHeight?`${c.naturalWidth}x${c.naturalHeight}`:void 0,"element.render_time":h,"element.load_time":p,"element.url":c.url||void 0,"element.identifier":c.identifier,"element.paint_type":d};dS({name:`element[${c.identifier}]`,attributes:I,startTime:y,onlyIfParent:!0},F=>{F.end(y+v)})})},DT=1e3;let gm,Ul,bl;function MT(n){const r="dom";$n(r,n),Un(r,FT)}function FT(){if(!Q.document)return;const n=Ct.bind(null,"dom"),r=ym(n,!0);Q.document.addEventListener("click",r,!1),Q.document.addEventListener("keypress",r,!1),["EventTarget","Node"].forEach(o=>{var c,d;const u=(c=Q[o])==null?void 0:c.prototype;(d=u==null?void 0:u.hasOwnProperty)!=null&&d.call(u,"addEventListener")&&(gt(u,"addEventListener",function(h){return function(p,y,S){if(p==="click"||p=="keypress")try{const v=this.__sentry_instrumentation_handlers__=this.__sentry_instrumentation_handlers__||{},I=v[p]=v[p]||{refCount:0};if(!I.handler){const R=ym(n);I.handler=R,h.call(this,p,R,S)}I.refCount++}catch{}return h.call(this,p,y,S)}}),gt(u,"removeEventListener",function(h){return function(p,y,S){if(p==="click"||p=="keypress")try{const v=this.__sentry_instrumentation_handlers__||{},I=v[p];I&&(I.refCount--,I.refCount<=0&&(h.call(this,p,I.handler,S),I.handler=void 0,delete v[p]),Object.keys(v).length===0&&delete this.__sentry_instrumentation_handlers__)}catch{}return h.call(this,p,y,S)}}))})}function $T(n){if(n.type!==Ul)return!1;try{if(!n.target||n.target._sentryId!==bl)return!1}catch{}return!0}function UT(n,r){return n!=="keypress"?!1:r!=null&&r.tagName?!(r.tagName==="INPUT"||r.tagName==="TEXTAREA"||r.isContentEditable):!0}function ym(n,r=!1){return o=>{if(!o||o._sentryCaptured)return;const a=bT(o);if(UT(o.type,a))return;ct(o,"_sentryCaptured",!0),a&&!a._sentryId&&ct(a,"_sentryId",Rt());const u=o.type==="keypress"?"input":o.type;$T(o)||(n({event:o,name:u,global:r}),Ul=o.type,bl=a?a._sentryId:void 0),clearTimeout(gm),gm=Q.setTimeout(()=>{bl=void 0,Ul=void 0},DT)}}function bT(n){try{return n.target}catch{return null}}let Ls;function mc(n){const r="history";$n(r,n),Un(r,zT)}function zT(){if(Q.addEventListener("popstate",()=>{const r=Q.location.href,o=Ls;if(Ls=r,o===r)return;Ct("history",{from:o,to:r})}),!o0())return;function n(r){return function(...o){const a=o.length>2?o[2]:void 0;if(a){const u=Ls,c=jT(String(a));if(Ls=c,u===c)return r.apply(this,o);Ct("history",{from:u,to:c})}return r.apply(this,o)}}gt(Q.history,"pushState",n),gt(Q.history,"replaceState",n)}function jT(n){try{return new URL(n,Q.location.origin).toString()}catch{return n}}const Hs={};function HT(n){const r=Hs[n];if(r)return r;let o=Q[n];if(Ol(o))return Hs[n]=o.bind(Q);const a=Q.document;if(a&&typeof a.createElement=="function")try{const u=a.createElement("iframe");u.hidden=!0,a.head.appendChild(u);const c=u.contentWindow;c!=null&&c[n]&&(o=c[n]),a.head.removeChild(u)}catch(u){uo&&$.warn(`Could not create sandbox iframe for ${n} check, bailing to window.${n}: `,u)}return o&&(Hs[n]=o.bind(Q))}function BT(n){Hs[n]=void 0}const br="__sentry_xhr_v3__";function sg(n){const r="xhr";$n(r,n),Un(r,VT)}function VT(){if(!Q.XMLHttpRequest)return;const n=XMLHttpRequest.prototype;n.open=new Proxy(n.open,{apply(r,o,a){const u=new Error,c=Be()*1e3,d=nn(a[0])?a[0].toUpperCase():void 0,h=WT(a[1]);if(!d||!h)return r.apply(o,a);o[br]={method:d,url:h,request_headers:{}},d==="POST"&&h.match(/sentry_key/)&&(o.__sentry_own_request__=!0);const p=()=>{const y=o[br];if(y&&o.readyState===4){try{y.status_code=o.status}catch{}const S={endTimestamp:Be()*1e3,startTimestamp:c,xhr:o,virtualError:u};Ct("xhr",S)}};return"onreadystatechange"in o&&typeof o.onreadystatechange=="function"?o.onreadystatechange=new Proxy(o.onreadystatechange,{apply(y,S,v){return p(),y.apply(S,v)}}):o.addEventListener("readystatechange",p),o.setRequestHeader=new Proxy(o.setRequestHeader,{apply(y,S,v){const[I,R]=v,P=S[br];return P&&nn(I)&&nn(R)&&(P.request_headers[I.toLowerCase()]=R),y.apply(S,v)}}),r.apply(o,a)}}),n.send=new Proxy(n.send,{apply(r,o,a){const u=o[br];if(!u)return r.apply(o,a);a[0]!==void 0&&(u.body=a[0]);const c={startTimestamp:Be()*1e3,xhr:o};return Ct("xhr",c),r.apply(o,a)}})}function WT(n){if(nn(n))return n;try{return n.toString()}catch{}}function GT(n){let r;try{r=n.getAllResponseHeaders()}catch(o){return uo&&$.error(o,"Failed to get xhr response headers",n),{}}return r?r.split(`\r
|
|
61
|
-
`).reduce((o,a)=>{const[u,c]=a.split(": ");return c&&(o[u.toLowerCase()]=c),o},{}):{}}const yl=[],Bs=new Map,$r=new Map,qT=60;function YT(){if(ho()&&yt()){const r=KT();return()=>{r()}}return()=>{}}const zl={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 KT(){return J0(QT)}const QT=({metric:n})=>{if(n.value==null)return;const r=Re(n.value);if(r>qT)return;const o=n.entries.find(P=>P.duration===n.value&&zl[P.name]);if(!o)return;const{interactionId:a}=o,u=zl[o.name],c=Re(yt()+o.startTime),d=_t(),h=d?tt(d):void 0,p=a!=null?Bs.get(a):void 0,y=(p==null?void 0:p.span)||h,S=y?de(y).description:me().getScopeData().transactionName,v=(p==null?void 0:p.elementName)||Nt(o.target),I={[$e]:"auto.http.browser.inp",[un]:`ui.interaction.${u}`,[Zr]:o.duration},R=pc({name:v,transaction:S,attributes:I,startTime:c});R&&(R.addEvent("inp",{[oo]:"millisecond",[so]:n.value}),R.end(c+r))};function XT(){const n=Object.keys(zl);g0()&&n.forEach(u=>{Q.addEventListener(u,r,{capture:!0,passive:!0})});function r(u){const c=u.target;if(!c)return;const d=Nt(c),h=Math.round(u.timeStamp);if($r.set(h,d),$r.size>50){const p=$r.keys().next().value;p!==void 0&&$r.delete(p)}}function o(u){const c=Math.round(u.startTime);let d=$r.get(c);if(!d)for(let h=-5;h<=5;h++){const p=$r.get(c+h);if(p){d=p;break}}return d||"<unknown>"}const a=({entries:u})=>{const c=_t(),d=c&&tt(c);u.forEach(h=>{if(!iT(h))return;const p=h.interactionId;if(p==null||Bs.has(p))return;const y=h.target?Nt(h.target):o(h);if(yl.length>10){const S=yl.shift();Bs.delete(S)}yl.push(p),Bs.set(p,{span:d,elementName:y})})};qr("event",a),qr("first-input",a)}const JT=40;function ZT(n,r=HT("fetch")){let o=0,a=0;async function u(c){const d=c.body.length;o+=d,a++;const h={body:c.body,method:"POST",referrerPolicy:"strict-origin",headers:n.headers,keepalive:o<=6e4&&a<15,...n.fetchOptions};try{const p=await r(n.url,h);return{statusCode:p.status,headers:{"x-sentry-rate-limits":p.headers.get("X-Sentry-Rate-Limits"),"retry-after":p.headers.get("Retry-After")}}}catch(p){throw BT("fetch"),p}finally{o-=d,a--}}return sE(n,u,sc(n.bufferSize||JT))}const Pt=typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__,ew=30,tw=50;function jl(n,r,o,a){const u={filename:n,function:r==="<anonymous>"?sr:r,in_app:!0};return o!==void 0&&(u.lineno=o),a!==void 0&&(u.colno=a),u}const nw=/^\s*at (\S+?)(?::(\d+))(?::(\d+))\s*$/i,rw=/^\s*at (?:(.+?\)(?: \[.+\])?|.*?) ?\((?:address at )?)?(?:async )?((?:<anonymous>|[-a-z]+:|.*bundle|\/)?.*?)(?::(\d+))?(?::(\d+))?\)?\s*$/i,iw=/\((\S*)(?::(\d+))(?::(\d+))\)/,ow=/at (.+?) ?\(data:(.+?),/,sw=n=>{const r=n.match(ow);if(r)return{filename:`<data:${r[2]}>`,function:r[1]};const o=nw.exec(n);if(o){const[,u,c,d]=o;return jl(u,sr,+c,+d)}const a=rw.exec(n);if(a){if(a[2]&&a[2].indexOf("eval")===0){const h=iw.exec(a[2]);h&&(a[2]=h[1],a[3]=h[2],a[4]=h[3])}const[c,d]=ag(a[1]||sr,a[2]);return jl(d,c,a[3]?+a[3]:void 0,a[4]?+a[4]:void 0)}},aw=[ew,sw],uw=/^\s*(.*?)(?:\((.*?)\))?(?:^|@)?((?:[-a-z]+)?:\/.*?|\[native code\]|[^@]*(?:bundle|\d+\.js)|\/[\w\-. /=]+)(?::(\d+))?(?::(\d+))?\s*$/i,lw=/(\S+) line (\d+)(?: > eval line \d+)* > eval/i,cw=n=>{const r=uw.exec(n);if(r){if(r[3]&&r[3].indexOf(" > eval")>-1){const c=lw.exec(r[3]);c&&(r[1]=r[1]||"eval",r[3]=c[1],r[4]=c[2],r[5]="")}let a=r[3],u=r[1]||sr;return[u,a]=ag(u,a),jl(a,u,r[4]?+r[4]:void 0,r[5]?+r[5]:void 0)}},fw=[tw,cw],dw=[aw,fw],pw=Mm(...dw),ag=(n,r)=>{const o=n.indexOf("safari-extension")!==-1,a=n.indexOf("safari-web-extension")!==-1;return o||a?[n.indexOf("@")!==-1?n.split("@")[0]:sr,o?`safari-extension:${r}`:`safari-web-extension:${r}`]:[n,r]},As=1024,mw="Breadcrumbs",hw=(n={})=>{const r={console:!0,dom:!0,fetch:!0,history:!0,sentry:!0,xhr:!0,...n};return{name:mw,setup(o){r.console&&HE(vw(o)),r.dom&&MT(_w(o,r.dom)),r.xhr&&sg(Sw(o)),r.fetch&&zh(Ew(o)),r.history&&mc(Tw(o)),r.sentry&&o.on("beforeSendEvent",yw(o))}}},gw=hw;function yw(n){return function(o){he()===n&&ar({category:`sentry.${o.type==="transaction"?"transaction":"event"}`,event_id:o.event_id,level:o.level,message:er(o)},{event:o})}}function _w(n,r){return function(a){if(he()!==n)return;let u,c,d=typeof r=="object"?r.serializeAttribute:void 0,h=typeof r=="object"&&typeof r.maxStringLength=="number"?r.maxStringLength:void 0;h&&h>As&&(Pt&&$.warn(`\`dom.maxStringLength\` cannot exceed ${As}, but a value of ${h} was configured. Sentry will use ${As} instead.`),h=As),typeof d=="string"&&(d=[d]);try{const y=a.event,S=ww(y)?y.target:y;u=Nt(S,{keyAttrs:d,maxStringLength:h}),c=Hm(S)}catch{u="<unknown>"}if(u.length===0)return;const p={category:`ui.${a.name}`,message:u};c&&(p.data={"ui.component_name":c}),ar(p,{event:a.event,name:a.name,global:a.global})}}function vw(n){return function(o){if(he()!==n)return;const a={category:"console",data:{arguments:o.args,logger:"console"},level:VE(o.level),message:Pp(o.args," ")};if(o.level==="assert")if(o.args[0]===!1)a.message=`Assertion failed: ${Pp(o.args.slice(1)," ")||"console.assert"}`,a.data.arguments=o.args.slice(1);else return;ar(a,{input:o.args,level:o.level})}}function Sw(n){return function(o){if(he()!==n)return;const{startTimestamp:a,endTimestamp:u}=o,c=o.xhr[br];if(!a||!u||!c)return;const{method:d,url:h,status_code:p,body:y}=c,S={method:d,url:h,status_code:p},v={xhr:o.xhr,input:y,startTimestamp:a,endTimestamp:u},I={category:"xhr",data:S,type:"http",level:bh(p)};n.emit("beforeOutgoingRequestBreadcrumb",I,v),ar(I,v)}}function Ew(n){return function(o){if(he()!==n)return;const{startTimestamp:a,endTimestamp:u}=o;if(u&&!(o.fetchData.url.match(/sentry_key/)&&o.fetchData.method==="POST"))if(o.fetchData.method,o.fetchData.url,o.error){const c=o.fetchData,d={data:o.error,input:o.args,startTimestamp:a,endTimestamp:u},h={category:"fetch",data:c,level:"error",type:"http"};n.emit("beforeOutgoingRequestBreadcrumb",h,d),ar(h,d)}else{const c=o.response,d={...o.fetchData,status_code:c==null?void 0:c.status};o.fetchData.request_body_size,o.fetchData.response_body_size,c==null||c.status;const h={input:o.args,response:c,startTimestamp:a,endTimestamp:u},p={category:"fetch",data:d,type:"http",level:bh(d.status_code)};n.emit("beforeOutgoingRequestBreadcrumb",p,h),ar(p,h)}}}function Tw(n){return function(o){if(he()!==n)return;let a=o.from,u=o.to;const c=or(ne.location.href);let d=a?or(a):void 0;const h=or(u);d!=null&&d.path||(d=c),c.protocol===h.protocol&&c.host===h.host&&(u=h.relative),c.protocol===d.protocol&&c.host===d.host&&(a=d.relative),ar({category:"navigation",data:{from:a,to:u}})}}function ww(n){return!!n&&!!n.target}const kw=["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"],Iw="BrowserApiErrors",Cw=(n={})=>{const r={XMLHttpRequest:!0,eventTarget:!0,requestAnimationFrame:!0,setInterval:!0,setTimeout:!0,unregisterOriginalCallbacks:!1,...n};return{name:Iw,setupOnce(){r.setTimeout&>(ne,"setTimeout",_m),r.setInterval&>(ne,"setInterval",_m),r.requestAnimationFrame&>(ne,"requestAnimationFrame",Nw),r.XMLHttpRequest&&"XMLHttpRequest"in ne&>(XMLHttpRequest.prototype,"send",Pw);const o=r.eventTarget;o&&(Array.isArray(o)?o:kw).forEach(u=>xw(u,r))}}},Rw=Cw;function _m(n){return function(...r){const o=r[0];return r[0]=Gr(o,{mechanism:{handled:!1,type:`auto.browser.browserapierrors.${on(n)}`}}),n.apply(this,r)}}function Nw(n){return function(r){return n.apply(this,[Gr(r,{mechanism:{data:{handler:on(n)},handled:!1,type:"auto.browser.browserapierrors.requestAnimationFrame"}})])}}function Pw(n){return function(...r){const o=this;return["onload","onerror","onprogress","onreadystatechange"].forEach(u=>{u in o&&typeof o[u]=="function"&>(o,u,function(c){const d={mechanism:{data:{handler:on(c)},handled:!1,type:`auto.browser.browserapierrors.xhr.${u}`}},h=Kl(c);return h&&(d.mechanism.data.handler=on(h)),Gr(c,d)})}),n.apply(this,r)}}function xw(n,r){var u,c;const a=(u=ne[n])==null?void 0:u.prototype;(c=a==null?void 0:a.hasOwnProperty)!=null&&c.call(a,"addEventListener")&&(gt(a,"addEventListener",function(d){return function(h,p,y){try{Lw(p)&&(p.handleEvent=Gr(p.handleEvent,{mechanism:{data:{handler:on(p),target:n},handled:!1,type:"auto.browser.browserapierrors.handleEvent"}}))}catch{}return r.unregisterOriginalCallbacks&&Aw(this,h,p),d.apply(this,[h,Gr(p,{mechanism:{data:{handler:on(p),target:n},handled:!1,type:"auto.browser.browserapierrors.addEventListener"}}),y])}}),gt(a,"removeEventListener",function(d){return function(h,p,y){try{const S=p.__sentry_wrapped__;S&&d.call(this,h,S,y)}catch{}return d.call(this,h,p,y)}}))}function Lw(n){return typeof n.handleEvent=="function"}function Aw(n,r,o){n&&typeof n=="object"&&"removeEventListener"in n&&typeof n.removeEventListener=="function"&&n.removeEventListener(r,o)}const Ow=(n={})=>{const r=n.lifecycle??"route";return{name:"BrowserSession",setupOnce(){if(typeof ne.document>"u"){Pt&&$.warn("Using the `browserSessionIntegration` in non-browser environments is not supported.");return}Qp({ignoreDuration:!0}),cl();const o=ln();let a=o.getUser();o.addScopeListener(u=>{const c=u.getUser();((a==null?void 0:a.id)!==(c==null?void 0:c.id)||(a==null?void 0:a.ip_address)!==(c==null?void 0:c.ip_address))&&(cl(),a=c)}),r==="route"&&mc(({from:u,to:c})=>{u!==c&&(Qp({ignoreDuration:!0}),cl())})}}},Dw="CultureContext",Mw=()=>({name:Dw,preprocessEvent(n){var o;const r=$w();r&&(n.contexts={...n.contexts,culture:{...r,...(o=n.contexts)==null?void 0:o.culture}})}}),Fw=Mw;function $w(){try{const n=ne.Intl;if(!n)return;const r=n.DateTimeFormat().resolvedOptions();return{locale:r.locale,timezone:r.timeZone,calendar:r.calendar}}catch{return}}const Uw="GlobalHandlers",bw=(n={})=>{const r={onerror:!0,onunhandledrejection:!0,...n};return{name:Uw,setupOnce(){Error.stackTraceLimit=50},setup(o){r.onerror&&(zw(o),vm("onerror")),r.onunhandledrejection&&(jw(o),vm("onunhandledrejection"))}}},ug=bw;function zw(n){$m(r=>{const{stackParser:o,attachStacktrace:a}=lg();if(he()!==n||Hh())return;const{msg:u,url:c,line:d,column:h,error:p}=r,y=Vw(cc(o,p||u,void 0,a,!1),c,d,h);y.level="error",_h(y,{originalException:p,mechanism:{handled:!1,type:"auto.browser.global_handlers.onerror"}})})}function jw(n){Um(r=>{const{stackParser:o,attachStacktrace:a}=lg();if(he()!==n||Hh())return;const u=Hw(r),c=jr(u)?Bw(u):cc(o,u,void 0,a,!0);c.level="error",_h(c,{originalException:u,mechanism:{handled:!1,type:"auto.browser.global_handlers.onunhandledrejection"}})})}function Hw(n){if(jr(n))return n;try{if("reason"in n)return n.reason;if("detail"in n&&"reason"in n.detail)return n.detail.reason}catch{}return n}function Bw(n){return{exception:{values:[{type:"UnhandledRejection",value:`Non-Error promise rejection captured with value: ${String(n)}`}]}}}function Vw(n,r,o,a){const u=n.exception=n.exception||{},c=u.values=u.values||[],d=c[0]=c[0]||{},h=d.stacktrace=d.stacktrace||{},p=h.frames=h.frames||[],y=a,S=o,v=Ww(r)??to();return p.length===0&&p.push({colno:y,filename:v,function:sr,in_app:!0,lineno:S}),n}function vm(n){Pt&&$.log(`Global Handler attached: ${n}`)}function lg(){const n=he();return(n==null?void 0:n.getOptions())||{stackParser:()=>[],attachStacktrace:!1}}function Ww(n){if(!(!nn(n)||n.length===0))return n.startsWith("data:")?`<${An(n,!1)}>`:n}const Gw=()=>({name:"HttpContext",preprocessEvent(n){var a;if(!ne.navigator&&!ne.location&&!ne.document)return;const r=ac(),o={...r.headers,...(a=n.request)==null?void 0:a.headers};n.request={...r,...n.request,headers:o}}}),qw="cause",Yw=5,Kw="LinkedErrors",Qw=(n={})=>{const r=n.limit||Yw,o=n.key||qw;return{name:Kw,preprocessEvent(a,u,c){const d=c.getOptions();jE(uc,d.stackParser,o,r,a,u)}}},cg=Qw;function Xw(){return Jw()?(Pt&&Kr(()=>{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 Jw(){var c;if(typeof ne.window>"u")return!1;const n=ne;if(n.nw)return!1;const r=n.chrome||n.browser;if(!((c=r==null?void 0:r.runtime)!=null&&c.id))return!1;const o=to(),a=["chrome-extension","moz-extension","ms-browser-extension","safari-web-extension"];return!(ne===ne.top&&a.some(d=>o.startsWith(`${d}://`)))}function Zw(n){return[OE(),PE(),JE(),Rw(),gw(),ug(),cg(),Fh(),Gw(),Fw(),Ow()]}function e1(n={}){const r=!n.skipBrowserExtensionCheck&&Xw();let o=n.defaultIntegrations==null?Zw():n.defaultIntegrations;const a={...n,enabled:r?!1:n.enabled,stackParser:D_(n.stackParser||pw),integrations:qS({integrations:n.integrations,defaultIntegrations:o}),transport:n.transport||ZT};return yE(x0,a)}function t1(n){return n.split(",").some(r=>r.trim().startsWith("sentry-"))}function fg(n){try{return new URL(n,ne.location.origin).href}catch{return}}function n1(n){return n.entryType==="resource"&&"initiatorType"in n&&typeof n.nextHopProtocol=="string"&&(n.initiatorType==="fetch"||n.initiatorType==="xmlhttprequest")}function dg(n){try{return new Headers(n)}catch{return}}const Sm=new WeakMap,_l=new Map,pg={traceFetch:!0,traceXHR:!0,enableHTTPTimings:!0,trackFetchStreamPerformance:!1};function r1(n,r){const{traceFetch:o,traceXHR:a,trackFetchStreamPerformance:u,shouldCreateSpanForRequest:c,enableHTTPTimings:d,tracePropagationTargets:h,onRequestSpanStart:p,onRequestSpanEnd:y}={...pg,...r},S=typeof c=="function"?c:P=>!0,v=P=>i1(P,h),I={},R=n.getOptions().propagateTraceparent;o&&(n.addEventProcessor(P=>(P.type==="transaction"&&P.spans&&P.spans.forEach(F=>{if(F.op==="http.client"){const U=_l.get(F.span_id);U&&(F.timestamp=U/1e3,_l.delete(F.span_id))}}),P)),u&&u0(P=>{if(P.response){const F=Sm.get(P.response);F&&P.endTimestamp&&_l.set(F,P.endTimestamp)}}),zh(P=>{const F=ZE(P,S,v,I,{propagateTraceparent:R,onRequestSpanEnd:y});if(P.response&&P.fetchData.__span&&Sm.set(P.response,P.fetchData.__span),F){const U=fg(P.fetchData.url),se=U?or(U).host:void 0;F.setAttributes({"http.url":U?An(U):void 0,"server.address":se}),d&&Em(F),p==null||p(F,{headers:P.headers})}})),a&&sg(P=>{var U;const F=o1(P,S,v,I,R,y);F&&(d&&Em(F),p==null||p(F,{headers:dg((U=P.xhr.__sentry_xhr_v3__)==null?void 0:U.request_headers)}))})}function Em(n){const{url:r}=de(n).data;if(!r||typeof r!="string")return;const o=qr("resource",({entries:a})=>{a.forEach(u=>{n1(u)&&u.name.endsWith(r)&&(n.setAttributes(og(u)),setTimeout(o))})})}function i1(n,r){const o=to();if(o){let a,u;try{a=new URL(n,o),u=new URL(o).origin}catch{return!1}const c=a.origin===u;return r?Ln(a.toString(),r)||c&&Ln(a.pathname,r):c}else{const a=!!n.match(/^\/(?!\/)/);return r?Ln(n,r):a}}function o1(n,r,o,a,u,c){const d=n.xhr,h=d==null?void 0:d[br];if(!d||d.__sentry_own_request__||!h)return;const{url:p,method:y}=h,S=Ut()&&r(p);if(n.endTimestamp){const se=d.__sentry_xhr_span_id__;if(!se)return;const _e=a[se];_e&&(S&&h.status_code!==void 0&&(Ym(_e,h.status_code),_e.end(),c==null||c(_e,{headers:dg(GT(d)),error:n.error})),delete a[se]);return}const v=fg(p),I=or(v||p),R=An(EE(p)),P=!!_t(),F=S&&P?ti({name:`${y} ${R}`,attributes:{url:An(p),type:"xhr","http.method":y,"http.url":v?An(v):void 0,"server.address":I==null?void 0:I.host,[$e]:"auto.http.browser",[un]:"http.client",...(I==null?void 0:I.search)&&{"http.query":I==null?void 0:I.search},...(I==null?void 0:I.hash)&&{"http.fragment":I==null?void 0:I.hash}}}):new Mn;d.__sentry_xhr_span_id__=F.spanContext().spanId,a[d.__sentry_xhr_span_id__]=F,o(p)&&s1(d,Ut()&&P?F:void 0,u);const U=he();return U&&U.emit("beforeOutgoingRequestSpan",F,n),F}function s1(n,r,o){const{"sentry-trace":a,baggage:u,traceparent:c}=Dh({span:r,propagateTraceparent:o});a&&a1(n,a,u,c)}function a1(n,r,o,a){var c;const u=(c=n.__sentry_xhr_v3__)==null?void 0:c.request_headers;if(!(u!=null&&u["sentry-trace"]||!n.setRequestHeader))try{if(n.setRequestHeader("sentry-trace",r),a&&!(u!=null&&u.traceparent)&&n.setRequestHeader("traceparent",a),o){const d=u==null?void 0:u.baggage;(!d||!t1(d))&&n.setRequestHeader("baggage",o)}}catch{}}function u1(){ne.document?ne.document.addEventListener("visibilitychange",()=>{const n=_t();if(!n)return;const r=tt(n);if(ne.document.hidden&&r){const o="cancelled",{op:a,status:u}=de(r);Pt&&$.log(`[Tracing] Transaction: ${o} -> since tab moved to the background, op: ${a}`),u||r.setStatus({code:Fe,message:o}),r.setAttribute("sentry.cancellation_reason","document.hidden"),r.end()}}):Pt&&$.warn("[Tracing] Could not set up background tab detection due to lack of global document")}const l1=3600,mg="sentry_previous_trace",c1="sentry.previous_trace";function f1(n,{linkPreviousTrace:r,consistentTraceSampling:o}){const a=r==="session-storage";let u=a?m1():void 0;n.on("spanStart",d=>{if(tt(d)!==d)return;const h=me().getPropagationContext();u=d1(u,d,h),a&&p1(u)});let c=!0;o&&n.on("beforeSampling",d=>{if(!u)return;const h=me(),p=h.getPropagationContext();if(c&&p.parentSpanId){c=!1;return}h.setPropagationContext({...p,dsc:{...p.dsc,sample_rate:String(u.sampleRate),sampled:String(Hl(u.spanContext))},sampleRand:u.sampleRand}),d.parentSampled=Hl(u.spanContext),d.parentSampleRate=u.sampleRate,d.spanAttributes={...d.spanAttributes,[qm]:u.sampleRate}})}function d1(n,r,o){const a=de(r);function u(){var h,p;try{return Number((h=o.dsc)==null?void 0:h.sample_rate)??Number((p=a.data)==null?void 0:p[Ql])}catch{return 0}}const c={spanContext:r.spanContext(),startTimestamp:a.start_timestamp,sampleRate:u(),sampleRand:o.sampleRand};if(!n)return c;const d=n.spanContext;return d.traceId===a.trace_id?n:(Date.now()/1e3-n.startTimestamp<=l1&&(Pt&&$.log(`Adding previous_trace \`${JSON.stringify(d)}\` link to span \`${JSON.stringify({op:a.op,...r.spanContext()})}\``),r.addLink({context:d,attributes:{[uv]:"previous_trace"}}),r.setAttribute(c1,`${d.traceId}-${d.spanId}-${Hl(d)?1:0}`)),c)}function p1(n){try{ne.sessionStorage.setItem(mg,JSON.stringify(n))}catch(r){Pt&&$.warn("Could not store previous trace in sessionStorage",r)}}function m1(){var n;try{const r=(n=ne.sessionStorage)==null?void 0:n.getItem(mg);return JSON.parse(r)}catch{return}}function Hl(n){return n.traceFlags===1}const h1="BrowserTracing",g1={...Us,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:{},...pg},y1=(n={})=>{const r={name:void 0,source:void 0},o=ne.document,{enableInp:a,enableElementTiming:u,enableLongTask:c,enableLongAnimationFrame:d,_experiments:{enableInteractions:h,enableStandaloneClsSpans:p,enableStandaloneLcpSpans:y},beforeStartSpan:S,idleTimeout:v,finalTimeout:I,childSpanTimeout:R,markBackgroundSpan:P,traceFetch:F,traceXHR:U,trackFetchStreamPerformance:se,shouldCreateSpanForRequest:_e,enableHTTPTimings:Oe,ignoreResourceSpans:xe,ignorePerformanceApiSpans:Xe,instrumentPageLoad:Le,instrumentNavigation:X,detectRedirects:ce,linkPreviousTrace:Je,consistentTraceSampling:nt,enableReportPageLoaded:Ue,onRequestSpanStart:Ge,onRequestSpanEnd:we}={...g1,...n};let re,be,ve;function fe(L,z,O=!0){const T=z.op==="pageload",N=z.name,Y=S?S(z):z,J=Y.attributes||{};if(N!==Y.name&&(J[Vt]="custom",Y.attributes=J),!O){const ae=lr();ti({...Y,startTime:ae}).end(ae);return}r.name=Y.name,r.source=J[Vt];const Z=hh(Y,{idleTimeout:v,finalTimeout:I,childSpanTimeout:R,disableAutoFinish:T,beforeSpanEnd:ae=>{re==null||re(),ST(ae,{recordClsOnPageloadSpan:!p,recordLcpOnPageloadSpan:!y,ignoreResourceSpans:xe,ignorePerformanceApiSpans:Xe}),km(L,void 0);const ue=me(),ge=ue.getPropagationContext();ue.setPropagationContext({...ge,traceId:Z.spanContext().traceId,sampled:bn(Z),dsc:Dn(ae)}),T&&(ve=void 0)},trimIdleSpanEndTimestamp:!Ue});T&&Ue&&(ve=Z),km(L,Z);function te(){o&&["interactive","complete"].includes(o.readyState)&&L.emit("idleSpanEnableAutoFinish",Z)}T&&!Ue&&o&&(o.addEventListener("readystatechange",()=>{te()}),te())}return{name:h1,setup(L){if(Uv(),re=pT({recordClsStandaloneSpans:p||!1,recordLcpStandaloneSpans:y||!1,client:L}),a&&YT(),u&&AT(),d&&oe.PerformanceObserver&&PerformanceObserver.supportedEntryTypes&&PerformanceObserver.supportedEntryTypes.includes("long-animation-frame")?hT():c&&mT(),h&&gT(),ce&&o){const O=()=>{be=Be()};addEventListener("click",O,{capture:!0}),addEventListener("keydown",O,{capture:!0,passive:!0})}function z(){const O=Zi(L);O&&!de(O).timestamp&&(Pt&&$.log(`[Tracing] Finishing current active span with op: ${de(O).op}`),O.setAttribute(Ki,"cancelled"),O.end())}L.on("startNavigationSpan",(O,T)=>{if(he()!==L)return;if(T!=null&&T.isRedirect){Pt&&$.warn("[Tracing] Detected redirect, navigation span will not be the root span, but a child span."),fe(L,{op:"navigation.redirect",...O},!1);return}be=void 0,z(),ln().setPropagationContext({traceId:an(),sampleRand:Math.random(),propagationSpanId:Ut()?void 0:rn()});const N=me();N.setPropagationContext({traceId:an(),sampleRand:Math.random(),propagationSpanId:Ut()?void 0:rn()}),N.setSDKProcessingMetadata({normalizedRequest:void 0}),fe(L,{op:"navigation",...O,parentSpan:null,forceTransaction:!0})}),L.on("startPageLoadSpan",(O,T={})=>{if(he()!==L)return;z();const N=T.sentryTrace||Tm("sentry-trace")||wm("sentry-trace"),Y=T.baggage||Tm("baggage")||wm("baggage"),J=Pv(N,Y),Z=me();Z.setPropagationContext(J),Ut()||(Z.getPropagationContext().propagationSpanId=rn()),Z.setSDKProcessingMetadata({normalizedRequest:ac()}),fe(L,{op:"pageload",...O})}),L.on("endPageloadSpan",()=>{Ue&&ve&&(ve.setAttribute(Ki,"reportPageLoaded"),ve.end())})},afterAllSetup(L){let z=to();if(Je!=="off"&&f1(L,{linkPreviousTrace:Je,consistentTraceSampling:nt}),ne.location){if(Le){const O=yt();_1(L,{name:ne.location.pathname,startTime:O?O/1e3:void 0,attributes:{[Vt]:"url",[$e]:"auto.pageload.browser"}})}X&&mc(({to:O,from:T})=>{if(T===void 0&&(z==null?void 0:z.indexOf(O))!==-1){z=void 0;return}z=void 0;const N=Oh(O),Y=Zi(L),J=Y&&ce&&E1(Y,be);v1(L,{name:(N==null?void 0:N.pathname)||ne.location.pathname,attributes:{[Vt]:"url",[$e]:"auto.navigation.browser"}},{url:O,isRedirect:J})})}P&&u1(),h&&S1(L,v,I,R,r),a&&XT(),r1(L,{traceFetch:F,traceXHR:U,trackFetchStreamPerformance:se,tracePropagationTargets:L.getOptions().tracePropagationTargets,shouldCreateSpanForRequest:_e,enableHTTPTimings:Oe,onRequestSpanStart:Ge,onRequestSpanEnd:we})}}};function _1(n,r,o){n.emit("startPageLoadSpan",r,o),me().setTransactionName(r.name);const a=Zi(n);return a&&n.emit("afterStartPageLoadSpan",a),a}function v1(n,r,o){const{url:a,isRedirect:u}=o||{};n.emit("beforeStartNavigationSpan",r,{isRedirect:u}),n.emit("startNavigationSpan",r,{isRedirect:u});const c=me();return c.setTransactionName(r.name),a&&!u&&c.setSDKProcessingMetadata({normalizedRequest:{...ac(),url:a}}),Zi(n)}function Tm(n){const r=ne.document,o=r==null?void 0:r.querySelector(`meta[name=${n}]`);return(o==null?void 0:o.getAttribute("content"))||void 0}function wm(n){var a,u,c;const r=(u=(a=ne.performance)==null?void 0:a.getEntriesByType)==null?void 0:u.call(a,"navigation")[0],o=(c=r==null?void 0:r.serverTiming)==null?void 0:c.find(d=>d.name===n);return o==null?void 0:o.description}function S1(n,r,o,a,u){const c=ne.document;let d;const h=()=>{const p="ui.action.click",y=Zi(n);if(y){const S=de(y).op;if(["navigation","pageload"].includes(S)){Pt&&$.warn(`[Tracing] Did not create ${p} span because a pageload or navigation span is in progress.`);return}}if(d&&(d.setAttribute(Ki,"interactionInterrupted"),d.end(),d=void 0),!u.name){Pt&&$.warn(`[Tracing] Did not create ${p} transaction because _latestRouteName is missing.`);return}d=hh({name:u.name,op:p,attributes:{[Vt]:u.source||"url"}},{idleTimeout:r,finalTimeout:o,childSpanTimeout:a})};c&&addEventListener("click",h,{capture:!0})}const hg="_sentry_idleSpan";function Zi(n){return n[hg]}function km(n,r){ct(n,hg,r)}const Im=1.5;function E1(n,r){const o=de(n),a=lr(),u=o.start_timestamp;return!(a-u>Im||r&&a-r<=Im)}var vl={},Wi={},Sl={},Zn={},Cm;function T1(){if(Cm)return Zn;Cm=1,Object.defineProperty(Zn,"__esModule",{value:!0}),Zn.getEnvFromQueryParam=Zn.getEnvFromTLD=void 0;const n=hc();function r(a){const{host:u}=a;return u.endsWith(".org")||u.endsWith(".co")?n.Env.PRODUCTION:u.endsWith(".today")||u.endsWith(".net")?n.Env.STAGING:u.endsWith(".io")||u.endsWith(".zone")?n.Env.DEVELOPMENT:null}Zn.getEnvFromTLD=r;function o(a){const u=new URLSearchParams(a.search),c=u.get("ENV")||u.get("env");if(c){const d=c.toLowerCase();if((0,n.isEnv)(d))return d}return null}return Zn.getEnvFromQueryParam=o,Zn}var Rm;function hc(){return Rm||(Rm=1,function(n){var r={};Object.defineProperty(n,"__esModule",{value:!0}),n.getEnv=n.getDefaultEnv=n.parseEnvVar=n.isEnv=n.getEnvList=n.Env=void 0;const o=T1();var a;(function(y){y.DEVELOPMENT="dev",y.STAGING="stg",y.PRODUCTION="prod"})(a=n.Env||(n.Env={}));function u(){return Object.values(a)}n.getEnvList=u;function c(y){return u().includes(y)}n.isEnv=c;function d(y){if(c(y))return y;throw new Error(`Invalid value for DCL_DEFAULT_ENV. Found "${y}", possible values are ${u().map(S=>`"${S}"`).join(", ")}.`)}n.parseEnvVar=d;function h(y={}){const{DCL_DEFAULT_ENV:S,REACT_APP_DCL_DEFAULT_ENV:v,VITE_DCL_DEFAULT_ENV:I,GATSBY_DCL_DEFAULT_ENV:R}=y;if(S&&v&&S!==v)throw new Error("You have defined both DCL_DEFAULT_ENV and REACT_APP_DCL_DEFAULT_ENV with different values");if(S&&I&&S!==I)throw new Error("You have defined both DCL_DEFAULT_ENV and VITE_DCL_DEFAULT_ENV with different values");if(S&&R&&S!==R)throw new Error("You have defined both DCL_DEFAULT_ENV and GATSBY_DCL_DEFAULT_ENV with different values");if(v&&R&&v!==R)throw new Error("You have defined both REACT_APP_DCL_DEFAULT_ENV and GATSBY_DCL_DEFAULT_ENV with different values");return S?d(S):v?d(v):I?d(I):R?d(R):a.PRODUCTION}n.getDefaultEnv=h;function p(y){if(typeof window<"u"){const v=(0,o.getEnvFromQueryParam)(window.location);if(v)return v;const I=(0,o.getEnvFromTLD)(window.location);if(I)return I}return h(typeof y>"u"&&typeof process=="object"&&typeof r=="object"?r:y)}n.getEnv=p}(Sl)),Sl}var Nm;function w1(){if(Nm)return Wi;Nm=1,Object.defineProperty(Wi,"__esModule",{value:!0}),Wi.createConfig=void 0;const n=hc();function r(o,a){const u=(0,n.getEnv)(a==null?void 0:a.systemEnvVariables),c=o[u];return{get:(d,h="")=>{if(!c)throw new Error(`Could not find a config for env=${u}`);return d in c?c[d]:h},is:d=>u===d,getEnv:()=>u}}return Wi.createConfig=r,Wi}var Pm;function k1(){return Pm||(Pm=1,function(n){Object.defineProperty(n,"__esModule",{value:!0}),n.getEnv=n.Env=n.createConfig=void 0;var r=w1();Object.defineProperty(n,"createConfig",{enumerable:!0,get:function(){return r.createConfig}});var o=hc();Object.defineProperty(n,"Env",{enumerable:!0,get:function(){return o.Env}}),Object.defineProperty(n,"getEnv",{enumerable:!0,get:function(){return o.getEnv}})}(vl)),vl}var Gi=k1();const I1="development",C1="https://marketplace-api.decentraland.zone",R1="https://fc6203205a7c4a0e1408cc9e7fdad2be@o4504361728212992.ingest.us.sentry.io/4510982059130880",N1="https://peer-ap1.decentraland.zone",P1="amoy",x1={ENVIRONMENT:I1,MARKETPLACE_SERVER_URL:C1,SENTRY_DSN:R1,PEER_URL:N1,NETWORK:P1},L1="staging",A1="https://marketplace-api.decentraland.org",O1="https://fc6203205a7c4a0e1408cc9e7fdad2be@o4504361728212992.ingest.us.sentry.io/4510982059130880",D1="https://peer.decentraland.org",M1="matic",F1={ENVIRONMENT:L1,MARKETPLACE_SERVER_URL:A1,SENTRY_DSN:O1,PEER_URL:D1,NETWORK:M1},$1="production",U1="https://marketplace-api.decentraland.org",b1="https://fc6203205a7c4a0e1408cc9e7fdad2be@o4504361728212992.ingest.us.sentry.io/4510982059130880",z1="https://peer.decentraland.org",j1="matic",H1={ENVIRONMENT:$1,MARKETPLACE_SERVER_URL:U1,SENTRY_DSN:b1,PEER_URL:z1,NETWORK:j1},Os=Gi.createConfig({[Gi.Env.DEVELOPMENT]:x1,[Gi.Env.STAGING]:F1,[Gi.Env.PRODUCTION]:H1});let gc;function B1(){const n=Os.get("SENTRY_DSN"),r=Os.get("ENVIRONMENT"),o=`${Os.get("SENTRY_RELEASE_PREFIX","wearable-preview")}@2.14.2`,a=!Os.is(Gi.Env.DEVELOPMENT);gc=e1({dsn:n,environment:r,release:o,enabled:a,defaultIntegrations:!1,integrations:[ug(),cg(),Fh(),y1({enableLongTask:!1,enableLongAnimationFrame:!1,enableInp:!1,enableElementTiming:!1})],initialScope:{tags:{app:"wearable-preview",parentUrl:document.referrer||"unknown"}}}),console.log("Sentry initialized",{environment:r,dsn:n,release:o})}function V1(n,r){gc&&yh(n,r?{extra:r}:void 0)}function Z1(n,r){gc&&bS(n,{extra:r})}const W1=()=>{const n=navigator.userAgent.toLowerCase();let r="Unknown",o="Unknown",a="Unknown";if(/android/.test(n)){r="Android";const u=n.match(/android\s*([0-9.]+)/);u&&(a=u[1])}else if(/iphone|ipad|ipod/.test(n)){r="iOS";const u=n.match(/os\s*([0-9_]+)/);u&&(a=u[1].replace(/_/g,"."))}else if(/macintosh|mac os x/.test(n)){r="macOS";const u=n.match(/mac os x\s*([0-9_]+)/);u&&(a=u[1].replace(/_/g,"."))}else if(/windows/.test(n)){r="Windows";const u=n.match(/windows nt\s*([0-9.]+)/);u&&(a=u[1])}else if(/linux/.test(n)){r="Linux";const u=n.match(/\(([^)]+)\)/);u&&(a=u[1])}if(/chrome|crios/.test(n)){o="Chrome";const u=n.match(/(?:chrome|crios)\/([0-9.]+)/);u&&(a=u[1])}else if(/firefox|fxios/.test(n)){o="Firefox";const u=n.match(/(?:firefox|fxios)\/([0-9.]+)/);u&&(a=u[1])}else if(/safari/.test(n)&&!/chrome|crios|android/.test(n)){o="Safari";const u=n.match(/version\/([0-9.]+)/);u&&(a=u[1])}else if(/edg/.test(n)){o="Edge";const u=n.match(/edg\/([0-9.]+)/);u&&(a=u[1])}return{platform:r,browser:o,version:a}},G1=async()=>{const{platform:n,browser:r,version:o}=W1();if(!navigator.gpu)return console.warn("❌ navigator.gpu is not available"),{isSupported:!1,isAvailable:!1,error:"WebGPU is not supported in this browser. Please use a compatible browser.",platform:n,browser:r,platformVersion:o,browserVersion:o};try{const a=await navigator.gpu.requestAdapter();return a?await a.requestDevice()?{isSupported:!0,isAvailable:!0,platform:n,browser:r,platformVersion:o,browserVersion:o}:(console.warn("❌ Failed to create WebGPU device"),{isSupported:!0,isAvailable:!1,error:"WebGPU adapter found but failed to create device. This might be due to hardware limitations or driver issues.",platform:n,browser:r,platformVersion:o,browserVersion:o}):(console.warn("❌ No WebGPU adapter available"),{isSupported:!0,isAvailable:!1,error:"WebGPU is supported but no adapter is available. This might be due to hardware limitations or driver issues.",platform:n,browser:r,platformVersion:o,browserVersion:o})}catch(a){return console.error("❌ WebGPU detection error:",a),V1(a,{phase:"detectWebGPU"}),{isSupported:!0,isAvailable:!1,error:`WebGPU is supported but failed to initialize: ${a instanceof Error?a.message:"Unknown error"}`,platform:n,browser:r,platformVersion:o,browserVersion:o}}},q1=Lm.lazy(()=>xm(()=>import("./UnityPreview-bNRZ1RmV.js"),__vite__mapDeps([0,1,2]),import.meta.url)),Y1=Lm.lazy(()=>xm(()=>import("./Preview-DOkVVEzm.js").then(n=>n.my),__vite__mapDeps([3,1,4]),import.meta.url));B1();const K1=()=>{const r=new URLSearchParams(window.location.search).get("unity")==="true",{isAvailable:o}=C_(),a=r&&o;return tr.jsx(eo.Suspense,{fallback:null,children:a?tr.jsx(q1,{}):tr.jsx(Y1,{})})},Q1=async()=>{const n=await G1();w_.createRoot(document.getElementById("root")).render(tr.jsx(eo.StrictMode,{children:tr.jsx(k_,{value:n,children:tr.jsx(K1,{})})}))};Q1();export{Lm as R,xm as _,V1 as a,Os as b,Z1 as c,J1 as d,X1 as e,m_ as g,tr as j,eo as r};
|
|
61
|
+
`).reduce((o,a)=>{const[u,c]=a.split(": ");return c&&(o[u.toLowerCase()]=c),o},{}):{}}const yl=[],Bs=new Map,$r=new Map,qT=60;function YT(){if(ho()&&yt()){const r=KT();return()=>{r()}}return()=>{}}const zl={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 KT(){return J0(QT)}const QT=({metric:n})=>{if(n.value==null)return;const r=Re(n.value);if(r>qT)return;const o=n.entries.find(P=>P.duration===n.value&&zl[P.name]);if(!o)return;const{interactionId:a}=o,u=zl[o.name],c=Re(yt()+o.startTime),d=_t(),h=d?tt(d):void 0,p=a!=null?Bs.get(a):void 0,y=(p==null?void 0:p.span)||h,S=y?de(y).description:me().getScopeData().transactionName,v=(p==null?void 0:p.elementName)||Nt(o.target),I={[$e]:"auto.http.browser.inp",[un]:`ui.interaction.${u}`,[Zr]:o.duration},R=pc({name:v,transaction:S,attributes:I,startTime:c});R&&(R.addEvent("inp",{[oo]:"millisecond",[so]:n.value}),R.end(c+r))};function XT(){const n=Object.keys(zl);g0()&&n.forEach(u=>{Q.addEventListener(u,r,{capture:!0,passive:!0})});function r(u){const c=u.target;if(!c)return;const d=Nt(c),h=Math.round(u.timeStamp);if($r.set(h,d),$r.size>50){const p=$r.keys().next().value;p!==void 0&&$r.delete(p)}}function o(u){const c=Math.round(u.startTime);let d=$r.get(c);if(!d)for(let h=-5;h<=5;h++){const p=$r.get(c+h);if(p){d=p;break}}return d||"<unknown>"}const a=({entries:u})=>{const c=_t(),d=c&&tt(c);u.forEach(h=>{if(!iT(h))return;const p=h.interactionId;if(p==null||Bs.has(p))return;const y=h.target?Nt(h.target):o(h);if(yl.length>10){const S=yl.shift();Bs.delete(S)}yl.push(p),Bs.set(p,{span:d,elementName:y})})};qr("event",a),qr("first-input",a)}const JT=40;function ZT(n,r=HT("fetch")){let o=0,a=0;async function u(c){const d=c.body.length;o+=d,a++;const h={body:c.body,method:"POST",referrerPolicy:"strict-origin",headers:n.headers,keepalive:o<=6e4&&a<15,...n.fetchOptions};try{const p=await r(n.url,h);return{statusCode:p.status,headers:{"x-sentry-rate-limits":p.headers.get("X-Sentry-Rate-Limits"),"retry-after":p.headers.get("Retry-After")}}}catch(p){throw BT("fetch"),p}finally{o-=d,a--}}return sE(n,u,sc(n.bufferSize||JT))}const Pt=typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__,ew=30,tw=50;function jl(n,r,o,a){const u={filename:n,function:r==="<anonymous>"?sr:r,in_app:!0};return o!==void 0&&(u.lineno=o),a!==void 0&&(u.colno=a),u}const nw=/^\s*at (\S+?)(?::(\d+))(?::(\d+))\s*$/i,rw=/^\s*at (?:(.+?\)(?: \[.+\])?|.*?) ?\((?:address at )?)?(?:async )?((?:<anonymous>|[-a-z]+:|.*bundle|\/)?.*?)(?::(\d+))?(?::(\d+))?\)?\s*$/i,iw=/\((\S*)(?::(\d+))(?::(\d+))\)/,ow=/at (.+?) ?\(data:(.+?),/,sw=n=>{const r=n.match(ow);if(r)return{filename:`<data:${r[2]}>`,function:r[1]};const o=nw.exec(n);if(o){const[,u,c,d]=o;return jl(u,sr,+c,+d)}const a=rw.exec(n);if(a){if(a[2]&&a[2].indexOf("eval")===0){const h=iw.exec(a[2]);h&&(a[2]=h[1],a[3]=h[2],a[4]=h[3])}const[c,d]=ag(a[1]||sr,a[2]);return jl(d,c,a[3]?+a[3]:void 0,a[4]?+a[4]:void 0)}},aw=[ew,sw],uw=/^\s*(.*?)(?:\((.*?)\))?(?:^|@)?((?:[-a-z]+)?:\/.*?|\[native code\]|[^@]*(?:bundle|\d+\.js)|\/[\w\-. /=]+)(?::(\d+))?(?::(\d+))?\s*$/i,lw=/(\S+) line (\d+)(?: > eval line \d+)* > eval/i,cw=n=>{const r=uw.exec(n);if(r){if(r[3]&&r[3].indexOf(" > eval")>-1){const c=lw.exec(r[3]);c&&(r[1]=r[1]||"eval",r[3]=c[1],r[4]=c[2],r[5]="")}let a=r[3],u=r[1]||sr;return[u,a]=ag(u,a),jl(a,u,r[4]?+r[4]:void 0,r[5]?+r[5]:void 0)}},fw=[tw,cw],dw=[aw,fw],pw=Mm(...dw),ag=(n,r)=>{const o=n.indexOf("safari-extension")!==-1,a=n.indexOf("safari-web-extension")!==-1;return o||a?[n.indexOf("@")!==-1?n.split("@")[0]:sr,o?`safari-extension:${r}`:`safari-web-extension:${r}`]:[n,r]},As=1024,mw="Breadcrumbs",hw=(n={})=>{const r={console:!0,dom:!0,fetch:!0,history:!0,sentry:!0,xhr:!0,...n};return{name:mw,setup(o){r.console&&HE(vw(o)),r.dom&&MT(_w(o,r.dom)),r.xhr&&sg(Sw(o)),r.fetch&&zh(Ew(o)),r.history&&mc(Tw(o)),r.sentry&&o.on("beforeSendEvent",yw(o))}}},gw=hw;function yw(n){return function(o){he()===n&&ar({category:`sentry.${o.type==="transaction"?"transaction":"event"}`,event_id:o.event_id,level:o.level,message:er(o)},{event:o})}}function _w(n,r){return function(a){if(he()!==n)return;let u,c,d=typeof r=="object"?r.serializeAttribute:void 0,h=typeof r=="object"&&typeof r.maxStringLength=="number"?r.maxStringLength:void 0;h&&h>As&&(Pt&&$.warn(`\`dom.maxStringLength\` cannot exceed ${As}, but a value of ${h} was configured. Sentry will use ${As} instead.`),h=As),typeof d=="string"&&(d=[d]);try{const y=a.event,S=ww(y)?y.target:y;u=Nt(S,{keyAttrs:d,maxStringLength:h}),c=Hm(S)}catch{u="<unknown>"}if(u.length===0)return;const p={category:`ui.${a.name}`,message:u};c&&(p.data={"ui.component_name":c}),ar(p,{event:a.event,name:a.name,global:a.global})}}function vw(n){return function(o){if(he()!==n)return;const a={category:"console",data:{arguments:o.args,logger:"console"},level:VE(o.level),message:Pp(o.args," ")};if(o.level==="assert")if(o.args[0]===!1)a.message=`Assertion failed: ${Pp(o.args.slice(1)," ")||"console.assert"}`,a.data.arguments=o.args.slice(1);else return;ar(a,{input:o.args,level:o.level})}}function Sw(n){return function(o){if(he()!==n)return;const{startTimestamp:a,endTimestamp:u}=o,c=o.xhr[br];if(!a||!u||!c)return;const{method:d,url:h,status_code:p,body:y}=c,S={method:d,url:h,status_code:p},v={xhr:o.xhr,input:y,startTimestamp:a,endTimestamp:u},I={category:"xhr",data:S,type:"http",level:bh(p)};n.emit("beforeOutgoingRequestBreadcrumb",I,v),ar(I,v)}}function Ew(n){return function(o){if(he()!==n)return;const{startTimestamp:a,endTimestamp:u}=o;if(u&&!(o.fetchData.url.match(/sentry_key/)&&o.fetchData.method==="POST"))if(o.fetchData.method,o.fetchData.url,o.error){const c=o.fetchData,d={data:o.error,input:o.args,startTimestamp:a,endTimestamp:u},h={category:"fetch",data:c,level:"error",type:"http"};n.emit("beforeOutgoingRequestBreadcrumb",h,d),ar(h,d)}else{const c=o.response,d={...o.fetchData,status_code:c==null?void 0:c.status};o.fetchData.request_body_size,o.fetchData.response_body_size,c==null||c.status;const h={input:o.args,response:c,startTimestamp:a,endTimestamp:u},p={category:"fetch",data:d,type:"http",level:bh(d.status_code)};n.emit("beforeOutgoingRequestBreadcrumb",p,h),ar(p,h)}}}function Tw(n){return function(o){if(he()!==n)return;let a=o.from,u=o.to;const c=or(ne.location.href);let d=a?or(a):void 0;const h=or(u);d!=null&&d.path||(d=c),c.protocol===h.protocol&&c.host===h.host&&(u=h.relative),c.protocol===d.protocol&&c.host===d.host&&(a=d.relative),ar({category:"navigation",data:{from:a,to:u}})}}function ww(n){return!!n&&!!n.target}const kw=["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"],Iw="BrowserApiErrors",Cw=(n={})=>{const r={XMLHttpRequest:!0,eventTarget:!0,requestAnimationFrame:!0,setInterval:!0,setTimeout:!0,unregisterOriginalCallbacks:!1,...n};return{name:Iw,setupOnce(){r.setTimeout&>(ne,"setTimeout",_m),r.setInterval&>(ne,"setInterval",_m),r.requestAnimationFrame&>(ne,"requestAnimationFrame",Nw),r.XMLHttpRequest&&"XMLHttpRequest"in ne&>(XMLHttpRequest.prototype,"send",Pw);const o=r.eventTarget;o&&(Array.isArray(o)?o:kw).forEach(u=>xw(u,r))}}},Rw=Cw;function _m(n){return function(...r){const o=r[0];return r[0]=Gr(o,{mechanism:{handled:!1,type:`auto.browser.browserapierrors.${on(n)}`}}),n.apply(this,r)}}function Nw(n){return function(r){return n.apply(this,[Gr(r,{mechanism:{data:{handler:on(n)},handled:!1,type:"auto.browser.browserapierrors.requestAnimationFrame"}})])}}function Pw(n){return function(...r){const o=this;return["onload","onerror","onprogress","onreadystatechange"].forEach(u=>{u in o&&typeof o[u]=="function"&>(o,u,function(c){const d={mechanism:{data:{handler:on(c)},handled:!1,type:`auto.browser.browserapierrors.xhr.${u}`}},h=Kl(c);return h&&(d.mechanism.data.handler=on(h)),Gr(c,d)})}),n.apply(this,r)}}function xw(n,r){var u,c;const a=(u=ne[n])==null?void 0:u.prototype;(c=a==null?void 0:a.hasOwnProperty)!=null&&c.call(a,"addEventListener")&&(gt(a,"addEventListener",function(d){return function(h,p,y){try{Lw(p)&&(p.handleEvent=Gr(p.handleEvent,{mechanism:{data:{handler:on(p),target:n},handled:!1,type:"auto.browser.browserapierrors.handleEvent"}}))}catch{}return r.unregisterOriginalCallbacks&&Aw(this,h,p),d.apply(this,[h,Gr(p,{mechanism:{data:{handler:on(p),target:n},handled:!1,type:"auto.browser.browserapierrors.addEventListener"}}),y])}}),gt(a,"removeEventListener",function(d){return function(h,p,y){try{const S=p.__sentry_wrapped__;S&&d.call(this,h,S,y)}catch{}return d.call(this,h,p,y)}}))}function Lw(n){return typeof n.handleEvent=="function"}function Aw(n,r,o){n&&typeof n=="object"&&"removeEventListener"in n&&typeof n.removeEventListener=="function"&&n.removeEventListener(r,o)}const Ow=(n={})=>{const r=n.lifecycle??"route";return{name:"BrowserSession",setupOnce(){if(typeof ne.document>"u"){Pt&&$.warn("Using the `browserSessionIntegration` in non-browser environments is not supported.");return}Qp({ignoreDuration:!0}),cl();const o=ln();let a=o.getUser();o.addScopeListener(u=>{const c=u.getUser();((a==null?void 0:a.id)!==(c==null?void 0:c.id)||(a==null?void 0:a.ip_address)!==(c==null?void 0:c.ip_address))&&(cl(),a=c)}),r==="route"&&mc(({from:u,to:c})=>{u!==c&&(Qp({ignoreDuration:!0}),cl())})}}},Dw="CultureContext",Mw=()=>({name:Dw,preprocessEvent(n){var o;const r=$w();r&&(n.contexts={...n.contexts,culture:{...r,...(o=n.contexts)==null?void 0:o.culture}})}}),Fw=Mw;function $w(){try{const n=ne.Intl;if(!n)return;const r=n.DateTimeFormat().resolvedOptions();return{locale:r.locale,timezone:r.timeZone,calendar:r.calendar}}catch{return}}const Uw="GlobalHandlers",bw=(n={})=>{const r={onerror:!0,onunhandledrejection:!0,...n};return{name:Uw,setupOnce(){Error.stackTraceLimit=50},setup(o){r.onerror&&(zw(o),vm("onerror")),r.onunhandledrejection&&(jw(o),vm("onunhandledrejection"))}}},ug=bw;function zw(n){$m(r=>{const{stackParser:o,attachStacktrace:a}=lg();if(he()!==n||Hh())return;const{msg:u,url:c,line:d,column:h,error:p}=r,y=Vw(cc(o,p||u,void 0,a,!1),c,d,h);y.level="error",_h(y,{originalException:p,mechanism:{handled:!1,type:"auto.browser.global_handlers.onerror"}})})}function jw(n){Um(r=>{const{stackParser:o,attachStacktrace:a}=lg();if(he()!==n||Hh())return;const u=Hw(r),c=jr(u)?Bw(u):cc(o,u,void 0,a,!0);c.level="error",_h(c,{originalException:u,mechanism:{handled:!1,type:"auto.browser.global_handlers.onunhandledrejection"}})})}function Hw(n){if(jr(n))return n;try{if("reason"in n)return n.reason;if("detail"in n&&"reason"in n.detail)return n.detail.reason}catch{}return n}function Bw(n){return{exception:{values:[{type:"UnhandledRejection",value:`Non-Error promise rejection captured with value: ${String(n)}`}]}}}function Vw(n,r,o,a){const u=n.exception=n.exception||{},c=u.values=u.values||[],d=c[0]=c[0]||{},h=d.stacktrace=d.stacktrace||{},p=h.frames=h.frames||[],y=a,S=o,v=Ww(r)??to();return p.length===0&&p.push({colno:y,filename:v,function:sr,in_app:!0,lineno:S}),n}function vm(n){Pt&&$.log(`Global Handler attached: ${n}`)}function lg(){const n=he();return(n==null?void 0:n.getOptions())||{stackParser:()=>[],attachStacktrace:!1}}function Ww(n){if(!(!nn(n)||n.length===0))return n.startsWith("data:")?`<${An(n,!1)}>`:n}const Gw=()=>({name:"HttpContext",preprocessEvent(n){var a;if(!ne.navigator&&!ne.location&&!ne.document)return;const r=ac(),o={...r.headers,...(a=n.request)==null?void 0:a.headers};n.request={...r,...n.request,headers:o}}}),qw="cause",Yw=5,Kw="LinkedErrors",Qw=(n={})=>{const r=n.limit||Yw,o=n.key||qw;return{name:Kw,preprocessEvent(a,u,c){const d=c.getOptions();jE(uc,d.stackParser,o,r,a,u)}}},cg=Qw;function Xw(){return Jw()?(Pt&&Kr(()=>{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 Jw(){var c;if(typeof ne.window>"u")return!1;const n=ne;if(n.nw)return!1;const r=n.chrome||n.browser;if(!((c=r==null?void 0:r.runtime)!=null&&c.id))return!1;const o=to(),a=["chrome-extension","moz-extension","ms-browser-extension","safari-web-extension"];return!(ne===ne.top&&a.some(d=>o.startsWith(`${d}://`)))}function Zw(n){return[OE(),PE(),JE(),Rw(),gw(),ug(),cg(),Fh(),Gw(),Fw(),Ow()]}function e1(n={}){const r=!n.skipBrowserExtensionCheck&&Xw();let o=n.defaultIntegrations==null?Zw():n.defaultIntegrations;const a={...n,enabled:r?!1:n.enabled,stackParser:D_(n.stackParser||pw),integrations:qS({integrations:n.integrations,defaultIntegrations:o}),transport:n.transport||ZT};return yE(x0,a)}function t1(n){return n.split(",").some(r=>r.trim().startsWith("sentry-"))}function fg(n){try{return new URL(n,ne.location.origin).href}catch{return}}function n1(n){return n.entryType==="resource"&&"initiatorType"in n&&typeof n.nextHopProtocol=="string"&&(n.initiatorType==="fetch"||n.initiatorType==="xmlhttprequest")}function dg(n){try{return new Headers(n)}catch{return}}const Sm=new WeakMap,_l=new Map,pg={traceFetch:!0,traceXHR:!0,enableHTTPTimings:!0,trackFetchStreamPerformance:!1};function r1(n,r){const{traceFetch:o,traceXHR:a,trackFetchStreamPerformance:u,shouldCreateSpanForRequest:c,enableHTTPTimings:d,tracePropagationTargets:h,onRequestSpanStart:p,onRequestSpanEnd:y}={...pg,...r},S=typeof c=="function"?c:P=>!0,v=P=>i1(P,h),I={},R=n.getOptions().propagateTraceparent;o&&(n.addEventProcessor(P=>(P.type==="transaction"&&P.spans&&P.spans.forEach(F=>{if(F.op==="http.client"){const U=_l.get(F.span_id);U&&(F.timestamp=U/1e3,_l.delete(F.span_id))}}),P)),u&&u0(P=>{if(P.response){const F=Sm.get(P.response);F&&P.endTimestamp&&_l.set(F,P.endTimestamp)}}),zh(P=>{const F=ZE(P,S,v,I,{propagateTraceparent:R,onRequestSpanEnd:y});if(P.response&&P.fetchData.__span&&Sm.set(P.response,P.fetchData.__span),F){const U=fg(P.fetchData.url),se=U?or(U).host:void 0;F.setAttributes({"http.url":U?An(U):void 0,"server.address":se}),d&&Em(F),p==null||p(F,{headers:P.headers})}})),a&&sg(P=>{var U;const F=o1(P,S,v,I,R,y);F&&(d&&Em(F),p==null||p(F,{headers:dg((U=P.xhr.__sentry_xhr_v3__)==null?void 0:U.request_headers)}))})}function Em(n){const{url:r}=de(n).data;if(!r||typeof r!="string")return;const o=qr("resource",({entries:a})=>{a.forEach(u=>{n1(u)&&u.name.endsWith(r)&&(n.setAttributes(og(u)),setTimeout(o))})})}function i1(n,r){const o=to();if(o){let a,u;try{a=new URL(n,o),u=new URL(o).origin}catch{return!1}const c=a.origin===u;return r?Ln(a.toString(),r)||c&&Ln(a.pathname,r):c}else{const a=!!n.match(/^\/(?!\/)/);return r?Ln(n,r):a}}function o1(n,r,o,a,u,c){const d=n.xhr,h=d==null?void 0:d[br];if(!d||d.__sentry_own_request__||!h)return;const{url:p,method:y}=h,S=Ut()&&r(p);if(n.endTimestamp){const se=d.__sentry_xhr_span_id__;if(!se)return;const _e=a[se];_e&&(S&&h.status_code!==void 0&&(Ym(_e,h.status_code),_e.end(),c==null||c(_e,{headers:dg(GT(d)),error:n.error})),delete a[se]);return}const v=fg(p),I=or(v||p),R=An(EE(p)),P=!!_t(),F=S&&P?ti({name:`${y} ${R}`,attributes:{url:An(p),type:"xhr","http.method":y,"http.url":v?An(v):void 0,"server.address":I==null?void 0:I.host,[$e]:"auto.http.browser",[un]:"http.client",...(I==null?void 0:I.search)&&{"http.query":I==null?void 0:I.search},...(I==null?void 0:I.hash)&&{"http.fragment":I==null?void 0:I.hash}}}):new Mn;d.__sentry_xhr_span_id__=F.spanContext().spanId,a[d.__sentry_xhr_span_id__]=F,o(p)&&s1(d,Ut()&&P?F:void 0,u);const U=he();return U&&U.emit("beforeOutgoingRequestSpan",F,n),F}function s1(n,r,o){const{"sentry-trace":a,baggage:u,traceparent:c}=Dh({span:r,propagateTraceparent:o});a&&a1(n,a,u,c)}function a1(n,r,o,a){var c;const u=(c=n.__sentry_xhr_v3__)==null?void 0:c.request_headers;if(!(u!=null&&u["sentry-trace"]||!n.setRequestHeader))try{if(n.setRequestHeader("sentry-trace",r),a&&!(u!=null&&u.traceparent)&&n.setRequestHeader("traceparent",a),o){const d=u==null?void 0:u.baggage;(!d||!t1(d))&&n.setRequestHeader("baggage",o)}}catch{}}function u1(){ne.document?ne.document.addEventListener("visibilitychange",()=>{const n=_t();if(!n)return;const r=tt(n);if(ne.document.hidden&&r){const o="cancelled",{op:a,status:u}=de(r);Pt&&$.log(`[Tracing] Transaction: ${o} -> since tab moved to the background, op: ${a}`),u||r.setStatus({code:Fe,message:o}),r.setAttribute("sentry.cancellation_reason","document.hidden"),r.end()}}):Pt&&$.warn("[Tracing] Could not set up background tab detection due to lack of global document")}const l1=3600,mg="sentry_previous_trace",c1="sentry.previous_trace";function f1(n,{linkPreviousTrace:r,consistentTraceSampling:o}){const a=r==="session-storage";let u=a?m1():void 0;n.on("spanStart",d=>{if(tt(d)!==d)return;const h=me().getPropagationContext();u=d1(u,d,h),a&&p1(u)});let c=!0;o&&n.on("beforeSampling",d=>{if(!u)return;const h=me(),p=h.getPropagationContext();if(c&&p.parentSpanId){c=!1;return}h.setPropagationContext({...p,dsc:{...p.dsc,sample_rate:String(u.sampleRate),sampled:String(Hl(u.spanContext))},sampleRand:u.sampleRand}),d.parentSampled=Hl(u.spanContext),d.parentSampleRate=u.sampleRate,d.spanAttributes={...d.spanAttributes,[qm]:u.sampleRate}})}function d1(n,r,o){const a=de(r);function u(){var h,p;try{return Number((h=o.dsc)==null?void 0:h.sample_rate)??Number((p=a.data)==null?void 0:p[Ql])}catch{return 0}}const c={spanContext:r.spanContext(),startTimestamp:a.start_timestamp,sampleRate:u(),sampleRand:o.sampleRand};if(!n)return c;const d=n.spanContext;return d.traceId===a.trace_id?n:(Date.now()/1e3-n.startTimestamp<=l1&&(Pt&&$.log(`Adding previous_trace \`${JSON.stringify(d)}\` link to span \`${JSON.stringify({op:a.op,...r.spanContext()})}\``),r.addLink({context:d,attributes:{[uv]:"previous_trace"}}),r.setAttribute(c1,`${d.traceId}-${d.spanId}-${Hl(d)?1:0}`)),c)}function p1(n){try{ne.sessionStorage.setItem(mg,JSON.stringify(n))}catch(r){Pt&&$.warn("Could not store previous trace in sessionStorage",r)}}function m1(){var n;try{const r=(n=ne.sessionStorage)==null?void 0:n.getItem(mg);return JSON.parse(r)}catch{return}}function Hl(n){return n.traceFlags===1}const h1="BrowserTracing",g1={...Us,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:{},...pg},y1=(n={})=>{const r={name:void 0,source:void 0},o=ne.document,{enableInp:a,enableElementTiming:u,enableLongTask:c,enableLongAnimationFrame:d,_experiments:{enableInteractions:h,enableStandaloneClsSpans:p,enableStandaloneLcpSpans:y},beforeStartSpan:S,idleTimeout:v,finalTimeout:I,childSpanTimeout:R,markBackgroundSpan:P,traceFetch:F,traceXHR:U,trackFetchStreamPerformance:se,shouldCreateSpanForRequest:_e,enableHTTPTimings:Oe,ignoreResourceSpans:xe,ignorePerformanceApiSpans:Xe,instrumentPageLoad:Le,instrumentNavigation:X,detectRedirects:ce,linkPreviousTrace:Je,consistentTraceSampling:nt,enableReportPageLoaded:Ue,onRequestSpanStart:Ge,onRequestSpanEnd:we}={...g1,...n};let re,be,ve;function fe(L,z,O=!0){const T=z.op==="pageload",N=z.name,Y=S?S(z):z,J=Y.attributes||{};if(N!==Y.name&&(J[Vt]="custom",Y.attributes=J),!O){const ae=lr();ti({...Y,startTime:ae}).end(ae);return}r.name=Y.name,r.source=J[Vt];const Z=hh(Y,{idleTimeout:v,finalTimeout:I,childSpanTimeout:R,disableAutoFinish:T,beforeSpanEnd:ae=>{re==null||re(),ST(ae,{recordClsOnPageloadSpan:!p,recordLcpOnPageloadSpan:!y,ignoreResourceSpans:xe,ignorePerformanceApiSpans:Xe}),km(L,void 0);const ue=me(),ge=ue.getPropagationContext();ue.setPropagationContext({...ge,traceId:Z.spanContext().traceId,sampled:bn(Z),dsc:Dn(ae)}),T&&(ve=void 0)},trimIdleSpanEndTimestamp:!Ue});T&&Ue&&(ve=Z),km(L,Z);function te(){o&&["interactive","complete"].includes(o.readyState)&&L.emit("idleSpanEnableAutoFinish",Z)}T&&!Ue&&o&&(o.addEventListener("readystatechange",()=>{te()}),te())}return{name:h1,setup(L){if(Uv(),re=pT({recordClsStandaloneSpans:p||!1,recordLcpStandaloneSpans:y||!1,client:L}),a&&YT(),u&&AT(),d&&oe.PerformanceObserver&&PerformanceObserver.supportedEntryTypes&&PerformanceObserver.supportedEntryTypes.includes("long-animation-frame")?hT():c&&mT(),h&&gT(),ce&&o){const O=()=>{be=Be()};addEventListener("click",O,{capture:!0}),addEventListener("keydown",O,{capture:!0,passive:!0})}function z(){const O=Zi(L);O&&!de(O).timestamp&&(Pt&&$.log(`[Tracing] Finishing current active span with op: ${de(O).op}`),O.setAttribute(Ki,"cancelled"),O.end())}L.on("startNavigationSpan",(O,T)=>{if(he()!==L)return;if(T!=null&&T.isRedirect){Pt&&$.warn("[Tracing] Detected redirect, navigation span will not be the root span, but a child span."),fe(L,{op:"navigation.redirect",...O},!1);return}be=void 0,z(),ln().setPropagationContext({traceId:an(),sampleRand:Math.random(),propagationSpanId:Ut()?void 0:rn()});const N=me();N.setPropagationContext({traceId:an(),sampleRand:Math.random(),propagationSpanId:Ut()?void 0:rn()}),N.setSDKProcessingMetadata({normalizedRequest:void 0}),fe(L,{op:"navigation",...O,parentSpan:null,forceTransaction:!0})}),L.on("startPageLoadSpan",(O,T={})=>{if(he()!==L)return;z();const N=T.sentryTrace||Tm("sentry-trace")||wm("sentry-trace"),Y=T.baggage||Tm("baggage")||wm("baggage"),J=Pv(N,Y),Z=me();Z.setPropagationContext(J),Ut()||(Z.getPropagationContext().propagationSpanId=rn()),Z.setSDKProcessingMetadata({normalizedRequest:ac()}),fe(L,{op:"pageload",...O})}),L.on("endPageloadSpan",()=>{Ue&&ve&&(ve.setAttribute(Ki,"reportPageLoaded"),ve.end())})},afterAllSetup(L){let z=to();if(Je!=="off"&&f1(L,{linkPreviousTrace:Je,consistentTraceSampling:nt}),ne.location){if(Le){const O=yt();_1(L,{name:ne.location.pathname,startTime:O?O/1e3:void 0,attributes:{[Vt]:"url",[$e]:"auto.pageload.browser"}})}X&&mc(({to:O,from:T})=>{if(T===void 0&&(z==null?void 0:z.indexOf(O))!==-1){z=void 0;return}z=void 0;const N=Oh(O),Y=Zi(L),J=Y&&ce&&E1(Y,be);v1(L,{name:(N==null?void 0:N.pathname)||ne.location.pathname,attributes:{[Vt]:"url",[$e]:"auto.navigation.browser"}},{url:O,isRedirect:J})})}P&&u1(),h&&S1(L,v,I,R,r),a&&XT(),r1(L,{traceFetch:F,traceXHR:U,trackFetchStreamPerformance:se,tracePropagationTargets:L.getOptions().tracePropagationTargets,shouldCreateSpanForRequest:_e,enableHTTPTimings:Oe,onRequestSpanStart:Ge,onRequestSpanEnd:we})}}};function _1(n,r,o){n.emit("startPageLoadSpan",r,o),me().setTransactionName(r.name);const a=Zi(n);return a&&n.emit("afterStartPageLoadSpan",a),a}function v1(n,r,o){const{url:a,isRedirect:u}=o||{};n.emit("beforeStartNavigationSpan",r,{isRedirect:u}),n.emit("startNavigationSpan",r,{isRedirect:u});const c=me();return c.setTransactionName(r.name),a&&!u&&c.setSDKProcessingMetadata({normalizedRequest:{...ac(),url:a}}),Zi(n)}function Tm(n){const r=ne.document,o=r==null?void 0:r.querySelector(`meta[name=${n}]`);return(o==null?void 0:o.getAttribute("content"))||void 0}function wm(n){var a,u,c;const r=(u=(a=ne.performance)==null?void 0:a.getEntriesByType)==null?void 0:u.call(a,"navigation")[0],o=(c=r==null?void 0:r.serverTiming)==null?void 0:c.find(d=>d.name===n);return o==null?void 0:o.description}function S1(n,r,o,a,u){const c=ne.document;let d;const h=()=>{const p="ui.action.click",y=Zi(n);if(y){const S=de(y).op;if(["navigation","pageload"].includes(S)){Pt&&$.warn(`[Tracing] Did not create ${p} span because a pageload or navigation span is in progress.`);return}}if(d&&(d.setAttribute(Ki,"interactionInterrupted"),d.end(),d=void 0),!u.name){Pt&&$.warn(`[Tracing] Did not create ${p} transaction because _latestRouteName is missing.`);return}d=hh({name:u.name,op:p,attributes:{[Vt]:u.source||"url"}},{idleTimeout:r,finalTimeout:o,childSpanTimeout:a})};c&&addEventListener("click",h,{capture:!0})}const hg="_sentry_idleSpan";function Zi(n){return n[hg]}function km(n,r){ct(n,hg,r)}const Im=1.5;function E1(n,r){const o=de(n),a=lr(),u=o.start_timestamp;return!(a-u>Im||r&&a-r<=Im)}var vl={},Wi={},Sl={},Zn={},Cm;function T1(){if(Cm)return Zn;Cm=1,Object.defineProperty(Zn,"__esModule",{value:!0}),Zn.getEnvFromQueryParam=Zn.getEnvFromTLD=void 0;const n=hc();function r(a){const{host:u}=a;return u.endsWith(".org")||u.endsWith(".co")?n.Env.PRODUCTION:u.endsWith(".today")||u.endsWith(".net")?n.Env.STAGING:u.endsWith(".io")||u.endsWith(".zone")?n.Env.DEVELOPMENT:null}Zn.getEnvFromTLD=r;function o(a){const u=new URLSearchParams(a.search),c=u.get("ENV")||u.get("env");if(c){const d=c.toLowerCase();if((0,n.isEnv)(d))return d}return null}return Zn.getEnvFromQueryParam=o,Zn}var Rm;function hc(){return Rm||(Rm=1,function(n){var r={};Object.defineProperty(n,"__esModule",{value:!0}),n.getEnv=n.getDefaultEnv=n.parseEnvVar=n.isEnv=n.getEnvList=n.Env=void 0;const o=T1();var a;(function(y){y.DEVELOPMENT="dev",y.STAGING="stg",y.PRODUCTION="prod"})(a=n.Env||(n.Env={}));function u(){return Object.values(a)}n.getEnvList=u;function c(y){return u().includes(y)}n.isEnv=c;function d(y){if(c(y))return y;throw new Error(`Invalid value for DCL_DEFAULT_ENV. Found "${y}", possible values are ${u().map(S=>`"${S}"`).join(", ")}.`)}n.parseEnvVar=d;function h(y={}){const{DCL_DEFAULT_ENV:S,REACT_APP_DCL_DEFAULT_ENV:v,VITE_DCL_DEFAULT_ENV:I,GATSBY_DCL_DEFAULT_ENV:R}=y;if(S&&v&&S!==v)throw new Error("You have defined both DCL_DEFAULT_ENV and REACT_APP_DCL_DEFAULT_ENV with different values");if(S&&I&&S!==I)throw new Error("You have defined both DCL_DEFAULT_ENV and VITE_DCL_DEFAULT_ENV with different values");if(S&&R&&S!==R)throw new Error("You have defined both DCL_DEFAULT_ENV and GATSBY_DCL_DEFAULT_ENV with different values");if(v&&R&&v!==R)throw new Error("You have defined both REACT_APP_DCL_DEFAULT_ENV and GATSBY_DCL_DEFAULT_ENV with different values");return S?d(S):v?d(v):I?d(I):R?d(R):a.PRODUCTION}n.getDefaultEnv=h;function p(y){if(typeof window<"u"){const v=(0,o.getEnvFromQueryParam)(window.location);if(v)return v;const I=(0,o.getEnvFromTLD)(window.location);if(I)return I}return h(typeof y>"u"&&typeof process=="object"&&typeof r=="object"?r:y)}n.getEnv=p}(Sl)),Sl}var Nm;function w1(){if(Nm)return Wi;Nm=1,Object.defineProperty(Wi,"__esModule",{value:!0}),Wi.createConfig=void 0;const n=hc();function r(o,a){const u=(0,n.getEnv)(a==null?void 0:a.systemEnvVariables),c=o[u];return{get:(d,h="")=>{if(!c)throw new Error(`Could not find a config for env=${u}`);return d in c?c[d]:h},is:d=>u===d,getEnv:()=>u}}return Wi.createConfig=r,Wi}var Pm;function k1(){return Pm||(Pm=1,function(n){Object.defineProperty(n,"__esModule",{value:!0}),n.getEnv=n.Env=n.createConfig=void 0;var r=w1();Object.defineProperty(n,"createConfig",{enumerable:!0,get:function(){return r.createConfig}});var o=hc();Object.defineProperty(n,"Env",{enumerable:!0,get:function(){return o.Env}}),Object.defineProperty(n,"getEnv",{enumerable:!0,get:function(){return o.getEnv}})}(vl)),vl}var Gi=k1();const I1="development",C1="https://marketplace-api.decentraland.zone",R1="https://fc6203205a7c4a0e1408cc9e7fdad2be@o4504361728212992.ingest.us.sentry.io/4510982059130880",N1="https://peer-ap1.decentraland.zone",P1="amoy",x1={ENVIRONMENT:I1,MARKETPLACE_SERVER_URL:C1,SENTRY_DSN:R1,PEER_URL:N1,NETWORK:P1},L1="staging",A1="https://marketplace-api.decentraland.org",O1="https://fc6203205a7c4a0e1408cc9e7fdad2be@o4504361728212992.ingest.us.sentry.io/4510982059130880",D1="https://peer.decentraland.org",M1="matic",F1={ENVIRONMENT:L1,MARKETPLACE_SERVER_URL:A1,SENTRY_DSN:O1,PEER_URL:D1,NETWORK:M1},$1="production",U1="https://marketplace-api.decentraland.org",b1="https://fc6203205a7c4a0e1408cc9e7fdad2be@o4504361728212992.ingest.us.sentry.io/4510982059130880",z1="https://peer.decentraland.org",j1="matic",H1={ENVIRONMENT:$1,MARKETPLACE_SERVER_URL:U1,SENTRY_DSN:b1,PEER_URL:z1,NETWORK:j1},Os=Gi.createConfig({[Gi.Env.DEVELOPMENT]:x1,[Gi.Env.STAGING]:F1,[Gi.Env.PRODUCTION]:H1});let gc;function B1(){const n=Os.get("SENTRY_DSN"),r=Os.get("ENVIRONMENT"),o=`${Os.get("SENTRY_RELEASE_PREFIX","wearable-preview")}@2.14.3-25074352681.commit-3a36f32`,a=!Os.is(Gi.Env.DEVELOPMENT);gc=e1({dsn:n,environment:r,release:o,enabled:a,defaultIntegrations:!1,integrations:[ug(),cg(),Fh(),y1({enableLongTask:!1,enableLongAnimationFrame:!1,enableInp:!1,enableElementTiming:!1})],initialScope:{tags:{app:"wearable-preview",parentUrl:document.referrer||"unknown"}}}),console.log("Sentry initialized",{environment:r,dsn:n,release:o})}function V1(n,r){gc&&yh(n,r?{extra:r}:void 0)}function Z1(n,r){gc&&bS(n,{extra:r})}const W1=()=>{const n=navigator.userAgent.toLowerCase();let r="Unknown",o="Unknown",a="Unknown";if(/android/.test(n)){r="Android";const u=n.match(/android\s*([0-9.]+)/);u&&(a=u[1])}else if(/iphone|ipad|ipod/.test(n)){r="iOS";const u=n.match(/os\s*([0-9_]+)/);u&&(a=u[1].replace(/_/g,"."))}else if(/macintosh|mac os x/.test(n)){r="macOS";const u=n.match(/mac os x\s*([0-9_]+)/);u&&(a=u[1].replace(/_/g,"."))}else if(/windows/.test(n)){r="Windows";const u=n.match(/windows nt\s*([0-9.]+)/);u&&(a=u[1])}else if(/linux/.test(n)){r="Linux";const u=n.match(/\(([^)]+)\)/);u&&(a=u[1])}if(/chrome|crios/.test(n)){o="Chrome";const u=n.match(/(?:chrome|crios)\/([0-9.]+)/);u&&(a=u[1])}else if(/firefox|fxios/.test(n)){o="Firefox";const u=n.match(/(?:firefox|fxios)\/([0-9.]+)/);u&&(a=u[1])}else if(/safari/.test(n)&&!/chrome|crios|android/.test(n)){o="Safari";const u=n.match(/version\/([0-9.]+)/);u&&(a=u[1])}else if(/edg/.test(n)){o="Edge";const u=n.match(/edg\/([0-9.]+)/);u&&(a=u[1])}return{platform:r,browser:o,version:a}},G1=async()=>{const{platform:n,browser:r,version:o}=W1();if(!navigator.gpu)return console.warn("❌ navigator.gpu is not available"),{isSupported:!1,isAvailable:!1,error:"WebGPU is not supported in this browser. Please use a compatible browser.",platform:n,browser:r,platformVersion:o,browserVersion:o};try{const a=await navigator.gpu.requestAdapter();return a?await a.requestDevice()?{isSupported:!0,isAvailable:!0,platform:n,browser:r,platformVersion:o,browserVersion:o}:(console.warn("❌ Failed to create WebGPU device"),{isSupported:!0,isAvailable:!1,error:"WebGPU adapter found but failed to create device. This might be due to hardware limitations or driver issues.",platform:n,browser:r,platformVersion:o,browserVersion:o}):(console.warn("❌ No WebGPU adapter available"),{isSupported:!0,isAvailable:!1,error:"WebGPU is supported but no adapter is available. This might be due to hardware limitations or driver issues.",platform:n,browser:r,platformVersion:o,browserVersion:o})}catch(a){return console.error("❌ WebGPU detection error:",a),V1(a,{phase:"detectWebGPU"}),{isSupported:!0,isAvailable:!1,error:`WebGPU is supported but failed to initialize: ${a instanceof Error?a.message:"Unknown error"}`,platform:n,browser:r,platformVersion:o,browserVersion:o}}},q1=Lm.lazy(()=>xm(()=>import("./UnityPreview-DhAbnS8Z.js"),__vite__mapDeps([0,1,2]),import.meta.url)),Y1=Lm.lazy(()=>xm(()=>import("./Preview-t5dSxa6s.js").then(n=>n.my),__vite__mapDeps([3,1,4]),import.meta.url));B1();const K1=()=>{const r=new URLSearchParams(window.location.search).get("unity")==="true",{isAvailable:o}=C_(),a=r&&o;return tr.jsx(eo.Suspense,{fallback:null,children:a?tr.jsx(q1,{}):tr.jsx(Y1,{})})},Q1=async()=>{const n=await G1();w_.createRoot(document.getElementById("root")).render(tr.jsx(eo.StrictMode,{children:tr.jsx(k_,{value:n,children:tr.jsx(K1,{})})}))};Q1();export{Lm as R,xm as _,V1 as a,Os as b,Z1 as c,J1 as d,X1 as e,m_ as g,tr as j,eo as r};
|
package/static-local/index.html
CHANGED
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
<link rel="manifest" href="./manifest.json" />
|
|
11
11
|
<title>Decentraland | Wearable Preview</title>
|
|
12
12
|
<script src="https://t.contentsquare.net/uxa/c07af53c07b18.js"></script>
|
|
13
|
-
<script type="module" crossorigin src="./assets/index-
|
|
13
|
+
<script type="module" crossorigin src="./assets/index-CFq8S2R_.js"></script>
|
|
14
14
|
<link rel="stylesheet" crossorigin href="./assets/index-xcSM2Xhy.css">
|
|
15
15
|
</head>
|
|
16
16
|
<body>
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{c as k,a as j,r as c,b as W,R as oe,j as U}from"./index-MD9s48a1.js";import{m as ie,i as K,d,L as le,a as de,u as te,s as ce,f as ue,b as Se,c as me,e as ge,g as Ee,h as ye,j as $,k as G,l as fe,n as pe,o as we,p as he,q as F,r as L,t as Re}from"./emote-events-CV5UM-tB.js";var x=(e=>(e.SET_MODE="SetMode",e.SET_PROFILE="SetProfile",e.SET_EMOTE="SetEmote",e.SET_URNS="SetUrns",e.SET_BACKGROUND="SetBackground",e.SET_SKIN_COLOR="SetSkinColor",e.SET_HAIR_COLOR="SetHairColor",e.SET_EYE_COLOR="SetEyeColor",e.SET_BODY_SHAPE="SetBodyShape",e.SET_SHOW_ANIMATION_REFERENCE="SetShowAnimationReference",e.SET_PROJECTION="SetProjection",e.ADD_BASE64="AddBase64",e.CLEAR_BASE64="ClearBase64",e.SET_CONTRACT="SetContract",e.SET_ITEM_ID="SetItemID",e.SET_TOKEN_ID="SetTokenID",e.SET_DISABLE_LOADER="SetDisableLoader",e.RELOAD="Reload",e.CLEANUP="Cleanup",e.GET_ELEMENT_BOUNDS="GetElementBounds",e.SET_SPRING_BONES_PARAMS="SetSpringBonesParams",e))(x||{});const Pe={unityMode:"SetMode",profile:"SetProfile",emote:"SetEmote",urns:"SetUrns",background:"SetBackground",skin:"SetSkinColor",hair:"SetHairColor",eyes:"SetEyeColor",bodyShape:"SetBodyShape",showAnimationReference:"SetShowAnimationReference",projection:"SetProjection",base64s:"AddBase64",contractAddress:"SetContract",itemId:"SetItemID",tokenId:"SetTokenID",disableLoader:"SetDisableLoader"},Ie={unityMode:e=>String(e),profile:e=>String(e),emote:e=>String(e),urns:e=>Array.isArray(e)?e.join(","):String(e),background:e=>typeof e=="string"?e.replace("#",""):String(e),skin:e=>typeof e=="string"?e.replace("#",""):String(e),hair:e=>typeof e=="string"?e.replace("#",""):String(e),eyes:e=>typeof e=="string"?e.replace("#",""):String(e),bodyShape:e=>String(e),showAnimationReference:e=>String(e),projection:e=>String(e),contractAddress:e=>String(e),itemId:e=>String(e),tokenId:e=>String(e),disableLoader:e=>String(e)},C=(e,t,n)=>{if(e)try{const r=String(t);Object.values(x).includes(r)||(console.warn(`Unknown Unity method: ${r}. Sending anyway...`),k(`Unknown Unity method: ${r}`,{method:r,value:n})),n!==void 0?e.SendMessage("JSBridge",r,n):e.SendMessage("JSBridge",r)}catch(r){console.error(`Failed to send Unity message ${t}:`,r),j(r,{method:String(t),value:n})}else console.warn(`Unity instance not ready, cannot send message: ${t}`),k(`Unity instance not ready, cannot send message: ${t}`,{method:String(t)})},Ae=(e,t,n)=>{if(!e){console.warn("Unity instance not available, cannot send override messages"),k("Unity instance not available, cannot send override messages");return}let r=0;t.base64s!==void 0&&n.base64s&&(C(e,"ClearBase64"),r++,Array.isArray(t.base64s)&&t.base64s.length>0&&t.base64s.forEach(a=>{C(e,"AddBase64",a),r++})),Object.entries(t).forEach(([a,s])=>{if(a!=="base64s"&&n[a]&&s!==void 0){const o=Pe[a];if(o){const i=Ie[a],g=i?i(s):String(s);C(e,o,g),r++}else console.warn(`No Unity method mapping found for property: ${a}`),k(`No Unity method mapping found for property: ${a}`,{property:a,value:s})}}),r>0&&C(e,"Reload")};var Te={VITE_BASE_URL:"https://cdn.decentraland.org/@dcl/wearable-preview/2.14.2"};const V=new Map,_=(e,t)=>{if(!t)return e;const n=e.replace(/\/$/,""),r=t.replace(/^\//,"");return`${n}/${r}`};function ve(e){if(V.has(e))return V.get(e);const t=new Promise((n,r)=>{const a=document.querySelector(`script[src="${e}"]`);if(a){a.addEventListener("load",()=>n(a)),a.addEventListener("error",o=>r(o));return}const s=document.createElement("script");s.src=e,s.async=!0,s.onload=()=>n(s),s.onerror=o=>r(o),document.body.appendChild(s)});return V.set(e,t),t}const be=async(e,t,n,r,a,s,o,i,g,m,S,E)=>{try{const u=Te.VITE_BASE_URL||"";return await ve(_(u,t)),await createUnityInstance(e,{dataUrl:_(u,n),frameworkUrl:_(u,r),codeUrl:_(u,a),streamingAssetsUrl:_(u,o),symbolUrl:_(u,s),companyName:i,productName:g,productVersion:m,matchWebGLToCanvasSize:S,arguments:E})}catch(u){throw console.error("❌ Failed to load Unity instance:",u),u}},Oe="data:image/png;base64,";function Le(e){return{getScreenshot:()=>new Promise(t=>{if(!e){t("");return}e.SendMessage("JSBridge","TakeScreenshot",""),window.addEventListener("message",function n(r){if(r.data.type==="unity-renderer"){const{type:a,payload:s}=r.data.payload;a==="screenshot"&&(window.removeEventListener("message",n),t(Oe+s))}})}),getMetrics:()=>new Promise(t=>{if(!e){t({triangles:0,materials:0,textures:0,meshes:0,bodies:0,entities:0});return}e.SendMessage("JSBridge","GetMetrics",""),window.addEventListener("message",function n(r){if(r.data.type==="unity-renderer"){const{type:a,payload:s}=r.data.payload;a==="metrics"&&(window.removeEventListener("message",n),t(s))}})}),changeZoom:async t=>{e&&e.SendMessage("JSBridge","SetZoom",t.toString())},panCamera:async t=>{if(!e)return;const n=t.x??0,r=t.y??0,a=t.z??0;e.SendMessage("JSBridge","SetOffset",`${n},${r},${a}`)},changeCameraPosition:async t=>{if(!e)return;const n=t.alpha??0,r=t.beta??0,a=t.radius??0;e.SendMessage("JSBridge","SetCameraPosition",`${n},${r},${a}`)},setUsername:async t=>{e&&e.SendMessage("JSBridge","SetUsername",t)},cleanup:async()=>{e&&e.SendMessage("JSBridge","Cleanup","")}}}function _e(e,t,n,r){const a=ie();let s=0,o=0,i="stopped",g=null,m=0;const S=()=>{var l;return n?n.loop:!!((l=t==null?void 0:t.emoteDataADR74)!=null&&l.loop||r&&le.includes(r))},E=()=>{u(),m=Date.now(),g=setInterval(()=>{if(i!=="playing")return;const l=Date.now(),y=(l-m)/1e3;if(m=l,o+=y,s>0&&o>=s)if(S())o=o%s,a.emit(d.PreviewEmoteEventType.ANIMATION_LOOP);else{o=s,u(),i="stopped",e.SendMessage("JSBridge","StopEmote",""),a.emit(d.PreviewEmoteEventType.ANIMATION_PLAYING,{length:o}),a.emit(d.PreviewEmoteEventType.ANIMATION_END);return}a.emit(d.PreviewEmoteEventType.ANIMATION_PLAYING,{length:o})},15)},u=()=>{g!==null&&(clearInterval(g),g=null)},f=(l,y,p)=>new Promise(b=>{if(!e){b(p);return}const T=R=>{if(R.data.type==="unity-renderer"){const{type:I,payload:w}=R.data.payload;I===y&&(window.removeEventListener("message",T),b(w))}};window.addEventListener("message",T),l()});return{getLength:async()=>await f(()=>e.SendMessage("JSBridge","GetEmoteLength",""),"emoteLength",0)??0,isPlaying:async()=>f(()=>e.SendMessage("JSBridge","IsEmotePlaying",""),"isEmotePlaying",!1),goTo:async l=>{e&&(o=l,e.SendMessage("JSBridge","GoToEmote",l.toString()),a.emit(d.PreviewEmoteEventType.ANIMATION_PLAYING,{length:l}))},play:async()=>{e&&(s<=0&&(s=await f(()=>e.SendMessage("JSBridge","GetEmoteLength",""),"emoteLength",0)),i==="stopped"&&(o=0),i="playing",e.SendMessage("JSBridge","PlayEmote",""),E(),a.emit(d.PreviewEmoteEventType.ANIMATION_PLAY))},pause:async()=>{e&&(i="paused",u(),e.SendMessage("JSBridge","PauseEmote",""),a.emit(d.PreviewEmoteEventType.ANIMATION_PAUSE))},stop:async()=>{e&&(i="stopped",o=0,u(),e.SendMessage("JSBridge","StopEmote",""),a.emit(d.PreviewEmoteEventType.ANIMATION_END))},enableSound:async()=>{e&&e.SendMessage("JSBridge","EnableSound","")},disableSound:async()=>{e&&e.SendMessage("JSBridge","DisableSound","")},hasSound:async()=>f(()=>e.SendMessage("JSBridge","HasSound",""),"hasSound",!1),isSocialEmote:async()=>K(t),getSocialEmoteAnimations:async()=>!t||!K(t)?null:[{title:"Start Animation",...t.emoteDataADR74.startAnimation},...t.emoteDataADR74.outcomes.map(l=>({title:l.title,loop:l.loop,audio:l.audio,...l.clips}))],getPlayingSocialEmoteAnimation:async()=>n??null,emote:t,events:a}}function Ne(e){return{setSpringBonesParams:async(t,n)=>{e&&e.SendMessage("JSBridge",x.SET_SPRING_BONES_PARAMS,JSON.stringify({itemHash:t,params:n}))}}}const Ce={dataUrl:"/unity/Build/aang-renderer.data.br",frameworkUrl:"/unity/Build/aang-renderer.framework.js.br",codeUrl:"/unity/Build/aang-renderer.wasm.br",symbolUrl:"/unity/Build/aang-renderer.symbols.json.br"};function Me(){return Ce}async function De(e,t){let n=null;try{const r=Me();if(n=await be(e,"/unity/Build/aang-renderer.loader.js",r.dataUrl,r.frameworkUrl,r.codeUrl,r.symbolUrl,"/emotes","Decentraland","AangRenderer","2.2.2",!0,[]),!n)throw new Error("Failed to load Unity instance");const a=t!=null&&t.itemDefinition&&de(t.itemDefinition)?t.itemDefinition:null,s=(t==null?void 0:t.socialEmote)||void 0,o=(t==null?void 0:t.emote)||null,i=Le(n),g=_e(n,a,s,o),m=Ne(n);return{scene:i,emote:g,physics:m,unity:n}}catch(r){if(console.error("Unity render failed:",r),n!=null&&n.Quit)try{n.Quit()}catch(a){console.error("Error quitting Unity instance:",a),j(a,{phase:"unityQuit"})}throw r}}const Ue=()=>Math.floor(Math.random()*159)+1,re=()=>`default${Ue()}`,Be=(e,t)=>{var n,r,a,s,o,i;return{eyes:$(t.eyes||((r=(n=e==null?void 0:e.avatar)==null?void 0:n.eyes)==null?void 0:r.color)&&G(e.avatar.eyes.color)||"#000000"),hair:$(t.hair||((s=(a=e==null?void 0:e.avatar)==null?void 0:a.hair)==null?void 0:s.color)&&G(e.avatar.hair.color)||"#000000"),skin:$(t.skin||((i=(o=e==null?void 0:e.avatar)==null?void 0:o.skin)==null?void 0:i.color)&&G(e.avatar.skin.color)||"#cc9b76")}},N=e=>e||"",X=e=>e||[],B=e=>e.replace("#","");function Z(e){const t=new URL(window.location.href);Object.entries(e).forEach(([n,r])=>{t.searchParams.delete(n),Array.isArray(r)?r.forEach(a=>{a!==""&&t.searchParams.append(n,a)}):r!==""&&t.searchParams.set(n,r)}),window.history.replaceState({},"",t.toString())}function ke(){const{options:e,overrideSources:t}=te(),[n,r]=c.useState(null),[a,s]=c.useState(!0),[o,i]=c.useState(null),g=c.useRef(null),m=c.useRef(e),S=c.useRef(!0);return c.useEffect(()=>{const E=JSON.stringify(e),u=JSON.stringify(m.current);if(!S.current&&E===u)return;S.current=!1,m.current=e,(async()=>{var l,y;try{s(!0),i(null);const p=e.peerUrl||W.get("PEER_URL"),b=e.marketplaceServerUrl||e.nftServerUrl||W.get("MARKETPLACE_SERVER_URL");let T=d.PreviewType.WEARABLE,R={color:e.background||"#4b4852",transparent:e.disableBackground===!0};const I=ce(e.profile);let w=I==null?void 0:I.value;w==="default"&&(w=re());const P=w&&I?I.type==="address"?await ue(w,p):await Se(w,p):null,A=e.bodyShape||((l=P==null?void 0:P.avatar)==null?void 0:l.bodyShape)||d.BodyShape.MALE;let h=null;if(e.contractAddress&&(h=await me({contractAddress:e.contractAddress,tokenId:e.tokenId,itemId:e.itemId,peerUrl:p,marketplaceServerUrl:b}),h&&ge(h))){R={...R,image:h.thumbnail};const D=Ee(h);ye(D)&&(T=d.PreviewType.TEXTURE)}const{eyes:v,hair:H,skin:Y}=Be(P,{eyes:e.eyes,hair:e.hair,skin:e.skin}),M=e.unityMode||null,ne=e.camera&&Object.values(d.PreviewCamera).includes(e.camera)?e.camera:d.PreviewCamera.INTERACTIVE,Q=e.projection&&Object.values(d.PreviewProjection).includes(e.projection)?e.projection:d.PreviewProjection.PERSPECTIVE,O=e.disableDefaultEmotes?null:e.emote&&Object.values(d.PreviewEmote).includes(e.emote)?e.emote:d.PreviewEmote.IDLE,J={background:R,bodyShape:A,mode:M,projection:Q,type:T,base64:((y=e.base64s)==null?void 0:y[0])||null,contract:e.contractAddress||null,disableLoader:e.disableLoader||!1,emote:(O==null?void 0:O.toString())||null,eyeColor:v.replace("#",""),hairColor:H.replace("#",""),item:e.itemId||null,profile:w||null,skinColor:Y.replace("#",""),token:e.tokenId||null,urn:e.urns||null,showAnimationReference:null,itemDefinition:h,socialEmote:e.socialEmote||null},ae=JSON.stringify(J),se=JSON.stringify(g.current);if(ae!==se){if(g.current=J,Object.keys(t).length===0){const D=X(e.urns),q=X(e.base64s);if(M===d.PreviewUnityMode.CONFIG){const z={mode:N(M||"")};Z(z)}else{const z={background:R.transparent?"":B(R.color),disableLoader:e.disableLoader?"true":"",profile:N(w||""),bodyShape:N(A||""),eyeColor:B(v||""),hairColor:B(H||""),skinColor:B(Y||""),mode:N(M||""),camera:ne,projection:Q,emote:N((O==null?void 0:O.toString())||""),urn:D.length>0?D:[""],base64:q.length>0?q:[""]};Z(z)}}r(J)}s(!1)}catch(p){console.error("[useUnityConfig] Failed to load config:",p),i(p instanceof Error?p.message:"Failed to load config"),s(!1)}})()},[e,t]),[n,a,o]}const je="unity-renderer",xe="unity-canvas",ee=1,Je="Failed to load Unity";var ze=(e=>(e.LOADED="loaded",e.ERROR="error",e.SCREENSHOT="screenshot",e.CUSTOMIZATION_DONE="customization-done",e.CUSTOMIZATION_STEP="avatar-customization-step",e.ELEMENT_BOUNDS="element-bounds",e))(ze||{});const $e="get_element_bounds",Ge="element_bounds_response",Fe=(e,t,n,r)=>{const[a,s]=c.useState({isLoaded:!1,isInitialized:!1,error:null}),o=c.useRef(null),i=c.useCallback(m=>{if(m.data.type===je){const{type:S,payload:E}=m.data.payload;S==="loaded"&&(E===!0||E==="true")?(s(u=>({...u,isLoaded:!0,isInitialized:!0})),d.sendMessage(L(),d.PreviewMessageType.LOAD,{renderer:d.PreviewRenderer.UNITY}),t.current&&t.current.emote.play()):S==="customization-done"?d.sendMessage(L(),d.PreviewMessageType.CONTROLLER_RESPONSE,{id:"customization-done",ok:!0,result:JSON.parse(m.data.payload.payload)}):S==="avatar-customization-step"?d.sendMessage(L(),d.PreviewMessageType.CONTROLLER_RESPONSE,{id:"avatar-customization-step",ok:!0,result:{step:m.data.payload.payload}}):S==="element-bounds"?d.sendMessage(L(),Ge,E):S==="error"&&(j(new Error(E),{component:"UnityPreview",phase:"unityMessage"}),s(u=>({...u,error:E})),d.sendMessage(L(),d.PreviewMessageType.ERROR,{message:"Error loading the wearable. Please try again."}))}},[]),g=c.useCallback(async m=>{if(!(!e.canvas.current||e.isInitializing.current||e.unityInstance.current)){e.isInitializing.current=!0,s(S=>({...S,isLoaded:!1,error:null}));try{const{unity:S,...E}=await De(e.canvas.current,m);e.unityInstance.current=S,t.current=E,o.current&&o.current(),o.current=Re(t.current),s(u=>({...u,isInitialized:!0}))}catch(S){const E=S instanceof Error?S.message:Je;console.error("Unity init failed:",S),j(S,{component:"UnityPreview",phase:"initializeUnity"}),s(u=>({...u,error:E})),d.sendMessage(L(),d.PreviewMessageType.ERROR,{message:E})}finally{e.isInitializing.current=!1}}},[e,t]);return c.useEffect(()=>{a.isInitialized||r||!n||g(n)},[n,r,a.isInitialized,g]),c.useEffect(()=>()=>{o.current&&o.current()},[]),c.useEffect(()=>{if(n)return window.addEventListener("message",i,!1),()=>{window.removeEventListener("message",i,!1)}},[n,i]),a},Ve=e=>{const[t,n]=c.useState({pixelRatio:window.devicePixelRatio||ee,is3D:!0,backgroundImage:""});return c.useEffect(()=>{const r=()=>{n(s=>({...s,pixelRatio:window.devicePixelRatio||ee}))},a=window.matchMedia(`(resolution: ${t.pixelRatio}dppx)`);return a.addEventListener("change",r),()=>{a.removeEventListener("change",r)}},[t.pixelRatio]),c.useEffect(()=>{e&&n(r=>({...r,backgroundImage:e.background.image||"",is3D:e.type!==d.PreviewType.TEXTURE}))},[e]),t},He=(e,t,n,r,a)=>{const s=c.useMemo(()=>{const o={};for(const i of Object.keys(a))a[i]&&r[i]!==void 0&&(o[i]=r[i]);return o},[a,r]);c.useEffect(()=>{if(!(!n.isInitialized||!n.isLoaded||!e.current)){if(s.profile==="default"){const o=t.current.profile;s.profile=o!=null&&o.match(/^default\d+$/)?o:re()}Object.keys(s).length>0&&(Ae(e.current,s,a),t.current=s)}},[n.isInitialized,n.isLoaded,s,a,e,t])},Ye=()=>{const{width:e=window.innerWidth,height:t=window.innerHeight}=fe(),n=c.useRef(null),r=c.useRef(null),a=c.useRef(!1),s=c.useRef({}),o=pe(),[i,g,m]=ke(),{options:S,overrideSources:E}=te(),u=c.useMemo(()=>({canvas:n,unityInstance:r,isInitializing:a,lastSentOverrides:s}),[]);we(P=>{var A,h;if(((A=P.data)==null?void 0:A.type)===$e&&r.current){const v=(h=P.data.payload)==null?void 0:h.elementName;v&&C(r.current,x.GET_ELEMENT_BOUNDS,v)}});const f=Fe(u,o,i,g),l=Ve(i);He(u.unityInstance,u.lastSentOverrides,f,S,E),he();const y=c.useMemo(()=>{const P=f.error||m,A=!f.isLoaded&&!P,h=!!l.backgroundImage&&!l.is3D&&!A,v=l.is3D&&!A;return{error:P,isLoading:A,showImage:h,showCanvas:v}},[f.error,f.isLoaded,m,l.backgroundImage,l.is3D]),p=c.useMemo(()=>({opacity:1,backgroundColor:!(i!=null&&i.background.transparent)&&(i==null?void 0:i.type)===d.PreviewType.TEXTURE?i.background.color:void 0}),[i]),b=c.useMemo(()=>({width:`${e}px`,height:`${t}px`}),[e,t]),T=c.useMemo(()=>({width:Math.round(e*l.pixelRatio),height:Math.round(t*l.pixelRatio)}),[e,t,l.pixelRatio]),R=c.useMemo(()=>F("Preview",{"is-loading":y.isLoading,"is-loaded":f.isLoaded,"is-3d":l.is3D,"has-error":!!y.error}),[y.isLoading,f.isLoaded,l.is3D,y.error]),I=c.useMemo(()=>F("thumbnail",{"is-visible":y.showImage}),[y.showImage]),w=c.useMemo(()=>F({"is-visible":y.showCanvas}),[y.showCanvas]);return U.jsxs("div",{className:R,style:p,children:[U.jsx("img",{src:l.backgroundImage,className:I,alt:"preview"}),U.jsx("canvas",{ref:u.canvas,id:xe,className:w,width:T.width,height:T.height,style:b}),y.error&&U.jsx("div",{className:"error",children:y.error})]})},We=oe.memo(Ye);export{ze as UnityMessageType,We as default};
|