@arcgis/core 5.2.0-next.25 → 5.2.0-next.27
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/esri/core/workers/RemoteClient.js +1 -1
- package/assets/esri/core/workers/chunks/0098544169e429dd98d2.js +1 -0
- package/assets/esri/core/workers/chunks/{b419fd36337e76e2d4a3.js → 045f178fecc23839bfa8.js} +2 -2
- package/assets/esri/core/workers/chunks/0d3c9112ae07fa4a97d6.js +1 -0
- package/assets/esri/core/workers/chunks/{75df436e6e9773bdcfc2.js → 11f47a012dd8881e3d55.js} +18 -18
- package/assets/esri/core/workers/chunks/1849f72f23b434e6c78d.js +1 -0
- package/assets/esri/core/workers/chunks/{8ba3e0462a9bdaae5f40.js → 25fd4d5d3af887536b3b.js} +1 -1
- package/assets/esri/core/workers/chunks/{a8310f55de4749f973d0.js → 35c87b0a4d4ee7ce302d.js} +1 -1
- package/assets/esri/core/workers/chunks/47d88e1b003c4519b7b6.js +1 -0
- package/assets/esri/core/workers/chunks/4e16d7fa2e6f11d082b5.js +261 -0
- package/assets/esri/core/workers/chunks/5260f623438bd84f2caa.js +1 -0
- package/assets/esri/core/workers/chunks/5396a894e6f8030ca088.js +1 -0
- package/assets/esri/core/workers/chunks/{30298f84bd414f9dea64.js → 5728d8440aca205e4f53.js} +1 -1
- package/assets/esri/core/workers/chunks/{c9ce408675dae6a0edd1.js → 76ed8e455f6bd79e561c.js} +1 -1
- package/assets/esri/core/workers/chunks/8980767c5b626e4dc3b9.js +1 -0
- package/assets/esri/core/workers/chunks/{502464c4eab7667f6566.js → 937e347d130d469518ce.js} +1 -1
- package/assets/esri/core/workers/chunks/9508fa53da5f92a0ab70.js +30 -0
- package/assets/esri/core/workers/chunks/9dcb2cbf89dcb7558432.js +1 -0
- package/assets/esri/core/workers/chunks/a9d477f90e5046400dd5.js +1 -0
- package/assets/esri/core/workers/chunks/b87aca8ad281870ae970.js +1 -0
- package/assets/esri/core/workers/chunks/{790462ab5f21491a4f75.js → c193b4a175a544c4fcd6.js} +1 -1
- package/assets/esri/core/workers/chunks/c8b7ffc5cb3f1493129e.js +1 -0
- package/assets/esri/core/workers/chunks/{2d6d01913096f7cb5ff8.js → d25c37f169577a33db46.js} +1 -1
- package/assets/esri/core/workers/chunks/{7dec8c453fdee1968d12.js → db279d5d9c7deec554bb.js} +1 -1
- package/assets/esri/core/workers/chunks/{d41eed41916ed0422059.js → de0c94defb90e1805081.js} +1 -1
- package/assets/esri/core/workers/chunks/{7dbaa089c7472825b80c.js → e38d1ba15babc238b151.js} +1 -1
- package/assets/esri/core/workers/chunks/{a533d066cac26124c5ce.js → e84c13ac59e5381b77e2.js} +1 -1
- package/assets/esri/core/workers/chunks/ef5d11581a98fb333ad2.js +1 -0
- package/assets/esri/core/workers/chunks/{353c67da4b25c29360db.js → f5125925f83c979edde7.js} +2 -2
- package/assets/esri/core/workers/chunks/f912c173c58ae4299cbe.js +1 -0
- package/assets/esri/themes/base/colors/scss/variables.scss +131 -131
- package/assets/esri/themes/base/colors/scss/variables_dark.scss +131 -133
- package/assets/esri/themes/base/icons/style.scss +4 -5
- package/config.js +1 -1
- package/kernel.js +1 -1
- package/layers/Lyr3DWasmPerSceneView.js +1 -1
- package/layers/VoxelWasmPerSceneView.js +1 -1
- package/layers/video/VideoController.js +1 -1
- package/package.json +2 -2
- package/support/revision.js +1 -1
- package/views/2d/engine/webgl/shaders/sources/shaderRepository.js +1 -1
- package/views/3d/layers/I3SMeshView3D.js +1 -1
- package/views/3d/layers/IntegratedMesh3DTilesLayerView3D.js +1 -1
- package/views/3d/layers/graphics/DrivenProperties.js +2 -0
- package/views/3d/layers/graphics/Graphics3DObjectSymbolLayer.js +1 -1
- package/views/3d/layers/graphics/Graphics3DSymbolLayer.js +1 -1
- package/views/3d/layers/i3s/I3SIntersectionHandler.js +1 -1
- package/views/3d/layers/i3s/LayerElevationProvider.js +1 -1
- package/views/3d/layers/i3s/PointCloudRenderer.js +1 -1
- package/views/3d/layers/support/Tiles3DMeshIntersectionHandler.js +1 -1
- package/views/3d/state/helpers/SceneIntersectionHelper.js +1 -1
- package/views/3d/support/gaussianSplatting/GaussianSplatIntersectionHandler.js +1 -1
- package/views/3d/terrain/OverlayRenderer.js +1 -1
- package/views/3d/terrain/TerrainRenderer.js +1 -1
- package/views/3d/terrain/TerrainSurface.js +1 -1
- package/views/3d/webgl-engine/collections/Component/ComponentObjectCollection.js +1 -1
- package/views/3d/webgl-engine/lib/Intersector.js +1 -1
- package/views/3d/webgl-engine/lib/IntersectorInterfaces.js +1 -1
- package/views/3d/webgl-engine/lib/IntersectorResult.js +1 -1
- package/views/3d/webgl-engine/lib/OrderIndependentTransparency.js +1 -1
- package/views/3d/webgl-engine/lib/PolygonIntersectionResults.js +2 -0
- package/views/3d/webgl-engine/lib/Renderer.js +1 -1
- package/views/3d/webgl-engine/lib/SortedRenderGeometryRenderer.js +1 -1
- package/views/3d/webgl-engine/lib/lodRendering/LodRenderer.js +1 -1
- package/views/3d/webgl-engine/lib/lodRendering/LodResources.js +1 -1
- package/views/3d/webgl-engine/lib/screenPolygonIntersectionUtils.js +2 -0
- package/views/3d/webgl-engine/materials/DefaultMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/HUDMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/HeatmapDensityMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/LineCalloutMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/LineMarkerMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/MeasurementArrowMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/NativeLineMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/PathMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/RibbonLineMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/ShadedColorMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/TriangleMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/renderers/IndexLayout.js +1 -1
- package/views/3d/webgl-engine/materials/renderers/MergedBuffer.js +1 -1
- package/views/3d/webgl-engine/materials/renderers/VaoWriter.js +1 -1
- package/views/support/Scheduler.js +1 -1
- package/assets/esri/core/workers/chunks/10112bf4b385f1955a3d.js +0 -1
- package/assets/esri/core/workers/chunks/15fd30908d5db7f7136e.js +0 -261
- package/assets/esri/core/workers/chunks/1b5001bdfeecf78c33ce.js +0 -1
- package/assets/esri/core/workers/chunks/1d2609ce6220b5af5526.js +0 -1
- package/assets/esri/core/workers/chunks/2e7b83c8ba78cb06d611.js +0 -1
- package/assets/esri/core/workers/chunks/3529afab0c2444275d91.js +0 -1
- package/assets/esri/core/workers/chunks/3b4fc67f6cb7393fbd97.js +0 -1
- package/assets/esri/core/workers/chunks/5b654e0dc901a7f06a9f.js +0 -1
- package/assets/esri/core/workers/chunks/7e23de8d9b2d938808f6.js +0 -1
- package/assets/esri/core/workers/chunks/856cf872d29eeaf11a71.js +0 -1
- package/assets/esri/core/workers/chunks/8f25d91ea7b99597124e.js +0 -1
- package/assets/esri/core/workers/chunks/9434c76ad39c936dba90.js +0 -1
- package/assets/esri/core/workers/chunks/affc972757798b6db002.js +0 -1
- package/assets/esri/core/workers/chunks/b91a15522692781560b4.js +0 -30
- package/assets/esri/core/workers/chunks/f2a268c69f2a5566381b.js +0 -1
- /package/assets/esri/core/workers/chunks/{353c67da4b25c29360db.js.LICENSE.txt → f5125925f83c979edde7.js.LICENSE.txt} +0 -0
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
-
import{nextHighestPowerOfTwo as e,roundUpToNearest as t}from"../../../../../core/mathUtils.js";import{maxUint32 as r}from"../../../../../core/typedArrayUtil.js";import{copy as s,invert as o,transpose as n}from"../../../../../core/libs/gl-matrix-2/math/mat4.js";import{create as a}from"../../../../../core/libs/gl-matrix-2/factories/mat4f64.js";import{glLayout as i}from"../../../support/buffer/glUtil.js";import{assert as f}from"../../lib/Util.js";import{VertexArrayObject as u}from"../../lib/VertexArrayObject.js";import{getMaxItemCount as c,getMaxByteSize as l}from"../../lib/TextureBackedBuffer/TextureBackedBufferUtils.js";import{bufferRangePool as h}from"./BufferRange.js";import{DrawCommand as m}from"./DrawCommand.js";import{getIndexLayoutForMaxIndex as g,getIndexLayoutForDataType as d}from"./IndexLayout.js";import{BaseInstanceData as y}from"./PerBaseInstanceData.js";import{VertexBuffer as x}from"../../../../webgl/VertexBuffer.js";class _{constructor(e,t){this._rctx=t,this._vaoCacheValue=null,this._instanceVboCacheValue=null,this._textureBufferCacheValue=null,this._vboCacheValue=null;const r=e.createBufferWriter();this._bufferWriter=r;const s=["geometry"],o="textureBufferLayout"in r&&null!=r.textureBufferLayout;this.useTextureBuffer=o,o&&s.push("texture"),this.useIndexing=e.useIndexing,this.useIndexing&&s.push("index"),this.targetBuffers=s}get _vaoCache(){return this._vaoCacheValue??=this._rctx.getVaoCache(i(this._bufferWriter.layout)),this._vaoCacheValue}get _instanceVboCache(){return this._instanceVboCacheValue??=this._rctx.getVboCache(i(this._bufferWriter.layout,1)),this._instanceVboCacheValue}get _textureBufferCache(){return this.useTextureBuffer?(this._textureBufferCacheValue??=this._rctx.getTextureBufferCache(this._bufferWriter.textureBufferLayout),this._textureBufferCacheValue):null}get _vboCache(){return this._vboCacheValue??=this._rctx.getVboCache(i(this._bufferWriter.layout)),this._vboCacheValue}maxElements(e){if("texture"===e){const e=this._targetLayout("texture");return null==e?0:c(this._rctx,e,this._bufferWriter.maxTextureBufferItemIndex??r)}const t=Math.floor(I/this._targetStrideBytes("geometry"));if("index"===e){const e=g(t-1).dataType;return Math.floor(I/this._targetStrideBytes("index",e))}return t}_targetStrideBytes(e,t){return this._targetLayout(e,t)?.stride??0}_targetLayout(e,t){return"geometry"===e?this._bufferWriter.layout:"baseInstance"===e?this._bufferWriter.baseInstanceLayout:"index"===e?d(t):this._bufferWriter.textureBufferLayout}evaluateBufferAllocation(e,t,r,s){const o=this._targetStrideBytes("geometry"),n=t.reduce((e,{geometry:t})=>e+this.vertexElementCount(t),0),a=r.reduce((e,{geometry:t})=>e+this.vertexElementCount(t),0),i=Math.min((e+n-a)*o,I),f=s.vao?.buffer("geometry"),u=f?.sizeBytes??0;return i>w&&i<u/2?0:i>u?1:2}deleteBuffer(e){e.isInstanced?(e.instancedCommandVAOs?.dispose(),this._instanceVboCache.deleteVbo(e.vao?.mutableBuffer("geometry")),e.vao?.disposeVAOOnly()):this.useIndexing?(this._vboCache.deleteVbo(e.vao?.mutableBuffer("geometry")),this._rctx.indexBufferCache.deleteIndexBuffer(e.vao?.indexBuffer),e.vao?.disposeVAOOnly()):this._vaoCache.deleteVao(e.vao),this._textureBufferCache?.deleteTextureBuffer(e.textureBuffer),e.vao=null,e.textureBuffer=null,e.endElements.geometry=0,e.endElements.texture=0,e.endElements.index=0}createBaseInstanceData(e){const{_bufferWriter:t}=this;if(null==e||null==t.baseInstanceLayout||null==t.writeBaseInstance||null==t.elementCountBaseInstance)return null;const r=this._targetLayout("baseInstance"),s=t.elementCountBaseInstance(e.attributes),o=s*r.stride,n=new x(this._rctx,i(r));n.setSize(Math.ceil(o));const a=p(o),f=r.createView(a.buffer);t.writeBaseInstance(e.attributes,f),n.setSubData(a,0,0,o);const u=new m;return u.first=0,u.count=s,new y(e,n,u)}reallocateBuffer(e,t,r){if(this.deleteBuffer(t),null!=e){f(!this.useIndexing,"Instanced indexed rendering is not supported");const s=e.baseInstanceBuffer,o=r.geometry*this._targetStrideBytes("geometry"),n=this._instanceVboCache.newVbo(T(o));t.vao=new u(this._rctx,new Map([["baseInstance",s],["geometry",n]]))}else if(this.useIndexing){const e=r.geometry*this._targetStrideBytes("geometry"),s=this._vboCache.newVbo(T(e)),o=Math.floor(s.sizeBytes/this._bufferWriter.layout.stride)-1,n=g(o),a=r.index*n.stride,i=Math.ceil(T(a)/n.stride),f=this._rctx.indexBufferCache.newIndexBuffer(i,n.dataType);t.vao=new u(this._rctx,s,f)}else{const e=r.geometry*this._targetStrideBytes("geometry");t.vao=this._vaoCache.newVao(T(e))}const s=this._targetLayout("texture"),o=this._textureBufferCache;if(null!=s&&null!=o){const e=T(r.texture*s.stride),n=Math.min(Math.ceil(e/s.stride),this.maxElements("texture"));t.textureBuffer=o.newTextureBuffer(n)}t.endElements.geometry=Math.floor((t.vao?.getByteLength("geometry")??0)/this._targetStrideBytes("geometry")),t.endElements.texture=t.textureBuffer?.itemCount??0,t.endElements.index=t.vao?.indexBuffer?.size??0}elementCount(e,t){const{attributes:r}=e;switch(t){case"geometry":return this._bufferWriter.elementCount(r);case"baseInstance":return this._bufferWriter.elementCountBaseInstance?.(r)??0;case"index":return e.drawIndices?.length??0;case"texture":return this._bufferWriter.elementCountTextureBuffer?.(r)??0;default:throw new Error(`Unhandled target: ${t}`)}}vertexElementCount(e){return this._bufferWriter.elementCount(e.attributes)}canGrow(e,t){const r=this.targetBuffers.map(r=>this._evaluateTargetBufferGrowth(r,e,t));return r.every(({canGrow:e})=>e)&&r.some(({needsToGrow:e})=>e)}_evaluateTargetBufferGrowth(e,t,s){const o=this._targetLayout(e,t.indexType),n=t.getTargetBuffer(e);if(null==o||null==n)return{needsToGrow:null!=o,canGrow:!0};return{needsToGrow:s[e]*o.stride>n.sizeBytes,canGrow:"geometry"===e||"index"===e?n.sizeBytes<T(I-w):n.sizeBytes<l(this._rctx,o,this._bufferWriter.maxTextureBufferItemIndex??r)}}clearHoles(e,t){const{indexType:r}=t;for(const s of this.targetBuffers){const o=this._targetStrideBytes(s,r),n=e[s],a=n.reduce((e,t)=>Math.max(e,t.numElements),0)*o,i=p(a);i.fill(0,0,a);for(const e of n)this._setTargetSubData(s,t,o,e,i)}}clearHolesMetal(e,t,r){const{indexType:s}=r,{targetBuffers:o}=this,n={};let a=0;for(const u of o){const e=t[u].numElements*this._targetStrideBytes(u,s);n[u]=a,a+=V(e)}const i=p(a);i.fill(0,0,a);const f={};for(const u of o)f[u]=this._targetLayout(u,s)?.createView(i.buffer,n[u]);for(const u of e){const e=u.targetRanges.geometry;if(!(e.from>=t.geometry.from&&e.to<=t.geometry.to))continue;const r={};for(const s of o)r[s]=u.targetRanges[s].from-t[s].from;this._writeGeometry(u.geometry,f,r,u.targetRanges)}for(const u of o)this._setTargetSubData(u,r,this._targetStrideBytes(u,s),t[u],i,n[u])}writeRandomInstances(e,t,r){const{indexType:s}=r,{targetBuffers:o}=this,n={},a={},i={},f={};let u=0;for(const m of o)n[m]=e[m]*this._targetStrideBytes(m,s),a[m]=u,i[m]=0,f[m]=h.acquire(0,0),u+=V(n[m]);const c=p(u),l={};for(const h of o)l[h]=this._targetLayout(h,s)?.createView(c.buffer,a[h]);for(const h of t){for(const e of o){const t=h.targetRanges[e],o=f[e];o.to===t.from||(o.numElements>0&&this._setTargetSubData(e,r,this._targetStrideBytes(e,s),f[e],c,a[e]),o.from=t.from,i[e]=0)}this._writeGeometry(h.geometry,l,i,h.targetRanges);for(const e of o){const t=h.targetRanges[e];i[e]+=t.numElements,f[e].to=t.to}}for(const m of o){const e=f[m];e.numElements>0&&this._setTargetSubData(m,r,this._targetStrideBytes(m,s),e,c,a[m]),h.release(f[m])}}writeInstanceRangeMetal(e,t,r){const{indexType:s}=r,{targetBuffers:o}=this,n={},a={};let i=0;for(const c of o)n[c]=e[c].numElements*this._targetStrideBytes(c,s),a[c]=i,i+=V(n[c]);const f=p(i),u={};for(const c of o)u[c]=this._targetLayout(c,s)?.createView(f.buffer,a[c]);f.fill(0,0,i);for(const c of t){const t=c.targetRanges.geometry;if(!(t.from>=e.geometry.from&&t.to<=e.geometry.to))continue;const r={},s={};for(const n of o){const t=c.targetRanges[n];r[n]=t.from-e[n].from,s[n]=t}this._writeGeometry(c.geometry,u,r,s)}for(const c of o)e[c].numElements>0&&this._setTargetSubData(c,r,this._targetStrideBytes(c,s),e[c],f,a[c])}rebuildInstances(e,t,r){const{indexType:s}=r,{targetBuffers:o}=this,n={},a={},i={};let f=0;for(const l of o)n[l]=e[l]*this._targetStrideBytes(l,s),a[l]=f,f+=V(n[l]),i[l]=0;const u=p(f),c={};for(const l of o)c[l]=this._targetLayout(l,s)?.createView(u.buffer,a[l]);for(const l of t){const e={},t={};for(const r of o){e[r]=i[r],i[r]+=this.elementCount(l.geometry.geometry,r);const s=l.targetRanges[r];s.from=e[r],s.to=i[r],t[r]=s}this._writeGeometry(l.geometry,c,e,t)}for(const l of o){const e=h.acquire(0,i[l]);this._setTargetSubData(l,r,this._targetStrideBytes(l,s),e,u,a[l]),h.release(e)}return i}updateInstance(e,t){const{indexType:r}=t,{targetBuffers:s}=this,o={},n={};let a=0;for(const c of s){const t=this._targetStrideBytes(c,r);o[c]=this.elementCount(e.geometry.geometry,c)*t,n[c]=a,a+=V(o[c])}const i=p(a),f={},u={};for(const c of s)u[c]=0,f[c]=this._targetLayout(c,r)?.createView(i.buffer,n[c]);this._writeGeometry(e.geometry,f,u,e.targetRanges);for(const c of s)this._setTargetSubData(c,t,this._targetStrideBytes(c,r),e.targetRanges[c],i,n[c])}updateInstancesMetal(e){const{targetBuffers:t}=this;for(const[r,s]of e){const e={};for(const r of t)e[r]=h.acquire(1/0,-1/0);for(const r of s)for(const s of t){const t=e[s],o=r.targetRanges[s];t.from=Math.min(t.from,o.from),t.to=Math.max(t.to,o.to)}this.writeInstanceRangeMetal(e,r.instances.values(),r);for(const r of t)h.release(e[r])}}_writeGeometry(e,t,r,a){const{_bufferWriter:i}=this;if(null==i)return;s(B,e.transformation),B[12]-=e.localOrigin.vec3[0],B[13]-=e.localOrigin.vec3[1],B[14]-=e.localOrigin.vec3[2],o(b,B),n(b,b);const u={buffer:t.geometry,offset:r.geometry},c=null!=t.texture?{buffer:t.texture,offset:r.texture,textureBufferRange:a.texture}:null;if(i.write(B,b,e.geometry.attributes,e.geometry.olidColor,u,c),this.useIndexing){const s=e.geometry.drawIndices;f(null!=t.index,"Should have an indexed view when using indexing"),f(null!=s,"Material requires vertex indices"),this._writeIndexBuffer(a.geometry,t.index,r,s)}}_writeIndexBuffer(e,t,r,s){const o=e.from,n=t,a=r.index;for(let i=0;i<s.length;++i)n[a+i]=s[i]+o}_setTargetSubData(e,t,r,s,o,n=0){if("geometry"===e){const a=t.getTargetBuffer(e);a?.setSubData(o,s.from*r,n,n+s.numElements*r)}else if("texture"===e){const r=t.getTargetBuffer(e);r?.setSubData(o.buffer,s.from,n,s.numElements)}else if("index"===e){const a=t.getTargetBuffer(e);a?.setSubData(o,s.from*r,n,n+s.numElements*r)}}static prune(){v=new Uint8Array(w)}}const B=a(),b=a(),w=262144,C=1024,I=16777216;let v=new Uint8Array(w);function p(e){return v.byteLength<e&&(v=new Uint8Array(e)),v}function V(e){return t(e,4)}function T(t){return t<=C?C:t<w?e(t):Math.max(Math.min(Math.ceil(1.5*t/w)*w,I),t)}export{_ as VaoWriter};
|
|
2
|
+
import{nextHighestPowerOfTwo as e,roundUpToNearest as t}from"../../../../../core/mathUtils.js";import{maxUint32 as r}from"../../../../../core/typedArrayUtil.js";import{copy as s,invert as o,transpose as n}from"../../../../../core/libs/gl-matrix-2/math/mat4.js";import{create as a}from"../../../../../core/libs/gl-matrix-2/factories/mat4f64.js";import{glLayout as i}from"../../../support/buffer/glUtil.js";import{assert as f}from"../../lib/Util.js";import{VertexArrayObject as u}from"../../lib/VertexArrayObject.js";import{getMaxItemCount as c,getMaxByteSize as l}from"../../lib/TextureBackedBuffer/TextureBackedBufferUtils.js";import{bufferRangePool as h}from"./BufferRange.js";import{DrawCommand as g}from"./DrawCommand.js";import{getIndexLayoutForMaxIndex as m,getIndexLayoutForDataType as d}from"./IndexLayout.js";import{BaseInstanceData as y}from"./PerBaseInstanceData.js";import{VertexBuffer as x}from"../../../../webgl/VertexBuffer.js";class _{constructor(e,t){this._rctx=t,this._vaoCacheValue=null,this._instanceVboCacheValue=null,this._textureBufferCacheValue=null,this._vboCacheValue=null;const r=e.createBufferWriter();this._bufferWriter=r;const s=["geometry"],o="textureBufferLayout"in r&&null!=r.textureBufferLayout;this.useTextureBuffer=o,o&&s.push("texture"),this.useIndexing=e.useIndexing,this.useIndexing&&s.push("index"),this.targetBuffers=s}get _vaoCache(){return this._vaoCacheValue??=this._rctx.getVaoCache(i(this._bufferWriter.layout)),this._vaoCacheValue}get _instanceVboCache(){return this._instanceVboCacheValue??=this._rctx.getVboCache(i(this._bufferWriter.layout,1)),this._instanceVboCacheValue}get _textureBufferCache(){return this.useTextureBuffer?(this._textureBufferCacheValue??=this._rctx.getTextureBufferCache(this._bufferWriter.textureBufferLayout),this._textureBufferCacheValue):null}get _vboCache(){return this._vboCacheValue??=this._rctx.getVboCache(i(this._bufferWriter.layout)),this._vboCacheValue}maxElements(e){if("texture"===e){const e=this._targetLayout("texture");return null==e?0:c(this._rctx,e,this._bufferWriter.maxTextureBufferItemIndex??r)}const t=Math.floor(V/this._targetStrideBytes("geometry"));if("index"===e){const e=m(t-1).dataType;return Math.floor(V/this._targetStrideBytes("index",e))}return t}_targetStrideBytes(e,t){return this._targetLayout(e,t)?.stride??0}_targetLayout(e,t){return"geometry"===e?this._bufferWriter.layout:"baseInstance"===e?this._bufferWriter.baseInstanceLayout:"index"===e?d(t):this._bufferWriter.textureBufferLayout}evaluateBufferAllocation(e,t,r,s){const o=this._targetStrideBytes("geometry"),n=t.reduce((e,{geometry:t})=>e+this.vertexElementCount(t),0),a=r.reduce((e,{geometry:t})=>e+this.vertexElementCount(t),0),i=Math.min((e+n-a)*o,V),f=s.vao?.buffer("geometry"),u=f?.sizeBytes??0;return i>w&&i<u/2?0:i>u?1:2}deleteBuffer(e){e.isInstanced?(e.instancedCommandVAOs?.dispose(),this._instanceVboCache.deleteVbo(e.vao?.mutableBuffer("geometry")),e.vao?.disposeVAOOnly()):this.useIndexing?(this._vboCache.deleteVbo(e.vao?.mutableBuffer("geometry")),this._rctx.indexBufferCache.deleteIndexBuffer(e.vao?.indexBuffer),e.vao?.disposeVAOOnly()):this._vaoCache.deleteVao(e.vao),this._textureBufferCache?.deleteTextureBuffer(e.textureBuffer),e.vao=null,e.textureBuffer=null,e.endElements.geometry=0,e.endElements.texture=0,e.endElements.index=0}createBaseInstanceData(e){const{_bufferWriter:t}=this;if(null==e||null==t.baseInstanceLayout||null==t.writeBaseInstance||null==t.elementCountBaseInstance)return null;const r=this._targetLayout("baseInstance"),s=t.elementCountBaseInstance(e.attributes),o=s*r.stride,n=new x(this._rctx,i(r));n.setSize(Math.ceil(o));const a=T(o),f=r.createView(a.buffer);t.writeBaseInstance(e.attributes,f),n.setSubData(a,0,0,o);const u=new g;return u.first=0,u.count=s,new y(e,n,u)}reallocateBuffer(e,t,r){if(this.deleteBuffer(t),null!=e){f(!this.useIndexing,"Instanced indexed rendering is not supported");const s=e.baseInstanceBuffer,o=r.geometry*this._targetStrideBytes("geometry"),n=this._instanceVboCache.newVbo(I(o));t.vao=new u(this._rctx,new Map([["baseInstance",s],["geometry",n]]))}else if(this.useIndexing){const e=r.geometry*this._targetStrideBytes("geometry"),s=this._vboCache.newVbo(I(e)),o=Math.floor(s.sizeBytes/this._bufferWriter.layout.stride)-1,n=m(o),a=r.index*n.stride,i=Math.ceil(I(a)/n.stride),f=this._rctx.indexBufferCache.newIndexBuffer(i,n.dataType);t.vao=new u(this._rctx,s,f)}else{const e=r.geometry*this._targetStrideBytes("geometry");t.vao=this._vaoCache.newVao(I(e))}const s=this._targetLayout("texture"),o=this._textureBufferCache;if(null!=s&&null!=o){const e=I(r.texture*s.stride),n=Math.min(Math.ceil(e/s.stride),this.maxElements("texture"));t.textureBuffer=o.newTextureBuffer(n)}t.endElements.geometry=Math.floor((t.vao?.getByteLength("geometry")??0)/this._targetStrideBytes("geometry")),t.endElements.texture=t.textureBuffer?.itemCount??0,t.endElements.index=t.vao?.indexBuffer?.size??0}elementCount(e,t){const{attributes:r}=e;switch(t){case"geometry":return this._bufferWriter.elementCount(r);case"baseInstance":return this._bufferWriter.elementCountBaseInstance?.(r)??0;case"index":return e.drawIndices?.length??0;case"texture":return this._bufferWriter.elementCountTextureBuffer?.(r)??0;default:throw new Error(`Unhandled target: ${t}`)}}vertexElementCount(e){return this._bufferWriter.elementCount(e.attributes)}canGrow(e,t){const r=this.targetBuffers.map(r=>this._evaluateTargetBufferGrowth(r,e,t));return r.every(({canGrow:e})=>e)&&r.some(({needsToGrow:e})=>e)}_evaluateTargetBufferGrowth(e,t,s){const o=this._targetLayout(e,t.indexType),n=t.getTargetBuffer(e);if(null==o||null==n)return{needsToGrow:null!=o,canGrow:!0};return{needsToGrow:s[e]*o.stride>n.sizeBytes,canGrow:"geometry"===e||"index"===e?n.sizeBytes<I(V-w):n.sizeBytes<l(this._rctx,o,this._bufferWriter.maxTextureBufferItemIndex??r)}}clearHoles(e,t){const{indexType:r}=t;for(const s of this.targetBuffers){const o=this._targetStrideBytes(s,r),n=e[s],a=n.reduce((e,t)=>Math.max(e,t.numElements),0)*o,i=T(a);i.fill(this._getTargetClearValue(t,s),0,a);for(const e of n)this._setTargetSubData(s,t,o,e,i)}}clearHolesMetal(e,t,r){const{indexType:s}=r,{targetBuffers:o}=this,n={},a={};let i=0;for(const c of o){const e=t[c].numElements*this._targetStrideBytes(c,s);n[c]=e,a[c]=i,i+=p(e)}const f=T(i);for(const c of o)f.fill(this._getTargetClearValue(r,c),a[c],a[c]+n[c]);const u={};for(const c of o)u[c]=this._targetLayout(c,s)?.createView(f.buffer,a[c]);for(const c of e){const e=c.targetRanges.geometry;if(!(e.from>=t.geometry.from&&e.to<=t.geometry.to))continue;const r={};for(const s of o)r[s]=c.targetRanges[s].from-t[s].from;this._writeGeometry(c.geometry,u,r,c.targetRanges)}for(const c of o)this._setTargetSubData(c,r,this._targetStrideBytes(c,s),t[c],f,a[c])}writeRandomInstances(e,t,r){const{indexType:s}=r,{targetBuffers:o}=this,n={},a={},i={},f={};let u=0;for(const g of o)n[g]=e[g]*this._targetStrideBytes(g,s),a[g]=u,i[g]=0,f[g]=h.acquire(0,0),u+=p(n[g]);const c=T(u),l={};for(const h of o)l[h]=this._targetLayout(h,s)?.createView(c.buffer,a[h]);for(const h of t){for(const e of o){const t=h.targetRanges[e],o=f[e];o.to===t.from||(o.numElements>0&&this._setTargetSubData(e,r,this._targetStrideBytes(e,s),f[e],c,a[e]),o.from=t.from,i[e]=0)}this._writeGeometry(h.geometry,l,i,h.targetRanges);for(const e of o){const t=h.targetRanges[e];i[e]+=t.numElements,f[e].to=t.to}}for(const g of o){const e=f[g];e.numElements>0&&this._setTargetSubData(g,r,this._targetStrideBytes(g,s),e,c,a[g]),h.release(f[g])}}writeInstanceRangeMetal(e,t,r){const{indexType:s}=r,{targetBuffers:o}=this,n={},a={};let i=0;for(const c of o)n[c]=e[c].numElements*this._targetStrideBytes(c,s),a[c]=i,i+=p(n[c]);const f=T(i),u={};for(const c of o)u[c]=this._targetLayout(c,s)?.createView(f.buffer,a[c]);for(const c of o)f.fill(this._getTargetClearValue(r,c),a[c],a[c]+n[c]);for(const c of t){const t=c.targetRanges.geometry;if(!(t.from>=e.geometry.from&&t.to<=e.geometry.to))continue;const r={},s={};for(const n of o){const t=c.targetRanges[n];r[n]=t.from-e[n].from,s[n]=t}this._writeGeometry(c.geometry,u,r,s)}for(const c of o)e[c].numElements>0&&this._setTargetSubData(c,r,this._targetStrideBytes(c,s),e[c],f,a[c])}rebuildInstances(e,t,r){const{indexType:s}=r,{targetBuffers:o}=this,n={},a={},i={};let f=0;for(const l of o)n[l]=e[l]*this._targetStrideBytes(l,s),a[l]=f,f+=p(n[l]),i[l]=0;const u=T(f),c={};for(const l of o)c[l]=this._targetLayout(l,s)?.createView(u.buffer,a[l]);for(const l of t){const e={},t={};for(const r of o){e[r]=i[r],i[r]+=this.elementCount(l.geometry.geometry,r);const s=l.targetRanges[r];s.from=e[r],s.to=i[r],t[r]=s}this._writeGeometry(l.geometry,c,e,t)}for(const l of o){const e=h.acquire(0,i[l]);this._setTargetSubData(l,r,this._targetStrideBytes(l,s),e,u,a[l]),h.release(e)}return i}updateInstance(e,t){const{indexType:r}=t,{targetBuffers:s}=this,o={},n={};let a=0;for(const c of s){const t=this._targetStrideBytes(c,r);o[c]=this.elementCount(e.geometry.geometry,c)*t,n[c]=a,a+=p(o[c])}const i=T(a),f={},u={};for(const c of s)u[c]=0,f[c]=this._targetLayout(c,r)?.createView(i.buffer,n[c]);this._writeGeometry(e.geometry,f,u,e.targetRanges);for(const c of s)this._setTargetSubData(c,t,this._targetStrideBytes(c,r),e.targetRanges[c],i,n[c])}updateInstancesMetal(e){const{targetBuffers:t}=this;for(const[r,s]of e){const e={};for(const r of t)e[r]=h.acquire(1/0,-1/0);for(const r of s)for(const s of t){const t=e[s],o=r.targetRanges[s];t.from=Math.min(t.from,o.from),t.to=Math.max(t.to,o.to)}this.writeInstanceRangeMetal(e,r.instances.values(),r);for(const r of t)h.release(e[r])}}_writeGeometry(e,t,r,a){const{_bufferWriter:i}=this;if(null==i)return;s(B,e.transformation),B[12]-=e.localOrigin.vec3[0],B[13]-=e.localOrigin.vec3[1],B[14]-=e.localOrigin.vec3[2],o(b,B),n(b,b);const u={buffer:t.geometry,offset:r.geometry},c=null!=t.texture?{buffer:t.texture,offset:r.texture,textureBufferRange:a.texture}:null;if(i.write(B,b,e.geometry.attributes,e.geometry.olidColor,u,c),this.useIndexing){const s=e.geometry.drawIndices;f(null!=t.index,"Should have an indexed view when using indexing"),f(null!=s,"Material requires vertex indices"),this._writeIndexBuffer(a.geometry,t.index,r,s)}}_writeIndexBuffer(e,t,r,s){const o=e.from,n=t,a=r.index;for(let i=0;i<s.length;++i)n[a+i]=s[i]+o}_setTargetSubData(e,t,r,s,o,n=0){if("geometry"===e){const a=t.getTargetBuffer(e);a?.setSubData(o,s.from*r,n,n+s.numElements*r)}else if("texture"===e){const r=t.getTargetBuffer(e);r?.setSubData(o.buffer,s.from,n,s.numElements)}else if("index"===e){const a=t.getTargetBuffer(e);a?.setSubData(o,s.from*r,n,n+s.numElements*r)}}_getTargetClearValue(e,t){if("index"!==t)return 0;const r=e.vao.indexBuffer?.indexType;return d(r).primitiveRestart}static prune(){v=new Uint8Array(w)}}const B=a(),b=a(),w=262144,C=1024,V=16777216;let v=new Uint8Array(w);function T(e){return v.byteLength<e&&(v=new Uint8Array(e)),v}function p(e){return t(e,4)}function I(t){return t<=C?C:t<w?e(t):Math.max(Math.min(Math.ceil(1.5*t/w)*w,V),t)}export{_ as VaoWriter};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
-
import{removeUnordered as e,filterInPlace as t}from"../../core/arrayUtils.js";import s from"../../core/Handles.js";import"../../core/has.js";import r from"../../core/Logger.js";import{removeMaybe as i}from"../../core/maybe.js";import{recordPerformance as a}from"../../core/performance.js";import n from"../../core/PerformanceSampler.js";import{isAborted as u,createAbortError as _,when as h,isPromiseLike as o,ignoreAbortErrors as E}from"../../core/promiseUtils.js";import{watch as d,initial as T,when as c}from"../../core/reactiveUtils.js";import{signal as m}from"../../core/signal.js";import{Milliseconds as l}from"../../core/time.js";import R from"./debugFlags.js";import{PromiseQueue as g}from"./PromiseQueue.js";import{Yield as I}from"./Yield.js";function A(){return new C}const p={RESOURCE_CONTROLLER_IMMEDIATE:"immediate",RESOURCE_CONTROLLER:"schedule",SLIDE:"slide",STREAM_DATA_LOADER:"stream loader",ELEVATION_QUERY:"elevation query",TERRAIN_SURFACE:"terrain",SURFACE_GEOMETRY_UPDATES:"surface geometry updates",LOD_RENDERER:"LoD renderer",GRAPHICS_CORE:"Graphics3D",I3S:"I3S",LYR3D:"Lyr3D",TILES3D:"3DTiles",POINT_CLOUD_LAYER:"point cloud",FEATURE_TILE_FETCHER:"feature fetcher",STREAM_CONTROLLER:"stream controller",OCCLUSION_QUERY:"occlusion query",OVERLAY:"overlay",OVERLAY_RENDERER:"overlay renderer",STAGE:"stage",GRAPHICS_DECONFLICTOR:"graphics deconflictor",FILTER_VISIBILITY:"graphics filter visibility",SCALE_VISIBILITY:"graphics scale visibility",FRUSTUM_VISIBILITY:"graphics frustum visibility",POINT_OF_INTEREST_FREQUENT:"POI frequent",POINT_OF_INTEREST_INFREQUENT:"POI infrequent",LABELER:"labeler",FEATURE_QUERY_ENGINE:"feature query",FEATURE_TILE_TREE:"feature tile tree",FEATURE_TILE_TREE_ACTIVE:"fast feature tile tree",ELEVATION_ALIGNMENT:"elevation alignment",ELEVATION_ALIGNMENT_SCENE:"elevation alignment scene",TEXT_TEXTURE_ATLAS:"text texture atlas",TEXTURE_UNLOAD:"texture unload",LINE_OF_SIGHT_TOOL:"line of sight tool",LINE_OF_SIGHT_TOOL_INTERACTIVE:"interactive line of sight tool",VOLUME_MEASUREMENT:"volume measurement",ELEVATION_PROFILE:"elevation profile",SNAPPING:"snapping",SHADOW_ACCUMULATOR:"shadow accumulator",CLOUDS_GENERATOR:"clouds generator",FLOW_GENERATOR:"flow generator",GAUSSIAN_SPLAT_SORTING:"gaussian splat sorting",GAUSSIAN_SPLAT_TEXTURE_ATLAS:"gaussian splat texture atlas",MAPVIEW_FETCH_QUEUE:"mapview fetch queue",MAPVIEW_LAYERVIEW_UPDATE:"mapview layerview update",MAPVIEW_VECTOR_TILE_PARSING_QUEUE:"mapview vector tile parsing queue",NONE:0,TEST_PRIO:1},L=0,f=new Map([[p.RESOURCE_CONTROLLER_IMMEDIATE,L],[p.RESOURCE_CONTROLLER,4],[p.SLIDE,L],[p.STREAM_DATA_LOADER,L],[p.ELEVATION_QUERY,L],[p.TERRAIN_SURFACE,1],[p.SURFACE_GEOMETRY_UPDATES,1],[p.LOD_RENDERER,2],[p.GRAPHICS_CORE,2],[p.I3S,2],[p.LYR3D,2],[p.TILES3D,3],[p.POINT_CLOUD_LAYER,2],[p.FEATURE_TILE_FETCHER,2],[p.STREAM_CONTROLLER,2],[p.CLOUDS_GENERATOR,2],[p.OCCLUSION_QUERY,2],[p.OVERLAY,4],[p.OVERLAY_RENDERER,4],[p.STAGE,4],[p.GRAPHICS_DECONFLICTOR,4],[p.FILTER_VISIBILITY,4],[p.SCALE_VISIBILITY,4],[p.FRUSTUM_VISIBILITY,4],[p.POINT_OF_INTEREST_FREQUENT,6],[p.POINT_OF_INTEREST_INFREQUENT,30],[p.LABELER,8],[p.FEATURE_QUERY_ENGINE,8],[p.FEATURE_TILE_TREE,16],[p.FEATURE_TILE_TREE_ACTIVE,L],[p.ELEVATION_ALIGNMENT,12],[p.ELEVATION_ALIGNMENT_SCENE,14],[p.TEXT_TEXTURE_ATLAS,12],[p.TEXTURE_UNLOAD,12],[p.LINE_OF_SIGHT_TOOL,16],[p.LINE_OF_SIGHT_TOOL_INTERACTIVE,L],[p.VOLUME_MEASUREMENT,4],[p.SNAPPING,L],[p.SHADOW_ACCUMULATOR,30],[p.FLOW_GENERATOR,12],[p.GAUSSIAN_SPLAT_SORTING,2],[p.GAUSSIAN_SPLAT_TEXTURE_ATLAS,12],[p.MAPVIEW_FETCH_QUEUE,L],[p.MAPVIEW_LAYERVIEW_UPDATE,2],[p.MAPVIEW_VECTOR_TILE_PARSING_QUEUE,L]]);function O(e){return f.has(e)?f.get(e):"number"==typeof e?e:1}const S=l(6.5),N=l(1),U=l(30),b=l(1e3/30),P=l(100),k=.9;class C{get updating(){return this._updating.value}_updatingChanged(){this._updating.value=this._tasks.some(e=>e.needsUpdate)}constructor(){this._updating=m(!0),this._microTaskQueued=!1,this._frameNumber=0,this.performanceInfo={total:new n("total"),tasks:new Map},this._frameTaskTimes=new Map,this._budget=new F,this.state=1,this._tasks=new Array,this._runQueue=new Array,this._load=0,this._forceTask=!1,this._debug=!1,this._debugHandle=d(()=>R.SCHEDULER_LOG_SLOW_TASKS,e=>this._debug=e,T);for(const e of Object.keys(p))this.performanceInfo.tasks.set(p[e],new n(String(p[e])))}destroy(){this._tasks.forEach(e=>e.remove()),this._tasks.length=0,this._runQueue.length=0,i(this._debugHandle),this._microTaskQueued=!1,this._updatingChanged()}taskRunningChanged(e){this._updatingChanged(),e&&this._budget.remaining>0&&!this._microTaskQueued&&(this._microTaskQueued=!0,queueMicrotask(()=>{this._microTaskQueued&&(this._microTaskQueued=!1,this._budget.remaining>0&&this._schedule()&&this._runFrame())}))}registerTask(e,t){const s=new y(this,e,t);return this._tasks.push(s),this._updatingChanged(),this.performanceInfo.tasks.has(e)||this.performanceInfo.tasks.set(e,new n(e)),s}get load(){return this._load}frame(e){if(this._startFrameTaskTimes(),this._updateBudget(e)){const e=this._budget.now();this._runFrame();const t=this._budget.now();this._recordFrameTaskTimes(t-e);const s=2===this.state?"Idle":1===this.state?"Interacting":"Animating";return a(`${s} Frame Tasks`,e,t,"Maps SDK","Scheduling"),!0}return this._recordFrameTaskTimes(0),!1}_updateBudget(e){this._test&&(this._test.usedBudget=0),++this._frameNumber;let t=S,s=e.frameDuration,r=N;switch(this.state){case 2:t=l(0),s=l(Math.max(P,e.frameDuration)),r=U;break;case 1:s=l(Math.max(b,e.frameDuration))}return s=l(s-e.elapsedFrameTime-t),2!==this.state&&s<N&&!this._forceTask?(this._forceTask=!0,!1):(s=l(Math.max(s,r)),this._budget.reset(s),this._updateLoad(),this._schedule())}_runFrame(){this._forceTask=!1,this._microTaskQueued=!1,this._run(),this._test&&(this._test.usedBudget=this._budget.elapsed)}stopFrame(){this._budget.reset(l(0)),this._budget.madeProgress()}removeTask(t){e(this._tasks,t),e(this._runQueue,t),this._updatingChanged()}_updateTask(e){this._tasks.forEach(t=>{t.name===e&&t.setPriority(e)})}_getState(e){if(this._runQueue.some(t=>t.name===e))return"s";let t="i";return this._tasks.forEach(s=>{s.name===e&&s.needsUpdate&&(s.schedulePriority<=1?t="r":"r"!==t&&(t="w"))}),t}_getRuntime(e){let t=0;return this._tasks.forEach(s=>{s.name===e&&(t+=s.runtime)}),t}_resetRuntimes(){this._tasks.forEach(e=>e.runtime=0)}_getRunning(){const e=new Map;if(this._tasks.forEach(t=>{t.needsUpdate&&e.set(t.name,(e.get(t.name)||0)+1)}),0===e.size)return null;let t="";return e.forEach((e,s)=>{t+=e>1?` ${e}x ${s}`:` ${s}`}),t}_updateLoad(){const e=this._tasks.reduce((e,t)=>t.needsUpdate?++e:e,0);this._load=this._load*k+e*(1-k)}_schedule(){for(t(this._runQueue,e=>!!e.needsUpdate||(e.schedulePriority=e.basePriority,!1)),this._tasks.forEach(e=>{e.basePriority===L&&e.needsUpdate&&!this._runQueue.includes(e)&&e.blockFrame!==this._frameNumber&&this._runQueue.unshift(e)});0===this._runQueue.length;){let e=!1,t=0;if(this._tasks.forEach(s=>{if(s.needsUpdate&&0!==s.schedulePriority&&s.basePriority!==L&&s.blockFrame!==this._frameNumber)if(e=!0,t=Math.max(t,s.basePriority),1===s.schedulePriority)s.schedulePriority=0,this._runQueue.push(s);else--s.schedulePriority}),!e)return this._updatingChanged(),!1}return this._updatingChanged(),!0}_run(){do{for(;this._runQueue.length>0;){const t=this._budget.now(),s=this._runQueue.pop();this._budget.resetProgress();try{s.task.runTask(this._budget)===I&&(s.blockFrame=this._frameNumber)}catch(e){r.getLogger("esri.views.support.Scheduler").error(`Exception in task "${s.name}"`,e),s.blockFrame=this._frameNumber}!this._budget.hasProgressed&&s.blockFrame!==this._frameNumber&&s.needsUpdate&&(s.name,p.I3S,s.blockFrame=this._frameNumber),s.schedulePriority=s.basePriority;const i=this._budget.now(),n=i-t;if(a(`${s.name}`,t,i,"Maps SDK","Scheduling"),s.runtime+=n,this._frameTaskTimes.set(s.priority,this._frameTaskTimes.get(s.priority)+n),this._budget.remaining<=0)return void this._updatingChanged()}}while(this._schedule());this._updatingChanged()}_startFrameTaskTimes(){for(const e of Object.keys(p))this._frameTaskTimes.set(p[e],0)}_recordFrameTaskTimes(e){this._frameTaskTimes.forEach((e,t)=>this.performanceInfo.tasks.get(t).push(e)),this.performanceInfo.total.push(e)}get test(){return this._test}}class y{get task(){return this._task.value}get readyToRun(){return this._queue.readyToRun}get updating(){return this._queue.updating}constructor(e,t,r){this._scheduler=e,this.name=t,this.blockFrame=0,this.runtime=0,this._queue=new g,this._handles=new s,this._basePriority=O(t),this.schedulePriority=this._basePriority,this._task=m(null!=r?r:this._queue),this._handles.add(c(()=>this.task.readyToRun,t=>e.taskRunningChanged(t)))}remove(){this.processQueue(w),this._scheduler.removeTask(this),this.schedule=G.schedule,this.reschedule=G.reschedule,this.scheduleGenerator=G.scheduleGenerator,this._handles.destroy()}get basePriority(){return this._basePriority}setPriority(e){if(this.name===e)return;this.name=e;const t=O(e);this._basePriority!==L&&0===this.schedulePriority||(this.schedulePriority=t),this._basePriority=t}get priority(){return this.name}set priority(e){this.setPriority(e)}get needsUpdate(){return this.readyToRun||!this.task.destroyed&&this.task.readyToRun}schedule(e,t,s){return this._queue.push(e,t,s)}reschedule(e,t,s){return this._queue.unshift(e,t,s)}scheduleGenerator(e,t,s){return this._queue.pushGenerator(e,t,s)}processQueue(e){return this._queue.runTask(e)}}class F{constructor(){this._begin=performance?.now()??0,this._budget=0,this._done=!1,this._progressed=!1,this._enabled=!0}run(e){return!this.done&&(!0===e()&&this.madeProgress(),!0)}get done(){return this._done}get budget(){return this._budget}madeProgress(){return this._progressed=!0,this._done=this.elapsed>=this._budget&&this._enabled,this._done}get enabled(){return this._enabled}set enabled(e){this._enabled=e}reset(e){this._begin=this.now(),this._budget=e,this.resetProgress()}get remaining(){return Math.max(this._budget-this.elapsed,0)}now(){return performance.now()}get elapsed(){return this.now()-this._begin}resetProgress(){this._progressed=!1,this._done=!1}get hasProgressed(){return this._progressed}}const w=new F;function D(e){const t=new F;return t.reset(e),t}w.enabled=!1;class M{remove(){}processQueue(){}schedule(e,t,s){try{if(u(t)){const e=_();return s?Promise.resolve(s(e)):Promise.reject(e)}return h(e(w))}catch(r){return Promise.reject(r)}}reschedule(e,t,s){return this.schedule(e,t,s)}async scheduleGenerator(e,t,s){if(u(t)){const e=_();if(s)return s(e);throw e}const r=e(w);for(;;){const e=r.next(w),i=o(e)?await e:e;if(u(t)){const e=_();if(s){const t=s(e),i=r.return(null);return o(i)&&await E(i),t}const t=r.throw(e);throw o(t)&&await E(t),e}if(i.done)return i.value}}}const G=new M;export{G as ImmediateTask,p as TaskPriority,O as getTaskPriority,D as makeBudget,A as newScheduler,w as noBudget,f as taskPriorities};
|
|
2
|
+
import{removeUnordered as e,filterInPlace as t}from"../../core/arrayUtils.js";import s from"../../core/Handles.js";import"../../core/has.js";import r from"../../core/Logger.js";import{removeMaybe as i}from"../../core/maybe.js";import{recordPerformance as a}from"../../core/performance.js";import n from"../../core/PerformanceSampler.js";import{isAborted as u,createAbortError as _,when as h,isPromiseLike as o,ignoreAbortErrors as E}from"../../core/promiseUtils.js";import{watch as d,initial as T,when as c}from"../../core/reactiveUtils.js";import{signal as m}from"../../core/signal.js";import{Milliseconds as l}from"../../core/time.js";import R from"./debugFlags.js";import{PromiseQueue as g}from"./PromiseQueue.js";import{Yield as I}from"./Yield.js";function A(){return new C}const p={RESOURCE_CONTROLLER_IMMEDIATE:"immediate",RESOURCE_CONTROLLER:"schedule",SLIDE:"slide",STREAM_DATA_LOADER:"stream loader",ELEVATION_QUERY:"elevation query",TERRAIN_SURFACE:"terrain",SURFACE_GEOMETRY_UPDATES:"surface geometry updates",LOD_RENDERER:"LoD renderer",GRAPHICS_CORE:"Graphics3D",I3S:"I3S",LYR3D:"Lyr3D",TILES3D:"3DTiles",POINT_CLOUD_LAYER:"point cloud",FEATURE_TILE_FETCHER:"feature fetcher",STREAM_CONTROLLER:"stream controller",SCREEN_POLYGON_INTERSECTION:"screen polygon intersection",OCCLUSION_QUERY:"occlusion query",OVERLAY:"overlay",OVERLAY_RENDERER:"overlay renderer",STAGE:"stage",GRAPHICS_DECONFLICTOR:"graphics deconflictor",FILTER_VISIBILITY:"graphics filter visibility",SCALE_VISIBILITY:"graphics scale visibility",FRUSTUM_VISIBILITY:"graphics frustum visibility",POINT_OF_INTEREST_FREQUENT:"POI frequent",POINT_OF_INTEREST_INFREQUENT:"POI infrequent",LABELER:"labeler",FEATURE_QUERY_ENGINE:"feature query",FEATURE_TILE_TREE:"feature tile tree",FEATURE_TILE_TREE_ACTIVE:"fast feature tile tree",ELEVATION_ALIGNMENT:"elevation alignment",ELEVATION_ALIGNMENT_SCENE:"elevation alignment scene",TEXT_TEXTURE_ATLAS:"text texture atlas",TEXTURE_UNLOAD:"texture unload",LINE_OF_SIGHT_TOOL:"line of sight tool",LINE_OF_SIGHT_TOOL_INTERACTIVE:"interactive line of sight tool",VOLUME_MEASUREMENT:"volume measurement",ELEVATION_PROFILE:"elevation profile",SNAPPING:"snapping",SHADOW_ACCUMULATOR:"shadow accumulator",CLOUDS_GENERATOR:"clouds generator",FLOW_GENERATOR:"flow generator",GAUSSIAN_SPLAT_SORTING:"gaussian splat sorting",GAUSSIAN_SPLAT_TEXTURE_ATLAS:"gaussian splat texture atlas",MAPVIEW_FETCH_QUEUE:"mapview fetch queue",MAPVIEW_LAYERVIEW_UPDATE:"mapview layerview update",MAPVIEW_VECTOR_TILE_PARSING_QUEUE:"mapview vector tile parsing queue",NONE:0,TEST_PRIO:1},L=0,f=new Map([[p.RESOURCE_CONTROLLER_IMMEDIATE,L],[p.RESOURCE_CONTROLLER,4],[p.SLIDE,L],[p.STREAM_DATA_LOADER,L],[p.ELEVATION_QUERY,L],[p.TERRAIN_SURFACE,1],[p.SURFACE_GEOMETRY_UPDATES,1],[p.LOD_RENDERER,2],[p.GRAPHICS_CORE,2],[p.I3S,2],[p.LYR3D,2],[p.TILES3D,3],[p.POINT_CLOUD_LAYER,2],[p.FEATURE_TILE_FETCHER,2],[p.STREAM_CONTROLLER,2],[p.SCREEN_POLYGON_INTERSECTION,L],[p.CLOUDS_GENERATOR,2],[p.OCCLUSION_QUERY,2],[p.OVERLAY,4],[p.OVERLAY_RENDERER,4],[p.STAGE,4],[p.GRAPHICS_DECONFLICTOR,4],[p.FILTER_VISIBILITY,4],[p.SCALE_VISIBILITY,4],[p.FRUSTUM_VISIBILITY,4],[p.POINT_OF_INTEREST_FREQUENT,6],[p.POINT_OF_INTEREST_INFREQUENT,30],[p.LABELER,8],[p.FEATURE_QUERY_ENGINE,8],[p.FEATURE_TILE_TREE,16],[p.FEATURE_TILE_TREE_ACTIVE,L],[p.ELEVATION_ALIGNMENT,12],[p.ELEVATION_ALIGNMENT_SCENE,14],[p.TEXT_TEXTURE_ATLAS,12],[p.TEXTURE_UNLOAD,12],[p.LINE_OF_SIGHT_TOOL,16],[p.LINE_OF_SIGHT_TOOL_INTERACTIVE,L],[p.VOLUME_MEASUREMENT,4],[p.SNAPPING,L],[p.SHADOW_ACCUMULATOR,30],[p.FLOW_GENERATOR,12],[p.GAUSSIAN_SPLAT_SORTING,2],[p.GAUSSIAN_SPLAT_TEXTURE_ATLAS,12],[p.MAPVIEW_FETCH_QUEUE,L],[p.MAPVIEW_LAYERVIEW_UPDATE,2],[p.MAPVIEW_VECTOR_TILE_PARSING_QUEUE,L]]);function O(e){return f.has(e)?f.get(e):"number"==typeof e?e:1}const N=l(6.5),S=l(1),U=l(30),P=l(1e3/30),b=l(100),k=.9;class C{get updating(){return this._updating.value}_updatingChanged(){this._updating.value=this._tasks.some(e=>e.needsUpdate)}constructor(){this._updating=m(!0),this._microTaskQueued=!1,this._frameNumber=0,this.performanceInfo={total:new n("total"),tasks:new Map},this._frameTaskTimes=new Map,this._budget=new F,this.state=1,this._tasks=new Array,this._runQueue=new Array,this._load=0,this._forceTask=!1,this._debug=!1,this._debugHandle=d(()=>R.SCHEDULER_LOG_SLOW_TASKS,e=>this._debug=e,T);for(const e of Object.keys(p))this.performanceInfo.tasks.set(p[e],new n(String(p[e])))}destroy(){this._tasks.forEach(e=>e.remove()),this._tasks.length=0,this._runQueue.length=0,i(this._debugHandle),this._microTaskQueued=!1,this._updatingChanged()}taskRunningChanged(e){this._updatingChanged(),e&&this._budget.remaining>0&&!this._microTaskQueued&&(this._microTaskQueued=!0,queueMicrotask(()=>{this._microTaskQueued&&(this._microTaskQueued=!1,this._budget.remaining>0&&this._schedule()&&this._runFrame())}))}registerTask(e,t){const s=new y(this,e,t);return this._tasks.push(s),this._updatingChanged(),this.performanceInfo.tasks.has(e)||this.performanceInfo.tasks.set(e,new n(e)),s}get load(){return this._load}frame(e){if(this._startFrameTaskTimes(),this._updateBudget(e)){const e=this._budget.now();this._runFrame();const t=this._budget.now();this._recordFrameTaskTimes(t-e);const s=2===this.state?"Idle":1===this.state?"Interacting":"Animating";return a(`${s} Frame Tasks`,e,t,"Maps SDK","Scheduling"),!0}return this._recordFrameTaskTimes(0),!1}_updateBudget(e){this._test&&(this._test.usedBudget=0),++this._frameNumber;let t=N,s=e.frameDuration,r=S;switch(this.state){case 2:t=l(0),s=l(Math.max(b,e.frameDuration)),r=U;break;case 1:s=l(Math.max(P,e.frameDuration))}return s=l(s-e.elapsedFrameTime-t),2!==this.state&&s<S&&!this._forceTask?(this._forceTask=!0,!1):(s=l(Math.max(s,r)),this._budget.reset(s),this._updateLoad(),this._schedule())}_runFrame(){this._forceTask=!1,this._microTaskQueued=!1,this._run(),this._test&&(this._test.usedBudget=this._budget.elapsed)}stopFrame(){this._budget.reset(l(0)),this._budget.madeProgress()}removeTask(t){e(this._tasks,t),e(this._runQueue,t),this._updatingChanged()}_updateTask(e){this._tasks.forEach(t=>{t.name===e&&t.setPriority(e)})}_getState(e){if(this._runQueue.some(t=>t.name===e))return"s";let t="i";return this._tasks.forEach(s=>{s.name===e&&s.needsUpdate&&(s.schedulePriority<=1?t="r":"r"!==t&&(t="w"))}),t}_getRuntime(e){let t=0;return this._tasks.forEach(s=>{s.name===e&&(t+=s.runtime)}),t}_resetRuntimes(){this._tasks.forEach(e=>e.runtime=0)}_getRunning(){const e=new Map;if(this._tasks.forEach(t=>{t.needsUpdate&&e.set(t.name,(e.get(t.name)||0)+1)}),0===e.size)return null;let t="";return e.forEach((e,s)=>{t+=e>1?` ${e}x ${s}`:` ${s}`}),t}_updateLoad(){const e=this._tasks.reduce((e,t)=>t.needsUpdate?++e:e,0);this._load=this._load*k+e*(1-k)}_schedule(){for(t(this._runQueue,e=>!!e.needsUpdate||(e.schedulePriority=e.basePriority,!1)),this._tasks.forEach(e=>{e.basePriority===L&&e.needsUpdate&&!this._runQueue.includes(e)&&e.blockFrame!==this._frameNumber&&this._runQueue.unshift(e)});0===this._runQueue.length;){let e=!1,t=0;if(this._tasks.forEach(s=>{if(s.needsUpdate&&0!==s.schedulePriority&&s.basePriority!==L&&s.blockFrame!==this._frameNumber)if(e=!0,t=Math.max(t,s.basePriority),1===s.schedulePriority)s.schedulePriority=0,this._runQueue.push(s);else--s.schedulePriority}),!e)return this._updatingChanged(),!1}return this._updatingChanged(),!0}_run(){do{for(;this._runQueue.length>0;){const t=this._budget.now(),s=this._runQueue.pop();this._budget.resetProgress();try{s.task.runTask(this._budget)===I&&(s.blockFrame=this._frameNumber)}catch(e){r.getLogger("esri.views.support.Scheduler").error(`Exception in task "${s.name}"`,e),s.blockFrame=this._frameNumber}!this._budget.hasProgressed&&s.blockFrame!==this._frameNumber&&s.needsUpdate&&(s.name,p.I3S,s.blockFrame=this._frameNumber),s.schedulePriority=s.basePriority;const i=this._budget.now(),n=i-t;if(a(`${s.name}`,t,i,"Maps SDK","Scheduling"),s.runtime+=n,this._frameTaskTimes.set(s.priority,this._frameTaskTimes.get(s.priority)+n),this._budget.remaining<=0)return void this._updatingChanged()}}while(this._schedule());this._updatingChanged()}_startFrameTaskTimes(){for(const e of Object.keys(p))this._frameTaskTimes.set(p[e],0)}_recordFrameTaskTimes(e){this._frameTaskTimes.forEach((e,t)=>this.performanceInfo.tasks.get(t).push(e)),this.performanceInfo.total.push(e)}get test(){return this._test}}class y{get task(){return this._task.value}get readyToRun(){return this._queue.readyToRun}get updating(){return this._queue.updating}constructor(e,t,r){this._scheduler=e,this.name=t,this.blockFrame=0,this.runtime=0,this._queue=new g,this._handles=new s,this._basePriority=O(t),this.schedulePriority=this._basePriority,this._task=m(null!=r?r:this._queue),this._handles.add(c(()=>this.task.readyToRun,t=>e.taskRunningChanged(t)))}remove(){this.processQueue(w),this._scheduler.removeTask(this),this.schedule=G.schedule,this.reschedule=G.reschedule,this.scheduleGenerator=G.scheduleGenerator,this._handles.destroy()}get basePriority(){return this._basePriority}setPriority(e){if(this.name===e)return;this.name=e;const t=O(e);this._basePriority!==L&&0===this.schedulePriority||(this.schedulePriority=t),this._basePriority=t}get priority(){return this.name}set priority(e){this.setPriority(e)}get needsUpdate(){return this.readyToRun||!this.task.destroyed&&this.task.readyToRun}schedule(e,t,s){return this._queue.push(e,t,s)}reschedule(e,t,s){return this._queue.unshift(e,t,s)}scheduleGenerator(e,t,s){return this._queue.pushGenerator(e,t,s)}processQueue(e){return this._queue.runTask(e)}}class F{constructor(){this._begin=performance?.now()??0,this._budget=0,this._done=!1,this._progressed=!1,this._enabled=!0}run(e){return!this.done&&(!0===e()&&this.madeProgress(),!0)}get done(){return this._done}get budget(){return this._budget}madeProgress(){return this._progressed=!0,this._done=this.elapsed>=this._budget&&this._enabled,this._done}get enabled(){return this._enabled}set enabled(e){this._enabled=e}reset(e){this._begin=this.now(),this._budget=e,this.resetProgress()}get remaining(){return Math.max(this._budget-this.elapsed,0)}now(){return performance.now()}get elapsed(){return this.now()-this._begin}resetProgress(){this._progressed=!1,this._done=!1}get hasProgressed(){return this._progressed}}const w=new F;function D(e){const t=new F;return t.reset(e),t}w.enabled=!1;class M{remove(){}processQueue(){}schedule(e,t,s){try{if(u(t)){const e=_();return s?Promise.resolve(s(e)):Promise.reject(e)}return h(e(w))}catch(r){return Promise.reject(r)}}reschedule(e,t,s){return this.schedule(e,t,s)}async scheduleGenerator(e,t,s){if(u(t)){const e=_();if(s)return s(e);throw e}const r=e(w);for(;;){const e=r.next(w),i=o(e)?await e:e;if(u(t)){const e=_();if(s){const t=s(e),i=r.return(null);return o(i)&&await E(i),t}const t=r.throw(e);throw o(t)&&await E(t),e}if(i.done)return i.value}}}const G=new M;export{G as ImmediateTask,p as TaskPriority,O as getTaskPriority,D as makeBudget,A as newScheduler,w as noBudget,f as taskPriorities};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[4807],{79608(t,n,r){r.d(n,{A:()=>f});var e=r(5482),a=r(69540),o=r(91429);let i=class extends a.Pw{constructor(t){super(t),this.type="web-scene"}equals(t){return this.type===t.type}};(0,e.Cg)([(0,o.MZ)()],i.prototype,"type",void 0),i=(0,e.Cg)([(0,o.$K)("esri.analysis.support.AnalysisOriginWebScene")],i);const s=i;var u=r(69622),c=r(4902),h=r(25482);let l=0,f=class extends((0,h.T)((0,a.OU)((0,c.s)(u.A)))){constructor(t){super(t),this.id=`${Date.now().toString(16)}-analysis-${l++}`,this.origin=null}get parent(){return this._get("parent")}set parent(t){const n=this.parent;if(null!=n)switch(n.type){case"line-of-sight":case"dimension":case"viewshed":n.releaseAnalysis(this);break;case"2d":case"3d":n.analyses.includes(this)&&n.analyses.remove(this)}this._set("parent",t)}equals(t){return this.type===t.type}};(0,e.Cg)([(0,o.MZ)({type:String,constructOnly:!0,clonable:!1})],f.prototype,"id",void 0),(0,e.Cg)([(0,o.MZ)({clonable:!1,value:null})],f.prototype,"parent",null),(0,e.Cg)([(0,o.MZ)({types:{key:"type",base:null,typeMap:{"web-scene":s}}})],f.prototype,"origin",void 0),f=(0,e.Cg)([(0,o.$K)("esri.analysis.Analysis")],f)},91715(t,n,r){r.d(n,{xH:()=>o,N1:()=>s}),r(35522);var e=r(51850),a=r(71351);function o(t,n){return i(t)===i(n)}function i(t){if(null==t)return null;const n=null!=t.layer?t.layer.id:"";let r=null;return r=null!=t.objectId?t.objectId:null!=t.layer&&"objectIdField"in t.layer&&null!=t.layer.objectIdField&&null!=t.attributes?t.attributes[t.layer.objectIdField]:t.uid,null==r?null:`o-${n}-${r}`}r(58083),r(70328),r(77548),r(6867),r(49718),(0,e.vt)();const s={json:{write:{writer:function(t,n){null!=t?.layer?.objectIdField&&null!=t.attributes&&(n.feature={layerId:t.layer.id,objectId:t.attributes[t.layer.objectIdField]})},target:{"feature.layerId":{type:[Number,String],isRequired:!0},"feature.objectId":{type:[Number,String],isRequired:!0}}},origins:{"web-scene":{read:function(t){if(null!=t.layerId&&null!=t.objectId)return{uid:null,layer:{id:t.layerId,objectIdField:"ObjectId"},attributes:{ObjectId:t.objectId}}}}}},clonable:"reference"};(0,a.vt)(),(0,e.vt)()},80200(t,n,r){r.d(n,{T:()=>e,d:()=>l});const e={Base64:0,Hex:1,String:2,Raw:3};function a(t,n){const r=(65535&t)+(65535&n);return(t>>16)+(n>>16)+(r>>16)<<16|65535&r}function o(t,n,r,e,o,i){return a(function(t,n){return t<<n|t>>>32-n}(a(a(n,t),a(e,i)),o),r)}function i(t,n,r,e,a,i,s){return o(n&r|~n&e,t,n,a,i,s)}function s(t,n,r,e,a,i,s){return o(n&e|r&~e,t,n,a,i,s)}function u(t,n,r,e,a,i,s){return o(n^r^e,t,n,a,i,s)}function c(t,n,r,e,a,i,s){return o(r^(n|~e),t,n,a,i,s)}function h(t,n){t[n>>5]|=128<<n%32,t[14+(n+64>>>9<<4)]=n;let r=1732584193,e=-271733879,o=-1732584194,h=271733878;for(let n=0;n<t.length;n+=16){const l=r,f=e,M=o,m=h;r=i(r,e,o,h,t[n],7,-680876936),h=i(h,r,e,o,t[n+1],12,-389564586),o=i(o,h,r,e,t[n+2],17,606105819),e=i(e,o,h,r,t[n+3],22,-1044525330),r=i(r,e,o,h,t[n+4],7,-176418897),h=i(h,r,e,o,t[n+5],12,1200080426),o=i(o,h,r,e,t[n+6],17,-1473231341),e=i(e,o,h,r,t[n+7],22,-45705983),r=i(r,e,o,h,t[n+8],7,1770035416),h=i(h,r,e,o,t[n+9],12,-1958414417),o=i(o,h,r,e,t[n+10],17,-42063),e=i(e,o,h,r,t[n+11],22,-1990404162),r=i(r,e,o,h,t[n+12],7,1804603682),h=i(h,r,e,o,t[n+13],12,-40341101),o=i(o,h,r,e,t[n+14],17,-1502002290),e=i(e,o,h,r,t[n+15],22,1236535329),r=s(r,e,o,h,t[n+1],5,-165796510),h=s(h,r,e,o,t[n+6],9,-1069501632),o=s(o,h,r,e,t[n+11],14,643717713),e=s(e,o,h,r,t[n],20,-373897302),r=s(r,e,o,h,t[n+5],5,-701558691),h=s(h,r,e,o,t[n+10],9,38016083),o=s(o,h,r,e,t[n+15],14,-660478335),e=s(e,o,h,r,t[n+4],20,-405537848),r=s(r,e,o,h,t[n+9],5,568446438),h=s(h,r,e,o,t[n+14],9,-1019803690),o=s(o,h,r,e,t[n+3],14,-187363961),e=s(e,o,h,r,t[n+8],20,1163531501),r=s(r,e,o,h,t[n+13],5,-1444681467),h=s(h,r,e,o,t[n+2],9,-51403784),o=s(o,h,r,e,t[n+7],14,1735328473),e=s(e,o,h,r,t[n+12],20,-1926607734),r=u(r,e,o,h,t[n+5],4,-378558),h=u(h,r,e,o,t[n+8],11,-2022574463),o=u(o,h,r,e,t[n+11],16,1839030562),e=u(e,o,h,r,t[n+14],23,-35309556),r=u(r,e,o,h,t[n+1],4,-1530992060),h=u(h,r,e,o,t[n+4],11,1272893353),o=u(o,h,r,e,t[n+7],16,-155497632),e=u(e,o,h,r,t[n+10],23,-1094730640),r=u(r,e,o,h,t[n+13],4,681279174),h=u(h,r,e,o,t[n],11,-358537222),o=u(o,h,r,e,t[n+3],16,-722521979),e=u(e,o,h,r,t[n+6],23,76029189),r=u(r,e,o,h,t[n+9],4,-640364487),h=u(h,r,e,o,t[n+12],11,-421815835),o=u(o,h,r,e,t[n+15],16,530742520),e=u(e,o,h,r,t[n+2],23,-995338651),r=c(r,e,o,h,t[n],6,-198630844),h=c(h,r,e,o,t[n+7],10,1126891415),o=c(o,h,r,e,t[n+14],15,-1416354905),e=c(e,o,h,r,t[n+5],21,-57434055),r=c(r,e,o,h,t[n+12],6,1700485571),h=c(h,r,e,o,t[n+3],10,-1894986606),o=c(o,h,r,e,t[n+10],15,-1051523),e=c(e,o,h,r,t[n+1],21,-2054922799),r=c(r,e,o,h,t[n+8],6,1873313359),h=c(h,r,e,o,t[n+15],10,-30611744),o=c(o,h,r,e,t[n+6],15,-1560198380),e=c(e,o,h,r,t[n+13],21,1309151649),r=c(r,e,o,h,t[n+4],6,-145523070),h=c(h,r,e,o,t[n+11],10,-1120210379),o=c(o,h,r,e,t[n+2],15,718787259),e=c(e,o,h,r,t[n+9],21,-343485551),r=a(r,l),e=a(e,f),o=a(o,M),h=a(h,m)}return[r,e,o,h]}function l(t,n=e.Hex){const r=n||e.Base64,a=h(function(t){const n=[];for(let r=0,e=8*t.length;r<e;r+=8)n[r>>5]|=(255&t.charCodeAt(r/8))<<r%32;return n}(t),8*t.length);switch(r){case e.Raw:return a;case e.Hex:return function(t){const n="0123456789abcdef",r=[];for(let e=0,a=4*t.length;e<a;e++)r.push(n.charAt(t[e>>2]>>e%4*8+4&15)+n.charAt(t[e>>2]>>e%4*8&15));return r.join("")}(a);case e.String:return function(t){const n=[];for(let r=0,e=32*t.length;r<e;r+=8)n.push(String.fromCharCode(t[r>>5]>>>r%32&255));return n.join("")}(a);case e.Base64:return function(t){const n=[];for(let r=0,e=4*t.length;r<e;r+=3){const e=(t[r>>2]>>r%4*8&255)<<16|(t[r+1>>2]>>(r+1)%4*8&255)<<8|t[r+2>>2]>>(r+2)%4*8&255;for(let a=0;a<4;a++)8*r+6*a>32*t.length?n.push("="):n.push("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(e>>6*(3-a)&63))}return n.join("")}(a)}}},4341(t,n,r){r.d(n,{I:()=>a});var e=r(26390);class a{constructor(t){this._allocator=t,this._items=[],this._itemsPtr=0,this._grow()}get(){return 0===this._itemsPtr&&(0,e.d)(()=>this._reset()),this._itemsPtr===this._items.length&&this._grow(),this._items[this._itemsPtr++]}_reset(){const t=Math.min(3*Math.max(8,this._itemsPtr),this._itemsPtr+3*o);this._items.length=Math.min(t,this._items.length),this._itemsPtr=0}_grow(){for(let t=0;t<Math.max(8,Math.min(this._items.length,o));t++)this._items.push(this._allocator())}}const o=1024},87024(t,n,r){r.d(n,{P:()=>M});var e=r(49186),a=r(80200),o=r(76553),i=r(84952),s=r(13069),u=r(96156),c=r(35666),h=r(10107),l=r(85648),f=r(97159);function M(t){const n=t?.origins??[void 0];return(r,e)=>{const a=function(t,n,r){if("resource"===t?.type)return function(t,n,r){const e=(0,u.z4)(n,r);return{type:String,read:(t,n,r)=>{const a=(0,f.r)(t,n,r);return e.type===String?a:"function"==typeof e.type?new e.type({url:a}):void 0},write:{isRequired:e.json?.write?.isRequired,writer(n,a,s,u){if(!u?.resources)return"string"==typeof n?void(a[s]=(0,f.t)(n,u)):void(a[s]=n.write({},u));const h=function(t){return null==t?null:"string"==typeof t?t:t.url}(n),M=(0,f.t)(h,{...u,verifyItemRelativeUrls:u?.verifyItemRelativeUrls?{writtenUrls:u.verifyItemRelativeUrls.writtenUrls,rootPath:void 0}:void 0},1),g=e.type!==String&&(!(0,o.H)(this)||u?.origin&&this.originIdOf(r)>(0,c.aB)(u.origin)),b={object:this,propertyName:r,value:n,targetUrl:M,dest:a,targetPropertyName:s,context:u,params:t};u?.portalItem&&M&&!(0,i.oP)(M)?g&&t?.contentAddressed?m(b):g?function(t){const{context:n,targetUrl:r,params:e,value:a,dest:o,targetPropertyName:s}=t;if(!n.portalItem)return;const u=n.portalItem.resourceFromPath(r),c=p(a,r,n),h=(0,l.n)(c),f=(0,i.Zo)(u.path),M=e?.compress??!1;h===f?(n.resources&&d({...t,resource:u,content:c,compress:M,updates:n.resources.toUpdate}),o[s]=r):m(t)}(b):function({context:t,targetUrl:n,dest:r,targetPropertyName:e}){t.portalItem&&t.resources&&(t.resources.toKeep.push({resource:t.portalItem.resourceFromPath(n),compress:!1}),r[e]=n)}(b):u?.portalItem&&(null==M||null!=(0,f.i)(M)||(0,i.w8)(M)||g)?m(b):a[s]=M}}}}(t,n,r);switch(t?.type??"other"){case"other":return{read:!0,write:!0};case"url":{const{read:t,write:n}=f.b;return{read:t,write:n}}}}(t,r,e);for(const t of n){const n=(0,h.rM)(r,t,e);for(const t in a)n[t]=a[t]}}}function m(t){const{targetUrl:n,params:r,value:o,context:u,dest:c,targetPropertyName:h}=t;if(!u.portalItem)return;const M=(0,f.p)(n),m=p(o,n,u);if(r?.contentAddressed&&"json"!==m.type)return void u.messages?.push(new e.A("persistable:contentAddressingUnsupported",`Property "${h}" is trying to serializing a resource with content of type ${m.type} with content addressing. Content addressing is only supported for json resources.`,{content:m}));const g=r?.contentAddressed&&"json"===m.type?(0,a.d)(m.jsonString):M?.filename??(0,s.lk)(),b=(0,i.fj)(r?.prefix??M?.prefix,g),y=`${b}.${(0,l.n)(m)}`;if(r?.contentAddressed&&u.resources&&"json"===m.type){const t=u.resources.toKeep.find(({resource:t})=>t.path===y)??u.resources.toAdd.find(({resource:t})=>t.path===y);if(t)return void(c[h]=t.resource.itemRelativeUrl)}const v=u.portalItem.resourceFromPath(y);(0,i.w8)(n)&&u.resources&&u.resources.pendingOperations.push((0,i.tk)(n).then(t=>{v.path=`${b}.${(0,l.n)({type:"blob",blob:t})}`,c[h]=v.itemRelativeUrl}).catch(()=>{}));const I=r?.compress??!1;u.resources&&d({...t,resource:v,content:m,compress:I,updates:u.resources.toAdd}),c[h]=v.itemRelativeUrl}function d({object:t,propertyName:n,updates:r,resource:e,content:a,compress:o}){r.push({resource:e,content:a,compress:o,finish:r=>{!function(t,n,r){"string"==typeof t[n]?t[n]=r.url:t[n].url=r.url}(t,n,r)}})}function p(t,n,r){return"string"==typeof t?{type:"url",url:n}:{type:"json",jsonString:JSON.stringify(t.toJSON(r))}}},62885(t,n,r){r.d(n,{H:()=>o,V:()=>a});var e=r(7762);function a(t,n,r=e.A){return n||(n=new r),n===t||n.destroyed||(n.removeAll(),(a=t)&&(Array.isArray(a)||"items"in a&&Array.isArray(a.items))?n.addMany(t):t&&n.add(t)),n;var a}function o(t){return t}},9093(t,n,r){function e(){return[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]}function a(t){return[t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14],t[15]]}r.d(n,{o8:()=>a,vt:()=>e,zK:()=>o});const o=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];Object.freeze(Object.defineProperty({__proto__:null,IDENTITY:o,clone:a,create:e,fromValues:function(t,n,r,e,a,o,i,s,u,c,h,l,f,M,m,d){return[t,n,r,e,a,o,i,s,u,c,h,l,f,M,m,d]}},Symbol.toStringTag,{value:"Module"}))},82534(t,n,r){function e(){return[0,0,0,1]}function a(t){return[t[0],t[1],t[2],t[3]]}r.d(n,{o8:()=>a,vt:()=>e,zK:()=>o});const o=[0,0,0,1];Object.freeze(Object.defineProperty({__proto__:null,IDENTITY:o,clone:a,create:e,fromValues:function(t,n,r,e){return[t,n,r,e]}},Symbol.toStringTag,{value:"Module"}))},48163(t,n,r){function e(){return[0,0]}function a(t){return[t[0],t[1]]}function o(t,n){return[t,n]}function i(){return o(1,1)}function s(){return o(-1,-1)}function u(){return o(1,0)}function c(){return o(0,1)}r.d(n,{IA:()=>l,Un:()=>h,fA:()=>o,o8:()=>a,vt:()=>e});const h=i(),l=s(),f=u(),M=c();Object.freeze(Object.defineProperty({__proto__:null,NEGATIVE_ONES:l,ONES:h,UNIT_X:f,UNIT_Y:M,ZEROS:[0,0],clone:a,create:e,freeze:function(t,n){return[t,n]},fromArray:function(t,n=[0,0]){const r=Math.min(2,t.length);for(let e=0;e<r;++e)n[e]=t[e];return n},fromValues:o,negativeOnes:s,ones:i,unitX:u,unitY:c,zeros:function(){return[0,0]}},Symbol.toStringTag,{value:"Module"}))},91829(t,n,r){function e(){return[0,0,0,0]}function a(t,n,r,e){return[t,n,r,e]}function o(t,n,r,e){return[t,n,r,e]}function i(){return a(1,1,1,1)}function s(){return a(1,0,0,0)}function u(){return a(0,1,0,0)}function c(){return a(0,0,1,0)}function h(){return a(0,0,0,1)}r.d(n,{CN:()=>o,Un:()=>f,fA:()=>a,uY:()=>l,vt:()=>e});const l=[0,0,0,0],f=i(),M=s(),m=u(),d=c(),p=h();Object.freeze(Object.defineProperty({__proto__:null,ONES:f,UNIT_W:p,UNIT_X:M,UNIT_Y:m,UNIT_Z:d,ZEROS:l,clone:function(t){return[t[0],t[1],t[2],t[3]]},create:e,freeze:o,fromArray:function(t,n=[0,0,0,0]){const r=Math.min(4,t.length);for(let e=0;e<r;++e)n[e]=t[e];return n},fromValues:a,ones:i,unitW:h,unitX:s,unitY:u,unitZ:c,zeros:function(){return[0,0,0,0]}},Symbol.toStringTag,{value:"Module"}))},58083(t,n,r){r.d(n,{$0:()=>p,$h:()=>A,B8:()=>c,C:()=>o,D_:()=>s,N9:()=>b,O7:()=>w,Tl:()=>l,X_:()=>_,e$:()=>M,eL:()=>m,hM:()=>g,hZ:()=>i,hs:()=>f,kN:()=>d,l:()=>x,lw:()=>h,mg:()=>u,o1:()=>j,sC:()=>I,t2:()=>P,t5:()=>q,tZ:()=>T,ut:()=>N,v3:()=>S});var e=r(51850),a=r(34304);function o(t,n){return t[0]=n[0],t[1]=n[1],t[2]=n[2],t[3]=n[3],t[4]=n[4],t[5]=n[5],t[6]=n[6],t[7]=n[7],t[8]=n[8],t[9]=n[9],t[10]=n[10],t[11]=n[11],t[12]=n[12],t[13]=n[13],t[14]=n[14],t[15]=n[15],t}function i(t,n,r,e,a,o,i,s,u,c,h,l,f,M,m,d,p){return t[0]=n,t[1]=r,t[2]=e,t[3]=a,t[4]=o,t[5]=i,t[6]=s,t[7]=u,t[8]=c,t[9]=h,t[10]=l,t[11]=f,t[12]=M,t[13]=m,t[14]=d,t[15]=p,t}function s(t){return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}function u(t,n){if(t===n){const r=n[1],e=n[2],a=n[3],o=n[6],i=n[7],s=n[11];t[1]=n[4],t[2]=n[8],t[3]=n[12],t[4]=r,t[6]=n[9],t[7]=n[13],t[8]=e,t[9]=o,t[11]=n[14],t[12]=a,t[13]=i,t[14]=s}else t[0]=n[0],t[1]=n[4],t[2]=n[8],t[3]=n[12],t[4]=n[1],t[5]=n[5],t[6]=n[9],t[7]=n[13],t[8]=n[2],t[9]=n[6],t[10]=n[10],t[11]=n[14],t[12]=n[3],t[13]=n[7],t[14]=n[11],t[15]=n[15];return t}function c(t,n){const r=n[0],e=n[1],a=n[2],o=n[3],i=n[4],s=n[5],u=n[6],c=n[7],h=n[8],l=n[9],f=n[10],M=n[11],m=n[12],d=n[13],p=n[14],g=n[15],b=r*s-e*i,y=r*u-a*i,v=r*c-o*i,I=e*u-a*s,_=e*c-o*s,x=a*c-o*u,j=h*d-l*m,w=h*p-f*m,A=h*g-M*m,S=l*p-f*d,q=l*g-M*d,O=f*g-M*p;let P=b*O-y*q+v*S+I*A-_*w+x*j;return P?(P=1/P,t[0]=(s*O-u*q+c*S)*P,t[1]=(a*q-e*O-o*S)*P,t[2]=(d*x-p*_+g*I)*P,t[3]=(f*_-l*x-M*I)*P,t[4]=(u*A-i*O-c*w)*P,t[5]=(r*O-a*A+o*w)*P,t[6]=(p*v-m*x-g*y)*P,t[7]=(h*x-f*v+M*y)*P,t[8]=(i*q-s*A+c*j)*P,t[9]=(e*A-r*q-o*j)*P,t[10]=(m*_-d*v+g*b)*P,t[11]=(l*v-h*_-M*b)*P,t[12]=(s*w-i*S-u*j)*P,t[13]=(r*S-e*w+a*j)*P,t[14]=(d*y-m*I-p*b)*P,t[15]=(h*I-l*y+f*b)*P,t):null}function h(t,n,r){const e=n[0],a=n[1],o=n[2],i=n[3],s=n[4],u=n[5],c=n[6],h=n[7],l=n[8],f=n[9],M=n[10],m=n[11],d=n[12],p=n[13],g=n[14],b=n[15];let y=r[0],v=r[1],I=r[2],_=r[3];return t[0]=y*e+v*s+I*l+_*d,t[1]=y*a+v*u+I*f+_*p,t[2]=y*o+v*c+I*M+_*g,t[3]=y*i+v*h+I*m+_*b,y=r[4],v=r[5],I=r[6],_=r[7],t[4]=y*e+v*s+I*l+_*d,t[5]=y*a+v*u+I*f+_*p,t[6]=y*o+v*c+I*M+_*g,t[7]=y*i+v*h+I*m+_*b,y=r[8],v=r[9],I=r[10],_=r[11],t[8]=y*e+v*s+I*l+_*d,t[9]=y*a+v*u+I*f+_*p,t[10]=y*o+v*c+I*M+_*g,t[11]=y*i+v*h+I*m+_*b,y=r[12],v=r[13],I=r[14],_=r[15],t[12]=y*e+v*s+I*l+_*d,t[13]=y*a+v*u+I*f+_*p,t[14]=y*o+v*c+I*M+_*g,t[15]=y*i+v*h+I*m+_*b,t}function l(t,n,r){const e=r[0],a=r[1],o=r[2];if(n===t)t[12]=n[0]*e+n[4]*a+n[8]*o+n[12],t[13]=n[1]*e+n[5]*a+n[9]*o+n[13],t[14]=n[2]*e+n[6]*a+n[10]*o+n[14],t[15]=n[3]*e+n[7]*a+n[11]*o+n[15];else{const r=n[0],i=n[1],s=n[2],u=n[3],c=n[4],h=n[5],l=n[6],f=n[7],M=n[8],m=n[9],d=n[10],p=n[11];t[0]=r,t[1]=i,t[2]=s,t[3]=u,t[4]=c,t[5]=h,t[6]=l,t[7]=f,t[8]=M,t[9]=m,t[10]=d,t[11]=p,t[12]=r*e+c*a+M*o+n[12],t[13]=i*e+h*a+m*o+n[13],t[14]=s*e+l*a+d*o+n[14],t[15]=u*e+f*a+p*o+n[15]}return t}function f(t,n,r){const e=r[0],a=r[1],o=r[2];return t[0]=n[0]*e,t[1]=n[1]*e,t[2]=n[2]*e,t[3]=n[3]*e,t[4]=n[4]*a,t[5]=n[5]*a,t[6]=n[6]*a,t[7]=n[7]*a,t[8]=n[8]*o,t[9]=n[9]*o,t[10]=n[10]*o,t[11]=n[11]*o,t[12]=n[12],t[13]=n[13],t[14]=n[14],t[15]=n[15],t}function M(t,n,r,e){let i=e[0],s=e[1],u=e[2],c=Math.sqrt(i*i+s*s+u*u);if(c<=(0,a.FD)())return void o(t,n);c=1/c,i*=c,s*=c,u*=c;const h=Math.sin(r),l=Math.cos(r),f=1-l,M=n[0],m=n[1],d=n[2],p=n[3],g=n[4],b=n[5],y=n[6],v=n[7],I=n[8],_=n[9],x=n[10],j=n[11],w=i*i*f+l,A=s*i*f+u*h,S=u*i*f-s*h,q=i*s*f-u*h,O=s*s*f+l,P=u*s*f+i*h,N=i*u*f+s*h,T=s*u*f-i*h,C=u*u*f+l;t[0]=M*w+g*A+I*S,t[1]=m*w+b*A+_*S,t[2]=d*w+y*A+x*S,t[3]=p*w+v*A+j*S,t[4]=M*q+g*O+I*P,t[5]=m*q+b*O+_*P,t[6]=d*q+y*O+x*P,t[7]=p*q+v*O+j*P,t[8]=M*N+g*T+I*C,t[9]=m*N+b*T+_*C,t[10]=d*N+y*T+x*C,t[11]=p*N+v*T+j*C,n!==t&&(t[12]=n[12],t[13]=n[13],t[14]=n[14],t[15]=n[15])}function m(t,n,r){const e=Math.sin(r),a=Math.cos(r),o=n[4],i=n[5],s=n[6],u=n[7],c=n[8],h=n[9],l=n[10],f=n[11];return n!==t&&(t[0]=n[0],t[1]=n[1],t[2]=n[2],t[3]=n[3],t[12]=n[12],t[13]=n[13],t[14]=n[14],t[15]=n[15]),t[4]=o*a+c*e,t[5]=i*a+h*e,t[6]=s*a+l*e,t[7]=u*a+f*e,t[8]=c*a-o*e,t[9]=h*a-i*e,t[10]=l*a-s*e,t[11]=f*a-u*e,t}function d(t,n){return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=n[0],t[13]=n[1],t[14]=n[2],t[15]=1,t}function p(t,n,r){if(0===n)return s(t);let e=r[0],o=r[1],i=r[2],u=Math.sqrt(e*e+o*o+i*i);if(u<=(0,a.FD)())return null;u=1/u,e*=u,o*=u,i*=u;const c=Math.sin(n),h=Math.cos(n),l=1-h;return t[0]=e*e*l+h,t[1]=o*e*l+i*c,t[2]=i*e*l-o*c,t[3]=0,t[4]=e*o*l-i*c,t[5]=o*o*l+h,t[6]=i*o*l+e*c,t[7]=0,t[8]=e*i*l+o*c,t[9]=o*i*l-e*c,t[10]=i*i*l+h,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}function g(t,n){const r=Math.sin(n),e=Math.cos(n);return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=e,t[6]=r,t[7]=0,t[8]=0,t[9]=-r,t[10]=e,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}function b(t,n){const r=Math.sin(n),e=Math.cos(n);return t[0]=e,t[1]=r,t[2]=0,t[3]=0,t[4]=-r,t[5]=e,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}function y(t,n,r){const e=n[0],a=n[1],o=n[2],i=n[3],s=e+e,u=a+a,c=o+o,h=e*s,l=e*u,f=e*c,M=a*u,m=a*c,d=o*c,p=i*s,g=i*u,b=i*c;return t[0]=1-(M+d),t[1]=l+b,t[2]=f-g,t[3]=0,t[4]=l-b,t[5]=1-(h+d),t[6]=m+p,t[7]=0,t[8]=f+g,t[9]=m-p,t[10]=1-(h+M),t[11]=0,t[12]=r[0],t[13]=r[1],t[14]=r[2],t[15]=1,t}const v=(0,e.vt)();function I(t,n){return t[0]=n[12],t[1]=n[13],t[2]=n[14],t}function _(t,n){const r=n[0],e=n[1],a=n[2],o=n[4],i=n[5],s=n[6],u=n[8],c=n[9],h=n[10];return t[0]=Math.sqrt(r*r+e*e+a*a),t[1]=Math.sqrt(o*o+i*i+s*s),t[2]=Math.sqrt(u*u+c*c+h*h),t}function x(t,n){const r=n[0]+n[5]+n[10];let e=0;return r>0?(e=2*Math.sqrt(r+1),t[3]=.25*e,t[0]=(n[6]-n[9])/e,t[1]=(n[8]-n[2])/e,t[2]=(n[1]-n[4])/e):n[0]>n[5]&&n[0]>n[10]?(e=2*Math.sqrt(1+n[0]-n[5]-n[10]),t[3]=(n[6]-n[9])/e,t[0]=.25*e,t[1]=(n[1]+n[4])/e,t[2]=(n[8]+n[2])/e):n[5]>n[10]?(e=2*Math.sqrt(1+n[5]-n[0]-n[10]),t[3]=(n[8]-n[2])/e,t[0]=(n[1]+n[4])/e,t[1]=.25*e,t[2]=(n[6]+n[9])/e):(e=2*Math.sqrt(1+n[10]-n[0]-n[5]),t[3]=(n[1]-n[4])/e,t[0]=(n[8]+n[2])/e,t[1]=(n[6]+n[9])/e,t[2]=.25*e),t}function j(t,n,r,e){const a=n[0],o=n[1],i=n[2],s=n[3],u=a+a,c=o+o,h=i+i,l=a*u,f=a*c,M=a*h,m=o*c,d=o*h,p=i*h,g=s*u,b=s*c,y=s*h,v=e[0],I=e[1],_=e[2];return t[0]=(1-(m+p))*v,t[1]=(f+y)*v,t[2]=(M-b)*v,t[3]=0,t[4]=(f-y)*I,t[5]=(1-(l+p))*I,t[6]=(d+g)*I,t[7]=0,t[8]=(M+b)*_,t[9]=(d-g)*_,t[10]=(1-(l+m))*_,t[11]=0,t[12]=r[0],t[13]=r[1],t[14]=r[2],t[15]=1,t}function w(t,n,r,e,a){const o=n[0],i=n[1],s=n[2],u=n[3],c=o+o,h=i+i,l=s+s,f=o*c,M=o*h,m=o*l,d=i*h,p=i*l,g=s*l,b=u*c,y=u*h,v=u*l,I=e[0],_=e[1],x=e[2],j=a[0],w=a[1],A=a[2],S=(1-(d+g))*I,q=(M+v)*I,O=(m-y)*I,P=(M-v)*_,N=(1-(f+g))*_,T=(p+b)*_,C=(m+y)*x,R=(p-b)*x,U=(1-(f+d))*x;return t[0]=S,t[1]=q,t[2]=O,t[3]=0,t[4]=P,t[5]=N,t[6]=T,t[7]=0,t[8]=C,t[9]=R,t[10]=U,t[11]=0,t[12]=r[0]+j-(S*j+P*w+C*A),t[13]=r[1]+w-(q*j+N*w+R*A),t[14]=r[2]+A-(O*j+T*w+U*A),t[15]=1,t}function A(t,n,r,e,a,o,i){const s=1/(r-n),u=1/(a-e),c=1/(o-i);return t[0]=2*o*s,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=2*o*u,t[6]=0,t[7]=0,t[8]=(r+n)*s,t[9]=(a+e)*u,t[10]=(i+o)*c,t[11]=-1,t[12]=0,t[13]=0,t[14]=i*o*2*c,t[15]=0,t}function S(t,n,r,e,a,o,i){const s=1/(n-r),u=1/(e-a),c=1/(o-i);return t[0]=-2*s,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=-2*u,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=2*c,t[11]=0,t[12]=(n+r)*s,t[13]=(a+e)*u,t[14]=(i+o)*c,t[15]=1,t}function q(t,n,r,e){const o=n[0],i=n[1],u=n[2];let c=o-r[0],h=i-r[1],l=u-r[2];const f=(0,a.FD)();if(Math.abs(c)<f&&Math.abs(h)<f&&Math.abs(l)<f)return void s(t);let M=1/Math.sqrt(c*c+h*h+l*l);c*=M,h*=M,l*=M;const m=e[0],d=e[1],p=e[2];let g=d*l-p*h,b=p*c-m*l,y=m*h-d*c;M=Math.sqrt(g*g+b*b+y*y),M?(M=1/M,g*=M,b*=M,y*=M):(g=0,b=0,y=0);let v=h*y-l*b,I=l*g-c*y,_=c*b-h*g;M=Math.sqrt(v*v+I*I+_*_),M?(M=1/M,v*=M,I*=M,_*=M):(v=0,I=0,_=0),t[0]=g,t[1]=v,t[2]=c,t[3]=0,t[4]=b,t[5]=I,t[6]=h,t[7]=0,t[8]=y,t[9]=_,t[10]=l,t[11]=0,t[12]=-(g*o+b*i+y*u),t[13]=-(v*o+I*i+_*u),t[14]=-(c*o+h*i+l*u),t[15]=1}function O(t,n,r){return t[0]=n[0]-r[0],t[1]=n[1]-r[1],t[2]=n[2]-r[2],t[3]=n[3]-r[3],t[4]=n[4]-r[4],t[5]=n[5]-r[5],t[6]=n[6]-r[6],t[7]=n[7]-r[7],t[8]=n[8]-r[8],t[9]=n[9]-r[9],t[10]=n[10]-r[10],t[11]=n[11]-r[11],t[12]=n[12]-r[12],t[13]=n[13]-r[13],t[14]=n[14]-r[14],t[15]=n[15]-r[15],t}function P(t,n){return t[0]===n[0]&&t[1]===n[1]&&t[2]===n[2]&&t[3]===n[3]&&t[4]===n[4]&&t[5]===n[5]&&t[6]===n[6]&&t[7]===n[7]&&t[8]===n[8]&&t[9]===n[9]&&t[10]===n[10]&&t[11]===n[11]&&t[12]===n[12]&&t[13]===n[13]&&t[14]===n[14]&&t[15]===n[15]}function N(t){const n=(0,a.FD)(),r=t[0],e=t[1],o=t[2],i=t[4],s=t[5],u=t[6],c=t[8],h=t[9],l=t[10];return Math.abs(1-(r*r+i*i+c*c))<=n&&Math.abs(1-(e*e+s*s+h*h))<=n&&Math.abs(1-(o*o+u*u+l*l))<=n}function T(t){return 1===t[0]&&0===t[1]&&0===t[2]&&0===t[4]&&1===t[5]&&0===t[6]&&0===t[8]&&0===t[9]&&1===t[10]}const C=h,R=O;Object.freeze(Object.defineProperty({__proto__:null,add:function(t,n,r){return t[0]=n[0]+r[0],t[1]=n[1]+r[1],t[2]=n[2]+r[2],t[3]=n[3]+r[3],t[4]=n[4]+r[4],t[5]=n[5]+r[5],t[6]=n[6]+r[6],t[7]=n[7]+r[7],t[8]=n[8]+r[8],t[9]=n[9]+r[9],t[10]=n[10]+r[10],t[11]=n[11]+r[11],t[12]=n[12]+r[12],t[13]=n[13]+r[13],t[14]=n[14]+r[14],t[15]=n[15]+r[15],t},adjoint:function(t,n){const r=n[0],e=n[1],a=n[2],o=n[3],i=n[4],s=n[5],u=n[6],c=n[7],h=n[8],l=n[9],f=n[10],M=n[11],m=n[12],d=n[13],p=n[14],g=n[15];return t[0]=s*(f*g-M*p)-l*(u*g-c*p)+d*(u*M-c*f),t[1]=-(e*(f*g-M*p)-l*(a*g-o*p)+d*(a*M-o*f)),t[2]=e*(u*g-c*p)-s*(a*g-o*p)+d*(a*c-o*u),t[3]=-(e*(u*M-c*f)-s*(a*M-o*f)+l*(a*c-o*u)),t[4]=-(i*(f*g-M*p)-h*(u*g-c*p)+m*(u*M-c*f)),t[5]=r*(f*g-M*p)-h*(a*g-o*p)+m*(a*M-o*f),t[6]=-(r*(u*g-c*p)-i*(a*g-o*p)+m*(a*c-o*u)),t[7]=r*(u*M-c*f)-i*(a*M-o*f)+h*(a*c-o*u),t[8]=i*(l*g-M*d)-h*(s*g-c*d)+m*(s*M-c*l),t[9]=-(r*(l*g-M*d)-h*(e*g-o*d)+m*(e*M-o*l)),t[10]=r*(s*g-c*d)-i*(e*g-o*d)+m*(e*c-o*s),t[11]=-(r*(s*M-c*l)-i*(e*M-o*l)+h*(e*c-o*s)),t[12]=-(i*(l*p-f*d)-h*(s*p-u*d)+m*(s*f-u*l)),t[13]=r*(l*p-f*d)-h*(e*p-a*d)+m*(e*f-a*l),t[14]=-(r*(s*p-u*d)-i*(e*p-a*d)+m*(e*u-a*s)),t[15]=r*(s*f-u*l)-i*(e*f-a*l)+h*(e*u-a*s),t},copy:o,determinant:function(t){const n=t[0],r=t[1],e=t[2],a=t[3],o=t[4],i=t[5],s=t[6],u=t[7],c=t[8],h=t[9],l=t[10],f=t[11],M=t[12],m=t[13],d=t[14],p=t[15];return(n*i-r*o)*(l*p-f*d)-(n*s-e*o)*(h*p-f*m)+(n*u-a*o)*(h*d-l*m)+(r*s-e*i)*(c*p-f*M)-(r*u-a*i)*(c*d-l*M)+(e*u-a*s)*(c*m-h*M)},equals:function(t,n){if(t===n)return!0;const r=t[0],e=t[1],o=t[2],i=t[3],s=t[4],u=t[5],c=t[6],h=t[7],l=t[8],f=t[9],M=t[10],m=t[11],d=t[12],p=t[13],g=t[14],b=t[15],y=n[0],v=n[1],I=n[2],_=n[3],x=n[4],j=n[5],w=n[6],A=n[7],S=n[8],q=n[9],O=n[10],P=n[11],N=n[12],T=n[13],C=n[14],R=n[15],U=(0,a.FD)();return Math.abs(r-y)<=U*Math.max(1,Math.abs(r),Math.abs(y))&&Math.abs(e-v)<=U*Math.max(1,Math.abs(e),Math.abs(v))&&Math.abs(o-I)<=U*Math.max(1,Math.abs(o),Math.abs(I))&&Math.abs(i-_)<=U*Math.max(1,Math.abs(i),Math.abs(_))&&Math.abs(s-x)<=U*Math.max(1,Math.abs(s),Math.abs(x))&&Math.abs(u-j)<=U*Math.max(1,Math.abs(u),Math.abs(j))&&Math.abs(c-w)<=U*Math.max(1,Math.abs(c),Math.abs(w))&&Math.abs(h-A)<=U*Math.max(1,Math.abs(h),Math.abs(A))&&Math.abs(l-S)<=U*Math.max(1,Math.abs(l),Math.abs(S))&&Math.abs(f-q)<=U*Math.max(1,Math.abs(f),Math.abs(q))&&Math.abs(M-O)<=U*Math.max(1,Math.abs(M),Math.abs(O))&&Math.abs(m-P)<=U*Math.max(1,Math.abs(m),Math.abs(P))&&Math.abs(d-N)<=U*Math.max(1,Math.abs(d),Math.abs(N))&&Math.abs(p-T)<=U*Math.max(1,Math.abs(p),Math.abs(T))&&Math.abs(g-C)<=U*Math.max(1,Math.abs(g),Math.abs(C))&&Math.abs(b-R)<=U*Math.max(1,Math.abs(b),Math.abs(R))},exactEquals:P,frob:function(t){return Math.sqrt(t[0]**2+t[1]**2+t[2]**2+t[3]**2+t[4]**2+t[5]**2+t[6]**2+t[7]**2+t[8]**2+t[9]**2+t[10]**2+t[11]**2+t[12]**2+t[13]**2+t[14]**2+t[15]**2)},fromQuat:function(t,n){const r=n[0],e=n[1],a=n[2],o=n[3],i=r+r,s=e+e,u=a+a,c=r*i,h=e*i,l=e*s,f=a*i,M=a*s,m=a*u,d=o*i,p=o*s,g=o*u;return t[0]=1-l-m,t[1]=h+g,t[2]=f-p,t[3]=0,t[4]=h-g,t[5]=1-c-m,t[6]=M+d,t[7]=0,t[8]=f+p,t[9]=M-d,t[10]=1-c-l,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t},fromQuat2:function(t,n){const r=v,e=-n[0],a=-n[1],o=-n[2],i=n[3],s=n[4],u=n[5],c=n[6],h=n[7],l=e*e+a*a+o*o+i*i;return l>0?(r[0]=2*(s*i+h*e+u*o-c*a)/l,r[1]=2*(u*i+h*a+c*e-s*o)/l,r[2]=2*(c*i+h*o+s*a-u*e)/l):(r[0]=2*(s*i+h*e+u*o-c*a),r[1]=2*(u*i+h*a+c*e-s*o),r[2]=2*(c*i+h*o+s*a-u*e)),y(t,n,r),t},fromRotation:p,fromRotationTranslation:y,fromRotationTranslationScale:j,fromRotationTranslationScaleOrigin:w,fromScaling:function(t,n){return t[0]=n[0],t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=n[1],t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=n[2],t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t},fromTranslation:d,fromXRotation:g,fromYRotation:function(t,n){const r=Math.sin(n),e=Math.cos(n);return t[0]=e,t[1]=0,t[2]=-r,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=r,t[9]=0,t[10]=e,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t},fromZRotation:b,frustum:A,getRotation:x,getScale:_,getTranslation:I,hasIdentityRotation:T,identity:s,invert:c,invertOrIdentity:function(t,n){return c(t,n)||s(t),t},isOrthoNormal:N,lookAt:q,mul:C,multiply:h,multiplyScalar:function(t,n,r){return t[0]=n[0]*r,t[1]=n[1]*r,t[2]=n[2]*r,t[3]=n[3]*r,t[4]=n[4]*r,t[5]=n[5]*r,t[6]=n[6]*r,t[7]=n[7]*r,t[8]=n[8]*r,t[9]=n[9]*r,t[10]=n[10]*r,t[11]=n[11]*r,t[12]=n[12]*r,t[13]=n[13]*r,t[14]=n[14]*r,t[15]=n[15]*r,t},multiplyScalarAndAdd:function(t,n,r,e){return t[0]=n[0]+r[0]*e,t[1]=n[1]+r[1]*e,t[2]=n[2]+r[2]*e,t[3]=n[3]+r[3]*e,t[4]=n[4]+r[4]*e,t[5]=n[5]+r[5]*e,t[6]=n[6]+r[6]*e,t[7]=n[7]+r[7]*e,t[8]=n[8]+r[8]*e,t[9]=n[9]+r[9]*e,t[10]=n[10]+r[10]*e,t[11]=n[11]+r[11]*e,t[12]=n[12]+r[12]*e,t[13]=n[13]+r[13]*e,t[14]=n[14]+r[14]*e,t[15]=n[15]+r[15]*e,t},ortho:S,perspective:function(t,n,r,e,a){const o=1/Math.tan(n/2);let i;return t[0]=o/r,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=o,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[11]=-1,t[12]=0,t[13]=0,t[15]=0,null!=a&&a!==1/0?(i=1/(e-a),t[10]=(a+e)*i,t[14]=2*a*e*i):(t[10]=-1,t[14]=-2*e),t},perspectiveFromFieldOfView:function(t,n,r,e){const a=Math.tan(n.upDegrees*Math.PI/180),o=Math.tan(n.downDegrees*Math.PI/180),i=Math.tan(n.leftDegrees*Math.PI/180),s=Math.tan(n.rightDegrees*Math.PI/180),u=2/(i+s),c=2/(a+o);return t[0]=u,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=c,t[6]=0,t[7]=0,t[8]=-(i-s)*u*.5,t[9]=(a-o)*c*.5,t[10]=e/(r-e),t[11]=-1,t[12]=0,t[13]=0,t[14]=e*r/(r-e),t[15]=0,t},rotate:M,rotateX:m,rotateY:function(t,n,r){const e=Math.sin(r),a=Math.cos(r),o=n[0],i=n[1],s=n[2],u=n[3],c=n[8],h=n[9],l=n[10],f=n[11];return n!==t&&(t[4]=n[4],t[5]=n[5],t[6]=n[6],t[7]=n[7],t[12]=n[12],t[13]=n[13],t[14]=n[14],t[15]=n[15]),t[0]=o*a-c*e,t[1]=i*a-h*e,t[2]=s*a-l*e,t[3]=u*a-f*e,t[8]=o*e+c*a,t[9]=i*e+h*a,t[10]=s*e+l*a,t[11]=u*e+f*a,t},rotateZ:function(t,n,r){const e=Math.sin(r),a=Math.cos(r),o=n[0],i=n[1],s=n[2],u=n[3],c=n[4],h=n[5],l=n[6],f=n[7];return n!==t&&(t[8]=n[8],t[9]=n[9],t[10]=n[10],t[11]=n[11],t[12]=n[12],t[13]=n[13],t[14]=n[14],t[15]=n[15]),t[0]=o*a+c*e,t[1]=i*a+h*e,t[2]=s*a+l*e,t[3]=u*a+f*e,t[4]=c*a-o*e,t[5]=h*a-i*e,t[6]=l*a-s*e,t[7]=f*a-u*e,t},scale:f,set:i,str:function(t){return"mat4("+t[0]+", "+t[1]+", "+t[2]+", "+t[3]+", "+t[4]+", "+t[5]+", "+t[6]+", "+t[7]+", "+t[8]+", "+t[9]+", "+t[10]+", "+t[11]+", "+t[12]+", "+t[13]+", "+t[14]+", "+t[15]+")"},sub:R,subtract:O,targetTo:function(t,n,r,e){const a=n[0],o=n[1],i=n[2],s=e[0],u=e[1],c=e[2];let h=a-r[0],l=o-r[1],f=i-r[2],M=h*h+l*l+f*f;M>0&&(M=1/Math.sqrt(M),h*=M,l*=M,f*=M);let m=u*f-c*l,d=c*h-s*f,p=s*l-u*h;return M=m*m+d*d+p*p,M>0&&(M=1/Math.sqrt(M),m*=M,d*=M,p*=M),t[0]=m,t[1]=d,t[2]=p,t[3]=0,t[4]=l*p-f*d,t[5]=f*m-h*p,t[6]=h*d-l*m,t[7]=0,t[8]=h,t[9]=l,t[10]=f,t[11]=0,t[12]=a,t[13]=o,t[14]=i,t[15]=1,t},translate:l,transpose:u},Symbol.toStringTag,{value:"Module"}))},35522(t,n,r){r.d(n,{$A:()=>w,Bw:()=>o,C:()=>i,Cc:()=>A,DI:()=>_,Il:()=>$,Io:()=>b,Ln:()=>g,Om:()=>j,Qr:()=>l,Re:()=>c,S8:()=>x,T9:()=>d,WQ:()=>u,Z0:()=>S,_S:()=>M,aI:()=>U,ei:()=>q,fw:()=>P,g7:()=>N,gL:()=>O,hG:()=>y,hZ:()=>s,hs:()=>p,jb:()=>F,jk:()=>m,lo:()=>Z,lw:()=>h,m3:()=>v,oW:()=>z,t2:()=>R,tn:()=>f,uE:()=>Y,xg:()=>E,ze:()=>I});var e=r(51850),a=r(34304);function o(t){const n=t[0],r=t[1],e=t[2];return Math.sqrt(n*n+r*r+e*e)}function i(t,n){return t[0]=n[0],t[1]=n[1],t[2]=n[2],t}function s(t,n,r,e){return t[0]=n,t[1]=r,t[2]=e,t}function u(t,n,r){return t[0]=n[0]+r[0],t[1]=n[1]+r[1],t[2]=n[2]+r[2],t}function c(t,n,r){return t[0]=n[0]-r[0],t[1]=n[1]-r[1],t[2]=n[2]-r[2],t}function h(t,n,r){return t[0]=n[0]*r[0],t[1]=n[1]*r[1],t[2]=n[2]*r[2],t}function l(t,n,r){return t[0]=n[0]/r[0],t[1]=n[1]/r[1],t[2]=n[2]/r[2],t}function f(t,n){return t[0]=Math.abs(n[0]),t[1]=Math.abs(n[1]),t[2]=Math.abs(n[2]),t}function M(t,n){return t[0]=Math.sign(n[0]),t[1]=Math.sign(n[1]),t[2]=Math.sign(n[2]),t}function m(t,n,r){return t[0]=Math.min(n[0],r[0]),t[1]=Math.min(n[1],r[1]),t[2]=Math.min(n[2],r[2]),t}function d(t,n,r){return t[0]=Math.max(n[0],r[0]),t[1]=Math.max(n[1],r[1]),t[2]=Math.max(n[2],r[2]),t}function p(t,n,r){return t[0]=n[0]*r,t[1]=n[1]*r,t[2]=n[2]*r,t}function g(t,n,r,e){return t[0]=n[0]+r[0]*e,t[1]=n[1]+r[1]*e,t[2]=n[2]+r[2]*e,t}function b(t,n){const r=n[0]-t[0],e=n[1]-t[1],a=n[2]-t[2];return Math.sqrt(r*r+e*e+a*a)}function y(t,n){const r=n[0]-t[0],e=n[1]-t[1],a=n[2]-t[2];return r*r+e*e+a*a}function v(t){const n=t[0],r=t[1],e=t[2];return n*n+r*r+e*e}function I(t,n){return t[0]=-n[0],t[1]=-n[1],t[2]=-n[2],t}function _(t,n){return t[0]=1/n[0],t[1]=1/n[1],t[2]=1/n[2],t}function x(t,n){const r=n[0],e=n[1],a=n[2];let o=r*r+e*e+a*a;return o>0&&(o=1/Math.sqrt(o),t[0]=n[0]*o,t[1]=n[1]*o,t[2]=n[2]*o),t}function j(t,n){return t[0]*n[0]+t[1]*n[1]+t[2]*n[2]}function w(t,n,r){const e=n[0],a=n[1],o=n[2],i=r[0],s=r[1],u=r[2];return t[0]=a*u-o*s,t[1]=o*i-e*u,t[2]=e*s-a*i,t}function A(t,n,r,e){const a=n[0],o=n[1],i=n[2];return t[0]=a+e*(r[0]-a),t[1]=o+e*(r[1]-o),t[2]=i+e*(r[2]-i),t}function S(t,n,r){const e=n[0],a=n[1],o=n[2];return t[0]=r[0]*e+r[4]*a+r[8]*o+r[12],t[1]=r[1]*e+r[5]*a+r[9]*o+r[13],t[2]=r[2]*e+r[6]*a+r[10]*o+r[14],t}function q(t,n,r){const e=n[0],a=n[1],o=n[2];return t[0]=e*r[0]+a*r[3]+o*r[6],t[1]=e*r[1]+a*r[4]+o*r[7],t[2]=e*r[2]+a*r[5]+o*r[8],t}function O(t,n,r){return P(t,n,r[0],r[1],r[2],r[3])}function P(t,n,r,e,a,o){const i=n[0],s=n[1],u=n[2],c=e*u-a*s,h=a*i-r*u,l=r*s-e*i,f=e*l-a*h,M=a*c-r*l,m=r*h-e*c,d=2*o;return t[0]=i+c*d+2*f,t[1]=s+h*d+2*M,t[2]=u+l*d+2*m,t}function N(t,n){x(T,t),x(C,n);const r=j(T,C);return r>1?0:r<-1?Math.PI:Math.acos(r)}const T=(0,e.vt)(),C=(0,e.vt)();function R(t,n){return t[0]===n[0]&&t[1]===n[1]&&t[2]===n[2]}function U(t,n){if(t===n)return!0;const r=t[0],e=t[1],o=t[2],i=n[0],s=n[1],u=n[2],c=(0,a.FD)();return Math.abs(r-i)<=c*Math.max(1,Math.abs(r),Math.abs(i))&&Math.abs(e-s)<=c*Math.max(1,Math.abs(e),Math.abs(s))&&Math.abs(o-u)<=c*Math.max(1,Math.abs(o),Math.abs(u))}function z(t,n,r){const e=r[0]-n[0],a=r[1]-n[1],o=r[2]-n[2];let i=e*e+a*a+o*o;return i>0?(i=1/Math.sqrt(i),t[0]=e*i,t[1]=a*i,t[2]=o*i,t):(t[0]=0,t[1]=0,t[2]=0,t)}const F=c,D=h,V=l,E=b,Z=y,$=o,Y=v;Object.freeze(Object.defineProperty({__proto__:null,abs:f,add:u,angle:N,bezier:function(t,n,r,e,a,o){const i=1-o,s=i*i,u=o*o,c=s*i,h=3*o*s,l=3*u*i,f=u*o;return t[0]=n[0]*c+r[0]*h+e[0]*l+a[0]*f,t[1]=n[1]*c+r[1]*h+e[1]*l+a[1]*f,t[2]=n[2]*c+r[2]*h+e[2]*l+a[2]*f,t},ceil:function(t,n){return t[0]=Math.ceil(n[0]),t[1]=Math.ceil(n[1]),t[2]=Math.ceil(n[2]),t},clamp:function(t,n=0,r=1){return t[0]=Math.min(Math.max(t[0],n),r),t[1]=Math.min(Math.max(t[1],n),r),t[2]=Math.min(Math.max(t[2],n),r),t},copy:i,cross:w,crossAndNormalize:function(t,n,r){const e=n[0],a=n[1],o=n[2],i=r[0],s=r[1],u=r[2],c=a*u-o*s,h=o*i-e*u,l=e*s-a*i,f=Math.sqrt(c*c+h*h+l*l);return t[0]=c/f,t[1]=h/f,t[2]=l/f,t},direction:z,dist:E,distance:b,div:V,divide:l,dot:j,equals:U,exactEquals:R,floor:function(t,n){return t[0]=Math.floor(n[0]),t[1]=Math.floor(n[1]),t[2]=Math.floor(n[2]),t},hermite:function(t,n,r,e,a,o){const i=o*o,s=i*(2*o-3)+1,u=i*(o-2)+o,c=i*(o-1),h=i*(3-2*o);return t[0]=n[0]*s+r[0]*u+e[0]*c+a[0]*h,t[1]=n[1]*s+r[1]*u+e[1]*c+a[1]*h,t[2]=n[2]*s+r[2]*u+e[2]*c+a[2]*h,t},inverse:_,len:$,length:o,lerp:A,max:d,min:m,mul:D,multiply:h,negate:I,normalize:x,random:function(t,n=1){const r=a.Ov,e=2*r()*Math.PI,o=2*r()-1,i=Math.sqrt(1-o*o)*n;return t[0]=Math.cos(e)*i,t[1]=Math.sin(e)*i,t[2]=o*n,t},rotateX:function(t,n,r,e){const a=[],o=[];return a[0]=n[0]-r[0],a[1]=n[1]-r[1],a[2]=n[2]-r[2],o[0]=a[0],o[1]=a[1]*Math.cos(e)-a[2]*Math.sin(e),o[2]=a[1]*Math.sin(e)+a[2]*Math.cos(e),t[0]=o[0]+r[0],t[1]=o[1]+r[1],t[2]=o[2]+r[2],t},rotateY:function(t,n,r,e){const a=[],o=[];return a[0]=n[0]-r[0],a[1]=n[1]-r[1],a[2]=n[2]-r[2],o[0]=a[2]*Math.sin(e)+a[0]*Math.cos(e),o[1]=a[1],o[2]=a[2]*Math.cos(e)-a[0]*Math.sin(e),t[0]=o[0]+r[0],t[1]=o[1]+r[1],t[2]=o[2]+r[2],t},rotateZ:function(t,n,r,e){const a=[],o=[];return a[0]=n[0]-r[0],a[1]=n[1]-r[1],a[2]=n[2]-r[2],o[0]=a[0]*Math.cos(e)-a[1]*Math.sin(e),o[1]=a[0]*Math.sin(e)+a[1]*Math.cos(e),o[2]=a[2],t[0]=o[0]+r[0],t[1]=o[1]+r[1],t[2]=o[2]+r[2],t},round:function(t,n){return t[0]=Math.round(n[0]),t[1]=Math.round(n[1]),t[2]=Math.round(n[2]),t},scale:p,scaleAndAdd:g,set:s,sign:M,sqrDist:Z,sqrLen:Y,squaredDistance:y,squaredLength:v,str:function(t){return"vec3("+t[0]+", "+t[1]+", "+t[2]+")"},sub:F,subtract:c,transformMat3:q,transformMat4:S,transformQuat:O,transformQuatValues:P},Symbol.toStringTag,{value:"Module"}))},78955(t,n,r){r.d(n,{Bw:()=>p,C:()=>a,Cc:()=>v,LI:()=>f,Om:()=>y,S8:()=>b,T9:()=>l,WQ:()=>i,Z0:()=>I,aI:()=>x,hG:()=>d,hZ:()=>o,hs:()=>M,jk:()=>h,m3:()=>g,t2:()=>_});var e=r(34304);function a(t,n){return t[0]=n[0],t[1]=n[1],t[2]=n[2],t[3]=n[3],t}function o(t,n,r,e,a){return t[0]=n,t[1]=r,t[2]=e,t[3]=a,t}function i(t,n,r){return t[0]=n[0]+r[0],t[1]=n[1]+r[1],t[2]=n[2]+r[2],t[3]=n[3]+r[3],t}function s(t,n,r){return t[0]=n[0]-r[0],t[1]=n[1]-r[1],t[2]=n[2]-r[2],t[3]=n[3]-r[3],t}function u(t,n,r){return t[0]=n[0]*r[0],t[1]=n[1]*r[1],t[2]=n[2]*r[2],t[3]=n[3]*r[3],t}function c(t,n,r){return t[0]=n[0]/r[0],t[1]=n[1]/r[1],t[2]=n[2]/r[2],t[3]=n[3]/r[3],t}function h(t,n,r){return t[0]=Math.min(n[0],r[0]),t[1]=Math.min(n[1],r[1]),t[2]=Math.min(n[2],r[2]),t[3]=Math.min(n[3],r[3]),t}function l(t,n,r){return t[0]=Math.max(n[0],r[0]),t[1]=Math.max(n[1],r[1]),t[2]=Math.max(n[2],r[2]),t[3]=Math.max(n[3],r[3]),t}function f(t,n){return t[0]=Math.round(n[0]),t[1]=Math.round(n[1]),t[2]=Math.round(n[2]),t[3]=Math.round(n[3]),t}function M(t,n,r){return t[0]=n[0]*r,t[1]=n[1]*r,t[2]=n[2]*r,t[3]=n[3]*r,t}function m(t,n){const r=n[0]-t[0],e=n[1]-t[1],a=n[2]-t[2],o=n[3]-t[3];return Math.sqrt(r*r+e*e+a*a+o*o)}function d(t,n){const r=n[0]-t[0],e=n[1]-t[1],a=n[2]-t[2],o=n[3]-t[3];return r*r+e*e+a*a+o*o}function p(t){const n=t[0],r=t[1],e=t[2],a=t[3];return Math.sqrt(n*n+r*r+e*e+a*a)}function g(t){const n=t[0],r=t[1],e=t[2],a=t[3];return n*n+r*r+e*e+a*a}function b(t,n){const r=n[0],e=n[1],a=n[2],o=n[3];let i=r*r+e*e+a*a+o*o;return i>0&&(i=1/Math.sqrt(i),t[0]=r*i,t[1]=e*i,t[2]=a*i,t[3]=o*i),t}function y(t,n){return t[0]*n[0]+t[1]*n[1]+t[2]*n[2]+t[3]*n[3]}function v(t,n,r,e){const a=n[0],o=n[1],i=n[2],s=n[3];return t[0]=a+e*(r[0]-a),t[1]=o+e*(r[1]-o),t[2]=i+e*(r[2]-i),t[3]=s+e*(r[3]-s),t}function I(t,n,r){const e=n[0],a=n[1],o=n[2],i=n[3];return t[0]=r[0]*e+r[4]*a+r[8]*o+r[12]*i,t[1]=r[1]*e+r[5]*a+r[9]*o+r[13]*i,t[2]=r[2]*e+r[6]*a+r[10]*o+r[14]*i,t[3]=r[3]*e+r[7]*a+r[11]*o+r[15]*i,t}function _(t,n){return t[0]===n[0]&&t[1]===n[1]&&t[2]===n[2]&&t[3]===n[3]}function x(t,n){const r=t[0],a=t[1],o=t[2],i=t[3],s=n[0],u=n[1],c=n[2],h=n[3],l=(0,e.FD)();return Math.abs(r-s)<=l*Math.max(1,Math.abs(r),Math.abs(s))&&Math.abs(a-u)<=l*Math.max(1,Math.abs(a),Math.abs(u))&&Math.abs(o-c)<=l*Math.max(1,Math.abs(o),Math.abs(c))&&Math.abs(i-h)<=l*Math.max(1,Math.abs(i),Math.abs(h))}const j=s,w=u,A=c,S=m,q=d,O=p,P=g;Object.freeze(Object.defineProperty({__proto__:null,add:i,ceil:function(t,n){return t[0]=Math.ceil(n[0]),t[1]=Math.ceil(n[1]),t[2]=Math.ceil(n[2]),t[3]=Math.ceil(n[3]),t},copy:a,copyVec3:function(t,n){return t[0]=n[0],t[1]=n[1],t[2]=n[2],t},dist:S,distance:m,div:A,divide:c,dot:y,equals:x,exactEquals:_,floor:function(t,n){return t[0]=Math.floor(n[0]),t[1]=Math.floor(n[1]),t[2]=Math.floor(n[2]),t[3]=Math.floor(n[3]),t},inverse:function(t,n){return t[0]=1/n[0],t[1]=1/n[1],t[2]=1/n[2],t[3]=1/n[3],t},len:O,length:p,lerp:v,max:l,min:h,mul:w,multiply:u,negate:function(t,n){return t[0]=-n[0],t[1]=-n[1],t[2]=-n[2],t[3]=-n[3],t},normalize:b,random:function(t,n=1){const r=e.Ov;let a,o,i,s,u,c;do{a=2*r()-1,o=2*r()-1,u=a*a+o*o}while(u>=1);do{i=2*r()-1,s=2*r()-1,c=i*i+s*s}while(c>=1);const h=Math.sqrt((1-u)/c);return t[0]=n*a,t[1]=n*o,t[2]=n*i*h,t[3]=n*s*h,t},round:f,scale:M,scaleAndAdd:function(t,n,r,e){return t[0]=n[0]+r[0]*e,t[1]=n[1]+r[1]*e,t[2]=n[2]+r[2]*e,t[3]=n[3]+r[3]*e,t},set:o,sqrDist:q,sqrLen:P,squaredDistance:d,squaredLength:g,str:function(t){return"vec4("+t[0]+", "+t[1]+", "+t[2]+", "+t[3]+")"},sub:j,subtract:s,transformMat4:I,transformQuat:function(t,n,r){const e=n[0],a=n[1],o=n[2],i=r[0],s=r[1],u=r[2],c=r[3],h=c*e+s*o-u*a,l=c*a+u*e-i*o,f=c*o+i*a-s*e,M=-i*e-s*a-u*o;return t[0]=h*c+M*-i+l*-u-f*-s,t[1]=l*c+M*-s+f*-i-h*-u,t[2]=f*c+M*-u+h*-s-l*-i,t[3]=n[3],t}},Symbol.toStringTag,{value:"Module"}))},76553(t,n,r){function e(t){return t&&"getAtOrigin"in t&&"originOf"in t}r.d(n,{H:()=>e})},13069(t,n,r){r.d(n,{AG:()=>s,lk:()=>a,vD:()=>i,yS:()=>o});const e="randomUUID"in crypto;function a(){if(e)return crypto.randomUUID();const t=crypto.getRandomValues(new Uint16Array(8));t[3]=4095&t[3]|16384,t[4]=16383&t[4]|32768;const n=n=>t[n].toString(16).padStart(4,"0");return n(0)+n(1)+"-"+n(2)+"-"+n(3)+"-"+n(4)+"-"+n(5)+n(6)+n(7)}function o(){return`{${a().toUpperCase()}}`}function i(){return`{${a()}}`}function s(t){const n=t.toUpperCase();return t.startsWith("{")?n:`{${n}}`}},4197(t,n,r){r.d(n,{Vj:()=>h,cj:()=>c,jh:()=>o,l5:()=>s,yH:()=>u});var e=r(34275),a=r(9093);function o(t){return t<=e.y9?new Array(t).fill(0):new Float64Array(t)}function i(t){return((0,e.iu)(t)?t.byteLength/8:t.length)<=e.y9?Array.from(t):new Float64Array(t)}function s(t,n,r){return Array.isArray(t)?t.slice(n,n+r):t.subarray(n,n+r)}function u(t,n){if(0===n.length)return i(t);if(0===t.length)return i(n);const r=o(t.length+n.length);for(let n=0;n<t.length;++n)r[n]=t[n];for(let e=0;e<n.length;++e)r[t.length+e]=n[e];return r}function c(t){return[...t]}function h(t){const n=(0,a.vt)();for(let r=0;r<16;++r)n[r]=t[r];return n}},70328(t,n,r){r.d(n,{BI:()=>y,DC:()=>l,Ej:()=>M,Ie:()=>g,Jt:()=>b,Ne:()=>m,RF:()=>h,aI:()=>I,fA:()=>i,gE:()=>u,hZ:()=>p,iT:()=>f,is:()=>v,qv:()=>_,vI:()=>d,vY:()=>s,v_:()=>x,vt:()=>o,w1:()=>c}),r(35522);var e=r(5443),a=(r(19419),r(4197));function o(t=x){return[t[0],t[1],t[2],t[3],t[4],t[5]]}function i(t,n,r,e,a,i,s=o()){return s[0]=t,s[1]=n,s[2]=r,s[3]=e,s[4]=a,s[5]=i,s}function s(t,n=o()){return function(t,n,r,e=o()){return p(e,_),function(t,n,r=0,e=n.length/3){let a=t[0],o=t[1],i=t[2],s=t[3],u=t[4],c=t[5];for(let t=0;t<e;t++)a=Math.min(a,n[r+3*t]),o=Math.min(o,n[r+3*t+1]),i=Math.min(i,n[r+3*t+2]),s=Math.max(s,n[r+3*t]),u=Math.max(u,n[r+3*t+1]),c=Math.max(c,n[r+3*t+2]);t[0]=a,t[1]=o,t[2]=i,t[3]=s,t[4]=u,t[5]=c}(e,t,n,r),e}(t,0,t.length/3,n)}function u(t,n=(0,a.jh)(24)){const[r,e,o,i,s,u]=t;return n[0]=r,n[1]=e,n[2]=o,n[3]=r,n[4]=e,n[5]=u,n[6]=r,n[7]=s,n[8]=o,n[9]=r,n[10]=s,n[11]=u,n[12]=i,n[13]=e,n[14]=o,n[15]=i,n[16]=e,n[17]=u,n[18]=i,n[19]=s,n[20]=o,n[21]=i,n[22]=s,n[23]=u,n}function c(t,n){const r=isFinite(t[2])||isFinite(t[5]);return new e.A(r?{xmin:t[0],xmax:t[3],ymin:t[1],ymax:t[4],zmin:t[2],zmax:t[5],spatialReference:n}:{xmin:t[0],xmax:t[3],ymin:t[1],ymax:t[4],spatialReference:n})}function h(t,n){t[0]=Math.min(t[0],n[0]),t[1]=Math.min(t[1],n[1]),t[2]=Math.min(t[2],n[2]),t[3]=Math.max(t[3],n[3]),t[4]=Math.max(t[4],n[4]),t[5]=Math.max(t[5],n[5])}function l(t,n){t[0]=Math.min(t[0],n[0]),t[1]=Math.min(t[1],n[1]),t[3]=Math.max(t[3],n[2]),t[4]=Math.max(t[4],n[3])}function f(t,n){t[0]=Math.min(t[0],n[0]),t[1]=Math.min(t[1],n[1]),t[2]=Math.min(t[2],n[2]),t[3]=Math.max(t[3],n[0]),t[4]=Math.max(t[4],n[1]),t[5]=Math.max(t[5],n[2])}function M(t,n=[0,0,0]){return n[0]=function(t){return t[0]>=t[3]?0:t[3]-t[0]}(t),n[1]=function(t){return t[1]>=t[4]?0:t[4]-t[1]}(t),n[2]=function(t){return t[2]>=t[5]?0:t[5]-t[2]}(t),n}function m(t,n,r=t){return r[0]=n[0],r[1]=n[1],r[2]=n[2],r!==t&&(r[3]=t[3],r[4]=t[4],r[5]=t[5]),r}function d(t,n,r=t){return r[3]=n[0],r[4]=n[1],r[5]=n[2],r!==t&&(r[0]=t[0],r[1]=t[1],r[2]=t[2]),t}function p(t,n){return t[0]=n[0],t[1]=n[1],t[2]=n[2],t[3]=n[3],t[4]=n[4],t[5]=n[5],t}function g(t){return t?p(t,_):o(_)}function b(t,n){return t[0]=n[0],t[1]=n[1],t[2]=Number.NEGATIVE_INFINITY,t[3]=n[2],t[4]=n[3],t[5]=Number.POSITIVE_INFINITY,t}function y(t,n,r,e,a){return t[0]=n,t[1]=r,t[2]=Number.NEGATIVE_INFINITY,t[3]=e,t[4]=a,t[5]=Number.POSITIVE_INFINITY,t}function v(t){return 6===t.length}function I(t,n,r){if(null==t||null==n)return t===n;if(!v(t)||!v(n))return!1;if(r){for(let e=0;e<t.length;e++)if(!r(t[e],n[e]))return!1}else for(let r=0;r<t.length;r++)if(t[r]!==n[r])return!1;return!0}const _=[1/0,1/0,1/0,-1/0,-1/0,-1/0],x=[0,0,0,0,0,0];o()},71351(t,n,r){r.d(n,{C:()=>h,Cr:()=>l,LV:()=>c,fA:()=>f,vt:()=>s}),r(4576);var e=r(4341),a=(r(77690),r(29242)),o=r(35522),i=r(51850);function s(t){return t?u((0,i.o8)(t.origin),(0,i.o8)(t.direction)):u((0,i.vt)(),(0,i.vt)())}function u(t,n){return{origin:t,direction:n}}function c(t,n){const r=M.get();return r.origin=t,r.direction=n,r}function h(t,n=s()){return f(t.origin,t.direction,n)}function l(t,n,r=s()){return(0,o.C)(r.origin,t),(0,o.Re)(r.direction,n,t),r}function f(t,n,r=s()){return(0,o.C)(r.origin,t),(0,o.C)(r.direction,n),r}r(32114);const M=new e.I(()=>s());(0,i.vt)(),(0,i.vt)(),(0,i.vt)(),(0,a.vt)()},32114(t,n,r){r.d(n,{Rc:()=>M,rq:()=>l,Km:()=>f}),r(44208);var e=r(26390),a=r(29242),o=r(9093),i=r(82534),s=r(48163),u=r(51850),c=r(91829);class h{constructor(t){this._create=t,this._items=new Array,this._itemsPtr=0}get(){return 0===this._itemsPtr&&(0,e.d)(()=>this._reset()),this._itemsPtr>=this._items.length&&this._items.push(this._create()),this._items[this._itemsPtr++]}_reset(){const t=2*this._itemsPtr;this._items.length>t&&(this._items.length=t),this._itemsPtr=0}static createVec2f64(){return new h(s.vt)}static createVec3f64(){return new h(u.vt)}static createVec4f64(){return new h(c.vt)}static createMat3f64(){return new h(a.vt)}static createMat4f64(){return new h(o.vt)}static createQuatf64(){return new h(i.vt)}get test(){}}h.createVec2f64();const l=h.createVec3f64(),f=h.createVec4f64(),M=(h.createMat3f64(),h.createMat4f64());h.createQuatf64()},85648(t,n,r){r.d(n,{n:()=>a});var e=r(84952);function a(t){return o[function(t){return"json"===t.type?"application/json":"blob"===t.type?t.blob.type:function(t){const n=(0,e.Zo)(t);return u[n]||i}(t.url)}(t)]||s}const o={},i="text/plain",s=o[i],u={png:"image/png",jpeg:"image/jpeg",jpg:"image/jpg",bmp:"image/bmp",gif:"image/gif",json:"application/json",txt:"text/plain",xml:"application/xml",svg:"image/svg+xml",zip:"application/zip",pbf:"application/vnd.mapbox-vector-tile",gz:"application/gzip","bin.gz":"application/octet-stream"};for(const t in u)o[u[t]]=t},49718(t,n,r){r(51850),r(6867).i},6867(t,n,r){r.d(n,{i:()=>h});var e=r(58083),a=r(9093),o=r(35522),i=r(51850),s=r(78955),u=r(91829),c=r(71351);class h{get ray(){return this._ray}get distanceInRenderSpace(){return null==this.distance?null:((0,o.hs)(f,this.ray.direction,this.distance),(0,o.Bw)(f))}withinDistance(t){return!!l(this)&&this.distanceInRenderSpace<=t}getIntersectionPoint(t){return!!l(this)&&((0,o.hs)(f,this.ray.direction,this.distance),(0,o.WQ)(t,this.ray.origin,f),!0)}getTransformedNormal(t){return(0,o.C)(M,this.normal),M[3]=0,(0,s.Z0)(M,M,this.transformation),(0,o.C)(t,M),(0,o.S8)(t,t)}constructor(t){this.intersector=4,this.normal=(0,i.vt)(),this.transformation=(0,a.vt)(),this._ray=(0,c.vt)(),this.init(t)}init(t){this.distance=this.target=this.drapedLayerOrder=this.renderPriority=null,this.intersector=4,(0,c.C)(t,this._ray)}set(t,n,r,s,u,c,h){this.intersector=t,this.distance=r,(0,o.C)(this.normal,s??i.Cb),(0,e.C)(this.transformation,u??a.zK),this.target=n,this.drapedLayerOrder=c,this.renderPriority=h}copy(t){(0,c.C)(t.ray,this._ray),this.intersector=t.intersector,this.distance=t.distance,this.target=t.target,this.drapedLayerOrder=t.drapedLayerOrder,this.renderPriority=t.renderPriority,(0,o.C)(this.normal,t.normal),(0,e.C)(this.transformation,t.transformation)}}function l(t){return null!=t?.distance}const f=(0,i.vt)(),M=(0,u.vt)()},78553(t,n,r){r.d(n,{D:()=>o,p:()=>a});var e=r(56507);function a(t){const n=(0,e.Vr)(100*(1-t));return Math.max(0,Math.min(n,100))}function o(t){const n=1-t/100;return Math.max(0,Math.min(n,1))}}}]);
|