@arcgis/core 4.27.0-rc.1 → 4.27.0-rc.3
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/README.md +2 -2
- package/assets/esri/core/workers/RemoteClient.js +1 -1
- package/assets/esri/core/workers/chunks/{a8565d1c676f3bfbcebb.js → 002fe1ec63ea33e6972d.js} +1 -1
- package/assets/esri/core/workers/chunks/{0610691a0c0d9fbbd6d2.js → 013de5c2955801b329b3.js} +1 -1
- package/assets/esri/core/workers/chunks/07163dcbb871f927a580.js +1 -0
- package/assets/esri/core/workers/chunks/0e46687004392c493c06.js +1 -0
- package/assets/esri/core/workers/chunks/0e65e00173b66c7fec2e.js +1 -0
- package/assets/esri/core/workers/chunks/1aa8dd317ecd3c41e0ea.js +1 -0
- package/assets/esri/core/workers/chunks/21328f3dd26abe84a10d.js +1 -0
- package/assets/esri/core/workers/chunks/28c67c98039503b62e6e.js +1 -0
- package/assets/esri/core/workers/chunks/2faa8f08f2fdaac3f4af.js +1 -0
- package/assets/esri/core/workers/chunks/{0407bf97ad621c89a734.js → 3160af63b860b52db389.js} +1 -1
- package/assets/esri/core/workers/chunks/3767b9e7660873b018c2.js +1 -0
- package/assets/esri/core/workers/chunks/39ae4b9b766f674bc6f2.js +1 -0
- package/assets/esri/core/workers/chunks/45629ff775e77234b227.js +1 -0
- package/assets/esri/core/workers/chunks/471f6eba213412b82840.js +1 -0
- package/assets/esri/core/workers/chunks/4a4f14a3d8da270059c4.js +1 -0
- package/assets/esri/core/workers/chunks/{3e239bfad611985e50fb.js → 50f910797c17c3028521.js} +1 -1
- package/assets/esri/core/workers/chunks/{f339db2b599fa9585283.js → 5e6471dd2a08e66b47d0.js} +79 -81
- package/assets/esri/core/workers/chunks/642c5a93c0a454bdd115.js +1 -0
- package/assets/esri/core/workers/chunks/{14145959a3dab1437818.js → 6627f1bc9ee6b620e3aa.js} +1 -1
- package/assets/esri/core/workers/chunks/{170bdbdb4e21bf91a17f.js → 6eaa7a51efde2dd4a5a4.js} +1 -1
- package/assets/esri/core/workers/chunks/{d8bd3f498b3fa8153404.js → 6f510f28526c73ab453c.js} +1 -1
- package/assets/esri/core/workers/chunks/{2bdc63395c7466ce1641.js → 7053c2f5a958d4c8629b.js} +1 -1
- package/assets/esri/core/workers/chunks/{4c35c663528f710e8c78.js → 79cb672c85ea29e8484a.js} +1 -1
- package/assets/esri/core/workers/chunks/82939ead43848a13f765.js +1 -0
- package/assets/esri/core/workers/chunks/83e3d104886b48f00397.js +1 -0
- package/assets/esri/core/workers/chunks/89001ee8d3f69fa03cc1.js +1 -0
- package/assets/esri/core/workers/chunks/8b6b963230df56850580.js +1 -0
- package/assets/esri/core/workers/chunks/9472184ef1432fc55d6b.js +1 -0
- package/assets/esri/core/workers/chunks/{3c5a64a545272f148e93.js → 9621b7d8d951aa881686.js} +1 -1
- package/assets/esri/core/workers/chunks/a6ddf80eb324c35076e1.js +1 -0
- package/assets/esri/core/workers/chunks/a80a6267d88246ede5d3.js +1 -0
- package/assets/esri/core/workers/chunks/{b6e173eddaad4244cb5f.js → b31974524932e638df8c.js} +1 -1
- package/assets/esri/core/workers/chunks/{f505ebd4bd3bfb6c790d.js → b6a55fdfe16795ebf02c.js} +1 -1
- package/assets/esri/core/workers/chunks/bf9e1fde9f6b2b4f10c0.js +1 -0
- package/assets/esri/core/workers/chunks/cfa3b2b1e184681e9af4.js +1 -0
- package/assets/esri/core/workers/chunks/{92e7f224a80195e606d6.js → d4ba894a2583f3930a4f.js} +1 -1
- package/assets/esri/core/workers/chunks/d5dfd3d693d5e393a542.js +1 -0
- package/assets/esri/core/workers/chunks/dabd889e064c4e7807fa.js +1 -0
- package/assets/esri/core/workers/chunks/{74fd2059ddda9083cbcc.js → dc6c97a43d642eeaf477.js} +1 -1
- package/assets/esri/core/workers/chunks/{2154d395f405be3cd3ba.js → eca0c3d57b3a1e3a14ee.js} +1 -1
- package/assets/esri/core/workers/chunks/f35895e03c036d67b3ed.js +1 -0
- package/assets/esri/core/workers/chunks/f36697f6aac782007d1a.js +1 -0
- package/assets/esri/core/workers/chunks/f52054f27619a98b7bb7.js +1 -0
- package/assets/esri/core/workers/chunks/{c6efe2e04ea6a55bb6e3.js → f6e68befe2812b90b40d.js} +1 -1
- package/assets/esri/core/workers/chunks/fb7fe307a583b6a22218.js +1 -0
- package/assets/esri/core/workers/chunks/fbd3c78ee8e2219a6c7a.js +1 -0
- package/assets/esri/core/workers/chunks/ff42585e1b1d0c5497af.js +1 -0
- package/assets/esri/images/portal/livestreamvideolayer16.png +0 -0
- package/assets/esri/images/portal/{mediaservice16.png → videolayer16.png} +0 -0
- package/assets/esri/themes/base/widgets/_Feature.scss +4 -0
- package/assets/esri/themes/base/widgets/_FeatureContent.scss +9 -2
- package/assets/esri/themes/base/widgets/_FeatureForm.scss +19 -2
- package/assets/esri/themes/base/widgets/_ScaleRangeSlider.scss +1 -0
- package/assets/esri/themes/dark/main.css +1 -1
- package/assets/esri/themes/light/main.css +1 -1
- package/assets/esri/themes/light/view.css +1 -1
- package/chunks/DefaultMaterial.glsl.js +3 -2
- package/chunks/ShadowCastAccumulate.glsl.js +1 -1
- package/core/timeUtils.js +1 -1
- package/geometry/Mesh.js +1 -1
- package/geometry/support/DoubleArray.js +1 -1
- package/geometry/support/meshVertexSpaceUtils.js +5 -0
- package/interfaces.d.ts +263 -31
- package/kernel.js +1 -1
- package/layers/VideoLayer.js +1 -1
- package/layers/graphics/controllers/I3SOnDemandController.js +1 -1
- package/layers/graphics/controllers/StreamController.js +1 -1
- package/layers/graphics/data/QueryEngine.js +1 -1
- package/layers/graphics/data/attributeSupport.js +1 -1
- package/layers/graphics/editingSupport.js +1 -1
- package/layers/graphics/sources/FeatureLayerSource.js +1 -1
- package/layers/support/editableLayers.js +1 -1
- package/layers/support/layerUtils.js +1 -1
- package/layers/video/VideoController.js +1 -1
- package/layers/video/videoUtils.js +5 -0
- package/package.json +1 -1
- package/portal/PortalItem.js +1 -1
- package/request.js +1 -1
- package/rest/support/meshFeatureSet.js +1 -1
- package/smartMapping/symbology/flow.js +1 -1
- package/statistics/utils.js +1 -1
- package/support/requestUtils.js +1 -1
- package/support/revision.js +1 -1
- package/symbols/cim/CIMSymbolHelper.js +1 -1
- package/views/2d/layers/StreamLayerView2D.js +1 -1
- package/views/2d/layers/features/sources/StreamSource.js +1 -1
- package/views/3d/environment/ChapmanAtmosphereTechnique.js +1 -1
- package/views/3d/interactive/visualElements/OutlineVisualElement.js +1 -1
- package/views/3d/layers/BuildingComponentSublayerView3D.js +1 -1
- package/views/3d/layers/I3SMeshView3D.js +1 -1
- package/views/3d/layers/I3SMeshWorkerHandle.js +1 -1
- package/views/3d/layers/II3SMeshView3D.js +1 -1
- package/views/3d/layers/SceneLayerView3D.js +1 -1
- package/views/3d/layers/SceneLayerWorker.js +1 -1
- package/views/3d/layers/graphics/Graphics3DMeshFillSymbolLayer.js +1 -1
- package/views/3d/layers/graphics/Graphics3DObjectSymbolLayer.js +1 -1
- package/views/3d/layers/graphics/objectResourceUtils.js +1 -1
- package/views/3d/layers/i3s/I3SClientNodeLoader.js +1 -1
- package/views/3d/layers/i3s/I3SMaterialUtil.js +1 -1
- package/views/3d/layers/i3s/I3SOverrides.js +1 -1
- package/views/3d/webgl-engine/collections/Component/Material/ComponentMaterial.js +1 -1
- package/views/3d/webgl-engine/core/renderPasses/AllRenderPasses.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/Transform.glsl.js +3 -9
- package/views/3d/webgl-engine/core/shaderLibrary/default/DefaultMaterialAuxiliaryPasses.glsl.js +12 -9
- package/views/3d/webgl-engine/core/shaderLibrary/shading/PhysicallyBasedRenderingParameters.glsl.js +10 -10
- package/views/3d/webgl-engine/core/shaderLibrary/shading/ReadShadowMap.glsl.js +2 -2
- package/views/3d/webgl-engine/core/shaderLibrary/shading/WaterDistortion.glsl.js +2 -2
- package/views/3d/webgl-engine/core/shaderLibrary/terrain/TerrainTexture.glsl.js +8 -8
- package/views/3d/webgl-engine/core/shaderModules/Matrix4sDrawUniform.js +1 -1
- package/views/3d/webgl-engine/lib/ShadowHighlight.js +1 -1
- package/views/3d/webgl-engine/lib/ShadowMap.js +1 -1
- package/views/3d/webgl-engine/materials/PathTechnique.js +1 -1
- package/views/3d/webgl-engine/materials/WaterMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/pbrUtils.js +1 -1
- package/views/3d/webgl-engine/shaders/AtmosphereCompositingTechnique.js +1 -1
- package/views/3d/webgl-engine/shaders/DefaultMaterialTechnique.js +1 -1
- package/views/3d/webgl-engine/shaders/ShadowHighlightTechnique.js +1 -1
- package/views/draw/DrawGraphicTool.js +1 -1
- package/views/layers/GroupLayerView.js +1 -1
- package/webmap/initialViewPropertiesUtils.js +1 -1
- package/widgets/Daylight/DaylightViewModel.js +1 -1
- package/widgets/Editor/CreateFeaturesWorkflow.js +1 -1
- package/widgets/Editor/CreateWorkflow.js +1 -1
- package/widgets/Editor/EditorViewModel.js +1 -1
- package/widgets/Editor/UpdateFeatureWorkflow.js +1 -1
- package/widgets/Editor/UpdateWorkflow.js +1 -1
- package/widgets/Editor/UpdateWorkflowData.js +1 -1
- package/widgets/Editor/Workflow.js +1 -1
- package/widgets/Editor/workflowUtils.js +1 -1
- package/widgets/Editor.js +1 -1
- package/widgets/Feature/FeatureRelationship/FeatureRelationshipViewModel.js +1 -1
- package/widgets/Feature/FeatureRelationship.js +1 -1
- package/widgets/Feature/support/featureUtils.js +1 -1
- package/widgets/FeatureForm/EditableInput.d.ts +2 -2
- package/widgets/FeatureForm/FeatureFormViewModel.js +1 -1
- package/widgets/FeatureForm/RelationshipInput.js +1 -1
- package/widgets/FeatureForm/css.js +1 -1
- package/widgets/FeatureForm.js +1 -1
- package/widgets/FeatureTable/FieldColumn.js +1 -1
- package/widgets/FeatureTemplates/FeatureTemplatesViewModel.js +1 -1
- package/widgets/UtilityNetworkTrace/UtilityNetworkTraceViewModel.js +1 -1
- package/widgets/UtilityNetworkTrace/support/GeometryHandler.js +1 -1
- package/widgets/UtilityNetworkTrace/support/ResultAreaHandler.js +1 -1
- package/widgets/UtilityNetworkTrace.js +1 -1
- package/widgets/UtilityNetworkValidateTopology/UtilityNetworkValidateTopologyViewModel.d.ts +4 -0
- package/widgets/UtilityNetworkValidateTopology/UtilityNetworkValidateTopologyViewModel.js +1 -1
- package/widgets/UtilityNetworkValidateTopology.d.ts +4 -0
- package/widgets/UtilityNetworkValidateTopology.js +1 -1
- package/widgets/ValuePicker/ValuePickerBaseComponent.js +1 -1
- package/widgets/ValuePicker.js +1 -1
- package/widgets/support/geolocationUtils.js +1 -1
- package/assets/esri/core/workers/chunks/07651ef8348f702d59ac.js +0 -1
- package/assets/esri/core/workers/chunks/0a02ac5628d1739372c6.js +0 -1
- package/assets/esri/core/workers/chunks/0fcb8d408696075338e2.js +0 -1
- package/assets/esri/core/workers/chunks/16e459b16bdd6e1a821b.js +0 -1
- package/assets/esri/core/workers/chunks/1b8074269800b384ecf6.js +0 -1
- package/assets/esri/core/workers/chunks/39714837f9d3708e3806.js +0 -1
- package/assets/esri/core/workers/chunks/3ba2fcb9110230f8790c.js +0 -1
- package/assets/esri/core/workers/chunks/474d9b334812533bab36.js +0 -1
- package/assets/esri/core/workers/chunks/5576858f56314afcb4d5.js +0 -1
- package/assets/esri/core/workers/chunks/5706edf45402dff279a6.js +0 -1
- package/assets/esri/core/workers/chunks/659b7bad7281c0e2aed3.js +0 -1
- package/assets/esri/core/workers/chunks/785a6c925f29bc962992.js +0 -1
- package/assets/esri/core/workers/chunks/90da1ed112b82712d0ef.js +0 -1
- package/assets/esri/core/workers/chunks/9326120c750799eb2d28.js +0 -1
- package/assets/esri/core/workers/chunks/99e0cec47e3ef72c1de4.js +0 -1
- package/assets/esri/core/workers/chunks/9c0e1e87790424f42d7e.js +0 -1
- package/assets/esri/core/workers/chunks/9e66af3b1c70cf25fb32.js +0 -1
- package/assets/esri/core/workers/chunks/a1c31bb8c12831539328.js +0 -1
- package/assets/esri/core/workers/chunks/b0cda39b53ecd6c44cd0.js +0 -1
- package/assets/esri/core/workers/chunks/b5fc6f2044ed047c5afd.js +0 -1
- package/assets/esri/core/workers/chunks/c08e03165043df67c11b.js +0 -1
- package/assets/esri/core/workers/chunks/c26148d4bfab3b3dfab2.js +0 -1
- package/assets/esri/core/workers/chunks/d6b6bb8aecc85d2a3f6b.js +0 -1
- package/assets/esri/core/workers/chunks/eeaf8010e38b65a101ac.js +0 -1
- package/assets/esri/core/workers/chunks/f235392c56063fbf89c6.js +0 -1
- package/assets/esri/core/workers/chunks/fdd0d3616c97e408b104.js +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[6188,3172,9880],{99880:(e,t,n)=>{n.d(t,{V:()=>l});var r=n(68773),s=(n(3172),n(20102)),i=n(92604),a=n(81271);const o=i.Z.getLogger("esri.assets");function l(e){if(!r.default.assetsPath)throw o.errorOnce("The API assets location needs to be set using config.assetsPath. More information: https://arcg.is/1OzLe50"),new s.Z("assets:path-not-set","config.assetsPath is not set");return(0,a.v_)(r.default.assetsPath,e)}},46851:(e,t,n)=>{n.d(t,{R:()=>i,a:()=>c,g:()=>s,t:()=>l});let r=1e-6;function s(){return r}const i=Math.random,a=Math.PI/180,o=180/Math.PI;function l(e){return e*a}function c(e){return e*o}Object.freeze(Object.defineProperty({__proto__:null,RANDOM:i,equals:function(e,t){return Math.abs(e-t)<=r*Math.max(1,Math.abs(e),Math.abs(t))},getEpsilon:s,setEpsilon:function(e){r=e},toDegree:c,toRadian:l},Symbol.toStringTag,{value:"Module"}))},17896:(e,t,n)=>{n.d(t,{A:()=>d,C:()=>h,D:()=>u,a:()=>l,b:()=>c,c:()=>a,d:()=>y,e:()=>_,f:()=>m,g:()=>f,h:()=>b,i:()=>p,j:()=>A,k:()=>v,l:()=>i,m:()=>I,n:()=>x,p:()=>g,q:()=>M,r:()=>P,s:()=>o,t:()=>w,u:()=>B});var r=n(65617),s=n(46851);function i(e){const t=e[0],n=e[1],r=e[2];return Math.sqrt(t*t+n*n+r*r)}function a(e,t){return e[0]=t[0],e[1]=t[1],e[2]=t[2],e}function o(e,t,n,r){return e[0]=t,e[1]=n,e[2]=r,e}function l(e,t,n){return e[0]=t[0]+n[0],e[1]=t[1]+n[1],e[2]=t[2]+n[2],e}function c(e,t,n){return e[0]=t[0]-n[0],e[1]=t[1]-n[1],e[2]=t[2]-n[2],e}function h(e,t,n){return e[0]=t[0]*n[0],e[1]=t[1]*n[1],e[2]=t[2]*n[2],e}function u(e,t,n){return e[0]=t[0]/n[0],e[1]=t[1]/n[1],e[2]=t[2]/n[2],e}function f(e,t,n){return e[0]=t[0]*n,e[1]=t[1]*n,e[2]=t[2]*n,e}function d(e,t,n,r){return e[0]=t[0]+n[0]*r,e[1]=t[1]+n[1]*r,e[2]=t[2]+n[2]*r,e}function p(e,t){const n=t[0]-e[0],r=t[1]-e[1],s=t[2]-e[2];return Math.sqrt(n*n+r*r+s*s)}function y(e,t){const n=t[0]-e[0],r=t[1]-e[1],s=t[2]-e[2];return n*n+r*r+s*s}function g(e){const t=e[0],n=e[1],r=e[2];return t*t+n*n+r*r}function x(e,t){const n=t[0],r=t[1],s=t[2];let i=n*n+r*r+s*s;return i>0&&(i=1/Math.sqrt(i),e[0]=t[0]*i,e[1]=t[1]*i,e[2]=t[2]*i),e}function _(e,t){return e[0]*t[0]+e[1]*t[1]+e[2]*t[2]}function m(e,t,n){const r=t[0],s=t[1],i=t[2],a=n[0],o=n[1],l=n[2];return e[0]=s*l-i*o,e[1]=i*a-r*l,e[2]=r*o-s*a,e}function b(e,t,n,r){const s=t[0],i=t[1],a=t[2];return e[0]=s+r*(n[0]-s),e[1]=i+r*(n[1]-i),e[2]=a+r*(n[2]-a),e}function I(e,t,n){const r=t[0],s=t[1],i=t[2];return e[0]=n[0]*r+n[4]*s+n[8]*i+n[12],e[1]=n[1]*r+n[5]*s+n[9]*i+n[13],e[2]=n[2]*r+n[6]*s+n[10]*i+n[14],e}function w(e,t,n){const r=t[0],s=t[1],i=t[2];return e[0]=r*n[0]+s*n[3]+i*n[6],e[1]=r*n[1]+s*n[4]+i*n[7],e[2]=r*n[2]+s*n[5]+i*n[8],e}function M(e,t,n){const r=n[0],s=n[1],i=n[2],a=n[3],o=t[0],l=t[1],c=t[2];let h=s*c-i*l,u=i*o-r*c,f=r*l-s*o,d=s*f-i*u,p=i*h-r*f,y=r*u-s*h;const g=2*a;return h*=g,u*=g,f*=g,d*=2,p*=2,y*=2,e[0]=o+h+d,e[1]=l+u+p,e[2]=c+f+y,e}const T=(0,r.c)(),k=(0,r.c)();function v(e,t){return e[0]===t[0]&&e[1]===t[1]&&e[2]===t[2]}function P(e,t,n){const r=n[0]-t[0],s=n[1]-t[1],i=n[2]-t[2];let a=r*r+s*s+i*i;return a>0?(a=1/Math.sqrt(a),e[0]=r*a,e[1]=s*a,e[2]=i*a,e):(e[0]=0,e[1]=0,e[2]=0,e)}const L=c,E=h,D=u,A=p,S=y,B=i,V=g;Object.freeze(Object.defineProperty({__proto__:null,abs:function(e,t){return e[0]=Math.abs(t[0]),e[1]=Math.abs(t[1]),e[2]=Math.abs(t[2]),e},add:l,angle:function(e,t){a(T,e),a(k,t),x(T,T),x(k,k);const n=_(T,k);return n>1?0:n<-1?Math.PI:Math.acos(n)},bezier:function(e,t,n,r,s,i){const a=1-i,o=a*a,l=i*i,c=o*a,h=3*i*o,u=3*l*a,f=l*i;return e[0]=t[0]*c+n[0]*h+r[0]*u+s[0]*f,e[1]=t[1]*c+n[1]*h+r[1]*u+s[1]*f,e[2]=t[2]*c+n[2]*h+r[2]*u+s[2]*f,e},ceil:function(e,t){return e[0]=Math.ceil(t[0]),e[1]=Math.ceil(t[1]),e[2]=Math.ceil(t[2]),e},copy:a,cross:m,direction:P,dist:A,distance:p,div:D,divide:u,dot:_,equals:function(e,t){if(e===t)return!0;const n=e[0],r=e[1],i=e[2],a=t[0],o=t[1],l=t[2],c=(0,s.g)();return Math.abs(n-a)<=c*Math.max(1,Math.abs(n),Math.abs(a))&&Math.abs(r-o)<=c*Math.max(1,Math.abs(r),Math.abs(o))&&Math.abs(i-l)<=c*Math.max(1,Math.abs(i),Math.abs(l))},exactEquals:v,floor:function(e,t){return e[0]=Math.floor(t[0]),e[1]=Math.floor(t[1]),e[2]=Math.floor(t[2]),e},hermite:function(e,t,n,r,s,i){const a=i*i,o=a*(2*i-3)+1,l=a*(i-2)+i,c=a*(i-1),h=a*(3-2*i);return e[0]=t[0]*o+n[0]*l+r[0]*c+s[0]*h,e[1]=t[1]*o+n[1]*l+r[1]*c+s[1]*h,e[2]=t[2]*o+n[2]*l+r[2]*c+s[2]*h,e},inverse:function(e,t){return e[0]=1/t[0],e[1]=1/t[1],e[2]=1/t[2],e},len:B,length:i,lerp:b,max:function(e,t,n){return e[0]=Math.max(t[0],n[0]),e[1]=Math.max(t[1],n[1]),e[2]=Math.max(t[2],n[2]),e},min:function(e,t,n){return e[0]=Math.min(t[0],n[0]),e[1]=Math.min(t[1],n[1]),e[2]=Math.min(t[2],n[2]),e},mul:E,multiply:h,negate:function(e,t){return e[0]=-t[0],e[1]=-t[1],e[2]=-t[2],e},normalize:x,random:function(e,t){t=t||1;const n=s.R,r=2*n()*Math.PI,i=2*n()-1,a=Math.sqrt(1-i*i)*t;return e[0]=Math.cos(r)*a,e[1]=Math.sin(r)*a,e[2]=i*t,e},rotateX:function(e,t,n,r){const s=[],i=[];return s[0]=t[0]-n[0],s[1]=t[1]-n[1],s[2]=t[2]-n[2],i[0]=s[0],i[1]=s[1]*Math.cos(r)-s[2]*Math.sin(r),i[2]=s[1]*Math.sin(r)+s[2]*Math.cos(r),e[0]=i[0]+n[0],e[1]=i[1]+n[1],e[2]=i[2]+n[2],e},rotateY:function(e,t,n,r){const s=[],i=[];return s[0]=t[0]-n[0],s[1]=t[1]-n[1],s[2]=t[2]-n[2],i[0]=s[2]*Math.sin(r)+s[0]*Math.cos(r),i[1]=s[1],i[2]=s[2]*Math.cos(r)-s[0]*Math.sin(r),e[0]=i[0]+n[0],e[1]=i[1]+n[1],e[2]=i[2]+n[2],e},rotateZ:function(e,t,n,r){const s=[],i=[];return s[0]=t[0]-n[0],s[1]=t[1]-n[1],s[2]=t[2]-n[2],i[0]=s[0]*Math.cos(r)-s[1]*Math.sin(r),i[1]=s[0]*Math.sin(r)+s[1]*Math.cos(r),i[2]=s[2],e[0]=i[0]+n[0],e[1]=i[1]+n[1],e[2]=i[2]+n[2],e},round:function(e,t){return e[0]=Math.round(t[0]),e[1]=Math.round(t[1]),e[2]=Math.round(t[2]),e},scale:f,scaleAndAdd:d,set:o,sign:function(e,t){return e[0]=Math.sign(t[0]),e[1]=Math.sign(t[1]),e[2]=Math.sign(t[2]),e},sqrDist:S,sqrLen:V,squaredDistance:y,squaredLength:g,str:function(e){return"vec3("+e[0]+", "+e[1]+", "+e[2]+")"},sub:L,subtract:c,transformMat3:w,transformMat4:I,transformQuat:M},Symbol.toStringTag,{value:"Module"}))},65617:(e,t,n)=>{function r(){return[0,0,0]}function s(e){return[e[0],e[1],e[2]]}function i(e,t,n){return[e,t,n]}function a(e){const t=[0,0,0],n=Math.min(3,e.length);for(let r=0;r<n;++r)t[r]=e[r];return t}function o(e,t){return new Float64Array(e,t,3)}function l(){return i(1,1,1)}function c(){return i(1,0,0)}function h(){return i(0,1,0)}function u(){return i(0,0,1)}n.d(t,{O:()=>d,U:()=>g,Z:()=>f,a:()=>s,b:()=>o,c:()=>r,d:()=>p,e:()=>y,f:()=>i,g:()=>a});const f=[0,0,0],d=l(),p=c(),y=h(),g=u();Object.freeze(Object.defineProperty({__proto__:null,ONES:d,UNIT_X:p,UNIT_Y:y,UNIT_Z:g,ZEROS:f,clone:s,create:r,createView:o,fromArray:a,fromValues:i,ones:l,unitX:c,unitY:h,unitZ:u,zeros:function(){return[0,0,0]}},Symbol.toStringTag,{value:"Module"}))},98766:(e,t,n)=>{n.d(t,{a:()=>a,b:()=>h,c:()=>s,d:()=>g,e:()=>d,f:()=>p,g:()=>_,h:()=>m,l:()=>x,n:()=>y,s:()=>i});var r=n(46851);function s(e,t){return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e}function i(e,t,n,r,s){return e[0]=t,e[1]=n,e[2]=r,e[3]=s,e}function a(e,t,n){return e[0]=t[0]+n[0],e[1]=t[1]+n[1],e[2]=t[2]+n[2],e[3]=t[3]+n[3],e}function o(e,t,n){return e[0]=t[0]-n[0],e[1]=t[1]-n[1],e[2]=t[2]-n[2],e[3]=t[3]-n[3],e}function l(e,t,n){return e[0]=t[0]*n[0],e[1]=t[1]*n[1],e[2]=t[2]*n[2],e[3]=t[3]*n[3],e}function c(e,t,n){return e[0]=t[0]/n[0],e[1]=t[1]/n[1],e[2]=t[2]/n[2],e[3]=t[3]/n[3],e}function h(e,t,n){return e[0]=t[0]*n,e[1]=t[1]*n,e[2]=t[2]*n,e[3]=t[3]*n,e}function u(e,t){const n=t[0]-e[0],r=t[1]-e[1],s=t[2]-e[2],i=t[3]-e[3];return Math.sqrt(n*n+r*r+s*s+i*i)}function f(e,t){const n=t[0]-e[0],r=t[1]-e[1],s=t[2]-e[2],i=t[3]-e[3];return n*n+r*r+s*s+i*i}function d(e){const t=e[0],n=e[1],r=e[2],s=e[3];return Math.sqrt(t*t+n*n+r*r+s*s)}function p(e){const t=e[0],n=e[1],r=e[2],s=e[3];return t*t+n*n+r*r+s*s}function y(e,t){const n=t[0],r=t[1],s=t[2],i=t[3];let a=n*n+r*r+s*s+i*i;return a>0&&(a=1/Math.sqrt(a),e[0]=n*a,e[1]=r*a,e[2]=s*a,e[3]=i*a),e}function g(e,t){return e[0]*t[0]+e[1]*t[1]+e[2]*t[2]+e[3]*t[3]}function x(e,t,n,r){const s=t[0],i=t[1],a=t[2],o=t[3];return e[0]=s+r*(n[0]-s),e[1]=i+r*(n[1]-i),e[2]=a+r*(n[2]-a),e[3]=o+r*(n[3]-o),e}function _(e,t){return e[0]===t[0]&&e[1]===t[1]&&e[2]===t[2]&&e[3]===t[3]}function m(e,t){const n=e[0],s=e[1],i=e[2],a=e[3],o=t[0],l=t[1],c=t[2],h=t[3],u=(0,r.g)();return Math.abs(n-o)<=u*Math.max(1,Math.abs(n),Math.abs(o))&&Math.abs(s-l)<=u*Math.max(1,Math.abs(s),Math.abs(l))&&Math.abs(i-c)<=u*Math.max(1,Math.abs(i),Math.abs(c))&&Math.abs(a-h)<=u*Math.max(1,Math.abs(a),Math.abs(h))}const b=o,I=l,w=c,M=u,T=f,k=d,v=p;Object.freeze(Object.defineProperty({__proto__:null,add:a,ceil:function(e,t){return e[0]=Math.ceil(t[0]),e[1]=Math.ceil(t[1]),e[2]=Math.ceil(t[2]),e[3]=Math.ceil(t[3]),e},copy:s,dist:M,distance:u,div:w,divide:c,dot:g,equals:m,exactEquals:_,floor:function(e,t){return e[0]=Math.floor(t[0]),e[1]=Math.floor(t[1]),e[2]=Math.floor(t[2]),e[3]=Math.floor(t[3]),e},inverse:function(e,t){return e[0]=1/t[0],e[1]=1/t[1],e[2]=1/t[2],e[3]=1/t[3],e},len:k,length:d,lerp:x,max:function(e,t,n){return e[0]=Math.max(t[0],n[0]),e[1]=Math.max(t[1],n[1]),e[2]=Math.max(t[2],n[2]),e[3]=Math.max(t[3],n[3]),e},min:function(e,t,n){return e[0]=Math.min(t[0],n[0]),e[1]=Math.min(t[1],n[1]),e[2]=Math.min(t[2],n[2]),e[3]=Math.min(t[3],n[3]),e},mul:I,multiply:l,negate:function(e,t){return e[0]=-t[0],e[1]=-t[1],e[2]=-t[2],e[3]=-t[3],e},normalize:y,random:function(e,t){const n=r.R;let s,i,a,o,l,c;t=t||1;do{s=2*n()-1,i=2*n()-1,l=s*s+i*i}while(l>=1);do{a=2*n()-1,o=2*n()-1,c=a*a+o*o}while(c>=1);const h=Math.sqrt((1-l)/c);return e[0]=t*s,e[1]=t*i,e[2]=t*a*h,e[3]=t*o*h,e},round:function(e,t){return e[0]=Math.round(t[0]),e[1]=Math.round(t[1]),e[2]=Math.round(t[2]),e[3]=Math.round(t[3]),e},scale:h,scaleAndAdd:function(e,t,n,r){return e[0]=t[0]+n[0]*r,e[1]=t[1]+n[1]*r,e[2]=t[2]+n[2]*r,e[3]=t[3]+n[3]*r,e},set:i,sqrDist:T,sqrLen:v,squaredDistance:f,squaredLength:p,str:function(e){return"vec4("+e[0]+", "+e[1]+", "+e[2]+", "+e[3]+")"},sub:b,subtract:o,transformMat4:function(e,t,n){const r=t[0],s=t[1],i=t[2],a=t[3];return e[0]=n[0]*r+n[4]*s+n[8]*i+n[12]*a,e[1]=n[1]*r+n[5]*s+n[9]*i+n[13]*a,e[2]=n[2]*r+n[6]*s+n[10]*i+n[14]*a,e[3]=n[3]*r+n[7]*s+n[11]*i+n[15]*a,e},transformQuat:function(e,t,n){const r=t[0],s=t[1],i=t[2],a=n[0],o=n[1],l=n[2],c=n[3],h=c*r+o*i-l*s,u=c*s+l*r-a*i,f=c*i+a*s-o*r,d=-a*r-o*s-l*i;return e[0]=h*c+d*-a+u*-l-f*-o,e[1]=u*c+d*-o+f*-a-h*-l,e[2]=f*c+d*-l+h*-o-u*-a,e[3]=t[3],e}},Symbol.toStringTag,{value:"Module"}))},3894:(e,t,n)=>{n.d(t,{Z:()=>i});var r=n(71143);function s(e){e.length=0}class i{constructor(e=50,t=50){this._pool=new r.Z(Array,void 0,s,t,e)}acquire(){return this._pool.acquire()}release(e){this._pool.release(e)}prune(){this._pool.prune(0)}static acquire(){return a.acquire()}static release(e){return a.release(e)}static prune(){a.prune()}}const a=new i(100)},30175:(e,t,n)=>{function r(e,t,n){const r=e.get(t);if(void 0!==r)return r;const s=n();return e.set(t,s),s}n.d(t,{s1:()=>r})},71143:(e,t,n)=>{n.d(t,{Z:()=>r});class r{constructor(e,t,n,r=1,s=0){if(this._ctor=e,this._acquireFunction=t,this._releaseFunction=n,this.allocationSize=r,this._pool=new Array(s),this._initialSize=s,this._ctor)for(let e=0;e<s;e++)this._pool[e]=new this._ctor;this.allocationSize=Math.max(r,1)}destroy(){this.prune(0)}acquire(...e){let t;if(r.test.disabled)t=new this._ctor;else{if(0===this._pool.length){const e=this.allocationSize;for(let t=0;t<e;t++)this._pool[t]=new this._ctor}t=this._pool.pop()}return this._acquireFunction?this._acquireFunction(t,...e):function(e){return e&&e.acquire&&"function"==typeof e.acquire}(t)&&t.acquire(...e),t}release(e){var t;e&&!r.test.disabled&&(this._releaseFunction?this._releaseFunction(e):(t=e)&&t.release&&"function"==typeof t.release&&e.release(),this._pool.push(e))}prune(e=this._initialSize){if(!(e>=this._pool.length)){for(let t=e;t<this._pool.length;++t){const e=this._pool[t];this._dispose(e)}this._pool.length=e}}_dispose(e){e.dispose&&"function"==typeof e.dispose&&e.dispose()}}r.test={disabled:!1}},75215:(e,t,n)=>{n.d(t,{AY:()=>D,Iu:()=>M,Ls:()=>b,N7:()=>P,TJ:()=>g,V5:()=>E,Zs:()=>l,di:()=>T,gB:()=>k,i$:()=>v,q9:()=>c,rY:()=>I,sY:()=>A,se:()=>m,vU:()=>h,z8:()=>L}),n(80442);var r=n(92604),s=n(30175);const i=r.Z.getLogger("esri.core.accessorSupport.ensureTypes");function a(e){return null==e?e:new Date(e)}function o(e){return null==e?e:!!e}function l(e){return null==e?e:e.toString()}function c(e){return null==e?e:(e=parseFloat(e),isNaN(e)?0:e)}function h(e){return null==e?e:Math.round(parseFloat(e))}function u(e){return e&&e.constructor&&void 0!==e.constructor.__accessorMetadata__}function f(e,t){return null!=t&&e&&!(t instanceof e)}function d(e){return e&&"isCollection"in e}function p(e){return e&&e.Type?"function"==typeof e.Type?e.Type:e.Type.base:null}function y(e,t){return!!u(t)&&(i.error("Accessor#set","Assigning an instance of '"+(t.declaredClass||"unknown")+"' which is not a subclass of '"+x(e)+"'"),!0)}function g(e,t){return null==t?t:d(e)?function(e,t){if(!t||!t.constructor||!d(t.constructor))return y(e,t)?t:new e(t);const n=p(e.prototype.itemType),r=p(t.constructor.prototype.itemType);return n?r?n===r?t:n.prototype.isPrototypeOf(r.prototype)?new e(t):(y(e,t),t):new e(t):t}(e,t):f(e,t)?y(e,t)?t:new e(t):t}function x(e){return e&&e.prototype&&e.prototype.declaredClass||"unknown"}const _=new WeakMap;function m(e,t){const n=function(e){switch(e){case Number:return c;case L:return h;case Boolean:return o;case String:return l;case Date:return a;default:return(0,s.s1)(_,e,(()=>g.bind(null,e)))}}(e);return 1===arguments.length?n:n(t)}function b(e,t,n){return 1===arguments.length?b.bind(null,e):t?Array.isArray(t)?t.map((t=>e(t,n))):[e(t,n)]:t}function I(e,t){return 1===arguments.length?b((t=>m(e,t))):b((t=>m(e,t)),t)}function w(e,t,n){return 0!==t&&Array.isArray(n)?n.map((n=>w(e,t-1,n))):e(n)}function M(e,t,n){if(2===arguments.length)return n=>M(e,t,n);if(!n)return n;n=w(e,t,n);let r=t,s=n;for(;r>0&&Array.isArray(s);)r--,s=s[0];if(void 0!==s)for(let e=0;e<r;e++)n=[n];return n}function T(e,t,n){return 2===arguments.length?M((t=>m(e,t)),t):M((t=>m(e,t)),t,n)}function k(e){return!!Array.isArray(e)&&!e.some((t=>{const n=typeof t;return!("string"===n||"number"===n||"function"===n&&e.length>1)}))}function v(e,t){if(2===arguments.length)return v(e).call(null,t);const n=new Set,r=e.filter((e=>"function"!=typeof e)),s=e.filter((e=>"function"==typeof e));for(const t of e)"string"!=typeof t&&"number"!=typeof t||n.add(t);let a=null,o=null;return(e,t)=>{if(null==e)return e;const l=typeof e,c="string"===l||"number"===l;return c&&(n.has(e)||s.some((e=>"string"===l&&e===String||"number"===l&&e===Number)))||"object"===l&&s.some((t=>!f(e,t)))?e:(c&&r.length?(a||(a=r.map((e=>"string"==typeof e?`'${e}'`:`${e}`)).join(", ")),i.error("Accessor#set",`'${e}' is not a valid value for this property, only the following values are valid: ${a}`)):"object"==typeof e&&s.length?(o||(o=s.map((e=>x(e))).join(", ")),i.error("Accessor#set",`'${e}' is not a valid value for this property, value must be one of ${o}`)):i.error("Accessor#set",`'${e}' is not a valid value for this property`),t&&(t.valid=!1),null)}}function P(e,t){if(2===arguments.length)return P(e).call(null,t);const n={},r=[],s=[];for(const t in e.typeMap){const i=e.typeMap[t];n[t]=m(i),r.push(x(i)),s.push(t)}const a=()=>`'${r.join("', '")}'`,o=()=>`'${s.join("', '")}'`,l="string"==typeof e.key?t=>t[e.key]:e.key;return t=>{if(e.base&&!f(e.base,t))return t;if(null==t)return t;const r=l(t)||e.defaultKeyValue,s=n[r];if(!s)return i.error("Accessor#set",`Invalid property value, value needs to be one of ${a()}, or a plain object that can autocast (having .type = ${o()})`),null;if(!f(e.typeMap[r],t))return t;if("string"==typeof e.key&&!u(t)){const n={};for(const r in t)r!==e.key&&(n[r]=t[r]);return s(n)}return s(t)}}class L{}const E={native:e=>({type:"native",value:e}),array:e=>({type:"array",value:e}),oneOf:e=>({type:"one-of",values:e})};function D(e){if(!e||!("type"in e))return!1;switch(e.type){case"native":case"array":case"one-of":return!0}return!1}function A(e){switch(e.type){case"native":return m(e.value);case"array":return b(A(e.value));case"one-of":return function(e){let t=null;return(n,r)=>B(n,e)?n:(null==t&&(t=S(e)),i.error("Accessor#set",`Invalid property value, value needs to be of type ${t}`),r&&(r.valid=!1),null)}(e);default:return null}}function S(e){switch(e.type){case"native":switch(e.value){case Number:return"number";case String:return"string";case Boolean:return"boolean";case L:return"integer";case Date:return"date";default:return x(e.value)}case"array":return`array of ${S(e.value)}`;case"one-of":{const t=e.values.map((e=>S(e)));return`one of ${t.slice(0,t.length-1)} or ${t[t.length-1]}`}}return"unknown"}function B(e,t){if(null==e)return!0;switch(t.type){case"native":switch(t.value){case Number:case L:return"number"==typeof e;case Boolean:return"boolean"==typeof e;case String:return"string"==typeof e}return e instanceof t.value;case"array":return!!Array.isArray(e)&&!e.some((e=>!B(e,t.value)));case"one-of":return t.values.some((t=>B(e,t)))}}},22021:(e,t,n)=>{n.d(t,{BV:()=>h,Kt:()=>f,Sf:()=>i,Vl:()=>c,ZF:()=>u,_3:()=>b,jE:()=>_,oK:()=>g,oc:()=>m,t7:()=>l,uZ:()=>a,wt:()=>o});var r=n(17896);n(98766);const s=new Float32Array(1);function i(e){--e;for(let t=1;t<32;t<<=1)e|=e>>t;return e+1}function a(e,t,n){return Math.min(Math.max(e,t),n)}function o(e){return 0==(e&e-1)}function l(e,t,n){return e+(t-e)*n}function c(e){return e*Math.PI/180}function h(e){return 180*e/Math.PI}function u(e){return Math.acos(a(e,-1,1))}function f(e){return Math.asin(a(e,-1,1))}function d(e,t,n=1e-6){return e===t||!(!Number.isFinite(e)||!Number.isFinite(t))&&(e>t?e-t:t-e)<=n}const p=new DataView(new ArrayBuffer(Float64Array.BYTES_PER_ELEMENT));const y=BigInt("1000000");function g(e){return x(Math.max(-b,Math.min(e,b)))}function x(e){return s[0]=e,s[0]}function _(e,t){const n=(0,r.l)(e),s=f(e[2]/n),i=Math.atan2(e[1]/n,e[0]/n);return(0,r.s)(t,n,s,i),t}function m(e){const t=e[0]*e[0]+e[1]*e[1]+e[2]*e[2],n=e[3]*e[3]+e[4]*e[4]+e[5]*e[5],r=e[6]*e[6]+e[7]*e[7]+e[8]*e[8];return!(d(t,1)&&d(n,1)&&d(r,1))}!function(e){const t=function(e){return p.setFloat64(0,e),p.getBigInt64(0)}(e=Math.abs(e)),n=function(e){return p.setBigInt64(0,e),p.getFloat64(0)}(t<=y?y:t-y);Math.abs(e-n)}(1);const b=x(34028234663852886e22)},45091:(e,t,n)=>{n.d(t,{Z:()=>h});var r,s,i=n(80442),a=n(71143);(s=r||(r={}))[s.varint=0]="varint",s[s.fixed64=1]="fixed64",s[s.delimited=2]="delimited",s[s.fixed32=5]="fixed32",s[s.unknown=99]="unknown";const o=4294967296,l=new TextDecoder("utf-8"),c=(0,i.Z)("safari")||(0,i.Z)("ios")?6:(0,i.Z)("ff")?12:32;class h{constructor(e,t,n=0,s=(e?e.byteLength:0)){this._tag=0,this._dataType=r.unknown,this._init(e,t,n,s)}_init(e,t,n,r){this._data=e,this._dataView=t,this._pos=n,this._end=r}asUnsafe(){return this}clone(){return new h(this._data,this._dataView,this._pos,this._end)}pos(){return this._pos}move(e){this._pos=e}nextTag(e){for(;;){if(this._pos===this._end)return!1;const t=this._decodeVarint();if(this._tag=t>>3,this._dataType=7&t,!e||e===this._tag)break;this.skip()}return!0}next(){if(this._pos===this._end)return!1;const e=this._decodeVarint();return this._tag=e>>3,this._dataType=7&e,!0}empty(){return this._pos>=this._end}tag(){return this._tag}getInt32(){return this._decodeVarint()}getInt64(){return this._decodeVarint()}getUInt32(){let e=4294967295;return e=(127&this._data[this._pos])>>>0,this._data[this._pos++]<128?e:(e=(e|(127&this._data[this._pos])<<7)>>>0,this._data[this._pos++]<128?e:(e=(e|(127&this._data[this._pos])<<14)>>>0,this._data[this._pos++]<128?e:(e=(e|(127&this._data[this._pos])<<21)>>>0,this._data[this._pos++]<128?e:(e=(e|(15&this._data[this._pos])<<28)>>>0,this._data[this._pos++]<128?e:void 0))))}getUInt64(){return this._decodeVarint()}getSInt32(){const e=this.getUInt32();if(void 0!==e)return e>>>1^-(1&e)|0}getSInt64(){return this._decodeSVarint()}getBool(){const e=0!==this._data[this._pos];return this._skip(1),e}getEnum(){return this._decodeVarint()}getFixed64(){const e=this._dataView,t=this._pos,n=e.getUint32(t,!0)+e.getUint32(t+4,!0)*o;return this._skip(8),n}getSFixed64(){const e=this._dataView,t=this._pos,n=e.getUint32(t,!0)+e.getInt32(t+4,!0)*o;return this._skip(8),n}getDouble(){const e=this._dataView.getFloat64(this._pos,!0);return this._skip(8),e}getFixed32(){const e=this._dataView.getUint32(this._pos,!0);return this._skip(4),e}getSFixed32(){const e=this._dataView.getInt32(this._pos,!0);return this._skip(4),e}getFloat(){const e=this._dataView.getFloat32(this._pos,!0);return this._skip(4),e}getString(){const e=this._getLength(),t=this._pos,n=this._toString(this._data,t,t+e);return this._skip(e),n}getBytes(){const e=this._getLength(),t=this._pos,n=this._toBytes(this._data,t,t+e);return this._skip(e),n}getLength(){return this._getLengthUnsafe()}processMessageWithArgs(e,t,n,r){const s=this.getMessage(),i=e(s,t,n,r);return s.release(),i}processMessage(e){const t=this.getMessage(),n=e(t);return t.release(),n}getMessage(){const e=this._getLength(),t=h.pool.acquire();return t._init(this._data,this._dataView,this._pos,this._pos+e),this._skip(e),t}release(){h.pool.release(this)}dataType(){return this._dataType}skip(){switch(this._dataType){case r.varint:this._decodeVarint();break;case r.fixed64:this._skip(8);break;case r.delimited:this._skip(this._getLength());break;case r.fixed32:this._skip(4);break;default:throw new Error("Invalid data type!")}}skipLen(e){this._skip(e)}_skip(e){if(this._pos+e>this._end)throw new Error("Attempt to skip past the end of buffer!");this._pos+=e}_decodeVarint(){const e=this._data;let t=this._pos,n=0,r=0;if(this._end-t>=10)do{if(r=e[t++],n|=127&r,0==(128&r))break;if(r=e[t++],n|=(127&r)<<7,0==(128&r))break;if(r=e[t++],n|=(127&r)<<14,0==(128&r))break;if(r=e[t++],n|=(127&r)<<21,0==(128&r))break;if(r=e[t++],n+=268435456*(127&r),0==(128&r))break;if(r=e[t++],n+=34359738368*(127&r),0==(128&r))break;if(r=e[t++],n+=4398046511104*(127&r),0==(128&r))break;if(r=e[t++],n+=562949953421312*(127&r),0==(128&r))break;if(r=e[t++],n+=72057594037927940*(127&r),0==(128&r))break;if(r=e[t++],n+=0x8000000000000000*(127&r),0==(128&r))break;throw new Error("Varint too long!")}while(0);else{let s=1;for(;t!==this._end&&(r=e[t],0!=(128&r));)++t,n+=(127&r)*s,s*=128;if(t===this._end)throw new Error("Varint overrun!");++t,n+=r*s}return this._pos=t,n}_decodeSVarint(){const e=this._data;let t=this._pos,n=0,r=0;const s=1&e[t];if(this._end-t>=10)do{if(r=e[t++],n|=127&r,0==(128&r))break;if(r=e[t++],n|=(127&r)<<7,0==(128&r))break;if(r=e[t++],n|=(127&r)<<14,0==(128&r))break;if(r=e[t++],n|=(127&r)<<21,0==(128&r))break;if(r=e[t++],n+=268435456*(127&r),0==(128&r))break;if(r=e[t++],n+=34359738368*(127&r),0==(128&r))break;if(r=e[t++],n+=4398046511104*(127&r),0==(128&r))break;if(r=e[t++],n+=562949953421312*(127&r),0==(128&r))break;if(r=e[t++],n+=72057594037927940*(127&r),0==(128&r))break;if(r=e[t++],n+=0x8000000000000000*(127&r),0==(128&r))break;throw new Error("Varint too long!")}while(0);else{let s=1;for(;t!==this._end&&(r=e[t],0!=(128&r));)++t,n+=(127&r)*s,s*=128;if(t===this._end)throw new Error("Varint overrun!");++t,n+=r*s}return this._pos=t,s?-(n+1)/2:n/2}_getLength(){if(this._dataType!==r.delimited)throw new Error("Not a delimited data type!");return this._decodeVarint()}_getLengthUnsafe(){return this.getUInt32()}_toString(e,t,n){if((n=Math.min(this._end,n))-t>c){const r=e.subarray(t,n);return l.decode(r)}let r="",s="";for(let i=t;i<n;++i){const t=e[i];128&t?s+="%"+t.toString(16):(r+=decodeURIComponent(s)+String.fromCharCode(t),s="")}return s.length&&(r+=decodeURIComponent(s)),r}_toBytes(e,t,n){return n=Math.min(this._end,n),new Uint8Array(e.buffer,t,n-t)}}h.pool=new a.Z(h,void 0,(e=>{e._data=null,e._dataView=null}))},3172:(e,t,n)=>{n.r(t),n.d(t,{default:()=>d});var r=n(68773),s=n(40330),i=n(20102),a=n(80442),o=n(22974),l=n(95330),c=n(81271),h=n(19745),u=n(71058),f=n(85958);async function d(e,t){e instanceof URL&&(e=e.toString()),t?.query instanceof URLSearchParams&&(t.query=(0,c.u0)(t.query.toString().replaceAll("+"," ")));const o=(0,c.HK)(e),h=(0,c.jc)(e);h||o||(e=(0,c.Fv)(e));const x={url:e,requestOptions:{...t}};let _=(0,c.oh)(e);if(_){const e=await async function(e,t){if(null!=e.responseData)return e.responseData;if(e.headers&&(t.requestOptions.headers={...t.requestOptions.headers,...e.headers}),e.query&&(t.requestOptions.query={...t.requestOptions.query,...e.query}),e.before){let n,r;try{r=await e.before(t)}catch(e){n=M("request:interceptor",e,t)}if((r instanceof Error||r instanceof i.Z)&&(n=M("request:interceptor",r,t)),n)throw e.error&&e.error(n),n;return r}}(_,x);if(null!=e)return{data:e,getHeader:b,httpStatus:200,requestOptions:x.requestOptions,url:x.url};_.after||_.error||(_=null)}if(e=x.url,"image"===(t=x.requestOptions).responseType&&((0,a.Z)("host-webworker")||(0,a.Z)("host-node")))throw M("request:invalid-parameters",new Error("responseType 'image' is not supported in Web Workers or Node environment"),x);if("head"===t.method){if(t.body)throw M("request:invalid-parameters",new Error("body parameter cannot be set when method is 'head'"),x);if(o||h)throw M("request:invalid-parameters",new Error("data and blob URLs are not supported for method 'head'"),x)}if(await async function(){(0,a.Z)("host-webworker")?p||(p=await n.e(9884).then(n.bind(n,29884))):d._abortableFetch||(d._abortableFetch=globalThis.fetch.bind(globalThis))}(),p)return p.execute(e,t);const m=new AbortController;(0,l.fu)(t,(()=>m.abort()));const I={controller:m,credential:void 0,credentialToken:void 0,fetchOptions:void 0,hasToken:!1,interceptor:_,params:x,redoRequest:!1,useIdentity:y.useIdentity,useProxy:!1,useSSL:!1,withCredentials:!1},w=await async function(e){let t,n;await async function(e){const t=e.params.url,n=e.params.requestOptions,i=e.controller.signal,a=n.body;let o=null,c=null;if(g&&"HTMLFormElement"in globalThis&&(a instanceof FormData?o=a:a instanceof HTMLFormElement&&(o=new FormData(a))),"string"==typeof a&&(c=a),e.fetchOptions={cache:n.cacheBust&&!("polyfill"in d._abortableFetch)?"no-cache":"default",credentials:"same-origin",headers:n.headers||{},method:"head"===n.method?"HEAD":"GET",mode:"cors",priority:y.priority,redirect:"follow",signal:i},(o||c)&&(e.fetchOptions.body=o||c),"anonymous"===n.authMode&&(e.useIdentity=!1),e.hasToken=!!(/token=/i.test(t)||n.query?.token||o?.get("token")),!e.hasToken&&r.default.apiKey&&(0,u.r)(t)&&(n.query||(n.query={}),n.query.token=r.default.apiKey,e.hasToken=!0),e.useIdentity&&!e.hasToken&&!e.credentialToken&&!k(t)&&!(0,l.Hc)(i)){let r;"immediate"===n.authMode?(await T(),r=await s.id.getCredential(t,{signal:i}),e.credential=r):"no-prompt"===n.authMode?(await T(),r=await s.id.getCredential(t,{prompt:!1,signal:i}).catch((()=>{})),e.credential=r):s.id&&(r=s.id.findCredential(t)),r&&(e.credentialToken=r.token,e.useSSL=!!r.ssl)}}(e);try{do{[t,n]=await v(e)}while(!await L(e,t,n))}catch(n){const r=M("request:server",n,e.params,t);throw r.details.ssl=e.useSSL,e.interceptor?.error&&e.interceptor.error(r),r}const i=e.params.url;if(n&&/\/sharing\/rest\/(accounts|portals)\/self/i.test(i)){if(!e.hasToken&&!e.credentialToken&&n.user?.username&&!(0,c.kl)(i)){const e=(0,c.P$)(i,!0);e&&y.trustedServers.push(e)}Array.isArray(n.authorizedCrossOriginNoCorsDomains)&&(0,f.Hu)(n.authorizedCrossOriginNoCorsDomains)}const a=e.credential;if(a&&s.id){const e=s.id.findServerInfo(a.server);let t=e?.owningSystemUrl;if(t){t=t.replace(/\/?$/,"/sharing");const e=s.id.findCredential(t,a.userId);e&&-1===s.id._getIdenticalSvcIdx(t,e)&&e.resources.unshift(t)}}return{data:n,getHeader:t?e=>t?.headers.get(e):b,httpStatus:t?.status??200,requestOptions:e.params.requestOptions,ssl:e.useSSL,url:e.params.url}}(I);return _?.after?.(w),w}let p;const y=r.default.request,g="FormData"in globalThis,x=[499,498,403,401],_=["COM_0056","COM_0057","SB_0008"],m=[/\/arcgis\/tokens/i,/\/sharing(\/rest)?\/generatetoken/i,/\/rest\/info/i],b=()=>null,I=Symbol();function w(e){const t=(0,c.P$)(e);return!t||t.endsWith(".arcgis.com")||d._corsServers.includes(t)||(0,c.kl)(t)}function M(e,t,n,r){let s="Error";const a={url:n.url,requestOptions:n.requestOptions,getHeader:b,ssl:!1};if(t instanceof i.Z)return t.details?(t.details=(0,o.d9)(t.details),t.details.url=n.url,t.details.requestOptions=n.requestOptions):t.details=a,t;if(t){const e=r&&(e=>r.headers.get(e)),n=r?.status,i=t.message;i&&(s=i),e&&(a.getHeader=e),a.httpStatus=(null!=t.httpCode?t.httpCode:t.code)||n||0,a.subCode=t.subcode,a.messageCode=t.messageCode,"string"==typeof t.details?a.messages=[t.details]:a.messages=t.details,a.raw=I in t?t[I]:t}return(0,l.D_)(t)?(0,l.zE)():new i.Z(e,s,a)}async function T(){s.id||await Promise.all([n.e(7126),n.e(6261),n.e(9255),n.e(1400),n.e(450)]).then(n.bind(n,73660))}function k(e){return m.some((t=>t.test(e)))}async function v(e){let t=e.params.url;const n=e.params.requestOptions,r=e.fetchOptions??{},i=(0,c.jc)(t)||(0,c.HK)(t),o=n.responseType||"json",u=i?0:null!=n.timeout?n.timeout:y.timeout;let p=!1;if(!i){e.useSSL&&(t=(0,c.hO)(t)),n.cacheBust&&"default"===r.cache&&(t=(0,c.ZN)(t,"request.preventCache",Date.now()));let i={...n.query};e.credentialToken&&(i.token=e.credentialToken);let o=(0,c.B7)(i);(0,a.Z)("esri-url-encodes-apostrophe")&&(o=o.replaceAll("'","%27"));const l=t.length+1+o.length;let u;p="delete"===n.method||"post"===n.method||"put"===n.method||!!n.body||l>y.maxUrlLength;const d=n.useProxy||!!(0,c.ed)(t);if(d){const e=(0,c.b7)(t);u=e.path,!p&&u.length+1+l>y.maxUrlLength&&(p=!0),e.query&&(i={...e.query,...i})}if("HEAD"===r.method&&(p||d)){if(p){if(l>y.maxUrlLength)throw M("request:invalid-parameters",new Error("URL exceeds maximum length"),e.params);throw M("request:invalid-parameters",new Error("cannot use POST request when method is 'head'"),e.params)}if(d)throw M("request:invalid-parameters",new Error("cannot use proxy when method is 'head'"),e.params)}if(p?(r.method="delete"===n.method?"DELETE":"put"===n.method?"PUT":"POST",n.body?t=(0,c.fl)(t,i):(r.body=(0,c.B7)(i),r.headers||(r.headers={}),r.headers["Content-Type"]="application/x-www-form-urlencoded")):t=(0,c.fl)(t,i),d&&(e.useProxy=!0,t=`${u}?${t}`),i.token&&g&&r.body instanceof FormData&&!(0,h.P)(t)&&r.body.set("token",i.token),n.hasOwnProperty("withCredentials"))e.withCredentials=n.withCredentials;else if(!(0,c.D6)(t,(0,c.TI)()))if((0,c.kl)(t))e.withCredentials=!0;else if(s.id){const n=s.id.findServerInfo(t);n?.webTierAuth&&(e.withCredentials=!0)}e.withCredentials&&(r.credentials="include",(0,f.jH)(t)&&await(0,f.jz)(p?(0,c.fl)(t,i):t))}let x,_,m=0,b=!1;u>0&&(m=setTimeout((()=>{b=!0,e.controller.abort()}),u));try{if("native-request-init"===n.responseType)_=r,_.url=t;else if("image"!==n.responseType||"default"!==r.cache||"GET"!==r.method||p||function(e){if(e)for(const t of Object.getOwnPropertyNames(e))if(e[t])return!0;return!1}(n.headers)||!i&&!e.useProxy&&y.proxyUrl&&!w(t)){if(x=await d._abortableFetch(t,r),e.useProxy||function(e){const t=(0,c.P$)(e);t&&!d._corsServers.includes(t)&&d._corsServers.push(t)}(t),"native"===n.responseType)_=x;else if("HEAD"!==r.method)if(x.ok){switch(o){case"array-buffer":_=await x.arrayBuffer();break;case"blob":case"image":_=await x.blob();break;default:_=await x.text()}if(m&&(clearTimeout(m),m=0),"json"===o||"xml"===o||"document"===o)if(_)switch(o){case"json":_=JSON.parse(_);break;case"xml":_=P(_,"application/xml");break;case"document":_=P(_,"text/html")}else _=null;if(_){if("array-buffer"===o||"blob"===o){const e=x.headers.get("Content-Type");if(e&&/application\/json|text\/plain/i.test(e)&&_["blob"===o?"size":"byteLength"]<=750)try{const e=await new Response(_).json();e.error&&(_=e)}catch{}}"image"===o&&_ instanceof Blob&&(_=await E(URL.createObjectURL(_),e,!0))}}else{_=await x.text();try{_=JSON.parse(_)}catch{}}}else _=await E(t,e)}catch(r){if("AbortError"===r.name){if(b)throw(0,f.Tf)();throw(0,l.zE)("Request canceled")}if(!(!x&&r instanceof TypeError&&y.proxyUrl)||n.body||"delete"===n.method||"head"===n.method||"post"===n.method||"put"===n.method||e.useProxy||w(t))throw r;e.redoRequest=!0,(0,c.tD)({proxyUrl:y.proxyUrl,urlPrefix:(0,c.P$)(t)??""})}finally{m&&clearTimeout(m)}return[x,_]}function P(e,t){let n;try{n=(new DOMParser).parseFromString(e,t)}catch{}if(!n||n.getElementsByTagName("parsererror").length)throw new SyntaxError("XML Parse error");return n}async function L(e,t,n){if(e.redoRequest)return e.redoRequest=!1,!1;const r=e.params.requestOptions;if(!t||"native"===r.responseType||"native-request-init"===r.responseType)return!0;let i,a;if(n&&(n.error?i=n.error:"error"===n.status&&Array.isArray(n.messages)&&(i={...n},i[I]=n,i.details=n.messages)),!i&&!t.ok)throw i=new Error(`Unable to load ${t.url} status: ${t.status}`),i[I]=n,i;let o,l=null;i&&(a=Number(i.code),l=i.hasOwnProperty("subcode")?Number(i.subcode):null,o=i.messageCode,o=o?.toUpperCase());const c=r.authMode;if(403===a&&(4===l||i.message?.toLowerCase().includes("ssl")&&!i.message.toLowerCase().includes("permission"))){if(!e.useSSL)return e.useSSL=!0,!1}else if(!e.hasToken&&e.useIdentity&&("no-prompt"!==c||498===a)&&void 0!==a&&x.includes(a)&&!k(e.params.url)&&(403!==a||o&&!_.includes(o)&&(null==l||2===l&&e.credentialToken))){await T();try{const t=await s.id.getCredential(e.params.url,{error:M("request:server",i,e.params),prompt:"no-prompt"!==c,signal:e.controller.signal,token:e.credentialToken});return e.credential=t,e.credentialToken=t.token,e.useSSL=e.useSSL||t.ssl,!1}catch(t){if("no-prompt"===c)return e.credential=void 0,e.credentialToken=void 0,!1;i=t}}if(i)throw i;return!0}function E(e,t,n=!1){const r=t.controller.signal,s=new Image;return t.withCredentials?s.crossOrigin="use-credentials":s.crossOrigin="anonymous",s.alt="",s.fetchPriority=y.priority,s.src=e,(0,f.fY)(s,e,n,r)}d._abortableFetch=null,d._corsServers=["https://server.arcgisonline.com","https://services.arcgisonline.com"]},71058:(e,t,n)=>{n.d(t,{r:()=>i});var r=n(81271);const s=["elevation3d.arcgis.com","js.arcgis.com","jsdev.arcgis.com","jsqa.arcgis.com","static.arcgis.com"];function i(e){const t=(0,r.P$)(e,!0);return!!t&&t.endsWith(".arcgis.com")&&!s.includes(t)&&!e.endsWith("/sharing/rest/generateToken")}},85958:(e,t,n)=>{n.d(t,{Hu:()=>u,Tf:()=>h,fY:()=>o,jH:()=>f,jz:()=>d});var r=n(68773),s=n(80442),i=n(95330),a=n(81271);function o(e,t,n=!1,r){return new Promise(((a,o)=>{if((0,i.Hc)(r))return void o(l());let c=()=>{f(),o(new Error(`Unable to load ${t}`))},h=()=>{const t=e;f(),a(t)},u=()=>{if(!e)return;const t=e;f(),t.src="",o(l())};const f=()=>{(0,s.Z)("esri-image-decode")||(e.removeEventListener("error",c),e.removeEventListener("load",h)),c=null,h=null,e=null,null!=r&&r.removeEventListener("abort",u),u=null,n&&URL.revokeObjectURL(t)};null!=r&&r.addEventListener("abort",u),(0,s.Z)("esri-image-decode")?e.decode().then(h,c):(e.addEventListener("error",c),e.addEventListener("load",h))}))}function l(){try{return new DOMException("Aborted","AbortError")}catch{const e=new Error;return e.name="AbortError",e}}const c="Timeout exceeded";function h(){return new Error(c)}function u(e){r.default.request.crossOriginNoCorsDomains||(r.default.request.crossOriginNoCorsDomains={});const t=r.default.request.crossOriginNoCorsDomains;for(let n of e)n=n.toLowerCase(),/^https?:\/\//.test(n)?t[(0,a.P$)(n)??""]=0:(t[(0,a.P$)("http://"+n)??""]=0,t[(0,a.P$)("https://"+n)??""]=0)}function f(e){const t=r.default.request.crossOriginNoCorsDomains;if(t){let n=(0,a.P$)(e);if(n)return n=n.toLowerCase(),!(0,a.D6)(n,(0,a.TI)())&&t[n]<Date.now()-36e5}return!1}async function d(e){const t=r.default.request.crossOriginNoCorsDomains,n=(0,a.P$)(e);t&&n&&(t[n.toLowerCase()]=Date.now());const s=(0,a.mN)(e);e=s.path,"json"===s.query?.f&&(e+="?f=json");try{await fetch(e,{mode:"no-cors",credentials:"include"})}catch{}}},56456:(e,t,n)=>{n.r(t),n.d(t,{default:()=>Q});var r=n(95330),s=n(4215),i=n(59255),a=n(31363);function o(e){return 746===e||747===e||!(e<4352)&&(e>=12704&&e<=12735||e>=12544&&e<=12591||e>=65072&&e<=65103&&!(e>=65097&&e<=65103)||e>=63744&&e<=64255||e>=13056&&e<=13311||e>=11904&&e<=12031||e>=12736&&e<=12783||e>=12288&&e<=12351&&!(e>=12296&&e<=12305||e>=12308&&e<=12319||12336===e)||e>=13312&&e<=19903||e>=19968&&e<=40959||e>=12800&&e<=13055||e>=12592&&e<=12687||e>=43360&&e<=43391||e>=55216&&e<=55295||e>=4352&&e<=4607||e>=44032&&e<=55215||e>=12352&&e<=12447||e>=12272&&e<=12287||e>=12688&&e<=12703||e>=12032&&e<=12255||e>=12784&&e<=12799||e>=12448&&e<=12543&&12540!==e||e>=65280&&e<=65519&&!(65288===e||65289===e||65293===e||e>=65306&&e<=65310||65339===e||65341===e||65343===e||e>=65371&&e<=65503||65507===e||e>=65512&&e<=65519)||e>=65104&&e<=65135&&!(e>=65112&&e<=65118||e>=65123&&e<=65126)||e>=5120&&e<=5759||e>=6320&&e<=6399||e>=65040&&e<=65055||e>=19904&&e<=19967||e>=40960&&e<=42127||e>=42128&&e<=42191)}function l(e){return!(e<11904)&&(e>=12704&&e<=12735||e>=12544&&e<=12591||e>=65072&&e<=65103||e>=63744&&e<=64255||e>=13056&&e<=13311||e>=11904&&e<=12031||e>=12736&&e<=12783||e>=12288&&e<=12351||e>=13312&&e<=19903||e>=19968&&e<=40959||e>=12800&&e<=13055||e>=65280&&e<=65519||e>=12352&&e<=12447||e>=12272&&e<=12287||e>=12032&&e<=12255||e>=12784&&e<=12799||e>=12448&&e<=12543||e>=65040&&e<=65055||e>=42128&&e<=42191||e>=40960&&e<=42127)}function c(e){switch(e){case 10:case 32:case 38:case 40:case 41:case 43:case 45:case 47:case 173:case 183:case 8203:case 8208:case 8211:case 8231:return!0}return!1}function h(e){switch(e){case 9:case 10:case 11:case 12:case 13:case 32:return!0}return!1}var u=n(87893);const f=24;class d{constructor(e,t,n,r,s,i,a){this._glyphItems=e,this._maxWidth=t,this._lineHeight=n,this._letterSpacing=r,this._hAnchor=s,this._vAnchor=i,this._justify=a}getShaping(e,t,n){const r=this._letterSpacing,s=this._lineHeight,i=this._justify,a=this._maxWidth,u=[];let f=0,d=0;for(const t of e){const e=t.codePointAt(0);if(null==e)continue;const s=n&&o(e);let i;for(const t of this._glyphItems)if(i=t[e],i)break;u.push({codePoint:e,x:f,y:d,vertical:s,glyphMosaicItem:i}),i&&(f+=i.metrics.advance+r)}let p=f;a>0&&(p=f/Math.max(1,Math.ceil(f/a)));const y=e.includes(""),g=[],x=u.length;for(let e=0;e<x-1;e++){const t=u[e].codePoint,n=l(t);if(c(t)||n){let r=0;if(10===t)r-=1e4;else if(n&&y)r+=150;else{40!==t&&65288!==t||(r+=50);const n=u[e+1].codePoint;41!==n&&65289!==n||(r+=50)}g.push(this._buildBreak(e+1,u[e].x,p,g,r,!1))}}const _=this._optimalBreaks(this._buildBreak(x,f,p,g,0,!0));let m=0;const b=t?-s:s;let I=0;for(let e=0;e<_.length;e++){const t=_[e];let n=I;for(;n<t&&h(u[n].codePoint);)u[n].glyphMosaicItem=null,++n;let r=t-1;for(;r>n&&h(u[r].codePoint);)u[r].glyphMosaicItem=null,--r;if(n<=r){const e=u[n].x;for(let t=n;t<=r;t++)u[t].x-=e,u[t].y=d;let t=u[r].x;u[r].glyphMosaicItem&&(t+=u[r].glyphMosaicItem.metrics.advance),m=Math.max(t,m),i&&this._applyJustification(u,n,r)}I=t,d+=b}if(u.length>0){const e=_.length-1,n=(i-this._hAnchor)*m;let r=(-this._vAnchor*(e+1)+.5)*s;t&&e&&(r+=e*s);for(const e of u)e.x+=n,e.y+=r}return u.filter((e=>e.glyphMosaicItem))}static getTextBox(e,t){if(!e.length)return null;let n=1/0,r=1/0,s=0,i=0;for(const a of e){const e=a.glyphMosaicItem.metrics.advance,o=a.x,l=a.y-17,c=o+e,h=l+t;n=Math.min(n,o),s=Math.max(s,c),r=Math.min(r,l),i=Math.max(i,h)}return{x:n,y:r,width:s-n,height:i-r}}static getBox(e){if(!e.length)return null;let t=1/0,n=1/0,r=0,s=0;for(const i of e){const{height:e,left:a,top:o,width:l}=i.glyphMosaicItem.metrics,c=i.x,h=i.y-(e-Math.abs(o)),u=c+l+a,f=h+e;t=Math.min(t,c),r=Math.max(r,u),n=Math.min(n,h),s=Math.max(s,f)}return{x:t,y:n,width:r-t,height:s-n}}static addDecoration(e,t){const n=e.length;if(0===n)return;let r=e[0].x+e[0].glyphMosaicItem.metrics.left,s=e[0].y;for(let i=1;i<n;i++){const n=e[i];if(n.y!==s){const a=e[i-1].x+e[i-1].glyphMosaicItem.metrics.left+e[i-1].glyphMosaicItem.metrics.width;e.push({codePoint:0,x:r,y:s+t-3,vertical:!1,glyphMosaicItem:{sdf:!0,rect:new u.Z(4,0,4,8),metrics:{width:a-r,height:8,left:0,top:0,advance:0},page:0,code:0}}),s=n.y,r=n.x+n.glyphMosaicItem.metrics.left}}const i=e[n-1].x+e[n-1].glyphMosaicItem.metrics.left+e[n-1].glyphMosaicItem.metrics.width;e.push({codePoint:0,x:r,y:s+t-3,vertical:!1,glyphMosaicItem:{sdf:!0,rect:new u.Z(4,0,4,8),metrics:{width:i-r,height:8,left:0,top:0,advance:0},page:0,code:0}})}_breakScore(e,t,n,r){const s=(e-t)*(e-t);return r?e<t?s/2:2*s:s+Math.abs(n)*n}_buildBreak(e,t,n,r,s,i){let a=null,o=this._breakScore(t,n,s,i);for(const e of r){const r=t-e.x,l=this._breakScore(r,n,s,i)+e.score;l<=o&&(a=e,o=l)}return{index:e,x:t,score:o,previousBreak:a}}_optimalBreaks(e){return e?this._optimalBreaks(e.previousBreak).concat(e.index):[]}_applyJustification(e,t,n){const r=e[n],s=r.vertical?f:r.glyphMosaicItem?r.glyphMosaicItem.metrics.advance:0,i=(r.x+s)*this._justify;for(let r=t;r<=n;r++)e[r].x-=i}}var p=n(21315);const y=.5;class g{constructor(e,t,n=0,r=-1,s=y){this.x=e,this.y=t,this.angle=n,this.segment=r,this.minzoom=s}}class x{constructor(e,t,n,r,s,i=y,o=a.B1){this.anchor=e,this.labelAngle=t,this.glyphAngle=n,this.page=r,this.alternateVerticalGlyph=s,this.minzoom=i,this.maxzoom=o}}class _{constructor(e,t,n,r,s,i,a,o,l,c,h,u){this.tl=e,this.tr=t,this.bl=n,this.br=r,this.mosaicRect=s,this.labelAngle=i,this.minAngle=a,this.maxAngle=o,this.anchor=l,this.minzoom=c,this.maxzoom=h,this.page=u}}class m{constructor(e){this.shapes=e}}class b{getIconPlacement(e,t,n){const r=new i.E9(e.x,e.y),s=n.rotationAlignment===p.aF.MAP,o=n.keepUpright;let l=n.rotate*a.DT;s&&(l+=e.angle);const c=new m([]);return n.allowOverlap&&n.ignorePlacement||(c.iconColliders=[]),this._addIconPlacement(c,r,t,n,l),s&&o&&this._addIconPlacement(c,r,t,n,l+a.JJ),c}_addIconPlacement(e,t,n,r,s){const o=n.pixelRatio,l=n.width/o,c=n.height/o,h=r.offset;let u=h[0],f=h[1];switch(r.anchor){case p.nR.CENTER:u-=l/2,f-=c/2;break;case p.nR.LEFT:f-=c/2;break;case p.nR.RIGHT:u-=l,f-=c/2;break;case p.nR.TOP:u-=l/2;break;case p.nR.BOTTOM:u-=l/2,f-=c;break;case p.nR.TOP_LEFT:break;case p.nR.BOTTOM_LEFT:f-=c;break;case p.nR.TOP_RIGHT:u-=l;break;case p.nR.BOTTOM_RIGHT:u-=l,f-=c}const d=n.rect,g=2/o,x=u-g,m=f-g,b=x+d.width/o,I=m+d.height/o,w=new i.E9(x,m),M=new i.E9(b,I),T=new i.E9(x,I),k=new i.E9(b,m);if(0!==s){const e=Math.cos(s),t=Math.sin(s);w.rotate(e,t),M.rotate(e,t),T.rotate(e,t),k.rotate(e,t)}const v=new _(w,k,T,M,d,s,0,256,t,y,a.B1,0);if(e.shapes.push(v),!r.allowOverlap||!r.ignorePlacement){const n=r.size,i=r.padding,o={xTile:t.x,yTile:t.y,dxPixels:u*n-i,dyPixels:f*n-i,hard:!r.optional,partIndex:0,width:l*n+2*i,height:c*n+2*i,angle:s,minLod:y,maxLod:a.B1};e.iconColliders.push(o)}}getTextPlacement(e,t,n,r){const s=new i.E9(e.x,e.y),o=r.rotate*a.DT,l=r.rotationAlignment===p.aF.MAP,c=r.keepUpright,h=r.padding;let u=y;const g=l?e.angle:0,b=e.segment>=0&&l,I=r.allowOverlap&&r.ignorePlacement?null:[],w=[],M=!b;let T=Number.POSITIVE_INFINITY,k=Number.NEGATIVE_INFINITY,v=T,P=k;const L=(b||l)&&c,E=r.size/f;let D=!1;for(const e of t)if(e.vertical){D=!0;break}let A,S=0,B=0;if(!b&&D){const e=d.getTextBox(t,r.lineHeight*f);switch(r.anchor){case p.nR.LEFT:S=e.height/2,B=-e.width/2;break;case p.nR.RIGHT:S=-e.height/2,B=e.width/2;break;case p.nR.TOP:S=e.height/2,B=e.width/2;break;case p.nR.BOTTOM:S=-e.height/2,B=-e.width/2;break;case p.nR.TOP_LEFT:S=e.height;break;case p.nR.BOTTOM_LEFT:B=-e.width;break;case p.nR.TOP_RIGHT:B=e.width;break;case p.nR.BOTTOM_RIGHT:S=-e.height}}S+=r.offset[0]*f,B+=r.offset[1]*f;for(const f of t){const t=f.glyphMosaicItem;if(!t||t.rect.isEmpty)continue;const d=t.rect,p=t.metrics,m=t.page;if(I&&M){if(void 0!==A&&A!==f.y){let t,n,s,i;D?(t=-P+S,n=T+B,s=P-v,i=k-T):(t=T+S,n=v+B,s=k-T,i=P-v);const l={xTile:e.x,yTile:e.y,dxPixels:t*E-h,dyPixels:n*E-h,hard:!r.optional,partIndex:1,width:s*E+2*h,height:i*E+2*h,angle:o,minLod:y,maxLod:a.B1};I.push(l),T=Number.POSITIVE_INFINITY,k=Number.NEGATIVE_INFINITY,v=T,P=k}A=f.y}const V=[];if(b){const r=.5*t.metrics.width,s=(f.x+p.left-4+r)*E*8;if(u=this._placeGlyph(e,u,s,n,e.segment,1,f.vertical,m,V),c&&(u=this._placeGlyph(e,u,s,n,e.segment,-1,f.vertical,m,V)),u>=2)break}else V.push(new x(s,g,g,m,!1)),l&&c&&V.push(new x(s,g+a.JJ,g+a.JJ,m,!1));const C=f.x+p.left,R=f.y-17-p.top,O=C+p.width,F=R+p.height;let q,U,N,z,Z,j,G,H;if(!b&&D)if(f.vertical){const e=(C+O)/2-p.height/2,t=(R+F)/2+p.width/2;q=new i.E9(-t-4+S,e-4+B),U=new i.E9(q.x+d.width,q.y+d.height),N=new i.E9(q.x,U.y),z=new i.E9(U.x,q.y)}else q=new i.E9(4-R+S,C-4+B),U=new i.E9(q.x-d.height,q.y+d.width),N=new i.E9(U.x,q.y),z=new i.E9(q.x,U.y);else q=new i.E9(C-4+S,R-4+B),U=new i.E9(q.x+d.width,q.y+d.height),N=new i.E9(q.x,U.y),z=new i.E9(U.x,q.y);for(const t of V){let n,s,a,l;if(t.alternateVerticalGlyph){if(!Z){const e=(R+F)/2+B;Z=new i.E9((C+O)/2+S-p.height/2-4,e+p.width/2+4),j=new i.E9(Z.x+d.height,Z.y-d.width),G=new i.E9(j.x,Z.y),H=new i.E9(Z.x,j.y)}n=Z,s=G,a=H,l=j}else n=q,s=N,a=z,l=U;const c=R,u=F,y=t.glyphAngle+o;if(0!==y){const e=Math.cos(y),t=Math.sin(y);n=n.clone(),s=s?.clone(),a=a?.clone(),l=l?.clone(),n.rotate(e,t),l?.rotate(e,t),s?.rotate(e,t),a?.rotate(e,t)}let g=0,x=256;if(b&&D?f.vertical?t.alternateVerticalGlyph?(g=32,x=96):(g=224,x=32):(g=224,x=96):(g=192,x=64),w.push(new _(n,a,s,l,d,t.labelAngle,g,x,t.anchor,t.minzoom,t.maxzoom,t.page)),I&&(!L||this._legible(t.labelAngle)))if(M)C<T&&(T=C),c<v&&(v=c),O>k&&(k=O),u>P&&(P=u);else if(t.minzoom<2){const n={xTile:e.x,yTile:e.y,dxPixels:(C+S)*E-h,dyPixels:(c+S)*E-h,hard:!r.optional,partIndex:1,width:(O-C)*E+2*h,height:(u-c)*E+2*h,angle:y,minLod:t.minzoom,maxLod:t.maxzoom};I.push(n)}}}if(u>=2)return null;if(I&&M){let t,n,s,i;D?(t=-P+S,n=T+B,s=P-v,i=k-T):(t=T+S,n=v+B,s=k-T,i=P-v);const l={xTile:e.x,yTile:e.y,dxPixels:t*E-h,dyPixels:n*E-h,hard:!r.optional,partIndex:1,width:s*E+2*h,height:i*E+2*h,angle:o,minLod:y,maxLod:a.B1};I.push(l)}const V=new m(w);return I&&I.length>0&&(V.textColliders=I),V}_legible(e){const t=(0,a.Or)(e);return t<65||t>=193}_placeGlyph(e,t,n,r,s,o,l,c,h){let u=o;const f=u<0?(0,a.DQ)(e.angle+a.JJ,a._U):e.angle;let d=0;n<0&&(u*=-1,n*=-1,d=a.JJ),u>0&&++s;let p=new i.E9(e.x,e.y),y=r[s],g=a.B1;if(r.length<=s)return g;for(;;){const e=y.x-p.x,i=y.y-p.y,o=Math.sqrt(e*e+i*i),_=Math.max(n/o,t),m=e/o,b=i/o,I=(0,a.DQ)(Math.atan2(b,m)+d,a._U);if(h.push(new x(p,f,I,c,!1,_,g)),l&&h.push(new x(p,f,I,c,!0,_,g)),_<=t)return _;p=y.clone();do{if(s+=u,r.length<=s||s<0)return _;y=r[s]}while(p.isEqual(y));let w=y.x-p.x,M=y.y-p.y;const T=Math.sqrt(w*w+M*M);w*=o/T,M*=o/T,p.x-=w,p.y-=M,g=_}}}var I,w,M=n(45091),T=n(65390);(w=I||(I={}))[w.moveTo=1]="moveTo",w[w.lineTo=2]="lineTo",w[w.close=7]="close";class k{constructor(e,t){this.values={},this._geometry=void 0,this._pbfGeometry=null;const n=t.keys,r=t.values,s=e.asUnsafe();for(;s.next();)switch(s.tag()){case 1:this.id=s.getUInt64();break;case 2:{const e=s.getMessage().asUnsafe(),t=this.values;for(;!e.empty();){const s=e.getUInt32(),i=e.getUInt32();t[n[s]]=r[i]}e.release();break}case 3:this.type=s.getUInt32();break;case 4:this._pbfGeometry=s.getMessage();break;default:s.skip()}}getGeometry(e){if(void 0!==this._geometry)return this._geometry;if(!this._pbfGeometry)return null;const t=this._pbfGeometry.asUnsafe();let n,r;this._pbfGeometry=null,e?e.reset(this.type):n=[];let s,a=I.moveTo,o=0,l=0,c=0;for(;!t.empty();){if(0===o){const e=t.getUInt32();a=7&e,o=e>>3}switch(o--,a){case I.moveTo:l+=t.getSInt32(),c+=t.getSInt32(),e?e.moveTo(l,c):n&&(r&&n.push(r),r=[],r.push(new i.E9(l,c)));break;case I.lineTo:l+=t.getSInt32(),c+=t.getSInt32(),e?e.lineTo(l,c):r&&r.push(new i.E9(l,c));break;case I.close:e?e.close():r&&!r[0].equals(l,c)&&r.push(r[0].clone());break;default:throw t.release(),new Error("Invalid path operation")}}return e?s=e.result():n&&(r&&n.push(r),s=n),t.release(),this._geometry=s,s}}var v=n(26084);class P extends v.Z{constructor(){super(12)}add(e,t,n){const r=this.array;r.push(e),r.push(t),r.push(n)}}class L{constructor(e){this.extent=4096,this.keys=[],this.values=[],this._pbfLayer=e.clone();const t=e.asUnsafe();for(;t.next();)switch(t.tag()){case 1:this.name=t.getString();break;case 3:this.keys.push(t.getString());break;case 4:this.values.push(t.processMessage(L._parseValue));break;case 5:this.extent=t.getUInt32();break;default:t.skip()}}getData(){return this._pbfLayer}static _parseValue(e){for(;e.next();)switch(e.tag()){case 1:return e.getString();case 2:return e.getFloat();case 3:return e.getDouble();case 4:return e.getInt64();case 5:return e.getUInt64();case 6:return e.getSInt64();case 7:return e.getBool();default:e.skip()}return null}}class E extends v.Z{constructor(e){super(e)}add(e,t,n,r,s,i,a,o,l,c,h,u){const f=this.array;let d=v.Z.i1616to32(e,t);f.push(d);const p=31;d=v.Z.i8888to32(Math.round(p*n),Math.round(p*r),Math.round(p*s),Math.round(p*i)),f.push(d),d=v.Z.i8888to32(Math.round(p*a),Math.round(p*o),Math.round(p*l),Math.round(p*c)),f.push(d),d=v.Z.i1616to32(h,0),f.push(d),u&&f.push(...u)}}class D extends v.Z{constructor(e){super(e)}add(e,t,n){const r=this.array;r.push(v.Z.i1616to32(e,t)),n&&r.push(...n)}}class A extends v.Z{constructor(e){super(e)}add(e,t,n,r,s,i,a){const o=this.array,l=this.index;let c=v.Z.i1616to32(e,t);return o.push(c),c=v.Z.i8888to32(Math.round(15*n),Math.round(15*r),s,i),o.push(c),a&&o.push(...a),l}}class S extends v.Z{constructor(e){super(e)}add(e,t,n,r,s,i,o,l,c,h,u,f){const d=this.array;let p=v.Z.i1616to32(e,t);d.push(p),p=v.Z.i1616to32(Math.round(8*n),Math.round(8*r)),d.push(p),p=v.Z.i8888to32(s/4,i/4,l,c),d.push(p),p=v.Z.i8888to32(0,(0,a.Or)(o),10*h,Math.min(10*u,255)),d.push(p),f&&d.push(...f)}}class B extends v.Z{constructor(e){super(e)}add(e,t,n,r,s){const i=this.array,a=v.Z.i1616to32(2*e+n,2*t+r);i.push(a),s&&i.push(...s)}}class V{constructor(e,t,n){this.layerExtent=4096,this._features=[],this.layer=e,this.zoom=t,this._spriteInfo=n,this._filter=e.getFeatureFilter()}pushFeature(e){this._filter&&!this._filter.filter(e,this.zoom)||this._features.push(e)}hasFeatures(){return this._features.length>0}getResources(e,t,n){}}class C extends V{constructor(e,t,n,r,i){super(e,t,n),this.type=s.al.CIRCLE,this._circleVertexBuffer=r,this._circleIndexBuffer=i}get circleIndexStart(){return this._circleIndexStart}get circleIndexCount(){return this._circleIndexCount}processFeatures(e){const t=this._circleVertexBuffer,n=this._circleIndexBuffer;this._circleIndexStart=3*n.index,this._circleIndexCount=0;const r=this.layer,s=this.zoom;e&&e.setExtent(this.layerExtent);for(const i of this._features){const a=i.getGeometry(e);if(!a)continue;const o=r.circleMaterial.encodeAttributes(i,s,r);for(const e of a)if(e)for(const r of e){const e=t.index;t.add(r.x,r.y,0,0,o),t.add(r.x,r.y,0,1,o),t.add(r.x,r.y,1,0,o),t.add(r.x,r.y,1,1,o),n.add(e,e+1,e+2),n.add(e+1,e+2,e+3),this._circleIndexCount+=6}}}serialize(){let e=6;e+=this.layerUIDs.length,e+=this._circleVertexBuffer.array.length,e+=this._circleIndexBuffer.array.length;const t=new Uint32Array(e),n=new Int32Array(t.buffer);let r=0;t[r++]=this.type,t[r++]=this.layerUIDs.length;for(let e=0;e<this.layerUIDs.length;e++)t[r++]=this.layerUIDs[e];t[r++]=this._circleIndexStart,t[r++]=this._circleIndexCount,t[r++]=this._circleVertexBuffer.array.length;for(let e=0;e<this._circleVertexBuffer.array.length;e++)n[r++]=this._circleVertexBuffer.array[e];t[r++]=this._circleIndexBuffer.array.length;for(let e=0;e<this._circleIndexBuffer.array.length;e++)t[r++]=this._circleIndexBuffer.array[e];return t.buffer}}var R=n(3894),O=n(95401);class F extends V{constructor(e,t,n,r,i,a,o){super(e,t,n),this.type=s.al.FILL,this._patternMap=new Map,this._fillVertexBuffer=r,this._fillIndexBuffer=i,this._outlineVertexBuffer=a,this._outlineIndexBuffer=o}get fillIndexStart(){return this._fillIndexStart}get fillIndexCount(){return this._fillIndexCount}get outlineIndexStart(){return this._outlineIndexStart}get outlineIndexCount(){return this._outlineIndexCount}getResources(e,t,n){const r=this.layer,s=this.zoom,i=r.getPaintProperty("fill-pattern");if(i)if(i.isDataDriven)for(const e of this._features)t(i.getValue(s,e),!0);else t(i.getValue(s),!0)}processFeatures(e){this._fillIndexStart=3*this._fillIndexBuffer.index,this._fillIndexCount=0,this._outlineIndexStart=3*this._outlineIndexBuffer.index,this._outlineIndexCount=0;const t=this.layer,n=this.zoom,{fillMaterial:r,outlineMaterial:s,hasDataDrivenFill:i,hasDataDrivenOutline:a}=t;e&&e.setExtent(this.layerExtent);const o=t.getPaintProperty("fill-pattern"),l=o?.isDataDriven;let c=!o&&t.getPaintValue("fill-antialias",n);if(t.outlineUsesFillColor){if(c&&!t.hasDataDrivenOpacity){const e=t.getPaintValue("fill-opacity",n),r=t.getPaintValue("fill-opacity",n+1);e<1&&r<1&&(c=!1)}if(c&&!t.hasDataDrivenColor){const e=t.getPaintValue("fill-color",n),r=t.getPaintValue("fill-color",n+1);e[3]<1&&r[3]<1&&(c=!1)}}const h=this._features,u=e?.validateTessellation;if(l){const i=[];for(const l of h){const h=o.getValue(n,l),f=this._spriteInfo[h];if(!f||!f.rect)continue;const d=r.encodeAttributes(l,n,t,f),p=c&&a?s.encodeAttributes(l,n,t):[],y=l.getGeometry(e);i.push({ddFillAttributes:d,ddOutlineAttributes:p,page:f.page,geometry:y}),i.sort(((e,t)=>e.page-t.page));for(const{ddFillAttributes:e,ddOutlineAttributes:n,page:r,geometry:s}of i)this._processFeature(s,c,t.outlineUsesFillColor,e,n,u,r)}}else for(const o of h){const l=i?r.encodeAttributes(o,n,t):null,h=c&&a?s.encodeAttributes(o,n,t):null,f=o.getGeometry(e);this._processFeature(f,c,t.outlineUsesFillColor,l,h,u)}}serialize(){let e=10;e+=this.layerUIDs.length,e+=this._fillVertexBuffer.array.length,e+=this._fillIndexBuffer.array.length,e+=this._outlineVertexBuffer.array.length,e+=this._outlineIndexBuffer.array.length,e+=3*this._patternMap.size+1;const t=new Uint32Array(e),n=new Int32Array(t.buffer);let r=0;t[r++]=this.type,t[r++]=this.layerUIDs.length;for(let e=0;e<this.layerUIDs.length;e++)t[r++]=this.layerUIDs[e];t[r++]=this._fillIndexStart,t[r++]=this._fillIndexCount,t[r++]=this._outlineIndexStart,t[r++]=this._outlineIndexCount;const s=this._patternMap,i=s.size;if(t[r++]=i,i>0)for(const[e,[n,i]]of s)t[r++]=e,t[r++]=n,t[r++]=i;t[r++]=this._fillVertexBuffer.array.length;for(let e=0;e<this._fillVertexBuffer.array.length;e++)n[r++]=this._fillVertexBuffer.array[e];t[r++]=this._fillIndexBuffer.array.length;for(let e=0;e<this._fillIndexBuffer.array.length;e++)t[r++]=this._fillIndexBuffer.array[e];t[r++]=this._outlineVertexBuffer.array.length;for(let e=0;e<this._outlineVertexBuffer.array.length;e++)n[r++]=this._outlineVertexBuffer.array[e];t[r++]=this._outlineIndexBuffer.array.length;for(let e=0;e<this._outlineIndexBuffer.array.length;e++)t[r++]=this._outlineIndexBuffer.array[e];return t.buffer}_processFeature(e,t,n,r,s,i,a){if(!e)return;const o=e.length,l=!s||0===s.length;if(t&&(!n||l))for(let t=0;t<o;t++)this._processOutline(e[t],s);let c;for(let t=0;t<o;t++){const n=F._area(e[t]);n>32?(void 0!==c&&this._processFill(e,c,r,i,a),c=[t]):n<-32&&void 0!==c&&c.push(t)}void 0!==c&&this._processFill(e,c,r,i,a)}_processOutline(e,t){const n=this._outlineVertexBuffer,r=this._outlineIndexBuffer,s=r.index;let a,o,l;const c=new i.E9(0,0),h=new i.E9(0,0),u=new i.E9(0,0);let f=-1,d=-1,p=-1,y=-1,g=-1,x=!1,_=e.length;if(_<2)return;const m=e[0];let b=e[_-1];for(;_&&b.isEqual(m);)--_,b=e[_-1];if(!(_-0<2)){for(let s=0;s<_;++s){0===s?(a=e[_-1],o=e[0],l=e[1],c.assignSub(o,a),c.normalize(),c.rightPerpendicular()):(a=o,o=l,l=s!==_-1?e[s+1]:e[0],c.assign(h));const i=this._isClipEdge(a,o);-1===y&&(x=i),h.assignSub(l,o),h.normalize(),h.rightPerpendicular();const m=c.x*h.y-c.y*h.x;u.assignAdd(c,h),u.normalize();const b=-u.x*-c.x+-u.y*-c.y;let I=Math.abs(0!==b?1/b:1);I>8&&(I=8),m>=0?(p=n.add(o.x,o.y,c.x,c.y,0,1,t),-1===y&&(y=p),f>=0&&d>=0&&p>=0&&!i&&r.add(f,d,p),d=n.add(o.x,o.y,I*-u.x,I*-u.y,0,-1,t),-1===g&&(g=d),f>=0&&d>=0&&p>=0&&!i&&r.add(f,d,p),f=d,d=p,p=n.add(o.x,o.y,u.x,u.y,0,1,t),f>=0&&d>=0&&p>=0&&!i&&r.add(f,d,p),d=n.add(o.x,o.y,h.x,h.y,0,1,t),f>=0&&d>=0&&p>=0&&!i&&r.add(f,d,p)):(p=n.add(o.x,o.y,I*u.x,I*u.y,0,1,t),-1===y&&(y=p),f>=0&&d>=0&&p>=0&&!i&&r.add(f,d,p),d=n.add(o.x,o.y,-c.x,-c.y,0,-1,t),-1===g&&(g=d),f>=0&&d>=0&&p>=0&&!i&&r.add(f,d,p),f=d,d=p,p=n.add(o.x,o.y,-u.x,-u.y,0,-1,t),f>=0&&d>=0&&p>=0&&!i&&r.add(f,d,p),f=n.add(o.x,o.y,-h.x,-h.y,0,-1,t),f>=0&&d>=0&&p>=0&&!i&&r.add(f,d,p))}f>=0&&d>=0&&y>=0&&!x&&r.add(f,d,y),f>=0&&y>=0&&g>=0&&!x&&r.add(f,g,y),this._outlineIndexCount+=3*(r.index-s)}}_processFill(e,t,n,r,s){let i;t.length>1&&(i=[]);let a=0;for(const n of t)0!==a&&i.push(a),a+=e[n].length;const o=2*a,l=R.Z.acquire();for(const n of t){const t=e[n],r=t.length;for(let e=0;e<r;++e)l.push(t[e].x,t[e].y)}const c=(0,O.e)(l,i,2);if(O.e.deviation(l,i,2,c)>0){const r=t.map((t=>e[t].length)),{buffer:i,vertexCount:a}=(0,T.b)(l,r);if(a>0){const e=this._fillVertexBuffer.index;for(let e=0;e<a;e++)this._fillVertexBuffer.add(i[2*e],i[2*e+1],n);for(let t=0;t<a;t+=3){const n=e+t;this._fillIndexBuffer.add(n,n+1,n+2)}if(void 0!==s){const e=this._patternMap,t=e.get(s);t?t[1]+=a:e.set(s,[this._fillIndexStart+this._fillIndexCount,a])}this._fillIndexCount+=a}}else{const e=c.length;if(e>0){const t=this._fillVertexBuffer.index;let r=0;for(;r<o;)this._fillVertexBuffer.add(l[r++],l[r++],n);let i=0;for(;i<e;)this._fillIndexBuffer.add(t+c[i++],t+c[i++],t+c[i++]);if(void 0!==s){const t=this._patternMap,n=t.get(s);n?n[1]+=e:t.set(s,[this._fillIndexStart+this._fillIndexCount,e])}this._fillIndexCount+=e}}R.Z.release(l)}_isClipEdge(e,t){return e.x===t.x?e.x<=-64||e.x>=4160:e.y===t.y&&(e.y<=-64||e.y>=4160)}static _area(e){let t=0;const n=e.length-1;for(let r=0;r<n;r++)t+=(e[r].x-e[r+1].x)*(e[r].y+e[r+1].y);return t+=(e[n].x-e[0].x)*(e[n].y+e[0].y),.5*t}}var q=n(67327);class U extends V{constructor(e,t,n,r,i){super(e,t,n),this.type=s.al.LINE,this._tessellationOptions={pixelCoordRatio:8,halfWidth:0,offset:0},this._patternMap=new Map,this.tessellationProperties={_lineVertexBuffer:null,_lineIndexBuffer:null,_ddValues:null},this.tessellationProperties._lineVertexBuffer=r,this.tessellationProperties._lineIndexBuffer=i,this._lineTessellator=new q.z(N(this.tessellationProperties),z(this.tessellationProperties),e.canUseThinTessellation)}get lineIndexStart(){return this._lineIndexStart}get lineIndexCount(){return this._lineIndexCount}getResources(e,t,n){const r=this.layer,s=this.zoom,i=r.getPaintProperty("line-pattern"),a=r.getPaintProperty("line-dasharray"),o=r.getLayoutProperty("line-cap");if(!i&&!a)return;const l=o?.getValue(s)||0,c=o?.isDataDriven,h=i?.isDataDriven,u=a?.isDataDriven;if(h||u)for(const e of this._features)t(h?i.getValue(s,e):this._getDashArrayKey(e,s,r,a,c,o,l));else if(i)t(i.getValue(s));else if(a){const e=a.getValue(s);t(r.getDashKey(e,l))}}processFeatures(e){this._lineIndexStart=3*this.tessellationProperties._lineIndexBuffer.index,this._lineIndexCount=0;const t=this.layer,n=this.zoom,r=this._features,s=this._tessellationOptions,{hasDataDrivenLine:i,lineMaterial:a}=t;e&&e.setExtent(this.layerExtent);const o=t.getPaintProperty("line-pattern"),l=t.getPaintProperty("line-dasharray"),c=o?.isDataDriven,h=l?.isDataDriven;let u;u=t.getLayoutProperty("line-cap");const f=u?.isDataDriven?u:null,d=f?null:t.getLayoutValue("line-cap",n),p=d||0,y=!!f;u=t.getLayoutProperty("line-join");const g=u?.isDataDriven?u:null,x=g?null:t.getLayoutValue("line-join",n);u=t.getLayoutProperty("line-miter-limit");const _=u?.isDataDriven?u:null,m=_?null:t.getLayoutValue("line-miter-limit",n);u=t.getLayoutProperty("line-round-limit");const b=u?.isDataDriven?u:null,I=b?null:t.getLayoutValue("line-round-limit",n);u=t.getPaintProperty("line-width");const w=u?.isDataDriven?u:null,M=w?null:t.getPaintValue("line-width",n);u=t.getPaintProperty("line-offset");const T=u?.isDataDriven?u:null,k=T?null:t.getPaintValue("line-offset",n);if(c||h){const i=[];for(const s of r){const r=c?o.getValue(n,s):this._getDashArrayKey(s,n,t,l,y,f,p),h=this._spriteInfo[r];if(!h||!h.rect)continue;const u=a.encodeAttributes(s,n,t,h),v=s.getGeometry(e);i.push({ddAttributes:u,page:h.page,cap:f?f.getValue(n,s):d,join:g?g.getValue(n,s):x,miterLimit:_?_.getValue(n,s):m,roundLimit:b?b.getValue(n,s):I,halfWidth:.5*(w?w.getValue(n,s):M),offset:T?T.getValue(n,s):k,geometry:v})}i.sort(((e,t)=>e.page-t.page)),s.textured=!0;for(const{ddAttributes:e,page:t,cap:n,join:r,miterLimit:a,roundLimit:o,halfWidth:l,offset:c,geometry:h}of i)s.capType=n,s.joinType=r,s.miterLimit=a,s.roundLimit=o,s.halfWidth=l,s.offset=c,this._processFeature(h,e,t)}else{if(o){const e=o.getValue(n),t=this._spriteInfo[e];if(!t||!t.rect)return}s.textured=!(!o&&!l),s.capType=d,s.joinType=x,s.miterLimit=m,s.roundLimit=I,s.halfWidth=.5*M,s.offset=k;for(const o of r){const r=i?a.encodeAttributes(o,n,t):null;f&&(s.capType=f.getValue(n,o)),g&&(s.joinType=g.getValue(n,o)),_&&(s.miterLimit=_.getValue(n,o)),b&&(s.roundLimit=b.getValue(n,o)),w&&(s.halfWidth=.5*w.getValue(n,o)),T&&(s.offset=T.getValue(n,o));const l=o.getGeometry(e);this._processFeature(l,r)}}}serialize(){let e=6;e+=this.layerUIDs.length,e+=this.tessellationProperties._lineVertexBuffer.array.length,e+=this.tessellationProperties._lineIndexBuffer.array.length,e+=3*this._patternMap.size+1;const t=new Uint32Array(e),n=new Int32Array(t.buffer);let r=0;t[r++]=this.type,t[r++]=this.layerUIDs.length;for(let e=0;e<this.layerUIDs.length;e++)t[r++]=this.layerUIDs[e];t[r++]=this._lineIndexStart,t[r++]=this._lineIndexCount;const s=this._patternMap,i=s.size;if(t[r++]=i,i>0)for(const[e,[n,i]]of s)t[r++]=e,t[r++]=n,t[r++]=i;t[r++]=this.tessellationProperties._lineVertexBuffer.array.length;for(let e=0;e<this.tessellationProperties._lineVertexBuffer.array.length;e++)n[r++]=this.tessellationProperties._lineVertexBuffer.array[e];t[r++]=this.tessellationProperties._lineIndexBuffer.array.length;for(let e=0;e<this.tessellationProperties._lineIndexBuffer.array.length;e++)t[r++]=this.tessellationProperties._lineIndexBuffer.array[e];return t.buffer}_processFeature(e,t,n){if(!e)return;const r=e.length;for(let s=0;s<r;s++)this._processGeometry(e[s],t,n)}_processGeometry(e,t,n){if(e.length<2)return;let r,s,i=e[0],a=1;for(;a<e.length;)r=e[a].x-i.x,s=e[a].y-i.y,r*r+s*s<1e-6?e.splice(a,1):(i=e[a],++a);if(e.length<2)return;const o=this.tessellationProperties._lineIndexBuffer,l=3*o.index;this._tessellationOptions.initialDistance=0,this._tessellationOptions.wrapDistance=65535,this.tessellationProperties._ddValues=t,this._lineTessellator.tessellate(e,this._tessellationOptions);const c=3*o.index-l;if(void 0!==n){const e=this._patternMap,t=e.get(n);t?t[1]+=c:e.set(n,[l+this._lineIndexCount,c])}this._lineIndexCount+=c}_getDashArrayKey(e,t,n,r,s,i,a){const o=s?i.getValue(t,e):a,l=r.getValue(t,e);return n.getDashKey(l,o)}}const N=e=>(t,n,r,s,i,a,o,l,c,h,u)=>(e._lineVertexBuffer.add(t,n,o,l,r,s,i,a,c,h,u,e._ddValues),e._lineVertexBuffer.index-1),z=e=>(t,n,r)=>{e._lineIndexBuffer.add(t,n,r)};var Z,j=n(79087),G=n(70586),H=n(19153),$=n(7333);function K(e,t){return e.iconMosaicItem&&t.iconMosaicItem?e.iconMosaicItem.page===t.iconMosaicItem.page?0:e.iconMosaicItem.page-t.iconMosaicItem.page:e.iconMosaicItem&&!t.iconMosaicItem?1:!e.iconMosaicItem&&t.iconMosaicItem?-1:0}class W extends V{constructor(e,t,n,r,i,a,o,l){super(e,t,l.getSpriteItems()),this.type=s.al.SYMBOL,this._markerMap=new Map,this._glyphMap=new Map,this._glyphBufferDataStorage=new Map,this._isIconSDF=!1,this._iconVertexBuffer=n,this._iconIndexBuffer=r,this._textVertexBuffer=i,this._textIndexBuffer=a,this._placementEngine=o,this._workerTileHandler=l}get markerPageMap(){return this._markerMap}get glyphsPageMap(){return this._glyphMap}get symbolInstances(){return this._symbolInstances}getResources(e,t,n){const r=this.layer,s=this.zoom;e&&e.setExtent(this.layerExtent);const i=r.getLayoutProperty("icon-image"),a=r.getLayoutProperty("text-field");let o=r.getLayoutProperty("text-transform"),l=r.getLayoutProperty("text-font");const c=[];let h,u,f,d;i&&!i.isDataDriven&&(h=i.getValue(s)),a&&!a.isDataDriven&&(u=a.getValue(s)),o&&o.isDataDriven||(f=r.getLayoutValue("text-transform",s),o=null),l&&l.isDataDriven||(d=r.getLayoutValue("text-font",s),l=null);for(const y of this._features){const g=y.getGeometry(e);if(!g||0===g.length)continue;let x,_;i&&(x=i.isDataDriven?i.getValue(s,y):this._replaceKeys(h,y.values),x&&t(x));let m=!1;if(a&&(_=a.isDataDriven?a.getValue(s,y):this._replaceKeys(u,y.values),_)){switch(_=_.replaceAll("\\n","\n"),o&&(f=o.getValue(s,y)),f){case p._5.LOWERCASE:_=_.toLowerCase();break;case p._5.UPPERCASE:_=_.toUpperCase()}if(W._bidiEngine.hasBidiChar(_)){let e;e="rtl"===W._bidiEngine.checkContextual(_)?"IDNNN":"ICNNN",_=W._bidiEngine.bidiTransform(_,e,"VLYSN"),m=!0}if(_.length>0){l&&(d=l.getValue(s,y));for(const e of d){let t=n[e];t||(t=n[e]=new Set);for(const e of _){const n=e.codePointAt(0);null!=n&&t.add(n)}}}}if(!x&&!_)continue;const b=r.getLayoutValue("symbol-sort-key",s,y),I={feature:y,sprite:x,label:_,rtl:m,geometry:g,hash:(_?(0,H.hP)(_):0)^(x?(0,H.hP)(x):0),priority:b,textFont:d};c.push(I)}this._symbolFeatures=c}processFeatures(e){e&&e.setExtent(this.layerExtent);const t=this.layer,n=this.zoom,r=t.getLayoutValue("symbol-placement",n),s=r!==p.R.POINT,o=8*t.getLayoutValue("symbol-spacing",n),l=t.getLayoutProperty("icon-image"),c=t.getLayoutProperty("text-field"),h=l?new $._L(t,n,s):null,u=c?new $.nj(t,n,s):null,y=this._workerTileHandler;let x;l&&(x=y.getSpriteItems()),this._iconIndexStart=3*this._iconIndexBuffer.index,this._textIndexStart=3*this._textIndexBuffer.index,this._iconIndexCount=0,this._textIndexCount=0,this._markerMap.clear(),this._glyphMap.clear();const _=[];let m=1;u&&u.size&&(m=u.size/f);const b=u?u.maxAngle*a.DT:0,I=u?8*u.size:0;for(const e of this._symbolFeatures){let t,a;h&&x&&e.sprite&&(t=x[e.sprite],t&&t.sdf&&(this._isIconSDF=!0)),t&&h.update(n,e.feature);let l=0;const c=e.label;if(c){(0,G.O3)(u),u.update(n,e.feature);const t=s&&u.rotationAlignment===p.aF.MAP?u.keepUpright:u.writingMode&&u.writingMode.includes(p.r1.VERTICAL);let r=.5;switch(u.anchor){case p.nR.TOP_LEFT:case p.nR.LEFT:case p.nR.BOTTOM_LEFT:r=0;break;case p.nR.TOP_RIGHT:case p.nR.RIGHT:case p.nR.BOTTOM_RIGHT:r=1}let i=.5;switch(u.anchor){case p.nR.TOP_LEFT:case p.nR.TOP:case p.nR.TOP_RIGHT:i=0;break;case p.nR.BOTTOM_LEFT:case p.nR.BOTTOM:case p.nR.BOTTOM_RIGHT:i=1}let o=.5;switch(u.justify){case p.vL.AUTO:o=r;break;case p.vL.LEFT:o=0;break;case p.vL.RIGHT:o=1}const h=u.letterSpacing*f,g=s?0:u.maxWidth*f,x=u.lineHeight*f,_=e.textFont.map((e=>y.getGlyphItems(e)));if(a=new d(_,g,x,h,r,i,o).getShaping(c,e.rtl,t),a&&a.length>0){let e=1e30,t=-1e30;for(const n of a)e=Math.min(e,n.x),t=Math.max(t,n.x);l=(t-e+48)*m*8}}for(let n of e.geometry){const c=[];if(r===p.R.LINE){if(a?.length&&u?.size){const e=8*u.size*(2+Math.min(2,4*Math.abs(u.offset[1])));n=W._smoothVertices(n,e)}W._pushAnchors(c,n,o,l)}else r===p.R.LINE_CENTER?W._pushCenterAnchor(c,n):e.feature.type===i.Vl.Polygon?W._pushCentroid(c,n):c.push(new g(n[0].x,n[0].y));for(const r of c){if(r.x<0||r.x>4096||r.y<0||r.y>4096)continue;if(s&&l>0&&u?.rotationAlignment===p.aF.MAP&&!W._honorsTextMaxAngle(n,r,l,b,I))continue;const i={shaping:a,line:n,iconMosaicItem:t,anchor:r,symbolFeature:e,textColliders:[],iconColliders:[],textVertexRanges:[],iconVertexRanges:[]};_.push(i),this._processFeature(i,h,u)}}}_.sort(K),this._addPlacedGlyphs(),this._symbolInstances=_}serialize(){let e=11;e+=this.layerUIDs.length,e+=3*this.markerPageMap.size,e+=3*this.glyphsPageMap.size,e+=W._symbolsSerializationLength(this._symbolInstances),e+=this._iconVertexBuffer.array.length,e+=this._iconIndexBuffer.array.length,e+=this._textVertexBuffer.array.length,e+=this._textIndexBuffer.array.length;const t=new Uint32Array(e),n=new Int32Array(t.buffer),r=new Float32Array(t.buffer);let s=0;t[s++]=this.type,t[s++]=this.layerUIDs.length;for(let e=0;e<this.layerUIDs.length;e++)t[s++]=this.layerUIDs[e];t[s++]=this._isIconSDF?1:0,t[s++]=this.markerPageMap.size;for(const[e,[n,r]]of this.markerPageMap)t[s++]=e,t[s++]=n,t[s++]=r;t[s++]=this.glyphsPageMap.size;for(const[e,[n,r]]of this.glyphsPageMap)t[s++]=e,t[s++]=n,t[s++]=r;t[s++]=this._iconVertexBuffer.index/4,t[s++]=this._textVertexBuffer.index/4,s=W.serializeSymbols(t,n,r,s,this._symbolInstances),t[s++]=this._iconVertexBuffer.array.length;for(let e=0;e<this._iconVertexBuffer.array.length;e++)n[s++]=this._iconVertexBuffer.array[e];t[s++]=this._iconIndexBuffer.array.length;for(let e=0;e<this._iconIndexBuffer.array.length;e++)t[s++]=this._iconIndexBuffer.array[e];t[s++]=this._textVertexBuffer.array.length;for(let e=0;e<this._textVertexBuffer.array.length;e++)n[s++]=this._textVertexBuffer.array[e];t[s++]=this._textIndexBuffer.array.length;for(let e=0;e<this._textIndexBuffer.array.length;e++)t[s++]=this._textIndexBuffer.array[e];return t.buffer}static _symbolsSerializationLength(e){let t=0;t+=1;for(const n of e||[]){t+=4,t+=1;for(const e of n.textColliders)t+=10;for(const e of n.iconColliders)t+=10;t+=1,t+=2*n.textVertexRanges.length,t+=1,t+=2*n.iconVertexRanges.length}return t}static serializeSymbols(e,t,n,r,s){s=s||[],t[r++]=s.length;for(const e of s){t[r++]=e.anchor.x,t[r++]=e.anchor.y,t[r++]=e.symbolFeature.hash,t[r++]=e.symbolFeature.priority,t[r++]=e.textColliders.length+e.iconColliders.length;for(const s of e.textColliders)t[r++]=s.xTile,t[r++]=s.yTile,t[r++]=s.dxPixels,t[r++]=s.dyPixels,t[r++]=s.hard?1:0,t[r++]=s.partIndex,n[r++]=s.minLod,n[r++]=s.maxLod,t[r++]=s.width,t[r++]=s.height;for(const s of e.iconColliders)t[r++]=s.xTile,t[r++]=s.yTile,t[r++]=s.dxPixels,t[r++]=s.dyPixels,t[r++]=s.hard?1:0,t[r++]=s.partIndex,n[r++]=s.minLod,n[r++]=s.maxLod,t[r++]=s.width,t[r++]=s.height;t[r++]=e.textVertexRanges.length;for(const[n,s]of e.textVertexRanges)t[r++]=n,t[r++]=s;t[r++]=e.iconVertexRanges.length;for(const[n,s]of e.iconVertexRanges)t[r++]=n,t[r++]=s}return r}_replaceKeys(e,t){return e.replaceAll(/{([^{}]+)}/g,((e,n)=>n in t?t[n]:""))}_processFeature(e,t,n){const{line:r,iconMosaicItem:s,shaping:i,anchor:o}=e,l=this.zoom,c=this.layer,h=!!s;let u=!0;h&&(u=t?.optional||!s);const f=i&&i.length>0,d=!f||n?.optional;let y,g;if(h&&(y=this._placementEngine.getIconPlacement(o,s,t)),(y||u)&&(f&&(g=this._placementEngine.getTextPlacement(o,i,r,n)),g||d)){if(y&&g||(d||u?d||g?u||y||(g=null):y=null:(y=null,g=null)),g){const t=c.hasDataDrivenText?c.textMaterial.encodeAttributes(e.symbolFeature.feature,l,c):null;if(this._storePlacedGlyphs(e,g.shapes,l,n.rotationAlignment,t),g.textColliders){e.textColliders=g.textColliders;for(const e of g.textColliders){e.minLod=Math.max(l+(0,a.k3)(e.minLod),0),e.maxLod=Math.min(l+(0,a.k3)(e.maxLod),25);const t=e.angle;if(t){const n=Math.cos(t),r=Math.sin(t),s=e.dxPixels*n-e.dyPixels*r,i=e.dxPixels*r+e.dyPixels*n,a=(e.dxPixels+e.width)*n-e.dyPixels*r,o=(e.dxPixels+e.width)*r+e.dyPixels*n,l=e.dxPixels*n-(e.dyPixels+e.height)*r,c=e.dxPixels*r+(e.dyPixels+e.height)*n,h=(e.dxPixels+e.width)*n-(e.dyPixels+e.height)*r,u=(e.dxPixels+e.width)*r+(e.dyPixels+e.height)*n,f=Math.min(s,a,l,h),d=Math.max(s,a,l,h),p=Math.min(i,o,c,u),y=Math.max(i,o,c,u);e.dxPixels=f,e.dyPixels=p,e.width=d-f,e.height=y-p}}}}if(y){const n=c.hasDataDrivenIcon?c.iconMaterial.encodeAttributes(e.symbolFeature.feature,l,c):null;if(this._addPlacedIcons(e,y.shapes,l,s.page,t.rotationAlignment===p.aF.VIEWPORT,n),y.iconColliders){e.iconColliders=y.iconColliders;for(const e of y.iconColliders){e.minLod=Math.max(l+(0,a.k3)(e.minLod),0),e.maxLod=Math.min(l+(0,a.k3)(e.maxLod),25);const t=e.angle;if(t){const n=Math.cos(t),r=Math.sin(t),s=e.dxPixels*n-e.dyPixels*r,i=e.dxPixels*r+e.dyPixels*n,a=(e.dxPixels+e.width)*n-e.dyPixels*r,o=(e.dxPixels+e.width)*r+e.dyPixels*n,l=e.dxPixels*n-(e.dyPixels+e.height)*r,c=e.dxPixels*r+(e.dyPixels+e.height)*n,h=(e.dxPixels+e.width)*n-(e.dyPixels+e.height)*r,u=(e.dxPixels+e.width)*r+(e.dyPixels+e.height)*n,f=Math.min(s,a,l,h),d=Math.max(s,a,l,h),p=Math.min(i,o,c,u),y=Math.max(i,o,c,u);e.dxPixels=f,e.dyPixels=p,e.width=d-f,e.height=y-p}}}}}}_addPlacedIcons(e,t,n,r,s,i){const o=Math.max(n-1,0),l=this._iconVertexBuffer,c=this._iconIndexBuffer,h=this._markerMap;for(const u of t){const t=s?0:Math.max(n+(0,a.k3)(u.minzoom),o),f=s?25:Math.min(n+(0,a.k3)(u.maxzoom),25);if(f<=t)continue;const d=u.tl,p=u.tr,y=u.bl,g=u.br,x=u.mosaicRect,_=u.labelAngle,m=u.minAngle,b=u.maxAngle,I=u.anchor,w=l.index,M=x.x,T=x.y,k=M+x.width,v=T+x.height,P=l.index;l.add(I.x,I.y,d.x,d.y,M,T,_,m,b,t,f,i),l.add(I.x,I.y,p.x,p.y,k,T,_,m,b,t,f,i),l.add(I.x,I.y,y.x,y.y,M,v,_,m,b,t,f,i),l.add(I.x,I.y,g.x,g.y,k,v,_,m,b,t,f,i),e.iconVertexRanges.length>0&&e.iconVertexRanges[0][0]+e.iconVertexRanges[0][1]===P?e.iconVertexRanges[0][1]+=4:e.iconVertexRanges.push([P,4]),c.add(w,w+1,w+2),c.add(w+1,w+2,w+3),h.has(r)?h.get(r)[1]+=6:h.set(r,[this._iconIndexStart+this._iconIndexCount,6]),this._iconIndexCount+=6}}_addPlacedGlyphs(){const e=this._textVertexBuffer,t=this._textIndexBuffer,n=this._glyphMap;for(const[r,s]of this._glyphBufferDataStorage)for(const i of s){const s=e.index,a=i.symbolInstance,o=i.ddAttributes,l=e.index;e.add(i.glyphAnchor[0],i.glyphAnchor[1],i.tl[0],i.tl[1],i.xmin,i.ymin,i.labelAngle,i.minAngle,i.maxAngle,i.minLod,i.maxLod,o),e.add(i.glyphAnchor[0],i.glyphAnchor[1],i.tr[0],i.tr[1],i.xmax,i.ymin,i.labelAngle,i.minAngle,i.maxAngle,i.minLod,i.maxLod,o),e.add(i.glyphAnchor[0],i.glyphAnchor[1],i.bl[0],i.bl[1],i.xmin,i.ymax,i.labelAngle,i.minAngle,i.maxAngle,i.minLod,i.maxLod,o),e.add(i.glyphAnchor[0],i.glyphAnchor[1],i.br[0],i.br[1],i.xmax,i.ymax,i.labelAngle,i.minAngle,i.maxAngle,i.minLod,i.maxLod,o),a.textVertexRanges.length>0&&a.textVertexRanges[0][0]+a.textVertexRanges[0][1]===l?a.textVertexRanges[0][1]+=4:a.textVertexRanges.push([l,4]),t.add(s,s+1,s+2),t.add(s+1,s+2,s+3),n.has(r)?n.get(r)[1]+=6:n.set(r,[this._textIndexStart+this._textIndexCount,6]),this._textIndexCount+=6}this._glyphBufferDataStorage.clear()}_storePlacedGlyphs(e,t,n,r,s){const i=Math.max(n-1,0),o=r===p.aF.VIEWPORT;let l,c,h,u,f,d,y,g,x,_,m;for(const r of t)l=o?0:Math.max(n+(0,a.k3)(r.minzoom),i),c=o?25:Math.min(n+(0,a.k3)(r.maxzoom),25),c<=l||(h=r.tl,u=r.tr,f=r.bl,d=r.br,y=r.labelAngle,g=r.minAngle,x=r.maxAngle,_=r.anchor,m=r.mosaicRect,this._glyphBufferDataStorage.has(r.page)||this._glyphBufferDataStorage.set(r.page,[]),this._glyphBufferDataStorage.get(r.page).push({glyphAnchor:[_.x,_.y],tl:[h.x,h.y],tr:[u.x,u.y],bl:[f.x,f.y],br:[d.x,d.y],xmin:m.x,ymin:m.y,xmax:m.x+m.width,ymax:m.y+m.height,labelAngle:y,minAngle:g,maxAngle:x,minLod:l,maxLod:c,placementLod:i,symbolInstance:e,ddAttributes:s}))}static _pushAnchors(e,t,n,r){n+=r;let s=0;const o=t.length-1;for(let e=0;e<o;e++)s+=i.E9.distance(t[e],t[e+1]);let l=r||n;if(l*=.5,s<=l)return;const c=l/s;let h=0,u=-(n=s/Math.max(Math.round(s/n),1))/2;const f=t.length-1;for(let r=0;r<f;r++){const s=t[r],i=t[r+1],o=i.x-s.x,l=i.y-s.y,f=Math.sqrt(o*o+l*l);let d;for(;u+n<h+f;){u+=n;const t=(u-h)/f,p=(0,a.sX)(s.x,i.x,t),y=(0,a.sX)(s.y,i.y,t);void 0===d&&(d=Math.atan2(l,o)),e.push(new g(p,y,d,r,c))}h+=f}}static _pushCenterAnchor(e,t){let n=0;const r=t.length-1;for(let e=0;e<r;e++)n+=i.E9.distance(t[e],t[e+1]);const s=n/2;let o=0;const l=t.length-1;for(let n=0;n<l;n++){const r=t[n],i=t[n+1],l=i.x-r.x,c=i.y-r.y,h=Math.sqrt(l*l+c*c);if(s<o+h){const t=(s-o)/h,u=(0,a.sX)(r.x,i.x,t),f=(0,a.sX)(r.y,i.y,t),d=Math.atan2(c,l);return void e.push(new g(u,f,d,n,0))}o+=h}}static _deviation(e,t,n){const r=(t.x-e.x)*(n.x-t.x)+(t.y-e.y)*(n.y-t.y),s=(t.x-e.x)*(n.y-t.y)-(t.y-e.y)*(n.x-t.x);return Math.atan2(s,r)}static _honorsTextMaxAngle(e,t,n,r,s){let a=0;const o=n/2;let l=new i.E9(t.x,t.y),c=t.segment+1;for(;a>-o;){if(--c,c<0)return!1;a-=i.E9.distance(e[c],l),l=e[c]}a+=i.E9.distance(e[c],e[c+1]);const h=[];let u=0;const f=e.length;for(;a<o;){const t=e[c];let n,o=c;do{if(++o,o===f)return!1;n=e[o]}while(n.isEqual(t));let l,d=o;do{if(++d,d===f)return!1;l=e[d]}while(l.isEqual(n));const p=this._deviation(t,n,l);for(h.push({deviation:p,distToAnchor:a}),u+=p;a-h[0].distToAnchor>s;)u-=h.shift().deviation;if(Math.abs(u)>r)return!1;a+=i.E9.distance(n,l),c=o}return!0}static _smoothVertices(e,t){if(t<=0)return e;let n=e.length;if(n<3)return e;const r=[];let s=0,a=0;r.push(0);for(let t=1;t<n;t++){const n=i.E9.distance(e[t],e[t-1]);n>0&&(s+=n,r.push(s),a++,a!==t&&(e[a]=e[t]))}if(n=a+1,n<3)return e;t=Math.min(t,.2*s);const o=e[0].x,l=e[0].y,c=e[n-1].x,h=e[n-1].y,u=i.E9.sub(e[0],e[1]);u.normalize(),e[0].x+=t*u.x,e[0].y+=t*u.y,u.assignSub(e[n-1],e[n-2]),u.normalize(),e[n-1].x+=t*u.x,e[n-1].y+=t*u.y,r[0]-=t,r[n-1]+=t;const f=[];f.push(new i.E9(o,l));const d=1e-6,p=.5*t;for(let s=1;s<n-1;s++){let a=0,o=0,l=0;for(let n=s-1;n>=0;n--){const i=p+r[n+1]-r[s];if(i<0)break;const c=r[n+1]-r[n],h=r[s]-r[n]<p?1:i/c;if(h<d)break;const u=h*h,f=h*i-.5*u*c,y=h*c/t,g=e[n+1],x=e[n].x-g.x,_=e[n].y-g.y;a+=y/f*(g.x*h*i+.5*u*(i*x-c*g.x)-u*h*c*x/3),o+=y/f*(g.y*h*i+.5*u*(i*_-c*g.y)-u*h*c*_/3),l+=y}for(let i=s+1;i<n;i++){const n=p-r[i-1]+r[s];if(n<0)break;const c=r[i]-r[i-1],h=r[i]-r[s]<p?1:n/c;if(h<d)break;const u=h*h,f=h*n-.5*u*c,y=h*c/t,g=e[i-1],x=e[i].x-g.x,_=e[i].y-g.y;a+=y/f*(g.x*h*n+.5*u*(n*x-c*g.x)-u*h*c*x/3),o+=y/f*(g.y*h*n+.5*u*(n*_-c*g.y)-u*h*c*_/3),l+=y}f.push(new i.E9(a/l,o/l))}return f.push(new i.E9(c,h)),e[0].x=o,e[0].y=l,e[n-1].x=c,e[n-1].y=h,f}static _pushCentroid(e,t){const n=4096,r=4096,s=t.length-1;let i=0,a=0,o=0,l=t[0].x,c=t[0].y;l>n&&(l=n),l<0&&(l=0),c>r&&(c=r),c<0&&(c=0);for(let e=1;e<s;e++){let s=t[e].x,h=t[e].y,u=t[e+1].x,f=t[e+1].y;s>n&&(s=n),s<0&&(s=0),h>r&&(h=r),h<0&&(h=0),u>n&&(u=n),u<0&&(u=0),f>r&&(f=r),f<0&&(f=0);const d=(s-l)*(f-c)-(u-l)*(h-c);i+=d*(l+s+u),a+=d*(c+h+f),o+=d}i/=3*o,a/=3*o,isNaN(i)||isNaN(a)||e.push(new g(i,a))}}W._bidiEngine=new j.Z,function(e){e[e.INITIALIZED=0]="INITIALIZED",e[e.NO_DATA=1]="NO_DATA",e[e.READY=2]="READY",e[e.MODIFIED=3]="MODIFIED",e[e.INVALID=4]="INVALID"}(Z||(Z={}));class Y{constructor(e,t,n,r,s){if(this._pbfTiles={},this._tileClippers={},this._client=n,this._tile=t,s){this._styleLayerUIDs=new Set;for(const e of s)this._styleLayerUIDs.add(e)}this._styleRepository=r,this._layers=this._styleRepository?.layers??[];const[a,o,l]=t.tileKey.split("/").map(parseFloat);this._level=a;const c=8+Math.max(5*(this._level-14),0);for(const t of Object.keys(e)){const n=e[t];if(this._pbfTiles[t]=new M.Z(new Uint8Array(n.protobuff),new DataView(n.protobuff)),n.refKey){const[e]=n.refKey.split("/").map(parseFloat),r=a-e;if(r>0){const e=(1<<r)-1,n=o&e,s=l&e;this._tileClippers[t]=new i.bN(r,n,s,8,c)}}this._tileClippers[t]||(this._tileClippers[t]=new i.I6)}}_canParseStyleLayer(e){return!this._styleLayerUIDs||this._styleLayerUIDs.has(e)}async parse(e){const t=(0,T.j)(),n=this._initialize(e),{returnedBuckets:r}=n;this._processLayers(n),this._linkReferences(n),this._filterFeatures(n);const s=[],i=new Set,a=(e,t)=>{i.has(e)||(s.push({name:e,repeat:t}),i.add(e))},o={};for(const e of r)e.getResources(e.tileClipper,a,o);if(this._tile.status===Z.INVALID)return[];const l=this._fetchResources(s,o,e);return Promise.all([...l,t]).then((()=>this._processFeatures(n.returnedBuckets)))}_initialize(e){return{signal:e&&e.signal,sourceNameToTileData:this._parseTileData(this._pbfTiles),layers:this._layers,zoom:this._level,sourceNameToTileClipper:this._tileClippers,sourceNameToUniqueSourceLayerBuckets:{},sourceNameToUniqueSourceLayers:{},returnedBuckets:[],layerIdToBucket:{},referencerUIDToReferencedId:new Map}}_processLayers(e){const{sourceNameToTileData:t,layers:n,zoom:r,sourceNameToTileClipper:s,sourceNameToUniqueSourceLayerBuckets:i,sourceNameToUniqueSourceLayers:a,returnedBuckets:o,layerIdToBucket:l,referencerUIDToReferencedId:c}=e;for(let e=n.length-1;e>=0;e--){const h=n[e];if(!this._canParseStyleLayer(h.uid)||h.minzoom&&r<Math.floor(h.minzoom)||h.maxzoom&&r>=h.maxzoom||h.type===p.fR.BACKGROUND)continue;if(!t[h.source]||!s[h.source])continue;const u=t[h.source],f=s[h.source],d=h.sourceLayer,y=u[d];if(y){let e=a[h.source];if(e||(e=a[h.source]=new Set),e.add(h.sourceLayer),h.refLayerId)c.set(h.uid,h.refLayerId);else{const e=this._createBucket(h);if(e){e.layerUIDs=[h.uid],e.layerExtent=y.extent,e.tileClipper=f;let t=i[h.source];t||(t=i[h.source]={});let n=t[d];n||(n=t[d]=[]),n.push(e),o.push(e),l[h.id]=e}}}}}_linkReferences(e){const{layerIdToBucket:t,referencerUIDToReferencedId:n}=e;n.forEach(((e,n)=>{t[e]&&t[e].layerUIDs.push(n)}))}_filterFeatures(e){const{signal:t,sourceNameToTileData:n,sourceNameToUniqueSourceLayerBuckets:s,sourceNameToUniqueSourceLayers:i}=e,a=10*this._level,o=10*(this._level+1),l=[],c=[];for(const e of Object.keys(i))i[e].forEach((t=>{l.push(t),c.push(e)}));for(let e=0;e<l.length;e++){const i=c[e],h=l[e];if(!n[i]||!s[i])continue;const u=n[i][h],f=s[i][h];if(!f||0===f.length)continue;if((0,r.Hc)(t))return;const d=u.getData();for(;d.nextTag(2);){const e=d.getMessage(),t=new k(e,u);e.release();const n=t.values;if(n){const e=n._minzoom;if(e&&e>=o)continue;const t=n._maxzoom;if(t&&t<=a)continue}for(const e of f)e.pushFeature(t)}}}_fetchResources(e,t,n){const r=[],s=this._tile.getWorkerTileHandler();let i,a;e.length>0&&(i=s.fetchSprites(e,this._client,n),r.push(i));for(const e in t){const i=t[e];i.size>0&&(a=s.fetchGlyphs(this._tile.tileKey,e,i,this._client,n),r.push(a))}return r}_processFeatures(e){const t=e.filter((e=>e.hasFeatures()||this._canParseStyleLayer(e.layer.uid)));for(const e of t)e.processFeatures(e.tileClipper);return t}_parseTileData(e){const t={};for(const n of Object.keys(e)){const r=e[n],s={};for(;r.next();)switch(r.tag()){case 3:{const e=r.getMessage(),t=new L(e);e.release(),s[t.name]=t;break}default:r.skip()}t[n]=s}return t}_createBucket(e){switch(e.type){case p.fR.BACKGROUND:return null;case p.fR.FILL:return this._createFillBucket(e);case p.fR.LINE:return this._createLineBucket(e);case p.fR.CIRCLE:return this._createCircleBucket(e);case p.fR.SYMBOL:return this._createSymbolBucket(e)}}_createFillBucket(e){return new F(e,this._level,this._tile.getWorkerTileHandler().getSpriteItems(),new D(e.fillMaterial.getStride()),new P,new A(e.outlineMaterial.getStride()),new P)}_createLineBucket(e){return new U(e,this._level,this._tile.getWorkerTileHandler().getSpriteItems(),new E(e.lineMaterial.getStride()),new P)}_createCircleBucket(e){return new C(e,this._level,this._tile.getWorkerTileHandler().getSpriteItems(),new B(e.circleMaterial.getStride()),new P)}_createSymbolBucket(e){const t=this._tile;return new W(e,this._level,new S(e.iconMaterial.getStride()),new P,new S(e.textMaterial.getStride()),new P,t.placementEngine,t.getWorkerTileHandler())}}class J{constructor(e,t,n,r){this.status=Z.INITIALIZED,this.placementEngine=new b,this.tileKey=e,this.refKeys=t,this._workerTileHandler=n,this._styleRepository=r}release(){this.tileKey="",this.refKeys=null,this.status=Z.INITIALIZED,this._workerTileHandler=null}async parse(e,t){const n=t&&t.signal;if(null!=n){const e=()=>{n.removeEventListener("abort",e),this.status=Z.INVALID};n.addEventListener("abort",e)}let s;const i={bucketsWithData:[],emptyBuckets:null};try{s=await this._parse(e,t)}catch(e){if((0,r.D_)(e))throw e;return{result:i,transferList:[]}}this.status=Z.READY;const a=i.bucketsWithData,o=[];for(const e of s)if(e.hasFeatures()){const t=e.serialize();a.push(t)}else o.push(e.layer.uid);const l=[...a];let c=null;return o.length>0&&(c=Uint32Array.from(o),l.push(c.buffer)),i.emptyBuckets=c,{result:i,transferList:l}}setObsolete(){this.status=Z.INVALID}getLayers(){return this._workerTileHandler.getLayers()}getWorkerTileHandler(){return this._workerTileHandler}async _parse(e,t){const n=e.sourceName2DataAndRefKey;return 0===Object.keys(n).length?[]:(this.status=Z.MODIFIED,new Y(n,this,t.client,this._styleRepository,e.styleLayerUIDs).parse(t))}}var X=n(51785);class Q{constructor(){this._spriteInfo={},this._glyphInfo={}}reset(){return this._spriteInfo={},this._glyphInfo={},Promise.resolve()}getLayers(){return this._styleRepository?.layers??[]}async createTileAndParse(e,t){const{key:n}=e,s={};for(const t of Object.keys(e.sourceName2DataAndRefKey)){const n=e.sourceName2DataAndRefKey[t];s[t]=n.refKey}const i=new J(n,s,this,this._styleRepository);try{return await i.parse(e,t)}catch(e){if(i.setObsolete(),i.release(),!(0,r.D_)(e))throw e;return null}}updateStyle(e){if(!e||0===e.length||!this._styleRepository)return;const t=this._styleRepository;for(const n of e){const e=n.type,r=n.data;switch(e){case s.Fr.PAINTER_CHANGED:t.setPaintProperties(r.layer,r.paint);break;case s.Fr.LAYOUT_CHANGED:t.setLayoutProperties(r.layer,r.layout);break;case s.Fr.LAYER_REMOVED:t.deleteStyleLayer(r.layer);break;case s.Fr.LAYER_CHANGED:t.setStyleLayer(r.layer,r.index);break;case s.Fr.SPRITES_CHANGED:this._spriteInfo={}}}}setStyle(e){this._styleRepository=new X.Z(e),this._spriteInfo={},this._glyphInfo={}}fetchSprites(e,t,n){const r=[],s=this._spriteInfo;for(const t of e)void 0===s[t.name]&&r.push(t);return 0===r.length?Promise.resolve():t.invoke("getSprites",r,{signal:n&&n.signal}).then((e=>{for(const t in e){const n=e[t];s[t]=n}}))}getSpriteItems(){return this._spriteInfo}fetchGlyphs(e,t,n,r,s){const i=[];let a=this._glyphInfo[t];return a?n.forEach((e=>{a[e]||i.push(e)})):(a=this._glyphInfo[t]=[],n.forEach((e=>i.push(e)))),0===i.length?Promise.resolve():r.invoke("getGlyphs",{tileID:e,font:t,codePoints:i},s).then((e=>{for(let t=0;t<e.length;t++)e[t]&&(a[t]=e[t])}))}getGlyphItems(e){return this._glyphInfo[e]}}}}]);
|