@arcgis/core 5.1.0-next.21 → 5.1.0-next.23
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/analysis/VolumeMeasurement/VolumeMeasurementCutFillOptions.d.ts +1 -0
- package/analysis/VolumeMeasurement/VolumeMeasurementDisplayUnits.d.ts +1 -0
- package/analysis/VolumeMeasurement/VolumeMeasurementInputUnits.d.ts +1 -0
- package/analysis/VolumeMeasurementAnalysis.d.ts +3 -2
- package/assets/esri/core/workers/RemoteClient.js +1 -1
- package/assets/esri/core/workers/chunks/03d11c7056fea763cbac.js +1 -0
- package/assets/esri/core/workers/chunks/05e5b9082c0a396df7e5.js +1 -0
- package/assets/esri/core/workers/chunks/08445fcba84ed7c23b3f.js +1 -0
- package/assets/esri/core/workers/chunks/0c706cdff6eac940eaab.js +1 -0
- package/assets/esri/core/workers/chunks/10a8612e7b2c74a8ce9a.js +1 -0
- package/assets/esri/core/workers/chunks/{2ddb8bb00b3af83ebd7c.js → 14792047c5519dd89828.js} +1 -1
- package/assets/esri/core/workers/chunks/1a1e57267306c07e5bdb.js +1 -0
- package/assets/esri/core/workers/chunks/1bb5aa1e3693e0c68b18.js +1 -0
- package/assets/esri/core/workers/chunks/1cd091fa567fc4026356.js +1 -0
- package/assets/esri/core/workers/chunks/{3ed7f19f77a11fa4d047.js → 2063b49607a03f7718ee.js} +1 -1
- package/assets/esri/core/workers/chunks/{74a6d840813ac29b0bda.js → 209acb3ad16c99bb506c.js} +1 -1
- package/assets/esri/core/workers/chunks/21decfc1e477fb769204.js +1 -0
- package/assets/esri/core/workers/chunks/21e04705cad9fef1b01b.js +1 -0
- package/assets/esri/core/workers/chunks/23cb0611abe1031c513c.js +1 -0
- package/assets/esri/core/workers/chunks/285f3b07de852bfc1604.js +1 -0
- package/assets/esri/core/workers/chunks/2c61a53962093a331225.js +1 -0
- package/assets/esri/core/workers/chunks/2ecfd6edab796194bf88.js +1 -0
- package/assets/esri/core/workers/chunks/2f23af31b1190754ce13.js +1 -0
- package/assets/esri/core/workers/chunks/31eb59eae4c89b76e302.js +1 -0
- package/assets/esri/core/workers/chunks/3e61e7805dc6ff284831.js +1 -0
- package/assets/esri/core/workers/chunks/4150774059d67a8def74.js +1 -0
- package/assets/esri/core/workers/chunks/416c57df61fbd193078b.js +1 -0
- package/assets/esri/core/workers/chunks/46d28a0c20263012faff.js +1 -0
- package/assets/esri/core/workers/chunks/{43c8b1473695574c663e.js → 4754610760f3f634adf9.js} +2 -2
- package/assets/esri/core/workers/chunks/{f5cebeaad3e7d87d7997.js → 4fc6dd1423075e145b29.js} +1 -1
- package/assets/esri/core/workers/chunks/{3861644c06cfebe8f40c.js → 527547fa10d52cb3a7b1.js} +2 -2
- package/assets/esri/core/workers/chunks/5480d4cc342a2669a8ab.js +1 -0
- package/assets/esri/core/workers/chunks/{e8495c655a0a4f534636.js → 551fee27bf3abf0c41fd.js} +1 -1
- package/assets/esri/core/workers/chunks/576995021660e8b34705.js +1 -0
- package/assets/esri/core/workers/chunks/57e375d8a8db9fa57193.js +1 -0
- package/assets/esri/core/workers/chunks/5cbc12545f42a32fb960.js +1 -0
- package/assets/esri/core/workers/chunks/61ebbae0773fccc1f2bf.js +1 -0
- package/assets/esri/core/workers/chunks/63c297b6b7438f49e7ee.js +1 -0
- package/assets/esri/core/workers/chunks/{53f8c1d56ef3b24d2226.js → 6c853fd89f0e9f102c6e.js} +1 -1
- package/assets/esri/core/workers/chunks/{946698d9cefffdb63082.js → 6e32e7b2ea2ea1a1fc04.js} +1 -1
- package/assets/esri/core/workers/chunks/6f12854c5846edfe3239.js +1 -0
- package/assets/esri/core/workers/chunks/{b586f1021a27c5e1551a.js → 7189e03cc24f5c10865a.js} +2 -2
- package/assets/esri/core/workers/chunks/7c417d2bf432e4055b3d.js +30 -0
- package/assets/esri/core/workers/chunks/8021cb732f8136d87048.js +1 -0
- package/assets/esri/core/workers/chunks/84124c1a41a96192f81c.js +1 -0
- package/assets/esri/core/workers/chunks/845bbd82ddacbb62ad28.js +1 -0
- package/assets/esri/core/workers/chunks/868c8a152cb1452b9a94.js +1 -0
- package/assets/esri/core/workers/chunks/879ce85c50b0348056b2.js +1 -0
- package/assets/esri/core/workers/chunks/87a7d405a0b9a541d7f2.js +1 -0
- package/assets/esri/core/workers/chunks/9522430d34d29c1ffb1a.js +1 -0
- package/assets/esri/core/workers/chunks/9647f3983f955da21093.js +1 -0
- package/assets/esri/core/workers/chunks/9694b4b85168a38ca24b.js +1 -0
- package/assets/esri/core/workers/chunks/{83d913dab3c2b0d6a7cc.js → 9736299a4ac0e21f08a7.js} +1 -1
- package/assets/esri/core/workers/chunks/{e7bee85f28d7ec03825a.js → 973e3743cb7fdaa27f80.js} +1 -1
- package/assets/esri/core/workers/chunks/9b2d0d36ee6c04c347df.js +1 -0
- package/assets/esri/core/workers/chunks/{2662750d5761ed2d0eb7.js → 9e7eea56e96f012f9ff4.js} +1 -1
- package/assets/esri/core/workers/chunks/{3f812b0a28afb47aaaf0.js → a35d1be700ebd3109397.js} +2 -2
- package/assets/esri/core/workers/chunks/a4a4ce33de6432ba4dc3.js +1 -0
- package/assets/esri/core/workers/chunks/{aece665144aed2065ffc.js → a78ac951c00f090d9024.js} +1 -1
- package/assets/esri/core/workers/chunks/{0debabe324c873066885.js → aa3bdfd00f666c6cc521.js} +1 -1
- package/assets/esri/core/workers/chunks/{db5bbc240a1b8cd5af52.js → abc2471cfa9430ca5645.js} +1 -1
- package/assets/esri/core/workers/chunks/b2a67fe89f6505498bc3.js +1 -0
- package/assets/esri/core/workers/chunks/b4254fcb2051c873f2ba.js +1 -0
- package/assets/esri/core/workers/chunks/{a53fa34681efff8fc024.js → b859d98fa1c39f8e4099.js} +1 -1
- package/assets/esri/core/workers/chunks/c09bc36347e8eb9fff00.js +1 -0
- package/assets/esri/core/workers/chunks/c2cda93905f0a49a6931.js +1 -0
- package/assets/esri/core/workers/chunks/{3d0aa5f2db79c022243e.js → c794f7be868e53ca4a8c.js} +1 -1
- package/assets/esri/core/workers/chunks/cada79c174027f7a0df8.js +1 -0
- package/assets/esri/core/workers/chunks/d10c65cde3565d399275.js +1 -0
- package/assets/esri/core/workers/chunks/d44217de4c73475f9c66.js +1 -0
- package/assets/esri/core/workers/chunks/d587b7842091affdaac3.js +1 -0
- package/assets/esri/core/workers/chunks/d70678598f4080adfb39.js +1 -0
- package/assets/esri/core/workers/chunks/dad9c25f1b7cacf7b052.js +1 -0
- package/assets/esri/core/workers/chunks/{0facd2c143a04cc7c4ff.js → deee88e3f1641c6ef5db.js} +1 -1
- package/assets/esri/core/workers/chunks/e063cce778944fe97dd3.js +1 -0
- package/assets/esri/core/workers/chunks/e37e7ae2de974cef9a90.js +1 -0
- package/assets/esri/core/workers/chunks/e44ed205f74df34adb8b.js +1 -0
- package/assets/esri/core/workers/chunks/e6220c1fa887e21ffbbd.js +1 -0
- package/assets/esri/core/workers/chunks/{13d1cb50232ae761425b.js → eaeb95be8d4032513247.js} +2 -2
- package/assets/esri/core/workers/chunks/{93515f52d9b5fa12bd04.js → eb4934d3a3b82316c7c6.js} +1 -1
- package/assets/esri/core/workers/chunks/{bfeab15d7ac9a2559fe5.js → f1c1f7583fa13dff9b5c.js} +1 -1
- package/assets/esri/core/workers/chunks/f27bbb4e26297d3c68de.js +1 -0
- package/assets/esri/core/workers/chunks/f4480636a910eaa4c531.js +1 -0
- package/assets/esri/core/workers/chunks/{5b991b0d4ca257291cb0.js → f5c5a9e771074f780fc8.js} +1 -1
- package/assets/esri/core/workers/chunks/f82a95c46f0d579d5bf5.js +1 -0
- package/assets/esri/core/workers/chunks/fb3a42cdd0d3105ec551.js +1 -0
- package/config.js +1 -1
- package/core/MultiOriginJSONSupport.d.ts +1 -1
- package/core/ReadOnlyMultiOriginJSONSupport.d.ts +5 -4
- package/geometry/FlatGeometry.js +1 -1
- package/kernel.js +1 -1
- package/layers/FeatureLayer.d.ts +7 -9
- package/layers/IntegratedMesh3DTilesLayer.js +1 -1
- package/layers/Lyr3DWasmPerSceneView.js +1 -1
- package/layers/graphics/data/QueryEngineResult.js +1 -1
- package/layers/raster/datasets/MRFRaster.js +1 -1
- package/layers/support/SceneModification.js +1 -1
- package/package.json +2 -2
- package/renderers/VectorFieldRenderer.js +1 -1
- package/support/revision.js +1 -1
- package/symbols/cim/SDFHelper.js +1 -1
- package/views/2d/engine/webgl/shaders/sources/shaderRepository.js +1 -1
- package/views/3d/analysis/VolumeMeasurement/VolumeMeasurementError.d.ts +1 -0
- package/views/3d/analysis/VolumeMeasurement/VolumeMeasurementResult.d.ts +1 -0
- package/views/3d/analysis/VolumeMeasurementAnalysisView3D.d.ts +1 -0
- package/views/3d/layers/Lyr3DWorker.js +1 -1
- package/views/3d/layers/SceneLayerWorkerHandle.js +1 -1
- package/views/3d/layers/graphics/Graphics3DExtrudeSymbolLayer.js +1 -1
- package/views/3d/layers/graphics/Graphics3DWaterSymbolLayer.js +1 -1
- package/views/3d/layers/graphics/polygonUtils.js +1 -1
- package/views/3d/webgl-engine/effects/focusArea/FocusAreaColorTechnique.js +1 -1
- package/views/3d/webgl-engine/lib/edgeRendering/EdgeView.js +1 -1
- package/views/3d/webgl-engine/materials/DefaultMaterial.js +1 -1
- package/views/SelectionManager.d.ts +9 -9
- package/views/SelectionManager.js +1 -1
- package/views/layers/FeatureLikeLayerView.d.ts +24 -24
- package/widgets/Editor/CreateFeaturesWorkflow.js +1 -1
- package/widgets/Editor/workflowUtils.js +1 -1
- package/widgets/FeatureTemplates.d.ts +1 -1
- package/widgets/FeatureTemplates.js +1 -1
- package/widgets/Sketch/support/sketchUtils.js +1 -1
- package/assets/esri/core/workers/chunks/026c00ee272c64e53daf.js +0 -1
- package/assets/esri/core/workers/chunks/0883c4e63424d6746ada.js +0 -1
- package/assets/esri/core/workers/chunks/0987cb20148f65222b44.js +0 -1
- package/assets/esri/core/workers/chunks/0a1f88cf16bcbb53b371.js +0 -1
- package/assets/esri/core/workers/chunks/0ca405ca26676137a4be.js +0 -1
- package/assets/esri/core/workers/chunks/0ce968c89c35535da63e.js +0 -1
- package/assets/esri/core/workers/chunks/144c719d5ba9e3a30961.js +0 -1
- package/assets/esri/core/workers/chunks/1503ca177e2466ec0e87.js +0 -1
- package/assets/esri/core/workers/chunks/1597d7b380d510ff5252.js +0 -1
- package/assets/esri/core/workers/chunks/1880c3b293cdfa804625.js +0 -1
- package/assets/esri/core/workers/chunks/1bea32b02d35ddb9b118.js +0 -1
- package/assets/esri/core/workers/chunks/1d78ec98eef7fef08f86.js +0 -1
- package/assets/esri/core/workers/chunks/1e6271524602e159dbad.js +0 -1
- package/assets/esri/core/workers/chunks/1f96d597ba736e088168.js +0 -1
- package/assets/esri/core/workers/chunks/26e41b08efe77d247409.js +0 -1
- package/assets/esri/core/workers/chunks/297b58f29c496923e1f3.js +0 -1
- package/assets/esri/core/workers/chunks/2a2a9fa62969644ea200.js +0 -1
- package/assets/esri/core/workers/chunks/2b296378d21e4e3c11d4.js +0 -1
- package/assets/esri/core/workers/chunks/2cbcf34cf896a438999b.js +0 -1
- package/assets/esri/core/workers/chunks/394b645d51e7bf799382.js +0 -1
- package/assets/esri/core/workers/chunks/50ab9a3f8bbb268fae59.js +0 -1
- package/assets/esri/core/workers/chunks/5b2dd164dd84fd1ca4f7.js +0 -1
- package/assets/esri/core/workers/chunks/62c228ca16fdc7a2c695.js +0 -1
- package/assets/esri/core/workers/chunks/639202a461b17840a13f.js +0 -1
- package/assets/esri/core/workers/chunks/693d269637135047a0c4.js +0 -1
- package/assets/esri/core/workers/chunks/6a14ec2d2de6778a4e7a.js +0 -1
- package/assets/esri/core/workers/chunks/6d3467997b5d01630b08.js +0 -1
- package/assets/esri/core/workers/chunks/6dfcb0c804e63e87e311.js +0 -1
- package/assets/esri/core/workers/chunks/778ab9e4c3928b0d7d74.js +0 -1
- package/assets/esri/core/workers/chunks/8012fdc49a7a10982f78.js +0 -1
- package/assets/esri/core/workers/chunks/85e0fd618625a639387f.js +0 -1
- package/assets/esri/core/workers/chunks/86465d4bb185d7460087.js +0 -1
- package/assets/esri/core/workers/chunks/87e7378b242debbfd575.js +0 -1
- package/assets/esri/core/workers/chunks/90b19e60c056f32623e7.js +0 -1
- package/assets/esri/core/workers/chunks/9461f7225c42cf15a114.js +0 -1
- package/assets/esri/core/workers/chunks/978649cb6df99ee728be.js +0 -1
- package/assets/esri/core/workers/chunks/9f5f4da954228d876219.js +0 -1
- package/assets/esri/core/workers/chunks/a2323c957c8b2fe225b4.js +0 -1
- package/assets/esri/core/workers/chunks/a36a33f43610c3cd985b.js +0 -1
- package/assets/esri/core/workers/chunks/a381932eef77f4d80292.js +0 -1
- package/assets/esri/core/workers/chunks/b089947c9a492c96ca27.js +0 -1
- package/assets/esri/core/workers/chunks/b6e4c35b76379088035c.js +0 -1
- package/assets/esri/core/workers/chunks/b96dce64bdd7487e862a.js +0 -1
- package/assets/esri/core/workers/chunks/c4a78ab84186c7be599a.js +0 -1
- package/assets/esri/core/workers/chunks/c9d600dc6b6b5aafff1c.js +0 -1
- package/assets/esri/core/workers/chunks/ca33847a997ccfe8ddc2.js +0 -1
- package/assets/esri/core/workers/chunks/cca19c9564be2d02a277.js +0 -1
- package/assets/esri/core/workers/chunks/ccc2f2b3db008d8a495f.js +0 -1
- package/assets/esri/core/workers/chunks/d9f900975ac915a0f24f.js +0 -1
- package/assets/esri/core/workers/chunks/dd5d66f067e2386e0514.js +0 -1
- package/assets/esri/core/workers/chunks/eb4ffb72c9360062141c.js +0 -1
- package/assets/esri/core/workers/chunks/ebae903845643d60b44a.js +0 -1
- package/assets/esri/core/workers/chunks/ebb0372e8da0f75c09dd.js +0 -1
- package/assets/esri/core/workers/chunks/f349f64f683620bdf9b5.js +0 -30
- package/assets/esri/core/workers/chunks/f6fb87092bdf6bbf0769.js +0 -1
- package/assets/esri/core/workers/chunks/f76c2b09e6ba9d107898.js +0 -1
- package/assets/esri/core/workers/chunks/fcf962f3dec6b5440983.js +0 -1
- /package/assets/esri/core/workers/chunks/{43c8b1473695574c663e.js.LICENSE.txt → 4754610760f3f634adf9.js.LICENSE.txt} +0 -0
- /package/assets/esri/core/workers/chunks/{3861644c06cfebe8f40c.js.LICENSE.txt → 527547fa10d52cb3a7b1.js.LICENSE.txt} +0 -0
- /package/assets/esri/core/workers/chunks/{b586f1021a27c5e1551a.js.LICENSE.txt → 7189e03cc24f5c10865a.js.LICENSE.txt} +0 -0
- /package/assets/esri/core/workers/chunks/{3f812b0a28afb47aaaf0.js.LICENSE.txt → a35d1be700ebd3109397.js.LICENSE.txt} +0 -0
- /package/assets/esri/core/workers/chunks/{13d1cb50232ae761425b.js.LICENSE.txt → eaeb95be8d4032513247.js.LICENSE.txt} +0 -0
|
@@ -230,7 +230,7 @@ return fallOffFunction(vv, vn, 0.1);
|
|
|
230
230
|
vec2 uvOffset = uv + rf * blurSize;
|
|
231
231
|
blurFunction(uvOffset, rf, center_d, sharpness, w_total, b);
|
|
232
232
|
}
|
|
233
|
-
fragBlur = b / w_total;`),e}const h=Object.freeze(Object.defineProperty({__proto__:null,build:d},Symbol.toStringTag,{value:"Module"}))},43609(e,t,r){r.d(t,{a:()=>o,f:()=>s,n:()=>n});var i=r(34275);function n(e,t){o(e.typedBuffer,t.typedBuffer,e.typedBufferStride,t.typedBufferStride)}function o(e,t,r=2,n=r){const o=t.length/2;let s=0,a=0;if(!(0,i.iu)(t)||(0,i.dk)(t)){for(let i=0;i<o;++i)e[s]=t[a],e[s+1]=t[a+1],s+=r,a+=n;return}const l=(0,i.a3)(t);if((0,i.JI)(t))for(let i=0;i<o;++i)e[s]=Math.max(t[a]/l,-1),e[s+1]=Math.max(t[a+1]/l,-1),s+=r,a+=n;else for(let i=0;i<o;++i)e[s]=t[a]/l,e[s+1]=t[a+1]/l,s+=r,a+=n}function s(e,t,r,i){const n=e.typedBuffer,o=e.typedBufferStride,s=i?.count??e.count;let a=(i?.dstIndex??0)*o;for(let e=0;e<s;++e)n[a]=t,n[a+1]=r,a+=o}Object.freeze(Object.defineProperty({__proto__:null,fill:s,normalizeIntegerBuffer:o,normalizeIntegerBufferView:n},Symbol.toStringTag,{value:"Module"}))},73354(e,t,r){r.d(t,{a:()=>d,b:()=>a,c:()=>s,d:()=>n,e:()=>h,f:()=>u,l:()=>c,n:()=>m,t:()=>o});var i=r(40876);function n(e,t,r){o(e.typedBuffer,t.typedBuffer,r,e.typedBufferStride,t.typedBufferStride)}function o(e,t,r,i=3,n=i){if(e.length/i!==Math.ceil(t.length/n))return e;const o=e.length/i,s=r[0],a=r[1],l=r[2],c=r[4],u=r[5],d=r[6],h=r[8],m=r[9],p=r[10],f=r[12],g=r[13],v=r[14];let _=0,x=0;for(let r=0;r<o;r++){const r=t[_],o=t[_+1],y=t[_+2];e[x]=s*r+c*o+h*y+f,e[x+1]=a*r+u*o+m*y+g,e[x+2]=l*r+d*o+p*y+v,_+=n,x+=i}return e}function s(e,t,r){a(e.typedBuffer,t.typedBuffer,r,e.typedBufferStride,t.typedBufferStride)}function a(e,t,r,i=3,n=i){if(e.length/i!==Math.ceil(t.length/n))return;const o=e.length/i,s=r[0],a=r[1],l=r[2],c=r[3],u=r[4],d=r[5],h=r[6],m=r[7],p=r[8];let f=0,g=0;for(let r=0;r<o;r++){const r=t[f],o=t[f+1],v=t[f+2];e[g]=s*r+c*o+h*v,e[g+1]=a*r+u*o+m*v,e[g+2]=l*r+d*o+p*v,f+=n,g+=i}}function l(e,t,r,i=3,n=i){const o=Math.min(e.length/i,t.length/n);let s=0,a=0;for(let l=0;l<o;l++)e[a]=r*t[s],e[a+1]=r*t[s+1],e[a+2]=r*t[s+2],s+=n,a+=i;return e}function c(e,t,r,i){u(e.typedBuffer,t.typedBuffer,r,i,e.typedBufferStride,t.typedBufferStride)}function u(e,t,r,n,o=3,s=o){const a=Math.min(e.length/o,t.length/s);let l=0,c=0;const u=1/i.Tf;for(let i=0;i<a;i++)e[c]=n*(r*t[l])**u,e[c+1]=n*(r*t[l+1])**u,e[c+2]=n*(r*t[l+2])**u,l+=s,c+=o}function d(e,t,r,i=3,n=i){const o=e.length/i;if(o!==Math.ceil(t.length/n))return e;let s=0,a=0;for(let l=0;l<o;l++)e[a]=t[s]+r[0],e[a+1]=t[s+1]+r[1],e[a+2]=t[s+2]+r[2],s+=n,a+=i;return e}function h(e,t){m(e.typedBuffer,t.typedBuffer,e.typedBufferStride,t.typedBufferStride)}function m(e,t,r=3,i=r){const n=Math.min(e.length/r,t.length/i);let o=0,s=0;for(let a=0;a<n;a++){const n=t[o],a=t[o+1],l=t[o+2],c=n*n+a*a+l*l;if(c>0){const t=1/Math.sqrt(c);e[s]=t*n,e[s+1]=t*a,e[s+2]=t*l}o+=i,s+=r}}r(44208),r(53966),Object.freeze(Object.defineProperty({__proto__:null,linearToSRGB:u,linearToSRGBView:c,normalize:m,normalizeView:h,scale:l,scaleView:function(e,t,r){l(e.typedBuffer,t.typedBuffer,r,e.typedBufferStride,t.typedBufferStride)},shiftRight:function(e,t,r){const i=Math.min(e.count,t.count),n=e.typedBuffer,o=e.typedBufferStride,s=t.typedBuffer,a=t.typedBufferStride;let l=0,c=0;for(let e=0;e<i;e++)n[c]=s[l]>>r,n[c+1]=s[l+1]>>r,n[c+2]=s[l+2]>>r,l+=a,c+=o},transformMat3:a,transformMat3View:s,transformMat4:o,transformMat4View:n,translate:d},Symbol.toStringTag,{value:"Module"}))},69052(e,t,r){r.d(t,{hr:()=>n,ie:()=>l,uC:()=>a});var i=r(34727);class n{constructor(e,t){this.min=e,this.max=t,this.range=t-e}normalize(e,t=0,r=!1){return o(this.range,this.min,this.max,e,t,r)}clamp(e,t=0){return(0,i.qE)(e-t,this.min,this.max)+t}monotonic(e,t,r){return e<t?t:t+s(this.range,e-t,r)}minimalMonotonic(e,t,r){return o(this.range,e,e+this.range,t,r)}center(e,t,r){return t=this.monotonic(e,t,r),this.normalize((e+t)/2,r)}diff(e,t,r){return this.monotonic(e,t,r)-e}shortestSignedDiff(e,t){e=this.normalize(e);const r=(t=this.normalize(t))-e,i=t<e?this.minimalMonotonic(e,t)-e:t-this.minimalMonotonic(t,e);return Math.abs(r)<Math.abs(i)?r:i}contains(e,t,r){return t=this.minimalMonotonic(e,t),(r=this.minimalMonotonic(e,r))>e&&r<t}}function o(e,t,r,i,n=0,o=!1){return(i-=n)<t?i+=s(e,t-i):i>r&&(i-=s(e,i-r)),o&&i===r&&(i=t),i+n}function s(e,t,r=0){return Math.ceil((t-r)/e)*e+r}const a=new n(0,2*Math.PI),l=(new n(-Math.PI,Math.PI),new n(0,360))},81139(e,t,r){r.d(t,{O:()=>i});class i{constructor(){this._outer=new Map}clear(){this._outer.clear()}get empty(){return 0===this._outer.size}get outerSize(){return this._outer.size}get size(){let e=0;for(const t of this._outer.values())e+=t.size;return e}get(e,t){return this._outer.get(e)?.get(t)}getInner(e){return this._outer.get(e)}set(e,t,r){const i=this._outer.get(e);i?i.set(t,r):this._outer.set(e,new Map([[t,r]]))}delete(e,t){const r=this._outer.get(e);r&&(r.delete(t),0===r.size&&this._outer.delete(e))}pop(e,t){const r=this.get(e,t);return this.delete(e,t),r}*outerMap(){for(const e of this._outer)yield e}*values(){for(const e of this._outer.values())yield*e.values()}*[Symbol.iterator](){for(const[e,t]of this._outer)for(const[r,i]of t)yield[e,r,i]}forEach(e){this._outer.forEach((t,r)=>e(t,r))}forAll(e){this._outer.forEach((t,r)=>t.forEach((t,i)=>e(t,r,i)))}copy(){const e=new i;return this.forAll((t,r,i)=>e.set(r,i,t)),e}}},4341(e,t,r){r.d(t,{I:()=>n});var i=r(26390);class n{constructor(e){this._allocator=e,this._items=[],this._itemsPtr=0,this._grow()}get(){return 0===this._itemsPtr&&(0,i.d)(()=>this._reset()),this._itemsPtr===this._items.length&&this._grow(),this._items[this._itemsPtr++]}_reset(){const e=Math.min(3*Math.max(8,this._itemsPtr),this._itemsPtr+3*o);this._items.length=Math.min(e,this._items.length),this._itemsPtr=0}_grow(){for(let e=0;e<Math.max(8,Math.min(this._items.length,o));e++)this._items.push(this._allocator())}}const o=1024},46140(e,t,r){r.d(t,{A:()=>n});var i=r(49186);class n{constructor(e,t,r=""){this.major=e,this.minor=t,this._context=r}lessThan(e,t){return this.major<e||e===this.major&&this.minor<t}greaterEqual(e,t){return!this.lessThan(e,t)}toString(){return`${this.major}.${this.minor}`}validate(e){if(this.major!==e.major){const t=this._context&&this._context+":",r=this._context&&this._context+" ";throw new i.A(t+"unsupported-version",`Required major ${r}version is '${this.major}', but got '\${version.major}.\${version.minor}'`,{version:e})}}clone(){return new n(this.major,this.minor,this._context)}static parse(e,t=""){const[r,o]=e.split("."),s=/^\s*\d+\s*$/;if(!r?.match||!s.test(r))throw new i.A((t&&t+":")+"invalid-version","Expected major version to be a number, but got '${version}'",{version:e});if(!o?.match||!s.test(o))throw new i.A((t&&t+":")+"invalid-version","Expected minor version to be a number, but got '${version}'",{version:e});const a=parseInt(r,10),l=parseInt(o,10);return new n(a,l,t)}}},61473(e,t,r){function i(e){return e=e||globalThis.location.hostname,c.some(t=>null!=e?.match(t))}function n(e,t){return e?(t=t||globalThis.location.hostname)?null!=t.match(o)||null!=t.match(a)?e.replace("static.arcgis.com","staticdev.arcgis.com"):null!=t.match(s)||null!=t.match(l)?e.replace("static.arcgis.com","staticqa.arcgis.com"):e:e:null}r.d(t,{EM:()=>n,b5:()=>i});const o=/^devext\.arcgis\.com$/,s=/^qaext\.arcgis\.com$/,a=/^[\w-]*\.mapsdevext\.arcgis\.com$/,l=/^[\w-]*\.mapsqa\.arcgis\.com$/,c=[/^([\w-]*\.)?[\w-]*\.zrh-dev-local\.esri\.com$/,o,s,/^jsapps\.esri\.com$/,a,l]},88340(e,t,r){function i(){return new Float32Array(2)}function n(e,t){const r=new Float32Array(2);return r[0]=e,r[1]=t,r}function o(){return i()}function s(){return n(1,1)}function a(){return n(1,0)}function l(){return n(0,1)}r.d(t,{Un:()=>u,fA:()=>n,uY:()=>c,vt:()=>i});const c=o(),u=s(),d=a(),h=l();Object.freeze(Object.defineProperty({__proto__:null,ONES:u,UNIT_X:d,UNIT_Y:h,ZEROS:c,clone:function(e){const t=new Float32Array(2);return t[0]=e[0],t[1]=e[1],t},create:i,fromValues:n,ones:s,unitX:a,unitY:l,zeros:o},Symbol.toStringTag,{value:"Module"}))},69397(e,t,r){r.d(t,{Qf:()=>l,Qh:()=>s,RS:()=>n,Ul:()=>m,lM:()=>o,qK:()=>u});var i=r(34275);const n=16;function o(e){if(!e)return 0;let t=u;for(const r in e)e.hasOwnProperty(r)&&(t+=a(e[r],!1));return t}function s(e){if(!e)return 0;if("number"==typeof e[0])return l(e);if(Array.isArray(e))return function(e){const t=e.length;if(0===t||"number"==typeof e[0])return c(e,8);let r=d;for(let i=0;i<t;i++)r+=a(e[i]);return r}(e);let t=u;for(const r in e)e.hasOwnProperty(r)&&(t+=a(e[r]));return t}function a(e,t=!0){switch(typeof e){case"object":return t?s(e):u;case"string":return function(e){return 32+e.length}(e);case"number":return n;case"boolean":return 4;default:return 8}}function l(...e){return e.reduce((e,t)=>e+(t?(0,i.iu)(t)?t.byteLength+h:Array.isArray(t)?c(t,n):0:0),0)}function c(e,t){return d+e.length*t}const u=32,d=16,h=145,m=64},65806(e,t,r){r.d(t,{g:()=>s});var i=r(51850),n=r(91218),o=r(9762);function s(e,t,r,i){if((0,n.canProjectWithoutEngine)(e.spatialReference,r))return a[0]=e.x,a[1]=e.y,a[2]=e.z??0,(0,o.projectBuffer)(a,e.spatialReference,0,t,r,0);const s=(0,n.tryProject)(e,r,i);return!!s&&(t[0]=s.x,t[1]=s.y,t[2]=s.z??0,!0)}const a=(0,i.vt)()},27993(e,t,r){r.d(t,{F:()=>a});var i=r(91218),n=r(16930),o=r(9762),s=r(65806);function a(e,t,r,n){return!(null==t||null==n||e.length<2)&&((0,i.canProjectWithoutEngine)(t,n)?(0,o.projectBuffer)(e,t,0,r,n,0,1):(l.x=e[0],l.y=e[1],l.z=e[2],l.spatialReference=t,(0,s.g)(l,r,n)))}const l={x:0,y:0,z:0,hasZ:!0,hasM:!1,spatialReference:n.A.WGS84,type:"point"}},97146(e,t,r){r.d(t,{Dg:()=>o,my:()=>s,tM:()=>u,uW:()=>n});var i=r(34275);function n(e){return o(e,!0)}function o(e,t){if(Array.isArray(e)){if(e.length<i.y9)return e}else if(e.length<i.y9)return Array.from(e);let r=!0,n=!0;return e.some((e,t)=>(r=r&&0===e,n=n&&e===t,!r&&!n)),r?function(e){if(1===e)return l;if(e<i.y9)return new Array(e).fill(0);if(e>h.length){const t=Math.max(2*h.length,e);h=new Uint8Array(t)}return new Uint8Array(h.buffer,0,e)}(e.length):n?u(e.length):(0,i.iu)(e)&&e.BYTES_PER_ELEMENT===Uint16Array.BYTES_PER_ELEMENT?e:function(e,t){for(const r of e){if(r>=65536)return(0,i.iu)(e)?e:new Uint32Array(e);r>=256&&(t=!1)}return t?new Uint8Array(e):new Uint16Array(e)}(e,!t)}function s(e){return e<=i.y9?new Array(e):e<=65536?new Uint16Array(e):new Uint32Array(e)}let a=d(131072);const l=[0],c=(()=>{const e=new Uint16Array(65536);for(let t=0;t<e.length;++t)e[t]=t;return e})();function u(e){return 1===e?l:e<i.y9?Array.from(new Uint16Array(c.buffer,0,e)):e<c.length?new Uint16Array(c.buffer,0,e):(e>a.length&&(a=d(Math.max(2*a.length,e))),new Uint32Array(a.buffer,0,e))}function d(e){const t=new Uint32Array(e);for(let e=0;e<t.length;e++)t[e]=e;return t}let h=new Uint8Array(65536)},90239(e,t,r){function i(e){switch(e){case"u8":case"i8":return 1;case"u16":case"i16":case"f16":return 2;case"u32":case"i32":case"f32":return 4;case"f64":return 8}}r.d(t,{GJ:()=>i})},82919(e,t,r){r.d(t,{DV:()=>v,C:()=>f,vt:()=>m,Qy:()=>p,ui:()=>g,ST:()=>y,bU:()=>w,pw:()=>x,m7:()=>_,c8:()=>M});var i=r(4341),n=r(58083),o=r(35522),s=r(51850),a=r(78955),l=r(91829),c=r(71351);function u(e){return e?{ray:(0,c.vt)(e.ray),c0:e.c0,c1:e.c1}:{ray:(0,c.vt)(),c0:0,c1:Number.MAX_VALUE}}new i.I(()=>u());var d=r(27921),h=r(32114);function m(e){return e?[(0,d.vt)(e[0]),(0,d.vt)(e[1]),(0,d.vt)(e[2]),(0,d.vt)(e[3]),(0,d.vt)(e[4]),(0,d.vt)(e[5])]:[(0,d.vt)(),(0,d.vt)(),(0,d.vt)(),(0,d.vt)(),(0,d.vt)(),(0,d.vt)()]}function p(){return[(0,s.vt)(),(0,s.vt)(),(0,s.vt)(),(0,s.vt)(),(0,s.vt)(),(0,s.vt)(),(0,s.vt)(),(0,s.vt)()]}function f(e,t){for(let r=0;r<T;r++)(0,d.C)(e[r],t[r]);return e}function g(e,t,r,i=E){const s=(0,n.lw)(h.Rc.get(),t,e);(0,n.B8)(s,s);for(let e=0;e<S;++e){const t=(0,a.Z0)(h.Km.get(),C[e],s);(0,o.hZ)(i[e],t[0]/t[3],t[1]/t[3],t[2]/t[3])}v(r,i)}function v(e,t){(0,d.Cr)(t[4],t[0],t[3],e[0]),(0,d.Cr)(t[1],t[5],t[6],e[1]),(0,d.Cr)(t[4],t[5],t[1],e[2]),(0,d.Cr)(t[3],t[2],t[6],e[3]),(0,d.Cr)(t[0],t[1],t[2],e[4]),(0,d.Cr)(t[5],t[4],t[7],e[5])}function _(e,t){for(let r=0;r<T;r++){const i=e[r];if(i[0]*t.center[0]+i[1]*t.center[1]+i[2]*t.center[2]+i[3]>=t.radius)return!1}return!0}function x(e,t){return b(e,function(e,t=u()){return(0,c.C)(e,t.ray),t.c0=0,t.c1=Number.MAX_VALUE,t}(t,A.get()))}function y(e,t,r){return b(e,function(e,t,r=u()){const i=(0,o.Bw)(e.vector);return(0,c.fA)(e.origin,t,r.ray),r.c0=0,r.c1=i,r}(t,r,A.get()))}function w(e,t){for(let r=0;r<T;r++)if((0,d.mN)(e[r],t)>0)return!1;return!0}function b(e,t){for(let r=0;r<T;r++)if(!(0,d.$Q)(e[r],t))return!1;return!0}const M={bottom:[5,1,0,4],near:[0,1,2,3],far:[5,4,7,6],right:[1,5,6,2],left:[4,0,3,7],top:[7,3,2,6]},T=6,S=8,C=[(0,l.fA)(-1,-1,-1,1),(0,l.fA)(1,-1,-1,1),(0,l.fA)(1,1,-1,1),(0,l.fA)(-1,1,-1,1),(0,l.fA)(-1,-1,1,1),(0,l.fA)(1,-1,1,1),(0,l.fA)(1,1,1,1),(0,l.fA)(-1,1,1,1)],A=new i.I(u),E=p()},11964(e,t,r){r.d(t,{Cr:()=>u,LV:()=>c,_I:()=>d,vt:()=>l});var i=r(34727),n=r(4341),o=r(35522),s=r(51850),a=r(32114);function l(e){return e?{origin:(0,s.o8)(e.origin),vector:(0,s.o8)(e.vector)}:{origin:(0,s.vt)(),vector:(0,s.vt)()}}function c(e,t){const r=h.get();return r.origin=e,r.vector=t,r}function u(e,t,r=l()){return(0,o.C)(r.origin,e),(0,o.Re)(r.vector,t,e),r}function d(e,t,r){return function(e,t,r,n,s){const{vector:l,origin:c}=e,u=(0,o.Re)(a.rq.get(),t,c),d=(0,o.Om)(l,u)/(0,o.m3)(l);return(0,o.hs)(s,l,(0,i.qE)(d,0,1)),(0,o.WQ)(s,s,e.origin)}(e,t,0,0,r)}(0,s.vt)(),(0,s.vt)();const h=new n.I(()=>l())},17136(e,t,r){r.d(t,{Y_:()=>E,O7:()=>C,el:()=>S});var i=r(92602),n=r(69052),o=r(49186),s=r(53966),a=r(39829),l=r(82799),c=r(16930),u=r(80754),d=r(21325),h=r(28735),m=r(11254),p=r(60408),f=r(65864),g=r(2272),v=r(84952),_=r(92300);const x=()=>s.A.getLogger("esri.geometry.support.normalizeUtils");function y(e){return"polygon"===e[0].type}function w(e){return"polyline"===e[0].type}function b(e,t,r){if(t){const t=function(e,t){if(!(e instanceof l.A||e instanceof a.A)){const e="straightLineDensify: the input geometry is neither polyline nor polygon";throw x().error(e),new o.A("internal:geometry",e)}const r=(0,u.r8)(e),i=[];for(const e of r){const r=[];i.push(r),r.push([e[0][0],e[0][1]]);for(let i=0;i<e.length-1;i++){const n=e[i][0],o=e[i][1],s=e[i+1][0],a=e[i+1][1],l=Math.sqrt((s-n)*(s-n)+(a-o)*(a-o)),c=(a-o)/l,u=(s-n)/l,d=l/t;if(d>1){for(let e=1;e<=d-1;e++){const i=e*t,s=u*i+n,a=c*i+o;r.push([s,a])}const e=(l+Math.floor(d-1)*t)/2,i=u*e+n,s=c*e+o;r.push([i,s])}r.push([s,a])}}return function(e){return"polygon"===e.type}(e)?new a.A({rings:i,spatialReference:e.spatialReference}):new l.A({paths:i,spatialReference:e.spatialReference})}(e,1e6);e=(0,h.ci)(t,!0)}return r&&(e=(0,u.kS)(e,r)),e}function M(e,t,r){if(Array.isArray(e)){const i=e[0];if(i>t){const r=(0,u.kd)(i,t);e[0]=i+r*(-2*t)}else if(i<r){const t=(0,u.kd)(i,r);e[0]=i+t*(-2*r)}}else{const i=e.x;if(i>t){const r=(0,u.kd)(i,t);e=e.clone().offset(r*(-2*t),0)}else if(i<r){const t=(0,u.kd)(i,r);e=e.clone().offset(t*(-2*r),0)}}return e}function T(e,t){let r=-1;for(let i=0;i<t.cutIndexes.length;i++){const n=t.cutIndexes[i],o=t.geometries[i],s=(0,u.r8)(o);for(let e=0;e<s.length;e++){const t=s[e];t.some(r=>{if(r[0]<180)return!0;{let r=0;for(let e=0;e<t.length;e++){const i=t[e][0];r=i>r?i:r}r=Number(r.toFixed(9));const i=-360*(0,u.kd)(r,180);for(let r=0;r<t.length;r++){const t=o.getPoint(e,r);o.setPoint(e,r,t.clone().offset(i,0))}return!0}})}if(n===r){if(y(e))for(const t of(0,u.r8)(o))e[n]=e[n].addRing(t);else if(w(e))for(const t of(0,u.r8)(o))e[n]=e[n].addPath(t)}else r=n,e[n]=o}return e}async function S(e,t,r){if(!Array.isArray(e))return S([e],t);t&&"string"!=typeof t&&x().warn("normalizeCentralMeridian()","The url object is deprecated, use the url string instead");const n="string"==typeof t?t:t?.url??i.A.geometryServiceUrl;let o,s,c,y,w,C,A,E,R=0;const I=[],O=[];for(const t of e)if(null!=t)if(o||(o=t.spatialReference,s=(0,d.Vp)(o),c=o.isWebMercator,C=c?102100:4326,y=u.j7[C].maxX,w=u.j7[C].minX,A=u.j7[C].plus180Line,E=u.j7[C].minus180Line),s)if("mesh"===t.type)O.push(t);else if("point"===t.type)O.push(M(t.clone(),y,w));else if("multipoint"===t.type){const e=t.clone();e.points=e.points.map(e=>M(e,y,w)),O.push(e)}else if("extent"===t.type){const e=t.clone()._normalize(!1,!1,s);O.push(e.rings?new a.A(e):e)}else if(t.extent){const e=t.extent,r=(0,u.kd)(e.xmin,w)*(2*y);let i=0===r?t.clone():(0,u.kS)(t.clone(),r);e.offset(r,0);let{xmin:n,xmax:o}=e;n=Number(n.toFixed(9)),o=Number(o.toFixed(9)),e.intersects(A)&&o!==y?(R=o>R?o:R,i=b(i,c),I.push(i),O.push("cut")):e.intersects(E)&&n!==w?(R=o*(2*y)>R?o*(2*y):R,i=b(i,c,360),I.push(i),O.push("cut")):O.push(i)}else O.push(t.clone());else O.push(t);else O.push(t);let F=(0,u.kd)(R,y),P=-90;const D=F,N=new l.A;for(;F>0;){const e=360*F-180;N.addPath([[e,P],[e,-1*P]]),P*=-1,F--}if(I.length>0&&D>0){const t=T(I,await async function(e,t,r,i){const n=(0,g.Dl)(e),o=t[0].spatialReference,s={...i,responseType:"json",query:{...n.query,f:"json",sr:(0,d.YX)(o),target:JSON.stringify({geometryType:(0,p.$B)(t[0]),geometries:t}),cutter:JSON.stringify(r)}},a=await(0,m.A)(n.path+"/cut",s),{cutIndexes:l,geometries:c=[]}=a.data;return{cutIndexes:l,geometries:c.map(e=>{const t=(0,f.rS)(e);return t.spatialReference=o,t})}}(n,I,N,r)),i=[],o=[];for(let r=0;r<O.length;r++){const n=O[r];if("cut"!==n)o.push(n);else{const n=t.shift(),s=e[r];null!=s&&"polygon"===s.type&&s.rings&&s.rings.length>1&&n.rings.length>=s.rings.length?(i.push(n),o.push("simplify")):o.push(c?(0,h.Gh)(n):n)}}if(!i.length)return o;const s=await async function(e,t,r){const i="string"==typeof e?(0,v.An)(e):e,n=t[0].spatialReference,o=(0,p.$B)(t[0]),s={...r,query:{...i.query,f:"json",sr:(0,d.YX)(n),geometries:JSON.stringify((0,_.X)(t))}},{data:a}=await(0,m.A)(i.path+"/simplify",s);return(0,_.V)(a.geometries,o,n)}(n,i,r),a=[];for(let e=0;e<o.length;e++){const t=o[e];"simplify"!==t?a.push(t):a.push(c?(0,h.Gh)(s.shift()):s.shift())}return a}const H=[];for(let e=0;e<O.length;e++){const t=O[e];if("cut"!==t)H.push(t);else{const e=I.shift();H.push(!0===c?(0,h.Gh)(e):e)}}return H}function C(e,t,r){const i=(0,d.Vp)(r);if(null==i)return e;const[n,o]=i.valid,s=2*o;let a=0,l=0;t>o?a=Math.ceil(Math.abs(t-o)/s):t<n&&(a=-Math.ceil(Math.abs(t-n)/s)),e>o?l=Math.ceil(Math.abs(e-o)/s):e<n&&(l=-Math.ceil(Math.abs(e-n)/s));let c=e+(a-l)*s;const u=c-t;return u>o?c-=s:u<n&&(c+=s),c}function A(e){const t=(0,d.Vp)(e);if(null==t)return null;const[r,i]=t.valid;return new n.hr(r,i)}const E=A(c.A.WGS84);A(c.A.WebMercator)},80754(e,t,r){r.d(t,{j7:()=>s,kS:()=>l,kd:()=>a,r8:()=>c});var i=r(82799),n=r(16930),o=r(60408);const s={102100:{maxX:20037508.342788905,minX:-20037508.342788905,plus180Line:new i.A({paths:[[[20037508.342788905,-20037508.342788905],[20037508.342788905,20037508.342788905]]],spatialReference:n.A.WebMercator}),minus180Line:new i.A({paths:[[[-20037508.342788905,-20037508.342788905],[-20037508.342788905,20037508.342788905]]],spatialReference:n.A.WebMercator})},4326:{maxX:180,minX:-180,plus180Line:new i.A({paths:[[[180,-180],[180,180]]],spatialReference:n.A.WGS84}),minus180Line:new i.A({paths:[[[-180,-180],[-180,180]]],spatialReference:n.A.WGS84})}};function a(e,t){return Math.ceil((e-t)/(2*t))}function l(e,t){const r=c(e);for(const e of r)for(const r of e)r[0]+=t;return e}function c(e){return(0,o.Bi)(e)?e.rings:e.paths}},71351(e,t,r){r.d(t,{C:()=>u,Cr:()=>d,LV:()=>c,fA:()=>h,oC:()=>m,vt:()=>a}),r(4576);var i=r(4341),n=(r(77690),r(29242)),o=r(35522),s=r(51850);function a(e){return e?l((0,s.o8)(e.origin),(0,s.o8)(e.direction)):l((0,s.vt)(),(0,s.vt)())}function l(e,t){return{origin:e,direction:t}}function c(e,t){const r=p.get();return r.origin=e,r.direction=t,r}function u(e,t=a()){return h(e.origin,e.direction,t)}function d(e,t,r=a()){return(0,o.C)(r.origin,e),(0,o.Re)(r.direction,t,e),r}function h(e,t,r=a()){return(0,o.C)(r.origin,e),(0,o.C)(r.direction,t),r}function m(e,t,r){const i=(0,o.Om)(e.direction,(0,o.Re)(r,t,e.origin));return(0,o.WQ)(r,e.origin,(0,o.hs)(r,e.direction,i)),r}r(32114);const p=new i.I(()=>a());(0,s.vt)(),(0,s.vt)(),(0,s.vt)(),(0,n.vt)()},94008(e,t,r){r.d(t,{iy:()=>m}),r(44208),r(53966);var i=r(34727),n=r(34304),o=r(58083),s=r(35522),a=r(51850),l=r(91829),c=r(34275);var u=r(71351),d=r(44280),h=r(32114);class m{constructor(e=0,t=0,r=0,i=0){this.radius=i,"number"==typeof e?this._center=(0,a.fA)(e,t,r):function(e){return t=e,(0,c.vZ)(t)&&t.length>=3||function(e){return((0,c.aI)(e)||Array.isArray(e))&&e.length>=3}(e);var t}(e)||function(e){return(t=e)instanceof Float32Array&&t.length>=4||function(e){return Array.isArray(e)&&e.length>=4}(e);var t}(e)?(this._center=(0,a.ci)(e),this.radius=4===e.length?e[3]:t):(this._center=(0,a.o8)(e.center),this.radius=e.radius)}get isValid(){return this.radius>=0}invalidate(){this.radius=-1}get center(){return this._center}set center(e){(0,s.C)(this.center,e)}exactEquals(e){return(0,s.aI)(this._center,e.center)&&this.radius===e.radius}copyFrom(e){return e!==this&&((0,s.C)(this._center,e.center),this.radius=e.radius),this}clone(){return new m(this.center,this.radius)}toVec4(){return(0,l.fA)(this.center[0],this.center[1],this.center[2],this.radius)}contains(e){return(0,s.hG)(this.center,e)<=this.radius**2}intersectRay(e,t){if(null==e)return!1;if(!this._intersect(e,p))return!1;let{t0:r,t1:i}=p;if((r<0||i<r&&i>0)&&(r=i),r<0)return!1;if(t){const{origin:i,direction:n}=e;t[0]=i[0]+n[0]*r,t[1]=i[1]+n[1]*r,t[2]=i[2]+n[2]*r}return!0}intersectLine(e,t){const r=(0,u.Cr)(e,t);if(!this._intersect(r,p))return[];const{origin:i,direction:o}=r,{t0:l,t1:c}=p,d=e=>{const t=(0,a.vt)();return(0,s.Ln)(t,i,o,e),this.projectPoint(t,t)};return Math.abs(l-c)<(0,n.FD)()?[d(l)]:[d(l),d(c)]}_intersect(e,t){const{origin:r,direction:i}=e,n=f;n[0]=r[0]-this.center[0],n[1]=r[1]-this.center[1],n[2]=r[2]-this.center[2];const o=i[0]*i[0]+i[1]*i[1]+i[2]*i[2];if(0===o)return!1;const s=2*(i[0]*n[0]+i[1]*n[1]+i[2]*n[2]),a=s*s-4*o*(n[0]*n[0]+n[1]*n[1]+n[2]*n[2]-this.radius**2);if(a<0)return!1;const l=Math.sqrt(a);return t.t0=(-s-l)/(2*o),t.t1=(-s+l)/(2*o),!0}projectPoint(e,t){const r=(0,s.Re)(h.rq.get(),e,this.center),i=(0,s.hs)(h.rq.get(),r,this.radius/(0,s.Bw)(r));return(0,s.WQ)(t,i,this.center)}closestPointOnSilhouette(e,t){const r=h.rq.get(),i=h.Rc.get();(0,s.$A)(r,e.origin,e.direction),(0,s.$A)(t,r,e.origin),(0,s.hs)(t,t,1/(0,s.Bw)(t)*this.radius);const n=this._angleToSilhouette(e.origin),a=(0,d.g7)(e.origin,t);return(0,o.$0)(i,a+n,r),(0,s.Z0)(t,t,i),t}frustumCoverage(e,t,r){const i=this.radius,n=i*i,o=e+.5*Math.PI,s=t*t+n-2*Math.cos(o)*t*i,a=Math.sqrt(s),l=s-n;if(l<=0)return.5;const c=Math.sqrt(l),u=Math.acos(c/a)-Math.asin(i/(a/Math.sin(o)));return Math.min(1,(u+.5*r)/r)}_angleToSilhouette(e){const t=(0,s.Re)(h.rq.get(),e,this.center),r=(0,s.Bw)(t),n=this.radius,o=n+Math.abs(n-r);return(0,i.XM)(n/o)}union(e){const t=(0,s.Io)(this._center,e.center),r=this.radius,i=e.radius;return t+i<r?this:t+r<i?(this.copyFrom(e),this):((0,s.Cc)(this._center,this._center,e.center,(t+i-r)/(2*t)),this.radius=(t+r+i)/2,this)}toJSON(){return{center:this.center,radius:this.radius}}}new m;const p={t0:0,t1:0},f=(0,a.vt)();(0,a.vt)(),(0,a.vt)()},38969(e,t,r){r.d(t,{i:()=>n});var i=r(37955);function n(e,t){return new Promise((r,n)=>{e.readyState>=HTMLMediaElement.HAVE_CURRENT_DATA?r():(t((0,i.Oo)(e,"canplay",r)),t((0,i.Oo)(e,"error",n)))})}},92300(e,t,r){r.d(t,{V:()=>s,X:()=>o});var i=r(60408),n=r(65864);function o(e){return{geometryType:(0,i.$B)(e[0]),geometries:e.map(e=>e.toJSON())}}function s(e,t,r){const i=(0,n.xD)(t);return e.map(e=>{const t=i.fromJSON(e);return t.spatialReference=r,t})}},21015(e,t,r){r.d(t,{R:()=>l});var i=r(11254),n=r(60999),o=r(49186),s=r(74887),a=r(84952);class l{constructor(e=e=>e){this._resolveURI=e}async loadJSON(e,t){return this._load("json",e,t)}async loadBinary(e,t){return(0,a.DB)(e)?((0,s.Te)(t),(0,a.lJ)(e)):this._load("array-buffer",e,t)}async loadImage(e,t){return this._load("image",e,t)}async _load(e,t,r){t=this._resolveURI(t);const a=await(0,n.Ke)((0,i.A)(t,{responseType:e,...r}));if(a.ok)return a.value.data;throw(0,s.QP)(a.error),new o.A("gltf-loader-request-error",`Request for resource failed: ${a.error}`)}}},84498(e,t,r){r.d(t,{x:()=>s});var i=r(34275),n=r(97146),o=r(63907);function s(e,t){switch(t){case o.WR.TRIANGLES:return function(e){return"number"==typeof e?(0,n.tM)(e):(0,i.mg)(e)?new Uint16Array(e):e}(e);case o.WR.TRIANGLE_STRIP:return function(e){const t="number"==typeof e?e:e.length;if(t<3)return[];const r=t-2,i=(0,n.my)(3*r);if("number"==typeof e){let e=0;for(let t=0;t<r;t+=1)t%2==0?(i[e++]=t,i[e++]=t+1,i[e++]=t+2):(i[e++]=t+1,i[e++]=t,i[e++]=t+2)}else{let t=0;for(let n=0;n<r;n+=1)n%2==0?(i[t++]=e[n],i[t++]=e[n+1],i[t++]=e[n+2]):(i[t++]=e[n+1],i[t++]=e[n],i[t++]=e[n+2])}return i}(e);case o.WR.TRIANGLE_FAN:return function(e){const t="number"==typeof e?e:e.length;if(t<3)return new Uint16Array(0);const r=t-2,i=r<=65536?new Uint16Array(3*r):new Uint32Array(3*r);if("number"==typeof e){let e=0;for(let t=0;t<r;++t)i[e++]=0,i[e++]=t+1,i[e++]=t+2;return i}const n=e[0];let o=e[1],s=0;for(let t=0;t<r;++t){const r=e[t+2];i[s++]=n,i[s++]=o,i[s++]=r,o=r}return i}(e)}}},51530(e,t,r){r.d(t,{KB:()=>s,Xi:()=>n,pn:()=>a,x3:()=>o});var i=r(44208);class n{constructor(e){this.data=e,this.type="encoded-mesh-texture",this.encoding="image/ktx2"}}function o(e){return"encoded-mesh-texture"===e?.type}async function s(e){const t=new Blob([e]),r=await t.text();return JSON.parse(r)}async function a(e,t){if("image/ktx2"===t)return new n(e);const r=new Blob([e],{type:t});let o=URL.createObjectURL(r);switch(t){case"image/jpeg":o+="#.jpg";break;case"image/png":o+="#.png"}const s=new Image;if((0,i.A)("esri-iPhone"))return new Promise((e,t)=>{const r=()=>{n(),e(s)},i=e=>{n(),t(e)},n=()=>{URL.revokeObjectURL(o),s.removeEventListener("load",r),s.removeEventListener("error",i)};s.addEventListener("load",r),s.addEventListener("error",i),s.src=o});try{s.src=o,await s.decode()}catch(e){console.warn("Failed decoding HTMLImageElement")}return URL.revokeObjectURL(o),s}},46154(e,t,r){r.d(t,{fetch:()=>Mr});var i=r(40876),n=r(61473),o=r(34727),s=r(77690),a=r(29242),l=r(58083),c=r(9093),u=r(48163),d=r(35522),h=r(51850),m=r(70328),p=r(34275);function f(e,t=!1){return e<=p.y9?t?new Array(e).fill(0):new Array(e):new Float32Array(e)}var g=r(13030),v=r(73354),_=r(65686),x=r(43609),y=r(21015),w=r(84498),b=r(51530),M=r(88340);function T(e){if(null==e)return null;const t=null!=e.offset?e.offset:M.uY,r=null!=e.rotation?e.rotation:0,i=null!=e.scale?e.scale:M.Un,n=(0,a.fA)(1,0,0,0,1,0,t[0],t[1],1),o=(0,a.fA)(Math.cos(r),-Math.sin(r),0,Math.sin(r),Math.cos(r),0,0,0,1),l=(0,a.fA)(i[0],0,0,0,i[1],0,0,0,1),c=(0,a.vt)();return(0,s.lw)(c,o,l),(0,s.lw)(c,n,c),c}class S{constructor(){this.geometries=new Array,this.materials=new Array,this.textures=new Array}}class C{constructor(e,t,r){this.name=e,this.lodThreshold=t,this.pivotOffset=r,this.stageResources=new S,this.numberOfVertices=0}}var A=r(11254),E=r(60999),R=r(49186),I=r(53966),O=r(69397),F=r(81139),P=r(74887),D=r(46140),N=r(97146);async function H(e,t){return(await(0,A.A)(e,{responseType:"image",...t})).data}var L=r(46610),B=r(20498);function z(e){if(e.length<p.y9)return Array.from(e);if(Array.isArray(e))return Float64Array.from(e);if(!("BYTES_PER_ELEMENT"in e))return Array.from(e);switch(e.BYTES_PER_ELEMENT){case 1:return Uint8Array.from(e);case 2:return(0,p.LW)(e)?(0,B.pX)().from(e):(0,p.jq)(e)?Uint16Array.from(e):Int16Array.from(e);case 4:return Float32Array.from(e);default:return Float64Array.from(e)}}var U=r(15142),G=r(620);class V{get center(){return(0,h.fA)(this._data[0],this._data[1],this._data[2])}get radius(){return this._data[3]}get bbMin(){return(0,h.fA)(this._data[4],this._data[5],this._data[6])}get bbMax(){return(0,h.fA)(this._data[7],this._data[8],this._data[9])}constructor(e,t,r){this.primitiveIndices=e,this._numIndexPerPrimitive=t,this.position=r,this._data=[.1,0,0,0,0,0,0,0,0,0],this._children=void 0,(0,G.vA)(e.length>=1),(0,G.vA)(3===r.size||4===r.size);const{data:i,size:n,indices:o}=r;(0,G.vA)(o.length%this._numIndexPerPrimitive===0),(0,G.vA)(o.length>=e.length*this._numIndexPerPrimitive);const s=e.length;let a=n*o[this._numIndexPerPrimitive*e[0]];j.clear(),j.push(a);const l=(0,h.fA)(i[a],i[a+1],i[a+2]),c=(0,h.o8)(l);for(let t=0;t<s;++t){const r=this._numIndexPerPrimitive*e[t];for(let e=0;e<this._numIndexPerPrimitive;++e){a=n*o[r+e],j.push(a);let t=i[a];l[0]=Math.min(t,l[0]),c[0]=Math.max(t,c[0]),t=i[a+1],l[1]=Math.min(t,l[1]),c[1]=Math.max(t,c[1]),t=i[a+2],l[2]=Math.min(t,l[2]),c[2]=Math.max(t,c[2])}}for(let e=0;e<3;++e)this._data[4+e]=l[e],this._data[7+e]=c[e];const u=(0,d.Cc)((0,h.vt)(),this.bbMin,this.bbMax,.5);let m=.5*Math.max(Math.max(c[0]-l[0],c[1]-l[1]),c[2]-l[2]),p=m*m;for(let e=0;e<j.length;++e){a=j.at(e);const t=i[a]-u[0],r=i[a+1]-u[1],n=i[a+2]-u[2],o=t*t+r*r+n*n;if(o<=p)continue;const s=Math.sqrt(o),l=.5*(s-m);m+=l,p=m*m;const c=l/s;u[0]+=t*c,u[1]+=r*c,u[2]+=n*c}this._data[3]=m;for(let e=0;e<3;++e)this._data[0+e]=u[e];j.clear()}getChildren(){if(this._children||(0,d.hG)(this.bbMin,this.bbMax)<=1)return this._children;const e=(0,d.Cc)((0,h.vt)(),this.bbMin,this.bbMax,.5),t=this.primitiveIndices.length,r=new Uint8Array(t),i=new Array(8);for(let e=0;e<8;++e)i[e]=0;const{data:n,size:o,indices:s}=this.position;for(let a=0;a<t;++a){let t=0;const l=this._numIndexPerPrimitive*this.primitiveIndices[a];let c=o*s[l],u=n[c],d=n[c+1],h=n[c+2];for(let e=1;e<this._numIndexPerPrimitive;++e){c=o*s[l+e];const t=n[c],r=n[c+1],i=n[c+2];t<u&&(u=t),r<d&&(d=r),i<h&&(h=i)}u<e[0]&&(t|=1),d<e[1]&&(t|=2),h<e[2]&&(t|=4),r[a]=t,++i[t]}let a=0;for(let e=0;e<8;++e)i[e]>0&&++a;if(a<2)return;const l=new Array(8);for(let e=0;e<8;++e)l[e]=i[e]>0?new Uint32Array(i[e]):void 0;for(let e=0;e<8;++e)i[e]=0;for(let e=0;e<t;++e){const t=r[e];l[t][i[t]++]=this.primitiveIndices[e]}this._children=new Array;for(let e=0;e<8;++e)void 0!==l[e]&&this._children.push(new V(l[e],this._numIndexPerPrimitive,this.position));return this._children}static prune(){j.prune()}}const j=new U.A({deallocator:null});var W=r(24326);class k{constructor(e){this.id=(0,W.c)(),this._attributes=new Map;for(const[t,r]of e)this._attributes.set(t,{...r,indices:(0,N.Dg)(r.indices)})}get attributes(){return this._attributes}}var Z=r(4341),$=r(11964);function q(e,t,r){return(0,d.Re)(Y,t,e),(0,d.Re)(X,r,e),.5*(0,d.Bw)((0,d.$A)(Y,Y,X))}r(32114),new Z.I($.vt),new Z.I(()=>{return e?{p0:(0,h.o8)(e.p0),p1:(0,h.o8)(e.p1),p2:(0,h.o8)(e.p2)}:{p0:(0,h.vt)(),p1:(0,h.vt)(),p2:(0,h.vt)()};var e});const Y=(0,h.vt)(),X=(0,h.vt)(),K=(0,h.vt)(),J=(0,h.vt)(),Q=(0,h.vt)(),ee=(0,h.vt)();class te{constructor(){this.uid=(0,W.c)()}}class re extends te{constructor(e){super(),this.highlightName=e,this.channel=0}}var ie=r(94656);class ne extends k{constructor(e,t,r=null,i=0,n=null,o=-1,s,a){super(t),this.material=e,this.mapPositions=r,this.type=i,this.olidColor=n,this.edgeIndicesLength=o,this.baseGeometry=s,this.drawIndices=a,this._vertexPositionIndicesCache=void 0,this._highlights=null,this._highlightOptionsCounts=null,this.visible=!0,this._boundingInfo=null,(0,G.vA)((e?.useIndexing??!1)===(null!=a),"Material index requirement and Geometry must match");const l=this.positionAttribute;null!=l&&this.edgeIndicesLength<0&&(this.edgeIndicesLength=l.indices.length)}instantiate(e={}){const t=new ne(e.material||this.material,[],this.mapPositions,this.type,this.olidColor,this.edgeIndicesLength,this.baseGeometry,this.drawIndices);return this._attributes.forEach((e,r)=>{e.exclusive=!1,t._attributes.set(r,e)}),t._boundingInfo=this._boundingInfo,t.transformation=e.transformation||this.transformation,t}getMutableAttribute(e){let t=this._attributes.get(e);return t&&!t.exclusive&&(t={...t,exclusive:!0,data:z(t.data)},this._attributes.set(e,t)),t}setAttributeData(e,t){const r=this._attributes.get(e);r?this._attributes.set(e,{...r,exclusive:!0,data:t}):(0,ie.en)()&&console.warn(`Setting undefined attribute ${e} data`)}get primitivePositionIndices(){if(void 0!==this._vertexPositionIndicesCache)return this._vertexPositionIndicesCache;const{drawIndices:e}=this,t=this.positionAttribute;if(null!=e&&null!=t){const r=new Array;for(const i of e)r.push(t.indices[i]);this._vertexPositionIndicesCache=r}else this._vertexPositionIndicesCache=t?.indices??null;return this._vertexPositionIndicesCache}get positionAttribute(){return this.attributes.get("position")??this.baseGeometry?.attributes.get("position")}get indexCount(){const e=this.drawIndices??this.positionAttribute?.indices;return e?.length??0}get faceCount(){return this.indexCount/3}get boundingInfo(){return this._boundingInfo??=this._calculateBoundingInfo(),this._boundingInfo}computeAttachmentOrigin(e){return!!(0===this.type?this._computeAttachmentOriginTriangles(e):2===this.type?this._computeAttachmentOriginLines(e):this._computeAttachmentOriginPoints(e))&&(null!=this._transformation&&(0,d.Z0)(e,e,this._transformation),!0)}_computeAttachmentOriginTriangles(e){return function(e,t,r=t?.indices){if(!t||!r)return!1;const{size:i,data:n}=t;(0,d.hZ)(e,0,0,0),(0,d.hZ)(ee,0,0,0);let o=0,s=0;for(let t=0;t<r.length-2;t+=3){const a=r[t]*i,l=r[t+1]*i,c=r[t+2]*i;(0,d.hZ)(K,n[a],n[a+1],n[a+2]),(0,d.hZ)(J,n[l],n[l+1],n[l+2]),(0,d.hZ)(Q,n[c],n[c+1],n[c+2]);const u=q(K,J,Q);u?((0,d.WQ)(K,K,J),(0,d.WQ)(K,K,Q),(0,d.hs)(K,K,1/3*u),(0,d.WQ)(e,e,K),o+=u):((0,d.WQ)(ee,ee,K),(0,d.WQ)(ee,ee,J),(0,d.WQ)(ee,ee,Q),s+=3)}return!(0===s&&0===o||(0!==o?((0,d.hs)(e,e,1/o),0):0===s||((0,d.hs)(e,ee,1/s),0)))}(e,this.positionAttribute,this.primitivePositionIndices)}_computeAttachmentOriginLines(e){const t=this.positionAttribute,r=this.primitivePositionIndices;return function(e,t,r,i=t?.indices){if(!t||!i)return!1;(0,d.hZ)(e,0,0,0),(0,d.hZ)(ee,0,0,0);let n=0,o=0;const{size:s,data:a}=t,l=i.length-1,c=l+(r?2:0);for(let t=0;t<c;t+=2){const r=t<l?t+1:0,c=i[t<l?t:l]*s,u=i[r]*s;K[0]=a[c],K[1]=a[c+1],K[2]=a[c+2],J[0]=a[u],J[1]=a[u+1],J[2]=a[u+2],(0,d.hs)(K,(0,d.WQ)(K,K,J),.5);const h=(0,d.xg)(K,J);h>0?((0,d.WQ)(e,e,(0,d.hs)(K,K,h)),n+=h):0===n&&((0,d.WQ)(ee,ee,K),o++)}return 0!==n?((0,d.hs)(e,e,1/n),!0):0!==o&&((0,d.hs)(e,ee,1/o),!0)}(e,t,function(e,t){return!(!("isClosed"in e)||!e.isClosed)&&t.indices.length>2}(this.material.parameters,t),r)}_computeAttachmentOriginPoints(e){return function(e,t,r=t?.indices){if(!t||!r)return!1;const{size:i,data:n}=t;(0,d.hZ)(e,0,0,0);let o=-1,s=0;for(let t=0;t<r.length;t++){const a=r[t]*i;o!==a&&(e[0]+=n[a],e[1]+=n[a+1],e[2]+=n[a+2],s++),o=a}return s>1&&(0,d.hs)(e,e,1/s),s>0}(e,this.positionAttribute,this.primitivePositionIndices)}invalidateBoundingInfo(){this._boundingInfo=null,this._vertexPositionIndicesCache=void 0}_calculateBoundingInfo(){const e=this.positionAttribute,t=this.primitivePositionIndices;if(!e||!t||0===t.length)return null;const r=t===e.indices?e:new L.n(e.data,t,e.size,!1,e.stride),i=0===this.type?3:1;(0,G.vA)(t.length%i===0,"Indexing error: "+t.length+" not divisible by "+i);const n=(0,N.tM)(t.length/i);return new V(n,i,r)}get transformation(){return this._transformation??c.zK}set transformation(e){this._transformation=e&&e!==c.zK?(0,c.o8)(e):null}get highlights(){return this._highlights||oe}get hasHighlights(){return(this._highlightOptionsCounts?.size??0)>0}foreachHighlightOptions(e){this._highlightOptionsCounts?.forEach((t,r)=>e(r))}allocateIdAndHighlight(e){const t=new re(e);return this.addHighlight(t)}addHighlight(e){this._ensureHighlights().add(e);const{highlightName:t}=e,r=(this._highlightOptionsCounts?.get(t)??0)+1;return this._ensureHighlightOptionsCounts().set(t,r),e}_ensureHighlights(){let e=this._highlights;return e||(e=new Set,this._highlights=e),e}_ensureHighlightOptionsCounts(){let e=this._highlightOptionsCounts;return e||(e=new Map,this._highlightOptionsCounts=e),e}removeHighlight(e){if(this._highlights?.delete(e)){const{highlightName:t}=e,r=this._highlightOptionsCounts?.get(t)??0;r<=1?this._highlightOptionsCounts?.delete(t):this._ensureHighlightOptionsCounts().set(t,r-1)}}}const oe=new Set;var se=r(65529),ae=r(97768),le=r(84952),ce=r(38969),ue=r(95117),de=r(2741);let he;var me=r(63907),pe=r(76284),fe=r(42293);let ge=null,ve=null;async function _e(){return null==ve&&(he??=(async()=>{const e=await r.e(9321).then(r.bind(r,49321)),t=await e.default({locateFile:e=>(0,de.s)(`esri/libs/basisu/${e}`)});return t.initializeBasis(),t})(),ve=he,ge=await ve),ve}function xe(e,t,r,i,n){const o=(0,fe.MW)(t?me.CQ.COMPRESSED_RGBA8_ETC2_EAC:me.CQ.COMPRESSED_RGB8_ETC2),s=n&&e>1?(4**e-1)/(3*4**(e-1)):1;return Math.ceil(r*i*o*s)}function ye(e){return e.getNumImages()>=1&&!e.isUASTC()}function we(e){return e.getFaces()>=1&&e.isETC1S()}function be(e,t,r,i,n,o,s,a){const{compressedTextureETC:l,compressedTextureS3TC:c}=e.capabilities,[u,d]=l?i?[1,me.CQ.COMPRESSED_RGBA8_ETC2_EAC]:[0,me.CQ.COMPRESSED_RGB8_ETC2]:c?i?[3,me.CQ.COMPRESSED_RGBA_S3TC_DXT5_EXT]:[2,me.CQ.COMPRESSED_RGB_S3TC_DXT1_EXT]:[13,6408],h=t.hasMipmap?r:Math.min(1,r),m=[];for(let e=0;e<h;e++)m.push(new Uint8Array(s(e,u))),a(e,u,m[e]);return t.internalFormat=d,t.hasMipmap=m.length>1,t.samplingMode=t.hasMipmap?9987:9729,t.width=n,t.height=o,new pe.A(e,t,{type:"compressed",levels:m})}const Me=()=>I.A.getLogger("esri.views.3d.webgl-engine.lib.DDSUtil");function Te(e){return e.charCodeAt(0)+(e.charCodeAt(1)<<8)+(e.charCodeAt(2)<<16)+(e.charCodeAt(3)<<24)}const Se=Te("DXT1"),Ce=Te("DXT3"),Ae=Te("DXT5");function Ee(e,t){return t=16*Math.floor(t/16),Math.min(16*Math.round(e/16),t)}function Re(e,t){const[r,i]=function({width:e,height:t},{maxPreferredTexturePixels:r,maxTextureSize:i}){const n=Math.max(e,t),o=e*t;if(n<=i&&o<=r)return[e,t];const s=Math.min(Math.sqrt(r/o),i/n);return[Ee(Math.round(e*s),i),Ee(Math.round(t*s),i)]}(e,t);return e.width===r&&e.height===i?e:Ie(e,r,i)}function Ie(e,t,r){if(e instanceof ImageData)return Ie(function(e){const t=document.createElement("canvas");t.width=e.width,t.height=e.height;const r=t.getContext("2d");if(null==r)throw new R.A("texture:context-failed","Failed to create 2d context from HTMLCanvasElement");return r.putImageData(e,0,0),t}(e),t,r);const i=document.createElement("canvas");return i.width=t,i.height=r,i.getContext("2d").drawImage(e,0,0,i.width,i.height),i}var Oe=r(67171);class Fe{constructor(e,t){this._data=e,this.id=(0,W.c)(),this.events=new se.bk,this._parameters={...De,...t},this._startPreload(e)}dispose(){this.unload(),this._data=this.update=void 0}_startPreload(e){e instanceof HTMLVideoElement?(this.update=t=>this._update(e,t),this._startPreloadVideoElement(e)):e instanceof HTMLImageElement&&this._startPreloadImageElement(e)}_startPreloadVideoElement(e){if(!((0,le.w8)(e.src)||"auto"===e.preload&&e.crossOrigin)&&(e.preload="auto",e.crossOrigin="anonymous",e.src=e.src,e.paused&&e.autoplay)){const t=[];(0,ce.i)(e,e=>t.push(e)).then(()=>{e.play()}).finally(()=>t.forEach(e=>e.remove()))}}_startPreloadImageElement(e){(0,le.DB)(e.src)||(0,le.w8)(e.src)||e.crossOrigin||(e.crossOrigin="anonymous",e.src=e.src)}_createDescriptor(e){const t=new Oe.R;return t.wrapMode=this._parameters.wrap??10497,t.flipped=!this._parameters.noUnpackFlip,t.samplingMode=this._parameters.mipmap?9987:9729,t.hasMipmap=!!this._parameters.mipmap,t.preMultiplyAlpha=!!this._parameters.preMultiplyAlpha,t.maxAnisotropy=this._parameters.maxAnisotropy??(this._parameters.mipmap?e.parameters.maxMaxAnisotropy:1),t.dataType=this._parameters.dataType??t.dataType,t.pixelFormat=this._parameters.pixelFormat??t.pixelFormat,t.internalFormat=this._parameters.internalFormat??t.internalFormat,t}get texture(){return this._texture??this._emptyTexture}get loaded(){return null!=this._texture}get usedMemory(){return this._texture?.usedMemory||function(e,t){if(null==e)return 0;if((0,p.mw)(e)||(0,p.mg)(e))return"image/ktx2"===t.encoding?function(e,t){if(null==ge)return e.byteLength;const r=new ge.KTX2File(new Uint8Array(e)),i=we(r)?xe(r.getLevels(),r.getHasAlpha(),r.getWidth(),r.getHeight(),t):0;return r.close(),r.delete(),i}(e,!!t.mipmap):"image/x.basis"===t.encoding?function(e,t){if(null==ge)return e.byteLength;const r=new ge.BasisFile(new Uint8Array(e)),i=ye(r)?xe(r.getNumLevels(0),r.getHasAlpha(),r.getImageWidth(0,0),r.getImageHeight(0,0),t):0;return r.close(),r.delete(),i}(e,!!t.mipmap):e.byteLength;const{width:r,height:i}=e instanceof Image||e instanceof ImageData||e instanceof HTMLCanvasElement||e instanceof HTMLVideoElement?Pe(e):t,n=t.pixelFormat??6408,o=(0,fe.wH)(n);return(t.mipmap?4/3:1)*r*i*o||0}(this._data,this._parameters)}load(e){if(this._loadingPromise)return this._loadingPromise;if(this._texture)return this._texture;const t=this._data;return null==t?(this._texture=new pe.A(e,this._createDescriptor(e),null),this._texture):(this._emptyTexture=e.emptyTexture,this._parameters.reloadable||(this._data=void 0),"string"==typeof t?this._loadFromURL(e,t):t instanceof Image?this._loadFromImageElement(e,t):t instanceof HTMLVideoElement?this._loadFromVideoElement(e,t):t instanceof ImageData||t instanceof HTMLCanvasElement?this._loadFromImage(e,t):(0,p.mg)(t)&&"image/vnd-ms.dds"===this._parameters.encoding?this._loadFromDDSData(e,t):(0,p.mw)(t)&&"image/vnd-ms.dds"===this._parameters.encoding?this._loadFromDDSData(e,new Uint8Array(t)):((0,p.mw)(t)||(0,p.mg)(t))&&"image/ktx2"===this._parameters.encoding?this._loadFromKTX2(e,t):((0,p.mw)(t)||(0,p.mg)(t))&&"image/x.basis"===this._parameters.encoding?this._loadFromBasis(e,t):(0,p.mw)(t)?this._loadFromPixelData(e,new Uint8Array(t)):(0,p.iu)(t)?this._loadFromPixelData(e,t):null)}_update(e,t){return null==this._texture||e.readyState<HTMLMediaElement.HAVE_CURRENT_DATA||t===e.currentTime?t:(this._texture.setData(e),this._texture.descriptor.hasMipmap&&this._texture.generateMipmap(),this._parameters.updateCallback&&this._parameters.updateCallback(),e.currentTime)}_loadFromDDSData(e,t){return this._texture=function(e,t,r){const i=function(e,t){const r=new Int32Array(e.buffer,e.byteOffset,31);if(542327876!==r[0])return Me().error("Invalid magic number in DDS header"),null;if(!(4&r[20]))return Me().error("Unsupported format, must contain a FourCC code"),null;const i=r[21];let n,o;switch(i){case Se:n=8,o=me.CQ.COMPRESSED_RGB_S3TC_DXT1_EXT;break;case Ce:n=16,o=me.CQ.COMPRESSED_RGBA_S3TC_DXT3_EXT;break;case Ae:n=16,o=me.CQ.COMPRESSED_RGBA_S3TC_DXT5_EXT;break;default:return Me().error("Unsupported FourCC code:",function(e){return String.fromCharCode(255&e,e>>8&255,e>>16&255,e>>24&255)}(i)),null}let s=1,a=r[4],l=r[3];(3&a||3&l)&&(Me().warn("Rounding up compressed texture size to nearest multiple of 4."),a=a+3&-4,l=l+3&-4);const c=a,u=l;let d,h;131072&r[2]&&!1!==t&&(s=Math.max(1,r[7]));let m=e.byteOffset+r[1]+4;const p=[];for(let t=0;t<s;++t)h=(a+3>>2)*(l+3>>2)*n,d=new Uint8Array(e.buffer,m,h),p.push(d),m+=h,a=Math.max(1,a>>1),l=Math.max(1,l>>1);return{textureData:{type:"compressed",levels:p},internalFormat:o,width:c,height:u}}(r,t.hasMipmap??!1);if(null==i)throw new Error("DDS texture data is null");const{textureData:n,internalFormat:o,width:s,height:a}=i;return t.samplingMode=n.levels.length>1?9987:9729,t.hasMipmap=n.levels.length>1,t.internalFormat=o,t.width=s,t.height=a,new pe.A(e,t,n)}(e,this._createDescriptor(e),t),this._emptyTexture=null,this._texture}_loadFromKTX2(e,t){return this._loadAsync(()=>async function(e,t,r){null==ge&&(ge=await _e());const i=new ge.KTX2File(new Uint8Array(r));if(!we(i))return null;i.startTranscoding();const n=be(e,t,i.getLevels(),i.getHasAlpha(),i.getWidth(),i.getHeight(),(e,t)=>i.getImageTranscodedSizeInBytes(e,0,0,t),(e,t,r)=>i.transcodeImage(r,e,0,0,t,0,-1,-1));return i.close(),i.delete(),n}(e,this._createDescriptor(e),t).then(e=>(this._texture=e,e)))}_loadFromBasis(e,t){return this._loadAsync(()=>async function(e,t,r){null==ge&&(ge=await _e());const i=new ge.BasisFile(new Uint8Array(r));if(!ye(i))return null;i.startTranscoding();const n=be(e,t,i.getNumLevels(0),i.getHasAlpha(),i.getImageWidth(0,0),i.getImageHeight(0,0),(e,t)=>i.getImageTranscodedSizeInBytes(0,e,t),(e,t,r)=>i.transcodeImage(r,0,e,t,0,0));return i.close(),i.delete(),n}(e,this._createDescriptor(e),t).then(e=>(this._texture=e,e)))}_loadFromPixelData(e,t){(0,G.vA)(this._parameters.width>0&&this._parameters.height>0);const r=this._createDescriptor(e);return 6407!==r.pixelFormat&&6408!==r.pixelFormat||(r.compress=this._parameters.compressionOptions),r.width=this._parameters.width??0,r.height=this._parameters.height??0,this._texture=new pe.A(e,r,t),this._texture}_loadFromURL(e,t){return this._loadAsync(async r=>{const i=await H(t,{signal:r});return(0,P.Te)(r),this._loadFromImage(e,i)})}_loadFromImageElement(e,t){return t.complete?this._loadFromImage(e,t):this._loadAsync(async r=>{const i=await(0,ue.y)(t,t.src,!1,r);return(0,P.Te)(r),this._loadFromImage(e,i)})}_loadFromVideoElement(e,t){return t.readyState>=HTMLMediaElement.HAVE_CURRENT_DATA?this._loadFromImage(e,t):this._loadFromVideoElementAsync(e,t)}_loadFromVideoElementAsync(e,t){return this._loadAsync(r=>new Promise((i,n)=>{const o=()=>{t.removeEventListener("loadeddata",s),t.removeEventListener("error",a),(0,ae.xt)(l)},s=()=>{t.readyState>=HTMLMediaElement.HAVE_CURRENT_DATA&&(o(),i(this._loadFromImage(e,t)))},a=e=>{o(),n(e||new R.A("texture:load-error","Failed to load video"))};t.addEventListener("loadeddata",s),t.addEventListener("error",a);const l=(0,P.u7)(r,()=>a((0,P.NK)()))}))}_loadFromImage(e,t){let r=t;r instanceof HTMLVideoElement||(r=Re(r,e.parameters));const i=Pe(r);this._parameters.width=i.width,this._parameters.height=i.height;const n=this._createDescriptor(e);return n.width=i.width,n.height=i.height,n.compress=this._parameters.compressionOptions,this._texture=new pe.A(e,n,r),this._emptyTexture=null,this.events.emit("loaded"),this._texture}_loadAsync(e){const t=new AbortController;this._loadingController=t;const r=e(t.signal);this._loadingPromise=r;const i=()=>{this._loadingController===t&&(this._loadingController=null),this._loadingPromise===r&&(this._loadingPromise=null),this._emptyTexture=null};return r.then(i,i),r}unload(){if(this._texture=(0,ae.WD)(this._texture),this._emptyTexture=null,null!=this._loadingController){const e=this._loadingController;this._loadingController=null,this._loadingPromise=null,e.abort()}this.events.emit("unloaded")}get parameters(){return this._parameters}}function Pe(e){return e instanceof HTMLVideoElement?{width:e.videoWidth,height:e.videoHeight}:e}const De={wrap:{s:10497,t:10497},mipmap:!0,noUnpackFlip:!1,preMultiplyAlpha:!1};var Ne=r(49255);class He{constructor(e){this._material=e.material,this._techniques=e.techniques,this._output=e.output}dispose(){}get _stippleTextures(){return this._techniques.context?.stippleTextures}get _markerTextures(){return this._techniques.context?.markerTextures}getTechnique(e,t){return this._techniques.get(e,this._material.getConfiguration(this._output,t))}ensureResources(e){return 2}}var Le=r(65786);class Be extends He{constructor(e){super(e),this._numLoading=0,this._disposed=!1,this._textures=e.textures,this.updateTexture(e.textureId),this._acquire(e.normalTextureId,e=>this._textureNormal=e),this._acquire(e.emissiveTextureId,e=>this._textureEmissive=e),this._acquire(e.occlusionTextureId,e=>this._textureOcclusion=e),this._acquire(e.metallicRoughnessTextureId,e=>this._textureMetallicRoughness=e)}dispose(){super.dispose(),this._texture=(0,ae.Gz)(this._texture),this._textureNormal=(0,ae.Gz)(this._textureNormal),this._textureEmissive=(0,ae.Gz)(this._textureEmissive),this._textureOcclusion=(0,ae.Gz)(this._textureOcclusion),this._textureMetallicRoughness=(0,ae.Gz)(this._textureMetallicRoughness),this._disposed=!0}ensureResources(e){return 0===this._numLoading?2:1}get textureBindParameters(){return new Ue(this._texture?.texture??null,this._textureNormal?.texture??null,this._textureEmissive?.texture??null,this._textureOcclusion?.texture??null,this._textureMetallicRoughness?.texture??null)}updateTexture(e){null!=this._texture&&e===this._texture.id||(this._texture=(0,ae.Gz)(this._texture),this._acquire(e,e=>this._texture=e))}_acquire(e,t){if(null==e)return void t(null);const r=this._textures.acquire(e);if((0,P.$X)(r))return++this._numLoading,void r.then(e=>{if(this._disposed)return(0,ae.Gz)(e),void t(null);t(e)}).finally(()=>--this._numLoading);t(r)}}class ze extends Le.Y{constructor(e=null){super(),this.textureEmissive=e}}class Ue extends ze{constructor(e,t,r,i,n,o,s){super(r),this.texture=e,this.textureNormal=t,this.textureOcclusion=i,this.textureMetallicRoughness=n,this.scale=o,this.normalTextureTransformMatrix=s}}var Ge=r(5482),Ve=r(68317),je=r(51976);class We extends Ve.Hz{constructor(){super(...arguments),this.oitPass=0,this.hasHighlightMixTexture=!1,this.bindType=1,this.instanced=!1,this.writeDepth=!0,this.oitPremultipliedAlpha=!1}}(0,Ge.Cg)([(0,je.W)({count:3})],We.prototype,"oitPass",void 0),(0,Ge.Cg)([(0,je.W)()],We.prototype,"hasHighlightMixTexture",void 0);var ke=r(19245);class Ze{constructor(e,t){this.id=(0,W.c)(),this.supportsEdges=!1,this._renderPriority=0,this._parameters=new t,(0,ke.MB)(this._parameters,e),this.validateParameters(this._parameters)}get useIndexing(){return this.parameters.useIndexing??!1}get parameters(){return this._parameters}update(e){return!1}setParameters(e,t=!0){(0,ke.MB)(this._parameters,e)&&(this.validateParameters(this._parameters),t&&this._parametersChanged())}validateParameters(e){}shouldRender(e){return this.visible&&this.isVisibleForOutput(e.output)&&(!this.parameters.isDecoration||e.bind.decorations)&&0!==(this.parameters.renderOccluded&e.renderOccludedMask)}isVisibleForOutput(e){return!0}get renderPriority(){return this._renderPriority}set renderPriority(e){e!==this._renderPriority&&(this._renderPriority=e,this._parametersChanged())}_parametersChanged(){this.repository?.materialChanged(this)}get renderOccludedFlags(){return this.visible?this.parameters.renderOccluded:0}get testsTransparentRenderOrder(){return this.parameters.testsTransparentRenderOrder}get hasEmissions(){return!1}getConfiguration(e,t,r=new We){return r.output=e,r.hasEmission=t.hasEmission&&(0,Ne._o)(e),r.oitPass=t.oitPass,r.hasHighlightMixTexture=8===e&&null!=t.highlightMixTexture,r}}Le.Y;class $e{constructor(e=0,t=!1,r=!0){this.tolerance=e,this.isVerticalRay=t,this.normalRequired=r}}const qe=(0,m.vt)();function Ye(e,t,r,i,n,o){if(!e.visible)return;const s=(0,d.jb)(lt,i,r),a=(e,t,r)=>o(e,r,t),{tolerance:l}=t,c=new $e(l,!1,t.options.normalRequired);if(e.boundingInfo)(0,G.vA)(0===e.type),Ke(e.boundingInfo,r,s,l,n,c,a);else{const t=e.positionAttribute,i=e.primitivePositionIndices;!function(e,t,r,i,n,o,s,a,l,c){const u=t,h=ct,m=Math.abs(u[0]),p=Math.abs(u[1]),f=Math.abs(u[2]),g=m>=p?m>=f?0:2:p>=f?1:2,v=g,_=u[v]<0?2:1,x=(g+_)%3,y=(g+(3-_))%3,w=u[x]/u[v],b=u[y]/u[v],M=1/u[v],T=Qe,S=et,C=tt,{normalRequired:A}=l;for(let t=r;t<i;++t){const r=3*t,i=s*n[r];(0,d.hZ)(h[0],o[i+0],o[i+1],o[i+2]);const l=s*n[r+1];(0,d.hZ)(h[1],o[l+0],o[l+1],o[l+2]);const u=s*n[r+2];(0,d.hZ)(h[2],o[u+0],o[u+1],o[u+2]),a&&((0,d.C)(h[0],a.applyToVertex(h[0][0],h[0][1],h[0][2],t)),(0,d.C)(h[1],a.applyToVertex(h[1][0],h[1][1],h[1][2],t)),(0,d.C)(h[2],a.applyToVertex(h[2][0],h[2][1],h[2][2],t))),(0,d.jb)(T,h[0],e),(0,d.jb)(S,h[1],e),(0,d.jb)(C,h[2],e);const m=T[x]-w*T[v],p=T[y]-b*T[v],f=S[x]-w*S[v],g=S[y]-b*S[v],_=C[x]-w*C[v],E=C[y]-b*C[v],R=_*g-E*f,I=m*E-p*_,O=f*p-g*m;if((R<0||I<0||O<0)&&(R>0||I>0||O>0))continue;const F=R+I+O;if(0===F)continue;const P=R*(M*T[v])+I*(M*S[v])+O*(M*C[v]);if(P*Math.sign(F)<0)continue;const D=P/F;D>=0&&c(D,t,A?it(h):null)}}(r,s,0,i.length/3,i,t.data,t.stride,n,c,a)}}const Xe=(0,h.vt)();function Ke(e,t,r,i,n,o,s){if(null==e)return;const a=function(e,t){return(0,d.hZ)(t,1/e[0],1/e[1],1/e[2])}(r,Xe);if((0,m.Ne)(qe,e.bbMin),(0,m.vI)(qe,e.bbMax),null!=n&&n.applyToAabb(qe),function(e,t,r,i){return function(e,t,r,i){const n=(e[0]-i-t[0])*r[0],o=(e[3]+i-t[0])*r[0];let s=Math.min(n,o),a=Math.max(n,o);const l=(e[1]-i-t[1])*r[1],c=(e[4]+i-t[1])*r[1];if(a=Math.min(a,Math.max(l,c)),a<0)return!1;if(s=Math.max(s,Math.min(l,c)),s>a)return!1;const u=(e[2]-i-t[2])*r[2],d=(e[5]+i-t[2])*r[2];return a=Math.min(a,Math.max(u,d)),!(a<0)&&(s=Math.max(s,Math.min(u,d)),!(s>a)&&s<1/0)}(e,t,r,i)}(qe,t,a,i)){const{primitiveIndices:a,position:l}=e,c=a?a.length:l.indices.length/3;if(c>st){const a=e.getChildren();if(void 0!==a){for(const e of a)Ke(e,t,r,i,n,o,s);return}}!function(e,t,r,i,n,o,s,a,l,c,u){const d=e[0],h=e[1],m=e[2],p=t[0],f=t[1],g=t[2],{normalRequired:v}=c;for(let e=0;e<i;++e){const t=a[e],r=3*t,i=s*n[r];let c=o[i],_=o[i+1],x=o[i+2];const y=s*n[r+1];let w=o[y],b=o[y+1],M=o[y+2];const T=s*n[r+2];let S=o[T],C=o[T+1],A=o[T+2];null!=l&&([c,_,x]=l.applyToVertex(c,_,x,e),[w,b,M]=l.applyToVertex(w,b,M,e),[S,C,A]=l.applyToVertex(S,C,A,e));const E=w-c,R=b-_,I=M-x,O=S-c,F=C-_,P=A-x,D=f*P-F*g,N=g*O-P*p,H=p*F-O*f,L=E*D+R*N+I*H;if(Math.abs(L)<=at)continue;const B=d-c,z=h-_,U=m-x,G=B*D+z*N+U*H;if(L>0){if(G<0||G>L)continue}else if(G>0||G<L)continue;const V=z*I-R*U,j=U*E-I*B,W=B*R-E*z,k=p*V+f*j+g*W;if(L>0){if(k<0||G+k>L)continue}else if(k>0||G+k<L)continue;const Z=(O*V+F*j+P*W)/L;Z>=0&&u(Z,t,v?rt(E,R,I,O,F,P,Je):null)}}(t,r,0,c,l.indices,l.data,l.stride,a,n,o,s)}}const Je=(0,h.vt)();const Qe=(0,h.vt)(),et=(0,h.vt)(),tt=(0,h.vt)();function rt(e,t,r,i,n,o,s){return(0,d.hZ)(nt,e,t,r),(0,d.hZ)(ot,i,n,o),(0,d.$A)(s,nt,ot),(0,d.S8)(s,s),s}function it(e){return(0,d.jb)(nt,e[1],e[0]),(0,d.jb)(ot,e[2],e[0]),(0,d.$A)(Je,nt,ot),(0,d.S8)(Je,Je),Je}const nt=(0,h.vt)(),ot=(0,h.vt)(),st=1e3,at=1e-7,lt=(0,h.vt)(),ct=[(0,h.vt)(),(0,h.vt)(),(0,h.vt)()];var ut=r(16396);function dt(e,t,r){const{data:i,indices:n}=e,o=t.typedBuffer,s=t.typedBufferStride,a=n.length;r*=s;for(let e=0;e<a;++e){const t=2*n[e];o[r]=i[t],o[r+1]=i[t+1],r+=s}}function ht(e,t,r,i=1){const{data:n,indices:o}=e,s=t.typedBuffer,a=t.typedBufferStride,l=o.length;if(r*=a,1===i)for(let e=0;e<l;++e){const t=3*o[e];s[r]=n[t],s[r+1]=n[t+1],s[r+2]=n[t+2],r+=a}else for(let e=0;e<l;++e){const t=3*o[e];for(let e=0;e<i;++e)s[r]=n[t],s[r+1]=n[t+1],s[r+2]=n[t+2],r+=a}}function mt(e,t,r,i=1){const{data:n,indices:o}=e,s=t.typedBuffer,a=t.typedBufferStride,l=o.length;if(r*=a,1===i)for(let e=0;e<l;++e){const t=4*o[e];s[r]=n[t],s[r+1]=n[t+1],s[r+2]=n[t+2],s[r+3]=n[t+3],r+=a}else for(let e=0;e<l;++e){const t=4*o[e];for(let e=0;e<i;++e)s[r]=n[t],s[r+1]=n[t+1],s[r+2]=n[t+2],s[r+3]=n[t+3],r+=a}}function pt(e,t,r,i,n=1){const o=t.typedBuffer,s=t.typedBufferStride;if(i*=s,1===n)for(let t=0;t<r;++t)o[i]=e[0],o[i+1]=e[1],o[i+2]=e[2],o[i+3]=e[3],i+=s;else for(let t=0;t<r;++t)for(let t=0;t<n;++t)o[i]=e[0],o[i+1]=e[1],o[i+2]=e[2],o[i+3]=e[3],i+=s}function ft(e,t,r,i,n,o){switch(e){case"position":{(0,G.vA)(3===t.size);const i=n.getField(e,g.xs);(0,G.vA)(!!i,`No buffer view for ${e}`),function(e,t,r,i,n=1){if(!t)return void ht(e,r,i,n);const{data:o,indices:s}=e,a=r.typedBuffer,c=r.typedBufferStride,u=s.length,d=t[0],h=t[1],m=t[2],p=t[4],f=t[5],g=t[6],v=t[8],_=t[9],x=t[10],y=t[12],w=t[13],b=t[14];i*=c;let M=0,T=0,S=0;const C=(0,l.tZ)(t)?e=>{M=o[e]+y,T=o[e+1]+w,S=o[e+2]+b}:e=>{const t=o[e],r=o[e+1],i=o[e+2];M=d*t+p*r+v*i+y,T=h*t+f*r+_*i+w,S=m*t+g*r+x*i+b};if(1===n)for(let e=0;e<u;++e)C(3*s[e]),a[i]=M,a[i+1]=T,a[i+2]=S,i+=c;else for(let e=0;e<u;++e){C(3*s[e]);for(let e=0;e<n;++e)a[i]=M,a[i+1]=T,a[i+2]=S,i+=c}}(t,r,i,o);break}case"normal":{(0,G.vA)(3===t.size);const r=n.getField(e,g.xs);(0,G.vA)(!!r,`No buffer view for ${e}`),function(e,t,r,i,n=1){if(!t)return void ht(e,r,i,n);const{data:o,indices:s}=e,a=t,c=r.typedBuffer,u=r.typedBufferStride,d=s.length,h=a[0],m=a[1],p=a[2],f=a[4],g=a[5],v=a[6],_=a[8],x=a[9],y=a[10],w=!(0,l.ut)(a),b=1e-6,M=1-b;i*=u;let T=0,S=0,C=0;const A=(0,l.tZ)(a)?e=>{T=o[e],S=o[e+1],C=o[e+2]}:e=>{const t=o[e],r=o[e+1],i=o[e+2];T=h*t+f*r+_*i,S=m*t+g*r+x*i,C=p*t+v*r+y*i};if(1===n)if(w)for(let e=0;e<d;++e){A(3*s[e]);const t=T*T+S*S+C*C;if(t<M&&t>b){const e=1/Math.sqrt(t);c[i]=T*e,c[i+1]=S*e,c[i+2]=C*e}else c[i]=T,c[i+1]=S,c[i+2]=C;i+=u}else for(let e=0;e<d;++e)A(3*s[e]),c[i]=T,c[i+1]=S,c[i+2]=C,i+=u;else for(let e=0;e<d;++e){if(A(3*s[e]),w){const e=T*T+S*S+C*C;if(e<M&&e>b){const t=1/Math.sqrt(e);T*=t,S*=t,C*=t}}for(let e=0;e<n;++e)c[i]=T,c[i+1]=S,c[i+2]=C,i+=u}}(t,i,r,o);break}case"normalCompressed":case"profileRight":case"profileUp":{(0,G.vA)(2===t.size);const r=n.getField(e,g.mJ);(0,G.vA)(!!r,`No buffer view for ${e}`),dt(t,r,o);break}case"uv0":{(0,G.vA)(2===t.size);const r=n.getField(e,g.ZD)??n.getField(e,g.gH);(0,G.vA)(!!r,`No buffer view for ${e}`),dt(t,r,o);break}case"uvi":{(0,G.vA)(2===t.size);const r=n.getField(e,g.mJ);(0,G.vA)(!!r,`No buffer view for ${e}`),dt(t,r,o);break}case"color":case"symbolColor":{const r=n.getField(e,g.XP);(0,G.vA)(!!r,`No buffer view for ${e}`),(0,G.vA)(3===t.size||4===t.size),function(e,t,r,i,n=1){const{data:o,indices:s}=e,a=r.typedBuffer,l=r.typedBufferStride,c=s.length;if(i*=l,t===o.length&&4===t){a[i]=o[0],a[i+1]=o[1],a[i+2]=o[2],a[i+3]=o[3];const e=new Uint32Array(r.typedBuffer.buffer,r.start),t=l/4,s=e[i/=4];i+=t;const u=c*n;for(let r=1;r<u;++r)e[i]=s,i+=t;return}if(1!==n)if(4!==t)for(let e=0;e<c;++e){const t=3*s[e];for(let e=0;e<n;++e)a[i]=o[t],a[i+1]=o[t+1],a[i+2]=o[t+2],a[i+3]=255,i+=l}else for(let e=0;e<c;++e){const t=4*s[e];for(let e=0;e<n;++e)a[i]=o[t],a[i+1]=o[t+1],a[i+2]=o[t+2],a[i+3]=o[t+3],i+=l}else{if(4===t){for(let e=0;e<c;++e){const t=4*s[e];a[i]=o[t],a[i+1]=o[t+1],a[i+2]=o[t+2],a[i+3]=o[t+3],i+=l}return}for(let e=0;e<c;++e){const t=3*s[e];a[i]=o[t],a[i+1]=o[t+1],a[i+2]=o[t+2],a[i+3]=255,i+=l}}}(t,t.size,r,o);break}case"colorFeatureAttribute":case"opacityFeatureAttribute":case"sizeFeatureAttribute":{const r=n.getField(e,g.Y$)??n.getField(e,g.Y$);(0,G.vA)(!!r,`No buffer view for ${e}`),(0,G.vA)(1===t.size),function(e,t,r){const{data:i,indices:n}=e,o=t.typedBuffer,s=t.typedBufferStride,a=n.length,l=i[0];r*=s;for(let e=0;e<a;++e)o[r]=l,r+=s}(t,r,o);break}case"tangent":{(0,G.vA)(4===t.size);const i=n.getField(e,g.Eq);(0,G.vA)(!!i,`No buffer view for ${e}`),function(e,t,r,i,n=1){if(!t)return void mt(e,r,i,n);const{data:o,indices:s}=e,a=t,c=r.typedBuffer,u=r.typedBufferStride,d=s.length,h=a[0],m=a[1],p=a[2],f=a[4],g=a[5],v=a[6],_=a[8],x=a[9],y=a[10],w=!(0,l.ut)(a),b=1e-6,M=1-b;if(i*=u,1===n)for(let e=0;e<d;++e){const t=4*s[e],r=o[t],n=o[t+1],a=o[t+2],l=o[t+3];let d=h*r+f*n+_*a,T=m*r+g*n+x*a,S=p*r+v*n+y*a;if(w){const e=d*d+T*T+S*S;if(e<M&&e>b){const t=1/Math.sqrt(e);d*=t,T*=t,S*=t}}c[i]=d,c[i+1]=T,c[i+2]=S,c[i+3]=l,i+=u}else for(let e=0;e<d;++e){const t=4*s[e],r=o[t],a=o[t+1],l=o[t+2],d=o[t+3];let T=h*r+f*a+_*l,S=m*r+g*a+x*l,C=p*r+v*a+y*l;if(w){const e=T*T+S*S+C*C;if(e<M&&e>b){const t=1/Math.sqrt(e);T*=t,S*=t,C*=t}}for(let e=0;e<n;++e)c[i]=T,c[i+1]=S,c[i+2]=C,c[i+3]=d,i+=u}}(t,r,i,o);break}case"profileVertexAndNormal":{(0,G.vA)(4===t.size);const r=n.getField(e,g.jz)??n.getField(e,g.Eq);(0,G.vA)(!!r,`No buffer view for ${e}`),mt(t,r,o);break}case"profileAuxData":{(0,G.vA)(3===t.size);const r=n.getField(e,g.EC)??n.getField(e,g.xs);(0,G.vA)(!!r,`No buffer view for ${e}`),ht(t,r,o);break}}}(0,h.vt)();class gt{constructor(e){this.layout=e}elementCount(e){return e.get("position").indices.length}write(e,t,r,i,n,o){return function(e,t,r,i,n,o,s){let a={numItems:0,numVerticesPerItem:0};for(const l of r.fields.keys()){const r=e.get(l),c=r?.indices;if(r&&c)"position"===l&&(a={numItems:1,numVerticesPerItem:c.length}),ft(l,r,i,n,o,s);else if("olidColor"===l&&null!=t){const r=e.get("position")?.indices;if(r){const e=r.length;pt(t,o.getField(l,g.XP),e,s)}}}return a}(r,i,this.layout,e,t,n,o)}}var vt=r(91429),_t=r(91829),xt=r(4431),yt=r(1843),wt=r(72824),bt=r(13840),Mt=r(42958),Tt=r(16943),St=r(90644);const Ct=(0,St.p3)(1,0,1,771);function At(e,t=!1){switch(e){case 0:return t?St.RC:St.T8;case 1:return Ct;case 2:case 3:return null}}function Et(e){if(e.draped)return null;switch(e.oitPass){case 0:case 2:return e.writeDepth?St.Uy:null;case 1:case 3:return null}}function Rt(e,t=513){return{func:0===e||2===e?t:515}}const It={factor:-1,units:-2};function Ot({oitPass:e,enableOffset:t}){return t&&1===e?It:null}function Ft(e,t){const r={buffers:1===e?[me.r6,me.yI]:[me.r6]};return t&&r.buffers.push(me.r6+r.buffers.length),r.buffers.length>1?r:null}const Pt={mask:255},Dt={function:{func:519,ref:2,mask:2},operation:{fail:7680,zFail:7680,zPass:0}},Nt={function:{func:519,ref:2,mask:2},operation:{fail:7680,zFail:7680,zPass:7681}};var Ht=r(4576);(0,r(44208).A)("esri-tests-disable-gpu-memory-measurements");var Lt=r(69622),Bt=r(32728);class zt{constructor(e){this.localTransform=e.localTransform,this.globalTransform=e.globalTransform,this.modelOrigin=e.modelOrigin,this.model=e.instanceModel,this.modelNormal=e.instanceModelNormal,this.modelScaleFactors=e.modelScaleFactors,this.boundingSphere=e.boundingSphere,this.featureAttribute=e.getField("instanceFeatureAttribute",g.Eq),this.color=e.getField("instanceColor",g.XP),this.olidColor=e.getField("instanceOlidColor",g.XP),this.state=e.getField("state",g.SL),this.lodLevel=e.getField("lodLevel",g.SL)}}let Ut=class extends Lt.A{constructor(e,t){super(e),this.events=new se.bk,this._capacity=0,this._size=0,this._next=0,this._highlightOptionsMap=new Map,this._highlightOptionsMapPrev=new Map,this._layout=function(e){return Vt(Gt.clone(),e).u8("state").u8("lodLevel")}(t),this._capacity=$t,this._buffer=this._layout.createBuffer(this._capacity),this._view=new zt(this._buffer)}get capacity(){return this._capacity}get size(){return this._size}get view(){return this._view}addInstance(){this._size+1>this._capacity&&this._grow();const e=this._findSlot();return this._view.state.set(e,1),this._size++,this.events.emit("instances-changed"),e}removeInstance(e){const t=this._view.state;(0,G.vA)(e>=0&&e<this._capacity&&!!(1&t.get(e)),"invalid instance handle"),this._getStateFlag(e,18)?this._setStateFlags(e,32):this.freeInstance(e),this.events.emit("instances-changed")}freeInstance(e){const t=this._view.state;(0,G.vA)(e>=0&&e<this._capacity&&!!(1&t.get(e)),"invalid instance handle"),t.set(e,0),this._size--}setLocalTransform(e,t,r=!0){this._view.localTransform.setMat(e,t),r&&this.updateModelTransform(e)}getLocalTransform(e,t){this._view.localTransform.getMat(e,t)}setGlobalTransform(e,t,r=!0){this._view.globalTransform.setMat(e,t),r&&this.updateModelTransform(e)}getGlobalTransform(e,t){this._view.globalTransform.getMat(e,t)}updateModelTransform(e){const t=this._view,r=jt,i=Wt;t.localTransform.getMat(e,kt),t.globalTransform.getMat(e,Zt);const n=(0,l.lw)(Zt,Zt,kt);(0,d.hZ)(r,n[12],n[13],n[14]),t.modelOrigin.setVec(e,r),(0,s.z0)(i,n),t.model.setMat(e,i);const o=(0,Bt.wp)(jt,n);o.sort(),t.modelScaleFactors.set(e,0,o[1]),t.modelScaleFactors.set(e,1,o[2]),(0,s.B8)(i,i),(0,s.mg)(i,i),t.modelNormal.setMat(e,i),this._setStateFlags(e,64),this.events.emit("instance-transform-changed",{index:e})}getModelTransform(e,t){const r=this._view;r.model.getMat(e,Wt),r.modelOrigin.getVec(e,jt),t[0]=Wt[0],t[1]=Wt[1],t[2]=Wt[2],t[3]=0,t[4]=Wt[3],t[5]=Wt[4],t[6]=Wt[5],t[7]=0,t[8]=Wt[6],t[9]=Wt[7],t[10]=Wt[8],t[11]=0,t[12]=jt[0],t[13]=jt[1],t[14]=jt[2],t[15]=1}applyShaderTransformation(e,t){null!=this.shaderTransformation&&this.shaderTransformation.applyTransform(this,e,t)}getCombinedModelTransform(e,t){return this.getModelTransform(e,t),null!=this.shaderTransformation&&this.shaderTransformation.applyTransform(this,e,t),t}getCombinedLocalTransform(e,t){this._view.localTransform.getMat(e,t),null!=this.shaderTransformation&&this.shaderTransformation.applyTransform(this,e,t)}getCombinedMaxScaleFactor(e){let t=this._view.modelScaleFactors.get(e,1);return null!=this.shaderTransformation&&(this.shaderTransformation.scaleFactor(jt,this,e),t*=Math.max(jt[0],jt[1],jt[2])),t}getCombinedMedianScaleFactor(e){let t=this._view.modelScaleFactors.get(e,0);return null!=this.shaderTransformation&&(this.shaderTransformation.scaleFactor(jt,this,e),t*=function(e,t,r){return Math.max(Math.min(e,t),Math.min(Math.max(e,t),r))}(jt[0],jt[1],jt[2])),t}getModel(e,t){this._view.model.getMat(e,t)}setFeatureAttribute(e,t){this._view.featureAttribute?.setVec(e,t)}getFeatureAttribute(e,t){this._view.featureAttribute?.getVec(e,t)}setColor(e,t){this._view.color?.setVec(e,t)}setObjectAndLayerIdColor(e,t){this._view.olidColor?.setVec(e,t)}setVisible(e,t){t!==this.getVisible(e)&&(this._setStateFlag(e,4,t),this.events.emit("instance-visibility-changed",{index:e}))}getVisible(e){return this._getStateFlag(e,4)}setHighlight(e,t){const{_highlightOptionsMap:r}=this,i=r.get(e);t?t!==i&&(r.set(e,t),this._setStateFlag(e,8,!0),this.events.emit("instance-highlight-changed")):i&&(r.delete(e),this._setStateFlag(e,8,!1),this.events.emit("instance-highlight-changed"))}get highlightOptionsMap(){return this._highlightOptionsMap}getHighlightStateFlag(e){return this._getStateFlag(e,8)}geHighlightOptionsPrev(e){const t=this._highlightOptionsMapPrev.get(e)??null;return this._highlightOptionsMapPrev.delete(e),t}getHighlightName(e){const t=this.highlightOptionsMap.get(e)??null;return t?this._highlightOptionsMapPrev.set(e,t):this._highlightOptionsMapPrev.delete(e),t}getState(e){return this._view.state.get(e)}getLodLevel(e){return this._view.lodLevel.get(e)}countFlags(e){let t=0;for(let r=0;r<this._capacity;++r)this.getState(r)&e&&++t;return t}_setStateFlags(e,t){const r=this._view.state;t=r.get(e)|t,r.set(e,t)}_clearStateFlags(e,t){const r=this._view.state;t=r.get(e)&~t,r.set(e,t)}_setStateFlag(e,t,r){r?this._setStateFlags(e,t):this._clearStateFlags(e,t)}_getStateFlag(e,t){return!!(this._view.state.get(e)&t)}_grow(){this._capacity=Math.max($t,Math.floor(this._capacity*Ht.Ji)),this._buffer=this._layout.createBuffer(this._capacity).copyFrom(this._buffer),this._view=new zt(this._buffer)}_findSlot(){const e=this._view.state;let t=this._next;for(;1&e.get(t);)t=t+1===this._capacity?0:t+1;return this._next=t+1===this._capacity?0:t+1,t}};(0,Ge.Cg)([(0,vt.MZ)({constructOnly:!0})],Ut.prototype,"shaderTransformation",void 0),(0,Ge.Cg)([(0,vt.MZ)()],Ut.prototype,"_size",void 0),(0,Ge.Cg)([(0,vt.MZ)({readOnly:!0})],Ut.prototype,"size",null),Ut=(0,Ge.Cg)([(0,vt.$K)("esri.views.3d.webgl-engine.lib.lodRendering.InstanceData")],Ut);const Gt=(0,yt.BP)().mat4f64("localTransform").mat4f64("globalTransform").vec4f64("boundingSphere").vec3f64("modelOrigin").mat3f("instanceModel").mat3f("instanceModelNormal").vec2f("modelScaleFactors");function Vt(e,t){return t.instancedFeatureAttribute&&e.vec4f("instanceFeatureAttribute"),t.instancedColor&&e.vec4u8("instanceColor"),(0,Tt.E)()&&e.vec4u8("instanceOlidColor"),e}const jt=(0,h.vt)(),Wt=(0,a.vt)(),kt=(0,c.vt)(),Zt=(0,c.vt)(),$t=64,qt=(0,yt.BP)().vec3f("instanceModelOriginHi").vec3f("instanceModelOriginLo").mat3f("instanceModel").mat3f("instanceModelNormal");var Yt=r(74810),Xt=r(28491),Kt=r(49788);class Jt extends wt.Zo{constructor(){super(...arguments),this.isSchematic=!1,this.usePBR=!1,this.mrrFactors=Yt.mb,this.hasVertexColors=!1,this.hasSymbolColors=!1,this.doubleSided=!1,this.doubleSidedType="normal",this.cullFace=2,this.instanced=!1,this.instancedFeatureAttribute=!1,this.instancedColor=!1,this.instanceColorEncodesAlphaIgnore=!1,this.emissiveStrengthFromSymbol=0,this.emissiveStrengthKHR=1,this.emissiveSource=1,this.emissiveBaseColor=h.uY,this.instancedDoublePrecision=!1,this.normalType=0,this.receiveShadows=!0,this.receiveAmbientOcclusion=!0,this.castShadows=!0,this.ambient=(0,h.CN)(.2,.2,.2),this.diffuse=(0,h.CN)(.8,.8,.8),this.externalColor=(0,_t.fA)(1,1,1,1),this.colorMixMode="multiply",this.opacity=1,this.layerOpacity=1,this.origin=(0,h.vt)(),this.hasSlicePlane=!1,this.offsetTransparentBackfaces=!1,this.vvSize=null,this.vvColor=null,this.vvOpacity=null,this.vvSymbolAnchor=null,this.vvSymbolRotationMatrix=null,this.modelTransformation=null,this.drivenOpacity=!1,this.writeDepth=!0,this.customDepthTest=0,this.textureAlphaMode=0,this.textureAlphaCutoff=Kt.Q,this.textureAlphaPremultiplied=!1,this.renderOccluded=1,this.testsTransparentRenderOrder=0,this.isDecoration=!1}get hasVVSize(){return!!this.vvSize}get hasVVColor(){return!!this.vvColor}get hasVVOpacity(){return!!this.vvOpacity}}wt.gy;let Qt=class extends Mt.w{constructor(e,t){let i=(0,xt.U)(rr(t));t.instanced&&t.instancedDoublePrecision&&(i=i.concat((0,xt.U)(function(e){return Vt(qt.clone(),e)}(t)))),super(e,t,i),this.shader=new bt.r(Xt.D,()=>r.e(5141).then(r.bind(r,5141))),this.ignoreUnused=!0}_makePipeline(e,t){const{oitPass:r,output:i,hasEmission:n,transparent:o,cullFace:s,customDepthTest:a,hasOccludees:l}=e;return(0,St.Ey)({blending:(0,Ne._o)(i)&&o?At(r):null,culling:tr(e)?(0,St.Xt)(s):null,depthTest:Rt(r,er(a)),depthWrite:Et(e),drawBuffers:(0,Mt.L)(i,Ft(r,n)),colorWrite:St.kn,stencilWrite:l?Pt:null,stencilTest:l?t?Nt:Dt:null,polygonOffset:Ot(e)})}initializePipeline(e){return this._occludeePipelineState=this._makePipeline(e,!0),this._makePipeline(e,!1)}getPipeline(e,t){return t?this._occludeePipelineState:super.getPipeline(e)}};function er(e){switch(e){case 1:return 515;case 0:case 3:return 513;case 2:return 516}}function tr(e){return 0!==e.cullFace||!e.hasSlicePlane&&!e.transparent&&!e.doubleSidedMode}function rr(e){const t=(0,yt.BP)().vec3f("position");return 1===e.normalType?t.vec2i16("normalCompressed",{glNormalized:!0}):t.vec3f("normal"),e.hasVertexTangents&&t.vec4f("tangent"),e.hasTextures&&t.vec2f16("uv0"),e.hasVertexColors&&t.vec4u8("color",{glNormalized:!0}),e.hasSymbolColors&&t.vec4u8("symbolColor"),!e.instanced&&(0,Tt.E)()&&t.vec4u8("olidColor"),t}Qt=(0,Ge.Cg)([(0,vt.$K)("esri.views.3d.webgl-engine.shaders.DefaultMaterialTechnique")],Qt);class ir extends We{constructor(e){super(),this.spherical=e,this.alphaDiscardMode=1,this.doubleSidedMode=0,this.pbrMode=0,this.cullFace=0,this.normalType=0,this.customDepthTest=0,this.emissionSource=0,this.hasVertexColors=!1,this.hasSymbolColors=!1,this.hasVerticalOffset=!1,this.hasColorTexture=!1,this.hasMetallicRoughnessTexture=!1,this.hasOcclusionTexture=!1,this.hasNormalTexture=!1,this.hasScreenSizePerspective=!1,this.hasVertexTangents=!1,this.hasOccludees=!1,this.instanced=!1,this.instancedDoublePrecision=!1,this.hasModelTransformation=!1,this.offsetBackfaces=!1,this.hasVVSize=!1,this.hasVVColor=!1,this.receiveShadows=!1,this.receiveAmbientOcclusion=!1,this.textureAlphaPremultiplied=!1,this.instancedFeatureAttribute=!1,this.instancedColor=!1,this.writeDepth=!0,this.transparent=!1,this.enableOffset=!0,this.terrainDepthTest=!1,this.cullAboveTerrain=!1,this.snowCover=!1,this.hasColorTextureTransform=!1,this.hasEmissionTextureTransform=!1,this.hasNormalTextureTransform=!1,this.hasOcclusionTextureTransform=!1,this.hasMetallicRoughnessTextureTransform=!1,this.occlusionPass=!1,this.useCustomDTRExponentForWater=!1,this.useFillLights=!0,this.draped=!1}get textureCoordinateType(){return this.hasTextures?1:0}get hasTextures(){return this.hasColorTexture||this.hasNormalTexture||this.hasMetallicRoughnessTexture||3===this.emissionSource||this.hasOcclusionTexture}get hasVVInstancing(){return this.instanced}get discardInvisibleFragments(){return this.transparent}}(0,Ge.Cg)([(0,je.W)({count:4})],ir.prototype,"alphaDiscardMode",void 0),(0,Ge.Cg)([(0,je.W)({count:3})],ir.prototype,"doubleSidedMode",void 0),(0,Ge.Cg)([(0,je.W)({count:7})],ir.prototype,"pbrMode",void 0),(0,Ge.Cg)([(0,je.W)({count:3})],ir.prototype,"cullFace",void 0),(0,Ge.Cg)([(0,je.W)({count:3})],ir.prototype,"normalType",void 0),(0,Ge.Cg)([(0,je.W)({count:3})],ir.prototype,"customDepthTest",void 0),(0,Ge.Cg)([(0,je.W)({count:8})],ir.prototype,"emissionSource",void 0),(0,Ge.Cg)([(0,je.W)()],ir.prototype,"hasVertexColors",void 0),(0,Ge.Cg)([(0,je.W)()],ir.prototype,"hasSymbolColors",void 0),(0,Ge.Cg)([(0,je.W)()],ir.prototype,"hasVerticalOffset",void 0),(0,Ge.Cg)([(0,je.W)()],ir.prototype,"hasColorTexture",void 0),(0,Ge.Cg)([(0,je.W)()],ir.prototype,"hasMetallicRoughnessTexture",void 0),(0,Ge.Cg)([(0,je.W)()],ir.prototype,"hasOcclusionTexture",void 0),(0,Ge.Cg)([(0,je.W)()],ir.prototype,"hasNormalTexture",void 0),(0,Ge.Cg)([(0,je.W)()],ir.prototype,"hasScreenSizePerspective",void 0),(0,Ge.Cg)([(0,je.W)()],ir.prototype,"hasVertexTangents",void 0),(0,Ge.Cg)([(0,je.W)()],ir.prototype,"hasOccludees",void 0),(0,Ge.Cg)([(0,je.W)()],ir.prototype,"instanced",void 0),(0,Ge.Cg)([(0,je.W)()],ir.prototype,"instancedDoublePrecision",void 0),(0,Ge.Cg)([(0,je.W)()],ir.prototype,"hasModelTransformation",void 0),(0,Ge.Cg)([(0,je.W)()],ir.prototype,"offsetBackfaces",void 0),(0,Ge.Cg)([(0,je.W)()],ir.prototype,"hasVVSize",void 0),(0,Ge.Cg)([(0,je.W)()],ir.prototype,"hasVVColor",void 0),(0,Ge.Cg)([(0,je.W)()],ir.prototype,"receiveShadows",void 0),(0,Ge.Cg)([(0,je.W)()],ir.prototype,"receiveAmbientOcclusion",void 0),(0,Ge.Cg)([(0,je.W)()],ir.prototype,"textureAlphaPremultiplied",void 0),(0,Ge.Cg)([(0,je.W)()],ir.prototype,"instancedFeatureAttribute",void 0),(0,Ge.Cg)([(0,je.W)()],ir.prototype,"instancedColor",void 0),(0,Ge.Cg)([(0,je.W)()],ir.prototype,"writeDepth",void 0),(0,Ge.Cg)([(0,je.W)()],ir.prototype,"transparent",void 0),(0,Ge.Cg)([(0,je.W)()],ir.prototype,"enableOffset",void 0),(0,Ge.Cg)([(0,je.W)()],ir.prototype,"terrainDepthTest",void 0),(0,Ge.Cg)([(0,je.W)()],ir.prototype,"cullAboveTerrain",void 0),(0,Ge.Cg)([(0,je.W)()],ir.prototype,"snowCover",void 0),(0,Ge.Cg)([(0,je.W)()],ir.prototype,"hasColorTextureTransform",void 0),(0,Ge.Cg)([(0,je.W)()],ir.prototype,"hasEmissionTextureTransform",void 0),(0,Ge.Cg)([(0,je.W)()],ir.prototype,"hasNormalTextureTransform",void 0),(0,Ge.Cg)([(0,je.W)()],ir.prototype,"hasOcclusionTextureTransform",void 0),(0,Ge.Cg)([(0,je.W)()],ir.prototype,"hasMetallicRoughnessTextureTransform",void 0);var nr=r(57323);let or=class extends Qt{constructor(){super(...arguments),this.shader=new bt.r(nr.R,()=>r.e(9933).then(r.bind(r,39933)))}};or=(0,Ge.Cg)([(0,vt.$K)("esri.views.3d.webgl-engine.shaders.RealisticTreeTechnique")],or);class sr extends Ze{constructor(e,t){super(e,lr),this.materialType="default",this.supportsEdges=!0,this.intersectDraped=void 0,this.produces=new Map([[2,e=>((0,Ne.iq)(e)||(0,Ne.yT)(e))&&!this.transparent],[4,e=>((0,Ne.iq)(e)||(0,Ne.yT)(e))&&this.transparent&&this.parameters.writeDepth],[9,e=>((0,Ne.iq)(e)||(0,Ne.yT)(e))&&this.transparent&&!this.parameters.writeDepth]]),this._layout=rr(this.parameters),this._configuration=new ir(t.spherical)}isVisibleForOutput(e){return 3!==e&&5!==e&&4!==e||this.parameters.castShadows}get visible(){const{layerOpacity:e,colorMixMode:t,opacity:r,externalColor:i}=this.parameters;return e*("replace"===t?1:r)*("ignore"===t||isNaN(i[3])?1:i[3])>=Kt.Q}get _hasEmissiveBase(){return!!this.parameters.emissiveTextureId||!(0,d.t2)(this.parameters.emissiveBaseColor,h.uY)}get hasEmissions(){return this.parameters.emissiveStrength>0&&(0===this.parameters.emissiveSource&&this._hasEmissiveBase||1===this.parameters.emissiveSource)}getConfiguration(e,t){const{parameters:r,_configuration:i}=this,{treeRendering:n,doubleSided:o,doubleSidedType:s}=r;return super.getConfiguration(e,t,this._configuration),i.hasNormalTexture=r.hasNormalTexture,i.hasColorTexture=r.hasColorTexture,i.hasMetallicRoughnessTexture=r.hasMetallicRoughnessTexture,i.hasOcclusionTexture=r.hasOcclusionTexture,i.hasVertexTangents=!n&&r.hasVertexTangents,i.instanced=r.instanced,i.instancedDoublePrecision=r.instancedDoublePrecision,i.hasVVColor=!!r.vvColor,i.hasVVSize=!!r.vvSize,i.hasVerticalOffset=null!=r.verticalOffset,i.hasScreenSizePerspective=null!=r.screenSizePerspective,i.hasSlicePlane=r.hasSlicePlane,i.alphaDiscardMode=r.textureAlphaMode,i.normalType=n?0:r.normalType,i.transparent=this.transparent,i.writeDepth=r.writeDepth,i.customDepthTest=r.customDepthTest??0,i.hasOccludees=t.hasOccludees,i.cullFace=r.hasSlicePlane?0:r.cullFace,i.cullAboveTerrain=t.cullAboveTerrain,i.hasModelTransformation=!n&&null!=r.modelTransformation,i.hasVertexColors=r.hasVertexColors,i.hasSymbolColors=r.hasSymbolColors,i.doubleSidedMode=n?2:o&&"normal"===s?1:o&&"winding-order"===s?2:0,i.instancedFeatureAttribute=r.instancedFeatureAttribute,i.instancedColor=r.instancedColor,(0,Ne._o)(e)?(i.terrainDepthTest=t.terrainDepthTest,i.receiveShadows=r.receiveShadows,i.receiveAmbientOcclusion=r.receiveAmbientOcclusion&&null!=t.ssao):(i.terrainDepthTest=!1,i.receiveShadows=i.receiveAmbientOcclusion=!1),i.textureAlphaPremultiplied=!!r.textureAlphaPremultiplied,i.pbrMode=r.usePBR?r.isSchematic?2:1:0,i.emissionSource=r.emissionSource,i.offsetBackfaces=!(!this.transparent||!r.offsetTransparentBackfaces),i.enableOffset=t.enableOffset,i.snowCover=t.snowCover>0,i.hasColorTextureTransform=!!r.colorTextureTransformMatrix,i.hasNormalTextureTransform=!!r.normalTextureTransformMatrix,i.hasEmissionTextureTransform=!!r.emissiveTextureTransformMatrix,i.hasOcclusionTextureTransform=!!r.occlusionTextureTransformMatrix,i.hasMetallicRoughnessTextureTransform=!!r.metallicRoughnessTextureTransformMatrix,i}intersect(e,t,r,i,n,o){if(null!=this.parameters.verticalOffset){const e=r.camera;(0,d.hZ)(pr,t[12],t[13],t[14]);let o=null;switch(r.viewingMode){case 1:o=(0,d.S8)(hr,pr);break;case 2:o=(0,d.C)(hr,dr)}const s=(0,d.Re)(fr,pr,e.eye),a=(0,d.Bw)(s),l=(0,d.hs)(s,s,1/a);let c=null;this.parameters.screenSizePerspective&&(c=(0,d.Om)(o,l));const u=(0,ke.kE)(e,a,this.parameters.verticalOffset,c??0,this.parameters.screenSizePerspective,null);(0,d.hs)(o,o,u),(0,d.ei)(mr,o,r.transform.inverseRotation),i=(0,d.Re)(cr,i,mr),n=(0,d.Re)(ur,n,mr)}Ye(e,r,i,n,(0,ut.ou)(r.verticalOffset),o)}createGLMaterial(e){return new ar(e)}createBufferWriter(){return new gt(this._layout)}get transparent(){return function(e){const{drivenOpacity:t,opacity:r,externalColor:i,layerOpacity:n,texture:o,textureId:s,textureAlphaMode:a,colorMixMode:l}=e,c=i[3];return t||r<1&&"replace"!==l||c<1&&"ignore"!==l||n<1||(null!=o||null!=s)&&1!==a&&2!==a&&"replace"!==l}(this.parameters)}}class ar extends Be{constructor(e){super({...e,...e.material.parameters})}beginSlot(e){this._material.setParameters({receiveShadows:e.shadowMap.enabled});const t=this._material.parameters;this.updateTexture(t.textureId);const r=e.camera.viewInverseTransposeMatrix;return(0,d.hZ)(t.origin,r[3],r[7],r[11]),this._material.setParameters(this.textureBindParameters),this.getTechnique(t.treeRendering?or:Qt,e)}}class lr extends Jt{constructor(){super(...arguments),this.treeRendering=!1,this.hasVertexTangents=!1}get hasNormalTexture(){return!this.treeRendering&&!!this.normalTextureId}get hasColorTexture(){return!!this.textureId}get hasMetallicRoughnessTexture(){return!this.treeRendering&&!!this.metallicRoughnessTextureId}get hasOcclusionTexture(){return!this.treeRendering&&!!this.occlusionTextureId}get emissiveStrength(){return this.emissiveStrengthFromSymbol*this.emissiveStrengthKHR}get emissionSource(){return this.treeRendering?0:null!=this.emissiveTextureId&&0===this.emissiveSource?3:0===this.emissiveSource?2:1}get hasTextures(){return this.hasColorTexture||this.hasNormalTexture||this.hasMetallicRoughnessTexture||3===this.emissionSource||this.hasOcclusionTexture}}const cr=(0,h.vt)(),ur=(0,h.vt)(),dr=(0,h.fA)(0,0,1),hr=(0,h.vt)(),mr=(0,h.vt)(),pr=(0,h.vt)(),fr=(0,h.vt)(),gr=()=>I.A.getLogger("esri.views.3d.layers.graphics.objectResourceUtils");class vr{constructor(e,t,r){this.resource=e,this.textures=t,this.usedMemory=r}}function _r(e){const t=e.params,r=t.topology;let i=!0;switch(t.vertexAttributes||(gr().warn("Geometry must specify vertex attributes"),i=!1),t.topology){case"PerAttributeArray":break;case"Indexed":case null:case void 0:{const e=t.faces;if(e){if(t.vertexAttributes)for(const r in t.vertexAttributes){const t=e[r];t?.values?(null!=t.valueType&&"UInt32"!==t.valueType&&(gr().warn(`Unsupported indexed geometry indices type '${t.valueType}', only UInt32 is currently supported`),i=!1),null!=t.valuesPerElement&&1!==t.valuesPerElement&&(gr().warn(`Unsupported indexed geometry values per element '${t.valuesPerElement}', only 1 is currently supported`),i=!1)):(gr().warn(`Indexed geometry does not specify face indices for '${r}' attribute`),i=!1)}}else gr().warn("Indexed geometries must specify faces"),i=!1;break}default:gr().warn(`Unsupported topology '${r}'`),i=!1}e.params.material||(gr().warn("Geometry requires material"),i=!1);const n=e.params.vertexAttributes;for(const e in n)n[e].values||(gr().warn("Geometries with externally defined attributes are not yet supported"),i=!1);return i}function xr(e){const t=(0,m.Ie)();return e.forEach(e=>{const r=e.boundingInfo;null!=r&&((0,m.iT)(t,r.bbMin),(0,m.iT)(t,r.bbMax))}),t}function yr(e){switch(e){case"mask":return 2;case"maskAndTransparency":return 3;case"none":return 1;default:return 0}}function wr(e){const t=e.params;return{id:1,material:t.material,texture:t.texture,region:t.texture}}const br=new D.A(1,2,"wosr");async function Mr(e,t){const a=function(e){const t=e.match(/(.*\.(gltf|glb))(\?lod=([0-9]+))?$/);return t?{fileType:"gltf",url:t[1],specifiedLodIndex:null!=t[4]?Number(t[4]):null}:e.match(/(.*\.(json|json\.gz))$/)?{fileType:"wosr",url:e,specifiedLodIndex:null}:{fileType:"unknown",url:e,specifiedLodIndex:null}}((0,n.EM)(e));if("wosr"===a.fileType){const e=await(t.cache?t.cache.loadWOSR(a.url,t):async function(e,t){const r=await async function(e,t){const r=await(0,E.Ke)((0,A.A)(e,t));if(r.ok)return r.value.data;(0,P.QP)(r.error),function(e){throw new R.A("",`Request for object resource failed: ${e}`)}(r.error)}(e,t),i=await async function(e,t){const r=new Array;for(const i in e){const n=e[i],o=n.images[0].data;if(!o){gr().warn("Externally referenced texture data is not yet supported");continue}const s=n.encoding+";base64,"+o,a="/textureDefinitions/"+i,l="rgba"===n.channels?n.alphaChannelUsage||"transparency":"none",c={noUnpackFlip:!0,wrap:{s:10497,t:10497},preMultiplyAlpha:1!==yr(l)},u=t?.disableTextures?Promise.resolve(null):H(s,t);r.push(u.then(e=>({refId:a,image:e,parameters:c,alphaChannelUsage:l})))}const i=await Promise.all(r),n={};for(const e of i)n[e.refId]=e;return n}(r.textureDefinitions??{},t);let n=0;for(const e in i)if(i.hasOwnProperty(e)){const t=i[e];n+=t?.image?t.image.width*t.image.height*4:0}return new vr(r,i,n+(0,O.Qh)(r))}(a.url,t)),{engineResources:r,referenceBoundingBox:i}=function(e,t){const r=new Array,i=new Array,n=new Array,o=new F.O,s=e.resource,a=D.A.parse(s.version||"1.0","wosr");br.validate(a);const l=s.model.name,c=s.model.geometries,u=s.materialDefinitions??{},d=e.textures;let m=0;const p=new Map;for(let e=0;e<c.length;e++){const s=c[e];if(!_r(s))continue;const a=wr(s),l=s.params.vertexAttributes,f=[],g=e=>{if("PerAttributeArray"===s.params.topology)return null;const t=s.params.faces;for(const r in t)if(r===e)return t[r].values;return null},v=l.position,_=v.values.length/v.valuesPerElement;for(const e in l){const t=l[e],r=t.values,i=g(e)??(0,N.tM)(_);f.push([e,new L.n(r,i,t.valuesPerElement,!0)])}const x=a.texture,y=d&&d[x];if(y&&!p.has(x)){const{image:e,parameters:t}=y,r=new Fe(e,t);i.push(r),p.set(x,r)}const w=p.get(x),b=w?w.id:void 0,M=a.material;let T=o.get(M,x);if(null==T){const e=u[M.slice(M.lastIndexOf("/")+1)].params;1===e.transparency&&(e.transparency=0);const r=y?yr(y.alphaChannelUsage):void 0,i={ambient:(0,h.ci)(e.diffuse),diffuse:(0,h.ci)(e.diffuse),opacity:1-(e.transparency||0),textureAlphaMode:r,textureAlphaCutoff:.33,textureId:b,doubleSided:!0,cullFace:0,colorMixMode:e.externalColorMixMode||"tint",textureAlphaPremultiplied:y?.parameters.preMultiplyAlpha??!1};t?.materialParameters&&Object.assign(i,t.materialParameters),T=new sr(i,t),o.set(M,x,T)}n.push(T);const S=new ne(T,f);m+=f.find(e=>"position"===e[0])?.[1]?.indices.length??0,r.push(S)}return{engineResources:[{name:l,stageResources:{textures:i,materials:n,geometries:r},pivotOffset:s.model.pivotOffset,numberOfVertices:m,lodThreshold:null}],referenceBoundingBox:xr(r)}}(e,t);return{lods:r,referenceBoundingBox:i,isEsriSymbolResource:!1,isWosr:!0}}let p;if(t.cache)p=await t.cache.loadGLTF(a.url,t,!!t.usePBR,!!t.useEmissive);else{const{loadGLTF:e}=await r.e(1698).then(r.bind(r,51698));p=await e(new y.R,a.url,t,t.usePBR,t.useEmissive)}const{engineResources:M,referenceBoundingBox:S}=function(e,t,r){const n=e.model,a=e.meta,p=n.meta?.ESRI_proxyEllipsoid,y=a.isEsriSymbolResource&&null!=p&&"EsriRealisticTreesStyle"===a.ESRI_webstyle;y&&!e.customMeta.esriTreeRendering&&(e.customMeta.esriTreeRendering=!0,function(e,t){for(let r=0;r<e.model.lods.length;++r){const n=e.model.lods[r];for(const o of n.parts){const n=o.attributes.normal;if(null==n)return;const s=o.attributes.position,a=s.count,u=(0,h.vt)(),m=(0,h.vt)(),p=(0,h.vt)(),f=new Float32Array(4*a),v=new Float32Array(3*a),_=(0,l.B8)((0,c.vt)(),o.transform);let x=0,y=0;for(let l=0;l<a;l++){s.getVec(l,m),n.getVec(l,u),(0,d.Z0)(m,m,o.transform),(0,d.Re)(p,m,t.center),(0,d.Qr)(p,p,t.radius);const a=p[2],c=(0,d.Bw)(p),h=Math.min(.45+.55*c*c,1)**i.Tf;(0,d.Qr)(p,p,t.radius),null!==_&&(0,d.Z0)(p,p,_),(0,d.S8)(p,p),r+1!==e.model.lods.length&&e.model.lods.length>1&&(0,d.Cc)(p,p,u,a>-1?.2:Math.min(-4*a-3.8,1)),v[x]=p[0],v[x+1]=p[1],v[x+2]=p[2],x+=3,f[y]=h,f[y+1]=h,f[y+2]=h,f[y+3]=1,y+=4}o.attributes.normal=new g.xs(v.buffer),o.attributes.color=new g.Eq(f.buffer)}}}(e,p));const M=!!t.usePBR,S=a.isEsriSymbolResource?{usePBR:M,isSchematic:!1,treeRendering:y,mrrFactors:Yt.SY}:{usePBR:M,isSchematic:!1,treeRendering:!1,mrrFactors:Yt.mb},A={...t.materialParameters,treeRendering:y},E=new Array,R=new Map,I=new Map,O=n.lods.length,F=(0,m.Ie)();return n.lods.forEach((e,a)=>{const l=!0===t.skipHighLods&&(O>1&&0===a||O>3&&1===a)||!1===t.skipHighLods&&null!=r&&a!==r;if(l&&0!==a)return;const c=new C(e.name,e.lodThreshold,[0,0,0]);e.parts.forEach(e=>{const r=l?new sr({},t):function(e,t,r,n,o,s,a,l,c){const d=e.materials.get(t.material);if(null==d)return null;const{normal:h,color:m,texCoord0:p,tangent:f}=t.attributes,g=t.material+(h?"_normal":"")+(m?"_color":"")+(p?"_texCoord0":"")+(f?"_tangent":""),v=null!=t.attributes.texCoord0,_=null!=t.attributes.normal,x=function(e){switch(e){case"BLEND":return 0;case"MASK":return 2;case"OPAQUE":case null:case void 0:return 1}}(d.alphaMode);if(!s.has(g)){if(v){const t=(t,r=!1,i=!1)=>{if(null!=t&&!a.has(t)){const n=e.textures.get(t);if(n){const e=n.data,o=r&&!(0,b.x3)(e)?l.compressionOptions:void 0;a.set(t,new Fe((0,b.x3)(e)?e.data:e,{...n.parameters,preMultiplyAlpha:!(0,b.x3)(e)&&i,encoding:(0,b.x3)(e)?e.encoding:void 0,compressionOptions:o}))}}},r=1!==x&&!c;t(d.colorTexture,r,1!==x),t(d.normalTexture),t(d.occlusionTexture,!0),t(d.emissiveTexture),t(d.metallicRoughnessTexture,!0)}const r=(0,i.xV)(d.color[0]),h=(0,i.xV)(d.color[1]),m=(0,i.xV)(d.color[2]),p=null!=d.colorTexture&&v?a.get(d.colorTexture):null,f=(0,Yt.Jr)(d),y=null!=d.normalTextureTransform?.scale?d.normalTextureTransform?.scale:u.Un;s.set(g,new sr({...n,customDepthTest:1,textureAlphaMode:x,textureAlphaCutoff:d.alphaCutoff,diffuse:[r,h,m],ambient:[r,h,m],opacity:"OPAQUE"===d.alphaMode?1:d.opacity,doubleSided:d.doubleSided,doubleSidedType:"winding-order",cullFace:d.doubleSided?0:2,hasVertexColors:!!t.attributes.color,hasVertexTangents:!!t.attributes.tangent,normalType:_?0:2,castShadows:!0,receiveShadows:d.receiveShadows,receiveAmbientOcclusion:d.receiveAmbientOcclusion,textureId:null!=p?p.id:void 0,colorMixMode:d.colorMixMode,normalTextureId:null!=d.normalTexture&&v?a.get(d.normalTexture).id:void 0,textureAlphaPremultiplied:null!=p&&!!p.parameters.preMultiplyAlpha,occlusionTextureId:null!=d.occlusionTexture&&v?a.get(d.occlusionTexture).id:void 0,emissiveTextureId:null!=d.emissiveTexture&&v?a.get(d.emissiveTexture).id:void 0,metallicRoughnessTextureId:null!=d.metallicRoughnessTexture&&v?a.get(d.metallicRoughnessTexture).id:void 0,emissiveBaseColor:[d.emissiveFactor[0],d.emissiveFactor[1],d.emissiveFactor[2]],emissiveStrengthKHR:null!=d.emissiveStrengthKHR?d.emissiveStrengthKHR:1,emissiveStrengthFromSymbol:null!=o.emissiveStrengthFromSymbol?o.emissiveStrengthFromSymbol:void 0,mrrFactors:f?Yt.Bt:[d.metallicFactor,d.roughnessFactor,n.mrrFactors[2]],isSchematic:f,colorTextureTransformMatrix:T(d.colorTextureTransform),normalTextureTransformMatrix:T(d.normalTextureTransform),scale:[y[0],y[1]],occlusionTextureTransformMatrix:T(d.occlusionTextureTransform),emissiveTextureTransformMatrix:T(d.emissiveTextureTransform),metallicRoughnessTextureTransformMatrix:T(d.metallicRoughnessTextureTransform),...o},l))}const y=s.get(g);if(r.stageResources.materials.push(y),v){const e=e=>{null!=e&&r.stageResources.textures.push(a.get(e))};e(d.colorTexture),e(d.normalTexture),e(d.occlusionTexture),e(d.emissiveTexture),e(d.metallicRoughnessTexture)}return y}(n,e,c,S,A,R,I,t,y),{geometry:d,vertexCount:h}=function(e,t){const r=e.attributes.position.count,i=(0,w.x)(e.indices||r,e.primitiveType),n=f(3*r),{typedBuffer:a,typedBufferStride:l}=e.attributes.position;(0,v.t)(n,a,e.transform,3,l);const c=[["position",new L.n(n,i,3,!0)]];if(null!=e.attributes.normal){const t=f(3*r),{typedBuffer:n,typedBufferStride:a}=e.attributes.normal;(0,s.Ge)(Tr,e.transform),(0,v.b)(t,n,Tr,3,a),(0,o.or)(Tr)&&(0,v.n)(t,t),c.push(["normal",new L.n(t,i,3,!0)])}if(null!=e.attributes.tangent){const t=f(4*r),{typedBuffer:n,typedBufferStride:a}=e.attributes.tangent;(0,s.z0)(Tr,e.transform),(0,_.t)(t,n,Tr,4,a),(0,o.or)(Tr)&&(0,v.n)(t,t,4),c.push(["tangent",new L.n(t,i,4,!0)])}if(null!=e.attributes.texCoord0){const t=f(2*r),{typedBuffer:n,typedBufferStride:o}=e.attributes.texCoord0;(0,x.a)(t,n,2,o),c.push(["uv0",new L.n(t,i,2,!0)])}const u=e.attributes.color;if(null!=u){const t=new Uint8Array(4*r);4===u.elementCount?u instanceof g.Eq?(0,_.b)(t,u,1,255):(u instanceof g.XP||u instanceof g.Uz)&&(0,_.b)(t,u,1/255,255):(t.fill(255),u instanceof g.xs?(0,v.f)(t,u.typedBuffer,1,255,4,u.typedBufferStride):(e.attributes.color instanceof g.eI||e.attributes.color instanceof g.nS)&&(0,v.f)(t,u.typedBuffer,1/255,255,4,e.attributes.color.typedBufferStride)),c.push(["color",new L.n(t,i,4,!0)])}return{geometry:new ne(t,c),vertexCount:r}}(e,r??new sr({},t)),p=d.boundingInfo;null!=p&&0===a&&((0,m.iT)(F,p.bbMin),(0,m.iT)(F,p.bbMax)),null!=r&&(c.stageResources.geometries.push(d),c.numberOfVertices+=h)}),l||E.push(c)}),{engineResources:E,referenceBoundingBox:F}}(p,t,a.specifiedLodIndex);return{lods:M,referenceBoundingBox:S,isEsriSymbolResource:p.meta.isEsriSymbolResource,isWosr:!1}}const Tr=(0,a.vt)()},1843(e,t,r){r.d(t,{BP:()=>d,l5:()=>h});var i=r(20498),n=r(13030),o=r(90239),s=r(4431),a=r(620),l=r(85079);class c{constructor(e,t,r=0){this.layout=e,this.byteOffset=r,this.buffer="number"==typeof t?new ArrayBuffer(t*e.stride):t;for(const t of e.fields.keys()){const i=e.fields.get(t);this[t]=new i.constructor(this.buffer,r+i.offset,this.stride)}}get stride(){return this.layout.stride}get count(){return this.byteLength/this.stride}get byteLength(){return this.buffer.byteLength-this.byteOffset}getField(e,t){const r=this[e];return r&&r.elementCount===t.ElementCount&&r.elementType===t.ElementType?r:null}slice(e,t){return new c(this.layout,this.buffer.slice(e*this.stride,t*this.stride))}copyFrom(e,t=0,r=0,i=e.count){const n=this.stride;if(n%4==0){const o=new Uint32Array(e.buffer,t*n,i*n/4);new Uint32Array(this.buffer,r*n,i*n/4).set(o)}else{const o=new Uint8Array(e.buffer,t*n,i*n);new Uint8Array(this.buffer,r*n,i*n).set(o)}return this}get usedMemory(){return this.byteLength}dispose(){}}class u{constructor(e){this._stride=0,this._fields=new Map,e&&(this._stride=e.stride,e.fields.forEach(e=>this._fields.set(e[0],{...e[1],constructor:f(e[1].constructor)})))}freeze(){return this}get locations(){return(0,l.Xk)((0,s.U)(this))}vec2f16(e,t){return this._appendField(e,i.SX?n.ZD:n.gH,t),this}vec2f(e,t){return this._appendField(e,n.gH,t),this}vec2f64(e,t){return this._appendField(e,n.si,t),this}vec3f16(e,t){return this._appendField(e,i.SX?n.EC:n.xs,t),this}vec3f(e,t){return this._appendField(e,n.xs,t),this}vec3f64(e,t){return this._appendField(e,n.Xm,t),this}vec4f16(e,t){return this._appendField(e,i.SX?n.jz:n.Eq,t),this}vec4f(e,t){return this._appendField(e,n.Eq,t),this}vec4f64(e,t){return this._appendField(e,n.Aj,t),this}mat3f(e,t){return this._appendField(e,n.jZ,t),this}mat3f64(e,t){return this._appendField(e,n.j0,t),this}mat4f(e,t){return this._appendField(e,n.Sx,t),this}mat4f64(e,t){return this._appendField(e,n.E$,t),this}vec4u8(e,t){return this._appendField(e,n.XP,t),this}f16(e,t){return this._appendField(e,i.SX?n.XW:n.Y$,t),this}f32(e,t){return this._appendField(e,n.Y$,t),this}f64(e,t){return this._appendField(e,n.qB,t),this}u8(e,t){return this._appendField(e,n.SL,t),this}u16(e,t){return this._appendField(e,n.h,t),this}i8(e,t){return this._appendField(e,n.bf,t),this}vec2i8(e,t){return this._appendField(e,n.D6,t),this}vec2i16(e,t){return this._appendField(e,n.mJ,t),this}vec2u8(e,t){return this._appendField(e,n.LC,t),this}vec2u16(e,t){return this._appendField(e,n.Yi,t),this}vec4u16(e,t){return this._appendField(e,n.Uz,t),this}vec4i16(e,t){return this._appendField(e,n.E7,t),this}u32(e,t){return this._appendField(e,n.P,t),this}_appendField(e,t,r){this._fields.has(e)&&(0,a.vA)(!1,`${e} already added to vertex buffer layout`);const i=t.ElementCount*(0,o.GJ)(t.ElementType),n=this._stride;this._fields.set(e,{constructor:t,size:i,offset:n,optional:r}),this._alignFields()}_alignFields(){let e=0,t=1;this._fields.forEach(r=>{const i=(0,o.GJ)(r.constructor.ElementType);e=Math.floor((e+i-1)/i)*i,r.offset=e,e+=r.size,t=Math.max(t,i)}),e=Math.floor((e+t-1)/t)*t,this._stride=e}createBuffer(e){return new c(this,e)}createView(e,t){return new c(this,e,t)}clone(){const e=new u;return e._stride=this._stride,e._fields=new Map,this._fields.forEach((t,r)=>e._fields.set(r,t)),e.BufferType=this.BufferType,e}get stride(){return this._stride}get fields(){return this._fields}}function d(){return new u}class h{constructor(e){this.fields=new Array,e.fields.forEach((e,t)=>{const r={...e,constructor:p(e.constructor)};this.fields.push([t,r])}),this.stride=e.stride}}const m=[n.Y$,n.gH,n.xs,n.Eq,n.jZ,n.Sx,n.qB,n.si,n.Xm,n.Aj,n.j0,n.E$,n.SL,n.LC,n.eI,n.XP,n.h,n.Yi,n.nS,n.Uz,n.P,n.An,n.H$,n.ml,n.bf,n.D6,n.m8,n.TX,n.Qt,n.mJ,n.Vp,n.E7,n.My,n.UL,n.zD,n.Y4];function p(e){return`${e.ElementType}_${e.ElementCount}`}function f(e){return g.get(e)}const g=new Map;m.forEach(e=>g.set(p(e),e))},4431(e,t,r){r.d(t,{U:()=>o});var i=r(63907),n=r(74038);function o(e,t=0){const r=e.stride;return Array.from(e.fields.keys()).map(o=>{const s=e.fields.get(o),a=s.constructor.ElementCount,l=function(e){switch(e){case"u8":return i.pe.UNSIGNED_BYTE;case"u16":return i.pe.UNSIGNED_SHORT;case"u32":return i.pe.UNSIGNED_INT;case"i8":return i.pe.BYTE;case"i16":return i.pe.SHORT;case"i32":return i.pe.INT;case"f16":return i.pe.HALF_FLOAT;case"f32":return i.pe.FLOAT;default:throw new Error("BufferType not supported in WebGL")}}(s.constructor.ElementType),c=s.offset,u=s.optional?.glNormalized??!1,d=s.optional?.integer??!1;return new n._(o,a,l,c,r,u,t,d)})}},46686(e,t,r){r.d(t,{o:()=>n});var i=r(31821);function n(e,t){t&&e.varyings.add("linearDepth","float",{invariant:!0}),e.vertex.code.add(i.H`
|
|
233
|
+
fragBlur = b / w_total;`),e}const h=Object.freeze(Object.defineProperty({__proto__:null,build:d},Symbol.toStringTag,{value:"Module"}))},43609(e,t,r){r.d(t,{a:()=>o,f:()=>s,n:()=>n});var i=r(34275);function n(e,t){o(e.typedBuffer,t.typedBuffer,e.typedBufferStride,t.typedBufferStride)}function o(e,t,r=2,n=r){const o=t.length/2;let s=0,a=0;if(!(0,i.iu)(t)||(0,i.dk)(t)){for(let i=0;i<o;++i)e[s]=t[a],e[s+1]=t[a+1],s+=r,a+=n;return}const l=(0,i.a3)(t);if((0,i.JI)(t))for(let i=0;i<o;++i)e[s]=Math.max(t[a]/l,-1),e[s+1]=Math.max(t[a+1]/l,-1),s+=r,a+=n;else for(let i=0;i<o;++i)e[s]=t[a]/l,e[s+1]=t[a+1]/l,s+=r,a+=n}function s(e,t,r,i){const n=e.typedBuffer,o=e.typedBufferStride,s=i?.count??e.count;let a=(i?.dstIndex??0)*o;for(let e=0;e<s;++e)n[a]=t,n[a+1]=r,a+=o}Object.freeze(Object.defineProperty({__proto__:null,fill:s,normalizeIntegerBuffer:o,normalizeIntegerBufferView:n},Symbol.toStringTag,{value:"Module"}))},73354(e,t,r){r.d(t,{a:()=>d,b:()=>a,c:()=>s,d:()=>n,e:()=>h,f:()=>u,l:()=>c,n:()=>m,t:()=>o});var i=r(40876);function n(e,t,r){o(e.typedBuffer,t.typedBuffer,r,e.typedBufferStride,t.typedBufferStride)}function o(e,t,r,i=3,n=i){if(e.length/i!==Math.ceil(t.length/n))return e;const o=e.length/i,s=r[0],a=r[1],l=r[2],c=r[4],u=r[5],d=r[6],h=r[8],m=r[9],p=r[10],f=r[12],g=r[13],v=r[14];let _=0,x=0;for(let r=0;r<o;r++){const r=t[_],o=t[_+1],y=t[_+2];e[x]=s*r+c*o+h*y+f,e[x+1]=a*r+u*o+m*y+g,e[x+2]=l*r+d*o+p*y+v,_+=n,x+=i}return e}function s(e,t,r){a(e.typedBuffer,t.typedBuffer,r,e.typedBufferStride,t.typedBufferStride)}function a(e,t,r,i=3,n=i){if(e.length/i!==Math.ceil(t.length/n))return;const o=e.length/i,s=r[0],a=r[1],l=r[2],c=r[3],u=r[4],d=r[5],h=r[6],m=r[7],p=r[8];let f=0,g=0;for(let r=0;r<o;r++){const r=t[f],o=t[f+1],v=t[f+2];e[g]=s*r+c*o+h*v,e[g+1]=a*r+u*o+m*v,e[g+2]=l*r+d*o+p*v,f+=n,g+=i}}function l(e,t,r,i=3,n=i){const o=Math.min(e.length/i,t.length/n);let s=0,a=0;for(let l=0;l<o;l++)e[a]=r*t[s],e[a+1]=r*t[s+1],e[a+2]=r*t[s+2],s+=n,a+=i;return e}function c(e,t,r,i){u(e.typedBuffer,t.typedBuffer,r,i,e.typedBufferStride,t.typedBufferStride)}function u(e,t,r,n,o=3,s=o){const a=Math.min(e.length/o,t.length/s);let l=0,c=0;const u=1/i.Tf;for(let i=0;i<a;i++)e[c]=n*(r*t[l])**u,e[c+1]=n*(r*t[l+1])**u,e[c+2]=n*(r*t[l+2])**u,l+=s,c+=o}function d(e,t,r,i=3,n=i){const o=e.length/i;if(o!==Math.ceil(t.length/n))return e;let s=0,a=0;for(let l=0;l<o;l++)e[a]=t[s]+r[0],e[a+1]=t[s+1]+r[1],e[a+2]=t[s+2]+r[2],s+=n,a+=i;return e}function h(e,t){m(e.typedBuffer,t.typedBuffer,e.typedBufferStride,t.typedBufferStride)}function m(e,t,r=3,i=r){const n=Math.min(e.length/r,t.length/i);let o=0,s=0;for(let a=0;a<n;a++){const n=t[o],a=t[o+1],l=t[o+2],c=n*n+a*a+l*l;if(c>0){const t=1/Math.sqrt(c);e[s]=t*n,e[s+1]=t*a,e[s+2]=t*l}o+=i,s+=r}}r(44208),r(53966),Object.freeze(Object.defineProperty({__proto__:null,linearToSRGB:u,linearToSRGBView:c,normalize:m,normalizeView:h,scale:l,scaleView:function(e,t,r){l(e.typedBuffer,t.typedBuffer,r,e.typedBufferStride,t.typedBufferStride)},shiftRight:function(e,t,r){const i=Math.min(e.count,t.count),n=e.typedBuffer,o=e.typedBufferStride,s=t.typedBuffer,a=t.typedBufferStride;let l=0,c=0;for(let e=0;e<i;e++)n[c]=s[l]>>r,n[c+1]=s[l+1]>>r,n[c+2]=s[l+2]>>r,l+=a,c+=o},transformMat3:a,transformMat3View:s,transformMat4:o,transformMat4View:n,translate:d},Symbol.toStringTag,{value:"Module"}))},69052(e,t,r){r.d(t,{hr:()=>n,ie:()=>l,uC:()=>a});var i=r(34727);class n{constructor(e,t){this.min=e,this.max=t,this.range=t-e}normalize(e,t=0,r=!1){return o(this.range,this.min,this.max,e,t,r)}clamp(e,t=0){return(0,i.qE)(e-t,this.min,this.max)+t}monotonic(e,t,r){return e<t?t:t+s(this.range,e-t,r)}minimalMonotonic(e,t,r){return o(this.range,e,e+this.range,t,r)}center(e,t,r){return t=this.monotonic(e,t,r),this.normalize((e+t)/2,r)}diff(e,t,r){return this.monotonic(e,t,r)-e}shortestSignedDiff(e,t){e=this.normalize(e);const r=(t=this.normalize(t))-e,i=t<e?this.minimalMonotonic(e,t)-e:t-this.minimalMonotonic(t,e);return Math.abs(r)<Math.abs(i)?r:i}contains(e,t,r){return t=this.minimalMonotonic(e,t),(r=this.minimalMonotonic(e,r))>e&&r<t}}function o(e,t,r,i,n=0,o=!1){return(i-=n)<t?i+=s(e,t-i):i>r&&(i-=s(e,i-r)),o&&i===r&&(i=t),i+n}function s(e,t,r=0){return Math.ceil((t-r)/e)*e+r}const a=new n(0,2*Math.PI),l=(new n(-Math.PI,Math.PI),new n(0,360))},81139(e,t,r){r.d(t,{O:()=>i});class i{constructor(){this._outer=new Map}clear(){this._outer.clear()}get empty(){return 0===this._outer.size}get outerSize(){return this._outer.size}get size(){let e=0;for(const t of this._outer.values())e+=t.size;return e}get(e,t){return this._outer.get(e)?.get(t)}getInner(e){return this._outer.get(e)}set(e,t,r){const i=this._outer.get(e);i?i.set(t,r):this._outer.set(e,new Map([[t,r]]))}delete(e,t){const r=this._outer.get(e);r&&(r.delete(t),0===r.size&&this._outer.delete(e))}pop(e,t){const r=this.get(e,t);return this.delete(e,t),r}*outerMap(){for(const e of this._outer)yield e}*values(){for(const e of this._outer.values())yield*e.values()}*[Symbol.iterator](){for(const[e,t]of this._outer)for(const[r,i]of t)yield[e,r,i]}forEach(e){this._outer.forEach((t,r)=>e(t,r))}forAll(e){this._outer.forEach((t,r)=>t.forEach((t,i)=>e(t,r,i)))}copy(){const e=new i;return this.forAll((t,r,i)=>e.set(r,i,t)),e}}},4341(e,t,r){r.d(t,{I:()=>n});var i=r(26390);class n{constructor(e){this._allocator=e,this._items=[],this._itemsPtr=0,this._grow()}get(){return 0===this._itemsPtr&&(0,i.d)(()=>this._reset()),this._itemsPtr===this._items.length&&this._grow(),this._items[this._itemsPtr++]}_reset(){const e=Math.min(3*Math.max(8,this._itemsPtr),this._itemsPtr+3*o);this._items.length=Math.min(e,this._items.length),this._itemsPtr=0}_grow(){for(let e=0;e<Math.max(8,Math.min(this._items.length,o));e++)this._items.push(this._allocator())}}const o=1024},46140(e,t,r){r.d(t,{A:()=>n});var i=r(49186);class n{constructor(e,t,r=""){this.major=e,this.minor=t,this._context=r}lessThan(e,t){return this.major<e||e===this.major&&this.minor<t}greaterEqual(e,t){return!this.lessThan(e,t)}toString(){return`${this.major}.${this.minor}`}validate(e){if(this.major!==e.major){const t=this._context&&this._context+":",r=this._context&&this._context+" ";throw new i.A(t+"unsupported-version",`Required major ${r}version is '${this.major}', but got '\${version.major}.\${version.minor}'`,{version:e})}}clone(){return new n(this.major,this.minor,this._context)}static parse(e,t=""){const[r,o]=e.split("."),s=/^\s*\d+\s*$/;if(!r?.match||!s.test(r))throw new i.A((t&&t+":")+"invalid-version","Expected major version to be a number, but got '${version}'",{version:e});if(!o?.match||!s.test(o))throw new i.A((t&&t+":")+"invalid-version","Expected minor version to be a number, but got '${version}'",{version:e});const a=parseInt(r,10),l=parseInt(o,10);return new n(a,l,t)}}},61473(e,t,r){function i(e){return e=e||globalThis.location.hostname,c.some(t=>null!=e?.match(t))}function n(e,t){return e?(t=t||globalThis.location.hostname)?null!=t.match(o)||null!=t.match(a)?e.replace("static.arcgis.com","staticdev.arcgis.com"):null!=t.match(s)||null!=t.match(l)?e.replace("static.arcgis.com","staticqa.arcgis.com"):e:e:null}r.d(t,{EM:()=>n,b5:()=>i});const o=/^devext\.arcgis\.com$/,s=/^qaext\.arcgis\.com$/,a=/^[\w-]*\.mapsdevext\.arcgis\.com$/,l=/^[\w-]*\.mapsqa\.arcgis\.com$/,c=[/^([\w-]*\.)?[\w-]*\.zrh-dev-local\.esri\.com$/,o,s,/^jsapps\.esri\.com$/,a,l]},88340(e,t,r){function i(){return new Float32Array(2)}function n(e,t){const r=new Float32Array(2);return r[0]=e,r[1]=t,r}function o(){return i()}function s(){return n(1,1)}function a(){return n(1,0)}function l(){return n(0,1)}r.d(t,{Un:()=>u,fA:()=>n,uY:()=>c,vt:()=>i});const c=o(),u=s(),d=a(),h=l();Object.freeze(Object.defineProperty({__proto__:null,ONES:u,UNIT_X:d,UNIT_Y:h,ZEROS:c,clone:function(e){const t=new Float32Array(2);return t[0]=e[0],t[1]=e[1],t},create:i,fromValues:n,ones:s,unitX:a,unitY:l,zeros:o},Symbol.toStringTag,{value:"Module"}))},69397(e,t,r){r.d(t,{Qf:()=>l,Qh:()=>s,RS:()=>n,Ul:()=>m,lM:()=>o,qK:()=>u});var i=r(34275);const n=16;function o(e){if(!e)return 0;let t=u;for(const r in e)e.hasOwnProperty(r)&&(t+=a(e[r],!1));return t}function s(e){if(!e)return 0;if("number"==typeof e[0])return l(e);if(Array.isArray(e))return function(e){const t=e.length;if(0===t||"number"==typeof e[0])return c(e,8);let r=d;for(let i=0;i<t;i++)r+=a(e[i]);return r}(e);let t=u;for(const r in e)e.hasOwnProperty(r)&&(t+=a(e[r]));return t}function a(e,t=!0){switch(typeof e){case"object":return t?s(e):u;case"string":return function(e){return 32+e.length}(e);case"number":return n;case"boolean":return 4;default:return 8}}function l(...e){return e.reduce((e,t)=>e+(t?(0,i.iu)(t)?t.byteLength+h:Array.isArray(t)?c(t,n):0:0),0)}function c(e,t){return d+e.length*t}const u=32,d=16,h=145,m=64},65806(e,t,r){r.d(t,{g:()=>s});var i=r(51850),n=r(91218),o=r(9762);function s(e,t,r,i){if((0,n.canProjectWithoutEngine)(e.spatialReference,r))return a[0]=e.x,a[1]=e.y,a[2]=e.z??0,(0,o.projectBuffer)(a,e.spatialReference,0,t,r,0);const s=(0,n.tryProject)(e,r,i);return!!s&&(t[0]=s.x,t[1]=s.y,t[2]=s.z??0,!0)}const a=(0,i.vt)()},27993(e,t,r){r.d(t,{F:()=>a});var i=r(91218),n=r(16930),o=r(9762),s=r(65806);function a(e,t,r,n){return!(null==t||null==n||e.length<2)&&((0,i.canProjectWithoutEngine)(t,n)?(0,o.projectBuffer)(e,t,0,r,n,0,1):(l.x=e[0],l.y=e[1],l.z=e[2],l.spatialReference=t,(0,s.g)(l,r,n)))}const l={x:0,y:0,z:0,hasZ:!0,hasM:!1,spatialReference:n.A.WGS84,type:"point"}},97146(e,t,r){r.d(t,{Dg:()=>o,my:()=>s,tM:()=>u,uW:()=>n});var i=r(34275);function n(e){return o(e,!0)}function o(e,t){if(Array.isArray(e)){if(e.length<i.y9)return e}else if(e.length<i.y9)return Array.from(e);let r=!0,n=!0;return e.some((e,t)=>(r=r&&0===e,n=n&&e===t,!r&&!n)),r?function(e){if(1===e)return l;if(e<i.y9)return new Array(e).fill(0);if(e>h.length){const t=Math.max(2*h.length,e);h=new Uint8Array(t)}return new Uint8Array(h.buffer,0,e)}(e.length):n?u(e.length):(0,i.iu)(e)&&e.BYTES_PER_ELEMENT===Uint16Array.BYTES_PER_ELEMENT?e:function(e,t){for(const r of e){if(r>=65536)return(0,i.iu)(e)?e:new Uint32Array(e);r>=256&&(t=!1)}return t?new Uint8Array(e):new Uint16Array(e)}(e,!t)}function s(e){return e<=i.y9?new Array(e):e<=65536?new Uint16Array(e):new Uint32Array(e)}let a=d(131072);const l=[0],c=(()=>{const e=new Uint16Array(65536);for(let t=0;t<e.length;++t)e[t]=t;return e})();function u(e){return 1===e?l:e<i.y9?Array.from(new Uint16Array(c.buffer,0,e)):e<c.length?new Uint16Array(c.buffer,0,e):(e>a.length&&(a=d(Math.max(2*a.length,e))),new Uint32Array(a.buffer,0,e))}function d(e){const t=new Uint32Array(e);for(let e=0;e<t.length;e++)t[e]=e;return t}let h=new Uint8Array(65536)},90239(e,t,r){function i(e){switch(e){case"u8":case"i8":return 1;case"u16":case"i16":case"f16":return 2;case"u32":case"i32":case"f32":return 4;case"f64":return 8}}r.d(t,{GJ:()=>i})},82919(e,t,r){r.d(t,{DV:()=>v,C:()=>f,vt:()=>m,Qy:()=>p,ui:()=>g,ST:()=>y,bU:()=>w,pw:()=>x,m7:()=>_,c8:()=>M});var i=r(4341),n=r(58083),o=r(35522),s=r(51850),a=r(78955),l=r(91829),c=r(71351);function u(e){return e?{ray:(0,c.vt)(e.ray),c0:e.c0,c1:e.c1}:{ray:(0,c.vt)(),c0:0,c1:Number.MAX_VALUE}}new i.I(()=>u());var d=r(27921),h=r(32114);function m(e){return e?[(0,d.vt)(e[0]),(0,d.vt)(e[1]),(0,d.vt)(e[2]),(0,d.vt)(e[3]),(0,d.vt)(e[4]),(0,d.vt)(e[5])]:[(0,d.vt)(),(0,d.vt)(),(0,d.vt)(),(0,d.vt)(),(0,d.vt)(),(0,d.vt)()]}function p(){return[(0,s.vt)(),(0,s.vt)(),(0,s.vt)(),(0,s.vt)(),(0,s.vt)(),(0,s.vt)(),(0,s.vt)(),(0,s.vt)()]}function f(e,t){for(let r=0;r<T;r++)(0,d.C)(e[r],t[r]);return e}function g(e,t,r,i=E){const s=(0,n.lw)(h.Rc.get(),t,e);(0,n.B8)(s,s);for(let e=0;e<S;++e){const t=(0,a.Z0)(h.Km.get(),C[e],s);(0,o.hZ)(i[e],t[0]/t[3],t[1]/t[3],t[2]/t[3])}v(r,i)}function v(e,t){(0,d.Cr)(t[4],t[0],t[3],e[0]),(0,d.Cr)(t[1],t[5],t[6],e[1]),(0,d.Cr)(t[4],t[5],t[1],e[2]),(0,d.Cr)(t[3],t[2],t[6],e[3]),(0,d.Cr)(t[0],t[1],t[2],e[4]),(0,d.Cr)(t[5],t[4],t[7],e[5])}function _(e,t){for(let r=0;r<T;r++){const i=e[r];if(i[0]*t.center[0]+i[1]*t.center[1]+i[2]*t.center[2]+i[3]>=t.radius)return!1}return!0}function x(e,t){return b(e,function(e,t=u()){return(0,c.C)(e,t.ray),t.c0=0,t.c1=Number.MAX_VALUE,t}(t,A.get()))}function y(e,t,r){return b(e,function(e,t,r=u()){const i=(0,o.Bw)(e.vector);return(0,c.fA)(e.origin,t,r.ray),r.c0=0,r.c1=i,r}(t,r,A.get()))}function w(e,t){for(let r=0;r<T;r++)if((0,d.mN)(e[r],t)>0)return!1;return!0}function b(e,t){for(let r=0;r<T;r++)if(!(0,d.$Q)(e[r],t))return!1;return!0}const M={bottom:[5,1,0,4],near:[0,1,2,3],far:[5,4,7,6],right:[1,5,6,2],left:[4,0,3,7],top:[7,3,2,6]},T=6,S=8,C=[(0,l.fA)(-1,-1,-1,1),(0,l.fA)(1,-1,-1,1),(0,l.fA)(1,1,-1,1),(0,l.fA)(-1,1,-1,1),(0,l.fA)(-1,-1,1,1),(0,l.fA)(1,-1,1,1),(0,l.fA)(1,1,1,1),(0,l.fA)(-1,1,1,1)],A=new i.I(u),E=p()},11964(e,t,r){r.d(t,{Cr:()=>u,LV:()=>c,_I:()=>d,vt:()=>l});var i=r(34727),n=r(4341),o=r(35522),s=r(51850),a=r(32114);function l(e){return e?{origin:(0,s.o8)(e.origin),vector:(0,s.o8)(e.vector)}:{origin:(0,s.vt)(),vector:(0,s.vt)()}}function c(e,t){const r=h.get();return r.origin=e,r.vector=t,r}function u(e,t,r=l()){return(0,o.C)(r.origin,e),(0,o.Re)(r.vector,t,e),r}function d(e,t,r){return function(e,t,r,n,s){const{vector:l,origin:c}=e,u=(0,o.Re)(a.rq.get(),t,c),d=(0,o.Om)(l,u)/(0,o.m3)(l);return(0,o.hs)(s,l,(0,i.qE)(d,0,1)),(0,o.WQ)(s,s,e.origin)}(e,t,0,0,r)}(0,s.vt)(),(0,s.vt)();const h=new n.I(()=>l())},17136(e,t,r){r.d(t,{Y_:()=>E,O7:()=>C,el:()=>S});var i=r(92602),n=r(69052),o=r(49186),s=r(53966),a=r(39829),l=r(82799),c=r(16930),u=r(80754),d=r(21325),h=r(28735),m=r(11254),p=r(60408),f=r(65864),g=r(2272),v=r(84952),_=r(92300);const x=()=>s.A.getLogger("esri.geometry.support.normalizeUtils");function y(e){return"polygon"===e[0].type}function w(e){return"polyline"===e[0].type}function b(e,t,r){if(t){const t=function(e,t){if(!(e instanceof l.A||e instanceof a.A)){const e="straightLineDensify: the input geometry is neither polyline nor polygon";throw x().error(e),new o.A("internal:geometry",e)}const r=(0,u.r8)(e),i=[];for(const e of r){const r=[];i.push(r),r.push([e[0][0],e[0][1]]);for(let i=0;i<e.length-1;i++){const n=e[i][0],o=e[i][1],s=e[i+1][0],a=e[i+1][1],l=Math.sqrt((s-n)*(s-n)+(a-o)*(a-o)),c=(a-o)/l,u=(s-n)/l,d=l/t;if(d>1){for(let e=1;e<=d-1;e++){const i=e*t,s=u*i+n,a=c*i+o;r.push([s,a])}const e=(l+Math.floor(d-1)*t)/2,i=u*e+n,s=c*e+o;r.push([i,s])}r.push([s,a])}}return function(e){return"polygon"===e.type}(e)?new a.A({rings:i,spatialReference:e.spatialReference}):new l.A({paths:i,spatialReference:e.spatialReference})}(e,1e6);e=(0,h.ci)(t,!0)}return r&&(e=(0,u.kS)(e,r)),e}function M(e,t,r){if(Array.isArray(e)){const i=e[0];if(i>t){const r=(0,u.kd)(i,t);e[0]=i+r*(-2*t)}else if(i<r){const t=(0,u.kd)(i,r);e[0]=i+t*(-2*r)}}else{const i=e.x;if(i>t){const r=(0,u.kd)(i,t);e=e.clone().offset(r*(-2*t),0)}else if(i<r){const t=(0,u.kd)(i,r);e=e.clone().offset(t*(-2*r),0)}}return e}function T(e,t){let r=-1;for(let i=0;i<t.cutIndexes.length;i++){const n=t.cutIndexes[i],o=t.geometries[i],s=(0,u.r8)(o);for(let e=0;e<s.length;e++){const t=s[e];t.some(r=>{if(r[0]<180)return!0;{let r=0;for(let e=0;e<t.length;e++){const i=t[e][0];r=i>r?i:r}r=Number(r.toFixed(9));const i=-360*(0,u.kd)(r,180);for(let r=0;r<t.length;r++){const t=o.getPoint(e,r);o.setPoint(e,r,t.clone().offset(i,0))}return!0}})}if(n===r){if(y(e))for(const t of(0,u.r8)(o))e[n]=e[n].addRing(t);else if(w(e))for(const t of(0,u.r8)(o))e[n]=e[n].addPath(t)}else r=n,e[n]=o}return e}async function S(e,t,r){if(!Array.isArray(e))return S([e],t);t&&"string"!=typeof t&&x().warn("normalizeCentralMeridian()","The url object is deprecated, use the url string instead");const n="string"==typeof t?t:t?.url??i.A.geometryServiceUrl;let o,s,c,y,w,C,A,E,R=0;const I=[],O=[];for(const t of e)if(null!=t)if(o||(o=t.spatialReference,s=(0,d.Vp)(o),c=o.isWebMercator,C=c?102100:4326,y=u.j7[C].maxX,w=u.j7[C].minX,A=u.j7[C].plus180Line,E=u.j7[C].minus180Line),s)if("mesh"===t.type)O.push(t);else if("point"===t.type)O.push(M(t.clone(),y,w));else if("multipoint"===t.type){const e=t.clone();e.points=e.points.map(e=>M(e,y,w)),O.push(e)}else if("extent"===t.type){const e=t.clone()._normalize(!1,!1,s);O.push(e.rings?new a.A(e):e)}else if(t.extent){const e=t.extent,r=(0,u.kd)(e.xmin,w)*(2*y);let i=0===r?t.clone():(0,u.kS)(t.clone(),r);e.offset(r,0);let{xmin:n,xmax:o}=e;n=Number(n.toFixed(9)),o=Number(o.toFixed(9)),e.intersects(A)&&o!==y?(R=o>R?o:R,i=b(i,c),I.push(i),O.push("cut")):e.intersects(E)&&n!==w?(R=o*(2*y)>R?o*(2*y):R,i=b(i,c,360),I.push(i),O.push("cut")):O.push(i)}else O.push(t.clone());else O.push(t);else O.push(t);let F=(0,u.kd)(R,y),P=-90;const D=F,N=new l.A;for(;F>0;){const e=360*F-180;N.addPath([[e,P],[e,-1*P]]),P*=-1,F--}if(I.length>0&&D>0){const t=T(I,await async function(e,t,r,i){const n=(0,g.Dl)(e),o=t[0].spatialReference,s={...i,responseType:"json",query:{...n.query,f:"json",sr:(0,d.YX)(o),target:JSON.stringify({geometryType:(0,p.$B)(t[0]),geometries:t}),cutter:JSON.stringify(r)}},a=await(0,m.A)(n.path+"/cut",s),{cutIndexes:l,geometries:c=[]}=a.data;return{cutIndexes:l,geometries:c.map(e=>{const t=(0,f.rS)(e);return t.spatialReference=o,t})}}(n,I,N,r)),i=[],o=[];for(let r=0;r<O.length;r++){const n=O[r];if("cut"!==n)o.push(n);else{const n=t.shift(),s=e[r];null!=s&&"polygon"===s.type&&s.rings&&s.rings.length>1&&n.rings.length>=s.rings.length?(i.push(n),o.push("simplify")):o.push(c?(0,h.Gh)(n):n)}}if(!i.length)return o;const s=await async function(e,t,r){const i="string"==typeof e?(0,v.An)(e):e,n=t[0].spatialReference,o=(0,p.$B)(t[0]),s={...r,query:{...i.query,f:"json",sr:(0,d.YX)(n),geometries:JSON.stringify((0,_.X)(t))}},{data:a}=await(0,m.A)(i.path+"/simplify",s);return(0,_.V)(a.geometries,o,n)}(n,i,r),a=[];for(let e=0;e<o.length;e++){const t=o[e];"simplify"!==t?a.push(t):a.push(c?(0,h.Gh)(s.shift()):s.shift())}return a}const H=[];for(let e=0;e<O.length;e++){const t=O[e];if("cut"!==t)H.push(t);else{const e=I.shift();H.push(!0===c?(0,h.Gh)(e):e)}}return H}function C(e,t,r){const i=(0,d.Vp)(r);if(null==i)return e;const[n,o]=i.valid,s=2*o;let a=0,l=0;t>o?a=Math.ceil(Math.abs(t-o)/s):t<n&&(a=-Math.ceil(Math.abs(t-n)/s)),e>o?l=Math.ceil(Math.abs(e-o)/s):e<n&&(l=-Math.ceil(Math.abs(e-n)/s));let c=e+(a-l)*s;const u=c-t;return u>o?c-=s:u<n&&(c+=s),c}function A(e){const t=(0,d.Vp)(e);if(null==t)return null;const[r,i]=t.valid;return new n.hr(r,i)}const E=A(c.A.WGS84);A(c.A.WebMercator)},80754(e,t,r){r.d(t,{j7:()=>s,kS:()=>l,kd:()=>a,r8:()=>c});var i=r(82799),n=r(16930),o=r(60408);const s={102100:{maxX:20037508.342788905,minX:-20037508.342788905,plus180Line:new i.A({paths:[[[20037508.342788905,-20037508.342788905],[20037508.342788905,20037508.342788905]]],spatialReference:n.A.WebMercator}),minus180Line:new i.A({paths:[[[-20037508.342788905,-20037508.342788905],[-20037508.342788905,20037508.342788905]]],spatialReference:n.A.WebMercator})},4326:{maxX:180,minX:-180,plus180Line:new i.A({paths:[[[180,-180],[180,180]]],spatialReference:n.A.WGS84}),minus180Line:new i.A({paths:[[[-180,-180],[-180,180]]],spatialReference:n.A.WGS84})}};function a(e,t){return Math.ceil((e-t)/(2*t))}function l(e,t){const r=c(e);for(const e of r)for(const r of e)r[0]+=t;return e}function c(e){return(0,o.Bi)(e)?e.rings:e.paths}},71351(e,t,r){r.d(t,{C:()=>u,Cr:()=>d,LV:()=>c,fA:()=>h,oC:()=>m,vt:()=>a}),r(4576);var i=r(4341),n=(r(77690),r(29242)),o=r(35522),s=r(51850);function a(e){return e?l((0,s.o8)(e.origin),(0,s.o8)(e.direction)):l((0,s.vt)(),(0,s.vt)())}function l(e,t){return{origin:e,direction:t}}function c(e,t){const r=p.get();return r.origin=e,r.direction=t,r}function u(e,t=a()){return h(e.origin,e.direction,t)}function d(e,t,r=a()){return(0,o.C)(r.origin,e),(0,o.Re)(r.direction,t,e),r}function h(e,t,r=a()){return(0,o.C)(r.origin,e),(0,o.C)(r.direction,t),r}function m(e,t,r){const i=(0,o.Om)(e.direction,(0,o.Re)(r,t,e.origin));return(0,o.WQ)(r,e.origin,(0,o.hs)(r,e.direction,i)),r}r(32114);const p=new i.I(()=>a());(0,s.vt)(),(0,s.vt)(),(0,s.vt)(),(0,n.vt)()},94008(e,t,r){r.d(t,{iy:()=>m}),r(44208),r(53966);var i=r(34727),n=r(34304),o=r(58083),s=r(35522),a=r(51850),l=r(91829),c=r(34275);var u=r(71351),d=r(44280),h=r(32114);class m{constructor(e=0,t=0,r=0,i=0){this.radius=i,"number"==typeof e?this._center=(0,a.fA)(e,t,r):function(e){return t=e,(0,c.vZ)(t)&&t.length>=3||function(e){return((0,c.aI)(e)||Array.isArray(e))&&e.length>=3}(e);var t}(e)||function(e){return(t=e)instanceof Float32Array&&t.length>=4||function(e){return Array.isArray(e)&&e.length>=4}(e);var t}(e)?(this._center=(0,a.ci)(e),this.radius=4===e.length?e[3]:t):(this._center=(0,a.o8)(e.center),this.radius=e.radius)}get isValid(){return this.radius>=0}invalidate(){this.radius=-1}get center(){return this._center}set center(e){(0,s.C)(this.center,e)}exactEquals(e){return(0,s.aI)(this._center,e.center)&&this.radius===e.radius}copyFrom(e){return e!==this&&((0,s.C)(this._center,e.center),this.radius=e.radius),this}clone(){return new m(this.center,this.radius)}toVec4(){return(0,l.fA)(this.center[0],this.center[1],this.center[2],this.radius)}contains(e){return(0,s.hG)(this.center,e)<=this.radius**2}intersectRay(e,t){if(null==e)return!1;if(!this._intersect(e,p))return!1;let{t0:r,t1:i}=p;if((r<0||i<r&&i>0)&&(r=i),r<0)return!1;if(t){const{origin:i,direction:n}=e;t[0]=i[0]+n[0]*r,t[1]=i[1]+n[1]*r,t[2]=i[2]+n[2]*r}return!0}intersectLine(e,t){const r=(0,u.Cr)(e,t);if(!this._intersect(r,p))return[];const{origin:i,direction:o}=r,{t0:l,t1:c}=p,d=e=>{const t=(0,a.vt)();return(0,s.Ln)(t,i,o,e),this.projectPoint(t,t)};return Math.abs(l-c)<(0,n.FD)()?[d(l)]:[d(l),d(c)]}_intersect(e,t){const{origin:r,direction:i}=e,n=f;n[0]=r[0]-this.center[0],n[1]=r[1]-this.center[1],n[2]=r[2]-this.center[2];const o=i[0]*i[0]+i[1]*i[1]+i[2]*i[2];if(0===o)return!1;const s=2*(i[0]*n[0]+i[1]*n[1]+i[2]*n[2]),a=s*s-4*o*(n[0]*n[0]+n[1]*n[1]+n[2]*n[2]-this.radius**2);if(a<0)return!1;const l=Math.sqrt(a);return t.t0=(-s-l)/(2*o),t.t1=(-s+l)/(2*o),!0}projectPoint(e,t){const r=(0,s.Re)(h.rq.get(),e,this.center),i=(0,s.hs)(h.rq.get(),r,this.radius/(0,s.Bw)(r));return(0,s.WQ)(t,i,this.center)}closestPointOnSilhouette(e,t){const r=h.rq.get(),i=h.Rc.get();(0,s.$A)(r,e.origin,e.direction),(0,s.$A)(t,r,e.origin),(0,s.hs)(t,t,1/(0,s.Bw)(t)*this.radius);const n=this._angleToSilhouette(e.origin),a=(0,d.g7)(e.origin,t);return(0,o.$0)(i,a+n,r),(0,s.Z0)(t,t,i),t}frustumCoverage(e,t,r){const i=this.radius,n=i*i,o=e+.5*Math.PI,s=t*t+n-2*Math.cos(o)*t*i,a=Math.sqrt(s),l=s-n;if(l<=0)return.5;const c=Math.sqrt(l),u=Math.acos(c/a)-Math.asin(i/(a/Math.sin(o)));return Math.min(1,(u+.5*r)/r)}_angleToSilhouette(e){const t=(0,s.Re)(h.rq.get(),e,this.center),r=(0,s.Bw)(t),n=this.radius,o=n+Math.abs(n-r);return(0,i.XM)(n/o)}union(e){const t=(0,s.Io)(this._center,e.center),r=this.radius,i=e.radius;return t+i<r?this:t+r<i?(this.copyFrom(e),this):((0,s.Cc)(this._center,this._center,e.center,(t+i-r)/(2*t)),this.radius=(t+r+i)/2,this)}toJSON(){return{center:this.center,radius:this.radius}}}new m;const p={t0:0,t1:0},f=(0,a.vt)();(0,a.vt)(),(0,a.vt)()},38969(e,t,r){r.d(t,{i:()=>n});var i=r(37955);function n(e,t){return new Promise((r,n)=>{e.readyState>=HTMLMediaElement.HAVE_CURRENT_DATA?r():(t((0,i.Oo)(e,"canplay",r)),t((0,i.Oo)(e,"error",n)))})}},92300(e,t,r){r.d(t,{V:()=>s,X:()=>o});var i=r(60408),n=r(65864);function o(e){return{geometryType:(0,i.$B)(e[0]),geometries:e.map(e=>e.toJSON())}}function s(e,t,r){const i=(0,n.xD)(t);return e.map(e=>{const t=i.fromJSON(e);return t.spatialReference=r,t})}},21015(e,t,r){r.d(t,{R:()=>l});var i=r(11254),n=r(60999),o=r(49186),s=r(74887),a=r(84952);class l{constructor(e=e=>e){this._resolveURI=e}async loadJSON(e,t){return this._load("json",e,t)}async loadBinary(e,t){return(0,a.DB)(e)?((0,s.Te)(t),(0,a.lJ)(e)):this._load("array-buffer",e,t)}async loadImage(e,t){return this._load("image",e,t)}async _load(e,t,r){t=this._resolveURI(t);const a=await(0,n.Ke)((0,i.A)(t,{responseType:e,...r}));if(a.ok)return a.value.data;throw(0,s.QP)(a.error),new o.A("gltf-loader-request-error",`Request for resource failed: ${a.error}`)}}},84498(e,t,r){r.d(t,{x:()=>s});var i=r(34275),n=r(97146),o=r(63907);function s(e,t){switch(t){case o.WR.TRIANGLES:return function(e){return"number"==typeof e?(0,n.tM)(e):(0,i.mg)(e)?new Uint16Array(e):e}(e);case o.WR.TRIANGLE_STRIP:return function(e){const t="number"==typeof e?e:e.length;if(t<3)return[];const r=t-2,i=(0,n.my)(3*r);if("number"==typeof e){let e=0;for(let t=0;t<r;t+=1)t%2==0?(i[e++]=t,i[e++]=t+1,i[e++]=t+2):(i[e++]=t+1,i[e++]=t,i[e++]=t+2)}else{let t=0;for(let n=0;n<r;n+=1)n%2==0?(i[t++]=e[n],i[t++]=e[n+1],i[t++]=e[n+2]):(i[t++]=e[n+1],i[t++]=e[n],i[t++]=e[n+2])}return i}(e);case o.WR.TRIANGLE_FAN:return function(e){const t="number"==typeof e?e:e.length;if(t<3)return new Uint16Array(0);const r=t-2,i=r<=65536?new Uint16Array(3*r):new Uint32Array(3*r);if("number"==typeof e){let e=0;for(let t=0;t<r;++t)i[e++]=0,i[e++]=t+1,i[e++]=t+2;return i}const n=e[0];let o=e[1],s=0;for(let t=0;t<r;++t){const r=e[t+2];i[s++]=n,i[s++]=o,i[s++]=r,o=r}return i}(e)}}},51530(e,t,r){r.d(t,{KB:()=>s,Xi:()=>n,pn:()=>a,x3:()=>o});var i=r(44208);class n{constructor(e){this.data=e,this.type="encoded-mesh-texture",this.encoding="image/ktx2"}}function o(e){return"encoded-mesh-texture"===e?.type}async function s(e){const t=new Blob([e]),r=await t.text();return JSON.parse(r)}async function a(e,t){if("image/ktx2"===t)return new n(e);const r=new Blob([e],{type:t});let o=URL.createObjectURL(r);switch(t){case"image/jpeg":o+="#.jpg";break;case"image/png":o+="#.png"}const s=new Image;if((0,i.A)("esri-iPhone"))return new Promise((e,t)=>{const r=()=>{n(),e(s)},i=e=>{n(),t(e)},n=()=>{URL.revokeObjectURL(o),s.removeEventListener("load",r),s.removeEventListener("error",i)};s.addEventListener("load",r),s.addEventListener("error",i),s.src=o});try{s.src=o,await s.decode()}catch(e){console.warn("Failed decoding HTMLImageElement")}return URL.revokeObjectURL(o),s}},46154(e,t,r){r.d(t,{fetch:()=>Mr});var i=r(40876),n=r(61473),o=r(34727),s=r(77690),a=r(29242),l=r(58083),c=r(9093),u=r(48163),d=r(35522),h=r(51850),m=r(70328),p=r(34275);function f(e,t=!1){return e<=p.y9?t?new Array(e).fill(0):new Array(e):new Float32Array(e)}var g=r(13030),v=r(73354),_=r(65686),x=r(43609),y=r(21015),w=r(84498),b=r(51530),M=r(88340);function T(e){if(null==e)return null;const t=null!=e.offset?e.offset:M.uY,r=null!=e.rotation?e.rotation:0,i=null!=e.scale?e.scale:M.Un,n=(0,a.fA)(1,0,0,0,1,0,t[0],t[1],1),o=(0,a.fA)(Math.cos(r),-Math.sin(r),0,Math.sin(r),Math.cos(r),0,0,0,1),l=(0,a.fA)(i[0],0,0,0,i[1],0,0,0,1),c=(0,a.vt)();return(0,s.lw)(c,o,l),(0,s.lw)(c,n,c),c}class S{constructor(){this.geometries=new Array,this.materials=new Array,this.textures=new Array}}class C{constructor(e,t,r){this.name=e,this.lodThreshold=t,this.pivotOffset=r,this.stageResources=new S,this.numberOfVertices=0}}var A=r(11254),E=r(60999),R=r(49186),I=r(53966),O=r(69397),F=r(81139),P=r(74887),D=r(46140),N=r(97146);async function H(e,t){return(await(0,A.A)(e,{responseType:"image",...t})).data}var L=r(46610),B=r(20498);function z(e){if(e.length<p.y9)return Array.from(e);if(Array.isArray(e))return Float64Array.from(e);if(!("BYTES_PER_ELEMENT"in e))return Array.from(e);switch(e.BYTES_PER_ELEMENT){case 1:return Uint8Array.from(e);case 2:return(0,p.LW)(e)?(0,B.pX)().from(e):(0,p.jq)(e)?Uint16Array.from(e):Int16Array.from(e);case 4:return Float32Array.from(e);default:return Float64Array.from(e)}}var U=r(15142),G=r(620);class V{get center(){return(0,h.fA)(this._data[0],this._data[1],this._data[2])}get radius(){return this._data[3]}get bbMin(){return(0,h.fA)(this._data[4],this._data[5],this._data[6])}get bbMax(){return(0,h.fA)(this._data[7],this._data[8],this._data[9])}constructor(e,t,r){this.primitiveIndices=e,this._numIndexPerPrimitive=t,this.position=r,this._data=[.1,0,0,0,0,0,0,0,0,0],this._children=void 0,(0,G.vA)(e.length>=1),(0,G.vA)(3===r.size||4===r.size);const{data:i,size:n,indices:o}=r;(0,G.vA)(o.length%this._numIndexPerPrimitive===0),(0,G.vA)(o.length>=e.length*this._numIndexPerPrimitive);const s=e.length;let a=n*o[this._numIndexPerPrimitive*e[0]];j.clear(),j.push(a);const l=(0,h.fA)(i[a],i[a+1],i[a+2]),c=(0,h.o8)(l);for(let t=0;t<s;++t){const r=this._numIndexPerPrimitive*e[t];for(let e=0;e<this._numIndexPerPrimitive;++e){a=n*o[r+e],j.push(a);let t=i[a];l[0]=Math.min(t,l[0]),c[0]=Math.max(t,c[0]),t=i[a+1],l[1]=Math.min(t,l[1]),c[1]=Math.max(t,c[1]),t=i[a+2],l[2]=Math.min(t,l[2]),c[2]=Math.max(t,c[2])}}for(let e=0;e<3;++e)this._data[4+e]=l[e],this._data[7+e]=c[e];const u=(0,d.Cc)((0,h.vt)(),this.bbMin,this.bbMax,.5);let m=.5*Math.max(Math.max(c[0]-l[0],c[1]-l[1]),c[2]-l[2]),p=m*m;for(let e=0;e<j.length;++e){a=j.at(e);const t=i[a]-u[0],r=i[a+1]-u[1],n=i[a+2]-u[2],o=t*t+r*r+n*n;if(o<=p)continue;const s=Math.sqrt(o),l=.5*(s-m);m+=l,p=m*m;const c=l/s;u[0]+=t*c,u[1]+=r*c,u[2]+=n*c}this._data[3]=m;for(let e=0;e<3;++e)this._data[0+e]=u[e];j.clear()}getChildren(){if(this._children||(0,d.hG)(this.bbMin,this.bbMax)<=1)return this._children;const e=(0,d.Cc)((0,h.vt)(),this.bbMin,this.bbMax,.5),t=this.primitiveIndices.length,r=new Uint8Array(t),i=new Array(8);for(let e=0;e<8;++e)i[e]=0;const{data:n,size:o,indices:s}=this.position;for(let a=0;a<t;++a){let t=0;const l=this._numIndexPerPrimitive*this.primitiveIndices[a];let c=o*s[l],u=n[c],d=n[c+1],h=n[c+2];for(let e=1;e<this._numIndexPerPrimitive;++e){c=o*s[l+e];const t=n[c],r=n[c+1],i=n[c+2];t<u&&(u=t),r<d&&(d=r),i<h&&(h=i)}u<e[0]&&(t|=1),d<e[1]&&(t|=2),h<e[2]&&(t|=4),r[a]=t,++i[t]}let a=0;for(let e=0;e<8;++e)i[e]>0&&++a;if(a<2)return;const l=new Array(8);for(let e=0;e<8;++e)l[e]=i[e]>0?new Uint32Array(i[e]):void 0;for(let e=0;e<8;++e)i[e]=0;for(let e=0;e<t;++e){const t=r[e];l[t][i[t]++]=this.primitiveIndices[e]}this._children=new Array;for(let e=0;e<8;++e)void 0!==l[e]&&this._children.push(new V(l[e],this._numIndexPerPrimitive,this.position));return this._children}static prune(){j.prune()}}const j=new U.A({deallocator:null});var W=r(24326);class k{constructor(e){this.id=(0,W.c)(),this._attributes=new Map;for(const[t,r]of e)this._attributes.set(t,{...r,indices:(0,N.Dg)(r.indices)})}get attributes(){return this._attributes}}var Z=r(4341),$=r(11964);function q(e,t,r){return(0,d.Re)(Y,t,e),(0,d.Re)(X,r,e),.5*(0,d.Bw)((0,d.$A)(Y,Y,X))}r(32114),new Z.I($.vt),new Z.I(()=>{return e?{p0:(0,h.o8)(e.p0),p1:(0,h.o8)(e.p1),p2:(0,h.o8)(e.p2)}:{p0:(0,h.vt)(),p1:(0,h.vt)(),p2:(0,h.vt)()};var e});const Y=(0,h.vt)(),X=(0,h.vt)(),K=(0,h.vt)(),J=(0,h.vt)(),Q=(0,h.vt)(),ee=(0,h.vt)();class te{constructor(){this.uid=(0,W.c)()}}class re extends te{constructor(e){super(),this.highlightName=e,this.channel=0}}var ie=r(94656);class ne extends k{constructor(e,t,r=null,i=0,n=null,o=-1,s,a){super(t),this.material=e,this.mapPositions=r,this.type=i,this.olidColor=n,this.edgeIndicesLength=o,this.baseGeometry=s,this.drawIndices=a,this._vertexPositionIndicesCache=void 0,this._highlights=null,this._highlightOptionsCounts=null,this.visible=!0,this._boundingInfo=null,(0,G.vA)((e?.useIndexing??!1)===(null!=a),"Material index requirement and Geometry must match");const l=this.positionAttribute;null!=l&&this.edgeIndicesLength<0&&(this.edgeIndicesLength=l.indices.length)}instantiate(e={}){const t=new ne(e.material||this.material,[],this.mapPositions,this.type,this.olidColor,this.edgeIndicesLength,this.baseGeometry,this.drawIndices);return this._attributes.forEach((e,r)=>{e.exclusive=!1,t._attributes.set(r,e)}),t._boundingInfo=this._boundingInfo,t.transformation=e.transformation||this.transformation,t}getMutableAttribute(e){let t=this._attributes.get(e);return t&&!t.exclusive&&(t={...t,exclusive:!0,data:z(t.data)},this._attributes.set(e,t)),t}setAttributeData(e,t){const r=this._attributes.get(e);r?this._attributes.set(e,{...r,exclusive:!0,data:t}):(0,ie.en)()&&console.warn(`Setting undefined attribute ${e} data`)}get primitivePositionIndices(){if(void 0!==this._vertexPositionIndicesCache)return this._vertexPositionIndicesCache;const{drawIndices:e}=this,t=this.positionAttribute;if(null!=e&&null!=t){const r=new Array;for(const i of e)r.push(t.indices[i]);this._vertexPositionIndicesCache=r}else this._vertexPositionIndicesCache=t?.indices??null;return this._vertexPositionIndicesCache}get positionAttribute(){return this.attributes.get("position")??this.baseGeometry?.attributes.get("position")}get indexCount(){const e=this.drawIndices??this.positionAttribute?.indices;return e?.length??0}get faceCount(){return this.indexCount/3}get boundingInfo(){return this._boundingInfo??=this._calculateBoundingInfo(),this._boundingInfo}computeAttachmentOrigin(e){return!!(0===this.type?this._computeAttachmentOriginTriangles(e):2===this.type?this._computeAttachmentOriginLines(e):this._computeAttachmentOriginPoints(e))&&(null!=this._transformation&&(0,d.Z0)(e,e,this._transformation),!0)}_computeAttachmentOriginTriangles(e){return function(e,t,r=t?.indices){if(!t||!r)return!1;const{size:i,data:n}=t;(0,d.hZ)(e,0,0,0),(0,d.hZ)(ee,0,0,0);let o=0,s=0;for(let t=0;t<r.length-2;t+=3){const a=r[t]*i,l=r[t+1]*i,c=r[t+2]*i;(0,d.hZ)(K,n[a],n[a+1],n[a+2]),(0,d.hZ)(J,n[l],n[l+1],n[l+2]),(0,d.hZ)(Q,n[c],n[c+1],n[c+2]);const u=q(K,J,Q);u?((0,d.WQ)(K,K,J),(0,d.WQ)(K,K,Q),(0,d.hs)(K,K,1/3*u),(0,d.WQ)(e,e,K),o+=u):((0,d.WQ)(ee,ee,K),(0,d.WQ)(ee,ee,J),(0,d.WQ)(ee,ee,Q),s+=3)}return!(0===s&&0===o||(0!==o?((0,d.hs)(e,e,1/o),0):0===s||((0,d.hs)(e,ee,1/s),0)))}(e,this.positionAttribute,this.primitivePositionIndices)}_computeAttachmentOriginLines(e){const t=this.positionAttribute,r=this.primitivePositionIndices;return function(e,t,r,i=t?.indices){if(!t||!i)return!1;(0,d.hZ)(e,0,0,0),(0,d.hZ)(ee,0,0,0);let n=0,o=0;const{size:s,data:a}=t,l=i.length-1,c=l+(r?2:0);for(let t=0;t<c;t+=2){const r=t<l?t+1:0,c=i[t<l?t:l]*s,u=i[r]*s;K[0]=a[c],K[1]=a[c+1],K[2]=a[c+2],J[0]=a[u],J[1]=a[u+1],J[2]=a[u+2],(0,d.hs)(K,(0,d.WQ)(K,K,J),.5);const h=(0,d.xg)(K,J);h>0?((0,d.WQ)(e,e,(0,d.hs)(K,K,h)),n+=h):0===n&&((0,d.WQ)(ee,ee,K),o++)}return 0!==n?((0,d.hs)(e,e,1/n),!0):0!==o&&((0,d.hs)(e,ee,1/o),!0)}(e,t,function(e,t){return!(!("isClosed"in e)||!e.isClosed)&&t.indices.length>2}(this.material.parameters,t),r)}_computeAttachmentOriginPoints(e){return function(e,t,r=t?.indices){if(!t||!r)return!1;const{size:i,data:n}=t;(0,d.hZ)(e,0,0,0);let o=-1,s=0;for(let t=0;t<r.length;t++){const a=r[t]*i;o!==a&&(e[0]+=n[a],e[1]+=n[a+1],e[2]+=n[a+2],s++),o=a}return s>1&&(0,d.hs)(e,e,1/s),s>0}(e,this.positionAttribute,this.primitivePositionIndices)}invalidateBoundingInfo(){this._boundingInfo=null,this._vertexPositionIndicesCache=void 0}_calculateBoundingInfo(){const e=this.positionAttribute,t=this.primitivePositionIndices;if(!e||!t||0===t.length)return null;const r=t===e.indices?e:new L.n(e.data,t,e.size,!1,e.stride),i=0===this.type?3:1;(0,G.vA)(t.length%i===0,"Indexing error: "+t.length+" not divisible by "+i);const n=(0,N.tM)(t.length/i);return new V(n,i,r)}get transformation(){return this._transformation??c.zK}set transformation(e){this._transformation=e&&e!==c.zK?(0,c.o8)(e):null}get highlights(){return this._highlights||oe}get hasHighlights(){return(this._highlightOptionsCounts?.size??0)>0}foreachHighlightOptions(e){this._highlightOptionsCounts?.forEach((t,r)=>e(r))}allocateIdAndHighlight(e){const t=new re(e);return this.addHighlight(t)}addHighlight(e){this._ensureHighlights().add(e);const{highlightName:t}=e,r=(this._highlightOptionsCounts?.get(t)??0)+1;return this._ensureHighlightOptionsCounts().set(t,r),e}_ensureHighlights(){let e=this._highlights;return e||(e=new Set,this._highlights=e),e}_ensureHighlightOptionsCounts(){let e=this._highlightOptionsCounts;return e||(e=new Map,this._highlightOptionsCounts=e),e}removeHighlight(e){if(this._highlights?.delete(e)){const{highlightName:t}=e,r=this._highlightOptionsCounts?.get(t)??0;r<=1?this._highlightOptionsCounts?.delete(t):this._ensureHighlightOptionsCounts().set(t,r-1)}}}const oe=new Set;var se=r(65529),ae=r(97768),le=r(84952),ce=r(38969),ue=r(95117),de=r(2741);let he;var me=r(63907),pe=r(76284),fe=r(42293);let ge=null,ve=null;async function _e(){return null==ve&&(he??=(async()=>{const e=await r.e(9321).then(r.bind(r,49321)),t=await e.default({locateFile:e=>(0,de.s)(`esri/libs/basisu/${e}`)});return t.initializeBasis(),t})(),ve=he,ge=await ve),ve}function xe(e,t,r,i,n){const o=(0,fe.MW)(t?me.CQ.COMPRESSED_RGBA8_ETC2_EAC:me.CQ.COMPRESSED_RGB8_ETC2),s=n&&e>1?(4**e-1)/(3*4**(e-1)):1;return Math.ceil(r*i*o*s)}function ye(e){return e.getNumImages()>=1&&!e.isUASTC()}function we(e){return e.getFaces()>=1&&e.isETC1S()}function be(e,t,r,i,n,o,s,a){const{compressedTextureETC:l,compressedTextureS3TC:c}=e.capabilities,[u,d]=l?i?[1,me.CQ.COMPRESSED_RGBA8_ETC2_EAC]:[0,me.CQ.COMPRESSED_RGB8_ETC2]:c?i?[3,me.CQ.COMPRESSED_RGBA_S3TC_DXT5_EXT]:[2,me.CQ.COMPRESSED_RGB_S3TC_DXT1_EXT]:[13,6408],h=t.hasMipmap?r:Math.min(1,r),m=[];for(let e=0;e<h;e++)m.push(new Uint8Array(s(e,u))),a(e,u,m[e]);return t.internalFormat=d,t.hasMipmap=m.length>1,t.samplingMode=t.hasMipmap?9987:9729,t.width=n,t.height=o,new pe.A(e,t,{type:"compressed",levels:m})}const Me=()=>I.A.getLogger("esri.views.3d.webgl-engine.lib.DDSUtil");function Te(e){return e.charCodeAt(0)+(e.charCodeAt(1)<<8)+(e.charCodeAt(2)<<16)+(e.charCodeAt(3)<<24)}const Se=Te("DXT1"),Ce=Te("DXT3"),Ae=Te("DXT5");function Ee(e,t){return t=16*Math.floor(t/16),Math.min(16*Math.round(e/16),t)}function Re(e,t){const[r,i]=function({width:e,height:t},{maxPreferredTexturePixels:r,maxTextureSize:i}){const n=Math.max(e,t),o=e*t;if(n<=i&&o<=r)return[e,t];const s=Math.min(Math.sqrt(r/o),i/n);return[Ee(Math.round(e*s),i),Ee(Math.round(t*s),i)]}(e,t);return e.width===r&&e.height===i?e:Ie(e,r,i)}function Ie(e,t,r){if(e instanceof ImageData)return Ie(function(e){const t=document.createElement("canvas");t.width=e.width,t.height=e.height;const r=t.getContext("2d");if(null==r)throw new R.A("texture:context-failed","Failed to create 2d context from HTMLCanvasElement");return r.putImageData(e,0,0),t}(e),t,r);const i=document.createElement("canvas");return i.width=t,i.height=r,i.getContext("2d").drawImage(e,0,0,i.width,i.height),i}var Oe=r(67171);class Fe{constructor(e,t){this._data=e,this.id=(0,W.c)(),this.events=new se.bk,this._parameters={...De,...t},this._startPreload(e)}dispose(){this.unload(),this._data=this.update=void 0}_startPreload(e){e instanceof HTMLVideoElement?(this.update=t=>this._update(e,t),this._startPreloadVideoElement(e)):e instanceof HTMLImageElement&&this._startPreloadImageElement(e)}_startPreloadVideoElement(e){if(!((0,le.w8)(e.src)||"auto"===e.preload&&e.crossOrigin)&&(e.preload="auto",e.crossOrigin="anonymous",e.src=e.src,e.paused&&e.autoplay)){const t=[];(0,ce.i)(e,e=>t.push(e)).then(()=>{e.play()}).finally(()=>t.forEach(e=>e.remove()))}}_startPreloadImageElement(e){(0,le.DB)(e.src)||(0,le.w8)(e.src)||e.crossOrigin||(e.crossOrigin="anonymous",e.src=e.src)}_createDescriptor(e){const t=new Oe.R;return t.wrapMode=this._parameters.wrap??10497,t.flipped=!this._parameters.noUnpackFlip,t.samplingMode=this._parameters.mipmap?9987:9729,t.hasMipmap=!!this._parameters.mipmap,t.preMultiplyAlpha=!!this._parameters.preMultiplyAlpha,t.maxAnisotropy=this._parameters.maxAnisotropy??(this._parameters.mipmap?e.parameters.maxMaxAnisotropy:1),t.dataType=this._parameters.dataType??t.dataType,t.pixelFormat=this._parameters.pixelFormat??t.pixelFormat,t.internalFormat=this._parameters.internalFormat??t.internalFormat,t}get texture(){return this._texture??this._emptyTexture}get loaded(){return null!=this._texture}get usedMemory(){return this._texture?.usedMemory||function(e,t){if(null==e)return 0;if((0,p.mw)(e)||(0,p.mg)(e))return"image/ktx2"===t.encoding?function(e,t){if(null==ge)return e.byteLength;const r=new ge.KTX2File(new Uint8Array(e)),i=we(r)?xe(r.getLevels(),r.getHasAlpha(),r.getWidth(),r.getHeight(),t):0;return r.close(),r.delete(),i}(e,!!t.mipmap):"image/x.basis"===t.encoding?function(e,t){if(null==ge)return e.byteLength;const r=new ge.BasisFile(new Uint8Array(e)),i=ye(r)?xe(r.getNumLevels(0),r.getHasAlpha(),r.getImageWidth(0,0),r.getImageHeight(0,0),t):0;return r.close(),r.delete(),i}(e,!!t.mipmap):e.byteLength;const{width:r,height:i}=e instanceof Image||e instanceof ImageData||e instanceof HTMLCanvasElement||e instanceof HTMLVideoElement?Pe(e):t,n=t.pixelFormat??6408,o=(0,fe.wH)(n);return(t.mipmap?4/3:1)*r*i*o||0}(this._data,this._parameters)}load(e){if(this._loadingPromise)return this._loadingPromise;if(this._texture)return this._texture;const t=this._data;return null==t?(this._texture=new pe.A(e,this._createDescriptor(e),null),this._texture):(this._emptyTexture=e.emptyTexture,this._parameters.reloadable||(this._data=void 0),"string"==typeof t?this._loadFromURL(e,t):t instanceof Image?this._loadFromImageElement(e,t):t instanceof HTMLVideoElement?this._loadFromVideoElement(e,t):t instanceof ImageData||t instanceof HTMLCanvasElement?this._loadFromImage(e,t):(0,p.mg)(t)&&"image/vnd-ms.dds"===this._parameters.encoding?this._loadFromDDSData(e,t):(0,p.mw)(t)&&"image/vnd-ms.dds"===this._parameters.encoding?this._loadFromDDSData(e,new Uint8Array(t)):((0,p.mw)(t)||(0,p.mg)(t))&&"image/ktx2"===this._parameters.encoding?this._loadFromKTX2(e,t):((0,p.mw)(t)||(0,p.mg)(t))&&"image/x.basis"===this._parameters.encoding?this._loadFromBasis(e,t):(0,p.mw)(t)?this._loadFromPixelData(e,new Uint8Array(t)):(0,p.iu)(t)?this._loadFromPixelData(e,t):null)}_update(e,t){return null==this._texture||e.readyState<HTMLMediaElement.HAVE_CURRENT_DATA||t===e.currentTime?t:(this._texture.setData(e),this._texture.descriptor.hasMipmap&&this._texture.generateMipmap(),this._parameters.updateCallback&&this._parameters.updateCallback(),e.currentTime)}_loadFromDDSData(e,t){return this._texture=function(e,t,r){const i=function(e,t){const r=new Int32Array(e.buffer,e.byteOffset,31);if(542327876!==r[0])return Me().error("Invalid magic number in DDS header"),null;if(!(4&r[20]))return Me().error("Unsupported format, must contain a FourCC code"),null;const i=r[21];let n,o;switch(i){case Se:n=8,o=me.CQ.COMPRESSED_RGB_S3TC_DXT1_EXT;break;case Ce:n=16,o=me.CQ.COMPRESSED_RGBA_S3TC_DXT3_EXT;break;case Ae:n=16,o=me.CQ.COMPRESSED_RGBA_S3TC_DXT5_EXT;break;default:return Me().error("Unsupported FourCC code:",function(e){return String.fromCharCode(255&e,e>>8&255,e>>16&255,e>>24&255)}(i)),null}let s=1,a=r[4],l=r[3];(3&a||3&l)&&(Me().warn("Rounding up compressed texture size to nearest multiple of 4."),a=a+3&-4,l=l+3&-4);const c=a,u=l;let d,h;131072&r[2]&&!1!==t&&(s=Math.max(1,r[7]));let m=e.byteOffset+r[1]+4;const p=[];for(let t=0;t<s;++t)h=(a+3>>2)*(l+3>>2)*n,d=new Uint8Array(e.buffer,m,h),p.push(d),m+=h,a=Math.max(1,a>>1),l=Math.max(1,l>>1);return{textureData:{type:"compressed",levels:p},internalFormat:o,width:c,height:u}}(r,t.hasMipmap??!1);if(null==i)throw new Error("DDS texture data is null");const{textureData:n,internalFormat:o,width:s,height:a}=i;return t.samplingMode=n.levels.length>1?9987:9729,t.hasMipmap=n.levels.length>1,t.internalFormat=o,t.width=s,t.height=a,new pe.A(e,t,n)}(e,this._createDescriptor(e),t),this._emptyTexture=null,this._texture}_loadFromKTX2(e,t){return this._loadAsync(()=>async function(e,t,r){null==ge&&(ge=await _e());const i=new ge.KTX2File(new Uint8Array(r));if(!we(i))return null;i.startTranscoding();const n=be(e,t,i.getLevels(),i.getHasAlpha(),i.getWidth(),i.getHeight(),(e,t)=>i.getImageTranscodedSizeInBytes(e,0,0,t),(e,t,r)=>i.transcodeImage(r,e,0,0,t,0,-1,-1));return i.close(),i.delete(),n}(e,this._createDescriptor(e),t).then(e=>(this._texture=e,e)))}_loadFromBasis(e,t){return this._loadAsync(()=>async function(e,t,r){null==ge&&(ge=await _e());const i=new ge.BasisFile(new Uint8Array(r));if(!ye(i))return null;i.startTranscoding();const n=be(e,t,i.getNumLevels(0),i.getHasAlpha(),i.getImageWidth(0,0),i.getImageHeight(0,0),(e,t)=>i.getImageTranscodedSizeInBytes(0,e,t),(e,t,r)=>i.transcodeImage(r,0,e,t,0,0));return i.close(),i.delete(),n}(e,this._createDescriptor(e),t).then(e=>(this._texture=e,e)))}_loadFromPixelData(e,t){(0,G.vA)(this._parameters.width>0&&this._parameters.height>0);const r=this._createDescriptor(e);return 6407!==r.pixelFormat&&6408!==r.pixelFormat||(r.compress=this._parameters.compressionOptions),r.width=this._parameters.width??0,r.height=this._parameters.height??0,this._texture=new pe.A(e,r,t),this._texture}_loadFromURL(e,t){return this._loadAsync(async r=>{const i=await H(t,{signal:r});return(0,P.Te)(r),this._loadFromImage(e,i)})}_loadFromImageElement(e,t){return t.complete?this._loadFromImage(e,t):this._loadAsync(async r=>{const i=await(0,ue.y)(t,t.src,!1,r);return(0,P.Te)(r),this._loadFromImage(e,i)})}_loadFromVideoElement(e,t){return t.readyState>=HTMLMediaElement.HAVE_CURRENT_DATA?this._loadFromImage(e,t):this._loadFromVideoElementAsync(e,t)}_loadFromVideoElementAsync(e,t){return this._loadAsync(r=>new Promise((i,n)=>{const o=()=>{t.removeEventListener("loadeddata",s),t.removeEventListener("error",a),(0,ae.xt)(l)},s=()=>{t.readyState>=HTMLMediaElement.HAVE_CURRENT_DATA&&(o(),i(this._loadFromImage(e,t)))},a=e=>{o(),n(e||new R.A("texture:load-error","Failed to load video"))};t.addEventListener("loadeddata",s),t.addEventListener("error",a);const l=(0,P.u7)(r,()=>a((0,P.NK)()))}))}_loadFromImage(e,t){let r=t;r instanceof HTMLVideoElement||(r=Re(r,e.parameters));const i=Pe(r);this._parameters.width=i.width,this._parameters.height=i.height;const n=this._createDescriptor(e);return n.width=i.width,n.height=i.height,n.compress=this._parameters.compressionOptions,this._texture=new pe.A(e,n,r),this._emptyTexture=null,this.events.emit("loaded"),this._texture}_loadAsync(e){const t=new AbortController;this._loadingController=t;const r=e(t.signal);this._loadingPromise=r;const i=()=>{this._loadingController===t&&(this._loadingController=null),this._loadingPromise===r&&(this._loadingPromise=null),this._emptyTexture=null};return r.then(i,i),r}unload(){if(this._texture=(0,ae.WD)(this._texture),this._emptyTexture=null,null!=this._loadingController){const e=this._loadingController;this._loadingController=null,this._loadingPromise=null,e.abort()}this.events.emit("unloaded")}get parameters(){return this._parameters}}function Pe(e){return e instanceof HTMLVideoElement?{width:e.videoWidth,height:e.videoHeight}:e}const De={wrap:{s:10497,t:10497},mipmap:!0,noUnpackFlip:!1,preMultiplyAlpha:!1};var Ne=r(49255);class He{constructor(e){this._material=e.material,this._techniques=e.techniques,this._output=e.output}dispose(){}get _stippleTextures(){return this._techniques.context?.stippleTextures}get _markerTextures(){return this._techniques.context?.markerTextures}getTechnique(e,t){return this._techniques.get(e,this._material.getConfiguration(this._output,t))}ensureResources(e){return 2}}var Le=r(65786);class Be extends He{constructor(e){super(e),this._numLoading=0,this._disposed=!1,this._textures=e.textures,this.updateTexture(e.textureId),this._acquire(e.normalTextureId,e=>this._textureNormal=e),this._acquire(e.emissiveTextureId,e=>this._textureEmissive=e),this._acquire(e.occlusionTextureId,e=>this._textureOcclusion=e),this._acquire(e.metallicRoughnessTextureId,e=>this._textureMetallicRoughness=e)}dispose(){super.dispose(),this._texture=(0,ae.Gz)(this._texture),this._textureNormal=(0,ae.Gz)(this._textureNormal),this._textureEmissive=(0,ae.Gz)(this._textureEmissive),this._textureOcclusion=(0,ae.Gz)(this._textureOcclusion),this._textureMetallicRoughness=(0,ae.Gz)(this._textureMetallicRoughness),this._disposed=!0}ensureResources(e){return 0===this._numLoading?2:1}get textureBindParameters(){return new Ue(this._texture?.texture??null,this._textureNormal?.texture??null,this._textureEmissive?.texture??null,this._textureOcclusion?.texture??null,this._textureMetallicRoughness?.texture??null)}updateTexture(e){null!=this._texture&&e===this._texture.id||(this._texture=(0,ae.Gz)(this._texture),this._acquire(e,e=>this._texture=e))}_acquire(e,t){if(null==e)return void t(null);const r=this._textures.acquire(e);if((0,P.$X)(r))return++this._numLoading,void r.then(e=>{if(this._disposed)return(0,ae.Gz)(e),void t(null);t(e)}).finally(()=>--this._numLoading);t(r)}}class ze extends Le.Y{constructor(e=null){super(),this.textureEmissive=e}}class Ue extends ze{constructor(e,t,r,i,n,o,s){super(r),this.texture=e,this.textureNormal=t,this.textureOcclusion=i,this.textureMetallicRoughness=n,this.scale=o,this.normalTextureTransformMatrix=s}}var Ge=r(5482),Ve=r(68317),je=r(51976);class We extends Ve.Hz{constructor(){super(...arguments),this.oitPass=0,this.hasHighlightMixTexture=!1,this.bindType=1,this.instanced=!1,this.writeDepth=!0,this.oitPremultipliedAlpha=!1}}(0,Ge.Cg)([(0,je.W)({count:3})],We.prototype,"oitPass",void 0),(0,Ge.Cg)([(0,je.W)()],We.prototype,"hasHighlightMixTexture",void 0);var ke=r(19245);class Ze{constructor(e,t){this.id=(0,W.c)(),this.supportsEdges=!1,this._renderPriority=0,this._parameters=new t,(0,ke.MB)(this._parameters,e),this.validateParameters(this._parameters)}get useIndexing(){return this.parameters.useIndexing??!1}get parameters(){return this._parameters}update(e){return!1}setParameters(e,t=!0){(0,ke.MB)(this._parameters,e)&&(this.validateParameters(this._parameters),t&&this._parametersChanged())}validateParameters(e){}shouldRender(e){return this.visible&&this.isVisibleForOutput(e.output)&&(!this.parameters.isDecoration||e.bind.decorations)&&0!==(this.parameters.renderOccluded&e.renderOccludedMask)}isVisibleForOutput(e){return!0}get renderPriority(){return this._renderPriority}set renderPriority(e){e!==this._renderPriority&&(this._renderPriority=e,this._parametersChanged())}_parametersChanged(){this.repository?.materialChanged(this)}get renderOccludedFlags(){return this.visible?this.parameters.renderOccluded:0}get testsTransparentRenderOrder(){return this.parameters.testsTransparentRenderOrder}get hasEmissions(){return!1}getConfiguration(e,t,r=new We){return r.output=e,r.hasEmission=t.hasEmission&&(0,Ne._o)(e),r.oitPass=t.oitPass,r.hasHighlightMixTexture=8===e&&null!=t.highlightMixTexture,r}}Le.Y;class $e{constructor(e=0,t=!1,r=!0){this.tolerance=e,this.isVerticalRay=t,this.normalRequired=r}}const qe=(0,m.vt)();function Ye(e,t,r,i,n,o){if(!e.visible)return;const s=(0,d.jb)(lt,i,r),a=(e,t,r)=>o(e,r,t),{tolerance:l}=t,c=new $e(l,!1,t.options.normalRequired);if(e.boundingInfo)(0,G.vA)(0===e.type),Ke(e.boundingInfo,r,s,l,n,c,a);else{const t=e.positionAttribute,i=e.primitivePositionIndices;!function(e,t,r,i,n,o,s,a,l,c){const u=t,h=ct,m=Math.abs(u[0]),p=Math.abs(u[1]),f=Math.abs(u[2]),g=m>=p?m>=f?0:2:p>=f?1:2,v=g,_=u[v]<0?2:1,x=(g+_)%3,y=(g+(3-_))%3,w=u[x]/u[v],b=u[y]/u[v],M=1/u[v],T=Qe,S=et,C=tt,{normalRequired:A}=l;for(let t=r;t<i;++t){const r=3*t,i=s*n[r];(0,d.hZ)(h[0],o[i+0],o[i+1],o[i+2]);const l=s*n[r+1];(0,d.hZ)(h[1],o[l+0],o[l+1],o[l+2]);const u=s*n[r+2];(0,d.hZ)(h[2],o[u+0],o[u+1],o[u+2]),a&&((0,d.C)(h[0],a.applyToVertex(h[0][0],h[0][1],h[0][2],t)),(0,d.C)(h[1],a.applyToVertex(h[1][0],h[1][1],h[1][2],t)),(0,d.C)(h[2],a.applyToVertex(h[2][0],h[2][1],h[2][2],t))),(0,d.jb)(T,h[0],e),(0,d.jb)(S,h[1],e),(0,d.jb)(C,h[2],e);const m=T[x]-w*T[v],p=T[y]-b*T[v],f=S[x]-w*S[v],g=S[y]-b*S[v],_=C[x]-w*C[v],E=C[y]-b*C[v],R=_*g-E*f,I=m*E-p*_,O=f*p-g*m;if((R<0||I<0||O<0)&&(R>0||I>0||O>0))continue;const F=R+I+O;if(0===F)continue;const P=R*(M*T[v])+I*(M*S[v])+O*(M*C[v]);if(P*Math.sign(F)<0)continue;const D=P/F;D>=0&&c(D,t,A?it(h):null)}}(r,s,0,i.length/3,i,t.data,t.stride,n,c,a)}}const Xe=(0,h.vt)();function Ke(e,t,r,i,n,o,s){if(null==e)return;const a=function(e,t){return(0,d.hZ)(t,1/e[0],1/e[1],1/e[2])}(r,Xe);if((0,m.Ne)(qe,e.bbMin),(0,m.vI)(qe,e.bbMax),null!=n&&n.applyToAabb(qe),function(e,t,r,i){return function(e,t,r,i){const n=(e[0]-i-t[0])*r[0],o=(e[3]+i-t[0])*r[0];let s=Math.min(n,o),a=Math.max(n,o);const l=(e[1]-i-t[1])*r[1],c=(e[4]+i-t[1])*r[1];if(a=Math.min(a,Math.max(l,c)),a<0)return!1;if(s=Math.max(s,Math.min(l,c)),s>a)return!1;const u=(e[2]-i-t[2])*r[2],d=(e[5]+i-t[2])*r[2];return a=Math.min(a,Math.max(u,d)),!(a<0)&&(s=Math.max(s,Math.min(u,d)),!(s>a)&&s<1/0)}(e,t,r,i)}(qe,t,a,i)){const{primitiveIndices:a,position:l}=e,c=a?a.length:l.indices.length/3;if(c>st){const a=e.getChildren();if(void 0!==a){for(const e of a)Ke(e,t,r,i,n,o,s);return}}!function(e,t,r,i,n,o,s,a,l,c,u){const d=e[0],h=e[1],m=e[2],p=t[0],f=t[1],g=t[2],{normalRequired:v}=c;for(let e=0;e<i;++e){const t=a[e],r=3*t,i=s*n[r];let c=o[i],_=o[i+1],x=o[i+2];const y=s*n[r+1];let w=o[y],b=o[y+1],M=o[y+2];const T=s*n[r+2];let S=o[T],C=o[T+1],A=o[T+2];null!=l&&([c,_,x]=l.applyToVertex(c,_,x,e),[w,b,M]=l.applyToVertex(w,b,M,e),[S,C,A]=l.applyToVertex(S,C,A,e));const E=w-c,R=b-_,I=M-x,O=S-c,F=C-_,P=A-x,D=f*P-F*g,N=g*O-P*p,H=p*F-O*f,L=E*D+R*N+I*H;if(Math.abs(L)<=at)continue;const B=d-c,z=h-_,U=m-x,G=B*D+z*N+U*H;if(L>0){if(G<0||G>L)continue}else if(G>0||G<L)continue;const V=z*I-R*U,j=U*E-I*B,W=B*R-E*z,k=p*V+f*j+g*W;if(L>0){if(k<0||G+k>L)continue}else if(k>0||G+k<L)continue;const Z=(O*V+F*j+P*W)/L;Z>=0&&u(Z,t,v?rt(E,R,I,O,F,P,Je):null)}}(t,r,0,c,l.indices,l.data,l.stride,a,n,o,s)}}const Je=(0,h.vt)();const Qe=(0,h.vt)(),et=(0,h.vt)(),tt=(0,h.vt)();function rt(e,t,r,i,n,o,s){return(0,d.hZ)(nt,e,t,r),(0,d.hZ)(ot,i,n,o),(0,d.$A)(s,nt,ot),(0,d.S8)(s,s),s}function it(e){return(0,d.jb)(nt,e[1],e[0]),(0,d.jb)(ot,e[2],e[0]),(0,d.$A)(Je,nt,ot),(0,d.S8)(Je,Je),Je}const nt=(0,h.vt)(),ot=(0,h.vt)(),st=1e3,at=1e-7,lt=(0,h.vt)(),ct=[(0,h.vt)(),(0,h.vt)(),(0,h.vt)()];var ut=r(16396);function dt(e,t,r){const{data:i,indices:n}=e,o=t.typedBuffer,s=t.typedBufferStride,a=n.length;r*=s;for(let e=0;e<a;++e){const t=2*n[e];o[r]=i[t],o[r+1]=i[t+1],r+=s}}function ht(e,t,r,i=1){const{data:n,indices:o}=e,s=t.typedBuffer,a=t.typedBufferStride,l=o.length;if(r*=a,1===i)for(let e=0;e<l;++e){const t=3*o[e];s[r]=n[t],s[r+1]=n[t+1],s[r+2]=n[t+2],r+=a}else for(let e=0;e<l;++e){const t=3*o[e];for(let e=0;e<i;++e)s[r]=n[t],s[r+1]=n[t+1],s[r+2]=n[t+2],r+=a}}function mt(e,t,r,i=1){const{data:n,indices:o}=e,s=t.typedBuffer,a=t.typedBufferStride,l=o.length;if(r*=a,1===i)for(let e=0;e<l;++e){const t=4*o[e];s[r]=n[t],s[r+1]=n[t+1],s[r+2]=n[t+2],s[r+3]=n[t+3],r+=a}else for(let e=0;e<l;++e){const t=4*o[e];for(let e=0;e<i;++e)s[r]=n[t],s[r+1]=n[t+1],s[r+2]=n[t+2],s[r+3]=n[t+3],r+=a}}function pt(e,t,r,i,n=1){const o=t.typedBuffer,s=t.typedBufferStride;if(i*=s,1===n)for(let t=0;t<r;++t)o[i]=e[0],o[i+1]=e[1],o[i+2]=e[2],o[i+3]=e[3],i+=s;else for(let t=0;t<r;++t)for(let t=0;t<n;++t)o[i]=e[0],o[i+1]=e[1],o[i+2]=e[2],o[i+3]=e[3],i+=s}function ft(e,t,r,i,n,o){switch(e){case"position":{(0,G.vA)(3===t.size);const i=n.getField(e,g.xs);(0,G.vA)(!!i,`No buffer view for ${e}`),function(e,t,r,i,n=1){if(!t)return void ht(e,r,i,n);const{data:o,indices:s}=e,a=r.typedBuffer,c=r.typedBufferStride,u=s.length,d=t[0],h=t[1],m=t[2],p=t[4],f=t[5],g=t[6],v=t[8],_=t[9],x=t[10],y=t[12],w=t[13],b=t[14];i*=c;let M=0,T=0,S=0;const C=(0,l.tZ)(t)?e=>{M=o[e]+y,T=o[e+1]+w,S=o[e+2]+b}:e=>{const t=o[e],r=o[e+1],i=o[e+2];M=d*t+p*r+v*i+y,T=h*t+f*r+_*i+w,S=m*t+g*r+x*i+b};if(1===n)for(let e=0;e<u;++e)C(3*s[e]),a[i]=M,a[i+1]=T,a[i+2]=S,i+=c;else for(let e=0;e<u;++e){C(3*s[e]);for(let e=0;e<n;++e)a[i]=M,a[i+1]=T,a[i+2]=S,i+=c}}(t,r,i,o);break}case"normal":{(0,G.vA)(3===t.size);const r=n.getField(e,g.xs);(0,G.vA)(!!r,`No buffer view for ${e}`),function(e,t,r,i,n=1){if(!t)return void ht(e,r,i,n);const{data:o,indices:s}=e,a=t,c=r.typedBuffer,u=r.typedBufferStride,d=s.length,h=a[0],m=a[1],p=a[2],f=a[4],g=a[5],v=a[6],_=a[8],x=a[9],y=a[10],w=!(0,l.ut)(a),b=1e-6,M=1-b;i*=u;let T=0,S=0,C=0;const A=(0,l.tZ)(a)?e=>{T=o[e],S=o[e+1],C=o[e+2]}:e=>{const t=o[e],r=o[e+1],i=o[e+2];T=h*t+f*r+_*i,S=m*t+g*r+x*i,C=p*t+v*r+y*i};if(1===n)if(w)for(let e=0;e<d;++e){A(3*s[e]);const t=T*T+S*S+C*C;if(t<M&&t>b){const e=1/Math.sqrt(t);c[i]=T*e,c[i+1]=S*e,c[i+2]=C*e}else c[i]=T,c[i+1]=S,c[i+2]=C;i+=u}else for(let e=0;e<d;++e)A(3*s[e]),c[i]=T,c[i+1]=S,c[i+2]=C,i+=u;else for(let e=0;e<d;++e){if(A(3*s[e]),w){const e=T*T+S*S+C*C;if(e<M&&e>b){const t=1/Math.sqrt(e);T*=t,S*=t,C*=t}}for(let e=0;e<n;++e)c[i]=T,c[i+1]=S,c[i+2]=C,i+=u}}(t,i,r,o);break}case"normalCompressed":case"profileRight":case"profileUp":{(0,G.vA)(2===t.size);const r=n.getField(e,g.mJ);(0,G.vA)(!!r,`No buffer view for ${e}`),dt(t,r,o);break}case"uv0":{(0,G.vA)(2===t.size);const r=n.getField(e,g.ZD)??n.getField(e,g.gH);(0,G.vA)(!!r,`No buffer view for ${e}`),dt(t,r,o);break}case"uvi":{(0,G.vA)(2===t.size);const r=n.getField(e,g.mJ);(0,G.vA)(!!r,`No buffer view for ${e}`),dt(t,r,o);break}case"color":case"symbolColor":{const r=n.getField(e,g.XP);(0,G.vA)(!!r,`No buffer view for ${e}`),(0,G.vA)(3===t.size||4===t.size),function(e,t,r,i,n=1){const{data:o,indices:s}=e,a=r.typedBuffer,l=r.typedBufferStride,c=s.length;if(i*=l,t===o.length&&4===t){a[i]=o[0],a[i+1]=o[1],a[i+2]=o[2],a[i+3]=o[3];const e=new Uint32Array(r.typedBuffer.buffer,r.start),t=l/4,s=e[i/=4];i+=t;const u=c*n;for(let r=1;r<u;++r)e[i]=s,i+=t;return}if(1!==n)if(4!==t)for(let e=0;e<c;++e){const t=3*s[e];for(let e=0;e<n;++e)a[i]=o[t],a[i+1]=o[t+1],a[i+2]=o[t+2],a[i+3]=255,i+=l}else for(let e=0;e<c;++e){const t=4*s[e];for(let e=0;e<n;++e)a[i]=o[t],a[i+1]=o[t+1],a[i+2]=o[t+2],a[i+3]=o[t+3],i+=l}else{if(4===t){for(let e=0;e<c;++e){const t=4*s[e];a[i]=o[t],a[i+1]=o[t+1],a[i+2]=o[t+2],a[i+3]=o[t+3],i+=l}return}for(let e=0;e<c;++e){const t=3*s[e];a[i]=o[t],a[i+1]=o[t+1],a[i+2]=o[t+2],a[i+3]=255,i+=l}}}(t,t.size,r,o);break}case"colorFeatureAttribute":case"opacityFeatureAttribute":case"sizeFeatureAttribute":{const r=n.getField(e,g.Y$)??n.getField(e,g.Y$);(0,G.vA)(!!r,`No buffer view for ${e}`),(0,G.vA)(1===t.size),function(e,t,r){const{data:i,indices:n}=e,o=t.typedBuffer,s=t.typedBufferStride,a=n.length,l=i[0];r*=s;for(let e=0;e<a;++e)o[r]=l,r+=s}(t,r,o);break}case"tangent":{(0,G.vA)(4===t.size);const i=n.getField(e,g.Eq);(0,G.vA)(!!i,`No buffer view for ${e}`),function(e,t,r,i,n=1){if(!t)return void mt(e,r,i,n);const{data:o,indices:s}=e,a=t,c=r.typedBuffer,u=r.typedBufferStride,d=s.length,h=a[0],m=a[1],p=a[2],f=a[4],g=a[5],v=a[6],_=a[8],x=a[9],y=a[10],w=!(0,l.ut)(a),b=1e-6,M=1-b;if(i*=u,1===n)for(let e=0;e<d;++e){const t=4*s[e],r=o[t],n=o[t+1],a=o[t+2],l=o[t+3];let d=h*r+f*n+_*a,T=m*r+g*n+x*a,S=p*r+v*n+y*a;if(w){const e=d*d+T*T+S*S;if(e<M&&e>b){const t=1/Math.sqrt(e);d*=t,T*=t,S*=t}}c[i]=d,c[i+1]=T,c[i+2]=S,c[i+3]=l,i+=u}else for(let e=0;e<d;++e){const t=4*s[e],r=o[t],a=o[t+1],l=o[t+2],d=o[t+3];let T=h*r+f*a+_*l,S=m*r+g*a+x*l,C=p*r+v*a+y*l;if(w){const e=T*T+S*S+C*C;if(e<M&&e>b){const t=1/Math.sqrt(e);T*=t,S*=t,C*=t}}for(let e=0;e<n;++e)c[i]=T,c[i+1]=S,c[i+2]=C,c[i+3]=d,i+=u}}(t,r,i,o);break}case"profileVertexAndNormal":{(0,G.vA)(4===t.size);const r=n.getField(e,g.jz)??n.getField(e,g.Eq);(0,G.vA)(!!r,`No buffer view for ${e}`),mt(t,r,o);break}case"profileAuxData":{(0,G.vA)(3===t.size);const r=n.getField(e,g.EC)??n.getField(e,g.xs);(0,G.vA)(!!r,`No buffer view for ${e}`),ht(t,r,o);break}}}(0,h.vt)();class gt{constructor(e){this.layout=e}elementCount(e){return e.get("position").indices.length}write(e,t,r,i,n,o){return function(e,t,r,i,n,o,s){let a={numItems:0,numVerticesPerItem:0};for(const l of r.fields.keys()){const r=e.get(l),c=r?.indices;if(r&&c)"position"===l&&(a={numItems:1,numVerticesPerItem:c.length}),ft(l,r,i,n,o,s);else if("olidColor"===l&&null!=t){const r=e.get("position")?.indices;if(r){const e=r.length;pt(t,o.getField(l,g.XP),e,s)}}}return a}(r,i,this.layout,e,t,n,o)}}var vt=r(91429),_t=r(91829),xt=r(4431),yt=r(1843),wt=r(72824),bt=r(13840),Mt=r(42958),Tt=r(16943),St=r(90644);const Ct=(0,St.p3)(1,0,1,771);function At(e,t=!1){switch(e){case 0:return t?St.RC:St.T8;case 1:return Ct;case 2:case 3:return null}}function Et(e){if(e.draped)return null;switch(e.oitPass){case 0:case 2:return e.writeDepth?St.Uy:null;case 1:case 3:return null}}function Rt(e,t=513){return{func:0===e||2===e?t:515}}const It={factor:-1,units:-2};function Ot({oitPass:e,enableOffset:t}){return t&&1===e?It:null}function Ft(e,t){const r={buffers:1===e?[me.r6,me.yI]:[me.r6]};return t&&r.buffers.push(me.r6+r.buffers.length),r.buffers.length>1?r:null}const Pt={mask:255},Dt={function:{func:519,ref:2,mask:2},operation:{fail:7680,zFail:7680,zPass:0}},Nt={function:{func:519,ref:2,mask:2},operation:{fail:7680,zFail:7680,zPass:7681}};var Ht=r(4576);(0,r(44208).A)("esri-tests-disable-gpu-memory-measurements");var Lt=r(69622),Bt=r(32728);class zt{constructor(e){this.localTransform=e.localTransform,this.globalTransform=e.globalTransform,this.modelOrigin=e.modelOrigin,this.model=e.instanceModel,this.modelNormal=e.instanceModelNormal,this.modelScaleFactors=e.modelScaleFactors,this.boundingSphere=e.boundingSphere,this.featureAttribute=e.getField("instanceFeatureAttribute",g.Eq),this.color=e.getField("instanceColor",g.XP),this.olidColor=e.getField("instanceOlidColor",g.XP),this.state=e.getField("state",g.SL),this.lodLevel=e.getField("lodLevel",g.SL)}}let Ut=class extends Lt.A{constructor(e,t){super(e),this.events=new se.bk,this._capacity=0,this._size=0,this._next=0,this._highlightOptionsMap=new Map,this._highlightOptionsMapPrev=new Map,this._layout=function(e){return Vt(Gt.clone(),e).u8("state").u8("lodLevel")}(t),this._capacity=$t,this._buffer=this._layout.createBuffer(this._capacity),this._view=new zt(this._buffer)}get capacity(){return this._capacity}get size(){return this._size}get view(){return this._view}addInstance(){this._size+1>this._capacity&&this._grow();const e=this._findSlot();return this._view.state.set(e,1),this._size++,this.events.emit("instances-changed"),e}removeInstance(e){const t=this._view.state;(0,G.vA)(e>=0&&e<this._capacity&&!!(1&t.get(e)),"invalid instance handle"),this._getStateFlag(e,18)?this._setStateFlags(e,32):this.freeInstance(e),this.events.emit("instances-changed")}freeInstance(e){const t=this._view.state;(0,G.vA)(e>=0&&e<this._capacity&&!!(1&t.get(e)),"invalid instance handle"),t.set(e,0),this._size--}setLocalTransform(e,t,r=!0){this._view.localTransform.setMat(e,t),r&&this.updateModelTransform(e)}getLocalTransform(e,t){this._view.localTransform.getMat(e,t)}setGlobalTransform(e,t,r=!0){this._view.globalTransform.setMat(e,t),r&&this.updateModelTransform(e)}getGlobalTransform(e,t){this._view.globalTransform.getMat(e,t)}updateModelTransform(e){const t=this._view,r=jt,i=Wt;t.localTransform.getMat(e,kt),t.globalTransform.getMat(e,Zt);const n=(0,l.lw)(Zt,Zt,kt);(0,d.hZ)(r,n[12],n[13],n[14]),t.modelOrigin.setVec(e,r),(0,s.z0)(i,n),t.model.setMat(e,i);const o=(0,Bt.wp)(jt,n);o.sort(),t.modelScaleFactors.set(e,0,o[1]),t.modelScaleFactors.set(e,1,o[2]),(0,s.B8)(i,i),(0,s.mg)(i,i),t.modelNormal.setMat(e,i),this._setStateFlags(e,64),this.events.emit("instance-transform-changed",{index:e})}getModelTransform(e,t){const r=this._view;r.model.getMat(e,Wt),r.modelOrigin.getVec(e,jt),t[0]=Wt[0],t[1]=Wt[1],t[2]=Wt[2],t[3]=0,t[4]=Wt[3],t[5]=Wt[4],t[6]=Wt[5],t[7]=0,t[8]=Wt[6],t[9]=Wt[7],t[10]=Wt[8],t[11]=0,t[12]=jt[0],t[13]=jt[1],t[14]=jt[2],t[15]=1}applyShaderTransformation(e,t){null!=this.shaderTransformation&&this.shaderTransformation.applyTransform(this,e,t)}getCombinedModelTransform(e,t){return this.getModelTransform(e,t),null!=this.shaderTransformation&&this.shaderTransformation.applyTransform(this,e,t),t}getCombinedLocalTransform(e,t){this._view.localTransform.getMat(e,t),null!=this.shaderTransformation&&this.shaderTransformation.applyTransform(this,e,t)}getCombinedMaxScaleFactor(e){let t=this._view.modelScaleFactors.get(e,1);return null!=this.shaderTransformation&&(this.shaderTransformation.scaleFactor(jt,this,e),t*=Math.max(jt[0],jt[1],jt[2])),t}getCombinedMedianScaleFactor(e){let t=this._view.modelScaleFactors.get(e,0);return null!=this.shaderTransformation&&(this.shaderTransformation.scaleFactor(jt,this,e),t*=function(e,t,r){return Math.max(Math.min(e,t),Math.min(Math.max(e,t),r))}(jt[0],jt[1],jt[2])),t}getModel(e,t){this._view.model.getMat(e,t)}setFeatureAttribute(e,t){this._view.featureAttribute?.setVec(e,t)}getFeatureAttribute(e,t){this._view.featureAttribute?.getVec(e,t)}setColor(e,t){this._view.color?.setVec(e,t)}setObjectAndLayerIdColor(e,t){this._view.olidColor?.setVec(e,t)}setVisible(e,t){t!==this.getVisible(e)&&(this._setStateFlag(e,4,t),this.events.emit("instance-visibility-changed",{index:e}))}getVisible(e){return this._getStateFlag(e,4)}setHighlight(e,t){const{_highlightOptionsMap:r}=this,i=r.get(e);t?t!==i&&(r.set(e,t),this._setStateFlag(e,8,!0),this.events.emit("instance-highlight-changed")):i&&(r.delete(e),this._setStateFlag(e,8,!1),this.events.emit("instance-highlight-changed"))}get highlightOptionsMap(){return this._highlightOptionsMap}getHighlightStateFlag(e){return this._getStateFlag(e,8)}geHighlightOptionsPrev(e){const t=this._highlightOptionsMapPrev.get(e)??null;return this._highlightOptionsMapPrev.delete(e),t}getHighlightName(e){const t=this.highlightOptionsMap.get(e)??null;return t?this._highlightOptionsMapPrev.set(e,t):this._highlightOptionsMapPrev.delete(e),t}getState(e){return this._view.state.get(e)}getLodLevel(e){return this._view.lodLevel.get(e)}countFlags(e){let t=0;for(let r=0;r<this._capacity;++r)this.getState(r)&e&&++t;return t}_setStateFlags(e,t){const r=this._view.state;t=r.get(e)|t,r.set(e,t)}_clearStateFlags(e,t){const r=this._view.state;t=r.get(e)&~t,r.set(e,t)}_setStateFlag(e,t,r){r?this._setStateFlags(e,t):this._clearStateFlags(e,t)}_getStateFlag(e,t){return!!(this._view.state.get(e)&t)}_grow(){this._capacity=Math.max($t,Math.floor(this._capacity*Ht.Ji)),this._buffer=this._layout.createBuffer(this._capacity).copyFrom(this._buffer),this._view=new zt(this._buffer)}_findSlot(){const e=this._view.state;let t=this._next;for(;1&e.get(t);)t=t+1===this._capacity?0:t+1;return this._next=t+1===this._capacity?0:t+1,t}};(0,Ge.Cg)([(0,vt.MZ)({constructOnly:!0})],Ut.prototype,"shaderTransformation",void 0),(0,Ge.Cg)([(0,vt.MZ)()],Ut.prototype,"_size",void 0),(0,Ge.Cg)([(0,vt.MZ)({readOnly:!0})],Ut.prototype,"size",null),Ut=(0,Ge.Cg)([(0,vt.$K)("esri.views.3d.webgl-engine.lib.lodRendering.InstanceData")],Ut);const Gt=(0,yt.BP)().mat4f64("localTransform").mat4f64("globalTransform").vec4f64("boundingSphere").vec3f64("modelOrigin").mat3f("instanceModel").mat3f("instanceModelNormal").vec2f("modelScaleFactors");function Vt(e,t){return t.instancedFeatureAttribute&&e.vec4f("instanceFeatureAttribute"),t.instancedColor&&e.vec4u8("instanceColor"),(0,Tt.E)()&&e.vec4u8("instanceOlidColor"),e}const jt=(0,h.vt)(),Wt=(0,a.vt)(),kt=(0,c.vt)(),Zt=(0,c.vt)(),$t=64,qt=(0,yt.BP)().vec3f("instanceModelOriginHi").vec3f("instanceModelOriginLo").mat3f("instanceModel").mat3f("instanceModelNormal");var Yt=r(74810),Xt=r(28491),Kt=r(49788);class Jt extends wt.Zo{constructor(){super(...arguments),this.isSchematic=!1,this.usePBR=!1,this.mrrFactors=Yt.mb,this.hasVertexColors=!1,this.hasSymbolColors=!1,this.doubleSided=!1,this.doubleSidedType="normal",this.cullFace=2,this.instanced=!1,this.instancedFeatureAttribute=!1,this.instancedColor=!1,this.instanceColorEncodesAlphaIgnore=!1,this.emissiveStrengthFromSymbol=0,this.emissiveStrengthKHR=1,this.emissiveSource=1,this.emissiveBaseColor=h.uY,this.instancedDoublePrecision=!1,this.normalType=0,this.receiveShadows=!0,this.receiveAmbientOcclusion=!0,this.castShadows=!0,this.ambient=(0,h.CN)(.2,.2,.2),this.diffuse=(0,h.CN)(.8,.8,.8),this.externalColor=(0,_t.fA)(1,1,1,1),this.colorMixMode="multiply",this.opacity=1,this.layerOpacity=1,this.origin=(0,h.vt)(),this.hasSlicePlane=!1,this.offsetTransparentBackfaces=!1,this.vvSize=null,this.vvColor=null,this.vvOpacity=null,this.vvSymbolAnchor=null,this.vvSymbolRotationMatrix=null,this.modelTransformation=null,this.drivenOpacity=!1,this.writeDepth=!0,this.customDepthTest=0,this.textureAlphaMode=0,this.textureAlphaCutoff=Kt.Q,this.textureAlphaPremultiplied=!1,this.renderOccluded=1,this.testsTransparentRenderOrder=0,this.isDecoration=!1}get hasVVSize(){return!!this.vvSize}get hasVVColor(){return!!this.vvColor}get hasVVOpacity(){return!!this.vvOpacity}}wt.gy;let Qt=class extends Mt.w{constructor(e,t){let i=(0,xt.U)(rr(t));t.instanced&&t.instancedDoublePrecision&&(i=i.concat((0,xt.U)(function(e){return Vt(qt.clone(),e)}(t)))),super(e,t,i),this.shader=new bt.r(Xt.D,()=>r.e(5141).then(r.bind(r,5141))),this.ignoreUnused=!0}_makePipeline(e,t){const{oitPass:r,output:i,hasEmission:n,transparent:o,cullFace:s,customDepthTest:a,hasOccludees:l}=e;return(0,St.Ey)({blending:(0,Ne._o)(i)&&o?At(r):null,culling:tr(e)?(0,St.Xt)(s):null,depthTest:Rt(r,er(a)),depthWrite:Et(e),drawBuffers:(0,Mt.L)(i,Ft(r,n)),colorWrite:St.kn,stencilWrite:l?Pt:null,stencilTest:l?t?Nt:Dt:null,polygonOffset:Ot(e)})}initializePipeline(e){return this._occludeePipelineState=this._makePipeline(e,!0),this._makePipeline(e,!1)}getPipeline(e,t){return t?this._occludeePipelineState:super.getPipeline(e)}};function er(e){switch(e){case 1:return 515;case 0:case 3:return 513;case 2:return 516}}function tr(e){return 0!==e.cullFace||!e.hasSlicePlane&&!e.transparent&&!e.doubleSidedMode}function rr(e){const t=(0,yt.BP)().vec3f("position");return 1===e.normalType?t.vec2i16("normalCompressed",{glNormalized:!0}):t.vec3f("normal"),e.hasVertexTangents&&t.vec4f("tangent"),e.hasTextures&&t.vec2f16("uv0"),e.hasVertexColors&&t.vec4u8("color",{glNormalized:!0}),e.hasSymbolColors&&t.vec4u8("symbolColor"),!e.instanced&&(0,Tt.E)()&&t.vec4u8("olidColor"),t}Qt=(0,Ge.Cg)([(0,vt.$K)("esri.views.3d.webgl-engine.shaders.DefaultMaterialTechnique")],Qt);class ir extends We{constructor(e){super(),this.spherical=e,this.alphaDiscardMode=1,this.doubleSidedMode=0,this.pbrMode=0,this.cullFace=0,this.normalType=0,this.customDepthTest=0,this.emissionSource=0,this.hasVertexColors=!1,this.hasSymbolColors=!1,this.hasVerticalOffset=!1,this.hasColorTexture=!1,this.hasMetallicRoughnessTexture=!1,this.hasOcclusionTexture=!1,this.hasNormalTexture=!1,this.hasScreenSizePerspective=!1,this.hasVertexTangents=!1,this.hasOccludees=!1,this.instanced=!1,this.instancedDoublePrecision=!1,this.hasModelTransformation=!1,this.offsetBackfaces=!1,this.hasVVSize=!1,this.hasVVColor=!1,this.receiveShadows=!1,this.receiveAmbientOcclusion=!1,this.textureAlphaPremultiplied=!1,this.instancedFeatureAttribute=!1,this.instancedColor=!1,this.writeDepth=!0,this.transparent=!1,this.enableOffset=!0,this.terrainDepthTest=!1,this.cullAboveTerrain=!1,this.snowCover=!1,this.hasColorTextureTransform=!1,this.hasEmissionTextureTransform=!1,this.hasNormalTextureTransform=!1,this.hasOcclusionTextureTransform=!1,this.hasMetallicRoughnessTextureTransform=!1,this.occlusionPass=!1,this.useCustomDTRExponentForWater=!1,this.useFillLights=!0,this.draped=!1}get textureCoordinateType(){return this.hasTextures?1:0}get hasTextures(){return this.hasColorTexture||this.hasNormalTexture||this.hasMetallicRoughnessTexture||3===this.emissionSource||this.hasOcclusionTexture}get hasVVInstancing(){return this.instanced}get discardInvisibleFragments(){return this.transparent}}(0,Ge.Cg)([(0,je.W)({count:4})],ir.prototype,"alphaDiscardMode",void 0),(0,Ge.Cg)([(0,je.W)({count:3})],ir.prototype,"doubleSidedMode",void 0),(0,Ge.Cg)([(0,je.W)({count:7})],ir.prototype,"pbrMode",void 0),(0,Ge.Cg)([(0,je.W)({count:3})],ir.prototype,"cullFace",void 0),(0,Ge.Cg)([(0,je.W)({count:3})],ir.prototype,"normalType",void 0),(0,Ge.Cg)([(0,je.W)({count:3})],ir.prototype,"customDepthTest",void 0),(0,Ge.Cg)([(0,je.W)({count:8})],ir.prototype,"emissionSource",void 0),(0,Ge.Cg)([(0,je.W)()],ir.prototype,"hasVertexColors",void 0),(0,Ge.Cg)([(0,je.W)()],ir.prototype,"hasSymbolColors",void 0),(0,Ge.Cg)([(0,je.W)()],ir.prototype,"hasVerticalOffset",void 0),(0,Ge.Cg)([(0,je.W)()],ir.prototype,"hasColorTexture",void 0),(0,Ge.Cg)([(0,je.W)()],ir.prototype,"hasMetallicRoughnessTexture",void 0),(0,Ge.Cg)([(0,je.W)()],ir.prototype,"hasOcclusionTexture",void 0),(0,Ge.Cg)([(0,je.W)()],ir.prototype,"hasNormalTexture",void 0),(0,Ge.Cg)([(0,je.W)()],ir.prototype,"hasScreenSizePerspective",void 0),(0,Ge.Cg)([(0,je.W)()],ir.prototype,"hasVertexTangents",void 0),(0,Ge.Cg)([(0,je.W)()],ir.prototype,"hasOccludees",void 0),(0,Ge.Cg)([(0,je.W)()],ir.prototype,"instanced",void 0),(0,Ge.Cg)([(0,je.W)()],ir.prototype,"instancedDoublePrecision",void 0),(0,Ge.Cg)([(0,je.W)()],ir.prototype,"hasModelTransformation",void 0),(0,Ge.Cg)([(0,je.W)()],ir.prototype,"offsetBackfaces",void 0),(0,Ge.Cg)([(0,je.W)()],ir.prototype,"hasVVSize",void 0),(0,Ge.Cg)([(0,je.W)()],ir.prototype,"hasVVColor",void 0),(0,Ge.Cg)([(0,je.W)()],ir.prototype,"receiveShadows",void 0),(0,Ge.Cg)([(0,je.W)()],ir.prototype,"receiveAmbientOcclusion",void 0),(0,Ge.Cg)([(0,je.W)()],ir.prototype,"textureAlphaPremultiplied",void 0),(0,Ge.Cg)([(0,je.W)()],ir.prototype,"instancedFeatureAttribute",void 0),(0,Ge.Cg)([(0,je.W)()],ir.prototype,"instancedColor",void 0),(0,Ge.Cg)([(0,je.W)()],ir.prototype,"writeDepth",void 0),(0,Ge.Cg)([(0,je.W)()],ir.prototype,"transparent",void 0),(0,Ge.Cg)([(0,je.W)()],ir.prototype,"enableOffset",void 0),(0,Ge.Cg)([(0,je.W)()],ir.prototype,"terrainDepthTest",void 0),(0,Ge.Cg)([(0,je.W)()],ir.prototype,"cullAboveTerrain",void 0),(0,Ge.Cg)([(0,je.W)()],ir.prototype,"snowCover",void 0),(0,Ge.Cg)([(0,je.W)()],ir.prototype,"hasColorTextureTransform",void 0),(0,Ge.Cg)([(0,je.W)()],ir.prototype,"hasEmissionTextureTransform",void 0),(0,Ge.Cg)([(0,je.W)()],ir.prototype,"hasNormalTextureTransform",void 0),(0,Ge.Cg)([(0,je.W)()],ir.prototype,"hasOcclusionTextureTransform",void 0),(0,Ge.Cg)([(0,je.W)()],ir.prototype,"hasMetallicRoughnessTextureTransform",void 0);var nr=r(57323);let or=class extends Qt{constructor(){super(...arguments),this.shader=new bt.r(nr.R,()=>r.e(9933).then(r.bind(r,39933)))}};or=(0,Ge.Cg)([(0,vt.$K)("esri.views.3d.webgl-engine.shaders.RealisticTreeTechnique")],or);class sr extends Ze{constructor(e,t){super(e,lr),this.materialType="default",this.supportsEdges=!0,this.intersectDraped=void 0,this.produces=new Map([[2,e=>((0,Ne.iq)(e)||(0,Ne.yT)(e))&&!this.transparent],[4,e=>((0,Ne.iq)(e)||(0,Ne.yT)(e))&&this.transparent&&this.parameters.writeDepth],[9,e=>((0,Ne.iq)(e)||(0,Ne.yT)(e))&&this.transparent&&!this.parameters.writeDepth]]),this._layout=rr(this.parameters),this._configuration=new ir(t.spherical)}isVisibleForOutput(e){return 3!==e&&5!==e&&4!==e||this.parameters.castShadows}get visible(){const{layerOpacity:e,colorMixMode:t,opacity:r,externalColor:i}=this.parameters;return e*("replace"===t?1:r)*("ignore"===t||isNaN(i[3])?1:i[3])>=Kt.Q}get _hasEmissiveBase(){return!!this.parameters.emissiveTextureId||!(0,d.t2)(this.parameters.emissiveBaseColor,h.uY)}get hasEmissions(){return this.parameters.emissiveStrength>0&&(0===this.parameters.emissiveSource&&this._hasEmissiveBase||1===this.parameters.emissiveSource)}getConfiguration(e,t){const{parameters:r,_configuration:i}=this,{treeRendering:n,doubleSided:o,doubleSidedType:s}=r;return super.getConfiguration(e,t,this._configuration),i.hasNormalTexture=r.hasNormalTexture,i.hasColorTexture=r.hasColorTexture,i.hasMetallicRoughnessTexture=r.hasMetallicRoughnessTexture,i.hasOcclusionTexture=r.hasOcclusionTexture,i.hasVertexTangents=!n&&r.hasVertexTangents,i.instanced=r.instanced,i.instancedDoublePrecision=r.instancedDoublePrecision,i.hasVVColor=!!r.vvColor,i.hasVVSize=!!r.vvSize,i.hasVerticalOffset=null!=r.verticalOffset,i.hasScreenSizePerspective=null!=r.screenSizePerspective,i.hasSlicePlane=r.hasSlicePlane,i.alphaDiscardMode=r.textureAlphaMode,i.normalType=n?0:r.normalType,i.transparent=this.transparent,i.writeDepth=r.writeDepth,i.customDepthTest=r.customDepthTest??0,i.hasOccludees=t.hasOccludees,i.cullFace=r.hasSlicePlane?0:r.cullFace,i.cullAboveTerrain=t.cullAboveTerrain,i.hasModelTransformation=!n&&null!=r.modelTransformation,i.hasVertexColors=r.hasVertexColors,i.hasSymbolColors=r.hasSymbolColors,i.doubleSidedMode=n?2:o&&"normal"===s?1:o&&"winding-order"===s?2:0,i.instancedFeatureAttribute=r.instancedFeatureAttribute,i.instancedColor=r.instancedColor,(0,Ne._o)(e)?(i.terrainDepthTest=t.terrainDepthTest,i.receiveShadows=r.receiveShadows,i.receiveAmbientOcclusion=r.receiveAmbientOcclusion&&null!=t.ssao):(i.terrainDepthTest=!1,i.receiveShadows=i.receiveAmbientOcclusion=!1),i.textureAlphaPremultiplied=!!r.textureAlphaPremultiplied,i.pbrMode=r.usePBR?r.isSchematic?2:1:0,i.emissionSource=r.emissionSource,i.offsetBackfaces=!(!this.transparent||!r.offsetTransparentBackfaces),i.enableOffset=t.enableOffset,i.snowCover=t.snowCover>0,i.hasColorTextureTransform=!!r.colorTextureTransformMatrix,i.hasNormalTextureTransform=!!r.normalTextureTransformMatrix,i.hasEmissionTextureTransform=!!r.emissiveTextureTransformMatrix,i.hasOcclusionTextureTransform=!!r.occlusionTextureTransformMatrix,i.hasMetallicRoughnessTextureTransform=!!r.metallicRoughnessTextureTransformMatrix,i}intersect(e,t,r,i,n,o){if(null!=this.parameters.verticalOffset){const e=r.camera;(0,d.hZ)(pr,t[12],t[13],t[14]);let o=null;switch(r.viewingMode){case 1:o=(0,d.S8)(hr,pr);break;case 2:o=(0,d.C)(hr,dr)}const s=(0,d.Re)(fr,pr,e.eye),a=(0,d.Bw)(s),l=(0,d.hs)(s,s,1/a);let c=null;this.parameters.screenSizePerspective&&(c=(0,d.Om)(o,l));const u=(0,ke.kE)(e,a,this.parameters.verticalOffset,c??0,this.parameters.screenSizePerspective,null);(0,d.hs)(o,o,u),(0,d.ei)(mr,o,r.transform.inverseRotation),i=(0,d.Re)(cr,i,mr),n=(0,d.Re)(ur,n,mr)}Ye(e,r,i,n,(0,ut.ou)(r.verticalOffset),o)}createGLMaterial(e){return new ar(e)}createBufferWriter(){return new gt(this._layout)}get transparent(){return function(e){const{drivenOpacity:t,opacity:r,externalColor:i,layerOpacity:n,texture:o,textureId:s,textureAlphaMode:a,colorMixMode:l}=e,c=i[3];return t||r<1&&"replace"!==l||c<1&&"ignore"!==l||n<1||(null!=o||null!=s)&&1!==a&&2!==a&&"replace"!==l}(this.parameters)}}class ar extends Be{constructor(e){super({...e,...e.material.parameters})}beginSlot(e){this._material.setParameters({receiveShadows:e.shadowMap.enabled});const t=this._material.parameters;this.updateTexture(t.textureId);const r=e.camera.viewInverseTransposeMatrix;return(0,d.hZ)(t.origin,r[3],r[7],r[11]),this._material.setParameters(this.textureBindParameters),this.getTechnique(t.treeRendering?or:Qt,e)}}class lr extends Jt{constructor(){super(...arguments),this.treeRendering=!1,this.useIndexing=!1,this.hasVertexTangents=!1}get hasNormalTexture(){return!this.treeRendering&&!!this.normalTextureId}get hasColorTexture(){return!!this.textureId}get hasMetallicRoughnessTexture(){return!this.treeRendering&&!!this.metallicRoughnessTextureId}get hasOcclusionTexture(){return!this.treeRendering&&!!this.occlusionTextureId}get emissiveStrength(){return this.emissiveStrengthFromSymbol*this.emissiveStrengthKHR}get emissionSource(){return this.treeRendering?0:null!=this.emissiveTextureId&&0===this.emissiveSource?3:0===this.emissiveSource?2:1}get hasTextures(){return this.hasColorTexture||this.hasNormalTexture||this.hasMetallicRoughnessTexture||3===this.emissionSource||this.hasOcclusionTexture}}const cr=(0,h.vt)(),ur=(0,h.vt)(),dr=(0,h.fA)(0,0,1),hr=(0,h.vt)(),mr=(0,h.vt)(),pr=(0,h.vt)(),fr=(0,h.vt)(),gr=()=>I.A.getLogger("esri.views.3d.layers.graphics.objectResourceUtils");class vr{constructor(e,t,r){this.resource=e,this.textures=t,this.usedMemory=r}}function _r(e){const t=e.params,r=t.topology;let i=!0;switch(t.vertexAttributes||(gr().warn("Geometry must specify vertex attributes"),i=!1),t.topology){case"PerAttributeArray":break;case"Indexed":case null:case void 0:{const e=t.faces;if(e){if(t.vertexAttributes)for(const r in t.vertexAttributes){const t=e[r];t?.values?(null!=t.valueType&&"UInt32"!==t.valueType&&(gr().warn(`Unsupported indexed geometry indices type '${t.valueType}', only UInt32 is currently supported`),i=!1),null!=t.valuesPerElement&&1!==t.valuesPerElement&&(gr().warn(`Unsupported indexed geometry values per element '${t.valuesPerElement}', only 1 is currently supported`),i=!1)):(gr().warn(`Indexed geometry does not specify face indices for '${r}' attribute`),i=!1)}}else gr().warn("Indexed geometries must specify faces"),i=!1;break}default:gr().warn(`Unsupported topology '${r}'`),i=!1}e.params.material||(gr().warn("Geometry requires material"),i=!1);const n=e.params.vertexAttributes;for(const e in n)n[e].values||(gr().warn("Geometries with externally defined attributes are not yet supported"),i=!1);return i}function xr(e){const t=(0,m.Ie)();return e.forEach(e=>{const r=e.boundingInfo;null!=r&&((0,m.iT)(t,r.bbMin),(0,m.iT)(t,r.bbMax))}),t}function yr(e){switch(e){case"mask":return 2;case"maskAndTransparency":return 3;case"none":return 1;default:return 0}}function wr(e){const t=e.params;return{id:1,material:t.material,texture:t.texture,region:t.texture}}const br=new D.A(1,2,"wosr");async function Mr(e,t){const a=function(e){const t=e.match(/(.*\.(gltf|glb))(\?lod=([0-9]+))?$/);return t?{fileType:"gltf",url:t[1],specifiedLodIndex:null!=t[4]?Number(t[4]):null}:e.match(/(.*\.(json|json\.gz))$/)?{fileType:"wosr",url:e,specifiedLodIndex:null}:{fileType:"unknown",url:e,specifiedLodIndex:null}}((0,n.EM)(e));if("wosr"===a.fileType){const e=await(t.cache?t.cache.loadWOSR(a.url,t):async function(e,t){const r=await async function(e,t){const r=await(0,E.Ke)((0,A.A)(e,t));if(r.ok)return r.value.data;(0,P.QP)(r.error),function(e){throw new R.A("",`Request for object resource failed: ${e}`)}(r.error)}(e,t),i=await async function(e,t){const r=new Array;for(const i in e){const n=e[i],o=n.images[0].data;if(!o){gr().warn("Externally referenced texture data is not yet supported");continue}const s=n.encoding+";base64,"+o,a="/textureDefinitions/"+i,l="rgba"===n.channels?n.alphaChannelUsage||"transparency":"none",c={noUnpackFlip:!0,wrap:{s:10497,t:10497},preMultiplyAlpha:1!==yr(l)},u=t?.disableTextures?Promise.resolve(null):H(s,t);r.push(u.then(e=>({refId:a,image:e,parameters:c,alphaChannelUsage:l})))}const i=await Promise.all(r),n={};for(const e of i)n[e.refId]=e;return n}(r.textureDefinitions??{},t);let n=0;for(const e in i)if(i.hasOwnProperty(e)){const t=i[e];n+=t?.image?t.image.width*t.image.height*4:0}return new vr(r,i,n+(0,O.Qh)(r))}(a.url,t)),{engineResources:r,referenceBoundingBox:i}=function(e,t){const r=new Array,i=new Array,n=new Array,o=new F.O,s=e.resource,a=D.A.parse(s.version||"1.0","wosr");br.validate(a);const l=s.model.name,c=s.model.geometries,u=s.materialDefinitions??{},d=e.textures;let m=0;const p=new Map;for(let e=0;e<c.length;e++){const s=c[e];if(!_r(s))continue;const a=wr(s),l=s.params.vertexAttributes,f=[],g=e=>{if("PerAttributeArray"===s.params.topology)return null;const t=s.params.faces;for(const r in t)if(r===e)return t[r].values;return null},v=l.position,_=v.values.length/v.valuesPerElement;for(const e in l){const t=l[e],r=t.values,i=g(e)??(0,N.tM)(_);f.push([e,new L.n(r,i,t.valuesPerElement,!0)])}const x=a.texture,y=d&&d[x];if(y&&!p.has(x)){const{image:e,parameters:t}=y,r=new Fe(e,t);i.push(r),p.set(x,r)}const w=p.get(x),b=w?w.id:void 0,M=a.material;let T=o.get(M,x);if(null==T){const e=u[M.slice(M.lastIndexOf("/")+1)].params;1===e.transparency&&(e.transparency=0);const r=y?yr(y.alphaChannelUsage):void 0,i={ambient:(0,h.ci)(e.diffuse),diffuse:(0,h.ci)(e.diffuse),opacity:1-(e.transparency||0),textureAlphaMode:r,textureAlphaCutoff:.33,textureId:b,doubleSided:!0,cullFace:0,colorMixMode:e.externalColorMixMode||"tint",textureAlphaPremultiplied:y?.parameters.preMultiplyAlpha??!1};t?.materialParameters&&Object.assign(i,t.materialParameters),T=new sr(i,t),o.set(M,x,T)}n.push(T);const S=new ne(T,f);m+=f.find(e=>"position"===e[0])?.[1]?.indices.length??0,r.push(S)}return{engineResources:[{name:l,stageResources:{textures:i,materials:n,geometries:r},pivotOffset:s.model.pivotOffset,numberOfVertices:m,lodThreshold:null}],referenceBoundingBox:xr(r)}}(e,t);return{lods:r,referenceBoundingBox:i,isEsriSymbolResource:!1,isWosr:!0}}let p;if(t.cache)p=await t.cache.loadGLTF(a.url,t,!!t.usePBR,!!t.useEmissive);else{const{loadGLTF:e}=await r.e(1698).then(r.bind(r,51698));p=await e(new y.R,a.url,t,t.usePBR,t.useEmissive)}const{engineResources:M,referenceBoundingBox:S}=function(e,t,r){const n=e.model,a=e.meta,p=n.meta?.ESRI_proxyEllipsoid,y=a.isEsriSymbolResource&&null!=p&&"EsriRealisticTreesStyle"===a.ESRI_webstyle;y&&!e.customMeta.esriTreeRendering&&(e.customMeta.esriTreeRendering=!0,function(e,t){for(let r=0;r<e.model.lods.length;++r){const n=e.model.lods[r];for(const o of n.parts){const n=o.attributes.normal;if(null==n)return;const s=o.attributes.position,a=s.count,u=(0,h.vt)(),m=(0,h.vt)(),p=(0,h.vt)(),f=new Float32Array(4*a),v=new Float32Array(3*a),_=(0,l.B8)((0,c.vt)(),o.transform);let x=0,y=0;for(let l=0;l<a;l++){s.getVec(l,m),n.getVec(l,u),(0,d.Z0)(m,m,o.transform),(0,d.Re)(p,m,t.center),(0,d.Qr)(p,p,t.radius);const a=p[2],c=(0,d.Bw)(p),h=Math.min(.45+.55*c*c,1)**i.Tf;(0,d.Qr)(p,p,t.radius),null!==_&&(0,d.Z0)(p,p,_),(0,d.S8)(p,p),r+1!==e.model.lods.length&&e.model.lods.length>1&&(0,d.Cc)(p,p,u,a>-1?.2:Math.min(-4*a-3.8,1)),v[x]=p[0],v[x+1]=p[1],v[x+2]=p[2],x+=3,f[y]=h,f[y+1]=h,f[y+2]=h,f[y+3]=1,y+=4}o.attributes.normal=new g.xs(v.buffer),o.attributes.color=new g.Eq(f.buffer)}}}(e,p));const M=!!t.usePBR,S=a.isEsriSymbolResource?{usePBR:M,isSchematic:!1,treeRendering:y,mrrFactors:Yt.SY}:{usePBR:M,isSchematic:!1,treeRendering:!1,mrrFactors:Yt.mb},A={...t.materialParameters,treeRendering:y},E=new Array,R=new Map,I=new Map,O=n.lods.length,F=(0,m.Ie)();return n.lods.forEach((e,a)=>{const l=!0===t.skipHighLods&&(O>1&&0===a||O>3&&1===a)||!1===t.skipHighLods&&null!=r&&a!==r;if(l&&0!==a)return;const c=new C(e.name,e.lodThreshold,[0,0,0]);e.parts.forEach(e=>{const r=l?new sr({},t):function(e,t,r,n,o,s,a,l,c){const d=e.materials.get(t.material);if(null==d)return null;const{normal:h,color:m,texCoord0:p,tangent:f}=t.attributes,g=t.material+(h?"_normal":"")+(m?"_color":"")+(p?"_texCoord0":"")+(f?"_tangent":""),v=null!=t.attributes.texCoord0,_=null!=t.attributes.normal,x=function(e){switch(e){case"BLEND":return 0;case"MASK":return 2;case"OPAQUE":case null:case void 0:return 1}}(d.alphaMode);if(!s.has(g)){if(v){const t=(t,r=!1,i=!1)=>{if(null!=t&&!a.has(t)){const n=e.textures.get(t);if(n){const e=n.data,o=r&&!(0,b.x3)(e)?l.compressionOptions:void 0;a.set(t,new Fe((0,b.x3)(e)?e.data:e,{...n.parameters,preMultiplyAlpha:!(0,b.x3)(e)&&i,encoding:(0,b.x3)(e)?e.encoding:void 0,compressionOptions:o}))}}},r=1!==x&&!c;t(d.colorTexture,r,1!==x),t(d.normalTexture),t(d.occlusionTexture,!0),t(d.emissiveTexture),t(d.metallicRoughnessTexture,!0)}const r=(0,i.xV)(d.color[0]),h=(0,i.xV)(d.color[1]),m=(0,i.xV)(d.color[2]),p=null!=d.colorTexture&&v?a.get(d.colorTexture):null,f=(0,Yt.Jr)(d),y=null!=d.normalTextureTransform?.scale?d.normalTextureTransform?.scale:u.Un;s.set(g,new sr({...n,customDepthTest:1,textureAlphaMode:x,textureAlphaCutoff:d.alphaCutoff,diffuse:[r,h,m],ambient:[r,h,m],opacity:"OPAQUE"===d.alphaMode?1:d.opacity,doubleSided:d.doubleSided,doubleSidedType:"winding-order",cullFace:d.doubleSided?0:2,hasVertexColors:!!t.attributes.color,hasVertexTangents:!!t.attributes.tangent,normalType:_?0:2,castShadows:!0,receiveShadows:d.receiveShadows,receiveAmbientOcclusion:d.receiveAmbientOcclusion,textureId:null!=p?p.id:void 0,colorMixMode:d.colorMixMode,normalTextureId:null!=d.normalTexture&&v?a.get(d.normalTexture).id:void 0,textureAlphaPremultiplied:null!=p&&!!p.parameters.preMultiplyAlpha,occlusionTextureId:null!=d.occlusionTexture&&v?a.get(d.occlusionTexture).id:void 0,emissiveTextureId:null!=d.emissiveTexture&&v?a.get(d.emissiveTexture).id:void 0,metallicRoughnessTextureId:null!=d.metallicRoughnessTexture&&v?a.get(d.metallicRoughnessTexture).id:void 0,emissiveBaseColor:[d.emissiveFactor[0],d.emissiveFactor[1],d.emissiveFactor[2]],emissiveStrengthKHR:null!=d.emissiveStrengthKHR?d.emissiveStrengthKHR:1,emissiveStrengthFromSymbol:null!=o.emissiveStrengthFromSymbol?o.emissiveStrengthFromSymbol:void 0,mrrFactors:f?Yt.Bt:[d.metallicFactor,d.roughnessFactor,n.mrrFactors[2]],isSchematic:f,colorTextureTransformMatrix:T(d.colorTextureTransform),normalTextureTransformMatrix:T(d.normalTextureTransform),scale:[y[0],y[1]],occlusionTextureTransformMatrix:T(d.occlusionTextureTransform),emissiveTextureTransformMatrix:T(d.emissiveTextureTransform),metallicRoughnessTextureTransformMatrix:T(d.metallicRoughnessTextureTransform),...o},l))}const y=s.get(g);if(r.stageResources.materials.push(y),v){const e=e=>{null!=e&&r.stageResources.textures.push(a.get(e))};e(d.colorTexture),e(d.normalTexture),e(d.occlusionTexture),e(d.emissiveTexture),e(d.metallicRoughnessTexture)}return y}(n,e,c,S,A,R,I,t,y),{geometry:d,vertexCount:h}=function(e,t){const r=e.attributes.position.count,i=(0,w.x)(e.indices||r,e.primitiveType),n=f(3*r),{typedBuffer:a,typedBufferStride:l}=e.attributes.position;(0,v.t)(n,a,e.transform,3,l);const c=[["position",new L.n(n,i,3,!0)]];if(null!=e.attributes.normal){const t=f(3*r),{typedBuffer:n,typedBufferStride:a}=e.attributes.normal;(0,s.Ge)(Tr,e.transform),(0,v.b)(t,n,Tr,3,a),(0,o.or)(Tr)&&(0,v.n)(t,t),c.push(["normal",new L.n(t,i,3,!0)])}if(null!=e.attributes.tangent){const t=f(4*r),{typedBuffer:n,typedBufferStride:a}=e.attributes.tangent;(0,s.z0)(Tr,e.transform),(0,_.t)(t,n,Tr,4,a),(0,o.or)(Tr)&&(0,v.n)(t,t,4),c.push(["tangent",new L.n(t,i,4,!0)])}if(null!=e.attributes.texCoord0){const t=f(2*r),{typedBuffer:n,typedBufferStride:o}=e.attributes.texCoord0;(0,x.a)(t,n,2,o),c.push(["uv0",new L.n(t,i,2,!0)])}const u=e.attributes.color;if(null!=u){const t=new Uint8Array(4*r);4===u.elementCount?u instanceof g.Eq?(0,_.b)(t,u,1,255):(u instanceof g.XP||u instanceof g.Uz)&&(0,_.b)(t,u,1/255,255):(t.fill(255),u instanceof g.xs?(0,v.f)(t,u.typedBuffer,1,255,4,u.typedBufferStride):(e.attributes.color instanceof g.eI||e.attributes.color instanceof g.nS)&&(0,v.f)(t,u.typedBuffer,1/255,255,4,e.attributes.color.typedBufferStride)),c.push(["color",new L.n(t,i,4,!0)])}return{geometry:new ne(t,c),vertexCount:r}}(e,r??new sr({},t)),p=d.boundingInfo;null!=p&&0===a&&((0,m.iT)(F,p.bbMin),(0,m.iT)(F,p.bbMax)),null!=r&&(c.stageResources.geometries.push(d),c.numberOfVertices+=h)}),l||E.push(c)}),{engineResources:E,referenceBoundingBox:F}}(p,t,a.specifiedLodIndex);return{lods:M,referenceBoundingBox:S,isEsriSymbolResource:p.meta.isEsriSymbolResource,isWosr:!1}}const Tr=(0,a.vt)()},1843(e,t,r){r.d(t,{BP:()=>d,l5:()=>h});var i=r(20498),n=r(13030),o=r(90239),s=r(4431),a=r(620),l=r(85079);class c{constructor(e,t,r=0){this.layout=e,this.byteOffset=r,this.buffer="number"==typeof t?new ArrayBuffer(t*e.stride):t;for(const t of e.fields.keys()){const i=e.fields.get(t);this[t]=new i.constructor(this.buffer,r+i.offset,this.stride)}}get stride(){return this.layout.stride}get count(){return this.byteLength/this.stride}get byteLength(){return this.buffer.byteLength-this.byteOffset}getField(e,t){const r=this[e];return r&&r.elementCount===t.ElementCount&&r.elementType===t.ElementType?r:null}slice(e,t){return new c(this.layout,this.buffer.slice(e*this.stride,t*this.stride))}copyFrom(e,t=0,r=0,i=e.count){const n=this.stride;if(n%4==0){const o=new Uint32Array(e.buffer,t*n,i*n/4);new Uint32Array(this.buffer,r*n,i*n/4).set(o)}else{const o=new Uint8Array(e.buffer,t*n,i*n);new Uint8Array(this.buffer,r*n,i*n).set(o)}return this}get usedMemory(){return this.byteLength}dispose(){}}class u{constructor(e){this._stride=0,this._fields=new Map,e&&(this._stride=e.stride,e.fields.forEach(e=>this._fields.set(e[0],{...e[1],constructor:f(e[1].constructor)})))}freeze(){return this}get locations(){return(0,l.Xk)((0,s.U)(this))}vec2f16(e,t){return this._appendField(e,i.SX?n.ZD:n.gH,t),this}vec2f(e,t){return this._appendField(e,n.gH,t),this}vec2f64(e,t){return this._appendField(e,n.si,t),this}vec3f16(e,t){return this._appendField(e,i.SX?n.EC:n.xs,t),this}vec3f(e,t){return this._appendField(e,n.xs,t),this}vec3f64(e,t){return this._appendField(e,n.Xm,t),this}vec4f16(e,t){return this._appendField(e,i.SX?n.jz:n.Eq,t),this}vec4f(e,t){return this._appendField(e,n.Eq,t),this}vec4f64(e,t){return this._appendField(e,n.Aj,t),this}mat3f(e,t){return this._appendField(e,n.jZ,t),this}mat3f64(e,t){return this._appendField(e,n.j0,t),this}mat4f(e,t){return this._appendField(e,n.Sx,t),this}mat4f64(e,t){return this._appendField(e,n.E$,t),this}vec4u8(e,t){return this._appendField(e,n.XP,t),this}f16(e,t){return this._appendField(e,i.SX?n.XW:n.Y$,t),this}f32(e,t){return this._appendField(e,n.Y$,t),this}f64(e,t){return this._appendField(e,n.qB,t),this}u8(e,t){return this._appendField(e,n.SL,t),this}u16(e,t){return this._appendField(e,n.h,t),this}i8(e,t){return this._appendField(e,n.bf,t),this}vec2i8(e,t){return this._appendField(e,n.D6,t),this}vec2i16(e,t){return this._appendField(e,n.mJ,t),this}vec2u8(e,t){return this._appendField(e,n.LC,t),this}vec2u16(e,t){return this._appendField(e,n.Yi,t),this}vec4u16(e,t){return this._appendField(e,n.Uz,t),this}vec4i16(e,t){return this._appendField(e,n.E7,t),this}u32(e,t){return this._appendField(e,n.P,t),this}_appendField(e,t,r){this._fields.has(e)&&(0,a.vA)(!1,`${e} already added to vertex buffer layout`);const i=t.ElementCount*(0,o.GJ)(t.ElementType),n=this._stride;this._fields.set(e,{constructor:t,size:i,offset:n,optional:r}),this._alignFields()}_alignFields(){let e=0,t=1;this._fields.forEach(r=>{const i=(0,o.GJ)(r.constructor.ElementType);e=Math.floor((e+i-1)/i)*i,r.offset=e,e+=r.size,t=Math.max(t,i)}),e=Math.floor((e+t-1)/t)*t,this._stride=e}createBuffer(e){return new c(this,e)}createView(e,t){return new c(this,e,t)}clone(){const e=new u;return e._stride=this._stride,e._fields=new Map,this._fields.forEach((t,r)=>e._fields.set(r,t)),e.BufferType=this.BufferType,e}get stride(){return this._stride}get fields(){return this._fields}}function d(){return new u}class h{constructor(e){this.fields=new Array,e.fields.forEach((e,t)=>{const r={...e,constructor:p(e.constructor)};this.fields.push([t,r])}),this.stride=e.stride}}const m=[n.Y$,n.gH,n.xs,n.Eq,n.jZ,n.Sx,n.qB,n.si,n.Xm,n.Aj,n.j0,n.E$,n.SL,n.LC,n.eI,n.XP,n.h,n.Yi,n.nS,n.Uz,n.P,n.An,n.H$,n.ml,n.bf,n.D6,n.m8,n.TX,n.Qt,n.mJ,n.Vp,n.E7,n.My,n.UL,n.zD,n.Y4];function p(e){return`${e.ElementType}_${e.ElementCount}`}function f(e){return g.get(e)}const g=new Map;m.forEach(e=>g.set(p(e),e))},4431(e,t,r){r.d(t,{U:()=>o});var i=r(63907),n=r(74038);function o(e,t=0){const r=e.stride;return Array.from(e.fields.keys()).map(o=>{const s=e.fields.get(o),a=s.constructor.ElementCount,l=function(e){switch(e){case"u8":return i.pe.UNSIGNED_BYTE;case"u16":return i.pe.UNSIGNED_SHORT;case"u32":return i.pe.UNSIGNED_INT;case"i8":return i.pe.BYTE;case"i16":return i.pe.SHORT;case"i32":return i.pe.INT;case"f16":return i.pe.HALF_FLOAT;case"f32":return i.pe.FLOAT;default:throw new Error("BufferType not supported in WebGL")}}(s.constructor.ElementType),c=s.offset,u=s.optional?.glNormalized??!1,d=s.optional?.integer??!1;return new n._(o,a,l,c,r,u,t,d)})}},46686(e,t,r){r.d(t,{o:()=>n});var i=r(31821);function n(e,t){t&&e.varyings.add("linearDepth","float",{invariant:!0}),e.vertex.code.add(i.H`
|
|
234
234
|
void forwardLinearDepth(float _linearDepth) { ${(0,i.If)(t,"linearDepth = _linearDepth;")} }
|
|
235
235
|
`)}},33120(e,t,r){r.d(t,{i$:()=>s,xJ:()=>o}),r(46686),r(33752);var i=r(77108),n=r(31821);function o(e){e.vertex.uniforms.add(new i.E("nearFar",e=>e.camera.nearFar))}function s(e){e.vertex.code.add(n.H`float calculateLinearDepth(vec2 nearFar,float z) {
|
|
236
236
|
return (-z - nearFar[0]) / (nearFar[1] - nearFar[0]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[3708,3902,6061,7992,9397],{61691(t,e,r){r.d(e,{G:()=>n});class n{*[Symbol.iterator](){let t=this.next();for(;t;)yield t,t=this.next()}}},76061(t,e,r){r.d(e,{S:()=>s});var n=r(61691);class s extends n.G{constructor(t){super(),this.m_iGeom=-1,this.m_aGeoms=t?t.slice():[]}next(){if(this.m_iGeom<this.m_aGeoms.length-1){const t=this.m_aGeoms[++this.m_iGeom];return this.m_aGeoms[this.m_iGeom]=null,t}return null}tock(){return!1}getGeometryID(){return this.m_iGeom}getRank(){return 1}}},9093(t,e,r){function n(){return[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]}function s(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(e,{o8:()=>s,vt:()=>n,zK:()=>i});const i=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];Object.freeze(Object.defineProperty({__proto__:null,IDENTITY:i,clone:s,create:n,fromValues:function(t,e,r,n,s,i,o,a,u,h,c,l,f,m,g,x){return[t,e,r,n,s,i,o,a,u,h,c,l,f,m,g,x]}},Symbol.toStringTag,{value:"Module"}))},69397(t,e,r){r.d(e,{Qf:()=>u,Qh:()=>o,RS:()=>s,Ul:()=>m,lM:()=>i,qK:()=>c});var n=r(34275);const s=16;function i(t){if(!t)return 0;let e=c;for(const r in t)t.hasOwnProperty(r)&&(e+=a(t[r],!1));return e}function o(t){if(!t)return 0;if("number"==typeof t[0])return u(t);if(Array.isArray(t))return function(t){const e=t.length;if(0===e||"number"==typeof t[0])return h(t,8);let r=l;for(let n=0;n<e;n++)r+=a(t[n]);return r}(t);let e=c;for(const r in t)t.hasOwnProperty(r)&&(e+=a(t[r]));return e}function a(t,e=!0){switch(typeof t){case"object":return e?o(t):c;case"string":return function(t){return 32+t.length}(t);case"number":return s;case"boolean":return 4;default:return 8}}function u(...t){return t.reduce((t,e)=>t+(e?(0,n.iu)(e)?e.byteLength+f:Array.isArray(e)?h(e,s):0:0),0)}function h(t,e){return l+t.length*e}const c=32,l=16,f=145,m=64},87992(t,e,r){r.d(e,{JR:()=>A,ME:()=>E,MY:()=>O,NO:()=>C,Nh:()=>_,V2:()=>F,_s:()=>R,e6:()=>Y,gh:()=>I,tr:()=>N,uX:()=>p});var n=r(5482),s=r(69397),i=r(16930),o=(r(70328),r(19419)),a=r(60408),u=r(21325),h=r(513),c=r(50954),l=r(79567),f=r(52006),m=r(49663),g=r(46068),x=r(92722);class p{constructor({type:t,spatialReference:e,vertexCount:r,vertexXY:n,vertexZ:s,vertexM:i,partCount:o,partOffsets:a,partFlags:u,segmentFlags:h,segmentIndices:c,segmentParams:l,segmentCountArc:f,segmentCountBezier:m}){this.segmentCountArc=0,this.segmentCountBezier=0,this.type=t,this.spatialReference=e,this.vertexCount=r,this.vertexXY=n,this.vertexZ=s,this.vertexM=i,this.partCount=o,this.partOffsets=a,this.partFlags=u,this.segmentFlags=h,this.segmentIndices=c,this.segmentParams=l,this.segmentCountArc=f,this.segmentCountBezier=m}get segmentParamCount(){return 10*this.segmentCountArc+4*this.segmentCountBezier}get segmentCountLine(){const{segmentCount:t,segmentCountArc:e,segmentCountBezier:r}=this;return t&&t-e-r}get segmentCount(){return"polyline"===this.type?this.vertexCount-this.partCount:"polygon"===this.type?this.vertexCount:0}get hasZ(){return null!=this.vertexZ}get hasM(){return null!=this.vertexM}hasCurves(){return null!=this.segmentFlags}isMultipart(){return"polyline"===this.type||"polygon"===this.type}get usedMemory(){function t(t){return t?s.Ul+t.byteLength:0}return t(this.vertexXY)+t(this.vertexZ)+t(this.vertexM)+t(this.partOffsets)+t(this.partFlags)+t(this.segmentFlags)+t(this.segmentIndices)+t(this.segmentParams)}clone(){const{type:t,vertexCount:e,partCount:r,hasZ:n,hasM:s,segmentCountArc:i,segmentCountBezier:o}=this,a=F(t,e,r,n,s,this.hasCurves(),i,o);a.spatialReference=this.spatialReference;const{vertexXY:u,vertexZ:h,vertexM:c}=this;if(a.vertexXY.set(u.subarray(0,2*e),0),a.vertexZ?.set(h.subarray(0,e),0),a.vertexM?.set(c.subarray(0,e),0),this.isMultipart()){const{partOffsets:t,partFlags:e}=this;a.partFlags.set(e.subarray(0,r+1)),a.partOffsets.set(t.subarray(0,r+1))}if(this.hasCurves()){const{segmentFlags:t,segmentIndices:r,segmentParams:n,segmentParamCount:s}=this;a.segmentFlags.set(t.subarray(0,e),0),a.segmentIndices.set(r.subarray(0,e),0),a.segmentParams.set(n.subarray(0,s),0)}return a}equals(t){return this.equalsWithinTolerance(t,0)}equalsWithinTolerance(t,e){if(null==t)return!1;if(this===t)return!0;if(!(0,u.aI)(this.spatialReference,t.spatialReference))return!1;if(this.vertexCount!==t.vertexCount||this.partCount!==t.partCount)return!1;if(this.hasZ!==t.hasZ||this.hasM!==t.hasM)return!1;if(this.hasCurves()!==t.hasCurves()||this.segmentCountArc!==t.segmentCountArc||this.segmentCountBezier!==t.segmentCountBezier)return!1;const r=0===e?(t,e)=>t!==e||isNaN(t)!==isNaN(e):(t,r)=>Math.abs(t-r)>e||isNaN(t)!==isNaN(r);for(let e=0;e<this.vertexCount;++e)if(r(this.vertexXY[2*e],t.vertexXY[2*e])||r(this.vertexXY[2*e+1],t.vertexXY[2*e+1]))return!1;if(this.hasZ)for(let e=0;e<this.vertexCount;++e)if(r(this.vertexZ[e],t.vertexZ[e]))return!1;if(this.hasM)for(let e=0;e<this.vertexCount;++e)if(r(this.vertexM[e],t.vertexM[e]))return!1;for(let e=0;e<this.partCount;++e)if(this.partFlags[e]!==t.partFlags[e]||this.partOffsets[e]!==t.partOffsets[e])return!1;if(this.hasCurves()){for(let e=0;e<this.vertexCount;++e)if(this.segmentFlags[e]!==t.segmentFlags[e]||this.segmentIndices[e]!==t.segmentIndices[e])return!1;for(let e=0;e<this.segmentParamCount;++e)if(r(this.segmentParams[e],t.segmentParams[e]))return!1}return!0}get parts(){return this.isMultipart()?new d(this):[][Symbol.iterator]()}}class d{constructor(t){this.geometry=t,this.value=new y(t)}get done(){return this.value.index>=this.geometry.partCount}next(){return++this.value.index,this}[Symbol.iterator](){return this}}class y{constructor(t){this.geometry=t,this.index=-1,this._readVertex=b(t),this._segments=new v(this)}get segments(){return this._segments.reset(),this._segments}get startVertex(){return this._readVertex(this.geometry.partOffsets[this.index])}get vertexCount(){const t=this.geometry.partOffsets;return t[this.index+1]-t[this.index]}}class v{constructor(t){this._part=t,this._partStart=0,this._partEnd=0,this._isPolygon="polygon"===t.geometry.type,this.value=new M(t.geometry)}get done(){return this.value.indexOfStartVertex>this._partEnd}next(){++this.value.indexOfStartVertex;const t=this.value.indexOfStartVertex>=this._partEnd;return this.value.indexOfEndVertex=t&&this._isPolygon?this._partStart:this.value.indexOfStartVertex+1,this}[Symbol.iterator](){return this}reset(){const{index:t}=this._part,e=this._part.geometry.partOffsets;this._partStart=e[t],this._partEnd=e[t+1]-(this._isPolygon?1:2),this.value.indexOfStartVertex=this._partStart-1}}class M{constructor(t){this.geometry=t,this.indexOfStartVertex=-1,this.indexOfEndVertex=-1,this._readVertex=b(t)}get xStart(){return this.geometry.vertexXY[2*this.indexOfStartVertex]}get yStart(){return this.geometry.vertexXY[2*this.indexOfStartVertex+1]}get zStart(){return this.geometry.vertexZ[this.indexOfStartVertex]}get mStart(){return this.geometry.vertexM[this.indexOfStartVertex]}get xEnd(){return this.geometry.vertexXY[2*this.indexOfEndVertex]}get yEnd(){return this.geometry.vertexXY[2*this.indexOfEndVertex+1]}get zEnd(){return this.geometry.vertexZ[this.indexOfEndVertex]}get mEnd(){return this.geometry.vertexM[this.indexOfEndVertex]}get start(){return this._readVertex(this.indexOfStartVertex)}get end(){return this._readVertex(this.indexOfEndVertex)}get curve(){const t=this.geometry.segmentFlags?.[this.indexOfStartVertex]??1;if(1===t)return this.end;const e=this.geometry.segmentParams;let r=this.geometry.segmentIndices[this.indexOfStartVertex];if(2===t){const t=e[r++],n=e[r++],s=e[r++],i=e[r++];return{b:[this.end,[t,n],[s,i]]}}const n=e[r++],s=e[r++],i=e[r++],o=e[r++],a=e[r++],u=e[r++];r++,r++;const h=e[r++],c=e[r++];if(!Boolean(4&n)&&1===i)return{c:[this.end,[h,c]]};const l=2&n?0:1,f=1&n?0:1;return{a:[this.end,[a,u],l,f,o,s,i]}}}function C(t,e){const r={stack:[],error:void 0,hasError:!1};try{return e??=(0,o.Ie)(),(0,n.mS)(r,new S(t,["vertexZ","vertexM","spatialReference"]),!1),(0,o.bx)(e,function(t){let e;const{vertexCount:r,vertexXY:s,vertexZ:i,vertexM:a}=t,u=P(t);if(t.hasCurves()){const r={stack:[],error:void 0,hasError:!1};try{(0,n.mS)(r,new S(t,["vertexZ","vertexM"]),!1);const s=(0,o.Ie)();for(const e of t.parts){let t=e.startVertex;for(const{curve:r}of e.segments)(0,l.e)(s,t,r),t=(0,f.yP)(r)}const[i,a,h,c]=s;e={xmin:i,ymin:a,xmax:h,ymax:c,spatialReference:u}}catch(t){r.error=t,r.hasError=!0}finally{(0,n.hk)(r)}}else{let t,n,i,o;t=n=1/0,i=o=-1/0;for(let e=0;e<r;++e){const r=s[2*e],a=s[2*e+1];t=Math.min(t,r),i=Math.max(i,r),n=Math.min(n,a),o=Math.max(o,a)}e={xmin:t,ymin:n,xmax:i,ymax:o,spatialReference:u}}if(i){let t=1/0,r=-1/0;for(const e of i)t=Math.min(t,e),r=Math.max(r,e);e.zmin=t,e.zmax=r}if(a){let t=1/0,r=-1/0;for(const e of a)t=Math.min(t,e),r=Math.max(r,e);e.mmin=t,e.mmax=r}return e}(t)),e}catch(t){r.error=t,r.hasError=!0}finally{(0,n.hk)(r)}}function E(t){let e,r,n;if((0,a.fT)(t)){n="point";const{x:s,y:i,z:o,m:a}=t,u=[s,i];null!=o&&u.push(o),null!=a&&u.push(a),r=[[u]],e=1}else(0,a.U9)(t)?(n="multipoint",r=[t.points],e=t.points.length):(0,a.Rg)(t)?(n="polyline",r=t.curvePaths??t.paths,e=r.reduce((t,e)=>t+e.length,0)):(n="polygon",r=t.curveRings??t.rings,e=r.reduce((t,e)=>(0===e.length||(t+=e.length,w(e[0],(0,f.yP)(e.at(-1)))&&--t),t),0));const s=F(n,e,n.includes("point")?0:r.length,(0,a.Pv)(t),(0,a.W0)(t),(0,f.Ed)(t)),{hasZ:i,hasM:o,vertexXY:u,vertexZ:h,vertexM:c}=s;function l(t){u[2*g]=t[0],u[2*g+1]=t[1],i&&(h[g]=t[2]),o&&(c[g]=t[m]),++g}s.spatialReference=t.spatialReference??void 0;const m=s.hasZ?3:2;let g=0;if(!s.isMultipart()){if(!i&&!o){for(const[t,e]of r[0])u[2*g]=t,u[2*g+1]=e,++g;return s}for(const t of r[0])l(t);return s}const x="polygon"===n,{partOffsets:p}=s;let d=0;if(!s.hasCurves()){for(const t of r){if(p[d++]=g,0===t.length)continue;let e=t.length;if(x&&w(t[0],t.at(-1))&&--e,i||o)for(let r=0;r<e;++r)l(t[r]);else for(let r=0;r<e;++r){const[e,n]=t[r];u[2*g]=e,u[2*g+1]=n,++g}}return p[d]=g,s}function y(t){const e=v+t;if(e<=(s.segmentParams?.length??0))return;let r=e*T;r=20*Math.ceil(r/20);const n=s.segmentParams;s.segmentParams=new Float64Array(r),null!=n&&s.segmentParams.set(n)}let v=0;for(const t of r){if(s.partOffsets[d++]=g,0===t.length)continue;const e=t[0];let r=e;for(let e=1;e<t.length;++e){const n=t[e];l(r);const i=g-1;(0,f.wY)(n)?(y(10),++s.segmentCountArc,v=R(r,n,s,i,v),r=n.a[0]):(0,f.DA)(n)?(y(10),++s.segmentCountArc,v=Z(r,n,s,i,v),r=n.a[0]):(0,f.aO)(n)?(y(10),++s.segmentCountArc,v=Y(r,n,s,i,v),r=n.c[0]):(0,f.n1)(n)?(y(4),++s.segmentCountBezier,v=N(0,n,s,i,v),r=n.b[0]):r=n}x&&w(e,r)||l(r)}return s.partOffsets[d]=g,s}function I(t){const e=b(t),{vertexCount:r,partCount:n,hasZ:s,hasM:i}=t,o=P(t);if("point"===t.type){const[e,r]=t.vertexXY,n=t.vertexZ?.[0],s=t.vertexM?.[0];return{x:e,y:r,z:n,m:s,spatialReference:o}}let a=0;if("multipoint"===t.type){const t=[];for(;a<r;)t.push(e(a++));return{points:t,spatialReference:o,hasZ:s,hasM:i}}const u="polygon"===t.type;if(!t.hasCurves()){const r=new Array;for(let s=0;s<n;++s){const n=t.partOffsets[s+1],i=new Array;for(;a<n;)i.push(e(a++));u&&i.length>0&&i.push(i[0]),r.push(i)}return u?{rings:r,hasZ:s,hasM:i,spatialReference:o}:{paths:r,hasZ:s,hasM:i,spatialReference:o}}const h=new Array;for(const{segments:e,startVertex:r}of t.parts){const t=[r];for(const{curve:r}of e)t.push(r);h.push(t)}return u?{rings:[],curveRings:h,hasZ:s,hasM:i,spatialReference:o}:{paths:[],curvePaths:h,hasZ:s,hasM:i,spatialReference:o}}function _(t,{lengths:e,coords:r,hasZ:n,hasM:s},i){const o=t.includes("point")?0:e.length,a="polygon"===t,u="point"===t?1:e.reduce((t,e)=>t+e,0)-(a?o:0);n??=!1,s??=!1;const h=F(t,u,o,n,s,!1,0,0);if(h.spatialReference=i??void 0,!h.isMultipart()){for(let t=0,e=0;t<u;++t)h.vertexXY[2*t]=r[e++],h.vertexXY[2*t+1]=r[e++],n&&(h.vertexZ[t]=r[e++]),s&&(h.vertexM[t]=r[e++]);return h}const c=2+Number(n)+Number(s);let l=0,f=0;h.partOffsets[0]=0;for(const t of e){const e=h.partOffsets[f],i=e+t-Number(a);h.partOffsets[++f]=i;for(let t=e;t<i;++t)h.vertexXY[2*t]=r[l++],h.vertexXY[2*t+1]=r[l++],n&&(h.vertexZ[t]=r[l++]),s&&(h.vertexM[t]=r[l++]);a&&(l+=c)}return h}function A({type:t,vertexCount:e,vertexXY:r,vertexZ:n,vertexM:s,partCount:i,partOffsets:o,hasZ:a,hasM:u}){const h=new x.A([],[],a,u);i=Math.max(i,1);const c="polygon"===t;let l=0;for(let t=0;t<i;++t){const i=o?.[t+1]??e,f=h.coords.length;for(let t=l;t<i;++t)h.coords.push(r[2*t],r[2*t+1]),a&&h.coords.push(n[t]),u&&h.coords.push(s[t]);if(c){const t=l;h.coords.push(r[2*t],r[2*t+1]),a&&h.coords.push(n[t]),u&&h.coords.push(s[t])}h.lengths.push((h.coords.length-f)/h.stride),l=i}return"point"===t&&(h.lengths.length=0),h}function O(t,e){return"getSpatialReference"in t&&(e=function(t){if(null==t)return;const e=t.getText()||void 0,r=t.isCustomWkid()?0:t.getOldID();if(r<=0)return{wkt:e};let n=t.getLatestID();(n<=0||n===r)&&(n=void 0);const s=t.getVCS();if(null==s)return{wkid:r,latestWkid:n,wkt:e};const i=s.isCustomWkid()?0:s.getOldID();if(i<=0)return{wkt:e};let o=t.getLatestVerticalID();return(o<=0||o===i)&&(o=void 0),{wkid:r,wkt:e,latestWkid:n,vcsWkid:i,latestVcsWkid:o}}(t.getSpatialReference()),t=t.getGeometry()),new p({...t.toFlatGeometry(),spatialReference:e})}class S{constructor(t,e){this.target=t,this.keys=e,this.oldValues=e.map(e=>t[e]);for(const r of e)t[r]=void 0}[Symbol.dispose](){this.keys.map((t,e)=>{this.target[t]=this.oldValues[e]})}}function P({spatialReference:t}){return t instanceof i.A?t.toJSON():t}function b({vertexXY:t,vertexZ:e,vertexM:r}){return e?r?n=>[t[2*n],t[2*n+1],e[n],r[n]]:r=>[t[2*r],t[2*r+1],e[r]]:r?e=>[t[2*e],t[2*e+1],r[e]]:e=>[t[2*e],t[2*e+1]]}function w(t,e){return t.every((t,r)=>t===e[r])}function F(t,e,r,n,s,i,o,a){o??=0,a??=0;const u=new p({type:t,vertexCount:e,vertexXY:null,vertexZ:void 0,vertexM:void 0,partCount:r,partOffsets:void 0,partFlags:void 0,segmentFlags:void 0,segmentIndices:void 0,segmentParams:void 0,segmentCountArc:o,segmentCountBezier:a});let h=2*Float64Array.BYTES_PER_ELEMENT*e;n&&(h+=Float64Array.BYTES_PER_ELEMENT*e),s&&(h+=Float64Array.BYTES_PER_ELEMENT*e),u.isMultipart()&&(h+=(r+1)*Int32Array.BYTES_PER_ELEMENT,h+=(r+1)*Int8Array.BYTES_PER_ELEMENT),i&&(h+=e*Int8Array.BYTES_PER_ELEMENT,h+=e*Int32Array.BYTES_PER_ELEMENT,h+=u.segmentParamCount*Float64Array.BYTES_PER_ELEMENT);const c=new ArrayBuffer(h);let l=0;return u.vertexXY=new Float64Array(c,l,2*e),l+=u.vertexXY.byteLength,n&&(u.vertexZ=new Float64Array(c,l,e),l+=u.vertexZ.byteLength),s&&(u.vertexM=new Float64Array(c,l,e),l+=u.vertexM.byteLength),i&&(u.segmentParams=new Float64Array(c,l,u.segmentParamCount),l+=u.segmentParams.byteLength,u.segmentIndices=new Int32Array(c,l,e),u.segmentIndices.fill(X),l+=u.segmentIndices.byteLength),u.isMultipart()&&(u.partOffsets=new Int32Array(c,l,r+1),l+=u.partOffsets.byteLength,u.partFlags=new Int8Array(c,l,r+1),l+=u.partFlags.byteLength,"polygon"===u.type&&u.partFlags.subarray(0,r).fill(1)),i&&(u.segmentFlags=new Int8Array(c,l,e),u.segmentFlags.fill(1),l+=u.segmentFlags.byteLength),u}function R(t,e,{segmentFlags:r,segmentIndices:n,segmentParams:s},i,o){r[i]=4,n[i]=o;const[a,[u,h],c,l,f,m,x]=e.a;let p=4;l||(p|=1),c||(p|=2);const d=(0,g.SW)(t,e),[y,v]=(0,g.Uk)(d,.5);return s[o++]=p,s[o++]=m,s[o++]=x,s[o++]=f,s[o++]=u,s[o++]=h,s[o++]=d.u2-d.u1,s[o++]=d.u1,s[o++]=y,s[o++]=v,o}function Z(t,e,{segmentFlags:r,segmentIndices:n,segmentParams:s},i,o){r[i]=4,n[i]=o;const a=(0,m.i)(t,e);return V(a,4,...(0,h.mq)(a,.5),s,o)}function Y(t,e,{segmentFlags:r,segmentIndices:n,segmentParams:s},i,o){return r[i]=4,n[i]=o,V((0,c.pM)(t,e),0,...e.c[1],s,o)}function V(t,e,r,n,s,i){const{cx:o,cy:a,thetaStart:u,thetaEnd:h,radius:c}=t;return u>h||(e|=1),Math.abs(h-u)<=Math.PI||(e|=2),s[i++]=e,s[i++]=c,s[i++]=1,s[i++]=0,s[i++]=o,s[i++]=a,s[i++]=h-u,s[i++]=u,s[i++]=r,s[i++]=n,i}function N(t,{b:[e,[r,n],[s,i]]},{segmentFlags:o,segmentIndices:a,segmentParams:u},h,c){return o[h]=2,a[h]=c,u[c++]=r,u[c++]=n,u[c++]=s,u[c++]=i,c}const T=1.61803,X=-1},33708(t,e,r){r.r(e),r.d(e,{accelerateGeometry:()=>o,execute:()=>a,executeMany:()=>u,supportsCurves:()=>h});var n=r(76061),s=(r(55537),r(15756));r(88885),r(95213);const i=new s.g;function o(t,e){return i.accelerateGeometry(t,e,1)}function a(t,e,r){return i.execute(t,e,r,null)}function u(t,e,r,s){const o=i.executeMany(new n.S(t),new n.S([e]),r,null,s);return Array.from(o)}function h(){return i.supportsCurves()}},49263(t,e,r){r.d(e,{execute:()=>i}),r(4576);var n=r(33708),s=r(83299);function i(t,e){const r=(0,s.fromGeometry)(t),i=r.getSpatialReference();return(0,s.toGeometry)((0,n.execute)(r.getGeometry(),(0,s.fromGeometryToGXGeometry)(e),i),i)}},4197(t,e,r){r.d(e,{Vj:()=>h,cj:()=>u,jh:()=>i,l5:()=>a,xm:()=>o});var n=r(34275),s=r(9093);function i(t){return t<=n.y9?new Array(t).fill(0):new Float64Array(t)}function o(t){return((0,n.iu)(t)?t.byteLength/8:t.length)<=n.y9?Array.from(t):new Float64Array(t)}function a(t,e,r){return Array.isArray(t)?t.slice(e,e+r):t.subarray(e,e+r)}function u(t){return[...t]}function h(t){const e=(0,s.vt)();for(let r=0;r<16;++r)e[r]=t[r];return e}},70328(t,e,r){r.d(e,{BI:()=>v,DC:()=>l,Ej:()=>m,Ie:()=>d,Jt:()=>y,Ne:()=>g,RF:()=>c,aI:()=>C,fA:()=>o,gE:()=>u,hZ:()=>p,iT:()=>f,is:()=>M,qv:()=>E,vI:()=>x,vY:()=>a,v_:()=>I,vt:()=>i,w1:()=>h});var n=r(5443),s=(r(19419),r(4197));function i(t=I){return[t[0],t[1],t[2],t[3],t[4],t[5]]}function o(t,e,r,n,s,o,a=i()){return a[0]=t,a[1]=e,a[2]=r,a[3]=n,a[4]=s,a[5]=o,a}function a(t,e=i()){return function(t,e,r,n=i()){return p(n,E),function(t,e,r=0,n=e.length/3){let s=t[0],i=t[1],o=t[2],a=t[3],u=t[4],h=t[5];for(let t=0;t<n;t++)s=Math.min(s,e[r+3*t]),i=Math.min(i,e[r+3*t+1]),o=Math.min(o,e[r+3*t+2]),a=Math.max(a,e[r+3*t]),u=Math.max(u,e[r+3*t+1]),h=Math.max(h,e[r+3*t+2]);t[0]=s,t[1]=i,t[2]=o,t[3]=a,t[4]=u,t[5]=h}(n,t,e,r),n}(t,0,t.length/3,e)}function u(t,e=(0,s.jh)(24)){const[r,n,i,o,a,u]=t;return e[0]=r,e[1]=n,e[2]=i,e[3]=r,e[4]=n,e[5]=u,e[6]=r,e[7]=a,e[8]=i,e[9]=r,e[10]=a,e[11]=u,e[12]=o,e[13]=n,e[14]=i,e[15]=o,e[16]=n,e[17]=u,e[18]=o,e[19]=a,e[20]=i,e[21]=o,e[22]=a,e[23]=u,e}function h(t,e){const r=isFinite(t[2])||isFinite(t[5]);return new n.A(r?{xmin:t[0],xmax:t[3],ymin:t[1],ymax:t[4],zmin:t[2],zmax:t[5],spatialReference:e}:{xmin:t[0],xmax:t[3],ymin:t[1],ymax:t[4],spatialReference:e})}function c(t,e){t[0]=Math.min(t[0],e[0]),t[1]=Math.min(t[1],e[1]),t[2]=Math.min(t[2],e[2]),t[3]=Math.max(t[3],e[3]),t[4]=Math.max(t[4],e[4]),t[5]=Math.max(t[5],e[5])}function l(t,e){t[0]=Math.min(t[0],e[0]),t[1]=Math.min(t[1],e[1]),t[3]=Math.max(t[3],e[2]),t[4]=Math.max(t[4],e[3])}function f(t,e){t[0]=Math.min(t[0],e[0]),t[1]=Math.min(t[1],e[1]),t[2]=Math.min(t[2],e[2]),t[3]=Math.max(t[3],e[0]),t[4]=Math.max(t[4],e[1]),t[5]=Math.max(t[5],e[2])}function m(t,e=[0,0,0]){return e[0]=function(t){return t[0]>=t[3]?0:t[3]-t[0]}(t),e[1]=function(t){return t[1]>=t[4]?0:t[4]-t[1]}(t),e[2]=function(t){return t[2]>=t[5]?0:t[5]-t[2]}(t),e}function g(t,e,r=t){return r[0]=e[0],r[1]=e[1],r[2]=e[2],r!==t&&(r[3]=t[3],r[4]=t[4],r[5]=t[5]),r}function x(t,e,r=t){return r[3]=e[0],r[4]=e[1],r[5]=e[2],r!==t&&(r[0]=t[0],r[1]=t[1],r[2]=t[2]),t}function p(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t}function d(t){return t?p(t,E):i(E)}function y(t,e){return t[0]=e[0],t[1]=e[1],t[2]=Number.NEGATIVE_INFINITY,t[3]=e[2],t[4]=e[3],t[5]=Number.POSITIVE_INFINITY,t}function v(t,e,r,n,s){return t[0]=e,t[1]=r,t[2]=Number.NEGATIVE_INFINITY,t[3]=n,t[4]=s,t[5]=Number.POSITIVE_INFINITY,t}function M(t){return 6===t.length}function C(t,e,r){if(null==t||null==e)return t===e;if(!M(t)||!M(e))return!1;if(r){for(let n=0;n<t.length;n++)if(!r(t[n],e[n]))return!1}else for(let r=0;r<t.length;r++)if(t[r]!==e[r])return!1;return!0}const E=[1/0,1/0,1/0,-1/0,-1/0,-1/0],I=[0,0,0,0,0,0];i()},92722(t,e,r){r.d(e,{A:()=>s});var n=r(69397);class s{constructor(t=[],e=[],r=!1,n=!1){this.lengths=t??[],this.coords=e??[],this.hasZ=r,this.hasM=n}static fromJSON({lengths:t,coords:e,hasZ:r,hasM:n}){return new s(t,e,r||!1,n||!1)}static fromRect([t,e,r,n]){const i=r-t,o=n-e;return new s([5],[t,e,i,0,0,o,-i,0,0,-o])}get isPoint(){return 0===this.lengths.length&&this.coords.length>=2}get maxLength(){return Math.max(...this.lengths)}get size(){return this.isPoint?1:this.lengths.reduce((t,e)=>t+e,0)}get usedMemory(){return 64+(0,n.Qf)(this.lengths,this.coords)}get stride(){return 2+(this.hasZ?1:0)+(this.hasM?1:0)}area(){if(this.isPoint)return 0;let t=0,e=0;for(const r of this.lengths){if(r<3)continue;const{stride:n}=this;let s=this.coords[n*e],i=this.coords[n*e+1];for(let o=1;o<r;o+=1){const r=n*(e+o),a=this.coords[r],u=this.coords[r+1];t+=-.5*(a-s)*(u+i),s=a,i=u}e+=r}return t}forEachVertex(t){let e=0;if(this.isPoint)return t(this.coords[0],this.coords[1]);const{stride:r}=this;for(const n of this.lengths){for(let s=0;s<n;s++){const n=r*(e+s);t(this.coords[n],this.coords[n+1])}e+=n}}deltaDecode(){const t=this.clone(),{coords:e,lengths:r}=t;let n=0;const{stride:s}=this;for(const t of r){for(let r=1;r<t;r++){const t=s*(n+r);e[t]+=e[t-s],e[t+1]+=e[t+1-s]}n+=t}return t}clone(t){if(this.isPoint)return new s([],Array.from(this.coords.slice(0,this.stride)),this.hasZ,this.hasM);const e=Array.from(this.lengths),{stride:r,size:n}=this,i=this.coords.slice(0,n*r);return t?(t.set(i),new s(e,t)):new s(e,Array.from(i),this.hasZ,this.hasM)}justXY(){const{stride:t,size:e}=this;if(2===t)return this;const r=new Array(e*t);for(let e=0,n=0;e<r.length;e+=t)r[n++]=this.coords[e],r[n++]=this.coords[e+1];return new s(this.lengths,r,!1,!1)}}}}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[891,1550,1666,6061,6312,7992,8125,9169,9397],{61691(t,e,r){r.d(e,{G:()=>n});class n{*[Symbol.iterator](){let t=this.next();for(;t;)yield t,t=this.next()}}},76061(t,e,r){r.d(e,{S:()=>s});var n=r(61691);class s extends n.G{constructor(t){super(),this.m_iGeom=-1,this.m_aGeoms=t?t.slice():[]}next(){if(this.m_iGeom<this.m_aGeoms.length-1){const t=this.m_aGeoms[++this.m_iGeom];return this.m_aGeoms[this.m_iGeom]=null,t}return null}tock(){return!1}getGeometryID(){return this.m_iGeom}getRank(){return 1}}},65416(t,e,r){r.d(e,{e:()=>a,r:()=>u});var n=r(15756),s=r(78125);const i=new class{supportsCurves(){return!0}getOperatorType(){return 1}execute(t,e,r,s,i){return(0,n.as)(t,e,r,s,i)}isValidDE9IM(t){return 0===(0,n.at)(t)}accelerateGeometry(t,e,r){return(0,n.au)(t,e,r)}canAccelerateGeometry(t){return(0,n.av)(t)}};function a(t,e,r){return i.execute((0,s.fromGeometry)(t),(0,s.fromGeometry)(e),(0,s.fromSpatialReference)(t.spatialReference),r,null)}const o=i.supportsCurves(),u=Object.freeze(Object.defineProperty({__proto__:null,accelerateGeometry:function(t){const e=(0,s.getSpatialReference)(t);return i.accelerateGeometry((0,s.fromGeometry)(t),(0,s.fromSpatialReference)(e),1)},execute:a,isValidDE9IM:function(t){return i.isValidDE9IM(t)},supportsCurves:o},Symbol.toStringTag,{value:"Module"}))},9093(t,e,r){function n(){return[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]}function s(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(e,{o8:()=>s,vt:()=>n,zK:()=>i});const i=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];Object.freeze(Object.defineProperty({__proto__:null,IDENTITY:i,clone:s,create:n,fromValues:function(t,e,r,n,s,i,a,o,u,h,c,l,f,m,g,x){return[t,e,r,n,s,i,a,o,u,h,c,l,f,m,g,x]}},Symbol.toStringTag,{value:"Module"}))},69397(t,e,r){r.d(e,{Qf:()=>u,Qh:()=>a,RS:()=>s,Ul:()=>m,lM:()=>i,qK:()=>c});var n=r(34275);const s=16;function i(t){if(!t)return 0;let e=c;for(const r in t)t.hasOwnProperty(r)&&(e+=o(t[r],!1));return e}function a(t){if(!t)return 0;if("number"==typeof t[0])return u(t);if(Array.isArray(t))return function(t){const e=t.length;if(0===e||"number"==typeof t[0])return h(t,8);let r=l;for(let n=0;n<e;n++)r+=o(t[n]);return r}(t);let e=c;for(const r in t)t.hasOwnProperty(r)&&(e+=o(t[r]));return e}function o(t,e=!0){switch(typeof t){case"object":return e?a(t):c;case"string":return function(t){return 32+t.length}(t);case"number":return s;case"boolean":return 4;default:return 8}}function u(...t){return t.reduce((t,e)=>t+(e?(0,n.iu)(e)?e.byteLength+f:Array.isArray(e)?h(e,s):0:0),0)}function h(t,e){return l+t.length*e}const c=32,l=16,f=145,m=64},87992(t,e,r){r.d(e,{JR:()=>I,ME:()=>E,MY:()=>A,NO:()=>C,Nh:()=>V,V2:()=>R,_s:()=>S,e6:()=>Y,gh:()=>P,tr:()=>N,uX:()=>p});var n=r(5482),s=r(69397),i=r(16930),a=(r(70328),r(19419)),o=r(60408),u=r(21325),h=r(513),c=r(50954),l=r(79567),f=r(52006),m=r(49663),g=r(46068),x=r(92722);class p{constructor({type:t,spatialReference:e,vertexCount:r,vertexXY:n,vertexZ:s,vertexM:i,partCount:a,partOffsets:o,partFlags:u,segmentFlags:h,segmentIndices:c,segmentParams:l,segmentCountArc:f,segmentCountBezier:m}){this.segmentCountArc=0,this.segmentCountBezier=0,this.type=t,this.spatialReference=e,this.vertexCount=r,this.vertexXY=n,this.vertexZ=s,this.vertexM=i,this.partCount=a,this.partOffsets=o,this.partFlags=u,this.segmentFlags=h,this.segmentIndices=c,this.segmentParams=l,this.segmentCountArc=f,this.segmentCountBezier=m}get segmentParamCount(){return 10*this.segmentCountArc+4*this.segmentCountBezier}get segmentCountLine(){const{segmentCount:t,segmentCountArc:e,segmentCountBezier:r}=this;return t&&t-e-r}get segmentCount(){return"polyline"===this.type?this.vertexCount-this.partCount:"polygon"===this.type?this.vertexCount:0}get hasZ(){return null!=this.vertexZ}get hasM(){return null!=this.vertexM}hasCurves(){return null!=this.segmentFlags}isMultipart(){return"polyline"===this.type||"polygon"===this.type}get usedMemory(){function t(t){return t?s.Ul+t.byteLength:0}return t(this.vertexXY)+t(this.vertexZ)+t(this.vertexM)+t(this.partOffsets)+t(this.partFlags)+t(this.segmentFlags)+t(this.segmentIndices)+t(this.segmentParams)}clone(){const{type:t,vertexCount:e,partCount:r,hasZ:n,hasM:s,segmentCountArc:i,segmentCountBezier:a}=this,o=R(t,e,r,n,s,this.hasCurves(),i,a);o.spatialReference=this.spatialReference;const{vertexXY:u,vertexZ:h,vertexM:c}=this;if(o.vertexXY.set(u.subarray(0,2*e),0),o.vertexZ?.set(h.subarray(0,e),0),o.vertexM?.set(c.subarray(0,e),0),this.isMultipart()){const{partOffsets:t,partFlags:e}=this;o.partFlags.set(e.subarray(0,r+1)),o.partOffsets.set(t.subarray(0,r+1))}if(this.hasCurves()){const{segmentFlags:t,segmentIndices:r,segmentParams:n,segmentParamCount:s}=this;o.segmentFlags.set(t.subarray(0,e),0),o.segmentIndices.set(r.subarray(0,e),0),o.segmentParams.set(n.subarray(0,s),0)}return o}equals(t){return this.equalsWithinTolerance(t,0)}equalsWithinTolerance(t,e){if(null==t)return!1;if(this===t)return!0;if(!(0,u.aI)(this.spatialReference,t.spatialReference))return!1;if(this.vertexCount!==t.vertexCount||this.partCount!==t.partCount)return!1;if(this.hasZ!==t.hasZ||this.hasM!==t.hasM)return!1;if(this.hasCurves()!==t.hasCurves()||this.segmentCountArc!==t.segmentCountArc||this.segmentCountBezier!==t.segmentCountBezier)return!1;const r=0===e?(t,e)=>t!==e||isNaN(t)!==isNaN(e):(t,r)=>Math.abs(t-r)>e||isNaN(t)!==isNaN(r);for(let e=0;e<this.vertexCount;++e)if(r(this.vertexXY[2*e],t.vertexXY[2*e])||r(this.vertexXY[2*e+1],t.vertexXY[2*e+1]))return!1;if(this.hasZ)for(let e=0;e<this.vertexCount;++e)if(r(this.vertexZ[e],t.vertexZ[e]))return!1;if(this.hasM)for(let e=0;e<this.vertexCount;++e)if(r(this.vertexM[e],t.vertexM[e]))return!1;for(let e=0;e<this.partCount;++e)if(this.partFlags[e]!==t.partFlags[e]||this.partOffsets[e]!==t.partOffsets[e])return!1;if(this.hasCurves()){for(let e=0;e<this.vertexCount;++e)if(this.segmentFlags[e]!==t.segmentFlags[e]||this.segmentIndices[e]!==t.segmentIndices[e])return!1;for(let e=0;e<this.segmentParamCount;++e)if(r(this.segmentParams[e],t.segmentParams[e]))return!1}return!0}get parts(){return this.isMultipart()?new y(this):[][Symbol.iterator]()}}class y{constructor(t){this.geometry=t,this.value=new d(t)}get done(){return this.value.index>=this.geometry.partCount}next(){return++this.value.index,this}[Symbol.iterator](){return this}}class d{constructor(t){this.geometry=t,this.index=-1,this._readVertex=O(t),this._segments=new v(this)}get segments(){return this._segments.reset(),this._segments}get startVertex(){return this._readVertex(this.geometry.partOffsets[this.index])}get vertexCount(){const t=this.geometry.partOffsets;return t[this.index+1]-t[this.index]}}class v{constructor(t){this._part=t,this._partStart=0,this._partEnd=0,this._isPolygon="polygon"===t.geometry.type,this.value=new M(t.geometry)}get done(){return this.value.indexOfStartVertex>this._partEnd}next(){++this.value.indexOfStartVertex;const t=this.value.indexOfStartVertex>=this._partEnd;return this.value.indexOfEndVertex=t&&this._isPolygon?this._partStart:this.value.indexOfStartVertex+1,this}[Symbol.iterator](){return this}reset(){const{index:t}=this._part,e=this._part.geometry.partOffsets;this._partStart=e[t],this._partEnd=e[t+1]-(this._isPolygon?1:2),this.value.indexOfStartVertex=this._partStart-1}}class M{constructor(t){this.geometry=t,this.indexOfStartVertex=-1,this.indexOfEndVertex=-1,this._readVertex=O(t)}get xStart(){return this.geometry.vertexXY[2*this.indexOfStartVertex]}get yStart(){return this.geometry.vertexXY[2*this.indexOfStartVertex+1]}get zStart(){return this.geometry.vertexZ[this.indexOfStartVertex]}get mStart(){return this.geometry.vertexM[this.indexOfStartVertex]}get xEnd(){return this.geometry.vertexXY[2*this.indexOfEndVertex]}get yEnd(){return this.geometry.vertexXY[2*this.indexOfEndVertex+1]}get zEnd(){return this.geometry.vertexZ[this.indexOfEndVertex]}get mEnd(){return this.geometry.vertexM[this.indexOfEndVertex]}get start(){return this._readVertex(this.indexOfStartVertex)}get end(){return this._readVertex(this.indexOfEndVertex)}get curve(){const t=this.geometry.segmentFlags?.[this.indexOfStartVertex]??1;if(1===t)return this.end;const e=this.geometry.segmentParams;let r=this.geometry.segmentIndices[this.indexOfStartVertex];if(2===t){const t=e[r++],n=e[r++],s=e[r++],i=e[r++];return{b:[this.end,[t,n],[s,i]]}}const n=e[r++],s=e[r++],i=e[r++],a=e[r++],o=e[r++],u=e[r++];r++,r++;const h=e[r++],c=e[r++];if(!Boolean(4&n)&&1===i)return{c:[this.end,[h,c]]};const l=2&n?0:1,f=1&n?0:1;return{a:[this.end,[o,u],l,f,a,s,i]}}}function C(t,e){const r={stack:[],error:void 0,hasError:!1};try{return e??=(0,a.Ie)(),(0,n.mS)(r,new _(t,["vertexZ","vertexM","spatialReference"]),!1),(0,a.bx)(e,function(t){let e;const{vertexCount:r,vertexXY:s,vertexZ:i,vertexM:o}=t,u=w(t);if(t.hasCurves()){const r={stack:[],error:void 0,hasError:!1};try{(0,n.mS)(r,new _(t,["vertexZ","vertexM"]),!1);const s=(0,a.Ie)();for(const e of t.parts){let t=e.startVertex;for(const{curve:r}of e.segments)(0,l.e)(s,t,r),t=(0,f.yP)(r)}const[i,o,h,c]=s;e={xmin:i,ymin:o,xmax:h,ymax:c,spatialReference:u}}catch(t){r.error=t,r.hasError=!0}finally{(0,n.hk)(r)}}else{let t,n,i,a;t=n=1/0,i=a=-1/0;for(let e=0;e<r;++e){const r=s[2*e],o=s[2*e+1];t=Math.min(t,r),i=Math.max(i,r),n=Math.min(n,o),a=Math.max(a,o)}e={xmin:t,ymin:n,xmax:i,ymax:a,spatialReference:u}}if(i){let t=1/0,r=-1/0;for(const e of i)t=Math.min(t,e),r=Math.max(r,e);e.zmin=t,e.zmax=r}if(o){let t=1/0,r=-1/0;for(const e of o)t=Math.min(t,e),r=Math.max(r,e);e.mmin=t,e.mmax=r}return e}(t)),e}catch(t){r.error=t,r.hasError=!0}finally{(0,n.hk)(r)}}function E(t){let e,r,n;if((0,o.fT)(t)){n="point";const{x:s,y:i,z:a,m:o}=t,u=[s,i];null!=a&&u.push(a),null!=o&&u.push(o),r=[[u]],e=1}else(0,o.U9)(t)?(n="multipoint",r=[t.points],e=t.points.length):(0,o.Rg)(t)?(n="polyline",r=t.curvePaths??t.paths,e=r.reduce((t,e)=>t+e.length,0)):(n="polygon",r=t.curveRings??t.rings,e=r.reduce((t,e)=>(0===e.length||(t+=e.length,Z(e[0],(0,f.yP)(e.at(-1)))&&--t),t),0));const s=R(n,e,n.includes("point")?0:r.length,(0,o.Pv)(t),(0,o.W0)(t),(0,f.Ed)(t)),{hasZ:i,hasM:a,vertexXY:u,vertexZ:h,vertexM:c}=s;function l(t){u[2*g]=t[0],u[2*g+1]=t[1],i&&(h[g]=t[2]),a&&(c[g]=t[m]),++g}s.spatialReference=t.spatialReference??void 0;const m=s.hasZ?3:2;let g=0;if(!s.isMultipart()){if(!i&&!a){for(const[t,e]of r[0])u[2*g]=t,u[2*g+1]=e,++g;return s}for(const t of r[0])l(t);return s}const x="polygon"===n,{partOffsets:p}=s;let y=0;if(!s.hasCurves()){for(const t of r){if(p[y++]=g,0===t.length)continue;let e=t.length;if(x&&Z(t[0],t.at(-1))&&--e,i||a)for(let r=0;r<e;++r)l(t[r]);else for(let r=0;r<e;++r){const[e,n]=t[r];u[2*g]=e,u[2*g+1]=n,++g}}return p[y]=g,s}function d(t){const e=v+t;if(e<=(s.segmentParams?.length??0))return;let r=e*G;r=20*Math.ceil(r/20);const n=s.segmentParams;s.segmentParams=new Float64Array(r),null!=n&&s.segmentParams.set(n)}let v=0;for(const t of r){if(s.partOffsets[y++]=g,0===t.length)continue;const e=t[0];let r=e;for(let e=1;e<t.length;++e){const n=t[e];l(r);const i=g-1;(0,f.wY)(n)?(d(10),++s.segmentCountArc,v=S(r,n,s,i,v),r=n.a[0]):(0,f.DA)(n)?(d(10),++s.segmentCountArc,v=b(r,n,s,i,v),r=n.a[0]):(0,f.aO)(n)?(d(10),++s.segmentCountArc,v=Y(r,n,s,i,v),r=n.c[0]):(0,f.n1)(n)?(d(4),++s.segmentCountBezier,v=N(0,n,s,i,v),r=n.b[0]):r=n}x&&Z(e,r)||l(r)}return s.partOffsets[y]=g,s}function P(t){const e=O(t),{vertexCount:r,partCount:n,hasZ:s,hasM:i}=t,a=w(t);if("point"===t.type){const[e,r]=t.vertexXY,n=t.vertexZ?.[0],s=t.vertexM?.[0];return{x:e,y:r,z:n,m:s,spatialReference:a}}let o=0;if("multipoint"===t.type){const t=[];for(;o<r;)t.push(e(o++));return{points:t,spatialReference:a,hasZ:s,hasM:i}}const u="polygon"===t.type;if(!t.hasCurves()){const r=new Array;for(let s=0;s<n;++s){const n=t.partOffsets[s+1],i=new Array;for(;o<n;)i.push(e(o++));u&&i.length>0&&i.push(i[0]),r.push(i)}return u?{rings:r,hasZ:s,hasM:i,spatialReference:a}:{paths:r,hasZ:s,hasM:i,spatialReference:a}}const h=new Array;for(const{segments:e,startVertex:r}of t.parts){const t=[r];for(const{curve:r}of e)t.push(r);h.push(t)}return u?{rings:[],curveRings:h,hasZ:s,hasM:i,spatialReference:a}:{paths:[],curvePaths:h,hasZ:s,hasM:i,spatialReference:a}}function V(t,{lengths:e,coords:r,hasZ:n,hasM:s},i){const a=t.includes("point")?0:e.length,o="polygon"===t,u="point"===t?1:e.reduce((t,e)=>t+e,0)-(o?a:0);n??=!1,s??=!1;const h=R(t,u,a,n,s,!1,0,0);if(h.spatialReference=i??void 0,!h.isMultipart()){for(let t=0,e=0;t<u;++t)h.vertexXY[2*t]=r[e++],h.vertexXY[2*t+1]=r[e++],n&&(h.vertexZ[t]=r[e++]),s&&(h.vertexM[t]=r[e++]);return h}const c=2+Number(n)+Number(s);let l=0,f=0;h.partOffsets[0]=0;for(const t of e){const e=h.partOffsets[f],i=e+t-Number(o);h.partOffsets[++f]=i;for(let t=e;t<i;++t)h.vertexXY[2*t]=r[l++],h.vertexXY[2*t+1]=r[l++],n&&(h.vertexZ[t]=r[l++]),s&&(h.vertexM[t]=r[l++]);o&&(l+=c)}return h}function I({type:t,vertexCount:e,vertexXY:r,vertexZ:n,vertexM:s,partCount:i,partOffsets:a,hasZ:o,hasM:u}){const h=new x.A([],[],o,u);i=Math.max(i,1);const c="polygon"===t;let l=0;for(let t=0;t<i;++t){const i=a?.[t+1]??e,f=h.coords.length;for(let t=l;t<i;++t)h.coords.push(r[2*t],r[2*t+1]),o&&h.coords.push(n[t]),u&&h.coords.push(s[t]);if(c){const t=l;h.coords.push(r[2*t],r[2*t+1]),o&&h.coords.push(n[t]),u&&h.coords.push(s[t])}h.lengths.push((h.coords.length-f)/h.stride),l=i}return"point"===t&&(h.lengths.length=0),h}function A(t,e){return"getSpatialReference"in t&&(e=function(t){if(null==t)return;const e=t.getText()||void 0,r=t.isCustomWkid()?0:t.getOldID();if(r<=0)return{wkt:e};let n=t.getLatestID();(n<=0||n===r)&&(n=void 0);const s=t.getVCS();if(null==s)return{wkid:r,latestWkid:n,wkt:e};const i=s.isCustomWkid()?0:s.getOldID();if(i<=0)return{wkt:e};let a=t.getLatestVerticalID();return(a<=0||a===i)&&(a=void 0),{wkid:r,wkt:e,latestWkid:n,vcsWkid:i,latestVcsWkid:a}}(t.getSpatialReference()),t=t.getGeometry()),new p({...t.toFlatGeometry(),spatialReference:e})}class _{constructor(t,e){this.target=t,this.keys=e,this.oldValues=e.map(e=>t[e]);for(const r of e)t[r]=void 0}[Symbol.dispose](){this.keys.map((t,e)=>{this.target[t]=this.oldValues[e]})}}function w({spatialReference:t}){return t instanceof i.A?t.toJSON():t}function O({vertexXY:t,vertexZ:e,vertexM:r}){return e?r?n=>[t[2*n],t[2*n+1],e[n],r[n]]:r=>[t[2*r],t[2*r+1],e[r]]:r?e=>[t[2*e],t[2*e+1],r[e]]:e=>[t[2*e],t[2*e+1]]}function Z(t,e){return t.every((t,r)=>t===e[r])}function R(t,e,r,n,s,i,a,o){a??=0,o??=0;const u=new p({type:t,vertexCount:e,vertexXY:null,vertexZ:void 0,vertexM:void 0,partCount:r,partOffsets:void 0,partFlags:void 0,segmentFlags:void 0,segmentIndices:void 0,segmentParams:void 0,segmentCountArc:a,segmentCountBezier:o});let h=2*Float64Array.BYTES_PER_ELEMENT*e;n&&(h+=Float64Array.BYTES_PER_ELEMENT*e),s&&(h+=Float64Array.BYTES_PER_ELEMENT*e),u.isMultipart()&&(h+=(r+1)*Int32Array.BYTES_PER_ELEMENT,h+=(r+1)*Int8Array.BYTES_PER_ELEMENT),i&&(h+=e*Int8Array.BYTES_PER_ELEMENT,h+=e*Int32Array.BYTES_PER_ELEMENT,h+=u.segmentParamCount*Float64Array.BYTES_PER_ELEMENT);const c=new ArrayBuffer(h);let l=0;return u.vertexXY=new Float64Array(c,l,2*e),l+=u.vertexXY.byteLength,n&&(u.vertexZ=new Float64Array(c,l,e),l+=u.vertexZ.byteLength),s&&(u.vertexM=new Float64Array(c,l,e),l+=u.vertexM.byteLength),i&&(u.segmentParams=new Float64Array(c,l,u.segmentParamCount),l+=u.segmentParams.byteLength,u.segmentIndices=new Int32Array(c,l,e),u.segmentIndices.fill(T),l+=u.segmentIndices.byteLength),u.isMultipart()&&(u.partOffsets=new Int32Array(c,l,r+1),l+=u.partOffsets.byteLength,u.partFlags=new Int8Array(c,l,r+1),l+=u.partFlags.byteLength,"polygon"===u.type&&u.partFlags.subarray(0,r).fill(1)),i&&(u.segmentFlags=new Int8Array(c,l,e),u.segmentFlags.fill(1),l+=u.segmentFlags.byteLength),u}function S(t,e,{segmentFlags:r,segmentIndices:n,segmentParams:s},i,a){r[i]=4,n[i]=a;const[o,[u,h],c,l,f,m,x]=e.a;let p=4;l||(p|=1),c||(p|=2);const y=(0,g.SW)(t,e),[d,v]=(0,g.Uk)(y,.5);return s[a++]=p,s[a++]=m,s[a++]=x,s[a++]=f,s[a++]=u,s[a++]=h,s[a++]=y.u2-y.u1,s[a++]=y.u1,s[a++]=d,s[a++]=v,a}function b(t,e,{segmentFlags:r,segmentIndices:n,segmentParams:s},i,a){r[i]=4,n[i]=a;const o=(0,m.i)(t,e);return F(o,4,...(0,h.mq)(o,.5),s,a)}function Y(t,e,{segmentFlags:r,segmentIndices:n,segmentParams:s},i,a){return r[i]=4,n[i]=a,F((0,c.pM)(t,e),0,...e.c[1],s,a)}function F(t,e,r,n,s,i){const{cx:a,cy:o,thetaStart:u,thetaEnd:h,radius:c}=t;return u>h||(e|=1),Math.abs(h-u)<=Math.PI||(e|=2),s[i++]=e,s[i++]=c,s[i++]=1,s[i++]=0,s[i++]=a,s[i++]=o,s[i++]=h-u,s[i++]=u,s[i++]=r,s[i++]=n,i}function N(t,{b:[e,[r,n],[s,i]]},{segmentFlags:a,segmentIndices:o,segmentParams:u},h,c){return a[h]=2,o[h]=c,u[c++]=r,u[c++]=n,u[c++]=s,u[c++]=i,c}const G=1.61803,T=-1},43628(t,e,r){r.d(e,{execute:()=>n.e});var n=r(65416);r(78125)},78125(t,e,r){r.r(e),r.d(e,{fromExtent:()=>p,fromGeometry:()=>x,fromMultipoint:()=>y,fromPoint:()=>d,fromPolygon:()=>v,fromPolyline:()=>M,fromPolylineUsingImportOperator:()=>C,fromSpatialReference:()=>E,getSpatialReference:()=>g,toExtent:()=>V,toGeometry:()=>P,toMultipoint:()=>I,toPoint:()=>A,toPolygon:()=>_,toPolyline:()=>w});var n=r(83661),s=(r(79187),r(55537)),i=r(95213),a=r(88885),o=r(5443),u=r(48526),h=r(86738),c=r(39829),l=r(82799),f=(r(90293),r(83299));const m="_gxVersion";function g(t){return Array.isArray(t)?t[0].spatialReference:t.spatialReference}function x(t){switch(t.type){case"point":return d(t);case"multipoint":return y(t);case"polyline":return M(t);case"polygon":return v(t);case"extent":return p(t);default:throw new Error(`Unsupported geometry type: ${t.type}`)}}function p(t){if(!t.getCacheValue(m)){const e=new i.E;e.setCoords(t.xmin,t.ymin,t.xmax,t.ymax),t.hasM&&e.setInterval(2,0,t.mmin,t.mmax),t.hasZ&&e.setInterval(1,0,t.zmin,t.zmax),t.setCacheValue(m,e)}return t.getCacheValue(m)}function y(t){if(!t.getCacheValue(m)){const e=new a.M,r=new i.P,n=t.points,s=t.hasM,o=t.hasZ,u=o?3:2;for(let t=0,i=n.length;t<i;t++){const i=n[t];r.setXYCoords(i[0],i[1]),o&&r.setZ(i[2]??0),s&&r.setM(i[u]??NaN),e.add(r)}t.setCacheValue(m,e)}return t.getCacheValue(m)}function d(t){if(!t.getCacheValue(m)){const e=new i.P;e.setXYCoords(t.x,t.y),t.hasM&&e.setM(t.m),t.hasZ&&e.setZ(t.z),t.setCacheValue(m,e)}return t.getCacheValue(m)}function v(t){if(!t.getCacheValue(m)){const{curveRings:e,hasM:r,hasZ:n,rings:s}=t,i=(0,f.fromGeometryToGXGeometry)({curveRings:e,hasM:r,hasZ:n,rings:s});t.setCacheValue(m,i)}return t.getCacheValue(m)}function M(t){if(!t.getCacheValue(m)){const{curvePaths:e,hasM:r,hasZ:n,paths:s}=t,i=(0,f.fromGeometryToGXGeometry)({curvePaths:e,hasM:r,hasZ:n,paths:s});t.setCacheValue(m,i)}return t.getCacheValue(m)}function C(t){if(!t.getCacheValue(m)){const{curvePaths:e,hasM:r,hasZ:n,paths:s}=t,i=(0,f.fromGeometryToGXGeometryUsingImportOperator)({curvePaths:e,hasM:r,hasZ:n,paths:s});t.setCacheValue(m,i)}return t.getCacheValue(m)}function E(t){return(0,f.fromSpatialReference)(t)}function P(t,e){if(t)switch(t.getGeometryType()){case s.G.enumPoint:return A(t,e);case s.G.enumEnvelope:return V(t,e);case s.G.enumMultiPoint:return I(t,e);case s.G.enumPolyline:return w(t,e);case s.G.enumPolygon:return _(t,e)}return null}function V(t,e){if(t.isEmpty())return null;const r=new o.A({xmin:t.getXMin(),ymin:t.getYMin(),xmax:t.getXMax(),ymax:t.getYMax(),spatialReference:e}),n=t.getDescription();if(n.hasM()){const e=t.queryInterval(2,0);r.mmin=e.vmin,r.mmax=e.vmax}if(n.hasZ()){const e=t.queryInterval(1,0);r.zmin=e.vmin,r.zmax=e.vmax}return r.setCacheValue(m,t),r}function I(t,e){if(t.isEmpty())return null;const r=t.getDescription(),n=r.hasM(),s=r.hasZ(),a=[],o=new i.P;for(let e=0,r=t.getPointCount();e<r;e++){t.getPointByVal(e,o);const r=[o.getX(),o.getY()];s&&r.push(o.getZ()),n&&r.push(o.getM()),a.push(r)}const h=new u.A({hasM:n,hasZ:s,points:a,spatialReference:e});return h.setCacheValue(m,t),h}function A(t,e){if(t instanceof n.P)return new h.A({x:t.x,y:t.y,spatialReference:e});if(t.isEmpty())return null;const r=new h.A({x:t.getX(),y:t.getY(),spatialReference:e}),s=t.getDescription();return s.hasM()&&(r.m=t.getM()),s.hasZ()&&(r.z=t.getZ()),r.setCacheValue(m,t),r}function _(t,e){if(t.isEmpty())return null;const r=c.A.fromJSON({...(0,f.toGeometry)(t,null),spatialReference:e});return r.setCacheValue(m,t),r}function w(t,e){if(t.isEmpty())return null;const r=l.A.fromJSON({...(0,f.toGeometry)(t,null),spatialReference:e});return r.setCacheValue(m,t),r}},4197(t,e,r){r.d(e,{Vj:()=>h,cj:()=>u,jh:()=>i,l5:()=>o,xm:()=>a});var n=r(34275),s=r(9093);function i(t){return t<=n.y9?new Array(t).fill(0):new Float64Array(t)}function a(t){return((0,n.iu)(t)?t.byteLength/8:t.length)<=n.y9?Array.from(t):new Float64Array(t)}function o(t,e,r){return Array.isArray(t)?t.slice(e,e+r):t.subarray(e,e+r)}function u(t){return[...t]}function h(t){const e=(0,s.vt)();for(let r=0;r<16;++r)e[r]=t[r];return e}},70328(t,e,r){r.d(e,{BI:()=>v,DC:()=>l,Ej:()=>m,Ie:()=>y,Jt:()=>d,Ne:()=>g,RF:()=>c,aI:()=>C,fA:()=>a,gE:()=>u,hZ:()=>p,iT:()=>f,is:()=>M,qv:()=>E,vI:()=>x,vY:()=>o,v_:()=>P,vt:()=>i,w1:()=>h});var n=r(5443),s=(r(19419),r(4197));function i(t=P){return[t[0],t[1],t[2],t[3],t[4],t[5]]}function a(t,e,r,n,s,a,o=i()){return o[0]=t,o[1]=e,o[2]=r,o[3]=n,o[4]=s,o[5]=a,o}function o(t,e=i()){return function(t,e,r,n=i()){return p(n,E),function(t,e,r=0,n=e.length/3){let s=t[0],i=t[1],a=t[2],o=t[3],u=t[4],h=t[5];for(let t=0;t<n;t++)s=Math.min(s,e[r+3*t]),i=Math.min(i,e[r+3*t+1]),a=Math.min(a,e[r+3*t+2]),o=Math.max(o,e[r+3*t]),u=Math.max(u,e[r+3*t+1]),h=Math.max(h,e[r+3*t+2]);t[0]=s,t[1]=i,t[2]=a,t[3]=o,t[4]=u,t[5]=h}(n,t,e,r),n}(t,0,t.length/3,e)}function u(t,e=(0,s.jh)(24)){const[r,n,i,a,o,u]=t;return e[0]=r,e[1]=n,e[2]=i,e[3]=r,e[4]=n,e[5]=u,e[6]=r,e[7]=o,e[8]=i,e[9]=r,e[10]=o,e[11]=u,e[12]=a,e[13]=n,e[14]=i,e[15]=a,e[16]=n,e[17]=u,e[18]=a,e[19]=o,e[20]=i,e[21]=a,e[22]=o,e[23]=u,e}function h(t,e){const r=isFinite(t[2])||isFinite(t[5]);return new n.A(r?{xmin:t[0],xmax:t[3],ymin:t[1],ymax:t[4],zmin:t[2],zmax:t[5],spatialReference:e}:{xmin:t[0],xmax:t[3],ymin:t[1],ymax:t[4],spatialReference:e})}function c(t,e){t[0]=Math.min(t[0],e[0]),t[1]=Math.min(t[1],e[1]),t[2]=Math.min(t[2],e[2]),t[3]=Math.max(t[3],e[3]),t[4]=Math.max(t[4],e[4]),t[5]=Math.max(t[5],e[5])}function l(t,e){t[0]=Math.min(t[0],e[0]),t[1]=Math.min(t[1],e[1]),t[3]=Math.max(t[3],e[2]),t[4]=Math.max(t[4],e[3])}function f(t,e){t[0]=Math.min(t[0],e[0]),t[1]=Math.min(t[1],e[1]),t[2]=Math.min(t[2],e[2]),t[3]=Math.max(t[3],e[0]),t[4]=Math.max(t[4],e[1]),t[5]=Math.max(t[5],e[2])}function m(t,e=[0,0,0]){return e[0]=function(t){return t[0]>=t[3]?0:t[3]-t[0]}(t),e[1]=function(t){return t[1]>=t[4]?0:t[4]-t[1]}(t),e[2]=function(t){return t[2]>=t[5]?0:t[5]-t[2]}(t),e}function g(t,e,r=t){return r[0]=e[0],r[1]=e[1],r[2]=e[2],r!==t&&(r[3]=t[3],r[4]=t[4],r[5]=t[5]),r}function x(t,e,r=t){return r[3]=e[0],r[4]=e[1],r[5]=e[2],r!==t&&(r[0]=t[0],r[1]=t[1],r[2]=t[2]),t}function p(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t}function y(t){return t?p(t,E):i(E)}function d(t,e){return t[0]=e[0],t[1]=e[1],t[2]=Number.NEGATIVE_INFINITY,t[3]=e[2],t[4]=e[3],t[5]=Number.POSITIVE_INFINITY,t}function v(t,e,r,n,s){return t[0]=e,t[1]=r,t[2]=Number.NEGATIVE_INFINITY,t[3]=n,t[4]=s,t[5]=Number.POSITIVE_INFINITY,t}function M(t){return 6===t.length}function C(t,e,r){if(null==t||null==e)return t===e;if(!M(t)||!M(e))return!1;if(r){for(let n=0;n<t.length;n++)if(!r(t[n],e[n]))return!1}else for(let r=0;r<t.length;r++)if(t[r]!==e[r])return!1;return!0}const E=[1/0,1/0,1/0,-1/0,-1/0,-1/0],P=[0,0,0,0,0,0];i()},92722(t,e,r){r.d(e,{A:()=>s});var n=r(69397);class s{constructor(t=[],e=[],r=!1,n=!1){this.lengths=t??[],this.coords=e??[],this.hasZ=r,this.hasM=n}static fromJSON({lengths:t,coords:e,hasZ:r,hasM:n}){return new s(t,e,r||!1,n||!1)}static fromRect([t,e,r,n]){const i=r-t,a=n-e;return new s([5],[t,e,i,0,0,a,-i,0,0,-a])}get isPoint(){return 0===this.lengths.length&&this.coords.length>=2}get maxLength(){return Math.max(...this.lengths)}get size(){return this.isPoint?1:this.lengths.reduce((t,e)=>t+e,0)}get usedMemory(){return 64+(0,n.Qf)(this.lengths,this.coords)}get stride(){return 2+(this.hasZ?1:0)+(this.hasM?1:0)}area(){if(this.isPoint)return 0;let t=0,e=0;for(const r of this.lengths){if(r<3)continue;const{stride:n}=this;let s=this.coords[n*e],i=this.coords[n*e+1];for(let a=1;a<r;a+=1){const r=n*(e+a),o=this.coords[r],u=this.coords[r+1];t+=-.5*(o-s)*(u+i),s=o,i=u}e+=r}return t}forEachVertex(t){let e=0;if(this.isPoint)return t(this.coords[0],this.coords[1]);const{stride:r}=this;for(const n of this.lengths){for(let s=0;s<n;s++){const n=r*(e+s);t(this.coords[n],this.coords[n+1])}e+=n}}deltaDecode(){const t=this.clone(),{coords:e,lengths:r}=t;let n=0;const{stride:s}=this;for(const t of r){for(let r=1;r<t;r++){const t=s*(n+r);e[t]+=e[t-s],e[t+1]+=e[t+1-s]}n+=t}return t}clone(t){if(this.isPoint)return new s([],Array.from(this.coords.slice(0,this.stride)),this.hasZ,this.hasM);const e=Array.from(this.lengths),{stride:r,size:n}=this,i=this.coords.slice(0,n*r);return t?(t.set(i),new s(e,t)):new s(e,Array.from(i),this.hasZ,this.hasM)}justXY(){const{stride:t,size:e}=this;if(2===t)return this;const r=new Array(e*t);for(let e=0,n=0;e<r.length;e+=t)r[n++]=this.coords[e],r[n++]=this.coords[e+1];return new s(this.lengths,r,!1,!1)}}}}]);
|