@arcgis/core 5.2.0-next.74 → 5.2.0-next.75
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/assets/esri/core/workers/RemoteClient.js +1 -1
- package/assets/esri/core/workers/chunks/0502641d9a214b37ff29.js +1 -0
- package/assets/esri/core/workers/chunks/0d3b2d9a19383bb63f0a.js +1 -0
- package/assets/esri/core/workers/chunks/0d9fe49812554e7d7ba7.js +1 -0
- package/assets/esri/core/workers/chunks/0daaa89de339e8ea4b81.js +1 -0
- package/assets/esri/core/workers/chunks/{1ca04ecf010e68863014.js → 0eb35e09765fd74eb698.js} +1 -1
- package/assets/esri/core/workers/chunks/12234a63d3fa4bc25e7e.js +1 -0
- package/assets/esri/core/workers/chunks/18e0e993c0c39c962e61.js +1 -0
- package/assets/esri/core/workers/chunks/{859dd86c921053bf03a1.js → 1c49c9472167a2e0c923.js} +1 -1
- package/assets/esri/core/workers/chunks/{cf360767310fb45660a8.js → 1cf8fb704c48ac3d3b15.js} +1 -1
- package/assets/esri/core/workers/chunks/{2e44978ee677aa23163d.js → 2435ef7d11f8dbb920b7.js} +1 -1
- package/assets/esri/core/workers/chunks/2501d9459f6d14c797e5.js +1 -0
- package/assets/esri/core/workers/chunks/2740f755c3a322cbd477.js +1 -0
- package/assets/esri/core/workers/chunks/27f574acf52f2c8bc2c9.js +1 -0
- package/assets/esri/core/workers/chunks/2b93888e61ca638490cf.js +1 -0
- package/assets/esri/core/workers/chunks/2f4ed8a63d57636a4ebe.js +1 -0
- package/assets/esri/core/workers/chunks/{31d19bb72a9e79b30070.js → 30818b5ff0ce51b25d6f.js} +1 -1
- package/assets/esri/core/workers/chunks/3235e14fedb19dd94807.js +1 -0
- package/assets/esri/core/workers/chunks/36ec5b84e551ab08b24a.js +1 -0
- package/assets/esri/core/workers/chunks/3c28e2040cb4fb716eaa.js +1 -0
- package/assets/esri/core/workers/chunks/3c32471785bc8570e41c.js +1 -0
- package/assets/esri/core/workers/chunks/4046bd65d7d0677f4600.js +1 -0
- package/assets/esri/core/workers/chunks/4295822fa6ef743c76f1.js +1 -0
- package/assets/esri/core/workers/chunks/{35fd2f765d2cb3f59a22.js → 42d5ed44111bea77ec71.js} +115 -115
- package/assets/esri/core/workers/chunks/43713bc6f7eea07259d0.js +1 -0
- package/assets/esri/core/workers/chunks/{a0a1f0bd3648738354a6.js → 43a65cab888d43954564.js} +1 -1
- package/assets/esri/core/workers/chunks/44a786aba84918f2b247.js +1 -0
- package/assets/esri/core/workers/chunks/46873badbd6ce8ff4e1e.js +1 -0
- package/assets/esri/core/workers/chunks/4d7a3b3aaf876da0891b.js +1 -0
- package/assets/esri/core/workers/chunks/{509aecafbc629bee1c15.js → 4fe2cca405180af23364.js} +1 -1
- package/assets/esri/core/workers/chunks/50b08415e072a49bc572.js +1 -0
- package/assets/esri/core/workers/chunks/519af918050b47f93516.js +1 -0
- package/assets/esri/core/workers/chunks/{bd311c85437743cf7d2f.js → 53d165b4f30fd64e5d8a.js} +1 -1
- package/assets/esri/core/workers/chunks/{1a3afee3ecd806b4aa81.js → 552d6aecc7d88d16227b.js} +1 -1
- package/assets/esri/core/workers/chunks/{bff75cc7413bf0d319db.js → 5627f562dea8bae2f346.js} +1 -1
- package/assets/esri/core/workers/chunks/5ba3a30b7cbfa9e3aa62.js +1 -0
- package/assets/esri/core/workers/chunks/{0e81c6d4f1c81f9b0a1b.js → 5e1d84e97de0e662aaa9.js} +1 -1
- package/assets/esri/core/workers/chunks/{2baa16ec8559e77c226f.js → 64a1ffc221e5b63b43fb.js} +1 -1
- package/assets/esri/core/workers/chunks/{9ca59077712e45ef4d56.js → 6743d726e45e7b660505.js} +1 -1
- package/assets/esri/core/workers/chunks/69b0dcd7bcd8ec42e2c3.js +1 -0
- package/assets/esri/core/workers/chunks/6b783f440c4a5d36e879.js +1 -0
- package/assets/esri/core/workers/chunks/6dddd3df31961b9fda12.js +1 -0
- package/assets/esri/core/workers/chunks/6fc3553c52af6ace926d.js +1 -0
- package/assets/esri/core/workers/chunks/702b2381acf4d1f90094.js +1 -0
- package/assets/esri/core/workers/chunks/{9e25f715cda59c686a4c.js → 792303e4090c0c70c4ff.js} +1 -1
- package/assets/esri/core/workers/chunks/7a24cc0f3b4eff2bdb8e.js +1 -0
- package/assets/esri/core/workers/chunks/7dc5aedc964eacd1be5a.js +1 -0
- package/assets/esri/core/workers/chunks/841c81c280114412c95b.js +1 -0
- package/assets/esri/core/workers/chunks/8a36b999cbd65dd2f16c.js +1 -0
- package/assets/esri/core/workers/chunks/8ae3a6ddc87bf8315583.js +1 -0
- package/assets/esri/core/workers/chunks/9cff18e6f751d1b3085e.js +1 -0
- package/assets/esri/core/workers/chunks/{b6d26d9738c0787acc38.js → a6a2a4a2bae0d327d7ed.js} +1 -1
- package/assets/esri/core/workers/chunks/{c1a4d499a30f3d80567b.js → a7a7d3289d4ca95f545f.js} +1 -1
- package/assets/esri/core/workers/chunks/abb6c76d5dba3559a68e.js +1 -0
- package/assets/esri/core/workers/chunks/b14961a9f1f40028f141.js +1 -0
- package/assets/esri/core/workers/chunks/b6cd165d0e58598f28a5.js +1 -0
- package/assets/esri/core/workers/chunks/{f1727b4a32cb6f36a5e6.js → b78f509fd8e95f728178.js} +1 -1
- package/assets/esri/core/workers/chunks/b9d1bb106737a05290e1.js +1 -0
- package/assets/esri/core/workers/chunks/{faa55265020591fd2224.js → bc0395777c5c1adb1ddb.js} +1 -1
- package/assets/esri/core/workers/chunks/{94368a097e6190ce3c7a.js → c37b28f200b704ae6002.js} +1 -1
- package/assets/esri/core/workers/chunks/cff6390b863361eaeeed.js +1 -0
- package/assets/esri/core/workers/chunks/d1c7c877edc6948f3801.js +1 -0
- package/assets/esri/core/workers/chunks/d2172583ee6e481a66aa.js +1 -0
- package/assets/esri/core/workers/chunks/{193aed69de2dec4f36b6.js → d633e98b0dfa0490e4de.js} +1 -1
- package/assets/esri/core/workers/chunks/d8eca13c127b443141b7.js +1 -0
- package/assets/esri/core/workers/chunks/ddd8f6154e265dbb6f9f.js +1 -0
- package/assets/esri/core/workers/chunks/de601f0d5a2a282d2efd.js +1 -0
- package/assets/esri/core/workers/chunks/{fdca9873914b9dbd9244.js → e59101f1d060d0a30a65.js} +1 -1
- package/assets/esri/core/workers/chunks/eb1a86159dbc098f06fe.js +1 -0
- package/assets/esri/core/workers/chunks/{b3b53cf0a3a30164d337.js → ee9eb381e675d2d01260.js} +1 -1
- package/assets/esri/core/workers/chunks/{264fd750691d517ab1f3.js → f43a0edf58941e2ac78e.js} +1 -1
- package/assets/esri/core/workers/chunks/{4abd54518e35050feb90.js → f78acff510ca615d42e4.js} +1 -1
- package/assets/esri/core/workers/chunks/{01c92e68fb17cf2d0e08.js → f7a5c4d22a24e1ac433c.js} +1 -1
- package/chunks/GaussianSplat.glsl.js +8 -8
- package/chunks/GaussianSplatShadow.glsl.js +4 -5
- package/chunks/OccludedGeometryDepth.glsl.js +5 -0
- package/chunks/ShadowCastVisualize.glsl.js +2 -2
- package/config.js +1 -1
- package/core/importUtils.js +2 -0
- package/geometry/operators/importUtils.js +2 -0
- package/geometry/support/curves/densifyCurvedGeometry.js +1 -1
- package/geometry/support/normalizeUtils.d.ts +17 -15
- package/geometry/support/normalizeUtils.js +1 -1
- package/kernel.js +1 -1
- package/layers/FeatureLayer.d.ts +1 -1
- package/layers/graphics/data/QueryEngine.js +1 -1
- package/layers/graphics/data/queryUtils.js +1 -1
- package/layers/graphics/hydratedFeatures.js +1 -1
- package/package.json +1 -1
- package/portal/schemas/definitions.js +1 -1
- package/rest/geoprocessor/utils.js +1 -1
- package/rest/identify.js +1 -1
- package/rest/imageService.js +1 -1
- package/rest/query/operations/query.js +1 -1
- package/rest/query/operations/queryAttributeBins.js +1 -1
- package/rest/query/operations/queryPivot.js +1 -1
- package/rest/query/operations/queryTopFeatures.js +1 -1
- package/support/revision.js +1 -1
- package/symbols/cim/CIMEffects.js +1 -1
- package/symbols/cim/utils.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/labels/LabelMeshWriter.js +1 -1
- package/views/2d/layers/support/RouteLayerInteraction.js +1 -1
- package/views/2d/viewpointUtils.js +1 -1
- package/views/3d/environment/EnvironmentManager.js +1 -1
- package/views/3d/interactive/Manipulator3D.js +1 -1
- package/views/3d/interactive/editingTools/reshape/ReshapeOperation.js +1 -1
- package/views/3d/interactive/manipulatorUtils.js +1 -1
- package/views/3d/interactive/visualElements/VerticesVisualElement.js +1 -1
- package/views/3d/support/hitTest.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/util/GaussianSplatCovariance.glsl.js +8 -3
- package/views/3d/webgl-engine/core/shaderLibrary/util/GaussianSplatEvaluation.glsl.js +8 -2
- package/views/3d/webgl-engine/effects/shadowAccumulation/ShadowAccumulator.js +2 -0
- package/views/3d/webgl-engine/effects/shadowAccumulation/ShadowCastAccumulate.glsl.js +2 -0
- package/views/3d/webgl-engine/effects/shadowAccumulation/ShadowCastAccumulateTechnique.js +2 -0
- package/views/3d/webgl-engine/effects/shadowAccumulation/ShadowCastAccumulateTechniqueConfiguration.js +2 -0
- package/views/3d/webgl-engine/effects/shadowAccumulation/ShadowCastClear.glsl.js +2 -0
- package/views/3d/webgl-engine/effects/shadowAccumulation/ShadowCastClearTechnique.js +2 -0
- package/views/3d/webgl-engine/effects/shadowAccumulation/ShadowCastMaskTechnique.js +2 -0
- package/views/3d/webgl-engine/effects/shadowAccumulation/ShadowCastRenderer.js +2 -0
- package/views/3d/webgl-engine/effects/shadowAccumulation/ShadowCastVisualize.glsl.js +2 -0
- package/views/3d/webgl-engine/effects/shadowAccumulation/ShadowCastVisualizeTechnique.js +2 -0
- package/views/3d/webgl-engine/effects/shadowAccumulation/ShadowCastVisualizeTechniqueConfiguration.js +2 -0
- package/views/3d/webgl-engine/lib/CutFillVisualization.js +1 -1
- package/views/3d/webgl-engine/lib/Renderer.js +1 -1
- package/views/3d/webgl-engine/parts/RenderView.js +1 -1
- package/views/3d/webgl-engine/shaders/DefaultMaterialTechnique.js +1 -1
- package/views/3d/webgl-engine/shaders/DefaultMaterialTechniqueConfiguration.js +1 -1
- package/views/3d/webgl-engine/shaders/GaussianSplatPass.glsl.js +28 -21
- package/views/3d/webgl-engine/shaders/OccludedGeometryDepth.glsl.js +2 -0
- package/views/3d/webgl-engine/shaders/OccludedGeometryDepthTechnique.js +2 -0
- package/views/selection/SelectionOperation.js +1 -1
- package/widgets/Feature/FeatureRelationship/FeatureRelationshipViewModel.js +1 -1
- package/widgets/support/SelectionList/GroupLayerItem.d.ts +8 -1
- package/widgets/support/SelectionList/GroupLayerItem.js +1 -1
- package/widgets/support/SelectionList/LayerItem.d.ts +8 -1
- package/widgets/support/SelectionList/LayerItem.js +1 -1
- package/widgets/support/SelectionList/SelectionListViewModel.d.ts +29 -1
- package/widgets/support/SelectionList/SelectionListViewModel.js +1 -1
- package/widgets/support/SelectionList.js +1 -1
- package/widgets/support/SelectionToolbar.js +1 -1
- package/assets/esri/core/workers/chunks/0dbf31a663b5220a3136.js +0 -1
- package/assets/esri/core/workers/chunks/0df660dfd941cff3ea1d.js +0 -1
- package/assets/esri/core/workers/chunks/1418c03c4ab87f7ab5f4.js +0 -1
- package/assets/esri/core/workers/chunks/160b204cbf5bda2a29e9.js +0 -1
- package/assets/esri/core/workers/chunks/1cc063aa2ddf44bbd515.js +0 -1
- package/assets/esri/core/workers/chunks/2a2ed7bd44010f24c2dd.js +0 -1
- package/assets/esri/core/workers/chunks/2bdb9b5365869081c936.js +0 -1
- package/assets/esri/core/workers/chunks/3d6b2d5ae647e140abaf.js +0 -1
- package/assets/esri/core/workers/chunks/44e8cd4b3dad777ab0c9.js +0 -1
- package/assets/esri/core/workers/chunks/45ccca01db0027b9dc16.js +0 -1
- package/assets/esri/core/workers/chunks/4cf2b0558a4acc141429.js +0 -1
- package/assets/esri/core/workers/chunks/4e129b9f5772a06e580c.js +0 -1
- package/assets/esri/core/workers/chunks/5441f96cdd0660229efe.js +0 -1
- package/assets/esri/core/workers/chunks/553be2bd69bd311477ea.js +0 -1
- package/assets/esri/core/workers/chunks/56bbde1dff96b423fbb9.js +0 -1
- package/assets/esri/core/workers/chunks/613e799377bdb767c955.js +0 -1
- package/assets/esri/core/workers/chunks/623d5518bca227f643bd.js +0 -1
- package/assets/esri/core/workers/chunks/62811bca7ad2100c023c.js +0 -1
- package/assets/esri/core/workers/chunks/64176f7ae719289a2f79.js +0 -1
- package/assets/esri/core/workers/chunks/73f77f5a6907cb8d9a35.js +0 -1
- package/assets/esri/core/workers/chunks/76b573143d1a65fdbcb6.js +0 -1
- package/assets/esri/core/workers/chunks/7b5b66ae79e0287e3ade.js +0 -1
- package/assets/esri/core/workers/chunks/7e373d9c98ce910db9d2.js +0 -1
- package/assets/esri/core/workers/chunks/86a4057572755b403548.js +0 -1
- package/assets/esri/core/workers/chunks/877594b6db08da98acd7.js +0 -1
- package/assets/esri/core/workers/chunks/98e6c1d035755a074d24.js +0 -1
- package/assets/esri/core/workers/chunks/a27cdf4c29dd50a6dab1.js +0 -1
- package/assets/esri/core/workers/chunks/a294dd12b5c708ce04af.js +0 -1
- package/assets/esri/core/workers/chunks/a9053ad0f4e8c4705665.js +0 -1
- package/assets/esri/core/workers/chunks/b33d870cbfa238762c5e.js +0 -1
- package/assets/esri/core/workers/chunks/b599b7dadce8b8bc88f6.js +0 -1
- package/assets/esri/core/workers/chunks/b984b808d383974ca3d8.js +0 -1
- package/assets/esri/core/workers/chunks/c25dc9073e73d6b44d88.js +0 -1
- package/assets/esri/core/workers/chunks/c45a5bcf26659daf02a1.js +0 -1
- package/assets/esri/core/workers/chunks/c46f79d5b7712adbbd1c.js +0 -1
- package/assets/esri/core/workers/chunks/c866b66ba72d96453899.js +0 -1
- package/assets/esri/core/workers/chunks/c873383e7dae35dc1a61.js +0 -1
- package/assets/esri/core/workers/chunks/d08f81d545930a79fb2e.js +0 -1
- package/assets/esri/core/workers/chunks/d607cf154218d20e4114.js +0 -1
- package/assets/esri/core/workers/chunks/da6134c7883531f21afe.js +0 -1
- package/assets/esri/core/workers/chunks/e4a2eefffe16cd5bb20f.js +0 -1
- package/assets/esri/core/workers/chunks/e602b91d8fdc36a92530.js +0 -1
- package/assets/esri/core/workers/chunks/ebfb3cdc0df15eb05d75.js +0 -1
- package/assets/esri/core/workers/chunks/f721756a6c1593f96409.js +0 -1
- package/assets/esri/core/workers/chunks/fb51f823b25c827c6b29.js +0 -1
- package/views/3d/webgl-engine/lib/ShadowAccumulator.js +0 -2
- package/views/3d/webgl-engine/lib/ShadowCastRenderer.js +0 -2
- package/views/3d/webgl-engine/shaders/ShadowCastAccumulate.glsl.js +0 -2
- package/views/3d/webgl-engine/shaders/ShadowCastAccumulateTechnique.js +0 -2
- package/views/3d/webgl-engine/shaders/ShadowCastAccumulateTechniqueConfiguration.js +0 -2
- package/views/3d/webgl-engine/shaders/ShadowCastClear.glsl.js +0 -2
- package/views/3d/webgl-engine/shaders/ShadowCastClearTechnique.js +0 -2
- package/views/3d/webgl-engine/shaders/ShadowCastMaskTechnique.js +0 -2
- package/views/3d/webgl-engine/shaders/ShadowCastVisualize.glsl.js +0 -2
- package/views/3d/webgl-engine/shaders/ShadowCastVisualizeTechnique.js +0 -2
- package/views/3d/webgl-engine/shaders/ShadowCastVisualizeTechniqueConfiguration.js +0 -2
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[4123,6344,8245],{11006(e,t,i){function s(e,t,i,s,r){n(e,t,i||0,s||e.length-1,r||a)}function n(e,t,i,s,a){for(;s>i;){if(s-i>600){var o=s-i+1,l=t-i+1,u=Math.log(o),c=.5*Math.exp(2*u/3),d=.5*Math.sqrt(u*c*(o-c)/o)*(l-o/2<0?-1:1);n(e,t,Math.max(i,Math.floor(t-l*c/o+d)),Math.min(s,Math.floor(t+(o-l)*c/o+d)),a)}var h=e[t],p=i,f=s;for(r(e,i,t),a(e[s],h)>0&&r(e,i,s);p<f;){for(r(e,p,f),p++,f--;a(e[p],h)<0;)p++;for(;a(e[f],h)>0;)f--}0===a(e[i],h)?r(e,i,f):r(e,++f,s),f<=t&&(i=f+1),t<=f&&(s=f-1)}}function r(e,t,i){var s=e[t];e[t]=e[i],e[i]=s}function a(e,t){return e<t?-1:e>t?1:0}i.d(t,{q:()=>s})},69052(e,t,i){i.d(t,{hr:()=>n});var s=i(34727);class n{constructor(e,t){this.min=e,this.max=t,this.range=t-e}normalize(e,t=0,i=!1){return r(this.range,this.min,this.max,e,t,i)}clamp(e,t=0){return(0,s.qE)(e-t,this.min,this.max)+t}monotonic(e,t,i){return e<t?t:t+a(this.range,e-t,i)}minimalMonotonic(e,t,i){return r(this.range,e,e+this.range,t,i)}center(e,t,i){return t=this.monotonic(e,t,i),this.normalize((e+t)/2,i)}diff(e,t,i){return this.monotonic(e,t,i)-e}shortestSignedDiff(e,t){e=this.normalize(e);const i=(t=this.normalize(t))-e,s=t<e?this.minimalMonotonic(e,t)-e:t-this.minimalMonotonic(t,e);return Math.abs(i)<Math.abs(s)?i:s}contains(e,t,i){return t=this.minimalMonotonic(e,t),(i=this.minimalMonotonic(e,i))>e&&i<t}}function r(e,t,i,s,n=0,r=!1){return(s-=n)<t?s+=a(e,t-s):s>i&&(s-=a(e,s-i)),r&&s===i&&(s=t),s+n}function a(e,t,i=0){return Math.ceil((t-i)/e)*e+i}const o=new n(0,2*Math.PI),l=(new n(-Math.PI,Math.PI),new n(0,360));i.d(t,["ie",0,l,"uC",0,o])},66344(e,t,i){i.d(t,{q:()=>o});const s=!!(0,i(44208).A)("esri-tests-disable-gpu-memory-measurements");Symbol.iterator;class n{get size(){return this._size}constructor(e=10485760,t=.3){this._maxSize=e,this._maxClientSizeRatio=t,this._db=new Map,this._size=0,this._hit=0,this._miss=0,this._clients=new Map,this._sizeLimits=new Map}destroy(){this.clearAll(),this._sizeLimits.clear(),this._clients.clear(),this._db.clear()}register(e){this._clients.set(e.id.slice(0,-1),e)}deregister(e){this.clear(e),this._sizeLimits.delete(e),this._clients.delete(e.id.slice(0,-1))}get maxSize(){return this._maxSize}set maxSize(e){this._maxSize=Math.max(e,-1),this._checkSize()}get _maxClientSize(){return this._maxSize*this._maxClientSizeRatio}getSize(e,t){const i=this._db.get(e.id+t);return i?.size??0}put(e,t,i,n,a){t=e.id+t;const o=this._db.get(t);if(o&&(this._size-=o.size,e.size-=o.size,this._db.delete(t),o.entry!==i&&this._notifyRemove(t,o.entry,o.size,0)),n>this._maxSize)return void this._notifyRemove(t,i,n,0);if(void 0===i)return void console.warn("Refusing to cache undefined entry ");if(!n||n<0)return s||console.warn(`Refusing to cache entry with size ${n} for key ${t}`),void this._notifyRemove(t,i,0,0);const l=1+Math.max(a,-4)- -3;this._db.set(t,new r(i,n,l)),this._size+=n,e.size+=n,this._checkSize()}updateSize(e,t){t=e.id+t;const i=this._db.get(t);if(!i)return;this._size-=i.size,e.size-=i.size;let s=i.entry.usedMemory;for(;s>this._maxSize;){const e=this._notifyRemove(t,i.entry,s,1);if(!(null!=e&&e>0))return void this._db.delete(t);s=e}i.size=s,this._size+=s,e.size+=s,this._checkSize()}pop(e,t){t=e.id+t;const i=this._db.get(t);if(i)return this._size-=i.size,e.size-=i.size,this._db.delete(t),++this._hit,i.entry;++this._miss}get(e,t){t=e.id+t;const i=this._db.get(t);if(void 0!==i)return this._db.delete(t),i.lives=i.lifetime,this._db.set(t,i),++this._hit,i.entry;++this._miss}peek(e,t){const i=this._db.get(e.id+t);return i?++this._hit:++this._miss,i?.entry}get performanceInfo(){const e={Size:Math.round(this._size/1048576)+"/"+Math.round(this._maxSize/1048576)+"MB","Hit rate":Math.round(100*this._getHitRate())+"%",Entries:this._db.size.toString()},t={},i=new Array;this._db.forEach((e,s)=>{const n=e.lifetime;i[n]=(i[n]||0)+e.size,this._clients.forEach(i=>{const{id:n,name:r}=i;if(s.startsWith(n)){const i=t[r]||0;t[r]=i+e.size}})});const s={};this._clients.forEach(e=>{const i=e.name;if("hitRate"in e&&"number"==typeof e.hitRate&&!isNaN(e.hitRate)&&e.hitRate>0){const n=t[i]||0;t[i]=n,s[i]=Math.round(100*e.hitRate)+"%"}else s[i]="0%"});const n=Object.keys(t);n.sort((e,i)=>t[i]-t[e]),n.forEach(i=>e[i]=Math.round(t[i]/2**20)+"MB / "+s[i]);for(let t=i.length-1;t>=0;--t){const s=i[t];s&&(e["Priority "+(t+-3-1)]=Math.round(s/this._size*100)+"%")}return e}resetStats(){this._hit=this._miss=0,this._clients.forEach(e=>e.resetHitRate())}clear(e){const t=e.id;this._db.forEach((e,i)=>{i.startsWith(t)&&(this._size-=e.size,this._db.delete(i),this._notifyRemove(i,e.entry,e.size,0))}),e.size=0}clearAll(){this._db.forEach((e,t)=>this._notifyRemove(t,e.entry,e.size,0)),this._clients.forEach(e=>e.size=0),this._size=0,this._db.clear()}*values(e){for(const[t,i]of this._db)t.startsWith(e.id)&&(yield i.entry)}_getHitRate(){return this._hit/(this._hit+this._miss)}_notifyRemove(e,t,i,s){const n=this._clients.get(e.split(a)[0])?.removeFunc,r=n?.(t,s,i);return"number"==typeof r?r:null}_checkSize(){this._sizeLimits.forEach((e,t)=>this._checkSizeLimits(e,t)),this._clients.forEach(e=>this._checkSizeLimits(this._maxClientSize,e)),this._checkSizeLimits(this.maxSize)}setMaxClientSize(e,t){null==t||t<=0?this._sizeLimits.delete(e):this._sizeLimits.set(e,t)}_checkSizeLimits(e,t){const i=t??this;if(i.size<=e)return;const s=t?.id;let n=!0;for(;n;){n=!1;for(const[r,o]of this._db)if(0===o.lifetime&&(!s||r.startsWith(s))){const s=t??this._clients.get(r.split(a)[0]);if(this._purgeItem(r,o,s),i.size<=.9*e)return;n||=this._db.has(r)}}for(const[n,r]of this._db)if(!s||n.startsWith(s)){const s=t??this._clients.get(n.split(a)[0]);if(this._purgeItem(n,r,s),i.size<=.9*e)return}}_purgeItem(e,t,i){if(this._db.delete(e),t.lives<=1){this._size-=t.size,i&&(i.size-=t.size);const s=this._notifyRemove(e,t.entry,t.size,1);null!=s&&s>0&&(this._size+=s,i&&(i.size+=s),t.lives=t.lifetime,t.size=s,this._db.set(e,t))}else--t.lives,this._db.set(e,t)}}new n(0);class r{constructor(e,t,i){this.entry=e,this.size=t,this.lifetime=i,this.lives=i}}const a=":";class o{constructor(e,t){this.removeFunc=t,this.id="",this.name="",this.size=0,this._storage=new n(e,1),this._storage.register(this)}destroy(){this._storage.deregister(this),this._storage.destroy()}put(e,t,i=1){this._storage.put(this,e,t,i,1)}pop(e){return this._storage.pop(this,e)}get(e){return this._storage.get(this,e)}clear(){this._storage.clearAll()}get maxSize(){return this._storage.maxSize}set maxSize(e){this._storage.maxSize=e}resetHitRate(){}}},56512(e,t,i){function s(e){let t,i,s=[],n=!1;return function(...r){return n&&t===this&&function(e,t){if(e.length!==t.length)return!1;for(let i=0;i<e.length;++i)if(e[i]!==t[i])return!1;return!0}(r,s)||(i=e.apply(this,r),t=this,s=r,n=!0),i}}i.d(t,{B:()=>s})},44794(e,t,i){i.d(t,{v:()=>o});var s=i(4718),n=i(62788),r=i(95488);class a{constructor(e,t){this._observable=new r.I,this._value=e,this._equalityFunction=t}get value(){return(0,n.gc)(this._observable),this._value}set value(e){this._equalityFunction(e,this._value)||(this._value=e,this._observable.notify())}mutate(e){e(this._value),this._observable.notify()}}function o(e,t=s.gh){return new a(e,t)}},44123(e,t,i){i.d(t,{WhereClauseCache:()=>r});var s=i(66344),n=i(89696);class r{constructor(e,t){this._cache=new s.q(e),this._invalidCache=new s.q(t)}get(e,t){const i=`${t?.uid}:${e}`,s=this._cache.get(i);if(s)return s;if(null!=this._invalidCache.get(i))return null;try{const s=n.A.create(e,{fieldsIndex:t});return this._cache.put(i,s),s}catch(e){return this._invalidCache.put(i,e),null}}getError(e,t){const i=`${t?.uid}:${e}`;return this._invalidCache.get(i)??null}}},46329(e,t,i){i.d(t,{y:()=>d});var s=i(49186),n=i(4305),r=i(513),a=i(50954),o=i(52006),l=i(49663),u=i(46068),c=i(59803);function d(e,t,i){if((0,o.Xq)(t))return(0,c.T)(e,t,i);if((0,o.n1)(t)){const r=(0,n.m_)(e,t,i)[0];if(null==r)throw new s.A("closestPointOnCurve:unexpected-error","Failed to find close point on bezier curve");return r}if((0,o.aO)(t)){const s=(0,a.pM)(e,t);return(0,r.fM)(s,i)}if((0,o.DA)(t)){const s=(0,l.io)(e,t);return(0,r.fM)(s,i)}const d=(0,u.SW)(e,t);return(0,u.pb)(d,i)}},31411(e,t,i){i.d(t,{GS:()=>E,gh:()=>I});var s=i(49186),n=i(56512),r=i(65864),a=i(4305),o=i(50954),l=i(52006),u=i(49663),c=i(46068),d=i(15507);const h=1e-6,p=[0,0];function f(e){return{maxSegmentLength:e.maxSegmentLength??0,maxDeviation:e.maxDeviation??0,maxSegmentsPerCurve:e.maxSegmentsPerCurve??12e3,minSegmentsPerCurve:Math.max(e.minSegmentsPerCurve??1,1)}}class m{constructor(e,t){this.curveStart=e,this.curveEnd=t,this.tStart=0,this.tEnd=0,this.tEndStack=[],this.arcEndStack=[]}get stackSize(){return this.tEndStack.length}initialize(e,t){this.tStart=0,this.arcStart=e,this.tEndStack.push(1),this.arcEndStack.push(t)}splitAt(e){this.tEndStack.push(this.tEnd),this.arcEndStack.push(this.arcEnd),this.tEndStack.push(e),this.arcEndStack.push(this.interpolate(e))}splitInHalf(){return this.splitAt((this.tStart+this.tEnd)/2)}pop(){this.tEnd=this.tEndStack.pop(),this.arcEnd=this.arcEndStack.pop()}next(){this.tStart=this.tEnd,this.arcStart=this.arcEnd}densify(e,{maxDeviation:t,maxSegmentLength:i,maxSegmentsPerCurve:s,minSegmentsPerCurve:n}){const r=i*i,a=t*t,o=1/s,l=this.interpolate(0),u=this.interpolate(1);(0,d.kb)(this.curveStart,l)>h&&e.push(l),this.initialize(l,u);const c=1/n;for(let e=n-1;e>0;e--){const t=e*c;this.pop(),this.splitAt(t)}for(;this.stackSize>0;)this.pop(),this.tStart===this.tEnd||this.tEnd-this.tStart<o||(0===r||!isFinite(r)||(0,d.kb)(this.arcStart,this.arcEnd)<r)&&(0===a||!isFinite(a)||this.getDeviation2()<a)?(e.push(this.arcEnd),this.next()):this.splitInHalf();return(0,d.kb)(this.curveEnd,u)>h&&e.push([...this.curveEnd]),e}}class y extends m{constructor(e,t){const[i,s,n]=t.b;super(e,i),this._controlPointsStack=[],this._curveControlPoints=[s,n],this._arcControlPoints=[s,n],this._controlPointsStack.push(this._arcControlPoints)}splitAt(e){const{arcStart:t,arcEnd:i,tStart:s,tEnd:n}=this,[r,a]=this._arcControlPoints,o=(e-s)/(n-s),l=(0,d.RS)([],t,r,o),u=(0,d.RS)(p,r,a,o),c=(0,d.RS)([],a,i,o),h=(0,d.RS)([],l,u,o),f=(0,d.RS)([],u,c,o),m=(0,d.RS)([],h,f,o);this.tEndStack.push(this.tEnd),this.arcEndStack.push(this.arcEnd),this._controlPointsStack.push([f,c]),this.tEndStack.push(e),this.arcEndStack.push(m),this._arcControlPoints[0]=l,this._arcControlPoints[1]=h,this._controlPointsStack.push(this._arcControlPoints)}pop(){super.pop(),this._arcControlPoints=this._controlPointsStack.pop()}interpolate(e){const{curveStart:t,curveEnd:i}=this,[s,n]=this._curveControlPoints;return(0,a.B4)(t,s,n,i,e)}getDeviation2(){const{arcStart:e,arcEnd:t}=this,[i,s]=this._arcControlPoints;return Math.max((0,d.yE)(i,e,t),(0,d.yE)(s,e,t))}}class g extends m{constructor(e,t){const[i]=t.a;super(e,i),this._derivedEllipse=(0,c.SW)(e,t)}pop(){super.pop(),this._tMid=(this.tStart+this.tEnd)/2,this._arcMid=this.interpolate(this._tMid)}splitInHalf(){this.tEndStack.push(this.tEnd),this.arcEndStack.push(this.arcEnd),this.tEndStack.push(this._tMid),this.arcEndStack.push(this._arcMid)}interpolate(e){return(0,c.Uk)(this._derivedEllipse,e)}getDeviation2(){return(0,d.yE)(this._arcMid,this.arcStart,this.arcEnd)}}function _(e,t,i,{cx:s,cy:n,radius:r,thetaStart:a,thetaEnd:o,isInvalid:l},{maxDeviation:u,maxSegmentLength:c,maxSegmentsPerCurve:p,minSegmentsPerCurve:f}){if(l)return e.push([...i]),e;const m=2*r,y=[s+r*Math.cos(a),n+r*Math.sin(a)],g=[s+r*Math.cos(o),n+r*Math.sin(o)];(0,d.kb)(t,y)>h&&e.push(y);const _=Math.abs(o-a),x=c>0&&c<m?2*Math.asin(c/m):_,S=u>0&&u<=r?2*Math.acos(1-u/r):_,v=Math.min(x,S),T=Math.min(p,Math.max(f,Math.ceil(Math.abs(_/v)))),F=1/T;for(let t=1;t<T;t++){const i=t*F,l=a*(1-i)+o*i;e.push([s+r*Math.cos(l),n+r*Math.sin(l)])}return e.push(g),(0,d.kb)(i,g)>h&&e.push([...i]),e}function x(e,t,i,s){return new y(t,i).densify(e,s)}function S(e,t,i,s){const n=(0,o.pM)(t,i),[r]=i.c;return _(e,t,r,n,s)}function v(e,t,i,s){const n=(0,u.io)(t,i),[r]=i.a;return _(e,t,r,n,s)}function T(e,t,i,s){const[n,r,a,o,l,u,c]=i.a;return 0===u||0===c?(e.push([...n]),e):new g(t,i).densify(e,s)}function F(e,t,i,s){return(0,l.Xq)(i)?(e.push([...i]),e):(0,l.n1)(i)?x(e,t,i,s):(0,l.aO)(i)?S(e,t,i,s):(0,l.DA)(i)?v(e,t,i,s):T(e,t,i,s)}function E(e,t={}){if(!(0,l.Ed)(e))return e;const i=f(t),s=(0,l.FD)(e),n=[];for(const e of s){const t=[];for(let s=0;s<e.length-1;s++){const n=s+1,r=[...(0,l.yP)(e[s])];0===s&&t.push(r),F(t,r,e[n],i)}n.push(t)}return"curvePaths"in e?{...void 0!==e.hasZ?{hasZ:e.hasZ}:{},...void 0!==e.hasM?{hasM:e.hasM}:{},paths:n,spatialReference:e.spatialReference}:{...void 0!==e.hasZ?{hasZ:e.hasZ}:{},...void 0!==e.hasM?{hasM:e.hasM}:{},rings:n,spatialReference:e.spatialReference}}const R=(0,n.B)(e=>({maxDeviation:0,maxSegmentLength:100*e,maxSegmentsPerCurve:12e3,minSegmentsPerCurve:1}));async function I(e,t,n){const a=new Set(t);return await async function(e,t,n){let r=null;for(const a of e)if(a&&(0,l.Ed)(a)&&null==a.spatialReference.xyTolerance&&(0,l.V8)(a,t)){const e=a.spatialReference;if(!e)throw new s.A("geometry:missing-spatial-reference","Geometry contains an unsupported curve type, but it cannot be densified because it has no spatial reference.");const t=w(e);if(n.has(t))a.spatialReference=n.get(t);else{r||(r=await Promise.all([i.e(9187),i.e(8885),i.e(5756),i.e(3299),i.e(1550)]).then(i.bind(i,78125)));const o=r.fromSpatialReference(e),l=o?.getTolerance();if(null==l)throw new s.A("geometry:missing-tolerance","Geometry contains an unsupported curve type, but it cannot be densified because the tolerance of its spatial reference is unknown. Set the `xyTolerance` property of the spatial reference.");const u=a.spatialReference.clone();u.read({xyTolerance:l}),a.spatialReference=u,n.set(t,u)}}}(e,a,n),e.map(e=>{if(!e||!(0,l.Ed)(e))return e;const i=e.spatialReference.xyTolerance;if(null==i)return e;const s=R(i);return(0,r.rS)(function(e,t,i){if(!(0,l.Ed)(e))return e;const s=new Set(t),n=f(i),r=(0,l.FD)(e),a=[];let o=!1;for(const e of r){const t=[];for(let i=0;i<e.length-1;i++){const r=i+1,a=[...(0,l.yP)(e[i])];0===i&&t.push(a);const u=e[r];(0,l.Xq)(u)?t.push([...u]):(0,l.n1)(u)&&!s.has("cubic-bezier")?x(t,a,u,n):(0,l.aO)(u)&&!s.has("circular-arc")?S(t,a,u,n):(0,l.DA)(u)&&!s.has("elliptic-arc")?v(t,a,u,n):(0,l.wY)(u)&&!s.has("elliptic-arc")?T(t,a,u,n):(t.push((0,l.tk)(u)),o=!0)}a.push(t)}return"curvePaths"in e?{...void 0!==e.hasZ?{hasZ:e.hasZ}:{},...void 0!==e.hasM?{hasM:e.hasM}:{},spatialReference:e.spatialReference,...o?{curvePaths:a}:{paths:a}}:{hasZ:e.hasZ,hasM:e.hasM,spatialReference:e.spatialReference,...o?{curveRings:a}:{rings:a}}}(e,t,s))})}function w(e){if(null!=e.wkid)return`${e.wkid}`;if(null!=e.wkt)return e.wkt;const t="toJSON"in e&&"function"==typeof e.toJSON?e.toJSON():e;return JSON.stringify(t)}},65864(e,t,i){i.d(t,{rS:()=>c,xD:()=>h});var s=i(5443),n=i(91075),r=i(48526),a=i(86738),o=i(39829),l=i(82799),u=i(60408);function c(e){return null==e?null:e instanceof n.A?e:(0,u.fT)(e)?a.A.fromJSON(e):(0,u.Rg)(e)?l.A.fromJSON(e):(0,u.Bi)(e)?o.A.fromJSON(e):(0,u.U9)(e)?r.A.fromJSON(e):(0,u.ZC)(e)?s.A.fromJSON(e):null}const d={esriGeometryPoint:a.A,esriGeometryPolyline:l.A,esriGeometryPolygon:o.A,esriGeometryEnvelope:s.A,esriGeometryMultipoint:r.A,esriGeometryMultiPatch:o.A};function h(e){return e&&d[e]||null}},17136(e,t,i){i.d(t,{Y_:()=>M,O7:()=>A,el:()=>w});var s=i(92602),n=i(69052),r=i(49186),a=i(53966),o=i(39829),l=i(82799),u=i(16930),c=i(80754),d=i(21325),h=i(28735),p=i(52006),f=i(31411),m=i(11254),y=i(60408),g=i(65864),_=i(2272),x=i(84952),S=i(92300);const v=()=>a.A.getLogger("esri.geometry.support.normalizeUtils");function T(e){return"polygon"===e[0].type}function F(e){return"polyline"===e[0].type}function E(e,t,i){const s=1e6;if(t){const t=(0,p.Ed)(e)?(0,f.GS)(e,{maxSegmentLength:s}):function(e,t){if(!(e instanceof l.A||e instanceof o.A)){const e="straightLineDensify: the input geometry is neither polyline nor polygon";throw v().error(e),new r.A("internal:geometry",e)}const i=(0,c.r8)(e),s=[];for(const e of i){const i=[];s.push(i),i.push([e[0][0],e[0][1]]);for(let s=0;s<e.length-1;s++){const n=e[s][0],r=e[s][1],a=e[s+1][0],o=e[s+1][1],l=Math.sqrt((a-n)*(a-n)+(o-r)*(o-r)),u=(o-r)/l,c=(a-n)/l,d=l/t;if(d>1){for(let e=1;e<=d-1;e++){const s=e*t,a=c*s+n,o=u*s+r;i.push([a,o])}const e=(l+Math.floor(d-1)*t)/2,s=c*e+n,a=u*e+r;i.push([s,a])}i.push([a,o])}}return function(e){return"polygon"===e.type}(e)?new o.A({rings:s,spatialReference:e.spatialReference}):new l.A({paths:s,spatialReference:e.spatialReference})}(e,s);e=(0,h.ci)(t,!0)}return i&&(e=(0,c.kS)(e,i)),e}function R(e,t,i){if(Array.isArray(e)){const s=e[0];if(s>t){const i=(0,c.kd)(s,t);e[0]=s+i*(-2*t)}else if(s<i){const t=(0,c.kd)(s,i);e[0]=s+t*(-2*i)}}else{const s=e.x;if(s>t){const i=(0,c.kd)(s,t);e=e.clone().offset(i*(-2*t),0)}else if(s<i){const t=(0,c.kd)(s,i);e=e.clone().offset(t*(-2*i),0)}}return e}function I(e,t){let i=-1;for(let s=0;s<t.cutIndexes.length;s++){const n=t.cutIndexes[s],r=t.geometries[s],a=(0,c.r8)(r);for(let e=0;e<a.length;e++){const t=a[e];t.some(i=>{if(i[0]<180)return!0;{let i=0;for(let e=0;e<t.length;e++){const s=t[e][0];i=s>i?s:i}i=Number(i.toFixed(9));const s=-360*(0,c.kd)(i,180);for(let i=0;i<t.length;i++){const t=r.getPoint(e,i);r.setPoint(e,i,t.clone().offset(s,0))}return!0}})}if(n===i){if(T(e))for(const t of(0,c.r8)(r))e[n]=e[n].addRing(t);else if(F(e))for(const t of(0,c.r8)(r))e[n]=e[n].addPath(t)}else i=n,e[n]=r}return e}async function w(e,t,i){if(!Array.isArray(e))return w([e],t);t&&"string"!=typeof t&&v().warn("normalizeCentralMeridian()","The url object is deprecated, use the url string instead");const n="string"==typeof t?t:t?.url??s.A.geometryServiceUrl;let r,a,u,p,f,T,F,A,b=0;const M=[],z=[];for(const t of e)if(null!=t)if(r||(r=t.spatialReference,a=(0,d.Vp)(r),u=r.isWebMercator,T=u?102100:4326,p=c.j7[T].maxX,f=c.j7[T].minX,F=c.j7[T].plus180Line,A=c.j7[T].minus180Line),a)if("mesh"===t.type)z.push(t);else if("point"===t.type)z.push(R(t.clone(),p,f));else if("multipoint"===t.type){const e=t.clone();e.points=e.points.map(e=>R(e,p,f)),z.push(e)}else if("extent"===t.type){const e=t.clone()._normalize(!1,!1,a);z.push(e.rings?new o.A(e):e)}else if(t.extent){const e=t.extent,i=(0,c.kd)(e.xmin,f)*(2*p);let s=0===i?t.clone():(0,c.kS)(t.clone(),i);e.offset(i,0);let{xmin:n,xmax:r}=e;n=Number(n.toFixed(9)),r=Number(r.toFixed(9)),e.intersects(F)&&r!==p?(b=r>b?r:b,s=E(s,u),M.push(s),z.push("cut")):e.intersects(A)&&n!==f?(b=r*(2*p)>b?r*(2*p):b,s=E(s,u,360),M.push(s),z.push("cut")):z.push(s)}else z.push(t.clone());else z.push(t);else z.push(t);let C=(0,c.kd)(b,p),N=-90;const O=C,V=new l.A;for(;C>0;){const e=360*C-180;V.addPath([[e,N],[e,-1*N]]),N*=-1,C--}if(M.length>0&&O>0){const t=I(M,await async function(e,t,i,s){const n=(0,_.Dl)(e),r=t[0].spatialReference,a={...s,responseType:"json",query:{...n.query,f:"json",sr:(0,d.YX)(r),target:JSON.stringify({geometryType:(0,y.$B)(t[0]),geometries:t}),cutter:JSON.stringify(i)}},o=await(0,m.A)(n.path+"/cut",a),{cutIndexes:l,geometries:u=[]}=o.data;return{cutIndexes:l,geometries:u.map(e=>{const t=(0,g.rS)(e);return t.spatialReference=r,t})}}(n,M,V,i)),s=[],r=[];for(let i=0;i<z.length;i++){const n=z[i];if("cut"!==n)r.push(n);else{const n=t.shift(),a=e[i];null!=a&&"polygon"===a.type&&a.rings&&a.rings.length>1&&n.rings.length>=a.rings.length?(s.push(n),r.push("simplify")):r.push(u?(0,h.Gh)(n):n)}}if(!s.length)return r;const a=await async function(e,t,i){const s="string"==typeof e?(0,x.An)(e):e,n=t[0].spatialReference,r=(0,y.$B)(t[0]),a={...i,query:{...s.query,f:"json",sr:(0,d.YX)(n),geometries:JSON.stringify((0,S.X)(t))}},{data:o}=await(0,m.A)(s.path+"/simplify",a);return(0,S.V)(o.geometries,r,n)}(n,s,i),o=[];for(let e=0;e<r.length;e++){const t=r[e];"simplify"!==t?o.push(t):o.push(u?(0,h.Gh)(a.shift()):a.shift())}return o}const P=[];for(let e=0;e<z.length;e++){const t=z[e];if("cut"!==t)P.push(t);else{const e=M.shift();P.push(!0===u?(0,h.Gh)(e):e)}}return P}function A(e,t,i){const s=(0,d.Vp)(i);if(null==s)return e;const[n,r]=s.valid,a=2*r;let o=0,l=0;t>r?o=Math.ceil(Math.abs(t-r)/a):t<n&&(o=-Math.ceil(Math.abs(t-n)/a)),e>r?l=Math.ceil(Math.abs(e-r)/a):e<n&&(l=-Math.ceil(Math.abs(e-n)/a));let u=e+(o-l)*a;const c=u-t;return c>r?u-=a:c<n&&(u+=a),u}function b(e){const t=(0,d.Vp)(e);if(null==t)return null;const[i,s]=t.valid;return new n.hr(i,s)}const M=b(u.A.WGS84);b(u.A.WebMercator)},80754(e,t,i){i.d(t,{kS:()=>u,kd:()=>l,r8:()=>c});var s=i(82799),n=i(16930),r=i(60408),a=i(52006);const o={102100:{maxX:20037508.342788905,minX:-20037508.342788905,plus180Line:new s.A({paths:[[[20037508.342788905,-20037508.342788905],[20037508.342788905,20037508.342788905]]],spatialReference:n.A.WebMercator}),minus180Line:new s.A({paths:[[[-20037508.342788905,-20037508.342788905],[-20037508.342788905,20037508.342788905]]],spatialReference:n.A.WebMercator})},4326:{maxX:180,minX:-180,plus180Line:new s.A({paths:[[[180,-180],[180,180]]],spatialReference:n.A.WGS84}),minus180Line:new s.A({paths:[[[-180,-180],[-180,180]]],spatialReference:n.A.WGS84})}};function l(e,t){return Math.ceil((e-t)/(2*t))}function u(e,t){if((0,a.Ed)(e))for(const i of function(e){return(0,r.Bi)(e)?e.curveRings:e.curvePaths}(e))for(const e of i){if((0,a.aO)(e)){const[i,s]=e.c;i[0]+=t,s[0]+=t;continue}if((0,a.FG)(e)){const[i,s]=e.a;i[0]+=t,s[0]+=t;continue}if((0,a.n1)(e)){const[i,s,n]=e.b;i[0]+=t,s[0]+=t,n[0]+=t;continue}e[0]+=t}for(const i of c(e))for(const e of i)e[0]+=t;return e}function c(e){return(0,r.Bi)(e)?e.rings:e.paths}i.d(t,["j7",0,o])},62577(e,t,i){function s(e){return e?{originPosition:"upper-left"===e.originPosition?"upperLeft":"lower-left"===e.originPosition?"lowerLeft":e.originPosition,scale:e.tolerance?[e.tolerance,e.tolerance,1,1]:[1,1,1,1],translate:null!=e.extent?[e.extent.xmin,e.extent.ymax,e.extent.zmin??0,e.extent.mmin??0]:[0,0,0,0]}:null}function n(e){if(function(e){return"lowerLeft"===e.originPosition&&4===e.scale.length&&4===e.translate.length}(e))return e;const{originPosition:t,scale:i,translate:s}=e,n=i[0]??1,r=i[1]??1;return{originPosition:"lowerLeft",scale:[n,"lowerLeft"===t?r:-r,i[2]??1,i[3]??1],translate:[s[0]??0,s[1]??0,s[2]??0,s[3]??0]}}function r({scale:e,translate:t},i){return Math.round((i-t[0])/e[0])}function a({scale:e,translate:t},i){return Math.round((i-t[1])/e[1])}function o({scale:e,translate:t},i){return i*e[0]+t[0]}function l({scale:e,translate:t},i){return i*e[1]+t[1]}function u({scale:e,translate:t},i){return(i??0)*e[2]+t[2]}function c({scale:e,translate:t},i){return i?i*e[3]+t[3]:0}function d(e,t){return e&&t?m:e&&!t?p:!e&&t?f:h}i.d(t,{$X:()=>S,B2:()=>a,Gy:()=>g,IE:()=>r,P5:()=>v,Q1:()=>n,SW:()=>_,Tr:()=>x,VV:()=>s});const h=(e,t)=>{const i=new Array(t.length);if(!t.length)return i;const s=t[0];let n=o(e,s[0]),r=l(e,s[1]);i[0]=[n,r];const{scale:a,originPosition:u}=e,c=a[0],d="lowerLeft"===u?a[1]:-a[1];for(let e=1;e<t.length;e++){const[s,a]=t[e];n+=c*s,r+=d*a,i[e]=[n,r]}return i},p=(e,t)=>{const i=new Array(t.length);if(!t.length)return i;const s=t[0];let n=o(e,s[0]),r=l(e,s[1]);i[0]=[n,r,u(e,s[2])];const{scale:a,originPosition:c}=e,d=a[0],h="lowerLeft"===c?a[1]:-a[1];for(let s=1;s<t.length;s++){const[a,o,l]=t[s];n+=d*a,r+=h*o,i[s]=[n,r,u(e,l)]}return i},f=(e,t)=>{const i=new Array(t.length);if(!t.length)return i;const s=t[0];let n=o(e,s[0]),r=l(e,s[1]);i[0]=[n,r,c(e,s[2])];const{scale:a,originPosition:u}=e,d=a[0],h="lowerLeft"===u?a[1]:-a[1];for(let s=1;s<t.length;s++){const[a,o,l]=t[s];n+=d*a,r+=h*o,i[s]=[n,r,c(e,l)]}return i},m=(e,t)=>{const i=new Array(t.length);if(!t.length)return i;const s=t[0];let n=o(e,s[0]),r=l(e,s[1]);i[0]=[n,r,u(e,s[2]),c(e,s[3])];const{scale:a,originPosition:d}=e,h=a[0],p="lowerLeft"===d?a[1]:-a[1];for(let s=1;s<t.length;s++){const[a,o,l,d]=t[s];n+=h*a,r+=p*o,i[s]=[n,r,u(e,l),c(e,d)]}return i};function y(e,t,i){const s=new Array(i.length);for(let n=0;n<i.length;n++)s[n]=t(e,i[n]);return s}function g(e,t,i){const s=n(e);return t.x=r(s,i.x),t.y=a(s,i.y),null!=i.z&&(t.z=function({scale:e,translate:t},i){return Math.round(((i??0)-t[2])/e[2])}(s,i.z)),null!=i.m&&(t.m=function({scale:e,translate:t},i){return i?Math.round((i-t[3])/e[3]):0}(s,i.m)),t}function _(e,t,i,s=i?.hasZ??!1,r=i?.hasM??!1){if(null!=i){const a=n(e);t.points=d(s,r)(a,i.points),t.hasZ=s,t.hasM=r}return t}function x(e,t,i,s=null!=i?.z,r=null!=i?.m){if(null==i)return t;const a=n(e);return t.x=o(a,i.x),t.y=l(a,i.y),s&&(t.z=u(a,i.z)),r&&(t.m=c(a,i.m)),t}function S(e,t,i,s=i?.hasZ??!1,r=i?.hasM??!1){if(null!=i){const a=n(e);t.rings=y(a,d(s,r),i.rings),t.hasZ=s,t.hasM=r}return t}function v(e,t,i,s=i?.hasZ??!1,r=i?.hasM??!1){if(null!=i){const a=n(e);t.paths=y(a,d(s,r),i.paths),t.hasZ=s,t.hasM=r}return t}},75752(e,t,i){i.d(t,{do:()=>L,qo:()=>G,Wc:()=>k});var s=i(4576),n=i(21818),r=i(49186),a=(i(44208),i(4718)),o=i(97768),l=i(17676),u=i(86211),c=i(12195),d=i(91218),h=i(70328),p=i(19419),f=i(537),m=i(60408),y=i(65864),g=i(17136),_=i(21325),x=i(90708),S=i(29441),v=i(51441),T=i(31464);class F{constructor(){this._storage=new Map,this._purgeInterval=5,this._sweep=()=>{if(this._timer=void 0,!this._storage)return;const e=1e3*this._purgeInterval,t=performance.now()-e;for(const[i,s]of this._storage){if(!(s.time<t))return void(this._storage.size>0&&(this._timer=setTimeout(this._sweep,e)));this._storage.delete(i)}}}destroy(){this._storage?.clear(),this._storage=null,clearTimeout(this._timer)}put(e,t){this._storage?.set(e,new R(t)),this._scheduleSweep()}get(e){const t=this._storage?.get(e);if(t)return this._storage?.delete(e),t.time=performance.now(),this._storage?.set(e,t),t.items}clear(){this._storage?.clear()}_scheduleSweep(){this._storage&&(this._timer??=setTimeout(this._sweep,1e3*this._purgeInterval))}get test(){}}let E=0;class R{constructor(e){this.items=e,this.time=performance.now(),this.id=E++}}var I=i(99352),w=i(8384),A=i(58727),b=i(62660),M=i(43668);const z="unsupported-query";async function C(e,{fieldsIndex:t,geometryType:i,spatialReference:s,availableFields:n}){if(null!=e.geometryPrecision||e.multipatchOption&&"xyFootprint"!==e.multipatchOption||e.pixelSize||e.relationParam||e.text)throw new r.A(z,"Unsupported query options",{query:e});return N(t,n,e),function(e,t,i){const{outStatistics:s,groupByFieldsForStatistics:n,having:a}=i,o=n?.length,l=s?.length;if(a){if(!o||!l)throw new r.A(z,"outStatistics and groupByFieldsForStatistics should be specified with having",{query:i});(0,S.eD)(e,t,a,s,i)}if(l){if(!(0,S._d)(s))return;const a=(0,S.g9)(e,s,n);(0,S.MG)(e,t,a,{expressionName:"statistics",query:i});for(const n of s){const{onStatisticField:s,statisticType:a}=n;if("percentile_disc"!==a&&"percentile_cont"!==a||!("statisticParameters"in n))e.get(s)&&"count"!==a&&"min"!==a&&"max"!==a&&(0,S.MG)(e,t,[s],{expressionName:`outStatistics with '${a}' statistic type`,allowedFieldTypes:O,query:i});else{const{statisticParameters:e}=n;if(!e)throw new r.A(z,"statisticParameters should be set for percentile type",{definition:n,query:i})}}}}(t,n,e),Promise.all([(0,b.c0)(e,i,s),(0,T.Nk)(s,e.outSR)]).then(()=>e)}function N(e,t,i){const{returnDistinctValues:s,outStatistics:n}=i,a=n?n.map(e=>e.outStatisticFieldName&&e.outStatisticFieldName.toLowerCase()).filter(Boolean):[];if("orderByFields"in i&&i.orderByFields&&i.orderByFields.length>0){const s=" asc",n=" desc",r=i.orderByFields.map(e=>{const t=e.toLowerCase();return t.includes(s)?t.split(s)[0]:t.includes(n)?t.split(n)[0]:e}).filter(e=>!a.includes(e));(0,S.MG)(e,t,r,{expressionName:"orderByFields",query:i})}if("outFields"in i)if(i.outFields?.length)(0,S.MG)(e,t,i.outFields,{expressionName:"outFields",query:i,allowedFieldTypes:"all"});else if(s)throw new r.A(z,"outFields should be specified for returnDistinctValues",{query:i});(0,S.SN)(e,t,i.where,i)}const O=new Set([...S.vl,...S.VW]);async function V(e,t,i,s){let n=[];if(i.valueExpression){const{arcadeUtils:e}=await(0,M.l)();n=e.extractFieldNames(i.valueExpression)}if(i.field&&n.push(i.field),i.field2&&n.push(i.field2),i.field3&&n.push(i.field3),i.normalizationField&&n.push(i.normalizationField),!n.length&&!i.valueExpression)throw new r.A(z,"field or valueExpression is required",{params:i});(0,S.MG)(e,t,n,{expressionName:"statistics",query:s})}var P=i(86420),D=i(95466),B=i(92359);class L{constructor(e){this._changeHandle=null,this.capabilities={query:I.F},this.geometryType=e.geometryType,this.hasM=!!e.hasM,this.hasZ=!!e.hasZ,this.spatialReference=e.spatialReference,this.definitionExpression=e.definitionExpression,this.featureStore=e.featureStore,this.aggregateAdapter=e.aggregateAdapter,this._cache=e.cache??new F,this.timeInfo=e.timeInfo,this.featureIdInfo=e.featureIdInfo,this._changeHandle=this.featureStore.events.on("changed",()=>this._clearCache()),this.fieldsIndex=(0,c.W)(e.fieldsIndex)?e.fieldsIndex:D.A.fromJSON(e.fieldsIndex),!e.availableFields||1===e.availableFields.length&&"*"===e.availableFields[0]?this.availableFields=new Set(this.fieldsIndex.fields.map(e=>e.name)):this.availableFields=new Set(e.availableFields.map(e=>this.fieldsIndex.get(e)?.name).filter(e=>null!=e)),e.scheduler&&e.priority?this._frameTask=e.scheduler.registerTask(e.priority):this._frameTask=B.nu}destroy(){this._changeHandle=(0,o.xt)(this._changeHandle),this._frameTask=(0,o.xt)(this._frameTask),this._clearCache(),(0,o.pR)(this._cache)}get featureAdapter(){return this.featureStore.featureAdapter}async executeQuery(e,t){const i=(0,l.Mq)(t);return await this._frameTask.scheduleGenerator(()=>this._executeQueryFeatureSet(e),i)}async executeQueryForCount(e={},t){const i=(0,l.Mq)(t);return await this._frameTask.scheduleGenerator(()=>this._executeQueryForCount(e),i)}async executeQueryForExtent(e,t){const i=(0,l.Mq)(t);return await this._frameTask.scheduleGenerator(()=>this._executeQueryForExtent(e),i)}async executeQueryForIds(e,t){return Array.from(await this.executeQueryForIdSet(e,t))}async executeQueryForIdSet(e,t){const i=(0,l.Mq)(t);return await this._frameTask.scheduleGenerator(()=>this._executeQueryForIdSet(e),i)}async executeQueryForLatestObservations(e,t){const i=(0,l.Mq)(t);if(!this.timeInfo?.trackIdField)throw new r.A("unsupported-query","Missing timeInfo or timeInfo.trackIdField",{query:e,timeInfo:this.timeInfo});return await this._frameTask.scheduleGenerator(()=>this._executeQueryForLatestObservations(e),i)}async executeQueryForOpaqueFeatures(e,t){const i=(0,l.Mq)(t);return(await this._frameTask.scheduleGenerator(()=>this._executeQuery(e,{}),i)).items}async executeAttributeBinsQuery(e,t){const i=(0,l.Mq)(t);return e=(0,a.o8)(e),await this._frameTask.scheduleGenerator(()=>this._executeAttributeBinsQuery(e),i)}async executeQueryForSummaryStatistics(e={},t,i){const s=(0,l.Mq)(i);return await this._frameTask.scheduleGenerator(()=>this._executeQueryForSummaryStatistics(e,t),s)}async executeQueryForUniqueValues(e={},t,i){const s=(0,l.Mq)(i);return await this._frameTask.scheduleGenerator(()=>this._executeQueryForUniqueValues(e,t),s)}async executeQueryForClassBreaks(e={},t,i){const s=(0,l.Mq)(i);return await this._frameTask.scheduleGenerator(()=>this._executeQueryForClassBreaks(e,t),s)}async executeQueryForHistogram(e={},t,i){const s=(0,l.Mq)(i);return await this._frameTask.scheduleGenerator(()=>this._executeQueryForHistogram(e,t),s)}async executeQueryForSnapping(e,t){const i=(0,l.Mq)(t);return await this._frameTask.scheduleGenerator(()=>this._executeQueryForSnapping(e,i),i)}async fetchRecomputedExtents(e){const t=(0,l.Mq)(e);this._timeExtentPromise||=(0,P.W)(this.timeInfo,this.featureStore);const[i,s]=await Promise.all([this._getFullExtent(),this._timeExtentPromise]);return(0,l.Te)(t),{fullExtent:i,timeExtent:s}}_clearCache(){this._cache.clear(),this._allFeaturesPromise=null,this._timeExtentPromise=null,this._fullExtentPromise=null}async*_executeQueryFeatureSet(e){try{const t=yield*this._executeQuery(e,{});return yield,await t.createQueryResponse()}catch(t){if(t!==A.v8)throw t;return await new w.G([],e,this).createQueryResponse()}}async*_executeQueryForCount(e){try{const t=yield*this._executeQuery(e,{returnGeometry:!1,returnCentroid:!1,outSR:null});return yield,t.createQueryResponseForCount()}catch(e){if(e!==A.v8)throw e;return 0}}async*_executeQueryForExtent(e){const t=e.outSR;try{const i=yield*this._executeQuery(e,{returnGeometry:!0,returnCentroid:!1,outSR:null});yield;const s=i.size;if(!s)return{count:0,extent:null};const n=await this._getBounds(i.items,i.spatialReference,t??this.spatialReference);return yield,{count:s,extent:n}}catch(e){if(e===A.v8)return{count:0,extent:null};throw e}}async*_executeQueryForIdSet(e){try{const t=yield*this._executeQuery(e,{returnGeometry:!0,returnCentroid:!1,outSR:null});yield;const i=t.items,s=new Set;for(const e of i)s.add(t.featureAdapter.getObjectId(e));return s}catch(e){if(e===A.v8)return new Set;throw e}}async*_executeQueryForLatestObservations(e){try{const t=yield*this._executeQuery(e,{});return yield,this._filterLatest(t),yield,await t.createQueryResponse()}catch(t){if(t!==A.v8)throw t;return await new w.G([],e,this).createQueryResponse()}}async*_executeAttributeBinsQuery(e){let t;try{e=await(0,A.iJ)(e,this.definitionExpression,this.spatialReference),yield,e=await async function(e,t){const i=e.bin;if(!i.onField&&!i.onExpression?.value||"autoIntervalBin"===i.type&&null==i.parameters.numberOfBins||"dateBin"===i.type&&(null==i.parameters.number||null==i.parameters.unit)||"fixedBoundariesBin"===i.type&&null==i.parameters.boundaries||"fixedIntervalBin"===i.type&&null==i.parameters.interval)throw new r.A(z,"Unsupported query options",{query:e});return C(e,t)}(e,{availableFields:this.availableFields,fieldsIndex:this.fieldsIndex,geometryType:this.geometryType,spatialReference:this.spatialReference}),yield;const i=yield*this._executeSceneFilterQuery(e);yield,t=yield*this._executeGeometryQuery(e,i),yield,this._executeAggregateIdsQuery(t),yield,this._executeObjectIdsQuery(t),yield,this._executeTimeQuery(t),yield,this._executeAttributesQuery(t),yield}catch(i){if(i!==A.v8)throw i;t=new w.G([],e,this)}return await t.createQueryBinsResponse(e)}async*_executeQueryForSummaryStatistics(e={},t){const{field:i,normalizationField:s,valueExpression:n}=t,r=yield*this._executeQueryForStatistics(e,{field:i,normalizationField:s,valueExpression:n});return yield,await r.createSummaryStatisticsResponse(t)}async*_executeQueryForUniqueValues(e={},t){const{field:i,field2:s,field3:n,valueExpression:r}=t,a=yield*this._executeQueryForStatistics(e,{field:i,field2:s,field3:n,valueExpression:r});return yield,await a.createUniqueValuesResponse(t)}async*_executeQueryForClassBreaks(e,t){const{field:i,normalizationField:s,valueExpression:n}=t,r=yield*this._executeQueryForStatistics(e,{field:i,normalizationField:s,valueExpression:n});return yield,await r.createClassBreaksResponse(t)}async*_executeQueryForHistogram(e,t){const{field:i,normalizationField:s,valueExpression:n}=t,r=yield*this._executeQueryForStatistics(e,{field:i,normalizationField:s,valueExpression:n});return yield,await r.createHistogramResponse(t)}async*_executeQueryForSnapping(e,t){const{point:i,distance:s,returnEdge:n,vertexMode:r}=e;if(!n&&"none"===r)return{candidates:[]};let o=(0,a.o8)(e.query);o=await(0,A.T2)(o,this.definitionExpression,this.spatialReference),yield,o=await C(o,{availableFields:this.availableFields,fieldsIndex:this.fieldsIndex,geometryType:this.geometryType,spatialReference:this.spatialReference}),yield;const l=!(0,_.aI)(i.spatialReference,this.spatialReference);l&&(await(0,T.Nk)(i.spatialReference,this.spatialReference),yield);const u="number"==typeof s?s:s.x,c="number"==typeof s?s:s.y,d={xmin:i.x-u,xmax:i.x+u,ymin:i.y-c,ymax:i.y+c,spatialReference:i.spatialReference},h=l?(0,T.Cv)(d,this.spatialReference):d;if(!h)return{candidates:[]};const p=(await(0,g.el)((0,y.rS)(i),null,{signal:t}))[0];yield;const f=(await(0,g.el)((0,y.rS)(h),null,{signal:t}))[0];if(yield,null==p||null==f)return{candidates:[]};const m=await this._searchFeatures(G(f.toJSON()));yield;const x=new w.G(m,o,this);this._executeObjectIdsQuery(x),yield,this._executeTimeQuery(x),yield,this._executeAttributesQuery(x),yield,yield*this._executeGeometryQueryForSnapping(x),yield;const S=p.toJSON(),v=l?(0,T.Cv)(S,this.spatialReference):S,F=l?Math.max(h.xmax-h.xmin,h.ymax-h.ymin)/2:s;return x.createSnappingResponse({...e,point:v,distance:F},o.returnZ,i.spatialReference)}async _getBounds(e,t,i){const s=(0,h.hZ)((0,h.vt)(),h.qv);return await this.featureStore.forEachBounds(e,e=>(0,h.RF)(s,e)),k(s,t,i,this.spatialReference,this.hasZ)}_getFullExtent(){return this._fullExtentPromise||="getFullExtent"in this.featureStore&&this.featureStore.getFullExtent?Promise.resolve(this.featureStore.getFullExtent(this.spatialReference)):this._getAllFeatures().then(e=>this._getBounds(e,this.spatialReference,this.spatialReference)),this._fullExtentPromise}async _getAllFeaturesQueryEngineResult(e){return new w.G(await this._getAllFeatures(),e,this)}async _getAllFeatures(){if(null==this._allFeaturesPromise){const e=[];this._allFeaturesPromise=(async()=>await this.featureStore.forEach(t=>e.push(t)))().then(()=>(0,n.z)(e))}const e=this._allFeaturesPromise,t=await e;return e===this._allFeaturesPromise?t.slice():this._getAllFeatures()}async*_executeQuery(e,t){e=(0,a.o8)(e),e=await(0,A.GC)(e,this.definitionExpression,this.spatialReference),yield,e=await C(e,{availableFields:this.availableFields,fieldsIndex:this.fieldsIndex,geometryType:this.geometryType,spatialReference:this.spatialReference}),yield,e={...e,...t};const i=yield*this._executeSceneFilterQuery(e);yield;const s=yield*this._executeGeometryQuery(e,i);return yield,this._executeAggregateIdsQuery(s),yield,this._executeObjectIdsQuery(s),yield,this._executeTimeQuery(s),yield,this._executeAttributesQuery(s),s}async*_executeSceneFilterQuery(e){if(null==e.sceneFilter)return null;const{outSR:t,returnGeometry:i,returnCentroid:s}=e,n=this.featureStore.featureSpatialReference,r=e.sceneFilter.geometry,a=null==n||(0,_.aI)(n,r.spatialReference)?r:(0,T.Cv)(r,n);if(!a)return null;const o=i||s,l=(0,_.fn)(t)&&!(0,_.aI)(this.spatialReference,t)&&o?async e=>this._project(e,t):e=>e;yield;const u=this.featureAdapter,c=await this._searchFeatures(G(a));if(yield,"disjoint"===e.sceneFilter.spatialRelationship){if(!c.length)return null;const t=new Set;for(const e of c)t.add(u.getObjectId(e));const i=await this._getAllFeatures();yield;const s=await(0,b.xt)("esriSpatialRelDisjoint",a,this.geometryType);yield;const n=e=>!t.has(u.getObjectId(e))||s(u.getGeometry(e)),r=yield*this._runSpatialFilter(i,n);yield;const o=new w.G(r,e,this);return await l(o)}if(!c.length)return new w.G([],e,this);if(this._canExecuteSinglePass(a,e))return await l(new w.G(c,e,this));const d=await(0,b.xt)("esriSpatialRelContains",a,this.geometryType);yield;const h=yield*this._runSpatialFilter(c,e=>d(u.getGeometry(e)));return yield,await l(new w.G(h,e,this))}async*_executeGeometryQuery(e,t){if(null!=t&&0===t.items.length)return t;const{geometry:i,outSR:n,returnGeometry:r,returnCentroid:a}=e,o=t?null:this._getCacheKey(e),l=o?this._cache.get(o):null;if(l)return new w.G(l,e,this);const u=(0,_.fn)(n)&&!(0,_.aI)(this.spatialReference,n),c=r||a,d=async e=>(u&&c&&await this._project(e,n),o&&this._cache.put(o,e.items),e),h=this.featureStore.featureSpatialReference,p=!i||null==h||(0,_.aI)(h,i.spatialReference)?i:(0,T.Cv)(i,h);if(!p)return await d(null!=t?t:await this._getAllFeaturesQueryEngineResult(e));yield;const f=this.featureAdapter;let m=await this._searchFeatures(G(i));yield;const y=e.spatialRel??"esriSpatialRelIntersects";if("esriSpatialRelDisjoint"===y){if(!m.length)return await d(null!=t?t:await this._getAllFeaturesQueryEngineResult(e));const i=new Set;for(const e of m)i.add(f.getObjectId(e));let s;null!=t?s=t.items:(yield,s=await this._getAllFeatures(),yield);const n=await(0,b.xt)(y,p,this.geometryType);yield;const r=e=>!i.has(f.getObjectId(e))||n(f.getGeometry(e)),a=yield*this._runSpatialFilter(s,r);yield;const o=new w.G(a,e,this);return await d(o)}if(null!=t){const e=new s.vW;m=m.filter(i=>(0,s.qh)(t.items,i,t.items.length,e)>=0)}if(!m.length){const t=new w.G([],e,this);return o&&this._cache.put(o,t.items),t}if(this._canExecuteSinglePass(p,e))return await d(new w.G(m,e,this));const g=await(0,b.xt)(y,p,this.geometryType);yield;const x=yield*this._runSpatialFilter(m,e=>g(f.getGeometry(e)));return yield,await d(new w.G(x,e,this))}_executeAggregateIdsQuery(e){if(0===e.items.length||!e.query.aggregateIds?.length||null==this.aggregateAdapter)return;const t=new Set;for(const i of e.query.aggregateIds)this.aggregateAdapter.getFeatureObjectIds(i).forEach(e=>t.add(e));const i=this.featureAdapter.getObjectId;e.items=e.items.filter(e=>t.has(i(e)))}_executeObjectIdsQuery(e){if(0===e.items.length||!e.query.objectIds?.length)return;const t=new Set(e.query.objectIds),i=this.featureAdapter.getObjectId;e.items=e.items.filter(e=>t.has(i(e)))}_executeTimeQuery(e){if(0===e.items.length)return;const t=(0,P.I)(this.timeInfo,e.query.timeExtent,this.featureAdapter);null!=t&&(e.items=e.items.filter(t))}_executeAttributesQuery(e){if(0===e.items.length)return;const t=(0,S.j4)(e.query.where,this.fieldsIndex);if(t){if(!t.isStandardized)throw new TypeError("Where clause is not standardized");e.items=e.items.filter(e=>t.testFeature(e,this.featureAdapter))}}async*_executeGeometryQueryForSnapping(e){const{query:t}=e,{spatialRel:i}=t;if(!e?.items?.length||!t.geometry||!i)return;const s=await(0,b.xt)(i,t.geometry,this.geometryType);yield;const n=this.featureAdapter,r=yield*this._runSpatialFilter(e.items,e=>s(n.getGeometry(e)));e.items=r}*_runSpatialFilter(e,t){if(!t)return e;if(null==this._frameTask)return e.filter(e=>t(e));let i=yield;const s=new Array;for(const n of e)t(n)&&s.push(n),i.madeProgress(),i.done&&(i=yield);return s}_filterLatest(e){const{trackIdField:t,startTimeField:i,endTimeField:s}=this.timeInfo,n=s||i,r=new Map,a=this.featureAdapter.getAttribute;for(const i of e.items){const e=a(i,t),s=a(i,n),o=r.get(e);(!o||s>a(o,n))&&r.set(e,i)}e.items=Array.from(r.values())}_getCacheKey(e){const{geometry:t,spatialRel:i,returnGeometry:s,returnCentroid:n,outSR:r,resultType:a,cacheHint:o}=e;if("tile"!==a&&!o)return null;const l=s||n;return(0,_.fn)(r)&&!(0,_.aI)(this.spatialReference,r)&&l?JSON.stringify([t,i,r]):JSON.stringify([t,i])}_canExecuteSinglePass(e,t){const{spatialRel:i}=t;return(0,b.tC)(e)&&("esriSpatialRelEnvelopeIntersects"===i||"esriGeometryPoint"===this.geometryType&&("esriSpatialRelIntersects"===i||"esriSpatialRelContains"===i))}async _project(e,t){if(!t||(0,_.aI)(this.spatialReference,t))return e;const i=this.featureAdapter,s=(0,d.isLoaded)()?await this._getFullExtent():void 0,r=await(0,T.lK)(e.items.map(e=>(0,v.pL)(this.geometryType,i.getGeometry(e))),this.spatialReference,t,{areaOfInterestExtent:s});return e.items=(0,n.z)(r.map((t,s)=>i.cloneWithGeometry(e.items[s],(0,x.Ux)(t,this.hasZ,this.hasM),this.geometryType))),e}async _searchFeatures(e){const t=new Set;await Promise.all(e.map(e=>this.featureStore.forEachInBounds(e,e=>t.add(e))));const i=Array.from(t.values());return t.clear(),i}async*_executeQueryForStatistics(e,t){e=(0,a.o8)(e);try{e=await(0,A.GC)(e,this.definitionExpression,this.spatialReference),yield,e=await async function(e,t,{fieldsIndex:i,geometryType:s,spatialReference:n,availableFields:a}){if(null!=e.geometryPrecision||e.multipatchOption||e.pixelSize||e.relationParam||e.text||e.outStatistics||e.groupByFieldsForStatistics||e.having||e.orderByFields)throw new r.A(z,"Unsupported query options",{query:e});return N(i,a,e),Promise.all([V(i,a,t,e),(0,b.c0)(e,s,n),(0,T.Nk)(n,e.outSR)]).then(()=>e)}(e,t,{availableFields:this.availableFields,fieldsIndex:this.fieldsIndex,geometryType:this.geometryType,spatialReference:this.spatialReference}),yield;const i=yield*this._executeSceneFilterQuery(e);yield;const s=yield*this._executeGeometryQuery(e,i);return yield,this._executeAggregateIdsQuery(s),yield,this._executeObjectIdsQuery(s),yield,this._executeTimeQuery(s),yield,this._executeAttributesQuery(s),yield,s}catch(t){if(t!==A.v8)throw t;return new w.G([],e,this)}}get test(){}}function G(e){if((0,b.tC)(e)){if((0,m.ZC)(e))return[(0,p.fA)(Math.min(e.xmin,e.xmax),Math.min(e.ymin,e.ymax),Math.max(e.xmin,e.xmax),Math.max(e.ymin,e.ymax))];if((0,m.Bi)(e))return e.rings.map(e=>(0,p.fA)(Math.min(e[0][0],e[2][0]),Math.min(e[0][1],e[2][1]),Math.max(e[0][0],e[2][0]),Math.max(e[0][1],e[2][1])))}return[(0,f.Rg)((0,p.vt)(),e)]}function k(e,t,i,s,n){const r={xmin:e[0],ymin:e[1],xmax:e[3],ymax:e[4],spatialReference:(0,v.ag)(s)};n&&isFinite(e[2])&&isFinite(e[5])&&(r.zmin=e[2],r.zmax=e[5],r.hasZ=!0);const a=(0,T.Cv)(r,t,i);if(a.spatialReference=(0,v.ag)(i),a.xmax-a.xmin===0){const e=(0,u.GA)(a.spatialReference);a.xmin-=e,a.xmax+=e}if(a.ymax-a.ymin===0){const e=(0,u.GA)(a.spatialReference);a.ymin-=e,a.ymax+=e}if(n&&null!=a.zmin&&null!=a.zmax&&a.zmax-a.zmin===0){const e=(0,u.GA)(a.spatialReference);a.zmin-=e,a.zmax+=e}return a}},99352(e,t,i){i.d(t,["F",0,{supportsStatistics:!0,supportsPercentileStatistics:!0,supportsSpatialAggregationStatistics:!0,supportedSpatialAggregationStatistics:{envelope:!0,centroid:!0,convexHull:!0},supportsStatisticsAggregatedIds:!0,supportsCentroid:!0,supportsCentroidOnDegeneratedQuantizedGeometry:!0,supportsCacheHint:!0,supportsCurrentUser:!1,supportsDegeneratedQuantizedGeometry:!1,supportsDistance:!0,supportsOutDistance:!1,supportsDistinct:!0,supportsExtent:!0,supportsGeometryProperties:!1,supportsHavingClause:!0,supportsOrderBy:!0,supportsPagination:!0,supportsPaginationOnAggregatedQueries:!1,supportsQuantization:!0,supportsQuantizationEditMode:!1,supportsQueryGeometry:!0,supportsResultType:!0,supportsReturnMesh:!1,supportsReturnExceededLimitGeometries:!1,supportsSqlExpression:!0,supportsMaxRecordCountFactor:!1,supportsStandardizedQueriesOnly:!0,supportsTopFeaturesQuery:!1,supportsQueryByAnonymous:!0,supportsQueryByOthers:!0,supportsHistoricMoment:!1,supportsFormatPBF:!1,supportsFormatPBFWithCurves:!1,supportsDisjointSpatialRelationship:!0,supportsDefaultSpatialReference:!1,supportsFullTextSearch:!1,supportsCompactGeometry:!1,maxRecordCountFactor:void 0,maxRecordCount:void 0,maxUniqueIDCount:void 0,relativeTimeBinWindow:0,standardMaxRecordCount:void 0,standardMaxRecordCountNoGeometry:void 0,tileMaxRecordCount:void 0,supportsTrueCurve:!1},"P",0,{supportsDate:!0,supportsFixedInterval:!0,supportsAutoInterval:!0,supportsFixedBoundaries:!0,supportsStackBy:!0,supportsSplitBy:!0,supportsSnapToData:!1,supportsReturnFullIntervalBin:!1,supportsFirstDayOfWeek:!1,supportsNormalization:!0,supportedStatistics:{count:!0,sum:!0,avg:!0,var:!0,stddev:!0,min:!0,max:!0,percentileContinuous:!0,percentileDiscrete:!0,envelope:!0,centroid:!0,convexHull:!0},supportedNormalizationTypes:{field:!0,log:!0,naturalLog:!0,percentOfTotal:!0,squareRoot:!0}}])},8384(e,t,i){i.d(t,{G:()=>z});var s=i(4576),n=i(4718),r=i(16930),a=i(12359),o=i(90634),l=i(62577),u=i(21325),c=i(46329),d=i(52006),h=i(88930),p=i(29441),f=i(51441),m=i(30524),y=i(1873),g=i(43668);class _{constructor(e,t,i){this._fieldDataCache=new Map,this._returnDistinctMap=new Map,this.returnDistinctValues=e.returnDistinctValues??!1,this.fieldsIndex=i,this.featureAdapter=t;const s=e.outFields;if(s&&!s.includes("*")){this.outFields=s;let e=0;for(const t of s){const s=(0,p.Wq)(t),n=this.fieldsIndex.get(s),r=n?null:(0,p.j4)(s,i),a=n?n.name:(0,p.SY)(t)||"FIELD_EXP_"+e++;this._fieldDataCache.set(t,{alias:a,clause:r})}}}countDistinctValues(e){return this.returnDistinctValues?(e.forEach(e=>this.getAttributes(e)),this._returnDistinctMap.size):e.length}getAttributes(e){const t=this._processAttributesForOutFields(e);return this._processAttributesForDistinctValues(t)}getFieldValue(e,t,i){if(i)return this.featureAdapter.getAttribute(e,i.name);const s=t;let n=null;return this._fieldDataCache.has(s)?n=this._fieldDataCache.get(s)?.clause:i||(n=(0,p.j4)(t,this.fieldsIndex),this._fieldDataCache.set(s,{alias:s,clause:n})),n?.calculateValue(e,this.featureAdapter)}getDataValues(e,t,i=!0){const s=t.normalizationType,n=t.normalizationTotal,r=this.fieldsIndex.get(t.field),a=(0,m.zD)(r)||(0,m.Ah)(r),o=(0,m.OH)(r);return e.map(e=>{let r=t.field&&this.getFieldValue(e,t.field,this.fieldsIndex.get(t.field));if(t.field2?(r=`${(0,y.gJ)(r)}${t.fieldDelimiter}${(0,y.gJ)(this.getFieldValue(e,t.field2,this.fieldsIndex.get(t.field2)))}`,t.field3&&(r=`${r}${t.fieldDelimiter}${(0,y.gJ)(this.getFieldValue(e,t.field3,this.fieldsIndex.get(t.field3)))}`)):"string"==typeof r&&i&&(a?r=r?new Date(r).getTime():null:o&&(r=r?(0,h.rb)(r):null)),s&&Number.isFinite(r)){const i="field"===s&&t.normalizationField?this.getFieldValue(e,t.normalizationField,this.fieldsIndex.get(t.normalizationField)):null;r=(0,y.zS)(r,s,i,n)}return r})}async getExpressionValues(e,t,i,s,n){const{arcadeUtils:r}=await(0,g.l)(),a=r.hasGeometryOperations(t);a&&await r.enableGeometryOperations();const o=r.createFunction(t),l=r.getViewInfo(i),u={fields:this.fieldsIndex.fields};return e.map(e=>{const t={attributes:this.featureAdapter.getAttributes(e),layer:u,geometry:a?{...(0,f.pL)(s.geometryType,this.featureAdapter.getGeometry(e)),spatialReference:i.spatialReference}:null},c=r.createExecContext(t,l,n);return r.executeFunction(o,c)})}validateItem(e,t){return this._fieldDataCache.has(t)||this._fieldDataCache.set(t,{alias:t,clause:(0,p.j4)(t,this.fieldsIndex)}),this._fieldDataCache.get(t)?.clause?.testFeature(e,this.featureAdapter)??!1}validateItems(e,t){return this._fieldDataCache.has(t)||this._fieldDataCache.set(t,{alias:t,clause:(0,p.j4)(t,this.fieldsIndex)}),this._fieldDataCache.get(t)?.clause?.testSet(e,this.featureAdapter)??!1}_processAttributesForOutFields(e){const t=this.outFields;if(!t?.length)return this.featureAdapter.getAttributes(e);const i={};for(const s of t){const{alias:t,clause:n}=this._fieldDataCache.get(s);i[t]=n?n.calculateValue(e,this.featureAdapter):this.featureAdapter.getAttribute(e,t)}return i}_processAttributesForDistinctValues(e){if(null==e||!this.returnDistinctValues)return e;const t=this.outFields,i=[];if(t)for(const s of t){const{alias:t}=this._fieldDataCache.get(s);i.push(e[t])}else for(const t in e)i.push(e[t]);const s=`${(t||["*"]).join(",")}=${i.join(",")}`;let n=this._returnDistinctMap.get(s)||0;return this._returnDistinctMap.set(s,++n),n>1?null:e}}var x=i(31464),S=i(58727);class v{constructor(e,t,i){this.objectId=e,this.target=t,this.distance=i}}class T extends v{constructor(e,t,i){super(e,t,i),this.type="vertex"}}class F extends v{constructor(e,t,i,s,n,r=!1,a=null){super(e,t,i),this.start=s,this.end=n,this.draped=r,this.curve=a,this.type="edge"}}var E=i(5834),R=i(59977),I=i(57231),w=i(11440),A=i(60909),b=(i(98623),i(92647));const M="bin";class z{constructor(e,t,i){this.items=e,this.query=t,this.geometryType=i.geometryType,this.hasZ=!!t.returnZ&&i.hasZ,this.hasM=!!t.returnM&&i.hasM,this.fieldsIndex=i.fieldsIndex,this.spatialReference=i.spatialReference,this.featureAdapter=i.featureAdapter,this.featureIdInfo=i.featureIdInfo}get size(){return this.items.length}createQueryResponseForCount(){const e=new _(this.query,this.featureAdapter,this.fieldsIndex);if(!this.query.outStatistics)return e.countDistinctValues(this.items);const{groupByFieldsForStatistics:t,having:i,outStatistics:s}=this.query,n=t?.length;if(!n)return 1;const r=new Map,a=new Map,o=new Set;for(const n of s){const{statisticType:s}=n,l="exceedslimit"!==s?n.onStatisticField:void 0;if(!a.has(l)){const i=[];for(const s of t){const t=this._getAttributeValues(e,s,this.items,r);i.push(t)}a.set(l,this._calculateUniqueValues(i,this.items,e.returnDistinctValues))}const u=a.get(l);for(const t in u){const{data:s,items:n}=u[t],r=s.join(",");i&&!e.validateItems(n,i)||o.add(r)}}return o.size}async createQueryResponse(){let e;if(e=this.query.outStatistics?this.query.outStatistics.some(e=>"exceedslimit"===e.statisticType)?this._createExceedsLimitQueryResponse():await this._createStatisticsQueryResponse(this.query,this.items):this._createFeatureQueryResponse(this.query),this.query.returnQueryGeometry){const t=this.query.geometry;(0,u.fn)(this.query.outSR)&&!(0,u.aI)(t.spatialReference,this.query.outSR)?e.queryGeometry=(0,f.ag)({spatialReference:this.query.outSR,...(0,x.Cv)(t,t.spatialReference,this.query.outSR)}):e.queryGeometry=(0,f.ag)({spatialReference:this.query.outSR,...t})}return e}createSnappingResponse(e,t,i){const s=this.featureAdapter,{point:n}=e,r="number"==typeof e.distance?e.distance:e.distance.x,a="number"==typeof e.distance?e.distance:e.distance.y;function o(e,t){const i=(e-n.x)/r,s=(t-n.y)/a;return i*i+s*s}const l={candidates:[]},u="esriGeometryPolygon"===this.geometryType,h="esriGeometryPolyline"===this.geometryType||"esriGeometryPoint"===this.geometryType,p=this._getPointCreator(t,this.spatialReference,i),f=new N(null,0),m=new N(null,0),y={x:0,y:0,z:0};for(const e of this.items){const t=s.getObjectId(e),i=s.getGeometryWithCurves?.(e);if(null!=i){_(i,t);continue}const n=s.getGeometry(e);null==n||g(n,t)}return l.candidates.sort((e,t)=>e.distance-t.distance),l;function g(t,i){const{coords:s,stride:r}=t,a=t.isPoint?O:t.lengths;if(f.coords=s,m.coords=s,e.returnEdge){let e=0;for(let t=0;t<a.length;t++){const s=a[t],c=e;for(let t=0;t<s;t++,e+=r){if(!u&&t===s-1)continue;if(f.coordsIndex=e,m.coordsIndex=t===s-1?c:e+r,!C(y,n,f,m))continue;const a=o(y.x,y.y);a<=1&&l.candidates.push(new F(i,p(y),Math.sqrt(a),p(f),p(m)))}}}if("all"===e.vertexMode){let e=0;for(let t=0;t<a.length;t++){const s=a[t],n=e,c=m;c.coordsIndex=n;for(let t=0;t<s;t++,e+=r){if(f.coordsIndex=e,u&&t===s-1&&f.x===c.x&&f.y===c.y)continue;const n=o(f.x,f.y);n<=1&&l.candidates.push(new T(i,p(f),Math.sqrt(n)))}}}else if(h&&"ends"===e.vertexMode){let e=0;const t=[];for(let i=0;i<a.length;i++){t.push(e);const s=a[i];e+=s*r,s>1&&t.push(e-r)}for(const e of t){f.coordsIndex=e;const t=o(f.x,f.y);t<=1&&l.candidates.push(new T(i,p(f),Math.sqrt(t)))}}}function _(t,i){const{candidates:s}=l,r={x:0,y:0,z:0};if(e.returnEdge){const e=[n.x,n.y],a=new N(e,0),l=new N(e,0);for(const{segments:n}of t.parts)for(const{start:t,curve:u}of n){const{curvePoint:n}=(0,c.y)(t,u,e),h=o(...n);if(h>1)continue;[r.x,r.y]=n,a.coords=t,l.coords=(0,d.yP)(u);const f=(0,d.Xq)(u)?null:(0,d.tk)(u);s.push(new F(i,p(r),Math.sqrt(h),p(a),p(l),!1,f))}}function a(e){r.x=t.vertexXY[2*e],r.y=t.vertexXY[2*e+1];const n=o(r.x,r.y);n>1||(r.z=t.vertexZ?.[e]??0,s.push(new T(i,p(r),Math.sqrt(n))))}if("all"===e.vertexMode){const{vertexCount:e}=t;for(let t=0;t<e;++t)a(t);return}if("ends"===e.vertexMode)switch(t.type){case"point":a(0);break;case"polyline":for(let e=0;e<t.partCount;++e){const i=t.partOffsets[e],s=t.partOffsets[e+1]-1;a(i),s!==i&&a(s)}}}}_getPointCreator(e,t,i){const s=null==i||(0,u.aI)(t,i)?e=>e:e=>(0,x.Cv)(e,t,i),{hasZ:n}=this;return n&&e?({x:e,y:t,z:i})=>s({x:e,y:t,z:i}):({x:e,y:t})=>s({x:e,y:t,z:0})}async createSummaryStatisticsResponse(e){const{field:t,valueExpression:i,normalizationField:s,normalizationType:n,normalizationTotal:r,minValue:a,maxValue:o,scale:l,timeZone:u,outStatisticTypes:c}=e,d=this.fieldsIndex.get(t),h=(0,m.vE)(d)||(0,m.zD)(d)||(0,m.Ah)(d),p=await this._getDataValues({field:t,valueExpression:i,normalizationField:s,normalizationType:n,normalizationTotal:r,scale:l,timeZone:u},this.items),f=(0,y.Vb)({normalizationType:n,normalizationField:s,minValue:a,maxValue:o}),g={value:.5,fieldType:d?.type},_=(0,m.yM)(d)?(0,y.z9)({values:p,supportsNullCount:f,percentileParams:g,outStatisticTypes:c}):(0,y.G_)({values:p,minValue:a,maxValue:o,useSampleStdDev:!n,supportsNullCount:f,percentileParams:g,outStatisticTypes:c});return(0,y.oZ)(_,c,h)}async createUniqueValuesResponse(e){const{field:t,valueExpression:i,domains:s,returnAllCodedValues:n,scale:r,timeZone:a}=e,o=await this._getDataValues({field:t,field2:e.field2,field3:e.field3,fieldDelimiter:e.fieldDelimiter,valueExpression:i,scale:r,timeZone:a},this.items,!1),l=(0,y.b3)(o);return(0,y.lv)(l,s,n,e.fieldDelimiter)}async createClassBreaksResponse(e){const{field:t,valueExpression:i,normalizationField:s,normalizationType:n,normalizationTotal:r,classificationMethod:a,standardDeviationInterval:o,minValue:l,maxValue:u,numClasses:c,scale:d,timeZone:h}=e,p=await this._getDataValues({field:t,valueExpression:i,normalizationField:s,normalizationType:n,normalizationTotal:r,scale:d,timeZone:h},this.items),f=(0,y.Rw)(p,{field:t,normalizationField:s,normalizationType:n,normalizationTotal:r,classificationMethod:a,standardDeviationInterval:o,minValue:l,maxValue:u,numClasses:c});return(0,y.jM)(f,a)}async createHistogramResponse(e){const{field:t,valueExpression:i,normalizationField:s,normalizationType:n,normalizationTotal:r,classificationMethod:a,standardDeviationInterval:o,minValue:l,maxValue:u,numBins:c,scale:d,timeZone:h}=e,p=await this._getDataValues({field:t,valueExpression:i,normalizationField:s,normalizationType:n,normalizationTotal:r,scale:d,timeZone:h},this.items);return(0,y.$y)(p,{field:t,normalizationField:s,normalizationType:n,normalizationTotal:r,classificationMethod:a,standardDeviationInterval:o,minValue:l,maxValue:u,numBins:c})}_sortFeatures(e,t,i){if(e.length>1&&t?.length)for(const s of t.slice().reverse()){const{compare:t,fieldOrExpression:n,fieldInfo:r}=V(s,this.fieldsIndex);e.sort((e,s)=>t(i(e,n,r),i(s,n,r)))}}_topNFeatures(e,t,i,n){if(e.length>1&&t?.length){const r=t.map(e=>{const{compare:t,fieldOrExpression:i,fieldInfo:s}=V(e,this.fieldsIndex);return(e,r)=>t(n(e,i,s),n(r,i,s))}).reduceRight((e,t)=>(i,s)=>{const n=t(i,s);return 0===n||Number.isNaN(n)?e(i,s):n}),a=[];for(const t of e)(0,s.HX)(a,t,i,r);return a}return e.slice(0,i)}_createFeatureQueryResponse(e){const{items:t,geometryType:i,hasM:s,hasZ:n,featureIdInfo:r,spatialReference:a}=this,{outFields:o,outSR:u,quantizationParameters:c,resultRecordCount:d,resultOffset:h,returnZ:p,returnM:m}=e,y=null!=d&&t.length>(h||0)+d,g=o&&(o.includes("*")?[...this.fieldsIndex.fields]:o.map(e=>this.fieldsIndex.get(e)));return{exceededTransferLimit:y,features:this._createFeatures(e,t),fields:g,geometryType:i,hasM:s&&m,hasZ:n&&p,objectIdFieldName:"object-id"===r.type?r.fieldName:null,spatialReference:(0,f.ag)(u||a),transform:c&&(0,l.VV)(c)||null}}_createFeatures(e,t){const i=new _(e,this.featureAdapter,this.fieldsIndex),{hasM:s,hasZ:n}=this,{orderByFields:r,quantizationParameters:a,returnGeometry:o,returnCentroid:u,maxAllowableOffset:c,resultOffset:d,resultRecordCount:h,returnZ:p=!1,returnM:m=!1}=e,y=n&&p,g=s&&m;let x;const S=d||0,v=null!=h?S+h:null;null!=v&&v<=5e3&&v<t.length?x=this._topNFeatures(t,r,v,(e,t,s)=>i.getFieldValue(e,t,s)):(x=[...t],this._sortFeatures(x,r,(e,t,s)=>i.getFieldValue(e,t,s))),(S>0||null!=v)&&(x=x.slice(S,v??void 0));const T=[];let F=0;if(this.geometryType&&(o||u)){const e=(0,l.VV)(a)??void 0,t="esriGeometryPolygon"===this.geometryType||"esriGeometryPolyline"===this.geometryType;if(o&&!u)for(const s of x){const n=this.featureAdapter.getGeometry(s),r=this._addFeatureJSONMetadata(s,{attributes:i.getAttributes(s),geometry:(0,f.pL)(this.geometryType,n,c,e,y,g)});t&&n&&!r.geometry&&(r.centroid=(0,f.LQ)(this,this.featureAdapter.getCentroid(s,this),e)),T[F++]=r}else if(!o&&u)for(const t of x)T[F++]=this._addFeatureJSONMetadata(t,{attributes:i.getAttributes(t),centroid:(0,f.LQ)(this,this.featureAdapter.getCentroid(t,this),e)});else for(const t of x)T[F++]=this._addFeatureJSONMetadata(t,{attributes:i.getAttributes(t),centroid:(0,f.LQ)(this,this.featureAdapter.getCentroid(t,this),e),geometry:(0,f.pL)(this.geometryType,this.featureAdapter.getGeometry(t),c,e,y,g)})}else for(const e of x){const t=i.getAttributes(e);t&&(T[F++]=this._addFeatureJSONMetadata(e,{attributes:t}))}return T}_addFeatureJSONMetadata(e,t){const i=this.featureAdapter.getMetadata?.(e);return void 0!==i&&(t.metadata=i),t}_createExceedsLimitQueryResponse(){let e=!1,t=Number.POSITIVE_INFINITY,i=Number.POSITIVE_INFINITY,s=Number.POSITIVE_INFINITY;for(const e of this.query.outStatistics??[])if("exceedslimit"===e.statisticType){t=null!=e.maxPointCount?e.maxPointCount:Number.POSITIVE_INFINITY,i=null!=e.maxRecordCount?e.maxRecordCount:Number.POSITIVE_INFINITY,s=null!=e.maxVertexCount?e.maxVertexCount:Number.POSITIVE_INFINITY;break}return e="esriGeometryPoint"===this.geometryType?this.items.length>t:this.items.length>i||this.items.reduce((e,t)=>{const i=this.featureAdapter.getGeometry(t);return e+(i?.size??0)},0)>s,{fields:[{name:"exceedslimit",type:"esriFieldTypeInteger",alias:"exceedslimit",sqlType:"sqlTypeInteger",domain:null,defaultValue:null}],features:[{attributes:{exceedslimit:Number(e)}}]}}async _createStatisticsQueryResponse(e,t,i={attributes:{}}){const s=[],n=new Map,r=new Map,a=new Map,o=new Map,l=new _(e,this.featureAdapter,this.fieldsIndex),u=e.outStatistics,{groupByFieldsForStatistics:c,having:d,orderByFields:h,resultRecordCount:p}=e,f=c?.length,y=!!f,g=y?c[0]:null,x=y&&!this.fieldsIndex.get(g);for(const h of u??[]){const{outStatisticFieldName:u,statisticType:p}=h,_=h,S="exceedslimit"!==p?h.onStatisticField:void 0,v="percentile_disc"===p||"percentile_cont"===p,T="EnvelopeAggregate"===p||"CentroidAggregate"===p||"ConvexHullAggregate"===p,F=y&&1===f&&(S===g||x)&&"count"===p;if(y){if(!a.has(S)){const e=[];for(const i of c){const s=this._getAttributeValues(l,i,t,n);e.push(s)}a.set(S,this._calculateUniqueValues(e,t,!T&&l.returnDistinctValues))}const i=a.get(S);if(!i)continue;const s=Object.keys(i);for(const r of s){const{count:s,data:a,items:h,itemPositions:p}=i[r],f=a.join(",");if(!d||l.validateItems(h,d)){const i=o.get(f)||{attributes:{}};if(e.returnAggIds&&(i.aggregateIds=h.map(e=>this.featureAdapter.getObjectId(e)).filter(e=>null!=e)),T){i.aggregateGeometries||(i.aggregateGeometries={});const{aggregateGeometries:e,outStatisticFieldName:t}=await this._getAggregateGeometry(_,h);i.aggregateGeometries[t]=e}else{let e=null;if(F)e=s;else{const i=this._getAttributeValues(l,S,t,n),s=p.map(e=>i[e]);e=v&&"statisticParameters"in _?this._getPercentileValue(_,s):this._getStatisticValue(_,s,null,l.returnDistinctValues)}i.attributes[u]=e}let r=0;c.forEach((e,t)=>i.attributes[this.fieldsIndex.get(e)?e:"EXPR_"+ ++r]=a[t]),o.set(f,i)}}}else if(T){i.aggregateGeometries||(i.aggregateGeometries={});const{aggregateGeometries:e,outStatisticFieldName:s}=await this._getAggregateGeometry(_,t);i.aggregateGeometries[s]=e}else{const e=this._getAttributeValues(l,S,t,n);i.attributes[u]=v&&"statisticParameters"in _?this._getPercentileValue(_,e):this._getStatisticValue(_,e,r,l.returnDistinctValues)}const E="min"!==p&&"max"!==p||!(0,m.yM)(this.fieldsIndex.get(S))&&!this._isAnyDateField(S)?null:this.fieldsIndex.get(S)?.type;s.push({name:u,alias:u,type:E||"esriFieldTypeDouble"})}const S=y?Array.from(o.values()):[i];return this._sortFeatures(S,h,(e,t)=>e.attributes[t]),p&&(S.length=Math.min(p,S.length)),{fields:s,features:S}}_isAnyDateField(e){const t=this.fieldsIndex.get(e);return(0,m.vE)(t)||(0,m.zD)(t)||(0,m.Ah)(t)||(0,m.OH)(t)}async _getAggregateGeometry(e,t){const{convexHull:s,union:n}=await i.e(1023).then(i.bind(i,81023)),{statisticType:r,outStatisticFieldName:l}=e,{featureAdapter:u,spatialReference:c,geometryType:d}=this,h=t.map(e=>(0,f.pL)(d,u.getGeometry(e))),p=s(c,h,!0)[0],m={aggregateGeometries:null,outStatisticFieldName:null};if("EnvelopeAggregate"===r){const e=p?(0,o.v)(p):(0,o.HA)(n(c,h));m.aggregateGeometries={...e,spatialReference:c},m.outStatisticFieldName=l||"extent"}else if("CentroidAggregate"===r){const e=p?(0,a.l8)(p):(0,a.Z4)((0,o.HA)(n(c,h)));m.aggregateGeometries={x:e[0],y:e[1],spatialReference:c},m.outStatisticFieldName=l||"centroid"}else"ConvexHullAggregate"===r&&(m.aggregateGeometries=p,m.outStatisticFieldName=l||"convexHull");return m}_getStatisticValue(e,t,i,s){const{onStatisticField:n,statisticType:r}=e;let a=null;return a=i?.has(n)?i.get(n):(0,m.yM)(this.fieldsIndex.get(n))||this._isAnyDateField(n)?(0,y.z9)({values:t,returnDistinct:s}):(0,y.G_)({values:s?[...new Set(t)]:t,minValue:null,maxValue:null,useSampleStdDev:!0}),i&&i.set(n,a),a["var"===r?"variance":r]}_getPercentileValue(e,t){const{onStatisticField:i,statisticParameters:s,statisticType:n}=e,{value:r,orderBy:a}=s,o=this.fieldsIndex.get(i);return(0,y.qg)(t,{value:r,orderBy:a,fieldType:o?.type,isDiscrete:"percentile_disc"===n})}_getAttributeValues(e,t,i,s){if(s.has(t))return s.get(t);const n=this.fieldsIndex.get(t),r=i.map(i=>e.getFieldValue(i,t,n));return s.set(t,r),r}_calculateUniqueValues(e,t,i){const s={},n=t.length;for(let r=0;r<n;r++){const n=t[r],a=[];for(const t of e)a.push(t[r]);const o=a.join(",");null==s[o]?s[o]={count:1,data:a,items:[n],itemPositions:[r]}:(i||s[o].count++,s[o].items.push(n),s[o].itemPositions.push(r))}return s}async _getDataValues(e,t,i=!0){const s=new _(this.query,this.featureAdapter,this.fieldsIndex),{valueExpression:a,scale:o,timeZone:l}=e,u=r.A.fromJSON(this.query.outSR||this.spatialReference);return a?s.getExpressionValues(t,a,{viewingMode:"map",scale:o,spatialReference:u},{geometryType:this.geometryType,hasZ:this.hasZ,hasM:this.hasM},l):s.getDataValues(t,(0,n.o8)(e),i)}_calculateHistogramBins(e,t,i){if(null==t.min&&null==t.max)return[];const s=t.intervals,n=t.min??0,r=t.max??0,a=s.map(([e,t])=>({minValue:e,maxValue:t,count:0,items:[]}));for(let t=0;t<e.length;t++){const o=e[t],l=i[t];if(null!=o&&o>=n&&o<=r){const e=(0,y.Ak)(s,o);e>-1&&(a[e].count++,a[e].items.push(l))}}return a}async createQueryBinsResponse(e){const t=e.bin?.splitBy;if(!t)return this._createBinsResponse(e);const{value:i,outAlias:s,valueType:n}=t,r=[],a=[{name:s??i,alias:s??i,type:n??"esriFieldTypeString"},{name:M,alias:M,type:"esriFieldTypeInteger"}],o=new _(e,this.featureAdapter,this.fieldsIndex),l=new Map,u=[...this.items];this._sortFeatures(u,[i],(e,t,i)=>o.getFieldValue(e,t,i));const c=this._getAttributeValues(o,i,u,l),d=this._calculateUniqueValues([c],u,o.returnDistinctValues);for(const t in d){const{items:n}=d[t],o=await this._createBinsResponse(e,n);if(r.push(...o.features.map(e=>({...e,attributes:{...e.attributes,[s??i]:t}}))),o.fields)for(const e of o.fields)a.some(t=>t.name===e.name)||a.push(e)}return{fields:a,features:r}}async _createBinsResponse(e,t){const i=e.bin;switch(t=t??this.items,i.type){case"autoIntervalBin":return this._createAutoIntervalBinsResponse(E.A.fromJSON(i),e,t);case"dateBin":return this._createDateBinsResponse(R.A.fromJSON(i),e,t);case"fixedBoundariesBin":return this._createFixedBoundariesBinsResponse(w.A.fromJSON(i),e,t);case"fixedIntervalBin":return this._createFixedIntervalBinsResponse(A.A.fromJSON(i),e,t)}}async _createAutoIntervalBinsResponse(e,t,i){const{field:s,normalizationField:n,numBins:r,normalizationType:a,normalizationTotal:o,start:l,end:u}=e,c=await this._getDataValues({field:e.field||e.expression,normalizationField:e.normalizationField,normalizationType:e.normalizationType,normalizationTotal:e.normalizationTotal,timeZone:t.outTimeReference?.ianaTimeZone},i),d=(0,y.sU)(c,{field:s,normalizationField:n,normalizationType:a,normalizationTotal:o,numBins:r,minValue:(0,S.dO)(a?e.normalizationMinValue:l,!1),maxValue:(0,S.dO)(a?e.normalizationMaxValue:u,!1)}),h=this._calculateHistogramBins(c,d,i);return this._createFeaturesFromHistogramBins(h,t)}async _createDateBinsResponse(e,t,i){const{field:s,interval:n,start:r,end:a,snapToData:o,returnFullIntervalBin:l,offset:u,firstDayOfWeek:c}=e,d=n.unit,h=await this._getDataValues({field:s||e.expression,timeZone:t.outTimeReference?.ianaTimeZone},i),p=(0,m.OH)(this.fieldsIndex.get(s)),f=I.g.toJSON(d),y=h.filter(Boolean).sort((e,t)=>e-t),g=null!=r?(0,S.dO)(r,p):y[0],_=null!=a?(0,S.dO)(a,p):y[y.length-1],x=[];if(null!=g&&null!=_){const e={zone:t.outTimeReference?.ianaTimeZone??"UTC"},i=u?.unit?I.g.toJSON(u.unit):"milliseconds",s={[i]:u?.value||0},r=b.c9.fromMillis(g,e).minus(s),a=b.c9.fromMillis(_,e).minus(s),d="number"==typeof c&&c>=1&&c<=7?c:7,h=(e,t)=>{const i=(e.weekday-t+7)%7;return e.minus({days:i}).startOf("day")};if("last"===o){let e="week"===f?((e,t)=>h(e,t).plus({days:7}))(a,d):a;for(;e>r;){const t=e.minus({[f]:n.value});if(t<r){x.unshift([l?t.plus(s).toMillis():r.plus(s).toMillis(),e.plus(s).toMillis()]);break}x.unshift([t.plus(s).toMillis(),e.plus(s).toMillis()]),e=t}}else{let e="first"===o?r:"week"===f?h(r,d):r.startOf(f);for(;e<=a;){const t=e.plus({[f]:n.value});if(t>a){x.push([e.plus(s).toMillis(),l?t.plus(s).toMillis():a.plus(s).toMillis()]);break}x.push([e.plus(s).toMillis(),t.plus(s).toMillis()]),e=t}}}const v=this._calculateHistogramBins(h,{intervals:x,min:g,max:_},i);return this._createFeaturesFromHistogramBins(v,t)}async _createFixedBoundariesBinsResponse(e,t,i){const{field:s}=e,n=await this._getDataValues({field:s||e.expression,timeZone:t.outTimeReference?.ianaTimeZone},i),r=(0,m.OH)(this.fieldsIndex.get(s)),a=e.boundaries.map(e=>(0,S.dO)(e,r)).sort((e,t)=>e-t),o=[];for(let e=0;e<a.length-1;e++)o.push([a[e],a[e+1]]);const l={intervals:o,min:a.at(0),max:a.at(-1)},u=this._calculateHistogramBins(n,l,i);return this._createFeaturesFromHistogramBins(u,t)}async _createFixedIntervalBinsResponse(e,t,i){const{field:s,interval:n,normalizationType:r,start:a,end:o}=e,l=await this._getDataValues({field:s||e.expression,normalizationField:e.normalizationField,normalizationType:r,normalizationTotal:e.normalizationTotal,timeZone:t.outTimeReference?.ianaTimeZone},i),u=(0,m.OH)(this.fieldsIndex.get(s)),c=(0,y.sU)(l,{field:s,classificationMethod:"defined-interval",definedInterval:n,minValue:(0,S.dO)(r?e.normalizationMinValue:a,u),maxValue:(0,S.dO)(r?e.normalizationMaxValue:o,u)},!0),d=this._calculateHistogramBins(l,c,i);return this._createFeaturesFromHistogramBins(d,t)}async _createFeaturesFromHistogramBins(e,t){const{upperBoundaryAlias:i,lowerBoundaryAlias:s}=t,n=s||"lowerBoundary",r=i||"upperBoundary",a=[],o=[{name:n,alias:n,type:"esriFieldTypeDouble"},{name:r,alias:r,type:"esriFieldTypeDouble"}],l=t.bin?.stackBy?.value,u=t.bin?.stackBy?.outAlias;l&&o.push({name:M,alias:M,type:"esriFieldTypeInteger"},{name:u??l,alias:u??l,type:"esriFieldTypeString"});let c=0;const d="dateBin"===t.bin.type,h=t.outTimeReference?.ianaTimeZone;for(const i of e){const{minValue:e,maxValue:s,items:p}=i,f={attributes:{}};let m;if(f.attributes[n]=d&&h&&null!=e?b.c9.fromMillis(e,{zone:h}).toISO():e,t.bin.hideUpperBound||(f.attributes[r]=d&&h&&null!=s?b.c9.fromMillis(s,{zone:h}).toISO():s),t.returnAggIds&&(f.aggregateIds=p.map(e=>this.featureAdapter.getObjectId(e)).filter(e=>null!=e)),l?(m=await this._createStatisticsQueryResponse({...t,groupByFieldsForStatistics:[l],orderByFields:[l]},p),f.attributes[M]=++c,"flat"===t.bin.jsonStyle?a.push(...m.features.map(({attributes:{EXPR_1:e,...t},...i})=>({...i,attributes:u??e?{...t,[u??e]:e,...f.attributes}:{...t,...f.attributes}}))):(f.stackedAttributes=m.features.map(({attributes:{EXPR_1:e,...t}})=>u??e?{...t,[u??e]:e}:t),a.push(f))):(t.bin?.splitBy&&(f.attributes[M]=++c),m=await this._createStatisticsQueryResponse(t,p,f),a.push(f)),m.fields)for(const e of m.fields)o.some(t=>t.name===e.name)||o.push(e)}return"desc"===t.binOrder&&a.reverse(),{fields:o,features:a}}}function C(e,t,i,s){const n=s.x-i.x,r=s.y-i.y,a=t.x-i.x,o=t.y-i.y,l=n*n+r*r;if(0===l)return!1;const u=a*n+o*r,c=Math.min(1,Math.max(0,u/l));return e.x=i.x+n*c,e.y=i.y+r*c,!0}class N{constructor(e,t){this.coords=e,this.coordsIndex=t}get x(){return this.coords[this.coordsIndex]}get y(){return this.coords[this.coordsIndex+1]}get z(){return this.coords[this.coordsIndex+2]}}const O=[1];function V(e,t){const i=e.split(" "),s=i[0],n=t.get(s),r=!!i[1]&&"desc"===i[1].toLowerCase();return{compare:(0,y.FM)(n?.type,r,"case-insensitive"),fieldOrExpression:s,fieldInfo:n}}},29441(e,t,i){i.d(t,{MG:()=>x,SN:()=>p,SY:()=>g,Wq:()=>y,_d:()=>T,eD:()=>f,g9:()=>_,j4:()=>m});var s=i(49186),n=i(44123),r=i(98453);const a=new n.WhereClauseCache(50,500),o="unsupported-query",l=" as ",u=new Set(["esriFieldTypeOID","esriFieldTypeSmallInteger","esriFieldTypeBigInteger","esriFieldTypeInteger","esriFieldTypeSingle","esriFieldTypeDouble","esriFieldTypeLong"]),c=new Set(["esriFieldTypeDate","esriFieldTypeDateOnly","esriFieldTypeTimeOnly","esriFieldTypeTimestampOffset"]),d=new Set(["esriFieldTypeString","esriFieldTypeGUID","esriFieldTypeGlobalID",...u,...c]);function h(e,t,i={}){const n=m(t,e);if(!n){const i=a.getError(t,e);throw new s.A(o,"invalid SQL expression",{expression:t,error:i})}const r=i.expressionName||"expression";if(i.validateStandardized&&!n.isStandardized)throw new s.A(o,`${r} is not standard`,{expression:t});if(i.validateAggregate&&!n.isAggregate)throw new s.A(o,`${r} does not contain a valid aggregate function`,{expression:t});return n.fieldNames}function p(e,t,i,s){if(!i)return!0;const n="where clause";return x(e,t,h(e,i,{validateStandardized:!0,expressionName:n}),{expressionName:n,query:s}),!0}function f(e,t,i,n,r){if(!i)return!0;const a="having clause",l=h(e,i,{validateAggregate:!0,expressionName:a});x(e,t,l,{expressionName:a,query:r});const u=m(i,e),c=u?.getExpressions().every(t=>{const{aggregateType:i,field:s}=t,r=e.get(s)?.name;return n.some(t=>{const{onStatisticField:s,statisticType:n}=t,a=e.get(s)?.name;return a===r&&n.toLowerCase().trim()===i})});if(!c)throw new s.A(o,"expressions in having clause should also exist in outStatistics",{having:i});return!0}function m(e,t){return e?a.get(e,t):null}function y(e){return/\((.*?)\)/.test(e)?e:e.split(l)[0]}function g(e){return e.split(l)[1]}function _(e,t,i){if(!T(t))return[];const s=new Set,n=t=>{if(t&&"*"!==t)for(const i of S(e,t))s.add(i)};for(const e of t)n(e.onStatisticField);for(const e of i??[])n(e);return Array.from(s)}function x(e,t,i,n={}){const r=new Map;if(function(e,t,i,s,n){const r=n.includes("*")?[...i,...n.filter(e=>"*"!==e)]:n;for(const n of r)if(t.get(n))v(e,t,i,s,n);else try{for(const r of S(t,n))v(e,t,i,s,r)}catch(t){e.set(n,{type:"expression-error",expression:n,error:t})}}(r,e,t,n.allowedFieldTypes??d,i),r.size){const e=n.expressionName??"expression";throw new s.A(o,`${e} contains invalid or missing fields`,{errors:Array.from(r.values()),query:n.query})}}function S(e,t){const i=e.get(t);return i?[i.name]:h(e,y(t),{validateStandardized:!0})}function v(e,t,i,s,n){const a=t.get(n);a?i.has(a.name)?"all"!==s&&!1===s?.has(a.type)&&e.set(n,{type:"invalid-type",fieldName:a.name,fieldType:r.m.fromJSON(a.type),allowedFieldTypes:Array.from(s,e=>r.m.fromJSON(e))}):e.set(n,{type:"missing-field",fieldName:a.name}):e.set(n,{type:"invalid-field",fieldName:n})}function T(e){return null!=e&&e.every(e=>"exceedslimit"!==e.statisticType)}i.d(t,["VW",0,c,"vl",0,u])},51441(e,t,i){i.d(t,{LQ:()=>n,ag:()=>a,pL:()=>r});var s=i(90708);function n(e,t,i,n=e.hasZ,r=e.hasM){if(null==t)return null;const a=e.hasZ&&n,o=e.hasM&&r;if(i){const e=(0,s.Nl)(t,"esriGeometryPoint",i,n,r);return(0,s.DF)(e,a,o)}return(0,s.DF)(t,a,o)}function r(e,t,i,n,r,a){if(null==t)return null;const o="coords"in t?t:t.geometry;if(null==o)return null;const{hasZ:l,hasM:u}=o,c=l&&(r??=l),d=u&&(a??=u);if(i){let t=(0,s.kz)(o,e,i,r,a);return n&&(t=(0,s.Nl)(t,e,n)),(0,s.zv)(t,e,c,d)}if(n){const t=(0,s.Nl)(o,e,n,r,a);return(0,s.zv)(t,e,c,d)}return(0,s.zv)(o,e,c,d)}function a(e){return e&&o in e?JSON.parse(JSON.stringify(e,l)):e}const o="_geVersion",l=(e,t)=>e===o?void 0:t},31464(e,t,i){i.d(t,{Cv:()=>f,Nk:()=>d,lK:()=>y});var s=i(4576),n=i(91218),r=i(21325),a=i(28735);const o=[0,0];function l(e,t){if(!t)return null;if("x"in t){const i={x:0,y:0};return[i.x,i.y]=e(t.x,t.y,o),null!=t.z&&(i.z=t.z),null!=t.m&&(i.m=t.m),i}if("xmin"in t){const i={xmin:0,ymin:0,xmax:0,ymax:0};return[i.xmin,i.ymin]=e(t.xmin,t.ymin,o),[i.xmax,i.ymax]=e(t.xmax,t.ymax,o),t.hasZ&&(i.zmin=t.zmin,i.zmax=t.zmax,i.hasZ=!0),t.hasM&&(i.mmin=t.mmin,i.mmax=t.mmax,i.hasM=!0),i}return"rings"in t?{rings:u(t.rings,e),hasM:t.hasM,hasZ:t.hasZ}:"paths"in t?{paths:u(t.paths,e),hasM:t.hasM,hasZ:t.hasZ}:"points"in t?{points:c(t.points,e),hasM:t.hasM,hasZ:t.hasZ}:null}function u(e,t){const i=[];for(const s of e)i.push(c(s,t));return i}function c(e,t){const i=[];for(const s of e){const e=t(s[0],s[1],[0,0]);i.push(e),s.length>2&&e.push(s[2]),s.length>3&&e.push(s[3])}return i}async function d(e,t){if(!e||!t)return;const i=Array.isArray(e)?e.map(e=>null!=e.geometry?e.geometry.spatialReference:null).filter(s.Ru):[e];await(0,n.initializeProjection)(i.map(e=>({source:e,dest:t})))}const h=l.bind(null,a.je),p=l.bind(null,a.tD);function f(e,t,i,s){if(!e)return null;if(i||(i=t,t=e.spatialReference),!(0,r.fn)(t)||!(0,r.fn)(i)||(0,r.aI)(t,i))return e;if((0,a.y7)(t,i)){const t=(0,r.K8)(i)?h(e):p(e);return t.spatialReference=i,t}return(0,n.projectMany)([e],t,i,s)[0]}const m=new class{constructor(){this._jobs=[],this._timer=null,this._process=this._process.bind(this)}async push(e,t,i,s){if(!e?.length||!t||!i||(0,r.aI)(t,i))return e;const n={geometries:e,inSpatialReference:t,outSpatialReference:i,options:s,resolve:Promise.withResolvers()};return this._jobs.push(n),this._timer??=setTimeout(this._process,10),n.resolve.promise}_process(){this._timer=null;const e=this._jobs.shift();if(!e)return;const{geometries:t,inSpatialReference:i,outSpatialReference:s,resolve:o,options:l}=e,u=t.filter(e=>null!=e);let c;c=(0,a.y7)(i,s)&&null==l?.extendedParams?(0,r.K8)(s)?u.map(h):u.map(p):(0,n.projectMany)(u,i,s,l);let d=0;const f=t.map(e=>null==e?null:c[d++]);o.resolve(f),this._jobs.length>0&&(this._timer=setTimeout(this._process,10))}};function y(e,t,i,s){return m.push(e,t,i,s)}},58727(e,t,i){i.d(t,{GC:()=>y,T2:()=>g,dO:()=>x,iJ:()=>m});var s=i(49186),n=i(66552),r=i(86211),a=i(91218),o=i(90634),l=i(60408),u=i(65864),c=i(17136),d=i(21325),h=i(31464);const p=new n.J({esriSRUnit_Meter:"meters",esriSRUnit_Kilometer:"kilometers",esriSRUnit_Foot:"feet",esriSRUnit_StatuteMile:"miles",esriSRUnit_NauticalMile:"nautical-miles",esriSRUnit_USNauticalMile:"us-nautical-miles"}),f=Object.freeze({});async function m(e,t,i){const s=e.bin;return s.onField&&(s.onField=s.onField.trim()),s.onExpression?.value&&(s.onExpression.value=s.onExpression.value.trim()),s.splitBy&&(s.splitBy.value&&(s.splitBy.value=s.splitBy.value.trim()),s.splitBy.outAlias&&(s.splitBy.outAlias=s.splitBy.outAlias.trim())),s.stackBy&&(s.stackBy.value&&(s.stackBy.value=s.stackBy.value.trim()),s.stackBy.outAlias&&(s.stackBy.outAlias=s.stackBy.outAlias.trim())),"normalizationField"in s.parameters&&s.parameters.normalizationField&&(s.parameters.normalizationField=s.parameters.normalizationField.trim()),e.outStatistics?.length||(e.outStatistics=[{statisticType:"count",onStatisticField:"1",outStatisticFieldName:"frequency"}]),y(e,t,i)}async function y(e,t,i){const{outFields:s,orderByFields:n,groupByFieldsForStatistics:r,outStatistics:a}=e;if(s)for(let e=0;e<s.length;e++)s[e]=s[e].trim();if(n)for(let e=0;e<n.length;e++)n[e]=n[e].trim();if(r)for(let e=0;e<r.length;e++)r[e]=r[e].trim();if(a)for(let e=0;e<a.length;e++)a[e].onStatisticField&&(a[e].onStatisticField=a[e].onStatisticField.trim());return e.geometry&&!e.outSR&&(e.outSR=e.geometry.spatialReference),g(e,t,i)}async function g(e,t,n){if(!e)return null;let{where:a}=e;if(e.where=a=a?.trim(),(!a||/^1 *= *1$/.test(a)||t&&t===a)&&(e.where=null),!e.geometry)return e;let m=await async function(e){const{distance:t,units:n}=e,a=e.geometry;if(!t||"vertexAttributes"in a)return a;const o=a.spatialReference,u=n?p.fromJSON(n):(0,r.Ij)(o),c=o&&((0,d.EA)(o)||(0,d.K8)(o))?a:await(0,h.Nk)(o,d.KK).then(()=>(0,h.Cv)(a,d.KK)),f=await i.e(9159).then(i.bind(i,49159));await f.load();const m=f.execute(c,t||1,{unit:u})??void 0;if(!m||!(0,l.Bi)(m)||0===m.rings.length)throw new s.A("unsupported-query:invalid-parameters","Invalid parameters for query by distance");return m}(e);if(e.distance=0,e.units=null,"esriSpatialRelEnvelopeIntersects"===e.spatialRel){const{spatialReference:t}=e.geometry;m=(0,o.HA)(m),m.spatialReference=t}if(m){await(0,h.Nk)(m.spatialReference,n),m=function(e,t){const i=e.spatialReference;return _(e,t)&&(0,l.ZC)(e)?{spatialReference:i,rings:[[[e.xmin,e.ymin],[e.xmin,e.ymax],[e.xmax,e.ymax],[e.xmax,e.ymin],[e.xmin,e.ymin]]]}:e}(m,n);const t=(await(0,c.el)((0,u.rS)(m)))[0];if(null==t)throw f;const i="quantizationParameters"in e&&e.quantizationParameters?.tolerance||"maxAllowableOffset"in e&&e.maxAllowableOffset||0,s=i&&_(m,n)?{extendedParams:{densificationStep:8*i}}:void 0,r=t.toJSON(),a=(0,h.Cv)(r,r.spatialReference,n,s);if(!a)throw f;a.spatialReference=n,e.geometry=a}return e}function _(e,t){if(!e)return!1;const i=e.spatialReference;return((0,l.ZC)(e)||(0,l.Bi)(e)||(0,l.Rg)(e))&&!(0,d.aI)(i,t)&&!(0,a.canProjectWithoutEngine)(i,t)}function x(e,t){return null==e?null:"string"==typeof e?t?new Date(`1970-01-01T${e}Z`).getTime():new Date(e).getTime():e instanceof Date?e.getTime():e}i.d(t,["VY",0,p,"v8",0,f])},62660(e,t,i){i.d(t,{tC:()=>T,c0:()=>v,xt:()=>S});var s=i(49186),n=i(94078),r=i(12176),a=i(60408),o=i(21325);function l(e,t){return c(e,t.coords[0],t.coords[1])}function u(e,t){const{coords:i,lengths:s,stride:n}=t;if(!s)return!1;for(let t=0,r=0;t<s.length;t++,r+=n)if(!c(e,i[r],i[r+1]))return!1;return!0}function c(e,t,i){if(!e)return!1;const{coords:s,lengths:n,stride:r}=e;let a=!1,o=0;for(const e of n)a=d(a,s,r,o,e,t,i),o+=e*r;return a}function d(e,t,i,s,n,r,a){let o=e,l=s;for(let e=s,u=s+n*i;e<u;e+=i){l=e+i,l===u&&(l=s);const n=t[e],c=t[e+1],d=t[l],h=t[l+1];(c<a&&h>=a||h<a&&c>=a)&&n+(a-c)/(h-c)*(d-n)<r&&(o=!o)}return o}var h=i(90708),p=i(51441),f=i(31464);const m="unsupported-query",y={esriSpatialRelIntersects:!0,esriSpatialRelContains:!0,esriSpatialRelWithin:!0,esriSpatialRelCrosses:!0,esriSpatialRelDisjoint:!0,esriSpatialRelTouches:!0,esriSpatialRelOverlaps:!0,esriSpatialRelEnvelopeIntersects:!0,esriSpatialRelIndexIntersects:!1,esriSpatialRelRelation:!1},g={esriGeometryPoint:!0,esriGeometryMultiPatch:!1,esriGeometryMultipoint:!0,esriGeometryPolyline:!0,esriGeometryPolygon:!0,esriGeometryEnvelope:!0},_={esriGeometryPoint:!0,esriGeometryMultiPatch:!0,esriGeometryMultipoint:!0,esriGeometryPolyline:!0,esriGeometryPolygon:!0,esriGeometryEnvelope:!1},x={esriSpatialRelIntersects:()=>Promise.all([i.e(9187),i.e(8885),i.e(5756),i.e(3299),i.e(8414)]).then(i.bind(i,55284)),esriSpatialRelContains:()=>Promise.all([i.e(9187),i.e(8885),i.e(5756),i.e(3299),i.e(609)]).then(i.bind(i,51508)),esriSpatialRelCrosses:()=>Promise.all([i.e(9187),i.e(8885),i.e(5756),i.e(3299),i.e(7316)]).then(i.bind(i,85672)),esriSpatialRelDisjoint:()=>Promise.all([i.e(9187),i.e(8885),i.e(5756),i.e(3299),i.e(6960)]).then(i.bind(i,7978)),esriSpatialRelEnvelopeIntersects:null,esriSpatialRelIndexIntersects:null,esriSpatialRelOverlaps:()=>Promise.all([i.e(9187),i.e(8885),i.e(5756),i.e(3299),i.e(3304)]).then(i.bind(i,46178)),esriSpatialRelTouches:()=>Promise.all([i.e(9187),i.e(8885),i.e(5756),i.e(3299),i.e(7987)]).then(i.bind(i,83547)),esriSpatialRelWithin:()=>Promise.all([i.e(9187),i.e(8885),i.e(5756),i.e(3299),i.e(1787)]).then(i.bind(i,85445)),esriSpatialRelRelation:null};async function S(e,t,i){if((0,a.Bi)(t)){if("esriGeometryPoint"===i&&("esriSpatialRelIntersects"===e||"esriSpatialRelContains"===e)){const e=(0,h.Ye)(t,!1,!1);return t=>l(e,t)}if("esriGeometryMultipoint"===i){const i=(0,h.Ye)(t,!1,!1);if("esriSpatialRelContains"===e)return e=>u(i,e)}}if((0,a.ZC)(t)){if("esriGeometryPoint"===i&&("esriSpatialRelIntersects"===e||"esriSpatialRelContains"===e))return e=>(0,n.qz)(t,(0,p.pL)(i,e));if("esriGeometryMultipoint"===i&&"esriSpatialRelContains"===e)return e=>(0,n.rL)(t,(0,p.pL)(i,e));if("esriSpatialRelIntersects"===e){const e=function(e){return"mesh"===e?r.xB:(0,r.xK)(e)}(i);return s=>e(t,(0,p.pL)(i,s))}}"esriSpatialRelEnvelopeIntersects"===e&&(e="esriSpatialRelIntersects");const s=await function(e){const t=x[e];if(null==t)throw new Error(`Cannot load unsupported spatial operator: ${e}`);return t()}(e);return e=>s.execute(t,(0,p.pL)(i,e))}async function v(e,t,i){const{spatialRel:n,geometry:r}=e;if(r){if(null==(l=n)||!0!==y[l])throw new s.A(m,"Unsupported query spatial relationship",{query:e});if((0,o.fn)(r.spatialReference)&&(0,o.fn)(i)){if(!function(e){return null!=e&&!0===g[(0,a.$B)(e)]}(r))throw new s.A(m,"Unsupported query geometry type",{query:e});if(!function(e){return null!=e&&!0===_[e]}(t))throw new s.A(m,"Unsupported layer geometry type",{query:e});if(e.outSR)return(0,f.Nk)(e.geometry?.spatialReference,e.outSR)}}var l}function T(e){if((0,a.ZC)(e))return!0;if((0,a.Bi)(e)){for(const t of e.rings){if(5!==t.length)return!1;if(t[0][0]!==t[1][0]||t[0][0]!==t[4][0]||t[2][0]!==t[3][0]||t[0][1]!==t[3][1]||t[0][1]!==t[4][1]||t[1][1]!==t[2][1])return!1}return!0}return!1}},86420(e,t,i){i.d(t,{I:()=>r,W:()=>n});var s=i(21818);async function n(e,t){if(!e)return null;const i=t.featureAdapter,{startTimeField:n,endTimeField:r}=e;let a=Number.POSITIVE_INFINITY,o=Number.NEGATIVE_INFINITY;if(n&&r)await t.forEach(e=>{const t=i.getAttribute((0,s.z)(e),n),l=i.getAttribute((0,s.z)(e),r);null==t||isNaN(t)||(a=Math.min(a,t)),null==l||isNaN(l)||(o=Math.max(o,l))});else{const e=n||r;await t.forEach(t=>{const n=i.getAttribute((0,s.z)(t),e);null==n||isNaN(n)||(a=Math.min(a,n),o=Math.max(o,n))})}return{start:a,end:o}}function r(e,t,i){if(!t||!e)return null;const{startTimeField:s,endTimeField:n}=e;if(!s&&!n)return null;const{start:r,end:a}=t;if(null===r&&null===a)return null;if(void 0===r&&void 0===a)return()=>!1;const o=i.getAttributeAsTimestamp?.bind(i)??i.getAttribute.bind(i);return s&&n?function(e,t,i,s,n){return null!=s&&null!=n?r=>{const a=e(r,t),o=e(r,i);return(null==a||a<=n)&&(null==o||o>=s)}:null!=s?t=>{const n=e(t,i);return null==n||n>=s}:null!=n?i=>{const s=e(i,t);return null==s||s<=n}:void 0}(o,s,n,r,a):function(e,t,i,s){return null!=i&&null!=s&&i===s?s=>e(s,t)===i:null!=i&&null!=s?n=>{const r=e(n,t);return null!=r&&r>=i&&r<=s}:null!=i?s=>{const n=e(s,t);return null!=n&&n>=i}:null!=s?i=>{const n=e(i,t);return null!=n&&n<=s}:void 0}(o,s||n,r,a)}},95466(e,t,i){i.d(t,{A:()=>u});var s=i(49186),n=i(53966),r=i(12195),a=i(30524),o=i(98623),l=i(56400);class u{static fromJSON(e){return new u(e.fields,e.timeZoneByFieldName)}static fromLayer(e){return new u(e.fields??[],d(e))}static fromLayerJSON(e){return new u(e.fields??[],d(e))}constructor(e=[],t){this._fieldsMap=new Map,this._normalizedFieldsMap=new Map,this._dateFieldsSet=new Set,this._numericFieldsSet=new Set,this._requiredFields=null,this.dateFields=[],this.numericFields=[],this.fields=e||[],this._timeZoneByFieldName=t?new Map(t):null;const i=[];for(const e of this.fields){const t=e?.name,s=(0,a.GZ)(t);if(t&&s){const n=(0,a.NF)(t);this._fieldsMap.set(t,e),this._fieldsMap.set(n,e),this._normalizedFieldsMap.set(s,e),i.push(`${n}:${e.type}:${this._timeZoneByFieldName?.get(t)}`),(0,a.vE)(e)?(this.dateFields.push(e),this._dateFieldsSet.add(e)):(0,a.WA)(e)&&(this._numericFieldsSet.add(e),this.numericFields.push(e)),(0,a.te)(e)||(0,a.Xz)(e)||(e.editable=null==e.editable||!!e.editable,e.nullable=null==e.nullable||!!e.nullable)}}i.sort(),this.uid=i.join()}get requiredFields(){if(!this._requiredFields){this._requiredFields=[];for(const e of this.fields)(0,a.te)(e)||(0,a.Xz)(e)||e.nullable||void 0!==(0,a.lD)(e)||this._requiredFields.push(e)}return this._requiredFields}equals(e){return this.uid===e?.uid}has(e){return null!=this.get(e)}get(e){return(0,a.Vb)({fieldName:e,fieldsMap:this._fieldsMap,normalizedFieldsMap:this._normalizedFieldsMap})}getTimeZone(e){const t=this.get(e&&"string"!=typeof e?e.name:e);return t?this._timeZoneByFieldName?this._timeZoneByFieldName.get(t.name):"date"===t.type||"esriFieldTypeDate"===t.type?(n.A.getLogger("esri.layers.support.FieldsIndex").errorOnce(new s.A("getTimeZone:no-timezone-information",`no time zone information for field '${t.name}'`)),"UTC"):c.has(t.type)?o.L:null:null}isDateField(e){return this._dateFieldsSet.has(this.get(e))}isTimeOnlyField(e){return(0,a.OH)(this.get(e))}isNumericField(e){return this._numericFieldsSet.has(this.get(e))}normalizeFieldName(e){return this.get(e)?.name??void 0}toJSON(){return{fields:this.fields.map(e=>(0,r.W)(e)?e.toJSON():e),timeZoneByFieldName:this._timeZoneByFieldName?Array.from(this._timeZoneByFieldName.entries()):null}}}const c=new Set(["time-only","date-only","timestamp-offset","esriFieldTypeDateOnly","esriFieldTypeTimeOnly","esriFieldTypeTimestampOffset"]);function d(e){const t=new Map;if(!e.fields)return t;const i=!0===e.datesInUnknownTimezone,{timeInfo:s,editFieldsInfo:n}=e,r=(s?"startField"in s?s.startField:s.startTimeField:"")??"",u=(s?"endField"in s?s.endField:s.endTimeField:"")??"",d=function(e){return"dateFieldsTimeZone"in e}(e)?e.dateFieldsTimeZone??null:e.dateFieldsTimeReference?(0,l.ZS)(e.dateFieldsTimeReference):null,h=n?function(e){return"timeZone"in e}(n)?n.timeZone??d:n.dateFieldsTimeReference?(0,l.ZS)(n.dateFieldsTimeReference):d??"UTC":null,p=s?function(e){return"timeZone"in e}(s)?s.timeZone??d:s.timeReference?(0,l.ZS)(s.timeReference):d:null,f=new Map([[(0,a.NF)(n?.creationDateField??""),h],[(0,a.NF)(n?.editDateField??""),h],[(0,a.NF)(r),p],[(0,a.NF)(u),p]]);for(const{name:s,type:n}of e.fields)if(c.has(n))t.set(s,o.L);else if("date"!==n&&"esriFieldTypeDate"!==n)t.set(s,null);else if(i)t.set(s,o.L);else{const e=f.get((0,a.NF)(s??""))??d;t.set(s,e)}return t}},92300(e,t,i){i.d(t,{V:()=>a,X:()=>r});var s=i(60408),n=i(65864);function r(e){return{geometryType:(0,s.$B)(e[0]),geometries:e.map(e=>e.toJSON())}}function a(e,t,i){const s=(0,n.xD)(t);return e.map(e=>{const t=s.fromJSON(e);return t.spatialReference=i,t})}},5834(e,t,i){i.d(t,{A:()=>d});var s=i(5482),n=i(93637),r=i(91429),a=i(56507),o=i(41266),l=i(41366),u=i(93223);function c(e,t,i){(0,n.sM)(i,e instanceof Date?e.getTime():e,t)}let d=class extends((0,l.K)(o.A)){constructor(e){super(e),this.numBins=null,this.end=null,this.start=null,this.type="auto-interval"}};(0,s.Cg)([(0,r.MZ)({type:Number,json:{name:"parameters.numberOfBins",write:!0}})],d.prototype,"numBins",void 0),(0,s.Cg)([(0,r.MZ)({json:{name:"parameters.end",write:{writer:c}}})],d.prototype,"end",void 0),(0,s.Cg)([(0,r.MZ)({json:{name:"parameters.start",write:{writer:c}}})],d.prototype,"start",void 0),(0,s.Cg)([(0,u.e)({autoIntervalBin:"auto-interval"},{readOnly:!0})],d.prototype,"type",void 0),d=(0,s.Cg)([(0,r.$K)("esri.rest.support.AutoIntervalBinParameters")],d),d.from=(0,a.dp)(d)},41266(e,t,i){i.d(t,{A:()=>m});var s=i(5482),n=i(69540),r=i(66552),a=i(25482),o=i(91429),l=i(56507),u=i(93223);const c=new r.J({esriFieldTypeInteger:"integer",esriFieldTypeString:"string"});let d=class extends((0,n.OU)(a.o)){constructor(e){super(e),this.alias=null,this.responseType=null,this.type=null,this.value=null,this.valueType=null}};(0,s.Cg)([(0,o.MZ)({type:String,json:{name:"outAlias",write:!0}})],d.prototype,"alias",void 0),(0,s.Cg)([(0,o.MZ)({type:String})],d.prototype,"responseType",void 0),(0,s.Cg)([(0,o.MZ)({type:String,json:{write:!0}})],d.prototype,"type",void 0),(0,s.Cg)([(0,o.MZ)({type:String,json:{write:!0}})],d.prototype,"value",void 0),(0,s.Cg)([(0,u.e)(c)],d.prototype,"valueType",void 0),d=(0,s.Cg)([(0,o.$K)("esri.rest.support.AttributeBinsGrouping")],d);const h=d;d.from=(0,l.dp)(d);const p=new r.J({esriFieldTypeSmallInteger:"small-integer",esriFieldTypeInteger:"integer",esriFieldTypeSingle:"single",esriFieldTypeDouble:"double",esriFieldTypeLong:"long",esriFieldTypeDate:"date",esriFieldTypeDateOnly:"date-only",esriFieldTypeTimeOnly:"time-only",esriFieldTypeTimestampOffset:"timestamp-offset"}),f=new r.J({naturalLog:"natural-log",squareRoot:"square-root"});let m=class extends((0,n.OU)(a.o)){constructor(e){super(e),this.expression=null,this.expressionValueType=null,this.field=null,this.firstDayOfWeek=null,this.hideUpperBound=null,this.splitBy=null,this.stackBy=null,this.transformation=null}};(0,s.Cg)([(0,o.MZ)({type:String,json:{name:"onExpression.value",write:!0}})],m.prototype,"expression",void 0),(0,s.Cg)([(0,u.e)(p,{name:"onExpression.valueType"})],m.prototype,"expressionValueType",void 0),(0,s.Cg)([(0,o.MZ)({type:String,json:{name:"onField",write:!0}})],m.prototype,"field",void 0),(0,s.Cg)([(0,o.MZ)({type:Number,json:{write:!0}})],m.prototype,"firstDayOfWeek",void 0),(0,s.Cg)([(0,o.MZ)({type:Boolean,json:{write:!0}})],m.prototype,"hideUpperBound",void 0),(0,s.Cg)([(0,o.MZ)({type:h,json:{write:{overridePolicy(){return{enabled:null!=this.splitBy?.value||null!=this.splitBy?.type}}}}})],m.prototype,"splitBy",void 0),(0,s.Cg)([(0,o.MZ)({type:h,json:{write:{target:{stackBy:{type:h},jsonStyle:{type:String}},writer:(e,t)=>{e&&(t.stackBy=e.toJSON(),null!=e.responseType&&(t.jsonStyle=e.responseType))},overridePolicy(){return{enabled:null!=this.stackBy?.value||null!=this.stackBy?.type}}},read:{source:["stackBy","jsonStyle"],reader:(e,t)=>h.fromJSON({...t.stackBy,responseType:t.jsonStyle})}}})],m.prototype,"stackBy",void 0),(0,s.Cg)([(0,u.e)(f)],m.prototype,"transformation",void 0),m=(0,s.Cg)([(0,o.$K)("esri.rest.support.BinParametersBase")],m)},9760(e,t,i){i.d(t,{A:()=>c});var s=i(5482),n=i(66552),r=i(25482),a=i(91429),o=i(93223);const l=new n.J({esriClassifyEqualInterval:"equal-interval",esriClassifyManual:"manual",esriClassifyNaturalBreaks:"natural-breaks",esriClassifyQuantile:"quantile",esriClassifyStandardDeviation:"standard-deviation",esriClassifyDefinedInterval:"defined-interval"}),u=new n.J({esriNormalizeByLog:"log",esriNormalizeByPercentOfTotal:"percent-of-total",esriNormalizeByField:"field"});let c=class extends r.o{constructor(e){super(e),this.type="class-breaks-definition",this.breakCount=null,this.classificationField=null,this.classificationMethod=null,this.normalizationField=null,this.normalizationType=null}set standardDeviationInterval(e){"standard-deviation"===this.classificationMethod&&this._set("standardDeviationInterval",e)}set definedInterval(e){"defined-interval"===this.classificationMethod&&this._set("definedInterval",e)}};(0,s.Cg)([(0,o.e)({classBreaksDef:"class-breaks-definition"})],c.prototype,"type",void 0),(0,s.Cg)([(0,a.MZ)({json:{write:!0}})],c.prototype,"breakCount",void 0),(0,s.Cg)([(0,a.MZ)({json:{write:!0}})],c.prototype,"classificationField",void 0),(0,s.Cg)([(0,a.MZ)({type:String,json:{read:l.read,write:l.write}})],c.prototype,"classificationMethod",void 0),(0,s.Cg)([(0,a.MZ)({json:{write:!0}})],c.prototype,"normalizationField",void 0),(0,s.Cg)([(0,a.MZ)({json:{read:u.read,write:u.write}})],c.prototype,"normalizationType",void 0),(0,s.Cg)([(0,a.MZ)({value:null,json:{write:!0}})],c.prototype,"standardDeviationInterval",null),(0,s.Cg)([(0,a.MZ)({value:null,json:{write:!0}})],c.prototype,"definedInterval",null),c=(0,s.Cg)([(0,a.$K)("esri.rest.support.ClassBreaksDefinition")],c)},59977(e,t,i){i.d(t,{A:()=>y});var s=i(5482),n=i(93637),r=i(91429),a=i(56507),o=i(41266),l=i(69540),u=i(25482),c=i(57231),d=i(93223);let h=class extends((0,l.OU)(u.o)){constructor(e){super(e),this.value=null,this.unit=null}};(0,s.Cg)([(0,r.MZ)({type:Number,json:{name:"number",write:!0}})],h.prototype,"value",void 0),(0,s.Cg)([(0,d.e)(c.g)],h.prototype,"unit",void 0),h=(0,s.Cg)([(0,r.$K)("esri.rest.support.DateBinTimeInterval")],h);const p=h;function f(e,t,i){(0,n.sM)(i,"string"==typeof e?e:e?.getTime(),t)}function m(e,t){const i=e.parameters[t];return i?"string"==typeof i?i:new Date(i):null}h.from=(0,a.dp)(h);let y=class extends o.A{constructor(e){super(e),this.end=null,this.interval=null,this.offset=null,this.returnFullIntervalBin=!1,this.start=null,this.snapToData=null,this.type="date"}};(0,s.Cg)([(0,r.MZ)({cast:e=>null!=e?"string"==typeof e?e:new Date(e):null,json:{name:"parameters.end",read:{reader:(e,t)=>m(t,"end")},write:{writer:f}}})],y.prototype,"end",void 0),(0,s.Cg)([(0,r.MZ)({type:p,json:{name:"parameters",write:!0}})],y.prototype,"interval",void 0),(0,s.Cg)([(0,r.MZ)({type:p,json:{name:"parameters.offset",write:!0}})],y.prototype,"offset",void 0),(0,s.Cg)([(0,r.MZ)({type:Boolean,json:{name:"parameters.returnFullIntervalBin",write:!0}})],y.prototype,"returnFullIntervalBin",void 0),(0,s.Cg)([(0,r.MZ)({cast:e=>null!=e?"string"==typeof e?e:new Date(e):null,json:{name:"parameters.start",read:{reader:(e,t)=>m(t,"start")},write:{writer:f}}})],y.prototype,"start",void 0),(0,s.Cg)([(0,r.MZ)({type:String,json:{name:"parameters.snapToData",write:!0}})],y.prototype,"snapToData",void 0),(0,s.Cg)([(0,d.e)({dateBin:"date"},{readOnly:!0})],y.prototype,"type",void 0),y=(0,s.Cg)([(0,r.$K)("esri.rest.support.DateBinParameters")],y),y.from=(0,a.dp)(y)},57231(e,t,i){const s=(0,i(66552).O)()({year:"years",quarter:"quarters",month:"months",week:"weeks",day:"days",hour:"hours",minute:"minutes",second:"seconds"});i.d(t,["g",0,s])},11440(e,t,i){i.d(t,{A:()=>u});var s=i(5482),n=i(93637),r=i(91429),a=i(56507),o=i(41266),l=i(93223);let u=class extends o.A{constructor(e){super(e),this.boundaries=[],this.type="fixed-boundaries"}};(0,s.Cg)([(0,r.MZ)({json:{name:"parameters.boundaries",write:{writer:function(e,t,i){(0,n.sM)(i,e&&function(e){return e[0]instanceof Date}(e)?e.map(e=>e.getTime()):e,t)}}}})],u.prototype,"boundaries",void 0),(0,s.Cg)([(0,l.e)({fixedBoundariesBin:"fixed-boundaries"},{readOnly:!0})],u.prototype,"type",void 0),u=(0,s.Cg)([(0,r.$K)("esri.rest.support.FixedBoundariesBinParameters")],u),u.from=(0,a.dp)(u)},60909(e,t,i){i.d(t,{A:()=>d});var s=i(5482),n=i(93637),r=i(91429),a=i(56507),o=i(41266),l=i(41366),u=i(93223);function c(e,t,i){(0,n.sM)(i,e instanceof Date?e.getTime():e,t)}let d=class extends((0,l.K)(o.A)){constructor(e){super(e),this.end=null,this.interval=null,this.start=null,this.type="fixed-interval"}};(0,s.Cg)([(0,r.MZ)({json:{name:"parameters.end",write:{writer:c}}})],d.prototype,"end",void 0),(0,s.Cg)([(0,r.MZ)({type:Number,json:{name:"parameters.interval",write:!0}})],d.prototype,"interval",void 0),(0,s.Cg)([(0,r.MZ)({json:{name:"parameters.start",write:{writer:c}}})],d.prototype,"start",void 0),(0,s.Cg)([(0,u.e)({fixedIntervalBin:"fixed-interval"},{readOnly:!0})],d.prototype,"type",void 0),d=(0,s.Cg)([(0,r.$K)("esri.rest.support.FixedIntervalBinParameters")],d),d.from=(0,a.dp)(d)},41366(e,t,i){var s=i(5482),n=i(66552),r=i(53966),a=i(91429),o=i(93223);const l=(0,n.O)()({naturalLog:"natural-log",squareRoot:"square-root",percentOfTotal:"percent-of-total",log:"log",field:"field"}),u="percent-of-total",c="field";i.d(t,["K",0,e=>{const t=e;let i=class extends t{constructor(){super(...arguments),this.normalizationField=null,this.normalizationMaxValue=null,this.normalizationMinValue=null,this.normalizationTotal=null}get normalizationType(){let e=this._get("normalizationType");const t=!!this.normalizationField,i=null!=this.normalizationTotal;return t||i?(e=t&&c||i&&u||null,t&&i&&r.A.getLogger(this).warn("warning: both normalizationField and normalizationTotal are set!")):e!==c&&e!==u||(e=null),e}set normalizationType(e){this._set("normalizationType",e)}};return(0,s.Cg)([(0,a.MZ)({type:String,json:{name:"parameters.normalizationField",write:!0}})],i.prototype,"normalizationField",void 0),(0,s.Cg)([(0,a.MZ)({type:Number,json:{name:"parameters.normalizationMaxValue",write:!0}})],i.prototype,"normalizationMaxValue",void 0),(0,s.Cg)([(0,a.MZ)({type:Number,json:{name:"parameters.normalizationMinValue",write:!0}})],i.prototype,"normalizationMinValue",void 0),(0,s.Cg)([(0,a.MZ)({type:Number,json:{name:"parameters.normalizationTotal",write:!0}})],i.prototype,"normalizationTotal",void 0),(0,s.Cg)([(0,o.e)(l,{name:"parameters.normalizationType"})],i.prototype,"normalizationType",null),i=(0,s.Cg)([(0,a.$K)("esri.rest.support.NormalizationBinParametersMixin")],i),i},"Q",0,l])},84892(e,t,i){i.d(t,{t:()=>r});var s=i(53966);function n(e,t){return Number(e.toFixed(t))}function r(e,t){const{normalizationTotal:i}=e;return{classBreaks:a(e,t),normalizationTotal:i}}function a(e,t){const i=e.definition,{classificationMethod:s,normalizationType:r,definedInterval:a}=i,u=i.breakCount??1,c=[];let d=e.values;if(0===d.length)return[];d=d.sort((e,t)=>e-t);const[h,p]=t??[d.at(0),d.at(-1)];if("equal-interval"===s)if(d.length>=u){const e=(p-h)/u;let t=h;for(let i=1;i<u;i++){const s=n(h+i*e,6);c.push({minValue:t,maxValue:s,label:o(t,s,r)}),t=s}c.push({minValue:t,maxValue:p,label:o(t,p,r)})}else d.forEach(e=>{c.push({minValue:e,maxValue:e,label:o(e,e,r)})});else if("natural-breaks"===s){const t=function(e){const t=[],i=[];let s=Number.MIN_VALUE,n=1,r=-1;for(let a=0;a<e.length;a++){const o=e[a];o===s?(n++,i[r]=n):null!==o&&(t.push(o),s=o,n=1,i.push(n),r++)}return{uniqueValues:t,valueFrequency:i}}(d),i=e.valueFrequency||t.valueFrequency,s=l(t.uniqueValues,i,u);let a=h;for(let e=1;e<u;e++)if(t.uniqueValues.length>e){const i=n(t.uniqueValues[s[e]],6);c.push({minValue:a,maxValue:i,label:o(a,i,r)}),a=i}c.push({minValue:a,maxValue:p,label:o(a,p,r)})}else if("quantile"===s)if(d.length>=u&&h!==p){let e=h,t=Math.ceil(d.length/u),i=0;for(let s=1;s<u;s++){let n=t+i-1;n>d.length&&(n=d.length-1),n<0&&(n=0),c.push({minValue:e,maxValue:d[n],label:o(e,d[n],r)}),e=d[n],i+=t,t=Math.ceil((d.length-i)/(u-s))}c.push({minValue:e,maxValue:p,label:o(e,p,r)})}else{let e=-1;for(let t=0;t<d.length;t++){const i=d[t];i!==e&&(e=i,c.push({minValue:e,maxValue:i,label:o(e,i,r)}),e=i)}}else if("standard-deviation"===s){const e=function(e){let t=0;for(let i=0;i<e.length;i++)t+=e[i];return t/=e.length,t}(d),t=function(e,t){let i=0;for(let s=0;s<e.length;s++){const n=e[s];i+=(n-t)*(n-t)}return i/=e.length,Math.sqrt(i)}(d,e);if(0===t)c.push({minValue:d[0],maxValue:d[0],label:o(d[0],d[0],r)});else{const i=function(e,t,i,s,n){let r=Math.max(s-e,t-s)/n/i;return r=r>=1?1:r>=.5?.5:.25,r}(h,p,u,e,t)*t;let s=0,a=h;for(let t=u;t>=1;t--){const l=n(e-(t-.5)*i,6);c.push({minValue:a,maxValue:l,label:o(a,l,r)}),a=l,s++}let l=n(e+.5*i,6);c.push({minValue:a,maxValue:l,label:o(a,l,r)}),a=l,s++;for(let t=1;t<=u;t++)l=s===2*u?p:n(e+(t+.5)*i,6),c.push({minValue:a,maxValue:l,label:o(a,l,r)}),a=l,s++}}else if("defined-interval"===s){if(!a)return c;const[e,i]=t??[d.at(0),d.at(-1)],s=Math.ceil((i-e)/a);let l=e;for(let t=1;t<s;t++){const i=n(e+t*a,6);c.push({minValue:l,maxValue:i,label:o(l,i,r)}),l=i}c.push({minValue:l,maxValue:i,label:o(l,i,r)})}return c}function o(e,t,i){let s=null;return s=e===t?i&&"percent-of-total"===i?e+"%":e.toString():i&&"percent-of-total"===i?e+"% - "+t+"%":e+" - "+t,s}function l(e,t,i){const s=e.length,n=[];i>s&&(i=s);for(let e=0;e<i;e++)n.push(Math.round(e*s/i-1));n.push(s-1);let r=u(n,e,t,i);return function(e,t,i,s,n,r){let a=0,o=0,l=0,u=0,d=!0;for(let h=0;h<2&&d;h++){0===h&&(d=!1);for(let h=0;h<r-1;h++)for(;i[h+1]+1!==i[h+2];){i[h+1]=i[h+1]+1;const r=c(h,i,s,n);l=r.sbMean,a=r.sbSdcm;const p=c(h+1,i,s,n);if(u=p.sbMean,o=p.sbSdcm,!(a+o<t[h]+t[h+1])){i[h+1]=i[h+1]-1;break}t[h]=a,t[h+1]=o,e[h]=l,e[h+1]=u,d=!0}for(let h=r-1;h>0;h--)for(;i[h]!==i[h-1]+1;){i[h]=i[h]-1;const r=c(h-1,i,s,n);l=r.sbMean,a=r.sbSdcm;const p=c(h,i,s,n);if(u=p.sbMean,o=p.sbSdcm,!(a+o<t[h-1]+t[h])){i[h]=i[h]+1;break}t[h-1]=a,t[h]=o,e[h-1]=l,e[h]=u,d=!0}}return d}(r.mean,r.sdcm,n,e,t,i)&&(r=u(n,e,t,i)),n}function u(e,t,i,s){let n=[],r=[],a=[],o=0;const l=[],u=[];for(let n=0;n<s;n++){const s=c(n,e,t,i);l.push(s.sbMean),u.push(s.sbSdcm),o+=u[n]}let d,h=o,p=!0;for(;p||o<h;){p=!1,n=[];for(let t=0;t<s;t++)n.push(e[t]);for(let i=0;i<s;i++)for(let n=e[i]+1;n<=e[i+1];n++)if(d=t[n],i>0&&n!==e[i+1]&&Math.abs(d-l[i])>Math.abs(d-l[i-1]))e[i]=n;else if(i<s-1&&e[i]!==n-1&&Math.abs(d-l[i])>Math.abs(d-l[i+1])){e[i+1]=n-1;break}h=o,o=0,r=[],a=[];for(let n=0;n<s;n++){r.push(l[n]),a.push(u[n]);const s=c(n,e,t,i);l[n]=s.sbMean,u[n]=s.sbSdcm,o+=u[n]}}if(o>h){for(let t=0;t<s;t++)e[t]=n[t],l[t]=r[t],u[t]=a[t];o=h}return{mean:l,sdcm:u}}function c(e,t,i,n){let r=0,a=0;for(let s=t[e]+1;s<=t[e+1];s++){const e=n[s];r+=i[s]*e,a+=e}a<=0&&s.A.getLogger("esri.rest.support.generateRendererUtils").warn("Exception in Natural Breaks calculation");const o=r/a;let l=0;for(let s=t[e]+1;s<=t[e+1];s++)l+=n[s]*(i[s]-o)**2;return{sbMean:o,sbSdcm:l}}},1873(e,t,i){i.d(t,{$y:()=>O,Ak:()=>P,FM:()=>f,G_:()=>h,Rw:()=>C,Vb:()=>c,b3:()=>A,gJ:()=>u,jM:()=>N,lv:()=>M,oZ:()=>w,qg:()=>p,sU:()=>V,z9:()=>d,zS:()=>z});var s=i(9760),n=i(84892);const r=/\s*(\+|-)?((\d+(\.\d+)?)|(\.\d+))\s*/gi,a=new Set(["esriFieldTypeDate","esriFieldTypeInteger","esriFieldTypeSmallInteger","esriFieldTypeSingle","esriFieldTypeDouble","esriFieldTypeLong","esriFieldTypeOID","esriFieldTypeBigInteger"]),o=new Set(["esriFieldTypeTimeOnly","esriFieldTypeDateOnly"]),l=["min","max","avg","stddev","count","sum","variance","nullcount","median"];function u(e){return null==e||"string"==typeof e&&!e?"<Null>":e}function c(e){const t=null!=e.normalizationField||null!=e.normalizationType,i=null!=e.minValue||null!=e.maxValue,s=!!e.sqlExpression&&e.supportsSQLExpression;return!t&&!i&&!s}function d(e){const{outStatisticTypes:t}=e,i=e.returnDistinct?[...new Set(e.values)]:e.values,s=i.filter(e=>null!=e).sort(),n=s.length,r={count:n,min:s[0],max:s[n-1]};return e.supportsNullCount&&(r.nullcount=i.length-n),!e.percentileParams||t?.include?.length&&!t.include.includes("median")||t?.exclude?.length&&t.exclude.includes("median")||(r.median=p(i,e.percentileParams)),r}function h(e){const{values:t,useSampleStdDev:i,supportsNullCount:s,outStatisticTypes:n}=e;let r=Number.POSITIVE_INFINITY,a=Number.NEGATIVE_INFINITY,o=null,l=null,u=null,c=null,d=0;const h=null==e.minValue?-1/0:e.minValue,f=null==e.maxValue?1/0:e.maxValue;for(const e of t)Number.isFinite(e)?e>=h&&e<=f&&(o=null===o?e:o+e,r=Math.min(r,e),a=Math.max(a,e),d++):"string"==typeof e&&d++;if(d&&null!=o){l=o/d;let e=0;for(const i of t)Number.isFinite(i)&&i>=h&&i<=f&&(e+=(i-l)**2);c=i?d>1?e/(d-1):0:d>0?e/d:0,u=Math.sqrt(c)}else r=null,a=null;const m={avg:l,count:d,max:a,min:r,stddev:u,sum:o,variance:c};return s&&(m.nullcount=t.length-d),!e.percentileParams||n?.include?.length&&!n.include.includes("median")||n?.exclude?.length&&n.exclude.includes("median")||(m.median=p(t,e.percentileParams)),m}function p(e,t){const{fieldType:i,value:s,orderBy:n,isDiscrete:r}=t,a=f(i,"desc"===n,"case-insensitive");if(0===(e=[...e].filter(e=>null!=e).sort((e,t)=>a(e,t))).length)return null;if(s<=0)return e[0];if(s>=1)return e[e.length-1];const o=(e.length-1)*s,l=Math.floor(o),u=l+1,c=o%1,d=e[l],h=e[u];return u>=e.length||r||"string"==typeof d||"string"==typeof h?d:d*(1-c)+h*c}function f(e,t,i="case-sensitive"){if(e){if(a.has(e))return R(t);if(o.has(e))return T(t,!0);if("esriFieldTypeTimestampOffset"===e)return function(e){return e?x:_}(t);const s=T(t,"case-sensitive"===i);if("esriFieldTypeString"===e)return s;if("esriFieldTypeGUID"===e||"esriFieldTypeGlobalID"===e)return(e,t)=>s(I(e),I(t))}const s=t?1:-1,n=R(t),r=T(t,"case-sensitive"===i),l=g(t);return(e,t)=>"number"==typeof e&&"number"==typeof t?n(e,t):"string"==typeof e&&"string"==typeof t?r(e,t):l(e,t)??s}const m=(e,t)=>null==e?null==t?0:1:null==t?-1:null,y=(e,t)=>null==e?null==t?0:-1:null==t?1:null;function g(e){return e?m:y}const _=(e,t)=>y(e,t)??(e===t?0:new Date(e).getTime()-new Date(t).getTime()),x=(e,t)=>m(e,t)??(e===t?0:new Date(t).getTime()-new Date(e).getTime()),S=(e,t)=>y(e,t)??(e===t?0:e<t?-1:1),v=(e,t)=>m(e,t)??(e===t?0:e<t?1:-1);function T(e,t){if(t)return e?v:S;const i=g(e);return e?(e,t)=>{const s=i(e,t);return null!=s?s:(e=e.toUpperCase())>(t=t.toUpperCase())?-1:e<t?1:0}:(e,t)=>{const s=i(e,t);return null!=s?s:(e=e.toUpperCase())<(t=t.toUpperCase())?-1:e>t?1:0}}const F=(e,t)=>m(e,t)??t-e,E=(e,t)=>y(e,t)??e-t;function R(e){return e?F:E}function I(e){return e.slice(24,36)+e.slice(19,23)+e.slice(16,18)+e.slice(14,16)+e.slice(11,13)+e.slice(9,11)+e.slice(6,8)+e.slice(4,6)+e.slice(2,4)+e.slice(0,2)}function w(e,t,i){let s;for(s in e)t?.include?.length&&!t.include.includes(s)||t?.exclude?.length&&t.exclude.includes(s)?delete e[s]:l.includes(s)&&(Number.isFinite(e[s])||(e[s]=null));return i?(["avg","stddev","variance"].forEach(t=>{null!=e[t]&&(e[t]=Math.ceil(e[t]??0))}),e):e}function A(e){const t={};for(let i of e)(null==i||"string"==typeof i&&""===i.trim())&&(i=null),null==t[i]?t[i]={count:1,data:i}:t[i].count++;return{count:t}}function b(e){return"coded-value"!==e?.type?[]:e.codedValues.map(e=>e.code)}function M(e,t,i,s){const n=e.count,r=[];if(i&&t){const e=[],i=b(t[0]);for(const n of i)if(t[1]){const i=b(t[1]);for(const r of i)if(t[2]){const i=b(t[2]);for(const t of i)e.push(`${u(n)}${s}${u(r)}${s}${u(t)}`)}else e.push(`${u(n)}${s}${u(r)}`)}else e.push(n);for(const t of e)n.hasOwnProperty(t)||(n[t]={data:t,count:0})}for(const e in n){const t=n[e];r.push({value:t.data,count:t.count,label:t.label})}return{uniqueValueInfos:r}}function z(e,t,i,s){let n=null;switch(t){case"log":0!==e&&(n=Math.log(e)*Math.LOG10E);break;case"percent-of-total":Number.isFinite(s)&&0!==s&&(n=e/s*100);break;case"field":Number.isFinite(i)&&0!==i&&(n=e/i);break;case"natural-log":e>0&&(n=Math.log(e));break;case"square-root":e>0&&(n=e**.5)}return n}function C(e,t,i){const r=function(e){const{breakCount:t,field:i,normalizationField:n,normalizationType:r}=e,a=e.classificationMethod||"equal-interval",o="standard-deviation"===a?e.standardDeviationInterval||1:void 0,l="defined-interval"===a?e.definedInterval:void 0;return new s.A({breakCount:t,classificationField:i,classificationMethod:a,normalizationField:"field"===r?n:void 0,normalizationType:r,standardDeviationInterval:o,definedInterval:l})}({field:t.field,normalizationType:t.normalizationType,normalizationField:t.normalizationField,classificationMethod:t.classificationMethod,standardDeviationInterval:t.standardDeviationInterval,definedInterval:t.definedInterval,breakCount:t.numClasses||5});return e=function(e,t,i){const s=t??-1/0,n=i??1/0;return e.filter(e=>Number.isFinite(e)&&e>=s&&e<=n)}(e,t.minValue,t.maxValue),(0,n.t)({definition:r,values:e,normalizationTotal:t.normalizationTotal},i)}function N(e,t){let i=e.classBreaks;const s=i.length,n=i[0]?.minValue,a=i[s-1]?.maxValue,o="standard-deviation"===t,l=r;return i=i.map(e=>{const t=e.label,i={minValue:e.minValue,maxValue:e.maxValue,label:t};if(o&&t){const e=t.match(l),s=e?.map(e=>+e.trim())??[];2===s.length?(i.minStdDev=s[0],i.maxStdDev=s[1],s[0]<0&&s[1]>0&&(i.hasAvg=!0)):1===s.length&&(t.includes("<")?(i.minStdDev=null,i.maxStdDev=s[0]):t.includes(">")&&(i.minStdDev=s[0],i.maxStdDev=null))}return i}),{minValue:n,maxValue:a,classBreakInfos:i,normalizationTotal:e.normalizationTotal}}function O(e,t){const i=V(e,t);if(null==i.min&&null==i.max)return{bins:[],minValue:i.min,maxValue:i.max,normalizationTotal:t.normalizationTotal};const s=i.intervals,n=i.min??0,r=i.max??0,a=s.map((e,t)=>({minValue:s[t][0],maxValue:s[t][1],count:0}));for(const t of e)if(null!=t&&t>=n&&t<=r){const e=P(s,t);e>-1&&a[e].count++}return{bins:a,minValue:n,maxValue:r,normalizationTotal:t.normalizationTotal}}function V(e,t,i=!1){const{field:s,classificationMethod:n,standardDeviationInterval:r,definedInterval:a,normalizationType:o,normalizationField:l,normalizationTotal:u,minValue:d,maxValue:p}=t,f=t.numBins||10;let m=null,y=null,g=null;if(n&&"equal-interval"!==n||o){const{classBreaks:t}=C(e,{field:s,normalizationType:o,normalizationField:l,normalizationTotal:u,classificationMethod:n,standardDeviationInterval:r,definedInterval:a,minValue:d,maxValue:p,numClasses:f},null!=d&&null!=p?[d,p]:void 0);m=t[0]?.minValue,y=t[t.length-1]?.maxValue,g=t.map(e=>[e.minValue,e.maxValue])}else{if(null!=d&&null!=p)m=d,y=p;else{const t=h({values:e,minValue:d,maxValue:p,useSampleStdDev:!o,supportsNullCount:c({normalizationType:o,normalizationField:l,minValue:d,maxValue:p})});m=t.min??null,y=t.max??null}g=function(e,t,i){const s=(t-e)/i,n=[];let r,a=e;for(let e=1;e<=i;e++)r=a+s,r=Number(r.toFixed(16)),n.push([a,e===i?t:r]),a=r;return n}(m??0,y??0,f)}if(i&&g.length){const e=g.at(-1)[1];g.push([e,e])}return{min:m,max:y,intervals:g}}function P(e,t){let i=-1;for(let s=e.length-1;s>=0;s--)if(t>=e[s][0]){i=s;break}return i}},92359(e,t,i){i.d(t,{nu:()=>d,W6:()=>u}),i(4576),i(71511),i(44208),i(53966);var s=i(17676),n=(i(36708),i(44794),i(78659)),r=i(5482),a=i(69622),o=i(91429);let l=class extends a.A{constructor(){super(...arguments),this.SCHEDULER_LOG_SLOW_TASKS=!1,this.FEATURE_SERVICE_SNAPPING_SOURCE_TILE_TREE_SHOW_TILES=!1}};(0,r.Cg)([(0,o.MZ)()],l.prototype,"SCHEDULER_LOG_SLOW_TASKS",void 0),(0,r.Cg)([(0,o.MZ)()],l.prototype,"FEATURE_SERVICE_SNAPPING_SOURCE_TILE_TREE_SHOW_TILES",void 0),l=(0,r.Cg)([(0,o.$K)("esri.views.support.debugFlags")],l),new l,i(49186),Symbol("Yield");const u={RESOURCE_CONTROLLER_IMMEDIATE:"immediate",RESOURCE_CONTROLLER:"schedule",SLIDE:"slide",STREAM_DATA_LOADER:"stream loader",ELEVATION_QUERY:"elevation query",TERRAIN_SURFACE:"terrain",SURFACE_GEOMETRY_UPDATES:"surface geometry updates",LOD_RENDERER:"LoD renderer",GRAPHICS_CORE:"Graphics3D",I3S:"I3S",LYR3D:"Lyr3D",TILES3D:"3DTiles",POINT_CLOUD_LAYER:"point cloud",FEATURE_TILE_FETCHER:"feature fetcher",STREAM_CONTROLLER:"stream controller",SCREEN_POLYGON_INTERSECTION:"screen polygon intersection",OCCLUSION_QUERY:"occlusion query",OVERLAY:"overlay",OVERLAY_RENDERER:"overlay renderer",STAGE:"stage",GRAPHICS_DECONFLICTOR:"graphics deconflictor",FILTER_VISIBILITY:"graphics filter visibility",SCALE_VISIBILITY:"graphics scale visibility",FRUSTUM_VISIBILITY:"graphics frustum visibility",POINT_OF_INTEREST_FREQUENT:"POI frequent",POINT_OF_INTEREST_INFREQUENT:"POI infrequent",LABELER:"labeler",FEATURE_QUERY_ENGINE:"feature query",FEATURE_TILE_TREE:"feature tile tree",FEATURE_TILE_TREE_ACTIVE:"fast feature tile tree",ELEVATION_ALIGNMENT:"elevation alignment",ELEVATION_ALIGNMENT_SCENE:"elevation alignment scene",TEXT_TEXTURE_ATLAS:"text texture atlas",TEXTURE_UNLOAD:"texture unload",LINE_OF_SIGHT_TOOL:"line of sight tool",LINE_OF_SIGHT_TOOL_INTERACTIVE:"interactive line of sight tool",VOLUME_MEASUREMENT:"volume measurement",ELEVATION_PROFILE:"elevation profile",SNAPPING:"snapping",SHADOW_ACCUMULATOR:"shadow accumulator",CLOUDS_GENERATOR:"clouds generator",FLOW_GENERATOR:"flow generator",GAUSSIAN_SPLAT_SORTING:"gaussian splat sorting",GAUSSIAN_SPLAT_TEXTURE_ATLAS:"gaussian splat texture atlas",MAPVIEW_FETCH_QUEUE:"mapview fetch queue",MAPVIEW_LAYERVIEW_UPDATE:"mapview layerview update",MAPVIEW_VECTOR_TILE_PARSING_QUEUE:"mapview vector tile parsing queue",NONE:0,TEST_PRIO:1};new Map([[u.RESOURCE_CONTROLLER_IMMEDIATE,0],[u.RESOURCE_CONTROLLER,4],[u.SLIDE,0],[u.STREAM_DATA_LOADER,0],[u.ELEVATION_QUERY,0],[u.TERRAIN_SURFACE,1],[u.SURFACE_GEOMETRY_UPDATES,1],[u.LOD_RENDERER,2],[u.GRAPHICS_CORE,2],[u.I3S,2],[u.LYR3D,2],[u.TILES3D,3],[u.POINT_CLOUD_LAYER,2],[u.FEATURE_TILE_FETCHER,2],[u.STREAM_CONTROLLER,2],[u.SCREEN_POLYGON_INTERSECTION,0],[u.CLOUDS_GENERATOR,2],[u.OCCLUSION_QUERY,2],[u.OVERLAY,4],[u.OVERLAY_RENDERER,4],[u.STAGE,4],[u.GRAPHICS_DECONFLICTOR,4],[u.FILTER_VISIBILITY,4],[u.SCALE_VISIBILITY,4],[u.FRUSTUM_VISIBILITY,4],[u.POINT_OF_INTEREST_FREQUENT,6],[u.POINT_OF_INTEREST_INFREQUENT,30],[u.LABELER,8],[u.FEATURE_QUERY_ENGINE,8],[u.FEATURE_TILE_TREE,16],[u.FEATURE_TILE_TREE_ACTIVE,0],[u.ELEVATION_ALIGNMENT,12],[u.ELEVATION_ALIGNMENT_SCENE,14],[u.TEXT_TEXTURE_ATLAS,12],[u.TEXTURE_UNLOAD,12],[u.LINE_OF_SIGHT_TOOL,16],[u.LINE_OF_SIGHT_TOOL_INTERACTIVE,0],[u.VOLUME_MEASUREMENT,4],[u.SNAPPING,0],[u.SHADOW_ACCUMULATOR,30],[u.FLOW_GENERATOR,12],[u.GAUSSIAN_SPLAT_SORTING,2],[u.GAUSSIAN_SPLAT_TEXTURE_ATLAS,12],[u.MAPVIEW_FETCH_QUEUE,0],[u.MAPVIEW_LAYERVIEW_UPDATE,2],[u.MAPVIEW_VECTOR_TILE_PARSING_QUEUE,0]]),(0,n.l5)(6.5),(0,n.l5)(1),(0,n.l5)(30),(0,n.l5)(1e3/30),(0,n.l5)(100);const c=new class{constructor(){this._begin=performance?.now()??0,this._budget=0,this._done=!1,this._progressed=!1,this._enabled=!0}run(e){return!this.done&&(!0===e()&&this.madeProgress(),!0)}get done(){return this._done}get budget(){return this._budget}madeProgress(){return this._progressed=!0,this._done=this.elapsed>=this._budget&&this._enabled,this._done}get enabled(){return this._enabled}set enabled(e){this._enabled=e}reset(e){this._begin=this.now(),this._budget=e,this.resetProgress()}get remaining(){return Math.max(this._budget-this.elapsed,0)}now(){return performance.now()}get elapsed(){return this.now()-this._begin}resetProgress(){this._progressed=!1,this._done=!1}get hasProgressed(){return this._progressed}};c.enabled=!1;const d=new class{remove(){}processQueue(){}schedule(e,t,i){try{if((0,s.G4)(t)){const e=(0,s.NK)();return i?Promise.resolve(i(e)):Promise.reject(e)}return(0,s.z7)(e(c))}catch(e){return Promise.reject(e)}}reschedule(e,t,i){return this.schedule(e,t,i)}async scheduleGenerator(e,t,i){if((0,s.G4)(t)){const e=(0,s.NK)();if(i)return i(e);throw e}const n=e(c);for(;;){const e=n.next(c),r=(0,s.$X)(e)?await e:e;if((0,s.G4)(t)){const e=(0,s.NK)();if(i){const t=i(e),r=n.return(null);return(0,s.$X)(r)&&await(0,s.QZ)(r),t}const t=n.throw(e);throw(0,s.$X)(t)&&await(0,s.QZ)(t),e}if(r.done)return r.value}}}}}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[8520],{32488(t,e,r){r.d(e,{A:()=>k});const i=[["(",")"],[")","("],["<",">"],[">","<"],["[","]"],["]","["],["{","}"],["}","{"],["«","»"],["»","«"],["‹","›"],["›","‹"],["⁽","⁾"],["⁾","⁽"],["₍","₎"],["₎","₍"],["≤","≥"],["≥","≤"],["〈","〉"],["〉","〈"],["﹙","﹚"],["﹚","﹙"],["﹛","﹜"],["﹜","﹛"],["﹝","﹞"],["﹞","﹝"],["﹤","﹥"],["﹥","﹤"]],n=["آ","أ","إ","ا"],s=["ﻵ","ﻷ","ﻹ","ﻻ"],o=["ﻶ","ﻸ","ﻺ","ﻼ"],a=["ا","ب","ت","ث","ج","ح","خ","د","ذ","ر","ز","س","ش","ص","ض","ط","ظ","ع","غ","ف","ق","ك","ل","م","ن","ه","و","ي","إ","أ","آ","ة","ى","ل","م","ن","ه","و","ي","إ","أ","آ","ة","ى","ی","ئ","ؤ"],l=["ﺍ","ﺏ","ﺕ","ﺙ","ﺝ","ﺡ","ﺥ","ﺩ","ﺫ","ﺭ","ﺯ","ﺱ","ﺵ","ﺹ","ﺽ","ﻁ","ﻅ","ﻉ","ﻍ","ﻑ","ﻕ","ﻙ","ﻝ","ﻡ","ﻥ","ﻩ","ﻭ","ﻱ","ﺇ","ﺃ","ﺁ","ﺓ","ﻯ","ﯼ","ﺉ","ﺅ","ﹰ","ﹲ","ﹴ","ﹶ","ﹸ","ﹺ","ﹼ","ﹾ","ﺀ","ﺉ","ﺅ"],c=["ﺎ","ﺐ","ﺖ","ﺚ","ﺞ","ﺢ","ﺦ","ﺪ","ﺬ","ﺮ","ﺰ","ﺲ","ﺶ","ﺺ","ﺾ","ﻂ","ﻆ","ﻊ","ﻎ","ﻒ","ﻖ","ﻚ","ﻞ","ﻢ","ﻦ","ﻪ","ﻮ","ﻲ","ﺈ","ﺄ","ﺂ","ﺔ","ﻰ","ﯽ","ﺊ","ﺆ","ﹰ","ﹲ","ﹴ","ﹶ","ﹸ","ﹺ","ﹼ","ﹾ","ﺀ","ﺊ","ﺆ"],h=["ﺎ","ﺒ","ﺘ","ﺜ","ﺠ","ﺤ","ﺨ","ﺪ","ﺬ","ﺮ","ﺰ","ﺴ","ﺸ","ﺼ","ﻀ","ﻄ","ﻈ","ﻌ","ﻐ","ﻔ","ﻘ","ﻜ","ﻠ","ﻤ","ﻨ","ﻬ","ﻮ","ﻴ","ﺈ","ﺄ","ﺂ","ﺔ","ﻰ","ﯿ","ﺌ","ﺆ","ﹱ","ﹲ","ﹴ","ﹷ","ﹹ","ﹻ","ﹽ","ﹿ","ﺀ","ﺌ","ﺆ"],u=["ﺍ","ﺑ","ﺗ","ﺛ","ﺟ","ﺣ","ﺧ","ﺩ","ﺫ","ﺭ","ﺯ","ﺳ","ﺷ","ﺻ","ﺿ","ﻃ","ﻇ","ﻋ","ﻏ","ﻓ","ﻗ","ﻛ","ﻟ","ﻣ","ﻧ","ﻫ","ﻭ","ﻳ","ﺇ","ﺃ","ﺁ","ﺓ","ﻯ","ﯾ","ﺋ","ﺅ","ﹰ","ﹲ","ﹴ","ﹶ","ﹸ","ﹺ","ﹼ","ﹾ","ﺀ","ﺋ","ﺅ"],f=["ء","آ","أ","ؤ","إ","ا","ة","د","ذ","ر","ز","و","ى"],m=["ً","ً","ٌ","؟","ٍ","؟","َ","َ","ُ","ُ","ِ","ِ","ّ","ّ","ْ","ْ","ء","آ","آ","أ","أ","ؤ","ؤ","إ","إ","ئ","ئ","ئ","ئ","ا","ا","ب","ب","ب","ب","ة","ة","ت","ت","ت","ت","ث","ث","ث","ث","ج","ج","ج","ج","ح","ح","ح","ح","خ","خ","خ","خ","د","د","ذ","ذ","ر","ر","ز","ز","س","س","س","س","ش","ش","ش","ش","ص","ص","ص","ص","ض","ض","ض","ض","ط","ط","ط","ط","ظ","ظ","ظ","ظ","ع","ع","ع","ع","غ","غ","غ","غ","ف","ف","ف","ف","ق","ق","ق","ق","ك","ك","ك","ك","ل","ل","ل","ل","م","م","م","م","ن","ن","ن","ن","ه","ه","ه","ه","و","و","ى","ى","ي","ي","ي","ي","ﻵ","ﻶ","ﻷ","ﻸ","ﻹ","ﻺ","ﻻ","ﻼ","؟","؟","؟"],d=["ء","ف"],g=["غ","ي"],p=[[0,3,0,1,0,0,0],[0,3,0,1,2,2,0],[0,3,0,17,2,0,1],[0,3,5,5,4,1,0],[0,3,21,21,4,0,1],[0,3,5,5,4,2,0]],y=[[2,0,1,1,0,1,0],[2,0,1,1,0,2,0],[2,0,2,1,3,2,0],[2,0,2,33,3,1,1]],S=10,M=11,C=12,b=18,_=["UBAT_L","UBAT_R","UBAT_EN","UBAT_AN","UBAT_ON","UBAT_B","UBAT_S","UBAT_AL","UBAT_WS","UBAT_CS","UBAT_ES","UBAT_ET","UBAT_NSM","UBAT_LRE","UBAT_RLE","UBAT_PDF","UBAT_LRO","UBAT_RLO","UBAT_BN"],x=[100,0,0,0,0,101,102,103,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,104,4,4,4,0,4,0,4,0,4,4,4,0,0,4,4,0,0,0,0,0,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,0,0,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,0,0,4,4,0,0,4,4,0,0,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,0,0,0,105,7,7,106,107],w=[[b,b,b,b,b,b,b,b,b,6,5,6,8,5,b,b,b,b,b,b,b,b,b,b,b,b,b,b,5,5,5,6,8,4,4,M,M,M,4,4,4,4,4,S,9,S,9,9,2,2,2,2,2,2,2,2,2,2,9,4,4,4,4,4,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,4,4,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,4,b,b,b,b,b,b,5,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,9,4,M,M,M,M,4,4,4,4,0,4,4,b,4,4,M,M,2,2,4,0,4,4,4,2,0,4,4,4,4,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,4,4,4,4,4,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,4,4,4,4,4,4,4,C,C,C,C,C,C,C,C,C,C,C,C,C,C,C,C,C,C,C,C,C,C,C,C,C,C,C,C,C,C,C,C,C,C,C,C,C,C,C,C,C,C,C,C,C,1,C,1,C,C,1,C,C,1,C,4,4,4,4,4,4,4,4,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,4,4,4,4,4,1,1,1,1,1,4,4,4,4,4,4,4,4,4,4,4],[3,3,3,3,4,4,4,4,7,M,M,7,9,7,4,4,C,C,C,C,C,C,C,C,C,C,C,7,4,4,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,C,C,C,C,C,C,C,C,C,C,C,C,C,C,C,C,C,C,C,C,C,3,3,3,3,3,3,3,3,3,3,M,3,3,7,7,7,C,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,C,C,C,C,C,C,C,3,4,C,C,C,C,C,C,7,7,C,C,4,C,C,C,C,7,7,2,2,2,2,2,2,2,2,2,2,7,7,7,7,7,7],[7,7,7,7,7,7,7,7,7,7,7,7,7,7,4,7,7,C,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,C,C,C,C,C,C,C,C,C,C,C,C,C,C,C,C,C,C,C,C,C,C,C,C,C,C,C,4,4,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,C,C,C,C,C,C,C,C,C,C,C,7,4,4,4,4,4,4,4,4,4,4,4,4,4,4,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,C,C,C,C,C,C,C,C,C,1,1,4,4,4,4,1,4,4,4,4,4],[8,8,8,8,8,8,8,8,8,8,8,b,b,b,0,1,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,8,5,13,14,15,16,17,9,M,M,M,M,M,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,9,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,8,b,b,b,b,b,4,4,4,4,4,b,b,b,b,b,b,2,0,4,4,2,2,2,2,2,2,S,S,4,4,4,0,2,2,2,2,2,2,2,2,2,2,S,S,4,4,4,4,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,C,C,C,C,C,C,C,C,C,C,C,C,C,C,C,C,C,C,C,C,C,C,C,C,C,C,C,C,C,C,C,C,C,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4],[0,0,0,0,0,0,0,4,4,4,4,4,4,4,4,4,4,4,4,0,0,0,0,0,4,4,4,4,4,1,C,1,1,1,1,1,1,1,1,1,1,S,1,1,1,1,1,1,1,1,1,1,1,1,1,4,1,1,1,1,1,4,1,4,1,1,4,1,1,4,1,1,1,1,1,1,1,1,1,1,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7],[C,C,C,C,C,C,C,C,C,C,C,C,C,C,C,C,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,C,C,C,C,C,C,C,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,9,4,9,4,4,9,4,4,4,4,4,4,4,4,4,M,4,4,S,S,4,4,4,4,4,M,M,4,4,4,4,4,7,7,7,7,7,4,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,4,4,b],[4,4,4,M,M,M,4,4,4,4,4,S,9,S,9,9,2,2,2,2,2,2,2,2,2,2,9,4,4,4,4,4,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,4,4,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,4,4,4,4,4,4,4,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,0,0,0,0,0,0,4,4,0,0,0,0,0,0,4,4,0,0,0,0,0,0,4,4,0,0,0,4,4,4,M,M,4,4,4,M,M,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4]];class k{constructor(){this.inputFormat="ILYNN",this.outputFormat="VLNNN",this.sourceToTarget=[],this.targetToSource=[],this.levels=[]}bidiTransform(t,e,r){if(this.sourceToTarget=[],this.targetToSource=[],!t)return"";if(function(t,e,r){Y=[],Z=[];for(let i=0;i<r;i++)t[i]=i,e[i]=i,Y[i]=i}(this.sourceToTarget,this.targetToSource,t.length),!this.checkParameters(e,r))return t;e=this.inputFormat,r=this.outputFormat;let i=t;const a=j,h=W(e.charAt(1)),f=W(r.charAt(1)),d=(e.startsWith("I")?"L":e.charAt(0))+h,g=(r.startsWith("I")?"L":r.charAt(0))+f,p=e.charAt(2)+r.charAt(2);a.defInFormat=d,a.defOutFormat=g,a.defSwap=p;const y=I(t,d,g,p,a);let S=!1;return"R"===r.charAt(1)?S=!0:"C"!==r.charAt(1)&&"D"!==r.charAt(1)||(S="rtl"===this.checkContextual(y)),this.sourceToTarget=Y,this.targetToSource=function(t){const e=new Array(t.length);for(let r=0;r<t.length;r++)e[t[r]]=r;return e}(this.sourceToTarget),q=this.targetToSource,i=e.charAt(3)===r.charAt(3)?y:"S"===r.charAt(3)?function(t,e){if(0===e.length)return"";void 0===t&&(t=!0);const r=(e=String(e)).split("");let i=0,n=1,a=r.length;t||(i=r.length-1,n=-1,a=1);const h=function(t,e,r,i){let n=0;const a=[];let h=0;for(let f=e;f*r<i;f+=r)if(A(t[f])||N(t[f])){if("ل"===t[f]&&E(t,f+r,r,i)){t[f]=V(t[f+r],0===n?s:o),f+=r,$(t,f,r,i),a[h]=f,h++,n=0;continue}const e=t[f];1===n?t[f]=F(t,f+r,r,i)?O(t[f]):H(t[f],c):!0===F(t,f+r,r,i)?t[f]=H(t[f],u):t[f]=H(t[f],l),N(e)||(n=1),!0===G(e)&&(n=0)}else n=0;return a}(r,i,n,a);let f="";for(let e=0;e<r.length;e++)v(h,h.length,e)>-1?(X(q,e,!t,-1),Y.splice(e,1)):f+=r[e];return f}(S,y):function(t,e){if(0===t.length)return"";void 0===e&&(e=!0);let r="";const i=(t=String(t)).split("");for(let s=0;s<t.length;s++){let o=!1;if(i[s]>="ﹰ"&&i[s]<"\ufeff"){const a=t.charCodeAt(s);i[s]>="ﻵ"&&i[s]<="ﻼ"?(e?(s>0&&" "===i[s-1]?r=r.slice(0,-1)+"ل":(r+="ل",o=!0),r+=n[(a-65269)/2]):(r+=n[(a-65269)/2],r+="ل",s+1<t.length&&" "===i[s+1]?s++:o=!0),o&&(X(q,s,!0,1),Y.splice(s,0,Y[s]))):r+=m[a-65136]}else r+=i[s]}return r}(y,S),this.sourceToTarget=Y,this.targetToSource=q,this.levels=Z,i}_inputFormatSetter(t){if(!et.test(t))throw new Error("dojox/string/BidiEngine: the bidi layout string is wrong!");this.inputFormat=t}_outputFormatSetter(t){if(!et.test(t))throw new Error("dojox/string/BidiEngine: the bidi layout string is wrong!");this.outputFormat=t}checkParameters(t,e){return t?this._inputFormatSetter(t):t=this.inputFormat,e?this._outputFormatSetter(e):e=this.outputFormat,t!==e}checkContextual(t){let e=P(t);if("ltr"!==e&&"rtl"!==e){try{e=document.dir.toLowerCase()}catch(t){}"ltr"!==e&&"rtl"!==e&&(e="ltr")}return e}hasBidiChar(t){return rt.test(t)}}function I(t,e,r,i,n){const s=function(t,e,r){if(void 0===e.inFormat&&(e.inFormat=r.defInFormat),void 0===e.outFormat&&(e.outFormat=r.defOutFormat),void 0===e.swap&&(e.swap=r.defSwap),e.inFormat===e.outFormat)return e;const i=e.inFormat.slice(0,1),n=e.outFormat.slice(0,1);let s,o=e.inFormat.slice(1,4),a=e.outFormat.slice(1,4);return o.startsWith("C")&&(s=P(t),o="ltr"===s||"rtl"===s?s.toUpperCase():"L"===e.inFormat.charAt(2)?"LTR":"RTL",e.inFormat=i+o),a.startsWith("C")&&(s=P(t),"rtl"===s?a="RTL":"ltr"===s?(s=function(t){const e=t.split("");return e.reverse(),P(e.join(""))}(t),a=s.toUpperCase()):a="L"===e.outFormat.charAt(2)?"LTR":"RTL",e.outFormat=n+a),e}(t,{inFormat:e,outFormat:r,swap:i},n);if(s.inFormat===s.outFormat)return t;e=s.inFormat,r=s.outFormat,i=s.swap;const o=e.slice(0,1),a=e.slice(1,4),l=r.slice(0,1),c=r.slice(1,4);if(n.inFormat=e,n.outFormat=r,n.swap=i,"L"===o&&"VLTR"===r){if("LTR"===a)return n.dir=Q,L(t,n);if("RTL"===a)return n.dir=tt,L(t,n)}if("V"===o&&"V"===l)return n.dir="RTL"===a?tt:Q,z(t,n);if("L"===o&&"VRTL"===r)return"LTR"===a?(n.dir=Q,t=L(t,n)):(n.dir=tt,t=L(t,n)),z(t);if("VLTR"===e&&"LLTR"===r)return n.dir=Q,L(t,n);if("V"===o&&"L"===l&&a!==c)return t=z(t),"RTL"===a?I(t,"LLTR","VLTR",i,n):I(t,"LRTL","VRTL",i,n);if("VRTL"===e&&"LRTL"===r)return I(t,"LRTL","VRTL",i,n);if("L"===o&&"L"===l){const e=n.swap;return n.swap=e.slice(0,1)+"N","RTL"===a?(n.dir=tt,t=L(t,n),n.swap="N"+e.slice(1,3),n.dir=Q,t=L(t,n)):(n.dir=Q,t=L(t,n),n.swap="N"+e.slice(1,3),t=I(t,"VLTR","LRTL",n.swap,n)),t}return t}function P(t){const e=/[A-Za-z\u05d0-\u065f\u066a-\u06ef\u06fa-\u07ff\ufb1d-\ufdff\ufe70-\ufefc]/.exec(t);return e?e[0]<="z"?"ltr":"rtl":""}function L(t,e){const r=t.split(""),i=[];return T(r,i,e),function(t,e,r){if(0!==r.hiLevel&&r.swap[0]!==r.swap[1])for(let r=0;r<t.length;r++)1===e[r]&&(t[r]=U(t[r]))}(r,i,e),D(2,r,i,e),D(1,r,i,e),Z=i,r.join("")}function T(t,e,r){const i=t.length,n=r.dir?y:p;let s=0,o=-1;const a=[],l=[];r.hiLevel=r.dir,r.lastArabic=!1,r.hasUbatAl=!1,r.hasUbatB=!1,r.hasUbatS=!1;for(let e=0;e<i;e++)a[e]=R(t[e]);for(let c=0;c<i;c++){const i=s,h=B(t,a,l,c,r);l[c]=h,s=n[i][h];const u=240&s;s&=15;const f=n[s][J];if(e[c]=f,u>0)if(16===u){for(let t=o;t<c;t++)e[t]=1;o=-1}else o=-1;if(n[s][K])-1===o&&(o=c);else if(o>-1){for(let t=o;t<c;t++)e[t]=f;o=-1}5===a[c]&&(e[c]=0),r.hiLevel|=f}r.hasUbatS&&function(t,e,r,i){for(let n=0;n<r;n++)if(6===t[n]){e[n]=i.dir;for(let r=n-1;r>=0&&8===t[r];r--)e[r]=i.dir}}(a,e,i,r)}function R(t){const e=t.charCodeAt(0),r=x[e>>8];return r<100?r:w[r-100][255&e]}function z(t,e){const r=t.split("");if(e){const t=[];T(r,t,e),Z=t}return r.reverse(),Y.reverse(),r.join("")}function v(t,e,r){for(let i=0;i<e;i++)if(t[i]===r)return i;return-1}function A(t){for(let e=0;e<d.length;e++)if(t>=d[e]&&t<=g[e])return!0;return!1}function F(t,e,r,i){for(;e*r<i&&N(t[e]);)e+=r;return!!(e*r<i&&A(t[e]))}function E(t,e,r,i){for(;e*r<i&&N(t[e]);)e+=r;let s=" ";if(!(e*r<i))return!1;s=t[e];for(let t=0;t<n.length;t++)if(n[t]===s)return!0;return!1}function D(t,e,r,i){if(i.hiLevel<t)return;if(1===t&&i.dir===tt&&!i.hasUbatB)return e.reverse(),void Y.reverse();const n=e.length;let s,o,a,l,c,h=0;for(;h<n;){if(r[h]>=t){for(s=h+1;s<n&&r[s]>=t;)s++;for(o=h,a=s-1;o<a;o++,a--)l=e[o],e[o]=e[a],e[a]=l,c=Y[o],Y[o]=Y[a],Y[a]=c;h=s}h++}}function B(t,e,r,i,n){const s=e[i];return{UBAT_L:()=>(n.lastArabic=!1,0),UBAT_R:()=>(n.lastArabic=!1,1),UBAT_ON:()=>4,UBAT_AN:()=>3,UBAT_EN:()=>n.lastArabic?3:2,UBAT_AL:()=>(n.lastArabic=!0,n.hasUbatAl=!0,1),UBAT_WS:()=>4,UBAT_CS:()=>{let t,s;return i<1||i+1>=e.length||2!==(t=r[i-1])&&3!==t||2!==(s=e[i+1])&&3!==s?4:(n.lastArabic&&(s=3),s===t?s:4)},UBAT_ES:()=>2===(i>0?r[i-1]:5)&&i+1<e.length&&2===e[i+1]?2:4,UBAT_ET:()=>{if(i>0&&2===r[i-1])return 2;if(n.lastArabic)return 4;let t=i+1;const s=e.length;for(;t<s&&11===e[t];)t++;return t<s&&2===e[t]?2:4},UBAT_NSM:()=>{if("VLTR"===n.inFormat){const r=e.length;let n=i+1;for(;n<r&&12===e[n];)n++;if(n<r){const r=t[i].charCodeAt(0),s=r>=1425&&r<=2303||64286===r,o=e[n];if(s&&(1===o||7===o))return 1}}return i<1||5===e[i-1]?4:r[i-1]},UBAT_B:()=>(n.lastArabic=!0,n.hasUbatB=!0,n.dir),UBAT_S:()=>(n.hasUbatS=!0,4),UBAT_LRE:()=>(n.lastArabic=!1,4),UBAT_RLE:()=>(n.lastArabic=!1,4),UBAT_LRO:()=>(n.lastArabic=!1,4),UBAT_RLO:()=>(n.lastArabic=!1,4),UBAT_PDF:()=>(n.lastArabic=!1,4),UBAT_BN:()=>4}[_[s]]()}function U(t){let e,r=0,n=i.length-1;for(;r<=n;)if(e=Math.floor((r+n)/2),t<i[e][0])n=e-1;else{if(!(t>i[e][0]))return i[e][1];r=e+1}return t}function G(t){for(let e=0;e<f.length;e++)if(f[e]===t)return!0;return!1}function O(t){for(let e=0;e<a.length;e++)if(t===a[e])return h[e];return t}function H(t,e){for(let r=0;r<a.length;r++)if(t===a[r])return e[r];return t}function N(t){return t>="ً"&&t<="ٕ"}function W(t){return"L"===t?"LTR":"R"===t?"RTL":"C"===t?"CLR":"D"===t?"CRL":""}function $(t,e,r,i){for(;e*r<i&&N(t[e]);)e+=r;return e*r<i&&(t[e]=" ",!0)}function V(t,e){for(let r=0;r<n.length;r++)if(t===n[r])return e[r];return t}function X(t,e,r,i){for(let n=0;n<t.length;n++)(t[n]>e||!r&&t[n]===e)&&(t[n]+=i)}let Y=[],q=[],Z=[];const j={dir:0,defInFormat:"LLTR",defSwap:"YN",inFormat:"LLTR",outFormat:"VLTR",swap:"YN",hiLevel:0,lastArabic:!1,hasUbatAl:!1,defOutFormat:""},J=5,K=6,Q=0,tt=1,et=/^[(I|V)][(L|RCD)][(Y|N)][(S|N)]N$/,rt=/[\u0591-\u06ff\ufb1d-\ufefc]/},6371(t,e,r){r.d(e,{y:()=>n});const i=new(r(32488).A);function n(t,e=!0){if(!i.hasBidiChar(t))return[t,!1,{...i}];let r;r="rtl"===i.checkContextual(t)?"IDNNN":"ICNNN";const n=e?"VLYSN":"VLYNN";return[i.bidiTransform(t,r,n),!0,{...i}]}},40804(t,e,r){function i(t,e=0){let r=0;for(let i=0;i<4;i++)r+=t[e+i]*n[i];return r}r(34727);const n=[1/256,1/65536,1/16777216,1/4294967296];i(new Uint8ClampedArray([255,255,255,255])),i(new Uint8ClampedArray([255,255,255,0]))},56512(t,e,r){function i(t){let e,r,i=[],n=!1;return function(...s){return n&&e===this&&function(t,e){if(t.length!==e.length)return!1;for(let r=0;r<t.length;++r)if(t[r]!==e[r])return!1;return!0}(s,i)||(r=t.apply(this,s),e=this,i=s,n=!0),r}}r.d(e,{B:()=>i})},69397(t,e,r){r.d(e,{Qf:()=>a,Qh:()=>s,lM:()=>n});var i=r(34275);function n(t){if(!t)return 0;let e=c;for(const r in t)t.hasOwnProperty(r)&&(e+=o(t[r],!1));return e}function s(t){if(!t)return 0;if("number"==typeof t[0])return a(t);if(Array.isArray(t))return function(t){const e=t.length;if(0===e||"number"==typeof t[0])return l(t,8);let r=h;for(let i=0;i<e;i++)r+=o(t[i]);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?s(t):c;case"string":return function(t){return 32+t.length}(t);case"number":return 16;case"boolean":return 4;default:return 8}}function a(...t){return t.reduce((t,e)=>t+(e?(0,i.iu)(e)?e.byteLength+u:Array.isArray(e)?l(e,16):0:0),0)}function l(t,e){return h+t.length*e}const c=32,h=16,u=145},31411(t,e,r){r.d(e,{GS:()=>w,gh:()=>I});var i=r(49186),n=r(56512),s=r(65864),o=r(4305),a=r(50954),l=r(52006),c=r(49663),h=r(46068),u=r(15507);const f=1e-6,m=[0,0];function d(t){return{maxSegmentLength:t.maxSegmentLength??0,maxDeviation:t.maxDeviation??0,maxSegmentsPerCurve:t.maxSegmentsPerCurve??12e3,minSegmentsPerCurve:Math.max(t.minSegmentsPerCurve??1,1)}}class g{constructor(t,e){this.curveStart=t,this.curveEnd=e,this.tStart=0,this.tEnd=0,this.tEndStack=[],this.arcEndStack=[]}get stackSize(){return this.tEndStack.length}initialize(t,e){this.tStart=0,this.arcStart=t,this.tEndStack.push(1),this.arcEndStack.push(e)}splitAt(t){this.tEndStack.push(this.tEnd),this.arcEndStack.push(this.arcEnd),this.tEndStack.push(t),this.arcEndStack.push(this.interpolate(t))}splitInHalf(){return this.splitAt((this.tStart+this.tEnd)/2)}pop(){this.tEnd=this.tEndStack.pop(),this.arcEnd=this.arcEndStack.pop()}next(){this.tStart=this.tEnd,this.arcStart=this.arcEnd}densify(t,{maxDeviation:e,maxSegmentLength:r,maxSegmentsPerCurve:i,minSegmentsPerCurve:n}){const s=r*r,o=e*e,a=1/i,l=this.interpolate(0),c=this.interpolate(1);(0,u.kb)(this.curveStart,l)>f&&t.push(l),this.initialize(l,c);const h=1/n;for(let t=n-1;t>0;t--){const e=t*h;this.pop(),this.splitAt(e)}for(;this.stackSize>0;)this.pop(),this.tStart===this.tEnd||this.tEnd-this.tStart<a||(0===s||!isFinite(s)||(0,u.kb)(this.arcStart,this.arcEnd)<s)&&(0===o||!isFinite(o)||this.getDeviation2()<o)?(t.push(this.arcEnd),this.next()):this.splitInHalf();return(0,u.kb)(this.curveEnd,c)>f&&t.push([...this.curveEnd]),t}}class p extends g{constructor(t,e){const[r,i,n]=e.b;super(t,r),this._controlPointsStack=[],this._curveControlPoints=[i,n],this._arcControlPoints=[i,n],this._controlPointsStack.push(this._arcControlPoints)}splitAt(t){const{arcStart:e,arcEnd:r,tStart:i,tEnd:n}=this,[s,o]=this._arcControlPoints,a=(t-i)/(n-i),l=(0,u.RS)([],e,s,a),c=(0,u.RS)(m,s,o,a),h=(0,u.RS)([],o,r,a),f=(0,u.RS)([],l,c,a),d=(0,u.RS)([],c,h,a),g=(0,u.RS)([],f,d,a);this.tEndStack.push(this.tEnd),this.arcEndStack.push(this.arcEnd),this._controlPointsStack.push([d,h]),this.tEndStack.push(t),this.arcEndStack.push(g),this._arcControlPoints[0]=l,this._arcControlPoints[1]=f,this._controlPointsStack.push(this._arcControlPoints)}pop(){super.pop(),this._arcControlPoints=this._controlPointsStack.pop()}interpolate(t){const{curveStart:e,curveEnd:r}=this,[i,n]=this._curveControlPoints;return(0,o.B4)(e,i,n,r,t)}getDeviation2(){const{arcStart:t,arcEnd:e}=this,[r,i]=this._arcControlPoints;return Math.max((0,u.yE)(r,t,e),(0,u.yE)(i,t,e))}}class y extends g{constructor(t,e){const[r]=e.a;super(t,r),this._derivedEllipse=(0,h.SW)(t,e)}pop(){super.pop(),this._tMid=(this.tStart+this.tEnd)/2,this._arcMid=this.interpolate(this._tMid)}splitInHalf(){this.tEndStack.push(this.tEnd),this.arcEndStack.push(this.arcEnd),this.tEndStack.push(this._tMid),this.arcEndStack.push(this._arcMid)}interpolate(t){return(0,h.Uk)(this._derivedEllipse,t)}getDeviation2(){return(0,u.yE)(this._arcMid,this.arcStart,this.arcEnd)}}function S(t,e,r,{cx:i,cy:n,radius:s,thetaStart:o,thetaEnd:a,isInvalid:l},{maxDeviation:c,maxSegmentLength:h,maxSegmentsPerCurve:m,minSegmentsPerCurve:d}){if(l)return t.push([...r]),t;const g=2*s,p=[i+s*Math.cos(o),n+s*Math.sin(o)],y=[i+s*Math.cos(a),n+s*Math.sin(a)];(0,u.kb)(e,p)>f&&t.push(p);const S=Math.abs(a-o),M=h>0&&h<g?2*Math.asin(h/g):S,C=c>0&&c<=s?2*Math.acos(1-c/s):S,b=Math.min(M,C),_=Math.min(m,Math.max(d,Math.ceil(Math.abs(S/b)))),x=1/_;for(let e=1;e<_;e++){const r=e*x,l=o*(1-r)+a*r;t.push([i+s*Math.cos(l),n+s*Math.sin(l)])}return t.push(y),(0,u.kb)(r,y)>f&&t.push([...r]),t}function M(t,e,r,i){return new p(e,r).densify(t,i)}function C(t,e,r,i){const n=(0,a.pM)(e,r),[s]=r.c;return S(t,e,s,n,i)}function b(t,e,r,i){const n=(0,c.io)(e,r),[s]=r.a;return S(t,e,s,n,i)}function _(t,e,r,i){const[n,s,o,a,l,c,h]=r.a;return 0===c||0===h?(t.push([...n]),t):new y(e,r).densify(t,i)}function x(t,e,r,i){return(0,l.Xq)(r)?(t.push([...r]),t):(0,l.n1)(r)?M(t,e,r,i):(0,l.aO)(r)?C(t,e,r,i):(0,l.DA)(r)?b(t,e,r,i):_(t,e,r,i)}function w(t,e={}){if(!(0,l.Ed)(t))return t;const r=d(e),i=(0,l.FD)(t),n=[];for(const t of i){const e=[];for(let i=0;i<t.length-1;i++){const n=i+1,s=[...(0,l.yP)(t[i])];0===i&&e.push(s),x(e,s,t[n],r)}n.push(e)}return"curvePaths"in t?{...void 0!==t.hasZ?{hasZ:t.hasZ}:{},...void 0!==t.hasM?{hasM:t.hasM}:{},paths:n,spatialReference:t.spatialReference}:{...void 0!==t.hasZ?{hasZ:t.hasZ}:{},...void 0!==t.hasM?{hasM:t.hasM}:{},rings:n,spatialReference:t.spatialReference}}const k=(0,n.B)(t=>({maxDeviation:0,maxSegmentLength:100*t,maxSegmentsPerCurve:12e3,minSegmentsPerCurve:1}));async function I(t,e,n){const o=new Set(e);return await async function(t,e,n){let s=null;for(const o of t)if(o&&(0,l.Ed)(o)&&null==o.spatialReference.xyTolerance&&(0,l.V8)(o,e)){const t=o.spatialReference;if(!t)throw new i.A("geometry:missing-spatial-reference","Geometry contains an unsupported curve type, but it cannot be densified because it has no spatial reference.");const e=P(t);if(n.has(e))o.spatialReference=n.get(e);else{s||(s=await Promise.all([r.e(9187),r.e(8885),r.e(5756),r.e(3299),r.e(1550)]).then(r.bind(r,78125)));const a=s.fromSpatialReference(t),l=a?.getTolerance();if(null==l)throw new i.A("geometry:missing-tolerance","Geometry contains an unsupported curve type, but it cannot be densified because the tolerance of its spatial reference is unknown. Set the `xyTolerance` property of the spatial reference.");const c=o.spatialReference.clone();c.read({xyTolerance:l}),o.spatialReference=c,n.set(e,c)}}}(t,o,n),t.map(t=>{if(!t||!(0,l.Ed)(t))return t;const r=t.spatialReference.xyTolerance;if(null==r)return t;const i=k(r);return(0,s.rS)(function(t,e,r){if(!(0,l.Ed)(t))return t;const i=new Set(e),n=d(r),s=(0,l.FD)(t),o=[];let a=!1;for(const t of s){const e=[];for(let r=0;r<t.length-1;r++){const s=r+1,o=[...(0,l.yP)(t[r])];0===r&&e.push(o);const c=t[s];(0,l.Xq)(c)?e.push([...c]):(0,l.n1)(c)&&!i.has("cubic-bezier")?M(e,o,c,n):(0,l.aO)(c)&&!i.has("circular-arc")?C(e,o,c,n):(0,l.DA)(c)&&!i.has("elliptic-arc")?b(e,o,c,n):(0,l.wY)(c)&&!i.has("elliptic-arc")?_(e,o,c,n):(e.push((0,l.tk)(c)),a=!0)}o.push(e)}return"curvePaths"in t?{...void 0!==t.hasZ?{hasZ:t.hasZ}:{},...void 0!==t.hasM?{hasM:t.hasM}:{},spatialReference:t.spatialReference,...a?{curvePaths:o}:{paths:o}}:{hasZ:t.hasZ,hasM:t.hasM,spatialReference:t.spatialReference,...a?{curveRings:o}:{rings:o}}}(t,e,i))})}function P(t){if(null!=t.wkid)return`${t.wkid}`;if(null!=t.wkt)return t.wkt;const e="toJSON"in t&&"function"==typeof t.toJSON?t.toJSON():t;return JSON.stringify(e)}},92722(t,e,r){r.d(e,{A:()=>n});var i=r(69397);class n{constructor(t=[],e=[],r=!1,i=!1){this.lengths=t??[],this.coords=e??[],this.hasZ=r,this.hasM=i}static fromJSON({lengths:t,coords:e,hasZ:r,hasM:i}){return new n(t,e,r||!1,i||!1)}static fromRect([t,e,r,i]){const s=r-t,o=i-e;return new n([5],[t,e,s,0,0,o,-s,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,i.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:i}=this;let n=this.coords[i*e],s=this.coords[i*e+1];for(let o=1;o<r;o+=1){const r=i*(e+o),a=this.coords[r],l=this.coords[r+1];t+=-.5*(a-n)*(l+s),n=a,s=l}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 i of this.lengths){for(let n=0;n<i;n++){const i=r*(e+n);t(this.coords[i],this.coords[i+1])}e+=i}}deltaDecode(){const t=this.clone(),{coords:e,lengths:r}=t;let i=0;const{stride:n}=this;for(const t of r){for(let r=1;r<t;r++){const t=n*(i+r);e[t]+=e[t-n],e[t+1]+=e[t+1-n]}i+=t}return t}clone(t){if(this.isPoint)return new n([],Array.from(this.coords.slice(0,this.stride)),this.hasZ,this.hasM);const e=Array.from(this.lengths),{stride:r,size:i}=this,s=this.coords.slice(0,i*r);return t?(t.set(s),new n(e,t,this.hasZ,this.hasM)):new n(e,Array.from(s),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,i=0;e<r.length;e+=t)r[i++]=this.coords[e],r[i++]=this.coords[e+1];return new n(this.lengths,r,!1,!1)}}},5427(t,e,r){r.r(e),r.d(e,{CIMSymbolHelper:()=>st,CIMSymbolInflatedSizeHelper:()=>nt,capTypeToEnum:()=>at,forEachSymbolLayer:()=>ot,slsDashToTemplateArray:()=>gt,symbolToCIM:()=>et});var i=r(6371),n=r(4718),s=r(53966),o=r(87811),a=r(90629),l=r(19419),c=r(537),h=r(52006),u=r(31411),f=r(11831),m=r(35833),d=r(98939),g=r(57582),p=(r(44208),r(34727)),y=r(93687),S=r(36745),M=r(12359),C=(r(12176),r(60408));class b{applyColorSubstitution(t,e){if(!e)return t;this._rasterizationCanvas||(this._rasterizationCanvas=document.createElement("canvas"));const{width:r,height:i}=t,n=this._rasterizationCanvas,s=n.getContext("2d",{willReadFrequently:!0});t!==n&&(n.width=r,n.height=i,s.drawImage(t,0,0,r,i));const o=s.getImageData(0,0,r,i).data;if(e)for(const t of e)if(t&&t.oldColor&&4===t.oldColor.length&&t.newColor&&4===t.newColor.length){const[e,r,i,n]=t.oldColor,[s,a,l,c]=t.newColor;if(e===s&&r===a&&i===l&&n===c)continue;for(let t=0;t<o.length;t+=4)e===o[t]&&r===o[t+1]&&i===o[t+2]&&n===o[t+3]&&(o[t]=s,o[t+1]=a,o[t+2]=l,o[t+3]=c)}const a=new ImageData(o,r,i);return s.putImageData(a,0,0),n}tintImageData(t,e){if(!e||e.length<4)return t;this._rasterizationCanvas||(this._rasterizationCanvas=document.createElement("canvas"));const{width:r,height:i}=t,n=this._rasterizationCanvas,s=n.getContext("2d",{willReadFrequently:!0});t!==n&&(n.width=r,n.height=i,s.drawImage(t,0,0,r,i));const o=s.getImageData(0,0,r,i),a=new Uint8Array(o.data),l=[e[0]/255,e[1]/255,e[2]/255,e[3]/255];for(let t=0;t<a.length;t+=4)a[t]*=l[0],a[t+1]*=l[1],a[t+2]*=l[2],a[t+3]*=l[3];const c=new ImageData(new Uint8ClampedArray(a.buffer),r,i);return s.putImageData(c,0,0),n}}var _=r(26937),x=r(28076);function w(t){const e=t.getFrame(0);if(e instanceof HTMLImageElement||e instanceof HTMLCanvasElement)return e;const r=document.createElement("canvas");r.width=t.width,r.height=t.height;const i=r.getContext("2d");return e instanceof ImageData?i.putImageData(e,0,0):i.drawImage(e,0,0),r}function k(t,e=0){if(0===e)return t;const r=Math.cos(e),i=Math.sin(e),[n,s]=t;return[n*r+s*-i,n*i+s*r]}var I=r(44589);class P{constructor(t=0,e=0,r=0,i=0){this.x=t,this.y=e,this.width=r,this.height=i}static fromExtent(t){return new P(t.xmin,-t.ymax,t.xmax-t.xmin,t.ymax-t.ymin)}get isEmpty(){return this.width<=0||this.height<=0}union(t){this.x=Math.min(this.x,t.x),this.y=Math.min(this.y,t.y),this.width=Math.max(this.width,t.width),this.height=Math.max(this.height,t.height)}}var L=r(69754);function T(t){return`rgb(${t.slice(0,3).toString()})`}function R(t){return`rgba(${t.slice(0,3).toString()},${t[3]})`}r(5760);class z{constructor(t){t&&(this._textRasterizationCanvas=t)}rasterizeRichText(t,e){this._textRasterizationCanvas||(this._textRasterizationCanvas=document.createElement("canvas"));const r=this._textRasterizationCanvas,i=r.getContext("2d",{willReadFrequently:!0}),n=this._layoutRichTextRuns(i,t,e);this._parameters=e,this._lineHeight=Math.max(...n.map(t=>t.height),this._measureLineHeight(e));const{decoration:s,weight:o}=e.font;this._lineThroughWidthOffset=s&&"line-through"===s?.1*this._lineHeight:0;const a=null!=e.backgroundColor||null!=e.borderLine,l=a?8:0,c=Math.max(...n.map(t=>t.width),0)+2*l,h=n.reduce((t,e)=>t+e.height,0)+2*l;if(r.width=c+2*this._lineThroughWidthOffset,r.height=h,0===r.width||0===r.height)return r.width=r.height=1,{size:[0,0],image:new Uint32Array(0),sdf:!1,simplePattern:!1,anchorX:0,anchorY:0,canvas:r};this._renderedWidth=c,this._renderedHeight=h,this._renderedOutlineSize=(e.outline.size||0)*e.pixelRatio,this._renderedHaloSize=(e.halo.size||0)*e.pixelRatio,this._lineThroughWidthOffset*=e.pixelRatio;const u=(e.outline&&e.outline.color)??[0,0,0,0],f=e.color??[0,0,0,0],m=e.halo&&e.halo.color?e.halo.color:[0,0,0,0];this._fillStyle=R(f),this._outlineStyle=R(u),this._haloStyle=T(m);const d=this._renderedOutlineSize,g=this._renderedHaloSize;i.save(),i.clearRect(0,0,r.width,r.height);const p=l*e.pixelRatio,y=F("left",this._renderedWidth-2*p,g+d)+p,S=g+d+p;let M=this._lineThroughWidthOffset,C=0;if(a){i.save();const t=e.backgroundColor??[0,0,0,0],n=e.borderLine?.color??[0,0,0,0],s=2*(e.borderLine?.size??0);i.fillStyle=R(t),i.strokeStyle=R(n),i.lineWidth=s,i.fillRect(0,0,r.width,r.height),i.strokeRect(0,0,r.width,r.height),i.restore()}C+=S,M+=y,g>0&&this._renderRichTextOutline(i,n,M,C,e,this._renderedHaloSize+this._renderedOutlineSize),d>0&&this._renderRichTextOutline(i,n,M,C,e,this._renderedOutlineSize);for(const t of n){let r=M;"center"===e.horizontalAlignment?r+=(this._renderedWidth-2*p-t.width)/2:"right"===e.horizontalAlignment&&(r+=this._renderedWidth-2*p-t.width-g-d);let n=r;for(const e of t.segments)v(i,e.parameters,"left",e.characterSpacing),g>0&&(i.globalCompositeOperation="destination-out",i.fillStyle="rgb(0, 0, 0)",this._renderRichTextSegment(i,e,n,C,"fill"),i.globalCompositeOperation="source-over"),i.fillStyle=R(e.parameters.color??f),this._renderRichTextSegment(i,e,n,C,"fill"),n+=e.width;if(s&&"none"!==s){const e=this._renderedWidth;this._renderedWidth=t.width,i.textAlign="left",this._renderDecoration(i,r,C,s,o),this._renderedWidth=e}C+=t.height}i.restore();const b=this._renderedWidth+2*this._lineThroughWidthOffset,_=this._renderedHeight,x=i.getImageData(0,0,b,_),w=new Uint8Array(x.data);if(e.premultiplyColors){let t;for(let e=0;e<w.length;e+=4)t=w[e+3]/255,w[e]=w[e]*t,w[e+1]=w[e+1]*t,w[e+2]=w[e+2]*t}let k,I;switch(e.horizontalAlignment){case"left":k=-.5;break;case"right":k=.5;break;default:k=0}switch(e.verticalAlignment){case"bottom":I=-.5;break;case"top":I=.5;break;case"baseline":I=-1/6;break;default:I=0}return{size:[b,_],image:new Uint32Array(w.buffer),sdf:!1,simplePattern:!1,anchorX:k,anchorY:I,canvas:r}}rasterizeText(t,e){this._textRasterizationCanvas||(this._textRasterizationCanvas=document.createElement("canvas"));const r=this._textRasterizationCanvas,i=r.getContext("2d",{willReadFrequently:!0});v(i,e),this._parameters=e,this._textLines=t.split(/\r?\n/),this._lineHeight=this._computeLineHeight();const{decoration:n,weight:s}=e.font;this._lineThroughWidthOffset=n&&"line-through"===n?.1*this._lineHeight:0;const o=null!=e.backgroundColor||null!=e.borderLine,a=o?8:0,l=this._computeTextWidth(i,e)+2*a,c=this._lineHeight*this._textLines.length+2*a;if(r.width=l+2*this._lineThroughWidthOffset,r.height=c,0===r.width||0===r.height)return r.width=r.height=1,{size:[0,0],image:new Uint32Array(0),sdf:!1,simplePattern:!1,anchorX:0,anchorY:0,canvas:r};this._renderedLineHeight=Math.round(this._lineHeight),this._renderedOutlineSize=(e.outline.size||0)*e.pixelRatio,this._renderedHaloSize=(e.halo.size||0)*e.pixelRatio,this._renderedWidth=l,this._renderedHeight=c,this._lineThroughWidthOffset*=e.pixelRatio;const h=(e.outline&&e.outline.color)??[0,0,0,0],u=e.color??[0,0,0,0],f=e.halo&&e.halo.color?e.halo.color:[0,0,0,0];this._fillStyle=R(u),this._outlineStyle=R(h),this._haloStyle=T(f);const m=this._renderedLineHeight,d=this._renderedOutlineSize,g=this._renderedHaloSize;i.save(),i.clearRect(0,0,r.width,r.height),v(i,e);const p=a*e.pixelRatio,y=F(i.textAlign,this._renderedWidth-2*p,this._renderedHaloSize+this._renderedOutlineSize)+p,S=g+d+p,M=g>0;let C=this._lineThroughWidthOffset,b=0;if(o){i.save();const t=e.backgroundColor??[0,0,0,0],n=e.borderLine?.color??[0,0,0,0],s=2*(e.borderLine?.size??0);i.fillStyle=R(t),i.strokeStyle=R(n),i.lineWidth=s,i.fillRect(0,0,r.width,r.height),i.strokeRect(0,0,r.width,r.height),i.restore()}M&&this._renderHalo(i,y,S,C,b,e),d>0&&this._renderOutline(i,y,S,C,b,e),b+=S,C+=y;for(const t of this._textLines)M?(i.globalCompositeOperation="destination-out",i.fillStyle="rgb(0, 0, 0)",i.fillText(t,C,b),i.globalCompositeOperation="source-over",i.fillStyle=this._fillStyle,i.fillText(t,C,b)):(i.fillStyle=this._fillStyle,i.fillText(t,C,b)),n&&"none"!==n&&this._renderDecoration(i,C,b,n,s),b+=m;i.restore();const _=this._renderedWidth+2*this._lineThroughWidthOffset,x=this._renderedHeight,w=i.getImageData(0,0,_,x),k=new Uint8Array(w.data);if(e.premultiplyColors){let t;for(let e=0;e<k.length;e+=4)t=k[e+3]/255,k[e]=k[e]*t,k[e+1]=k[e+1]*t,k[e+2]=k[e+2]*t}let I,P;switch(e.horizontalAlignment){case"left":I=-.5;break;case"right":I=.5;break;default:I=0}switch(e.verticalAlignment){case"bottom":P=-.5;break;case"top":P=.5;break;case"baseline":P=-1/6;break;default:P=0}return{size:[_,x],image:new Uint32Array(k.buffer),sdf:!1,simplePattern:!1,anchorX:I,anchorY:P,canvas:r}}_renderHalo(t,e,r,i,n,s){const o=this._renderedWidth,a=this._renderedHeight;this._outlineRasterizationCanvas||(this._outlineRasterizationCanvas=document.createElement("canvas")),this._outlineRasterizationCanvas.width=o,this._outlineRasterizationCanvas.height=a;const l=this._outlineRasterizationCanvas,c=l.getContext("2d");c.clearRect(0,0,o,a),v(c,s);const{decoration:h,weight:u}=s.font;c.fillStyle=this._haloStyle,c.strokeStyle=this._haloStyle,c.lineJoin="round",this._renderOutlineNative(c,e,r,h,u,this._renderedHaloSize+this._renderedOutlineSize),t.globalAlpha=this._parameters.halo.color[3],t.drawImage(l,0,0,o,a,i,n,o,a),t.globalAlpha=1}_renderOutline(t,e,r,i,n,s){const o=this._renderedWidth,a=this._renderedHeight;this._outlineRasterizationCanvas||(this._outlineRasterizationCanvas=document.createElement("canvas")),this._outlineRasterizationCanvas.width=o,this._outlineRasterizationCanvas.height=a;const l=this._outlineRasterizationCanvas,c=l.getContext("2d");c.clearRect(0,0,o,a),v(c,s);const{decoration:h,weight:u}=s.font;c.fillStyle=this._outlineStyle,c.strokeStyle=this._outlineStyle,c.lineJoin="round",this._renderOutlineNative(c,e,r,h,u,this._renderedOutlineSize),t.globalAlpha=this._parameters.outline.color[3],t.drawImage(l,0,0,o,a,i,n,o,a),t.globalAlpha=1}_renderOutlineNative(t,e,r,i,n,s){const o=this._renderedLineHeight;for(const a of this._textLines){const l=2*s,c=5,h=.1;for(let s=0;s<c;s++){const o=(1-(c-1)*h+s*h)*l;t.lineWidth=o,t.strokeText(a,e,r),i&&"none"!==i&&this._renderDecoration(t,e,r,i,n,o)}r+=o}}computeTextSize(t,e){this._textRasterizationCanvas||(this._textRasterizationCanvas=document.createElement("canvas"));const r=this._textRasterizationCanvas,i=r.getContext("2d");v(i,e),this._parameters=e,this._textLines=t.split(/\r?\n/),this._lineHeight=this._computeLineHeight();const n=this._computeTextWidth(i,e),s=this._lineHeight*this._textLines.length;return r.width=n,r.height=s,[n*e.pixelRatio,s*e.pixelRatio]}computeRichTextSize(t,e){this._textRasterizationCanvas||(this._textRasterizationCanvas=document.createElement("canvas"));const r=this._textRasterizationCanvas.getContext("2d"),i=this._layoutRichTextRuns(r,t,e),n=Math.max(...i.map(t=>t.width),0),s=i.reduce((t,e)=>t+e.height,0);return[n*e.pixelRatio,s*e.pixelRatio]}_renderRichTextOutline(t,e,r,i,n,s){const o=this._renderedWidth,a=this._renderedHeight;this._outlineRasterizationCanvas||(this._outlineRasterizationCanvas=document.createElement("canvas")),this._outlineRasterizationCanvas.width=o,this._outlineRasterizationCanvas.height=a;const l=this._outlineRasterizationCanvas,c=l.getContext("2d");c.clearRect(0,0,o,a),c.fillStyle=s===this._renderedOutlineSize?this._outlineStyle:this._haloStyle,c.strokeStyle=c.fillStyle,c.lineJoin="round";let h=i;for(const t of e){let e=r;"center"===n.horizontalAlignment?e+=(this._renderedWidth-t.width)/2:"right"===n.horizontalAlignment&&(e+=this._renderedWidth-t.width-this._renderedHaloSize-this._renderedOutlineSize);let i=e;for(const e of t.segments){v(c,e.parameters,"left",e.characterSpacing);const t=2*s,r=5,n=.1;for(let s=0;s<r;s++){const o=1-(r-1)*n+s*n;c.lineWidth=o*t,this._renderRichTextSegment(c,e,i,h,"stroke")}i+=e.width}if(n.font.decoration&&"none"!==n.font.decoration){const r=this._renderedWidth;this._renderedWidth=t.width,c.textAlign="left",this._renderDecoration(c,e,h,n.font.decoration,n.font.weight,2*s),this._renderedWidth=r}h+=t.height}s===this._renderedOutlineSize?t.globalAlpha=this._parameters.outline.color[3]:t.globalAlpha=this._parameters.halo.color[3],t.drawImage(l,0,0,o,a,this._lineThroughWidthOffset,0,o,a),t.globalAlpha=1}_layoutRichTextRuns(t,e,r){const i=[{segments:[],width:0,height:this._measureLineHeight(r)}];for(const n of e){const e=n.text.split(/\r?\n/),s=A(r,n);for(let o=0;o<e.length;o++){const a=e[o],l=i[i.length-1];if(a.length>0){const e=this._measureRichTextSegmentWidth(t,a,s,n.characterSpacing);l.segments.push({text:a,width:e,parameters:s,characterSpacing:n.characterSpacing}),l.width+=e,l.height=Math.max(l.height,this._measureLineHeight(s))}o<e.length-1&&i.push({segments:[],width:0,height:this._measureLineHeight(r)})}}return i}_measureTextWidthWithSpacing(t,e,r,i){const n=this._parameters,s=this._textLines;this._parameters=r,this._textLines=[e],v(t,r,"left",i);const o=this._computeTextWidth(t,r);return this._parameters=n,this._textLines=s,o}_measureRichTextSegmentWidth(t,e,r,i){return this._measureTextWidthWithSpacing(t,e,r,i)}_renderRichTextSegment(t,e,r,i,n){"fill"===n?t.fillText(e.text,r,i):t.strokeText(e.text,r,i)}_measureLineHeight(t){const e=this._parameters;this._parameters=t;const r=this._computeLineHeight();return this._parameters=e,r}_computeTextWidth(t,e){let r=0;for(const e of this._textLines)r=Math.max(r,t.measureText(e).width);const i=e.font;return("italic"===i.style||"oblique"===i.style||"string"==typeof i.weight&&("bold"===i.weight||"bolder"===i.weight)||"number"==typeof i.weight&&i.weight>600)&&(r+=.3*t.measureText("w").width),r+=2*(0,a.Lz)(this._parameters.halo.size),Math.round(r)}_computeLineHeightBase(){return 1.275*this._parameters.size}_computeLineHeight(){let t=this._computeLineHeightBase();const e=this._parameters.font.decoration;return e&&"underline"===e&&(t*=1.3),Math.round(t+2*(0,a.Lz)(this._parameters.halo.size))}_renderDecoration(t,e,r,i,n,s){let o=.9*this._lineHeight;const a="bold"===n?.06:"bolder"===n?.09:.04;switch(t.textAlign){case"center":e-=this._renderedWidth/2;break;case"right":e-=this._renderedWidth}const l=t.textBaseline;if("underline"===i)switch(o=.9*this._computeLineHeightBase(),l){case"top":r+=o;break;case"middle":r+=o/2}else if("line-through"===i)switch(l){case"top":r+=o/1.5;break;case"middle":r+=o/3}const c=s?1.5*s:Math.ceil(o*a);t.save(),t.beginPath(),t.strokeStyle=t.fillStyle,t.lineWidth=c,t.moveTo(e-this._lineThroughWidthOffset,r),t.lineTo(e+this._renderedWidth+2*this._lineThroughWidthOffset,r),t.stroke(),t.restore()}}function v(t,e,r,i=0){const n=Math.max(e.size,.5),s=e.font,o=`${s.style} ${s.weight} ${(0,a.Lz)(n).toFixed(1)}px ${s.family}, sans-serif`;t.font=o,t.textBaseline="top",function(t,e){t.letterSpacing=e>0?`${e}em`:"0px"}(t,i);let l=r??"left";if(!r)switch(e.horizontalAlignment){case"left":default:l="left";break;case"right":l="right";break;case"center":l="center"}t.textAlign=l}function A(t,e){return{...t,color:e.color??t.color,font:{...t.font,family:e.font.family??t.font.family,style:e.font.style??t.font.style,weight:e.font.weight??t.font.weight},size:e.fontSize}}function F(t,e,r){return"center"===t?.5*e:"right"===t?e-r:r}var E=r(93397),D=r(75434),B=r(69221);const U=Math.PI/180,G=()=>s.A.getLogger("esri.symbols.cim.CIMSymbolDrawHelper");class O{constructor(t){this._t=t}static createIdentity(){return new O([1,0,0,0,1,0])}clone(){const t=this._t;return new O(t.slice())}transform(t){const e=this._t;return[e[0]*t[0]+e[1]*t[1]+e[2],e[3]*t[0]+e[4]*t[1]+e[5]]}static createScale(t,e){return new O([t,0,0,0,e,0])}scale(t,e){const r=this._t;return r[0]*=t,r[1]*=t,r[2]*=t,r[3]*=e,r[4]*=e,r[5]*=e,this}scaleRatio(){return Math.sqrt(this._t[0]*this._t[0]+this._t[1]*this._t[1])}static createTranslate(t,e){return new O([0,0,t,0,0,e])}translate(t,e){const r=this._t;return r[2]+=t,r[5]+=e,this}static createRotate(t){const e=Math.cos(t),r=Math.sin(t);return new O([e,-r,0,r,e,0])}rotate(t){return O.multiply(this,O.createRotate(t),this)}angle(){const t=this._t[0],e=this._t[3],r=Math.sqrt(t*t+e*e);return[t/r,e/r]}static multiply(t,e,r){const i=t._t,n=e._t,s=i[0]*n[0]+i[3]*n[1],o=i[1]*n[0]+i[4]*n[1],a=i[2]*n[0]+i[5]*n[1]+n[2],l=i[0]*n[3]+i[3]*n[4],c=i[1]*n[3]+i[4]*n[4],h=i[2]*n[3]+i[5]*n[4]+n[5],u=r._t;return u[0]=s,u[1]=o,u[2]=a,u[3]=l,u[4]=c,u[5]=h,r}invert(){const t=this._t;let e=t[0]*t[4]-t[1]*t[3];if(0===e)return new O([0,0,0,0,0,0]);e=1/e;const r=(t[1]*t[5]-t[2]*t[4])*e,i=(t[2]*t[3]-t[0]*t[5])*e,n=t[4]*e,s=-t[1]*e,o=-t[3]*e,a=t[0]*e;return new O([n,s,r,o,a,i])}}class H{constructor(t,e){this._resourceManager=t,this._transfos=[],this._sizeTransfos=[],this._textScaling=[],this._geomUnitsPerPoint=1,this._placementPool=new y.A(()=>new d.W,void 0,void 0,100),this._earlyReturn=!1,this._mapRotation=0,this._transfos.push(e||O.createIdentity()),this._sizeTransfos.push(e?e.scaleRatio():1),this._textScaling.push(1)}setTransform(t,e){this._transfos=[t||O.createIdentity()],this._sizeTransfos=[e||(t?t.scaleRatio():1)],this._textScaling=[1]}setGeomUnitsPerPoint(t){this._geomUnitsPerPoint=t}transformPt(t){return this._transfos[this._transfos.length-1].transform(t)}transformSize(t){return t*this._sizeTransfos[this._sizeTransfos.length-1]}scaleText(t){return t*this._textScaling[this._textScaling.length-1]}reverseTransformPt(t){return this._transfos[this._transfos.length-1].invert().transform(t)}reverseTransformSize(t){return t/this._sizeTransfos[this._sizeTransfos.length-1]}reverseTransformScalar(t){return t/this._transfos[this._transfos.length-1].scaleRatio()}reverseScaleText(t){return t/this._textScaling[this._textScaling.length-1]}getTransformAngle(){return this._transfos[this._transfos.length-1].angle()}geomUnitsPerPoint(){return this.isEmbedded()?1:this._geomUnitsPerPoint}prevGeomUnitsPerPoint(){return this._transfos.length>2?1:this._geomUnitsPerPoint}isEmbedded(){return this._transfos.length>1}back(){return this._transfos[this._transfos.length-1]}push(t,e=!1,r=1){const i=e?t.scaleRatio():1;O.multiply(t,this.back(),t),this._transfos.push(t),this._sizeTransfos.push(this._sizeTransfos[this._sizeTransfos.length-1]*i),this._textScaling.push(this._textScaling[this._textScaling.length-1]*r)}pop(){this._transfos.splice(-1,1),this._sizeTransfos.splice(-1,1),this._textScaling.splice(-1,1)}drawSymbol(t,e,r){if(t)switch(t.type){case"CIMPointSymbol":case"CIMLineSymbol":case"CIMPolygonSymbol":this.drawMultiLayerSymbol(t,e);break;case"CIMTextSymbol":this.drawTextSymbol(t,e,r)}}drawMultiLayerSymbol(t,e){if(!t||!e)return;const r=t.symbolLayers;if(!r)return;const i=t.effects;if(i&&i.length>0){const t=this.executeEffects(i,e);if(t){let e=t.next();for(;e;)this.drawSymbolLayers(r,e.asJSON()),e=t.next()}}else this.drawSymbolLayers(r,e)}executeEffects(t,e){const r=this.geomUnitsPerPoint(),i=(0,E.ll)(t);let n=new m.kT(S.z.fromJSONCIM(e));for(const s of t){const t=(0,_.A)(s);t&&(n=t.execute(n,s,{geomUnitsPerPoint:r,tileKey:null,maxInflateSize:i,scale:null,spatialReference:e.spatialReference,preventClipping:!1}))}return n}drawSymbolLayers(t,e){let r=t.length;for(;r--;){const i=t[r];if(!i||!1===i.enable)continue;const n=i.effects;if(n&&n.length>0){const t=this.executeEffects(n,e);if(t){let e=null;for(;(e=t.next())&&(this.drawSymbolLayer(i,e.asJSON()),!this._earlyReturn););}}else this.drawSymbolLayer(i,e);if(this._earlyReturn)return}}drawSymbolLayer(t,e){switch(t.type){case"CIMSolidFill":this.drawSolidFill(e,t.color,t.path);break;case"CIMHatchFill":this.drawHatchFill(e,t);break;case"CIMPictureFill":this.drawPictureFill(e,t);break;case"CIMGradientFill":this.drawGradientFill(e,t);break;case"CIMSolidStroke":this.drawSolidStroke(e,t.color,t.width,t.capStyle,t.joinStyle,t.miterLimit,t.path);break;case"CIMPictureStroke":this.drawPictureStroke(e,t);break;case"CIMGradientStroke":this.drawGradientStroke(e,t);break;case"CIMCharacterMarker":case"CIMPictureMarker":case"CIMVectorMarker":this.drawMarkerLayer(t,e)}}drawHatchFill(t,e){const r=function(t,e,r){let i=(0,E.$w)(t.separation,x.D.CIMHatchFill.separation)*r,n=(0,E.$w)(t.rotation);if(0===i)return null;i<0&&(i=-i);let s=0;const o=.5*i;for(;s>o;)s-=i;for(;s<-o;)s+=i;const a=(0,l.vt)();(0,c.Rg)(a,e),a[0]-=o,a[1]-=o,a[2]+=o,a[3]+=o;const h=[[a[0],a[1]],[a[0],a[3]],[a[2],a[3]],[a[2],a[1]]];for(;n>180;)n-=180;for(;n<0;)n+=180;const u=Math.cos(n*U),f=Math.sin(n*U),m=-i*f,d=i*u;let g,p,y,S;s=(0,E.$w)(t.offsetX)*r*f-(0,E.$w)(t.offsetY)*r*u,g=y=Number.MAX_VALUE,p=S=-Number.MAX_VALUE;for(const t of h){const e=t[0],r=t[1],i=u*e+f*r,n=-f*e+u*r;g=Math.min(g,i),y=Math.min(y,n),p=Math.max(p,i),S=Math.max(S,n)}y=Math.floor(y/i)*i;let M=u*g-f*y-m*s/i,C=f*g+u*y-d*s/i,b=u*p-f*y-m*s/i,_=f*p+u*y-d*s/i;const w=1+Math.round((S-y)/i),k=[];for(let t=0;t<w;t++)M+=m,C+=d,b+=m,_+=d,k.push([[M,C],[b,_]]);return{paths:k}}(e,t,this.geomUnitsPerPoint());r&&(this.pushClipPath(t),this.drawMultiLayerSymbol(e.lineSymbol,r),this.popClipPath())}drawPictureFill(t,e){}drawGradientFill(t,e){}drawPictureStroke(t,e){}drawGradientStroke(t,e){}drawMarkerLayer(t,e){const r=t.markerPlacement;if(r){const i=(0,_.c)(r);if(i){const n="CIMMarkerPlacementInsidePolygon"===r.type||"CIMMarkerPlacementPolygonCenter"===r.type&&r.clipAtBoundary;n&&this.pushClipPath(e);const s=i.execute(S.z.fromJSONCIM(e),r,this.geomUnitsPerPoint(),null);if(s){let e=null;for(;(e=s.next())&&(this.drawMarker(t,e),!this._earlyReturn););}n&&this.popClipPath()}}else{const r=this._placementPool.acquire();if((0,C.fT)(e))r.tx=e.x,r.ty=e.y,this.drawMarker(t,r);else if((0,C.Bi)(e)){const i=(0,M.l8)(e);i&&([r.tx,r.ty]=i,this.drawMarker(t,r))}else if((0,C.Rg)(e)){for(const i of e.paths)for(const e of i)if(r.tx=e[0],r.ty=e[1],this.drawMarker(t,r),this._earlyReturn)break}else for(const i of e.points)if(r.tx=i[0],r.ty=i[1],this.drawMarker(t,r),this._earlyReturn)break;this._placementPool.release(r)}}drawMarker(t,e){switch(t.type){case"CIMCharacterMarker":case"CIMPictureMarker":this.drawPictureMarker(t,e);break;case"CIMVectorMarker":this.drawVectorMarker(t,e)}}drawPictureMarker(t,e){if(!t)return;const r=this._resourceManager.getResource(t.url),i=(0,E.$w)(t.size,x.D.CIMPictureMarker.size);if(null==r||i<=0)return;const n=r.width,s=r.height;if(!n||!s)return;const o=n/s,a=(0,E.$w)(t.scaleX,1),l=O.createIdentity(),c=t.anchorPoint;if(c){let e=c.x,r=c.y;"Absolute"!==t.anchorPointUnits&&(e*=i*o*a,r*=i),l.translate(-e,-r)}let h=(0,E.$w)(t.rotation);t.rotateClockwise&&(h=-h),this._mapRotation&&(h+=this._mapRotation),h&&l.rotate(h*U);let u=(0,E.$w)(t.offsetX),f=(0,E.$w)(t.offsetY);if(u||f){if(this._mapRotation){const t=U*this._mapRotation,e=Math.cos(t),r=Math.sin(t),i=u*r+f*e;u=u*e-f*r,f=i}l.translate(u,f)}const m=this.geomUnitsPerPoint();1!==m&&l.scale(m,m);const d=e.getAngle();d&&l.rotate(d),l.translate(e.tx,e.ty),this.push(l),this.drawImage(t,i),this.pop()}drawVectorMarker(t,e){if(!t)return;const r=t.markerGraphics;if(!r)return;const i=(0,E.$w)(t.size,x.D.CIMVectorMarker.size),n=t.frame,s=n?n.ymax-n.ymin:0,o=i&&s?i/s:1,a=O.createIdentity();n&&a.translate(.5*-(n.xmax+n.xmin),.5*-(n.ymax+n.ymin));const l=t.anchorPoint;if(l){let e=l.x,r=l.y;"Absolute"!==t.anchorPointUnits?n&&(e*=n.xmax-n.xmin,r*=n.ymax-n.ymin):(e/=o,r/=o),a.translate(-e,-r)}1!==o&&a.scale(o,o);let c=(0,E.$w)(t.rotation);t.rotateClockwise&&(c=-c),this._mapRotation&&(c+=this._mapRotation),c&&a.rotate(c*U);let h=(0,E.$w)(t.offsetX),u=(0,E.$w)(t.offsetY);if(h||u){if(this._mapRotation){const t=U*this._mapRotation,e=Math.cos(t),r=Math.sin(t),i=h*r+u*e;h=h*e-u*r,u=i}a.translate(h,u)}const f=this.geomUnitsPerPoint();1!==f&&a.scale(f,f);const m=e.getAngle();m&&a.rotate(m),a.translate(e.tx,e.ty);const d=t.scaleSymbolsProportionally?1:o;this.push(a,t.scaleSymbolsProportionally,d);for(const t of r){t?.symbol&&t.geometry||G().error("Invalid marker graphic",t);let e=t.textString;if("number"==typeof e&&(e=e.toString()),this.drawSymbol(t.symbol,t.geometry,e),this._earlyReturn)break}this.pop()}drawTextSymbol(t,e,r){if(!t)return;if(!(0,C.fT)(e))return;if((0,E.$w)(t.height,x.D.CIMTextSymbol.height)<=0)return;const i=O.createIdentity();let n=(0,E.$w)(t.angle);n=-n,n&&i.rotate(n*U);const s=(0,E.$w)(t.offsetX),o=(0,E.$w)(t.offsetY);(s||o)&&i.translate(s,o);const a=this.geomUnitsPerPoint();1!==a&&i.scale(a,a),i.translate(e.x,e.y),this.push(i),this.drawText(t,r),this.pop()}}class N extends H{constructor(t,e){super(t,e),this.reset()}reset(){this._xmin=this._ymin=1/0,this._xmax=this._ymax=-1/0,this._clipCount=0}envelope(){return new P(this._xmin,this._ymin,this._xmax-this._xmin,this._ymax-this._ymin)}bounds(){return(0,l.fA)(this._xmin,this._ymin,this._xmax,this._ymax)}drawSolidFill(t){if(t&&!(this._clipCount>0))if((0,C.Bi)(t))this._processPath(t.rings,0);else if((0,C.Rg)(t))this._processPath(t.paths,0);else if((0,C.ZC)(t)){const e=V(t);e&&this._processPath(e.rings,0)}else console.error("drawSolidFill Unexpected geometry type!")}drawSolidStroke(t,e,r){if(!t||this._clipCount>0||null==r||r<=0)return;const i=Math.max(.5*this.transformSize((0,E.$w)(r,x.D.CIMSolidStroke.width)),.25);if((0,C.Bi)(t))this._processPath(t.rings,i);else if((0,C.Rg)(t))this._processPath(t.paths,i);else if((0,C.ZC)(t)){const e=V(t);e&&this._processPath(e.rings,i)}else console.error("drawSolidStroke unexpected geometry type!")}drawMarkerLayer(t,e){(0,C.Bi)(e)&&t.markerPlacement&&("CIMMarkerPlacementInsidePolygon"===t.markerPlacement.type||"CIMMarkerPlacementPolygonCenter"===t.markerPlacement.type&&t.markerPlacement.clipAtBoundary)?this._processPath(e.rings,0):super.drawMarkerLayer(t,e)}drawHatchFill(t,e){this.drawSolidFill(t)}drawPictureFill(t,e){this.drawSolidFill(t)}drawGradientFill(t,e){this.drawSolidFill(t)}drawPictureStroke(t,e){this.drawSolidStroke(t,null,e.width)}drawGradientStroke(t,e){this.drawSolidStroke(t,null,e.width)}pushClipPath(t){this.drawSolidFill(t),this._clipCount++}popClipPath(){this._clipCount--}drawImage(t,e){const{url:r}=t,i=(0,E.$w)(t.scaleX,1);let n=i*e,s=e;const o=this._resourceManager.getResource(r);if(null!=o){const t=o.height/o.width;n=i*(e?t>1?e:e/t:o.width),s=e?t>1?e*t:e:o.height}this._merge(this.transformPt([-n/2,-s/2]),0),this._merge(this.transformPt([-n/2,s/2]),0),this._merge(this.transformPt([n/2,-s/2]),0),this._merge(this.transformPt([n/2,s/2]),0)}drawText(t,e){if(!e||0===e.length)return;this._textRasterizer||(this._textRasterizer=new z);const r=X(t),i=(0,L.Z)({textString:e,font:r.font,symbol:t,supportsRichText:(0,L.q)(e)});let[n,s]=i?this._textRasterizer.computeRichTextSize(i,r):this._textRasterizer.computeTextSize(e,r);n=(0,a.PN)(n),s=(0,a.PN)(s);const o=this.transformSize(1)*this.reverseTransformScalar(1);n*=o,s*=o;const l=t.horizontalAlignment??x.D.CIMTextSymbol.horizontalalignment,c=t.verticalAlignment??x.D.CIMTextSymbol.verticalalignment;let h=0;switch(l){case"Left":h=n/2;break;case"Right":h=-n/2}let u=0;switch(c){case"Bottom":u=s/2;break;case"Top":u=-s/2;break;case"Baseline":u=s/6}this._merge(this.transformPt([-n/2+h,-s/2+u]),0),this._merge(this.transformPt([-n/2+h,s/2+u]),0),this._merge(this.transformPt([n/2+h,-s/2+u]),0),this._merge(this.transformPt([n/2+h,s/2+u]),0)}_processPath(t,e){if(t)for(const r of t){const t=r?r.length:0;if(t>1){this._merge(this.transformPt(r[0]),e);for(let i=1;i<t;i++)this._merge(this.transformPt(r[i]),e)}}}_merge(t,e){t[0]-e<this._xmin&&(this._xmin=t[0]-e),t[0]+e>this._xmax&&(this._xmax=t[0]+e),t[1]-e<this._ymin&&(this._ymin=t[1]-e),t[1]+e>this._ymax&&(this._ymax=t[1]+e)}}class W extends H{constructor(t,e,r,i){super(e,r),this._applyAdditionalRenderProps=i,this._colorSubstitutionHelper=new b,this._ctx=t}drawSolidFill(t,e){if(!t)return;if((0,C.Bi)(t))this._buildPath(t.rings,!0);else if((0,C.Rg)(t))this._buildPath(t.paths,!0);else if((0,C.ZC)(t))this._buildPath(V(t).rings,!0);else{if(!(0,C.U9)(t))return;console.log("CanvasDrawHelper.drawSolidFill - No implementation!")}const r=this._ctx;r.fillStyle="string"==typeof e?e:"rgba("+Math.round(e[0])+","+Math.round(e[1])+","+Math.round(e[2])+","+(e[3]??255)/255+")",r.fill("evenodd")}drawSolidStroke(t,e,r,i,n,s){if(!t||!e||0===r)return;if((0,C.Bi)(t))this._buildPath(t.rings,!0);else if((0,C.Rg)(t))this._buildPath(t.paths,!1);else{if(!(0,C.ZC)(t))return void console.log("CanvasDrawHelper.drawSolidStroke isn't implemented!");this._buildPath(V(t).rings,!0)}const o=this._ctx;o.strokeStyle="string"==typeof e?e:"rgba("+Math.round(e[0])+","+Math.round(e[1])+","+Math.round(e[2])+","+(e[3]??255)/255+")",o.lineWidth=Math.max(this.transformSize(r),.5),this._setCapStyle(i),this._setJoinStyle(n),o.miterLimit=s,o.stroke()}pushClipPath(t){if(this._ctx.save(),(0,C.Bi)(t))this._buildPath(t.rings,!0);else if((0,C.Rg)(t))this._buildPath(t.paths,!0);else{if(!(0,C.ZC)(t))return;this._buildPath(V(t).rings,!0)}this._ctx.clip("evenodd")}popClipPath(){this._ctx.restore()}drawImage(t,e){const{colorSubstitutions:r,url:i,tintColor:n}=t,s=(0,E.$w)(t.scaleX,1),o=this._resourceManager.getResource(i);if(null==o)return;let a=e*(o.width/o.height),l=e;e||(a=o.width,l=o.height);const c=(0,E.UE)(i)||"src"in o&&(0,E.UE)(o.src);let h="getFrame"in o?w(o):o;r&&(h=this._colorSubstitutionHelper.applyColorSubstitution(h,r)),this._applyAdditionalRenderProps&&!c&&n&&(h=this._colorSubstitutionHelper.tintImageData(h,n));const u=this.transformPt([0,0]),[f,m]=this.getTransformAngle(),d=this.transformSize(1),g=this._ctx;g.save(),g.setTransform({m11:s*d*f,m12:s*d*m,m21:-d*m,m22:d*f,m41:u[0],m42:u[1]}),g.drawImage(h,-a/2,-l/2,a,l),g.restore()}drawText(t,e){if(!e||0===e.length)return;this._textRasterizer||(this._textRasterizer=new z);const r=X(t,this.transformSize((0,a.PN)(1))),i=(0,L.Z)({textString:e,font:r.font,symbol:t,supportsRichText:(0,L.q)(e)}),n=i?this._textRasterizer.rasterizeRichText(i,r):this._textRasterizer.rasterizeText(e,r);if(!n)return;const{size:s,anchorX:o,anchorY:l,canvas:c}=n,h=s[0]*(o+.5),u=s[1]*(l-.5),f=this._ctx,m=this.transformPt([0,0]),[d,g]=this.getTransformAngle();f.save(),f.setTransform({m11:1*d,m12:1*g,m21:-1*g,m22:1*d,m41:m[0]-1*h,m42:m[1]+1*u}),f.drawImage(c,0,0),f.restore()}drawPictureFill(t,e){if(!t)return;let{colorSubstitutions:r,height:i,offsetX:n,offsetY:s,rotation:o,scaleX:a,tintColor:l,url:c}=e;const h=this._resourceManager.getResource(c);if(null==h)return;if((0,C.Bi)(t))this._buildPath(t.rings,!0);else if((0,C.Rg)(t))this._buildPath(t.paths,!0);else if((0,C.ZC)(t))this._buildPath(V(t).rings,!0);else{if(!(0,C.U9)(t))return;console.log("CanvasDrawHelper.drawPictureFill - No implementation!")}const u=this._ctx,f=(0,E.UE)(c)||"src"in h&&(0,E.UE)(h.src);let m,d="getFrame"in h?w(h):h;if(r&&(d=this._colorSubstitutionHelper.applyColorSubstitution(d,r)),this._applyAdditionalRenderProps){f||l&&(d=this._colorSubstitutionHelper.tintImageData(d,l)),m=u.createPattern(d,"repeat");const t=this.transformSize(1);o||(o=0),n?n*=t:n=0,s?s*=t:s=0,i&&(i*=t);const e=i?i/h.height:1,r=a&&i?a*i/h.width:1;if(0!==o||1!==e||1!==r||0!==n||0!==s){const t=new DOMMatrix;t.rotateSelf(0,0,-o).translateSelf(n,s).scaleSelf(r,e,1),m.setTransform(t)}}else m=u.createPattern(d,"repeat");u.save(),u.fillStyle=m,u.fill("evenodd"),u.restore()}drawPictureStroke(t,e){if(!t)return;let{colorSubstitutions:r,capStyle:i,joinStyle:s,miterLimit:o,tintColor:l,url:c,width:h}=e;const u=this._resourceManager.getResource(c);if(null==u)return;let f;if((0,C.Bi)(t))f=t.rings;else if((0,C.Rg)(t))f=t.paths;else{if(!(0,C.ZC)(t))return(0,C.U9)(t)?void console.log("CanvasDrawHelper.drawPictureStroke - No implementation!"):void 0;f=V(t).rings}h||(h=u.width);const m=(0,E.UE)(c)||"src"in u&&(0,E.UE)(u.src);let d="getFrame"in u?w(u):u;r&&(d=this._colorSubstitutionHelper.applyColorSubstitution(d,r)),this._applyAdditionalRenderProps&&(m||l&&(d=this._colorSubstitutionHelper.tintImageData(d,l)));const g=Math.max(this.transformSize((0,a.Lz)(h)),.5),p=g/d.width,y=this._ctx,S=y.createPattern(d,"repeat-y");let M,b;y.save(),this._setCapStyle(i),this._setJoinStyle(s),void 0!==o&&(y.miterLimit=o),y.lineWidth=g;for(let t of f)if(t=(0,n.o8)(t),Y(t),t&&!(t.length<=1)){M=this.transformPt(t[0]);for(let e=1;e<t.length;e++){b=this.transformPt(t[e]);const r=$(M,b),i=new DOMMatrix;i.translateSelf(0,M[1]-g/2).scaleSelf(p,p,1).rotateSelf(0,0,90-r),S.setTransform(i),y.strokeStyle=S,y.beginPath(),y.moveTo(M[0],M[1]),y.lineTo(b[0],b[1]),y.stroke(),M=b}}y.restore()}drawGradientFill(t,e){if(!t)return;let r;if((0,C.Bi)(t))r=t.rings;else if((0,C.Rg)(t))r=t.paths;else{if(!(0,C.ZC)(t))return void G().error("Unable to draw gradient fill");r=V(t).rings}this._buildPath(r,!0);const{angle:i,gradientMethod:n,gradientSize:s,gradientSizeUnits:o}=e,c=x.D.CIMGradientFill,h=e.gradientType??c.gradientType,u=-(0,p.kU)(i??0),f=(0,l.Ie)();for(const t of r){const e=t?t.length:0;if(e>1)for(let r=0;r<e;r++){let e=this.transformPt(t[r]);"Linear"!==n&&"Rectangular"!==n||(e=k(e,-u)),(0,l.tK)(f,e)}}const[m,d,g,y]=f,S=this._ctx;switch(S.save(),n){case"Buffered":G().error(`Gradient method "${n}" currently unsupported.`);break;case"Linear":{const t=(d+y)/2,r="Absolute"===o?this.transformSize((0,a.Lz)(s)):(0,E.yX)(s,c.gradientSize)*(g-m),[i,n]="Discrete"===h?[g,g-r]:[m+r,m],l=k([i,t],u),f=k([n,t],u),p=S.createLinearGradient(l[0],l[1],f[0],f[1]);(0,I.AH)(p,e),S.fillStyle=p,S.fill("evenodd");break}case"Circular":{const t=(0,l.gX)(f),r=(0,l.ib)(f)/2,i="Absolute"===o?this.transformSize((0,a.Lz)(s)):(0,E.yX)(s,c.gradientSize)*r,[n,u]="Discrete"===h?[r,r-i]:[i,0],m=S.createRadialGradient(t[0],t[1],n,t[0],t[1],u);(0,I.AH)(m,e),S.fillStyle=m,S.fill("evenodd");break}case"Rectangular":{const r=(0,l.gX)(f),i=r[0],n=r[1],p=k(r,u),M=(r,i,n,s,o,a,l,c)=>{S.save(),this.pushClipPath(t);const h=k([o,a],u),f=k([l,c],u);S.beginPath(),S.moveTo(p[0],p[1]),S.lineTo(h[0],h[1]),S.lineTo(f[0],f[1]),S.lineTo(p[0],p[1]),S.clip();const m=k([r,i],u),d=k([n,s],u),g=S.createLinearGradient(m[0],m[1],d[0],d[1]);(0,I.AH)(g,e),S.fillStyle=g,S.fill("evenodd"),S.restore()};let C="Absolute"===o?this.transformSize((0,a.Lz)(s)):(0,E.yX)(s,c.gradientSize)*((0,l.VL)(f)/2),[b,_]="Discrete"===h?[g,g-C]:[i+C,i];M(b,n,_,n,g,d,g,y),[b,_]="Discrete"===h?[m,m+C]:[i-C,i],M(b,n,_,n,m,y,m,d),C="Absolute"===o?this.transformSize((0,a.Lz)(s)):(0,E.yX)(s,c.gradientSize)*((0,l.uJ)(f)/2);let[x,w]="Discrete"===h?[y,y-C]:[n+C,n];M(i,x,i,w,g,y,m,y),[x,w]="Discrete"===h?[d,d+C]:[n-C,n],M(i,x,i,w,m,d,g,d);break}}S.restore()}drawGradientStroke(t,e){const{capStyle:r,gradientMethod:i,gradientSize:s,gradientSizeUnits:o,joinStyle:l,miterLimit:c,width:h}=e;if(!t||0===h)return;let u;if((0,C.Bi)(t))u=t.rings;else if((0,C.Rg)(t))u=t.paths;else{if(!(0,C.ZC)(t))return void G().error("Unable to draw gradient stroke");u=V(t).rings}const f=e.gradientType??x.D.CIMGradientStroke.gradientType,m=Math.max(this.transformSize((0,a.Lz)(h)),.5),d=this._ctx;let g,p;d.save(),this._setCapStyle(r),this._setJoinStyle(l),void 0!==c&&(d.miterLimit=c),d.lineWidth=m;for(let t of u){if(t=(0,n.o8)(t),Y(t),!t||t.length<=1)continue;let r=0;g=this.transformPt(t[0]);for(let e=1;e<t.length;e++){p=this.transformPt(t[e]);const i=p[0]-g[0],n=p[1]-g[1];r+=Math.sqrt(i*i+n*n),g=p}const l="Absolute"===o?this.transformSize((0,a.Lz)(s)):(0,E.yX)(s,x.D.CIMGradientStroke.gradientSize)*("AcrossLine"===i?m:r);let c=0;g=this.transformPt(t[0]);for(let n=1;n<t.length;n++){p=this.transformPt(t[n]);const s=p[0]-g[0],o=p[1]-g[1],a=Math.sqrt(s*s+o*o);let h,u,y,S;switch(i){case"AcrossLine":{const[t,e]=k([s/a,o/a],-Math.PI/2),r=m/2,i="Discrete"===f?r:l-r;h=(g[0]+p[0])/2+t*i,u=(g[1]+p[1])/2+e*i,y=h-t*l,S=u-e*l;break}case"AlongLine":{const t=s/a,e=o/a;"Discrete"===f?(h=g[0]-t*c,u=g[1]-e*c,y=h+t*l,S=u+e*l):(y=g[0]+t*(r-c),S=g[1]+e*(r-c),h=y-t*l,u=S-e*l);break}default:return G().error("Unrecognized gradient method:",i),void d.restore()}const M=d.createLinearGradient(h,u,y,S);(0,I.AH)(M,e),d.strokeStyle=M,d.beginPath(),d.moveTo(g[0],g[1]),d.lineTo(p[0],p[1]),d.stroke(),c+=a,g=p}}d.restore()}_buildPath(t,e){const r=this._ctx;if(r.beginPath(),t)for(const i of t){const t=i?i.length:0;if(t>1){let n=this.transformPt(i[0]);r.moveTo(n[0],n[1]);for(let e=1;e<t;e++)n=this.transformPt(i[e]),r.lineTo(n[0],n[1]);e&&r.closePath()}}}_setCapStyle(t){switch(t){case"Butt":this._ctx.lineCap="butt";break;case"Round":this._ctx.lineCap="round";break;case"Square":this._ctx.lineCap="square"}}_setJoinStyle(t){switch(t){case"Bevel":this._ctx.lineJoin="bevel";break;case"Round":this._ctx.lineJoin="round";break;case"Miter":this._ctx.lineJoin="miter"}}}function $(t,e){const r=e[0]-t[0],i=e[1]-t[1];return 180/Math.PI*Math.atan2(i,r)}const V=t=>t?{spatialReference:t.spatialReference,rings:[[[t.xmin,t.ymin],[t.xmin,t.ymax],[t.xmax,t.ymax],[t.xmax,t.ymin],[t.xmin,t.ymin]]]}:null;function X(t,e=1){const r=(0,E.DW)(t),i=(0,E._d)(t.fontStyleName),n=t.fontFamilyName??g.Vb,{weight:s,style:o}=i,a=e*(t.height||5),l=(0,E.Bu)(t.horizontalAlignment),c=(0,E.Nl)(t.verticalAlignment),h=(0,E.pM)(t),u=(0,E.pM)(t.haloSymbol),f=null!=u?e*(t.haloSize??0):0,m=(0,E._1)(t.symbol),d=e*((0,E.xo)(t.symbol)||0),p="CIMBackgroundCallout"===t.callout?.type?t.callout.backgroundSymbol:null,y=(0,E.pM)(p),S=(0,E.xo)(p),M=(0,E._1)(p);return{color:h,size:a,horizontalAlignment:l,verticalAlignment:c,font:{family:n,style:(0,E.pV)(o),weight:(0,E.Kn)(s),decoration:r},outline:{size:d||0,color:m},halo:{size:f||0,color:u,style:o},backgroundColor:y,borderLine:null!=S&&null!=M?{size:S,color:M}:null,pixelRatio:1,premultiplyColors:!0}}function Y(t){let e,r,i,n,s,o=t[0],a=1;for(;a<t.length;)e=t[a][0]-o[0],r=t[a][1]-o[1],n=0!==e?r/e:Math.PI/2,void 0!==i&&Math.abs(n-i)<=1e-4?(t.splice(a-1,1),o=s):(s=o,o=t[a],a++),i=n}var q=r(59868),Z=r(13195);const j=Math.PI,J=j/2,K=Math.PI/180,Q=96/72,tt=()=>s.A.getLogger("esri.symbols.cim.CIMSymbolHelper");function et(t){let e;switch(t.type){case"cim":return t.data;case"web-style":return t;case"simple-marker":{const r=st.fromSimpleMarker(t);if(!r)throw new Error("InternalError: Cannot convert symbol to CIM");e=r;break}case"picture-marker":e=st.fromPictureMarker(t);break;case"simple-line":e=st.fromSimpleLineSymbol(t);break;case"simple-fill":e=st.fromSimpleFillSymbol(t);break;case"picture-fill":e=st.fromPictureFillSymbol(t);break;case"text":e=st.fromTextSymbol(t)}return{type:"CIMSymbolReference",symbol:e}}function rt(t,e,r){switch(e.type){case"CIMSymbolReference":return rt(t,e.symbol,r);case"CIMPointSymbol":null==r&&(r={x:0,y:0}),t.drawSymbol(e,r);break;case"CIMLineSymbol":null==r&&(r={paths:[[[0,0],[10,0]]]}),t.drawSymbol(e,r);break;case"CIMPolygonSymbol":null==r&&(r={rings:[[[0,0],[0,10],[10,10],[10,0],[0,0]]]}),t.drawSymbol(e,r);break;case"CIMTextSymbol":{const r={x:0,y:0};t.drawSymbol(e,r);break}case"CIMVectorMarker":{const r=new d.W;t.drawMarker(e,r);break}}return t.envelope()}function it(t){if(!t)return 0;switch(t.type){case"CIMMarkerPlacementAlongLineSameSize":case"CIMMarkerPlacementAlongLineRandomSize":case"CIMMarkerPlacementAtExtremities":case"CIMMarkerPlacementAtMeasuredUnits":case"CIMMarkerPlacementAtRatioPositions":case"CIMMarkerPlacementOnLine":case"CIMMarkerPlacementOnVertices":return Math.abs(t.offset??0);default:return 0}}class nt{static getSymbolInflateSize(t,e,r,i,n){return t||(t=[0,0,0,0]),e?this._getInflateSize(t,e,r,i,n):t}static safeSize(t){const e=Math.max(Math.abs(t[0]),Math.abs(t[2])),r=Math.max(Math.abs(t[1]),Math.abs(t[3]));return Math.sqrt(e*e+r*r)}static _vectorMarkerBounds(t,e,r,i){let n=!0;const s=(0,l.vt)();if(e?.markerGraphics)for(const o of e.markerGraphics){const e=[0,0,0,0];o.geometry&&((0,c.Rg)(s,o.geometry),e[0]=0,e[1]=0,e[2]=0,e[3]=0,this.getSymbolInflateSize(e,o.symbol,r,0,i),s[0]+=e[0],s[1]+=e[1],s[2]+=e[2],s[3]+=e[3],n?(t[0]=s[0],t[1]=s[1],t[2]=s[2],t[3]=s[3],n=!1):(t[0]=Math.min(t[0],s[0]),t[1]=Math.min(t[1],s[1]),t[2]=Math.max(t[2],s[2]),t[3]=Math.max(t[3],s[3])))}return t}static _getInflateSize(t,e,r,i,n){if(function(t){return void 0!==t.symbolLayers}(e)){const s=this._getLayersInflateSize(t,e.symbolLayers,r,i,n),o=(0,E.ll)(e.effects);return o>0&&(s[0]-=o,s[1]-=o,s[2]+=o,s[3]+=o),s}return this._getTextInflatedSize(t,e,n)}static _getLayersInflateSize(t,e,r,i,n){let s=!0;if(!e)return t;for(const o of e){if(!o)continue;let e=[0,0,0,0];switch(o.type){case"CIMSolidFill":case"CIMPictureFill":case"CIMHatchFill":case"CIMGradientFill":break;case"CIMSolidStroke":case"CIMPictureStroke":case"CIMGradientStroke":{const t=o;let r=t.width;null!=r&&("Square"===t.capStyle||"Miter"===t.joinStyle?r/=1.4142135623730951:r/=2,e[0]=-r,e[1]=-r,e[2]=r,e[3]=r);break}case"CIMCharacterMarker":case"CIMVectorMarker":case"CIMPictureMarker":{const t=o;if("CIMVectorMarker"===o.type){const t=o;if(e=this._vectorMarkerBounds(e,t,r,n),t.frame){const r=(t.frame.xmin+t.frame.xmax)/2,i=(t.frame.ymin+t.frame.ymax)/2;if(e[0]-=r,e[1]-=i,e[2]-=r,e[3]-=i,null!=t.size){const r=t.size/(t.frame.ymax-t.frame.ymin);e[0]*=r,e[1]*=r,e[2]*=r,e[3]*=r}}}else if("CIMPictureMarker"===o.type){const i=o,n=r.getResource(i.url);let s=1;if(null!=n&&n.height&&(s=n.width/n.height),null!=t.size){const r=t.size/2,n=t.size*s*(i.scaleX??1)/2;e=[-n,-r,n,r]}}else if(null!=t.size){const r=t.size/2;e=[-r,-r,r,r]}if(t.anchorPoint){let r,i;"Absolute"===t.anchorPointUnits?(r=t.anchorPoint.x,i=t.anchorPoint.y):(r=t.anchorPoint.x*(e[2]-e[0]),i=t.anchorPoint.y*(e[3]-e[1]));const n=1.25*Math.sqrt(r*r+i*i);e[0]-=n,e[1]-=n,e[2]+=n,e[3]+=n}let s=(0,E.$w)(t.rotation);if(t.rotateClockwise&&(s=-s),i&&(s-=i),s){const t=K*s,r=Math.cos(t),i=Math.sin(t),n=(0,l.vt)([Z.MG,Z.MG,-Z.MG,-Z.MG]);(0,l.tK)(n,[e[0]*r-e[1]*i,e[0]*i+e[1]*r]),(0,l.tK)(n,[e[0]*r-e[3]*i,e[0]*i+e[3]*r]),(0,l.tK)(n,[e[2]*r-e[1]*i,e[2]*i+e[1]*r]),(0,l.tK)(n,[e[2]*r-e[3]*i,e[2]*i+e[3]*r]),e=n}let a=(0,E.$w)(t.offsetX),c=(0,E.$w)(t.offsetY);if(i){const t=K*i,e=Math.cos(t),r=Math.sin(t),n=a*r+c*e;a=a*e-c*r,c=n}e[0]+=a,e[1]+=c,e[2]+=a,e[3]+=c;const h=it(t.markerPlacement);h>0&&(e[0]-=h,e[1]-=h,e[2]+=h,e[3]+=h);break}}const a=(0,E.ll)(o.effects);a>0&&(e[0]-=a,e[1]-=a,e[2]+=a,e[3]+=a),s?(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],s=!1):(t[0]=Math.min(t[0],e[0]),t[1]=Math.min(t[1],e[1]),t[2]=Math.max(t[2],e[2]),t[3]=Math.max(t[3],e[3]))}return t}static _getTextInflatedSize(t,e,r){const i=(0,B.hV)(e.height??x.D.CIMTextSymbol.height);if(t[0]=-i/2,t[1]=-i/2,t[2]=i/2,t[3]=i/2,!r)return t;const n=r.get(e);if(!n)return t;if(!function(t){return"glyphs"===t.type?t.glyphs.length>0:t.runs.some(t=>t.glyphs.glyphs.length>0)}(n.glyphMosaicItems))return t;const{lineGapType:s,lineGap:o}=e,a=s?((t,e,r)=>{switch(t){case"ExtraLeading":return 1+e/r;case"Multiple":return e;case"Exact":return e/r}})(s,o??0,i):0,l=e.horizontalAlignment??x.D.CIMTextSymbol.horizontalalignment,c=e.verticalAlignment??x.D.CIMTextSymbol.verticalalignment,h="CIMBackgroundCallout"===e.callout?.type,u=(0,D.tA)(n.glyphMosaicItems,{scale:i/24,angle:(0,E.$w)(e.angle),xOffset:(0,E.$w)(e.offsetX),yOffset:(0,E.$w)(e.offsetY),horizontalAlignment:l,verticalAlignment:c,maxLineWidth:(0,B.Lu)(e.lineWidth),lineHeight:29*Math.max(.25,Math.min(a||1,4)),decoration:e.font.decoration||"none",useCIMAngleBehavior:!0,hasBackground:h}).boundsT,f=Math.sqrt(u.width*u.width+u.height*u.height);return t[0]-=u.x+f,t[1]-=u.y-f,t[2]+=u.x+f,t[3]+=-u.y+f,t}}class st{static getEnvelope(t,e,r,i){if(!t)return null;const n=new N(r,i);if(Array.isArray(t)){let r;for(const i of t)r?r.union(rt(n,i,e)):r=rt(n,i,e);return r}return rt(n,t,e)}static getTextureInfo(t,e,r,i,n){const s=i??this.getEnvelope(t,null,e);if(!s)return[0,0,0,0,1];const o=Math.max(s.width,s.height)*Q;let a=null!=n?Math.max(n/o,1):1;a*=Q,s.x*=a,s.y*=a,s.width*=a,s.height*=a,s.width=Math.max(Math.ceil(s.x+s.width)-Math.floor(s.x),1)-1,s.height=Math.max(Math.ceil(s.y+s.height)-Math.floor(s.y),1)-1;let l=s.x+.5*s.width,c=s.y+.5*s.height;return l+=s.x-Math.floor(s.x),c+=s.y-Math.floor(s.y),i||(s.width+=r,s.height+=r,l+=r/2,c+=r/2),[s.width,s.height,l,c,a]}static getTextureAnchor(t,e,r){const[i,n,s,o,a]=this.getTextureInfo(t,e,2,null,r);return[-s/i,-o/n,n/a*Q]}static rasterize(t,e,r,i,n=!0,s){const[o,a,l,c,h]=this.getTextureInfo(e,i,2,r,s);t.width=o,t.height=a;const u=t.getContext("2d",{willReadFrequently:!0}),f=O.createScale(h,-h);f.translate(.5*o-l,.5*a+c);const m=new W(u,i,f);switch(e.type){case"CIMPointSymbol":{const t={type:"point",x:0,y:0};m.drawSymbol(e,t);break}case"CIMVectorMarker":{const t=new d.W;m.drawMarker(e,t);break}}const g=u.getImageData(0,0,t.width,t.height),p=new Uint8Array(g.data);if(n){let t;for(let e=0;e<p.length;e+=4)t=p[e+3]/255,p[e]=p[e]*t,p[e+1]=p[e+1]*t,p[e+2]=p[e+2]*t}return[p,t.width,t.height,-l/o,-c/a]}static fromTextSymbol(t){const{text:e}=t;return{type:"CIMPointSymbol",symbolLayers:[{type:"CIMVectorMarker",enable:!0,anchorPointUnits:"Relative",dominantSizeAxis3D:"Y",size:10,billboardMode3D:"FaceNearPlane",frame:{xmin:-5,ymin:-5,xmax:5,ymax:5},markerGraphics:[{type:"CIMMarkerGraphic",geometry:{x:0,y:0},symbol:st.createCIMTextSymbolfromTextSymbol(t),textString:e}],scaleSymbolsProportionally:!0,respectFrame:!0}],scaleX:1,angleAlignment:"Display"}}static fromPictureFillSymbol(t){const{height:e,outline:r,width:i,xoffset:n,xscale:s,yoffset:o,yscale:a}=t,l=[],c={type:"CIMPolygonSymbol",symbolLayers:l};if(r){const t=St(r);t&&l.push(t)}let h=t.url;"esriPFS"===t.type&&t.imageData&&(h=t.imageData);const u="angle"in t?t.angle??0:0,f=(i??0)*(s||1),m=(e??0)*(a||1);return l.push({type:"CIMPictureFill",enable:!0,invertBackfaceTexture:!1,scaleX:1,textureFilter:"Picture",tintColor:null,url:h,height:m,width:f,offsetX:(0,E.$w)(n),offsetY:(0,E.$w)(o),rotation:(0,E.$w)(-u),colorSubstitutions:null}),c}static fromSimpleFillSymbol(t){const{color:e,style:r,outline:i}=t,s=[],o={type:"CIMPolygonSymbol",symbolLayers:s};if(i){const t=St(i);t&&s.push(t)}if(r&&"solid"!==r&&"none"!==r&&"esriSFSSolid"!==r&&"esriSFSNull"!==r){const t={type:"CIMLineSymbol",symbolLayers:[{type:"CIMSolidStroke",color:ut(e),capStyle:"Butt",joinStyle:"Miter",width:.75}]};let i=0;const o=(0,a.PN)(yt(r)?8:10);switch(r){case"vertical":case"esriSFSVertical":i=90;break;case"forward-diagonal":case"esriSFSForwardDiagonal":case"diagonal-cross":case"esriSFSDiagonalCross":i=-45;break;case"backward-diagonal":case"esriSFSBackwardDiagonal":i=45;break;case"cross":case"esriSFSCross":i=0}s.push({type:"CIMHatchFill",lineSymbol:t,offsetX:0,offsetY:0,rotation:i,separation:o}),"cross"===r||"esriSFSCross"===r?s.push({type:"CIMHatchFill",lineSymbol:(0,n.o8)(t),offsetX:0,offsetY:0,rotation:90,separation:o}):"diagonal-cross"!==r&&"esriSFSDiagonalCross"!==r||s.push({type:"CIMHatchFill",lineSymbol:(0,n.o8)(t),offsetX:0,offsetY:0,rotation:45,separation:o})}else!r||"solid"!==r&&"esriSFSSolid"!==r||s.push({type:"CIMSolidFill",enable:!0,color:ut(e)});return o}static fromSimpleLineSymbol(t){const{cap:e,color:r,join:i,marker:n,miterLimit:s,style:o,width:a}=t;let l=null;"solid"!==o&&"none"!==o&&"esriSLSSolid"!==o&&"esriSLSNull"!==o&&(l=[{type:"CIMGeometricEffectDashes",dashTemplate:gt(o,e),lineDashEnding:"NoConstraint",scaleDash:!0,offsetAlongLine:null}]);const c=[];if(n){let t;switch(n.placement){case"begin-end":t="Both";break;case"begin":t="JustBegin";break;case"end":t="JustEnd";break;default:t="None"}const e=st.fromSimpleMarker(n,a,r).symbolLayers[0];e.markerPlacement={type:"CIMMarkerPlacementAtExtremities",placePerPart:!1,angleToLine:!0,keepUpright:!1,offset:0,extremityPlacement:t,offsetAlongLine:0},c.push(e)}return c.push({type:"CIMSolidStroke",color:"none"!==o&&"esriSLSNull"!==o?ut(r):[0,0,0,0],capStyle:at(e),joinStyle:lt(i),miterLimit:s,width:a,effects:l}),{type:"CIMLineSymbol",symbolLayers:c}}static fromPictureMarker(t){const{angle:e,height:r,width:i,xoffset:n,yoffset:s}=t;let o=t.url;return"esriPMS"===t.type&&t.imageData&&(o=t.imageData),{type:"CIMPointSymbol",symbolLayers:[{type:"CIMPictureMarker",invertBackfaceTexture:!1,scaleX:1,textureFilter:"Picture",tintColor:null,url:o,size:r,width:i,offsetX:(0,E.$w)(n),offsetY:(0,E.$w)(s),rotation:(0,E.$w)(-e)}]}}static createCIMTextSymbolfromTextSymbol(t){const{angle:e,color:r,font:n,haloColor:s,haloSize:o,horizontalAlignment:a,kerning:l,lineWidth:c,text:h,verticalAlignment:u,xoffset:f,yoffset:m,backgroundColor:d,borderLineColor:g,borderLineSize:p}=t;let y,S,M,C,b,_;n&&(y=n.family,S=n.style,M=n.weight,C=n.size,b=n.decoration);let x=!1;return h&&(x=(0,i.y)(h)[1]),(d||p)&&(_={type:"CIMBackgroundCallout",margin:null,backgroundSymbol:{type:"CIMPolygonSymbol",symbolLayers:[{type:"CIMSolidFill",enable:!0,color:ut(d)},{type:"CIMSolidStroke",enable:!0,color:ut(g),width:p??0}]},accentBarSymbol:null,gap:null,leaderLineSymbol:null,lineStyle:null}),{type:"CIMTextSymbol",angle:e,blockProgression:2,depth3D:1,extrapolateBaselines:!0,fontEffects:0,fontEncoding:1,fontFamilyName:y||"Arial",fontStyleName:ft(S,M),fontType:0,haloSize:o,height:C,hinting:1,horizontalAlignment:ct(a??"center"),kerning:l,letterWidth:100,ligatures:!0,lineGapType:"Multiple",lineWidth:c,offsetX:(0,E.$w)(f),offsetY:(0,E.$w)(m),strikethrough:"line-through"===b,underline:"underline"===b,symbol:{type:"CIMPolygonSymbol",symbolLayers:[{type:"CIMSolidFill",enable:!0,color:ut(r)}]},haloSymbol:{type:"CIMPolygonSymbol",symbolLayers:[{type:"CIMSolidFill",enable:!0,color:ut(s)}]},shadowColor:[0,0,0,255],shadowOffsetX:1,shadowOffsetY:1,textCase:"Normal",textDirection:x?1:0,verticalAlignment:ht(u??"baseline"),verticalGlyphOrientation:0,wordSpacing:100,billboardMode3D:2,callout:_}}static createPictureMarkerRasterizationParam(t){const{angle:e,height:r,width:i,xoffset:n,yoffset:s}=t,o=t.url??t.source?.url??t.source?.imageData;return o?{type:"sprite-rasterization-param",overrides:[],resource:{type:"CIMPictureMarker",enable:!0,invertBackfaceTexture:!1,scaleX:1,textureFilter:"Picture",tintColor:null,url:o,size:r,width:i,offsetX:(0,E.$w)(n),offsetY:(0,E.$w)(s),rotation:(0,E.$w)(-e)}}:null}static createPictureFillRasterizationParam(t){const{width:e,height:r,xoffset:i,yoffset:n,url:s}=t;return s?{type:"sprite-rasterization-param",overrides:[],resource:{type:"CIMPictureFill",enable:!0,scaleX:1,textureFilter:"Picture",tintColor:null,url:s,width:e,height:r,offsetX:(0,E.$w)(i),offsetY:(0,E.$w)(n),rotation:0}}:null}static fromSimpleMarker(t,e,r){const{style:i}=t,n=t.color??r;if("path"===i||"esriSMSPath"===i){const e=[];if("outline"in t&&t.outline){const r=t.outline;e.push({type:"CIMSolidStroke",enable:!0,width:r.width,color:ut(r.color),path:t.path})}e.push({type:"CIMSolidFill",enable:!0,color:ut(n),path:t.path});const[r,i]=pt("square");return{type:"CIMPointSymbol",symbolLayers:[{type:"CIMVectorMarker",enable:!0,rotation:-(0,E.$w)(t.angle),size:(0,E.$w)(t.size||6),offsetX:(0,E.$w)(t.xoffset),offsetY:(0,E.$w)(t.yoffset),scaleSymbolsProportionally:!1,frame:r,markerGraphics:[{type:"CIMMarkerGraphic",geometry:i,symbol:{type:"CIMPolygonSymbol",symbolLayers:e}}]}]}}const s=[];let o,a,l=t.size;if("outline"in t&&t.outline&&"none"!==t.outline.style&&"esriSLSNull"!==t.outline.style){const e=t.outline,r="solid"!==e.style&&"esriSLSSolid"!==e.style;[o,a]=r?pt(i,t.size):pt(i);const n=e.width??q.A7.width;if(r){const e=n/t.size,r=(o.xmax-o.xmin)*e/2,i=(o.ymax-o.ymin)*e/2;o.xmin-=r,o.xmax+=r,o.ymin-=i,o.ymax+=i,l&&(l+=n)}const c="cross"!==t.style&&"x"!==t.style||"dot"===t?.outline.style||"short-dot"===t?.outline.style?"HalfGap":"FullPattern",h=r?[{type:"CIMGeometricEffectAddControlPoints"},{type:"CIMGeometricEffectDashes",dashTemplate:gt(e.style,null).map(t=>e.width&&e.width>0?t*e.width:t),lineDashEnding:c,controlPointEnding:"FullPattern"}]:void 0;s.push({type:"CIMSolidStroke",capStyle:r?"Round":"Butt",enable:!0,width:n,color:ut(e.color),effects:h})}else!e||"line-marker"!==t.type||"cross"!==t.style&&"x"!==t.style?[o,a]=pt(i):([o,a]=pt(i),s.push({type:"CIMSolidStroke",enable:!0,width:e,color:ut(n)}));s.push({type:"CIMSolidFill",enable:!0,color:ut(n)});const c={type:"CIMPolygonSymbol",symbolLayers:s};return{type:"CIMPointSymbol",symbolLayers:[{type:"CIMVectorMarker",enable:!0,rotation:(0,E.$w)(-t.angle),size:(0,E.$w)(l||6*e),offsetX:(0,E.$w)(t.xoffset),offsetY:(0,E.$w)(t.yoffset),scaleSymbolsProportionally:!1,frame:o,markerGraphics:[{type:"CIMMarkerGraphic",geometry:a,symbol:c}]}]}}static fromCIMHatchFill(t,e){const r=e*(t.separation??x.D.CIMHatchFill.separation),i=r/2,s=(0,n.o8)(t.lineSymbol);s.symbolLayers?.forEach(t=>{switch(t.type){case"CIMSolidStroke":null!=t.width&&(t.width*=e),t.effects?.forEach(t=>{if("CIMGeometricEffectDashes"===t.type){const r=t.dashTemplate;t.dashTemplate=r?.map(t=>t*e)}});break;case"CIMVectorMarker":{null!=t.size&&(t.size*=e);const r=t.markerPlacement;null!=r&&"placementTemplate"in r&&(r.placementTemplate=r.placementTemplate.map(t=>t*e));break}}});let o=this._getLineSymbolPeriod(s)||4;for(;o<4;)o*=2;const a=o/2;return{type:"CIMVectorMarker",enable:!0,frame:{xmin:-a,xmax:a,ymin:-i,ymax:i},markerGraphics:[{type:"CIMMarkerGraphic",geometry:{paths:[[[-a,0],[a,0]]]},symbol:s}],size:r}}static async normalizeSymbolAndFetchResources(t,e,r=null){if(!t)return;const i=[];if("effects"in t&&t.effects)for(const e of t.effects)i.push((0,m.ai)(e));async function n(t){if("CIMTextSymbol"!==t.type)return;const{fontFamilyName:r,fontStyleName:i}=t;if("calcitewebcoreicons"===r?.toLowerCase())return;const{style:n,weight:s}=(0,E._d)(i),o=(0,E.DW)(t),a=new f.A({family:r,style:n,weight:s,decoration:o});try{await e.loadFont(a)}catch{tt().error(`Unsupported font ${r} in CIM symbol`)}}i.push(n(t)),ot(t,t=>{if(t.effects)for(const e of t.effects)i.push((0,m.ai)(e));if("CIMVectorMarker"===t.type){for(const e of t.markerGraphics)(0,h.Ed)(e.geometry)&&(e.geometry=(0,u.GS)(e.geometry,{maxDeviation:.01}));t.markerPlacement&&i.push((0,m.g1)(t.markerPlacement))}"url"in t&&t.url&&i.push(e.fetchResource(t.url,{signal:r})),"symbol"in t&&i.push(n(t.symbol))}),await Promise.all(i)}static _getLineSymbolPeriod(t){if(t){const e=this._getEffectsRepeat(t.effects);if(e)return e;if(t.symbolLayers)for(const e of t.symbolLayers)if(e){const t=this._getEffectsRepeat(e.effects);if(t)return t;switch(e.type){case"CIMCharacterMarker":case"CIMPictureMarker":case"CIMVectorMarker":case"CIMObjectMarker3D":case"CIMglTFMarker3D":{const t=this._getPlacementRepeat(e.markerPlacement);if(t)return t}}}}return 0}static _getEffectsRepeat(t){if(t)for(const e of t)if(e)switch(e.type){case"CIMGeometricEffectDashes":{const t=e.dashTemplate;if(t&&t.length){let e=0;for(const r of t)e+=r;return 1&t.length&&(e*=2),e}break}case"CIMGeometricEffectWave":return e.period;default:tt().error(`unsupported geometric effect type ${e.type}`)}return 0}static _getPlacementRepeat(t){if(t)switch(t.type){case"CIMMarkerPlacementAlongLineSameSize":case"CIMMarkerPlacementAlongLineRandomSize":case"CIMMarkerPlacementAlongLineVariableSize":{const e=t.placementTemplate;if(e&&e.length){let t=0;for(const r of e)t+=+r;return 1&e.length&&(t*=2),t}break}}return 0}static fromCIMInsidePolygon(t){const e=t.markerPlacement,r={...t};r.markerPlacement=null,r.anchorPoint=null;const i=Math.abs(e.stepX),n=Math.abs(e.stepY),s=(e.randomness??100)/100;let l,c,h,u;if("Random"===e.gridType){const t=(0,a.PN)(1024),r=Math.max(Math.floor(t/i),1),f=Math.max(Math.floor(t/n),1);l=r*i/2,c=f*n/2,h=2*c;const m=new o.A(e.seed),d=s*i/1.5,g=s*n/1.5;u=[];for(let t=0;t<r;t++)for(let e=0;e<f;e++){const r=t*i-l+d*(.5-m.getFloat()),s=e*n-c+g*(.5-m.getFloat());u.push({x:r,y:s}),0===t&&u.push({x:r+2*l,y:s}),0===e&&u.push({x:r,y:s+2*c})}}else!0===e.shiftOddRows?(l=i/2,c=n,h=2*n,u=[{x:-l,y:0},{x:l,y:0},{x:0,y:c},{x:0,y:-c}]):(l=i/2,c=n/2,h=n,u=[{x:-i,y:0},{x:0,y:-n},{x:-i,y:-n},{x:0,y:0},{x:i,y:0},{x:0,y:n},{x:i,y:n},{x:-i,y:n},{x:i,y:-n}]);return{type:"CIMVectorMarker",enable:!0,frame:{xmin:-l,xmax:l,ymin:-c,ymax:c},markerGraphics:u.map(t=>({type:"CIMMarkerGraphic",geometry:t,symbol:{type:"CIMPointSymbol",symbolLayers:[r]}})),size:h}}}function ot(t,e){if(t)switch(t.type){case"CIMPointSymbol":case"CIMLineSymbol":case"CIMPolygonSymbol":{const r=t.symbolLayers;if(!r)return;for(const t of r)if(e(t),"CIMVectorMarker"===t.type){const r=t.markerGraphics;if(!r)continue;for(const t of r)if(t){const r=t.symbol;r&&ot(r,e)}}break}}}const at=t=>{if(!t)return"Butt";switch(t){case"butt":return"Butt";case"square":return"Square";case"round":return"Round"}},lt=t=>{if(!t)return"Miter";switch(t){case"miter":return"Miter";case"round":return"Round";case"bevel":return"Bevel"}},ct=t=>{if(null==t)return"Center";switch(t){case"left":return"Left";case"right":return"Right";case"center":return"Center";case"justify":return"Justify"}},ht=t=>{if(null==t)return"Center";switch(t){case"baseline":return"Baseline";case"top":return"Top";case"middle":return"Center";case"bottom":return"Bottom"}},ut=t=>{if(!t)return[0,0,0,0];const{r:e,g:r,b:i,a:n}=t;return[e,r,i,255*n]},ft=(t,e)=>{const r=mt(e),i=dt(t);return r&&i?`${r}-${i}`:`${r}${i}`},mt=t=>{if(!t)return"";switch(t.toLowerCase()){case"bold":case"bolder":return"bold"}return""},dt=t=>{if(!t)return"";switch(t.toLowerCase()){case"italic":case"oblique":return"italic"}return""},gt=(t,e)=>{const r=.001,i="butt"===e;switch(t){case"dash":case"esriSLSDash":return i?[4,3]:[3,4];case"dash-dot":case"esriSLSDashDot":return i?[4,3,1,3]:[3,4,r,4];case"dot":case"esriSLSDot":return i?[1,3]:[r,4];case"long-dash":case"esriSLSLongDash":return i?[8,3]:[7,4];case"long-dash-dot":case"esriSLSLongDashDot":return i?[8,3,1,3]:[7,4,r,4];case"long-dash-dot-dot":case"esriSLSDashDotDot":return i?[8,3,1,3,1,3]:[7,4,r,4,r,4];case"short-dash":case"esriSLSShortDash":return i?[4,1]:[3,2];case"short-dash-dot":case"esriSLSShortDashDot":return i?[4,1,1,1]:[3,2,r,2];case"short-dash-dot-dot":case"esriSLSShortDashDotDot":return i?[4,1,1,1,1,1]:[3,2,r,2,r,2];case"short-dot":case"esriSLSShortDot":return i?[1,1]:[r,2];case"solid":case"esriSLSSolid":case"none":return tt().error("Unexpected: style does not require rasterization"),[0,0];default:return tt().error(`Tried to rasterize SLS, but found an unexpected style: ${t}!`),[0,0]}},pt=(t,e=100)=>{const r=e/2;let i,n;const s=t;if("circle"===s||"esriSMSCircle"===s){const t=.25;let e=Math.acos(1-t/r),s=Math.ceil(j/e/4);0===s&&(s=1),e=J/s,s*=4;const o=[];o.push([r,0]);for(let t=1;t<s;t++)o.push([r*Math.cos(t*e),-r*Math.sin(t*e)]);o.push([r,0]),i={rings:[o]},n={xmin:-r,ymin:-r,xmax:r,ymax:r}}else if("cross"===s||"esriSMSCross"===s){const t=0;i={paths:[[[t,r],[t,-r]],[[r,t],[-r,t]]]},n={xmin:-r,ymin:-r,xmax:r,ymax:r}}else if("diamond"===s||"esriSMSDiamond"===s)i={rings:[[[-r,0],[0,r],[r,0],[0,-r],[-r,0]]]},n={xmin:-r,ymin:-r,xmax:r,ymax:r};else if("square"===s||"esriSMSSquare"===s)i={rings:[[[-r,-r],[-r,r],[r,r],[r,-r],[-r,-r]]]},n={xmin:-r,ymin:-r,xmax:r,ymax:r};else if("x"===s||"esriSMSX"===s)i={paths:[[[r,r],[-r,-r]],[[r,-r],[-r,r]]]},n={xmin:-r,ymin:-r,xmax:r,ymax:r};else if("triangle"===s||"esriSMSTriangle"===s){const t=.5773502691896257*e,r=-t,s=2/3*e,o=s-e;i={rings:[[[r,o],[0,s],[t,o],[r,o]]]},n={xmin:r,ymin:o,xmax:t,ymax:s}}else"arrow"===s&&(i={rings:[[[-50,50],[50,0],[-50,-50],[-33,-20],[-33,20],[-50,50]]]},n={xmin:-r,ymin:-r,xmax:r,ymax:r});return[n,i]},yt=t=>"vertical"===t||"horizontal"===t||"cross"===t||"esriSFSCross"===t||"esriSFSVertical"===t||"esriSFSHorizontal"===t;function St(t){if(!t)return null;let e=null;const{cap:r,color:i,join:n,miterLimit:s,style:o,width:a}=t;return"solid"!==o&&"none"!==o&&"esriSLSSolid"!==o&&"esriSLSNull"!==o&&(e=[{type:"CIMGeometricEffectDashes",dashTemplate:gt(o,r),lineDashEnding:"NoConstraint",scaleDash:!0,offsetAlongLine:null}]),{type:"CIMSolidStroke",color:"esriSLSNull"!==o&&"none"!==o?ut(i):[0,0,0,0],capStyle:at(r),joinStyle:lt(n),miterLimit:s,width:a,effects:e}}},28076(t,e,r){var i=r(13337);const n={CIMVectorMarker:{scalesymbolsproportionally:!1,respectframe:!0,anchorpointunits:"Relative",offsetx:0,offsety:0,rotateclockwise:!1,rotation:0,size:10,enable:!0,colorlocked:!1},CIMPictureMarker:{scalex:1,texturefilter:"Draft",anchorpointunits:"Relative",offsetx:0,offsety:0,rotateclockwise:!1,rotation:0,size:10,enable:!0,colorlocked:!1},CIMTextSymbol:{angle:0,anglex:0,angley:0,halosize:1,height:10,horizontalalignment:"Left",kerning:!0,letterspacing:0,letterwidth:100,ligatures:!0,linegap:0,offsetx:0,offsety:0,strikethrough:!1,textcase:"Normal",textstring:"",underline:!1,verticalalignment:"Bottom",enable:!0,colorlocked:!1},CIMSolidStroke:{capstyle:"Round",joinstyle:"Round",miterlimit:4,width:4,enable:!0,colorlocked:!1},CIMPictureStroke:{texturefilter:"Draft",capstyle:"Round",joinstyle:"Round",miterlimit:4,width:4,enable:!0,colorlocked:!1},CIMGradientStroke:{capstyle:"Round",joinstyle:"Round",miterlimit:4,width:4,enable:!0,colorlocked:!1,gradientMethod:"AcrossLine",gradientSize:75,gradientSizeUnits:i.h.Relative,gradientType:"Discrete",interval:5},CIMSolidFill:{enable:!0,colorlocked:!1},CIMPictureFill:{offsetx:0,offsety:0,rotation:0,scalex:1,height:10,texturefilter:"Draft",enable:!0,colorlocked:!1},CIMHatchFill:{offsetx:0,offsety:0,rotation:0,separation:4,enable:!0,colorlocked:!1},CIMGradientFill:{enable:!0,angle:90,gradientMethod:"Linear",gradientSize:75,gradientSizeUnits:i.h.Relative,gradientType:"Discrete",interval:5},CIMGeometricEffectAddControlPoints:{angletolerance:120},CIMGeometricEffectArrow:{arrowtype:"OpenEnded",width:5},CIMGeometricEffectBuffer:{size:1},CIMGeometricEffectCircularSector:{radius:25,startangle:0,endangle:45},CIMGeometricEffectCut:{begincut:1,endcut:1,middlecut:0,invert:!1},CIMGeometricEffectDashes:{customendingoffset:0,linedashending:"NoConstraint",offsetalongline:0},CIMGeometricEffectDonut:{method:"Mitered",option:"Accurate",width:2},CIMGeometricEffectJog:{angle:225,length:20,position:50},CIMGeometricEffectControlMeasureLine:{rule:"FullGeometry",width:25},CIMGeometricEffectMove:{offsetx:1,offsety:-1},CIMGeometricEffectOffset:{method:"Square",offset:1,option:"Fast"},CIMGeometricEffectRadial:{angle:0,length:5},CIMGeometricEffectRotate:{angle:15},CIMGeometricEffectScale:{xscalefactor:1.15,yscalefactor:1.15},CIMGeometricEffectWave:{amplitude:2,period:3,seed:1,waveform:"Sinus"},CIMMarkerPlacementAlongLine:{customendingoffset:0,endings:"WithHalfGap",offsetalongline:0,placeperpart:!0,angletoline:!0,offset:0},CIMMarkerPlacementAtExtremities:{extremityplacement:"Both",offsetalongline:0,angletoline:!0,offset:0},CIMMarkerPlacementAtRatioPositions:{beginposition:0,endposition:0,flipfirst:!0,angletoline:!0,offset:0},CIMMarkerPlacementInsidePolygon:{gridangle:0,gridtype:"Fixed",offsetx:0,offsety:0,randomness:100,seed:0,shiftoddrows:!1,stepx:16,stepy:16,clipping:"ClipAtBoundary"},CIMMarkerPlacementOnLine:{relativeto:"LineMiddle",startpointoffset:0,angletoline:!0,offset:0},CIMMarkerPlacementOnVertices:{placeperpart:!0,placeoncontrolpoints:!0,placeonendpoints:!0,placeonregularvertices:!0,angletoline:!0,offset:0},CIMMarkerPlacementPolygonCenter:{method:"OnPolygon",offsetx:0,offsety:0,clipatboundary:!1},CIMAnimatedSymbolProperties:{playanimation:!1,reverseanimation:!1,randomizestarttime:!1,randomizestartseed:0,starttimeoffset:0,duration:3,endingduration:3,useendingduration:!1,repeattype:"Loop",repeatdelay:0,easing:"Linear"},CIMSymbolAnimationSize:{tosize:10},CIMSymbolAnimationScale:{scalefactor:1},CIMSymbolAnimationColor:{tocolor:[255,255,255,1],colormode:"Multiply"},CIMSymbolAnimationTransparency:{totransparency:0},CIMSymbolAnimationRotation:{torotation:0,rotateclockwise:!1},CIMSymbolAnimationOffset:{offsetx:0,offsety:0},CIMSymbolAnimationMoveAlongLine:{speed:30,distancealong:100,movementtype:"Distance"}};r.d(e,["D",0,n])},44589(t,e,r){r.d(e,{AH:()=>a}),r(40804);var i=r(53966),n=(r(34727),r(35521),r(28076));const s=()=>i.A.getLogger("esri.symbols.cim.rasterizingUtils");let o;function a(t,e){const{colorRamp:r,gradientType:i}=e,s=l(r),a="CIMFixedColorRamp"===r.type;if("Continuous"===i&&!a)return c(t,s);const h=e.interval??n.D.CIMGradientFill.interval;if(a)return c(t,function(t,e){const r=[],i=(t.length-1)/(e-1);for(let n=0;n<e;n++){const s=t[Math.round(n*i)].color;r.push({offset:n/e,color:s}),r.push({offset:(n+1)/e,color:s})}return r}(s,h));const u=[];o??=document.createElement("canvas"),function(t,e,r,i,n){const s=r+2*n;t.width=s,t.height=i;const o=(n+1)/s,a=t.getContext("2d",{willReadFrequently:!0});if(e.length>0){const t=a.createLinearGradient(0,0,s,i);c(t,e,o),a.fillStyle=t}else a.fillStyle="rgba(128, 128, 128, 1)";a.fillRect(0,0,s,i)}(o,s,h,1,0);const f=o.getContext("2d").getImageData(0,0,h,1).data;for(let t=0,e=0;t<h;t++,e=4*t){const r=[f[e+0],f[e+1],f[e+2],f[e+3]];u.push({offset:t/h,color:r}),u.push({offset:(t+1)/h,color:r})}return c(t,u)}function l(t){const e=[];switch(t.type){case"CIMPolarContinuousColorRamp":case"CIMLinearContinuousColorRamp":{"CIMPolarContinuousColorRamp"===t.type&&s().warnOnce("CIMPolarContinuousColorRamp is currently unsupported. Falling back to CIMLinearContinuousColorRamp.");const r=t;e.push({offset:0,color:[r.fromColor[0],r.fromColor[1],r.fromColor[2],r.fromColor[3]/255]}),e.push({offset:1,color:[r.toColor[0],r.toColor[1],r.toColor[2],r.toColor[3]/255]});break}case"CIMFixedColorRamp":{const r=t,i=1/(r.colors.length-1);let n=0;for(const t of r.colors)e.push({offset:n,color:[t[0],t[1],t[2],t[3]/255]}),n+=i;break}case"CIMMultipartColorRamp":{const r=t,i=r.weights.reduce((t,e)=>t+e,0);let n=0;for(let t=0;t<r.colorRamps.length;t++){const s=r.colorRamps[t],o=r.weights[t],a=l(s);for(const t of a)e.push({offset:(n+t.offset*o)/i,color:t.color});n+=o}break}default:s().error(`Color ramp "${t.type}" currently unsupported.`)}return e}function c(t,e,r=0){for(const{offset:i,color:n}of e)t.addColorStop(Math.min(Math.max(i,r),1-r),`rgba(${n[0]}, ${n[1]}, ${n[2]}, ${n[3]})`)}},13337(t,e,r){r.d(e,["h",0,{Relative:0,Absolute:1}])},93397(t,e,r){r.d(e,{Bu:()=>k,DW:()=>b,FH:()=>R,FM:()=>a,Kn:()=>M,Kq:()=>N,MM:()=>u,Nl:()=>I,O2:()=>P,YC:()=>v,YF:()=>L,_1:()=>x,_d:()=>C,_h:()=>o,bs:()=>z,e6:()=>c,gQ:()=>s,jn:()=>m,lW:()=>h,ll:()=>D,mA:()=>f,oI:()=>W,pM:()=>_,pV:()=>S,pk:()=>F,rB:()=>E,xo:()=>w,yX:()=>H,z9:()=>y,zb:()=>T,zr:()=>d});var i=r(28076);function n(t){let e=t.length;for(;e--;)if(!" /-,\n".includes(t.charAt(e)))return!1;return!0}function s(t,e){const r=[];let i=0,s=-1;do{if(s=t.indexOf("[",i),s>=i){if(s>i){const e=t.slice(i,s);r.push([e,null,n(e)])}if(i=s+1,s=t.indexOf("]",i),s>=i){if(s>i){const n=e[t.slice(i,s)];n&&r.push([null,n,!1])}i=s+1}}}while(-1!==s);if(i<t.length){const e=t.slice(i);r.push([e,null,n(e)])}return r}function o(t,e,r){let i="",n=null;for(const r of e){const[e,s,o]=r;if(null!=e&&""!==e)o?n=e:(null!=n&&(i+=n,n=null),i+=e);else{const e=t.readAttribute(s);null!=e&&""!==e&&(null!==n&&(i+=n,n=null),i+=e)}}return l(i,r)}function a(t,e,r,i){let n="",s=null;for(const i of e){const[e,o,a]=i;if(null!=e&&""!==e)a?s=e:(null!=s&&(n+=s,s=null),n+=e);else{let e=o;null!=r&&(e=A(o,r));const i=t.attributes[e];null!=i&&""!==i&&(null!=s&&(n+=s,s=null),n+=i)}}return l(n,i)}function l(t,e){switch("string"!=typeof t&&(t=String(t)),e){case"LowerCase":return t.toLowerCase();case"Allcaps":return t.toUpperCase();default:return t}}function c(t){return t?[t[0],t[1],t[2],t[3]/255]:[0,0,0,0]}function h(t){return t.data?.symbol??null}function u(t){return"CIMVectorMarker"===t.type||"CIMPictureMarker"===t.type||"CIMBarChartMarker"===t.type||"CIMCharacterMarker"===t.type||"CIMPieChartMarker"===t.type||"CIMStackedBarChartMarker"===t.type}function f(t){return"CIMGradientStroke"===t.type||"CIMPictureStroke"===t.type||"CIMSolidStroke"===t.type}function m(t){return null!=t&&("CIMGradientFill"===t.type||"CIMHatchFill"===t.type||"CIMPictureFill"===t.type||"CIMSolidFill"===t.type||"CIMWaterFill"===t.type)}function d(t){return null!=t&&("CIMMarkerPlacementAlongLineRandomSize"===t.type||"CIMMarkerPlacementAlongLineSameSize"===t.type||"CIMMarkerPlacementAlongLineVariableSize"===t.type||"CIMMarkerPlacementAtExtremities"===t.type||"CIMMarkerPlacementAtMeasuredUnits"===t.type||"CIMMarkerPlacementAtRatioPositions"===t.type||"CIMMarkerPlacementOnLine"===t.type||"CIMMarkerPlacementOnVertices"===t.type)}const g=(t,e=0)=>null==t||isNaN(t)?e:t;class p{constructor(t){this._import=t}getImportPromise(){return null==this._promise&&(this._promise=this._import().then(t=>this.module=t)),this._promise}}function y(t){return new p(t)}function S(t){if(!t)return"normal";switch(t.toLowerCase()){case"italic":return"italic";case"oblique":return"oblique";default:return"normal"}}function M(t){if(!t)return"normal";switch(t.toLowerCase()){case"bold":return"bold";case"bolder":return"bolder";case"lighter":return"lighter";default:return"normal"}}function C(t){let e="normal",r="normal";if(t){const i=t.toLowerCase();i.includes("italic")?e="italic":i.includes("oblique")&&(e="oblique"),i.includes("bold")?r="bold":i.includes("light")&&(r="lighter")}return{style:e,weight:r}}function b(t){return t.underline?"underline":t.strikethrough?"line-through":"none"}function _(t){if(!t)return null;switch(t.type){case"CIMPolygonSymbol":if(t.symbolLayers)for(const e of t.symbolLayers){const t=_(e);if(null!=t)return t}break;case"CIMTextSymbol":return _(t.symbol);case"CIMSolidFill":return t.color}return null}function x(t){if(t)switch(t.type){case"CIMPolygonSymbol":case"CIMLineSymbol":{const e=t.symbolLayers;if(e)for(const t of e){const e=x(t);if(null!=e)return e}break}case"CIMTextSymbol":return x(t.symbol);case"CIMSolidStroke":return t.color}}function w(t){if(t)switch(t.type){case"CIMPolygonSymbol":case"CIMLineSymbol":if(t.symbolLayers)for(const e of t.symbolLayers){const t=w(e);if(void 0!==t)return t}break;case"CIMTextSymbol":return w(t.symbol);case"CIMSolidStroke":case"CIMGradientStroke":case"CIMPictureStroke":return t.width}}function k(t){switch(t){case"Left":default:return"left";case"Right":return"right";case"Center":return"center";case"Justify":return"justify"}}function I(t){switch(t){default:case"Bottom":return"bottom";case"Top":return"top";case"Center":return"middle";case"Baseline":return"baseline"}}function P(t){return(t?Object.keys(t):[]).map(e=>({name:e,alias:e,type:"string"==typeof t[e]?"esriFieldTypeString":"esriFieldTypeDouble"}))}function L(t){return t?t.charAt(0).toLowerCase()+t.slice(1):t}function T(t,e,r,i,n,s,o=!0){const{infos:a}=s;let l=1,c=0,h=0,u=0,f=1;for(const{absoluteAnchorPoint:t,offsetX:e,offsetY:r,rotation:i,size:n,frameHeight:s,rotateClockWise:m,scaleSymbolsProportionally:d}of a)f=t?1:l,h=G(e,r,c,f,h),u=U(e,r,c,f,u),s&&(d||o)&&(l*=n/s),c=O(i,m,c);const m=G(i,n,c,f,h),d=U(i,n,c,f,u);return{size:t*l,rotation:O(e,r,c),offsetX:m,offsetY:d}}function R(t){return t?.dashTemplate&&(t.dashTemplate=function(t){return"string"==typeof t?function(t){return t.split(" ").map(t=>Number(t))}(t):t}(t.dashTemplate)),t}function z(t){if(null==t)return"Normal";switch(t.type){case"CIMTextSymbol":return t.textCase??"Normal";case"CIMPointSymbol":case"CIMLineSymbol":case"CIMPolygonSymbol":{const e=t.symbolLayers;if(!e)return"Normal";for(const t of e)if("CIMVectorMarker"===t.type)return z(t)}break;case"CIMVectorMarker":{const e=t.markerGraphics;if(!e)return"Normal";for(const t of e)if(t.symbol)return z(t.symbol)}}return"Normal"}function v(t){if(t)switch(t.type){case"CIMTextSymbol":return t.height;case"CIMPointSymbol":{let e=0;if(t.symbolLayers)for(const r of t.symbolLayers)if(r)switch(r.type){case"CIMCharacterMarker":case"CIMPictureMarker":case"CIMVectorMarker":case"CIMObjectMarker3D":case"CIMglTFMarker3D":{const t=r.size??i.D.CIMVectorMarker.size;t>e&&(e=t);break}}return e}case"CIMLineSymbol":case"CIMPolygonSymbol":{let e=0;if(t.symbolLayers)for(const r of t.symbolLayers)if(r)switch(r.type){case"CIMSolidStroke":case"CIMPictureStroke":case"CIMGradientStroke":{const t=r.width;null!=t&&t>e&&(e=t);break}case"CIMCharacterMarker":case"CIMPictureMarker":case"CIMVectorMarker":case"CIMObjectMarker3D":case"CIMglTFMarker3D":if(r.markerPlacement&&d(r.markerPlacement)){const t=r.size??i.D.CIMVectorMarker.size;t>e&&(e=t)}break;case"CIMPictureFill":{const t=r.height;null!=t&&t>e&&(e=t)}}return e}}}function A(t,e){if(null!==e){const r=e.get(t);return r?r.name:t}return t}function F(t){return t.map(t=>({...t,propertyName:L(t.propertyName)}))}function E(t){const e={};for(const r in t){const i=t[r];e[L(r)]=i}return e}function D(t){if(!t)return 0;let e=0;for(const r of t)e+=B(r);return e}function B(t){if(!t)return 0;if(N(t))return t.inflateSize??256;switch(t.type){case"CIMGeometricEffectArrow":return Math.abs(.5*t.width);case"CIMGeometricEffectBuffer":return Math.abs(t.size);case"CIMGeometricEffectCircularSector":return Math.abs(t.radius??25);case"CIMGeometricEffectControlMeasureLine":return 500;case"CIMGeometricEffectExtension":return Math.abs(t.length);case"CIMGeometricEffectJog":return Math.abs(.5*t.length);case"CIMGeometricEffectMove":return Math.max(Math.abs(g(t.offsetX)),Math.abs(g(t.offsetY)));case"CIMGeometricEffectOffset":case"CIMGeometricEffectOffsetTangent":return Math.abs(t.offset);case"CIMGeometricEffectRadial":return Math.abs(t.length??5);case"CIMGeometricEffectRegularPolygon":return Math.abs(t.radius);case"CIMGeometricEffectRotate":case"CIMGeometricEffectScale":default:return 0;case"CIMGeometricEffectTaperedPolygon":return.5*Math.max(Math.abs(t.fromWidth),Math.abs(t.toWidth));case"CIMGeometricEffectWave":return Math.abs(t.amplitude);case"CIMGeometricEffectDonut":return Math.abs(t.width)}}function U(t,e,r,i,n){const s=r*Math.PI/180;if(s){const r=Math.cos(s);return(Math.sin(s)*t+r*e)*i+n}return e*i+n}function G(t,e,r,i,n){const s=r*Math.PI/180;return s?(Math.cos(s)*t-Math.sin(s)*e)*i+n:t*i+n}function O(t,e,r){return e?r-t:r+t}function H(t,e){return Math.max(Math.min((t??e)/100,1),0)}function N(t){return t.type.startsWith("Private")}function W(t){return null!=t&&function(t){return"setControlPoint"in t&&"getControlPoint"in t&&"setControlPointAt"in t&&"getControlPointAt"in t}(t)?t:void 0}r.d(e,["$w",0,g,"UE",0,t=>t.includes("data:image/svg+xml")])}}]);
|