@arcgis/core 4.33.0-next.20250512 → 4.33.0-next.20250514

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.
Files changed (225) hide show
  1. package/arcade/functions/centroid.js +1 -1
  2. package/arcade/functions/geomasync.js +1 -1
  3. package/arcade/functions/geometry.js +1 -1
  4. package/arcade/functions/geomsync.js +1 -1
  5. package/arcade/geometry/operators.js +1 -1
  6. package/arcade/geometry/operatorsWorker.js +1 -1
  7. package/arcade/treeAnalysis.js +1 -1
  8. package/assets/components/assets/combobox/t9n/messages.en.json +1 -1
  9. package/assets/components/assets/combobox/t9n/messages.json +1 -1
  10. package/assets/components/assets/icon/calendarHeatChart16.json +1 -0
  11. package/assets/components/assets/icon/calendarHeatChart24.json +1 -0
  12. package/assets/components/assets/icon/calendarHeatChart32.json +1 -0
  13. package/assets/components/assets/icon/matrixHeatChart16.json +1 -0
  14. package/assets/components/assets/icon/matrixHeatChart24.json +1 -0
  15. package/assets/components/assets/icon/matrixHeatChart32.json +1 -0
  16. package/assets/components/assets/icon/progressBarChart16.json +1 -0
  17. package/assets/components/assets/icon/progressBarChart24.json +1 -0
  18. package/assets/components/assets/icon/progressBarChart32.json +1 -0
  19. package/assets/components/assets/icon/spikeDataVisualization16.json +1 -0
  20. package/assets/components/assets/icon/spikeDataVisualization24.json +1 -0
  21. package/assets/components/assets/icon/spikeDataVisualization32.json +1 -0
  22. package/assets/components/assets/icon/spikeDataVisualizationOpen16.json +1 -0
  23. package/assets/components/assets/icon/spikeDataVisualizationOpen24.json +1 -0
  24. package/assets/components/assets/icon/spikeDataVisualizationOpen32.json +1 -0
  25. package/assets/components/assets/icon/spikeDataVisualizationOutlined16F.json +1 -0
  26. package/assets/components/assets/icon/spikeDataVisualizationOutlined24F.json +1 -0
  27. package/assets/components/assets/icon/spikeDataVisualizationOutlined32F.json +1 -0
  28. package/assets/components/assets/icon/spikeDataVisualizationOutlinedColorLocked16.json +1 -0
  29. package/assets/components/assets/icon/spikeDataVisualizationOutlinedColorLocked24.json +1 -0
  30. package/assets/components/assets/icon/spikeDataVisualizationOutlinedColorLocked32.json +1 -0
  31. package/assets/components/assets/icon/spikeDataVisualizationOutlinedOpen16.json +1 -0
  32. package/assets/components/assets/icon/spikeDataVisualizationOutlinedOpen24.json +1 -0
  33. package/assets/components/assets/icon/spikeDataVisualizationOutlinedOpen32.json +1 -0
  34. package/assets/components/assets/icon/spikeDataVisualizationOutlinedOpenColorLocked16.json +1 -0
  35. package/assets/components/assets/icon/spikeDataVisualizationOutlinedOpenColorLocked24.json +1 -0
  36. package/assets/components/assets/icon/spikeDataVisualizationOutlinedOpenColorLocked32.json +1 -0
  37. package/assets/esri/core/workers/RemoteClient.js +1 -1
  38. package/assets/esri/core/workers/chunks/0766ecb677d667e5fb83.js.LICENSE.txt +1 -1
  39. package/assets/esri/core/workers/chunks/{4deeeceb784e4390441d.js → 0a4cece5e96fb7e8a57b.js} +1 -1
  40. package/assets/esri/core/workers/chunks/12e99071f6582f6caeaf.js +1 -0
  41. package/assets/esri/core/workers/chunks/191a45a594ecaf7f1abb.js +1 -0
  42. package/assets/esri/core/workers/chunks/1991f0d0f0a12175f849.js +1 -0
  43. package/assets/esri/core/workers/chunks/218a66d53f7cf4f285aa.js.LICENSE.txt +1 -1
  44. package/assets/esri/core/workers/chunks/{07695960aa0344dbfbf3.js → 28d9e2ffc3059a55311e.js} +1 -1
  45. package/assets/esri/core/workers/chunks/{a5e746e10239a3bfe237.js → 30f3014c0ac6e2bc14bf.js} +1 -1
  46. package/assets/esri/core/workers/chunks/3596540ef49e5330ceb2.js.LICENSE.txt +1 -1
  47. package/assets/esri/core/workers/chunks/4899cdc8bb5085c356f9.js +1 -0
  48. package/assets/esri/core/workers/chunks/498886c321a2501658bc.js +1 -0
  49. package/assets/esri/core/workers/chunks/56569d0c2cf5c5167651.js +1 -0
  50. package/assets/esri/core/workers/chunks/{ba3193ea145960a50e87.js → 5c8d52b72a3bea4202ac.js} +1 -1
  51. package/assets/esri/core/workers/chunks/{fbcd94f60f92257a7303.js → 6394ab6f629aa90292e6.js} +2 -2
  52. package/assets/esri/core/workers/chunks/{fbcd94f60f92257a7303.js.LICENSE.txt → 6394ab6f629aa90292e6.js.LICENSE.txt} +1 -1
  53. package/assets/esri/core/workers/chunks/{8b74b609de4f70e1a75c.js → 64af433e88d4dd21a2ff.js} +1 -1
  54. package/assets/esri/core/workers/chunks/{2b01e3bce78541620a86.js → 6cbe8205a4e0f62da519.js} +1 -1
  55. package/assets/esri/core/workers/chunks/6e64ce0958c3432004b6.js +346 -0
  56. package/assets/esri/core/workers/chunks/6e8c6c9112ecb867b7be.js +1 -0
  57. package/assets/esri/core/workers/chunks/{a8430e1e2142f1ce9b92.js → 82c395d8649096609a8a.js} +1 -1
  58. package/assets/esri/core/workers/chunks/{a73c6b4bc5baf440f85a.js → 88b7265270feede80e1d.js} +1 -1
  59. package/assets/esri/core/workers/chunks/8a87c181b85d0b86b9bb.js.LICENSE.txt +1 -1
  60. package/assets/esri/core/workers/chunks/8c21cc9af4ce9652cc5c.js +1 -0
  61. package/assets/esri/core/workers/chunks/{243dc74ec62891ba1ef7.js → 8e82acd1f730571680f4.js} +1 -1
  62. package/assets/esri/core/workers/chunks/90ae15ce22a49bd84876.js.LICENSE.txt +1 -1
  63. package/assets/esri/core/workers/chunks/a09b5700c92bb76c3234.js +1 -0
  64. package/assets/esri/core/workers/chunks/b06cb23048c32940f5de.js +1 -0
  65. package/assets/esri/core/workers/chunks/{079434fe765c53d304f2.js → b1e275607d9754079f60.js} +1 -1
  66. package/assets/esri/core/workers/chunks/b4f38fe9cc948a39ad87.js.LICENSE.txt +1 -1
  67. package/assets/esri/core/workers/chunks/{3c45603af279ad7fed8c.js → b8b5dfd2d73a8410fba2.js} +1 -1
  68. package/assets/esri/core/workers/chunks/c604fefedccfd4db9953.js +1 -0
  69. package/assets/esri/core/workers/chunks/{0aca29f7156b2b412f2e.js → d1f7bfb8daf11ecada9f.js} +1 -1
  70. package/assets/esri/core/workers/chunks/{b816b608f31954128246.js → d21d9e8b8c8a2e0485d5.js} +1 -1
  71. package/assets/esri/core/workers/chunks/da3c62a851a4332f6dda.js +1 -0
  72. package/assets/esri/core/workers/chunks/{a8b42d8c0b76c234c09f.js → e0247252c6a0f3340e33.js} +81 -82
  73. package/assets/esri/core/workers/chunks/e0dc8794343c2a949ffb.js.LICENSE.txt +1 -1
  74. package/assets/esri/core/workers/chunks/e5608e5232e983531f72.js +1 -0
  75. package/assets/esri/core/workers/chunks/f8fb0c7eaf73709bd855.js +1 -0
  76. package/assets/esri/core/workers/chunks/fd24dd602a3fed88d90e.js +1 -0
  77. package/assets/esri/libs/lyr3d/lyr3DMain.wasm +0 -0
  78. package/assets/esri/themes/base/widgets/_BuildingPhasePicker.scss +17 -10
  79. package/assets/esri/themes/base/widgets/_FeatureTable.scss +4 -0
  80. package/assets/esri/themes/base/widgets/_SelectionList.scss +7 -3
  81. package/assets/esri/themes/dark/main.css +1 -1
  82. package/assets/esri/themes/light/main.css +1 -1
  83. package/assets/esri/themes/light/view.css +1 -1
  84. package/chunks/LineSeries.js +1 -1
  85. package/chunks/OperatorCut.js +1 -1
  86. package/chunks/OperatorDefinitions.js +5 -0
  87. package/chunks/OperatorMultiPartToSinglePart.js +1 -1
  88. package/chunks/OperatorSimplifyOGC.js +1 -1
  89. package/chunks/ProjectionTransformation.js +1 -1
  90. package/chunks/ShadowCastAccumulate.glsl.js +1 -1
  91. package/chunks/ShadowHighlight.glsl.js +5 -5
  92. package/chunks/Theme.js +1 -1
  93. package/chunks/Tick.js +1 -1
  94. package/chunks/arcade.js +1 -1
  95. package/chunks/lyr3DMain.js +1 -1
  96. package/core/Accessor.js +1 -1
  97. package/core/accessorSupport/Lifecycle.js +5 -0
  98. package/core/accessorSupport/Properties.js +1 -1
  99. package/core/accessorSupport/decorators/subclass.js +1 -1
  100. package/core/accessorSupport/tracking/Flags.js +1 -1
  101. package/core/accessorSupport/watch.js +1 -1
  102. package/core/mapCollectionUtils.js +1 -1
  103. package/core/urlUtils.js +1 -1
  104. package/geometry/operators/gx/operatorIntegrate.js +1 -1
  105. package/geometry/operators/gx/operatorPolygonOverlay.js +1 -1
  106. package/geometry/operators/gx/operatorSimplifyOGC.js +1 -1
  107. package/geometry/operators/simplifyOGCOperator.js +1 -1
  108. package/interfaces.d.ts +368 -2450
  109. package/layers/IntegratedMesh3DTilesLayer.js +1 -1
  110. package/layers/KnowledgeGraphLayer.js +1 -1
  111. package/layers/LinkChartLayer.js +1 -1
  112. package/layers/Lyr3DWasmPerSceneView.js +1 -1
  113. package/layers/VideoLayer.js +1 -1
  114. package/layers/graphics/data/QueryEngineResult.js +1 -1
  115. package/layers/knowledgeGraph/supportUtils.js +1 -1
  116. package/layers/support/rasterFunctions/pixelUtils.js +1 -1
  117. package/layers/support/serviceCapabilitiesUtils.js +1 -1
  118. package/layers/video/VideoController.js +1 -1
  119. package/package.json +3 -4
  120. package/smartMapping/statistics/uniqueValues.js +1 -1
  121. package/smartMapping/support/adapters/support/layerUtils.js +1 -1
  122. package/statistics/utils.js +1 -1
  123. package/support/revision.js +1 -1
  124. package/symbols/cim/effects/EffectRadial.js +1 -1
  125. package/versionManagement/versionAdapters/FeatureLayerVersionAdapter.js +1 -1
  126. package/versionManagement/versionAdapters/NetworkVersionAdapter.js +1 -1
  127. package/versionManagement/versionAdapters/SubTypeGroupLayerVersionAdapter.js +1 -1
  128. package/views/2d/layers/MediaLayerView2D.js +1 -1
  129. package/views/2d/layers/TileLayerView2D.js +1 -1
  130. package/views/2d/layers/VideoLayerView2D.js +1 -1
  131. package/views/2d/layers/imagery/BaseImageryTileSubView2D.js +1 -1
  132. package/views/2d/layers/imagery/ImageryTileView2D.js +1 -1
  133. package/views/3d/FocusAreasView.js +5 -0
  134. package/views/3d/analysis/Slice/SliceTool.js +1 -1
  135. package/views/3d/analysis/SliceAnalysisView3D.js +1 -1
  136. package/views/3d/analysis/Viewshed/viewshedToolManipulatorUtils.js +1 -1
  137. package/views/3d/layers/BuildingSceneLayerView3D.js +1 -1
  138. package/views/3d/layers/FeatureLikeLayerView3D.js +1 -1
  139. package/views/3d/layers/GraphicsLayerView3D.js +1 -1
  140. package/views/3d/layers/GraphicsView3D.js +1 -1
  141. package/views/3d/layers/I3SMeshView3D.js +1 -1
  142. package/views/3d/layers/IntegratedMesh3DTilesLayerView3D.js +1 -1
  143. package/views/3d/layers/Lyr3DWasm.js +1 -1
  144. package/views/3d/layers/RouteLayerView3D.js +1 -1
  145. package/views/3d/layers/SceneLayerGraphicsView3D.js +1 -1
  146. package/views/3d/layers/SceneLayerView3D.js +1 -1
  147. package/views/3d/layers/graphics/Deconflictor.js +1 -1
  148. package/views/3d/layers/graphics/Graphics3DCore.js +1 -1
  149. package/views/3d/layers/graphics/Graphics3DExtrudeSymbolLayer.js +1 -1
  150. package/views/3d/layers/graphics/GraphicsDeconflictor.js +1 -1
  151. package/views/3d/layers/graphics/GraphicsProcessor.js +1 -1
  152. package/views/3d/layers/graphics/pipeline/Feature3DPipelineWorker.js +1 -1
  153. package/views/3d/layers/graphics/pipeline/FeatureProcessingContext.js +1 -1
  154. package/views/3d/layers/graphics/pipeline/Tile3DManager.js +1 -1
  155. package/views/3d/layers/graphics/pipeline/TileLocks.js +5 -0
  156. package/views/3d/layers/graphics/pipeline/featureData/FeatureData.js +1 -1
  157. package/views/3d/layers/graphics/pipeline/featureData/FeatureDataSubset.js +1 -1
  158. package/views/3d/layers/graphics/pipeline/rendering/RenderCommandContext.js +1 -1
  159. package/views/3d/layers/graphics/pipeline/symbolization/IconSymbolLayerRenderer.js +1 -1
  160. package/views/3d/layers/i3s/I3SOverrides.js +1 -1
  161. package/views/3d/layers/i3s/I3SQueryResultGeometry.js +1 -1
  162. package/views/3d/layers/i3s/meshUtils.js +5 -0
  163. package/views/3d/support/hitTest.js +1 -1
  164. package/views/3d/terrain/TileTexture.js +1 -1
  165. package/views/3d/webgl-engine/core/FBOCache.js +1 -1
  166. package/views/3d/webgl-engine/core/FBOCacheFormats.js +1 -1
  167. package/views/3d/webgl-engine/core/shaderLibrary/shading/ReadShadowMap.glsl.js +2 -27
  168. package/views/3d/webgl-engine/core/shaderLibrary/shading/ShadowmapFiltering.glsl.js +29 -0
  169. package/views/3d/webgl-engine/lib/GPUPointOcclusionQuery.js +1 -1
  170. package/views/3d/webgl-engine/lib/GeometryUtil.js +1 -1
  171. package/views/3d/webgl-engine/lib/Renderer.js +1 -1
  172. package/views/3d/webgl-engine/lib/ShadowMap.js +1 -1
  173. package/views/3d/webgl-engine/lib/intersectorUtilsConversions.js +1 -1
  174. package/views/3d/webgl-engine/materials/ShadedColorMaterial.js +1 -1
  175. package/views/3d/webgl-engine/shaders/ShadowHighlight.glsl.js +1 -1
  176. package/views/SceneView.js +1 -1
  177. package/views/VideoView.js +1 -1
  178. package/views/View.js +1 -1
  179. package/views/analysis/analysisViewUtils.js +1 -1
  180. package/views/layers/BuildingComponentSublayerView.js +1 -1
  181. package/views/layers/BuildingSceneLayerView.js +1 -1
  182. package/views/support/LayerViewManager.js +1 -1
  183. package/views/support/TextureCompressionWorker.js +1 -1
  184. package/views/support/TextureCompressionWorkerHandle.js +1 -1
  185. package/views/webgl/Texture.js +1 -1
  186. package/webscene/Slide.js +1 -1
  187. package/widgets/BuildingExplorer/BuildingPhasePicker/BuildingPhasePicker.js +1 -1
  188. package/widgets/Editor/Edits.js +1 -1
  189. package/widgets/Editor/UpdateFeaturesWorkflow.js +1 -1
  190. package/widgets/Editor/UpdateFeaturesWorkflowData.js +1 -1
  191. package/widgets/Editor/support/SketchController.js +1 -1
  192. package/widgets/FeatureTable/AttachmentsColumn.js +1 -1
  193. package/widgets/FeatureTable/FeatureTableViewModel.js +1 -1
  194. package/widgets/FeatureTable/Grid/Column.js +1 -1
  195. package/widgets/FeatureTable/Grid/GridViewModel.js +1 -1
  196. package/widgets/FeatureTable/support/ColumnTemplateBase.js +1 -1
  197. package/widgets/FeatureTable.js +1 -1
  198. package/widgets/OrientedImageryViewer/OrientedImageryViewerViewModel.js +1 -1
  199. package/widgets/OrientedImageryViewer/adapters/sketch/MeasurementAdapter.js +1 -1
  200. package/widgets/OrientedImageryViewer/adapters/sketch/TriangulatedMeasurementAdapter.js +1 -1
  201. package/widgets/OrientedImageryViewer/imageMeasurementUtils.js +1 -1
  202. package/widgets/OrientedImageryViewer.js +1 -1
  203. package/widgets/Slice/SliceViewModel.js +1 -1
  204. package/widgets/Slice.js +1 -1
  205. package/widgets/VideoPlayer/VideoPlayerViewModel.js +1 -1
  206. package/widgets/VideoPlayer/components/SettingsButton.js +1 -1
  207. package/widgets/support/SelectionList.js +1 -1
  208. package/widgets/support/iconUtils.js +1 -1
  209. package/assets/esri/core/workers/chunks/009dbddfc6499e2cee4f.js +0 -1
  210. package/assets/esri/core/workers/chunks/1b8cc83aa1179245b2dc.js +0 -1
  211. package/assets/esri/core/workers/chunks/26ebb7816dd8c8cd4f3b.js +0 -1
  212. package/assets/esri/core/workers/chunks/2abce00d812c7f6b542d.js +0 -1
  213. package/assets/esri/core/workers/chunks/47cd99ab3ed11a931084.js +0 -1
  214. package/assets/esri/core/workers/chunks/51d9eaeeb781fd1d1162.js +0 -1
  215. package/assets/esri/core/workers/chunks/5228fc7fcdf57f44781e.js +0 -1
  216. package/assets/esri/core/workers/chunks/83d6a1b3db7d364d156b.js +0 -1
  217. package/assets/esri/core/workers/chunks/83e13baab4b90a88d967.js +0 -1
  218. package/assets/esri/core/workers/chunks/92cbe9af8a6c061bfb57.js +0 -346
  219. package/assets/esri/core/workers/chunks/93cc26e5636040fdc0b8.js +0 -1
  220. package/assets/esri/core/workers/chunks/c17c269cc30e7e1d0bfb.js +0 -1
  221. package/assets/esri/core/workers/chunks/c3f144ca69995dca34a9.js +0 -1
  222. package/assets/esri/core/workers/chunks/d551f70560a2b1ef5696.js +0 -1
  223. package/core/accessorSupport/interfaces.js +0 -5
  224. package/views/3d/layers/graphics/pipeline/TileActionSynchronizer.js +0 -5
  225. package/views/FocusAreasView.js +0 -5
@@ -0,0 +1,346 @@
1
+ "use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[301],{2272:(e,t,r)=>{r.d(t,{Dl:()=>c,gf:()=>u,jV:()=>l,lF:()=>d});var n=r(92602),i=r(70333),s=r(4718),a=r(84952),o=r(926);function l(e,t){return t?{...t,query:{...e??{},...t.query}}:{query:e}}function c(e){return"string"==typeof e?(0,a.An)(e):(0,s.o8)(e)}function d(e,t,r){const n={};for(const i in e){if("declaredClass"===i)continue;const s=e[i];if(null!=s&&"function"!=typeof s)if(Array.isArray(s))n[i]=s.map((e=>d(e)));else if("object"==typeof s)if(s.toJSON){const e=s.toJSON(r?.[i]);n[i]=t?e:JSON.stringify(e)}else n[i]=t?s:JSON.stringify(s);else n[i]=s}return n}async function u(e,t,s){const a=function(e,t){return e?(0,o.Jn)(e,t)?t||n.A.apiKey:i.id?.findCredential(e)?.token:null}(e,t);if(a)return a;!i.id&&n.A.request.useIdentity&&await Promise.all([r.e(7292),r.e(3747)]).then(r.bind(r,73747));const l=await(i.id?.getCredential(e,s));return l?.token}},3330:(e,t,r)=>{r.d(t,{GB:()=>i,Qo:()=>a,Y4:()=>s});var n=r(96285);class i{static{this.instance=new n.oh("Etc/UTC")}}function s(e){return e instanceof n.bo?e===i.instance:"unknown"===e?.toString().toLowerCase()}function a(e){return s(e)?i.instance:e}},6867:(e,t,r)=>{r.d(t,{i:()=>u});var n=r(58083),i=r(9093),s=r(38954),a=r(51850),o=r(87317),l=r(91829),c=r(71351),d=r(29878);class u{get ray(){return this._ray}get distanceInRenderSpace(){return null==this.distance?null:((0,s.g)(m,this.ray.direction,this.distance),(0,s.l)(m))}withinDistance(e){return!!h(this)&&this.distanceInRenderSpace<=e}getIntersectionPoint(e){return!!h(this)&&((0,s.g)(m,this.ray.direction,this.distance),(0,s.f)(e,this.ray.origin,m),!0)}getTransformedNormal(e){return(0,s.c)(f,this.normal),f[3]=0,(0,o.t)(f,f,this.transformation),(0,s.c)(e,f),(0,s.n)(e,e)}constructor(e){this.intersector=d.d.OBJECT,this.normal=(0,a.vt)(),this.transformation=(0,i.vt)(),this._ray=(0,c.vt)(),this.init(e)}init(e){this.distance=this.target=this.drapedLayerOrder=this.renderPriority=null,this.intersector=d.d.OBJECT,(0,c.C)(e,this._ray)}set(e,t,r,o,l,c,d){this.intersector=e,this.distance=r,(0,s.c)(this.normal,o??a.Cb),(0,n.C)(this.transformation,l??i.zK),this.target=t,this.drapedLayerOrder=c,this.renderPriority=d}copy(e){(0,c.C)(e.ray,this._ray),this.intersector=e.intersector,this.distance=e.distance,this.target=e.target,this.drapedLayerOrder=e.drapedLayerOrder,this.renderPriority=e.renderPriority,(0,s.c)(this.normal,e.normal),(0,n.C)(this.transformation,e.transformation)}}function h(e){return null!=e?.distance}const m=(0,a.vt)(),f=(0,l.vt)()},10536:(e,t,r)=>{function n(e){const t={};for(const r in e){if("declaredClass"===r)continue;const i=e[r];if(null!=i&&"function"!=typeof i)if(Array.isArray(i)){t[r]=[];for(let e=0;e<i.length;e++)t[r][e]=n(i[e])}else"object"==typeof i?i.toJSON&&(t[r]=JSON.stringify(i)):t[r]=i}return t}r.d(t,{z:()=>n})},13259:(e,t,r)=>{r.d(t,{H:()=>z,b:()=>E,c:()=>k,f:()=>B,s:()=>M});var n=r(37585),i=r(48163),s=r(91829),a=r(79258),o=r(49255),l=r(76591),c=r(36782),d=r(47522),u=r(40268),h=r(63578),m=r(13755),f=r(42593),p=r(42398),y=r(63365),g=r(26835),_=r(52587),b=r(20693),v=r(47286),w=r(14314),x=r(81961),S=r(71988),C=r(33094),T=r(20304),I=r(31821),A=r(12791),O=r(63761),R=r(59643),P=r(46540),D=r(14113),F=r(49788);const M={occludedFadeFactor:1};function E(e){const t=new D.N5,{signedDistanceFieldEnabled:r,occlusionTestEnabled:i,horizonCullingEnabled:M,pixelSnappingEnabled:E,hasScreenSizePerspective:B,debugDrawLabelBorder:z,vvSize:j,vvColor:N,hasRotation:q,occludedFragmentFade:H,sampleSignedDistanceFieldTexelCenter:G}=e;t.include(u.Q,e),t.vertex.include(l.rA,e);const{occlusionPass:$,output:Y,oitPass:Z}=e;if($)return t.include(h.I,e),t;const{vertex:J,fragment:W}=t;t.include(_.Y6),t.include(p.A,e),t.include(c.g,e),i&&t.include(m.y),W.include(g.W),W.include(y.a),t.varyings.add("vcolor","vec4"),t.varyings.add("vtc","vec2"),t.varyings.add("vsize","vec2");const X=Y===o.V.Highlight,Q=X&&i;Q&&t.varyings.add("voccluded","float"),J.uniforms.add(new w.I("viewport",(e=>e.camera.fullViewport)),new v.G("screenOffset",((e,t)=>(0,n.hZ)(L,2*e.screenOffset[0]*t.camera.pixelRatio,2*e.screenOffset[1]*t.camera.pixelRatio))),new v.G("anchorPosition",(e=>k(e))),new S.E("materialColor",(e=>e.color)),new T.m("materialRotation",(e=>e.rotation)),new O.N("tex",(e=>e.texture))),(0,b.Nz)(J),r&&(J.uniforms.add(new S.E("outlineColor",(e=>e.outlineColor))),W.uniforms.add(new S.E("outlineColor",(e=>U(e)?e.outlineColor:s.uY)),new T.m("outlineSize",(e=>U(e)?e.outlineSize:0)))),M&&J.uniforms.add(new x.V("pointDistanceSphere",((e,t)=>{const r=t.camera.eye,n=e.origin;return(0,s.fA)(n[0]-r[0],n[1]-r[1],n[2]-r[2],a.$O.radius)}))),E&&J.include(d.K),B&&((0,_.pM)(J),(0,_.OH)(J)),z&&t.varyings.add("debugBorderCoords","vec4"),t.attributes.add(P.r.UVI,"vec2"),t.attributes.add(P.r.COLOR,"vec4"),t.attributes.add(P.r.SIZE,"vec2"),t.attributes.add(P.r.ROTATION,"float"),(j||N)&&t.attributes.add(P.r.FEATUREATTRIBUTE,"vec4"),J.code.add(M?I.H`bool behindHorizon(vec3 posModel) {
2
+ vec3 camToEarthCenter = pointDistanceSphere.xyz - localOrigin;
3
+ vec3 camToPos = pointDistanceSphere.xyz + posModel;
4
+ float earthRadius = pointDistanceSphere.w;
5
+ float a = dot(camToPos, camToPos);
6
+ float b = dot(camToPos, camToEarthCenter);
7
+ float c = dot(camToEarthCenter, camToEarthCenter) - earthRadius * earthRadius;
8
+ return b > 0.0 && b < a && b * b > a * c;
9
+ }`:I.H`bool behindHorizon(vec3 posModel) { return false; }`),J.main.add(I.H`
10
+ ProjectHUDAux projectAux;
11
+ vec4 posProj = projectPositionHUD(projectAux);
12
+ forwardObjectAndLayerIdColor();
13
+
14
+ if (rejectBySlice(projectAux.posModel)) {
15
+ // Project outside of clip plane
16
+ gl_Position = vec4(1e038, 1e038, 1e038, 1.0);
17
+ return;
18
+ }
19
+
20
+ if (behindHorizon(projectAux.posModel)) {
21
+ // Project outside of clip plane
22
+ gl_Position = vec4(1e038, 1e038, 1e038, 1.0);
23
+ return;
24
+ }
25
+
26
+ vec2 inputSize;
27
+ ${(0,I.If)(B,I.H`
28
+ inputSize = screenSizePerspectiveScaleVec2(size, projectAux.absCosAngle, projectAux.distanceToCamera, screenSizePerspective);
29
+ vec2 screenOffsetScaled = screenSizePerspectiveScaleVec2(screenOffset, projectAux.absCosAngle, projectAux.distanceToCamera, screenSizePerspectiveAlignment);`,I.H`
30
+ inputSize = size;
31
+ vec2 screenOffsetScaled = screenOffset;`)}
32
+ ${(0,I.If)(j,I.H`inputSize *= vvScale(featureAttribute).xx;`)}
33
+
34
+ vec2 combinedSize = inputSize * pixelRatio;
35
+ vec4 quadOffset = vec4(0.0);
36
+
37
+ ${(0,I.If)(i,I.H`
38
+ bool visible = testHUDVisibility(posProj);
39
+ if (!visible) {
40
+ vtc = vec2(0.0);
41
+ ${(0,I.If)(z,"debugBorderCoords = vec4(0.5, 0.5, 1.5 / combinedSize);")}
42
+ return;
43
+ }`)}
44
+ ${(0,I.If)(Q,I.H`voccluded = visible ? 0.0 : 1.0;`)}
45
+ `);const K=I.H`
46
+ vec2 uvi1 = vec2(uvi.x < 0.0 ? 1.0 : 0.0, uvi.y < 0.0 ? 1.0 : 0.0);
47
+ vec2 uv = abs(uvi + uvi1);
48
+ vec2 texSize = vec2(textureSize(tex, 0));
49
+ uv.x = uv.x >= ${V} ? 1.0 : uv.x / texSize.x;
50
+ uv.y = uv.y >= ${V} ? 1.0 : uv.y / texSize.y;
51
+ quadOffset.xy = (uvi1 - anchorPosition) * 2.0 * combinedSize;
52
+
53
+ ${(0,I.If)(q,I.H`
54
+ float angle = radians(materialRotation + rotation);
55
+ float cosAngle = cos(angle);
56
+ float sinAngle = sin(angle);
57
+ mat2 rotate = mat2(cosAngle, -sinAngle, sinAngle, cosAngle);
58
+
59
+ quadOffset.xy = rotate * quadOffset.xy;
60
+ `)}
61
+
62
+ quadOffset.xy = (quadOffset.xy + screenOffsetScaled) / viewport.zw * posProj.w;
63
+ `,ee=E?r?I.H`posProj = alignToPixelOrigin(posProj, viewport.zw) + quadOffset;`:I.H`posProj += quadOffset;
64
+ if (inputSize.x == size.x) {
65
+ posProj = alignToPixelOrigin(posProj, viewport.zw);
66
+ }`:I.H`posProj += quadOffset;`;J.main.add(I.H`
67
+ ${K}
68
+ ${N?"vcolor = interpolateVVColor(featureAttribute.y) * materialColor;":"vcolor = color / 255.0 * materialColor;"}
69
+
70
+ ${(0,I.If)(Y===o.V.ObjectAndLayerIdColor,I.H`vcolor.a = 1.0;`)}
71
+
72
+ bool alphaDiscard = vcolor.a < ${I.H.float(F.Q)};
73
+ ${(0,I.If)(r,`alphaDiscard = alphaDiscard && outlineColor.a < ${I.H.float(F.Q)};`)}
74
+ if (alphaDiscard) {
75
+ // "early discard" if both symbol color (= fill) and outline color (if applicable) are transparent
76
+ gl_Position = vec4(1e38, 1e38, 1e38, 1.0);
77
+ return;
78
+ } else {
79
+ ${ee}
80
+ gl_Position = posProj;
81
+ }
82
+
83
+ vtc = uv;
84
+
85
+ ${(0,I.If)(z,I.H`debugBorderCoords = vec4(uv01, 1.5 / combinedSize);`)}
86
+ vsize = inputSize;
87
+ `),W.uniforms.add(new O.N("tex",(e=>e.texture))),H&&!X&&W.uniforms.add(new A.x("depthMap",(e=>e.mainDepth)),new C.U("occludedOpacity",(e=>e.hudOccludedFragmentOpacity)));const te=z?I.H`(isBorder > 0.0 ? 0.0 : ${I.H.float(F.Q)})`:I.H.float(F.Q),re=I.H`
88
+ ${(0,I.If)(z,I.H`float isBorder = float(any(lessThan(debugBorderCoords.xy, debugBorderCoords.zw)) || any(greaterThan(debugBorderCoords.xy, 1.0 - debugBorderCoords.zw)));`)}
89
+
90
+ vec2 samplePos = vtc;
91
+
92
+ ${(0,I.If)(G,I.H`
93
+ float txSize = float(textureSize(tex, 0).x);
94
+ float texelSize = 1.0 / txSize;
95
+
96
+ // Calculate how much we have to add/subtract to/from each texel to reach the size of an onscreen pixel
97
+ vec2 scaleFactor = (vsize - txSize) * texelSize;
98
+ samplePos += (vec2(1.0, -1.0) * texelSize) * scaleFactor;`)}
99
+
100
+ ${r?I.H`
101
+ vec4 fillPixelColor = vcolor;
102
+
103
+ // Get distance and map it into [-0.5, 0.5]
104
+ float d = rgbaTofloat(texture(tex, samplePos)) - 0.5;
105
+
106
+ // Distance in output units (i.e. pixels)
107
+ float dist = d * vsize.x;
108
+
109
+ // Create smooth transition from the icon into its outline
110
+ float fillAlphaFactor = clamp(0.5 - dist, 0.0, 1.0);
111
+ fillPixelColor.a *= fillAlphaFactor;
112
+
113
+ if (outlineSize > 0.25) {
114
+ vec4 outlinePixelColor = outlineColor;
115
+ float clampedOutlineSize = min(outlineSize, 0.5*vsize.x);
116
+
117
+ // Create smooth transition around outline
118
+ float outlineAlphaFactor = clamp(0.5 - (abs(dist) - 0.5*clampedOutlineSize), 0.0, 1.0);
119
+ outlinePixelColor.a *= outlineAlphaFactor;
120
+
121
+ if (
122
+ outlineAlphaFactor + fillAlphaFactor < ${te} ||
123
+ fillPixelColor.a + outlinePixelColor.a < ${I.H.float(F.Q)}
124
+ ) {
125
+ discard;
126
+ }
127
+
128
+ // perform un-premultiplied over operator (see https://en.wikipedia.org/wiki/Alpha_compositing#Description)
129
+ float compositeAlpha = outlinePixelColor.a + fillPixelColor.a * (1.0 - outlinePixelColor.a);
130
+ vec3 compositeColor = vec3(outlinePixelColor) * outlinePixelColor.a +
131
+ vec3(fillPixelColor) * fillPixelColor.a * (1.0 - outlinePixelColor.a);
132
+
133
+ ${(0,I.If)(!X,I.H`fragColor = vec4(compositeColor, compositeAlpha);`)}
134
+ } else {
135
+ if (fillAlphaFactor < ${te}) {
136
+ discard;
137
+ }
138
+
139
+ ${(0,I.If)(!X,I.H`fragColor = premultiplyAlpha(fillPixelColor);`)}
140
+ }
141
+
142
+ // visualize SDF:
143
+ // fragColor = vec4(clamp(-dist/vsize.x*2.0, 0.0, 1.0), clamp(dist/vsize.x*2.0, 0.0, 1.0), 0.0, 1.0);
144
+ `:I.H`
145
+ vec4 texColor = texture(tex, samplePos, -0.5);
146
+ if (texColor.a < ${te}) {
147
+ discard;
148
+ }
149
+ ${(0,I.If)(!X,I.H`fragColor = texColor * premultiplyAlpha(vcolor);`)}
150
+ `}
151
+
152
+ ${(0,I.If)(H&&!X,I.H`
153
+ float zSample = texelFetch(depthMap, ivec2(gl_FragCoord.xy), 0).x;
154
+ if (zSample < gl_FragCoord.z) {
155
+ fragColor *= occludedOpacity;
156
+ }
157
+ `)}
158
+
159
+ ${(0,I.If)(!X&&z,I.H`fragColor = mix(fragColor, vec4(1.0, 0.0, 1.0, 1.0), isBorder * 0.5);`)}
160
+ `;switch(Y){case o.V.Color:case o.V.ColorEmission:t.outputs.add("fragColor","vec4",0),Y===o.V.ColorEmission&&t.outputs.add("fragEmission","vec4",1),Z===R.Y.ColorAlpha&&t.outputs.add("fragAlpha","float",Y===o.V.ColorEmission?2:1),W.main.add(I.H`
161
+ ${re}
162
+ ${(0,I.If)(Z===R.Y.FrontFace,I.H`fragColor.rgb /= fragColor.a;`)}
163
+ ${(0,I.If)(Y===o.V.ColorEmission,I.H`fragEmission = vec4(0.0);`)}
164
+ ${(0,I.If)(Z===R.Y.ColorAlpha,I.H`fragAlpha = fragColor.a;`)}`);break;case o.V.ObjectAndLayerIdColor:W.main.add(I.H`
165
+ ${re}
166
+ outputObjectAndLayerIdColor();`);break;case o.V.Highlight:t.include(f.Q,e),W.main.add(I.H`
167
+ ${re}
168
+ outputHighlight(${(0,I.If)(Q,I.H`voccluded == 1.0`,I.H`false`)});`)}return t}function U(e){return e.outlineColor[3]>0&&e.outlineSize>0}function k(e){return e.textureIsSignedDistanceField?(t=e.anchorPosition,r=e.distanceFieldBoundingBox,i=L,(0,n.hZ)(i,t[0]*(r[2]-r[0])+r[0],t[1]*(r[3]-r[1])+r[1])):(0,n.C)(L,e.anchorPosition),L;var t,r,i}const L=(0,i.vt)(),B=32e3,V=I.H.float(B),z=Object.freeze(Object.defineProperty({__proto__:null,build:E,calculateAnchorPosition:k,fullUV:B,shaderSettings:M},Symbol.toStringTag,{value:"Module"}))},13755:(e,t,r)=>{r.d(t,{y:()=>c});var n,i=r(47522);!function(e){e[e.Occluded=0]="Occluded",e[e.NotOccluded=1]="NotOccluded",e[e.Both=2]="Both",e[e.COUNT=3]="COUNT"}(n||(n={}));var s=r(14314),a=r(33094),o=r(31821),l=r(12791);function c(e){e.vertex.uniforms.add(new a.U("renderTransparentlyOccludedHUD",(e=>e.hudRenderStyle===n.Occluded?1:e.hudRenderStyle===n.NotOccluded?0:.75)),new s.I("viewport",(e=>e.camera.fullViewport)),new l.x("hudVisibilityTexture",(e=>e.hudVisibility?.getTexture()))),e.vertex.include(i.K),e.vertex.code.add(o.H`bool testHUDVisibility(vec4 posProj) {
169
+ vec4 posProjCenter = alignToPixelCenter(posProj, viewport.zw);
170
+ vec4 occlusionPixel = texture(hudVisibilityTexture, .5 + .5 * posProjCenter.xy / posProjCenter.w);
171
+ if (renderTransparentlyOccludedHUD > 0.5) {
172
+ return occlusionPixel.r * occlusionPixel.g > 0.0 && occlusionPixel.g * renderTransparentlyOccludedHUD < 1.0;
173
+ }
174
+ return occlusionPixel.r * occlusionPixel.g > 0.0 && occlusionPixel.g == 1.0;
175
+ }`)}},15032:(e,t,r)=>{r.d(t,{k:()=>l});var n=r(78502),i=r(73444),s=r(96285);function a(e){if(!e)return"";const t=/(a|A|hh?|HH?|mm?|ss?|SSS|S|.)/g;let r="";for(const n of e.match(t)||[])switch(n){case"SSS":case"m":case"mm":case"h":case"hh":case"H":case"HH":case"s":case"ss":r+=n;break;case"A":case"a":r+="a";break;default:r+=`'${n}'`}return r}const o="esri.core.sql.timeonly";class l{constructor(e,t,r,n){this._hour=e,this._minute=t,this._second=r,this._millisecond=n,this.declaredRootClass=o}static isTimeOnly(e){return"object"==typeof e&&null!=e&&"declaredRootClass"in e&&e.declaredRootClass===o}get hour(){return this._hour}get minute(){return this._minute}get second(){return this._second}get millisecond(){return this._millisecond}equals(e){return l.isTimeOnly(e)&&e.hour===this.hour&&e.minute===this.minute&&e.second===this.second&&e.millisecond===this.millisecond}clone(){return new l(this.hour,this.minute,this.second,this.millisecond)}isValid(){return(0,n.Fq)(this.hour)&&(0,n.Fq)(this.minute)&&(0,n.Fq)(this.second)&&(0,n.Fq)(this.millisecond)&&this.hour>=0&&this.hour<24&&this.minute>=0&&this.minute<60&&this.second>=0&&this.second<60&&this.millisecond>=0&&this.millisecond<1e3}toString(){return`${this.hour.toString().padStart(2,"0")}:${this.minute.toString().padStart(2,"0")}:${this.second.toString().padStart(2,"0")}`+(this.millisecond>0?"."+this.millisecond.toString().padStart(3,"0"):"")}toSQLValue(){return this.toString()}toSQLWithKeyword(){return`time '${this.hour.toString().padStart(2,"0")}:${this.minute.toString().padStart(2,"0")}:${this.second.toString().padStart(2,"0")}${this.millisecond>0?"."+this.millisecond.toString().padStart(3,"0"):""}'`}toStorageString(){return`${this.hour.toString().padStart(2,"0")}:${this.minute.toString().padStart(2,"0")}:${this.second.toString().padStart(2,"0")}`}toFormat(e=null){return null===e||""===e?this.toString():(e=a(e))?s.c9.local(1970,1,1,this._hour,this._minute,this._second,this._millisecond).toFormat(e,{locale:(0,i.JK)(),numberingSystem:"latn"}):""}toNumber(){return this.millisecond+1e3*this.second+1e3*this.minute*60+60*this.hour*60*1e3}static fromParts(e,t,r,n){const i=new l(e,t,r,n);return i.isValid()?i:null}static fromReader(e){if(!e)return null;const t=e.split(":");return 3!==t.length?null:new l(parseInt(t[0],10),parseInt(t[1],10),parseInt(t[2],10),0)}static fromMilliseconds(e){if(e>864e5||e<0)return null;const t=Math.floor(e/1e3%60),r=Math.floor(e/6e4%60),n=Math.floor(e/36e5%24),i=Math.floor(e%1e3);return new l(n,r,t,i)}static fromDateJS(e){return new l(e.getHours(),e.getMinutes(),e.getSeconds(),e.getMilliseconds())}static fromDateTime(e){return new l(e.hour,e.minute,e.second,e.millisecond)}static fromSqlTimeStampOffset(e){return this.fromDateTime(e.toDateTime())}static fromString(e,t=null){if(""===e)return null;if(null===e)return null;const r=[];t?(t=a(t))&&r.push(t):null!==t&&""!==t||(r.push("HH:mm:ss"),r.push("HH:mm:ss.SSS"),r.push("hh:mm:ss a"),r.push("hh:mm:ss.SSS a"),r.push("HH:mm"),r.push("hh:mm a"),r.push("H:mm"),r.push("h:mm a"),r.push("H:mm:ss"),r.push("h:mm:ss a"),r.push("H:mm:ss.SSS"),r.push("h:mm:ss.SSS a"));for(const t of r){const r=s.c9.fromFormat(e,t);if(r.isValid)return new l(r.hour,r.minute,r.second,r.millisecond)}return null}plus(e,t){switch(e){case"days":case"years":case"months":return this.clone();case"hours":case"minutes":case"seconds":case"milliseconds":return l.fromDateTime(this.toUTCDateTime().plus({[e]:t}))}return null}toUTCDateTime(){return s.c9.utc(1970,1,1,this.hour,this.minute,this.second,this.millisecond)}difference(e,t){switch(t.toLowerCase()){case"days":case"day":case"d":return this.toUTCDateTime().diff(e.toUTCDateTime(),"days").days;case"months":case"month":return this.toUTCDateTime().diff(e.toUTCDateTime(),"months").months;case"minutes":case"minute":case"m":return"M"===t?this.toUTCDateTime().diff(e.toUTCDateTime(),"months").months:this.toUTCDateTime().diff(e.toUTCDateTime(),"minutes").minutes;case"seconds":case"second":case"s":return this.toUTCDateTime().diff(e.toUTCDateTime(),"seconds").seconds;case"milliseconds":case"millisecond":case"ms":default:return this.toUTCDateTime().diff(e.toUTCDateTime(),"milliseconds").milliseconds;case"hours":case"hour":case"h":return this.toUTCDateTime().diff(e.toUTCDateTime(),"hours").hours;case"years":case"year":case"y":return this.toUTCDateTime().diff(e.toUTCDateTime(),"years").years}}}},18251:(e,t,r)=>{r.d(t,{A:()=>d});var n=r(90237),i=r(69540),s=r(25482),a=r(10107),o=(r(44208),r(53966),r(87811),r(93223)),l=r(40608),c=r(51850);let d=class extends(i.A.ClonableMixin(s.A)){constructor(e){super(e),this.type="local",this.origin=(0,c.vt)()}};(0,n._)([(0,o.e)({local:"local"},{readOnly:!0})],d.prototype,"type",void 0),(0,n._)([(0,a.MZ)({type:[Number],nonNullable:!0,json:{write:!0}})],d.prototype,"origin",void 0),d=(0,n._)([(0,l.$)("esri.geometry.support.MeshLocalVertexSpace")],d)},20437:(e,t,r)=>{r.d(t,{A:()=>p});var n,i=r(90237),s=r(66552),a=r(25482),o=r(10107),l=r(56507),c=(r(44208),r(87811),r(93223)),d=r(36005),u=r(40608),h=r(80451),m=r(98453);const f=new s.J({binary:"binary",coordinate:"coordinate",countOrAmount:"count-or-amount",dateAndTime:"date-and-time",description:"description",locationOrPlaceName:"location-or-place-name",measurement:"measurement",nameOrTitle:"name-or-title",none:"none",orderedOrRanked:"ordered-or-ranked",percentageOrRatio:"percentage-or-ratio",typeOrCategory:"type-or-category",uniqueIdentifier:"unique-identifier"});let p=class extends a.A{static{n=this}constructor(e){super(e),this.alias=null,this.defaultValue=void 0,this.description=null,this.domain=null,this.editable=!0,this.length=void 0,this.name=null,this.nullable=!0,this.type=null,this.valueType=null,this.visible=!0}readDescription(e,{description:t}){let r=null;try{r=t?JSON.parse(t):null}catch(e){}return r?.value??null}readValueType(e,{description:t}){let r=null;try{r=t?JSON.parse(t):null}catch(e){}return r?f.fromJSON(r.fieldValueType):null}clone(){return new n({alias:this.alias,defaultValue:this.defaultValue,description:this.description,domain:this.domain?.clone()??null,editable:this.editable,length:this.length,name:this.name,nullable:this.nullable,type:this.type,valueType:this.valueType,visible:this.visible})}};(0,i._)([(0,o.MZ)({type:String,json:{write:!0}})],p.prototype,"alias",void 0),(0,i._)([(0,o.MZ)({type:[String,Number],json:{write:{allowNull:!0}}})],p.prototype,"defaultValue",void 0),(0,i._)([(0,o.MZ)()],p.prototype,"description",void 0),(0,i._)([(0,d.w)("description")],p.prototype,"readDescription",null),(0,i._)([(0,o.MZ)({types:h.gK,json:{read:{reader:h.rS},write:!0}})],p.prototype,"domain",void 0),(0,i._)([(0,o.MZ)({type:Boolean,json:{write:!0}})],p.prototype,"editable",void 0),(0,i._)([(0,o.MZ)({type:l.jz,json:{write:{overridePolicy:e=>({enabled:Number.isFinite(e)})}}})],p.prototype,"length",void 0),(0,i._)([(0,o.MZ)({type:String,json:{write:!0}})],p.prototype,"name",void 0),(0,i._)([(0,o.MZ)({type:Boolean,json:{write:!0}})],p.prototype,"nullable",void 0),(0,i._)([(0,c.e)(m.m)],p.prototype,"type",void 0),(0,i._)([(0,o.MZ)()],p.prototype,"valueType",void 0),(0,i._)([(0,d.w)("valueType",["description"])],p.prototype,"readValueType",null),(0,i._)([(0,o.MZ)({type:Boolean,json:{read:!1}})],p.prototype,"visible",void 0),p=n=(0,i._)([(0,u.$)("esri.layers.support.Field")],p)},26835:(e,t,r)=>{r.d(t,{W:()=>i});var n=r(31821);function i(e){e.code.add(n.H`const float MAX_RGBA_FLOAT =
176
+ 255.0 / 256.0 +
177
+ 255.0 / 256.0 / 256.0 +
178
+ 255.0 / 256.0 / 256.0 / 256.0 +
179
+ 255.0 / 256.0 / 256.0 / 256.0 / 256.0;
180
+ const vec4 FIXED_POINT_FACTORS = vec4(1.0, 256.0, 256.0 * 256.0, 256.0 * 256.0 * 256.0);
181
+ vec4 float2rgba(const float value) {
182
+ float valueInValidDomain = clamp(value, 0.0, MAX_RGBA_FLOAT);
183
+ vec4 fixedPointU8 = floor(fract(valueInValidDomain * FIXED_POINT_FACTORS) * 256.0);
184
+ const float toU8AsFloat = 1.0 / 255.0;
185
+ return fixedPointU8 * toU8AsFloat;
186
+ }`),e.code.add(n.H`const vec4 RGBA_TO_FLOAT_FACTORS = vec4(
187
+ 255.0 / (256.0),
188
+ 255.0 / (256.0 * 256.0),
189
+ 255.0 / (256.0 * 256.0 * 256.0),
190
+ 255.0 / (256.0 * 256.0 * 256.0 * 256.0)
191
+ );
192
+ float rgbaTofloat(vec4 rgba) {
193
+ return dot(rgba, RGBA_TO_FLOAT_FACTORS);
194
+ }`),e.code.add(n.H`const vec4 uninterpolatedRGBAToFloatFactors = vec4(
195
+ 1.0 / 256.0,
196
+ 1.0 / 256.0 / 256.0,
197
+ 1.0 / 256.0 / 256.0 / 256.0,
198
+ 1.0 / 256.0 / 256.0 / 256.0 / 256.0
199
+ );
200
+ float uninterpolatedRGBAToFloat(vec4 rgba) {
201
+ return (dot(round(rgba * 255.0), uninterpolatedRGBAToFloatFactors) - 0.5) * 2.0;
202
+ }`)}},27615:(e,t,r)=>{r.d(t,{CK:()=>l,Hq:()=>o,MW:()=>c,TE:()=>d,yJ:()=>u});var n=r(38954),i=r(86738),s=r(95696),a=r(18251);function o(e){return null!=e.origin}function l(e){return o(e.vertexSpace)}function c(e,t){if(!o(e))return null;const[r,n,s]=e.origin;return new i.A({x:r,y:n,z:s,spatialReference:t})}function d(e,t){const{x:r,y:n,z:i,spatialReference:o}=e,l=[r,n,i??0];return"local"===(t?.vertexSpace??function(e){return e.isGeographic||e.isWebMercator?"local":"georeferenced"}(o))?new a.A({origin:l}):new s.A({origin:l})}function u(e,t){return e.type===t.type&&(e.origin===t.origin||null!=e.origin&&null!=t.origin&&(0,n.q)(e.origin,t.origin))}},27993:(e,t,r)=>{r.d(t,{F:()=>s}),r(80586);var n=r(16930),i=r(65806);function s(e,t,r,n,s){return!(null==t||null==n||e.length<2)&&(a.x=e[0],a.y=e[1],a.z=e[2],a.spatialReference=t,(0,i.g)(a,r,n,s))}const a=function(e,t,r,n){return{x:0,y:0,z:0,hasZ:!0,hasM:!1,spatialReference:n,type:"point"}}(0,0,0,n.A.WGS84)},29878:(e,t,r)=>{var n;r.d(t,{d:()=>n}),function(e){e[e.OBJECT=0]="OBJECT",e[e.HUD=1]="HUD",e[e.TERRAIN=2]="TERRAIN",e[e.OVERLAY=3]="OVERLAY",e[e.I3S=4]="I3S",e[e.PCL=5]="PCL",e[e.LOD=6]="LOD",e[e.VOXEL=7]="VOXEL",e[e.TILES3D=8]="TILES3D"}(n||(n={}))},31756:(e,t,r)=>{r.d(t,{j:()=>s});var n=r(83047),i=r(79258);const s={unknown:1,inches:(0,n.oU)(1,"meters","inches"),feet:(0,n.oU)(1,"meters","feet"),"us-feet":(0,n.oU)(1,"meters","us-feet"),yards:(0,n.oU)(1,"meters","yards"),miles:(0,n.oU)(1,"meters","miles"),"nautical-miles":(0,n.oU)(1,"meters","nautical-miles"),millimeters:(0,n.oU)(1,"meters","millimeters"),centimeters:(0,n.oU)(1,"meters","centimeters"),decimeters:(0,n.oU)(1,"meters","decimeters"),meters:(0,n.oU)(1,"meters","meters"),kilometers:(0,n.oU)(1,"meters","kilometers"),"decimal-degrees":1/(0,n.vl)(1,"meters",i.$O.radius)}},32587:(e,t,r)=>{r.d(t,{A:()=>s});var n=r(62788),i=r(95488);class s{constructor(e){this._observable=new i.I,this._map=new Map(e)}get size(){return(0,n.gc)(this._observable),this._map.size}clear(){this._map.size>0&&(this._map.clear(),this._observable.notify())}delete(e){const t=this._map.delete(e);return t&&this._observable.notify(),t}entries(){return(0,n.gc)(this._observable),this._map.entries()}forEach(e,t){(0,n.gc)(this._observable),this._map.forEach(((r,n)=>e.call(t,r,n,this)),t)}get(e){return(0,n.gc)(this._observable),this._map.get(e)}has(e){return(0,n.gc)(this._observable),this._map.has(e)}keys(){return(0,n.gc)(this._observable),this._map.keys()}set(e,t){return this._map.set(e,t),this._observable.notify(),this}values(){return(0,n.gc)(this._observable),this._map.values()}[Symbol.iterator](){return(0,n.gc)(this._observable),this._map[Symbol.iterator]()}[Symbol.dispose](){this._observable.destroy()}get[Symbol.toStringTag](){return this._map[Symbol.toStringTag]}}},36708:(e,t,r)=>{r.d(t,{C_:()=>h,OH:()=>p,Vh:()=>y,on:()=>u,pc:()=>g,wB:()=>l,z7:()=>c});var n=r(37955),i=r(36563),s=r(97768),a=r(74887),o=r(14012);function l(e,t,r={}){return d(e,t,r,m)}function c(e,t,r={}){return d(e,t,r,f)}function d(e,t,r={},n){let i=null;const a=r.once?(e,r)=>{n(e)&&((0,s.xt)(i),t(e,r))}:(e,r)=>{n(e)&&t(e,r)};if(i=(0,o.Cn)(e,a,r.sync,r.equals),r.initial){const t=e();a(t,t)}return i}function u(e,t,r,a={}){let o=null,c=null,d=null;function u(){o&&c&&(c.remove(),a.onListenerRemove?.(o),o=null,c=null)}function h(e){a.once&&a.once&&(0,s.xt)(d),r(e)}const m=l(e,((e,r)=>{u(),(0,n.wb)(e)&&(o=e,c=(0,n.on)(e,t,h),a.onListenerAdd?.(e))}),{sync:a.sync,initial:!0});return d=(0,i.hA)((()=>{m.remove(),u()})),d}function h(e,t){return function(e,t,r){if((0,a.G4)(r))return Promise.reject((0,a.NK)());const n=e();if(t?.(n))return Promise.resolve(n);let o=null;function l(){o=(0,s.xt)(o)}return new Promise(((n,s)=>{o=(0,i.vE)([(0,a.u7)(r,(()=>{l(),s((0,a.NK)())})),d(e,(e=>{l(),n(e)}),{sync:!1,once:!0},t??m)])}))}(e,f,t)}function m(e){return!0}function f(e){return!!e}r(80559);const p={sync:!0},y={initial:!0},g={sync:!0,initial:!0}},39357:(e,t,r)=>{r.d(t,{H:()=>l});var n,i=r(90237),s=r(25482),a=r(10107),o=(r(44208),r(53966),r(87811),r(40608));let l=n=class extends s.A{constructor(e){super(e),this.name=null,this.code=null}clone(){return new n({name:this.name,code:this.code})}};(0,i._)([(0,a.MZ)({type:String,json:{write:{isRequired:!0}}})],l.prototype,"name",void 0),(0,i._)([(0,a.MZ)({type:[String,Number],json:{write:{isRequired:!0}}})],l.prototype,"code",void 0),l=n=(0,i._)([(0,o.$)("esri.layers.support.CodedValue")],l)},40268:(e,t,r)=>{r.d(t,{Q:()=>h,R:()=>u});var n=r(35640),i=r(52587),s=r(20693),a=r(14314),o=r(33094),l=r(20304),c=r(31821),d=r(46540);const u=.5;function h(e,t){e.include(i.Y6),e.attributes.add(d.r.POSITION,"vec3"),e.attributes.add(d.r.NORMAL,"vec3"),e.attributes.add(d.r.CENTEROFFSETANDDISTANCE,"vec4");const r=e.vertex;(0,s.NB)(r,t),(0,s.yu)(r,t),r.uniforms.add(new a.I("viewport",(e=>e.camera.fullViewport)),new l.m("polygonOffset",(e=>e.shaderPolygonOffset)),new o.U("cameraGroundRelative",(e=>e.camera.aboveGround?1:-1))),t.hasVerticalOffset&&(0,n.V)(r),r.code.add(c.H`struct ProjectHUDAux {
203
+ vec3 posModel;
204
+ vec3 posView;
205
+ vec3 vnormal;
206
+ float distanceToCamera;
207
+ float absCosAngle;
208
+ };`),r.code.add(c.H`
209
+ float applyHUDViewDependentPolygonOffset(float pointGroundDistance, float absCosAngle, inout vec3 posView) {
210
+ float pointGroundSign = ${t.terrainDepthTest?c.H.float(0):c.H`sign(pointGroundDistance)`};
211
+ if (pointGroundSign == 0.0) {
212
+ pointGroundSign = cameraGroundRelative;
213
+ }
214
+
215
+ // cameraGroundRelative is -1 if camera is below ground, 1 if above ground
216
+ // groundRelative is 1 if both camera and symbol are on the same side of the ground, -1 otherwise
217
+ float groundRelative = cameraGroundRelative * pointGroundSign;
218
+
219
+ // view angle dependent part of polygon offset emulation: we take the absolute value because the sign that is
220
+ // dropped is instead introduced using the ground-relative position of the symbol and the camera
221
+ if (polygonOffset > .0) {
222
+ float cosAlpha = clamp(absCosAngle, 0.01, 1.0);
223
+ float tanAlpha = sqrt(1.0 - cosAlpha * cosAlpha) / cosAlpha;
224
+ float factor = (1.0 - tanAlpha / viewport[2]);
225
+
226
+ // same side of the terrain
227
+ if (groundRelative > 0.0) {
228
+ posView *= factor;
229
+ }
230
+ // opposite sides of the terrain
231
+ else {
232
+ posView /= factor;
233
+ }
234
+ }
235
+
236
+ return groundRelative;
237
+ }
238
+ `),t.draped&&!t.hasVerticalOffset||(0,s.S7)(r),t.draped||(r.uniforms.add(new o.U("perDistancePixelRatio",(e=>Math.tan(e.camera.fovY/2)/(e.camera.fullViewport[2]/2)))),r.code.add(c.H`
239
+ void applyHUDVerticalGroundOffset(vec3 normalModel, inout vec3 posModel, inout vec3 posView) {
240
+ float distanceToCamera = length(posView);
241
+
242
+ // Compute offset in world units for a half pixel shift
243
+ float pixelOffset = distanceToCamera * perDistancePixelRatio * ${c.H.float(u)};
244
+
245
+ // Apply offset along normal in the direction away from the ground surface
246
+ vec3 modelOffset = normalModel * cameraGroundRelative * pixelOffset;
247
+
248
+ // Apply the same offset also on the view space position
249
+ vec3 viewOffset = (viewNormal * vec4(modelOffset, 1.0)).xyz;
250
+
251
+ posModel += modelOffset;
252
+ posView += viewOffset;
253
+ }
254
+ `)),t.screenCenterOffsetUnitsEnabled&&(0,s.Nz)(r),t.hasScreenSizePerspective&&(0,i.OH)(r),r.code.add(c.H`
255
+ vec4 projectPositionHUD(out ProjectHUDAux aux) {
256
+ vec3 centerOffset = centerOffsetAndDistance.xyz;
257
+ float pointGroundDistance = centerOffsetAndDistance.w;
258
+
259
+ aux.posModel = position;
260
+ aux.posView = (view * vec4(aux.posModel, 1.0)).xyz;
261
+ aux.vnormal = normal;
262
+ ${t.draped?"":"applyHUDVerticalGroundOffset(aux.vnormal, aux.posModel, aux.posView);"}
263
+
264
+ // Screen sized offset in world space, used for example for line callouts
265
+ // Note: keep this implementation in sync with the CPU implementation, see
266
+ // - MaterialUtil.verticalOffsetAtDistance
267
+ // - HUDMaterial.applyVerticalOffsetTransformation
268
+
269
+ aux.distanceToCamera = length(aux.posView);
270
+
271
+ vec3 viewDirObjSpace = normalize(cameraPosition - aux.posModel);
272
+ float cosAngle = dot(aux.vnormal, viewDirObjSpace);
273
+
274
+ aux.absCosAngle = abs(cosAngle);
275
+
276
+ ${t.hasScreenSizePerspective&&(t.hasVerticalOffset||t.screenCenterOffsetUnitsEnabled)?"vec3 perspectiveFactor = screenSizePerspectiveScaleFactor(aux.absCosAngle, aux.distanceToCamera, screenSizePerspectiveAlignment);":""}
277
+
278
+ ${t.hasVerticalOffset?t.hasScreenSizePerspective?"float verticalOffsetScreenHeight = applyScreenSizePerspectiveScaleFactorFloat(verticalOffset.x, perspectiveFactor);":"float verticalOffsetScreenHeight = verticalOffset.x;":""}
279
+
280
+ ${t.hasVerticalOffset?c.H`
281
+ float worldOffset = clamp(verticalOffsetScreenHeight * verticalOffset.y * aux.distanceToCamera, verticalOffset.z, verticalOffset.w);
282
+ vec3 modelOffset = aux.vnormal * worldOffset;
283
+ aux.posModel += modelOffset;
284
+ vec3 viewOffset = (viewNormal * vec4(modelOffset, 1.0)).xyz;
285
+ aux.posView += viewOffset;
286
+ // Since we elevate the object, we need to take that into account
287
+ // in the distance to ground
288
+ pointGroundDistance += worldOffset;`:""}
289
+
290
+ float groundRelative = applyHUDViewDependentPolygonOffset(pointGroundDistance, aux.absCosAngle, aux.posView);
291
+
292
+ ${t.screenCenterOffsetUnitsEnabled?"":c.H`
293
+ // Apply x/y in view space, but z in screen space (i.e. along posView direction)
294
+ aux.posView += vec3(centerOffset.x, centerOffset.y, 0.0);
295
+
296
+ // Same material all have same z != 0.0 condition so should not lead to
297
+ // branch fragmentation and will save a normalization if it's not needed
298
+ if (centerOffset.z != 0.0) {
299
+ aux.posView -= normalize(aux.posView) * centerOffset.z;
300
+ }
301
+ `}
302
+
303
+ vec4 posProj = proj * vec4(aux.posView, 1.0);
304
+
305
+ ${t.screenCenterOffsetUnitsEnabled?t.hasScreenSizePerspective?"float centerOffsetY = applyScreenSizePerspectiveScaleFactorFloat(centerOffset.y, perspectiveFactor);":"float centerOffsetY = centerOffset.y;":""}
306
+
307
+ ${t.screenCenterOffsetUnitsEnabled?"posProj.xy += vec2(centerOffset.x, centerOffsetY) * pixelRatio * 2.0 / viewport.zw * posProj.w;":""}
308
+
309
+ // constant part of polygon offset emulation
310
+ posProj.z -= groundRelative * polygonOffset * posProj.w;
311
+ return posProj;
312
+ }
313
+ `)}},40804:(e,t,r)=>{r.d(t,{U:()=>i});var n=r(34727);function i(e,t,r=0){const i=(0,n.qE)(e,0,o);for(let e=0;e<4;e++)t[r+e]=Math.floor(256*l(i*s[e]))}const s=[1,256,65536,16777216],a=[1/256,1/65536,1/16777216,1/4294967296],o=function(e,t=0){let r=0;for(let n=0;n<4;n++)r+=e[t+n]*a[n];return r}(new Uint8ClampedArray([255,255,255,255]));function l(e){return e-Math.floor(e)}},44729:(e,t,r)=>{r.d(t,{n:()=>l});var n=r(66131),i=r(73444),s=r(96285);function a(e){e=e.replaceAll(/LTS|LT|L{1,4}|l{1,4}/g,"[$&]");let t="";const r=/(\[[^[]*\])|(\\)?([Hh]mm(ss)?|Mo|M{1,4}|Do|DDDo|D{1,4}|d{2,4}|do?|w[o|w]?|W[o|W]?|Qo?|N{1,5}|YYYYYY|YYYYY|YYYY|YY|y{2,4}|yo?|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g;for(const n of e.match(r)||[])switch(n){case"D":t+="d";break;case"DD":t+="dd";break;case"DDD":t+="o";break;case"d":t+="c";break;case"ddd":t+="ccc";break;case"dddd":t+="cccc";break;case"M":t+="L";break;case"MM":t+="LL";break;case"MMM":t+="LLL";break;case"MMMM":t+="LLLL";break;case"YY":t+="yy";break;case"Y":case"YYYY":t+="yyyy";break;case"Q":t+="q";break;case"X":case"x":t+=n;break;default:n.length>=2&&"["===n.slice(0,1)&&"]"===n.slice(-1)?t+=`'${n.slice(1,-1)}'`:t+=`'${n}'`}return t}const o="esri.core.sql.dateonly";class l{constructor(e,t,r){this._year=e,this._month=t,this._day=r,this.declaredRootClass=o}static isDateOnly(e){return"object"==typeof e&&null!=e&&"declaredRootClass"in e&&e.declaredRootClass===o}get month(){return this._month}get monthJS(){return this._month-1}get year(){return this._year}get day(){return this._day}get isValid(){return this.toDateTime("unknown").isValid}equals(e){return l.isDateOnly(e)&&e.day===this.day&&e.month===this.month&&e.year===this.year}clone(){return new l(this._year,this._month,this._day)}toDateTime(e){return s.c9.fromObject({day:this.day,month:this.month,year:this.year},{zone:(0,n.mT)(e)})}toDateTimeLuxon(e){return s.c9.fromObject({day:this.day,month:this.month,year:this.year},{zone:(0,n.mT)(e)})}toString(){return`${this.year.toString().padStart(4,"0")}-${this.month.toString().padStart(2,"0")}-${this.day.toString().padStart(2,"0")}`}toFormat(e=null,t=!0){if(null===e||""===e)return this.toString();if(t&&(e=a(e)),!e)return"";const r=this.toDateTime("unknown");return n.lY.dateTimeToArcadeDate(r).toFormat(e,{locale:(0,i.JK)(),numberingSystem:"latn"})}toArcadeDate(){const e=this.toDateTime("unknown");return n.lY.dateTimeToArcadeDate(e)}toNumber(){return this.toDateTime("unknown").toMillis()}toJSDate(){return this.toDateTime("unknown").toJSDate()}toStorageFormat(){return this.toFormat("yyyy-LL-dd",!1)}toSQLValue(){return this.toFormat("yyyy-LL-dd",!1)}toSQLWithKeyword(){return"date '"+this.toFormat("yyyy-LL-dd",!1)+"'"}plus(e,t){return l.fromDateTime(this.toUTCDateTime().plus({[e]:t}))}toUTCDateTime(){return s.c9.utc(this.year,this.month,this.day,0,0,0,0)}difference(e,t){switch(t.toLowerCase()){case"days":case"day":case"d":return this.toUTCDateTime().diff(e.toUTCDateTime(),"days").days;case"months":case"month":return this.toUTCDateTime().diff(e.toUTCDateTime(),"months").months;case"minutes":case"minute":case"m":return"M"===t?this.toUTCDateTime().diff(e.toUTCDateTime(),"months").months:this.toUTCDateTime().diff(e.toUTCDateTime(),"minutes").minutes;case"seconds":case"second":case"s":return this.toUTCDateTime().diff(e.toUTCDateTime(),"seconds").seconds;case"milliseconds":case"millisecond":case"ms":default:return this.toUTCDateTime().diff(e.toUTCDateTime(),"milliseconds").milliseconds;case"hours":case"hour":case"h":return this.toUTCDateTime().diff(e.toUTCDateTime(),"hours").hours;case"years":case"year":case"y":return this.toUTCDateTime().diff(e.toUTCDateTime(),"years").years}}static fromMilliseconds(e){const t=s.c9.fromMillis(e,{zone:s.mQ.utcInstance});return t.isValid?l.fromParts(t.year,t.month,t.day):null}static fromSeconds(e){const t=s.c9.fromSeconds(e,{zone:s.mQ.utcInstance});return t.isValid?l.fromParts(t.year,t.month,t.day):null}static fromReader(e){if(!e)return null;const t=e.split("-");return 3!==t.length?null:new l(parseInt(t[0],10),parseInt(t[1],10),parseInt(t[2],10))}static fromParts(e,t,r){const n=new l(e,t,r);return!1===n.isValid?null:n}static fromDateJS(e){return l.fromParts(e.getFullYear(),e.getMonth()+1,e.getDay())}static fromDateTime(e){return l.fromParts(e.year,e.month,e.day)}static fromSqlTimeStampOffset(e){return this.fromDateTime(e.toDateTime())}static fromString(e,t=null){if(""===e)return null;if(null===e)return null;const r=[];if(t)(t=a(t))&&r.push(t);else if(null===t||""===t){const t=s.c9.fromISO(e,{setZone:!0});return t.isValid?l.fromParts(t.year,t.month,t.day):null}for(const n of r){const r=s.c9.fromFormat(e,t??n);if(r.isValid)return new l(r.year,r.month,r.day)}return null}static fromNow(e="system"){const t=s.c9.fromJSDate(new Date).setZone((0,n.mT)(e));return new l(t.year,t.month,t.day)}}},47522:(e,t,r)=>{r.d(t,{K:()=>s});var n=r(32976),i=r(31821);function s(e){e.uniforms.add(new n.o("alignPixelEnabled",(e=>e.alignPixelEnabled))),e.code.add(i.H`vec4 alignToPixelCenter(vec4 clipCoord, vec2 widthHeight) {
314
+ if (!alignPixelEnabled)
315
+ return clipCoord;
316
+ vec2 xy = vec2(0.500123) + 0.5 * clipCoord.xy / clipCoord.w;
317
+ vec2 pixelSz = vec2(1.0) / widthHeight;
318
+ vec2 ij = (floor(xy * widthHeight) + vec2(0.5)) * pixelSz;
319
+ vec2 result = (ij * 2.0 - vec2(1.0)) * clipCoord.w;
320
+ return vec4(result, clipCoord.zw);
321
+ }`),e.code.add(i.H`vec4 alignToPixelOrigin(vec4 clipCoord, vec2 widthHeight) {
322
+ if (!alignPixelEnabled)
323
+ return clipCoord;
324
+ vec2 xy = vec2(0.5) + 0.5 * clipCoord.xy / clipCoord.w;
325
+ vec2 pixelSz = vec2(1.0) / widthHeight;
326
+ vec2 ij = floor((xy + 0.5 * pixelSz) * widthHeight) * pixelSz;
327
+ vec2 result = (ij * 2.0 - vec2(1.0)) * clipCoord.w;
328
+ return vec4(result, clipCoord.zw);
329
+ }`)}},51624:(e,t,r)=>{r.d(t,{A:()=>u});var n,i,s=r(44208),a=r(69397),o=r(93687);(i=n||(n={}))[i.varint=0]="varint",i[i.fixed64=1]="fixed64",i[i.delimited=2]="delimited",i[i.fixed32=5]="fixed32",i[i.unknown=99]="unknown";const l=4294967296,c=new TextDecoder("utf-8"),d=(0,s.A)("safari")||(0,s.A)("ios")?6:(0,s.A)("ff")?12:32;class u{constructor(e,t,r=0,i=(e?e.byteLength:0)){this._tag=0,this._dataType=n.unknown,this._init(e,t,r,i)}_init(e,t,r,n){this._data=e,this._dataView=t,this._pos=r,this._end=n}get usedMemory(){return 64+(0,a.Qf)(this._data)}asUnsafe(){return this}clone(){return new u(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;if(e=(127&this._data[this._pos])>>>0,this._data[this._pos++]<128)return e;if(e=(e|(127&this._data[this._pos])<<7)>>>0,this._data[this._pos++]<128)return e;if(e=(e|(127&this._data[this._pos])<<14)>>>0,this._data[this._pos++]<128)return e;if(e=(e|(127&this._data[this._pos])<<21)>>>0,this._data[this._pos++]<128)return e;if(e=(e|(15&this._data[this._pos])<<28)>>>0,this._data[this._pos++]<128)return e;throw new Error("Varint overflow")}getUInt64(){return this._decodeVarint()}getSInt32(){const e=this.getUInt32();return e>>>1^-(1&e)}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,r=e.getUint32(t,!0)+e.getUint32(t+4,!0)*l;return this._skip(8),r}getSFixed64(){const e=this._dataView,t=this._pos,r=e.getUint32(t,!0)+e.getInt32(t+4,!0)*l;return this._skip(8),r}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,r=this._toString(this._data,t,t+e);return this._skip(e),r}getBytes(){const e=this._getLength(),t=this._pos,r=this._toBytes(this._data,t,t+e);return this._skip(e),r}getLength(){return this._getLengthUnsafe()}processMessageWithArgs(e,t,r,n){const i=this.getMessage(),s=e(i,t,r,n);return i.release(),s}processMessage(e){const t=this.getMessage(),r=e(t);return t.release(),r}getMessage(){const e=this._getLength(),t=u.pool.acquire();return t._init(this._data,this._dataView,this._pos,this._pos+e),this._skip(e),t}release(){u.pool.release(this)}dataType(){return this._dataType}skip(){switch(this._dataType){case n.varint:this._decodeVarint();break;case n.fixed64:this._skip(8);break;case n.delimited:this._skip(this._getLength());break;case n.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,r=0,n=0;if(this._end-t>=10)do{if(n=e[t++],r|=127&n,!(128&n))break;if(n=e[t++],r|=(127&n)<<7,!(128&n))break;if(n=e[t++],r|=(127&n)<<14,!(128&n))break;if(n=e[t++],r|=(127&n)<<21,!(128&n))break;if(n=e[t++],r+=268435456*(127&n),!(128&n))break;if(n=e[t++],r+=34359738368*(127&n),!(128&n))break;if(n=e[t++],r+=4398046511104*(127&n),!(128&n))break;if(n=e[t++],r+=562949953421312*(127&n),!(128&n))break;if(n=e[t++],r+=72057594037927940*(127&n),!(128&n))break;if(n=e[t++],r+=0x8000000000000000*(127&n),!(128&n))break;throw new Error("Varint too long!")}while(0);else{let i=1;for(;t!==this._end&&(n=e[t],128&n);)++t,r+=(127&n)*i,i*=128;if(t===this._end)throw new Error("Varint overrun!");++t,r+=n*i}return this._pos=t,r}_decodeSVarint(){const e=this._data;let t,r=0,n=0;const i=1&e[this._pos];if(n=e[this._pos++],r|=127&n,!(128&n))return i?-(r+1)/2:r/2;if(n=e[this._pos++],r|=(127&n)<<7,!(128&n))return i?-(r+1)/2:r/2;if(n=e[this._pos++],r|=(127&n)<<14,!(128&n))return i?-(r+1)/2:r/2;if(n=e[this._pos++],r|=(127&n)<<21,!(128&n))return i?-(r+1)/2:r/2;if(n=e[this._pos++],r+=268435456*(127&n),!(128&n))return i?-(r+1)/2:r/2;if(n=e[this._pos++],r+=34359738368*(127&n),!(128&n))return i?-(r+1)/2:r/2;if(n=e[this._pos++],r+=4398046511104*(127&n),!(128&n))return i?-(r+1)/2:r/2;if(t=BigInt(r),n=e[this._pos++],t+=0x2000000000000n*BigInt(127&n),!(128&n))return Number(i?-(t+1n)/2n:t/2n);if(n=e[this._pos++],t+=0x100000000000000n*BigInt(127&n),!(128&n))return Number(i?-(t+1n)/2n:t/2n);if(n=e[this._pos++],t+=0x8000000000000000n*BigInt(127&n),!(128&n))return Number(i?-(t+1n)/2n:t/2n);throw new Error("Varint too long!")}_getLength(){if(this._dataType!==n.delimited)throw new Error("Not a delimited data type!");return this._decodeVarint()}_getLengthUnsafe(){return this.getUInt32()}_toString(e,t,r){if((r=Math.min(this._end,r))-t>d){const n=e.subarray(t,r);return c.decode(n)}let n="",i="";for(let s=t;s<r;++s){const t=e[s];128&t?i+="%"+t.toString(16):(n+=decodeURIComponent(i)+String.fromCharCode(t),i="")}return i.length&&(n+=decodeURIComponent(i)),n}_toBytes(e,t,r){return r=Math.min(this._end,r),new Uint8Array(e.buffer,t,r-t)}static{this.pool=new o.A(u,void 0,(e=>{e._data=null,e._dataView=null}))}}},53177:(e,t,r)=>{r.d(t,{A:()=>u});var n,i=r(90237),s=r(4718),a=r(10107),o=(r(44208),r(53966),r(93223)),l=r(40608),c=r(39357),d=r(76357);let u=class extends d.A{static{n=this}constructor(e){super(e),this.codedValues=null,this.type="coded-value"}getName(e){let t=null;if(this.codedValues){const r=String(e);this.codedValues.some((e=>(String(e.code)===r&&(t=e.name),!!t)))}return t}clone(){return new n({codedValues:(0,s.o8)(this.codedValues),name:this.name})}};(0,i._)([(0,a.MZ)({type:[c.H],json:{write:{isRequired:!0}}})],u.prototype,"codedValues",void 0),(0,i._)([(0,o.e)({codedValue:"coded-value"})],u.prototype,"type",void 0),u=n=(0,i._)([(0,l.$)("esri.layers.support.CodedValueDomain")],u)},53655:(e,t,r)=>{r.d(t,{SH:()=>O,ae:()=>S,cn:()=>_});var n=r(49186),i=r(51624),s=r(92722),a=r(69418);const o=["esriFieldTypeSmallInteger","esriFieldTypeInteger","esriFieldTypeSingle","esriFieldTypeDouble","esriFieldTypeString","esriFieldTypeDate","esriFieldTypeOID","esriFieldTypeGeometry","esriFieldTypeBlob","esriFieldTypeRaster","esriFieldTypeGUID","esriFieldTypeGlobalID","esriFieldTypeXML","esriFieldTypeBigInteger","esriFieldTypeDateOnly","esriFieldTypeTimeOnly","esriFieldTypeTimestampOffset"],l=["sqlTypeBigInt","sqlTypeBinary","sqlTypeBit","sqlTypeChar","sqlTypeDate","sqlTypeDecimal","sqlTypeDouble","sqlTypeFloat","sqlTypeGeometry","sqlTypeGUID","sqlTypeInteger","sqlTypeLongNVarchar","sqlTypeLongVarbinary","sqlTypeLongVarchar","sqlTypeNChar","sqlTypeNVarchar","sqlTypeOther","sqlTypeReal","sqlTypeSmallInt","sqlTypeSqlXml","sqlTypeTime","sqlTypeTimestamp","sqlTypeTimestamp2","sqlTypeTinyInt","sqlTypeVarbinary","sqlTypeVarchar"],c=["upperLeft","lowerLeft"];function d(e){return e>=o.length?null:o[e]}function u(e){return e>=l.length?null:l[e]}function h(e){return e>=c.length?null:c[e]}function m(e,t){return t>=e.geometryTypes.length?null:e.geometryTypes[t]}function f(e,t,r){const n=e.asUnsafe(),i=t.createPointGeometry(r);for(;n.next();)switch(n.tag()){case 3:{const e=n.getUInt32(),r=n.pos()+e;let s=0;for(;n.pos()<r;)t.addCoordinatePoint(i,n.getSInt64(),s++);break}default:n.skip()}return i}function p(e,t,r){const n=e.asUnsafe(),i=t.createGeometry(r),s=2+(r.hasZ?1:0)+(r.hasM?1:0);for(;n.next();)switch(n.tag()){case 2:{const e=n.getUInt32(),r=n.pos()+e;let s=0;for(;n.pos()<r;)t.addLength(i,n.getUInt32(),s++);break}case 3:{const e=n.getUInt32(),r=n.pos()+e;let a=0;for(t.allocateCoordinates(i);n.pos()<r;)t.addCoordinate(i,n.getSInt64(),a),a++,a===s&&(a=0);break}default:n.skip()}return i}function y(e){const t=e.asUnsafe(),r=new s.A;let n="esriGeometryPoint";for(;t.next();)switch(t.tag()){case 2:{const e=t.getUInt32(),n=t.pos()+e;for(;t.pos()<n;)r.lengths.push(t.getUInt32());break}case 3:{const e=t.getUInt32(),n=t.pos()+e;for(;t.pos()<n;)r.coords.push(t.getSInt64());break}case 1:n=a.z[t.getEnum()];break;default:t.skip()}return{queryGeometry:r,queryGeometryType:n}}function g(e){const t=e.asUnsafe();for(;t.next();)switch(t.tag()){case 1:return t.getString();case 2:return t.getFloat();case 3:return t.getDouble();case 4:return t.getSInt32();case 5:return t.getUInt32();case 6:return t.getInt64();case 7:return t.getUInt64();case 8:return t.getSInt64();case 9:return t.getBool();default:return t.skip(),null}return null}function _(e){const t=e.asUnsafe(),r={type:d(0)};for(;t.next();)switch(t.tag()){case 1:r.name=t.getString();break;case 2:r.type=d(t.getEnum());break;case 3:r.alias=t.getString();break;case 4:r.sqlType=u(t.getEnum());break;case 5:default:t.skip();break;case 6:r.defaultValue=t.getString()}return r}function b(e){const t={},r=e.asUnsafe();for(;r.next();)switch(r.tag()){case 1:t.name=r.getString();break;case 2:t.isSystemMaintained=r.getBool();break;default:r.skip()}return t}function v(e,t,r,n){const i=t.createFeature(r);let s=0;for(;e.next();)switch(e.tag()){case 1:{const t=n[s++].name;i.attributes[t]=e.processMessage(g);break}case 2:i.geometry=e.processMessageWithArgs(p,t,r);break;case 4:i.centroid=e.processMessageWithArgs(f,t,r);break;default:e.skip()}return i}function w(e){const t=[1,1,1,1],r=e.asUnsafe();for(;r.next();)switch(r.tag()){case 1:t[0]=r.getDouble();break;case 2:t[1]=r.getDouble();break;case 4:t[2]=r.getDouble();break;case 3:t[3]=r.getDouble();break;default:r.skip()}return t}function x(e){const t=[0,0,0,0],r=e.asUnsafe();for(;r.next();)switch(r.tag()){case 1:t[0]=r.getDouble();break;case 2:t[1]=r.getDouble();break;case 4:t[2]=r.getDouble();break;case 3:t[3]=r.getDouble();break;default:r.skip()}return t}function S(e){const t={originPosition:h(0)},r=e.asUnsafe();for(;r.next();)switch(r.tag()){case 1:t.originPosition=h(r.getEnum());break;case 2:t.scale=r.processMessage(w);break;case 3:t.translate=r.processMessage(x);break;default:r.skip()}return t}function C(e){const t={},r=e.asUnsafe();for(;r.next();)switch(r.tag()){case 1:t.shapeAreaFieldName=r.getString();break;case 2:t.shapeLengthFieldName=r.getString();break;case 3:t.units=r.getString();break;default:r.skip()}return t}function T(e,t){const r=t.createSpatialReference();for(;e.next();)switch(e.tag()){case 1:r.wkid=e.getUInt32();break;case 5:r.wkt=e.getString();break;case 2:r.latestWkid=e.getUInt32();break;case 3:r.vcsWkid=e.getUInt32();break;case 4:r.latestVcsWkid=e.getUInt32();break;default:e.skip()}return r}function I(e,t){const r=t.createFeatureResult(),n=e.asUnsafe();r.geometryType=m(t,0);let i=!1;for(;n.next();)switch(n.tag()){case 1:r.objectIdFieldName=n.getString();break;case 3:r.globalIdFieldName=n.getString();break;case 4:r.geohashFieldName=n.getString();break;case 5:r.geometryProperties=n.processMessage(C);break;case 7:r.geometryType=m(t,n.getEnum());break;case 8:r.spatialReference=n.processMessageWithArgs(T,t);break;case 10:r.hasZ=n.getBool();break;case 11:r.hasM=n.getBool();break;case 12:r.transform=n.processMessage(S);break;case 9:r.exceededTransferLimit=n.getBool();break;case 13:t.addField(r,n.processMessage(_));break;case 15:i||(t.prepareFeatures(r),i=!0),t.addFeature(r,n.processMessageWithArgs(v,t,r,r.fields));break;case 2:r.uniqueIdField=n.processMessage(b);break;default:n.skip()}return t.finishFeatureResult(r),r}function A(e,t){const r={};let n=null;for(;e.next();)switch(e.tag()){case 4:n=e.processMessageWithArgs(y);break;case 1:r.featureResult=e.processMessageWithArgs(I,t);break;default:e.skip()}return null!=n&&r.featureResult&&t.addQueryGeometry(r,n),r}function O(e,t){try{const r=2,n=new i.A(new Uint8Array(e),new DataView(e)),s={};for(;n.next();)n.tag()===r?s.queryResult=n.processMessageWithArgs(A,t):n.skip();return s}catch(e){throw new n.A("query:parsing-pbf","Error while parsing FeatureSet PBF payload",{error:e})}}},55674:(e,t,r)=>{r.d(t,{Ad:()=>m,Gj:()=>y,QY:()=>h,lL:()=>g,xR:()=>f});var n=r(66131),i=r(49186),s=(r(44208),r(44729)),a=r(15032),o=r(65864),l=r(95466),c=r(43668),d=r(98623);const u=["geometry","scale","timeProperties"];function h(e,t){if(null!=t)for(const r of u)t.hasArcadeDependency(r)&&e.add(r);return e}function m(e,t){return p.create(e,t,null,["$feature","$view"])}function f(e,t,r){return p.create(e,t,r,["$feature","$view","$config"])}class p{static async create(e,t,r,n){const{arcade:s,Dictionary:a}=await(0,c.l)();let o;try{o=s.parseScript(e)}catch(t){throw new i.A("arcade-bad-expression","Failed to parse arcade script",{script:e,error:t})}const l=s.scriptUsesGeometryEngine(o);l&&await s.enableGeometrySupport(),await s.loadDependentModules(new Set,o,null,!1,l);const d={vars:n.reduce(((e,t)=>({...e,[t]:null})),{}),spatialReference:t,useAsync:!1},u=s.compileScript(o,d);let h=null;null!=r&&(h=new a(r),h.immutable=!0);const m=new a;return m.immutable=!1,m.setField("scale",0),new p(e,s,o,u,t,m,h,a)}constructor(e,t,r,n,i,s,a,o){this.script=e,this._arcade=t,this._syntaxTree=r,this._compiled=n,this._spatialReference=i,this._viewDict=s,this._configDict=a,this._dictionaryCtor=o,this._dependencies=new Map,this._featureReader=new y,this._dependencies.set("geometry",t.scriptTouchesGeometry(this._syntaxTree)),this._dependencies.set("scale",this._arcade.referencesMember(this._syntaxTree,"scale")),this._dependencies.set("timeProperties",this._arcade.scriptUsesViewProperties(this._syntaxTree,["timeProperties"]))}evaluate(e,t){const r=t.$view?.timeZone;if(t.$view){let e;if(this._viewDict.setField("scale",t.$view.scale),null!=t.$view.timeProperties){const{currentStart:i,currentEnd:s}=t.$view.timeProperties;e=new this._dictionaryCtor({currentStart:null!=i?null!=r?n.lY.epochToArcadeDate(i,r):n.lY.unknownEpochToArcadeDate(i):void 0,currentEnd:null!=s?null!=r?n.lY.epochToArcadeDate(s,r):n.lY.unknownEpochToArcadeDate(s):void 0,startIncluded:!0,endIncluded:!0})}this._viewDict.setField("timeProperties",e)}return this._compiled({vars:{$view:this._viewDict,$config:this._configDict,$feature:e},spatialReference:this._spatialReference,timeZone:r})}repurposeFeature(e,t){return this._featureReader.bind(e,t,this._spatialReference),this._featureReader}references(e){return this._dependencies.get(e)??!1}}class y{constructor(){this._boundTarget=null,this._boundSchema={fields:null,fieldsIndex:null,spatialReference:null,get geometryType(){return null},get objectIdField(){return null}},this.arcadeDeclaredClass="esri.arcade.Feature",this._contextTimeZone=null}bind(e,t,r){const n=t??new l.A(g(e.attributes));this._boundTarget=e,this._boundSchema.fields=n.fields,this._boundSchema.fieldsIndex=n,this._boundSchema.spatialReference=r}_getField(e){return this._boundSchema.fieldsIndex.get(e)}get contextTimeZone(){return this._contextTimeZone}set contextTimeZone(e){this._contextTimeZone=e}readArcadeFeature(){return this}hasField(e){return this._boundSchema.fieldsIndex.has(e)}geometry(){if("fromJSON"in this._boundTarget)return this._boundTarget.geometry;const e=(0,o.rS)(this._boundTarget.geometry);if(e){if(!this._boundSchema.spatialReference)throw new Error("InternalError: Expected spatial reference to be defined");e.spatialReference=this._boundSchema.spatialReference}return e}isUnknownDateTimeField(e){return this._boundSchema.fieldsIndex.getTimeZone(e)===d.L5}field(e,t=!0){const r=this._getField(e);if(r)switch(r.type){case"date-only":case"esriFieldTypeDateOnly":return s.n.fromReader(this._boundTarget.attributes[r.name]);case"time-only":case"esriFieldTypeTimeOnly":return a.k.fromReader(this._boundTarget.attributes[r.name]);case"esriFieldTypeTimestampOffset":case"timestamp-offset":return n.lY.fromReaderAsTimeStampOffset(this._boundTarget.attributes[r.name]);case"date":case"esriFieldTypeDate":{const t=this._boundTarget.attributes[r.name];return this.isUnknownDateTimeField(e)?n.lY.unknownEpochToArcadeDate(t):n.lY.epochToArcadeDate(t,this.contextTimeZone??d.qU)}default:return this._boundTarget.attributes[r.name]}if(t)throw new Error(`Field ${e} does not exist`);return null}setField(e,t){throw new Error("Unable to update feature attribute values, feature is readonly")}keys(){return this._boundSchema.fieldsIndex.fields.map((e=>e.name))}castToText(e=!1){return JSON.stringify(this._boundTarget)}gdbVersion(){return null}fullSchema(){return this._boundSchema}castAsJson(e=null){return{attributes:this._boundTarget.attributes,geometry:!0===e?.keepGeometryType?this.geometry():this.geometry()?.toJSON()??null}}castAsJsonAsync(e=null,t=null){return Promise.resolve(this.castAsJson(t))}}function g(e){const t=[];for(const r in e)t.push({name:r,alias:r,type:"string"==typeof e[r]?"esriFieldTypeString":"esriFieldTypeDouble"});return t}},58501:(e,t,r)=>{r.d(t,{q:()=>i});var n=r(62815);function i(e,t,r){if(!r?.features||!r.hasZ)return;const i=(0,n.N)(r.geometryType,t,e.outSpatialReference);if(null!=i)for(const e of r.features)i(e.geometry)}},60999:(e,t,r)=>{r.d(t,{DZ:()=>f,Ke:()=>m,Tj:()=>d,UT:()=>p,jJ:()=>c});var n=r(90237),i=r(69622),s=r(97768),a=r(74887),o=r(10107),l=r(40608);function c(e,t,r){return(0,a.Lx)(e.map(((e,n)=>t.apply(r,[e,n]))))}async function d(e,t,r){return(await(0,a.Lx)(e.map(((e,n)=>t.apply(r,[e,n]))))).map((e=>e.value))}function u(e){return{ok:!0,value:e}}function h(e){return{ok:!1,error:e}}async function m(e){if(null==e)return{ok:!1,error:new Error("no promise provided")};try{return u(await e)}catch(e){return h(e)}}async function f(e){try{return u(await e)}catch(e){return(0,a.QP)(e),h(e)}}function p(e,t){return new y(e,t)}let y=class extends i.A{get value(){return null!=(e=this._result)&&!0===e.ok?e.value:null;var e}get error(){return null!=(e=this._result)&&!1===e.ok?e.error:null;var e}get finished(){return null!=this._result}constructor(e,t){super({}),this._result=null,this._abortHandle=null,this.abort=()=>{this._abortController=(0,s.DC)(this._abortController)},this.remove=this.abort,this._abortController=new AbortController;const{signal:r}=this._abortController;this.promise=e(r),this.promise.then((e=>{this._result=u(e),this._cleanup()}),(e=>{this._result=h(e),this._cleanup()})),this._abortHandle=(0,a.u7)(t,this.abort)}normalizeCtorArgs(){return{}}destroy(){this.abort()}_cleanup(){this._abortHandle=(0,s.xt)(this._abortHandle),this._abortController=null}};(0,n._)([(0,o.MZ)()],y.prototype,"value",null),(0,n._)([(0,o.MZ)()],y.prototype,"error",null),(0,n._)([(0,o.MZ)()],y.prototype,"finished",null),(0,n._)([(0,o.MZ)()],y.prototype,"promise",void 0),(0,n._)([(0,o.MZ)()],y.prototype,"_result",void 0),y=(0,n._)([(0,l.$)("esri.core.asyncUtils.ReactiveTask")],y)},62258:(e,t,r)=>{var n,i;(i=n||(n={}))[i.MIN=0]="MIN",i[i.MINMAX=1]="MINMAX",i[i.ALL=2]="ALL"},63578:(e,t,r)=>{r.d(t,{I:()=>a});var n=r(47522),i=r(96598),s=r(31821);function a(e,t){const{vertex:r,fragment:a}=e;e.include(i.Z,t),r.include(n.K),r.main.add(s.H`vec4 posProjCenter;
330
+ if (dot(position, position) > 0.0) {
331
+ ProjectHUDAux projectAux;
332
+ vec4 posProj = projectPositionHUD(projectAux);
333
+ posProjCenter = alignToPixelCenter(posProj, viewport.zw);
334
+ forwardViewPosDepth(projectAux.posView);
335
+ vec3 vpos = projectAux.posModel;
336
+ if (rejectBySlice(vpos)) {
337
+ posProjCenter = vec4(1e038, 1e038, 1e038, 1.0);
338
+ }
339
+ } else {
340
+ posProjCenter = vec4(1e038, 1e038, 1e038, 1.0);
341
+ }
342
+ gl_Position = posProjCenter;
343
+ gl_PointSize = 1.0;`),a.main.add(s.H`fragColor = vec4(1);
344
+ if(discardByTerrainDepth()) {
345
+ fragColor.g = 0.5;
346
+ }`)}},65215:(e,t,r)=>{r.d(t,{H:()=>n,R:()=>i});class n{constructor(e){this.layerViewUid=e}}class i extends n{constructor(e,t){super(e),this.graphicUid=t}}},65494:(e,t,r)=>{r.d(t,{L:()=>l,r:()=>a});var n=r(67076),i=r(90360),s=r(41214);function a(e,t){return l(e,null,t)}const o=(0,i.C)({types:s.Hg});function l(e,t,r){return e?e&&(e.styleName||e.styleUrl)&&"uniqueValue"!==e.type?(r?.messages&&r.messages.push(new n.A("renderer:unsupported","Only UniqueValueRenderer can be referenced from a web style, but found '"+e.type+"'",{definition:e,context:r})),null):o(e,t,r):null}},65806:(e,t,r)=>{r.d(t,{g:()=>a});var n=r(51850),i=r(80586),s=r(9762);function a(e,t,r,n){if((0,i.canProjectWithoutEngine)(e.spatialReference,r)){o[0]=e.x,o[1]=e.y;const i=e.z;return o[2]=i??n??0,(0,s.projectBuffer)(o,e.spatialReference,0,t,r,0)}const a=(0,i.tryProjectWithZConversion)(e,r);return!!a&&(t[0]=a?.x,t[1]=a?.y,t[2]=a?.z??n??0,!0)}const o=(0,n.vt)()},66131:(e,t,r)=>{r.d(t,{lY:()=>u,mT:()=>h});var n,i=r(799),s=r(3330),a=r(96285);(n||(n={})).TimeZoneNotRecognized="TimeZoneNotRecognized";const o={[n.TimeZoneNotRecognized]:"Timezone identifier has not been recognized."};class l extends Error{constructor(e,t){super((0,i.HC)(o[e],t)),this.declaredRootClass="esri.arcade.arcadedate.dateerror",Error.captureStackTrace&&Error.captureStackTrace(this,l)}}function c(e,t,r){return e<t?e-t:e>r?e-r:0}function d(e,t,r){return e<t?t:e>r?r:e}class u{constructor(e){this._date=e,this.declaredRootClass="esri.arcade.arcadedate"}static fromParts(e=0,t=1,r=1,n=0,i=0,s=0,o=0,l){if(isNaN(e)||isNaN(t)||isNaN(r)||isNaN(n)||isNaN(i)||isNaN(s)||isNaN(o))return null;const m=a.c9.local(e,t).daysInMonth;let f=a.c9.fromObject({day:d(r,1,m),year:e,month:d(t,1,12),hour:d(n,0,23),minute:d(i,0,59),second:d(s,0,59),millisecond:d(o,0,999)},{zone:h(l)});return f=f.plus({months:c(t,1,12),days:c(r,1,m),hours:c(n,0,23),minutes:c(i,0,59),seconds:c(s,0,59),milliseconds:c(o,0,999)}),new u(f)}static get systemTimeZoneCanonicalName(){return Intl.DateTimeFormat().resolvedOptions().timeZone??"system"}static arcadeDateAndZoneToArcadeDate(e,t){const r=h(t);return e.isUnknownTimeZone||r===s.GB.instance?u.fromParts(e.year,e.monthJS+1,e.day,e.hour,e.minute,e.second,e.millisecond,r):new u(e._date.setZone(r))}static dateJSToArcadeDate(e){return new u(a.c9.fromJSDate(e,{zone:"system"}))}static dateJSAndZoneToArcadeDate(e,t="system"){const r=h(t);return new u(a.c9.fromJSDate(e,{zone:r}))}static unknownEpochToArcadeDate(e){return new u(a.c9.fromMillis(e,{zone:s.GB.instance}))}static unknownDateJSToArcadeDate(e){return new u(a.c9.fromMillis(e.getTime(),{zone:s.GB.instance}))}static epochToArcadeDate(e,t="system"){const r=h(t);return new u(a.c9.fromMillis(e,{zone:r}))}static dateTimeToArcadeDate(e){return new u(e)}clone(){return new u(this._date)}changeTimeZone(e){const t=h(e);return u.dateTimeToArcadeDate(this._date.setZone(t))}static dateTimeAndZoneToArcadeDate(e,t){const r=h(t);return e.zone===s.GB.instance||r===s.GB.instance?u.fromParts(e.year,e.month,e.day,e.hour,e.minute,e.second,e.millisecond,r):new u(e.setZone(r))}static nowToArcadeDate(e){const t=h(e);return new u(a.c9.fromJSDate(new Date,{zone:t}))}static nowUTCToArcadeDate(){return new u(a.c9.utc())}get isSystem(){return"system"===this.timeZone||this.timeZone===u.systemTimeZoneCanonicalName}equals(e){return this.isSystem&&e.isSystem?this.toNumber()===e.toNumber():this.isUnknownTimeZone===e.isUnknownTimeZone&&this._date.equals(e._date)}get isUnknownTimeZone(){return this._date.zone===s.GB.instance}get isValid(){return this._date.isValid}get hour(){return this._date.hour}get second(){return this._date.second}get day(){return this._date.day}get dayOfWeekISO(){return this._date.weekday}get dayOfWeekJS(){let e=this._date.weekday;return e>6&&(e=0),e}get millisecond(){return this._date.millisecond}get monthISO(){return this._date.month}get weekISO(){return this._date.weekNumber}get yearISO(){return this._date.weekYear}get monthJS(){return this._date.month-1}get year(){return this._date.year}get minute(){return this._date.minute}get zone(){return this._date.zone}get timeZoneOffset(){return this.isUnknownTimeZone?0:this._date.offset}get timeZone(){if(this.isUnknownTimeZone)return"unknown";if("system"===this._date.zone.type)return"system";const e=this.zone;return"fixed"===e.type?0===e.fixed?"UTC":e.formatOffset(0,"short"):e.name}stringify(){return JSON.stringify(this.toJSDate())}plus(e){return new u(this._date.plus(e))}diff(e,t="milliseconds"){return this._date.diff(e._date,t)[t]}toISODate(){return this._date.toISODate()}toISOString(e){return e?this._date.toISO({suppressMilliseconds:!0,includeOffset:!this.isUnknownTimeZone}):this._date.toISO({includeOffset:!this.isUnknownTimeZone})}toISOTime(e,t){return this._date.toISOTime({suppressMilliseconds:e,includeOffset:t&&!this.isUnknownTimeZone})}toFormat(e,t){return this.isUnknownTimeZone&&(e=e.replaceAll("Z","")),this._date.toFormat(e,t)}toJSDate(){return this._date.toJSDate()}toSQLValue(){return this._date.toFormat("yyyy-LL-dd HH:mm:ss")}toSQLWithKeyword(){return`timestamp '${this.toSQLValue()}'`}toDateTime(){return this._date}toNumber(){return this._date.toMillis()}getTime(){return this._date.toMillis()}toUTC(){return new u(this._date.toUTC())}toLocal(){return new u(this._date.toLocal())}toString(){return this.toISOString(!0)}static fromReaderAsTimeStampOffset(e){if(!e)return null;const t=a.c9.fromISO(e,{setZone:!0});return new u(t)}}function h(e,t=!0){if(e instanceof a.bo)return e;if("system"===e.toLowerCase())return"system";if("utc"===e.toLowerCase())return"UTC";if("unknown"===e.toLowerCase())return s.GB.instance;if(/^[+-]?[0-9]{1,2}([:][0-9]{2})?$/.test(e)){const t=a.mQ.parseSpecifier("UTC"+(e.startsWith("+")||e.startsWith("-")?"":"+")+e);if(t)return t}const r=a.oh.create(e);if(!r.isValid){if(t)throw new l(n.TimeZoneNotRecognized);return null}return r}},66208:(e,t,r)=>{r.d(t,{m:()=>i});var n=r(53655);function i(e,t){const r=(0,n.SH)(e,t),i=r.queryResult.featureResult,s=r.queryResult.queryGeometry,a=r.queryResult.queryGeometryType;if(i&&i.features&&i.features.length&&i.objectIdFieldName){const e=i.objectIdFieldName;for(const t of i.features)t.attributes&&(t.objectId=t.attributes[e])}return i&&(i.queryGeometry=s,i.queryGeometryType=a),i}},66357:(e,t,r)=>{r.r(t),r.d(t,{default:()=>ln});var n=r(90237),i=r(65529),s=r(74887),a=r(36708),o=r(10107),l=r(44208),c=(r(53966),r(87811),r(40608)),d=r(5443),u=r(80586),h=r(16930),m=r(68298),f=r(61956),p=r(65494);class y{constructor(e,t,r){this.renderCommandContext=e,this.renderCommandBuffer=t,this.pipelineStateCommands=r}append(e){this.appendRenderCommands(e.renderCommandBuffer),this.appendPipelineStateCommands(e.pipelineStateCommands)}appendRenderCommands(e){this.renderCommandBuffer.commands.push(...e.commands),this.renderCommandBuffer.transferList.push(...e.transferList)}appendPipelineStateCommand(e){this.pipelineStateCommands.push(e)}appendPipelineStateCommands(e){for(const t of e)this.appendPipelineStateCommand(t)}async execute(){for(const e of this.pipelineStateCommands)e();await this.renderCommandContext.dispatchRenderCommands(this.renderCommandBuffer)}static create(e,t=[]){return new y(e,e.createRenderCommandBuffer(),t)}}var g=r(68197),_=r(18574),b=r(87403),v=r(28975);function w(){return new _.A({material:new v.N({color:new g.A("red")})})}var x=r(9093),S=r(51850),C=r(91829),T=r(6847),I=r(83047),A=r(58083),O=(r(87317),r(70328)),R=r(19419);r(12359),r(95108),r(27615),r(52106),r(4718),r(34275),r(65864);var P=r(37585),D=r(48163),F=r(34727),M=r(26857);new Map,(()=>{let e="";for(let t=32;t<127;t++)e+=String.fromCharCode(t)})();const E=[];{const e=16;for(let t=0;t<360;t+=360/e)E.push([Math.cos(Math.PI*t/180),Math.sin(Math.PI*t/180)])}var U,k;(k=U||(U={}))[k.Left=0]="Left",k[k.Center=1]="Center",k[k.Right=2]="Right",Object.freeze({left:0,center:.5,right:1});const L=Object.freeze({"bottom-left":(0,D.fA)(0,0),bottom:(0,D.fA)(.5,0),"bottom-right":(0,D.fA)(1,0),left:(0,D.fA)(0,.5),center:(0,D.fA)(.5,.5),right:(0,D.fA)(1,.5),"top-left":(0,D.fA)(0,1),top:(0,D.fA)(.5,1),"top-right":(0,D.fA)(1,1)});var B=r(9762),V=r(27993);function z(e){const{featureCount:t}=e;if(0===t)return new Uint32Array;const r=new Uint32Array(t);return e.getObjectIdsArray(r),r}function j(e){const{featureCount:t}=e;if(0===t)return new Float64Array;const r=new Float64Array(3*t);return e.getCoordinatesArray(r),r}function N(e,t){const r=t.viewSpatialReference,n=t.renderSpatialReference,{extent:i}=e,s=(0,R.gX)(i),a=(0,S.vt)();return(0,V.F)([s[0],s[1],0],r,a,n),a}var q=r(97146);function H(e){const t=new Map;for(const[r,n]of e)t.set(r,{...n,indices:(0,q.Dg)(n.indices)});return t}var G=r(40804),$=(r(48833),r(63907));const Y=(0,C.CN)(.25,.25,.75,.75);function Z(e){return"cross"===e||"x"===e}function J(e,t=128,r=.5*t,n=0){switch(e){case"circle":default:return function(e,t){const r=e/2-.5;return ee(e,Q(r,r,t/2))}(t,r);case"square":return function(e,t){return W(e,t,!1)}(t,r);case"cross":return function(e,t,r=0){return X(e,t,!1,r)}(t,r,n);case"x":return function(e,t,r=0){return X(e,t,!0,r)}(t,r,n);case"kite":return function(e,t){return W(e,t,!0)}(t,r);case"triangle":return function(e,t){return ee(e,K(e/2,t,t/2))}(t,r);case"arrow":return function(e,t){const r=t,n=t/2,i=e/2,s=.8*r,a=Q(i,(e-t)/2-s,Math.sqrt(s*s+n*n)),o=K(i,r,n);return ee(e,((e,t)=>Math.max(o(e,t),-a(e,t))))}(t,r)}}function W(e,t,r){return r&&(t/=Math.SQRT2),ee(e,((n,i)=>{let s=n-.5*e+.25,a=.5*e-i-.75;if(r){const e=(s+a)/Math.SQRT2;a=(a-s)/Math.SQRT2,s=e}return Math.max(Math.abs(s),Math.abs(a))-.5*t}))}function X(e,t,r,n=0){t-=n,r&&(t*=Math.SQRT2);const i=.5*t;return ee(e,((t,s)=>{let a,o=t-.5*e,l=.5*e-s-1;if(r){const e=(o+l)/Math.SQRT2;l=(l-o)/Math.SQRT2,o=e}return o=Math.abs(o),l=Math.abs(l),a=o>l?o>i?Math.sqrt((o-i)*(o-i)+l*l):l:l>i?Math.sqrt(o*o+(l-i)*(l-i)):o,a-=n/2,a}))}function Q(e,t,r){return(n,i)=>{const s=n-e,a=i-t;return Math.sqrt(s*s+a*a)-r}}function K(e,t,r){const n=Math.sqrt(t*t+r*r);return(i,s)=>{const a=Math.abs(i-e)-r,o=s-e+t/2+.75,l=(t*a+r*o)/n,c=-o;return Math.max(l,c)}}function ee(e,t){const r=new Uint8Array(4*e*e);for(let n=0;n<e;n++)for(let i=0;i<e;i++){const s=i+e*n;let a=t(i,n);a=a/e+.5,(0,G.U)(a,r,4*s)}return r}var te=r(46610),re=r(46540);class ne{constructor(e,t){this._context=null,this._symbolLayer=null,this._draped=!1,this._loaded=!1,this._loadingPromise=null,this._iconTextureID=null,this._materialId=null,this._context=t,this._symbolLayer=e}get loaded(){return this._loaded}load(){return null==this._loadingPromise&&(this._loadingPromise=this._load()),this._loadingPromise}_destroy(){this._iconTextureID=null}async _load(){const e=this._context.renderCommandContext,t=await e.createTexture((()=>function(e,t=128,r=.5*t,n=0){return{data:J(e,t,r,n),parameters:{mipmap:!1,wrap:{s:$.pF.CLAMP_TO_EDGE,t:$.pF.CLAMP_TO_EDGE},width:t,height:t,components:4,noUnpackFlip:!0,reloadable:!0}}}("circle")));this._iconTextureID=t;const r={anchorPosition:L.center,occlusionTest:!0,hasSlicePlane:!1,color:this._getFillColor(),outlineColor:this._getOutlineColor(),outlineSize:1,distanceFieldBoundingBox:Y,textureId:t,textureIsSignedDistanceField:!0,sampleSignedDistanceFieldTexelCenter:Z("circle")};this._materialId=await e.createMaterial({type:"hud",parameters:r}),await e.createDirectRenderer(this._materialId),this._loaded=!0}async createAddCommand(e){const{_materialId:t,_context:r}=this,{renderCommandContext:n}=r;if(null==t)throw new Error("expected material not to be null");const i=await this._createGeometry(e);if(null==i)return r.createPipelineCommand();const s=N(e,r);return r.createPipelineCommand(n.addDirectRendererGeometry(e.id,i,s))}async _createGeometry(e){const{_materialId:t,_context:r}=this,{mainThreadDelegate:n}=r,{featureCount:i}=e;if(0===i||null==t)return null;const s=z(e),a=j(e),o=function(e,t){const r=e.length/3,n=t.viewSpatialReference,i=t.renderSpatialReference,s=new Float64Array(3*r);if(!(0,B.projectBuffer)(e,n,0,s,i,0,r))throw new Error("Failed to project coordinates");return s}(await n.applyElevationAlignmentTo(a),r),l=new Float64Array([0,0,1]),c=new Float64Array([255,255,255,255]),d=new Float64Array([24,24]),u=new Float64Array([0,0,0,1]),h=new Float64Array([0,0]),m=new Float64Array([0]),f=new Uint32Array(i);for(let e=0;e<i;++e)f[e]=e;const p=new Uint32Array(i);for(let e=0;e<i;++e)p[e]=0;const y=new te.n(o,f,3,!0),g=new te.n(l,p,3,!0),_=new te.n(h,p,2,!0),b=new te.n(c,p,4,!0),v=new te.n(m,p,1,!0),w=new te.n(d,p,2,!0),S=new te.n(u,p,4,!0),C=[[re.r.POSITION,y],[re.r.NORMAL,g],[re.r.UV0,_],[re.r.COLOR,b],[re.r.ROTATION,v],[re.r.SIZE,w],[re.r.CENTEROFFSETANDDISTANCE,S]],T=new Uint8Array(i);return e.getVisibilityArray(T),{attributes:H(C),objectAndLayerIdColor:void 0,transformation:(0,x.vt)(),materialId:t,objectIds:s,visibilities:T}}async createRemoveCommand(e){const{_materialId:t,_context:r}=this,n=r.renderCommandContext;return null==t?r.createPipelineCommand():r.createPipelineCommand(n.removeDirectRendererGeometryBuffer(t,e))}async createUpdateVisibilityCommand(e){const{_materialId:t,_context:r}=this,n=r.renderCommandContext;if(null==t)return r.createPipelineCommand();const i=new Uint8Array(e.featureCount);return e.getVisibilityArray(i),r.createPipelineCommand(n.updateVisibility(t,e.id,i))}async createUpdateLayerViewOpacityCommand(e){const{_context:t,_materialId:r}=this,n=t.renderCommandContext;return null==r?t.createPipelineCommand():t.createPipelineCommand(n.updateMaterial({type:"hud",materialId:r,parameters:{color:this._getFillColor(),outlineColor:this._getOutlineColor()}}))}async createUpdateElevationCommand(e){const{_materialId:t,_context:r}=this,{renderCommandContext:n}=r,{featureCount:i,id:s}=e;if(null==t||0===i)return r.createPipelineCommand();const a=await this._createGeometry(e);if(null==a)return r.createPipelineCommand();const o=N(e,r);return r.createPipelineCommand(n.updateDirectRendererGeometry(s,a,o))}async createDestroyCommand(){const{_iconTextureID:e,_context:t}=this,r=t.renderCommandContext;let n;return n=null!=e?await r.releaseTexture(e):y.create(r),n.appendPipelineStateCommand((()=>this._destroy())),n}_getOutlineColor(){const e=this._getLayerOpacity(),t=this._symbolLayer,r=t?.outline?.color;if(null!=r){const t=g.A.toUnitRGB(r),n=r.a*e;return[t[0],t[1],t[2],n]}return[0,0,0,0]}_getFillColor(){if(function(e){return null!=e&&("cross"===e||"x"===e)}(this._getPrimitive()))return se;const e=null==this._getPrimitive(),t=this._symbolLayer?.material?.color;return this._getCombinedOpacityAndColor(t,{hasIntrinsicColor:e})}_getLayerOpacity(){return this._context.layerViewInfo.fullOpacity}_getCombinedOpacity(e,t=ie){const r=this._draped?1:this._getLayerOpacity();return e?r*e.a:t.hasIntrinsicColor?r:0}_getCombinedOpacityAndColor(e,t=ie){const r=this._getCombinedOpacity(e,t);return function(e,t,r=null){const n=(0,C.o8)(C.Un);return null!=e&&(n[0]=e[0],n[1]=e[1],n[2]=e[2]),null!=t?n[3]=t:null!=e&&e.length>3&&(n[3]=e[3]),r&&(n[0]*=r,n[1]*=r,n[2]*=r,n[3]*=r),n}(null!=e?g.A.toUnitRGB(e):S.Un,r)}_getPrimitive(){return e=this._symbolLayer,e.resource?.href?null:e.resource?.primitive??T.r;var e}}const ie={hasIntrinsicColor:!1},se=C.uY;class ae{constructor(e,t){this._loaded=!1,this._loadingPromise=null,this._context=null,this._symbol=null,this._symbolLayerRenderers=[],this._context=t,this._symbol=e}_destroy(){}get loaded(){return this._loaded}load(){return null==this._loadingPromise&&(this._loadingPromise=this._load()),this._loadingPromise}async _load(){const{_context:e,_symbol:t,_symbolLayerRenderers:r}=this,n=[];for(const i of t.symbolLayers){const t=e.symbolRendererFactory.createSymbolRendererFromSymbolLayer(i);null!=t&&(n.push(t.load()),r.push(t))}await Promise.all(n),this._loaded=!0}async createDestroyCommand(){const{_context:e,_symbolLayerRenderers:t}=this,r=[];for(const e of t)r.push(e.createDestroyCommand());const n=e.joinPipelineCommands(await Promise.all(r));return n.appendPipelineStateCommand((()=>this._destroy())),n}async createAddCommand(e){const{_context:t,_symbolLayerRenderers:r}=this,n=[];for(const t of r)n.push(t.createAddCommand(e));return t.joinPipelineCommands(await Promise.all(n))}async createRemoveCommand(e){const{_context:t,_symbolLayerRenderers:r}=this,n=[];for(const t of r)n.push(t.createRemoveCommand(e));return t.joinPipelineCommands(await Promise.all(n))}async createUpdateVisibilityCommand(e){const{_context:t,_symbolLayerRenderers:r}=this,n=[];for(const t of r)n.push(t.createUpdateVisibilityCommand(e));return t.joinPipelineCommands(await Promise.all(n))}async createUpdateLayerViewOpacityCommand(e){const{_context:t,_symbolLayerRenderers:r}=this,n=[];for(const t of r)n.push(t.createUpdateLayerViewOpacityCommand(e));return t.joinPipelineCommands(await Promise.all(n))}async createUpdateElevationCommand(e){const{_context:t,_symbolLayerRenderers:r}=this,n=[];for(const t of r)n.push(t.createUpdateElevationCommand(e));return t.joinPipelineCommands(await Promise.all(n))}}class oe{constructor(e,t){this._symbol=null,this._featureData=new Map,this._loaded=!1,this._loadingPromise=null,this._renderer=null,this._context=t,this._renderer=e}async load(){return null==this._loadingPromise&&(this._loadingPromise=this._load()),this._loadingPromise}async _load(){const{_renderer:e,_context:t}=this;this._symbol=t.symbolRendererFactory.createSymbolRendererFromSymbol(e.symbol),this._loaded=!0}get loaded(){return this._loaded}async createAddCommand(e){const t=this._context,r=await this._provisionSymbol(),n=null==r?t.createPipelineCommand():await r.createAddCommand(e);return n.appendPipelineStateCommand((()=>this._featureData.set(e.id,e))),n}async createRemoveCommand(e){const t=this._context,r=await this._provisionSymbol(),n=null==r?t.createPipelineCommand():await r.createRemoveCommand(e);return n.appendPipelineStateCommand((()=>this._featureData.delete(e))),n}async createUpdateVisibilityCommand(e){const t=this._context,r=await this._provisionSymbol();return null==r?t.createPipelineCommand():await r.createUpdateVisibilityCommand(e)}async createUpdateLayerViewOpacityCommand(e){const t=this._context,r=await this._provisionSymbol();return null==r?t.createPipelineCommand():await r.createUpdateLayerViewOpacityCommand(e)}async createUpdateElevationCommand(){const{_featureData:e,_context:t}=this,r=await this._provisionSymbol();if(null==r)return t.createPipelineCommand();const n=[];for(const t of e.values())n.push(r.createUpdateElevationCommand(t));const i=await Promise.all(n);return t.joinPipelineCommands(i)}async createDestroyCommand(){const{_symbol:e,_context:t,_featureData:r}=this;if(!e)return t.createPipelineCommand();const n=[];for(const e of r.keys())n.push(this.createRemoveCommand(e));n.push(e.createDestroyCommand());const i=await Promise.all(n);return t.joinPipelineCommands(i)}async _provisionSymbol(){const e=this._symbol;return e?(e.loaded||await e.load(),e):null}}var le,ce,de=r(48353),ue=r(30809),he=r(8887),me=r(38954),fe=r(72385),pe=(r(4197),r(11868)),ye=r(240);r(71351),(ce=le||(le={})).length=function(e,t){const r=e[t],n=e[t+1],i=e[t+2];return Math.sqrt(r*r+n*n+i*i)},ce.normalize=function(e,t){const r=e[t],n=e[t+1],i=e[t+2],s=1/Math.sqrt(r*r+n*n+i*i);e[t]*=s,e[t+1]*=s,e[t+2]*=s},ce.scale=function(e,t,r){e[t]*=r,e[t+1]*=r,e[t+2]*=r},ce.add=function(e,t,r,n,i,s=t){(i=i||e)[s]=e[t]+r[n],i[s+1]=e[t+1]+r[n+1],i[s+2]=e[t+2]+r[n+2]},ce.subtract=function(e,t,r,n,i,s=t){(i=i||e)[s]=e[t]-r[n],i[s+1]=e[t+1]-r[n+1],i[s+2]=e[t+2]-r[n+2]},r(87170);var ge=r(620);r(75039);const _e=le,be=new Array(36);for(let e=0;e<6;e++)for(let t=0;t<6;t++)be[6*e+t]=e;const ve=new Array(36);for(let e=0;e<6;e++)ve[6*e]=0,ve[6*e+1]=1,ve[6*e+2]=2,ve[6*e+3]=2,ve[6*e+4]=3,ve[6*e+5]=0;const we=(0,fe.fA)(-.5,0,-.5),xe=(0,fe.fA)(.5,0,-.5),Se=(0,fe.fA)(0,0,.5),Ce=(0,fe.fA)(0,.5,0),Te=(0,fe.vt)(),Ie=(0,fe.vt)(),Ae=(0,fe.vt)(),Oe=(0,fe.vt)(),Re=(0,fe.vt)();(0,me.d)(Te,we,Ce),(0,me.d)(Ie,we,xe),(0,me.h)(Ae,Te,Ie),(0,me.n)(Ae,Ae),(0,me.d)(Te,xe,Ce),(0,me.d)(Ie,xe,Se),(0,me.h)(Oe,Te,Ie),(0,me.n)(Oe,Oe),(0,me.d)(Te,Se,Ce),(0,me.d)(Ie,Se,we),(0,me.h)(Re,Te,Ie),(0,me.n)(Re,Re),Ae[0],Ae[1],Ae[2],Oe[0],Oe[1],Oe[2],Re[0],Re[1],Re[2],(0,S.vt)();var Pe=r(4576),De=r(69397);r(62258),r(6867),r(29878),r(87582);var Fe=r(57917);function Me(e,t){const r=(e,r,n=!1)=>({levels:e.map((e=>{const i=H(r(e.tesselation));return n&&function(e){const t=e,r=t.get(re.r.POSITION).data,n=t.get(re.r.NORMAL).data;if(n){const t=Ee(e,re.r.NORMAL).data;for(let e=0;e<n.length;e+=3){const r=n[e+1];t[e+1]=-n[e+2],t[e+2]=r}}if(r){const t=Ee(e,re.r.POSITION).data;for(let e=0;e<r.length;e+=3){const n=r[e+1];t[e+1]=-r[e+2],t[e+2]=n}}}(i),{components:[{attributes:i,objectAndLayerIdColor:void 0,transformation:null,materialId:t,visibilities:new Uint8Array([1]),objectIds:new Uint32Array([-1])}],minScreenSpaceRadius:e.minScreenSpaceRadius}}))});switch(e){case"cone":return r(Ue,(e=>function(e,t,r,n,i=!0,s=!0){let a=0;const o=t,l=e;let c=(0,fe.fA)(0,a,0),d=(0,fe.fA)(0,a+l,0),u=(0,fe.fA)(0,-1,0),h=(0,fe.fA)(0,1,0);n&&(a=l,d=(0,fe.fA)(0,0,0),c=(0,fe.fA)(0,a,0),u=(0,fe.fA)(0,1,0),h=(0,fe.fA)(0,-1,0));const m=[d,c],f=[u,h],p=r+2,y=Math.sqrt(l*l+o*o);if(n)for(let e=r-1;e>=0;e--){const t=e*(2*Math.PI/r),n=(0,fe.fA)(Math.cos(t)*o,a,Math.sin(t)*o);m.push(n);const i=(0,fe.fA)(l*Math.cos(t)/y,-o/y,l*Math.sin(t)/y);f.push(i)}else for(let e=0;e<r;e++){const t=e*(2*Math.PI/r),n=(0,fe.fA)(Math.cos(t)*o,a,Math.sin(t)*o);m.push(n);const i=(0,fe.fA)(l*Math.cos(t)/y,o/y,l*Math.sin(t)/y);f.push(i)}const g=new Array,_=new Array;if(i){for(let e=3;e<m.length;e++)g.push(1),g.push(e-1),g.push(e),_.push(0),_.push(0),_.push(0);g.push(m.length-1),g.push(2),g.push(1),_.push(0),_.push(0),_.push(0)}if(s){for(let e=3;e<m.length;e++)g.push(e),g.push(e-1),g.push(0),_.push(e),_.push(e-1),_.push(1);g.push(0),g.push(2),g.push(m.length-1),_.push(1),_.push(2),_.push(f.length-1)}const b=(0,pe.oe)(3*p);for(let e=0;e<p;e++)b[3*e]=m[e][0],b[3*e+1]=m[e][1],b[3*e+2]=m[e][2];const v=(0,pe.oe)(3*p);for(let e=0;e<p;e++)v[3*e]=f[e][0],v[3*e+1]=f[e][1],v[3*e+2]=f[e][2];return[[re.r.POSITION,new te.n(b,g,3,!0)],[re.r.NORMAL,new te.n(v,_,3,!0)]]}(1,.5,e,!1)),!0);case"sphere":return r([{tesselation:0,minScreenSpaceRadius:0},{tesselation:1,minScreenSpaceRadius:8},{tesselation:2,minScreenSpaceRadius:16},{tesselation:3,minScreenSpaceRadius:50},{tesselation:4,minScreenSpaceRadius:250}],(e=>function(e,t,r){const n=e;let i,s;if(r)i=[0,-1,0,1,0,0,0,0,1,-1,0,0,0,0,-1,0,1,0],s=[0,1,2,0,2,3,0,3,4,0,4,1,1,5,2,2,5,3,3,5,4,4,5,1];else{const e=n*(1+Math.sqrt(5))/2;i=[-n,e,0,n,e,0,-n,-e,0,n,-e,0,0,-n,e,0,n,e,0,-n,-e,0,n,-e,e,0,-n,e,0,n,-e,0,-n,-e,0,n],s=[0,11,5,0,5,1,0,1,7,0,7,10,0,10,11,1,5,9,5,11,4,11,10,2,10,7,6,7,1,8,3,9,4,3,4,2,3,2,6,3,6,8,3,8,9,4,9,5,2,4,11,6,2,10,8,6,7,9,8,1]}for(let t=0;t<i.length;t+=3)_e.scale(i,t,e/_e.length(i,t));let a={};function o(t,r){t>r&&([t,r]=[r,t]);const n=t.toString()+"."+r.toString();if(a[n])return a[n];let s=i.length;return i.length+=3,_e.add(i,3*t,i,3*r,i,s),_e.scale(i,s,e/_e.length(i,s)),s/=3,a[n]=s,s}for(let e=0;e<t;e++){const e=s.length,t=new Array(4*e);for(let r=0;r<e;r+=3){const e=s[r],n=s[r+1],i=s[r+2],a=o(e,n),l=o(n,i),c=o(i,e),d=4*r;t[d]=e,t[d+1]=a,t[d+2]=c,t[d+3]=n,t[d+4]=l,t[d+5]=a,t[d+6]=i,t[d+7]=c,t[d+8]=l,t[d+9]=a,t[d+10]=l,t[d+11]=c}s=t,a={}}const l=(0,pe.Wz)(i);for(let e=0;e<l.length;e+=3)_e.normalize(l,e);return[[re.r.POSITION,new te.n((0,pe.Wz)(i),s,3,!0)],[re.r.NORMAL,new te.n(l,s,3,!0)]]}(.5,e,!0)));case"cube":case"inverted-cone":case"cylinder":case"tetrahedron":case"diamond":throw new Error("not implemented");default:return}}function Ee(e,t){let r=e.get(t);return r&&!r.exclusive&&(r={...r,exclusive:!0,data:(0,Fe.S)(r.data)},e.set(t,r)),r}const Ue=[{tesselation:6,minScreenSpaceRadius:0},{tesselation:18,minScreenSpaceRadius:7},{tesselation:64,minScreenSpaceRadius:65}];var ke=r(89192),Le=r(51768),Be=r(74810);class Ve{constructor(e,t){this._loaded=!1,this._loadingPromise=null,this._primitiveMaterialId=null,this._lodRendererId=null,this._context=null,this._symbolLayer=null,this._primitive=null,this._context=t,this._symbolLayer=e}_destroy(){this._lodRendererId=null,this._primitiveMaterialId=null}get loaded(){return this._loaded}get _isPrimitive(){return null!=this._primitive}load(){return null==this._loadingPromise&&(this._loadingPromise=this._load()),this._loadingPromise}async _load(){const e=this._context.renderCommandContext,t=this._getLayerOpacity();let r={usePBR:!0,isSchematic:!0,mrrFactors:Be.Bt,ambient:S.Un,diffuse:S.Un,hasSlicePlane:!1,castShadows:!0,layerOpacity:t,offsetTransparentBackfaces:!1,screenSizePerspective:{}};if(r.externalColor=C.Un,r.isInstanced=!0,this._isPrimitive){const e=new Le.fs;e.layerOpacity=t,r={...r,cullFace:ze((0,Le.ty)(e))}}const n=await e.createMaterial({type:"default",parameters:r}),i=this._symbolLayer.resource;this._primitive=i&&function(e){switch(e){case"sphere":case"cube":case"diamond":case"cylinder":case"cone":case"inverted-cone":case"tetrahedron":return!0}return!1}(i?.primitive)?i.primitive:ue.r;const s=Me(this._primitive,n);this._lodRendererId=await e.createLodRenderer(s),this._primitiveMaterialId=n,this._loaded=!0}async createDestroyCommand(){const{_lodRendererId:e,_primitiveMaterialId:t,_context:r}=this,n=r.renderCommandContext,i=[];return null!=e&&i.push(n.destroyLodRenderer(e)),null!=t&&i.push(n.destroyMaterial(t)),new y(n,n.mergeRenderCommandBuffers(i),[()=>this._destroy()])}async createAddCommand(e){const t=this._context,{renderCommandContext:r,mainThreadDelegate:n}=t;if(null==this._lodRendererId)throw new Error("expected lod renderer id to not be null");const{featureCount:i}=e;if(0===i)return t.createPipelineCommand();const s=this._isPrimitive,a=this._primitive||ue.r,o=(0,O.vt)((0,he.Fq)(a)),l=(0,S.ci)((0,O.Ej)(o)),c=(0,S.ci)((0,he.Bb)(l,{isPrimitive:s,width:100,depth:null,height:null})),d=new Float64Array(16*i),u=new Float64Array(16*i),h=j(e),m=await n.applyElevationAlignmentTo(h);for(let e=0;e<i;++e){const t=e,r=m[3*e+0],n=m[3*e+1],i=m[3*e+2],s=this._computeGlobalTransform(r,n,i,this._context.viewSpatialReference,qe),a=this._computeLocalTransform(c,l,Ne);this._writeMatrixToTypedBuffer(d,t,a),this._writeMatrixToTypedBuffer(u,t,s)}const f=z(e),p=new Uint8Array(i);e.getVisibilityArray(p);const y={featureIds:new Uint32Array(f),visibility:p,localTransforms:d,globalTransforms:u};return t.createPipelineCommand(r.addLodInstances(this._lodRendererId,e.id,y))}async createRemoveCommand(e){const{_context:t,_lodRendererId:r}=this,n=t.renderCommandContext;return null==r?t.createPipelineCommand():t.createPipelineCommand(n.removeLodInstances(r,e))}async createUpdateVisibilityCommand(e){const{_lodRendererId:t,_context:r}=this,n=r.renderCommandContext;if(null==t)return r.createPipelineCommand();const i=new Uint8Array(e.featureCount);return e.getVisibilityArray(i),r.createPipelineCommand(n.updateVisibility(t,e.id,i))}async createUpdateLayerViewOpacityCommand(e){const{_context:t}=this,r=t.renderCommandContext,n=this._primitiveMaterialId;if(null==n)return t.createPipelineCommand();const i=this._getLayerOpacity();let s={layerOpacity:i};if(this._isPrimitive){const e=new Le.fs;e.layerOpacity=i,s={...s,cullFace:ze((0,Le.ty)(e))}}return t.createPipelineCommand(r.updateMaterial({type:"default",materialId:n,parameters:s}))}async createUpdateElevationCommand(e){const{_context:t,_lodRendererId:r}=this,{renderCommandContext:n,mainThreadDelegate:i}=t,{featureCount:s,id:a}=e;if(null==r||0===s)return t.createPipelineCommand();const o=new Float64Array(16*s),l=j(e),c=await i.applyElevationAlignmentTo(l);for(let e=0;e<s;++e){const t=e,r=c[3*e+0],n=c[3*e+1],i=c[3*e+2],s=this._computeGlobalTransform(r,n,i,this._context.viewSpatialReference,qe);this._writeMatrixToTypedBuffer(o,t,s)}return t.createPipelineCommand(n.updateLodInstancesData(r,a,o))}_writeMatrixToTypedBuffer(e,t,r){let n=16*t;for(let t=0;t<16;t++)e[n++]=r[t]}_computeGlobalTransform(e,t,r,n,i){return je[0]=e,je[1]=t,je[2]=r,(0,de.l)(n,je,i,this._context.renderSpatialReference),i}_computeLocalTransform(e,t,r){return(0,A.D_)(r),this._applyObjectScale(e,t,r),r}_applyObjectScale(e,t,r){const n=function(e=S.Un,t,r,n=1){const i=new Array(3);if(null==t||null==r)i[0]=1,i[1]=1,i[2]=1;else{let n,s=0;for(let a=2;a>=0;a--){const o=e[a],l=null!=o,c=0===a&&!n&&!l,d=r[a];let u;"symbol-value"===o||c?u=0!==d?t[a]/d:1:l&&"proportional"!==o&&isFinite(o)&&(u=0!==d?o/d:1),null!=u&&(i[a]=u,n=u,s=Math.max(s,Math.abs(u)))}for(let e=2;e>=0;e--)null==i[e]?i[e]=n:0===i[e]&&(i[e]=.001*s)}for(let e=2;e>=0;e--)i[e]/=n;return(0,S.ci)(i)}(e,e,t,this._context.renderCoordsHelper.unitInMeters);1===n[0]&&1===n[1]&&1===n[2]||(0,A.hs)(r,r,n)}_getLayerOpacity(){return this._context.layerViewInfo.fullOpacity}}function ze(e){return e?ke.s2.None:ke.s2.Back}const je=(0,S.vt)(),Ne=(0,x.vt)(),qe=(0,x.vt)();class He{constructor(e,t){this._symbols=new Array,this._featureDataPartitioning=new Map,this._loaded=!1,this._loadingPromise=null,this._renderer=null,this._context=t,this._renderer=e}async load(){return null==this._loadingPromise&&(this._loadingPromise=this._load()),this._loadingPromise}async _load(){this._symbols[0]=new ne(w(),this._context),this._symbols[1]=new Ve(new b.A,this._context),this._loaded=!0}get loaded(){return this._loaded}async createAddCommand(e){const t=this._context,r=this._partition(e),n=await Promise.all(r.map((async({index:e,features:t})=>{const r=await this._provisionSymbol(e);return await(r?.createAddCommand(t))}))),i=t.joinPipelineCommands(n);return i.appendPipelineStateCommand((()=>this._featureDataPartitioning.set(e.id,r))),i}async createRemoveCommand(e){const{_featureDataPartitioning:t,_context:r}=this,n=r.renderCommandContext,i=t.get(e);if(null==i)return new y(n,n.createRenderCommandBuffer(),[]);const s=await Promise.all(i.map((async({index:e,features:t})=>{const r=this._getLoadedSymbol(e);return await(r?.createRemoveCommand(t.id))}))),a=r.joinPipelineCommands(s);return a.appendPipelineStateCommand((()=>t.delete(e))),a}async createUpdateVisibilityCommand(e){const{_featureDataPartitioning:t,_context:r}=this,n=r.renderCommandContext,i=t.get(e.id);if(null==i)return new y(n,n.createRenderCommandBuffer(),[]);const s=await Promise.all(i.map((async({index:e,features:t})=>{const r=this._getLoadedSymbol(e);return await(r?.createUpdateVisibilityCommand(t))})));return r.joinPipelineCommands(s)}async createUpdateLayerViewOpacityCommand(e){const t=this._context,r=[];for(let t=0;t<this._symbols.length;++t){const n=this._symbols[t];null!=n&&n.loaded&&r.push(n.createUpdateLayerViewOpacityCommand(e))}const n=await Promise.all(r);return t.joinPipelineCommands(n)}async createUpdateElevationCommand(){const{_featureDataPartitioning:e,_context:t}=this,r=[];for(const t of e.values()){const e=t.map((async({index:e,features:t})=>{const r=this._getLoadedSymbol(e);return await(r?.createUpdateElevationCommand(t))}));r.push(...e)}const n=await Promise.all(r);return t.joinPipelineCommands(n)}async createDestroyCommand(){const{_featureDataPartitioning:e,_context:t}=this,r=[];for(const t of e.keys())r.push(this.createRemoveCommand(t));for(const e of this._symbols)r.push(e.createDestroyCommand());const n=await Promise.all(r);return t.joinPipelineCommands(n)}async _provisionSymbol(e){if(null==e)return null;const t=this._symbols[e];return t?(t.loaded||await t.load(),t):null}_getLoadedSymbol(e){if(null==e)return null;const t=this._symbols[e];return null!=t&&t.loaded?t:null}_partition(e){const t=z(e);if(null==t)throw new Error("unable to fetch objectIds");const{featureCount:r}=e,n=[[],[]];for(let e=0;e<r;++e)n[t[e]%2].push(e);return n.map(((t,r)=>new Ge(r,e.subset(new Uint32Array(t))))).filter((e=>e.features.featureCount>0))}}class Ge{constructor(e,t){this.index=e,this.features=t}}class $e{constructor(e,t,r,n,i,s,a){this.viewSpatialReference=e,this.renderSpatialReference=t,this.mainThreadDelegate=r,this.renderCoordsHelper=n,this.renderCommandContext=i,this.layerInfo=s,this.layerViewInfo=a,this.symbolRendererFactory=new Ye(this)}createPipelineCommand(e=this.renderCommandContext.createRenderCommandBuffer(),t=[]){return new y(this.renderCommandContext,e,t)}joinPipelineCommands(e){return 0===e.length?this.createPipelineCommand():e.filter((e=>null!=e)).reduce(((e,t)=>(e.append(t),e)))}}class Ye{constructor(e){this.context=e}createSymbolRendererFromJSON(e){const t=(0,p.L)(e??Ze)??void 0;if(!t)throw new Error("Failed to create renderer");const r=t.type;switch(r){case"simple":return new oe(t,this.context);case"unique-value":return new He(t,this.context);default:return console.warn(`Unable to create symbolrenderer for renderer of ${r}`),this.createSymbolRendererFromJSON(Ze)}}createSymbolRendererFromSymbol(e){const t=e?.type;switch(t){case"point-3d":return new ae(e,this.context);case"picture-marker":case"simple-marker":return new ne(w(),this.context);default:return console.warn(`Unable to create symbolrenderer for symbol of ${t}`),null}}createSymbolRendererFromSymbolLayer(e){const t=e.type;return"icon"===t?new ne(e,this.context):(console.warn(`Unable to create symbolrenderer for symbolLayer of ${t}`),null)}}const Ze={type:"simple"};var Je=r(69622),We=r(60999),Xe=r(32587),Qe=r(11932),Ke=r(24326);function et(e=""){return`${e}${(0,Ke.c)()}`}r(37539),new Float64Array(3);class tt{constructor(e,t){this._parent=e,this._subsetIndices=t,this.id=et(`featureDataSubset-${e.id}-`)}get tileId(){return this._parent.tileId}get extent(){return this._parent.extent}get featureCount(){return this._subsetIndices.length}get usedMemory(){return this._parent.usedMemory+De.qK+this._subsetIndices.byteLength}get isFullyEnabled(){for(const e of this._subsetIndices)if(!this._parent.getEnabled(e))return!1;return!0}getObjectId(e){return this._parent.getObjectId(this._subsetIndices[e])}getAttribute(e,t){return this._parent.getAttribute(this._subsetIndices[e],t)}getAttributeAsTimestamp(e,t){return this._parent.getAttribute(this._subsetIndices[e],t)}getAttributes(e){return this._parent.getAttributes(this._subsetIndices[e])}getCoordinates(e,t,r){return this._parent.getCoordinates(this._subsetIndices[e],t,r)}getOptimizedGeometry(e){return this._parent.getOptimizedGeometry(this._subsetIndices[e])}getCentroid(e,t){return this._parent.getCentroid(this._subsetIndices[e],t)}getBounds(e){return this._parent.getBounds(this._subsetIndices[e])}getBoundingBox(e){return this._parent.getBoundingBox(this._subsetIndices[e])}getObjectIdsArray(e,t,r){return this._parent.getObjectIdsArray(e,this._translatedIndices(t),r)}getCoordinatesArray(e,t,r){return this._parent.getCoordinatesArray(e,this._translatedIndices(t),r)}objectIds(e){return this._parent.objectIds(this._translatedIndices(e))}subset(e){const{_subsetIndices:t}=this,r=new Uint32Array(e.length);for(let n=0;n<r.length;++n)r[n]=t[e[n]];return new tt(this._parent,r)}disableObjectIds(e){if(0===e.size)return;const{featureCount:t}=this,r=new Array;for(let n=0;n<t;++n)this.getEnabled(n)&&e.has(this.getObjectId(n))&&r.push(n);if(0!==r.length)for(const e of r)this.setEnabled(e,!1)}setEnabled(e,t){this._parent.setEnabled(this._subsetIndices[e],t)}getEnabled(e){return this._parent.getEnabled(this._subsetIndices[e])}enableAll(){const{_subsetIndices:e,_parent:t}=this;for(const r of e)t.setEnabled(r,!0)}getVisibilityArray(e,t,r){return this._parent.getVisibilityArray(e,this._translatedIndices(t),r)}enabledObjectIds(e){return this._parent.enabledObjectIds(this._translatedIndices(e))}*_translatedIndices(e){const{_subsetIndices:t}=this;if(null!=e)for(const r of e)yield t[r];else yield*t}}class rt{constructor(e){this._tile=e,this.id=et(`featureData-${e.id}-`),this._enabled=new Array(e.featureCount).fill(!0)}get tileId(){return this._tile.id}get featureCount(){return this._tile.featureCount}get usedMemory(){return De.qK+(0,De.$B)(this.id)}get extent(){return this._tile.descriptor.extent}get isFullyEnabled(){return this._enabled.every((e=>e))}getObjectId(e){return this._tile.getObjectId(e)}getAttribute(e,t){return this._tile.getAttribute(e,t)}getAttributeAsTimestamp(e,t){return this._tile.getAttribute(e,t)}getAttributes(e){return this._tile.getAttributes(e)}getCoordinates(e,t,r){return this._tile.getCoordinates(e,t,r)}getOptimizedGeometry(e){return this._tile.getOptimizedGeometry(e)}getCentroid(e,t){return this._tile.getCentroid(e,t)}getBounds(e){return this._tile.getBounds(e)}getBoundingBox(e){return this._tile.getBoundingBox(e)}getObjectIdsArray(e,t,r){return this._tile.getObjectIdsArray(e,t,r)}getCoordinatesArray(e,t,r){return this._tile.getCoordinatesArray(e,t,r)}objectIds(e){return this._tile.objectIds(e)}subset(e){return new tt(this,e)}disableObjectIds(e){if(0===e.size)return;const{_enabled:t}=this,r=new Array;for(const n of this._allFeatureIndices())t[n]&&e.has(this.getObjectId(n))&&r.push(n);if(0!==r.length)for(const e of r)t[e]=!1}setEnabled(e,t){this._enabled[e]=t}getEnabled(e){return this._enabled[e]}enableAll(){this._enabled.fill(!0)}getVisibilityArray(e,t=this._allFeatureIndices(),r=0){const{_enabled:n}=this;for(const i of t)e[r++]=Number(n[i]);return r}*enabledObjectIds(e=this._allFeatureIndices()){const{_enabled:t}=this;for(const r of e)t[r]&&(yield this.getObjectId(r))}*_allFeatureIndices(){const{featureCount:e}=this;for(let t=0;t<e;++t)yield t}}let nt=class extends Je.A{constructor(e){super(e),this.extent=null,this._tileHandles=new Xe.A,this._wanted=new Xe.A,this._updateRequested=!1,this._synchronizationTask=null,this._requestedTiles=new Array}destroy(){this._tileHandles.clear(),this._wanted.clear()}get updating(){return this._updateRequested||!(this._synchronizationTask?.finished??1)}get _boundingRect(){const{extent:e}=this;return null==e?null:(0,R.VY)(e)}get _missingTiles(){const e=new Array,t=this._wanted,r=this._tileHandles;for(const n of t.values())null==r.get(n.id)?.featureData&&e.push(n);return e}onTileTreeChange({tiles:e}){this._requestedTiles=e,this._scheduleTilesSync()}_scheduleTilesSync(){if(this._updateRequested)return;this._updateRequested=!0;const e=this._synchronizationTask,t=(0,We.UT)((async()=>{try{await(0,a.C_)((()=>e?.finished??!0)),await(0,Qe.NO)(),this._updateRequested=!1,await this._synchronizeTiles()}finally{this._synchronizationTask===t&&(this._synchronizationTask=null)}}));this._synchronizationTask=t}async _synchronizeTiles(){const e=this._requestedTiles,t=this._tileHandles,r=new Array;for(const n of e)t.has(n.id)||r.push(n);const n=new Array;for(const r of t.values()){const{id:t}=r;e.every((e=>e.id!==t))&&n.push(r.descriptor)}const i=this._tileHandles,{_boundingRect:s}=this,a=null!=s?r.filter((e=>(0,R.HY)(s,e.extent))):r,o=this._wanted,l=new Array;for(const{id:e}of n)o.delete(e);for(const e of a)o.set(e.id,e);const c=this._missingTiles;for(const e of n){const{id:t}=e;if(c.some((t=>it(t,e)||it(e,t))))continue;const r=i.get(t);null!=r&&l.push(this._removeTile(r))}for(const e of a)l.push(this._addTile(e));const d=await Promise.allSettled(l);for(const e of d)"rejected"===e.status&&console.error(e.reason)}forEachTile(e){for(const t of this._tileHandles.values()){const r=t.featureData;null!=r&&e(r)}}*loadedTiles(){for(const e of this._tileHandles.values()){const t=e.featureData;null!=t&&(yield t)}}async _removeTile(e){e.loadTask.abort(),this._tileHandles.delete(e.id),this._validate();const{featureData:t}=e;if(null!=t){const e={stack:[],error:void 0,hasError:!1};try{(0,n.b)(e,await this.tileLocks.lock([t.tileId]),!1);const r=await this.createRemoveCommand(t.id);await(r?.execute())}catch(t){e.error=t,e.hasError=!0}finally{(0,n.c)(e)}}}async _addTile(e){const{_tileHandles:t}=this,r=t.get(e.id);if(null!=r){if(!at(r)||r.featureData.isFullyEnabled)return;return r.featureData.enableAll(),void await this._onTileLoad(r)}const n=new st(e,(0,We.UT)((async t=>{const r=await this.loadTile(e,t);return(0,s.Te)(t),new rt(r)})));this._tileHandles.set(n.id,n);try{await n.loadTask.promise}catch(e){return void(0,s.jH)(e)}(function(e){if(!at(e))throw new Error})(n),await this._onTileLoad(n)}async _onTileLoad(e){const t={stack:[],error:void 0,hasError:!1};try{const{_wanted:r,_tileHandles:i,_missingTiles:s}=this,a=e.descriptor,o=new Array,l=new Array,c=new Array,d=new Set;for(const t of i.values()){if(t===e)continue;const{descriptor:n,id:c}=t;if(r.has(c)||s.some((e=>it(e,n)||it(n,e)))){if(at(t)){if(it(a,n)){const e=t.featureData;for(const t of e.objectIds())d.add(t)}if(it(n,a)){const{featureData:e}=t;l.push(e)}}}else{i.delete(c),t.loadTask.abort();const{featureData:e}=t;null!=e&&o.push(e)}}d.size>0&&(e.featureData.disableObjectIds(d),this._validateRemoval(e.featureData,d)),this._validate(),c.push(e.featureData);const u=[...c,...o,...l].map((e=>e.tileId));if((0,n.b)(t,await this.tileLocks.lock(u),!1),0!==l.length){const t=e.featureData,r=new Set(t.objectIds());for(const e of l)e.disableObjectIds(r),this._validateRemoval(e,r)}const h=o.map((e=>this.createRemoveCommand(e.id))),m=c.map((e=>this.createAddCommand(e))),f=l.map((e=>this.createUpdateCommand(e))),p=function(e){return 0===e.length?null:e.reduce(((e,t)=>(e.append(t),e)))}((await Promise.all([...h,...m,...f])).filter(Pe.Ru));await(p?.execute())}catch(e){t.error=e,t.hasError=!0}finally{(0,n.c)(t)}}_validate(){if(!(0,l.A)("feature-pipeline-3d-test-validation"))return;const e=new Array;for(const t of this._tileHandles.values()){if(!at(t))continue;const{featureData:r}=t;e.push({featureData:r,objectIds:new Set(r.enabledObjectIds())})}for(let t=0;t<e.length;++t){const{featureData:r,objectIds:n}=e[t];for(let i=t+1;i<e.length;++i){const{featureData:t,objectIds:s}=e[i];for(const e of s)if(n.has(e))throw new Error(`${r.id} and ${t.id} both contain ${e}.`)}}}_validateRemoval(e,t){if((0,l.A)("feature-pipeline-3d-test-validation"))for(const r of e.enabledObjectIds())if(t.has(r))throw new Error(`Failed to remove ${r} from ${e.id}!`)}};function it({lij:[e,t,r]},{lij:[n,i,s]}){const a=n-e;return a>=0&&t===i>>a&&r===s>>a}(0,n._)([(0,o.MZ)()],nt.prototype,"updating",null),(0,n._)([(0,o.MZ)({constructOnly:!0})],nt.prototype,"loadTile",void 0),(0,n._)([(0,o.MZ)({constructOnly:!0})],nt.prototype,"createAddCommand",void 0),(0,n._)([(0,o.MZ)({constructOnly:!0})],nt.prototype,"createRemoveCommand",void 0),(0,n._)([(0,o.MZ)({constructOnly:!0})],nt.prototype,"createUpdateCommand",void 0),(0,n._)([(0,o.MZ)({constructOnly:!0})],nt.prototype,"tileLocks",void 0),(0,n._)([(0,o.MZ)()],nt.prototype,"extent",void 0),(0,n._)([(0,o.MZ)()],nt.prototype,"_boundingRect",null),(0,n._)([(0,o.MZ)()],nt.prototype,"_missingTiles",null),(0,n._)([(0,o.MZ)()],nt.prototype,"_updateRequested",void 0),(0,n._)([(0,o.MZ)()],nt.prototype,"_synchronizationTask",void 0),nt=(0,n._)([(0,c.$)("esri.views.3d.layers.graphics.pipeline.Tile3DManager")],nt);class st{constructor(e,t){this.descriptor=e,this.loadTask=t}get id(){return this.descriptor.id}get featureData(){return this.loadTask.value}}function at(e){return null!=e.featureData}var ot=r(36563);class lt{constructor(){this._previousActions=new Map}async lock(e){const{_previousActions:t}=this,r=e.map((e=>t.get(e))).filter(Pe.Ru),n=Promise.allSettled(r),i=(0,s.Tw)(),a=(0,ot.hA)((()=>i.resolve())),o=i.promise.finally((()=>{for(const r of e)t.get(r)===o&&t.delete(r)}));for(const r of e)t.set(r,o);return await n,(0,ot.Bf)(a)}}var ct=r(75503),dt=r(27647),ut=r(92722);class ht{constructor(e,t){this._index=e,this._view=t}get usedMemory(){return De.qK+De.RS}getObjectId(){return this._view.getObjectId(this._index)}getAttribute(e){return this._view.getAttribute(this._index,e)}getAttributeAsTimestamp(e){return this._view.getAttributeAsTimestamp(this._index,e)}getAttributes(){return this._view.getAttributes(this._index)}getOptimizedGeometry(){return this._view.getOptimizedGeometry(this._index)}getCentroid(e){return this._view.getCentroid(this._index,e)}getBounds(){return this._view.getBounds(this._index)}getBoundingBox(){return this._view.getBoundingBox(this._index)}cloneWithGeometry(e){return new mt(this._index,this._view,e)}}class mt extends ht{constructor(e,t,r){super(e,t),this._geometryOverride=r}getOptimizedGeometry(){return this._geometryOverride}getCentroid(e){return(0,dt.Q)(new ut.A,this._geometryOverride,e.hasZ,e.hasM)}}class ft{constructor(e,t){this.featureData=e,this.bounds=t}}class pt{constructor(){this._tileBounds=new Map,this.events=new i.A,this.featureAdapter=yt.shared}get usedMemory(){return De.qK+De.qK*this._tileBounds.size}addTile(e){const{featureCount:t}=e;if(0===t)return;const r=new ct.w(9,(t=>e.getBounds(t))),n=new Array;for(let e=0;e<t;++e)n[e]=e;r.load(n),this._tileBounds.set(e.id,new ft(e,r)),this.events.emit("changed")}removeTile(e){this._tileBounds.delete(e),this.events.emit("changed")}clear(){this._tileBounds.clear(),this.events.emit("changed")}forEach(e){for(const{featureData:t,bounds:r}of this._tileBounds.values())r.all((r=>{t.getEnabled(r)&&e(new ht(r,t))}))}forEachInBounds(e,t){gt.minX=e[0],gt.minY=e[1],gt.maxX=e[2],gt.maxY=e[3];for(const{featureData:e,bounds:r}of this._tileBounds.values())r.search(gt,(r=>{e.getEnabled(r)&&t(new ht(r,e))}))}forEachBounds(e,t){for(const r of e)t(r.getBoundingBox())}getFullExtent(e){let t=1/0,r=1/0,n=-1/0,i=-1/0;for(const{bounds:e}of this._tileBounds.values()){const{minX:s,minY:a,maxX:o,maxY:l}=e.toJSON();t=Math.min(t,s),r=Math.min(r,a),n=Math.min(n,o),i=Math.min(i,l)}return{xmin:t,ymin:r,xmax:n,ymax:i,spatialReference:e}}}class yt{static{this.shared=new yt}getObjectId(e){return e.getObjectId()}getAttribute(e,t){return e.getAttribute(t)}getAttributeAsTimestamp(e,t){return e.getAttributeAsTimestamp(t)}getAttributes(e){return e.getAttributes()}getGeometry(e){return e.getOptimizedGeometry()}getCentroid(e,t){return e.getCentroid(t)}cloneWithGeometry(e,t){return e.cloneWithGeometry(t)}}const gt=new ct.E;var _t=r(80893);class bt{constructor(e,t,r){this.descriptor=e,this._pages=t,this._pageSize=r;const n=De.ez+t.reduce(((e,{usedMemory:t})=>e+t),0),i=3*De.RS;this.usedMemory=De.qK+n+i,this.featureCount=t.reduce(((e,t)=>e+t.featureCount),0)}get id(){return this.descriptor.id}getObjectId(e){const{pageIndex:t,featurePageIndex:r}=this._translateIndex(e);return this._pages[t].getObjectId(r)}getAttribute(e,t){const{pageIndex:r,featurePageIndex:n}=this._translateIndex(e);return this._pages[r].getAttribute(n,t)}getAttributeAsTimestamp(e,t){const{pageIndex:r,featurePageIndex:n}=this._translateIndex(e);return this._pages[r].getAttributeAsTimestamp(n,t)}getAttributes(e){const{pageIndex:t,featurePageIndex:r}=this._translateIndex(e);return this._pages[t].getAttributes(r)}getCoordinates(e,t,r){const{pageIndex:n,featurePageIndex:i}=this._translateIndex(e);this._pages[n].getCoordinates(i,t,r)}getOptimizedGeometry(e){const{pageIndex:t,featurePageIndex:r}=this._translateIndex(e);return this._pages[t].getOptimizedGeometry(r)}getCentroid(e,t){const{pageIndex:r,featurePageIndex:n}=this._translateIndex(e);return this._pages[r].getCentroid(n,t)}getBounds(e){const{pageIndex:t,featurePageIndex:r}=this._translateIndex(e);return this._pages[t].getBounds(r)}getBoundingBox(e){const{pageIndex:t,featurePageIndex:r}=this._translateIndex(e);return this._pages[t].getBoundingBox(r)}getObjectIdsArray(e,t=this._allFeatureIndices(),r=0){let n=r;for(const{page:r,indices:i}of this._batchPageIndices(t))n=r.getObjectIdsArray(e,i,n);return n}getCoordinatesArray(e,t=this._allFeatureIndices(),r=0){let n=r;for(const{page:r,indices:i}of this._batchPageIndices(t))n=r.getCoordinatesArray(e,i,n);return n}*objectIds(e=this._allFeatureIndices()){for(const{page:t,indices:r}of this._batchPageIndices(e))for(const e of t.objectIds(r))yield e}*_allFeatureIndices(){const{featureCount:e}=this;for(let t=0;t<e;++t)yield t}_translateIndex(e){const{_pageSize:t}=this;return{pageIndex:Math.floor(e/t),featurePageIndex:e%t}}*_batchPageIndices(e){const t=new Array;{let r=0,n=new Array;for(const i of e){const{pageIndex:e,featurePageIndex:s}=this._translateIndex(i);r!==e&&(0!==n.length&&t.push({pageIndex:r,indices:n}),r=e,n=[]),n.push(s)}0!==n.length&&t.push({pageIndex:r,indices:n})}const{_pages:r}=this;for(const{pageIndex:e,indices:n}of t)yield{page:r[e],indices:n}}}var vt=r(49186),wt=r(51624),xt=r(62577),St=r(95466),Ct=r(53655);class Tt{constructor(e){this._reader=new wt.A(new Uint8Array(e),new DataView(e)),this._index=function(e){for(;e.next();){if(2===e.tag())return It(e.getMessage());e.skip()}Ot()}(this._reader)}get featureCount(){return this._index.featureIndices.length}get exceededTransferLimit(){return this._index.exceededTransferLimit}get usedMemory(){return this._reader.usedMemory}getObjectId(e){return this.getAttribute(e,this._index.objectIdFieldName)}getAttribute(e,t){const{_index:{fieldsIndex:r,attributeIndices:n}}=this,i=r.get(t)?.index;if(null==i)return;const s=n[e*r.fields.length+i],a=this._reader;return a.move(s),Rt(a)}getAttributeAsTimestamp(e,t){const r=this.getAttribute(e,t);return"string"==typeof r?new Date(r).getTime():"number"==typeof r||null==r?r:null}getAttributes(e){const{_index:{fieldsIndex:t,attributeIndices:r}}=this,n=e*t.fields.length,i=this._reader,s={};for(const e of t.fields){const t=r[n+e.index];i.move(t),s[e.name]=Rt(i)}return s}getCoordinates(e,t,r=0){const n=this._reader,{transform:i,featureIndices:s}=this._index,{scale:a,translate:o}=i;n.move(s[e]),this._readCoordinates(a,o,t,r)}getOptimizedGeometry(e){const t=(0,S.vt)();return this.getCoordinates(e,t),new ut.A([],t)}getCentroid(e,{hasZ:t,hasM:r}){this.getCoordinates(e,Pt);const[n,i,s]=Pt,a=[n,i];return t&&(a[3]=s),r&&(a[t?4:3]=0),new ut.A([],a)}getBounds(e){this.getCoordinates(e,Pt);const[t,r]=Pt,n=new ct.E;return n.minX=t,n.minY=r,n.maxX=t,n.maxY=r,n}getBoundingBox(e){this.getCoordinates(e,Pt);const[t,r,n]=Pt;return(0,O.fA)(t,r,n,t,r,n)}getObjectIdsArray(e,t=this._allFeatureIndices(),r=0){const n=this._reader,{objectIdFieldName:i,attributeIndices:s,fieldsIndex:a}=this._index,o=a.get(i).index,l=a.fields.length;for(const i of t){const t=s[i*l+o];n.move(t),e[r++]=Rt(n)}return r}getCoordinatesArray(e,t=this._allFeatureIndices(),r=0){const n=this._reader,{transform:i,featureIndices:s}=this._index,{scale:a,translate:o}=i;for(const i of t){const t=s[i];n.move(t),r=this._readCoordinates(a,o,e,r)}return r}*objectIds(e=this._allFeatureIndices()){const t=this._reader,{objectIdFieldName:r,attributeIndices:n,fieldsIndex:i}=this._index,s=i.get(r).index,a=i.fields.length;for(const r of e){const e=n[r*a+s];t.move(e),yield Rt(t)}}*_allFeatureIndices(){const{featureCount:e}=this;for(let t=0;t<e;++t)yield t}_readCoordinates([e,t,r],[n,i,s],a,o){const l=this._reader,c=l.getLength(),d=l.pos()+c;for(;l.pos()<d&&l.next();)switch(l.tag()){case 2:{const c=l.getLength(),d=l.pos()+c;for(;l.pos()<d&&l.next();)3===l.tag()?(l.getUInt32(),a[o++]=n+e*l.getSInt64(),a[o++]=i+t*l.getSInt64(),a[o++]=s+r*l.getSInt64()):l.skip();break}default:l.skip()}return o}}function It(e){for(;e.next();){if(1===e.tag())return At(e.getMessage());e.skip()}Ot()}function At(e){let t,r,n=!1,i=!1,s=0;const a=new Array,o=new Array,l=new Array;for(;e.next();)switch(e.tag()){case 1:r=e.getString();break;case 7:0!==e.getEnum()&&Ot();break;case 9:n=e.getBool()??!1;break;case 12:t=(0,xt.Q1)(e.processMessage(Ct.ae));break;case 13:{const t=e.processMessage(Ct.cn);t.index=s++,a.push(t);break}case 15:{o.push(e.pos());const t=e.getUInt32(),r=e.pos()+t;for(;e.pos()<r&&e.next();)1===e.tag()?(l.push(e.pos()),e.skip()):e.skip();break}case 10:i=e.getBool()??!1;break;default:e.skip()}const c=new St.A(a);return null!=t&&i&&null!=r&&c.has(r)||Ot(),{transform:t,exceededTransferLimit:n,fieldsIndex:c,objectIdFieldName:r,featureIndices:o,attributeIndices:l}}function Ot(){const e=new vt.A("pbf-parsing-failed","Error while parsing PBF",new Error);throw console.error(e),e}function Rt(e){const t=e.getLength(),r=e.pos()+t;for(;e.pos()<r&&e.next();)switch(e.tag()){case 1:return e.getString();case 2:return e.getFloat();case 3:return e.getDouble();case 4:return e.getSInt32();case 5:return e.getUInt32();case 6:return e.getInt64();case 7:return e.getUInt64();case 8:return e.getSInt64();case 9:return e.getBool();default:return e.skip(),null}return null}const Pt=(0,S.vt)();class Dt{constructor(e,t,r,n,i){this.spatialReference=e,this.url=r,this.objectIdField=n,this.capabilities=i;const{supportsMaxRecordCountFactor:s,maxRecordCount:a}=this.capabilities.query,o=s?4:1,l=(a??8e3)*o;this._pageSize=Math.min(8e3,l);const c=t.clone();c.cacheHint=!0,c.resultType="tile",c.outSpatialReference=e,c.returnGeometry=!0,c.returnZ=!0,c.maxRecordCountFactor=o,c.num=this._pageSize,c.outFields=[n],this._baseQuery=c}async fetch(e,t){const{spatialReference:r,_pageSize:n}=this,i=(0,R.w1)(e.extent,r),a=this._baseQuery.clone();a.geometry=i;const o=new Array;let l=0,c=!1,d=1;for(;!c;){const e=[];for(let r=0;r<d;++r)e.push(this._fetchPage(a,l++,t));const r=await Promise.all(e);(0,s.Te)(t);for(const e of r){const t=0!==e.featureCount;c||=!e.exceededTransferLimit||!t,t&&o.push(e)}d=Math.min(d+1,4)}return new bt(e,o,n)}async _fetchPage(e,t,r){const n=e.clone();n.start=t*this._pageSize;const i=(await(0,_t.kS)(this.url,n,{signal:r})).data;return(0,s.Te)(r),new Tt(i)}}var Ft=r(24151),Mt=r(29920),Et=r(77690),Ut=r(29242);var kt=r(13030),Lt=r(78662),Bt=r(1843),Vt=r(49255),zt=r(40268),jt=r(16943),Nt=r(25634),qt=r(11725),Ht=r(13464),Gt=r(77194);class $t{constructor(){this.scale=0,this.factor=0,this.minScaleFactor=0}}var Yt=r(59907),Zt=r(43616),Jt=r(13259),Wt=r(97220),Xt=r(98958),Qt=r(59643),Kt=r(33524),er=r(90644);class tr extends Xt.w{constructor(e,t){super(e,t,new Wt.$(Jt.H,(()=>r.e(8241).then(r.bind(r,48241))))),this.primitiveType=t.occlusionPass?$.WR.POINTS:$.WR.TRIANGLES}initializePipeline(e){const{oitPass:t,hasPolygonOffset:r,draped:n,output:i,depthTestEnabled:s,occlusionPass:a}=e,o=t===Qt.Y.NONE,l=t===Qt.Y.ColorAlpha,c=i===Vt.V.Highlight,d=s&&!n&&!l&&!a&&!c;return(0,er.Ey)({blending:(0,Vt.RN)(i)?o?er.RC:(0,Kt.ez)(t):null,depthTest:s&&!n?{func:$.MT.LEQUAL}:null,depthWrite:d?er.Uy:null,drawBuffers:(0,Kt.m6)(t,i),colorWrite:er.kn,polygonOffset:r?rr:null})}}const rr={factor:0,units:-4};var nr=r(53466),ir=r(22911),sr=r(51976),ar=r(35256);class or extends ar.E{constructor(e){super(),this.spherical=e,this.screenCenterOffsetUnitsEnabled=!1,this.occlusionTestEnabled=!0,this.signedDistanceFieldEnabled=!1,this.sampleSignedDistanceFieldTexelCenter=!1,this.vvSize=!1,this.vvColor=!1,this.hasVerticalOffset=!1,this.hasScreenSizePerspective=!1,this.hasRotation=!1,this.debugDrawLabelBorder=!1,this.hasPolygonOffset=!1,this.depthTestEnabled=!0,this.pixelSnappingEnabled=!0,this.draped=!1,this.terrainDepthTest=!1,this.cullAboveTerrain=!1,this.occlusionPass=!1,this.occludedFragmentFade=!1,this.objectAndLayerIdColorInstanced=!1,this.horizonCullingEnabled=!0,this.isFocused=!0,this.textureCoordinateType=nr.I.None,this.emissionSource=ir.ZX.None,this.discardInvisibleFragments=!0,this.hasVvInstancing=!1,this.snowCover=!1}}(0,n._)([(0,sr.W)()],or.prototype,"screenCenterOffsetUnitsEnabled",void 0),(0,n._)([(0,sr.W)()],or.prototype,"occlusionTestEnabled",void 0),(0,n._)([(0,sr.W)()],or.prototype,"signedDistanceFieldEnabled",void 0),(0,n._)([(0,sr.W)()],or.prototype,"sampleSignedDistanceFieldTexelCenter",void 0),(0,n._)([(0,sr.W)()],or.prototype,"vvSize",void 0),(0,n._)([(0,sr.W)()],or.prototype,"vvColor",void 0),(0,n._)([(0,sr.W)()],or.prototype,"hasVerticalOffset",void 0),(0,n._)([(0,sr.W)()],or.prototype,"hasScreenSizePerspective",void 0),(0,n._)([(0,sr.W)()],or.prototype,"hasRotation",void 0),(0,n._)([(0,sr.W)()],or.prototype,"debugDrawLabelBorder",void 0),(0,n._)([(0,sr.W)()],or.prototype,"hasPolygonOffset",void 0),(0,n._)([(0,sr.W)()],or.prototype,"depthTestEnabled",void 0),(0,n._)([(0,sr.W)()],or.prototype,"pixelSnappingEnabled",void 0),(0,n._)([(0,sr.W)()],or.prototype,"draped",void 0),(0,n._)([(0,sr.W)()],or.prototype,"terrainDepthTest",void 0),(0,n._)([(0,sr.W)()],or.prototype,"cullAboveTerrain",void 0),(0,n._)([(0,sr.W)()],or.prototype,"occlusionPass",void 0),(0,n._)([(0,sr.W)()],or.prototype,"occludedFragmentFade",void 0),(0,n._)([(0,sr.W)()],or.prototype,"objectAndLayerIdColorInstanced",void 0),(0,n._)([(0,sr.W)()],or.prototype,"horizonCullingEnabled",void 0),(0,n._)([(0,sr.W)()],or.prototype,"isFocused",void 0);var lr=r(49788);class cr extends qt.im{constructor(e,t){super(e,Mr),this.produces=new Map([[Ht.N.HUD_MATERIAL,e=>(0,Vt.Mb)(e)&&!this.parameters.drawAsLabel],[Ht.N.LABEL_MATERIAL,e=>(0,Vt.Mb)(e)&&this.parameters.drawAsLabel],[Ht.N.OCCLUSION_PIXELS,()=>this.parameters.occlusionTest],[Ht.N.DRAPED_MATERIAL,e=>this.parameters.draped&&(0,Vt.Mb)(e)]]),this._visible=!0,this._configuration=new or(t)}getConfiguration(e,t){const r=this.parameters.draped;return super.getConfiguration(e,t,this._configuration),this._configuration.hasSlicePlane=this.parameters.hasSlicePlane,this._configuration.hasVerticalOffset=!!this.parameters.verticalOffset,this._configuration.hasScreenSizePerspective=!!this.parameters.screenSizePerspective,this._configuration.screenCenterOffsetUnitsEnabled="screen"===this.parameters.centerOffsetUnits,this._configuration.hasPolygonOffset=this.parameters.polygonOffset,this._configuration.draped=r,this._configuration.occlusionTestEnabled=this.parameters.occlusionTest,this._configuration.pixelSnappingEnabled=this.parameters.pixelSnappingEnabled,this._configuration.signedDistanceFieldEnabled=this.parameters.textureIsSignedDistanceField,this._configuration.sampleSignedDistanceFieldTexelCenter=this.parameters.sampleSignedDistanceFieldTexelCenter,this._configuration.hasRotation=this.parameters.hasRotation,this._configuration.vvSize=!!this.parameters.vvSize,this._configuration.vvColor=!!this.parameters.vvColor,this._configuration.occlusionPass=t.slot===Ht.N.OCCLUSION_PIXELS,this._configuration.occludedFragmentFade=!r&&this.parameters.occludedFragmentFade,this._configuration.horizonCullingEnabled=this.parameters.horizonCullingEnabled,this._configuration.isFocused=this.parameters.isFocused,this._configuration.depthTestEnabled=this.parameters.depthEnabled||t.slot===Ht.N.OCCLUSION_PIXELS,(0,Vt.RN)(e)&&(this._configuration.debugDrawLabelBorder=!!M.b.LABELS_SHOW_BORDER),this._configuration.oitPass=t.oitPass,this._configuration.terrainDepthTest=t.terrainDepthTest,this._configuration.cullAboveTerrain=t.cullAboveTerrain,this._configuration}intersect(e,t,r,n,i,s){const{options:{selectionMode:a,hud:o,excludeLabels:l},point:c,camera:d}=r,{parameters:u}=this;if(!a||!o||l&&u.isLabel||!e.visible||!c||!d)return;const h=e.attributes.get(re.r.FEATUREATTRIBUTE),m=null==h?null:(0,C.ci)(h.data,Ar),{scaleX:f,scaleY:p}=Lr(m,u,d.pixelRatio);(0,Et.z0)(wr,t),e.attributes.has(re.r.FEATUREATTRIBUTE)&&function(e){const t=e[0],r=e[1],n=e[2],i=e[3],s=e[4],a=e[5],o=e[6],l=e[7],c=e[8],d=1/Math.sqrt(t*t+r*r+n*n),u=1/Math.sqrt(i*i+s*s+a*a),h=1/Math.sqrt(o*o+l*l+c*c);e[0]=t*d,e[1]=r*d,e[2]=n*d,e[3]=i*u,e[4]=s*u,e[5]=a*u,e[6]=o*h,e[7]=l*h,e[8]=c*h}(wr);const y=e.attributes.get(re.r.POSITION),g=e.attributes.get(re.r.SIZE),_=e.attributes.get(re.r.NORMAL),b=e.attributes.get(re.r.ROTATION),v=e.attributes.get(re.r.CENTEROFFSETANDDISTANCE);(0,ge.vA)(y.size>=3);const w=(0,Jt.c)(u),x="screen"===this.parameters.centerOffsetUnits;for(let e=0;e<y.data.length/y.size;e++){const n=e*y.size;(0,me.i)(fr,y.data[n],y.data[n+1],y.data[n+2]),(0,me.t)(fr,fr,t),(0,me.t)(fr,fr,d.viewMatrix);const i=e*v.size;if((0,me.i)(Tr,v.data[i],v.data[i+1],v.data[i+2]),!x&&(fr[0]+=Tr[0],fr[1]+=Tr[1],0!==Tr[2])){const e=Tr[2];(0,me.n)(Tr,fr),(0,me.d)(fr,fr,(0,me.g)(Tr,Tr,e))}const a=e*_.size;if((0,me.i)(pr,_.data[a],_.data[a+1],_.data[a+2]),ur(pr,wr,d,Or),Br(this.parameters,fr,Or,d,mr),d.applyProjection(fr,yr),yr[0]>-1){x&&(Tr[0]||Tr[1])&&(yr[0]+=Tr[0]*d.pixelRatio,0!==Tr[1]&&(yr[1]+=(0,Gt.m0)(Tr[1],mr.factorAlignment)*d.pixelRatio),d.unapplyProjection(yr,fr)),yr[0]+=this.parameters.screenOffset[0]*d.pixelRatio,yr[1]+=this.parameters.screenOffset[1]*d.pixelRatio,yr[0]=Math.floor(yr[0]),yr[1]=Math.floor(yr[1]);const t=e*g.size;Dr[0]=g.data[t],Dr[1]=g.data[t+1],(0,Gt.MD)(Dr,mr.factor,Dr);const n=Rr*d.pixelRatio;let i=0;u.textureIsSignedDistanceField&&(i=Math.min(u.outlineSize,.5*Dr[0])*d.pixelRatio/2),Dr[0]*=f,Dr[1]*=p;const a=e*b.size,o=u.rotation+b.data[a];if(hr(c,yr[0],yr[1],Dr,n,i,o,u,w)){const e=r.ray;if((0,me.t)(_r,fr,(0,A.B8)(Sr,d.viewMatrix)),yr[0]=c[0],yr[1]=c[1],d.unprojectFromRenderScreen(yr,fr)){const t=(0,S.vt)();(0,me.c)(t,e.direction);const r=1/(0,me.l)(t);(0,me.g)(t,t,r),s((0,me.j)(e.origin,fr)*r,t,-1,_r)}}}}}intersectDraped(e,t,r,n,i){const s=e.attributes.get(re.r.POSITION),a=e.attributes.get(re.r.SIZE),o=e.attributes.get(re.r.ROTATION),l=this.parameters,c=(0,Jt.c)(l),d=e.attributes.get(re.r.FEATUREATTRIBUTE),u=null==d?null:(0,C.ci)(d.data,Ar),{scaleX:h,scaleY:m}=Lr(u,l,e.screenToWorldRatio),f=Pr*e.screenToWorldRatio;for(let t=0;t<s.data.length/s.size;t++){const d=t*s.size,u=s.data[d],p=s.data[d+1],y=t*a.size;Dr[0]=a.data[y],Dr[1]=a.data[y+1];let g=0;l.textureIsSignedDistanceField&&(g=Math.min(l.outlineSize,.5*Dr[0])*e.screenToWorldRatio/2),Dr[0]*=h,Dr[1]*=m;const _=t*o.size,b=l.rotation+o.data[_];hr(r,u,p,Dr,f,g,b,l,c)&&n(i.distance,i.normal,-1)}}createBufferWriter(){return new kr}applyShaderOffsetsView(e,t,r,n,i,s,a){const o=ur(t,r,i,Or);return this._applyVerticalGroundOffsetView(e,o,i,a),Br(this.parameters,a,o,i,s),this._applyPolygonOffsetView(a,o,n[3],i,a),this._applyCenterOffsetView(a,n,a),a}applyShaderOffsetsNDC(e,t,r,n,i){return this._applyCenterOffsetNDC(e,t,r,n),null!=i&&(0,me.c)(i,n),this._applyPolygonOffsetNDC(n,t,r,n),n}_applyPolygonOffsetView(e,t,r,n,i){const s=n.aboveGround?1:-1;let a=Math.sign(r);0===a&&(a=s);const o=s*a;if(this.parameters.shaderPolygonOffset<=0)return(0,me.c)(i,e);const l=(0,F.qE)(Math.abs(t.cosAngle),.01,1),c=1-Math.sqrt(1-l*l)/l/n.viewport[2];return(0,me.g)(i,e,o>0?c:1/c),i}_applyVerticalGroundOffsetView(e,t,r,n){const i=(0,me.l)(e),s=r.aboveGround?1:-1,a=r.computeRenderPixelSizeAtDist(i)*zt.R,o=(0,me.g)(fr,t.normal,s*a);return(0,me.f)(n,e,o),n}_applyCenterOffsetView(e,t,r){const n="screen"!==this.parameters.centerOffsetUnits;return r!==e&&(0,me.c)(r,e),n&&(r[0]+=t[0],r[1]+=t[1],t[2]&&((0,me.n)(pr,r),(0,me.a)(r,r,(0,me.g)(pr,pr,t[2])))),r}_applyCenterOffsetNDC(e,t,r,n){const i="screen"!==this.parameters.centerOffsetUnits;return n!==e&&(0,me.c)(n,e),i||(n[0]+=t[0]/r.fullWidth*2,n[1]+=t[1]/r.fullHeight*2),n}_applyPolygonOffsetNDC(e,t,r,n){const i=this.parameters.shaderPolygonOffset;if(e!==n&&(0,me.c)(n,e),i){const e=r.aboveGround?1:-1,s=e*Math.sign(t[3]);n[2]-=(s||e)*i}return n}set visible(e){this._visible=e}get visible(){const{color:e,outlineSize:t,outlineColor:r}=this.parameters,n=e[3]>=lr.Q||t>=lr.Q&&r[3]>=lr.Q;return this._visible&&n}createGLMaterial(e){return new dr(e)}calculateRelativeScreenBounds(e,t,r=(0,R.vt)()){return function(e,t,r,n){n[0]=e.anchorPosition[0]*-t[0]+e.screenOffset[0]*r,n[1]=e.anchorPosition[1]*-t[1]+e.screenOffset[1]*r}(this.parameters,e,t,r),r[2]=r[0]+e[0],r[3]=r[1]+e[1],r}}class dr extends Nt.m8{constructor(e){super({...e,...e.material.parameters})}beginSlot(e){return this.updateTexture(this._material.parameters.textureId),this._material.setParameters(this.textureBindParameters),this.getTechnique(tr,e)}}function ur(e,t,r,n){return function(e){return function(e){return e instanceof Float32Array&&e.length>=16}(e)||function(e){return Array.isArray(e)&&e.length>=16}(e)}(t)&&(t=(0,Et.z0)(xr,t)),(0,me.o)(n.normal,e,t),(0,me.t)(n.normal,n.normal,r.viewInverseTransposeMatrix),n.cosAngle=(0,me.e)(gr,Fr),n}function hr(e,t,r,n,i,s,a,o,l){let c=t-i-n[0]*l[0],d=c+n[0]+2*i,u=r-i-n[1]*l[1],h=u+n[1]+2*i;const m=o.distanceFieldBoundingBox;return o.textureIsSignedDistanceField&&null!=m&&(c+=n[0]*m[0],u+=n[1]*m[1],d-=n[0]*(1-m[2]),h-=n[1]*(1-m[3]),c-=s,d+=s,u-=s,h+=s),(0,P.hZ)(vr,t,r),(0,P.e$)(br,e,vr,(0,F.kU)(a)),br[0]>c&&br[0]<d&&br[1]>u&&br[1]<h}const mr=new class{constructor(){this.factor=new $t,this.factorAlignment=new $t}},fr=(0,S.vt)(),pr=(0,S.vt)(),yr=(0,C.vt)(),gr=(0,S.vt)(),_r=(0,S.vt)(),br=(0,D.vt)(),vr=(0,D.vt)(),wr=(0,Ut.vt)(),xr=(0,Ut.vt)(),Sr=(0,x.vt)(),Cr=(0,C.vt)(),Tr=(0,S.vt)(),Ir=(0,S.vt)(),Ar=(0,C.vt)(),Or={normal:gr,cosAngle:0},Rr=1,Pr=2,Dr=(0,D.fA)(0,0),Fr=(0,S.fA)(0,0,1);class Mr extends Nt.NV{constructor(){super(...arguments),this.renderOccluded=qt.m$.Occlude,this.isDecoration=!1,this.color=(0,C.CN)(1,1,1,1),this.polygonOffset=!1,this.anchorPosition=(0,D.fA)(.5,.5),this.screenOffset=[0,0],this.shaderPolygonOffset=1e-5,this.textureIsSignedDistanceField=!1,this.sampleSignedDistanceFieldTexelCenter=!1,this.outlineColor=(0,C.CN)(1,1,1,1),this.outlineSize=0,this.distanceFieldBoundingBox=(0,C.vt)(),this.rotation=0,this.hasRotation=!1,this.vvSizeEnabled=!1,this.vvSize=null,this.vvColor=null,this.vvOpacity=null,this.vvSymbolAnchor=null,this.vvSymbolRotationMatrix=null,this.hasSlicePlane=!1,this.pixelSnappingEnabled=!0,this.occlusionTest=!0,this.occludedFragmentFade=!1,this.horizonCullingEnabled=!1,this.centerOffsetUnits="world",this.drawAsLabel=!1,this.depthEnabled=!0,this.isFocused=!0,this.focusEffect="none",this.draped=!1,this.isLabel=!1}}const Er=(0,Bt.BP)().vec3f(re.r.POSITION).vec3f(re.r.NORMAL).vec2i16(re.r.UVI).vec4u8(re.r.COLOR).vec2f(re.r.SIZE).f32(re.r.ROTATION).vec4f(re.r.CENTEROFFSETANDDISTANCE).vec4f(re.r.FEATUREATTRIBUTE),Ur=Er.clone().vec4u8(re.r.OLIDCOLOR);class kr{constructor(){this.vertexBufferLayout=(0,jt.E)()?Ur:Er}elementCount(e){return 6*e.get(re.r.POSITION).indices.length}write(e,t,r,n,i,s){const{position:a,normal:o,uvi:l,color:c,size:d,rotation:u,centerOffsetAndDistance:h,featureAttribute:m}=i;(0,Yt.Hk)(r.get(re.r.POSITION),e,a,s,6),(0,Yt.p1)(r.get(re.r.NORMAL),t,o,s,6);const f=r.get(re.r.UVI)?.data;let p=0,y=0,g=-1-Jt.f,_=-1-Jt.f;f&&f.length>=4&&(p=f[0],y=f[1],g=-1-f[2],_=-1-f[3]);let b=r.get(re.r.POSITION).indices.length,v=s;for(let e=0;e<b;++e)l.set(v,0,p),l.set(v,1,y),v++,l.set(v,0,g),l.set(v,1,y),v++,l.set(v,0,g),l.set(v,1,_),v++,l.set(v,0,g),l.set(v,1,_),v++,l.set(v,0,p),l.set(v,1,_),v++,l.set(v,0,p),l.set(v,1,y),v++;(0,Yt.tb)(r.get(re.r.COLOR),4,c,s,6);const{data:w,indices:x}=r.get(re.r.SIZE);b=x.length,v=s;for(let e=0;e<b;++e){const t=w[2*x[e]],r=w[2*x[e]+1];for(let e=0;e<6;++e)d.set(v,0,t),d.set(v,1,r),v++}if((0,Yt.uO)(r.get(re.r.ROTATION),u,s,6),r.get(re.r.CENTEROFFSETANDDISTANCE)?(0,Yt.Ut)(r.get(re.r.CENTEROFFSETANDDISTANCE),h,s,6):(0,Yt.Pq)(h,s,6*b),r.get(re.r.FEATUREATTRIBUTE)?(0,Yt.Ut)(r.get(re.r.FEATUREATTRIBUTE),m,s,6):(0,Yt.Pq)(m,s,6*b),null!=n){const e=r.get(re.r.POSITION)?.indices;if(e){const t=e.length,r=i.getField(re.r.OLIDCOLOR,kt.XP);(0,Yt.vx)(n,r,t,s,6)}}return{numVerticesPerItem:6,numItems:b}}intersect(e,t,r,n,i,s,a){const{options:{selectionMode:o,hud:l,excludeLabels:c},point:d,camera:u}=n;if(!o||!l||c&&t.isLabel||!d)return;const h=this.vertexBufferLayout.createView(e),m=h.getField(re.r.POSITION,kt.xs),f=h.getField(re.r.NORMAL,kt.xs),p=h.getField(re.r.ROTATION,kt.Y$),y=h.getField(re.r.SIZE,kt.gH),g=h.getField(re.r.FEATUREATTRIBUTE,kt.Eq),_=h.getField(re.r.CENTEROFFSETANDDISTANCE,kt.Eq),b="screen"===t.centerOffsetUnits,v=(0,Jt.c)(t);if(null==m||null==f||null==p||null==y||null==_||null==u)return;const w=null==g?null:g.getVec(0,Ar),{scaleX:x,scaleY:C}=Lr(w,t,u.pixelRatio),T=m.count/6;for(let e=0;e<T;e++){const i=6*e;if(m.getVec(i,fr),null!=r&&(0,me.f)(fr,fr,r),(0,me.t)(fr,fr,u.viewMatrix),_.getVec(i,Cr),(0,me.i)(Tr,Cr[0],Cr[1],Cr[2]),!b&&(fr[0]+=Tr[0],fr[1]+=Tr[1],0!==Tr[2])){const e=Tr[2];(0,me.n)(Tr,fr),(0,me.d)(fr,fr,(0,me.g)(Tr,Tr,e))}if(f.getVec(i,pr),ur(pr,wr,u,Or),Br(t,fr,Or,u,mr),u.applyProjection(fr,yr),yr[0]>-1){b&&(Tr[0]||Tr[1])&&(yr[0]+=Tr[0]*u.pixelRatio,0!==Tr[1]&&(yr[1]+=(0,Gt.m0)(Tr[1],mr.factorAlignment)*u.pixelRatio),u.unapplyProjection(yr,fr)),yr[0]+=t.screenOffset[0]*u.pixelRatio,yr[1]+=t.screenOffset[1]*u.pixelRatio,yr[0]=Math.floor(yr[0]),yr[1]=Math.floor(yr[1]),y.getVec(i,Dr),(0,Gt.MD)(Dr,mr.factor,Dr);const r=Rr*u.pixelRatio;let s=0;t.textureIsSignedDistanceField&&(s=Math.min(t.outlineSize,.5*Dr[0])*u.pixelRatio/2),Dr[0]*=x,Dr[1]*=C;const o=p.get(i),l=t.rotation+o;if(hr(d,yr[0],yr[1],Dr,r,s,l,t,v)){const t=n.ray;if((0,me.t)(_r,fr,(0,A.B8)(Sr,u.viewMatrix)),yr[0]=d[0],yr[1]=d[1],u.unprojectFromRenderScreen(yr,fr)){const r=(0,S.vt)();(0,me.c)(r,t.direction);const n=1/(0,me.l)(r);(0,me.g)(r,r,n),a((0,me.j)(t.origin,fr)*n,r,e,_r)}}}}}}function Lr(e,t,r){return null==e||null==t.vvSize?{scaleX:r,scaleY:r}:((0,Lt.VC)(Ir,t,e),{scaleX:Ir[0]*r,scaleY:Ir[1]*r})}function Br(e,t,r,n,i){if(!e.verticalOffset?.screenLength)return e.screenSizePerspective||e.screenSizePerspectiveAlignment?Vr(e,i,(0,me.l)(t),r.cosAngle):(i.factor.scale=1,i.factorAlignment.scale=1),t;const s=(0,me.l)(t),a=e.screenSizePerspectiveAlignment??e.screenSizePerspective,o=(0,Zt.kE)(n,s,e.verticalOffset,r.cosAngle,a);return Vr(e,i,s,r.cosAngle),(0,me.g)(r.normal,r.normal,o),(0,me.f)(t,t,r.normal)}function Vr(e,t,r,n){null!=e.screenSizePerspective?(0,Gt.cJ)(n,r,e.screenSizePerspective,t.factor):(t.factor.scale=1,t.factor.factor=0,t.factor.minScaleFactor=0),null!=e.screenSizePerspectiveAlignment?(0,Gt.cJ)(n,r,e.screenSizePerspectiveAlignment,t.factorAlignment):(t.factorAlignment.factor=t.factor.factor,t.factorAlignment.scale=t.factor.scale,t.factorAlignment.minScaleFactor=t.factor.minScaleFactor)}class zr{constructor(e,t){this._mainThreadDelegate=t,this._bufferWriters=new Map,this.globalViewingMode=e===Ft.RT.Global}createRenderCommandBuffer(e=[],t=[]){return{commands:e,transferList:t}}mergeRenderCommandBuffers(e){const t=this.createRenderCommandBuffer();for(const r of e)null!=r&&(t.commands.push(...r.commands),t.transferList.push(...r.transferList));return t}async createTexture(e){const{data:t,parameters:r}=e();return await this._mainThreadDelegate.createTexture(t,r)}async releaseTexture(e){const t=this._destroyTexture(e);return new y(this,t,[])}_destroyTexture(e){return{commands:[{id:"destroy-texture",textureId:e}],transferList:[]}}async createMaterial(e){const{type:t,parameters:r}=e,n=et("material");let i,s;switch(t){case"default":i=new Le.$U(e.parameters,{spherical:this.globalViewingMode}),s={type:t,materialId:n,parameters:e.parameters};break;case"hud":i=new cr(r,this.globalViewingMode),s={type:t,materialId:n,parameters:e.parameters}}return this._bufferWriters.set(n,i.createBufferWriter()),await this._mainThreadDelegate.createMaterial(s),n}destroyMaterial(e){return{commands:[{id:"destroy-material",materialId:e}],transferList:[]}}updateMaterial(e){return{commands:[{...e,id:"update-material"}],transferList:[]}}async createDirectRenderer(e){return await this._mainThreadDelegate.createDirectRenderer(e),e}async destroyDirectRenderer(e){await this._mainThreadDelegate.destroyDirectRenderer(e)}addDirectRendererGeometry(e,t,r){const{materialId:n}=t;if(null==this._bufferWriters.get(n))throw new Error(`no bufferwriter found for material ${n}`);const{renderGeometryBuffer:i,renderGeometryBufferItems:s}=this.createRenderGeometryBuffer(t,r);return this.addDirectRendererGeometryBuffer(n,e,i,s,r)}updateDirectRendererGeometry(e,t,r){const{materialId:n}=t;if(null==this._bufferWriters.get(n))throw new Error(`no bufferwriter found for material ${n}`);const{renderGeometryBuffer:i,renderGeometryBufferItems:s}=this.createRenderGeometryBuffer(t,r);return this.updateDirectRendererGeometryBuffer(n,e,i,s,r)}addDirectRendererGeometryBuffer(e,t,r,n,i){const{objectIds:s,visibilities:a}=n;return{commands:[{id:"add-direct-renderer-geometry-buffer",rendererId:e,groupId:t,renderGeometryBuffer:r,renderGeometryBufferItems:n,localOrigin:i}],transferList:[r.data,s.buffer,a.buffer]}}updateDirectRendererGeometryBuffer(e,t,r,n,i){const{objectIds:s,visibilities:a}=n;return{commands:[{id:"update-direct-renderer-geometry-buffer",rendererId:e,groupId:t,renderGeometryBuffer:r,renderGeometryBufferItems:n,localOrigin:i}],transferList:[r.data,s.buffer,a.buffer]}}removeDirectRendererGeometryBuffer(e,t){return{commands:[{id:"remove-direct-renderer-geometry-buffer",rendererId:e,groupId:t}],transferList:[]}}async createLodRenderer(e){const t=et("lod-renderer"),r=new Set,n={levels:e.levels.map((e=>({components:e.components.map((e=>{const t=e.attributes.get(re.r.POSITION);if(!t||0===t.indices.length)throw new Error("positions attribute expected");const n=(0,q.tM)(t.indices.length/3),i=new Mt.j(n,3,t);if(null==this._bufferWriters.get(e.materialId))throw new Error("writer not found");const{renderGeometryBuffer:s}=this.createRenderGeometryBuffer(e,null);return r.add(s.data),{materialId:e.materialId,renderGeometryBuffer:s,boundingInfo:{bbMax:i.bbMax,bbMin:i.bbMin}}})),minScreenSpaceRadius:e.minScreenSpaceRadius})))};return await this._mainThreadDelegate.createLodRenderer(t,n,Array.from(r)),t}destroyLodRenderer(e){return{commands:[{id:"destroy-lod-renderer",rendererId:e}],transferList:[]}}addLodInstances(e,t,r){return{commands:[{id:"add-lod-instances",rendererId:e,groupId:t,data:r}],transferList:[r.featureIds.buffer,r.globalTransforms.buffer,r.localTransforms.buffer,r.visibility.buffer]}}removeLodInstances(e,t){return{commands:[{id:"remove-lod-instances",rendererId:e,groupId:t}],transferList:[]}}updateLodInstancesData(e,t,r){return{commands:[{id:"update-lod-instance-data",rendererId:e,groupId:t,globalTransforms:r}],transferList:[r.buffer]}}updateVisibility(e,t,r){return{commands:[{id:"update-visibility",rendererId:e,groupId:t,visibility:r}],transferList:[r.buffer]}}async dispatchRenderCommands(e){0!==e.commands.length&&await this._mainThreadDelegate.executeRenderCommands(e)}createRenderGeometryBuffer(e,t){const{materialId:r,visibilities:n,objectIds:i}=e,s=this._bufferWriters.get(r);if(null==s)throw new Error("no registered bufferWriter for material found");let a=null;if(e.transformation&&t)(0,A.C)(jr,e.transformation),jr[12]-=t[0],jr[13]-=t[1],jr[14]-=t[2],a=jr;else{if(t)throw new Error("not implemented");e.transformation&&(a=e.transformation)}let o=null;a&&((0,A.B8)(Nr,jr),(0,A.mg)(Nr,Nr),o=Nr);const l=e.attributes,c=s.elementCount(l),d=s.vertexBufferLayout.stride/4;c>Math.floor(qr/d)&&console.warn("geometry with very large number of elements encountered");const u=s.vertexBufferLayout.createBuffer(c),h=s.write(a,o,l,e.objectAndLayerIdColor,u,0);if(null==h)throw new Error("Bufferwriter.write does not provide item information.");if(n.length!==h.numItems||i.length!==h.numItems)throw new Error("Unexpected mismatch between number of RenderGeometryBufferItems and provided objectIds/visibility flags.");return{renderGeometryBuffer:{data:u.buffer,elementCount:c},renderGeometryBufferItems:{objectIds:i,visibilities:n,ranges:{numVertices:h.numVerticesPerItem,numItems:h.numItems}}}}}const jr=(0,x.vt)(),Nr=(0,x.vt)(),qr=4194304;var Hr=r(73941),Gr=r(98764),$r=r(65806);const Yr=(0,S.vt)();var Zr=r(88582),Jr=r(17352),Wr=r(97937);function Xr(e,t,r=function(e){return{operations:e,value:e.create()}}(e)){return r.operations=e,e.copy(t,r.value),r}const Qr=2**50;function Kr(e,t,r,n){return e.operations.setAltitudeAt(e.value,t,r,n)}function en(e,t,r){return e.operations.elevate(e.value,t,r.value)}const tn=(0,S.vt)();(0,S.vt)();var rn=r(44280),nn=r(32114);function sn(e){return"point"===e.type}class an{constructor(e,t,r,n){this.viewingMode=e,this.spatialReference=t,this.unitInMeters=r,this._coordinateSystem=n,this._tmpCoordinateSystem=function(e){const{value:t,operations:r}=e;return{operations:r,value:r.create(t)}}(n),this.referenceEllipsoid=(0,Hr.tO)(t),this.sphericalPCPF=(0,Gr.lO)(t)}set extent(e){e&&function(e,t,r){e.operations.setExtent(e.value,t,r.value)}(this._coordinateSystem,e,this._coordinateSystem)}get extent(){return function(e,t){return e.operations.getExtent(e.value,t),t}(this._coordinateSystem,(0,R.vt)())}getAltitude(e){return function(e,t){return e.operations.altitudeAt(e.value,t)}(this._coordinateSystem,e)}setAltitude(e,t,r=e){return Kr(this._coordinateSystem,r,t,e)}setAltitudeOfTransformation(e,t){!function(e,t,r,n){t!==n&&(0,A.C)(n,t),(0,me.i)(tn,n[12],n[13],n[14]),Kr(e,tn,r,tn),n[12]=tn[0],n[13]=tn[1],n[14]=tn[2]}(this._coordinateSystem,t,e,t)}worldUpAtPosition(e,t){return function(e,t,r){return e.operations.axisAt(e.value,t,Zr._.Z,r)}(this._coordinateSystem,e,t)}worldBasisAtPosition(e,t,r){return function(e,t,r,n){return e.operations.axisAt(e.value,t,r,n)}(this._coordinateSystem,e,t,r)}basisMatrixAtPosition(e,t){const r=this.worldBasisAtPosition(e,Zr._.X,nn.rq.get()),n=this.worldBasisAtPosition(e,Zr._.Y,nn.rq.get()),i=this.worldBasisAtPosition(e,Zr._.Z,nn.rq.get());return(0,A.hZ)(t,r[0],r[1],r[2],0,n[0],n[1],n[2],0,i[0],i[1],i[2],0,0,0,0,1),t}headingAtPosition(e,t){const r=this.worldUpAtPosition(e,nn.rq.get()),n=this.worldBasisAtPosition(e,Zr._.Y,nn.rq.get()),i=(0,rn.EJ)(t,n,r);return(0,F.KJ)(i)}intersectManifoldClosestSilhouette(e,t,r){return en(this._coordinateSystem,t,this._tmpCoordinateSystem),function(e,t,r){e.operations.intersectRayClosestSilhouette(e.value,t,r)}(this._tmpCoordinateSystem,e,r),r}intersectManifold(e,t,r){en(this._coordinateSystem,t,this._tmpCoordinateSystem);const n=nn.rq.get();return function(e,t,r){return e.operations.intersectRay(e.value,t,r)}(this._tmpCoordinateSystem,e,n)?(0,me.c)(r,n):null}intersectInfiniteManifold(e,t,r){if(this.viewingMode===Ft.RT.Global)return this.intersectManifold(e,t,r);en(this._coordinateSystem,t,this._tmpCoordinateSystem);const n=this._tmpCoordinateSystem.value,i=nn.rq.get();return(0,ye.Ui)(n.plane,e,i)?(0,me.c)(r,i):null}toRenderCoords(e,t,r){return sn(e)?(0,$r.g)(e,t,this.spatialReference):(0,V.F)(e,t,r,this.spatialReference)}fromRenderCoords(e,t,r=null){return sn(t)?(null!=r&&(t.spatialReference=r),function(e,t,r){return!!(0,V.F)(e,t,Yr,r.spatialReference)&&(r.x=Yr[0],r.y=Yr[1],r.z=Yr[2],!0)}(e,this.spatialReference,t)?t:null):(0,V.F)(e,this.spatialReference,t,r)?t:null}static create(e,t){switch(e){case Ft.RT.Local:return new an(Ft.RT.Local,t,(0,I.GA)(t),Xr(Jr.b,(0,Jr.f)([0,0,0],[Qr,0,0],[0,Qr,0])));case Ft.RT.Global:return new an(Ft.RT.Global,t,1,function(e){return Xr(Wr.s,(0,Wr.f)(0,0,0,(0,Hr.tO)(e).radius))}(t))}}static renderUnitScaleFactor(e,t){return(0,I.KX)(e)/(0,I.KX)(t)}}let on=class extends i.A.EventedAccessor{constructor(){super(...arguments),this.remoteClient=null,this._featureStore=new pt,this._tileLocks=new lt,this._tileManager=null,this._renderer=null,this._fetcher=null,this._queryEngine=null,this._defaultQueryJSON=null,this._mainThreadDelegate=null,this._viewSpatialReference=null,this._renderCommandContext=null,this._context=null}get updating(){return this._tileManager.updating}destroy(){this._featureStore.clear(),this._tileManager?.destroy()}async setup({viewSpatialReference:e,renderSpatialReference:t,viewingMode:r,layerInfo:n,layerViewInfo:i}){const s=h.A.fromJSON(e);this._viewSpatialReference=s;const o=h.A.fromJSON(t);this._fetcher=new Dt(this._viewSpatialReference,f.A.fromJSON(n.baseQuery),n.url,n.objectIdField,n.capabilities),this._queryEngine=new m.do({hasZ:!0,hasM:!1,geometryType:"esriGeometryPoint",objectIdField:n.objectIdField,fieldsIndex:n.fieldIndex,availableFields:[n.objectIdField],spatialReference:e,featureStore:this._featureStore,timeInfo:n.timeInfo}),this._mainThreadDelegate={createTexture:async(e,t)=>{const r={data:e,parameters:t};return await this.remoteClient.invoke("createTexture",r,{transferList:[e.buffer]})},releaseTexture:async e=>{const t={uid:e};await this.remoteClient.invoke("releaseTexture",t)},createMaterial:async e=>{const t={materialJSON:e};await this.remoteClient.invoke("createMaterial",t)},destroyMaterial:async e=>{const t={materialId:e};await this.remoteClient.invoke("destroyMaterial",t)},createDirectRenderer:async e=>{const t={materialId:e};await this.remoteClient.invoke("createDirectRenderer",t)},destroyDirectRenderer:async e=>{const t={materialId:e};await this.remoteClient.invoke("destroyDirectRenderer",t)},createLodRenderer:async(e,t,r)=>{const n={rendererId:e,lodRenderGeometry:t};await this.remoteClient.invoke("createLoDRenderer",n,{transferList:r})},destroyLodRenderer:async e=>{const t={rendererId:e};await this.remoteClient.invoke("destroyLoDRenderer",t)},executeRenderCommands:async e=>{const t={commands:e.commands};await this.remoteClient.invoke("dispatchRenderCommands",t,{transferList:e.transferList})},applyElevationAlignmentTo:async e=>{const t={mapPoints:e};return await this.remoteClient.invoke("applyElevationAlignment",t,{transferList:[e.buffer]})}};const l=an.create(r,o),c=new zr(r,this._mainThreadDelegate);this._renderCommandContext=c;const p=new $e(s,o,this._mainThreadDelegate,l,c,n,i);this._context=p,this._renderer=p.symbolRendererFactory.createSymbolRendererFromJSON(n.renderer),this._defaultQueryJSON=new f.A({outSpatialReference:s}).toJSON();let y=null;if(null!=n.fullExtent){const e=d.A.fromJSON(n.fullExtent);await(0,u.initializeProjection)(e.spatialReference,s),y=(0,u.project)(e,s)}return this._tileManager=new nt({loadTile:(e,t)=>this._fetcher.fetch(e,t),createAddCommand:(e,t)=>this._createAddFeatureDataCommand(e,t),createRemoveCommand:e=>this._createRemoveFeatureDataCommand(e),createUpdateCommand:(e,t)=>this._createUpdateFeatureDataVisibilityCommand(e,t),tileLocks:this._tileLocks,extent:y}),this.addHandles((0,a.wB)((()=>this.updating),(e=>{this.emit("notify-updating",{updating:e})})),a.Vh),null!=this._renderer&&await this._renderer.load(),cn}async executeQuery(e,t){return{result:await this._queryEngine.executeQuery(this._ensureQuery(e),t)}}async executeQueryForIds(e,t){const r=await this._queryEngine.executeQueryForIdSet(this._ensureQuery(e),t);return{result:Array.from(r)}}async executeQueryForCount(e,t){return{result:await this._queryEngine.executeQueryForCount(this._ensureQuery(e),t)}}async executeQueryForExtent(e,t){return{result:await this._queryEngine.executeQueryForExtent(this._ensureQuery(e),t)}}async executeQueryForLatestObservations(e,t){return{result:await this._queryEngine.executeQueryForLatestObservations(this._ensureQuery(e),t)}}onTileTreeChange(e){return this._tileManager.onTileTreeChange(e),Promise.resolve(cn)}async onElevationChange(e){return cn}async onLayerViewOpacityChange(e){const{_context:t,_renderer:r}=this;if(t.layerViewInfo.fullOpacity=e,null==r)return cn;const n=await r.createUpdateLayerViewOpacityCommand(e);return await n.execute(),cn}async onRendererChange(e){const{_context:t}=this,r=t.symbolRendererFactory.createSymbolRendererFromJSON(e);await r.load();const i=this._renderer;this._renderer=r;const s=[...this._tileManager.loadedTiles()],a=s.map((e=>e.tileId));{const e={stack:[],error:void 0,hasError:!1};try{(0,n.b)(e,await this._tileLocks.lock(a),!1);const o=s.flatMap((e=>[i.createRemoveCommand(e.id),r.createAddCommand(e)])),l=await Promise.all(o),c=t.joinPipelineCommands(l);await c.execute()}catch(t){e.error=t,e.hasError=!0}finally{(0,n.c)(e)}}const o=await i.createDestroyCommand();return await o.execute(),cn}async _createAddFeatureDataCommand(e,t){const r=this._featureStore,n=this._renderer;let i;return i=null!=n?await n.createAddCommand(e):y.create(this._renderCommandContext),(0,s.Te)(t),i.appendPipelineStateCommand((()=>{r.addTile(e)})),i}async _createRemoveFeatureDataCommand(e){const t=this._featureStore,r=this._renderer;let n;return n=null!=r?await r.createRemoveCommand(e):y.create(this._renderCommandContext),n.appendPipelineStateCommand((()=>{t.removeTile(e)})),n}async _createUpdateFeatureDataVisibilityCommand(e,t){const r=this._renderer;let n;return n=null!=r?await r.createUpdateVisibilityCommand(e):y.create(this._renderCommandContext),(0,s.Te)(t),n}_ensureQuery(e){return e??this._defaultQueryJSON}};(0,n._)([(0,o.MZ)()],on.prototype,"updating",null),on=(0,n._)([(0,c.$)("esri.views.3d.layers.graphics.pipeline.Feature3DPipelineWorker")],on);const ln=on,cn={result:void 0}},69418:(e,t,r)=>{r.d(t,{S:()=>c,z:()=>l});var n=r(83047),i=r(21325),s=r(43334),a=r(58512),o=r(92722);const l=["esriGeometryPoint","esriGeometryMultipoint","esriGeometryPolyline","esriGeometryPolygon"];class c{constructor(e){this._options=e,this.geometryTypes=l,this._coordinatePtr=0,this._vertexDimension=0}createFeatureResult(){return new a.A}prepareFeatures(e){this._vertexDimension=2,e.hasZ&&this._vertexDimension++,e.hasM&&this._vertexDimension++}finishFeatureResult(e){if(!e?.features||!e.hasZ||!this._options.sourceSpatialReference||!e.spatialReference||(0,i.aI)(e.spatialReference,this._options.sourceSpatialReference)||e.spatialReference.vcsWkid)return;const t=(0,n.G9)(this._options.sourceSpatialReference)/(0,n.G9)(e.spatialReference);if(1!==t)for(const r of e.features){if(!(0,s.N3)(r))continue;const e=r.geometry.coords;for(let r=2;r<e.length;r+=3)e[r]*=t}}addFeature(e,t){e.features.push(t)}createFeature(){return new s.Om(null,{},null,0)}createSpatialReference(){return{wkid:0}}createGeometry(){return new o.A}addField(e,t){e.fields.push(t)}allocateCoordinates(e){e.coords.length=e.lengths.reduce(((e,t)=>e+t),0)*this._vertexDimension,this._coordinatePtr=0}addCoordinate(e,t){e.coords[this._coordinatePtr++]=t}addCoordinatePoint(e,t){e.coords.push(t)}addLength(e,t){e.lengths.push(t)}addQueryGeometry(e,t){e.queryGeometry=t.queryGeometry,e.queryGeometryType=t.queryGeometryType}createPointGeometry(){return new o.A}}},72385:(e,t,r)=>{function n(){return new Float32Array(3)}function i(e){const t=new Float32Array(3);return t[0]=e[0],t[1]=e[1],t[2]=e[2],t}function s(e,t,r){const n=new Float32Array(3);return n[0]=e,n[1]=t,n[2]=r,n}function a(){return n()}function o(){return s(1,1,1)}function l(){return s(1,0,0)}function c(){return s(0,1,0)}function d(){return s(0,0,1)}r.d(t,{fA:()=>s,o8:()=>i,vt:()=>n});const u=a(),h=o(),m=l(),f=c(),p=d();Object.freeze(Object.defineProperty({__proto__:null,ONES:h,UNIT_X:m,UNIT_Y:f,UNIT_Z:p,ZEROS:u,clone:i,create:n,fromValues:s,ones:o,unitX:l,unitY:c,unitZ:d,zeros:a},Symbol.toStringTag,{value:"Module"}))},73681:(e,t,r)=>{r.d(t,{n:()=>l});var n=r(49186),i=r(53966),s=r(46140),a=r(95466),o=r(55674);class l{static async from(e,t,r){const a=e.dictionary_version?s.R.parse(e.dictionary_version):null,d=new Set(e.itemsNames),u={};if(t)for(const e in t)u[e]=t[e];if(e.authoringInfo.configuration)for(const t of e.authoringInfo.configuration)u.hasOwnProperty(t.name)||(u[t.name]=t.value);const h=new Set(e.authoringInfo.symbol);for(const e of Object.keys(r))h.delete(e);h.size&&i.A.getLogger("esri.renderers.support.DictionaryScriptEvaluator").warnOnce("missing-fields: fieldMap entries for the following symbol fields are missing",{symbolFields:h});const m=await(0,o.xR)(e.expression,null,u);if(!m)throw new n.A("dictionary-renderer:expression-error","Unable to create dictionary renderer expression");const f=!a||!a.greaterEqual(4,0);f&&i.A.getLogger("esri.renderers.support.DictionaryScriptEvaluator").warnOnce("Dictionary script does not support native field types. Applying fallback",{version:a});const p=new c(r,f);return new l(f,d,m,p)}constructor(e,t,r,n){this._requiresFieldCoercionToString=e,this._itemNames=t,this._compiled=r,this._reader=n}get itemNames(){return this._itemNames}evaluate(e,t,r,n){try{return this._reader.bind(e,r,n),this._compiled.evaluate(this._reader,{$view:{scale:t}})}catch(e){i.A.getLogger("esri.renderers.support.DictionaryScriptEvaluator").warnOnce("arcade: dictionary script evaluation failed",{error:e})}return null}createDictionaryFieldsIndex(e){if(!this._requiresFieldCoercionToString)return new a.A(e);const t=e.map((e=>({...e,type:"esriFieldTypeString"})));return new a.A(t)}}class c extends o.Gj{constructor(e,t){super(),this._fieldMap=e,this._requiresFieldCoercionToString=t}_getField(e){const t=this._fieldMap[e]??e;return this._boundSchema.fieldsIndex.get(t)}field(e){if(!this._requiresFieldCoercionToString)return super.field(e,!1);const t=this._getField(e);return null==t?"":""+this._boundTarget.attributes[t.name]}}},75503:(e,t,r)=>{r.d(t,{E:()=>T,w:()=>o});var n=r(4576),i=r(21818),s=(r(44208),r(3694)),a=r(11006);class o{constructor(e=9,t){this._compareMinX=h,this._compareMinY=m,this._toBBox=e=>e,this._maxEntries=Math.max(4,e||9),this._minEntries=Math.max(2,Math.ceil(.4*this._maxEntries)),t&&("function"==typeof t?this._toBBox=t:this._initFormat(t)),this.clear()}destroy(){this.clear(),w.prune(),x.prune(),S.prune(),C.prune()}all(e){l(this._data,e)}search(e,t){let r=this._data;const n=this._toBBox;if(b(e,r))for(w.clear();r;){for(let i=0,s=r.children.length;i<s;i++){const s=r.children[i],a=r.leaf?n(s):s;b(e,a)&&(r.leaf?t(s):_(e,a)?l(s,t):w.push(s))}r=w.pop()}}collides(e){let t=this._data;const r=this._toBBox;if(!b(e,t))return!1;for(w.clear();t;){for(let n=0,i=t.children.length;n<i;n++){const i=t.children[n],s=t.leaf?r(i):i;if(b(e,s)){if(t.leaf||_(e,s))return!0;w.push(i)}}t=w.pop()}return!1}load(e){if(!e.length)return this;if(e.length<this._minEntries){for(let t=0,r=e.length;t<r;t++)this.insert(e[t]);return this}let t=this._build(e.slice(),0,e.length-1,0);if(this._data.children.length)if(this._data.height===t.height)this._splitRoot(this._data,t);else{if(this._data.height<t.height){const e=this._data;this._data=t,t=e}this._insert(t,this._data.height-t.height-1,!0)}else this._data=t;return this}insert(e){return e&&this._insert(e,this._data.height-1),this}clear(){return this._data=new A([]),this}remove(e){if(!e)return this;let t,r=this._data,s=null,a=0,o=!1;const l=this._toBBox(e);for(S.clear(),C.clear();r||S.length>0;){if(r||(r=S.pop(),s=S.data[S.length-1],a=C.pop()??0,o=!0),r.leaf&&(t=(0,n.qh)(r.children,(0,i.zI)(e),r.children.length,r.indexHint),-1!==t))return r.children.splice(t,1),S.push(r),this._condense(S),this;o||r.leaf||!_(r,l)?s?(a++,r=s.children[a],o=!1):r=null:(S.push(r),C.push(a),a=0,s=r,r=r.children[0])}return this}toJSON(){return this._data}fromJSON(e){return this._data=e,this}_build(e,t,r,n){const i=r-t+1;let s=this._maxEntries;if(i<=s){const n=new A(e.slice(t,r+1));return c(n,this._toBBox),n}n||(n=Math.ceil(Math.log(i)/Math.log(s)),s=Math.ceil(i/s**(n-1)));const a=new O([]);a.height=n;const o=Math.ceil(i/s),l=o*Math.ceil(Math.sqrt(s));v(e,t,r,l,this._compareMinX);for(let i=t;i<=r;i+=l){const t=Math.min(i+l-1,r);v(e,i,t,o,this._compareMinY);for(let r=i;r<=t;r+=o){const i=Math.min(r+o-1,t);a.children.push(this._build(e,r,i,n-1))}}return c(a,this._toBBox),a}_insert(e,t,r){const n=this._toBBox,i=r?e:n(e);S.clear();const s=function(e,t,r,n){for(;n.push(t),!0!==t.leaf&&n.length-1!==r;){let r,n=1/0,i=1/0;for(let s=0,a=t.children.length;s<a;s++){const a=t.children[s],o=f(a),l=y(e,a)-o;l<i?(i=l,n=o<n?o:n,r=a):l===i&&o<n&&(n=o,r=a)}t=r||t.children[0]}return t}(i,this._data,t,S);for(s.children.push(e),u(s,i);t>=0&&S.data[t].children.length>this._maxEntries;)this._split(S,t),t--;!function(e,t,r){for(let n=r;n>=0;n--)u(t.data[n],e)}(i,S,t)}_split(e,t){const r=e.data[t],n=r.children.length,i=this._minEntries;this._chooseSplitAxis(r,i,n);const s=this._chooseSplitIndex(r,i,n);if(!s)return;const a=r.children.splice(s,r.children.length-s),o=r.leaf?new A(a):new O(a);o.height=r.height,c(r,this._toBBox),c(o,this._toBBox),t?e.data[t-1].children.push(o):this._splitRoot(r,o)}_splitRoot(e,t){this._data=new O([e,t]),this._data.height=e.height+1,c(this._data,this._toBBox)}_chooseSplitIndex(e,t,r){let n,i,s;n=i=1/0;for(let a=t;a<=r-t;a++){const t=d(e,0,a,this._toBBox),o=d(e,a,r,this._toBBox),l=g(t,o),c=f(t)+f(o);l<n?(n=l,s=a,i=c<i?c:i):l===n&&c<i&&(i=c,s=a)}return s}_chooseSplitAxis(e,t,r){const n=e.leaf?this._compareMinX:h,i=e.leaf?this._compareMinY:m;this._allDistMargin(e,t,r,n)<this._allDistMargin(e,t,r,i)&&e.children.sort(n)}_allDistMargin(e,t,r,n){e.children.sort(n);const i=this._toBBox,s=d(e,0,t,i),a=d(e,r-t,r,i);let o=p(s)+p(a);for(let n=t;n<r-t;n++){const t=e.children[n];u(s,e.leaf?i(t):t),o+=p(s)}for(let n=r-t-1;n>=t;n--){const t=e.children[n];u(a,e.leaf?i(t):t),o+=p(a)}return o}_condense(e){for(let t=e.length-1;t>=0;t--){const r=e.data[t];if(0===r.children.length)if(t>0){const i=e.data[t-1],s=i.children;s.splice((0,n.qh)(s,r,s.length,i.indexHint),1)}else this.clear();else c(r,this._toBBox)}}_initFormat(e){const t=["return a"," - b",";"];this._compareMinX=new Function("a","b",t.join(e[0])),this._compareMinY=new Function("a","b",t.join(e[1])),this._toBBox=new Function("a","return {minX: a"+e[0]+", minY: a"+e[1]+", maxX: a"+e[2]+", maxY: a"+e[3]+"};")}}function l(e,t){let r=e;for(x.clear();r;){if(!0===r.leaf)for(const e of r.children)t((0,i.zI)(e));else x.pushArray(r.children);r=x.pop()??null}}function c(e,t){d(e,0,e.children.length,t,e)}function d(e,t,r,n,i){i||(i=new A([])),i.minX=1/0,i.minY=1/0,i.maxX=-1/0,i.maxY=-1/0;for(let s,a=t;a<r;a++)s=e.children[a],u(i,e.leaf?n(s):s);return i}function u(e,t){e.minX=Math.min(e.minX,t.minX),e.minY=Math.min(e.minY,t.minY),e.maxX=Math.max(e.maxX,t.maxX),e.maxY=Math.max(e.maxY,t.maxY)}function h(e,t){return e.minX-t.minX}function m(e,t){return e.minY-t.minY}function f(e){return(e.maxX-e.minX)*(e.maxY-e.minY)}function p(e){return e.maxX-e.minX+(e.maxY-e.minY)}function y(e,t){return(Math.max(t.maxX,e.maxX)-Math.min(t.minX,e.minX))*(Math.max(t.maxY,e.maxY)-Math.min(t.minY,e.minY))}function g(e,t){const r=Math.max(e.minX,t.minX),n=Math.max(e.minY,t.minY),i=Math.min(e.maxX,t.maxX),s=Math.min(e.maxY,t.maxY);return Math.max(0,i-r)*Math.max(0,s-n)}function _(e,t){return e.minX<=t.minX&&e.minY<=t.minY&&t.maxX<=e.maxX&&t.maxY<=e.maxY}function b(e,t){return t.minX<=e.maxX&&t.minY<=e.maxY&&t.maxX>=e.minX&&t.maxY>=e.minY}function v(e,t,r,n,i){const s=[t,r];for(;s.length;){const t=s.pop(),r=s.pop();if(t-r<=n)continue;const o=r+Math.ceil((t-r)/n/2)*n;(0,a.q)(e,o,r,t,i),s.push(r,o,o,t)}}const w=new s.A,x=new s.A,S=new s.A,C=new s.A({deallocator:void 0});class T{constructor(){this.minX=1/0,this.minY=1/0,this.maxX=-1/0,this.maxY=-1/0}}class I extends T{constructor(){super(...arguments),this.height=1,this.indexHint=new n.vW}}class A extends I{constructor(e){super(),this.children=e,this.leaf=!0}}class O extends I{constructor(e){super(),this.children=e,this.leaf=!1}}},76357:(e,t,r)=>{r.d(t,{A:()=>d});var n=r(90237),i=r(66552),s=r(25482),a=r(10107),o=(r(44208),r(53966),r(87811),r(93223)),l=r(40608);const c=new i.J({inherited:"inherited",codedValue:"coded-value",range:"range"});let d=class extends s.A{constructor(e){super(e),this.name=null,this.type=null}};(0,n._)([(0,a.MZ)({type:String,json:{write:!0}})],d.prototype,"name",void 0),(0,n._)([(0,o.e)(c),(0,a.MZ)({json:{write:{isRequired:!0}}})],d.prototype,"type",void 0),d=(0,n._)([(0,l.$)("esri.layers.support.Domain")],d)},77548:(e,t,r)=>{r.d(t,{tk:()=>u,BR:()=>d,wI:()=>c,Ov:()=>o,W_:()=>l,TU:()=>a,XX:()=>s});var n=r(70333),i=r(78888);r(5503),r(36563),r(36708),new WeakMap;const s={Point:"SceneLayer","3DObject":"SceneLayer",IntegratedMesh:"IntegratedMeshLayer",PointCloud:"PointCloudLayer",Building:"BuildingSceneLayer"};function a(e){const t=e?.type;return"building-scene"===t||"integrated-mesh"===t||"point-cloud"===t||"scene"===t}function o(e){return"feature"===e?.type&&!e.url&&"memory"===e.source?.type}function l(e){const t=e?.type;return("feature"===t||"subtype-group"===t||"oriented-imagery"===t)&&"feature-layer"===e?.source?.type}async function c(e,t){const r=n.id?.findServerInfo(e);if(null!=r?.currentVersion)return r.owningSystemUrl||null;const s=e.toLowerCase().indexOf("/rest/services");if(-1===s)return null;const a=`${e.slice(0,s)}/rest/info`,o=null!=t?t.signal:null,{data:l}=await(0,i.A)(a,{query:{f:"json"},responseType:"json",signal:o});return l?.owningSystemUrl||null}function d(e){return function(e){if(!("capabilities"in e))return!1;switch(e.type){case"catalog":case"catalog-footprint":case"csv":case"feature":case"geojson":case"imagery":case"knowledge-graph-sublayer":case"ogc-feature":case"oriented-imagery":case"scene":case"sublayer":case"subtype-group":case"subtype-sublayer":case"wfs":return!0;default:return!1}}(e)?"effectiveCapabilities"in e?e.effectiveCapabilities:e.capabilities:null}function u(e){return!!function(e){if(!("editingEnabled"in e))return!1;switch(e.type){case"csv":case"feature":case"geojson":case"oriented-imagery":case"scene":case"subtype-group":case"subtype-sublayer":return!0;default:return!1}}(e)&&("effectiveEditingEnabled"in e?e.effectiveEditingEnabled:e.editingEnabled)}},78502:(e,t,r)=>{r.d(t,{Fq:()=>a,Yc:()=>i,Yq:()=>s});var n=r(5443);function i(e){if(null==e)return null;switch(e.type){case"polygon":case"multipoint":case"polyline":return e.extent;case"point":return new n.A({xmin:e.x,ymin:e.y,xmax:e.x,ymax:e.y,spatialReference:e.spatialReference});case"extent":return e}return null}function s(e){if(null==e)return null;const t=e.clone();return void 0!==e.cache._geVersion&&(t.cache._geVersion=e.cache._geVersion),t}function a(e){return"number"==typeof e&&isFinite(e)&&Math.floor(e)===e}},80451:(e,t,r)=>{r.d(t,{rS:()=>f,gK:()=>m}),r(44208);var n,i=r(53177),s=r(76357),a=r(90237),o=(r(53966),r(87811),r(49186),r(93223)),l=r(40608);let c=class extends s.A{static{n=this}constructor(e){super(e),this.type="inherited"}clone(){return new n}};(0,a._)([(0,o.e)({inherited:"inherited"})],c.prototype,"type",void 0),c=n=(0,a._)([(0,l.$)("esri.layers.support.InheritedDomain")],c);var d,u=r(10107);let h=class extends s.A{static{d=this}constructor(e){super(e),this.maxValue=null,this.minValue=null,this.type="range"}clone(){return new d({maxValue:this.maxValue,minValue:this.minValue,name:this.name})}};(0,a._)([(0,u.MZ)({json:{type:[Number],read:{source:"range",reader:(e,t)=>t.range?.[1]},write:{enabled:!1,overridePolicy(){return{enabled:null!=this.maxValue&&null==this.minValue}},target:"range",writer(e,t,r){t[r]=[this.minValue||0,e]},isRequired:!0}}})],h.prototype,"maxValue",void 0),(0,a._)([(0,u.MZ)({json:{type:[Number],read:{source:"range",reader:(e,t)=>t.range?.[0]},write:{target:"range",writer(e,t,r){t[r]=[e,this.maxValue||0]},isRequired:!0}}})],h.prototype,"minValue",void 0),(0,a._)([(0,o.e)({range:"range"})],h.prototype,"type",void 0),h=d=(0,a._)([(0,l.$)("esri.layers.support.RangeDomain")],h);const m={key:"type",base:s.A,typeMap:{range:h,"coded-value":i.A,inherited:c}};function f(e){if(!e?.type)return null;switch(e.type){case"range":return h.fromJSON(e);case"codedValue":return i.A.fromJSON(e);case"inherited":return c.fromJSON(e)}return null}},80893:(e,t,r)=>{r.d(t,{IJ:()=>f,Jf:()=>_,Pk:()=>y,eW:()=>m,gW:()=>g,kS:()=>p});var n=r(78888),i=r(84952),s=r(65864),a=r(17136),o=r(21325),l=r(10536),c=r(66208),d=r(58501);const u="Layer does not support extent calculation.";function h(e,t,r){const n=e.geometry,i=e.toJSON();delete i.compactGeometryEnabled,delete i.defaultSpatialReferenceEnabled;const a=i;let l,c,d;if(n&&(c=n.spatialReference,d=(0,o.YX)(c),a.geometryType=(0,s.$B)(n),a.geometry=function(e,t){if(t&&"extent"===e.type)return`${e.xmin},${e.ymin},${e.xmax},${e.ymax}`;if(t&&"point"===e.type)return`${e.x},${e.y}`;const r=e.toJSON();return delete r.spatialReference,JSON.stringify(r)}(n,e.compactGeometryEnabled),a.inSR=d),i.groupByFieldsForStatistics&&(a.groupByFieldsForStatistics=i.groupByFieldsForStatistics.join(",")),i.objectIds)switch(r?.uniqueIdFields?.length){case void 0:a.objectIds=i.objectIds.join(",");break;case 1:a.uniqueIds=JSON.stringify(i.objectIds),delete a.objectIds;break;default:a.uniqueIds=JSON.stringify(i.objectIds.map((e=>JSON.parse(e)))),delete a.objectIds}if(i.orderByFields&&(a.orderByFields=i.orderByFields.join(",")),!i.outFields||!i.returnDistinctValues&&(t?.returnCountOnly||t?.returnExtentOnly||t?.returnIdsOnly)?delete a.outFields:i.outFields.includes("*")?a.outFields="*":a.outFields=i.outFields.join(","),i.outSR?(a.outSR=(0,o.YX)(i.outSR),l=e.outSpatialReference):n&&(i.returnGeometry||i.returnCentroid)&&(a.outSR=a.inSR,l=c),i.returnGeometry&&delete i.returnGeometry,i.outStatistics&&(a.outStatistics=JSON.stringify(i.outStatistics)),i.fullText&&(a.fullText=JSON.stringify(i.fullText)),i.pixelSize&&(a.pixelSize=JSON.stringify(i.pixelSize)),i.quantizationParameters&&(e.defaultSpatialReferenceEnabled&&null!=c&&null!=e.quantizationParameters?.extent&&c.equals(e.quantizationParameters.extent.spatialReference)&&delete i.quantizationParameters.extent.spatialReference,a.quantizationParameters=JSON.stringify(i.quantizationParameters)),i.parameterValues&&(a.parameterValues=JSON.stringify(i.parameterValues)),i.rangeValues&&(a.rangeValues=JSON.stringify(i.rangeValues)),i.dynamicDataSource&&(a.layer=JSON.stringify({source:i.dynamicDataSource}),delete i.dynamicDataSource),i.timeExtent){const e=i.timeExtent,{start:t,end:r}=e;null==t&&null==r||(a.time=t===r?t:`${t??"null"},${r??"null"}`),delete i.timeExtent}return e.defaultSpatialReferenceEnabled&&null!=c&&null!=l&&c.equals(l)&&(a.defaultSR=a.inSR,delete a.inSR,delete a.outSR),a}async function m(e,t,r,n,i){const s=t.timeExtent?.isEmpty?{data:{features:[]}}:await v(e,t,"json",n,void 0,i);return(0,d.q)(t,r,s.data),s}async function f(e,t,r,n,i){if(t.timeExtent?.isEmpty)return{data:r.createFeatureResult()};const s=await p(e,t,n,i),a=s;return a.data=(0,c.m)(s.data,r),a}function p(e,t,r,n){return v(e,t,"pbf",r,void 0,n)}function y(e,t,r,n){return t.timeExtent?.isEmpty?Promise.resolve({data:{objectIds:[]}}):v(e,t,"json",r,{returnIdsOnly:!0},n)}function g(e,t,r,n){return t.timeExtent?.isEmpty?Promise.resolve({data:{count:0}}):v(e,t,"json",r,{returnIdsOnly:!0,returnCountOnly:!0},n)}async function _(e,t,r){if(t.timeExtent?.isEmpty)return{data:{count:0,extent:null}};const n=await v(e,t,"json",r,{returnExtentOnly:!0,returnCountOnly:!0}),i=n.data;if(i.hasOwnProperty("extent"))return n;if(i.features)throw new Error(u);if(i.hasOwnProperty("count"))throw new Error(u);return n}function b(e,t){if(!e.returnIdsOnly||!t.uniqueIdFields)return e;const r={...e,returnUniqueIdsOnly:!0};return delete r.returnIdsOnly,r}async function v(e,t,r,s={},o={},c={}){const d="string"==typeof e?(0,i.An)(e):e,u=t.geometry?[t.geometry]:[],m=await(0,a.el)(u,null,{signal:s.signal}),f=m?.[0];null!=f&&((t=t.clone()).geometry=f);const p=(0,l.z)({...d.query,f:r,...b(o,c),...h(t,o,c)});return(0,n.A)((0,i.fj)(d.path,(y=o,null==t.formatOf3DObjects||y.returnCountOnly||y.returnExtentOnly||y.returnIdsOnly?"query":"query3d")),{...s,responseType:"pbf"===r?"array-buffer":"json",query:{...p,...s.query}});var y}},81961:(e,t,r)=>{r.d(t,{V:()=>s});var n=r(69270),i=r(74333);class s extends i.n{constructor(e,t){super(e,"vec4",n.c.Draw,((r,n,i)=>r.setUniform4fv(e,t(n,i))))}}},87582:(e,t,r)=>{r(6867);var n=r(65215);r(29878),n.R},95696:(e,t,r)=>{r.d(t,{A:()=>d});var n,i=r(90237),s=r(69540),a=r(25482),o=r(10107),l=(r(44208),r(53966),r(87811),r(93223)),c=r(40608);let d=class extends(s.A.ClonableMixin(a.A)){static{n=this}constructor(e){super(e),this.type="georeferenced",this.origin=null}static{this.absolute=new n}};(0,i._)([(0,l.e)({georeferenced:"georeferenced"},{readOnly:!0})],d.prototype,"type",void 0),(0,i._)([(0,o.MZ)({type:[Number],nonNullable:!1,json:{write:!0}})],d.prototype,"origin",void 0),d=n=(0,i._)([(0,c.$)("esri.geometry.support.MeshGeoreferencedVertexSpace")],d)},96576:(e,t,r)=>{r.d(t,{A:()=>h});var n,i=r(90237),s=r(4718),a=r(10107),o=(r(44208),r(53966),r(93223)),l=r(40608),c=r(92438),d=r(63988),u=r(49849);let h=n=class extends((0,d.h)(c.A)){constructor(e){super(e),this.description=null,this.label=null,this.symbol=null,this.type="simple"}async collectRequiredFields(e,t){await Promise.all([this.collectSymbolFields(e,t),this.collectVVRequiredFields(e,t)])}async collectSymbolFields(e,t){await Promise.all(this.symbols.map((r=>r.collectRequiredFields(e,t))))}getSymbol(e,t){return this.symbol}async getSymbolAsync(e,t){return this.symbol}get symbols(){return this.symbol?[this.symbol]:[]}getAttributeHash(){return this.visualVariables?.reduce(((e,t)=>e+t.getAttributeHash()),"")??""}getMeshHash(){return this.symbols.reduce(((e,t)=>e+JSON.stringify(t)),"")}get arcadeRequired(){return this.arcadeRequiredForVisualVariables}clone(){return new n({description:this.description,label:this.label,symbol:(0,s.o8)(this.symbol),visualVariables:(0,s.o8)(this.visualVariables),authoringInfo:(0,s.o8)(this.authoringInfo)})}};(0,i._)([(0,a.MZ)({type:String,json:{write:!0}})],h.prototype,"description",void 0),(0,i._)([(0,a.MZ)({type:String,json:{write:!0}})],h.prototype,"label",void 0),(0,i._)([(0,a.MZ)(u.Wp)],h.prototype,"symbol",void 0),(0,i._)([(0,o.e)({simple:"simple"})],h.prototype,"type",void 0),h=n=(0,i._)([(0,l.$)("esri.renderers.SimpleRenderer")],h)},98453:(e,t,r)=>{r.d(t,{m:()=>n});const n=new(r(66552).J)({esriFieldTypeSmallInteger:"small-integer",esriFieldTypeInteger:"integer",esriFieldTypeSingle:"single",esriFieldTypeDouble:"double",esriFieldTypeLong:"long",esriFieldTypeString:"string",esriFieldTypeDate:"date",esriFieldTypeOID:"oid",esriFieldTypeGeometry:"geometry",esriFieldTypeBlob:"blob",esriFieldTypeRaster:"raster",esriFieldTypeGUID:"guid",esriFieldTypeGlobalID:"global-id",esriFieldTypeXML:"xml",esriFieldTypeBigInteger:"big-integer",esriFieldTypeDateOnly:"date-only",esriFieldTypeTimeOnly:"time-only",esriFieldTypeTimestampOffset:"timestamp-offset"})}}]);