@arcgis/core 4.34.0-next.61 → 4.34.0-next.64

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 (263) hide show
  1. package/AggregateGraphic.js +1 -1
  2. package/Graphic.js +1 -1
  3. package/TrackGraphic.js +1 -1
  4. package/analysis/VolumeMeasurement/VolumeMeasurementCutFillOptions.js +1 -1
  5. package/analysis/VolumeMeasurementAnalysis.js +1 -1
  6. package/applications/Components/actionUtils.d.ts +3 -0
  7. package/applications/Components/actionUtils.js +5 -0
  8. package/assets/esri/core/workers/RemoteClient.js +1 -1
  9. package/assets/esri/core/workers/chunks/{5de7c2a80bd9c81cefe2.js → 070b29cba896f46537f9.js} +1 -1
  10. package/assets/esri/core/workers/chunks/{8c0e11f781607239749d.js → 0a36df6fdab95785d1ce.js} +1 -1
  11. package/assets/esri/core/workers/chunks/0b01c87db77246632ad9.js +1 -0
  12. package/assets/esri/core/workers/chunks/0b24a6c06d1becbb6815.js +1 -0
  13. package/assets/esri/core/workers/chunks/0cdf6b51f2a63f348530.js +1 -0
  14. package/assets/esri/core/workers/chunks/10ec10ca361842efce92.js +1 -0
  15. package/assets/esri/core/workers/chunks/{bdc18ef9cdc8242f014e.js → 1143313f2f6f34deaad7.js} +1 -1
  16. package/assets/esri/core/workers/chunks/226833d408eb1225e168.js +1 -0
  17. package/assets/esri/core/workers/chunks/2394ac65d64e50399d76.js +1 -0
  18. package/assets/esri/core/workers/chunks/33718ea851645d9078d1.js +1 -0
  19. package/assets/esri/core/workers/chunks/{69fbe363bb130fdd8146.js → 3d6f07e04f77cc0a7506.js} +1 -1
  20. package/assets/esri/core/workers/chunks/{db7678104b18534482e3.js → 426232091caf8608e5f1.js} +1 -1
  21. package/assets/esri/core/workers/chunks/47febd4de836a33b51b1.js +1 -0
  22. package/assets/esri/core/workers/chunks/487afbf352d12c745430.js +1 -0
  23. package/assets/esri/core/workers/chunks/{3fd09a7c05583a57a317.js → 5d12862042b6bf9f9d54.js} +1 -1
  24. package/assets/esri/core/workers/chunks/5d65987f2c1b5c56a799.js +1 -0
  25. package/assets/esri/core/workers/chunks/5de07f7a09eb9f3ab666.js +1 -0
  26. package/assets/esri/core/workers/chunks/{ba0c7339fa19cc7cbde7.js → 5e1d6704ee0aa41b1d06.js} +1 -1
  27. package/assets/esri/core/workers/chunks/{4ac127cefa3aa5e93e78.js → 657b01a6df8dc46c5209.js} +1 -1
  28. package/assets/esri/core/workers/chunks/{71b222089f5e9dcee474.js → 6a1b652ccbf58ac44658.js} +1 -1
  29. package/assets/esri/core/workers/chunks/{4050ddb580d364d9e205.js → 6ab435423acb0ed0b1c7.js} +1 -1
  30. package/assets/esri/core/workers/chunks/7b7f5028a488bb9c10f4.js +1 -0
  31. package/assets/esri/core/workers/chunks/{d83bdc13c3cad3eee7be.js → 7c3a1958990de095d3a1.js} +1 -1
  32. package/assets/esri/core/workers/chunks/808cfed7022e3846d5b2.js +1 -0
  33. package/assets/esri/core/workers/chunks/{b68b54be3d67595a9446.js → 861a6d6fe7958df36aa1.js} +35 -34
  34. package/assets/esri/core/workers/chunks/8bd5a0ff7dcf1067bf53.js +1 -0
  35. package/assets/esri/core/workers/chunks/{f462a138912e5379b6a7.js → 904c116c6b093e0e970c.js} +1 -1
  36. package/assets/esri/core/workers/chunks/99b20eef2893047fac10.js +1 -0
  37. package/assets/esri/core/workers/chunks/a16b471c3706ee37f9b6.js +1 -0
  38. package/assets/esri/core/workers/chunks/{bb2ab663e3e5597f2104.js → a1bd4eecca1e3272bffb.js} +1 -1
  39. package/assets/esri/core/workers/chunks/{8005ae652361f506bc5f.js → a29fb90226bd08157bd1.js} +1 -1
  40. package/assets/esri/core/workers/chunks/a596d6ccb6103e594031.js +1 -0
  41. package/assets/esri/core/workers/chunks/a5e6359fadbd699b1c8e.js +1 -0
  42. package/assets/esri/core/workers/chunks/a7f3cdd9a249ef4572ce.js +1 -0
  43. package/assets/esri/core/workers/chunks/{d2bdd52d2291306a4e47.js → a80d769b0ed025f0df64.js} +1 -1
  44. package/assets/esri/core/workers/chunks/a987731d1b5449d8fb0c.js +1 -0
  45. package/assets/esri/core/workers/chunks/af83dddddbfe25194527.js +1 -0
  46. package/assets/esri/core/workers/chunks/{4d8d942fbd6750bb7567.js → b057e6d593c1607cae61.js} +1 -1
  47. package/assets/esri/core/workers/chunks/{d707538b150d79050336.js → b1f1a26e7a2ef5b783ee.js} +1 -1
  48. package/assets/esri/core/workers/chunks/c337c1a2dbc452780dd7.js +1 -0
  49. package/assets/esri/core/workers/chunks/{a35a439f053d1fe0541b.js → c601bbdafdee5074b04f.js} +1 -1
  50. package/assets/esri/core/workers/chunks/{d7ce68667bb355ef8e5d.js → c7a386ac90e58eb71935.js} +1 -1
  51. package/assets/esri/core/workers/chunks/c8694a27e2cf28b010e8.js +1 -0
  52. package/assets/esri/core/workers/chunks/cf69f6afeaf1229e032c.js +1 -0
  53. package/assets/esri/core/workers/chunks/d1e8220dcae1d01d3c35.js +1 -0
  54. package/assets/esri/core/workers/chunks/e12e8d69c05c182b6a69.js +1 -0
  55. package/assets/esri/core/workers/chunks/{220c8d6338f236298720.js → e6457ac25c0829ee039c.js} +1 -1
  56. package/assets/esri/core/workers/chunks/{c77a97c723b8c17df186.js → e72aee3f857aa473822c.js} +1 -1
  57. package/assets/esri/core/workers/chunks/{8374d87176486c1fc90e.js → eadac757f74470b89a36.js} +1 -1
  58. package/assets/esri/core/workers/chunks/f542bdc994a5ea3aa9d1.js +1 -0
  59. package/assets/esri/core/workers/chunks/{7c23be93d394f1bee941.js → f6107f844f4feed42828.js} +1 -1
  60. package/assets/esri/core/workers/chunks/f76774781865cb1411b0.js +1 -0
  61. package/assets/esri/core/workers/chunks/fd04df45cdcc6ff52554.js +1 -0
  62. package/assets/esri/layers/support/rasterFormats/qb3-wasm.wasm +0 -0
  63. package/assets/esri/libs/lyr3d/lyr3DMain.wasm +0 -0
  64. package/assets/esri/libs/lyr3d/lyr3DWorker.wasm +0 -0
  65. package/assets/esri/libs/vxl/vxlLayer.wasm +0 -0
  66. package/chunks/BloomComposition.glsl.js +6 -5
  67. package/chunks/Fog.glsl.js +20 -13
  68. package/chunks/GaussianSplat.glsl.js +7 -0
  69. package/chunks/GaussianSplatComposition.glsl.js +7 -0
  70. package/chunks/GaussianSplatDepthComposition.glsl.js +11 -0
  71. package/chunks/RealisticTree.glsl.js +29 -28
  72. package/chunks/lyr3DMain.js +1 -1
  73. package/chunks/lyr3DWorker.js +1 -1
  74. package/chunks/qb3-wasm.js +5 -0
  75. package/chunks/vxlLayer.js +1 -1
  76. package/config.js +1 -1
  77. package/core/Collection.js +1 -1
  78. package/core/has.js +1 -1
  79. package/geometry/ellipsoidUtils.js +1 -1
  80. package/geometry/operators/geodeticUtilsOperator.d.ts +6 -0
  81. package/geometry/support/heightModelInfoUtils.js +1 -1
  82. package/graphic/AggregateGraphicOrigin.js +5 -0
  83. package/graphic/CSVGraphicOrigin.js +1 -1
  84. package/graphic/CatalogGraphicOrigin.js +1 -1
  85. package/graphic/FeatureGraphicOrigin.js +1 -1
  86. package/graphic/GeoJSONGraphicOrigin.js +1 -1
  87. package/graphic/KnowledgeGraphGraphicOrigin.js +1 -1
  88. package/graphic/OGCFeatureGraphicOrigin.js +1 -1
  89. package/graphic/OrientedImageryGraphicOrigin.js +1 -1
  90. package/graphic/ParquetGraphicOrigin.js +1 -1
  91. package/graphic/StreamGraphicOrigin.js +1 -1
  92. package/graphic/SubtypeGroupGraphicOrigin.js +1 -1
  93. package/graphic/TrackGraphicOrigin.js +5 -0
  94. package/graphic/WFSGraphicOrigin.js +1 -1
  95. package/graphic/getPopupProvider.js +5 -0
  96. package/interfaces.d.ts +869 -38
  97. package/kernel.js +1 -1
  98. package/layers/GaussianSplatLayer.js +1 -1
  99. package/layers/IntegratedMesh3DTilesLayer.js +1 -1
  100. package/layers/Lyr3DWasmPerSceneView.js +1 -1
  101. package/layers/VoxelWasmPerSceneView.js +1 -1
  102. package/layers/knowledgeGraph/nodeMovementUtils.js +1 -1
  103. package/layers/mixins/FeatureReductionLayer.js +1 -1
  104. package/layers/mixins/TrackableLayer.js +1 -1
  105. package/layers/support/GaussianSplatAtlasPageAllocator.js +5 -0
  106. package/layers/support/gaussianSplatUtils.js +5 -0
  107. package/layers/support/rasterDatasets/MRFRaster.js +1 -1
  108. package/layers/support/rasterFormats/Qb3.js +5 -0
  109. package/layers/support/rasterFormats/RasterCodec.js +1 -1
  110. package/layers/support/tiles3DUtils.js +5 -0
  111. package/layers/video/VideoController.js +1 -1
  112. package/package.json +2 -2
  113. package/rest/knowledgeGraph/GraphApplyEditsResult.js +1 -1
  114. package/rest/knowledgeGraph/wasmInterface/wasmToUpdateResponseFactories.js +1 -1
  115. package/rest/knowledgeGraphService.js +1 -1
  116. package/rest/lastMileDelivery/enums.js +5 -0
  117. package/rest/lastMileDelivery.d.ts +10 -0
  118. package/rest/lastMileDelivery.js +5 -0
  119. package/rest/route/utils.js +1 -1
  120. package/rest/support/JobInfo.js +1 -1
  121. package/rest/support/LastMileDeliveryParameters.d.ts +4 -0
  122. package/rest/support/LastMileDeliveryParameters.js +5 -0
  123. package/support/revision.js +1 -1
  124. package/symbols/IconSymbol3DLayer.js +1 -1
  125. package/symbols/TextSymbol3DLayer.js +1 -1
  126. package/symbols/patterns/StylePattern3D.js +1 -1
  127. package/symbols/patterns/styles.js +1 -1
  128. package/symbols/support/IconSymbol3DLayerResource.js +1 -1
  129. package/symbols/support/OccludedVisibility.js +5 -0
  130. package/symbols/support/Symbol3DAnchorPosition2D.js +1 -1
  131. package/symbols/support/Symbol3DIconOutline.js +1 -1
  132. package/unionTypes.d.ts +3 -0
  133. package/views/2d/analysis/AnalysisView2D.js +5 -0
  134. package/views/2d/analysis/ElevationProfileAnalysisView2D.d.ts +4 -0
  135. package/views/2d/analysis/ElevationProfileAnalysisView2D.js +5 -0
  136. package/views/2d/analysis/analysisViewModuleImportUtils.js +5 -0
  137. package/views/2d/engine/webgl/Painter.js +1 -1
  138. package/views/2d/engine/webgl/shaderGraph/GraphShaderModule.js +1 -1
  139. package/views/2d/engine/webgl/shaderGraph/techniques/TextureStatisticsTechnique.js +5 -0
  140. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/TextureStatisticsDiffShader.js +5 -0
  141. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/TextureStatisticsMinMaxSumShader.js +5 -0
  142. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/TextureStatisticsStdDevShader.js +5 -0
  143. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/TextureStatisticsSumOfSquaredDiffShader.js +5 -0
  144. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/utils.js +1 -1
  145. package/views/2d/engine/webgl/shaderGraph/techniques/videoScreenRenderer/VideoScreenTechnique.js +1 -1
  146. package/views/2d/layers/FeatureLayerView2D.js +1 -1
  147. package/views/2d/layers/features/layerAdapters/FeatureLayerAdapter.js +1 -1
  148. package/views/2d/layers/features/layerAdapters/InMemoryLayerAdapter.js +1 -1
  149. package/views/2d/layers/features/layerAdapters/KnowledgeGraphSublayerAdapter.js +1 -1
  150. package/views/2d/layers/features/layerAdapters/OGCFeatureLayerAdapter.js +1 -1
  151. package/views/2d/layers/features/layerAdapters/OrientedImageryLayerAdapter.js +1 -1
  152. package/views/2d/layers/features/layerAdapters/ParquetLayerAdapter.js +1 -1
  153. package/views/2d/layers/features/layerAdapters/StreamLayerAdapter.js +1 -1
  154. package/views/3d/analysis/AnalysisView3D.js +1 -1
  155. package/views/3d/analysis/AreaMeasurementAnalysisView3D.js +1 -1
  156. package/views/3d/analysis/DimensionAnalysisView3D.js +1 -1
  157. package/views/3d/analysis/DirectLineMeasurementAnalysisView3D.js +1 -1
  158. package/views/3d/analysis/ElevationProfile/ElevationProfileHoveredPointsVisualization.js +1 -1
  159. package/views/3d/analysis/ElevationProfile/ElevationProfileInputVisualization.js +1 -1
  160. package/views/3d/analysis/ElevationProfile/ElevationProfileLineVisualization.js +5 -0
  161. package/views/3d/analysis/ElevationProfile/ElevationProfileSceneLineComputation.js +1 -1
  162. package/views/3d/analysis/ElevationProfile/ElevationProfileVisualization.js +1 -1
  163. package/views/3d/analysis/ElevationProfileAnalysisView3D.js +1 -1
  164. package/views/3d/analysis/LineOfSightAnalysisView3D.js +1 -1
  165. package/views/3d/analysis/SliceAnalysisView3D.js +1 -1
  166. package/views/3d/analysis/ViewshedAnalysisView3D.js +1 -1
  167. package/views/3d/analysis/VolumeMeasurementAnalysisView3D.js +1 -1
  168. package/views/3d/analysis/analysisViewModuleImportUtils.js +5 -0
  169. package/views/3d/environment/EnvironmentRenderer.js +1 -1
  170. package/views/3d/environment/Fog.glsl.js +1 -1
  171. package/views/3d/environment/Fog.js +1 -1
  172. package/views/3d/environment/FogTechniqueConfiguration.js +5 -0
  173. package/views/3d/environment/Precipitation.js +1 -1
  174. package/views/3d/layers/GaussianSplatLayerView3D.js +1 -1
  175. package/views/3d/layers/GraphicsView3D.js +1 -1
  176. package/views/3d/layers/IntegratedMesh3DTilesLayerView3D.js +1 -1
  177. package/views/3d/layers/{IntegratedMesh3DTilesViewPerformanceInfo.js → Lyr3DViewPerformanceInfo.js} +1 -1
  178. package/views/3d/layers/Lyr3DWasm.js +1 -1
  179. package/views/3d/layers/graphics/Graphics3DCore.js +1 -1
  180. package/views/3d/layers/graphics/Graphics3DIconSymbolLayer.js +1 -1
  181. package/views/3d/layers/graphics/Graphics3DSymbol.js +1 -1
  182. package/views/3d/layers/graphics/Graphics3DSymbolLayer.js +1 -1
  183. package/views/3d/layers/graphics/Graphics3DTextSymbolLayer.js +1 -1
  184. package/views/3d/layers/graphics/Graphics3DWebStyleSymbol.js +1 -1
  185. package/views/3d/layers/graphics/Labeler.js +1 -1
  186. package/views/3d/layers/support/LayerViewAnalysisViewManager.js +1 -1
  187. package/views/3d/support/GaussianSplatSortWorker.js +1 -1
  188. package/views/3d/support/GaussianSplatWorkerHandle.js +1 -1
  189. package/views/3d/support/QualitySettings.js +1 -1
  190. package/views/3d/support/pointsOfInterest/ContentGeometryUpdates.js +1 -1
  191. package/views/3d/support/pointsOfInterest/PointsOfInterest.js +1 -1
  192. package/views/3d/webgl-engine/collections/Component/Material/ComponentMaterial.js +1 -1
  193. package/views/3d/webgl-engine/core/shaderLibrary/util/ComputeCovariance.glsl.js +40 -0
  194. package/views/3d/webgl-engine/core/shaderLibrary/util/GaussianSplatUnpacking.glsl.js +59 -0
  195. package/views/3d/webgl-engine/core/shaderLibrary/util/QuaternionToRotationMatrix.glsl.js +23 -0
  196. package/views/3d/webgl-engine/effects/blit/Blit.js +1 -1
  197. package/views/3d/webgl-engine/effects/bloom/BloomComposition.glsl.js +1 -1
  198. package/views/3d/webgl-engine/effects/bloom/BloomCompositionTechnique.js +1 -1
  199. package/views/3d/webgl-engine/effects/bloom/BloomRenderNode.js +1 -1
  200. package/views/3d/webgl-engine/effects/weather/SnowCover.glsl.js +4 -4
  201. package/views/3d/webgl-engine/lib/BindParameters.js +1 -1
  202. package/views/3d/webgl-engine/lib/GaussianSplatRenderNode.js +5 -0
  203. package/views/3d/webgl-engine/lib/Renderer.js +1 -1
  204. package/views/3d/webgl-engine/lib/lodRendering/LodRenderer.js +1 -1
  205. package/views/3d/webgl-engine/materials/DefaultMaterial.js +1 -1
  206. package/views/3d/webgl-engine/materials/PathMaterial.js +1 -1
  207. package/views/3d/webgl-engine/shaders/GaussianSplat.glsl.js +5 -0
  208. package/views/3d/webgl-engine/shaders/GaussianSplatComposition.glsl.js +5 -0
  209. package/views/3d/webgl-engine/shaders/GaussianSplatCompositionTechnique.js +5 -0
  210. package/views/3d/webgl-engine/shaders/GaussianSplatCompositionTechniqueConfiguration.js +5 -0
  211. package/views/3d/webgl-engine/shaders/GaussianSplatDepthComposition.glsl.js +5 -0
  212. package/views/3d/webgl-engine/shaders/GaussianSplatDepthCompositionTechnique.js +5 -0
  213. package/views/3d/webgl-engine/shaders/GaussianSplatDepthTechnique.js +5 -0
  214. package/views/3d/webgl-engine/shaders/GaussianSplatTechnique.js +5 -0
  215. package/views/3d/webgl-engine/shaders/GaussianSplatTechniqueConfiguration.js +5 -0
  216. package/views/3d/webgl-engine/shaders/RealisticTree.glsl.js +1 -1
  217. package/views/SceneView.js +1 -1
  218. package/views/VideoView.js +1 -1
  219. package/views/View2D.js +1 -1
  220. package/views/analysis/AnalysisView.js +5 -0
  221. package/views/analysis/ElevationProfile/ElevationProfileInputLineComputation.js +1 -1
  222. package/views/analysis/ElevationProfile/ElevationProfileResult.js +1 -1
  223. package/views/analysis/ElevationProfile/ElevationProfileTool.js +5 -0
  224. package/views/analysis/ElevationProfile/elevationProfileGeometryUtils.js +1 -1
  225. package/views/layers/FeatureLayerView.js +1 -1
  226. package/views/support/AnalysisViewManager.js +1 -1
  227. package/views/webgl/FramebufferObject.js +1 -1
  228. package/widgets/CoordinateConversion/support/Format.js +1 -1
  229. package/widgets/Locate/LocateViewModel.js +1 -1
  230. package/widgets/OrientedImageryViewer/imageMeasurementUtils.js +1 -1
  231. package/widgets/Popup/actionUtils.js +1 -1
  232. package/assets/esri/core/workers/chunks/08d420cd7cfa19a10fa4.js +0 -1
  233. package/assets/esri/core/workers/chunks/17abab49db1813d3e192.js +0 -1
  234. package/assets/esri/core/workers/chunks/182383fd00008606bfaa.js +0 -1
  235. package/assets/esri/core/workers/chunks/188feb2bcbf8e48e3163.js +0 -1
  236. package/assets/esri/core/workers/chunks/232c76f122b1f519e099.js +0 -1
  237. package/assets/esri/core/workers/chunks/3124a8516e815efec973.js +0 -1
  238. package/assets/esri/core/workers/chunks/3461701a15be46603c56.js +0 -1
  239. package/assets/esri/core/workers/chunks/36acf191a2d48560c796.js +0 -1
  240. package/assets/esri/core/workers/chunks/40e1fbfbf3f3979b3713.js +0 -1
  241. package/assets/esri/core/workers/chunks/4b1daffa97fd90a554a0.js +0 -1
  242. package/assets/esri/core/workers/chunks/4b68783e8d1415d0a171.js +0 -1
  243. package/assets/esri/core/workers/chunks/5915f5ba9064097aee79.js +0 -1
  244. package/assets/esri/core/workers/chunks/5e1afea05b624b315d9f.js +0 -1
  245. package/assets/esri/core/workers/chunks/5ed7e139c72cd2b3ddba.js +0 -1
  246. package/assets/esri/core/workers/chunks/63f3e46bfa820436161c.js +0 -1
  247. package/assets/esri/core/workers/chunks/702d2c668dedf83421ca.js +0 -1
  248. package/assets/esri/core/workers/chunks/7b2ec80dca0fdb0442cf.js +0 -1
  249. package/assets/esri/core/workers/chunks/7b9178c3826f9ef52a00.js +0 -1
  250. package/assets/esri/core/workers/chunks/9a20390602126995f831.js +0 -1
  251. package/assets/esri/core/workers/chunks/a2150baf0661e2f28011.js +0 -1
  252. package/assets/esri/core/workers/chunks/a532614aa65fb52dee7b.js +0 -1
  253. package/assets/esri/core/workers/chunks/abededd48e0ea6cfec01.js +0 -1
  254. package/assets/esri/core/workers/chunks/ae1cb4c65d72217ae4d4.js +0 -1
  255. package/assets/esri/core/workers/chunks/c1c6202f7bef24b5db26.js +0 -1
  256. package/assets/esri/core/workers/chunks/c75b0243e5bb84738419.js +0 -1
  257. package/assets/esri/core/workers/chunks/d47c3431c501d77b1779.js +0 -1
  258. package/assets/esri/core/workers/chunks/f6d91256c4e5f8a0d5c0.js +0 -1
  259. package/assets/esri/core/workers/chunks/f711aeba1a2c184ddb43.js +0 -1
  260. package/graphic/isPopupProviderGraphicOrigin.js +0 -5
  261. package/views/2d/analysisViewModuleImportUtils.js +0 -5
  262. package/views/3d/analysis/ElevationProfile/ElevationProfileLinesVisualization.js +0 -5
  263. package/views/3d/analysisViewModuleImportUtils.js +0 -5
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[9689],{18768:(e,t,i)=>{i.d(t,{b:()=>l});var s=i(31635),r=i(53966),n=i(10107),a=(i(44208),i(87811),i(40608)),o=i(60694);const l=e=>{const t=e;let i=class extends t{get title(){if(this._get("title")&&"defaults"!==this.originOf("title"))return this._get("title");if(this.url){const e=(0,o.qg)(this.url);if(e?.title)return e.title}return this._get("title")||""}set title(e){this._set("title",e)}set url(e){this._set("url",(0,o.Jf)(e,r.A.getLogger(this)))}};return(0,s.Cg)([(0,n.MZ)()],i.prototype,"title",null),(0,s.Cg)([(0,n.MZ)({type:String})],i.prototype,"url",null),i=(0,s.Cg)([(0,a.$)("esri.layers.mixins.ArcGISService")],i),i}},21312:(e,t,i)=>{i.d(t,{A:()=>m});var s,r=i(31635),n=i(10107),a=(i(44208),i(53966),i(87811),i(93223)),o=i(36005),l=i(40608),c=i(43937),u=i(5443),f=i(86738),h=i(82434);function p(e,t,i){const{x:s,y:r}=t;if(i<2)return{x:e[0]+s*e[2]+r*e[4],y:e[1]+s*e[3]+r*e[5]};if(2===i){const t=s*s,i=r*r,n=s*r;return{x:e[0]+s*e[2]+r*e[4]+t*e[6]+n*e[8]+i*e[10],y:e[1]+s*e[3]+r*e[5]+t*e[7]+n*e[9]+i*e[11]}}const n=s*s,a=r*r,o=s*r,l=n*s,c=n*r,u=s*a,f=r*a;return{x:e[0]+s*e[2]+r*e[4]+n*e[6]+o*e[8]+a*e[10]+l*e[12]+c*e[14]+u*e[16]+f*e[18],y:e[1]+s*e[3]+r*e[5]+n*e[7]+o*e[9]+a*e[11]+l*e[13]+c*e[15]+u*e[17]+f*e[19]}}function d(e,t,i){const{xmin:s,ymin:r,xmax:n,ymax:a,spatialReference:o}=t;let l=[];if(i<2)l.push({x:s,y:a}),l.push({x:n,y:a}),l.push({x:s,y:r}),l.push({x:n,y:r});else{let e=10;for(let t=0;t<e;t++)l.push({x:s,y:r+(a-r)*t/(e-1)}),l.push({x:n,y:r+(a-r)*t/(e-1)});e=8;for(let t=1;t<=e;t++)l.push({x:s+(n-s)*t/e,y:r}),l.push({x:s+(n-s)*t/e,y:a})}l=l.map(t=>p(e,t,i));const c=l.map(e=>e.x),f=l.map(e=>e.y);return new u.A({xmin:Math.min.apply(null,c),xmax:Math.max.apply(null,c),ymin:Math.min.apply(null,f),ymax:Math.max.apply(null,f),spatialReference:o})}let m=s=class extends h.A{constructor(){super(...arguments),this.polynomialOrder=1,this.type="polynomial"}readForwardCoefficients(e,t){const{coeffX:i,coeffY:s}=t;if(!i?.length||!s?.length||i.length!==s.length)return null;const r=[];for(let e=0;e<i.length;e++)r.push(i[e]),r.push(s[e]);return r}writeForwardCoefficients(e,t,i){const s=[],r=[];for(let t=0;t<e?.length;t++)t%2==0?s.push(e[t]):r.push(e[t]);t.coeffX=s,t.coeffY=r}get inverseCoefficients(){let e=this._get("inverseCoefficients");const t=this._get("forwardCoefficients");return!e&&t&&this.polynomialOrder<2&&(e=function(e){const[t,i,s,r,n,a]=e,o=s*a-n*r,l=n*r-s*a;return[(n*i-t*a)/o,(s*i-t*r)/l,a/o,r/l,-n/o,-s/l]}(t)),e}set inverseCoefficients(e){this._set("inverseCoefficients",e)}readInverseCoefficients(e,t){const{inverseCoeffX:i,inverseCoeffY:s}=t;if(!i?.length||!s?.length||i.length!==s.length)return null;const r=[];for(let e=0;e<i.length;e++)r.push(i[e]),r.push(s[e]);return r}writeInverseCoefficients(e,t,i){const s=[],r=[];for(let t=0;t<e?.length;t++)t%2==0?s.push(e[t]):r.push(e[t]);t.inverseCoeffX=s,t.inverseCoeffY=r}get affectsPixelSize(){return this.polynomialOrder>0}forwardTransform(e){if("point"===e.type){const t=p(this.forwardCoefficients,e,this.polynomialOrder);return new f.A({x:t.x,y:t.y,spatialReference:e.spatialReference})}return d(this.forwardCoefficients,e,this.polynomialOrder)}inverseTransform(e){if("point"===e.type){const t=p(this.inverseCoefficients,e,this.polynomialOrder);return new f.A({x:t.x,y:t.y,spatialReference:e.spatialReference})}return d(this.inverseCoefficients,e,this.polynomialOrder)}clone(){return new s({polynomialOrder:this.polynomialOrder,forwardCoefficients:this.forwardCoefficients?[...this.forwardCoefficients]:null,inverseCoefficients:this.inverseCoefficients?[...this.inverseCoefficients]:null})}};(0,r.Cg)([(0,n.MZ)({json:{write:!0}})],m.prototype,"polynomialOrder",void 0),(0,r.Cg)([(0,n.MZ)()],m.prototype,"forwardCoefficients",void 0),(0,r.Cg)([(0,o.w)("forwardCoefficients",["coeffX","coeffY"])],m.prototype,"readForwardCoefficients",null),(0,r.Cg)([(0,c.K)("forwardCoefficients")],m.prototype,"writeForwardCoefficients",null),(0,r.Cg)([(0,n.MZ)({json:{write:!0}})],m.prototype,"inverseCoefficients",null),(0,r.Cg)([(0,o.w)("inverseCoefficients",["inverseCoeffX","inverseCoeffY"])],m.prototype,"readInverseCoefficients",null),(0,r.Cg)([(0,c.K)("inverseCoefficients")],m.prototype,"writeInverseCoefficients",null),(0,r.Cg)([(0,n.MZ)()],m.prototype,"affectsPixelSize",null),(0,r.Cg)([(0,a.e)({PolynomialXform:"polynomial"})],m.prototype,"type",void 0),m=s=(0,r.Cg)([(0,l.$)("esri.layers.support.rasterTransforms.PolynomialTransform")],m)},24212:(e,t,i)=>{function s(e,t){return function(e,t){return t?.mode?t.mode:function(e){return e?l:c}(e).mode}(null==e||(e.hasZ??!1),t)}function r(e,t,i){return i&&i.mode!==t?`${e} only support ${t} elevation mode`:null}function n(e,t,i){return i?.mode===t?`${e} do not support ${t} elevation mode`:null}function a(e,t){return null!=t?.featureExpressionInfo&&"0"!==t.featureExpressionInfo.expression?`${e} do not support featureExpressionInfo`:null}function o(e,t){t&&e.warn(".elevationInfo=",t)}i.d(t,{$7:()=>n,B:()=>r,XF:()=>o,tW:()=>a,w7:()=>s}),i(83047),i(16271);const l={mode:"absolute-height",offset:0},c={mode:"on-the-ground",offset:null}},25943:(e,t,i)=>{i.d(t,{d:()=>S});var s,r=i(31635),n=i(78888),a=i(65008),o=i(49186),l=i(36563),c=(i(44208),i(66344)),u=i(15142),f=i(74887),h=i(36708),p=i(96211),d=i(84952),m=i(10107),g=(i(53966),i(87811),i(40608)),y=i(72802),w=i(4718),v=i(69397),x=i(34275);class b{constructor(e){!function(e){if(!e?.location)throw new o.A("tilemap:missing-location","Location missing from tilemap response");if(!1===e.valid)throw new o.A("tilemap:invalid","Tilemap response was marked as invalid");if(!e.data)throw new o.A("tilemap:missing-data","Data missing from tilemap response");if(!Array.isArray(e.data))throw new o.A("tilemap:data-mismatch","Data must be an array of numbers");if(e.data.length!==e.location.width*e.location.height)throw new o.A("tilemap:data-mismatch","Number of data items does not match width/height of tilemap")}(e);const{location:t,data:i}=e;this.location=Object.freeze((0,w.o8)(t));const s=this.location.width,r=this.location.height;let n=!0,a=!0;const l=function(e,t=!1){return e<=x.y9?t?new Array(e).fill(0):new Array(e):new Uint32Array(e)}(Math.ceil(s*r/32));let c=0;for(let e=0;e<i.length;e++){const t=e%32;i[e]?(a=!1,l[c]|=1<<t):n=!1,31===t&&++c}a?(this._availability="unavailable",this.byteSize=40):n?(this._availability="available",this.byteSize=40):(this._availability=l,this.byteSize=40+(0,v.Qf)(l))}getAvailability(e,t){if("unavailable"===this._availability||"available"===this._availability)return this._availability;const i=(e-this.location.top)*this.location.width+(t-this.location.left),s=i%32,r=i>>5,n=this._availability;return r<0||r>n.length?"unknown":n[r]&1<<s?"available":"unavailable"}static fromDefinition(e,t){const i=e.service.request||n.A,{row:s,col:r,width:a,height:l}=e,c={query:{f:"json"}};return t=t?{...c,...t}:c,i(function(e){let t;if(e.service.tileServers?.length){const i=e.service.tileServers;t=`${i&&i.length?i[e.row%i.length]:e.service.url}/tilemap/${e.level}/${e.row}/${e.col}/${e.width}/${e.height}`}else t=`${e.service.url}/tilemap/${e.level}/${e.row}/${e.col}/${e.width}/${e.height}`;const i=e.service.query;return i&&(t=`${t}?${i}`),t}(e),t).then(e=>e.data).catch(e=>{if(422===e?.details?.httpStatus)return{location:{top:s,left:r,width:a,height:l},valid:!0,data:new Array(a*l).fill(0)};throw e}).then(e=>{if(e.location&&(e.location.top!==s||e.location.left!==r||e.location.width!==a||e.location.height!==l))throw new o.A("tilemap:location-mismatch","Tilemap response for different location than requested",{response:e,definition:{top:s,left:r,width:a,height:l}});return b.fromJSON(e)})}static fromJSON(e){return Object.freeze(new b(e))}}function I(e){return`${e.level}/${e.row}/${e.col}/${e.width}/${e.height}`}function C(e,t,i){return new o.A("tile-map:tile-unavailable","Tile is not available",{level:e,row:t,col:i})}let S=class extends a.A{static{s=this}constructor(e){super(e),this._pendingTilemapRequests={},this.request=n.A,this.size=32,this._prefetchingEnabled=!0}initialize(){this._tilemapCache=new c.q(2097152),this.addHandles((0,h.wB)(()=>{const{layer:e}=this;return[e?.parsedUrl,e?.tileServers,e?.apiKey,e?.customParameters]},()=>this._initializeTilemapDefinition(),h.Vh))}get effectiveMinLOD(){return this.minLOD??this.layer.tileInfo.lods[0].level}get effectiveMaxLOD(){return this.maxLOD??this.layer.tileInfo.lods[this.layer.tileInfo.lods.length-1].level}getAvailability(e,t,i){if(!this.layer.tileInfo.lodAt(e)||e<this.effectiveMinLOD||e>this.effectiveMaxLOD)return"unavailable";const s=this._tilemapFromCache(e,t,i,this._tmpTilemapDefinition);return s?s.getAvailability(t,i):"unknown"}fetchAvailability(e,t,i,s){return!this.layer.tileInfo.lodAt(e)||e<this.effectiveMinLOD||e>this.effectiveMaxLOD?Promise.reject(C(e,t,i)):this._fetchTilemap(e,t,i,s).catch(e=>e).then(s=>{if(s instanceof b){const r=s.getAvailability(t,i);if("unavailable"===r)throw C(e,t,i);return r}if((0,f.zf)(s))throw s;return"unknown"})}fetchAvailabilityUpsample(e,t,i,s,r){s.level=e,s.row=t,s.col=i;const n=this.layer.tileInfo;n.updateTileInfo(s);const a=this.fetchAvailability(e,t,i,r).catch(e=>{if((0,f.zf)(e))throw e;if(n.upsampleTile(s))return this.fetchAvailabilityUpsample(s.level,s.row,s.col,s,r);throw e});return this._fetchAvailabilityUpsamplePrefetch(s.id,e,t,i,r,a),a}async _fetchAvailabilityUpsamplePrefetch(e,t,i,r,n,a){if(!this._prefetchingEnabled||null==e)return;const o=`prefetch-${e}`;if(this.hasHandles(o))return;const c=new AbortController;a.then(()=>c.abort(),()=>c.abort());let u=!1;const h=(0,l.hA)(()=>{u||(u=!0,c.abort())});if(this.addHandles(h,o),await(0,p.md)(10,c.signal).catch(()=>{}),u||(u=!0,this.removeHandles(o)),(0,f.G4)(c))return;const d=new y.U(e,t,i,r),m={...n,signal:c.signal},g=this.layer.tileInfo;for(let e=0;s._prefetches.length<s._maxPrefetch&&g.upsampleTile(d);++e){const e=this.fetchAvailability(d.level,d.row,d.col,m);s._prefetches.push(e);const t=()=>{s._prefetches.removeUnordered(e)};e.then(t,t)}}static{this._maxPrefetch=4}static{this._prefetches=new u.A({initialSize:s._maxPrefetch})}static cleanupTilemapCache(){this._prefetches.prune()}_fetchTilemap(e,t,i,s){if(!this.layer.tileInfo.lodAt(e)||e<this.effectiveMinLOD||e>this.effectiveMaxLOD)return Promise.reject(new o.A("tilemap-cache:level-unavailable",`Level ${e} is unavailable in the service`));const r=this._tmpTilemapDefinition,n=this._tilemapFromCache(e,t,i,r);if(n)return Promise.resolve(n);const a=s?.signal;return s={...s,signal:null},new Promise((e,t)=>{(0,f.u7)(a,()=>t((0,f.NK)()));const i=I(r);let n=this._pendingTilemapRequests[i];if(!n){n=b.fromDefinition(r,s).then(e=>(this._tilemapCache.put(i,e,e.byteSize),e));const e=()=>{delete this._pendingTilemapRequests[i]};this._pendingTilemapRequests[i]=n,n.then(e,e)}n.then(e,t)})}_initializeTilemapDefinition(){if(!this.layer.parsedUrl)return;const{parsedUrl:e,apiKey:t,customParameters:i}=this.layer;this._tilemapCache.clear(),this._tmpTilemapDefinition={service:{url:e.path,query:(0,d.x0)({...e.query,...i,token:t??e.query?.token}),tileServers:this.layer.tileServers,request:this.request},width:this.size,height:this.size,level:0,row:0,col:0}}_tilemapFromCache(e,t,i,s){s.level=e,s.row=t-t%this.size,s.col=i-i%this.size;const r=I(s);return this._tilemapCache.get(r)}get test(){}};(0,r.Cg)([(0,m.MZ)({constructOnly:!0})],S.prototype,"layer",void 0),(0,r.Cg)([(0,m.MZ)({constructOnly:!0})],S.prototype,"minLOD",void 0),(0,r.Cg)([(0,m.MZ)({constructOnly:!0})],S.prototype,"maxLOD",void 0),(0,r.Cg)([(0,m.MZ)({constructOnly:!0})],S.prototype,"request",void 0),(0,r.Cg)([(0,m.MZ)({constructOnly:!0})],S.prototype,"size",void 0),S=s=(0,r.Cg)([(0,g.$)("esri.layers.support.TilemapCache")],S)},39689:(e,t,i)=>{i.r(t),i.d(t,{default:()=>We});var s=i(31635),r=i(13874),n=i(69540),a=i(49186),o=i(53966),l=i(92071),c=i(74887),u=i(36708),f=i(10107),h=i(56507),p=i(44208),d=(i(87811),i(40608)),m=i(99959);const g=Symbol("isImageryTileGraphicOrigin");var y;class w extends m.A{static{y=g}constructor(e){super(),this[y]=!0,this.type="imagery-tile",this.layer=e}}var v=i(4146),x=i(18768),b=i(63074),I=i(69208),C=i(89015),S=i(16131),A=i(8303),T=i(63660),R=i(56551),O=i(54310),M=i(25036),_=i(82935),F=i(10873),P=i(20437),k=i(74797),D=i(22796),N=i(76353),L=i(84169),E=i(4916),B=i(68197),z=i(5443),J=i(16930),$=i(73444),U=i(14140),j=i(16019);function q(e){return["x","e","east","long","longitude"].includes(e.toLowerCase())}function V(e){return["y","n","west","lat","latitude"].includes(e.toLowerCase())}function Z(e){const t=(0,$.lR)();return t?e[t]??Object.values(e)[0]:Object.values(e)[0]}function H(){return Math.round(255*Math.random())}function G(e){const t={},{parameters:i}=e;if(!i)return t;for(const[e,s]of Object.entries(i)){const{type:i,description:r,unit:n,categoryEncoding:a,observedProperty:o}=s;if("Parameter"===i&&(t[e]={},r&&(t[e].description=Z(r)),n&&(t[e].unit=n.label?Z(n.label):null,t[e].symbol=n.symbol?.value),a)){const i=Object.entries(a).map((e,t)=>({OID:t,Value:Number(e[1]),ClassName:e[0].slice(e[0].lastIndexOf("/")+1),Count:1}));let s=!1;o?.categories?.length&&(o.categories.forEach(e=>{if(!e.id)return;const t=e.id.slice(e.id.lastIndexOf("/")+1),r=i.find(e=>e.ClassName===t);if(!r)return;const n=e.label?Z(e.label):null;if(r.Label=n,e.preferredColor){const t=B.A.fromHex(e.preferredColor);t&&(s=!0,r.Red=t.r,r.Green=t.g,r.Blue=t.b)}}),s&&i.forEach(e=>{null==e.Red&&(e.Red=H(),e.Green=H(),e.Blue=H())}));const r={objectIdFieldName:"",fields:[{name:"OID",type:"esriFieldTypeOID",alias:"OID",domain:null},{name:"Value",type:"esriFieldTypeInteger",alias:"Value",domain:null},{name:"Count",type:"esriFieldTypeDouble",alias:"Count",domain:null},{name:"ClassName",type:"esriFieldTypeString",alias:"ClassName",domain:null,length:50},{name:"Label",type:"esriFieldTypeString",alias:"Label",domain:null,length:50}],features:i.map(e=>({attributes:e}))};s&&r.fields.push({name:"Red",type:"esriFieldTypeInteger",alias:"Red",domain:null},{name:"Green",type:"esriFieldTypeInteger",alias:"Green",domain:null},{name:"Blue",type:"esriFieldTypeInteger",alias:"Blue",domain:null}),t[e].attributeTable=r}}return t}function W(e){let t=Number.MAX_VALUE,i=-Number.MAX_VALUE;for(let s=0;s<e.length;s++){const r=e[s];null!=r&&(r<t&&(t=r),r>i&&(i=r))}return(0,j.X1)(t,i)}function X(e,t,i){const s=e.map((e,i)=>({name:e,count:t[i]})).sort((e,t)=>e.name>t.name?-1:1),r=(n=1,e=>n*=e.count);var n;const a=[...s.slice(1),{name:"",count:1}].reverse().map(r).reverse();let o=0;for(let r=e.length-1;r>=0;r--)o+=a[s.findIndex(({name:t})=>t===e[r])]*(i%t[r]),i=Math.floor(i/t[r]);return o}var Y=i(45617),K=i(87186),Q=i(77301),ee=i(28435),te=i(6952);let ie=class extends E.A{constructor(){super(...arguments),this.datasetFormat="MEMORY",this.source=null}get url(){return""}fetchRawTile(e,t,i,s={}){if(!this._pixelBlockTiles){const{rasterInfo:r}=this,[n,a]=r.storageInfo.tileInfo.size,{sliceId:o}=s,{pixelBlocks:l}=this.source,c={pixelBlock:null==o?l[0]:l[o],useBilinear:"thematic"!==r.dataType,tileSize:{width:n,height:a},level:e,row:t,col:i},u=this.rasterJobHandler?this.rasterJobHandler.clipTile(c,s):(0,ee.J$)(c);return Promise.resolve(u)}const r=this._pixelBlockTiles.get(`${e}/${t}/${i}`);return Promise.resolve(r)}async _open(e){const t=this.source,{pixelBlocks:i,attributeTable:s,statistics:r,histograms:n,name:a,nativeExtent:o,transform:l}=t,c=i[0],{width:u,height:f,pixelType:h}=c,p=t.extent??new z.A({xmin:-.5,ymin:.5,xmax:u-.5,ymax:f-.5,spatialReference:new J.A({wkid:3857})}),d=t.isPseudoSpatialReference??!t.extent,m={x:p.width/u,y:p.height/f},g={...t.keyProperties};s&&(g.DataType="Thematic");const y=new K.A({width:u,height:f,pixelType:h,extent:p,nativeExtent:o,attributeTable:s,transform:l,pixelSize:m,spatialReference:p.spatialReference,bandCount:c.pixels.length,keyProperties:g,multidimensionalInfo:t.multidimensionalInfo,statistics:r,isPseudoSpatialReference:d,histograms:n});this.ioConfig.skipMapInfo&&this.updateImageSpaceRasterInfo(y),this.createRemoteDatasetStorageInfo(y,512,512),this._set("rasterInfo",y),this.updateTileInfo(),y.multidimensionalInfo?await this._buildMDimStats(t.pixelBlocks,y.multidimensionalInfo):await this._buildInMemoryRaster(c,{width:512,height:512},e),y.multidimensionalInfo||(this.source=null),this.datasetName=a}async _buildInMemoryRaster(e,t,i){const{rasterInfo:s}=this,r=s.storageInfo.maximumPyramidLevel??0,n="thematic"!==s.dataType,o=this.rasterJobHandler?this.rasterJobHandler.split({pixelBlock:e,tileSize:t,maximumPyramidLevel:r,useBilinear:n},i):Promise.resolve((0,ee.lD)(e,t,r,n)),l=null!=s.statistics,u=null!=s.histograms,f=this.ioConfig.skipStatistics||l?Promise.resolve({statistics:null,histograms:null}):this.rasterJobHandler?this.rasterJobHandler.estimateStatisticsHistograms({pixelBlock:e},i):Promise.resolve((0,te.f4)(e)),h=await(0,c.Lx)([o,f]);if(!h[0].value&&h[1].value)throw new a.A("inmemory-raster:open","failed to build in memory raster");this._pixelBlockTiles=h[0].value,l||(s.statistics=h[1].value?.statistics),u||(s.histograms=h[1].value?.histograms)}async _buildMDimStats(e,t,i){for(let s=0;s<t.variables.length;s++){const r=t.variables[s];if(r.statistics)continue;const n=r.dimensions.map(e=>new Y.A({variableName:r.name,dimensionName:e.name,values:[e.values?.[0]??e.extent?.[0]],isSlice:!0})),a=(0,Q.NG)(n,t),o=null==a?null:e[a];if(null==o)continue;const l=this.rasterJobHandler?await this.rasterJobHandler.computeStatisticsHistograms({pixelBlock:o},i):(0,te.eH)(o);r.statistics=l.statistics,r.histograms||(r.histograms=l.histograms)}}};(0,s.Cg)([(0,f.MZ)({type:String,json:{write:!0}})],ie.prototype,"datasetFormat",void 0),(0,s.Cg)([(0,f.MZ)()],ie.prototype,"source",void 0),(0,s.Cg)([(0,f.MZ)()],ie.prototype,"url",null),ie=(0,s.Cg)([(0,d.$)("esri.layers.support.rasterDatasets.InMemoryRaster")],ie);const se=ie;var re=i(22671);let ne=class extends E.A{constructor(){super(...arguments),this.datasetFormat="CovJSON"}fetchRawTile(e,t,i,s={}){return this._inMemoryRaster.fetchRawTile(e,t,i,s)}async _open(e){const{extent:t,pixelBlocks:i,multidimensionalInfo:s,attributeTable:r,bandNames:n}=await this._fetchData(e),{statistics:a,histograms:o}=(0,te.eH)(i[0]),l=n?.map(e=>({BandName:e})),c={DataType:r?"Thematic":s?"Scientific":"Generic",BandProperties:l},u=new se({source:{extent:t,pixelBlocks:i,attributeTable:r?re.A.fromJSON(r):null,multidimensionalInfo:s,statistics:a,histograms:o,keyProperties:c,isPseudoSpatialReference:!1}});await u.open(),this._inMemoryRaster=u;const f=this.source?"":this.url.slice(this.url.lastIndexOf("/")+1);this._set("datasetName",f.slice(0,f.indexOf("."))),this._set("rasterInfo",u.rasterInfo)}async _fetchData(e){const t=this.source??(await this.request(this.url,{signal:e?.signal})).data,i="imagery-tile-layer:open-coverage-json";if("coverage"!==t.type?.toLowerCase()||"grid"!==t.domain?.domainType?.toLowerCase())throw new a.A(i,"Only coverage with Grid domain type is supported");if(!t.ranges)throw new a.A(i,"Missing ranges in the grid coverage data");if(!t.domain.referencing?.length)throw new a.A(i,"Missing domain referencing in the grid coverage data");const s=Object.values(t.ranges);for(let e=0;e<s.length;e++){const{axisNames:t,shape:r,type:n,values:o}=s[e];if(!("ndarray"===n.toLowerCase()&&o?.length&&t?.length&&r?.length))throw new a.A(i,"Only ranges with valid NdArray, axisNames, shape, and inline values are supported");if(!q(t[t.length-1])||!V(t[t.length-2]))throw new a.A(i,"Only row-major ordered pixel values are supported. X axis must be the last axis.")}return function(e){const{width:t,height:i,extent:s,dimensions:r}=function(e){const{axes:t}=e.domain,i=Object.keys(t),s=[],r=[];let n=-1,a=-1,o=[];for(let e=0;e<i.length;e++){const l=i[e];q(l)?n=e:V(l)&&(a=e);const c=t[l],u=[];if("values"in c){c.values.forEach(e=>u.push("string"==typeof e?new Date(e).getTime():e));const e=u[1]-u[0];s.push([u[0]-.5*e,u[u.length-1]+.5*e]),r.push(e)}else{const{start:e,stop:t,num:i}=c,n=(t-e)/(i-1);s.push([e-.5*n,t+.5*n]),r.push(n);for(let t=0;t<i;t++)u.push(e+n*t)}o.push({name:l,values:u,extent:[u[0],u[u.length-1]]})}n>-1&&-1===a?a=0===n?1:0:a>-1&&-1===n?n=0===a?1:0:-1===a&&-1===n&&(n=0,a=1),o=o.filter((e,t)=>!(t===n||t===a));const{referencing:l}=e.domain,c=l.find(e=>e.coordinates.includes(i[n])).system.id,u=c?.slice(c.lastIndexOf("/")+1),f=null==u||"CRS84"===u?4326:Number(u),h=new J.A({wkid:f}),[p,d]=s[n],[m,g]=s[a],y=new z.A({xmin:p,xmax:d,ymin:m,ymax:g,spatialReference:h});return{width:Math.round(y.width/r[n]),height:Math.round(y.height/r[a]),extent:y,dimensions:o}}(e),{ranges:n}=e,a=Object.keys(n).sort((e,t)=>e<t?-1:1),o=[];for(let e=0;e<a.length;e++){const t=a[e];r?.length&&o.push({name:t,dimensions:r})}const l=G(e);o.forEach(e=>l[e.name]&&Object.assign(e,l[e.name]));const c=o.length?{variables:o}:void 0,u=[];for(let e=0;e<a.length;e++){const s=a[e],{values:o,dataType:l,axisNames:c,shape:f}=n[s],h=f.length>2?e*f.slice(0,-2).reduce((e,t)=>e*t):0,p=c.slice(0,-2),d=f.slice(0,-2),m="float"===l?"f32":W(o),g=t*i,y=o.length/g;for(let s=0;s<y;s++){const n=U.A.createEmptyBand(m,g),a=new Uint8Array(g).fill(255);let l=!1;const c=s*g;for(let e=0;e<g;e++){const t=o[c+e];null==t?(a[e]=0,l=!0):n[e]=t}if(0===e||r?.length){const e=new U.A({width:t,height:i,mask:l?a:null,pixels:[n],pixelType:m});e.updateStatistics(),r?.length?u[X(p,d,s)+h]=e:u.push(e)}else{const e=u[s];e.pixels.push(n),l?e.mask&&(e.mask=U.A.combineBandMasks([e.mask,a])):e.mask=l?a:null}}}const f=Object.values(l).find(e=>e.attributeTable)?.attributeTable;return{extent:s,pixelBlocks:u,multidimensionalInfo:c,attributeTable:f,bandNames:c?void 0:a}}(t)}};(0,s.Cg)([(0,f.MZ)({type:String,json:{write:!0}})],ne.prototype,"datasetFormat",void 0),(0,s.Cg)([(0,f.MZ)({constructOnly:!0})],ne.prototype,"source",void 0),ne=(0,s.Cg)([(0,d.$)("esri.layers.support.rasterDatasets.CovJSONRaster")],ne);const ae=ne;var oe=i(4576),le=i(21325),ce=i(50103),ue=i(21312);function fe(e,t){if(!e||!t)return null;const i=[];for(let s=0;s<e.length;s++)i.push(e[s]),i.push(t[s]);return i}function he(e){if(!e)return null;let t=Number(e);if(!isNaN(t)&&0!==t)return new J.A({wkid:t});if(e=String(e).trim(),(0,le.jp)(e))return new J.A({wkt2:e});const i=e.toUpperCase();if(i.startsWith("COMPD_CS")){if(!i.includes("VERTCS")||!i.includes("GEOGCS")&&!i.startsWith("PROJCS"))return null;const s=i.indexOf("VERTCS"),r=i.indexOf("PROJCS"),n=r>-1?r:i.indexOf("GEOGCS");if(-1===n)return null;const a=e.slice(n,e.lastIndexOf("]",s)+1).trim(),o=e.slice(s,e.lastIndexOf("]")).trim();t=pe(a);const l=new J.A(t?{wkid:t}:{wkt:a}),c=pe(o);return c&&(l.vcsWkid=c),l}return i.startsWith("GEOGCS")||i.startsWith("PROJCS")?(t=pe(e),new J.A(0!==t?{wkid:t}:{wkt:e})):null}function pe(e){const t=e.replaceAll("]","[").replaceAll('"',"").split("[").map(e=>e.trim()).filter(e=>""!==e),i=t[t.length-1].split(","),s=i[0]?.toLowerCase();if(("epsg"===s||"esri"===s)&&e.endsWith('"]]')){const e=Number(i[1]);if(!isNaN(e)&&0!==e)return e}return 0}function de(e){if("pamdataset"!==e?.documentElement.tagName?.toLowerCase())return{};const t={spatialReference:null,transform:null,metadata:{},rasterBands:[],statistics:null,histograms:null};e.documentElement.childNodes.forEach(e=>{if(1===e.nodeType)if((0,ce.g7)(e,"SRS")){if(!t.spatialReference){const i=(0,ce.mX)(e);t.spatialReference=he(i)}}else if((0,ce.g7)(e,"Metadata"))if("xml:ESRI"===e.getAttribute("domain")){const{spatialReference:i,transform:s}=function(e){const t=(0,ce.V6)(e,"GeodataXform"),i=he((0,ce.v7)(t,"SpatialReference/WKID")||(0,ce.mX)(t,"SpatialReference/WKT"));if("typens:PolynomialXform"!==t.getAttribute("xsi:type"))return{spatialReference:i,transform:null};const s=(0,ce.v7)(t,"PolynomialOrder")??1,r=(0,ce.Ui)(t,"CoeffX/Double"),n=(0,ce.Ui)(t,"CoeffY/Double"),a=(0,ce.Ui)(t,"InverseCoeffX/Double"),o=(0,ce.Ui)(t,"InverseCoeffY/Double"),l=fe(r,n),c=fe(a,o);return{spatialReference:i,transform:l&&c&&l.length&&c.length?new ue.A({spatialReference:i,polynomialOrder:s,forwardCoefficients:l,inverseCoefficients:c}):null}}(e);t.transform=s,t.spatialReference||(t.spatialReference=i)}else(0,ce.IC)(e,"MDI").forEach(e=>t.metadata[e.getAttribute("key")]=(0,ce.mX)(e));else if((0,ce.g7)(e,"PAMRasterBand")){const i=function(e){const t=(0,ce.v7)(e,"NoDataValue"),i=(0,ce.V6)(e,"Histograms/HistItem"),s=(0,ce.v7)(i,"HistMin"),r=(0,ce.v7)(i,"HistMax"),n=(0,ce.v7)(i,"BucketCount"),a=(0,ce.mX)(i,"HistCounts")?.split("|").map(e=>Number(e));let o,l,c,u;(0,ce.IC)(e,"Metadata/MDI").forEach(e=>{const t=Number(e.textContent??e.nodeValue);switch(e.getAttribute("key").toUpperCase()){case"STATISTICS_MINIMUM":o=t;break;case"STATISTICS_MAXIMUM":l=t;break;case"STATISTICS_MEAN":c=t;break;case"STATISTICS_STDDEV":u=t}});const f=(0,ce.v7)(e,"Metadata/SourceBandIndex");return{noDataValue:t,histogram:a?.length&&null!=s&&null!=r?{min:s,max:r,size:n||a.length,counts:a}:null,sourceBandIndex:f,statistics:null!=o&&null!=l?{min:o,max:l,avg:c,stddev:u}:null}}(e);null!=i.sourceBandIndex&&null==t.rasterBands[i.sourceBandIndex]?t.rasterBands[i.sourceBandIndex]=i:t.rasterBands.push(i)}});const i=t.rasterBands;if(i.length){const e=!!i[0].statistics;t.statistics=e?i.map(e=>e.statistics).filter(oe.Ru):null;const s=!!i[0].histogram;t.histograms=s?i.map(e=>e.histogram).filter(oe.Ru):null}return t}var me=i(77649);let ge=class extends E.A{fetchRawTile(e,t,i,s={}){return this._inMemoryRaster.fetchRawTile(e,t,i,s)}async _open(e){const t=await this._fetchData(e);let{spatialReference:i,statistics:s,histograms:r,transform:n}=await this._fetchAuxiliaryData(e);const a=!i;a&&(i=new J.A({wkid:3857})),r?.length&&null==s&&(s=(0,te.Pg)(r));const{width:o,height:l}=t;let c=new z.A({xmin:-.5,ymin:.5-l,xmax:o-.5,ymax:.5,spatialReference:i});const u=n?n.forwardTransform(c):c;let f=!0;if(n){const e=n.forwardCoefficients;f=e&&0===e[1]&&0===e[2],f&&(n=null,c=u)}const h=new se({source:{extent:u,nativeExtent:c,transform:n,pixelBlocks:[t],statistics:s,histograms:r,keyProperties:{DateType:"Processed"},isPseudoSpatialReference:a},ioConfig:{sampling:"closest",skipStatistics:!0}});this.ioConfig.skipMapInfo&&(h.ioConfig.skipMapInfo=!0),await h.open(),h.source=null,this._set("rasterInfo",h.rasterInfo),this._inMemoryRaster=h}async _fetchData(e){const{data:t}=await this.request(this.url,{responseType:"array-buffer",signal:e?.signal}),i=(0,me.g)(t).toUpperCase();if("JPG"!==i&&"PNG"!==i&&"GIF"!==i&&"BMP"!==i)throw new a.A("image-aux-raster:open","the data is not a supported format");this._set("datasetFormat",i);const s=i.toLowerCase(),r="gif"===s||"bmp"===s||!(0,p.A)("ios"),n=await this.decodePixelBlock(t,{format:s,useCanvas:r,hasNoZlibMask:!0});if(null==n)throw new a.A("image-aux-raster:open","the data cannot be decoded");return n}async _fetchAuxiliaryData(e){const t=e?.signal,{skipExtensions:i=[],skipMapInfo:s}=this.ioConfig,r=s||i.includes("aux.xml")?null:this.request(this.url+".aux.xml",{responseType:"xml",signal:t}),n=this.datasetFormat,a="JPG"===n?"jgw":"PNG"===n?"pgw":"BMP"===n?"bpw":null,o=a&&i.includes(a)?null:this.request(this.url.slice(0,this.url.lastIndexOf("."))+"."+a,{responseType:"text",signal:t}),l=await(0,c.Lx)([r,o]);if(t?.aborted)throw(0,c.NK)();const u=de(l[0].value?.data);if(!u.transform){const e=l[1].value?l[1].value.data.split("\n").slice(0,6).map(e=>Number(e)):null;u.transform=6===e?.length?new ue.A({forwardCoefficients:[e[4],e[5],e[0],-e[1],e[2],-e[3]]}):null}return u}};(0,s.Cg)([(0,f.MZ)({type:String,json:{write:!0}})],ge.prototype,"datasetFormat",void 0),ge=(0,s.Cg)([(0,d.$)("esri.layers.support.rasterDatasets.ImageAuxRaster")],ge);const ye=ge;var we=i(97768),ve=i(84952),xe=i(86738),be=i(20223),Ie=i(87045),Ce=i(25943),Se=i(73037),Ae=i(82371);let Te=class extends E.A{constructor(){super(...arguments),this._levelOffset=0,this._tilemapCache=null,this._slices=null,this.datasetFormat="RasterTileServer",this.tileType=null}async fetchRawTile(e,t,i,s={}){const{storageInfo:r,extent:n}=this.rasterInfo,{transposeInfo:a}=r,o=null!=a&&!!s.transposedVariableName;if(this._slices&&!o&&null==s.sliceId)return null;const l=o?0:r.maximumPyramidLevel-e+this._levelOffset,c=`${this.url}/tile/${l}/${t}/${i}`,u=this._slices?o?{variable:s.transposedVariableName}:{sliceId:s.sliceId||0}:null;let f,h;if(r.isBsqTile){const e=(s.bandIds?.length?s.bandIds:[0,1,2]).map(e=>this.request(c,{query:{...u,bandId:e},responseType:"array-buffer",signal:s.signal})),t=await Promise.all(e),i=t.map(e=>e.data.byteLength).reduce((e,t)=>e+t),r=new Uint8Array(i);h=[];let n=0;for(const{data:e}of t)h.push(n),r.set(new Uint8Array(e),n),n+=e.byteLength;f=r.buffer}else f=(await this.request(c,{query:u,responseType:"array-buffer",signal:s.signal})).data;if(!f)return null;const p=o?a.tileSize:r.tileInfo.size,d=await this.decodePixelBlock(f,{width:p[0],height:p[1],planes:h?.length,offsets:h,pixelType:null,isPoint:"Elevation"===this.tileType,returnInterleaved:o,noDataValue:this.rasterInfo.noDataValue});if(null==d)return null;const m=r.blockBoundary[e];if("jpg"!==r.compression||i>m.minCol&&i<m.maxCol&&t>m.minRow&&t<m.maxRow)return d;const{origin:g,blockWidth:y,blockHeight:w}=r,{x:v,y:x}=this.getPyramidPixelSize(e),b=Math.round((n.xmin-g.x)/v)%y,I=Math.round((n.xmax-g.x)/v)%y||y,C=Math.round((g.y-n.ymax)/x)%w,S=Math.round((g.y-n.ymin)/x)%w||w,A=i===m.minCol?b:0,T=t===m.minRow?C:0,R=i===m.maxCol?I:y,O=t===m.maxRow?S:w;return(0,ee.z$)(d,{x:A,y:T},{width:R-A,height:O-T}),d}getSliceIndex(e){if(!this._slices||null==e||0===e.length)return null;const t=e;for(let e=0;e<this._slices.length;e++){const i=this._slices[e].multidimensionalDefinition;if(i.length===t.length&&!i.some(e=>{const i=t.find(t=>e.variableName===t.variableName&&t.dimensionName===e.dimensionName);return!i||(Array.isArray(e.values[0])?`${e.values[0][0]}-${e.values[0][1]}`:e.values[0])!==(Array.isArray(i.values[0])?`${i.values[0][0]}-${i.values[0][1]}`:i.values[0])}))return e}return null}async fetchVariableStatisticsHistograms(e,t){const i=this.request(this.url+"/statistics",{query:{variable:e,f:"json"},signal:t}).then(e=>e.data?.statistics),s=this.request(this.url+"/histograms",{query:{variable:e,f:"json"},signal:t}).then(e=>e.data?.histograms),r=await Promise.all([i,s]);return r[0]&&r[0].forEach(e=>{e.avg=e.mean,e.stddev=e.standardDeviation}),r[1]?.[0]?.counts?.length||(r[1]=null),{statistics:r[0]||null,histograms:r[1]||null}}async computeBestPyramidLevelForLocation(e,t={}){if(!this._tilemapCache)return 0;let i=this.identifyPixelLocation(e,0,t.datumTransformation);if(null===i)return null;let s=0;const{maximumPyramidLevel:r}=this.rasterInfo.storageInfo;let n=r-s+this._levelOffset;const a=i.srcLocation;for(;n>=0;){try{if("available"===await this._tilemapCache.fetchAvailability(n,i.row,i.col,t))break}catch{}if(n--,s++,i=this.identifyPixelLocation(a,s,t.datumTransformation),null===i)return null}return-1===n||null==i?null:s}async _open(e){const t=e?.signal,i=this.sourceJSON?{data:this.sourceJSON}:await this.request(this.url,{query:{f:"json"},signal:t});i.ssl&&(this.url=this.url.replace(/^http:/i,"https:"));const s=i.data;if(this.sourceJSON=s,!s)throw new a.A("imageserverraster:open","cannot initialize tiled image service, missing service info");if(!s.tileInfo)throw new a.A("imageserverraster:open","use ImageryLayer to open non-tiled image services");this._fixScaleInServiceInfo(),this.tileType=s.cacheType,null==this.tileType&&(["jpg","jpeg","png","png8","png24","png32","mixed"].includes(s.tileInfo.format.toLowerCase())?this.tileType="Map":"lerc"===s.tileInfo.format.toLowerCase()?this.tileType="Elevation":this.tileType="Raster"),this.datasetName=s.name?.slice(s.name.indexOf("/")+1)??"";const r=await this._fetchRasterInfo({signal:t});if(null==r)throw new a.A("image-server-raster:open","cannot initialize image service");(0,Ae.E9)(r,s);const n="Map"===this.tileType?function(e,t){if(!e)return null;const{minScale:i,maxScale:s,minLOD:r,maxLOD:n}=t;if(null!=r&&null!=n)return Ie.A.fromJSON({...e,lods:e.lods.filter(({level:e})=>null!=e&&e>=r&&e<=n)});if(0!==i&&0!==s){const t=e=>Math.round(1e4*e)/1e4,r=i?t(i):1/0,n=s?t(s):-1/0;return Ie.A.fromJSON({...e,lods:e.lods.filter(e=>{const i=t(e.scale);return i<=r&&i>=n})})}return Ie.A.fromJSON(e)}(s.tileInfo,s):Ie.A.fromJSON(s.tileInfo);(0,we.Lw)(n);const[o,l]=this._computeMinMaxLOD(r,n),{extent:c,pixelSize:u}=r,f=.5/r.width*u.x,h=Math.max(u.x,u.y),{lods:p}=n;("Map"!==this.tileType&&0!==s.maxScale||Math.abs(u.x-u.y)>f||!p.some(e=>Math.abs(e.resolution-h)<f))&&(u.x=u.y=o.resolution,r.width=Math.ceil((c.xmax-c.xmin)/u.x-.1),r.height=Math.ceil((c.ymax-c.ymin)/u.y-.1));const d=o.level-l.level,[m,g]=n.size,y=[],w=[];p.forEach((e,t)=>{e.level>=l.level&&e.level<=o.level&&y.push({x:e.resolution,y:e.resolution}),t<p.length-1&&w.push(Math.round(10*e.resolution/p[t+1].resolution)/10)}),y.sort((e,t)=>e.x-t.x);const v=this.computeBlockBoundary(c,m,g,n.origin,y,d),x=y.length>1?y.slice(1):null;let b;s.transposeInfo&&(b={tileSize:[s.transposeInfo.rows,s.transposeInfo.cols],packetSize:r.keyProperties?._yxs.PacketSize??0});const I=w.length<=1||w.length>=3&&w.slice(0,-1).every(e=>e===w[0])?w[0]??2:Math.round(10/(l.resolution/o.resolution)**(-1/d))/10;if(r.storageInfo=new be.A({blockWidth:n.size[0],blockHeight:n.size[1],pyramidBlockWidth:n.size[0],pyramidBlockHeight:n.size[1],pyramidResolutions:x,pyramidScalingFactor:I,compression:n.format,origin:n.origin,firstPyramidLevel:1,maximumPyramidLevel:d,tileInfo:n,isBsqTile:!!s.bsq,transposeInfo:b,blockBoundary:v}),function(e){const{extent:t,spatialReference:i}=e;t.xmin>-1&&t.xmax>181&&i?.wkid&&i.isGeographic&&(e.nativeExtent=e.extent,e.transform=new Se.A,e.extent=e.transform.forwardTransform(t))}(r),this._set("rasterInfo",r),s.capabilities.toLowerCase().includes("tilemap")){const e={tileInfo:r.storageInfo.tileInfo,parsedUrl:(0,ve.An)(this.url),url:this.url,tileServers:[]};this._tilemapCache=new Ce.d({layer:e})}}async _fetchRasterInfo(e){const t=this.sourceJSON;if("Map"===this.tileType){const e=t.fullExtent||t.extent,i=Math.ceil((e.xmax-e.xmin)/t.pixelSizeX-.1),s=Math.ceil((e.ymax-e.ymin)/t.pixelSizeY-.1),r=J.A.fromJSON(t.spatialReference||e.spatialReference),n=new xe.A({x:t.pixelSizeX,y:t.pixelSizeY,spatialReference:r});return new K.A({width:i,height:s,bandCount:3,extent:z.A.fromJSON(e),spatialReference:r,pixelSize:n,pixelType:"u8",statistics:null,keyProperties:{DataType:"processed"}})}const{signal:i}=e,s=(0,Ae.Tw)(this.url,this.sourceJSON,{signal:i,query:this.ioConfig.customFetchParameters}),r=t.hasMultidimensions?this.request(`${this.url}/slices`,{query:{f:"json"},signal:i}).then(e=>e.data?.slices).catch(()=>null):null,n=await Promise.all([s,r]);return this._slices=n[1],n[0]}_fixScaleInServiceInfo(){const{sourceJSON:e}=this;e.minScale&&e.minScale<0&&(e.minScale=0),e.maxScale&&e.maxScale<0&&(e.maxScale=0)}_computeMinMaxLOD(e,t){const{pixelSize:i}=e,s=.5/e.width*i.x,{lods:r}=t,n=t.lodAt(Math.max.apply(null,r.map(e=>e.level))),a=t.lodAt(Math.min.apply(null,r.map(e=>e.level))),{tileType:o}=this;if("Map"===o)return this._levelOffset=r[0].level,[n,a];if("Raster"===o)return[r.find(e=>e.resolution===i.x)??n,a];const{minScale:l,maxScale:c}=this.sourceJSON;let u=n;c>0&&(u=r.find(e=>Math.abs(e.scale-c)<s),u||(u=r.filter(e=>e.scale>c).sort((e,t)=>e.scale>t.scale?1:-1)[0]??n));let f=a;return l>0&&(f=r.find(e=>Math.abs(e.scale-l)<s)??a,this._levelOffset=f.level-a.level),[u,f]}};(0,s.Cg)([(0,f.MZ)({type:String,json:{write:!0}})],Te.prototype,"datasetFormat",void 0),(0,s.Cg)([(0,f.MZ)()],Te.prototype,"tileType",void 0),Te=(0,s.Cg)([(0,d.$)("esri.layers.support.rasterDatasets.ImageServerRaster")],Te);const Re=Te;var Oe=i(47124);const Me=new Map;Me.set("Int8","s8"),Me.set("UInt8","u8"),Me.set("Int16","s16"),Me.set("UInt16","u16"),Me.set("Int32","s32"),Me.set("UInt32","u32"),Me.set("Float32","f32"),Me.set("Float64","f32"),Me.set("Double64","f32");const _e=new Map;_e.set("none",{blobExtension:".til",isOneSegment:!0,decoderFormat:"bip"}),_e.set("lerc",{blobExtension:".lrc",isOneSegment:!1,decoderFormat:"lerc"}),_e.set("deflate",{blobExtension:".pzp",isOneSegment:!0,decoderFormat:"deflate"}),_e.set("jpeg",{blobExtension:".pjg",isOneSegment:!0,decoderFormat:"jpg"}),_e.set("qb3",{blobExtension:".pq3",isOneSegment:!0,decoderFormat:"qb3"});let Fe=class extends E.A{constructor(){super(...arguments),this._files=null,this._storageIndex=null,this.datasetFormat="MRF"}async fetchRawTile(e,t,i,s={}){const{blockWidth:r,blockHeight:n,blockBoundary:a}=this.rasterInfo.storageInfo,o=a[e];if(!o||o.maxRow<t||o.maxCol<i||o.minRow>t||o.minCol>i)return null;const{bandCount:l,pixelType:c}=this.rasterInfo,{ranges:u,actualTileWidth:f,actualTileHeight:h}=this._getTileLocation(e,t,i);if(!u||0===u.length)return null;if(0===u[0].from&&0===u[0].to){const e=new Uint8Array(r*n);return new U.A({width:r,height:n,pixels:void 0,mask:e,validPixelCount:0})}const{bandIds:p}=this.ioConfig,d=this._getBandSegmentCount(),m=[];let g=0;for(g=0;g<d;g++)p&&!p.includes(g)||m.push(this.request(this._files.data,{range:{from:u[g].from,to:u[g].to},responseType:"array-buffer",signal:s.signal}));const y=await Promise.all(m),w=y.map(e=>e.data.byteLength).reduce((e,t)=>e+t),v=new Uint8Array(w),x=[];let b=0;for(g=0;g<d;g++)x.push(b),v.set(new Uint8Array(y[g].data),b),b+=y[g].data.byteLength;const I=_e.get(this.rasterInfo.storageInfo.compression).decoderFormat,C=await this.decodePixelBlock(v.buffer,{width:r,height:n,format:I,planes:p?.length||l,offsets:x,pixelType:c}).catch(()=>null);if(null==C)return null;let{noDataValue:S}=this.rasterInfo;if(null!=S&&"lerc"!==I&&!C.mask&&(S=S[0],null!=S)){const e=C.width*C.height,t=new Uint8Array(e);if(Math.abs(S)>1e24)for(g=0;g<e;g++)Math.abs((C.pixels[0][g]-S)/S)>1e-6&&(t[g]=1);else for(g=0;g<e;g++)C.pixels[0][g]!==S&&(t[g]=1);C.mask=t}let A=0,T=0;if(f!==r||h!==n){let e=C.mask;if(e)for(g=0;g<n;g++)if(T=g*r,g<h)for(A=f;A<r;A++)e[T+A]=0;else for(A=0;A<r;A++)e[T+A]=0;else for(e=new Uint8Array(r*n),C.mask=e,g=0;g<h;g++)for(T=g*r,A=0;A<f;A++)e[T+A]=1}return C}async _open(e){this.datasetName=this.url.slice(this.url.lastIndexOf("/")+1);const t=e?e.signal:null,i=await this.request(this.url,{responseType:"xml",signal:t}),{rasterInfo:s,files:r}=this._parseHeader(i.data),{skipMapInfo:n,skipExtensions:a=[]}=this.ioConfig;if(!a.includes("aux.xml")&&!n){const t=await this._fetchAuxiliaryData(e);null!=t&&(s.statistics=t.statistics??s.statistics,s.histograms=t.histograms,t.histograms&&null==s.statistics&&(s.statistics=(0,te.Pg)(t.histograms)))}n&&this.updateImageSpaceRasterInfo(s),this._set("rasterInfo",s),this._files=r;const o=await this.request(r.index,{responseType:"array-buffer",signal:t});this._storageIndex=function(e){if(e.byteLength%16>0)throw new Error("invalid array buffer must be multiples of 16");let t,i,s,r,n,a;if(Oe.Z){for(i=new Uint8Array(e),r=new ArrayBuffer(e.byteLength),s=new Uint8Array(r),n=0;n<e.byteLength/4;n++)for(a=0;a<4;a++)s[4*n+a]=i[4*n+3-a];t=new Uint32Array(r)}else t=new Uint32Array(e);return t}(o.data);const{blockWidth:l,blockHeight:c}=this.rasterInfo.storageInfo,u=this.rasterInfo.storageInfo.pyramidScalingFactor,{width:f,height:h}=this.rasterInfo,p=[],d=this._getBandSegmentCount();let m=0,g=-1;for(;m<this._storageIndex.length;){g++;const e=Math.ceil(f/l/u**g)-1,t=Math.ceil(h/c/u**g)-1;m+=(e+1)*(t+1)*d*4,p.push({maxRow:t,maxCol:e,minCol:0,minRow:0})}this.rasterInfo.storageInfo.blockBoundary=p,g>0&&(this.rasterInfo.storageInfo.firstPyramidLevel=1,this.rasterInfo.storageInfo.maximumPyramidLevel=g),this.updateTileInfo()}_getBandSegmentCount(){return _e.get(this.rasterInfo.storageInfo.compression).isOneSegment?1:this.rasterInfo.bandCount}_getTileLocation(e,t,i){const{blockWidth:s,blockHeight:r,pyramidScalingFactor:n}=this.rasterInfo.storageInfo,{width:a,height:o}=this.rasterInfo,l=this._getBandSegmentCount();let c,u,f,h=0,p=0;for(f=0;f<e;f++)p=n**f,c=Math.ceil(a/s/p),u=Math.ceil(o/r/p),h+=c*u;p=n**e,c=Math.ceil(a/s/p),u=Math.ceil(o/r/p),h+=t*c+i,h*=4*l;const d=this._storageIndex.subarray(h,h+4*l);let m=0,g=0;const y=[];for(let e=0;e<l;e++)m=d[4*e]*2**32+d[4*e+1],g=m+d[4*e+2]*2**32+d[4*e+3]-1,y.push({from:m,to:g});return{ranges:y,actualTileWidth:i<c-1?s:Math.ceil(a/p)-s*(c-1),actualTileHeight:t<u-1?r:Math.ceil(o/p)-r*(u-1)}}_parseHeader(e){const t=(0,ce.V6)(e,"MRF_META/Raster");if(!t)throw new a.A("mrf:open","not a valid MRF format");const i=(0,ce.V6)(t,"Size"),s=parseInt(i.getAttribute("x"),10),r=parseInt(i.getAttribute("y"),10),n=parseInt(i.getAttribute("c"),10),o=((0,ce.mX)(t,"Compression")||"none").toLowerCase();if(!_e.has(o))throw new a.A("mrf:open","currently does not support compression "+o);const l=(0,ce.mX)(t,"DataType")||"UInt8",c=Me.get(l);if(null==c)throw new a.A("mrf:open","currently does not support pixel type "+l);const u=(0,ce.V6)(t,"PageSize"),f=parseInt(u.getAttribute("x"),10),h=parseInt(u.getAttribute("y"),10),p=(0,ce.V6)(t,"DataValues");let d,m;if(p&&(m=p.getAttribute("NoData"),null!=m&&(d=m.trim().split(" ").map(e=>parseFloat(e)))),(0,ce.V6)(e,"MRF_META/CachedSource"))throw new a.A("mrf:open","currently does not support MRF referencing other data files");const g=(0,ce.V6)(e,"MRF_META/GeoTags"),y=(0,ce.V6)(g,"BoundingBox");let w,v=!1;if(null!=y){const e=parseFloat(y.getAttribute("minx")),t=parseFloat(y.getAttribute("miny")),i=parseFloat(y.getAttribute("maxx")),s=parseFloat(y.getAttribute("maxy")),r=(0,ce.mX)(g,"Projection")||"";let n=J.A.WGS84;if("LOCAL_CS[]"!==r)if(r.toLowerCase().startsWith("epsg:")){const e=Number(r.slice(5));isNaN(e)||0===e||(n=new J.A({wkid:e}))}else n=he(r)??J.A.WGS84;else v=!0,n=new J.A({wkid:3857});w=new z.A(e,t,i,s),w.spatialReference=n}else v=!0,w=new z.A({xmin:-.5,ymin:.5-r,xmax:s-.5,ymax:.5,spatialReference:new J.A({wkid:3857})});const x=(0,ce.V6)(e,"MRF_META/Rsets"),b=parseInt(x?.getAttribute("scale")||"2",10),I=w.spatialReference,C=new be.A({origin:new xe.A({x:w.xmin,y:w.ymax,spatialReference:I}),blockWidth:f,blockHeight:h,pyramidBlockWidth:f,pyramidBlockHeight:h,compression:o,pyramidScalingFactor:b}),S=new xe.A({x:w.width/s,y:w.height/r,spatialReference:I}),A=new K.A({width:s,height:r,extent:w,isPseudoSpatialReference:v,spatialReference:I,bandCount:n,pixelType:c,pixelSize:S,noDataValue:d,storageInfo:C}),T=(0,ce.mX)(e,"datafile"),R=(0,ce.mX)(e,"IndexFile");return{rasterInfo:A,files:{mrf:this.url,index:R||this.url.replace(".mrf",".idx"),data:T||this.url.replace(".mrf",_e.get(o).blobExtension)}}}async _fetchAuxiliaryData(e){try{const{data:t}=await this.request(this.url+".aux.xml",{responseType:"xml",signal:e?.signal});return de(t)}catch{return null}}};(0,s.Cg)([(0,f.MZ)()],Fe.prototype,"_files",void 0),(0,s.Cg)([(0,f.MZ)()],Fe.prototype,"_storageIndex",void 0),(0,s.Cg)([(0,f.MZ)({type:String,json:{write:!0}})],Fe.prototype,"datasetFormat",void 0),Fe=(0,s.Cg)([(0,d.$)("esri.layers.support.rasterDatasets.MRFRaster")],Fe);const Pe=Fe;var ke=i(15265);function De(e){const t=e.fields,i=e.records,s=t.some(e=>"oid"===e.name.toLowerCase())?"OBJECTID":"OID",r=[{name:s,type:"esriFieldTypeOID",alias:"OID"}].concat(t.map(e=>({name:e.name,type:"esriFieldType"+e.typeName,alias:e.name}))),n=r.map(e=>e.name),a=[];let o=0,l=0;return i.forEach(e=>{const t={};for(t[s]=o++,l=1;l<n.length;l++)t[n[l]]=e[l-1];a.push({attributes:t})}),{displayFieldName:"",fields:r,features:a}}class Ne{static get supportedVersions(){return[5]}static parse(e){const t=new DataView(e),i=3&t.getUint8(0);if(3!==i)return{header:{version:i},recordSet:null};const s=t.getUint32(4,!0),r=t.getUint16(8,!0),n=t.getUint16(10,!0),a={version:i,recordCount:s,headerByteCount:r,recordByteCount:n};let o=32;const l=[],c=[];let u;if(3===i){for(;13!==t.getUint8(o);)u=String.fromCharCode(t.getUint8(o+11)).trim(),l.push({name:(0,ke.w)(new Uint8Array(e,o,11)),type:u,typeName:["String","Date","Double","Boolean","String","Integer"][["C","D","F","L","M","N"].indexOf(u)],length:t.getUint8(o+16)}),o+=32;if(o+=1,l.length>0)for(;c.length<s&&e.byteLength-o>n;){const i=[];32===t.getUint8(o)?(o+=1,l.forEach(t=>{if("C"===t.type)i.push((0,ke.w)(new Uint8Array(e,o,t.length)).trim());else if("N"===t.type)i.push(parseInt(String.fromCharCode.apply(null,new Uint8Array(e,o,t.length)).trim(),10));else if("F"===t.type)i.push(parseFloat(String.fromCharCode.apply(null,new Uint8Array(e,o,t.length)).trim()));else if("D"===t.type){const s=String.fromCharCode.apply(null,new Uint8Array(e,o,t.length)).trim();i.push(new Date(parseInt(s.slice(0,4),10),parseInt(s.slice(4,6),10)-1,parseInt(s.slice(6,8),10)))}o+=t.length}),c.push(i)):o+=n}}return{header:a,fields:l,records:c,recordSet:De({fields:l,records:c})}}}var Le=i(45664),Ee=i(12196);const Be=(e,t)=>e.get(t)?.values,ze=(e,t)=>e.get(t)?.values?.[0];let Je=class extends E.A{constructor(){super(...arguments),this._files=null,this._headerInfo=null,this._bufferSize=1048576,this._chunkSize=10485760,this.datasetFormat="TIFF"}async fetchRawTile(e,t,i,s={}){if(!this._headerInfo?.isSupported||this.isBlockOutside(e,t,i))return null;const r=await this._fetchRawTiffTile(e,t,i,!1,s);if(null!=r&&this._headerInfo.hasMaskBand){const n=await this._fetchRawTiffTile(e,t,i,!0,s);null!=n&&n.pixels[0]instanceof Uint8Array&&(r.mask=n.pixels[0])}return r}async _open(e){const t=e?e.signal:null,{data:i}=await this.request(this.url,{range:{from:0,to:this._bufferSize},responseType:"array-buffer",signal:t});if(!i)throw new a.A("tiffraster:open","failed to open url "+this.url);this.datasetName=this.url.slice(this.url.lastIndexOf("/")+1,this.url.lastIndexOf("."));const{littleEndian:s,firstIFDPos:r,isBigTiff:n}=(0,Le.uT)(i),l=[],c={fileChunk:i,posIFD:r,fileOffset:0};await this._readIFDs(l,c,s,n?8:4,t);const{imageInfo:u,rasterInfo:f}=function(e){const t=(0,Le.uc)(e),{width:i,height:s,tileWidth:r,tileHeight:n,planes:a,pixelType:o,compression:l,firstPyramidLevel:c,maximumPyramidLevel:u,pyramidBlockWidth:f,pyramidBlockHeight:h,pyramidResolutions:p,tileBoundary:d,affine:m,metadata:g}=t;let y=he(t.extent.spatialReference?.wkt||t.extent.spatialReference?.wkid),w=!!t.isPseudoGeographic;null==y&&(w=!0,y=new J.A({wkid:3857}));const v=new z.A({...t.extent,spatialReference:y}),x=new xe.A(v?{x:v.xmin,y:v.ymax,spatialReference:y}:{x:0,y:0}),b=new be.A({blockWidth:r,blockHeight:n,pyramidBlockWidth:f,pyramidBlockHeight:h,compression:l,origin:x,firstPyramidLevel:c,maximumPyramidLevel:u,pyramidResolutions:p,blockBoundary:d}),I=new xe.A({x:(v.xmax-v.xmin)/i,y:(v.ymax-v.ymin)/s,spatialReference:y}),C=g?{BandProperties:g.bandProperties,DataType:g.dataType}:{};let S=null;const A=ze(e[0],"PHOTOMETRICINTERPRETATION"),T=Be(e[0],"COLORMAP");if(A<=3&&T?.length>3&&T.length%3==0){S=[];const e=T.length/3;for(let t=0;t<e;t++)S.push([t,T[t]>>>8,T[t+e]>>>8,T[t+2*e]>>>8])}const R=new K.A({width:i,height:s,bandCount:a,pixelType:o,pixelSize:I,storageInfo:b,spatialReference:y,isPseudoSpatialReference:w,keyProperties:C,extent:v,colormap:S,statistics:g?g.statistics:null});if(m?.length&&(R.nativeExtent=new z.A({xmin:-.5,ymin:.5-s,xmax:i-.5,ymax:.5,spatialReference:y}),R.transform=new ue.A({polynomialOrder:1,forwardCoefficients:[m[2]+m[0]/2,m[5]-m[3]/2,m[0],m[3],-m[1],-m[4]]}),R.extent=R.transform.forwardTransform(R.nativeExtent),R.pixelSize=new xe.A({x:(v.xmax-v.xmin)/i,y:(v.ymax-v.ymin)/s,spatialReference:y}),b.origin.x=-.5,b.origin.y=.5),p){const{x:e,y:t}=R.pixelSize;p.forEach(i=>{i.x*=e,i.y*=t})}return{imageInfo:t,rasterInfo:R}}(l),h=(0,Le.zS)(l),p=(0,Le.r9)(l);if(this._headerInfo={littleEndian:s,isBigTiff:n,ifds:l,pyramidIFDs:h,maskIFDs:p,...u},this._set("rasterInfo",f),!u.isSupported)throw new a.A("tiffraster:open","this tiff is not supported: "+u.message);if(!u.tileWidth)throw new a.A("tiffraster:open","none-tiled tiff is not optimized for access, convert to COG and retry.");f.isPseudoSpatialReference&&o.A.getLogger(this).warn("The spatial reference for this tiff is unsupported. Only EPSG spatial reference codes and Esri WKTs are supported.");const d=l[0].get("PREDICTOR")?.values?.[0],m=l[0].get("SAMPLEFORMAT")?.values?.[0];if(3===m&&2===d)throw new a.A("tiffraster:open","unsupported horizontal difference encoding. Predictor=3 is supported for floating point data");const{skipMapInfo:g,skipExtensions:y=[]}=this.ioConfig;if(!y.includes("aux.xml")&&!g){const t=await this._fetchAuxiliaryMetaData(e);null!=t&&function(e,t){if(t.statistics=e.statistics??t.statistics,t.histograms=e.histograms,e.histograms&&null==t.statistics&&(t.statistics=(0,te.Pg)(e.histograms)),e.transform&&null==t.transform){t.transform=e.transform,t.nativeExtent=t.extent;const i=t.transform.forwardTransform(t.nativeExtent);t.pixelSize=new xe.A({x:(i.xmax-i.xmin)/t.width,y:(i.ymax-i.ymin)/t.height,spatialReference:t.spatialReference}),t.extent=i}t.isPseudoSpatialReference&&e.spatialReference&&(t.spatialReference=e.spatialReference,t.extent.spatialReference=t.nativeExtent.spatialReference=t.storageInfo.origin.spatialReference=t.spatialReference)}(t,f)}y.includes("vat.dbf")||1!==f.bandCount||"u8"!==f.pixelType||g||(f.attributeTable=await this._fetchAuxiliaryTable(e),null!=f.attributeTable&&(f.keyProperties.DataType="thematic")),g&&this.updateImageSpaceRasterInfo(f),this.updateTileInfo()}async _validateOrFetchHeaderBuffer(e,t){let{fileChunk:i,fileOffset:s,posIFD:r}=e;return(r+8>=i.byteLength||r<0)&&(s=r+s,i=(await this.request(this.url,{range:{from:s,to:s+this._bufferSize},responseType:"array-buffer",signal:t})).data,r=0),{fileChunk:i,fileOffset:s,posIFD:r}}async _readIFDs(e,t,i,s=4,r){if(!t.posIFD)return null;t=await this._validateOrFetchHeaderBuffer(t,r);const n=await this._readIFD(t,i,Ee.NB,s,r);if(!n?.ifd)throw new a.A("tiffraster:open","cannot parse tiff header. failed to open url "+this.url);if(e.push(n.ifd),!n.nextIFD)return null;t.posIFD=n.nextIFD-t.fileOffset,await this._readIFDs(e,t,i,s,r)}async _readIFD(e,t,i=Ee.NB,s=4,r){let{fileChunk:n,posIFD:a,fileOffset:o}=e;if(!e.fileChunk)return null;const l=(0,Le.JM)(n,t,a,o,i,s);if(l.success){const e=[];if(l.ifd?.forEach(t=>{t.values||e.push(t)}),e.length>0&&await this._fillOffsets(e,t,l.nextIFD,r),l.ifd?.has("GEOKEYDIRECTORY")){const e=l.ifd.get("GEOKEYDIRECTORY"),i=e?.values;if(i&&i.length>4){const s=i[0]+"."+i[1]+"."+i[2];a=e.valueOffset+6-o;const l=await this._validateOrFetchHeaderBuffer({fileChunk:n,posIFD:a,fileOffset:o},r),c=await this._readIFD(l,t,Ee.YC,2,r);e.data=c?.ifd,e.data&&e.data.set("GEOTIFFVersion",{id:0,type:2,valueCount:1,valueOffset:null,values:[s]})}}return l}return l.requiredBufferSize?(n=(await this.request(this.url,{range:{from:o,to:o+a+l.requiredBufferSize+8},responseType:"array-buffer",signal:r})).data,n.byteLength<a+l.requiredBufferSize?null:(e.fileChunk=n,e.fileOffset=o,this._readIFD(e,t,i,s,r))):null}async _fillOffsets(e,t,i,s){const r=e.filter(e=>null!=e.offlineOffsetSize);if(0===r.length)return;const n=r.map(e=>e.offlineOffsetSize),a=Math.min.apply(null,n.map(e=>e[0])),o=Math.max.apply(null,n.map(e=>e[0]+e[1]));let l=1===n.length||o-a<=this._bufferSize;if(!l&&n.length>1&&(n.sort((e,t)=>e[0]-t[0]),l=n.reduce((e,t)=>e===t[0]?t[0]+t[1]:0,n[0][0])===o),l){const e=await this._fetchOffsets(a,Math.max(o,a+this._bufferSize),s);return void r.forEach(i=>(0,Le.Cr)(e,t,i,a))}const c=r.map(async e=>{const i=e.offlineOffsetSize,r=await this._fetchOffsets(i[0],i[1]+i[0],s);(0,Le.Cr)(r,t,e,i[0])});await Promise.all(c)}async _fetchOffsets(e,t,i){const s=[],r=this._chunkSize,n=Math.ceil((t-e)/r);let a=e;for(let e=0;e<n;e++)s.push(this.request(this.url,{range:{from:a,to:e===n-1?t:a+r-1},responseType:"array-buffer",signal:i})),a+=r;const o=await Promise.all(s);if(1===n)return o[0].data;const l=new Uint8Array(t-e+1);for(let e=0;e<n;e++)l.set(new Uint8Array(o[e].data),e*r);return l.buffer}async _fetchRawTiffTile(e,t,i,s,r={}){const n=this._getTileLocation(e,t,i,s);if(!n)return null;const{ranges:a,actualTileWidth:o,actualTileHeight:l,ifd:c}=n,u=a.map(e=>this.request(this.url,{range:e,responseType:"array-buffer",signal:r.signal})),f=await Promise.all(u),h=f.map(e=>e.data.byteLength).reduce((e,t)=>e+t),p=1===f.length?f[0].data:new ArrayBuffer(h),d=[0],m=[0];if(f.length>1){const e=new Uint8Array(p);for(let t=0,i=0;t<f.length;t++){const s=f[t].data;e.set(new Uint8Array(s),i),d[t]=i,i+=s.byteLength,m[t]=s.byteLength}}const{blockWidth:g,blockHeight:y}=this.getBlockWidthHeight(e),w=await this.decodePixelBlock(p,{format:"tiff",customOptions:{headerInfo:this._headerInfo,ifd:c,offsets:d,sizes:m},width:g,height:y,planes:null,pixelType:null});if(null==w)return null;let v,x,b;if(o!==g||l!==y){let e=w.mask;if(e)for(v=0;v<y;v++)if(b=v*g,v<l)for(x=o;x<g;x++)e[b+x]=0;else for(x=0;x<g;x++)e[b+x]=0;else for(e=new Uint8Array(g*y),w.mask=e,v=0;v<l;v++)for(b=v*g,x=0;x<o;x++)e[b+x]=1}return w}_getTileLocation(e,t,i,s=!1){const{firstPyramidLevel:r,blockBoundary:n}=this.rasterInfo.storageInfo,a=0===e?0:e-(r-1),{_headerInfo:o}=this;if(!o)return null;const l=s?o.maskIFDs[a]:0===a?o?.ifds[0]:o?.pyramidIFDs[a-1];if(!l)return null;const c=(0,Le.XO)(l,o),u=Be(l,"TILEOFFSETS");if(void 0===u)return null;const f=Be(l,"TILEBYTECOUNTS"),{minRow:h,minCol:p,maxRow:d,maxCol:m}=n[a];if(t>d||i>m||t<h||i<p)return null;const g=ze(l,"IMAGEWIDTH"),y=ze(l,"IMAGELENGTH"),w=ze(l,"TILEWIDTH"),v=ze(l,"TILELENGTH"),x=[];if(c){const{bandCount:e}=this.rasterInfo;for(let s=0;s<e;s++){const e=s*(d+1)*(m+1)+t*(m+1)+i;x[s]={from:u[e],to:u[e]+f[e]-1}}}else{const e=t*(m+1)+i;x.push({from:u[e],to:u[e]+f[e]-1})}for(let e=0;e<x.length;e++)if(null==x[e].from||!x[e].to||x[e].to<0)return null;return{ranges:x,ifd:l,actualTileWidth:i===m&&g%w||w,actualTileHeight:t===d&&y%v||v}}async _fetchAuxiliaryMetaData(e){try{const{data:t}=await this.request(this.url+".aux.xml",{responseType:"xml",signal:e?.signal});return de(t)}catch{return null}}async _fetchAuxiliaryTable(e){try{const{data:t}=await this.request(this.url+".vat.dbf",{responseType:"array-buffer",signal:e?.signal}),i=Ne.parse(t);return i?.recordSet?re.A.fromJSON(i.recordSet):null}catch{return null}}};(0,s.Cg)([(0,f.MZ)()],Je.prototype,"_files",void 0),(0,s.Cg)([(0,f.MZ)()],Je.prototype,"_headerInfo",void 0),(0,s.Cg)([(0,f.MZ)()],Je.prototype,"_bufferSize",void 0),(0,s.Cg)([(0,f.MZ)()],Je.prototype,"_chunkSize",void 0),(0,s.Cg)([(0,f.MZ)({type:String,json:{write:!0}})],Je.prototype,"datasetFormat",void 0),Je=(0,s.Cg)([(0,d.$)("esri.layers.support.rasterDatasets.TIFFRaster")],Je);const $e=Je,Ue=new Map;Ue.set("MRF",{desc:"Meta Raster Format",constructor:Pe}),Ue.set("TIFF",{desc:"GeoTIFF",constructor:$e}),Ue.set("RasterTileServer",{desc:"Raster Tile Server",constructor:Re}),Ue.set("JPG",{desc:"JPG Raster Format",constructor:ye}),Ue.set("PNG",{desc:"PNG Raster Format",constructor:ye}),Ue.set("GIF",{desc:"GIF Raster Format",constructor:ye}),Ue.set("BMP",{desc:"BMP Raster Format",constructor:ye}),Ue.set("CovJSON",{desc:"COVJSON Raster Format",constructor:ae}),Ue.set("MEMORY",{desc:"In Memory Raster Format",constructor:se});class je{static get supportedFormats(){const e=new Set;return Ue.forEach((t,i)=>e.add(i)),e}static async open(e){const{url:t,ioConfig:i,source:s,sourceJSON:r}=e;let n=e.datasetFormat??i?.datasetFormat;null==n&&(t.includes(".")?n=t.slice(t.lastIndexOf(".")+1).toUpperCase():"coverage"===s?.type?.toLowerCase()?n="CovJSON":s?.extent&&s.pixelblocks&&(n="MEMORY")),"OVR"===n||"TIF"===n?n="TIFF":"JPG"===n||"JPEG"===n||"JFIF"===n?n="JPG":"COVJSON"===n&&(n="CovJSON"),t.toLowerCase().includes("/imageserver")&&!t.toLowerCase().includes("/wcsserver")&&(n="RasterTileServer");const o={url:t,source:s,sourceJSON:r,datasetFormat:n,ioConfig:i??{bandIds:null,sampling:null}};if(Object.keys(o).forEach(e=>{null==o[e]&&delete o[e]}),n){if(!this.supportedFormats.has(n))throw new a.A("rasterfactory:open","not a supported format "+n);if("CRF"===n)throw new a.A("rasterfactory:open",`cannot open raster: ${t}`);const i=new(0,Ue.get(n).constructor)(o);return await i.open({signal:e.signal}),i}const l=Array.from(Ue.keys()).filter(e=>"CovJSON"!==e&&"Memory"!==e);let c=0;const u=()=>{if(n=l[c++],!n)return null;if("CRF"===n)return null;const t=new(0,Ue.get(n).constructor)(o);return t.open({signal:e.signal}).then(()=>t).catch(()=>u())};return u()}static register(e,t,i){Ue.has(e.toUpperCase())||Ue.set(e.toUpperCase(),{desc:t,constructor:i})}}var qe=i(6049),Ve=i(24212),Ze=i(30291),He=i(88625);let Ge=class extends((0,b.dM)((0,M.j)((0,S.q)((0,A.A)((0,R.H)((0,I.d)((0,C.o)((0,T.G)((0,_.e)((0,x.b)((0,O.J)((0,l.P)((0,n.OU)(v.A)))))))))))))){constructor(...e){super(...e),this._primaryRasters=[],this.graphicOrigin=new w(this),this.legendEnabled=!0,this.isReference=null,this.listMode="show",this.sourceJSON=null,this.version=null,this.type="imagery-tile",this.operationalLayerType="ArcGISTiledImageServiceLayer",this.popupEnabled=!0,this.popupTemplate=null,this.fields=null,this.source=void 0,this._debouncedSaveOperations=(0,c.sg)(async(e,t,s)=>{const{save:r,saveAs:n}=await i.e(9838).then(i.bind(i,59838));switch(e){case 0:return r(this,t);case 1:return n(this,s,t)}})}normalizeCtorArgs(e,t){return"string"==typeof e?{url:e,...t}:e}load(e){const t=null!=e?e.signal:null;return this.addResolvingPromise(this.loadFromPortal({supportedTypes:["Image Service"]},e).catch(c.QP).then(()=>this._openRaster(t))),Promise.resolve(this)}set elevationInfo(e){this._set("elevationInfo",e),this._validateElevationInfo()}get defaultPopupTemplate(){return this.createPopupTemplate()}get rasterFields(){const e=[(0,k.rZ)("Pixel Value"),(0,k.dy)("Raw Pixel Value")],t=this.raster?.rasterInfo??this.serviceRasterInfo,i=t?.attributeTable;if(i){const t=(0,k.jC)(i);e.push(...t)}const s=t?.dataType,r=t?.multidimensionalInfo;if(("vector-magdir"===s||"vector-uv"===s)&&null!=r){const t=r.variables[0].unit?.trim(),i=(0,k.DV)(t),s=(0,k.y6)();e.push(i,s)}if(r){const t=(0,k.AL)(r);e.push(...t)}return e}get renderer(){return super.renderer}set renderer(e){super.renderer=e}createPopupTemplate(e){const{rasterFields:t}=this,i=e?.visibleFieldNames??new Set(t.map(({name:e})=>e).filter(e=>e!==k.F_.rawServicePixelValue)),s=(0,Ze.tn)({fields:t,title:this.title},{...e,visibleFieldNames:i}),{rasterInfo:r}=this.raster;return s?.fieldInfos&&r&&(0,k.h4)(s.fieldInfos,r),s}async generateRasterInfo(e,t){if(e=(0,h.PZ)(D.A,e),await this.load(),!e||"none"===e.functionName?.toLowerCase())return this.serviceRasterInfo;try{const{rasterInfo:i}=await this._openFunctionRaster(e,t);return i}catch(e){if(e instanceof a.A)throw e;throw new a.A("imagery-tile-layer","the given raster function is not supported")}}async save(e){return this._debouncedSaveOperations(0,e)}async saveAs(e,t){return this._debouncedSaveOperations(1,t,e)}write(e,t){const i=this._primaryRasters[0]??this.raster;if(this.loaded?"RasterTileServer"===i.datasetFormat&&("Raster"===i.tileType||"Map"===i.tileType):this.url&&/\/ImageServer(\/|\/?$)/i.test(this.url))return super.write(e,t);if(t?.messages){const e=`${t.origin}/${t.layerContainerType||"operational-layers"}`;t.messages.push(new a.A("layer:unsupported",`Layers (${this.title}, ${this.id}) of type '${this.declaredClass}' are not supported in the context of '${e}'`,{layer:this}))}return null}async _openRaster(e){let t=!1;if(this.raster)await this._openFromRaster(this.raster,e),t=(0,N.q)(this.raster),!t&&this.rasterFunction&&(this._primaryRasters=[this.raster],await this._initializeWithFunctionRaster(this.rasterFunction));else{const{url:t,rasterFunction:i,source:s}=this;if(!t&&!s)throw new a.A("imagery-tile-layer:open","missing url or source parameter");s?await this._openFromSource(s,e):i?await this._openFromUrlWithRasterFunction(t,i,e):await this._openFromUrl(t,e)}const i=this.raster.rasterInfo;if(!i)throw new a.A("imagery-tile-layer:load","cannot load resources on "+this.url);if(this._set("serviceRasterInfo",t?i:this._primaryRasters[0].rasterInfo),this._set("spatialReference",i.spatialReference),this.sourceJSON=this.sourceJSON||this.raster.sourceJSON,null!=this.sourceJSON){const e="Map"===this.raster.tileType&&null!=this.sourceJSON.minLOD&&null!=this.sourceJSON.maxLOD?this.sourceJSON:{...this.sourceJSON,minScale:0,maxScale:0};this.read(e,{origin:"service"})}else this.read({tileInfo:this.serviceRasterInfo?.storageInfo.tileInfo.toJSON()},{origin:"service"});this.title||(this.title=this.raster.datasetName),"Map"===this.raster.tileType&&(this.popupEnabled=!1),this._configDefaultSettings(),this.addHandles((0,u.wB)(()=>this.customParameters,e=>{this.raster&&(this.raster.ioConfig.customFetchParameters=e)}))}async _openFromRaster(e,t){e.rasterInfo||await e.open({signal:t}),this._primaryRasters=(0,N.p)(e),this.url||(this.url=this._primaryRasters[0].url)}async _openFromUrlWithRasterFunction(e,t,i){const s=[e];t&&(0,qe.UD)(t.toJSON(),s);const r=await Promise.all(s.map(e=>je.open({url:e,sourceJSON:this.sourceJSON,ioConfig:{sampling:"closest",...this.ioConfig,customFetchParameters:this.customParameters},signal:i}))),n=r.findIndex(e=>null==e);if(n>-1)throw new a.A("imagery-tile-layer:open",`cannot open raster: ${s[n]}`);return this._primaryRasters=r,this._initializeWithFunctionRaster(t)}async _openFromUrl(e,t){const i=await je.open({url:e,sourceJSON:this.sourceJSON,ioConfig:{sampling:"closest",...this.ioConfig,customFetchParameters:this.customParameters},signal:t});if(null==i)throw new a.A("imagery-tile-layer:open",`cannot open raster: ${e}`);this._primaryRasters=[i],this.raster=i}async _openFromSource(e,t){const i="the tiled imagery data source is not supported",s="coverage"===e.type?.toLowerCase()?"CovJSON":e.extent&&e.pixelBlock?"MEMORY":null;if(!s)throw new a.A("imagery-tile-layer:open",i);"MEMORY"===s&&(e={...e,pixelBlock:void 0,pixelBlocks:[e.pixelBlock]});const r=await je.open({url:"",source:e,datasetFormat:s,ioConfig:{sampling:"closest",...this.ioConfig,customFetchParameters:this.customParameters},signal:t});if(null==r)throw new a.A("imagery-tile-layer:open",i);this._primaryRasters=[r],this.rasterFunction?await this._initializeWithFunctionRaster(this.rasterFunction):this.raster=r}async _openFunctionRaster(e,t){const i={raster:this._primaryRasters[0]};this._primaryRasters.length>1&&this._primaryRasters.forEach(e=>i[e.url]=e);const s=(0,qe.vt)(e.functionDefinition?.toJSON()??e.toJSON(),i),r=new L.A({rasterFunction:s});return await r.open(t),r}async _initializeWithFunctionRaster(e,t){try{this.raster=await this._openFunctionRaster(e,t)}catch(e){e instanceof a.A&&o.A.getLogger(this).error("imagery-tile-layer:open",e.message),o.A.getLogger(this).warn("imagery-tile-layer:open","the raster function cannot be applied and is removed"),this._set("rasterFunction",null),this.raster=this._primaryRasters[0]}}_validateElevationInfo(){const e=this.elevationInfo;(0,Ve.XF)(o.A.getLogger(this),(0,Ve.$7)("ImageryTile layers","relative-to-scene",e)),(0,Ve.XF)(o.A.getLogger(this),(0,Ve.tW)("ImageryTile layers",e))}};(0,s.Cg)([(0,f.MZ)({clonable:!1})],Ge.prototype,"_primaryRasters",void 0),(0,s.Cg)([(0,f.MZ)({type:He.A,value:null,json:{name:"layerDefinition.elevationInfo",write:!0,origins:{"portal-item":{read:!1,write:!1},"web-map":{read:!1,write:!1}}}})],Ge.prototype,"elevationInfo",null),(0,s.Cg)([(0,f.MZ)({readOnly:!0,clonable:!1})],Ge.prototype,"graphicOrigin",void 0),(0,s.Cg)([(0,f.MZ)(F.fV)],Ge.prototype,"legendEnabled",void 0),(0,s.Cg)([(0,f.MZ)({type:Boolean,json:{read:!1,write:{enabled:!0,overridePolicy:()=>({enabled:!1})}}})],Ge.prototype,"isReference",void 0),(0,s.Cg)([(0,f.MZ)({type:["show","hide"]})],Ge.prototype,"listMode",void 0),(0,s.Cg)([(0,f.MZ)({json:{read:!0,write:!0}})],Ge.prototype,"blendMode",void 0),(0,s.Cg)([(0,f.MZ)({type:D.A,json:{name:"renderingRule",write:!0}})],Ge.prototype,"rasterFunction",void 0),(0,s.Cg)([(0,f.MZ)()],Ge.prototype,"sourceJSON",void 0),(0,s.Cg)([(0,f.MZ)({readOnly:!0,json:{origins:{service:{read:{source:"currentVersion"}}}}})],Ge.prototype,"version",void 0),(0,s.Cg)([(0,f.MZ)({readOnly:!0,json:{read:!1}})],Ge.prototype,"type",void 0),(0,s.Cg)([(0,f.MZ)({type:["ArcGISTiledImageServiceLayer"]})],Ge.prototype,"operationalLayerType",void 0),(0,s.Cg)([(0,f.MZ)({type:Boolean,value:!0,json:{read:{source:"disablePopup",reader:(e,t)=>!t.disablePopup},write:{target:"disablePopup",overridePolicy(){return{enabled:!this.loaded||"Raster"===this.raster.tileType}},writer(e,t,i){t[i]=!e}}}})],Ge.prototype,"popupEnabled",void 0),(0,s.Cg)([(0,f.MZ)({type:r.A,json:{read:{source:"popupInfo"},write:{target:"popupInfo",overridePolicy(){return{enabled:!this.loaded||"Raster"===this.raster.tileType}}}}})],Ge.prototype,"popupTemplate",void 0),(0,s.Cg)([(0,f.MZ)({readOnly:!0})],Ge.prototype,"defaultPopupTemplate",null),(0,s.Cg)([(0,f.MZ)({readOnly:!0,type:[P.A]})],Ge.prototype,"fields",void 0),(0,s.Cg)([(0,f.MZ)({readOnly:!0,type:[P.A]})],Ge.prototype,"rasterFields",null),(0,s.Cg)([(0,f.MZ)({constructOnly:!0})],Ge.prototype,"source",void 0),Ge=(0,s.Cg)([(0,d.$)("esri.layers.ImageryTileLayer")],Ge);const We=Ge},56551:(e,t,i)=>{i.d(t,{H:()=>h});var s=i(31635),r=i(10107),n=(i(44208),i(53966),i(87811),i(40608)),a=i(69540),o=i(25482),l=i(56507),c=i(93223),u=i(94359);let f=class extends((0,a.OU)(o.o)){constructor(e){super(e),this.name=void 0,this.method="none",this.value=void 0,this.bandIds=void 0,this.renderer=void 0}};(0,s.Cg)([(0,r.MZ)({type:String,json:{write:{isRequired:!0}}})],f.prototype,"name",void 0),(0,s.Cg)([(0,r.MZ)({type:["raster-function-template","variable","none"],json:{write:{isRequired:!0}}}),(0,c.e)({rasterFunctionTemplate:"raster-function-template",variable:"variable",none:"none"})],f.prototype,"method",void 0),(0,s.Cg)([(0,r.MZ)({type:String,json:{write:{isRequired:!0}}})],f.prototype,"value",void 0),(0,s.Cg)([(0,r.MZ)({type:[l.jz],json:{write:{isRequired:!0}}})],f.prototype,"bandIds",void 0),(0,s.Cg)([(0,r.MZ)({types:u.uy,json:{write:!0,origins:{"web-scene":{types:u.Gj,write:{overridePolicy:e=>({enabled:e&&"vector-field"!==e.type})}}}}})],f.prototype,"renderer",void 0),f=(0,s.Cg)([(0,n.$)("esri.renderers.support.RasterPresetRenderer")],f);const h=e=>{const t=e;let i=class extends t{constructor(){super(...arguments),this.activePresetRendererName=null,this.presetRenderers=null}};return(0,s.Cg)([(0,r.MZ)({type:String,json:{name:"layerDefinition.activePresetRendererName",write:{allowNull:!0}}})],i.prototype,"activePresetRendererName",void 0),(0,s.Cg)([(0,r.MZ)({type:[f],json:{name:"layerDefinition.presetRenderers",write:!0}})],i.prototype,"presetRenderers",void 0),i=(0,s.Cg)([(0,n.$)("esri.layers.mixins.RasterPresetRendererMixin")],i),i}},69397:(e,t,i)=>{i.d(t,{$B:()=>r,Qf:()=>c,Qh:()=>o,RS:()=>n,ez:()=>h,lM:()=>a,qK:()=>f});var s=i(34275);function r(e){return 32+e.length}const n=16;function a(e){if(!e)return 0;let t=f;for(const i in e)e.hasOwnProperty(i)&&(t+=l(e[i],!1));return t}function o(e){if(!e)return 0;if("number"==typeof e[0])return c(e);if(Array.isArray(e))return function(e){const t=e.length;if(0===t||"number"==typeof e[0])return u(e,8);let i=h;for(let s=0;s<t;s++)i+=l(e[s]);return i}(e);let t=f;for(const i in e)e.hasOwnProperty(i)&&(t+=l(e[i]));return t}function l(e,t=!0){switch(typeof e){case"object":return t?o(e):f;case"string":return r(e);case"number":return n;case"boolean":return 4;default:return 8}}function c(...e){return e.reduce((e,t)=>e+(t?(0,s.iu)(t)?t.byteLength+p:Array.isArray(t)?u(t,n):0:0),0)}function u(e,t){return h+e.length*t}const f=32,h=16,p=145},73037:(e,t,i)=>{i.d(t,{A:()=>c});var s,r=i(31635),n=i(10107),a=(i(44208),i(53966),i(87811),i(93223)),o=i(40608),l=i(82434);let c=s=class extends l.A{constructor(){super(...arguments),this.type="gcs-shift",this.tolerance=1e-8}forwardTransform(e){return"point"===(e=e.clone()).type?(e.x>180+this.tolerance&&(e.x-=360),e):(e.xmin>=180-this.tolerance?(e.xmax-=360,e.xmin-=360):e.xmax>180+this.tolerance&&(e.xmin=-180,e.xmax=180),e)}inverseTransform(e){return"point"===(e=e.clone()).type?(e.x<-this.tolerance&&(e.x+=360),e):(e.xmin<-this.tolerance&&(e.xmin+=360,e.xmax+=360),e)}clone(){return new s({tolerance:this.tolerance})}};(0,r.Cg)([(0,a.e)({GCSShiftXform:"gcs-shift"})],c.prototype,"type",void 0),(0,r.Cg)([(0,n.MZ)()],c.prototype,"tolerance",void 0),c=s=(0,r.Cg)([(0,o.$)("esri.layers.support.rasterTransforms.GCSShiftTransform")],c)},82371:(e,t,i)=>{i.d(t,{E9:()=>d,Tw:()=>h,X6:()=>p});var s=i(78888),r=i(5443),n=i(86738),a=i(16930),o=i(87186),l=i(20223),c=i(2272),u=i(22671);async function f(e,t,i){const f=(0,c.Dl)(e),{rasterFunction:h,sourceJSON:p}=t||{},d=h?JSON.stringify(h.rasterFunctionDefinition||h):null,m=(0,c.lF)({...f.query,renderingRule:d,f:"json"}),g=(0,c.jV)(m,i);e=f.path;const y=p||await(0,s.A)(e,g).then(e=>e.data),w=y.hasRasterAttributeTable?(0,s.A)(`${e}/rasterAttributeTable`,g):null,v=y.hasColormap?(0,s.A)(`${e}/colormap`,g):null,x=y.hasHistograms?(0,s.A)(`${e}/histograms`,g):null,b=y.currentVersion>=10.3?(0,s.A)(`${e}/keyProperties`,g):null,I=y.hasMultidimensions?(0,s.A)(`${e}/multidimensionalInfo`,g):null,C=await Promise.allSettled([w,v,x,b,I]);let S=null;if(y.minValues&&y.minValues.length===y.bandCount){S=[];for(let e=0;e<y.minValues.length;e++)S.push({min:y.minValues[e],max:y.maxValues[e],avg:y.meanValues[e],stddev:y.stdvValues[e]})}const A=r.A.fromJSON(y.extent),T=Math.ceil(A.width/y.pixelSizeX-.1),R=Math.ceil(A.height/y.pixelSizeY-.1),O=a.A.fromJSON(y.spatialReference||y.extent.spatialReference),M="fulfilled"===C[0].status?C[0].value?.data:null,_=M?.features?.length?u.A.fromJSON(M):null,F="fulfilled"===C[1].status?C[1].value?.data.colormap:null,P=F?.length?F:null,k="fulfilled"===C[2].status?C[2].value?.data.histograms:null,D=k?.[0]?.counts?.length?k:null,N="fulfilled"===C[3].status?C[3].value?.data??{}:{},L="fulfilled"===C[4].status?C[4].value?.data.multidimensionalInfo:null,E=L?.variables?.length?L:null;E&&E.variables.forEach(e=>{e.statistics?.length&&e.statistics.forEach(e=>{e.avg=e.mean,e.stddev=e.standardDeviation}),e.dimensions?.forEach(e=>{"StdTime"!==e.name||e.recurring||e.unit||(e.unit="ISO8601")})});const{defaultVariable:B,serviceDataType:z}=y;B&&B!==N.DefaultVariable&&(N.DefaultVariable=B),z?.includes("esriImageServiceDataTypeVector")&&!z.includes(N.DataType)&&(N.DataType=z.replace("esriImageServiceDataType",""));let J=y.noDataValue;y.noDataValues?.length&&y.noDataValues.some(e=>e!==J)&&(J=y.noDataValues);const $=y.transposeInfo?new l.A({blockWidth:256,blockHeight:256,pyramidBlockWidth:256,pyramidBlockHeight:256,pyramidScalingFactor:2,compression:"lerc",origin:new n.A({x:y.extent.xmin,y:y.extent.ymax,spatialReference:O}),firstPyramidLevel:1,maximumPyramidLevel:Math.max(0,Math.round(Math.log(Math.max(T,R))/Math.LN2-8)),transposeInfo:y.transposeInfo}):void 0;return new o.A({width:T,height:R,bandCount:y.bandCount,extent:r.A.fromJSON(y.extent),spatialReference:O,pixelSize:new n.A({x:y.pixelSizeX,y:y.pixelSizeY,spatialReference:O}),pixelType:y.pixelType.toLowerCase(),statistics:S,attributeTable:_,colormap:P,histograms:D,keyProperties:N,noDataValue:J,multidimensionalInfo:E,storageInfo:$})}function h(e,t,i){return f(e,{sourceJSON:t},i)}function p(e,t,i){return f(e,{rasterFunction:t},i)}function d(e,t){e.attributeTable||(t.hasRasterAttributeTable=!1),e.histograms||(t.hasHistograms=!1),e.colormap||(t.hasColormap=!1),e.multidimensionalInfo||(t.hasMultidimensions=!1)}},82434:(e,t,i)=>{i.d(t,{A:()=>o});var s=i(31635),r=i(25482),n=i(10107),a=(i(44208),i(53966),i(87811),i(40608));let o=class extends r.o{get affectsPixelSize(){return!1}forwardTransform(e){return e}inverseTransform(e){return e}};(0,s.Cg)([(0,n.MZ)()],o.prototype,"affectsPixelSize",null),(0,s.Cg)([(0,n.MZ)({json:{write:!0}})],o.prototype,"spatialReference",void 0),o=(0,s.Cg)([(0,a.$)("esri.layers.support.rasterTransforms.BaseRasterTransform")],o)}}]);
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[1082],{6455:(e,t,i)=>{i.d(t,{FJ:()=>b,Dp:()=>w,KV:()=>_});var n=i(31635),r=i(93637),o=i(10107),s=(i(44208),i(53966),i(87811),i(40608)),a=i(89317),l=i(69540),u=i(7762),d=i(25482),p=i(43937),c=i(83960),h=i(13069);const y={write:{overridePolicy:(e,t,i)=>({enabled:!i||"scale"===i.filterMode})}};let m=class extends((0,l.OU)(d.o)){constructor(e){super(e),this.id=(0,h.lk)(),this.maxScale=0,this.minScale=0,this.title="",this.where=null}};(0,n.Cg)([(0,o.MZ)({type:String,json:{write:!0}})],m.prototype,"id",void 0),(0,n.Cg)([(0,o.MZ)({type:Number,json:y})],m.prototype,"maxScale",void 0),(0,n.Cg)([(0,o.MZ)({type:Number,json:y})],m.prototype,"minScale",void 0),(0,n.Cg)([(0,o.MZ)({type:String,json:{write:!0}})],m.prototype,"title",void 0),(0,n.Cg)([(0,o.MZ)({type:String,json:{write:!0}})],m.prototype,"where",void 0),m=(0,n.Cg)([(0,s.$)("esri.layers.support.DisplayFilter")],m);var f=i(41560);let g=class extends((0,l.OU)(d.o)){constructor(e){super(e),this.activeFilterId=null,this.filters=new(u.A.ofType(m)),this.mode="manual"}writeFilters(e,t,i,n){const r=e.toArray();"scale"===this.mode&&r.sort((e,t)=>{const i=(0,c.oW)(t.minScale,e.minScale),n=e.maxScale-t.maxScale;return 0===i?n:i}),t[i]=r.map(e=>e.toJSON(n))}write(e,t){return super.write(e,(0,f.mW)(this,t))}};(0,n.Cg)([(0,o.MZ)({type:String,json:{write:{overridePolicy:(e,t,i)=>({enabled:"manual"===i.filterMode,isRequired:!0})}}})],g.prototype,"activeFilterId",void 0),(0,n.Cg)([(0,o.MZ)({type:u.A.ofType(m),nonNullable:!0,json:{write:!0}})],g.prototype,"filters",void 0),(0,n.Cg)([(0,p.K)("filters")],g.prototype,"writeFilters",null),(0,n.Cg)([(0,o.MZ)({type:["manual","scale"],nonNullable:!0,json:{name:"filterMode",write:!0}})],g.prototype,"mode",void 0),g=(0,n.Cg)([(0,s.$)("esri.layers.support.DisplayFilterInfo")],g);const b=e=>{const t=e;let i=class extends t{constructor(){super(...arguments),this.displayFilterEnabled=!0,this.displayFilterInfo=null}};return(0,n.Cg)([(0,o.MZ)(w)],i.prototype,"displayFilterEnabled",void 0),(0,n.Cg)([(0,o.MZ)(_)],i.prototype,"displayFilterInfo",void 0),i=(0,n.Cg)([(0,s.$)("esri.layers.mixins.DisplayFilteredLayer")],i),i},w={type:Boolean,json:{name:"layerDefinition.disableDisplayFilter",read:{reader:e=>!e},write:{layerContainerTypes:a.K,writer(e,t,i){(0,r.sM)(i,!e,t)}},origins:{"web-scene":{write:!1,read:!1}}}},_={type:g,json:{name:"layerDefinition.displayFilterInfo",write:{enabled:!0,allowNull:!0,layerContainerTypes:a.K},origins:{"web-scene":{write:!1,read:!1}}}}},6518:(e,t,i)=>{i.d(t,{F:()=>a});var n=i(44208),r=i(75503),o=i(19419);const s={minX:0,minY:0,maxX:0,maxY:0};class a{constructor(){this._indexInvalid=!1,this._boundsToLoad=[],this._boundsById=new Map,this._idByBounds=new Map,this._index=new r.wq(9,(0,n.A)("esri-csp-restrictions")?e=>({minX:e[0],minY:e[1],maxX:e[2],maxY:e[3]}):["[0]","[1]","[2]","[3]"]),this._loadIndex=()=>{if(this._indexInvalid){const e=new Array(this._idByBounds.size);let t=0;this._idByBounds.forEach((i,n)=>{e[t++]=n}),this._indexInvalid=!1,this._index.clear(),this._index.load(e)}else this._boundsToLoad.length&&(this._index.load(Array.from(new Set(this._boundsToLoad.filter(e=>this._idByBounds.has(e))))),this._boundsToLoad.length=0)}}get fullBounds(){if(!this._boundsById.size)return null;const e=(0,o.Ie)();for(const t of this._boundsById.values())t&&(e[0]=Math.min(t[0],e[0]),e[1]=Math.min(t[1],e[1]),e[2]=Math.max(t[2],e[2]),e[3]=Math.max(t[3],e[3]));return e}get valid(){return!this._indexInvalid}clear(){this._indexInvalid=!1,this._boundsToLoad.length=0,this._boundsById.clear(),this._idByBounds.clear(),this._index.clear()}delete(e){const t=this._boundsById.get(e);this._boundsById.delete(e),t&&(this._idByBounds.delete(t),this._indexInvalid||this._index.remove(t))}forEachInBounds(e,t){this._loadIndex(),function(e,t,i){(function(e){s.minX=e[0],s.minY=e[1],s.maxX=e[2],s.maxY=e[3]})(t),e.search(s,i)}(this._index,e,e=>t(this._idByBounds.get(e)))}get(e){return this._boundsById.get(e)}has(e){return this._boundsById.has(e)}invalidateIndex(){this._indexInvalid||(this._indexInvalid=!0,this._boundsToLoad.length=0)}set(e,t){if(!this._indexInvalid){const t=this._boundsById.get(e);t&&(this._index.remove(t),this._idByBounds.delete(t))}this._boundsById.set(e,t),t&&(this._idByBounds.set(t,e),this._indexInvalid||(this._boundsToLoad.push(t),this._boundsToLoad.length>5e4&&this._loadIndex()))}}},8460:(e,t,i)=>{i.d(t,{$C:()=>y,Hh:()=>s,Tu:()=>c,Wg:()=>h,Xq:()=>f,i6:()=>g,pM:()=>p,vJ:()=>m});var n=i(2741);let r,o=null;function s(){return r||(r=i.e(3666).then(i.bind(i,3666)).then(e=>e.l).then(({default:e})=>e({locateFile:e=>(0,n.s)(`esri/libs/linkchartlayout/${e}`)})).then(e=>{!function(e){o=e}(e)}),r)}const a={right:0,left:1,top:2,bottom:3},l={none:0,"start-only":1,"start-and-end":2};function u(e){const t={timeDirection:"right",timeBannerUTCOffsetInMinutes:0,eventsTicksVisualization:"start-and-end",showDurationLineForNonZeroDurationEntityEvents:!0,durationLineWidth:5,entityPositionAtDurationRatio:1,showNonZeroDurationIntervalBounds:!1,separateTimeOverlaps:!0,separateTimelineOverlaps:!0,moveFirstBends:!0,secondBendRatio:.3,lineSeparationMultiplier:1,spaceSeparatedLinesEvenly:!1,useBezierCurves:!1,separatedLineShapeRatio:0,...e?.toJSON(),eventsTicksVisualization:e?.eventsTicksVisualization??"start-and-end"};return{...t,timeDirection:{value:a[t.timeDirection]??a.right},eventsTicksVisualization:{value:l[t.eventsTicksVisualization]??l["start-and-end"]}}}function d(e,t,i,n,r,s){const a=i.length,l=r.length,u=Float64Array.BYTES_PER_ELEMENT,d=Uint32Array.BYTES_PER_ELEMENT,p=Uint8Array.BYTES_PER_ELEMENT,c=16+a*(p+2*u)+l*(2*d),h=o._malloc(c);try{const p=h+16-h%16,c=p+a*u,y=c+a*u,m=y+l*d,f=m+l*d,g=()=>[o.HEAPF64.subarray(p>>3,(p>>3)+a),o.HEAPF64.subarray(c>>3,(c>>3)+a),o.HEAPU32.subarray(y>>2,(y>>2)+l),o.HEAPU32.subarray(m>>2,(m>>2)+l),o.HEAPU8.subarray(f,f+a)],[b,w,_,I,M]=g();b.set(i),w.set(n),_.set(r),I.set(s),M.set(t);const T=e(a,f,p,c,l,y,m);let C=null,v=null;if(0===T.value){const e=o.getLayoutLinksTypes(),t=o.getLayoutLinksVerticesEndIndices(),i=o.getLayoutLinksVertices(),n=o.countLayoutLinksVertices();!l||e&&t?n&&!i?T.value=1:(C={types:new Uint8Array(o.HEAPU8.subarray(e,e+l)),vertexEndIndex:new Uint32Array(o.HEAPU32.subarray(t>>2,(t>>2)+l)),vertices:new Float64Array(o.HEAPF64.subarray(i>>3,(i>>3)+2*n))},v=o.getAuxiliaryGraphicElements()):T.value=1}const[x,E,S,A,N]=g();return i.set(x),n.set(E),r.set(S),s.set(A),t.set(N),{status:T.value,links:C,graphics:v}}finally{o._free(h),o.cleanupLayout()}}var p,c,h,y,m,f,g,b;(b=p||(p={})).getMinIdealEdgeLength=function(){return o.getMinIdealEdgeLength()},b.apply=function(e,t,i,n,r,s,a=2,l=1,u=-1){return d((t,i,n,r,s,d,p)=>o.applyForceDirectedLayout(e,t,i,n,r,s,d,p,a,l,u),t,i,n,r,s)},function(e){e.apply=function(e,t,i,n,r,s,a=2,l=1,u=-1){return d((t,i,n,r,s,d,p)=>o.applyCommunityLayout(e,t,i,n,r,s,d,p,a,l,u),t,i,n,r,s)}}(c||(c={})),function(e){e.apply=function(e,t,i,n,r,s){return d((t,i,n,r,s,a,l)=>o.applySimpleLayout(e,t,i,n,r,s,a,l),t,i,n,r,s)}}(h||(h={})),function(e){e.apply=function(e,t,i,n,r,s){return d((t,i,n,r,s,a,l)=>o.applyHierarchicalLayout(e,t,i,n,r,s,a,l),t,i,n,r,s)}}(y||(y={})),function(e){e.apply=function(e,t,i,n,r,s){return d((t,i,n,r,s,a,l)=>o.applyRadialTreeLayout(e,t,i,n,r,s,a,l),t,i,n,r,s)}}(m||(m={})),function(e){e.apply=function(e,t,i,n,r,s){return d((t,i,n,r,s,a,l)=>o.applySmartTreeLayout(e,t,i,n,r,s,a,l),t,i,n,r,s)}}(f||(f={})),function(e){e.apply=function(e,t,i,n,r,s,a,l,p,c,h,y){return d((t,i,n,a,l,d,m)=>{if(r.length!==t)return{value:1};if(s.length!==t)return{value:1};if(p.length!==l)return{value:1};if(c.length!==l)return{value:1};const f=Float64Array.BYTES_PER_ELEMENT,g=16,b=o._malloc(g+t*f),w=o._malloc(g+t*f),_=o._malloc(g+l*f),I=o._malloc(g+l*f),M=b+g-b%g,T=w+g-w%g,C=_+g-_%g,v=I+g-I%g;try{return o.HEAPF64.subarray(M>>3,(M>>3)+t).set(r),o.HEAPF64.subarray(T>>3,(T>>3)+t).set(s),o.HEAPF64.subarray(C>>3,(C>>3)+l).set(p),o.HEAPF64.subarray(v>>3,(v>>3)+l).set(c),o.applyChronologicalLayout(e,t,i,n,a,M,T,l,d,m,C,v,h,u(y))}finally{o._free(b),o._free(w),o._free(_),o._free(I)}},t,i,n,a,l)}}(g||(g={}))},15375:(e,t,i)=>{i.d(t,{BL:()=>l,Cz:()=>r,KQ:()=>o,M1:()=>a,T1:()=>s,dr:()=>n});const n="ESRI__ID",r="ESRI__OriginID",o="ESRI__DestID",s="ESRI__LayoutGeometry",a="ESRI__AggregationCount",l="LC.ESRI__IsSpatial"},17036:(e,t,i)=>{i.d(t,{p:()=>l});var n=i(44208),r=i(53966),o=i(20437),s=i(95466),a=i(30524);function l(){return{fields:{type:[o.A],value:null,set:function(e){if(e&&(0,n.A)("big-integer-warning-enabled")){const t=e.filter(e=>"big-integer"===e.type||"oid"===e.type&&(e.length||0)>=8);if(t.length){const e=t.map(e=>`'${e.name}'`).join(", ");r.A.getLogger(this).warn("#fields",`Layer (title: '${this.title??"no title"}', id: '${this.id??"no id"}') references big-integer field(s): ${e}, support for which is experimental. Only integers less than ${Number.MAX_SAFE_INTEGER} (Number.MAX_SAFE_INTEGER) are supported.`)}}this._set("fields",e)}},fieldsIndex:{readOnly:!0,get(){return s.A.fromLayer(this)}},outFields:{type:[String],json:{read:!1},set:function(e){this._userOutFields=e,this.notifyChange("outFields")},get:function(){const e=this._userOutFields;if(!e?.length)return null;if(e.includes("*"))return["*"];if(!this.fields)return e;for(const t of e){const i=this.fieldsIndex?.has(t);i||r.A.getLogger("esri.layers.support.fieldProperties").error("field-attributes-layer:invalid-field",`Invalid field ${t} found in outFields`,{layer:this,outFields:e})}return(0,a.DB)(this.fieldsIndex,e)}}}}},23150:(e,t,i)=>{i.d(t,{A:()=>l});var n=i(31635),r=i(10107),o=(i(44208),i(53966),i(87811),i(40608)),s=i(82799),a=i(54238);let l=class extends a.A{constructor(e){super(e),this.originId=null,this.destinationId=null,this.layoutGeometry=null}};(0,n.Cg)([(0,r.MZ)({type:String,json:{write:!0}})],l.prototype,"originId",void 0),(0,n.Cg)([(0,r.MZ)({type:String,json:{write:!0}})],l.prototype,"destinationId",void 0),(0,n.Cg)([(0,r.MZ)({type:s.A,json:{write:!0}})],l.prototype,"layoutGeometry",void 0),l=(0,n.Cg)([(0,o.$)("esri.rest.knowledgeGraph.Relationship")],l)},25927:(e,t,i)=>{i.d(t,{A:()=>l});var n=i(31635),r=i(10107),o=(i(44208),i(53966),i(87811),i(40608)),s=i(86738),a=i(54238);let l=class extends a.A{constructor(e){super(e),this.layoutGeometry=null}};(0,n.Cg)([(0,r.MZ)({type:s.A,json:{write:!0}})],l.prototype,"layoutGeometry",void 0),l=(0,n.Cg)([(0,o.$)("esri.rest.knowledgeGraph.Entity")],l)},26253:(e,t,i)=>{i.d(t,{T:()=>p});var n=i(31635),r=i(69540),o=i(25482),s=i(88930),a=i(10107),l=(i(44208),i(53966),i(87811),i(93223)),u=i(40608),d=i(73133);let p=class extends((0,r.OU)(o.o)){constructor(e){super(e),this.unit="milliseconds",this.value=0}toMilliseconds(){return(0,s.t)(this.value,this.unit,"milliseconds")}};(0,n.Cg)([(0,l.e)(d.j,{nonNullable:!0})],p.prototype,"unit",void 0),(0,n.Cg)([(0,a.MZ)({type:Number,json:{write:!0},nonNullable:!0})],p.prototype,"value",void 0),p=(0,n.Cg)([(0,u.$)("esri.time.TimeInterval")],p)},30504:(e,t,i)=>{i.d(t,{k5:()=>u,aq:()=>l,Wq:()=>d}),i(52106);var n=i(49186),r=(i(86738),i(39829),i(82799),i(94194),i(69860),i(8460),i(66552));(0,r.O)()({none:"none",startAndEnd:"start-and-end",startOnly:"start-only"}),(0,r.O)()({absoluteValue:"absolute-value",multiplier:"multiplier"});const o=new Map([["basic-grid","basic-grid"],["geographic-organic-standard","geographic-organic-standard"],["hierarchical-bottom-to-top","hierarchical-bottom-to-top"],["hierarchical-top-to-bottom","hierarchical-bottom-to-top"],["organic-community","organic-community"],["organic-fusiform","organic-standard"],["organic-leaf-circle","organic-standard"],["organic-standard","organic-standard"],["radial-node-centric","radial-root-centric"],["radial-root-centric","radial-root-centric"],["tree-bottom-to-top","tree-left-to-right"],["tree-left-to-right","tree-left-to-right"],["tree-right-to-left","tree-left-to-right"],["tree-top-to-bottom","tree-left-to-right"],["chronological-mono-timeline","chronological-mono-timeline"],["chronological-multi-timeline","chronological-multi-timeline"]]);var s=i(62568),a=i(42538);async function l(e,t,i){const n=[],r=function(e,t){const i=new Map;if(t.dataModel?.relationshipTypes)for(const e of t.dataModel.relationshipTypes)e.name&&i.set(e.name,[]);for(const t of e)i.has(t.typeName)&&i.get(t.typeName)?.push(t.id);return i}(e,t),o={},l=[];for(const[e,t]of r){if(t.length<1)continue;const i=`${e}_ids`;o[i]=t,l.push(`MATCH (n)-[r:${e}]->(m) WHERE id(r) in $${i} RETURN id(n), labels(n)[0], id(m), labels(m)[0]`)}if(0===l.length)return[];const u=l.join(" UNION "),d=new a.A({openCypherQuery:u,bindParameters:o}),p=(await(0,s.executeQueryStreaming)(t,d,i?.requestOptions)).resultRowsStream.getReader();for(;;){const{done:e,value:t}=await p.read();if(e)break;for(const e of t)n.push({id:e[0],typeName:e[1]}),n.push({id:e[2],typeName:e[3]})}return n}i(40863),i(94985),i(68249);const u=e=>o.get(e)??"radial-root-centric";function d(e){if(!e.spatialReference.isWGS84)throw new n.A("knowledge-graph:layer-support-utils","The utilsExtentToInBoundsRings function only supports WGS84 spatial references.");return e.clone().normalize().map(e=>[[e.xmin,e.ymin],[e.xmin,e.ymax],[e.xmax,e.ymax],[e.xmax,e.ymin],[e.xmin,e.ymin]])}},37531:(e,t,i)=>{i.d(t,{dt:()=>c,GG:()=>g,UQ:()=>f,Sx:()=>d});var n=i(68197),r=i(60999),o=(i(44208),i(51850)),s=(i(76369),i(62046)),a=(i(2741),i(78888),i(66344));new Map([["dash",[4,3]],["dashdot",[4,3,1,3]],["dot",[1,3]],["longdash",[8,3]],["longdashdot",[8,3,1,3]],["longdashdotdot",[8,3,1,3,1,3]],["shortdash",[4,1]],["shortdashdot",[4,1,1,1]],["shortdashdotdot",[4,1,1,1,1,1]],["shortdot",[1,1]],["solid",[]]]),new a.q(1e3),new n.A([128,128,128]);var l=i(28975),u=i(33910);function d(e,t){if(!e)return null;let i=null;return(0,u.wk)(e)?i=function(e){const t=e.symbolLayers;if(!t)return null;let i=null;return t.forEach(e=>{"object"===e.type&&e.resource?.href||(i="water"===e.type?e.color:e.material?e.material.color:null)}),i?new n.A(i):null}(e):(0,u.$y)(e)&&(i="cim"===e.type?(0,s.Nk)(e):e.color?new n.A(e.color):null),i?p(i,t):null}function p(e,t){if(null==t||null==e)return e;const i=e.toRgba();return i[3]=i[3]*t,new n.A(i)}function c(e,t,i){e&&(t||null!=i)&&(t&&(t=new n.A(t)),(0,u.wk)(e)?function(e,t,i){const r=e.symbolLayers;if(!r)return;const o=(e,r=!1)=>{let o=t??e??null;return null!=i?.override&&(!o&&r&&(o=new n.A([255,255,255])),o&&(o.a=i.override)),p(o,i?.add)};r.forEach(e=>{if("water"===e.type)return void(e.color=p(e.color,i?.add));const t=null!=e.material?e.material.color:null,n=o(t,"icon"===e.type&&null!=e.resource?.href);null==e.material?e.material=new l.N({color:n}):e.material.color=n,"outline"in e&&e.outline?.color&&null!=i?.add&&(e.outline.color=p(e.outline.color,i.add)),"marker"in e&&null!=e.marker&&(e.marker.color=o(e.marker.color))})}(e,t,i):(0,u.$y)(e)&&function(e,t,i){t=t??e.color,null!=i?.override&&t&&(t.a=i.override),t&&(e.color=p(t,i?.add)),"outline"in e&&e.outline?.color&&(e.outline.color=p(e.outline.color,i?.add))}(e,t,i))}function h(e){for(const t of e)if("number"==typeof t)return t;return null}function y(e,t,i){for(let n=0;n<3;n++){const r=e[n];switch(r){case"symbol-value":{const e=i[n];return null!=e?e/t[n]:1}case"proportional":break;default:if(r&&t[n])return r/t[n]}}return null}function m(e,t,i,n){switch(e){case"proportional":return i*n;case"symbol-value":return null!=t?t:i;default:return e}}async function f(e,t){if(e&&t)return(0,u.wk)(e)?async function(e,t){const n=e.symbolLayers;n&&await(0,r.jJ)(n,async e=>async function(e,t){switch(e.type){case"extrude":!function(e,t){const i=t[2];"number"==typeof i&&(e.size=i)}(e,t);break;case"icon":case"line":case"text":!function(e,t){const i=h(t);null!=i&&(e.size=i)}(e,t);break;case"path":!function(e,t){const i=y(t,o.Un,[e.width,void 0,e.height]);null!=i&&(e.width=m(t[0],e.width,1,i),e.height=m(t[2],e.height,1,i))}(e,t);break;case"object":await async function(e,t){const{resourceSize:n,symbolSize:r}=await async function(e){const{computeObjectLayerResourceSize:t}=await i.e(5404).then(i.bind(i,95404)),n=await t(e,10),{width:r,height:o,depth:s}=e,a=[r,s,o];let l=1;for(let e=0;e<3;e++){const t=a[e];if(null!=t){l=t/n[e];break}}for(let e=0;e<3;e++)null==a[e]&&(a[e]=n[e]*l);return{resourceSize:n,symbolSize:a}}(e),o=y(t,n,r);null!=o&&(e.width=m(t[0],r[0],n[0],o),e.depth=m(t[1],r[1],n[1],o),e.height=m(t[2],r[2],n[2],o))}(e,t)}}(e,t))}(e,t):void((0,u.$y)(e)&&function(e,t){const i=h(t);if(null!=i)switch(e.type){case"simple-marker":e.size=i;break;case"picture-marker":{const t=e.width/e.height;t>1?(e.width=i,e.height=i*t):(e.width=i*t,e.height=i);break}case"simple-line":e.width=i;break;case"text":e.font.size=i}}(e,t))}function g(e,t,i){if(e&&null!=t)if((0,u.wk)(e)){const n=e.symbolLayers;n&&n.forEach(e=>{if("object"===e.type)switch(i){case"tilt":e.tilt=(e.tilt??0)+t;break;case"roll":e.roll=(e.roll??0)+t;break;default:e.heading=(e.heading??0)+t}"icon"===e.type&&(e.angle+=t)})}else(0,u.$y)(e)&&("simple-marker"!==e.type&&"picture-marker"!==e.type&&"text"!==e.type||(e.angle+=t))}},37730:(e,t,i)=>{i.d(t,{T:()=>r});var n=i(43334);const r={getObjectId:e=>e.objectId,getAttributes:e=>e.attributes,getAttribute:(e,t)=>e.attributes[t],cloneWithGeometry:(e,t)=>new n.Om(t,e.attributes,null,e.objectId),getGeometry:e=>e.geometry,getCentroid:(e,t)=>e.ensureCentroid(t)}},40662:(e,t,i)=>{i.d(t,{A:()=>s});var n=i(31635),r=(i(53966),i(44208),i(87811),i(49186),i(40608)),o=i(77901);let s=class extends o.A{constructor(e){super(e)}};s=(0,n.Cg)([(0,r.$)("esri.rest.knowledgeGraph.ObjectValue")],s)},42095:(e,t,i)=>{i.d(t,{A:()=>l});var n=i(31635),r=i(25482),o=i(10107),s=(i(44208),i(53966),i(87811),i(40608)),a=i(77901);let l=class extends r.o{constructor(e){super(e),this.path=[]}};(0,n.Cg)([(0,o.MZ)({type:[a.A],json:{write:!0}})],l.prototype,"path",void 0),l=(0,n.Cg)([(0,s.$)("esri.rest.knowledgeGraph.Path")],l)},42538:(e,t,i)=>{i.d(t,{A:()=>u});var n=i(31635),r=i(10107),o=(i(44208),i(53966),i(87811),i(40608)),s=i(16930),a=i(65008);let l=class extends a.A{constructor(e){super(e),this.openCypherQuery=""}};(0,n.Cg)([(0,r.MZ)()],l.prototype,"openCypherQuery",void 0),l=(0,n.Cg)([(0,o.$)("esri.rest.knowledgeGraph.GraphQuery")],l);let u=class extends l{constructor(e){super(e),this.bindParameters=null,this.bindGeometryQuantizationParameters=null,this.outputQuantizationParameters=null,this.outputSpatialReference=null,this.provenanceBehavior=null}};(0,n.Cg)([(0,r.MZ)()],u.prototype,"bindParameters",void 0),(0,n.Cg)([(0,r.MZ)()],u.prototype,"bindGeometryQuantizationParameters",void 0),(0,n.Cg)([(0,r.MZ)()],u.prototype,"outputQuantizationParameters",void 0),(0,n.Cg)([(0,r.MZ)({type:s.A})],u.prototype,"outputSpatialReference",void 0),(0,n.Cg)([(0,r.MZ)()],u.prototype,"provenanceBehavior",void 0),u=(0,n.Cg)([(0,o.$)("esri.rest.knowledgeGraph.GraphQueryStreaming")],u)},54238:(e,t,i)=>{i.d(t,{A:()=>a});var n=i(31635),r=i(10107),o=(i(44208),i(53966),i(87811),i(40608)),s=i(77901);let a=class extends s.A{constructor(e){super(e),this.typeName=null,this.id=null}};(0,n.Cg)([(0,r.MZ)({type:String,json:{write:!0}})],a.prototype,"typeName",void 0),(0,n.Cg)([(0,r.MZ)({type:String,json:{write:!0}})],a.prototype,"id",void 0),a=(0,n.Cg)([(0,o.$)("esri.rest.knowledgeGraph.GraphNamedObject")],a)},62046:(e,t,i)=>{i.d(t,{Fe:()=>d,Nk:()=>o});var n=i(68197),r=i(93397);function o(e){const t=[];return s((0,r.lW)(e),t),t.length?new n.A((0,r.e6)(t[0])):null}function s(e,t){if(!e)return;let i;i="CIMTextSymbol"===e.type?e.symbol:e;const n="CIMPolygonSymbol"===e.type;if(i?.symbolLayers)for(const e of i.symbolLayers)if(!(e.colorLocked||n&&((0,r.mA)(e)||(0,r.MM)(e)&&e.markerPlacement&&(0,r.zr)(e.markerPlacement))))switch(e.type){case"CIMPictureMarker":case"CIMPictureStroke":case"CIMPictureFill":e.tintColor&&a(t,e.tintColor);break;case"CIMVectorMarker":e.markerGraphics?.forEach(e=>{s(e.symbol,t)});break;case"CIMSolidStroke":case"CIMSolidFill":a(t,e.color);break;case"CIMGradientFill":l(t,e);break;case"CIMHatchFill":s(e.lineSymbol,t)}}function a(e,t){for(const i of e)if(i.join(".")===t.join("."))return;e.push(t)}function l(e,t){const i=t.colorRamp?.type;switch(i){case"CIMMultipartColorRamp":t.colorRamp.colorRamps?.forEach(t=>{"CIMLinearContinuousColorRamp"===t.type&&u(e,t)});break;case"CIMLinearContinuousColorRamp":case"CIMPolarContinuousColorRamp":u(e,t.colorRamp)}}function u(e,t){t&&(t.fromColor&&a(e,t.fromColor),t.toColor&&a(e,t.toColor))}function d(e,t,i){t instanceof n.A||(t=new n.A(t));const o=(0,r.lW)(e);o&&p(o,t,i)}function p(e,t,i){if(!e)return;let n;n="CIMTextSymbol"===e.type?e.symbol:e;const o="CIMPolygonSymbol"===n?.type;if(n?.symbolLayers)for(const e of n.symbolLayers){if(e.colorLocked)continue;if(o)if(i){const{layersToColor:t}=i;if(((0,r.mA)(e)||(0,r.MM)(e)&&e.markerPlacement&&(0,r.zr)(e.markerPlacement))&&"fill"===t||(0,r.jn)(e)&&"outline"===t)continue}else if((0,r.mA)(e)||(0,r.MM)(e)&&e.markerPlacement&&(0,r.zr)(e.markerPlacement))continue;const n=t.toArray();switch(e.type){case"CIMPictureMarker":case"CIMPictureStroke":case"CIMPictureFill":e.tintColor=n;break;case"CIMVectorMarker":e.markerGraphics?.forEach(e=>{p(e.symbol,t,i)});break;case"CIMSolidStroke":case"CIMSolidFill":e.color=n;break;case"CIMGradientFill":c(e,t);break;case"CIMHatchFill":p(e.lineSymbol,t,i)}}}function c(e,t){const i=e.colorRamp?.type;switch(i){case"CIMMultipartColorRamp":e.colorRamp.colorRamps?.forEach(e=>{"CIMLinearContinuousColorRamp"===e.type&&h(e,t)});break;case"CIMLinearContinuousColorRamp":case"CIMPolarContinuousColorRamp":h(e.colorRamp,t)}}function h(e,t){if(e&&(e.fromColor&&(e.fromColor=t.toArray()),e.toColor)){const i=t.clone();i.a=0,e.toColor=i.toArray()}}},62796:(e,t,i)=>{i.d(t,{A:()=>ue});var n=i(31635),r=i(13874),o=i(4718),s=i(53966),a=i(92071),l=(i(29953),i(10107)),u=(i(44208),i(40608)),d=i(43937),p=i(5443),c=i(86738),h=i(39829),y=i(82799),m=i(98988),f=i(16930),g=i(21325),b=i(50498),w=i(60950),_=i(99959);const I=Symbol("isKnowledgeGraphGraphicOriginSymbol");var M;class T extends _.A{constructor(e,t){super(),this[M]=!0,this.type="knowledge-graph",this.layer=e,this.sublayer=t}get[(M=I,w.ym)](){return this.sublayer}}const C=Symbol("isLinkChartGraphicOriginSymbol");var v;class x extends _.A{static{v=C}constructor(e,t){super(),this[v]=!0,this.type="link-chart",this.layer=e,this.sublayer=t}}var E=i(4146),S=i(83221),A=i(56390),N=i(64714),k=i(15375);i(87811);const L=(0,i(17036).p)(),F=e=>{const t=e;let i=class extends t{constructor(){super(...arguments),this.fields=[],this.fieldsIndex=null}};return(0,n.Cg)([(0,l.MZ)(L.fields)],i.prototype,"fields",void 0),(0,n.Cg)([(0,l.MZ)(L.fieldsIndex)],i.prototype,"fieldsIndex",void 0),i=(0,n.Cg)([(0,u.$)("esri.layers.knowledgeGraph.KnowledgeGraphSublayerBase")],i),i};var j=i(85342),D=i(63074),R=i(6455),O=i(87718),B=i(56658),Z=i(32756),$=i(54310),P=i(25036),G=i(82935),q=i(10873),U=i(13213),z=i(20437),Q=i(30524),Y=i(46499),H=i(39383),W=i(96184),X=i(96576),J=i(65494),V=i(41214),K=i(22671),ee=i(61956),te=i(30291),ie=i(37531),ne=i(61322);function re(e){if(!e.json)return e;e.json.write=oe(e.json.write);const t=e.json.origins;if(!t)return e;let i;for(i in t){const e=t[i];e&&(e.write=oe(e.write))}return e}function oe(e){return"object"==typeof e&&e?(!1!==e.enabled&&(e.overridePolicy=function(e){const{target:t,writer:i,overridePolicy:n,...r}=e;return function(e,t){const i=ae.call(this,e,t);return i.enabled?{...r,...i}:i}}(e)),e):!0===e?se():e}function se(){return{overridePolicy:ae}}function ae(e,t){const i=!!this.geometryType;let n={enabled:i};return i&&(n={...n,...le.call(this,e,t)}),n}function le(e,t){return{ignoreOrigin:this.originIdOf(t)>0}}let ue=class extends(F((0,R.FJ)((0,B.J)((0,O.F)((0,D.dM)((0,Z.fY)((0,G.e)((0,P.j)((0,$.J)((0,a.P)(E.A))))))))))){constructor(e){super(e),this.blendMode="normal",this.capabilities=(0,N.f)(!1,!0),this.charts=null,this.definitionExpression=null,this.displayField="",this.displayFilterEnabled=!0,this.displayFilterInfo=null,this.effect=null,this.elevationInfo=null,this.featureEffect=null,this.graphType=null,this.labelsVisible=!0,this.layerType=null,this.legendEnabled=!0,this.maxScale=0,this.minScale=0,this.objectIdField=k.dr,this.objectType=null,this.opacity=1,this.orderBy=null,this.parent=null,this.parentCompositeLayer=null,this.persistenceEnabled=!0,this.popupEnabled=!0,this.popupTemplate=null,this.refreshInterval=0,this.source={openPorts:()=>this.load().then(()=>{const e=new MessageChannel;return new ne.default(e.port1,{channel:e,client:{queryFeatures:(e,t={})=>{const i=ee.A.fromJSON(e);return this.queryFeaturesJSON(i,t)}}}),[e.port2]})},this.type="knowledge-graph-sublayer",this.useViewTime=!0,this.visible=!0}get userHasUpdateItemPrivileges(){return!!this.parent?.userHasUpdateItemPrivileges}get defaultPopupTemplate(){return this.createPopupTemplate()}set featureReduction(e){const t=this._normalizeFeatureReduction(e);this._set("featureReduction",t)}get fields(){const e=[];return this.objectType?.properties?.forEach(t=>{const i="esriFieldTypeOID"===t.fieldType?"esriFieldTypeInteger":t.fieldType;e.push(z.A.fromJSON({name:t.name,type:i,alias:t.alias,defaultValue:t.defaultValue,editable:t.editable,nullable:t.nullable}))}),e.push(z.A.fromJSON({name:this.objectIdField,type:"esriFieldTypeString",alias:this.objectIdField,editable:!1}),z.A.fromJSON({name:k.M1,type:"esriFieldTypeInteger",alias:k.M1,editable:!1}),z.A.fromJSON({name:k.BL,type:"esriFieldTypeInteger",alias:k.BL,editable:!1})),e}get geometryType(){if("link-chart"===this.parentCompositeLayer?.type)return"relationship"===this.graphType?"polyline":"point";const e=this.parentCompositeLayer?.dataManager.geographicLookup.get(this.objectType?.name),t=e?.geometryType;return t&&"esriGeometryNull"!==t?b.gy.fromJSON(t):null}get geometryFieldName(){if("link-chart"===this.parentCompositeLayer?.type)return k.T1;const e=this.parentCompositeLayer?.dataManager.geographicLookup.get(this.objectType?.name);return e?.name??null}get graphicOrigin(){if(!this.parent)return null;switch(this.parent.type){case"knowledge-graph":return new T(this.parent,this);case"link-chart":return new x(this.parent,this)}}get graphTypeName(){return this.objectType?.name}set graphTypeName(e){this._set("graphTypeName",e)}get hasM(){const e=this.parentCompositeLayer?.dataManager.geographicLookup.get(this.objectType?.name),t=e?.name,i=t?this.objectType?.properties?.[t]:null;return i?.hasM??!1}get hasZ(){const e=this.parentCompositeLayer?.dataManager.geographicLookup.get(this.objectType?.name),t=e?.name,i=t?this.objectType?.properties?.[t]:null;return i?.hasZ??!1}set labelingInfo(e){this._set("labelingInfo",e)}get labelingInfo(){if(this._isOverridden("labelingInfo"))return this._get("labelingInfo");if(!this.objectType||!this.parentCompositeLayer||!this.graphTypeName)return null;const e=this.objectType.properties?(0,j.MY)(this.objectType.properties):"ESRI__ID";return"link-chart"===this.parentCompositeLayer.type?(0,j.iW)(this.graphType,this.graphTypeName,e):(0,j.e$)(this.graphTypeName,this.geometryType,e)}set renderer(e){(0,Q.yp)(e,this.fieldsIndex),this._set("renderer",e)}get renderer(){if(this._isOverridden("renderer"))return this._get("renderer");const e=this.parentCompositeLayer?.dataManager?.knowledgeGraph?.dataModel,t=[...e?.entityTypes??[],...e?.relationshipTypes??[]].map(e=>e.name).indexOf(this.graphTypeName),i=(0,j.Td)(t);if("link-chart"===this.parentCompositeLayer?.type){if("relationship"===this.graphType)return new X.A({type:"simple",symbol:(0,j.UT)(i)});const e=(0,J.r)((0,N.F0)(b.gy.toJSON("point")).renderer);return(0,ie.dt)(e.symbol,i),e}const n=(0,J.r)((0,N.F0)(b.gy.toJSON(this.geometryType)).renderer);return(0,ie.dt)(n.symbol,i),n}get spatialReference(){return this.parentCompositeLayer?.dataManager?.knowledgeGraph?.dataModel?.spatialReference??f.A.WGS84}set timeInfo(e){this._set("timeInfo",e)}get title(){return this._isOverridden("title")?this._get("title"):this.graphTypeName}set title(e){this._set("title",e)}writeTitle(e,t){t.title=e??"Layer"}createPopupTemplate(e){return(0,te.tn)(this,e)}createQuery(){return new ee.A({where:"1=1",outFields:["*"]})}getField(e){return this.fieldsIndex.get(e)}getFieldDomain(e,t){return null}async queryFeatures(e,t){await this.load();const{resolvedQuery:i,queryEngine:n}=await this._setupQueryObjects(e),r=this.graphicOrigin,o=K.A.fromJSON(await n.executeQuery(i.toJSON(),t?.signal));return o.features.forEach(e=>{e.sourceLayer=this,e.origin=r}),o}async queryFeaturesJSON(e,t){await this.load();const{resolvedQuery:i,queryEngine:n}=await this._setupQueryObjects(e);return await n.executeQuery(i.toJSON(),t?.signal)}async queryFeatureCount(e,t){await this.load();const{resolvedQuery:i,queryEngine:n}=await this._setupQueryObjects(e);return n.executeQueryForCount(i.toJSON(),t?.signal)}async queryExtent(e={},t){await this.load();const i={...e,returnGeometry:!0},{resolvedQuery:n,queryEngine:r}=await this._setupQueryObjects(i),o=await r.executeQueryForExtent(n.toJSON(),t?.signal);let s;return s=null!=o.extent?.xmin&&null!=o.extent?.xmax&&null!=o.extent?.ymin&&null!=o.extent?.ymax?new p.A(o.extent):new p.A,{count:o.count,extent:s}}async queryObjectIds(e,t){await this.load();const i=ee.A.from(e);let n;if("link-chart"===this.parentCompositeLayer.type&&this._cachedQueryEngine)n=this._cachedQueryEngine;else{const e=await this.parentCompositeLayer.dataManager.getData(i,this,t);n=this.loadQueryEngine(e)}return await n.executeQueryForIds(i.toJSON(),t?.signal)}loadQueryEngine(e){const t=new S.A({geometryType:b.gy.toJSON(this.geometryType),hasM:this.hasM,hasZ:this.hasZ}),i=new A.do({fieldsIndex:this.fieldsIndex.toJSON(),geometryType:b.gy.toJSON(this.geometryType),hasM:this.hasM,hasZ:this.hasZ,featureIdInfo:{type:"object-id",fieldName:this.objectIdField},spatialReference:this.spatialReference.toJSON(),timeInfo:this.timeInfo?.toJSON(),featureStore:t});return i.featureStore.addMany(e),i}async refreshCachedQueryEngine(){const e=await this.parentCompositeLayer.dataManager.getData(new ee.A({where:"1=1",outFields:[k.dr]}),this);this._cachedQueryEngine=this.loadQueryEngine(e)}load(e){return this.addResolvingPromise(this.parent.load(e).then(()=>(0,Q.sv)(this.timeInfo,this.fieldsIndex))),Promise.resolve(this)}async _setupQueryObjects(e,t){const i=ee.A.from(e),n=i.geometry;if(n&&!n.spatialReference?.isWGS84&&(await(0,m.initializeProjection)(n.spatialReference,g.KK),i.geometry=(0,m.project)(n instanceof h.A||n instanceof y.A||n instanceof c.A?n:n.extent,g.KK)),"link-chart"===this.parentCompositeLayer.type&&this._cachedQueryEngine)return{resolvedQuery:i,queryEngine:this._cachedQueryEngine};const r=await this.parentCompositeLayer.dataManager.getData(i,this,t);return{resolvedQuery:i,queryEngine:this.loadQueryEngine(r)}}};(0,n.Cg)([(0,l.MZ)(re((0,o.o8)(D.sU)))],ue.prototype,"blendMode",void 0),(0,n.Cg)([(0,l.MZ)()],ue.prototype,"capabilities",void 0),(0,n.Cg)([(0,l.MZ)({readOnly:!0})],ue.prototype,"userHasUpdateItemPrivileges",null),(0,n.Cg)([(0,l.MZ)({json:{origins:{"web-scene":{write:!1}},write:se()}})],ue.prototype,"charts",void 0),(0,n.Cg)([(0,l.MZ)({readOnly:!0})],ue.prototype,"defaultPopupTemplate",null),(0,n.Cg)([(0,l.MZ)({type:String,json:{origins:{service:{read:!1}},name:"layerDefinition.definitionExpression",write:{ignoreOrigin:!0}}})],ue.prototype,"definitionExpression",void 0),(0,n.Cg)([(0,l.MZ)()],ue.prototype,"displayField",void 0),(0,n.Cg)([(0,l.MZ)(re((0,o.o8)(R.Dp)))],ue.prototype,"displayFilterEnabled",void 0),(0,n.Cg)([(0,l.MZ)(re((0,o.o8)(R.KV)))],ue.prototype,"displayFilterInfo",void 0),(0,n.Cg)([(0,l.MZ)(re((0,o.o8)(D.LF)))],ue.prototype,"effect",void 0),(0,n.Cg)([(0,l.MZ)()],ue.prototype,"elevationInfo",void 0),(0,n.Cg)([(0,l.MZ)(re((0,o.o8)(O.Y)))],ue.prototype,"featureEffect",void 0),(0,n.Cg)([(0,l.MZ)(re((0,o.o8)(U.d)))],ue.prototype,"featureReduction",null),(0,n.Cg)([(0,l.MZ)()],ue.prototype,"fields",null),(0,n.Cg)([(0,l.MZ)()],ue.prototype,"geometryType",null),(0,n.Cg)([(0,l.MZ)()],ue.prototype,"geometryFieldName",null),(0,n.Cg)([(0,l.MZ)({readOnly:!0})],ue.prototype,"graphicOrigin",null),(0,n.Cg)([(0,l.MZ)({type:["entity","relationship"],nonNullable:!0,json:{write:{isRequired:!0,ignoreOrigin:!0}}})],ue.prototype,"graphType",void 0),(0,n.Cg)([(0,l.MZ)({type:String,nonNullable:!0,json:{write:{isRequired:!0,ignoreOrigin:!0}}})],ue.prototype,"graphTypeName",null),(0,n.Cg)([(0,l.MZ)()],ue.prototype,"hasM",null),(0,n.Cg)([(0,l.MZ)()],ue.prototype,"hasZ",null),(0,n.Cg)([(0,l.MZ)({type:String,json:{origins:{service:{read:!1},"portal-item":{read:!1}},write:{ignoreOrigin:!0}}})],ue.prototype,"id",void 0),(0,n.Cg)([(0,l.MZ)({type:Boolean,value:!0,nonNullable:!0,json:{name:"showLabels",default:!1,write:{overridePolicy(){return{enabled:!!this.geometryType,alwaysWriteDefaults:!0,ignoreOrigin:!0}}}}})],ue.prototype,"labelsVisible",void 0),(0,n.Cg)([(0,l.MZ)({type:[Y.A],json:{name:"layerDefinition.drawingInfo.labelingInfo",read:function(e,t,i){const n=[["ESRI__AGGREGATION_COUNT",k.M1],["ESRI__ORIGIN_ID",k.Cz],["ESRI__DESTINATION_ID",k.KQ],["ESRI__LAYOUT_GEOMETRY",k.T1]];try{for(const t of e)for(const[e,i]of n)t.labelExpression=t.labelExpression?.replaceAll(e,i),t.labelExpressionInfo?.expression&&(t.labelExpressionInfo.expression=t.labelExpressionInfo.expression.replaceAll(e,i))}catch(e){s.A.getLogger(this).warn("Error updating labelingInfo",e)}return(0,H.w)(e,t,i)},write:se()}})],ue.prototype,"labelingInfo",null),(0,n.Cg)([(0,l.MZ)({readOnly:!0,json:{read:!1,write:{writer(e,t){switch(this.parentCompositeLayer?.type){case"link-chart":t.layerType="LinkChartSubLayer";break;case"knowledge-graph":t.layerType=this.geometryType?"KnowledgeGraphSubLayer":"KnowledgeGraphSubTable"}},isRequired:!0,ignoreOrigin:!0,writerEnsuresNonNull:!0}}})],ue.prototype,"layerType",void 0),(0,n.Cg)([(0,l.MZ)(re((0,o.o8)(q.fV)))],ue.prototype,"legendEnabled",void 0),(0,n.Cg)([(0,l.MZ)(re((0,o.o8)(q.hG)))],ue.prototype,"maxScale",void 0),(0,n.Cg)([(0,l.MZ)(re((0,o.o8)(q.hn)))],ue.prototype,"minScale",void 0),(0,n.Cg)([(0,l.MZ)()],ue.prototype,"objectIdField",void 0),(0,n.Cg)([(0,l.MZ)()],ue.prototype,"objectType",void 0),(0,n.Cg)([(0,l.MZ)(re((0,o.o8)(q.ke)))],ue.prototype,"opacity",void 0),(0,n.Cg)([(0,l.MZ)(re((0,o.o8)(Z.ne)))],ue.prototype,"orderBy",void 0),(0,n.Cg)([(0,l.MZ)({clonable:!1})],ue.prototype,"parent",void 0),(0,n.Cg)([(0,l.MZ)()],ue.prototype,"parentCompositeLayer",void 0),(0,n.Cg)([(0,l.MZ)(re((0,o.o8)(q.M6)))],ue.prototype,"popupEnabled",void 0),(0,n.Cg)([(0,l.MZ)({type:r.A,json:{name:"popupInfo",write:{ignoreOrigin:!0}}})],ue.prototype,"popupTemplate",void 0),(0,n.Cg)([(0,l.MZ)({type:Number,json:{write:{overridePolicy:le}}})],ue.prototype,"refreshInterval",void 0),(0,n.Cg)([(0,l.MZ)({types:V.Hg,json:{name:"layerDefinition.drawingInfo.renderer",write:se()}})],ue.prototype,"renderer",null),(0,n.Cg)([(0,l.MZ)()],ue.prototype,"source",void 0),(0,n.Cg)([(0,l.MZ)()],ue.prototype,"spatialReference",null),(0,n.Cg)([(0,l.MZ)({type:W.A,json:{name:"layerDefinition.timeInfo",write:!0,origins:{"web-document":{name:"layerDefinition.timeInfo",read:!0,write:!0},"portal-item":{name:"layerDefinition.timeInfo",read:!0,write:!0}}}})],ue.prototype,"timeInfo",null),(0,n.Cg)([(0,l.MZ)({type:String,json:{write:{isRequired:!0,ignoreOrigin:!0,writerEnsuresNonNull:!0}}})],ue.prototype,"title",null),(0,n.Cg)([(0,d.K)("title")],ue.prototype,"writeTitle",null),(0,n.Cg)([(0,l.MZ)({json:{read:!1}})],ue.prototype,"type",void 0),(0,n.Cg)([(0,l.MZ)(re((0,o.o8)(G.B)))],ue.prototype,"useViewTime",void 0),(0,n.Cg)([(0,l.MZ)({type:Boolean,json:{name:"visibility",write:se()}})],ue.prototype,"visible",void 0),ue=(0,n.Cg)([(0,u.$)("esri.layers.knowledgeGraph.KnowledgeGraphSublayer")],ue)},64714:(e,t,i)=>{i.d(t,{F0:()=>a,Vx:()=>d,e2:()=>c,f:()=>h});var n=i(44208),r=i(4718),o=i(99352),s=i(93470);function a(e){return{renderer:{type:"simple",symbol:"esriGeometryPoint"===e||"esriGeometryMultipoint"===e?s.Cb:"esriGeometryPolyline"===e?s.yM:s.WR}}}const l=/^[_$a-zA-Z][_$a-zA-Z0-9]*$/;let u=1;function d(e,t){if((0,n.A)("esri-csp-restrictions"))return()=>({[t]:null,...e});try{let i=`this${p(t)} = null;`;for(const t in e)i+=`this${p(t)} = ${JSON.stringify(e[t])};`;const n=new Function(`\n return class AttributesClass$${u++} {\n constructor() {\n ${i};\n }\n }\n `)();return()=>new n}catch(i){return()=>({[t]:null,...e})}}function p(e){return l.test(e)?`.${e}`:`["${e}"]`}function c(e={}){return[{name:"New Feature",description:"",prototype:{attributes:(0,r.o8)(e)}}]}function h(e,t){return{analytics:{supportsCacheHint:!1},attachment:null,data:{isVersioned:!1,isBranchVersioned:!1,supportsAttachment:!1,supportsM:!1,supportsZ:e},metadata:{supportsAdvancedFieldProperties:!1},operations:{supportsCalculate:!1,supportsTruncate:!1,supportsValidateSql:!1,supportsAdd:t,supportsDelete:t,supportsEditing:t,supportsChangeTracking:!1,supportsQuery:!0,supportsQueryBins:!0,supportsQueryAnalytics:!1,supportsQueryAttachments:!1,supportsQueryTopFeatures:!1,supportsResizeAttachments:!1,supportsSync:!1,supportsUpdate:t,supportsExceedsLimitStatistics:!0,supportsAsyncConvert3D:!1},query:o.F,queryRelated:{supportsCount:!0,supportsOrderBy:!0,supportsPagination:!0,supportsCacheHint:!1},queryTopFeatures:{supportsCacheHint:!1},queryAttributeBins:o.P,editing:{supportsGeometryUpdate:t,supportsGlobalId:!1,supportsReturnServiceEditsInSourceSpatialReference:!1,supportsRollbackOnFailure:!1,supportsUpdateWithoutM:!1,supportsUploadWithItemId:!1,supportsDeleteByAnonymous:!1,supportsDeleteByOthers:!1,supportsUpdateByAnonymous:!1,supportsUpdateByOthers:!1,supportsAsyncApplyEdits:!1,zDefault:void 0}}}},67996:(e,t,i)=>{i.d(t,{cZ:()=>N,XW:()=>j,fe:()=>k});var n=i(78888),r=i(49186),o=i(91869),s=i(34275),a=(i(90708),i(92722)),l=i(16930);class u{constructor(){this.version="",this.queryResult=new d}}class d{constructor(){this.featureResult=new p}}class p{constructor(){this.objectIdFieldName="",this.uniqueIdField=new c,this.globalIdFieldName="",this.geohashFieldName="",this.geometryProperties=new h,this.geometryType=null,this.spatialReference=new l.A,this.exceededTransferLimit=!1,this.hasZ=!1,this.hasM=!1,this.transform=new y,this.fields=[],this.fieldNameToAttributeIndexMap={},this.values=[],this.features=[],this.geometryFields=[]}}class c{constructor(){this.name="",this.isSystemMaintained=!1}}class h{constructor(){this.shapeAreaFieldName="",this.shapeLengthFieldName="",this.units=""}}class y{constructor(){this.quantizeOriginPosition="upperLeft",this.scale=new m,this.translate=new f}}class m{constructor(){this.xScale=0,this.yScale=0,this.mScale=0,this.zScale=0}}class f{constructor(){this.xTranslate=0,this.yTranslate=0,this.mTranslate=0,this.zTranslate=0}}class g{constructor(){this.name="",this.fieldType="esriFieldTypeString",this.alias="",this.sqlType="sqlTypeVarchar",this.domain="",this.defaultValue=""}}class b{constructor(){this.attributes=[],this.compressedGeometry=new w,this.centroid=new w,this.aggregateGeometries=[]}}class w{constructor(){this.geometryType=null,this.lengths=[],this.coords=[]}}const _=["ELEMENTUID","TYPENAME"];var I=i(45724),M=i(35448);const T={upperLeft:0,lowerLeft:1},C={sqlTypeBigInt:0,sqlTypeBinary:1,sqlTypeBit:2,sqlTypeChar:3,sqlTypeDate:4,sqlTypeDecimal:5,sqlTypeDouble:6,sqlTypeFloat:7,sqlTypeGeometry:8,sqlTypeGUID:9,sqlTypeInteger:10,sqlTypeLongNVarchar:11,sqlTypeLongVarbinary:12,sqlTypeLongVarchar:13,sqlTypeNChar:14,sqlTypeNVarChar:15,sqlTypeOther:16,sqlTypeReal:17,sqlTypeSmallInt:18,sqlTypeSqlXml:19,sqlTypeTime:20,sqlTypeTimestamp:21,sqlTypeTimestamp2:22,sqlTypeTinyInt:23,sqlTypeVarbinary:24,sqlTypeVarchar:25};var v=i(93637);function x(e){const t=new w;t.geometryType=(0,v.i7)(M.bV,e.geometry_type.value);const i=[],n=[];for(let t=0;t<e.lengths.length;t++)i.push(e.lengths[t]);for(let t=0;t<e.coords.length;t++)n.push(e.coords[t]);return t.lengths=i,t.coords=n,t}function E(e){const t=new g;return t.name=e.name,t.alias=e.alias,t.fieldType=(0,v.i7)(M.r5,e.field_type.value),t.sqlType=(0,v.i7)(C,e.sql_type.value),t.domain=e.domain,t.defaultValue=e.default_value,t}function S(e){const t=E(e);return t.geometryType=(0,v.i7)(M.bV,e.geometry_type.value),t}function A(e){const t=new y;t.quantizeOriginPosition=(0,v.i7)(T,e.quantizeOriginPosition.value);const i=t.scale,n=e.scale;i.xScale=n.xScale,i.yScale=n.yScale,i.mScale=n.mScale,i.zScale=n.zScale;const r=t.translate,o=e.translate;return r.xTranslate=o.xTranslate,r.yTranslate=o.yTranslate,r.mTranslate=o.mTranslate,r.zTranslate=o.zTranslate,t}async function N(e,t){t??=!1;const i={generateAllSublayers:t,namedTypeDefinitions:new Map};return await async function(e){const t=await(0,n.A)(e,{responseType:"array-buffer"}),i=await t.data;return async function(e){const t=new((await(0,I.I)()).MapOfObjectIdentifierSetsDecoder),i=t.decode(new Uint8Array(e)),n=new Map;if(0!==i.error_code)throw new r.A("knowledge-graph:layer-support-utils",i.error_message);const o=t.get_map_of_identifier_sets(),s=o.keys,a=s.size();for(let e=0;e<a;e++){const t=s.get(e),i=o.query_identifier_set(t),a=[];if(1===i.id_array_type.value){const e=i.get_globalid_array(),t=e.count();for(let i=0;i<t;i++)a.push(e.get_globalid_at(i))}else if(3===i.id_array_type.value){const e=i.get_identifier_array(),t=e.count();for(let i=0;i<t;i++)a.push(e.get_identifier_at(i).toString())}else if(2===i.id_array_type.value){const e=i.get_string_array(),t=e.count();for(let i=0;i<t;i++)a.push(e.get_string_at(i))}else{if(0!==i.id_array_type.value)throw new r.A("knowledge-graph:layer-support-utils","Tried to encode an unexpected ID Array type.");{const e=i.get_oid_array(),t=e.count();for(let i=0;i<t;i++)a.push(e.get_objectid_at(i).toString())}}n.set(t,a)}return t.delete(),n}(new Uint8Array(i))}(e).then(e=>{!function(e,t){for(const[i,n]of e){const e=(0,o.tE)(t.namedTypeDefinitions,i,()=>({useAllData:!1,members:new Map}));for(const t of n)e.members.has(t)||e.members.set(t,{id:t})}}(e,i)}),i}async function k(e){const t=await(0,I.I)(),i=new t.MapOfObjectIdentifierSets;!function(e,t,i){for(const[n,r]of i.namedTypeDefinitions){if(!r.members||r.useAllData)continue;const i=r.members.keys();let o=!1,s=!0;const a=new t.ObjectIdArray,l=new t.StringArray,u=new t.GlobalIdArray,d=new t.IdentifierArray,p=new t.ObjectIdentifierSet;for(const e of i)s&&(o=!isNaN(Number(e)),s=!1),o?a.add_objectid(Number(e)):(l.add_string(e),u.add_globalid(e)),d.add_identifier(e);p.set_oid_array(a),p.set_string_array(l),p.set_globalid_array(u),p.set_identifier_array(d),a.delete(),l.delete(),u.delete(),d.delete(),e.put_identifier_set(n,p),p.delete()}}(i,t,e);const n=new t.MapOfObjectIdentifierSetsEncoder;try{n.set_map_of_identifier_sets(i),n.encode();const e=n.get_encoding_result();if(0!==e.error.error_code)throw new r.A("knowledge-graph:layer-support-utils",e.error.error_message);const t=structuredClone(e.get_byte_buffer());return n.delete(),(0,s.OO)(t)}finally{i.delete()}}async function L(e){const t=await(0,n.A)(e,{responseType:"array-buffer"});return async function(e){const t=new((await(0,I.I)()).FeatureCollectionDecoder),i=t.decode(new Uint8Array(e));if(0!==i.error_code)throw new r.A("knowledge-graph:layer-support-utils",i.error_message);const n=function(e){const t=new u;t.version=e.version;const i=e.get_query_result();if(0!==i.results_type.value)throw new Error("Got a non-feature collection type");const n=i.get_feature_result(),r=t.queryResult.featureResult;r.objectIdFieldName=n.objectid_field_name,r.exceededTransferLimit=n.exceeded_transfer_limit,r.hasM=n.has_m,r.hasZ=n.has_z,r.geometryType=(0,v.i7)(M.bV,n.geometry_type.value),r.globalIdFieldName=n.globalid_field_name,r.geohashFieldName=n.geohash_field_name;const o=r.uniqueIdField,s=n.unique_id_field;o.name=s.name,o.isSystemMaintained=s.isSystemMaintained;const a=r.geometryProperties,l=n.geometry_properties;a.shapeAreaFieldName=l.shapeAreaFieldName,a.shapeLengthFieldName=l.shapeLengthFieldName,a.units=l.units;const d=r.spatialReference,p=n.spatial_reference;d.wkid=p.wkid,d.latestWkid=p.latestWkid,d.vcsWkid=p.vcsWkid,d.latestVcsWkid=p.latestVcsWkid,d.wkt=p.wkt,r.transform=A(n.transform);const c=r.fields,h=r.fieldNameToAttributeIndexMap,y=n.fields,m=y.size();for(let e=0;e<m;e++){const t=y.get(e),i=E(t);c.push(i),h[i.name]=e,t.delete()}y.delete();const f=r.values,g=n.values_count();for(let e=0;e<g;e++)f.push(n.get_value_at(e));const w=r.features,I=n.features,T=I.size();if(T>0)for(const e of _)if(void 0===h[e])throw new Error(`Feature collection missing required attribute: ${e}`);for(let e=0;e<T;e++){const t=new b,i=I.get(e),n=t.attributes,r=i.attributes_count();for(let e=0;e<r;e++)n.push(i.get_attribute_at(e));const o=i.get_compressed_geometry();o&&(t.compressedGeometry=x(o),t.centroid=x(i.get_centroid()));const s=t.aggregateGeometries,a=i.aggregate_geometries,l=a.size();for(let e=0;e<l;e++){const t=a.get(e),i=x(t);s.push(i),t.delete()}a.delete(),w.push(t),i.delete()}I.delete();const C=r.geometryFields,N=n.geometry_fields,k=N.size();for(let e=0;e<k;e++){const t=N.get(e),i=S(t);C.push(i),t.delete()}return N.delete(),t}(t.get_feature_collection());return t.delete(),n}(await t.data)}function F(e,t){if(!e?.queryResult?.featureResult)return t;const i=e.queryResult.featureResult.fieldNameToAttributeIndexMap;for(const n of e.queryResult.featureResult.features){const e=n.attributes[i.TYPENAME],r=(0,o.tE)(t.namedTypeDefinitions,e,()=>({useAllData:!1,members:new Map})),s=n.attributes[i.ELEMENTUID];if(n.compressedGeometry?.coords?.length>0){let e=n.compressedGeometry.lengths;"esriGeometryPoint"===n.compressedGeometry.geometryType&&(e=[]),r.members.set(s,{id:s,linkChartLocation:new a.A(e,n.compressedGeometry.coords)})}else r.members.set(s,{id:s})}return t}const j={fetchAndConvertSerializedLinkChart:e=>async function(e){const t=[],i={generateAllSublayers:!1,namedTypeDefinitions:new Map};return e.entitiesUrl&&t.push(L(e.entitiesUrl).then(e=>{F(e,i)})),e.relationshipsUrl&&t.push(L(e.relationshipsUrl).then(e=>{F(e,i)})),await Promise.all(t),i}(e)}},69860:(e,t,i)=>{i.d(t,{A:()=>a});var n=i(65864),r=i(90708),o=i(43334),s=i(15375);class a{constructor(){this._featureLookup=new Map}static getInstance(){return a.instance||(a.instance=new a),a.instance}static resetInstance(){a.instance&&(a.instance=null)}deleteFromStore(e){e.forEach(e=>{this._featureLookup.delete(e)})}readFromStoreByList(e){const t=[];return e.forEach(e=>{const i=this.readFromStoreById(e);i&&t.push(i)}),t}readFromStoreById(e){return this._featureLookup.get(e)??null}writeToStore(e,t,i){const a=[];return e.forEach(e=>{if(!e?.id)return;e.properties||(e.properties=[]);let l,u=null;if(i&&e.properties[i]&&(u=(0,r.Ux)(e.properties[i])),"originId"in e&&"destinationId"in e&&(e.properties[s.Cz]=e.originId,e.properties[s.KQ]=e.destinationId),e.properties[t]=e.id,e.id&&this._featureLookup.has(e.id)&&this._featureLookup.get(e.id).attributes){const r=this._featureLookup.get(e.id),s=JSON.parse(JSON.stringify(Object.assign(r.attributes,e.properties)));i&&e.properties[i]&&(s[i]=(0,n.rS)(e.properties[i])),l=new o.Om(u?JSON.parse(JSON.stringify(u)):r?.geometry?JSON.parse(JSON.stringify(r.geometry)):null,s,null,e.properties[t])}else l=new o.Om(u?JSON.parse(JSON.stringify(u)):null,e.properties,null,e.properties[t]);this._featureLookup.set(`${e.typeName?`${e.typeName}__${e.id}`:e.id}`,l),a.push(l)}),a}}},73133:(e,t,i)=>{i.d(t,{j:()=>n});const n=(0,i(66552).O)()({esriTimeUnitsMilliseconds:"milliseconds",esriTimeUnitsSeconds:"seconds",esriTimeUnitsMinutes:"minutes",esriTimeUnitsHours:"hours",esriTimeUnitsDays:"days",esriTimeUnitsWeeks:"weeks",esriTimeUnitsMonths:"months",esriTimeUnitsYears:"years",esriTimeUnitsDecades:"decades",esriTimeUnitsCenturies:"centuries",esriTimeUnitsUnknown:void 0})},75503:(e,t,i)=>{i.d(t,{EC:()=>v,wq:()=>a});var n=i(4576),r=i(21818),o=(i(44208),i(15142)),s=i(11006);class a{constructor(e=9,t){this._compareMinX=c,this._compareMinY=h,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(),I.prune(),M.prune(),T.prune(),C.prune()}all(e){l(this._data,e)}search(e,t){let i=this._data;const n=this._toBBox;if(w(e,i))for(I.clear();i;){for(let r=0,o=i.children.length;r<o;r++){const o=i.children[r],s=i.leaf?n(o):o;w(e,s)&&(i.leaf?t(o):b(e,s)?l(o,t):I.push(o))}i=I.pop()}}collides(e){let t=this._data;const i=this._toBBox;if(!w(e,t))return!1;for(I.clear();t;){for(let n=0,r=t.children.length;n<r;n++){const r=t.children[n],o=t.leaf?i(r):r;if(w(e,o)){if(t.leaf||b(e,o))return!0;I.push(r)}}t=I.pop()}return!1}load(e){if(!e.length)return this;if(e.length<this._minEntries){for(let t=0,i=e.length;t<i;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 E([]),this}remove(e){if(!e)return this;let t,i=this._data,o=null,s=0,a=!1;const l=this._toBBox(e);for(T.clear(),C.clear();i||T.length>0;){if(i||(i=T.pop(),o=T.data[T.length-1],s=C.pop()??0,a=!0),i.leaf&&(t=(0,n.qh)(i.children,(0,r.zI)(e),i.children.length,i.indexHint),-1!==t))return i.children.splice(t,1),T.push(i),this._condense(T),this;a||i.leaf||!b(i,l)?o?(s++,i=o.children[s],a=!1):i=null:(T.push(i),C.push(s),s=0,o=i,i=i.children[0])}return this}toJSON(){return this._data}fromJSON(e){return this._data=e,this}_build(e,t,i,n){const r=i-t+1;let o=this._maxEntries;if(r<=o){const n=new E(e.slice(t,i+1));return u(n,this._toBBox),n}n||(n=Math.ceil(Math.log(r)/Math.log(o)),o=Math.ceil(r/o**(n-1)));const s=new S([]);s.height=n;const a=Math.ceil(r/o),l=a*Math.ceil(Math.sqrt(o));_(e,t,i,l,this._compareMinX);for(let r=t;r<=i;r+=l){const t=Math.min(r+l-1,i);_(e,r,t,a,this._compareMinY);for(let i=r;i<=t;i+=a){const r=Math.min(i+a-1,t);s.children.push(this._build(e,i,r,n-1))}}return u(s,this._toBBox),s}_insert(e,t,i){const n=this._toBBox,r=i?e:n(e);T.clear();const o=function(e,t,i,n){for(;n.push(t),!0!==t.leaf&&n.length-1!==i;){let i,n=1/0,r=1/0;for(let o=0,s=t.children.length;o<s;o++){const s=t.children[o],a=y(s),l=f(e,s)-a;l<r?(r=l,n=a<n?a:n,i=s):l===r&&a<n&&(n=a,i=s)}t=i||t.children[0]}return t}(r,this._data,t,T);for(o.children.push(e),p(o,r);t>=0&&T.data[t].children.length>this._maxEntries;)this._split(T,t),t--;!function(e,t,i){for(let n=i;n>=0;n--)p(t.data[n],e)}(r,T,t)}_split(e,t){const i=e.data[t],n=i.children.length,r=this._minEntries;this._chooseSplitAxis(i,r,n);const o=this._chooseSplitIndex(i,r,n);if(!o)return;const s=i.children.splice(o,i.children.length-o),a=i.leaf?new E(s):new S(s);a.height=i.height,u(i,this._toBBox),u(a,this._toBBox),t?e.data[t-1].children.push(a):this._splitRoot(i,a)}_splitRoot(e,t){this._data=new S([e,t]),this._data.height=e.height+1,u(this._data,this._toBBox)}_chooseSplitIndex(e,t,i){let n,r,o;n=r=1/0;for(let s=t;s<=i-t;s++){const t=d(e,0,s,this._toBBox),a=d(e,s,i,this._toBBox),l=g(t,a),u=y(t)+y(a);l<n?(n=l,o=s,r=u<r?u:r):l===n&&u<r&&(r=u,o=s)}return o}_chooseSplitAxis(e,t,i){const n=e.leaf?this._compareMinX:c,r=e.leaf?this._compareMinY:h;this._allDistMargin(e,t,i,n)<this._allDistMargin(e,t,i,r)&&e.children.sort(n)}_allDistMargin(e,t,i,n){e.children.sort(n);const r=this._toBBox,o=d(e,0,t,r),s=d(e,i-t,i,r);let a=m(o)+m(s);for(let n=t;n<i-t;n++){const t=e.children[n];p(o,e.leaf?r(t):t),a+=m(o)}for(let n=i-t-1;n>=t;n--){const t=e.children[n];p(s,e.leaf?r(t):t),a+=m(s)}return a}_condense(e){for(let t=e.length-1;t>=0;t--){const i=e.data[t];if(0===i.children.length)if(t>0){const r=e.data[t-1],o=r.children;o.splice((0,n.qh)(o,i,o.length,r.indexHint),1)}else this.clear();else u(i,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 i=e;for(M.clear();i;){if(!0===i.leaf)for(const e of i.children)t((0,r.zI)(e));else M.pushArray(i.children);i=M.pop()??null}}function u(e,t){d(e,0,e.children.length,t,e)}function d(e,t,i,n,r){r||(r=new E([])),r.minX=1/0,r.minY=1/0,r.maxX=-1/0,r.maxY=-1/0;for(let o,s=t;s<i;s++)o=e.children[s],p(r,e.leaf?n(o):o);return r}function p(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 c(e,t){return e.minX-t.minX}function h(e,t){return e.minY-t.minY}function y(e){return(e.maxX-e.minX)*(e.maxY-e.minY)}function m(e){return e.maxX-e.minX+(e.maxY-e.minY)}function f(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 i=Math.max(e.minX,t.minX),n=Math.max(e.minY,t.minY),r=Math.min(e.maxX,t.maxX),o=Math.min(e.maxY,t.maxY);return Math.max(0,r-i)*Math.max(0,o-n)}function b(e,t){return e.minX<=t.minX&&e.minY<=t.minY&&t.maxX<=e.maxX&&t.maxY<=e.maxY}function w(e,t){return t.minX<=e.maxX&&t.minY<=e.maxY&&t.maxX>=e.minX&&t.maxY>=e.minY}function _(e,t,i,n,r){const o=[t,i];for(;o.length;){const t=o.pop(),i=o.pop();if(t-i<=n)continue;const a=i+Math.ceil((t-i)/n/2)*n;(0,s.q)(e,a,i,t,r),o.push(i,a,a,t)}}const I=new o.A,M=new o.A,T=new o.A,C=new o.A({deallocator:void 0});class v{constructor(){this.minX=1/0,this.minY=1/0,this.maxX=-1/0,this.maxY=-1/0}}class x extends v{constructor(){super(...arguments),this.height=1,this.indexHint=new n.vW}}class E extends x{constructor(e){super(),this.children=e,this.leaf=!0}}class S extends x{constructor(e){super(),this.children=e,this.leaf=!1}}},77901:(e,t,i)=>{i.d(t,{A:()=>a});var n=i(31635),r=i(25482),o=i(10107),s=(i(44208),i(53966),i(87811),i(40608));let a=class extends r.o{constructor(e){super(e),this.properties=null}};(0,n.Cg)([(0,o.MZ)({json:{write:!0}})],a.prototype,"properties",void 0),a=(0,n.Cg)([(0,s.$)("esri.rest.knowledgeGraph.GraphObject")],a)},80340:(e,t,i)=>{i.d(t,{P:()=>M});var n=i(31635),r=i(65008),o=i(49186),s=i(53966),a=i(91869),l=i(74887),u=i(39516),d=i(10107),p=(i(44208),i(87811),i(40608)),c=i(5443),h=i(39829),y=i(98988),m=i(21325),f=i(15375),g=i(69860),b=i(30504),w=i(62568),_=i(42538),I=i(61956);let M=class extends r.A{constructor(e){super(e),this._processingCacheUpdatesLookup=new Map,this.knowledgeGraph=null,this.inclusionModeDefinition={generateAllSublayers:!0,namedTypeDefinitions:new Map},this.entityTypeNames=new Set,this.relationshipTypeNames=new Set,this.geographicLookup=new Map,this.sublayerCaches=new Map,this.nodeConnectionsLookup=new Map,this.relationshipConnectionsLookup=new Map,this.memberIdTypeLookup=new Map;const t=new Map;e.knowledgeGraph.dataModel.entityTypes?.forEach(i=>{i.name&&(t.set(i.name,"entity"),this._processingCacheUpdatesLookup.set(i.name,[]),e.inclusionModeDefinition&&!e.inclusionModeDefinition?.generateAllSublayers||this.entityTypeNames.add(i.name),i.properties?.forEach(e=>{e.geometryType&&"esriGeometryNull"!==e.geometryType&&this.geographicLookup.set(i.name,{name:e.name??"",geometryType:e.geometryType})}))}),e.knowledgeGraph.dataModel.relationshipTypes?.forEach(i=>{i.name&&(t.set(i.name,"relationship"),this._processingCacheUpdatesLookup.set(i.name,[]),e.inclusionModeDefinition&&!e.inclusionModeDefinition?.generateAllSublayers||this.relationshipTypeNames.add(i.name),i.properties?.forEach(e=>{e.geometryType&&"esriGeometryNull"!==e.geometryType&&this.geographicLookup.set(i.name,{name:e.name??"",geometryType:e.geometryType})}))}),e.inclusionModeDefinition?.namedTypeDefinitions.forEach((i,n)=>{if("entity"===t.get(n))this.entityTypeNames.add(n);else{if("relationship"!==t.get(n))return s.A.getLogger(this).warn(`A named type, ${n}, was in the inclusion list that wasn't in the data model and will be removed`),void e.inclusionModeDefinition?.namedTypeDefinitions.delete(n);this.relationshipTypeNames.add(n)}const r=new Map;i.members?.forEach(e=>{(0,a.tE)(this.memberIdTypeLookup,e.id,()=>new Set).add(n);const t=this.getById(e.id);t&&r.set(e.id,t)}),this.sublayerCaches.set(n,r)})}addToLayer(e){e.forEach(({typeName:e,id:t})=>{if(!this.inclusionModeDefinition)throw new o.A("knowledge-graph:layer-data-manager","You cannot add to a layer's exclusion list if it was not created with an exclusion list originally");if(this.inclusionModeDefinition.namedTypeDefinitions.has(e)){if(this.inclusionModeDefinition.namedTypeDefinitions.has(e)){const i=this.inclusionModeDefinition.namedTypeDefinitions.get(e);i.members||(i.members=new Map),i.members.set(t,{id:t}),(0,a.tE)(this.memberIdTypeLookup,t,()=>new Set).add(e)}}else{const i=new Map;i.set(t,{id:t}),this.inclusionModeDefinition.namedTypeDefinitions.set(e,{useAllData:!1,members:i}),(0,a.tE)(this.memberIdTypeLookup,t,()=>new Set).add(e)}})}getById(e){return g.A.getInstance().readFromStoreById(e)}async getData(e,t,i){if(t.objectType.name&&this.inclusionModeDefinition?.namedTypeDefinitions&&this.inclusionModeDefinition.namedTypeDefinitions.size>0&&!this.inclusionModeDefinition.namedTypeDefinitions.has(t.objectType.name))return[];let n;if(n=e||new I.A({where:"1=1",outFields:["*"]}),"link-chart"===t.parentCompositeLayer.type){const e=t.parentCompositeLayer,i=this._processingCacheUpdatesLookup.get(t.objectType.name??""),r=n.outFields;r&&1===r.length&&r[0]===f.dr&&"1=1"===n.where||await Promise.all(i??[]);const o=this.sublayerCaches.has(t.objectType.name??"")?Array.from(this.sublayerCaches.get(t.objectType.name)?.values()):[],s=[];return o.forEach(i=>{if(this.relationshipTypeNames.has(t.objectType.name)){i.geometry=e.relationshipLinkChartDiagramLookup.get(i.attributes[t.objectIdField]);const n=this.memberIdTypeLookup.get(i.attributes[f.Cz]),r=this.memberIdTypeLookup.get(i.attributes[f.KQ]),o=this._isEndEntitySpatial(n,i,f.Cz),s=this._isEndEntitySpatial(r,i,f.KQ);i.attributes[f.BL]=Number(o&&s)}else{i.geometry=e.entityLinkChartDiagramLookup.get(i.attributes[t.objectIdField]);const n=this.geographicLookup.get(t.objectType.name);n&&i.attributes[n.name]?i.attributes[f.BL]=1:i.attributes[f.BL]=0}i.attributes[f.T1]=i.geometry,s.push(i)}),s}return this.retrieveDataFromService(n,t,i)}async getConnectedRecordIds(e,t,i){const n=[];let r="";const o=this._getNamedTypeIdMapFromNodeIds(e);if(t&&0!==t?.length){for(const e of t)r=r+e+"|";r=r.slice(0,-1)}const s={},a=[];for(const[e,i]of o){const n=`${e}_ids`;s[n]=i,t&&0!==t?.length?a.push(`MATCH (n:${e}) WHERE id(n) IN $${n} WITH n MATCH (n)-[r:${r}]-(m) RETURN id(r), type(r), id(m), labels(m)[0]`):a.push(`MATCH (n:${e}) WHERE id(n) IN $${n} WITH n MATCH (n)-[r]-(m) RETURN id(r), type(r), id(m), labels(m)[0]`)}if(!a.length)return n;const l=a.join(" UNION "),u=(await(0,w.executeQueryStreaming)(this.knowledgeGraph,new _.A({openCypherQuery:l,bindParameters:s}),{signal:i?.signal})).resultRowsStream.getReader();for(;;){const{done:e,value:t}=await u.read();if(e)break;for(let e=0;e<t.length;e++){const i=t[e];n.push({id:i[0],typeName:i[1]}),n.push({id:i[2],typeName:i[3]})}}return n}async getRelationshipsBetweenNodes(e,t,i){const n=this._getNamedTypeIdMapFromNodeIds(e);if(0===n.size)return[];const r={relationshipExclusionIds:t,possibleConnectionEntityIds:e},o=[];for(const[e,t]of n.entries()){const i=`${e}_ids`;r[i]=t,o.push(`MATCH (n:${e}) WHERE id(n) IN $${i} WITH n MATCH (n)-[r]->(m) WHERE id(m) IN $possibleConnectionEntityIds AND NOT id(r) IN $relationshipExclusionIds RETURN id(r), type(r)`)}const s=o.join(" UNION "),a=[],l=(await(0,w.executeQueryStreaming)(this.knowledgeGraph,new _.A({openCypherQuery:s,bindParameters:r}),{signal:i?.signal})).resultRowsStream.getReader();for(;;){const{done:e,value:t}=await l.read();if(e)break;for(let e=0;e<t.length;e++){const i=t[e];a.push({id:i[0],typeName:i[1]})}}return a}async getRelationshipsFromNodes(e,t,i,n){const r=this._getNamedTypeIdMapFromNodeIds(e);if(0===r.size||0===t.length)return[];const o={relationshipExclusionIds:i,possibleConnectionEntityIds:t},s=[];for(const[e,t]of r.entries()){const i=`${e}_ids`;o[i]=t,s.push(`MATCH (n:${e}) WHERE id(n) IN $${i} WITH n MATCH (n)-[r]-(m) WHERE id(m) IN $possibleConnectionEntityIds AND NOT id(r) IN $relationshipExclusionIds RETURN id(r), type(r)`)}const a=s.join(" UNION "),l=new Map,u=(await(0,w.executeQueryStreaming)(this.knowledgeGraph,new _.A({openCypherQuery:a,bindParameters:o}),{signal:n?.signal})).resultRowsStream.getReader();for(;;){const{done:e,value:t}=await u.read();if(e)break;for(let e=0;e<t.length;e++){const i=t[e];let n=l.get(i[1]);n||(n=new Set,l.set(i[1],n)),n.add(i[0])}}const d=[];for(const[e,t]of l)for(const i of t)d.push({id:i,typeName:e});return d}async refreshCacheContent(e,t,i,n=!0,r){const s=g.A.getInstance(),u=[],d=new Map,p=new Map;this.knowledgeGraph.dataModel.entityTypes?.forEach(e=>{e.name&&p.set(e.name,e)}),this.knowledgeGraph.dataModel.relationshipTypes?.forEach(e=>{e.name&&p.set(e.name,e)}),e||this.inclusionModeDefinition?e?e.forEach(e=>{if(this.memberIdTypeLookup.has(e))for(const t of this.memberIdTypeLookup.get(e))d.has(t)?d.get(t)?.push(e):d.set(t,[e])}):this.inclusionModeDefinition?.namedTypeDefinitions?.forEach((e,t)=>{e.useAllData?d.set(t,null):e.members&&e.members.forEach(e=>{d.has(t)&&null!==d.get(t)?d.get(t)?.push(e.id):d.set(t,[e.id])})}):(this.knowledgeGraph.dataModel.entityTypes?.forEach(e=>{e.name&&d.set(e.name,null)}),this.knowledgeGraph.dataModel.entityTypes?.forEach(e=>{e.name&&d.set(e.name,null)}));for(const[e,l]of d){const d=new Set(l),c=new Promise((u,c)=>{(async()=>{const u=new Set,c=[];let h,y="",m=!1;if(t||p.get(e)?.properties?.forEach(e=>{e.name&&u.add(e.name)}),i&&this.geographicLookup.has(e)){const t=this.geographicLookup.get(e)?.name;t&&u.add(t)}if(this.entityTypeNames.has(e))y=`MATCH (n:${e}) ${l?"WHERE id(n) IN $ids ":""}return ID(n)`,u.forEach(e=>{y+=`, n.${e}`,c.push(e)});else{if(!this.relationshipTypeNames.has(e))throw new o.A("knowledge-graph:layer-data-manager",`The graph type of ${e} could not be determined. Was this type set in the KG data model and inclusion definition?`);m=!0,y=`MATCH ()-[n:${e}]->() ${l?"WHERE id(n) IN $ids ":""}return ID(n), id(startNode(n)), id(endNode(n))`,u.forEach(e=>{y+=`, n.${e}`,c.push(e)})}h=new _.A(l?{openCypherQuery:y,bindParameters:{ids:l}}:{openCypherQuery:y});const g=(await(0,w.executeQueryStreaming)(this.knowledgeGraph,h,{signal:r?.signal})).resultRowsStream.getReader();for(;;){const{done:t,value:i}=await g.read();if(t)break;const r=[];for(let e=0;e<i.length;e++){const t=i[e];let n=0,o=0;const s={properties:{}};for(s.id=t[n],n++,o++,m&&(s.originId=t[n],n++,o++,s.destinationId=t[n],n++,o++,(0,a.tE)(this.nodeConnectionsLookup,s.originId,()=>new Set).add(s.id),(0,a.tE)(this.nodeConnectionsLookup,s.destinationId,()=>new Set).add(s.id),(0,a.tE)(this.relationshipConnectionsLookup,s.id,()=>[s.originId,s.destinationId]));n<t.length;n++)s.properties[c[n-o]]=t[n];d.delete(s.id),r.push(s)}const o=s.writeToStore(r,f.dr,this.geographicLookup.get(e)?.name);this.sublayerCaches.has(e)||this.sublayerCaches.set(e,new Map),n&&!this.inclusionModeDefinition?.namedTypeDefinitions.has(e)&&this.inclusionModeDefinition?.namedTypeDefinitions.set(e,{useAllData:!1,members:new Map}),n&&!this.inclusionModeDefinition?.namedTypeDefinitions.get(e).members&&(this.inclusionModeDefinition.namedTypeDefinitions.get(e).members=new Map);const l=this.sublayerCaches.get(e);o.forEach(t=>{l?.set(t.attributes[f.dr],t),n&&!this.inclusionModeDefinition?.namedTypeDefinitions.get(e).members.has(t.attributes[f.dr])&&(this.inclusionModeDefinition?.namedTypeDefinitions.get(e).members.set(t.attributes[f.dr],{id:t.attributes[f.dr]}),(0,a.tE)(this.memberIdTypeLookup,t.attributes[f.dr],()=>new Set).add(e))})}const b=this.inclusionModeDefinition?.namedTypeDefinitions.get(e);if(b)for(const e of d)b.members?.delete(e)})().then(()=>{u(null)}).catch(e=>{"AbortError"===e.name?u(null):c(e)})});u.push(c),this._processingCacheUpdatesLookup.get(e)?.push(c)}if(await Promise.all(u),r?.signal?.aborted)throw(0,l.NK)()}removeFromLayer(e){const t=new Set,i=new Set(e.map(e=>e.id));for(const i of e)t.add(i.typeName),1===this.memberIdTypeLookup.get(i.id)?.size?this.memberIdTypeLookup.delete(i.id):this.memberIdTypeLookup.get(i.id)?.delete(i.typeName),this.inclusionModeDefinition?.namedTypeDefinitions.forEach((e,t)=>{t===i.typeName&&e.members?.has(i.id)&&e.members.delete(i.id)});t.forEach(e=>{this.sublayerCaches.get(e)?.forEach((t,n)=>{i.has(n)&&this.sublayerCaches.get(e)?.delete(n)})})}async retrieveDataFromService(e,t,i){const n=g.A.getInstance(),r=new Set,s=[];let a,l="",d=[];const p="relationship"===t.graphType,I=this.inclusionModeDefinition?.namedTypeDefinitions?.get(t.objectType.name)?.useAllData,M=t.parentCompositeLayer.sublayerIdsCache.get(t.objectType.name);let T=!I&&M?Array.from(M).sort():null;if(this.inclusionModeDefinition?.namedTypeDefinitions?.get(t.objectType.name)?.useAllData)this.inclusionModeDefinition?.namedTypeDefinitions?.get(t.objectType.name)?.useAllData&&null!=e.objectIds&&(T=e.objectIds);else if(null!=e.objectIds&&T&&T.length>0){const t=e.objectIds;e.objectIds=T.filter(e=>t.includes(e))}else if(null!=e.objectIds)T=e.objectIds;else{if(this.inclusionModeDefinition?.namedTypeDefinitions.has(t.objectType.name)&&(!this.inclusionModeDefinition.namedTypeDefinitions.get(t.objectType.name)?.members||this.inclusionModeDefinition.namedTypeDefinitions.get(t.objectType.name)?.members?.size<1))return e.objectIds=[],[];e.objectIds=T}if(null!=e.outFields){const i=e.outFields;i.includes("*")?t.fields.forEach(e=>{r.add(e.name)}):i.forEach(e=>{e!==f.dr&&e!==t.geometryFieldName&&r.add(e)})}if(null!=e.geometry){const i=e.geometry;let n;const d=t.parentCompositeLayer.dataManager.knowledgeGraph.serviceDefinition,f=d?.spatialReference,g=d?.serviceCapabilities?.geometryCapabilities;let w=g?.geometryMaxBoundingRectangleSizeX,I=g?.geometryMaxBoundingRectangleSizeY;if("point"===i.type){let e=i;e.spatialReference?.isWGS84||(await(0,y.initializeProjection)(e.spatialReference,m.KK),e=(0,y.project)(e,m.KK)),n=new c.A({spatialReference:m.KK,xmin:e.x-1e-4,ymin:e.y-1e-4,xmax:e.x+1e-4,ymax:e.y+1e-4})}else i?.extent?.spatialReference&&!i.spatialReference?.isWGS84?(await(0,y.initializeProjection)(i.extent.spatialReference,m.KK),n=(0,y.project)(i.extent,m.KK)):n=i.extent;if(w&&I&&f){if(4326!==f.wkid){const e=new c.A({spatialReference:f,xmax:w,ymax:I}),t=(0,y.project)(e,m.KK);w=t.xmax,I=t.ymax}if(n.xmax-n.xmin>w)throw new o.A("knowledge-graph:layer-data-manager",`Extent x bounds should be within ${w}° latitude, limit exceeded`);if(n.ymax-n.ymin>I)throw new o.A("knowledge-graph:layer-data-manager",`Extent y bounds should be within ${I}° longitude, limit exceeded`)}if(null!=e.where&&"1=1"!==e.where){const i=await(0,u.GP)(e.where.toUpperCase(),t.fieldsIndex);t.fields.forEach(e=>{i.fieldNames.includes(e.name)&&r.add(e.name)})}l=p?`Match ()-[n:${t.objectType.name}]->() WHERE esri.graph.ST_Intersects($param_filter_geom, n.${t.geometryFieldName}) return ID(n), id(startNode(r)), id(endNode(r))`:`Match (n:${t.objectType.name}) WHERE esri.graph.ST_Intersects($param_filter_geom, n.${t.geometryFieldName}) return ID(n)`,t.geometryFieldName&&r.add(t.geometryFieldName),r.forEach(e=>{l+=`, n.${e}`,s.push(e)}),a=new _.A({openCypherQuery:l,bindParameters:{param_filter_geom:new h.A({rings:(0,b.Wq)(n)})}})}else{let i="";if(null!=e.where&&"1=1"!==e.where){const n=await(0,u.GP)(e.where,t.fieldsIndex);t.fields.forEach(e=>{n.fieldNames.includes(e.name)&&r.add(e.name)});const o=new Set(["column-reference","string","number","binary-expression"]),s=new Set(["=","<","<=","<>",">",">=","AND","OR","LIKE"]);let a=!1;const l=e=>{if("column-reference"===e.type)return`n.${e.column}`;if("string"===e.type)return`'${e.value}'`;if("number"===e.type)return`${e.value}`;if("binary-expression"===e.type&&o.has(e.left.type)&&o.has(e.right.type)&&s.has(e.operator))return`${l(e.left)} ${e.operator} ${l(e.right)}`;if("binary-expression"===e.type&&"LIKE"===e.operator){let t="";if("function"===e.left.type&&"column-reference"===e.left.args.value[0].type)t+=`lower(n.${e.left.args.value[0].column})`;else{if("column-reference"!==e.left.type)return a=!0,"";t+=`lower(n.${e.left.column})`}if(t+=" CONTAINS (","string"!==e.right.type)return a=!0,"";{let i=e.right.value;i.startsWith("%")&&(i=i.slice(1)),i.endsWith("%")&&(i=i.slice(0,-1)),t+=`'${i.toLowerCase()}')`}return t}return a=!0,""};i=l(n.parseTree),a&&(i="")}let n="";n=p?`Match ()-[n:${t.objectType.name}]->()`:`Match (n:${t.objectType.name})`;let o=!1;T&&(o=!0,n+=" WHERE ID(n) IN $ids"),i&&(n+=o?" AND":" WHERE",n+=` ${i}`),n+=" return ID(n)",p&&(n+=", id(startNode(n)), id(endNode(n))"),e.returnGeometry&&t.geometryFieldName&&r.add(t.geometryFieldName),r.forEach(e=>{n+=`, n.${e}`,s.push(e)}),a=new _.A(T?{openCypherQuery:n,bindParameters:{ids:T}}:{openCypherQuery:n})}const C=(await(0,w.executeQueryStreaming)(t.parentCompositeLayer.dataManager.knowledgeGraph,a,i)).resultRowsStream.getReader();for(;;){const{done:e,value:i}=await C.read();if(e)break;const r=[];for(let e=0;e<i.length;e++){const t=i[e];let n=0,o=0;const a={properties:{}};for(a.id=t[n],n++,o++,p&&(a.originId=t[n],n++,o++,a.destinationId=t[n],n++,o++);n<t.length;n++)a.properties[s[n-o]]=t[n];r.push(a)}d=d.concat(n.writeToStore(r,f.dr,t.parentCompositeLayer.dataManager.geographicLookup.get(t.objectType.name)?.name))}return d}_isEndEntitySpatial(e,t,i){for(const n of e??[])if(this.entityTypeNames.has(n)){const e=this.geographicLookup.get(n),r=e&&this.sublayerCaches.get(n)?.get(t.attributes[i]);if(e&&r?.attributes[e.name])return!0}return!1}_getNamedTypeIdMapFromNodeIds(e){const t=new Map;return e.forEach(e=>{if(this.memberIdTypeLookup.has(e))for(const i of this.memberIdTypeLookup.get(e)){if(!this.entityTypeNames.has(i))return;t.has(i)?t.get(i)?.push(e):t.set(i,[e])}}),t}};(0,n.Cg)([(0,d.MZ)()],M.prototype,"knowledgeGraph",void 0),(0,n.Cg)([(0,d.MZ)()],M.prototype,"inclusionModeDefinition",void 0),(0,n.Cg)([(0,d.MZ)()],M.prototype,"entityTypeNames",void 0),(0,n.Cg)([(0,d.MZ)()],M.prototype,"relationshipTypeNames",void 0),(0,n.Cg)([(0,d.MZ)()],M.prototype,"geographicLookup",void 0),(0,n.Cg)([(0,d.MZ)()],M.prototype,"sublayerCaches",void 0),(0,n.Cg)([(0,d.MZ)()],M.prototype,"nodeConnectionsLookup",void 0),(0,n.Cg)([(0,d.MZ)()],M.prototype,"relationshipConnectionsLookup",void 0),(0,n.Cg)([(0,d.MZ)()],M.prototype,"memberIdTypeLookup",void 0),M=(0,n.Cg)([(0,p.$)("esri.layers.knowledgeGraph.KnowledgeGraphLayerDataManager")],M)},82935:(e,t,i)=>{i.d(t,{B:()=>h,e:()=>y});var n=i(31635),r=i(10107),o=(i(44208),i(53966),i(87811),i(36005)),s=i(40608),a=i(89317),l=i(30524),u=i(96184),d=i(73133),p=i(64272),c=i(26253);const h={type:Boolean,json:{read:{source:"timeAnimation"},write:{target:"timeAnimation",layerContainerTypes:a.K}}},y=e=>{const t=e;let i=class extends t{constructor(){super(...arguments),this.timeExtent=null,this.timeOffset=null,this.useViewTime=!0}readOffset(e,t){const i=t.timeInfo.exportOptions;if(!i)return null;const n=i.timeOffset,r=d.j.fromJSON(i.timeOffsetUnits);return n&&r?new c.T({value:n,unit:r}):null}set timeInfo(e){(0,l.sv)(e,this.fieldsIndex),this._set("timeInfo",e)}};return(0,n.Cg)([(0,r.MZ)({type:p.T,json:{write:!1}})],i.prototype,"timeExtent",void 0),(0,n.Cg)([(0,r.MZ)({type:c.T})],i.prototype,"timeOffset",void 0),(0,n.Cg)([(0,o.w)("service","timeOffset",["timeInfo.exportOptions"])],i.prototype,"readOffset",null),(0,n.Cg)([(0,r.MZ)({value:null,type:u.A,json:{write:!0,origins:{"web-document":{read:!1,write:!1},"portal-item":{read:!1,write:!1}}}})],i.prototype,"timeInfo",null),(0,n.Cg)([(0,r.MZ)(h)],i.prototype,"useViewTime",void 0),i=(0,n.Cg)([(0,s.$)("esri.layers.mixins.TemporalLayer")],i),i}},83221:(e,t,i)=>{i.d(t,{A:()=>y});var n=i(4576),r=i(49186),o=i(65529),s=i(53966),a=i(70328),l=i(19419),u=i(90708),d=i(6518),p=i(51441),c=i(37730);const h=(0,a.vt)();class y{constructor(e){this.geometryInfo=e,this._boundsStore=new d.F,this._featuresById=new Map,this._usedMemory=0,this.events=new o.bk,this.featureAdapter=c.T}get usedMemory(){return this._usedMemory}get geometryType(){return this.geometryInfo.geometryType}get hasM(){return this.geometryInfo.hasM}get hasZ(){return this.geometryInfo.hasZ}get numFeatures(){return this._featuresById.size}get fullBounds(){return this._boundsStore.fullBounds}get storeStatistics(){let e=0;return this._featuresById.forEach(t=>{null!=t.geometry&&t.geometry.coords&&(e+=t.geometry.coords.length)}),{featureCount:this._featuresById.size,vertexCount:e/(this.hasZ?this.hasM?4:3:this.hasM?3:2)}}getFullExtent(e){if(null==this.fullBounds)return null;const[t,i,n,r]=this.fullBounds;return{xmin:t,ymin:i,xmax:n,ymax:r,spatialReference:(0,p.ag)(e)}}add(e){this._add(e),this._emitChanged()}addMany(e){for(const t of e)this._add(t);this._emitChanged()}upsertMany(e){const t=e.map(e=>this._upsert(e));return this._emitChanged(),t.filter(n.Ru)}clear(){this._featuresById.clear(),this._boundsStore.clear(),this._emitChanged(),this._usedMemory=0}removeById(e){const t=this._featuresById.get(e);return t?(this._remove(t),this._emitChanged(),t):null}removeManyById(e){this._boundsStore.invalidateIndex();for(const t of e){const e=this._featuresById.get(t);e&&this._remove(e)}this._emitChanged()}forEachBounds(e,t){for(const i of e){const e=this._boundsStore.get(i.objectId);e&&t((0,a.Jt)(h,e))}}getFeature(e){return this._featuresById.get(e)}has(e){return this._featuresById.has(e)}forEach(e){this._featuresById.forEach(t=>e(t))}forEachInBounds(e,t){this._boundsStore.forEachInBounds(e,e=>{t(this._featuresById.get(e))})}_emitChanged(){this.events.emit("changed",void 0)}_add(e){if(!e)return;const t=e.objectId;if(null==t)return void s.A.getLogger("esri.layers.graphics.data.FeatureStore").error(new r.A("featurestore:invalid-feature","feature id is missing",{feature:e}));const i=this._featuresById.get(t);let n;if(i?(e.displayId=i.displayId,n=this._boundsStore.get(t),this._boundsStore.delete(t),this._usedMemory-=this.estimateFeatureUsedMemory?.(i)??0):null!=this.onFeatureAdd&&this.onFeatureAdd(e),!e.geometry?.coords?.length)return this._boundsStore.set(t,null),void this._featuresById.set(t,e);n=(0,u.jQ)(null!=n?n:(0,l.vt)(),e.geometry,this.geometryInfo.hasZ,this.geometryInfo.hasM),null!=n&&this._boundsStore.set(t,n),this._featuresById.set(t,e),this._usedMemory+=this.estimateFeatureUsedMemory?.(e)??0}_upsert(e){const t=e?.objectId;if(null==t)return s.A.getLogger("esri.layers.graphics.data.FeatureStore").error(new r.A("featurestore:invalid-feature","feature id is missing",{feature:e})),null;const i=this._featuresById.get(t);if(!i)return this._add(e),e;this._usedMemory-=this.estimateFeatureUsedMemory?.(i)??0;const{geometry:n,attributes:o}=e;for(const e in o)i.attributes[e]=o[e];return n&&(i.geometry=n,this._boundsStore.set(t,(0,u.jQ)((0,l.vt)(),n,this.geometryInfo.hasZ,this.geometryInfo.hasM)??null)),this._usedMemory+=this.estimateFeatureUsedMemory?.(i)??0,i}_remove(e){null!=this.onFeatureRemove&&this.onFeatureRemove(e);const t=e.objectId;return this._boundsStore.delete(t),this._featuresById.delete(t),this._usedMemory-=this.estimateFeatureUsedMemory?.(e)??0,e}}},83960:(e,t,i)=>{i.d(t,{X_:()=>s,oW:()=>l,zx:()=>a});var n=i(34727),r=i(83047);const o=96;function s(e,t){const i=t||e.extent,n=e.width,s=(0,r.GA)(i?.spatialReference);return i&&n?i.width/n*s*r.dy*o:0}function a(e,t,i){return function(e,t){return 0===t||(0,n.Sp)(e,t)||e<t}(e,t)&&function(e,t){return 0===t||(0,n.Sp)(e,t)||e>t}(e,i)}function l(e,t){return(0,n.Sp)(e,t)?0:(e||Number.POSITIVE_INFINITY)>(t||Number.POSITIVE_INFINITY)?1:-1}},85342:(e,t,i)=>{i.d(t,{MY:()=>f,Td:()=>y,UT:()=>m,e$:()=>b,iW:()=>g,qN:()=>p});var n=i(68197),r=i(46499),o=i(73913),s=i(62568),a=i(40863),l=i(68249);const u={initializeLayersFromClientData:async(e,t,i)=>{if(t||(t=[...e.layers,...e.tables].map(e=>e.graphTypeName)),0===t?.length)return;const n=new Map;for(const i of t)n.set(i,d(e,i));const r=await(0,s.fetchClientDataAtKeys)(e.dataManager.knowledgeGraph,Array.from(n.values()),{requestOptions:{signal:i?.signal}});for(const t of[...e.layers,...e.tables]){const i=t.objectType.name;if(null==i)continue;const n=r.get(d(e,i));if(n){const e=JSON.parse(n);null===e||"object"!=typeof e||e.hasOwnProperty("showLabels")||(e.showLabels=!1),t.read(e,{origin:"service"})}}}},d=(e,t)=>"knowledge-graph"===e.type?`${t}/Map`:`${t}/LinkChart/LinkChartSubLayer`;async function p(e,t,i){return u.initializeLayersFromClientData(e,t,i)}const c=["#4a0932","#b31515","#18382e","#a64f1b","#102432","#8c213f","#ed9310","#2c6954","#144d59","#ffc730","#75351e","#454f4b","#78b1c2","#191921","#8f8f82","#9be0c0","#dbb658","#87b051","#11495c","#c43541","#9c5596","#44498b","#ad9d63","#86afb3","#5c98ca","#b0bfa2","#73241f","#b86b53","#d9d78c","#3e756d","#f260a1","#a0d17d","#c27c30","#eb82eb","#ffdf3c","#ffb259","#ab52b3","#3cccb4","#0095ba","#d92b30"],h="#8f8f82";function y(e){return e<0||e>=c.length?new n.A(h):new n.A(c[e])}function m(e){const t=e.toArray();return new a.A({data:{type:"CIMSymbolReference",symbol:{type:"CIMLineSymbol",symbolLayers:[{type:"CIMSolidStroke",enable:!0,style:"solid",width:.75,color:t},{type:"CIMVectorMarker",enable:!0,size:6,markerPlacement:{type:"CIMMarkerPlacementOnLine",angleToLine:!0,relativeTo:"LineMiddle"},frame:{xmin:-10,ymin:-5,xmax:0,ymax:5},markerGraphics:[{type:"CIMMarkerGraphic",geometry:{rings:[[[-12,-3.47],[-12,3.6],[1.96,-.03],[-12,-3.47]]]},symbol:{type:"CIMPolygonSymbol",symbolLayers:[{type:"CIMSolidFill",enable:!0,color:t}]}}]}]}}})}function f(e){let t="ESRI__ID",i=4;for(const n of e)if(n.name){if("name"===n.name.toLowerCase()){t=n.name;break}n.name.toLowerCase().includes("name")?(t=n.name,i=2):"esriFieldTypeString"===n.fieldType&&i>3&&(t=n.name,i=3)}return t}function g(e,t,i){const n={color:[80,80,80],haloColor:[255,255,255],haloSize:.7,font:{size:10,weight:"normal"}},s=new r.A({labelExpressionInfo:new o.A({expression:"ESRI__ID"===i?`${t}`:`$feature.${i}`}),labelPlacement:"above-center",symbol:new l.A(n)}),a=new r.A({labelExpressionInfo:new o.A({expression:`'${t}' + IIf($feature.ESRI__AggregationCount>1, ' (' + $feature.ESRI__AggregationCount + ')', '')`}),labelPlacement:"center-along",labelPosition:"parallel",repeatLabel:!1,symbol:new l.A({...n,yoffset:"12px"})});return"entity"===e?[s]:[a]}function b(e,t,i){const n={color:[255,255,255],haloColor:[0,0,0],haloSize:.7,font:{size:10,weight:"bold"}},s="ESRI__ID"===i?`${e}`:`$feature.${i}`;return"point"===t?[new r.A({labelExpressionInfo:new o.A({expression:s}),labelPlacement:"above-center",symbol:new l.A(n)})]:"polyline"===t?[new r.A({labelExpressionInfo:new o.A({expression:s}),labelPlacement:"center-along",repeatLabel:!0,symbol:new l.A(n)})]:"polygon"===t?[new r.A({labelExpressionInfo:new o.A({expression:s}),labelPlacement:"always-horizontal",symbol:new l.A(n)})]:null}},96184:(e,t,i)=>{i.d(t,{A:()=>y});var n=i(31635),r=i(69540),o=i(25482),s=i(10107),a=(i(44208),i(53966),i(87811),i(36005)),l=i(40608),u=i(43937),d=i(64272),p=i(26253),c=i(56400);function h(e,t){return p.T.fromJSON({value:e,unit:t})}let y=class extends((0,r.OU)(o.o)){constructor(e){super(e),this.cumulative=!1,this.endField=null,this.fullTimeExtent=null,this.hasLiveData=!1,this.interval=null,this.startField=null,this.timeZone=null,this.trackIdField=null,this.useTime=!0,this.stops=null}readFullTimeExtent(e,t){return t.timeExtent&&Array.isArray(t.timeExtent)&&2===t.timeExtent.length?d.T.fromArray(t.timeExtent):null}writeFullTimeExtent(e,t){null!=e?.start&&null!=e.end?t.timeExtent=e.toArray():t.timeExtent=null}readInterval(e,t){return t.timeInterval&&t.timeIntervalUnits?h(t.timeInterval,t.timeIntervalUnits):t.defaultTimeInterval&&t.defaultTimeIntervalUnits?h(t.defaultTimeInterval,t.defaultTimeIntervalUnits):null}writeInterval(e,t){t.timeInterval=e?.toJSON().value??null,t.timeIntervalUnits=e?.toJSON().unit??null}};(0,n.Cg)([(0,s.MZ)({type:Boolean,json:{name:"exportOptions.timeDataCumulative",write:!0}})],y.prototype,"cumulative",void 0),(0,n.Cg)([(0,s.MZ)({type:String,json:{name:"endTimeField",write:{enabled:!0,allowNull:!0}}})],y.prototype,"endField",void 0),(0,n.Cg)([(0,s.MZ)({type:d.T,json:{write:{enabled:!0,allowNull:!0}}})],y.prototype,"fullTimeExtent",void 0),(0,n.Cg)([(0,a.w)("fullTimeExtent",["timeExtent"])],y.prototype,"readFullTimeExtent",null),(0,n.Cg)([(0,u.K)("fullTimeExtent")],y.prototype,"writeFullTimeExtent",null),(0,n.Cg)([(0,s.MZ)({type:Boolean,json:{write:!0}})],y.prototype,"hasLiveData",void 0),(0,n.Cg)([(0,s.MZ)({type:p.T,json:{write:{enabled:!0,allowNull:!0}}})],y.prototype,"interval",void 0),(0,n.Cg)([(0,a.w)("interval",["timeInterval","timeIntervalUnits","defaultTimeInterval","defaultTimeIntervalUnits"])],y.prototype,"readInterval",null),(0,n.Cg)([(0,u.K)("interval")],y.prototype,"writeInterval",null),(0,n.Cg)([(0,s.MZ)({type:String,json:{name:"startTimeField",write:{enabled:!0,allowNull:!0}}})],y.prototype,"startField",void 0),(0,n.Cg)([(0,s.MZ)((0,c.P6)("timeReference",!0))],y.prototype,"timeZone",void 0),(0,n.Cg)([(0,s.MZ)({type:String,json:{write:{enabled:!0,allowNull:!0}}})],y.prototype,"trackIdField",void 0),(0,n.Cg)([(0,s.MZ)({type:Boolean,json:{name:"exportOptions.useTime",write:!0}})],y.prototype,"useTime",void 0),(0,n.Cg)([(0,s.MZ)({type:[Date],json:{read:!1}})],y.prototype,"stops",void 0),y=(0,n.Cg)([(0,l.$)("esri.layers.support.TimeInfo")],y)}}]);