t2-mapper/docs/_next/static/chunks/adafff78bc0c4657.js
2026-03-02 22:57:58 -08:00

211 lines
No EOL
55 KiB
JavaScript

(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,31067,e=>{"use strict";function t(){return(t=Object.assign.bind()).apply(null,arguments)}e.s(["default",()=>t])},47071,99143,e=>{"use strict";var t=e.i(71645),r=e.i(90072),i=e.i(15080),s=e.i(40859);e.s(["useLoader",()=>s.G],99143);var s=s;let n=e=>e===Object(e)&&!Array.isArray(e)&&"function"!=typeof e;function a(e,a){let o=(0,i.useThree)(e=>e.gl),l=(0,s.G)(r.TextureLoader,n(e)?Object.values(e):e);return(0,t.useLayoutEffect)(()=>{null==a||a(l)},[a]),(0,t.useEffect)(()=>{if("initTexture"in o){let e=[];Array.isArray(l)?e=l:l instanceof r.Texture?e=[l]:n(l)&&(e=Object.values(l)),e.forEach(e=>{e instanceof r.Texture&&o.initTexture(e)})}},[o,l]),(0,t.useMemo)(()=>{if(!n(e))return l;{let t={},r=0;for(let i in e)t[i]=l[r++];return t}},[e,l])}a.preload=e=>s.G.preload(r.TextureLoader,e),a.clear=e=>s.G.clear(r.TextureLoader,e),e.s(["useTexture",()=>a],47071)},75567,e=>{"use strict";var t=e.i(90072);function r(e,i={}){let{repeat:s=[1,1],disableMipmaps:n=!1}=i;return e.wrapS=e.wrapT=t.RepeatWrapping,e.colorSpace=t.SRGBColorSpace,e.repeat.set(...s),e.flipY=!1,e.anisotropy=16,n?(e.generateMipmaps=!1,e.minFilter=t.LinearFilter):(e.generateMipmaps=!0,e.minFilter=t.LinearMipmapLinearFilter),e.magFilter=t.LinearFilter,e.needsUpdate=!0,e}function i(e){let r=new t.DataTexture(e,256,256,t.RedFormat,t.UnsignedByteType);return r.colorSpace=t.NoColorSpace,r.wrapS=r.wrapT=t.RepeatWrapping,r.generateMipmaps=!1,r.minFilter=t.LinearFilter,r.magFilter=t.LinearFilter,r.needsUpdate=!0,r}e.s(["setupMask",()=>i,"setupTexture",()=>r])},47021,e=>{"use strict";var t=e.i(8560);let r=`
#ifdef USE_FOG
// Check fog enabled uniform - allows toggling without shader recompilation
#ifdef USE_VOLUMETRIC_FOG
if (!fogEnabled) {
// Skip all fog calculations when disabled
} else {
#endif
float dist = vFogDepth;
// Discard fragments at or beyond visible distance - matches Torque's behavior
// where objects beyond visibleDistance are not rendered at all.
// This prevents fully-fogged geometry from showing as silhouettes against
// the sky's fog-to-sky gradient.
if (dist >= fogFar) {
discard;
}
// Step 1: Calculate distance-based haze (quadratic falloff)
// Since we discard at fogFar, haze never reaches 1.0 here
float haze = 0.0;
if (dist > fogNear) {
float fogScale = 1.0 / (fogFar - fogNear);
float distFactor = (dist - fogNear) * fogScale - 1.0;
haze = 1.0 - distFactor * distFactor;
}
// Step 2: Calculate fog volume contributions
// Note: Per-volume colors are NOT used in Tribes 2 ($specialFog defaults to false)
// All fog uses the global fogColor - see Tribes2_Fog_System.md for details
float volumeFog = 0.0;
#ifdef USE_VOLUMETRIC_FOG
{
#ifdef USE_FOG_WORLD_POSITION
float fragmentHeight = vFogWorldPosition.y;
#else
float fragmentHeight = cameraHeight;
#endif
float deltaY = fragmentHeight - cameraHeight;
float absDeltaY = abs(deltaY);
// Determine if we're going up (positive) or down (negative)
if (absDeltaY > 0.01) {
// Non-horizontal ray: ray-march through fog volumes
for (int i = 0; i < 3; i++) {
int offset = i * 4;
float volVisDist = fogVolumeData[offset + 0];
float volMinH = fogVolumeData[offset + 1];
float volMaxH = fogVolumeData[offset + 2];
float volPct = fogVolumeData[offset + 3];
// Skip inactive volumes (visibleDistance = 0)
if (volVisDist <= 0.0) continue;
// Calculate fog factor for this volume
// From Torque: factor = (1 / (volumeVisDist * visFactor)) * percentage
// where visFactor is smVisibleDistanceMod (a user quality pref, default 1.0)
// Since we don't have quality settings, we use visFactor = 1.0
float factor = (1.0 / volVisDist) * volPct;
// Find ray intersection with this volume's height range
float rayMinY = min(cameraHeight, fragmentHeight);
float rayMaxY = max(cameraHeight, fragmentHeight);
// Check if ray intersects volume height range
if (rayMinY < volMaxH && rayMaxY > volMinH) {
float intersectMin = max(rayMinY, volMinH);
float intersectMax = min(rayMaxY, volMaxH);
float intersectHeight = intersectMax - intersectMin;
// Calculate distance traveled through this volume using similar triangles:
// subDist / dist = intersectHeight / absDeltaY
float subDist = dist * (intersectHeight / absDeltaY);
// Accumulate fog: fog += subDist * factor
volumeFog += subDist * factor;
}
}
} else {
// Near-horizontal ray: if camera is inside a volume, apply full fog for that volume
for (int i = 0; i < 3; i++) {
int offset = i * 4;
float volVisDist = fogVolumeData[offset + 0];
float volMinH = fogVolumeData[offset + 1];
float volMaxH = fogVolumeData[offset + 2];
float volPct = fogVolumeData[offset + 3];
if (volVisDist <= 0.0) continue;
// If camera is inside this volume, apply fog for full distance
if (cameraHeight >= volMinH && cameraHeight <= volMaxH) {
float factor = (1.0 / volVisDist) * volPct;
volumeFog += dist * factor;
}
}
}
}
#endif
// Step 3: Combine haze and volume fog
// Torque's clamping: if (bandPct + hazePct > 1) hazePct = 1 - bandPct
// This gives fog volumes priority over haze
float volPct = min(volumeFog, 1.0);
float hazePct = haze;
if (volPct + hazePct > 1.0) {
hazePct = 1.0 - volPct;
}
float fogFactor = hazePct + volPct;
// Apply fog using global fogColor (per-volume colors not used in Tribes 2)
gl_FragColor.rgb = mix(gl_FragColor.rgb, fogColor, fogFactor);
#ifdef USE_VOLUMETRIC_FOG
} // end fogEnabled check
#endif
#endif
`;function i(){t.ShaderChunk.fog_pars_fragment=`
#ifdef USE_FOG
uniform vec3 fogColor;
varying float vFogDepth;
#ifdef FOG_EXP2
uniform float fogDensity;
#else
uniform float fogNear;
uniform float fogFar;
#endif
// Custom volumetric fog uniforms (only defined when USE_VOLUMETRIC_FOG is set)
// Format: [visDist, minH, maxH, percentage] x 3 volumes = 12 floats
#ifdef USE_VOLUMETRIC_FOG
uniform float fogVolumeData[12];
uniform float cameraHeight;
#endif
#ifdef USE_FOG_WORLD_POSITION
varying vec3 vFogWorldPosition;
#endif
#endif
`,t.ShaderChunk.fog_fragment=r,t.ShaderChunk.fog_pars_vertex=`
#ifdef USE_FOG
varying float vFogDepth;
#ifdef USE_FOG_WORLD_POSITION
varying vec3 vFogWorldPosition;
#endif
#endif
`,t.ShaderChunk.fog_vertex=`
#ifdef USE_FOG
// Use Euclidean distance from camera, not view-space z-depth
// This ensures fog doesn't change when rotating the camera
vFogDepth = length(mvPosition.xyz);
#ifdef USE_FOG_WORLD_POSITION
vFogWorldPosition = (modelMatrix * vec4(transformed, 1.0)).xyz;
#endif
#endif
`}function s(e,t){e.uniforms.fogVolumeData=t.fogVolumeData,e.uniforms.cameraHeight=t.cameraHeight,e.uniforms.fogEnabled=t.fogEnabled,e.vertexShader=e.vertexShader.replace("#include <fog_pars_vertex>",`#include <fog_pars_vertex>
#ifdef USE_FOG
#define USE_FOG_WORLD_POSITION
#define USE_VOLUMETRIC_FOG
varying vec3 vFogWorldPosition;
#endif`),e.vertexShader=e.vertexShader.replace("#include <fog_vertex>",`#include <fog_vertex>
#ifdef USE_FOG
vFogWorldPosition = (modelMatrix * vec4(transformed, 1.0)).xyz;
#endif`),e.fragmentShader=e.fragmentShader.replace("#include <fog_pars_fragment>",`#include <fog_pars_fragment>
#ifdef USE_FOG
#define USE_VOLUMETRIC_FOG
uniform float fogVolumeData[12];
uniform float cameraHeight;
uniform bool fogEnabled;
#define USE_FOG_WORLD_POSITION
varying vec3 vFogWorldPosition;
#endif`),e.fragmentShader=e.fragmentShader.replace("#include <fog_fragment>",r)}e.s(["fogFragmentShader",0,r,"injectCustomFog",()=>s,"installCustomFogShader",()=>i])},48066,e=>{"use strict";let t={fogVolumeData:{value:new Float32Array(12)},cameraHeight:{value:0},fogEnabled:{value:!0}};function r(e,i,s=!0){t.cameraHeight.value=e,t.fogVolumeData.value.set(i),t.fogEnabled.value=s}function i(){t.cameraHeight.value=0,t.fogVolumeData.value.fill(0),t.fogEnabled.value=!0}function s(e){let t=new Float32Array(12);for(let r=0;r<3;r++){let i=4*r,s=e[r];s&&(t[i+0]=s.visibleDistance,t[i+1]=s.minHeight,t[i+2]=s.maxHeight,t[i+3]=s.percentage)}return t}e.s(["globalFogUniforms",0,t,"packFogVolumeData",()=>s,"resetGlobalFogUniforms",()=>i,"updateGlobalFogUniforms",()=>r])},67191,e=>{e.v({Label:"FloatingLabel-module__8y09Ka__Label"})},89887,60099,e=>{"use strict";let t,r;var i=e.i(43476),s=e.i(932),n=e.i(71645),a=e.i(90072),o=e.i(71753),l=e.i(31067),u=e.i(88014),c=e.i(15080);let d=new a.Vector3,h=new a.Vector3,f=new a.Vector3,p=new a.Vector2;function m(e,t,r){let i=d.setFromMatrixPosition(e.matrixWorld);i.project(t);let s=r.width/2,n=r.height/2;return[i.x*s+s,-(i.y*n)+n]}let y=e=>1e-10>Math.abs(e)?0:e;function g(e,t,r=""){let i="matrix3d(";for(let r=0;16!==r;r++)i+=y(t[r]*e.elements[r])+(15!==r?",":")");return r+i}let b=(t=[1,-1,1,1,1,-1,1,1,1,-1,1,1,1,-1,1,1],e=>g(e,t)),v=(r=e=>[1/e,1/e,1/e,1,-1/e,-1/e,-1/e,-1,1/e,1/e,1/e,1,1,1,1,1],(e,t)=>g(e,r(t),"translate(-50%,-50%)")),S=n.forwardRef(({children:e,eps:t=.001,style:r,className:i,prepend:s,center:g,fullscreen:S,portal:x,distanceFactor:E,sprite:R=!1,transform:k=!1,occlude:O,onOcclude:C,castShadow:T,receiveShadow:F,material:I,geometry:w,zIndexRange:M=[0x1000037,0],calculatePosition:j=m,as:_="div",wrapperClass:P,pointerEvents:D="auto",...U},L)=>{let{gl:Q,camera:N,scene:B,size:V,raycaster:H,events:A,viewport:W}=(0,c.useThree)(),[q]=n.useState(()=>document.createElement(_)),z=n.useRef(null),G=n.useRef(null),$=n.useRef(0),K=n.useRef([0,0]),Y=n.useRef(null),J=n.useRef(null),Z=(null==x?void 0:x.current)||A.connected||Q.domElement.parentNode,X=n.useRef(null),ee=n.useRef(!1),et=n.useMemo(()=>{var e;return O&&"blending"!==O||Array.isArray(O)&&O.length&&(e=O[0])&&"object"==typeof e&&"current"in e},[O]);n.useLayoutEffect(()=>{let e=Q.domElement;O&&"blending"===O?(e.style.zIndex=`${Math.floor(M[0]/2)}`,e.style.position="absolute",e.style.pointerEvents="none"):(e.style.zIndex=null,e.style.position=null,e.style.pointerEvents=null)},[O]),n.useLayoutEffect(()=>{if(G.current){let e=z.current=u.createRoot(q);if(B.updateMatrixWorld(),k)q.style.cssText="position:absolute;top:0;left:0;pointer-events:none;overflow:hidden;";else{let e=j(G.current,N,V);q.style.cssText=`position:absolute;top:0;left:0;transform:translate3d(${e[0]}px,${e[1]}px,0);transform-origin:0 0;`}return Z&&(s?Z.prepend(q):Z.appendChild(q)),()=>{Z&&Z.removeChild(q),e.unmount()}}},[Z,k]),n.useLayoutEffect(()=>{P&&(q.className=P)},[P]);let er=n.useMemo(()=>k?{position:"absolute",top:0,left:0,width:V.width,height:V.height,transformStyle:"preserve-3d",pointerEvents:"none"}:{position:"absolute",transform:g?"translate3d(-50%,-50%,0)":"none",...S&&{top:-V.height/2,left:-V.width/2,width:V.width,height:V.height},...r},[r,g,S,V,k]),ei=n.useMemo(()=>({position:"absolute",pointerEvents:D}),[D]);n.useLayoutEffect(()=>{var t,s;ee.current=!1,k?null==(t=z.current)||t.render(n.createElement("div",{ref:Y,style:er},n.createElement("div",{ref:J,style:ei},n.createElement("div",{ref:L,className:i,style:r,children:e})))):null==(s=z.current)||s.render(n.createElement("div",{ref:L,style:er,className:i,children:e}))});let es=n.useRef(!0);(0,o.useFrame)(e=>{if(G.current){N.updateMatrixWorld(),G.current.updateWorldMatrix(!0,!1);let e=k?K.current:j(G.current,N,V);if(k||Math.abs($.current-N.zoom)>t||Math.abs(K.current[0]-e[0])>t||Math.abs(K.current[1]-e[1])>t){var r;let t,i,s,n,o=(r=G.current,t=d.setFromMatrixPosition(r.matrixWorld),i=h.setFromMatrixPosition(N.matrixWorld),s=t.sub(i),n=N.getWorldDirection(f),s.angleTo(n)>Math.PI/2),l=!1;et&&(Array.isArray(O)?l=O.map(e=>e.current):"blending"!==O&&(l=[B]));let u=es.current;l?es.current=function(e,t,r,i){let s=d.setFromMatrixPosition(e.matrixWorld),n=s.clone();n.project(t),p.set(n.x,n.y),r.setFromCamera(p,t);let a=r.intersectObjects(i,!0);if(a.length){let e=a[0].distance;return s.distanceTo(r.ray.origin)<e}return!0}(G.current,N,H,l)&&!o:es.current=!o,u!==es.current&&(C?C(!es.current):q.style.display=es.current?"block":"none");let c=Math.floor(M[0]/2),m=O?et?[M[0],c]:[c-1,0]:M;if(q.style.zIndex=`${function(e,t,r){if(t instanceof a.PerspectiveCamera||t instanceof a.OrthographicCamera){let i=d.setFromMatrixPosition(e.matrixWorld),s=h.setFromMatrixPosition(t.matrixWorld),n=i.distanceTo(s),a=(r[1]-r[0])/(t.far-t.near),o=r[1]-a*t.far;return Math.round(a*n+o)}}(G.current,N,m)}`,k){let[e,t]=[V.width/2,V.height/2],r=N.projectionMatrix.elements[5]*t,{isOrthographicCamera:i,top:s,left:n,bottom:a,right:o}=N,l=b(N.matrixWorldInverse),u=i?`scale(${r})translate(${y(-(o+n)/2)}px,${y((s+a)/2)}px)`:`translateZ(${r}px)`,c=G.current.matrixWorld;R&&((c=N.matrixWorldInverse.clone().transpose().copyPosition(c).scale(G.current.scale)).elements[3]=c.elements[7]=c.elements[11]=0,c.elements[15]=1),q.style.width=V.width+"px",q.style.height=V.height+"px",q.style.perspective=i?"":`${r}px`,Y.current&&J.current&&(Y.current.style.transform=`${u}${l}translate(${e}px,${t}px)`,J.current.style.transform=v(c,1/((E||10)/400)))}else{let t=void 0===E?1:function(e,t){if(t instanceof a.OrthographicCamera)return t.zoom;if(!(t instanceof a.PerspectiveCamera))return 1;{let r=d.setFromMatrixPosition(e.matrixWorld),i=h.setFromMatrixPosition(t.matrixWorld);return 1/(2*Math.tan(t.fov*Math.PI/180/2)*r.distanceTo(i))}}(G.current,N)*E;q.style.transform=`translate3d(${e[0]}px,${e[1]}px,0) scale(${t})`}K.current=e,$.current=N.zoom}}if(!et&&X.current&&!ee.current)if(k){if(Y.current){let e=Y.current.children[0];if(null!=e&&e.clientWidth&&null!=e&&e.clientHeight){let{isOrthographicCamera:t}=N;if(t||w)U.scale&&(Array.isArray(U.scale)?U.scale instanceof a.Vector3?X.current.scale.copy(U.scale.clone().divideScalar(1)):X.current.scale.set(1/U.scale[0],1/U.scale[1],1/U.scale[2]):X.current.scale.setScalar(1/U.scale));else{let t=(E||10)/400,r=e.clientWidth*t,i=e.clientHeight*t;X.current.scale.set(r,i,1)}ee.current=!0}}}else{let t=q.children[0];if(null!=t&&t.clientWidth&&null!=t&&t.clientHeight){let e=1/W.factor,r=t.clientWidth*e,i=t.clientHeight*e;X.current.scale.set(r,i,1),ee.current=!0}X.current.lookAt(e.camera.position)}});let en=n.useMemo(()=>({vertexShader:k?void 0:`
/*
This shader is from the THREE's SpriteMaterial.
We need to turn the backing plane into a Sprite
(make it always face the camera) if "transfrom"
is false.
*/
#include <common>
void main() {
vec2 center = vec2(0., 1.);
float rotation = 0.0;
// This is somewhat arbitrary, but it seems to work well
// Need to figure out how to derive this dynamically if it even matters
float size = 0.03;
vec4 mvPosition = modelViewMatrix * vec4( 0.0, 0.0, 0.0, 1.0 );
vec2 scale;
scale.x = length( vec3( modelMatrix[ 0 ].x, modelMatrix[ 0 ].y, modelMatrix[ 0 ].z ) );
scale.y = length( vec3( modelMatrix[ 1 ].x, modelMatrix[ 1 ].y, modelMatrix[ 1 ].z ) );
bool isPerspective = isPerspectiveMatrix( projectionMatrix );
if ( isPerspective ) scale *= - mvPosition.z;
vec2 alignedPosition = ( position.xy - ( center - vec2( 0.5 ) ) ) * scale * size;
vec2 rotatedPosition;
rotatedPosition.x = cos( rotation ) * alignedPosition.x - sin( rotation ) * alignedPosition.y;
rotatedPosition.y = sin( rotation ) * alignedPosition.x + cos( rotation ) * alignedPosition.y;
mvPosition.xy += rotatedPosition;
gl_Position = projectionMatrix * mvPosition;
}
`,fragmentShader:`
void main() {
gl_FragColor = vec4(0.0, 0.0, 0.0, 0.0);
}
`}),[k]);return n.createElement("group",(0,l.default)({},U,{ref:G}),O&&!et&&n.createElement("mesh",{castShadow:T,receiveShadow:F,ref:X},w||n.createElement("planeGeometry",null),I||n.createElement("shaderMaterial",{side:a.DoubleSide,vertexShader:en.vertexShader,fragmentShader:en.fragmentShader})))});e.s(["Html",()=>S],60099);var x=e.i(67191);let E=[0,0,0],R=new a.Vector3,k=(0,n.memo)(function(e){let t,r,a,l=(0,s.c)(11),{children:u,color:c,position:d,opacity:h}=e,f=void 0===c?"white":c,p=void 0===d?E:d,m=void 0===h?"fadeWithDistance":h,y="fadeWithDistance"===m,g=(0,n.useRef)(null),[b,v]=(0,n.useState)(0!==m),k=(0,n.useRef)(null);return l[0]!==y||l[1]!==b||l[2]!==m?(t=e=>{var t,r,i;let s,{camera:n}=e,a=g.current;if(!a)return;a.getWorldPosition(R);let o=(t=R.x,r=R.y,i=R.z,-((t-(s=n.matrixWorld.elements)[12])*s[8])+-((r-s[13])*s[9])+-((i-s[14])*s[10])<0);if(y){let e=o?1/0:n.position.distanceTo(R),t=e<200;if(b!==t&&v(t),k.current&&t){let t=Math.max(0,Math.min(1,1-e/200));k.current.style.opacity=t.toString()}}else{let e=!o&&0!==m;b!==e&&v(e),k.current&&(k.current.style.opacity=m.toString())}},l[0]=y,l[1]=b,l[2]=m,l[3]=t):t=l[3],(0,o.useFrame)(t),l[4]!==u||l[5]!==f||l[6]!==b||l[7]!==p?(r=b?(0,i.jsx)(S,{position:p,center:!0,children:(0,i.jsx)("div",{ref:k,className:x.default.Label,style:{color:f},children:u})}):null,l[4]=u,l[5]=f,l[6]=b,l[7]=p,l[8]=r):r=l[8],l[9]!==r?(a=(0,i.jsx)("group",{ref:g,children:r}),l[9]=r,l[10]=a):a=l[10],a});e.s(["FloatingLabel",0,k],89887)},13876,79473,43595,58647,30064,e=>{"use strict";var t=e.i(932),r=e.i(8155);let i=e=>(t,r,i)=>{let s=i.subscribe;return i.subscribe=(e,t,r)=>{let n=e;if(t){let s=(null==r?void 0:r.equalityFn)||Object.is,a=e(i.getState());n=r=>{let i=e(r);if(!s(a,i)){let e=a;t(a=i,e)}},(null==r?void 0:r.fireImmediately)&&t(a,a)}return s(n)},e(t,r,i)};e.s(["subscribeWithSelector",()=>i],79473);var s=e.i(66748);function n(e){let t=new Map;for(let r of e.state.datablocks.values()){if("tsshapeconstructor"!==r._class)continue;let e=r.baseshape;if("string"!=typeof e)continue;let i=e.toLowerCase(),s=i.replace(/\.dts$/i,"")+"_",n=new Map;for(let e=0;e<=127;e++){let t=r[`sequence${e}`];if("string"!=typeof t)continue;let i=t.indexOf(" ");if(-1===i)continue;let a=t.slice(0,i).toLowerCase(),o=t.slice(i+1).trim().toLowerCase();if(!o||!a.startsWith(s)||!a.endsWith(".dsq"))continue;let l=a.slice(s.length,-4);l&&n.set(o,l)}n.size>0&&t.set(i,n)}return t}function a(e,t,r){let i=new Map;for(let r of e){let e=t.clipAction(r);i.set(r.name.toLowerCase(),e)}if(r)for(let[e,t]of r){let r=i.get(t);r&&!i.has(e)&&i.set(e,r)}return i}function o(e){return e.toLowerCase()}function l(e){let t=o(e.trim());return t.startsWith("$")?t.slice(1):t}e.s(["buildSequenceAliasMap",()=>n,"getAliasedActions",()=>a],43595);let u={entitiesById:{},players:[],ghosts:[],projectiles:[],flags:[],teams:{},scores:{}},c={runtime:{runtime:null,sequenceAliases:new Map,objectVersionById:{},globalVersionByName:{},objectIdsByName:{},datablockIdsByName:{},lastRuntimeTick:0},world:{entitiesById:{},players:[],ghosts:[],projectiles:[],flags:[],teams:{},scores:{}},playback:{recording:null,status:"stopped",timeMs:0,rate:1,frameCursor:0,durationMs:0,streamSnapshot:null},diagnostics:{eventCounts:{"object.created":0,"object.deleted":0,"field.changed":0,"method.called":0,"global.changed":0,"batch.flushed":0},recentEvents:[],maxRecentEvents:200,webglContextLost:!1,playbackEvents:[],maxPlaybackEvents:400,rendererSamples:[],maxRendererSamples:2400}},d=(0,r.createStore)()(i(e=>({...c,setRuntime(t){let r=function(e){let t={},r={},i={},s={};for(let r of e.state.objectsById.values())t[r._id]=0,r._name&&(i[o(r._name)]=r._id,r._isDatablock&&(s[o(r._name)]=r._id));for(let t of e.state.globals.keys())r[l(t)]=0;return{objectVersionById:t,globalVersionByName:r,objectIdsByName:i,datablockIdsByName:s}}(t),i=n(t);e(e=>({...e,runtime:{runtime:t,sequenceAliases:i,objectVersionById:r.objectVersionById,globalVersionByName:r.globalVersionByName,objectIdsByName:r.objectIdsByName,datablockIdsByName:r.datablockIdsByName,lastRuntimeTick:0}}))},clearRuntime(){e(e=>({...e,runtime:{runtime:null,sequenceAliases:new Map,objectVersionById:{},globalVersionByName:{},objectIdsByName:{},datablockIdsByName:{},lastRuntimeTick:0}}))},applyRuntimeBatch(t,r){0!==t.length&&e(e=>{let i={...e.runtime.objectVersionById},s={...e.runtime.globalVersionByName},n={...e.runtime.objectIdsByName},a={...e.runtime.datablockIdsByName},u={...e.diagnostics.eventCounts},c=[...e.diagnostics.recentEvents],d=e=>{null!=e&&(i[e]=(i[e]??0)+1)};for(let e of t){if(u[e.type]=(u[e.type]??0)+1,c.push(e),"object.created"===e.type){let t=e.object;if(d(e.objectId),t._name){let r=o(t._name);n[r]=e.objectId,t._isDatablock&&(a[r]=e.objectId)}d(t._parent?._id);continue}if("object.deleted"===e.type){let t=e.object;if(delete i[e.objectId],t?._name){let e=o(t._name);delete n[e],t._isDatablock&&delete a[e]}d(t?._parent?._id);continue}if("field.changed"===e.type){d(e.objectId);continue}if("global.changed"===e.type){let t=l(e.name);s[t]=(s[t]??0)+1;continue}}let h=r?.tick??(e.runtime.lastRuntimeTick>0?e.runtime.lastRuntimeTick+1:1);u["batch.flushed"]+=1,c.push({type:"batch.flushed",tick:h,events:t});let f=e.diagnostics.maxRecentEvents,p=c.length>f?c.slice(c.length-f):c;return{...e,runtime:{...e.runtime,objectVersionById:i,globalVersionByName:s,objectIdsByName:n,datablockIdsByName:a,lastRuntimeTick:h},diagnostics:{...e.diagnostics,eventCounts:u,recentEvents:p}}})},setDemoRecording(t){let r=Math.max(0,(t?.duration??0)*1e3),i=function(e=0){let t=Error().stack;if(!t)return null;let r=t.split("\n").map(e=>e.trim()).filter(Boolean).slice(1+e,9+e);return r.length>0?r.join(" <= "):null}(1);e(e=>{let s=e.playback.streamSnapshot,n=e.playback.recording,a={t:Date.now(),kind:"recording.set",message:"setDemoRecording invoked",playbackStatus:e.playback.status,playbackTimeMs:e.playback.timeMs,frameCursor:e.playback.frameCursor,streamEntityCount:s?.entities.length??0,streamCameraMode:s?.camera?.mode??null,streamExhausted:s?.exhausted??!1,meta:{previousMissionName:n?.missionName??null,nextMissionName:t?.missionName??null,previousDurationSec:n?Number(n.duration.toFixed(3)):null,nextDurationSec:t?Number(t.duration.toFixed(3)):null,isNull:null==t,stack:i??"unavailable"}};return{...e,world:u,playback:{recording:t,status:"stopped",timeMs:0,rate:1,frameCursor:0,durationMs:r,streamSnapshot:null},diagnostics:{...e.diagnostics,webglContextLost:!1,playbackEvents:[a],rendererSamples:[]}}})},setPlaybackTime(t){e(e=>{var r,i,s;let n=(r=t,i=0,s=e.playback.durationMs,r<0?0:r>s?s:r);return{...e,playback:{...e.playback,timeMs:n,frameCursor:n}}})},setPlaybackStatus(t){e(e=>({...e,playback:{...e.playback,status:t}}))},setPlaybackRate(t){var r,i,s;let n=Number.isFinite(t)?(i=.01,s=16,(r=t)<.01?.01:r>16?16:r):1;e(e=>({...e,playback:{...e.playback,rate:n}}))},setPlaybackFrameCursor(t){let r=Number.isFinite(t)?t:0;e(e=>({...e,playback:{...e.playback,frameCursor:r}}))},setPlaybackStreamSnapshot(t){e(e=>({...e,playback:{...e.playback,streamSnapshot:t}}))},setWebglContextLost(t){e(e=>({...e,diagnostics:{...e.diagnostics,webglContextLost:t}}))},recordPlaybackDiagnosticEvent(t){e(e=>{let r=e.playback.streamSnapshot,i={t:Date.now(),kind:t.kind,message:t.message,playbackStatus:e.playback.status,playbackTimeMs:e.playback.timeMs,frameCursor:e.playback.frameCursor,streamEntityCount:r?.entities.length??0,streamCameraMode:r?.camera?.mode??null,streamExhausted:r?.exhausted??!1,meta:t.meta},s=[...e.diagnostics.playbackEvents,i],n=e.diagnostics.maxPlaybackEvents,a=s.length>n?s.slice(s.length-n):s;return{...e,diagnostics:{...e.diagnostics,playbackEvents:a}}})},appendRendererSample(t){e(e=>{let r=e.playback.streamSnapshot,i={t:t.t??Date.now(),playbackStatus:e.playback.status,playbackTimeMs:e.playback.timeMs,frameCursor:e.playback.frameCursor,streamEntityCount:r?.entities.length??0,streamCameraMode:r?.camera?.mode??null,streamExhausted:r?.exhausted??!1,geometries:t.geometries,textures:t.textures,programs:t.programs,renderCalls:t.renderCalls,renderTriangles:t.renderTriangles,renderPoints:t.renderPoints,renderLines:t.renderLines,sceneObjects:t.sceneObjects,visibleSceneObjects:t.visibleSceneObjects,jsHeapUsed:t.jsHeapUsed,jsHeapTotal:t.jsHeapTotal,jsHeapLimit:t.jsHeapLimit},s=[...e.diagnostics.rendererSamples,i],n=e.diagnostics.maxRendererSamples,a=s.length>n?s.slice(s.length-n):s;return{...e,diagnostics:{...e.diagnostics,rendererSamples:a}}})},clearPlaybackDiagnostics(){e(e=>({...e,diagnostics:{...e.diagnostics,webglContextLost:!1,playbackEvents:[],rendererSamples:[]}}))}})));function h(){return d}function f(e,t){return(0,s.useStoreWithEqualityFn)(d,e,t)}function p(e){let r,i,s,n=(0,t.c)(7),a=f(m);n[0]!==e?(r=t=>null==e?-1:t.runtime.objectVersionById[e]??-1,n[0]=e,n[1]=r):r=n[1];let o=f(r);if(null==e||!a||-1===o)return;n[2]!==e||n[3]!==a.state.objectsById?(i=a.state.objectsById.get(e),n[2]=e,n[3]=a.state.objectsById,n[4]=i):i=n[4];let l=i;return n[5]!==l?(s=l?{...l}:void 0,n[5]=l,n[6]=s):s=n[6],s}function m(e){return e.runtime.runtime}function y(e){let r,i,s,n,a,l=(0,t.c)(11),u=f(g);l[0]!==e?(r=e?o(e):"",l[0]=e,l[1]=r):r=l[1];let c=r;l[2]!==c?(i=e=>c?e.runtime.objectIdsByName[c]:void 0,l[2]=c,l[3]=i):i=l[3];let d=f(i);l[4]!==d?(s=e=>null==d?-1:e.runtime.objectVersionById[d]??-1,l[4]=d,l[5]=s):s=l[5];let h=f(s);if(!u||!c||null==d||-1===h)return;l[6]!==d||l[7]!==u.state.objectsById?(n=u.state.objectsById.get(d),l[6]=d,l[7]=u.state.objectsById,l[8]=n):n=l[8];let p=n;return l[9]!==p?(a=p?{...p}:void 0,l[9]=p,l[10]=a):a=l[10],a}function g(e){return e.runtime.runtime}function b(e){let r,i,s,n,a,l=(0,t.c)(11),u=f(v);l[0]!==e?(r=e?o(e):"",l[0]=e,l[1]=r):r=l[1];let c=r;l[2]!==c?(i=e=>c?e.runtime.datablockIdsByName[c]:void 0,l[2]=c,l[3]=i):i=l[3];let d=f(i);l[4]!==d?(s=e=>null==d?-1:e.runtime.objectVersionById[d]??-1,l[4]=d,l[5]=s):s=l[5];let h=f(s);if(!u||!c||null==d||-1===h)return;l[6]!==d||l[7]!==u.state.objectsById?(n=u.state.objectsById.get(d),l[6]=d,l[7]=u.state.objectsById,l[8]=n):n=l[8];let p=n;return l[9]!==p?(a=p?{...p}:void 0,l[9]=p,l[10]=a):a=l[10],a}function v(e){return e.runtime.runtime}function S(e,r){let i,s,n,a,o=(0,t.c)(13);o[0]!==r?(i=void 0===r?[]:r,o[0]=r,o[1]=i):i=o[1];let l=i,u=f(k);o[2]!==e?(s=t=>null==e?-1:t.runtime.objectVersionById[e]??-1,o[2]=e,o[3]=s):s=o[3];let c=f(s);if(null==e){let e;return o[4]!==l?(e=l.map(R),o[4]=l,o[5]=e):e=o[5],e}if(!u||-1===c){let e;return o[6]!==l?(e=l.map(E),o[6]=l,o[7]=e):e=o[7],e}let d=u.state.objectsById;if(o[8]!==e||o[9]!==u.state.objectsById){a=Symbol.for("react.early_return_sentinel");e:{let t=d.get(e);if(!t?._children){let e;o[12]===Symbol.for("react.memo_cache_sentinel")?(e=[],o[12]=e):e=o[12],a=e;break e}n=t._children.map(x)}o[8]=e,o[9]=u.state.objectsById,o[10]=n,o[11]=a}else n=o[10],a=o[11];return a!==Symbol.for("react.early_return_sentinel")?a:n}function x(e){return e._id}function E(e){return e._id}function R(e){return e._id}function k(e){return e.runtime.runtime}e.s(["engineStore",0,d,"useDatablockByName",()=>b,"useEngineSelector",()=>f,"useEngineStoreApi",()=>h,"useRuntimeChildIds",()=>S,"useRuntimeObjectById",()=>p,"useRuntimeObjectByName",()=>y],58647);let O={maxRuntimeEvents:80,maxPlaybackEvents:200,maxRendererSamples:1200,maxStreamEntities:40};function C(e){return e&&"object"==typeof e?{kind:"TorqueObject",id:"number"==typeof e._id?e._id:null,className:"string"==typeof e._className?e._className:null,class:"string"==typeof e._class?e._class:null,name:"string"==typeof e._name?e._name:null,isDatablock:!!e._isDatablock,parentId:e._parent&&"number"==typeof e._parent._id?e._parent._id:null,childCount:Array.isArray(e._children)?e._children.length:0}:null}function T(e,t={}){let r,i,s,n={...O,...t},a=(r=new WeakSet,function e(t,i=0){if(null==t)return t;let s=typeof t;if("string"===s||"number"===s||"boolean"===s)return t;if("bigint"===s)return t.toString();if("function"===s)return`[Function ${t.name||"anonymous"}]`;if("object"!==s)return String(t);if("_id"in t&&"_className"in t)return C(t);if(t instanceof Date)return t.toISOString();if(Array.isArray(t)){if(i>=2)return{kind:"Array",length:t.length};let r=t.slice(0,8).map(t=>e(t,i+1));return{kind:"Array",length:t.length,sample:r}}if(r.has(t))return"[Circular]";if(r.add(t),i>=2)return{kind:t?.constructor?.name??"Object"};let n=Object.keys(t).slice(0,12),a={};for(let r of n)try{a[r]=e(t[r],i+1)}catch(e){a[r]=`[Unserializable: ${e.message}]`}return Object.keys(t).length>n.length&&(a.__truncatedKeys=Object.keys(t).length-n.length),a}),o=e.diagnostics.recentEvents.slice(-n.maxRuntimeEvents).map(e=>(function(e,t){if("object.created"===e.type||"object.deleted"===e.type)return{type:e.type,objectId:e.objectId,object:C(e.object)};if("field.changed"===e.type)return{type:e.type,objectId:e.objectId,field:e.field,value:t(e.value),previousValue:t(e.previousValue),object:C(e.object)};if("method.called"===e.type)return{type:e.type,className:e.className,methodName:e.methodName,objectId:e.objectId??null,args:t(e.args)};if("global.changed"===e.type)return{type:e.type,name:e.name,value:t(e.value),previousValue:t(e.previousValue)};if("batch.flushed"===e.type){let t={};for(let r of e.events)t[r.type]=(t[r.type]??0)+1;return{type:e.type,tick:e.tick,eventCount:e.events.length,byType:t}}return{type:"unknown"}})(e,a)),l=e.diagnostics.playbackEvents.slice(-n.maxPlaybackEvents).map(e=>({...e,meta:e.meta?a(e.meta):void 0})),u=e.diagnostics.rendererSamples.slice(-n.maxRendererSamples);return{generatedAt:new Date().toISOString(),playback:{status:e.playback.status,timeMs:e.playback.timeMs,frameCursor:e.playback.frameCursor,rate:e.playback.rate,durationMs:e.playback.durationMs,recording:(i=e.playback.recording)?{duration:i.duration,missionName:i.missionName,gameType:i.gameType,hasStreamingPlayback:!!i.streamingPlayback}:null,streamSnapshot:function(e,t){let r=e.playback.streamSnapshot;if(!r)return null;let i={},s={};for(let e of r.entities){let t=e.type||"Unknown";i[t]=(i[t]??0)+1,e.visual?.kind&&(s[e.visual.kind]=(s[e.visual.kind]??0)+1)}let n=r.entities.slice(0,t).map(e=>({id:e.id,type:e.type,dataBlock:e.dataBlock??null,className:e.className??null,ghostIndex:e.ghostIndex??null,dataBlockId:e.dataBlockId??null,shapeHint:e.shapeHint??null,visualKind:e.visual?.kind??null,hasPosition:!!e.position,hasRotation:!!e.rotation}));return{timeSec:r.timeSec,exhausted:r.exhausted,cameraMode:r.camera?.mode??null,controlEntityId:r.camera?.controlEntityId??null,orbitTargetId:r.camera?.orbitTargetId??null,controlPlayerGhostId:r.controlPlayerGhostId??null,entityCount:r.entities.length,entitiesByType:i,visualsByKind:s,entitySample:n,status:r.status}}(e,n.maxStreamEntities)},runtime:(s=e.runtime.runtime)?{lastRuntimeTick:e.runtime.lastRuntimeTick,objectCount:s.state.objectsById.size,datablockCount:s.state.datablocks.size,globalCount:s.state.globals.size,activePackageCount:s.state.activePackages.length,executedScriptCount:s.state.executedScripts.size,failedScriptCount:s.state.failedScripts.size}:null,diagnostics:{webglContextLost:e.diagnostics.webglContextLost,eventCounts:e.diagnostics.eventCounts,playbackEventCount:e.diagnostics.playbackEvents.length,rendererSampleCount:e.diagnostics.rendererSamples.length,runtimeEventCount:e.diagnostics.recentEvents.length,playbackEventsByKind:function(e){let t={};for(let r of e)t[r.kind]=(t[r.kind]??0)+1;return t}(e.diagnostics.playbackEvents),rendererTrend:function(e){if(e.length<2)return null;let t=e[0],r=e[e.length-1];return{sampleCount:e.length,durationSec:Number(((r.t-t.t)/1e3).toFixed(3)),geometriesDelta:r.geometries-t.geometries,texturesDelta:r.textures-t.textures,programsDelta:r.programs-t.programs,sceneObjectsDelta:r.sceneObjects-t.sceneObjects,visibleSceneObjectsDelta:r.visibleSceneObjects-t.visibleSceneObjects,renderCallsDelta:r.renderCalls-t.renderCalls}}(u),playbackEvents:l,rendererSamples:u,runtimeEvents:o}}}function F(e,t={}){return JSON.stringify(T(e,t),null,2)}e.s(["buildSerializableDiagnosticsJson",()=>F,"buildSerializableDiagnosticsSnapshot",()=>T],30064),e.s([],13876)},19273,80166,e=>{"use strict";e.i(47167);var t={setTimeout:(e,t)=>setTimeout(e,t),clearTimeout:e=>clearTimeout(e),setInterval:(e,t)=>setInterval(e,t),clearInterval:e=>clearInterval(e)},r=new class{#e=t;#t=!1;setTimeoutProvider(e){this.#e=e}setTimeout(e,t){return this.#e.setTimeout(e,t)}clearTimeout(e){this.#e.clearTimeout(e)}setInterval(e,t){return this.#e.setInterval(e,t)}clearInterval(e){this.#e.clearInterval(e)}};function i(e){setTimeout(e,0)}e.s(["systemSetTimeoutZero",()=>i,"timeoutManager",()=>r],80166);var s="u"<typeof window||"Deno"in globalThis;function n(){}function a(e,t){return"function"==typeof e?e(t):e}function o(e){return"number"==typeof e&&e>=0&&e!==1/0}function l(e,t){return Math.max(e+(t||0)-Date.now(),0)}function u(e,t){return"function"==typeof e?e(t):e}function c(e,t){return"function"==typeof e?e(t):e}function d(e,t){let{type:r="all",exact:i,fetchStatus:s,predicate:n,queryKey:a,stale:o}=e;if(a){if(i){if(t.queryHash!==f(a,t.options))return!1}else if(!m(t.queryKey,a))return!1}if("all"!==r){let e=t.isActive();if("active"===r&&!e||"inactive"===r&&e)return!1}return("boolean"!=typeof o||t.isStale()===o)&&(!s||s===t.state.fetchStatus)&&(!n||!!n(t))}function h(e,t){let{exact:r,status:i,predicate:s,mutationKey:n}=e;if(n){if(!t.options.mutationKey)return!1;if(r){if(p(t.options.mutationKey)!==p(n))return!1}else if(!m(t.options.mutationKey,n))return!1}return(!i||t.state.status===i)&&(!s||!!s(t))}function f(e,t){return(t?.queryKeyHashFn||p)(e)}function p(e){return JSON.stringify(e,(e,t)=>v(t)?Object.keys(t).sort().reduce((e,r)=>(e[r]=t[r],e),{}):t)}function m(e,t){return e===t||typeof e==typeof t&&!!e&&!!t&&"object"==typeof e&&"object"==typeof t&&Object.keys(t).every(r=>m(e[r],t[r]))}var y=Object.prototype.hasOwnProperty;function g(e,t){if(!t||Object.keys(e).length!==Object.keys(t).length)return!1;for(let r in e)if(e[r]!==t[r])return!1;return!0}function b(e){return Array.isArray(e)&&e.length===Object.keys(e).length}function v(e){if(!S(e))return!1;let t=e.constructor;if(void 0===t)return!0;let r=t.prototype;return!!S(r)&&!!r.hasOwnProperty("isPrototypeOf")&&Object.getPrototypeOf(e)===Object.prototype}function S(e){return"[object Object]"===Object.prototype.toString.call(e)}function x(e){return new Promise(t=>{r.setTimeout(t,e)})}function E(e,t,r){return"function"==typeof r.structuralSharing?r.structuralSharing(e,t):!1!==r.structuralSharing?function e(t,r,i=0){if(t===r)return t;if(i>500)return r;let s=b(t)&&b(r);if(!s&&!(v(t)&&v(r)))return r;let n=(s?t:Object.keys(t)).length,a=s?r:Object.keys(r),o=a.length,l=s?Array(o):{},u=0;for(let c=0;c<o;c++){let o=s?c:a[c],d=t[o],h=r[o];if(d===h){l[o]=d,(s?c<n:y.call(t,o))&&u++;continue}if(null===d||null===h||"object"!=typeof d||"object"!=typeof h){l[o]=h;continue}let f=e(d,h,i+1);l[o]=f,f===d&&u++}return n===o&&u===n?t:l}(e,t):t}function R(e,t,r=0){let i=[...e,t];return r&&i.length>r?i.slice(1):i}function k(e,t,r=0){let i=[t,...e];return r&&i.length>r?i.slice(0,-1):i}var O=Symbol();function C(e,t){return!e.queryFn&&t?.initialPromise?()=>t.initialPromise:e.queryFn&&e.queryFn!==O?e.queryFn:()=>Promise.reject(Error(`Missing queryFn: '${e.queryHash}'`))}function T(e,t){return"function"==typeof e?e(...t):!!e}function F(e,t,r){let i,s=!1;return Object.defineProperty(e,"signal",{enumerable:!0,get:()=>(i??=t(),s||(s=!0,i.aborted?r():i.addEventListener("abort",r,{once:!0})),i)}),e}e.s(["addConsumeAwareSignal",()=>F,"addToEnd",()=>R,"addToStart",()=>k,"ensureQueryFn",()=>C,"functionalUpdate",()=>a,"hashKey",()=>p,"hashQueryKeyByOptions",()=>f,"isServer",()=>s,"isValidTimeout",()=>o,"matchMutation",()=>h,"matchQuery",()=>d,"noop",()=>n,"partialMatchKey",()=>m,"replaceData",()=>E,"resolveEnabled",()=>c,"resolveStaleTime",()=>u,"shallowEqualObjects",()=>g,"shouldThrowError",()=>T,"skipToken",()=>O,"sleep",()=>x,"timeUntilStale",()=>l],19273)},40143,e=>{"use strict";let t,r,i,s,n,a;var o=e.i(80166).systemSetTimeoutZero,l=(t=[],r=0,i=e=>{e()},s=e=>{e()},n=o,{batch:e=>{let a;r++;try{a=e()}finally{let e;--r||(e=t,t=[],e.length&&n(()=>{s(()=>{e.forEach(e=>{i(e)})})}))}return a},batchCalls:e=>(...t)=>{a(()=>{e(...t)})},schedule:a=e=>{r?t.push(e):n(()=>{i(e)})},setNotifyFunction:e=>{i=e},setBatchNotifyFunction:e=>{s=e},setScheduler:e=>{n=e}});e.s(["notifyManager",()=>l])},15823,e=>{"use strict";var t=class{constructor(){this.listeners=new Set,this.subscribe=this.subscribe.bind(this)}subscribe(e){return this.listeners.add(e),this.onSubscribe(),()=>{this.listeners.delete(e),this.onUnsubscribe()}}hasListeners(){return this.listeners.size>0}onSubscribe(){}onUnsubscribe(){}};e.s(["Subscribable",()=>t])},75555,e=>{"use strict";var t=e.i(15823),r=e.i(19273),i=new class extends t.Subscribable{#r;#i;#s;constructor(){super(),this.#s=e=>{if(!r.isServer&&window.addEventListener){let t=()=>e();return window.addEventListener("visibilitychange",t,!1),()=>{window.removeEventListener("visibilitychange",t)}}}}onSubscribe(){this.#i||this.setEventListener(this.#s)}onUnsubscribe(){this.hasListeners()||(this.#i?.(),this.#i=void 0)}setEventListener(e){this.#s=e,this.#i?.(),this.#i=e(e=>{"boolean"==typeof e?this.setFocused(e):this.onFocus()})}setFocused(e){this.#r!==e&&(this.#r=e,this.onFocus())}onFocus(){let e=this.isFocused();this.listeners.forEach(t=>{t(e)})}isFocused(){return"boolean"==typeof this.#r?this.#r:globalThis.document?.visibilityState!=="hidden"}};e.s(["focusManager",()=>i])},86491,14448,93803,36553,88587,e=>{"use strict";e.i(47167);var t=e.i(19273),r=e.i(40143),i=e.i(75555),s=e.i(15823),n=new class extends s.Subscribable{#n=!0;#i;#s;constructor(){super(),this.#s=e=>{if(!t.isServer&&window.addEventListener){let t=()=>e(!0),r=()=>e(!1);return window.addEventListener("online",t,!1),window.addEventListener("offline",r,!1),()=>{window.removeEventListener("online",t),window.removeEventListener("offline",r)}}}}onSubscribe(){this.#i||this.setEventListener(this.#s)}onUnsubscribe(){this.hasListeners()||(this.#i?.(),this.#i=void 0)}setEventListener(e){this.#s=e,this.#i?.(),this.#i=e(this.setOnline.bind(this))}setOnline(e){this.#n!==e&&(this.#n=e,this.listeners.forEach(t=>{t(e)}))}isOnline(){return this.#n}};function a(){let e,t,r=new Promise((r,i)=>{e=r,t=i});function i(e){Object.assign(r,e),delete r.resolve,delete r.reject}return r.status="pending",r.catch(()=>{}),r.resolve=t=>{i({status:"fulfilled",value:t}),e(t)},r.reject=e=>{i({status:"rejected",reason:e}),t(e)},r}function o(e){return Math.min(1e3*2**e,3e4)}function l(e){return(e??"online")!=="online"||n.isOnline()}e.s(["onlineManager",()=>n],14448),e.s(["pendingThenable",()=>a],93803);var u=class extends Error{constructor(e){super("CancelledError"),this.revert=e?.revert,this.silent=e?.silent}};function c(e){let r,s=!1,c=0,d=a(),h=()=>i.focusManager.isFocused()&&("always"===e.networkMode||n.isOnline())&&e.canRun(),f=()=>l(e.networkMode)&&e.canRun(),p=e=>{"pending"===d.status&&(r?.(),d.resolve(e))},m=e=>{"pending"===d.status&&(r?.(),d.reject(e))},y=()=>new Promise(t=>{r=e=>{("pending"!==d.status||h())&&t(e)},e.onPause?.()}).then(()=>{r=void 0,"pending"===d.status&&e.onContinue?.()}),g=()=>{let r;if("pending"!==d.status)return;let i=0===c?e.initialPromise:void 0;try{r=i??e.fn()}catch(e){r=Promise.reject(e)}Promise.resolve(r).then(p).catch(r=>{if("pending"!==d.status)return;let i=e.retry??3*!t.isServer,n=e.retryDelay??o,a="function"==typeof n?n(c,r):n,l=!0===i||"number"==typeof i&&c<i||"function"==typeof i&&i(c,r);s||!l?m(r):(c++,e.onFail?.(c,r),(0,t.sleep)(a).then(()=>h()?void 0:y()).then(()=>{s?m(r):g()}))})};return{promise:d,status:()=>d.status,cancel:t=>{if("pending"===d.status){let r=new u(t);m(r),e.onCancel?.(r)}},continue:()=>(r?.(),d),cancelRetry:()=>{s=!0},continueRetry:()=>{s=!1},canStart:f,start:()=>(f()?g():y().then(g),d)}}e.s(["CancelledError",()=>u,"canFetch",()=>l,"createRetryer",()=>c],36553);var d=e.i(80166),h=class{#a;destroy(){this.clearGcTimeout()}scheduleGc(){this.clearGcTimeout(),(0,t.isValidTimeout)(this.gcTime)&&(this.#a=d.timeoutManager.setTimeout(()=>{this.optionalRemove()},this.gcTime))}updateGcTime(e){this.gcTime=Math.max(this.gcTime||0,e??(t.isServer?1/0:3e5))}clearGcTimeout(){this.#a&&(d.timeoutManager.clearTimeout(this.#a),this.#a=void 0)}};e.s(["Removable",()=>h],88587);var f=class extends h{#o;#l;#u;#c;#d;#h;#f;constructor(e){super(),this.#f=!1,this.#h=e.defaultOptions,this.setOptions(e.options),this.observers=[],this.#c=e.client,this.#u=this.#c.getQueryCache(),this.queryKey=e.queryKey,this.queryHash=e.queryHash,this.#o=y(this.options),this.state=e.state??this.#o,this.scheduleGc()}get meta(){return this.options.meta}get promise(){return this.#d?.promise}setOptions(e){if(this.options={...this.#h,...e},this.updateGcTime(this.options.gcTime),this.state&&void 0===this.state.data){let e=y(this.options);void 0!==e.data&&(this.setState(m(e.data,e.dataUpdatedAt)),this.#o=e)}}optionalRemove(){this.observers.length||"idle"!==this.state.fetchStatus||this.#u.remove(this)}setData(e,r){let i=(0,t.replaceData)(this.state.data,e,this.options);return this.#p({data:i,type:"success",dataUpdatedAt:r?.updatedAt,manual:r?.manual}),i}setState(e,t){this.#p({type:"setState",state:e,setStateOptions:t})}cancel(e){let r=this.#d?.promise;return this.#d?.cancel(e),r?r.then(t.noop).catch(t.noop):Promise.resolve()}destroy(){super.destroy(),this.cancel({silent:!0})}reset(){this.destroy(),this.setState(this.#o)}isActive(){return this.observers.some(e=>!1!==(0,t.resolveEnabled)(e.options.enabled,this))}isDisabled(){return this.getObserversCount()>0?!this.isActive():this.options.queryFn===t.skipToken||this.state.dataUpdateCount+this.state.errorUpdateCount===0}isStatic(){return this.getObserversCount()>0&&this.observers.some(e=>"static"===(0,t.resolveStaleTime)(e.options.staleTime,this))}isStale(){return this.getObserversCount()>0?this.observers.some(e=>e.getCurrentResult().isStale):void 0===this.state.data||this.state.isInvalidated}isStaleByTime(e=0){return void 0===this.state.data||"static"!==e&&(!!this.state.isInvalidated||!(0,t.timeUntilStale)(this.state.dataUpdatedAt,e))}onFocus(){let e=this.observers.find(e=>e.shouldFetchOnWindowFocus());e?.refetch({cancelRefetch:!1}),this.#d?.continue()}onOnline(){let e=this.observers.find(e=>e.shouldFetchOnReconnect());e?.refetch({cancelRefetch:!1}),this.#d?.continue()}addObserver(e){this.observers.includes(e)||(this.observers.push(e),this.clearGcTimeout(),this.#u.notify({type:"observerAdded",query:this,observer:e}))}removeObserver(e){this.observers.includes(e)&&(this.observers=this.observers.filter(t=>t!==e),this.observers.length||(this.#d&&(this.#f?this.#d.cancel({revert:!0}):this.#d.cancelRetry()),this.scheduleGc()),this.#u.notify({type:"observerRemoved",query:this,observer:e}))}getObserversCount(){return this.observers.length}invalidate(){this.state.isInvalidated||this.#p({type:"invalidate"})}async fetch(e,r){let i;if("idle"!==this.state.fetchStatus&&this.#d?.status()!=="rejected"){if(void 0!==this.state.data&&r?.cancelRefetch)this.cancel({silent:!0});else if(this.#d)return this.#d.continueRetry(),this.#d.promise}if(e&&this.setOptions(e),!this.options.queryFn){let e=this.observers.find(e=>e.options.queryFn);e&&this.setOptions(e.options)}let s=new AbortController,n=e=>{Object.defineProperty(e,"signal",{enumerable:!0,get:()=>(this.#f=!0,s.signal)})},a=()=>{let e,i=(0,t.ensureQueryFn)(this.options,r),s=(n(e={client:this.#c,queryKey:this.queryKey,meta:this.meta}),e);return(this.#f=!1,this.options.persister)?this.options.persister(i,s,this):i(s)},o=(n(i={fetchOptions:r,options:this.options,queryKey:this.queryKey,client:this.#c,state:this.state,fetchFn:a}),i);this.options.behavior?.onFetch(o,this),this.#l=this.state,("idle"===this.state.fetchStatus||this.state.fetchMeta!==o.fetchOptions?.meta)&&this.#p({type:"fetch",meta:o.fetchOptions?.meta}),this.#d=c({initialPromise:r?.initialPromise,fn:o.fetchFn,onCancel:e=>{e instanceof u&&e.revert&&this.setState({...this.#l,fetchStatus:"idle"}),s.abort()},onFail:(e,t)=>{this.#p({type:"failed",failureCount:e,error:t})},onPause:()=>{this.#p({type:"pause"})},onContinue:()=>{this.#p({type:"continue"})},retry:o.options.retry,retryDelay:o.options.retryDelay,networkMode:o.options.networkMode,canRun:()=>!0});try{let e=await this.#d.start();if(void 0===e)throw Error(`${this.queryHash} data is undefined`);return this.setData(e),this.#u.config.onSuccess?.(e,this),this.#u.config.onSettled?.(e,this.state.error,this),e}catch(e){if(e instanceof u){if(e.silent)return this.#d.promise;else if(e.revert){if(void 0===this.state.data)throw e;return this.state.data}}throw this.#p({type:"error",error:e}),this.#u.config.onError?.(e,this),this.#u.config.onSettled?.(this.state.data,e,this),e}finally{this.scheduleGc()}}#p(e){let t=t=>{switch(e.type){case"failed":return{...t,fetchFailureCount:e.failureCount,fetchFailureReason:e.error};case"pause":return{...t,fetchStatus:"paused"};case"continue":return{...t,fetchStatus:"fetching"};case"fetch":return{...t,...p(t.data,this.options),fetchMeta:e.meta??null};case"success":let r={...t,...m(e.data,e.dataUpdatedAt),dataUpdateCount:t.dataUpdateCount+1,...!e.manual&&{fetchStatus:"idle",fetchFailureCount:0,fetchFailureReason:null}};return this.#l=e.manual?r:void 0,r;case"error":let i=e.error;return{...t,error:i,errorUpdateCount:t.errorUpdateCount+1,errorUpdatedAt:Date.now(),fetchFailureCount:t.fetchFailureCount+1,fetchFailureReason:i,fetchStatus:"idle",status:"error",isInvalidated:!0};case"invalidate":return{...t,isInvalidated:!0};case"setState":return{...t,...e.state}}};this.state=t(this.state),r.notifyManager.batch(()=>{this.observers.forEach(e=>{e.onQueryUpdate()}),this.#u.notify({query:this,type:"updated",action:e})})}};function p(e,t){return{fetchFailureCount:0,fetchFailureReason:null,fetchStatus:l(t.networkMode)?"fetching":"paused",...void 0===e&&{error:null,status:"pending"}}}function m(e,t){return{data:e,dataUpdatedAt:t??Date.now(),error:null,isInvalidated:!1,status:"success"}}function y(e){let t="function"==typeof e.initialData?e.initialData():e.initialData,r=void 0!==t,i=r?"function"==typeof e.initialDataUpdatedAt?e.initialDataUpdatedAt():e.initialDataUpdatedAt:0;return{data:t,dataUpdateCount:0,dataUpdatedAt:r?i??Date.now():0,error:null,errorUpdateCount:0,errorUpdatedAt:0,fetchFailureCount:0,fetchFailureReason:null,fetchMeta:null,isInvalidated:!1,status:r?"success":"pending",fetchStatus:"idle"}}e.s(["Query",()=>f,"fetchState",()=>p],86491)},12598,e=>{"use strict";var t=e.i(71645),r=e.i(43476),i=t.createContext(void 0),s=e=>{let r=t.useContext(i);if(e)return e;if(!r)throw Error("No QueryClient set, use QueryClientProvider to set one");return r},n=({client:e,children:s})=>(t.useEffect(()=>(e.mount(),()=>{e.unmount()}),[e]),(0,r.jsx)(i.Provider,{value:e,children:s}));e.s(["QueryClientProvider",()=>n,"useQueryClient",()=>s])},69230,e=>{"use strict";var t=e.i(75555),r=e.i(40143),i=e.i(86491),s=e.i(15823),n=e.i(93803),a=e.i(19273),o=e.i(80166),l=class extends s.Subscribable{constructor(e,t){super(),this.options=t,this.#c=e,this.#m=null,this.#y=(0,n.pendingThenable)(),this.bindMethods(),this.setOptions(t)}#c;#g=void 0;#b=void 0;#v=void 0;#S;#x;#y;#m;#E;#R;#k;#O;#C;#T;#F=new Set;bindMethods(){this.refetch=this.refetch.bind(this)}onSubscribe(){1===this.listeners.size&&(this.#g.addObserver(this),u(this.#g,this.options)?this.#I():this.updateResult(),this.#w())}onUnsubscribe(){this.hasListeners()||this.destroy()}shouldFetchOnReconnect(){return c(this.#g,this.options,this.options.refetchOnReconnect)}shouldFetchOnWindowFocus(){return c(this.#g,this.options,this.options.refetchOnWindowFocus)}destroy(){this.listeners=new Set,this.#M(),this.#j(),this.#g.removeObserver(this)}setOptions(e){let t=this.options,r=this.#g;if(this.options=this.#c.defaultQueryOptions(e),void 0!==this.options.enabled&&"boolean"!=typeof this.options.enabled&&"function"!=typeof this.options.enabled&&"boolean"!=typeof(0,a.resolveEnabled)(this.options.enabled,this.#g))throw Error("Expected enabled to be a boolean or a callback that returns a boolean");this.#_(),this.#g.setOptions(this.options),t._defaulted&&!(0,a.shallowEqualObjects)(this.options,t)&&this.#c.getQueryCache().notify({type:"observerOptionsUpdated",query:this.#g,observer:this});let i=this.hasListeners();i&&d(this.#g,r,this.options,t)&&this.#I(),this.updateResult(),i&&(this.#g!==r||(0,a.resolveEnabled)(this.options.enabled,this.#g)!==(0,a.resolveEnabled)(t.enabled,this.#g)||(0,a.resolveStaleTime)(this.options.staleTime,this.#g)!==(0,a.resolveStaleTime)(t.staleTime,this.#g))&&this.#P();let s=this.#D();i&&(this.#g!==r||(0,a.resolveEnabled)(this.options.enabled,this.#g)!==(0,a.resolveEnabled)(t.enabled,this.#g)||s!==this.#T)&&this.#U(s)}getOptimisticResult(e){var t,r;let i=this.#c.getQueryCache().build(this.#c,e),s=this.createResult(i,e);return t=this,r=s,(0,a.shallowEqualObjects)(t.getCurrentResult(),r)||(this.#v=s,this.#x=this.options,this.#S=this.#g.state),s}getCurrentResult(){return this.#v}trackResult(e,t){return new Proxy(e,{get:(e,r)=>(this.trackProp(r),t?.(r),"promise"===r&&(this.trackProp("data"),this.options.experimental_prefetchInRender||"pending"!==this.#y.status||this.#y.reject(Error("experimental_prefetchInRender feature flag is not enabled"))),Reflect.get(e,r))})}trackProp(e){this.#F.add(e)}getCurrentQuery(){return this.#g}refetch({...e}={}){return this.fetch({...e})}fetchOptimistic(e){let t=this.#c.defaultQueryOptions(e),r=this.#c.getQueryCache().build(this.#c,t);return r.fetch().then(()=>this.createResult(r,t))}fetch(e){return this.#I({...e,cancelRefetch:e.cancelRefetch??!0}).then(()=>(this.updateResult(),this.#v))}#I(e){this.#_();let t=this.#g.fetch(this.options,e);return e?.throwOnError||(t=t.catch(a.noop)),t}#P(){this.#M();let e=(0,a.resolveStaleTime)(this.options.staleTime,this.#g);if(a.isServer||this.#v.isStale||!(0,a.isValidTimeout)(e))return;let t=(0,a.timeUntilStale)(this.#v.dataUpdatedAt,e);this.#O=o.timeoutManager.setTimeout(()=>{this.#v.isStale||this.updateResult()},t+1)}#D(){return("function"==typeof this.options.refetchInterval?this.options.refetchInterval(this.#g):this.options.refetchInterval)??!1}#U(e){this.#j(),this.#T=e,!a.isServer&&!1!==(0,a.resolveEnabled)(this.options.enabled,this.#g)&&(0,a.isValidTimeout)(this.#T)&&0!==this.#T&&(this.#C=o.timeoutManager.setInterval(()=>{(this.options.refetchIntervalInBackground||t.focusManager.isFocused())&&this.#I()},this.#T))}#w(){this.#P(),this.#U(this.#D())}#M(){this.#O&&(o.timeoutManager.clearTimeout(this.#O),this.#O=void 0)}#j(){this.#C&&(o.timeoutManager.clearInterval(this.#C),this.#C=void 0)}createResult(e,t){let r,s=this.#g,o=this.options,l=this.#v,c=this.#S,f=this.#x,p=e!==s?e.state:this.#b,{state:m}=e,y={...m},g=!1;if(t._optimisticResults){let r=this.hasListeners(),n=!r&&u(e,t),a=r&&d(e,s,t,o);(n||a)&&(y={...y,...(0,i.fetchState)(m.data,e.options)}),"isRestoring"===t._optimisticResults&&(y.fetchStatus="idle")}let{error:b,errorUpdatedAt:v,status:S}=y;r=y.data;let x=!1;if(void 0!==t.placeholderData&&void 0===r&&"pending"===S){let e;l?.isPlaceholderData&&t.placeholderData===f?.placeholderData?(e=l.data,x=!0):e="function"==typeof t.placeholderData?t.placeholderData(this.#k?.state.data,this.#k):t.placeholderData,void 0!==e&&(S="success",r=(0,a.replaceData)(l?.data,e,t),g=!0)}if(t.select&&void 0!==r&&!x)if(l&&r===c?.data&&t.select===this.#E)r=this.#R;else try{this.#E=t.select,r=t.select(r),r=(0,a.replaceData)(l?.data,r,t),this.#R=r,this.#m=null}catch(e){this.#m=e}this.#m&&(b=this.#m,r=this.#R,v=Date.now(),S="error");let E="fetching"===y.fetchStatus,R="pending"===S,k="error"===S,O=R&&E,C=void 0!==r,T={status:S,fetchStatus:y.fetchStatus,isPending:R,isSuccess:"success"===S,isError:k,isInitialLoading:O,isLoading:O,data:r,dataUpdatedAt:y.dataUpdatedAt,error:b,errorUpdatedAt:v,failureCount:y.fetchFailureCount,failureReason:y.fetchFailureReason,errorUpdateCount:y.errorUpdateCount,isFetched:y.dataUpdateCount>0||y.errorUpdateCount>0,isFetchedAfterMount:y.dataUpdateCount>p.dataUpdateCount||y.errorUpdateCount>p.errorUpdateCount,isFetching:E,isRefetching:E&&!R,isLoadingError:k&&!C,isPaused:"paused"===y.fetchStatus,isPlaceholderData:g,isRefetchError:k&&C,isStale:h(e,t),refetch:this.refetch,promise:this.#y,isEnabled:!1!==(0,a.resolveEnabled)(t.enabled,e)};if(this.options.experimental_prefetchInRender){let t=void 0!==T.data,r="error"===T.status&&!t,i=e=>{r?e.reject(T.error):t&&e.resolve(T.data)},a=()=>{i(this.#y=T.promise=(0,n.pendingThenable)())},o=this.#y;switch(o.status){case"pending":e.queryHash===s.queryHash&&i(o);break;case"fulfilled":(r||T.data!==o.value)&&a();break;case"rejected":r&&T.error===o.reason||a()}}return T}updateResult(){let e=this.#v,t=this.createResult(this.#g,this.options);if(this.#S=this.#g.state,this.#x=this.options,void 0!==this.#S.data&&(this.#k=this.#g),(0,a.shallowEqualObjects)(t,e))return;this.#v=t;let r=()=>{if(!e)return!0;let{notifyOnChangeProps:t}=this.options,r="function"==typeof t?t():t;if("all"===r||!r&&!this.#F.size)return!0;let i=new Set(r??this.#F);return this.options.throwOnError&&i.add("error"),Object.keys(this.#v).some(t=>this.#v[t]!==e[t]&&i.has(t))};this.#L({listeners:r()})}#_(){let e=this.#c.getQueryCache().build(this.#c,this.options);if(e===this.#g)return;let t=this.#g;this.#g=e,this.#b=e.state,this.hasListeners()&&(t?.removeObserver(this),e.addObserver(this))}onQueryUpdate(){this.updateResult(),this.hasListeners()&&this.#w()}#L(e){r.notifyManager.batch(()=>{e.listeners&&this.listeners.forEach(e=>{e(this.#v)}),this.#c.getQueryCache().notify({query:this.#g,type:"observerResultsUpdated"})})}};function u(e,t){return!1!==(0,a.resolveEnabled)(t.enabled,e)&&void 0===e.state.data&&("error"!==e.state.status||!1!==t.retryOnMount)||void 0!==e.state.data&&c(e,t,t.refetchOnMount)}function c(e,t,r){if(!1!==(0,a.resolveEnabled)(t.enabled,e)&&"static"!==(0,a.resolveStaleTime)(t.staleTime,e)){let i="function"==typeof r?r(e):r;return"always"===i||!1!==i&&h(e,t)}return!1}function d(e,t,r,i){return(e!==t||!1===(0,a.resolveEnabled)(i.enabled,e))&&(!r.suspense||"error"!==e.state.status)&&h(e,r)}function h(e,t){return!1!==(0,a.resolveEnabled)(t.enabled,e)&&e.isStaleByTime((0,a.resolveStaleTime)(t.staleTime,e))}e.s(["QueryObserver",()=>l])},69637,54440,e=>{"use strict";let t;e.i(47167);var r=e.i(71645),i=e.i(19273),s=e.i(40143),n=e.i(12598);e.i(43476);var a=r.createContext((t=!1,{clearReset:()=>{t=!1},reset:()=>{t=!0},isReset:()=>t})),o=r.createContext(!1);o.Provider;var l=(e,t)=>void 0===t.state.data,u=e=>{if(e.suspense){let t=e=>"static"===e?e:Math.max(e??1e3,1e3),r=e.staleTime;e.staleTime="function"==typeof r?(...e)=>t(r(...e)):t(r),"number"==typeof e.gcTime&&(e.gcTime=Math.max(e.gcTime,1e3))}},c=(e,t)=>e.isLoading&&e.isFetching&&!t,d=(e,t)=>e?.suspense&&t.isPending,h=(e,t,r)=>t.fetchOptimistic(e).catch(()=>{r.clearReset()});function f(e,t,l){let f,p=r.useContext(o),m=r.useContext(a),y=(0,n.useQueryClient)(l),g=y.defaultQueryOptions(e);y.getDefaultOptions().queries?._experimental_beforeQuery?.(g);let b=y.getQueryCache().get(g.queryHash);g._optimisticResults=p?"isRestoring":"optimistic",u(g),f=b?.state.error&&"function"==typeof g.throwOnError?(0,i.shouldThrowError)(g.throwOnError,[b.state.error,b]):g.throwOnError,(g.suspense||g.experimental_prefetchInRender||f)&&!m.isReset()&&(g.retryOnMount=!1),r.useEffect(()=>{m.clearReset()},[m]);let v=!y.getQueryCache().get(g.queryHash),[S]=r.useState(()=>new t(y,g)),x=S.getOptimisticResult(g),E=!p&&!1!==e.subscribed;if(r.useSyncExternalStore(r.useCallback(e=>{let t=E?S.subscribe(s.notifyManager.batchCalls(e)):i.noop;return S.updateResult(),t},[S,E]),()=>S.getCurrentResult(),()=>S.getCurrentResult()),r.useEffect(()=>{S.setOptions(g)},[g,S]),d(g,x))throw h(g,S,m);if((({result:e,errorResetBoundary:t,throwOnError:r,query:s,suspense:n})=>e.isError&&!t.isReset()&&!e.isFetching&&s&&(n&&void 0===e.data||(0,i.shouldThrowError)(r,[e.error,s])))({result:x,errorResetBoundary:m,throwOnError:g.throwOnError,query:b,suspense:g.suspense}))throw x.error;if(y.getDefaultOptions().queries?._experimental_afterQuery?.(g,x),g.experimental_prefetchInRender&&!i.isServer&&c(x,p)){let e=v?h(g,S,m):b?.promise;e?.catch(i.noop).finally(()=>{S.updateResult()})}return g.notifyOnChangeProps?x:S.trackResult(x)}e.s(["defaultThrowOnError",()=>l,"ensureSuspenseTimers",()=>u,"fetchOptimistic",()=>h,"shouldSuspend",()=>d,"willFetch",()=>c],54440),e.s(["useBaseQuery",()=>f],69637)}]);